contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length < 0x04) { goto label_000D; }
var var0 = 0x00;
if (msg.data[var0:var0 + 0x20] >> 0xe0 != 0x56973ee5) {
label_000D:
var0 = 0x00;
var temp1 = msg.data.length;
memory[var0:var0 + temp1] = msg.data[var0:var0 + temp1];
var temp2;
temp2, memory[var0:var0 + var0] = address(0x000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da).delegatecall.gas(msg.gas)(memory[var0:var0 + msg.data.length]);
var temp3 = returndata.length;
memory[var0:var0 + temp3] = returndata[var0:var0 + temp3];
if (!temp2) { revert(memory[var0:var0 + returndata.length]); }
else { return memory[var0:var0 + returndata.length]; }
} else if (msg.value) {
label_009F:
var temp0 = var0;
revert(memory[temp0:temp0 + temp0]);
} else if (msg.data.length + ~0x03 i< var0) { goto label_009F; }
else {
memory[0x80:0xa0] = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da;
return memory[0x80:0xa0];
}
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x04
0007 36 CALLDATASIZE
0008 10 LT
0009 15 ISZERO
000A 60 PUSH1 0x49
000C 57 *JUMPI
label_000D:
000D 5B JUMPDEST
000E 5F PUSH0
000F 36 CALLDATASIZE
0010 81 DUP2
0011 80 DUP1
0012 37 CALLDATACOPY
0013 80 DUP1
0014 80 DUP1
0015 36 CALLDATASIZE
0016 81 DUP2
0017 7F PUSH32 0x000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
0038 5A GAS
0039 F4 DELEGATECALL
003A 3D RETURNDATASIZE
003B 82 DUP3
003C 80 DUP1
003D 3E RETURNDATACOPY
003E 15 ISZERO
003F 60 PUSH1 0x45
0041 57 *JUMPI
label_0042:
0042 3D RETURNDATASIZE
0043 90 SWAP1
0044 F3 *RETURN
label_0045:
0045 5B JUMPDEST
0046 3D RETURNDATASIZE
0047 90 SWAP1
0048 FD *REVERT
label_0049:
0049 5B JUMPDEST
004A 5F PUSH0
004B 80 DUP1
004C 35 CALLDATALOAD
004D 60 PUSH1 0xe0
004F 1C SHR
0050 63 PUSH4 0x56973ee5
0055 14 EQ
0056 60 PUSH1 0x5d
0058 57 *JUMPI
label_0059:
0059 50 POP
005A 60 PUSH1 0x0d
005C 56 *JUMP
label_005D:
005D 5B JUMPDEST
005E 34 CALLVALUE
005F 60 PUSH1 0x9f
0061 57 *JUMPI
label_0062:
0062 80 DUP1
0063 60 PUSH1 0x03
0065 19 NOT
0066 36 CALLDATASIZE
0067 01 ADD
0068 12 SLT
0069 60 PUSH1 0x9f
006B 57 *JUMPI
label_006C:
006C 7F PUSH32 0x000000000000000000000000b676cfeeed5c7b739452a502f1eff9ab684a56da
008D 60 PUSH1 0x01
008F 60 PUSH1 0x01
0091 60 PUSH1 0xa0
0093 1B SHL
0094 03 SUB
0095 16 AND
0096 60 PUSH1 0x80
0098 90 SWAP1
0099 81 DUP2
009A 52 MSTORE
009B 60 PUSH1 0x20
009D 90 SWAP1
009E F3 *RETURN
label_009F:
009F 5B JUMPDEST
00A0 80 DUP1
00A1 FD *REVERT
00A2 FE *ASSERT
00A3 A2 LOG2
00A4 64 PUSH5 0x6970667358
00AA 22 22
00AB 12 SLT
00AC 20 SHA3
00AD 5E 5E
00AE A0 LOG0
00AF 9B SWAP12
00B0 D3 D3
00B1 A4 LOG4
00B2 E8 E8
00B3 60 PUSH1 0xc2
00B5 4F 4F
00B6 C3 C3
00B7 B9 B9
00B8 76 PUSH23 0xd42dd00080f7d4f22863c3c0627037a80672527564736f
00D0 6C PUSH13 0x63430008140033