Online Solidity Decompiler

« Decompile another contract

Address

0x5bc2fa9426e882710d055c1a60f8cc93a31edc58 [etherscan.io | etherchain.org]

Public Methods

Method names cached from 4byte.directory.
0x06fdde03 name()
0x081812fc getApproved(uint256)
0x095ea7b3 approve(address,uint256)
0x0f551895 Unknown
0x1c303861 Unknown
0x23b872dd transferFrom(address,address,uint256)
0x3644e515 DOMAIN_SEPARATOR()
0x42842e0e safeTransferFrom(address,address,uint256)
0x4b2ff144 Unknown
0x56fc0ca2 Unknown
0x6271473b Unknown
0x6352211e ownerOf(uint256)
0x70a08231 balanceOf(address)
0x8f90b477 Unknown
0x95d89b41 symbol()
0x9c933bf1 Unknown
0xa22cb465 setApprovalForAll(address,bool)
0xa70d9c2a Unknown
0xa86c9b2b Unknown
0xa9cf1e1e Unknown
0xb0fcd0c4 Unknown
0xb24fce88 Unknown
0xb88d4fde safeTransferFrom(address,address,uint256,bytes)
0xc389e6b5 Unknown
0xc87b56dd tokenURI(uint256)
0xe8a3d485 contractURI()
0xe985e9c5 isApprovedForAll(address,address)
0xeacabe14 mintNFT(address,string)
0xecd0c0c3 _token()
0xfa557e0b Unknown

Internal Methods

supportsInterface(arg0)
func_037C(arg0, arg1, arg2)
func_039F(arg0, arg1) returns (r0)
getApproved(arg0)
balanceOf() returns (r0)
func_0530() returns (r0)
func_0546() returns (r0)
func_055C() returns (r0)
func_0572() returns (r0)
func_05D5(arg0, arg1)
func_05DB(arg0, arg1)
func_0609(arg0, arg1) returns (r0)
func_0621(arg0) returns (r0)
func_06D0(arg0) returns (r0)
func_06FE(arg0) returns (r0)
func_0714(arg0) returns (r0)
func_084E(arg0)
func_0877(arg0)
func_0893(arg0)
func_08AF(arg0)
func_08CC(arg0)
func_08E8(arg0, arg1)
func_0919(arg0) returns (r0)
func_0976() returns (r0)
func_0A18(arg0) returns (r0, r1, r2)
transferFrom(arg0) returns (r0, r1, r2)
func_0AC6(arg0, arg1) returns (r0, r1)
func_0AF4(arg0)
func_0AFE() returns (r0)
func_0BE8(arg0, arg1, arg2, arg7) returns (r0, r1)
func_0C0C(arg0, arg1, arg2) returns (r0)
func_0C31() returns (r0)
func_0D8D(arg0) returns (r0, r1, r2)
func_0F40(arg0, arg1)
func_0FE9() returns (r0)
func_114A(arg0) returns (r0)
func_1184(arg0) returns (r0)
func_131B(arg0, arg7, arg8) returns (r0)
func_1363(arg0) returns (r0)
func_138C(arg0) returns (r0)
func_1491(arg0, arg1, arg2) returns (r0)
func_15DC(arg0) returns (r0)
func_1745(arg0, arg3) returns (r0)
func_1917(arg0)
ownerOf(arg0) returns (r0)
func_21D1(arg0, arg1) returns (r0, r1)
func_22FA(arg0) returns (r0)
DOMAIN_SEPARATOR() returns (r0)
func_26AB(arg0, arg1) returns (r0)
func_2769(arg0, arg1, arg2, arg3)
func_27E3(arg0, arg1, arg2, arg3)
func_3260(arg0, arg1) returns (r0)
func_3897(arg0, arg1) returns (r0)
func_3A76(arg0) returns (r0)
func_3AD2(arg0, arg1, arg2, arg5, arg7) returns (r0)

Decompilation

contract Contract { function main() { memory[0x40:0x60] = 0x80; if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); } var var0 = msg.data[0x00:0x20] >> 0xe0; if (var0 == 0x01ffc9a7) { // Dispatch table entry for supportsInterface(bytes4) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = 0x20; var var1 = 0xffffffff00000000000000000000000000000000000000000000000000000000; var var2 = msg.data[0x04:0x24]; var var3 = 0x02ea; var var4 = var2; supportsInterface(var4); var temp0 = var2 & var1 == 0x80ac58cd00000000000000000000000000000000000000000000000000000000; var2 = var2 & var1; var1 = temp0; if (var1) { goto label_0316; } var1 = var2 == 0x5b5e139f00000000000000000000000000000000000000000000000000000000; label_0316: if (var1) { goto label_031D; } var1 = var2 == 0x01ffc9a700000000000000000000000000000000000000000000000000000000; var2 = code.length; label_031D: var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = !!var1; return memory[temp1:temp1 + var0]; } else if (var0 == 0x06fdde03) { // Dispatch table entry for name() var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var0 = 0x00; if (msg.data.length + ~0x03 i< var0) { label_04B9: var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } else { var temp3 = var0; var1 = temp3; var0 = memory[0x40:0x60]; var2 = var1; var3 = storage[var2]; var4 = 0x03fb; var var5 = var3; var4 = func_114A(var5); memory[var0:var0 + 0x20] = var4; var temp4 = var2; var2 = var4; var4 = temp4; var temp5 = var3; var3 = 0x01; var5 = var3 & temp5; var var6 = temp5; if (!var5) { label_048F: var temp6 = var0; var3 = temp6; var temp7 = var2; var2 = 0x0425; memory[var3 + 0x20:var3 + 0x20 + 0x20] = var6 & ~0xff; var1 = var3 + (!!temp7 << 0x05) + 0x20; var0 = var3; var4 = 0x0431; label_0415: var5 = 0x0431; var6 = var0; var var7 = 0x0425; var var8 = var1 - var6; var var9 = var6; func_08E8(var8, var9); label_0425: var7 = var5; var5 = memory[0x40:0x60]; var temp8 = var6; var6 = var5; var8 = temp8; var9 = var6; var temp9 = var8; var temp10 = var9; var8 = 0x03d5; memory[temp10:temp10 + 0x20] = 0x20; var9 = temp10 + 0x20; var var10 = temp9; var8 = func_039F(var9, var10); label_03D5: var7 = var8; // Error: Could not resolve jump destination! } else if (var5 == 0x01) { var temp11 = var4; var1 = temp11; memory[var1:var1 + 0x20] = var1; var4 = 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563; if (var1 >= var2) { goto label_0464; } label_0477: var temp12 = var4; var temp13 = var1; memory[var0 + temp13 + 0x20:var0 + temp13 + 0x20 + 0x20] = storage[temp12]; var1 = temp13 + 0x20; var4 = var3 + temp12; if (var1 < var2) { goto label_0477; } label_0464: var1 = var0 + var1 + 0x20; var2 = 0x0425; var3 = var0; var4 = 0x0431; goto label_0415; } else { goto label_0415; } } } else if (var0 == 0x081812fc) { // Dispatch table entry for getApproved(uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = msg.data[0x04:0x24]; var1 = 0x04f9; memory[0x00:0x20] = var0; memory[0x20:0x40] = 0x02; var2 = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01); getApproved(var2); memory[0x00:0x20] = var0; memory[0x20:0x40] = 0x04; var temp14 = memory[0x40:0x60]; memory[temp14:temp14 + 0x20] = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01; return memory[temp14:temp14 + 0x20]; } else if (var0 == 0x095ea7b3) { // Dispatch table entry for approve(address,uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x40) { revert(memory[0x00:0x00]); } var0 = 0x05a2; var0 = balanceOf(); var1 = msg.data[0x24:0x44]; var2 = 0x05ae; var3 = var1; var2 = ownerOf(var3); var temp15 = var0; var temp16 = var2; var0 = temp16; var2 = temp15; var temp17 = (0x01 << 0xa0) - 0x01; var3 = var0 & temp17; if (var2 & temp17 == var3) { var temp18 = memory[0x40:0x60]; memory[temp18:temp18 + 0x20] = 0x461bcd << 0xe5; memory[temp18 + 0x04:temp18 + 0x04 + 0x20] = 0x20; memory[temp18 + 0x24:temp18 + 0x24 + 0x20] = 0x21; memory[temp18 + 0x44:temp18 + 0x44 + 0x20] = 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65; memory[temp18 + 0x64:temp18 + 0x64 + 0x20] = 0x7200000000000000000000000000000000000000000000000000000000000000; revert(memory[temp18:temp18 + 0x84]); } else { var temp19 = var0; var0 = 0x05e0; var temp20 = var3; var3 = 0x05db; var5 = temp19; var4 = msg.sender == temp20; if (!var4) { var4 = 0x0628; var temp21 = var5; var5 = 0x0621; var6 = msg.sender; memory[0x00:0x20] = temp21 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = 0x05; var7 = keccak256(memory[0x00:0x40]); var5 = func_0609(var6, var7); var4 = func_0621(var5); var5 = code.length; func_05D5(var4, var5); // Error: Could not resolve method call return address! } else { func_05D5(var4, var5); func_05DB(var1, var2); stop(); } } } else if (var0 == 0x0f551895) { // Dispatch table entry for 0x0f551895 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x60) { revert(memory[0x00:0x00]); } var0 = msg.data[0x04:0x24]; var1 = 0x06d4; memory[0x00:0x20] = var0; memory[0x20:0x40] = 0x02; var2 = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01); var1 = func_06D0(var2); if (var1) { label_080D: var temp22 = memory[0x40:0x60]; memory[temp22:temp22 + 0x20] = 0x31efff5100000000000000000000000000000000000000000000000000000000; revert(memory[temp22:temp22 + 0x04]); } else { var1 = 0x07e5; var2 = 0x0425; var3 = 0x07bc; var4 = 0x079d; var5 = 0x0734; var temp23 = var0; var0 = 0x0431; memory[0x00:0x20] = temp23; memory[0x20:0x40] = 0x08; var6 = keccak256(memory[0x00:0x40]); var5 = func_06FE(var6); var6 = 0x0771; var7 = 0x0777; var8 = 0x0743; var9 = var5; var8 = func_1184(var9); label_0743: if ((memory[var8:var8 + 0x20] > 0x0a) == 0x00) { var temp24 = var5 + 0x02; var9 = var5; var5 = temp24; var10 = var6; var6 = !!storage[var5]; var var11 = var8; var8 = var6; var temp25 = var11; var11 = var10; var var12 = 0x0917; var var13 = 0x29; var temp26 = memory[0x40:0x60]; var var14 = temp26; var10 = var14; memory[var10 + 0x20:var10 + 0x20 + 0x20] = 0x45636f204944202d200000000000000000000000000000000000000000000000; var var16 = 0x27e3; var var17 = memory[temp25:temp25 + 0x20]; var var15 = var17; var var18 = var10 + var13; var var19 = temp25 + 0x20; func_037C(var17, var18, var19); func_27E3(var10, var13, var14, var15); label_0917: // Error: Could not resolve jump destination! } else { var9 = 0x075b; var10 = var8; var8 = 0x0760; var9 = func_3A76(var10); var temp27 = var9; var9 = var8; var10 = 0x0917; var11 = 0x23; var12 = memory[0x40:0x60]; var14 = 0x2769; var8 = var12; var15 = memory[temp27:temp27 + 0x20]; var13 = var15; var16 = var8 + 0x20; var17 = temp27 + 0x20; func_037C(var15, var16, var17); func_2769(var8, var11, var12, var13); goto label_0917; } } } else if (var0 == 0x1c303861) { // Dispatch table entry for 0x1c303861 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var0 = 0x0431; var1 = 0x0a18; var1 = func_0976(); var0, var1, var2 = func_0A18(var1); label_0431: return memory[var0:var0 + var2 - var1]; } else if (var0 == 0x23b872dd) { // Dispatch table entry for transferFrom(address,address,uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var1 = 0x0a6f; var2 = msg.data.length; var1, var2, var3 = transferFrom(var2); var1 = 0x0917; label_19F5: var temp28 = memory[0x40:0x60]; memory[temp28:temp28 + 0x20] = 0x461bcd << 0xe5; memory[temp28 + 0x04:temp28 + 0x04 + 0x20] = 0x20; memory[temp28 + 0x24:temp28 + 0x24 + 0x20] = 0x2e; memory[temp28 + 0x44:temp28 + 0x44 + 0x20] = 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65; memory[temp28 + 0x64:temp28 + 0x64 + 0x20] = 0x72206e6f7220617070726f766564000000000000000000000000000000000000; revert(memory[temp28:temp28 + 0x84]); } else if (var0 == 0x3644e515) { // Dispatch table entry for DOMAIN_SEPARATOR() var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var0 = 0x20; var1 = 0x0a96; var1 = DOMAIN_SEPARATOR(); label_0A96: var temp29 = memory[0x40:0x60]; memory[temp29:temp29 + 0x20] = var1; return memory[temp29:temp29 + var0]; } else if (var0 == 0x42842e0e) { // Dispatch table entry for safeTransferFrom(address,address,uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var1 = 0x0aac; var2 = msg.data.length; var1, var2, var3 = transferFrom(var2); var1 = 0x00; var2 = memory[0x40:0x60]; var3 = 0x0abd; var4 = var2; func_0893(var4); memory[var2:var2 + 0x20] = var1; var1 = 0x0917; goto label_19F5; } else if (var0 == 0x4b2ff144) { // Dispatch table entry for 0x4b2ff144 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x0100) { revert(memory[0x00:0x00]); } var0 = 0xffffffffffffffff; var1 = msg.data[0x04:0x24]; if (var1 > var0) { revert(memory[0x00:0x00]); } var temp30 = var1; var1 = 0x0b3f; var2 = msg.data.length; var3 = temp30 + 0x04; var1, var2 = func_0AC6(var2, var3); var temp31 = var1; var1 = var2; var2 = temp31; var3 = 0x0b48; var3 = func_0AFE(); var temp32 = var1; var1 = var3; var3 = temp32; var4 = 0x0b51; var4 = func_0530(); var5 = 0x0b59; var5 = func_0546(); var temp33 = var3; var3 = var5; var5 = temp33; var6 = msg.data[0xc4:0xe4]; if (var6 > var0) { revert(memory[0x00:0x00]); } var temp34 = var6; var6 = 0x0b72; var7 = msg.data.length; var8 = temp34 + 0x04; var6, var7 = func_0AC6(var7, var8); var temp35 = var3; var3 = var7; var temp36 = var6; var6 = temp35; var7 = var4; var4 = temp36; var temp37 = var0; var0 = msg.data[0xe4:0x0104]; if (var0 > temp37) { revert(memory[0x00:0x00]); } var8 = 0x0b90; var temp38 = var0; var0 = 0x05e0; var9 = msg.data.length; var10 = temp38 + 0x04; var8, var9 = func_0AC6(var9, var10); var temp39 = var1; var1 = var9; var temp40 = var8; var8 = temp39; var temp41 = var2; var2 = temp40; var10 = var5; var5 = msg.data[0xa4:0xc4]; var11 = temp41; var9 = msg.data[0x24:0x44]; var temp42 = var2; var temp43 = var11; var2 = temp43; var temp44 = var10; var10 = temp42; var temp45 = var4; var4 = temp44; var temp46 = var7; var7 = temp45; var temp47 = var1; var1 = temp46; var temp48 = var9; var9 = temp47; var temp49 = var6; var6 = temp48; var temp50 = var5; var5 = temp49; var temp51 = var8; var8 = temp50; var11 = var3; var3 = temp51; var12 = 0x1da0; var13 = msg.data.length; var14 = var4; var15 = var2; var12 = func_1491(var13, var14, var15); if (!memory[var12:var12 + 0x20]) { var temp52 = memory[0x40:0x60]; memory[temp52:temp52 + 0x20] = 0xda80cc73 << 0xe0; revert(memory[temp52:temp52 + 0x04]); } else if (var8 < block.timestamp) { var temp53 = memory[0x40:0x60]; memory[temp53:temp53 + 0x20] = 0x1ab7da6b << 0xe0; revert(memory[temp53:temp53 + 0x04]); } else { var12 = 0x06d0; var13 = var11; var11 = 0x1dd4; var temp54 = var7; var7 = var4; var14 = temp54; var15 = var2; var16 = var8; var17 = var5; var18 = var1; var19 = var3; var var20 = var6; var var21 = 0x1dcc; var var22 = 0x138c; var var23 = msg.data.length; var var24 = var7; var var25 = var15; var22 = func_1491(var23, var24, var25); var21 = func_138C(var22); var temp55 = var21; var21 = var7; var7 = temp55; var temp56 = var15; var15 = var7; var22 = temp56; var temp57 = var22; var22 = var20; var23 = var15; var15 = 0x3455; var temp58 = var16; var16 = 0x344d; var24 = temp58; var25 = 0x33c1; var20 = 0x343f; var temp59 = var18; var18 = 0x3447; var temp60 = var14; var14 = temp59; var temp61 = var19; var19 = temp60; var temp62 = var21; var21 = temp61; var temp63 = var17; var17 = var13; var var27 = temp62; var13 = temp63; var var26 = msg.data.length; var var28 = temp57; var25 = func_1491(var26, var27, var28); var temp64 = var25; var temp65 = keccak256(memory[temp64 + 0x20:temp64 + 0x20 + memory[temp64:temp64 + 0x20]]); var temp66 = var21; var temp67 = memory[0x40:0x60]; var temp68 = var22; var22 = temp67; var21 = var22 + 0x20; memory[var21:var21 + 0x20] = 0xd592e25e89e493feb1c2e5e235b302997d8e3cabec1a37b4ff23a5967887ec26; memory[var22 + 0x40:var22 + 0x40 + 0x20] = temp65; memory[var22 + 0x60:var22 + 0x60 + 0x20] = temp68; memory[var22 + 0x80:var22 + 0x80 + 0x20] = !!temp66; var temp69 = (0x01 << 0xa0) - 0x01; var temp70 = var14; var14 = temp69; var temp71 = var13; var13 = temp70 & var14; memory[var22 + 0xa0:var22 + 0xa0 + 0x20] = var13; memory[var22 + 0xc0:var22 + 0xc0 + 0x20] = temp71 & var14; memory[var22 + 0xe0:var22 + 0xe0 + 0x20] = var24; memory[var22 + 0x0100:var22 + 0x0100 + 0x20] = var23; memory[var22:var22 + 0x20] = 0x0100; var23 = 0x3437; var24 = var22; func_08AF(var24); var21 = keccak256(memory[var21:var21 + memory[var22:var22 + 0x20]]); var22 = 0x3853; var22 = DOMAIN_SEPARATOR(); label_3853: var temp72 = var22; var temp73 = var21; var temp74 = memory[0x40:0x60]; var22 = temp74; var21 = var22 + 0x20; memory[var21:var21 + 0x20] = 0x1901000000000000000000000000000000000000000000000000000000000000; memory[var22 + 0x22:var22 + 0x22 + 0x20] = temp72; memory[var22 + 0x42:var22 + 0x42 + 0x20] = temp73; memory[var22:var22 + 0x20] = 0x42; var23 = 0x267c; var24 = var22; func_0877(var24); var20 = keccak256(memory[var21:var21 + memory[var22:var22 + 0x20]]); // Error: Could not resolve jump destination! } } else if (var0 == 0x56fc0ca2) { // Dispatch table entry for 0x56fc0ca2 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x60) { revert(memory[0x00:0x00]); } var0 = 0x0bba; var0 = balanceOf(); var temp75 = var0; var0 = msg.data[0x24:0x44]; var1 = temp75; if (var0 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var2 = 0x0c25; var temp76 = var1; var1 = 0xff; var3 = temp76; var4 = 0x03; var5 = 0x0c0c; var6 = 0x0be8; var temp77 = var0; var0 = 0x20; var7 = msg.data.length; var8 = temp77 + 0x04; var6, var7 = func_0AC6(var7, var8); var3, var5 = func_0BE8(var0, var3, var6, var7); var2 = func_0C0C(var3, var4, var5); label_0C25: var temp78 = memory[0x40:0x60]; memory[temp78:temp78 + 0x20] = !!(storage[var2] & var1); return memory[temp78:temp78 + var0]; } else if (var0 == 0x6271473b) { // Dispatch table entry for 0x6271473b (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var0 = 0x0431; var1 = 0x0a18; var1 = func_0C31(); var0, var1, var2 = func_0A18(var1); goto label_0431; } else if (var0 == 0x6352211e) { // Dispatch table entry for ownerOf(uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = 0x20; var1 = 0x0ca6; var2 = msg.data[0x04:0x24]; var1 = ownerOf(var2); var temp79 = memory[0x40:0x60]; memory[temp79:temp79 + 0x20] = var1 & (0x01 << 0xa0) - 0x01; return memory[temp79:temp79 + var0]; } else if (var0 == 0x70a08231) { // Dispatch table entry for balanceOf(address) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = (0x01 << 0xa0) - 0x01; var1 = 0x0cd9; var1 = balanceOf(); var temp80 = var1 & var0; var0 = temp80; if (!var0) { var temp81 = memory[0x40:0x60]; memory[temp81:temp81 + 0x20] = 0x461bcd << 0xe5; memory[temp81 + 0x04:temp81 + 0x04 + 0x20] = 0x20; memory[temp81 + 0x24:temp81 + 0x24 + 0x20] = 0x29; memory[temp81 + 0x44:temp81 + 0x44 + 0x20] = 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661; memory[temp81 + 0x64:temp81 + 0x64 + 0x20] = 0x6c6964206f776e65720000000000000000000000000000000000000000000000; revert(memory[temp81:temp81 + 0x84]); } else { memory[0x00:0x20] = var0; memory[0x20:0x40] = 0x03; var temp82 = memory[0x40:0x60]; var0 = temp82; var1 = var0; var2 = var1 + 0x20; memory[var1:var1 + 0x20] = storage[keccak256(memory[0x00:0x40])]; goto label_0431; } } else if (var0 == 0x8f90b477) { // Dispatch table entry for 0x8f90b477 (unknown) label_0195: var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var0 = 0x0431; var1 = memory[0x40:0x60]; var2 = 0x0d8d; var3 = var1; func_0877(var3); var0, var1, var2 = func_0D8D(var1); goto label_0431; } else if (var0 == 0x95d89b41) { // Dispatch table entry for symbol() var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var0 = 0x00; if (msg.data.length + ~0x03 i< var0) { goto label_04B9; } var temp83 = var0; var1 = temp83; var0 = memory[0x40:0x60]; var3 = 0x01; var4 = var1; var2 = storage[var3]; var5 = 0x0e3d; var6 = var2; var5 = func_114A(var6); memory[var0:var0 + 0x20] = var5; var temp84 = var2; var2 = var5; var5 = temp84 & var3; var6 = temp84; if (!var5) { goto label_048F; } if (var5 == 0x01) { var temp85 = var4; var1 = temp85; memory[var1:var1 + 0x20] = var3; var4 = 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6; if (var1 >= var2) { goto label_0E92; } label_0EA5: var temp86 = var4; var temp87 = var1; memory[var0 + temp87 + 0x20:var0 + temp87 + 0x20 + 0x20] = storage[temp86]; var1 = temp87 + 0x20; var4 = var3 + temp86; if (var1 < var2) { goto label_0EA5; } label_0E92: var1 = var0 + var1 + 0x20; var2 = 0x0425; var3 = var0; var4 = 0x0431; goto label_0415; } else { var5 = 0x0431; var6 = var0; var7 = 0x0425; var8 = var1 - var6; var9 = var6; func_08E8(var8, var9); goto label_0425; } } else if (var0 == 0x9c933bf1) { // Dispatch table entry for 0x9c933bf1 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var temp88 = memory[0x40:0x60]; memory[temp88:temp88 + 0x20] = 0x0a; return memory[temp88:temp88 + 0x20]; } else if (var0 == 0xa22cb465) { // Dispatch table entry for setApprovalForAll(address,bool) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x40) { revert(memory[0x00:0x00]); } var0 = 0x0ef4; var0 = balanceOf(); var1 = msg.data[0x24:0x44]; var2 = 0x0f00; var3 = var1; func_0AF4(var3); var temp89 = var0 & (0x01 << 0xa0) - 0x01; var2 = var0; var0 = temp89; if (msg.sender == var0) { var temp90 = memory[0x40:0x60]; memory[temp90:temp90 + 0x20] = 0x461bcd << 0xe5; memory[temp90 + 0x04:temp90 + 0x04 + 0x20] = 0x20; memory[temp90 + 0x24:temp90 + 0x24 + 0x20] = 0x19; memory[temp90 + 0x44:temp90 + 0x44 + 0x20] = 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000; revert(memory[temp90:temp90 + 0x64]); } else { var3 = var1; var temp91 = var2; var2 = 0x0f51; memory[0x00:0x20] = msg.sender; memory[0x20:0x40] = 0x05; var temp92 = keccak256(memory[0x00:0x40]); memory[0x00:0x20] = temp91 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = temp92; var4 = keccak256(memory[0x00:0x40]); func_0F40(var3, var4); var temp93 = memory[0x40:0x60]; memory[temp93:temp93 + 0x20] = !!var1; log(memory[temp93:temp93 + (temp93 + 0x20) - temp93], [0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31, msg.sender, stack[-2]]); stop(); } } else if (var0 == 0xa70d9c2a) { // Dispatch table entry for 0xa70d9c2a (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var temp94 = memory[0x40:0x60]; memory[temp94:temp94 + 0x20] = 0x32; return memory[temp94:temp94 + 0x20]; } else if (var0 == 0xa86c9b2b) { // Dispatch table entry for 0xa86c9b2b (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var0 = 0x0431; var1 = 0x0a18; var1 = func_0FE9(); var0, var1, var2 = func_0A18(var1); goto label_0431; } else if (var0 == 0xa9cf1e1e) { // Dispatch table entry for 0xa9cf1e1e (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } memory[0x00:0x20] = msg.data[0x04:0x24]; memory[0x20:0x40] = 0x08; var temp95 = keccak256(memory[0x00:0x40]); var1 = 0x1261; var0 = storage[temp95] & (0x01 << 0xa0) - 0x01; var2 = temp95 + 0x01; var1 = func_1184(var2); var temp96 = var0; var temp97 = var1; var2 = 0x0431; var temp98 = memory[0x40:0x60]; var0 = temp98; var1 = var0; memory[var1:var1 + 0x20] = temp96; memory[var1 + 0x20:var1 + 0x20 + 0x20] = 0x40; var4 = temp97; var3 = var1 + 0x40; var2 = func_039F(var3, var4); goto label_0431; } else if (var0 == 0xb0fcd0c4) { // Dispatch table entry for 0xb0fcd0c4 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0xa0) { revert(memory[0x00:0x00]); } var0 = 0xffffffffffffffff; var1 = 0x04; var2 = msg.data[var1:var1 + 0x20]; if (var2 > var0) { revert(memory[0x00:0x00]); } var temp99 = var2; var2 = 0x12b1; var3 = msg.data.length; var4 = var1 + temp99; var2, var3 = func_0AC6(var3, var4); var temp100 = var2; var2 = var3; var temp101 = var1; var1 = temp100; var3 = temp101; var4 = 0x12bb; var4 = func_0572(); var temp102 = var4; var4 = var0; var0 = temp102; var5 = 0x12c4; var5 = func_055C(); var temp103 = var3; var3 = var5; var5 = temp103; var temp104 = var4; var4 = msg.data[0x64:0x84]; var6 = msg.data[0x84:0xa4]; if (var6 > temp104) { revert(memory[0x00:0x00]); } var temp105 = var6; var6 = 0x12e0; var7 = msg.data.length; var8 = var5 + temp105; var6, var7 = func_0AC6(var7, var8); var temp106 = var6; var6 = var5; var5 = temp106; var8 = 0x12ee; var9 = msg.data.length; var10 = var2; var11 = var1; var8 = func_1491(var9, var10, var11); if (!memory[var8:var8 + 0x20]) { var temp107 = memory[0x40:0x60]; memory[temp107:temp107 + 0x20] = 0xda80cc73 << 0xe0; revert(memory[temp107:temp107 + var6]); } else if (var4 < block.timestamp) { var temp108 = memory[0x40:0x60]; memory[temp108:temp108 + 0x20] = 0x1ab7da6b << 0xe0; revert(memory[temp108:temp108 + var6]); } else { var8 = 0x1322; memory[0x00:0x20] = var0 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = 0x07; var9 = keccak256(memory[0x00:0x40]); var8 = func_131B(var1, var2, var9); var temp109 = var8; var8 = var5; var9 = temp109; var5 = var9 + 0x03; var10 = 0x134b; var11 = 0x06d0; memory[0x00:0x20] = var3 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = var5; var12 = keccak256(memory[0x00:0x40]); var11 = func_0621(var12); var10 = func_06D0(var11); if (var10) { var temp110 = memory[0x40:0x60]; memory[temp110:temp110 + 0x20] = 0x3bbc6955 << 0xe2; revert(memory[temp110:temp110 + var6]); } else { var temp111 = var9 + 0x02; var temp112 = var4; var4 = temp111; var9 = temp112; var10 = 0x136d; var11 = 0x06d0; var12 = 0x1363; var13 = var4; var14 = var3; var12 = func_3897(var13, var14); var11 = func_1363(var12); var10 = func_06D0(var11); if (var10) { var temp113 = memory[0x40:0x60]; memory[temp113:temp113 + 0x20] = 0xca20970400000000000000000000000000000000000000000000000000000000; revert(memory[temp113:temp113 + var6]); } else { var temp114 = var9; var9 = var7; var10 = var8; var8 = 0x06d0; var11 = var1; var7 = 0x1397; var12 = temp114; var13 = var3; var14 = var0; var15 = var2; var16 = 0x1391; var17 = 0x138c; var18 = msg.data.length; var19 = var15; var20 = var11; var17 = func_1491(var18, var19, var20); var16 = func_138C(var17); var temp115 = var11; var11 = var16; var16 = temp115; var17 = var11; var11 = 0x3455; var temp116 = var14; var14 = 0x3447; var18 = temp116; var19 = 0x37cc; var temp117 = var16; var16 = 0x343f; var temp118 = var12; var12 = 0x344d; var temp119 = var9; var9 = temp118; var temp120 = var13; var13 = temp119; var temp121 = var10; var10 = temp120; var temp122 = var15; var15 = temp121; var21 = temp122; var20 = msg.data.length; var22 = temp117; var19 = func_1491(var20, var21, var22); var temp123 = var19; var temp124 = keccak256(memory[temp123 + 0x20:temp123 + 0x20 + memory[temp123:temp123 + 0x20]]); var temp125 = var17; var temp126 = memory[0x40:0x60]; var temp127 = var18; var18 = temp126; var17 = var18 + 0x20; memory[var17:var17 + 0x20] = 0x9eacf97babb44a432a52c1157cd6f0c3e91062648f8853a5b7e586dbfdeb3d06; memory[var18 + 0x40:var18 + 0x40 + 0x20] = temp124; var temp128 = (0x01 << 0xa0) - 0x01; var temp129 = var10; var10 = temp128; memory[var18 + 0x60:var18 + 0x60 + 0x20] = temp127 & var10; var temp130 = var9; var9 = temp129 & var10; memory[var18 + 0x80:var18 + 0x80 + 0x20] = var9; memory[var18 + 0xa0:var18 + 0xa0 + 0x20] = temp130; memory[var18 + 0xc0:var18 + 0xc0 + 0x20] = temp125; memory[var18:var18 + 0x20] = 0xc0; var temp131 = var18 + 0xe0; var19 = temp131; if ((var19 > 0xffffffffffffffff) | (var19 < var18)) { var20 = 0x37a9; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = var19; var17 = keccak256(memory[var17:var17 + memory[var18:var18 + 0x20]]); var18 = 0x3853; var18 = DOMAIN_SEPARATOR(); goto label_3853; } } } } } else if (var0 == 0xb24fce88) { // Dispatch table entry for 0xb24fce88 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = msg.data[0x04:0x24]; if (var0 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var1 = 0x151f; var2 = 0x151a; var temp132 = var0; var0 = 0x20; var3 = msg.data.length; var4 = temp132 + 0x04; label_14C8: var temp133 = var4; var temp134 = var3; var3 = temp133; var4 = temp134; if (var3 + 0x1f i>= var4) { revert(memory[0x00:0x00]); } var temp135 = var3; var3 = 0x03d5; var5 = msg.data[temp135:temp135 + 0x20]; var6 = temp135 + 0x20; var3 = func_1491(var4, var5, var6); goto label_03D5; } else if (var0 == 0xb88d4fde) { // Dispatch table entry for safeTransferFrom(address,address,uint256,bytes) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x80) { revert(memory[0x00:0x00]); } var1 = 0x1541; var1 = balanceOf(); var1 = 0x154a; var1 = func_0572(); var1 = msg.data[0x64:0x84]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } if (var1 + 0x23 i>= msg.data.length) { revert(memory[0x00:0x00]); } var temp136 = var1; var1 = 0x157c; var2 = msg.data.length; var3 = msg.data[temp136 + 0x04:temp136 + 0x04 + 0x20]; var4 = temp136 + 0x24; var1 = func_1491(var2, var3, var4); var1 = 0x0917; goto label_19F5; } else if (var0 == 0xc389e6b5) { // Dispatch table entry for 0xc389e6b5 (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var0 = 0x1673; var1 = (0x01 << 0xa0) - 0x01; var2 = 0x165e; var3 = msg.data.length; label_1585: var temp137 = var3; var3 = var2; var2 = temp137; if (var2 + ~0x03 i< 0x40) { revert(memory[0x00:0x00]); } var temp138 = msg.data[0x04:0x24]; var4 = temp138; if (var4 - (var4 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } var temp139 = var2; var2 = var4; var4 = msg.data[0x24:0x44]; var5 = temp139; if (var4 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var temp140 = var4; var4 = 0x03d5; var6 = temp140 + 0x04; goto label_14C8; } else if (var0 == 0xc87b56dd) { // Dispatch table entry for tokenURI(uint256) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x20) { revert(memory[0x00:0x00]); } var0 = msg.data[0x04:0x24]; var1 = 0x16c9; memory[0x00:0x20] = var0; memory[0x20:0x40] = 0x02; var2 = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01); var1 = func_06D0(var2); if (var1) { goto label_080D; } var1 = 0x07e5; var2 = 0x0425; var3 = 0x07bc; var4 = 0x079d; var5 = 0x16f3; var temp141 = var0; var0 = 0x0431; memory[0x00:0x20] = temp141; memory[0x20:0x40] = 0x08; var6 = keccak256(memory[0x00:0x40]); var5 = func_06FE(var6); var6 = 0x0771; var7 = 0x1702; var8 = 0x0743; var9 = var5; var8 = func_1184(var9); goto label_0743; } else if (var0 == 0xe8a3d485) { goto label_0195; } // Dispatch table entry for contractURI() else if (var0 == 0xe985e9c5) { // Dispatch table entry for isApprovedForAll(address,address) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x40) { revert(memory[0x00:0x00]); } var0 = 0x20; var1 = 0xff; var2 = 0x0c25; var3 = 0x1745; var3 = balanceOf(); var2 = func_1745(var0, var3); goto label_0C25; } else if (var0 == 0xeacabe14) { // Dispatch table entry for mintNFT(address,string) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } var0 = 0x178a; var1 = msg.data.length; goto label_1585; } else if (var0 == 0xecd0c0c3) { // Dispatch table entry for _token() var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var temp142 = memory[0x40:0x60]; memory[temp142:temp142 + 0x20] = 0x0000000000000000000000008dbf9a4c99580fc7fd4024ee08f3994420035727 & (0x01 << 0xa0) - 0x01; return memory[temp142:temp142 + 0x20]; } else if (var0 == 0xfa557e0b) { // Dispatch table entry for 0xfa557e0b (unknown) var0 = 0x000e; if (msg.value) { revert(memory[0x00:0x00]); } if (msg.data.length + ~0x03 i< 0x00) { revert(memory[0x00:0x00]); } var temp143 = memory[0x40:0x60]; memory[temp143:temp143 + 0x20] = storage[0x06]; return memory[temp143:temp143 + 0x20]; } else { revert(memory[0x00:0x00]); } } function supportsInterface(var arg0) { var temp0 = arg0; if ((temp0 & 0xffffffff00000000000000000000000000000000000000000000000000000000) - temp0) { revert(memory[0x00:0x00]); } else { return; } } function func_037C(var arg0, var arg1, var arg2) { var var0 = 0x00; if (var0 >= arg0) { goto label_0387; } label_038F: var temp0 = var0; memory[temp0 + arg1:temp0 + arg1 + 0x20] = memory[temp0 + arg2:temp0 + arg2 + 0x20]; var0 = temp0 + 0x20; if (var0 < arg0) { goto label_038F; } label_0387: memory[arg0 + arg1:arg0 + arg1 + 0x20] = 0x00; } function func_039F(var arg0, var arg1) returns (var r0) { var temp0 = arg1; var temp1 = arg0; arg1 = temp1; arg0 = 0x20; var var1 = 0x03b8; var var2 = memory[temp0:temp0 + 0x20]; var var0 = var2; memory[arg1:arg1 + 0x20] = var0; var var3 = arg1 + arg0; var var4 = temp0 + arg0; func_037C(var2, var3, var4); return (var0 + 0x1f & ~0x1f) + arg1 + arg0; } function getApproved(var arg0) { func_1917(arg0); // Error: Could not resolve method call return address! } function balanceOf() returns (var r0) { var temp0 = msg.data[0x04:0x24]; var var0 = r0; r0 = temp0; if (r0 - (r0 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } else { return r0; } } function func_0530() returns (var r0) { var temp0 = msg.data[0x64:0x84]; var var0 = r0; r0 = temp0; if (r0 - (r0 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } else { return r0; } } function func_0546() returns (var r0) { var temp0 = msg.data[0x84:0xa4]; var var0 = r0; r0 = temp0; if (r0 - (r0 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } else { return r0; } } function func_055C() returns (var r0) { var temp0 = msg.data[0x44:0x64]; var var0 = r0; r0 = temp0; if (r0 - (r0 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } else { return r0; } } function func_0572() returns (var r0) { var temp0 = msg.data[0x24:0x44]; var var0 = r0; r0 = temp0; if (r0 - (r0 & (0x01 << 0xa0) - 0x01)) { revert(memory[0x00:0x00]); } else { return r0; } } function func_05D5(var arg0, var arg1) { if (arg0) { return; } var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x3e; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f; memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = 0x6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000; revert(memory[temp0:temp0 + 0x84]); } function func_05DB(var arg0, var arg1) { memory[0x00:0x20] = arg0; memory[0x20:0x40] = 0x04; var temp0 = keccak256(memory[0x00:0x40]); storage[temp0] = (storage[temp0] & ~0xffffffffffffffffffffffffffffffffffffffff) | (arg1 & (0x01 << 0xa0) - 0x01); var var0 = (0x01 << 0xa0) - 0x01; var var1 = var0; var var2 = 0x1b83; var var3 = arg0; var2 = ownerOf(var3); log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, stack[-1] & stack[-2], stack[-4] & stack[-3], stack[-5]]); } function func_0609(var arg0, var arg1) returns (var r0) { memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = arg1; return keccak256(memory[0x00:0x40]); } function func_0621(var arg0) returns (var r0) { return storage[arg0] & 0xff; } function func_06D0(var arg0) returns (var r0) { return !arg0; } function func_06FE(var arg0) returns (var r0) { var var0 = 0x01; var var1 = 0x072d; var var2 = storage[arg0] & (0x01 << 0xa0) - 0x01; var1 = func_0714(var2); var temp0 = arg0; arg0 = var1; var0 = temp0 + var0; var temp1 = var0; var0 = 0x20; var2 = arg0; arg0 = memory[0x40:0x60]; var var3 = 0x2741; var var4 = arg0; var var5 = temp1; var1 = var4; var3 = func_26AB(var4, var5); var temp2 = var3; memory[temp2:temp2 + 0x20] = var2; return keccak256(memory[arg0:arg0 + temp2 - var1 + var0]); } function func_0714(var arg0) returns (var r0) { memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = 0x07; return keccak256(memory[0x00:0x40]); } function func_084E(var arg0) { var temp0 = arg0; var temp1 = temp0 + 0x40; arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { var var0 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_0877(var arg0) { var temp0 = arg0; var temp1 = temp0 + 0x80; arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { var var0 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_0893(var arg0) { var temp0 = arg0; var temp1 = temp0 + 0x20; arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { var var0 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_08AF(var arg0) { var temp0 = arg0; var temp1 = temp0 + 0x0120; arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { var var0 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_08CC(var arg0) { var temp0 = arg0; var temp1 = temp0 + 0xc0; arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { var var0 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_08E8(var arg0, var arg1) { var temp0 = arg1; var temp1 = temp0 + (arg0 + 0x1f & ~0x1f); arg0 = temp1; if ((arg0 > 0xffffffffffffffff) | (arg0 < temp0)) { arg1 = 0x0872; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } else { memory[0x40:0x60] = arg0; return; } } function func_0919(var arg0) returns (var r0) { var temp0 = arg0; arg0 = 0x20; var var0 = temp0; if (var0 <= 0xffffffffffffffff) { return (var0 + 0x1f & ~0x1f) + arg0; } var var1 = 0x093f; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } function func_0976() returns (var r0) { var var0 = r0; r0 = memory[0x40:0x60]; var var1 = 0x0983; var var2 = r0; func_0877(var2); var temp0 = r0; memory[temp0:temp0 + 0x20] = 0x43; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x68747470733a2f2f697066732e696f2f697066732f516d575a46766238384b44; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = 0x6f73374259796635326274785075454569665a4e37693543413259664333617a; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = 0x53384a0000000000000000000000000000000000000000000000000000000000; return r0; } function func_0A18(var arg0) returns (var r0, var arg0, var r2) { var temp0 = memory[0x40:0x60]; var temp1 = r0; r0 = temp0; r2 = temp1; var temp2 = arg0; arg0 = r0; memory[arg0:arg0 + 0x20] = 0x20; var var2 = temp2; var var1 = arg0 + 0x20; r2 = func_039F(var1, var2); // Error: Could not resolve method call return address! } function transferFrom(var arg0) returns (var r0, var arg0, var r2) { if (arg0 + ~0x03 i< 0x60) { revert(memory[0x00:0x00]); } arg0 = r0; r0 = (0x01 << 0xa0) - 0x01; var temp0 = msg.data[0x04:0x24]; r2 = temp0; if (r2 - (r2 & r0)) { revert(memory[0x00:0x00]); } var temp1 = r0; r0 = r2; var temp2 = msg.data[0x24:0x44]; r2 = temp2; if (r2 - (r2 & temp1)) { revert(memory[0x00:0x00]); } arg0 = r2; r2 = msg.data[0x44:0x64]; return r0, arg0, r2; } function func_0AC6(var arg0, var arg1) returns (var r0, var arg0) { var temp0 = arg1; arg1 = r0; r0 = temp0; if (r0 + 0x1f i>= arg0) { revert(memory[0x00:0x00]); } var temp1 = arg0; arg0 = msg.data[r0:r0 + 0x20]; var var0 = temp1; if (arg0 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var temp2 = r0; r0 = temp2 + 0x20; if (temp2 + arg0 + 0x20 > var0) { revert(memory[0x00:0x00]); } else { return r0, arg0; } } function func_0AF4(var arg0) { var temp0 = arg0; if (!!temp0 - temp0) { revert(memory[0x00:0x00]); } else { return; } } function func_0AFE() returns (var r0) { var var0 = r0; r0 = msg.data[0x44:0x64]; var var1 = 0x0917; var var2 = r0; func_0AF4(var2); return r0; } function func_0BE8(var arg0, var arg1, var arg2, var arg3) returns (var arg1, var r1) { var var0 = (0x01 << 0xa0) - 0x01; var var1 = 0x0bf8; var1 = func_055C(); var temp0 = arg1; arg1 = var1; memory[0x00:0x20] = temp0 & var0; memory[arg0:arg0 + 0x20] = 0x07; var0 = arg2; arg2 = keccak256(memory[0x00:0x40]); var temp1 = arg3; var temp2 = memory[0x40:0x60]; memory[temp2:temp2 + temp1] = msg.data[var0:var0 + temp1]; var temp3 = temp2 + temp1; memory[temp3:temp3 + 0x20] = arg2; r1 = keccak256(memory[temp2:temp2 + temp3 - temp2 + 0x20]); return arg1, r1; } function func_0C0C(var arg0, var arg1, var arg2) returns (var r0) { memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = arg2 + arg1; return keccak256(memory[0x00:0x40]); } function func_0C31() returns (var r0) { var var0 = r0; r0 = memory[0x40:0x60]; var var1 = 0x0c3e; var var2 = r0; func_084E(var2); var temp0 = r0; memory[temp0:temp0 + 0x20] = 0x16; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x68747470733a2f2f65636f2e6f72672f65636f2d696400000000000000000000; return r0; } function func_0D8D(var arg0) returns (var r0, var arg0, var r2) { var temp0 = arg0; memory[temp0:temp0 + 0x20] = 0x43; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x68747470733a2f2f697066732e696f2f697066732f516d5a3776705933346a64; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = 0x6d44796e386f74424d7a7658376f6d6e364e575466647856467238524d754141; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = 0x56505a0000000000000000000000000000000000000000000000000000000000; var temp1 = memory[0x40:0x60]; var temp2 = r0; r0 = temp1; r2 = temp2; arg0 = r0; memory[arg0:arg0 + 0x20] = 0x20; var var1 = arg0 + 0x20; var var2 = temp0; r2 = func_039F(var1, var2); // Error: Could not resolve method call return address! } function func_0F40(var arg0, var arg1) { var temp0 = arg1; storage[temp0] = (!!arg0 & 0xff) | (storage[temp0] & ~0xff); } function func_0FE9() returns (var r0) { var temp0 = r0; r0 = memory[0x40:0x60]; var var0 = temp0; var var1 = 0x0ff6; var var2 = r0; func_08AF(var2); var temp1 = r0; memory[temp1:temp1 + 0x20] = 0xf7; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = 0x45636f20494473206172652066756c6c7920646563656e7472616c697a656420; memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = 0x616e64207065726d697373696f6e6c657373206964656e74697479207072696d; memory[temp1 + 0x60:temp1 + 0x60 + 0x20] = 0x6974697665732064657369676e656420746f2062652073696d706c652c207665; memory[temp1 + 0x80:temp1 + 0x80 + 0x20] = 0x72736174696c6520616e6420696d6d757461626c652e20546865792061726520; memory[temp1 + 0xa0:temp1 + 0xa0 + 0x20] = 0x696e74656e64656420746f207365727665206173206120626173696320666f75; memory[temp1 + 0xc0:temp1 + 0xc0 + 0x20] = 0x6e646174696f6e20746f20626f6f74737472617020696e6372656173696e676c; memory[temp1 + 0xe0:temp1 + 0xe0 + 0x20] = 0x792d636f6d706c657820616e6420637573746f6d2072657075746174696f6e20; memory[temp1 + 0x0100:temp1 + 0x0100 + 0x20] = 0x616e6420676f7665726e616e63652073797374656d732e000000000000000000; return r0; } function func_114A(var arg0) returns (var r0) { var temp0 = arg0; arg0 = r0; r0 = temp0 >> 0x01; var var0 = temp0 & 0x01; if (var0) { goto label_1159; } r0 = r0 & 0x7f; var0 = var0; label_1159: if ((r0 < 0x20) != var0) { return r0; } memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x22; revert(memory[0x00:0x24]); } function func_1184(var arg0) returns (var r0) { var temp0 = arg0; arg0 = r0; r0 = memory[0x40:0x60]; var var1 = r0; var var2 = 0x00; var var0 = storage[temp0]; var var3 = temp0; var var4 = 0x1198; var var5 = var0; var4 = func_114A(var5); var temp1 = var4; var4 = var3; var3 = temp1; memory[var1:var1 + 0x20] = var3; var temp2 = var0; var0 = 0x01; var var6 = temp2; var5 = var6 & var0; if (var5 == 0x00) { var0 = 0x0917; var temp3 = var1; memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = var6 & ~0xff; var2 = temp3 + (!!var3 << 0x05) + 0x20; var3 = code.length; var4 = var3; label_11B4: var0 = 0x0917; var1 = var2 - var1; var2 = r0; func_08E8(var1, var2); return r0; } else if (var5 == 0x01) { var temp4 = var3; var temp5 = var0; memory[0x00:0x20] = var4; var2 = 0x20; var0 = keccak256(memory[0x00:0x00 + var2]); var4 = temp4; var3 = 0x00; var5 = temp5; if (var3 >= var4) { goto label_11DD; } label_11ED: var temp6 = var0; var temp7 = var3; var temp8 = var2; memory[temp8 + temp7 + r0:temp8 + temp7 + r0 + 0x20] = storage[temp6]; var0 = var5 + temp6; var1 = r0; var3 = temp8 + temp7; var5 = var5; if (var3 < var4) { goto label_11ED; } label_11DD: var0 = 0x0917; var2 = var1 + var3 + var2; var3 = code.length; var4 = var3; goto label_11B4; } else { goto label_11B4; } } function func_131B(var arg0, var arg1, var arg2) returns (var r0) { var var0 = arg1; var var1 = arg0; var temp0 = var0; var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + temp0] = msg.data[var1:var1 + temp0]; var temp2 = temp1 + temp0; memory[temp2:temp2 + 0x20] = arg2; return keccak256(memory[temp1:temp1 + temp2 - temp1 + 0x20]); } function func_1363(var arg0) returns (var r0) { return (storage[arg0] >> 0xa0) & 0xff; } function func_138C(var arg0) returns (var r0) { var temp0 = arg0; arg0 = 0x3af4; var var0 = temp0; arg0 = func_15DC(var0); var temp1 = arg0; r0 = storage[temp1]; storage[temp1] = r0 + 0x01; return r0; } function func_1491(var arg0, var arg1, var arg2) returns (var r0) { var temp0 = arg0; arg0 = r0; arg2 = arg2; r0 = temp0; var var0 = 0x149d; var var1 = arg1; var0 = func_0919(var1); var temp1 = var0; var0 = arg1; var1 = 0x14ab; arg1 = memory[0x40:0x60]; var var2 = temp1; var var3 = arg1; func_08E8(var2, var3); var temp2 = r0; r0 = arg1; var temp3 = var0; memory[r0:r0 + 0x20] = temp3; if (arg2 + temp3 > temp2) { revert(memory[0x00:0x00]); } var temp4 = arg1; var temp5 = var0; memory[temp4 + 0x20:temp4 + 0x20 + temp5] = msg.data[arg2:arg2 + temp5]; memory[temp4 + temp5 + 0x20:temp4 + temp5 + 0x20 + 0x20] = 0x00; return r0; } function func_15DC(var arg0) returns (var r0) { var var0 = 0x20; var temp0 = arg0; var var3 = 0x15f5; arg0 = memory[0x40:0x60]; var var5 = arg0; var var1 = var5; var var2 = memory[temp0:temp0 + 0x20]; var var4 = var2; var var6 = temp0 + var0; func_037C(var4, var5, var6); var temp1 = var1; var temp2 = temp1 + var2; memory[temp2:temp2 + 0x20] = 0x09; return keccak256(memory[arg0:arg0 + temp2 - temp1 + var0]); } function func_1745(var arg0, var arg1) returns (var r0) { var var0 = (0x01 << 0xa0) - 0x01; var var1 = 0x1755; var1 = func_0572(); memory[0x00:0x20] = arg1 & var0; memory[arg0:arg0 + 0x20] = 0x05; var temp0 = keccak256(memory[0x00:0x40]); memory[0x00:0x20] = var1 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = temp0; return keccak256(memory[0x00:0x40]); } function func_1917(var arg0) { if (arg0) { return; } var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x18; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000; revert(memory[temp0:temp0 + 0x64]); } function ownerOf(var arg0) returns (var r0) { memory[0x00:0x20] = arg0; memory[0x20:0x40] = 0x02; arg0 = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01; var var0 = 0x03d5; var var1 = !!arg0; func_1917(var1); return arg0; } function func_21D1(var arg0, var arg1) returns (var r0, var arg0) { if (arg0 >= storage[arg1]) { var var0 = 0x21f2; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } else { memory[0x00:0x20] = arg1; r0 = keccak256(memory[0x00:0x20]) + arg0; arg0 = 0x00; return r0, arg0; } } function func_22FA(var arg0) returns (var r0) { var temp0 = arg0; var var0 = temp0; arg0 = 0x01; if (var0 != ~0x00) { return var0 + arg0; } var var1 = 0x15d8; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function DOMAIN_SEPARATOR() returns (var r0) { var var0 = address(this) == 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 & (0x01 << 0xa0) - 0x01; if (!var0) { goto label_25C3; } var0 = CHAINID() == 0x0000000000000000000000000000000000000000000000000000000000000001; label_25C3: if (var0) { return 0xa4a8ea8c6583a51f3e2f4fa8d71191c39851ae65ca62d986c621524ff23b85cb; } var temp0 = memory[0x40:0x60]; var0 = temp0 + 0x20; var var1 = temp0; memory[var0:var0 + 0x20] = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f; memory[var1 + 0x40:var1 + 0x40 + 0x20] = 0xd5dcdb0eade3cdff3984004756a6325e58c7e0d9ccdac24dd61fce8d6c19e281; memory[var1 + 0x60:var1 + 0x60 + 0x20] = 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6; memory[var1 + 0x80:var1 + 0x80 + 0x20] = CHAINID(); memory[var1 + 0xa0:var1 + 0xa0 + 0x20] = address(this); memory[var1:var1 + 0x20] = 0xa0; var var2 = 0x267c; var var3 = var1; func_08CC(var3); return keccak256(memory[var0:var0 + memory[var1:var1 + 0x20]]); } function func_26AB(var arg0, var arg1) returns (var r0) { var temp0 = r0; r0 = 0x00; var var0 = arg0; arg0 = temp0; var var1 = storage[arg1]; var var2 = 0x26ba; var var3 = var1; var2 = func_114A(var3); var temp1 = arg1; arg1 = var2; var2 = temp1; var temp2 = var1; var1 = 0x01; var3 = var1 & temp2; var var4 = temp2; if (!var3) { var temp3 = var0; memory[temp3:temp3 + 0x20] = var4 & ~0xff; var temp4 = arg1; r0 = temp4 * !!temp4 + temp3; arg1 = code.length; var0 = arg1; var1 = var0; var2 = var1; label_26D1: return r0; } else if (var3 == 0x01) { var temp5 = arg1; arg1 = var0; var temp6 = arg0; arg0 = temp5; r0 = temp6; memory[0x00:0x20] = var2; var0 = 0x20; var2 = var1; var1 = 0x00; var3 = keccak256(memory[0x00:0x00 + var0]); if (var1 >= arg0) { goto label_26F4; } label_2702: var temp7 = var3; var temp8 = var1; memory[temp8 + arg1:temp8 + arg1 + 0x20] = storage[temp7]; var1 = var0 + temp8; var3 = var2 + temp7; if (var1 < arg0) { goto label_2702; } label_26F4: var temp9 = arg1 + arg0; arg0 = r0; r0 = temp9; arg1 = code.length; var0 = arg1; var1 = var0; var2 = var1; goto label_26D1; } else { goto label_26D1; } } function func_2769(var arg0, var arg1, var arg2, var arg3) { var temp0 = arg2; var temp1 = temp0 + arg3; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = 0x2e2e2e0000000000000000000000000000000000000000000000000000000000; var temp2 = temp1 - temp0; memory[arg0:arg0 + 0x20] = temp2 + 0x03; arg1 = temp2 + arg1; arg2 = arg0; func_08E8(arg1, arg2); // Error: Could not resolve method call return address! } function func_27E3(var arg0, var arg1, var arg2, var arg3) { var temp0 = arg2; var temp1 = (temp0 + arg3) - temp0; memory[arg0:arg0 + 0x20] = temp1 + 0x09; arg1 = temp1 + arg1; arg2 = arg0; func_08E8(arg1, arg2); // Error: Could not resolve method call return address! } function func_3260(var arg0, var arg1) returns (var r0) { var temp0 = arg0; var temp1 = arg1; arg1 = temp0; var var0 = temp1; arg0 = 0x20; if (arg1 < memory[var0:var0 + 0x20]) { return var0 + arg1 + arg0; } var var1 = 0x327a; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } function func_3897(var arg0, var arg1) returns (var r0) { var temp0 = arg0; arg0 = arg1; arg1 = temp0; var var0 = 0x00; if (var0 >= storage[arg1]) { label_38DF: var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5; memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20; memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x10; memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x696e76616c696420766572696669657200000000000000000000000000000000; revert(memory[temp1:temp1 + 0x64]); } else { label_38A5: var var1 = 0x38ae; var var2 = var0; var var3 = arg1; var1, var2 = func_21D1(var2, var3); var temp2 = (0x01 << 0xa0) - 0x01; if (storage[var1] & temp2 == temp2 & arg0) { var temp3 = var0; var0 = arg1; arg1 = temp3; arg0 = 0x38db; arg0, arg1 = func_21D1(arg1, var0); return arg0; } else { var temp4 = var0; var0 = 0x38cb; var1 = temp4; var0 = func_22FA(var1); if (var0 >= storage[arg1]) { goto label_38DF; } else { goto label_38A5; } } } } function func_3A76(var arg0) returns (var r0) { var var0 = arg0; arg0 = memory[0x40:0x60]; var var1 = 0x3a83; var var2 = arg0; func_084E(var2); var temp0 = var0; var0 = 0x0a; var temp1 = arg0; memory[temp1:temp1 + 0x20] = var0; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = msg.data[msg.data.length:msg.data.length + 0x20]; var1 = 0x00; var2 = temp0; var var3 = var1; if (var3 >= var0) { goto label_3A9D; } label_3AA3: var var4 = var3; var var5 = 0xff00000000000000000000000000000000000000000000000000000000000000; var var6 = 0x3ad2; var var7 = var4; var3 = 0x3ae6; var var8 = var2; var6 = func_3260(var7, var8); var3 = func_3AD2(arg0, var1, var4, var5, var6); if (var3 < var0) { goto label_3AA3; } label_3A9D: return arg0; } function func_3AD2(var arg0, var arg1, var arg2, var arg3, var arg4) returns (var r0) { arg3 = byte(memory[arg4:arg4 + 0x20] & arg3, arg1); arg4 = 0x3ae0; var var0 = arg2; var var1 = arg0; arg4 = func_3260(var0, var1); memory[arg4:arg4 + 0x01] = arg3; r0 = func_22FA(arg2); // Error: Could not resolve method call return address! } }

Disassembly

label_0000: // Inputs[1] { @0007 msg.data.length } 0000 60 PUSH1 0x80 0002 60 PUSH1 0x40 0004 52 MSTORE 0005 60 PUSH1 0x04 0007 36 CALLDATASIZE 0008 10 LT 0009 15 ISZERO 000A 61 PUSH2 0x0013 000D 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0004 memory[0x40:0x60] = 0x80 } // Block ends with conditional jump to 0x0013, if !(msg.data.length < 0x04) label_000E: // Incoming jump from 0x0ECF, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x0EC3, if msg.value // Incoming jump from 0x0C7C, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x14D4, if !(stack[-1] + 0x1f i< stack[-2]) // Incoming jump from 0x0D72, if msg.value // Incoming jump from 0x0C8D, if msg.value // Incoming jump from 0x03DE, if msg.value // Incoming jump from 0x1507, if msg.data[0x04:0x24] > 0xffffffffffffffff // Incoming jump from 0x122E, if msg.value // Incoming jump from 0x0A66, if msg.value // Incoming jump from 0x1284, if msg.value // Incoming jump from 0x1736, if ~0x03 + msg.data.length i< 0x40 // Incoming jump from 0x0AF2, if stack[-4] + stack[-3] + 0x20 > stack[-1] // Incoming jump from 0x0C70, if msg.value // Incoming jump from 0x0AA3, if msg.value // Incoming jump from 0x164A, if msg.value // Incoming jump from 0x152D, if msg.value // Incoming jump from 0x12D3, if msg.data[0x84:0xa4] > stack[-2] // Incoming jump from 0x113F, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x0A01, if msg.value // Incoming jump from 0x14B8, if stack[-2] + stack[-1] > stack[-5] // Incoming jump from 0x12A4, if msg.data[0x04:0x24] > 0xffffffffffffffff // Incoming jump from 0x059A, if ~0x03 + msg.data.length i< 0x40 // Incoming jump from 0x190A, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x1781, if msg.value // Incoming jump from 0x0EEC, if ~0x03 + msg.data.length i< 0x40 // Incoming jump from 0x15A5, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x0A5A, if msg.data[0x24:0x44] - (msg.data[0x24:0x44] & stack[-3]) // Incoming jump from 0x15B9, if msg.data[0x24:0x44] > 0xffffffffffffffff // Incoming jump from 0x0A80, if msg.value // Incoming jump from 0x0CC9, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x0A0D, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x069E, if msg.value // Incoming jump from 0x18B9, if msg.value // Incoming jump from 0x18FE, if msg.value // Incoming jump from 0x0586, if msg.data[0x24:0x44] - (msg.data[0x24:0x44] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x0EE0, if msg.value // Incoming jump from 0x0B7F, if msg.data[0xe4:0x0104] > stack[-8] // Incoming jump from 0x0B64, if msg.data[0xc4:0xe4] > stack[-6] // Incoming jump from 0x02BB, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x055A, if msg.data[0x84:0xa4] - (msg.data[0x84:0xa4] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x0544, if msg.data[0x64:0x84] - (msg.data[0x64:0x84] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x0A8C, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x1568, if !(stack[-1] + 0x23 i< msg.data.length) // Incoming jump from 0x0E1D, if msg.value // Incoming jump from 0x0B1E, if ~0x03 + msg.data.length i< 0x0100 // Incoming jump from 0x0B11, if msg.value // Incoming jump from 0x172A, if msg.value // Incoming jump from 0x1133, if msg.value // Incoming jump from 0x155D, if msg.data[0x64:0x84] > 0xffffffffffffffff // Incoming jump from 0x0570, if msg.data[0x44:0x64] - (msg.data[0x44:0x64] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x16A3, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x0BCD, if msg.data[0x24:0x44] > 0xffffffffffffffff // Incoming jump from 0x0AFC, if !!stack[-1] - stack[-1] // Incoming jump from 0x18C5, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x0A4D, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x1539, if ~0x03 + msg.data.length i< 0x80 // Incoming jump from 0x06AA, if ~0x03 + msg.data.length i< 0x60 // Incoming jump from 0x0AE4, if msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff // Incoming jump from 0x02A7, if (stack[-1] & 0xffffffff00000000000000000000000000000000000000000000000000000000) - stack[-1] // Incoming jump from 0x02AF, if msg.value // Incoming jump from 0x0BB2, if ~0x03 + msg.data.length i< 0x60 // Incoming jump from 0x0B31, if msg.data[0x04:0x24] > 0xffffffffffffffff // Incoming jump from 0x123A, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x0A38, if ~0x03 + stack[-1] i< 0x60 // Incoming jump from 0x000D, if not !(msg.data.length < 0x04) // Incoming jump from 0x0BA6, if msg.value // Incoming jump from 0x0CBD, if msg.value // Incoming jump from 0x0C99, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x0FDE, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x14F5, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x04CE, if ~0x03 + msg.data.length i< 0x20 // Incoming jump from 0x0D7E, if ~0x03 + msg.data.length i< 0x00 // Incoming jump from 0x052E, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Incoming jump from 0x1290, if ~0x03 + msg.data.length i< 0xa0 // Incoming jump from 0x058E, if msg.value // Incoming jump from 0x0FD2, if msg.value // Incoming jump from 0x04C2, if msg.value // Incoming jump from 0x1697, if msg.value // Incoming jump from 0x0AD2, if !(stack[-1] + 0x1f i< stack[-2]) // Incoming jump from 0x14E9, if msg.value // Incoming jump from 0x1592, if stack[-1] + ~0x03 i< 0x40 // Inputs[1] { @0012 memory[0x00:0x00] } 000E 5B JUMPDEST 000F 60 PUSH1 0x00 0011 80 DUP1 0012 FD *REVERT // Stack delta = +0 // Outputs[1] { @0012 revert(memory[0x00:0x00]); } // Block terminates label_0013: // Incoming jump from 0x000D, if !(msg.data.length < 0x04) // Inputs[1] { @0016 msg.data[0x00:0x20] } 0013 5B JUMPDEST 0014 60 PUSH1 0x00 0016 35 CALLDATALOAD 0017 60 PUSH1 0xe0 0019 1C SHR 001A 80 DUP1 001B 63 PUSH4 0x01ffc9a7 0020 14 EQ 0021 61 PUSH2 0x0276 0024 57 *JUMPI // Stack delta = +1 // Outputs[1] { @0019 stack[0] = msg.data[0x00:0x20] >> 0xe0 } // Block ends with conditional jump to 0x0276, if 0x01ffc9a7 == msg.data[0x00:0x20] >> 0xe0 label_0025: // Incoming jump from 0x0024, if not 0x01ffc9a7 == msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @0025 stack[-1] } 0025 80 DUP1 0026 63 PUSH4 0x06fdde03 002B 14 EQ 002C 61 PUSH2 0x026d 002F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x026d, if 0x06fdde03 == stack[-1] label_0030: // Incoming jump from 0x002F, if not 0x06fdde03 == stack[-1] // Inputs[1] { @0030 stack[-1] } 0030 80 DUP1 0031 63 PUSH4 0x081812fc 0036 14 EQ 0037 61 PUSH2 0x0264 003A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0264, if 0x081812fc == stack[-1] label_003B: // Incoming jump from 0x003A, if not 0x081812fc == stack[-1] // Inputs[1] { @003B stack[-1] } 003B 80 DUP1 003C 63 PUSH4 0x095ea7b3 0041 14 EQ 0042 61 PUSH2 0x025b 0045 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x025b, if 0x095ea7b3 == stack[-1] label_0046: // Incoming jump from 0x0045, if not 0x095ea7b3 == stack[-1] // Inputs[1] { @0046 stack[-1] } 0046 80 DUP1 0047 63 PUSH4 0x0f551895 004C 14 EQ 004D 61 PUSH2 0x0252 0050 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0252, if 0x0f551895 == stack[-1] label_0051: // Incoming jump from 0x0050, if not 0x0f551895 == stack[-1] // Inputs[1] { @0051 stack[-1] } 0051 80 DUP1 0052 63 PUSH4 0x1c303861 0057 14 EQ 0058 61 PUSH2 0x0249 005B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0249, if 0x1c303861 == stack[-1] label_005C: // Incoming jump from 0x005B, if not 0x1c303861 == stack[-1] // Inputs[1] { @005C stack[-1] } 005C 80 DUP1 005D 63 PUSH4 0x23b872dd 0062 14 EQ 0063 61 PUSH2 0x0240 0066 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0240, if 0x23b872dd == stack[-1] label_0067: // Incoming jump from 0x0066, if not 0x23b872dd == stack[-1] // Inputs[1] { @0067 stack[-1] } 0067 80 DUP1 0068 63 PUSH4 0x3644e515 006D 14 EQ 006E 61 PUSH2 0x0237 0071 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0237, if 0x3644e515 == stack[-1] label_0072: // Incoming jump from 0x0071, if not 0x3644e515 == stack[-1] // Inputs[1] { @0072 stack[-1] } 0072 80 DUP1 0073 63 PUSH4 0x42842e0e 0078 14 EQ 0079 61 PUSH2 0x022e 007C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x022e, if 0x42842e0e == stack[-1] label_007D: // Incoming jump from 0x007C, if not 0x42842e0e == stack[-1] // Inputs[1] { @007D stack[-1] } 007D 80 DUP1 007E 63 PUSH4 0x4b2ff144 0083 14 EQ 0084 61 PUSH2 0x0225 0087 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0225, if 0x4b2ff144 == stack[-1] label_0088: // Incoming jump from 0x0087, if not 0x4b2ff144 == stack[-1] // Inputs[1] { @0088 stack[-1] } 0088 80 DUP1 0089 63 PUSH4 0x56fc0ca2 008E 14 EQ 008F 61 PUSH2 0x021c 0092 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x021c, if 0x56fc0ca2 == stack[-1] label_0093: // Incoming jump from 0x0092, if not 0x56fc0ca2 == stack[-1] // Inputs[1] { @0093 stack[-1] } 0093 80 DUP1 0094 63 PUSH4 0x6271473b 0099 14 EQ 009A 61 PUSH2 0x0213 009D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0213, if 0x6271473b == stack[-1] label_009E: // Incoming jump from 0x009D, if not 0x6271473b == stack[-1] // Inputs[1] { @009E stack[-1] } 009E 80 DUP1 009F 63 PUSH4 0x6352211e 00A4 14 EQ 00A5 61 PUSH2 0x020a 00A8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x020a, if 0x6352211e == stack[-1] label_00A9: // Incoming jump from 0x00A8, if not 0x6352211e == stack[-1] // Inputs[1] { @00A9 stack[-1] } 00A9 80 DUP1 00AA 63 PUSH4 0x70a08231 00AF 14 EQ 00B0 61 PUSH2 0x0201 00B3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0201, if 0x70a08231 == stack[-1] label_00B4: // Incoming jump from 0x00B3, if not 0x70a08231 == stack[-1] // Inputs[1] { @00B4 stack[-1] } 00B4 80 DUP1 00B5 63 PUSH4 0x8f90b477 00BA 14 EQ 00BB 61 PUSH2 0x0195 00BE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0195, if 0x8f90b477 == stack[-1] label_00BF: // Incoming jump from 0x00BE, if not 0x8f90b477 == stack[-1] // Inputs[1] { @00BF stack[-1] } 00BF 80 DUP1 00C0 63 PUSH4 0x95d89b41 00C5 14 EQ 00C6 61 PUSH2 0x01f8 00C9 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01f8, if 0x95d89b41 == stack[-1] label_00CA: // Incoming jump from 0x00C9, if not 0x95d89b41 == stack[-1] // Inputs[1] { @00CA stack[-1] } 00CA 80 DUP1 00CB 63 PUSH4 0x9c933bf1 00D0 14 EQ 00D1 61 PUSH2 0x01ef 00D4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01ef, if 0x9c933bf1 == stack[-1] label_00D5: // Incoming jump from 0x00D4, if not 0x9c933bf1 == stack[-1] // Inputs[1] { @00D5 stack[-1] } 00D5 80 DUP1 00D6 63 PUSH4 0xa22cb465 00DB 14 EQ 00DC 61 PUSH2 0x01e6 00DF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e6, if 0xa22cb465 == stack[-1] label_00E0: // Incoming jump from 0x00DF, if not 0xa22cb465 == stack[-1] // Inputs[1] { @00E0 stack[-1] } 00E0 80 DUP1 00E1 63 PUSH4 0xa70d9c2a 00E6 14 EQ 00E7 61 PUSH2 0x01dd 00EA 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01dd, if 0xa70d9c2a == stack[-1] label_00EB: // Incoming jump from 0x00EA, if not 0xa70d9c2a == stack[-1] // Inputs[1] { @00EB stack[-1] } 00EB 80 DUP1 00EC 63 PUSH4 0xa86c9b2b 00F1 14 EQ 00F2 61 PUSH2 0x01d4 00F5 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01d4, if 0xa86c9b2b == stack[-1] label_00F6: // Incoming jump from 0x00F5, if not 0xa86c9b2b == stack[-1] // Inputs[1] { @00F6 stack[-1] } 00F6 80 DUP1 00F7 63 PUSH4 0xa9cf1e1e 00FC 14 EQ 00FD 61 PUSH2 0x01cb 0100 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01cb, if 0xa9cf1e1e == stack[-1] label_0101: // Incoming jump from 0x0100, if not 0xa9cf1e1e == stack[-1] // Inputs[1] { @0101 stack[-1] } 0101 80 DUP1 0102 63 PUSH4 0xb0fcd0c4 0107 14 EQ 0108 61 PUSH2 0x01c2 010B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01c2, if 0xb0fcd0c4 == stack[-1] label_010C: // Incoming jump from 0x010B, if not 0xb0fcd0c4 == stack[-1] // Inputs[1] { @010C stack[-1] } 010C 80 DUP1 010D 63 PUSH4 0xb24fce88 0112 14 EQ 0113 61 PUSH2 0x01b9 0116 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01b9, if 0xb24fce88 == stack[-1] label_0117: // Incoming jump from 0x0116, if not 0xb24fce88 == stack[-1] // Inputs[1] { @0117 stack[-1] } 0117 80 DUP1 0118 63 PUSH4 0xb88d4fde 011D 14 EQ 011E 61 PUSH2 0x01b0 0121 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01b0, if 0xb88d4fde == stack[-1] label_0122: // Incoming jump from 0x0121, if not 0xb88d4fde == stack[-1] // Inputs[1] { @0122 stack[-1] } 0122 80 DUP1 0123 63 PUSH4 0xc389e6b5 0128 14 EQ 0129 61 PUSH2 0x01a7 012C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01a7, if 0xc389e6b5 == stack[-1] label_012D: // Incoming jump from 0x012C, if not 0xc389e6b5 == stack[-1] // Inputs[1] { @012D stack[-1] } 012D 80 DUP1 012E 63 PUSH4 0xc87b56dd 0133 14 EQ 0134 61 PUSH2 0x019e 0137 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x019e, if 0xc87b56dd == stack[-1] label_0138: // Incoming jump from 0x0137, if not 0xc87b56dd == stack[-1] // Inputs[1] { @0138 stack[-1] } 0138 80 DUP1 0139 63 PUSH4 0xe8a3d485 013E 14 EQ 013F 61 PUSH2 0x0195 0142 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0195, if 0xe8a3d485 == stack[-1] label_0143: // Incoming jump from 0x0142, if not 0xe8a3d485 == stack[-1] // Inputs[1] { @0143 stack[-1] } 0143 80 DUP1 0144 63 PUSH4 0xe985e9c5 0149 14 EQ 014A 61 PUSH2 0x018c 014D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x018c, if 0xe985e9c5 == stack[-1] label_014E: // Incoming jump from 0x014D, if not 0xe985e9c5 == stack[-1] // Inputs[1] { @014E stack[-1] } 014E 80 DUP1 014F 63 PUSH4 0xeacabe14 0154 14 EQ 0155 61 PUSH2 0x0183 0158 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0183, if 0xeacabe14 == stack[-1] label_0159: // Incoming jump from 0x0158, if not 0xeacabe14 == stack[-1] // Inputs[1] { @0159 stack[-1] } 0159 80 DUP1 015A 63 PUSH4 0xecd0c0c3 015F 14 EQ 0160 61 PUSH2 0x017a 0163 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x017a, if 0xecd0c0c3 == stack[-1] label_0164: // Incoming jump from 0x0163, if not 0xecd0c0c3 == stack[-1] // Inputs[1] { @0169 stack[-1] } 0164 63 PUSH4 0xfa557e0b 0169 14 EQ 016A 61 PUSH2 0x0172 016D 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x0172, if 0xfa557e0b == stack[-1] label_016E: // Incoming jump from 0x016D, if not 0xfa557e0b == stack[-1] // Inputs[1] { @0171 memory[0x00:0x00] } 016E 60 PUSH1 0x00 0170 80 DUP1 0171 FD *REVERT // Stack delta = +0 // Outputs[1] { @0171 revert(memory[0x00:0x00]); } // Block terminates label_0172: // Incoming jump from 0x016D, if 0xfa557e0b == stack[-1] 0172 5B JUMPDEST 0173 61 PUSH2 0x000e 0176 61 PUSH2 0x18f8 0179 56 *JUMP // Stack delta = +1 // Outputs[1] { @0173 stack[0] = 0x000e } // Block ends with unconditional jump to 0x18f8 label_017A: // Incoming jump from 0x0163, if 0xecd0c0c3 == stack[-1] 017A 5B JUMPDEST 017B 50 POP 017C 61 PUSH2 0x000e 017F 61 PUSH2 0x18b3 0182 56 *JUMP // Stack delta = +0 // Outputs[1] { @017C stack[-1] = 0x000e } // Block ends with unconditional jump to 0x18b3 label_0183: // Incoming jump from 0x0158, if 0xeacabe14 == stack[-1] 0183 5B JUMPDEST 0184 50 POP 0185 61 PUSH2 0x000e 0188 61 PUSH2 0x177b 018B 56 *JUMP // Stack delta = +0 // Outputs[1] { @0185 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x177b label_018C: // Incoming jump from 0x014D, if 0xe985e9c5 == stack[-1] 018C 5B JUMPDEST 018D 50 POP 018E 61 PUSH2 0x000e 0191 61 PUSH2 0x1724 0194 56 *JUMP // Stack delta = +0 // Outputs[1] { @018E stack[-1] = 0x000e } // Block ends with unconditional jump to 0x1724 label_0195: // Incoming jump from 0x0142, if 0xe8a3d485 == stack[-1] // Incoming jump from 0x00BE, if 0x8f90b477 == stack[-1] 0195 5B JUMPDEST 0196 50 POP 0197 61 PUSH2 0x000e 019A 61 PUSH2 0x0d6c 019D 56 *JUMP // Stack delta = +0 // Outputs[1] { @0197 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0d6c label_019E: // Incoming jump from 0x0137, if 0xc87b56dd == stack[-1] 019E 5B JUMPDEST 019F 50 POP 01A0 61 PUSH2 0x000e 01A3 61 PUSH2 0x1691 01A6 56 *JUMP // Stack delta = +0 // Outputs[1] { @01A0 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x1691 label_01A7: // Incoming jump from 0x012C, if 0xc389e6b5 == stack[-1] 01A7 5B JUMPDEST 01A8 50 POP 01A9 61 PUSH2 0x000e 01AC 61 PUSH2 0x1644 01AF 56 *JUMP // Stack delta = +0 // Outputs[1] { @01A9 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x1644 label_01B0: // Incoming jump from 0x0121, if 0xb88d4fde == stack[-1] 01B0 5B JUMPDEST 01B1 50 POP 01B2 61 PUSH2 0x000e 01B5 61 PUSH2 0x1528 01B8 56 *JUMP // Stack delta = +0 // Outputs[1] { @01B2 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x1528 label_01B9: // Incoming jump from 0x0116, if 0xb24fce88 == stack[-1] 01B9 5B JUMPDEST 01BA 50 POP 01BB 61 PUSH2 0x000e 01BE 61 PUSH2 0x14e3 01C1 56 *JUMP // Stack delta = +0 // Outputs[1] { @01BB stack[-1] = 0x000e } // Block ends with unconditional jump to 0x14e3 label_01C2: // Incoming jump from 0x010B, if 0xb0fcd0c4 == stack[-1] 01C2 5B JUMPDEST 01C3 50 POP 01C4 61 PUSH2 0x000e 01C7 61 PUSH2 0x127e 01CA 56 *JUMP // Stack delta = +0 // Outputs[1] { @01C4 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x127e label_01CB: // Incoming jump from 0x0100, if 0xa9cf1e1e == stack[-1] 01CB 5B JUMPDEST 01CC 50 POP 01CD 61 PUSH2 0x000e 01D0 61 PUSH2 0x1228 01D3 56 *JUMP // Stack delta = +0 // Outputs[1] { @01CD stack[-1] = 0x000e } // Block ends with unconditional jump to 0x1228 label_01D4: // Incoming jump from 0x00F5, if 0xa86c9b2b == stack[-1] 01D4 5B JUMPDEST 01D5 50 POP 01D6 61 PUSH2 0x000e 01D9 61 PUSH2 0x112d 01DC 56 *JUMP // Stack delta = +0 // Outputs[1] { @01D6 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x112d label_01DD: // Incoming jump from 0x00EA, if 0xa70d9c2a == stack[-1] 01DD 5B JUMPDEST 01DE 50 POP 01DF 61 PUSH2 0x000e 01E2 61 PUSH2 0x0fcc 01E5 56 *JUMP // Stack delta = +0 // Outputs[1] { @01DF stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0fcc label_01E6: // Incoming jump from 0x00DF, if 0xa22cb465 == stack[-1] 01E6 5B JUMPDEST 01E7 50 POP 01E8 61 PUSH2 0x000e 01EB 61 PUSH2 0x0eda 01EE 56 *JUMP // Stack delta = +0 // Outputs[1] { @01E8 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0eda label_01EF: // Incoming jump from 0x00D4, if 0x9c933bf1 == stack[-1] 01EF 5B JUMPDEST 01F0 50 POP 01F1 61 PUSH2 0x000e 01F4 61 PUSH2 0x0ebd 01F7 56 *JUMP // Stack delta = +0 // Outputs[1] { @01F1 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0ebd label_01F8: // Incoming jump from 0x00C9, if 0x95d89b41 == stack[-1] 01F8 5B JUMPDEST 01F9 50 POP 01FA 61 PUSH2 0x000e 01FD 61 PUSH2 0x0e17 0200 56 *JUMP // Stack delta = +0 // Outputs[1] { @01FA stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0e17 label_0201: // Incoming jump from 0x00B3, if 0x70a08231 == stack[-1] 0201 5B JUMPDEST 0202 50 POP 0203 61 PUSH2 0x000e 0206 61 PUSH2 0x0cb7 0209 56 *JUMP // Stack delta = +0 // Outputs[1] { @0203 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0cb7 label_020A: // Incoming jump from 0x00A8, if 0x6352211e == stack[-1] 020A 5B JUMPDEST 020B 50 POP 020C 61 PUSH2 0x000e 020F 61 PUSH2 0x0c87 0212 56 *JUMP // Stack delta = +0 // Outputs[1] { @020C stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0c87 label_0213: // Incoming jump from 0x009D, if 0x6271473b == stack[-1] 0213 5B JUMPDEST 0214 50 POP 0215 61 PUSH2 0x000e 0218 61 PUSH2 0x0c6a 021B 56 *JUMP // Stack delta = +0 // Outputs[1] { @0215 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0c6a label_021C: // Incoming jump from 0x0092, if 0x56fc0ca2 == stack[-1] 021C 5B JUMPDEST 021D 50 POP 021E 61 PUSH2 0x000e 0221 61 PUSH2 0x0ba0 0224 56 *JUMP // Stack delta = +0 // Outputs[1] { @021E stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0ba0 label_0225: // Incoming jump from 0x0087, if 0x4b2ff144 == stack[-1] 0225 5B JUMPDEST 0226 50 POP 0227 61 PUSH2 0x000e 022A 61 PUSH2 0x0b0b 022D 56 *JUMP // Stack delta = +0 // Outputs[1] { @0227 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0b0b label_022E: // Incoming jump from 0x007C, if 0x42842e0e == stack[-1] 022E 5B JUMPDEST 022F 50 POP 0230 61 PUSH2 0x000e 0233 61 PUSH2 0x0a9e 0236 56 *JUMP // Stack delta = +0 // Outputs[1] { @0230 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0a9e label_0237: // Incoming jump from 0x0071, if 0x3644e515 == stack[-1] 0237 5B JUMPDEST 0238 50 POP 0239 61 PUSH2 0x000e 023C 61 PUSH2 0x0a7a 023F 56 *JUMP // Stack delta = +0 // Outputs[1] { @0239 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0a7a label_0240: // Incoming jump from 0x0066, if 0x23b872dd == stack[-1] 0240 5B JUMPDEST 0241 50 POP 0242 61 PUSH2 0x000e 0245 61 PUSH2 0x0a61 0248 56 *JUMP // Stack delta = +0 // Outputs[1] { @0242 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0a61 label_0249: // Incoming jump from 0x005B, if 0x1c303861 == stack[-1] 0249 5B JUMPDEST 024A 50 POP 024B 61 PUSH2 0x000e 024E 61 PUSH2 0x09fb 0251 56 *JUMP // Stack delta = +0 // Outputs[1] { @024B stack[-1] = 0x000e } // Block ends with unconditional jump to 0x09fb label_0252: // Incoming jump from 0x0050, if 0x0f551895 == stack[-1] 0252 5B JUMPDEST 0253 50 POP 0254 61 PUSH2 0x000e 0257 61 PUSH2 0x0698 025A 56 *JUMP // Stack delta = +0 // Outputs[1] { @0254 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0698 label_025B: // Incoming jump from 0x0045, if 0x095ea7b3 == stack[-1] 025B 5B JUMPDEST 025C 50 POP 025D 61 PUSH2 0x000e 0260 61 PUSH2 0x0588 0263 56 *JUMP // Stack delta = +0 // Outputs[1] { @025D stack[-1] = 0x000e } // Block ends with unconditional jump to 0x0588 label_0264: // Incoming jump from 0x003A, if 0x081812fc == stack[-1] 0264 5B JUMPDEST 0265 50 POP 0266 61 PUSH2 0x000e 0269 61 PUSH2 0x04bc 026C 56 *JUMP // Stack delta = +0 // Outputs[1] { @0266 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x04bc label_026D: // Incoming jump from 0x002F, if 0x06fdde03 == stack[-1] 026D 5B JUMPDEST 026E 50 POP 026F 61 PUSH2 0x000e 0272 61 PUSH2 0x03d8 0275 56 *JUMP // Stack delta = +0 // Outputs[1] { @026F stack[-1] = 0x000e } // Block ends with unconditional jump to 0x03d8 label_0276: // Incoming jump from 0x0024, if 0x01ffc9a7 == msg.data[0x00:0x20] >> 0xe0 0276 5B JUMPDEST 0277 50 POP 0278 61 PUSH2 0x000e 027B 61 PUSH2 0x02a9 027E 56 *JUMP // Stack delta = +0 // Outputs[1] { @0278 stack[-1] = 0x000e } // Block ends with unconditional jump to 0x02a9 label_027F: // Incoming call from 0x02E9, returns to 0x02EA // Inputs[1] { @02A1 stack[-1] } 027F 5B JUMPDEST 0280 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 02A1 81 DUP2 02A2 16 AND 02A3 03 SUB 02A4 61 PUSH2 0x000e 02A7 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if (stack[-1] & 0xffffffff00000000000000000000000000000000000000000000000000000000) - stack[-1] label_02A8: // Incoming jump from 0x02A7, if not (stack[-1] & 0xffffffff00000000000000000000000000000000000000000000000000000000) - stack[-1] // Inputs[1] { @02A8 stack[-1] } 02A8 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_02A9: // Incoming jump from 0x027E // Inputs[1] { @02AB msg.value } 02A9 5B JUMPDEST 02AA 50 POP 02AB 34 CALLVALUE 02AC 61 PUSH2 0x000e 02AF 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_02B0: // Incoming jump from 0x02AF, if not msg.value // Inputs[1] { @02B2 msg.data.length } 02B0 60 PUSH1 0x20 02B2 36 CALLDATASIZE 02B3 60 PUSH1 0x03 02B5 19 NOT 02B6 01 ADD 02B7 12 SLT 02B8 61 PUSH2 0x000e 02BB 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_02BC: // Incoming jump from 0x02BB, if not ~0x03 + msg.data.length i< 0x20 // Inputs[1] { @02E1 msg.data[0x04:0x24] } 02BC 60 PUSH1 0x20 02BE 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 02DF 60 PUSH1 0x04 02E1 35 CALLDATALOAD 02E2 61 PUSH2 0x02ea 02E5 81 DUP2 02E6 61 PUSH2 0x027f 02E9 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @02BC stack[0] = 0x20 // @02BE stack[1] = 0xffffffff00000000000000000000000000000000000000000000000000000000 // @02E1 stack[2] = msg.data[0x04:0x24] // @02E2 stack[3] = 0x02ea // @02E5 stack[4] = msg.data[0x04:0x24] // } // Block ends with call to 0x027f, returns to 0x02EA label_02EA: // Incoming return from call to 0x027F at 0x02E9 // Inputs[2] // { // @02EB stack[-1] // @02EB stack[-2] // } 02EA 5B JUMPDEST 02EB 16 AND 02EC 7F PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000 030D 81 DUP2 030E 14 EQ 030F 90 SWAP1 0310 81 DUP2 0311 15 ISZERO 0312 61 PUSH2 0x0352 0315 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @030F stack[-2] = stack[-1] & stack[-2] == 0x80ac58cd00000000000000000000000000000000000000000000000000000000 // @030F stack[-1] = stack[-1] & stack[-2] // } // Block ends with conditional jump to 0x0352, if !(stack[-1] & stack[-2] == 0x80ac58cd00000000000000000000000000000000000000000000000000000000) label_0316: // Incoming jump from 0x037B // Incoming jump from 0x0315, if not !(stack[-1] & stack[-2] == 0x80ac58cd00000000000000000000000000000000000000000000000000000000) // Inputs[1] { @0317 stack[-2] } 0316 5B JUMPDEST 0317 81 DUP2 0318 15 ISZERO 0319 61 PUSH2 0x0328 031C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0328, if !stack[-2] label_031D: // Incoming jump from 0x031C, if not !stack[-2] // Incoming jump from 0x0351 // Inputs[4] // { // @0321 memory[0x40:0x60] // @0322 stack[-2] // @0327 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-3]] // @0327 stack[-3] // } 031D 5B JUMPDEST 031E 50 POP 031F 60 PUSH1 0x40 0321 51 MLOAD 0322 90 SWAP1 0323 15 ISZERO 0324 15 ISZERO 0325 81 DUP2 0326 52 MSTORE 0327 F3 *RETURN // Stack delta = -3 // Outputs[2] // { // @0326 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = !!stack[-2] // @0327 return memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-3]]; // } // Block terminates label_0328: // Incoming jump from 0x031C, if !stack[-2] // Inputs[3] // { // @034A stack[-2] // @034C stack[-1] // @034D code.length // } 0328 5B JUMPDEST 0329 7F PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 034A 91 SWAP2 034B 50 POP 034C 14 EQ 034D 38 CODESIZE 034E 61 PUSH2 0x031d 0351 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @034C stack[-2] = stack[-1] == 0x01ffc9a700000000000000000000000000000000000000000000000000000000 // @034D stack[-1] = code.length // } // Block ends with unconditional jump to 0x031d label_0352: // Incoming jump from 0x0315, if !(stack[-1] & stack[-2] == 0x80ac58cd00000000000000000000000000000000000000000000000000000000) // Inputs[2] // { // @0374 stack[-1] // @0376 stack[-2] // } 0352 5B JUMPDEST 0353 7F PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000 0374 81 DUP2 0375 14 EQ 0376 91 SWAP2 0377 50 POP 0378 61 PUSH2 0x0316 037B 56 *JUMP // Stack delta = +0 // Outputs[1] { @0376 stack[-2] = stack[-1] == 0x5b5e139f00000000000000000000000000000000000000000000000000000000 } // Block ends with unconditional jump to 0x0316 label_037C: // Incoming call from 0x15F4, returns to 0x15F5 // Incoming call from 0x27E2, returns to 0x27E3 // Incoming call from 0x03B7, returns to 0x03B8 // Incoming call from 0x2768, returns to 0x2769 // Inputs[1] { @0380 stack[-3] } 037C 5B JUMPDEST 037D 60 PUSH1 0x00 037F 5B JUMPDEST 0380 83 DUP4 0381 81 DUP2 0382 10 LT 0383 61 PUSH2 0x038f 0386 57 *JUMPI // Stack delta = +1 // Outputs[1] { @037D stack[0] = 0x00 } // Block ends with conditional jump to 0x038f, if 0x00 < stack[-3] label_0387: // Incoming jump from 0x0386, if not stack[-1] < stack[-4] // Incoming jump from 0x0386, if not 0x00 < stack[-3] // Inputs[3] // { // @038B stack[-4] // @038C stack[-3] // @038E stack[-5] // } 0387 50 POP 0388 50 POP 0389 60 PUSH1 0x00 038B 91 SWAP2 038C 01 ADD 038D 52 MSTORE 038E 56 *JUMP // Stack delta = -5 // Outputs[1] { @038D memory[stack[-4] + stack[-3]:stack[-4] + stack[-3] + 0x20] = 0x00 } // Block ends with unconditional jump to stack[-5] label_038F: // Incoming jump from 0x0386, if stack[-1] < stack[-4] // Incoming jump from 0x0386, if 0x00 < stack[-3] // Inputs[4] // { // @0390 stack[-2] // @0391 stack[-1] // @0393 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @0394 stack[-3] // } 038F 5B JUMPDEST 0390 81 DUP2 0391 81 DUP2 0392 01 ADD 0393 51 MLOAD 0394 83 DUP4 0395 82 DUP3 0396 01 ADD 0397 52 MSTORE 0398 60 PUSH1 0x20 039A 01 ADD 039B 61 PUSH2 0x037f 039E 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0397 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @039A stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x037f label_039F: // Incoming jump from 0x0E16 // Incoming jump from 0x0A2B // Incoming call from 0x127D, returns to 0x0431 // Incoming call from 0x03D4, returns to 0x03D5 // Inputs[3] // { // @03A0 stack[-1] // @03A0 stack[-2] // @03A8 memory[stack[-1]:stack[-1] + 0x20] // } 039F 5B JUMPDEST 03A0 90 SWAP1 03A1 60 PUSH1 0x20 03A3 91 SWAP2 03A4 61 PUSH2 0x03b8 03A7 81 DUP2 03A8 51 MLOAD 03A9 80 DUP1 03AA 92 SWAP3 03AB 81 DUP2 03AC 85 DUP6 03AD 52 MSTORE 03AE 85 DUP6 03AF 80 DUP1 03B0 86 DUP7 03B1 01 ADD 03B2 91 SWAP2 03B3 01 ADD 03B4 61 PUSH2 0x037c 03B7 56 *JUMP // Stack delta = +5 // Outputs[8] // { // @03A0 stack[-1] = stack[-2] // @03A3 stack[-2] = 0x20 // @03A4 stack[1] = 0x03b8 // @03A8 stack[2] = memory[stack[-1]:stack[-1] + 0x20] // @03AA stack[0] = memory[stack[-1]:stack[-1] + 0x20] // @03AD memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @03B2 stack[3] = stack[-2] + 0x20 // @03B3 stack[4] = stack[-1] + 0x20 // } // Block ends with call to 0x037c, returns to 0x03B8 label_03B8: // Incoming return from call to 0x037C at 0x03B7 // Inputs[4] // { // @03BB stack[-1] // @03C0 stack[-2] // @03C1 stack[-3] // @03C2 stack[-4] // } 03B8 5B JUMPDEST 03B9 60 PUSH1 0x1f 03BB 01 ADD 03BC 60 PUSH1 0x1f 03BE 19 NOT 03BF 16 AND 03C0 01 ADD 03C1 01 ADD 03C2 90 SWAP1 03C3 56 *JUMP // Stack delta = -3 // Outputs[1] { @03C2 stack[-4] = (~0x1f & 0x1f + stack[-1]) + stack[-2] + stack[-3] } // Block ends with unconditional jump to stack[-4] label_03C4: // Incoming jump from 0x0430 // Inputs[2] // { // @03C5 stack[-1] // @03C5 stack[-2] // } 03C4 5B JUMPDEST 03C5 90 SWAP1 03C6 60 PUSH1 0x20 03C8 61 PUSH2 0x03d5 03CB 92 SWAP3 03CC 81 DUP2 03CD 81 DUP2 03CE 52 MSTORE 03CF 01 ADD 03D0 90 SWAP1 03D1 61 PUSH2 0x039f 03D4 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @03CB stack[-2] = 0x03d5 // @03CE memory[stack[-1]:stack[-1] + 0x20] = 0x20 // @03D0 stack[0] = stack[-2] // @03D0 stack[-1] = stack[-1] + 0x20 // } // Block ends with call to 0x039f, returns to 0x03D5 label_03D5: // Incoming return from call to 0x1491 at 0x14E2 // Incoming return from call to 0x039F at 0x03D4 // Incoming return from call to 0x1917 at 0x1983 // Inputs[2] // { // @03D6 stack[-2] // @03D6 stack[-1] // } 03D5 5B JUMPDEST 03D6 90 SWAP1 03D7 56 *JUMP // Stack delta = -1 // Outputs[1] { @03D6 stack[-2] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_03D8: // Incoming jump from 0x0275 // Inputs[1] { @03DA msg.value } 03D8 5B JUMPDEST 03D9 50 POP 03DA 34 CALLVALUE 03DB 61 PUSH2 0x000e 03DE 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_03DF: // Incoming jump from 0x03DE, if not msg.value // Inputs[1] { @03E5 msg.data.length } 03DF 60 PUSH1 0x00 03E1 80 DUP1 03E2 60 PUSH1 0x03 03E4 19 NOT 03E5 36 CALLDATASIZE 03E6 01 ADD 03E7 12 SLT 03E8 61 PUSH2 0x04b9 03EB 57 *JUMPI // Stack delta = +1 // Outputs[1] { @03DF stack[0] = 0x00 } // Block ends with conditional jump to 0x04b9, if msg.data.length + ~0x03 i< 0x00 label_03EC: // Incoming jump from 0x03EB, if not msg.data.length + ~0x03 i< 0x00 // Inputs[3] // { // @03EE memory[0x40:0x60] // @03EF stack[-1] // @03F2 storage[stack[-1]] // } 03EC 60 PUSH1 0x40 03EE 51 MLOAD 03EF 90 SWAP1 03F0 80 DUP1 03F1 80 DUP1 03F2 54 SLOAD 03F3 61 PUSH2 0x03fb 03F6 81 DUP2 03F7 61 PUSH2 0x114a 03FA 56 *JUMP // Stack delta = +5 // Outputs[6] // { // @03EF stack[0] = stack[-1] // @03EF stack[-1] = memory[0x40:0x60] // @03F0 stack[1] = stack[-1] // @03F2 stack[2] = storage[stack[-1]] // @03F3 stack[3] = 0x03fb // @03F6 stack[4] = storage[stack[-1]] // } // Block ends with call to 0x114a, returns to 0x03FB label_03FB: // Incoming return from call to 0x114A at 0x03FA // Inputs[4] // { // @03FC stack[-1] // @03FD stack[-5] // @03FF stack[-3] // @0402 stack[-2] // } 03FB 5B JUMPDEST 03FC 80 DUP1 03FD 85 DUP6 03FE 52 MSTORE 03FF 91 SWAP2 0400 60 PUSH1 0x01 0402 91 SWAP2 0403 80 DUP1 0404 83 DUP4 0405 16 AND 0406 90 SWAP1 0407 81 DUP2 0408 15 ISZERO 0409 61 PUSH2 0x048f 040C 57 *JUMPI // Stack delta = +2 // Outputs[6] // { // @03FE memory[stack[-5]:stack[-5] + 0x20] = stack[-1] // @03FF stack[-1] = stack[-3] // @03FF stack[-3] = stack[-1] // @0402 stack[-2] = 0x01 // @0406 stack[0] = 0x01 & stack[-2] // @0406 stack[1] = stack[-2] // } // Block ends with conditional jump to 0x048f, if !(0x01 & stack[-2]) label_040D: // Incoming jump from 0x040C, if not !(0x01 & stack[-2]) // Inputs[1] { @0410 stack[-2] } 040D 50 POP 040E 60 PUSH1 0x01 0410 14 EQ 0411 61 PUSH2 0x0435 0414 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x0435, if 0x01 == stack[-2] label_0415: // Incoming jump from 0x04B8 // Incoming jump from 0x0414, if not 0x01 == stack[-2] // Incoming jump from 0x0EA4 // Incoming jump from 0x0476 // Inputs[2] // { // @0419 stack[-5] // @041E stack[-4] // } 0415 5B JUMPDEST 0416 61 PUSH2 0x0431 0419 85 DUP6 041A 61 PUSH2 0x0425 041D 81 DUP2 041E 87 DUP8 041F 03 SUB 0420 82 DUP3 0421 61 PUSH2 0x08e8 0424 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @0416 stack[0] = 0x0431 // @0419 stack[1] = stack[-5] // @041A stack[2] = 0x0425 // @041F stack[3] = stack[-4] - stack[-5] // @0420 stack[4] = stack[-5] // } // Block ends with call to 0x08e8, returns to 0x0425 label_0425: // Incoming return from call to 0x08E8 at 0x0E62 // Incoming return from call to 0x08E8 at 0x0424 // Inputs[3] // { // @0428 memory[0x40:0x60] // @0429 stack[-2] // @042B stack[-1] // } 0425 5B JUMPDEST 0426 60 PUSH1 0x40 0428 51 MLOAD 0429 91 SWAP2 042A 82 DUP3 042B 91 SWAP2 042C 82 DUP3 042D 61 PUSH2 0x03c4 0430 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @0429 stack[0] = stack[-2] // @0429 stack[-2] = memory[0x40:0x60] // @042B stack[-1] = memory[0x40:0x60] // @042B stack[1] = stack[-1] // @042C stack[2] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x03c4 label_0431: // Incoming return from call to 0x0D8D at 0x0D8C // Incoming return from call to 0x0A18 at 0x0A17 // Incoming jump from 0x0D01 // Incoming return from call to 0x0A18 at 0x1149 // Incoming return from call to 0x039F at 0x127D // Incoming return from call to 0x0A18 at 0x0C86 // Inputs[4] // { // @0432 stack[-1] // @0432 stack[-2] // @0433 stack[-3] // @0434 memory[stack[-3]:stack[-3] + stack[-1] - stack[-2]] // } 0431 5B JUMPDEST 0432 03 SUB 0433 90 SWAP1 0434 F3 *RETURN // Stack delta = -3 // Outputs[1] { @0434 return memory[stack[-3]:stack[-3] + stack[-1] - stack[-2]]; } // Block terminates label_0435: // Incoming jump from 0x0414, if 0x01 == stack[-2] // Inputs[3] // { // @0436 stack[-1] // @0438 stack[-4] // @045D stack[-3] // } 0435 5B JUMPDEST 0436 80 DUP1 0437 80 DUP1 0438 94 SWAP5 0439 50 POP 043A 52 MSTORE 043B 7F PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563 045C 5B JUMPDEST 045D 82 DUP3 045E 84 DUP5 045F 10 LT 0460 61 PUSH2 0x0477 0463 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @0438 stack[-4] = stack[-1] // @043A memory[stack[-1]:stack[-1] + 0x20] = stack[-1] // @043B stack[-1] = 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563 // } // Block ends with conditional jump to 0x0477, if stack[-1] < stack[-3] label_0464: // Incoming jump from 0x0463, if not stack[-1] < stack[-3] // Incoming jump from 0x0463, if not stack[-4] < stack[-3] // Inputs[2] // { // @0467 stack[-5] // @0468 stack[-4] // } 0464 50 POP 0465 50 POP 0466 50 POP 0467 81 DUP2 0468 01 ADD 0469 60 PUSH1 0x20 046B 01 ADD 046C 61 PUSH2 0x0425 046F 82 DUP3 0470 61 PUSH2 0x0431 0473 61 PUSH2 0x0415 0476 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @046B stack[-4] = 0x20 + stack[-5] + stack[-4] // @046C stack[-3] = 0x0425 // @046F stack[-2] = stack[-5] // @0470 stack[-1] = 0x0431 // } // Block ends with unconditional jump to 0x0415 label_0477: // Incoming jump from 0x0463, if stack[-1] < stack[-3] // Incoming jump from 0x0463, if stack[-4] < stack[-3] // Inputs[5] // { // @0478 stack[-1] // @0479 storage[stack[-1]] // @047C stack[-4] // @047D stack[-5] // @0489 stack[-2] // } 0477 5B JUMPDEST 0478 80 DUP1 0479 54 SLOAD 047A 60 PUSH1 0x20 047C 85 DUP6 047D 87 DUP8 047E 01 ADD 047F 81 DUP2 0480 01 ADD 0481 91 SWAP2 0482 90 SWAP1 0483 91 SWAP2 0484 52 MSTORE 0485 90 SWAP1 0486 93 SWAP4 0487 01 ADD 0488 92 SWAP3 0489 81 DUP2 048A 01 ADD 048B 61 PUSH2 0x045c 048E 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @0484 memory[0x20 + stack[-5] + stack[-4]:0x20 + stack[-5] + stack[-4] + 0x20] = storage[stack[-1]] // @0488 stack[-4] = stack[-4] + 0x20 // @048A stack[-1] = stack[-2] + stack[-1] // } // Block ends with unconditional jump to 0x045c label_048F: // Incoming jump from 0x0E4B, if !(stack[-4] & stack[-3]) // Incoming jump from 0x040C, if !(0x01 & stack[-2]) // Inputs[7] // { // @0490 stack[-7] // @0491 stack[-6] // @0497 stack[-4] // @049B stack[-3] // @04A0 stack[-5] // @04A1 stack[-2] // @04A6 stack[-1] // } 048F 5B JUMPDEST 0490 86 DUP7 0491 95 SWAP6 0492 50 POP 0493 61 PUSH2 0x0431 0496 96 SWAP7 0497 93 SWAP4 0498 50 POP 0499 60 PUSH1 0x20 049B 92 SWAP3 049C 50 POP 049D 61 PUSH2 0x0425 04A0 94 SWAP5 04A1 91 SWAP2 04A2 50 POP 04A3 60 PUSH1 0xff 04A5 19 NOT 04A6 16 AND 04A7 82 DUP3 04A8 84 DUP5 04A9 01 ADD 04AA 52 MSTORE 04AB 15 ISZERO 04AC 15 ISZERO 04AD 60 PUSH1 0x05 04AF 1B SHL 04B0 82 DUP3 04B1 01 ADD 04B2 01 ADD 04B3 92 SWAP3 04B4 93 SWAP4 04B5 61 PUSH2 0x0415 04B8 56 *JUMP // Stack delta = -2 // Outputs[6] // { // @0497 stack[-4] = stack[-7] // @04A0 stack[-5] = 0x0425 // @04AA memory[stack[-7] + 0x20:stack[-7] + 0x20 + 0x20] = ~0xff & stack[-1] // @04B3 stack[-6] = stack[-7] + (!!stack[-5] << 0x05) + 0x20 // @04B4 stack[-7] = stack[-7] // @04B4 stack[-3] = 0x0431 // } // Block ends with unconditional jump to 0x0415 label_04B9: // Incoming jump from 0x03EB, if msg.data.length + ~0x03 i< 0x00 // Incoming jump from 0x0E2A, if msg.data.length + ~0x03 i< 0x00 // Inputs[2] // { // @04BA stack[-1] // @04BB memory[stack[-1]:stack[-1] + stack[-1]] // } 04B9 5B JUMPDEST 04BA 80 DUP1 04BB FD *REVERT // Stack delta = -1 // Outputs[1] { @04BB revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_04BC: // Incoming jump from 0x026C // Inputs[1] { @04BE msg.value } 04BC 5B JUMPDEST 04BD 50 POP 04BE 34 CALLVALUE 04BF 61 PUSH2 0x000e 04C2 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_04C3: // Incoming jump from 0x04C2, if not msg.value // Inputs[1] { @04C5 msg.data.length } 04C3 60 PUSH1 0x20 04C5 36 CALLDATASIZE 04C6 60 PUSH1 0x03 04C8 19 NOT 04C9 01 ADD 04CA 12 SLT 04CB 61 PUSH2 0x000e 04CE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_04CF: // Incoming jump from 0x04CE, if not ~0x03 + msg.data.length i< 0x20 // Inputs[3] // { // @04D1 msg.data[0x04:0x24] // @04ED memory[0x00:0x40] // @04EE storage[keccak256(memory[0x00:0x40])] // } 04CF 60 PUSH1 0x04 04D1 35 CALLDATALOAD 04D2 61 PUSH2 0x04f9 04D5 61 PUSH2 0x04f4 04D8 82 DUP3 04D9 60 PUSH1 0x00 04DB 52 MSTORE 04DC 60 PUSH1 0x02 04DE 60 PUSH1 0x20 04E0 52 MSTORE 04E1 60 PUSH1 0x01 04E3 60 PUSH1 0x01 04E5 60 PUSH1 0xa0 04E7 1B SHL 04E8 03 SUB 04E9 60 PUSH1 0x40 04EB 60 PUSH1 0x00 04ED 20 SHA3 04EE 54 SLOAD 04EF 16 AND 04F0 15 ISZERO 04F1 15 ISZERO 04F2 90 SWAP1 04F3 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @04D1 stack[0] = msg.data[0x04:0x24] // @04D2 stack[1] = 0x04f9 // @04DB memory[0x00:0x20] = msg.data[0x04:0x24] // @04E0 memory[0x20:0x40] = 0x02 // @04F2 stack[2] = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01) // } // Block ends with call to 0x04f4, returns to 0x04F9 label_04F4: // Incoming call from 0x04F3, returns to 0x04F9 04F4 5B JUMPDEST 04F5 61 PUSH2 0x1917 04F8 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x1917 label_04F9: // Incoming return from call to 0x04F4 at 0x04F3 // Inputs[5] // { // @04FC stack[-1] // @0510 memory[0x00:0x40] // @0511 storage[keccak256(memory[0x00:0x40])] // @0515 memory[0x40:0x60] // @0519 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 04F9 5B JUMPDEST 04FA 60 PUSH1 0x00 04FC 52 MSTORE 04FD 60 PUSH1 0x04 04FF 60 PUSH1 0x20 0501 52 MSTORE 0502 60 PUSH1 0x20 0504 60 PUSH1 0x01 0506 60 PUSH1 0x01 0508 60 PUSH1 0xa0 050A 1B SHL 050B 03 SUB 050C 60 PUSH1 0x40 050E 60 PUSH1 0x00 0510 20 SHA3 0511 54 SLOAD 0512 16 AND 0513 60 PUSH1 0x40 0515 51 MLOAD 0516 90 SWAP1 0517 81 DUP2 0518 52 MSTORE 0519 F3 *RETURN // Stack delta = -1 // Outputs[4] // { // @04FC memory[0x00:0x20] = stack[-1] // @0501 memory[0x20:0x40] = 0x04 // @0518 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01 // @0519 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]; // } // Block terminates label_051A: // Incoming call from 0x0EF3, returns to 0x0EF4 // Incoming call from 0x05A1, returns to 0x05A2 // Incoming call from 0x0CD8, returns to 0x0CD9 // Incoming call from 0x0BB9, returns to 0x0BBA // Incoming call from 0x1744, returns to 0x1745 // Incoming call from 0x1540, returns to 0x1541 // Inputs[2] // { // @051D msg.data[0x04:0x24] // @051E stack[-1] // } 051A 5B JUMPDEST 051B 60 PUSH1 0x04 051D 35 CALLDATALOAD 051E 90 SWAP1 051F 60 PUSH1 0x01 0521 60 PUSH1 0x01 0523 60 PUSH1 0xa0 0525 1B SHL 0526 03 SUB 0527 82 DUP3 0528 16 AND 0529 82 DUP3 052A 03 SUB 052B 61 PUSH2 0x000e 052E 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @051E stack[0] = stack[-1] // @051E stack[-1] = msg.data[0x04:0x24] // } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) label_052F: // Incoming jump from 0x052E, if not msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Inputs[1] { @052F stack[-1] } 052F 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0530: // Incoming call from 0x0B50, returns to 0x0B51 // Inputs[2] // { // @0533 msg.data[0x64:0x84] // @0534 stack[-1] // } 0530 5B JUMPDEST 0531 60 PUSH1 0x64 0533 35 CALLDATALOAD 0534 90 SWAP1 0535 60 PUSH1 0x01 0537 60 PUSH1 0x01 0539 60 PUSH1 0xa0 053B 1B SHL 053C 03 SUB 053D 82 DUP3 053E 16 AND 053F 82 DUP3 0540 03 SUB 0541 61 PUSH2 0x000e 0544 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0534 stack[0] = stack[-1] // @0534 stack[-1] = msg.data[0x64:0x84] // } // Block ends with conditional jump to 0x000e, if msg.data[0x64:0x84] - (msg.data[0x64:0x84] & (0x01 << 0xa0) - 0x01) label_0545: // Incoming jump from 0x0544, if not msg.data[0x64:0x84] - (msg.data[0x64:0x84] & (0x01 << 0xa0) - 0x01) // Inputs[1] { @0545 stack[-1] } 0545 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0546: // Incoming call from 0x0B58, returns to 0x0B59 // Inputs[2] // { // @0549 msg.data[0x84:0xa4] // @054A stack[-1] // } 0546 5B JUMPDEST 0547 60 PUSH1 0x84 0549 35 CALLDATALOAD 054A 90 SWAP1 054B 60 PUSH1 0x01 054D 60 PUSH1 0x01 054F 60 PUSH1 0xa0 0551 1B SHL 0552 03 SUB 0553 82 DUP3 0554 16 AND 0555 82 DUP3 0556 03 SUB 0557 61 PUSH2 0x000e 055A 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @054A stack[0] = stack[-1] // @054A stack[-1] = msg.data[0x84:0xa4] // } // Block ends with conditional jump to 0x000e, if msg.data[0x84:0xa4] - (msg.data[0x84:0xa4] & (0x01 << 0xa0) - 0x01) label_055B: // Incoming jump from 0x055A, if not msg.data[0x84:0xa4] - (msg.data[0x84:0xa4] & (0x01 << 0xa0) - 0x01) // Inputs[1] { @055B stack[-1] } 055B 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_055C: // Incoming call from 0x0BF7, returns to 0x0BF8 // Incoming call from 0x12C3, returns to 0x12C4 // Inputs[2] // { // @055F msg.data[0x44:0x64] // @0560 stack[-1] // } 055C 5B JUMPDEST 055D 60 PUSH1 0x44 055F 35 CALLDATALOAD 0560 90 SWAP1 0561 60 PUSH1 0x01 0563 60 PUSH1 0x01 0565 60 PUSH1 0xa0 0567 1B SHL 0568 03 SUB 0569 82 DUP3 056A 16 AND 056B 82 DUP3 056C 03 SUB 056D 61 PUSH2 0x000e 0570 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0560 stack[0] = stack[-1] // @0560 stack[-1] = msg.data[0x44:0x64] // } // Block ends with conditional jump to 0x000e, if msg.data[0x44:0x64] - (msg.data[0x44:0x64] & (0x01 << 0xa0) - 0x01) label_0571: // Incoming jump from 0x0570, if not msg.data[0x44:0x64] - (msg.data[0x44:0x64] & (0x01 << 0xa0) - 0x01) // Inputs[1] { @0571 stack[-1] } 0571 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0572: // Incoming call from 0x12BA, returns to 0x12BB // Incoming call from 0x1754, returns to 0x1755 // Incoming call from 0x1549, returns to 0x154A // Inputs[2] // { // @0575 msg.data[0x24:0x44] // @0576 stack[-1] // } 0572 5B JUMPDEST 0573 60 PUSH1 0x24 0575 35 CALLDATALOAD 0576 90 SWAP1 0577 60 PUSH1 0x01 0579 60 PUSH1 0x01 057B 60 PUSH1 0xa0 057D 1B SHL 057E 03 SUB 057F 82 DUP3 0580 16 AND 0581 82 DUP3 0582 03 SUB 0583 61 PUSH2 0x000e 0586 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0576 stack[0] = stack[-1] // @0576 stack[-1] = msg.data[0x24:0x44] // } // Block ends with conditional jump to 0x000e, if msg.data[0x24:0x44] - (msg.data[0x24:0x44] & (0x01 << 0xa0) - 0x01) label_0587: // Incoming jump from 0x0586, if not msg.data[0x24:0x44] - (msg.data[0x24:0x44] & (0x01 << 0xa0) - 0x01) // Inputs[1] { @0587 stack[-1] } 0587 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0588: // Incoming jump from 0x0263 // Inputs[1] { @058A msg.value } 0588 5B JUMPDEST 0589 50 POP 058A 34 CALLVALUE 058B 61 PUSH2 0x000e 058E 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_058F: // Incoming jump from 0x058E, if not msg.value // Inputs[1] { @0591 msg.data.length } 058F 60 PUSH1 0x40 0591 36 CALLDATASIZE 0592 60 PUSH1 0x03 0594 19 NOT 0595 01 ADD 0596 12 SLT 0597 61 PUSH2 0x000e 059A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x40 label_059B: // Incoming jump from 0x059A, if not ~0x03 + msg.data.length i< 0x40 059B 61 PUSH2 0x05a2 059E 61 PUSH2 0x051a 05A1 56 *JUMP // Stack delta = +1 // Outputs[1] { @059B stack[0] = 0x05a2 } // Block ends with call to 0x051a, returns to 0x05A2 label_05A2: // Incoming return from call to 0x051A at 0x05A1 // Inputs[1] { @05A5 msg.data[0x24:0x44] } 05A2 5B JUMPDEST 05A3 60 PUSH1 0x24 05A5 35 CALLDATALOAD 05A6 61 PUSH2 0x05ae 05A9 81 DUP2 05AA 61 PUSH2 0x1962 05AD 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @05A5 stack[0] = msg.data[0x24:0x44] // @05A6 stack[1] = 0x05ae // @05A9 stack[2] = msg.data[0x24:0x44] // } // Block ends with call to 0x1962, returns to 0x05AE label_05AE: // Incoming return from call to 0x1962 at 0x05AD // Inputs[2] // { // @05AF stack[-3] // @05AF stack[-1] // } 05AE 5B JUMPDEST 05AF 91 SWAP2 05B0 60 PUSH1 0x01 05B2 60 PUSH1 0x01 05B4 60 PUSH1 0xa0 05B6 1B SHL 05B7 03 SUB 05B8 80 DUP1 05B9 84 DUP5 05BA 16 AND 05BB 80 DUP1 05BC 91 SWAP2 05BD 83 DUP4 05BE 16 AND 05BF 14 EQ 05C0 61 PUSH2 0x062e 05C3 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @05AF stack[-1] = stack[-3] // @05AF stack[-3] = stack[-1] // @05BC stack[0] = stack[-1] & (0x01 << 0xa0) - 0x01 // } // Block ends with conditional jump to 0x062e, if stack[-3] & (0x01 << 0xa0) - 0x01 == stack[-1] & (0x01 << 0xa0) - 0x01 label_05C4: // Incoming jump from 0x05C3, if not stack[-3] & (0x01 << 0xa0) - 0x01 == stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[3] // { // @05C7 stack[-4] // @05CB stack[-1] // @05CC msg.sender // } 05C4 61 PUSH2 0x05e0 05C7 93 SWAP4 05C8 61 PUSH2 0x05db 05CB 91 SWAP2 05CC 33 CALLER 05CD 14 EQ 05CE 90 SWAP1 05CF 81 DUP2 05D0 15 ISZERO 05D1 61 PUSH2 0x05e2 05D4 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @05C7 stack[-4] = 0x05e0 // @05CB stack[-1] = 0x05db // @05CE stack[1] = stack[-4] // @05CE stack[0] = msg.sender == stack[-1] // } // Block ends with conditional jump to 0x05e2, if !(msg.sender == stack[-1]) label_05D5: // Incoming call from 0x05D4, returns to 0x05DB, if not !(msg.sender == stack[-1]) // Incoming jump from 0x062D 05D5 5B JUMPDEST 05D6 50 POP 05D7 61 PUSH2 0x1984 05DA 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to 0x1984 label_05DB: // Incoming return from call to 0x05D5 at 0x05D4 05DB 5B JUMPDEST 05DC 61 PUSH2 0x1b37 05DF 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x1b37 label_05E0: // Incoming return from call to 0x05DB at 0x05D4 05E0 5B JUMPDEST 05E1 00 *STOP // Stack delta = +0 // Outputs[1] { @05E1 stop(); } // Block terminates label_05E2: // Incoming jump from 0x05D4, if !(msg.sender == stack[-1]) // Inputs[4] // { // @05E6 stack[-2] // @05EB stack[-1] // @05EF msg.sender // @0606 memory[0x00:0x40] // } 05E2 5B JUMPDEST 05E3 61 PUSH2 0x0628 05E6 91 SWAP2 05E7 50 POP 05E8 61 PUSH2 0x0621 05EB 90 SWAP1 05EC 61 PUSH2 0x0609 05EF 33 CALLER 05F0 91 SWAP2 05F1 60 PUSH1 0x01 05F3 60 PUSH1 0x01 05F5 60 PUSH1 0xa0 05F7 1B SHL 05F8 03 SUB 05F9 16 AND 05FA 60 PUSH1 0x00 05FC 52 MSTORE 05FD 60 PUSH1 0x05 05FF 60 PUSH1 0x20 0601 52 MSTORE 0602 60 PUSH1 0x40 0604 60 PUSH1 0x00 0606 20 SHA3 0607 90 SWAP1 0608 56 *JUMP // Stack delta = +2 // Outputs[6] // { // @05E6 stack[-2] = 0x0628 // @05EB stack[-1] = 0x0621 // @05F0 stack[0] = msg.sender // @05FC memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @0601 memory[0x20:0x40] = 0x05 // @0607 stack[1] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x0609, returns to 0x0621 label_0609: // Incoming call from 0x0608, returns to 0x0621 // Inputs[4] // { // @060A stack[-1] // @060A stack[-2] // @061E memory[0x00:0x40] // @061F stack[-3] // } 0609 5B JUMPDEST 060A 90 SWAP1 060B 60 PUSH1 0x01 060D 60 PUSH1 0x01 060F 60 PUSH1 0xa0 0611 1B SHL 0612 03 SUB 0613 16 AND 0614 60 PUSH1 0x00 0616 52 MSTORE 0617 60 PUSH1 0x20 0619 52 MSTORE 061A 60 PUSH1 0x40 061C 60 PUSH1 0x00 061E 20 SHA3 061F 90 SWAP1 0620 56 *JUMP // Stack delta = -2 // Outputs[3] // { // @0616 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-2] // @0619 memory[0x20:0x40] = stack[-1] // @061F stack[-3] = keccak256(memory[0x00:0x40]) // } // Block ends with unconditional jump to stack[-3] label_0621: // Incoming return from call to 0x0609 at 0x0608 // Incoming call from 0x134A, returns to 0x06D0 // Inputs[3] // { // @0622 stack[-1] // @0622 storage[stack[-1]] // @0626 stack[-2] // } 0621 5B JUMPDEST 0622 54 SLOAD 0623 60 PUSH1 0xff 0625 16 AND 0626 90 SWAP1 0627 56 *JUMP // Stack delta = -1 // Outputs[1] { @0626 stack[-2] = 0xff & storage[stack[-1]] } // Block ends with unconditional jump to stack[-2] label_0628: // Incoming return from call to 0x0621 at 0x0608 // Inputs[1] { @0629 code.length } 0628 5B JUMPDEST 0629 38 CODESIZE 062A 61 PUSH2 0x05d5 062D 56 *JUMP // Stack delta = +1 // Outputs[1] { @0629 stack[0] = code.length } // Block ends with unconditional jump to 0x05d5 label_062E: // Incoming jump from 0x05C3, if stack[-3] & (0x01 << 0xa0) - 0x01 == stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[2] // { // @0633 memory[0x40:0x60] // @0697 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84] // } 062E 5B JUMPDEST 062F 60 PUSH1 0x84 0631 60 PUSH1 0x40 0633 51 MLOAD 0634 62 PUSH3 0x461bcd 0638 60 PUSH1 0xe5 063A 1B SHL 063B 81 DUP2 063C 52 MSTORE 063D 60 PUSH1 0x20 063F 60 PUSH1 0x04 0641 82 DUP3 0642 01 ADD 0643 52 MSTORE 0644 60 PUSH1 0x21 0646 60 PUSH1 0x24 0648 82 DUP3 0649 01 ADD 064A 52 MSTORE 064B 7F PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65 066C 60 PUSH1 0x44 066E 82 DUP3 066F 01 ADD 0670 52 MSTORE 0671 7F PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 0692 60 PUSH1 0x64 0694 82 DUP3 0695 01 ADD 0696 52 MSTORE 0697 FD *REVERT // Stack delta = +0 // Outputs[6] // { // @063C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @0643 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @064A memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x21 // @0670 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65 // @0696 memory[memory[0x40:0x60] + 0x64:memory[0x40:0x60] + 0x64 + 0x20] = 0x7200000000000000000000000000000000000000000000000000000000000000 // @0697 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84]); // } // Block terminates label_0698: // Incoming jump from 0x025A // Inputs[1] { @069A msg.value } 0698 5B JUMPDEST 0699 50 POP 069A 34 CALLVALUE 069B 61 PUSH2 0x000e 069E 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_069F: // Incoming jump from 0x069E, if not msg.value // Inputs[1] { @06A1 msg.data.length } 069F 60 PUSH1 0x60 06A1 36 CALLDATASIZE 06A2 60 PUSH1 0x03 06A4 19 NOT 06A5 01 ADD 06A6 12 SLT 06A7 61 PUSH2 0x000e 06AA 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x60 label_06AB: // Incoming jump from 0x06AA, if not ~0x03 + msg.data.length i< 0x60 // Inputs[3] // { // @06AD msg.data[0x04:0x24] // @06C9 memory[0x00:0x40] // @06CA storage[keccak256(memory[0x00:0x40])] // } 06AB 60 PUSH1 0x04 06AD 35 CALLDATALOAD 06AE 61 PUSH2 0x06d4 06B1 61 PUSH2 0x06d0 06B4 82 DUP3 06B5 60 PUSH1 0x00 06B7 52 MSTORE 06B8 60 PUSH1 0x02 06BA 60 PUSH1 0x20 06BC 52 MSTORE 06BD 60 PUSH1 0x01 06BF 60 PUSH1 0x01 06C1 60 PUSH1 0xa0 06C3 1B SHL 06C4 03 SUB 06C5 60 PUSH1 0x40 06C7 60 PUSH1 0x00 06C9 20 SHA3 06CA 54 SLOAD 06CB 16 AND 06CC 15 ISZERO 06CD 15 ISZERO 06CE 90 SWAP1 06CF 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @06AD stack[0] = msg.data[0x04:0x24] // @06AE stack[1] = 0x06d4 // @06B7 memory[0x00:0x20] = msg.data[0x04:0x24] // @06BC memory[0x20:0x40] = 0x02 // @06CE stack[2] = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01) // } // Block ends with call to 0x06d0, returns to 0x06D4 label_06D0: // Incoming return from call to 0x1363 at 0x1362 // Incoming call from 0x06CF, returns to 0x06D4 // Incoming call from 0x16C8, returns to 0x16C9 // Incoming return from call to 0x0621 at 0x134A // Inputs[2] // { // @06D1 stack[-1] // @06D2 stack[-2] // } 06D0 5B JUMPDEST 06D1 15 ISZERO 06D2 90 SWAP1 06D3 56 *JUMP // Stack delta = -1 // Outputs[1] { @06D2 stack[-2] = !stack[-1] } // Block ends with unconditional jump to stack[-2] label_06D4: // Incoming return from call to 0x06D0 at 0x06CF // Inputs[1] { @06D8 stack[-1] } 06D4 5B JUMPDEST 06D5 61 PUSH2 0x080d 06D8 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x080d, if stack[-1] label_06D9: // Incoming jump from 0x06D8, if not stack[-1] // Inputs[2] // { // @06EE stack[-1] // @06FB memory[0x00:0x40] // } 06D9 61 PUSH2 0x07e5 06DC 61 PUSH2 0x0425 06DF 61 PUSH2 0x07bc 06E2 61 PUSH2 0x079d 06E5 61 PUSH2 0x0734 06E8 61 PUSH2 0x06fe 06EB 61 PUSH2 0x0431 06EE 96 SWAP7 06EF 60 PUSH1 0x00 06F1 52 MSTORE 06F2 60 PUSH1 0x08 06F4 60 PUSH1 0x20 06F6 52 MSTORE 06F7 60 PUSH1 0x40 06F9 60 PUSH1 0x00 06FB 20 SHA3 06FC 90 SWAP1 06FD 56 *JUMP // Stack delta = +6 // Outputs[9] // { // @06D9 stack[0] = 0x07e5 // @06DC stack[1] = 0x0425 // @06DF stack[2] = 0x07bc // @06E2 stack[3] = 0x079d // @06E5 stack[4] = 0x0734 // @06EE stack[-1] = 0x0431 // @06F1 memory[0x00:0x20] = stack[-1] // @06F6 memory[0x20:0x40] = 0x08 // @06FC stack[5] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x06fe, returns to 0x0734 label_06FE: // Incoming call from 0x06FD, returns to 0x0734 // Incoming call from 0x16F2, returns to 0x16F3 // Inputs[2] // { // @0707 stack[-1] // @0708 storage[stack[-1]] // } 06FE 5B JUMPDEST 06FF 60 PUSH1 0x01 0701 61 PUSH2 0x072d 0704 61 PUSH2 0x0714 0707 83 DUP4 0708 54 SLOAD 0709 60 PUSH1 0x01 070B 60 PUSH1 0x01 070D 60 PUSH1 0xa0 070F 1B SHL 0710 03 SUB 0711 16 AND 0712 90 SWAP1 0713 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @06FF stack[0] = 0x01 // @0701 stack[1] = 0x072d // @0712 stack[2] = (0x01 << 0xa0) - 0x01 & storage[stack[-1]] // } // Block ends with call to 0x0714, returns to 0x072D label_0714: // Incoming call from 0x0713, returns to 0x072D // Inputs[3] // { // @071D stack[-1] // @072A memory[0x00:0x40] // @072B stack[-2] // } 0714 5B JUMPDEST 0715 60 PUSH1 0x01 0717 60 PUSH1 0x01 0719 60 PUSH1 0xa0 071B 1B SHL 071C 03 SUB 071D 16 AND 071E 60 PUSH1 0x00 0720 52 MSTORE 0721 60 PUSH1 0x07 0723 60 PUSH1 0x20 0725 52 MSTORE 0726 60 PUSH1 0x40 0728 60 PUSH1 0x00 072A 20 SHA3 072B 90 SWAP1 072C 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @0720 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @0725 memory[0x20:0x40] = 0x07 // @072B stack[-2] = keccak256(memory[0x00:0x40]) // } // Block ends with unconditional jump to stack[-2] label_072D: // Incoming return from call to 0x0714 at 0x0713 // Inputs[3] // { // @072E stack[-1] // @072E stack[-3] // @072F stack[-2] // } 072D 5B JUMPDEST 072E 91 SWAP2 072F 01 ADD 0730 61 PUSH2 0x272e 0733 56 *JUMP // Stack delta = -1 // Outputs[2] // { // @072E stack[-3] = stack[-1] // @072F stack[-2] = stack[-3] + stack[-2] // } // Block ends with unconditional jump to 0x272e label_0734: // Incoming return from call to 0x06FE at 0x06FD // Inputs[1] { @073E stack[-1] } 0734 5B JUMPDEST 0735 61 PUSH2 0x0771 0738 61 PUSH2 0x0777 073B 61 PUSH2 0x0743 073E 83 DUP4 073F 61 PUSH2 0x1184 0742 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0735 stack[0] = 0x0771 // @0738 stack[1] = 0x0777 // @073B stack[2] = 0x0743 // @073E stack[3] = stack[-1] // } // Block ends with call to 0x1184, returns to 0x0743 label_0743: // Incoming return from call to 0x1184 at 0x0742 // Incoming return from call to 0x1184 at 0x1701 // Inputs[2] // { // @0746 stack[-1] // @0747 memory[stack[-1]:stack[-1] + 0x20] // } 0743 5B JUMPDEST 0744 60 PUSH1 0x0a 0746 81 DUP2 0747 51 MLOAD 0748 11 GT 0749 60 PUSH1 0x00 074B 14 EQ 074C 61 PUSH2 0x0808 074F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0808, if 0x00 == (memory[stack[-1]:stack[-1] + 0x20] > 0x0a) label_0750: // Incoming jump from 0x074F, if not 0x00 == (memory[stack[-1]:stack[-1] + 0x20] > 0x0a) // Inputs[1] { @0756 stack[-1] } 0750 61 PUSH2 0x075b 0753 61 PUSH2 0x0760 0756 91 SWAP2 0757 61 PUSH2 0x3a76 075A 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @0750 stack[0] = 0x075b // @0756 stack[1] = stack[-1] // @0756 stack[-1] = 0x0760 // } // Block ends with call to 0x3a76, returns to 0x075B label_075B: // Incoming return from call to 0x3A76 at 0x075A 075B 5B JUMPDEST 075C 61 PUSH2 0x274b 075F 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x274b label_0760: // Incoming jump from 0x080C // Inputs[4] // { // @0763 stack[-4] // @0767 storage[stack[-4] + 0x02] // @076A stack[-3] // @076C stack[-1] // } 0760 5B JUMPDEST 0761 60 PUSH1 0x02 0763 84 DUP5 0764 01 ADD 0765 93 SWAP4 0766 84 DUP5 0767 54 SLOAD 0768 15 ISZERO 0769 15 ISZERO 076A 93 SWAP4 076B 84 DUP5 076C 92 SWAP3 076D 61 PUSH2 0x279f 0770 56 *JUMP // Stack delta = +3 // Outputs[6] // { // @0765 stack[0] = stack[-4] // @0765 stack[-4] = stack[-4] + 0x02 // @076A stack[-3] = !!storage[stack[-4] + 0x02] // @076A stack[1] = stack[-3] // @076C stack[-1] = !!storage[stack[-4] + 0x02] // @076C stack[2] = stack[-1] // } // Block ends with unconditional jump to 0x279f 0771 5B JUMPDEST 0772 90 SWAP1 0773 61 PUSH2 0x2daf 0776 56 *JUMP 0777 5B JUMPDEST 0778 90 SWAP1 0779 15 ISZERO 077A 61 PUSH2 0x07f7 077D 57 *JUMPI 077E 61 PUSH2 0x0797 0781 61 PUSH2 0x0788 0784 61 PUSH2 0x282c 0787 56 *JUMP 0788 5B JUMPDEST 0789 92 SWAP3 078A 5B JUMPDEST 078B 60 PUSH1 0x44 078D 35 CALLDATALOAD 078E 90 SWAP1 078F 60 PUSH1 0x24 0791 35 CALLDATALOAD 0792 90 SWAP1 0793 61 PUSH2 0x31a3 0796 56 *JUMP 0797 5B JUMPDEST 0798 90 SWAP1 0799 61 PUSH2 0x2865 079C 56 *JUMP 079D 5B JUMPDEST 079E 61 PUSH2 0x07eb 07A1 61 PUSH2 0x07d5 07A4 61 PUSH2 0x07ab 07A7 61 PUSH2 0x28b9 07AA 56 *JUMP 07AB 5B JUMPDEST 07AC 92 SWAP3 07AD 60 PUSH1 0x40 07AF 51 MLOAD 07B0 94 SWAP5 07B1 85 DUP6 07B2 91 SWAP2 07B3 60 PUSH1 0x20 07B5 83 DUP4 07B6 01 ADD 07B7 90 SWAP1 07B8 61 PUSH2 0x15c5 07BB 56 *JUMP 07BC 5B JUMPDEST 07BD 03 SUB 07BE 93 SWAP4 07BF 61 PUSH2 0x07d0 07C2 60 PUSH1 0x1f 07C4 19 NOT 07C5 95 SWAP6 07C6 86 DUP7 07C7 81 DUP2 07C8 01 ADD 07C9 83 DUP4 07CA 52 MSTORE 07CB 82 DUP3 07CC 61 PUSH2 0x08e8 07CF 56 *JUMP 07D0 5B JUMPDEST 07D1 61 PUSH2 0x2a1b 07D4 56 *JUMP 07D5 5B JUMPDEST 07D6 60 PUSH1 0x40 07D8 51 MLOAD 07D9 95 SWAP6 07DA 86 DUP7 07DB 93 SWAP4 07DC 60 PUSH1 0x20 07DE 85 DUP6 07DF 01 ADD 07E0 90 SWAP1 07E1 61 PUSH2 0x15c5 07E4 56 *JUMP 07E5 5B JUMPDEST 07E6 90 SWAP1 07E7 61 PUSH2 0x15c5 07EA 56 *JUMP 07EB 5B JUMPDEST 07EC 03 SUB 07ED 90 SWAP1 07EE 81 DUP2 07EF 01 ADD 07F0 83 DUP4 07F1 52 MSTORE 07F2 82 DUP3 07F3 61 PUSH2 0x08e8 07F6 56 *JUMP 07F7 5B JUMPDEST 07F8 61 PUSH2 0x0797 07FB 61 PUSH2 0x0802 07FE 61 PUSH2 0x27f3 0801 56 *JUMP 0802 5B JUMPDEST 0803 92 SWAP3 0804 61 PUSH2 0x078a 0807 56 *JUMP label_0808: // Incoming jump from 0x074F, if 0x00 == (memory[stack[-1]:stack[-1] + 0x20] > 0x0a) 0808 5B JUMPDEST 0809 61 PUSH2 0x0760 080C 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0760 label_080D: // Incoming jump from 0x06D8, if stack[-1] // Incoming jump from 0x16CD, if stack[-1] // Inputs[2] // { // @0812 memory[0x40:0x60] // @0836 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04] // } 080D 5B JUMPDEST 080E 60 PUSH1 0x04 0810 60 PUSH1 0x40 0812 51 MLOAD 0813 7F PUSH32 0x31efff5100000000000000000000000000000000000000000000000000000000 0834 81 DUP2 0835 52 MSTORE 0836 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0835 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x31efff5100000000000000000000000000000000000000000000000000000000 // @0836 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04]); // } // Block terminates label_0837: // Incoming jump from 0x37A8 // Incoming jump from 0x0871 // Incoming jump from 0x093E // Inputs[1] { @084D memory[0x00:0x24] } 0837 5B JUMPDEST 0838 50 POP 0839 63 PUSH4 0x4e487b71 083E 60 PUSH1 0xe0 0840 1B SHL 0841 60 PUSH1 0x00 0843 52 MSTORE 0844 60 PUSH1 0x41 0846 60 PUSH1 0x04 0848 52 MSTORE 0849 60 PUSH1 0x24 084B 60 PUSH1 0x00 084D FD *REVERT // Stack delta = -1 // Outputs[3] // { // @0843 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @0848 memory[0x04:0x24] = 0x41 // @084D revert(memory[0x00:0x24]); // } // Block terminates label_084E: // Incoming call from 0x0C3D, returns to 0x0C3E // Incoming call from 0x3A82, returns to 0x3A83 // Inputs[1] { @0851 stack[-1] } 084E 5B JUMPDEST 084F 60 PUSH1 0x40 0851 81 DUP2 0852 01 ADD 0853 90 SWAP1 0854 81 DUP2 0855 10 LT 0856 67 PUSH8 0xffffffffffffffff 085F 82 DUP3 0860 11 GT 0861 17 OR 0862 61 PUSH2 0x086a 0865 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0853 stack[-1] = stack[-1] + 0x40 } // Block ends with conditional jump to 0x086a, if (stack[-1] + 0x40 > 0xffffffffffffffff) | (stack[-1] + 0x40 < stack[-1]) label_0866: // Incoming jump from 0x0865, if not (stack[-1] + 0x40 > 0xffffffffffffffff) | (stack[-1] + 0x40 < stack[-1]) // Inputs[2] // { // @0868 stack[-1] // @0869 stack[-2] // } 0866 60 PUSH1 0x40 0868 52 MSTORE 0869 56 *JUMP // Stack delta = -2 // Outputs[1] { @0868 memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_086A: // Incoming jump from 0x08E3, if (stack[-1] + 0xc0 > 0xffffffffffffffff) | (stack[-1] + 0xc0 < stack[-1]) // Incoming jump from 0x0905, if (stack[-1] + (stack[-2] + 0x1f & ~0x1f) > 0xffffffffffffffff) | (stack[-1] + (stack[-2] + 0x1f & ~0x1f) < stack[-1]) // Incoming jump from 0x0865, if (stack[-1] + 0x40 > 0xffffffffffffffff) | (stack[-1] + 0x40 < stack[-1]) // Incoming jump from 0x08AA, if (stack[-1] + 0x20 > 0xffffffffffffffff) | (stack[-1] + 0x20 < stack[-1]) // Incoming jump from 0x088E, if (stack[-1] + 0x80 > 0xffffffffffffffff) | (stack[-1] + 0x80 < stack[-1]) // Incoming jump from 0x08C7, if (stack[-1] + 0x0120 > 0xffffffffffffffff) | (stack[-1] + 0x0120 < stack[-1]) 086A 5B JUMPDEST 086B 61 PUSH2 0x0872 086E 61 PUSH2 0x0837 0871 56 *JUMP // Stack delta = +1 // Outputs[1] { @086B stack[0] = 0x0872 } // Block ends with unconditional jump to 0x0837 0872 5B JUMPDEST 0873 60 PUSH1 0x40 0875 52 MSTORE 0876 56 *JUMP label_0877: // Incoming call from 0x0D8C, returns to 0x0D8D // Incoming call from 0x3896, returns to 0x267C // Incoming call from 0x0982, returns to 0x0983 // Inputs[1] { @087A stack[-1] } 0877 5B JUMPDEST 0878 60 PUSH1 0x80 087A 81 DUP2 087B 01 ADD 087C 90 SWAP1 087D 81 DUP2 087E 10 LT 087F 67 PUSH8 0xffffffffffffffff 0888 82 DUP3 0889 11 GT 088A 17 OR 088B 61 PUSH2 0x086a 088E 57 *JUMPI // Stack delta = +0 // Outputs[1] { @087C stack[-1] = stack[-1] + 0x80 } // Block ends with conditional jump to 0x086a, if (stack[-1] + 0x80 > 0xffffffffffffffff) | (stack[-1] + 0x80 < stack[-1]) label_088F: // Incoming jump from 0x088E, if not (stack[-1] + 0x80 > 0xffffffffffffffff) | (stack[-1] + 0x80 < stack[-1]) // Inputs[2] // { // @0891 stack[-1] // @0892 stack[-2] // } 088F 60 PUSH1 0x40 0891 52 MSTORE 0892 56 *JUMP // Stack delta = -2 // Outputs[1] { @0891 memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_0893: // Incoming call from 0x0ABC, returns to 0x0ABD // Inputs[1] { @0896 stack[-1] } 0893 5B JUMPDEST 0894 60 PUSH1 0x20 0896 81 DUP2 0897 01 ADD 0898 90 SWAP1 0899 81 DUP2 089A 10 LT 089B 67 PUSH8 0xffffffffffffffff 08A4 82 DUP3 08A5 11 GT 08A6 17 OR 08A7 61 PUSH2 0x086a 08AA 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0898 stack[-1] = stack[-1] + 0x20 } // Block ends with conditional jump to 0x086a, if (stack[-1] + 0x20 > 0xffffffffffffffff) | (stack[-1] + 0x20 < stack[-1]) label_08AB: // Incoming jump from 0x08AA, if not (stack[-1] + 0x20 > 0xffffffffffffffff) | (stack[-1] + 0x20 < stack[-1]) // Inputs[2] // { // @08AD stack[-1] // @08AE stack[-2] // } 08AB 60 PUSH1 0x40 08AD 52 MSTORE 08AE 56 *JUMP // Stack delta = -2 // Outputs[1] { @08AD memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_08AF: // Incoming call from 0x3436, returns to 0x3437 // Incoming call from 0x0FF5, returns to 0x0FF6 // Inputs[1] { @08B3 stack[-1] } 08AF 5B JUMPDEST 08B0 61 PUSH2 0x0120 08B3 81 DUP2 08B4 01 ADD 08B5 90 SWAP1 08B6 81 DUP2 08B7 10 LT 08B8 67 PUSH8 0xffffffffffffffff 08C1 82 DUP3 08C2 11 GT 08C3 17 OR 08C4 61 PUSH2 0x086a 08C7 57 *JUMPI // Stack delta = +0 // Outputs[1] { @08B5 stack[-1] = stack[-1] + 0x0120 } // Block ends with conditional jump to 0x086a, if (stack[-1] + 0x0120 > 0xffffffffffffffff) | (stack[-1] + 0x0120 < stack[-1]) label_08C8: // Incoming jump from 0x08C7, if not (stack[-1] + 0x0120 > 0xffffffffffffffff) | (stack[-1] + 0x0120 < stack[-1]) // Inputs[2] // { // @08CA stack[-1] // @08CB stack[-2] // } 08C8 60 PUSH1 0x40 08CA 52 MSTORE 08CB 56 *JUMP // Stack delta = -2 // Outputs[1] { @08CA memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_08CC: // Incoming call from 0x267B, returns to 0x267C // Inputs[1] { @08CF stack[-1] } 08CC 5B JUMPDEST 08CD 60 PUSH1 0xc0 08CF 81 DUP2 08D0 01 ADD 08D1 90 SWAP1 08D2 81 DUP2 08D3 10 LT 08D4 67 PUSH8 0xffffffffffffffff 08DD 82 DUP3 08DE 11 GT 08DF 17 OR 08E0 61 PUSH2 0x086a 08E3 57 *JUMPI // Stack delta = +0 // Outputs[1] { @08D1 stack[-1] = stack[-1] + 0xc0 } // Block ends with conditional jump to 0x086a, if (stack[-1] + 0xc0 > 0xffffffffffffffff) | (stack[-1] + 0xc0 < stack[-1]) label_08E4: // Incoming jump from 0x08E3, if not (stack[-1] + 0xc0 > 0xffffffffffffffff) | (stack[-1] + 0xc0 < stack[-1]) // Inputs[2] // { // @08E6 stack[-1] // @08E7 stack[-2] // } 08E4 60 PUSH1 0x40 08E6 52 MSTORE 08E7 56 *JUMP // Stack delta = -2 // Outputs[1] { @08E6 memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_08E8: // Incoming call from 0x0E62, returns to 0x0425 // Incoming jump from 0x27F2 // Incoming call from 0x11C1, returns to 0x0917 // Incoming call from 0x0424, returns to 0x0425 // Incoming jump from 0x279E // Incoming call from 0x14AA, returns to 0x14AB // Inputs[2] // { // @08E9 stack[-1] // @08E9 stack[-2] // } 08E8 5B JUMPDEST 08E9 90 SWAP1 08EA 60 PUSH1 0x1f 08EC 80 DUP1 08ED 19 NOT 08EE 91 SWAP2 08EF 01 ADD 08F0 16 AND 08F1 81 DUP2 08F2 01 ADD 08F3 90 SWAP1 08F4 81 DUP2 08F5 10 LT 08F6 67 PUSH8 0xffffffffffffffff 08FF 82 DUP3 0900 11 GT 0901 17 OR 0902 61 PUSH2 0x086a 0905 57 *JUMPI // Stack delta = -1 // Outputs[1] { @08F3 stack[-2] = stack[-1] + (stack[-2] + 0x1f & ~0x1f) } // Block ends with conditional jump to 0x086a, if (stack[-1] + (stack[-2] + 0x1f & ~0x1f) > 0xffffffffffffffff) | (stack[-1] + (stack[-2] + 0x1f & ~0x1f) < stack[-1]) label_0906: // Incoming jump from 0x0905, if not (stack[-1] + (stack[-2] + 0x1f & ~0x1f) > 0xffffffffffffffff) | (stack[-1] + (stack[-2] + 0x1f & ~0x1f) < stack[-1]) // Inputs[2] // { // @0908 stack[-1] // @0909 stack[-2] // } 0906 60 PUSH1 0x40 0908 52 MSTORE 0909 56 *JUMP // Stack delta = -2 // Outputs[1] { @0908 memory[0x40:0x60] = stack[-1] } // Block ends with unconditional jump to stack[-2] 090A 5B JUMPDEST 090B 60 PUSH1 0x40 090D 51 MLOAD 090E 90 SWAP1 090F 61 PUSH2 0x0917 0912 82 DUP3 0913 61 PUSH2 0x084e 0916 56 *JUMP label_0917: // Incoming return from call to 0x2769 at 0x2768 // Incoming return from call to 0x27E3 at 0x27E2 // Incoming return from call to 0x0AF4 at 0x0B0A // Incoming return from call to 0x08E8 at 0x11C1 // Inputs[1] { @0918 stack[-1] } 0917 5B JUMPDEST 0918 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0919: // Incoming call from 0x149C, returns to 0x149D // Inputs[1] { @091C stack[-1] } 0919 5B JUMPDEST 091A 60 PUSH1 0x20 091C 90 SWAP1 091D 67 PUSH8 0xffffffffffffffff 0926 81 DUP2 0927 11 GT 0928 61 PUSH2 0x0937 092B 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @091C stack[0] = stack[-1] // @091C stack[-1] = 0x20 // } // Block ends with conditional jump to 0x0937, if stack[-1] > 0xffffffffffffffff label_092C: // Incoming jump from 0x092B, if not stack[-1] > 0xffffffffffffffff // Inputs[3] // { // @092F stack[-1] // @0934 stack[-2] // @0935 stack[-3] // } 092C 5B JUMPDEST 092D 60 PUSH1 0x1f 092F 01 ADD 0930 60 PUSH1 0x1f 0932 19 NOT 0933 16 AND 0934 01 ADD 0935 90 SWAP1 0936 56 *JUMP // Stack delta = -2 // Outputs[1] { @0935 stack[-3] = (~0x1f & 0x1f + stack[-1]) + stack[-2] } // Block ends with unconditional jump to stack[-3] label_0937: // Incoming jump from 0x092B, if stack[-1] > 0xffffffffffffffff 0937 5B JUMPDEST 0938 61 PUSH2 0x093f 093B 61 PUSH2 0x0837 093E 56 *JUMP // Stack delta = +1 // Outputs[1] { @0938 stack[0] = 0x093f } // Block ends with unconditional jump to 0x0837 093F 5B JUMPDEST 0940 61 PUSH2 0x092c 0943 56 *JUMP 0944 5B JUMPDEST 0945 60 PUSH1 0x40 0947 51 MLOAD 0948 90 SWAP1 0949 60 PUSH1 0x20 094B 82 DUP3 094C 01 ADD 094D 82 DUP3 094E 81 DUP2 094F 10 LT 0950 67 PUSH8 0xffffffffffffffff 0959 82 DUP3 095A 11 GT 095B 17 OR 095C 61 PUSH2 0x0969 095F 57 *JUMPI 0960 5B JUMPDEST 0961 60 PUSH1 0x40 0963 52 MSTORE 0964 60 PUSH1 0x00 0966 82 DUP3 0967 52 MSTORE 0968 56 *JUMP 0969 5B JUMPDEST 096A 61 PUSH2 0x0971 096D 61 PUSH2 0x0837 0970 56 *JUMP 0971 5B JUMPDEST 0972 61 PUSH2 0x0960 0975 56 *JUMP label_0976: // Incoming call from 0x0A17, returns to 0x0A18 // Inputs[2] // { // @0979 memory[0x40:0x60] // @097A stack[-1] // } 0976 5B JUMPDEST 0977 60 PUSH1 0x40 0979 51 MLOAD 097A 90 SWAP1 097B 61 PUSH2 0x0983 097E 82 DUP3 097F 61 PUSH2 0x0877 0982 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @097A stack[0] = stack[-1] // @097A stack[-1] = memory[0x40:0x60] // @097B stack[1] = 0x0983 // @097E stack[2] = memory[0x40:0x60] // } // Block ends with call to 0x0877, returns to 0x0983 label_0983: // Incoming return from call to 0x0877 at 0x0982 // Inputs[2] // { // @0986 stack[-2] // @09FA stack[-1] // } 0983 5B JUMPDEST 0984 60 PUSH1 0x43 0986 82 DUP3 0987 52 MSTORE 0988 7F PUSH32 0x53384a0000000000000000000000000000000000000000000000000000000000 09A9 60 PUSH1 0x60 09AB 83 DUP4 09AC 7F PUSH32 0x68747470733a2f2f697066732e696f2f697066732f516d575a46766238384b44 09CD 60 PUSH1 0x20 09CF 82 DUP3 09D0 01 ADD 09D1 52 MSTORE 09D2 7F PUSH32 0x6f73374259796635326274785075454569665a4e37693543413259664333617a 09F3 60 PUSH1 0x40 09F5 82 DUP3 09F6 01 ADD 09F7 52 MSTORE 09F8 01 ADD 09F9 52 MSTORE 09FA 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0987 memory[stack[-2]:stack[-2] + 0x20] = 0x43 // @09D1 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = 0x68747470733a2f2f697066732e696f2f697066732f516d575a46766238384b44 // @09F7 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = 0x6f73374259796635326274785075454569665a4e37693543413259664333617a // @09F9 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = 0x53384a0000000000000000000000000000000000000000000000000000000000 // } // Block ends with unconditional jump to stack[-1] label_09FB: // Incoming jump from 0x0251 // Inputs[1] { @09FD msg.value } 09FB 5B JUMPDEST 09FC 50 POP 09FD 34 CALLVALUE 09FE 61 PUSH2 0x000e 0A01 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0A02: // Incoming jump from 0x0A01, if not msg.value // Inputs[1] { @0A04 msg.data.length } 0A02 60 PUSH1 0x00 0A04 36 CALLDATASIZE 0A05 60 PUSH1 0x03 0A07 19 NOT 0A08 01 ADD 0A09 12 SLT 0A0A 61 PUSH2 0x000e 0A0D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0A0E: // Incoming jump from 0x0A0D, if not ~0x03 + msg.data.length i< 0x00 0A0E 61 PUSH2 0x0431 0A11 61 PUSH2 0x0a18 0A14 61 PUSH2 0x0976 0A17 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0A0E stack[0] = 0x0431 // @0A11 stack[1] = 0x0a18 // } // Block ends with call to 0x0976, returns to 0x0A18 label_0A18: // Incoming return from call to 0x0FE9 at 0x1149 // Incoming return from call to 0x0976 at 0x0A17 // Incoming return from call to 0x0C31 at 0x0C86 // Inputs[3] // { // @0A1B memory[0x40:0x60] // @0A1C stack[-2] // @0A1E stack[-1] // } 0A18 5B JUMPDEST 0A19 60 PUSH1 0x40 0A1B 51 MLOAD 0A1C 91 SWAP2 0A1D 82 DUP3 0A1E 91 SWAP2 0A1F 60 PUSH1 0x20 0A21 83 DUP4 0A22 52 MSTORE 0A23 60 PUSH1 0x20 0A25 83 DUP4 0A26 01 ADD 0A27 90 SWAP1 0A28 61 PUSH2 0x039f 0A2B 56 *JUMP // Stack delta = +3 // Outputs[6] // { // @0A1C stack[-2] = memory[0x40:0x60] // @0A1C stack[0] = stack[-2] // @0A1E stack[-1] = memory[0x40:0x60] // @0A22 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x20 // @0A27 stack[2] = stack[-1] // @0A27 stack[1] = memory[0x40:0x60] + 0x20 // } // Block ends with unconditional jump to 0x039f label_0A2C: // Incoming call from 0x0A6E, returns to 0x0A6F // Incoming call from 0x0AAB, returns to 0x0AAC // Inputs[1] { @0A2F stack[-1] } 0A2C 5B JUMPDEST 0A2D 60 PUSH1 0x60 0A2F 90 SWAP1 0A30 60 PUSH1 0x03 0A32 19 NOT 0A33 01 ADD 0A34 12 SLT 0A35 61 PUSH2 0x000e 0A38 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if ~0x03 + stack[-1] i< 0x60 label_0A39: // Incoming jump from 0x0A38, if not ~0x03 + stack[-1] i< 0x60 // Inputs[2] // { // @0A41 stack[-1] // @0A44 msg.data[0x04:0x24] // } 0A39 60 PUSH1 0x01 0A3B 60 PUSH1 0x01 0A3D 60 PUSH1 0xa0 0A3F 1B SHL 0A40 03 SUB 0A41 90 SWAP1 0A42 60 PUSH1 0x04 0A44 35 CALLDATALOAD 0A45 82 DUP3 0A46 81 DUP2 0A47 16 AND 0A48 81 DUP2 0A49 03 SUB 0A4A 61 PUSH2 0x000e 0A4D 57 *JUMPI // Stack delta = +2 // Outputs[3] // { // @0A41 stack[0] = stack[-1] // @0A41 stack[-1] = (0x01 << 0xa0) - 0x01 // @0A44 stack[1] = msg.data[0x04:0x24] // } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) label_0A4E: // Incoming jump from 0x0A4D, if not msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Inputs[3] // { // @0A4E stack[-3] // @0A4E stack[-1] // @0A51 msg.data[0x24:0x44] // } 0A4E 91 SWAP2 0A4F 60 PUSH1 0x24 0A51 35 CALLDATALOAD 0A52 90 SWAP1 0A53 81 DUP2 0A54 16 AND 0A55 81 DUP2 0A56 03 SUB 0A57 61 PUSH2 0x000e 0A5A 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @0A4E stack[-3] = stack[-1] // @0A52 stack[-1] = msg.data[0x24:0x44] // } // Block ends with conditional jump to 0x000e, if msg.data[0x24:0x44] - (msg.data[0x24:0x44] & stack[-3]) label_0A5B: // Incoming jump from 0x0A5A, if not msg.data[0x24:0x44] - (msg.data[0x24:0x44] & stack[-3]) // Inputs[3] // { // @0A5B stack[-1] // @0A5B stack[-2] // @0A5E msg.data[0x44:0x64] // } 0A5B 90 SWAP1 0A5C 60 PUSH1 0x44 0A5E 35 CALLDATALOAD 0A5F 90 SWAP1 0A60 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0A5B stack[-2] = stack[-1] // @0A5F stack[-1] = msg.data[0x44:0x64] // } // Block ends with unconditional jump to stack[-2] label_0A61: // Incoming jump from 0x0248 // Inputs[1] { @0A62 msg.value } 0A61 5B JUMPDEST 0A62 34 CALLVALUE 0A63 61 PUSH2 0x000e 0A66 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if msg.value label_0A67: // Incoming jump from 0x0A66, if not msg.value // Inputs[1] { @0A6A msg.data.length } 0A67 61 PUSH2 0x0a6f 0A6A 36 CALLDATASIZE 0A6B 61 PUSH2 0x0a2c 0A6E 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0A67 stack[0] = 0x0a6f // @0A6A stack[1] = msg.data.length // } // Block ends with call to 0x0a2c, returns to 0x0A6F label_0A6F: // Incoming return from call to 0x0A2C at 0x0A6E 0A6F 5B JUMPDEST 0A70 50 POP 0A71 50 POP 0A72 50 POP 0A73 61 PUSH2 0x0917 0A76 61 PUSH2 0x19f5 0A79 56 *JUMP // Stack delta = -2 // Outputs[1] { @0A73 stack[-3] = 0x0917 } // Block ends with unconditional jump to 0x19f5 label_0A7A: // Incoming jump from 0x023F // Inputs[1] { @0A7C msg.value } 0A7A 5B JUMPDEST 0A7B 50 POP 0A7C 34 CALLVALUE 0A7D 61 PUSH2 0x000e 0A80 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0A81: // Incoming jump from 0x0A80, if not msg.value // Inputs[1] { @0A83 msg.data.length } 0A81 60 PUSH1 0x00 0A83 36 CALLDATASIZE 0A84 60 PUSH1 0x03 0A86 19 NOT 0A87 01 ADD 0A88 12 SLT 0A89 61 PUSH2 0x000e 0A8C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0A8D: // Incoming jump from 0x0A8C, if not ~0x03 + msg.data.length i< 0x00 0A8D 60 PUSH1 0x20 0A8F 61 PUSH2 0x0a96 0A92 61 PUSH2 0x2591 0A95 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0A8D stack[0] = 0x20 // @0A8F stack[1] = 0x0a96 // } // Block ends with call to 0x2591, returns to 0x0A96 label_0A96: // Incoming return from call to 0x2591 at 0x0A95 // Incoming return from call to 0x2591 at 0x0A95 // Inputs[4] // { // @0A99 memory[0x40:0x60] // @0A9A stack[-1] // @0A9D memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]] // @0A9D stack[-2] // } 0A96 5B JUMPDEST 0A97 60 PUSH1 0x40 0A99 51 MLOAD 0A9A 90 SWAP1 0A9B 81 DUP2 0A9C 52 MSTORE 0A9D F3 *RETURN // Stack delta = -2 // Outputs[2] // { // @0A9C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] // @0A9D return memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]]; // } // Block terminates label_0A9E: // Incoming jump from 0x0236 // Inputs[1] { @0A9F msg.value } 0A9E 5B JUMPDEST 0A9F 34 CALLVALUE 0AA0 61 PUSH2 0x000e 0AA3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if msg.value label_0AA4: // Incoming jump from 0x0AA3, if not msg.value // Inputs[1] { @0AA7 msg.data.length } 0AA4 61 PUSH2 0x0aac 0AA7 36 CALLDATASIZE 0AA8 61 PUSH2 0x0a2c 0AAB 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0AA4 stack[0] = 0x0aac // @0AA7 stack[1] = msg.data.length // } // Block ends with call to 0x0a2c, returns to 0x0AAC label_0AAC: // Incoming return from call to 0x0A2C at 0x0AAB // Inputs[1] { @0AB4 memory[0x40:0x60] } 0AAC 5B JUMPDEST 0AAD 50 POP 0AAE 50 POP 0AAF 50 POP 0AB0 60 PUSH1 0x00 0AB2 60 PUSH1 0x40 0AB4 51 MLOAD 0AB5 61 PUSH2 0x0abd 0AB8 81 DUP2 0AB9 61 PUSH2 0x0893 0ABC 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @0AB0 stack[-3] = 0x00 // @0AB4 stack[-2] = memory[0x40:0x60] // @0AB5 stack[-1] = 0x0abd // @0AB8 stack[0] = memory[0x40:0x60] // } // Block ends with call to 0x0893, returns to 0x0ABD label_0ABD: // Incoming return from call to 0x0893 at 0x0ABC // Inputs[2] // { // @0ABE stack[-2] // @0ABE stack[-1] // } 0ABD 5B JUMPDEST 0ABE 52 MSTORE 0ABF 61 PUSH2 0x0917 0AC2 61 PUSH2 0x19f5 0AC5 56 *JUMP // Stack delta = -1 // Outputs[2] // { // @0ABE memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @0ABF stack[-2] = 0x0917 // } // Block ends with unconditional jump to 0x19f5 label_0AC6: // Incoming call from 0x0B3E, returns to 0x0B3F // Incoming call from 0x0B71, returns to 0x0B72 // Incoming call from 0x0B8F, returns to 0x0B90 // Incoming call from 0x12DF, returns to 0x12E0 // Incoming call from 0x12B0, returns to 0x12B1 // Incoming call from 0x0BE7, returns to 0x0BE8 // Inputs[3] // { // @0AC7 stack[-3] // @0AC7 stack[-1] // @0AC8 stack[-2] // } 0AC6 5B JUMPDEST 0AC7 91 SWAP2 0AC8 81 DUP2 0AC9 60 PUSH1 0x1f 0ACB 84 DUP5 0ACC 01 ADD 0ACD 12 SLT 0ACE 15 ISZERO 0ACF 61 PUSH2 0x000e 0AD2 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @0AC7 stack[-1] = stack[-3] // @0AC7 stack[-3] = stack[-1] // } // Block ends with conditional jump to 0x000e, if !(stack[-1] + 0x1f i< stack[-2]) label_0AD3: // Incoming jump from 0x0AD2, if not !(stack[-1] + 0x1f i< stack[-2]) // Inputs[3] // { // @0AD3 stack[-3] // @0AD4 msg.data[stack[-3]:stack[-3] + 0x20] // @0AD5 stack[-2] // } 0AD3 82 DUP3 0AD4 35 CALLDATALOAD 0AD5 91 SWAP2 0AD6 67 PUSH8 0xffffffffffffffff 0ADF 83 DUP4 0AE0 11 GT 0AE1 61 PUSH2 0x000e 0AE4 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0AD5 stack[0] = stack[-2] // @0AD5 stack[-2] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with conditional jump to 0x000e, if msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff label_0AE5: // Incoming jump from 0x0AE4, if not msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff // Inputs[3] // { // @0AE7 stack[-3] // @0AE9 stack[-4] // @0AEE stack[-1] // } 0AE5 60 PUSH1 0x20 0AE7 83 DUP4 0AE8 81 DUP2 0AE9 86 DUP7 0AEA 01 ADD 0AEB 95 SWAP6 0AEC 01 ADD 0AED 01 ADD 0AEE 11 GT 0AEF 61 PUSH2 0x000e 0AF2 57 *JUMPI // Stack delta = -1 // Outputs[1] { @0AEB stack[-4] = stack[-4] + 0x20 } // Block ends with conditional jump to 0x000e, if stack[-4] + stack[-3] + 0x20 > stack[-1] label_0AF3: // Incoming jump from 0x0AF2, if not stack[-4] + stack[-3] + 0x20 > stack[-1] // Inputs[1] { @0AF3 stack[-1] } 0AF3 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0AF4: // Incoming call from 0x0B0A, returns to 0x0917 // Incoming call from 0x0EFF, returns to 0x0F00 // Inputs[1] { @0AF5 stack[-1] } 0AF4 5B JUMPDEST 0AF5 80 DUP1 0AF6 15 ISZERO 0AF7 15 ISZERO 0AF8 03 SUB 0AF9 61 PUSH2 0x000e 0AFC 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if !!stack[-1] - stack[-1] label_0AFD: // Incoming jump from 0x0AFC, if not !!stack[-1] - stack[-1] // Inputs[1] { @0AFD stack[-1] } 0AFD 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_0AFE: // Incoming call from 0x0B47, returns to 0x0B48 // Inputs[2] // { // @0B01 msg.data[0x44:0x64] // @0B02 stack[-1] // } 0AFE 5B JUMPDEST 0AFF 60 PUSH1 0x44 0B01 35 CALLDATALOAD 0B02 90 SWAP1 0B03 61 PUSH2 0x0917 0B06 82 DUP3 0B07 61 PUSH2 0x0af4 0B0A 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @0B02 stack[0] = stack[-1] // @0B02 stack[-1] = msg.data[0x44:0x64] // @0B03 stack[1] = 0x0917 // @0B06 stack[2] = msg.data[0x44:0x64] // } // Block ends with call to 0x0af4, returns to 0x0917 label_0B0B: // Incoming jump from 0x022D // Inputs[1] { @0B0D msg.value } 0B0B 5B JUMPDEST 0B0C 50 POP 0B0D 34 CALLVALUE 0B0E 61 PUSH2 0x000e 0B11 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0B12: // Incoming jump from 0x0B11, if not msg.value // Inputs[1] { @0B15 msg.data.length } 0B12 61 PUSH2 0x0100 0B15 36 CALLDATASIZE 0B16 60 PUSH1 0x03 0B18 19 NOT 0B19 01 ADD 0B1A 12 SLT 0B1B 61 PUSH2 0x000e 0B1E 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x0100 label_0B1F: // Incoming jump from 0x0B1E, if not ~0x03 + msg.data.length i< 0x0100 // Inputs[1] { @0B2A msg.data[0x04:0x24] } 0B1F 67 PUSH8 0xffffffffffffffff 0B28 60 PUSH1 0x04 0B2A 35 CALLDATALOAD 0B2B 81 DUP2 0B2C 81 DUP2 0B2D 11 GT 0B2E 61 PUSH2 0x000e 0B31 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @0B1F stack[0] = 0xffffffffffffffff // @0B2A stack[1] = msg.data[0x04:0x24] // } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] > 0xffffffffffffffff label_0B32: // Incoming jump from 0x0B31, if not msg.data[0x04:0x24] > 0xffffffffffffffff // Inputs[2] // { // @0B35 stack[-1] // @0B36 msg.data.length // } 0B32 61 PUSH2 0x0b3f 0B35 90 SWAP1 0B36 36 CALLDATASIZE 0B37 90 SWAP1 0B38 60 PUSH1 0x04 0B3A 01 ADD 0B3B 61 PUSH2 0x0ac6 0B3E 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @0B35 stack[-1] = 0x0b3f // @0B37 stack[0] = msg.data.length // @0B3A stack[1] = 0x04 + stack[-1] // } // Block ends with call to 0x0ac6, returns to 0x0B3F label_0B3F: // Incoming return from call to 0x0AC6 at 0x0B3E // Inputs[2] // { // @0B40 stack[-2] // @0B40 stack[-1] // } 0B3F 5B JUMPDEST 0B40 90 SWAP1 0B41 61 PUSH2 0x0b48 0B44 61 PUSH2 0x0afe 0B47 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @0B40 stack[-2] = stack[-1] // @0B40 stack[-1] = stack[-2] // @0B41 stack[0] = 0x0b48 // } // Block ends with call to 0x0afe, returns to 0x0B48 label_0B48: // Incoming return from call to 0x0AFE at 0x0B47 // Inputs[2] // { // @0B49 stack[-3] // @0B49 stack[-1] // } 0B48 5B JUMPDEST 0B49 91 SWAP2 0B4A 61 PUSH2 0x0b51 0B4D 61 PUSH2 0x0530 0B50 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @0B49 stack[-3] = stack[-1] // @0B49 stack[-1] = stack[-3] // @0B4A stack[0] = 0x0b51 // } // Block ends with call to 0x0530, returns to 0x0B51 label_0B51: // Incoming return from call to 0x0530 at 0x0B50 0B51 5B JUMPDEST 0B52 61 PUSH2 0x0b59 0B55 61 PUSH2 0x0546 0B58 56 *JUMP // Stack delta = +1 // Outputs[1] { @0B52 stack[0] = 0x0b59 } // Block ends with call to 0x0546, returns to 0x0B59 label_0B59: // Incoming return from call to 0x0546 at 0x0B58 // Inputs[4] // { // @0B5A stack[-3] // @0B5A stack[-1] // @0B5D msg.data[0xc4:0xe4] // @0B5E stack[-6] // } 0B59 5B JUMPDEST 0B5A 91 SWAP2 0B5B 60 PUSH1 0xc4 0B5D 35 CALLDATALOAD 0B5E 86 DUP7 0B5F 81 DUP2 0B60 11 GT 0B61 61 PUSH2 0x000e 0B64 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0B5A stack[-3] = stack[-1] // @0B5A stack[-1] = stack[-3] // @0B5D stack[0] = msg.data[0xc4:0xe4] // } // Block ends with conditional jump to 0x000e, if msg.data[0xc4:0xe4] > stack[-6] label_0B65: // Incoming jump from 0x0B64, if not msg.data[0xc4:0xe4] > stack[-6] // Inputs[2] // { // @0B68 stack[-1] // @0B69 msg.data.length // } 0B65 61 PUSH2 0x0b72 0B68 90 SWAP1 0B69 36 CALLDATASIZE 0B6A 90 SWAP1 0B6B 60 PUSH1 0x04 0B6D 01 ADD 0B6E 61 PUSH2 0x0ac6 0B71 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @0B68 stack[-1] = 0x0b72 // @0B6A stack[0] = msg.data.length // @0B6D stack[1] = 0x04 + stack[-1] // } // Block ends with call to 0x0ac6, returns to 0x0B72 label_0B72: // Incoming return from call to 0x0AC6 at 0x0B71 // Inputs[6] // { // @0B73 stack[-5] // @0B73 stack[-1] // @0B74 stack[-2] // @0B75 stack[-4] // @0B78 msg.data[0xe4:0x0104] // @0B79 stack[-8] // } 0B72 5B JUMPDEST 0B73 93 SWAP4 0B74 90 SWAP1 0B75 92 SWAP3 0B76 60 PUSH1 0xe4 0B78 35 CALLDATALOAD 0B79 97 SWAP8 0B7A 88 DUP9 0B7B 11 GT 0B7C 61 PUSH2 0x000e 0B7F 57 *JUMPI // Stack delta = +0 // Outputs[5] // { // @0B73 stack[-5] = stack[-1] // @0B74 stack[-2] = stack[-5] // @0B75 stack[-4] = stack[-2] // @0B75 stack[-1] = stack[-4] // @0B79 stack[-8] = msg.data[0xe4:0x0104] // } // Block ends with conditional jump to 0x000e, if msg.data[0xe4:0x0104] > stack[-8] label_0B80: // Incoming jump from 0x0B7F, if not msg.data[0xe4:0x0104] > stack[-8] // Inputs[2] // { // @0B86 stack[-8] // @0B87 msg.data.length // } 0B80 61 PUSH2 0x0b90 0B83 61 PUSH2 0x05e0 0B86 98 SWAP9 0B87 36 CALLDATASIZE 0B88 90 SWAP1 0B89 60 PUSH1 0x04 0B8B 01 ADD 0B8C 61 PUSH2 0x0ac6 0B8F 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @0B80 stack[0] = 0x0b90 // @0B86 stack[-8] = 0x05e0 // @0B88 stack[1] = msg.data.length // @0B8B stack[2] = 0x04 + stack[-8] // } // Block ends with call to 0x0ac6, returns to 0x0B90 label_0B90: // Incoming return from call to 0x0AC6 at 0x0B8F // Inputs[7] // { // @0B91 stack[-9] // @0B91 stack[-1] // @0B92 stack[-2] // @0B93 stack[-8] // @0B96 msg.data[0xa4:0xc4] // @0B97 stack[-5] // @0B9A msg.data[0x24:0x44] // } 0B90 5B JUMPDEST 0B91 97 SWAP8 0B92 90 SWAP1 0B93 96 SWAP7 0B94 60 PUSH1 0xa4 0B96 35 CALLDATALOAD 0B97 94 SWAP5 0B98 60 PUSH1 0x24 0B9A 35 CALLDATALOAD 0B9B 91 SWAP2 0B9C 61 PUSH2 0x1d8b 0B9F 56 *JUMP // Stack delta = +2 // Outputs[7] // { // @0B91 stack[-9] = stack[-1] // @0B92 stack[-2] = stack[-9] // @0B93 stack[-8] = stack[-2] // @0B97 stack[-5] = msg.data[0xa4:0xc4] // @0B97 stack[0] = stack[-5] // @0B9B stack[1] = stack[-8] // @0B9B stack[-1] = msg.data[0x24:0x44] // } // Block ends with unconditional jump to 0x1d8b label_0BA0: // Incoming jump from 0x0224 // Inputs[1] { @0BA2 msg.value } 0BA0 5B JUMPDEST 0BA1 50 POP 0BA2 34 CALLVALUE 0BA3 61 PUSH2 0x000e 0BA6 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0BA7: // Incoming jump from 0x0BA6, if not msg.value // Inputs[1] { @0BA9 msg.data.length } 0BA7 60 PUSH1 0x60 0BA9 36 CALLDATASIZE 0BAA 60 PUSH1 0x03 0BAC 19 NOT 0BAD 01 ADD 0BAE 12 SLT 0BAF 61 PUSH2 0x000e 0BB2 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x60 label_0BB3: // Incoming jump from 0x0BB2, if not ~0x03 + msg.data.length i< 0x60 0BB3 61 PUSH2 0x0bba 0BB6 61 PUSH2 0x051a 0BB9 56 *JUMP // Stack delta = +1 // Outputs[1] { @0BB3 stack[0] = 0x0bba } // Block ends with call to 0x051a, returns to 0x0BBA label_0BBA: // Incoming return from call to 0x051A at 0x0BB9 // Inputs[2] // { // @0BBD msg.data[0x24:0x44] // @0BBE stack[-1] // } 0BBA 5B JUMPDEST 0BBB 60 PUSH1 0x24 0BBD 35 CALLDATALOAD 0BBE 90 SWAP1 0BBF 67 PUSH8 0xffffffffffffffff 0BC8 82 DUP3 0BC9 11 GT 0BCA 61 PUSH2 0x000e 0BCD 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0BBE stack[0] = stack[-1] // @0BBE stack[-1] = msg.data[0x24:0x44] // } // Block ends with conditional jump to 0x000e, if msg.data[0x24:0x44] > 0xffffffffffffffff label_0BCE: // Incoming jump from 0x0BCD, if not msg.data[0x24:0x44] > 0xffffffffffffffff // Inputs[3] // { // @0BD3 stack[-1] // @0BDE stack[-2] // @0BDF msg.data.length // } 0BCE 61 PUSH2 0x0c25 0BD1 60 PUSH1 0xff 0BD3 91 SWAP2 0BD4 60 PUSH1 0x03 0BD6 61 PUSH2 0x0c0c 0BD9 61 PUSH2 0x0be8 0BDC 60 PUSH1 0x20 0BDE 96 SWAP7 0BDF 36 CALLDATASIZE 0BE0 90 SWAP1 0BE1 60 PUSH1 0x04 0BE3 01 ADD 0BE4 61 PUSH2 0x0ac6 0BE7 56 *JUMP // Stack delta = +7 // Outputs[9] // { // @0BCE stack[0] = 0x0c25 // @0BD3 stack[1] = stack[-1] // @0BD3 stack[-1] = 0xff // @0BD4 stack[2] = 0x03 // @0BD6 stack[3] = 0x0c0c // @0BD9 stack[4] = 0x0be8 // @0BDE stack[-2] = 0x20 // @0BE0 stack[5] = msg.data.length // @0BE3 stack[6] = 0x04 + stack[-2] // } // Block ends with call to 0x0ac6, returns to 0x0BE8 label_0BE8: // Incoming return from call to 0x0AC6 at 0x0BE7 0BE8 5B JUMPDEST 0BE9 60 PUSH1 0x01 0BEB 60 PUSH1 0x01 0BED 60 PUSH1 0xa0 0BEF 1B SHL 0BF0 03 SUB 0BF1 61 PUSH2 0x0bf8 0BF4 61 PUSH2 0x055c 0BF7 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0BF0 stack[0] = (0x01 << 0xa0) - 0x01 // @0BF1 stack[1] = 0x0bf8 // } // Block ends with call to 0x055c, returns to 0x0BF8 label_0BF8: // Incoming return from call to 0x055C at 0x0BF7 // Inputs[6] // { // @0BF9 stack[-1] // @0BF9 stack[-7] // @0BFA stack[-2] // @0C00 stack[-10] // @0C06 memory[0x00:0x40] // @0C07 stack[-4] // } 0BF8 5B JUMPDEST 0BF9 95 SWAP6 0BFA 16 AND 0BFB 60 PUSH1 0x00 0BFD 52 MSTORE 0BFE 60 PUSH1 0x07 0C00 88 DUP9 0C01 52 MSTORE 0C02 60 PUSH1 0x40 0C04 60 PUSH1 0x00 0C06 20 SHA3 0C07 91 SWAP2 0C08 61 PUSH2 0x1d72 0C0B 56 *JUMP // Stack delta = -1 // Outputs[5] // { // @0BF9 stack[-7] = stack[-1] // @0BFD memory[0x00:0x20] = stack[-7] & stack[-2] // @0C01 memory[stack[-10]:stack[-10] + 0x20] = 0x07 // @0C07 stack[-2] = stack[-4] // @0C07 stack[-4] = keccak256(memory[0x00:0x40]) // } // Block ends with unconditional jump to 0x1d72 label_0C0C: // Incoming return from call to 0x0BE8 at 0x0BE7 // Inputs[5] // { // @0C0D stack[-2] // @0C0D stack[-1] // @0C0E stack[-3] // @0C22 memory[0x00:0x40] // @0C23 stack[-4] // } 0C0C 5B JUMPDEST 0C0D 01 ADD 0C0E 90 SWAP1 0C0F 60 PUSH1 0x01 0C11 60 PUSH1 0x01 0C13 60 PUSH1 0xa0 0C15 1B SHL 0C16 03 SUB 0C17 16 AND 0C18 60 PUSH1 0x00 0C1A 52 MSTORE 0C1B 60 PUSH1 0x20 0C1D 52 MSTORE 0C1E 60 PUSH1 0x40 0C20 60 PUSH1 0x00 0C22 20 SHA3 0C23 90 SWAP1 0C24 56 *JUMP // Stack delta = -3 // Outputs[3] // { // @0C1A memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-3] // @0C1D memory[0x20:0x40] = stack[-1] + stack[-2] // @0C23 stack[-4] = keccak256(memory[0x00:0x40]) // } // Block ends with unconditional jump to stack[-4] label_0C25: // Incoming return from call to 0x1745 at 0x1744 // Incoming return from call to 0x0C0C at 0x0BE7 // Inputs[6] // { // @0C26 stack[-1] // @0C26 storage[stack[-1]] // @0C27 stack[-2] // @0C2A memory[0x40:0x60] // @0C30 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-3]] // @0C30 stack[-3] // } 0C25 5B JUMPDEST 0C26 54 SLOAD 0C27 16 AND 0C28 60 PUSH1 0x40 0C2A 51 MLOAD 0C2B 90 SWAP1 0C2C 15 ISZERO 0C2D 15 ISZERO 0C2E 81 DUP2 0C2F 52 MSTORE 0C30 F3 *RETURN // Stack delta = -3 // Outputs[2] // { // @0C2F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = !!(storage[stack[-1]] & stack[-2]) // @0C30 return memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-3]]; // } // Block terminates label_0C31: // Incoming call from 0x0C86, returns to 0x0A18 // Inputs[2] // { // @0C34 memory[0x40:0x60] // @0C35 stack[-1] // } 0C31 5B JUMPDEST 0C32 60 PUSH1 0x40 0C34 51 MLOAD 0C35 90 SWAP1 0C36 61 PUSH2 0x0c3e 0C39 82 DUP3 0C3A 61 PUSH2 0x084e 0C3D 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @0C35 stack[0] = stack[-1] // @0C35 stack[-1] = memory[0x40:0x60] // @0C36 stack[1] = 0x0c3e // @0C39 stack[2] = memory[0x40:0x60] // } // Block ends with call to 0x084e, returns to 0x0C3E label_0C3E: // Incoming return from call to 0x084E at 0x0C3D // Inputs[2] // { // @0C41 stack[-2] // @0C69 stack[-1] // } 0C3E 5B JUMPDEST 0C3F 60 PUSH1 0x16 0C41 82 DUP3 0C42 52 MSTORE 0C43 7F PUSH32 0x68747470733a2f2f65636f2e6f72672f65636f2d696400000000000000000000 0C64 60 PUSH1 0x20 0C66 83 DUP4 0C67 01 ADD 0C68 52 MSTORE 0C69 56 *JUMP // Stack delta = -1 // Outputs[2] // { // @0C42 memory[stack[-2]:stack[-2] + 0x20] = 0x16 // @0C68 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = 0x68747470733a2f2f65636f2e6f72672f65636f2d696400000000000000000000 // } // Block ends with unconditional jump to stack[-1] label_0C6A: // Incoming jump from 0x021B // Inputs[1] { @0C6C msg.value } 0C6A 5B JUMPDEST 0C6B 50 POP 0C6C 34 CALLVALUE 0C6D 61 PUSH2 0x000e 0C70 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0C71: // Incoming jump from 0x0C70, if not msg.value // Inputs[1] { @0C73 msg.data.length } 0C71 60 PUSH1 0x00 0C73 36 CALLDATASIZE 0C74 60 PUSH1 0x03 0C76 19 NOT 0C77 01 ADD 0C78 12 SLT 0C79 61 PUSH2 0x000e 0C7C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0C7D: // Incoming jump from 0x0C7C, if not ~0x03 + msg.data.length i< 0x00 0C7D 61 PUSH2 0x0431 0C80 61 PUSH2 0x0a18 0C83 61 PUSH2 0x0c31 0C86 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0C7D stack[0] = 0x0431 // @0C80 stack[1] = 0x0a18 // } // Block ends with call to 0x0c31, returns to 0x0A18 label_0C87: // Incoming jump from 0x0212 // Inputs[1] { @0C89 msg.value } 0C87 5B JUMPDEST 0C88 50 POP 0C89 34 CALLVALUE 0C8A 61 PUSH2 0x000e 0C8D 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0C8E: // Incoming jump from 0x0C8D, if not msg.value // Inputs[1] { @0C90 msg.data.length } 0C8E 60 PUSH1 0x20 0C90 36 CALLDATASIZE 0C91 60 PUSH1 0x03 0C93 19 NOT 0C94 01 ADD 0C95 12 SLT 0C96 61 PUSH2 0x000e 0C99 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_0C9A: // Incoming jump from 0x0C99, if not ~0x03 + msg.data.length i< 0x20 // Inputs[1] { @0CA1 msg.data[0x04:0x24] } 0C9A 60 PUSH1 0x20 0C9C 61 PUSH2 0x0ca6 0C9F 60 PUSH1 0x04 0CA1 35 CALLDATALOAD 0CA2 61 PUSH2 0x1962 0CA5 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @0C9A stack[0] = 0x20 // @0C9C stack[1] = 0x0ca6 // @0CA1 stack[2] = msg.data[0x04:0x24] // } // Block ends with call to 0x1962, returns to 0x0CA6 label_0CA6: // Incoming return from call to 0x1962 at 0x0CA5 // Inputs[4] // { // @0CB1 memory[0x40:0x60] // @0CB2 stack[-1] // @0CB6 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]] // @0CB6 stack[-2] // } 0CA6 5B JUMPDEST 0CA7 60 PUSH1 0x01 0CA9 60 PUSH1 0x01 0CAB 60 PUSH1 0xa0 0CAD 1B SHL 0CAE 03 SUB 0CAF 60 PUSH1 0x40 0CB1 51 MLOAD 0CB2 91 SWAP2 0CB3 16 AND 0CB4 81 DUP2 0CB5 52 MSTORE 0CB6 F3 *RETURN // Stack delta = -2 // Outputs[2] // { // @0CB5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] & (0x01 << 0xa0) - 0x01 // @0CB6 return memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]]; // } // Block terminates label_0CB7: // Incoming jump from 0x0209 // Inputs[1] { @0CB9 msg.value } 0CB7 5B JUMPDEST 0CB8 50 POP 0CB9 34 CALLVALUE 0CBA 61 PUSH2 0x000e 0CBD 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0CBE: // Incoming jump from 0x0CBD, if not msg.value // Inputs[1] { @0CC0 msg.data.length } 0CBE 60 PUSH1 0x20 0CC0 36 CALLDATASIZE 0CC1 60 PUSH1 0x03 0CC3 19 NOT 0CC4 01 ADD 0CC5 12 SLT 0CC6 61 PUSH2 0x000e 0CC9 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_0CCA: // Incoming jump from 0x0CC9, if not ~0x03 + msg.data.length i< 0x20 0CCA 60 PUSH1 0x01 0CCC 60 PUSH1 0x01 0CCE 60 PUSH1 0xa0 0CD0 1B SHL 0CD1 03 SUB 0CD2 61 PUSH2 0x0cd9 0CD5 61 PUSH2 0x051a 0CD8 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0CD1 stack[0] = (0x01 << 0xa0) - 0x01 // @0CD2 stack[1] = 0x0cd9 // } // Block ends with call to 0x051a, returns to 0x0CD9 label_0CD9: // Incoming return from call to 0x051A at 0x0CD8 // Inputs[2] // { // @0CDA stack[-1] // @0CDA stack[-2] // } 0CD9 5B JUMPDEST 0CDA 16 AND 0CDB 80 DUP1 0CDC 15 ISZERO 0CDD 61 PUSH2 0x0d02 0CE0 57 *JUMPI // Stack delta = -1 // Outputs[1] { @0CDA stack[-2] = stack[-1] & stack[-2] } // Block ends with conditional jump to 0x0d02, if !(stack[-1] & stack[-2]) label_0CE1: // Incoming jump from 0x0CE0, if not !(stack[-1] & stack[-2]) // Inputs[4] // { // @0CE3 stack[-1] // @0CF0 memory[0x00:0x40] // @0CF1 storage[keccak256(memory[0x00:0x40])] // @0CF4 memory[0x40:0x60] // } 0CE1 60 PUSH1 0x00 0CE3 52 MSTORE 0CE4 60 PUSH1 0x03 0CE6 60 PUSH1 0x20 0CE8 52 MSTORE 0CE9 61 PUSH2 0x0431 0CEC 60 PUSH1 0x40 0CEE 60 PUSH1 0x00 0CF0 20 SHA3 0CF1 54 SLOAD 0CF2 60 PUSH1 0x40 0CF4 51 MLOAD 0CF5 91 SWAP2 0CF6 82 DUP3 0CF7 91 SWAP2 0CF8 82 DUP3 0CF9 91 SWAP2 0CFA 90 SWAP1 0CFB 60 PUSH1 0x20 0CFD 83 DUP4 0CFE 01 ADD 0CFF 92 SWAP3 0D00 52 MSTORE 0D01 56 *JUMP // Stack delta = +2 // Outputs[6] // { // @0CE3 memory[0x00:0x20] = stack[-1] // @0CE8 memory[0x20:0x40] = 0x03 // @0CF5 stack[-1] = memory[0x40:0x60] // @0CF7 stack[0] = memory[0x40:0x60] // @0CFF stack[1] = memory[0x40:0x60] + 0x20 // @0D00 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = storage[keccak256(memory[0x00:0x40])] // } // Block ends with unconditional jump to 0x0431 label_0D02: // Incoming jump from 0x0CE0, if !(stack[-1] & stack[-2]) // Inputs[2] // { // @0D07 memory[0x40:0x60] // @0D6B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84] // } 0D02 5B JUMPDEST 0D03 60 PUSH1 0x84 0D05 60 PUSH1 0x40 0D07 51 MLOAD 0D08 62 PUSH3 0x461bcd 0D0C 60 PUSH1 0xe5 0D0E 1B SHL 0D0F 81 DUP2 0D10 52 MSTORE 0D11 60 PUSH1 0x20 0D13 60 PUSH1 0x04 0D15 82 DUP3 0D16 01 ADD 0D17 52 MSTORE 0D18 60 PUSH1 0x29 0D1A 60 PUSH1 0x24 0D1C 82 DUP3 0D1D 01 ADD 0D1E 52 MSTORE 0D1F 7F PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661 0D40 60 PUSH1 0x44 0D42 82 DUP3 0D43 01 ADD 0D44 52 MSTORE 0D45 7F PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000 0D66 60 PUSH1 0x64 0D68 82 DUP3 0D69 01 ADD 0D6A 52 MSTORE 0D6B FD *REVERT // Stack delta = +0 // Outputs[6] // { // @0D10 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @0D17 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @0D1E memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x29 // @0D44 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661 // @0D6A memory[memory[0x40:0x60] + 0x64:memory[0x40:0x60] + 0x64 + 0x20] = 0x6c6964206f776e65720000000000000000000000000000000000000000000000 // @0D6B revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84]); // } // Block terminates label_0D6C: // Incoming jump from 0x019D // Inputs[1] { @0D6E msg.value } 0D6C 5B JUMPDEST 0D6D 50 POP 0D6E 34 CALLVALUE 0D6F 61 PUSH2 0x000e 0D72 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0D73: // Incoming jump from 0x0D72, if not msg.value // Inputs[1] { @0D75 msg.data.length } 0D73 60 PUSH1 0x00 0D75 36 CALLDATASIZE 0D76 60 PUSH1 0x03 0D78 19 NOT 0D79 01 ADD 0D7A 12 SLT 0D7B 61 PUSH2 0x000e 0D7E 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0D7F: // Incoming jump from 0x0D7E, if not ~0x03 + msg.data.length i< 0x00 // Inputs[1] { @0D84 memory[0x40:0x60] } 0D7F 61 PUSH2 0x0431 0D82 60 PUSH1 0x40 0D84 51 MLOAD 0D85 61 PUSH2 0x0d8d 0D88 81 DUP2 0D89 61 PUSH2 0x0877 0D8C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0D7F stack[0] = 0x0431 // @0D84 stack[1] = memory[0x40:0x60] // @0D85 stack[2] = 0x0d8d // @0D88 stack[3] = memory[0x40:0x60] // } // Block ends with call to 0x0877, returns to 0x0D8D label_0D8D: // Incoming return from call to 0x0877 at 0x0D8C // Inputs[3] // { // @0D90 stack[-1] // @0E06 memory[0x40:0x60] // @0E07 stack[-2] // } 0D8D 5B JUMPDEST 0D8E 60 PUSH1 0x43 0D90 81 DUP2 0D91 52 MSTORE 0D92 7F PUSH32 0x68747470733a2f2f697066732e696f2f697066732f516d5a3776705933346a64 0DB3 60 PUSH1 0x20 0DB5 82 DUP3 0DB6 01 ADD 0DB7 52 MSTORE 0DB8 7F PUSH32 0x6d44796e386f74424d7a7658376f6d6e364e575466647856467238524d754141 0DD9 60 PUSH1 0x40 0DDB 82 DUP3 0DDC 01 ADD 0DDD 52 MSTORE 0DDE 7F PUSH32 0x56505a0000000000000000000000000000000000000000000000000000000000 0DFF 60 PUSH1 0x60 0E01 82 DUP3 0E02 01 ADD 0E03 52 MSTORE 0E04 60 PUSH1 0x40 0E06 51 MLOAD 0E07 91 SWAP2 0E08 82 DUP3 0E09 91 SWAP2 0E0A 60 PUSH1 0x20 0E0C 83 DUP4 0E0D 52 MSTORE 0E0E 60 PUSH1 0x20 0E10 83 DUP4 0E11 01 ADD 0E12 90 SWAP1 0E13 61 PUSH2 0x039f 0E16 56 *JUMP // Stack delta = +3 // Outputs[10] // { // @0D91 memory[stack[-1]:stack[-1] + 0x20] = 0x43 // @0DB7 memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = 0x68747470733a2f2f697066732e696f2f697066732f516d5a3776705933346a64 // @0DDD memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] = 0x6d44796e386f74424d7a7658376f6d6e364e575466647856467238524d754141 // @0E03 memory[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] = 0x56505a0000000000000000000000000000000000000000000000000000000000 // @0E07 stack[-2] = memory[0x40:0x60] // @0E07 stack[0] = stack[-2] // @0E09 stack[-1] = memory[0x40:0x60] // @0E0D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x20 // @0E12 stack[1] = memory[0x40:0x60] + 0x20 // @0E12 stack[2] = stack[-1] // } // Block ends with unconditional jump to 0x039f label_0E17: // Incoming jump from 0x0200 // Inputs[1] { @0E19 msg.value } 0E17 5B JUMPDEST 0E18 50 POP 0E19 34 CALLVALUE 0E1A 61 PUSH2 0x000e 0E1D 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0E1E: // Incoming jump from 0x0E1D, if not msg.value // Inputs[1] { @0E24 msg.data.length } 0E1E 60 PUSH1 0x00 0E20 80 DUP1 0E21 60 PUSH1 0x03 0E23 19 NOT 0E24 36 CALLDATASIZE 0E25 01 ADD 0E26 12 SLT 0E27 61 PUSH2 0x04b9 0E2A 57 *JUMPI // Stack delta = +1 // Outputs[1] { @0E1E stack[0] = 0x00 } // Block ends with conditional jump to 0x04b9, if msg.data.length + ~0x03 i< 0x00 label_0E2B: // Incoming jump from 0x0E2A, if not msg.data.length + ~0x03 i< 0x00 // Inputs[3] // { // @0E2D memory[0x40:0x60] // @0E2E stack[-1] // @0E33 storage[0x01] // } 0E2B 60 PUSH1 0x40 0E2D 51 MLOAD 0E2E 90 SWAP1 0E2F 80 DUP1 0E30 60 PUSH1 0x01 0E32 80 DUP1 0E33 54 SLOAD 0E34 91 SWAP2 0E35 61 PUSH2 0x0e3d 0E38 83 DUP4 0E39 61 PUSH2 0x114a 0E3C 56 *JUMP // Stack delta = +6 // Outputs[7] // { // @0E2E stack[0] = stack[-1] // @0E2E stack[-1] = memory[0x40:0x60] // @0E30 stack[2] = 0x01 // @0E34 stack[1] = storage[0x01] // @0E34 stack[3] = stack[-1] // @0E35 stack[4] = 0x0e3d // @0E38 stack[5] = storage[0x01] // } // Block ends with call to 0x114a, returns to 0x0E3D label_0E3D: // Incoming return from call to 0x114A at 0x0E3C // Inputs[4] // { // @0E3E stack[-1] // @0E3F stack[-6] // @0E41 stack[-4] // @0E42 stack[-3] // } 0E3D 5B JUMPDEST 0E3E 80 DUP1 0E3F 86 DUP7 0E40 52 MSTORE 0E41 92 SWAP3 0E42 82 DUP3 0E43 81 DUP2 0E44 16 AND 0E45 90 SWAP1 0E46 81 DUP2 0E47 15 ISZERO 0E48 61 PUSH2 0x048f 0E4B 57 *JUMPI // Stack delta = +1 // Outputs[4] // { // @0E40 memory[stack[-6]:stack[-6] + 0x20] = stack[-1] // @0E41 stack[-4] = stack[-1] // @0E45 stack[-1] = stack[-4] & stack[-3] // @0E45 stack[0] = stack[-4] // } // Block ends with conditional jump to 0x048f, if !(stack[-4] & stack[-3]) label_0E4C: // Incoming jump from 0x0E4B, if not !(stack[-4] & stack[-3]) // Inputs[1] { @0E4F stack[-2] } 0E4C 50 POP 0E4D 60 PUSH1 0x01 0E4F 14 EQ 0E50 61 PUSH2 0x0e63 0E53 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x0e63, if 0x01 == stack[-2] label_0E54: // Incoming jump from 0x0E53, if not 0x01 == stack[-2] // Inputs[2] // { // @0E57 stack[-5] // @0E5C stack[-4] // } 0E54 61 PUSH2 0x0431 0E57 85 DUP6 0E58 61 PUSH2 0x0425 0E5B 81 DUP2 0E5C 87 DUP8 0E5D 03 SUB 0E5E 82 DUP3 0E5F 61 PUSH2 0x08e8 0E62 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @0E54 stack[0] = 0x0431 // @0E57 stack[1] = stack[-5] // @0E58 stack[2] = 0x0425 // @0E5D stack[3] = stack[-4] - stack[-5] // @0E5E stack[4] = stack[-5] // } // Block ends with call to 0x08e8, returns to 0x0425 label_0E63: // Incoming jump from 0x0E53, if 0x01 == stack[-2] // Inputs[4] // { // @0E64 stack[-1] // @0E64 stack[-4] // @0E66 stack[-2] // @0E8B stack[-3] // } 0E63 5B JUMPDEST 0E64 92 SWAP3 0E65 50 POP 0E66 80 DUP1 0E67 83 DUP4 0E68 52 MSTORE 0E69 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 0E8A 5B JUMPDEST 0E8B 82 DUP3 0E8C 84 DUP5 0E8D 10 LT 0E8E 61 PUSH2 0x0ea5 0E91 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @0E64 stack[-4] = stack[-1] // @0E68 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @0E69 stack[-1] = 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 // } // Block ends with conditional jump to 0x0ea5, if stack[-1] < stack[-3] label_0E92: // Incoming jump from 0x0E91, if not stack[-4] < stack[-3] // Incoming jump from 0x0E91, if not stack[-1] < stack[-3] // Inputs[2] // { // @0E95 stack[-5] // @0E96 stack[-4] // } 0E92 50 POP 0E93 50 POP 0E94 50 POP 0E95 81 DUP2 0E96 01 ADD 0E97 60 PUSH1 0x20 0E99 01 ADD 0E9A 61 PUSH2 0x0425 0E9D 82 DUP3 0E9E 61 PUSH2 0x0431 0EA1 61 PUSH2 0x0415 0EA4 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @0E99 stack[-4] = 0x20 + stack[-5] + stack[-4] // @0E9A stack[-3] = 0x0425 // @0E9D stack[-2] = stack[-5] // @0E9E stack[-1] = 0x0431 // } // Block ends with unconditional jump to 0x0415 label_0EA5: // Incoming jump from 0x0E91, if stack[-4] < stack[-3] // Incoming jump from 0x0E91, if stack[-1] < stack[-3] // Inputs[5] // { // @0EA6 stack[-1] // @0EA7 storage[stack[-1]] // @0EAA stack[-4] // @0EAB stack[-5] // @0EB7 stack[-2] // } 0EA5 5B JUMPDEST 0EA6 80 DUP1 0EA7 54 SLOAD 0EA8 60 PUSH1 0x20 0EAA 85 DUP6 0EAB 87 DUP8 0EAC 01 ADD 0EAD 81 DUP2 0EAE 01 ADD 0EAF 91 SWAP2 0EB0 90 SWAP1 0EB1 91 SWAP2 0EB2 52 MSTORE 0EB3 90 SWAP1 0EB4 93 SWAP4 0EB5 01 ADD 0EB6 92 SWAP3 0EB7 81 DUP2 0EB8 01 ADD 0EB9 61 PUSH2 0x0e8a 0EBC 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @0EB2 memory[0x20 + stack[-5] + stack[-4]:0x20 + stack[-5] + stack[-4] + 0x20] = storage[stack[-1]] // @0EB6 stack[-4] = stack[-4] + 0x20 // @0EB8 stack[-1] = stack[-2] + stack[-1] // } // Block ends with unconditional jump to 0x0e8a label_0EBD: // Incoming jump from 0x01F7 // Inputs[1] { @0EBF msg.value } 0EBD 5B JUMPDEST 0EBE 50 POP 0EBF 34 CALLVALUE 0EC0 61 PUSH2 0x000e 0EC3 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0EC4: // Incoming jump from 0x0EC3, if not msg.value // Inputs[1] { @0EC6 msg.data.length } 0EC4 60 PUSH1 0x00 0EC6 36 CALLDATASIZE 0EC7 60 PUSH1 0x03 0EC9 19 NOT 0ECA 01 ADD 0ECB 12 SLT 0ECC 61 PUSH2 0x000e 0ECF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0ED0: // Incoming jump from 0x0ECF, if not ~0x03 + msg.data.length i< 0x00 // Inputs[2] // { // @0ED4 memory[0x40:0x60] // @0ED9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 0ED0 60 PUSH1 0x20 0ED2 60 PUSH1 0x40 0ED4 51 MLOAD 0ED5 60 PUSH1 0x0a 0ED7 81 DUP2 0ED8 52 MSTORE 0ED9 F3 *RETURN // Stack delta = +0 // Outputs[2] // { // @0ED8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0a // @0ED9 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]; // } // Block terminates label_0EDA: // Incoming jump from 0x01EE // Inputs[1] { @0EDC msg.value } 0EDA 5B JUMPDEST 0EDB 50 POP 0EDC 34 CALLVALUE 0EDD 61 PUSH2 0x000e 0EE0 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0EE1: // Incoming jump from 0x0EE0, if not msg.value // Inputs[1] { @0EE3 msg.data.length } 0EE1 60 PUSH1 0x40 0EE3 36 CALLDATASIZE 0EE4 60 PUSH1 0x03 0EE6 19 NOT 0EE7 01 ADD 0EE8 12 SLT 0EE9 61 PUSH2 0x000e 0EEC 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x40 label_0EED: // Incoming jump from 0x0EEC, if not ~0x03 + msg.data.length i< 0x40 0EED 61 PUSH2 0x0ef4 0EF0 61 PUSH2 0x051a 0EF3 56 *JUMP // Stack delta = +1 // Outputs[1] { @0EED stack[0] = 0x0ef4 } // Block ends with call to 0x051a, returns to 0x0EF4 label_0EF4: // Incoming return from call to 0x051A at 0x0EF3 // Inputs[1] { @0EF7 msg.data[0x24:0x44] } 0EF4 5B JUMPDEST 0EF5 60 PUSH1 0x24 0EF7 35 CALLDATALOAD 0EF8 61 PUSH2 0x0f00 0EFB 81 DUP2 0EFC 61 PUSH2 0x0af4 0EFF 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @0EF7 stack[0] = msg.data[0x24:0x44] // @0EF8 stack[1] = 0x0f00 // @0EFB stack[2] = msg.data[0x24:0x44] // } // Block ends with call to 0x0af4, returns to 0x0F00 label_0F00: // Incoming return from call to 0x0AF4 at 0x0EFF // Inputs[2] // { // @0F09 stack[-2] // @0F0D msg.sender // } 0F00 5B JUMPDEST 0F01 60 PUSH1 0x01 0F03 60 PUSH1 0x01 0F05 60 PUSH1 0xa0 0F07 1B SHL 0F08 03 SUB 0F09 82 DUP3 0F0A 16 AND 0F0B 91 SWAP2 0F0C 82 DUP3 0F0D 33 CALLER 0F0E 14 EQ 0F0F 61 PUSH2 0x0f88 0F12 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0F0B stack[0] = stack[-2] // @0F0B stack[-2] = stack[-2] & (0x01 << 0xa0) - 0x01 // } // Block ends with conditional jump to 0x0f88, if msg.sender == stack[-2] & (0x01 << 0xa0) - 0x01 label_0F13: // Incoming jump from 0x0F12, if not msg.sender == stack[-2] & (0x01 << 0xa0) - 0x01 // Inputs[5] // { // @0F13 stack[-2] // @0F1A stack[-1] // @0F1B msg.sender // @0F28 memory[0x00:0x40] // @0F3D memory[0x00:0x40] // } 0F13 81 DUP2 0F14 61 PUSH2 0x0f40 0F17 61 PUSH2 0x0f51 0F1A 92 SWAP3 0F1B 33 CALLER 0F1C 60 PUSH1 0x00 0F1E 52 MSTORE 0F1F 60 PUSH1 0x05 0F21 60 PUSH1 0x20 0F23 52 MSTORE 0F24 60 PUSH1 0x40 0F26 60 PUSH1 0x00 0F28 20 SHA3 0F29 90 SWAP1 0F2A 60 PUSH1 0x01 0F2C 60 PUSH1 0x01 0F2E 60 PUSH1 0xa0 0F30 1B SHL 0F31 03 SUB 0F32 16 AND 0F33 60 PUSH1 0x00 0F35 52 MSTORE 0F36 60 PUSH1 0x20 0F38 52 MSTORE 0F39 60 PUSH1 0x40 0F3B 60 PUSH1 0x00 0F3D 20 SHA3 0F3E 90 SWAP1 0F3F 56 *JUMP // Stack delta = +2 // Outputs[7] // { // @0F13 stack[0] = stack[-2] // @0F1A stack[-1] = 0x0f51 // @0F1E memory[0x00:0x20] = msg.sender // @0F23 memory[0x20:0x40] = 0x05 // @0F35 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @0F38 memory[0x20:0x40] = keccak256(memory[0x00:0x40]) // @0F3E stack[1] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x0f40, returns to 0x0F51 label_0F40: // Incoming call from 0x0F3F, returns to 0x0F51 // Inputs[4] // { // @0F41 stack[-1] // @0F41 stack[-2] // @0F47 storage[stack[-1]] // @0F50 stack[-3] // } 0F40 5B JUMPDEST 0F41 90 SWAP1 0F42 60 PUSH1 0xff 0F44 80 DUP1 0F45 19 NOT 0F46 83 DUP4 0F47 54 SLOAD 0F48 16 AND 0F49 91 SWAP2 0F4A 15 ISZERO 0F4B 15 ISZERO 0F4C 16 AND 0F4D 17 OR 0F4E 90 SWAP1 0F4F 55 SSTORE 0F50 56 *JUMP // Stack delta = -3 // Outputs[1] { @0F4F storage[stack[-1]] = (!!stack[-2] & 0xff) | (storage[stack[-1]] & ~0xff) } // Block ends with unconditional jump to stack[-3] label_0F51: // Incoming return from call to 0x0F40 at 0x0F3F // Inputs[5] // { // @0F54 memory[0x40:0x60] // @0F55 stack[-1] // @0F5A msg.sender // @0F86 stack[-2] // @0F86 memory[memory[0x40:0x60]:memory[0x40:0x60] + (memory[0x40:0x60] + 0x20) - memory[0x40:0x60]] // } 0F51 5B JUMPDEST 0F52 60 PUSH1 0x40 0F54 51 MLOAD 0F55 90 SWAP1 0F56 15 ISZERO 0F57 15 ISZERO 0F58 81 DUP2 0F59 52 MSTORE 0F5A 33 CALLER 0F5B 90 SWAP1 0F5C 7F PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 0F7D 90 SWAP1 0F7E 80 DUP1 0F7F 60 PUSH1 0x20 0F81 81 DUP2 0F82 01 ADD 0F83 5B JUMPDEST 0F84 03 SUB 0F85 90 SWAP1 0F86 A3 LOG3 0F87 00 *STOP // Stack delta = -2 // Outputs[3] // { // @0F59 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = !!stack[-1] // @0F86 log(memory[memory[0x40:0x60]:memory[0x40:0x60] + (memory[0x40:0x60] + 0x20) - memory[0x40:0x60]], [0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31, msg.sender, stack[-2]]); // @0F87 stop(); // } // Block terminates label_0F88: // Incoming jump from 0x0F12, if msg.sender == stack[-2] & (0x01 << 0xa0) - 0x01 // Inputs[2] // { // @0F8D memory[0x40:0x60] // @0FCB memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64] // } 0F88 5B JUMPDEST 0F89 60 PUSH1 0x64 0F8B 60 PUSH1 0x40 0F8D 51 MLOAD 0F8E 62 PUSH3 0x461bcd 0F92 60 PUSH1 0xe5 0F94 1B SHL 0F95 81 DUP2 0F96 52 MSTORE 0F97 60 PUSH1 0x20 0F99 60 PUSH1 0x04 0F9B 82 DUP3 0F9C 01 ADD 0F9D 52 MSTORE 0F9E 60 PUSH1 0x19 0FA0 60 PUSH1 0x24 0FA2 82 DUP3 0FA3 01 ADD 0FA4 52 MSTORE 0FA5 7F PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 0FC6 60 PUSH1 0x44 0FC8 82 DUP3 0FC9 01 ADD 0FCA 52 MSTORE 0FCB FD *REVERT // Stack delta = +0 // Outputs[5] // { // @0F96 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @0F9D memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @0FA4 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x19 // @0FCA memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 // @0FCB revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64]); // } // Block terminates label_0FCC: // Incoming jump from 0x01E5 // Inputs[1] { @0FCE msg.value } 0FCC 5B JUMPDEST 0FCD 50 POP 0FCE 34 CALLVALUE 0FCF 61 PUSH2 0x000e 0FD2 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_0FD3: // Incoming jump from 0x0FD2, if not msg.value // Inputs[1] { @0FD5 msg.data.length } 0FD3 60 PUSH1 0x00 0FD5 36 CALLDATASIZE 0FD6 60 PUSH1 0x03 0FD8 19 NOT 0FD9 01 ADD 0FDA 12 SLT 0FDB 61 PUSH2 0x000e 0FDE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_0FDF: // Incoming jump from 0x0FDE, if not ~0x03 + msg.data.length i< 0x00 // Inputs[2] // { // @0FE3 memory[0x40:0x60] // @0FE8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 0FDF 60 PUSH1 0x20 0FE1 60 PUSH1 0x40 0FE3 51 MLOAD 0FE4 60 PUSH1 0x32 0FE6 81 DUP2 0FE7 52 MSTORE 0FE8 F3 *RETURN // Stack delta = +0 // Outputs[2] // { // @0FE7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x32 // @0FE8 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]; // } // Block terminates label_0FE9: // Incoming call from 0x1149, returns to 0x0A18 // Inputs[2] // { // @0FEC memory[0x40:0x60] // @0FED stack[-1] // } 0FE9 5B JUMPDEST 0FEA 60 PUSH1 0x40 0FEC 51 MLOAD 0FED 90 SWAP1 0FEE 61 PUSH2 0x0ff6 0FF1 82 DUP3 0FF2 61 PUSH2 0x08af 0FF5 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @0FED stack[0] = stack[-1] // @0FED stack[-1] = memory[0x40:0x60] // @0FEE stack[1] = 0x0ff6 // @0FF1 stack[2] = memory[0x40:0x60] // } // Block ends with call to 0x08af, returns to 0x0FF6 label_0FF6: // Incoming return from call to 0x08AF at 0x0FF5 // Inputs[2] // { // @0FF9 stack[-2] // @112C stack[-1] // } 0FF6 5B JUMPDEST 0FF7 60 PUSH1 0xf7 0FF9 82 DUP3 0FFA 52 MSTORE 0FFB 7F PUSH32 0x616e6420676f7665726e616e63652073797374656d732e000000000000000000 101C 61 PUSH2 0x0100 101F 83 DUP4 1020 7F PUSH32 0x45636f20494473206172652066756c6c7920646563656e7472616c697a656420 1041 60 PUSH1 0x20 1043 82 DUP3 1044 01 ADD 1045 52 MSTORE 1046 7F PUSH32 0x616e64207065726d697373696f6e6c657373206964656e74697479207072696d 1067 60 PUSH1 0x40 1069 82 DUP3 106A 01 ADD 106B 52 MSTORE 106C 7F PUSH32 0x6974697665732064657369676e656420746f2062652073696d706c652c207665 108D 60 PUSH1 0x60 108F 82 DUP3 1090 01 ADD 1091 52 MSTORE 1092 7F PUSH32 0x72736174696c6520616e6420696d6d757461626c652e20546865792061726520 10B3 60 PUSH1 0x80 10B5 82 DUP3 10B6 01 ADD 10B7 52 MSTORE 10B8 7F PUSH32 0x696e74656e64656420746f207365727665206173206120626173696320666f75 10D9 60 PUSH1 0xa0 10DB 82 DUP3 10DC 01 ADD 10DD 52 MSTORE 10DE 7F PUSH32 0x6e646174696f6e20746f20626f6f74737472617020696e6372656173696e676c 10FF 60 PUSH1 0xc0 1101 82 DUP3 1102 01 ADD 1103 52 MSTORE 1104 7F PUSH32 0x792d636f6d706c657820616e6420637573746f6d2072657075746174696f6e20 1125 60 PUSH1 0xe0 1127 82 DUP3 1128 01 ADD 1129 52 MSTORE 112A 01 ADD 112B 52 MSTORE 112C 56 *JUMP // Stack delta = -1 // Outputs[9] // { // @0FFA memory[stack[-2]:stack[-2] + 0x20] = 0xf7 // @1045 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = 0x45636f20494473206172652066756c6c7920646563656e7472616c697a656420 // @106B memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = 0x616e64207065726d697373696f6e6c657373206964656e74697479207072696d // @1091 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = 0x6974697665732064657369676e656420746f2062652073696d706c652c207665 // @10B7 memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] = 0x72736174696c6520616e6420696d6d757461626c652e20546865792061726520 // @10DD memory[stack[-2] + 0xa0:stack[-2] + 0xa0 + 0x20] = 0x696e74656e64656420746f207365727665206173206120626173696320666f75 // @1103 memory[stack[-2] + 0xc0:stack[-2] + 0xc0 + 0x20] = 0x6e646174696f6e20746f20626f6f74737472617020696e6372656173696e676c // @1129 memory[stack[-2] + 0xe0:stack[-2] + 0xe0 + 0x20] = 0x792d636f6d706c657820616e6420637573746f6d2072657075746174696f6e20 // @112B memory[stack[-2] + 0x0100:stack[-2] + 0x0100 + 0x20] = 0x616e6420676f7665726e616e63652073797374656d732e000000000000000000 // } // Block ends with unconditional jump to stack[-1] label_112D: // Incoming jump from 0x01DC // Inputs[1] { @112F msg.value } 112D 5B JUMPDEST 112E 50 POP 112F 34 CALLVALUE 1130 61 PUSH2 0x000e 1133 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_1134: // Incoming jump from 0x1133, if not msg.value // Inputs[1] { @1136 msg.data.length } 1134 60 PUSH1 0x00 1136 36 CALLDATASIZE 1137 60 PUSH1 0x03 1139 19 NOT 113A 01 ADD 113B 12 SLT 113C 61 PUSH2 0x000e 113F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_1140: // Incoming jump from 0x113F, if not ~0x03 + msg.data.length i< 0x00 1140 61 PUSH2 0x0431 1143 61 PUSH2 0x0a18 1146 61 PUSH2 0x0fe9 1149 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @1140 stack[0] = 0x0431 // @1143 stack[1] = 0x0a18 // } // Block ends with call to 0x0fe9, returns to 0x0A18 label_114A: // Incoming call from 0x26B9, returns to 0x26BA // Incoming call from 0x03FA, returns to 0x03FB // Incoming call from 0x0E3C, returns to 0x0E3D // Incoming call from 0x1197, returns to 0x1198 // Inputs[2] // { // @114B stack[-1] // @114B stack[-2] // } 114A 5B JUMPDEST 114B 90 SWAP1 114C 60 PUSH1 0x01 114E 82 DUP3 114F 81 DUP2 1150 1C SHR 1151 92 SWAP3 1152 16 AND 1153 80 DUP1 1154 15 ISZERO 1155 61 PUSH2 0x117a 1158 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @114B stack[-1] = stack[-2] // @1151 stack[-2] = stack[-1] >> 0x01 // @1152 stack[0] = stack[-1] & 0x01 // } // Block ends with conditional jump to 0x117a, if !(stack[-1] & 0x01) label_1159: // Incoming jump from 0x1158, if not !(stack[-1] & 0x01) // Incoming jump from 0x1183 // Inputs[2] // { // @115C stack[-3] // @115E stack[-1] // } 1159 5B JUMPDEST 115A 60 PUSH1 0x20 115C 83 DUP4 115D 10 LT 115E 14 EQ 115F 61 PUSH2 0x1164 1162 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1164, if (stack[-3] < 0x20) == stack[-1] label_1163: // Incoming jump from 0x1162, if not (stack[-3] < 0x20) == stack[-1] // Inputs[1] { @1163 stack[-1] } 1163 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_1164: // Incoming jump from 0x1162, if (stack[-3] < 0x20) == stack[-1] // Inputs[1] { @1179 memory[0x00:0x24] } 1164 5B JUMPDEST 1165 63 PUSH4 0x4e487b71 116A 60 PUSH1 0xe0 116C 1B SHL 116D 60 PUSH1 0x00 116F 52 MSTORE 1170 60 PUSH1 0x22 1172 60 PUSH1 0x04 1174 52 MSTORE 1175 60 PUSH1 0x24 1177 60 PUSH1 0x00 1179 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @116F memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @1174 memory[0x04:0x24] = 0x22 // @1179 revert(memory[0x00:0x24]); // } // Block terminates label_117A: // Incoming jump from 0x1158, if !(stack[-1] & 0x01) // Inputs[2] // { // @117B stack[-1] // @117B stack[-3] // } 117A 5B JUMPDEST 117B 91 SWAP2 117C 60 PUSH1 0x7f 117E 16 AND 117F 91 SWAP2 1180 61 PUSH2 0x1159 1183 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @117F stack[-1] = stack[-1] // @117F stack[-3] = 0x7f & stack[-3] // } // Block ends with unconditional jump to 0x1159 label_1184: // Incoming call from 0x1701, returns to 0x0743 // Incoming call from 0x0742, returns to 0x0743 // Incoming call from 0x1260, returns to 0x1261 // Inputs[4] // { // @1185 stack[-1] // @1185 stack[-2] // @1188 memory[0x40:0x60] // @118E storage[stack[-1]] // } 1184 5B JUMPDEST 1185 90 SWAP1 1186 60 PUSH1 0x40 1188 51 MLOAD 1189 91 SWAP2 118A 82 DUP3 118B 60 PUSH1 0x00 118D 82 DUP3 118E 54 SLOAD 118F 92 SWAP3 1190 61 PUSH2 0x1198 1193 84 DUP5 1194 61 PUSH2 0x114a 1197 56 *JUMP // Stack delta = +6 // Outputs[8] // { // @1185 stack[-1] = stack[-2] // @1189 stack[-2] = memory[0x40:0x60] // @118A stack[1] = memory[0x40:0x60] // @118B stack[2] = 0x00 // @118F stack[3] = stack[-1] // @118F stack[0] = storage[stack[-1]] // @1190 stack[4] = 0x1198 // @1193 stack[5] = storage[stack[-1]] // } // Block ends with call to 0x114a, returns to 0x1198 label_1198: // Incoming return from call to 0x114A at 0x1197 // Inputs[4] // { // @1199 stack[-2] // @1199 stack[-1] // @119B stack[-4] // @119F stack[-5] // } 1198 5B JUMPDEST 1199 90 SWAP1 119A 81 DUP2 119B 84 DUP5 119C 52 MSTORE 119D 60 PUSH1 0x01 119F 94 SWAP5 11A0 85 DUP6 11A1 81 DUP2 11A2 16 AND 11A3 90 SWAP1 11A4 81 DUP2 11A5 60 PUSH1 0x00 11A7 14 EQ 11A8 61 PUSH2 0x1205 11AB 57 *JUMPI // Stack delta = +2 // Outputs[6] // { // @1199 stack[-1] = stack[-2] // @1199 stack[-2] = stack[-1] // @119C memory[stack[-4]:stack[-4] + 0x20] = stack[-1] // @119F stack[-5] = 0x01 // @11A3 stack[0] = stack[-5] & 0x01 // @11A3 stack[1] = stack[-5] // } // Block ends with conditional jump to 0x1205, if 0x00 == stack[-5] & 0x01 label_11AC: // Incoming jump from 0x11AB, if not 0x00 == stack[-5] & 0x01 // Inputs[1] { @11AF stack[-2] } 11AC 50 POP 11AD 60 PUSH1 0x01 11AF 14 EQ 11B0 61 PUSH2 0x11c2 11B3 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x11c2, if 0x01 == stack[-2] label_11B4: // Incoming jump from 0x11EC // Incoming jump from 0x11B3, if not 0x01 == stack[-2] // Incoming jump from 0x1227 // Inputs[4] // { // @11BA stack[-5] // @11BC stack[-3] // @11BC stack[-4] // @11BD stack[-7] // } 11B4 5B JUMPDEST 11B5 50 POP 11B6 50 POP 11B7 61 PUSH2 0x0917 11BA 92 SWAP3 11BB 50 POP 11BC 03 SUB 11BD 83 DUP4 11BE 61 PUSH2 0x08e8 11C1 56 *JUMP // Stack delta = -2 // Outputs[3] // { // @11BA stack[-5] = 0x0917 // @11BC stack[-4] = stack[-3] - stack[-4] // @11BD stack[-3] = stack[-7] // } // Block ends with call to 0x08e8, returns to 0x0917 label_11C2: // Incoming jump from 0x11B3, if 0x01 == stack[-2] // Inputs[5] // { // @11C3 stack[-2] // @11C3 stack[-1] // @11C4 stack[-5] // @11C5 stack[-3] // @11D0 memory[0x00:0x20] // } 11C2 5B JUMPDEST 11C3 90 SWAP1 11C4 93 SWAP4 11C5 91 SWAP2 11C6 50 POP 11C7 60 PUSH1 0x00 11C9 52 MSTORE 11CA 60 PUSH1 0x20 11CC 90 SWAP1 11CD 81 DUP2 11CE 60 PUSH1 0x00 11D0 20 SHA3 11D1 93 SWAP4 11D2 60 PUSH1 0x00 11D4 91 SWAP2 11D5 5B JUMPDEST 11D6 81 DUP2 11D7 83 DUP4 11D8 10 LT 11D9 61 PUSH2 0x11ed 11DC 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @11C9 memory[0x00:0x20] = stack[-1] // @11CC stack[-3] = 0x20 // @11D1 stack[-5] = keccak256(memory[0x00:0x20]) // @11D1 stack[-1] = stack[-2] // @11D4 stack[0] = stack[-5] // @11D4 stack[-2] = 0x00 // } // Block ends with conditional jump to 0x11ed, if 0x00 < stack[-2] label_11DD: // Incoming jump from 0x11DC, if not 0x00 < stack[-2] // Incoming jump from 0x11DC, if not stack[-3] < stack[-2] // Inputs[5] // { // @11E2 stack[-6] // @11E4 stack[-5] // @11E5 stack[-3] // @11E6 stack[-4] // @11E7 code.length // } 11DD 50 POP 11DE 50 POP 11DF 61 PUSH2 0x0917 11E2 93 SWAP4 11E3 50 POP 11E4 82 DUP3 11E5 01 ADD 11E6 01 ADD 11E7 38 CODESIZE 11E8 80 DUP1 11E9 61 PUSH2 0x11b4 11EC 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @11E2 stack[-6] = 0x0917 // @11E6 stack[-4] = stack[-5] + stack[-3] + stack[-4] // @11E7 stack[-3] = code.length // @11E8 stack[-2] = code.length // } // Block ends with unconditional jump to 0x11b4 label_11ED: // Incoming jump from 0x11DC, if 0x00 < stack[-2] // Incoming jump from 0x11DC, if stack[-3] < stack[-2] // Inputs[7] // { // @11EE stack[-6] // @11EF storage[stack[-6]] // @11F0 stack[-8] // @11F1 stack[-3] // @11F3 stack[-4] // @11F6 stack[-1] // @11FB stack[-5] // } 11ED 5B JUMPDEST 11EE 85 DUP6 11EF 54 SLOAD 11F0 88 DUP9 11F1 84 DUP5 11F2 01 ADD 11F3 85 DUP6 11F4 01 ADD 11F5 52 MSTORE 11F6 94 SWAP5 11F7 85 DUP6 11F8 01 ADD 11F9 94 SWAP5 11FA 87 DUP8 11FB 94 SWAP5 11FC 50 POP 11FD 91 SWAP2 11FE 83 DUP4 11FF 01 ADD 1200 91 SWAP2 1201 61 PUSH2 0x11d5 1204 56 *JUMP // Stack delta = +0 // Outputs[5] // { // @11F5 memory[stack[-4] + stack[-3] + stack[-8]:stack[-4] + stack[-3] + stack[-8] + 0x20] = storage[stack[-6]] // @11F9 stack[-6] = stack[-1] + stack[-6] // @11FB stack[-5] = stack[-8] // @1200 stack[-3] = stack[-4] + stack[-3] // @1200 stack[-1] = stack[-1] // } // Block ends with unconditional jump to 0x11d5 label_1205: // Incoming jump from 0x11AB, if 0x00 == stack[-5] & 0x01 // Inputs[7] // { // @1206 stack[-1] // @1206 stack[-3] // @120C stack[-7] // @1210 stack[-5] // @1217 stack[-6] // @121A stack[-4] // @1222 code.length // } 1205 5B JUMPDEST 1206 91 SWAP2 1207 50 POP 1208 50 POP 1209 61 PUSH2 0x0917 120C 94 SWAP5 120D 50 POP 120E 60 PUSH1 0x20 1210 92 SWAP3 1211 50 POP 1212 60 PUSH1 0xff 1214 19 NOT 1215 16 AND 1216 82 DUP3 1217 84 DUP5 1218 01 ADD 1219 52 MSTORE 121A 15 ISZERO 121B 15 ISZERO 121C 60 PUSH1 0x05 121E 1B SHL 121F 82 DUP3 1220 01 ADD 1221 01 ADD 1222 38 CODESIZE 1223 80 DUP1 1224 61 PUSH2 0x11b4 1227 56 *JUMP // Stack delta = -2 // Outputs[5] // { // @120C stack[-7] = 0x0917 // @1219 memory[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] = ~0xff & stack[-1] // @1221 stack[-5] = stack[-6] + (!!stack[-4] << 0x05) + 0x20 // @1222 stack[-4] = code.length // @1223 stack[-3] = code.length // } // Block ends with unconditional jump to 0x11b4 label_1228: // Incoming jump from 0x01D3 // Inputs[1] { @122A msg.value } 1228 5B JUMPDEST 1229 50 POP 122A 34 CALLVALUE 122B 61 PUSH2 0x000e 122E 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_122F: // Incoming jump from 0x122E, if not msg.value // Inputs[1] { @1231 msg.data.length } 122F 60 PUSH1 0x20 1231 36 CALLDATASIZE 1232 60 PUSH1 0x03 1234 19 NOT 1235 01 ADD 1236 12 SLT 1237 61 PUSH2 0x000e 123A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_123B: // Incoming jump from 0x123A, if not ~0x03 + msg.data.length i< 0x20 // Inputs[3] // { // @123D msg.data[0x04:0x24] // @124A memory[0x00:0x40] // @1259 storage[keccak256(memory[0x00:0x40])] // } 123B 60 PUSH1 0x04 123D 35 CALLDATALOAD 123E 60 PUSH1 0x00 1240 52 MSTORE 1241 60 PUSH1 0x08 1243 60 PUSH1 0x20 1245 52 MSTORE 1246 60 PUSH1 0x40 1248 60 PUSH1 0x00 124A 20 SHA3 124B 61 PUSH2 0x1261 124E 60 PUSH1 0x01 1250 60 PUSH1 0x01 1252 60 PUSH1 0x01 1254 60 PUSH1 0xa0 1256 1B SHL 1257 03 SUB 1258 83 DUP4 1259 54 SLOAD 125A 16 AND 125B 92 SWAP3 125C 01 ADD 125D 61 PUSH2 0x1184 1260 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @1240 memory[0x00:0x20] = msg.data[0x04:0x24] // @1245 memory[0x20:0x40] = 0x08 // @124B stack[1] = 0x1261 // @125B stack[0] = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01 // @125C stack[2] = keccak256(memory[0x00:0x40]) + 0x01 // } // Block ends with call to 0x1184, returns to 0x1261 label_1261: // Incoming return from call to 0x1184 at 0x1260 // Inputs[3] // { // @1262 stack[-2] // @1262 stack[-1] // @1268 memory[0x40:0x60] // } 1261 5B JUMPDEST 1262 90 SWAP1 1263 61 PUSH2 0x0431 1266 60 PUSH1 0x40 1268 51 MLOAD 1269 92 SWAP3 126A 83 DUP4 126B 92 SWAP3 126C 83 DUP4 126D 52 MSTORE 126E 60 PUSH1 0x40 1270 60 PUSH1 0x20 1272 84 DUP5 1273 01 ADD 1274 52 MSTORE 1275 60 PUSH1 0x40 1277 83 DUP4 1278 01 ADD 1279 90 SWAP1 127A 61 PUSH2 0x039f 127D 56 *JUMP // Stack delta = +3 // Outputs[7] // { // @1263 stack[0] = 0x0431 // @1269 stack[-2] = memory[0x40:0x60] // @126B stack[-1] = memory[0x40:0x60] // @126D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-2] // @1274 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x40 // @1279 stack[2] = stack[-1] // @1279 stack[1] = memory[0x40:0x60] + 0x40 // } // Block ends with call to 0x039f, returns to 0x0431 label_127E: // Incoming jump from 0x01CA // Inputs[1] { @1280 msg.value } 127E 5B JUMPDEST 127F 50 POP 1280 34 CALLVALUE 1281 61 PUSH2 0x000e 1284 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_1285: // Incoming jump from 0x1284, if not msg.value // Inputs[1] { @1287 msg.data.length } 1285 60 PUSH1 0xa0 1287 36 CALLDATASIZE 1288 60 PUSH1 0x03 128A 19 NOT 128B 01 ADD 128C 12 SLT 128D 61 PUSH2 0x000e 1290 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0xa0 label_1291: // Incoming jump from 0x1290, if not ~0x03 + msg.data.length i< 0xa0 // Inputs[1] { @129D msg.data[0x04:0x24] } 1291 67 PUSH8 0xffffffffffffffff 129A 60 PUSH1 0x04 129C 80 DUP1 129D 35 CALLDATALOAD 129E 82 DUP3 129F 81 DUP2 12A0 11 GT 12A1 61 PUSH2 0x000e 12A4 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @1291 stack[0] = 0xffffffffffffffff // @129A stack[1] = 0x04 // @129D stack[2] = msg.data[0x04:0x24] // } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] > 0xffffffffffffffff label_12A5: // Incoming jump from 0x12A4, if not msg.data[0x04:0x24] > 0xffffffffffffffff // Inputs[3] // { // @12A8 stack[-1] // @12A9 msg.data.length // @12AB stack[-2] // } 12A5 61 PUSH2 0x12b1 12A8 90 SWAP1 12A9 36 CALLDATASIZE 12AA 90 SWAP1 12AB 83 DUP4 12AC 01 ADD 12AD 61 PUSH2 0x0ac6 12B0 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @12A8 stack[-1] = 0x12b1 // @12AA stack[0] = msg.data.length // @12AC stack[1] = stack[-2] + stack[-1] // } // Block ends with call to 0x0ac6, returns to 0x12B1 label_12B1: // Incoming return from call to 0x0AC6 at 0x12B0 // Inputs[3] // { // @12B2 stack[-2] // @12B2 stack[-1] // @12B3 stack[-3] // } 12B1 5B JUMPDEST 12B2 90 SWAP1 12B3 91 SWAP2 12B4 61 PUSH2 0x12bb 12B7 61 PUSH2 0x0572 12BA 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @12B2 stack[-2] = stack[-1] // @12B3 stack[-1] = stack[-3] // @12B3 stack[-3] = stack[-2] // @12B4 stack[0] = 0x12bb // } // Block ends with call to 0x0572, returns to 0x12BB label_12BB: // Incoming return from call to 0x0572 at 0x12BA // Inputs[2] // { // @12BC stack[-5] // @12BC stack[-1] // } 12BB 5B JUMPDEST 12BC 93 SWAP4 12BD 61 PUSH2 0x12c4 12C0 61 PUSH2 0x055c 12C3 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @12BC stack[-1] = stack[-5] // @12BC stack[-5] = stack[-1] // @12BD stack[0] = 0x12c4 // } // Block ends with call to 0x055c, returns to 0x12C4 label_12C4: // Incoming return from call to 0x055C at 0x12C3 // Inputs[5] // { // @12C5 stack[-3] // @12C5 stack[-1] // @12C8 msg.data[0x64:0x84] // @12C9 stack[-2] // @12CC msg.data[0x84:0xa4] // } 12C4 5B JUMPDEST 12C5 91 SWAP2 12C6 60 PUSH1 0x64 12C8 35 CALLDATALOAD 12C9 91 SWAP2 12CA 60 PUSH1 0x84 12CC 35 CALLDATALOAD 12CD 90 SWAP1 12CE 81 DUP2 12CF 11 GT 12D0 61 PUSH2 0x000e 12D3 57 *JUMPI // Stack delta = +1 // Outputs[4] // { // @12C5 stack[-3] = stack[-1] // @12C5 stack[-1] = stack[-3] // @12C9 stack[-2] = msg.data[0x64:0x84] // @12CD stack[0] = msg.data[0x84:0xa4] // } // Block ends with conditional jump to 0x000e, if msg.data[0x84:0xa4] > stack[-2] label_12D4: // Incoming jump from 0x12D3, if not msg.data[0x84:0xa4] > stack[-2] // Inputs[3] // { // @12D7 stack[-1] // @12D8 msg.data.length // @12DA stack[-2] // } 12D4 61 PUSH2 0x12e0 12D7 90 SWAP1 12D8 36 CALLDATASIZE 12D9 90 SWAP1 12DA 83 DUP4 12DB 01 ADD 12DC 61 PUSH2 0x0ac6 12DF 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @12D7 stack[-1] = 0x12e0 // @12D9 stack[0] = msg.data.length // @12DB stack[1] = stack[-2] + stack[-1] // } // Block ends with call to 0x0ac6, returns to 0x12E0 label_12E0: // Incoming return from call to 0x0AC6 at 0x12DF // Inputs[5] // { // @12E4 stack[-3] // @12E5 stack[-2] // @12E7 msg.data.length // @12E8 stack[-6] // @12E9 stack[-7] // } 12E0 5B JUMPDEST 12E1 61 PUSH2 0x12ee 12E4 92 SWAP3 12E5 91 SWAP2 12E6 92 SWAP3 12E7 36 CALLDATASIZE 12E8 87 DUP8 12E9 89 DUP10 12EA 61 PUSH2 0x1491 12ED 56 *JUMP // Stack delta = +4 // Outputs[6] // { // @12E5 stack[-2] = stack[-3] // @12E6 stack[-3] = stack[-2] // @12E6 stack[0] = 0x12ee // @12E7 stack[1] = msg.data.length // @12E8 stack[2] = stack[-6] // @12E9 stack[3] = stack[-7] // } // Block ends with call to 0x1491, returns to 0x12EE label_12EE: // Incoming return from call to 0x1491 at 0x12ED // Inputs[2] // { // @12EF memory[stack[-1]:stack[-1] + 0x20] // @12EF stack[-1] // } 12EE 5B JUMPDEST 12EF 51 MLOAD 12F0 15 ISZERO 12F1 61 PUSH2 0x1481 12F4 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1481, if !memory[stack[-1]:stack[-1] + 0x20] label_12F5: // Incoming jump from 0x12F4, if not !memory[stack[-1]:stack[-1] + 0x20] // Inputs[2] // { // @12F5 block.timestamp // @12F6 stack[-4] // } 12F5 42 TIMESTAMP 12F6 84 DUP5 12F7 10 LT 12F8 61 PUSH2 0x1471 12FB 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x1471, if stack[-4] < block.timestamp label_12FC: // Incoming jump from 0x12FB, if not stack[-4] < block.timestamp // Inputs[2] // { // @1302 stack[-8] // @1318 memory[0x00:0x40] // } 12FC 61 PUSH2 0x1322 12FF 61 PUSH2 0x131b 1302 89 DUP10 1303 60 PUSH1 0x01 1305 60 PUSH1 0x01 1307 60 PUSH1 0xa0 1309 1B SHL 130A 03 SUB 130B 16 AND 130C 60 PUSH1 0x00 130E 52 MSTORE 130F 60 PUSH1 0x07 1311 60 PUSH1 0x20 1313 52 MSTORE 1314 60 PUSH1 0x40 1316 60 PUSH1 0x00 1318 20 SHA3 1319 90 SWAP1 131A 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @12FC stack[0] = 0x1322 // @130E memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-8] // @1313 memory[0x20:0x40] = 0x07 // @1319 stack[1] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x131b, returns to 0x1322 label_131B: // Incoming call from 0x131A, returns to 0x1322 // Inputs[2] // { // @131C stack[-8] // @131D stack[-9] // } 131B 5B JUMPDEST 131C 87 DUP8 131D 89 DUP10 131E 61 PUSH2 0x1d72 1321 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @131C stack[0] = stack[-8] // @131D stack[1] = stack[-9] // } // Block ends with unconditional jump to 0x1d72 label_1322: // Incoming return from call to 0x131B at 0x131A // Inputs[4] // { // @1323 stack[-1] // @1323 stack[-4] // @1332 stack[-6] // @1348 memory[0x00:0x40] // } 1322 5B JUMPDEST 1323 92 SWAP3 1324 60 PUSH1 0x03 1326 84 DUP5 1327 01 ADD 1328 93 SWAP4 1329 61 PUSH2 0x134b 132C 61 PUSH2 0x06d0 132F 61 PUSH2 0x0621 1332 89 DUP10 1333 88 DUP9 1334 90 SWAP1 1335 60 PUSH1 0x01 1337 60 PUSH1 0x01 1339 60 PUSH1 0xa0 133B 1B SHL 133C 03 SUB 133D 16 AND 133E 60 PUSH1 0x00 1340 52 MSTORE 1341 60 PUSH1 0x20 1343 52 MSTORE 1344 60 PUSH1 0x40 1346 60 PUSH1 0x00 1348 20 SHA3 1349 90 SWAP1 134A 56 *JUMP // Stack delta = +4 // Outputs[8] // { // @1323 stack[-1] = stack[-4] // @1328 stack[-4] = stack[-1] + 0x03 // @1328 stack[0] = stack[-1] // @1329 stack[1] = 0x134b // @132C stack[2] = 0x06d0 // @1340 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-6] // @1343 memory[0x20:0x40] = stack[-1] + 0x03 // @1349 stack[3] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x0621, returns to 0x06D0 label_134B: // Incoming return from call to 0x06D0 at 0x134A // Inputs[1] { @134F stack[-1] } 134B 5B JUMPDEST 134C 61 PUSH2 0x1461 134F 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1461, if stack[-1] label_1350: // Incoming jump from 0x134F, if not stack[-1] // Inputs[3] // { // @1352 stack[-1] // @1353 stack[-6] // @135E stack[-7] // } 1350 60 PUSH1 0x02 1352 01 ADD 1353 94 SWAP5 1354 61 PUSH2 0x136d 1357 61 PUSH2 0x06d0 135A 61 PUSH2 0x1363 135D 88 DUP9 135E 8A DUP11 135F 61 PUSH2 0x3897 1362 56 *JUMP // Stack delta = +5 // Outputs[7] // { // @1353 stack[-6] = 0x02 + stack[-1] // @1353 stack[-1] = stack[-6] // @1354 stack[0] = 0x136d // @1357 stack[1] = 0x06d0 // @135A stack[2] = 0x1363 // @135D stack[3] = 0x02 + stack[-1] // @135E stack[4] = stack[-7] // } // Block ends with call to 0x3897, returns to 0x1363 label_1363: // Incoming return from call to 0x3897 at 0x1362 // Inputs[3] // { // @1364 stack[-1] // @1364 storage[stack[-1]] // @136B stack[-2] // } 1363 5B JUMPDEST 1364 54 SLOAD 1365 60 PUSH1 0xa0 1367 1C SHR 1368 60 PUSH1 0xff 136A 16 AND 136B 90 SWAP1 136C 56 *JUMP // Stack delta = -1 // Outputs[1] { @136B stack[-2] = 0xff & (storage[stack[-1]] >> 0xa0) } // Block ends with unconditional jump to stack[-2] label_136D: // Incoming return from call to 0x06D0 at 0x1362 // Inputs[1] { @1371 stack[-1] } 136D 5B JUMPDEST 136E 61 PUSH2 0x1438 1371 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1438, if stack[-1] label_1372: // Incoming jump from 0x1371, if not stack[-1] // Inputs[8] // { // @1372 stack[-1] // @1372 stack[-3] // @1376 stack[-2] // @1377 stack[-9] // @137C stack[-7] // @137D stack[-10] // @137E stack[-8] // @1385 msg.data.length // } 1372 91 SWAP2 1373 61 PUSH2 0x06d0 1376 91 SWAP2 1377 89 DUP10 1378 61 PUSH2 0x1397 137B 94 SWAP5 137C 89 DUP10 137D 8D DUP14 137E 8C DUP13 137F 61 PUSH2 0x1391 1382 61 PUSH2 0x138c 1385 36 CALLDATASIZE 1386 83 DUP4 1387 88 DUP9 1388 61 PUSH2 0x1491 138B 56 *JUMP // Stack delta = +11 // Outputs[14] // { // @1372 stack[-1] = stack[-3] // @1376 stack[-2] = 0x06d0 // @1376 stack[0] = stack[-2] // @1377 stack[1] = stack[-9] // @137B stack[-3] = 0x1397 // @137B stack[2] = stack[-1] // @137C stack[3] = stack[-7] // @137D stack[4] = stack[-10] // @137E stack[5] = stack[-8] // @137F stack[6] = 0x1391 // @1382 stack[7] = 0x138c // @1385 stack[8] = msg.data.length // @1386 stack[9] = stack[-8] // @1387 stack[10] = stack[-9] // } // Block ends with call to 0x1491, returns to 0x138C label_138C: // Incoming return from call to 0x1491 at 0x1DCB // Incoming return from call to 0x1491 at 0x138B 138C 5B JUMPDEST 138D 61 PUSH2 0x3aeb 1390 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x3aeb label_1391: // Incoming return from call to 0x138C at 0x138B // Inputs[2] // { // @1392 stack[-6] // @1392 stack[-1] // } 1391 5B JUMPDEST 1392 94 SWAP5 1393 61 PUSH2 0x37ae 1396 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @1392 stack[-1] = stack[-6] // @1392 stack[-6] = stack[-1] // } // Block ends with unconditional jump to 0x37ae 1397 5B JUMPDEST 1398 61 PUSH2 0x1410 139B 57 *JUMPI 139C 50 POP 139D 82 DUP3 139E 91 SWAP2 139F 61 PUSH2 0x13ed 13A2 61 PUSH2 0x13e3 13A5 7F PUSH32 0xe7485580c64d6de0e6843d2d684ac5f367466fbd1c45452b2380ccb0ef23af8a 13C6 96 SWAP7 13C7 95 SWAP6 13C8 61 PUSH2 0x13f3 13CB 94 SWAP5 13CC 90 SWAP1 13CD 60 PUSH1 0x01 13CF 60 PUSH1 0x01 13D1 60 PUSH1 0xa0 13D3 1B SHL 13D4 03 SUB 13D5 16 AND 13D6 60 PUSH1 0x00 13D8 52 MSTORE 13D9 60 PUSH1 0x20 13DB 52 MSTORE 13DC 60 PUSH1 0x40 13DE 60 PUSH1 0x00 13E0 20 SHA3 13E1 90 SWAP1 13E2 56 *JUMP 13E3 5B JUMPDEST 13E4 80 DUP1 13E5 54 SLOAD 13E6 60 PUSH1 0xff 13E8 19 NOT 13E9 16 AND 13EA 90 SWAP1 13EB 55 SSTORE 13EC 56 *JUMP 13ED 5B JUMPDEST 13EE 82 DUP3 13EF 61 PUSH2 0x3966 13F2 56 *JUMP 13F3 5B JUMPDEST 13F4 61 PUSH2 0x0f83 13F7 60 PUSH1 0x40 13F9 51 MLOAD 13FA 92 SWAP3 13FB 83 DUP4 13FC 92 SWAP3 13FD 60 PUSH1 0x01 13FF 60 PUSH1 0x01 1401 60 PUSH1 0xa0 1403 1B SHL 1404 03 SUB 1405 80 DUP1 1406 91 SWAP2 1407 16 AND 1408 97 SWAP8 1409 16 AND 140A 95 SWAP6 140B 83 DUP4 140C 61 PUSH2 0x22e9 140F 56 *JUMP 1410 5B JUMPDEST 1411 60 PUSH1 0x40 1413 51 MLOAD 1414 7F PUSH32 0x0574e98500000000000000000000000000000000000000000000000000000000 1435 81 DUP2 1436 52 MSTORE 1437 FD *REVERT label_1438: // Incoming jump from 0x1371, if stack[-1] // Inputs[3] // { // @1439 stack[-4] // @143C memory[0x40:0x60] // @1460 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-4]] // } 1438 5B JUMPDEST 1439 83 DUP4 143A 60 PUSH1 0x40 143C 51 MLOAD 143D 7F PUSH32 0xca20970400000000000000000000000000000000000000000000000000000000 145E 81 DUP2 145F 52 MSTORE 1460 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @145F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xca20970400000000000000000000000000000000000000000000000000000000 // @1460 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-4]]); // } // Block terminates label_1461: // Incoming jump from 0x134F, if stack[-1] // Inputs[3] // { // @1462 stack[-4] // @1465 memory[0x40:0x60] // @1470 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-4]] // } 1461 5B JUMPDEST 1462 83 DUP4 1463 60 PUSH1 0x40 1465 51 MLOAD 1466 63 PUSH4 0x3bbc6955 146B 60 PUSH1 0xe2 146D 1B SHL 146E 81 DUP2 146F 52 MSTORE 1470 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @146F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x3bbc6955 << 0xe2 // @1470 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-4]]); // } // Block terminates label_1471: // Incoming jump from 0x12FB, if stack[-4] < block.timestamp // Inputs[3] // { // @1475 memory[0x40:0x60] // @1480 stack[-2] // @1480 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]] // } 1471 5B JUMPDEST 1472 50 POP 1473 60 PUSH1 0x40 1475 51 MLOAD 1476 63 PUSH4 0x1ab7da6b 147B 60 PUSH1 0xe0 147D 1B SHL 147E 81 DUP2 147F 52 MSTORE 1480 FD *REVERT // Stack delta = -2 // Outputs[2] // { // @147F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x1ab7da6b << 0xe0 // @1480 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]]); // } // Block terminates label_1481: // Incoming jump from 0x12F4, if !memory[stack[-1]:stack[-1] + 0x20] // Inputs[3] // { // @1485 memory[0x40:0x60] // @1490 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]] // @1490 stack[-2] // } 1481 5B JUMPDEST 1482 50 POP 1483 60 PUSH1 0x40 1485 51 MLOAD 1486 63 PUSH4 0xda80cc73 148B 60 PUSH1 0xe0 148D 1B SHL 148E 81 DUP2 148F 52 MSTORE 1490 FD *REVERT // Stack delta = -2 // Outputs[2] // { // @148F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xda80cc73 << 0xe0 // @1490 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]]); // } // Block terminates label_1491: // Incoming call from 0x37CB, returns to 0x37CC // Incoming call from 0x12ED, returns to 0x12EE // Incoming call from 0x1DCB, returns to 0x138C // Incoming call from 0x1D9F, returns to 0x1DA0 // Incoming call from 0x33C0, returns to 0x33C1 // Incoming call from 0x138B, returns to 0x138C // Incoming call from 0x14E2, returns to 0x03D5 // Incoming call from 0x157B, returns to 0x157C // Inputs[4] // { // @1492 stack[-4] // @1492 stack[-1] // @1493 stack[-3] // @1498 stack[-2] // } 1491 5B JUMPDEST 1492 92 SWAP3 1493 91 SWAP2 1494 92 SWAP3 1495 61 PUSH2 0x149d 1498 82 DUP3 1499 61 PUSH2 0x0919 149C 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @1493 stack[-3] = stack[-4] // @1494 stack[-1] = stack[-1] // @1494 stack[-4] = stack[-3] // @1495 stack[0] = 0x149d // @1498 stack[1] = stack[-2] // } // Block ends with call to 0x0919, returns to 0x149D label_149D: // Incoming return from call to 0x0919 at 0x149C // Inputs[3] // { // @149E stack[-3] // @149E stack[-1] // @14A4 memory[0x40:0x60] // } 149D 5B JUMPDEST 149E 91 SWAP2 149F 61 PUSH2 0x14ab 14A2 60 PUSH1 0x40 14A4 51 MLOAD 14A5 93 SWAP4 14A6 84 DUP5 14A7 61 PUSH2 0x08e8 14AA 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @149E stack[-1] = stack[-3] // @149F stack[0] = 0x14ab // @14A5 stack[-3] = memory[0x40:0x60] // @14A5 stack[1] = stack[-1] // @14A6 stack[2] = memory[0x40:0x60] // } // Block ends with call to 0x08e8, returns to 0x14AB label_14AB: // Incoming return from call to 0x08E8 at 0x14AA // Inputs[4] // { // @14AC stack[-3] // @14AD stack[-5] // @14AE stack[-1] // @14B2 stack[-2] // } 14AB 5B JUMPDEST 14AC 82 DUP3 14AD 94 SWAP5 14AE 81 DUP2 14AF 84 DUP5 14B0 52 MSTORE 14B1 81 DUP2 14B2 83 DUP4 14B3 01 ADD 14B4 11 GT 14B5 61 PUSH2 0x000e 14B8 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @14AD stack[-5] = stack[-3] // @14B0 memory[stack[-3]:stack[-3] + 0x20] = stack[-1] // } // Block ends with conditional jump to 0x000e, if stack[-2] + stack[-1] > stack[-5] label_14B9: // Incoming jump from 0x14B8, if not stack[-2] + stack[-1] > stack[-5] // Inputs[5] // { // @14B9 stack[-3] // @14BA stack[-1] // @14BD stack[-2] // @14C3 msg.data[stack[-2]:stack[-2] + stack[-1]] // @14C7 stack[-4] // } 14B9 82 DUP3 14BA 81 DUP2 14BB 60 PUSH1 0x20 14BD 93 SWAP4 14BE 84 DUP5 14BF 60 PUSH1 0x00 14C1 96 SWAP7 14C2 01 ADD 14C3 37 CALLDATACOPY 14C4 01 ADD 14C5 01 ADD 14C6 52 MSTORE 14C7 56 *JUMP // Stack delta = -4 // Outputs[2] // { // @14C3 memory[stack[-3] + 0x20:stack[-3] + 0x20 + stack[-1]] = msg.data[stack[-2]:stack[-2] + stack[-1]] // @14C6 memory[stack[-3] + stack[-1] + 0x20:stack[-3] + stack[-1] + 0x20 + 0x20] = 0x00 // } // Block ends with unconditional jump to stack[-4] label_14C8: // Incoming jump from 0x15C4 // Incoming jump from 0x1519 // Inputs[2] // { // @14C9 stack[-2] // @14C9 stack[-1] // } 14C8 5B JUMPDEST 14C9 90 SWAP1 14CA 80 DUP1 14CB 60 PUSH1 0x1f 14CD 83 DUP4 14CE 01 ADD 14CF 12 SLT 14D0 15 ISZERO 14D1 61 PUSH2 0x000e 14D4 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @14C9 stack[-1] = stack[-2] // @14C9 stack[-2] = stack[-1] // } // Block ends with conditional jump to 0x000e, if !(stack[-1] + 0x1f i< stack[-2]) label_14D5: // Incoming jump from 0x14D4, if not !(stack[-1] + 0x1f i< stack[-2]) // Inputs[2] // { // @14D5 stack[-2] // @14DC msg.data[stack[-2]:stack[-2] + 0x20] // } 14D5 81 DUP2 14D6 60 PUSH1 0x20 14D8 61 PUSH2 0x03d5 14DB 93 SWAP4 14DC 35 CALLDATALOAD 14DD 91 SWAP2 14DE 01 ADD 14DF 61 PUSH2 0x1491 14E2 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @14DB stack[-2] = 0x03d5 // @14DD stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @14DE stack[1] = stack[-2] + 0x20 // } // Block ends with call to 0x1491, returns to 0x03D5 label_14E3: // Incoming jump from 0x01C1 // Inputs[1] { @14E5 msg.value } 14E3 5B JUMPDEST 14E4 50 POP 14E5 34 CALLVALUE 14E6 61 PUSH2 0x000e 14E9 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_14EA: // Incoming jump from 0x14E9, if not msg.value // Inputs[1] { @14EC msg.data.length } 14EA 60 PUSH1 0x20 14EC 36 CALLDATASIZE 14ED 60 PUSH1 0x03 14EF 19 NOT 14F0 01 ADD 14F1 12 SLT 14F2 61 PUSH2 0x000e 14F5 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_14F6: // Incoming jump from 0x14F5, if not ~0x03 + msg.data.length i< 0x20 // Inputs[1] { @14F8 msg.data[0x04:0x24] } 14F6 60 PUSH1 0x04 14F8 35 CALLDATALOAD 14F9 67 PUSH8 0xffffffffffffffff 1502 81 DUP2 1503 11 GT 1504 61 PUSH2 0x000e 1507 57 *JUMPI // Stack delta = +1 // Outputs[1] { @14F8 stack[0] = msg.data[0x04:0x24] } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] > 0xffffffffffffffff label_1508: // Incoming jump from 0x1507, if not msg.data[0x04:0x24] > 0xffffffffffffffff // Inputs[2] // { // @1510 stack[-1] // @1511 msg.data.length // } 1508 61 PUSH2 0x151f 150B 61 PUSH2 0x151a 150E 60 PUSH1 0x20 1510 92 SWAP3 1511 36 CALLDATASIZE 1512 90 SWAP1 1513 60 PUSH1 0x04 1515 01 ADD 1516 61 PUSH2 0x14c8 1519 56 *JUMP // Stack delta = +4 // Outputs[5] // { // @1508 stack[0] = 0x151f // @150B stack[1] = 0x151a // @1510 stack[-1] = 0x20 // @1512 stack[2] = msg.data.length // @1515 stack[3] = 0x04 + stack[-1] // } // Block ends with unconditional jump to 0x14c8 151A 5B JUMPDEST 151B 61 PUSH2 0x15dc 151E 56 *JUMP 151F 5B JUMPDEST 1520 54 SLOAD 1521 60 PUSH1 0x40 1523 51 MLOAD 1524 90 SWAP1 1525 81 DUP2 1526 52 MSTORE 1527 F3 *RETURN label_1528: // Incoming jump from 0x01B8 // Inputs[1] { @1529 msg.value } 1528 5B JUMPDEST 1529 34 CALLVALUE 152A 61 PUSH2 0x000e 152D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if msg.value label_152E: // Incoming jump from 0x152D, if not msg.value // Inputs[1] { @1530 msg.data.length } 152E 60 PUSH1 0x80 1530 36 CALLDATASIZE 1531 60 PUSH1 0x03 1533 19 NOT 1534 01 ADD 1535 12 SLT 1536 61 PUSH2 0x000e 1539 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x80 label_153A: // Incoming jump from 0x1539, if not ~0x03 + msg.data.length i< 0x80 153A 61 PUSH2 0x1541 153D 61 PUSH2 0x051a 1540 56 *JUMP // Stack delta = +1 // Outputs[1] { @153A stack[0] = 0x1541 } // Block ends with call to 0x051a, returns to 0x1541 label_1541: // Incoming return from call to 0x051A at 0x1540 1541 5B JUMPDEST 1542 50 POP 1543 61 PUSH2 0x154a 1546 61 PUSH2 0x0572 1549 56 *JUMP // Stack delta = +0 // Outputs[1] { @1543 stack[-1] = 0x154a } // Block ends with call to 0x0572, returns to 0x154A label_154A: // Incoming return from call to 0x0572 at 0x1549 // Inputs[1] { @154E msg.data[0x64:0x84] } 154A 5B JUMPDEST 154B 50 POP 154C 60 PUSH1 0x64 154E 35 CALLDATALOAD 154F 67 PUSH8 0xffffffffffffffff 1558 81 DUP2 1559 11 GT 155A 61 PUSH2 0x000e 155D 57 *JUMPI // Stack delta = +0 // Outputs[1] { @154E stack[-1] = msg.data[0x64:0x84] } // Block ends with conditional jump to 0x000e, if msg.data[0x64:0x84] > 0xffffffffffffffff label_155E: // Incoming jump from 0x155D, if not msg.data[0x64:0x84] > 0xffffffffffffffff // Inputs[2] // { // @155E msg.data.length // @1561 stack[-1] // } 155E 36 CALLDATASIZE 155F 60 PUSH1 0x23 1561 82 DUP3 1562 01 ADD 1563 12 SLT 1564 15 ISZERO 1565 61 PUSH2 0x000e 1568 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if !(stack[-1] + 0x23 i< msg.data.length) label_1569: // Incoming jump from 0x1568, if not !(stack[-1] + 0x23 i< msg.data.length) // Inputs[3] // { // @156C stack[-1] // @156D msg.data.length // @1575 msg.data[0x04 + stack[-1]:0x04 + stack[-1] + 0x20] // } 1569 61 PUSH2 0x157c 156C 90 SWAP1 156D 36 CALLDATASIZE 156E 90 SWAP1 156F 60 PUSH1 0x24 1571 81 DUP2 1572 60 PUSH1 0x04 1574 01 ADD 1575 35 CALLDATALOAD 1576 91 SWAP2 1577 01 ADD 1578 61 PUSH2 0x1491 157B 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @156C stack[-1] = 0x157c // @156E stack[0] = msg.data.length // @1576 stack[1] = msg.data[0x04 + stack[-1]:0x04 + stack[-1] + 0x20] // @1577 stack[2] = stack[-1] + 0x24 // } // Block ends with call to 0x1491, returns to 0x157C label_157C: // Incoming return from call to 0x1491 at 0x157B 157C 5B JUMPDEST 157D 50 POP 157E 61 PUSH2 0x0917 1581 61 PUSH2 0x19f5 1584 56 *JUMP // Stack delta = +0 // Outputs[1] { @157E stack[-1] = 0x0917 } // Block ends with unconditional jump to 0x19f5 label_1585: // Incoming jump from 0x165D // Incoming jump from 0x1789 // Inputs[2] // { // @1586 stack[-1] // @1586 stack[-2] // } 1585 5B JUMPDEST 1586 90 SWAP1 1587 60 PUSH1 0x40 1589 60 PUSH1 0x03 158B 19 NOT 158C 83 DUP4 158D 01 ADD 158E 12 SLT 158F 61 PUSH2 0x000e 1592 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @1586 stack[-1] = stack[-2] // @1586 stack[-2] = stack[-1] // } // Block ends with conditional jump to 0x000e, if stack[-1] + ~0x03 i< 0x40 label_1593: // Incoming jump from 0x1592, if not stack[-1] + ~0x03 i< 0x40 // Inputs[1] { @1595 msg.data[0x04:0x24] } 1593 60 PUSH1 0x04 1595 35 CALLDATALOAD 1596 60 PUSH1 0x01 1598 60 PUSH1 0x01 159A 60 PUSH1 0xa0 159C 1B SHL 159D 03 SUB 159E 81 DUP2 159F 16 AND 15A0 81 DUP2 15A1 03 SUB 15A2 61 PUSH2 0x000e 15A5 57 *JUMPI // Stack delta = +1 // Outputs[1] { @1595 stack[0] = msg.data[0x04:0x24] } // Block ends with conditional jump to 0x000e, if msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) label_15A6: // Incoming jump from 0x15A5, if not msg.data[0x04:0x24] - (msg.data[0x04:0x24] & (0x01 << 0xa0) - 0x01) // Inputs[3] // { // @15A6 stack[-3] // @15A6 stack[-1] // @15A9 msg.data[0x24:0x44] // } 15A6 91 SWAP2 15A7 60 PUSH1 0x24 15A9 35 CALLDATALOAD 15AA 90 SWAP1 15AB 67 PUSH8 0xffffffffffffffff 15B4 82 DUP3 15B5 11 GT 15B6 61 PUSH2 0x000e 15B9 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @15A6 stack[-3] = stack[-1] // @15AA stack[-1] = msg.data[0x24:0x44] // @15AA stack[0] = stack[-3] // } // Block ends with conditional jump to 0x000e, if msg.data[0x24:0x44] > 0xffffffffffffffff label_15BA: // Incoming jump from 0x15B9, if not msg.data[0x24:0x44] > 0xffffffffffffffff // Inputs[1] { @15BD stack[-2] } 15BA 61 PUSH2 0x03d5 15BD 91 SWAP2 15BE 60 PUSH1 0x04 15C0 01 ADD 15C1 61 PUSH2 0x14c8 15C4 56 *JUMP // Stack delta = +1 // Outputs[2] // { // @15BD stack[-2] = 0x03d5 // @15C0 stack[0] = 0x04 + stack[-2] // } // Block ends with unconditional jump to 0x14c8 15C5 5B JUMPDEST 15C6 90 SWAP1 15C7 61 PUSH2 0x15d8 15CA 60 PUSH1 0x20 15CC 92 SWAP3 15CD 82 DUP3 15CE 81 DUP2 15CF 51 MLOAD 15D0 94 SWAP5 15D1 85 DUP6 15D2 92 SWAP3 15D3 01 ADD 15D4 61 PUSH2 0x037c 15D7 56 *JUMP 15D8 5B JUMPDEST 15D9 01 ADD 15DA 90 SWAP1 15DB 56 *JUMP label_15DC: // Incoming call from 0x3AF3, returns to 0x3AF4 // Inputs[3] // { // @15E2 stack[-1] // @15E6 memory[0x40:0x60] // @15EC memory[stack[-1]:stack[-1] + 0x20] // } 15DC 5B JUMPDEST 15DD 60 PUSH1 0x20 15DF 61 PUSH2 0x15f5 15E2 91 SWAP2 15E3 81 DUP2 15E4 60 PUSH1 0x40 15E6 51 MLOAD 15E7 93 SWAP4 15E8 82 DUP3 15E9 85 DUP6 15EA 80 DUP1 15EB 94 SWAP5 15EC 51 MLOAD 15ED 93 SWAP4 15EE 84 DUP5 15EF 92 SWAP3 15F0 01 ADD 15F1 61 PUSH2 0x037c 15F4 56 *JUMP // Stack delta = +7 // Outputs[8] // { // @15DD stack[0] = 0x20 // @15E7 stack[3] = 0x15f5 // @15E7 stack[-1] = memory[0x40:0x60] // @15E9 stack[5] = memory[0x40:0x60] // @15EB stack[1] = memory[0x40:0x60] // @15ED stack[2] = memory[stack[-1]:stack[-1] + 0x20] // @15EF stack[4] = memory[stack[-1]:stack[-1] + 0x20] // @15F0 stack[6] = stack[-1] + 0x20 // } // Block ends with call to 0x037c, returns to 0x15F5 label_15F5: // Incoming return from call to 0x037C at 0x15F4 // Inputs[6] // { // @15F6 stack[-2] // @15F7 stack[-1] // @15FD stack[-3] // @15FE stack[-4] // @15FF memory[stack[-4]:stack[-4] + (stack[-2] + stack[-1]) - stack[-2] + stack[-3]] // @1600 stack[-5] // } 15F5 5B JUMPDEST 15F6 81 DUP2 15F7 01 ADD 15F8 60 PUSH1 0x09 15FA 81 DUP2 15FB 52 MSTORE 15FC 03 SUB 15FD 01 ADD 15FE 90 SWAP1 15FF 20 SHA3 1600 90 SWAP1 1601 56 *JUMP // Stack delta = -4 // Outputs[2] // { // @15FB memory[stack[-2] + stack[-1]:stack[-2] + stack[-1] + 0x20] = 0x09 // @1600 stack[-5] = keccak256(memory[stack[-4]:stack[-4] + (stack[-2] + stack[-1]) - stack[-2] + stack[-3]]) // } // Block ends with unconditional jump to stack[-5] 1602 5B JUMPDEST 1603 60 PUSH1 0x20 1605 90 SWAP1 1606 61 PUSH2 0x161c 1609 92 SWAP3 160A 82 DUP3 160B 60 PUSH1 0x40 160D 51 MLOAD 160E 94 SWAP5 160F 83 DUP4 1610 86 DUP7 1611 80 DUP1 1612 95 SWAP6 1613 51 MLOAD 1614 93 SWAP4 1615 84 DUP5 1616 92 SWAP3 1617 01 ADD 1618 61 PUSH2 0x037c 161B 56 *JUMP 161C 5B JUMPDEST 161D 82 DUP3 161E 01 ADD 161F 90 SWAP1 1620 81 DUP2 1621 52 MSTORE 1622 03 SUB 1623 01 ADD 1624 90 SWAP1 1625 20 SHA3 1626 90 SWAP1 1627 56 *JUMP 1628 5B JUMPDEST 1629 92 SWAP3 162A 91 SWAP2 162B 90 SWAP1 162C 61 PUSH2 0x163f 162F 60 PUSH1 0x20 1631 91 SWAP2 1632 60 PUSH1 0x40 1634 86 DUP7 1635 52 MSTORE 1636 60 PUSH1 0x40 1638 86 DUP7 1639 01 ADD 163A 90 SWAP1 163B 61 PUSH2 0x039f 163E 56 *JUMP 163F 5B JUMPDEST 1640 93 SWAP4 1641 01 ADD 1642 52 MSTORE 1643 56 *JUMP label_1644: // Incoming jump from 0x01AF // Inputs[1] { @1646 msg.value } 1644 5B JUMPDEST 1645 50 POP 1646 34 CALLVALUE 1647 61 PUSH2 0x000e 164A 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_164B: // Incoming jump from 0x164A, if not msg.value // Inputs[1] { @1659 msg.data.length } 164B 61 PUSH2 0x1673 164E 60 PUSH1 0x01 1650 60 PUSH1 0x01 1652 60 PUSH1 0xa0 1654 1B SHL 1655 03 SUB 1656 61 PUSH2 0x165e 1659 36 CALLDATASIZE 165A 61 PUSH2 0x1585 165D 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @164B stack[0] = 0x1673 // @1655 stack[1] = (0x01 << 0xa0) - 0x01 // @1656 stack[2] = 0x165e // @1659 stack[3] = msg.data.length // } // Block ends with unconditional jump to 0x1585 165E 5B JUMPDEST 165F 91 SWAP2 1660 16 AND 1661 60 PUSH1 0x00 1663 52 MSTORE 1664 60 PUSH1 0x07 1666 60 PUSH1 0x20 1668 52 MSTORE 1669 60 PUSH1 0x40 166B 60 PUSH1 0x00 166D 20 SHA3 166E 90 SWAP1 166F 61 PUSH2 0x1602 1672 56 *JUMP 1673 5B JUMPDEST 1674 60 PUSH1 0x01 1676 61 PUSH2 0x167e 1679 82 DUP3 167A 61 PUSH2 0x1184 167D 56 *JUMP 167E 5B JUMPDEST 167F 91 SWAP2 1680 01 ADD 1681 54 SLOAD 1682 90 SWAP1 1683 61 PUSH2 0x0431 1686 60 PUSH1 0x40 1688 51 MLOAD 1689 92 SWAP3 168A 83 DUP4 168B 92 SWAP3 168C 83 DUP4 168D 61 PUSH2 0x1628 1690 56 *JUMP label_1691: // Incoming jump from 0x01A6 // Inputs[1] { @1693 msg.value } 1691 5B JUMPDEST 1692 50 POP 1693 34 CALLVALUE 1694 61 PUSH2 0x000e 1697 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_1698: // Incoming jump from 0x1697, if not msg.value // Inputs[1] { @169A msg.data.length } 1698 60 PUSH1 0x20 169A 36 CALLDATASIZE 169B 60 PUSH1 0x03 169D 19 NOT 169E 01 ADD 169F 12 SLT 16A0 61 PUSH2 0x000e 16A3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x20 label_16A4: // Incoming jump from 0x16A3, if not ~0x03 + msg.data.length i< 0x20 // Inputs[3] // { // @16A6 msg.data[0x04:0x24] // @16C2 memory[0x00:0x40] // @16C3 storage[keccak256(memory[0x00:0x40])] // } 16A4 60 PUSH1 0x04 16A6 35 CALLDATALOAD 16A7 61 PUSH2 0x16c9 16AA 61 PUSH2 0x06d0 16AD 82 DUP3 16AE 60 PUSH1 0x00 16B0 52 MSTORE 16B1 60 PUSH1 0x02 16B3 60 PUSH1 0x20 16B5 52 MSTORE 16B6 60 PUSH1 0x01 16B8 60 PUSH1 0x01 16BA 60 PUSH1 0xa0 16BC 1B SHL 16BD 03 SUB 16BE 60 PUSH1 0x40 16C0 60 PUSH1 0x00 16C2 20 SHA3 16C3 54 SLOAD 16C4 16 AND 16C5 15 ISZERO 16C6 15 ISZERO 16C7 90 SWAP1 16C8 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @16A6 stack[0] = msg.data[0x04:0x24] // @16A7 stack[1] = 0x16c9 // @16B0 memory[0x00:0x20] = msg.data[0x04:0x24] // @16B5 memory[0x20:0x40] = 0x02 // @16C7 stack[2] = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01) // } // Block ends with call to 0x06d0, returns to 0x16C9 label_16C9: // Incoming return from call to 0x06D0 at 0x16C8 // Inputs[1] { @16CD stack[-1] } 16C9 5B JUMPDEST 16CA 61 PUSH2 0x080d 16CD 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x080d, if stack[-1] label_16CE: // Incoming jump from 0x16CD, if not stack[-1] // Inputs[2] // { // @16E3 stack[-1] // @16F0 memory[0x00:0x40] // } 16CE 61 PUSH2 0x07e5 16D1 61 PUSH2 0x0425 16D4 61 PUSH2 0x07bc 16D7 61 PUSH2 0x079d 16DA 61 PUSH2 0x16f3 16DD 61 PUSH2 0x06fe 16E0 61 PUSH2 0x0431 16E3 96 SWAP7 16E4 60 PUSH1 0x00 16E6 52 MSTORE 16E7 60 PUSH1 0x08 16E9 60 PUSH1 0x20 16EB 52 MSTORE 16EC 60 PUSH1 0x40 16EE 60 PUSH1 0x00 16F0 20 SHA3 16F1 90 SWAP1 16F2 56 *JUMP // Stack delta = +6 // Outputs[9] // { // @16CE stack[0] = 0x07e5 // @16D1 stack[1] = 0x0425 // @16D4 stack[2] = 0x07bc // @16D7 stack[3] = 0x079d // @16DA stack[4] = 0x16f3 // @16E3 stack[-1] = 0x0431 // @16E6 memory[0x00:0x20] = stack[-1] // @16EB memory[0x20:0x40] = 0x08 // @16F1 stack[5] = keccak256(memory[0x00:0x40]) // } // Block ends with call to 0x06fe, returns to 0x16F3 label_16F3: // Incoming return from call to 0x06FE at 0x16F2 // Inputs[1] { @16FD stack[-1] } 16F3 5B JUMPDEST 16F4 61 PUSH2 0x0771 16F7 61 PUSH2 0x1702 16FA 61 PUSH2 0x0743 16FD 83 DUP4 16FE 61 PUSH2 0x1184 1701 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @16F4 stack[0] = 0x0771 // @16F7 stack[1] = 0x1702 // @16FA stack[2] = 0x0743 // @16FD stack[3] = stack[-1] // } // Block ends with call to 0x1184, returns to 0x0743 1702 5B JUMPDEST 1703 90 SWAP1 1704 15 ISZERO 1705 61 PUSH2 0x1719 1708 57 *JUMPI 1709 61 PUSH2 0x0797 170C 61 PUSH2 0x1713 170F 61 PUSH2 0x282c 1712 56 *JUMP 1713 5B JUMPDEST 1714 92 SWAP3 1715 61 PUSH2 0x30ce 1718 56 *JUMP 1719 5B JUMPDEST 171A 61 PUSH2 0x0797 171D 61 PUSH2 0x1713 1720 61 PUSH2 0x27f3 1723 56 *JUMP label_1724: // Incoming jump from 0x0194 // Inputs[1] { @1726 msg.value } 1724 5B JUMPDEST 1725 50 POP 1726 34 CALLVALUE 1727 61 PUSH2 0x000e 172A 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_172B: // Incoming jump from 0x172A, if not msg.value // Inputs[1] { @172D msg.data.length } 172B 60 PUSH1 0x40 172D 36 CALLDATASIZE 172E 60 PUSH1 0x03 1730 19 NOT 1731 01 ADD 1732 12 SLT 1733 61 PUSH2 0x000e 1736 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x40 label_1737: // Incoming jump from 0x1736, if not ~0x03 + msg.data.length i< 0x40 1737 60 PUSH1 0x20 1739 60 PUSH1 0xff 173B 61 PUSH2 0x0c25 173E 61 PUSH2 0x1745 1741 61 PUSH2 0x051a 1744 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @1737 stack[0] = 0x20 // @1739 stack[1] = 0xff // @173B stack[2] = 0x0c25 // @173E stack[3] = 0x1745 // } // Block ends with call to 0x051a, returns to 0x1745 label_1745: // Incoming return from call to 0x051A at 0x1744 1745 5B JUMPDEST 1746 60 PUSH1 0x01 1748 60 PUSH1 0x01 174A 60 PUSH1 0xa0 174C 1B SHL 174D 03 SUB 174E 61 PUSH2 0x1755 1751 61 PUSH2 0x0572 1754 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @174D stack[0] = (0x01 << 0xa0) - 0x01 // @174E stack[1] = 0x1755 // } // Block ends with call to 0x0572, returns to 0x1755 label_1755: // Incoming return from call to 0x0572 at 0x1754 // Inputs[7] // { // @1756 stack[-1] // @1756 stack[-3] // @1757 stack[-2] // @175D stack[-6] // @1763 memory[0x00:0x40] // @1778 memory[0x00:0x40] // @1779 stack[-4] // } 1755 5B JUMPDEST 1756 91 SWAP2 1757 16 AND 1758 60 PUSH1 0x00 175A 52 MSTORE 175B 60 PUSH1 0x05 175D 84 DUP5 175E 52 MSTORE 175F 60 PUSH1 0x40 1761 60 PUSH1 0x00 1763 20 SHA3 1764 90 SWAP1 1765 60 PUSH1 0x01 1767 60 PUSH1 0x01 1769 60 PUSH1 0xa0 176B 1B SHL 176C 03 SUB 176D 16 AND 176E 60 PUSH1 0x00 1770 52 MSTORE 1771 60 PUSH1 0x20 1773 52 MSTORE 1774 60 PUSH1 0x40 1776 60 PUSH1 0x00 1778 20 SHA3 1779 90 SWAP1 177A 56 *JUMP // Stack delta = -3 // Outputs[5] // { // @175A memory[0x00:0x20] = stack[-3] & stack[-2] // @175E memory[stack[-6]:stack[-6] + 0x20] = 0x05 // @1770 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @1773 memory[0x20:0x40] = keccak256(memory[0x00:0x40]) // @1779 stack[-4] = keccak256(memory[0x00:0x40]) // } // Block ends with unconditional jump to stack[-4] label_177B: // Incoming jump from 0x018B // Inputs[1] { @177D msg.value } 177B 5B JUMPDEST 177C 50 POP 177D 34 CALLVALUE 177E 61 PUSH2 0x000e 1781 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_1782: // Incoming jump from 0x1781, if not msg.value // Inputs[1] { @1785 msg.data.length } 1782 61 PUSH2 0x178a 1785 36 CALLDATASIZE 1786 61 PUSH2 0x1585 1789 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @1782 stack[0] = 0x178a // @1785 stack[1] = msg.data.length // } // Block ends with unconditional jump to 0x1585 178A 5B JUMPDEST 178B 61 PUSH2 0x17b0 178E 61 PUSH2 0x17aa 1791 83 DUP4 1792 60 PUSH1 0x01 1794 60 PUSH1 0x01 1796 60 PUSH1 0xa0 1798 1B SHL 1799 03 SUB 179A 16 AND 179B 60 PUSH1 0x00 179D 52 MSTORE 179E 60 PUSH1 0x07 17A0 60 PUSH1 0x20 17A2 52 MSTORE 17A3 60 PUSH1 0x40 17A5 60 PUSH1 0x00 17A7 20 SHA3 17A8 90 SWAP1 17A9 56 *JUMP 17AA 5B JUMPDEST 17AB 82 DUP3 17AC 61 PUSH2 0x1602 17AF 56 *JUMP 17B0 5B JUMPDEST 17B1 60 PUSH1 0x02 17B3 81 DUP2 17B4 01 ADD 17B5 54 SLOAD 17B6 15 ISZERO 17B7 61 PUSH2 0x18a2 17BA 57 *JUMPI 17BB 60 PUSH1 0x01 17BD 01 ADD 17BE 90 SWAP1 17BF 81 DUP2 17C0 54 SLOAD 17C1 80 DUP1 17C2 61 PUSH2 0x186f 17C5 57 *JUMPI 17C6 50 POP 17C7 7F PUSH32 0xec4de1eef14af3ae5d77facf1ed7a9d3d50f6285573ee0ec155fc11217fc3442 17E8 60 PUSH1 0x01 17EA 60 PUSH1 0x01 17EC 60 PUSH1 0xa0 17EE 1B SHL 17EF 03 SUB 17F0 61 PUSH2 0x0431 17F3 94 SWAP5 17F4 60 PUSH1 0x06 17F6 54 SLOAD 17F7 80 DUP1 17F8 95 SWAP6 17F9 61 PUSH2 0x1809 17FC 61 PUSH2 0x1804 17FF 83 DUP4 1800 61 PUSH2 0x22fa 1803 56 *JUMP 1804 5B JUMPDEST 1805 60 PUSH1 0x06 1807 55 SSTORE 1808 56 *JUMP 1809 5B JUMPDEST 180A 55 SSTORE 180B 61 PUSH2 0x1840 180E 61 PUSH2 0x1815 1811 61 PUSH2 0x090a 1814 56 *JUMP 1815 5B JUMPDEST 1816 60 PUSH1 0x01 1818 60 PUSH1 0x01 181A 60 PUSH1 0xa0 181C 1B SHL 181D 03 SUB 181E 83 DUP4 181F 16 AND 1820 81 DUP2 1821 52 MSTORE 1822 85 DUP6 1823 60 PUSH1 0x20 1825 82 DUP3 1826 01 ADD 1827 52 MSTORE 1828 61 PUSH2 0x183b 182B 87 DUP8 182C 60 PUSH1 0x00 182E 52 MSTORE 182F 60 PUSH1 0x08 1831 60 PUSH1 0x20 1833 52 MSTORE 1834 60 PUSH1 0x40 1836 60 PUSH1 0x00 1838 20 SHA3 1839 90 SWAP1 183A 56 *JUMP 183B 5B JUMPDEST 183C 61 PUSH2 0x2312 183F 56 *JUMP 1840 5B JUMPDEST 1841 61 PUSH2 0x184a 1844 85 DUP6 1845 82 DUP3 1846 61 PUSH2 0x241f 1849 56 *JUMP 184A 5B JUMPDEST 184B 61 PUSH2 0x185c 184E 85 DUP6 184F 60 PUSH1 0x40 1851 51 MLOAD 1852 93 SWAP4 1853 84 DUP5 1854 93 SWAP4 1855 16 AND 1856 95 SWAP6 1857 83 DUP4 1858 61 PUSH2 0x1628 185B 56 *JUMP 185C 5B JUMPDEST 185D 03 SUB 185E 90 SWAP1 185F A2 LOG2 1860 60 PUSH1 0x40 1862 51 MLOAD 1863 90 SWAP1 1864 81 DUP2 1865 52 MSTORE 1866 90 SWAP1 1867 81 DUP2 1868 90 SWAP1 1869 60 PUSH1 0x20 186B 82 DUP3 186C 01 ADD 186D 90 SWAP1 186E 56 *JUMP 186F 5B JUMPDEST 1870 60 PUSH1 0x40 1872 51 MLOAD 1873 7F PUSH32 0x198647a000000000000000000000000000000000000000000000000000000000 1894 81 DUP2 1895 52 MSTORE 1896 60 PUSH1 0x04 1898 81 DUP2 1899 01 ADD 189A 91 SWAP2 189B 90 SWAP1 189C 91 SWAP2 189D 52 MSTORE 189E 60 PUSH1 0x24 18A0 90 SWAP1 18A1 FD *REVERT 18A2 5B JUMPDEST 18A3 60 PUSH1 0x04 18A5 60 PUSH1 0x40 18A7 51 MLOAD 18A8 63 PUSH4 0x3bbc6955 18AD 60 PUSH1 0xe2 18AF 1B SHL 18B0 81 DUP2 18B1 52 MSTORE 18B2 FD *REVERT label_18B3: // Incoming jump from 0x0182 // Inputs[1] { @18B5 msg.value } 18B3 5B JUMPDEST 18B4 50 POP 18B5 34 CALLVALUE 18B6 61 PUSH2 0x000e 18B9 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_18BA: // Incoming jump from 0x18B9, if not msg.value // Inputs[1] { @18BC msg.data.length } 18BA 60 PUSH1 0x00 18BC 36 CALLDATASIZE 18BD 60 PUSH1 0x03 18BF 19 NOT 18C0 01 ADD 18C1 12 SLT 18C2 61 PUSH2 0x000e 18C5 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_18C6: // Incoming jump from 0x18C5, if not ~0x03 + msg.data.length i< 0x00 // Inputs[2] // { // @18CA memory[0x40:0x60] // @18F7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 18C6 60 PUSH1 0x20 18C8 60 PUSH1 0x40 18CA 51 MLOAD 18CB 60 PUSH1 0x01 18CD 60 PUSH1 0x01 18CF 60 PUSH1 0xa0 18D1 1B SHL 18D2 03 SUB 18D3 7F PUSH32 0x0000000000000000000000008dbf9a4c99580fc7fd4024ee08f3994420035727 18F4 16 AND 18F5 81 DUP2 18F6 52 MSTORE 18F7 F3 *RETURN // Stack delta = +0 // Outputs[2] // { // @18F6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0000000000000000000000008dbf9a4c99580fc7fd4024ee08f3994420035727 & (0x01 << 0xa0) - 0x01 // @18F7 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]; // } // Block terminates label_18F8: // Incoming jump from 0x0179 // Inputs[1] { @18FA msg.value } 18F8 5B JUMPDEST 18F9 50 POP 18FA 34 CALLVALUE 18FB 61 PUSH2 0x000e 18FE 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x000e, if msg.value label_18FF: // Incoming jump from 0x18FE, if not msg.value // Inputs[1] { @1901 msg.data.length } 18FF 60 PUSH1 0x00 1901 36 CALLDATASIZE 1902 60 PUSH1 0x03 1904 19 NOT 1905 01 ADD 1906 12 SLT 1907 61 PUSH2 0x000e 190A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x000e, if ~0x03 + msg.data.length i< 0x00 label_190B: // Incoming jump from 0x190A, if not ~0x03 + msg.data.length i< 0x00 // Inputs[3] // { // @190F storage[0x06] // @1912 memory[0x40:0x60] // @1916 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 190B 60 PUSH1 0x20 190D 60 PUSH1 0x06 190F 54 SLOAD 1910 60 PUSH1 0x40 1912 51 MLOAD 1913 90 SWAP1 1914 81 DUP2 1915 52 MSTORE 1916 F3 *RETURN // Stack delta = +0 // Outputs[2] // { // @1915 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = storage[0x06] // @1916 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]; // } // Block terminates label_1917: // Incoming jump from 0x04F8 // Incoming call from 0x1983, returns to 0x03D5 // Inputs[1] { @1918 stack[-1] } 1917 5B JUMPDEST 1918 15 ISZERO 1919 61 PUSH2 0x191e 191C 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x191e, if !stack[-1] label_191D: // Incoming jump from 0x191C, if not !stack[-1] // Inputs[1] { @191D stack[-1] } 191D 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_191E: // Incoming jump from 0x191C, if !stack[-1] // Inputs[2] // { // @1923 memory[0x40:0x60] // @1961 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64] // } 191E 5B JUMPDEST 191F 60 PUSH1 0x64 1921 60 PUSH1 0x40 1923 51 MLOAD 1924 62 PUSH3 0x461bcd 1928 60 PUSH1 0xe5 192A 1B SHL 192B 81 DUP2 192C 52 MSTORE 192D 60 PUSH1 0x20 192F 60 PUSH1 0x04 1931 82 DUP3 1932 01 ADD 1933 52 MSTORE 1934 60 PUSH1 0x18 1936 60 PUSH1 0x24 1938 82 DUP3 1939 01 ADD 193A 52 MSTORE 193B 7F PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000 195C 60 PUSH1 0x44 195E 82 DUP3 195F 01 ADD 1960 52 MSTORE 1961 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @192C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @1933 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @193A memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x18 // @1960 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000 // @1961 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64]); // } // Block terminates label_1962: // Incoming call from 0x0CA5, returns to 0x0CA6 // Incoming call from 0x1B82, returns to 0x1B83 // Incoming call from 0x05AD, returns to 0x05AE // Inputs[3] // { // @1965 stack[-1] // @1977 memory[0x00:0x40] // @1978 storage[keccak256(memory[0x00:0x40])] // } 1962 5B JUMPDEST 1963 60 PUSH1 0x00 1965 52 MSTORE 1966 60 PUSH1 0x02 1968 60 PUSH1 0x20 196A 52 MSTORE 196B 60 PUSH1 0x01 196D 60 PUSH1 0x01 196F 60 PUSH1 0xa0 1971 1B SHL 1972 03 SUB 1973 60 PUSH1 0x40 1975 60 PUSH1 0x00 1977 20 SHA3 1978 54 SLOAD 1979 16 AND 197A 61 PUSH2 0x03d5 197D 81 DUP2 197E 15 ISZERO 197F 15 ISZERO 1980 61 PUSH2 0x1917 1983 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @1965 memory[0x00:0x20] = stack[-1] // @196A memory[0x20:0x40] = 0x02 // @1979 stack[-1] = storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01 // @197A stack[0] = 0x03d5 // @197F stack[1] = !!(storage[keccak256(memory[0x00:0x40])] & (0x01 << 0xa0) - 0x01) // } // Block ends with call to 0x1917, returns to 0x03D5 label_1984: // Incoming jump from 0x05DA // Inputs[1] { @1985 stack[-1] } 1984 5B JUMPDEST 1985 15 ISZERO 1986 61 PUSH2 0x198b 1989 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x198b, if !stack[-1] label_198A: // Incoming jump from 0x1989, if not !stack[-1] // Inputs[1] { @198A stack[-1] } 198A 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_198B: // Incoming jump from 0x1989, if !stack[-1] // Inputs[2] // { // @1990 memory[0x40:0x60] // @19F4 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84] // } 198B 5B JUMPDEST 198C 60 PUSH1 0x84 198E 60 PUSH1 0x40 1990 51 MLOAD 1991 62 PUSH3 0x461bcd 1995 60 PUSH1 0xe5 1997 1B SHL 1998 81 DUP2 1999 52 MSTORE 199A 60 PUSH1 0x20 199C 60 PUSH1 0x04 199E 82 DUP3 199F 01 ADD 19A0 52 MSTORE 19A1 60 PUSH1 0x3e 19A3 60 PUSH1 0x24 19A5 82 DUP3 19A6 01 ADD 19A7 52 MSTORE 19A8 7F PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f 19C9 60 PUSH1 0x44 19CB 82 DUP3 19CC 01 ADD 19CD 52 MSTORE 19CE 7F PUSH32 0x6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000 19EF 60 PUSH1 0x64 19F1 82 DUP3 19F2 01 ADD 19F3 52 MSTORE 19F4 FD *REVERT // Stack delta = +0 // Outputs[6] // { // @1999 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @19A0 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @19A7 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x3e // @19CD memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f // @19F3 memory[memory[0x40:0x60] + 0x64:memory[0x40:0x60] + 0x64 + 0x20] = 0x6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000 // @19F4 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84]); // } // Block terminates label_19F5: // Incoming jump from 0x1584 // Incoming jump from 0x0AC5 // Incoming jump from 0x0A79 // Inputs[2] // { // @19FB memory[0x40:0x60] // @1A5F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84] // } 19F5 5B JUMPDEST 19F6 50 POP 19F7 60 PUSH1 0x84 19F9 60 PUSH1 0x40 19FB 51 MLOAD 19FC 62 PUSH3 0x461bcd 1A00 60 PUSH1 0xe5 1A02 1B SHL 1A03 81 DUP2 1A04 52 MSTORE 1A05 60 PUSH1 0x20 1A07 60 PUSH1 0x04 1A09 82 DUP3 1A0A 01 ADD 1A0B 52 MSTORE 1A0C 60 PUSH1 0x2e 1A0E 60 PUSH1 0x24 1A10 82 DUP3 1A11 01 ADD 1A12 52 MSTORE 1A13 7F PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65 1A34 60 PUSH1 0x44 1A36 82 DUP3 1A37 01 ADD 1A38 52 MSTORE 1A39 7F PUSH32 0x72206e6f7220617070726f766564000000000000000000000000000000000000 1A5A 60 PUSH1 0x64 1A5C 82 DUP3 1A5D 01 ADD 1A5E 52 MSTORE 1A5F FD *REVERT // Stack delta = -1 // Outputs[6] // { // @1A04 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @1A0B memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @1A12 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x2e // @1A38 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65 // @1A5E memory[memory[0x40:0x60] + 0x64:memory[0x40:0x60] + 0x64 + 0x20] = 0x72206e6f7220617070726f766564000000000000000000000000000000000000 // @1A5F revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x84]); // } // Block terminates 1A60 5B JUMPDEST 1A61 15 ISZERO 1A62 61 PUSH2 0x1a67 1A65 57 *JUMPI 1A66 56 *JUMP 1A67 5B JUMPDEST 1A68 60 PUSH1 0x40 1A6A 51 MLOAD 1A6B 62 PUSH3 0x461bcd 1A6F 60 PUSH1 0xe5 1A71 1B SHL 1A72 81 DUP2 1A73 52 MSTORE 1A74 60 PUSH1 0x20 1A76 60 PUSH1 0x04 1A78 82 DUP3 1A79 01 ADD 1A7A 52 MSTORE 1A7B 60 PUSH1 0x32 1A7D 60 PUSH1 0x24 1A7F 82 DUP3 1A80 01 ADD 1A81 52 MSTORE 1A82 7F PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 1AA3 60 PUSH1 0x44 1AA5 82 DUP3 1AA6 01 ADD 1AA7 52 MSTORE 1AA8 7F PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 1AC9 60 PUSH1 0x64 1ACB 82 DUP3 1ACC 01 ADD 1ACD 52 MSTORE 1ACE 60 PUSH1 0x84 1AD0 90 SWAP1 1AD1 FD *REVERT label_1AD2: // Incoming jump from 0x2311 // Inputs[1] { @1AE8 memory[0x00:0x24] } 1AD2 5B JUMPDEST 1AD3 50 POP 1AD4 63 PUSH4 0x4e487b71 1AD9 60 PUSH1 0xe0 1ADB 1B SHL 1ADC 60 PUSH1 0x00 1ADE 52 MSTORE 1ADF 60 PUSH1 0x11 1AE1 60 PUSH1 0x04 1AE3 52 MSTORE 1AE4 60 PUSH1 0x24 1AE6 60 PUSH1 0x00 1AE8 FD *REVERT // Stack delta = -1 // Outputs[3] // { // @1ADE memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @1AE3 memory[0x04:0x24] = 0x11 // @1AE8 revert(memory[0x00:0x24]); // } // Block terminates 1AE9 5B JUMPDEST 1AEA 60 PUSH1 0x00 1AEC 19 NOT 1AED 81 DUP2 1AEE 01 ADD 1AEF 91 SWAP2 1AF0 90 SWAP1 1AF1 82 DUP3 1AF2 11 GT 1AF3 61 PUSH2 0x1af8 1AF6 57 *JUMPI 1AF7 56 *JUMP 1AF8 5B JUMPDEST 1AF9 61 PUSH2 0x0917 1AFC 61 PUSH2 0x1ad2 1AFF 56 *JUMP 1B00 5B JUMPDEST 1B01 90 SWAP1 1B02 60 PUSH1 0x01 1B04 82 DUP3 1B05 01 ADD 1B06 80 DUP1 1B07 92 SWAP3 1B08 11 GT 1B09 61 PUSH2 0x1af8 1B0C 57 *JUMPI 1B0D 56 *JUMP 1B0E 5B JUMPDEST 1B0F 90 SWAP1 1B10 60 PUSH1 0x02 1B12 82 DUP3 1B13 01 ADD 1B14 80 DUP1 1B15 92 SWAP3 1B16 11 GT 1B17 61 PUSH2 0x1af8 1B1A 57 *JUMPI 1B1B 56 *JUMP 1B1C 5B JUMPDEST 1B1D 90 SWAP1 1B1E 60 PUSH1 0x20 1B20 82 DUP3 1B21 01 ADD 1B22 80 DUP1 1B23 92 SWAP3 1B24 11 GT 1B25 61 PUSH2 0x1af8 1B28 57 *JUMPI 1B29 56 *JUMP 1B2A 5B JUMPDEST 1B2B 91 SWAP2 1B2C 90 SWAP1 1B2D 82 DUP3 1B2E 01 ADD 1B2F 80 DUP1 1B30 92 SWAP3 1B31 11 GT 1B32 61 PUSH2 0x1af8 1B35 57 *JUMPI 1B36 56 *JUMP label_1B37: // Incoming jump from 0x05DF // Inputs[4] // { // @1B38 stack[-2] // @1B44 stack[-1] // @1B49 memory[0x00:0x40] // @1B6B storage[keccak256(memory[0x00:0x40])] // } 1B37 5B JUMPDEST 1B38 81 DUP2 1B39 60 PUSH1 0x00 1B3B 52 MSTORE 1B3C 60 PUSH1 0x04 1B3E 60 PUSH1 0x20 1B40 52 MSTORE 1B41 61 PUSH2 0x1b71 1B44 81 DUP2 1B45 60 PUSH1 0x40 1B47 60 PUSH1 0x00 1B49 20 SHA3 1B4A 90 SWAP1 1B4B 60 PUSH1 0x01 1B4D 60 PUSH1 0x01 1B4F 60 PUSH1 0xa0 1B51 1B SHL 1B52 03 SUB 1B53 16 AND 1B54 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1B69 19 NOT 1B6A 82 DUP3 1B6B 54 SLOAD 1B6C 16 AND 1B6D 17 OR 1B6E 90 SWAP1 1B6F 55 SSTORE 1B70 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @1B3B memory[0x00:0x20] = stack[-2] // @1B40 memory[0x20:0x40] = 0x04 // @1B6F storage[keccak256(memory[0x00:0x40])] = (storage[keccak256(memory[0x00:0x40])] & ~0xffffffffffffffffffffffffffffffffffffffff) | ((0x01 << 0xa0) - 0x01 & stack[-1]) // } // Block ends with unconditional jump to 0x1b71 label_1B71: // Incoming jump from 0x1B70 // Inputs[1] { @1B7E stack[-2] } 1B71 5B JUMPDEST 1B72 60 PUSH1 0x01 1B74 60 PUSH1 0x01 1B76 60 PUSH1 0xa0 1B78 1B SHL 1B79 03 SUB 1B7A 80 DUP1 1B7B 61 PUSH2 0x1b83 1B7E 84 DUP5 1B7F 61 PUSH2 0x1962 1B82 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @1B79 stack[0] = (0x01 << 0xa0) - 0x01 // @1B7A stack[1] = (0x01 << 0xa0) - 0x01 // @1B7B stack[2] = 0x1b83 // @1B7E stack[3] = stack[-2] // } // Block ends with call to 0x1962, returns to 0x1B83 label_1B83: // Incoming return from call to 0x1962 at 0x1B82 // Inputs[8] // { // @1B84 stack[-1] // @1B84 stack[-2] // @1B85 stack[-4] // @1B86 stack[-3] // @1BAD memory[0x40:0x60] // @1BAE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] // @1BAE stack[-5] // @1BAF stack[-6] // } 1B83 5B JUMPDEST 1B84 16 AND 1B85 91 SWAP2 1B86 16 AND 1B87 90 SWAP1 1B88 7F PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 1BA9 60 PUSH1 0x00 1BAB 60 PUSH1 0x40 1BAD 51 MLOAD 1BAE A4 LOG4 1BAF 56 *JUMP // Stack delta = -6 // Outputs[1] { @1BAE log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, stack[-1] & stack[-2], stack[-4] & stack[-3], stack[-5]]); } // Block ends with unconditional jump to stack[-6] 1BB0 5B JUMPDEST 1BB1 90 SWAP1 1BB2 81 DUP2 1BB3 60 PUSH1 0x20 1BB5 91 SWAP2 1BB6 03 SUB 1BB7 12 SLT 1BB8 61 PUSH2 0x000e 1BBB 57 *JUMPI 1BBC 51 MLOAD 1BBD 61 PUSH2 0x03d5 1BC0 81 DUP2 1BC1 61 PUSH2 0x027f 1BC4 56 *JUMP 1BC5 5B JUMPDEST 1BC6 61 PUSH2 0x03d5 1BC9 93 SWAP4 1BCA 92 SWAP3 1BCB 60 PUSH1 0x01 1BCD 60 PUSH1 0x01 1BCF 60 PUSH1 0xa0 1BD1 1B SHL 1BD2 03 SUB 1BD3 60 PUSH1 0x80 1BD5 93 SWAP4 1BD6 16 AND 1BD7 82 DUP3 1BD8 52 MSTORE 1BD9 60 PUSH1 0x00 1BDB 60 PUSH1 0x20 1BDD 83 DUP4 1BDE 01 ADD 1BDF 52 MSTORE 1BE0 60 PUSH1 0x40 1BE2 82 DUP3 1BE3 01 ADD 1BE4 52 MSTORE 1BE5 81 DUP2 1BE6 60 PUSH1 0x60 1BE8 82 DUP3 1BE9 01 ADD 1BEA 52 MSTORE 1BEB 01 ADD 1BEC 90 SWAP1 1BED 61 PUSH2 0x039f 1BF0 56 *JUMP 1BF1 5B JUMPDEST 1BF2 50 POP 1BF3 60 PUSH1 0x40 1BF5 51 MLOAD 1BF6 3D RETURNDATASIZE 1BF7 60 PUSH1 0x00 1BF9 82 DUP3 1BFA 3E RETURNDATACOPY 1BFB 3D RETURNDATASIZE 1BFC 90 SWAP1 1BFD FD *REVERT 1BFE 5B JUMPDEST 1BFF 3D RETURNDATASIZE 1C00 15 ISZERO 1C01 61 PUSH2 0x1c29 1C04 57 *JUMPI 1C05 3D RETURNDATASIZE 1C06 90 SWAP1 1C07 61 PUSH2 0x1c0f 1C0A 82 DUP3 1C0B 61 PUSH2 0x0919 1C0E 56 *JUMP 1C0F 5B JUMPDEST 1C10 91 SWAP2 1C11 61 PUSH2 0x1c1d 1C14 60 PUSH1 0x40 1C16 51 MLOAD 1C17 93 SWAP4 1C18 84 DUP5 1C19 61 PUSH2 0x08e8 1C1C 56 *JUMP 1C1D 5B JUMPDEST 1C1E 82 DUP3 1C1F 52 MSTORE 1C20 3D RETURNDATASIZE 1C21 60 PUSH1 0x00 1C23 60 PUSH1 0x20 1C25 84 DUP5 1C26 01 ADD 1C27 3E RETURNDATACOPY 1C28 56 *JUMP 1C29 5B JUMPDEST 1C2A 60 PUSH1 0x60 1C2C 90 SWAP1 1C2D 56 *JUMP 1C2E 5B JUMPDEST 1C2F 90 SWAP1 1C30 91 SWAP2 1C31 90 SWAP1 1C32 80 DUP1 1C33 3B EXTCODESIZE 1C34 15 ISZERO 1C35 61 PUSH2 0x1d6a 1C38 57 *JUMPI 1C39 61 PUSH2 0x1c81 1C3C 60 PUSH1 0x20 1C3E 91 SWAP2 1C3F 60 PUSH1 0x01 1C41 60 PUSH1 0x01 1C43 60 PUSH1 0xa0 1C45 1B SHL 1C46 03 SUB 1C47 93 SWAP4 1C48 60 PUSH1 0x00 1C4A 60 PUSH1 0x40 1C4C 51 MLOAD 1C4D 95 SWAP6 1C4E 86 DUP7 1C4F 80 DUP1 1C50 95 SWAP6 1C51 81 DUP2 1C52 94 SWAP5 1C53 7F PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000 1C74 9A SWAP11 1C75 8B DUP12 1C76 84 DUP5 1C77 52 MSTORE 1C78 33 CALLER 1C79 60 PUSH1 0x04 1C7B 85 DUP6 1C7C 01 ADD 1C7D 61 PUSH2 0x1bc5 1C80 56 *JUMP 1C81 5B JUMPDEST 1C82 03 SUB 1C83 93 SWAP4 1C84 16 AND 1C85 5A GAS 1C86 F1 CALL 1C87 60 PUSH1 0x00 1C89 91 SWAP2 1C8A 81 DUP2 1C8B 61 PUSH2 0x1d3a 1C8E 57 *JUMPI 1C8F 5B JUMPDEST 1C90 50 POP 1C91 61 PUSH2 0x1d14 1C94 57 *JUMPI 1C95 61 PUSH2 0x1c9c 1C98 61 PUSH2 0x1bfe 1C9B 56 *JUMP 1C9C 5B JUMPDEST 1C9D 80 DUP1 1C9E 51 MLOAD 1C9F 90 SWAP1 1CA0 81 DUP2 1CA1 61 PUSH2 0x1d0f 1CA4 57 *JUMPI 1CA5 60 PUSH1 0x40 1CA7 51 MLOAD 1CA8 62 PUSH3 0x461bcd 1CAC 60 PUSH1 0xe5 1CAE 1B SHL 1CAF 81 DUP2 1CB0 52 MSTORE 1CB1 60 PUSH1 0x20 1CB3 60 PUSH1 0x04 1CB5 82 DUP3 1CB6 01 ADD 1CB7 52 MSTORE 1CB8 60 PUSH1 0x32 1CBA 60 PUSH1 0x24 1CBC 82 DUP3 1CBD 01 ADD 1CBE 52 MSTORE 1CBF 7F PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 1CE0 60 PUSH1 0x44 1CE2 82 DUP3 1CE3 01 ADD 1CE4 52 MSTORE 1CE5 7F PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 1D06 60 PUSH1 0x64 1D08 82 DUP3 1D09 01 ADD 1D0A 52 MSTORE 1D0B 60 PUSH1 0x84 1D0D 90 SWAP1 1D0E FD *REVERT 1D0F 5B JUMPDEST 1D10 60 PUSH1 0x20 1D12 01 ADD 1D13 FD *REVERT 1D14 5B JUMPDEST 1D15 7F PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 1D36 16 AND 1D37 14 EQ 1D38 90 SWAP1 1D39 56 *JUMP 1D3A 5B JUMPDEST 1D3B 61 PUSH2 0x1d5c 1D3E 91 SWAP2 1D3F 92 SWAP3 1D40 50 POP 1D41 60 PUSH1 0x20 1D43 3D RETURNDATASIZE 1D44 81 DUP2 1D45 11 GT 1D46 61 PUSH2 0x1d63 1D49 57 *JUMPI 1D4A 5B JUMPDEST 1D4B 61 PUSH2 0x1d54 1D4E 81 DUP2 1D4F 83 DUP4 1D50 61 PUSH2 0x08e8 1D53 56 *JUMP 1D54 5B JUMPDEST 1D55 81 DUP2 1D56 01 ADD 1D57 90 SWAP1 1D58 61 PUSH2 0x1bb0 1D5B 56 *JUMP 1D5C 5B JUMPDEST 1D5D 90 SWAP1 1D5E 38 CODESIZE 1D5F 61 PUSH2 0x1c8f 1D62 56 *JUMP 1D63 5B JUMPDEST 1D64 50 POP 1D65 3D RETURNDATASIZE 1D66 61 PUSH2 0x1d4a 1D69 56 *JUMP 1D6A 5B JUMPDEST 1D6B 50 POP 1D6C 50 POP 1D6D 50 POP 1D6E 60 PUSH1 0x01 1D70 90 SWAP1 1D71 56 *JUMP label_1D72: // Incoming jump from 0x1321 // Incoming jump from 0x0C0B // Inputs[7] // { // @1D75 stack[-2] // @1D76 stack[-3] // @1D7A memory[0x40:0x60] // @1D7D stack[-1] // @1D7F msg.data[stack[-1]:stack[-1] + stack[-2]] // @1D88 memory[memory[0x40:0x60]:memory[0x40:0x60] + (memory[0x40:0x60] + stack[-2]) - memory[0x40:0x60] + 0x20] // @1D89 stack[-4] // } 1D72 5B JUMPDEST 1D73 60 PUSH1 0x20 1D75 91 SWAP2 1D76 92 SWAP3 1D77 83 DUP4 1D78 60 PUSH1 0x40 1D7A 51 MLOAD 1D7B 94 SWAP5 1D7C 85 DUP6 1D7D 93 SWAP4 1D7E 84 DUP5 1D7F 37 CALLDATACOPY 1D80 82 DUP3 1D81 01 ADD 1D82 90 SWAP1 1D83 81 DUP2 1D84 52 MSTORE 1D85 03 SUB 1D86 01 ADD 1D87 90 SWAP1 1D88 20 SHA3 1D89 90 SWAP1 1D8A 56 *JUMP // Stack delta = -3 // Outputs[3] // { // @1D7F memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-2]] = msg.data[stack[-1]:stack[-1] + stack[-2]] // @1D84 memory[memory[0x40:0x60] + stack[-2]:memory[0x40:0x60] + stack[-2] + 0x20] = stack[-3] // @1D89 stack[-4] = keccak256(memory[memory[0x40:0x60]:memory[0x40:0x60] + (memory[0x40:0x60] + stack[-2]) - memory[0x40:0x60] + 0x20]) // } // Block ends with unconditional jump to stack[-4] label_1D8B: // Incoming jump from 0x0B9F // Inputs[12] // { // @1D8C stack[-1] // @1D8C stack[-10] // @1D8D stack[-2] // @1D8E stack[-8] // @1D8F stack[-5] // @1D90 stack[-11] // @1D91 stack[-3] // @1D92 stack[-6] // @1D93 stack[-7] // @1D94 stack[-4] // @1D95 stack[-9] // @1D99 msg.data.length // } 1D8B 5B JUMPDEST 1D8C 98 SWAP9 1D8D 90 SWAP1 1D8E 96 SWAP7 1D8F 93 SWAP4 1D90 99 SWAP10 1D91 91 SWAP2 1D92 94 SWAP5 1D93 95 SWAP6 1D94 92 SWAP3 1D95 97 SWAP8 1D96 61 PUSH2 0x1da0 1D99 36 CALLDATASIZE 1D9A 89 DUP10 1D9B 8C DUP13 1D9C 61 PUSH2 0x1491 1D9F 56 *JUMP // Stack delta = +4 // Outputs[15] // { // @1D8C stack[-10] = stack[-1] // @1D8D stack[-2] = stack[-10] // @1D8E stack[-8] = stack[-2] // @1D8F stack[-5] = stack[-8] // @1D90 stack[-11] = stack[-5] // @1D91 stack[-3] = stack[-11] // @1D92 stack[-6] = stack[-3] // @1D93 stack[-7] = stack[-6] // @1D94 stack[-4] = stack[-7] // @1D95 stack[-1] = stack[-9] // @1D95 stack[-9] = stack[-4] // @1D96 stack[0] = 0x1da0 // @1D99 stack[1] = msg.data.length // @1D9A stack[2] = stack[-2] // @1D9B stack[3] = stack[-1] // } // Block ends with call to 0x1491, returns to 0x1DA0 label_1DA0: // Incoming return from call to 0x1491 at 0x1D9F // Inputs[2] // { // @1DA1 memory[stack[-1]:stack[-1] + 0x20] // @1DA1 stack[-1] // } 1DA0 5B JUMPDEST 1DA1 51 MLOAD 1DA2 15 ISZERO 1DA3 61 PUSH2 0x2068 1DA6 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x2068, if !memory[stack[-1]:stack[-1] + 0x20] label_1DA7: // Incoming jump from 0x1DA6, if not !memory[stack[-1]:stack[-1] + 0x20] // Inputs[2] // { // @1DA7 block.timestamp // @1DA8 stack[-4] // } 1DA7 42 TIMESTAMP 1DA8 84 DUP5 1DA9 10 LT 1DAA 61 PUSH2 0x2057 1DAD 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2057, if stack[-4] < block.timestamp label_1DAE: // Incoming jump from 0x1DAD, if not stack[-4] < block.timestamp // Inputs[10] // { // @1DB4 stack[-1] // @1DB5 stack[-8] // @1DB6 stack[-5] // @1DB7 stack[-10] // @1DB8 stack[-4] // @1DB9 stack[-11] // @1DBA stack[-7] // @1DBC stack[-9] // @1DBD stack[-6] // @1DC5 msg.data.length // } 1DAE 61 PUSH2 0x06d0 1DB1 61 PUSH2 0x1dd4 1DB4 91 SWAP2 1DB5 89 DUP10 1DB6 96 SWAP7 1DB7 8C DUP13 1DB8 87 DUP8 1DB9 8F DUP16 1DBA 8C DUP13 1DBB 90 SWAP1 1DBC 8F DUP16 1DBD 8D DUP14 1DBE 61 PUSH2 0x1dcc 1DC1 61 PUSH2 0x138c 1DC4 8F DUP16 1DC5 36 CALLDATASIZE 1DC6 90 SWAP1 1DC7 89 DUP10 1DC8 61 PUSH2 0x1491 1DCB 56 *JUMP // Stack delta = +14 // Outputs[16] // { // @1DAE stack[0] = 0x06d0 // @1DB4 stack[1] = stack[-1] // @1DB4 stack[-1] = 0x1dd4 // @1DB6 stack[2] = stack[-5] // @1DB6 stack[-5] = stack[-8] // @1DB7 stack[3] = stack[-10] // @1DB8 stack[4] = stack[-4] // @1DBB stack[6] = stack[-11] // @1DBB stack[5] = stack[-7] // @1DBC stack[7] = stack[-9] // @1DBD stack[8] = stack[-6] // @1DBE stack[9] = 0x1dcc // @1DC1 stack[10] = 0x138c // @1DC6 stack[12] = stack[-8] // @1DC6 stack[11] = msg.data.length // @1DC7 stack[13] = stack[-10] // } // Block ends with call to 0x1491, returns to 0x138C label_1DCC: // Incoming return from call to 0x138C at 0x1DCB // Inputs[3] // { // @1DCD stack[-15] // @1DCD stack[-1] // @1DCF stack[-7] // } 1DCC 5B JUMPDEST 1DCD 9D SWAP14 1DCE 8E DUP15 1DCF 96 SWAP7 1DD0 61 PUSH2 0x33a0 1DD3 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @1DCD stack[-15] = stack[-1] // @1DCD stack[-1] = stack[-15] // @1DCF stack[-7] = stack[-1] // @1DCF stack[0] = stack[-7] // } // Block ends with unconditional jump to 0x33a0 1DD4 5B JUMPDEST 1DD5 61 PUSH2 0x202d 1DD8 57 *JUMPI 1DD9 61 PUSH2 0x1deb 1DDC 93 SWAP4 1DDD 61 PUSH2 0x06d0 1DE0 93 SWAP4 1DE1 87 DUP8 1DE2 8C DUP13 1DE3 8B DUP12 1DE4 89 DUP10 1DE5 8C DUP13 1DE6 8F DUP16 1DE7 61 PUSH2 0x36e9 1DEA 56 *JUMP 1DEB 5B JUMPDEST 1DEC 61 PUSH2 0x2003 1DEF 57 *JUMPI 1DF0 61 PUSH2 0x1e16 1DF3 61 PUSH2 0x1e0f 1DF6 87 DUP8 1DF7 60 PUSH1 0x01 1DF9 60 PUSH1 0x01 1DFB 60 PUSH1 0xa0 1DFD 1B SHL 1DFE 03 SUB 1DFF 16 AND 1E00 60 PUSH1 0x00 1E02 52 MSTORE 1E03 60 PUSH1 0x07 1E05 60 PUSH1 0x20 1E07 52 MSTORE 1E08 60 PUSH1 0x40 1E0A 60 PUSH1 0x00 1E0C 20 SHA3 1E0D 90 SWAP1 1E0E 56 *JUMP 1E0F 5B JUMPDEST 1E10 84 DUP5 1E11 87 DUP8 1E12 61 PUSH2 0x1d72 1E15 56 *JUMP 1E16 5B JUMPDEST 1E17 60 PUSH1 0x03 1E19 81 DUP2 1E1A 01 ADD 1E1B 90 SWAP1 1E1C 61 PUSH2 0x1e3b 1E1F 61 PUSH2 0x0621 1E22 85 DUP6 1E23 84 DUP5 1E24 90 SWAP1 1E25 60 PUSH1 0x01 1E27 60 PUSH1 0x01 1E29 60 PUSH1 0xa0 1E2B 1B SHL 1E2C 03 SUB 1E2D 16 AND 1E2E 60 PUSH1 0x00 1E30 52 MSTORE 1E31 60 PUSH1 0x20 1E33 52 MSTORE 1E34 60 PUSH1 0x40 1E36 60 PUSH1 0x00 1E38 20 SHA3 1E39 90 SWAP1 1E3A 56 *JUMP 1E3B 5B JUMPDEST 1E3C 61 PUSH2 0x1fc9 1E3F 57 *JUMPI 1E40 83 DUP4 1E41 61 PUSH2 0x1e88 1E44 92 SWAP3 1E45 61 PUSH2 0x0609 1E48 83 DUP4 1E49 61 PUSH2 0x1e56 1E4C 89 DUP10 1E4D 8C DUP13 1E4E 61 PUSH2 0x1e7b 1E51 97 SWAP8 1E52 61 PUSH2 0x20e4 1E55 56 *JUMP 1E56 5B JUMPDEST 1E57 60 PUSH1 0x02 1E59 61 PUSH2 0x1e60 1E5C 61 PUSH2 0x090a 1E5F 56 *JUMP 1E60 5B JUMPDEST 1E61 60 PUSH1 0x01 1E63 60 PUSH1 0x01 1E65 60 PUSH1 0xa0 1E67 1B SHL 1E68 03 SUB 1E69 86 DUP7 1E6A 16 AND 1E6B 81 DUP2 1E6C 52 MSTORE 1E6D 91 SWAP2 1E6E 8B DUP12 1E6F 15 ISZERO 1E70 15 ISZERO 1E71 60 PUSH1 0x20 1E73 84 DUP5 1E74 01 ADD 1E75 52 MSTORE 1E76 01 ADD 1E77 61 PUSH2 0x21f7 1E7A 56 *JUMP 1E7B 5B JUMPDEST 1E7C 80 DUP1 1E7D 54 SLOAD 1E7E 60 PUSH1 0xff 1E80 19 NOT 1E81 16 AND 1E82 60 PUSH1 0x01 1E84 17 OR 1E85 90 SWAP1 1E86 55 SSTORE 1E87 56 *JUMP 1E88 5B JUMPDEST 1E89 80 DUP1 1E8A 61 PUSH2 0x1ed3 1E8D 57 *JUMPI 1E8E 5B JUMPDEST 1E8F 7F PUSH32 0xa86933f16b8c4813c2c4d5eec0ce857a43493a4c101d75a72875bb0c7adb37a5 1EB0 93 SWAP4 1EB1 61 PUSH2 0x1ece 1EB4 91 SWAP2 1EB5 60 PUSH1 0x40 1EB7 51 MLOAD 1EB8 94 SWAP5 1EB9 85 DUP6 1EBA 94 SWAP5 1EBB 60 PUSH1 0x01 1EBD 60 PUSH1 0x01 1EBF 60 PUSH1 0xa0 1EC1 1B SHL 1EC2 03 SUB 1EC3 80 DUP1 1EC4 91 SWAP2 1EC5 16 AND 1EC6 99 SWAP10 1EC7 16 AND 1EC8 97 SWAP8 1EC9 85 DUP6 1ECA 61 PUSH2 0x22c3 1ECD 56 *JUMP 1ECE 5B JUMPDEST 1ECF 03 SUB 1ED0 90 SWAP1 1ED1 A3 LOG3 1ED2 56 *JUMP 1ED3 5B JUMPDEST 1ED4 60 PUSH1 0x40 1ED6 51 MLOAD 1ED7 7F PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 1EF8 81 DUP2 1EF9 52 MSTORE 1EFA 60 PUSH1 0x01 1EFC 60 PUSH1 0x01 1EFE 60 PUSH1 0xa0 1F00 1B SHL 1F01 03 SUB 1F02 80 DUP1 1F03 88 DUP9 1F04 16 AND 1F05 60 PUSH1 0x04 1F07 83 DUP4 1F08 01 ADD 1F09 52 MSTORE 1F0A 83 DUP4 1F0B 16 AND 1F0C 60 PUSH1 0x24 1F0E 82 DUP3 1F0F 01 ADD 1F10 52 MSTORE 1F11 60 PUSH1 0x44 1F13 81 DUP2 1F14 01 ADD 1F15 82 DUP3 1F16 90 SWAP1 1F17 52 MSTORE 1F18 60 PUSH1 0x20 1F1A 81 DUP2 1F1B 80 DUP1 1F1C 60 PUSH1 0x64 1F1E 81 DUP2 1F1F 01 ADD 1F20 03 SUB 1F21 81 DUP2 1F22 60 PUSH1 0x00 1F24 60 PUSH1 0x01 1F26 60 PUSH1 0x01 1F28 60 PUSH1 0xa0 1F2A 1B SHL 1F2B 03 SUB 1F2C 7F PUSH32 0x0000000000000000000000008dbf9a4c99580fc7fd4024ee08f3994420035727 1F4D 16 AND 1F4E 5A GAS 1F4F F1 CALL 1F50 90 SWAP1 1F51 81 DUP2 1F52 15 ISZERO 1F53 61 PUSH2 0x1fbc 1F56 57 *JUMPI 1F57 5B JUMPDEST 1F58 60 PUSH1 0x00 1F5A 91 SWAP2 1F5B 61 PUSH2 0x1f8e 1F5E 57 *JUMPI 1F5F 5B JUMPDEST 1F60 50 POP 1F61 61 PUSH2 0x1e8e 1F64 57 *JUMPI 1F65 60 PUSH1 0x04 1F67 60 PUSH1 0x40 1F69 51 MLOAD 1F6A 7F PUSH32 0xf0e492a300000000000000000000000000000000000000000000000000000000 1F8B 81 DUP2 1F8C 52 MSTORE 1F8D FD *REVERT 1F8E 5B JUMPDEST 1F8F 61 PUSH2 0x1faf 1F92 91 SWAP2 1F93 50 POP 1F94 60 PUSH1 0x20 1F96 3D RETURNDATASIZE 1F97 81 DUP2 1F98 11 GT 1F99 61 PUSH2 0x1fb5 1F9C 57 *JUMPI 1F9D 5B JUMPDEST 1F9E 61 PUSH2 0x1fa7 1FA1 81 DUP2 1FA2 83 DUP4 1FA3 61 PUSH2 0x08e8 1FA6 56 *JUMP 1FA7 5B JUMPDEST 1FA8 81 DUP2 1FA9 01 ADD 1FAA 90 SWAP1 1FAB 61 PUSH2 0x228d 1FAE 56 *JUMP 1FAF 5B JUMPDEST 1FB0 38 CODESIZE 1FB1 61 PUSH2 0x1f5f 1FB4 56 *JUMP 1FB5 5B JUMPDEST 1FB6 50 POP 1FB7 3D RETURNDATASIZE 1FB8 61 PUSH2 0x1f9d 1FBB 56 *JUMP 1FBC 5B JUMPDEST 1FBD 61 PUSH2 0x1fc4 1FC0 61 PUSH2 0x1bf1 1FC3 56 *JUMP 1FC4 5B JUMPDEST 1FC5 61 PUSH2 0x1f57 1FC8 56 *JUMP 1FC9 5B JUMPDEST 1FCA 60 PUSH1 0x40 1FCC 51 MLOAD 1FCD 7F PUSH32 0x74e26d1200000000000000000000000000000000000000000000000000000000 1FEE 81 DUP2 1FEF 52 MSTORE 1FF0 60 PUSH1 0x01 1FF2 60 PUSH1 0x01 1FF4 60 PUSH1 0xa0 1FF6 1B SHL 1FF7 03 SUB 1FF8 85 DUP6 1FF9 16 AND 1FFA 60 PUSH1 0x04 1FFC 82 DUP3 1FFD 01 ADD 1FFE 52 MSTORE 1FFF 60 PUSH1 0x24 2001 90 SWAP1 2002 FD *REVERT 2003 5B JUMPDEST 2004 60 PUSH1 0x04 2006 60 PUSH1 0x40 2008 51 MLOAD 2009 7F PUSH32 0xc524808300000000000000000000000000000000000000000000000000000000 202A 81 DUP2 202B 52 MSTORE 202C FD *REVERT 202D 5B JUMPDEST 202E 60 PUSH1 0x04 2030 60 PUSH1 0x40 2032 51 MLOAD 2033 7F PUSH32 0x9c06bbce00000000000000000000000000000000000000000000000000000000 2054 81 DUP2 2055 52 MSTORE 2056 FD *REVERT label_2057: // Incoming jump from 0x1DAD, if stack[-4] < block.timestamp // Inputs[2] // { // @205C memory[0x40:0x60] // @2067 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04] // } 2057 5B JUMPDEST 2058 60 PUSH1 0x04 205A 60 PUSH1 0x40 205C 51 MLOAD 205D 63 PUSH4 0x1ab7da6b 2062 60 PUSH1 0xe0 2064 1B SHL 2065 81 DUP2 2066 52 MSTORE 2067 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @2066 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x1ab7da6b << 0xe0 // @2067 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04]); // } // Block terminates label_2068: // Incoming jump from 0x1DA6, if !memory[stack[-1]:stack[-1] + 0x20] // Inputs[2] // { // @206D memory[0x40:0x60] // @2078 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04] // } 2068 5B JUMPDEST 2069 60 PUSH1 0x04 206B 60 PUSH1 0x40 206D 51 MLOAD 206E 63 PUSH4 0xda80cc73 2073 60 PUSH1 0xe0 2075 1B SHL 2076 81 DUP2 2077 52 MSTORE 2078 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @2077 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xda80cc73 << 0xe0 // @2078 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x04]); // } // Block terminates 2079 5B JUMPDEST 207A 50 POP 207B 63 PUSH4 0x4e487b71 2080 60 PUSH1 0xe0 2082 1B SHL 2083 60 PUSH1 0x00 2085 52 MSTORE 2086 60 PUSH1 0x00 2088 60 PUSH1 0x04 208A 52 MSTORE 208B 60 PUSH1 0x24 208D 60 PUSH1 0x00 208F FD *REVERT 2090 5B JUMPDEST 2091 90 SWAP1 2092 60 PUSH1 0x1f 2094 81 DUP2 2095 11 GT 2096 61 PUSH2 0x209e 2099 57 *JUMPI 209A 50 POP 209B 50 POP 209C 50 POP 209D 56 *JUMP 209E 5B JUMPDEST 209F 60 PUSH1 0x00 20A1 91 SWAP2 20A2 82 DUP3 20A3 52 MSTORE 20A4 60 PUSH1 0x20 20A6 82 DUP3 20A7 20 SHA3 20A8 90 SWAP1 20A9 60 PUSH1 0x20 20AB 60 PUSH1 0x1f 20AD 85 DUP6 20AE 01 ADD 20AF 60 PUSH1 0x05 20B1 1C SHR 20B2 83 DUP4 20B3 01 ADD 20B4 94 SWAP5 20B5 10 LT 20B6 61 PUSH2 0x20da 20B9 57 *JUMPI 20BA 5B JUMPDEST 20BB 60 PUSH1 0x1f 20BD 01 ADD 20BE 60 PUSH1 0x05 20C0 1C SHR 20C1 01 ADD 20C2 91 SWAP2 20C3 5B JUMPDEST 20C4 82 DUP3 20C5 81 DUP2 20C6 10 LT 20C7 61 PUSH2 0x20cf 20CA 57 *JUMPI 20CB 50 POP 20CC 50 POP 20CD 50 POP 20CE 56 *JUMP 20CF 5B JUMPDEST 20D0 81 DUP2 20D1 81 DUP2 20D2 55 SSTORE 20D3 60 PUSH1 0x01 20D5 01 ADD 20D6 61 PUSH2 0x20c3 20D9 56 *JUMP 20DA 5B JUMPDEST 20DB 90 SWAP1 20DC 92 SWAP3 20DD 50 POP 20DE 82 DUP3 20DF 90 SWAP1 20E0 61 PUSH2 0x20ba 20E3 56 *JUMP 20E4 5B JUMPDEST 20E5 90 SWAP1 20E6 92 SWAP3 20E7 91 SWAP2 20E8 67 PUSH8 0xffffffffffffffff 20F1 81 DUP2 20F2 11 GT 20F3 61 PUSH2 0x21ad 20F6 57 *JUMPI 20F7 5B JUMPDEST 20F8 61 PUSH2 0x210b 20FB 81 DUP2 20FC 61 PUSH2 0x2105 20FF 84 DUP5 2100 54 SLOAD 2101 61 PUSH2 0x114a 2104 56 *JUMP 2105 5B JUMPDEST 2106 84 DUP5 2107 61 PUSH2 0x2090 210A 56 *JUMP 210B 5B JUMPDEST 210C 60 PUSH1 0x00 210E 60 PUSH1 0x1f 2110 82 DUP3 2111 11 GT 2112 60 PUSH1 0x01 2114 14 EQ 2115 61 PUSH2 0x2145 2118 57 *JUMPI 2119 81 DUP2 211A 92 SWAP3 211B 93 SWAP4 211C 94 SWAP5 211D 60 PUSH1 0x00 211F 92 SWAP3 2120 61 PUSH2 0x213a 2123 57 *JUMPI 2124 5B JUMPDEST 2125 50 POP 2126 50 POP 2127 81 DUP2 2128 60 PUSH1 0x01 212A 1B SHL 212B 91 SWAP2 212C 60 PUSH1 0x00 212E 19 NOT 212F 90 SWAP1 2130 60 PUSH1 0x03 2132 1B SHL 2133 1C SHR 2134 19 NOT 2135 16 AND 2136 17 OR 2137 90 SWAP1 2138 55 SSTORE 2139 56 *JUMP 213A 5B JUMPDEST 213B 01 ADD 213C 35 CALLDATALOAD 213D 90 SWAP1 213E 50 POP 213F 38 CODESIZE 2140 80 DUP1 2141 61 PUSH2 0x2124 2144 56 *JUMP 2145 5B JUMPDEST 2146 60 PUSH1 0x1f 2148 19 NOT 2149 82 DUP3 214A 16 AND 214B 94 SWAP5 214C 61 PUSH2 0x215a 214F 84 DUP5 2150 60 PUSH1 0x00 2152 52 MSTORE 2153 60 PUSH1 0x20 2155 60 PUSH1 0x00 2157 20 SHA3 2158 90 SWAP1 2159 56 *JUMP 215A 5B JUMPDEST 215B 91 SWAP2 215C 80 DUP1 215D 5B JUMPDEST 215E 87 DUP8 215F 81 DUP2 2160 10 LT 2161 61 PUSH2 0x2195 2164 57 *JUMPI 2165 50 POP 2166 83 DUP4 2167 60 PUSH1 0x01 2169 95 SWAP6 216A 96 SWAP7 216B 97 SWAP8 216C 10 LT 216D 61 PUSH2 0x217b 2170 57 *JUMPI 2171 5B JUMPDEST 2172 50 POP 2173 50 POP 2174 50 POP 2175 81 DUP2 2176 1B SHL 2177 01 ADD 2178 90 SWAP1 2179 55 SSTORE 217A 56 *JUMP 217B 5B JUMPDEST 217C 01 ADD 217D 35 CALLDATALOAD 217E 60 PUSH1 0x00 2180 19 NOT 2181 60 PUSH1 0x03 2183 84 DUP5 2184 90 SWAP1 2185 1B SHL 2186 60 PUSH1 0xf8 2188 16 AND 2189 1C SHR 218A 19 NOT 218B 16 AND 218C 90 SWAP1 218D 55 SSTORE 218E 38 CODESIZE 218F 80 DUP1 2190 80 DUP1 2191 61 PUSH2 0x2171 2194 56 *JUMP 2195 5B JUMPDEST 2196 90 SWAP1 2197 92 SWAP3 2198 60 PUSH1 0x20 219A 60 PUSH1 0x01 219C 81 DUP2 219D 92 SWAP3 219E 86 DUP7 219F 86 DUP7 21A0 01 ADD 21A1 35 CALLDATALOAD 21A2 81 DUP2 21A3 55 SSTORE 21A4 01 ADD 21A5 94 SWAP5 21A6 01 ADD 21A7 91 SWAP2 21A8 01 ADD 21A9 61 PUSH2 0x215d 21AC 56 *JUMP 21AD 5B JUMPDEST 21AE 61 PUSH2 0x21b5 21B1 61 PUSH2 0x0837 21B4 56 *JUMP 21B5 5B JUMPDEST 21B6 61 PUSH2 0x20f7 21B9 56 *JUMP label_21BA: // Incoming jump from 0x21F1 // Incoming jump from 0x3279 // Inputs[1] { @21D0 memory[0x00:0x24] } 21BA 5B JUMPDEST 21BB 50 POP 21BC 63 PUSH4 0x4e487b71 21C1 60 PUSH1 0xe0 21C3 1B SHL 21C4 60 PUSH1 0x00 21C6 52 MSTORE 21C7 60 PUSH1 0x32 21C9 60 PUSH1 0x04 21CB 52 MSTORE 21CC 60 PUSH1 0x24 21CE 60 PUSH1 0x00 21D0 FD *REVERT // Stack delta = -1 // Outputs[3] // { // @21C6 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @21CB memory[0x04:0x24] = 0x32 // @21D0 revert(memory[0x00:0x24]); // } // Block terminates label_21D1: // Incoming call from 0x38AD, returns to 0x38AE // Incoming call from 0x38DA, returns to 0x38DB // Inputs[3] // { // @21D2 stack[-1] // @21D3 storage[stack[-1]] // @21D4 stack[-2] // } 21D1 5B JUMPDEST 21D2 80 DUP1 21D3 54 SLOAD 21D4 82 DUP3 21D5 10 LT 21D6 15 ISZERO 21D7 61 PUSH2 0x21ea 21DA 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x21ea, if !(stack[-2] < storage[stack[-1]]) label_21DB: // Incoming jump from 0x21DA, if not !(stack[-2] < storage[stack[-1]]) // Inputs[4] // { // @21DE stack[-1] // @21E3 memory[0x00:0x20] // @21E4 stack[-2] // @21E5 stack[-3] // } 21DB 5B JUMPDEST 21DC 60 PUSH1 0x00 21DE 52 MSTORE 21DF 60 PUSH1 0x20 21E1 60 PUSH1 0x00 21E3 20 SHA3 21E4 01 ADD 21E5 90 SWAP1 21E6 60 PUSH1 0x00 21E8 90 SWAP1 21E9 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @21DE memory[0x00:0x20] = stack[-1] // @21E5 stack[-3] = keccak256(memory[0x00:0x20]) + stack[-2] // @21E8 stack[-2] = 0x00 // } // Block ends with unconditional jump to stack[-3] label_21EA: // Incoming jump from 0x21DA, if !(stack[-2] < storage[stack[-1]]) 21EA 5B JUMPDEST 21EB 61 PUSH2 0x21f2 21EE 61 PUSH2 0x21ba 21F1 56 *JUMP // Stack delta = +1 // Outputs[1] { @21EB stack[0] = 0x21f2 } // Block ends with unconditional jump to 0x21ba 21F2 5B JUMPDEST 21F3 61 PUSH2 0x21db 21F6 56 *JUMP 21F7 5B JUMPDEST 21F8 90 SWAP1 21F9 60 PUSH1 0x20 21FB 61 PUSH2 0x2221 21FE 61 PUSH2 0x0917 2201 93 SWAP4 2202 80 DUP1 2203 54 SLOAD 2204 90 SWAP1 2205 68 PUSH9 0x010000000000000000 220F 82 DUP3 2210 10 LT 2211 15 ISZERO 2212 61 PUSH2 0x2280 2215 57 *JUMPI 2216 5B JUMPDEST 2217 60 PUSH1 0x01 2219 82 DUP3 221A 01 ADD 221B 81 DUP2 221C 55 SSTORE 221D 61 PUSH2 0x21d1 2220 56 *JUMP 2221 5B JUMPDEST 2222 92 SWAP3 2223 90 SWAP1 2224 92 SWAP3 2225 61 PUSH2 0x2273 2228 57 *JUMPI 2229 5B JUMPDEST 222A 80 DUP1 222B 51 MLOAD 222C 83 DUP4 222D 54 SLOAD 222E 92 SWAP3 222F 90 SWAP1 2230 91 SWAP2 2231 01 ADD 2232 51 MLOAD 2233 60 PUSH1 0xff 2235 60 PUSH1 0xa0 2237 1B SHL 2238 90 SWAP1 2239 15 ISZERO 223A 15 ISZERO 223B 60 PUSH1 0xa0 223D 1B SHL 223E 16 AND 223F 7F PUSH32 0xffffffffffffffffffffff000000000000000000000000000000000000000000 2260 90 SWAP1 2261 92 SWAP3 2262 16 AND 2263 60 PUSH1 0x01 2265 60 PUSH1 0x01 2267 60 PUSH1 0xa0 2269 1B SHL 226A 03 SUB 226B 90 SWAP1 226C 91 SWAP2 226D 16 AND 226E 17 OR 226F 17 OR 2270 90 SWAP1 2271 55 SSTORE 2272 56 *JUMP 2273 5B JUMPDEST 2274 61 PUSH2 0x227b 2277 61 PUSH2 0x2079 227A 56 *JUMP 227B 5B JUMPDEST 227C 61 PUSH2 0x2229 227F 56 *JUMP 2280 5B JUMPDEST 2281 61 PUSH2 0x2288 2284 61 PUSH2 0x0837 2287 56 *JUMP 2288 5B JUMPDEST 2289 61 PUSH2 0x2216 228C 56 *JUMP 228D 5B JUMPDEST 228E 90 SWAP1 228F 81 DUP2 2290 60 PUSH1 0x20 2292 91 SWAP2 2293 03 SUB 2294 12 SLT 2295 61 PUSH2 0x000e 2298 57 *JUMPI 2299 51 MLOAD 229A 61 PUSH2 0x03d5 229D 81 DUP2 229E 61 PUSH2 0x0af4 22A1 56 *JUMP 22A2 5B JUMPDEST 22A3 90 SWAP1 22A4 80 DUP1 22A5 60 PUSH1 0x20 22A7 93 SWAP4 22A8 92 SWAP3 22A9 81 DUP2 22AA 84 DUP5 22AB 52 MSTORE 22AC 84 DUP5 22AD 84 DUP5 22AE 01 ADD 22AF 37 CALLDATACOPY 22B0 60 PUSH1 0x00 22B2 82 DUP3 22B3 82 DUP3 22B4 01 ADD 22B5 84 DUP5 22B6 01 ADD 22B7 52 MSTORE 22B8 60 PUSH1 0x1f 22BA 01 ADD 22BB 60 PUSH1 0x1f 22BD 19 NOT 22BE 16 AND 22BF 01 ADD 22C0 01 ADD 22C1 90 SWAP1 22C2 56 *JUMP 22C3 5B JUMPDEST 22C4 92 SWAP3 22C5 94 SWAP5 22C6 93 SWAP4 22C7 90 SWAP1 22C8 61 PUSH2 0x22dc 22CB 90 SWAP1 22CC 60 PUSH1 0x40 22CE 93 SWAP4 22CF 60 PUSH1 0x60 22D1 86 DUP7 22D2 52 MSTORE 22D3 60 PUSH1 0x60 22D5 86 DUP7 22D6 01 ADD 22D7 91 SWAP2 22D8 61 PUSH2 0x22a2 22DB 56 *JUMP 22DC 5B JUMPDEST 22DD 94 SWAP5 22DE 60 PUSH1 0x20 22E0 84 DUP5 22E1 01 ADD 22E2 52 MSTORE 22E3 15 ISZERO 22E4 15 ISZERO 22E5 91 SWAP2 22E6 01 ADD 22E7 52 MSTORE 22E8 56 *JUMP 22E9 5B JUMPDEST 22EA 91 SWAP2 22EB 60 PUSH1 0x20 22ED 61 PUSH2 0x03d5 22F0 93 SWAP4 22F1 81 DUP2 22F2 81 DUP2 22F3 52 MSTORE 22F4 01 ADD 22F5 91 SWAP2 22F6 61 PUSH2 0x22a2 22F9 56 *JUMP label_22FA: // Incoming call from 0x38CA, returns to 0x38CB // Incoming jump from 0x3AE5 // Inputs[1] { @22FD stack[-1] } 22FA 5B JUMPDEST 22FB 60 PUSH1 0x01 22FD 90 SWAP1 22FE 60 PUSH1 0x00 2300 19 NOT 2301 81 DUP2 2302 14 EQ 2303 61 PUSH2 0x230a 2306 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @22FD stack[0] = stack[-1] // @22FD stack[-1] = 0x01 // } // Block ends with conditional jump to 0x230a, if stack[-1] == ~0x00 label_2307: // Incoming jump from 0x2306, if not stack[-1] == ~0x00 // Inputs[3] // { // @2307 stack[-2] // @2307 stack[-1] // @2308 stack[-3] // } 2307 01 ADD 2308 90 SWAP1 2309 56 *JUMP // Stack delta = -2 // Outputs[1] { @2308 stack[-3] = stack[-1] + stack[-2] } // Block ends with unconditional jump to stack[-3] label_230A: // Incoming jump from 0x2306, if stack[-1] == ~0x00 230A 5B JUMPDEST 230B 61 PUSH2 0x15d8 230E 61 PUSH2 0x1ad2 2311 56 *JUMP // Stack delta = +1 // Outputs[1] { @230B stack[0] = 0x15d8 } // Block ends with unconditional jump to 0x1ad2 2312 5B JUMPDEST 2313 81 DUP2 2314 51 MLOAD 2315 81 DUP2 2316 54 SLOAD 2317 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 232C 19 NOT 232D 16 AND 232E 60 PUSH1 0x01 2330 60 PUSH1 0x01 2332 60 PUSH1 0xa0 2334 1B SHL 2335 03 SUB 2336 91 SWAP2 2337 90 SWAP1 2338 91 SWAP2 2339 16 AND 233A 17 OR 233B 81 DUP2 233C 55 SSTORE 233D 60 PUSH1 0x01 233F 80 DUP1 2340 91 SWAP2 2341 01 ADD 2342 91 SWAP2 2343 60 PUSH1 0x20 2345 80 DUP1 2346 91 SWAP2 2347 01 ADD 2348 51 MLOAD 2349 90 SWAP1 234A 81 DUP2 234B 51 MLOAD 234C 91 SWAP2 234D 67 PUSH8 0xffffffffffffffff 2356 83 DUP4 2357 11 GT 2358 61 PUSH2 0x2412 235B 57 *JUMPI 235C 5B JUMPDEST 235D 61 PUSH2 0x2370 2360 83 DUP4 2361 61 PUSH2 0x236a 2364 87 DUP8 2365 54 SLOAD 2366 61 PUSH2 0x114a 2369 56 *JUMP 236A 5B JUMPDEST 236B 87 DUP8 236C 61 PUSH2 0x2090 236F 56 *JUMP 2370 5B JUMPDEST 2371 81 DUP2 2372 60 PUSH1 0x1f 2374 84 DUP5 2375 11 GT 2376 60 PUSH1 0x01 2378 14 EQ 2379 61 PUSH2 0x23a9 237C 57 *JUMPI 237D 50 POP 237E 92 SWAP3 237F 82 DUP3 2380 93 SWAP4 2381 91 SWAP2 2382 83 DUP4 2383 92 SWAP3 2384 60 PUSH1 0x00 2386 94 SWAP5 2387 61 PUSH2 0x239e 238A 57 *JUMPI 238B 5B JUMPDEST 238C 50 POP 238D 50 POP 238E 1B SHL 238F 91 SWAP2 2390 60 PUSH1 0x00 2392 19 NOT 2393 90 SWAP1 2394 60 PUSH1 0x03 2396 1B SHL 2397 1C SHR 2398 19 NOT 2399 16 AND 239A 17 OR 239B 90 SWAP1 239C 55 SSTORE 239D 56 *JUMP 239E 5B JUMPDEST 239F 01 ADD 23A0 51 MLOAD 23A1 92 SWAP3 23A2 50 POP 23A3 38 CODESIZE 23A4 80 DUP1 23A5 61 PUSH2 0x238b 23A8 56 *JUMP 23A9 5B JUMPDEST 23AA 91 SWAP2 23AB 90 SWAP1 23AC 83 DUP4 23AD 60 PUSH1 0x1f 23AF 19 NOT 23B0 81 DUP2 23B1 16 AND 23B2 61 PUSH2 0x23c0 23B5 88 DUP9 23B6 60 PUSH1 0x00 23B8 52 MSTORE 23B9 60 PUSH1 0x20 23BB 60 PUSH1 0x00 23BD 20 SHA3 23BE 90 SWAP1 23BF 56 *JUMP 23C0 5B JUMPDEST 23C1 94 SWAP5 23C2 60 PUSH1 0x00 23C4 90 SWAP1 23C5 5B JUMPDEST 23C6 88 DUP9 23C7 83 DUP4 23C8 83 DUP4 23C9 10 LT 23CA 61 PUSH2 0x23f8 23CD 57 *JUMPI 23CE 50 POP 23CF 50 POP 23D0 50 POP 23D1 10 LT 23D2 61 PUSH2 0x23df 23D5 57 *JUMPI 23D6 50 POP 23D7 50 POP 23D8 50 POP 23D9 81 DUP2 23DA 1B SHL 23DB 01 ADD 23DC 90 SWAP1 23DD 55 SSTORE 23DE 56 *JUMP 23DF 5B JUMPDEST 23E0 01 ADD 23E1 51 MLOAD 23E2 60 PUSH1 0x00 23E4 19 NOT 23E5 60 PUSH1 0xf8 23E7 84 DUP5 23E8 60 PUSH1 0x03 23EA 1B SHL 23EB 16 AND 23EC 1C SHR 23ED 19 NOT 23EE 16 AND 23EF 90 SWAP1 23F0 55 SSTORE 23F1 38 CODESIZE 23F2 80 DUP1 23F3 80 DUP1 23F4 61 PUSH2 0x2171 23F7 56 *JUMP 23F8 5B JUMPDEST 23F9 85 DUP6 23FA 87 DUP8 23FB 01 ADD 23FC 51 MLOAD 23FD 88 DUP9 23FE 55 SSTORE 23FF 90 SWAP1 2400 96 SWAP7 2401 01 ADD 2402 95 SWAP6 2403 94 SWAP5 2404 85 DUP6 2405 01 ADD 2406 94 SWAP5 2407 87 DUP8 2408 93 SWAP4 2409 50 POP 240A 90 SWAP1 240B 81 DUP2 240C 01 ADD 240D 90 SWAP1 240E 61 PUSH2 0x23c5 2411 56 *JUMP 2412 5B JUMPDEST 2413 61 PUSH2 0x241a 2416 61 PUSH2 0x0837 2419 56 *JUMP 241A 5B JUMPDEST 241B 61 PUSH2 0x235c 241E 56 *JUMP 241F 5B JUMPDEST 2420 90 SWAP1 2421 60 PUSH1 0x40 2423 51 MLOAD 2424 61 PUSH2 0x242c 2427 81 DUP2 2428 61 PUSH2 0x0893 242B 56 *JUMP 242C 5B JUMPDEST 242D 60 PUSH1 0x00 242F 81 DUP2 2430 52 MSTORE 2431 60 PUSH1 0x01 2433 60 PUSH1 0x01 2435 60 PUSH1 0xa0 2437 1B SHL 2438 03 SUB 2439 83 DUP4 243A 16 AND 243B 91 SWAP2 243C 82 DUP3 243D 15 ISZERO 243E 61 PUSH2 0x254d 2441 57 *JUMPI 2442 61 PUSH2 0x2461 2445 81 DUP2 2446 60 PUSH1 0x00 2448 52 MSTORE 2449 60 PUSH1 0x02 244B 60 PUSH1 0x20 244D 52 MSTORE 244E 60 PUSH1 0x01 2450 60 PUSH1 0x01 2452 60 PUSH1 0xa0 2454 1B SHL 2455 03 SUB 2456 60 PUSH1 0x40 2458 60 PUSH1 0x00 245A 20 SHA3 245B 54 SLOAD 245C 16 AND 245D 15 ISZERO 245E 15 ISZERO 245F 90 SWAP1 2460 56 *JUMP 2461 5B JUMPDEST 2462 61 PUSH2 0x2509 2465 57 *JUMPI 2466 83 DUP4 2467 81 DUP2 2468 61 PUSH2 0x2504 246B 94 SWAP5 246C 61 PUSH2 0x248b 246F 61 PUSH2 0x0917 2472 97 SWAP8 2473 60 PUSH1 0x01 2475 60 PUSH1 0x01 2477 60 PUSH1 0xa0 2479 1B SHL 247A 03 SUB 247B 16 AND 247C 60 PUSH1 0x00 247E 52 MSTORE 247F 60 PUSH1 0x03 2481 60 PUSH1 0x20 2483 52 MSTORE 2484 60 PUSH1 0x40 2486 60 PUSH1 0x00 2488 20 SHA3 2489 90 SWAP1 248A 56 *JUMP 248B 5B JUMPDEST 248C 61 PUSH2 0x2495 248F 81 DUP2 2490 54 SLOAD 2491 61 PUSH2 0x1b00 2494 56 *JUMP 2495 5B JUMPDEST 2496 90 SWAP1 2497 55 SSTORE 2498 61 PUSH2 0x24d7 249B 83 DUP4 249C 61 PUSH2 0x24af 249F 84 DUP5 24A0 60 PUSH1 0x00 24A2 52 MSTORE 24A3 60 PUSH1 0x02 24A5 60 PUSH1 0x20 24A7 52 MSTORE 24A8 60 PUSH1 0x40 24AA 60 PUSH1 0x00 24AC 20 SHA3 24AD 90 SWAP1 24AE 56 *JUMP 24AF 5B JUMPDEST 24B0 90 SWAP1 24B1 60 PUSH1 0x01 24B3 60 PUSH1 0x01 24B5 60 PUSH1 0xa0 24B7 1B SHL 24B8 03 SUB 24B9 16 AND 24BA 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 24CF 19 NOT 24D0 82 DUP3 24D1 54 SLOAD 24D2 16 AND 24D3 17 OR 24D4 90 SWAP1 24D5 55 SSTORE 24D6 56 *JUMP 24D7 5B JUMPDEST 24D8 60 PUSH1 0x00 24DA 7F PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 24FB 81 DUP2 24FC 60 PUSH1 0x40 24FE 51 MLOAD 24FF A4 LOG4 2500 61 PUSH2 0x1c2e 2503 56 *JUMP 2504 5B JUMPDEST 2505 61 PUSH2 0x1a60 2508 56 *JUMP 2509 5B JUMPDEST 250A 60 PUSH1 0x64 250C 60 PUSH1 0x40 250E 51 MLOAD 250F 62 PUSH3 0x461bcd 2513 60 PUSH1 0xe5 2515 1B SHL 2516 81 DUP2 2517 52 MSTORE 2518 60 PUSH1 0x20 251A 60 PUSH1 0x04 251C 82 DUP3 251D 01 ADD 251E 52 MSTORE 251F 60 PUSH1 0x1c 2521 60 PUSH1 0x24 2523 82 DUP3 2524 01 ADD 2525 52 MSTORE 2526 7F PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 2547 60 PUSH1 0x44 2549 82 DUP3 254A 01 ADD 254B 52 MSTORE 254C FD *REVERT 254D 5B JUMPDEST 254E 60 PUSH1 0x64 2550 60 PUSH1 0x40 2552 51 MLOAD 2553 62 PUSH3 0x461bcd 2557 60 PUSH1 0xe5 2559 1B SHL 255A 81 DUP2 255B 52 MSTORE 255C 60 PUSH1 0x20 255E 60 PUSH1 0x04 2560 82 DUP3 2561 01 ADD 2562 52 MSTORE 2563 60 PUSH1 0x20 2565 60 PUSH1 0x24 2567 82 DUP3 2568 01 ADD 2569 52 MSTORE 256A 7F PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373 258B 60 PUSH1 0x44 258D 82 DUP3 258E 01 ADD 258F 52 MSTORE 2590 FD *REVERT label_2591: // Incoming call from 0x3852, returns to 0x3853 // Incoming call from 0x3852, returns to 0x3853 // Incoming call from 0x0A95, returns to 0x0A96 // Inputs[1] { @25BC address(this) } 2591 5B JUMPDEST 2592 60 PUSH1 0x01 2594 60 PUSH1 0x01 2596 60 PUSH1 0xa0 2598 1B SHL 2599 03 SUB 259A 7F PUSH32 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 25BB 16 AND 25BC 30 ADDRESS 25BD 14 EQ 25BE 80 DUP1 25BF 61 PUSH2 0x2682 25C2 57 *JUMPI // Stack delta = +1 // Outputs[1] { @25BD stack[0] = address(this) == 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 & (0x01 << 0xa0) - 0x01 } // Block ends with conditional jump to 0x2682, if address(this) == 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 & (0x01 << 0xa0) - 0x01 label_25C3: // Incoming jump from 0x25C2, if not address(this) == 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 & (0x01 << 0xa0) - 0x01 // Incoming jump from 0x26AA // Inputs[1] { @25C4 stack[-1] } 25C3 5B JUMPDEST 25C4 15 ISZERO 25C5 61 PUSH2 0x25ec 25C8 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x25ec, if !stack[-1] label_25C9: // Incoming jump from 0x25C8, if not !stack[-1] // Inputs[1] { @25EA stack[-1] } 25C9 7F PUSH32 0xa4a8ea8c6583a51f3e2f4fa8d71191c39851ae65ca62d986c621524ff23b85cb 25EA 90 SWAP1 25EB 56 *JUMP // Stack delta = +0 // Outputs[1] { @25EA stack[-1] = 0xa4a8ea8c6583a51f3e2f4fa8d71191c39851ae65ca62d986c621524ff23b85cb } // Block ends with unconditional jump to stack[-1] label_25EC: // Incoming jump from 0x25C8, if !stack[-1] // Inputs[3] // { // @25EF memory[0x40:0x60] // @2664 CHAINID() // @266A address(this) // } 25EC 5B JUMPDEST 25ED 60 PUSH1 0x40 25EF 51 MLOAD 25F0 60 PUSH1 0x20 25F2 81 DUP2 25F3 01 ADD 25F4 90 SWAP1 25F5 7F PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 2616 82 DUP3 2617 52 MSTORE 2618 7F PUSH32 0xd5dcdb0eade3cdff3984004756a6325e58c7e0d9ccdac24dd61fce8d6c19e281 2639 60 PUSH1 0x40 263B 82 DUP3 263C 01 ADD 263D 52 MSTORE 263E 7F PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 265F 60 PUSH1 0x60 2661 82 DUP3 2662 01 ADD 2663 52 MSTORE 2664 46 CHAINID 2665 60 PUSH1 0x80 2667 82 DUP3 2668 01 ADD 2669 52 MSTORE 266A 30 ADDRESS 266B 60 PUSH1 0xa0 266D 82 DUP3 266E 01 ADD 266F 52 MSTORE 2670 60 PUSH1 0xa0 2672 81 DUP2 2673 52 MSTORE 2674 61 PUSH2 0x267c 2677 81 DUP2 2678 61 PUSH2 0x08cc 267B 56 *JUMP // Stack delta = +4 // Outputs[10] // { // @25F4 stack[0] = memory[0x40:0x60] + 0x20 // @25F4 stack[1] = memory[0x40:0x60] // @2617 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f // @263D memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = 0xd5dcdb0eade3cdff3984004756a6325e58c7e0d9ccdac24dd61fce8d6c19e281 // @2663 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 // @2669 memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = CHAINID() // @266F memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = address(this) // @2673 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xa0 // @2674 stack[2] = 0x267c // @2677 stack[3] = memory[0x40:0x60] // } // Block ends with call to 0x08cc, returns to 0x267C label_267C: // Incoming return from call to 0x0877 at 0x3896 // Incoming return from call to 0x08CC at 0x267B // Inputs[5] // { // @267D stack[-1] // @267D memory[stack[-1]:stack[-1] + 0x20] // @267E stack[-2] // @267F memory[stack[-2]:stack[-2] + memory[stack[-1]:stack[-1] + 0x20]] // @2680 stack[-3] // } 267C 5B JUMPDEST 267D 51 MLOAD 267E 90 SWAP1 267F 20 SHA3 2680 90 SWAP1 2681 56 *JUMP // Stack delta = -2 // Outputs[1] { @2680 stack[-3] = keccak256(memory[stack[-2]:stack[-2] + memory[stack[-1]:stack[-1] + 0x20]]) } // Block ends with unconditional jump to stack[-3] label_2682: // Incoming jump from 0x25C2, if address(this) == 0x0000000000000000000000005bc2fa9426e882710d055c1a60f8cc93a31edc58 & (0x01 << 0xa0) - 0x01 // Inputs[1] { @26A5 CHAINID() } 2682 5B JUMPDEST 2683 50 POP 2684 7F PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 26A5 46 CHAINID 26A6 14 EQ 26A7 61 PUSH2 0x25c3 26AA 56 *JUMP // Stack delta = +0 // Outputs[1] { @26A6 stack[-1] = CHAINID() == 0x0000000000000000000000000000000000000000000000000000000000000001 } // Block ends with unconditional jump to 0x25c3 label_26AB: // Incoming call from 0x2740, returns to 0x2741 // Inputs[4] // { // @26AE stack[-3] // @26AF stack[-2] // @26B0 stack[-1] // @26B1 storage[stack[-1]] // } 26AB 5B JUMPDEST 26AC 60 PUSH1 0x00 26AE 92 SWAP3 26AF 91 SWAP2 26B0 81 DUP2 26B1 54 SLOAD 26B2 61 PUSH2 0x26ba 26B5 81 DUP2 26B6 61 PUSH2 0x114a 26B9 56 *JUMP // Stack delta = +4 // Outputs[6] // { // @26AE stack[-3] = 0x00 // @26AF stack[0] = stack[-2] // @26AF stack[-2] = stack[-3] // @26B1 stack[1] = storage[stack[-1]] // @26B2 stack[2] = 0x26ba // @26B5 stack[3] = storage[stack[-1]] // } // Block ends with call to 0x114a, returns to 0x26BA label_26BA: // Incoming return from call to 0x114A at 0x26B9 // Inputs[3] // { // @26BB stack[-1] // @26BB stack[-4] // @26BE stack[-2] // } 26BA 5B JUMPDEST 26BB 92 SWAP3 26BC 60 PUSH1 0x01 26BE 91 SWAP2 26BF 80 DUP1 26C0 83 DUP4 26C1 16 AND 26C2 90 SWAP1 26C3 81 DUP2 26C4 15 ISZERO 26C5 61 PUSH2 0x2713 26C8 57 *JUMPI // Stack delta = +2 // Outputs[5] // { // @26BB stack[-4] = stack[-1] // @26BB stack[-1] = stack[-4] // @26BE stack[-2] = 0x01 // @26C2 stack[1] = stack[-2] // @26C2 stack[0] = 0x01 & stack[-2] // } // Block ends with conditional jump to 0x2713, if !(0x01 & stack[-2]) label_26C9: // Incoming jump from 0x26C8, if not !(0x01 & stack[-2]) // Inputs[1] { @26CC stack[-2] } 26C9 50 POP 26CA 60 PUSH1 0x01 26CC 14 EQ 26CD 61 PUSH2 0x26d7 26D0 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x26d7, if 0x01 == stack[-2] label_26D1: // Incoming jump from 0x272D // Incoming jump from 0x2701 // Incoming jump from 0x26D0, if not 0x01 == stack[-2] // Inputs[1] { @26D6 stack[-5] } 26D1 5B JUMPDEST 26D2 50 POP 26D3 50 POP 26D4 50 POP 26D5 50 POP 26D6 56 *JUMP // Stack delta = -5 // Block ends with unconditional jump to stack[-5] label_26D7: // Incoming jump from 0x26D0, if 0x01 == stack[-2] // Inputs[7] // { // @26D8 stack[-1] // @26D8 stack[-2] // @26D9 stack[-3] // @26DA stack[-4] // @26DB stack[-5] // @26DC stack[-6] // @26E7 memory[0x00:0x20] // } 26D7 5B JUMPDEST 26D8 90 SWAP1 26D9 91 SWAP2 26DA 92 SWAP3 26DB 93 SWAP4 26DC 94 SWAP5 26DD 50 POP 26DE 60 PUSH1 0x00 26E0 52 MSTORE 26E1 60 PUSH1 0x20 26E3 90 SWAP1 26E4 81 DUP2 26E5 60 PUSH1 0x00 26E7 20 SHA3 26E8 90 SWAP1 26E9 60 PUSH1 0x00 26EB 91 SWAP2 26EC 5B JUMPDEST 26ED 85 DUP6 26EE 83 DUP4 26EF 10 LT 26F0 61 PUSH2 0x2702 26F3 57 *JUMPI // Stack delta = +1 // Outputs[8] // { // @26DA stack[-4] = stack[-3] // @26DB stack[-5] = stack[-4] // @26DC stack[-6] = stack[-5] // @26E0 memory[0x00:0x20] = stack[-1] // @26E3 stack[-3] = 0x20 // @26E8 stack[-1] = stack[-2] // @26EB stack[-2] = 0x00 // @26EB stack[0] = keccak256(memory[0x00:0x20]) // } // Block ends with conditional jump to 0x2702, if 0x00 < stack[-4] label_26F4: // Incoming jump from 0x26F3, if not stack[-3] < stack[-6] // Incoming jump from 0x26F3, if not 0x00 < stack[-4] // Inputs[4] // { // @26F8 stack[-6] // @26F8 stack[-5] // @26F9 stack[-7] // @26FA code.length // } 26F4 50 POP 26F5 50 POP 26F6 50 POP 26F7 50 POP 26F8 01 ADD 26F9 90 SWAP1 26FA 38 CODESIZE 26FB 80 DUP1 26FC 80 DUP1 26FD 80 DUP1 26FE 61 PUSH2 0x26d1 2701 56 *JUMP // Stack delta = -1 // Outputs[6] // { // @26F9 stack[-6] = stack[-7] // @26F9 stack[-7] = stack[-5] + stack[-6] // @26FA stack[-5] = code.length // @26FB stack[-4] = code.length // @26FC stack[-3] = code.length // @26FD stack[-2] = code.length // } // Block ends with unconditional jump to 0x26d1 label_2702: // Incoming jump from 0x26F3, if stack[-3] < stack[-6] // Incoming jump from 0x26F3, if 0x00 < stack[-4] // Inputs[6] // { // @2703 stack[-1] // @2704 storage[stack[-1]] // @2705 stack[-5] // @2706 stack[-3] // @270A stack[-4] // @270D stack[-2] // } 2702 5B JUMPDEST 2703 80 DUP1 2704 54 SLOAD 2705 85 DUP6 2706 84 DUP5 2707 01 ADD 2708 52 MSTORE 2709 91 SWAP2 270A 83 DUP4 270B 01 ADD 270C 91 SWAP2 270D 81 DUP2 270E 01 ADD 270F 61 PUSH2 0x26ec 2712 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @2708 memory[stack[-3] + stack[-5]:stack[-3] + stack[-5] + 0x20] = storage[stack[-1]] // @270C stack[-3] = stack[-4] + stack[-3] // @270E stack[-1] = stack[-2] + stack[-1] // } // Block ends with unconditional jump to 0x26ec label_2713: // Incoming jump from 0x26C8, if !(0x01 & stack[-2]) // Inputs[5] // { // @2717 stack[-1] // @2718 stack[-5] // @271D stack[-6] // @2724 stack[-8] // @2726 code.length // } 2713 5B JUMPDEST 2714 60 PUSH1 0xff 2716 19 NOT 2717 16 AND 2718 84 DUP5 2719 52 MSTORE 271A 50 POP 271B 50 POP 271C 50 POP 271D 81 DUP2 271E 15 ISZERO 271F 15 ISZERO 2720 90 SWAP1 2721 91 SWAP2 2722 02 MUL 2723 01 ADD 2724 91 SWAP2 2725 50 POP 2726 38 CODESIZE 2727 80 DUP1 2728 80 DUP1 2729 80 DUP1 272A 61 PUSH2 0x26d1 272D 56 *JUMP // Stack delta = -2 // Outputs[6] // { // @2719 memory[stack[-5]:stack[-5] + 0x20] = ~0xff & stack[-1] // @2724 stack[-8] = stack[-6] * !!stack[-6] + stack[-5] // @2726 stack[-6] = code.length // @2727 stack[-5] = code.length // @2728 stack[-4] = code.length // @2729 stack[-3] = code.length // } // Block ends with unconditional jump to 0x26d1 label_272E: // Incoming jump from 0x0733 // Inputs[3] // { // @2731 stack[-1] // @2735 stack[-2] // @2738 memory[0x40:0x60] // } 272E 5B JUMPDEST 272F 60 PUSH1 0x20 2731 90 SWAP1 2732 61 PUSH2 0x2741 2735 92 SWAP3 2736 60 PUSH1 0x40 2738 51 MLOAD 2739 93 SWAP4 273A 84 DUP5 273B 80 DUP1 273C 93 SWAP4 273D 61 PUSH2 0x26ab 2740 56 *JUMP // Stack delta = +5 // Outputs[7] // { // @2731 stack[-1] = 0x20 // @2735 stack[1] = stack[-2] // @2739 stack[2] = 0x2741 // @2739 stack[-2] = memory[0x40:0x60] // @273A stack[3] = memory[0x40:0x60] // @273C stack[4] = stack[-1] // @273C stack[0] = memory[0x40:0x60] // } // Block ends with call to 0x26ab, returns to 0x2741 label_2741: // Incoming return from call to 0x26AB at 0x2740 // Inputs[7] // { // @2742 stack[-1] // @2742 stack[-2] // @2745 stack[-3] // @2746 stack[-4] // @2747 stack[-5] // @2748 memory[stack[-5]:stack[-5] + stack[-1] - stack[-3] + stack[-4]] // @2749 stack[-6] // } 2741 5B JUMPDEST 2742 90 SWAP1 2743 81 DUP2 2744 52 MSTORE 2745 03 SUB 2746 01 ADD 2747 90 SWAP1 2748 20 SHA3 2749 90 SWAP1 274A 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @2744 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @2749 stack[-6] = keccak256(memory[stack[-5]:stack[-5] + stack[-1] - stack[-3] + stack[-4]]) // } // Block ends with unconditional jump to stack[-6] label_274B: // Incoming jump from 0x075F // Inputs[4] // { // @274C stack[-2] // @274C stack[-1] // @2754 memory[0x40:0x60] // @275B memory[stack[-1]:stack[-1] + 0x20] // } 274B 5B JUMPDEST 274C 90 SWAP1 274D 61 PUSH2 0x0917 2750 60 PUSH1 0x23 2752 60 PUSH1 0x40 2754 51 MLOAD 2755 84 DUP5 2756 61 PUSH2 0x2769 2759 82 DUP3 275A 96 SWAP7 275B 51 MLOAD 275C 80 DUP1 275D 92 SWAP3 275E 60 PUSH1 0x20 2760 80 DUP1 2761 86 DUP7 2762 01 ADD 2763 91 SWAP2 2764 01 ADD 2765 61 PUSH2 0x037c 2768 56 *JUMP // Stack delta = +8 // Outputs[10] // { // @274C stack[-1] = stack[-2] // @274D stack[0] = 0x0917 // @2750 stack[1] = 0x23 // @2754 stack[2] = memory[0x40:0x60] // @2756 stack[4] = 0x2769 // @275A stack[-2] = memory[0x40:0x60] // @275B stack[5] = memory[stack[-1]:stack[-1] + 0x20] // @275D stack[3] = memory[stack[-1]:stack[-1] + 0x20] // @2763 stack[6] = memory[0x40:0x60] + 0x20 // @2764 stack[7] = stack[-1] + 0x20 // } // Block ends with call to 0x037c, returns to 0x2769 label_2769: // Incoming return from call to 0x037C at 0x2768 // Inputs[4] // { // @276A stack[-2] // @276B stack[-1] // @2797 stack[-6] // @2799 stack[-3] // } 2769 5B JUMPDEST 276A 81 DUP2 276B 01 ADD 276C 7F PUSH32 0x2e2e2e0000000000000000000000000000000000000000000000000000000000 278D 60 PUSH1 0x20 278F 82 DUP3 2790 01 ADD 2791 52 MSTORE 2792 03 SUB 2793 60 PUSH1 0x03 2795 81 DUP2 2796 01 ADD 2797 85 DUP6 2798 52 MSTORE 2799 01 ADD 279A 83 DUP4 279B 61 PUSH2 0x08e8 279E 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @2791 memory[stack[-2] + stack[-1] + 0x20:stack[-2] + stack[-1] + 0x20 + 0x20] = 0x2e2e2e0000000000000000000000000000000000000000000000000000000000 // @2798 memory[stack[-6]:stack[-6] + 0x20] = (stack[-2] + stack[-1]) - stack[-2] + 0x03 // @2799 stack[-3] = (stack[-2] + stack[-1]) - stack[-2] + stack[-3] // @279A stack[-2] = stack[-6] // } // Block ends with unconditional jump to 0x08e8 label_279F: // Incoming jump from 0x0770 // Inputs[4] // { // @27A0 stack[-1] // @27A0 stack[-2] // @27A8 memory[0x40:0x60] // @27D5 memory[stack[-1]:stack[-1] + 0x20] // } 279F 5B JUMPDEST 27A0 90 SWAP1 27A1 61 PUSH2 0x0917 27A4 60 PUSH1 0x29 27A6 60 PUSH1 0x40 27A8 51 MLOAD 27A9 80 DUP1 27AA 94 SWAP5 27AB 7F PUSH32 0x45636f204944202d200000000000000000000000000000000000000000000000 27CC 60 PUSH1 0x20 27CE 83 DUP4 27CF 01 ADD 27D0 52 MSTORE 27D1 61 PUSH2 0x27e3 27D4 81 DUP2 27D5 51 MLOAD 27D6 80 DUP1 27D7 92 SWAP3 27D8 60 PUSH1 0x20 27DA 86 DUP7 27DB 86 DUP7 27DC 01 ADD 27DD 91 SWAP2 27DE 01 ADD 27DF 61 PUSH2 0x037c 27E2 56 *JUMP // Stack delta = +8 // Outputs[11] // { // @27A0 stack[-1] = stack[-2] // @27A1 stack[0] = 0x0917 // @27A4 stack[1] = 0x29 // @27A8 stack[2] = memory[0x40:0x60] // @27AA stack[-2] = memory[0x40:0x60] // @27D0 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x45636f204944202d200000000000000000000000000000000000000000000000 // @27D1 stack[4] = 0x27e3 // @27D5 stack[5] = memory[stack[-1]:stack[-1] + 0x20] // @27D7 stack[3] = memory[stack[-1]:stack[-1] + 0x20] // @27DD stack[6] = memory[0x40:0x60] + 0x29 // @27DE stack[7] = stack[-1] + 0x20 // } // Block ends with call to 0x037c, returns to 0x27E3 label_27E3: // Incoming return from call to 0x037C at 0x27E2 // Inputs[4] // { // @27E4 stack[-2] // @27E5 stack[-1] // @27EB stack[-6] // @27ED stack[-3] // } 27E3 5B JUMPDEST 27E4 81 DUP2 27E5 01 ADD 27E6 03 SUB 27E7 60 PUSH1 0x09 27E9 81 DUP2 27EA 01 ADD 27EB 85 DUP6 27EC 52 MSTORE 27ED 01 ADD 27EE 83 DUP4 27EF 61 PUSH2 0x08e8 27F2 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @27EC memory[stack[-6]:stack[-6] + 0x20] = (stack[-2] + stack[-1]) - stack[-2] + 0x09 // @27ED stack[-3] = (stack[-2] + stack[-1]) - stack[-2] + stack[-3] // @27EE stack[-2] = stack[-6] // } // Block ends with unconditional jump to 0x08e8 27F3 5B JUMPDEST 27F4 60 PUSH1 0x40 27F6 51 MLOAD 27F7 90 SWAP1 27F8 61 PUSH2 0x2800 27FB 82 DUP3 27FC 61 PUSH2 0x084e 27FF 56 *JUMP 2800 5B JUMPDEST 2801 60 PUSH1 0x02 2803 82 DUP3 2804 52 MSTORE 2805 7F PUSH32 0x5d7d000000000000000000000000000000000000000000000000000000000000 2826 60 PUSH1 0x20 2828 83 DUP4 2829 01 ADD 282A 52 MSTORE 282B 56 *JUMP 282C 5B JUMPDEST 282D 60 PUSH1 0x40 282F 51 MLOAD 2830 90 SWAP1 2831 61 PUSH2 0x2839 2834 82 DUP3 2835 61 PUSH2 0x084e 2838 56 *JUMP 2839 5B JUMPDEST 283A 60 PUSH1 0x04 283C 82 DUP3 283D 52 MSTORE 283E 7F PUSH32 0x227d5d7d00000000000000000000000000000000000000000000000000000000 285F 60 PUSH1 0x20 2861 83 DUP4 2862 01 ADD 2863 52 MSTORE 2864 56 *JUMP 2865 5B JUMPDEST 2866 61 PUSH2 0x0917 2869 91 SWAP2 286A 93 SWAP4 286B 92 SWAP3 286C 93 SWAP4 286D 60 PUSH1 0x40 286F 51 MLOAD 2870 94 SWAP5 2871 85 DUP6 2872 91 SWAP2 2873 83 DUP4 2874 51 MLOAD 2875 61 PUSH2 0x2886 2878 81 DUP2 2879 60 PUSH1 0x20 287B 96 SWAP7 287C 87 DUP8 287D 80 DUP1 287E 88 DUP9 287F 01 ADD 2880 91 SWAP2 2881 01 ADD 2882 61 PUSH2 0x037c 2885 56 *JUMP 2886 5B JUMPDEST 2887 83 DUP4 2888 01 ADD 2889 61 PUSH2 0x289a 288C 82 DUP3 288D 51 MLOAD 288E 80 DUP1 288F 93 SWAP4 2890 87 DUP8 2891 80 DUP1 2892 85 DUP6 2893 01 ADD 2894 91 SWAP2 2895 01 ADD 2896 61 PUSH2 0x037c 2899 56 *JUMP 289A 5B JUMPDEST 289B 01 ADD 289C 61 PUSH2 0x28ad 289F 82 DUP3 28A0 51 MLOAD 28A1 80 DUP1 28A2 93 SWAP4 28A3 86 DUP7 28A4 80 DUP1 28A5 85 DUP6 28A6 01 ADD 28A7 91 SWAP2 28A8 01 ADD 28A9 61 PUSH2 0x037c 28AC 56 *JUMP 28AD 5B JUMPDEST 28AE 01 ADD 28AF 03 SUB 28B0 80 DUP1 28B1 85 DUP6 28B2 52 MSTORE 28B3 01 ADD 28B4 83 DUP4 28B5 61 PUSH2 0x08e8 28B8 56 *JUMP 28B9 5B JUMPDEST 28BA 60 PUSH1 0x40 28BC 51 MLOAD 28BD 90 SWAP1 28BE 61 PUSH2 0x28c6 28C1 82 DUP3 28C2 61 PUSH2 0x084e 28C5 56 *JUMP 28C6 5B JUMPDEST 28C7 60 PUSH1 0x1d 28C9 82 DUP3 28CA 52 MSTORE 28CB 7F PUSH32 0x646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000 28EC 60 PUSH1 0x20 28EE 83 DUP4 28EF 01 ADD 28F0 52 MSTORE 28F1 56 *JUMP 28F2 5B JUMPDEST 28F3 60 PUSH1 0x40 28F5 51 MLOAD 28F6 90 SWAP1 28F7 60 PUSH1 0x60 28F9 82 DUP3 28FA 01 ADD 28FB 82 DUP3 28FC 81 DUP2 28FD 10 LT 28FE 67 PUSH8 0xffffffffffffffff 2907 82 DUP3 2908 11 GT 2909 17 OR 290A 61 PUSH2 0x2963 290D 57 *JUMPI 290E 5B JUMPDEST 290F 60 PUSH1 0x40 2911 52 MSTORE 2912 60 PUSH1 0x40 2914 82 DUP3 2915 52 MSTORE 2916 7F PUSH32 0x6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f 2937 60 PUSH1 0x40 2939 83 DUP4 293A 7F PUSH32 0x4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566 295B 60 PUSH1 0x20 295D 82 DUP3 295E 01 ADD 295F 52 MSTORE 2960 01 ADD 2961 52 MSTORE 2962 56 *JUMP 2963 5B JUMPDEST 2964 61 PUSH2 0x296b 2967 61 PUSH2 0x0837 296A 56 *JUMP 296B 5B JUMPDEST 296C 61 PUSH2 0x290e 296F 56 *JUMP 2970 5B JUMPDEST 2971 7F PUSH32 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 2992 81 DUP2 2993 11 GT 2994 60 PUSH1 0x01 2996 16 AND 2997 61 PUSH2 0x29a1 299A 57 *JUMPI 299B 5B JUMPDEST 299C 60 PUSH1 0x02 299E 1B SHL 299F 90 SWAP1 29A0 56 *JUMP 29A1 5B JUMPDEST 29A2 61 PUSH2 0x29a9 29A5 61 PUSH2 0x1ad2 29A8 56 *JUMP 29A9 5B JUMPDEST 29AA 61 PUSH2 0x299b 29AD 56 *JUMP 29AE 5B JUMPDEST 29AF 60 PUSH1 0x40 29B1 51 MLOAD 29B2 90 SWAP1 29B3 60 PUSH1 0x60 29B5 82 DUP3 29B6 01 ADD 29B7 82 DUP3 29B8 81 DUP2 29B9 10 LT 29BA 67 PUSH8 0xffffffffffffffff 29C3 82 DUP3 29C4 11 GT 29C5 17 OR 29C6 61 PUSH2 0x29dc 29C9 57 *JUMPI 29CA 5B JUMPDEST 29CB 60 PUSH1 0x40 29CD 52 MSTORE 29CE 60 PUSH1 0x2a 29D0 82 DUP3 29D1 52 MSTORE 29D2 60 PUSH1 0x40 29D4 82 DUP3 29D5 60 PUSH1 0x20 29D7 36 CALLDATASIZE 29D8 91 SWAP2 29D9 01 ADD 29DA 37 CALLDATACOPY 29DB 56 *JUMP 29DC 5B JUMPDEST 29DD 61 PUSH2 0x29e4 29E0 61 PUSH2 0x0837 29E3 56 *JUMP 29E4 5B JUMPDEST 29E5 61 PUSH2 0x29ca 29E8 56 *JUMP 29E9 5B JUMPDEST 29EA 90 SWAP1 29EB 61 PUSH2 0x29f3 29EE 82 DUP3 29EF 61 PUSH2 0x0919 29F2 56 *JUMP 29F3 5B JUMPDEST 29F4 61 PUSH2 0x2a00 29F7 60 PUSH1 0x40 29F9 51 MLOAD 29FA 91 SWAP2 29FB 82 DUP3 29FC 61 PUSH2 0x08e8 29FF 56 *JUMP 2A00 5B JUMPDEST 2A01 82 DUP3 2A02 81 DUP2 2A03 52 MSTORE 2A04 80 DUP1 2A05 92 SWAP3 2A06 61 PUSH2 0x2a11 2A09 60 PUSH1 0x1f 2A0B 19 NOT 2A0C 91 SWAP2 2A0D 61 PUSH2 0x0919 2A10 56 *JUMP 2A11 5B JUMPDEST 2A12 01 ADD 2A13 90 SWAP1 2A14 60 PUSH1 0x20 2A16 36 CALLDATASIZE 2A17 91 SWAP2 2A18 01 ADD 2A19 37 CALLDATACOPY 2A1A 56 *JUMP 2A1B 5B JUMPDEST 2A1C 80 DUP1 2A1D 51 MLOAD 2A1E 15 ISZERO 2A1F 61 PUSH2 0x2b3a 2A22 57 *JUMPI 2A23 61 PUSH2 0x2a2a 2A26 61 PUSH2 0x28f2 2A29 56 *JUMP 2A2A 5B JUMPDEST 2A2B 61 PUSH2 0x2a46 2A2E 61 PUSH2 0x2a41 2A31 61 PUSH2 0x2a3a 2A34 84 DUP5 2A35 51 MLOAD 2A36 61 PUSH2 0x1b0e 2A39 56 *JUMP 2A3A 5B JUMPDEST 2A3B 60 PUSH1 0x03 2A3D 90 SWAP1 2A3E 04 DIV 2A3F 90 SWAP1 2A40 56 *JUMP 2A41 5B JUMPDEST 2A42 61 PUSH2 0x2970 2A45 56 *JUMP 2A46 5B JUMPDEST 2A47 91 SWAP2 2A48 61 PUSH2 0x2a58 2A4B 61 PUSH2 0x2a53 2A4E 84 DUP5 2A4F 61 PUSH2 0x1b1c 2A52 56 *JUMP 2A53 5B JUMPDEST 2A54 61 PUSH2 0x29e9 2A57 56 *JUMP 2A58 5B JUMPDEST 2A59 92 SWAP3 2A5A 83 DUP4 2A5B 52 MSTORE 2A5C 80 DUP1 2A5D 81 DUP2 2A5E 51 MLOAD 2A5F 82 DUP3 2A60 01 ADD 2A61 90 SWAP1 2A62 60 PUSH1 0x20 2A64 85 DUP6 2A65 01 ADD 2A66 93 SWAP4 2A67 5B JUMPDEST 2A68 82 DUP3 2A69 82 DUP3 2A6A 10 LT 2A6B 61 PUSH2 0x2ade 2A6E 57 *JUMPI 2A6F 50 POP 2A70 50 POP 2A71 50 POP 2A72 60 PUSH1 0x03 2A74 90 SWAP1 2A75 51 MLOAD 2A76 06 MOD 2A77 80 DUP1 2A78 60 PUSH1 0x01 2A7A 14 EQ 2A7B 61 PUSH2 0x2ab3 2A7E 57 *JUMPI 2A7F 60 PUSH1 0x02 2A81 14 EQ 2A82 61 PUSH2 0x2a89 2A85 57 *JUMPI 2A86 50 POP 2A87 90 SWAP1 2A88 56 *JUMP 2A89 5B JUMPDEST 2A8A 7F PUSH32 0x3d00000000000000000000000000000000000000000000000000000000000000 2AAB 90 SWAP1 2AAC 60 PUSH1 0x00 2AAE 19 NOT 2AAF 01 ADD 2AB0 52 MSTORE 2AB1 90 SWAP1 2AB2 56 *JUMP 2AB3 5B JUMPDEST 2AB4 50 POP 2AB5 7F PUSH32 0x3d3d000000000000000000000000000000000000000000000000000000000000 2AD6 90 SWAP1 2AD7 60 PUSH1 0x01 2AD9 19 NOT 2ADA 01 ADD 2ADB 52 MSTORE 2ADC 90 SWAP1 2ADD 56 *JUMP 2ADE 5B JUMPDEST 2ADF 90 SWAP1 2AE0 91 SWAP2 2AE1 93 SWAP4 2AE2 60 PUSH1 0x04 2AE4 90 SWAP1 2AE5 60 PUSH1 0x03 2AE7 80 DUP1 2AE8 94 SWAP5 2AE9 01 ADD 2AEA 93 SWAP4 2AEB 84 DUP5 2AEC 51 MLOAD 2AED 60 PUSH1 0x01 2AEF 60 PUSH1 0x3f 2AF1 81 DUP2 2AF2 81 DUP2 2AF3 84 DUP5 2AF4 60 PUSH1 0x12 2AF6 1C SHR 2AF7 16 AND 2AF8 88 DUP9 2AF9 01 ADD 2AFA 01 ADD 2AFB 51 MLOAD 2AFC 92 SWAP3 2AFD 60 PUSH1 0xf8 2AFF 93 SWAP4 2B00 84 DUP5 2B01 1B SHL 2B02 86 DUP7 2B03 52 MSTORE 2B04 82 DUP3 2B05 82 DUP3 2B06 82 DUP3 2B07 60 PUSH1 0x0c 2B09 1C SHR 2B0A 16 AND 2B0B 89 DUP10 2B0C 01 ADD 2B0D 01 ADD 2B0E 51 MLOAD 2B0F 84 DUP5 2B10 1B SHL 2B11 83 DUP4 2B12 87 DUP8 2B13 01 ADD 2B14 52 MSTORE 2B15 82 DUP3 2B16 82 DUP3 2B17 82 DUP3 2B18 60 PUSH1 0x06 2B1A 1C SHR 2B1B 16 AND 2B1C 89 DUP10 2B1D 01 ADD 2B1E 01 ADD 2B1F 51 MLOAD 2B20 84 DUP5 2B21 1B SHL 2B22 60 PUSH1 0x02 2B24 87 DUP8 2B25 01 ADD 2B26 52 MSTORE 2B27 16 AND 2B28 86 DUP7 2B29 01 ADD 2B2A 01 ADD 2B2B 51 MLOAD 2B2C 90 SWAP1 2B2D 1B SHL 2B2E 90 SWAP1 2B2F 82 DUP3 2B30 01 ADD 2B31 52 MSTORE 2B32 01 ADD 2B33 93 SWAP4 2B34 91 SWAP2 2B35 90 SWAP1 2B36 61 PUSH2 0x2a67 2B39 56 *JUMP 2B3A 5B JUMPDEST 2B3B 50 POP 2B3C 61 PUSH2 0x03d5 2B3F 61 PUSH2 0x0944 2B42 56 *JUMP 2B43 5B JUMPDEST 2B44 60 PUSH1 0x32 2B46 61 PUSH2 0x0917 2B49 91 SWAP2 2B4A 93 SWAP4 2B4B 92 SWAP3 2B4C 93 SWAP4 2B4D 60 PUSH1 0x40 2B4F 51 MLOAD 2B50 94 SWAP5 2B51 81 DUP2 2B52 61 PUSH2 0x2b65 2B55 87 DUP8 2B56 93 SWAP4 2B57 51 MLOAD 2B58 80 DUP1 2B59 92 SWAP3 2B5A 60 PUSH1 0x20 2B5C 80 DUP1 2B5D 87 DUP8 2B5E 01 ADD 2B5F 91 SWAP2 2B60 01 ADD 2B61 61 PUSH2 0x037c 2B64 56 *JUMP 2B65 5B JUMPDEST 2B66 82 DUP3 2B67 01 ADD 2B68 7F PUSH32 0x2265787465726e616c5f75726c223a0000000000000000000000000000000000 2B89 60 PUSH1 0x20 2B8B 82 DUP3 2B8C 01 ADD 2B8D 52 MSTORE 2B8E 60 PUSH1 0x11 2B90 60 PUSH1 0xf9 2B92 1B SHL 2B93 60 PUSH1 0x2f 2B95 82 DUP3 2B96 01 ADD 2B97 52 MSTORE 2B98 61 PUSH2 0x2bab 2B9B 82 DUP3 2B9C 51 MLOAD 2B9D 80 DUP1 2B9E 93 SWAP4 2B9F 60 PUSH1 0x20 2BA1 60 PUSH1 0x30 2BA3 85 DUP6 2BA4 01 ADD 2BA5 91 SWAP2 2BA6 01 ADD 2BA7 61 PUSH2 0x037c 2BAA 56 *JUMP 2BAB 5B JUMPDEST 2BAC 01 ADD 2BAD 61 PUSH2 0x088b 2BB0 60 PUSH1 0xf2 2BB2 1B SHL 2BB3 60 PUSH1 0x30 2BB5 82 DUP3 2BB6 01 ADD 2BB7 52 MSTORE 2BB8 03 SUB 2BB9 60 PUSH1 0x12 2BBB 81 DUP2 2BBC 01 ADD 2BBD 85 DUP6 2BBE 52 MSTORE 2BBF 01 ADD 2BC0 83 DUP4 2BC1 61 PUSH2 0x08e8 2BC4 56 *JUMP 2BC5 5B JUMPDEST 2BC6 60 PUSH1 0x2b 2BC8 61 PUSH2 0x0917 2BCB 91 SWAP2 2BCC 93 SWAP4 2BCD 92 SWAP3 2BCE 93 SWAP4 2BCF 60 PUSH1 0x40 2BD1 51 MLOAD 2BD2 94 SWAP5 2BD3 81 DUP2 2BD4 61 PUSH2 0x2be7 2BD7 87 DUP8 2BD8 93 SWAP4 2BD9 51 MLOAD 2BDA 80 DUP1 2BDB 92 SWAP3 2BDC 60 PUSH1 0x20 2BDE 80 DUP1 2BDF 87 DUP8 2BE0 01 ADD 2BE1 91 SWAP2 2BE2 01 ADD 2BE3 61 PUSH2 0x037c 2BE6 56 *JUMP 2BE7 5B JUMPDEST 2BE8 82 DUP3 2BE9 01 ADD 2BEA 7F PUSH32 0x22696d616765223a000000000000000000000000000000000000000000000000 2C0B 60 PUSH1 0x20 2C0D 82 DUP3 2C0E 01 ADD 2C0F 52 MSTORE 2C10 60 PUSH1 0x11 2C12 60 PUSH1 0xf9 2C14 1B SHL 2C15 60 PUSH1 0x28 2C17 82 DUP3 2C18 01 ADD 2C19 52 MSTORE 2C1A 61 PUSH2 0x2c2d 2C1D 82 DUP3 2C1E 51 MLOAD 2C1F 80 DUP1 2C20 93 SWAP4 2C21 60 PUSH1 0x20 2C23 60 PUSH1 0x29 2C25 85 DUP6 2C26 01 ADD 2C27 91 SWAP2 2C28 01 ADD 2C29 61 PUSH2 0x037c 2C2C 56 *JUMP 2C2D 5B JUMPDEST 2C2E 01 ADD 2C2F 61 PUSH2 0x088b 2C32 60 PUSH1 0xf2 2C34 1B SHL 2C35 60 PUSH1 0x29 2C37 82 DUP3 2C38 01 ADD 2C39 52 MSTORE 2C3A 03 SUB 2C3B 60 PUSH1 0x0b 2C3D 81 DUP2 2C3E 01 ADD 2C3F 85 DUP6 2C40 52 MSTORE 2C41 01 ADD 2C42 83 DUP4 2C43 61 PUSH2 0x08e8 2C46 56 *JUMP 2C47 5B JUMPDEST 2C48 60 PUSH1 0x2a 2C4A 61 PUSH2 0x0917 2C4D 91 SWAP2 2C4E 93 SWAP4 2C4F 92 SWAP3 2C50 93 SWAP4 2C51 60 PUSH1 0x40 2C53 51 MLOAD 2C54 94 SWAP5 2C55 81 DUP2 2C56 61 PUSH2 0x2c69 2C59 87 DUP8 2C5A 93 SWAP4 2C5B 51 MLOAD 2C5C 80 DUP1 2C5D 92 SWAP3 2C5E 60 PUSH1 0x20 2C60 80 DUP1 2C61 87 DUP8 2C62 01 ADD 2C63 91 SWAP2 2C64 01 ADD 2C65 61 PUSH2 0x037c 2C68 56 *JUMP 2C69 5B JUMPDEST 2C6A 82 DUP3 2C6B 01 ADD 2C6C 7F PUSH32 0x226e616d65223a22000000000000000000000000000000000000000000000000 2C8D 60 PUSH1 0x20 2C8F 82 DUP3 2C90 01 ADD 2C91 52 MSTORE 2C92 61 PUSH2 0x2ca5 2C95 82 DUP3 2C96 51 MLOAD 2C97 80 DUP1 2C98 93 SWAP4 2C99 60 PUSH1 0x20 2C9B 60 PUSH1 0x28 2C9D 85 DUP6 2C9E 01 ADD 2C9F 91 SWAP2 2CA0 01 ADD 2CA1 61 PUSH2 0x037c 2CA4 56 *JUMP 2CA5 5B JUMPDEST 2CA6 01 ADD 2CA7 61 PUSH2 0x088b 2CAA 60 PUSH1 0xf2 2CAC 1B SHL 2CAD 60 PUSH1 0x28 2CAF 82 DUP3 2CB0 01 ADD 2CB1 52 MSTORE 2CB2 03 SUB 2CB3 60 PUSH1 0x0a 2CB5 81 DUP2 2CB6 01 ADD 2CB7 85 DUP6 2CB8 52 MSTORE 2CB9 01 ADD 2CBA 83 DUP4 2CBB 61 PUSH2 0x08e8 2CBE 56 *JUMP 2CBF 5B JUMPDEST 2CC0 60 PUSH1 0x40 2CC2 51 MLOAD 2CC3 90 SWAP1 2CC4 61 PUSH2 0x2ccc 2CC7 82 DUP3 2CC8 61 PUSH2 0x084e 2CCB 56 *JUMP 2CCC 5B JUMPDEST 2CCD 60 PUSH1 0x02 2CCF 82 DUP3 2CD0 52 MSTORE 2CD1 7F PUSH32 0x227d000000000000000000000000000000000000000000000000000000000000 2CF2 60 PUSH1 0x20 2CF4 83 DUP4 2CF5 01 ADD 2CF6 52 MSTORE 2CF7 56 *JUMP 2CF8 5B JUMPDEST 2CF9 60 PUSH1 0x40 2CFB 51 MLOAD 2CFC 90 SWAP1 2CFD 61 PUSH2 0x2d05 2D00 82 DUP3 2D01 61 PUSH2 0x084e 2D04 56 *JUMP 2D05 5B JUMPDEST 2D06 60 PUSH1 0x03 2D08 82 DUP3 2D09 52 MSTORE 2D0A 62 PUSH3 0x089f4b 2D0E 60 PUSH1 0xea 2D10 1B SHL 2D11 60 PUSH1 0x20 2D13 83 DUP4 2D14 01 ADD 2D15 52 MSTORE 2D16 56 *JUMP 2D17 5B JUMPDEST 2D18 60 PUSH1 0x20 2D1A 60 PUSH1 0x4c 2D1C 94 SWAP5 2D1D 93 SWAP4 2D1E 61 PUSH2 0x2da0 2D21 61 PUSH2 0x2d93 2D24 61 PUSH2 0x0917 2D27 95 SWAP6 2D28 60 PUSH1 0x40 2D2A 51 MLOAD 2D2B 98 SWAP9 2D2C 86 DUP7 2D2D 61 PUSH2 0x2d3f 2D30 8B DUP12 2D31 98 SWAP9 2D32 51 MLOAD 2D33 80 DUP1 2D34 92 SWAP3 2D35 89 DUP10 2D36 80 DUP1 2D37 8C DUP13 2D38 01 ADD 2D39 91 SWAP2 2D3A 01 ADD 2D3B 61 PUSH2 0x037c 2D3E 56 *JUMP 2D3F 5B JUMPDEST 2D40 87 DUP8 2D41 01 ADD 2D42 7F PUSH32 0x2261747472696275746573223a5b7b2274726169745f74797065223a22446174 2D63 87 DUP8 2D64 82 DUP3 2D65 01 ADD 2D66 52 MSTORE 2D67 7F PUSH32 0x61222c2276616c7565223a220000000000000000000000000000000000000000 2D88 60 PUSH1 0x40 2D8A 82 DUP3 2D8B 01 ADD 2D8C 52 MSTORE 2D8D 01 ADD 2D8E 90 SWAP1 2D8F 61 PUSH2 0x26ab 2D92 56 *JUMP 2D93 5B JUMPDEST 2D94 91 SWAP2 2D95 82 DUP3 2D96 81 DUP2 2D97 51 MLOAD 2D98 94 SWAP5 2D99 85 DUP6 2D9A 92 SWAP3 2D9B 01 ADD 2D9C 61 PUSH2 0x037c 2D9F 56 *JUMP 2DA0 5B JUMPDEST 2DA1 01 ADD 2DA2 03 SUB 2DA3 60 PUSH1 0x1f 2DA5 19 NOT 2DA6 81 DUP2 2DA7 01 ADD 2DA8 84 DUP5 2DA9 52 MSTORE 2DAA 83 DUP4 2DAB 61 PUSH2 0x08e8 2DAE 56 *JUMP 2DAF 5B JUMPDEST 2DB0 61 PUSH2 0x2e99 2DB3 61 PUSH2 0x03d5 2DB6 93 SWAP4 2DB7 92 SWAP3 2DB8 61 PUSH2 0x2e94 2DBB 61 PUSH2 0x2e86 2DBE 61 PUSH2 0x2e18 2DC1 61 PUSH2 0x2e78 2DC4 60 PUSH1 0x31 2DC6 60 PUSH1 0x40 2DC8 51 MLOAD 2DC9 61 PUSH2 0x2dd1 2DCC 81 DUP2 2DCD 61 PUSH2 0x084e 2DD0 56 *JUMP 2DD1 5B JUMPDEST 2DD2 60 PUSH1 0x01 2DD4 81 DUP2 2DD5 52 MSTORE 2DD6 60 PUSH1 0x20 2DD8 81 DUP2 2DD9 01 ADD 2DDA 7F PUSH32 0x7b00000000000000000000000000000000000000000000000000000000000000 2DFB 81 DUP2 2DFC 52 MSTORE 2DFD 61 PUSH2 0x2e04 2E00 61 PUSH2 0x0fe9 2E03 56 *JUMP 2E04 5B JUMPDEST 2E05 90 SWAP1 2E06 60 PUSH1 0x40 2E08 51 MLOAD 2E09 95 SWAP6 2E0A 86 DUP7 2E0B 93 SWAP4 2E0C 51 MLOAD 2E0D 80 DUP1 2E0E 92 SWAP3 2E0F 60 PUSH1 0x20 2E11 86 DUP7 2E12 01 ADD 2E13 90 SWAP1 2E14 61 PUSH2 0x037c 2E17 56 *JUMP 2E18 5B JUMPDEST 2E19 82 DUP3 2E1A 01 ADD 2E1B 7F PUSH32 0x226465736372697074696f6e223a000000000000000000000000000000000000 2E3C 60 PUSH1 0x20 2E3E 82 DUP3 2E3F 01 ADD 2E40 52 MSTORE 2E41 60 PUSH1 0x11 2E43 60 PUSH1 0xf9 2E45 1B SHL 2E46 60 PUSH1 0x2e 2E48 82 DUP3 2E49 01 ADD 2E4A 52 MSTORE 2E4B 61 PUSH2 0x2e5e 2E4E 82 DUP3 2E4F 51 MLOAD 2E50 80 DUP1 2E51 93 SWAP4 2E52 60 PUSH1 0x20 2E54 60 PUSH1 0x2f 2E56 85 DUP6 2E57 01 ADD 2E58 91 SWAP2 2E59 01 ADD 2E5A 61 PUSH2 0x037c 2E5D 56 *JUMP 2E5E 5B JUMPDEST 2E5F 01 ADD 2E60 61 PUSH2 0x088b 2E63 60 PUSH1 0xf2 2E65 1B SHL 2E66 60 PUSH1 0x2f 2E68 82 DUP3 2E69 01 ADD 2E6A 52 MSTORE 2E6B 03 SUB 2E6C 60 PUSH1 0x11 2E6E 81 DUP2 2E6F 01 ADD 2E70 84 DUP5 2E71 52 MSTORE 2E72 01 ADD 2E73 82 DUP3 2E74 61 PUSH2 0x08e8 2E77 56 *JUMP 2E78 5B JUMPDEST 2E79 61 PUSH2 0x2e80 2E7C 61 PUSH2 0x0c31 2E7F 56 *JUMP 2E80 5B JUMPDEST 2E81 90 SWAP1 2E82 61 PUSH2 0x2b43 2E85 56 *JUMP 2E86 5B JUMPDEST 2E87 61 PUSH2 0x2e8e 2E8A 61 PUSH2 0x0976 2E8D 56 *JUMP 2E8E 5B JUMPDEST 2E8F 90 SWAP1 2E90 61 PUSH2 0x2bc5 2E93 56 *JUMP 2E94 5B JUMPDEST 2E95 61 PUSH2 0x2c47 2E98 56 *JUMP 2E99 5B JUMPDEST 2E9A 91 SWAP2 2E9B 15 ISZERO 2E9C 61 PUSH2 0x2ead 2E9F 57 *JUMPI 2EA0 61 PUSH2 0x2ea7 2EA3 61 PUSH2 0x2cf8 2EA6 56 *JUMP 2EA7 5B JUMPDEST 2EA8 91 SWAP2 2EA9 61 PUSH2 0x2d17 2EAC 56 *JUMP 2EAD 5B JUMPDEST 2EAE 61 PUSH2 0x2ea7 2EB1 61 PUSH2 0x2cbf 2EB4 56 *JUMP 2EB5 5B JUMPDEST 2EB6 60 PUSH1 0x40 2EB8 51 MLOAD 2EB9 90 SWAP1 2EBA 61 PUSH2 0x2ec2 2EBD 82 DUP3 2EBE 61 PUSH2 0x084e 2EC1 56 *JUMP 2EC2 5B JUMPDEST 2EC3 60 PUSH1 0x05 2EC5 82 DUP3 2EC6 52 MSTORE 2EC7 7F PUSH32 0x66616c7365000000000000000000000000000000000000000000000000000000 2EE8 60 PUSH1 0x20 2EEA 83 DUP4 2EEB 01 ADD 2EEC 52 MSTORE 2EED 56 *JUMP 2EEE 5B JUMPDEST 2EEF 60 PUSH1 0x40 2EF1 51 MLOAD 2EF2 90 SWAP1 2EF3 61 PUSH2 0x2efb 2EF6 82 DUP3 2EF7 61 PUSH2 0x084e 2EFA 56 *JUMP 2EFB 5B JUMPDEST 2EFC 60 PUSH1 0x04 2EFE 82 DUP3 2EFF 52 MSTORE 2F00 7F PUSH32 0x7472756500000000000000000000000000000000000000000000000000000000 2F21 60 PUSH1 0x20 2F23 83 DUP4 2F24 01 ADD 2F25 52 MSTORE 2F26 56 *JUMP 2F27 5B JUMPDEST 2F28 60 PUSH1 0x52 2F2A 90 SWAP1 2F2B 61 PUSH2 0x0917 2F2E 92 SWAP3 2F2F 94 SWAP5 2F30 93 SWAP4 2F31 60 PUSH1 0x40 2F33 51 MLOAD 2F34 95 SWAP6 2F35 82 DUP3 2F36 61 PUSH2 0x2f49 2F39 88 DUP9 2F3A 94 SWAP5 2F3B 51 MLOAD 2F3C 80 DUP1 2F3D 92 SWAP3 2F3E 60 PUSH1 0x20 2F40 80 DUP1 2F41 88 DUP9 2F42 01 ADD 2F43 91 SWAP2 2F44 01 ADD 2F45 61 PUSH2 0x037c 2F48 56 *JUMP 2F49 5B JUMPDEST 2F4A 83 DUP4 2F4B 01 ADD 2F4C 7F PUSH32 0x7b2274726169745f74797065223a225665726966696572222c2276616c756522 2F6D 60 PUSH1 0x20 2F6F 82 DUP3 2F70 01 ADD 2F71 52 MSTORE 2F72 7F PUSH32 0x3a20220000000000000000000000000000000000000000000000000000000000 2F93 60 PUSH1 0x40 2F95 82 DUP3 2F96 01 ADD 2F97 52 MSTORE 2F98 61 PUSH2 0x2fab 2F9B 82 DUP3 2F9C 51 MLOAD 2F9D 80 DUP1 2F9E 93 SWAP4 2F9F 60 PUSH1 0x20 2FA1 60 PUSH1 0x43 2FA3 85 DUP6 2FA4 01 ADD 2FA5 91 SWAP2 2FA6 01 ADD 2FA7 61 PUSH2 0x037c 2FAA 56 *JUMP 2FAB 5B JUMPDEST 2FAC 01 ADD 2FAD 7F PUSH32 0x222c227265766f6361626c65223a220000000000000000000000000000000000 2FCE 60 PUSH1 0x43 2FD0 82 DUP3 2FD1 01 ADD 2FD2 52 MSTORE 2FD3 61 PUSH2 0x2fe5 2FD6 82 DUP3 2FD7 51 MLOAD 2FD8 80 DUP1 2FD9 93 SWAP4 2FDA 60 PUSH1 0x20 2FDC 87 DUP8 2FDD 85 DUP6 2FDE 01 ADD 2FDF 91 SWAP2 2FE0 01 ADD 2FE1 61 PUSH2 0x037c 2FE4 56 *JUMP 2FE5 5B JUMPDEST 2FE6 01 ADD 2FE7 03 SUB 2FE8 60 PUSH1 0x32 2FEA 81 DUP2 2FEB 01 ADD 2FEC 85 DUP6 2FED 52 MSTORE 2FEE 01 ADD 2FEF 83 DUP4 2FF0 61 PUSH2 0x08e8 2FF3 56 *JUMP 2FF4 5B JUMPDEST 2FF5 60 PUSH1 0x54 2FF7 90 SWAP1 2FF8 61 PUSH2 0x0917 2FFB 92 SWAP3 2FFC 94 SWAP5 2FFD 93 SWAP4 2FFE 60 PUSH1 0x40 3000 51 MLOAD 3001 95 SWAP6 3002 82 DUP3 3003 61 PUSH2 0x3016 3006 88 DUP9 3007 94 SWAP5 3008 51 MLOAD 3009 80 DUP1 300A 92 SWAP3 300B 60 PUSH1 0x20 300D 80 DUP1 300E 88 DUP9 300F 01 ADD 3010 91 SWAP2 3011 01 ADD 3012 61 PUSH2 0x037c 3015 56 *JUMP 3016 5B JUMPDEST 3017 83 DUP4 3018 01 ADD 3019 7F PUSH32 0x7b2274726169745f74797065223a225665726966696572222c2276616c756522 303A 60 PUSH1 0x20 303C 82 DUP3 303D 01 ADD 303E 52 MSTORE 303F 7F PUSH32 0x3a22000000000000000000000000000000000000000000000000000000000000 3060 60 PUSH1 0x40 3062 82 DUP3 3063 01 ADD 3064 52 MSTORE 3065 61 PUSH2 0x3078 3068 82 DUP3 3069 51 MLOAD 306A 80 DUP1 306B 93 SWAP4 306C 60 PUSH1 0x20 306E 60 PUSH1 0x42 3070 85 DUP6 3071 01 ADD 3072 91 SWAP2 3073 01 ADD 3074 61 PUSH2 0x037c 3077 56 *JUMP 3078 5B JUMPDEST 3079 01 ADD 307A 7F PUSH32 0x222c227265766f6361626c65223a220000000000000000000000000000000000 309B 60 PUSH1 0x42 309D 82 DUP3 309E 01 ADD 309F 52 MSTORE 30A0 61 PUSH2 0x30b3 30A3 82 DUP3 30A4 51 MLOAD 30A5 80 DUP1 30A6 93 SWAP4 30A7 60 PUSH1 0x20 30A9 60 PUSH1 0x51 30AB 85 DUP6 30AC 01 ADD 30AD 91 SWAP2 30AE 01 ADD 30AF 61 PUSH2 0x037c 30B2 56 *JUMP 30B3 5B JUMPDEST 30B4 01 ADD 30B5 62 PUSH3 0x089f4b 30B9 60 PUSH1 0xea 30BB 1B SHL 30BC 60 PUSH1 0x51 30BE 82 DUP3 30BF 01 ADD 30C0 52 MSTORE 30C1 03 SUB 30C2 60 PUSH1 0x34 30C4 81 DUP2 30C5 01 ADD 30C6 85 DUP6 30C7 52 MSTORE 30C8 01 ADD 30C9 83 DUP4 30CA 61 PUSH2 0x08e8 30CD 56 *JUMP 30CE 5B JUMPDEST 30CF 90 SWAP1 30D0 60 PUSH1 0x60 30D2 91 SWAP2 30D3 80 DUP1 30D4 54 SLOAD 30D5 80 DUP1 30D6 15 ISZERO 30D7 61 PUSH2 0x319f 30DA 57 *JUMPI 30DB 60 PUSH1 0x32 30DD 81 DUP2 30DE 11 GT 30DF 61 PUSH2 0x3197 30E2 57 *JUMPI 30E3 5B JUMPDEST 30E4 61 PUSH2 0x30ec 30E7 81 DUP2 30E8 61 PUSH2 0x1ae9 30EB 56 *JUMP 30EC 5B JUMPDEST 30ED 60 PUSH1 0x00 30EF 92 SWAP3 30F0 5B JUMPDEST 30F1 82 DUP3 30F2 84 DUP5 30F3 10 LT 30F4 61 PUSH2 0x30fd 30F7 57 *JUMPI 30F8 50 POP 30F9 50 POP 30FA 50 POP 30FB 50 POP 30FC 56 *JUMP 30FD 5B JUMPDEST 30FE 90 SWAP1 30FF 91 SWAP2 3100 92 SWAP3 3101 94 SWAP5 3102 61 PUSH2 0x3178 3105 90 SWAP1 3106 61 PUSH2 0x313a 3109 61 PUSH2 0x3135 310C 61 PUSH2 0x3129 310F 61 PUSH2 0x3129 3112 61 PUSH2 0x311b 3115 8B DUP12 3116 88 DUP9 3117 61 PUSH2 0x21d1 311A 56 *JUMP 311B 5B JUMPDEST 311C 50 POP 311D 54 SLOAD 311E 60 PUSH1 0x01 3120 60 PUSH1 0x01 3122 60 PUSH1 0xa0 3124 1B SHL 3125 03 SUB 3126 16 AND 3127 90 SWAP1 3128 56 *JUMP 3129 5B JUMPDEST 312A 60 PUSH1 0x01 312C 60 PUSH1 0x01 312E 60 PUSH1 0xa0 3130 1B SHL 3131 03 SUB 3132 16 AND 3133 90 SWAP1 3134 56 *JUMP 3135 5B JUMPDEST 3136 61 PUSH2 0x32e5 3139 56 *JUMP 313A 5B JUMPDEST 313B 61 PUSH2 0x3152 313E 61 PUSH2 0x3147 3141 89 DUP10 3142 86 DUP7 3143 61 PUSH2 0x21d1 3146 56 *JUMP 3147 5B JUMPDEST 3148 50 POP 3149 54 SLOAD 314A 60 PUSH1 0xa0 314C 1C SHR 314D 60 PUSH1 0xff 314F 16 AND 3150 90 SWAP1 3151 56 *JUMP 3152 5B JUMPDEST 3153 15 ISZERO 3154 61 PUSH2 0x3189 3157 57 *JUMPI 3158 61 PUSH2 0x315f 315B 61 PUSH2 0x2eee 315E 56 *JUMP 315F 5B JUMPDEST 3160 90 SWAP1 3161 5B JUMPDEST 3162 85 DUP6 3163 89 DUP10 3164 10 LT 3165 15 ISZERO 3166 61 PUSH2 0x3180 3169 57 *JUMPI 316A 61 PUSH2 0x3172 316D 92 SWAP3 316E 61 PUSH2 0x2ff4 3171 56 *JUMP 3172 5B JUMPDEST 3173 95 SWAP6 3174 61 PUSH2 0x22fa 3177 56 *JUMP 3178 5B JUMPDEST 3179 92 SWAP3 317A 91 SWAP2 317B 90 SWAP1 317C 61 PUSH2 0x30f0 317F 56 *JUMP 3180 5B JUMPDEST 3181 61 PUSH2 0x3172 3184 92 SWAP3 3185 61 PUSH2 0x2f27 3188 56 *JUMP 3189 5B JUMPDEST 318A 61 PUSH2 0x3191 318D 61 PUSH2 0x2eb5 3190 56 *JUMP 3191 5B JUMPDEST 3192 90 SWAP1 3193 61 PUSH2 0x3161 3196 56 *JUMP 3197 5B JUMPDEST 3198 50 POP 3199 60 PUSH1 0x32 319B 61 PUSH2 0x30e3 319E 56 *JUMP 319F 5B JUMPDEST 31A0 50 POP 31A1 50 POP 31A2 56 *JUMP 31A3 5B JUMPDEST 31A4 92 SWAP3 31A5 91 SWAP2 31A6 90 SWAP1 31A7 60 PUSH1 0x60 31A9 93 SWAP4 31AA 80 DUP1 31AB 54 SLOAD 31AC 92 SWAP3 31AD 83 DUP4 31AE 15 ISZERO 31AF 61 PUSH2 0x26d1 31B2 57 *JUMPI 31B3 61 PUSH2 0x31bc 31B6 90 SWAP1 31B7 83 DUP4 31B8 61 PUSH2 0x1b2a 31BB 56 *JUMP 31BC 5B JUMPDEST 31BD 60 PUSH1 0x00 31BF 93 SWAP4 31C0 90 SWAP1 31C1 80 DUP1 31C2 82 DUP3 31C3 11 GT 31C4 61 PUSH2 0x3257 31C7 57 *JUMPI 31C8 50 POP 31C9 91 SWAP2 31CA 90 SWAP1 31CB 5B JUMPDEST 31CC 61 PUSH2 0x31d4 31CF 83 DUP4 31D0 61 PUSH2 0x1ae9 31D3 56 *JUMP 31D4 5B JUMPDEST 31D5 91 SWAP2 31D6 93 SWAP4 31D7 5B JUMPDEST 31D8 83 DUP4 31D9 85 DUP6 31DA 10 LT 31DB 61 PUSH2 0x31e5 31DE 57 *JUMPI 31DF 50 POP 31E0 50 POP 31E1 50 POP 31E2 50 POP 31E3 50 POP 31E4 56 *JUMP 31E5 5B JUMPDEST 31E6 90 SWAP1 31E7 91 SWAP2 31E8 92 SWAP3 31E9 93 SWAP4 31EA 95 SWAP6 31EB 61 PUSH2 0x3237 31EE 90 SWAP1 31EF 61 PUSH2 0x3204 31F2 61 PUSH2 0x3135 31F5 61 PUSH2 0x3129 31F8 61 PUSH2 0x3129 31FB 61 PUSH2 0x311b 31FE 8C DUP13 31FF 89 DUP10 3200 61 PUSH2 0x21d1 3203 56 *JUMP 3204 5B JUMPDEST 3205 61 PUSH2 0x3211 3208 61 PUSH2 0x3147 320B 8A DUP11 320C 87 DUP8 320D 61 PUSH2 0x21d1 3210 56 *JUMP 3211 5B JUMPDEST 3212 15 ISZERO 3213 61 PUSH2 0x3249 3216 57 *JUMPI 3217 61 PUSH2 0x321e 321A 61 PUSH2 0x2eee 321D 56 *JUMP 321E 5B JUMPDEST 321F 90 SWAP1 3220 5B JUMPDEST 3221 86 DUP7 3222 8A DUP11 3223 10 LT 3224 15 ISZERO 3225 61 PUSH2 0x3240 3228 57 *JUMPI 3229 61 PUSH2 0x3231 322C 92 SWAP3 322D 61 PUSH2 0x2ff4 3230 56 *JUMP 3231 5B JUMPDEST 3232 96 SWAP7 3233 61 PUSH2 0x22fa 3236 56 *JUMP 3237 5B JUMPDEST 3238 93 SWAP4 3239 92 SWAP3 323A 91 SWAP2 323B 90 SWAP1 323C 61 PUSH2 0x31d7 323F 56 *JUMP 3240 5B JUMPDEST 3241 61 PUSH2 0x3231 3244 92 SWAP3 3245 61 PUSH2 0x2f27 3248 56 *JUMP 3249 5B JUMPDEST 324A 61 PUSH2 0x3251 324D 61 PUSH2 0x2eb5 3250 56 *JUMP 3251 5B JUMPDEST 3252 90 SWAP1 3253 61 PUSH2 0x3220 3256 56 *JUMP 3257 5B JUMPDEST 3258 90 SWAP1 3259 50 POP 325A 91 SWAP2 325B 90 SWAP1 325C 61 PUSH2 0x31cb 325F 56 *JUMP label_3260: // Incoming call from 0x3AD1, returns to 0x3AD2 // Incoming call from 0x3ADF, returns to 0x3AE0 // Inputs[3] // { // @3261 stack[-1] // @3261 stack[-2] // @3266 memory[stack[-1]:stack[-1] + 0x20] // } 3260 5B JUMPDEST 3261 90 SWAP1 3262 60 PUSH1 0x20 3264 91 SWAP2 3265 80 DUP1 3266 51 MLOAD 3267 82 DUP3 3268 10 LT 3269 15 ISZERO 326A 61 PUSH2 0x3272 326D 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @3261 stack[-1] = stack[-2] // @3264 stack[0] = stack[-1] // @3264 stack[-2] = 0x20 // } // Block ends with conditional jump to 0x3272, if !(stack[-2] < memory[stack[-1]:stack[-1] + 0x20]) label_326E: // Incoming jump from 0x326D, if not !(stack[-2] < memory[stack[-1]:stack[-1] + 0x20]) // Inputs[4] // { // @326E stack[-2] // @326E stack[-1] // @326F stack[-3] // @3270 stack[-4] // } 326E 01 ADD 326F 01 ADD 3270 90 SWAP1 3271 56 *JUMP // Stack delta = -3 // Outputs[1] { @3270 stack[-4] = stack[-1] + stack[-2] + stack[-3] } // Block ends with unconditional jump to stack[-4] label_3272: // Incoming jump from 0x326D, if !(stack[-2] < memory[stack[-1]:stack[-1] + 0x20]) 3272 5B JUMPDEST 3273 61 PUSH2 0x327a 3276 61 PUSH2 0x21ba 3279 56 *JUMP // Stack delta = +1 // Outputs[1] { @3273 stack[0] = 0x327a } // Block ends with unconditional jump to 0x21ba 327A 5B JUMPDEST 327B 01 ADD 327C 01 ADD 327D 90 SWAP1 327E 56 *JUMP 327F 5B JUMPDEST 3280 80 DUP1 3281 15 ISZERO 3282 61 PUSH2 0x328d 3285 57 *JUMPI 3286 5B JUMPDEST 3287 60 PUSH1 0x00 3289 19 NOT 328A 01 ADD 328B 90 SWAP1 328C 56 *JUMP 328D 5B JUMPDEST 328E 61 PUSH2 0x3295 3291 61 PUSH2 0x1ad2 3294 56 *JUMP 3295 5B JUMPDEST 3296 61 PUSH2 0x3286 3299 56 *JUMP 329A 5B JUMPDEST 329B 15 ISZERO 329C 61 PUSH2 0x32a1 329F 57 *JUMPI 32A0 56 *JUMP 32A1 5B JUMPDEST 32A2 60 PUSH1 0x64 32A4 60 PUSH1 0x40 32A6 51 MLOAD 32A7 62 PUSH3 0x461bcd 32AB 60 PUSH1 0xe5 32AD 1B SHL 32AE 81 DUP2 32AF 52 MSTORE 32B0 60 PUSH1 0x20 32B2 60 PUSH1 0x04 32B4 82 DUP3 32B5 01 ADD 32B6 52 MSTORE 32B7 60 PUSH1 0x20 32B9 60 PUSH1 0x24 32BB 82 DUP3 32BC 01 ADD 32BD 52 MSTORE 32BE 7F PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74 32DF 60 PUSH1 0x44 32E1 82 DUP3 32E2 01 ADD 32E3 52 MSTORE 32E4 FD *REVERT 32E5 5B JUMPDEST 32E6 61 PUSH2 0x32ed 32E9 61 PUSH2 0x29ae 32EC 56 *JUMP 32ED 5B JUMPDEST 32EE 90 SWAP1 32EF 81 DUP2 32F0 51 MLOAD 32F1 15 ISZERO 32F2 61 PUSH2 0x3393 32F5 57 *JUMPI 32F6 5B JUMPDEST 32F7 60 PUSH1 0x30 32F9 60 PUSH1 0x20 32FB 83 DUP4 32FC 01 ADD 32FD 53 MSTORE8 32FE 81 DUP2 32FF 51 MLOAD 3300 60 PUSH1 0x01 3302 90 SWAP1 3303 81 DUP2 3304 10 LT 3305 15 ISZERO 3306 61 PUSH2 0x3386 3309 57 *JUMPI 330A 5B JUMPDEST 330B 90 SWAP1 330C 60 PUSH1 0x78 330E 60 PUSH1 0x21 3310 84 DUP5 3311 01 ADD 3312 53 MSTORE8 3313 60 PUSH1 0x29 3315 91 SWAP2 3316 5B JUMPDEST 3317 80 DUP1 3318 83 DUP4 3319 11 GT 331A 61 PUSH2 0x3329 331D 57 *JUMPI 331E 50 POP 331F 61 PUSH2 0x03d5 3322 91 SWAP2 3323 50 POP 3324 15 ISZERO 3325 61 PUSH2 0x329a 3328 56 *JUMP 3329 5B JUMPDEST 332A 90 SWAP1 332B 80 DUP1 332C 7F PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 334D 60 PUSH1 0x0f 334F 61 PUSH2 0x3372 3352 93 SWAP4 3353 16 AND 3354 60 PUSH1 0x10 3356 81 DUP2 3357 10 LT 3358 15 ISZERO 3359 61 PUSH2 0x3379 335C 57 *JUMPI 335D 5B JUMPDEST 335E 1A BYTE 335F 61 PUSH2 0x3368 3362 85 DUP6 3363 87 DUP8 3364 61 PUSH2 0x3260 3367 56 *JUMP 3368 5B JUMPDEST 3369 53 MSTORE8 336A 60 PUSH1 0x04 336C 1C SHR 336D 92 SWAP3 336E 61 PUSH2 0x327f 3371 56 *JUMP 3372 5B JUMPDEST 3373 91 SWAP2 3374 90 SWAP1 3375 61 PUSH2 0x3316 3378 56 *JUMP 3379 5B JUMPDEST 337A 61 PUSH2 0x3381 337D 61 PUSH2 0x21ba 3380 56 *JUMP 3381 5B JUMPDEST 3382 61 PUSH2 0x335d 3385 56 *JUMP 3386 5B JUMPDEST 3387 61 PUSH2 0x338e 338A 61 PUSH2 0x21ba 338D 56 *JUMP 338E 5B JUMPDEST 338F 61 PUSH2 0x330a 3392 56 *JUMP 3393 5B JUMPDEST 3394 61 PUSH2 0x339b 3397 61 PUSH2 0x21ba 339A 56 *JUMP 339B 5B JUMPDEST 339C 61 PUSH2 0x32f6 339F 56 *JUMP label_33A0: // Incoming jump from 0x1DD3 // Inputs[11] // { // @33A1 stack[-3] // @33A1 stack[-1] // @33A5 stack[-8] // @33A9 stack[-7] // @33B4 stack[-5] // @33B5 stack[-9] // @33B6 stack[-4] // @33B7 stack[-2] // @33B8 stack[-10] // @33B9 stack[-6] // @33BB msg.data.length // } 33A0 5B JUMPDEST 33A1 91 SWAP2 33A2 61 PUSH2 0x3455 33A5 97 SWAP8 33A6 61 PUSH2 0x344d 33A9 97 SWAP8 33AA 61 PUSH2 0x33c1 33AD 61 PUSH2 0x343f 33B0 95 SWAP6 33B1 61 PUSH2 0x3447 33B4 98 SWAP9 33B5 9C SWAP13 33B6 97 SWAP8 33B7 95 SWAP6 33B8 9D SWAP14 33B9 99 SWAP10 33BA 9D SWAP14 33BB 36 CALLDATASIZE 33BC 91 SWAP2 33BD 61 PUSH2 0x1491 33C0 56 *JUMP // Stack delta = +6 // Outputs[16] // { // @33A1 stack[-1] = stack[-3] // @33A5 stack[-8] = 0x3455 // @33A5 stack[0] = stack[-8] // @33A9 stack[-7] = 0x344d // @33A9 stack[1] = stack[-7] // @33AA stack[2] = 0x33c1 // @33B0 stack[-3] = 0x343f // @33B4 stack[-5] = 0x3447 // @33B5 stack[-9] = stack[-5] // @33B6 stack[-4] = stack[-9] // @33B7 stack[-2] = stack[-4] // @33B9 stack[-6] = stack[-10] // @33BA stack[-10] = stack[-6] // @33BA stack[4] = stack[-2] // @33BC stack[3] = msg.data.length // @33BC stack[5] = stack[-1] // } // Block ends with call to 0x1491, returns to 0x33C1 label_33C1: // Incoming return from call to 0x1491 at 0x33C0 // Inputs[10] // { // @33C4 stack[-1] // @33C5 memory[stack[-1]:stack[-1] + 0x20] // @33C8 memory[stack[-1] + 0x20:stack[-1] + 0x20 + memory[stack[-1]:stack[-1] + 0x20]] // @33C9 stack[-5] // @33CC memory[0x40:0x60] // @33CD stack[-4] // @3411 stack[-12] // @3413 stack[-13] // @3424 stack[-2] // @3428 stack[-3] // } 33C1 5B JUMPDEST 33C2 60 PUSH1 0x20 33C4 81 DUP2 33C5 51 MLOAD 33C6 91 SWAP2 33C7 01 ADD 33C8 20 SHA3 33C9 93 SWAP4 33CA 60 PUSH1 0x40 33CC 51 MLOAD 33CD 93 SWAP4 33CE 60 PUSH1 0x20 33D0 85 DUP6 33D1 01 ADD 33D2 95 SWAP6 33D3 7F PUSH32 0xd592e25e89e493feb1c2e5e235b302997d8e3cabec1a37b4ff23a5967887ec26 33F4 87 DUP8 33F5 52 MSTORE 33F6 60 PUSH1 0x40 33F8 86 DUP7 33F9 01 ADD 33FA 52 MSTORE 33FB 60 PUSH1 0x60 33FD 85 DUP6 33FE 01 ADD 33FF 52 MSTORE 3400 15 ISZERO 3401 15 ISZERO 3402 60 PUSH1 0x80 3404 84 DUP5 3405 01 ADD 3406 52 MSTORE 3407 60 PUSH1 0x01 3409 60 PUSH1 0x01 340B 60 PUSH1 0xa0 340D 1B SHL 340E 03 SUB 340F 80 DUP1 3410 80 DUP1 3411 9C SWAP13 3412 16 AND 3413 9C SWAP13 3414 8D DUP14 3415 60 PUSH1 0xa0 3417 86 DUP7 3418 01 ADD 3419 52 MSTORE 341A 16 AND 341B 60 PUSH1 0xc0 341D 84 DUP5 341E 01 ADD 341F 52 MSTORE 3420 60 PUSH1 0xe0 3422 83 DUP4 3423 01 ADD 3424 52 MSTORE 3425 61 PUSH2 0x0100 3428 90 SWAP1 3429 81 DUP2 342A 83 DUP4 342B 01 ADD 342C 52 MSTORE 342D 81 DUP2 342E 52 MSTORE 342F 61 PUSH2 0x3437 3432 81 DUP2 3433 61 PUSH2 0x08af 3436 56 *JUMP // Stack delta = -1 // Outputs[15] // { // @33CD stack[-4] = memory[0x40:0x60] // @33D2 stack[-5] = memory[0x40:0x60] + 0x20 // @33F5 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0xd592e25e89e493feb1c2e5e235b302997d8e3cabec1a37b4ff23a5967887ec26 // @33FA memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = keccak256(memory[stack[-1] + 0x20:stack[-1] + 0x20 + memory[stack[-1]:stack[-1] + 0x20]]) // @33FF memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = stack[-4] // @3406 memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = !!stack[-5] // @3411 stack[-12] = (0x01 << 0xa0) - 0x01 // @3413 stack[-13] = stack[-12] & (0x01 << 0xa0) - 0x01 // @3419 memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = stack[-12] & (0x01 << 0xa0) - 0x01 // @341F memory[memory[0x40:0x60] + 0xc0:memory[0x40:0x60] + 0xc0 + 0x20] = stack[-13] & (0x01 << 0xa0) - 0x01 // @3424 memory[memory[0x40:0x60] + 0xe0:memory[0x40:0x60] + 0xe0 + 0x20] = stack[-2] // @342C memory[memory[0x40:0x60] + 0x0100:memory[0x40:0x60] + 0x0100 + 0x20] = stack[-3] // @342E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0100 // @342F stack[-3] = 0x3437 // @3432 stack[-2] = memory[0x40:0x60] // } // Block ends with call to 0x08af, returns to 0x3437 label_3437: // Incoming return from call to 0x08AF at 0x3436 // Inputs[4] // { // @3438 stack[-1] // @3438 memory[stack[-1]:stack[-1] + 0x20] // @3439 stack[-2] // @343A memory[stack[-2]:stack[-2] + memory[stack[-1]:stack[-1] + 0x20]] // } 3437 5B JUMPDEST 3438 51 MLOAD 3439 90 SWAP1 343A 20 SHA3 343B 61 PUSH2 0x384b 343E 56 *JUMP // Stack delta = -1 // Outputs[1] { @343A stack[-2] = keccak256(memory[stack[-2]:stack[-2] + memory[stack[-1]:stack[-1] + 0x20]]) } // Block ends with unconditional jump to 0x384b 343F 5B JUMPDEST 3440 92 SWAP3 3441 36 CALLDATASIZE 3442 91 SWAP2 3443 61 PUSH2 0x1491 3446 56 *JUMP 3447 5B JUMPDEST 3448 90 SWAP1 3449 61 PUSH2 0x35fb 344C 56 *JUMP 344D 5B JUMPDEST 344E 91 SWAP2 344F 90 SWAP1 3450 91 SWAP2 3451 61 PUSH2 0x347a 3454 56 *JUMP 3455 5B JUMPDEST 3456 16 AND 3457 14 EQ 3458 90 SWAP1 3459 56 *JUMP 345A 5B JUMPDEST 345B 60 PUSH1 0x05 345D 11 GT 345E 15 ISZERO 345F 61 PUSH2 0x3464 3462 57 *JUMPI 3463 56 *JUMP 3464 5B JUMPDEST 3465 63 PUSH4 0x4e487b71 346A 60 PUSH1 0xe0 346C 1B SHL 346D 60 PUSH1 0x00 346F 52 MSTORE 3470 60 PUSH1 0x21 3472 60 PUSH1 0x04 3474 52 MSTORE 3475 60 PUSH1 0x24 3477 60 PUSH1 0x00 3479 FD *REVERT 347A 5B JUMPDEST 347B 61 PUSH2 0x3483 347E 81 DUP2 347F 61 PUSH2 0x345a 3482 56 *JUMP 3483 5B JUMPDEST 3484 80 DUP1 3485 61 PUSH2 0x348b 3488 57 *JUMPI 3489 50 POP 348A 56 *JUMP 348B 5B JUMPDEST 348C 61 PUSH2 0x3494 348F 81 DUP2 3490 61 PUSH2 0x345a 3493 56 *JUMP 3494 5B JUMPDEST 3495 60 PUSH1 0x01 3497 81 DUP2 3498 03 SUB 3499 61 PUSH2 0x34e1 349C 57 *JUMPI 349D 60 PUSH1 0x40 349F 51 MLOAD 34A0 62 PUSH3 0x461bcd 34A4 60 PUSH1 0xe5 34A6 1B SHL 34A7 81 DUP2 34A8 52 MSTORE 34A9 60 PUSH1 0x20 34AB 60 PUSH1 0x04 34AD 82 DUP3 34AE 01 ADD 34AF 52 MSTORE 34B0 60 PUSH1 0x18 34B2 60 PUSH1 0x24 34B4 82 DUP3 34B5 01 ADD 34B6 52 MSTORE 34B7 7F PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000 34D8 60 PUSH1 0x44 34DA 82 DUP3 34DB 01 ADD 34DC 52 MSTORE 34DD 60 PUSH1 0x64 34DF 90 SWAP1 34E0 FD *REVERT 34E1 5B JUMPDEST 34E2 61 PUSH2 0x34ea 34E5 81 DUP2 34E6 61 PUSH2 0x345a 34E9 56 *JUMP 34EA 5B JUMPDEST 34EB 60 PUSH1 0x02 34ED 81 DUP2 34EE 03 SUB 34EF 61 PUSH2 0x3537 34F2 57 *JUMPI 34F3 60 PUSH1 0x40 34F5 51 MLOAD 34F6 62 PUSH3 0x461bcd 34FA 60 PUSH1 0xe5 34FC 1B SHL 34FD 81 DUP2 34FE 52 MSTORE 34FF 60 PUSH1 0x20 3501 60 PUSH1 0x04 3503 82 DUP3 3504 01 ADD 3505 52 MSTORE 3506 60 PUSH1 0x1f 3508 60 PUSH1 0x24 350A 82 DUP3 350B 01 ADD 350C 52 MSTORE 350D 7F PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800 352E 60 PUSH1 0x44 3530 82 DUP3 3531 01 ADD 3532 52 MSTORE 3533 60 PUSH1 0x64 3535 90 SWAP1 3536 FD *REVERT 3537 5B JUMPDEST 3538 61 PUSH2 0x3540 353B 81 DUP2 353C 61 PUSH2 0x345a 353F 56 *JUMP 3540 5B JUMPDEST 3541 60 PUSH1 0x03 3543 81 DUP2 3544 03 SUB 3545 61 PUSH2 0x3598 3548 57 *JUMPI 3549 60 PUSH1 0x40 354B 51 MLOAD 354C 62 PUSH3 0x461bcd 3550 60 PUSH1 0xe5 3552 1B SHL 3553 81 DUP2 3554 52 MSTORE 3555 60 PUSH1 0x20 3557 60 PUSH1 0x04 3559 82 DUP3 355A 01 ADD 355B 52 MSTORE 355C 60 PUSH1 0x22 355E 60 PUSH1 0x24 3560 82 DUP3 3561 01 ADD 3562 52 MSTORE 3563 7F PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c 3584 60 PUSH1 0x44 3586 82 DUP3 3587 01 ADD 3588 52 MSTORE 3589 61 PUSH2 0x7565 358C 60 PUSH1 0xf0 358E 1B SHL 358F 60 PUSH1 0x64 3591 82 DUP3 3592 01 ADD 3593 52 MSTORE 3594 60 PUSH1 0x84 3596 90 SWAP1 3597 FD *REVERT 3598 5B JUMPDEST 3599 80 DUP1 359A 61 PUSH2 0x35a4 359D 60 PUSH1 0x04 359F 92 SWAP3 35A0 61 PUSH2 0x345a 35A3 56 *JUMP 35A4 5B JUMPDEST 35A5 14 EQ 35A6 61 PUSH2 0x35ab 35A9 57 *JUMPI 35AA 56 *JUMP 35AB 5B JUMPDEST 35AC 60 PUSH1 0x40 35AE 51 MLOAD 35AF 62 PUSH3 0x461bcd 35B3 60 PUSH1 0xe5 35B5 1B SHL 35B6 81 DUP2 35B7 52 MSTORE 35B8 60 PUSH1 0x20 35BA 60 PUSH1 0x04 35BC 82 DUP3 35BD 01 ADD 35BE 52 MSTORE 35BF 60 PUSH1 0x22 35C1 60 PUSH1 0x24 35C3 82 DUP3 35C4 01 ADD 35C5 52 MSTORE 35C6 7F PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c 35E7 60 PUSH1 0x44 35E9 82 DUP3 35EA 01 ADD 35EB 52 MSTORE 35EC 61 PUSH2 0x7565 35EF 60 PUSH1 0xf0 35F1 1B SHL 35F2 60 PUSH1 0x64 35F4 82 DUP3 35F5 01 ADD 35F6 52 MSTORE 35F7 60 PUSH1 0x84 35F9 90 SWAP1 35FA FD *REVERT 35FB 5B JUMPDEST 35FC 90 SWAP1 35FD 60 PUSH1 0x41 35FF 81 DUP2 3600 51 MLOAD 3601 14 EQ 3602 60 PUSH1 0x00 3604 14 EQ 3605 61 PUSH2 0x3629 3608 57 *JUMPI 3609 61 PUSH2 0x3625 360C 91 SWAP2 360D 60 PUSH1 0x20 360F 82 DUP3 3610 01 ADD 3611 51 MLOAD 3612 90 SWAP1 3613 60 PUSH1 0x60 3615 60 PUSH1 0x40 3617 84 DUP5 3618 01 ADD 3619 51 MLOAD 361A 93 SWAP4 361B 01 ADD 361C 51 MLOAD 361D 60 PUSH1 0x00 361F 1A BYTE 3620 90 SWAP1 3621 61 PUSH2 0x3633 3624 56 *JUMP 3625 5B JUMPDEST 3626 90 SWAP1 3627 91 SWAP2 3628 56 *JUMP 3629 5B JUMPDEST 362A 50 POP 362B 50 POP 362C 60 PUSH1 0x00 362E 90 SWAP1 362F 60 PUSH1 0x02 3631 90 SWAP1 3632 56 *JUMP 3633 5B JUMPDEST 3634 92 SWAP3 3635 91 SWAP2 3636 90 SWAP1 3637 7F PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 3658 83 DUP4 3659 11 GT 365A 61 PUSH2 0x36dd 365D 57 *JUMPI 365E 60 PUSH1 0xff 3660 16 AND 3661 60 PUSH1 0x1b 3663 81 DUP2 3664 14 EQ 3665 15 ISZERO 3666 80 DUP1 3667 61 PUSH2 0x36d2 366A 57 *JUMPI 366B 5B JUMPDEST 366C 61 PUSH2 0x36c6 366F 57 *JUMPI 3670 91 SWAP2 3671 60 PUSH1 0x80 3673 94 SWAP5 3674 93 SWAP4 3675 91 SWAP2 3676 60 PUSH1 0x20 3678 93 SWAP4 3679 60 PUSH1 0x40 367B 51 MLOAD 367C 93 SWAP4 367D 84 DUP5 367E 52 MSTORE 367F 84 DUP5 3680 84 DUP5 3681 01 ADD 3682 52 MSTORE 3683 60 PUSH1 0x40 3685 83 DUP4 3686 01 ADD 3687 52 MSTORE 3688 60 PUSH1 0x60 368A 82 DUP3 368B 01 ADD 368C 52 MSTORE 368D 60 PUSH1 0x00 368F 93 SWAP4 3690 84 DUP5 3691 91 SWAP2 3692 82 DUP3 3693 80 DUP1 3694 52 MSTORE 3695 60 PUSH1 0x01 3697 5A GAS 3698 FA STATICCALL 3699 15 ISZERO 369A 61 PUSH2 0x36b9 369D 57 *JUMPI 369E 5B JUMPDEST 369F 81 DUP2 36A0 51 MLOAD 36A1 60 PUSH1 0x01 36A3 60 PUSH1 0x01 36A5 60 PUSH1 0xa0 36A7 1B SHL 36A8 03 SUB 36A9 81 DUP2 36AA 16 AND 36AB 15 ISZERO 36AC 61 PUSH2 0x36b3 36AF 57 *JUMPI 36B0 91 SWAP2 36B1 90 SWAP1 36B2 56 *JUMP 36B3 5B JUMPDEST 36B4 50 POP 36B5 60 PUSH1 0x01 36B7 90 SWAP1 36B8 56 *JUMP 36B9 5B JUMPDEST 36BA 61 PUSH2 0x36c1 36BD 61 PUSH2 0x1bf1 36C0 56 *JUMP 36C1 5B JUMPDEST 36C2 61 PUSH2 0x369e 36C5 56 *JUMP 36C6 5B JUMPDEST 36C7 50 POP 36C8 50 POP 36C9 50 POP 36CA 50 POP 36CB 60 PUSH1 0x00 36CD 90 SWAP1 36CE 60 PUSH1 0x04 36D0 90 SWAP1 36D1 56 *JUMP 36D2 5B JUMPDEST 36D3 50 POP 36D4 60 PUSH1 0x1c 36D6 81 DUP2 36D7 14 EQ 36D8 15 ISZERO 36D9 61 PUSH2 0x366b 36DC 56 *JUMP 36DD 5B JUMPDEST 36DE 50 POP 36DF 50 POP 36E0 50 POP 36E1 50 POP 36E2 60 PUSH1 0x00 36E4 90 SWAP1 36E5 60 PUSH1 0x03 36E7 90 SWAP1 36E8 56 *JUMP 36E9 5B JUMPDEST 36EA 92 SWAP3 36EB 61 PUSH2 0x3792 36EE 95 SWAP6 36EF 96 SWAP7 36F0 98 SWAP9 36F1 92 SWAP3 36F2 61 PUSH2 0x379a 36F5 9A SWAP11 36F6 95 SWAP6 36F7 98 SWAP9 36F8 61 PUSH2 0x3709 36FB 61 PUSH2 0x3447 36FE 96 SWAP7 36FF 61 PUSH2 0x343f 3702 95 SWAP6 3703 36 CALLDATASIZE 3704 91 SWAP2 3705 61 PUSH2 0x1491 3708 56 *JUMP 3709 5B JUMPDEST 370A 60 PUSH1 0x20 370C 81 DUP2 370D 51 MLOAD 370E 91 SWAP2 370F 01 ADD 3710 20 SHA3 3711 92 SWAP3 3712 60 PUSH1 0x40 3714 51 MLOAD 3715 92 SWAP3 3716 60 PUSH1 0x20 3718 84 DUP5 3719 01 ADD 371A 94 SWAP5 371B 7F PUSH32 0x799be5bb05379995b02bf17ba94686d3dfed3dd5e54dba2f0e230a9acf48e072 373C 86 DUP7 373D 52 MSTORE 373E 60 PUSH1 0x40 3740 85 DUP6 3741 01 ADD 3742 52 MSTORE 3743 60 PUSH1 0x60 3745 84 DUP5 3746 01 ADD 3747 52 MSTORE 3748 15 ISZERO 3749 15 ISZERO 374A 60 PUSH1 0x80 374C 83 DUP4 374D 01 ADD 374E 52 MSTORE 374F 60 PUSH1 0x01 3751 60 PUSH1 0x01 3753 60 PUSH1 0xa0 3755 1B SHL 3756 03 SUB 3757 9A SWAP11 3758 8B DUP12 3759 80 DUP1 375A 9B SWAP12 375B 16 AND 375C 60 PUSH1 0xa0 375E 84 DUP5 375F 01 ADD 3760 52 MSTORE 3761 60 PUSH1 0xc0 3763 83 DUP4 3764 01 ADD 3765 52 MSTORE 3766 60 PUSH1 0xe0 3768 82 DUP3 3769 01 ADD 376A 52 MSTORE 376B 60 PUSH1 0xe0 376D 81 DUP2 376E 52 MSTORE 376F 61 PUSH2 0x0100 3772 81 DUP2 3773 01 ADD 3774 81 DUP2 3775 81 DUP2 3776 10 LT 3777 67 PUSH8 0xffffffffffffffff 3780 82 DUP3 3781 11 GT 3782 17 OR 3783 61 PUSH2 0x37a1 3786 57 *JUMPI 3787 5B JUMPDEST 3788 60 PUSH1 0x40 378A 52 MSTORE 378B 51 MLOAD 378C 90 SWAP1 378D 20 SHA3 378E 61 PUSH2 0x384b 3791 56 *JUMP 3792 5B JUMPDEST 3793 94 SWAP5 3794 90 SWAP1 3795 94 SWAP5 3796 61 PUSH2 0x347a 3799 56 *JUMP 379A 5B JUMPDEST 379B 16 AND 379C 91 SWAP2 379D 16 AND 379E 14 EQ 379F 90 SWAP1 37A0 56 *JUMP label_37A1: // Incoming jump from 0x3844, if (memory[0x40:0x60] + 0xe0 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0xe0 < memory[0x40:0x60]) 37A1 5B JUMPDEST 37A2 61 PUSH2 0x37a9 37A5 61 PUSH2 0x0837 37A8 56 *JUMP // Stack delta = +1 // Outputs[1] { @37A2 stack[0] = 0x37a9 } // Block ends with unconditional jump to 0x0837 37A9 5B JUMPDEST 37AA 61 PUSH2 0x3787 37AD 56 *JUMP label_37AE: // Incoming jump from 0x1396 // Inputs[9] // { // @37B2 stack[-6] // @37B6 stack[-3] // @37BD stack[-1] // @37C1 stack[-5] // @37C2 stack[-8] // @37C3 stack[-4] // @37C4 stack[-7] // @37C5 stack[-2] // @37C6 msg.data.length // } 37AE 5B JUMPDEST 37AF 61 PUSH2 0x3455 37B2 95 SWAP6 37B3 61 PUSH2 0x3447 37B6 93 SWAP4 37B7 61 PUSH2 0x37cc 37BA 61 PUSH2 0x343f 37BD 93 SWAP4 37BE 61 PUSH2 0x344d 37C1 98 SWAP9 37C2 9B SWAP12 37C3 97 SWAP8 37C4 9A SWAP11 37C5 95 SWAP6 37C6 36 CALLDATASIZE 37C7 91 SWAP2 37C8 61 PUSH2 0x1491 37CB 56 *JUMP // Stack delta = +6 // Outputs[14] // { // @37B2 stack[0] = stack[-6] // @37B2 stack[-6] = 0x3455 // @37B6 stack[1] = stack[-3] // @37B6 stack[-3] = 0x3447 // @37B7 stack[2] = 0x37cc // @37BD stack[-1] = 0x343f // @37C1 stack[-5] = 0x344d // @37C2 stack[-8] = stack[-5] // @37C3 stack[-4] = stack[-8] // @37C4 stack[-7] = stack[-4] // @37C5 stack[-2] = stack[-7] // @37C5 stack[4] = stack[-2] // @37C7 stack[3] = msg.data.length // @37C7 stack[5] = stack[-1] // } // Block ends with call to 0x1491, returns to 0x37CC label_37CC: // Incoming return from call to 0x1491 at 0x37CB // Inputs[8] // { // @37CF stack[-1] // @37D0 memory[stack[-1]:stack[-1] + 0x20] // @37D3 memory[stack[-1] + 0x20:stack[-1] + 0x20 + memory[stack[-1]:stack[-1] + 0x20]] // @37D4 stack[-3] // @37D7 memory[0x40:0x60] // @37D8 stack[-2] // @380E stack[-10] // @3819 stack[-11] // } 37CC 5B JUMPDEST 37CD 60 PUSH1 0x20 37CF 81 DUP2 37D0 51 MLOAD 37D1 91 SWAP2 37D2 01 ADD 37D3 20 SHA3 37D4 91 SWAP2 37D5 60 PUSH1 0x40 37D7 51 MLOAD 37D8 91 SWAP2 37D9 60 PUSH1 0x20 37DB 83 DUP4 37DC 01 ADD 37DD 93 SWAP4 37DE 7F PUSH32 0x9eacf97babb44a432a52c1157cd6f0c3e91062648f8853a5b7e586dbfdeb3d06 37FF 85 DUP6 3800 52 MSTORE 3801 60 PUSH1 0x40 3803 84 DUP5 3804 01 ADD 3805 52 MSTORE 3806 60 PUSH1 0x01 3808 60 PUSH1 0x01 380A 60 PUSH1 0xa0 380C 1B SHL 380D 03 SUB 380E 9A SWAP11 380F 8B DUP12 3810 80 DUP1 3811 92 SWAP3 3812 16 AND 3813 60 PUSH1 0x60 3815 85 DUP6 3816 01 ADD 3817 52 MSTORE 3818 16 AND 3819 9A SWAP11 381A 8B DUP12 381B 60 PUSH1 0x80 381D 84 DUP5 381E 01 ADD 381F 52 MSTORE 3820 60 PUSH1 0xa0 3822 83 DUP4 3823 01 ADD 3824 52 MSTORE 3825 60 PUSH1 0xc0 3827 82 DUP3 3828 01 ADD 3829 52 MSTORE 382A 60 PUSH1 0xc0 382C 81 DUP2 382D 52 MSTORE 382E 60 PUSH1 0xe0 3830 81 DUP2 3831 01 ADD 3832 81 DUP2 3833 81 DUP2 3834 10 LT 3835 67 PUSH8 0xffffffffffffffff 383E 82 DUP3 383F 11 GT 3840 17 OR 3841 61 PUSH2 0x37a1 3844 57 *JUMPI // Stack delta = +0 // Outputs[12] // { // @37D8 stack[-2] = memory[0x40:0x60] // @37DD stack[-3] = memory[0x40:0x60] + 0x20 // @3800 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x9eacf97babb44a432a52c1157cd6f0c3e91062648f8853a5b7e586dbfdeb3d06 // @3805 memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = keccak256(memory[stack[-1] + 0x20:stack[-1] + 0x20 + memory[stack[-1]:stack[-1] + 0x20]]) // @380E stack[-10] = (0x01 << 0xa0) - 0x01 // @3817 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = stack[-2] & (0x01 << 0xa0) - 0x01 // @3819 stack[-11] = stack[-10] & (0x01 << 0xa0) - 0x01 // @381F memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = stack[-10] & (0x01 << 0xa0) - 0x01 // @3824 memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = stack[-11] // @3829 memory[memory[0x40:0x60] + 0xc0:memory[0x40:0x60] + 0xc0 + 0x20] = stack[-3] // @382D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xc0 // @3831 stack[-1] = memory[0x40:0x60] + 0xe0 // } // Block ends with conditional jump to 0x37a1, if (memory[0x40:0x60] + 0xe0 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0xe0 < memory[0x40:0x60]) label_3845: // Incoming jump from 0x3844, if not (memory[0x40:0x60] + 0xe0 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0xe0 < memory[0x40:0x60]) // Inputs[5] // { // @3847 stack[-1] // @3848 stack[-2] // @3848 memory[stack[-2]:stack[-2] + 0x20] // @3849 stack[-3] // @384A memory[stack[-3]:stack[-3] + memory[stack[-2]:stack[-2] + 0x20]] // } 3845 60 PUSH1 0x40 3847 52 MSTORE 3848 51 MLOAD 3849 90 SWAP1 384A 20 SHA3 384B 5B JUMPDEST 384C 61 PUSH2 0x3853 384F 61 PUSH2 0x2591 3852 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @3847 memory[0x40:0x60] = stack[-1] // @384A stack[-3] = keccak256(memory[stack[-3]:stack[-3] + memory[stack[-2]:stack[-2] + 0x20]]) // @384C stack[-2] = 0x3853 // } // Block ends with call to 0x2591, returns to 0x3853 label_3853: // Incoming return from call to 0x2591 at 0x3852 // Incoming return from call to 0x2591 at 0x3852 // Inputs[3] // { // @3854 stack[-2] // @3854 stack[-1] // @3857 memory[0x40:0x60] // } 3853 5B JUMPDEST 3854 90 SWAP1 3855 60 PUSH1 0x40 3857 51 MLOAD 3858 90 SWAP1 3859 60 PUSH1 0x20 385B 82 DUP3 385C 01 ADD 385D 92 SWAP3 385E 7F PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 387F 84 DUP5 3880 52 MSTORE 3881 60 PUSH1 0x22 3883 83 DUP4 3884 01 ADD 3885 52 MSTORE 3886 60 PUSH1 0x42 3888 82 DUP3 3889 01 ADD 388A 52 MSTORE 388B 60 PUSH1 0x42 388D 81 DUP2 388E 52 MSTORE 388F 61 PUSH2 0x267c 3892 81 DUP2 3893 61 PUSH2 0x0877 3896 56 *JUMP // Stack delta = +2 // Outputs[8] // { // @3858 stack[-1] = memory[0x40:0x60] // @385D stack[-2] = memory[0x40:0x60] + 0x20 // @3880 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x1901000000000000000000000000000000000000000000000000000000000000 // @3885 memory[memory[0x40:0x60] + 0x22:memory[0x40:0x60] + 0x22 + 0x20] = stack[-1] // @388A memory[memory[0x40:0x60] + 0x42:memory[0x40:0x60] + 0x42 + 0x20] = stack[-2] // @388E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x42 // @388F stack[0] = 0x267c // @3892 stack[1] = memory[0x40:0x60] // } // Block ends with call to 0x0877, returns to 0x267C label_3897: // Incoming call from 0x1362, returns to 0x1363 // Inputs[3] // { // @3898 stack[-2] // @3898 stack[-1] // @389D storage[stack[-2]] // } 3897 5B JUMPDEST 3898 90 SWAP1 3899 60 PUSH1 0x00 389B 5B JUMPDEST 389C 81 DUP2 389D 54 SLOAD 389E 81 DUP2 389F 10 LT 38A0 15 ISZERO 38A1 61 PUSH2 0x38df 38A4 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @3898 stack[-2] = stack[-1] // @3898 stack[-1] = stack[-2] // @3899 stack[0] = 0x00 // } // Block ends with conditional jump to 0x38df, if !(0x00 < storage[stack[-2]]) label_38A5: // Incoming jump from 0x38A4, if not !(0x00 < storage[stack[-2]]) // Incoming jump from 0x38A4, if not !(stack[-1] < storage[stack[-2]]) // Inputs[2] // { // @38A8 stack[-1] // @38A9 stack[-2] // } 38A5 61 PUSH2 0x38ae 38A8 81 DUP2 38A9 83 DUP4 38AA 61 PUSH2 0x21d1 38AD 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @38A5 stack[0] = 0x38ae // @38A8 stack[1] = stack[-1] // @38A9 stack[2] = stack[-2] // } // Block ends with call to 0x21d1, returns to 0x38AE label_38AE: // Incoming return from call to 0x21D1 at 0x38AD // Inputs[3] // { // @38B0 storage[stack[-2]] // @38B0 stack[-2] // @38B9 stack[-5] // } 38AE 5B JUMPDEST 38AF 50 POP 38B0 54 SLOAD 38B1 60 PUSH1 0x01 38B3 60 PUSH1 0x01 38B5 60 PUSH1 0xa0 38B7 1B SHL 38B8 03 SUB 38B9 84 DUP5 38BA 81 DUP2 38BB 16 AND 38BC 91 SWAP2 38BD 16 AND 38BE 14 EQ 38BF 61 PUSH2 0x38d0 38C2 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x38d0, if storage[stack[-2]] & (0x01 << 0xa0) - 0x01 == (0x01 << 0xa0) - 0x01 & stack[-5] label_38C3: // Incoming jump from 0x38C2, if not storage[stack[-2]] & (0x01 << 0xa0) - 0x01 == (0x01 << 0xa0) - 0x01 & stack[-5] // Inputs[1] { @38C6 stack[-1] } 38C3 61 PUSH2 0x38cb 38C6 90 SWAP1 38C7 61 PUSH2 0x22fa 38CA 56 *JUMP // Stack delta = +1 // Outputs[2] // { // @38C6 stack[0] = stack[-1] // @38C6 stack[-1] = 0x38cb // } // Block ends with call to 0x22fa, returns to 0x38CB label_38CB: // Incoming return from call to 0x22FA at 0x38CA 38CB 5B JUMPDEST 38CC 61 PUSH2 0x389b 38CF 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x389b label_38D0: // Incoming jump from 0x38C2, if storage[stack[-2]] & (0x01 << 0xa0) - 0x01 == (0x01 << 0xa0) - 0x01 & stack[-5] // Inputs[3] // { // @38D1 stack[-2] // @38D1 stack[-1] // @38D5 stack[-3] // } 38D0 5B JUMPDEST 38D1 90 SWAP1 38D2 61 PUSH2 0x38db 38D5 92 SWAP3 38D6 50 POP 38D7 61 PUSH2 0x21d1 38DA 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @38D1 stack[-1] = stack[-2] // @38D1 stack[-2] = stack[-1] // @38D5 stack[-3] = 0x38db // } // Block ends with call to 0x21d1, returns to 0x38DB label_38DB: // Incoming return from call to 0x21D1 at 0x38DA // Inputs[2] // { // @38DD stack[-2] // @38DD stack[-3] // } 38DB 5B JUMPDEST 38DC 50 POP 38DD 90 SWAP1 38DE 56 *JUMP // Stack delta = -2 // Outputs[1] { @38DD stack[-3] = stack[-2] } // Block ends with unconditional jump to stack[-3] label_38DF: // Incoming jump from 0x38A4, if !(0x00 < storage[stack[-2]]) // Incoming jump from 0x38A4, if !(stack[-1] < storage[stack[-2]]) // Inputs[2] // { // @38E4 memory[0x40:0x60] // @3922 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64] // } 38DF 5B JUMPDEST 38E0 60 PUSH1 0x64 38E2 60 PUSH1 0x40 38E4 51 MLOAD 38E5 62 PUSH3 0x461bcd 38E9 60 PUSH1 0xe5 38EB 1B SHL 38EC 81 DUP2 38ED 52 MSTORE 38EE 60 PUSH1 0x20 38F0 60 PUSH1 0x04 38F2 82 DUP3 38F3 01 ADD 38F4 52 MSTORE 38F5 60 PUSH1 0x10 38F7 60 PUSH1 0x24 38F9 82 DUP3 38FA 01 ADD 38FB 52 MSTORE 38FC 7F PUSH32 0x696e76616c696420766572696669657200000000000000000000000000000000 391D 60 PUSH1 0x44 391F 82 DUP3 3920 01 ADD 3921 52 MSTORE 3922 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @38ED memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @38F4 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @38FB memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x10 // @3921 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x696e76616c696420766572696669657200000000000000000000000000000000 // @3922 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64]); // } // Block terminates 3923 5B JUMPDEST 3924 80 DUP1 3925 54 SLOAD 3926 80 DUP1 3927 15 ISZERO 3928 61 PUSH2 0x3950 392B 57 *JUMPI 392C 60 PUSH1 0x00 392E 19 NOT 392F 01 ADD 3930 90 SWAP1 3931 60 PUSH1 0x00 3933 61 PUSH2 0x393c 3936 83 DUP4 3937 83 DUP4 3938 61 PUSH2 0x21d1 393B 56 *JUMP 393C 5B JUMPDEST 393D 61 PUSH2 0x3944 3940 57 *JUMPI 3941 55 SSTORE 3942 55 SSTORE 3943 56 *JUMP 3944 5B JUMPDEST 3945 61 PUSH2 0x394c 3948 61 PUSH2 0x2079 394B 56 *JUMP 394C 5B JUMPDEST 394D 55 SSTORE 394E 55 SSTORE 394F 56 *JUMP 3950 5B JUMPDEST 3951 63 PUSH4 0x4e487b71 3956 60 PUSH1 0xe0 3958 1B SHL 3959 60 PUSH1 0x00 395B 52 MSTORE 395C 60 PUSH1 0x31 395E 60 PUSH1 0x04 3960 52 MSTORE 3961 60 PUSH1 0x24 3963 60 PUSH1 0x00 3965 FD *REVERT 3966 5B JUMPDEST 3967 90 SWAP1 3968 60 PUSH1 0x00 396A 5B JUMPDEST 396B 81 DUP2 396C 54 SLOAD 396D 80 DUP1 396E 82 DUP3 396F 10 LT 3970 15 ISZERO 3971 61 PUSH2 0x26d1 3974 57 *JUMPI 3975 61 PUSH2 0x397e 3978 82 DUP3 3979 84 DUP5 397A 61 PUSH2 0x21d1 397D 56 *JUMP 397E 5B JUMPDEST 397F 50 POP 3980 90 SWAP1 3981 60 PUSH1 0x01 3983 60 PUSH1 0x01 3985 60 PUSH1 0xa0 3987 1B SHL 3988 03 SUB 3989 80 DUP1 398A 92 SWAP3 398B 54 SLOAD 398C 16 AND 398D 82 DUP3 398E 86 DUP7 398F 16 AND 3990 14 EQ 3991 61 PUSH2 0x39a4 3994 57 *JUMPI 3995 50 POP 3996 50 POP 3997 61 PUSH2 0x399f 399A 90 SWAP1 399B 61 PUSH2 0x22fa 399E 56 *JUMP 399F 5B JUMPDEST 39A0 61 PUSH2 0x396a 39A3 56 *JUMP 39A4 5B JUMPDEST 39A5 61 PUSH2 0x0917 39A8 94 SWAP5 39A9 50 POP 39AA 61 PUSH2 0x39c3 39AD 61 PUSH2 0x39cb 39B0 91 SWAP2 39B1 60 PUSH1 0x00 39B3 19 NOT 39B4 81 DUP2 39B5 01 ADD 39B6 90 SWAP1 39B7 81 DUP2 39B8 11 GT 39B9 61 PUSH2 0x3a69 39BC 57 *JUMPI 39BD 5B JUMPDEST 39BE 85 DUP6 39BF 61 PUSH2 0x21d1 39C2 56 *JUMP 39C3 5B JUMPDEST 39C4 50 POP 39C5 92 SWAP3 39C6 84 DUP5 39C7 61 PUSH2 0x21d1 39CA 56 *JUMP 39CB 5B JUMPDEST 39CC 91 SWAP2 39CD 90 SWAP1 39CE 91 SWAP2 39CF 61 PUSH2 0x3a5c 39D2 57 *JUMPI 39D3 5B JUMPDEST 39D4 82 DUP3 39D5 82 DUP3 39D6 03 SUB 39D7 61 PUSH2 0x39e3 39DA 57 *JUMPI 39DB 5B JUMPDEST 39DC 50 POP 39DD 50 POP 39DE 50 POP 39DF 61 PUSH2 0x3923 39E2 56 *JUMP 39E3 5B JUMPDEST 39E4 82 DUP3 39E5 61 PUSH2 0x3a19 39E8 60 PUSH1 0xff 39EA 92 SWAP3 39EB 61 PUSH2 0x3a54 39EE 95 SWAP6 39EF 54 SLOAD 39F0 16 AND 39F1 84 DUP5 39F2 90 SWAP1 39F3 60 PUSH1 0x01 39F5 60 PUSH1 0x01 39F7 60 PUSH1 0xa0 39F9 1B SHL 39FA 03 SUB 39FB 16 AND 39FC 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 3A11 19 NOT 3A12 82 DUP3 3A13 54 SLOAD 3A14 16 AND 3A15 17 OR 3A16 90 SWAP1 3A17 55 SSTORE 3A18 56 *JUMP 3A19 5B JUMPDEST 3A1A 54 SLOAD 3A1B 60 PUSH1 0xa0 3A1D 1C SHR 3A1E 16 AND 3A1F 7F PUSH32 0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff 3A40 60 PUSH1 0xff 3A42 60 PUSH1 0xa0 3A44 1B SHL 3A45 83 DUP4 3A46 54 SLOAD 3A47 92 SWAP3 3A48 15 ISZERO 3A49 15 ISZERO 3A4A 60 PUSH1 0xa0 3A4C 1B SHL 3A4D 16 AND 3A4E 91 SWAP2 3A4F 16 AND 3A50 17 OR 3A51 90 SWAP1 3A52 55 SSTORE 3A53 56 *JUMP 3A54 5B JUMPDEST 3A55 38 CODESIZE 3A56 80 DUP1 3A57 80 DUP1 3A58 61 PUSH2 0x39db 3A5B 56 *JUMP 3A5C 5B JUMPDEST 3A5D 61 PUSH2 0x3a64 3A60 61 PUSH2 0x2079 3A63 56 *JUMP 3A64 5B JUMPDEST 3A65 61 PUSH2 0x39d3 3A68 56 *JUMP 3A69 5B JUMPDEST 3A6A 61 PUSH2 0x3a71 3A6D 61 PUSH2 0x1ad2 3A70 56 *JUMP 3A71 5B JUMPDEST 3A72 61 PUSH2 0x39bd 3A75 56 *JUMP label_3A76: // Incoming call from 0x075A, returns to 0x075B // Inputs[2] // { // @3A79 memory[0x40:0x60] // @3A7A stack[-1] // } 3A76 5B JUMPDEST 3A77 60 PUSH1 0x40 3A79 51 MLOAD 3A7A 90 SWAP1 3A7B 61 PUSH2 0x3a83 3A7E 82 DUP3 3A7F 61 PUSH2 0x084e 3A82 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @3A7A stack[0] = stack[-1] // @3A7A stack[-1] = memory[0x40:0x60] // @3A7B stack[1] = 0x3a83 // @3A7E stack[2] = memory[0x40:0x60] // } // Block ends with call to 0x084e, returns to 0x3A83 label_3A83: // Incoming return from call to 0x084E at 0x3A82 // Inputs[4] // { // @3A86 stack[-1] // @3A88 stack[-2] // @3A8C msg.data.length // @3A90 msg.data[msg.data.length:msg.data.length + 0x20] // } 3A83 5B JUMPDEST 3A84 60 PUSH1 0x0a 3A86 90 SWAP1 3A87 81 DUP2 3A88 83 DUP4 3A89 52 MSTORE 3A8A 60 PUSH1 0x20 3A8C 36 CALLDATASIZE 3A8D 81 DUP2 3A8E 85 DUP6 3A8F 01 ADD 3A90 37 CALLDATACOPY 3A91 60 PUSH1 0x00 3A93 90 SWAP1 3A94 81 DUP2 3A95 5B JUMPDEST 3A96 83 DUP4 3A97 81 DUP2 3A98 10 LT 3A99 61 PUSH2 0x3aa3 3A9C 57 *JUMPI // Stack delta = +3 // Outputs[6] // { // @3A86 stack[-1] = 0x0a // @3A89 memory[stack[-2]:stack[-2] + 0x20] = 0x0a // @3A90 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[msg.data.length:msg.data.length + 0x20] // @3A93 stack[0] = 0x00 // @3A93 stack[1] = stack[-1] // @3A94 stack[2] = 0x00 // } // Block ends with conditional jump to 0x3aa3, if 0x00 < 0x0a label_3A9D: // Incoming jump from 0x3A9C, if not stack[-1] < stack[-4] // Incoming jump from 0x3A9C, if not 0x00 < 0x0a // Inputs[2] // { // @3AA1 stack[-5] // @3AA1 stack[-6] // } 3A9D 50 POP 3A9E 50 POP 3A9F 50 POP 3AA0 50 POP 3AA1 90 SWAP1 3AA2 56 *JUMP // Stack delta = -5 // Outputs[1] { @3AA1 stack[-6] = stack[-5] } // Block ends with unconditional jump to stack[-6] label_3AA3: // Incoming jump from 0x3A9C, if stack[-1] < stack[-4] // Incoming jump from 0x3A9C, if 0x00 < 0x0a // Inputs[2] // { // @3AA4 stack[-1] // @3ACD stack[-2] // } 3AA3 5B JUMPDEST 3AA4 80 DUP1 3AA5 7F PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 3AC6 61 PUSH2 0x3ad2 3AC9 61 PUSH2 0x3ae6 3ACC 93 SWAP4 3ACD 85 DUP6 3ACE 61 PUSH2 0x3260 3AD1 56 *JUMP // Stack delta = +5 // Outputs[6] // { // @3AA4 stack[0] = stack[-1] // @3AA5 stack[1] = 0xff00000000000000000000000000000000000000000000000000000000000000 // @3AC6 stack[2] = 0x3ad2 // @3ACC stack[3] = stack[-1] // @3ACC stack[-1] = 0x3ae6 // @3ACD stack[4] = stack[-2] // } // Block ends with call to 0x3260, returns to 0x3AD2 label_3AD2: // Incoming return from call to 0x3260 at 0x3AD1 // Inputs[6] // { // @3AD3 stack[-1] // @3AD3 memory[stack[-1]:stack[-1] + 0x20] // @3AD4 stack[-2] // @3AD5 stack[-6] // @3ADA stack[-3] // @3ADB stack[-8] // } 3AD2 5B JUMPDEST 3AD3 51 MLOAD 3AD4 16 AND 3AD5 84 DUP5 3AD6 1A BYTE 3AD7 61 PUSH2 0x3ae0 3ADA 82 DUP3 3ADB 88 DUP9 3ADC 61 PUSH2 0x3260 3ADF 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3AD6 stack[-2] = byte(memory[stack[-1]:stack[-1] + 0x20] & stack[-2], stack[-6]) // @3AD7 stack[-1] = 0x3ae0 // @3ADA stack[0] = stack[-3] // @3ADB stack[1] = stack[-8] // } // Block ends with call to 0x3260, returns to 0x3AE0 label_3AE0: // Incoming return from call to 0x3260 at 0x3ADF // Inputs[2] // { // @3AE1 stack[-1] // @3AE1 stack[-2] // } 3AE0 5B JUMPDEST 3AE1 53 MSTORE8 3AE2 61 PUSH2 0x22fa 3AE5 56 *JUMP // Stack delta = -2 // Outputs[1] { @3AE1 memory[stack[-1]:stack[-1] + 0x01] = stack[-2] } // Block ends with unconditional jump to 0x22fa label_3AE6: // Incoming return from call to 0x3AD2 at 0x3AD1 3AE6 5B JUMPDEST 3AE7 61 PUSH2 0x3a95 3AEA 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x3a95 label_3AEB: // Incoming jump from 0x1390 // Inputs[1] { @3AEF stack[-1] } 3AEB 5B JUMPDEST 3AEC 61 PUSH2 0x3af4 3AEF 90 SWAP1 3AF0 61 PUSH2 0x15dc 3AF3 56 *JUMP // Stack delta = +1 // Outputs[2] // { // @3AEF stack[0] = stack[-1] // @3AEF stack[-1] = 0x3af4 // } // Block ends with call to 0x15dc, returns to 0x3AF4 label_3AF4: // Incoming return from call to 0x15DC at 0x3AF3 // Inputs[3] // { // @3AF5 stack[-2] // @3AF5 stack[-1] // @3AF7 storage[stack[-1]] // } 3AF4 5B JUMPDEST 3AF5 90 SWAP1 3AF6 81 DUP2 3AF7 54 SLOAD 3AF8 91 SWAP2 3AF9 60 PUSH1 0x01 3AFB 83 DUP4 3AFC 01 ADD 3AFD 90 SWAP1 3AFE 55 SSTORE 3AFF 56 *JUMP // Stack delta = -1 // Outputs[2] // { // @3AF8 stack[-2] = storage[stack[-1]] // @3AFE storage[stack[-1]] = storage[stack[-1]] + 0x01 // } // Block ends with unconditional jump to stack[-2] 3B00 FE *ASSERT 3B01 A2 LOG2 3B02 64 PUSH5 0x6970667358 3B08 22 22 3B09 12 SLT 3B0A 20 SHA3 3B0B 23 23 3B0C 3A GASPRICE 3B0D 1C SHR 3B0E D2 D2 3B0F 52 MSTORE 3B10 5F PUSH0 3B11 B8 B8 3B12 E7 E7 3B13 25 25 3B14 2A 2A 3B15 2F 2F 3B16 19 NOT 3B17 16 AND 3B18 AB AB 3B19 E1 E1 3B1A AC AC 3B1B 40 BLOCKHASH 3B1C EF EF 3B1D F3 *RETURN 3B1E 55 SSTORE 3B1F 6E PUSH15 0x386823c31ecc3a0aec0fd164736f6c 3B2F 63 PUSH4 0x43000810 3B34 00 *STOP 3B35 33 CALLER
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]