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 & 0x3e75ba25fa88011b2cb7a6c9309d2701eb274486;
var var6 = 0x38;
var var7 = var0;
var var8 = var1;
var var9 = memory[0x40:0x60];
var6 =
func_0091(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) { revert(memory[0x00:0x00]); }
label_0084:
var temp2 = var4;
return memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]];
} else {
var temp3 = memory[0x40:0x60];
var6 = temp3;
memory[0x40:0x60] = var6 + (returndata.length + 0x3f & ~0x1f);
memory[var6:var6 + 0x20] = returndata.length;
var temp4 = returndata.length;
memory[var6 + 0x20:var6 + 0x20 + temp4] = returndata[0x00:0x00 + temp4];
var4 = var6;
var3 = var5;
if (var3) { goto label_0084; }
else { revert(memory[0x00:0x00]); }
}
}
function func_0091(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 0x3e75ba25fa88011b2cb7a6c9309d2701eb274486
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 0x91
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 0x84
007F 57 *JUMPI
label_0080:
0080 60 PUSH1 0x00
0082 80 DUP1
0083 FD *REVERT
label_0084:
0084 5B JUMPDEST
0085 80 DUP1
0086 51 MLOAD
0087 94 SWAP5
0088 50 POP
0089 60 PUSH1 0x20
008B 01 ADD
008C 92 SWAP3
008D 50 POP
008E 50 POP
008F 50 POP
0090 F3 *RETURN
label_0091:
0091 5B JUMPDEST
0092 81 DUP2
0093 83 DUP4
0094 82 DUP3
0095 37 CALLDATACOPY
0096 60 PUSH1 0x00
0098 91 SWAP2
0099 01 ADD
009A 90 SWAP1
009B 81 DUP2
009C 52 MSTORE
009D 91 SWAP2
009E 90 SWAP1
009F 50 POP
00A0 56 *JUMP
00A1 FE *ASSERT
00A2 A2 LOG2
00A3 64 PUSH5 0x6970667358
00A9 22 22
00AA 12 SLT
00AB 20 SHA3
00AC B8 B8
00AD CA CA
00AE 35 CALLDATALOAD
00AF 43 NUMBER
00B0 C3 C3
00B1 9B SWAP12
00B2 EB EB
00B3 4D 4D
00B4 8D DUP14
00B5 E4 E4
00B6 54 SLOAD
00B7 EF EF
00B8 EE EE
00B9 8F DUP16
00BA E8 E8
00BB 62 PUSH3 0x85e8d6
00BF F2 CALLCODE
00C0 EF EF
00C1 46 CHAINID
00C2 B7 B7
00C3 14 EQ
00C4 A6 A6
00C5 02 MUL
00C6 46 CHAINID
00C7 7A PUSH27 0x3a6852d264736f6c634300080d0033