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 E4 E4
00BD 52 MSTORE
00BE A1 LOG1
00BF AF AF
00C0 EA EA
00C1 01 ADD
00C2 B3 B3
00C3 2D 2D
00C4 CA CA
00C5 BF BF
00C6 7F PUSH32 0x2bf8b639d756d9cc028d4e25e3aef032f4be5a789064736f6c63430008110033