contract Contract {
function main() {
memory[0x40:0x60] = 0x60;
if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); }
var var0 = msg.data[0x00:0x20] / 0x0100000000000000000000000000000000000000000000000000000000 & 0xffffffff;
if (var0 == 0x52334d98) {
// Dispatch table entry for 0x52334d98 (unknown)
if (msg.value) { revert(memory[0x00:0x00]); }
var var1 = 0x007b;
var var2 = msg.data[0x04:0x24];
var var3 = msg.data[0x24:0x44];
func_00A4(var2, var3);
stop();
} else if (var0 == 0xe4a3d784) {
// Dispatch table entry for 0xe4a3d784 (unknown)
if (msg.value) { revert(memory[0x00:0x00]); }
var1 = 0x00a2;
var2 = msg.data[0x04:0x24];
func_00B7(var2);
stop();
} else { revert(memory[0x00:0x00]); }
}
function func_00A4(var arg0, var arg1) {
if (arg0 == arg1) { return; }
else { return; }
}
function func_00B7(var arg0) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x00c4;
var3 =
func_01E3();
var var4 = 0x00;
var0 = 0x4854427b31613462323065633137330000000000000000000000000000000000;
var1 = 0x3233663230393039633232343631000000000000000000000000000000000000;
var2 = 0x343330386630397d000000000000000000000000000000000000000000000000;
var var5 = 0x20;
var var6 = memory[0x40:0x60];
if (MSIZE() < var6) {
var temp0 = var6;
var temp1 = var5;
memory[temp0:temp0 + 0x20] = temp1;
memory[0x40:0x60] = temp0 + (temp1 + 0x1f & ~0x1f) + 0x20;
var3 = temp0;
if (var4 >= 0x20) {
label_01DB:
return;
} else {
label_0160:
var5 = arg0;
var6 = var4;
if (var6 >= 0x20) { assert(); }
var5 = byte(var5, var6) * 0x0100000000000000000000000000000000000000000000000000000000000000;
var6 = var3;
var var7 = var4;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
memory[var6 + 0x20 + var7:var6 + 0x20 + var7 + 0x01] = byte(var5 & ~0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, 0x00);
var4 = var4 + 0x01;
if (var4 >= 0x20) { goto label_01DB; }
else { goto label_0160; }
}
} else {
var temp2 = MSIZE();
var temp3 = var5;
memory[temp2:temp2 + 0x20] = temp3;
memory[0x40:0x60] = temp2 + (temp3 + 0x1f & ~0x1f) + 0x20;
var3 = temp2;
if (var4 >= 0x20) { goto label_01DB; }
else { goto label_0160; }
}
}
function func_01E3() returns (var r0) {
var temp0 = memory[0x40:0x60];
memory[0x40:0x60] = temp0 + 0x20;
memory[temp0:temp0 + 0x20] = 0x00;
return temp0;
}
}
label_0000:
0000 60 PUSH1 0x60
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x04
0007 36 CALLDATASIZE
0008 10 LT
0009 61 PUSH2 0x004c
000C 57 *JUMPI
label_000D:
000D 60 PUSH1 0x00
000F 35 CALLDATALOAD
0010 7C PUSH29 0x0100000000000000000000000000000000000000000000000000000000
002E 90 SWAP1
002F 04 DIV
0030 63 PUSH4 0xffffffff
0035 16 AND
0036 80 DUP1
0037 63 PUSH4 0x52334d98
003C 14 EQ
003D 61 PUSH2 0x0051
0040 57 *JUMPI
label_0041:
0041 80 DUP1
0042 63 PUSH4 0xe4a3d784
0047 14 EQ
0048 61 PUSH2 0x007d
004B 57 *JUMPI
label_004C:
004C 5B JUMPDEST
004D 60 PUSH1 0x00
004F 80 DUP1
0050 FD *REVERT
label_0051:
0051 5B JUMPDEST
0052 34 CALLVALUE
0053 15 ISZERO
0054 61 PUSH2 0x005c
0057 57 *JUMPI
label_0058:
0058 60 PUSH1 0x00
005A 80 DUP1
005B FD *REVERT
label_005C:
005C 5B JUMPDEST
005D 61 PUSH2 0x007b
0060 60 PUSH1 0x04
0062 80 DUP1
0063 80 DUP1
0064 35 CALLDATALOAD
0065 90 SWAP1
0066 60 PUSH1 0x20
0068 01 ADD
0069 90 SWAP1
006A 91 SWAP2
006B 90 SWAP1
006C 80 DUP1
006D 35 CALLDATALOAD
006E 90 SWAP1
006F 60 PUSH1 0x20
0071 01 ADD
0072 90 SWAP1
0073 91 SWAP2
0074 90 SWAP1
0075 50 POP
0076 50 POP
0077 61 PUSH2 0x00a4
007A 56 *JUMP
label_007B:
007B 5B JUMPDEST
007C 00 *STOP
label_007D:
007D 5B JUMPDEST
007E 34 CALLVALUE
007F 15 ISZERO
0080 61 PUSH2 0x0088
0083 57 *JUMPI
label_0084:
0084 60 PUSH1 0x00
0086 80 DUP1
0087 FD *REVERT
label_0088:
0088 5B JUMPDEST
0089 61 PUSH2 0x00a2
008C 60 PUSH1 0x04
008E 80 DUP1
008F 80 DUP1
0090 35 CALLDATALOAD
0091 60 PUSH1 0x00
0093 19 NOT
0094 16 AND
0095 90 SWAP1
0096 60 PUSH1 0x20
0098 01 ADD
0099 90 SWAP1
009A 91 SWAP2
009B 90 SWAP1
009C 50 POP
009D 50 POP
009E 61 PUSH2 0x00b7
00A1 56 *JUMP
label_00A2:
00A2 5B JUMPDEST
00A3 00 *STOP
label_00A4:
00A4 5B JUMPDEST
00A5 80 DUP1
00A6 82 DUP3
00A7 14 EQ
00A8 15 ISZERO
00A9 15 ISZERO
00AA 61 PUSH2 0x00b2
00AD 57 *JUMPI
label_00AE:
00AE 61 PUSH2 0x00b3
00B1 56 *JUMP
label_00B2:
00B2 5B JUMPDEST
00B3 5B JUMPDEST
00B4 50 POP
00B5 50 POP
00B6 56 *JUMP
label_00B7:
00B7 5B JUMPDEST
00B8 60 PUSH1 0x00
00BA 80 DUP1
00BB 60 PUSH1 0x00
00BD 61 PUSH2 0x00c4
00C0 61 PUSH2 0x01e3
00C3 56 *JUMP
label_00C4:
00C4 5B JUMPDEST
00C5 60 PUSH1 0x00
00C7 7F PUSH32 0x4854427b31613462323065633137330000000000000000000000000000000000
00E8 94 SWAP5
00E9 50 POP
00EA 7F PUSH32 0x3233663230393039633232343631000000000000000000000000000000000000
010B 93 SWAP4
010C 50 POP
010D 7F PUSH32 0x343330386630397d000000000000000000000000000000000000000000000000
012E 92 SWAP3
012F 50 POP
0130 60 PUSH1 0x20
0132 60 PUSH1 0x40
0134 51 MLOAD
0135 80 DUP1
0136 59 MSIZE
0137 10 LT
0138 61 PUSH2 0x013e
013B 57 *JUMPI
label_013C:
013C 50 POP
013D 59 MSIZE
013E 5B JUMPDEST
013F 90 SWAP1
0140 80 DUP1
0141 82 DUP3
0142 52 MSTORE
0143 80 DUP1
0144 60 PUSH1 0x1f
0146 01 ADD
0147 60 PUSH1 0x1f
0149 19 NOT
014A 16 AND
014B 60 PUSH1 0x20
014D 01 ADD
014E 82 DUP3
014F 01 ADD
0150 60 PUSH1 0x40
0152 52 MSTORE
0153 50 POP
0154 91 SWAP2
0155 50 POP
0156 5B JUMPDEST
0157 60 PUSH1 0x20
0159 81 DUP2
015A 10 LT
015B 15 ISZERO
015C 61 PUSH2 0x01db
015F 57 *JUMPI
label_0160:
0160 85 DUP6
0161 81 DUP2
0162 60 PUSH1 0x20
0164 81 DUP2
0165 10 LT
0166 15 ISZERO
0167 15 ISZERO
0168 61 PUSH2 0x016d
016B 57 *JUMPI
label_016C:
016C FE *ASSERT
label_016D:
016D 5B JUMPDEST
016E 1A BYTE
016F 7F PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
0190 02 MUL
0191 82 DUP3
0192 82 DUP3
0193 81 DUP2
0194 51 MLOAD
0195 81 DUP2
0196 10 LT
0197 15 ISZERO
0198 15 ISZERO
0199 61 PUSH2 0x019e
019C 57 *JUMPI
label_019D:
019D FE *ASSERT
label_019E:
019E 5B JUMPDEST
019F 90 SWAP1
01A0 60 PUSH1 0x20
01A2 01 ADD
01A3 01 ADD
01A4 90 SWAP1
01A5 7E PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
01C5 19 NOT
01C6 16 AND
01C7 90 SWAP1
01C8 81 DUP2
01C9 60 PUSH1 0x00
01CB 1A BYTE
01CC 90 SWAP1
01CD 53 MSTORE8
01CE 50 POP
01CF 80 DUP1
01D0 80 DUP1
01D1 60 PUSH1 0x01
01D3 01 ADD
01D4 91 SWAP2
01D5 50 POP
01D6 50 POP
01D7 61 PUSH2 0x0156
01DA 56 *JUMP
label_01DB:
01DB 5B JUMPDEST
01DC 50 POP
01DD 50 POP
01DE 50 POP
01DF 50 POP
01E0 50 POP
01E1 50 POP
01E2 56 *JUMP
label_01E3:
01E3 5B JUMPDEST
01E4 60 PUSH1 0x20
01E6 60 PUSH1 0x40
01E8 51 MLOAD
01E9 90 SWAP1
01EA 81 DUP2
01EB 01 ADD
01EC 60 PUSH1 0x40
01EE 52 MSTORE
01EF 80 DUP1
01F0 60 PUSH1 0x00
01F2 81 DUP2
01F3 52 MSTORE
01F4 50 POP
01F5 90 SWAP1
01F6 56 *JUMP
01F7 00 *STOP
01F8 A1 LOG1
01F9 65 PUSH6 0x627a7a723058
0200 20 SHA3
0201 F4 DELEGATECALL
0202 FD *REVERT
0203 10 LT
0204 0D 0D
0205 D9 D9
0206 8D DUP14
0207 ED ED
0208 4B 4B
0209 17 OR
020A 77 PUSH24 0xa72fe1edad860729fa6a09c43d26ab004360d0100c3a0029