contract Contract {
function main() {
memory[0x40:0x60] = 0x60;
if (!msg.data.length) {
label_0051:
if (!msg.value) { revert(memory[0x00:0x00]); }
else { revert(memory[0x00:0x00]); }
} else {
var var0 = msg.data[0x00:0x20] / 0x02 ** 0xe0 & 0xffffffff;
if (var0 == 0x4e71e0c8) {
// Dispatch table entry for
claimOwnership()
if (msg.value) { revert(memory[0x00:0x00]); }
var var1 = 0x0074;
claimOwnership();
stop();
} else if (var0 == 0x8da5cb5b) {
// Dispatch table entry for
owner()
if (msg.value) { revert(memory[0x00:0x00]); }
var1 = 0x0089;
var var2 =
owner();
label_0089:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = var2 & 0x02 ** 0xa0 - 0x01;
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + (temp0 + 0x20) - temp1];
} else if (var0 == 0xbeabacc8) {
// Dispatch table entry for
transfer(address,address,uint256)
if (msg.value) { revert(memory[0x00:0x00]); }
var1 = 0x00cd;
var temp2 = 0x02 ** 0xa0 - 0x01;
var2 = temp2 & msg.data[0x04:0x24];
var var3 = msg.data[0x24:0x44] & temp2;
var var4 = msg.data[0x44:0x64];
var1 =
transfer(var2, var3, var4);
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = !!var1;
var temp4 = memory[0x40:0x60];
return memory[temp4:temp4 + (temp3 + 0x20) - temp4];
} else if (var0 == 0xe30c3978) {
// Dispatch table entry for
pendingOwner()
if (msg.value) { revert(memory[0x00:0x00]); }
var1 = 0x0089;
var2 =
pendingOwner();
goto label_0089;
} else if (var0 == 0xf2fde38b) {
// Dispatch table entry for
transferOwnership(address)
if (msg.value) { revert(memory[0x00:0x00]); }
var1 = 0x0074;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
transferOwnership(var2);
stop();
} else { goto label_0051; }
}
}
function claimOwnership() {
var temp0 = 0x02 ** 0xa0 - 0x01;
if (storage[0x01] & temp0 != temp0 & msg.sender) { return; }
var temp1 = storage[0x01];
var temp2 = ~0xffffffffffffffffffffffffffffffffffffffff;
storage[0x00] = (temp1 & 0x02 ** 0xa0 - 0x01) | (temp2 & storage[0x00]);
storage[0x01] = temp2 & temp1;
}
function owner() returns (var r0) { return storage[0x00] & 0x02 ** 0xa0 - 0x01; }
function transfer(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
var temp0 = 0x02 ** 0xa0 - 0x01;
if (storage[var0] & temp0 != temp0 & msg.sender) { revert(memory[0x00:0x00]); }
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x7472616e7366657228616464726573732c75696e743235362900000000000000;
var temp2 = memory[0x40:0x60];
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = (keccak256(memory[temp2:temp2 + (temp1 + 0x19) - temp2]) / 0x02 ** 0xe0 & 0xffffffff) * 0x02 ** 0xe0;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = arg1 & 0x02 ** 0xa0 - 0x01;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = arg2;
var temp4 = memory[0x40:0x60];
var temp5;
temp5, memory[temp4:temp4 + 0x00] = address(arg0 & 0x02 ** 0xa0 - 0x01).call.gas(msg.gas - 0x646e)(memory[temp4:temp4 + (temp3 + 0x44) - temp4]);
return r0;
}
function pendingOwner() returns (var r0) { return storage[0x01] & 0x02 ** 0xa0 - 0x01; }
function transferOwnership(var arg0) {
var temp0 = 0x02 ** 0xa0 - 0x01;
if (storage[0x00] & temp0 != temp0 & msg.sender) { revert(memory[0x00:0x00]); }
storage[0x01] = (arg0 & 0x02 ** 0xa0 - 0x01) | (storage[0x01] & ~0xffffffffffffffffffffffffffffffffffffffff);
}
}
label_0000:
0000 60 PUSH1 0x60
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 36 CALLDATASIZE
0006 15 ISZERO
0007 61 PUSH2 0x0051
000A 57 *JUMPI
label_000B:
000B 63 PUSH4 0xffffffff
0010 60 PUSH1 0xe0
0012 60 PUSH1 0x02
0014 0A EXP
0015 60 PUSH1 0x00
0017 35 CALLDATALOAD
0018 04 DIV
0019 16 AND
001A 63 PUSH4 0x4e71e0c8
001F 81 DUP2
0020 14 EQ
0021 61 PUSH2 0x0061
0024 57 *JUMPI
label_0025:
0025 80 DUP1
0026 63 PUSH4 0x8da5cb5b
002B 14 EQ
002C 61 PUSH2 0x0076
002F 57 *JUMPI
label_0030:
0030 80 DUP1
0031 63 PUSH4 0xbeabacc8
0036 14 EQ
0037 61 PUSH2 0x00a5
003A 57 *JUMPI
label_003B:
003B 80 DUP1
003C 63 PUSH4 0xe30c3978
0041 14 EQ
0042 61 PUSH2 0x00e1
0045 57 *JUMPI
label_0046:
0046 80 DUP1
0047 63 PUSH4 0xf2fde38b
004C 14 EQ
004D 61 PUSH2 0x00f4
0050 57 *JUMPI
label_0051:
0051 5B JUMPDEST
0052 34 CALLVALUE
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 60 PUSH1 0x00
005F 80 DUP1
0060 FD *REVERT
label_0061:
0061 5B JUMPDEST
0062 34 CALLVALUE
0063 15 ISZERO
0064 61 PUSH2 0x006c
0067 57 *JUMPI
label_0068:
0068 60 PUSH1 0x00
006A 80 DUP1
006B FD *REVERT
label_006C:
006C 5B JUMPDEST
006D 61 PUSH2 0x0074
0070 61 PUSH2 0x0113
0073 56 *JUMP
label_0074:
0074 5B JUMPDEST
0075 00 *STOP
label_0076:
0076 5B JUMPDEST
0077 34 CALLVALUE
0078 15 ISZERO
0079 61 PUSH2 0x0081
007C 57 *JUMPI
label_007D:
007D 60 PUSH1 0x00
007F 80 DUP1
0080 FD *REVERT
label_0081:
0081 5B JUMPDEST
0082 61 PUSH2 0x0089
0085 61 PUSH2 0x015f
0088 56 *JUMP
label_0089:
0089 5B JUMPDEST
008A 60 PUSH1 0x40
008C 51 MLOAD
008D 60 PUSH1 0x01
008F 60 PUSH1 0xa0
0091 60 PUSH1 0x02
0093 0A EXP
0094 03 SUB
0095 90 SWAP1
0096 91 SWAP2
0097 16 AND
0098 81 DUP2
0099 52 MSTORE
009A 60 PUSH1 0x20
009C 01 ADD
009D 60 PUSH1 0x40
009F 51 MLOAD
00A0 80 DUP1
00A1 91 SWAP2
00A2 03 SUB
00A3 90 SWAP1
00A4 F3 *RETURN
label_00A5:
00A5 5B JUMPDEST
00A6 34 CALLVALUE
00A7 15 ISZERO
00A8 61 PUSH2 0x00b0
00AB 57 *JUMPI
label_00AC:
00AC 60 PUSH1 0x00
00AE 80 DUP1
00AF FD *REVERT
label_00B0:
00B0 5B JUMPDEST
00B1 61 PUSH2 0x00cd
00B4 60 PUSH1 0x01
00B6 60 PUSH1 0xa0
00B8 60 PUSH1 0x02
00BA 0A EXP
00BB 03 SUB
00BC 60 PUSH1 0x04
00BE 35 CALLDATALOAD
00BF 81 DUP2
00C0 16 AND
00C1 90 SWAP1
00C2 60 PUSH1 0x24
00C4 35 CALLDATALOAD
00C5 16 AND
00C6 60 PUSH1 0x44
00C8 35 CALLDATALOAD
00C9 61 PUSH2 0x016e
00CC 56 *JUMP
label_00CD:
00CD 5B JUMPDEST
00CE 60 PUSH1 0x40
00D0 51 MLOAD
00D1 90 SWAP1
00D2 15 ISZERO
00D3 15 ISZERO
00D4 81 DUP2
00D5 52 MSTORE
00D6 60 PUSH1 0x20
00D8 01 ADD
00D9 60 PUSH1 0x40
00DB 51 MLOAD
00DC 80 DUP1
00DD 91 SWAP2
00DE 03 SUB
00DF 90 SWAP1
00E0 F3 *RETURN
label_00E1:
00E1 5B JUMPDEST
00E2 34 CALLVALUE
00E3 15 ISZERO
00E4 61 PUSH2 0x00ec
00E7 57 *JUMPI
label_00E8:
00E8 60 PUSH1 0x00
00EA 80 DUP1
00EB FD *REVERT
label_00EC:
00EC 5B JUMPDEST
00ED 61 PUSH2 0x0089
00F0 61 PUSH2 0x0215
00F3 56 *JUMP
label_00F4:
00F4 5B JUMPDEST
00F5 34 CALLVALUE
00F6 15 ISZERO
00F7 61 PUSH2 0x00ff
00FA 57 *JUMPI
label_00FB:
00FB 60 PUSH1 0x00
00FD 80 DUP1
00FE FD *REVERT
label_00FF:
00FF 5B JUMPDEST
0100 61 PUSH2 0x0074
0103 60 PUSH1 0x01
0105 60 PUSH1 0xa0
0107 60 PUSH1 0x02
0109 0A EXP
010A 03 SUB
010B 60 PUSH1 0x04
010D 35 CALLDATALOAD
010E 16 AND
010F 61 PUSH2 0x0224
0112 56 *JUMP
label_0113:
0113 5B JUMPDEST
0114 60 PUSH1 0x01
0116 54 SLOAD
0117 33 CALLER
0118 60 PUSH1 0x01
011A 60 PUSH1 0xa0
011C 60 PUSH1 0x02
011E 0A EXP
011F 03 SUB
0120 90 SWAP1
0121 81 DUP2
0122 16 AND
0123 91 SWAP2
0124 16 AND
0125 14 EQ
0126 15 ISZERO
0127 61 PUSH2 0x015d
012A 57 *JUMPI
label_012B:
012B 60 PUSH1 0x01
012D 80 DUP1
012E 54 SLOAD
012F 60 PUSH1 0x00
0131 80 DUP1
0132 54 SLOAD
0133 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0148 19 NOT
0149 90 SWAP1
014A 81 DUP2
014B 16 AND
014C 60 PUSH1 0x01
014E 60 PUSH1 0xa0
0150 60 PUSH1 0x02
0152 0A EXP
0153 03 SUB
0154 84 DUP5
0155 16 AND
0156 17 OR
0157 90 SWAP1
0158 91 SWAP2
0159 55 SSTORE
015A 16 AND
015B 90 SWAP1
015C 55 SSTORE
015D 5B JUMPDEST
015E 56 *JUMP
label_015F:
015F 5B JUMPDEST
0160 60 PUSH1 0x00
0162 54 SLOAD
0163 60 PUSH1 0x01
0165 60 PUSH1 0xa0
0167 60 PUSH1 0x02
0169 0A EXP
016A 03 SUB
016B 16 AND
016C 81 DUP2
016D 56 *JUMP
label_016E:
016E 5B JUMPDEST
016F 60 PUSH1 0x00
0171 80 DUP1
0172 54 SLOAD
0173 33 CALLER
0174 60 PUSH1 0x01
0176 60 PUSH1 0xa0
0178 60 PUSH1 0x02
017A 0A EXP
017B 03 SUB
017C 90 SWAP1
017D 81 DUP2
017E 16 AND
017F 91 SWAP2
0180 16 AND
0181 14 EQ
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 83 DUP4
018C 60 PUSH1 0x01
018E 60 PUSH1 0xa0
0190 60 PUSH1 0x02
0192 0A EXP
0193 03 SUB
0194 16 AND
0195 60 PUSH1 0x40
0197 51 MLOAD
0198 7F PUSH32 0x7472616e7366657228616464726573732c75696e743235362900000000000000
01B9 81 DUP2
01BA 52 MSTORE
01BB 60 PUSH1 0x19
01BD 01 ADD
01BE 60 PUSH1 0x40
01C0 51 MLOAD
01C1 80 DUP1
01C2 91 SWAP2
01C3 03 SUB
01C4 90 SWAP1
01C5 20 SHA3
01C6 60 PUSH1 0xe0
01C8 60 PUSH1 0x02
01CA 0A EXP
01CB 90 SWAP1
01CC 04 DIV
01CD 84 DUP5
01CE 84 DUP5
01CF 60 PUSH1 0x40
01D1 51 MLOAD
01D2 60 PUSH1 0xe0
01D4 60 PUSH1 0x02
01D6 0A EXP
01D7 63 PUSH4 0xffffffff
01DC 85 DUP6
01DD 16 AND
01DE 02 MUL
01DF 81 DUP2
01E0 52 MSTORE
01E1 60 PUSH1 0x01
01E3 60 PUSH1 0xa0
01E5 60 PUSH1 0x02
01E7 0A EXP
01E8 03 SUB
01E9 90 SWAP1
01EA 92 SWAP3
01EB 16 AND
01EC 60 PUSH1 0x04
01EE 83 DUP4
01EF 01 ADD
01F0 52 MSTORE
01F1 60 PUSH1 0x24
01F3 82 DUP3
01F4 01 ADD
01F5 52 MSTORE
01F6 60 PUSH1 0x44
01F8 01 ADD
01F9 60 PUSH1 0x00
01FB 60 PUSH1 0x40
01FD 51 MLOAD
01FE 80 DUP1
01FF 83 DUP4
0200 03 SUB
0201 81 DUP2
0202 60 PUSH1 0x00
0204 87 DUP8
0205 61 PUSH2 0x646e
0208 5A GAS
0209 03 SUB
020A F1 CALL
020B 97 SWAP8
020C 96 SWAP7
020D 50 POP
020E 50 POP
020F 50 POP
0210 50 POP
0211 50 POP
0212 50 POP
0213 50 POP
0214 56 *JUMP
label_0215:
0215 5B JUMPDEST
0216 60 PUSH1 0x01
0218 54 SLOAD
0219 60 PUSH1 0x01
021B 60 PUSH1 0xa0
021D 60 PUSH1 0x02
021F 0A EXP
0220 03 SUB
0221 16 AND
0222 81 DUP2
0223 56 *JUMP
label_0224:
0224 5B JUMPDEST
0225 60 PUSH1 0x00
0227 54 SLOAD
0228 33 CALLER
0229 60 PUSH1 0x01
022B 60 PUSH1 0xa0
022D 60 PUSH1 0x02
022F 0A EXP
0230 03 SUB
0231 90 SWAP1
0232 81 DUP2
0233 16 AND
0234 91 SWAP2
0235 16 AND
0236 14 EQ
0237 61 PUSH2 0x023f
023A 57 *JUMPI
label_023B:
023B 60 PUSH1 0x00
023D 80 DUP1
023E FD *REVERT
label_023F:
023F 5B JUMPDEST
0240 60 PUSH1 0x01
0242 80 DUP1
0243 54 SLOAD
0244 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0259 19 NOT
025A 16 AND
025B 60 PUSH1 0x01
025D 60 PUSH1 0xa0
025F 60 PUSH1 0x02
0261 0A EXP
0262 03 SUB
0263 92 SWAP3
0264 90 SWAP1
0265 92 SWAP3
0266 16 AND
0267 91 SWAP2
0268 90 SWAP1
0269 91 SWAP2
026A 17 OR
026B 90 SWAP1
026C 55 SSTORE
026D 56 *JUMP
026E 00 *STOP
026F A1 LOG1
0270 65 PUSH6 0x627a7a723058
0277 20 SHA3
0278 26 26
0279 81 DUP2
027A 93 SWAP4
027B A9 A9
027C D1 D1
027D 07 SMOD
027E E2 E2
027F F6 F6
0280 DC DC
0281 10 LT
0282 E0 E0
0283 CC CC
0284 44 DIFFICULTY
0285 AB AB
0286 CF CF
0287 EB EB
0288 DD DD
0289 57 *JUMPI
028A C2 C2
028B 14 EQ
028C 8D DUP14
028D 6D PUSH14 0x8d259ccc5f944b7a80810029