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 (0x9e252f00 > var0) {
if (0x5bd717a4 > var0) {
if (var0 == 0x10d1e85c) {
// Dispatch table entry for uniswapV2Call(address,uint256,uint256,bytes)
var var1 = 0x0184;
var var2 = 0x04;
var var3 = msg.data.length - var2;
if (var3 < 0x80) { revert(memory[0x00:0x00]); }
var temp0 = var2;
var2 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01;
var temp1 = var3;
var3 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
var var4 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20];
var var6 = temp0;
var var5 = var6 + temp1;
var var7 = var6 + 0x80;
var var8 = msg.data[var6 + 0x60:var6 + 0x60 + 0x20];
if (var8 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp2 = var6 + var8;
var8 = temp2;
if (var8 + 0x20 > var5) { revert(memory[0x00:0x00]); }
var temp3 = var8;
var temp4 = msg.data[temp3:temp3 + 0x20];
var8 = temp4;
var var9 = var7;
var7 = temp3 + 0x20;
if ((var8 > 0x01 << 0x20) | (var7 + var8 > var5)) { revert(memory[0x00:0x00]); }
var5 = var7;
var6 = var8;
var7 = 0x00;
var8 = var7;
var9 = 0x60;
var var10 = var9;
var var11 = 0x60;
var var12 = var5;
var var13 = var6;
if (var13 < 0xa0) { revert(memory[0x00:0x00]); }
var temp5 = var12;
var12 = msg.data[temp5:temp5 + 0x20];
var temp6 = var13;
var13 = !!msg.data[temp5 + 0x20:temp5 + 0x20 + 0x20];
var var15 = temp5;
var var14 = var15 + temp6;
var var16 = var15 + 0x60;
var var17 = msg.data[var15 + 0x40:var15 + 0x40 + 0x20];
if (var17 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp7 = var15 + var17;
var17 = temp7;
if (var17 + 0x20 > var14) { revert(memory[0x00:0x00]); }
var temp8 = var17;
var temp9 = msg.data[temp8:temp8 + 0x20];
var17 = temp9;
var var18 = var16;
var16 = temp8 + 0x20;
if ((var17 > 0x01 << 0x20) | (var16 + var17 * 0x20 > var14)) { revert(memory[0x00:0x00]); }
var temp10 = var18;
var temp11 = var17;
var temp12 = memory[0x40:0x60];
memory[0x40:0x60] = temp12 + temp11 * 0x20 + 0x20;
memory[temp12:temp12 + 0x20] = temp11;
var temp13 = temp12 + 0x20;
var temp14 = temp11 * 0x20;
memory[temp13:temp13 + temp14] = msg.data[var16:var16 + temp14];
memory[temp13 + temp14:temp13 + temp14 + 0x20] = 0x00;
var temp15 = var14;
var14 = temp12;
var temp16 = var15;
var15 = temp15;
var16 = temp16;
var17 = temp10 + 0x20;
var18 = msg.data[temp10:temp10 + 0x20];
if (var18 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp17 = var16 + var18;
var18 = temp17;
if (var18 + 0x20 > var15) { revert(memory[0x00:0x00]); }
var temp18 = var18;
var temp19 = msg.data[temp18:temp18 + 0x20];
var18 = temp19;
var temp20 = var17;
var17 = temp18 + 0x20;
var var19 = temp20;
if ((var18 > 0x01 << 0x20) | (var17 + var18 * 0x20 > var15)) { revert(memory[0x00:0x00]); }
var temp21 = var19;
var temp22 = var18;
var temp23 = memory[0x40:0x60];
memory[0x40:0x60] = temp23 + temp22 * 0x20 + 0x20;
memory[temp23:temp23 + 0x20] = temp22;
var temp24 = temp23 + 0x20;
var temp25 = temp22 * 0x20;
memory[temp24:temp24 + temp25] = msg.data[var17:var17 + temp25];
memory[temp24 + temp25:temp24 + temp25 + 0x20] = 0x00;
var temp26 = var15;
var15 = temp23;
var temp27 = var16;
var16 = temp26;
var17 = temp27;
var18 = temp21 + 0x20;
var19 = msg.data[temp21:temp21 + 0x20];
if (var19 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp28 = var17 + var19;
var19 = temp28;
if (var19 + 0x20 > var16) { revert(memory[0x00:0x00]); }
var temp29 = var19;
var temp30 = msg.data[temp29:temp29 + 0x20];
var19 = temp30;
var var20 = var18;
var18 = temp29 + 0x20;
if ((var19 > 0x01 << 0x20) | (var18 + var19 * 0x20 > var16)) { revert(memory[0x00:0x00]); }
var temp31 = var19;
var temp32 = memory[0x40:0x60];
memory[0x40:0x60] = temp32 + temp31 * 0x20 + 0x20;
memory[temp32:temp32 + 0x20] = temp31;
var temp33 = temp32 + 0x20;
var temp34 = temp31 * 0x20;
memory[temp33:temp33 + temp34] = msg.data[var18:var18 + temp34];
memory[temp33 + temp34:temp33 + temp34 + 0x20] = 0x00;
var7 = var12;
var8 = var13;
var9 = var14;
var10 = var15;
var11 = temp32;
if (!var8) {
var12 = 0x0af9;
var13 = var7;
var14 = var9;
var15 = var10;
var16 = var11;
var17 = memory[var14:var14 + 0x20] - 0x01;
var18 = 0x00;
var19 = var15;
var20 = 0x00;
if (var20 >= memory[var19:var19 + 0x20]) { assert(); }
if (memory[var20 * 0x20 + 0x20 + var19:var20 * 0x20 + 0x20 + var19 + 0x20]) {
var19 = var14;
var20 = 0x00;
if (var20 >= memory[var19:var19 + 0x20]) { assert(); }
var temp35 = memory[var20 * 0x20 + 0x20 + var19:var20 * 0x20 + 0x20 + var19 + 0x20] & (0x01 << 0xa0) - 0x01;
var19 = temp35;
var20 = 0x0dfe1681;
var temp36 = memory[0x40:0x60];
memory[temp36:temp36 + 0x20] = (var20 & 0xffffffff) << 0xe0;
var var21 = temp36 + 0x04;
var var22 = 0x20;
var var23 = memory[0x40:0x60];
var var24 = var21 - var23;
var var25 = var23;
var var26 = var19;
var var27 = !address(var26).code.length;
if (var27) { revert(memory[0x00:0x00]); }
var temp37;
temp37, memory[var23:var23 + var22] = address(var26).staticcall.gas(msg.gas)(memory[var25:var25 + var24]);
var22 = !temp37;
if (!var22) {
var19 = memory[0x40:0x60];
var20 = returndata.length;
if (var20 < 0x20) { revert(memory[0x00:0x00]); }
var19 = memory[var19:var19 + 0x20];
label_1AB4:
var18 = var19;
var19 = var18 & (0x01 << 0xa0) - 0x01;
var20 = 0xa9059cbb;
var21 = var14;
var22 = 0x01;
if (var22 >= memory[var21:var21 + 0x20]) { assert(); }
var21 = memory[var22 * 0x20 + 0x20 + var21:var22 * 0x20 + 0x20 + var21 + 0x20];
var22 = var18 & (0x01 << 0xa0) - 0x01;
var23 = 0x70a08231;
var temp38 = memory[0x40:0x60];
memory[temp38:temp38 + 0x20] = (var23 & 0xffffffff) << 0xe0;
var temp39 = temp38 + 0x04;
memory[temp39:temp39 + 0x20] = address(this);
var24 = temp39 + 0x20;
var25 = 0x20;
var26 = memory[0x40:0x60];
var27 = var24 - var26;
var var28 = var26;
var var29 = var22;
var var30 = !address(var29).code.length;
if (var30) { revert(memory[0x00:0x00]); }
var temp40;
temp40, memory[var26:var26 + var25] = address(var29).staticcall.gas(msg.gas)(memory[var28:var28 + var27]);
var25 = !temp40;
if (!var25) {
var22 = memory[0x40:0x60];
var23 = returndata.length;
if (var23 < 0x20) { revert(memory[0x00:0x00]); }
var temp41 = memory[var22:var22 + 0x20];
var temp42 = memory[0x40:0x60];
memory[temp42:temp42 + 0x20] = (var20 << 0xe0) & ~((0x01 << 0xe0) - 0x01);
memory[temp42 + 0x04:temp42 + 0x04 + 0x20] = var21 & (0x01 << 0xa0) - 0x01;
memory[temp42 + 0x24:temp42 + 0x24 + 0x20] = temp41;
var21 = temp42 + 0x44;
var22 = 0x20;
var23 = memory[0x40:0x60];
var24 = temp42 - var23 + 0x44;
var25 = var23;
var26 = 0x00;
var27 = var19;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp43;
temp43, memory[var23:var23 + var22] = address(var27).call.gas(msg.gas).value(var26)(memory[var25:var25 + var24]);
var22 = !temp43;
if (!var22) {
var19 = memory[0x40:0x60];
var20 = returndata.length;
if (var20 < 0x20) { revert(memory[0x00:0x00]); }
var19 = 0x01;
if (var19 >= var17 + 0x01) {
label_1C3D:
var19 = 0x00;
var20 = var15;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
if (memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20]) {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp44 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp44;
var21 = 0xd21220a7;
var temp45 = memory[0x40:0x60];
memory[temp45:temp45 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp45 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp46;
temp46, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp46;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var20 = memory[var20:var20 + 0x20];
label_1D51:
var temp47 = var20;
var19 = temp47;
var13 = var13 - 0x01;
var20 = 0x1980;
var21 = var19;
var22 = var14;
var23 = 0x00;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
func_18F0(var13, var19, var21, var22, var23);
label_1980:
var20 = 0x0e97;
var21 = var19;
var22 = storage[0x05] & (0x01 << 0xa0) - 0x01;
var23 = var13;
func_2AC9(var21, var22, var23);
// Error: Could not resolve jump destination!
} else {
var temp48 = returndata.length;
memory[0x00:0x00 + temp48] = returndata[0x00:0x00 + temp48];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp49 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp49;
var21 = 0x0dfe1681;
var temp50 = memory[0x40:0x60];
memory[temp50:temp50 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp50 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp51;
temp51, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp51;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var20 = memory[var20:var20 + 0x20];
goto label_1D51;
} else {
var temp52 = returndata.length;
memory[0x00:0x00 + temp52] = returndata[0x00:0x00 + temp52];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
label_1BDE:
var20 = 0x1c35;
var21 = var14;
var22 = var19;
if (var22 >= memory[var21:var21 + 0x20]) { assert(); }
func_1BEC(var14, var15, var16, var17, var19, var21, var22);
var19 = var19 + 0x01;
if (var19 >= var17 + 0x01) { goto label_1C3D; }
else { goto label_1BDE; }
}
} else {
var temp53 = returndata.length;
memory[0x00:0x00 + temp53] = returndata[0x00:0x00 + temp53];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp54 = returndata.length;
memory[0x00:0x00 + temp54] = returndata[0x00:0x00 + temp54];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp55 = returndata.length;
memory[0x00:0x00 + temp55] = returndata[0x00:0x00 + temp55];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var19 = var14;
var20 = 0x00;
if (var20 >= memory[var19:var19 + 0x20]) { assert(); }
var temp56 = memory[var20 * 0x20 + 0x20 + var19:var20 * 0x20 + 0x20 + var19 + 0x20] & (0x01 << 0xa0) - 0x01;
var19 = temp56;
var20 = 0xd21220a7;
var temp57 = memory[0x40:0x60];
memory[temp57:temp57 + 0x20] = (var20 & 0xffffffff) << 0xe0;
var21 = temp57 + 0x04;
var22 = 0x20;
var23 = memory[0x40:0x60];
var24 = var21 - var23;
var25 = var23;
var26 = var19;
var27 = !address(var26).code.length;
if (var27) { revert(memory[0x00:0x00]); }
var temp58;
temp58, memory[var23:var23 + var22] = address(var26).staticcall.gas(msg.gas)(memory[var25:var25 + var24]);
var22 = !temp58;
if (!var22) {
var19 = memory[0x40:0x60];
var20 = returndata.length;
if (var20 < 0x20) { revert(memory[0x00:0x00]); }
var19 = memory[var19:var19 + 0x20];
goto label_1AB4;
} else {
var temp59 = returndata.length;
memory[0x00:0x00 + temp59] = returndata[0x00:0x00 + temp59];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var12 = 0x0ae8;
var13 = var7;
var14 = var9;
var15 = var10;
var16 = var11;
var temp60 = memory[var14:var14 + 0x20];
var temp61 = memory[0x40:0x60];
memory[temp61:temp61 + 0x20] = 0x70a08231 << 0xe0;
memory[temp61 + 0x04:temp61 + 0x04 + 0x20] = address(this);
var17 = temp60 + ~0x00;
var18 = 0x00;
var19 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var20 = 0x70a08231;
var21 = temp61 + 0x24;
var22 = 0x20;
var23 = memory[0x40:0x60];
var24 = temp61 - var23 + 0x24;
var25 = var23;
var26 = var18;
var27 = var19;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp62;
temp62, memory[var23:var23 + var22] = address(var27).call.gas(msg.gas).value(var26)(memory[var25:var25 + var24]);
var22 = !temp62;
if (!var22) {
var19 = memory[0x40:0x60];
var20 = returndata.length;
if (var20 < 0x20) { revert(memory[0x00:0x00]); }
var18 = memory[var19:var19 + 0x20];
if (!var18) {
var19 = 0x00;
var20 = var15;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
if (memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20]) {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp63 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp63;
var21 = 0x0dfe1681;
var temp64 = memory[0x40:0x60];
memory[temp64:temp64 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp64 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp65;
temp65, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp65;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var temp66 = memory[var20:var20 + 0x20];
var19 = temp66;
var20 = 0x1447;
var21 = var19;
var22 = var14;
var23 = 0x01;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
func_13C1(var19, var21, var22, var23);
label_1447:
label_1449:
var19 = 0x01;
if (var19 >= var17 + 0x01) {
label_171C:
var19 = 0x00;
var20 = var15;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
if (memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20]) {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp67 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp67;
var21 = 0xd21220a7;
var temp68 = memory[0x40:0x60];
memory[temp68:temp68 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp68 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp69;
temp69, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp69;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var19 = memory[var20:var20 + 0x20];
var temp70 = (0x01 << 0xa0) - 0x01;
if (storage[0x03] & temp70 != var19 & temp70) {
label_18D9:
var13 = var13 - 0x01;
var20 = 0x1980;
var21 = var19;
var22 = var14;
var23 = 0x00;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
func_18F0(var13, var19, var21, var22, var23);
goto label_1980;
} else {
label_184A:
var20 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var21 = 0xbf376c7a;
var22 = address(this);
var23 = var16;
var24 = var17 + ~0x00;
if (var24 >= memory[var23:var23 + 0x20]) { assert(); }
var temp71 = memory[var24 * 0x20 + 0x20 + var23:var24 * 0x20 + 0x20 + var23 + 0x20];
var temp72 = memory[0x40:0x60];
memory[temp72:temp72 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var temp73 = temp72 + 0x04;
memory[temp73:temp73 + 0x20] = var22 & (0x01 << 0xa0) - 0x01;
var temp74 = temp73 + 0x20;
memory[temp74:temp74 + 0x20] = temp71;
var22 = temp74 + 0x20;
var23 = 0x00;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = 0x00;
var28 = var20;
var29 = !address(var28).code.length;
if (var29) { revert(memory[0x00:0x00]); }
var temp75;
temp75, memory[var24:var24 + var23] = address(var28).call.gas(msg.gas).value(var27)(memory[var26:var26 + var25]);
var23 = !temp75;
if (!var23) { goto label_18D9; }
var temp76 = returndata.length;
memory[0x00:0x00 + temp76] = returndata[0x00:0x00 + temp76];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp77 = returndata.length;
memory[0x00:0x00 + temp77] = returndata[0x00:0x00 + temp77];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp78 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp78;
var21 = 0x0dfe1681;
var temp79 = memory[0x40:0x60];
memory[temp79:temp79 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp79 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp80;
temp80, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp80;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var20 = memory[var20:var20 + 0x20];
var19 = var20;
var temp81 = (0x01 << 0xa0) - 0x01;
if (storage[0x03] & temp81 != var19 & temp81) { goto label_18D9; }
else { goto label_184A; }
} else {
var temp82 = returndata.length;
memory[0x00:0x00 + temp82] = returndata[0x00:0x00 + temp82];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
label_1458:
var20 = 0x00;
var21 = storage[0x01] & (0x01 << 0xa0) - 0x01;
var22 = var14;
var23 = var19;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
var temp83 = memory[var23 * 0x20 + 0x20 + var22:var23 * 0x20 + 0x20 + var22 + 0x20] & (0x01 << 0xa0) - 0x01 == var21;
var20 = temp83;
var21 = var20;
if (!var21) {
label_14A6:
if (!var21) {
label_1596:
var21 = 0x1602;
var22 = var14;
var23 = var19;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
func_15A5(var14, var15, var16, var17, var19, var22, var23);
var21 = var20;
if (!var21) {
label_1620:
if (!var21) {
if (!var21) {
label_1713:
var19 = var19 + 0x01;
if (var19 >= var17 + 0x01) { goto label_171C; }
else { goto label_1458; }
} else {
label_1632:
var temp84 = memory[0x40:0x60];
memory[temp84:temp84 + 0x20] = 0x70a08231 << 0xe0;
memory[temp84 + 0x04:temp84 + 0x04 + 0x20] = address(this);
var21 = 0x00;
var22 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var23 = 0x70a08231;
var24 = temp84 + 0x24;
var25 = 0x20;
var26 = memory[0x40:0x60];
var27 = temp84 - var26 + 0x24;
var28 = var26;
var29 = var21;
var30 = var22;
var var31 = !address(var30).code.length;
if (var31) { revert(memory[0x00:0x00]); }
var temp85;
temp85, memory[var26:var26 + var25] = address(var30).call.gas(msg.gas).value(var29)(memory[var28:var28 + var27]);
var25 = !temp85;
if (!var25) {
var22 = memory[0x40:0x60];
var23 = returndata.length;
if (var23 < 0x20) { revert(memory[0x00:0x00]); }
var temp86 = memory[var22:var22 + 0x20];
var temp87 = memory[0x40:0x60];
memory[temp87:temp87 + 0x20] = 0x6f074d1f << 0xe1;
memory[temp87 + 0x04:temp87 + 0x04 + 0x20] = temp86;
var21 = temp86;
var22 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var23 = 0xde0e9a3e;
var24 = temp87 + 0x24;
var25 = 0x00;
var26 = memory[0x40:0x60];
var27 = temp87 - var26 + 0x24;
var28 = var26;
var29 = var25;
var30 = var22;
var31 = !address(var30).code.length;
if (var31) { revert(memory[0x00:0x00]); }
var temp88;
temp88, memory[var26:var26 + var25] = address(var30).call.gas(msg.gas).value(var29)(memory[var28:var28 + var27]);
var25 = !temp88;
if (!var25) { goto label_1713; }
var temp89 = returndata.length;
memory[0x00:0x00 + temp89] = returndata[0x00:0x00 + temp89];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp90 = returndata.length;
memory[0x00:0x00 + temp90] = returndata[0x00:0x00 + temp90];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else if (var19 == var17) { goto label_1713; }
else { goto label_1632; }
} else {
var21 = var15;
var22 = var19;
if (var22 >= memory[var21:var21 + 0x20]) { assert(); }
var21 = !memory[var22 * 0x20 + 0x20 + var21:var22 * 0x20 + 0x20 + var21 + 0x20];
goto label_1620;
}
} else {
var temp91 = memory[0x40:0x60];
memory[temp91:temp91 + 0x20] = 0x70a08231 << 0xe0;
memory[temp91 + 0x04:temp91 + 0x04 + 0x20] = address(this);
var21 = 0x00;
var22 = storage[0x04] & (0x01 << 0xa0) - 0x01;
var23 = 0x70a08231;
var24 = temp91 + 0x24;
var25 = 0x20;
var26 = memory[0x40:0x60];
var27 = temp91 - var26 + 0x24;
var28 = var26;
var29 = var22;
var30 = !address(var29).code.length;
if (var30) { revert(memory[0x00:0x00]); }
var temp92;
temp92, memory[var26:var26 + var25] = address(var29).staticcall.gas(msg.gas)(memory[var28:var28 + var27]);
var25 = !temp92;
if (!var25) {
var22 = memory[0x40:0x60];
var23 = returndata.length;
if (var23 < 0x20) { revert(memory[0x00:0x00]); }
var temp93 = memory[var22:var22 + 0x20];
var temp94 = memory[0x40:0x60];
memory[temp94:temp94 + 0x20] = 0x5f9bb63d << 0xe1;
memory[temp94 + 0x04:temp94 + 0x04 + 0x20] = address(this);
memory[temp94 + 0x24:temp94 + 0x24 + 0x20] = temp93;
var21 = temp93;
var22 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var23 = 0xbf376c7a;
var24 = temp94 + 0x44;
var25 = 0x00;
var26 = memory[0x40:0x60];
var27 = temp94 - var26 + 0x44;
var28 = var26;
var29 = var25;
var30 = var22;
var31 = !address(var30).code.length;
if (var31) { revert(memory[0x00:0x00]); }
var temp95;
temp95, memory[var26:var26 + var25] = address(var30).call.gas(msg.gas).value(var29)(memory[var28:var28 + var27]);
var25 = !temp95;
if (!var25) { goto label_1596; }
var temp96 = returndata.length;
memory[0x00:0x00 + temp96] = returndata[0x00:0x00 + temp96];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp97 = returndata.length;
memory[0x00:0x00 + temp97] = returndata[0x00:0x00 + temp97];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var21 = var15;
var22 = var19;
if (var22 >= memory[var21:var21 + 0x20]) { assert(); }
var21 = memory[var22 * 0x20 + 0x20 + var21:var22 * 0x20 + 0x20 + var21 + 0x20];
goto label_14A6;
}
}
} else {
var temp98 = returndata.length;
memory[0x00:0x00 + temp98] = returndata[0x00:0x00 + temp98];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var20 = var14;
var21 = 0x00;
if (var21 >= memory[var20:var20 + 0x20]) { assert(); }
var temp99 = memory[var21 * 0x20 + 0x20 + var20:var21 * 0x20 + 0x20 + var20 + 0x20] & (0x01 << 0xa0) - 0x01;
var20 = temp99;
var21 = 0xd21220a7;
var temp100 = memory[0x40:0x60];
memory[temp100:temp100 + 0x20] = (var21 & 0xffffffff) << 0xe0;
var22 = temp100 + 0x04;
var23 = 0x20;
var24 = memory[0x40:0x60];
var25 = var22 - var24;
var26 = var24;
var27 = var20;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp101;
temp101, memory[var24:var24 + var23] = address(var27).staticcall.gas(msg.gas)(memory[var26:var26 + var25]);
var23 = !temp101;
if (!var23) {
var20 = memory[0x40:0x60];
var21 = returndata.length;
if (var21 < 0x20) { revert(memory[0x00:0x00]); }
var20 = memory[var20:var20 + 0x20];
var temp102 = var20;
var19 = temp102;
var20 = 0x1447;
var21 = var19;
var22 = var14;
var23 = 0x01;
if (var23 >= memory[var22:var22 + 0x20]) { assert(); }
func_13C1(var19, var21, var22, var23);
goto label_1447;
} else {
var temp103 = returndata.length;
memory[0x00:0x00 + temp103] = returndata[0x00:0x00 + temp103];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp104 = memory[0x40:0x60];
memory[temp104:temp104 + 0x20] = 0x6f074d1f << 0xe1;
memory[temp104 + 0x04:temp104 + 0x04 + 0x20] = var18;
var19 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var20 = 0xde0e9a3e;
var21 = temp104 + 0x24;
var22 = 0x00;
var23 = memory[0x40:0x60];
var24 = temp104 - var23 + 0x24;
var25 = var23;
var26 = var22;
var27 = var19;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp105;
temp105, memory[var23:var23 + var22] = address(var27).call.gas(msg.gas).value(var26)(memory[var25:var25 + var24]);
var22 = !temp105;
if (!var22) {
var19 = storage[0x04] & (0x01 << 0xa0) - 0x01;
var20 = 0xa9059cbb;
var21 = var14;
var22 = 0x01;
if (var22 >= memory[var21:var21 + 0x20]) { assert(); }
var temp106 = memory[var22 * 0x20 + 0x20 + var21:var22 * 0x20 + 0x20 + var21 + 0x20];
var temp107 = memory[0x40:0x60];
memory[temp107:temp107 + 0x20] = (var20 & 0xffffffff) << 0xe0;
var temp108 = temp107 + 0x04;
memory[temp108:temp108 + 0x20] = temp106 & (0x01 << 0xa0) - 0x01;
var temp109 = temp108 + 0x20;
memory[temp109:temp109 + 0x20] = var18;
var21 = temp109 + 0x20;
var22 = 0x20;
var23 = memory[0x40:0x60];
var24 = var21 - var23;
var25 = var23;
var26 = 0x00;
var27 = var19;
var28 = !address(var27).code.length;
if (var28) { revert(memory[0x00:0x00]); }
var temp110;
temp110, memory[var23:var23 + var22] = address(var27).call.gas(msg.gas).value(var26)(memory[var25:var25 + var24]);
var22 = !temp110;
if (!var22) {
var19 = memory[0x40:0x60];
var20 = returndata.length;
if (var20 >= 0x20) { goto label_1449; }
else { revert(memory[0x00:0x00]); }
} else {
var temp111 = returndata.length;
memory[0x00:0x00 + temp111] = returndata[0x00:0x00 + temp111];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp112 = returndata.length;
memory[0x00:0x00 + temp112] = returndata[0x00:0x00 + temp112];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp113 = returndata.length;
memory[0x00:0x00 + temp113] = returndata[0x00:0x00 + temp113];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else if (var0 == 0x4dede3de) {
// Dispatch table entry for
WBTC()
var1 = 0x018e;
var2 =
WBTC();
label_018E:
var temp114 = memory[0x40:0x60];
memory[temp114:temp114 + 0x20] = var2 & (0x01 << 0xa0) - 0x01;
var temp115 = memory[0x40:0x60];
return memory[temp115:temp115 + temp114 - temp115 + 0x20];
} else if (var0 == 0x57376198) {
// Dispatch table entry for
rescueTokens(address,uint256)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
rescueTokens(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0x5bd717a4) {
// Dispatch table entry for 0x5bd717a4 (unknown)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0xa0) { revert(memory[0x00:0x00]); }
var temp116 = var2;
var2 = msg.data[temp116:temp116 + 0x20];
var4 = temp116;
var3 = var4 + var3;
var5 = var4 + 0x40;
var6 = msg.data[var4 + 0x20:var4 + 0x20 + 0x20];
if (var6 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp117 = var4 + var6;
var6 = temp117;
if (var6 + 0x20 > var3) { revert(memory[0x00:0x00]); }
var temp118 = var6;
var temp119 = msg.data[temp118:temp118 + 0x20];
var6 = temp119;
var temp120 = var5;
var5 = temp118 + 0x20;
var7 = temp120;
if ((var6 > 0x01 << 0x20) | (var5 + var6 * 0x20 > var3)) { revert(memory[0x00:0x00]); }
var temp121 = var7;
var temp122 = var6;
var temp123 = memory[0x40:0x60];
memory[0x40:0x60] = temp123 + temp122 * 0x20 + 0x20;
memory[temp123:temp123 + 0x20] = temp122;
var temp124 = temp123 + 0x20;
var temp125 = temp122 * 0x20;
memory[temp124:temp124 + temp125] = msg.data[var5:var5 + temp125];
memory[temp124 + temp125:temp124 + temp125 + 0x20] = 0x00;
var temp126 = var3;
var3 = temp123;
var temp127 = var4;
var4 = temp126;
var5 = temp127;
var6 = temp121 + 0x20;
var7 = msg.data[temp121:temp121 + 0x20];
if (var7 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp128 = var5 + var7;
var7 = temp128;
if (var7 + 0x20 > var4) { revert(memory[0x00:0x00]); }
var temp129 = var7;
var temp130 = msg.data[temp129:temp129 + 0x20];
var7 = temp130;
var temp131 = var6;
var6 = temp129 + 0x20;
var8 = temp131;
if ((var7 > 0x01 << 0x20) | (var6 + var7 * 0x20 > var4)) { revert(memory[0x00:0x00]); }
var temp132 = var8;
var temp133 = var7;
var temp134 = memory[0x40:0x60];
memory[0x40:0x60] = temp134 + temp133 * 0x20 + 0x20;
memory[temp134:temp134 + 0x20] = temp133;
var temp135 = temp134 + 0x20;
var temp136 = temp133 * 0x20;
memory[temp135:temp135 + temp136] = msg.data[var6:var6 + temp136];
memory[temp135 + temp136:temp135 + temp136 + 0x20] = 0x00;
var temp137 = var4;
var4 = temp134;
var temp138 = var5;
var5 = temp137;
var6 = temp138;
var7 = temp132 + 0x20;
var8 = msg.data[temp132:temp132 + 0x20];
if (var8 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp139 = var6 + var8;
var8 = temp139;
if (var8 + 0x20 > var5) { revert(memory[0x00:0x00]); }
var temp140 = var8;
var temp141 = msg.data[temp140:temp140 + 0x20];
var8 = temp141;
var temp142 = var7;
var7 = temp140 + 0x20;
var9 = temp142;
if ((var8 > 0x01 << 0x20) | (var7 + var8 * 0x20 > var5)) { revert(memory[0x00:0x00]); }
var temp143 = var8;
var temp144 = memory[0x40:0x60];
memory[0x40:0x60] = temp144 + temp143 * 0x20 + 0x20;
memory[temp144:temp144 + 0x20] = temp143;
var temp145 = temp144 + 0x20;
var temp146 = temp143 * 0x20;
memory[temp145:temp145 + temp146] = msg.data[var7:var7 + temp146];
memory[temp145 + temp146:temp145 + temp146 + 0x20] = 0x00;
var5 = temp144;
var6 = !!msg.data[var9:var9 + 0x20];
var temp147 = memory[0x40:0x60];
var8 = temp147;
memory[var8:var8 + 0x20] = 0x02;
var7 = 0x60;
memory[0x40:0x60] = var7 + var8;
var temp148 = var8 + 0x20;
memory[temp148:temp148 + 0x20] = 0x60;
var9 = 0x02 - 0x01;
var10 = temp148 + 0x20;
if (!var9) { goto label_0C23; }
label_0C10:
var temp149 = var10;
memory[temp149:temp149 + 0x20] = 0x60;
var10 = temp149 + 0x20;
var9 = var9 - 0x01;
if (var9) { goto label_0C10; }
label_0C23:
var7 = var8;
var8 = 0x0c30;
var9 = var3;
var8, var9 =
func_1D6E(var9);
var10 = var7;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
var10 = var11 * 0x20 + 0x20 + var10;
var11 = var7;
var12 = 0x01;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20] = var9;
memory[var10:var10 + 0x20] = var8;
var8 = 0x60;
var9 = 0x0c6e;
var10 = var2;
var11 = var4;
var12 = var5;
var13 = var7;
var9 =
func_1EDB(var10, var11, var12, var13);
var8 = var9;
var9 = 0x00;
var10 = var5;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
if (memory[var11 * 0x20 + 0x20 + var10:var11 * 0x20 + 0x20 + var10 + 0x20]) {
var10 = 0x0d25;
var11 = var2;
var12 = var7;
var13 = 0x01;
if (var13 >= memory[var12:var12 + 0x20]) { assert(); }
var10 =
func_0CFC(var7, var11, var12, var13);
label_0D25:
var temp150 = var10;
var9 = temp150;
var10 = 0x0d78;
var11 = var2;
var12 = 0x0d6f;
var13 = var9;
var temp151 = memory[0x40:0x60];
var14 = temp151;
memory[0x40:0x60] = var14 + 0x60;
memory[var14:var14 + 0x20] = 0x3b;
memory[var14 + 0x20:var14 + 0x20 + 0x3b] = code[0x313f:0x317a];
var temp152 = var8;
var15 = temp152;
var16 = memory[var15:var15 + 0x20] - 0x02;
if (var16 >= memory[var15:var15 + 0x20]) { assert(); }
var12 =
func_0D58(var13, var14, var15, var16);
func_0D6F(var3, var5, var6, var8, var11, var12);
// Error: Could not resolve jump destination!
} else {
var10 = 0x0ce6;
var11 = var2;
var12 = var7;
var13 = 0x00;
if (var13 >= memory[var12:var12 + 0x20]) { assert(); }
var10 =
func_0C9C(var7, var11, var12, var13);
goto label_0D25;
}
} else if (var0 == 0x715018a6) {
// Dispatch table entry for
renounceOwnership()
var1 = 0x0184;
renounceOwnership();
stop();
} else if (var0 == 0x8da5cb5b) {
// Dispatch table entry for
owner()
var1 = 0x018e;
var1 =
owner();
goto label_018E;
} else if (var0 == 0x8ed36a4f) {
// Dispatch table entry for 0x8ed36a4f (unknown)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x80) { revert(memory[0x00:0x00]); }
func_03AA(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
} else if (0xf2fde38b > var0) {
if (var0 == 0x9e252f00) {
// Dispatch table entry for
rescueETH(uint256)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
rescueETH(var2, var3);
stop();
} else if (var0 == 0xc0c06fef) {
// Dispatch table entry for 0xc0c06fef (unknown)
var1 = 0x06fd;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
var1 =
func_056E(var2, var3);
label_06FD:
var temp153 = memory[0x40:0x60];
memory[temp153:temp153 + 0x20] = var1;
var temp154 = memory[0x40:0x60];
return memory[temp154:temp154 + temp153 - temp154 + 0x20];
} else if (var0 == 0xc90cc44d) {
// Dispatch table entry for 0xc90cc44d (unknown)
var1 = 0x06fd;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
var1 =
func_0725(var2, var3);
goto label_06FD;
} else if (var0 == 0xeb2c7de3) {
// Dispatch table entry for 0xeb2c7de3 (unknown)
var1 = 0x018e;
var2 =
func_0EF0();
goto label_018E;
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0xf2fde38b) {
// Dispatch table entry for
transferOwnership(address)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
transferOwnership(var2, var3);
stop();
} else if (var0 == 0xf3d3d448) {
// Dispatch table entry for
setControllerAddress(address)
var1 = 0x0184;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
setControllerAddress(var2, var3);
stop();
} else if (var0 == 0xf77c4791) {
// Dispatch table entry for
controller()
var1 = 0x018e;
var2 =
controller();
goto label_018E;
} else if (var0 == 0xfd9af456) {
// Dispatch table entry for 0xfd9af456 (unknown)
var1 = 0x0184;
func_1080();
stop();
} else { revert(memory[0x00:0x00]); }
}
function rescueTokens(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
var var0 = 0x0b1c;
var0 =
func_1D6A();
var temp1 = (0x01 << 0xa0) - 0x01;
if (var0 & temp1 == temp1 & storage[0x00]) {
var0 = arg0 & (0x01 << 0xa0) - 0x01;
var var1 = 0xa9059cbb;
var var2 = 0x0b83;
var2 =
owner();
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = (var1 & 0xffffffff) << 0xe0;
var temp3 = temp2 + 0x04;
memory[temp3:temp3 + 0x20] = var2 & (0x01 << 0xa0) - 0x01;
var temp4 = temp3 + 0x20;
memory[temp4:temp4 + 0x20] = arg1;
var2 = temp4 + 0x20;
var var3 = 0x20;
var var4 = memory[0x40:0x60];
var var5 = var2 - var4;
var var6 = var4;
var var7 = 0x00;
var var8 = var0;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp5;
temp5, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp5;
if (!var3) {
var0 = memory[0x40:0x60];
var1 = returndata.length;
if (var1 >= 0x20) { return; }
else { revert(memory[0x00:0x00]); }
} else {
var temp6 = returndata.length;
memory[0x00:0x00 + temp6] = returndata[0x00:0x00 + temp6];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
memory[temp7 + 0x04:temp7 + 0x04 + 0x20] = 0x20;
memory[temp7 + 0x24:temp7 + 0x24 + 0x20] = 0x20;
var temp8 = memory[0x00:0x20];
memory[0x00:0x20] = code[0x311f:0x313f];
var temp9 = memory[0x00:0x20];
memory[0x00:0x20] = temp8;
memory[temp7 + 0x44:temp7 + 0x44 + 0x20] = temp9;
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + temp7 - temp10 + 0x64]);
}
}
function func_03AA(var arg0, var arg1) {
var temp0 = arg0;
var temp1 = temp0 + arg1;
arg1 = temp0;
arg0 = temp1;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp2 = arg1 + var1;
var1 = temp2;
if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); }
var temp3 = var1;
var temp4 = msg.data[temp3:temp3 + 0x20];
var1 = temp4;
var temp5 = var0;
var0 = temp3 + 0x20;
var var2 = temp5;
if ((var1 > 0x01 << 0x20) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp6 = var2;
var temp7 = var1;
var temp8 = memory[0x40:0x60];
memory[0x40:0x60] = temp8 + temp7 * 0x20 + 0x20;
memory[temp8:temp8 + 0x20] = temp7;
var temp9 = temp8 + 0x20;
var temp10 = temp7 * 0x20;
memory[temp9:temp9 + temp10] = msg.data[var0:var0 + temp10];
memory[temp9 + temp10:temp9 + temp10 + 0x20] = 0x00;
var temp11 = arg0;
arg0 = temp8;
var temp12 = arg1;
arg1 = temp11;
var0 = temp12;
var1 = temp6 + 0x20;
var2 = msg.data[temp6:temp6 + 0x20];
if (var2 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp13 = var0 + var2;
var2 = temp13;
if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); }
var temp14 = var2;
var temp15 = msg.data[temp14:temp14 + 0x20];
var2 = temp15;
var var3 = var1;
var1 = temp14 + 0x20;
if ((var2 > 0x01 << 0x20) | (var1 + var2 * 0x20 > arg1)) { revert(memory[0x00:0x00]); }
var temp16 = var3;
var temp17 = var2;
var temp18 = memory[0x40:0x60];
memory[0x40:0x60] = temp18 + temp17 * 0x20 + 0x20;
memory[temp18:temp18 + 0x20] = temp17;
var temp19 = temp18 + 0x20;
var temp20 = temp17 * 0x20;
memory[temp19:temp19 + temp20] = msg.data[var1:var1 + temp20];
memory[temp19 + temp20:temp19 + temp20 + 0x20] = 0x00;
var temp21 = arg1;
arg1 = temp18;
var temp22 = var0;
var0 = temp21;
var1 = temp22;
var2 = temp16 + 0x20;
var3 = msg.data[temp16:temp16 + 0x20];
if (var3 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp23 = var1 + var3;
var3 = temp23;
if (var3 + 0x20 > var0) { revert(memory[0x00:0x00]); }
var temp24 = var3;
var temp25 = msg.data[temp24:temp24 + 0x20];
var3 = temp25;
var temp26 = var2;
var2 = temp24 + 0x20;
var var4 = temp26;
if ((var3 > 0x01 << 0x20) | (var2 + var3 * 0x20 > var0)) { revert(memory[0x00:0x00]); }
var temp27 = var3;
var temp28 = memory[0x40:0x60];
memory[0x40:0x60] = temp28 + temp27 * 0x20 + 0x20;
memory[temp28:temp28 + 0x20] = temp27;
var temp29 = temp28 + 0x20;
var temp30 = temp27 * 0x20;
memory[temp29:temp29 + temp30] = msg.data[var2:var2 + temp30];
memory[temp29 + temp30:temp29 + temp30 + 0x20] = 0x00;
var0 = temp28;
var1 = !!msg.data[var4:var4 + 0x20];
var2 = 0x00;
var3 = 0x60;
var4 = 0x00;
var var5 = 0x0e44;
var var6 = arg0;
var var7 = arg1;
var var8 = var0;
var5, var6, var7 =
func_2620(var6, var7, var8);
var4 = var7;
var3 = var6;
var2 = var5;
if (var4 > 0x00) {
var5 = 0x0e97;
var6 = var2;
var7 = var4;
var8 = var1;
var var9 = arg0;
var var10 = var0;
var var11 = var3;
func_221B(var6, var7, var8, var9, var10, var11);
return;
} else {
var temp31 = memory[0x40:0x60];
memory[temp31:temp31 + 0x20] = 0x461bcd << 0xe5;
var temp32 = temp31 + 0x04;
var temp33 = temp32 + 0x20;
memory[temp32:temp32 + 0x20] = temp33 - temp32;
memory[temp33:temp33 + 0x20] = 0x24;
var temp34 = temp33 + 0x20;
memory[temp34:temp34 + 0x24] = code[0x317a:0x319e];
var temp35 = memory[0x40:0x60];
revert(memory[temp35:temp35 + (temp34 + 0x40) - temp35]);
}
}
function rescueETH(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20];
arg1 = 0x0ebe;
var var0 = 0xd5b47b80668840e7164c1d1d81af8a9d9727b421;
var var1 = arg0;
func_2A8E(var0, var1);
}
function func_056E(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
var temp1 = temp0 + arg1;
arg1 = temp0;
arg0 = temp1;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp2 = arg1 + var1;
var1 = temp2;
if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); }
var temp3 = var1;
var temp4 = msg.data[temp3:temp3 + 0x20];
var1 = temp4;
var temp5 = var0;
var0 = temp3 + 0x20;
var var2 = temp5;
if ((var1 > 0x01 << 0x20) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp6 = var2;
var temp7 = var1;
var temp8 = memory[0x40:0x60];
memory[0x40:0x60] = temp8 + temp7 * 0x20 + 0x20;
memory[temp8:temp8 + 0x20] = temp7;
var temp9 = temp8 + 0x20;
var temp10 = temp7 * 0x20;
memory[temp9:temp9 + temp10] = msg.data[var0:var0 + temp10];
memory[temp9 + temp10:temp9 + temp10 + 0x20] = 0x00;
var temp11 = arg0;
arg0 = temp8;
var temp12 = arg1;
arg1 = temp11;
var0 = temp12;
var1 = temp6 + 0x20;
var2 = msg.data[temp6:temp6 + 0x20];
if (var2 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp13 = var0 + var2;
var2 = temp13;
if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); }
var temp14 = var2;
var temp15 = msg.data[temp14:temp14 + 0x20];
var2 = temp15;
var var3 = var1;
var1 = temp14 + 0x20;
if ((var2 > 0x01 << 0x20) | (var1 + var2 * 0x20 > arg1)) { revert(memory[0x00:0x00]); }
var temp16 = var3;
var temp17 = var2;
var temp18 = memory[0x40:0x60];
memory[0x40:0x60] = temp18 + temp17 * 0x20 + 0x20;
memory[temp18:temp18 + 0x20] = temp17;
var temp19 = temp18 + 0x20;
var temp20 = temp17 * 0x20;
memory[temp19:temp19 + temp20] = msg.data[var1:var1 + temp20];
memory[temp19 + temp20:temp19 + temp20 + 0x20] = 0x00;
var temp21 = arg1;
arg1 = temp18;
var temp22 = var0;
var0 = temp21;
var1 = temp22;
var2 = temp16 + 0x20;
var3 = msg.data[temp16:temp16 + 0x20];
if (var3 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp23 = var1 + var3;
var3 = temp23;
if (var3 + 0x20 > var0) { revert(memory[0x00:0x00]); }
var temp24 = var3;
var temp25 = msg.data[temp24:temp24 + 0x20];
var3 = temp25;
var temp26 = var2;
var2 = temp24 + 0x20;
var var4 = temp26;
if ((var3 > 0x01 << 0x20) | (var2 + var3 * 0x20 > var0)) { revert(memory[0x00:0x00]); }
var temp27 = var3;
var temp28 = memory[0x40:0x60];
memory[0x40:0x60] = temp28 + temp27 * 0x20 + 0x20;
memory[temp28:temp28 + 0x20] = temp27;
var temp29 = temp28 + 0x20;
var temp30 = temp27 * 0x20;
memory[temp29:temp29 + temp30] = msg.data[var2:var2 + temp30];
memory[temp29 + temp30:temp29 + temp30 + 0x20] = 0x00;
var0 = temp28;
var1 = 0x00;
var2 = 0x0ece;
var3 = arg0;
var4 = arg1;
var var5 = var0;
var2, var3, var4 =
func_2620(var3, var4, var5);
return var2;
}
function func_0725(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = temp0 + arg1;
arg1 = temp0;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp1 = arg1 + var1;
var1 = temp1;
if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); }
var temp2 = var1;
var temp3 = msg.data[temp2:temp2 + 0x20];
var1 = temp3;
var var2 = var0;
var0 = temp2 + 0x20;
if ((var1 > 0x01 << 0x20) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp4 = var2;
var temp5 = var1;
var temp6 = memory[0x40:0x60];
memory[0x40:0x60] = temp6 + temp5 * 0x20 + 0x20;
memory[temp6:temp6 + 0x20] = temp5;
var temp7 = temp6 + 0x20;
var temp8 = temp5 * 0x20;
memory[temp7:temp7 + temp8] = msg.data[var0:var0 + temp8];
memory[temp7 + temp8:temp7 + temp8 + 0x20] = 0x00;
var temp9 = arg0;
arg0 = temp6;
var temp10 = arg1;
arg1 = temp9;
var0 = temp10;
var1 = temp4 + 0x20;
var2 = msg.data[temp4:temp4 + 0x20];
if (var2 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp11 = var0 + var2;
var2 = temp11;
if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); }
var temp12 = var2;
var temp13 = msg.data[temp12:temp12 + 0x20];
var2 = temp13;
var var3 = var1;
var1 = temp12 + 0x20;
if ((var2 > 0x01 << 0x20) | (var1 + var2 * 0x20 > arg1)) { revert(memory[0x00:0x00]); }
var temp14 = var3;
var temp15 = var2;
var temp16 = memory[0x40:0x60];
memory[0x40:0x60] = temp16 + temp15 * 0x20 + 0x20;
memory[temp16:temp16 + 0x20] = temp15;
var temp17 = temp16 + 0x20;
var temp18 = temp15 * 0x20;
memory[temp17:temp17 + temp18] = msg.data[var1:var1 + temp18];
memory[temp17 + temp18:temp17 + temp18 + 0x20] = 0x00;
var temp19 = arg1;
arg1 = temp16;
var temp20 = var0;
var0 = temp19;
var1 = temp20;
var2 = temp14 + 0x20;
var3 = msg.data[temp14:temp14 + 0x20];
if (var3 > 0x01 << 0x20) { revert(memory[0x00:0x00]); }
var temp21 = var1 + var3;
var3 = temp21;
if (var3 + 0x20 > var0) { revert(memory[0x00:0x00]); }
var temp22 = var3;
var temp23 = msg.data[temp22:temp22 + 0x20];
var3 = temp23;
var temp24 = var2;
var2 = temp22 + 0x20;
var var4 = temp24;
if ((var3 > 0x01 << 0x20) | (var2 + var3 * 0x20 > var0)) { revert(memory[0x00:0x00]); }
var temp25 = var3;
var temp26 = memory[0x40:0x60];
memory[0x40:0x60] = temp26 + temp25 * 0x20 + 0x20;
memory[temp26:temp26 + 0x20] = temp25;
var temp27 = temp26 + 0x20;
var temp28 = temp25 * 0x20;
memory[temp27:temp27 + temp28] = msg.data[var2:var2 + temp28];
memory[temp27 + temp28:temp27 + temp28 + 0x20] = 0x00;
var0 = temp26;
var1 = 0x00;
var2 = 0x0ee6;
var3 = arg0;
var4 = arg1;
var var5 = var0;
var2, var3, var4 =
func_2620(var3, var4, var5);
return var4;
}
function transferOwnership(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = 0x0f07;
arg1 =
func_1D6A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (arg1 & temp0 != temp0 & storage[0x00]) {
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x461bcd << 0xe5;
memory[temp8 + 0x04:temp8 + 0x04 + 0x20] = 0x20;
memory[temp8 + 0x24:temp8 + 0x24 + 0x20] = 0x20;
var temp9 = memory[0x00:0x20];
memory[0x00:0x20] = code[0x311f:0x313f];
var temp10 = memory[0x00:0x20];
memory[0x00:0x20] = temp9;
memory[temp8 + 0x44:temp8 + 0x44 + 0x20] = temp10;
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + temp8 - temp11 + 0x64]);
} else if (arg0 & (0x01 << 0xa0) - 0x01) {
var temp1 = (0x01 << 0xa0) - 0x01;
var temp2 = arg0;
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]);
storage[0x00] = (temp2 & (0x01 << 0xa0) - 0x01) | (storage[0x00] & ~((0x01 << 0xa0) - 0x01));
return;
} else {
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
var temp4 = temp3 + 0x04;
var temp5 = temp4 + 0x20;
memory[temp4:temp4 + 0x20] = temp5 - temp4;
memory[temp5:temp5 + 0x20] = 0x26;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x26] = code[0x3084:0x30aa];
var temp7 = memory[0x40:0x60];
revert(memory[temp7:temp7 + (temp6 + 0x40) - temp7]);
}
}
function setControllerAddress(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = 0x0fff;
arg1 =
func_1D6A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (arg1 & temp0 == temp0 & storage[0x00]) {
storage[0x05] = (arg0 & (0x01 << 0xa0) - 0x01) | (storage[0x05] & ~((0x01 << 0xa0) - 0x01));
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x20;
var temp2 = memory[0x00:0x20];
memory[0x00:0x20] = code[0x311f:0x313f];
var temp3 = memory[0x00:0x20];
memory[0x00:0x20] = temp2;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = temp3;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + temp1 - temp4 + 0x64]);
}
}
function WBTC() returns (var r0) { return storage[0x02] & (0x01 << 0xa0) - 0x01; }
function func_0C9C(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_0CFC(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_0D58(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = arg0;
arg0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
var temp1 = arg1;
arg1 = temp0;
arg2 = temp1;
r0 =
func_2184(arg0, arg1, arg2);
// Error: Could not resolve method call return address!
}
function func_0D6F(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5) {
var var0 = arg2;
var var1 = arg0;
var var2 = arg1;
var var3 = arg3;
func_221B(arg4, arg5, var0, var1, var2, var3);
// Error: Could not resolve method call return address!
}
function renounceOwnership() {
var var0 = 0x0d8a;
var0 =
func_1D6A();
var temp0 = (0x01 << 0xa0) - 0x01;
if (var0 & temp0 == temp0 & storage[0x00]) {
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, 0x00]);
storage[0x00] = storage[0x00] & ~((0x01 << 0xa0) - 0x01);
return;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x20;
var temp2 = memory[0x00:0x20];
memory[0x00:0x20] = code[0x311f:0x313f];
var temp3 = memory[0x00:0x20];
memory[0x00:0x20] = temp2;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = temp3;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + temp1 - temp4 + 0x64]);
}
}
function owner() returns (var r0) { return storage[0x00] & (0x01 << 0xa0) - 0x01; }
function func_0EF0() returns (var r0) { return storage[0x01] & (0x01 << 0xa0) - 0x01; }
function controller() returns (var r0) { return storage[0x05] & (0x01 << 0xa0) - 0x01; }
function func_1080() {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x095ea7b3 << 0xe0;
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = temp1 & storage[0x03];
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = ~0x00;
var var0 = storage[0x04] & temp1;
var var1 = 0x095ea7b3;
var var2 = temp0 + 0x44;
var var3 = 0x20;
var var4 = memory[0x40:0x60];
var var5 = temp0 - var4 + 0x44;
var var6 = var4;
var var7 = 0x00;
var var8 = var0;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp2;
temp2, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp2;
if (!var3) {
var0 = memory[0x40:0x60];
var1 = returndata.length;
if (var1 >= 0x20) { return; }
else { revert(memory[0x00:0x00]); }
} else {
var temp3 = returndata.length;
memory[0x00:0x00 + temp3] = returndata[0x00:0x00 + temp3];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_13C1(var arg0, var arg1, var arg2, var arg3) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0 & (0x01 << 0xa0) - 0x01;
var var0 = 0x70a08231;
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = (var0 & 0xffffffff) << 0xe0;
var temp1 = temp0 + 0x04;
memory[temp1:temp1 + 0x20] = address(this);
var var1 = temp1 + 0x20;
var var2 = 0x20;
var var3 = memory[0x40:0x60];
var var4 = var1 - var3;
var var5 = var3;
var var6 = arg3;
var var7 = !address(var6).code.length;
if (var7) { revert(memory[0x00:0x00]); }
var temp2;
temp2, memory[var3:var3 + var2] = address(var6).staticcall.gas(msg.gas)(memory[var5:var5 + var4]);
var2 = !temp2;
if (!var2) {
arg3 = memory[0x40:0x60];
var0 = returndata.length;
if (var0 < 0x20) { revert(memory[0x00:0x00]); }
arg3 = memory[arg3:arg3 + 0x20];
func_2AC9(arg1, arg2, arg3);
// Error: Could not resolve method call return address!
} else {
var temp3 = returndata.length;
memory[0x00:0x00 + temp3] = returndata[0x00:0x00 + temp3];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_15A5(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5, var arg6) {
arg5 = memory[arg6 * 0x20 + 0x20 + arg5:arg6 * 0x20 + 0x20 + arg5 + 0x20];
arg6 = arg2;
var var0 = arg4 - 0x01;
if (var0 >= memory[arg6:arg6 + 0x20]) { assert(); }
arg6 = memory[var0 * 0x20 + 0x20 + arg6:var0 * 0x20 + 0x20 + arg6 + 0x20];
var0 = arg1;
var var1 = arg4;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
var0 = memory[var1 * 0x20 + 0x20 + var0:var1 * 0x20 + 0x20 + var0 + 0x20];
if (arg4 == arg3) {
var1 = address(this);
label_2C33:
if (!var0) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x022c0d9f << 0xe0;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x00;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = arg6;
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp1 & var1;
memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = 0x80;
memory[temp0 + 0x84:temp0 + 0x84 + 0x20] = 0x00;
var var2 = arg5 & temp1;
var var3 = 0x022c0d9f;
var var4 = temp0 + 0xc4;
var var5 = 0x00;
var var6 = memory[0x40:0x60];
var var7 = temp0 - var6 + 0xc4;
var var8 = var6;
var var9 = var5;
var var10 = var2;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp2;
temp2, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp2;
if (!var5) { return; }
var temp3 = returndata.length;
memory[0x00:0x00 + temp3] = returndata[0x00:0x00 + temp3];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x022c0d9f << 0xe0;
memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = arg6;
memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = 0x00;
var temp5 = (0x01 << 0xa0) - 0x01;
memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = temp5 & var1;
memory[temp4 + 0x64:temp4 + 0x64 + 0x20] = 0x80;
memory[temp4 + 0x84:temp4 + 0x84 + 0x20] = 0x00;
var2 = arg5 & temp5;
var3 = 0x022c0d9f;
var4 = temp4 + 0xc4;
var5 = 0x00;
var6 = memory[0x40:0x60];
var7 = temp4 - var6 + 0xc4;
var8 = var6;
var9 = var5;
var10 = var2;
var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp6;
temp6, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp6;
if (!var5) { return; }
var temp7 = returndata.length;
memory[0x00:0x00 + temp7] = returndata[0x00:0x00 + temp7];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var1 = arg0;
var2 = arg4 + 0x01;
if (var2 >= memory[var1:var1 + 0x20]) { assert(); }
var1 = memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20];
goto label_2C33;
}
}
function func_18F0(var arg0, var arg1, var arg2, var arg3, var arg4) {
arg3 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg4 = 0x197b;
var var0 = arg0;
var var1 = arg1 & (0x01 << 0xa0) - 0x01;
var var2 = 0x70a08231;
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = (var2 & 0xffffffff) << 0xe0;
var temp1 = temp0 + 0x04;
memory[temp1:temp1 + 0x20] = address(this);
var var3 = temp1 + 0x20;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = var3 - var5;
var var7 = var5;
var var8 = var1;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
arg4 =
func_1949(var0, var1, var2, var3, var4, var5, var6, var7, var8, var9);
func_2AC9(arg2, arg3, arg4);
// Error: Could not resolve method call return address!
}
function func_1949(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5, var arg6, var arg7, var arg8, var arg9) returns (var r0) {
var temp0;
temp0, memory[arg5:arg5 + arg4] = address(arg8).staticcall.gas(msg.gas)(memory[arg7:arg7 + arg6]);
arg4 = !temp0;
if (!arg4) {
arg1 = memory[0x40:0x60];
arg2 = returndata.length;
if (arg2 < 0x20) { revert(memory[0x00:0x00]); }
var temp1 = arg0;
arg0 = memory[arg1:arg1 + 0x20];
arg1 = temp1;
r0 =
func_2D34(arg0, arg1);
// Error: Could not resolve method call return address!
} else {
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_1BEC(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5, var arg6) {
arg5 = memory[arg6 * 0x20 + 0x20 + arg5:arg6 * 0x20 + 0x20 + arg5 + 0x20];
arg6 = arg2;
var var0 = arg4 - 0x01;
if (var0 >= memory[arg6:arg6 + 0x20]) { assert(); }
arg6 = memory[var0 * 0x20 + 0x20 + arg6:var0 * 0x20 + 0x20 + arg6 + 0x20];
var0 = arg1;
var var1 = arg4;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
var0 = memory[var1 * 0x20 + 0x20 + var0:var1 * 0x20 + 0x20 + var0 + 0x20];
if (arg4 == arg3) {
var1 = address(this);
label_2C33:
if (!var0) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x022c0d9f << 0xe0;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x00;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = arg6;
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp1 & var1;
memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = 0x80;
memory[temp0 + 0x84:temp0 + 0x84 + 0x20] = 0x00;
var var2 = arg5 & temp1;
var var3 = 0x022c0d9f;
var var4 = temp0 + 0xc4;
var var5 = 0x00;
var var6 = memory[0x40:0x60];
var var7 = temp0 - var6 + 0xc4;
var var8 = var6;
var var9 = var5;
var var10 = var2;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp2;
temp2, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp2;
if (!var5) { return; }
var temp3 = returndata.length;
memory[0x00:0x00 + temp3] = returndata[0x00:0x00 + temp3];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x022c0d9f << 0xe0;
memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = arg6;
memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = 0x00;
var temp5 = (0x01 << 0xa0) - 0x01;
memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = temp5 & var1;
memory[temp4 + 0x64:temp4 + 0x64 + 0x20] = 0x80;
memory[temp4 + 0x84:temp4 + 0x84 + 0x20] = 0x00;
var2 = arg5 & temp5;
var3 = 0x022c0d9f;
var4 = temp4 + 0xc4;
var5 = 0x00;
var6 = memory[0x40:0x60];
var7 = temp4 - var6 + 0xc4;
var8 = var6;
var9 = var5;
var10 = var2;
var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp6;
temp6, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp6;
if (!var5) { return; }
var temp7 = returndata.length;
memory[0x00:0x00 + temp7] = returndata[0x00:0x00 + temp7];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var1 = arg0;
var2 = arg4 + 0x01;
if (var2 >= memory[var1:var1 + 0x20]) { assert(); }
var1 = memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20];
goto label_2C33;
}
}
function func_1D6A() returns (var r0) { return msg.sender; }
function func_1D6E(var arg0) returns (var r0, var arg0) {
var var0 = 0x60;
var var1 = var0;
var var2 = memory[arg0:arg0 + 0x20];
var var3 = var2 > 0xffffffffffffffff;
if (var3) { revert(memory[0x00:0x00]); }
var temp0 = memory[0x40:0x60];
var temp1 = var2;
var2 = temp0;
var3 = temp1;
memory[var2:var2 + 0x20] = var3;
memory[0x40:0x60] = var2 + var3 * 0x20 + 0x20;
if (!var3) {
var0 = var2;
var2 = memory[arg0:arg0 + 0x20];
var3 = var2 > 0xffffffffffffffff;
if (var3) { revert(memory[0x00:0x00]); }
label_1DCE:
var temp2 = memory[0x40:0x60];
var temp3 = var2;
var3 = temp3;
var2 = temp2;
memory[var2:var2 + 0x20] = var3;
memory[0x40:0x60] = var2 + var3 * 0x20 + 0x20;
if (!var3) {
var1 = var2;
var2 = 0x00;
if (var2 >= memory[arg0:arg0 + 0x20]) {
label_1ED5:
arg0 = var1;
r0 = var0;
return r0, arg0;
} else {
label_1E08:
var3 = arg0;
var var4 = var2;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
var temp4 = memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20] & (0x01 << 0xa0) - 0x01;
var3 = temp4;
var4 = 0x0902f1ac;
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = (var4 & 0xffffffff) << 0xe0;
var var5 = temp5 + 0x04;
var var6 = 0x60;
var var7 = memory[0x40:0x60];
var var8 = var5 - var7;
var var9 = var7;
var var10 = var3;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp6;
temp6, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]);
var6 = !temp6;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x60) { revert(memory[0x00:0x00]); }
var temp7 = var3;
var3 = memory[temp7:temp7 + 0x20] & 0xffffffffffffffffffffffffffff;
var4 = memory[temp7 + 0x20:temp7 + 0x20 + 0x20] & 0xffffffffffffffffffffffffffff;
var5 = var0;
var6 = var2;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
var5 = var6 * 0x20 + 0x20 + var5;
var6 = var1;
var7 = var2;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
memory[var7 * 0x20 + var6 + 0x20:var7 * 0x20 + var6 + 0x20 + 0x20] = var4;
memory[var5:var5 + 0x20] = var3;
var2 = var2 + 0x01;
if (var2 >= memory[arg0:arg0 + 0x20]) { goto label_1ED5; }
else { goto label_1E08; }
} else {
var temp8 = returndata.length;
memory[0x00:0x00 + temp8] = returndata[0x00:0x00 + temp8];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp9 = var3 * 0x20;
memory[var2 + 0x20:var2 + 0x20 + temp9] = msg.data[msg.data.length:msg.data.length + temp9];
var1 = var2;
var2 = 0x00;
if (var2 >= memory[arg0:arg0 + 0x20]) { goto label_1ED5; }
else { goto label_1E08; }
}
} else {
var temp10 = var3 * 0x20;
memory[var2 + 0x20:var2 + 0x20 + temp10] = msg.data[msg.data.length:msg.data.length + temp10];
var0 = var2;
var2 = memory[arg0:arg0 + 0x20];
var3 = var2 > 0xffffffffffffffff;
if (!var3) { goto label_1DCE; }
else { revert(memory[0x00:0x00]); }
}
}
function func_1EDB(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var var0 = 0x60;
var var1 = memory[arg2:arg2 + 0x20];
var var2 = var1 > 0xffffffffffffffff;
if (var2) { revert(memory[0x00:0x00]); }
var temp0 = memory[0x40:0x60];
var temp1 = var1;
var1 = temp0;
var2 = temp1;
memory[var1:var1 + 0x20] = var2;
memory[0x40:0x60] = var1 + var2 * 0x20 + 0x20;
if (!var2) {
var0 = var1;
var1 = 0x01;
if (var1 >= memory[arg2:arg2 + 0x20]) {
label_20AE:
return var0;
} else {
label_1F2F:
var2 = 0x00;
var var3 = arg1;
var var4 = var1;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
if (memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20] <= var2) {
var2 = arg2;
var3 = var1;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
if (!memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20]) {
var2 = 0x2088;
var3 = arg0;
var4 = arg3;
var var5 = 0x00;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var2 =
func_201D(arg3, var1, var3, var4, var5);
arg0 = var2;
var2 = arg0;
var3 = var0;
var4 = var1 - 0x01;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
label_209B:
memory[var4 * 0x20 + var3 + 0x20:var4 * 0x20 + var3 + 0x20 + 0x20] = var2;
var1 = var1 + 0x01;
if (var1 >= memory[arg2:arg2 + 0x20]) { goto label_20AE; }
else { goto label_1F2F; }
} else {
var2 = 0x2045;
var3 = arg0;
var4 = arg3;
var5 = 0x01;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var2 =
func_1FA9(arg3, var1, var3, var4, var5);
label_2045:
arg0 = var2;
label_208B:
var2 = arg0;
var3 = var0;
var4 = var1 - 0x01;
if (var4 < memory[var3:var3 + 0x20]) { goto label_209B; }
else { assert(); }
}
} else {
var2 = arg2;
var3 = var1;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
if (!memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20]) {
var2 = 0x2045;
var3 = 0x2010;
var4 = 0x03e8;
var5 = 0x1f96;
var var6 = arg1;
var var7 = var1;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var5 =
func_1F7B(arg0, var6, var7);
var3 =
func_1F96(var4, var5);
var2 =
func_2010(arg3, var1, var3);
goto label_2045;
} else {
var2 = 0x1ff1;
var3 = 0x1f9c;
var4 = 0x03e8;
var5 = 0x1f96;
var6 = arg1;
var7 = var1;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var5 =
func_1F7B(arg0, var6, var7);
var3 =
func_1F96(var4, var5);
var2 =
func_1F9C(arg3, var1, var3);
arg0 = var2;
goto label_208B;
}
}
}
} else {
var temp2 = var2 * 0x20;
memory[var1 + 0x20:var1 + 0x20 + temp2] = msg.data[msg.data.length:msg.data.length + temp2];
var0 = var1;
var1 = 0x01;
if (var1 >= memory[arg2:arg2 + 0x20]) { goto label_20AE; }
else { goto label_1F2F; }
}
}
function func_1F7B(var arg0, var arg1, var arg2) returns (var r0) {
var temp0 = 0x03e8 - memory[arg2 * 0x20 + 0x20 + arg1:arg2 * 0x20 + 0x20 + arg1 + 0x20];
arg1 = arg0;
arg2 = temp0;
r0 =
func_2D7F(arg1, arg2);
// Error: Could not resolve method call return address!
}
function func_1F96(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = arg1;
arg1 = temp0;
var var0 = 0x00;
var var1 = 0x2d76;
var var2 = arg0;
var var3 = arg1;
var temp1 = memory[0x40:0x60];
var var4 = temp1;
memory[0x40:0x60] = var4 + 0x40;
memory[var4:var4 + 0x20] = 0x1a;
memory[var4 + 0x20:var4 + 0x20 + 0x20] = 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000;
return
func_2FC4(var2, var3, var4);
}
function func_1F9C(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = arg0;
var var1 = 0x01;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
r0 =
func_1FA9(arg0, arg1, arg2, var0, var1);
// Error: Could not resolve method call return address!
}
function func_1FA9(var arg0, var arg1, var arg2, var arg3, var arg4) returns (var r0) {
var temp0 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp0;
arg4 = arg1;
if (arg4 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg4 = arg0;
var var0 = 0x00;
if (var0 >= memory[arg4:arg4 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg4:var0 * 0x20 + 0x20 + arg4 + 0x20];
arg4 = temp1;
var0 = arg1;
if (var0 >= memory[arg4:arg4 + 0x20]) { assert(); }
arg4 = memory[var0 * 0x20 + 0x20 + arg4:var0 * 0x20 + 0x20 + arg4 + 0x20];
var0 = 0x00;
if (arg2 > var0) {
var var1 = arg3 > 0x00;
if (!var1) {
if (var1) {
label_2EA5:
var1 = 0x00;
var var2 = 0x2eb3;
var var3 = arg2;
var var4 = 0x03e5;
var2 =
func_2D7F(var3, var4);
var temp2 = var2;
var1 = temp2;
var2 = 0x00;
var3 = 0x2ec1;
var4 = var1;
var var5 = arg4;
var3 =
func_2D7F(var4, var5);
var2 = var3;
var3 = 0x00;
var4 = 0x2edb;
var5 = var1;
var var6 = 0x2ed5;
var var7 = arg3;
var var8 = 0x03e8;
var6 =
func_2D7F(var7, var8);
var4 =
func_2ED5(var5, var6);
var3 = var4;
var4 = var3;
var5 = var2;
if (var4) { return var5 / var4; }
else { assert(); }
} else {
label_2E6F:
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
var temp4 = temp3 + 0x04;
var temp5 = temp4 + 0x20;
memory[temp4:temp4 + 0x20] = temp5 - temp4;
memory[temp5:temp5 + 0x20] = 0x28;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x28] = code[0x30d6:0x30fe];
var temp7 = memory[0x40:0x60];
revert(memory[temp7:temp7 + (temp6 + 0x40) - temp7]);
}
} else if (arg4 > 0x00) { goto label_2EA5; }
else { goto label_2E6F; }
} else {
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x461bcd << 0xe5;
var temp9 = temp8 + 0x04;
var temp10 = temp9 + 0x20;
memory[temp9:temp9 + 0x20] = temp10 - temp9;
memory[temp10:temp10 + 0x20] = 0x2b;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x2b] = code[0x319e:0x31c9];
var temp12 = memory[0x40:0x60];
revert(memory[temp12:temp12 + (temp11 + 0x40) - temp12]);
}
}
function func_2010(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = arg0;
var var1 = 0x00;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
r0 =
func_201D(arg0, arg1, arg2, var0, var1);
// Error: Could not resolve method call return address!
}
function func_201D(var arg0, var arg1, var arg2, var arg3, var arg4) returns (var r0) {
var temp0 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp0;
arg4 = arg1;
if (arg4 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg4 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg4:arg4 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg4:var0 * 0x20 + 0x20 + arg4 + 0x20];
arg4 = temp1;
var0 = arg1;
if (var0 >= memory[arg4:arg4 + 0x20]) { assert(); }
arg4 = memory[var0 * 0x20 + 0x20 + arg4:var0 * 0x20 + 0x20 + arg4 + 0x20];
var0 = 0x00;
if (arg2 > var0) {
var var1 = arg3 > 0x00;
if (!var1) {
if (var1) {
label_2EA5:
var1 = 0x00;
var var2 = 0x2eb3;
var var3 = arg2;
var var4 = 0x03e5;
var2 =
func_2D7F(var3, var4);
var temp2 = var2;
var1 = temp2;
var2 = 0x00;
var3 = 0x2ec1;
var4 = var1;
var var5 = arg4;
var3 =
func_2D7F(var4, var5);
var2 = var3;
var3 = 0x00;
var4 = 0x2edb;
var5 = var1;
var var6 = 0x2ed5;
var var7 = arg3;
var var8 = 0x03e8;
var6 =
func_2D7F(var7, var8);
var4 =
func_2ED5(var5, var6);
var3 = var4;
var4 = var3;
var5 = var2;
if (var4) { return var5 / var4; }
else { assert(); }
} else {
label_2E6F:
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
var temp4 = temp3 + 0x04;
var temp5 = temp4 + 0x20;
memory[temp4:temp4 + 0x20] = temp5 - temp4;
memory[temp5:temp5 + 0x20] = 0x28;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x28] = code[0x30d6:0x30fe];
var temp7 = memory[0x40:0x60];
revert(memory[temp7:temp7 + (temp6 + 0x40) - temp7]);
}
} else if (arg4 > 0x00) { goto label_2EA5; }
else { goto label_2E6F; }
} else {
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x461bcd << 0xe5;
var temp9 = temp8 + 0x04;
var temp10 = temp9 + 0x20;
memory[temp9:temp9 + 0x20] = temp10 - temp9;
memory[temp10:temp10 + 0x20] = 0x2b;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x2b] = code[0x319e:0x31c9];
var temp12 = memory[0x40:0x60];
revert(memory[temp12:temp12 + (temp11 + 0x40) - temp12]);
}
}
function func_2154(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = arg1;
arg1 = temp0;
r0 =
func_2D7F(arg0, arg1);
// Error: Could not resolve method call return address!
}
function func_2184(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
var var1 = arg2;
if (arg1 <= arg0) { return arg0 - arg1; }
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
var temp1 = temp0 + 0x04;
var var2 = temp1;
var var3 = var2;
var temp2 = var3 + 0x20;
memory[var3:var3 + 0x20] = temp2 - var3;
var temp3 = var1;
memory[temp2:temp2 + 0x20] = memory[temp3:temp3 + 0x20];
var var4 = temp2 + 0x20;
var var6 = memory[temp3:temp3 + 0x20];
var var5 = temp3 + 0x20;
var var7 = var6;
var var8 = var4;
var var9 = var5;
var var10 = 0x00;
if (var10 >= var7) {
label_21D8:
var temp4 = var6;
var4 = temp4 + var4;
var5 = temp4 & 0x1f;
if (!var5) {
var temp5 = memory[0x40:0x60];
revert(memory[temp5:temp5 + var4 - temp5]);
} else {
var temp6 = var5;
var temp7 = var4 - temp6;
memory[temp7:temp7 + 0x20] = ~(0x0100 ** (0x20 - temp6) - 0x01) & memory[temp7:temp7 + 0x20];
var temp8 = memory[0x40:0x60];
revert(memory[temp8:temp8 + (temp7 + 0x20) - temp8]);
}
} else {
label_21C9:
var temp9 = var10;
memory[temp9 + var8:temp9 + var8 + 0x20] = memory[temp9 + var9:temp9 + var9 + 0x20];
var10 = temp9 + 0x20;
if (var10 >= var7) { goto label_21D8; }
else { goto label_21C9; }
}
}
function func_221B(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5) {
var var0 = arg4;
var var1 = 0x00;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
if (!memory[var1 * 0x20 + 0x20 + var0:var1 * 0x20 + 0x20 + var0 + 0x20]) {
var0 = arg3;
var1 = 0x00;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
var0 = memory[var1 * 0x20 + 0x20 + var0:var1 * 0x20 + 0x20 + var0 + 0x20] & (0x01 << 0xa0) - 0x01;
var1 = 0x022c0d9f;
var var2 = 0x00;
var var3 = arg0;
var var4 = address(this);
var var5 = arg1;
var var6 = arg2;
var temp0 = arg3;
var var7 = temp0;
var var8 = arg4;
var var9 = arg5;
var temp1 = memory[0x40:0x60] + 0x20;
var var10 = temp1;
memory[var10:var10 + 0x20] = var5;
var temp2 = var10 + 0x20;
memory[temp2:temp2 + 0x20] = !!var6;
var temp3 = temp2 + 0x20;
var var11 = temp3;
var var12 = var11 + 0x20;
var var13 = var12 + 0x20;
var temp4 = var13 + 0x20;
memory[var11:var11 + 0x20] = temp4 - var10;
memory[temp4:temp4 + 0x20] = memory[var7:var7 + 0x20];
var var14 = temp4 + 0x20;
var var15 = var7 + 0x20;
var var16 = memory[var7:var7 + 0x20] * 0x20;
var var17 = var16;
var var18 = var14;
var var19 = var15;
var var20 = 0x00;
if (var20 >= var17) {
label_24B0:
var temp5 = var16 + var14;
memory[var12:var12 + 0x20] = temp5 - var10;
var temp6 = var8;
memory[temp5:temp5 + 0x20] = memory[temp6:temp6 + 0x20];
var14 = temp5 + 0x20;
var15 = temp6 + 0x20;
var16 = memory[temp6:temp6 + 0x20] * 0x20;
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
if (var20 >= var17) {
label_24EF:
var temp7 = var16 + var14;
memory[var13:var13 + 0x20] = temp7 - var10;
var temp8 = var9;
memory[temp7:temp7 + 0x20] = memory[temp8:temp8 + 0x20];
var14 = temp7 + 0x20;
var15 = temp8 + 0x20;
var16 = memory[temp8:temp8 + 0x20] * 0x20;
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
if (var20 >= var17) {
label_252E:
var temp9 = var16 + var14;
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = temp9 - temp10 - 0x20;
var5 = temp10;
memory[0x40:0x60] = temp9;
var temp11 = memory[0x40:0x60];
memory[temp11:temp11 + 0x20] = (var1 & 0xffffffff) << 0xe0;
var temp12 = temp11 + 0x04;
var6 = temp12;
memory[var6:var6 + 0x20] = var2;
var temp13 = var6 + 0x20;
memory[temp13:temp13 + 0x20] = var3;
var temp14 = temp13 + 0x20;
memory[temp14:temp14 + 0x20] = var4 & (0x01 << 0xa0) - 0x01;
var temp15 = temp14 + 0x20;
var7 = temp15;
var temp16 = var7 + 0x20;
memory[var7:var7 + 0x20] = temp16 - var6;
memory[temp16:temp16 + 0x20] = memory[var5:var5 + 0x20];
var8 = temp16 + 0x20;
var10 = memory[var5:var5 + 0x20];
var9 = var5 + 0x20;
var11 = var10;
var12 = var8;
var13 = var9;
var14 = 0x00;
if (var14 >= var11) {
label_25B5:
var temp17 = var10;
var8 = temp17 + var8;
var9 = temp17 & 0x1f;
if (!var9) {
var2 = var8;
var3 = 0x00;
var4 = memory[0x40:0x60];
var5 = var2 - var4;
var6 = var4;
var7 = 0x00;
var8 = var0;
var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
label_2604:
var temp18;
temp18, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp18;
if (!var3) { return; }
var temp19 = returndata.length;
memory[0x00:0x00 + temp19] = returndata[0x00:0x00 + temp19];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp20 = var9;
var temp21 = var8 - temp20;
memory[temp21:temp21 + 0x20] = ~(0x0100 ** (0x20 - temp20) - 0x01) & memory[temp21:temp21 + 0x20];
var2 = temp21 + 0x20;
var3 = 0x00;
var4 = memory[0x40:0x60];
var5 = var2 - var4;
var6 = var4;
var7 = 0x00;
var8 = var0;
var9 = !address(var8).code.length;
if (!var9) { goto label_2604; }
else { revert(memory[0x00:0x00]); }
}
} else {
label_25A6:
var temp22 = var14;
memory[temp22 + var12:temp22 + var12 + 0x20] = memory[temp22 + var13:temp22 + var13 + 0x20];
var14 = temp22 + 0x20;
if (var14 >= var11) { goto label_25B5; }
else { goto label_25A6; }
}
} else {
label_251F:
var temp23 = var20;
memory[temp23 + var18:temp23 + var18 + 0x20] = memory[temp23 + var19:temp23 + var19 + 0x20];
var20 = temp23 + 0x20;
if (var20 >= var17) { goto label_252E; }
else { goto label_251F; }
}
} else {
label_24E0:
var temp24 = var20;
memory[temp24 + var18:temp24 + var18 + 0x20] = memory[temp24 + var19:temp24 + var19 + 0x20];
var20 = temp24 + 0x20;
if (var20 >= var17) { goto label_24EF; }
else { goto label_24E0; }
}
} else {
label_24A1:
var temp25 = var20;
memory[temp25 + var18:temp25 + var18 + 0x20] = memory[temp25 + var19:temp25 + var19 + 0x20];
var20 = temp25 + 0x20;
if (var20 >= var17) { goto label_24B0; }
else { goto label_24A1; }
}
} else {
var0 = arg3;
var1 = 0x00;
if (var1 >= memory[var0:var0 + 0x20]) { assert(); }
var0 = memory[var1 * 0x20 + 0x20 + var0:var1 * 0x20 + 0x20 + var0 + 0x20] & (0x01 << 0xa0) - 0x01;
var1 = 0x022c0d9f;
var2 = arg0;
var3 = 0x00;
var4 = address(this);
var5 = arg1;
var6 = arg2;
var temp26 = arg3;
var7 = temp26;
var8 = arg4;
var9 = arg5;
var temp27 = memory[0x40:0x60] + 0x20;
var10 = temp27;
memory[var10:var10 + 0x20] = var5;
var temp28 = var10 + 0x20;
memory[temp28:temp28 + 0x20] = !!var6;
var temp29 = temp28 + 0x20;
var11 = temp29;
var12 = var11 + 0x20;
var13 = var12 + 0x20;
var temp30 = var13 + 0x20;
memory[var11:var11 + 0x20] = temp30 - var10;
memory[temp30:temp30 + 0x20] = memory[var7:var7 + 0x20];
var14 = temp30 + 0x20;
var15 = var7 + 0x20;
var16 = memory[var7:var7 + 0x20] * 0x20;
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
if (var20 >= var17) {
label_22BA:
var temp31 = var16 + var14;
memory[var12:var12 + 0x20] = temp31 - var10;
var temp32 = var8;
memory[temp31:temp31 + 0x20] = memory[temp32:temp32 + 0x20];
var14 = temp31 + 0x20;
var15 = temp32 + 0x20;
var16 = memory[temp32:temp32 + 0x20] * 0x20;
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
if (var20 >= var17) {
label_22F9:
var temp33 = var16 + var14;
memory[var13:var13 + 0x20] = temp33 - var10;
var temp34 = var9;
memory[temp33:temp33 + 0x20] = memory[temp34:temp34 + 0x20];
var14 = temp33 + 0x20;
var15 = temp34 + 0x20;
var16 = memory[temp34:temp34 + 0x20] * 0x20;
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
if (var20 >= var17) {
label_2338:
var temp35 = var16 + var14;
var temp36 = memory[0x40:0x60];
memory[temp36:temp36 + 0x20] = temp35 - temp36 - 0x20;
var5 = temp36;
memory[0x40:0x60] = temp35;
var temp37 = memory[0x40:0x60];
memory[temp37:temp37 + 0x20] = (var1 & 0xffffffff) << 0xe0;
var temp38 = temp37 + 0x04;
var6 = temp38;
memory[var6:var6 + 0x20] = var2;
var temp39 = var6 + 0x20;
memory[temp39:temp39 + 0x20] = var3;
var temp40 = temp39 + 0x20;
memory[temp40:temp40 + 0x20] = var4 & (0x01 << 0xa0) - 0x01;
var temp41 = temp40 + 0x20;
var7 = temp41;
var temp42 = var7 + 0x20;
memory[var7:var7 + 0x20] = temp42 - var6;
memory[temp42:temp42 + 0x20] = memory[var5:var5 + 0x20];
var8 = temp42 + 0x20;
var10 = memory[var5:var5 + 0x20];
var9 = var5 + 0x20;
var11 = var10;
var12 = var8;
var13 = var9;
var14 = 0x00;
if (var14 >= var11) {
label_23BF:
var temp43 = var10;
var8 = temp43 + var8;
var9 = temp43 & 0x1f;
if (!var9) {
var2 = var8;
var3 = 0x00;
var4 = memory[0x40:0x60];
var5 = var2 - var4;
var6 = var4;
var7 = 0x00;
var8 = var0;
var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
label_240E:
var temp44;
temp44, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp44;
if (!var3) { return; }
var temp45 = returndata.length;
memory[0x00:0x00 + temp45] = returndata[0x00:0x00 + temp45];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp46 = var9;
var temp47 = var8 - temp46;
memory[temp47:temp47 + 0x20] = ~(0x0100 ** (0x20 - temp46) - 0x01) & memory[temp47:temp47 + 0x20];
var2 = temp47 + 0x20;
var3 = 0x00;
var4 = memory[0x40:0x60];
var5 = var2 - var4;
var6 = var4;
var7 = 0x00;
var8 = var0;
var9 = !address(var8).code.length;
if (!var9) { goto label_240E; }
else { revert(memory[0x00:0x00]); }
}
} else {
label_23B0:
var temp48 = var14;
memory[temp48 + var12:temp48 + var12 + 0x20] = memory[temp48 + var13:temp48 + var13 + 0x20];
var14 = temp48 + 0x20;
if (var14 >= var11) { goto label_23BF; }
else { goto label_23B0; }
}
} else {
label_2329:
var temp49 = var20;
memory[temp49 + var18:temp49 + var18 + 0x20] = memory[temp49 + var19:temp49 + var19 + 0x20];
var20 = temp49 + 0x20;
if (var20 >= var17) { goto label_2338; }
else { goto label_2329; }
}
} else {
label_22EA:
var temp50 = var20;
memory[temp50 + var18:temp50 + var18 + 0x20] = memory[temp50 + var19:temp50 + var19 + 0x20];
var20 = temp50 + 0x20;
if (var20 >= var17) { goto label_22F9; }
else { goto label_22EA; }
}
} else {
label_22AB:
var temp51 = var20;
memory[temp51 + var18:temp51 + var18 + 0x20] = memory[temp51 + var19:temp51 + var19 + 0x20];
var20 = temp51 + 0x20;
if (var20 >= var17) { goto label_22BA; }
else { goto label_22AB; }
}
}
}
function func_2620(var arg0, var arg1, var arg2) returns (var r0, var arg0, var arg1) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x02;
memory[0x40:0x60] = temp0 + 0x60;
var var0 = 0x00;
var var1 = 0x60;
var var2 = var0;
var var3 = var1;
var var4 = temp0;
var temp1 = var4 + 0x20;
memory[temp1:temp1 + 0x20] = 0x60;
var var5 = 0x02 - 0x01;
var var6 = temp1 + 0x20;
if (!var5) { goto label_2652; }
label_263F:
var temp2 = var6;
memory[temp2:temp2 + 0x20] = 0x60;
var5 = var5 - 0x01;
var6 = temp2 + 0x20;
if (var5) { goto label_263F; }
label_2652:
var3 = var4;
var4 = 0x265f;
var5 = arg0;
var4, var5 =
func_1D6E(var5);
var6 = var3;
var var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var6 = var7 * 0x20 + 0x20 + var6;
var7 = var3;
var var8 = 0x01;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] = var5;
memory[var6:var6 + 0x20] = var4;
var4 = 0x00;
var5 = arg2;
var6 = 0x00;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
if (memory[var6 * 0x20 + 0x20 + var5:var6 * 0x20 + 0x20 + var5 + 0x20]) {
var5 = 0x03e8;
var6 = var3;
var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var temp3 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20];
var6 = temp3;
var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var6 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20];
if (!var5) { assert(); }
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x02;
memory[0x40:0x60] = temp4 + 0x60;
var4 = var6 / var5;
memory[temp4 + 0x20:temp4 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var5 = temp4;
var6 = 0x00;
var7 = var5;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
label_274B:
memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] = var6;
var6 = 0x03e8;
var7 = var5;
var8 = 0x01;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] = var6;
if (var0) {
label_2A82:
arg1 = var2;
arg0 = var1;
r0 = var0;
return r0, arg0, arg1;
} else {
label_277A:
var6 = 0x00;
var7 = 0x02;
var8 = var5;
var var9 = 0x00;
if (var9 >= memory[var8:var8 + 0x20]) { assert(); }
var8 = memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20];
var9 = var5;
var var10 = 0x01;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
var8 = memory[var10 * 0x20 + 0x20 + var9:var10 * 0x20 + 0x20 + var9 + 0x20] - var8;
if (!var7) { assert(); }
var7 = var8 / var7;
var8 = var5;
var9 = 0x00;
if (var9 >= memory[var8:var8 + 0x20]) { assert(); }
var6 = memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20] + var7;
if (var6 != 0x00) {
var7 = 0x00;
var8 = arg2;
var9 = 0x00;
if (var9 >= memory[var8:var8 + 0x20]) { assert(); }
if (memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20]) {
var8 = 0x2884;
var9 = var6 * var4;
var10 = var3;
var var11 = 0x01;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
var8 =
func_285B(var3, var9, var10, var11);
label_2884:
var9 = 0x2892;
var10 = var6 * var4;
var11 = arg1;
var var12 = arg2;
var var13 = var3;
var9 =
func_2EF2(var10, var11, var12, var13);
var7 = var9 - var8;
var8 = 0x00;
var9 = arg2;
var10 = 0x00;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
if (memory[var10 * 0x20 + 0x20 + var9:var10 * 0x20 + 0x20 + var9 + 0x20]) {
var9 = 0x2933;
var10 = var6 - 0x01 * var4;
var11 = var3;
var12 = 0x01;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
var9 =
func_290A(var3, var10, var11, var12);
label_2933:
var10 = 0x2944;
var11 = var6 - 0x01 * var4;
var12 = arg1;
var13 = arg2;
var var14 = var3;
var10 =
func_2EF2(var11, var12, var13, var14);
var8 = var10 - var9;
var9 = 0x00;
var10 = arg2;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
if (memory[var11 * 0x20 + 0x20 + var10:var11 * 0x20 + 0x20 + var10 + 0x20]) {
var10 = 0x29e5;
var11 = (var6 + 0x01) * var4;
var12 = var3;
var13 = 0x01;
if (var13 >= memory[var12:var12 + 0x20]) { assert(); }
var10 =
func_29BC(var3, var11, var12, var13);
label_29E5:
var11 = 0x29f6;
var12 = (var6 + 0x01) * var4;
var13 = arg1;
var14 = arg2;
var var15 = var3;
var11 =
func_2EF2(var12, var13, var14, var15);
var9 = var11 - var10;
if (var9 i<= var7) {
label_2A1F:
if (var8 i<= var7) {
label_2A45:
var10 = var7 i> var9;
if (!var10) {
if (!var10) {
label_2A79:
if (var0) { goto label_2A82; }
else { goto label_277A; }
} else {
label_2A59:
var2 = var7;
var temp5 = var4;
var temp6 = var6;
var0 = temp6 * temp5;
var10 = 0x2a6e;
var11 = temp6 * temp5;
var12 = arg1;
var13 = arg2;
var14 = var3;
var10 =
func_1EDB(var11, var12, var13, var14);
var1 = var10;
goto label_2A82;
}
} else if (var7 i<= var8) { goto label_2A79; }
else { goto label_2A59; }
} else {
var10 = var6 - 0x01;
var11 = var5;
var12 = 0x01;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20] = var10;
goto label_2A45;
}
} else {
var10 = var6 + 0x01;
var11 = var5;
var12 = 0x00;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20] = var10;
goto label_2A1F;
}
} else {
var10 = 0x29a1;
var11 = (var6 + 0x01) * var4;
var12 = var3;
var13 = 0x00;
if (var13 >= memory[var12:var12 + 0x20]) { assert(); }
var10 =
func_2978(var3, var11, var12, var13);
goto label_29E5;
}
} else {
var9 = 0x28ef;
var10 = var6 - 0x01 * var4;
var11 = var3;
var12 = 0x00;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
var9 =
func_28C6(var3, var10, var11, var12);
goto label_2933;
}
} else {
var8 = 0x2843;
var9 = var6 * var4;
var10 = var3;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
var8 =
func_281A(var3, var9, var10, var11);
goto label_2884;
}
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x00;
memory[0x40:0x60] = temp7 + 0x20;
var0 = var4 * var6;
var1 = temp7;
goto label_2A82;
}
}
} else {
var5 = 0x03e8;
var6 = var3;
var7 = 0x01;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var temp8 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20];
var6 = temp8;
var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var6 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20];
if (!var5) { assert(); }
var5 = var6 / var5;
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x02;
memory[0x40:0x60] = temp9 + 0x60;
var4 = var5;
memory[temp9 + 0x20:temp9 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var5 = temp9;
var6 = 0x00;
var7 = var5;
var8 = 0x00;
if (var8 < memory[var7:var7 + 0x20]) { goto label_274B; }
else { assert(); }
}
}
function func_281A(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_285B(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_28C6(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_290A(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_2978(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_29BC(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var temp0 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg2 = temp0;
arg3 = 0x00;
if (arg3 >= memory[arg2:arg2 + 0x20]) { assert(); }
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
var temp1 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
arg3 = temp1;
var0 = 0x00;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
if (arg1 > var0) {
var var1 = arg2 > 0x00;
if (!var1) {
if (var1) {
label_2142:
var1 = 0x00;
var var2 = 0x215a;
var var3 = 0x03e8;
var var4 = 0x2154;
var var5 = arg2;
var var6 = arg1;
var4 =
func_2D7F(var5, var6);
var2 =
func_2154(var3, var4);
var1 = var2;
var2 = 0x00;
var3 = 0x216e;
var4 = 0x03e5;
var5 = 0x2154;
var6 = arg3;
var var7 = arg1;
var5 =
func_2D34(var6, var7);
var3 =
func_2154(var4, var5);
var2 = var3;
var3 = var2;
var4 = var1;
if (var3) { return var4 / var3; }
else { assert(); }
} else {
label_210C:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
var temp3 = temp2 + 0x04;
var temp4 = temp3 + 0x20;
memory[temp3:temp3 + 0x20] = temp4 - temp3;
memory[temp4:temp4 + 0x20] = 0x28;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x28] = code[0x30d6:0x30fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
} else if (arg3 > 0x00) { goto label_2142; }
else { goto label_210C; }
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
var temp8 = temp7 + 0x04;
var temp9 = temp8 + 0x20;
memory[temp8:temp8 + 0x20] = temp9 - temp8;
memory[temp9:temp9 + 0x20] = 0x2c;
var temp10 = temp9 + 0x20;
memory[temp10:temp10 + 0x2c] = code[0x30aa:0x30d6];
var temp11 = memory[0x40:0x60];
revert(memory[temp11:temp11 + (temp10 + 0x40) - temp11]);
}
}
function func_2A8E(var arg0, var arg1) {
var temp0 = memory[0x40:0x60];
var temp1 = arg1;
var temp2;
temp2, memory[temp0:temp0 + 0x00] = address(arg0 & (0x01 << 0xa0) - 0x01).call.gas(!temp1 * 0x08fc).value(temp1)(memory[temp0:temp0 + 0x00]);
var var0 = !temp2;
if (!var0) { return; }
var temp3 = returndata.length;
memory[0x00:0x00 + temp3] = returndata[0x00:0x00 + temp3];
revert(memory[0x00:0x00 + returndata.length]);
}
function func_2AC9(var arg0, var arg1, var arg2) {
var temp0 = memory[0x40:0x60];
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = temp1 & arg1;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = arg2;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x44;
memory[0x40:0x60] = temp0 + 0x64;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x20] = (memory[temp3:temp3 + 0x20] & (0x01 << 0xe0) - 0x01) | (0xa9059cbb << 0xe0);
var var0 = 0x00;
var var1 = 0x60;
var var2 = arg0 & temp1;
var var3 = temp2;
var var4 = memory[0x40:0x60];
var var5 = var4;
var var7 = memory[var3:var3 + 0x20];
var var6 = temp3;
var var8 = var7;
var var9 = var5;
var var10 = var6;
if (var8 < 0x20) {
label_2B46:
var temp4 = 0x0100 ** (0x20 - var8) - 0x01;
var temp5 = var9;
memory[temp5:temp5 + 0x20] = (memory[var10:var10 + 0x20] & ~temp4) | (memory[temp5:temp5 + 0x20] & temp4);
var temp6 = memory[0x40:0x60];
var temp7;
temp7, memory[temp6:temp6 + 0x00] = address(var2).call.gas(msg.gas)(memory[temp6:temp6 + (var7 + var5) - temp6]);
var3 = returndata.length;
var4 = var3;
if (var4 == 0x00) {
var1 = 0x60;
var temp8 = var2;
var0 = temp8;
var2 = var0;
if (!var2) {
label_2BDB:
if (var2) { return; }
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x461bcd << 0xe5;
memory[temp9 + 0x04:temp9 + 0x04 + 0x20] = 0x20;
memory[temp9 + 0x24:temp9 + 0x24 + 0x20] = 0x1c;
memory[temp9 + 0x44:temp9 + 0x44 + 0x20] = 0x4641204578656375746f723a205452414e534645525f4641494c454400000000;
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + temp9 - temp10 + 0x64]);
} else {
label_2BBA:
var2 = !memory[var1:var1 + 0x20];
if (var2) { goto label_2BDB; }
var temp11 = var1;
var2 = temp11 + 0x20;
var3 = memory[temp11:temp11 + 0x20];
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 = memory[var2:var2 + 0x20];
goto label_2BDB;
}
} else {
var temp12 = memory[0x40:0x60];
var3 = temp12;
memory[0x40:0x60] = var3 + (returndata.length + 0x3f & ~0x1f);
memory[var3:var3 + 0x20] = returndata.length;
var temp13 = returndata.length;
memory[var3 + 0x20:var3 + 0x20 + temp13] = returndata[0x00:0x00 + temp13];
var1 = var3;
var temp14 = var2;
var0 = temp14;
var2 = var0;
if (!var2) { goto label_2BDB; }
else { goto label_2BBA; }
}
} else {
label_2B30:
var temp15 = var10;
var temp16 = var9;
memory[temp16:temp16 + 0x20] = memory[temp15:temp15 + 0x20];
var8 = var8 + ~0x1f;
var9 = temp16 + 0x20;
var10 = temp15 + 0x20;
if (var8 < 0x20) { goto label_2B46; }
else { goto label_2B30; }
}
}
function func_2D34(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = 0x2d76;
var var2 = arg0;
var var3 = arg1;
var temp0 = memory[0x40:0x60];
var var4 = temp0;
memory[0x40:0x60] = var4 + 0x40;
memory[var4:var4 + 0x20] = 0x1e;
memory[var4 + 0x20:var4 + 0x20 + 0x20] = 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000;
return
func_2184(var2, var3, var4);
}
function func_2D7F(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (!arg0) { return 0x00; }
var var1 = arg1 * arg0;
var var2 = arg1;
var var3 = arg0;
var var4 = var1;
if (!var3) { assert(); }
if (var4 / var3 == var2) { return var1; }
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
var temp1 = temp0 + 0x04;
var temp2 = temp1 + 0x20;
memory[temp1:temp1 + 0x20] = temp2 - temp1;
memory[temp2:temp2 + 0x20] = 0x21;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x21] = code[0x30fe:0x311f];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]);
}
function func_2ED5(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = arg1;
arg1 = temp0;
var var0 = 0x00;
var temp1 = arg0;
var var1 = arg1 + temp1;
if (var1 >= temp1) { return var1; }
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20;
memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x1b;
memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000;
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
function func_2EF2(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var var0 = 0x00;
var var1 = 0x01;
if (var1 >= memory[arg2:arg2 + 0x20]) {
label_2FBA:
return arg0;
} else {
label_2F01:
var var2 = 0x00;
var var3 = arg1;
var var4 = var1;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
if (memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20] <= var2) {
var2 = arg2;
var3 = var1;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
if (!memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20]) {
var2 = 0x2faf;
var3 = arg0;
var4 = arg3;
var var5 = 0x00;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var2 =
func_201D(arg3, var1, var3, var4, var5);
arg0 = var2;
var1 = var1 + 0x01;
label_2EF7:
if (var1 >= memory[arg2:arg2 + 0x20]) { goto label_2FBA; }
else { goto label_2F01; }
} else {
var2 = 0x2f6c;
var3 = arg0;
var4 = arg3;
var5 = 0x01;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var2 =
func_1FA9(arg3, var1, var3, var4, var5);
label_2F6C:
arg0 = var2;
label_2FB2:
var1 = var1 + 0x01;
goto label_2EF7;
}
} else {
var2 = arg2;
var3 = var1;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
if (!memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20]) {
var2 = 0x2f6c;
var3 = 0x2010;
var4 = 0x03e8;
var5 = 0x1f96;
var var6 = arg1;
var var7 = var1;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var5 =
func_1F7B(arg0, var6, var7);
var3 =
func_1F96(var4, var5);
var2 =
func_2010(arg3, var1, var3);
goto label_2F6C;
} else {
var2 = 0x2f4d;
var3 = 0x1f9c;
var4 = 0x03e8;
var5 = 0x1f96;
var6 = arg1;
var7 = var1;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var5 =
func_1F7B(arg0, var6, var7);
var3 =
func_1F96(var4, var5);
var2 =
func_1F9C(arg3, var1, var3);
arg0 = var2;
goto label_2FB2;
}
}
}
}
function func_2FC4(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
var var1 = arg2;
if (arg1) {
var1 = 0x00;
var var2 = arg1;
var var3 = arg0;
if (var2) { return var3 / var2; }
else { assert(); }
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
var temp1 = var1;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = memory[temp1:temp1 + 0x20];
var2 = temp0 + 0x04;
var3 = var2;
var var4 = temp0 + 0x44;
var var5 = temp1 + 0x20;
var var6 = memory[temp1:temp1 + 0x20];
var var7 = var6;
var var8 = var4;
var var9 = var5;
var var10 = 0x00;
if (!var7) {
label_21D8:
var temp2 = var6;
var4 = temp2 + var4;
var5 = temp2 & 0x1f;
if (!var5) {
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + var4 - temp3]);
} else {
var temp4 = var5;
var temp5 = var4 - temp4;
memory[temp5:temp5 + 0x20] = ~(0x0100 ** (0x20 - temp4) - 0x01) & memory[temp5:temp5 + 0x20];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x20) - temp6]);
}
} else {
var temp7 = var10;
memory[temp7 + var8:temp7 + var8 + 0x20] = memory[temp7 + var9:temp7 + var9 + 0x20];
var10 = temp7 + 0x20;
label_21C0:
if (var10 >= var7) { goto label_21D8; }
var temp8 = var10;
memory[temp8 + var8:temp8 + var8 + 0x20] = memory[temp8 + var9:temp8 + var9 + 0x20];
var10 = temp8 + 0x20;
goto label_21C0;
}
}
}
}