contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
var var0 = msg.value;
if (var0) { revert(memory[0x00:0x00]); }
if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); }
var0 = msg.data[0x00:0x20] >> 0xe0;
if (var0 == 0x2d8a122e) {
// Dispatch table entry for 0x2d8a122e (unknown)
var var1 = 0x00b2;
var var2 = 0x04;
var var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
func_005C(var2, var3);
stop();
} else if (var0 == 0x48d3c273) {
// Dispatch table entry for 0x48d3c273 (unknown)
var1 = 0x00ea;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
func_00CA(var2, var3);
stop();
} else if (var0 == 0xe11fbb75) {
// Dispatch table entry for 0xe11fbb75 (unknown)
var1 = 0x0138;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
func_0102(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
}
function func_005C(var arg0, var arg1) {
var temp0 = arg0;
var temp1 = temp0 + 0x20;
arg0 = msg.data[temp0:temp0 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
arg1 = msg.data[temp1:temp1 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
var var0 = msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20];
if (msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & 0x6eedf92fb92dd68a270c3205e96dccc527728066) {
var var1 = arg0;
if (var0 != 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
label_02C1:
var var2 = var0;
var var3 = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var var4 = 0x70a08231;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = (var4 & 0xffffffff) << 0xe0;
var temp3 = temp2 + 0x04;
memory[temp3:temp3 + 0x20] = address(this);
var var5 = temp3 + 0x20;
var var6 = 0x20;
var var7 = memory[0x40:0x60];
var var8 = var5 - var7;
var var9 = var7;
var var10 = var3;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp4;
temp4, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]);
var6 = !temp4;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var3:var3 + 0x20] >= var2) {
var2 = 0x00;
var3 = var2;
var4 = arg0 & 0xffffffffffffffffffffffffffffffffffffffff;
var5 = 0x00;
var temp5 = memory[0x40:0x60] + 0x24;
memory[temp5:temp5 + 0x20] = arg1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x20] = var0;
var temp7 = temp6 + 0x20;
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = temp7 - temp8 - 0x20;
memory[0x40:0x60] = temp7;
var6 = temp8;
var temp9 = var6 + 0x20;
memory[temp9:temp9 + 0x20] = (memory[temp9:temp9 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) | (~0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff & (0xa9059cbb << 0xe0));
var7 = memory[0x40:0x60];
var8 = var7;
var10 = memory[var6:var6 + 0x20];
var9 = var6 + 0x20;
var11 = var10;
var var12 = var8;
var var13 = var9;
if (var11 < 0x20) {
label_04BB:
var temp10 = 0x0100 ** (0x20 - var11) - 0x01;
var temp11 = var12;
memory[temp11:temp11 + 0x20] = (memory[var13:var13 + 0x20] & ~temp10) | (memory[temp11:temp11 + 0x20] & temp10);
var temp12 = memory[0x40:0x60];
var temp13;
temp13, memory[temp12:temp12 + 0x00] = address(var4).call.gas(msg.gas).value(var5)(memory[temp12:temp12 + (var10 + var8) - temp12]);
var5 = returndata.length;
var6 = var5;
if (var6 == 0x00) {
var3 = 0x60;
var2 = var4;
if (var2) {
label_059A:
return;
} else {
label_052D:
var temp14 = memory[0x40:0x60];
memory[temp14:temp14 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp15 = temp14 + 0x04;
var temp16 = temp15 + 0x20;
memory[temp15:temp15 + 0x20] = temp16 - temp15;
memory[temp16:temp16 + 0x20] = 0x15;
var temp17 = temp16 + 0x20;
memory[temp17:temp17 + 0x20] = 0x546f6b656e207472616e73666572206661696c65640000000000000000000000;
var temp18 = memory[0x40:0x60];
revert(memory[temp18:temp18 + (temp17 + 0x20) - temp18]);
}
} else {
var temp19 = memory[0x40:0x60];
var5 = temp19;
memory[0x40:0x60] = var5 + (returndata.length + 0x3f & ~0x1f);
memory[var5:var5 + 0x20] = returndata.length;
var temp20 = returndata.length;
memory[var5 + 0x20:var5 + 0x20 + temp20] = returndata[0x00:0x00 + temp20];
var3 = var5;
var2 = var4;
if (var2) { goto label_059A; }
else { goto label_052D; }
}
} else {
label_04A1:
var temp21 = var13;
var temp22 = var12;
memory[temp22:temp22 + 0x20] = memory[temp21:temp21 + 0x20];
var12 = temp22 + 0x20;
var13 = temp21 + 0x20;
var11 = var11 - 0x20;
if (var11 < 0x20) { goto label_04BB; }
else { goto label_04A1; }
}
} else {
var temp23 = memory[0x40:0x60];
memory[temp23:temp23 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp24 = temp23 + 0x04;
var temp25 = temp24 + 0x20;
memory[temp24:temp24 + 0x20] = temp25 - temp24;
memory[temp25:temp25 + 0x20] = 0x1a;
var temp26 = temp25 + 0x20;
memory[temp26:temp26 + 0x20] = 0x496e73756666696369656e7420746f6b656e2062616c616e6365000000000000;
var temp27 = memory[0x40:0x60];
revert(memory[temp27:temp27 + (temp26 + 0x20) - temp27]);
}
} else {
var temp28 = returndata.length;
memory[0x00:0x00 + temp28] = returndata[0x00:0x00 + temp28];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var2 = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var3 = 0x70a08231;
var temp29 = memory[0x40:0x60];
memory[temp29:temp29 + 0x20] = (var3 & 0xffffffff) << 0xe0;
var temp30 = temp29 + 0x04;
memory[temp30:temp30 + 0x20] = address(this);
var4 = temp30 + 0x20;
var5 = 0x20;
var6 = memory[0x40:0x60];
var7 = var4 - var6;
var8 = var6;
var9 = var2;
var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp31;
temp31, memory[var6:var6 + var5] = address(var9).staticcall.gas(msg.gas)(memory[var8:var8 + var7]);
var5 = !temp31;
if (!var5) {
var2 = memory[0x40:0x60];
var3 = returndata.length;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var0 = memory[var2:var2 + 0x20];
goto label_02C1;
} else {
var temp32 = returndata.length;
memory[0x00:0x00 + temp32] = returndata[0x00:0x00 + temp32];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp33 = memory[0x40:0x60];
memory[temp33:temp33 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp34 = temp33 + 0x04;
var temp35 = temp34 + 0x20;
memory[temp34:temp34 + 0x20] = temp35 - temp34;
memory[temp35:temp35 + 0x20] = 0x20;
var temp36 = temp35 + 0x20;
memory[temp36:temp36 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp37 = memory[0x40:0x60];
revert(memory[temp37:temp37 + (temp36 + 0x20) - temp37]);
}
}
function func_00CA(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20];
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
if (msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & 0x6eedf92fb92dd68a270c3205e96dccc527728066) {
storage[arg0] = arg1;
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp2 = temp1 + 0x04;
var temp3 = temp2 + 0x20;
memory[temp2:temp2 + 0x20] = temp3 - temp2;
memory[temp3:temp3 + 0x20] = 0x20;
var temp4 = temp3 + 0x20;
memory[temp4:temp4 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp5 = memory[0x40:0x60];
revert(memory[temp5:temp5 + (temp4 + 0x20) - temp5]);
}
}
function func_0102(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
if (msg.sender != 0xffffffffffffffffffffffffffffffffffffffff & 0x6eedf92fb92dd68a270c3205e96dccc527728066) {
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp11 = temp10 + 0x04;
var temp12 = temp11 + 0x20;
memory[temp11:temp11 + 0x20] = temp12 - temp11;
memory[temp12:temp12 + 0x20] = 0x20;
var temp13 = temp12 + 0x20;
memory[temp13:temp13 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp14 = memory[0x40:0x60];
revert(memory[temp14:temp14 + (temp13 + 0x20) - temp14]);
} else if (arg1 == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
arg1 = address(this).balance;
if (address(this).balance >= arg1) { goto label_07B5; }
else { goto label_0748; }
} else if (address(this).balance >= arg1) {
label_07B5:
var temp1 = arg1;
var temp2 = memory[0x40:0x60];
var temp3;
temp3, memory[temp2:temp2 + 0x00] = address(arg0 & 0xffffffffffffffffffffffffffffffffffffffff).call.gas(!temp1 * 0x08fc).value(temp1)(memory[temp2:temp2 + memory[0x40:0x60] - temp2]);
var var0 = !temp3;
if (!var0) { return; }
var temp4 = returndata.length;
memory[0x00:0x00 + temp4] = returndata[0x00:0x00 + temp4];
revert(memory[0x00:0x00 + returndata.length]);
} else {
label_0748:
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp6 = temp5 + 0x04;
var temp7 = temp6 + 0x20;
memory[temp6:temp6 + 0x20] = temp7 - temp6;
memory[temp7:temp7 + 0x20] = 0x14;
var temp8 = temp7 + 0x20;
memory[temp8:temp8 + 0x20] = 0x496e73756666696369656e742062616c616e6365000000000000000000000000;
var temp9 = memory[0x40:0x60];
revert(memory[temp9:temp9 + (temp8 + 0x20) - temp9]);
}
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 34 CALLVALUE
0006 80 DUP1
0007 15 ISZERO
0008 61 PUSH2 0x0010
000B 57 *JUMPI
label_000C:
000C 60 PUSH1 0x00
000E 80 DUP1
000F FD *REVERT
label_0010:
0010 5B JUMPDEST
0011 50 POP
0012 60 PUSH1 0x04
0014 36 CALLDATASIZE
0015 10 LT
0016 61 PUSH2 0x0041
0019 57 *JUMPI
label_001A:
001A 60 PUSH1 0x00
001C 35 CALLDATALOAD
001D 60 PUSH1 0xe0
001F 1C SHR
0020 80 DUP1
0021 63 PUSH4 0x2d8a122e
0026 14 EQ
0027 61 PUSH2 0x0046
002A 57 *JUMPI
label_002B:
002B 80 DUP1
002C 63 PUSH4 0x48d3c273
0031 14 EQ
0032 61 PUSH2 0x00b4
0035 57 *JUMPI
label_0036:
0036 80 DUP1
0037 63 PUSH4 0xe11fbb75
003C 14 EQ
003D 61 PUSH2 0x00ec
0040 57 *JUMPI
label_0041:
0041 5B JUMPDEST
0042 60 PUSH1 0x00
0044 80 DUP1
0045 FD *REVERT
label_0046:
0046 5B JUMPDEST
0047 61 PUSH2 0x00b2
004A 60 PUSH1 0x04
004C 80 DUP1
004D 36 CALLDATASIZE
004E 03 SUB
004F 60 PUSH1 0x60
0051 81 DUP2
0052 10 LT
0053 15 ISZERO
0054 61 PUSH2 0x005c
0057 57 *JUMPI
label_0058:
0058 60 PUSH1 0x00
005A 80 DUP1
005B FD *REVERT
label_005C:
005C 5B JUMPDEST
005D 81 DUP2
005E 01 ADD
005F 90 SWAP1
0060 80 DUP1
0061 80 DUP1
0062 35 CALLDATALOAD
0063 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0078 16 AND
0079 90 SWAP1
007A 60 PUSH1 0x20
007C 01 ADD
007D 90 SWAP1
007E 92 SWAP3
007F 91 SWAP2
0080 90 SWAP1
0081 80 DUP1
0082 35 CALLDATALOAD
0083 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0098 16 AND
0099 90 SWAP1
009A 60 PUSH1 0x20
009C 01 ADD
009D 90 SWAP1
009E 92 SWAP3
009F 91 SWAP2
00A0 90 SWAP1
00A1 80 DUP1
00A2 35 CALLDATALOAD
00A3 90 SWAP1
00A4 60 PUSH1 0x20
00A6 01 ADD
00A7 90 SWAP1
00A8 92 SWAP3
00A9 91 SWAP2
00AA 90 SWAP1
00AB 50 POP
00AC 50 POP
00AD 50 POP
00AE 61 PUSH2 0x013a
00B1 56 *JUMP
label_00B2:
00B2 5B JUMPDEST
00B3 00 *STOP
label_00B4:
00B4 5B JUMPDEST
00B5 61 PUSH2 0x00ea
00B8 60 PUSH1 0x04
00BA 80 DUP1
00BB 36 CALLDATASIZE
00BC 03 SUB
00BD 60 PUSH1 0x40
00BF 81 DUP2
00C0 10 LT
00C1 15 ISZERO
00C2 61 PUSH2 0x00ca
00C5 57 *JUMPI
label_00C6:
00C6 60 PUSH1 0x00
00C8 80 DUP1
00C9 FD *REVERT
label_00CA:
00CA 5B JUMPDEST
00CB 81 DUP2
00CC 01 ADD
00CD 90 SWAP1
00CE 80 DUP1
00CF 80 DUP1
00D0 35 CALLDATALOAD
00D1 90 SWAP1
00D2 60 PUSH1 0x20
00D4 01 ADD
00D5 90 SWAP1
00D6 92 SWAP3
00D7 91 SWAP2
00D8 90 SWAP1
00D9 80 DUP1
00DA 35 CALLDATALOAD
00DB 90 SWAP1
00DC 60 PUSH1 0x20
00DE 01 ADD
00DF 90 SWAP1
00E0 92 SWAP3
00E1 91 SWAP2
00E2 90 SWAP1
00E3 50 POP
00E4 50 POP
00E5 50 POP
00E6 61 PUSH2 0x05a2
00E9 56 *JUMP
label_00EA:
00EA 5B JUMPDEST
00EB 00 *STOP
label_00EC:
00EC 5B JUMPDEST
00ED 61 PUSH2 0x0138
00F0 60 PUSH1 0x04
00F2 80 DUP1
00F3 36 CALLDATASIZE
00F4 03 SUB
00F5 60 PUSH1 0x40
00F7 81 DUP2
00F8 10 LT
00F9 15 ISZERO
00FA 61 PUSH2 0x0102
00FD 57 *JUMPI
label_00FE:
00FE 60 PUSH1 0x00
0100 80 DUP1
0101 FD *REVERT
label_0102:
0102 5B JUMPDEST
0103 81 DUP2
0104 01 ADD
0105 90 SWAP1
0106 80 DUP1
0107 80 DUP1
0108 35 CALLDATALOAD
0109 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
011E 16 AND
011F 90 SWAP1
0120 60 PUSH1 0x20
0122 01 ADD
0123 90 SWAP1
0124 92 SWAP3
0125 91 SWAP2
0126 90 SWAP1
0127 80 DUP1
0128 35 CALLDATALOAD
0129 90 SWAP1
012A 60 PUSH1 0x20
012C 01 ADD
012D 90 SWAP1
012E 92 SWAP3
012F 91 SWAP2
0130 90 SWAP1
0131 50 POP
0132 50 POP
0133 50 POP
0134 61 PUSH2 0x065e
0137 56 *JUMP
label_0138:
0138 5B JUMPDEST
0139 00 *STOP
label_013A:
013A 5B JUMPDEST
013B 73 PUSH20 0x6eedf92fb92dd68a270c3205e96dccc527728066
0150 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0165 16 AND
0166 33 CALLER
0167 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
017C 16 AND
017D 14 EQ
017E 61 PUSH2 0x01ef
0181 57 *JUMPI
label_0182:
0182 60 PUSH1 0x40
0184 51 MLOAD
0185 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
01A6 81 DUP2
01A7 52 MSTORE
01A8 60 PUSH1 0x04
01AA 01 ADD
01AB 80 DUP1
01AC 80 DUP1
01AD 60 PUSH1 0x20
01AF 01 ADD
01B0 82 DUP3
01B1 81 DUP2
01B2 03 SUB
01B3 82 DUP3
01B4 52 MSTORE
01B5 60 PUSH1 0x20
01B7 81 DUP2
01B8 52 MSTORE
01B9 60 PUSH1 0x20
01BB 01 ADD
01BC 80 DUP1
01BD 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
01DE 81 DUP2
01DF 52 MSTORE
01E0 50 POP
01E1 60 PUSH1 0x20
01E3 01 ADD
01E4 91 SWAP2
01E5 50 POP
01E6 50 POP
01E7 60 PUSH1 0x40
01E9 51 MLOAD
01EA 80 DUP1
01EB 91 SWAP2
01EC 03 SUB
01ED 90 SWAP1
01EE FD *REVERT
label_01EF:
01EF 5B JUMPDEST
01F0 60 PUSH1 0x00
01F2 83 DUP4
01F3 90 SWAP1
01F4 50 POP
01F5 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0216 82 DUP3
0217 14 EQ
0218 15 ISZERO
0219 61 PUSH2 0x02c1
021C 57 *JUMPI
label_021D:
021D 80 DUP1
021E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0233 16 AND
0234 63 PUSH4 0x70a08231
0239 30 ADDRESS
023A 60 PUSH1 0x40
023C 51 MLOAD
023D 82 DUP3
023E 63 PUSH4 0xffffffff
0243 16 AND
0244 60 PUSH1 0xe0
0246 1B SHL
0247 81 DUP2
0248 52 MSTORE
0249 60 PUSH1 0x04
024B 01 ADD
024C 80 DUP1
024D 82 DUP3
024E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0263 16 AND
0264 81 DUP2
0265 52 MSTORE
0266 60 PUSH1 0x20
0268 01 ADD
0269 91 SWAP2
026A 50 POP
026B 50 POP
026C 60 PUSH1 0x20
026E 60 PUSH1 0x40
0270 51 MLOAD
0271 80 DUP1
0272 83 DUP4
0273 03 SUB
0274 81 DUP2
0275 86 DUP7
0276 80 DUP1
0277 3B EXTCODESIZE
0278 15 ISZERO
0279 80 DUP1
027A 15 ISZERO
027B 61 PUSH2 0x0283
027E 57 *JUMPI
label_027F:
027F 60 PUSH1 0x00
0281 80 DUP1
0282 FD *REVERT
label_0283:
0283 5B JUMPDEST
0284 50 POP
0285 5A GAS
0286 FA STATICCALL
0287 15 ISZERO
0288 80 DUP1
0289 15 ISZERO
028A 61 PUSH2 0x0297
028D 57 *JUMPI
label_028E:
028E 3D RETURNDATASIZE
028F 60 PUSH1 0x00
0291 80 DUP1
0292 3E RETURNDATACOPY
0293 3D RETURNDATASIZE
0294 60 PUSH1 0x00
0296 FD *REVERT
label_0297:
0297 5B JUMPDEST
0298 50 POP
0299 50 POP
029A 50 POP
029B 50 POP
029C 60 PUSH1 0x40
029E 51 MLOAD
029F 3D RETURNDATASIZE
02A0 60 PUSH1 0x20
02A2 81 DUP2
02A3 10 LT
02A4 15 ISZERO
02A5 61 PUSH2 0x02ad
02A8 57 *JUMPI
label_02A9:
02A9 60 PUSH1 0x00
02AB 80 DUP1
02AC FD *REVERT
label_02AD:
02AD 5B JUMPDEST
02AE 81 DUP2
02AF 01 ADD
02B0 90 SWAP1
02B1 80 DUP1
02B2 80 DUP1
02B3 51 MLOAD
02B4 90 SWAP1
02B5 60 PUSH1 0x20
02B7 01 ADD
02B8 90 SWAP1
02B9 92 SWAP3
02BA 91 SWAP2
02BB 90 SWAP1
02BC 50 POP
02BD 50 POP
02BE 50 POP
02BF 91 SWAP2
02C0 50 POP
label_02C1:
02C1 5B JUMPDEST
02C2 81 DUP2
02C3 81 DUP2
02C4 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
02D9 16 AND
02DA 63 PUSH4 0x70a08231
02DF 30 ADDRESS
02E0 60 PUSH1 0x40
02E2 51 MLOAD
02E3 82 DUP3
02E4 63 PUSH4 0xffffffff
02E9 16 AND
02EA 60 PUSH1 0xe0
02EC 1B SHL
02ED 81 DUP2
02EE 52 MSTORE
02EF 60 PUSH1 0x04
02F1 01 ADD
02F2 80 DUP1
02F3 82 DUP3
02F4 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0309 16 AND
030A 81 DUP2
030B 52 MSTORE
030C 60 PUSH1 0x20
030E 01 ADD
030F 91 SWAP2
0310 50 POP
0311 50 POP
0312 60 PUSH1 0x20
0314 60 PUSH1 0x40
0316 51 MLOAD
0317 80 DUP1
0318 83 DUP4
0319 03 SUB
031A 81 DUP2
031B 86 DUP7
031C 80 DUP1
031D 3B EXTCODESIZE
031E 15 ISZERO
031F 80 DUP1
0320 15 ISZERO
0321 61 PUSH2 0x0329
0324 57 *JUMPI
label_0325:
0325 60 PUSH1 0x00
0327 80 DUP1
0328 FD *REVERT
label_0329:
0329 5B JUMPDEST
032A 50 POP
032B 5A GAS
032C FA STATICCALL
032D 15 ISZERO
032E 80 DUP1
032F 15 ISZERO
0330 61 PUSH2 0x033d
0333 57 *JUMPI
label_0334:
0334 3D RETURNDATASIZE
0335 60 PUSH1 0x00
0337 80 DUP1
0338 3E RETURNDATACOPY
0339 3D RETURNDATASIZE
033A 60 PUSH1 0x00
033C FD *REVERT
label_033D:
033D 5B JUMPDEST
033E 50 POP
033F 50 POP
0340 50 POP
0341 50 POP
0342 60 PUSH1 0x40
0344 51 MLOAD
0345 3D RETURNDATASIZE
0346 60 PUSH1 0x20
0348 81 DUP2
0349 10 LT
034A 15 ISZERO
034B 61 PUSH2 0x0353
034E 57 *JUMPI
label_034F:
034F 60 PUSH1 0x00
0351 80 DUP1
0352 FD *REVERT
label_0353:
0353 5B JUMPDEST
0354 81 DUP2
0355 01 ADD
0356 90 SWAP1
0357 80 DUP1
0358 80 DUP1
0359 51 MLOAD
035A 90 SWAP1
035B 60 PUSH1 0x20
035D 01 ADD
035E 90 SWAP1
035F 92 SWAP3
0360 91 SWAP2
0361 90 SWAP1
0362 50 POP
0363 50 POP
0364 50 POP
0365 10 LT
0366 15 ISZERO
0367 61 PUSH2 0x03d8
036A 57 *JUMPI
label_036B:
036B 60 PUSH1 0x40
036D 51 MLOAD
036E 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
038F 81 DUP2
0390 52 MSTORE
0391 60 PUSH1 0x04
0393 01 ADD
0394 80 DUP1
0395 80 DUP1
0396 60 PUSH1 0x20
0398 01 ADD
0399 82 DUP3
039A 81 DUP2
039B 03 SUB
039C 82 DUP3
039D 52 MSTORE
039E 60 PUSH1 0x1a
03A0 81 DUP2
03A1 52 MSTORE
03A2 60 PUSH1 0x20
03A4 01 ADD
03A5 80 DUP1
03A6 7F PUSH32 0x496e73756666696369656e7420746f6b656e2062616c616e6365000000000000
03C7 81 DUP2
03C8 52 MSTORE
03C9 50 POP
03CA 60 PUSH1 0x20
03CC 01 ADD
03CD 91 SWAP2
03CE 50 POP
03CF 50 POP
03D0 60 PUSH1 0x40
03D2 51 MLOAD
03D3 80 DUP1
03D4 91 SWAP2
03D5 03 SUB
03D6 90 SWAP1
03D7 FD *REVERT
label_03D8:
03D8 5B JUMPDEST
03D9 60 PUSH1 0x00
03DB 80 DUP1
03DC 85 DUP6
03DD 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
03F2 16 AND
03F3 60 PUSH1 0x00
03F5 63 PUSH4 0xa9059cbb
03FA 60 PUSH1 0xe0
03FC 1B SHL
03FD 87 DUP8
03FE 87 DUP8
03FF 60 PUSH1 0x40
0401 51 MLOAD
0402 60 PUSH1 0x24
0404 01 ADD
0405 80 DUP1
0406 83 DUP4
0407 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
041C 16 AND
041D 81 DUP2
041E 52 MSTORE
041F 60 PUSH1 0x20
0421 01 ADD
0422 82 DUP3
0423 81 DUP2
0424 52 MSTORE
0425 60 PUSH1 0x20
0427 01 ADD
0428 92 SWAP3
0429 50 POP
042A 50 POP
042B 50 POP
042C 60 PUSH1 0x40
042E 51 MLOAD
042F 60 PUSH1 0x20
0431 81 DUP2
0432 83 DUP4
0433 03 SUB
0434 03 SUB
0435 81 DUP2
0436 52 MSTORE
0437 90 SWAP1
0438 60 PUSH1 0x40
043A 52 MSTORE
043B 90 SWAP1
043C 7B PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0459 19 NOT
045A 16 AND
045B 60 PUSH1 0x20
045D 82 DUP3
045E 01 ADD
045F 80 DUP1
0460 51 MLOAD
0461 7B PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
047E 83 DUP4
047F 81 DUP2
0480 83 DUP4
0481 16 AND
0482 17 OR
0483 83 DUP4
0484 52 MSTORE
0485 50 POP
0486 50 POP
0487 50 POP
0488 50 POP
0489 60 PUSH1 0x40
048B 51 MLOAD
048C 80 DUP1
048D 82 DUP3
048E 80 DUP1
048F 51 MLOAD
0490 90 SWAP1
0491 60 PUSH1 0x20
0493 01 ADD
0494 90 SWAP1
0495 80 DUP1
0496 83 DUP4
0497 83 DUP4
0498 5B JUMPDEST
0499 60 PUSH1 0x20
049B 83 DUP4
049C 10 LT
049D 61 PUSH2 0x04bb
04A0 57 *JUMPI
label_04A1:
04A1 80 DUP1
04A2 51 MLOAD
04A3 82 DUP3
04A4 52 MSTORE
04A5 60 PUSH1 0x20
04A7 82 DUP3
04A8 01 ADD
04A9 91 SWAP2
04AA 50 POP
04AB 60 PUSH1 0x20
04AD 81 DUP2
04AE 01 ADD
04AF 90 SWAP1
04B0 50 POP
04B1 60 PUSH1 0x20
04B3 83 DUP4
04B4 03 SUB
04B5 92 SWAP3
04B6 50 POP
04B7 61 PUSH2 0x0498
04BA 56 *JUMP
label_04BB:
04BB 5B JUMPDEST
04BC 60 PUSH1 0x01
04BE 83 DUP4
04BF 60 PUSH1 0x20
04C1 03 SUB
04C2 61 PUSH2 0x0100
04C5 0A EXP
04C6 03 SUB
04C7 80 DUP1
04C8 19 NOT
04C9 82 DUP3
04CA 51 MLOAD
04CB 16 AND
04CC 81 DUP2
04CD 84 DUP5
04CE 51 MLOAD
04CF 16 AND
04D0 80 DUP1
04D1 82 DUP3
04D2 17 OR
04D3 85 DUP6
04D4 52 MSTORE
04D5 50 POP
04D6 50 POP
04D7 50 POP
04D8 50 POP
04D9 50 POP
04DA 50 POP
04DB 90 SWAP1
04DC 50 POP
04DD 01 ADD
04DE 91 SWAP2
04DF 50 POP
04E0 50 POP
04E1 60 PUSH1 0x00
04E3 60 PUSH1 0x40
04E5 51 MLOAD
04E6 80 DUP1
04E7 83 DUP4
04E8 03 SUB
04E9 81 DUP2
04EA 85 DUP6
04EB 87 DUP8
04EC 5A GAS
04ED F1 CALL
04EE 92 SWAP3
04EF 50 POP
04F0 50 POP
04F1 50 POP
04F2 3D RETURNDATASIZE
04F3 80 DUP1
04F4 60 PUSH1 0x00
04F6 81 DUP2
04F7 14 EQ
04F8 61 PUSH2 0x051d
04FB 57 *JUMPI
label_04FC:
04FC 60 PUSH1 0x40
04FE 51 MLOAD
04FF 91 SWAP2
0500 50 POP
0501 60 PUSH1 0x1f
0503 19 NOT
0504 60 PUSH1 0x3f
0506 3D RETURNDATASIZE
0507 01 ADD
0508 16 AND
0509 82 DUP3
050A 01 ADD
050B 60 PUSH1 0x40
050D 52 MSTORE
050E 3D RETURNDATASIZE
050F 82 DUP3
0510 52 MSTORE
0511 3D RETURNDATASIZE
0512 60 PUSH1 0x00
0514 60 PUSH1 0x20
0516 84 DUP5
0517 01 ADD
0518 3E RETURNDATACOPY
0519 61 PUSH2 0x0522
051C 56 *JUMP
label_051D:
051D 5B JUMPDEST
051E 60 PUSH1 0x60
0520 91 SWAP2
0521 50 POP
0522 5B JUMPDEST
0523 50 POP
0524 91 SWAP2
0525 50 POP
0526 91 SWAP2
0527 50 POP
0528 81 DUP2
0529 61 PUSH2 0x059a
052C 57 *JUMPI
label_052D:
052D 60 PUSH1 0x40
052F 51 MLOAD
0530 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0551 81 DUP2
0552 52 MSTORE
0553 60 PUSH1 0x04
0555 01 ADD
0556 80 DUP1
0557 80 DUP1
0558 60 PUSH1 0x20
055A 01 ADD
055B 82 DUP3
055C 81 DUP2
055D 03 SUB
055E 82 DUP3
055F 52 MSTORE
0560 60 PUSH1 0x15
0562 81 DUP2
0563 52 MSTORE
0564 60 PUSH1 0x20
0566 01 ADD
0567 80 DUP1
0568 7F PUSH32 0x546f6b656e207472616e73666572206661696c65640000000000000000000000
0589 81 DUP2
058A 52 MSTORE
058B 50 POP
058C 60 PUSH1 0x20
058E 01 ADD
058F 91 SWAP2
0590 50 POP
0591 50 POP
0592 60 PUSH1 0x40
0594 51 MLOAD
0595 80 DUP1
0596 91 SWAP2
0597 03 SUB
0598 90 SWAP1
0599 FD *REVERT
label_059A:
059A 5B JUMPDEST
059B 50 POP
059C 50 POP
059D 50 POP
059E 50 POP
059F 50 POP
05A0 50 POP
05A1 56 *JUMP
label_05A2:
05A2 5B JUMPDEST
05A3 73 PUSH20 0x6eedf92fb92dd68a270c3205e96dccc527728066
05B8 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
05CD 16 AND
05CE 33 CALLER
05CF 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
05E4 16 AND
05E5 14 EQ
05E6 61 PUSH2 0x0657
05E9 57 *JUMPI
label_05EA:
05EA 60 PUSH1 0x40
05EC 51 MLOAD
05ED 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
060E 81 DUP2
060F 52 MSTORE
0610 60 PUSH1 0x04
0612 01 ADD
0613 80 DUP1
0614 80 DUP1
0615 60 PUSH1 0x20
0617 01 ADD
0618 82 DUP3
0619 81 DUP2
061A 03 SUB
061B 82 DUP3
061C 52 MSTORE
061D 60 PUSH1 0x20
061F 81 DUP2
0620 52 MSTORE
0621 60 PUSH1 0x20
0623 01 ADD
0624 80 DUP1
0625 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0646 81 DUP2
0647 52 MSTORE
0648 50 POP
0649 60 PUSH1 0x20
064B 01 ADD
064C 91 SWAP2
064D 50 POP
064E 50 POP
064F 60 PUSH1 0x40
0651 51 MLOAD
0652 80 DUP1
0653 91 SWAP2
0654 03 SUB
0655 90 SWAP1
0656 FD *REVERT
label_0657:
0657 5B JUMPDEST
0658 80 DUP1
0659 82 DUP3
065A 55 SSTORE
065B 50 POP
065C 50 POP
065D 56 *JUMP
label_065E:
065E 5B JUMPDEST
065F 73 PUSH20 0x6eedf92fb92dd68a270c3205e96dccc527728066
0674 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0689 16 AND
068A 33 CALLER
068B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
06A0 16 AND
06A1 14 EQ
06A2 61 PUSH2 0x0713
06A5 57 *JUMPI
label_06A6:
06A6 60 PUSH1 0x40
06A8 51 MLOAD
06A9 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
06CA 81 DUP2
06CB 52 MSTORE
06CC 60 PUSH1 0x04
06CE 01 ADD
06CF 80 DUP1
06D0 80 DUP1
06D1 60 PUSH1 0x20
06D3 01 ADD
06D4 82 DUP3
06D5 81 DUP2
06D6 03 SUB
06D7 82 DUP3
06D8 52 MSTORE
06D9 60 PUSH1 0x20
06DB 81 DUP2
06DC 52 MSTORE
06DD 60 PUSH1 0x20
06DF 01 ADD
06E0 80 DUP1
06E1 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0702 81 DUP2
0703 52 MSTORE
0704 50 POP
0705 60 PUSH1 0x20
0707 01 ADD
0708 91 SWAP2
0709 50 POP
070A 50 POP
070B 60 PUSH1 0x40
070D 51 MLOAD
070E 80 DUP1
070F 91 SWAP2
0710 03 SUB
0711 90 SWAP1
0712 FD *REVERT
label_0713:
0713 5B JUMPDEST
0714 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0735 81 DUP2
0736 14 EQ
0737 15 ISZERO
0738 61 PUSH2 0x073f
073B 57 *JUMPI
label_073C:
073C 47 SELFBALANCE
073D 90 SWAP1
073E 50 POP
073F 5B JUMPDEST
0740 80 DUP1
0741 47 SELFBALANCE
0742 10 LT
0743 15 ISZERO
0744 61 PUSH2 0x07b5
0747 57 *JUMPI
label_0748:
0748 60 PUSH1 0x40
074A 51 MLOAD
074B 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
076C 81 DUP2
076D 52 MSTORE
076E 60 PUSH1 0x04
0770 01 ADD
0771 80 DUP1
0772 80 DUP1
0773 60 PUSH1 0x20
0775 01 ADD
0776 82 DUP3
0777 81 DUP2
0778 03 SUB
0779 82 DUP3
077A 52 MSTORE
077B 60 PUSH1 0x14
077D 81 DUP2
077E 52 MSTORE
077F 60 PUSH1 0x20
0781 01 ADD
0782 80 DUP1
0783 7F PUSH32 0x496e73756666696369656e742062616c616e6365000000000000000000000000
07A4 81 DUP2
07A5 52 MSTORE
07A6 50 POP
07A7 60 PUSH1 0x20
07A9 01 ADD
07AA 91 SWAP2
07AB 50 POP
07AC 50 POP
07AD 60 PUSH1 0x40
07AF 51 MLOAD
07B0 80 DUP1
07B1 91 SWAP2
07B2 03 SUB
07B3 90 SWAP1
07B4 FD *REVERT
label_07B5:
07B5 5B JUMPDEST
07B6 81 DUP2
07B7 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
07CC 16 AND
07CD 61 PUSH2 0x08fc
07D0 82 DUP3
07D1 90 SWAP1
07D2 81 DUP2
07D3 15 ISZERO
07D4 02 MUL
07D5 90 SWAP1
07D6 60 PUSH1 0x40
07D8 51 MLOAD
07D9 60 PUSH1 0x00
07DB 60 PUSH1 0x40
07DD 51 MLOAD
07DE 80 DUP1
07DF 83 DUP4
07E0 03 SUB
07E1 81 DUP2
07E2 85 DUP6
07E3 88 DUP9
07E4 88 DUP9
07E5 F1 CALL
07E6 93 SWAP4
07E7 50 POP
07E8 50 POP
07E9 50 POP
07EA 50 POP
07EB 15 ISZERO
07EC 80 DUP1
07ED 15 ISZERO
07EE 61 PUSH2 0x07fb
07F1 57 *JUMPI
label_07F2:
07F2 3D RETURNDATASIZE
07F3 60 PUSH1 0x00
07F5 80 DUP1
07F6 3E RETURNDATACOPY
07F7 3D RETURNDATASIZE
07F8 60 PUSH1 0x00
07FA FD *REVERT
label_07FB:
07FB 5B JUMPDEST
07FC 50 POP
07FD 50 POP
07FE 50 POP
07FF 56 *JUMP
0800 FE *ASSERT
0801 A2 LOG2
0802 64 PUSH5 0x6970667358
0808 22 22
0809 12 SLT
080A 20 SHA3
080B F2 CALLCODE
080C 03 SUB
080D C6 C6
080E 0C 0C
080F 02 MUL
0810 81 DUP2
0811 99 SWAP10
0812 D6 D6
0813 FE *ASSERT
0814 B9 B9
0815 5B JUMPDEST
0816 B2 SWAP
0817 3B EXTCODESIZE
0818 61 PUSH2 0x59d3
081B 44 DIFFICULTY
081C FE *ASSERT
081D 5B JUMPDEST
081E 88 DUP9
081F 08 ADDMOD
0820 ED ED
0821 88 DUP9
0822 5F 5F
0823 A2 LOG2
0824 00 *STOP
0825 92 SWAP3
0826 A6 A6
0827 D8 D8
0828 F6 F6
0829 8E DUP15
082A CE CE
082B 64 PUSH5 0x736f6c6343
0831 00 *STOP
0832 07 SMOD
0833 06 MOD
0834 00 *STOP
0835 33 CALLER