contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
var var0 = msg.value;
if (var0) { revert(memory[0x00:0x00]); }
if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); }
var0 = msg.data[0x00:0x20] >> 0xe0;
if (var0 != 0x3fa4f245) { revert(memory[0x00:0x00]); }
var var1 = 0x30;
var var2 =
func_0044();
var temp0 = var2;
var2 = 0x3b;
var var3 = temp0;
var var4 = memory[0x40:0x60];
var2 =
func_005F(var3, var4);
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + var2 - temp1];
}
function func_0044() returns (var r0) { return storage[0x00]; }
function func_0049(var arg0) returns (var r0) { return arg0; }
function func_0052(var arg0, var arg1) {
var var0 = 0x59;
var var1 = arg1;
var0 =
func_0049(var1);
memory[arg0:arg0 + 0x20] = var0;
}
function func_005F(var arg0, var arg1) returns (var r0) {
var temp0 = arg1;
var var0 = temp0 + 0x20;
var var1 = 0x70;
var var2 = temp0;
var var3 = arg0;
func_0052(var2, var3);
return var0;
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 34 CALLVALUE
0006 80 DUP1
0007 15 ISZERO
0008 60 PUSH1 0x0e
000A 57 *JUMPI
label_000B:
000B 5F PUSH0
000C 80 DUP1
000D FD *REVERT
label_000E:
000E 5B JUMPDEST
000F 50 POP
0010 60 PUSH1 0x04
0012 36 CALLDATASIZE
0013 10 LT
0014 60 PUSH1 0x26
0016 57 *JUMPI
label_0017:
0017 5F PUSH0
0018 35 CALLDATALOAD
0019 60 PUSH1 0xe0
001B 1C SHR
001C 80 DUP1
001D 63 PUSH4 0x3fa4f245
0022 14 EQ
0023 60 PUSH1 0x2a
0025 57 *JUMPI
label_0026:
0026 5B JUMPDEST
0027 5F PUSH0
0028 80 DUP1
0029 FD *REVERT
label_002A:
002A 5B JUMPDEST
002B 60 PUSH1 0x30
002D 60 PUSH1 0x44
002F 56 *JUMP
label_0030:
0030 5B JUMPDEST
0031 60 PUSH1 0x40
0033 51 MLOAD
0034 60 PUSH1 0x3b
0036 91 SWAP2
0037 90 SWAP1
0038 60 PUSH1 0x5f
003A 56 *JUMP
label_003B:
003B 5B JUMPDEST
003C 60 PUSH1 0x40
003E 51 MLOAD
003F 80 DUP1
0040 91 SWAP2
0041 03 SUB
0042 90 SWAP1
0043 F3 *RETURN
label_0044:
0044 5B JUMPDEST
0045 5F PUSH0
0046 54 SLOAD
0047 81 DUP2
0048 56 *JUMP
label_0049:
0049 5B JUMPDEST
004A 5F PUSH0
004B 81 DUP2
004C 90 SWAP1
004D 50 POP
004E 91 SWAP2
004F 90 SWAP1
0050 50 POP
0051 56 *JUMP
label_0052:
0052 5B JUMPDEST
0053 60 PUSH1 0x59
0055 81 DUP2
0056 60 PUSH1 0x49
0058 56 *JUMP
label_0059:
0059 5B JUMPDEST
005A 82 DUP3
005B 52 MSTORE
005C 50 POP
005D 50 POP
005E 56 *JUMP
label_005F:
005F 5B JUMPDEST
0060 5F PUSH0
0061 60 PUSH1 0x20
0063 82 DUP3
0064 01 ADD
0065 90 SWAP1
0066 50 POP
0067 60 PUSH1 0x70
0069 5F PUSH0
006A 83 DUP4
006B 01 ADD
006C 84 DUP5
006D 60 PUSH1 0x52
006F 56 *JUMP
label_0070:
0070 5B JUMPDEST
0071 92 SWAP3
0072 91 SWAP2
0073 50 POP
0074 50 POP
0075 56 *JUMP
0076 FE *ASSERT
0077 A2 LOG2
0078 64 PUSH5 0x6970667358
007E 22 22
007F 12 SLT
0080 20 SHA3
0081 16 AND
0082 65 PUSH6 0x2cbae43155ec
0089 4B 4B
008A 32 ORIGIN
008B 3F EXTCODEHASH
008C 01 ADD
008D A6 A6
008E EB EB
008F 52 MSTORE
0090 E5 E5
0091 C0 C0
0092 E4 E4
0093 5D 5D
0094 DF DF
0095 EC EC
0096 9F SWAP16
0097 2C 2C
0098 3B EXTCODESIZE
0099 51 MLOAD
009A 78 PUSH25 0x33e1d50d6b4364736f6c63430008160033