contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
var var0 = 0x00;
var var1 = msg.data.length;
var var2 = 0x60;
var var3 = 0x00;
var var4 = var3;
var var5 = (0x01 << 0xa0) - 0x01 & 0x1b94dd8b4beac56b55b42250bc0fb955d453f0a8;
var var6 = 0x38;
var var7 = var0;
var var8 = var1;
var var9 = memory[0x40:0x60];
var6 =
func_00CA(var7, var8, var9);
var temp0 = memory[0x40:0x60];
var temp1;
temp1, memory[temp0:temp0 + 0x00] = address(var5).delegatecall.gas(msg.gas)(memory[temp0:temp0 + var6 - temp0]);
var6 = returndata.length;
var7 = var6;
if (var7 == 0x00) {
var4 = 0x60;
var3 = var5;
if (var3) {
label_00BD:
var temp2 = var4;
return memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]];
} else {
label_0080:
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x0f;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x24ba32b69034b9902637b1b5b2b217 << 0x89;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x64) - temp4]);
}
} else {
var temp5 = memory[0x40:0x60];
var6 = temp5;
memory[0x40:0x60] = var6 + (returndata.length + 0x3f & ~0x1f);
memory[var6:var6 + 0x20] = returndata.length;
var temp6 = returndata.length;
memory[var6 + 0x20:var6 + 0x20 + temp6] = returndata[0x00:0x00 + temp6];
var4 = var6;
var3 = var5;
if (var3) { goto label_00BD; }
else { goto label_0080; }
}
}
function func_00CA(var arg0, var arg1, var arg2) returns (var r0) {
var temp0 = arg1;
var temp1 = arg2;
memory[temp1:temp1 + temp0] = msg.data[arg0:arg0 + temp0];
memory[temp0 + temp1:temp0 + temp1 + 0x20] = 0x00;
return temp0 + temp1;
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x00
0007 36 CALLDATASIZE
0008 60 PUSH1 0x60
000A 60 PUSH1 0x00
000C 80 DUP1
000D 73 PUSH20 0x1b94dd8b4beac56b55b42250bc0fb955d453f0a8
0022 60 PUSH1 0x01
0024 60 PUSH1 0x01
0026 60 PUSH1 0xa0
0028 1B SHL
0029 03 SUB
002A 16 AND
002B 85 DUP6
002C 85 DUP6
002D 60 PUSH1 0x40
002F 51 MLOAD
0030 60 PUSH1 0x38
0032 92 SWAP3
0033 91 SWAP2
0034 90 SWAP1
0035 60 PUSH1 0xca
0037 56 *JUMP
label_0038:
0038 5B JUMPDEST
0039 60 PUSH1 0x00
003B 60 PUSH1 0x40
003D 51 MLOAD
003E 80 DUP1
003F 83 DUP4
0040 03 SUB
0041 81 DUP2
0042 85 DUP6
0043 5A GAS
0044 F4 DELEGATECALL
0045 91 SWAP2
0046 50 POP
0047 50 POP
0048 3D RETURNDATASIZE
0049 80 DUP1
004A 60 PUSH1 0x00
004C 81 DUP2
004D 14 EQ
004E 60 PUSH1 0x71
0050 57 *JUMPI
label_0051:
0051 60 PUSH1 0x40
0053 51 MLOAD
0054 91 SWAP2
0055 50 POP
0056 60 PUSH1 0x1f
0058 19 NOT
0059 60 PUSH1 0x3f
005B 3D RETURNDATASIZE
005C 01 ADD
005D 16 AND
005E 82 DUP3
005F 01 ADD
0060 60 PUSH1 0x40
0062 52 MSTORE
0063 3D RETURNDATASIZE
0064 82 DUP3
0065 52 MSTORE
0066 3D RETURNDATASIZE
0067 60 PUSH1 0x00
0069 60 PUSH1 0x20
006B 84 DUP5
006C 01 ADD
006D 3E RETURNDATACOPY
006E 60 PUSH1 0x76
0070 56 *JUMP
label_0071:
0071 5B JUMPDEST
0072 60 PUSH1 0x60
0074 91 SWAP2
0075 50 POP
0076 5B JUMPDEST
0077 50 POP
0078 91 SWAP2
0079 50 POP
007A 91 SWAP2
007B 50 POP
007C 81 DUP2
007D 60 PUSH1 0xbd
007F 57 *JUMPI
label_0080:
0080 60 PUSH1 0x40
0082 51 MLOAD
0083 62 PUSH3 0x461bcd
0087 60 PUSH1 0xe5
0089 1B SHL
008A 81 DUP2
008B 52 MSTORE
008C 60 PUSH1 0x20
008E 60 PUSH1 0x04
0090 82 DUP3
0091 01 ADD
0092 52 MSTORE
0093 60 PUSH1 0x0f
0095 60 PUSH1 0x24
0097 82 DUP3
0098 01 ADD
0099 52 MSTORE
009A 6E PUSH15 0x24ba32b69034b9902637b1b5b2b217
00AA 60 PUSH1 0x89
00AC 1B SHL
00AD 60 PUSH1 0x44
00AF 82 DUP3
00B0 01 ADD
00B1 52 MSTORE
00B2 60 PUSH1 0x64
00B4 01 ADD
00B5 60 PUSH1 0x40
00B7 51 MLOAD
00B8 80 DUP1
00B9 91 SWAP2
00BA 03 SUB
00BB 90 SWAP1
00BC FD *REVERT
label_00BD:
00BD 5B JUMPDEST
00BE 80 DUP1
00BF 51 MLOAD
00C0 94 SWAP5
00C1 50 POP
00C2 60 PUSH1 0x20
00C4 01 ADD
00C5 92 SWAP3
00C6 50 POP
00C7 50 POP
00C8 50 POP
00C9 F3 *RETURN
label_00CA:
00CA 5B JUMPDEST
00CB 81 DUP2
00CC 83 DUP4
00CD 82 DUP3
00CE 37 CALLDATACOPY
00CF 60 PUSH1 0x00
00D1 91 SWAP2
00D2 01 ADD
00D3 90 SWAP1
00D4 81 DUP2
00D5 52 MSTORE
00D6 91 SWAP2
00D7 90 SWAP1
00D8 50 POP
00D9 56 *JUMP
00DA FE *ASSERT
00DB A2 LOG2
00DC 64 PUSH5 0x6970667358
00E2 22 22
00E3 12 SLT
00E4 20 SHA3
00E5 E1 E1
00E6 F7 F7
00E7 1E 1E
00E8 FE *ASSERT
00E9 0A EXP
00EA B3 B3
00EB E9 E9
00EC E6 E6
00ED 50 POP
00EE 4D 4D
00EF 2C 2C
00F0 C1 C1
00F1 41 COINBASE
00F2 8D DUP14
00F3 ED ED
00F4 EE EE
00F5 EC EC
00F6 82 DUP3
00F7 6C PUSH13 0x08be2fe58f689111ffb98af828
0105 64 PUSH5 0x736f6c6343
010B 00 *STOP
010C 08 ADDMOD
010D 0D 0D
010E 00 *STOP
010F 33 CALLER