contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length >= 0x04) {
var0 = msg.data[0x00:0x20] >> 0xe0;
if (0x5c60da1b > var0) {
if (var0 == 0x3659cfe6) {
// Dispatch table entry for upgradeTo(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x006b;
var2 = 0x04;
var var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 = msg.data[var2:var2 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
var3 = 0x01f7;
var3 =
func_05D4();
if (msg.sender != var3 & 0xffffffffffffffffffffffffffffffffffffffff) {
var3 = 0x0240;
goto label_01D5;
} else {
var3 = 0x0233;
var var4 = var2;
func_05F9(var4);
// Error: Could not resolve jump destination!
}
} else if (var0 == 0x4f1ef286) {
// Dispatch table entry for
upgradeToAndCall(address,bytes)
var1 = 0x006b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
upgradeToAndCall(var2, var3);
stop();
} else { goto label_006D; }
} else if (var0 == 0x5c60da1b) {
// Dispatch table entry for
implementation()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0157;
var1 =
implementation();
label_0157:
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp6 = memory[0x40:0x60];
return memory[temp6:temp6 + temp5 - temp6 + 0x20];
} else if (var0 == 0x8f283970) {
// Dispatch table entry for
changeAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x006b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
changeAdmin(var2, var3);
stop();
} else if (var0 == 0xf851a440) {
// Dispatch table entry for admin()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0157;
var1 =
func_0476();
goto label_0157;
} else { goto label_006D; }
} else if (msg.data.length) {
label_006D:
var var0 = 0x006b;
label_01D5:
var var1 = 0x01dd;
var var2 = 0x04ff;
var2 =
func_05D4();
if (msg.sender != var2 & 0xffffffffffffffffffffffffffffffffffffffff) {
var2 = 0x01ed;
func_01ED();
func_01ED();
// Error: Could not resolve method call return address!
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x42;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x42] = code[0x075d:0x079f];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x60) - temp4]);
}
} else {
var0 = 0x006b;
goto label_01D5;
}
}
function upgradeToAndCall(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
var var0 = temp0;
arg1 = var0 + arg1;
var var1 = var0 + 0x40;
var var2 = msg.data[var0 + 0x20:var0 + 0x20 + 0x20];
if (var2 > 0x0100000000) { revert(memory[0x00:0x00]); }
var temp1 = var0 + var2;
var2 = temp1;
if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); }
var temp2 = var2;
var temp3 = msg.data[temp2:temp2 + 0x20];
var2 = temp3;
var var3 = var1;
var1 = temp2 + 0x20;
if ((var2 > 0x0100000000) | (var1 + var2 > arg1)) { revert(memory[0x00:0x00]); }
arg1 = var1;
var0 = var2;
var1 = 0x024b;
var1 =
func_05D4();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x0312;
var2 = 0x01dd;
var3 = 0x04ff;
var3 =
func_05D4();
if (msg.sender != var3 & 0xffffffffffffffffffffffffffffffffffffffff) {
var3 = 0x01ed;
func_01ED();
func_01ED();
// Error: Could not resolve method call return address!
} else {
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp5 = temp4 + 0x04;
var temp6 = temp5 + 0x20;
memory[temp5:temp5 + 0x20] = temp6 - temp5;
memory[temp6:temp6 + 0x20] = 0x42;
var temp7 = temp6 + 0x20;
memory[temp7:temp7 + 0x42] = code[0x075d:0x079f];
var temp8 = memory[0x40:0x60];
revert(memory[temp8:temp8 + (temp7 + 0x60) - temp8]);
}
} else {
var1 = 0x0287;
var2 = arg0;
func_05F9(var2);
var1 = 0x00;
var temp9 = var0;
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + temp9] = msg.data[arg1:arg1 + temp9];
var temp11 = memory[0x40:0x60];
var temp12;
temp12, memory[temp11:temp11 + 0x00] = address(arg0 & 0xffffffffffffffffffffffffffffffffffffffff).delegatecall.gas(msg.gas)(memory[temp11:temp11 + (temp10 + temp9) - temp11]);
var3 = returndata.length;
var var4 = var3;
if (var4 == 0x00) {
var1 = var2;
if (!var1) { revert(memory[0x00:0x00]); }
label_0304:
return;
} else {
var temp13 = memory[0x40:0x60];
var3 = temp13;
memory[0x40:0x60] = var3 + (returndata.length + 0x3f & ~0x1f);
memory[var3:var3 + 0x20] = returndata.length;
var temp14 = returndata.length;
memory[var3 + 0x20:var3 + 0x20 + temp14] = returndata[0x00:0x00 + temp14];
var1 = var2;
if (var1) { goto label_0304; }
else { revert(memory[0x00:0x00]); }
}
}
}
function changeAdmin(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
arg1 = 0x0376;
arg1 =
func_05D4();
if (msg.sender != arg1 & 0xffffffffffffffffffffffffffffffffffffffff) {
arg1 = 0x0240;
var var0 = 0x01dd;
var var1 = 0x04ff;
var1 =
func_05D4();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x01ed;
func_01ED();
func_01ED();
// Error: Could not resolve method call return address!
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x42;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x42] = code[0x075d:0x079f];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x60) - temp4]);
}
} else if (arg0 & 0xffffffffffffffffffffffffffffffffffffffff) {
arg1 = 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f;
var0 = 0x043e;
var0 =
func_05D4();
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = var0 & 0xffffffffffffffffffffffffffffffffffffffff;
memory[temp5 + 0x20:temp5 + 0x20 + 0x20] = arg0 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp6 = memory[0x40:0x60];
log(memory[temp6:temp6 + temp5 - temp6 + 0x40], [stack[-2]]);
arg1 = 0x0233;
var0 = arg0;
func_0646(var0);
return;
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x3a;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x3a] = code[0x06ed:0x0727];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_01ED() {}
function implementation() returns (var r0) {
var var0 = 0x00;
var var1 = 0x0321;
var1 =
func_05D4();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x036b;
var var2 = 0x01dd;
var var3 = 0x04ff;
var3 =
func_05D4();
if (msg.sender != var3 & 0xffffffffffffffffffffffffffffffffffffffff) {
var3 = 0x01ed;
func_01ED();
func_01ED();
// Error: Could not resolve method call return address!
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x42;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x42] = code[0x075d:0x079f];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x60) - temp4]);
}
} else {
var1 = 0x035c;
return
func_058B();
}
}
function func_0476() returns (var r0) {
var var0 = 0x00;
var var1 = 0x0480;
var1 =
func_05D4();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x036b;
var var2 = 0x01dd;
var var3 = 0x04ff;
var3 =
func_05D4();
if (msg.sender != var3 & 0xffffffffffffffffffffffffffffffffffffffff) {
var3 = 0x01ed;
func_01ED();
func_01ED();
// Error: Could not resolve method call return address!
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x42;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x42] = code[0x075d:0x079f];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x60) - temp4]);
}
} else {
var1 = 0x035c;
return
func_05D4();
}
}
function func_04BB(var arg0) returns (var r0) {
var var0 = 0x00;
var var1 = keccak256(address(arg0).code);
var var2 = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
var var3 = var2 != var1;
if (var2 != var1) { return var3; }
else { return !!var1; }
}
function func_058B() returns (var r0) { return storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc]; }
function func_05D4() returns (var r0) { return storage[0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103]; }
function func_05F9(var arg0) {
var var0 = 0x0602;
var var1 = arg0;
func_066A(var1);
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b, stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff]);
}
function func_0646(var arg0) {
storage[0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103] = arg0;
}
function func_066A(var arg0) {
var var0 = 0x0673;
var var1 = arg0;
var0 =
func_04BB(var1);
if (var0) {
storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] = arg0;
return;
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x36;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x36] = code[0x0727:0x075d];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]);
}
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x04
0007 36 CALLDATASIZE
0008 10 LT
0009 61 PUSH2 0x005e
000C 57 *JUMPI
label_000D:
000D 60 PUSH1 0x00
000F 35 CALLDATALOAD
0010 60 PUSH1 0xe0
0012 1C SHR
0013 80 DUP1
0014 63 PUSH4 0x5c60da1b
0019 11 GT
001A 61 PUSH2 0x0043
001D 57 *JUMPI
label_001E:
001E 80 DUP1
001F 63 PUSH4 0x5c60da1b
0024 14 EQ
0025 61 PUSH2 0x0142
0028 57 *JUMPI
label_0029:
0029 80 DUP1
002A 63 PUSH4 0x8f283970
002F 14 EQ
0030 61 PUSH2 0x0180
0033 57 *JUMPI
label_0034:
0034 80 DUP1
0035 63 PUSH4 0xf851a440
003A 14 EQ
003B 61 PUSH2 0x01c0
003E 57 *JUMPI
label_003F:
003F 61 PUSH2 0x006d
0042 56 *JUMP
label_0043:
0043 5B JUMPDEST
0044 80 DUP1
0045 63 PUSH4 0x3659cfe6
004A 14 EQ
004B 61 PUSH2 0x0075
004E 57 *JUMPI
label_004F:
004F 80 DUP1
0050 63 PUSH4 0x4f1ef286
0055 14 EQ
0056 61 PUSH2 0x00b5
0059 57 *JUMPI
label_005A:
005A 61 PUSH2 0x006d
005D 56 *JUMP
label_005E:
005E 5B JUMPDEST
005F 36 CALLDATASIZE
0060 61 PUSH2 0x006d
0063 57 *JUMPI
label_0064:
0064 61 PUSH2 0x006b
0067 61 PUSH2 0x01d5
006A 56 *JUMP
label_006B:
006B 5B JUMPDEST
006C 00 *STOP
label_006D:
006D 5B JUMPDEST
006E 61 PUSH2 0x006b
0071 61 PUSH2 0x01d5
0074 56 *JUMP
label_0075:
0075 5B JUMPDEST
0076 34 CALLVALUE
0077 80 DUP1
0078 15 ISZERO
0079 61 PUSH2 0x0081
007C 57 *JUMPI
label_007D:
007D 60 PUSH1 0x00
007F 80 DUP1
0080 FD *REVERT
label_0081:
0081 5B JUMPDEST
0082 50 POP
0083 61 PUSH2 0x006b
0086 60 PUSH1 0x04
0088 80 DUP1
0089 36 CALLDATASIZE
008A 03 SUB
008B 60 PUSH1 0x20
008D 81 DUP2
008E 10 LT
008F 15 ISZERO
0090 61 PUSH2 0x0098
0093 57 *JUMPI
label_0094:
0094 60 PUSH1 0x00
0096 80 DUP1
0097 FD *REVERT
label_0098:
0098 5B JUMPDEST
0099 50 POP
009A 35 CALLDATALOAD
009B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00B0 16 AND
00B1 61 PUSH2 0x01ef
00B4 56 *JUMP
label_00B5:
00B5 5B JUMPDEST
00B6 61 PUSH2 0x006b
00B9 60 PUSH1 0x04
00BB 80 DUP1
00BC 36 CALLDATASIZE
00BD 03 SUB
00BE 60 PUSH1 0x40
00C0 81 DUP2
00C1 10 LT
00C2 15 ISZERO
00C3 61 PUSH2 0x00cb
00C6 57 *JUMPI
label_00C7:
00C7 60 PUSH1 0x00
00C9 80 DUP1
00CA FD *REVERT
label_00CB:
00CB 5B JUMPDEST
00CC 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00E1 82 DUP3
00E2 35 CALLDATALOAD
00E3 16 AND
00E4 91 SWAP2
00E5 90 SWAP1
00E6 81 DUP2
00E7 01 ADD
00E8 90 SWAP1
00E9 60 PUSH1 0x40
00EB 81 DUP2
00EC 01 ADD
00ED 60 PUSH1 0x20
00EF 82 DUP3
00F0 01 ADD
00F1 35 CALLDATALOAD
00F2 64 PUSH5 0x0100000000
00F8 81 DUP2
00F9 11 GT
00FA 15 ISZERO
00FB 61 PUSH2 0x0103
00FE 57 *JUMPI
label_00FF:
00FF 60 PUSH1 0x00
0101 80 DUP1
0102 FD *REVERT
label_0103:
0103 5B JUMPDEST
0104 82 DUP3
0105 01 ADD
0106 83 DUP4
0107 60 PUSH1 0x20
0109 82 DUP3
010A 01 ADD
010B 11 GT
010C 15 ISZERO
010D 61 PUSH2 0x0115
0110 57 *JUMPI
label_0111:
0111 60 PUSH1 0x00
0113 80 DUP1
0114 FD *REVERT
label_0115:
0115 5B JUMPDEST
0116 80 DUP1
0117 35 CALLDATALOAD
0118 90 SWAP1
0119 60 PUSH1 0x20
011B 01 ADD
011C 91 SWAP2
011D 84 DUP5
011E 60 PUSH1 0x01
0120 83 DUP4
0121 02 MUL
0122 84 DUP5
0123 01 ADD
0124 11 GT
0125 64 PUSH5 0x0100000000
012B 83 DUP4
012C 11 GT
012D 17 OR
012E 15 ISZERO
012F 61 PUSH2 0x0137
0132 57 *JUMPI
label_0133:
0133 60 PUSH1 0x00
0135 80 DUP1
0136 FD *REVERT
label_0137:
0137 5B JUMPDEST
0138 50 POP
0139 90 SWAP1
013A 92 SWAP3
013B 50 POP
013C 90 SWAP1
013D 50 POP
013E 61 PUSH2 0x0243
0141 56 *JUMP
label_0142:
0142 5B JUMPDEST
0143 34 CALLVALUE
0144 80 DUP1
0145 15 ISZERO
0146 61 PUSH2 0x014e
0149 57 *JUMPI
label_014A:
014A 60 PUSH1 0x00
014C 80 DUP1
014D FD *REVERT
label_014E:
014E 5B JUMPDEST
014F 50 POP
0150 61 PUSH2 0x0157
0153 61 PUSH2 0x0317
0156 56 *JUMP
label_0157:
0157 5B JUMPDEST
0158 60 PUSH1 0x40
015A 80 DUP1
015B 51 MLOAD
015C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0171 90 SWAP1
0172 92 SWAP3
0173 16 AND
0174 82 DUP3
0175 52 MSTORE
0176 51 MLOAD
0177 90 SWAP1
0178 81 DUP2
0179 90 SWAP1
017A 03 SUB
017B 60 PUSH1 0x20
017D 01 ADD
017E 90 SWAP1
017F F3 *RETURN
label_0180:
0180 5B JUMPDEST
0181 34 CALLVALUE
0182 80 DUP1
0183 15 ISZERO
0184 61 PUSH2 0x018c
0187 57 *JUMPI
label_0188:
0188 60 PUSH1 0x00
018A 80 DUP1
018B FD *REVERT
label_018C:
018C 5B JUMPDEST
018D 50 POP
018E 61 PUSH2 0x006b
0191 60 PUSH1 0x04
0193 80 DUP1
0194 36 CALLDATASIZE
0195 03 SUB
0196 60 PUSH1 0x20
0198 81 DUP2
0199 10 LT
019A 15 ISZERO
019B 61 PUSH2 0x01a3
019E 57 *JUMPI
label_019F:
019F 60 PUSH1 0x00
01A1 80 DUP1
01A2 FD *REVERT
label_01A3:
01A3 5B JUMPDEST
01A4 50 POP
01A5 35 CALLDATALOAD
01A6 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
01BB 16 AND
01BC 61 PUSH2 0x036e
01BF 56 *JUMP
label_01C0:
01C0 5B JUMPDEST
01C1 34 CALLVALUE
01C2 80 DUP1
01C3 15 ISZERO
01C4 61 PUSH2 0x01cc
01C7 57 *JUMPI
label_01C8:
01C8 60 PUSH1 0x00
01CA 80 DUP1
01CB FD *REVERT
label_01CC:
01CC 5B JUMPDEST
01CD 50 POP
01CE 61 PUSH2 0x0157
01D1 61 PUSH2 0x0476
01D4 56 *JUMP
label_01D5:
01D5 5B JUMPDEST
01D6 61 PUSH2 0x01dd
01D9 61 PUSH2 0x04f7
01DC 56 *JUMP
01DD 5B JUMPDEST
01DE 61 PUSH2 0x01ed
01E1 61 PUSH2 0x01e8
01E4 61 PUSH2 0x058b
01E7 56 *JUMP
01E8 5B JUMPDEST
01E9 61 PUSH2 0x05b0
01EC 56 *JUMP
label_01ED:
01ED 5B JUMPDEST
01EE 56 *JUMP
label_01EF:
01EF 5B JUMPDEST
01F0 61 PUSH2 0x01f7
01F3 61 PUSH2 0x05d4
01F6 56 *JUMP
label_01F7:
01F7 5B JUMPDEST
01F8 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
020D 16 AND
020E 33 CALLER
020F 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0224 16 AND
0225 14 EQ
0226 15 ISZERO
0227 61 PUSH2 0x0238
022A 57 *JUMPI
label_022B:
022B 61 PUSH2 0x0233
022E 81 DUP2
022F 61 PUSH2 0x05f9
0232 56 *JUMP
label_0233:
0233 5B JUMPDEST
0234 61 PUSH2 0x0240
0237 56 *JUMP
label_0238:
0238 5B JUMPDEST
0239 61 PUSH2 0x0240
023C 61 PUSH2 0x01d5
023F 56 *JUMP
label_0240:
0240 5B JUMPDEST
0241 50 POP
0242 56 *JUMP
label_0243:
0243 5B JUMPDEST
0244 61 PUSH2 0x024b
0247 61 PUSH2 0x05d4
024A 56 *JUMP
label_024B:
024B 5B JUMPDEST
024C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0261 16 AND
0262 33 CALLER
0263 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0278 16 AND
0279 14 EQ
027A 15 ISZERO
027B 61 PUSH2 0x030a
027E 57 *JUMPI
label_027F:
027F 61 PUSH2 0x0287
0282 83 DUP4
0283 61 PUSH2 0x05f9
0286 56 *JUMP
label_0287:
0287 5B JUMPDEST
0288 60 PUSH1 0x00
028A 83 DUP4
028B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
02A0 16 AND
02A1 83 DUP4
02A2 83 DUP4
02A3 60 PUSH1 0x40
02A5 51 MLOAD
02A6 80 DUP1
02A7 83 DUP4
02A8 83 DUP4
02A9 80 DUP1
02AA 82 DUP3
02AB 84 DUP5
02AC 37 CALLDATACOPY
02AD 60 PUSH1 0x40
02AF 51 MLOAD
02B0 92 SWAP3
02B1 01 ADD
02B2 94 SWAP5
02B3 50 POP
02B4 60 PUSH1 0x00
02B6 93 SWAP4
02B7 50 POP
02B8 90 SWAP1
02B9 91 SWAP2
02BA 50 POP
02BB 50 POP
02BC 80 DUP1
02BD 83 DUP4
02BE 03 SUB
02BF 81 DUP2
02C0 85 DUP6
02C1 5A GAS
02C2 F4 DELEGATECALL
02C3 91 SWAP2
02C4 50 POP
02C5 50 POP
02C6 3D RETURNDATASIZE
02C7 80 DUP1
02C8 60 PUSH1 0x00
02CA 81 DUP2
02CB 14 EQ
02CC 61 PUSH2 0x02f1
02CF 57 *JUMPI
label_02D0:
02D0 60 PUSH1 0x40
02D2 51 MLOAD
02D3 91 SWAP2
02D4 50 POP
02D5 60 PUSH1 0x1f
02D7 19 NOT
02D8 60 PUSH1 0x3f
02DA 3D RETURNDATASIZE
02DB 01 ADD
02DC 16 AND
02DD 82 DUP3
02DE 01 ADD
02DF 60 PUSH1 0x40
02E1 52 MSTORE
02E2 3D RETURNDATASIZE
02E3 82 DUP3
02E4 52 MSTORE
02E5 3D RETURNDATASIZE
02E6 60 PUSH1 0x00
02E8 60 PUSH1 0x20
02EA 84 DUP5
02EB 01 ADD
02EC 3E RETURNDATACOPY
02ED 61 PUSH2 0x02f6
02F0 56 *JUMP
label_02F1:
02F1 5B JUMPDEST
02F2 60 PUSH1 0x60
02F4 91 SWAP2
02F5 50 POP
02F6 5B JUMPDEST
02F7 50 POP
02F8 50 POP
02F9 90 SWAP1
02FA 50 POP
02FB 80 DUP1
02FC 61 PUSH2 0x0304
02FF 57 *JUMPI
label_0300:
0300 60 PUSH1 0x00
0302 80 DUP1
0303 FD *REVERT
label_0304:
0304 5B JUMPDEST
0305 50 POP
0306 61 PUSH2 0x0312
0309 56 *JUMP
label_030A:
030A 5B JUMPDEST
030B 61 PUSH2 0x0312
030E 61 PUSH2 0x01d5
0311 56 *JUMP
label_0312:
0312 5B JUMPDEST
0313 50 POP
0314 50 POP
0315 50 POP
0316 56 *JUMP
label_0317:
0317 5B JUMPDEST
0318 60 PUSH1 0x00
031A 61 PUSH2 0x0321
031D 61 PUSH2 0x05d4
0320 56 *JUMP
label_0321:
0321 5B JUMPDEST
0322 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0337 16 AND
0338 33 CALLER
0339 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
034E 16 AND
034F 14 EQ
0350 15 ISZERO
0351 61 PUSH2 0x0363
0354 57 *JUMPI
label_0355:
0355 61 PUSH2 0x035c
0358 61 PUSH2 0x058b
035B 56 *JUMP
label_035C:
035C 5B JUMPDEST
035D 90 SWAP1
035E 50 POP
035F 61 PUSH2 0x036b
0362 56 *JUMP
label_0363:
0363 5B JUMPDEST
0364 61 PUSH2 0x036b
0367 61 PUSH2 0x01d5
036A 56 *JUMP
label_036B:
036B 5B JUMPDEST
036C 90 SWAP1
036D 56 *JUMP
label_036E:
036E 5B JUMPDEST
036F 61 PUSH2 0x0376
0372 61 PUSH2 0x05d4
0375 56 *JUMP
label_0376:
0376 5B JUMPDEST
0377 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
038C 16 AND
038D 33 CALLER
038E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
03A3 16 AND
03A4 14 EQ
03A5 15 ISZERO
03A6 61 PUSH2 0x0238
03A9 57 *JUMPI
label_03AA:
03AA 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
03BF 81 DUP2
03C0 16 AND
03C1 61 PUSH2 0x0415
03C4 57 *JUMPI
label_03C5:
03C5 60 PUSH1 0x40
03C7 51 MLOAD
03C8 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
03E9 81 DUP2
03EA 52 MSTORE
03EB 60 PUSH1 0x04
03ED 01 ADD
03EE 80 DUP1
03EF 80 DUP1
03F0 60 PUSH1 0x20
03F2 01 ADD
03F3 82 DUP3
03F4 81 DUP2
03F5 03 SUB
03F6 82 DUP3
03F7 52 MSTORE
03F8 60 PUSH1 0x3a
03FA 81 DUP2
03FB 52 MSTORE
03FC 60 PUSH1 0x20
03FE 01 ADD
03FF 80 DUP1
0400 61 PUSH2 0x06ed
0403 60 PUSH1 0x3a
0405 91 SWAP2
0406 39 CODECOPY
0407 60 PUSH1 0x40
0409 01 ADD
040A 91 SWAP2
040B 50 POP
040C 50 POP
040D 60 PUSH1 0x40
040F 51 MLOAD
0410 80 DUP1
0411 91 SWAP2
0412 03 SUB
0413 90 SWAP1
0414 FD *REVERT
label_0415:
0415 5B JUMPDEST
0416 7F PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
0437 61 PUSH2 0x043e
043A 61 PUSH2 0x05d4
043D 56 *JUMP
label_043E:
043E 5B JUMPDEST
043F 60 PUSH1 0x40
0441 80 DUP1
0442 51 MLOAD
0443 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0458 92 SWAP3
0459 83 DUP4
045A 16 AND
045B 81 DUP2
045C 52 MSTORE
045D 91 SWAP2
045E 84 DUP5
045F 16 AND
0460 60 PUSH1 0x20
0462 83 DUP4
0463 01 ADD
0464 52 MSTORE
0465 80 DUP1
0466 51 MLOAD
0467 91 SWAP2
0468 82 DUP3
0469 90 SWAP1
046A 03 SUB
046B 01 ADD
046C 90 SWAP1
046D A1 LOG1
046E 61 PUSH2 0x0233
0471 81 DUP2
0472 61 PUSH2 0x0646
0475 56 *JUMP
label_0476:
0476 5B JUMPDEST
0477 60 PUSH1 0x00
0479 61 PUSH2 0x0480
047C 61 PUSH2 0x05d4
047F 56 *JUMP
label_0480:
0480 5B JUMPDEST
0481 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0496 16 AND
0497 33 CALLER
0498 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04AD 16 AND
04AE 14 EQ
04AF 15 ISZERO
04B0 61 PUSH2 0x0363
04B3 57 *JUMPI
label_04B4:
04B4 61 PUSH2 0x035c
04B7 61 PUSH2 0x05d4
04BA 56 *JUMP
label_04BB:
04BB 5B JUMPDEST
04BC 60 PUSH1 0x00
04BE 81 DUP2
04BF 3F EXTCODEHASH
04C0 7F PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
04E1 81 DUP2
04E2 81 DUP2
04E3 14 EQ
04E4 80 DUP1
04E5 15 ISZERO
04E6 90 SWAP1
04E7 61 PUSH2 0x04ef
04EA 57 *JUMPI
label_04EB:
04EB 50 POP
04EC 81 DUP2
04ED 15 ISZERO
04EE 15 ISZERO
04EF 5B JUMPDEST
04F0 94 SWAP5
04F1 93 SWAP4
04F2 50 POP
04F3 50 POP
04F4 50 POP
04F5 50 POP
04F6 56 *JUMP
label_04F7:
04F7 5B JUMPDEST
04F8 61 PUSH2 0x04ff
04FB 61 PUSH2 0x05d4
04FE 56 *JUMP
label_04FF:
04FF 5B JUMPDEST
0500 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0515 16 AND
0516 33 CALLER
0517 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
052C 16 AND
052D 14 EQ
052E 15 ISZERO
052F 61 PUSH2 0x0583
0532 57 *JUMPI
label_0533:
0533 60 PUSH1 0x40
0535 51 MLOAD
0536 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0557 81 DUP2
0558 52 MSTORE
0559 60 PUSH1 0x04
055B 01 ADD
055C 80 DUP1
055D 80 DUP1
055E 60 PUSH1 0x20
0560 01 ADD
0561 82 DUP3
0562 81 DUP2
0563 03 SUB
0564 82 DUP3
0565 52 MSTORE
0566 60 PUSH1 0x42
0568 81 DUP2
0569 52 MSTORE
056A 60 PUSH1 0x20
056C 01 ADD
056D 80 DUP1
056E 61 PUSH2 0x075d
0571 60 PUSH1 0x42
0573 91 SWAP2
0574 39 CODECOPY
0575 60 PUSH1 0x60
0577 01 ADD
0578 91 SWAP2
0579 50 POP
057A 50 POP
057B 60 PUSH1 0x40
057D 51 MLOAD
057E 80 DUP1
057F 91 SWAP2
0580 03 SUB
0581 90 SWAP1
0582 FD *REVERT
label_0583:
0583 5B JUMPDEST
0584 61 PUSH2 0x01ed
0587 61 PUSH2 0x01ed
058A 56 *JUMP
label_058B:
058B 5B JUMPDEST
058C 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
05AD 54 SLOAD
05AE 90 SWAP1
05AF 56 *JUMP
05B0 5B JUMPDEST
05B1 36 CALLDATASIZE
05B2 60 PUSH1 0x00
05B4 80 DUP1
05B5 37 CALLDATACOPY
05B6 60 PUSH1 0x00
05B8 80 DUP1
05B9 36 CALLDATASIZE
05BA 60 PUSH1 0x00
05BC 84 DUP5
05BD 5A GAS
05BE F4 DELEGATECALL
05BF 3D RETURNDATASIZE
05C0 60 PUSH1 0x00
05C2 80 DUP1
05C3 3E RETURNDATACOPY
05C4 80 DUP1
05C5 80 DUP1
05C6 15 ISZERO
05C7 61 PUSH2 0x05cf
05CA 57 *JUMPI
05CB 3D RETURNDATASIZE
05CC 60 PUSH1 0x00
05CE F3 *RETURN
05CF 5B JUMPDEST
05D0 3D RETURNDATASIZE
05D1 60 PUSH1 0x00
05D3 FD *REVERT
label_05D4:
05D4 5B JUMPDEST
05D5 7F PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
05F6 54 SLOAD
05F7 90 SWAP1
05F8 56 *JUMP
label_05F9:
05F9 5B JUMPDEST
05FA 61 PUSH2 0x0602
05FD 81 DUP2
05FE 61 PUSH2 0x066a
0601 56 *JUMP
label_0602:
0602 5B JUMPDEST
0603 60 PUSH1 0x40
0605 51 MLOAD
0606 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
061B 82 DUP3
061C 16 AND
061D 90 SWAP1
061E 7F PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
063F 90 SWAP1
0640 60 PUSH1 0x00
0642 90 SWAP1
0643 A2 LOG2
0644 50 POP
0645 56 *JUMP
label_0646:
0646 5B JUMPDEST
0647 7F PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
0668 55 SSTORE
0669 56 *JUMP
label_066A:
066A 5B JUMPDEST
066B 61 PUSH2 0x0673
066E 81 DUP2
066F 61 PUSH2 0x04bb
0672 56 *JUMP
label_0673:
0673 5B JUMPDEST
0674 61 PUSH2 0x06c8
0677 57 *JUMPI
label_0678:
0678 60 PUSH1 0x40
067A 51 MLOAD
067B 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
069C 81 DUP2
069D 52 MSTORE
069E 60 PUSH1 0x04
06A0 01 ADD
06A1 80 DUP1
06A2 80 DUP1
06A3 60 PUSH1 0x20
06A5 01 ADD
06A6 82 DUP3
06A7 81 DUP2
06A8 03 SUB
06A9 82 DUP3
06AA 52 MSTORE
06AB 60 PUSH1 0x36
06AD 81 DUP2
06AE 52 MSTORE
06AF 60 PUSH1 0x20
06B1 01 ADD
06B2 80 DUP1
06B3 61 PUSH2 0x0727
06B6 60 PUSH1 0x36
06B8 91 SWAP2
06B9 39 CODECOPY
06BA 60 PUSH1 0x40
06BC 01 ADD
06BD 91 SWAP2
06BE 50 POP
06BF 50 POP
06C0 60 PUSH1 0x40
06C2 51 MLOAD
06C3 80 DUP1
06C4 91 SWAP2
06C5 03 SUB
06C6 90 SWAP1
06C7 FD *REVERT
label_06C8:
06C8 5B JUMPDEST
06C9 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
06EA 55 SSTORE
06EB 56 *JUMP
06EC FE *ASSERT
06ED 54 SLOAD
06EE 72 PUSH19 0x616e73706172656e745570677261646561626c
0702 65 PUSH6 0x50726f78793a
0709 20 SHA3
070A 6E PUSH15 0x65772061646d696e20697320746865
071A 20 SHA3
071B 7A PUSH27 0x65726f20616464726573735570677261646561626c6550726f7879
0737 3A GASPRICE
0738 20 SHA3
0739 6E PUSH15 0x657720696d706c656d656e74617469
0749 6F PUSH16 0x6e206973206e6f74206120636f6e7472
075A 61 PUSH2 0x6374
075D 54 SLOAD
075E 72 PUSH19 0x616e73706172656e745570677261646561626c
0772 65 PUSH6 0x50726f78793a
0779 20 SHA3
077A 61 PUSH2 0x646d
077D 69 PUSH10 0x6e2063616e6e6f742066
0788 61 PUSH2 0x6c6c
078B 62 PUSH3 0x61636b
078F 20 SHA3
0790 74 PUSH21 0x6f2070726f787920746172676574a2646970667358
07A6 22 22
07A7 12 SLT
07A8 20 SHA3
07A9 B1 DUP
07AA 41 COINBASE
07AB EF EF
07AC 72 PUSH19 0xde179b8b56cef31601d40ff2875391088197e7
07C0 3C EXTCODECOPY
07C1 AC AC
07C2 39 CODECOPY
07C3 EB EB
07C4 A1 LOG1
07C5 DD DD
07C6 CD CD
07C7 0F 0F
07C8 DD DD
07C9 64 PUSH5 0x736f6c6343
07CF 00 *STOP
07D0 07 SMOD
07D1 06 MOD
07D2 00 *STOP
07D3 33 CALLER