contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length >= 0x04) {
var var0 = msg.data[0x00:0x20] >> 0xe0;
if (0x8da5cb5b > var0) {
if (0x423f6cef > var0) {
if (var0 == 0x047cf9a6) {
// Dispatch table entry for 0x047cf9a6 (unknown)
var var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var var2 = 0x04;
var var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var temp0 = var2;
var2 = msg.data[temp0:temp0 + 0x20];
var3 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x04;
if (!!(storage[keccak256(memory[0x00:0x40])] & 0xff) == 0x01) {
var var4 = var3;
if (var4 >= block.timestamp) {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x02;
memory[0x40:0x60] = temp1 + 0x60;
memory[temp1 + 0x20:temp1 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var var5 = temp1;
var var6 = storage[0x00] & (0x01 << 0xa0) - 0x01;
var var7 = 0x67ccdf38;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = (var7 & 0xffffffff) << 0xe0;
var temp3 = temp2 + 0x04;
memory[temp3:temp3 + 0x20] = var2 - var3 / 0x02 - storage[0x02];
var var8 = temp3 + 0x20;
var var9 = 0x20;
var var10 = memory[0x40:0x60];
var var11 = var8 - var10;
var var12 = var10;
var var13 = var6;
var var14 = !address(var13).code.length;
if (var14) { revert(memory[0x00:0x00]); }
var temp4;
temp4, memory[var10:var10 + var9] = address(var13).staticcall.gas(msg.gas)(memory[var12:var12 + var11]);
var9 = !temp4;
if (!var9) {
var6 = memory[0x40:0x60];
var7 = returndata.length;
if (var7 < 0x20) { revert(memory[0x00:0x00]); }
var6 = memory[var6:var6 + 0x20];
var7 = var5;
var8 = 0x00;
if (!memory[var7:var7 + 0x20]) { assert(); }
memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] = var6 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var6 = 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var7 = var5;
var8 = 0x01;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] = var6 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var6 = 0x00;
var7 = var5;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
var temp5 = memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] & (0x01 << 0xa0) - 0x01;
var7 = temp5;
var8 = 0x70a08231;
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = (var8 & 0xffffffff) << 0xe0;
var temp7 = temp6 + 0x04;
memory[temp7:temp7 + 0x20] = address(this);
var9 = temp7 + 0x20;
var10 = 0x20;
var11 = memory[0x40:0x60];
var12 = var9 - var11;
var13 = var11;
var14 = var7;
var var15 = !address(var14).code.length;
if (var15) { revert(memory[0x00:0x00]); }
var temp8;
temp8, memory[var11:var11 + var10] = address(var14).staticcall.gas(msg.gas)(memory[var13:var13 + var12]);
var10 = !temp8;
if (!var10) {
var7 = memory[0x40:0x60];
var8 = returndata.length;
if (var8 < 0x20) { revert(memory[0x00:0x00]); }
var6 = memory[var7:var7 + 0x20];
if (var6) {
var7 = 0x00;
var8 = 0x0806;
var9 = 0x0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f;
var10 = var5;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
var8 =
func_07E4(var5, var9, var10, var11);
var7 = var8;
var8 = 0x05;
var9 = 0x00;
var10 = var5;
var11 = 0x00;
if (var11 >= memory[var10:var10 + 0x20]) { assert(); }
var temp9 = var9;
memory[temp9:temp9 + 0x20] = memory[var11 * 0x20 + var10 + 0x20:var11 * 0x20 + var10 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[temp9 + 0x20:temp9 + 0x20 + 0x20] = var8;
if (storage[keccak256(memory[0x00:0x00 + temp9 + 0x40])] & 0xff) {
label_08B8:
var8 = 0x08d8;
var9 = var5;
var10 = 0x00;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
func_08C8(var6, var7, var9, var10);
var8 = 0x08e3;
var9 = var5;
var10 = address(this);
var11 = var7;
func_1B6C(var9, var10, var11);
// Error: Could not resolve jump destination!
} else {
var8 = 0x0865;
var9 = var5;
var10 = 0x00;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
func_0854(var9, var10);
var8 = 0x01;
var9 = 0x05;
var10 = 0x00;
var11 = var5;
var12 = 0x00;
if (var12 >= memory[var11:var11 + 0x20]) { assert(); }
var temp10 = var10;
memory[temp10:temp10 + 0x20] = memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x20] = var9;
var temp12 = keccak256(memory[0x00:0x00 + temp11 + 0x20]);
storage[temp12] = !!var8 | (storage[temp12] & ~0xff);
goto label_08B8;
}
} else {
var temp13 = memory[0x40:0x60];
memory[temp13:temp13 + 0x20] = 0x461bcd << 0xe5;
memory[temp13 + 0x04:temp13 + 0x04 + 0x20] = 0x20;
memory[temp13 + 0x24:temp13 + 0x24 + 0x20] = 0x02;
memory[temp13 + 0x44:temp13 + 0x44 + 0x20] = 0x1395 << 0xf2;
var temp14 = memory[0x40:0x60];
revert(memory[temp14:temp14 + temp13 - temp14 + 0x64]);
}
} else {
var temp15 = returndata.length;
memory[0x00:0x00 + temp15] = returndata[0x00:0x00 + temp15];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp16 = returndata.length;
memory[0x00:0x00 + temp16] = returndata[0x00:0x00 + temp16];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp17 = memory[0x40:0x60];
memory[temp17:temp17 + 0x20] = 0x461bcd << 0xe5;
memory[temp17 + 0x04:temp17 + 0x04 + 0x20] = 0x20;
memory[temp17 + 0x24:temp17 + 0x24 + 0x20] = 0x02;
memory[temp17 + 0x44:temp17 + 0x44 + 0x20] = 0x5445 << 0xf0;
var temp18 = memory[0x40:0x60];
revert(memory[temp18:temp18 + temp17 - temp18 + 0x64]);
}
} else {
var temp19 = memory[0x40:0x60];
memory[temp19:temp19 + 0x20] = 0x461bcd << 0xe5;
memory[temp19 + 0x04:temp19 + 0x04 + 0x20] = 0x20;
memory[temp19 + 0x24:temp19 + 0x24 + 0x20] = 0x08;
memory[temp19 + 0x44:temp19 + 0x44 + 0x20] = 0x13db9b1e48109bdd << 0xc2;
var temp20 = memory[0x40:0x60];
revert(memory[temp20:temp20 + temp19 - temp20 + 0x64]);
}
} else if (var0 == 0x0ad60376) {
// Dispatch table entry for 0x0ad60376 (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0187;
var2 =
func_08EB();
label_0187:
var temp21 = memory[0x40:0x60];
memory[temp21:temp21 + 0x20] = var2;
var temp22 = memory[0x40:0x60];
return memory[temp22:temp22 + temp21 - temp22 + 0x20];
} else if (var0 == 0x2821040d) {
// Dispatch table entry for 0x2821040d (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0187;
var2 =
func_08F1();
goto label_0187;
} else if (var0 == 0x3ccfd60b) {
// Dispatch table entry for
withdraw()
var1 = 0x013b;
withdraw();
stop();
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0x423f6cef) {
// Dispatch table entry for
safeTransfer(address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
safeTransfer(var2, var3);
stop();
} else if (var0 == 0x52b0761d) {
// Dispatch table entry for 0x52b0761d (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0222;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 =
func_0212(var2, var3);
label_0222:
var temp23 = memory[0x40:0x60];
memory[temp23:temp23 + 0x20] = !!var2;
var temp24 = memory[0x40:0x60];
return memory[temp24:temp24 + temp23 - temp24 + 0x20];
} else if (var0 == 0x66dd0f24) {
// Dispatch table entry for
depositWETH(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
depositWETH(var2, var3);
stop();
} else if (var0 == 0x752adc32) {
// Dispatch table entry for 0x752adc32 (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
func_0283(var2, var3);
stop();
} else if (var0 == 0x77cf7630) {
// Dispatch table entry for
tokenAllowance(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0222;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 =
tokenAllowance(var2, var3);
goto label_0222;
} else { revert(memory[0x00:0x00]); }
} else if (0xad5c4648 > var0) {
if (var0 == 0x8da5cb5b) {
// Dispatch table entry for
owner()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02db;
var2 =
owner();
label_02DB:
var temp25 = memory[0x40:0x60];
memory[temp25:temp25 + 0x20] = var2 & (0x01 << 0xa0) - 0x01;
var temp26 = memory[0x40:0x60];
return memory[temp26:temp26 + temp25 - temp26 + 0x20];
} else if (var0 == 0x986f5585) {
// Dispatch table entry for 0x986f5585 (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02db;
var2 =
func_0B19();
goto label_02DB;
} else if (var0 == 0xa3aa1989) {
// Dispatch table entry for
sellTokens(address[])
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
sellTokens(var2, var3);
stop();
} else if (var0 == 0xa3c68f4c) {
// Dispatch table entry for 0xa3c68f4c (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
func_03AC(var2, var3);
stop();
} else if (var0 == 0xa74e0691) {
// Dispatch table entry for 0xa74e0691 (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
func_03E2(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0xad5c4648) {
// Dispatch table entry for
WETH()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02db;
var2 =
WETH();
goto label_02DB;
} else if (var0 == 0xc45a0155) {
// Dispatch table entry for
factory()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02db;
var2 =
factory();
goto label_02DB;
} else if (var0 == 0xcfa5d34d) {
// Dispatch table entry for 0xcfa5d34d (unknown)
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x80) { revert(memory[0x00:0x00]); }
func_04B1(var2, var3);
stop();
} else if (var0 == 0xeb5625d9) {
// Dispatch table entry for
safeApprove(address,address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
var temp27 = (0x01 << 0xa0) - 0x01;
var temp28 = var2;
var2 = temp27 & msg.data[temp28:temp28 + 0x20];
var3 = temp27 & msg.data[temp28 + 0x20:temp28 + 0x20 + 0x20];
var4 = msg.data[temp28 + 0x40:temp28 + 0x40 + 0x20];
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
var5 = 0x1378;
var6 = var2;
var7 = var3;
var8 = var4;
safeApprove(var6, var7, var8);
// Error: Could not resolve jump destination!
} else {
var temp29 = memory[0x40:0x60];
memory[temp29:temp29 + 0x20] = 0x461bcd << 0xe5;
memory[temp29 + 0x04:temp29 + 0x04 + 0x20] = 0x20;
memory[temp29 + 0x24:temp29 + 0x24 + 0x20] = 0x07;
memory[temp29 + 0x44:temp29 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp30 = memory[0x40:0x60];
revert(memory[temp30:temp30 + temp29 - temp30 + 0x64]);
}
} else if (var0 == 0xfc4dd333) {
// Dispatch table entry for
withdrawWETH(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x013b;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
withdrawWETH(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
} else if (msg.data.length) { revert(memory[0x00:0x00]); }
else {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x04;
if (!!(storage[keccak256(memory[0x00:0x40])] & 0xff) == 0x01) { stop(); }
else { assert(); }
}
}
function safeTransfer(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
var var0 = 0x09b9;
var var1 = arg0;
var var2 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var var3 = arg1;
func_1F2A(var1, var2, var3);
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] = 0x07;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + temp1 - temp2 + 0x64]);
}
}
function func_0212(var arg0, var arg1) returns (var arg0) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x04;
memory[0x00:0x20] = arg0;
return storage[keccak256(memory[0x00:0x40])] & 0xff;
}
function depositWETH(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20];
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
arg1 = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var var0 = 0xd0e30db0;
var var1 = arg0;
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = (var0 & 0xffffffff) << 0xe0;
var var2 = temp0 + 0x04;
var var3 = 0x00;
var var4 = memory[0x40:0x60];
var var5 = var2 - var4;
var var6 = var4;
var var7 = var1;
var var8 = arg1;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp1;
if (!var3) { return; }
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x07;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + temp3 - temp4 + 0x64]);
}
}
function func_0283(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
storage[0x00] = (arg0 & (0x01 << 0xa0) - 0x01) | (storage[0x00] & ~((0x01 << 0xa0) - 0x01));
return;
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x07;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function tokenAllowance(var arg0, var arg1) returns (var arg0) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x05;
memory[0x00:0x20] = arg0;
return storage[keccak256(memory[0x00:0x40])] & 0xff;
}
function sellTokens(var arg0, var arg1) {
var temp0 = arg0;
arg0 = temp0 + arg1;
arg1 = temp0;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x0100000000) { 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 > 0x0100000000) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
arg0 = var0;
arg1 = var1;
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x04;
if (!!(storage[keccak256(memory[0x00:0x40])] & 0xff) == 0x01) {
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x02;
memory[0x40:0x60] = temp4 + 0x60;
memory[temp4 + 0x20:temp4 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var0 = temp4;
var1 = 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var2 = var0;
var var3 = 0x01;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
memory[var3 * 0x20 + var2 + 0x20:var3 * 0x20 + var2 + 0x20 + 0x20] = var1 & (0x01 << 0xa0) - 0x01;
var1 = 0x00;
if (var1 >= arg1) {
label_0EA2:
return;
} else {
label_0BEE:
var2 = 0x00;
var3 = arg0;
var var4 = arg1;
var var5 = var1;
if (var5 >= var4) { assert(); }
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x70a08231 << 0xe0;
memory[temp5 + 0x04:temp5 + 0x04 + 0x20] = address(this);
var temp6 = msg.data[var5 * 0x20 + var3:var5 * 0x20 + var3 + 0x20] & (0x01 << 0xa0) - 0x01;
var3 = temp6;
var var7 = memory[0x40:0x60];
var4 = 0x70a08231;
var5 = temp5 + 0x24;
var var6 = 0x20;
var var8 = temp5 - var7 + 0x24;
var var9 = var7;
var var10 = var3;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp7;
temp7, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]);
var6 = !temp7;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var3:var3 + 0x20] <= var2) {
label_0E9A:
var1 = var1 + 0x01;
if (var1 >= arg1) { goto label_0EA2; }
else { goto label_0BEE; }
} else {
var2 = arg0;
var3 = arg1;
var4 = var1;
if (var4 >= var3) { assert(); }
var2 = msg.data[var4 * 0x20 + var2:var4 * 0x20 + var2 + 0x20] & (0x01 << 0xa0) - 0x01;
var3 = var0;
var4 = 0x00;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20] = var2 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var2 = 0x00;
var3 = var0;
var4 = 0x00;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
var temp8 = memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20] & (0x01 << 0xa0) - 0x01;
var3 = temp8;
var4 = 0x70a08231;
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = (var4 & 0xffffffff) << 0xe0;
var temp10 = temp9 + 0x04;
memory[temp10:temp10 + 0x20] = address(this);
var5 = temp10 + 0x20;
var6 = 0x20;
var7 = memory[0x40:0x60];
var8 = var5 - var7;
var9 = var7;
var10 = var3;
var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp11;
temp11, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]);
var6 = !temp11;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
var2 = memory[var3:var3 + 0x20];
if (var2) {
var3 = 0x00;
var4 = 0x0ddb;
var5 = 0x0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f;
var6 = var0;
var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var4 =
func_0DC6(var0, var5, var6, var7);
var3 = var4;
var4 = 0x05;
var5 = 0x00;
var6 = var0;
var7 = 0x00;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var temp12 = var5;
memory[temp12:temp12 + 0x20] = memory[var7 * 0x20 + var6 + 0x20:var7 * 0x20 + var6 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[temp12 + 0x20:temp12 + 0x20 + 0x20] = var4;
if (storage[keccak256(memory[0x00:0x00 + temp12 + 0x40])] & 0xff) {
label_0E7C:
var4 = 0x0e8c;
var5 = var0;
var6 = 0x00;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
func_08C8(var2, var3, var5, var6);
var4 = 0x0e97;
var5 = var0;
var6 = address(this);
var7 = var3;
func_1B6C(var5, var6, var7);
goto label_0E9A;
} else {
var4 = 0x0e29;
var5 = var0;
var6 = 0x00;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
func_0854(var5, var6);
var4 = 0x01;
var5 = 0x05;
var6 = 0x00;
var7 = var0;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
var temp13 = var6;
memory[temp13:temp13 + 0x20] = memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp14 = temp13 + 0x20;
memory[temp14:temp14 + 0x20] = var5;
var temp15 = keccak256(memory[0x00:0x00 + temp14 + 0x20]);
storage[temp15] = !!var4 | (storage[temp15] & ~0xff);
goto label_0E7C;
}
} else {
var temp16 = memory[0x40:0x60];
memory[temp16:temp16 + 0x20] = 0x461bcd << 0xe5;
memory[temp16 + 0x04:temp16 + 0x04 + 0x20] = 0x20;
memory[temp16 + 0x24:temp16 + 0x24 + 0x20] = 0x02;
memory[temp16 + 0x44:temp16 + 0x44 + 0x20] = 0x1395 << 0xf2;
var temp17 = memory[0x40:0x60];
revert(memory[temp17:temp17 + temp16 - temp17 + 0x64]);
}
} else {
var temp18 = returndata.length;
memory[0x00:0x00 + temp18] = returndata[0x00:0x00 + temp18];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp19 = returndata.length;
memory[0x00:0x00 + temp19] = returndata[0x00:0x00 + temp19];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp20 = memory[0x40:0x60];
memory[temp20:temp20 + 0x20] = 0x461bcd << 0xe5;
memory[temp20 + 0x04:temp20 + 0x04 + 0x20] = 0x20;
memory[temp20 + 0x24:temp20 + 0x24 + 0x20] = 0x08;
memory[temp20 + 0x44:temp20 + 0x44 + 0x20] = 0x13db9b1e48109bdd << 0xc2;
var temp21 = memory[0x40:0x60];
revert(memory[temp21:temp21 + temp20 - temp21 + 0x64]);
}
}
function func_03AC(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20];
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
var var0 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20];
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x04;
if (!!(storage[keccak256(memory[0x00:0x40])] & 0xff) == 0x01) {
var var1 = var0;
if (var1 >= block.timestamp) {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x02;
memory[0x40:0x60] = temp1 + 0x60;
memory[temp1 + 0x20:temp1 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var var2 = temp1;
var var3 = storage[0x00] & (0x01 << 0xa0) - 0x01;
var var4 = 0x67ccdf38;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = (var4 & 0xffffffff) << 0xe0;
var temp3 = temp2 + 0x04;
memory[temp3:temp3 + 0x20] = arg1 - var0 / 0x02 - storage[0x02];
var var5 = temp3 + 0x20;
var var6 = 0x20;
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 temp4;
temp4, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]);
var6 = !temp4;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
var3 = memory[var3:var3 + 0x20];
var4 = var2;
var5 = 0x00;
if (!memory[var4:var4 + 0x20]) { assert(); }
memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var3 = 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var4 = var2;
var5 = 0x01;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var3 = 0x00;
var4 = var2;
var5 = 0x00;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var temp5 = memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20] & (0x01 << 0xa0) - 0x01;
var4 = temp5;
var5 = 0x70a08231;
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = (var5 & 0xffffffff) << 0xe0;
var temp7 = temp6 + 0x04;
memory[temp7:temp7 + 0x20] = address(this);
var6 = temp7 + 0x20;
var7 = 0x20;
var8 = memory[0x40:0x60];
var9 = var6 - var8;
var10 = var8;
var11 = var4;
var var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
var temp8;
temp8, memory[var8:var8 + var7] = address(var11).staticcall.gas(msg.gas)(memory[var10:var10 + var9]);
var7 = !temp8;
if (!var7) {
var4 = memory[0x40:0x60];
var5 = returndata.length;
if (var5 < 0x20) { revert(memory[0x00:0x00]); }
var3 = memory[var4:var4 + 0x20];
if (var3) {
var4 = 0x00;
var5 = 0x1155;
var6 = 0x0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f;
var7 = var2;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
var5 =
func_07E4(var2, var6, var7, var8);
var temp9 = var5;
var4 = temp9;
var5 = 0x60;
var6 = 0x1164;
var7 = var4;
var8 = var3;
var9 = var2;
var6 =
func_208D(var7, var8, var9);
var temp10 = var6;
var5 = temp10;
var6 = arg0;
var7 = var5;
var8 = 0x01;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
if (memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] >= var6) {
var6 = 0x05;
var7 = 0x00;
var8 = var2;
var9 = 0x00;
if (var9 >= memory[var8:var8 + 0x20]) { assert(); }
var temp11 = var7;
memory[temp11:temp11 + 0x20] = memory[var9 * 0x20 + var8 + 0x20:var9 * 0x20 + var8 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[temp11 + 0x20:temp11 + 0x20 + 0x20] = var6;
if (storage[keccak256(memory[0x00:0x00 + temp11 + 0x40])] & 0xff) {
label_1253:
var6 = 0x1287;
var7 = var2;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
func_1263(var4, var5, var7, var8);
var6 = 0x1293;
var7 = var5;
var8 = var2;
var9 = address(this);
var10 = var4;
func_21D9(var7, var8, var9, var10);
return;
} else {
var6 = 0x1200;
var7 = var2;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
func_0854(var7, var8);
var6 = 0x01;
var7 = 0x05;
var8 = 0x00;
var9 = var2;
var10 = 0x00;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
var temp12 = var8;
memory[temp12:temp12 + 0x20] = memory[var10 * 0x20 + 0x20 + var9:var10 * 0x20 + 0x20 + var9 + 0x20] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp13 = temp12 + 0x20;
memory[temp13:temp13 + 0x20] = var7;
var temp14 = keccak256(memory[0x00:0x00 + temp13 + 0x20]);
storage[temp14] = !!var6 | (storage[temp14] & ~0xff);
goto label_1253;
}
} else {
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x461bcd << 0xe5;
memory[temp15 + 0x04:temp15 + 0x04 + 0x20] = 0x20;
memory[temp15 + 0x24:temp15 + 0x24 + 0x20] = 0x02;
memory[temp15 + 0x44:temp15 + 0x44 + 0x20] = 0x4941 << 0xf0;
var temp16 = memory[0x40:0x60];
revert(memory[temp16:temp16 + temp15 - temp16 + 0x64]);
}
} else {
var temp17 = memory[0x40:0x60];
memory[temp17:temp17 + 0x20] = 0x461bcd << 0xe5;
memory[temp17 + 0x04:temp17 + 0x04 + 0x20] = 0x20;
memory[temp17 + 0x24:temp17 + 0x24 + 0x20] = 0x02;
memory[temp17 + 0x44:temp17 + 0x44 + 0x20] = 0x1395 << 0xf2;
var temp18 = memory[0x40:0x60];
revert(memory[temp18:temp18 + temp17 - temp18 + 0x64]);
}
} else {
var temp19 = returndata.length;
memory[0x00:0x00 + temp19] = returndata[0x00:0x00 + temp19];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp20 = returndata.length;
memory[0x00:0x00 + temp20] = returndata[0x00:0x00 + temp20];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp21 = memory[0x40:0x60];
memory[temp21:temp21 + 0x20] = 0x461bcd << 0xe5;
memory[temp21 + 0x04:temp21 + 0x04 + 0x20] = 0x20;
memory[temp21 + 0x24:temp21 + 0x24 + 0x20] = 0x02;
memory[temp21 + 0x44:temp21 + 0x44 + 0x20] = 0x5445 << 0xf0;
var temp22 = memory[0x40:0x60];
revert(memory[temp22:temp22 + temp21 - temp22 + 0x64]);
}
} else {
var temp23 = memory[0x40:0x60];
memory[temp23:temp23 + 0x20] = 0x461bcd << 0xe5;
memory[temp23 + 0x04:temp23 + 0x04 + 0x20] = 0x20;
memory[temp23 + 0x24:temp23 + 0x24 + 0x20] = 0x08;
memory[temp23 + 0x44:temp23 + 0x44 + 0x20] = 0x13db9b1e48109bdd << 0xc2;
var temp24 = memory[0x40:0x60];
revert(memory[temp24:temp24 + temp23 - temp24 + 0x64]);
}
}
function func_03E2(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 > 0x0100000000) { 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 > 0x0100000000) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp6 = var1;
var temp7 = memory[0x40:0x60];
memory[0x40:0x60] = temp7 + temp6 * 0x20 + 0x20;
memory[temp7:temp7 + 0x20] = temp6;
var temp8 = temp7 + 0x20;
var temp9 = temp6 * 0x20;
memory[temp8:temp8 + temp9] = msg.data[var0:var0 + temp9];
memory[temp8 + temp9:temp8 + temp9 + 0x20] = 0x00;
arg0 = temp7;
arg1 = !!msg.data[var2:var2 + 0x20];
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
var0 = 0x00;
if (var0 >= memory[arg0:arg0 + 0x20]) {
label_1378:
return;
} else {
label_12F3:
var1 = (0x01 << 0xa0) - 0x01 & 0x00;
var2 = arg0;
var var3 = var0;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
if (memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20] & (0x01 << 0xa0) - 0x01 == var1) {
label_1370:
var0 = var0 + 0x01;
if (var0 >= memory[arg0:arg0 + 0x20]) { goto label_1378; }
else { goto label_12F3; }
} else {
var1 = arg1;
var2 = 0x04;
var3 = 0x00;
var var4 = arg0;
var var5 = var0;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var temp10 = var3;
memory[temp10:temp10 + 0x20] = memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x20] = var2;
var temp12 = keccak256(memory[0x00:0x00 + temp11 + 0x20]);
storage[temp12] = !!var1 | (storage[temp12] & ~0xff);
goto label_1370;
}
}
} else {
var temp13 = memory[0x40:0x60];
memory[temp13:temp13 + 0x20] = 0x461bcd << 0xe5;
memory[temp13 + 0x04:temp13 + 0x04 + 0x20] = 0x20;
memory[temp13 + 0x24:temp13 + 0x24 + 0x20] = 0x07;
memory[temp13 + 0x44:temp13 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp14 = memory[0x40:0x60];
revert(memory[temp14:temp14 + temp13 - temp14 + 0x64]);
}
}
function func_04B1(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20];
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
var var0 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20];
var var1 = msg.data[temp0 + 0x60:temp0 + 0x60 + 0x20];
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x04;
if (!!(storage[keccak256(memory[0x00:0x40])] & 0xff) == 0x01) {
var var2 = var1;
if (var2 >= block.timestamp) {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x02;
memory[0x40:0x60] = temp1 + 0x60;
memory[temp1 + 0x20:temp1 + 0x20 + 0x40] = msg.data[msg.data.length:msg.data.length + 0x40];
var var3 = temp1;
var var4 = 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var var5 = var3;
var var6 = 0x00;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
var temp2 = (0x01 << 0xa0) - 0x01;
memory[var6 * 0x20 + var5 + 0x20:var6 * 0x20 + var5 + 0x20 + 0x20] = temp2 & var4;
var4 = temp2 & storage[0x00];
var5 = 0x67ccdf38;
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = (var5 & 0xffffffff) << 0xe0;
var temp4 = temp3 + 0x04;
memory[temp4:temp4 + 0x20] = var0 - var1 / 0x02 - storage[0x01];
var6 = temp4 + 0x20;
var var7 = 0x20;
var var8 = memory[0x40:0x60];
var var9 = var6 - var8;
var var10 = var8;
var var11 = var4;
var var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
var temp5;
temp5, memory[var8:var8 + var7] = address(var11).staticcall.gas(msg.gas)(memory[var10:var10 + var9]);
var7 = !temp5;
if (!var7) {
var4 = memory[0x40:0x60];
var5 = returndata.length;
if (var5 < 0x20) { revert(memory[0x00:0x00]); }
var4 = memory[var4:var4 + 0x20];
var5 = var3;
var6 = 0x01;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
memory[var6 * 0x20 + 0x20 + var5:var6 * 0x20 + 0x20 + var5 + 0x20] = var4 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var4 = 0x00;
var5 = 0x15a5;
var6 = 0x0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f;
var7 = var3;
var8 = 0x00;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
var5 =
func_1590(var3, var6, var7, var8);
var temp6 = var5;
var4 = temp6;
var5 = 0x60;
var6 = 0x15b4;
var7 = var4;
var8 = arg0;
var9 = var3;
var6 =
func_208D(var7, var8, var9);
var temp7 = var6;
var5 = temp7;
var6 = arg1;
var7 = var5;
var8 = 0x01;
if (var8 >= memory[var7:var7 + 0x20]) { assert(); }
if (memory[var8 * 0x20 + 0x20 + var7:var8 * 0x20 + 0x20 + var7 + 0x20] >= var6) {
var6 = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var7 = 0xa9059cbb;
var8 = var4;
var9 = var5;
var10 = 0x00;
if (var10 >= memory[var9:var9 + 0x20]) { assert(); }
var temp8 = memory[var10 * 0x20 + 0x20 + var9:var10 * 0x20 + 0x20 + var9 + 0x20];
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = (var7 & 0xffffffff) << 0xe0;
var temp10 = temp9 + 0x04;
memory[temp10:temp10 + 0x20] = var8 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x20] = temp8;
var8 = temp11 + 0x20;
var9 = 0x20;
var10 = memory[0x40:0x60];
var11 = var8 - var10;
var12 = var10;
var var13 = 0x00;
var var14 = var6;
var var15 = !address(var14).code.length;
if (var15) { revert(memory[0x00:0x00]); }
var temp12;
temp12, memory[var10:var10 + var9] = address(var14).call.gas(msg.gas).value(var13)(memory[var12:var12 + var11]);
var9 = !temp12;
if (!var9) {
var6 = memory[0x40:0x60];
var7 = returndata.length;
if (var7 < 0x20) { revert(memory[0x00:0x00]); }
if (!memory[var6:var6 + 0x20]) { assert(); }
var6 = 0x1293;
var7 = var5;
var8 = var3;
var9 = address(this);
var10 = var4;
func_21D9(var7, var8, var9, var10);
return;
} else {
var temp13 = returndata.length;
memory[0x00:0x00 + temp13] = returndata[0x00:0x00 + temp13];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp14 = memory[0x40:0x60];
memory[temp14:temp14 + 0x20] = 0x461bcd << 0xe5;
memory[temp14 + 0x04:temp14 + 0x04 + 0x20] = 0x20;
memory[temp14 + 0x24:temp14 + 0x24 + 0x20] = 0x02;
memory[temp14 + 0x44:temp14 + 0x44 + 0x20] = 0x4941 << 0xf0;
var temp15 = memory[0x40:0x60];
revert(memory[temp15:temp15 + temp14 - temp15 + 0x64]);
}
} else {
var temp16 = returndata.length;
memory[0x00:0x00 + temp16] = returndata[0x00:0x00 + temp16];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp17 = memory[0x40:0x60];
memory[temp17:temp17 + 0x20] = 0x461bcd << 0xe5;
memory[temp17 + 0x04:temp17 + 0x04 + 0x20] = 0x20;
memory[temp17 + 0x24:temp17 + 0x24 + 0x20] = 0x02;
memory[temp17 + 0x44:temp17 + 0x44 + 0x20] = 0x5445 << 0xf0;
var temp18 = memory[0x40:0x60];
revert(memory[temp18:temp18 + temp17 - temp18 + 0x64]);
}
} else {
var temp19 = memory[0x40:0x60];
memory[temp19:temp19 + 0x20] = 0x461bcd << 0xe5;
memory[temp19 + 0x04:temp19 + 0x04 + 0x20] = 0x20;
memory[temp19 + 0x24:temp19 + 0x24 + 0x20] = 0x08;
memory[temp19 + 0x44:temp19 + 0x44 + 0x20] = 0x13db9b1e48109bdd << 0xc2;
var temp20 = memory[0x40:0x60];
revert(memory[temp20:temp20 + temp19 - temp20 + 0x64]);
}
}
function withdrawWETH(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20];
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
arg1 = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2;
var var0 = 0x2e1a7d4d;
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = (var0 & 0xffffffff) << 0xe0;
var temp1 = temp0 + 0x04;
memory[temp1:temp1 + 0x20] = arg0;
var var1 = temp1 + 0x20;
var var2 = 0x00;
var var3 = memory[0x40:0x60];
var var4 = var1 - var3;
var var5 = var3;
var var6 = 0x00;
var var7 = arg1;
var var8 = !address(var7).code.length;
if (var8) { revert(memory[0x00:0x00]); }
var temp2;
temp2, memory[var3:var3 + var2] = address(var7).call.gas(msg.gas).value(var6)(memory[var5:var5 + var4]);
var2 = !temp2;
if (!var2) { 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] = 0x461bcd << 0xe5;
memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = 0x20;
memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = 0x07;
memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp5 = memory[0x40:0x60];
revert(memory[temp5:temp5 + temp4 - temp5 + 0x64]);
}
}
function func_07E4(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x1803;
var var4 = arg2;
var var5 = arg3;
var3, var4 =
func_236C(var4, var5);
var temp0 = memory[0x40:0x60];
var temp1 = ~0xffffffffffffffffffffffff;
memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp1 & (var3 << 0x60);
memory[temp0 + 0x34:temp0 + 0x34 + 0x20] = temp1 & (var4 << 0x60);
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x28;
memory[0x40:0x60] = temp0 + 0x48;
var temp3 = keccak256(memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]]);
memory[temp0 + 0x68:temp0 + 0x68 + 0x20] = ~((0x01 << 0xf8) - 0x01);
memory[temp0 + 0x69:temp0 + 0x69 + 0x20] = temp1 & (arg1 << 0x60);
memory[temp0 + 0x7d:temp0 + 0x7d + 0x20] = temp3;
memory[temp0 + 0x9d:temp0 + 0x9d + 0x20] = 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f;
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = temp0 - temp4 + 0x9d;
memory[0x40:0x60] = temp0 + 0xbd;
return keccak256(memory[temp4 + 0x20:temp4 + 0x20 + memory[temp4:temp4 + 0x20]]);
}
function func_0854(var arg0, var arg1) {
arg0 = memory[arg1 * 0x20 + 0x20 + arg0:arg1 * 0x20 + 0x20 + arg0 + 0x20];
arg1 = address(this);
var var0 = ~0x00;
safeApprove(arg0, arg1, var0);
// Error: Could not resolve method call return address!
}
function func_08C8(var arg0, var arg1, var arg2, var arg3) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = address(this);
var var0 = arg1;
var var1 = arg0;
var temp0 = memory[0x40:0x60];
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = temp1 & arg3;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp1 & var0;
memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = var1;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x64;
memory[0x40:0x60] = temp0 + 0x84;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x20] = (memory[temp3:temp3 + 0x20] & (0x01 << 0xe0) - 0x01) | (0x23b872dd << 0xe0);
var var2 = 0x00;
var var3 = 0x60;
var var4 = arg2 & temp1;
var var5 = temp2;
var var6 = memory[0x40:0x60];
var var7 = var6;
var var8 = temp3;
var var9 = memory[var5:var5 + 0x20];
var var10 = var9;
var var11 = var7;
var var12 = var8;
if (var10 < 0x20) {
label_1A9C:
var temp4 = 0x0100 ** (0x20 - var10) - 0x01;
var temp5 = var11;
memory[temp5:temp5 + 0x20] = (memory[var12:var12 + 0x20] & ~temp4) | (memory[temp5:temp5 + 0x20] & temp4);
var temp6 = memory[0x40:0x60];
var temp7;
temp7, memory[temp6:temp6 + 0x00] = address(var4).call.gas(msg.gas)(memory[temp6:temp6 + (var9 + var7) - temp6]);
var5 = returndata.length;
var6 = var5;
if (var6 == 0x00) {
var3 = 0x60;
var temp8 = var4;
var2 = temp8;
var4 = var2;
if (!var4) {
label_1B31:
if (var4) { return; }
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x461bcd << 0xe5;
var temp10 = temp9 + 0x04;
var temp11 = temp10 + 0x20;
memory[temp10:temp10 + 0x20] = temp11 - temp10;
memory[temp11:temp11 + 0x20] = 0x24;
var temp12 = temp11 + 0x20;
memory[temp12:temp12 + 0x24] = code[0x2770:0x2794];
var temp13 = memory[0x40:0x60];
revert(memory[temp13:temp13 + (temp12 + 0x40) - temp13]);
} else {
label_1B10:
var4 = !memory[var3:var3 + 0x20];
if (var4) { goto label_1B31; }
var temp14 = var3;
var4 = temp14 + 0x20;
var5 = memory[temp14:temp14 + 0x20];
if (var5 < 0x20) { revert(memory[0x00:0x00]); }
var4 = memory[var4:var4 + 0x20];
goto label_1B31;
}
} else {
var temp15 = memory[0x40:0x60];
var5 = temp15;
memory[0x40:0x60] = var5 + (returndata.length + 0x3f & ~0x1f);
memory[var5:var5 + 0x20] = returndata.length;
var temp16 = returndata.length;
memory[var5 + 0x20:var5 + 0x20 + temp16] = returndata[0x00:0x00 + temp16];
var3 = var5;
var temp17 = var4;
var2 = temp17;
var4 = var2;
if (!var4) { goto label_1B31; }
else { goto label_1B10; }
}
} else {
label_1A86:
var temp18 = var12;
var temp19 = var11;
memory[temp19:temp19 + 0x20] = memory[temp18:temp18 + 0x20];
var10 = var10 + ~0x1f;
var11 = temp19 + 0x20;
var12 = temp18 + 0x20;
if (var10 < 0x20) { goto label_1A9C; }
else { goto label_1A86; }
}
}
function func_08EB() returns (var r0) { return storage[0x02]; }
function func_08F1() returns (var r0) { return storage[0x01]; }
function withdraw() {
if (msg.sender == storage[0x03] & (0x01 << 0xa0) - 0x01) {
var var0 = 0x0956;
var var1 = storage[0x03] & (0x01 << 0xa0) - 0x01;
var var2 = address(this).balance;
func_1E37(var1, var2);
return;
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x07;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4f6e6c79204d65 << 0xc8;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function owner() returns (var r0) { return storage[0x03] & (0x01 << 0xa0) - 0x01; }
function func_0B19() returns (var r0) { return storage[0x00] & (0x01 << 0xa0) - 0x01; }
function func_0DC6(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x1803;
var var4 = arg2;
var var5 = arg3;
var3, var4 =
func_236C(var4, var5);
var temp0 = memory[0x40:0x60];
var temp1 = ~0xffffffffffffffffffffffff;
memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp1 & (var3 << 0x60);
memory[temp0 + 0x34:temp0 + 0x34 + 0x20] = temp1 & (var4 << 0x60);
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x28;
memory[0x40:0x60] = temp0 + 0x48;
var temp3 = keccak256(memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]]);
memory[temp0 + 0x68:temp0 + 0x68 + 0x20] = ~((0x01 << 0xf8) - 0x01);
memory[temp0 + 0x69:temp0 + 0x69 + 0x20] = temp1 & (arg1 << 0x60);
memory[temp0 + 0x7d:temp0 + 0x7d + 0x20] = temp3;
memory[temp0 + 0x9d:temp0 + 0x9d + 0x20] = 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f;
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = temp0 - temp4 + 0x9d;
memory[0x40:0x60] = temp0 + 0xbd;
return keccak256(memory[temp4 + 0x20:temp4 + 0x20 + memory[temp4:temp4 + 0x20]]);
}
function func_1263(var arg0, var arg1, var arg2, var arg3) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = address(this);
var var0 = arg0;
var var1 = arg1;
var var2 = 0x00;
if (var2 >= memory[var1:var1 + 0x20]) { assert(); }
var1 = memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20];
var temp0 = memory[0x40:0x60];
var temp1 = (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = temp1 & arg3;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp1 & var0;
memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = var1;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x64;
memory[0x40:0x60] = temp0 + 0x84;
var temp3 = temp2 + 0x20;
memory[temp3:temp3 + 0x20] = (memory[temp3:temp3 + 0x20] & (0x01 << 0xe0) - 0x01) | (0x23b872dd << 0xe0);
var2 = 0x00;
var var3 = 0x60;
var var4 = arg2 & temp1;
var var5 = temp2;
var var6 = memory[0x40:0x60];
var var7 = var6;
var var8 = temp3;
var var9 = memory[var5:var5 + 0x20];
var var10 = var9;
var var11 = var7;
var var12 = var8;
if (var10 < 0x20) {
label_1A9C:
var temp4 = 0x0100 ** (0x20 - var10) - 0x01;
var temp5 = var11;
memory[temp5:temp5 + 0x20] = (memory[var12:var12 + 0x20] & ~temp4) | (memory[temp5:temp5 + 0x20] & temp4);
var temp6 = memory[0x40:0x60];
var temp7;
temp7, memory[temp6:temp6 + 0x00] = address(var4).call.gas(msg.gas)(memory[temp6:temp6 + (var9 + var7) - temp6]);
var5 = returndata.length;
var6 = var5;
if (var6 == 0x00) {
var3 = 0x60;
var temp8 = var4;
var2 = temp8;
var4 = var2;
if (!var4) {
label_1B31:
if (var4) { return; }
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x461bcd << 0xe5;
var temp10 = temp9 + 0x04;
var temp11 = temp10 + 0x20;
memory[temp10:temp10 + 0x20] = temp11 - temp10;
memory[temp11:temp11 + 0x20] = 0x24;
var temp12 = temp11 + 0x20;
memory[temp12:temp12 + 0x24] = code[0x2770:0x2794];
var temp13 = memory[0x40:0x60];
revert(memory[temp13:temp13 + (temp12 + 0x40) - temp13]);
} else {
label_1B10:
var4 = !memory[var3:var3 + 0x20];
if (var4) { goto label_1B31; }
var temp14 = var3;
var4 = temp14 + 0x20;
var5 = memory[temp14:temp14 + 0x20];
if (var5 < 0x20) { revert(memory[0x00:0x00]); }
var4 = memory[var4:var4 + 0x20];
goto label_1B31;
}
} else {
var temp15 = memory[0x40:0x60];
var5 = temp15;
memory[0x40:0x60] = var5 + (returndata.length + 0x3f & ~0x1f);
memory[var5:var5 + 0x20] = returndata.length;
var temp16 = returndata.length;
memory[var5 + 0x20:var5 + 0x20 + temp16] = returndata[0x00:0x00 + temp16];
var3 = var5;
var temp17 = var4;
var2 = temp17;
var4 = var2;
if (!var4) { goto label_1B31; }
else { goto label_1B10; }
}
} else {
label_1A86:
var temp18 = var12;
var temp19 = var11;
memory[temp19:temp19 + 0x20] = memory[temp18:temp18 + 0x20];
var10 = var10 + ~0x1f;
var11 = temp19 + 0x20;
var12 = temp18 + 0x20;
if (var10 < 0x20) { goto label_1A9C; }
else { goto label_1A86; }
}
}
function WETH() returns (var r0) { return 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2; }
function factory() returns (var r0) { return 0x0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f; }
function func_1590(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = 0x01;
if (var0 >= memory[arg3:arg3 + 0x20]) { assert(); }
arg3 = memory[var0 * 0x20 + 0x20 + arg3:var0 * 0x20 + 0x20 + arg3 + 0x20];
var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x1803;
var var4 = arg2;
var var5 = arg3;
var3, var4 =
func_236C(var4, var5);
var temp0 = memory[0x40:0x60];
var temp1 = ~0xffffffffffffffffffffffff;
memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp1 & (var3 << 0x60);
memory[temp0 + 0x34:temp0 + 0x34 + 0x20] = temp1 & (var4 << 0x60);
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = temp0 - temp2 + 0x28;
memory[0x40:0x60] = temp0 + 0x48;
var temp3 = keccak256(memory[temp2 + 0x20:temp2 + 0x20 + memory[temp2:temp2 + 0x20]]);
memory[temp0 + 0x68:temp0 + 0x68 + 0x20] = ~((0x01 << 0xf8) - 0x01);
memory[temp0 + 0x69:temp0 + 0x69 + 0x20] = temp1 & (arg1 << 0x60);
memory[temp0 + 0x7d:temp0 + 0x7d + 0x20] = temp3;
memory[temp0 + 0x9d:temp0 + 0x9d + 0x20] = 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f;
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = temp0 - temp4 + 0x9d;
memory[0x40:0x60] = temp0 + 0xbd;
return keccak256(memory[temp4 + 0x20:temp4 + 0x20 + memory[temp4:temp4 + 0x20]]);
}
function safeApprove(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) | (0x095ea7b3 << 0xe0);
var var0 = 0x00;
var var1 = 0x60;
var var2 = arg0 & temp1;
var var3 = temp2;
var var4 = memory[0x40:0x60];
var var5 = var4;
var var6 = temp3;
var var7 = memory[var3:var3 + 0x20];
var var8 = var7;
var var9 = var5;
var var10 = var6;
if (var8 < 0x20) {
label_1931:
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_19C6:
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] = 0x1e;
memory[temp9 + 0x44:temp9 + 0x44 + 0x20] = 0x5472616e7366657248656c7065723a20415050524f56455f4641494c45440000;
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + temp9 - temp10 + 0x64]);
} else {
label_19A5:
var2 = !memory[var1:var1 + 0x20];
if (var2) { goto label_19C6; }
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_19C6;
}
} 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_19C6; }
else { goto label_19A5; }
}
} else {
label_191B:
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_1931; }
else { goto label_191B; }
}
}
function func_1B6C(var arg0, var arg1, var arg2) {
var var0 = 0x00;
var var1 = var0;
var var2 = arg0;
var var3 = 0x00;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
var2 = memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20];
var3 = arg0;
var var4 = 0x01;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
var temp0 = memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20];
var1 = temp0;
var temp1 = var2;
var0 = temp1;
var2 = 0x00;
var3 = 0x1ba9;
var4 = var0;
var var5 = var1;
var3, var4 =
func_236C(var4, var5);
var2 = var3;
var3 = arg2;
var4 = 0x00;
var5 = var4;
var var6 = 0x00;
var var7 = var6;
var var8 = var3 & (0x01 << 0xa0) - 0x01;
var var9 = 0x0902f1ac;
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = (var9 & 0xffffffff) << 0xe0;
var var10 = temp2 + 0x04;
var var11 = 0x60;
var var12 = memory[0x40:0x60];
var var13 = var10 - var12;
var var14 = var12;
var var15 = var8;
var var16 = !address(var15).code.length;
if (var16) { revert(memory[0x00:0x00]); }
var temp3;
temp3, memory[var12:var12 + var11] = address(var15).staticcall.gas(msg.gas)(memory[var14:var14 + var13]);
var11 = !temp3;
if (!var11) {
var8 = memory[0x40:0x60];
var9 = returndata.length;
if (var9 < 0x60) { revert(memory[0x00:0x00]); }
var temp4 = var8;
var temp5 = (0x01 << 0x70) - 0x01;
var6 = temp5 & memory[temp4:temp4 + 0x20];
var7 = memory[temp4 + 0x20:temp4 + 0x20 + 0x20] & temp5;
var8 = 0x00;
var9 = var8;
var temp6 = (0x01 << 0xa0) - 0x01;
if (var2 & temp6 == temp6 & var0) {
var9 = var7;
var8 = var6;
var10 = 0x1ce9;
var11 = var8;
var12 = var0 & (0x01 << 0xa0) - 0x01;
var13 = 0x70a08231;
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = (var13 & 0xffffffff) << 0xe0;
var temp8 = temp7 + 0x04;
memory[temp8:temp8 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var14 = temp8 + 0x20;
var15 = 0x20;
var16 = memory[0x40:0x60];
var var17 = var14 - var16;
var var18 = var16;
var var19 = var12;
var var20 = !address(var19).code.length;
if (var20) { revert(memory[0x00:0x00]); }
var10 =
func_1CB1(var11, var12, var13, var14, var15, var16, var17, var18, var19, var20);
label_1CE9:
var temp9 = var10;
var4 = temp9;
var10 = 0x1cf6;
var11 = var4;
var12 = var8;
var13 = var9;
var10 =
func_24A0(var11, var12, var13);
var5 = var10;
var6 = 0x00;
var7 = var6;
if (var0 & (0x01 << 0xa0) - 0x01 == var2 & (0x01 << 0xa0) - 0x01) {
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = 0x00;
memory[0x40:0x60] = temp10 + 0x20;
var6 = 0x00;
var7 = var5;
var8 = var3 & (0x01 << 0xa0) - 0x01;
var9 = 0x022c0d9f;
var10 = var6;
var11 = var7;
var12 = arg1;
var13 = temp10;
var temp11 = memory[0x40:0x60];
memory[temp11:temp11 + 0x20] = (var9 & 0xffffffff) << 0xe0;
var temp12 = temp11 + 0x04;
var14 = temp12;
memory[var14:var14 + 0x20] = var10;
var temp13 = var14 + 0x20;
memory[temp13:temp13 + 0x20] = var11;
var temp14 = temp13 + 0x20;
memory[temp14:temp14 + 0x20] = var12 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp15 = temp14 + 0x20;
var15 = temp15;
var temp16 = var15 + 0x20;
memory[var15:var15 + 0x20] = temp16 - var14;
memory[temp16:temp16 + 0x20] = memory[var13:var13 + 0x20];
var16 = temp16 + 0x20;
var18 = memory[var13:var13 + 0x20];
var17 = var13 + 0x20;
var19 = var18;
var20 = var16;
var var21 = var17;
var var22 = 0x00;
if (var22 >= var19) {
label_1DC3:
var temp17 = var18;
var16 = temp17 + var16;
var17 = temp17 & 0x1f;
if (!var17) {
var10 = var16;
var11 = 0x00;
var12 = memory[0x40:0x60];
var13 = var10 - var12;
var14 = var12;
var15 = 0x00;
var16 = var8;
var17 = !address(var16).code.length;
if (var17) { revert(memory[0x00:0x00]); }
label_1E12:
var temp18;
temp18, memory[var12:var12 + var11] = address(var16).call.gas(msg.gas).value(var15)(memory[var14:var14 + var13]);
var11 = !temp18;
if (!var11) { return; }
var temp19 = returndata.length;
memory[0x00:0x00 + temp19] = returndata[0x00:0x00 + temp19];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp20 = var17;
var temp21 = var16 - temp20;
memory[temp21:temp21 + 0x20] = ~(0x0100 ** (0x20 - temp20) - 0x01) & memory[temp21:temp21 + 0x20];
var10 = temp21 + 0x20;
var11 = 0x00;
var12 = memory[0x40:0x60];
var13 = var10 - var12;
var14 = var12;
var15 = 0x00;
var16 = var8;
var17 = !address(var16).code.length;
if (!var17) { goto label_1E12; }
else { revert(memory[0x00:0x00]); }
}
} else {
label_1DB4:
var temp22 = var22;
memory[temp22 + var20:temp22 + var20 + 0x20] = memory[temp22 + var21:temp22 + var21 + 0x20];
var22 = temp22 + 0x20;
label_1DAB:
if (var22 >= var19) { goto label_1DC3; }
else { goto label_1DB4; }
}
} else {
var8 = var5;
var9 = 0x00;
var temp23 = memory[0x40:0x60];
memory[temp23:temp23 + 0x20] = 0x00;
memory[0x40:0x60] = temp23 + 0x20;
var temp24 = var8;
var6 = temp24;
var temp25 = var9;
var7 = temp25;
var8 = var3 & (0x01 << 0xa0) - 0x01;
var9 = 0x022c0d9f;
var10 = var6;
var11 = var7;
var12 = arg1;
var13 = temp23;
var temp26 = memory[0x40:0x60];
memory[temp26:temp26 + 0x20] = (var9 & 0xffffffff) << 0xe0;
var temp27 = temp26 + 0x04;
var14 = temp27;
memory[var14:var14 + 0x20] = var10;
var temp28 = var14 + 0x20;
memory[temp28:temp28 + 0x20] = var11;
var temp29 = temp28 + 0x20;
memory[temp29:temp29 + 0x20] = var12 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp30 = temp29 + 0x20;
var15 = temp30;
var temp31 = var15 + 0x20;
memory[var15:var15 + 0x20] = temp31 - var14;
memory[temp31:temp31 + 0x20] = memory[var13:var13 + 0x20];
var16 = temp31 + 0x20;
var17 = var13 + 0x20;
var18 = memory[var13:var13 + 0x20];
var19 = var18;
var20 = var16;
var21 = var17;
var22 = 0x00;
goto label_1DAB;
}
} else {
var10 = var7;
var11 = var6;
var9 = var11;
var temp32 = var10;
var8 = temp32;
var10 = 0x1ce9;
var11 = var8;
var12 = var0 & (0x01 << 0xa0) - 0x01;
var13 = 0x70a08231;
var temp33 = memory[0x40:0x60];
memory[temp33:temp33 + 0x20] = (var13 & 0xffffffff) << 0xe0;
var temp34 = temp33 + 0x04;
memory[temp34:temp34 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var14 = temp34 + 0x20;
var15 = 0x20;
var16 = memory[0x40:0x60];
var17 = var14 - var16;
var18 = var16;
var19 = var12;
var20 = !address(var19).code.length;
if (var20) { revert(memory[0x00:0x00]); }
var10 =
func_1CB1(var11, var12, var13, var14, var15, var16, var17, var18, var19, var20);
goto label_1CE9;
}
} else {
var temp35 = returndata.length;
memory[0x00:0x00 + temp35] = returndata[0x00:0x00 + temp35];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_1CB1(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;
var temp2 = arg0;
arg2 = temp2 - arg1;
if (arg2 <= temp2) { return arg2; }
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x15;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x64732d6d6174682d7375622d756e646572666c6f77 << 0x58;
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + temp3 - temp4 + 0x64]);
} else {
var temp5 = returndata.length;
memory[0x00:0x00 + temp5] = returndata[0x00:0x00 + temp5];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_1E37(var arg0, var arg1) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x00;
var var0 = 0x00;
memory[0x40:0x60] = temp0 + 0x20;
var var1 = arg0 & (0x01 << 0xa0) - 0x01;
var var3 = temp0;
var var2 = arg1;
var var4 = memory[0x40:0x60];
var var5 = var4;
var var7 = memory[var3:var3 + 0x20];
var var6 = var3 + 0x20;
var var8 = var7;
var var9 = var5;
var var10 = var6;
if (var8 < 0x20) {
label_1E83:
var temp1 = 0x0100 ** (0x20 - var8) - 0x01;
var temp2 = var9;
memory[temp2:temp2 + 0x20] = (memory[var10:var10 + 0x20] & ~temp1) | (memory[temp2:temp2 + 0x20] & temp1);
var temp3 = memory[0x40:0x60];
var temp4;
temp4, memory[temp3:temp3 + 0x00] = address(var1).call.gas(msg.gas).value(var2)(memory[temp3:temp3 + (var7 + var5) - temp3]);
var2 = returndata.length;
var3 = var2;
if (var3 == 0x00) {
var0 = var1;
if (var0) {
label_1378:
return;
} else {
label_1EF4:
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x461bcd << 0xe5;
var temp6 = temp5 + 0x04;
var temp7 = temp6 + 0x20;
memory[temp6:temp6 + 0x20] = temp7 - temp6;
memory[temp7:temp7 + 0x20] = 0x23;
var temp8 = temp7 + 0x20;
memory[temp8:temp8 + 0x23] = code[0x274d:0x2770];
var temp9 = memory[0x40:0x60];
revert(memory[temp9:temp9 + (temp8 + 0x40) - temp9]);
}
} else {
var temp10 = memory[0x40:0x60];
var2 = temp10;
memory[0x40:0x60] = var2 + (returndata.length + 0x3f & ~0x1f);
memory[var2:var2 + 0x20] = returndata.length;
var temp11 = returndata.length;
memory[var2 + 0x20:var2 + 0x20 + temp11] = returndata[0x00:0x00 + temp11];
var0 = var1;
if (var0) { goto label_1378; }
else { goto label_1EF4; }
}
} else {
label_1E6D:
var temp12 = var10;
var temp13 = var9;
memory[temp13:temp13 + 0x20] = memory[temp12:temp12 + 0x20];
var8 = var8 + ~0x1f;
var9 = temp13 + 0x20;
var10 = temp12 + 0x20;
if (var8 < 0x20) { goto label_1E83; }
else { goto label_1E6D; }
}
}
function func_1F2A(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 var6 = temp3;
var var7 = memory[var3:var3 + 0x20];
var var8 = var7;
var var9 = var5;
var var10 = var6;
if (var8 < 0x20) {
label_1FA7:
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_203C:
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] = 0x1f;
memory[temp9 + 0x44:temp9 + 0x44 + 0x20] = 0x5472616e7366657248656c7065723a205452414e534645525f4641494c454400;
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + temp9 - temp10 + 0x64]);
} else {
label_201B:
var2 = !memory[var1:var1 + 0x20];
if (var2) { goto label_203C; }
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_203C;
}
} 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_203C; }
else { goto label_201B; }
}
} else {
label_1F91:
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_1FA7; }
else { goto label_1F91; }
}
}
function func_208D(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x60;
if (memory[arg2:arg2 + 0x20] >= 0x02) {
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) {
var temp2 = var1;
var0 = temp2;
var1 = arg1;
var2 = var0;
var var3 = 0x00;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
label_2139:
memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20] = var1;
var1 = 0x00;
if (var1 >= memory[arg2:arg2 + 0x20] - 0x01) {
label_21D1:
return var0;
} else {
label_2155:
var2 = 0x00;
var3 = var2;
var var4 = 0x218b;
var var5 = arg0;
var var6 = arg2;
var var7 = var1;
if (var7 >= memory[var6:var6 + 0x20]) { assert(); }
var4, var5 =
func_2167(arg2, var1, var5, var6, var7);
var3 = var5;
var2 = var4;
var4 = 0x21ad;
var5 = var0;
var6 = var1;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
var4 =
func_219E(var2, var3, var5, var6);
var5 = var0;
var6 = var1 + 0x01;
if (var6 >= memory[var5:var5 + 0x20]) { assert(); }
memory[var6 * 0x20 + var5 + 0x20:var6 * 0x20 + var5 + 0x20 + 0x20] = var4;
var1 = var1 + 0x01;
if (var1 >= memory[arg2:arg2 + 0x20] - 0x01) { goto label_21D1; }
else { goto label_2155; }
}
} else {
var temp3 = var1;
var temp4 = var2 * 0x20;
memory[temp3 + 0x20:temp3 + 0x20 + temp4] = msg.data[msg.data.length:msg.data.length + temp4];
var0 = temp3;
var1 = arg1;
var2 = var0;
var3 = 0x00;
if (var3 < memory[var2:var2 + 0x20]) { goto label_2139; }
else { assert(); }
}
} else {
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x461bcd << 0xe5;
memory[temp5 + 0x04:temp5 + 0x04 + 0x20] = 0x20;
memory[temp5 + 0x24:temp5 + 0x24 + 0x20] = 0x18;
memory[temp5 + 0x44:temp5 + 0x44 + 0x20] = 0x514e574c6962726172793a20494e56414c49445f504154480000000000000000;
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + temp5 - temp6 + 0x64]);
}
}
function func_2167(var arg0, var arg1, var arg2, var arg3, var arg4) returns (var r0, var arg2) {
arg3 = memory[arg4 * 0x20 + 0x20 + arg3:arg4 * 0x20 + 0x20 + arg3 + 0x20];
arg4 = arg0;
var var0 = arg1 + 0x01;
if (var0 >= memory[arg4:arg4 + 0x20]) { assert(); }
arg4 = memory[var0 * 0x20 + 0x20 + arg4:var0 * 0x20 + 0x20 + arg4 + 0x20];
var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x259f;
var var4 = arg3;
var var5 = arg4;
var3, var4 =
func_236C(var4, var5);
var2 = var3;
var3 = 0x00;
var4 = var3;
var5 = arg2 & (0x01 << 0xa0) - 0x01;
var var6 = 0x0902f1ac;
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = (var6 & 0xffffffff) << 0xe0;
var var7 = temp0 + 0x04;
var var8 = 0x60;
var var9 = memory[0x40:0x60];
var var10 = var7 - var9;
var var11 = var9;
var var12 = var5;
var var13 = !address(var12).code.length;
if (var13) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var9:var9 + var8] = address(var12).staticcall.gas(msg.gas)(memory[var11:var11 + var10]);
var8 = !temp1;
if (!var8) {
var5 = memory[0x40:0x60];
var6 = returndata.length;
if (var6 < 0x60) { revert(memory[0x00:0x00]); }
var temp2 = var5;
var temp3 = (0x01 << 0x70) - 0x01;
var3 = temp3 & memory[temp2:temp2 + 0x20];
var4 = memory[temp2 + 0x20:temp2 + 0x20 + 0x20] & temp3;
var temp4 = (0x01 << 0xa0) - 0x01;
if (var2 & temp4 == temp4 & arg3) {
r0 = var3;
arg2 = var4;
return r0, arg2;
} else {
var5 = var4;
var6 = var3;
r0 = var5;
arg2 = var6;
return r0, arg2;
}
} else {
var temp5 = returndata.length;
memory[0x00:0x00 + temp5] = returndata[0x00:0x00 + temp5];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_219E(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
arg2 = memory[arg3 * 0x20 + 0x20 + arg2:arg3 * 0x20 + 0x20 + arg2 + 0x20];
arg3 = arg0;
var var0 = arg1;
r0 =
func_24A0(arg2, arg3, var0);
// Error: Could not resolve method call return address!
}
function func_21D9(var arg0, var arg1, var arg2, var arg3) {
var var0 = 0x00;
var var1 = var0;
var var2 = arg1;
var var3 = 0x00;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
var2 = memory[var3 * 0x20 + 0x20 + var2:var3 * 0x20 + 0x20 + var2 + 0x20];
var3 = arg1;
var var4 = 0x01;
if (var4 >= memory[var3:var3 + 0x20]) { assert(); }
var temp0 = memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20];
var1 = temp0;
var temp1 = var2;
var0 = temp1;
var2 = 0x00;
var3 = 0x2216;
var4 = var0;
var var5 = var1;
var3, var4 =
func_236C(var4, var5);
var2 = var3;
var3 = 0x00;
var4 = arg0;
var5 = 0x01;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var3 = memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20];
var4 = 0x00;
var5 = var4;
if (var0 & (0x01 << 0xa0) - 0x01 == var2 & (0x01 << 0xa0) - 0x01) {
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x00;
memory[0x40:0x60] = temp2 + 0x20;
var4 = 0x00;
var5 = var3;
var var6 = arg3 & (0x01 << 0xa0) - 0x01;
var var7 = 0x022c0d9f;
var var8 = var4;
var var9 = var5;
var var10 = arg2;
var var11 = temp2;
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = (var7 & 0xffffffff) << 0xe0;
var temp4 = temp3 + 0x04;
var var12 = temp4;
memory[var12:var12 + 0x20] = var8;
var temp5 = var12 + 0x20;
memory[temp5:temp5 + 0x20] = var9;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x20] = var10 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp7 = temp6 + 0x20;
var var13 = temp7;
var temp8 = var13 + 0x20;
memory[var13:var13 + 0x20] = temp8 - var12;
memory[temp8:temp8 + 0x20] = memory[var11:var11 + 0x20];
var var14 = temp8 + 0x20;
var var16 = memory[var11:var11 + 0x20];
var var15 = var11 + 0x20;
var var17 = var16;
var var18 = var14;
var var19 = var15;
var var20 = 0x00;
if (var20 >= var17) {
label_22F9:
var temp9 = var16;
var14 = temp9 + var14;
var15 = temp9 & 0x1f;
if (!var15) {
var8 = var14;
var9 = 0x00;
var10 = memory[0x40:0x60];
var11 = var8 - var10;
var12 = var10;
var13 = 0x00;
var14 = var6;
var15 = !address(var14).code.length;
if (var15) { revert(memory[0x00:0x00]); }
label_2348:
var temp10;
temp10, memory[var10:var10 + var9] = address(var14).call.gas(msg.gas).value(var13)(memory[var12:var12 + var11]);
var9 = !temp10;
if (!var9) { return; }
var temp11 = returndata.length;
memory[0x00:0x00 + temp11] = returndata[0x00:0x00 + temp11];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp12 = var15;
var temp13 = var14 - temp12;
memory[temp13:temp13 + 0x20] = ~(0x0100 ** (0x20 - temp12) - 0x01) & memory[temp13:temp13 + 0x20];
var8 = temp13 + 0x20;
var9 = 0x00;
var10 = memory[0x40:0x60];
var11 = var8 - var10;
var12 = var10;
var13 = 0x00;
var14 = var6;
var15 = !address(var14).code.length;
if (!var15) { goto label_2348; }
else { revert(memory[0x00:0x00]); }
}
} else {
label_22EA:
var temp14 = var20;
memory[temp14 + var18:temp14 + var18 + 0x20] = memory[temp14 + var19:temp14 + var19 + 0x20];
var20 = temp14 + 0x20;
label_22E1:
if (var20 >= var17) { goto label_22F9; }
else { goto label_22EA; }
}
} else {
var6 = var3;
var7 = 0x00;
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x00;
memory[0x40:0x60] = temp15 + 0x20;
var temp16 = var6;
var4 = temp16;
var temp17 = var7;
var5 = temp17;
var6 = arg3 & (0x01 << 0xa0) - 0x01;
var7 = 0x022c0d9f;
var8 = var4;
var9 = var5;
var10 = arg2;
var11 = temp15;
var temp18 = memory[0x40:0x60];
memory[temp18:temp18 + 0x20] = (var7 & 0xffffffff) << 0xe0;
var temp19 = temp18 + 0x04;
var12 = temp19;
memory[var12:var12 + 0x20] = var8;
var temp20 = var12 + 0x20;
memory[temp20:temp20 + 0x20] = var9;
var temp21 = temp20 + 0x20;
memory[temp21:temp21 + 0x20] = var10 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp22 = temp21 + 0x20;
var13 = temp22;
var temp23 = var13 + 0x20;
memory[var13:var13 + 0x20] = temp23 - var12;
memory[temp23:temp23 + 0x20] = memory[var11:var11 + 0x20];
var14 = temp23 + 0x20;
var15 = var11 + 0x20;
var16 = memory[var11:var11 + 0x20];
var17 = var16;
var18 = var14;
var19 = var15;
var20 = 0x00;
goto label_22E1;
}
}
function func_236C(var arg0, var arg1) returns (var r0, var arg0) {
var var0 = 0x00;
var var1 = var0;
if (arg0 & (0x01 << 0xa0) - 0x01 == arg1 & (0x01 << 0xa0) - 0x01) {
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] = 0x25;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x25] = code[0x2700:0x2725];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
} else if (arg0 & (0x01 << 0xa0) - 0x01 < arg1 & (0x01 << 0xa0) - 0x01) {
var0 = arg0;
var1 = arg1;
if (var0 & (0x01 << 0xa0) - 0x01) {
label_2443:
arg0 = var1;
r0 = var0;
return r0, arg0;
} else {
label_23F7:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x1e;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x556e697377617056324c6962726172793a205a45524f5f414444524553530000;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
} else {
var var2 = arg1;
var var3 = arg0;
var0 = var2;
var1 = var3;
if (var0 & (0x01 << 0xa0) - 0x01) { goto label_2443; }
else { goto label_23F7; }
}
}
function func_24A0(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
if (arg0 > var0) {
var var1 = arg1 > 0x00;
if (!var1) {
if (var1) {
label_252B:
var1 = 0x00;
var var2 = 0x253f;
var var3 = arg0;
var var4 = 0x03e5;
var2 =
func_264D(var3, var4);
var temp0 = var2;
var1 = temp0;
var2 = 0x00;
var3 = 0x2553;
var4 = var1;
var var5 = arg2;
var3 =
func_264D(var4, var5);
var2 = var3;
var3 = 0x00;
var4 = 0x2579;
var5 = var1;
var var6 = 0x256d;
var var7 = arg1;
var var8 = 0x03e8;
var6 =
func_264D(var7, var8);
var4 =
func_256D(var5, var6);
var3 = var4;
var4 = var3;
var5 = var2;
if (var4) { return var5 / var4; }
else { assert(); }
} else {
label_24F5:
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
var temp2 = temp1 + 0x04;
var temp3 = temp2 + 0x20;
memory[temp2:temp2 + 0x20] = temp3 - temp2;
memory[temp3:temp3 + 0x20] = 0x28;
var temp4 = temp3 + 0x20;
memory[temp4:temp4 + 0x28] = code[0x2725:0x274d];
var temp5 = memory[0x40:0x60];
revert(memory[temp5:temp5 + (temp4 + 0x40) - temp5]);
}
} else if (arg2 > 0x00) { goto label_252B; }
else { goto label_24F5; }
} else {
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = 0x461bcd << 0xe5;
var temp7 = temp6 + 0x04;
var temp8 = temp7 + 0x20;
memory[temp7:temp7 + 0x20] = temp8 - temp7;
memory[temp8:temp8 + 0x20] = 0x2b;
var temp9 = temp8 + 0x20;
memory[temp9:temp9 + 0x2b] = code[0x2794:0x27bf];
var temp10 = memory[0x40:0x60];
revert(memory[temp10:temp10 + (temp9 + 0x40) - temp10]);
}
}
function func_256D(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = arg1;
arg1 = temp0;
var temp1 = arg0;
var var0 = temp1 + arg1;
if (var0 >= temp1) { return var0; }
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20;
memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x14;
memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x64732d6d6174682d6164642d6f766572666c6f77 << 0x60;
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
function func_264D(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = !arg1;
if (var1) {
label_2668:
if (var1) { return var0; }
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x14;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x64732d6d6174682d6d756c2d6f766572666c6f77 << 0x60;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
} else {
var0 = arg0 * arg1;
var1 = arg0;
var var2 = arg1;
var var3 = var0;
if (!var2) { assert(); }
var1 = var3 / var2 == var1;
goto label_2668;
}
}
}