contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length >= 0x04) {
var0 = msg.data[0x00:0x20] >> 0xe0;
if (0x4f1ef286 > var0) {
if (var0 == 0x01ffc9a7) {
// Dispatch table entry for
supportsInterface(bytes4)
var var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0120;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var1 =
supportsInterface(var2, var3);
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = !!var1;
var temp6 = memory[0x40:0x60];
return memory[temp6:temp6 + temp5 - temp6 + 0x20];
} else if (var0 == 0x3659cfe6) {
// Dispatch table entry for
upgradeTo(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x00d2;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
upgradeTo(var2, var3);
stop();
} else { goto label_00CA; }
} else if (var0 == 0x4f1ef286) {
// Dispatch table entry for upgradeToAndCall(address,bytes)
var1 = 0x00d2;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var temp7 = var2;
var2 = msg.data[temp7:temp7 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
var3 = temp7 + var3;
var var4 = temp7;
var var5 = var4 + 0x40;
var var6 = msg.data[var4 + 0x20:var4 + 0x20 + 0x20];
if (var6 > 0x0100000000) { revert(memory[0x00:0x00]); }
var temp8 = var4 + var6;
var6 = temp8;
if (var6 + 0x20 > var3) { revert(memory[0x00:0x00]); }
var temp9 = var6;
var temp10 = msg.data[temp9:temp9 + 0x20];
var6 = temp10;
var temp11 = var5;
var5 = temp9 + 0x20;
var var7 = temp11;
if ((var6 > 0x0100000000) | (var5 + var6 > var3)) { revert(memory[0x00:0x00]); }
var3 = var5;
var4 = var6;
var5 = 0x0552;
var5 =
func_06E9();
if (msg.sender == var5 & 0xffffffffffffffffffffffffffffffffffffffff) {
var5 = 0x062b;
var6 = var2;
var temp12 = var4;
var temp13 = memory[0x40:0x60];
memory[0x40:0x60] = temp13 + (temp12 + 0x1f) / 0x20 * 0x20 + 0x20;
var7 = temp13;
memory[var7:var7 + 0x20] = temp12;
var temp14 = var7 + 0x20;
memory[temp14:temp14 + temp12] = msg.data[var3:var3 + temp12];
memory[temp14 + temp12:temp14 + temp12 + 0x20] = 0x00;
func_070E(var6, var7);
// Error: Could not resolve jump destination!
} else {
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp15 + 0x04:temp15 + 0x04 + 0x20] = 0x20;
memory[temp15 + 0x24:temp15 + 0x24 + 0x20] = 0x0e;
memory[temp15 + 0x44:temp15 + 0x44 + 0x20] = 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000;
var temp16 = memory[0x40:0x60];
revert(memory[temp16:temp16 + temp15 - temp16 + 0x64]);
}
} else if (var0 == 0x8da5cb5b) {
// Dispatch table entry for
owner()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0216;
var1 =
owner();
var temp17 = memory[0x40:0x60];
memory[temp17:temp17 + 0x20] = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp18 = memory[0x40:0x60];
return memory[temp18:temp18 + temp17 - temp18 + 0x20];
} else if (var0 == 0xf2fde38b) {
// Dispatch table entry for transferOwnership(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x00d2;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 = msg.data[var2:var2 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
var3 = 0x0647;
var3 =
func_06E9();
if (msg.sender == var3 & 0xffffffffffffffffffffffffffffffffffffffff) {
var3 = 0x0547;
var4 = var2;
func_0862(var4);
// Error: Could not resolve jump destination!
} else {
var temp19 = memory[0x40:0x60];
memory[temp19:temp19 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp19 + 0x04:temp19 + 0x04 + 0x20] = 0x20;
memory[temp19 + 0x24:temp19 + 0x24 + 0x20] = 0x0e;
memory[temp19 + 0x44:temp19 + 0x44 + 0x20] = 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000;
var temp20 = memory[0x40:0x60];
revert(memory[temp20:temp20 + temp19 - temp20 + 0x64]);
}
} else { goto label_00CA; }
} else if (msg.data.length) {
label_00CA:
var var0 = 0x00d2;
var var2 = 0x00;
var temp0 = msg.data.length;
memory[var2:var2 + temp0] = msg.data[var2:var2 + temp0];
var temp1;
temp1, memory[var2:var2 + var2] = address(storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc]).delegatecall.gas(msg.gas)(memory[var2:var2 + msg.data.length]);
var temp2 = returndata.length;
var var3 = temp2;
memory[var2:var2 + var3] = returndata[var2:var2 + var3];
if (!temp1) { revert(memory[var2:var2 + var3]); }
else { return memory[var2:var2 + var3]; }
} else {
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x0e;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x45544845525f52454a4543544544000000000000000000000000000000000000;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + temp3 - temp4 + 0x64]);
}
}
function supportsInterface(var arg0, var arg1) returns (var r0) {
arg0 = msg.data[arg0:arg0 + 0x20] & 0xffffffff00000000000000000000000000000000000000000000000000000000;
arg1 = 0x00;
var var0 = arg0 & 0xffffffff00000000000000000000000000000000000000000000000000000000 == 0x01ffc9a700000000000000000000000000000000000000000000000000000000;
if (var0) {
if (!var0) {
label_036A:
if (arg0 & 0xffffffff00000000000000000000000000000000000000000000000000000000 != 0xffffffff00000000000000000000000000000000000000000000000000000000) {
var0 = storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc];
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x01ffc9a700000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = arg0 & 0xffffffff00000000000000000000000000000000000000000000000000000000;
var var1 = var0 & 0xffffffffffffffffffffffffffffffffffffffff;
var var2 = 0x01ffc9a7;
var var3 = temp0 + 0x24;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = temp0 - var5 + 0x24;
var var7 = var5;
var var8 = var1;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]);
if (!temp1) {
label_0471:
if (var1) {
arg0 = var0;
label_0488:
// Error: StackRead before write???
var var-4;
var-4 = arg0;
return r0;
} else {
arg1 = 0x00;
goto label_0488;
}
} else {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
var1 = memory[var1:var1 + 0x20];
var2 = 0x01;
goto label_0471;
}
} else {
arg1 = 0x00;
goto label_0488;
}
} else {
label_0363:
arg1 = 0x01;
goto label_0488;
}
} else if (arg0 & 0xffffffff00000000000000000000000000000000000000000000000000000000 != 0x7f5828d000000000000000000000000000000000000000000000000000000000) { goto label_036A; }
else { goto label_0363; }
}
function upgradeTo(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff;
arg1 = 0x0495;
arg1 =
func_06E9();
if (msg.sender == arg1 & 0xffffffffffffffffffffffffffffffffffffffff) {
arg1 = 0x0547;
var var0 = arg0;
var temp0 = memory[0x40:0x60];
var var1 = temp0;
memory[0x40:0x60] = var1 + 0x20;
memory[var1:var1 + 0x20] = 0x00;
func_070E(var0, var1);
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x0e;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + temp1 - temp2 + 0x64]);
}
}
function owner() returns (var r0) {
var var0 = 0x00;
var var1 = 0x063a;
return
func_06E9();
}
function func_06E9() returns (var r0) { return storage[0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103]; }
function func_070E(var arg0, var arg1) {
var temp0 = storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc];
var var0 = temp0;
var temp1 = arg0;
storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] = temp1;
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b7379068296, storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] & 0xffffffffffffffffffffffffffffffffffffffff, stack[-2] & 0xffffffffffffffffffffffffffffffffffffffff]);
if (!memory[arg1:arg1 + 0x20]) { return; }
var var1 = 0x00;
var var2 = arg0 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp2 = arg1;
var var3 = temp2;
var var4 = memory[0x40:0x60];
var var5 = var4;
var var6 = var3 + 0x20;
var var7 = memory[var3:var3 + 0x20];
var var8 = var7;
var var9 = var5;
var var10 = var6;
if (var8 < 0x20) {
label_07E9:
var temp3 = 0x0100 ** (0x20 - var8) - 0x01;
var temp4 = var9;
memory[temp4:temp4 + 0x20] = (memory[var10:var10 + 0x20] & ~temp3) | (memory[temp4:temp4 + 0x20] & temp3);
var temp5 = memory[0x40:0x60];
var temp6;
temp6, memory[temp5:temp5 + 0x00] = address(var2).delegatecall.gas(msg.gas)(memory[temp5:temp5 + (var7 + var5) - temp5]);
var3 = returndata.length;
var4 = var3;
if (var4 == 0x00) {
var1 = var2;
if (var1) {
label_02C4:
return;
} else {
label_0858:
var temp7 = returndata.length;
var2 = temp7;
memory[0x00:0x00 + var2] = returndata[0x00:0x00 + var2];
revert(memory[0x00:0x00 + var2]);
}
} else {
var temp8 = memory[0x40:0x60];
var3 = temp8;
memory[0x40:0x60] = var3 + (returndata.length + 0x3f & ~0x1f);
memory[var3:var3 + 0x20] = returndata.length;
var temp9 = returndata.length;
memory[var3 + 0x20:var3 + 0x20 + temp9] = returndata[0x00:0x00 + temp9];
var1 = var2;
if (var1) { goto label_02C4; }
else { goto label_0858; }
}
} else {
label_07B5:
var temp10 = var10;
var temp11 = var9;
memory[temp11:temp11 + 0x20] = memory[temp10:temp10 + 0x20];
var8 = var8 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0;
var9 = temp11 + 0x20;
var10 = temp10 + 0x20;
if (var8 < 0x20) { goto label_07E9; }
else { goto label_07B5; }
}
}
function func_0862(var arg0) {
var var0 = 0x00;
var var1 = 0x086c;
var1 =
func_06E9();
var temp0 = arg0;
storage[0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103] = temp0;
var temp1 = memory[0x40:0x60];
log(memory[temp1:temp1 + memory[0x40:0x60] - temp1], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff, stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff]);
}
}
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 0x4f1ef286
0019 11 GT
001A 61 PUSH2 0x0043
001D 57 *JUMPI
label_001E:
001E 80 DUP1
001F 63 PUSH4 0x4f1ef286
0024 14 EQ
0025 61 PUSH2 0x0174
0028 57 *JUMPI
label_0029:
0029 80 DUP1
002A 63 PUSH4 0x8da5cb5b
002F 14 EQ
0030 61 PUSH2 0x0201
0033 57 *JUMPI
label_0034:
0034 80 DUP1
0035 63 PUSH4 0xf2fde38b
003A 14 EQ
003B 61 PUSH2 0x023f
003E 57 *JUMPI
label_003F:
003F 61 PUSH2 0x00ca
0042 56 *JUMP
label_0043:
0043 5B JUMPDEST
0044 80 DUP1
0045 63 PUSH4 0x01ffc9a7
004A 14 EQ
004B 61 PUSH2 0x00d4
004E 57 *JUMPI
label_004F:
004F 80 DUP1
0050 63 PUSH4 0x3659cfe6
0055 14 EQ
0056 61 PUSH2 0x0134
0059 57 *JUMPI
label_005A:
005A 61 PUSH2 0x00ca
005D 56 *JUMP
label_005E:
005E 5B JUMPDEST
005F 36 CALLDATASIZE
0060 61 PUSH2 0x00ca
0063 57 *JUMPI
label_0064:
0064 60 PUSH1 0x40
0066 80 DUP1
0067 51 MLOAD
0068 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0089 81 DUP2
008A 52 MSTORE
008B 60 PUSH1 0x20
008D 60 PUSH1 0x04
008F 82 DUP3
0090 01 ADD
0091 52 MSTORE
0092 60 PUSH1 0x0e
0094 60 PUSH1 0x24
0096 82 DUP3
0097 01 ADD
0098 52 MSTORE
0099 7F PUSH32 0x45544845525f52454a4543544544000000000000000000000000000000000000
00BA 60 PUSH1 0x44
00BC 82 DUP3
00BD 01 ADD
00BE 52 MSTORE
00BF 90 SWAP1
00C0 51 MLOAD
00C1 90 SWAP1
00C2 81 DUP2
00C3 90 SWAP1
00C4 03 SUB
00C5 60 PUSH1 0x64
00C7 01 ADD
00C8 90 SWAP1
00C9 FD *REVERT
label_00CA:
00CA 5B JUMPDEST
00CB 61 PUSH2 0x00d2
00CE 61 PUSH2 0x027f
00D1 56 *JUMP
label_00D2:
00D2 5B JUMPDEST
00D3 00 *STOP
label_00D4:
00D4 5B JUMPDEST
00D5 34 CALLVALUE
00D6 80 DUP1
00D7 15 ISZERO
00D8 61 PUSH2 0x00e0
00DB 57 *JUMPI
label_00DC:
00DC 60 PUSH1 0x00
00DE 80 DUP1
00DF FD *REVERT
label_00E0:
00E0 5B JUMPDEST
00E1 50 POP
00E2 61 PUSH2 0x0120
00E5 60 PUSH1 0x04
00E7 80 DUP1
00E8 36 CALLDATASIZE
00E9 03 SUB
00EA 60 PUSH1 0x20
00EC 81 DUP2
00ED 10 LT
00EE 15 ISZERO
00EF 61 PUSH2 0x00f7
00F2 57 *JUMPI
label_00F3:
00F3 60 PUSH1 0x00
00F5 80 DUP1
00F6 FD *REVERT
label_00F7:
00F7 5B JUMPDEST
00F8 50 POP
00F9 35 CALLDATALOAD
00FA 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
011B 16 AND
011C 61 PUSH2 0x02ca
011F 56 *JUMP
label_0120:
0120 5B JUMPDEST
0121 60 PUSH1 0x40
0123 80 DUP1
0124 51 MLOAD
0125 91 SWAP2
0126 15 ISZERO
0127 15 ISZERO
0128 82 DUP3
0129 52 MSTORE
012A 51 MLOAD
012B 90 SWAP1
012C 81 DUP2
012D 90 SWAP1
012E 03 SUB
012F 60 PUSH1 0x20
0131 01 ADD
0132 90 SWAP1
0133 F3 *RETURN
label_0134:
0134 5B JUMPDEST
0135 34 CALLVALUE
0136 80 DUP1
0137 15 ISZERO
0138 61 PUSH2 0x0140
013B 57 *JUMPI
label_013C:
013C 60 PUSH1 0x00
013E 80 DUP1
013F FD *REVERT
label_0140:
0140 5B JUMPDEST
0141 50 POP
0142 61 PUSH2 0x00d2
0145 60 PUSH1 0x04
0147 80 DUP1
0148 36 CALLDATASIZE
0149 03 SUB
014A 60 PUSH1 0x20
014C 81 DUP2
014D 10 LT
014E 15 ISZERO
014F 61 PUSH2 0x0157
0152 57 *JUMPI
label_0153:
0153 60 PUSH1 0x00
0155 80 DUP1
0156 FD *REVERT
label_0157:
0157 5B JUMPDEST
0158 50 POP
0159 35 CALLDATALOAD
015A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
016F 16 AND
0170 61 PUSH2 0x048d
0173 56 *JUMP
label_0174:
0174 5B JUMPDEST
0175 61 PUSH2 0x00d2
0178 60 PUSH1 0x04
017A 80 DUP1
017B 36 CALLDATASIZE
017C 03 SUB
017D 60 PUSH1 0x40
017F 81 DUP2
0180 10 LT
0181 15 ISZERO
0182 61 PUSH2 0x018a
0185 57 *JUMPI
label_0186:
0186 60 PUSH1 0x00
0188 80 DUP1
0189 FD *REVERT
label_018A:
018A 5B JUMPDEST
018B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
01A0 82 DUP3
01A1 35 CALLDATALOAD
01A2 16 AND
01A3 91 SWAP2
01A4 90 SWAP1
01A5 81 DUP2
01A6 01 ADD
01A7 90 SWAP1
01A8 60 PUSH1 0x40
01AA 81 DUP2
01AB 01 ADD
01AC 60 PUSH1 0x20
01AE 82 DUP3
01AF 01 ADD
01B0 35 CALLDATALOAD
01B1 64 PUSH5 0x0100000000
01B7 81 DUP2
01B8 11 GT
01B9 15 ISZERO
01BA 61 PUSH2 0x01c2
01BD 57 *JUMPI
label_01BE:
01BE 60 PUSH1 0x00
01C0 80 DUP1
01C1 FD *REVERT
label_01C2:
01C2 5B JUMPDEST
01C3 82 DUP3
01C4 01 ADD
01C5 83 DUP4
01C6 60 PUSH1 0x20
01C8 82 DUP3
01C9 01 ADD
01CA 11 GT
01CB 15 ISZERO
01CC 61 PUSH2 0x01d4
01CF 57 *JUMPI
label_01D0:
01D0 60 PUSH1 0x00
01D2 80 DUP1
01D3 FD *REVERT
label_01D4:
01D4 5B JUMPDEST
01D5 80 DUP1
01D6 35 CALLDATALOAD
01D7 90 SWAP1
01D8 60 PUSH1 0x20
01DA 01 ADD
01DB 91 SWAP2
01DC 84 DUP5
01DD 60 PUSH1 0x01
01DF 83 DUP4
01E0 02 MUL
01E1 84 DUP5
01E2 01 ADD
01E3 11 GT
01E4 64 PUSH5 0x0100000000
01EA 83 DUP4
01EB 11 GT
01EC 17 OR
01ED 15 ISZERO
01EE 61 PUSH2 0x01f6
01F1 57 *JUMPI
label_01F2:
01F2 60 PUSH1 0x00
01F4 80 DUP1
01F5 FD *REVERT
label_01F6:
01F6 5B JUMPDEST
01F7 50 POP
01F8 90 SWAP1
01F9 92 SWAP3
01FA 50 POP
01FB 90 SWAP1
01FC 50 POP
01FD 61 PUSH2 0x054a
0200 56 *JUMP
label_0201:
0201 5B JUMPDEST
0202 34 CALLVALUE
0203 80 DUP1
0204 15 ISZERO
0205 61 PUSH2 0x020d
0208 57 *JUMPI
label_0209:
0209 60 PUSH1 0x00
020B 80 DUP1
020C FD *REVERT
label_020D:
020D 5B JUMPDEST
020E 50 POP
020F 61 PUSH2 0x0216
0212 61 PUSH2 0x0630
0215 56 *JUMP
label_0216:
0216 5B JUMPDEST
0217 60 PUSH1 0x40
0219 80 DUP1
021A 51 MLOAD
021B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0230 90 SWAP1
0231 92 SWAP3
0232 16 AND
0233 82 DUP3
0234 52 MSTORE
0235 51 MLOAD
0236 90 SWAP1
0237 81 DUP2
0238 90 SWAP1
0239 03 SUB
023A 60 PUSH1 0x20
023C 01 ADD
023D 90 SWAP1
023E F3 *RETURN
label_023F:
023F 5B JUMPDEST
0240 34 CALLVALUE
0241 80 DUP1
0242 15 ISZERO
0243 61 PUSH2 0x024b
0246 57 *JUMPI
label_0247:
0247 60 PUSH1 0x00
0249 80 DUP1
024A FD *REVERT
label_024B:
024B 5B JUMPDEST
024C 50 POP
024D 61 PUSH2 0x00d2
0250 60 PUSH1 0x04
0252 80 DUP1
0253 36 CALLDATASIZE
0254 03 SUB
0255 60 PUSH1 0x20
0257 81 DUP2
0258 10 LT
0259 15 ISZERO
025A 61 PUSH2 0x0262
025D 57 *JUMPI
label_025E:
025E 60 PUSH1 0x00
0260 80 DUP1
0261 FD *REVERT
label_0262:
0262 5B JUMPDEST
0263 50 POP
0264 35 CALLDATALOAD
0265 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
027A 16 AND
027B 61 PUSH2 0x063f
027E 56 *JUMP
label_027F:
027F 5B JUMPDEST
0280 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
02A1 54 SLOAD
02A2 60 PUSH1 0x00
02A4 36 CALLDATASIZE
02A5 81 DUP2
02A6 82 DUP3
02A7 37 CALLDATACOPY
02A8 80 DUP1
02A9 81 DUP2
02AA 36 CALLDATASIZE
02AB 83 DUP4
02AC 85 DUP6
02AD 5A GAS
02AE F4 DELEGATECALL
02AF 91 SWAP2
02B0 50 POP
02B1 3D RETURNDATASIZE
02B2 80 DUP1
02B3 82 DUP3
02B4 83 DUP4
02B5 3E RETURNDATACOPY
02B6 82 DUP3
02B7 80 DUP1
02B8 15 ISZERO
02B9 61 PUSH2 0x02c0
02BC 57 *JUMPI
label_02BD:
02BD 81 DUP2
02BE 83 DUP4
02BF F3 *RETURN
label_02C0:
02C0 5B JUMPDEST
02C1 81 DUP2
02C2 83 DUP4
02C3 FD *REVERT
label_02C4:
02C4 5B JUMPDEST
02C5 50 POP
02C6 50 POP
02C7 50 POP
02C8 50 POP
02C9 56 *JUMP
label_02CA:
02CA 5B JUMPDEST
02CB 60 PUSH1 0x00
02CD 7F PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
02EE 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
030F 83 DUP4
0310 16 AND
0311 14 EQ
0312 80 DUP1
0313 61 PUSH2 0x035d
0316 57 *JUMPI
label_0317:
0317 50 POP
0318 7F PUSH32 0x7f5828d000000000000000000000000000000000000000000000000000000000
0339 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
035A 83 DUP4
035B 16 AND
035C 14 EQ
035D 5B JUMPDEST
035E 15 ISZERO
035F 61 PUSH2 0x036a
0362 57 *JUMPI
label_0363:
0363 50 POP
0364 60 PUSH1 0x01
0366 61 PUSH2 0x0488
0369 56 *JUMP
label_036A:
036A 5B JUMPDEST
036B 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
038C 80 DUP1
038D 83 DUP4
038E 16 AND
038F 14 EQ
0390 15 ISZERO
0391 61 PUSH2 0x039c
0394 57 *JUMPI
label_0395:
0395 50 POP
0396 60 PUSH1 0x00
0398 61 PUSH2 0x0488
039B 56 *JUMP
label_039C:
039C 5B JUMPDEST
039D 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
03BE 54 SLOAD
03BF 60 PUSH1 0x40
03C1 80 DUP1
03C2 51 MLOAD
03C3 7F PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
03E4 81 DUP2
03E5 52 MSTORE
03E6 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0407 85 DUP6
0408 16 AND
0409 60 PUSH1 0x04
040B 82 DUP3
040C 01 ADD
040D 52 MSTORE
040E 90 SWAP1
040F 51 MLOAD
0410 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0425 83 DUP4
0426 16 AND
0427 91 SWAP2
0428 63 PUSH4 0x01ffc9a7
042D 91 SWAP2
042E 60 PUSH1 0x24
0430 80 DUP1
0431 83 DUP4
0432 01 ADD
0433 92 SWAP3
0434 60 PUSH1 0x20
0436 92 SWAP3
0437 91 SWAP2
0438 90 SWAP1
0439 82 DUP3
043A 90 SWAP1
043B 03 SUB
043C 01 ADD
043D 81 DUP2
043E 86 DUP7
043F 80 DUP1
0440 3B EXTCODESIZE
0441 15 ISZERO
0442 80 DUP1
0443 15 ISZERO
0444 61 PUSH2 0x044c
0447 57 *JUMPI
label_0448:
0448 60 PUSH1 0x00
044A 80 DUP1
044B FD *REVERT
label_044C:
044C 5B JUMPDEST
044D 50 POP
044E 5A GAS
044F FA STATICCALL
0450 92 SWAP3
0451 50 POP
0452 50 POP
0453 50 POP
0454 80 DUP1
0455 15 ISZERO
0456 61 PUSH2 0x0471
0459 57 *JUMPI
label_045A:
045A 50 POP
045B 60 PUSH1 0x40
045D 51 MLOAD
045E 3D RETURNDATASIZE
045F 60 PUSH1 0x20
0461 81 DUP2
0462 10 LT
0463 15 ISZERO
0464 61 PUSH2 0x046c
0467 57 *JUMPI
label_0468:
0468 60 PUSH1 0x00
046A 80 DUP1
046B FD *REVERT
label_046C:
046C 5B JUMPDEST
046D 50 POP
046E 51 MLOAD
046F 60 PUSH1 0x01
label_0471:
0471 5B JUMPDEST
0472 61 PUSH2 0x047f
0475 57 *JUMPI
label_0476:
0476 60 PUSH1 0x00
0478 91 SWAP2
0479 50 POP
047A 50 POP
047B 61 PUSH2 0x0488
047E 56 *JUMP
label_047F:
047F 5B JUMPDEST
0480 91 SWAP2
0481 50 POP
0482 61 PUSH2 0x0488
0485 90 SWAP1
0486 50 POP
0487 56 *JUMP
label_0488:
0488 5B JUMPDEST
0489 91 SWAP2
048A 90 SWAP1
048B 50 POP
048C 56 *JUMP
label_048D:
048D 5B JUMPDEST
048E 61 PUSH2 0x0495
0491 61 PUSH2 0x06e9
0494 56 *JUMP
label_0495:
0495 5B JUMPDEST
0496 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04AB 16 AND
04AC 33 CALLER
04AD 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04C2 16 AND
04C3 14 EQ
04C4 61 PUSH2 0x052e
04C7 57 *JUMPI
label_04C8:
04C8 60 PUSH1 0x40
04CA 80 DUP1
04CB 51 MLOAD
04CC 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
04ED 81 DUP2
04EE 52 MSTORE
04EF 60 PUSH1 0x20
04F1 60 PUSH1 0x04
04F3 82 DUP3
04F4 01 ADD
04F5 52 MSTORE
04F6 60 PUSH1 0x0e
04F8 60 PUSH1 0x24
04FA 82 DUP3
04FB 01 ADD
04FC 52 MSTORE
04FD 7F PUSH32 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000
051E 60 PUSH1 0x44
0520 82 DUP3
0521 01 ADD
0522 52 MSTORE
0523 90 SWAP1
0524 51 MLOAD
0525 90 SWAP1
0526 81 DUP2
0527 90 SWAP1
0528 03 SUB
0529 60 PUSH1 0x64
052B 01 ADD
052C 90 SWAP1
052D FD *REVERT
label_052E:
052E 5B JUMPDEST
052F 61 PUSH2 0x0547
0532 81 DUP2
0533 60 PUSH1 0x40
0535 51 MLOAD
0536 80 DUP1
0537 60 PUSH1 0x20
0539 01 ADD
053A 60 PUSH1 0x40
053C 52 MSTORE
053D 80 DUP1
053E 60 PUSH1 0x00
0540 81 DUP2
0541 52 MSTORE
0542 50 POP
0543 61 PUSH2 0x070e
0546 56 *JUMP
label_0547:
0547 5B JUMPDEST
0548 50 POP
0549 56 *JUMP
label_054A:
054A 5B JUMPDEST
054B 61 PUSH2 0x0552
054E 61 PUSH2 0x06e9
0551 56 *JUMP
label_0552:
0552 5B JUMPDEST
0553 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0568 16 AND
0569 33 CALLER
056A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
057F 16 AND
0580 14 EQ
0581 61 PUSH2 0x05eb
0584 57 *JUMPI
label_0585:
0585 60 PUSH1 0x40
0587 80 DUP1
0588 51 MLOAD
0589 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
05AA 81 DUP2
05AB 52 MSTORE
05AC 60 PUSH1 0x20
05AE 60 PUSH1 0x04
05B0 82 DUP3
05B1 01 ADD
05B2 52 MSTORE
05B3 60 PUSH1 0x0e
05B5 60 PUSH1 0x24
05B7 82 DUP3
05B8 01 ADD
05B9 52 MSTORE
05BA 7F PUSH32 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000
05DB 60 PUSH1 0x44
05DD 82 DUP3
05DE 01 ADD
05DF 52 MSTORE
05E0 90 SWAP1
05E1 51 MLOAD
05E2 90 SWAP1
05E3 81 DUP2
05E4 90 SWAP1
05E5 03 SUB
05E6 60 PUSH1 0x64
05E8 01 ADD
05E9 90 SWAP1
05EA FD *REVERT
label_05EB:
05EB 5B JUMPDEST
05EC 61 PUSH2 0x062b
05EF 83 DUP4
05F0 83 DUP4
05F1 83 DUP4
05F2 80 DUP1
05F3 80 DUP1
05F4 60 PUSH1 0x1f
05F6 01 ADD
05F7 60 PUSH1 0x20
05F9 80 DUP1
05FA 91 SWAP2
05FB 04 DIV
05FC 02 MUL
05FD 60 PUSH1 0x20
05FF 01 ADD
0600 60 PUSH1 0x40
0602 51 MLOAD
0603 90 SWAP1
0604 81 DUP2
0605 01 ADD
0606 60 PUSH1 0x40
0608 52 MSTORE
0609 80 DUP1
060A 93 SWAP4
060B 92 SWAP3
060C 91 SWAP2
060D 90 SWAP1
060E 81 DUP2
060F 81 DUP2
0610 52 MSTORE
0611 60 PUSH1 0x20
0613 01 ADD
0614 83 DUP4
0615 83 DUP4
0616 80 DUP1
0617 82 DUP3
0618 84 DUP5
0619 37 CALLDATACOPY
061A 60 PUSH1 0x00
061C 92 SWAP3
061D 01 ADD
061E 91 SWAP2
061F 90 SWAP1
0620 91 SWAP2
0621 52 MSTORE
0622 50 POP
0623 61 PUSH2 0x070e
0626 92 SWAP3
0627 50 POP
0628 50 POP
0629 50 POP
062A 56 *JUMP
label_062B:
062B 5B JUMPDEST
062C 50 POP
062D 50 POP
062E 50 POP
062F 56 *JUMP
label_0630:
0630 5B JUMPDEST
0631 60 PUSH1 0x00
0633 61 PUSH2 0x063a
0636 61 PUSH2 0x06e9
0639 56 *JUMP
label_063A:
063A 5B JUMPDEST
063B 90 SWAP1
063C 50 POP
063D 90 SWAP1
063E 56 *JUMP
label_063F:
063F 5B JUMPDEST
0640 61 PUSH2 0x0647
0643 61 PUSH2 0x06e9
0646 56 *JUMP
label_0647:
0647 5B JUMPDEST
0648 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
065D 16 AND
065E 33 CALLER
065F 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0674 16 AND
0675 14 EQ
0676 61 PUSH2 0x06e0
0679 57 *JUMPI
label_067A:
067A 60 PUSH1 0x40
067C 80 DUP1
067D 51 MLOAD
067E 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
069F 81 DUP2
06A0 52 MSTORE
06A1 60 PUSH1 0x20
06A3 60 PUSH1 0x04
06A5 82 DUP3
06A6 01 ADD
06A7 52 MSTORE
06A8 60 PUSH1 0x0e
06AA 60 PUSH1 0x24
06AC 82 DUP3
06AD 01 ADD
06AE 52 MSTORE
06AF 7F PUSH32 0x4e4f545f415554484f52495a4544000000000000000000000000000000000000
06D0 60 PUSH1 0x44
06D2 82 DUP3
06D3 01 ADD
06D4 52 MSTORE
06D5 90 SWAP1
06D6 51 MLOAD
06D7 90 SWAP1
06D8 81 DUP2
06D9 90 SWAP1
06DA 03 SUB
06DB 60 PUSH1 0x64
06DD 01 ADD
06DE 90 SWAP1
06DF FD *REVERT
label_06E0:
06E0 5B JUMPDEST
06E1 61 PUSH2 0x0547
06E4 81 DUP2
06E5 61 PUSH2 0x0862
06E8 56 *JUMP
label_06E9:
06E9 5B JUMPDEST
06EA 7F PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
070B 54 SLOAD
070C 90 SWAP1
070D 56 *JUMP
label_070E:
070E 5B JUMPDEST
070F 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0730 80 DUP1
0731 54 SLOAD
0732 90 SWAP1
0733 83 DUP4
0734 90 SWAP1
0735 55 SSTORE
0736 60 PUSH1 0x40
0738 51 MLOAD
0739 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
074E 80 DUP1
074F 85 DUP6
0750 16 AND
0751 91 SWAP2
0752 90 SWAP1
0753 83 DUP4
0754 16 AND
0755 90 SWAP1
0756 7F PUSH32 0x5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b7379068296
0777 90 SWAP1
0778 60 PUSH1 0x00
077A 90 SWAP1
077B A3 LOG3
077C 81 DUP2
077D 51 MLOAD
077E 15 ISZERO
077F 61 PUSH2 0x062b
0782 57 *JUMPI
label_0783:
0783 60 PUSH1 0x00
0785 83 DUP4
0786 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
079B 16 AND
079C 83 DUP4
079D 60 PUSH1 0x40
079F 51 MLOAD
07A0 80 DUP1
07A1 82 DUP3
07A2 80 DUP1
07A3 51 MLOAD
07A4 90 SWAP1
07A5 60 PUSH1 0x20
07A7 01 ADD
07A8 90 SWAP1
07A9 80 DUP1
07AA 83 DUP4
07AB 83 DUP4
07AC 5B JUMPDEST
07AD 60 PUSH1 0x20
07AF 83 DUP4
07B0 10 LT
07B1 61 PUSH2 0x07e9
07B4 57 *JUMPI
label_07B5:
07B5 80 DUP1
07B6 51 MLOAD
07B7 82 DUP3
07B8 52 MSTORE
07B9 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
07DA 90 SWAP1
07DB 92 SWAP3
07DC 01 ADD
07DD 91 SWAP2
07DE 60 PUSH1 0x20
07E0 91 SWAP2
07E1 82 DUP3
07E2 01 ADD
07E3 91 SWAP2
07E4 01 ADD
07E5 61 PUSH2 0x07ac
07E8 56 *JUMP
label_07E9:
07E9 5B JUMPDEST
07EA 60 PUSH1 0x01
07EC 83 DUP4
07ED 60 PUSH1 0x20
07EF 03 SUB
07F0 61 PUSH2 0x0100
07F3 0A EXP
07F4 03 SUB
07F5 80 DUP1
07F6 19 NOT
07F7 82 DUP3
07F8 51 MLOAD
07F9 16 AND
07FA 81 DUP2
07FB 84 DUP5
07FC 51 MLOAD
07FD 16 AND
07FE 80 DUP1
07FF 82 DUP3
0800 17 OR
0801 85 DUP6
0802 52 MSTORE
0803 50 POP
0804 50 POP
0805 50 POP
0806 50 POP
0807 50 POP
0808 50 POP
0809 90 SWAP1
080A 50 POP
080B 01 ADD
080C 91 SWAP2
080D 50 POP
080E 50 POP
080F 60 PUSH1 0x00
0811 60 PUSH1 0x40
0813 51 MLOAD
0814 80 DUP1
0815 83 DUP4
0816 03 SUB
0817 81 DUP2
0818 85 DUP6
0819 5A GAS
081A F4 DELEGATECALL
081B 91 SWAP2
081C 50 POP
081D 50 POP
081E 3D RETURNDATASIZE
081F 80 DUP1
0820 60 PUSH1 0x00
0822 81 DUP2
0823 14 EQ
0824 61 PUSH2 0x0849
0827 57 *JUMPI
label_0828:
0828 60 PUSH1 0x40
082A 51 MLOAD
082B 91 SWAP2
082C 50 POP
082D 60 PUSH1 0x1f
082F 19 NOT
0830 60 PUSH1 0x3f
0832 3D RETURNDATASIZE
0833 01 ADD
0834 16 AND
0835 82 DUP3
0836 01 ADD
0837 60 PUSH1 0x40
0839 52 MSTORE
083A 3D RETURNDATASIZE
083B 82 DUP3
083C 52 MSTORE
083D 3D RETURNDATASIZE
083E 60 PUSH1 0x00
0840 60 PUSH1 0x20
0842 84 DUP5
0843 01 ADD
0844 3E RETURNDATACOPY
0845 61 PUSH2 0x084e
0848 56 *JUMP
label_0849:
0849 5B JUMPDEST
084A 60 PUSH1 0x60
084C 91 SWAP2
084D 50 POP
084E 5B JUMPDEST
084F 50 POP
0850 50 POP
0851 90 SWAP1
0852 50 POP
0853 80 DUP1
0854 61 PUSH2 0x02c4
0857 57 *JUMPI
label_0858:
0858 3D RETURNDATASIZE
0859 80 DUP1
085A 60 PUSH1 0x00
085C 80 DUP1
085D 3E RETURNDATACOPY
085E 80 DUP1
085F 60 PUSH1 0x00
0861 FD *REVERT
label_0862:
0862 5B JUMPDEST
0863 60 PUSH1 0x00
0865 61 PUSH2 0x086c
0868 61 PUSH2 0x06e9
086B 56 *JUMP
label_086C:
086C 5B JUMPDEST
086D 90 SWAP1
086E 50 POP
086F 81 DUP2
0870 7F PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
0891 55 SSTORE
0892 81 DUP2
0893 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
08A8 16 AND
08A9 81 DUP2
08AA 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
08BF 16 AND
08C0 7F PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
08E1 60 PUSH1 0x40
08E3 51 MLOAD
08E4 60 PUSH1 0x40
08E6 51 MLOAD
08E7 80 DUP1
08E8 91 SWAP2
08E9 03 SUB
08EA 90 SWAP1
08EB A3 LOG3
08EC 50 POP
08ED 50 POP
08EE 56 *JUMP
08EF FE *ASSERT
08F0 A2 LOG2
08F1 64 PUSH5 0x6970667358
08F7 22 22
08F8 12 SLT
08F9 20 SHA3
08FA 8C DUP13
08FB 84 DUP5
08FC 42 TIMESTAMP
08FD 84 DUP5
08FE 5E 5E
08FF 51 MLOAD
0900 51 MLOAD
0901 9F SWAP16
0902 E6 E6
0903 62 PUSH3 0x69cee8
0907 FE *ASSERT
0908 05 SDIV
0909 4B 4B
090A 83 DUP4
090B B7 B7
090C 61 PUSH2 0x7dbc
090F D8 D8
0910 CF CF
0911 4D 4D
0912 60 PUSH1 0x74
0914 0D 0D
0915 27 27
0916 3F EXTCODEHASH
0917 A0 LOG0
0918 B8 B8
0919 A4 LOG4
091A 64 PUSH5 0x736f6c6343
0920 00 *STOP
0921 07 SMOD
0922 06 MOD
0923 00 *STOP
0924 33 CALLER