contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (!msg.data.length) { stop(); }
var var0 = 0x00;
var var1 = msg.data.length;
var var2 = 0x60;
var var3 = 0x00;
var var4 = var3;
var var5 = (0x01 << 0xa0) - 0x01 & 0x475524de13f635cbbca065c3b70c35cdeb6125ea;
var var6 = 0x3e;
var var7 = var0;
var var9 = memory[0x40:0x60];
var var8 = var1;
var6 =
func_00CE(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_00C1:
var temp2 = var4;
return memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]];
} else {
label_0086:
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x0d;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x2b32b934b334b1b0ba34b7b717 << 0x99;
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_00C1; }
else { goto label_0086; }
}
}
function func_00CE(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 36 CALLDATASIZE
0006 60 PUSH1 0x0a
0008 57 *JUMPI
label_0009:
0009 00 *STOP
label_000A:
000A 5B JUMPDEST
000B 60 PUSH1 0x00
000D 36 CALLDATASIZE
000E 60 PUSH1 0x60
0010 60 PUSH1 0x00
0012 80 DUP1
0013 73 PUSH20 0x475524de13f635cbbca065c3b70c35cdeb6125ea
0028 60 PUSH1 0x01
002A 60 PUSH1 0x01
002C 60 PUSH1 0xa0
002E 1B SHL
002F 03 SUB
0030 16 AND
0031 85 DUP6
0032 85 DUP6
0033 60 PUSH1 0x40
0035 51 MLOAD
0036 60 PUSH1 0x3e
0038 92 SWAP3
0039 91 SWAP2
003A 90 SWAP1
003B 60 PUSH1 0xce
003D 56 *JUMP
label_003E:
003E 5B JUMPDEST
003F 60 PUSH1 0x00
0041 60 PUSH1 0x40
0043 51 MLOAD
0044 80 DUP1
0045 83 DUP4
0046 03 SUB
0047 81 DUP2
0048 85 DUP6
0049 5A GAS
004A F4 DELEGATECALL
004B 91 SWAP2
004C 50 POP
004D 50 POP
004E 3D RETURNDATASIZE
004F 80 DUP1
0050 60 PUSH1 0x00
0052 81 DUP2
0053 14 EQ
0054 60 PUSH1 0x77
0056 57 *JUMPI
label_0057:
0057 60 PUSH1 0x40
0059 51 MLOAD
005A 91 SWAP2
005B 50 POP
005C 60 PUSH1 0x1f
005E 19 NOT
005F 60 PUSH1 0x3f
0061 3D RETURNDATASIZE
0062 01 ADD
0063 16 AND
0064 82 DUP3
0065 01 ADD
0066 60 PUSH1 0x40
0068 52 MSTORE
0069 3D RETURNDATASIZE
006A 82 DUP3
006B 52 MSTORE
006C 3D RETURNDATASIZE
006D 60 PUSH1 0x00
006F 60 PUSH1 0x20
0071 84 DUP5
0072 01 ADD
0073 3E RETURNDATACOPY
0074 60 PUSH1 0x7c
0076 56 *JUMP
label_0077:
0077 5B JUMPDEST
0078 60 PUSH1 0x60
007A 91 SWAP2
007B 50 POP
007C 5B JUMPDEST
007D 50 POP
007E 91 SWAP2
007F 50 POP
0080 91 SWAP2
0081 50 POP
0082 81 DUP2
0083 60 PUSH1 0xc1
0085 57 *JUMPI
label_0086:
0086 60 PUSH1 0x40
0088 51 MLOAD
0089 62 PUSH3 0x461bcd
008D 60 PUSH1 0xe5
008F 1B SHL
0090 81 DUP2
0091 52 MSTORE
0092 60 PUSH1 0x20
0094 60 PUSH1 0x04
0096 82 DUP3
0097 01 ADD
0098 52 MSTORE
0099 60 PUSH1 0x0d
009B 60 PUSH1 0x24
009D 82 DUP3
009E 01 ADD
009F 52 MSTORE
00A0 6C PUSH13 0x2b32b934b334b1b0ba34b7b717
00AE 60 PUSH1 0x99
00B0 1B SHL
00B1 60 PUSH1 0x44
00B3 82 DUP3
00B4 01 ADD
00B5 52 MSTORE
00B6 60 PUSH1 0x64
00B8 01 ADD
00B9 60 PUSH1 0x40
00BB 51 MLOAD
00BC 80 DUP1
00BD 91 SWAP2
00BE 03 SUB
00BF 90 SWAP1
00C0 FD *REVERT
label_00C1:
00C1 5B JUMPDEST
00C2 80 DUP1
00C3 51 MLOAD
00C4 94 SWAP5
00C5 50 POP
00C6 60 PUSH1 0x20
00C8 01 ADD
00C9 92 SWAP3
00CA 50 POP
00CB 50 POP
00CC 50 POP
00CD F3 *RETURN
label_00CE:
00CE 5B JUMPDEST
00CF 81 DUP2
00D0 83 DUP4
00D1 82 DUP3
00D2 37 CALLDATACOPY
00D3 60 PUSH1 0x00
00D5 91 SWAP2
00D6 01 ADD
00D7 90 SWAP1
00D8 81 DUP2
00D9 52 MSTORE
00DA 91 SWAP2
00DB 90 SWAP1
00DC 50 POP
00DD 56 *JUMP
00DE FE *ASSERT
00DF A2 LOG2
00E0 64 PUSH5 0x6970667358
00E6 22 22
00E7 12 SLT
00E8 20 SHA3
00E9 AD AD
00EA 54 SLOAD
00EB D6 D6
00EC 58 PC
00ED B9 B9
00EE C3 C3
00EF 79 PUSH26 0xb93f7aba75e26205463444ab9e1fd78e7610394ff993020c6d64
010A 73 PUSH20 0x6f6c634300081e0033