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 == 0x445df0ac) {
// Dispatch table entry for
last_completed_migration()
var var1 = 0x0064;
var var2 =
last_completed_migration();
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = var2;
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + temp0 - temp1 + 0x20];
} else if (var0 == 0x715018a6) {
// Dispatch table entry for
renounceOwnership()
var1 = 0x007e;
renounceOwnership();
stop();
} else if (var0 == 0x8da5cb5b) {
// Dispatch table entry for
owner()
var1 = 0x0088;
var1 =
owner();
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = var1 & (0x01 << 0xa0) - 0x01;
var temp3 = memory[0x40:0x60];
return memory[temp3:temp3 + temp2 - temp3 + 0x20];
} else if (var0 == 0xf2fde38b) {
// Dispatch table entry for
transferOwnership(address)
var1 = 0x007e;
var2 = 0x04;
var var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
transferOwnership(var2, var3);
stop();
} else if (var0 == 0xfdacd576) {
// Dispatch table entry for
setCompleted(uint256)
var1 = 0x007e;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
setCompleted(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
}
function transferOwnership(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = 0x01b8;
arg1 =
func_032A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (arg1 & temp0 != temp0 & storage[0x33]) {
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x461bcd << 0xe5;
memory[temp8 + 0x04:temp8 + 0x04 + 0x20] = 0x20;
memory[temp8 + 0x24:temp8 + 0x24 + 0x20] = 0x20;
memory[temp8 + 0x44:temp8 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp9 = memory[0x40:0x60];
revert(memory[temp9:temp9 + temp8 - temp9 + 0x64]);
} else if (arg0 & (0x01 << 0xa0) - 0x01) {
var temp1 = (0x01 << 0xa0) - 0x01;
var temp2 = arg0;
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x33] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]);
storage[0x33] = (temp2 & (0x01 << 0xa0) - 0x01) | (storage[0x33] & ~((0x01 << 0xa0) - 0x01));
return;
} else {
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
var temp4 = temp3 + 0x04;
var temp5 = temp4 + 0x20;
memory[temp4:temp4 + 0x20] = temp5 - temp4;
memory[temp5:temp5 + 0x20] = 0x26;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x26] = code[0x032f:0x0355];
var temp7 = memory[0x40:0x60];
revert(memory[temp7:temp7 + (temp6 + 0x40) - temp7]);
}
}
function setCompleted(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20];
arg1 = 0x02c3;
arg1 =
func_032A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (arg1 & temp0 == temp0 & storage[0x33]) {
storage[0x65] = arg0;
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x20;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + temp1 - temp2 + 0x64]);
}
}
function last_completed_migration() returns (var r0) { return storage[0x65]; }
function renounceOwnership() {
var var0 = 0x00f5;
var0 =
func_032A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (var0 & temp0 == temp0 & storage[0x33]) {
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x33] & (0x01 << 0xa0) - 0x01, 0x00]);
storage[0x33] = storage[0x33] & ~((0x01 << 0xa0) - 0x01);
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x20;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + temp1 - temp2 + 0x64]);
}
}
function owner() returns (var r0) { return storage[0x33] & (0x01 << 0xa0) - 0x01; }
function func_032A() returns (var r0) { return msg.sender; }
}
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 0x0057
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 0x445df0ac
0026 14 EQ
0027 61 PUSH2 0x005c
002A 57 *JUMPI
label_002B:
002B 80 DUP1
002C 63 PUSH4 0x715018a6
0031 14 EQ
0032 61 PUSH2 0x0076
0035 57 *JUMPI
label_0036:
0036 80 DUP1
0037 63 PUSH4 0x8da5cb5b
003C 14 EQ
003D 61 PUSH2 0x0080
0040 57 *JUMPI
label_0041:
0041 80 DUP1
0042 63 PUSH4 0xf2fde38b
0047 14 EQ
0048 61 PUSH2 0x00a4
004B 57 *JUMPI
label_004C:
004C 80 DUP1
004D 63 PUSH4 0xfdacd576
0052 14 EQ
0053 61 PUSH2 0x00ca
0056 57 *JUMPI
label_0057:
0057 5B JUMPDEST
0058 60 PUSH1 0x00
005A 80 DUP1
005B FD *REVERT
label_005C:
005C 5B JUMPDEST
005D 61 PUSH2 0x0064
0060 61 PUSH2 0x00e7
0063 56 *JUMP
label_0064:
0064 5B JUMPDEST
0065 60 PUSH1 0x40
0067 80 DUP1
0068 51 MLOAD
0069 91 SWAP2
006A 82 DUP3
006B 52 MSTORE
006C 51 MLOAD
006D 90 SWAP1
006E 81 DUP2
006F 90 SWAP1
0070 03 SUB
0071 60 PUSH1 0x20
0073 01 ADD
0074 90 SWAP1
0075 F3 *RETURN
label_0076:
0076 5B JUMPDEST
0077 61 PUSH2 0x007e
007A 61 PUSH2 0x00ed
007D 56 *JUMP
label_007E:
007E 5B JUMPDEST
007F 00 *STOP
label_0080:
0080 5B JUMPDEST
0081 61 PUSH2 0x0088
0084 61 PUSH2 0x01a1
0087 56 *JUMP
label_0088:
0088 5B JUMPDEST
0089 60 PUSH1 0x40
008B 80 DUP1
008C 51 MLOAD
008D 60 PUSH1 0x01
008F 60 PUSH1 0x01
0091 60 PUSH1 0xa0
0093 1B SHL
0094 03 SUB
0095 90 SWAP1
0096 92 SWAP3
0097 16 AND
0098 82 DUP3
0099 52 MSTORE
009A 51 MLOAD
009B 90 SWAP1
009C 81 DUP2
009D 90 SWAP1
009E 03 SUB
009F 60 PUSH1 0x20
00A1 01 ADD
00A2 90 SWAP1
00A3 F3 *RETURN
label_00A4:
00A4 5B JUMPDEST
00A5 61 PUSH2 0x007e
00A8 60 PUSH1 0x04
00AA 80 DUP1
00AB 36 CALLDATASIZE
00AC 03 SUB
00AD 60 PUSH1 0x20
00AF 81 DUP2
00B0 10 LT
00B1 15 ISZERO
00B2 61 PUSH2 0x00ba
00B5 57 *JUMPI
label_00B6:
00B6 60 PUSH1 0x00
00B8 80 DUP1
00B9 FD *REVERT
label_00BA:
00BA 5B JUMPDEST
00BB 50 POP
00BC 35 CALLDATALOAD
00BD 60 PUSH1 0x01
00BF 60 PUSH1 0x01
00C1 60 PUSH1 0xa0
00C3 1B SHL
00C4 03 SUB
00C5 16 AND
00C6 61 PUSH2 0x01b0
00C9 56 *JUMP
label_00CA:
00CA 5B JUMPDEST
00CB 61 PUSH2 0x007e
00CE 60 PUSH1 0x04
00D0 80 DUP1
00D1 36 CALLDATASIZE
00D2 03 SUB
00D3 60 PUSH1 0x20
00D5 81 DUP2
00D6 10 LT
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 35 CALLDATALOAD
00E3 61 PUSH2 0x02bb
00E6 56 *JUMP
label_00E7:
00E7 5B JUMPDEST
00E8 60 PUSH1 0x65
00EA 54 SLOAD
00EB 81 DUP2
00EC 56 *JUMP
label_00ED:
00ED 5B JUMPDEST
00EE 61 PUSH2 0x00f5
00F1 61 PUSH2 0x032a
00F4 56 *JUMP
label_00F5:
00F5 5B JUMPDEST
00F6 60 PUSH1 0x33
00F8 54 SLOAD
00F9 60 PUSH1 0x01
00FB 60 PUSH1 0x01
00FD 60 PUSH1 0xa0
00FF 1B SHL
0100 03 SUB
0101 90 SWAP1
0102 81 DUP2
0103 16 AND
0104 91 SWAP2
0105 16 AND
0106 14 EQ
0107 61 PUSH2 0x0157
010A 57 *JUMPI
label_010B:
010B 60 PUSH1 0x40
010D 80 DUP1
010E 51 MLOAD
010F 62 PUSH3 0x461bcd
0113 60 PUSH1 0xe5
0115 1B SHL
0116 81 DUP2
0117 52 MSTORE
0118 60 PUSH1 0x20
011A 60 PUSH1 0x04
011C 82 DUP3
011D 01 ADD
011E 81 DUP2
011F 90 SWAP1
0120 52 MSTORE
0121 60 PUSH1 0x24
0123 82 DUP3
0124 01 ADD
0125 52 MSTORE
0126 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0147 60 PUSH1 0x44
0149 82 DUP3
014A 01 ADD
014B 52 MSTORE
014C 90 SWAP1
014D 51 MLOAD
014E 90 SWAP1
014F 81 DUP2
0150 90 SWAP1
0151 03 SUB
0152 60 PUSH1 0x64
0154 01 ADD
0155 90 SWAP1
0156 FD *REVERT
label_0157:
0157 5B JUMPDEST
0158 60 PUSH1 0x33
015A 54 SLOAD
015B 60 PUSH1 0x40
015D 51 MLOAD
015E 60 PUSH1 0x00
0160 91 SWAP2
0161 60 PUSH1 0x01
0163 60 PUSH1 0x01
0165 60 PUSH1 0xa0
0167 1B SHL
0168 03 SUB
0169 16 AND
016A 90 SWAP1
016B 7F PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
018C 90 SWAP1
018D 83 DUP4
018E 90 SWAP1
018F A3 LOG3
0190 60 PUSH1 0x33
0192 80 DUP1
0193 54 SLOAD
0194 60 PUSH1 0x01
0196 60 PUSH1 0x01
0198 60 PUSH1 0xa0
019A 1B SHL
019B 03 SUB
019C 19 NOT
019D 16 AND
019E 90 SWAP1
019F 55 SSTORE
01A0 56 *JUMP
label_01A1:
01A1 5B JUMPDEST
01A2 60 PUSH1 0x33
01A4 54 SLOAD
01A5 60 PUSH1 0x01
01A7 60 PUSH1 0x01
01A9 60 PUSH1 0xa0
01AB 1B SHL
01AC 03 SUB
01AD 16 AND
01AE 90 SWAP1
01AF 56 *JUMP
label_01B0:
01B0 5B JUMPDEST
01B1 61 PUSH2 0x01b8
01B4 61 PUSH2 0x032a
01B7 56 *JUMP
label_01B8:
01B8 5B JUMPDEST
01B9 60 PUSH1 0x33
01BB 54 SLOAD
01BC 60 PUSH1 0x01
01BE 60 PUSH1 0x01
01C0 60 PUSH1 0xa0
01C2 1B SHL
01C3 03 SUB
01C4 90 SWAP1
01C5 81 DUP2
01C6 16 AND
01C7 91 SWAP2
01C8 16 AND
01C9 14 EQ
01CA 61 PUSH2 0x021a
01CD 57 *JUMPI
label_01CE:
01CE 60 PUSH1 0x40
01D0 80 DUP1
01D1 51 MLOAD
01D2 62 PUSH3 0x461bcd
01D6 60 PUSH1 0xe5
01D8 1B SHL
01D9 81 DUP2
01DA 52 MSTORE
01DB 60 PUSH1 0x20
01DD 60 PUSH1 0x04
01DF 82 DUP3
01E0 01 ADD
01E1 81 DUP2
01E2 90 SWAP1
01E3 52 MSTORE
01E4 60 PUSH1 0x24
01E6 82 DUP3
01E7 01 ADD
01E8 52 MSTORE
01E9 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
020A 60 PUSH1 0x44
020C 82 DUP3
020D 01 ADD
020E 52 MSTORE
020F 90 SWAP1
0210 51 MLOAD
0211 90 SWAP1
0212 81 DUP2
0213 90 SWAP1
0214 03 SUB
0215 60 PUSH1 0x64
0217 01 ADD
0218 90 SWAP1
0219 FD *REVERT
label_021A:
021A 5B JUMPDEST
021B 60 PUSH1 0x01
021D 60 PUSH1 0x01
021F 60 PUSH1 0xa0
0221 1B SHL
0222 03 SUB
0223 81 DUP2
0224 16 AND
0225 61 PUSH2 0x025f
0228 57 *JUMPI
label_0229:
0229 60 PUSH1 0x40
022B 51 MLOAD
022C 62 PUSH3 0x461bcd
0230 60 PUSH1 0xe5
0232 1B SHL
0233 81 DUP2
0234 52 MSTORE
0235 60 PUSH1 0x04
0237 01 ADD
0238 80 DUP1
0239 80 DUP1
023A 60 PUSH1 0x20
023C 01 ADD
023D 82 DUP3
023E 81 DUP2
023F 03 SUB
0240 82 DUP3
0241 52 MSTORE
0242 60 PUSH1 0x26
0244 81 DUP2
0245 52 MSTORE
0246 60 PUSH1 0x20
0248 01 ADD
0249 80 DUP1
024A 61 PUSH2 0x032f
024D 60 PUSH1 0x26
024F 91 SWAP2
0250 39 CODECOPY
0251 60 PUSH1 0x40
0253 01 ADD
0254 91 SWAP2
0255 50 POP
0256 50 POP
0257 60 PUSH1 0x40
0259 51 MLOAD
025A 80 DUP1
025B 91 SWAP2
025C 03 SUB
025D 90 SWAP1
025E FD *REVERT
label_025F:
025F 5B JUMPDEST
0260 60 PUSH1 0x33
0262 54 SLOAD
0263 60 PUSH1 0x40
0265 51 MLOAD
0266 60 PUSH1 0x01
0268 60 PUSH1 0x01
026A 60 PUSH1 0xa0
026C 1B SHL
026D 03 SUB
026E 80 DUP1
026F 84 DUP5
0270 16 AND
0271 92 SWAP3
0272 16 AND
0273 90 SWAP1
0274 7F PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0295 90 SWAP1
0296 60 PUSH1 0x00
0298 90 SWAP1
0299 A3 LOG3
029A 60 PUSH1 0x33
029C 80 DUP1
029D 54 SLOAD
029E 60 PUSH1 0x01
02A0 60 PUSH1 0x01
02A2 60 PUSH1 0xa0
02A4 1B SHL
02A5 03 SUB
02A6 19 NOT
02A7 16 AND
02A8 60 PUSH1 0x01
02AA 60 PUSH1 0x01
02AC 60 PUSH1 0xa0
02AE 1B SHL
02AF 03 SUB
02B0 92 SWAP3
02B1 90 SWAP1
02B2 92 SWAP3
02B3 16 AND
02B4 91 SWAP2
02B5 90 SWAP1
02B6 91 SWAP2
02B7 17 OR
02B8 90 SWAP1
02B9 55 SSTORE
02BA 56 *JUMP
label_02BB:
02BB 5B JUMPDEST
02BC 61 PUSH2 0x02c3
02BF 61 PUSH2 0x032a
02C2 56 *JUMP
label_02C3:
02C3 5B JUMPDEST
02C4 60 PUSH1 0x33
02C6 54 SLOAD
02C7 60 PUSH1 0x01
02C9 60 PUSH1 0x01
02CB 60 PUSH1 0xa0
02CD 1B SHL
02CE 03 SUB
02CF 90 SWAP1
02D0 81 DUP2
02D1 16 AND
02D2 91 SWAP2
02D3 16 AND
02D4 14 EQ
02D5 61 PUSH2 0x0325
02D8 57 *JUMPI
label_02D9:
02D9 60 PUSH1 0x40
02DB 80 DUP1
02DC 51 MLOAD
02DD 62 PUSH3 0x461bcd
02E1 60 PUSH1 0xe5
02E3 1B SHL
02E4 81 DUP2
02E5 52 MSTORE
02E6 60 PUSH1 0x20
02E8 60 PUSH1 0x04
02EA 82 DUP3
02EB 01 ADD
02EC 81 DUP2
02ED 90 SWAP1
02EE 52 MSTORE
02EF 60 PUSH1 0x24
02F1 82 DUP3
02F2 01 ADD
02F3 52 MSTORE
02F4 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0315 60 PUSH1 0x44
0317 82 DUP3
0318 01 ADD
0319 52 MSTORE
031A 90 SWAP1
031B 51 MLOAD
031C 90 SWAP1
031D 81 DUP2
031E 90 SWAP1
031F 03 SUB
0320 60 PUSH1 0x64
0322 01 ADD
0323 90 SWAP1
0324 FD *REVERT
label_0325:
0325 5B JUMPDEST
0326 60 PUSH1 0x65
0328 55 SSTORE
0329 56 *JUMP
label_032A:
032A 5B JUMPDEST
032B 33 CALLER
032C 90 SWAP1
032D 56 *JUMP
032E FE *ASSERT
032F 4F 4F
0330 77 PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
0349 7A PUSH27 0x65726f2061646472657373a26469706673582212206b9a05a8275f
0365 E0 E0
0366 BD BD
0367 D2 D2
0368 17 OR
0369 31 BALANCE
036A EF EF
036B EA EA
036C 53 MSTORE8
036D E2 E2
036E 39 CODECOPY
036F B7 B7
0370 4D 4D
0371 42 TIMESTAMP
0372 1B SHL
0373 4E 4E
0374 A6 A6
0375 7D PUSH30 0x16a2df99b905235c1264736f6c634300060c0033