contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length < 0x04) {
label_006D:
var var0 = 0x0075;
var var1 = 0x0201;
func_0573();
var1 = 0x0211;
var var2 = 0x020c;
var2 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var2).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var0 = msg.data[0x00:0x20] / 0x0100000000000000000000000000000000000000000000000000000000 & 0xffffffff;
if (var0 == 0x3659cfe6) {
// Dispatch table entry for
upgradeTo(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x00b8;
var2 = msg.data[0x04:0x24] & 0xffffffffffffffffffffffffffffffffffffffff;
upgradeTo(var2);
stop();
} else if (var0 == 0x4f1ef286) {
// Dispatch table entry for
upgradeToAndCall(address,bytes)
var1 = 0x0106;
var2 = msg.data[0x04:0x24] & 0xffffffffffffffffffffffffffffffffffffffff;
var temp3 = msg.data[0x24:0x44] + 0x04;
var var4 = msg.data[temp3:temp3 + 0x20];
var var3 = temp3 + 0x20;
upgradeToAndCall(var2, var3, var4);
stop();
} else if (var0 == 0x5c60da1b) {
// Dispatch table entry for
implementation()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x011d;
var1 =
implementation();
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp5 = memory[0x40:0x60];
return memory[temp5:temp5 + (temp4 + 0x20) - temp5];
} else if (var0 == 0x8f283970) {
// Dispatch table entry for
changeAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01a0;
var2 = msg.data[0x04:0x24] & 0xffffffffffffffffffffffffffffffffffffffff;
changeAdmin(var2);
stop();
} else if (var0 == 0xf851a440) {
// Dispatch table entry for
admin()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b7;
var1 =
admin();
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp7 = memory[0x40:0x60];
return memory[temp7:temp7 + (temp6 + 0x20) - temp7];
} else { goto label_006D; }
}
}
function upgradeTo(var arg0) {
var var0 = 0x021b;
var0 =
func_06A5();
if (msg.sender != var0 & 0xffffffffffffffffffffffffffffffffffffffff) {
var0 = 0x0264;
var var1 = 0x0201;
func_0573();
var1 = 0x0211;
var var2 = 0x020c;
var2 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var2).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var0 = 0x0257;
var1 = arg0;
func_06D6(var1);
return;
}
}
function upgradeToAndCall(var arg0, var arg1, var arg2) {
var var0 = 0x0270;
var0 =
func_06A5();
if (msg.sender != var0 & 0xffffffffffffffffffffffffffffffffffffffff) {
var0 = 0x02ff;
var var1 = 0x0201;
func_0573();
var1 = 0x0211;
var var2 = 0x020c;
var2 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var2).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var0 = 0x02ac;
var1 = arg0;
func_06D6(var1);
var temp3 = arg2;
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + temp3] = msg.data[arg1:arg1 + temp3];
var temp5 = memory[0x40:0x60];
var temp6;
temp6, memory[temp5:temp5 + 0x00] = address(arg0 & 0xffffffffffffffffffffffffffffffffffffffff).delegatecall.gas(msg.gas)(memory[temp5:temp5 + (temp4 + temp3) - temp5]);
if (temp6) { return; }
else { revert(memory[0x00:0x00]); }
}
}
function implementation() returns (var r0) {
var var0 = 0x00;
var var1 = 0x030f;
var1 =
func_06A5();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x0359;
var var2 = 0x0201;
func_0573();
var2 = 0x0211;
var var3 = 0x020c;
var3 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var3).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var1 = 0x034a;
return
func_064E();
}
}
function changeAdmin(var arg0) {
var var0 = 0x0365;
var0 =
func_06A5();
if (msg.sender != var0 & 0xffffffffffffffffffffffffffffffffffffffff) {
var0 = 0x0517;
var var1 = 0x0201;
func_0573();
var1 = 0x0211;
var var2 = 0x020c;
var2 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var2).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else if (arg0 & 0xffffffffffffffffffffffffffffffffffffffff != 0xffffffffffffffffffffffffffffffffffffffff & 0x00) {
var0 = 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f;
var1 = 0x048c;
var1 =
func_06A5();
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = var1 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp4 = temp3 + 0x20;
memory[temp4:temp4 + 0x20] = arg0 & 0xffffffffffffffffffffffffffffffffffffffff;
var temp5 = memory[0x40:0x60];
log(memory[temp5:temp5 + (temp4 + 0x20) - temp5], [stack[-2]]);
var0 = 0x050a;
var1 = arg0;
func_0725(var1);
return;
} else {
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
var temp7 = temp6 + 0x04;
var temp8 = temp7 + 0x20;
memory[temp7:temp7 + 0x20] = temp8 - temp7;
memory[temp8:temp8 + 0x20] = 0x36;
var temp9 = temp8 + 0x20;
memory[temp9:temp9 + 0x20] = 0x43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f;
memory[temp9 + 0x20:temp9 + 0x20 + 0x20] = 0x787920746f20746865207a65726f206164647265737300000000000000000000;
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + (temp9 + 0x40) - temp10]);
}
}
function admin() returns (var r0) {
var var0 = 0x00;
var var1 = 0x0525;
var1 =
func_06A5();
if (msg.sender != var1 & 0xffffffffffffffffffffffffffffffffffffffff) {
var1 = 0x056f;
var var2 = 0x0201;
func_0573();
var2 = 0x0211;
var var3 = 0x020c;
var3 =
func_064E();
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var3).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (temp1 == 0x00) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var1 = 0x0560;
return
func_06A5();
}
}
function func_0573() {
var var0 = 0x057b;
var0 =
func_06A5();
if (msg.sender != var0 & 0xffffffffffffffffffffffffffffffffffffffff) {
var0 = 0x064c;
func_0754();
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] = 0x32;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x20] = 0x43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e206672;
memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = 0x6f6d207468652070726f78792061646d696e0000000000000000000000000000;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]);
}
}
function func_064E() returns (var r0) { return storage[0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3]; }
function func_06A5() returns (var r0) { return storage[0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b]; }
function func_06D6(var arg0) {
var var0 = 0x06df;
var var1 = arg0;
func_0756(var1);
var temp0 = memory[0x40:0x60];
log(memory[temp0:temp0 + memory[0x40:0x60] - temp0], [0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b, stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff]);
}
function func_0725(var arg0) {
storage[0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b] = arg0;
}
function func_0754() {}
function func_0756(var arg0) {
var var0 = 0x00;
var var1 = 0x0761;
var var2 = arg0;
var1 =
func_0828(var2);
if (var1) {
storage[0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3] = 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] = 0x3b;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x20] = 0x43616e6e6f742073657420612070726f787920696d706c656d656e746174696f;
memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = 0x6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]);
}
}
function func_0828(var arg0) returns (var r0) { return address(arg0).code.length > 0x00; }
}
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 0x006d
000C 57 *JUMPI
label_000D:
000D 60 PUSH1 0x00
000F 35 CALLDATALOAD
0010 7C PUSH29 0x0100000000000000000000000000000000000000000000000000000000
002E 90 SWAP1
002F 04 DIV
0030 63 PUSH4 0xffffffff
0035 16 AND
0036 80 DUP1
0037 63 PUSH4 0x3659cfe6
003C 14 EQ
003D 61 PUSH2 0x0077
0040 57 *JUMPI
label_0041:
0041 80 DUP1
0042 63 PUSH4 0x4f1ef286
0047 14 EQ
0048 61 PUSH2 0x00ba
004B 57 *JUMPI
label_004C:
004C 80 DUP1
004D 63 PUSH4 0x5c60da1b
0052 14 EQ
0053 61 PUSH2 0x0108
0056 57 *JUMPI
label_0057:
0057 80 DUP1
0058 63 PUSH4 0x8f283970
005D 14 EQ
005E 61 PUSH2 0x015f
0061 57 *JUMPI
label_0062:
0062 80 DUP1
0063 63 PUSH4 0xf851a440
0068 14 EQ
0069 61 PUSH2 0x01a2
006C 57 *JUMPI
label_006D:
006D 5B JUMPDEST
006E 61 PUSH2 0x0075
0071 61 PUSH2 0x01f9
0074 56 *JUMP
0075 5B JUMPDEST
0076 00 *STOP
label_0077:
0077 5B JUMPDEST
0078 34 CALLVALUE
0079 80 DUP1
007A 15 ISZERO
007B 61 PUSH2 0x0083
007E 57 *JUMPI
label_007F:
007F 60 PUSH1 0x00
0081 80 DUP1
0082 FD *REVERT
label_0083:
0083 5B JUMPDEST
0084 50 POP
0085 61 PUSH2 0x00b8
0088 60 PUSH1 0x04
008A 80 DUP1
008B 36 CALLDATASIZE
008C 03 SUB
008D 81 DUP2
008E 01 ADD
008F 90 SWAP1
0090 80 DUP1
0091 80 DUP1
0092 35 CALLDATALOAD
0093 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00A8 16 AND
00A9 90 SWAP1
00AA 60 PUSH1 0x20
00AC 01 ADD
00AD 90 SWAP1
00AE 92 SWAP3
00AF 91 SWAP2
00B0 90 SWAP1
00B1 50 POP
00B2 50 POP
00B3 50 POP
00B4 61 PUSH2 0x0213
00B7 56 *JUMP
label_00B8:
00B8 5B JUMPDEST
00B9 00 *STOP
label_00BA:
00BA 5B JUMPDEST
00BB 61 PUSH2 0x0106
00BE 60 PUSH1 0x04
00C0 80 DUP1
00C1 36 CALLDATASIZE
00C2 03 SUB
00C3 81 DUP2
00C4 01 ADD
00C5 90 SWAP1
00C6 80 DUP1
00C7 80 DUP1
00C8 35 CALLDATALOAD
00C9 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00DE 16 AND
00DF 90 SWAP1
00E0 60 PUSH1 0x20
00E2 01 ADD
00E3 90 SWAP1
00E4 92 SWAP3
00E5 91 SWAP2
00E6 90 SWAP1
00E7 80 DUP1
00E8 35 CALLDATALOAD
00E9 90 SWAP1
00EA 60 PUSH1 0x20
00EC 01 ADD
00ED 90 SWAP1
00EE 82 DUP3
00EF 01 ADD
00F0 80 DUP1
00F1 35 CALLDATALOAD
00F2 90 SWAP1
00F3 60 PUSH1 0x20
00F5 01 ADD
00F6 91 SWAP2
00F7 90 SWAP1
00F8 91 SWAP2
00F9 92 SWAP3
00FA 93 SWAP4
00FB 91 SWAP2
00FC 92 SWAP3
00FD 93 SWAP4
00FE 90 SWAP1
00FF 50 POP
0100 50 POP
0101 50 POP
0102 61 PUSH2 0x0268
0105 56 *JUMP
label_0106:
0106 5B JUMPDEST
0107 00 *STOP
label_0108:
0108 5B JUMPDEST
0109 34 CALLVALUE
010A 80 DUP1
010B 15 ISZERO
010C 61 PUSH2 0x0114
010F 57 *JUMPI
label_0110:
0110 60 PUSH1 0x00
0112 80 DUP1
0113 FD *REVERT
label_0114:
0114 5B JUMPDEST
0115 50 POP
0116 61 PUSH2 0x011d
0119 61 PUSH2 0x0305
011C 56 *JUMP
label_011D:
011D 5B JUMPDEST
011E 60 PUSH1 0x40
0120 51 MLOAD
0121 80 DUP1
0122 82 DUP3
0123 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0138 16 AND
0139 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
014E 16 AND
014F 81 DUP2
0150 52 MSTORE
0151 60 PUSH1 0x20
0153 01 ADD
0154 91 SWAP2
0155 50 POP
0156 50 POP
0157 60 PUSH1 0x40
0159 51 MLOAD
015A 80 DUP1
015B 91 SWAP2
015C 03 SUB
015D 90 SWAP1
015E F3 *RETURN
label_015F:
015F 5B JUMPDEST
0160 34 CALLVALUE
0161 80 DUP1
0162 15 ISZERO
0163 61 PUSH2 0x016b
0166 57 *JUMPI
label_0167:
0167 60 PUSH1 0x00
0169 80 DUP1
016A FD *REVERT
label_016B:
016B 5B JUMPDEST
016C 50 POP
016D 61 PUSH2 0x01a0
0170 60 PUSH1 0x04
0172 80 DUP1
0173 36 CALLDATASIZE
0174 03 SUB
0175 81 DUP2
0176 01 ADD
0177 90 SWAP1
0178 80 DUP1
0179 80 DUP1
017A 35 CALLDATALOAD
017B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0190 16 AND
0191 90 SWAP1
0192 60 PUSH1 0x20
0194 01 ADD
0195 90 SWAP1
0196 92 SWAP3
0197 91 SWAP2
0198 90 SWAP1
0199 50 POP
019A 50 POP
019B 50 POP
019C 61 PUSH2 0x035d
019F 56 *JUMP
label_01A0:
01A0 5B JUMPDEST
01A1 00 *STOP
label_01A2:
01A2 5B JUMPDEST
01A3 34 CALLVALUE
01A4 80 DUP1
01A5 15 ISZERO
01A6 61 PUSH2 0x01ae
01A9 57 *JUMPI
label_01AA:
01AA 60 PUSH1 0x00
01AC 80 DUP1
01AD FD *REVERT
label_01AE:
01AE 5B JUMPDEST
01AF 50 POP
01B0 61 PUSH2 0x01b7
01B3 61 PUSH2 0x051b
01B6 56 *JUMP
label_01B7:
01B7 5B JUMPDEST
01B8 60 PUSH1 0x40
01BA 51 MLOAD
01BB 80 DUP1
01BC 82 DUP3
01BD 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
01D2 16 AND
01D3 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
01E8 16 AND
01E9 81 DUP2
01EA 52 MSTORE
01EB 60 PUSH1 0x20
01ED 01 ADD
01EE 91 SWAP2
01EF 50 POP
01F0 50 POP
01F1 60 PUSH1 0x40
01F3 51 MLOAD
01F4 80 DUP1
01F5 91 SWAP2
01F6 03 SUB
01F7 90 SWAP1
01F8 F3 *RETURN
label_01F9:
01F9 5B JUMPDEST
01FA 61 PUSH2 0x0201
01FD 61 PUSH2 0x0573
0200 56 *JUMP
label_0201:
0201 5B JUMPDEST
0202 61 PUSH2 0x0211
0205 61 PUSH2 0x020c
0208 61 PUSH2 0x064e
020B 56 *JUMP
label_020C:
020C 5B JUMPDEST
020D 61 PUSH2 0x067f
0210 56 *JUMP
0211 5B JUMPDEST
0212 56 *JUMP
label_0213:
0213 5B JUMPDEST
0214 61 PUSH2 0x021b
0217 61 PUSH2 0x06a5
021A 56 *JUMP
label_021B:
021B 5B JUMPDEST
021C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0231 16 AND
0232 33 CALLER
0233 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0248 16 AND
0249 14 EQ
024A 15 ISZERO
024B 61 PUSH2 0x025c
024E 57 *JUMPI
label_024F:
024F 61 PUSH2 0x0257
0252 81 DUP2
0253 61 PUSH2 0x06d6
0256 56 *JUMP
label_0257:
0257 5B JUMPDEST
0258 61 PUSH2 0x0265
025B 56 *JUMP
label_025C:
025C 5B JUMPDEST
025D 61 PUSH2 0x0264
0260 61 PUSH2 0x01f9
0263 56 *JUMP
0264 5B JUMPDEST
label_0265:
0265 5B JUMPDEST
0266 50 POP
0267 56 *JUMP
label_0268:
0268 5B JUMPDEST
0269 61 PUSH2 0x0270
026C 61 PUSH2 0x06a5
026F 56 *JUMP
label_0270:
0270 5B JUMPDEST
0271 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0286 16 AND
0287 33 CALLER
0288 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
029D 16 AND
029E 14 EQ
029F 15 ISZERO
02A0 61 PUSH2 0x02f7
02A3 57 *JUMPI
label_02A4:
02A4 61 PUSH2 0x02ac
02A7 83 DUP4
02A8 61 PUSH2 0x06d6
02AB 56 *JUMP
label_02AC:
02AC 5B JUMPDEST
02AD 82 DUP3
02AE 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
02C3 16 AND
02C4 82 DUP3
02C5 82 DUP3
02C6 60 PUSH1 0x40
02C8 51 MLOAD
02C9 80 DUP1
02CA 83 DUP4
02CB 83 DUP4
02CC 80 DUP1
02CD 82 DUP3
02CE 84 DUP5
02CF 37 CALLDATACOPY
02D0 82 DUP3
02D1 01 ADD
02D2 91 SWAP2
02D3 50 POP
02D4 50 POP
02D5 92 SWAP3
02D6 50 POP
02D7 50 POP
02D8 50 POP
02D9 60 PUSH1 0x00
02DB 60 PUSH1 0x40
02DD 51 MLOAD
02DE 80 DUP1
02DF 83 DUP4
02E0 03 SUB
02E1 81 DUP2
02E2 85 DUP6
02E3 5A GAS
02E4 F4 DELEGATECALL
02E5 91 SWAP2
02E6 50 POP
02E7 50 POP
02E8 15 ISZERO
02E9 15 ISZERO
02EA 61 PUSH2 0x02f2
02ED 57 *JUMPI
label_02EE:
02EE 60 PUSH1 0x00
02F0 80 DUP1
02F1 FD *REVERT
label_02F2:
02F2 5B JUMPDEST
02F3 61 PUSH2 0x0300
02F6 56 *JUMP
label_02F7:
02F7 5B JUMPDEST
02F8 61 PUSH2 0x02ff
02FB 61 PUSH2 0x01f9
02FE 56 *JUMP
02FF 5B JUMPDEST
label_0300:
0300 5B JUMPDEST
0301 50 POP
0302 50 POP
0303 50 POP
0304 56 *JUMP
label_0305:
0305 5B JUMPDEST
0306 60 PUSH1 0x00
0308 61 PUSH2 0x030f
030B 61 PUSH2 0x06a5
030E 56 *JUMP
label_030F:
030F 5B JUMPDEST
0310 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0325 16 AND
0326 33 CALLER
0327 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
033C 16 AND
033D 14 EQ
033E 15 ISZERO
033F 61 PUSH2 0x0351
0342 57 *JUMPI
label_0343:
0343 61 PUSH2 0x034a
0346 61 PUSH2 0x064e
0349 56 *JUMP
label_034A:
034A 5B JUMPDEST
034B 90 SWAP1
034C 50 POP
034D 61 PUSH2 0x035a
0350 56 *JUMP
label_0351:
0351 5B JUMPDEST
0352 61 PUSH2 0x0359
0355 61 PUSH2 0x01f9
0358 56 *JUMP
0359 5B JUMPDEST
label_035A:
035A 5B JUMPDEST
035B 90 SWAP1
035C 56 *JUMP
label_035D:
035D 5B JUMPDEST
035E 61 PUSH2 0x0365
0361 61 PUSH2 0x06a5
0364 56 *JUMP
label_0365:
0365 5B JUMPDEST
0366 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
037B 16 AND
037C 33 CALLER
037D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0392 16 AND
0393 14 EQ
0394 15 ISZERO
0395 61 PUSH2 0x050f
0398 57 *JUMPI
label_0399:
0399 60 PUSH1 0x00
039B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
03B0 16 AND
03B1 81 DUP2
03B2 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
03C7 16 AND
03C8 14 EQ
03C9 15 ISZERO
03CA 15 ISZERO
03CB 15 ISZERO
03CC 61 PUSH2 0x0463
03CF 57 *JUMPI
label_03D0:
03D0 60 PUSH1 0x40
03D2 51 MLOAD
03D3 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
03F4 81 DUP2
03F5 52 MSTORE
03F6 60 PUSH1 0x04
03F8 01 ADD
03F9 80 DUP1
03FA 80 DUP1
03FB 60 PUSH1 0x20
03FD 01 ADD
03FE 82 DUP3
03FF 81 DUP2
0400 03 SUB
0401 82 DUP3
0402 52 MSTORE
0403 60 PUSH1 0x36
0405 81 DUP2
0406 52 MSTORE
0407 60 PUSH1 0x20
0409 01 ADD
040A 80 DUP1
040B 7F PUSH32 0x43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f
042C 81 DUP2
042D 52 MSTORE
042E 60 PUSH1 0x20
0430 01 ADD
0431 7F PUSH32 0x787920746f20746865207a65726f206164647265737300000000000000000000
0452 81 DUP2
0453 52 MSTORE
0454 50 POP
0455 60 PUSH1 0x40
0457 01 ADD
0458 91 SWAP2
0459 50 POP
045A 50 POP
045B 60 PUSH1 0x40
045D 51 MLOAD
045E 80 DUP1
045F 91 SWAP2
0460 03 SUB
0461 90 SWAP1
0462 FD *REVERT
label_0463:
0463 5B JUMPDEST
0464 7F PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
0485 61 PUSH2 0x048c
0488 61 PUSH2 0x06a5
048B 56 *JUMP
label_048C:
048C 5B JUMPDEST
048D 82 DUP3
048E 60 PUSH1 0x40
0490 51 MLOAD
0491 80 DUP1
0492 83 DUP4
0493 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04A8 16 AND
04A9 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04BE 16 AND
04BF 81 DUP2
04C0 52 MSTORE
04C1 60 PUSH1 0x20
04C3 01 ADD
04C4 82 DUP3
04C5 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04DA 16 AND
04DB 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
04F0 16 AND
04F1 81 DUP2
04F2 52 MSTORE
04F3 60 PUSH1 0x20
04F5 01 ADD
04F6 92 SWAP3
04F7 50 POP
04F8 50 POP
04F9 50 POP
04FA 60 PUSH1 0x40
04FC 51 MLOAD
04FD 80 DUP1
04FE 91 SWAP2
04FF 03 SUB
0500 90 SWAP1
0501 A1 LOG1
0502 61 PUSH2 0x050a
0505 81 DUP2
0506 61 PUSH2 0x0725
0509 56 *JUMP
label_050A:
050A 5B JUMPDEST
050B 61 PUSH2 0x0518
050E 56 *JUMP
label_050F:
050F 5B JUMPDEST
0510 61 PUSH2 0x0517
0513 61 PUSH2 0x01f9
0516 56 *JUMP
0517 5B JUMPDEST
label_0518:
0518 5B JUMPDEST
0519 50 POP
051A 56 *JUMP
label_051B:
051B 5B JUMPDEST
051C 60 PUSH1 0x00
051E 61 PUSH2 0x0525
0521 61 PUSH2 0x06a5
0524 56 *JUMP
label_0525:
0525 5B JUMPDEST
0526 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
053B 16 AND
053C 33 CALLER
053D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0552 16 AND
0553 14 EQ
0554 15 ISZERO
0555 61 PUSH2 0x0567
0558 57 *JUMPI
label_0559:
0559 61 PUSH2 0x0560
055C 61 PUSH2 0x06a5
055F 56 *JUMP
label_0560:
0560 5B JUMPDEST
0561 90 SWAP1
0562 50 POP
0563 61 PUSH2 0x0570
0566 56 *JUMP
label_0567:
0567 5B JUMPDEST
0568 61 PUSH2 0x056f
056B 61 PUSH2 0x01f9
056E 56 *JUMP
056F 5B JUMPDEST
label_0570:
0570 5B JUMPDEST
0571 90 SWAP1
0572 56 *JUMP
label_0573:
0573 5B JUMPDEST
0574 61 PUSH2 0x057b
0577 61 PUSH2 0x06a5
057A 56 *JUMP
label_057B:
057B 5B JUMPDEST
057C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0591 16 AND
0592 33 CALLER
0593 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
05A8 16 AND
05A9 14 EQ
05AA 15 ISZERO
05AB 15 ISZERO
05AC 15 ISZERO
05AD 61 PUSH2 0x0644
05B0 57 *JUMPI
label_05B1:
05B1 60 PUSH1 0x40
05B3 51 MLOAD
05B4 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
05D5 81 DUP2
05D6 52 MSTORE
05D7 60 PUSH1 0x04
05D9 01 ADD
05DA 80 DUP1
05DB 80 DUP1
05DC 60 PUSH1 0x20
05DE 01 ADD
05DF 82 DUP3
05E0 81 DUP2
05E1 03 SUB
05E2 82 DUP3
05E3 52 MSTORE
05E4 60 PUSH1 0x32
05E6 81 DUP2
05E7 52 MSTORE
05E8 60 PUSH1 0x20
05EA 01 ADD
05EB 80 DUP1
05EC 7F PUSH32 0x43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e206672
060D 81 DUP2
060E 52 MSTORE
060F 60 PUSH1 0x20
0611 01 ADD
0612 7F PUSH32 0x6f6d207468652070726f78792061646d696e0000000000000000000000000000
0633 81 DUP2
0634 52 MSTORE
0635 50 POP
0636 60 PUSH1 0x40
0638 01 ADD
0639 91 SWAP2
063A 50 POP
063B 50 POP
063C 60 PUSH1 0x40
063E 51 MLOAD
063F 80 DUP1
0640 91 SWAP2
0641 03 SUB
0642 90 SWAP1
0643 FD *REVERT
label_0644:
0644 5B JUMPDEST
0645 61 PUSH2 0x064c
0648 61 PUSH2 0x0754
064B 56 *JUMP
label_064C:
064C 5B JUMPDEST
064D 56 *JUMP
label_064E:
064E 5B JUMPDEST
064F 60 PUSH1 0x00
0651 80 DUP1
0652 7F PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
0673 60 PUSH1 0x01
0675 02 MUL
0676 90 SWAP1
0677 50 POP
0678 80 DUP1
0679 54 SLOAD
067A 91 SWAP2
067B 50 POP
067C 50 POP
067D 90 SWAP1
067E 56 *JUMP
label_067F:
067F 5B JUMPDEST
0680 36 CALLDATASIZE
0681 60 PUSH1 0x00
0683 80 DUP1
0684 37 CALLDATACOPY
0685 60 PUSH1 0x00
0687 80 DUP1
0688 36 CALLDATASIZE
0689 60 PUSH1 0x00
068B 84 DUP5
068C 5A GAS
068D F4 DELEGATECALL
068E 3D RETURNDATASIZE
068F 60 PUSH1 0x00
0691 80 DUP1
0692 3E RETURNDATACOPY
0693 80 DUP1
0694 60 PUSH1 0x00
0696 81 DUP2
0697 14 EQ
0698 61 PUSH2 0x06a0
069B 57 *JUMPI
label_069C:
069C 3D RETURNDATASIZE
069D 60 PUSH1 0x00
069F F3 *RETURN
label_06A0:
06A0 5B JUMPDEST
06A1 3D RETURNDATASIZE
06A2 60 PUSH1 0x00
06A4 FD *REVERT
label_06A5:
06A5 5B JUMPDEST
06A6 60 PUSH1 0x00
06A8 80 DUP1
06A9 7F PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
06CA 60 PUSH1 0x01
06CC 02 MUL
06CD 90 SWAP1
06CE 50 POP
06CF 80 DUP1
06D0 54 SLOAD
06D1 91 SWAP2
06D2 50 POP
06D3 50 POP
06D4 90 SWAP1
06D5 56 *JUMP
label_06D6:
06D6 5B JUMPDEST
06D7 61 PUSH2 0x06df
06DA 81 DUP2
06DB 61 PUSH2 0x0756
06DE 56 *JUMP
label_06DF:
06DF 5B JUMPDEST
06E0 80 DUP1
06E1 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
06F6 16 AND
06F7 7F PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
0718 60 PUSH1 0x40
071A 51 MLOAD
071B 60 PUSH1 0x40
071D 51 MLOAD
071E 80 DUP1
071F 91 SWAP2
0720 03 SUB
0721 90 SWAP1
0722 A2 LOG2
0723 50 POP
0724 56 *JUMP
label_0725:
0725 5B JUMPDEST
0726 60 PUSH1 0x00
0728 7F PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b
0749 60 PUSH1 0x01
074B 02 MUL
074C 90 SWAP1
074D 50 POP
074E 81 DUP2
074F 81 DUP2
0750 55 SSTORE
0751 50 POP
0752 50 POP
0753 56 *JUMP
label_0754:
0754 5B JUMPDEST
0755 56 *JUMP
label_0756:
0756 5B JUMPDEST
0757 60 PUSH1 0x00
0759 61 PUSH2 0x0761
075C 82 DUP3
075D 61 PUSH2 0x0828
0760 56 *JUMP
label_0761:
0761 5B JUMPDEST
0762 15 ISZERO
0763 15 ISZERO
0764 61 PUSH2 0x07fb
0767 57 *JUMPI
label_0768:
0768 60 PUSH1 0x40
076A 51 MLOAD
076B 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
078C 81 DUP2
078D 52 MSTORE
078E 60 PUSH1 0x04
0790 01 ADD
0791 80 DUP1
0792 80 DUP1
0793 60 PUSH1 0x20
0795 01 ADD
0796 82 DUP3
0797 81 DUP2
0798 03 SUB
0799 82 DUP3
079A 52 MSTORE
079B 60 PUSH1 0x3b
079D 81 DUP2
079E 52 MSTORE
079F 60 PUSH1 0x20
07A1 01 ADD
07A2 80 DUP1
07A3 7F PUSH32 0x43616e6e6f742073657420612070726f787920696d706c656d656e746174696f
07C4 81 DUP2
07C5 52 MSTORE
07C6 60 PUSH1 0x20
07C8 01 ADD
07C9 7F PUSH32 0x6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000
07EA 81 DUP2
07EB 52 MSTORE
07EC 50 POP
07ED 60 PUSH1 0x40
07EF 01 ADD
07F0 91 SWAP2
07F1 50 POP
07F2 50 POP
07F3 60 PUSH1 0x40
07F5 51 MLOAD
07F6 80 DUP1
07F7 91 SWAP2
07F8 03 SUB
07F9 90 SWAP1
07FA FD *REVERT
label_07FB:
07FB 5B JUMPDEST
07FC 7F PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3
081D 60 PUSH1 0x01
081F 02 MUL
0820 90 SWAP1
0821 50 POP
0822 81 DUP2
0823 81 DUP2
0824 55 SSTORE
0825 50 POP
0826 50 POP
0827 56 *JUMP
label_0828:
0828 5B JUMPDEST
0829 60 PUSH1 0x00
082B 80 DUP1
082C 82 DUP3
082D 3B EXTCODESIZE
082E 90 SWAP1
082F 50 POP
0830 60 PUSH1 0x00
0832 81 DUP2
0833 11 GT
0834 91 SWAP2
0835 50 POP
0836 50 POP
0837 91 SWAP2
0838 90 SWAP1
0839 50 POP
083A 56 *JUMP
083B 00 *STOP
083C A1 LOG1
083D 65 PUSH6 0x627a7a723058
0844 20 SHA3
0845 82 DUP3
0846 55 SSTORE
0847 4E 4E
0848 AF AF
0849 53 MSTORE8
084A 6C PUSH13 0x0d193937f132068d40a645790b
0858 E3 E3
0859 87 DUP8
085A CB CB
085B CA CA
085C BF BF
085D C1 C1
085E A4 LOG4
085F 88 DUP9
0860 7A PUSH27 0x92cca2e70029