Skip to content

Instantly share code, notes, and snippets.

@zjuchenyuan
Created October 17, 2021 18:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zjuchenyuan/47439863d1e2f65fde3f961672201567 to your computer and use it in GitHub Desktop.
Save zjuchenyuan/47439863d1e2f65fde3f961672201567 to your computer and use it in GitHub Desktop.
Decompile 0x32Bd3ce981A575569d4bf1179f6B70D14Cf8E881
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 (0x8456cb59 > var0) {
if (0x5c975abb > var0) {
if (0x250a2b0d > var0) {
if (var0 == 0x0c8ac645) {
// Dispatch table entry for 0x0c8ac645 (unknown)
var var1 = 0x0284;
var var2 = func_0483();
label_0284:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = var2;
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + temp0 - temp1 + 0x20];
} else if (var0 == 0x11b2e2d9) {
// Dispatch table entry for 0x11b2e2d9 (unknown)
var1 = 0x0284;
var2 = func_04A7();
goto label_0284;
} else if (var0 == 0x15d74bb3) {
// Dispatch table entry for 0x15d74bb3 (unknown)
var1 = 0x02a6;
earlyWithdraw();
stop();
} else if (var0 == 0x16330d40) {
// Dispatch table entry for 0x16330d40 (unknown)
var1 = 0x0284;
var2 = func_08AB();
goto label_0284;
} else { revert(memory[0x00:0x00]); }
} else if (0x3e7433eb > var0) {
if (var0 == 0x250a2b0d) {
// Dispatch table entry for 0x250a2b0d (activePlayersCount)
var1 = 0x0284;
var2 = activePlayersCount();
goto label_0284;
} else if (var0 == 0x3ccfd60b) {
// Dispatch table entry for withdraw()
var1 = 0x02a6;
withdraw();
stop();
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0x3e7433eb) {
// Dispatch table entry for 0x3e7433eb (unknown)
var1 = 0x0284;
var2 = func_0C44();
goto label_0284;
} else if (var0 == 0x3f4ba83a) {
// Dispatch table entry for unpause()
var1 = 0x02a6;
unpause();
stop();
} else if (var0 == 0x40732c89) {
// Dispatch table entry for makeDeposit()
var1 = 0x02a6;
var2 = 0x0d47;
var2 = paused();
if (!var2) {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
if (!(storage[keccak256(memory[0x00:0x40])] / (0x01 << 0xa0) & 0xff)) {
var temp2 = msg.sender;
memory[0x00:0x20] = temp2;
memory[0x20:0x40] = 0x08;
if (storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01 == temp2) {
var2 = 0x00;
var var3 = 0x0e57;
var3 = getCurrentSegment();
var2 = var3;
var temp3 = var2 > 0x00;
var3 = temp3;
if (!var3) {
if (var3) {
label_0EC3:
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
if (var2 != storage[keccak256(memory[0x00:0x40]) + 0x01]) {
var3 = 0x0f25;
var var4 = var2;
var var5 = 0x01;
var3 = safeSub(var4, var5);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
if (storage[keccak256(memory[0x00:0x40]) + 0x01] == var3) {
var3 = 0x0fa5;
var4 = 0x0000000000000000000000000000000000000000000000000000000000000002;
var5 = 0x01;
var3 = safeSub(var4, var5);
if (var2 != var3) {
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var temp5 = memory[0x40:0x60];
log(memory[temp5:temp5 + temp4 - temp5 + 0x20], [0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15, msg.sender, stack[-1]]); // event Deposit(address indexed player, uint256 indexed segment,uint256 amount);
var3 = 0x105b;
_transferDaiToContract();
label_105B:
// Error: Could not resolve jump destination!
} else {
var temp6 = storage[0x0a];
storage[0x0a] = temp6 + 0x01;
memory[0x00:0x20] = 0x0a;
var temp7 = temp6 + 0xc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8;
storage[temp7] = msg.sender | (storage[temp7] & ~0xffffffffffffffffffffffffffffffffffffffff);
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var temp9 = memory[0x40:0x60];
log(memory[temp9:temp9 + temp8 - temp9 + 0x20], [0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15, msg.sender, stack[-1]]);// event Deposit(address indexed player, uint256 indexed segment,uint256 amount);
var3 = 0x105b;
_transferDaiToContract();
goto label_105B;
}
} else {
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = 0x461bcd << 0xe5;
var temp11 = temp10 + 0x04;
var temp12 = temp11 + 0x20;
memory[temp11:temp11 + 0x20] = temp12 - temp11;
memory[temp12:temp12 + 0x20] = 0x33;
var temp13 = temp12 + 0x20;
memory[temp13:temp13 + 0x33] = code[0x2c0d:0x2c40];
var temp14 = memory[0x40:0x60];
revert(memory[temp14:temp14 + (temp13 + 0x40) - temp14]);
}
} else {
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x461bcd << 0xe5;
var temp16 = temp15 + 0x04;
var temp17 = temp16 + 0x20;
memory[temp16:temp16 + 0x20] = temp17 - temp16;
memory[temp17:temp17 + 0x20] = 0x23;
var temp18 = temp17 + 0x20;
memory[temp18:temp18 + 0x23] = code[0x2bb7:0x2bda];
var temp19 = memory[0x40:0x60];
revert(memory[temp19:temp19 + (temp18 + 0x40) - temp19]);
}
} else {
label_0E8D:
var temp20 = memory[0x40:0x60];
memory[temp20:temp20 + 0x20] = 0x461bcd << 0xe5;
var temp21 = temp20 + 0x04;
var temp22 = temp21 + 0x20;
memory[temp21:temp21 + 0x20] = temp22 - temp21;
memory[temp22:temp22 + 0x20] = 0x46;
var temp23 = temp22 + 0x20;
memory[temp23:temp23 + 0x46] = code[0x2a23:0x2a69];
var temp24 = memory[0x40:0x60];
revert(memory[temp24:temp24 + (temp23 + 0x60) - temp24]);
}
} else if (var2 < 0x0000000000000000000000000000000000000000000000000000000000000002) { goto label_0EC3; }
else { goto label_0E8D; }
} else {
var temp25 = memory[0x40:0x60];
memory[temp25:temp25 + 0x20] = 0x461bcd << 0xe5;
memory[temp25 + 0x04:temp25 + 0x04 + 0x20] = 0x20;
memory[temp25 + 0x24:temp25 + 0x24 + 0x20] = 0x16;
memory[temp25 + 0x44:temp25 + 0x44 + 0x20] = 0x53656e646572206973206e6f74206120706c6179657200000000000000000000;
var temp26 = memory[0x40:0x60];
revert(memory[temp26:temp26 + temp25 - temp26 + 0x64]);
}
} else {
var temp27 = memory[0x40:0x60];
memory[temp27:temp27 + 0x20] = 0x461bcd << 0xe5;
var temp28 = temp27 + 0x04;
var temp29 = temp28 + 0x20;
memory[temp28:temp28 + 0x20] = temp29 - temp28;
memory[temp29:temp29 + 0x20] = 0x21;
var temp30 = temp29 + 0x20;
memory[temp30:temp30 + 0x21] = code[0x2b73:0x2b94];
var temp31 = memory[0x40:0x60];
revert(memory[temp31:temp31 + (temp30 + 0x40) - temp31]);
}
} else {
var temp32 = memory[0x40:0x60];
memory[temp32:temp32 + 0x20] = 0x461bcd << 0xe5;
memory[temp32 + 0x04:temp32 + 0x04 + 0x20] = 0x20;
memory[temp32 + 0x24:temp32 + 0x24 + 0x20] = 0x10;
memory[temp32 + 0x44:temp32 + 0x44 + 0x20] = 0x14185d5cd8589b194e881c185d5cd959 << 0x82;
var temp33 = memory[0x40:0x60];
revert(memory[temp33:temp33 + temp32 - temp33 + 0x64]);
}
} else { revert(memory[0x00:0x00]); }
} else if (0x638126f8 > var0) {
if (var0 == 0x5c975abb) {
// Dispatch table entry for paused()
var1 = 0x02e0;
var1 = paused();
label_02E0:
var temp34 = memory[0x40:0x60];
memory[temp34:temp34 + 0x20] = !!var1;
var temp35 = memory[0x40:0x60];
return memory[temp35:temp35 + temp34 - temp35 + 0x20];
} else if (var0 == 0x5edafd5a) {
// Dispatch table entry for 0x5edafd5a (unknown)
var1 = 0x0284;
var2 = customFee();
goto label_0284;
} else if (var0 == 0x5faeea37) {
// Dispatch table entry for 0x5faeea37 (unknown)
var1 = 0x0284;
var2 = func_1092();
goto label_0284;
} else if (var0 == 0x63380300) {
// Dispatch table entry for 0x63380300 (lendingPoolAddressProvider)
var1 = 0x030c;
var2 = lendingPoolAddressProvider();
label_030C:
var temp36 = memory[0x40:0x60];
memory[temp36:temp36 + 0x20] = var2 & (0x01 << 0xa0) - 0x01;
var temp37 = memory[0x40:0x60];
return memory[temp37:temp37 + temp36 - temp37 + 0x20];
} else { revert(memory[0x00:0x00]); }
} else if (0x715018a6 > var0) {
if (var0 == 0x638126f8) {
// Dispatch table entry for 0x638126f8 (unknown)
var1 = 0x030c;
var2 = func_10BC();
goto label_030C;
} else if (var0 == 0x6a79328a) {
// Dispatch table entry for 0x6a79328a (unknown)
var1 = 0x0284;
var2 = func_10E0();
goto label_0284;
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0x715018a6) {
// Dispatch table entry for renounceOwnership()
var1 = 0x02a6;
renounceOwnership();
stop();
} else if (var0 == 0x7a23032c) {
// Dispatch table entry for 0x7a23032c (unknown)
var1 = 0x0284;
var2 = adminFeeAmount();
goto label_0284;
} else if (var0 == 0x7c80e6da) {
// Dispatch table entry for 0x7c80e6da (unknown)
var1 = 0x0284;
var2 = func_11B7();
goto label_0284;
} else { revert(memory[0x00:0x00]); }
} else if (0xd013666e > var0) {
if (0xa59a9973 > var0) {
if (var0 == 0x8456cb59) {
// Dispatch table entry for pause()
var1 = 0x02a6;
pause();
stop();
} else if (var0 == 0x8da5cb5b) {
// Dispatch table entry for owner()
var1 = 0x030c;
var1 = owner();
goto label_030C;
} else if (var0 == 0x95224b33) {
// Dispatch table entry for 0x95224b33 (unknown)
var1 = 0x0284;
var2 = func_12B3();
goto label_0284;
} else if (var0 == 0xa2fb1175) {
// Dispatch table entry for winners(uint256)
var1 = 0x030c;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 = winners(var2, var3);
goto label_030C;
} else { revert(memory[0x00:0x00]); }
} else if (0xaad739f5 > var0) {
if (var0 == 0xa59a9973) {
// Dispatch table entry for lendingPool()
var1 = 0x030c;
var2 = lendingPool();
goto label_030C;
} else if (var0 == 0xa98a5c94) {
// Dispatch table entry for 0xa98a5c94 (unknown)
var1 = 0x030c;
var2 = adaiToken();
goto label_030C;
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0xaad739f5) {
// Dispatch table entry for 0xaad739f5 (unknown)
var1 = 0x030c;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 = func_03AB(var2, var3);
goto label_030C;
} else if (var0 == 0xbe22f546) {
// Dispatch table entry for daiToken()
var1 = 0x030c;
var2 = daiToken();
goto label_030C;
} else if (var0 == 0xc39b583c) {
// Dispatch table entry for 0xc39b583c (unknown)
var1 = 0x02e0;
var1 = whenGameIsCompleted();
goto label_02E0;
} else { revert(memory[0x00:0x00]); }
} else if (0xf18d20be > var0) {
if (0xe0236a18 > var0) {
if (var0 == 0xd013666e) {
// Dispatch table entry for 0xd013666e (unknown)
var1 = 0x0284;
var2 = func_1375();
goto label_0284;
} else if (var0 == 0xd4f77b1c) {
// Dispatch table entry for joinGame()
var1 = 0x02a6;
var2 = 0x13a1;
var2 = paused();
if (!var2) {
var2 = 0x0d3d;
func_265E();
// Error: Could not resolve jump destination!
} else {
var temp38 = memory[0x40:0x60];
memory[temp38:temp38 + 0x20] = 0x461bcd << 0xe5;
memory[temp38 + 0x04:temp38 + 0x04 + 0x20] = 0x20;
memory[temp38 + 0x24:temp38 + 0x24 + 0x20] = 0x10;
memory[temp38 + 0x44:temp38 + 0x44 + 0x20] = 0x14185d5cd8589b194e881c185d5cd959 << 0x82;
var temp39 = memory[0x40:0x60];
revert(memory[temp39:temp39 + temp38 - temp39 + 0x64]);
}
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0xe0236a18) {
// Dispatch table entry for 0xe0236a18 (unknown)
var1 = 0x02a6;
adminFeeWithdraw();
stop();
} else if (var0 == 0xe231bff0) {
// Dispatch table entry for redeemed()
var1 = 0x02e0;
var2 = redeemed();
goto label_02E0;
} else if (var0 == 0xe2eb41ff) {
// Dispatch table entry for players(address)
var1 = 0x0408;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var var6;
var2, var3, var4, var5, var6 = players(var2);
var temp40 = memory[0x40:0x60];
memory[temp40:temp40 + 0x20] = var2 & (0x01 << 0xa0) - 0x01;
memory[temp40 + 0x20:temp40 + 0x20 + 0x20] = !!var3;
memory[temp40 + 0x40:temp40 + 0x40 + 0x20] = !!var4;
memory[temp40 + 0x60:temp40 + 0x60 + 0x20] = var5;
memory[temp40 + 0x80:temp40 + 0x80 + 0x20] = var6;
var temp41 = memory[0x40:0x60];
return memory[temp41:temp41 + temp40 - temp41 + 0xa0];
} else { revert(memory[0x00:0x00]); }
} else if (0xf5c97867 > var0) {
if (var0 == 0xf18d20be) {
// Dispatch table entry for adminWithdraw()
var1 = 0x02e0;
var2 = adminWithdraw();
goto label_02E0;
} else if (var0 == 0xf2fde38b) {
// Dispatch table entry for transferOwnership(address)
var1 = 0x02a6;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
transferOwnership(var2, var3);
stop();
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0xf5c97867) {
// Dispatch table entry for 0xf5c97867 (unknown)
var1 = 0x0284;
var1 = getCurrentSegment();
goto label_0284;
} else if (var0 == 0xf8dd5ad3) {
// Dispatch table entry for 0xf8dd5ad3 (unknown)
var1 = 0x02a6;
redeemFromExternalPool();
stop();
} else if (var0 == 0xfd6673f5) {
// Dispatch table entry for getNumberOfPlayers()
var1 = 0x0284;
var1 = getNumberOfPlayers();
goto label_0284;
} else { revert(memory[0x00:0x00]); }
}
function winners(var arg0, var arg1) returns (var arg0) {
arg0 = msg.data[arg0:arg0 + 0x20];
arg1 = 0x0a;
var var0 = arg0;
if (var0 >= storage[arg1]) { assert(); }
memory[0x00:0x20] = arg1;
return storage[keccak256(memory[0x00:0x20]) + var0] & (0x01 << 0xa0) - 0x01;
}
function func_03AB(var arg0, var arg1) returns (var arg0) {
arg0 = msg.data[arg0:arg0 + 0x20];
arg1 = 0x09;
var var0 = arg0;
if (var0 >= storage[arg1]) { assert(); }
memory[0x00:0x20] = arg1;
return storage[keccak256(memory[0x00:0x20]) + var0] & (0x01 << 0xa0) - 0x01;
}
function players(var arg0) returns (var arg0, var r1, var r2, var r3, var r4) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x08;
memory[0x00:0x20] = arg0;
var temp0 = keccak256(memory[0x00:0x40]);
var temp1 = storage[temp0];
r3 = storage[temp0 + 0x01];
arg0 = temp1 & (0x01 << 0xa0) - 0x01;
r1 = temp1 / (0x01 << 0xa0) & 0xff;
r2 = temp1 / (0x01 << 0xa8) & 0xff;
r4 = storage[temp0 + 0x02];
return arg0, r1, r2, r3, r4;
}
function transferOwnership(var arg0, var arg1) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = 0x182e;
arg1 = msgsender();
arg1 = arg1 & (0x01 << 0xa0) - 0x01;
var var0 = 0x183f;
var0 = owner();
if (var0 & (0x01 << 0xa0) - 0x01 != arg1) {
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;
memory[temp7 + 0x44:temp7 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; //Ownable: caller is not the owner
var temp8 = memory[0x40:0x60];
revert(memory[temp8:temp8 + temp7 - temp8 + 0x64]);
} else if (arg0 & (0x01 << 0xa0) - 0x01) {
var temp0 = (0x01 << 0xa0) - 0x01;
var temp1 = arg0;
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]);
storage[0x00] = (temp1 & (0x01 << 0xa0) - 0x01) | (storage[0x00] & ~0xffffffffffffffffffffffffffffffffffffffff);
return;
} else {
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] = 0x26;
var temp5 = temp4 + 0x20;
memory[temp5:temp5 + 0x26] = code[0x29d8:0x29fe];
var temp6 = memory[0x40:0x60];
revert(memory[temp6:temp6 + (temp5 + 0x40) - temp6]);
}
}
function func_0483() returns (var r0) { return 0x0000000000000000000000000000000000000000000000008ac7230489e80000; }
function func_04A7() returns (var r0) { return 0x0000000000000000000000000000000000000000000000000000000000000002; }
function earlyWithdraw() {
var var0 = 0x04d3;
var0 = paused();
if (!var0) {
var0 = 0x0520;
var0 = whenGameIsCompleted();
if (!var0) {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
var0 = keccak256(memory[0x00:0x40]);
if (!storage[var0 + 0x02]) {
var temp24 = memory[0x40:0x60];
memory[temp24:temp24 + 0x20] = 0x461bcd << 0xe5;
memory[temp24 + 0x04:temp24 + 0x04 + 0x20] = 0x20;
memory[temp24 + 0x24:temp24 + 0x24 + 0x20] = 0x15;
memory[temp24 + 0x44:temp24 + 0x44 + 0x20] = 0x506c6179657220646f6573206e6f742065786973740000000000000000000000;
var temp25 = memory[0x40:0x60];
revert(memory[temp25:temp25 + temp24 - temp25 + 0x64]);
} else if (!(storage[var0] / (0x01 << 0xa0) & 0xff)) {
var temp0 = var0;
storage[temp0] = (storage[temp0] & ~(0xff << 0xa0)) | (0x01 << 0xa0);
var var1 = 0x065a;
var var2 = storage[0x06];
var var3 = 0x01;
var1 = safeSub(var2, var3);
storage[0x06] = var1;
var1 = 0x00;
var2 = 0x06bd;
var3 = 0x06ac;
var var4 = 0x64;
var var5 = 0x06a0;
var var6 = storage[var0 + 0x02];
var var7 = 0x0000000000000000000000000000000000000000000000000000000000000001;
var5 = func_1EDF(var6, var7);
var3 = func_06A0(var4, var5);
var2 = func_06AC(var0, var3);
var1 = var2;
var2 = 0x06d8;
var3 = storage[0x02];
var4 = storage[var0 + 0x02];
var2 = safeSub(var3, var4);
storage[0x02] = var2;
var2 = 0x00;
var3 = 0x06e5;
var3 = getCurrentSegment();
var2 = var3;
if (var2) {
var temp1 = memory[0x40:0x60];
var temp2 = var1;
memory[temp1:temp1 + 0x20] = temp2;
memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = storage[0x02];
var temp3 = memory[0x40:0x60];
log(memory[temp3:temp3 + temp1 - temp3 + 0x40], [0x1670585e36568ede58d159518ce92cad99f75ad41c7d8281df3dd4eaa0c855d0, msg.sender]);
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x1a4ca37b << 0xe2;
var temp5 = (0x01 << 0xa0) - 0x01;
memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = temp5 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = temp2;
memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = address(this);
var3 = storage[0x07] & temp5;
var4 = 0x69328dec;
var5 = temp4 + 0x64;
var6 = 0x00;
var7 = memory[0x40:0x60];
var var8 = temp4 - var7 + 0x64;
var var9 = var7;
var var10 = var6;
var var11 = var3;
var var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
label_07B8:
var temp6;
temp6, memory[var7:var7 + var6] = address(var11).call.gas(msg.gas).value(var10)(memory[var9:var9 + var8]);
var6 = !temp6;
if (!var6) {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0xa9059cbb << 0xe0;
memory[temp7 + 0x04:temp7 + 0x04 + 0x20] = msg.sender;
memory[temp7 + 0x24:temp7 + 0x24 + 0x20] = var1;
var3 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var4 = 0xa9059cbb;
var5 = temp7 + 0x44;
var6 = 0x20;
var7 = memory[0x40:0x60];
var8 = temp7 - var7 + 0x44;
var9 = var7;
var10 = 0x00;
var11 = var3;
var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
var temp8;
temp8, memory[var7:var7 + var6] = address(var11).call.gas(msg.gas).value(var10)(memory[var9:var9 + var8]);
var6 = !temp8;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var3:var3 + 0x20]) { 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] = 0x2f;
var temp12 = temp11 + 0x20;
memory[temp12:temp12 + 0x2f] = code[0x297b:0x29aa];
var temp13 = memory[0x40:0x60];
revert(memory[temp13:temp13 + (temp12 + 0x40) - temp13]);
} else {
var temp14 = returndata.length;
memory[0x00:0x00 + temp14] = returndata[0x00:0x00 + temp14];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp15 = returndata.length;
memory[0x00:0x00 + temp15] = returndata[0x00:0x00 + temp15];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp16 = var0;
storage[temp16] = (storage[temp16] & ~(0xff << 0xa8)) | (0x01 << 0xa8);
var temp17 = memory[0x40:0x60];
var temp18 = var1;
memory[temp17:temp17 + 0x20] = temp18;
memory[temp17 + 0x20:temp17 + 0x20 + 0x20] = storage[0x02];
var temp19 = memory[0x40:0x60];
log(memory[temp19:temp19 + temp17 - temp19 + 0x40], [0x1670585e36568ede58d159518ce92cad99f75ad41c7d8281df3dd4eaa0c855d0, msg.sender]);
var temp20 = memory[0x40:0x60];
memory[temp20:temp20 + 0x20] = 0x1a4ca37b << 0xe2;
var temp21 = (0x01 << 0xa0) - 0x01;
memory[temp20 + 0x04:temp20 + 0x04 + 0x20] = temp21 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
memory[temp20 + 0x24:temp20 + 0x24 + 0x20] = temp18;
memory[temp20 + 0x44:temp20 + 0x44 + 0x20] = address(this);
var3 = storage[0x07] & temp21;
var4 = 0x69328dec;
var5 = temp20 + 0x64;
var6 = 0x00;
var7 = memory[0x40:0x60];
var8 = temp20 - var7 + 0x64;
var9 = var7;
var10 = var6;
var11 = var3;
var12 = !address(var11).code.length;
if (!var12) { goto label_07B8; }
else { revert(memory[0x00:0x00]); }
}
} else {
var temp22 = memory[0x40:0x60];
memory[temp22:temp22 + 0x20] = 0x461bcd << 0xe5;
memory[temp22 + 0x04:temp22 + 0x04 + 0x20] = 0x20;
memory[temp22 + 0x24:temp22 + 0x24 + 0x20] = 0x1c;
memory[temp22 + 0x44:temp22 + 0x44 + 0x20] = 0x506c617965722068617320616c72656164792077697468647261776e00000000;
var temp23 = memory[0x40:0x60];
revert(memory[temp23:temp23 + temp22 - temp23 + 0x64]);
}
} else {
var temp26 = memory[0x40:0x60];
memory[temp26:temp26 + 0x20] = 0x461bcd << 0xe5;
memory[temp26 + 0x04:temp26 + 0x04 + 0x20] = 0x20;
memory[temp26 + 0x24:temp26 + 0x24 + 0x20] = 0x19;
memory[temp26 + 0x44:temp26 + 0x44 + 0x20] = 0x47616d6520697320616c726561647920636f6d706c6574656400000000000000;
var temp27 = memory[0x40:0x60];
revert(memory[temp27:temp27 + temp26 - temp27 + 0x64]);
}
} else {
var temp28 = memory[0x40:0x60];
memory[temp28:temp28 + 0x20] = 0x461bcd << 0xe5;
memory[temp28 + 0x04:temp28 + 0x04 + 0x20] = 0x20;
memory[temp28 + 0x24:temp28 + 0x24 + 0x20] = 0x10;
memory[temp28 + 0x44:temp28 + 0x44 + 0x20] = 0x14185d5cd8589b194e881c185d5cd959 << 0x82;
var temp29 = memory[0x40:0x60];
revert(memory[temp29:temp29 + temp28 - temp29 + 0x64]);
}
}
function func_06A0(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = arg1;
arg1 = temp0;
r0 = safeDiv(arg0, arg1);
// Error: Could not resolve method call return address!
}
function func_06AC(var arg0, var arg1) returns (var r0) {
var temp0 = arg1;
arg1 = storage[arg0 + 0x02];
var var0 = temp0;
r0 = safeSub(arg1, var0);
// Error: Could not resolve method call return address!
}
function func_08AB() returns (var r0) { return 0x0000000000000000000000000000000000000000000000000000000000000001; }
function activePlayersCount() returns (var r0) { return storage[0x06]; }
function withdraw() {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
var var0 = keccak256(memory[0x00:0x40]);
if (!storage[var0 + 0x02]) { //require(player.amountPaid > 0, "Player does not exist");
var temp22 = memory[0x40:0x60];
memory[temp22:temp22 + 0x20] = 0x461bcd << 0xe5;
memory[temp22 + 0x04:temp22 + 0x04 + 0x20] = 0x20;
memory[temp22 + 0x24:temp22 + 0x24 + 0x20] = 0x15;
memory[temp22 + 0x44:temp22 + 0x44 + 0x20] = 0x506c6179657220646f6573206e6f742065786973740000000000000000000000; //Player does not exist
var temp23 = memory[0x40:0x60];
revert(memory[temp23:temp23 + temp22 - temp23 + 0x64]);
} else if (!(storage[var0] / (0x01 << 0xa0) & 0xff)) {
var temp0 = var0;
storage[temp0] = (storage[temp0] & ~(0xff << 0xa0)) | (0x01 << 0xa0);
if (storage[0x00] / (0x01 << 0xa8) & 0xff) {
label_09C2:
var var1 = storage[var0 + 0x02];
var var2 = 0x00;
var var3 = 0x09fa;
var var4 = 0x0000000000000000000000000000000000000000000000000000000000000002;
var var5 = 0x01;
var3 = safeSub(var4, var5);
if (storage[var0 + 0x01] != var3) {
label_0A4F:
var temp1 = memory[0x40:0x60];
var temp2 = var1;
memory[temp1:temp1 + 0x20] = temp2;
memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = 0x00;
memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = var2;
var temp3 = memory[0x40:0x60];
log(memory[temp3:temp3 + temp1 - temp3 + 0x60], [0x650fdf669e93aa6c8ff3defe2da9c12b64f1548e5e1e54e803f4c1beb6466c8e, msg.sender]);
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0xa9059cbb << 0xe0;
memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = msg.sender;
memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = temp2;
var3 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var4 = 0xa9059cbb;
var5 = temp4 + 0x44;
var var6 = 0x20;
var var7 = memory[0x40:0x60];
var var8 = temp4 - var7 + 0x44;
var var9 = var7;
var var10 = 0x00;
var var11 = var3;
var var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
var temp5;
temp5, memory[var7:var7 + var6] = address(var11).call.gas(msg.gas).value(var10)(memory[var9:var9 + var8]);
var6 = !temp5;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
if (!memory[var3:var3 + 0x20]) {
var temp14 = memory[0x40:0x60];
memory[temp14:temp14 + 0x20] = 0x461bcd << 0xe5;
var temp15 = temp14 + 0x04;
var temp16 = temp15 + 0x20;
memory[temp15:temp15 + 0x20] = temp16 - temp15;
memory[temp16:temp16 + 0x20] = 0x29;
var temp17 = temp16 + 0x20;
memory[temp17:temp17 + 0x29] = code[0x2ab7:0x2ae0];
var temp18 = memory[0x40:0x60];
revert(memory[temp18:temp18 + (temp17 + 0x40) - temp18]);
} else if (!var2) {
label_08A6:
return;
} else {
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = 0xa9059cbb << 0xe0;
memory[temp6 + 0x04:temp6 + 0x04 + 0x20] = msg.sender;
memory[temp6 + 0x24:temp6 + 0x24 + 0x20] = var2;
var3 = 0x000000000000000000000000471ece3750da237f93b8e339c536989b8978a438 & (0x01 << 0xa0) - 0x01;
var4 = 0xa9059cbb;
var5 = temp6 + 0x44;
var6 = 0x20;
var7 = memory[0x40:0x60];
var8 = temp6 - var7 + 0x44;
var9 = var7;
var10 = 0x00;
var11 = var3;
var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
var temp7;
temp7, memory[var7:var7 + var6] = address(var11).call.gas(msg.gas).value(var10)(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]) { goto label_08A6; }
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] = 0x33;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x33] = code[0x2bda:0x2c0d];
var temp12 = memory[0x40:0x60];
revert(memory[temp12:temp12 + (temp11 + 0x40) - temp12]);
} else {
var temp13 = returndata.length;
memory[0x00:0x00 + temp13] = returndata[0x00:0x00 + temp13];
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 {
var3 = 0x0a2c;
var4 = 0x0a1f;
var6 = storage[0x0a];
var5 = storage[0x01];
var4 = safeDiv(var5, var6);
var3 = func_0A1F(var1, var4);
var1 = var3;
if (!storage[0x05]) { goto label_0A4F; }
var4 = storage[0x05];
var5 = storage[0x0a];
var3 = 0x0a4c;
var3 = safeDiv(var4, var5);
var2 = var3;
goto label_0A4F;
}
} else {
var1 = 0x09c2;
redeemFromExternalPool();
goto label_09C2;
}
} else { //require(!player.withdrawn, "Player has already withdrawn");
var temp20 = memory[0x40:0x60];
memory[temp20:temp20 + 0x20] = 0x461bcd << 0xe5;
memory[temp20 + 0x04:temp20 + 0x04 + 0x20] = 0x20;
memory[temp20 + 0x24:temp20 + 0x24 + 0x20] = 0x1c;
memory[temp20 + 0x44:temp20 + 0x44 + 0x20] = 0x506c617965722068617320616c72656164792077697468647261776e00000000; //Player has already withdrawn
var temp21 = memory[0x40:0x60];
revert(memory[temp21:temp21 + temp20 - temp21 + 0x64]);
}
}
function func_0A1F(var arg0, var arg1) returns (var r0) {
var temp0 = arg1;
arg1 = arg0;
var var0 = temp0;
r0 = func_1FA6(arg1, var0);
// Error: Could not resolve method call return address!
}
function func_0C44() returns (var r0) { return 0x0000000000000000000000000000000000000000000000000000000061641a6f; }
function unpause() {
var var0 = 0x0c70;
var0 = msgsender();
var0 = var0 & (0x01 << 0xa0) - 0x01;
var var1 = 0x0c81;
var1 = owner();
if (var1 & (0x01 << 0xa0) - 0x01 == var0) {
var0 = 0x0ce4;
var0 = paused();
if (var0) {
var0 = 0x0d3d;
func_2004();
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] = 0x14;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x5061757361626c653a206e6f7420706175736564000000000000000000000000;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
} else {
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20;
memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x20;
memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; //Ownable: caller is not the owner
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
}
function paused() returns (var r0) { return storage[0x00] / (0x01 << 0xa0) & 0xff; }
function customFee() returns (var r0) { return 0x0000000000000000000000000000000000000000000000000000000000000000; }
function func_1092() returns (var r0) { return storage[0x02]; }
function lendingPoolAddressProvider() returns (var r0) { return 0x000000000000000000000000d1088091a174d33412a968fa34cb67131188b332; }
function func_10BC() returns (var r0) { return 0x000000000000000000000000471ece3750da237f93b8e339c536989b8978a438; }
function func_10E0() returns (var r0) { return storage[0x05]; }
function renounceOwnership() {
var var0 = 0x10ee;
var0 = msgsender();
var0 = var0 & (0x01 << 0xa0) - 0x01;
var var1 = 0x10ff;
var1 = owner();
if (var1 & (0x01 << 0xa0) - 0x01 == var0) {
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, 0x00]);
storage[0x00] = storage[0x00] & ~0xffffffffffffffffffffffffffffffffffffffff;
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] = 0x20;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; //Ownable: caller is not the owner
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function adminFeeAmount() returns (var r0) { return storage[0x03]; }
function func_11B7() returns (var r0) { return 0x00000000000000000000000000000000000000000000000000000000000002bc; }
function pause() {
var var0 = 0x11e3;
var0 = msgsender();
var0 = var0 & (0x01 << 0xa0) - 0x01;
var var1 = 0x11f4;
var1 = owner();
if (var1 & (0x01 << 0xa0) - 0x01 == var0) {
var0 = 0x1257;
var0 = paused();
if (!var0) {
var0 = 0x0d3d;
func_25D5();
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] = 0x10;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x14185d5cd8589b194e881c185d5cd959 << 0x82;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
} else {
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20;
memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x20;
memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; //Ownable: caller is not the owner
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
}
function owner() returns (var r0) { return storage[0x00] & (0x01 << 0xa0) - 0x01; }
function func_12B3() returns (var r0) { return storage[0x01]; }
function lendingPool() returns (var r0) { return storage[0x07] & (0x01 << 0xa0) - 0x01; }
function adaiToken() returns (var r0) { return 0x000000000000000000000000918146359264c492bd6934071c6bd31c854edbc3; }
function daiToken() returns (var r0) { return 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a; }
function whenGameIsCompleted() returns (var r0) {
var var0 = 0x00;
var var1 = 0x0000000000000000000000000000000000000000000000000000000000000002;
var var2 = 0x136f;
var2 = getCurrentSegment();
return var2 > var1;
}
function func_1375() returns (var r0) { return 0x0000000000000000000000000000000000000000000000000000000000093a80; }
function adminFeeWithdraw() {
var var0 = 0x13f6;
var0 = msgsender();
var0 = var0 & (0x01 << 0xa0) - 0x01;
var var1 = 0x1407;
var1 = owner();
if (var1 & (0x01 << 0xa0) - 0x01 == var0) {
var0 = 0x146a;
var0 = whenGameIsCompleted();
if (!var0) {
var temp31 = memory[0x40:0x60];
memory[temp31:temp31 + 0x20] = 0x461bcd << 0xe5;
memory[temp31 + 0x04:temp31 + 0x04 + 0x20] = 0x20;
memory[temp31 + 0x24:temp31 + 0x24 + 0x20] = 0x15;
memory[temp31 + 0x44:temp31 + 0x44 + 0x20] = 0x47616d65206973206e6f7420636f6d706c657465640000000000000000000000;
var temp32 = memory[0x40:0x60];
revert(memory[temp32:temp32 + temp31 - temp32 + 0x64]);
} else if (!(storage[0x00] / (0x01 << 0xa8) & 0xff)) {
var temp26 = memory[0x40:0x60];
memory[temp26:temp26 + 0x20] = 0x461bcd << 0xe5;
var temp27 = temp26 + 0x04;
var temp28 = temp27 + 0x20;
memory[temp27:temp27 + 0x20] = temp28 - temp27;
memory[temp28:temp28 + 0x20] = 0x25;
var temp29 = temp28 + 0x20;
memory[temp29:temp29 + 0x25] = code[0x2a69:0x2a8e];
var temp30 = memory[0x40:0x60];
revert(memory[temp30:temp30 + (temp29 + 0x40) - temp30]);
} else if (!(storage[0x04] & 0xff)) {
storage[0x04] = (storage[0x04] & ~0xff) | 0x01;
var0 = 0x00;
var1 = !storage[0x0a];
if (!var1) {
if (!var1) {
label_1587:
var1 = 0x158f;
var1 = owner();
label_158F:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = storage[0x01];
var temp1 = temp0 + 0x20;
memory[temp1:temp1 + 0x20] = storage[0x03];
var temp2 = temp1 + 0x20;
memory[temp2:temp2 + 0x20] = var0;
var temp3 = memory[0x40:0x60];
log(memory[temp3:temp3 + (temp2 + 0x20) - temp3], [0x80ebcacc706983394bb8fcc88ea7b9241338fb4617fffbea411b68b40ed5627e, stack[-1] & (0x01 << 0xa0) - 0x01]);
if (!storage[0x03]) {
label_16DB:
if (!var0) {
label_105B:
return;
} else {
var1 = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000471ece3750da237f93b8e339c536989b8978a438;
var var2 = 0xa9059cbb;
var var3 = 0x1718;
var3 = owner();
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = (var2 & 0xffffffff) << 0xe0;
var temp5 = temp4 + 0x04;
memory[temp5:temp5 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + 0x20] = var0;
var3 = temp6 + 0x20;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = var3 - var5;
var var7 = var5;
var var8 = 0x00;
var var9 = var1;
var var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp7;
temp7, memory[var5:var5 + var4] = address(var9).call.gas(msg.gas).value(var8)(memory[var7:var7 + var6]);
var4 = !temp7;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var1:var1 + 0x20]) { goto label_105B; }
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] = 0x2f;
var temp11 = temp10 + 0x20;
memory[temp11:temp11 + 0x2f] = code[0x2b01:0x2b30];
var temp12 = memory[0x40:0x60];
revert(memory[temp12:temp12 + (temp11 + 0x40) - temp12]);
} else {
var temp13 = returndata.length;
memory[0x00:0x00 + temp13] = returndata[0x00:0x00 + temp13];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var1 = (0x01 << 0xa0) - 0x01 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
var2 = 0xa9059cbb;
var3 = 0x1622;
var3 = owner();
var temp14 = memory[0x40:0x60];
memory[temp14:temp14 + 0x20] = (var2 & 0xffffffff) << 0xe0;
var temp15 = temp14 + 0x04;
memory[temp15:temp15 + 0x20] = var3 & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01;
var temp16 = temp15 + 0x20;
memory[temp16:temp16 + 0x20] = storage[0x03];
var3 = temp16 + 0x20;
var4 = 0x20;
var5 = memory[0x40:0x60];
var6 = var3 - var5;
var7 = var5;
var8 = 0x00;
var9 = var1;
var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp17;
temp17, memory[var5:var5 + var4] = address(var9).call.gas(msg.gas).value(var8)(memory[var7:var7 + var6]);
var4 = !temp17;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var1:var1 + 0x20]) { goto label_16DB; }
var temp18 = memory[0x40:0x60];
memory[temp18:temp18 + 0x20] = 0x461bcd << 0xe5;
var temp19 = temp18 + 0x04;
var temp20 = temp19 + 0x20;
memory[temp19:temp19 + 0x20] = temp20 - temp19;
memory[temp20:temp20 + 0x20] = 0x25;
var temp21 = temp20 + 0x20;
memory[temp21:temp21 + 0x25] = code[0x29fe:0x2a23];
var temp22 = memory[0x40:0x60];
revert(memory[temp22:temp22 + (temp21 + 0x40) - temp22]);
} else {
var temp23 = returndata.length;
memory[0x00:0x00 + temp23] = returndata[0x00:0x00 + temp23];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
label_1583:
var0 = storage[0x05];
var1 = 0x158f;
var1 = owner();
goto label_158F;
}
} else if (storage[0x05] <= 0x00) { goto label_1587; }
else { goto label_1583; }
} else {
var temp24 = memory[0x40:0x60];
memory[temp24:temp24 + 0x20] = 0x461bcd << 0xe5;
memory[temp24 + 0x04:temp24 + 0x04 + 0x20] = 0x20;
memory[temp24 + 0x24:temp24 + 0x24 + 0x20] = 0x1b;
memory[temp24 + 0x44:temp24 + 0x44 + 0x20] = 0x41646d696e2068617320616c72656164792077697468647261776e0000000000;
var temp25 = memory[0x40:0x60];
revert(memory[temp25:temp25 + temp24 - temp25 + 0x64]);
}
} else {
var temp33 = memory[0x40:0x60];
memory[temp33:temp33 + 0x20] = 0x461bcd << 0xe5;
memory[temp33 + 0x04:temp33 + 0x04 + 0x20] = 0x20;
memory[temp33 + 0x24:temp33 + 0x24 + 0x20] = 0x20;
memory[temp33 + 0x44:temp33 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; //Ownable: caller is not the owner
var temp34 = memory[0x40:0x60];
revert(memory[temp34:temp34 + temp33 - temp34 + 0x64]);
}
}
function redeemed() returns (var r0) { return storage[0x00] / (0x01 << 0xa8) & 0xff; }
function adminWithdraw() returns (var r0) { return storage[0x04] & 0xff; }
function getCurrentSegment() returns (var r0) {
var var0 = 0x00;
var var1 = 0x199d;
var var2 = 0x0000000000000000000000000000000000000000000000000000000000093a80;
var var3 = 0x06a0;
var var4 = block.timestamp;
var var5 = 0x0000000000000000000000000000000000000000000000000000000061641a6f;
var3 = safeSub(var4, var5);
return func_06A0(var2, var3);
}
function redeemFromExternalPool() {
var var0 = 0x19aa;
var0 = whenGameIsCompleted();
if (!var0) {
var temp33 = memory[0x40:0x60];
memory[temp33:temp33 + 0x20] = 0x461bcd << 0xe5;
memory[temp33 + 0x04:temp33 + 0x04 + 0x20] = 0x20;
memory[temp33 + 0x24:temp33 + 0x24 + 0x20] = 0x15;
memory[temp33 + 0x44:temp33 + 0x44 + 0x20] = 0x47616d65206973206e6f7420636f6d706c657465640000000000000000000000;
var temp34 = memory[0x40:0x60];
revert(memory[temp34:temp34 + temp33 - temp34 + 0x64]);
} else if (!(storage[0x00] / (0x01 << 0xa8) & 0xff)) {
var0 = 0x00;
storage[var0] = (storage[var0] & ~(0xff << 0xa8)) | (0x01 << 0xa8);
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x70a08231 << 0xe0;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = address(this);
var var1 = 0x000000000000000000000000918146359264c492bd6934071c6bd31c854edbc3 & (0x01 << 0xa0) - 0x01;
var var2 = 0x70a08231;
var var3 = temp0 + 0x24;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = temp0 - var5 + 0x24;
var var7 = var5;
var var8 = var1;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]);
var4 = !temp1;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var1:var1 + 0x20] <= var0) {
label_1B84:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x70a08231 << 0xe0;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = address(this);
var0 = 0x00;
var1 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var2 = 0x70a08231;
var3 = temp2 + 0x24;
var4 = 0x20;
var5 = memory[0x40:0x60];
var6 = temp2 - var5 + 0x24;
var7 = var5;
var8 = var1;
var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp3;
temp3, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]);
var4 = !temp3;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
var0 = memory[var1:var1 + 0x20];
if (!((0x01 << 0xa0) - 0x01 & 0x000000000000000000000000471ece3750da237f93b8e339c536989b8978a438)) {
label_1CE1:
var1 = 0x00;
if (var0 <= storage[0x02]) {
label_1D05:
var2 = 0x00;
if (!0x0000000000000000000000000000000000000000000000000000000000000000) {
storage[0x01] = var1;
var2 = 0x00;
if (storage[0x0a]) {
label_1D96:
storage[0x03] = var2;
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = var0;
memory[temp4 + 0x20:temp4 + 0x20 + 0x20] = storage[0x02];
memory[temp4 + 0x40:temp4 + 0x40 + 0x20] = storage[0x01];
memory[temp4 + 0x60:temp4 + 0x60 + 0x20] = 0x00;
memory[temp4 + 0x80:temp4 + 0x80 + 0x20] = storage[0x05];
var temp5 = memory[0x40:0x60];
log(memory[temp5:temp5 + temp4 - temp5 + 0xa0], [0x28d72925fdcea205b246c820015bd35812a740d1ec1a5cdc84f7784b50940fbb]);
var3 = 0xdbb9607e18553d40c255226e09883b48f92a108f6f895b0f37db6ae0d7fd56e6;
var4 = 0x0a;
var temp6 = memory[0x40:0x60];
var5 = temp6;
var6 = var5;
var temp7 = var6 + 0x20;
memory[var6:var6 + 0x20] = temp7 - var6;
var8 = var4;
memory[temp7:temp7 + 0x20] = storage[var8];
var7 = temp7 + 0x20;
var9 = storage[var8];
if (!var9) {
label_1E64:
var temp8 = memory[0x40:0x60];
log(memory[temp8:temp8 + var7 - temp8], [stack[-7]]);
return;
} else {
label_1E36:
var temp9 = var7;
var temp10 = temp9 + var9 * 0x20;
var7 = temp10;
memory[0x00:0x20] = var8;
var temp11 = keccak256(memory[0x00:0x20]);
memory[temp9:temp9 + 0x20] = storage[temp11] & (0x01 << 0xa0) - 0x01;
var8 = temp11 + 0x01;
var9 = temp9 + 0x20;
if (var7 <= var9) { goto label_1E64; }
label_1E46:
var temp12 = var8;
var temp13 = var9;
memory[temp13:temp13 + 0x20] = storage[temp12] & (0x01 << 0xa0) - 0x01;
var8 = temp12 + 0x01;
var9 = temp13 + 0x20;
if (var7 > var9) { goto label_1E46; }
else { goto label_1E64; }
}
} else {
label_1D8D:
storage[0x03] = var1;
var temp14 = memory[0x40:0x60];
memory[temp14:temp14 + 0x20] = var0;
memory[temp14 + 0x20:temp14 + 0x20 + 0x20] = storage[0x02];
memory[temp14 + 0x40:temp14 + 0x40 + 0x20] = storage[0x01];
memory[temp14 + 0x60:temp14 + 0x60 + 0x20] = 0x00;
memory[temp14 + 0x80:temp14 + 0x80 + 0x20] = storage[0x05];
var temp15 = memory[0x40:0x60];
log(memory[temp15:temp15 + temp14 - temp15 + 0xa0], [0x28d72925fdcea205b246c820015bd35812a740d1ec1a5cdc84f7784b50940fbb]);
var3 = 0xdbb9607e18553d40c255226e09883b48f92a108f6f895b0f37db6ae0d7fd56e6;
var4 = 0x0a;
var temp16 = memory[0x40:0x60];
var5 = temp16;
var6 = var5;
var temp17 = var6 + 0x20;
memory[var6:var6 + 0x20] = temp17 - var6;
var8 = var4;
memory[temp17:temp17 + 0x20] = storage[var8];
var7 = temp17 + 0x20;
var9 = storage[var8];
if (!var9) { goto label_1E64; }
else { goto label_1E36; }
}
} else {
var3 = 0x1d62;
var4 = 0x64;
var5 = 0x06a0;
var6 = var1;
var7 = 0x0000000000000000000000000000000000000000000000000000000000000000;
var5 = func_1EDF(var6, var7);
var3 = func_06A0(var4, var5);
var temp18 = var3;
var2 = temp18;
var3 = 0x1d74;
var4 = var1;
var5 = var2;
var3 = safeSub(var4, var5);
storage[0x01] = var3;
if (storage[0x0a]) { goto label_1D96; }
else { goto label_1D8D; }
}
} else {
var2 = 0x1d02;
var4 = storage[0x02];
var3 = var0;
var2 = safeSub(var3, var4);
var1 = var2;
goto label_1D05;
}
} else {
var temp19 = memory[0x40:0x60];
memory[temp19:temp19 + 0x20] = 0x70a08231 << 0xe0;
memory[temp19 + 0x04:temp19 + 0x04 + 0x20] = address(this);
var1 = 0x000000000000000000000000471ece3750da237f93b8e339c536989b8978a438 & (0x01 << 0xa0) - 0x01;
var2 = 0x70a08231;
var3 = temp19 + 0x24;
var4 = 0x20;
var5 = memory[0x40:0x60];
var6 = temp19 - var5 + 0x24;
var7 = var5;
var8 = var1;
var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp20;
temp20, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]);
var4 = !temp20;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
storage[0x05] = memory[var1:var1 + 0x20];
goto label_1CE1;
} else {
var temp21 = returndata.length;
memory[0x00:0x00 + temp21] = returndata[0x00:0x00 + temp21];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
var temp22 = returndata.length;
memory[0x00:0x00 + temp22] = returndata[0x00:0x00 + temp22];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp23 = memory[0x40:0x60];
memory[temp23:temp23 + 0x20] = 0x1a4ca37b << 0xe2;
var temp24 = (0x01 << 0xa0) - 0x01;
memory[temp23 + 0x04:temp23 + 0x04 + 0x20] = temp24 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
memory[temp23 + 0x24:temp23 + 0x24 + 0x20] = ~0x00;
memory[temp23 + 0x44:temp23 + 0x44 + 0x20] = address(this);
var0 = storage[0x07] & temp24;
var1 = 0x69328dec;
var2 = temp23 + 0x64;
var3 = 0x00;
var4 = memory[0x40:0x60];
var5 = temp23 - var4 + 0x64;
var6 = var4;
var7 = var3;
var8 = var0;
var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp25;
temp25, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]);
var3 = !temp25;
if (!var3) { goto label_1B84; }
var temp26 = returndata.length;
memory[0x00:0x00 + temp26] = returndata[0x00:0x00 + temp26];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp27 = returndata.length;
memory[0x00:0x00 + temp27] = returndata[0x00:0x00 + temp27];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp28 = memory[0x40:0x60];
memory[temp28:temp28 + 0x20] = 0x461bcd << 0xe5;
var temp29 = temp28 + 0x04;
var temp30 = temp29 + 0x20;
memory[temp29:temp29 + 0x20] = temp30 - temp29;
memory[temp30:temp30 + 0x20] = 0x2e;
var temp31 = temp30 + 0x20;
memory[temp31:temp31 + 0x2e] = code[0x29aa:0x29d8];
var temp32 = memory[0x40:0x60];
revert(memory[temp32:temp32 + (temp31 + 0x40) - temp32]);
}
}
function getNumberOfPlayers() returns (var r0) { return storage[0x09]; }
function safeSub(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (arg1 <= arg0) { return arg0 - arg1; }
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] = 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000; //SafeMath: subtraction overflow
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
function func_1EDF(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[0x2ae0:0x2b01];
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]);
}
function safeDiv(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (arg1 > var0) {
var var1 = arg1;
var var2 = arg0;
if (var1) { return var2 / var1; }
else { assert(); }
} 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] = 0x1a;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000; //SafeMath: division by zero
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function func_1FA6(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var temp0 = arg0;
var var1 = arg1 + temp0;
if (var1 >= temp0) { return var1; }
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x1b;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + temp1 - temp2 + 0x64]);
}
function msgsender() returns (var r0) { return msg.sender; }
function func_2004() {
var var0 = 0x200c;
var0 = paused();
if (var0) {
storage[0x00] = storage[0x00] & ~(0xff << 0xa0);
var0 = 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa;
var var1 = 0x2093;
var1 = msgsender();
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = var1 & (0x01 << 0xa0) - 0x01;
var temp1 = memory[0x40:0x60];
log(memory[temp1:temp1 + temp0 - temp1 + 0x20], [stack[-2]]);
return;
} else {
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] = 0x5061757361626c653a206e6f7420706175736564000000000000000000000000;
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
}
function _transferDaiToContract() {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0xdd62ed3e00000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = msg.sender;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = address(this);
var var0 = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var var1 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var var2 = 0xdd62ed3e;
var var3 = temp0 + 0x44;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = temp0 - var5 + 0x44;
var var7 = var5;
var var8 = var1;
var var9 = !address(var8).code.length;
if (var9) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]);
var4 = !temp1;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var1:var1 + 0x20] >= var0) {
var0 = 0x00;
var1 = 0x21cb;
var1 = getCurrentSegment();
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
var temp2 = keccak256(memory[0x00:0x40]);
storage[temp2 + 0x01] = var1;
var0 = var1;
var1 = 0x2218;
var2 = storage[temp2 + 0x02];
var3 = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var1 = func_1FA6(var2, var3);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
storage[keccak256(memory[0x00:0x40]) + 0x02] = var1;
var1 = 0x2261;
var2 = storage[0x02];
var3 = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var1 = func_1FA6(var2, var3);
storage[0x02] = var1;
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x23b872dd00000000000000000000000000000000000000000000000000000000;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = msg.sender;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = address(this);
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var1 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var2 = 0x23b872dd;
var3 = temp3 + 0x64;
var4 = 0x20;
var5 = memory[0x40:0x60];
var6 = temp3 - var5 + 0x64;
var7 = var5;
var8 = 0x00;
var9 = var1;
var var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp4;
temp4, memory[var5:var5 + var4] = address(var9).call.gas(msg.gas).value(var8)(memory[var7:var7 + var6]);
var4 = !temp4;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var1:var1 + 0x20]) {
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x70a08231 << 0xe0;
memory[temp5 + 0x04:temp5 + 0x04 + 0x20] = address(this);
var1 = 0x00;
var2 = 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a & (0x01 << 0xa0) - 0x01;
var3 = 0x70a08231;
var4 = temp5 + 0x24;
var5 = 0x20;
var6 = memory[0x40:0x60];
var7 = temp5 - var6 + 0x24;
var8 = var6;
var9 = var2;
var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp6;
temp6, memory[var6:var6 + var5] = address(var9).staticcall.gas(msg.gas)(memory[var8:var8 + var7]);
var5 = !temp6;
if (!var5) {
var2 = memory[0x40:0x60];
var3 = returndata.length;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var temp7 = memory[var2:var2 + 0x20];
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = 0x095ea7b300000000000000000000000000000000000000000000000000000000;
var temp9 = (0x01 << 0xa0) - 0x01;
memory[temp8 + 0x04:temp8 + 0x04 + 0x20] = temp9 & storage[0x07];
memory[temp8 + 0x24:temp8 + 0x24 + 0x20] = temp7;
var1 = temp7;
var2 = temp9 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
var3 = 0x095ea7b3;
var4 = temp8 + 0x44;
var5 = 0x20;
var6 = memory[0x40:0x60];
var7 = temp8 - var6 + 0x44;
var8 = var6;
var9 = 0x00;
var10 = var2;
var var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp10;
temp10, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp10;
if (!var5) {
var2 = memory[0x40:0x60];
var3 = returndata.length;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
if (memory[var2:var2 + 0x20]) {
var temp11 = memory[0x40:0x60];
memory[temp11:temp11 + 0x20] = 0xe8eda9df00000000000000000000000000000000000000000000000000000000;
var temp12 = (0x01 << 0xa0) - 0x01;
memory[temp11 + 0x04:temp11 + 0x04 + 0x20] = temp12 & 0x000000000000000000000000765de816845861e75a25fca122bb6898b8b1282a;
memory[temp11 + 0x24:temp11 + 0x24 + 0x20] = var1;
memory[temp11 + 0x44:temp11 + 0x44 + 0x20] = address(this);
memory[temp11 + 0x64:temp11 + 0x64 + 0x20] = 0x9b;
var2 = storage[0x07] & temp12;
var3 = 0xe8eda9df;
var4 = temp11 + 0x84;
var5 = 0x00;
var6 = memory[0x40:0x60];
var7 = temp11 - var6 + 0x84;
var8 = var6;
var9 = var5;
var10 = var2;
var11 = !address(var10).code.length;
if (var11) { revert(memory[0x00:0x00]); }
var temp13;
temp13, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]);
var5 = !temp13;
if (!var5) { return; }
var temp14 = returndata.length;
memory[0x00:0x00 + temp14] = returndata[0x00:0x00 + temp14];
revert(memory[0x00:0x00 + returndata.length]);
} else {
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x461bcd << 0xe5;
var temp16 = temp15 + 0x04;
var temp17 = temp16 + 0x20;
memory[temp16:temp16 + 0x20] = temp17 - temp16;
memory[temp17:temp17 + 0x20] = 0x29;
var temp18 = temp17 + 0x20;
memory[temp18:temp18 + 0x29] = code[0x2a8e:0x2ab7];
var temp19 = memory[0x40:0x60];
revert(memory[temp19:temp19 + (temp18 + 0x40) - temp19]);
}
} else {
var temp20 = returndata.length;
memory[0x00:0x00 + temp20] = returndata[0x00:0x00 + temp20];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp21 = returndata.length;
memory[0x00:0x00 + temp21] = returndata[0x00:0x00 + temp21];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp22 = memory[0x40:0x60];
memory[temp22:temp22 + 0x20] = 0x461bcd << 0xe5;
memory[temp22 + 0x04:temp22 + 0x04 + 0x20] = 0x20;
memory[temp22 + 0x24:temp22 + 0x24 + 0x20] = 0x0f;
memory[temp22 + 0x44:temp22 + 0x44 + 0x20] = 0x5472616e73666572206661696c65640000000000000000000000000000000000;
var temp23 = memory[0x40:0x60];
revert(memory[temp23:temp23 + temp22 - temp23 + 0x64]);
}
} else {
var temp24 = returndata.length;
memory[0x00:0x00 + temp24] = returndata[0x00:0x00 + temp24];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp25 = memory[0x40:0x60];
memory[temp25:temp25 + 0x20] = 0x461bcd << 0xe5;
var temp26 = temp25 + 0x04;
var temp27 = temp26 + 0x20;
memory[temp26:temp26 + 0x20] = temp27 - temp26;
memory[temp27:temp27 + 0x20] = 0x43;
var temp28 = temp27 + 0x20;
memory[temp28:temp28 + 0x43] = code[0x2b30:0x2b73];
var temp29 = memory[0x40:0x60];
revert(memory[temp29:temp29 + (temp28 + 0x60) - temp29]);
}
} else {
var temp30 = returndata.length;
memory[0x00:0x00 + temp30] = returndata[0x00:0x00 + temp30];
revert(memory[0x00:0x00 + returndata.length]);
}
}
function func_25D5() {
var var0 = 0x25dd;
var0 = paused();
if (!var0) {
storage[0x00] = (storage[0x00] & ~(0xff << 0xa0)) | (0x01 << 0xa0);
var0 = 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258;
var var1 = 0x2093;
var1 = msgsender();
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = var1 & (0x01 << 0xa0) - 0x01;
var temp1 = memory[0x40:0x60];
log(memory[temp1:temp1 + temp0 - temp1 + 0x20], [stack[-2]]);
return;
} else {
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5;
memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20;
memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x10;
memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x14185d5cd8589b194e881c185d5cd959 << 0x82;
var temp3 = memory[0x40:0x60];
revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]);
}
}
function func_265E() {
var var0 = 0x2666;
var0 = getCurrentSegment();
if (!var0) {
var temp0 = msg.sender;
memory[0x00:0x20] = temp0;
memory[0x20:0x40] = 0x08;
var0 = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01 != temp0;
if (!var0) {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
if (storage[keccak256(memory[0x00:0x40])] / (0x01 << 0xa8) & 0xff) { goto label_272F; }
else { goto label_26F9; }
} else if (var0) {
label_272F:
var var1 = storage[0x06];
var0 = 0x2743;
var var2 = 0x01;
var0 = func_1FA6(var1, var2);
var temp1 = var0;
storage[0x06] = temp1;
if (0x00000000000000000000000000000000000000000000000000000000000002bc >= temp1) {
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x08;
var0 = storage[keccak256(memory[0x00:0x40])] / (0x01 << 0xa8) & 0xff;
var1 = 0x27c8;
var1 = func_2925();
var temp2 = memory[0x40:0x60];
memory[0x40:0x60] = temp2 + 0xa0;
var temp3 = msg.sender;
memory[temp2:temp2 + 0x20] = temp3;
var temp4 = temp2 + 0x20;
memory[temp4:temp4 + 0x20] = 0x00;
var temp5 = temp2 + 0x40;
memory[temp5:temp5 + 0x20] = 0x00;
var temp6 = temp2 + 0x60;
memory[temp6:temp6 + 0x20] = 0x00;
var temp7 = temp2 + 0x80;
memory[temp7:temp7 + 0x20] = 0x00;
memory[0x00:0x20] = temp3;
memory[0x20:0x40] = 0x08;
var temp8 = keccak256(memory[0x00:0x40]);
storage[temp8] = !!memory[temp5:temp5 + 0x20] * (0x01 << 0xa8) | ((!!memory[temp4:temp4 + 0x20] * (0x01 << 0xa0) | (((memory[temp2:temp2 + 0x20] & (0x01 << 0xa0) - 0x01) | (storage[temp8] & ~0xffffffffffffffffffffffffffffffffffffffff)) & ~(0xff << 0xa0))) & ~(0xff << 0xa8));
storage[temp8 + 0x01] = memory[temp6:temp6 + 0x20];
var1 = temp2;
storage[temp8 + 0x02] = memory[temp7:temp7 + 0x20];
if (var0) {
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var temp10 = memory[0x40:0x60];
log(memory[temp10:temp10 + temp9 - temp10 + 0x20], [0x485fd86c2a7d2d9ca3bf02e2ba776ea24271bc62274265b0bd5f478b3b7a1ca4, msg.sender]); //event JoinedGame(address indexed player, uint256 amount);
var2 = 0x2921;
_transferDaiToContract();
label_2921:
return;
} else {
var temp11 = storage[0x09];
storage[0x09] = temp11 + 0x01;
memory[0x00:0x20] = 0x09;
var temp12 = temp11 + 0x6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af;
storage[temp12] = msg.sender | (storage[temp12] & ~0xffffffffffffffffffffffffffffffffffffffff);
var temp13 = memory[0x40:0x60];
memory[temp13:temp13 + 0x20] = 0x0000000000000000000000000000000000000000000000008ac7230489e80000;
var temp14 = memory[0x40:0x60];
log(memory[temp14:temp14 + temp13 - temp14 + 0x20], [0x485fd86c2a7d2d9ca3bf02e2ba776ea24271bc62274265b0bd5f478b3b7a1ca4, msg.sender]); //event JoinedGame(address indexed player, uint256 amount);
var2 = 0x2921;
_transferDaiToContract();
goto label_2921;
}
} else {
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = 0x461bcd << 0xe5;
var temp16 = temp15 + 0x04;
var temp17 = temp16 + 0x20;
memory[temp16:temp16 + 0x20] = temp17 - temp16;
memory[temp17:temp17 + 0x20] = 0x27;
var temp18 = temp17 + 0x20;
memory[temp18:temp18 + 0x27] = code[0x2954:0x297b];
var temp19 = memory[0x40:0x60];
revert(memory[temp19:temp19 + (temp18 + 0x40) - temp19]);
}
} else {
label_26F9:
var temp20 = memory[0x40:0x60];
memory[temp20:temp20 + 0x20] = 0x461bcd << 0xe5;
var temp21 = temp20 + 0x04;
var temp22 = temp21 + 0x20;
memory[temp21:temp21 + 0x20] = temp22 - temp21;
memory[temp22:temp22 + 0x20] = 0x23;
var temp23 = temp22 + 0x20;
memory[temp23:temp23 + 0x23] = code[0x2b94:0x2bb7];
var temp24 = memory[0x40:0x60];
revert(memory[temp24:temp24 + (temp23 + 0x40) - temp24]);
}
} else {
var temp25 = memory[0x40:0x60];
memory[temp25:temp25 + 0x20] = 0x461bcd << 0xe5;
memory[temp25 + 0x04:temp25 + 0x04 + 0x20] = 0x20;
memory[temp25 + 0x24:temp25 + 0x24 + 0x20] = 0x18;
memory[temp25 + 0x44:temp25 + 0x44 + 0x20] = 0x47616d652068617320616c726561647920737461727465640000000000000000;
var temp26 = memory[0x40:0x60];
revert(memory[temp26:temp26 + temp25 - temp26 + 0x64]);
}
}
function func_2925() returns (var r0) {
var temp0 = memory[0x40:0x60];
memory[0x40:0x60] = temp0 + 0xa0;
memory[temp0:temp0 + 0x20] = 0x00;
memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x00;
memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = 0x00;
memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = 0x00;
memory[temp0 + 0x80:temp0 + 0x80 + 0x20] = 0x00;
return temp0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment