contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (!msg.data.length) {
var var0 = 0x00;
var temp0 = msg.data.length;
memory[var0:var0 + temp0] = msg.data[var0:var0 + temp0];
var temp1;
temp1, memory[var0:var0 + var0] = address(storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] & 0xffffffffffffffffffffffffffffffffffffffff).delegatecall.gas(msg.gas)(memory[var0:var0 + msg.data.length]);
var temp2 = returndata.length;
memory[var0:var0 + temp2] = returndata[var0:var0 + temp2];
if (temp1) { return memory[var0:var0 + returndata.length]; }
label_005B:
revert(memory[var0:var0 + returndata.length]);
} else {
var0 = 0x00;
var temp3 = msg.data.length;
memory[var0:var0 + temp3] = msg.data[var0:var0 + temp3];
var temp4;
temp4, memory[var0:var0 + var0] = address(storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] & 0xffffffffffffffffffffffffffffffffffffffff).delegatecall.gas(msg.gas)(memory[var0:var0 + msg.data.length]);
var temp5 = returndata.length;
memory[var0:var0 + temp5] = returndata[var0:var0 + temp5];
if (!temp4) { goto label_005B; }
else { return memory[var0:var0 + returndata.length]; }
}
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 36 CALLDATASIZE
0006 15 ISZERO
0007 60 PUSH1 0x5f
0009 57 *JUMPI
label_000A:
000A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
001F 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0040 54 SLOAD
0041 16 AND
0042 60 PUSH1 0x00
0044 80 DUP1
0045 80 DUP1
0046 92 SWAP3
0047 36 CALLDATASIZE
0048 82 DUP3
0049 80 DUP1
004A 37 CALLDATACOPY
004B 81 DUP2
004C 36 CALLDATASIZE
004D 91 SWAP2
004E 5A GAS
004F F4 DELEGATECALL
0050 3D RETURNDATASIZE
0051 82 DUP3
0052 80 DUP1
0053 3E RETURNDATACOPY
0054 15 ISZERO
0055 60 PUSH1 0x5b
0057 57 *JUMPI
label_0058:
0058 3D RETURNDATASIZE
0059 90 SWAP1
005A F3 *RETURN
label_005B:
005B 5B JUMPDEST
005C 3D RETURNDATASIZE
005D 90 SWAP1
005E FD *REVERT
label_005F:
005F 5B JUMPDEST
0060 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0075 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0096 54 SLOAD
0097 16 AND
0098 60 PUSH1 0x00
009A 80 DUP1
009B 80 DUP1
009C 92 SWAP3
009D 36 CALLDATASIZE
009E 82 DUP3
009F 80 DUP1
00A0 37 CALLDATACOPY
00A1 81 DUP2
00A2 36 CALLDATASIZE
00A3 91 SWAP2
00A4 5A GAS
00A5 F4 DELEGATECALL
00A6 3D RETURNDATASIZE
00A7 82 DUP3
00A8 80 DUP1
00A9 3E RETURNDATACOPY
00AA 15 ISZERO
00AB 60 PUSH1 0x5b
00AD 57 *JUMPI
label_00AE:
00AE 3D RETURNDATASIZE
00AF 90 SWAP1
00B0 F3 *RETURN
00B1 FE *ASSERT
00B2 A2 LOG2
00B3 64 PUSH5 0x6970667358
00B9 22 22
00BA 12 SLT
00BB 20 SHA3
00BC 97 SWAP8
00BD F3 *RETURN
00BE F4 DELEGATECALL
00BF 33 CALLER
00C0 32 ORIGIN
00C1 63 PUSH4 0xeda6b886
00C6 E4 E4
00C7 A6 A6
00C8 AA AA
00C9 32 ORIGIN
00CA A5 A5
00CB FF *SELFDESTRUCT
00CC B7 B7
00CD 91 SWAP2
00CE EB EB
00CF 93 SWAP4
00D0 2F 2F
00D1 BD BD
00D2 08 ADDMOD
00D3 CD CD
00D4 60 PUSH1 0x64
00D6 88 DUP9
00D7 4D 4D
00D8 09 MULMOD
00D9 FE *ASSERT
00DA 45 GASLIMIT
00DB DC DC
00DC 64 PUSH5 0x736f6c6343
00E2 00 *STOP
00E3 08 ADDMOD
00E4 11 GT
00E5 00 *STOP
00E6 33 CALLER