Created
October 17, 2021 18:26
-
-
Save zjuchenyuan/47439863d1e2f65fde3f961672201567 to your computer and use it in GitHub Desktop.
Decompile 0x32Bd3ce981A575569d4bf1179f6B70D14Cf8E881
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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