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] & (0x01 << 0xa0) - 0x01).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_004E:
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] & (0x01 << 0xa0) - 0x01).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_004E; }
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 0x52
0009 57 *JUMPI
label_000A:
000A 60 PUSH1 0x01
000C 60 PUSH1 0x01
000E 60 PUSH1 0xa0
0010 1B SHL
0011 03 SUB
0012 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0033 54 SLOAD
0034 16 AND
0035 60 PUSH1 0x00
0037 80 DUP1
0038 80 DUP1
0039 92 SWAP3
003A 36 CALLDATASIZE
003B 82 DUP3
003C 80 DUP1
003D 37 CALLDATACOPY
003E 81 DUP2
003F 36 CALLDATASIZE
0040 91 SWAP2
0041 5A GAS
0042 F4 DELEGATECALL
0043 3D RETURNDATASIZE
0044 82 DUP3
0045 80 DUP1
0046 3E RETURNDATACOPY
0047 15 ISZERO
0048 60 PUSH1 0x4e
004A 57 *JUMPI
label_004B:
004B 3D RETURNDATASIZE
004C 90 SWAP1
004D F3 *RETURN
label_004E:
004E 5B JUMPDEST
004F 3D RETURNDATASIZE
0050 90 SWAP1
0051 FD *REVERT
label_0052:
0052 5B JUMPDEST
0053 60 PUSH1 0x01
0055 60 PUSH1 0x01
0057 60 PUSH1 0xa0
0059 1B SHL
005A 03 SUB
005B 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
007C 54 SLOAD
007D 16 AND
007E 60 PUSH1 0x00
0080 80 DUP1
0081 80 DUP1
0082 92 SWAP3
0083 36 CALLDATASIZE
0084 82 DUP3
0085 80 DUP1
0086 37 CALLDATACOPY
0087 81 DUP2
0088 36 CALLDATASIZE
0089 91 SWAP2
008A 5A GAS
008B F4 DELEGATECALL
008C 3D RETURNDATASIZE
008D 82 DUP3
008E 80 DUP1
008F 3E RETURNDATACOPY
0090 15 ISZERO
0091 60 PUSH1 0x4e
0093 57 *JUMPI
label_0094:
0094 3D RETURNDATASIZE
0095 90 SWAP1
0096 F3 *RETURN
0097 FE *ASSERT
0098 A2 LOG2
0099 64 PUSH5 0x6970667358
009F 22 22
00A0 12 SLT
00A1 20 SHA3
00A2 44 DIFFICULTY
00A3 C4 C4
00A4 2E 2E
00A5 8D DUP14
00A6 2E 2E
00A7 F2 CALLCODE
00A8 73 PUSH20 0x10c5476d9969df2b5f7c671b3a0dc4ae9fd5ffc7
00BD 00 *STOP
00BE 87 DUP8
00BF 78 PUSH25 0x223764736f6c63430008110033