Online Solidity Decompiler

« Decompile another contract

Address

0xb0847d9c0c69e82168849257f32bd98b38d4d2fb [etherscan.io | etherchain.org]

Public Methods

Method names cached from 4byte.directory.
0x3d3aed82 Unknown
0x62769730 Unknown
0x715018a6 renounceOwnership()
0x74a944d9 Unknown
0x78493dd8 Unknown
0x8a13eb4e Unknown
0x8da5cb5b owner()
0x99f576f0 Unknown
0xf2fde38b transferOwnership(address)
0xffb8f2fc Unknown

Internal Methods

func_00D3(arg0)
func_1276()
func_12CF(arg0)
func_131E(arg0) returns (r0)
func_2884(arg0, arg1, arg2)
func_299D(arg0) returns (r0)
func_3123() returns (r0)
func_31A3(arg0, arg1)
func_324C(arg0, arg1) returns (r0)
func_3264() returns (r0)
func_32BF(arg0) returns (r0)
func_32E2(arg0)
func_32F6(arg0) returns (r0)
func_3306(arg0, arg1) returns (r0)
func_3325(arg0) returns (r0)
func_3377(arg0) returns (r0)
func_3389(arg0, arg1) returns (r0)
func_3455(arg0, arg1) returns (r0)
func_3487(arg0, arg1) returns (r0)
func_349E(arg0, arg1) returns (r0)
func_35F5(arg0, arg1) returns (r0)
func_3718(arg0, arg1) returns (r0)
func_3743(arg0, arg1) returns (r0)
func_3756(arg0, arg1) returns (r0)
func_379F(arg0) returns (r0)
func_37B2(arg0, arg1) returns (r0, r1, r2, r3)
func_37F5(arg0, arg1, arg2, arg3, arg4, arg5) returns (r0)
func_3847(arg0, arg1) returns (r0)
func_388A(arg0, arg1, arg2) returns (r0)
func_38AB(arg0, arg1) returns (r0)
func_390A(arg0, arg1) returns (r0, r1, r2, r3)
func_39D9(arg0, arg1) returns (r0)
func_3A43(arg0, arg1) returns (r0)
func_3AA5(arg0, arg1) returns (r0)
func_3B6D(arg0)
func_3B95(arg0, arg1) returns (r0, r1)
func_3BE2(arg0, arg1) returns (r0, r1)
func_3C28(arg0, arg1) returns (r0)
func_3CB0(arg0, arg1) returns (r0)
func_3D35(arg0) returns (r0)
func_3D88(arg0, arg1) 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 (0x8a13eb4e > var0) { if (var0 == 0x3d3aed82) { // Dispatch table entry for 0x3d3aed82 (unknown) var var1 = 0x00a6; var var2 = 0x00a1; var var3 = msg.data.length; var var4 = 0x04; var2 = func_3455(var3, var4); var3 = 0x00; var4 = var3; var var5 = memory[var2 + 0x80:var2 + 0x80 + 0x20]; var temp0 = var5; var4 = temp0; var5 = 0x0230; var var6 = memory[var2 + 0x80:var2 + 0x80 + 0x20]; var var7 = var4 & (0x01 << 0xa0) - 0x01; var var8 = 0xad5c4648; var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = (var8 & 0xffffffff) << 0xe0; var var9 = temp1 + 0x04; var temp2 = memory[0x40:0x60]; var temp3; temp3, memory[temp2:temp2 + 0x20] = address(var7).staticcall.gas(msg.gas)(memory[temp2:temp2 + var9 - temp2]); var var10 = !temp3; if (!var10) { label_0207: var temp4 = memory[0x40:0x60]; var temp5 = returndata.length; memory[0x40:0x60] = temp4 + (temp5 + 0x1f & ~0x1f); var7 = 0x022b; var9 = temp4; var8 = var9 + temp5; var10 = 0x00; if (var8 - var9 i< 0x20) { revert(memory[0x00:0x00]); } var var11 = memory[var9:var9 + 0x20]; var var12 = 0x2c7f; var var13 = var11; func_32E2(var13); label_2C7F: var7 = var11; // Error: Could not resolve jump destination! } else { var temp6 = returndata.length; memory[0x00:0x00 + temp6] = returndata[0x00:0x00 + temp6]; revert(memory[0x00:0x00 + returndata.length]); } } else if (var0 == 0x62769730) { // Dispatch table entry for 0x62769730 (unknown) var1 = msg.value; if (var1) { revert(memory[0x00:0x00]); } var1 = 0x00d8; var2 = 0x00d3; var3 = msg.data.length; var4 = 0x04; var2 = func_3487(var3, var4); func_00D3(var2); stop(); } else if (var0 == 0x715018a6) { // Dispatch table entry for renounceOwnership() var1 = msg.value; if (var1) { revert(memory[0x00:0x00]); } var1 = 0x00d8; var2 = 0x037f; func_1276(); var2 = 0x0388; var3 = 0x00; func_12CF(var3); // Error: Could not resolve jump destination! } else if (var0 == 0x74a944d9) { // Dispatch table entry for 0x74a944d9 (unknown) var1 = 0x0101; var2 = 0x00fc; var3 = msg.data.length; var4 = 0x04; var2 = func_349E(var3, var4); var3 = 0x0392; var3 = func_3123(); var4 = 0x039d; var5 = 0x01; var6 = 0x00; func_31A3(var5, var6); var4 = 0x00; var5 = 0x03a7; var6 = var2; var5 = func_131E(var6); var temp7 = var5; var temp8 = storage[temp7]; var temp9 = memory[0x40:0x60]; memory[0x40:0x60] = temp9 + temp8 * 0x20 + 0x20; var5 = temp9; var6 = temp7; var7 = temp8; memory[var5:var5 + 0x20] = var7; var9 = var5 + 0x20; var8 = 0x00; if (var8 >= var7) { label_04C9: var temp10 = var5; var4 = temp10; var5 = 0x00; var6 = 0x04da; var7 = var2; var8 = var4; var9 = 0x227e; var9 = func_3123(); var10 = 0x00; var11 = var8; var12 = 0x00; if (var12 < memory[var11:var11 + 0x20]) { var10 = memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20]; var11 = 0x00; var12 = 0x22ae; var var14 = var7; var13 = var14 + 0x20; label_35BF: var var15 = 0x00; if (var13 - var14 i< 0x20) { revert(memory[0x00:0x00]); } var var16 = msg.data[var14:var14 + 0x20]; var var17 = 0x2c7f; var var18 = var16; func_32E2(var18); goto label_2C7F; } else { var13 = 0x2291; label_36D0: memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } else { label_03CF: memory[0x00:0x20] = var6; var temp11 = keccak256(memory[0x00:0x20]); var temp12 = memory[0x40:0x60]; memory[0x40:0x60] = temp12 + 0x01c0; var temp13 = var8; var temp14 = temp11 + temp13 * 0x0b; var temp15 = storage[temp14]; var temp16 = temp12 + 0x0140; memory[temp16:temp16 + 0x20] = temp15 & 0xff; var temp17 = (0x01 << 0xa0) - 0x01; memory[temp12 + 0x0160:temp12 + 0x0160 + 0x20] = temp17 & temp15 / 0x0100; memory[temp12 + 0x0180:temp12 + 0x0180 + 0x20] = temp17 & storage[temp14 + 0x01]; memory[temp12 + 0x01a0:temp12 + 0x01a0 + 0x20] = temp17 & storage[temp14 + 0x02]; memory[temp12:temp12 + 0x20] = temp16; var temp18 = memory[0x40:0x60]; memory[0x40:0x60] = temp18 + 0x40; var temp19 = storage[temp14 + 0x03]; memory[temp18:temp18 + 0x20] = temp17 & temp19; memory[temp18 + 0x20:temp18 + 0x20 + 0x20] = !!(temp19 / (0x01 << 0xa0) & 0xff); memory[temp12 + 0x20:temp12 + 0x20 + 0x20] = temp18; memory[temp12 + 0x40:temp12 + 0x40 + 0x20] = temp17 & storage[temp14 + 0x04]; memory[temp12 + 0x60:temp12 + 0x60 + 0x20] = storage[temp14 + 0x05]; memory[temp12 + 0x80:temp12 + 0x80 + 0x20] = storage[temp14 + 0x06]; var temp20 = storage[temp14 + 0x07]; memory[temp12 + 0xa0:temp12 + 0xa0 + 0x20] = temp20 & 0xffffff; memory[temp12 + 0xc0:temp12 + 0xc0 + 0x20] = temp20 / 0x01000000 & 0xffffff; memory[temp12 + 0xe0:temp12 + 0xe0 + 0x20] = storage[temp14 + 0x08]; memory[temp12 + 0x0100:temp12 + 0x0100 + 0x20] = temp17 & storage[temp14 + 0x09]; memory[temp12 + 0x0120:temp12 + 0x0120 + 0x20] = storage[temp14 + 0x0a] & temp17; var temp21 = var9; memory[temp21:temp21 + 0x20] = temp12; var8 = temp13 + 0x01; var9 = temp21 + 0x20; if (var8 >= var7) { goto label_04C9; } else { goto label_03CF; } } } else if (var0 == 0x78493dd8) { // Dispatch table entry for 0x78493dd8 (unknown) var1 = 0x00a6; var2 = 0x011c; var3 = msg.data.length; var4 = 0x04; var2 = func_3455(var3, var4); var3 = 0x00; var4 = var3; var5 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var6 = 0x00; if (var6 < memory[var5:var5 + 0x20]) { var temp22 = memory[var6 * 0x20 + var5 + 0x20:var6 * 0x20 + var5 + 0x20 + 0x20]; var temp23 = memory[0x40:0x60]; memory[temp23:temp23 + 0x20] = 0x70a08231 << 0xe0; memory[temp23 + 0x04:temp23 + 0x04 + 0x20] = address(this); var4 = temp22; var5 = 0x00; var6 = var4 & (0x01 << 0xa0) - 0x01; var7 = 0x70a08231; var8 = temp23 + 0x24; var temp24 = memory[0x40:0x60]; var temp25; temp25, memory[temp24:temp24 + 0x20] = address(var6).staticcall.gas(msg.gas)(memory[temp24:temp24 + var8 - temp24]); var9 = !temp25; if (!var9) { var temp26 = memory[0x40:0x60]; var temp27 = returndata.length; memory[0x40:0x60] = temp26 + (temp27 + 0x1f & ~0x1f); var6 = 0x0570; var8 = temp26; var7 = var8 + temp27; var6 = func_3718(var7, var8); var temp28 = var2; memory[temp28:temp28 + 0x20] = var6; memory[temp28 + 0x20:temp28 + 0x20 + 0x20] = 0x00; memory[temp28 + 0x60:temp28 + 0x60 + 0x20] = address(this); var5 = var6; var6 = 0x00; var7 = var6; var8 = memory[temp28 + 0x40:temp28 + 0x40 + 0x20]; var9 = 0x059c; var10 = 0x01; var11 = memory[var8:var8 + 0x20]; var9 = func_3743(var10, var11); if (var9 < memory[var8:var8 + 0x20]) { var temp29 = memory[var9 * 0x20 + var8 + 0x20:var9 * 0x20 + var8 + 0x20 + 0x20]; var temp30 = memory[0x40:0x60]; memory[temp30:temp30 + 0x20] = 0x70a08231 << 0xe0; memory[temp30 + 0x04:temp30 + 0x04 + 0x20] = address(this); var7 = temp29; var8 = 0x00; var9 = var7 & (0x01 << 0xa0) - 0x01; var10 = 0x70a08231; var11 = temp30 + 0x24; var temp31 = memory[0x40:0x60]; var temp32; temp32, memory[temp31:temp31 + 0x20] = address(var9).staticcall.gas(msg.gas)(memory[temp31:temp31 + var11 - temp31]); var12 = !temp32; if (!var12) { var temp33 = memory[0x40:0x60]; var temp34 = returndata.length; memory[0x40:0x60] = temp33 + (temp34 + 0x1f & ~0x1f); var9 = 0x0622; var11 = temp33; var10 = var11 + temp34; var9 = func_3718(var10, var11); var8 = var9; if (!(0x02 - (memory[var2 + 0x0120:var2 + 0x0120 + 0x20] & 0xffffff))) { var temp67 = var2; var temp68 = memory[temp67 + 0x80:temp67 + 0x80 + 0x20]; var9 = temp68; var temp69 = memory[temp67 + 0x40:temp67 + 0x40 + 0x20]; var temp70 = memory[0x40:0x60]; memory[temp70:temp70 + 0x20] = 0xd06ca61f << 0xe0; var10 = 0x00; var11 = var9 & (0x01 << 0xa0) - 0x01; var12 = 0xd06ca61f; var13 = 0x066f; var14 = var5; var15 = temp69; var16 = temp70 + 0x04; var temp71 = var16; memory[temp71:temp71 + 0x20] = var14; memory[temp71 + 0x20:temp71 + 0x20 + 0x20] = 0x40; var17 = 0x00; var18 = 0x04da; var var19 = temp71 + 0x40; var var20 = var15; var18 = func_35F5(var19, var20); var13 = var18; // Error: Could not resolve jump destination! } else if (0x03 - (memory[var2 + 0x0120:var2 + 0x0120 + 0x20] & 0xffffff)) { label_0942: var temp35 = memory[0x40:0x60]; memory[temp35:temp35 + 0x20] = 0x70a08231 << 0xe0; memory[temp35 + 0x04:temp35 + 0x04 + 0x20] = address(this); var9 = 0x00; var10 = var7 & (0x01 << 0xa0) - 0x01; var11 = 0x70a08231; var12 = temp35 + 0x24; var temp36 = memory[0x40:0x60]; var temp37; temp37, memory[temp36:temp36 + 0x20] = address(var10).staticcall.gas(msg.gas)(memory[temp36:temp36 + var12 - temp36]); var13 = !temp37; if (!var13) { var temp38 = memory[0x40:0x60]; var temp39 = returndata.length; memory[0x40:0x60] = temp38 + (temp39 + 0x1f & ~0x1f); var10 = 0x09aa; var12 = temp38; var11 = var12 + temp39; var10 = func_3718(var11, var12); var temp40 = var10; var9 = temp40; var10 = 0x00; var11 = 0x09b7; var12 = var9; var13 = var8; label_2C74: var14 = 0x00; var15 = 0x2c7f; var16 = var13; var17 = var12; var15 = func_3743(var16, var17); goto label_2C7F; } else { var temp41 = returndata.length; memory[0x00:0x00 + temp41] = returndata[0x00:0x00 + temp41]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp42 = var2; var9 = memory[temp42 + 0xa0:temp42 + 0xa0 + 0x20]; if (0x03 <= memory[memory[temp42 + 0x40:temp42 + 0x40 + 0x20]:memory[temp42 + 0x40:temp42 + 0x40 + 0x20] + 0x20]) { var10 = 0x00; var11 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var12 = 0x00; if (var12 < memory[var11:var11 + 0x20]) { var11 = memory[var12 * 0x20 + 0x20 + var11:var12 * 0x20 + 0x20 + var11 + 0x20]; var temp43 = var2; var12 = memory[temp43 + 0x0100:temp43 + 0x0100 + 0x20]; var13 = memory[temp43 + 0x40:temp43 + 0x40 + 0x20]; var14 = 0x01; if (var14 < memory[var13:var13 + 0x20]) { var13 = memory[var14 * 0x20 + 0x20 + var13:var14 * 0x20 + 0x20 + var13 + 0x20]; var temp44 = var2; var14 = memory[temp44 + 0xe0:temp44 + 0xe0 + 0x20]; var15 = memory[temp44 + 0x40:temp44 + 0x40 + 0x20]; var16 = 0x02; if (var16 < memory[var15:var15 + 0x20]) { var temp45 = memory[var16 * 0x20 + 0x20 + var15:var16 * 0x20 + 0x20 + var15 + 0x20]; var temp46 = var11; var11 = 0x08ab; var temp47 = var12; var12 = temp46; var temp48 = var13; var13 = temp47; var temp49 = var14; var14 = temp48; var15 = temp49; var17 = memory[0x40:0x60] + 0x20; var16 = temp45; var11 = func_37F5(var12, var13, var14, var15, var16, var17); var temp50 = memory[0x40:0x60]; var temp51 = var11; memory[temp50:temp50 + 0x20] = temp51 - temp50 + ~0x1f; memory[0x40:0x60] = temp51; memory[temp51:temp51 + 0x20] = 0xcdca1753 << 0xe0; var10 = temp50; var11 = 0x00; var12 = var9 & (0x01 << 0xa0) - 0x01; var13 = 0xcdca1753; var14 = 0x08eb; var15 = var10; var16 = var5; var17 = temp51 + 0x04; var14 = func_388A(var15, var16, var17); var temp52 = memory[0x40:0x60]; var temp53; temp53, memory[temp52:temp52 + 0x00] = address(var12).call.gas(msg.gas)(memory[temp52:temp52 + var14 - temp52]); var15 = !temp53; if (!var15) { var temp54 = memory[0x40:0x60]; var temp55 = returndata.length; memory[temp54:temp54 + temp55] = returndata[0x00:0x00 + temp55]; var temp56 = returndata.length; memory[0x40:0x60] = temp54 + (temp56 + 0x1f & ~0x1f); var12 = 0x092d; var13 = temp54 + temp56; var14 = temp54; var12, var13, var14, var15 = func_390A(var13, var14); var6 = var12; label_0936: var10 = 0x093f; var11 = var2; var10 = func_299D(var11); goto label_0942; } else { var temp57 = returndata.length; memory[0x00:0x00 + temp57] = returndata[0x00:0x00 + temp57]; revert(memory[0x00:0x00 + returndata.length]); } } else { var17 = 0x088f; goto label_36D0; } } else { var15 = 0x086b; goto label_36D0; } } else { var13 = 0x0846; goto label_36D0; } } else { var temp58 = memory[0x40:0x60]; memory[0x40:0x60] = temp58 + 0xa0; memory[temp58:temp58 + 0x20] = 0x00; memory[temp58 + 0x20:temp58 + 0x20 + 0x20] = 0x00; memory[temp58 + 0x40:temp58 + 0x40 + 0x20] = 0x00; memory[temp58 + 0x60:temp58 + 0x60 + 0x20] = 0x00; var10 = temp58; memory[var10 + 0x80:var10 + 0x80 + 0x20] = 0x00; var11 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var12 = 0x00; if (var12 < memory[var11:var11 + 0x20]) { memory[var10:var10 + 0x20] = memory[var12 * 0x20 + var11 + 0x20:var12 * 0x20 + var11 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01; var11 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var12 = 0x01; if (var12 < memory[var11:var11 + 0x20]) { var temp59 = (0x01 << 0xa0) - 0x01; var temp60 = var10; memory[temp60 + 0x20:temp60 + 0x20 + 0x20] = temp59 & memory[var12 * 0x20 + var11 + 0x20:var12 * 0x20 + var11 + 0x20 + 0x20]; memory[temp60 + 0x40:temp60 + 0x40 + 0x20] = var5; memory[temp60 + 0x60:temp60 + 0x60 + 0x20] = memory[var2 + 0xe0:var2 + 0xe0 + 0x20] & 0xffffff; memory[temp60 + 0x80:temp60 + 0x80 + 0x20] = 0x00; var temp61 = memory[0x40:0x60]; memory[temp61:temp61 + 0x20] = 0x63528135 << 0xe1; var11 = 0x00; var12 = var9 & temp59; var13 = 0xc6a5026a; var14 = 0x07e1; var15 = temp60; var16 = temp61 + 0x04; var14 = func_3756(var15, var16); var temp62 = memory[0x40:0x60]; var temp63; temp63, memory[temp62:temp62 + 0x80] = address(var12).call.gas(msg.gas)(memory[temp62:temp62 + var14 - temp62]); var15 = !temp63; if (!var15) { var temp64 = memory[0x40:0x60]; var temp65 = returndata.length; memory[0x40:0x60] = temp64 + (temp65 + 0x1f & ~0x1f); var12 = 0x0821; var13 = temp64 + temp65; var14 = temp64; var12, var13, var14, var15 = func_37B2(var13, var14); var6 = var12; goto label_0936; } else { var temp66 = returndata.length; memory[0x00:0x00 + temp66] = returndata[0x00:0x00 + temp66]; revert(memory[0x00:0x00 + returndata.length]); } } else { var13 = 0x077f; goto label_36D0; } } else { var13 = 0x0751; goto label_36D0; } } } } else { var temp72 = returndata.length; memory[0x00:0x00 + temp72] = returndata[0x00:0x00 + temp72]; revert(memory[0x00:0x00 + returndata.length]); } } else { var10 = 0x05ac; goto label_36D0; } } else { var temp73 = returndata.length; memory[0x00:0x00 + temp73] = returndata[0x00:0x00 + temp73]; revert(memory[0x00:0x00 + returndata.length]); } } else { var7 = 0x04fa; goto label_36D0; } } else { revert(memory[0x00:0x00]); } } else if (var0 == 0x8a13eb4e) { // Dispatch table entry for 0x8a13eb4e (unknown) var1 = 0x0134; var2 = 0x012f; var3 = msg.data.length; var4 = 0x04; var2 = func_3455(var3, var4); var3 = 0x00; var4 = var3; var5 = 0x00; var temp74 = var2; var6 = memory[temp74 + 0x40:temp74 + 0x40 + 0x20]; var7 = 0x0a06; var9 = memory[memory[temp74 + 0x40:temp74 + 0x40 + 0x20]:memory[temp74 + 0x40:temp74 + 0x40 + 0x20] + 0x20]; var8 = 0x01; var7 = func_3743(var8, var9); if (var7 < memory[var6:var6 + 0x20]) { var temp75 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20]; var5 = temp75; var6 = 0x00; var7 = var5 & (0x01 << 0xa0) - 0x01; var8 = 0x18160ddd; var temp76 = memory[0x40:0x60]; memory[temp76:temp76 + 0x20] = (var8 & 0xffffffff) << 0xe0; var9 = temp76 + 0x04; var temp77 = memory[0x40:0x60]; var temp78; temp78, memory[temp77:temp77 + 0x20] = address(var7).staticcall.gas(msg.gas)(memory[temp77:temp77 + var9 - temp77]); var10 = !temp78; if (!var10) { var temp79 = memory[0x40:0x60]; var temp80 = returndata.length; memory[0x40:0x60] = temp79 + (temp80 + 0x1f & ~0x1f); var7 = 0x0a81; var9 = temp79; var8 = var9 + temp80; var7 = func_3718(var8, var9); var temp81 = var7; var6 = temp81; var7 = 0x00; var8 = 0x0a94; var9 = 0x64; var10 = 0x09c9; var11 = var6; var12 = 0x63; var13 = 0x00; var14 = 0x2c7f; var15 = var12; var16 = var11; var14 = func_3D88(var15, var16); goto label_2C7F; } else { var temp82 = returndata.length; memory[0x00:0x00 + temp82] = returndata[0x00:0x00 + temp82]; revert(memory[0x00:0x00 + returndata.length]); } } else { var8 = 0x0a16; goto label_36D0; } } else if (var0 == 0x8da5cb5b) { // Dispatch table entry for owner() var1 = msg.value; if (var1) { revert(memory[0x00:0x00]); } var temp83 = memory[0x40:0x60]; memory[temp83:temp83 + 0x20] = storage[0x00] & (0x01 << 0xa0) - 0x01; var1 = temp83 + 0x20; var temp84 = memory[0x40:0x60]; return memory[temp84:temp84 + var1 - temp84]; } else if (var0 == 0x99f576f0) { // Dispatch table entry for 0x99f576f0 (unknown) var1 = 0x00a6; var2 = 0x017d; var3 = msg.data.length; var4 = 0x04; var2 = func_3455(var3, var4); var3 = 0x00; var4 = var3; var5 = memory[var2 + 0x80:var2 + 0x80 + 0x20]; var4 = var5; var temp85 = var2; var5 = memory[temp85 + 0x80:temp85 + 0x80 + 0x20]; var6 = 0x0c2d; var7 = memory[temp85 + 0x80:temp85 + 0x80 + 0x20]; var temp86 = var5 & (0x01 << 0xa0) - 0x01; var8 = temp86; var9 = 0x4aa4a4fc; var temp87 = memory[0x40:0x60]; memory[temp87:temp87 + 0x20] = (var9 & 0xffffffff) << 0xe0; var10 = temp87 + 0x04; var temp88 = memory[0x40:0x60]; var temp89; temp89, memory[temp88:temp88 + 0x20] = address(var8).staticcall.gas(msg.gas)(memory[temp88:temp88 + var10 - temp88]); var11 = !temp89; if (!var11) { goto label_0207; } var temp90 = returndata.length; memory[0x00:0x00 + temp90] = returndata[0x00:0x00 + temp90]; revert(memory[0x00:0x00 + returndata.length]); } else if (var0 == 0xf2fde38b) { // Dispatch table entry for transferOwnership(address) var1 = msg.value; if (var1) { revert(memory[0x00:0x00]); } var1 = 0x00d8; var2 = 0x019c; var3 = msg.data.length; var4 = 0x04; goto label_35BF; } else if (var0 == 0xffb8f2fc) { // Dispatch table entry for 0xffb8f2fc (unknown) var1 = 0x00a6; var2 = 0x01af; var3 = msg.data.length; var4 = 0x04; var2 = func_3455(var3, var4); var3 = 0x00; var5 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var4 = var3; var6 = 0x0f94; var8 = memory[var5:var5 + 0x20]; var7 = 0x01; var6 = func_3743(var7, var8); if (var6 < memory[var5:var5 + 0x20]) { var temp91 = memory[var6 * 0x20 + var5 + 0x20:var6 * 0x20 + var5 + 0x20 + 0x20]; var temp92 = address(this); memory[var2 + 0x60:var2 + 0x60 + 0x20] = temp92; var temp93 = memory[0x40:0x60]; memory[temp93:temp93 + 0x20] = 0x70a08231 << 0xe0; memory[temp93 + 0x04:temp93 + 0x04 + 0x20] = temp92; var4 = temp91; var5 = 0x00; var6 = var4 & (0x01 << 0xa0) - 0x01; var7 = 0x70a08231; var8 = temp93 + 0x24; var temp94 = memory[0x40:0x60]; var temp95; temp95, memory[temp94:temp94 + 0x20] = address(var6).staticcall.gas(msg.gas)(memory[temp94:temp94 + var8 - temp94]); var9 = !temp95; if (!var9) { var temp96 = memory[0x40:0x60]; var temp97 = returndata.length; memory[0x40:0x60] = temp96 + (temp97 + 0x1f & ~0x1f); var6 = 0x1024; var8 = temp96; var7 = var8 + temp97; var6 = func_3718(var7, var8); var5 = var6; if (!(0x02 - (memory[var2 + 0x0120:var2 + 0x0120 + 0x20] & 0xffffff))) { var temp111 = memory[0x40:0x60]; memory[temp111:temp111 + 0x20] = 0x1e9d76c1 << 0xe1; var6 = address(this); var7 = 0x3d3aed82; var8 = msg.value; var9 = 0x105d; var10 = var2; var11 = temp111 + 0x04; var9 = func_3AA5(var10, var11); goto label_105D; } else if (0x03 - (memory[var2 + 0x0120:var2 + 0x0120 + 0x20] & 0xffffff)) { label_10DB: var temp98 = memory[0x40:0x60]; memory[temp98:temp98 + 0x20] = 0x70a08231 << 0xe0; memory[temp98 + 0x04:temp98 + 0x04 + 0x20] = address(this); var6 = 0x00; var7 = var4 & (0x01 << 0xa0) - 0x01; var8 = 0x70a08231; var9 = temp98 + 0x24; var temp99 = memory[0x40:0x60]; var temp100; temp100, memory[temp99:temp99 + 0x20] = address(var7).staticcall.gas(msg.gas)(memory[temp99:temp99 + var9 - temp99]); var10 = !temp100; if (!var10) { var temp101 = memory[0x40:0x60]; var temp102 = returndata.length; memory[0x40:0x60] = temp101 + (temp102 + 0x1f & ~0x1f); var7 = 0x1143; var9 = temp101; var8 = var9 + temp102; var7 = func_3718(var8, var9); var temp103 = var7; var6 = temp103; var7 = 0x00; var8 = 0x1150; var9 = var6; var10 = var5; goto label_2C74; } else { var temp104 = returndata.length; memory[0x00:0x00 + temp104] = returndata[0x00:0x00 + temp104]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp105 = memory[0x40:0x60]; memory[temp105:temp105 + 0x20] = 0x099f576f << 0xe4; var6 = address(this); var7 = 0x99f576f0; var8 = msg.value; var9 = 0x105d; var10 = var2; var11 = temp105 + 0x04; var9 = func_3AA5(var10, var11); label_105D: var temp106 = memory[0x40:0x60]; var temp107; temp107, memory[temp106:temp106 + 0x20] = address(var6).call.gas(msg.gas).value(var8)(memory[temp106:temp106 + var9 - temp106]); var10 = !temp107; if (!var10) { var temp108 = memory[0x40:0x60]; var temp109 = returndata.length; memory[0x40:0x60] = temp108 + (temp109 + 0x1f & ~0x1f); var6 = 0x109e; var8 = temp108; var7 = var8 + temp109; var6 = func_3718(var7, var8); goto label_10DB; } else { var temp110 = returndata.length; memory[0x00:0x00 + temp110] = returndata[0x00:0x00 + temp110]; revert(memory[0x00:0x00 + returndata.length]); } } } else { var temp112 = returndata.length; memory[0x00:0x00 + temp112] = returndata[0x00:0x00 + temp112]; revert(memory[0x00:0x00 + returndata.length]); } } else { var7 = 0x0fa4; goto label_36D0; } } else { revert(memory[0x00:0x00]); } } function func_00D3(var arg0) { var var0 = 0x0372; func_1276(); storage[0x03] = arg0; } function func_1276() { if (msg.sender == storage[0x00] & (0x01 << 0xa0) - 0x01) { 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] = 0x20; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572; var var0 = temp0 + 0x64; var temp1 = memory[0x40:0x60]; revert(memory[temp1:temp1 + var0 - temp1]); } function func_12CF(var arg0) { var temp0 = storage[0x00]; var temp1 = (0x01 << 0xa0) - 0x01; var temp2 = temp1 & arg0; storage[0x00] = temp2 | (temp0 & ~((0x01 << 0xa0) - 0x01)); log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]); } function func_131E(var arg0) returns (var r0) { var var0 = 0x00; var var1 = var0; var var2 = 0x132e; var var3 = arg0 + 0x40; var var4 = arg0; var2, var3 = func_3B95(var3, var4); label_132E: if (var1 >= var3) { return 0x01; } var2 = 0x00; var3 = 0x1346; var4 = arg0 + 0x60; var var5 = arg0; var3, var4 = func_3BE2(var4, var5); label_1346: if (var2 >= var4) { var2 = var1; var3 = 0x2265; var4 = var2; var3 = func_3D35(var4); var1 = var3; var2 = 0x132e; var3 = arg0 + 0x40; var4 = arg0; var2, var3 = func_3B95(var3, var4); goto label_132E; } else { var3 = 0x00; var4 = 0x135d; var5 = arg0 + 0x40; var var6 = arg0; var4, var5 = func_3B95(var5, var6); var6 = var1; if (var6 < var5) { var temp0 = var6 * 0x80 + var4; var4 = 0x1383; var5 = temp0 + (msg.data.length - temp0); var6 = temp0; var4 = func_3C28(var5, var6); var3 = var4; var4 = 0x00; var5 = 0x1393; var6 = arg0 + 0x60; var var7 = arg0; var5, var6 = func_3BE2(var6, var7); var7 = var2; if (var7 < var6) { var temp1 = var7 * 0x40 + var5; var5 = 0x13b9; var6 = temp1 + (msg.data.length - temp1); var7 = temp1; var5 = func_3CB0(var6, var7); var4 = var5; if (!(0x02 - (memory[var3:var3 + 0x20] & 0xff))) { var5 = memory[var3 + 0x40:var3 + 0x40 + 0x20]; var6 = 0x00; var7 = var5 & (0x01 << 0xa0) - 0x01; var8 = 0xe6a43905; var9 = memory[var4:var4 + 0x20]; var10 = 0x13ef; var11 = arg0 + 0x20; var12 = arg0; goto label_35BF; } else if (0x03 - (memory[var3:var3 + 0x20] & 0xff)) { label_2245: var3 = var2; var5 = var3; var4 = 0x2252; var4 = func_3D35(var5); var2 = var4; var3 = 0x1346; var4 = arg0 + 0x60; var5 = arg0; var3, var4 = func_3BE2(var4, var5); goto label_1346; } else { var5 = memory[var3 + 0x40:var3 + 0x40 + 0x20]; if (!memory[var4 + 0x20:var4 + 0x20 + 0x20]) { var6 = 0x00; if (var6 >= storage[0x02]) { goto label_2245; } var7 = 0x00; var var8 = var5 & (0x01 << 0xa0) - 0x01; var var10 = memory[var4:var4 + 0x20]; var var9 = 0x1698ee82; var var11 = 0x1c72; var var12 = arg0 + 0x20; var var13 = arg0; label_35BF: var var14 = 0x00; if (var12 - var13 i< 0x20) { revert(memory[0x00:0x00]); } var var15 = msg.data[var13:var13 + 0x20]; var var16 = 0x2c7f; var var17 = var15; func_32E2(var17); var11 = var15; // Error: Could not resolve jump destination! } else { var6 = 0x00; if (var6 >= storage[0x02]) { goto label_2245; } var7 = 0x00; var8 = var5 & (0x01 << 0xa0) - 0x01; var9 = 0x1698ee82; var10 = memory[var4:var4 + 0x20]; var11 = 0x1809; var12 = arg0 + 0x20; var13 = arg0; goto label_35BF; } } } else { var8 = 0x13a3; label_36D0: memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } else { var7 = 0x136d; goto label_36D0; } } } function func_2884(var arg0, var arg1, var arg2) { arg1 = memory[arg2 * 0x20 + 0x20 + arg1:arg2 * 0x20 + 0x20 + arg1 + 0x20]; arg2 = memory[arg0 + 0x80:arg0 + 0x80 + 0x20]; var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x6eb1769f << 0xe1; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = address(this); var temp1 = (0x01 << 0xa0) - 0x01; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = temp1 & arg2; var var0 = arg1; var var1 = 0x00; var var2 = var0 & temp1; var var3 = 0xdd62ed3e; var var4 = temp0 + 0x44; var temp2 = memory[0x40:0x60]; var temp3; temp3, memory[temp2:temp2 + 0x20] = address(var2).staticcall.gas(msg.gas)(memory[temp2:temp2 + var4 - temp2]); var var5 = !temp3; if (!var5) { var temp4 = memory[0x40:0x60]; var temp5 = returndata.length; memory[0x40:0x60] = temp4 + (temp5 + 0x1f & ~0x1f); var2 = 0x30e3; var4 = temp4; var3 = var4 + temp5; var2 = func_3718(var3, var4); var1 = var2; if (var1 >= ~0x00) { return; } var temp6 = memory[0x40:0x60]; memory[temp6:temp6 + 0x20] = 0x095ea7b3 << 0xe0; var temp7 = (0x01 << 0xa0) - 0x01; memory[temp6 + 0x04:temp6 + 0x04 + 0x20] = temp7 & arg2; memory[temp6 + 0x24:temp6 + 0x24 + 0x20] = ~0x00; var2 = var0 & temp7; var3 = 0x095ea7b3; var4 = temp6 + 0x44; var temp8 = memory[0x40:0x60]; var temp9; temp9, memory[temp8:temp8 + 0x20] = address(var2).call.gas(msg.gas)(memory[temp8:temp8 + var4 - temp8]); var5 = !temp9; if (!var5) { var temp10 = memory[0x40:0x60]; var temp11 = returndata.length; memory[0x40:0x60] = temp10 + (temp11 + 0x1f & ~0x1f); var2 = 0x126e; var4 = temp10; var3 = var4 + temp11; var5 = 0x00; if (var3 - var4 i< 0x20) { revert(memory[0x00:0x00]); } var var6 = memory[var4:var4 + 0x20]; var var7 = 0x2c7f; var var8 = var6; func_3B6D(var8); var2 = var6; // Error: Could not resolve jump destination! } else { var temp12 = returndata.length; memory[0x00:0x00 + temp12] = returndata[0x00:0x00 + temp12]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp13 = returndata.length; memory[0x00:0x00 + temp13] = returndata[0x00:0x00 + temp13]; revert(memory[0x00:0x00 + returndata.length]); } } function func_299D(var arg0) returns (var r0) { var var0 = 0x00; var var1 = var0; var var2 = memory[arg0 + 0x80:arg0 + 0x80 + 0x20]; var1 = var2; var2 = 0x29c5; var var3 = memory[arg0 + 0x40:arg0 + 0x40 + 0x20]; var var4 = 0x00; if (var4 < memory[var3:var3 + 0x20]) { func_2884(arg0, var3, var4); if (memory[memory[arg0 + 0x40:arg0 + 0x40 + 0x20]:memory[arg0 + 0x40:arg0 + 0x40 + 0x20] + 0x20] >= 0x03) { var temp0 = memory[0x40:0x60]; memory[0x40:0x60] = temp0 + 0xa0; memory[temp0:temp0 + 0x20] = 0x60; var temp1 = temp0 + 0x20; memory[temp1:temp1 + 0x20] = (0x01 << 0xa0) - 0x01 & 0x00; var temp2 = temp1 + 0x20; memory[temp2:temp2 + 0x20] = 0x00; var temp3 = temp2 + 0x20; memory[temp3:temp3 + 0x20] = 0x00; memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = 0x00; var2 = temp0; var3 = 0x00; var4 = memory[arg0 + 0x40:arg0 + 0x40 + 0x20]; var var5 = 0x00; if (var5 < memory[var4:var4 + 0x20]) { var4 = memory[var5 * 0x20 + 0x20 + var4:var5 * 0x20 + 0x20 + var4 + 0x20]; var temp4 = arg0; var5 = memory[temp4 + 0x0100:temp4 + 0x0100 + 0x20]; var var6 = memory[temp4 + 0x40:temp4 + 0x40 + 0x20]; var var7 = 0x01; if (var7 < memory[var6:var6 + 0x20]) { var6 = memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20]; var temp5 = arg0; var7 = memory[temp5 + 0xe0:temp5 + 0xe0 + 0x20]; var var8 = memory[temp5 + 0x40:temp5 + 0x40 + 0x20]; var var9 = 0x02; if (var9 < memory[var8:var8 + 0x20]) { var temp6 = memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20]; var temp7 = var4; var4 = 0x2bd0; var temp8 = var5; var5 = temp7; var temp9 = var6; var6 = temp8; var temp10 = var7; var7 = temp9; var8 = temp10; var var10 = memory[0x40:0x60] + 0x20; var9 = temp6; var4 = func_37F5(var5, var6, var7, var8, var9, var10); var temp11 = memory[0x40:0x60]; var temp12 = var4; memory[temp11:temp11 + 0x20] = temp12 - temp11 + ~0x1f; memory[0x40:0x60] = temp12; var temp13 = var2; memory[temp13:temp13 + 0x20] = temp11; memory[temp13 + 0x20:temp13 + 0x20 + 0x20] = address(this); var temp14 = arg0; memory[temp13 + 0x40:temp13 + 0x40 + 0x20] = memory[temp14 + 0xc0:temp14 + 0xc0 + 0x20]; memory[temp13 + 0x60:temp13 + 0x60 + 0x20] = memory[temp14:temp14 + 0x20]; memory[temp13 + 0x80:temp13 + 0x80 + 0x20] = memory[temp14 + 0x20:temp14 + 0x20 + 0x20]; var temp15 = memory[0x40:0x60]; memory[temp15:temp15 + 0x20] = 0xc04b8d59 << 0xe0; var3 = temp11; var4 = 0x00; var5 = var1 & (0x01 << 0xa0) - 0x01; var6 = 0xc04b8d59; var7 = 0x2c34; var8 = temp13; var9 = temp15 + 0x04; var temp16 = var9; memory[temp16:temp16 + 0x20] = 0x20; var10 = 0x00; var var11 = 0x2c7f; var var12 = temp16 + 0x20; var var13 = var8; var11 = func_3A43(var12, var13); var7 = var11; // Error: Could not resolve jump destination! } else { var10 = 0x2bb4; label_36D0: memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } else { var8 = 0x2b90; goto label_36D0; } } else { var6 = 0x2b6b; goto label_36D0; } } else { var temp17 = memory[0x40:0x60]; memory[0x40:0x60] = temp17 + 0x0100; memory[temp17:temp17 + 0x20] = 0x00; memory[temp17 + 0x20:temp17 + 0x20 + 0x20] = 0x00; memory[temp17 + 0x40:temp17 + 0x40 + 0x20] = 0x00; memory[temp17 + 0x60:temp17 + 0x60 + 0x20] = 0x00; memory[temp17 + 0x80:temp17 + 0x80 + 0x20] = 0x00; memory[temp17 + 0xa0:temp17 + 0xa0 + 0x20] = 0x00; memory[temp17 + 0xc0:temp17 + 0xc0 + 0x20] = 0x00; var2 = temp17; memory[var2 + 0xe0:var2 + 0xe0 + 0x20] = 0x00; var3 = memory[arg0 + 0x40:arg0 + 0x40 + 0x20]; var4 = 0x00; if (var4 < memory[var3:var3 + 0x20]) { memory[var2:var2 + 0x20] = memory[var4 * 0x20 + var3 + 0x20:var4 * 0x20 + var3 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01; var3 = memory[arg0 + 0x40:arg0 + 0x40 + 0x20]; var4 = 0x01; if (var4 < memory[var3:var3 + 0x20]) { var temp18 = (0x01 << 0xa0) - 0x01; var temp19 = var2; memory[temp19 + 0x20:temp19 + 0x20 + 0x20] = temp18 & memory[var4 * 0x20 + var3 + 0x20:var4 * 0x20 + var3 + 0x20 + 0x20]; var temp20 = arg0; memory[temp19 + 0x40:temp19 + 0x40 + 0x20] = memory[temp20 + 0xe0:temp20 + 0xe0 + 0x20] & 0xffffff; memory[temp19 + 0x60:temp19 + 0x60 + 0x20] = address(this); memory[temp19 + 0x80:temp19 + 0x80 + 0x20] = memory[temp20 + 0xc0:temp20 + 0xc0 + 0x20]; memory[temp19 + 0xa0:temp19 + 0xa0 + 0x20] = memory[temp20:temp20 + 0x20]; memory[temp19 + 0xc0:temp19 + 0xc0 + 0x20] = memory[temp20 + 0x20:temp20 + 0x20 + 0x20]; memory[temp19 + 0xe0:temp19 + 0xe0 + 0x20] = 0x00; var3 = 0x00; var temp21 = memory[0x40:0x60]; memory[temp21:temp21 + 0x20] = 0x414bf389 << 0xe0; var4 = var1 & temp18; var5 = 0x414bf389; var6 = 0x2ad4; var7 = temp19; var8 = temp21 + 0x04; var6 = func_39D9(var7, var8); var temp22 = memory[0x40:0x60]; var temp23; temp23, memory[temp22:temp22 + 0x20] = address(var4).call.gas(msg.gas)(memory[temp22:temp22 + var6 - temp22]); var7 = !temp23; if (!var7) { var temp24 = memory[0x40:0x60]; var temp25 = returndata.length; memory[0x40:0x60] = temp24 + (temp25 + 0x1f & ~0x1f); var4 = 0x2b14; var6 = temp24; var5 = var6 + temp25; return func_3718(var5, var6); } else { var temp26 = returndata.length; memory[0x00:0x00 + temp26] = returndata[0x00:0x00 + temp26]; revert(memory[0x00:0x00 + returndata.length]); } } else { var5 = 0x2a57; goto label_36D0; } } else { var5 = 0x2a29; goto label_36D0; } } } else { var5 = 0x2884; goto label_36D0; } } function func_3123() returns (var r0) { var temp0 = memory[0x40:0x60]; memory[0x40:0x60] = temp0 + 0x01c0; var temp1 = temp0 + 0x0140; memory[temp1:temp1 + 0x20] = 0x00; memory[temp0 + 0x0160:temp0 + 0x0160 + 0x20] = 0x00; memory[temp0 + 0x0180:temp0 + 0x0180 + 0x20] = 0x00; memory[temp0 + 0x01a0:temp0 + 0x01a0 + 0x20] = 0x00; memory[temp0:temp0 + 0x20] = temp1; var temp2 = memory[0x40:0x60]; memory[0x40:0x60] = temp2 + 0x40; memory[temp2:temp2 + 0x20] = 0x00; memory[temp2 + 0x20:temp2 + 0x20 + 0x20] = 0x00; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp2; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = 0x00; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = 0x00; memory[temp0 + 0x80:temp0 + 0x80 + 0x20] = 0x00; memory[temp0 + 0xa0:temp0 + 0xa0 + 0x20] = 0x00; memory[temp0 + 0xc0:temp0 + 0xc0 + 0x20] = 0x00; memory[temp0 + 0xe0:temp0 + 0xe0 + 0x20] = 0x00; memory[temp0 + 0x0100:temp0 + 0x0100 + 0x20] = 0x00; memory[temp0 + 0x0120:temp0 + 0x0120 + 0x20] = 0x00; return temp0; } function func_31A3(var arg0, var arg1) { var temp0 = arg0; var temp1 = storage[temp0]; storage[temp0] = 0x00; memory[0x00:0x20] = temp0; var temp2 = keccak256(memory[0x00:0x20]); arg0 = 0x0f7a; arg1 = temp2 + temp1 * 0x0b; var var0 = temp2; if (arg1 <= var0) { arg0 = func_324C(arg1, var0); return; } else { label_31C6: var temp3 = var0; var temp4 = ~((0x01 << 0xa8) - 0x01); storage[temp3] = temp4 & storage[temp3]; var temp5 = temp3 + 0x01; var temp6 = ~((0x01 << 0xa0) - 0x01); storage[temp5] = temp6 & storage[temp5]; var temp7 = temp3 + 0x02; storage[temp7] = temp6 & storage[temp7]; var temp8 = temp3 + 0x03; storage[temp8] = temp4 & storage[temp8]; var temp9 = temp3 + 0x04; storage[temp9] = temp6 & storage[temp9]; storage[temp3 + 0x05] = 0x00; storage[temp3 + 0x06] = 0x00; var temp10 = temp3 + 0x07; storage[temp10] = storage[temp10] & ~0xffffffffffff; storage[temp3 + 0x08] = 0x00; var temp11 = temp3 + 0x09; storage[temp11] = temp6 & storage[temp11]; var temp12 = temp3 + 0x0a; storage[temp12] = temp6 & storage[temp12]; var0 = temp3 + 0x0b; if (arg1 > var0) { goto label_31C6; } arg0 = func_324C(arg1, var0); // Error: Could not resolve method call return address! } } function func_324C(var arg0, var arg1) returns (var r0) { return arg0; } function func_3264() returns (var r0) { var temp0 = memory[0x40:0x60]; var var0 = temp0; var temp1 = var0 + 0x0140; var var1 = temp1; if (!((var1 < var0) | (var1 > 0xffffffffffffffff))) { memory[0x40:0x60] = var1; return var0; } else { var var2 = 0x3288; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } } function func_32BF(var arg0) returns (var r0) { var var0 = 0x00; if (arg0 <= 0xffffffffffffffff) { return (arg0 << 0x05) + 0x20; } var var1 = 0x32d8; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } function func_32E2(var arg0) { var temp0 = arg0; if (temp0 == temp0 & (0x01 << 0xa0) - 0x01) { return; } else { revert(memory[0x00:0x00]); } } function func_32F6(var arg0) returns (var r0) { var var0 = msg.data[arg0:arg0 + 0x20]; var var1 = 0x3301; var var2 = var0; func_32E2(var2); return var0; } function func_3306(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 + 0x1f i>= arg0) { revert(memory[0x00:0x00]); } var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0x20; var var3 = 0x332a; var var4 = 0x3325; var var5 = var1; var4 = func_32BF(var5); var3 = func_3325(var4); var temp0 = var1; var temp1 = var3; memory[temp1:temp1 + 0x20] = temp0; var temp2 = var2; var1 = temp2 + arg1 + (temp0 << 0x05); var3 = temp1 + temp2; var4 = temp1; if (var1 > arg0) { revert(memory[0x00:0x00]); } var5 = arg1 + var2; if (var5 >= var1) { label_336C: return var4; } else { label_3355: var var6 = msg.data[var5:var5 + 0x20]; var var7 = 0x335f; var var8 = var6; func_32E2(var8); var temp3 = var3; memory[temp3:temp3 + 0x20] = var6; var temp4 = var2; var3 = temp4 + temp3; var5 = temp4 + var5; if (var5 >= var1) { goto label_336C; } else { goto label_3355; } } } function func_3325(var arg0) returns (var r0) { var temp0 = memory[0x40:0x60]; var var0 = temp0; var temp1 = var0 + (arg0 + 0x1f & ~0x1f); var var1 = temp1; if (!((var1 < var0) | (var1 > 0xffffffffffffffff))) { memory[0x40:0x60] = var1; return var0; } else { var var2 = 0x32b7; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } } function func_3377(var arg0) returns (var r0) { var temp0 = msg.data[arg0:arg0 + 0x20]; var var0 = temp0; if (var0 == var0 & 0xffffff) { return var0; } else { revert(memory[0x00:0x00]); } } function func_3389(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i< 0x0140) { revert(memory[0x00:0x00]); } var var1 = 0x33a2; var1 = func_3264(); var temp0 = var1; var0 = temp0; var temp1 = arg1; memory[var0:var0 + 0x20] = msg.data[temp1:temp1 + 0x20]; memory[var0 + 0x20:var0 + 0x20 + 0x20] = msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20]; var1 = msg.data[temp1 + 0x40:temp1 + 0x40 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var var2 = 0x33d7; var var3 = arg0; var var4 = arg1 + var1; var2 = func_3306(var3, var4); memory[var0 + 0x40:var0 + 0x40 + 0x20] = var2; var1 = 0x33e9; var2 = arg1 + 0x60; var1 = func_32F6(var2); memory[var0 + 0x60:var0 + 0x60 + 0x20] = var1; var1 = 0x33fa; var2 = arg1 + 0x80; var1 = func_32F6(var2); memory[var0 + 0x80:var0 + 0x80 + 0x20] = var1; var1 = 0x340b; var2 = arg1 + 0xa0; var1 = func_32F6(var2); var temp2 = var0; memory[temp2 + 0xa0:temp2 + 0xa0 + 0x20] = var1; var temp3 = arg1; memory[temp2 + 0xc0:temp2 + 0xc0 + 0x20] = msg.data[temp3 + 0xc0:temp3 + 0xc0 + 0x20]; var1 = 0x3426; var2 = temp3 + 0xe0; var1 = func_3377(var2); memory[var0 + 0xe0:var0 + 0xe0 + 0x20] = var1; var1 = 0x0100; var2 = 0x3439; var3 = arg1 + var1; var2 = func_3377(var3); memory[var0 + var1:var0 + var1 + 0x20] = var2; var1 = 0x0120; var2 = 0x344b; var3 = var1 + arg1; var2 = func_3377(var3); memory[var0 + var1:var0 + var1 + 0x20] = var2; return var0; } function func_3455(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i< 0x20) { revert(memory[0x00:0x00]); } var var1 = msg.data[arg1:arg1 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var var2 = 0x04da; var var3 = arg0; var var4 = arg1 + var1; return func_3389(var3, var4); } function func_3487(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { return msg.data[arg1:arg1 + 0x20]; } else { revert(memory[0x00:0x00]); } } function func_349E(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i< 0x20) { revert(memory[0x00:0x00]); } var var1 = msg.data[arg1:arg1 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var temp0 = arg1 + var1; var1 = temp0; if (arg0 - var1 i>= 0x80) { return var1; } else { revert(memory[0x00:0x00]); } } function func_35F5(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var temp0 = arg1; var temp1 = memory[temp0:temp0 + 0x20]; var var1 = temp1; var temp2 = arg0; memory[temp2:temp2 + 0x20] = var1; var var2 = 0x20; arg0 = temp2 + var2; var var3 = temp0 + var2; var var4 = 0x00; if (var4 >= var1) { label_362C: return arg0; } else { label_3610: var temp3 = var3; var temp4 = arg0; memory[temp4:temp4 + 0x20] = memory[temp3:temp3 + 0x20] & (0x01 << 0xa0) - 0x01; var temp5 = var2; arg0 = temp5 + temp4; var3 = temp5 + temp3; var4 = var4 + 0x01; if (var4 >= var1) { goto label_362C; } else { goto label_3610; } } } function func_3718(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { return memory[arg1:arg1 + 0x20]; } else { revert(memory[0x00:0x00]); } } function func_3743(var arg0, var arg1) returns (var r0) { var temp0 = arg1; var var0 = temp0 - arg0; if (var0 <= temp0) { return var0; } var var1 = 0x2856; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function func_3756(var arg0, var arg1) returns (var r0) { var temp0 = arg1; var var0 = temp0 + 0xa0; var temp1 = arg0; var temp2 = (0x01 << 0xa0) - 0x01; memory[temp0:temp0 + 0x20] = temp2 & memory[temp1:temp1 + 0x20]; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp2 & memory[temp1 + 0x20:temp1 + 0x20 + 0x20]; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = memory[temp1 + 0x40:temp1 + 0x40 + 0x20]; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = memory[temp1 + 0x60:temp1 + 0x60 + 0x20] & 0xffffff; memory[temp0 + 0x80:temp0 + 0x80 + 0x20] = memory[temp1 + 0x80:temp1 + 0x80 + 0x20] & temp2; return var0; } function func_379F(var arg0) returns (var r0) { var temp0 = memory[arg0:arg0 + 0x20]; var var0 = temp0; if (var0 == var0 & 0xffffffff) { return var0; } else { revert(memory[0x00:0x00]); } } function func_37B2(var arg0, var arg1) returns (var r0, var arg0, var arg1, var r3) { r3 = 0x00; var var1 = r3; var var2 = 0x00; var var3 = var2; if (arg0 - arg1 i< 0x80) { revert(memory[0x00:0x00]); } var temp0 = arg1; r3 = memory[temp0:temp0 + 0x20]; var var4 = memory[temp0 + 0x20:temp0 + 0x20 + 0x20]; var var5 = 0x37d7; var var6 = var4; func_32E2(var6); var1 = var4; var4 = 0x37e5; var5 = arg1 + 0x40; var4 = func_379F(var5); var temp1 = arg1; arg1 = var4; var temp2 = r3; r3 = memory[temp1 + 0x60:temp1 + 0x60 + 0x20]; r0 = temp2; arg0 = var1; return r0, arg0, arg1, r3; } function func_37F5(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5) returns (var r0) { var temp0 = ~0xffffffffffffffffffffffff; var temp1 = arg5; memory[temp1:temp1 + 0x20] = temp0 & (arg0 << 0x60); var temp2 = ~((0x01 << 0xe8) - 0x01); memory[temp1 + 0x14:temp1 + 0x14 + 0x20] = temp2 & (arg1 << 0xe8); memory[temp1 + 0x17:temp1 + 0x17 + 0x20] = temp0 & (arg2 << 0x60); memory[temp1 + 0x2b:temp1 + 0x2b + 0x20] = temp2 & (arg3 << 0xe8); memory[temp1 + 0x2e:temp1 + 0x2e + 0x20] = temp0 & (arg4 << 0x60); return temp1 + 0x42; } function func_3847(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var temp0 = memory[arg1:arg1 + 0x20]; var var1 = temp0; memory[arg0:arg0 + 0x20] = var1; var var2 = 0x00; if (var2 >= var1) { label_386B: var temp1 = var1; var temp2 = arg0; memory[temp2 + temp1 + 0x20:temp2 + temp1 + 0x20 + 0x20] = 0x00; return temp2 + (temp1 + 0x1f & ~0x1f) + 0x20; } else { label_3858: var temp3 = var2; memory[temp3 + arg0 + 0x20:temp3 + arg0 + 0x20 + 0x20] = memory[arg1 + temp3 + 0x20:arg1 + temp3 + 0x20 + 0x20]; var2 = temp3 + 0x20; if (var2 >= var1) { goto label_386B; } else { goto label_3858; } } } function func_388A(var arg0, var arg1, var arg2) returns (var r0) { var temp0 = arg2; memory[temp0:temp0 + 0x20] = 0x40; var var0 = 0x00; var var1 = 0x389c; var var2 = temp0 + 0x40; var var3 = arg0; var1 = func_3847(var2, var3); memory[arg2 + 0x20:arg2 + 0x20 + 0x20] = arg1; return var1; } function func_38AB(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 + 0x1f i>= arg0) { revert(memory[0x00:0x00]); } var var1 = memory[arg1:arg1 + 0x20]; var var2 = 0x20; var var3 = 0x38ca; var var4 = 0x3325; var var5 = var1; var4 = func_32BF(var5); var3 = func_3325(var4); var temp0 = var1; var temp1 = var3; memory[temp1:temp1 + 0x20] = temp0; var temp2 = var2; var1 = temp2 + arg1 + (temp0 << 0x05); var3 = temp1 + temp2; var4 = temp1; if (var1 > arg0) { revert(memory[0x00:0x00]); } var5 = arg1 + var2; if (var5 >= var1) { label_336C: return var4; } else { label_38F5: var var6 = 0x38fd; var var7 = var5; var6 = func_379F(var7); var temp3 = var3; memory[temp3:temp3 + 0x20] = var6; var temp4 = var2; var3 = temp4 + temp3; var5 = temp4 + var5; if (var5 >= var1) { goto label_336C; } else { goto label_38F5; } } } function func_390A(var arg0, var arg1) returns (var r0, var arg0, var arg1, var r3) { r3 = 0x00; var var1 = r3; var var2 = 0x00; var var3 = var2; if (arg0 - arg1 i< 0x80) { revert(memory[0x00:0x00]); } var temp0 = arg1; r3 = memory[temp0:temp0 + 0x20]; var var4 = 0x20; var var5 = memory[temp0 + var4:temp0 + var4 + 0x20]; var var6 = 0xffffffffffffffff; if (var5 > var6) { revert(memory[0x00:0x00]); } var temp1 = arg1 + var5; var5 = temp1; if (var5 + 0x1f i>= arg0) { revert(memory[0x00:0x00]); } var var7 = memory[var5:var5 + 0x20]; var var8 = 0x395d; var var9 = 0x3325; var var10 = var7; var9 = func_32BF(var10); var8 = func_3325(var9); var temp2 = var7; var temp3 = var8; memory[temp3:temp3 + 0x20] = temp2; var temp4 = var4; var7 = temp4 + var5 + (temp2 << 0x05); var8 = temp3 + temp4; var9 = temp3; if (var7 > arg0) { revert(memory[0x00:0x00]); } var temp5 = var4 + var5; var5 = temp5; var9 = var9; if (var5 >= var7) { label_39A2: var1 = var9; var4 = memory[arg1 + 0x40:arg1 + 0x40 + 0x20]; if (var4 > var6) { revert(memory[0x00:0x00]); } var5 = 0x39c8; var6 = arg0; var7 = arg1 + var4; var5 = func_38AB(var6, var7); var temp6 = arg1; arg1 = var5; var temp7 = r3; r3 = memory[temp6 + 0x60:temp6 + 0x60 + 0x20]; r0 = temp7; arg0 = var1; return r0, arg0, arg1, r3; } else { label_3989: var10 = memory[var5:var5 + 0x20]; var var11 = 0x3993; var var12 = var10; func_32E2(var12); var temp8 = var8; memory[temp8:temp8 + 0x20] = var10; var temp9 = var4; var5 = temp9 + var5; var8 = temp9 + temp8; var9 = var9; if (var5 >= var7) { goto label_39A2; } else { goto label_3989; } } } function func_39D9(var arg0, var arg1) returns (var r0) { var temp0 = arg1; var var0 = temp0 + 0x0100; var temp1 = arg0; var temp2 = (0x01 << 0xa0) - 0x01; memory[temp0:temp0 + 0x20] = temp2 & memory[temp1:temp1 + 0x20]; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = temp2 & memory[temp1 + 0x20:temp1 + 0x20 + 0x20]; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = memory[temp1 + 0x40:temp1 + 0x40 + 0x20] & 0xffffff; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = temp2 & memory[temp1 + 0x60:temp1 + 0x60 + 0x20]; memory[temp0 + 0x80:temp0 + 0x80 + 0x20] = memory[temp1 + 0x80:temp1 + 0x80 + 0x20]; memory[temp0 + 0xa0:temp0 + 0xa0 + 0x20] = memory[temp1 + 0xa0:temp1 + 0xa0 + 0x20]; memory[temp0 + 0xc0:temp0 + 0xc0 + 0x20] = memory[temp1 + 0xc0:temp1 + 0xc0 + 0x20]; memory[temp0 + 0xe0:temp0 + 0xe0 + 0x20] = memory[temp1 + 0xe0:temp1 + 0xe0 + 0x20] & temp2; return var0; } function func_3A43(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var temp0 = memory[arg1:arg1 + 0x20]; var var1 = temp0; var temp1 = arg0; memory[temp1:temp1 + 0x20] = 0xa0; var var2 = 0x3a57; var var3 = temp1 + 0xa0; var var4 = var1; var2 = func_3847(var3, var4); var temp2 = arg1; var temp3 = arg0; memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = memory[temp2 + 0x20:temp2 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01; memory[temp3 + 0x40:temp3 + 0x40 + 0x20] = memory[temp2 + 0x40:temp2 + 0x40 + 0x20]; memory[temp3 + 0x60:temp3 + 0x60 + 0x20] = memory[temp2 + 0x60:temp2 + 0x60 + 0x20]; memory[temp3 + 0x80:temp3 + 0x80 + 0x20] = memory[temp2 + 0x80:temp2 + 0x80 + 0x20]; return var2; } function func_3AA5(var arg0, var arg1) returns (var r0) { var temp0 = arg1; memory[temp0:temp0 + 0x20] = 0x20; var temp1 = arg0; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = memory[temp1:temp1 + 0x20]; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = memory[temp1 + 0x20:temp1 + 0x20 + 0x20]; var var0 = 0x00; var temp2 = memory[temp1 + 0x40:temp1 + 0x40 + 0x20]; var var1 = temp2; var var2 = 0x0140; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = var2; var var3 = 0x3ad7; var var4 = temp0 + 0x0160; var var5 = var1; var3 = func_35F5(var4, var5); var1 = var3; var3 = memory[arg0 + 0x60:arg0 + 0x60 + 0x20]; memory[arg1 + 0x80:arg1 + 0x80 + 0x20] = var3 & (0x01 << 0xa0) - 0x01; var temp3 = arg0; var temp4 = arg1; memory[temp4 + 0xa0:temp4 + 0xa0 + 0x20] = memory[temp3 + 0x80:temp3 + 0x80 + 0x20] & (0x01 << 0xa0) - 0x01; memory[temp4 + 0xc0:temp4 + 0xc0 + 0x20] = memory[temp3 + 0xa0:temp3 + 0xa0 + 0x20] & (0x01 << 0xa0) - 0x01; memory[temp4 + 0xe0:temp4 + 0xe0 + 0x20] = memory[temp3 + 0xc0:temp3 + 0xc0 + 0x20]; var3 = memory[temp3 + 0xe0:temp3 + 0xe0 + 0x20]; var4 = 0x0100; memory[temp4 + var4:temp4 + var4 + 0x20] = var3 & 0xffffff; var temp5 = memory[arg0 + var4:arg0 + var4 + 0x20]; var3 = temp5; var4 = 0x0120; memory[var4 + arg1:var4 + arg1 + 0x20] = var3 & 0xffffff; memory[arg1 + var2:arg1 + var2 + 0x20] = memory[arg0 + var4:arg0 + var4 + 0x20] & 0xffffff; return var1; } function func_3B6D(var arg0) { var temp0 = arg0; if (temp0 == !!temp0) { return; } else { revert(memory[0x00:0x00]); } } function func_3B95(var arg0, var arg1) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; var var2 = msg.data[arg0:arg0 + 0x20]; if (var2 i>= msg.data.length - arg1 + ~0x1e) { revert(memory[0x00:0x00]); } var temp0 = arg1 + var2; var2 = temp0; var1 = msg.data[var2:var2 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var0 = var2 + 0x20; if (var0 i> msg.data.length - (var1 << 0x07)) { revert(memory[0x00:0x00]); } arg0 = var1; r0 = var0; return r0, arg0; } function func_3BE2(var arg0, var arg1) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; var var2 = msg.data[arg0:arg0 + 0x20]; if (var2 i>= msg.data.length - arg1 + ~0x1e) { revert(memory[0x00:0x00]); } var temp0 = arg1 + var2; var2 = temp0; var1 = msg.data[var2:var2 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var0 = var2 + 0x20; if (var0 i> msg.data.length - (var1 << 0x06)) { revert(memory[0x00:0x00]); } arg0 = var1; r0 = var0; return r0, arg0; } function func_3C28(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i< 0x80) { revert(memory[0x00:0x00]); } var temp0 = memory[0x40:0x60]; var var1 = temp0; var temp1 = var1 + 0x80; var var2 = temp1; if (!((var2 > 0xffffffffffffffff) | (var2 < var1))) { memory[0x40:0x60] = var2; var temp2 = msg.data[arg1:arg1 + 0x20]; var2 = temp2; if (var2 != var2 & 0xff) { revert(memory[0x00:0x00]); } memory[var1:var1 + 0x20] = var2; var2 = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20]; var var3 = 0x3c7e; var var4 = var2; func_32E2(var4); memory[var1 + 0x20:var1 + 0x20 + 0x20] = var2; var2 = msg.data[arg1 + 0x40:arg1 + 0x40 + 0x20]; var3 = 0x3c91; var4 = var2; func_32E2(var4); memory[var1 + 0x40:var1 + 0x40 + 0x20] = var2; var2 = msg.data[arg1 + 0x60:arg1 + 0x60 + 0x20]; var3 = 0x3ca4; var4 = var2; func_32E2(var4); memory[var1 + 0x60:var1 + 0x60 + 0x20] = var2; return var1; } else { var3 = 0x3c5b; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } } function func_3CB0(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i< 0x40) { revert(memory[0x00:0x00]); } var temp0 = memory[0x40:0x60]; var var1 = temp0; var temp1 = var1 + 0x40; var var2 = temp1; if (!((var2 > 0xffffffffffffffff) | (var2 < var1))) { memory[0x40:0x60] = var2; var2 = msg.data[arg1:arg1 + 0x20]; var var3 = 0x3cf1; var var4 = var2; func_32E2(var4); memory[var1:var1 + 0x20] = var2; var2 = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20]; var3 = 0x3d01; var4 = var2; func_3B6D(var4); memory[var1 + 0x20:var1 + 0x20 + 0x20] = var2; return var1; } else { var3 = 0x3ce3; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } } function func_3D35(var arg0) returns (var r0) { var var0 = 0x00; if (arg0 + 0x01) { return arg0 + 0x01; } var var1 = 0x3d46; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function func_3D88(var arg0, var arg1) returns (var r0) { var temp0 = arg1; var temp1 = arg0; var var0 = temp1 * temp0; if ((temp1 == var0 / temp0) | !temp0) { return var0; } var var1 = 0x2856; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } }

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 61 PUSH2 0x008f 000C 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0004 memory[0x40:0x60] = 0x80 } // Block ends with conditional jump to 0x008f, if msg.data.length < 0x04 label_000D: // Incoming jump from 0x000C, if not msg.data.length < 0x04 // Inputs[1] { @000E msg.data[0x00:0x20] } 000D 5F PUSH0 000E 35 CALLDATALOAD 000F 60 PUSH1 0xe0 0011 1C SHR 0012 80 DUP1 0013 63 PUSH4 0x8a13eb4e 0018 11 GT 0019 61 PUSH2 0x0057 001C 57 *JUMPI // Stack delta = +1 // Outputs[1] { @0011 stack[0] = msg.data[0x00:0x20] >> 0xe0 } // Block ends with conditional jump to 0x0057, if 0x8a13eb4e > msg.data[0x00:0x20] >> 0xe0 label_001D: // Incoming jump from 0x001C, if not 0x8a13eb4e > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @001D stack[-1] } 001D 80 DUP1 001E 63 PUSH4 0x8a13eb4e 0023 14 EQ 0024 61 PUSH2 0x0121 0027 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0121, if 0x8a13eb4e == stack[-1] label_0028: // Incoming jump from 0x0027, if not 0x8a13eb4e == stack[-1] // Inputs[1] { @0028 stack[-1] } 0028 80 DUP1 0029 63 PUSH4 0x8da5cb5b 002E 14 EQ 002F 61 PUSH2 0x0149 0032 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0149, if 0x8da5cb5b == stack[-1] label_0033: // Incoming jump from 0x0032, if not 0x8da5cb5b == stack[-1] // Inputs[1] { @0033 stack[-1] } 0033 80 DUP1 0034 63 PUSH4 0x99f576f0 0039 14 EQ 003A 61 PUSH2 0x016f 003D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x016f, if 0x99f576f0 == stack[-1] label_003E: // Incoming jump from 0x003D, if not 0x99f576f0 == stack[-1] // Inputs[1] { @003E stack[-1] } 003E 80 DUP1 003F 63 PUSH4 0xf2fde38b 0044 14 EQ 0045 61 PUSH2 0x0182 0048 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0182, if 0xf2fde38b == stack[-1] label_0049: // Incoming jump from 0x0048, if not 0xf2fde38b == stack[-1] // Inputs[1] { @0049 stack[-1] } 0049 80 DUP1 004A 63 PUSH4 0xffb8f2fc 004F 14 EQ 0050 61 PUSH2 0x01a1 0053 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01a1, if 0xffb8f2fc == stack[-1] label_0054: // Incoming jump from 0x0053, if not 0xffb8f2fc == stack[-1] // Inputs[1] { @0056 memory[0x00:0x00] } 0054 5F PUSH0 0055 80 DUP1 0056 FD *REVERT // Stack delta = +0 // Outputs[1] { @0056 revert(memory[0x00:0x00]); } // Block terminates label_0057: // Incoming jump from 0x001C, if 0x8a13eb4e > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @0058 stack[-1] } 0057 5B JUMPDEST 0058 80 DUP1 0059 63 PUSH4 0x3d3aed82 005E 14 EQ 005F 61 PUSH2 0x0093 0062 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0093, if 0x3d3aed82 == stack[-1] label_0063: // Incoming jump from 0x0062, if not 0x3d3aed82 == stack[-1] // Inputs[1] { @0063 stack[-1] } 0063 80 DUP1 0064 63 PUSH4 0x62769730 0069 14 EQ 006A 61 PUSH2 0x00b9 006D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00b9, if 0x62769730 == stack[-1] label_006E: // Incoming jump from 0x006D, if not 0x62769730 == stack[-1] // Inputs[1] { @006E stack[-1] } 006E 80 DUP1 006F 63 PUSH4 0x715018a6 0074 14 EQ 0075 61 PUSH2 0x00da 0078 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00da, if 0x715018a6 == stack[-1] label_0079: // Incoming jump from 0x0078, if not 0x715018a6 == stack[-1] // Inputs[1] { @0079 stack[-1] } 0079 80 DUP1 007A 63 PUSH4 0x74a944d9 007F 14 EQ 0080 61 PUSH2 0x00ee 0083 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00ee, if 0x74a944d9 == stack[-1] label_0084: // Incoming jump from 0x0083, if not 0x74a944d9 == stack[-1] // Inputs[1] { @0084 stack[-1] } 0084 80 DUP1 0085 63 PUSH4 0x78493dd8 008A 14 EQ 008B 61 PUSH2 0x010e 008E 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x010e, if 0x78493dd8 == stack[-1] label_008F: // Incoming jump from 0x008E, if not 0x78493dd8 == stack[-1] // Incoming jump from 0x000C, if msg.data.length < 0x04 // Inputs[1] { @0092 memory[0x00:0x00] } 008F 5B JUMPDEST 0090 5F PUSH0 0091 80 DUP1 0092 FD *REVERT // Stack delta = +0 // Outputs[1] { @0092 revert(memory[0x00:0x00]); } // Block terminates label_0093: // Incoming jump from 0x0062, if 0x3d3aed82 == stack[-1] // Inputs[1] { @009A msg.data.length } 0093 5B JUMPDEST 0094 61 PUSH2 0x00a6 0097 61 PUSH2 0x00a1 009A 36 CALLDATASIZE 009B 60 PUSH1 0x04 009D 61 PUSH2 0x3455 00A0 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0094 stack[0] = 0x00a6 // @0097 stack[1] = 0x00a1 // @009A stack[2] = msg.data.length // @009B stack[3] = 0x04 // } // Block ends with call to 0x3455, returns to 0x00A1 label_00A1: // Incoming return from call to 0x3455 at 0x00A0 00A1 5B JUMPDEST 00A2 61 PUSH2 0x01b4 00A5 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b4 00A6 5B JUMPDEST 00A7 60 PUSH1 0x40 00A9 51 MLOAD 00AA 90 SWAP1 00AB 81 DUP2 00AC 52 MSTORE 00AD 60 PUSH1 0x20 00AF 01 ADD label_00B0: // Incoming jump from 0x016E // Inputs[3] // { // @00B3 memory[0x40:0x60] // @00B5 stack[-1] // @00B8 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 00B0 5B JUMPDEST 00B1 60 PUSH1 0x40 00B3 51 MLOAD 00B4 80 DUP1 00B5 91 SWAP2 00B6 03 SUB 00B7 90 SWAP1 00B8 F3 *RETURN // Stack delta = -1 // Outputs[1] { @00B8 return memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]; } // Block terminates label_00B9: // Incoming jump from 0x006D, if 0x62769730 == stack[-1] // Inputs[1] { @00BA msg.value } 00B9 5B JUMPDEST 00BA 34 CALLVALUE 00BB 80 DUP1 00BC 15 ISZERO 00BD 61 PUSH2 0x00c4 00C0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @00BA stack[0] = msg.value } // Block ends with conditional jump to 0x00c4, if !msg.value label_00C1: // Incoming jump from 0x00C0, if not !msg.value // Inputs[1] { @00C3 memory[0x00:0x00] } 00C1 5F PUSH0 00C2 80 DUP1 00C3 FD *REVERT // Stack delta = +0 // Outputs[1] { @00C3 revert(memory[0x00:0x00]); } // Block terminates label_00C4: // Incoming jump from 0x00C0, if !msg.value // Inputs[1] { @00CC msg.data.length } 00C4 5B JUMPDEST 00C5 50 POP 00C6 61 PUSH2 0x00d8 00C9 61 PUSH2 0x00d3 00CC 36 CALLDATASIZE 00CD 60 PUSH1 0x04 00CF 61 PUSH2 0x3487 00D2 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @00C6 stack[-1] = 0x00d8 // @00C9 stack[0] = 0x00d3 // @00CC stack[1] = msg.data.length // @00CD stack[2] = 0x04 // } // Block ends with call to 0x3487, returns to 0x00D3 label_00D3: // Incoming return from call to 0x3487 at 0x00D2 00D3 5B JUMPDEST 00D4 61 PUSH2 0x036a 00D7 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x036a label_00D8: // Incoming return from call to 0x00D3 at 0x00D2 00D8 5B JUMPDEST 00D9 00 *STOP // Stack delta = +0 // Outputs[1] { @00D9 stop(); } // Block terminates label_00DA: // Incoming jump from 0x0078, if 0x715018a6 == stack[-1] // Inputs[1] { @00DB msg.value } 00DA 5B JUMPDEST 00DB 34 CALLVALUE 00DC 80 DUP1 00DD 15 ISZERO 00DE 61 PUSH2 0x00e5 00E1 57 *JUMPI // Stack delta = +1 // Outputs[1] { @00DB stack[0] = msg.value } // Block ends with conditional jump to 0x00e5, if !msg.value label_00E2: // Incoming jump from 0x00E1, if not !msg.value // Inputs[1] { @00E4 memory[0x00:0x00] } 00E2 5F PUSH0 00E3 80 DUP1 00E4 FD *REVERT // Stack delta = +0 // Outputs[1] { @00E4 revert(memory[0x00:0x00]); } // Block terminates label_00E5: // Incoming jump from 0x00E1, if !msg.value 00E5 5B JUMPDEST 00E6 50 POP 00E7 61 PUSH2 0x00d8 00EA 61 PUSH2 0x0377 00ED 56 *JUMP // Stack delta = +0 // Outputs[1] { @00E7 stack[-1] = 0x00d8 } // Block ends with unconditional jump to 0x0377 label_00EE: // Incoming jump from 0x0083, if 0x74a944d9 == stack[-1] // Inputs[1] { @00F5 msg.data.length } 00EE 5B JUMPDEST 00EF 61 PUSH2 0x0101 00F2 61 PUSH2 0x00fc 00F5 36 CALLDATASIZE 00F6 60 PUSH1 0x04 00F8 61 PUSH2 0x349e 00FB 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @00EF stack[0] = 0x0101 // @00F2 stack[1] = 0x00fc // @00F5 stack[2] = msg.data.length // @00F6 stack[3] = 0x04 // } // Block ends with call to 0x349e, returns to 0x00FC label_00FC: // Incoming return from call to 0x349E at 0x00FB 00FC 5B JUMPDEST 00FD 61 PUSH2 0x038a 0100 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x038a 0101 5B JUMPDEST 0102 60 PUSH1 0x40 0104 51 MLOAD 0105 61 PUSH2 0x00b0 0108 91 SWAP2 0109 90 SWAP1 010A 61 PUSH2 0x34d5 010D 56 *JUMP label_010E: // Incoming jump from 0x008E, if 0x78493dd8 == stack[-1] // Inputs[1] { @0115 msg.data.length } 010E 5B JUMPDEST 010F 61 PUSH2 0x00a6 0112 61 PUSH2 0x011c 0115 36 CALLDATASIZE 0116 60 PUSH1 0x04 0118 61 PUSH2 0x3455 011B 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @010F stack[0] = 0x00a6 // @0112 stack[1] = 0x011c // @0115 stack[2] = msg.data.length // @0116 stack[3] = 0x04 // } // Block ends with call to 0x3455, returns to 0x011C label_011C: // Incoming return from call to 0x3455 at 0x011B 011C 5B JUMPDEST 011D 61 PUSH2 0x04e2 0120 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x04e2 label_0121: // Incoming jump from 0x0027, if 0x8a13eb4e == stack[-1] // Inputs[1] { @0128 msg.data.length } 0121 5B JUMPDEST 0122 61 PUSH2 0x0134 0125 61 PUSH2 0x012f 0128 36 CALLDATASIZE 0129 60 PUSH1 0x04 012B 61 PUSH2 0x3455 012E 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0122 stack[0] = 0x0134 // @0125 stack[1] = 0x012f // @0128 stack[2] = msg.data.length // @0129 stack[3] = 0x04 // } // Block ends with call to 0x3455, returns to 0x012F label_012F: // Incoming return from call to 0x3455 at 0x012E 012F 5B JUMPDEST 0130 61 PUSH2 0x09ec 0133 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x09ec 0134 5B JUMPDEST 0135 60 PUSH1 0x40 0137 80 DUP1 0138 51 MLOAD 0139 92 SWAP3 013A 83 DUP4 013B 52 MSTORE 013C 60 PUSH1 0x20 013E 83 DUP4 013F 01 ADD 0140 91 SWAP2 0141 90 SWAP1 0142 91 SWAP2 0143 52 MSTORE 0144 01 ADD 0145 61 PUSH2 0x00b0 0148 56 *JUMP label_0149: // Incoming jump from 0x0032, if 0x8da5cb5b == stack[-1] // Inputs[1] { @014A msg.value } 0149 5B JUMPDEST 014A 34 CALLVALUE 014B 80 DUP1 014C 15 ISZERO 014D 61 PUSH2 0x0154 0150 57 *JUMPI // Stack delta = +1 // Outputs[1] { @014A stack[0] = msg.value } // Block ends with conditional jump to 0x0154, if !msg.value label_0151: // Incoming jump from 0x0150, if not !msg.value // Inputs[1] { @0153 memory[0x00:0x00] } 0151 5F PUSH0 0152 80 DUP1 0153 FD *REVERT // Stack delta = +0 // Outputs[1] { @0153 revert(memory[0x00:0x00]); } // Block terminates label_0154: // Incoming jump from 0x0150, if !msg.value // Inputs[2] // { // @0157 storage[0x00] // @015A memory[0x40:0x60] // } 0154 5B JUMPDEST 0155 50 POP 0156 5F PUSH0 0157 54 SLOAD 0158 60 PUSH1 0x40 015A 51 MLOAD 015B 60 PUSH1 0x01 015D 60 PUSH1 0x01 015F 60 PUSH1 0xa0 0161 1B SHL 0162 03 SUB 0163 90 SWAP1 0164 91 SWAP2 0165 16 AND 0166 81 DUP2 0167 52 MSTORE 0168 60 PUSH1 0x20 016A 01 ADD 016B 61 PUSH2 0x00b0 016E 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0167 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = storage[0x00] & (0x01 << 0xa0) - 0x01 // @016A stack[-1] = 0x20 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x00b0 label_016F: // Incoming jump from 0x003D, if 0x99f576f0 == stack[-1] // Inputs[1] { @0176 msg.data.length } 016F 5B JUMPDEST 0170 61 PUSH2 0x00a6 0173 61 PUSH2 0x017d 0176 36 CALLDATASIZE 0177 60 PUSH1 0x04 0179 61 PUSH2 0x3455 017C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0170 stack[0] = 0x00a6 // @0173 stack[1] = 0x017d // @0176 stack[2] = msg.data.length // @0177 stack[3] = 0x04 // } // Block ends with call to 0x3455, returns to 0x017D label_017D: // Incoming return from call to 0x3455 at 0x017C 017D 5B JUMPDEST 017E 61 PUSH2 0x0bd2 0181 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0bd2 label_0182: // Incoming jump from 0x0048, if 0xf2fde38b == stack[-1] // Inputs[1] { @0183 msg.value } 0182 5B JUMPDEST 0183 34 CALLVALUE 0184 80 DUP1 0185 15 ISZERO 0186 61 PUSH2 0x018d 0189 57 *JUMPI // Stack delta = +1 // Outputs[1] { @0183 stack[0] = msg.value } // Block ends with conditional jump to 0x018d, if !msg.value label_018A: // Incoming jump from 0x0189, if not !msg.value // Inputs[1] { @018C memory[0x00:0x00] } 018A 5F PUSH0 018B 80 DUP1 018C FD *REVERT // Stack delta = +0 // Outputs[1] { @018C revert(memory[0x00:0x00]); } // Block terminates label_018D: // Incoming jump from 0x0189, if !msg.value // Inputs[1] { @0195 msg.data.length } 018D 5B JUMPDEST 018E 50 POP 018F 61 PUSH2 0x00d8 0192 61 PUSH2 0x019c 0195 36 CALLDATASIZE 0196 60 PUSH1 0x04 0198 61 PUSH2 0x35bf 019B 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @018F stack[-1] = 0x00d8 // @0192 stack[0] = 0x019c // @0195 stack[1] = msg.data.length // @0196 stack[2] = 0x04 // } // Block ends with unconditional jump to 0x35bf 019C 5B JUMPDEST 019D 61 PUSH2 0x0eff 01A0 56 *JUMP label_01A1: // Incoming jump from 0x0053, if 0xffb8f2fc == stack[-1] // Inputs[1] { @01A8 msg.data.length } 01A1 5B JUMPDEST 01A2 61 PUSH2 0x00a6 01A5 61 PUSH2 0x01af 01A8 36 CALLDATASIZE 01A9 60 PUSH1 0x04 01AB 61 PUSH2 0x3455 01AE 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @01A2 stack[0] = 0x00a6 // @01A5 stack[1] = 0x01af // @01A8 stack[2] = msg.data.length // @01A9 stack[3] = 0x04 // } // Block ends with call to 0x3455, returns to 0x01AF label_01AF: // Incoming return from call to 0x3455 at 0x01AE 01AF 5B JUMPDEST 01B0 61 PUSH2 0x0f7d 01B3 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0f7d label_01B4: // Incoming jump from 0x00A5 // Inputs[2] // { // @01BA stack[-1] // @01BE memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } 01B4 5B JUMPDEST 01B5 5F PUSH0 01B6 80 DUP1 01B7 61 PUSH2 0x01c1 01BA 83 DUP4 01BB 60 PUSH1 0x80 01BD 01 ADD 01BE 51 MLOAD 01BF 90 SWAP1 01C0 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @01B5 stack[0] = 0x00 // @01B6 stack[1] = 0x00 // @01BF stack[2] = memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x01c1 label_01C1: // Incoming jump from 0x01C0 // Inputs[9] // { // @01C2 stack[-2] // @01C2 stack[-1] // @01C7 stack[-4] // @01CB memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @01DD memory[0x40:0x60] // @01F1 memory[0x40:0x60] // @01F7 msg.gas // @01F8 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // @01F8 address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 01C1 5B JUMPDEST 01C2 90 SWAP1 01C3 50 POP 01C4 61 PUSH2 0x0230 01C7 83 DUP4 01C8 60 PUSH1 0x80 01CA 01 ADD 01CB 51 MLOAD 01CC 82 DUP3 01CD 60 PUSH1 0x01 01CF 60 PUSH1 0x01 01D1 60 PUSH1 0xa0 01D3 1B SHL 01D4 03 SUB 01D5 16 AND 01D6 63 PUSH4 0xad5c4648 01DB 60 PUSH1 0x40 01DD 51 MLOAD 01DE 81 DUP2 01DF 63 PUSH4 0xffffffff 01E4 16 AND 01E5 60 PUSH1 0xe0 01E7 1B SHL 01E8 81 DUP2 01E9 52 MSTORE 01EA 60 PUSH1 0x04 01EC 01 ADD 01ED 60 PUSH1 0x20 01EF 60 PUSH1 0x40 01F1 51 MLOAD 01F2 80 DUP1 01F3 83 DUP4 01F4 03 SUB 01F5 81 DUP2 01F6 86 DUP7 01F7 5A GAS 01F8 FA STATICCALL 01F9 15 ISZERO 01FA 80 DUP1 01FB 15 ISZERO 01FC 61 PUSH2 0x0207 01FF 57 *JUMPI // Stack delta = +5 // Outputs[9] // { // @01C2 stack[-2] = stack[-1] // @01C4 stack[-1] = 0x0230 // @01CB stack[0] = memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @01D5 stack[1] = (0x01 << 0xa0) - 0x01 & stack[-1] // @01D6 stack[2] = 0xad5c4648 // @01E9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & 0xad5c4648) << 0xe0 // @01EC stack[3] = 0x04 + memory[0x40:0x60] // @01F8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @01F9 stack[4] = !address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x0207, if !!address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_0200: // Incoming jump from 0x01FF, if not !!address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @0200 returndata.length // @0203 returndata[0x00:0x00 + returndata.length] // @0204 returndata.length // @0206 memory[0x00:0x00 + returndata.length] // } 0200 3D RETURNDATASIZE 0201 5F PUSH0 0202 80 DUP1 0203 3E RETURNDATACOPY 0204 3D RETURNDATASIZE 0205 5F PUSH0 0206 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0203 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0206 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_0207: // Incoming jump from 0x0C25, if !!address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Incoming jump from 0x01FF, if !!address((0x01 << 0xa0) - 0x01 & stack[-1]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @020E memory[0x40:0x60] // @020F returndata.length // } 0207 5B JUMPDEST 0208 50 POP 0209 50 POP 020A 50 POP 020B 50 POP 020C 60 PUSH1 0x40 020E 51 MLOAD 020F 3D RETURNDATASIZE 0210 60 PUSH1 0x1f 0212 19 NOT 0213 60 PUSH1 0x1f 0215 82 DUP3 0216 01 ADD 0217 16 AND 0218 82 DUP3 0219 01 ADD 021A 80 DUP1 021B 60 PUSH1 0x40 021D 52 MSTORE 021E 50 POP 021F 81 DUP2 0220 01 ADD 0221 90 SWAP1 0222 61 PUSH2 0x022b 0225 91 SWAP2 0226 90 SWAP1 0227 61 PUSH2 0x35da 022A 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @021D memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @0225 stack[-4] = 0x022b // @0226 stack[-2] = memory[0x40:0x60] // @0226 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with unconditional jump to 0x35da 022B 5B JUMPDEST 022C 61 PUSH2 0x1180 022F 56 *JUMP 0230 5B JUMPDEST 0231 82 DUP3 0232 51 MLOAD 0233 60 PUSH1 0x40 0235 80 DUP1 0236 85 DUP6 0237 01 ADD 0238 51 MLOAD 0239 90 SWAP1 023A 51 MLOAD 023B 63 PUSH4 0x07c0329d 0240 60 PUSH1 0xe2 0242 1B SHL 0243 81 DUP2 0244 52 MSTORE 0245 5F PUSH0 0246 92 SWAP3 0247 60 PUSH1 0x01 0249 60 PUSH1 0x01 024B 60 PUSH1 0xa0 024D 1B SHL 024E 03 SUB 024F 85 DUP6 0250 16 AND 0251 92 SWAP3 0252 63 PUSH4 0x1f00ca74 0257 92 SWAP3 0258 61 PUSH2 0x0265 025B 92 SWAP3 025C 91 SWAP2 025D 90 SWAP1 025E 60 PUSH1 0x04 0260 01 ADD 0261 61 PUSH2 0x3637 0264 56 *JUMP 0265 5B JUMPDEST 0266 5F PUSH0 0267 60 PUSH1 0x40 0269 51 MLOAD 026A 80 DUP1 026B 83 DUP4 026C 03 SUB 026D 81 DUP2 026E 86 DUP7 026F 5A GAS 0270 FA STATICCALL 0271 15 ISZERO 0272 80 DUP1 0273 15 ISZERO 0274 61 PUSH2 0x027f 0277 57 *JUMPI 0278 3D RETURNDATASIZE 0279 5F PUSH0 027A 80 DUP1 027B 3E RETURNDATACOPY 027C 3D RETURNDATASIZE 027D 5F PUSH0 027E FD *REVERT 027F 5B JUMPDEST 0280 50 POP 0281 50 POP 0282 50 POP 0283 50 POP 0284 60 PUSH1 0x40 0286 51 MLOAD 0287 3D RETURNDATASIZE 0288 5F PUSH0 0289 82 DUP3 028A 3E RETURNDATACOPY 028B 60 PUSH1 0x1f 028D 3D RETURNDATASIZE 028E 90 SWAP1 028F 81 DUP2 0290 01 ADD 0291 60 PUSH1 0x1f 0293 19 NOT 0294 16 AND 0295 82 DUP3 0296 01 ADD 0297 60 PUSH1 0x40 0299 52 MSTORE 029A 61 PUSH2 0x02a6 029D 91 SWAP2 029E 90 SWAP1 029F 81 DUP2 02A0 01 ADD 02A1 90 SWAP1 02A2 61 PUSH2 0x364f 02A5 56 *JUMP 02A6 5B JUMPDEST 02A7 90 SWAP1 02A8 50 POP 02A9 81 DUP2 02AA 60 PUSH1 0x01 02AC 60 PUSH1 0x01 02AE 60 PUSH1 0xa0 02B0 1B SHL 02B1 03 SUB 02B2 16 AND 02B3 63 PUSH4 0xfb3bdb41 02B8 82 DUP3 02B9 5F PUSH0 02BA 81 DUP2 02BB 51 MLOAD 02BC 81 DUP2 02BD 10 LT 02BE 61 PUSH2 0x02c9 02C1 57 *JUMPI 02C2 61 PUSH2 0x02c9 02C5 61 PUSH2 0x36d0 02C8 56 *JUMP 02C9 5B JUMPDEST 02CA 60 PUSH1 0x20 02CC 02 MUL 02CD 60 PUSH1 0x20 02CF 01 ADD 02D0 01 ADD 02D1 51 MLOAD 02D2 86 DUP7 02D3 5F PUSH0 02D4 01 ADD 02D5 51 MLOAD 02D6 87 DUP8 02D7 60 PUSH1 0x40 02D9 01 ADD 02DA 51 MLOAD 02DB 88 DUP9 02DC 60 PUSH1 0x60 02DE 01 ADD 02DF 51 MLOAD 02E0 89 DUP10 02E1 60 PUSH1 0xc0 02E3 01 ADD 02E4 51 MLOAD 02E5 60 PUSH1 0x40 02E7 51 MLOAD 02E8 86 DUP7 02E9 63 PUSH4 0xffffffff 02EE 16 AND 02EF 60 PUSH1 0xe0 02F1 1B SHL 02F2 81 DUP2 02F3 52 MSTORE 02F4 60 PUSH1 0x04 02F6 01 ADD 02F7 61 PUSH2 0x0303 02FA 94 SWAP5 02FB 93 SWAP4 02FC 92 SWAP3 02FD 91 SWAP2 02FE 90 SWAP1 02FF 61 PUSH2 0x36e4 0302 56 *JUMP 0303 5B JUMPDEST 0304 5F PUSH0 0305 60 PUSH1 0x40 0307 51 MLOAD 0308 80 DUP1 0309 83 DUP4 030A 03 SUB 030B 81 DUP2 030C 85 DUP6 030D 88 DUP9 030E 5A GAS 030F F1 CALL 0310 15 ISZERO 0311 80 DUP1 0312 15 ISZERO 0313 61 PUSH2 0x031e 0316 57 *JUMPI 0317 3D RETURNDATASIZE 0318 5F PUSH0 0319 80 DUP1 031A 3E RETURNDATACOPY 031B 3D RETURNDATASIZE 031C 5F PUSH0 031D FD *REVERT 031E 5B JUMPDEST 031F 50 POP 0320 50 POP 0321 50 POP 0322 50 POP 0323 50 POP 0324 60 PUSH1 0x40 0326 51 MLOAD 0327 3D RETURNDATASIZE 0328 5F PUSH0 0329 82 DUP3 032A 3E RETURNDATACOPY 032B 60 PUSH1 0x1f 032D 3D RETURNDATASIZE 032E 90 SWAP1 032F 81 DUP2 0330 01 ADD 0331 60 PUSH1 0x1f 0333 19 NOT 0334 16 AND 0335 82 DUP3 0336 01 ADD 0337 60 PUSH1 0x40 0339 52 MSTORE 033A 61 PUSH2 0x0346 033D 91 SWAP2 033E 90 SWAP1 033F 81 DUP2 0340 01 ADD 0341 90 SWAP1 0342 61 PUSH2 0x364f 0345 56 *JUMP 0346 5B JUMPDEST 0347 50 POP 0348 80 DUP1 0349 5F PUSH0 034A 81 DUP2 034B 51 MLOAD 034C 81 DUP2 034D 10 LT 034E 61 PUSH2 0x0359 0351 57 *JUMPI 0352 61 PUSH2 0x0359 0355 61 PUSH2 0x36d0 0358 56 *JUMP 0359 5B JUMPDEST 035A 60 PUSH1 0x20 035C 02 MUL 035D 60 PUSH1 0x20 035F 01 ADD 0360 01 ADD 0361 51 MLOAD 0362 92 SWAP3 0363 50 POP 0364 50 POP 0365 50 POP 0366 91 SWAP2 0367 90 SWAP1 0368 50 POP 0369 56 *JUMP label_036A: // Incoming jump from 0x00D7 036A 5B JUMPDEST 036B 61 PUSH2 0x0372 036E 61 PUSH2 0x1276 0371 56 *JUMP // Stack delta = +1 // Outputs[1] { @036B stack[0] = 0x0372 } // Block ends with call to 0x1276, returns to 0x0372 label_0372: // Incoming return from call to 0x1276 at 0x0371 // Inputs[2] // { // @0375 stack[-1] // @0376 stack[-2] // } 0372 5B JUMPDEST 0373 60 PUSH1 0x03 0375 55 SSTORE 0376 56 *JUMP // Stack delta = -2 // Outputs[1] { @0375 storage[0x03] = stack[-1] } // Block ends with unconditional jump to stack[-2] label_0377: // Incoming jump from 0x00ED 0377 5B JUMPDEST 0378 61 PUSH2 0x037f 037B 61 PUSH2 0x1276 037E 56 *JUMP // Stack delta = +1 // Outputs[1] { @0378 stack[0] = 0x037f } // Block ends with call to 0x1276, returns to 0x037F label_037F: // Incoming return from call to 0x1276 at 0x037E 037F 5B JUMPDEST 0380 61 PUSH2 0x0388 0383 5F PUSH0 0384 61 PUSH2 0x12cf 0387 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0380 stack[0] = 0x0388 // @0383 stack[1] = 0x00 // } // Block ends with call to 0x12cf, returns to 0x0388 label_0388: // Incoming jump from 0x1287, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x00] // Incoming return from call to 0x12CF at 0x0387 // Inputs[1] { @0389 stack[-1] } 0388 5B JUMPDEST 0389 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_038A: // Incoming jump from 0x0100 038A 5B JUMPDEST 038B 61 PUSH2 0x0392 038E 61 PUSH2 0x3123 0391 56 *JUMP // Stack delta = +1 // Outputs[1] { @038B stack[0] = 0x0392 } // Block ends with call to 0x3123, returns to 0x0392 label_0392: // Incoming return from call to 0x3123 at 0x0391 0392 5B JUMPDEST 0393 61 PUSH2 0x039d 0396 60 PUSH1 0x01 0398 5F PUSH0 0399 61 PUSH2 0x31a3 039C 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @0393 stack[0] = 0x039d // @0396 stack[1] = 0x01 // @0398 stack[2] = 0x00 // } // Block ends with call to 0x31a3, returns to 0x039D label_039D: // Incoming return from call to 0x31A3 at 0x039C // Inputs[1] { @03A2 stack[-2] } 039D 5B JUMPDEST 039E 5F PUSH0 039F 61 PUSH2 0x03a7 03A2 83 DUP4 03A3 61 PUSH2 0x131e 03A6 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @039E stack[0] = 0x00 // @039F stack[1] = 0x03a7 // @03A2 stack[2] = stack[-2] // } // Block ends with call to 0x131e, returns to 0x03A7 label_03A7: // Incoming return from call to 0x131E at 0x03A6 // Inputs[3] // { // @03A8 stack[-1] // @03A9 storage[stack[-1]] // @03B3 memory[0x40:0x60] // } 03A7 5B JUMPDEST 03A8 80 DUP1 03A9 54 SLOAD 03AA 80 DUP1 03AB 60 PUSH1 0x20 03AD 02 MUL 03AE 60 PUSH1 0x20 03B0 01 ADD 03B1 60 PUSH1 0x40 03B3 51 MLOAD 03B4 90 SWAP1 03B5 81 DUP2 03B6 01 ADD 03B7 60 PUSH1 0x40 03B9 52 MSTORE 03BA 80 DUP1 03BB 92 SWAP3 03BC 91 SWAP2 03BD 90 SWAP1 03BE 81 DUP2 03BF 81 DUP2 03C0 52 MSTORE 03C1 60 PUSH1 0x20 03C3 01 ADD 03C4 5F PUSH0 03C5 90 SWAP1 03C6 5B JUMPDEST 03C7 82 DUP3 03C8 82 DUP3 03C9 10 LT 03CA 15 ISZERO 03CB 61 PUSH2 0x04c9 03CE 57 *JUMPI // Stack delta = +4 // Outputs[7] // { // @03B9 memory[0x40:0x60] = memory[0x40:0x60] + 0x20 + 0x20 * storage[stack[-1]] // @03BB stack[-1] = memory[0x40:0x60] // @03BC stack[0] = stack[-1] // @03BD stack[1] = storage[stack[-1]] // @03C0 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = storage[stack[-1]] // @03C5 stack[3] = 0x20 + memory[0x40:0x60] // @03C5 stack[2] = 0x00 // } // Block ends with conditional jump to 0x04c9, if !(0x00 < storage[stack[-1]]) label_03CF: // Incoming jump from 0x03CE, if not !(stack[-2] < stack[-3]) // Incoming jump from 0x03CE, if not !(0x00 < storage[stack[-1]]) // Inputs[17] // { // @03D0 stack[-4] // @03D8 memory[0x00:0x20] // @03DC memory[0x40:0x60] // @03E6 stack[-2] // @03EC storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b] // @0416 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x01] // @0423 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x02] // @0430 memory[0x40:0x60] // @043A storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x03] // @045B storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x04] // @0469 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x05] // @0473 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x06] // @047D storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x07] // @049C storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x08] // @04A6 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x09] // @04B5 storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x0a] // @04BE stack[-1] // } 03CF 5F PUSH0 03D0 84 DUP5 03D1 81 DUP2 03D2 52 MSTORE 03D3 60 PUSH1 0x20 03D5 90 SWAP1 03D6 81 DUP2 03D7 90 SWAP1 03D8 20 SHA3 03D9 60 PUSH1 0x40 03DB 80 DUP1 03DC 51 MLOAD 03DD 61 PUSH2 0x01c0 03E0 81 DUP2 03E1 01 ADD 03E2 82 DUP3 03E3 52 MSTORE 03E4 60 PUSH1 0x0b 03E6 86 DUP7 03E7 02 MUL 03E8 90 SWAP1 03E9 92 SWAP3 03EA 01 ADD 03EB 80 DUP1 03EC 54 SLOAD 03ED 60 PUSH1 0xff 03EF 80 DUP1 03F0 82 DUP3 03F1 16 AND 03F2 61 PUSH2 0x0140 03F5 86 DUP7 03F6 01 ADD 03F7 90 SWAP1 03F8 81 DUP2 03F9 52 MSTORE 03FA 60 PUSH1 0x01 03FC 60 PUSH1 0x01 03FE 60 PUSH1 0xa0 0400 1B SHL 0401 03 SUB 0402 61 PUSH2 0x0100 0405 93 SWAP4 0406 84 DUP5 0407 90 SWAP1 0408 04 DIV 0409 81 DUP2 040A 16 AND 040B 61 PUSH2 0x0160 040E 88 DUP9 040F 01 ADD 0410 52 MSTORE 0411 60 PUSH1 0x01 0413 80 DUP1 0414 86 DUP7 0415 01 ADD 0416 54 SLOAD 0417 82 DUP3 0418 16 AND 0419 61 PUSH2 0x0180 041C 89 DUP10 041D 01 ADD 041E 52 MSTORE 041F 60 PUSH1 0x02 0421 86 DUP7 0422 01 ADD 0423 54 SLOAD 0424 82 DUP3 0425 16 AND 0426 61 PUSH2 0x01a0 0429 89 DUP10 042A 01 ADD 042B 52 MSTORE 042C 91 SWAP2 042D 87 DUP8 042E 52 MSTORE 042F 85 DUP6 0430 51 MLOAD 0431 80 DUP1 0432 87 DUP8 0433 01 ADD 0434 87 DUP8 0435 52 MSTORE 0436 60 PUSH1 0x03 0438 86 DUP7 0439 01 ADD 043A 54 SLOAD 043B 80 DUP1 043C 83 DUP4 043D 16 AND 043E 82 DUP3 043F 52 MSTORE 0440 60 PUSH1 0x01 0442 60 PUSH1 0xa0 0444 1B SHL 0445 90 SWAP1 0446 04 DIV 0447 90 SWAP1 0448 93 SWAP4 0449 16 AND 044A 15 ISZERO 044B 15 ISZERO 044C 83 DUP4 044D 89 DUP10 044E 01 ADD 044F 52 MSTORE 0450 86 DUP7 0451 88 DUP9 0452 01 ADD 0453 92 SWAP3 0454 90 SWAP1 0455 92 SWAP3 0456 52 MSTORE 0457 60 PUSH1 0x04 0459 84 DUP5 045A 01 ADD 045B 54 SLOAD 045C 82 DUP3 045D 16 AND 045E 94 SWAP5 045F 86 DUP7 0460 01 ADD 0461 94 SWAP5 0462 90 SWAP1 0463 94 SWAP5 0464 52 MSTORE 0465 60 PUSH1 0x05 0467 83 DUP4 0468 01 ADD 0469 54 SLOAD 046A 60 PUSH1 0x60 046C 86 DUP7 046D 01 ADD 046E 52 MSTORE 046F 60 PUSH1 0x06 0471 83 DUP4 0472 01 ADD 0473 54 SLOAD 0474 60 PUSH1 0x80 0476 86 DUP7 0477 01 ADD 0478 52 MSTORE 0479 60 PUSH1 0x07 047B 83 DUP4 047C 01 ADD 047D 54 SLOAD 047E 62 PUSH3 0xffffff 0482 80 DUP1 0483 82 DUP3 0484 16 AND 0485 60 PUSH1 0xa0 0487 88 DUP9 0488 01 ADD 0489 52 MSTORE 048A 63 PUSH4 0x01000000 048F 90 SWAP1 0490 91 SWAP2 0491 04 DIV 0492 16 AND 0493 60 PUSH1 0xc0 0495 86 DUP7 0496 01 ADD 0497 52 MSTORE 0498 60 PUSH1 0x08 049A 83 DUP4 049B 01 ADD 049C 54 SLOAD 049D 60 PUSH1 0xe0 049F 86 DUP7 04A0 01 ADD 04A1 52 MSTORE 04A2 60 PUSH1 0x09 04A4 83 DUP4 04A5 01 ADD 04A6 54 SLOAD 04A7 81 DUP2 04A8 16 AND 04A9 91 SWAP2 04AA 85 DUP6 04AB 01 ADD 04AC 91 SWAP2 04AD 90 SWAP1 04AE 91 SWAP2 04AF 52 MSTORE 04B0 60 PUSH1 0x0a 04B2 90 SWAP1 04B3 91 SWAP2 04B4 01 ADD 04B5 54 SLOAD 04B6 16 AND 04B7 61 PUSH2 0x0120 04BA 83 DUP4 04BB 01 ADD 04BC 52 MSTORE 04BD 90 SWAP1 04BE 83 DUP4 04BF 52 MSTORE 04C0 90 SWAP1 04C1 92 SWAP3 04C2 01 ADD 04C3 91 SWAP2 04C4 01 ADD 04C5 61 PUSH2 0x03c6 04C8 56 *JUMP // Stack delta = +0 // Outputs[22] // { // @03D2 memory[0x00:0x20] = stack[-4] // @03E3 memory[0x40:0x60] = memory[0x40:0x60] + 0x01c0 // @03F9 memory[memory[0x40:0x60] + 0x0140:memory[0x40:0x60] + 0x0140 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b] & 0xff // @0410 memory[memory[0x40:0x60] + 0x0160:memory[0x40:0x60] + 0x0160 + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b] / 0x0100 // @041E memory[memory[0x40:0x60] + 0x0180:memory[0x40:0x60] + 0x0180 + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x01] // @042B memory[memory[0x40:0x60] + 0x01a0:memory[0x40:0x60] + 0x01a0 + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x02] // @042E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = memory[0x40:0x60] + 0x0140 // @0435 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @043F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x03] // @044F memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = !!(0xff & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x03] / (0x01 << 0xa0)) // @0456 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = memory[0x40:0x60] // @0464 memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x04] // @046E memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x05] // @0478 memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x06] // @0489 memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x07] & 0xffffff // @0497 memory[memory[0x40:0x60] + 0xc0:memory[0x40:0x60] + 0xc0 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x07] / 0x01000000 & 0xffffff // @04A1 memory[memory[0x40:0x60] + 0xe0:memory[0x40:0x60] + 0xe0 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x08] // @04AF memory[memory[0x40:0x60] + 0x0100:memory[0x40:0x60] + 0x0100 + 0x20] = (0x01 << 0xa0) - 0x01 & storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x09] // @04BC memory[memory[0x40:0x60] + 0x0120:memory[0x40:0x60] + 0x0120 + 0x20] = storage[keccak256(memory[0x00:0x20]) + stack[-2] * 0x0b + 0x0a] & (0x01 << 0xa0) - 0x01 // @04BF memory[stack[-1]:stack[-1] + 0x20] = memory[0x40:0x60] // @04C3 stack[-2] = stack[-2] + 0x01 // @04C4 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x03c6 label_04C9: // Incoming jump from 0x03CE, if !(stack[-2] < stack[-3]) // Incoming jump from 0x03CE, if !(0x00 < storage[stack[-1]]) // Inputs[3] // { // @04CE stack[-5] // @04CE stack[-6] // @04D4 stack[-8] // } 04C9 5B JUMPDEST 04CA 50 POP 04CB 50 POP 04CC 50 POP 04CD 50 POP 04CE 90 SWAP1 04CF 50 POP 04D0 5F PUSH0 04D1 61 PUSH2 0x04da 04D4 84 DUP5 04D5 83 DUP4 04D6 61 PUSH2 0x2276 04D9 56 *JUMP // Stack delta = -1 // Outputs[5] // { // @04CE stack[-6] = stack[-5] // @04D0 stack[-5] = 0x00 // @04D1 stack[-4] = 0x04da // @04D4 stack[-3] = stack[-8] // @04D5 stack[-2] = stack[-5] // } // Block ends with unconditional jump to 0x2276 label_04DA: // Incoming return from call to 0x35F5 at 0x364E // Incoming return from call to 0x3389 at 0x3486 // Inputs[3] // { // @04DB stack[-1] // @04DB stack[-6] // @04DC stack[-5] // } 04DA 5B JUMPDEST 04DB 94 SWAP5 04DC 93 SWAP4 04DD 50 POP 04DE 50 POP 04DF 50 POP 04E0 50 POP 04E1 56 *JUMP // Stack delta = -5 // Outputs[1] { @04DB stack[-6] = stack[-1] } // Block ends with unconditional jump to stack[-6] label_04E2: // Incoming jump from 0x0120 // Inputs[3] // { // @04E5 stack[-1] // @04E9 memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // @04EC memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] // } 04E2 5B JUMPDEST 04E3 5F PUSH0 04E4 80 DUP1 04E5 82 DUP3 04E6 60 PUSH1 0x40 04E8 01 ADD 04E9 51 MLOAD 04EA 5F PUSH0 04EB 81 DUP2 04EC 51 MLOAD 04ED 81 DUP2 04EE 10 LT 04EF 61 PUSH2 0x04fa 04F2 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @04E3 stack[0] = 0x00 // @04E4 stack[1] = 0x00 // @04E9 stack[2] = memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // @04EA stack[3] = 0x00 // } // Block ends with conditional jump to 0x04fa, if 0x00 < memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] label_04F3: // Incoming jump from 0x04F2, if not 0x00 < memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] 04F3 61 PUSH2 0x04fa 04F6 61 PUSH2 0x36d0 04F9 56 *JUMP // Stack delta = +1 // Outputs[1] { @04F3 stack[0] = 0x04fa } // Block ends with unconditional jump to 0x36d0 label_04FA: // Incoming jump from 0x04F2, if 0x00 < memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] // Inputs[10] // { // @04FD stack[-1] // @0500 stack[-2] // @0505 memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @0508 memory[0x40:0x60] // @0513 address(this) // @051A stack[-3] // @0536 memory[0x40:0x60] // @053C msg.gas // @053D memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]] // @053D address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 04FA 5B JUMPDEST 04FB 60 PUSH1 0x20 04FD 90 SWAP1 04FE 81 DUP2 04FF 02 MUL 0500 91 SWAP2 0501 90 SWAP1 0502 91 SWAP2 0503 01 ADD 0504 01 ADD 0505 51 MLOAD 0506 60 PUSH1 0x40 0508 51 MLOAD 0509 63 PUSH4 0x70a08231 050E 60 PUSH1 0xe0 0510 1B SHL 0511 81 DUP2 0512 52 MSTORE 0513 30 ADDRESS 0514 60 PUSH1 0x04 0516 82 DUP3 0517 01 ADD 0518 52 MSTORE 0519 90 SWAP1 051A 91 SWAP2 051B 50 POP 051C 5F PUSH0 051D 90 SWAP1 051E 60 PUSH1 0x01 0520 60 PUSH1 0x01 0522 60 PUSH1 0xa0 0524 1B SHL 0525 03 SUB 0526 83 DUP4 0527 16 AND 0528 90 SWAP1 0529 63 PUSH4 0x70a08231 052E 90 SWAP1 052F 60 PUSH1 0x24 0531 01 ADD 0532 60 PUSH1 0x20 0534 60 PUSH1 0x40 0536 51 MLOAD 0537 80 DUP1 0538 83 DUP4 0539 03 SUB 053A 81 DUP2 053B 86 DUP7 053C 5A GAS 053D FA STATICCALL 053E 15 ISZERO 053F 80 DUP1 0540 15 ISZERO 0541 61 PUSH2 0x054c 0544 57 *JUMPI // Stack delta = +3 // Outputs[9] // { // @0512 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x70a08231 << 0xe0 // @0518 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @051A stack[-3] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @051D stack[-2] = 0x00 // @0528 stack[-1] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01 // @052E stack[0] = 0x70a08231 // @0531 stack[1] = 0x24 + memory[0x40:0x60] // @053D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @053E stack[2] = !address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x054c, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_0545: // Incoming jump from 0x0544, if not !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @0545 returndata.length // @0548 returndata[0x00:0x00 + returndata.length] // @0549 returndata.length // @054B memory[0x00:0x00 + returndata.length] // } 0545 3D RETURNDATASIZE 0546 5F PUSH0 0547 80 DUP1 0548 3E RETURNDATACOPY 0549 3D RETURNDATASIZE 054A 5F PUSH0 054B FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0548 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @054B revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_054C: // Incoming jump from 0x0544, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @0553 memory[0x40:0x60] // @0554 returndata.length // } 054C 5B JUMPDEST 054D 50 POP 054E 50 POP 054F 50 POP 0550 50 POP 0551 60 PUSH1 0x40 0553 51 MLOAD 0554 3D RETURNDATASIZE 0555 60 PUSH1 0x1f 0557 19 NOT 0558 60 PUSH1 0x1f 055A 82 DUP3 055B 01 ADD 055C 16 AND 055D 82 DUP3 055E 01 ADD 055F 80 DUP1 0560 60 PUSH1 0x40 0562 52 MSTORE 0563 50 POP 0564 81 DUP2 0565 01 ADD 0566 90 SWAP1 0567 61 PUSH2 0x0570 056A 91 SWAP2 056B 90 SWAP1 056C 61 PUSH2 0x3718 056F 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0562 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @056A stack[-4] = 0x0570 // @056B stack[-2] = memory[0x40:0x60] // @056B stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x0570 label_0570: // Incoming return from call to 0x3718 at 0x056F // Inputs[6] // { // @0571 stack[-1] // @0572 stack[-5] // @057C address(this) // @0586 memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] // @0588 memory[memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20]:memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] + 0x20] // @058A stack[-2] // } 0570 5B JUMPDEST 0571 80 DUP1 0572 85 DUP6 0573 52 MSTORE 0574 5F PUSH0 0575 60 PUSH1 0x20 0577 86 DUP7 0578 01 ADD 0579 81 DUP2 057A 90 SWAP1 057B 52 MSTORE 057C 30 ADDRESS 057D 60 PUSH1 0x60 057F 87 DUP8 0580 01 ADD 0581 52 MSTORE 0582 60 PUSH1 0x40 0584 86 DUP7 0585 01 ADD 0586 51 MLOAD 0587 80 DUP1 0588 51 MLOAD 0589 92 SWAP3 058A 93 SWAP4 058B 50 POP 058C 90 SWAP1 058D 91 SWAP2 058E 82 DUP3 058F 91 SWAP2 0590 90 SWAP1 0591 61 PUSH2 0x059c 0594 90 SWAP1 0595 60 PUSH1 0x01 0597 90 SWAP1 0598 61 PUSH2 0x3743 059B 56 *JUMP // Stack delta = +5 // Outputs[10] // { // @0573 memory[stack[-5]:stack[-5] + 0x20] = stack[-1] // @057B memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] = 0x00 // @0581 memory[stack[-5] + 0x60:stack[-5] + 0x60 + 0x20] = address(this) // @058A stack[-2] = stack[-1] // @058D stack[-1] = 0x00 // @058F stack[0] = 0x00 // @0590 stack[1] = memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] // @0594 stack[2] = 0x059c // @0597 stack[3] = 0x01 // @0597 stack[4] = memory[memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20]:memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] + 0x20] // } // Block ends with call to 0x3743, returns to 0x059C label_059C: // Incoming return from call to 0x3743 at 0x059B // Inputs[3] // { // @059D stack[-2] // @059E memory[stack[-2]:stack[-2] + 0x20] // @059F stack[-1] // } 059C 5B JUMPDEST 059D 81 DUP2 059E 51 MLOAD 059F 81 DUP2 05A0 10 LT 05A1 61 PUSH2 0x05ac 05A4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x05ac, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] label_05A5: // Incoming jump from 0x05A4, if not stack[-1] < memory[stack[-2]:stack[-2] + 0x20] 05A5 61 PUSH2 0x05ac 05A8 61 PUSH2 0x36d0 05AB 56 *JUMP // Stack delta = +1 // Outputs[1] { @05A5 stack[0] = 0x05ac } // Block ends with unconditional jump to 0x36d0 label_05AC: // Incoming jump from 0x05A4, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] // Inputs[10] // { // @05AF stack[-1] // @05B2 stack[-2] // @05B7 memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @05BA memory[0x40:0x60] // @05C5 address(this) // @05CC stack[-3] // @05E8 memory[0x40:0x60] // @05EE msg.gas // @05EF memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]] // @05EF address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 05AC 5B JUMPDEST 05AD 60 PUSH1 0x20 05AF 90 SWAP1 05B0 81 DUP2 05B1 02 MUL 05B2 91 SWAP2 05B3 90 SWAP1 05B4 91 SWAP2 05B5 01 ADD 05B6 01 ADD 05B7 51 MLOAD 05B8 60 PUSH1 0x40 05BA 51 MLOAD 05BB 63 PUSH4 0x70a08231 05C0 60 PUSH1 0xe0 05C2 1B SHL 05C3 81 DUP2 05C4 52 MSTORE 05C5 30 ADDRESS 05C6 60 PUSH1 0x04 05C8 82 DUP3 05C9 01 ADD 05CA 52 MSTORE 05CB 90 SWAP1 05CC 91 SWAP2 05CD 50 POP 05CE 5F PUSH0 05CF 90 SWAP1 05D0 60 PUSH1 0x01 05D2 60 PUSH1 0x01 05D4 60 PUSH1 0xa0 05D6 1B SHL 05D7 03 SUB 05D8 83 DUP4 05D9 16 AND 05DA 90 SWAP1 05DB 63 PUSH4 0x70a08231 05E0 90 SWAP1 05E1 60 PUSH1 0x24 05E3 01 ADD 05E4 60 PUSH1 0x20 05E6 60 PUSH1 0x40 05E8 51 MLOAD 05E9 80 DUP1 05EA 83 DUP4 05EB 03 SUB 05EC 81 DUP2 05ED 86 DUP7 05EE 5A GAS 05EF FA STATICCALL 05F0 15 ISZERO 05F1 80 DUP1 05F2 15 ISZERO 05F3 61 PUSH2 0x05fe 05F6 57 *JUMPI // Stack delta = +3 // Outputs[9] // { // @05C4 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x70a08231 << 0xe0 // @05CA memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @05CC stack[-3] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @05CF stack[-2] = 0x00 // @05DA stack[-1] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01 // @05E0 stack[0] = 0x70a08231 // @05E3 stack[1] = 0x24 + memory[0x40:0x60] // @05EF memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @05F0 stack[2] = !address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x05fe, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_05F7: // Incoming jump from 0x05F6, if not !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @05F7 returndata.length // @05FA returndata[0x00:0x00 + returndata.length] // @05FB returndata.length // @05FD memory[0x00:0x00 + returndata.length] // } 05F7 3D RETURNDATASIZE 05F8 5F PUSH0 05F9 80 DUP1 05FA 3E RETURNDATACOPY 05FB 3D RETURNDATASIZE 05FC 5F PUSH0 05FD FD *REVERT // Stack delta = +0 // Outputs[2] // { // @05FA memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @05FD revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_05FE: // Incoming jump from 0x05F6, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @0605 memory[0x40:0x60] // @0606 returndata.length // } 05FE 5B JUMPDEST 05FF 50 POP 0600 50 POP 0601 50 POP 0602 50 POP 0603 60 PUSH1 0x40 0605 51 MLOAD 0606 3D RETURNDATASIZE 0607 60 PUSH1 0x1f 0609 19 NOT 060A 60 PUSH1 0x1f 060C 82 DUP3 060D 01 ADD 060E 16 AND 060F 82 DUP3 0610 01 ADD 0611 80 DUP1 0612 60 PUSH1 0x40 0614 52 MSTORE 0615 50 POP 0616 81 DUP2 0617 01 ADD 0618 90 SWAP1 0619 61 PUSH2 0x0622 061C 91 SWAP2 061D 90 SWAP1 061E 61 PUSH2 0x3718 0621 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0614 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @061C stack[-4] = 0x0622 // @061D stack[-2] = memory[0x40:0x60] // @061D stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x0622 label_0622: // Incoming return from call to 0x3718 at 0x0621 // Inputs[4] // { // @0623 stack[-2] // @0623 stack[-1] // @0625 stack[-8] // @062A memory[0x0120 + stack[-8]:0x0120 + stack[-8] + 0x20] // } 0622 5B JUMPDEST 0623 90 SWAP1 0624 50 POP 0625 86 DUP7 0626 61 PUSH2 0x0120 0629 01 ADD 062A 51 MLOAD 062B 62 PUSH3 0xffffff 062F 16 AND 0630 60 PUSH1 0x02 0632 03 SUB 0633 61 PUSH2 0x06ec 0636 57 *JUMPI // Stack delta = -1 // Outputs[1] { @0623 stack[-2] = stack[-1] } // Block ends with conditional jump to 0x06ec, if 0x02 - (0xffffff & memory[0x0120 + stack[-8]:0x0120 + stack[-8] + 0x20]) label_0637: // Incoming jump from 0x0636, if not 0x02 - (0xffffff & memory[0x0120 + stack[-8]:0x0120 + stack[-8] + 0x20]) // Inputs[5] // { // @0639 stack[-7] // @063B memory[stack[-7] + 0x80:stack[-7] + 0x80 + 0x20] // @0641 memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] // @0643 memory[0x40:0x60] // @0665 stack[-4] // } 0637 60 PUSH1 0x80 0639 87 DUP8 063A 01 ADD 063B 51 MLOAD 063C 60 PUSH1 0x40 063E 80 DUP1 063F 89 DUP10 0640 01 ADD 0641 51 MLOAD 0642 90 SWAP1 0643 51 MLOAD 0644 63 PUSH4 0xd06ca61f 0649 60 PUSH1 0xe0 064B 1B SHL 064C 81 DUP2 064D 52 MSTORE 064E 5F PUSH0 064F 91 SWAP2 0650 60 PUSH1 0x01 0652 60 PUSH1 0x01 0654 60 PUSH1 0xa0 0656 1B SHL 0657 03 SUB 0658 84 DUP5 0659 16 AND 065A 91 SWAP2 065B 63 PUSH4 0xd06ca61f 0660 91 SWAP2 0661 61 PUSH2 0x066f 0664 91 SWAP2 0665 8A DUP11 0666 91 SWAP2 0667 90 SWAP1 0668 60 PUSH1 0x04 066A 01 ADD 066B 61 PUSH2 0x3637 066E 56 *JUMP // Stack delta = +8 // Outputs[9] // { // @063B stack[0] = memory[stack[-7] + 0x80:stack[-7] + 0x80 + 0x20] // @064D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xd06ca61f << 0xe0 // @064F stack[1] = 0x00 // @065A stack[2] = memory[stack[-7] + 0x80:stack[-7] + 0x80 + 0x20] & (0x01 << 0xa0) - 0x01 // @0660 stack[3] = 0xd06ca61f // @0664 stack[4] = 0x066f // @0666 stack[5] = stack[-4] // @0667 stack[6] = memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] // @066A stack[7] = 0x04 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x3637 066F 5B JUMPDEST 0670 5F PUSH0 0671 60 PUSH1 0x40 0673 51 MLOAD 0674 80 DUP1 0675 83 DUP4 0676 03 SUB 0677 81 DUP2 0678 86 DUP7 0679 5A GAS 067A FA STATICCALL 067B 15 ISZERO 067C 80 DUP1 067D 15 ISZERO 067E 61 PUSH2 0x0689 0681 57 *JUMPI 0682 3D RETURNDATASIZE 0683 5F PUSH0 0684 80 DUP1 0685 3E RETURNDATACOPY 0686 3D RETURNDATASIZE 0687 5F PUSH0 0688 FD *REVERT 0689 5B JUMPDEST 068A 50 POP 068B 50 POP 068C 50 POP 068D 50 POP 068E 60 PUSH1 0x40 0690 51 MLOAD 0691 3D RETURNDATASIZE 0692 5F PUSH0 0693 82 DUP3 0694 3E RETURNDATACOPY 0695 60 PUSH1 0x1f 0697 3D RETURNDATASIZE 0698 90 SWAP1 0699 81 DUP2 069A 01 ADD 069B 60 PUSH1 0x1f 069D 19 NOT 069E 16 AND 069F 82 DUP3 06A0 01 ADD 06A1 60 PUSH1 0x40 06A3 52 MSTORE 06A4 61 PUSH2 0x06b0 06A7 91 SWAP2 06A8 90 SWAP1 06A9 81 DUP2 06AA 01 ADD 06AB 90 SWAP1 06AC 61 PUSH2 0x364f 06AF 56 *JUMP 06B0 5B JUMPDEST 06B1 90 SWAP1 06B2 50 POP 06B3 80 DUP1 06B4 60 PUSH1 0x01 06B6 82 DUP3 06B7 51 MLOAD 06B8 61 PUSH2 0x06c1 06BB 91 SWAP2 06BC 90 SWAP1 06BD 61 PUSH2 0x3743 06C0 56 *JUMP 06C1 5B JUMPDEST 06C2 81 DUP2 06C3 51 MLOAD 06C4 81 DUP2 06C5 10 LT 06C6 61 PUSH2 0x06d1 06C9 57 *JUMPI 06CA 61 PUSH2 0x06d1 06CD 61 PUSH2 0x36d0 06D0 56 *JUMP 06D1 5B JUMPDEST 06D2 60 PUSH1 0x20 06D4 02 MUL 06D5 60 PUSH1 0x20 06D7 01 ADD 06D8 01 ADD 06D9 51 MLOAD 06DA 94 SWAP5 06DB 50 POP 06DC 61 PUSH2 0x06e4 06DF 89 DUP10 06E0 61 PUSH2 0x285c 06E3 56 *JUMP 06E4 5B JUMPDEST 06E5 50 POP 06E6 50 POP 06E7 50 POP 06E8 61 PUSH2 0x0942 06EB 56 *JUMP label_06EC: // Incoming jump from 0x0636, if 0x02 - (0xffffff & memory[0x0120 + stack[-8]:0x0120 + stack[-8] + 0x20]) // Inputs[2] // { // @06ED stack[-7] // @06F2 memory[0x0120 + stack[-7]:0x0120 + stack[-7] + 0x20] // } 06EC 5B JUMPDEST 06ED 86 DUP7 06EE 61 PUSH2 0x0120 06F1 01 ADD 06F2 51 MLOAD 06F3 62 PUSH3 0xffffff 06F7 16 AND 06F8 60 PUSH1 0x03 06FA 03 SUB 06FB 61 PUSH2 0x0942 06FE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0942, if 0x03 - (0xffffff & memory[0x0120 + stack[-7]:0x0120 + stack[-7] + 0x20]) label_06FF: // Incoming jump from 0x06FE, if not 0x03 - (0xffffff & memory[0x0120 + stack[-7]:0x0120 + stack[-7] + 0x20]) // Inputs[4] // { // @0701 stack[-7] // @0703 memory[stack[-7] + 0xa0:stack[-7] + 0xa0 + 0x20] // @0708 memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] // @0709 memory[memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20]:memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] + 0x20] // } 06FF 60 PUSH1 0xa0 0701 87 DUP8 0702 01 ADD 0703 51 MLOAD 0704 60 PUSH1 0x40 0706 88 DUP9 0707 01 ADD 0708 51 MLOAD 0709 51 MLOAD 070A 60 PUSH1 0x03 070C 11 GT 070D 15 ISZERO 070E 61 PUSH2 0x082f 0711 57 *JUMPI // Stack delta = +1 // Outputs[1] { @0703 stack[0] = memory[stack[-7] + 0xa0:stack[-7] + 0xa0 + 0x20] } // Block ends with conditional jump to 0x082f, if !(0x03 > memory[memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20]:memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] + 0x20]) label_0712: // Incoming jump from 0x0711, if not !(0x03 > memory[memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20]:memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] + 0x20]) // Inputs[4] // { // @0715 memory[0x40:0x60] // @073C stack[-8] // @0740 memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] // @0743 memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] // } 0712 60 PUSH1 0x40 0714 80 DUP1 0715 51 MLOAD 0716 60 PUSH1 0xa0 0718 81 DUP2 0719 01 ADD 071A 82 DUP3 071B 52 MSTORE 071C 5F PUSH0 071D 80 DUP1 071E 82 DUP3 071F 52 MSTORE 0720 60 PUSH1 0x20 0722 82 DUP3 0723 01 ADD 0724 81 DUP2 0725 90 SWAP1 0726 52 MSTORE 0727 91 SWAP2 0728 81 DUP2 0729 01 ADD 072A 82 DUP3 072B 90 SWAP1 072C 52 MSTORE 072D 60 PUSH1 0x60 072F 81 DUP2 0730 01 ADD 0731 82 DUP3 0732 90 SWAP1 0733 52 MSTORE 0734 60 PUSH1 0x80 0736 81 DUP2 0737 01 ADD 0738 91 SWAP2 0739 90 SWAP1 073A 91 SWAP2 073B 52 MSTORE 073C 88 DUP9 073D 60 PUSH1 0x40 073F 01 ADD 0740 51 MLOAD 0741 5F PUSH0 0742 81 DUP2 0743 51 MLOAD 0744 81 DUP2 0745 10 LT 0746 61 PUSH2 0x0751 0749 57 *JUMPI // Stack delta = +3 // Outputs[9] // { // @071B memory[0x40:0x60] = memory[0x40:0x60] + 0xa0 // @071F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @0726 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x00 // @072C memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = 0x00 // @0733 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = 0x00 // @073A stack[0] = memory[0x40:0x60] // @073B memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = 0x00 // @0740 stack[1] = memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] // @0741 stack[2] = 0x00 // } // Block ends with conditional jump to 0x0751, if 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] label_074A: // Incoming jump from 0x0749, if not 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] 074A 61 PUSH2 0x0751 074D 61 PUSH2 0x36d0 0750 56 *JUMP // Stack delta = +1 // Outputs[1] { @074A stack[0] = 0x0751 } // Block ends with unconditional jump to 0x36d0 label_0751: // Incoming jump from 0x0749, if 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] // Inputs[7] // { // @0754 stack[-1] // @0757 stack[-2] // @075C memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @0766 stack[-3] // @076A stack[-11] // @076C memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] // @076E memory[memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20]:memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] + 0x20] // } 0751 5B JUMPDEST 0752 60 PUSH1 0x20 0754 90 SWAP1 0755 81 DUP2 0756 02 MUL 0757 91 SWAP2 0758 90 SWAP1 0759 91 SWAP2 075A 01 ADD 075B 01 ADD 075C 51 MLOAD 075D 60 PUSH1 0x01 075F 60 PUSH1 0x01 0761 60 PUSH1 0xa0 0763 1B SHL 0764 03 SUB 0765 16 AND 0766 81 DUP2 0767 52 MSTORE 0768 60 PUSH1 0x40 076A 89 DUP10 076B 01 ADD 076C 51 MLOAD 076D 80 DUP1 076E 51 MLOAD 076F 60 PUSH1 0x01 0771 90 SWAP1 0772 81 DUP2 0773 10 LT 0774 61 PUSH2 0x077f 0777 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @0767 memory[stack[-3]:stack[-3] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @076C stack[-2] = memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] // @0771 stack[-1] = 0x01 // } // Block ends with conditional jump to 0x077f, if 0x01 < memory[memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20]:memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] + 0x20] label_0778: // Incoming jump from 0x0777, if not 0x01 < memory[memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20]:memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] + 0x20] 0778 61 PUSH2 0x077f 077B 61 PUSH2 0x36d0 077E 56 *JUMP // Stack delta = +1 // Outputs[1] { @0778 stack[0] = 0x077f } // Block ends with unconditional jump to 0x36d0 label_077F: // Incoming jump from 0x0777, if 0x01 < memory[memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20]:memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] + 0x20] // Inputs[9] // { // @0782 stack[-1] // @0785 stack[-2] // @078B memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0798 stack[-3] // @07A3 stack[-8] // @07A8 stack[-11] // @07AA memory[stack[-11] + 0xe0:stack[-11] + 0xe0 + 0x20] // @07BE memory[0x40:0x60] // @07CB stack[-4] // } 077F 5B JUMPDEST 0780 60 PUSH1 0x20 0782 90 SWAP1 0783 81 DUP2 0784 02 MUL 0785 91 SWAP2 0786 90 SWAP1 0787 91 SWAP2 0788 01 ADD 0789 81 DUP2 078A 01 ADD 078B 51 MLOAD 078C 60 PUSH1 0x01 078E 60 PUSH1 0x01 0790 60 PUSH1 0xa0 0792 1B SHL 0793 03 SUB 0794 90 SWAP1 0795 81 DUP2 0796 16 AND 0797 91 SWAP2 0798 83 DUP4 0799 01 ADD 079A 91 SWAP2 079B 90 SWAP1 079C 91 SWAP2 079D 52 MSTORE 079E 60 PUSH1 0x40 07A0 80 DUP1 07A1 83 DUP4 07A2 01 ADD 07A3 88 DUP9 07A4 90 SWAP1 07A5 52 MSTORE 07A6 60 PUSH1 0xe0 07A8 8B DUP12 07A9 01 ADD 07AA 51 MLOAD 07AB 62 PUSH3 0xffffff 07AF 16 AND 07B0 60 PUSH1 0x60 07B2 84 DUP5 07B3 01 ADD 07B4 52 MSTORE 07B5 5F PUSH0 07B6 60 PUSH1 0x80 07B8 84 DUP5 07B9 01 ADD 07BA 81 DUP2 07BB 90 SWAP1 07BC 52 MSTORE 07BD 90 SWAP1 07BE 51 MLOAD 07BF 63 PUSH4 0x63528135 07C4 60 PUSH1 0xe1 07C6 1B SHL 07C7 81 DUP2 07C8 52 MSTORE 07C9 90 SWAP1 07CA 91 SWAP2 07CB 84 DUP5 07CC 16 AND 07CD 90 SWAP1 07CE 63 PUSH4 0xc6a5026a 07D3 90 SWAP1 07D4 61 PUSH2 0x07e1 07D7 90 SWAP1 07D8 85 DUP6 07D9 90 SWAP1 07DA 60 PUSH1 0x04 07DC 01 ADD 07DD 61 PUSH2 0x3756 07E0 56 *JUMP // Stack delta = +4 // Outputs[11] // { // @079D memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @07A5 memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] = stack[-8] // @07B4 memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] = 0xffffff & memory[stack[-11] + 0xe0:stack[-11] + 0xe0 + 0x20] // @07BC memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] = 0x00 // @07C8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x63528135 << 0xe1 // @07CA stack[-2] = 0x00 // @07CD stack[-1] = stack[-4] & (0x01 << 0xa0) - 0x01 // @07D3 stack[0] = 0xc6a5026a // @07D7 stack[1] = 0x07e1 // @07D9 stack[2] = stack[-3] // @07DC stack[3] = 0x04 + memory[0x40:0x60] // } // Block ends with call to 0x3756, returns to 0x07E1 label_07E1: // Incoming return from call to 0x3756 at 0x07E0 // Inputs[6] // { // @07E6 memory[0x40:0x60] // @07E8 stack[-1] // @07EC stack[-3] // @07ED msg.gas // @07EE address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @07EE memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 07E1 5B JUMPDEST 07E2 60 PUSH1 0x80 07E4 60 PUSH1 0x40 07E6 51 MLOAD 07E7 80 DUP1 07E8 83 DUP4 07E9 03 SUB 07EA 81 DUP2 07EB 5F PUSH0 07EC 87 DUP8 07ED 5A GAS 07EE F1 CALL 07EF 15 ISZERO 07F0 80 DUP1 07F1 15 ISZERO 07F2 61 PUSH2 0x07fd 07F5 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @07EE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x80] = address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @07EF stack[0] = !address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x07fd, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) label_07F6: // Incoming jump from 0x07F5, if not !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @07F6 returndata.length // @07F9 returndata[0x00:0x00 + returndata.length] // @07FA returndata.length // @07FC memory[0x00:0x00 + returndata.length] // } 07F6 3D RETURNDATASIZE 07F7 5F PUSH0 07F8 80 DUP1 07F9 3E RETURNDATACOPY 07FA 3D RETURNDATASIZE 07FB 5F PUSH0 07FC FD *REVERT // Stack delta = +0 // Outputs[2] // { // @07F9 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @07FC revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_07FD: // Incoming jump from 0x07F5, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[2] // { // @0804 memory[0x40:0x60] // @0805 returndata.length // } 07FD 5B JUMPDEST 07FE 50 POP 07FF 50 POP 0800 50 POP 0801 50 POP 0802 60 PUSH1 0x40 0804 51 MLOAD 0805 3D RETURNDATASIZE 0806 60 PUSH1 0x1f 0808 19 NOT 0809 60 PUSH1 0x1f 080B 82 DUP3 080C 01 ADD 080D 16 AND 080E 82 DUP3 080F 01 ADD 0810 80 DUP1 0811 60 PUSH1 0x40 0813 52 MSTORE 0814 50 POP 0815 81 DUP2 0816 01 ADD 0817 90 SWAP1 0818 61 PUSH2 0x0821 081B 91 SWAP2 081C 90 SWAP1 081D 61 PUSH2 0x37b2 0820 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0813 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @081B stack[-4] = 0x0821 // @081C stack[-2] = memory[0x40:0x60] // @081C stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x37b2, returns to 0x0821 label_0821: // Incoming return from call to 0x37B2 at 0x0820 // Inputs[4] // { // @0823 stack[-4] // @0823 stack[-2] // @0824 stack[-10] // @0829 stack[-6] // } 0821 5B JUMPDEST 0822 50 POP 0823 91 SWAP2 0824 97 SWAP8 0825 50 POP 0826 61 PUSH2 0x0936 0829 93 SWAP4 082A 50 POP 082B 50 POP 082C 50 POP 082D 50 POP 082E 56 *JUMP // Stack delta = -6 // Outputs[1] { @0824 stack[-10] = stack[-4] } // Block ends with unconditional jump to 0x0936 label_082F: // Incoming jump from 0x0711, if !(0x03 > memory[memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20]:memory[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] + 0x20]) // Inputs[3] // { // @0831 stack[-8] // @0835 memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] // @0838 memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] // } 082F 5B JUMPDEST 0830 5F PUSH0 0831 88 DUP9 0832 60 PUSH1 0x40 0834 01 ADD 0835 51 MLOAD 0836 5F PUSH0 0837 81 DUP2 0838 51 MLOAD 0839 81 DUP2 083A 10 LT 083B 61 PUSH2 0x0846 083E 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0830 stack[0] = 0x00 // @0835 stack[1] = memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] // @0836 stack[2] = 0x00 // } // Block ends with conditional jump to 0x0846, if 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] label_083F: // Incoming jump from 0x083E, if not 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] 083F 61 PUSH2 0x0846 0842 61 PUSH2 0x36d0 0845 56 *JUMP // Stack delta = +1 // Outputs[1] { @083F stack[0] = 0x0846 } // Block ends with unconditional jump to 0x36d0 label_0846: // Incoming jump from 0x083E, if 0x00 < memory[memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20]:memory[0x40 + stack[-8]:0x40 + stack[-8] + 0x20] + 0x20] // Inputs[7] // { // @0849 stack[-1] // @084D stack[-2] // @084E memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @084F stack[-11] // @0854 memory[0x0100 + stack[-11]:0x0100 + stack[-11] + 0x20] // @0859 memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] // @085D memory[memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20]:memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] + 0x20] // } 0846 5B JUMPDEST 0847 60 PUSH1 0x20 0849 02 MUL 084A 60 PUSH1 0x20 084C 01 ADD 084D 01 ADD 084E 51 MLOAD 084F 89 DUP10 0850 61 PUSH2 0x0100 0853 01 ADD 0854 51 MLOAD 0855 8A DUP11 0856 60 PUSH1 0x40 0858 01 ADD 0859 51 MLOAD 085A 60 PUSH1 0x01 085C 81 DUP2 085D 51 MLOAD 085E 81 DUP2 085F 10 LT 0860 61 PUSH2 0x086b 0863 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @084E stack[-2] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0854 stack[-1] = memory[0x0100 + stack[-11]:0x0100 + stack[-11] + 0x20] // @0859 stack[0] = memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] // @085A stack[1] = 0x01 // } // Block ends with conditional jump to 0x086b, if 0x01 < memory[memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20]:memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] + 0x20] label_0864: // Incoming jump from 0x0863, if not 0x01 < memory[memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20]:memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] + 0x20] 0864 61 PUSH2 0x086b 0867 61 PUSH2 0x36d0 086A 56 *JUMP // Stack delta = +1 // Outputs[1] { @0864 stack[0] = 0x086b } // Block ends with unconditional jump to 0x36d0 label_086B: // Incoming jump from 0x0863, if 0x01 < memory[memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20]:memory[0x40 + stack[-11]:0x40 + stack[-11] + 0x20] + 0x20] // Inputs[7] // { // @086E stack[-1] // @0872 stack[-2] // @0873 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0874 stack[-13] // @0878 memory[0xe0 + stack[-13]:0xe0 + stack[-13] + 0x20] // @087D memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] // @0881 memory[memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20]:memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] + 0x20] // } 086B 5B JUMPDEST 086C 60 PUSH1 0x20 086E 02 MUL 086F 60 PUSH1 0x20 0871 01 ADD 0872 01 ADD 0873 51 MLOAD 0874 8B DUP12 0875 60 PUSH1 0xe0 0877 01 ADD 0878 51 MLOAD 0879 8C DUP13 087A 60 PUSH1 0x40 087C 01 ADD 087D 51 MLOAD 087E 60 PUSH1 0x02 0880 81 DUP2 0881 51 MLOAD 0882 81 DUP2 0883 10 LT 0884 61 PUSH2 0x088f 0887 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @0873 stack[-2] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0878 stack[-1] = memory[0xe0 + stack[-13]:0xe0 + stack[-13] + 0x20] // @087D stack[0] = memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] // @087E stack[1] = 0x02 // } // Block ends with conditional jump to 0x088f, if 0x02 < memory[memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20]:memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] + 0x20] label_0888: // Incoming jump from 0x0887, if not 0x02 < memory[memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20]:memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] + 0x20] 0888 61 PUSH2 0x088f 088B 61 PUSH2 0x36d0 088E 56 *JUMP // Stack delta = +1 // Outputs[1] { @0888 stack[0] = 0x088f } // Block ends with unconditional jump to 0x36d0 label_088F: // Incoming jump from 0x0887, if 0x02 < memory[memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20]:memory[0x40 + stack[-13]:0x40 + stack[-13] + 0x20] + 0x20] // Inputs[8] // { // @0892 stack[-1] // @0896 stack[-2] // @0897 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @089A memory[0x40:0x60] // @08A1 stack[-6] // @08A2 stack[-5] // @08A3 stack[-4] // @08A4 stack[-3] // } 088F 5B JUMPDEST 0890 60 PUSH1 0x20 0892 02 MUL 0893 60 PUSH1 0x20 0895 01 ADD 0896 01 ADD 0897 51 MLOAD 0898 60 PUSH1 0x40 089A 51 MLOAD 089B 60 PUSH1 0x20 089D 01 ADD 089E 61 PUSH2 0x08ab 08A1 95 SWAP6 08A2 94 SWAP5 08A3 93 SWAP4 08A4 92 SWAP3 08A5 91 SWAP2 08A6 90 SWAP1 08A7 61 PUSH2 0x37f5 08AA 56 *JUMP // Stack delta = +1 // Outputs[7] // { // @08A1 stack[-6] = 0x08ab // @08A2 stack[-5] = stack[-6] // @08A3 stack[-4] = stack[-5] // @08A4 stack[-3] = stack[-4] // @08A5 stack[-2] = stack[-3] // @08A6 stack[-1] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @08A6 stack[0] = 0x20 + memory[0x40:0x60] // } // Block ends with call to 0x37f5, returns to 0x08AB label_08AB: // Incoming return from call to 0x37F5 at 0x08AA // Inputs[5] // { // @08AF memory[0x40:0x60] // @08B4 stack[-1] // @08C7 stack[-2] // @08D3 stack[-3] // @08E2 stack[-7] // } 08AB 5B JUMPDEST 08AC 60 PUSH1 0x40 08AE 80 DUP1 08AF 51 MLOAD 08B0 60 PUSH1 0x1f 08B2 19 NOT 08B3 81 DUP2 08B4 84 DUP5 08B5 03 SUB 08B6 01 ADD 08B7 81 DUP2 08B8 52 MSTORE 08B9 90 SWAP1 08BA 82 DUP3 08BB 90 SWAP1 08BC 52 MSTORE 08BD 63 PUSH4 0xcdca1753 08C2 60 PUSH1 0xe0 08C4 1B SHL 08C5 82 DUP3 08C6 52 MSTORE 08C7 91 SWAP2 08C8 50 POP 08C9 5F PUSH0 08CA 90 SWAP1 08CB 60 PUSH1 0x01 08CD 60 PUSH1 0x01 08CF 60 PUSH1 0xa0 08D1 1B SHL 08D2 03 SUB 08D3 84 DUP5 08D4 16 AND 08D5 90 SWAP1 08D6 63 PUSH4 0xcdca1753 08DB 90 SWAP1 08DC 61 PUSH2 0x08eb 08DF 90 SWAP1 08E0 85 DUP6 08E1 90 SWAP1 08E2 8B DUP12 08E3 90 SWAP1 08E4 60 PUSH1 0x04 08E6 01 ADD 08E7 61 PUSH2 0x388a 08EA 56 *JUMP // Stack delta = +6 // Outputs[11] // { // @08B8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] - memory[0x40:0x60] + ~0x1f // @08BC memory[0x40:0x60] = stack[-1] // @08C6 memory[stack[-1]:stack[-1] + 0x20] = 0xcdca1753 << 0xe0 // @08C7 stack[-2] = memory[0x40:0x60] // @08CA stack[-1] = 0x00 // @08D5 stack[0] = stack[-3] & (0x01 << 0xa0) - 0x01 // @08DB stack[1] = 0xcdca1753 // @08DF stack[2] = 0x08eb // @08E1 stack[3] = memory[0x40:0x60] // @08E3 stack[4] = stack[-7] // @08E6 stack[5] = 0x04 + stack[-1] // } // Block ends with call to 0x388a, returns to 0x08EB label_08EB: // Incoming return from call to 0x388A at 0x08EA // Inputs[6] // { // @08EF memory[0x40:0x60] // @08F1 stack[-1] // @08F5 stack[-3] // @08F6 msg.gas // @08F7 address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @08F7 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 08EB 5B JUMPDEST 08EC 5F PUSH0 08ED 60 PUSH1 0x40 08EF 51 MLOAD 08F0 80 DUP1 08F1 83 DUP4 08F2 03 SUB 08F3 81 DUP2 08F4 5F PUSH0 08F5 87 DUP8 08F6 5A GAS 08F7 F1 CALL 08F8 15 ISZERO 08F9 80 DUP1 08FA 15 ISZERO 08FB 61 PUSH2 0x0906 08FE 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @08F7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] = address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @08F8 stack[0] = !address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x0906, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) label_08FF: // Incoming jump from 0x08FE, if not !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @08FF returndata.length // @0902 returndata[0x00:0x00 + returndata.length] // @0903 returndata.length // @0905 memory[0x00:0x00 + returndata.length] // } 08FF 3D RETURNDATASIZE 0900 5F PUSH0 0901 80 DUP1 0902 3E RETURNDATACOPY 0903 3D RETURNDATASIZE 0904 5F PUSH0 0905 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0902 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0905 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_0906: // Incoming jump from 0x08FE, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @090D memory[0x40:0x60] // @090E returndata.length // @0911 returndata[0x00:0x00 + returndata.length] // @0914 returndata.length // } 0906 5B JUMPDEST 0907 50 POP 0908 50 POP 0909 50 POP 090A 50 POP 090B 60 PUSH1 0x40 090D 51 MLOAD 090E 3D RETURNDATASIZE 090F 5F PUSH0 0910 82 DUP3 0911 3E RETURNDATACOPY 0912 60 PUSH1 0x1f 0914 3D RETURNDATASIZE 0915 90 SWAP1 0916 81 DUP2 0917 01 ADD 0918 60 PUSH1 0x1f 091A 19 NOT 091B 16 AND 091C 82 DUP3 091D 01 ADD 091E 60 PUSH1 0x40 0920 52 MSTORE 0921 61 PUSH2 0x092d 0924 91 SWAP2 0925 90 SWAP1 0926 81 DUP2 0927 01 ADD 0928 90 SWAP1 0929 61 PUSH2 0x390a 092C 56 *JUMP // Stack delta = -1 // Outputs[5] // { // @0911 memory[memory[0x40:0x60]:memory[0x40:0x60] + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0920 memory[0x40:0x60] = memory[0x40:0x60] + (~0x1f & returndata.length + 0x1f) // @0924 stack[-4] = 0x092d // @0928 stack[-2] = memory[0x40:0x60] // @0928 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x390a, returns to 0x092D label_092D: // Incoming return from call to 0x390A at 0x092C // Inputs[3] // { // @092F stack[-4] // @092F stack[-2] // @0930 stack[-10] // } 092D 5B JUMPDEST 092E 50 POP 092F 91 SWAP2 0930 97 SWAP8 0931 50 POP 0932 50 POP 0933 50 POP 0934 50 POP 0935 50 POP // Stack delta = -6 // Outputs[1] { @0930 stack[-10] = stack[-4] } // Block continues label_0936: // Incoming jump from 0x082E // Incoming jump from 0x0935 // Inputs[1] { @093A stack[-8] } 0936 5B JUMPDEST 0937 61 PUSH2 0x093f 093A 88 DUP9 093B 61 PUSH2 0x299d 093E 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @0937 stack[0] = 0x093f // @093A stack[1] = stack[-8] // } // Block ends with call to 0x299d, returns to 0x093F label_093F: // Incoming return from call to 0x299D at 0x093E 093F 5B JUMPDEST 0940 50 POP 0941 50 POP // Stack delta = -2 // Block continues label_0942: // Incoming jump from 0x0941 // Incoming jump from 0x06FE, if 0x03 - (0xffffff & memory[0x0120 + stack[-7]:0x0120 + stack[-7] + 0x20]) // Inputs[7] // { // @0945 memory[0x40:0x60] // @0950 address(this) // @0960 stack[-2] // @0970 memory[0x40:0x60] // @0976 msg.gas // @0977 address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0977 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 0942 5B JUMPDEST 0943 60 PUSH1 0x40 0945 51 MLOAD 0946 63 PUSH4 0x70a08231 094B 60 PUSH1 0xe0 094D 1B SHL 094E 81 DUP2 094F 52 MSTORE 0950 30 ADDRESS 0951 60 PUSH1 0x04 0953 82 DUP3 0954 01 ADD 0955 52 MSTORE 0956 5F PUSH0 0957 90 SWAP1 0958 60 PUSH1 0x01 095A 60 PUSH1 0x01 095C 60 PUSH1 0xa0 095E 1B SHL 095F 03 SUB 0960 84 DUP5 0961 16 AND 0962 90 SWAP1 0963 63 PUSH4 0x70a08231 0968 90 SWAP1 0969 60 PUSH1 0x24 096B 01 ADD 096C 60 PUSH1 0x20 096E 60 PUSH1 0x40 0970 51 MLOAD 0971 80 DUP1 0972 83 DUP4 0973 03 SUB 0974 81 DUP2 0975 86 DUP7 0976 5A GAS 0977 FA STATICCALL 0978 15 ISZERO 0979 80 DUP1 097A 15 ISZERO 097B 61 PUSH2 0x0986 097E 57 *JUMPI // Stack delta = +5 // Outputs[8] // { // @094F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x70a08231 << 0xe0 // @0955 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @0957 stack[0] = 0x00 // @0962 stack[1] = stack[-2] & (0x01 << 0xa0) - 0x01 // @0968 stack[2] = 0x70a08231 // @096B stack[3] = 0x24 + memory[0x40:0x60] // @0977 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0978 stack[4] = !address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x0986, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_097F: // Incoming jump from 0x097E, if not !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @097F returndata.length // @0982 returndata[0x00:0x00 + returndata.length] // @0983 returndata.length // @0985 memory[0x00:0x00 + returndata.length] // } 097F 3D RETURNDATASIZE 0980 5F PUSH0 0981 80 DUP1 0982 3E RETURNDATACOPY 0983 3D RETURNDATASIZE 0984 5F PUSH0 0985 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0982 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0985 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_0986: // Incoming jump from 0x097E, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @098D memory[0x40:0x60] // @098E returndata.length // } 0986 5B JUMPDEST 0987 50 POP 0988 50 POP 0989 50 POP 098A 50 POP 098B 60 PUSH1 0x40 098D 51 MLOAD 098E 3D RETURNDATASIZE 098F 60 PUSH1 0x1f 0991 19 NOT 0992 60 PUSH1 0x1f 0994 82 DUP3 0995 01 ADD 0996 16 AND 0997 82 DUP3 0998 01 ADD 0999 80 DUP1 099A 60 PUSH1 0x40 099C 52 MSTORE 099D 50 POP 099E 81 DUP2 099F 01 ADD 09A0 90 SWAP1 09A1 61 PUSH2 0x09aa 09A4 91 SWAP2 09A5 90 SWAP1 09A6 61 PUSH2 0x3718 09A9 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @099C memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @09A4 stack[-4] = 0x09aa // @09A5 stack[-2] = memory[0x40:0x60] // @09A5 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x09AA label_09AA: // Incoming return from call to 0x3718 at 0x09A9 // Inputs[3] // { // @09AB stack[-2] // @09AB stack[-1] // @09B2 stack[-3] // } 09AA 5B JUMPDEST 09AB 90 SWAP1 09AC 50 POP 09AD 5F PUSH0 09AE 61 PUSH2 0x09b7 09B1 82 DUP3 09B2 84 DUP5 09B3 61 PUSH2 0x2c74 09B6 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @09AB stack[-2] = stack[-1] // @09AD stack[-1] = 0x00 // @09AE stack[0] = 0x09b7 // @09B1 stack[1] = stack[-1] // @09B2 stack[2] = stack[-3] // } // Block ends with unconditional jump to 0x2c74 09B7 5B JUMPDEST 09B8 90 SWAP1 09B9 50 POP 09BA 5F PUSH0 09BB 61 PUSH2 0x09cf 09BE 86 DUP7 09BF 61 PUSH2 0x09c9 09C2 84 DUP5 09C3 60 PUSH1 0x64 09C5 61 PUSH2 0x2c86 09C8 56 *JUMP 09C9 5B JUMPDEST 09CA 90 SWAP1 09CB 61 PUSH2 0x2c91 09CE 56 *JUMP 09CF 5B JUMPDEST 09D0 90 SWAP1 09D1 50 POP 09D2 60 PUSH1 0x64 09D4 61 PUSH2 0x09dd 09D7 81 DUP2 09D8 83 DUP4 09D9 61 PUSH2 0x2c74 09DC 56 *JUMP 09DD 5B JUMPDEST 09DE 9B SWAP12 09DF 9A SWAP11 09E0 50 POP 09E1 50 POP 09E2 50 POP 09E3 50 POP 09E4 50 POP 09E5 50 POP 09E6 50 POP 09E7 50 POP 09E8 50 POP 09E9 50 POP 09EA 50 POP 09EB 56 *JUMP label_09EC: // Incoming jump from 0x0133 // Inputs[4] // { // @09F0 stack[-1] // @09F4 memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // @09FB memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // @09FC memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] // } 09EC 5B JUMPDEST 09ED 5F PUSH0 09EE 80 DUP1 09EF 5F PUSH0 09F0 83 DUP4 09F1 60 PUSH1 0x40 09F3 01 ADD 09F4 51 MLOAD 09F5 60 PUSH1 0x01 09F7 85 DUP6 09F8 60 PUSH1 0x40 09FA 01 ADD 09FB 51 MLOAD 09FC 51 MLOAD 09FD 61 PUSH2 0x0a06 0A00 91 SWAP2 0A01 90 SWAP1 0A02 61 PUSH2 0x3743 0A05 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @09ED stack[0] = 0x00 // @09EE stack[1] = 0x00 // @09EF stack[2] = 0x00 // @09F4 stack[3] = memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // @0A00 stack[4] = 0x0a06 // @0A01 stack[5] = 0x01 // @0A01 stack[6] = memory[memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20]:memory[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] + 0x20] // } // Block ends with call to 0x3743, returns to 0x0A06 label_0A06: // Incoming return from call to 0x3743 at 0x0A05 // Inputs[3] // { // @0A07 stack[-2] // @0A08 memory[stack[-2]:stack[-2] + 0x20] // @0A09 stack[-1] // } 0A06 5B JUMPDEST 0A07 81 DUP2 0A08 51 MLOAD 0A09 81 DUP2 0A0A 10 LT 0A0B 61 PUSH2 0x0a16 0A0E 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0a16, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] label_0A0F: // Incoming jump from 0x0A0E, if not stack[-1] < memory[stack[-2]:stack[-2] + 0x20] 0A0F 61 PUSH2 0x0a16 0A12 61 PUSH2 0x36d0 0A15 56 *JUMP // Stack delta = +1 // Outputs[1] { @0A0F stack[0] = 0x0a16 } // Block ends with unconditional jump to 0x36d0 label_0A16: // Incoming jump from 0x0A0E, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] // Inputs[9] // { // @0A19 stack[-1] // @0A1D stack[-2] // @0A1E memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0A1F stack[-3] // @0A33 memory[0x40:0x60] // @0A47 memory[0x40:0x60] // @0A4D msg.gas // @0A4E memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // @0A4E address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 0A16 5B JUMPDEST 0A17 60 PUSH1 0x20 0A19 02 MUL 0A1A 60 PUSH1 0x20 0A1C 01 ADD 0A1D 01 ADD 0A1E 51 MLOAD 0A1F 90 SWAP1 0A20 50 POP 0A21 5F PUSH0 0A22 81 DUP2 0A23 60 PUSH1 0x01 0A25 60 PUSH1 0x01 0A27 60 PUSH1 0xa0 0A29 1B SHL 0A2A 03 SUB 0A2B 16 AND 0A2C 63 PUSH4 0x18160ddd 0A31 60 PUSH1 0x40 0A33 51 MLOAD 0A34 81 DUP2 0A35 63 PUSH4 0xffffffff 0A3A 16 AND 0A3B 60 PUSH1 0xe0 0A3D 1B SHL 0A3E 81 DUP2 0A3F 52 MSTORE 0A40 60 PUSH1 0x04 0A42 01 ADD 0A43 60 PUSH1 0x20 0A45 60 PUSH1 0x40 0A47 51 MLOAD 0A48 80 DUP1 0A49 83 DUP4 0A4A 03 SUB 0A4B 81 DUP2 0A4C 86 DUP7 0A4D 5A GAS 0A4E FA STATICCALL 0A4F 15 ISZERO 0A50 80 DUP1 0A51 15 ISZERO 0A52 61 PUSH2 0x0a5d 0A55 57 *JUMPI // Stack delta = +3 // Outputs[8] // { // @0A1F stack[-3] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0A21 stack[-2] = 0x00 // @0A2B stack[-1] = (0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @0A2C stack[0] = 0x18160ddd // @0A3F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & 0x18160ddd) << 0xe0 // @0A42 stack[1] = 0x04 + memory[0x40:0x60] // @0A4E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0A4F stack[2] = !address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x0a5d, if !!address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_0A56: // Incoming jump from 0x0A55, if not !!address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @0A56 returndata.length // @0A59 returndata[0x00:0x00 + returndata.length] // @0A5A returndata.length // @0A5C memory[0x00:0x00 + returndata.length] // } 0A56 3D RETURNDATASIZE 0A57 5F PUSH0 0A58 80 DUP1 0A59 3E RETURNDATACOPY 0A5A 3D RETURNDATASIZE 0A5B 5F PUSH0 0A5C FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0A59 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0A5C revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_0A5D: // Incoming jump from 0x0A55, if !!address((0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @0A64 memory[0x40:0x60] // @0A65 returndata.length // } 0A5D 5B JUMPDEST 0A5E 50 POP 0A5F 50 POP 0A60 50 POP 0A61 50 POP 0A62 60 PUSH1 0x40 0A64 51 MLOAD 0A65 3D RETURNDATASIZE 0A66 60 PUSH1 0x1f 0A68 19 NOT 0A69 60 PUSH1 0x1f 0A6B 82 DUP3 0A6C 01 ADD 0A6D 16 AND 0A6E 82 DUP3 0A6F 01 ADD 0A70 80 DUP1 0A71 60 PUSH1 0x40 0A73 52 MSTORE 0A74 50 POP 0A75 81 DUP2 0A76 01 ADD 0A77 90 SWAP1 0A78 61 PUSH2 0x0a81 0A7B 91 SWAP2 0A7C 90 SWAP1 0A7D 61 PUSH2 0x3718 0A80 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0A73 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @0A7B stack[-4] = 0x0a81 // @0A7C stack[-2] = memory[0x40:0x60] // @0A7C stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x0A81 label_0A81: // Incoming return from call to 0x3718 at 0x0A80 // Inputs[2] // { // @0A82 stack[-1] // @0A82 stack[-2] // } 0A81 5B JUMPDEST 0A82 90 SWAP1 0A83 50 POP 0A84 5F PUSH0 0A85 61 PUSH2 0x0a94 0A88 60 PUSH1 0x64 0A8A 61 PUSH2 0x09c9 0A8D 84 DUP5 0A8E 60 PUSH1 0x63 0A90 61 PUSH2 0x2c86 0A93 56 *JUMP // Stack delta = +5 // Outputs[7] // { // @0A82 stack[-2] = stack[-1] // @0A84 stack[-1] = 0x00 // @0A85 stack[0] = 0x0a94 // @0A88 stack[1] = 0x64 // @0A8A stack[2] = 0x09c9 // @0A8D stack[3] = stack[-1] // @0A8E stack[4] = 0x63 // } // Block ends with unconditional jump to 0x2c86 0A94 5B JUMPDEST 0A95 90 SWAP1 0A96 50 POP 0A97 61 PUSH2 0x0aa0 0A9A 81 DUP2 0A9B 87 DUP8 0A9C 61 PUSH2 0x2c9c 0A9F 56 *JUMP 0AA0 5B JUMPDEST 0AA1 15 ISZERO 0AA2 61 PUSH2 0x0abc 0AA5 57 *JUMPI 0AA6 80 DUP1 0AA7 61 PUSH2 0x0ab0 0AAA 82 DUP3 0AAB 88 DUP9 0AAC 61 PUSH2 0x2d61 0AAF 56 *JUMP 0AB0 5B JUMPDEST 0AB1 94 SWAP5 0AB2 50 POP 0AB3 94 SWAP5 0AB4 50 POP 0AB5 50 POP 0AB6 50 POP 0AB7 50 POP 0AB8 91 SWAP2 0AB9 50 POP 0ABA 91 SWAP2 0ABB 56 *JUMP 0ABC 5B JUMPDEST 0ABD 5F PUSH0 0ABE 61 PUSH2 0x0acd 0AC1 60 PUSH1 0x64 0AC3 61 PUSH2 0x09c9 0AC6 85 DUP6 0AC7 60 PUSH1 0x32 0AC9 61 PUSH2 0x2c86 0ACC 56 *JUMP 0ACD 5B JUMPDEST 0ACE 90 SWAP1 0ACF 50 POP 0AD0 61 PUSH2 0x0ad9 0AD3 81 DUP2 0AD4 88 DUP9 0AD5 61 PUSH2 0x2c9c 0AD8 56 *JUMP 0AD9 5B JUMPDEST 0ADA 15 ISZERO 0ADB 61 PUSH2 0x0af6 0ADE 57 *JUMPI 0ADF 80 DUP1 0AE0 61 PUSH2 0x0ae9 0AE3 82 DUP3 0AE4 89 DUP10 0AE5 61 PUSH2 0x2d61 0AE8 56 *JUMP 0AE9 5B JUMPDEST 0AEA 95 SWAP6 0AEB 50 POP 0AEC 95 SWAP6 0AED 50 POP 0AEE 50 POP 0AEF 50 POP 0AF0 50 POP 0AF1 50 POP 0AF2 91 SWAP2 0AF3 50 POP 0AF4 91 SWAP2 0AF5 56 *JUMP 0AF6 5B JUMPDEST 0AF7 5F PUSH0 0AF8 61 PUSH2 0x0b07 0AFB 60 PUSH1 0x64 0AFD 61 PUSH2 0x09c9 0B00 86 DUP7 0B01 60 PUSH1 0x0a 0B03 61 PUSH2 0x2c86 0B06 56 *JUMP 0B07 5B JUMPDEST 0B08 90 SWAP1 0B09 50 POP 0B0A 5F PUSH0 0B0B 61 PUSH2 0x0b1a 0B0E 60 PUSH1 0x64 0B10 61 PUSH2 0x09c9 0B13 87 DUP8 0B14 60 PUSH1 0x05 0B16 61 PUSH2 0x2c86 0B19 56 *JUMP 0B1A 5B JUMPDEST 0B1B 90 SWAP1 0B1C 50 POP 0B1D 5F PUSH0 0B1E 61 PUSH2 0x0b2e 0B21 61 PUSH2 0x03e8 0B24 61 PUSH2 0x09c9 0B27 88 DUP9 0B28 60 PUSH1 0x01 0B2A 61 PUSH2 0x2c86 0B2D 56 *JUMP 0B2E 5B JUMPDEST 0B2F 90 SWAP1 0B30 50 POP 0B31 5F PUSH0 0B32 61 PUSH2 0x0b42 0B35 61 PUSH2 0x03e8 0B38 61 PUSH2 0x09c9 0B3B 89 DUP10 0B3C 60 PUSH1 0x01 0B3E 61 PUSH2 0x2c86 0B41 56 *JUMP 0B42 5B JUMPDEST 0B43 90 SWAP1 0B44 50 POP 0B45 83 DUP4 0B46 5B JUMPDEST 0B47 83 DUP4 0B48 81 DUP2 0B49 10 LT 0B4A 61 PUSH2 0x0b8a 0B4D 57 *JUMPI 0B4E 61 PUSH2 0x0b57 0B51 81 DUP2 0B52 8D DUP14 0B53 61 PUSH2 0x2c9c 0B56 56 *JUMP 0B57 5B JUMPDEST 0B58 15 ISZERO 0B59 61 PUSH2 0x0b79 0B5C 57 *JUMPI 0B5D 80 DUP1 0B5E 61 PUSH2 0x0b67 0B61 82 DUP3 0B62 8E DUP15 0B63 61 PUSH2 0x2d61 0B66 56 *JUMP 0B67 5B JUMPDEST 0B68 9A SWAP11 0B69 50 POP 0B6A 9A SWAP11 0B6B 50 POP 0B6C 50 POP 0B6D 50 POP 0B6E 50 POP 0B6F 50 POP 0B70 50 POP 0B71 50 POP 0B72 50 POP 0B73 50 POP 0B74 50 POP 0B75 91 SWAP2 0B76 50 POP 0B77 91 SWAP2 0B78 56 *JUMP 0B79 5B JUMPDEST 0B7A 61 PUSH2 0x0b83 0B7D 83 DUP4 0B7E 82 DUP3 0B7F 61 PUSH2 0x3743 0B82 56 *JUMP 0B83 5B JUMPDEST 0B84 90 SWAP1 0B85 50 POP 0B86 61 PUSH2 0x0b46 0B89 56 *JUMP 0B8A 5B JUMPDEST 0B8B 50 POP 0B8C 82 DUP3 0B8D 5B JUMPDEST 0B8E 81 DUP2 0B8F 81 DUP2 0B90 10 LT 0B91 61 PUSH2 0x0bbf 0B94 57 *JUMPI 0B95 61 PUSH2 0x0b9e 0B98 81 DUP2 0B99 8D DUP14 0B9A 61 PUSH2 0x2c9c 0B9D 56 *JUMP 0B9E 5B JUMPDEST 0B9F 15 ISZERO 0BA0 61 PUSH2 0x0bae 0BA3 57 *JUMPI 0BA4 80 DUP1 0BA5 61 PUSH2 0x0b67 0BA8 82 DUP3 0BA9 8E DUP15 0BAA 61 PUSH2 0x2d61 0BAD 56 *JUMP 0BAE 5B JUMPDEST 0BAF 61 PUSH2 0x0bb8 0BB2 82 DUP3 0BB3 82 DUP3 0BB4 61 PUSH2 0x3743 0BB7 56 *JUMP 0BB8 5B JUMPDEST 0BB9 90 SWAP1 0BBA 50 POP 0BBB 61 PUSH2 0x0b8d 0BBE 56 *JUMP 0BBF 5B JUMPDEST 0BC0 50 POP 0BC1 5F PUSH0 0BC2 9B SWAP12 0BC3 8C DUP13 0BC4 9B SWAP12 0BC5 50 POP 0BC6 99 SWAP10 0BC7 50 POP 0BC8 50 POP 0BC9 50 POP 0BCA 50 POP 0BCB 50 POP 0BCC 50 POP 0BCD 50 POP 0BCE 50 POP 0BCF 50 POP 0BD0 50 POP 0BD1 56 *JUMP label_0BD2: // Incoming jump from 0x0181 // Inputs[2] // { // @0BD8 stack[-1] // @0BDC memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } 0BD2 5B JUMPDEST 0BD3 5F PUSH0 0BD4 80 DUP1 0BD5 61 PUSH2 0x0bdf 0BD8 83 DUP4 0BD9 60 PUSH1 0x80 0BDB 01 ADD 0BDC 51 MLOAD 0BDD 90 SWAP1 0BDE 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @0BD3 stack[0] = 0x00 // @0BD4 stack[1] = 0x00 // @0BDD stack[2] = memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x0bdf label_0BDF: // Incoming jump from 0x0BDE // Inputs[10] // { // @0BE0 stack[-1] // @0BE0 stack[-2] // @0BE3 stack[-4] // @0BE7 memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @0BF1 memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @0C03 memory[0x40:0x60] // @0C17 memory[0x40:0x60] // @0C1D msg.gas // @0C1E address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0C1E memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 0BDF 5B JUMPDEST 0BE0 90 SWAP1 0BE1 50 POP 0BE2 5F PUSH0 0BE3 83 DUP4 0BE4 60 PUSH1 0x80 0BE6 01 ADD 0BE7 51 MLOAD 0BE8 90 SWAP1 0BE9 50 POP 0BEA 61 PUSH2 0x0c2d 0BED 84 DUP5 0BEE 60 PUSH1 0x80 0BF0 01 ADD 0BF1 51 MLOAD 0BF2 82 DUP3 0BF3 60 PUSH1 0x01 0BF5 60 PUSH1 0x01 0BF7 60 PUSH1 0xa0 0BF9 1B SHL 0BFA 03 SUB 0BFB 16 AND 0BFC 63 PUSH4 0x4aa4a4fc 0C01 60 PUSH1 0x40 0C03 51 MLOAD 0C04 81 DUP2 0C05 63 PUSH4 0xffffffff 0C0A 16 AND 0C0B 60 PUSH1 0xe0 0C0D 1B SHL 0C0E 81 DUP2 0C0F 52 MSTORE 0C10 60 PUSH1 0x04 0C12 01 ADD 0C13 60 PUSH1 0x20 0C15 60 PUSH1 0x40 0C17 51 MLOAD 0C18 80 DUP1 0C19 83 DUP4 0C1A 03 SUB 0C1B 81 DUP2 0C1C 86 DUP7 0C1D 5A GAS 0C1E FA STATICCALL 0C1F 15 ISZERO 0C20 80 DUP1 0C21 15 ISZERO 0C22 61 PUSH2 0x0207 0C25 57 *JUMPI // Stack delta = +6 // Outputs[10] // { // @0BE0 stack[-2] = stack[-1] // @0BE8 stack[-1] = memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @0BEA stack[0] = 0x0c2d // @0BF1 stack[1] = memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @0BFB stack[2] = (0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @0BFC stack[3] = 0x4aa4a4fc // @0C0F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & 0x4aa4a4fc) << 0xe0 // @0C12 stack[4] = 0x04 + memory[0x40:0x60] // @0C1E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0C1F stack[5] = !address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x0207, if !!address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_0C26: // Incoming jump from 0x0C25, if not !!address((0x01 << 0xa0) - 0x01 & memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20]).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @0C26 returndata.length // @0C29 returndata[0x00:0x00 + returndata.length] // @0C2A returndata.length // @0C2C memory[0x00:0x00 + returndata.length] // } 0C26 3D RETURNDATASIZE 0C27 5F PUSH0 0C28 80 DUP1 0C29 3E RETURNDATACOPY 0C2A 3D RETURNDATASIZE 0C2B 5F PUSH0 0C2C FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0C29 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0C2C revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates 0C2D 5B JUMPDEST 0C2E 60 PUSH1 0x03 0C30 84 DUP5 0C31 60 PUSH1 0x40 0C33 01 ADD 0C34 51 MLOAD 0C35 51 MLOAD 0C36 10 LT 0C37 15 ISZERO 0C38 61 PUSH2 0x0d8d 0C3B 57 *JUMPI 0C3C 60 PUSH1 0x40 0C3E 80 DUP1 0C3F 51 MLOAD 0C40 61 PUSH2 0x0100 0C43 81 DUP2 0C44 01 ADD 0C45 82 DUP3 0C46 52 MSTORE 0C47 5F PUSH0 0C48 80 DUP1 0C49 82 DUP3 0C4A 52 MSTORE 0C4B 60 PUSH1 0x20 0C4D 82 DUP3 0C4E 01 ADD 0C4F 81 DUP2 0C50 90 SWAP1 0C51 52 MSTORE 0C52 91 SWAP2 0C53 81 DUP2 0C54 01 ADD 0C55 82 DUP3 0C56 90 SWAP1 0C57 52 MSTORE 0C58 60 PUSH1 0x60 0C5A 81 DUP2 0C5B 01 ADD 0C5C 82 DUP3 0C5D 90 SWAP1 0C5E 52 MSTORE 0C5F 60 PUSH1 0x80 0C61 81 DUP2 0C62 01 ADD 0C63 82 DUP3 0C64 90 SWAP1 0C65 52 MSTORE 0C66 60 PUSH1 0xa0 0C68 81 DUP2 0C69 01 ADD 0C6A 82 DUP3 0C6B 90 SWAP1 0C6C 52 MSTORE 0C6D 60 PUSH1 0xc0 0C6F 81 DUP2 0C70 01 ADD 0C71 82 DUP3 0C72 90 SWAP1 0C73 52 MSTORE 0C74 60 PUSH1 0xe0 0C76 81 DUP2 0C77 01 ADD 0C78 91 SWAP2 0C79 90 SWAP1 0C7A 91 SWAP2 0C7B 52 MSTORE 0C7C 84 DUP5 0C7D 60 PUSH1 0x40 0C7F 01 ADD 0C80 51 MLOAD 0C81 5F PUSH0 0C82 81 DUP2 0C83 51 MLOAD 0C84 81 DUP2 0C85 10 LT 0C86 61 PUSH2 0x0c91 0C89 57 *JUMPI 0C8A 61 PUSH2 0x0c91 0C8D 61 PUSH2 0x36d0 0C90 56 *JUMP 0C91 5B JUMPDEST 0C92 60 PUSH1 0x20 0C94 90 SWAP1 0C95 81 DUP2 0C96 02 MUL 0C97 91 SWAP2 0C98 90 SWAP1 0C99 91 SWAP2 0C9A 01 ADD 0C9B 01 ADD 0C9C 51 MLOAD 0C9D 60 PUSH1 0x01 0C9F 60 PUSH1 0x01 0CA1 60 PUSH1 0xa0 0CA3 1B SHL 0CA4 03 SUB 0CA5 16 AND 0CA6 81 DUP2 0CA7 52 MSTORE 0CA8 60 PUSH1 0x40 0CAA 85 DUP6 0CAB 01 ADD 0CAC 51 MLOAD 0CAD 80 DUP1 0CAE 51 MLOAD 0CAF 60 PUSH1 0x01 0CB1 90 SWAP1 0CB2 81 DUP2 0CB3 10 LT 0CB4 61 PUSH2 0x0cbf 0CB7 57 *JUMPI 0CB8 61 PUSH2 0x0cbf 0CBB 61 PUSH2 0x36d0 0CBE 56 *JUMP 0CBF 5B JUMPDEST 0CC0 60 PUSH1 0x20 0CC2 90 SWAP1 0CC3 81 DUP2 0CC4 02 MUL 0CC5 91 SWAP2 0CC6 90 SWAP1 0CC7 91 SWAP2 0CC8 01 ADD 0CC9 81 DUP2 0CCA 01 ADD 0CCB 51 MLOAD 0CCC 60 PUSH1 0x01 0CCE 60 PUSH1 0x01 0CD0 60 PUSH1 0xa0 0CD2 1B SHL 0CD3 03 SUB 0CD4 90 SWAP1 0CD5 81 DUP2 0CD6 16 AND 0CD7 83 DUP4 0CD8 83 DUP4 0CD9 01 ADD 0CDA 52 MSTORE 0CDB 60 PUSH1 0xe0 0CDD 80 DUP1 0CDE 88 DUP9 0CDF 01 ADD 0CE0 51 MLOAD 0CE1 62 PUSH3 0xffffff 0CE5 16 AND 0CE6 60 PUSH1 0x40 0CE8 80 DUP1 0CE9 86 DUP7 0CEA 01 ADD 0CEB 91 SWAP2 0CEC 90 SWAP1 0CED 91 SWAP2 0CEE 52 MSTORE 0CEF 60 PUSH1 0x60 0CF1 80 DUP1 0CF2 8A DUP11 0CF3 01 ADD 0CF4 51 MLOAD 0CF5 84 DUP5 0CF6 16 AND 0CF7 90 SWAP1 0CF8 86 DUP7 0CF9 01 ADD 0CFA 52 MSTORE 0CFB 60 PUSH1 0xc0 0CFD 80 DUP1 0CFE 8A DUP11 0CFF 01 ADD 0D00 51 MLOAD 0D01 60 PUSH1 0x80 0D03 87 DUP8 0D04 01 ADD 0D05 52 MSTORE 0D06 89 DUP10 0D07 51 MLOAD 0D08 60 PUSH1 0xa0 0D0A 87 DUP8 0D0B 01 ADD 0D0C 52 MSTORE 0D0D 93 SWAP4 0D0E 89 DUP10 0D0F 01 ADD 0D10 51 MLOAD 0D11 93 SWAP4 0D12 85 DUP6 0D13 01 ADD 0D14 84 DUP5 0D15 90 SWAP1 0D16 52 MSTORE 0D17 5F PUSH0 0D18 91 SWAP2 0D19 85 DUP6 0D1A 01 ADD 0D1B 82 DUP3 0D1C 90 SWAP1 0D1D 52 MSTORE 0D1E 51 MLOAD 0D1F 63 PUSH4 0x1b67c433 0D24 60 PUSH1 0xe3 0D26 1B SHL 0D27 81 DUP2 0D28 52 MSTORE 0D29 90 SWAP1 0D2A 92 SWAP3 0D2B 91 SWAP2 0D2C 86 DUP7 0D2D 16 AND 0D2E 91 SWAP2 0D2F 63 PUSH4 0xdb3e2198 0D34 91 SWAP2 0D35 61 PUSH2 0x0d42 0D38 90 SWAP1 0D39 86 DUP7 0D3A 90 SWAP1 0D3B 60 PUSH1 0x04 0D3D 01 ADD 0D3E 61 PUSH2 0x39d9 0D41 56 *JUMP 0D42 5B JUMPDEST 0D43 60 PUSH1 0x20 0D45 60 PUSH1 0x40 0D47 51 MLOAD 0D48 80 DUP1 0D49 83 DUP4 0D4A 03 SUB 0D4B 81 DUP2 0D4C 85 DUP6 0D4D 88 DUP9 0D4E 5A GAS 0D4F F1 CALL 0D50 15 ISZERO 0D51 80 DUP1 0D52 15 ISZERO 0D53 61 PUSH2 0x0d5e 0D56 57 *JUMPI 0D57 3D RETURNDATASIZE 0D58 5F PUSH0 0D59 80 DUP1 0D5A 3E RETURNDATACOPY 0D5B 3D RETURNDATASIZE 0D5C 5F PUSH0 0D5D FD *REVERT 0D5E 5B JUMPDEST 0D5F 50 POP 0D60 50 POP 0D61 50 POP 0D62 50 POP 0D63 50 POP 0D64 60 PUSH1 0x40 0D66 51 MLOAD 0D67 3D RETURNDATASIZE 0D68 60 PUSH1 0x1f 0D6A 19 NOT 0D6B 60 PUSH1 0x1f 0D6D 82 DUP3 0D6E 01 ADD 0D6F 16 AND 0D70 82 DUP3 0D71 01 ADD 0D72 80 DUP1 0D73 60 PUSH1 0x40 0D75 52 MSTORE 0D76 50 POP 0D77 81 DUP2 0D78 01 ADD 0D79 90 SWAP1 0D7A 61 PUSH2 0x0d83 0D7D 91 SWAP2 0D7E 90 SWAP1 0D7F 61 PUSH2 0x3718 0D82 56 *JUMP 0D83 5B JUMPDEST 0D84 96 SWAP7 0D85 95 SWAP6 0D86 50 POP 0D87 50 POP 0D88 50 POP 0D89 50 POP 0D8A 50 POP 0D8B 50 POP 0D8C 56 *JUMP 0D8D 5B JUMPDEST 0D8E 61 PUSH2 0x0dc4 0D91 60 PUSH1 0x40 0D93 51 MLOAD 0D94 80 DUP1 0D95 60 PUSH1 0xa0 0D97 01 ADD 0D98 60 PUSH1 0x40 0D9A 52 MSTORE 0D9B 80 DUP1 0D9C 60 PUSH1 0x60 0D9E 81 DUP2 0D9F 52 MSTORE 0DA0 60 PUSH1 0x20 0DA2 01 ADD 0DA3 5F PUSH0 0DA4 60 PUSH1 0x01 0DA6 60 PUSH1 0x01 0DA8 60 PUSH1 0xa0 0DAA 1B SHL 0DAB 03 SUB 0DAC 16 AND 0DAD 81 DUP2 0DAE 52 MSTORE 0DAF 60 PUSH1 0x20 0DB1 01 ADD 0DB2 5F PUSH0 0DB3 81 DUP2 0DB4 52 MSTORE 0DB5 60 PUSH1 0x20 0DB7 01 ADD 0DB8 5F PUSH0 0DB9 81 DUP2 0DBA 52 MSTORE 0DBB 60 PUSH1 0x20 0DBD 01 ADD 0DBE 5F PUSH0 0DBF 81 DUP2 0DC0 52 MSTORE 0DC1 50 POP 0DC2 90 SWAP1 0DC3 56 *JUMP 0DC4 5B JUMPDEST 0DC5 5F PUSH0 0DC6 85 DUP6 0DC7 60 PUSH1 0x40 0DC9 01 ADD 0DCA 51 MLOAD 0DCB 5F PUSH0 0DCC 81 DUP2 0DCD 51 MLOAD 0DCE 81 DUP2 0DCF 10 LT 0DD0 61 PUSH2 0x0ddb 0DD3 57 *JUMPI 0DD4 61 PUSH2 0x0ddb 0DD7 61 PUSH2 0x36d0 0DDA 56 *JUMP 0DDB 5B JUMPDEST 0DDC 60 PUSH1 0x20 0DDE 02 MUL 0DDF 60 PUSH1 0x20 0DE1 01 ADD 0DE2 01 ADD 0DE3 51 MLOAD 0DE4 86 DUP7 0DE5 61 PUSH2 0x0100 0DE8 01 ADD 0DE9 51 MLOAD 0DEA 87 DUP8 0DEB 60 PUSH1 0x40 0DED 01 ADD 0DEE 51 MLOAD 0DEF 60 PUSH1 0x01 0DF1 81 DUP2 0DF2 51 MLOAD 0DF3 81 DUP2 0DF4 10 LT 0DF5 61 PUSH2 0x0e00 0DF8 57 *JUMPI 0DF9 61 PUSH2 0x0e00 0DFC 61 PUSH2 0x36d0 0DFF 56 *JUMP 0E00 5B JUMPDEST 0E01 60 PUSH1 0x20 0E03 02 MUL 0E04 60 PUSH1 0x20 0E06 01 ADD 0E07 01 ADD 0E08 51 MLOAD 0E09 88 DUP9 0E0A 60 PUSH1 0xe0 0E0C 01 ADD 0E0D 51 MLOAD 0E0E 89 DUP10 0E0F 60 PUSH1 0x40 0E11 01 ADD 0E12 51 MLOAD 0E13 60 PUSH1 0x02 0E15 81 DUP2 0E16 51 MLOAD 0E17 81 DUP2 0E18 10 LT 0E19 61 PUSH2 0x0e24 0E1C 57 *JUMPI 0E1D 61 PUSH2 0x0e24 0E20 61 PUSH2 0x36d0 0E23 56 *JUMP 0E24 5B JUMPDEST 0E25 60 PUSH1 0x20 0E27 02 MUL 0E28 60 PUSH1 0x20 0E2A 01 ADD 0E2B 01 ADD 0E2C 51 MLOAD 0E2D 60 PUSH1 0x40 0E2F 51 MLOAD 0E30 60 PUSH1 0x20 0E32 01 ADD 0E33 61 PUSH2 0x0e40 0E36 95 SWAP6 0E37 94 SWAP5 0E38 93 SWAP4 0E39 92 SWAP3 0E3A 91 SWAP2 0E3B 90 SWAP1 0E3C 61 PUSH2 0x37f5 0E3F 56 *JUMP 0E40 5B JUMPDEST 0E41 60 PUSH1 0x40 0E43 80 DUP1 0E44 51 MLOAD 0E45 60 PUSH1 0x1f 0E47 19 NOT 0E48 81 DUP2 0E49 84 DUP5 0E4A 03 SUB 0E4B 01 ADD 0E4C 81 DUP2 0E4D 52 MSTORE 0E4E 91 SWAP2 0E4F 81 DUP2 0E50 52 MSTORE 0E51 81 DUP2 0E52 84 DUP5 0E53 52 MSTORE 0E54 60 PUSH1 0x60 0E56 80 DUP1 0E57 89 DUP10 0E58 01 ADD 0E59 51 MLOAD 0E5A 60 PUSH1 0x01 0E5C 60 PUSH1 0x01 0E5E 60 PUSH1 0xa0 0E60 1B SHL 0E61 03 SUB 0E62 90 SWAP1 0E63 81 DUP2 0E64 16 AND 0E65 60 PUSH1 0x20 0E67 87 DUP8 0E68 81 DUP2 0E69 01 ADD 0E6A 91 SWAP2 0E6B 90 SWAP1 0E6C 91 SWAP2 0E6D 52 MSTORE 0E6E 60 PUSH1 0xc0 0E70 8B DUP12 0E71 01 ADD 0E72 51 MLOAD 0E73 87 DUP8 0E74 85 DUP6 0E75 01 ADD 0E76 52 MSTORE 0E77 8A DUP11 0E78 51 MLOAD 0E79 92 SWAP3 0E7A 87 DUP8 0E7B 01 ADD 0E7C 92 SWAP3 0E7D 90 SWAP1 0E7E 92 SWAP3 0E7F 52 MSTORE 0E80 90 SWAP1 0E81 89 DUP10 0E82 01 ADD 0E83 51 MLOAD 0E84 60 PUSH1 0x80 0E86 86 DUP7 0E87 01 ADD 0E88 81 DUP2 0E89 90 SWAP1 0E8A 52 MSTORE 0E8B 91 SWAP2 0E8C 51 MLOAD 0E8D 63 PUSH4 0x1e518093 0E92 60 PUSH1 0xe3 0E94 1B SHL 0E95 81 DUP2 0E96 52 MSTORE 0E97 92 SWAP3 0E98 93 SWAP4 0E99 50 POP 0E9A 5F PUSH0 0E9B 92 SWAP3 0E9C 90 SWAP1 0E9D 87 DUP8 0E9E 16 AND 0E9F 91 SWAP2 0EA0 63 PUSH4 0xf28c0498 0EA5 91 SWAP2 0EA6 61 PUSH2 0x0eb3 0EA9 90 SWAP1 0EAA 87 DUP8 0EAB 90 SWAP1 0EAC 60 PUSH1 0x04 0EAE 01 ADD 0EAF 61 PUSH2 0x3a93 0EB2 56 *JUMP 0EB3 5B JUMPDEST 0EB4 60 PUSH1 0x20 0EB6 60 PUSH1 0x40 0EB8 51 MLOAD 0EB9 80 DUP1 0EBA 83 DUP4 0EBB 03 SUB 0EBC 81 DUP2 0EBD 85 DUP6 0EBE 88 DUP9 0EBF 5A GAS 0EC0 F1 CALL 0EC1 15 ISZERO 0EC2 80 DUP1 0EC3 15 ISZERO 0EC4 61 PUSH2 0x0ecf 0EC7 57 *JUMPI 0EC8 3D RETURNDATASIZE 0EC9 5F PUSH0 0ECA 80 DUP1 0ECB 3E RETURNDATACOPY 0ECC 3D RETURNDATASIZE 0ECD 5F PUSH0 0ECE FD *REVERT 0ECF 5B JUMPDEST 0ED0 50 POP 0ED1 50 POP 0ED2 50 POP 0ED3 50 POP 0ED4 50 POP 0ED5 60 PUSH1 0x40 0ED7 51 MLOAD 0ED8 3D RETURNDATASIZE 0ED9 60 PUSH1 0x1f 0EDB 19 NOT 0EDC 60 PUSH1 0x1f 0EDE 82 DUP3 0EDF 01 ADD 0EE0 16 AND 0EE1 82 DUP3 0EE2 01 ADD 0EE3 80 DUP1 0EE4 60 PUSH1 0x40 0EE6 52 MSTORE 0EE7 50 POP 0EE8 81 DUP2 0EE9 01 ADD 0EEA 90 SWAP1 0EEB 61 PUSH2 0x0ef4 0EEE 91 SWAP2 0EEF 90 SWAP1 0EF0 61 PUSH2 0x3718 0EF3 56 *JUMP 0EF4 5B JUMPDEST 0EF5 97 SWAP8 0EF6 96 SWAP7 0EF7 50 POP 0EF8 50 POP 0EF9 50 POP 0EFA 50 POP 0EFB 50 POP 0EFC 50 POP 0EFD 50 POP 0EFE 56 *JUMP 0EFF 5B JUMPDEST 0F00 61 PUSH2 0x0f07 0F03 61 PUSH2 0x1276 0F06 56 *JUMP 0F07 5B JUMPDEST 0F08 60 PUSH1 0x01 0F0A 60 PUSH1 0x01 0F0C 60 PUSH1 0xa0 0F0E 1B SHL 0F0F 03 SUB 0F10 81 DUP2 0F11 16 AND 0F12 61 PUSH2 0x0f71 0F15 57 *JUMPI 0F16 60 PUSH1 0x40 0F18 51 MLOAD 0F19 62 PUSH3 0x461bcd 0F1D 60 PUSH1 0xe5 0F1F 1B SHL 0F20 81 DUP2 0F21 52 MSTORE 0F22 60 PUSH1 0x20 0F24 60 PUSH1 0x04 0F26 82 DUP3 0F27 01 ADD 0F28 52 MSTORE 0F29 60 PUSH1 0x26 0F2B 60 PUSH1 0x24 0F2D 82 DUP3 0F2E 01 ADD 0F2F 52 MSTORE 0F30 7F PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 0F51 60 PUSH1 0x44 0F53 82 DUP3 0F54 01 ADD 0F55 52 MSTORE 0F56 65 PUSH6 0x646472657373 0F5D 60 PUSH1 0xd0 0F5F 1B SHL 0F60 60 PUSH1 0x64 0F62 82 DUP3 0F63 01 ADD 0F64 52 MSTORE 0F65 60 PUSH1 0x84 0F67 01 ADD label_0F68: // Incoming jump from 0x12CE // Inputs[3] // { // @0F6B memory[0x40:0x60] // @0F6D stack[-1] // @0F70 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 0F68 5B JUMPDEST 0F69 60 PUSH1 0x40 0F6B 51 MLOAD 0F6C 80 DUP1 0F6D 91 SWAP2 0F6E 03 SUB 0F6F 90 SWAP1 0F70 FD *REVERT // Stack delta = -1 // Outputs[1] { @0F70 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]); } // Block terminates 0F71 5B JUMPDEST 0F72 61 PUSH2 0x0f7a 0F75 81 DUP2 0F76 61 PUSH2 0x12cf 0F79 56 *JUMP label_0F7A: // Incoming jump from 0x32F2, if stack[-1] == stack[-1] & (0x01 << 0xa0) - 0x01 // Incoming return from call to 0x324C at 0x31C5 // Incoming jump from 0x3B76, if stack[-1] == !!stack[-1] // Inputs[1] { @0F7C stack[-2] } 0F7A 5B JUMPDEST 0F7B 50 POP 0F7C 56 *JUMP // Stack delta = -2 // Block ends with unconditional jump to stack[-2] label_0F7D: // Incoming jump from 0x01B3 // Inputs[3] // { // @0F80 stack[-1] // @0F82 memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] // @0F84 memory[memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20]:memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] + 0x20] // } 0F7D 5B JUMPDEST 0F7E 60 PUSH1 0x40 0F80 81 DUP2 0F81 01 ADD 0F82 51 MLOAD 0F83 80 DUP1 0F84 51 MLOAD 0F85 5F PUSH0 0F86 91 SWAP2 0F87 82 DUP3 0F88 91 SWAP2 0F89 61 PUSH2 0x0f94 0F8C 90 SWAP1 0F8D 60 PUSH1 0x01 0F8F 90 SWAP1 0F90 61 PUSH2 0x3743 0F93 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @0F86 stack[0] = 0x00 // @0F86 stack[2] = memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] // @0F88 stack[1] = 0x00 // @0F8C stack[3] = 0x0f94 // @0F8F stack[4] = 0x01 // @0F8F stack[5] = memory[memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20]:memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] + 0x20] // } // Block ends with call to 0x3743, returns to 0x0F94 label_0F94: // Incoming return from call to 0x3743 at 0x0F93 // Inputs[3] // { // @0F95 stack[-2] // @0F96 memory[stack[-2]:stack[-2] + 0x20] // @0F97 stack[-1] // } 0F94 5B JUMPDEST 0F95 81 DUP2 0F96 51 MLOAD 0F97 81 DUP2 0F98 10 LT 0F99 61 PUSH2 0x0fa4 0F9C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0fa4, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] label_0F9D: // Incoming jump from 0x0F9C, if not stack[-1] < memory[stack[-2]:stack[-2] + 0x20] 0F9D 61 PUSH2 0x0fa4 0FA0 61 PUSH2 0x36d0 0FA3 56 *JUMP // Stack delta = +1 // Outputs[1] { @0F9D stack[0] = 0x0fa4 } // Block ends with unconditional jump to 0x36d0 label_0FA4: // Incoming jump from 0x0F9C, if stack[-1] < memory[stack[-2]:stack[-2] + 0x20] // Inputs[11] // { // @0FA7 stack[-1] // @0FAA stack[-2] // @0FAF memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @0FB0 address(this) // @0FB3 stack[-5] // @0FBA memory[0x40:0x60] // @0FCE stack[-3] // @0FEA memory[0x40:0x60] // @0FF0 msg.gas // @0FF1 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]] // @0FF1 address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 0FA4 5B JUMPDEST 0FA5 60 PUSH1 0x20 0FA7 90 SWAP1 0FA8 81 DUP2 0FA9 02 MUL 0FAA 91 SWAP2 0FAB 90 SWAP1 0FAC 91 SWAP2 0FAD 01 ADD 0FAE 01 ADD 0FAF 51 MLOAD 0FB0 30 ADDRESS 0FB1 60 PUSH1 0x60 0FB3 85 DUP6 0FB4 01 ADD 0FB5 81 DUP2 0FB6 90 SWAP1 0FB7 52 MSTORE 0FB8 60 PUSH1 0x40 0FBA 51 MLOAD 0FBB 63 PUSH4 0x70a08231 0FC0 60 PUSH1 0xe0 0FC2 1B SHL 0FC3 81 DUP2 0FC4 52 MSTORE 0FC5 60 PUSH1 0x04 0FC7 81 DUP2 0FC8 01 ADD 0FC9 91 SWAP2 0FCA 90 SWAP1 0FCB 91 SWAP2 0FCC 52 MSTORE 0FCD 90 SWAP1 0FCE 91 SWAP2 0FCF 50 POP 0FD0 5F PUSH0 0FD1 90 SWAP1 0FD2 60 PUSH1 0x01 0FD4 60 PUSH1 0x01 0FD6 60 PUSH1 0xa0 0FD8 1B SHL 0FD9 03 SUB 0FDA 83 DUP4 0FDB 16 AND 0FDC 90 SWAP1 0FDD 63 PUSH4 0x70a08231 0FE2 90 SWAP1 0FE3 60 PUSH1 0x24 0FE5 01 ADD 0FE6 60 PUSH1 0x20 0FE8 60 PUSH1 0x40 0FEA 51 MLOAD 0FEB 80 DUP1 0FEC 83 DUP4 0FED 03 SUB 0FEE 81 DUP2 0FEF 86 DUP7 0FF0 5A GAS 0FF1 FA STATICCALL 0FF2 15 ISZERO 0FF3 80 DUP1 0FF4 15 ISZERO 0FF5 61 PUSH2 0x1000 0FF8 57 *JUMPI // Stack delta = +3 // Outputs[10] // { // @0FB7 memory[stack[-5] + 0x60:stack[-5] + 0x60 + 0x20] = address(this) // @0FC4 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x70a08231 << 0xe0 // @0FCC memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @0FCE stack[-3] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @0FD1 stack[-2] = 0x00 // @0FDC stack[-1] = memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01 // @0FE2 stack[0] = 0x70a08231 // @0FE5 stack[1] = 0x24 + memory[0x40:0x60] // @0FF1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @0FF2 stack[2] = !address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x1000, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_0FF9: // Incoming jump from 0x0FF8, if not !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @0FF9 returndata.length // @0FFC returndata[0x00:0x00 + returndata.length] // @0FFD returndata.length // @0FFF memory[0x00:0x00 + returndata.length] // } 0FF9 3D RETURNDATASIZE 0FFA 5F PUSH0 0FFB 80 DUP1 0FFC 3E RETURNDATACOPY 0FFD 3D RETURNDATASIZE 0FFE 5F PUSH0 0FFF FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0FFC memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0FFF revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_1000: // Incoming jump from 0x0FF8, if !!address(memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @1007 memory[0x40:0x60] // @1008 returndata.length // } 1000 5B JUMPDEST 1001 50 POP 1002 50 POP 1003 50 POP 1004 50 POP 1005 60 PUSH1 0x40 1007 51 MLOAD 1008 3D RETURNDATASIZE 1009 60 PUSH1 0x1f 100B 19 NOT 100C 60 PUSH1 0x1f 100E 82 DUP3 100F 01 ADD 1010 16 AND 1011 82 DUP3 1012 01 ADD 1013 80 DUP1 1014 60 PUSH1 0x40 1016 52 MSTORE 1017 50 POP 1018 81 DUP2 1019 01 ADD 101A 90 SWAP1 101B 61 PUSH2 0x1024 101E 91 SWAP2 101F 90 SWAP1 1020 61 PUSH2 0x3718 1023 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @1016 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @101E stack[-4] = 0x1024 // @101F stack[-2] = memory[0x40:0x60] // @101F stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x1024 label_1024: // Incoming return from call to 0x3718 at 0x1023 // Inputs[4] // { // @1025 stack[-2] // @1025 stack[-1] // @1027 stack[-5] // @102C memory[0x0120 + stack[-5]:0x0120 + stack[-5] + 0x20] // } 1024 5B JUMPDEST 1025 90 SWAP1 1026 50 POP 1027 83 DUP4 1028 61 PUSH2 0x0120 102B 01 ADD 102C 51 MLOAD 102D 62 PUSH3 0xffffff 1031 16 AND 1032 60 PUSH1 0x02 1034 03 SUB 1035 61 PUSH2 0x10a4 1038 57 *JUMPI // Stack delta = -1 // Outputs[1] { @1025 stack[-2] = stack[-1] } // Block ends with conditional jump to 0x10a4, if 0x02 - (0xffffff & memory[0x0120 + stack[-5]:0x0120 + stack[-5] + 0x20]) label_1039: // Incoming jump from 0x1038, if not 0x02 - (0xffffff & memory[0x0120 + stack[-5]:0x0120 + stack[-5] + 0x20]) // Inputs[4] // { // @103B memory[0x40:0x60] // @1046 address(this) // @104E msg.value // @1054 stack[-4] // } 1039 60 PUSH1 0x40 103B 51 MLOAD 103C 63 PUSH4 0x1e9d76c1 1041 60 PUSH1 0xe1 1043 1B SHL 1044 81 DUP2 1045 52 MSTORE 1046 30 ADDRESS 1047 90 SWAP1 1048 63 PUSH4 0x3d3aed82 104D 90 SWAP1 104E 34 CALLVALUE 104F 90 SWAP1 1050 61 PUSH2 0x105d 1053 90 SWAP1 1054 88 DUP9 1055 90 SWAP1 1056 60 PUSH1 0x04 1058 01 ADD 1059 61 PUSH2 0x3aa5 105C 56 *JUMP // Stack delta = +6 // Outputs[7] // { // @1045 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x1e9d76c1 << 0xe1 // @1047 stack[0] = address(this) // @104D stack[1] = 0x3d3aed82 // @104F stack[2] = msg.value // @1053 stack[3] = 0x105d // @1055 stack[4] = stack[-4] // @1058 stack[5] = 0x04 + memory[0x40:0x60] // } // Block ends with call to 0x3aa5, returns to 0x105D label_105D: // Incoming return from call to 0x3AA5 at 0x10DA // Incoming return from call to 0x3AA5 at 0x105C // Inputs[7] // { // @1062 memory[0x40:0x60] // @1064 stack[-1] // @1067 stack[-2] // @1068 stack[-4] // @1069 msg.gas // @106A address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @106A memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 105D 5B JUMPDEST 105E 60 PUSH1 0x20 1060 60 PUSH1 0x40 1062 51 MLOAD 1063 80 DUP1 1064 83 DUP4 1065 03 SUB 1066 81 DUP2 1067 85 DUP6 1068 88 DUP9 1069 5A GAS 106A F1 CALL 106B 15 ISZERO 106C 80 DUP1 106D 15 ISZERO 106E 61 PUSH2 0x1079 1071 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @106A memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @106B stack[0] = !address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x1079, if !!address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) label_1072: // Incoming jump from 0x1071, if not !!address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @1072 returndata.length // @1075 returndata[0x00:0x00 + returndata.length] // @1076 returndata.length // @1078 memory[0x00:0x00 + returndata.length] // } 1072 3D RETURNDATASIZE 1073 5F PUSH0 1074 80 DUP1 1075 3E RETURNDATACOPY 1076 3D RETURNDATASIZE 1077 5F PUSH0 1078 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @1075 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @1078 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_1079: // Incoming jump from 0x1071, if !!address(stack[-4]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[2] // { // @1081 memory[0x40:0x60] // @1082 returndata.length // } 1079 5B JUMPDEST 107A 50 POP 107B 50 POP 107C 50 POP 107D 50 POP 107E 50 POP 107F 60 PUSH1 0x40 1081 51 MLOAD 1082 3D RETURNDATASIZE 1083 60 PUSH1 0x1f 1085 19 NOT 1086 60 PUSH1 0x1f 1088 82 DUP3 1089 01 ADD 108A 16 AND 108B 82 DUP3 108C 01 ADD 108D 80 DUP1 108E 60 PUSH1 0x40 1090 52 MSTORE 1091 50 POP 1092 81 DUP2 1093 01 ADD 1094 90 SWAP1 1095 61 PUSH2 0x109e 1098 91 SWAP2 1099 90 SWAP1 109A 61 PUSH2 0x3718 109D 56 *JUMP // Stack delta = -2 // Outputs[4] // { // @1090 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @1098 stack[-5] = 0x109e // @1099 stack[-3] = memory[0x40:0x60] // @1099 stack[-4] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x109E label_109E: // Incoming return from call to 0x3718 at 0x109D 109E 5B JUMPDEST 109F 50 POP 10A0 61 PUSH2 0x10db 10A3 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to 0x10db label_10A4: // Incoming jump from 0x1038, if 0x02 - (0xffffff & memory[0x0120 + stack[-5]:0x0120 + stack[-5] + 0x20]) // Inputs[2] // { // @10A5 stack[-4] // @10AA memory[0x0120 + stack[-4]:0x0120 + stack[-4] + 0x20] // } 10A4 5B JUMPDEST 10A5 83 DUP4 10A6 61 PUSH2 0x0120 10A9 01 ADD 10AA 51 MLOAD 10AB 62 PUSH3 0xffffff 10AF 16 AND 10B0 60 PUSH1 0x03 10B2 03 SUB 10B3 61 PUSH2 0x10db 10B6 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x10db, if 0x03 - (0xffffff & memory[0x0120 + stack[-4]:0x0120 + stack[-4] + 0x20]) label_10B7: // Incoming jump from 0x10B6, if not 0x03 - (0xffffff & memory[0x0120 + stack[-4]:0x0120 + stack[-4] + 0x20]) // Inputs[4] // { // @10B9 memory[0x40:0x60] // @10C4 address(this) // @10CC msg.value // @10D2 stack[-4] // } 10B7 60 PUSH1 0x40 10B9 51 MLOAD 10BA 63 PUSH4 0x099f576f 10BF 60 PUSH1 0xe4 10C1 1B SHL 10C2 81 DUP2 10C3 52 MSTORE 10C4 30 ADDRESS 10C5 90 SWAP1 10C6 63 PUSH4 0x99f576f0 10CB 90 SWAP1 10CC 34 CALLVALUE 10CD 90 SWAP1 10CE 61 PUSH2 0x105d 10D1 90 SWAP1 10D2 88 DUP9 10D3 90 SWAP1 10D4 60 PUSH1 0x04 10D6 01 ADD 10D7 61 PUSH2 0x3aa5 10DA 56 *JUMP // Stack delta = +6 // Outputs[7] // { // @10C3 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x099f576f << 0xe4 // @10C5 stack[0] = address(this) // @10CB stack[1] = 0x99f576f0 // @10CD stack[2] = msg.value // @10D1 stack[3] = 0x105d // @10D3 stack[4] = stack[-4] // @10D6 stack[5] = 0x04 + memory[0x40:0x60] // } // Block ends with call to 0x3aa5, returns to 0x105D label_10DB: // Incoming jump from 0x10A3 // Incoming jump from 0x10B6, if 0x03 - (0xffffff & memory[0x0120 + stack[-4]:0x0120 + stack[-4] + 0x20]) // Inputs[7] // { // @10DE memory[0x40:0x60] // @10E9 address(this) // @10F9 stack[-2] // @1109 memory[0x40:0x60] // @110F msg.gas // @1110 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]] // @1110 address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } 10DB 5B JUMPDEST 10DC 60 PUSH1 0x40 10DE 51 MLOAD 10DF 63 PUSH4 0x70a08231 10E4 60 PUSH1 0xe0 10E6 1B SHL 10E7 81 DUP2 10E8 52 MSTORE 10E9 30 ADDRESS 10EA 60 PUSH1 0x04 10EC 82 DUP3 10ED 01 ADD 10EE 52 MSTORE 10EF 5F PUSH0 10F0 90 SWAP1 10F1 60 PUSH1 0x01 10F3 60 PUSH1 0x01 10F5 60 PUSH1 0xa0 10F7 1B SHL 10F8 03 SUB 10F9 84 DUP5 10FA 16 AND 10FB 90 SWAP1 10FC 63 PUSH4 0x70a08231 1101 90 SWAP1 1102 60 PUSH1 0x24 1104 01 ADD 1105 60 PUSH1 0x20 1107 60 PUSH1 0x40 1109 51 MLOAD 110A 80 DUP1 110B 83 DUP4 110C 03 SUB 110D 81 DUP2 110E 86 DUP7 110F 5A GAS 1110 FA STATICCALL 1111 15 ISZERO 1112 80 DUP1 1113 15 ISZERO 1114 61 PUSH2 0x111f 1117 57 *JUMPI // Stack delta = +5 // Outputs[8] // { // @10E8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x70a08231 << 0xe0 // @10EE memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @10F0 stack[0] = 0x00 // @10FB stack[1] = stack[-2] & (0x01 << 0xa0) - 0x01 // @1101 stack[2] = 0x70a08231 // @1104 stack[3] = 0x24 + memory[0x40:0x60] // @1110 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @1111 stack[4] = !address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x111f, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_1118: // Incoming jump from 0x1117, if not !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @1118 returndata.length // @111B returndata[0x00:0x00 + returndata.length] // @111C returndata.length // @111E memory[0x00:0x00 + returndata.length] // } 1118 3D RETURNDATASIZE 1119 5F PUSH0 111A 80 DUP1 111B 3E RETURNDATACOPY 111C 3D RETURNDATASIZE 111D 5F PUSH0 111E FD *REVERT // Stack delta = +0 // Outputs[2] // { // @111B memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @111E revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_111F: // Incoming jump from 0x1117, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x24 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @1126 memory[0x40:0x60] // @1127 returndata.length // } 111F 5B JUMPDEST 1120 50 POP 1121 50 POP 1122 50 POP 1123 50 POP 1124 60 PUSH1 0x40 1126 51 MLOAD 1127 3D RETURNDATASIZE 1128 60 PUSH1 0x1f 112A 19 NOT 112B 60 PUSH1 0x1f 112D 82 DUP3 112E 01 ADD 112F 16 AND 1130 82 DUP3 1131 01 ADD 1132 80 DUP1 1133 60 PUSH1 0x40 1135 52 MSTORE 1136 50 POP 1137 81 DUP2 1138 01 ADD 1139 90 SWAP1 113A 61 PUSH2 0x1143 113D 91 SWAP2 113E 90 SWAP1 113F 61 PUSH2 0x3718 1142 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @1135 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @113D stack[-4] = 0x1143 // @113E stack[-2] = memory[0x40:0x60] // @113E stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x1143 label_1143: // Incoming return from call to 0x3718 at 0x1142 // Inputs[3] // { // @1144 stack[-1] // @1144 stack[-2] // @114B stack[-3] // } 1143 5B JUMPDEST 1144 90 SWAP1 1145 50 POP 1146 5F PUSH0 1147 61 PUSH2 0x1150 114A 82 DUP3 114B 84 DUP5 114C 61 PUSH2 0x2c74 114F 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @1144 stack[-2] = stack[-1] // @1146 stack[-1] = 0x00 // @1147 stack[0] = 0x1150 // @114A stack[1] = stack[-1] // @114B stack[2] = stack[-3] // } // Block ends with unconditional jump to 0x2c74 1150 5B JUMPDEST 1151 86 DUP7 1152 51 MLOAD 1153 90 SWAP1 1154 91 SWAP2 1155 50 POP 1156 5F PUSH0 1157 90 SWAP1 1158 61 PUSH2 0x1166 115B 90 SWAP1 115C 61 PUSH2 0x09c9 115F 84 DUP5 1160 60 PUSH1 0x64 1162 61 PUSH2 0x2c86 1165 56 *JUMP 1166 5B JUMPDEST 1167 90 SWAP1 1168 50 POP 1169 60 PUSH1 0x64 116B 61 PUSH2 0x1174 116E 81 DUP2 116F 83 DUP4 1170 61 PUSH2 0x2c74 1173 56 *JUMP 1174 5B JUMPDEST 1175 98 SWAP9 1176 97 SWAP8 1177 50 POP 1178 50 POP 1179 50 POP 117A 50 POP 117B 50 POP 117C 50 POP 117D 50 POP 117E 50 POP 117F 56 *JUMP 1180 5B JUMPDEST 1181 60 PUSH1 0x40 1183 51 MLOAD 1184 63 PUSH4 0x6eb1769f 1189 60 PUSH1 0xe1 118B 1B SHL 118C 81 DUP2 118D 52 MSTORE 118E 30 ADDRESS 118F 60 PUSH1 0x04 1191 82 DUP3 1192 01 ADD 1193 52 MSTORE 1194 60 PUSH1 0x01 1196 60 PUSH1 0x01 1198 60 PUSH1 0xa0 119A 1B SHL 119B 03 SUB 119C 83 DUP4 119D 81 DUP2 119E 16 AND 119F 60 PUSH1 0x24 11A1 83 DUP4 11A2 01 ADD 11A3 52 MSTORE 11A4 82 DUP3 11A5 91 SWAP2 11A6 5F PUSH0 11A7 91 SWAP2 11A8 83 DUP4 11A9 16 AND 11AA 90 SWAP1 11AB 63 PUSH4 0xdd62ed3e 11B0 90 SWAP1 11B1 60 PUSH1 0x44 11B3 01 ADD 11B4 60 PUSH1 0x20 11B6 60 PUSH1 0x40 11B8 51 MLOAD 11B9 80 DUP1 11BA 83 DUP4 11BB 03 SUB 11BC 81 DUP2 11BD 86 DUP7 11BE 5A GAS 11BF FA STATICCALL 11C0 15 ISZERO 11C1 80 DUP1 11C2 15 ISZERO 11C3 61 PUSH2 0x11ce 11C6 57 *JUMPI 11C7 3D RETURNDATASIZE 11C8 5F PUSH0 11C9 80 DUP1 11CA 3E RETURNDATACOPY 11CB 3D RETURNDATASIZE 11CC 5F PUSH0 11CD FD *REVERT 11CE 5B JUMPDEST 11CF 50 POP 11D0 50 POP 11D1 50 POP 11D2 50 POP 11D3 60 PUSH1 0x40 11D5 51 MLOAD 11D6 3D RETURNDATASIZE 11D7 60 PUSH1 0x1f 11D9 19 NOT 11DA 60 PUSH1 0x1f 11DC 82 DUP3 11DD 01 ADD 11DE 16 AND 11DF 82 DUP3 11E0 01 ADD 11E1 80 DUP1 11E2 60 PUSH1 0x40 11E4 52 MSTORE 11E5 50 POP 11E6 81 DUP2 11E7 01 ADD 11E8 90 SWAP1 11E9 61 PUSH2 0x11f2 11EC 91 SWAP2 11ED 90 SWAP1 11EE 61 PUSH2 0x3718 11F1 56 *JUMP 11F2 5B JUMPDEST 11F3 90 SWAP1 11F4 50 POP 11F5 5F PUSH0 11F6 19 NOT 11F7 81 DUP2 11F8 10 LT 11F9 15 ISZERO 11FA 61 PUSH2 0x1270 11FD 57 *JUMPI 11FE 60 PUSH1 0x40 1200 51 MLOAD 1201 63 PUSH4 0x095ea7b3 1206 60 PUSH1 0xe0 1208 1B SHL 1209 81 DUP2 120A 52 MSTORE 120B 60 PUSH1 0x01 120D 60 PUSH1 0x01 120F 60 PUSH1 0xa0 1211 1B SHL 1212 03 SUB 1213 85 DUP6 1214 81 DUP2 1215 16 AND 1216 60 PUSH1 0x04 1218 83 DUP4 1219 01 ADD 121A 52 MSTORE 121B 5F PUSH0 121C 19 NOT 121D 60 PUSH1 0x24 121F 83 DUP4 1220 01 ADD 1221 52 MSTORE 1222 83 DUP4 1223 16 AND 1224 90 SWAP1 1225 63 PUSH4 0x095ea7b3 122A 90 SWAP1 122B 60 PUSH1 0x44 122D 01 ADD label_122E: // Incoming jump from 0x3122 // Inputs[6] // { // @1233 memory[0x40:0x60] // @1235 stack[-1] // @1239 stack[-3] // @123A msg.gas // @123B address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @123B memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 122E 5B JUMPDEST 122F 60 PUSH1 0x20 1231 60 PUSH1 0x40 1233 51 MLOAD 1234 80 DUP1 1235 83 DUP4 1236 03 SUB 1237 81 DUP2 1238 5F PUSH0 1239 87 DUP8 123A 5A GAS 123B F1 CALL 123C 15 ISZERO 123D 80 DUP1 123E 15 ISZERO 123F 61 PUSH2 0x124a 1242 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @123B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @123C stack[0] = !address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x124a, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) label_1243: // Incoming jump from 0x1242, if not !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @1243 returndata.length // @1246 returndata[0x00:0x00 + returndata.length] // @1247 returndata.length // @1249 memory[0x00:0x00 + returndata.length] // } 1243 3D RETURNDATASIZE 1244 5F PUSH0 1245 80 DUP1 1246 3E RETURNDATACOPY 1247 3D RETURNDATASIZE 1248 5F PUSH0 1249 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @1246 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @1249 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_124A: // Incoming jump from 0x1242, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[2] // { // @1251 memory[0x40:0x60] // @1252 returndata.length // } 124A 5B JUMPDEST 124B 50 POP 124C 50 POP 124D 50 POP 124E 50 POP 124F 60 PUSH1 0x40 1251 51 MLOAD 1252 3D RETURNDATASIZE 1253 60 PUSH1 0x1f 1255 19 NOT 1256 60 PUSH1 0x1f 1258 82 DUP3 1259 01 ADD 125A 16 AND 125B 82 DUP3 125C 01 ADD 125D 80 DUP1 125E 60 PUSH1 0x40 1260 52 MSTORE 1261 50 POP 1262 81 DUP2 1263 01 ADD 1264 90 SWAP1 1265 61 PUSH2 0x126e 1268 91 SWAP2 1269 90 SWAP1 126A 61 PUSH2 0x3b7a 126D 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @1260 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @1268 stack[-4] = 0x126e // @1269 stack[-2] = memory[0x40:0x60] // @1269 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with unconditional jump to 0x3b7a 126E 5B JUMPDEST 126F 50 POP label_1270: // Incoming jump from 0x30EE, if !(stack[-1] < ~0x00) // Inputs[1] { @1275 stack[-5] } 1270 5B JUMPDEST 1271 50 POP 1272 50 POP 1273 50 POP 1274 50 POP 1275 56 *JUMP // Stack delta = -5 // Block ends with unconditional jump to stack[-5] label_1276: // Incoming call from 0x0371, returns to 0x0372 // Incoming call from 0x037E, returns to 0x037F // Inputs[2] // { // @1278 storage[0x00] // @1282 msg.sender // } 1276 5B JUMPDEST 1277 5F PUSH0 1278 54 SLOAD 1279 60 PUSH1 0x01 127B 60 PUSH1 0x01 127D 60 PUSH1 0xa0 127F 1B SHL 1280 03 SUB 1281 16 AND 1282 33 CALLER 1283 14 EQ 1284 61 PUSH2 0x0388 1287 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0388, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x00] label_1288: // Incoming jump from 0x1287, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x00] // Inputs[1] { @128A memory[0x40:0x60] } 1288 60 PUSH1 0x40 128A 51 MLOAD 128B 62 PUSH3 0x461bcd 128F 60 PUSH1 0xe5 1291 1B SHL 1292 81 DUP2 1293 52 MSTORE 1294 60 PUSH1 0x20 1296 60 PUSH1 0x04 1298 82 DUP3 1299 01 ADD 129A 81 DUP2 129B 90 SWAP1 129C 52 MSTORE 129D 60 PUSH1 0x24 129F 82 DUP3 12A0 01 ADD 12A1 52 MSTORE 12A2 7F PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 12C3 60 PUSH1 0x44 12C5 82 DUP3 12C6 01 ADD 12C7 52 MSTORE 12C8 60 PUSH1 0x64 12CA 01 ADD 12CB 61 PUSH2 0x0f68 12CE 56 *JUMP // Stack delta = +1 // Outputs[5] // { // @1293 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @129C memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @12A1 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x20 // @12C7 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 // @12CA stack[0] = 0x64 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x0f68 label_12CF: // Incoming call from 0x0387, returns to 0x0388 // Inputs[5] // { // @12D2 storage[0x00] // @12DB stack[-1] // @12EF memory[0x40:0x60] // @131A memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] // @131D stack[-2] // } 12CF 5B JUMPDEST 12D0 5F PUSH0 12D1 80 DUP1 12D2 54 SLOAD 12D3 60 PUSH1 0x01 12D5 60 PUSH1 0x01 12D7 60 PUSH1 0xa0 12D9 1B SHL 12DA 03 SUB 12DB 83 DUP4 12DC 81 DUP2 12DD 16 AND 12DE 60 PUSH1 0x01 12E0 60 PUSH1 0x01 12E2 60 PUSH1 0xa0 12E4 1B SHL 12E5 03 SUB 12E6 19 NOT 12E7 83 DUP4 12E8 16 AND 12E9 81 DUP2 12EA 17 OR 12EB 84 DUP5 12EC 55 SSTORE 12ED 60 PUSH1 0x40 12EF 51 MLOAD 12F0 91 SWAP2 12F1 90 SWAP1 12F2 92 SWAP3 12F3 16 AND 12F4 92 SWAP3 12F5 83 DUP4 12F6 91 SWAP2 12F7 7F PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 1318 91 SWAP2 1319 90 SWAP1 131A A3 LOG3 131B 50 POP 131C 50 POP 131D 56 *JUMP // Stack delta = -2 // Outputs[2] // { // @12EC storage[0x00] = (stack[-1] & (0x01 << 0xa0) - 0x01) | (storage[0x00] & ~((0x01 << 0xa0) - 0x01)) // @131A log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0, storage[0x00] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]); // } // Block ends with unconditional jump to stack[-2] label_131E: // Incoming call from 0x03A6, returns to 0x03A7 // Inputs[1] { @1327 stack[-1] } 131E 5B JUMPDEST 131F 5F PUSH0 1320 80 DUP1 1321 5B JUMPDEST 1322 61 PUSH2 0x132e 1325 60 PUSH1 0x40 1327 84 DUP5 1328 01 ADD 1329 84 DUP5 132A 61 PUSH2 0x3b95 132D 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @131F stack[0] = 0x00 // @1320 stack[1] = 0x00 // @1322 stack[2] = 0x132e // @1328 stack[3] = stack[-1] + 0x40 // @1329 stack[4] = stack[-1] // } // Block ends with call to 0x3b95, returns to 0x132E label_132E: // Incoming return from call to 0x3B95 at 0x132D // Incoming return from call to 0x3B95 at 0x132D // Inputs[3] // { // @132F stack[-1] // @132F stack[-2] // @1331 stack[-3] // } 132E 5B JUMPDEST 132F 90 SWAP1 1330 50 POP 1331 81 DUP2 1332 10 LT 1333 15 ISZERO 1334 61 PUSH2 0x226d 1337 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x226d, if !(stack[-3] < stack[-1]) label_1338: // Incoming jump from 0x1337, if not !(stack[-3] < stack[-1]) // Inputs[1] { @133F stack[-3] } 1338 5F PUSH0 1339 5B JUMPDEST 133A 61 PUSH2 0x1346 133D 60 PUSH1 0x60 133F 85 DUP6 1340 01 ADD 1341 85 DUP6 1342 61 PUSH2 0x3be2 1345 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @1338 stack[0] = 0x00 // @133A stack[1] = 0x1346 // @1340 stack[2] = stack[-3] + 0x60 // @1341 stack[3] = stack[-3] // } // Block ends with call to 0x3be2, returns to 0x1346 label_1346: // Incoming return from call to 0x3BE2 at 0x1345 // Incoming return from call to 0x3BE2 at 0x1345 // Inputs[3] // { // @1347 stack[-2] // @1347 stack[-1] // @1349 stack[-3] // } 1346 5B JUMPDEST 1347 90 SWAP1 1348 50 POP 1349 81 DUP2 134A 10 LT 134B 15 ISZERO 134C 61 PUSH2 0x225a 134F 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x225a, if !(stack[-3] < stack[-1]) label_1350: // Incoming jump from 0x134F, if not !(stack[-3] < stack[-1]) // Inputs[1] { @1356 stack[-4] } 1350 5F PUSH0 1351 61 PUSH2 0x135d 1354 60 PUSH1 0x40 1356 86 DUP7 1357 01 ADD 1358 86 DUP7 1359 61 PUSH2 0x3b95 135C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @1350 stack[0] = 0x00 // @1351 stack[1] = 0x135d // @1357 stack[2] = stack[-4] + 0x40 // @1358 stack[3] = stack[-4] // } // Block ends with call to 0x3b95, returns to 0x135D label_135D: // Incoming return from call to 0x3B95 at 0x135C // Inputs[2] // { // @135E stack[-5] // @135F stack[-1] // } 135D 5B JUMPDEST 135E 84 DUP5 135F 81 DUP2 1360 81 DUP2 1361 10 LT 1362 61 PUSH2 0x136d 1365 57 *JUMPI // Stack delta = +1 // Outputs[1] { @135E stack[0] = stack[-5] } // Block ends with conditional jump to 0x136d, if stack[-5] < stack[-1] label_1366: // Incoming jump from 0x1365, if not stack[-5] < stack[-1] 1366 61 PUSH2 0x136d 1369 61 PUSH2 0x36d0 136C 56 *JUMP // Stack delta = +1 // Outputs[1] { @1366 stack[0] = 0x136d } // Block ends with unconditional jump to 0x36d0 label_136D: // Incoming jump from 0x1365, if stack[-5] < stack[-1] // Inputs[4] // { // @136E stack[-2] // @136E stack[-1] // @1373 stack[-3] // @1375 msg.data.length // } 136D 5B JUMPDEST 136E 90 SWAP1 136F 50 POP 1370 60 PUSH1 0x80 1372 02 MUL 1373 01 ADD 1374 80 DUP1 1375 36 CALLDATASIZE 1376 03 SUB 1377 81 DUP2 1378 01 ADD 1379 90 SWAP1 137A 61 PUSH2 0x1383 137D 91 SWAP2 137E 90 SWAP1 137F 61 PUSH2 0x3c28 1382 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @137D stack[-3] = 0x1383 // @137E stack[-1] = 0x80 * stack[-1] + stack[-3] // @137E stack[-2] = 0x80 * stack[-1] + stack[-3] + (msg.data.length - (0x80 * stack[-1] + stack[-3])) // } // Block ends with call to 0x3c28, returns to 0x1383 label_1383: // Incoming return from call to 0x3C28 at 0x1382 // Inputs[3] // { // @1384 stack[-2] // @1384 stack[-1] // @138C stack[-6] // } 1383 5B JUMPDEST 1384 90 SWAP1 1385 50 POP 1386 5F PUSH0 1387 61 PUSH2 0x1393 138A 60 PUSH1 0x60 138C 87 DUP8 138D 01 ADD 138E 87 DUP8 138F 61 PUSH2 0x3be2 1392 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @1384 stack[-2] = stack[-1] // @1386 stack[-1] = 0x00 // @1387 stack[0] = 0x1393 // @138D stack[1] = stack[-6] + 0x60 // @138E stack[2] = stack[-6] // } // Block ends with call to 0x3be2, returns to 0x1393 label_1393: // Incoming return from call to 0x3BE2 at 0x1392 // Inputs[2] // { // @1394 stack[-5] // @1395 stack[-1] // } 1393 5B JUMPDEST 1394 84 DUP5 1395 81 DUP2 1396 81 DUP2 1397 10 LT 1398 61 PUSH2 0x13a3 139B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @1394 stack[0] = stack[-5] } // Block ends with conditional jump to 0x13a3, if stack[-5] < stack[-1] label_139C: // Incoming jump from 0x139B, if not stack[-5] < stack[-1] 139C 61 PUSH2 0x13a3 139F 61 PUSH2 0x36d0 13A2 56 *JUMP // Stack delta = +1 // Outputs[1] { @139C stack[0] = 0x13a3 } // Block ends with unconditional jump to 0x36d0 label_13A3: // Incoming jump from 0x139B, if stack[-5] < stack[-1] // Inputs[4] // { // @13A4 stack[-1] // @13A4 stack[-2] // @13A9 stack[-3] // @13AB msg.data.length // } 13A3 5B JUMPDEST 13A4 90 SWAP1 13A5 50 POP 13A6 60 PUSH1 0x40 13A8 02 MUL 13A9 01 ADD 13AA 80 DUP1 13AB 36 CALLDATASIZE 13AC 03 SUB 13AD 81 DUP2 13AE 01 ADD 13AF 90 SWAP1 13B0 61 PUSH2 0x13b9 13B3 91 SWAP2 13B4 90 SWAP1 13B5 61 PUSH2 0x3cb0 13B8 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @13B3 stack[-3] = 0x13b9 // @13B4 stack[-1] = 0x40 * stack[-1] + stack[-3] // @13B4 stack[-2] = 0x40 * stack[-1] + stack[-3] + (msg.data.length - (0x40 * stack[-1] + stack[-3])) // } // Block ends with call to 0x3cb0, returns to 0x13B9 label_13B9: // Incoming return from call to 0x3CB0 at 0x13B8 // Inputs[4] // { // @13BA stack[-3] // @13BB memory[stack[-3]:stack[-3] + 0x20] // @13BC stack[-1] // @13BD stack[-2] // } 13B9 5B JUMPDEST 13BA 82 DUP3 13BB 51 MLOAD 13BC 90 SWAP1 13BD 91 SWAP2 13BE 50 POP 13BF 60 PUSH1 0xff 13C1 16 AND 13C2 60 PUSH1 0x02 13C4 03 SUB 13C5 61 PUSH2 0x17c0 13C8 57 *JUMPI // Stack delta = -1 // Outputs[1] { @13BD stack[-2] = stack[-1] } // Block ends with conditional jump to 0x17c0, if 0x02 - (0xff & memory[stack[-3]:stack[-3] + 0x20]) label_13C9: // Incoming jump from 0x13C8, if not 0x02 - (0xff & memory[stack[-3]:stack[-3] + 0x20]) // Inputs[5] // { // @13CB stack[-2] // @13CD memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @13CE stack[-1] // @13CF memory[stack[-1]:stack[-1] + 0x20] // @13E8 stack[-6] // } 13C9 60 PUSH1 0x40 13CB 82 DUP3 13CC 01 ADD 13CD 51 MLOAD 13CE 81 DUP2 13CF 51 MLOAD 13D0 5F PUSH0 13D1 90 SWAP1 13D2 60 PUSH1 0x01 13D4 60 PUSH1 0x01 13D6 60 PUSH1 0xa0 13D8 1B SHL 13D9 03 SUB 13DA 83 DUP4 13DB 16 AND 13DC 90 SWAP1 13DD 63 PUSH4 0xe6a43905 13E2 90 SWAP1 13E3 61 PUSH2 0x13ef 13E6 60 PUSH1 0x20 13E8 8C DUP13 13E9 01 ADD 13EA 8C DUP13 13EB 61 PUSH2 0x35bf 13EE 56 *JUMP // Stack delta = +8 // Outputs[8] // { // @13CD stack[0] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @13D1 stack[1] = 0x00 // @13DC stack[2] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] & (0x01 << 0xa0) - 0x01 // @13E2 stack[3] = 0xe6a43905 // @13E2 stack[4] = memory[stack[-1]:stack[-1] + 0x20] // @13E3 stack[5] = 0x13ef // @13E9 stack[6] = stack[-6] + 0x20 // @13EA stack[7] = stack[-6] // } // Block ends with unconditional jump to 0x35bf 13EF 5B JUMPDEST 13F0 60 PUSH1 0x40 13F2 51 MLOAD 13F3 60 PUSH1 0x01 13F5 60 PUSH1 0x01 13F7 60 PUSH1 0xe0 13F9 1B SHL 13FA 03 SUB 13FB 19 NOT 13FC 60 PUSH1 0xe0 13FE 85 DUP6 13FF 90 SWAP1 1400 1B SHL 1401 16 AND 1402 81 DUP2 1403 52 MSTORE 1404 60 PUSH1 0x01 1406 60 PUSH1 0x01 1408 60 PUSH1 0xa0 140A 1B SHL 140B 03 SUB 140C 92 SWAP3 140D 83 DUP4 140E 16 AND 140F 60 PUSH1 0x04 1411 82 DUP3 1412 01 ADD 1413 52 MSTORE 1414 91 SWAP2 1415 16 AND 1416 60 PUSH1 0x24 1418 82 DUP3 1419 01 ADD 141A 52 MSTORE 141B 60 PUSH1 0x44 141D 01 ADD 141E 60 PUSH1 0x20 1420 60 PUSH1 0x40 1422 51 MLOAD 1423 80 DUP1 1424 83 DUP4 1425 03 SUB 1426 81 DUP2 1427 86 DUP7 1428 5A GAS 1429 FA STATICCALL 142A 15 ISZERO 142B 80 DUP1 142C 15 ISZERO 142D 61 PUSH2 0x1438 1430 57 *JUMPI 1431 3D RETURNDATASIZE 1432 5F PUSH0 1433 80 DUP1 1434 3E RETURNDATACOPY 1435 3D RETURNDATASIZE 1436 5F PUSH0 1437 FD *REVERT 1438 5B JUMPDEST 1439 50 POP 143A 50 POP 143B 50 POP 143C 50 POP 143D 60 PUSH1 0x40 143F 51 MLOAD 1440 3D RETURNDATASIZE 1441 60 PUSH1 0x1f 1443 19 NOT 1444 60 PUSH1 0x1f 1446 82 DUP3 1447 01 ADD 1448 16 AND 1449 82 DUP3 144A 01 ADD 144B 80 DUP1 144C 60 PUSH1 0x40 144E 52 MSTORE 144F 50 POP 1450 81 DUP2 1451 01 ADD 1452 90 SWAP1 1453 61 PUSH2 0x145c 1456 91 SWAP2 1457 90 SWAP1 1458 61 PUSH2 0x35da 145B 56 *JUMP 145C 5B JUMPDEST 145D 90 SWAP1 145E 50 POP 145F 60 PUSH1 0x01 1461 60 PUSH1 0x01 1463 60 PUSH1 0xa0 1465 1B SHL 1466 03 SUB 1467 81 DUP2 1468 16 AND 1469 15 ISZERO 146A 61 PUSH2 0x17b9 146D 57 *JUMPI 146E 5F PUSH0 146F 61 PUSH2 0x147b 1472 60 PUSH1 0x20 1474 8A DUP11 1475 01 ADD 1476 8A DUP11 1477 61 PUSH2 0x35bf 147A 56 *JUMP 147B 5B JUMPDEST 147C 90 SWAP1 147D 50 POP 147E 61 PUSH2 0x1485 1481 61 PUSH2 0x3123 1484 56 *JUMP 1485 5B JUMPDEST 1486 85 DUP6 1487 81 DUP2 1488 52 MSTORE 1489 60 PUSH1 0x20 148B 81 DUP2 148C 01 ADD 148D 85 DUP6 148E 90 SWAP1 148F 52 MSTORE 1490 5F PUSH0 1491 60 PUSH1 0xa0 1493 82 DUP3 1494 01 ADD 1495 81 DUP2 1496 90 SWAP1 1497 52 MSTORE 1498 60 PUSH1 0xc0 149A 82 DUP3 149B 01 ADD 149C 81 DUP2 149D 90 SWAP1 149E 52 MSTORE 149F 60 PUSH1 0xe0 14A1 82 DUP3 14A2 01 ADD 14A3 52 MSTORE 14A4 60 PUSH1 0x01 14A6 60 PUSH1 0x01 14A8 60 PUSH1 0xa0 14AA 1B SHL 14AB 03 SUB 14AC 83 DUP4 14AD 81 DUP2 14AE 16 AND 14AF 60 PUSH1 0x40 14B1 80 DUP1 14B2 84 DUP5 14B3 01 ADD 14B4 82 DUP3 14B5 90 SWAP1 14B6 52 MSTORE 14B7 51 MLOAD 14B8 63 PUSH4 0x70a08231 14BD 60 PUSH1 0xe0 14BF 1B SHL 14C0 81 DUP2 14C1 52 MSTORE 14C2 60 PUSH1 0x04 14C4 81 DUP2 14C5 01 ADD 14C6 91 SWAP2 14C7 90 SWAP1 14C8 91 SWAP2 14C9 52 MSTORE 14CA 90 SWAP1 14CB 83 DUP4 14CC 16 AND 14CD 90 SWAP1 14CE 63 PUSH4 0x70a08231 14D3 90 SWAP1 14D4 60 PUSH1 0x24 14D6 01 ADD 14D7 60 PUSH1 0x20 14D9 60 PUSH1 0x40 14DB 51 MLOAD 14DC 80 DUP1 14DD 83 DUP4 14DE 03 SUB 14DF 81 DUP2 14E0 86 DUP7 14E1 5A GAS 14E2 FA STATICCALL 14E3 15 ISZERO 14E4 80 DUP1 14E5 15 ISZERO 14E6 61 PUSH2 0x14f1 14E9 57 *JUMPI 14EA 3D RETURNDATASIZE 14EB 5F PUSH0 14EC 80 DUP1 14ED 3E RETURNDATACOPY 14EE 3D RETURNDATASIZE 14EF 5F PUSH0 14F0 FD *REVERT 14F1 5B JUMPDEST 14F2 50 POP 14F3 50 POP 14F4 50 POP 14F5 50 POP 14F6 60 PUSH1 0x40 14F8 51 MLOAD 14F9 3D RETURNDATASIZE 14FA 60 PUSH1 0x1f 14FC 19 NOT 14FD 60 PUSH1 0x1f 14FF 82 DUP3 1500 01 ADD 1501 16 AND 1502 82 DUP3 1503 01 ADD 1504 80 DUP1 1505 60 PUSH1 0x40 1507 52 MSTORE 1508 50 POP 1509 81 DUP2 150A 01 ADD 150B 90 SWAP1 150C 61 PUSH2 0x1515 150F 91 SWAP2 1510 90 SWAP1 1511 61 PUSH2 0x3718 1514 56 *JUMP 1515 5B JUMPDEST 1516 60 PUSH1 0x60 1518 80 DUP1 1519 83 DUP4 151A 01 ADD 151B 91 SWAP2 151C 82 DUP3 151D 52 MSTORE 151E 5F PUSH0 151F 60 PUSH1 0x80 1521 84 DUP5 1522 01 ADD 1523 81 DUP2 1524 81 DUP2 1525 52 MSTORE 1526 60 PUSH1 0x01 1528 80 DUP1 1529 54 SLOAD 152A 80 DUP1 152B 82 DUP3 152C 01 ADD 152D 82 DUP3 152E 55 SSTORE 152F 92 SWAP3 1530 52 MSTORE 1531 84 DUP5 1532 51 MLOAD 1533 80 DUP1 1534 51 MLOAD 1535 60 PUSH1 0x0b 1537 90 SWAP1 1538 93 SWAP4 1539 02 MUL 153A 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 155B 81 DUP2 155C 01 ADD 155D 80 DUP1 155E 54 SLOAD 155F 60 PUSH1 0x20 1561 84 DUP5 1562 81 DUP2 1563 01 ADD 1564 51 MLOAD 1565 60 PUSH1 0x01 1567 60 PUSH1 0x01 1569 60 PUSH1 0xa0 156B 1B SHL 156C 03 SUB 156D 90 SWAP1 156E 81 DUP2 156F 16 AND 1570 61 PUSH2 0x0100 1573 90 SWAP1 1574 81 DUP2 1575 02 MUL 1576 60 PUSH1 0x01 1578 60 PUSH1 0x01 157A 60 PUSH1 0xa8 157C 1B SHL 157D 03 SUB 157E 19 NOT 157F 94 SWAP5 1580 85 DUP6 1581 16 AND 1582 60 PUSH1 0xff 1584 90 SWAP1 1585 9A SWAP11 1586 16 AND 1587 99 SWAP10 1588 90 SWAP1 1589 99 SWAP10 158A 17 OR 158B 98 SWAP9 158C 90 SWAP1 158D 98 SWAP9 158E 17 OR 158F 90 SWAP1 1590 93 SWAP4 1591 55 SSTORE 1592 60 PUSH1 0x40 1594 80 DUP1 1595 86 DUP7 1596 01 ADD 1597 51 MLOAD 1598 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7 15B9 86 DUP7 15BA 01 ADD 15BB 80 DUP1 15BC 54 SLOAD 15BD 91 SWAP2 15BE 86 DUP7 15BF 16 AND 15C0 60 PUSH1 0x01 15C2 60 PUSH1 0x01 15C4 60 PUSH1 0xa0 15C6 1B SHL 15C7 03 SUB 15C8 19 NOT 15C9 92 SWAP3 15CA 83 DUP4 15CB 16 AND 15CC 17 OR 15CD 90 SWAP1 15CE 55 SSTORE 15CF 95 SWAP6 15D0 90 SWAP1 15D1 98 SWAP9 15D2 01 ADD 15D3 51 MLOAD 15D4 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8 15F5 85 DUP6 15F6 01 ADD 15F7 80 DUP1 15F8 54 SLOAD 15F9 91 SWAP2 15FA 85 DUP6 15FB 16 AND 15FC 91 SWAP2 15FD 87 DUP8 15FE 16 AND 15FF 91 SWAP2 1600 90 SWAP1 1601 91 SWAP2 1602 17 OR 1603 90 SWAP1 1604 55 SSTORE 1605 80 DUP1 1606 8A DUP11 1607 01 ADD 1608 51 MLOAD 1609 80 DUP1 160A 51 MLOAD 160B 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9 162C 86 DUP7 162D 01 ADD 162E 80 DUP1 162F 54 SLOAD 1630 92 SWAP3 1631 90 SWAP1 1632 93 SWAP4 1633 01 ADD 1634 51 MLOAD 1635 15 ISZERO 1636 15 ISZERO 1637 60 PUSH1 0x01 1639 60 PUSH1 0xa0 163B 1B SHL 163C 02 MUL 163D 91 SWAP2 163E 90 SWAP1 163F 93 SWAP4 1640 16 AND 1641 92 SWAP3 1642 84 DUP5 1643 16 AND 1644 92 SWAP3 1645 90 SWAP1 1646 92 SWAP3 1647 17 OR 1648 91 SWAP2 1649 90 SWAP1 164A 91 SWAP2 164B 17 OR 164C 90 SWAP1 164D 55 SSTORE 164E 94 SWAP5 164F 87 DUP8 1650 01 ADD 1651 51 MLOAD 1652 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa 1673 82 DUP3 1674 01 ADD 1675 80 DUP1 1676 54 SLOAD 1677 91 SWAP2 1678 87 DUP8 1679 16 AND 167A 91 SWAP2 167B 84 DUP5 167C 16 AND 167D 91 SWAP2 167E 90 SWAP1 167F 91 SWAP2 1680 17 OR 1681 90 SWAP1 1682 55 SSTORE 1683 94 SWAP5 1684 51 MLOAD 1685 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfb 16A6 86 DUP7 16A7 01 ADD 16A8 55 SSTORE 16A9 90 SWAP1 16AA 51 MLOAD 16AB 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfc 16CC 85 DUP6 16CD 01 ADD 16CE 55 SSTORE 16CF 60 PUSH1 0xa0 16D1 85 DUP6 16D2 01 ADD 16D3 51 MLOAD 16D4 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfd 16F5 85 DUP6 16F6 01 ADD 16F7 80 DUP1 16F8 54 SLOAD 16F9 60 PUSH1 0xc0 16FB 88 DUP9 16FC 01 ADD 16FD 51 MLOAD 16FE 62 PUSH3 0xffffff 1702 90 SWAP1 1703 81 DUP2 1704 16 AND 1705 63 PUSH4 0x01000000 170A 02 MUL 170B 65 PUSH6 0xffffffffffff 1712 19 NOT 1713 90 SWAP1 1714 92 SWAP3 1715 16 AND 1716 93 SWAP4 1717 16 AND 1718 92 SWAP3 1719 90 SWAP1 171A 92 SWAP3 171B 17 OR 171C 91 SWAP2 171D 90 SWAP1 171E 91 SWAP2 171F 17 OR 1720 90 SWAP1 1721 55 SSTORE 1722 60 PUSH1 0xe0 1724 85 DUP6 1725 01 ADD 1726 51 MLOAD 1727 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfe 1748 85 DUP6 1749 01 ADD 174A 55 SSTORE 174B 90 SWAP1 174C 84 DUP5 174D 01 ADD 174E 51 MLOAD 174F 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cff 1770 84 DUP5 1771 01 ADD 1772 80 DUP1 1773 54 SLOAD 1774 91 SWAP2 1775 84 DUP5 1776 16 AND 1777 91 SWAP2 1778 83 DUP4 1779 16 AND 177A 91 SWAP2 177B 90 SWAP1 177C 91 SWAP2 177D 17 OR 177E 90 SWAP1 177F 55 SSTORE 1780 61 PUSH2 0x0120 1783 90 SWAP1 1784 93 SWAP4 1785 01 ADD 1786 51 MLOAD 1787 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d00 17A8 90 SWAP1 17A9 92 SWAP3 17AA 01 ADD 17AB 80 DUP1 17AC 54 SLOAD 17AD 92 SWAP3 17AE 90 SWAP1 17AF 91 SWAP2 17B0 16 AND 17B1 91 SWAP2 17B2 90 SWAP1 17B3 92 SWAP3 17B4 16 AND 17B5 17 OR 17B6 90 SWAP1 17B7 55 SSTORE 17B8 50 POP 17B9 5B JUMPDEST 17BA 50 POP 17BB 50 POP 17BC 61 PUSH2 0x2245 17BF 56 *JUMP label_17C0: // Incoming jump from 0x13C8, if 0x02 - (0xff & memory[stack[-3]:stack[-3] + 0x20]) // Inputs[2] // { // @17C1 stack[-2] // @17C2 memory[stack[-2]:stack[-2] + 0x20] // } 17C0 5B JUMPDEST 17C1 81 DUP2 17C2 51 MLOAD 17C3 60 PUSH1 0xff 17C5 16 AND 17C6 60 PUSH1 0x03 17C8 03 SUB 17C9 61 PUSH2 0x2245 17CC 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2245, if 0x03 - (0xff & memory[stack[-2]:stack[-2] + 0x20]) label_17CD: // Incoming jump from 0x17CC, if not 0x03 - (0xff & memory[stack[-2]:stack[-2] + 0x20]) // Inputs[4] // { // @17CF stack[-2] // @17D1 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @17D4 stack[-1] // @17D6 memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // } 17CD 60 PUSH1 0x40 17CF 82 DUP3 17D0 01 ADD 17D1 51 MLOAD 17D2 60 PUSH1 0x20 17D4 82 DUP3 17D5 01 ADD 17D6 51 MLOAD 17D7 15 ISZERO 17D8 61 PUSH2 0x1c44 17DB 57 *JUMPI // Stack delta = +1 // Outputs[1] { @17D1 stack[0] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] } // Block ends with conditional jump to 0x1c44, if !memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] label_17DC: // Incoming jump from 0x17DB, if not !memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // Inputs[1] { @17E0 storage[0x02] } 17DC 5F PUSH0 17DD 5B JUMPDEST 17DE 60 PUSH1 0x02 17E0 54 SLOAD 17E1 81 DUP2 17E2 10 LT 17E3 15 ISZERO 17E4 61 PUSH2 0x1c3e 17E7 57 *JUMPI // Stack delta = +1 // Outputs[1] { @17DC stack[0] = 0x00 } // Block ends with conditional jump to 0x1c3e, if !(0x00 < storage[0x02]) label_17E8: // Incoming jump from 0x17E7, if not !(0x00 < storage[0x02]) // Inputs[4] // { // @17E8 stack[-3] // @17E9 memory[stack[-3]:stack[-3] + 0x20] // @17F4 stack[-2] // @1802 stack[-8] // } 17E8 82 DUP3 17E9 51 MLOAD 17EA 5F PUSH0 17EB 90 SWAP1 17EC 60 PUSH1 0x01 17EE 60 PUSH1 0x01 17F0 60 PUSH1 0xa0 17F2 1B SHL 17F3 03 SUB 17F4 84 DUP5 17F5 16 AND 17F6 90 SWAP1 17F7 63 PUSH4 0x1698ee82 17FC 90 SWAP1 17FD 61 PUSH2 0x1809 1800 60 PUSH1 0x20 1802 8D DUP14 1803 01 ADD 1804 8D DUP14 1805 61 PUSH2 0x35bf 1808 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @17EB stack[0] = 0x00 // @17F6 stack[1] = stack[-2] & (0x01 << 0xa0) - 0x01 // @17FC stack[2] = 0x1698ee82 // @17FC stack[3] = memory[stack[-3]:stack[-3] + 0x20] // @17FD stack[4] = 0x1809 // @1803 stack[5] = stack[-8] + 0x20 // @1804 stack[6] = stack[-8] // } // Block ends with unconditional jump to 0x35bf 1809 5B JUMPDEST 180A 60 PUSH1 0x02 180C 86 DUP7 180D 81 DUP2 180E 54 SLOAD 180F 81 DUP2 1810 10 LT 1811 61 PUSH2 0x181c 1814 57 *JUMPI 1815 61 PUSH2 0x181c 1818 61 PUSH2 0x36d0 181B 56 *JUMP 181C 5B JUMPDEST 181D 90 SWAP1 181E 5F PUSH0 181F 52 MSTORE 1820 60 PUSH1 0x20 1822 5F PUSH0 1823 20 SHA3 1824 90 SWAP1 1825 60 PUSH1 0x0a 1827 91 SWAP2 1828 82 DUP3 1829 82 DUP3 182A 04 DIV 182B 01 ADD 182C 91 SWAP2 182D 90 SWAP1 182E 06 MOD 182F 60 PUSH1 0x03 1831 02 MUL 1832 90 SWAP1 1833 54 SLOAD 1834 90 SWAP1 1835 61 PUSH2 0x0100 1838 0A EXP 1839 90 SWAP1 183A 04 DIV 183B 62 PUSH3 0xffffff 183F 16 AND 1840 60 PUSH1 0x40 1842 51 MLOAD 1843 84 DUP5 1844 63 PUSH4 0xffffffff 1849 16 AND 184A 60 PUSH1 0xe0 184C 1B SHL 184D 81 DUP2 184E 52 MSTORE 184F 60 PUSH1 0x04 1851 01 ADD 1852 61 PUSH2 0x185d 1855 93 SWAP4 1856 92 SWAP3 1857 91 SWAP2 1858 90 SWAP1 1859 61 PUSH2 0x3d0d 185C 56 *JUMP 185D 5B JUMPDEST 185E 60 PUSH1 0x20 1860 60 PUSH1 0x40 1862 51 MLOAD 1863 80 DUP1 1864 83 DUP4 1865 03 SUB 1866 81 DUP2 1867 86 DUP7 1868 5A GAS 1869 FA STATICCALL 186A 15 ISZERO 186B 80 DUP1 186C 15 ISZERO 186D 61 PUSH2 0x1878 1870 57 *JUMPI 1871 3D RETURNDATASIZE 1872 5F PUSH0 1873 80 DUP1 1874 3E RETURNDATACOPY 1875 3D RETURNDATASIZE 1876 5F PUSH0 1877 FD *REVERT 1878 5B JUMPDEST 1879 50 POP 187A 50 POP 187B 50 POP 187C 50 POP 187D 60 PUSH1 0x40 187F 51 MLOAD 1880 3D RETURNDATASIZE 1881 60 PUSH1 0x1f 1883 19 NOT 1884 60 PUSH1 0x1f 1886 82 DUP3 1887 01 ADD 1888 16 AND 1889 82 DUP3 188A 01 ADD 188B 80 DUP1 188C 60 PUSH1 0x40 188E 52 MSTORE 188F 50 POP 1890 81 DUP2 1891 01 ADD 1892 90 SWAP1 1893 61 PUSH2 0x189c 1896 91 SWAP2 1897 90 SWAP1 1898 61 PUSH2 0x35da 189B 56 *JUMP 189C 5B JUMPDEST 189D 90 SWAP1 189E 50 POP 189F 60 PUSH1 0x01 18A1 60 PUSH1 0x01 18A3 60 PUSH1 0xa0 18A5 1B SHL 18A6 03 SUB 18A7 81 DUP2 18A8 16 AND 18A9 15 ISZERO 18AA 61 PUSH2 0x1c2b 18AD 57 *JUMPI 18AE 5F PUSH0 18AF 61 PUSH2 0x18bb 18B2 60 PUSH1 0x20 18B4 8B DUP12 18B5 01 ADD 18B6 8B DUP12 18B7 61 PUSH2 0x35bf 18BA 56 *JUMP 18BB 5B JUMPDEST 18BC 90 SWAP1 18BD 50 POP 18BE 61 PUSH2 0x18c5 18C1 61 PUSH2 0x3123 18C4 56 *JUMP 18C5 5B JUMPDEST 18C6 86 DUP7 18C7 81 DUP2 18C8 52 MSTORE 18C9 60 PUSH1 0x20 18CB 81 DUP2 18CC 01 ADD 18CD 86 DUP7 18CE 90 SWAP1 18CF 52 MSTORE 18D0 60 PUSH1 0x02 18D2 80 DUP1 18D3 54 SLOAD 18D4 85 DUP6 18D5 90 SWAP1 18D6 81 DUP2 18D7 10 LT 18D8 61 PUSH2 0x18e3 18DB 57 *JUMPI 18DC 61 PUSH2 0x18e3 18DF 61 PUSH2 0x36d0 18E2 56 *JUMP 18E3 5B JUMPDEST 18E4 5F PUSH0 18E5 91 SWAP2 18E6 82 DUP3 18E7 52 MSTORE 18E8 60 PUSH1 0x20 18EA 82 DUP3 18EB 20 SHA3 18EC 60 PUSH1 0x0a 18EE 80 DUP1 18EF 83 DUP4 18F0 04 DIV 18F1 90 SWAP1 18F2 91 SWAP2 18F3 01 ADD 18F4 54 SLOAD 18F5 91 SWAP2 18F6 06 MOD 18F7 60 PUSH1 0x03 18F9 02 MUL 18FA 61 PUSH2 0x0100 18FD 0A EXP 18FE 90 SWAP1 18FF 04 DIV 1900 62 PUSH3 0xffffff 1904 16 AND 1905 60 PUSH1 0xa0 1907 83 DUP4 1908 01 ADD 1909 52 MSTORE 190A 60 PUSH1 0xc0 190C 82 DUP3 190D 01 ADD 190E 81 DUP2 190F 90 SWAP1 1910 52 MSTORE 1911 60 PUSH1 0xe0 1913 82 DUP3 1914 01 ADD 1915 52 MSTORE 1916 60 PUSH1 0x01 1918 60 PUSH1 0x01 191A 60 PUSH1 0xa0 191C 1B SHL 191D 03 SUB 191E 83 DUP4 191F 81 DUP2 1920 16 AND 1921 60 PUSH1 0x40 1923 80 DUP1 1924 84 DUP5 1925 01 ADD 1926 82 DUP3 1927 90 SWAP1 1928 52 MSTORE 1929 51 MLOAD 192A 63 PUSH4 0x70a08231 192F 60 PUSH1 0xe0 1931 1B SHL 1932 81 DUP2 1933 52 MSTORE 1934 60 PUSH1 0x04 1936 81 DUP2 1937 01 ADD 1938 91 SWAP2 1939 90 SWAP1 193A 91 SWAP2 193B 52 MSTORE 193C 90 SWAP1 193D 83 DUP4 193E 16 AND 193F 90 SWAP1 1940 63 PUSH4 0x70a08231 1945 90 SWAP1 1946 60 PUSH1 0x24 1948 01 ADD 1949 60 PUSH1 0x20 194B 60 PUSH1 0x40 194D 51 MLOAD 194E 80 DUP1 194F 83 DUP4 1950 03 SUB 1951 81 DUP2 1952 86 DUP7 1953 5A GAS 1954 FA STATICCALL 1955 15 ISZERO 1956 80 DUP1 1957 15 ISZERO 1958 61 PUSH2 0x1963 195B 57 *JUMPI 195C 3D RETURNDATASIZE 195D 5F PUSH0 195E 80 DUP1 195F 3E RETURNDATACOPY 1960 3D RETURNDATASIZE 1961 5F PUSH0 1962 FD *REVERT 1963 5B JUMPDEST 1964 50 POP 1965 50 POP 1966 50 POP 1967 50 POP 1968 60 PUSH1 0x40 196A 51 MLOAD 196B 3D RETURNDATASIZE 196C 60 PUSH1 0x1f 196E 19 NOT 196F 60 PUSH1 0x1f 1971 82 DUP3 1972 01 ADD 1973 16 AND 1974 82 DUP3 1975 01 ADD 1976 80 DUP1 1977 60 PUSH1 0x40 1979 52 MSTORE 197A 50 POP 197B 81 DUP2 197C 01 ADD 197D 90 SWAP1 197E 61 PUSH2 0x1987 1981 91 SWAP2 1982 90 SWAP1 1983 61 PUSH2 0x3718 1986 56 *JUMP 1987 5B JUMPDEST 1988 60 PUSH1 0x60 198A 80 DUP1 198B 83 DUP4 198C 01 ADD 198D 91 SWAP2 198E 82 DUP3 198F 52 MSTORE 1990 5F PUSH0 1991 60 PUSH1 0x80 1993 84 DUP5 1994 01 ADD 1995 81 DUP2 1996 81 DUP2 1997 52 MSTORE 1998 60 PUSH1 0x01 199A 80 DUP1 199B 54 SLOAD 199C 80 DUP1 199D 82 DUP3 199E 01 ADD 199F 82 DUP3 19A0 55 SSTORE 19A1 92 SWAP3 19A2 52 MSTORE 19A3 84 DUP5 19A4 51 MLOAD 19A5 80 DUP1 19A6 51 MLOAD 19A7 60 PUSH1 0x0b 19A9 90 SWAP1 19AA 93 SWAP4 19AB 02 MUL 19AC 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 19CD 81 DUP2 19CE 01 ADD 19CF 80 DUP1 19D0 54 SLOAD 19D1 60 PUSH1 0x20 19D3 84 DUP5 19D4 81 DUP2 19D5 01 ADD 19D6 51 MLOAD 19D7 60 PUSH1 0x01 19D9 60 PUSH1 0x01 19DB 60 PUSH1 0xa0 19DD 1B SHL 19DE 03 SUB 19DF 90 SWAP1 19E0 81 DUP2 19E1 16 AND 19E2 61 PUSH2 0x0100 19E5 90 SWAP1 19E6 81 DUP2 19E7 02 MUL 19E8 60 PUSH1 0x01 19EA 60 PUSH1 0x01 19EC 60 PUSH1 0xa8 19EE 1B SHL 19EF 03 SUB 19F0 19 NOT 19F1 94 SWAP5 19F2 85 DUP6 19F3 16 AND 19F4 60 PUSH1 0xff 19F6 90 SWAP1 19F7 9A SWAP11 19F8 16 AND 19F9 99 SWAP10 19FA 90 SWAP1 19FB 99 SWAP10 19FC 17 OR 19FD 98 SWAP9 19FE 90 SWAP1 19FF 98 SWAP9 1A00 17 OR 1A01 90 SWAP1 1A02 93 SWAP4 1A03 55 SSTORE 1A04 60 PUSH1 0x40 1A06 80 DUP1 1A07 86 DUP7 1A08 01 ADD 1A09 51 MLOAD 1A0A 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7 1A2B 86 DUP7 1A2C 01 ADD 1A2D 80 DUP1 1A2E 54 SLOAD 1A2F 91 SWAP2 1A30 86 DUP7 1A31 16 AND 1A32 60 PUSH1 0x01 1A34 60 PUSH1 0x01 1A36 60 PUSH1 0xa0 1A38 1B SHL 1A39 03 SUB 1A3A 19 NOT 1A3B 92 SWAP3 1A3C 83 DUP4 1A3D 16 AND 1A3E 17 OR 1A3F 90 SWAP1 1A40 55 SSTORE 1A41 95 SWAP6 1A42 90 SWAP1 1A43 98 SWAP9 1A44 01 ADD 1A45 51 MLOAD 1A46 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8 1A67 85 DUP6 1A68 01 ADD 1A69 80 DUP1 1A6A 54 SLOAD 1A6B 91 SWAP2 1A6C 85 DUP6 1A6D 16 AND 1A6E 91 SWAP2 1A6F 87 DUP8 1A70 16 AND 1A71 91 SWAP2 1A72 90 SWAP1 1A73 91 SWAP2 1A74 17 OR 1A75 90 SWAP1 1A76 55 SSTORE 1A77 80 DUP1 1A78 8A DUP11 1A79 01 ADD 1A7A 51 MLOAD 1A7B 80 DUP1 1A7C 51 MLOAD 1A7D 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9 1A9E 86 DUP7 1A9F 01 ADD 1AA0 80 DUP1 1AA1 54 SLOAD 1AA2 92 SWAP3 1AA3 90 SWAP1 1AA4 93 SWAP4 1AA5 01 ADD 1AA6 51 MLOAD 1AA7 15 ISZERO 1AA8 15 ISZERO 1AA9 60 PUSH1 0x01 1AAB 60 PUSH1 0xa0 1AAD 1B SHL 1AAE 02 MUL 1AAF 91 SWAP2 1AB0 90 SWAP1 1AB1 93 SWAP4 1AB2 16 AND 1AB3 92 SWAP3 1AB4 84 DUP5 1AB5 16 AND 1AB6 92 SWAP3 1AB7 90 SWAP1 1AB8 92 SWAP3 1AB9 17 OR 1ABA 91 SWAP2 1ABB 90 SWAP1 1ABC 91 SWAP2 1ABD 17 OR 1ABE 90 SWAP1 1ABF 55 SSTORE 1AC0 94 SWAP5 1AC1 87 DUP8 1AC2 01 ADD 1AC3 51 MLOAD 1AC4 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa 1AE5 82 DUP3 1AE6 01 ADD 1AE7 80 DUP1 1AE8 54 SLOAD 1AE9 91 SWAP2 1AEA 87 DUP8 1AEB 16 AND 1AEC 91 SWAP2 1AED 84 DUP5 1AEE 16 AND 1AEF 91 SWAP2 1AF0 90 SWAP1 1AF1 91 SWAP2 1AF2 17 OR 1AF3 90 SWAP1 1AF4 55 SSTORE 1AF5 94 SWAP5 1AF6 51 MLOAD 1AF7 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfb 1B18 86 DUP7 1B19 01 ADD 1B1A 55 SSTORE 1B1B 90 SWAP1 1B1C 51 MLOAD 1B1D 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfc 1B3E 85 DUP6 1B3F 01 ADD 1B40 55 SSTORE 1B41 60 PUSH1 0xa0 1B43 85 DUP6 1B44 01 ADD 1B45 51 MLOAD 1B46 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfd 1B67 85 DUP6 1B68 01 ADD 1B69 80 DUP1 1B6A 54 SLOAD 1B6B 60 PUSH1 0xc0 1B6D 88 DUP9 1B6E 01 ADD 1B6F 51 MLOAD 1B70 62 PUSH3 0xffffff 1B74 90 SWAP1 1B75 81 DUP2 1B76 16 AND 1B77 63 PUSH4 0x01000000 1B7C 02 MUL 1B7D 65 PUSH6 0xffffffffffff 1B84 19 NOT 1B85 90 SWAP1 1B86 92 SWAP3 1B87 16 AND 1B88 93 SWAP4 1B89 16 AND 1B8A 92 SWAP3 1B8B 90 SWAP1 1B8C 92 SWAP3 1B8D 17 OR 1B8E 91 SWAP2 1B8F 90 SWAP1 1B90 91 SWAP2 1B91 17 OR 1B92 90 SWAP1 1B93 55 SSTORE 1B94 60 PUSH1 0xe0 1B96 85 DUP6 1B97 01 ADD 1B98 51 MLOAD 1B99 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfe 1BBA 85 DUP6 1BBB 01 ADD 1BBC 55 SSTORE 1BBD 90 SWAP1 1BBE 84 DUP5 1BBF 01 ADD 1BC0 51 MLOAD 1BC1 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cff 1BE2 84 DUP5 1BE3 01 ADD 1BE4 80 DUP1 1BE5 54 SLOAD 1BE6 91 SWAP2 1BE7 84 DUP5 1BE8 16 AND 1BE9 91 SWAP2 1BEA 83 DUP4 1BEB 16 AND 1BEC 91 SWAP2 1BED 90 SWAP1 1BEE 91 SWAP2 1BEF 17 OR 1BF0 90 SWAP1 1BF1 55 SSTORE 1BF2 61 PUSH2 0x0120 1BF5 90 SWAP1 1BF6 93 SWAP4 1BF7 01 ADD 1BF8 51 MLOAD 1BF9 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d00 1C1A 90 SWAP1 1C1B 92 SWAP3 1C1C 01 ADD 1C1D 80 DUP1 1C1E 54 SLOAD 1C1F 92 SWAP3 1C20 90 SWAP1 1C21 91 SWAP2 1C22 16 AND 1C23 91 SWAP2 1C24 90 SWAP1 1C25 92 SWAP3 1C26 16 AND 1C27 17 OR 1C28 90 SWAP1 1C29 55 SSTORE 1C2A 50 POP 1C2B 5B JUMPDEST 1C2C 50 POP 1C2D 80 DUP1 1C2E 61 PUSH2 0x1c36 1C31 81 DUP2 1C32 61 PUSH2 0x3d35 1C35 56 *JUMP 1C36 5B JUMPDEST 1C37 91 SWAP2 1C38 50 POP 1C39 50 POP 1C3A 61 PUSH2 0x17dd 1C3D 56 *JUMP label_1C3E: // Incoming jump from 0x17E7, if !(0x00 < storage[0x02]) 1C3E 5B JUMPDEST 1C3F 50 POP 1C40 61 PUSH2 0x2243 1C43 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to 0x2243 label_1C44: // Incoming jump from 0x17DB, if !memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // Inputs[1] { @1C49 storage[0x02] } 1C44 5B JUMPDEST 1C45 5F PUSH0 1C46 5B JUMPDEST 1C47 60 PUSH1 0x02 1C49 54 SLOAD 1C4A 81 DUP2 1C4B 10 LT 1C4C 15 ISZERO 1C4D 61 PUSH2 0x2241 1C50 57 *JUMPI // Stack delta = +1 // Outputs[1] { @1C45 stack[0] = 0x00 } // Block ends with conditional jump to 0x2241, if !(0x00 < storage[0x02]) label_1C51: // Incoming jump from 0x1C50, if not !(0x00 < storage[0x02]) // Inputs[4] // { // @1C51 stack[-3] // @1C52 memory[stack[-3]:stack[-3] + 0x20] // @1C5D stack[-2] // @1C6B stack[-8] // } 1C51 82 DUP3 1C52 51 MLOAD 1C53 5F PUSH0 1C54 90 SWAP1 1C55 60 PUSH1 0x01 1C57 60 PUSH1 0x01 1C59 60 PUSH1 0xa0 1C5B 1B SHL 1C5C 03 SUB 1C5D 84 DUP5 1C5E 16 AND 1C5F 90 SWAP1 1C60 63 PUSH4 0x1698ee82 1C65 90 SWAP1 1C66 61 PUSH2 0x1c72 1C69 60 PUSH1 0x20 1C6B 8D DUP14 1C6C 01 ADD 1C6D 8D DUP14 1C6E 61 PUSH2 0x35bf 1C71 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @1C54 stack[0] = 0x00 // @1C5F stack[1] = stack[-2] & (0x01 << 0xa0) - 0x01 // @1C65 stack[2] = 0x1698ee82 // @1C65 stack[3] = memory[stack[-3]:stack[-3] + 0x20] // @1C66 stack[4] = 0x1c72 // @1C6C stack[5] = stack[-8] + 0x20 // @1C6D stack[6] = stack[-8] // } // Block ends with unconditional jump to 0x35bf 1C72 5B JUMPDEST 1C73 60 PUSH1 0x02 1C75 86 DUP7 1C76 81 DUP2 1C77 54 SLOAD 1C78 81 DUP2 1C79 10 LT 1C7A 61 PUSH2 0x1c85 1C7D 57 *JUMPI 1C7E 61 PUSH2 0x1c85 1C81 61 PUSH2 0x36d0 1C84 56 *JUMP 1C85 5B JUMPDEST 1C86 90 SWAP1 1C87 5F PUSH0 1C88 52 MSTORE 1C89 60 PUSH1 0x20 1C8B 5F PUSH0 1C8C 20 SHA3 1C8D 90 SWAP1 1C8E 60 PUSH1 0x0a 1C90 91 SWAP2 1C91 82 DUP3 1C92 82 DUP3 1C93 04 DIV 1C94 01 ADD 1C95 91 SWAP2 1C96 90 SWAP1 1C97 06 MOD 1C98 60 PUSH1 0x03 1C9A 02 MUL 1C9B 90 SWAP1 1C9C 54 SLOAD 1C9D 90 SWAP1 1C9E 61 PUSH2 0x0100 1CA1 0A EXP 1CA2 90 SWAP1 1CA3 04 DIV 1CA4 62 PUSH3 0xffffff 1CA8 16 AND 1CA9 60 PUSH1 0x40 1CAB 51 MLOAD 1CAC 84 DUP5 1CAD 63 PUSH4 0xffffffff 1CB2 16 AND 1CB3 60 PUSH1 0xe0 1CB5 1B SHL 1CB6 81 DUP2 1CB7 52 MSTORE 1CB8 60 PUSH1 0x04 1CBA 01 ADD 1CBB 61 PUSH2 0x1cc6 1CBE 93 SWAP4 1CBF 92 SWAP3 1CC0 91 SWAP2 1CC1 90 SWAP1 1CC2 61 PUSH2 0x3d0d 1CC5 56 *JUMP 1CC6 5B JUMPDEST 1CC7 60 PUSH1 0x20 1CC9 60 PUSH1 0x40 1CCB 51 MLOAD 1CCC 80 DUP1 1CCD 83 DUP4 1CCE 03 SUB 1CCF 81 DUP2 1CD0 86 DUP7 1CD1 5A GAS 1CD2 FA STATICCALL 1CD3 15 ISZERO 1CD4 80 DUP1 1CD5 15 ISZERO 1CD6 61 PUSH2 0x1ce1 1CD9 57 *JUMPI 1CDA 3D RETURNDATASIZE 1CDB 5F PUSH0 1CDC 80 DUP1 1CDD 3E RETURNDATACOPY 1CDE 3D RETURNDATASIZE 1CDF 5F PUSH0 1CE0 FD *REVERT 1CE1 5B JUMPDEST 1CE2 50 POP 1CE3 50 POP 1CE4 50 POP 1CE5 50 POP 1CE6 60 PUSH1 0x40 1CE8 51 MLOAD 1CE9 3D RETURNDATASIZE 1CEA 60 PUSH1 0x1f 1CEC 19 NOT 1CED 60 PUSH1 0x1f 1CEF 82 DUP3 1CF0 01 ADD 1CF1 16 AND 1CF2 82 DUP3 1CF3 01 ADD 1CF4 80 DUP1 1CF5 60 PUSH1 0x40 1CF7 52 MSTORE 1CF8 50 POP 1CF9 81 DUP2 1CFA 01 ADD 1CFB 90 SWAP1 1CFC 61 PUSH2 0x1d05 1CFF 91 SWAP2 1D00 90 SWAP1 1D01 61 PUSH2 0x35da 1D04 56 *JUMP 1D05 5B JUMPDEST 1D06 90 SWAP1 1D07 50 POP 1D08 60 PUSH1 0x01 1D0A 60 PUSH1 0x01 1D0C 60 PUSH1 0xa0 1D0E 1B SHL 1D0F 03 SUB 1D10 81 DUP2 1D11 16 AND 1D12 15 ISZERO 1D13 61 PUSH2 0x222e 1D16 57 *JUMPI 1D17 5F PUSH0 1D18 5B JUMPDEST 1D19 60 PUSH1 0x02 1D1B 54 SLOAD 1D1C 81 DUP2 1D1D 10 LT 1D1E 15 ISZERO 1D1F 61 PUSH2 0x222c 1D22 57 *JUMPI 1D23 5F PUSH0 1D24 60 PUSH1 0x01 1D26 60 PUSH1 0x01 1D28 60 PUSH1 0xa0 1D2A 1B SHL 1D2B 03 SUB 1D2C 85 DUP6 1D2D 16 AND 1D2E 63 PUSH4 0x1698ee82 1D33 61 PUSH2 0x1d42 1D36 60 PUSH1 0x40 1D38 8E DUP15 1D39 01 ADD 1D3A 60 PUSH1 0x20 1D3C 8F DUP16 1D3D 01 ADD 1D3E 61 PUSH2 0x35bf 1D41 56 *JUMP 1D42 5B JUMPDEST 1D43 88 DUP9 1D44 51 MLOAD 1D45 60 PUSH1 0x02 1D47 80 DUP1 1D48 54 SLOAD 1D49 87 DUP8 1D4A 90 SWAP1 1D4B 81 DUP2 1D4C 10 LT 1D4D 61 PUSH2 0x1d58 1D50 57 *JUMPI 1D51 61 PUSH2 0x1d58 1D54 61 PUSH2 0x36d0 1D57 56 *JUMP 1D58 5B JUMPDEST 1D59 90 SWAP1 1D5A 5F PUSH0 1D5B 52 MSTORE 1D5C 60 PUSH1 0x20 1D5E 5F PUSH0 1D5F 20 SHA3 1D60 90 SWAP1 1D61 60 PUSH1 0x0a 1D63 91 SWAP2 1D64 82 DUP3 1D65 82 DUP3 1D66 04 DIV 1D67 01 ADD 1D68 91 SWAP2 1D69 90 SWAP1 1D6A 06 MOD 1D6B 60 PUSH1 0x03 1D6D 02 MUL 1D6E 90 SWAP1 1D6F 54 SLOAD 1D70 90 SWAP1 1D71 61 PUSH2 0x0100 1D74 0A EXP 1D75 90 SWAP1 1D76 04 DIV 1D77 62 PUSH3 0xffffff 1D7B 16 AND 1D7C 60 PUSH1 0x40 1D7E 51 MLOAD 1D7F 84 DUP5 1D80 63 PUSH4 0xffffffff 1D85 16 AND 1D86 60 PUSH1 0xe0 1D88 1B SHL 1D89 81 DUP2 1D8A 52 MSTORE 1D8B 60 PUSH1 0x04 1D8D 01 ADD 1D8E 61 PUSH2 0x1d99 1D91 93 SWAP4 1D92 92 SWAP3 1D93 91 SWAP2 1D94 90 SWAP1 1D95 61 PUSH2 0x3d0d 1D98 56 *JUMP 1D99 5B JUMPDEST 1D9A 60 PUSH1 0x20 1D9C 60 PUSH1 0x40 1D9E 51 MLOAD 1D9F 80 DUP1 1DA0 83 DUP4 1DA1 03 SUB 1DA2 81 DUP2 1DA3 86 DUP7 1DA4 5A GAS 1DA5 FA STATICCALL 1DA6 15 ISZERO 1DA7 80 DUP1 1DA8 15 ISZERO 1DA9 61 PUSH2 0x1db4 1DAC 57 *JUMPI 1DAD 3D RETURNDATASIZE 1DAE 5F PUSH0 1DAF 80 DUP1 1DB0 3E RETURNDATACOPY 1DB1 3D RETURNDATASIZE 1DB2 5F PUSH0 1DB3 FD *REVERT 1DB4 5B JUMPDEST 1DB5 50 POP 1DB6 50 POP 1DB7 50 POP 1DB8 50 POP 1DB9 60 PUSH1 0x40 1DBB 51 MLOAD 1DBC 3D RETURNDATASIZE 1DBD 60 PUSH1 0x1f 1DBF 19 NOT 1DC0 60 PUSH1 0x1f 1DC2 82 DUP3 1DC3 01 ADD 1DC4 16 AND 1DC5 82 DUP3 1DC6 01 ADD 1DC7 80 DUP1 1DC8 60 PUSH1 0x40 1DCA 52 MSTORE 1DCB 50 POP 1DCC 81 DUP2 1DCD 01 ADD 1DCE 90 SWAP1 1DCF 61 PUSH2 0x1dd8 1DD2 91 SWAP2 1DD3 90 SWAP1 1DD4 61 PUSH2 0x35da 1DD7 56 *JUMP 1DD8 5B JUMPDEST 1DD9 90 SWAP1 1DDA 50 POP 1DDB 60 PUSH1 0x01 1DDD 60 PUSH1 0x01 1DDF 60 PUSH1 0xa0 1DE1 1B SHL 1DE2 03 SUB 1DE3 81 DUP2 1DE4 16 AND 1DE5 15 ISZERO 1DE6 61 PUSH2 0x2219 1DE9 57 *JUMPI 1DEA 5F PUSH0 1DEB 61 PUSH2 0x1df7 1DEE 60 PUSH1 0x20 1DF0 8D DUP14 1DF1 01 ADD 1DF2 8D DUP14 1DF3 61 PUSH2 0x35bf 1DF6 56 *JUMP 1DF7 5B JUMPDEST 1DF8 90 SWAP1 1DF9 50 POP 1DFA 5F PUSH0 1DFB 61 PUSH2 0x1e0a 1DFE 60 PUSH1 0x40 1E00 8E DUP15 1E01 01 ADD 1E02 60 PUSH1 0x20 1E04 8F DUP16 1E05 01 ADD 1E06 61 PUSH2 0x35bf 1E09 56 *JUMP 1E0A 5B JUMPDEST 1E0B 90 SWAP1 1E0C 50 POP 1E0D 61 PUSH2 0x1e14 1E10 61 PUSH2 0x3123 1E13 56 *JUMP 1E14 5B JUMPDEST 1E15 89 DUP10 1E16 81 DUP2 1E17 52 MSTORE 1E18 60 PUSH1 0x20 1E1A 81 DUP2 1E1B 01 ADD 1E1C 89 DUP10 1E1D 90 SWAP1 1E1E 52 MSTORE 1E1F 60 PUSH1 0x02 1E21 80 DUP1 1E22 54 SLOAD 1E23 88 DUP9 1E24 90 SWAP1 1E25 81 DUP2 1E26 10 LT 1E27 61 PUSH2 0x1e32 1E2A 57 *JUMPI 1E2B 61 PUSH2 0x1e32 1E2E 61 PUSH2 0x36d0 1E31 56 *JUMP 1E32 5B JUMPDEST 1E33 5F PUSH0 1E34 91 SWAP2 1E35 82 DUP3 1E36 52 MSTORE 1E37 60 PUSH1 0x20 1E39 90 SWAP1 1E3A 91 SWAP2 1E3B 20 SHA3 1E3C 60 PUSH1 0x0a 1E3E 80 DUP1 1E3F 83 DUP4 1E40 04 DIV 1E41 90 SWAP1 1E42 91 SWAP2 1E43 01 ADD 1E44 54 SLOAD 1E45 91 SWAP2 1E46 06 MOD 1E47 60 PUSH1 0x03 1E49 02 MUL 1E4A 61 PUSH2 0x0100 1E4D 0A EXP 1E4E 90 SWAP1 1E4F 04 DIV 1E50 62 PUSH3 0xffffff 1E54 16 AND 1E55 60 PUSH1 0xa0 1E57 82 DUP3 1E58 01 ADD 1E59 52 MSTORE 1E5A 60 PUSH1 0x02 1E5C 80 DUP1 1E5D 54 SLOAD 1E5E 86 DUP7 1E5F 90 SWAP1 1E60 81 DUP2 1E61 10 LT 1E62 61 PUSH2 0x1e6d 1E65 57 *JUMPI 1E66 61 PUSH2 0x1e6d 1E69 61 PUSH2 0x36d0 1E6C 56 *JUMP 1E6D 5B JUMPDEST 1E6E 5F PUSH0 1E6F 91 SWAP2 1E70 82 DUP3 1E71 52 MSTORE 1E72 60 PUSH1 0x20 1E74 82 DUP3 1E75 20 SHA3 1E76 60 PUSH1 0x0a 1E78 80 DUP1 1E79 83 DUP4 1E7A 04 DIV 1E7B 90 SWAP1 1E7C 91 SWAP2 1E7D 01 ADD 1E7E 54 SLOAD 1E7F 91 SWAP2 1E80 06 MOD 1E81 60 PUSH1 0x03 1E83 02 MUL 1E84 61 PUSH2 0x0100 1E87 0A EXP 1E88 90 SWAP1 1E89 04 DIV 1E8A 62 PUSH3 0xffffff 1E8E 16 AND 1E8F 60 PUSH1 0xc0 1E91 83 DUP4 1E92 01 ADD 1E93 52 MSTORE 1E94 60 PUSH1 0xe0 1E96 82 DUP3 1E97 01 ADD 1E98 52 MSTORE 1E99 60 PUSH1 0x01 1E9B 60 PUSH1 0x01 1E9D 60 PUSH1 0xa0 1E9F 1B SHL 1EA0 03 SUB 1EA1 86 DUP7 1EA2 81 DUP2 1EA3 16 AND 1EA4 60 PUSH1 0x40 1EA6 80 DUP1 1EA7 84 DUP5 1EA8 01 ADD 1EA9 82 DUP3 1EAA 90 SWAP1 1EAB 52 MSTORE 1EAC 51 MLOAD 1EAD 63 PUSH4 0x70a08231 1EB2 60 PUSH1 0xe0 1EB4 1B SHL 1EB5 81 DUP2 1EB6 52 MSTORE 1EB7 60 PUSH1 0x04 1EB9 81 DUP2 1EBA 01 ADD 1EBB 91 SWAP2 1EBC 90 SWAP1 1EBD 91 SWAP2 1EBE 52 MSTORE 1EBF 90 SWAP1 1EC0 84 DUP5 1EC1 16 AND 1EC2 90 SWAP1 1EC3 63 PUSH4 0x70a08231 1EC8 90 SWAP1 1EC9 60 PUSH1 0x24 1ECB 01 ADD 1ECC 60 PUSH1 0x20 1ECE 60 PUSH1 0x40 1ED0 51 MLOAD 1ED1 80 DUP1 1ED2 83 DUP4 1ED3 03 SUB 1ED4 81 DUP2 1ED5 86 DUP7 1ED6 5A GAS 1ED7 FA STATICCALL 1ED8 15 ISZERO 1ED9 80 DUP1 1EDA 15 ISZERO 1EDB 61 PUSH2 0x1ee6 1EDE 57 *JUMPI 1EDF 3D RETURNDATASIZE 1EE0 5F PUSH0 1EE1 80 DUP1 1EE2 3E RETURNDATACOPY 1EE3 3D RETURNDATASIZE 1EE4 5F PUSH0 1EE5 FD *REVERT 1EE6 5B JUMPDEST 1EE7 50 POP 1EE8 50 POP 1EE9 50 POP 1EEA 50 POP 1EEB 60 PUSH1 0x40 1EED 51 MLOAD 1EEE 3D RETURNDATASIZE 1EEF 60 PUSH1 0x1f 1EF1 19 NOT 1EF2 60 PUSH1 0x1f 1EF4 82 DUP3 1EF5 01 ADD 1EF6 16 AND 1EF7 82 DUP3 1EF8 01 ADD 1EF9 80 DUP1 1EFA 60 PUSH1 0x40 1EFC 52 MSTORE 1EFD 50 POP 1EFE 81 DUP2 1EFF 01 ADD 1F00 90 SWAP1 1F01 61 PUSH2 0x1f0a 1F04 91 SWAP2 1F05 90 SWAP1 1F06 61 PUSH2 0x3718 1F09 56 *JUMP 1F0A 5B JUMPDEST 1F0B 60 PUSH1 0x60 1F0D 82 DUP3 1F0E 01 ADD 1F0F 52 MSTORE 1F10 60 PUSH1 0x40 1F12 51 MLOAD 1F13 63 PUSH4 0x70a08231 1F18 60 PUSH1 0xe0 1F1A 1B SHL 1F1B 81 DUP2 1F1C 52 MSTORE 1F1D 60 PUSH1 0x01 1F1F 60 PUSH1 0x01 1F21 60 PUSH1 0xa0 1F23 1B SHL 1F24 03 SUB 1F25 85 DUP6 1F26 81 DUP2 1F27 16 AND 1F28 60 PUSH1 0x04 1F2A 83 DUP4 1F2B 01 ADD 1F2C 52 MSTORE 1F2D 83 DUP4 1F2E 16 AND 1F2F 90 SWAP1 1F30 63 PUSH4 0x70a08231 1F35 90 SWAP1 1F36 60 PUSH1 0x24 1F38 01 ADD 1F39 60 PUSH1 0x20 1F3B 60 PUSH1 0x40 1F3D 51 MLOAD 1F3E 80 DUP1 1F3F 83 DUP4 1F40 03 SUB 1F41 81 DUP2 1F42 86 DUP7 1F43 5A GAS 1F44 FA STATICCALL 1F45 15 ISZERO 1F46 80 DUP1 1F47 15 ISZERO 1F48 61 PUSH2 0x1f53 1F4B 57 *JUMPI 1F4C 3D RETURNDATASIZE 1F4D 5F PUSH0 1F4E 80 DUP1 1F4F 3E RETURNDATACOPY 1F50 3D RETURNDATASIZE 1F51 5F PUSH0 1F52 FD *REVERT 1F53 5B JUMPDEST 1F54 50 POP 1F55 50 POP 1F56 50 POP 1F57 50 POP 1F58 60 PUSH1 0x40 1F5A 51 MLOAD 1F5B 3D RETURNDATASIZE 1F5C 60 PUSH1 0x1f 1F5E 19 NOT 1F5F 60 PUSH1 0x1f 1F61 82 DUP3 1F62 01 ADD 1F63 16 AND 1F64 82 DUP3 1F65 01 ADD 1F66 80 DUP1 1F67 60 PUSH1 0x40 1F69 52 MSTORE 1F6A 50 POP 1F6B 81 DUP2 1F6C 01 ADD 1F6D 90 SWAP1 1F6E 61 PUSH2 0x1f77 1F71 91 SWAP2 1F72 90 SWAP1 1F73 61 PUSH2 0x3718 1F76 56 *JUMP 1F77 5B JUMPDEST 1F78 60 PUSH1 0x80 1F7A 82 DUP3 1F7B 01 ADD 1F7C 90 SWAP1 1F7D 81 DUP2 1F7E 52 MSTORE 1F7F 60 PUSH1 0x01 1F81 80 DUP1 1F82 54 SLOAD 1F83 80 DUP1 1F84 82 DUP3 1F85 01 ADD 1F86 82 DUP3 1F87 55 SSTORE 1F88 5F PUSH0 1F89 91 SWAP2 1F8A 90 SWAP1 1F8B 91 SWAP2 1F8C 52 MSTORE 1F8D 82 DUP3 1F8E 51 MLOAD 1F8F 80 DUP1 1F90 51 MLOAD 1F91 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6 1FB2 60 PUSH1 0x0b 1FB4 90 SWAP1 1FB5 93 SWAP4 1FB6 02 MUL 1FB7 92 SWAP3 1FB8 83 DUP4 1FB9 01 ADD 1FBA 80 DUP1 1FBB 54 SLOAD 1FBC 60 PUSH1 0x20 1FBE 80 DUP1 1FBF 85 DUP6 1FC0 01 ADD 1FC1 51 MLOAD 1FC2 60 PUSH1 0xff 1FC4 90 SWAP1 1FC5 94 SWAP5 1FC6 16 AND 1FC7 60 PUSH1 0x01 1FC9 60 PUSH1 0x01 1FCB 60 PUSH1 0xa8 1FCD 1B SHL 1FCE 03 SUB 1FCF 19 NOT 1FD0 92 SWAP3 1FD1 83 DUP4 1FD2 16 AND 1FD3 17 OR 1FD4 61 PUSH2 0x0100 1FD7 60 PUSH1 0x01 1FD9 60 PUSH1 0x01 1FDB 60 PUSH1 0xa0 1FDD 1B SHL 1FDE 03 SUB 1FDF 95 SWAP6 1FE0 86 DUP7 1FE1 16 AND 1FE2 81 DUP2 1FE3 02 MUL 1FE4 91 SWAP2 1FE5 90 SWAP1 1FE6 91 SWAP2 1FE7 17 OR 1FE8 90 SWAP1 1FE9 93 SWAP4 1FEA 55 SSTORE 1FEB 60 PUSH1 0x40 1FED 80 DUP1 1FEE 86 DUP7 1FEF 01 ADD 1FF0 51 MLOAD 1FF1 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7 2012 88 DUP9 2013 01 ADD 2014 80 DUP1 2015 54 SLOAD 2016 60 PUSH1 0x01 2018 60 PUSH1 0x01 201A 60 PUSH1 0xa0 201C 1B SHL 201D 03 SUB 201E 19 NOT 201F 90 SWAP1 2020 81 DUP2 2021 16 AND 2022 92 SWAP3 2023 88 DUP9 2024 16 AND 2025 92 SWAP3 2026 90 SWAP1 2027 92 SWAP3 2028 17 OR 2029 90 SWAP1 202A 55 SSTORE 202B 60 PUSH1 0x60 202D 96 SWAP7 202E 87 DUP8 202F 01 ADD 2030 51 MLOAD 2031 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8 2052 89 DUP10 2053 01 ADD 2054 80 DUP1 2055 54 SLOAD 2056 83 DUP4 2057 16 AND 2058 91 SWAP2 2059 88 DUP9 205A 16 AND 205B 91 SWAP2 205C 90 SWAP1 205D 91 SWAP2 205E 17 OR 205F 90 SWAP1 2060 55 SSTORE 2061 82 DUP3 2062 8A DUP11 2063 01 ADD 2064 51 MLOAD 2065 80 DUP1 2066 51 MLOAD 2067 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf9 2088 8A DUP11 2089 01 ADD 208A 80 DUP1 208B 54 SLOAD 208C 92 SWAP3 208D 90 SWAP1 208E 95 SWAP6 208F 01 ADD 2090 51 MLOAD 2091 90 SWAP1 2092 88 DUP9 2093 16 AND 2094 91 SWAP2 2095 90 SWAP1 2096 95 SWAP6 2097 16 AND 2098 17 OR 2099 60 PUSH1 0x01 209B 60 PUSH1 0xa0 209D 1B SHL 209E 94 SWAP5 209F 15 ISZERO 20A0 15 ISZERO 20A1 94 SWAP5 20A2 90 SWAP1 20A3 94 SWAP5 20A4 02 MUL 20A5 93 SWAP4 20A6 90 SWAP1 20A7 93 SWAP4 20A8 17 OR 20A9 90 SWAP1 20AA 91 SWAP2 20AB 55 SSTORE 20AC 87 DUP8 20AD 01 ADD 20AE 51 MLOAD 20AF 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfa 20D0 86 DUP7 20D1 01 ADD 20D2 80 DUP1 20D3 54 SLOAD 20D4 83 DUP4 20D5 16 AND 20D6 91 SWAP2 20D7 85 DUP6 20D8 16 AND 20D9 91 SWAP2 20DA 90 SWAP1 20DB 91 SWAP2 20DC 17 OR 20DD 90 SWAP1 20DE 55 SSTORE 20DF 92 SWAP3 20E0 86 DUP7 20E1 01 ADD 20E2 51 MLOAD 20E3 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfb 2104 85 DUP6 2105 01 ADD 2106 55 SSTORE 2107 93 SWAP4 2108 51 MLOAD 2109 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfc 212A 84 DUP5 212B 01 ADD 212C 55 SSTORE 212D 60 PUSH1 0xa0 212F 85 DUP6 2130 01 ADD 2131 51 MLOAD 2132 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfd 2153 84 DUP5 2154 01 ADD 2155 80 DUP1 2156 54 SLOAD 2157 60 PUSH1 0xc0 2159 88 DUP9 215A 01 ADD 215B 51 MLOAD 215C 62 PUSH3 0xffffff 2160 93 SWAP4 2161 84 DUP5 2162 16 AND 2163 65 PUSH6 0xffffffffffff 216A 19 NOT 216B 90 SWAP1 216C 92 SWAP3 216D 16 AND 216E 91 SWAP2 216F 90 SWAP1 2170 91 SWAP2 2171 17 OR 2172 63 PUSH4 0x01000000 2177 93 SWAP4 2178 90 SWAP1 2179 91 SWAP2 217A 16 AND 217B 92 SWAP3 217C 90 SWAP1 217D 92 SWAP3 217E 02 MUL 217F 91 SWAP2 2180 90 SWAP1 2181 91 SWAP2 2182 17 OR 2183 90 SWAP1 2184 55 SSTORE 2185 60 PUSH1 0xe0 2187 85 DUP6 2188 01 ADD 2189 51 MLOAD 218A 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cfe 21AB 84 DUP5 21AC 01 ADD 21AD 55 SSTORE 21AE 92 SWAP3 21AF 84 DUP5 21B0 01 ADD 21B1 51 MLOAD 21B2 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cff 21D3 83 DUP4 21D4 01 ADD 21D5 80 DUP1 21D6 54 SLOAD 21D7 83 DUP4 21D8 16 AND 21D9 91 SWAP2 21DA 85 DUP6 21DB 16 AND 21DC 91 SWAP2 21DD 90 SWAP1 21DE 91 SWAP2 21DF 17 OR 21E0 90 SWAP1 21E1 55 SSTORE 21E2 61 PUSH2 0x0120 21E5 90 SWAP1 21E6 93 SWAP4 21E7 01 ADD 21E8 51 MLOAD 21E9 7F PUSH32 0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d00 220A 90 SWAP1 220B 91 SWAP2 220C 01 ADD 220D 80 DUP1 220E 54 SLOAD 220F 90 SWAP1 2210 93 SWAP4 2211 16 AND 2212 91 SWAP2 2213 16 AND 2214 17 OR 2215 90 SWAP1 2216 55 SSTORE 2217 50 POP 2218 50 POP 2219 5B JUMPDEST 221A 50 POP 221B 80 DUP1 221C 61 PUSH2 0x2224 221F 81 DUP2 2220 61 PUSH2 0x3d35 2223 56 *JUMP 2224 5B JUMPDEST 2225 91 SWAP2 2226 50 POP 2227 50 POP 2228 61 PUSH2 0x1d18 222B 56 *JUMP 222C 5B JUMPDEST 222D 50 POP 222E 5B JUMPDEST 222F 50 POP 2230 80 DUP1 2231 61 PUSH2 0x2239 2234 81 DUP2 2235 61 PUSH2 0x3d35 2238 56 *JUMP 2239 5B JUMPDEST 223A 91 SWAP2 223B 50 POP 223C 50 POP 223D 61 PUSH2 0x1c46 2240 56 *JUMP label_2241: // Incoming jump from 0x1C50, if !(0x00 < storage[0x02]) 2241 5B JUMPDEST 2242 50 POP 2243 5B JUMPDEST 2244 50 POP // Stack delta = -2 // Block continues label_2245: // Incoming jump from 0x17CC, if 0x03 - (0xff & memory[stack[-2]:stack[-2] + 0x20]) // Incoming jump from 0x2244 // Incoming jump from 0x2244 // Inputs[1] { @2248 stack[-3] } 2245 5B JUMPDEST 2246 50 POP 2247 50 POP 2248 80 DUP1 2249 80 DUP1 224A 61 PUSH2 0x2252 224D 90 SWAP1 224E 61 PUSH2 0x3d35 2251 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @2248 stack[-2] = stack[-3] // @224D stack[0] = stack[-3] // @224D stack[-1] = 0x2252 // } // Block ends with call to 0x3d35, returns to 0x2252 label_2252: // Incoming return from call to 0x3D35 at 0x2251 // Inputs[2] // { // @2253 stack[-1] // @2253 stack[-3] // } 2252 5B JUMPDEST 2253 91 SWAP2 2254 50 POP 2255 50 POP 2256 61 PUSH2 0x1339 2259 56 *JUMP // Stack delta = -2 // Outputs[1] { @2253 stack[-3] = stack[-1] } // Block ends with unconditional jump to 0x1339 label_225A: // Incoming jump from 0x134F, if !(stack[-3] < stack[-1]) // Inputs[1] { @225C stack[-2] } 225A 5B JUMPDEST 225B 50 POP 225C 80 DUP1 225D 61 PUSH2 0x2265 2260 81 DUP2 2261 61 PUSH2 0x3d35 2264 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @225C stack[-1] = stack[-2] // @225D stack[0] = 0x2265 // @2260 stack[1] = stack[-2] // } // Block ends with call to 0x3d35, returns to 0x2265 label_2265: // Incoming return from call to 0x3D35 at 0x2264 // Inputs[2] // { // @2266 stack[-3] // @2266 stack[-1] // } 2265 5B JUMPDEST 2266 91 SWAP2 2267 50 POP 2268 50 POP 2269 61 PUSH2 0x1321 226C 56 *JUMP // Stack delta = -2 // Outputs[1] { @2266 stack[-3] = stack[-1] } // Block ends with unconditional jump to 0x1321 label_226D: // Incoming jump from 0x1337, if !(stack[-3] < stack[-1]) // Inputs[2] // { // @2271 stack[-4] // @2272 stack[-3] // } 226D 5B JUMPDEST 226E 50 POP 226F 60 PUSH1 0x01 2271 92 SWAP3 2272 91 SWAP2 2273 50 POP 2274 50 POP 2275 56 *JUMP // Stack delta = -3 // Outputs[1] { @2271 stack[-4] = 0x01 } // Block ends with unconditional jump to stack[-4] label_2276: // Incoming jump from 0x04D9 2276 5B JUMPDEST 2277 61 PUSH2 0x227e 227A 61 PUSH2 0x3123 227D 56 *JUMP // Stack delta = +1 // Outputs[1] { @2277 stack[0] = 0x227e } // Block ends with call to 0x3123, returns to 0x227E label_227E: // Incoming return from call to 0x3123 at 0x227D // Inputs[2] // { // @2280 stack[-2] // @2283 memory[stack[-2]:stack[-2] + 0x20] // } 227E 5B JUMPDEST 227F 5F PUSH0 2280 82 DUP3 2281 5F PUSH0 2282 81 DUP2 2283 51 MLOAD 2284 81 DUP2 2285 10 LT 2286 61 PUSH2 0x2291 2289 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @227F stack[0] = 0x00 // @2280 stack[1] = stack[-2] // @2281 stack[2] = 0x00 // } // Block ends with conditional jump to 0x2291, if 0x00 < memory[stack[-2]:stack[-2] + 0x20] label_228A: // Incoming jump from 0x2289, if not 0x00 < memory[stack[-2]:stack[-2] + 0x20] 228A 61 PUSH2 0x2291 228D 61 PUSH2 0x36d0 2290 56 *JUMP // Stack delta = +1 // Outputs[1] { @228A stack[0] = 0x2291 } // Block ends with unconditional jump to 0x36d0 label_2291: // Incoming jump from 0x2289, if 0x00 < memory[stack[-2]:stack[-2] + 0x20] // Inputs[5] // { // @2294 stack[-1] // @2298 stack[-2] // @2299 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @229A stack[-3] // @229D stack[-6] // } 2291 5B JUMPDEST 2292 60 PUSH1 0x20 2294 02 MUL 2295 60 PUSH1 0x20 2297 01 ADD 2298 01 ADD 2299 51 MLOAD 229A 90 SWAP1 229B 50 POP 229C 5F PUSH0 229D 84 DUP5 229E 5F PUSH0 229F 01 ADD 22A0 60 PUSH1 0x20 22A2 81 DUP2 22A3 01 ADD 22A4 90 SWAP1 22A5 61 PUSH2 0x22ae 22A8 91 SWAP2 22A9 90 SWAP1 22AA 61 PUSH2 0x35bf 22AD 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @229A stack[-3] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @229C stack[-2] = 0x00 // @22A8 stack[-1] = 0x22ae // @22A9 stack[1] = 0x00 + stack[-6] // @22A9 stack[0] = 0x00 + stack[-6] + 0x20 // } // Block ends with unconditional jump to 0x35bf 22AE 5B JUMPDEST 22AF 90 SWAP1 22B0 50 POP 22B1 5F PUSH0 22B2 81 DUP2 22B3 60 PUSH1 0x01 22B5 60 PUSH1 0x01 22B7 60 PUSH1 0xa0 22B9 1B SHL 22BA 03 SUB 22BB 16 AND 22BC 63 PUSH4 0x18160ddd 22C1 60 PUSH1 0x40 22C3 51 MLOAD 22C4 81 DUP2 22C5 63 PUSH4 0xffffffff 22CA 16 AND 22CB 60 PUSH1 0xe0 22CD 1B SHL 22CE 81 DUP2 22CF 52 MSTORE 22D0 60 PUSH1 0x04 22D2 01 ADD 22D3 60 PUSH1 0x20 22D5 60 PUSH1 0x40 22D7 51 MLOAD 22D8 80 DUP1 22D9 83 DUP4 22DA 03 SUB 22DB 81 DUP2 22DC 86 DUP7 22DD 5A GAS 22DE FA STATICCALL 22DF 15 ISZERO 22E0 80 DUP1 22E1 15 ISZERO 22E2 61 PUSH2 0x22ed 22E5 57 *JUMPI 22E6 3D RETURNDATASIZE 22E7 5F PUSH0 22E8 80 DUP1 22E9 3E RETURNDATACOPY 22EA 3D RETURNDATASIZE 22EB 5F PUSH0 22EC FD *REVERT 22ED 5B JUMPDEST 22EE 50 POP 22EF 50 POP 22F0 50 POP 22F1 50 POP 22F2 60 PUSH1 0x40 22F4 51 MLOAD 22F5 3D RETURNDATASIZE 22F6 60 PUSH1 0x1f 22F8 19 NOT 22F9 60 PUSH1 0x1f 22FB 82 DUP3 22FC 01 ADD 22FD 16 AND 22FE 82 DUP3 22FF 01 ADD 2300 80 DUP1 2301 60 PUSH1 0x40 2303 52 MSTORE 2304 50 POP 2305 81 DUP2 2306 01 ADD 2307 90 SWAP1 2308 61 PUSH2 0x2311 230B 91 SWAP2 230C 90 SWAP1 230D 61 PUSH2 0x3718 2310 56 *JUMP 2311 5B JUMPDEST 2312 90 SWAP1 2313 50 POP 2314 5F PUSH0 2315 61 PUSH2 0x2330 2318 62 PUSH3 0x0186a0 231C 61 PUSH2 0x09c9 231F 60 PUSH1 0x03 2321 54 SLOAD 2322 85 DUP6 2323 61 PUSH2 0x2c86 2326 90 SWAP1 2327 91 SWAP2 2328 90 SWAP1 2329 63 PUSH4 0xffffffff 232E 16 AND 232F 56 *JUMP 2330 5B JUMPDEST 2331 90 SWAP1 2332 50 POP 2333 5F PUSH0 2334 5B JUMPDEST 2335 86 DUP7 2336 51 MLOAD 2337 81 DUP2 2338 10 LT 2339 15 ISZERO 233A 61 PUSH2 0x284e 233D 57 *JUMPI 233E 5F PUSH0 233F 87 DUP8 2340 82 DUP3 2341 81 DUP2 2342 51 MLOAD 2343 81 DUP2 2344 10 LT 2345 61 PUSH2 0x2350 2348 57 *JUMPI 2349 61 PUSH2 0x2350 234C 61 PUSH2 0x36d0 234F 56 *JUMP 2350 5B JUMPDEST 2351 60 PUSH1 0x20 2353 02 MUL 2354 60 PUSH1 0x20 2356 01 ADD 2357 01 ADD 2358 51 MLOAD 2359 90 SWAP1 235A 50 POP 235B 80 DUP1 235C 5F PUSH0 235D 01 ADD 235E 51 MLOAD 235F 5F PUSH0 2360 01 ADD 2361 51 MLOAD 2362 60 PUSH1 0xff 2364 16 AND 2365 60 PUSH1 0x02 2367 03 SUB 2368 61 PUSH2 0x2628 236B 57 *JUMPI 236C 80 DUP1 236D 51 MLOAD 236E 60 PUSH1 0x20 2370 01 ADD 2371 51 MLOAD 2372 81 DUP2 2373 60 PUSH1 0x20 2375 01 ADD 2376 51 MLOAD 2377 60 PUSH1 0x20 2379 01 ADD 237A 51 MLOAD 237B 15 ISZERO 237C 61 PUSH2 0x249e 237F 57 *JUMPI 2380 60 PUSH1 0x40 2382 80 DUP1 2383 51 MLOAD 2384 60 PUSH1 0x02 2386 80 DUP1 2387 82 DUP3 2388 52 MSTORE 2389 60 PUSH1 0x60 238B 82 DUP3 238C 01 ADD 238D 83 DUP4 238E 52 MSTORE 238F 5F PUSH0 2390 92 SWAP3 2391 60 PUSH1 0x20 2393 83 DUP4 2394 01 ADD 2395 90 SWAP1 2396 80 DUP1 2397 36 CALLDATASIZE 2398 83 DUP4 2399 37 CALLDATACOPY 239A 01 ADD 239B 90 SWAP1 239C 50 POP 239D 50 POP 239E 90 SWAP1 239F 50 POP 23A0 82 DUP3 23A1 60 PUSH1 0x20 23A3 01 ADD 23A4 51 MLOAD 23A5 5F PUSH0 23A6 01 ADD 23A7 51 MLOAD 23A8 81 DUP2 23A9 5F PUSH0 23AA 81 DUP2 23AB 51 MLOAD 23AC 81 DUP2 23AD 10 LT 23AE 61 PUSH2 0x23b9 23B1 57 *JUMPI 23B2 61 PUSH2 0x23b9 23B5 61 PUSH2 0x36d0 23B8 56 *JUMP 23B9 5B JUMPDEST 23BA 60 PUSH1 0x01 23BC 60 PUSH1 0x01 23BE 60 PUSH1 0xa0 23C0 1B SHL 23C1 03 SUB 23C2 90 SWAP1 23C3 92 SWAP3 23C4 16 AND 23C5 60 PUSH1 0x20 23C7 92 SWAP3 23C8 83 DUP4 23C9 02 MUL 23CA 91 SWAP2 23CB 90 SWAP1 23CC 91 SWAP2 23CD 01 ADD 23CE 82 DUP3 23CF 01 ADD 23D0 52 MSTORE 23D1 61 PUSH2 0x23dc 23D4 90 SWAP1 23D5 8C DUP13 23D6 01 ADD 23D7 8C DUP13 23D8 61 PUSH2 0x35bf 23DB 56 *JUMP 23DC 5B JUMPDEST 23DD 81 DUP2 23DE 60 PUSH1 0x01 23E0 81 DUP2 23E1 51 MLOAD 23E2 81 DUP2 23E3 10 LT 23E4 61 PUSH2 0x23ef 23E7 57 *JUMPI 23E8 61 PUSH2 0x23ef 23EB 61 PUSH2 0x36d0 23EE 56 *JUMP 23EF 5B JUMPDEST 23F0 60 PUSH1 0x01 23F2 60 PUSH1 0x01 23F4 60 PUSH1 0xa0 23F6 1B SHL 23F7 03 SUB 23F8 92 SWAP3 23F9 83 DUP4 23FA 16 AND 23FB 60 PUSH1 0x20 23FD 91 SWAP2 23FE 82 DUP3 23FF 02 MUL 2400 92 SWAP3 2401 90 SWAP1 2402 92 SWAP3 2403 01 ADD 2404 01 ADD 2405 52 MSTORE 2406 60 PUSH1 0x40 2408 51 MLOAD 2409 63 PUSH4 0x07c0329d 240E 60 PUSH1 0xe2 2410 1B SHL 2411 81 DUP2 2412 52 MSTORE 2413 90 SWAP1 2414 83 DUP4 2415 16 AND 2416 90 SWAP1 2417 63 PUSH4 0x1f00ca74 241C 90 SWAP1 241D 61 PUSH2 0x242c 2420 90 SWAP1 2421 88 DUP9 2422 90 SWAP1 2423 85 DUP6 2424 90 SWAP1 2425 60 PUSH1 0x04 2427 01 ADD 2428 61 PUSH2 0x3637 242B 56 *JUMP 242C 5B JUMPDEST 242D 5F PUSH0 242E 60 PUSH1 0x40 2430 51 MLOAD 2431 80 DUP1 2432 83 DUP4 2433 03 SUB 2434 81 DUP2 2435 86 DUP7 2436 5A GAS 2437 FA STATICCALL 2438 92 SWAP3 2439 50 POP 243A 50 POP 243B 50 POP 243C 80 DUP1 243D 15 ISZERO 243E 61 PUSH2 0x2468 2441 57 *JUMPI 2442 50 POP 2443 60 PUSH1 0x40 2445 51 MLOAD 2446 3D RETURNDATASIZE 2447 5F PUSH0 2448 82 DUP3 2449 3E RETURNDATACOPY 244A 60 PUSH1 0x1f 244C 3D RETURNDATASIZE 244D 90 SWAP1 244E 81 DUP2 244F 01 ADD 2450 60 PUSH1 0x1f 2452 19 NOT 2453 16 AND 2454 82 DUP3 2455 01 ADD 2456 60 PUSH1 0x40 2458 52 MSTORE 2459 61 PUSH2 0x2465 245C 91 SWAP2 245D 90 SWAP1 245E 81 DUP2 245F 01 ADD 2460 90 SWAP1 2461 61 PUSH2 0x364f 2464 56 *JUMP 2465 5B JUMPDEST 2466 60 PUSH1 0x01 2468 5B JUMPDEST 2469 61 PUSH2 0x2474 246C 57 *JUMPI 246D 50 POP 246E 50 POP 246F 50 POP 2470 61 PUSH2 0x283c 2473 56 *JUMP 2474 5B JUMPDEST 2475 80 DUP1 2476 5F PUSH0 2477 81 DUP2 2478 51 MLOAD 2479 81 DUP2 247A 10 LT 247B 61 PUSH2 0x2486 247E 57 *JUMPI 247F 61 PUSH2 0x2486 2482 61 PUSH2 0x36d0 2485 56 *JUMP 2486 5B JUMPDEST 2487 60 PUSH1 0x20 2489 02 MUL 248A 60 PUSH1 0x20 248C 01 ADD 248D 01 ADD 248E 51 MLOAD 248F 84 DUP5 2490 60 PUSH1 0xe0 2492 01 ADD 2493 81 DUP2 2494 81 DUP2 2495 52 MSTORE 2496 50 POP 2497 50 POP 2498 50 POP 2499 50 POP 249A 61 PUSH2 0x25f3 249D 56 *JUMP 249E 5B JUMPDEST 249F 60 PUSH1 0x40 24A1 80 DUP1 24A2 51 MLOAD 24A3 60 PUSH1 0x03 24A5 80 DUP1 24A6 82 DUP3 24A7 52 MSTORE 24A8 60 PUSH1 0x80 24AA 82 DUP3 24AB 01 ADD 24AC 90 SWAP1 24AD 92 SWAP3 24AE 52 MSTORE 24AF 5F PUSH0 24B0 91 SWAP2 24B1 60 PUSH1 0x20 24B3 82 DUP3 24B4 01 ADD 24B5 60 PUSH1 0x60 24B7 80 DUP1 24B8 36 CALLDATASIZE 24B9 83 DUP4 24BA 37 CALLDATACOPY 24BB 01 ADD 24BC 90 SWAP1 24BD 50 POP 24BE 50 POP 24BF 90 SWAP1 24C0 50 POP 24C1 61 PUSH2 0x24d0 24C4 60 PUSH1 0x40 24C6 8C DUP13 24C7 01 ADD 24C8 60 PUSH1 0x20 24CA 8D DUP14 24CB 01 ADD 24CC 61 PUSH2 0x35bf 24CF 56 *JUMP 24D0 5B JUMPDEST 24D1 81 DUP2 24D2 5F PUSH0 24D3 81 DUP2 24D4 51 MLOAD 24D5 81 DUP2 24D6 10 LT 24D7 61 PUSH2 0x24e2 24DA 57 *JUMPI 24DB 61 PUSH2 0x24e2 24DE 61 PUSH2 0x36d0 24E1 56 *JUMP 24E2 5B JUMPDEST 24E3 60 PUSH1 0x01 24E5 60 PUSH1 0x01 24E7 60 PUSH1 0xa0 24E9 1B SHL 24EA 03 SUB 24EB 90 SWAP1 24EC 92 SWAP3 24ED 16 AND 24EE 60 PUSH1 0x20 24F0 92 SWAP3 24F1 83 DUP4 24F2 02 MUL 24F3 91 SWAP2 24F4 90 SWAP1 24F5 91 SWAP2 24F6 01 ADD 24F7 82 DUP3 24F8 01 ADD 24F9 52 MSTORE 24FA 83 DUP4 24FB 01 ADD 24FC 51 MLOAD 24FD 51 MLOAD 24FE 81 DUP2 24FF 51 MLOAD 2500 82 DUP3 2501 90 SWAP1 2502 60 PUSH1 0x01 2504 90 SWAP1 2505 81 DUP2 2506 10 LT 2507 61 PUSH2 0x2512 250A 57 *JUMPI 250B 61 PUSH2 0x2512 250E 61 PUSH2 0x36d0 2511 56 *JUMP 2512 5B JUMPDEST 2513 60 PUSH1 0x01 2515 60 PUSH1 0x01 2517 60 PUSH1 0xa0 2519 1B SHL 251A 03 SUB 251B 90 SWAP1 251C 92 SWAP3 251D 16 AND 251E 60 PUSH1 0x20 2520 92 SWAP3 2521 83 DUP4 2522 02 MUL 2523 91 SWAP2 2524 90 SWAP1 2525 91 SWAP2 2526 01 ADD 2527 82 DUP3 2528 01 ADD 2529 52 MSTORE 252A 61 PUSH2 0x2535 252D 90 SWAP1 252E 8C DUP13 252F 01 ADD 2530 8C DUP13 2531 61 PUSH2 0x35bf 2534 56 *JUMP 2535 5B JUMPDEST 2536 81 DUP2 2537 60 PUSH1 0x02 2539 81 DUP2 253A 51 MLOAD 253B 81 DUP2 253C 10 LT 253D 61 PUSH2 0x2548 2540 57 *JUMPI 2541 61 PUSH2 0x2548 2544 61 PUSH2 0x36d0 2547 56 *JUMP 2548 5B JUMPDEST 2549 60 PUSH1 0x01 254B 60 PUSH1 0x01 254D 60 PUSH1 0xa0 254F 1B SHL 2550 03 SUB 2551 92 SWAP3 2552 83 DUP4 2553 16 AND 2554 60 PUSH1 0x20 2556 91 SWAP2 2557 82 DUP3 2558 02 MUL 2559 92 SWAP3 255A 90 SWAP1 255B 92 SWAP3 255C 01 ADD 255D 01 ADD 255E 52 MSTORE 255F 60 PUSH1 0x40 2561 51 MLOAD 2562 63 PUSH4 0x07c0329d 2567 60 PUSH1 0xe2 2569 1B SHL 256A 81 DUP2 256B 52 MSTORE 256C 90 SWAP1 256D 83 DUP4 256E 16 AND 256F 90 SWAP1 2570 63 PUSH4 0x1f00ca74 2575 90 SWAP1 2576 61 PUSH2 0x2585 2579 90 SWAP1 257A 88 DUP9 257B 90 SWAP1 257C 85 DUP6 257D 90 SWAP1 257E 60 PUSH1 0x04 2580 01 ADD 2581 61 PUSH2 0x3637 2584 56 *JUMP 2585 5B JUMPDEST 2586 5F PUSH0 2587 60 PUSH1 0x40 2589 51 MLOAD 258A 80 DUP1 258B 83 DUP4 258C 03 SUB 258D 81 DUP2 258E 86 DUP7 258F 5A GAS 2590 FA STATICCALL 2591 92 SWAP3 2592 50 POP 2593 50 POP 2594 50 POP 2595 80 DUP1 2596 15 ISZERO 2597 61 PUSH2 0x25c1 259A 57 *JUMPI 259B 50 POP 259C 60 PUSH1 0x40 259E 51 MLOAD 259F 3D RETURNDATASIZE 25A0 5F PUSH0 25A1 82 DUP3 25A2 3E RETURNDATACOPY 25A3 60 PUSH1 0x1f 25A5 3D RETURNDATASIZE 25A6 90 SWAP1 25A7 81 DUP2 25A8 01 ADD 25A9 60 PUSH1 0x1f 25AB 19 NOT 25AC 16 AND 25AD 82 DUP3 25AE 01 ADD 25AF 60 PUSH1 0x40 25B1 52 MSTORE 25B2 61 PUSH2 0x25be 25B5 91 SWAP2 25B6 90 SWAP1 25B7 81 DUP2 25B8 01 ADD 25B9 90 SWAP1 25BA 61 PUSH2 0x364f 25BD 56 *JUMP 25BE 5B JUMPDEST 25BF 60 PUSH1 0x01 25C1 5B JUMPDEST 25C2 61 PUSH2 0x25cd 25C5 57 *JUMPI 25C6 50 POP 25C7 50 POP 25C8 50 POP 25C9 61 PUSH2 0x283c 25CC 56 *JUMP 25CD 5B JUMPDEST 25CE 80 DUP1 25CF 5F PUSH0 25D0 81 DUP2 25D1 51 MLOAD 25D2 81 DUP2 25D3 10 LT 25D4 61 PUSH2 0x25df 25D7 57 *JUMPI 25D8 61 PUSH2 0x25df 25DB 61 PUSH2 0x36d0 25DE 56 *JUMP 25DF 5B JUMPDEST 25E0 60 PUSH1 0x20 25E2 02 MUL 25E3 60 PUSH1 0x20 25E5 01 ADD 25E6 01 ADD 25E7 51 MLOAD 25E8 84 DUP5 25E9 60 PUSH1 0xe0 25EB 01 ADD 25EC 81 DUP2 25ED 81 DUP2 25EE 52 MSTORE 25EF 50 POP 25F0 50 POP 25F1 50 POP 25F2 50 POP 25F3 5B JUMPDEST 25F4 86 DUP7 25F5 60 PUSH1 0xe0 25F7 01 ADD 25F8 51 MLOAD 25F9 82 DUP3 25FA 60 PUSH1 0xe0 25FC 01 ADD 25FD 51 MLOAD 25FE 10 LT 25FF 80 DUP1 2600 61 PUSH2 0x2619 2603 57 *JUMPI 2604 50 POP 2605 60 PUSH1 0xe0 2607 87 DUP8 2608 01 ADD 2609 51 MLOAD 260A 15 ISZERO 260B 80 DUP1 260C 15 ISZERO 260D 61 PUSH2 0x2619 2610 57 *JUMPI 2611 50 POP 2612 5F PUSH0 2613 82 DUP3 2614 60 PUSH1 0xe0 2616 01 ADD 2617 51 MLOAD 2618 11 GT 2619 5B JUMPDEST 261A 15 ISZERO 261B 61 PUSH2 0x2622 261E 57 *JUMPI 261F 81 DUP2 2620 96 SWAP7 2621 50 POP 2622 5B JUMPDEST 2623 50 POP 2624 61 PUSH2 0x283a 2627 56 *JUMP 2628 5B JUMPDEST 2629 80 DUP1 262A 51 MLOAD 262B 51 MLOAD 262C 60 PUSH1 0xff 262E 16 AND 262F 60 PUSH1 0x03 2631 03 SUB 2632 61 PUSH2 0x283a 2635 57 *JUMPI 2636 80 DUP1 2637 51 MLOAD 2638 60 PUSH1 0x60 263A 01 ADD 263B 51 MLOAD 263C 60 PUSH1 0x20 263E 80 DUP1 263F 83 DUP4 2640 01 ADD 2641 51 MLOAD 2642 01 ADD 2643 51 MLOAD 2644 15 ISZERO 2645 61 PUSH2 0x2731 2648 57 *JUMPI 2649 60 PUSH1 0x40 264B 80 DUP1 264C 51 MLOAD 264D 60 PUSH1 0xa0 264F 81 DUP2 2650 01 ADD 2651 82 DUP3 2652 52 MSTORE 2653 5F PUSH0 2654 80 DUP1 2655 82 DUP3 2656 52 MSTORE 2657 60 PUSH1 0x20 2659 80 DUP1 265A 83 DUP4 265B 01 ADD 265C 82 DUP3 265D 90 SWAP1 265E 52 MSTORE 265F 92 SWAP3 2660 82 DUP3 2661 01 ADD 2662 81 DUP2 2663 90 SWAP1 2664 52 MSTORE 2665 60 PUSH1 0x60 2667 82 DUP3 2668 01 ADD 2669 81 DUP2 266A 90 SWAP1 266B 52 MSTORE 266C 60 PUSH1 0x80 266E 82 DUP3 266F 01 ADD 2670 52 MSTORE 2671 83 DUP4 2672 82 DUP3 2673 01 ADD 2674 51 MLOAD 2675 51 MLOAD 2676 60 PUSH1 0x01 2678 60 PUSH1 0x01 267A 60 PUSH1 0xa0 267C 1B SHL 267D 03 SUB 267E 16 AND 267F 81 DUP2 2680 52 MSTORE 2681 90 SWAP1 2682 61 PUSH2 0x268d 2685 90 SWAP1 2686 8C DUP13 2687 01 ADD 2688 8C DUP13 2689 61 PUSH2 0x35bf 268C 56 *JUMP 268D 5B JUMPDEST 268E 60 PUSH1 0x01 2690 60 PUSH1 0x01 2692 60 PUSH1 0xa0 2694 1B SHL 2695 03 SUB 2696 90 SWAP1 2697 81 DUP2 2698 16 AND 2699 60 PUSH1 0x20 269B 83 DUP4 269C 01 ADD 269D 52 MSTORE 269E 60 PUSH1 0x40 26A0 80 DUP1 26A1 83 DUP4 26A2 01 ADD 26A3 87 DUP8 26A4 90 SWAP1 26A5 52 MSTORE 26A6 60 PUSH1 0xa0 26A8 85 DUP6 26A9 01 ADD 26AA 51 MLOAD 26AB 62 PUSH3 0xffffff 26AF 16 AND 26B0 60 PUSH1 0x60 26B2 84 DUP5 26B3 01 ADD 26B4 52 MSTORE 26B5 5F PUSH0 26B6 60 PUSH1 0x80 26B8 84 DUP5 26B9 01 ADD 26BA 52 MSTORE 26BB 51 MLOAD 26BC 63 PUSH4 0x5e90b825 26C1 60 PUSH1 0xe1 26C3 1B SHL 26C4 81 DUP2 26C5 52 MSTORE 26C6 90 SWAP1 26C7 83 DUP4 26C8 16 AND 26C9 90 SWAP1 26CA 63 PUSH4 0xbd21704a 26CF 90 SWAP1 26D0 61 PUSH2 0x26dd 26D3 90 SWAP1 26D4 84 DUP5 26D5 90 SWAP1 26D6 60 PUSH1 0x04 26D8 01 ADD 26D9 61 PUSH2 0x3756 26DC 56 *JUMP 26DD 5B JUMPDEST 26DE 60 PUSH1 0x80 26E0 60 PUSH1 0x40 26E2 51 MLOAD 26E3 80 DUP1 26E4 83 DUP4 26E5 03 SUB 26E6 81 DUP2 26E7 5F PUSH0 26E8 87 DUP8 26E9 5A GAS 26EA F1 CALL 26EB 92 SWAP3 26EC 50 POP 26ED 50 POP 26EE 50 POP 26EF 80 DUP1 26F0 15 ISZERO 26F1 61 PUSH2 0x2717 26F4 57 *JUMPI 26F5 50 POP 26F6 60 PUSH1 0x40 26F8 80 DUP1 26F9 51 MLOAD 26FA 60 PUSH1 0x1f 26FC 3D RETURNDATASIZE 26FD 90 SWAP1 26FE 81 DUP2 26FF 01 ADD 2700 60 PUSH1 0x1f 2702 19 NOT 2703 16 AND 2704 82 DUP3 2705 01 ADD 2706 90 SWAP1 2707 92 SWAP3 2708 52 MSTORE 2709 61 PUSH2 0x2714 270C 91 SWAP2 270D 81 DUP2 270E 01 ADD 270F 90 SWAP1 2710 61 PUSH2 0x37b2 2713 56 *JUMP 2714 5B JUMPDEST 2715 60 PUSH1 0x01 2717 5B JUMPDEST 2718 61 PUSH2 0x2723 271B 57 *JUMPI 271C 50 POP 271D 50 POP 271E 50 POP 271F 61 PUSH2 0x283c 2722 56 *JUMP 2723 5B JUMPDEST 2724 50 POP 2725 50 POP 2726 50 POP 2727 60 PUSH1 0xe0 2729 84 DUP5 272A 01 ADD 272B 52 MSTORE 272C 50 POP 272D 61 PUSH2 0x2809 2730 56 *JUMP 2731 5B JUMPDEST 2732 5F PUSH0 2733 61 PUSH2 0x273f 2736 60 PUSH1 0x20 2738 8C DUP13 2739 01 ADD 273A 8C DUP13 273B 61 PUSH2 0x35bf 273E 56 *JUMP 273F 5B JUMPDEST 2740 83 DUP4 2741 60 PUSH1 0xa0 2743 01 ADD 2744 51 MLOAD 2745 84 DUP5 2746 60 PUSH1 0x20 2748 01 ADD 2749 51 MLOAD 274A 5F PUSH0 274B 01 ADD 274C 51 MLOAD 274D 85 DUP6 274E 60 PUSH1 0xc0 2750 01 ADD 2751 51 MLOAD 2752 8E DUP15 2753 60 PUSH1 0x20 2755 01 ADD 2756 60 PUSH1 0x20 2758 81 DUP2 2759 01 ADD 275A 90 SWAP1 275B 61 PUSH2 0x2764 275E 91 SWAP2 275F 90 SWAP1 2760 61 PUSH2 0x35bf 2763 56 *JUMP 2764 5B JUMPDEST 2765 60 PUSH1 0x40 2767 51 MLOAD 2768 60 PUSH1 0x20 276A 01 ADD 276B 61 PUSH2 0x2778 276E 95 SWAP6 276F 94 SWAP5 2770 93 SWAP4 2771 92 SWAP3 2772 91 SWAP2 2773 90 SWAP1 2774 61 PUSH2 0x37f5 2777 56 *JUMP 2778 5B JUMPDEST 2779 60 PUSH1 0x40 277B 80 DUP1 277C 51 MLOAD 277D 60 PUSH1 0x1f 277F 19 NOT 2780 81 DUP2 2781 84 DUP5 2782 03 SUB 2783 01 ADD 2784 81 DUP2 2785 52 MSTORE 2786 90 SWAP1 2787 82 DUP3 2788 90 SWAP1 2789 52 MSTORE 278A 63 PUSH4 0x2f80bb1d 278F 60 PUSH1 0xe0 2791 1B SHL 2792 82 DUP3 2793 52 MSTORE 2794 91 SWAP2 2795 50 POP 2796 60 PUSH1 0x01 2798 60 PUSH1 0x01 279A 60 PUSH1 0xa0 279C 1B SHL 279D 03 SUB 279E 83 DUP4 279F 16 AND 27A0 90 SWAP1 27A1 63 PUSH4 0x2f80bb1d 27A6 90 SWAP1 27A7 61 PUSH2 0x27b6 27AA 90 SWAP1 27AB 84 DUP5 27AC 90 SWAP1 27AD 89 DUP10 27AE 90 SWAP1 27AF 60 PUSH1 0x04 27B1 01 ADD 27B2 61 PUSH2 0x388a 27B5 56 *JUMP 27B6 5B JUMPDEST 27B7 5F PUSH0 27B8 60 PUSH1 0x40 27BA 51 MLOAD 27BB 80 DUP1 27BC 83 DUP4 27BD 03 SUB 27BE 81 DUP2 27BF 5F PUSH0 27C0 87 DUP8 27C1 5A GAS 27C2 F1 CALL 27C3 92 SWAP3 27C4 50 POP 27C5 50 POP 27C6 50 POP 27C7 80 DUP1 27C8 15 ISZERO 27C9 61 PUSH2 0x27f3 27CC 57 *JUMPI 27CD 50 POP 27CE 60 PUSH1 0x40 27D0 51 MLOAD 27D1 3D RETURNDATASIZE 27D2 5F PUSH0 27D3 82 DUP3 27D4 3E RETURNDATACOPY 27D5 60 PUSH1 0x1f 27D7 3D RETURNDATASIZE 27D8 90 SWAP1 27D9 81 DUP2 27DA 01 ADD 27DB 60 PUSH1 0x1f 27DD 19 NOT 27DE 16 AND 27DF 82 DUP3 27E0 01 ADD 27E1 60 PUSH1 0x40 27E3 52 MSTORE 27E4 61 PUSH2 0x27f0 27E7 91 SWAP2 27E8 90 SWAP1 27E9 81 DUP2 27EA 01 ADD 27EB 90 SWAP1 27EC 61 PUSH2 0x390a 27EF 56 *JUMP 27F0 5B JUMPDEST 27F1 60 PUSH1 0x01 27F3 5B JUMPDEST 27F4 61 PUSH2 0x27ff 27F7 57 *JUMPI 27F8 50 POP 27F9 50 POP 27FA 50 POP 27FB 61 PUSH2 0x283c 27FE 56 *JUMP 27FF 5B JUMPDEST 2800 50 POP 2801 50 POP 2802 50 POP 2803 60 PUSH1 0xe0 2805 84 DUP5 2806 01 ADD 2807 52 MSTORE 2808 50 POP 2809 5B JUMPDEST 280A 86 DUP7 280B 60 PUSH1 0xe0 280D 01 ADD 280E 51 MLOAD 280F 82 DUP3 2810 60 PUSH1 0xe0 2812 01 ADD 2813 51 MLOAD 2814 10 LT 2815 80 DUP1 2816 61 PUSH2 0x282f 2819 57 *JUMPI 281A 50 POP 281B 60 PUSH1 0xe0 281D 87 DUP8 281E 01 ADD 281F 51 MLOAD 2820 15 ISZERO 2821 80 DUP1 2822 15 ISZERO 2823 61 PUSH2 0x282f 2826 57 *JUMPI 2827 50 POP 2828 5F PUSH0 2829 82 DUP3 282A 60 PUSH1 0xe0 282C 01 ADD 282D 51 MLOAD 282E 11 GT 282F 5B JUMPDEST 2830 15 ISZERO 2831 61 PUSH2 0x2838 2834 57 *JUMPI 2835 81 DUP2 2836 96 SWAP7 2837 50 POP 2838 5B JUMPDEST 2839 50 POP 283A 5B JUMPDEST 283B 50 POP 283C 5B JUMPDEST 283D 80 DUP1 283E 61 PUSH2 0x2846 2841 81 DUP2 2842 61 PUSH2 0x3d35 2845 56 *JUMP 2846 5B JUMPDEST 2847 91 SWAP2 2848 50 POP 2849 50 POP 284A 61 PUSH2 0x2334 284D 56 *JUMP 284E 5B JUMPDEST 284F 50 POP 2850 92 SWAP3 2851 93 SWAP4 2852 50 POP 2853 50 POP 2854 50 POP 2855 50 POP label_2856: // Incoming jump from 0x3A42 // Incoming jump from 0x379E // Incoming jump from 0x374E, if !(stack[-1] - stack[-2] > stack[-1]) // Incoming jump from 0x3D97, if (stack[-2] == (stack[-2] * stack[-1]) / stack[-1]) | !stack[-1] // Inputs[3] // { // @2857 stack[-1] // @2857 stack[-4] // @2858 stack[-3] // } 2856 5B JUMPDEST 2857 92 SWAP3 2858 91 SWAP2 2859 50 POP 285A 50 POP 285B 56 *JUMP // Stack delta = -3 // Outputs[1] { @2857 stack[-4] = stack[-1] } // Block ends with unconditional jump to stack[-4] 285C 5B JUMPDEST 285D 5F PUSH0 285E 80 DUP1 285F 61 PUSH2 0x2869 2862 83 DUP4 2863 60 PUSH1 0x80 2865 01 ADD 2866 51 MLOAD 2867 90 SWAP1 2868 56 *JUMP 2869 5B JUMPDEST 286A 90 SWAP1 286B 50 POP 286C 61 PUSH2 0x2896 286F 83 DUP4 2870 60 PUSH1 0x40 2872 01 ADD 2873 51 MLOAD 2874 5F PUSH0 2875 81 DUP2 2876 51 MLOAD 2877 81 DUP2 2878 10 LT 2879 61 PUSH2 0x2884 287C 57 *JUMPI 287D 61 PUSH2 0x2884 2880 61 PUSH2 0x36d0 2883 56 *JUMP label_2884: // Incoming call from 0x29BD, returns to 0x29C5, if 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] // Inputs[5] // { // @2887 stack[-1] // @288B stack[-2] // @288C memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @288D stack[-6] // @2891 memory[0x80 + stack[-6]:0x80 + stack[-6] + 0x20] // } 2884 5B JUMPDEST 2885 60 PUSH1 0x20 2887 02 MUL 2888 60 PUSH1 0x20 288A 01 ADD 288B 01 ADD 288C 51 MLOAD 288D 84 DUP5 288E 60 PUSH1 0x80 2890 01 ADD 2891 51 MLOAD 2892 61 PUSH2 0x3071 2895 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @288C stack[-2] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2891 stack[-1] = memory[0x80 + stack[-6]:0x80 + stack[-6] + 0x20] // } // Block ends with unconditional jump to 0x3071 2896 5B JUMPDEST 2897 82 DUP3 2898 51 MLOAD 2899 60 PUSH1 0x40 289B 80 DUP1 289C 85 DUP6 289D 01 ADD 289E 51 MLOAD 289F 90 SWAP1 28A0 51 MLOAD 28A1 63 PUSH4 0xd06ca61f 28A6 60 PUSH1 0xe0 28A8 1B SHL 28A9 81 DUP2 28AA 52 MSTORE 28AB 5F PUSH0 28AC 92 SWAP3 28AD 60 PUSH1 0x01 28AF 60 PUSH1 0x01 28B1 60 PUSH1 0xa0 28B3 1B SHL 28B4 03 SUB 28B5 85 DUP6 28B6 16 AND 28B7 92 SWAP3 28B8 63 PUSH4 0xd06ca61f 28BD 92 SWAP3 28BE 61 PUSH2 0x28cb 28C1 92 SWAP3 28C2 91 SWAP2 28C3 90 SWAP1 28C4 60 PUSH1 0x04 28C6 01 ADD 28C7 61 PUSH2 0x3637 28CA 56 *JUMP 28CB 5B JUMPDEST 28CC 5F PUSH0 28CD 60 PUSH1 0x40 28CF 51 MLOAD 28D0 80 DUP1 28D1 83 DUP4 28D2 03 SUB 28D3 81 DUP2 28D4 86 DUP7 28D5 5A GAS 28D6 FA STATICCALL 28D7 15 ISZERO 28D8 80 DUP1 28D9 15 ISZERO 28DA 61 PUSH2 0x28e5 28DD 57 *JUMPI 28DE 3D RETURNDATASIZE 28DF 5F PUSH0 28E0 80 DUP1 28E1 3E RETURNDATACOPY 28E2 3D RETURNDATASIZE 28E3 5F PUSH0 28E4 FD *REVERT 28E5 5B JUMPDEST 28E6 50 POP 28E7 50 POP 28E8 50 POP 28E9 50 POP 28EA 60 PUSH1 0x40 28EC 51 MLOAD 28ED 3D RETURNDATASIZE 28EE 5F PUSH0 28EF 82 DUP3 28F0 3E RETURNDATACOPY 28F1 60 PUSH1 0x1f 28F3 3D RETURNDATASIZE 28F4 90 SWAP1 28F5 81 DUP2 28F6 01 ADD 28F7 60 PUSH1 0x1f 28F9 19 NOT 28FA 16 AND 28FB 82 DUP3 28FC 01 ADD 28FD 60 PUSH1 0x40 28FF 52 MSTORE 2900 61 PUSH2 0x290c 2903 91 SWAP2 2904 90 SWAP1 2905 81 DUP2 2906 01 ADD 2907 90 SWAP1 2908 61 PUSH2 0x364f 290B 56 *JUMP 290C 5B JUMPDEST 290D 90 SWAP1 290E 50 POP 290F 81 DUP2 2910 60 PUSH1 0x01 2912 60 PUSH1 0x01 2914 60 PUSH1 0xa0 2916 1B SHL 2917 03 SUB 2918 16 AND 2919 63 PUSH4 0x5c11d795 291E 85 DUP6 291F 5F PUSH0 2920 01 ADD 2921 51 MLOAD 2922 5F PUSH0 2923 87 DUP8 2924 60 PUSH1 0x40 2926 01 ADD 2927 51 MLOAD 2928 88 DUP9 2929 60 PUSH1 0x60 292B 01 ADD 292C 51 MLOAD 292D 89 DUP10 292E 60 PUSH1 0xc0 2930 01 ADD 2931 51 MLOAD 2932 60 PUSH1 0x40 2934 51 MLOAD 2935 86 DUP7 2936 63 PUSH4 0xffffffff 293B 16 AND 293C 60 PUSH1 0xe0 293E 1B SHL 293F 81 DUP2 2940 52 MSTORE 2941 60 PUSH1 0x04 2943 01 ADD 2944 61 PUSH2 0x2951 2947 95 SWAP6 2948 94 SWAP5 2949 93 SWAP4 294A 92 SWAP3 294B 91 SWAP2 294C 90 SWAP1 294D 61 PUSH2 0x3d4d 2950 56 *JUMP 2951 5B JUMPDEST 2952 5F PUSH0 2953 60 PUSH1 0x40 2955 51 MLOAD 2956 80 DUP1 2957 83 DUP4 2958 03 SUB 2959 81 DUP2 295A 5F PUSH0 295B 87 DUP8 295C 80 DUP1 295D 3B EXTCODESIZE 295E 15 ISZERO 295F 80 DUP1 2960 15 ISZERO 2961 61 PUSH2 0x2968 2964 57 *JUMPI 2965 5F PUSH0 2966 80 DUP1 2967 FD *REVERT 2968 5B JUMPDEST 2969 50 POP 296A 5A GAS 296B F1 CALL 296C 15 ISZERO 296D 80 DUP1 296E 15 ISZERO 296F 61 PUSH2 0x297a 2972 57 *JUMPI 2973 3D RETURNDATASIZE 2974 5F PUSH0 2975 80 DUP1 2976 3E RETURNDATACOPY 2977 3D RETURNDATASIZE 2978 5F PUSH0 2979 FD *REVERT 297A 5B JUMPDEST 297B 50 POP 297C 50 POP 297D 50 POP 297E 50 POP 297F 80 DUP1 2980 60 PUSH1 0x01 2982 82 DUP3 2983 51 MLOAD 2984 61 PUSH2 0x298d 2987 91 SWAP2 2988 90 SWAP1 2989 61 PUSH2 0x3743 298C 56 *JUMP 298D 5B JUMPDEST 298E 81 DUP2 298F 51 MLOAD 2990 81 DUP2 2991 10 LT 2992 61 PUSH2 0x0359 2995 57 *JUMPI 2996 61 PUSH2 0x0359 2999 61 PUSH2 0x36d0 299C 56 *JUMP label_299D: // Incoming call from 0x093E, returns to 0x093F // Inputs[2] // { // @29A3 stack[-1] // @29A7 memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } 299D 5B JUMPDEST 299E 5F PUSH0 299F 80 DUP1 29A0 61 PUSH2 0x29aa 29A3 83 DUP4 29A4 60 PUSH1 0x80 29A6 01 ADD 29A7 51 MLOAD 29A8 90 SWAP1 29A9 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @299E stack[0] = 0x00 // @299F stack[1] = 0x00 // @29A8 stack[2] = memory[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x29aa label_29AA: // Incoming jump from 0x29A9 // Inputs[5] // { // @29AB stack[-2] // @29AB stack[-1] // @29B0 stack[-4] // @29B4 memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] // @29B7 memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] // } 29AA 5B JUMPDEST 29AB 90 SWAP1 29AC 50 POP 29AD 61 PUSH2 0x29c5 29B0 83 DUP4 29B1 60 PUSH1 0x40 29B3 01 ADD 29B4 51 MLOAD 29B5 5F PUSH0 29B6 81 DUP2 29B7 51 MLOAD 29B8 81 DUP2 29B9 10 LT 29BA 61 PUSH2 0x2884 29BD 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @29AB stack[-2] = stack[-1] // @29AD stack[-1] = 0x29c5 // @29B4 stack[0] = memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] // @29B5 stack[1] = 0x00 // } // Block ends with conditional call to 0x2884, returns to 0x29C5, if 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] label_29BE: // Incoming jump from 0x29BD, if not 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] 29BE 61 PUSH2 0x2884 29C1 61 PUSH2 0x36d0 29C4 56 *JUMP // Stack delta = +1 // Outputs[1] { @29BE stack[0] = 0x2884 } // Block ends with unconditional jump to 0x36d0 label_29C5: // Incoming return from call to 0x2884 at 0x29BD // Inputs[3] // { // @29C8 stack[-3] // @29CC memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] // @29CD memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] // } 29C5 5B JUMPDEST 29C6 60 PUSH1 0x03 29C8 83 DUP4 29C9 60 PUSH1 0x40 29CB 01 ADD 29CC 51 MLOAD 29CD 51 MLOAD 29CE 10 LT 29CF 15 ISZERO 29D0 61 PUSH2 0x2b1d 29D3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2b1d, if !(memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] < 0x03) label_29D4: // Incoming jump from 0x29D3, if not !(memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] < 0x03) // Inputs[4] // { // @29D7 memory[0x40:0x60] // @2A14 stack[-3] // @2A18 memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] // @2A1B memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] // } 29D4 60 PUSH1 0x40 29D6 80 DUP1 29D7 51 MLOAD 29D8 61 PUSH2 0x0100 29DB 81 DUP2 29DC 01 ADD 29DD 82 DUP3 29DE 52 MSTORE 29DF 5F PUSH0 29E0 80 DUP1 29E1 82 DUP3 29E2 52 MSTORE 29E3 60 PUSH1 0x20 29E5 82 DUP3 29E6 01 ADD 29E7 81 DUP2 29E8 90 SWAP1 29E9 52 MSTORE 29EA 91 SWAP2 29EB 81 DUP2 29EC 01 ADD 29ED 82 DUP3 29EE 90 SWAP1 29EF 52 MSTORE 29F0 60 PUSH1 0x60 29F2 81 DUP2 29F3 01 ADD 29F4 82 DUP3 29F5 90 SWAP1 29F6 52 MSTORE 29F7 60 PUSH1 0x80 29F9 81 DUP2 29FA 01 ADD 29FB 82 DUP3 29FC 90 SWAP1 29FD 52 MSTORE 29FE 60 PUSH1 0xa0 2A00 81 DUP2 2A01 01 ADD 2A02 82 DUP3 2A03 90 SWAP1 2A04 52 MSTORE 2A05 60 PUSH1 0xc0 2A07 81 DUP2 2A08 01 ADD 2A09 82 DUP3 2A0A 90 SWAP1 2A0B 52 MSTORE 2A0C 60 PUSH1 0xe0 2A0E 81 DUP2 2A0F 01 ADD 2A10 91 SWAP2 2A11 90 SWAP1 2A12 91 SWAP2 2A13 52 MSTORE 2A14 83 DUP4 2A15 60 PUSH1 0x40 2A17 01 ADD 2A18 51 MLOAD 2A19 5F PUSH0 2A1A 81 DUP2 2A1B 51 MLOAD 2A1C 81 DUP2 2A1D 10 LT 2A1E 61 PUSH2 0x2a29 2A21 57 *JUMPI // Stack delta = +3 // Outputs[12] // { // @29DE memory[0x40:0x60] = memory[0x40:0x60] + 0x0100 // @29E2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @29E9 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x00 // @29EF memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = 0x00 // @29F6 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = 0x00 // @29FD memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = 0x00 // @2A04 memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = 0x00 // @2A0B memory[memory[0x40:0x60] + 0xc0:memory[0x40:0x60] + 0xc0 + 0x20] = 0x00 // @2A12 stack[0] = memory[0x40:0x60] // @2A13 memory[memory[0x40:0x60] + 0xe0:memory[0x40:0x60] + 0xe0 + 0x20] = 0x00 // @2A18 stack[1] = memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] // @2A19 stack[2] = 0x00 // } // Block ends with conditional jump to 0x2a29, if 0x00 < memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] label_2A22: // Incoming jump from 0x2A21, if not 0x00 < memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] 2A22 61 PUSH2 0x2a29 2A25 61 PUSH2 0x36d0 2A28 56 *JUMP // Stack delta = +1 // Outputs[1] { @2A22 stack[0] = 0x2a29 } // Block ends with unconditional jump to 0x36d0 label_2A29: // Incoming jump from 0x2A21, if 0x00 < memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] // Inputs[7] // { // @2A2C stack[-1] // @2A2F stack[-2] // @2A34 memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @2A3E stack[-3] // @2A42 stack[-6] // @2A44 memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @2A46 memory[memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20]:memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] + 0x20] // } 2A29 5B JUMPDEST 2A2A 60 PUSH1 0x20 2A2C 90 SWAP1 2A2D 81 DUP2 2A2E 02 MUL 2A2F 91 SWAP2 2A30 90 SWAP1 2A31 91 SWAP2 2A32 01 ADD 2A33 01 ADD 2A34 51 MLOAD 2A35 60 PUSH1 0x01 2A37 60 PUSH1 0x01 2A39 60 PUSH1 0xa0 2A3B 1B SHL 2A3C 03 SUB 2A3D 16 AND 2A3E 81 DUP2 2A3F 52 MSTORE 2A40 60 PUSH1 0x40 2A42 84 DUP5 2A43 01 ADD 2A44 51 MLOAD 2A45 80 DUP1 2A46 51 MLOAD 2A47 60 PUSH1 0x01 2A49 90 SWAP1 2A4A 81 DUP2 2A4B 10 LT 2A4C 61 PUSH2 0x2a57 2A4F 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @2A3F memory[stack[-3]:stack[-3] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[0x20 * stack[-1] + stack[-2] + 0x20:0x20 * stack[-1] + stack[-2] + 0x20 + 0x20] // @2A44 stack[-2] = memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @2A49 stack[-1] = 0x01 // } // Block ends with conditional jump to 0x2a57, if 0x01 < memory[memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20]:memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] + 0x20] label_2A50: // Incoming jump from 0x2A4F, if not 0x01 < memory[memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20]:memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] + 0x20] 2A50 61 PUSH2 0x2a57 2A53 61 PUSH2 0x36d0 2A56 56 *JUMP // Stack delta = +1 // Outputs[1] { @2A50 stack[0] = 0x2a57 } // Block ends with unconditional jump to 0x36d0 label_2A57: // Incoming jump from 0x2A4F, if 0x01 < memory[memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20]:memory[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] + 0x20] // Inputs[12] // { // @2A5A stack[-1] // @2A5D stack[-2] // @2A63 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2A6F stack[-3] // @2A76 stack[-6] // @2A78 memory[stack[-6] + 0xe0:stack[-6] + 0xe0 + 0x20] // @2A87 address(this) // @2A92 memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @2A99 memory[stack[-6]:stack[-6] + 0x20] // @2AA2 memory[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @2AB2 memory[0x40:0x60] // @2ABE stack[-4] // } 2A57 5B JUMPDEST 2A58 60 PUSH1 0x20 2A5A 90 SWAP1 2A5B 81 DUP2 2A5C 02 MUL 2A5D 91 SWAP2 2A5E 90 SWAP1 2A5F 91 SWAP2 2A60 01 ADD 2A61 81 DUP2 2A62 01 ADD 2A63 51 MLOAD 2A64 60 PUSH1 0x01 2A66 60 PUSH1 0x01 2A68 60 PUSH1 0xa0 2A6A 1B SHL 2A6B 03 SUB 2A6C 90 SWAP1 2A6D 81 DUP2 2A6E 16 AND 2A6F 83 DUP4 2A70 83 DUP4 2A71 01 ADD 2A72 52 MSTORE 2A73 60 PUSH1 0xe0 2A75 80 DUP1 2A76 87 DUP8 2A77 01 ADD 2A78 51 MLOAD 2A79 62 PUSH3 0xffffff 2A7D 16 AND 2A7E 60 PUSH1 0x40 2A80 80 DUP1 2A81 86 DUP7 2A82 01 ADD 2A83 91 SWAP2 2A84 90 SWAP1 2A85 91 SWAP2 2A86 52 MSTORE 2A87 30 ADDRESS 2A88 60 PUSH1 0x60 2A8A 86 DUP7 2A8B 01 ADD 2A8C 52 MSTORE 2A8D 60 PUSH1 0xc0 2A8F 80 DUP1 2A90 89 DUP10 2A91 01 ADD 2A92 51 MLOAD 2A93 60 PUSH1 0x80 2A95 87 DUP8 2A96 01 ADD 2A97 52 MSTORE 2A98 88 DUP9 2A99 51 MLOAD 2A9A 60 PUSH1 0xa0 2A9C 87 DUP8 2A9D 01 ADD 2A9E 52 MSTORE 2A9F 93 SWAP4 2AA0 88 DUP9 2AA1 01 ADD 2AA2 51 MLOAD 2AA3 93 SWAP4 2AA4 85 DUP6 2AA5 01 ADD 2AA6 93 SWAP4 2AA7 90 SWAP1 2AA8 93 SWAP4 2AA9 52 MSTORE 2AAA 5F PUSH0 2AAB 90 SWAP1 2AAC 84 DUP5 2AAD 01 ADD 2AAE 81 DUP2 2AAF 90 SWAP1 2AB0 52 MSTORE 2AB1 91 SWAP2 2AB2 51 MLOAD 2AB3 63 PUSH4 0x414bf389 2AB8 60 PUSH1 0xe0 2ABA 1B SHL 2ABB 81 DUP2 2ABC 52 MSTORE 2ABD 90 SWAP1 2ABE 84 DUP5 2ABF 16 AND 2AC0 90 SWAP1 2AC1 63 PUSH4 0x414bf389 2AC6 90 SWAP1 2AC7 61 PUSH2 0x2ad4 2ACA 90 SWAP1 2ACB 85 DUP6 2ACC 90 SWAP1 2ACD 60 PUSH1 0x04 2ACF 01 ADD 2AD0 61 PUSH2 0x39d9 2AD3 56 *JUMP // Stack delta = +4 // Outputs[14] // { // @2A72 memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2A86 memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] = 0xffffff & memory[stack[-6] + 0xe0:stack[-6] + 0xe0 + 0x20] // @2A8C memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] = address(this) // @2A97 memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] = memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @2A9E memory[stack[-3] + 0xa0:stack[-3] + 0xa0 + 0x20] = memory[stack[-6]:stack[-6] + 0x20] // @2AA9 memory[stack[-3] + 0xc0:stack[-3] + 0xc0 + 0x20] = memory[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @2AB0 memory[stack[-3] + 0xe0:stack[-3] + 0xe0 + 0x20] = 0x00 // @2AB1 stack[-2] = 0x00 // @2ABC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x414bf389 << 0xe0 // @2AC0 stack[-1] = stack[-4] & (0x01 << 0xa0) - 0x01 // @2AC6 stack[0] = 0x414bf389 // @2ACA stack[1] = 0x2ad4 // @2ACC stack[2] = stack[-3] // @2ACF stack[3] = 0x04 + memory[0x40:0x60] // } // Block ends with call to 0x39d9, returns to 0x2AD4 label_2AD4: // Incoming return from call to 0x39D9 at 0x2AD3 // Inputs[6] // { // @2AD9 memory[0x40:0x60] // @2ADB stack[-1] // @2ADF stack[-3] // @2AE0 msg.gas // @2AE1 address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @2AE1 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 2AD4 5B JUMPDEST 2AD5 60 PUSH1 0x20 2AD7 60 PUSH1 0x40 2AD9 51 MLOAD 2ADA 80 DUP1 2ADB 83 DUP4 2ADC 03 SUB 2ADD 81 DUP2 2ADE 5F PUSH0 2ADF 87 DUP8 2AE0 5A GAS 2AE1 F1 CALL 2AE2 15 ISZERO 2AE3 80 DUP1 2AE4 15 ISZERO 2AE5 61 PUSH2 0x2af0 2AE8 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @2AE1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @2AE2 stack[0] = !address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x2af0, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) label_2AE9: // Incoming jump from 0x2AE8, if not !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[4] // { // @2AE9 returndata.length // @2AEC returndata[0x00:0x00 + returndata.length] // @2AED returndata.length // @2AEF memory[0x00:0x00 + returndata.length] // } 2AE9 3D RETURNDATASIZE 2AEA 5F PUSH0 2AEB 80 DUP1 2AEC 3E RETURNDATACOPY 2AED 3D RETURNDATASIZE 2AEE 5F PUSH0 2AEF FD *REVERT // Stack delta = +0 // Outputs[2] // { // @2AEC memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @2AEF revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_2AF0: // Incoming jump from 0x2AE8, if !!address(stack[-3]).call.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // Inputs[2] // { // @2AF7 memory[0x40:0x60] // @2AF8 returndata.length // } 2AF0 5B JUMPDEST 2AF1 50 POP 2AF2 50 POP 2AF3 50 POP 2AF4 50 POP 2AF5 60 PUSH1 0x40 2AF7 51 MLOAD 2AF8 3D RETURNDATASIZE 2AF9 60 PUSH1 0x1f 2AFB 19 NOT 2AFC 60 PUSH1 0x1f 2AFE 82 DUP3 2AFF 01 ADD 2B00 16 AND 2B01 82 DUP3 2B02 01 ADD 2B03 80 DUP1 2B04 60 PUSH1 0x40 2B06 52 MSTORE 2B07 50 POP 2B08 81 DUP2 2B09 01 ADD 2B0A 90 SWAP1 2B0B 61 PUSH2 0x2b14 2B0E 91 SWAP2 2B0F 90 SWAP1 2B10 61 PUSH2 0x3718 2B13 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @2B06 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @2B0E stack[-4] = 0x2b14 // @2B0F stack[-2] = memory[0x40:0x60] // @2B0F stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x2B14 label_2B14: // Incoming return from call to 0x3718 at 0x2B13 // Inputs[3] // { // @2B15 stack[-7] // @2B15 stack[-1] // @2B16 stack[-6] // } 2B14 5B JUMPDEST 2B15 95 SWAP6 2B16 94 SWAP5 2B17 50 POP 2B18 50 POP 2B19 50 POP 2B1A 50 POP 2B1B 50 POP 2B1C 56 *JUMP // Stack delta = -6 // Outputs[1] { @2B15 stack[-7] = stack[-1] } // Block ends with unconditional jump to stack[-7] label_2B1D: // Incoming jump from 0x29D3, if !(memory[memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20]:memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] + 0x20] < 0x03) // Inputs[1] { @2B23 memory[0x40:0x60] } 2B1D 5B JUMPDEST 2B1E 61 PUSH2 0x2b54 2B21 60 PUSH1 0x40 2B23 51 MLOAD 2B24 80 DUP1 2B25 60 PUSH1 0xa0 2B27 01 ADD 2B28 60 PUSH1 0x40 2B2A 52 MSTORE 2B2B 80 DUP1 2B2C 60 PUSH1 0x60 2B2E 81 DUP2 2B2F 52 MSTORE 2B30 60 PUSH1 0x20 2B32 01 ADD 2B33 5F PUSH0 2B34 60 PUSH1 0x01 2B36 60 PUSH1 0x01 2B38 60 PUSH1 0xa0 2B3A 1B SHL 2B3B 03 SUB 2B3C 16 AND 2B3D 81 DUP2 2B3E 52 MSTORE 2B3F 60 PUSH1 0x20 2B41 01 ADD 2B42 5F PUSH0 2B43 81 DUP2 2B44 52 MSTORE 2B45 60 PUSH1 0x20 2B47 01 ADD 2B48 5F PUSH0 2B49 81 DUP2 2B4A 52 MSTORE 2B4B 60 PUSH1 0x20 2B4D 01 ADD 2B4E 5F PUSH0 2B4F 81 DUP2 2B50 52 MSTORE 2B51 50 POP 2B52 90 SWAP1 2B53 56 *JUMP // Stack delta = +1 // Outputs[7] // { // @2B2A memory[0x40:0x60] = 0xa0 + memory[0x40:0x60] // @2B2F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x60 // @2B3E memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = (0x01 << 0xa0) - 0x01 & 0x00 // @2B44 memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @2B4A memory[0x20 + 0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @2B50 memory[0x20 + 0x20 + 0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + 0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @2B52 stack[0] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x2b54 label_2B54: // Incoming jump from 0x2B53 // Inputs[3] // { // @2B56 stack[-4] // @2B5A memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] // @2B5D memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] // } 2B54 5B JUMPDEST 2B55 5F PUSH0 2B56 84 DUP5 2B57 60 PUSH1 0x40 2B59 01 ADD 2B5A 51 MLOAD 2B5B 5F PUSH0 2B5C 81 DUP2 2B5D 51 MLOAD 2B5E 81 DUP2 2B5F 10 LT 2B60 61 PUSH2 0x2b6b 2B63 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @2B55 stack[0] = 0x00 // @2B5A stack[1] = memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] // @2B5B stack[2] = 0x00 // } // Block ends with conditional jump to 0x2b6b, if 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] label_2B64: // Incoming jump from 0x2B63, if not 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] 2B64 61 PUSH2 0x2b6b 2B67 61 PUSH2 0x36d0 2B6A 56 *JUMP // Stack delta = +1 // Outputs[1] { @2B64 stack[0] = 0x2b6b } // Block ends with unconditional jump to 0x36d0 label_2B6B: // Incoming jump from 0x2B63, if 0x00 < memory[memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20]:memory[0x40 + stack[-4]:0x40 + stack[-4] + 0x20] + 0x20] // Inputs[7] // { // @2B6E stack[-1] // @2B72 stack[-2] // @2B73 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2B74 stack[-7] // @2B79 memory[0x0100 + stack[-7]:0x0100 + stack[-7] + 0x20] // @2B7E memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] // @2B82 memory[memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20]:memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] + 0x20] // } 2B6B 5B JUMPDEST 2B6C 60 PUSH1 0x20 2B6E 02 MUL 2B6F 60 PUSH1 0x20 2B71 01 ADD 2B72 01 ADD 2B73 51 MLOAD 2B74 85 DUP6 2B75 61 PUSH2 0x0100 2B78 01 ADD 2B79 51 MLOAD 2B7A 86 DUP7 2B7B 60 PUSH1 0x40 2B7D 01 ADD 2B7E 51 MLOAD 2B7F 60 PUSH1 0x01 2B81 81 DUP2 2B82 51 MLOAD 2B83 81 DUP2 2B84 10 LT 2B85 61 PUSH2 0x2b90 2B88 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @2B73 stack[-2] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2B79 stack[-1] = memory[0x0100 + stack[-7]:0x0100 + stack[-7] + 0x20] // @2B7E stack[0] = memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] // @2B7F stack[1] = 0x01 // } // Block ends with conditional jump to 0x2b90, if 0x01 < memory[memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20]:memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] + 0x20] label_2B89: // Incoming jump from 0x2B88, if not 0x01 < memory[memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20]:memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] + 0x20] 2B89 61 PUSH2 0x2b90 2B8C 61 PUSH2 0x36d0 2B8F 56 *JUMP // Stack delta = +1 // Outputs[1] { @2B89 stack[0] = 0x2b90 } // Block ends with unconditional jump to 0x36d0 label_2B90: // Incoming jump from 0x2B88, if 0x01 < memory[memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20]:memory[0x40 + stack[-7]:0x40 + stack[-7] + 0x20] + 0x20] // Inputs[7] // { // @2B93 stack[-1] // @2B97 stack[-2] // @2B98 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2B99 stack[-9] // @2B9D memory[0xe0 + stack[-9]:0xe0 + stack[-9] + 0x20] // @2BA2 memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] // @2BA6 memory[memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20]:memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] + 0x20] // } 2B90 5B JUMPDEST 2B91 60 PUSH1 0x20 2B93 02 MUL 2B94 60 PUSH1 0x20 2B96 01 ADD 2B97 01 ADD 2B98 51 MLOAD 2B99 87 DUP8 2B9A 60 PUSH1 0xe0 2B9C 01 ADD 2B9D 51 MLOAD 2B9E 88 DUP9 2B9F 60 PUSH1 0x40 2BA1 01 ADD 2BA2 51 MLOAD 2BA3 60 PUSH1 0x02 2BA5 81 DUP2 2BA6 51 MLOAD 2BA7 81 DUP2 2BA8 10 LT 2BA9 61 PUSH2 0x2bb4 2BAC 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @2B98 stack[-2] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2B9D stack[-1] = memory[0xe0 + stack[-9]:0xe0 + stack[-9] + 0x20] // @2BA2 stack[0] = memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] // @2BA3 stack[1] = 0x02 // } // Block ends with conditional jump to 0x2bb4, if 0x02 < memory[memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20]:memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] + 0x20] label_2BAD: // Incoming jump from 0x2BAC, if not 0x02 < memory[memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20]:memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] + 0x20] 2BAD 61 PUSH2 0x2bb4 2BB0 61 PUSH2 0x36d0 2BB3 56 *JUMP // Stack delta = +1 // Outputs[1] { @2BAD stack[0] = 0x2bb4 } // Block ends with unconditional jump to 0x36d0 label_2BB4: // Incoming jump from 0x2BAC, if 0x02 < memory[memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20]:memory[0x40 + stack[-9]:0x40 + stack[-9] + 0x20] + 0x20] // Inputs[8] // { // @2BB7 stack[-1] // @2BBB stack[-2] // @2BBC memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2BBF memory[0x40:0x60] // @2BC6 stack[-6] // @2BC7 stack[-5] // @2BC8 stack[-4] // @2BC9 stack[-3] // } 2BB4 5B JUMPDEST 2BB5 60 PUSH1 0x20 2BB7 02 MUL 2BB8 60 PUSH1 0x20 2BBA 01 ADD 2BBB 01 ADD 2BBC 51 MLOAD 2BBD 60 PUSH1 0x40 2BBF 51 MLOAD 2BC0 60 PUSH1 0x20 2BC2 01 ADD 2BC3 61 PUSH2 0x2bd0 2BC6 95 SWAP6 2BC7 94 SWAP5 2BC8 93 SWAP4 2BC9 92 SWAP3 2BCA 91 SWAP2 2BCB 90 SWAP1 2BCC 61 PUSH2 0x37f5 2BCF 56 *JUMP // Stack delta = +1 // Outputs[7] // { // @2BC6 stack[-6] = 0x2bd0 // @2BC7 stack[-5] = stack[-6] // @2BC8 stack[-4] = stack[-5] // @2BC9 stack[-3] = stack[-4] // @2BCA stack[-2] = stack[-3] // @2BCB stack[-1] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @2BCB stack[0] = 0x20 + memory[0x40:0x60] // } // Block ends with call to 0x37f5, returns to 0x2BD0 label_2BD0: // Incoming return from call to 0x37F5 at 0x2BCF // Inputs[11] // { // @2BD4 memory[0x40:0x60] // @2BD9 stack[-1] // @2BE2 stack[-3] // @2BE4 address(this) // @2BF0 stack[-6] // @2BF2 memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @2BF8 memory[stack[-6]:stack[-6] + 0x20] // @2C00 memory[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @2C06 memory[0x40:0x60] // @2C12 stack[-2] // @2C1E stack[-4] // } 2BD0 5B JUMPDEST 2BD1 60 PUSH1 0x40 2BD3 80 DUP1 2BD4 51 MLOAD 2BD5 60 PUSH1 0x1f 2BD7 19 NOT 2BD8 81 DUP2 2BD9 84 DUP5 2BDA 03 SUB 2BDB 01 ADD 2BDC 81 DUP2 2BDD 52 MSTORE 2BDE 91 SWAP2 2BDF 81 DUP2 2BE0 52 MSTORE 2BE1 81 DUP2 2BE2 84 DUP5 2BE3 52 MSTORE 2BE4 30 ADDRESS 2BE5 60 PUSH1 0x20 2BE7 85 DUP6 2BE8 81 DUP2 2BE9 01 ADD 2BEA 91 SWAP2 2BEB 90 SWAP1 2BEC 91 SWAP2 2BED 52 MSTORE 2BEE 60 PUSH1 0xc0 2BF0 88 DUP9 2BF1 01 ADD 2BF2 51 MLOAD 2BF3 85 DUP6 2BF4 83 DUP4 2BF5 01 ADD 2BF6 52 MSTORE 2BF7 87 DUP8 2BF8 51 MLOAD 2BF9 60 PUSH1 0x60 2BFB 86 DUP7 2BFC 01 ADD 2BFD 52 MSTORE 2BFE 87 DUP8 2BFF 01 ADD 2C00 51 MLOAD 2C01 60 PUSH1 0x80 2C03 85 DUP6 2C04 01 ADD 2C05 52 MSTORE 2C06 51 MLOAD 2C07 63 PUSH4 0xc04b8d59 2C0C 60 PUSH1 0xe0 2C0E 1B SHL 2C0F 81 DUP2 2C10 52 MSTORE 2C11 90 SWAP1 2C12 91 SWAP2 2C13 50 POP 2C14 5F PUSH0 2C15 90 SWAP1 2C16 60 PUSH1 0x01 2C18 60 PUSH1 0x01 2C1A 60 PUSH1 0xa0 2C1C 1B SHL 2C1D 03 SUB 2C1E 85 DUP6 2C1F 16 AND 2C20 90 SWAP1 2C21 63 PUSH4 0xc04b8d59 2C26 90 SWAP1 2C27 61 PUSH2 0x2c34 2C2A 90 SWAP1 2C2B 86 DUP7 2C2C 90 SWAP1 2C2D 60 PUSH1 0x04 2C2F 01 ADD 2C30 61 PUSH2 0x3a93 2C33 56 *JUMP // Stack delta = +5 // Outputs[15] // { // @2BDD memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] - memory[0x40:0x60] + ~0x1f // @2BE0 memory[0x40:0x60] = stack[-1] // @2BE3 memory[stack[-3]:stack[-3] + 0x20] = memory[0x40:0x60] // @2BED memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] = address(this) // @2BF6 memory[0x40 + stack[-3]:0x40 + stack[-3] + 0x20] = memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @2BFD memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] = memory[stack[-6]:stack[-6] + 0x20] // @2C05 memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] = memory[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @2C10 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xc04b8d59 << 0xe0 // @2C12 stack[-2] = memory[0x40:0x60] // @2C15 stack[-1] = 0x00 // @2C20 stack[0] = stack[-4] & (0x01 << 0xa0) - 0x01 // @2C26 stack[1] = 0xc04b8d59 // @2C2A stack[2] = 0x2c34 // @2C2C stack[3] = stack[-3] // @2C2F stack[4] = 0x04 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x3a93 2C34 5B JUMPDEST 2C35 60 PUSH1 0x20 2C37 60 PUSH1 0x40 2C39 51 MLOAD 2C3A 80 DUP1 2C3B 83 DUP4 2C3C 03 SUB 2C3D 81 DUP2 2C3E 5F PUSH0 2C3F 87 DUP8 2C40 5A GAS 2C41 F1 CALL 2C42 15 ISZERO 2C43 80 DUP1 2C44 15 ISZERO 2C45 61 PUSH2 0x2c50 2C48 57 *JUMPI 2C49 3D RETURNDATASIZE 2C4A 5F PUSH0 2C4B 80 DUP1 2C4C 3E RETURNDATACOPY 2C4D 3D RETURNDATASIZE 2C4E 5F PUSH0 2C4F FD *REVERT 2C50 5B JUMPDEST 2C51 50 POP 2C52 50 POP 2C53 50 POP 2C54 50 POP 2C55 60 PUSH1 0x40 2C57 51 MLOAD 2C58 3D RETURNDATASIZE 2C59 60 PUSH1 0x1f 2C5B 19 NOT 2C5C 60 PUSH1 0x1f 2C5E 82 DUP3 2C5F 01 ADD 2C60 16 AND 2C61 82 DUP3 2C62 01 ADD 2C63 80 DUP1 2C64 60 PUSH1 0x40 2C66 52 MSTORE 2C67 50 POP 2C68 81 DUP2 2C69 01 ADD 2C6A 90 SWAP1 2C6B 61 PUSH2 0x0d83 2C6E 91 SWAP2 2C6F 90 SWAP1 2C70 61 PUSH2 0x3718 2C73 56 *JUMP label_2C74: // Incoming jump from 0x114F // Incoming jump from 0x09B6 // Inputs[2] // { // @2C79 stack[-1] // @2C7A stack[-2] // } 2C74 5B JUMPDEST 2C75 5F PUSH0 2C76 61 PUSH2 0x2c7f 2C79 82 DUP3 2C7A 84 DUP5 2C7B 61 PUSH2 0x3743 2C7E 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @2C75 stack[0] = 0x00 // @2C76 stack[1] = 0x2c7f // @2C79 stack[2] = stack[-1] // @2C7A stack[3] = stack[-2] // } // Block ends with call to 0x3743, returns to 0x2C7F label_2C7F: // Incoming return from call to 0x3743 at 0x2C7E // Incoming return from call to 0x32E2 at 0x35D9 // Incoming return from call to 0x32E2 at 0x35F4 // Incoming jump from 0x34D1, if !(stack[-4] - (stack[-3] + stack[-1]) i< 0x80) // Incoming return from call to 0x3D88 at 0x2C90 // Incoming return from call to 0x3A43 at 0x3AA4 // Incoming return from call to 0x3B6D at 0x3B94 // Inputs[3] // { // @2C80 stack[-5] // @2C80 stack[-1] // @2C81 stack[-4] // } 2C7F 5B JUMPDEST 2C80 93 SWAP4 2C81 92 SWAP3 2C82 50 POP 2C83 50 POP 2C84 50 POP 2C85 56 *JUMP // Stack delta = -4 // Outputs[1] { @2C80 stack[-5] = stack[-1] } // Block ends with unconditional jump to stack[-5] label_2C86: // Incoming jump from 0x0A93 // Inputs[2] // { // @2C8B stack[-1] // @2C8C stack[-2] // } 2C86 5B JUMPDEST 2C87 5F PUSH0 2C88 61 PUSH2 0x2c7f 2C8B 82 DUP3 2C8C 84 DUP5 2C8D 61 PUSH2 0x3d88 2C90 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @2C87 stack[0] = 0x00 // @2C88 stack[1] = 0x2c7f // @2C8B stack[2] = stack[-1] // @2C8C stack[3] = stack[-2] // } // Block ends with call to 0x3d88, returns to 0x2C7F 2C91 5B JUMPDEST 2C92 5F PUSH0 2C93 61 PUSH2 0x2c7f 2C96 82 DUP3 2C97 84 DUP5 2C98 61 PUSH2 0x3d9f 2C9B 56 *JUMP 2C9C 5B JUMPDEST 2C9D 81 DUP2 2C9E 81 DUP2 2C9F 52 MSTORE 2CA0 61 PUSH2 0x0120 2CA3 81 DUP2 2CA4 01 ADD 2CA5 51 MLOAD 2CA6 5F PUSH0 2CA7 90 SWAP1 2CA8 62 PUSH3 0xffffff 2CAC 16 AND 2CAD 60 PUSH1 0x02 2CAF 03 SUB 2CB0 61 PUSH2 0x2d22 2CB3 57 *JUMPI 2CB4 60 PUSH1 0x40 2CB6 51 MLOAD 2CB7 63 PUSH4 0x1e9d76c1 2CBC 60 PUSH1 0xe1 2CBE 1B SHL 2CBF 81 DUP2 2CC0 52 MSTORE 2CC1 30 ADDRESS 2CC2 90 SWAP1 2CC3 63 PUSH4 0x3d3aed82 2CC8 90 SWAP1 2CC9 34 CALLVALUE 2CCA 90 SWAP1 2CCB 61 PUSH2 0x2cd8 2CCE 90 SWAP1 2CCF 86 DUP7 2CD0 90 SWAP1 2CD1 60 PUSH1 0x04 2CD3 01 ADD 2CD4 61 PUSH2 0x3aa5 2CD7 56 *JUMP 2CD8 5B JUMPDEST 2CD9 60 PUSH1 0x20 2CDB 60 PUSH1 0x40 2CDD 51 MLOAD 2CDE 80 DUP1 2CDF 83 DUP4 2CE0 03 SUB 2CE1 81 DUP2 2CE2 85 DUP6 2CE3 88 DUP9 2CE4 5A GAS 2CE5 F1 CALL 2CE6 93 SWAP4 2CE7 50 POP 2CE8 50 POP 2CE9 50 POP 2CEA 50 POP 2CEB 80 DUP1 2CEC 15 ISZERO 2CED 61 PUSH2 0x2d13 2CF0 57 *JUMPI 2CF1 50 POP 2CF2 60 PUSH1 0x40 2CF4 80 DUP1 2CF5 51 MLOAD 2CF6 60 PUSH1 0x1f 2CF8 3D RETURNDATASIZE 2CF9 90 SWAP1 2CFA 81 DUP2 2CFB 01 ADD 2CFC 60 PUSH1 0x1f 2CFE 19 NOT 2CFF 16 AND 2D00 82 DUP3 2D01 01 ADD 2D02 90 SWAP1 2D03 92 SWAP3 2D04 52 MSTORE 2D05 61 PUSH2 0x2d10 2D08 91 SWAP2 2D09 81 DUP2 2D0A 01 ADD 2D0B 90 SWAP1 2D0C 61 PUSH2 0x3718 2D0F 56 *JUMP 2D10 5B JUMPDEST 2D11 60 PUSH1 0x01 2D13 5B JUMPDEST 2D14 15 ISZERO 2D15 61 PUSH2 0x2d59 2D18 57 *JUMPI 2D19 50 POP 2D1A 60 PUSH1 0x01 2D1C 90 SWAP1 2D1D 50 POP 2D1E 61 PUSH2 0x2856 2D21 56 *JUMP 2D22 5B JUMPDEST 2D23 81 DUP2 2D24 61 PUSH2 0x0120 2D27 01 ADD 2D28 51 MLOAD 2D29 62 PUSH3 0xffffff 2D2D 16 AND 2D2E 60 PUSH1 0x03 2D30 03 SUB 2D31 61 PUSH2 0x2d59 2D34 57 *JUMPI 2D35 60 PUSH1 0x40 2D37 51 MLOAD 2D38 63 PUSH4 0x099f576f 2D3D 60 PUSH1 0xe4 2D3F 1B SHL 2D40 81 DUP2 2D41 52 MSTORE 2D42 30 ADDRESS 2D43 90 SWAP1 2D44 63 PUSH4 0x99f576f0 2D49 90 SWAP1 2D4A 34 CALLVALUE 2D4B 90 SWAP1 2D4C 61 PUSH2 0x2cd8 2D4F 90 SWAP1 2D50 86 DUP7 2D51 90 SWAP1 2D52 60 PUSH1 0x04 2D54 01 ADD 2D55 61 PUSH2 0x3aa5 2D58 56 *JUMP 2D59 5B JUMPDEST 2D5A 50 POP 2D5B 5F PUSH0 2D5C 92 SWAP3 2D5D 91 SWAP2 2D5E 50 POP 2D5F 50 POP 2D60 56 *JUMP 2D61 5B JUMPDEST 2D62 61 PUSH2 0x0120 2D65 81 DUP2 2D66 01 ADD 2D67 51 MLOAD 2D68 5F PUSH0 2D69 90 SWAP1 2D6A 81 DUP2 2D6B 90 SWAP1 2D6C 62 PUSH3 0xffffff 2D70 16 AND 2D71 60 PUSH1 0x02 2D73 03 SUB 2D74 61 PUSH2 0x2e1e 2D77 57 *JUMPI 2D78 5F PUSH0 2D79 61 PUSH2 0x2d83 2D7C 84 DUP5 2D7D 60 PUSH1 0x80 2D7F 01 ADD 2D80 51 MLOAD 2D81 90 SWAP1 2D82 56 *JUMP 2D83 5B JUMPDEST 2D84 90 SWAP1 2D85 50 POP 2D86 5F PUSH0 2D87 81 DUP2 2D88 60 PUSH1 0x01 2D8A 60 PUSH1 0x01 2D8C 60 PUSH1 0xa0 2D8E 1B SHL 2D8F 03 SUB 2D90 16 AND 2D91 63 PUSH4 0x1f00ca74 2D96 87 DUP8 2D97 87 DUP8 2D98 60 PUSH1 0x40 2D9A 01 ADD 2D9B 51 MLOAD 2D9C 60 PUSH1 0x40 2D9E 51 MLOAD 2D9F 83 DUP4 2DA0 63 PUSH4 0xffffffff 2DA5 16 AND 2DA6 60 PUSH1 0xe0 2DA8 1B SHL 2DA9 81 DUP2 2DAA 52 MSTORE 2DAB 60 PUSH1 0x04 2DAD 01 ADD 2DAE 61 PUSH2 0x2db8 2DB1 92 SWAP3 2DB2 91 SWAP2 2DB3 90 SWAP1 2DB4 61 PUSH2 0x3637 2DB7 56 *JUMP 2DB8 5B JUMPDEST 2DB9 5F PUSH0 2DBA 60 PUSH1 0x40 2DBC 51 MLOAD 2DBD 80 DUP1 2DBE 83 DUP4 2DBF 03 SUB 2DC0 81 DUP2 2DC1 86 DUP7 2DC2 5A GAS 2DC3 FA STATICCALL 2DC4 15 ISZERO 2DC5 80 DUP1 2DC6 15 ISZERO 2DC7 61 PUSH2 0x2dd2 2DCA 57 *JUMPI 2DCB 3D RETURNDATASIZE 2DCC 5F PUSH0 2DCD 80 DUP1 2DCE 3E RETURNDATACOPY 2DCF 3D RETURNDATASIZE 2DD0 5F PUSH0 2DD1 FD *REVERT 2DD2 5B JUMPDEST 2DD3 50 POP 2DD4 50 POP 2DD5 50 POP 2DD6 50 POP 2DD7 60 PUSH1 0x40 2DD9 51 MLOAD 2DDA 3D RETURNDATASIZE 2DDB 5F PUSH0 2DDC 82 DUP3 2DDD 3E RETURNDATACOPY 2DDE 60 PUSH1 0x1f 2DE0 3D RETURNDATASIZE 2DE1 90 SWAP1 2DE2 81 DUP2 2DE3 01 ADD 2DE4 60 PUSH1 0x1f 2DE6 19 NOT 2DE7 16 AND 2DE8 82 DUP3 2DE9 01 ADD 2DEA 60 PUSH1 0x40 2DEC 52 MSTORE 2DED 61 PUSH2 0x2df9 2DF0 91 SWAP2 2DF1 90 SWAP1 2DF2 81 DUP2 2DF3 01 ADD 2DF4 90 SWAP1 2DF5 61 PUSH2 0x364f 2DF8 56 *JUMP 2DF9 5B JUMPDEST 2DFA 90 SWAP1 2DFB 50 POP 2DFC 80 DUP1 2DFD 5F PUSH0 2DFE 81 DUP2 2DFF 51 MLOAD 2E00 81 DUP2 2E01 10 LT 2E02 61 PUSH2 0x2e0d 2E05 57 *JUMPI 2E06 61 PUSH2 0x2e0d 2E09 61 PUSH2 0x36d0 2E0C 56 *JUMP 2E0D 5B JUMPDEST 2E0E 60 PUSH1 0x20 2E10 02 MUL 2E11 60 PUSH1 0x20 2E13 01 ADD 2E14 01 ADD 2E15 51 MLOAD 2E16 92 SWAP3 2E17 50 POP 2E18 50 POP 2E19 50 POP 2E1A 61 PUSH2 0x2c7f 2E1D 56 *JUMP 2E1E 5B JUMPDEST 2E1F 82 DUP3 2E20 61 PUSH2 0x0120 2E23 01 ADD 2E24 51 MLOAD 2E25 62 PUSH3 0xffffff 2E29 16 AND 2E2A 60 PUSH1 0x03 2E2C 03 SUB 2E2D 61 PUSH2 0x2c7f 2E30 57 *JUMPI 2E31 60 PUSH1 0xa0 2E33 83 DUP4 2E34 01 ADD 2E35 51 MLOAD 2E36 60 PUSH1 0x40 2E38 84 DUP5 2E39 01 ADD 2E3A 51 MLOAD 2E3B 51 MLOAD 2E3C 60 PUSH1 0x03 2E3E 11 GT 2E3F 15 ISZERO 2E40 61 PUSH2 0x2f61 2E43 57 *JUMPI 2E44 60 PUSH1 0x40 2E46 80 DUP1 2E47 51 MLOAD 2E48 60 PUSH1 0xa0 2E4A 81 DUP2 2E4B 01 ADD 2E4C 82 DUP3 2E4D 52 MSTORE 2E4E 5F PUSH0 2E4F 80 DUP1 2E50 82 DUP3 2E51 52 MSTORE 2E52 60 PUSH1 0x20 2E54 82 DUP3 2E55 01 ADD 2E56 81 DUP2 2E57 90 SWAP1 2E58 52 MSTORE 2E59 91 SWAP2 2E5A 81 DUP2 2E5B 01 ADD 2E5C 82 DUP3 2E5D 90 SWAP1 2E5E 52 MSTORE 2E5F 60 PUSH1 0x60 2E61 81 DUP2 2E62 01 ADD 2E63 82 DUP3 2E64 90 SWAP1 2E65 52 MSTORE 2E66 60 PUSH1 0x80 2E68 81 DUP2 2E69 01 ADD 2E6A 91 SWAP2 2E6B 90 SWAP1 2E6C 91 SWAP2 2E6D 52 MSTORE 2E6E 84 DUP5 2E6F 60 PUSH1 0x40 2E71 01 ADD 2E72 51 MLOAD 2E73 5F PUSH0 2E74 81 DUP2 2E75 51 MLOAD 2E76 81 DUP2 2E77 10 LT 2E78 61 PUSH2 0x2e83 2E7B 57 *JUMPI 2E7C 61 PUSH2 0x2e83 2E7F 61 PUSH2 0x36d0 2E82 56 *JUMP 2E83 5B JUMPDEST 2E84 60 PUSH1 0x20 2E86 90 SWAP1 2E87 81 DUP2 2E88 02 MUL 2E89 91 SWAP2 2E8A 90 SWAP1 2E8B 91 SWAP2 2E8C 01 ADD 2E8D 01 ADD 2E8E 51 MLOAD 2E8F 60 PUSH1 0x01 2E91 60 PUSH1 0x01 2E93 60 PUSH1 0xa0 2E95 1B SHL 2E96 03 SUB 2E97 16 AND 2E98 81 DUP2 2E99 52 MSTORE 2E9A 60 PUSH1 0x40 2E9C 85 DUP6 2E9D 01 ADD 2E9E 51 MLOAD 2E9F 80 DUP1 2EA0 51 MLOAD 2EA1 60 PUSH1 0x01 2EA3 90 SWAP1 2EA4 81 DUP2 2EA5 10 LT 2EA6 61 PUSH2 0x2eb1 2EA9 57 *JUMPI 2EAA 61 PUSH2 0x2eb1 2EAD 61 PUSH2 0x36d0 2EB0 56 *JUMP 2EB1 5B JUMPDEST 2EB2 60 PUSH1 0x20 2EB4 90 SWAP1 2EB5 81 DUP2 2EB6 02 MUL 2EB7 91 SWAP2 2EB8 90 SWAP1 2EB9 91 SWAP2 2EBA 01 ADD 2EBB 81 DUP2 2EBC 01 ADD 2EBD 51 MLOAD 2EBE 60 PUSH1 0x01 2EC0 60 PUSH1 0x01 2EC2 60 PUSH1 0xa0 2EC4 1B SHL 2EC5 03 SUB 2EC6 90 SWAP1 2EC7 81 DUP2 2EC8 16 AND 2EC9 91 SWAP2 2ECA 83 DUP4 2ECB 01 ADD 2ECC 91 SWAP2 2ECD 90 SWAP1 2ECE 91 SWAP2 2ECF 52 MSTORE 2ED0 60 PUSH1 0x40 2ED2 80 DUP1 2ED3 83 DUP4 2ED4 01 ADD 2ED5 88 DUP9 2ED6 90 SWAP1 2ED7 52 MSTORE 2ED8 60 PUSH1 0xe0 2EDA 87 DUP8 2EDB 01 ADD 2EDC 51 MLOAD 2EDD 62 PUSH3 0xffffff 2EE1 16 AND 2EE2 60 PUSH1 0x60 2EE4 84 DUP5 2EE5 01 ADD 2EE6 52 MSTORE 2EE7 5F PUSH0 2EE8 60 PUSH1 0x80 2EEA 84 DUP5 2EEB 01 ADD 2EEC 81 DUP2 2EED 90 SWAP1 2EEE 52 MSTORE 2EEF 90 SWAP1 2EF0 51 MLOAD 2EF1 63 PUSH4 0x5e90b825 2EF6 60 PUSH1 0xe1 2EF8 1B SHL 2EF9 81 DUP2 2EFA 52 MSTORE 2EFB 90 SWAP1 2EFC 91 SWAP2 2EFD 84 DUP5 2EFE 16 AND 2EFF 90 SWAP1 2F00 63 PUSH4 0xbd21704a 2F05 90 SWAP1 2F06 61 PUSH2 0x2f13 2F09 90 SWAP1 2F0A 85 DUP6 2F0B 90 SWAP1 2F0C 60 PUSH1 0x04 2F0E 01 ADD 2F0F 61 PUSH2 0x3756 2F12 56 *JUMP 2F13 5B JUMPDEST 2F14 60 PUSH1 0x80 2F16 60 PUSH1 0x40 2F18 51 MLOAD 2F19 80 DUP1 2F1A 83 DUP4 2F1B 03 SUB 2F1C 81 DUP2 2F1D 5F PUSH0 2F1E 87 DUP8 2F1F 5A GAS 2F20 F1 CALL 2F21 15 ISZERO 2F22 80 DUP1 2F23 15 ISZERO 2F24 61 PUSH2 0x2f2f 2F27 57 *JUMPI 2F28 3D RETURNDATASIZE 2F29 5F PUSH0 2F2A 80 DUP1 2F2B 3E RETURNDATACOPY 2F2C 3D RETURNDATASIZE 2F2D 5F PUSH0 2F2E FD *REVERT 2F2F 5B JUMPDEST 2F30 50 POP 2F31 50 POP 2F32 50 POP 2F33 50 POP 2F34 60 PUSH1 0x40 2F36 51 MLOAD 2F37 3D RETURNDATASIZE 2F38 60 PUSH1 0x1f 2F3A 19 NOT 2F3B 60 PUSH1 0x1f 2F3D 82 DUP3 2F3E 01 ADD 2F3F 16 AND 2F40 82 DUP3 2F41 01 ADD 2F42 80 DUP1 2F43 60 PUSH1 0x40 2F45 52 MSTORE 2F46 50 POP 2F47 81 DUP2 2F48 01 ADD 2F49 90 SWAP1 2F4A 61 PUSH2 0x2f53 2F4D 91 SWAP2 2F4E 90 SWAP1 2F4F 61 PUSH2 0x37b2 2F52 56 *JUMP 2F53 5B JUMPDEST 2F54 50 POP 2F55 91 SWAP2 2F56 95 SWAP6 2F57 50 POP 2F58 61 PUSH2 0x3069 2F5B 93 SWAP4 2F5C 50 POP 2F5D 50 POP 2F5E 50 POP 2F5F 50 POP 2F60 56 *JUMP 2F61 5B JUMPDEST 2F62 5F PUSH0 2F63 84 DUP5 2F64 60 PUSH1 0x40 2F66 01 ADD 2F67 51 MLOAD 2F68 60 PUSH1 0x02 2F6A 81 DUP2 2F6B 51 MLOAD 2F6C 81 DUP2 2F6D 10 LT 2F6E 61 PUSH2 0x2f79 2F71 57 *JUMPI 2F72 61 PUSH2 0x2f79 2F75 61 PUSH2 0x36d0 2F78 56 *JUMP 2F79 5B JUMPDEST 2F7A 60 PUSH1 0x20 2F7C 02 MUL 2F7D 60 PUSH1 0x20 2F7F 01 ADD 2F80 01 ADD 2F81 51 MLOAD 2F82 85 DUP6 2F83 60 PUSH1 0xe0 2F85 01 ADD 2F86 51 MLOAD 2F87 86 DUP7 2F88 60 PUSH1 0x40 2F8A 01 ADD 2F8B 51 MLOAD 2F8C 60 PUSH1 0x01 2F8E 81 DUP2 2F8F 51 MLOAD 2F90 81 DUP2 2F91 10 LT 2F92 61 PUSH2 0x2f9d 2F95 57 *JUMPI 2F96 61 PUSH2 0x2f9d 2F99 61 PUSH2 0x36d0 2F9C 56 *JUMP 2F9D 5B JUMPDEST 2F9E 60 PUSH1 0x20 2FA0 02 MUL 2FA1 60 PUSH1 0x20 2FA3 01 ADD 2FA4 01 ADD 2FA5 51 MLOAD 2FA6 87 DUP8 2FA7 61 PUSH2 0x0100 2FAA 01 ADD 2FAB 51 MLOAD 2FAC 88 DUP9 2FAD 60 PUSH1 0x40 2FAF 01 ADD 2FB0 51 MLOAD 2FB1 60 PUSH1 0x01 2FB3 81 DUP2 2FB4 51 MLOAD 2FB5 81 DUP2 2FB6 10 LT 2FB7 61 PUSH2 0x2fc2 2FBA 57 *JUMPI 2FBB 61 PUSH2 0x2fc2 2FBE 61 PUSH2 0x36d0 2FC1 56 *JUMP 2FC2 5B JUMPDEST 2FC3 60 PUSH1 0x20 2FC5 02 MUL 2FC6 60 PUSH1 0x20 2FC8 01 ADD 2FC9 01 ADD 2FCA 51 MLOAD 2FCB 60 PUSH1 0x40 2FCD 51 MLOAD 2FCE 60 PUSH1 0x20 2FD0 01 ADD 2FD1 61 PUSH2 0x2fde 2FD4 95 SWAP6 2FD5 94 SWAP5 2FD6 93 SWAP4 2FD7 92 SWAP3 2FD8 91 SWAP2 2FD9 90 SWAP1 2FDA 61 PUSH2 0x37f5 2FDD 56 *JUMP 2FDE 5B JUMPDEST 2FDF 60 PUSH1 0x40 2FE1 80 DUP1 2FE2 51 MLOAD 2FE3 60 PUSH1 0x1f 2FE5 19 NOT 2FE6 81 DUP2 2FE7 84 DUP5 2FE8 03 SUB 2FE9 01 ADD 2FEA 81 DUP2 2FEB 52 MSTORE 2FEC 90 SWAP1 2FED 82 DUP3 2FEE 90 SWAP1 2FEF 52 MSTORE 2FF0 63 PUSH4 0x2f80bb1d 2FF5 60 PUSH1 0xe0 2FF7 1B SHL 2FF8 82 DUP3 2FF9 52 MSTORE 2FFA 91 SWAP2 2FFB 50 POP 2FFC 5F PUSH0 2FFD 90 SWAP1 2FFE 60 PUSH1 0x01 3000 60 PUSH1 0x01 3002 60 PUSH1 0xa0 3004 1B SHL 3005 03 SUB 3006 84 DUP5 3007 16 AND 3008 90 SWAP1 3009 63 PUSH4 0x2f80bb1d 300E 90 SWAP1 300F 61 PUSH2 0x301e 3012 90 SWAP1 3013 85 DUP6 3014 90 SWAP1 3015 8B DUP12 3016 90 SWAP1 3017 60 PUSH1 0x04 3019 01 ADD 301A 61 PUSH2 0x388a 301D 56 *JUMP 301E 5B JUMPDEST 301F 5F PUSH0 3020 60 PUSH1 0x40 3022 51 MLOAD 3023 80 DUP1 3024 83 DUP4 3025 03 SUB 3026 81 DUP2 3027 5F PUSH0 3028 87 DUP8 3029 5A GAS 302A F1 CALL 302B 15 ISZERO 302C 80 DUP1 302D 15 ISZERO 302E 61 PUSH2 0x3039 3031 57 *JUMPI 3032 3D RETURNDATASIZE 3033 5F PUSH0 3034 80 DUP1 3035 3E RETURNDATACOPY 3036 3D RETURNDATASIZE 3037 5F PUSH0 3038 FD *REVERT 3039 5B JUMPDEST 303A 50 POP 303B 50 POP 303C 50 POP 303D 50 POP 303E 60 PUSH1 0x40 3040 51 MLOAD 3041 3D RETURNDATASIZE 3042 5F PUSH0 3043 82 DUP3 3044 3E RETURNDATACOPY 3045 60 PUSH1 0x1f 3047 3D RETURNDATASIZE 3048 90 SWAP1 3049 81 DUP2 304A 01 ADD 304B 60 PUSH1 0x1f 304D 19 NOT 304E 16 AND 304F 82 DUP3 3050 01 ADD 3051 60 PUSH1 0x40 3053 52 MSTORE 3054 61 PUSH2 0x3060 3057 91 SWAP2 3058 90 SWAP1 3059 81 DUP2 305A 01 ADD 305B 90 SWAP1 305C 61 PUSH2 0x390a 305F 56 *JUMP 3060 5B JUMPDEST 3061 50 POP 3062 91 SWAP2 3063 95 SWAP6 3064 50 POP 3065 50 POP 3066 50 POP 3067 50 POP 3068 50 POP 3069 5B JUMPDEST 306A 50 POP 306B 93 SWAP4 306C 92 SWAP3 306D 50 POP 306E 50 POP 306F 50 POP 3070 56 *JUMP label_3071: // Incoming jump from 0x2895 // Inputs[8] // { // @3074 memory[0x40:0x60] // @307F address(this) // @308D stack[-1] // @3095 stack[-2] // @30A9 memory[0x40:0x60] // @30AF msg.gas // @30B0 address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @30B0 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 3071 5B JUMPDEST 3072 60 PUSH1 0x40 3074 51 MLOAD 3075 63 PUSH4 0x6eb1769f 307A 60 PUSH1 0xe1 307C 1B SHL 307D 81 DUP2 307E 52 MSTORE 307F 30 ADDRESS 3080 60 PUSH1 0x04 3082 82 DUP3 3083 01 ADD 3084 52 MSTORE 3085 60 PUSH1 0x01 3087 60 PUSH1 0x01 3089 60 PUSH1 0xa0 308B 1B SHL 308C 03 SUB 308D 82 DUP3 308E 81 DUP2 308F 16 AND 3090 60 PUSH1 0x24 3092 83 DUP4 3093 01 ADD 3094 52 MSTORE 3095 83 DUP4 3096 91 SWAP2 3097 5F PUSH0 3098 91 SWAP2 3099 83 DUP4 309A 16 AND 309B 90 SWAP1 309C 63 PUSH4 0xdd62ed3e 30A1 90 SWAP1 30A2 60 PUSH1 0x44 30A4 01 ADD 30A5 60 PUSH1 0x20 30A7 60 PUSH1 0x40 30A9 51 MLOAD 30AA 80 DUP1 30AB 83 DUP4 30AC 03 SUB 30AD 81 DUP2 30AE 86 DUP7 30AF 5A GAS 30B0 FA STATICCALL 30B1 15 ISZERO 30B2 80 DUP1 30B3 15 ISZERO 30B4 61 PUSH2 0x30bf 30B7 57 *JUMPI // Stack delta = +6 // Outputs[10] // { // @307E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x6eb1769f << 0xe1 // @3084 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @3094 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @3096 stack[0] = stack[-2] // @3098 stack[1] = 0x00 // @309B stack[2] = stack[-2] & (0x01 << 0xa0) - 0x01 // @30A1 stack[3] = 0xdd62ed3e // @30A4 stack[4] = 0x44 + memory[0x40:0x60] // @30B0 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) // @30B1 stack[5] = !address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) // } // Block ends with conditional jump to 0x30bf, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) label_30B8: // Incoming jump from 0x30B7, if not !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[4] // { // @30B8 returndata.length // @30BB returndata[0x00:0x00 + returndata.length] // @30BC returndata.length // @30BE memory[0x00:0x00 + returndata.length] // } 30B8 3D RETURNDATASIZE 30B9 5F PUSH0 30BA 80 DUP1 30BB 3E RETURNDATACOPY 30BC 3D RETURNDATASIZE 30BD 5F PUSH0 30BE FD *REVERT // Stack delta = +0 // Outputs[2] // { // @30BB memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @30BE revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_30BF: // Incoming jump from 0x30B7, if !!address(stack[-2] & (0x01 << 0xa0) - 0x01).staticcall.gas(msg.gas)(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x44 + memory[0x40:0x60]) - memory[0x40:0x60]]) // Inputs[2] // { // @30C6 memory[0x40:0x60] // @30C7 returndata.length // } 30BF 5B JUMPDEST 30C0 50 POP 30C1 50 POP 30C2 50 POP 30C3 50 POP 30C4 60 PUSH1 0x40 30C6 51 MLOAD 30C7 3D RETURNDATASIZE 30C8 60 PUSH1 0x1f 30CA 19 NOT 30CB 60 PUSH1 0x1f 30CD 82 DUP3 30CE 01 ADD 30CF 16 AND 30D0 82 DUP3 30D1 01 ADD 30D2 80 DUP1 30D3 60 PUSH1 0x40 30D5 52 MSTORE 30D6 50 POP 30D7 81 DUP2 30D8 01 ADD 30D9 90 SWAP1 30DA 61 PUSH2 0x30e3 30DD 91 SWAP2 30DE 90 SWAP1 30DF 61 PUSH2 0x3718 30E2 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @30D5 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @30DD stack[-4] = 0x30e3 // @30DE stack[-2] = memory[0x40:0x60] // @30DE stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x3718, returns to 0x30E3 label_30E3: // Incoming return from call to 0x3718 at 0x30E2 // Inputs[2] // { // @30E4 stack[-2] // @30E4 stack[-1] // } 30E3 5B JUMPDEST 30E4 90 SWAP1 30E5 50 POP 30E6 5F PUSH0 30E7 19 NOT 30E8 81 DUP2 30E9 10 LT 30EA 15 ISZERO 30EB 61 PUSH2 0x1270 30EE 57 *JUMPI // Stack delta = -1 // Outputs[1] { @30E4 stack[-2] = stack[-1] } // Block ends with conditional jump to 0x1270, if !(stack[-1] < ~0x00) label_30EF: // Incoming jump from 0x30EE, if not !(stack[-1] < ~0x00) // Inputs[3] // { // @30F1 memory[0x40:0x60] // @3104 stack[-3] // @3113 stack[-2] // } 30EF 60 PUSH1 0x40 30F1 51 MLOAD 30F2 63 PUSH4 0x095ea7b3 30F7 60 PUSH1 0xe0 30F9 1B SHL 30FA 81 DUP2 30FB 52 MSTORE 30FC 60 PUSH1 0x01 30FE 60 PUSH1 0x01 3100 60 PUSH1 0xa0 3102 1B SHL 3103 03 SUB 3104 84 DUP5 3105 81 DUP2 3106 16 AND 3107 60 PUSH1 0x04 3109 83 DUP4 310A 01 ADD 310B 52 MSTORE 310C 5F PUSH0 310D 19 NOT 310E 60 PUSH1 0x24 3110 83 DUP4 3111 01 ADD 3112 52 MSTORE 3113 83 DUP4 3114 16 AND 3115 90 SWAP1 3116 63 PUSH4 0x095ea7b3 311B 90 SWAP1 311C 60 PUSH1 0x44 311E 01 ADD 311F 61 PUSH2 0x122e 3122 56 *JUMP // Stack delta = +3 // Outputs[6] // { // @30FB memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x095ea7b3 << 0xe0 // @310B memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = (0x01 << 0xa0) - 0x01 & stack[-3] // @3112 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = ~0x00 // @3115 stack[0] = stack[-2] & (0x01 << 0xa0) - 0x01 // @311B stack[1] = 0x095ea7b3 // @311E stack[2] = 0x44 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x122e label_3123: // Incoming call from 0x227D, returns to 0x227E // Incoming call from 0x0391, returns to 0x0392 // Inputs[3] // { // @3127 memory[0x40:0x60] // @3153 memory[0x40:0x60] // @31A1 stack[-1] // } 3123 5B JUMPDEST 3124 60 PUSH1 0x40 3126 80 DUP1 3127 51 MLOAD 3128 61 PUSH2 0x01c0 312B 81 DUP2 312C 01 ADD 312D 82 DUP3 312E 52 MSTORE 312F 5F PUSH0 3130 61 PUSH2 0x0140 3133 82 DUP3 3134 01 ADD 3135 81 DUP2 3136 81 DUP2 3137 52 MSTORE 3138 61 PUSH2 0x0160 313B 83 DUP4 313C 01 ADD 313D 82 DUP3 313E 90 SWAP1 313F 52 MSTORE 3140 61 PUSH2 0x0180 3143 83 DUP4 3144 01 ADD 3145 82 DUP3 3146 90 SWAP1 3147 52 MSTORE 3148 61 PUSH2 0x01a0 314B 83 DUP4 314C 01 ADD 314D 82 DUP3 314E 90 SWAP1 314F 52 MSTORE 3150 82 DUP3 3151 52 MSTORE 3152 82 DUP3 3153 51 MLOAD 3154 80 DUP1 3155 84 DUP5 3156 01 ADD 3157 84 DUP5 3158 52 MSTORE 3159 81 DUP2 315A 81 DUP2 315B 52 MSTORE 315C 60 PUSH1 0x20 315E 80 DUP1 315F 82 DUP3 3160 01 ADD 3161 83 DUP4 3162 90 SWAP1 3163 52 MSTORE 3164 83 DUP4 3165 01 ADD 3166 52 MSTORE 3167 91 SWAP2 3168 81 DUP2 3169 01 ADD 316A 82 DUP3 316B 90 SWAP1 316C 52 MSTORE 316D 60 PUSH1 0x60 316F 81 DUP2 3170 01 ADD 3171 82 DUP3 3172 90 SWAP1 3173 52 MSTORE 3174 60 PUSH1 0x80 3176 81 DUP2 3177 01 ADD 3178 82 DUP3 3179 90 SWAP1 317A 52 MSTORE 317B 60 PUSH1 0xa0 317D 81 DUP2 317E 01 ADD 317F 82 DUP3 3180 90 SWAP1 3181 52 MSTORE 3182 60 PUSH1 0xc0 3184 81 DUP2 3185 01 ADD 3186 82 DUP3 3187 90 SWAP1 3188 52 MSTORE 3189 60 PUSH1 0xe0 318B 81 DUP2 318C 01 ADD 318D 82 DUP3 318E 90 SWAP1 318F 52 MSTORE 3190 61 PUSH2 0x0100 3193 81 DUP2 3194 01 ADD 3195 82 DUP3 3196 90 SWAP1 3197 52 MSTORE 3198 61 PUSH2 0x0120 319B 81 DUP2 319C 01 ADD 319D 91 SWAP2 319E 90 SWAP1 319F 91 SWAP2 31A0 52 MSTORE 31A1 90 SWAP1 31A2 56 *JUMP // Stack delta = +0 // Outputs[19] // { // @312E memory[0x40:0x60] = memory[0x40:0x60] + 0x01c0 // @3137 memory[memory[0x40:0x60] + 0x0140:memory[0x40:0x60] + 0x0140 + 0x20] = 0x00 // @313F memory[memory[0x40:0x60] + 0x0160:memory[0x40:0x60] + 0x0160 + 0x20] = 0x00 // @3147 memory[memory[0x40:0x60] + 0x0180:memory[0x40:0x60] + 0x0180 + 0x20] = 0x00 // @314F memory[memory[0x40:0x60] + 0x01a0:memory[0x40:0x60] + 0x01a0 + 0x20] = 0x00 // @3151 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = memory[0x40:0x60] + 0x0140 // @3158 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @315B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @3163 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x00 // @3166 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = memory[0x40:0x60] // @316C memory[memory[0x40:0x60] + 0x40:memory[0x40:0x60] + 0x40 + 0x20] = 0x00 // @3173 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = 0x00 // @317A memory[memory[0x40:0x60] + 0x80:memory[0x40:0x60] + 0x80 + 0x20] = 0x00 // @3181 memory[memory[0x40:0x60] + 0xa0:memory[0x40:0x60] + 0xa0 + 0x20] = 0x00 // @3188 memory[memory[0x40:0x60] + 0xc0:memory[0x40:0x60] + 0xc0 + 0x20] = 0x00 // @318F memory[memory[0x40:0x60] + 0xe0:memory[0x40:0x60] + 0xe0 + 0x20] = 0x00 // @3197 memory[memory[0x40:0x60] + 0x0100:memory[0x40:0x60] + 0x0100 + 0x20] = 0x00 // @31A0 memory[memory[0x40:0x60] + 0x0120:memory[0x40:0x60] + 0x0120 + 0x20] = 0x00 // @31A1 stack[-1] = memory[0x40:0x60] // } // Block ends with unconditional jump to stack[-1] label_31A3: // Incoming call from 0x039C, returns to 0x039D // Inputs[3] // { // @31A5 stack[-2] // @31A6 storage[stack[-2]] // @31B3 memory[0x00:0x20] // } 31A3 5B JUMPDEST 31A4 50 POP 31A5 80 DUP1 31A6 54 SLOAD 31A7 5F PUSH0 31A8 82 DUP3 31A9 55 SSTORE 31AA 60 PUSH1 0x0b 31AC 02 MUL 31AD 90 SWAP1 31AE 5F PUSH0 31AF 52 MSTORE 31B0 60 PUSH1 0x20 31B2 5F PUSH0 31B3 20 SHA3 31B4 90 SWAP1 31B5 81 DUP2 31B6 01 ADD 31B7 90 SWAP1 31B8 61 PUSH2 0x0f7a 31BB 91 SWAP2 31BC 90 SWAP1 31BD 5B JUMPDEST 31BE 80 DUP1 31BF 82 DUP3 31C0 11 GT 31C1 15 ISZERO 31C2 61 PUSH2 0x324c 31C5 57 *JUMPI // Stack delta = +1 // Outputs[5] // { // @31A9 storage[stack[-2]] = 0x00 // @31AF memory[0x00:0x20] = stack[-2] // @31BB stack[-2] = 0x0f7a // @31BC stack[0] = keccak256(memory[0x00:0x20]) // @31BC stack[-1] = keccak256(memory[0x00:0x20]) + 0x0b * storage[stack[-2]] // } // Block ends with conditional call to 0x324c, returns to 0x0F7A, if !(keccak256(memory[0x00:0x20]) + 0x0b * storage[stack[-2]] > keccak256(memory[0x00:0x20])) label_31C6: // Incoming jump from 0x31C5, if not !(keccak256(memory[0x00:0x20]) + 0x0b * storage[stack[-2]] > keccak256(memory[0x00:0x20])) // Incoming jump from 0x31C5, if not !(stack[-2] > stack[-1]) // Inputs[9] // { // @31C6 stack[-1] // @31C7 storage[stack[-1]] // @31DB storage[stack[-1] + 0x01] // @31F0 storage[stack[-1] + 0x02] // @31FA storage[stack[-1] + 0x03] // @3206 storage[stack[-1] + 0x04] // @321F storage[stack[-1] + 0x07] // @3235 storage[stack[-1] + 0x09] // @323F storage[stack[-1] + 0x0a] // } 31C6 80 DUP1 31C7 54 SLOAD 31C8 60 PUSH1 0x01 31CA 60 PUSH1 0x01 31CC 60 PUSH1 0xa8 31CE 1B SHL 31CF 03 SUB 31D0 19 NOT 31D1 90 SWAP1 31D2 81 DUP2 31D3 16 AND 31D4 82 DUP3 31D5 55 SSTORE 31D6 60 PUSH1 0x01 31D8 82 DUP3 31D9 01 ADD 31DA 80 DUP1 31DB 54 SLOAD 31DC 60 PUSH1 0x01 31DE 60 PUSH1 0x01 31E0 60 PUSH1 0xa0 31E2 1B SHL 31E3 03 SUB 31E4 19 NOT 31E5 90 SWAP1 31E6 81 DUP2 31E7 16 AND 31E8 90 SWAP1 31E9 91 SWAP2 31EA 55 SSTORE 31EB 60 PUSH1 0x02 31ED 83 DUP4 31EE 01 ADD 31EF 80 DUP1 31F0 54 SLOAD 31F1 82 DUP3 31F2 16 AND 31F3 90 SWAP1 31F4 55 SSTORE 31F5 60 PUSH1 0x03 31F7 83 DUP4 31F8 01 ADD 31F9 80 DUP1 31FA 54 SLOAD 31FB 90 SWAP1 31FC 92 SWAP3 31FD 16 AND 31FE 90 SWAP1 31FF 91 SWAP2 3200 55 SSTORE 3201 60 PUSH1 0x04 3203 82 DUP3 3204 01 ADD 3205 80 DUP1 3206 54 SLOAD 3207 82 DUP3 3208 16 AND 3209 90 SWAP1 320A 55 SSTORE 320B 5F PUSH0 320C 60 PUSH1 0x05 320E 83 DUP4 320F 01 ADD 3210 81 DUP2 3211 90 SWAP1 3212 55 SSTORE 3213 60 PUSH1 0x06 3215 83 DUP4 3216 01 ADD 3217 81 DUP2 3218 90 SWAP1 3219 55 SSTORE 321A 60 PUSH1 0x07 321C 83 DUP4 321D 01 ADD 321E 80 DUP1 321F 54 SLOAD 3220 65 PUSH6 0xffffffffffff 3227 19 NOT 3228 16 AND 3229 90 SWAP1 322A 55 SSTORE 322B 60 PUSH1 0x08 322D 83 DUP4 322E 01 ADD 322F 55 SSTORE 3230 60 PUSH1 0x09 3232 82 DUP3 3233 01 ADD 3234 80 DUP1 3235 54 SLOAD 3236 82 DUP3 3237 16 AND 3238 90 SWAP1 3239 55 SSTORE 323A 60 PUSH1 0x0a 323C 82 DUP3 323D 01 ADD 323E 80 DUP1 323F 54 SLOAD 3240 90 SWAP1 3241 91 SWAP2 3242 16 AND 3243 90 SWAP1 3244 55 SSTORE 3245 60 PUSH1 0x0b 3247 01 ADD 3248 61 PUSH2 0x31bd 324B 56 *JUMP // Stack delta = +0 // Outputs[12] // { // @31D5 storage[stack[-1]] = ~((0x01 << 0xa8) - 0x01) & storage[stack[-1]] // @31EA storage[stack[-1] + 0x01] = ~((0x01 << 0xa0) - 0x01) & storage[stack[-1] + 0x01] // @31F4 storage[stack[-1] + 0x02] = ~((0x01 << 0xa0) - 0x01) & storage[stack[-1] + 0x02] // @3200 storage[stack[-1] + 0x03] = ~((0x01 << 0xa8) - 0x01) & storage[stack[-1] + 0x03] // @320A storage[stack[-1] + 0x04] = ~((0x01 << 0xa0) - 0x01) & storage[stack[-1] + 0x04] // @3212 storage[stack[-1] + 0x05] = 0x00 // @3219 storage[stack[-1] + 0x06] = 0x00 // @322A storage[stack[-1] + 0x07] = ~0xffffffffffff & storage[stack[-1] + 0x07] // @322F storage[stack[-1] + 0x08] = 0x00 // @3239 storage[stack[-1] + 0x09] = ~((0x01 << 0xa0) - 0x01) & storage[stack[-1] + 0x09] // @3244 storage[stack[-1] + 0x0a] = ~((0x01 << 0xa0) - 0x01) & storage[stack[-1] + 0x0a] // @3247 stack[-1] = 0x0b + stack[-1] // } // Block ends with unconditional jump to 0x31bd label_324C: // Incoming call from 0x31C5, returns to 0x0F7A, if !(keccak256(memory[0x00:0x20]) + 0x0b * storage[stack[-2]] > keccak256(memory[0x00:0x20])) // Incoming jump from 0x31C5, if !(stack[-2] > stack[-1]) // Inputs[2] // { // @324E stack[-2] // @324E stack[-3] // } 324C 5B JUMPDEST 324D 50 POP 324E 90 SWAP1 324F 56 *JUMP // Stack delta = -2 // Outputs[1] { @324E stack[-3] = stack[-2] } // Block ends with unconditional jump to stack[-3] label_3250: // Incoming jump from 0x3287 // Incoming jump from 0x32D7 // Incoming jump from 0x32B6 // Incoming jump from 0x3C5A // Incoming jump from 0x3CE2 // Inputs[1] { @3263 memory[0x00:0x24] } 3250 5B JUMPDEST 3251 63 PUSH4 0x4e487b71 3256 60 PUSH1 0xe0 3258 1B SHL 3259 5F PUSH0 325A 52 MSTORE 325B 60 PUSH1 0x41 325D 60 PUSH1 0x04 325F 52 MSTORE 3260 60 PUSH1 0x24 3262 5F PUSH0 3263 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @325A memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @325F memory[0x04:0x24] = 0x41 // @3263 revert(memory[0x00:0x24]); // } // Block terminates label_3264: // Incoming call from 0x33A1, returns to 0x33A2 // Inputs[1] { @3267 memory[0x40:0x60] } 3264 5B JUMPDEST 3265 60 PUSH1 0x40 3267 51 MLOAD 3268 61 PUSH2 0x0140 326B 81 DUP2 326C 01 ADD 326D 67 PUSH8 0xffffffffffffffff 3276 81 DUP2 3277 11 GT 3278 82 DUP3 3279 82 DUP3 327A 10 LT 327B 17 OR 327C 15 ISZERO 327D 61 PUSH2 0x3288 3280 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3267 stack[0] = memory[0x40:0x60] // @326C stack[1] = memory[0x40:0x60] + 0x0140 // } // Block ends with conditional jump to 0x3288, if !((memory[0x40:0x60] + 0x0140 < memory[0x40:0x60]) | (memory[0x40:0x60] + 0x0140 > 0xffffffffffffffff)) label_3281: // Incoming jump from 0x3280, if not !((memory[0x40:0x60] + 0x0140 < memory[0x40:0x60]) | (memory[0x40:0x60] + 0x0140 > 0xffffffffffffffff)) 3281 61 PUSH2 0x3288 3284 61 PUSH2 0x3250 3287 56 *JUMP // Stack delta = +1 // Outputs[1] { @3281 stack[0] = 0x3288 } // Block ends with unconditional jump to 0x3250 label_3288: // Incoming jump from 0x3280, if !((memory[0x40:0x60] + 0x0140 < memory[0x40:0x60]) | (memory[0x40:0x60] + 0x0140 > 0xffffffffffffffff)) // Inputs[3] // { // @328B stack[-1] // @328C stack[-3] // @328C stack[-2] // } 3288 5B JUMPDEST 3289 60 PUSH1 0x40 328B 52 MSTORE 328C 90 SWAP1 328D 56 *JUMP // Stack delta = -2 // Outputs[2] // { // @328B memory[0x40:0x60] = stack[-1] // @328C stack[-3] = stack[-2] // } // Block ends with unconditional jump to stack[-3] label_328E: // Incoming jump from 0x3329 // Inputs[2] // { // @3291 memory[0x40:0x60] // @3294 stack[-1] // } 328E 5B JUMPDEST 328F 60 PUSH1 0x40 3291 51 MLOAD 3292 60 PUSH1 0x1f 3294 82 DUP3 3295 01 ADD 3296 60 PUSH1 0x1f 3298 19 NOT 3299 16 AND 329A 81 DUP2 329B 01 ADD 329C 67 PUSH8 0xffffffffffffffff 32A5 81 DUP2 32A6 11 GT 32A7 82 DUP3 32A8 82 DUP3 32A9 10 LT 32AA 17 OR 32AB 15 ISZERO 32AC 61 PUSH2 0x32b7 32AF 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3291 stack[0] = memory[0x40:0x60] // @329B stack[1] = memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) // } // Block ends with conditional jump to 0x32b7, if !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) label_32B0: // Incoming jump from 0x32AF, if not !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) 32B0 61 PUSH2 0x32b7 32B3 61 PUSH2 0x3250 32B6 56 *JUMP // Stack delta = +1 // Outputs[1] { @32B0 stack[0] = 0x32b7 } // Block ends with unconditional jump to 0x3250 label_32B7: // Incoming jump from 0x32AF, if !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) // Inputs[4] // { // @32BA stack[-1] // @32BB stack[-4] // @32BB stack[-2] // @32BC stack[-3] // } 32B7 5B JUMPDEST 32B8 60 PUSH1 0x40 32BA 52 MSTORE 32BB 91 SWAP2 32BC 90 SWAP1 32BD 50 POP 32BE 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @32BA memory[0x40:0x60] = stack[-1] // @32BB stack[-4] = stack[-2] // } // Block ends with unconditional jump to stack[-4] label_32BF: // Incoming call from 0x3324, returns to 0x3325 // Incoming call from 0x395C, returns to 0x3325 // Incoming call from 0x38C9, returns to 0x3325 // Inputs[1] { @32CA stack[-1] } 32BF 5B JUMPDEST 32C0 5F PUSH0 32C1 67 PUSH8 0xffffffffffffffff 32CA 82 DUP3 32CB 11 GT 32CC 15 ISZERO 32CD 61 PUSH2 0x32d8 32D0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @32C0 stack[0] = 0x00 } // Block ends with conditional jump to 0x32d8, if !(stack[-1] > 0xffffffffffffffff) label_32D1: // Incoming jump from 0x32D0, if not !(stack[-1] > 0xffffffffffffffff) 32D1 61 PUSH2 0x32d8 32D4 61 PUSH2 0x3250 32D7 56 *JUMP // Stack delta = +1 // Outputs[1] { @32D1 stack[0] = 0x32d8 } // Block ends with unconditional jump to 0x3250 label_32D8: // Incoming jump from 0x32D0, if !(stack[-1] > 0xffffffffffffffff) // Inputs[2] // { // @32DC stack[-2] // @32E0 stack[-3] // } 32D8 5B JUMPDEST 32D9 50 POP 32DA 60 PUSH1 0x05 32DC 1B SHL 32DD 60 PUSH1 0x20 32DF 01 ADD 32E0 90 SWAP1 32E1 56 *JUMP // Stack delta = -2 // Outputs[1] { @32E0 stack[-3] = 0x20 + (stack[-2] << 0x05) } // Block ends with unconditional jump to stack[-3] label_32E2: // Incoming call from 0x35D9, returns to 0x2C7F // Incoming call from 0x37D6, returns to 0x37D7 // Incoming call from 0x35F4, returns to 0x2C7F // Incoming call from 0x3992, returns to 0x3993 // Incoming call from 0x3CF0, returns to 0x3CF1 // Incoming call from 0x335E, returns to 0x335F // Incoming call from 0x3300, returns to 0x3301 // Incoming call from 0x3C7D, returns to 0x3C7E // Incoming call from 0x3CA3, returns to 0x3CA4 // Incoming call from 0x3C90, returns to 0x3C91 // Inputs[1] { @32EB stack[-1] } 32E2 5B JUMPDEST 32E3 60 PUSH1 0x01 32E5 60 PUSH1 0x01 32E7 60 PUSH1 0xa0 32E9 1B SHL 32EA 03 SUB 32EB 81 DUP2 32EC 16 AND 32ED 81 DUP2 32EE 14 EQ 32EF 61 PUSH2 0x0f7a 32F2 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f7a, if stack[-1] == stack[-1] & (0x01 << 0xa0) - 0x01 label_32F3: // Incoming jump from 0x32F2, if not stack[-1] == stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[1] { @32F5 memory[0x00:0x00] } 32F3 5F PUSH0 32F4 80 DUP1 32F5 FD *REVERT // Stack delta = +0 // Outputs[1] { @32F5 revert(memory[0x00:0x00]); } // Block terminates label_32F6: // Incoming call from 0x33E8, returns to 0x33E9 // Incoming call from 0x33F9, returns to 0x33FA // Incoming call from 0x340A, returns to 0x340B // Inputs[2] // { // @32F7 stack[-1] // @32F8 msg.data[stack[-1]:stack[-1] + 0x20] // } 32F6 5B JUMPDEST 32F7 80 DUP1 32F8 35 CALLDATALOAD 32F9 61 PUSH2 0x3301 32FC 81 DUP2 32FD 61 PUSH2 0x32e2 3300 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @32F8 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @32F9 stack[1] = 0x3301 // @32FC stack[2] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3301 label_3301: // Incoming jump from 0x37AE, if memory[stack[-1]:stack[-1] + 0x20] == memory[stack[-1]:stack[-1] + 0x20] & 0xffffffff // Incoming return from call to 0x32E2 at 0x3300 // Incoming jump from 0x3385, if msg.data[stack[-1]:stack[-1] + 0x20] == msg.data[stack[-1]:stack[-1] + 0x20] & 0xffffff // Inputs[3] // { // @3302 stack[-1] // @3302 stack[-3] // @3303 stack[-2] // } 3301 5B JUMPDEST 3302 91 SWAP2 3303 90 SWAP1 3304 50 POP 3305 56 *JUMP // Stack delta = -2 // Outputs[1] { @3302 stack[-3] = stack[-1] } // Block ends with unconditional jump to stack[-3] label_3306: // Incoming call from 0x33D6, returns to 0x33D7 // Inputs[2] // { // @3308 stack[-2] // @330B stack[-1] // } 3306 5B JUMPDEST 3307 5F PUSH0 3308 82 DUP3 3309 60 PUSH1 0x1f 330B 83 DUP4 330C 01 ADD 330D 12 SLT 330E 61 PUSH2 0x3315 3311 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3307 stack[0] = 0x00 } // Block ends with conditional jump to 0x3315, if stack[-1] + 0x1f i< stack[-2] label_3312: // Incoming jump from 0x3311, if not stack[-1] + 0x1f i< stack[-2] // Inputs[1] { @3314 memory[0x00:0x00] } 3312 5F PUSH0 3313 80 DUP1 3314 FD *REVERT // Stack delta = +0 // Outputs[1] { @3314 revert(memory[0x00:0x00]); } // Block terminates label_3315: // Incoming jump from 0x3311, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3316 stack[-2] // @3317 msg.data[stack[-2]:stack[-2] + 0x20] // } 3315 5B JUMPDEST 3316 81 DUP2 3317 35 CALLDATALOAD 3318 60 PUSH1 0x20 331A 61 PUSH2 0x332a 331D 61 PUSH2 0x3325 3320 83 DUP4 3321 61 PUSH2 0x32bf 3324 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @3317 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3318 stack[1] = 0x20 // @331A stack[2] = 0x332a // @331D stack[3] = 0x3325 // @3320 stack[4] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x32bf, returns to 0x3325 label_3325: // Incoming return from call to 0x32BF at 0x3324 // Incoming return from call to 0x32BF at 0x395C // Incoming return from call to 0x32BF at 0x38C9 3325 5B JUMPDEST 3326 61 PUSH2 0x328e 3329 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x328e label_332A: // Incoming return from call to 0x3325 at 0x3324 // Inputs[5] // { // @332B stack[-3] // @332C stack[-1] // @3334 stack[-5] // @3336 stack[-2] // @333D stack[-6] // } 332A 5B JUMPDEST 332B 82 DUP3 332C 81 DUP2 332D 52 MSTORE 332E 60 PUSH1 0x05 3330 92 SWAP3 3331 90 SWAP1 3332 92 SWAP3 3333 1B SHL 3334 84 DUP5 3335 01 ADD 3336 81 DUP2 3337 01 ADD 3338 91 SWAP2 3339 81 DUP2 333A 81 DUP2 333B 01 ADD 333C 90 SWAP1 333D 86 DUP7 333E 84 DUP5 333F 11 GT 3340 15 ISZERO 3341 61 PUSH2 0x3348 3344 57 *JUMPI // Stack delta = +1 // Outputs[4] // { // @332D memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @3338 stack[-3] = stack[-2] + stack[-5] + (stack[-3] << 0x05) // @333C stack[-1] = stack[-1] + stack[-2] // @333C stack[0] = stack[-1] // } // Block ends with conditional jump to 0x3348, if !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) label_3345: // Incoming jump from 0x3344, if not !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) // Inputs[1] { @3347 memory[0x00:0x00] } 3345 5F PUSH0 3346 80 DUP1 3347 FD *REVERT // Stack delta = +0 // Outputs[1] { @3347 revert(memory[0x00:0x00]); } // Block terminates label_3348: // Incoming jump from 0x3344, if !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) // Inputs[3] // { // @3349 stack[-3] // @334A stack[-6] // @334D stack[-4] // } 3348 5B JUMPDEST 3349 82 DUP3 334A 86 DUP7 334B 01 ADD 334C 5B JUMPDEST 334D 84 DUP5 334E 81 DUP2 334F 10 LT 3350 15 ISZERO 3351 61 PUSH2 0x336c 3354 57 *JUMPI // Stack delta = +1 // Outputs[1] { @334B stack[0] = stack[-6] + stack[-3] } // Block ends with conditional jump to 0x336c, if !(stack[-6] + stack[-3] < stack[-4]) label_3355: // Incoming jump from 0x3354, if not !(stack[-6] + stack[-3] < stack[-4]) // Incoming jump from 0x3354, if not !(stack[-1] < stack[-5]) // Inputs[2] // { // @3355 stack[-1] // @3356 msg.data[stack[-1]:stack[-1] + 0x20] // } 3355 80 DUP1 3356 35 CALLDATALOAD 3357 61 PUSH2 0x335f 335A 81 DUP2 335B 61 PUSH2 0x32e2 335E 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3356 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @3357 stack[1] = 0x335f // @335A stack[2] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x335F label_335F: // Incoming return from call to 0x32E2 at 0x335E // Inputs[4] // { // @3360 stack[-4] // @3361 stack[-1] // @3362 stack[-2] // @3363 stack[-5] // } 335F 5B JUMPDEST 3360 83 DUP4 3361 52 MSTORE 3362 91 SWAP2 3363 83 DUP4 3364 01 ADD 3365 91 SWAP2 3366 83 DUP4 3367 01 ADD 3368 61 PUSH2 0x334c 336B 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @3361 memory[stack[-4]:stack[-4] + 0x20] = stack[-1] // @3365 stack[-4] = stack[-5] + stack[-4] // @3367 stack[-2] = stack[-5] + stack[-2] // } // Block ends with unconditional jump to 0x334c label_336C: // Incoming jump from 0x38F4, if !(stack[-1] < stack[-5]) // Incoming jump from 0x3354, if !(stack[-1] < stack[-5]) // Incoming jump from 0x38F4, if !(stack[-6] + stack[-3] < stack[-4]) // Incoming jump from 0x3354, if !(stack[-6] + stack[-3] < stack[-4]) // Inputs[3] // { // @336E stack[-9] // @336E stack[-2] // @336F stack[-8] // } 336C 5B JUMPDEST 336D 50 POP 336E 96 SWAP7 336F 95 SWAP6 3370 50 POP 3371 50 POP 3372 50 POP 3373 50 POP 3374 50 POP 3375 50 POP 3376 56 *JUMP // Stack delta = -8 // Outputs[1] { @336E stack[-9] = stack[-2] } // Block ends with unconditional jump to stack[-9] label_3377: // Incoming call from 0x344A, returns to 0x344B // Incoming call from 0x3438, returns to 0x3439 // Incoming call from 0x3425, returns to 0x3426 // Inputs[2] // { // @3378 stack[-1] // @3379 msg.data[stack[-1]:stack[-1] + 0x20] // } 3377 5B JUMPDEST 3378 80 DUP1 3379 35 CALLDATALOAD 337A 62 PUSH3 0xffffff 337E 81 DUP2 337F 16 AND 3380 81 DUP2 3381 14 EQ 3382 61 PUSH2 0x3301 3385 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3379 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] } // Block ends with conditional jump to 0x3301, if msg.data[stack[-1]:stack[-1] + 0x20] == msg.data[stack[-1]:stack[-1] + 0x20] & 0xffffff label_3386: // Incoming jump from 0x3385, if not msg.data[stack[-1]:stack[-1] + 0x20] == msg.data[stack[-1]:stack[-1] + 0x20] & 0xffffff // Inputs[1] { @3388 memory[0x00:0x00] } 3386 5F PUSH0 3387 80 DUP1 3388 FD *REVERT // Stack delta = +0 // Outputs[1] { @3388 revert(memory[0x00:0x00]); } // Block terminates label_3389: // Incoming call from 0x3486, returns to 0x04DA // Inputs[2] // { // @338E stack[-1] // @338F stack[-2] // } 3389 5B JUMPDEST 338A 5F PUSH0 338B 61 PUSH2 0x0140 338E 82 DUP3 338F 84 DUP5 3390 03 SUB 3391 12 SLT 3392 15 ISZERO 3393 61 PUSH2 0x339a 3396 57 *JUMPI // Stack delta = +1 // Outputs[1] { @338A stack[0] = 0x00 } // Block ends with conditional jump to 0x339a, if !(stack[-2] - stack[-1] i< 0x0140) label_3397: // Incoming jump from 0x3396, if not !(stack[-2] - stack[-1] i< 0x0140) // Inputs[1] { @3399 memory[0x00:0x00] } 3397 5F PUSH0 3398 80 DUP1 3399 FD *REVERT // Stack delta = +0 // Outputs[1] { @3399 revert(memory[0x00:0x00]); } // Block terminates label_339A: // Incoming jump from 0x3396, if !(stack[-2] - stack[-1] i< 0x0140) 339A 5B JUMPDEST 339B 61 PUSH2 0x33a2 339E 61 PUSH2 0x3264 33A1 56 *JUMP // Stack delta = +1 // Outputs[1] { @339B stack[0] = 0x33a2 } // Block ends with call to 0x3264, returns to 0x33A2 label_33A2: // Incoming return from call to 0x3264 at 0x33A1 // Inputs[6] // { // @33A3 stack[-1] // @33A3 stack[-2] // @33A5 stack[-3] // @33A6 msg.data[stack[-3]:stack[-3] + 0x20] // @33AD msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @33B7 msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } 33A2 5B JUMPDEST 33A3 90 SWAP1 33A4 50 POP 33A5 81 DUP2 33A6 35 CALLDATALOAD 33A7 81 DUP2 33A8 52 MSTORE 33A9 60 PUSH1 0x20 33AB 82 DUP3 33AC 01 ADD 33AD 35 CALLDATALOAD 33AE 60 PUSH1 0x20 33B0 82 DUP3 33B1 01 ADD 33B2 52 MSTORE 33B3 60 PUSH1 0x40 33B5 82 DUP3 33B6 01 ADD 33B7 35 CALLDATALOAD 33B8 67 PUSH8 0xffffffffffffffff 33C1 81 DUP2 33C2 11 GT 33C3 15 ISZERO 33C4 61 PUSH2 0x33cb 33C7 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @33A3 stack[-2] = stack[-1] // @33A8 memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @33B2 memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @33B7 stack[-1] = msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x33cb, if !(msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] > 0xffffffffffffffff) label_33C8: // Incoming jump from 0x33C7, if not !(msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] > 0xffffffffffffffff) // Inputs[1] { @33CA memory[0x00:0x00] } 33C8 5F PUSH0 33C9 80 DUP1 33CA FD *REVERT // Stack delta = +0 // Outputs[1] { @33CA revert(memory[0x00:0x00]); } // Block terminates label_33CB: // Incoming jump from 0x33C7, if !(msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @33CF stack[-4] // @33D0 stack[-1] // @33D1 stack[-3] // } 33CB 5B JUMPDEST 33CC 61 PUSH2 0x33d7 33CF 84 DUP5 33D0 82 DUP3 33D1 85 DUP6 33D2 01 ADD 33D3 61 PUSH2 0x3306 33D6 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @33CC stack[0] = 0x33d7 // @33CF stack[1] = stack[-4] // @33D2 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3306, returns to 0x33D7 label_33D7: // Incoming return from call to 0x3306 at 0x33D6 // Inputs[3] // { // @33DA stack[-3] // @33DC stack[-1] // @33E3 stack[-4] // } 33D7 5B JUMPDEST 33D8 60 PUSH1 0x40 33DA 83 DUP4 33DB 01 ADD 33DC 52 MSTORE 33DD 50 POP 33DE 61 PUSH2 0x33e9 33E1 60 PUSH1 0x60 33E3 83 DUP4 33E4 01 ADD 33E5 61 PUSH2 0x32f6 33E8 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @33DC memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] = stack[-1] // @33DE stack[-2] = 0x33e9 // @33E4 stack[-1] = stack[-4] + 0x60 // } // Block ends with call to 0x32f6, returns to 0x33E9 label_33E9: // Incoming return from call to 0x32F6 at 0x33E8 // Inputs[3] // { // @33EC stack[-2] // @33EE stack[-1] // @33F4 stack[-3] // } 33E9 5B JUMPDEST 33EA 60 PUSH1 0x60 33EC 82 DUP3 33ED 01 ADD 33EE 52 MSTORE 33EF 61 PUSH2 0x33fa 33F2 60 PUSH1 0x80 33F4 83 DUP4 33F5 01 ADD 33F6 61 PUSH2 0x32f6 33F9 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @33EE memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @33EF stack[-1] = 0x33fa // @33F5 stack[0] = stack[-3] + 0x80 // } // Block ends with call to 0x32f6, returns to 0x33FA label_33FA: // Incoming return from call to 0x32F6 at 0x33F9 // Inputs[3] // { // @33FD stack[-2] // @33FF stack[-1] // @3405 stack[-3] // } 33FA 5B JUMPDEST 33FB 60 PUSH1 0x80 33FD 82 DUP3 33FE 01 ADD 33FF 52 MSTORE 3400 61 PUSH2 0x340b 3403 60 PUSH1 0xa0 3405 83 DUP4 3406 01 ADD 3407 61 PUSH2 0x32f6 340A 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @33FF memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] = stack[-1] // @3400 stack[-1] = 0x340b // @3406 stack[0] = stack[-3] + 0xa0 // } // Block ends with call to 0x32f6, returns to 0x340B label_340B: // Incoming return from call to 0x32F6 at 0x340A // Inputs[4] // { // @340E stack[-2] // @3410 stack[-1] // @3413 stack[-3] // @3415 msg.data[stack[-3] + 0xc0:stack[-3] + 0xc0 + 0x20] // } 340B 5B JUMPDEST 340C 60 PUSH1 0xa0 340E 82 DUP3 340F 01 ADD 3410 52 MSTORE 3411 60 PUSH1 0xc0 3413 82 DUP3 3414 01 ADD 3415 35 CALLDATALOAD 3416 60 PUSH1 0xc0 3418 82 DUP3 3419 01 ADD 341A 52 MSTORE 341B 61 PUSH2 0x3426 341E 60 PUSH1 0xe0 3420 83 DUP4 3421 01 ADD 3422 61 PUSH2 0x3377 3425 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @3410 memory[stack[-2] + 0xa0:stack[-2] + 0xa0 + 0x20] = stack[-1] // @341A memory[stack[-2] + 0xc0:stack[-2] + 0xc0 + 0x20] = msg.data[stack[-3] + 0xc0:stack[-3] + 0xc0 + 0x20] // @341B stack[-1] = 0x3426 // @3421 stack[0] = stack[-3] + 0xe0 // } // Block ends with call to 0x3377, returns to 0x3426 label_3426: // Incoming return from call to 0x3377 at 0x3425 // Inputs[3] // { // @3429 stack[-2] // @342B stack[-1] // @3433 stack[-3] // } 3426 5B JUMPDEST 3427 60 PUSH1 0xe0 3429 82 DUP3 342A 01 ADD 342B 52 MSTORE 342C 61 PUSH2 0x0100 342F 61 PUSH2 0x3439 3432 81 DUP2 3433 84 DUP5 3434 01 ADD 3435 61 PUSH2 0x3377 3438 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @342B memory[stack[-2] + 0xe0:stack[-2] + 0xe0 + 0x20] = stack[-1] // @342C stack[-1] = 0x0100 // @342F stack[0] = 0x3439 // @3434 stack[1] = stack[-3] + 0x0100 // } // Block ends with call to 0x3377, returns to 0x3439 label_3439: // Incoming return from call to 0x3377 at 0x3438 // Inputs[4] // { // @343A stack[-2] // @343A stack[-1] // @343B stack[-3] // @3444 stack[-4] // } 3439 5B JUMPDEST 343A 90 SWAP1 343B 82 DUP3 343C 01 ADD 343D 52 MSTORE 343E 61 PUSH2 0x0120 3441 61 PUSH2 0x344b 3444 83 DUP4 3445 82 DUP3 3446 01 ADD 3447 61 PUSH2 0x3377 344A 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @343D memory[stack[-3] + stack[-2]:stack[-3] + stack[-2] + 0x20] = stack[-1] // @343E stack[-2] = 0x0120 // @3441 stack[-1] = 0x344b // @3446 stack[0] = 0x0120 + stack[-4] // } // Block ends with call to 0x3377, returns to 0x344B label_344B: // Incoming return from call to 0x3377 at 0x344A // Inputs[5] // { // @344C stack[-2] // @344C stack[-1] // @344D stack[-3] // @3450 stack[-6] // @3451 stack[-5] // } 344B 5B JUMPDEST 344C 90 SWAP1 344D 82 DUP3 344E 01 ADD 344F 52 MSTORE 3450 92 SWAP3 3451 91 SWAP2 3452 50 POP 3453 50 POP 3454 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @344F memory[stack[-3] + stack[-2]:stack[-3] + stack[-2] + 0x20] = stack[-1] // @3450 stack[-6] = stack[-3] // } // Block ends with unconditional jump to stack[-6] label_3455: // Incoming call from 0x00A0, returns to 0x00A1 // Incoming call from 0x012E, returns to 0x012F // Incoming call from 0x011B, returns to 0x011C // Incoming call from 0x017C, returns to 0x017D // Incoming call from 0x01AE, returns to 0x01AF // Inputs[2] // { // @3459 stack[-1] // @345A stack[-2] // } 3455 5B JUMPDEST 3456 5F PUSH0 3457 60 PUSH1 0x20 3459 82 DUP3 345A 84 DUP5 345B 03 SUB 345C 12 SLT 345D 15 ISZERO 345E 61 PUSH2 0x3465 3461 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3456 stack[0] = 0x00 } // Block ends with conditional jump to 0x3465, if !(stack[-2] - stack[-1] i< 0x20) label_3462: // Incoming jump from 0x3461, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @3464 memory[0x00:0x00] } 3462 5F PUSH0 3463 80 DUP1 3464 FD *REVERT // Stack delta = +0 // Outputs[1] { @3464 revert(memory[0x00:0x00]); } // Block terminates label_3465: // Incoming jump from 0x3461, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3466 stack[-2] // @3467 msg.data[stack[-2]:stack[-2] + 0x20] // } 3465 5B JUMPDEST 3466 81 DUP2 3467 35 CALLDATALOAD 3468 67 PUSH8 0xffffffffffffffff 3471 81 DUP2 3472 11 GT 3473 15 ISZERO 3474 61 PUSH2 0x347b 3477 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3467 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x347b, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_3478: // Incoming jump from 0x3477, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @347A memory[0x00:0x00] } 3478 5F PUSH0 3479 80 DUP1 347A FD *REVERT // Stack delta = +0 // Outputs[1] { @347A revert(memory[0x00:0x00]); } // Block terminates label_347B: // Incoming jump from 0x3477, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @347F stack[-4] // @3480 stack[-1] // @3481 stack[-3] // } 347B 5B JUMPDEST 347C 61 PUSH2 0x04da 347F 84 DUP5 3480 82 DUP3 3481 85 DUP6 3482 01 ADD 3483 61 PUSH2 0x3389 3486 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @347C stack[0] = 0x04da // @347F stack[1] = stack[-4] // @3482 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3389, returns to 0x04DA label_3487: // Incoming call from 0x00D2, returns to 0x00D3 // Inputs[2] // { // @348B stack[-1] // @348C stack[-2] // } 3487 5B JUMPDEST 3488 5F PUSH0 3489 60 PUSH1 0x20 348B 82 DUP3 348C 84 DUP5 348D 03 SUB 348E 12 SLT 348F 15 ISZERO 3490 61 PUSH2 0x3497 3493 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3488 stack[0] = 0x00 } // Block ends with conditional jump to 0x3497, if !(stack[-2] - stack[-1] i< 0x20) label_3494: // Incoming jump from 0x3493, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @3496 memory[0x00:0x00] } 3494 5F PUSH0 3495 80 DUP1 3496 FD *REVERT // Stack delta = +0 // Outputs[1] { @3496 revert(memory[0x00:0x00]); } // Block terminates label_3497: // Incoming jump from 0x3493, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[4] // { // @3499 msg.data[stack[-2]:stack[-2] + 0x20] // @3499 stack[-2] // @349A stack[-4] // @349B stack[-3] // } 3497 5B JUMPDEST 3498 50 POP 3499 35 CALLDATALOAD 349A 91 SWAP2 349B 90 SWAP1 349C 50 POP 349D 56 *JUMP // Stack delta = -3 // Outputs[1] { @349A stack[-4] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to stack[-4] label_349E: // Incoming call from 0x00FB, returns to 0x00FC // Inputs[2] // { // @34A2 stack[-1] // @34A3 stack[-2] // } 349E 5B JUMPDEST 349F 5F PUSH0 34A0 60 PUSH1 0x20 34A2 82 DUP3 34A3 84 DUP5 34A4 03 SUB 34A5 12 SLT 34A6 15 ISZERO 34A7 61 PUSH2 0x34ae 34AA 57 *JUMPI // Stack delta = +1 // Outputs[1] { @349F stack[0] = 0x00 } // Block ends with conditional jump to 0x34ae, if !(stack[-2] - stack[-1] i< 0x20) label_34AB: // Incoming jump from 0x34AA, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @34AD memory[0x00:0x00] } 34AB 5F PUSH0 34AC 80 DUP1 34AD FD *REVERT // Stack delta = +0 // Outputs[1] { @34AD revert(memory[0x00:0x00]); } // Block terminates label_34AE: // Incoming jump from 0x34AA, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @34AF stack[-2] // @34B0 msg.data[stack[-2]:stack[-2] + 0x20] // } 34AE 5B JUMPDEST 34AF 81 DUP2 34B0 35 CALLDATALOAD 34B1 67 PUSH8 0xffffffffffffffff 34BA 81 DUP2 34BB 11 GT 34BC 15 ISZERO 34BD 61 PUSH2 0x34c4 34C0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @34B0 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x34c4, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_34C1: // Incoming jump from 0x34C0, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @34C3 memory[0x00:0x00] } 34C1 5F PUSH0 34C2 80 DUP1 34C3 FD *REVERT // Stack delta = +0 // Outputs[1] { @34C3 revert(memory[0x00:0x00]); } // Block terminates label_34C4: // Incoming jump from 0x34C0, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @34C5 stack[-3] // @34C6 stack[-1] // @34CA stack[-4] // } 34C4 5B JUMPDEST 34C5 82 DUP3 34C6 01 ADD 34C7 60 PUSH1 0x80 34C9 81 DUP2 34CA 85 DUP6 34CB 03 SUB 34CC 12 SLT 34CD 15 ISZERO 34CE 61 PUSH2 0x2c7f 34D1 57 *JUMPI // Stack delta = +0 // Outputs[1] { @34C6 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x2c7f, if !(stack[-4] - (stack[-3] + stack[-1]) i< 0x80) label_34D2: // Incoming jump from 0x34D1, if not !(stack[-4] - (stack[-3] + stack[-1]) i< 0x80) // Inputs[1] { @34D4 memory[0x00:0x00] } 34D2 5F PUSH0 34D3 80 DUP1 34D4 FD *REVERT // Stack delta = +0 // Outputs[1] { @34D4 revert(memory[0x00:0x00]); } // Block terminates 34D5 5B JUMPDEST 34D6 81 DUP2 34D7 51 MLOAD 34D8 80 DUP1 34D9 51 MLOAD 34DA 60 PUSH1 0xff 34DC 16 AND 34DD 82 DUP3 34DE 52 MSTORE 34DF 60 PUSH1 0x20 34E1 80 DUP1 34E2 82 DUP3 34E3 01 ADD 34E4 51 MLOAD 34E5 60 PUSH1 0x01 34E7 60 PUSH1 0x01 34E9 60 PUSH1 0xa0 34EB 1B SHL 34EC 03 SUB 34ED 90 SWAP1 34EE 81 DUP2 34EF 16 AND 34F0 91 SWAP2 34F1 84 DUP5 34F2 01 ADD 34F3 91 SWAP2 34F4 90 SWAP1 34F5 91 SWAP2 34F6 52 MSTORE 34F7 60 PUSH1 0x40 34F9 80 DUP1 34FA 83 DUP4 34FB 01 ADD 34FC 51 MLOAD 34FD 82 DUP3 34FE 16 AND 34FF 90 SWAP1 3500 84 DUP5 3501 01 ADD 3502 52 MSTORE 3503 60 PUSH1 0x60 3505 91 SWAP2 3506 82 DUP3 3507 01 ADD 3508 51 MLOAD 3509 16 AND 350A 90 SWAP1 350B 82 DUP3 350C 01 ADD 350D 52 MSTORE 350E 61 PUSH2 0x01c0 3511 81 DUP2 3512 01 ADD 3513 60 PUSH1 0x20 3515 83 DUP4 3516 81 DUP2 3517 01 ADD 3518 51 MLOAD 3519 80 DUP1 351A 51 MLOAD 351B 60 PUSH1 0x01 351D 60 PUSH1 0x01 351F 60 PUSH1 0xa0 3521 1B SHL 3522 03 SUB 3523 16 AND 3524 60 PUSH1 0x80 3526 85 DUP6 3527 01 ADD 3528 52 MSTORE 3529 90 SWAP1 352A 81 DUP2 352B 01 ADD 352C 51 MLOAD 352D 15 ISZERO 352E 15 ISZERO 352F 60 PUSH1 0xa0 3531 84 DUP5 3532 01 ADD 3533 52 MSTORE 3534 50 POP 3535 60 PUSH1 0x40 3537 83 DUP4 3538 01 ADD 3539 51 MLOAD 353A 60 PUSH1 0x01 353C 60 PUSH1 0x01 353E 60 PUSH1 0xa0 3540 1B SHL 3541 03 SUB 3542 81 DUP2 3543 16 AND 3544 60 PUSH1 0xc0 3546 84 DUP5 3547 01 ADD 3548 52 MSTORE 3549 50 POP 354A 60 PUSH1 0x60 354C 83 DUP4 354D 01 ADD 354E 51 MLOAD 354F 60 PUSH1 0xe0 3551 83 DUP4 3552 01 ADD 3553 52 MSTORE 3554 60 PUSH1 0x80 3556 83 DUP4 3557 01 ADD 3558 51 MLOAD 3559 61 PUSH2 0x0100 355C 81 DUP2 355D 81 DUP2 355E 85 DUP6 355F 01 ADD 3560 52 MSTORE 3561 60 PUSH1 0xa0 3563 85 DUP6 3564 01 ADD 3565 51 MLOAD 3566 91 SWAP2 3567 50 POP 3568 61 PUSH2 0x0120 356B 61 PUSH2 0x357a 356E 81 DUP2 356F 86 DUP7 3570 01 ADD 3571 84 DUP5 3572 62 PUSH3 0xffffff 3576 16 AND 3577 90 SWAP1 3578 52 MSTORE 3579 56 *JUMP 357A 5B JUMPDEST 357B 60 PUSH1 0xc0 357D 86 DUP7 357E 01 ADD 357F 51 MLOAD 3580 62 PUSH3 0xffffff 3584 16 AND 3585 61 PUSH2 0x0140 3588 86 DUP7 3589 01 ADD 358A 52 MSTORE 358B 60 PUSH1 0xe0 358D 86 DUP7 358E 01 ADD 358F 51 MLOAD 3590 61 PUSH2 0x0160 3593 86 DUP7 3594 01 ADD 3595 52 MSTORE 3596 90 SWAP1 3597 85 DUP6 3598 01 ADD 3599 51 MLOAD 359A 60 PUSH1 0x01 359C 60 PUSH1 0x01 359E 60 PUSH1 0xa0 35A0 1B SHL 35A1 03 SUB 35A2 90 SWAP1 35A3 81 DUP2 35A4 16 AND 35A5 61 PUSH2 0x0180 35A8 86 DUP7 35A9 01 ADD 35AA 52 MSTORE 35AB 94 SWAP5 35AC 01 ADD 35AD 51 MLOAD 35AE 90 SWAP1 35AF 93 SWAP4 35B0 16 AND 35B1 61 PUSH2 0x01a0 35B4 90 SWAP1 35B5 92 SWAP3 35B6 01 ADD 35B7 91 SWAP2 35B8 90 SWAP1 35B9 91 SWAP2 35BA 52 MSTORE 35BB 91 SWAP2 35BC 90 SWAP1 35BD 50 POP 35BE 56 *JUMP label_35BF: // Incoming jump from 0x13EE // Incoming jump from 0x1C71 // Incoming jump from 0x019B // Incoming jump from 0x1808 // Incoming jump from 0x22AD // Inputs[2] // { // @35C3 stack[-1] // @35C4 stack[-2] // } 35BF 5B JUMPDEST 35C0 5F PUSH0 35C1 60 PUSH1 0x20 35C3 82 DUP3 35C4 84 DUP5 35C5 03 SUB 35C6 12 SLT 35C7 15 ISZERO 35C8 61 PUSH2 0x35cf 35CB 57 *JUMPI // Stack delta = +1 // Outputs[1] { @35C0 stack[0] = 0x00 } // Block ends with conditional jump to 0x35cf, if !(stack[-2] - stack[-1] i< 0x20) label_35CC: // Incoming jump from 0x35CB, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @35CE memory[0x00:0x00] } 35CC 5F PUSH0 35CD 80 DUP1 35CE FD *REVERT // Stack delta = +0 // Outputs[1] { @35CE revert(memory[0x00:0x00]); } // Block terminates label_35CF: // Incoming jump from 0x35CB, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @35D0 stack[-2] // @35D1 msg.data[stack[-2]:stack[-2] + 0x20] // } 35CF 5B JUMPDEST 35D0 81 DUP2 35D1 35 CALLDATALOAD 35D2 61 PUSH2 0x2c7f 35D5 81 DUP2 35D6 61 PUSH2 0x32e2 35D9 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @35D1 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @35D2 stack[1] = 0x2c7f // @35D5 stack[2] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x2C7F label_35DA: // Incoming jump from 0x022A // Inputs[2] // { // @35DE stack[-1] // @35DF stack[-2] // } 35DA 5B JUMPDEST 35DB 5F PUSH0 35DC 60 PUSH1 0x20 35DE 82 DUP3 35DF 84 DUP5 35E0 03 SUB 35E1 12 SLT 35E2 15 ISZERO 35E3 61 PUSH2 0x35ea 35E6 57 *JUMPI // Stack delta = +1 // Outputs[1] { @35DB stack[0] = 0x00 } // Block ends with conditional jump to 0x35ea, if !(stack[-2] - stack[-1] i< 0x20) label_35E7: // Incoming jump from 0x35E6, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @35E9 memory[0x00:0x00] } 35E7 5F PUSH0 35E8 80 DUP1 35E9 FD *REVERT // Stack delta = +0 // Outputs[1] { @35E9 revert(memory[0x00:0x00]); } // Block terminates label_35EA: // Incoming jump from 0x35E6, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @35EB stack[-2] // @35EC memory[stack[-2]:stack[-2] + 0x20] // } 35EA 5B JUMPDEST 35EB 81 DUP2 35EC 51 MLOAD 35ED 61 PUSH2 0x2c7f 35F0 81 DUP2 35F1 61 PUSH2 0x32e2 35F4 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @35EC stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @35ED stack[1] = 0x2c7f // @35F0 stack[2] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x2C7F label_35F5: // Incoming call from 0x364E, returns to 0x04DA // Incoming call from 0x3AD6, returns to 0x3AD7 // Inputs[3] // { // @35F7 stack[-1] // @35F8 memory[stack[-1]:stack[-1] + 0x20] // @35FA stack[-2] // } 35F5 5B JUMPDEST 35F6 5F PUSH0 35F7 81 DUP2 35F8 51 MLOAD 35F9 80 DUP1 35FA 84 DUP5 35FB 52 MSTORE 35FC 60 PUSH1 0x20 35FE 80 DUP1 35FF 85 DUP6 3600 01 ADD 3601 94 SWAP5 3602 50 POP 3603 80 DUP1 3604 84 DUP5 3605 01 ADD 3606 5F PUSH0 3607 5B JUMPDEST 3608 83 DUP4 3609 81 DUP2 360A 10 LT 360B 15 ISZERO 360C 61 PUSH2 0x362c 360F 57 *JUMPI // Stack delta = +5 // Outputs[7] // { // @35F6 stack[0] = 0x00 // @35F8 stack[1] = memory[stack[-1]:stack[-1] + 0x20] // @35FB memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @35FC stack[2] = 0x20 // @3601 stack[-2] = stack[-2] + 0x20 // @3605 stack[3] = stack[-1] + 0x20 // @3606 stack[4] = 0x00 // } // Block ends with conditional jump to 0x362c, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) label_3610: // Incoming jump from 0x360F, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x360F, if not !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Inputs[5] // { // @3610 stack[-2] // @3611 memory[stack[-2]:stack[-2] + 0x20] // @361B stack[-7] // @361D stack[-1] // @361E stack[-3] // } 3610 81 DUP2 3611 51 MLOAD 3612 60 PUSH1 0x01 3614 60 PUSH1 0x01 3616 60 PUSH1 0xa0 3618 1B SHL 3619 03 SUB 361A 16 AND 361B 87 DUP8 361C 52 MSTORE 361D 95 SWAP6 361E 82 DUP3 361F 01 ADD 3620 95 SWAP6 3621 90 SWAP1 3622 82 DUP3 3623 01 ADD 3624 90 SWAP1 3625 60 PUSH1 0x01 3627 01 ADD 3628 61 PUSH2 0x3607 362B 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @361C memory[stack[-7]:stack[-7] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @3620 stack[-7] = stack[-3] + stack[-7] // @3624 stack[-2] = stack[-3] + stack[-2] // @3627 stack[-1] = 0x01 + stack[-1] // } // Block ends with unconditional jump to 0x3607 label_362C: // Incoming jump from 0x360F, if !(stack[-1] < stack[-4]) // Incoming jump from 0x360F, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Inputs[3] // { // @362E stack[-2] // @362E stack[-7] // @362F stack[-8] // } 362C 5B JUMPDEST 362D 50 POP 362E 94 SWAP5 362F 95 SWAP6 3630 94 SWAP5 3631 50 POP 3632 50 POP 3633 50 POP 3634 50 POP 3635 50 POP 3636 56 *JUMP // Stack delta = -7 // Outputs[1] { @362F stack[-8] = stack[-7] } // Block ends with unconditional jump to stack[-8] label_3637: // Incoming jump from 0x066E // Inputs[3] // { // @3638 stack[-3] // @3639 stack[-1] // @364A stack[-2] // } 3637 5B JUMPDEST 3638 82 DUP3 3639 81 DUP2 363A 52 MSTORE 363B 60 PUSH1 0x40 363D 60 PUSH1 0x20 363F 82 DUP3 3640 01 ADD 3641 52 MSTORE 3642 5F PUSH0 3643 61 PUSH2 0x04da 3646 60 PUSH1 0x40 3648 83 DUP4 3649 01 ADD 364A 84 DUP5 364B 61 PUSH2 0x35f5 364E 56 *JUMP // Stack delta = +4 // Outputs[6] // { // @363A memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @3641 memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = 0x40 // @3642 stack[0] = 0x00 // @3643 stack[1] = 0x04da // @3649 stack[2] = stack[-1] + 0x40 // @364A stack[3] = stack[-2] // } // Block ends with call to 0x35f5, returns to 0x04DA 364F 5B JUMPDEST 3650 5F PUSH0 3651 60 PUSH1 0x20 3653 80 DUP1 3654 83 DUP4 3655 85 DUP6 3656 03 SUB 3657 12 SLT 3658 15 ISZERO 3659 61 PUSH2 0x3660 365C 57 *JUMPI 365D 5F PUSH0 365E 80 DUP1 365F FD *REVERT 3660 5B JUMPDEST 3661 82 DUP3 3662 51 MLOAD 3663 67 PUSH8 0xffffffffffffffff 366C 81 DUP2 366D 11 GT 366E 15 ISZERO 366F 61 PUSH2 0x3676 3672 57 *JUMPI 3673 5F PUSH0 3674 80 DUP1 3675 FD *REVERT 3676 5B JUMPDEST 3677 83 DUP4 3678 01 ADD 3679 60 PUSH1 0x1f 367B 81 DUP2 367C 01 ADD 367D 85 DUP6 367E 13 SGT 367F 61 PUSH2 0x3686 3682 57 *JUMPI 3683 5F PUSH0 3684 80 DUP1 3685 FD *REVERT 3686 5B JUMPDEST 3687 80 DUP1 3688 51 MLOAD 3689 61 PUSH2 0x3694 368C 61 PUSH2 0x3325 368F 82 DUP3 3690 61 PUSH2 0x32bf 3693 56 *JUMP 3694 5B JUMPDEST 3695 81 DUP2 3696 81 DUP2 3697 52 MSTORE 3698 60 PUSH1 0x05 369A 91 SWAP2 369B 90 SWAP1 369C 91 SWAP2 369D 1B SHL 369E 82 DUP3 369F 01 ADD 36A0 83 DUP4 36A1 01 ADD 36A2 90 SWAP1 36A3 83 DUP4 36A4 81 DUP2 36A5 01 ADD 36A6 90 SWAP1 36A7 87 DUP8 36A8 83 DUP4 36A9 11 GT 36AA 15 ISZERO 36AB 61 PUSH2 0x36b2 36AE 57 *JUMPI 36AF 5F PUSH0 36B0 80 DUP1 36B1 FD *REVERT 36B2 5B JUMPDEST 36B3 92 SWAP3 36B4 84 DUP5 36B5 01 ADD 36B6 92 SWAP3 36B7 5B JUMPDEST 36B8 82 DUP3 36B9 84 DUP5 36BA 10 LT 36BB 15 ISZERO 36BC 61 PUSH2 0x0ef4 36BF 57 *JUMPI 36C0 83 DUP4 36C1 51 MLOAD 36C2 82 DUP3 36C3 52 MSTORE 36C4 92 SWAP3 36C5 84 DUP5 36C6 01 ADD 36C7 92 SWAP3 36C8 90 SWAP1 36C9 84 DUP5 36CA 01 ADD 36CB 90 SWAP1 36CC 61 PUSH2 0x36b7 36CF 56 *JUMP label_36D0: // Incoming jump from 0x0FA3 // Incoming jump from 0x0845 // Incoming jump from 0x2A56 // Incoming jump from 0x29C4 // Incoming jump from 0x04F9 // Incoming jump from 0x2A28 // Incoming jump from 0x0750 // Incoming jump from 0x2BB3 // Incoming jump from 0x0A15 // Incoming jump from 0x2290 // Incoming jump from 0x05AB // Incoming jump from 0x088E // Incoming jump from 0x13A2 // Incoming jump from 0x086A // Incoming jump from 0x2B8F // Incoming jump from 0x2B6A // Incoming jump from 0x077E // Incoming jump from 0x136C // Inputs[1] { @36E3 memory[0x00:0x24] } 36D0 5B JUMPDEST 36D1 63 PUSH4 0x4e487b71 36D6 60 PUSH1 0xe0 36D8 1B SHL 36D9 5F PUSH0 36DA 52 MSTORE 36DB 60 PUSH1 0x32 36DD 60 PUSH1 0x04 36DF 52 MSTORE 36E0 60 PUSH1 0x24 36E2 5F PUSH0 36E3 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @36DA memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @36DF memory[0x04:0x24] = 0x32 // @36E3 revert(memory[0x00:0x24]); // } // Block terminates 36E4 5B JUMPDEST 36E5 84 DUP5 36E6 81 DUP2 36E7 52 MSTORE 36E8 60 PUSH1 0x80 36EA 60 PUSH1 0x20 36EC 82 DUP3 36ED 01 ADD 36EE 52 MSTORE 36EF 5F PUSH0 36F0 61 PUSH2 0x36fc 36F3 60 PUSH1 0x80 36F5 83 DUP4 36F6 01 ADD 36F7 86 DUP7 36F8 61 PUSH2 0x35f5 36FB 56 *JUMP 36FC 5B JUMPDEST 36FD 60 PUSH1 0x01 36FF 60 PUSH1 0x01 3701 60 PUSH1 0xa0 3703 1B SHL 3704 03 SUB 3705 94 SWAP5 3706 90 SWAP1 3707 94 SWAP5 3708 16 AND 3709 60 PUSH1 0x40 370B 83 DUP4 370C 01 ADD 370D 52 MSTORE 370E 50 POP 370F 60 PUSH1 0x60 3711 01 ADD 3712 52 MSTORE 3713 92 SWAP3 3714 91 SWAP2 3715 50 POP 3716 50 POP 3717 56 *JUMP label_3718: // Incoming call from 0x056F, returns to 0x0570 // Incoming call from 0x30E2, returns to 0x30E3 // Incoming call from 0x1023, returns to 0x1024 // Incoming call from 0x0621, returns to 0x0622 // Incoming call from 0x0A80, returns to 0x0A81 // Incoming call from 0x2B13, returns to 0x2B14 // Incoming call from 0x09A9, returns to 0x09AA // Incoming call from 0x109D, returns to 0x109E // Incoming call from 0x1142, returns to 0x1143 // Inputs[2] // { // @371C stack[-1] // @371D stack[-2] // } 3718 5B JUMPDEST 3719 5F PUSH0 371A 60 PUSH1 0x20 371C 82 DUP3 371D 84 DUP5 371E 03 SUB 371F 12 SLT 3720 15 ISZERO 3721 61 PUSH2 0x3728 3724 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3719 stack[0] = 0x00 } // Block ends with conditional jump to 0x3728, if !(stack[-2] - stack[-1] i< 0x20) label_3725: // Incoming jump from 0x3724, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @3727 memory[0x00:0x00] } 3725 5F PUSH0 3726 80 DUP1 3727 FD *REVERT // Stack delta = +0 // Outputs[1] { @3727 revert(memory[0x00:0x00]); } // Block terminates label_3728: // Incoming jump from 0x3724, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[4] // { // @372A memory[stack[-2]:stack[-2] + 0x20] // @372A stack[-2] // @372B stack[-4] // @372C stack[-3] // } 3728 5B JUMPDEST 3729 50 POP 372A 51 MLOAD 372B 91 SWAP2 372C 90 SWAP1 372D 50 POP 372E 56 *JUMP // Stack delta = -3 // Outputs[1] { @372B stack[-4] = memory[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to stack[-4] label_372F: // Incoming jump from 0x3D45 // Incoming jump from 0x3D9E // Incoming jump from 0x3755 // Inputs[1] { @3742 memory[0x00:0x24] } 372F 5B JUMPDEST 3730 63 PUSH4 0x4e487b71 3735 60 PUSH1 0xe0 3737 1B SHL 3738 5F PUSH0 3739 52 MSTORE 373A 60 PUSH1 0x11 373C 60 PUSH1 0x04 373E 52 MSTORE 373F 60 PUSH1 0x24 3741 5F PUSH0 3742 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @3739 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @373E memory[0x04:0x24] = 0x11 // @3742 revert(memory[0x00:0x24]); // } // Block terminates label_3743: // Incoming call from 0x0F93, returns to 0x0F94 // Incoming call from 0x2C7E, returns to 0x2C7F // Incoming call from 0x059B, returns to 0x059C // Incoming call from 0x0A05, returns to 0x0A06 // Inputs[2] // { // @3744 stack[-2] // @3745 stack[-1] // } 3743 5B JUMPDEST 3744 81 DUP2 3745 81 DUP2 3746 03 SUB 3747 81 DUP2 3748 81 DUP2 3749 11 GT 374A 15 ISZERO 374B 61 PUSH2 0x2856 374E 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3746 stack[0] = stack[-1] - stack[-2] } // Block ends with conditional jump to 0x2856, if !(stack[-1] - stack[-2] > stack[-1]) label_374F: // Incoming jump from 0x374E, if not !(stack[-1] - stack[-2] > stack[-1]) 374F 61 PUSH2 0x2856 3752 61 PUSH2 0x372f 3755 56 *JUMP // Stack delta = +1 // Outputs[1] { @374F stack[0] = 0x2856 } // Block ends with unconditional jump to 0x372f label_3756: // Incoming call from 0x07E0, returns to 0x07E1 // Inputs[7] // { // @3759 stack[-1] // @375F stack[-2] // @3761 memory[stack[-2]:stack[-2] + 0x20] // @3774 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3780 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @378A memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] // @3799 memory[0x80 + stack[-2]:0x80 + stack[-2] + 0x20] // } 3756 5B JUMPDEST 3757 60 PUSH1 0xa0 3759 81 DUP2 375A 01 ADD 375B 61 PUSH2 0x2856 375E 82 DUP3 375F 84 DUP5 3760 80 DUP1 3761 51 MLOAD 3762 60 PUSH1 0x01 3764 60 PUSH1 0x01 3766 60 PUSH1 0xa0 3768 1B SHL 3769 03 SUB 376A 90 SWAP1 376B 81 DUP2 376C 16 AND 376D 83 DUP4 376E 52 MSTORE 376F 60 PUSH1 0x20 3771 80 DUP1 3772 83 DUP4 3773 01 ADD 3774 51 MLOAD 3775 82 DUP3 3776 16 AND 3777 90 SWAP1 3778 84 DUP5 3779 01 ADD 377A 52 MSTORE 377B 60 PUSH1 0x40 377D 80 DUP1 377E 83 DUP4 377F 01 ADD 3780 51 MLOAD 3781 90 SWAP1 3782 84 DUP5 3783 01 ADD 3784 52 MSTORE 3785 60 PUSH1 0x60 3787 80 DUP1 3788 83 DUP4 3789 01 ADD 378A 51 MLOAD 378B 62 PUSH3 0xffffff 378F 16 AND 3790 90 SWAP1 3791 84 DUP5 3792 01 ADD 3793 52 MSTORE 3794 60 PUSH1 0x80 3796 91 SWAP2 3797 82 DUP3 3798 01 ADD 3799 51 MLOAD 379A 16 AND 379B 91 SWAP2 379C 01 ADD 379D 52 MSTORE 379E 56 *JUMP // Stack delta = +1 // Outputs[6] // { // @375A stack[0] = stack[-1] + 0xa0 // @376E memory[stack[-1]:stack[-1] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @377A memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3784 memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @3793 memory[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] = 0xffffff & memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] // @379D memory[stack[-1] + 0x80:stack[-1] + 0x80 + 0x20] = memory[0x80 + stack[-2]:0x80 + stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // } // Block ends with unconditional jump to 0x2856 label_379F: // Incoming call from 0x38FC, returns to 0x38FD // Incoming call from 0x37E4, returns to 0x37E5 // Inputs[2] // { // @37A0 stack[-1] // @37A1 memory[stack[-1]:stack[-1] + 0x20] // } 379F 5B JUMPDEST 37A0 80 DUP1 37A1 51 MLOAD 37A2 63 PUSH4 0xffffffff 37A7 81 DUP2 37A8 16 AND 37A9 81 DUP2 37AA 14 EQ 37AB 61 PUSH2 0x3301 37AE 57 *JUMPI // Stack delta = +1 // Outputs[1] { @37A1 stack[0] = memory[stack[-1]:stack[-1] + 0x20] } // Block ends with conditional jump to 0x3301, if memory[stack[-1]:stack[-1] + 0x20] == memory[stack[-1]:stack[-1] + 0x20] & 0xffffffff label_37AF: // Incoming jump from 0x37AE, if not memory[stack[-1]:stack[-1] + 0x20] == memory[stack[-1]:stack[-1] + 0x20] & 0xffffffff // Inputs[1] { @37B1 memory[0x00:0x00] } 37AF 5F PUSH0 37B0 80 DUP1 37B1 FD *REVERT // Stack delta = +0 // Outputs[1] { @37B1 revert(memory[0x00:0x00]); } // Block terminates label_37B2: // Incoming call from 0x0820, returns to 0x0821 // Inputs[2] // { // @37B9 stack[-1] // @37BA stack[-2] // } 37B2 5B JUMPDEST 37B3 5F PUSH0 37B4 80 DUP1 37B5 5F PUSH0 37B6 80 DUP1 37B7 60 PUSH1 0x80 37B9 85 DUP6 37BA 87 DUP8 37BB 03 SUB 37BC 12 SLT 37BD 15 ISZERO 37BE 61 PUSH2 0x37c5 37C1 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @37B3 stack[0] = 0x00 // @37B4 stack[1] = 0x00 // @37B5 stack[2] = 0x00 // @37B6 stack[3] = 0x00 // } // Block ends with conditional jump to 0x37c5, if !(stack[-2] - stack[-1] i< 0x80) label_37C2: // Incoming jump from 0x37C1, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[1] { @37C4 memory[0x00:0x00] } 37C2 5F PUSH0 37C3 80 DUP1 37C4 FD *REVERT // Stack delta = +0 // Outputs[1] { @37C4 revert(memory[0x00:0x00]); } // Block terminates label_37C5: // Incoming jump from 0x37C1, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[4] // { // @37C6 stack[-5] // @37C7 memory[stack[-5]:stack[-5] + 0x20] // @37C8 stack[-4] // @37CE memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // } 37C5 5B JUMPDEST 37C6 84 DUP5 37C7 51 MLOAD 37C8 93 SWAP4 37C9 50 POP 37CA 60 PUSH1 0x20 37CC 85 DUP6 37CD 01 ADD 37CE 51 MLOAD 37CF 61 PUSH2 0x37d7 37D2 81 DUP2 37D3 61 PUSH2 0x32e2 37D6 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @37C8 stack[-4] = memory[stack[-5]:stack[-5] + 0x20] // @37CE stack[0] = memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // @37CF stack[1] = 0x37d7 // @37D2 stack[2] = memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // } // Block ends with call to 0x32e2, returns to 0x37D7 label_37D7: // Incoming return from call to 0x32E2 at 0x37D6 // Inputs[3] // { // @37D8 stack[-4] // @37D8 stack[-1] // @37DF stack[-6] // } 37D7 5B JUMPDEST 37D8 92 SWAP3 37D9 50 POP 37DA 61 PUSH2 0x37e5 37DD 60 PUSH1 0x40 37DF 86 DUP7 37E0 01 ADD 37E1 61 PUSH2 0x379f 37E4 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @37D8 stack[-4] = stack[-1] // @37DA stack[-1] = 0x37e5 // @37E0 stack[0] = stack[-6] + 0x40 // } // Block ends with call to 0x379f, returns to 0x37E5 label_37E5: // Incoming return from call to 0x379F at 0x37E4 // Inputs[7] // { // @37E8 stack[-6] // @37E9 stack[-1] // @37EC memory[0x60 + stack[-6]:0x60 + stack[-6] + 0x20] // @37ED stack[-5] // @37EE stack[-8] // @37EF stack[-4] // @37F0 stack[-7] // } 37E5 5B JUMPDEST 37E6 60 PUSH1 0x60 37E8 95 SWAP6 37E9 90 SWAP1 37EA 95 SWAP6 37EB 01 ADD 37EC 51 MLOAD 37ED 93 SWAP4 37EE 96 SWAP7 37EF 92 SWAP3 37F0 95 SWAP6 37F1 50 POP 37F2 50 POP 37F3 50 POP 37F4 56 *JUMP // Stack delta = -4 // Outputs[4] // { // @37EA stack[-6] = stack[-1] // @37ED stack[-5] = memory[0x60 + stack[-6]:0x60 + stack[-6] + 0x20] // @37EE stack[-8] = stack[-5] // @37F0 stack[-7] = stack[-4] // } // Block ends with unconditional jump to stack[-8] label_37F5: // Incoming call from 0x2BCF, returns to 0x2BD0 // Incoming call from 0x08AA, returns to 0x08AB // Inputs[7] // { // @3806 stack[-6] // @380B stack[-1] // @3818 stack[-5] // @3822 stack[-4] // @382C stack[-3] // @3830 stack[-2] // @3845 stack[-7] // } 37F5 5B JUMPDEST 37F6 6B PUSH12 0xffffffffffffffffffffffff 3803 19 NOT 3804 60 PUSH1 0x60 3806 96 SWAP7 3807 87 DUP8 3808 1B SHL 3809 81 DUP2 380A 16 AND 380B 82 DUP3 380C 52 MSTORE 380D 60 PUSH1 0x01 380F 60 PUSH1 0x01 3811 60 PUSH1 0xe8 3813 1B SHL 3814 03 SUB 3815 19 NOT 3816 60 PUSH1 0xe8 3818 96 SWAP7 3819 87 DUP8 381A 1B SHL 381B 81 DUP2 381C 16 AND 381D 60 PUSH1 0x14 381F 84 DUP5 3820 01 ADD 3821 52 MSTORE 3822 94 SWAP5 3823 87 DUP8 3824 1B SHL 3825 81 DUP2 3826 16 AND 3827 60 PUSH1 0x17 3829 83 DUP4 382A 01 ADD 382B 52 MSTORE 382C 92 SWAP3 382D 90 SWAP1 382E 94 SWAP5 382F 1B SHL 3830 90 SWAP1 3831 92 SWAP3 3832 16 AND 3833 60 PUSH1 0x2b 3835 84 DUP5 3836 01 ADD 3837 52 MSTORE 3838 92 SWAP3 3839 1B SHL 383A 90 SWAP1 383B 91 SWAP2 383C 16 AND 383D 60 PUSH1 0x2e 383F 82 DUP3 3840 01 ADD 3841 52 MSTORE 3842 60 PUSH1 0x42 3844 01 ADD 3845 90 SWAP1 3846 56 *JUMP // Stack delta = -6 // Outputs[6] // { // @380C memory[stack[-1]:stack[-1] + 0x20] = ~0xffffffffffffffffffffffff & (stack[-6] << 0x60) // @3821 memory[stack[-1] + 0x14:stack[-1] + 0x14 + 0x20] = ~((0x01 << 0xe8) - 0x01) & (stack[-5] << 0xe8) // @382B memory[stack[-1] + 0x17:stack[-1] + 0x17 + 0x20] = ~0xffffffffffffffffffffffff & (stack[-4] << 0x60) // @3837 memory[stack[-1] + 0x2b:stack[-1] + 0x2b + 0x20] = ~((0x01 << 0xe8) - 0x01) & (stack[-3] << 0xe8) // @3841 memory[stack[-1] + 0x2e:stack[-1] + 0x2e + 0x20] = ~0xffffffffffffffffffffffff & (stack[-2] << 0x60) // @3845 stack[-7] = 0x42 + stack[-1] // } // Block ends with unconditional jump to stack[-7] label_3847: // Incoming call from 0x389B, returns to 0x389C // Incoming call from 0x3A56, returns to 0x3A57 // Inputs[3] // { // @3849 stack[-1] // @384A memory[stack[-1]:stack[-1] + 0x20] // @384C stack[-2] // } 3847 5B JUMPDEST 3848 5F PUSH0 3849 81 DUP2 384A 51 MLOAD 384B 80 DUP1 384C 84 DUP5 384D 52 MSTORE 384E 5F PUSH0 384F 5B JUMPDEST 3850 81 DUP2 3851 81 DUP2 3852 10 LT 3853 15 ISZERO 3854 61 PUSH2 0x386b 3857 57 *JUMPI // Stack delta = +3 // Outputs[4] // { // @3848 stack[0] = 0x00 // @384A stack[1] = memory[stack[-1]:stack[-1] + 0x20] // @384D memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @384E stack[2] = 0x00 // } // Block ends with conditional jump to 0x386b, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) label_3858: // Incoming jump from 0x3857, if not !(stack[-1] < stack[-2]) // Incoming jump from 0x3857, if not !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Inputs[4] // { // @385A stack[-1] // @385B stack[-4] // @385F memory[0x20 + stack[-4] + stack[-1]:0x20 + stack[-4] + stack[-1] + 0x20] // @3860 stack[-5] // } 3858 60 PUSH1 0x20 385A 81 DUP2 385B 85 DUP6 385C 01 ADD 385D 81 DUP2 385E 01 ADD 385F 51 MLOAD 3860 86 DUP7 3861 83 DUP4 3862 01 ADD 3863 82 DUP3 3864 01 ADD 3865 52 MSTORE 3866 01 ADD 3867 61 PUSH2 0x384f 386A 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @3865 memory[0x20 + stack[-1] + stack[-5]:0x20 + stack[-1] + stack[-5] + 0x20] = memory[0x20 + stack[-4] + stack[-1]:0x20 + stack[-4] + stack[-1] + 0x20] // @3866 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x384f label_386B: // Incoming jump from 0x3857, if !(stack[-1] < stack[-2]) // Incoming jump from 0x3857, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Inputs[4] // { // @3870 stack[-2] // @3871 stack[-5] // @3882 stack[-3] // @3885 stack[-6] // } 386B 5B JUMPDEST 386C 50 POP 386D 5F PUSH0 386E 60 PUSH1 0x20 3870 82 DUP3 3871 86 DUP7 3872 01 ADD 3873 01 ADD 3874 52 MSTORE 3875 60 PUSH1 0x20 3877 60 PUSH1 0x1f 3879 19 NOT 387A 60 PUSH1 0x1f 387C 83 DUP4 387D 01 ADD 387E 16 AND 387F 85 DUP6 3880 01 ADD 3881 01 ADD 3882 91 SWAP2 3883 50 POP 3884 50 POP 3885 92 SWAP3 3886 91 SWAP2 3887 50 POP 3888 50 POP 3889 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @3874 memory[stack[-5] + stack[-2] + 0x20:stack[-5] + stack[-2] + 0x20 + 0x20] = 0x00 // @3885 stack[-6] = stack[-5] + (stack[-2] + 0x1f & ~0x1f) + 0x20 // } // Block ends with unconditional jump to stack[-6] label_388A: // Incoming call from 0x08EA, returns to 0x08EB // Inputs[2] // { // @388D stack[-1] // @3897 stack[-3] // } 388A 5B JUMPDEST 388B 60 PUSH1 0x40 388D 81 DUP2 388E 52 MSTORE 388F 5F PUSH0 3890 61 PUSH2 0x389c 3893 60 PUSH1 0x40 3895 83 DUP4 3896 01 ADD 3897 85 DUP6 3898 61 PUSH2 0x3847 389B 56 *JUMP // Stack delta = +4 // Outputs[5] // { // @388E memory[stack[-1]:stack[-1] + 0x20] = 0x40 // @388F stack[0] = 0x00 // @3890 stack[1] = 0x389c // @3896 stack[2] = stack[-1] + 0x40 // @3897 stack[3] = stack[-3] // } // Block ends with call to 0x3847, returns to 0x389C label_389C: // Incoming return from call to 0x3847 at 0x389B // Inputs[6] // { // @389D stack[-1] // @389D stack[-2] // @389F stack[-4] // @38A2 stack[-3] // @38A5 stack[-6] // @38A6 stack[-5] // } 389C 5B JUMPDEST 389D 90 SWAP1 389E 50 POP 389F 82 DUP3 38A0 60 PUSH1 0x20 38A2 83 DUP4 38A3 01 ADD 38A4 52 MSTORE 38A5 93 SWAP4 38A6 92 SWAP3 38A7 50 POP 38A8 50 POP 38A9 50 POP 38AA 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @38A4 memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] = stack[-4] // @38A5 stack[-6] = stack[-1] // } // Block ends with unconditional jump to stack[-6] label_38AB: // Incoming call from 0x39C7, returns to 0x39C8 // Inputs[2] // { // @38AD stack[-2] // @38B0 stack[-1] // } 38AB 5B JUMPDEST 38AC 5F PUSH0 38AD 82 DUP3 38AE 60 PUSH1 0x1f 38B0 83 DUP4 38B1 01 ADD 38B2 12 SLT 38B3 61 PUSH2 0x38ba 38B6 57 *JUMPI // Stack delta = +1 // Outputs[1] { @38AC stack[0] = 0x00 } // Block ends with conditional jump to 0x38ba, if stack[-1] + 0x1f i< stack[-2] label_38B7: // Incoming jump from 0x38B6, if not stack[-1] + 0x1f i< stack[-2] // Inputs[1] { @38B9 memory[0x00:0x00] } 38B7 5F PUSH0 38B8 80 DUP1 38B9 FD *REVERT // Stack delta = +0 // Outputs[1] { @38B9 revert(memory[0x00:0x00]); } // Block terminates label_38BA: // Incoming jump from 0x38B6, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @38BB stack[-2] // @38BC memory[stack[-2]:stack[-2] + 0x20] // } 38BA 5B JUMPDEST 38BB 81 DUP2 38BC 51 MLOAD 38BD 60 PUSH1 0x20 38BF 61 PUSH2 0x38ca 38C2 61 PUSH2 0x3325 38C5 83 DUP4 38C6 61 PUSH2 0x32bf 38C9 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @38BC stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @38BD stack[1] = 0x20 // @38BF stack[2] = 0x38ca // @38C2 stack[3] = 0x3325 // @38C5 stack[4] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x32bf, returns to 0x3325 label_38CA: // Incoming return from call to 0x3325 at 0x38C9 // Inputs[5] // { // @38CB stack[-3] // @38CC stack[-1] // @38D4 stack[-5] // @38D6 stack[-2] // @38DD stack[-6] // } 38CA 5B JUMPDEST 38CB 82 DUP3 38CC 81 DUP2 38CD 52 MSTORE 38CE 60 PUSH1 0x05 38D0 92 SWAP3 38D1 90 SWAP1 38D2 92 SWAP3 38D3 1B SHL 38D4 84 DUP5 38D5 01 ADD 38D6 81 DUP2 38D7 01 ADD 38D8 91 SWAP2 38D9 81 DUP2 38DA 81 DUP2 38DB 01 ADD 38DC 90 SWAP1 38DD 86 DUP7 38DE 84 DUP5 38DF 11 GT 38E0 15 ISZERO 38E1 61 PUSH2 0x38e8 38E4 57 *JUMPI // Stack delta = +1 // Outputs[4] // { // @38CD memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @38D8 stack[-3] = stack[-2] + stack[-5] + (stack[-3] << 0x05) // @38DC stack[-1] = stack[-1] + stack[-2] // @38DC stack[0] = stack[-1] // } // Block ends with conditional jump to 0x38e8, if !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) label_38E5: // Incoming jump from 0x38E4, if not !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) // Inputs[1] { @38E7 memory[0x00:0x00] } 38E5 5F PUSH0 38E6 80 DUP1 38E7 FD *REVERT // Stack delta = +0 // Outputs[1] { @38E7 revert(memory[0x00:0x00]); } // Block terminates label_38E8: // Incoming jump from 0x38E4, if !(stack[-2] + stack[-5] + (stack[-3] << 0x05) > stack[-6]) // Inputs[3] // { // @38E9 stack[-3] // @38EA stack[-6] // @38ED stack[-4] // } 38E8 5B JUMPDEST 38E9 82 DUP3 38EA 86 DUP7 38EB 01 ADD 38EC 5B JUMPDEST 38ED 84 DUP5 38EE 81 DUP2 38EF 10 LT 38F0 15 ISZERO 38F1 61 PUSH2 0x336c 38F4 57 *JUMPI // Stack delta = +1 // Outputs[1] { @38EB stack[0] = stack[-6] + stack[-3] } // Block ends with conditional jump to 0x336c, if !(stack[-6] + stack[-3] < stack[-4]) label_38F5: // Incoming jump from 0x38F4, if not !(stack[-6] + stack[-3] < stack[-4]) // Incoming jump from 0x38F4, if not !(stack[-1] < stack[-5]) // Inputs[1] { @38F8 stack[-1] } 38F5 61 PUSH2 0x38fd 38F8 81 DUP2 38F9 61 PUSH2 0x379f 38FC 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @38F5 stack[0] = 0x38fd // @38F8 stack[1] = stack[-1] // } // Block ends with call to 0x379f, returns to 0x38FD label_38FD: // Incoming return from call to 0x379F at 0x38FC // Inputs[4] // { // @38FE stack[-4] // @38FF stack[-1] // @3900 stack[-2] // @3901 stack[-5] // } 38FD 5B JUMPDEST 38FE 83 DUP4 38FF 52 MSTORE 3900 91 SWAP2 3901 83 DUP4 3902 01 ADD 3903 91 SWAP2 3904 83 DUP4 3905 01 ADD 3906 61 PUSH2 0x38ec 3909 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @38FF memory[stack[-4]:stack[-4] + 0x20] = stack[-1] // @3903 stack[-4] = stack[-5] + stack[-4] // @3905 stack[-2] = stack[-5] + stack[-2] // } // Block ends with unconditional jump to 0x38ec label_390A: // Incoming call from 0x092C, returns to 0x092D // Inputs[2] // { // @3911 stack[-1] // @3912 stack[-2] // } 390A 5B JUMPDEST 390B 5F PUSH0 390C 80 DUP1 390D 5F PUSH0 390E 80 DUP1 390F 60 PUSH1 0x80 3911 85 DUP6 3912 87 DUP8 3913 03 SUB 3914 12 SLT 3915 15 ISZERO 3916 61 PUSH2 0x391d 3919 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @390B stack[0] = 0x00 // @390C stack[1] = 0x00 // @390D stack[2] = 0x00 // @390E stack[3] = 0x00 // } // Block ends with conditional jump to 0x391d, if !(stack[-2] - stack[-1] i< 0x80) label_391A: // Incoming jump from 0x3919, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[1] { @391C memory[0x00:0x00] } 391A 5F PUSH0 391B 80 DUP1 391C FD *REVERT // Stack delta = +0 // Outputs[1] { @391C revert(memory[0x00:0x00]); } // Block terminates label_391D: // Incoming jump from 0x3919, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[4] // { // @391E stack[-5] // @391F memory[stack[-5]:stack[-5] + 0x20] // @3920 stack[-4] // @3927 memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // } 391D 5B JUMPDEST 391E 84 DUP5 391F 51 MLOAD 3920 93 SWAP4 3921 50 POP 3922 60 PUSH1 0x20 3924 80 DUP1 3925 86 DUP7 3926 01 ADD 3927 51 MLOAD 3928 67 PUSH8 0xffffffffffffffff 3931 80 DUP1 3932 82 DUP3 3933 11 GT 3934 15 ISZERO 3935 61 PUSH2 0x393c 3938 57 *JUMPI // Stack delta = +3 // Outputs[4] // { // @3920 stack[-4] = memory[stack[-5]:stack[-5] + 0x20] // @3922 stack[0] = 0x20 // @3927 stack[1] = memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // @3928 stack[2] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x393c, if !(memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] > 0xffffffffffffffff) label_3939: // Incoming jump from 0x3938, if not !(memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] > 0xffffffffffffffff) // Inputs[1] { @393B memory[0x00:0x00] } 3939 5F PUSH0 393A 80 DUP1 393B FD *REVERT // Stack delta = +0 // Outputs[1] { @393B revert(memory[0x00:0x00]); } // Block terminates label_393C: // Incoming jump from 0x3938, if !(memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @393D stack[-2] // @393E stack[-8] // @3942 stack[-9] // } 393C 5B JUMPDEST 393D 81 DUP2 393E 88 DUP9 393F 01 ADD 3940 91 SWAP2 3941 50 POP 3942 88 DUP9 3943 60 PUSH1 0x1f 3945 83 DUP4 3946 01 ADD 3947 12 SLT 3948 61 PUSH2 0x394f 394B 57 *JUMPI // Stack delta = +0 // Outputs[1] { @3940 stack[-2] = stack[-8] + stack[-2] } // Block ends with conditional jump to 0x394f, if stack[-8] + stack[-2] + 0x1f i< stack[-9] label_394C: // Incoming jump from 0x394B, if not stack[-8] + stack[-2] + 0x1f i< stack[-9] // Inputs[1] { @394E memory[0x00:0x00] } 394C 5F PUSH0 394D 80 DUP1 394E FD *REVERT // Stack delta = +0 // Outputs[1] { @394E revert(memory[0x00:0x00]); } // Block terminates label_394F: // Incoming jump from 0x394B, if stack[-8] + stack[-2] + 0x1f i< stack[-9] // Inputs[2] // { // @3950 stack[-2] // @3951 memory[stack[-2]:stack[-2] + 0x20] // } 394F 5B JUMPDEST 3950 81 DUP2 3951 51 MLOAD 3952 61 PUSH2 0x395d 3955 61 PUSH2 0x3325 3958 82 DUP3 3959 61 PUSH2 0x32bf 395C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @3951 stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @3952 stack[1] = 0x395d // @3955 stack[2] = 0x3325 // @3958 stack[3] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x32bf, returns to 0x3325 label_395D: // Incoming return from call to 0x3325 at 0x395C // Inputs[5] // { // @395E stack[-2] // @395F stack[-1] // @3967 stack[-4] // @3969 stack[-5] // @3970 stack[-11] // } 395D 5B JUMPDEST 395E 81 DUP2 395F 81 DUP2 3960 52 MSTORE 3961 60 PUSH1 0x05 3963 91 SWAP2 3964 90 SWAP1 3965 91 SWAP2 3966 1B SHL 3967 83 DUP4 3968 01 ADD 3969 84 DUP5 396A 01 ADD 396B 90 SWAP1 396C 84 DUP5 396D 81 DUP2 396E 01 ADD 396F 90 SWAP1 3970 8B DUP12 3971 83 DUP4 3972 11 GT 3973 15 ISZERO 3974 61 PUSH2 0x397b 3977 57 *JUMPI // Stack delta = +1 // Outputs[4] // { // @3960 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @396B stack[-2] = stack[-5] + stack[-4] + (stack[-2] << 0x05) // @396F stack[-1] = stack[-1] + stack[-5] // @396F stack[0] = stack[-1] // } // Block ends with conditional jump to 0x397b, if !(stack[-5] + stack[-4] + (stack[-2] << 0x05) > stack[-11]) label_3978: // Incoming jump from 0x3977, if not !(stack[-5] + stack[-4] + (stack[-2] << 0x05) > stack[-11]) // Inputs[1] { @397A memory[0x00:0x00] } 3978 5F PUSH0 3979 80 DUP1 397A FD *REVERT // Stack delta = +0 // Outputs[1] { @397A revert(memory[0x00:0x00]); } // Block terminates label_397B: // Incoming jump from 0x3977, if !(stack[-5] + stack[-4] + (stack[-2] << 0x05) > stack[-11]) // Inputs[4] // { // @397C stack[-5] // @397C stack[-1] // @397D stack[-6] // @3981 stack[-3] // } 397B 5B JUMPDEST 397C 93 SWAP4 397D 85 DUP6 397E 01 ADD 397F 93 SWAP4 3980 5B JUMPDEST 3981 82 DUP3 3982 85 DUP6 3983 10 LT 3984 15 ISZERO 3985 61 PUSH2 0x39a2 3988 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @397F stack[-5] = stack[-6] + stack[-5] // @397F stack[-1] = stack[-1] // } // Block ends with conditional jump to 0x39a2, if !(stack[-6] + stack[-5] < stack[-3]) label_3989: // Incoming jump from 0x3988, if not !(stack[-6] + stack[-5] < stack[-3]) // Incoming jump from 0x3988, if not !(stack[-5] < stack[-3]) // Inputs[2] // { // @3989 stack[-5] // @398A memory[stack[-5]:stack[-5] + 0x20] // } 3989 84 DUP5 398A 51 MLOAD 398B 61 PUSH2 0x3993 398E 81 DUP2 398F 61 PUSH2 0x32e2 3992 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @398A stack[0] = memory[stack[-5]:stack[-5] + 0x20] // @398B stack[1] = 0x3993 // @398E stack[2] = memory[stack[-5]:stack[-5] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3993 label_3993: // Incoming return from call to 0x32E2 at 0x3992 // Inputs[5] // { // @3994 stack[-3] // @3995 stack[-1] // @3996 stack[-6] // @3996 stack[-2] // @3997 stack[-7] // } 3993 5B JUMPDEST 3994 82 DUP3 3995 52 MSTORE 3996 93 SWAP4 3997 85 DUP6 3998 01 ADD 3999 93 SWAP4 399A 90 SWAP1 399B 85 DUP6 399C 01 ADD 399D 90 SWAP1 399E 61 PUSH2 0x3980 39A1 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @3995 memory[stack[-3]:stack[-3] + 0x20] = stack[-1] // @3999 stack[-6] = stack[-7] + stack[-6] // @399D stack[-2] = stack[-2] // @399D stack[-3] = stack[-7] + stack[-3] // } // Block ends with unconditional jump to 0x3980 label_39A2: // Incoming jump from 0x3988, if !(stack[-6] + stack[-5] < stack[-3]) // Incoming jump from 0x3988, if !(stack[-5] < stack[-3]) // Inputs[6] // { // @39A5 stack[-11] // @39A7 memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] // @39A8 stack[-1] // @39A9 stack[-9] // @39AB stack[-6] // @39AF stack[-4] // } 39A2 5B JUMPDEST 39A3 60 PUSH1 0x40 39A5 8B DUP12 39A6 01 ADD 39A7 51 MLOAD 39A8 90 SWAP1 39A9 98 SWAP9 39AA 50 POP 39AB 94 SWAP5 39AC 50 POP 39AD 50 POP 39AE 50 POP 39AF 80 DUP1 39B0 83 DUP4 39B1 11 GT 39B2 15 ISZERO 39B3 61 PUSH2 0x39ba 39B6 57 *JUMPI // Stack delta = -3 // Outputs[2] // { // @39A9 stack[-9] = stack[-1] // @39AB stack[-6] = memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x39ba, if !(memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] > stack[-4]) label_39B7: // Incoming jump from 0x39B6, if not !(memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] > stack[-4]) // Inputs[1] { @39B9 memory[0x00:0x00] } 39B7 5F PUSH0 39B8 80 DUP1 39B9 FD *REVERT // Stack delta = +0 // Outputs[1] { @39B9 revert(memory[0x00:0x00]); } // Block terminates label_39BA: // Incoming jump from 0x39B6, if !(memory[stack[-11] + 0x40:stack[-11] + 0x40 + 0x20] > stack[-4]) // Inputs[3] // { // @39C0 stack[-9] // @39C1 stack[-3] // @39C2 stack[-8] // } 39BA 5B JUMPDEST 39BB 50 POP 39BC 50 POP 39BD 61 PUSH2 0x39c8 39C0 87 DUP8 39C1 82 DUP3 39C2 88 DUP9 39C3 01 ADD 39C4 61 PUSH2 0x38ab 39C7 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @39BD stack[-2] = 0x39c8 // @39C0 stack[-1] = stack[-9] // @39C3 stack[0] = stack[-8] + stack[-3] // } // Block ends with call to 0x38ab, returns to 0x39C8 label_39C8: // Incoming return from call to 0x38AB at 0x39C7 // Inputs[7] // { // @39CB stack[-7] // @39CC stack[-1] // @39CF memory[0x60 + stack[-7]:0x60 + stack[-7] + 0x20] // @39D0 stack[-6] // @39D1 stack[-9] // @39D2 stack[-5] // @39D3 stack[-8] // } 39C8 5B JUMPDEST 39C9 60 PUSH1 0x60 39CB 96 SWAP7 39CC 90 SWAP1 39CD 96 SWAP7 39CE 01 ADD 39CF 51 MLOAD 39D0 94 SWAP5 39D1 97 SWAP8 39D2 93 SWAP4 39D3 96 SWAP7 39D4 50 POP 39D5 50 POP 39D6 50 POP 39D7 50 POP 39D8 56 *JUMP // Stack delta = -5 // Outputs[4] // { // @39CD stack[-7] = stack[-1] // @39D0 stack[-6] = memory[0x60 + stack[-7]:0x60 + stack[-7] + 0x20] // @39D1 stack[-9] = stack[-6] // @39D3 stack[-8] = stack[-5] // } // Block ends with unconditional jump to stack[-9] label_39D9: // Incoming call from 0x2AD3, returns to 0x2AD4 // Inputs[10] // { // @39DD stack[-1] // @39E3 stack[-2] // @39E5 memory[stack[-2]:stack[-2] + 0x20] // @39F8 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3A04 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @3A13 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] // @3A1F memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] // @3A29 memory[0xa0 + stack[-2]:0xa0 + stack[-2] + 0x20] // @3A33 memory[stack[-2] + 0xc0:stack[-2] + 0xc0 + 0x20] // @3A3D memory[0xe0 + stack[-2]:0xe0 + stack[-2] + 0x20] // } 39D9 5B JUMPDEST 39DA 61 PUSH2 0x0100 39DD 81 DUP2 39DE 01 ADD 39DF 61 PUSH2 0x2856 39E2 82 DUP3 39E3 84 DUP5 39E4 80 DUP1 39E5 51 MLOAD 39E6 60 PUSH1 0x01 39E8 60 PUSH1 0x01 39EA 60 PUSH1 0xa0 39EC 1B SHL 39ED 03 SUB 39EE 90 SWAP1 39EF 81 DUP2 39F0 16 AND 39F1 83 DUP4 39F2 52 MSTORE 39F3 60 PUSH1 0x20 39F5 80 DUP1 39F6 83 DUP4 39F7 01 ADD 39F8 51 MLOAD 39F9 82 DUP3 39FA 16 AND 39FB 90 SWAP1 39FC 84 DUP5 39FD 01 ADD 39FE 52 MSTORE 39FF 60 PUSH1 0x40 3A01 80 DUP1 3A02 83 DUP4 3A03 01 ADD 3A04 51 MLOAD 3A05 62 PUSH3 0xffffff 3A09 16 AND 3A0A 90 SWAP1 3A0B 84 DUP5 3A0C 01 ADD 3A0D 52 MSTORE 3A0E 60 PUSH1 0x60 3A10 80 DUP1 3A11 83 DUP4 3A12 01 ADD 3A13 51 MLOAD 3A14 82 DUP3 3A15 16 AND 3A16 90 SWAP1 3A17 84 DUP5 3A18 01 ADD 3A19 52 MSTORE 3A1A 60 PUSH1 0x80 3A1C 80 DUP1 3A1D 83 DUP4 3A1E 01 ADD 3A1F 51 MLOAD 3A20 90 SWAP1 3A21 84 DUP5 3A22 01 ADD 3A23 52 MSTORE 3A24 60 PUSH1 0xa0 3A26 82 DUP3 3A27 81 DUP2 3A28 01 ADD 3A29 51 MLOAD 3A2A 90 SWAP1 3A2B 84 DUP5 3A2C 01 ADD 3A2D 52 MSTORE 3A2E 60 PUSH1 0xc0 3A30 80 DUP1 3A31 83 DUP4 3A32 01 ADD 3A33 51 MLOAD 3A34 90 SWAP1 3A35 84 DUP5 3A36 01 ADD 3A37 52 MSTORE 3A38 60 PUSH1 0xe0 3A3A 91 SWAP2 3A3B 82 DUP3 3A3C 01 ADD 3A3D 51 MLOAD 3A3E 16 AND 3A3F 91 SWAP2 3A40 01 ADD 3A41 52 MSTORE 3A42 56 *JUMP // Stack delta = +1 // Outputs[9] // { // @39DE stack[0] = stack[-1] + 0x0100 // @39F2 memory[stack[-1]:stack[-1] + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @39FE memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3A0D memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] = 0xffffff & memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @3A19 memory[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] // @3A23 memory[stack[-1] + 0x80:stack[-1] + 0x80 + 0x20] = memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] // @3A2D memory[stack[-1] + 0xa0:stack[-1] + 0xa0 + 0x20] = memory[0xa0 + stack[-2]:0xa0 + stack[-2] + 0x20] // @3A37 memory[stack[-1] + 0xc0:stack[-1] + 0xc0 + 0x20] = memory[stack[-2] + 0xc0:stack[-2] + 0xc0 + 0x20] // @3A41 memory[stack[-1] + 0xe0:stack[-1] + 0xe0 + 0x20] = memory[0xe0 + stack[-2]:0xe0 + stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // } // Block ends with unconditional jump to 0x2856 label_3A43: // Incoming call from 0x3AA4, returns to 0x2C7F // Inputs[3] // { // @3A45 stack[-1] // @3A46 memory[stack[-1]:stack[-1] + 0x20] // @3A49 stack[-2] // } 3A43 5B JUMPDEST 3A44 5F PUSH0 3A45 81 DUP2 3A46 51 MLOAD 3A47 60 PUSH1 0xa0 3A49 84 DUP5 3A4A 52 MSTORE 3A4B 61 PUSH2 0x3a57 3A4E 60 PUSH1 0xa0 3A50 85 DUP6 3A51 01 ADD 3A52 82 DUP3 3A53 61 PUSH2 0x3847 3A56 56 *JUMP // Stack delta = +5 // Outputs[6] // { // @3A44 stack[0] = 0x00 // @3A46 stack[1] = memory[stack[-1]:stack[-1] + 0x20] // @3A4A memory[stack[-2]:stack[-2] + 0x20] = 0xa0 // @3A4B stack[2] = 0x3a57 // @3A51 stack[3] = stack[-2] + 0xa0 // @3A52 stack[4] = memory[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x3847, returns to 0x3A57 label_3A57: // Incoming return from call to 0x3847 at 0x3A56 // Inputs[9] // { // @3A5A stack[-4] // @3A5D memory[0x20 + stack[-4]:0x20 + stack[-4] + 0x20] // @3A68 stack[-5] // @3A70 memory[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @3A7A memory[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // @3A84 memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @3A86 stack[-1] // @3A8A stack[-2] // @3A8F stack[-6] // } 3A57 5B JUMPDEST 3A58 60 PUSH1 0x20 3A5A 84 DUP5 3A5B 81 DUP2 3A5C 01 ADD 3A5D 51 MLOAD 3A5E 60 PUSH1 0x01 3A60 60 PUSH1 0x01 3A62 60 PUSH1 0xa0 3A64 1B SHL 3A65 03 SUB 3A66 16 AND 3A67 90 SWAP1 3A68 86 DUP7 3A69 01 ADD 3A6A 52 MSTORE 3A6B 60 PUSH1 0x40 3A6D 80 DUP1 3A6E 85 DUP6 3A6F 01 ADD 3A70 51 MLOAD 3A71 90 SWAP1 3A72 86 DUP7 3A73 01 ADD 3A74 52 MSTORE 3A75 60 PUSH1 0x60 3A77 80 DUP1 3A78 85 DUP6 3A79 01 ADD 3A7A 51 MLOAD 3A7B 90 SWAP1 3A7C 86 DUP7 3A7D 01 ADD 3A7E 52 MSTORE 3A7F 60 PUSH1 0x80 3A81 93 SWAP4 3A82 84 DUP5 3A83 01 ADD 3A84 51 MLOAD 3A85 93 SWAP4 3A86 90 SWAP1 3A87 94 SWAP5 3A88 01 ADD 3A89 92 SWAP3 3A8A 90 SWAP1 3A8B 92 SWAP3 3A8C 52 MSTORE 3A8D 50 POP 3A8E 90 SWAP1 3A8F 91 SWAP2 3A90 90 SWAP1 3A91 50 POP 3A92 56 *JUMP // Stack delta = -5 // Outputs[5] // { // @3A6A memory[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[0x20 + stack[-4]:0x20 + stack[-4] + 0x20] // @3A74 memory[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] = memory[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @3A7E memory[stack[-5] + 0x60:stack[-5] + 0x60 + 0x20] = memory[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // @3A8C memory[stack[-5] + 0x80:stack[-5] + 0x80 + 0x20] = memory[0x80 + stack[-4]:0x80 + stack[-4] + 0x20] // @3A8F stack[-6] = stack[-1] // } // Block ends with unconditional jump to stack[-6] label_3A93: // Incoming jump from 0x2C33 // Inputs[2] // { // @3A96 stack[-1] // @3AA0 stack[-2] // } 3A93 5B JUMPDEST 3A94 60 PUSH1 0x20 3A96 81 DUP2 3A97 52 MSTORE 3A98 5F PUSH0 3A99 61 PUSH2 0x2c7f 3A9C 60 PUSH1 0x20 3A9E 83 DUP4 3A9F 01 ADD 3AA0 84 DUP5 3AA1 61 PUSH2 0x3a43 3AA4 56 *JUMP // Stack delta = +4 // Outputs[5] // { // @3A97 memory[stack[-1]:stack[-1] + 0x20] = 0x20 // @3A98 stack[0] = 0x00 // @3A99 stack[1] = 0x2c7f // @3A9F stack[2] = stack[-1] + 0x20 // @3AA0 stack[3] = stack[-2] // } // Block ends with call to 0x3a43, returns to 0x2C7F label_3AA5: // Incoming call from 0x10DA, returns to 0x105D // Incoming call from 0x105C, returns to 0x105D // Inputs[5] // { // @3AA8 stack[-1] // @3AAA stack[-2] // @3AAB memory[stack[-2]:stack[-2] + 0x20] // @3AB5 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3AC0 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // } 3AA5 5B JUMPDEST 3AA6 60 PUSH1 0x20 3AA8 81 DUP2 3AA9 52 MSTORE 3AAA 81 DUP2 3AAB 51 MLOAD 3AAC 60 PUSH1 0x20 3AAE 82 DUP3 3AAF 01 ADD 3AB0 52 MSTORE 3AB1 60 PUSH1 0x20 3AB3 82 DUP3 3AB4 01 ADD 3AB5 51 MLOAD 3AB6 60 PUSH1 0x40 3AB8 82 DUP3 3AB9 01 ADD 3ABA 52 MSTORE 3ABB 5F PUSH0 3ABC 60 PUSH1 0x40 3ABE 83 DUP4 3ABF 01 ADD 3AC0 51 MLOAD 3AC1 61 PUSH2 0x0140 3AC4 80 DUP1 3AC5 60 PUSH1 0x60 3AC7 85 DUP6 3AC8 01 ADD 3AC9 52 MSTORE 3ACA 61 PUSH2 0x3ad7 3ACD 61 PUSH2 0x0160 3AD0 85 DUP6 3AD1 01 ADD 3AD2 83 DUP4 3AD3 61 PUSH2 0x35f5 3AD6 56 *JUMP // Stack delta = +6 // Outputs[10] // { // @3AA9 memory[stack[-1]:stack[-1] + 0x20] = 0x20 // @3AB0 memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = memory[stack[-2]:stack[-2] + 0x20] // @3ABA memory[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] = memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @3ABB stack[0] = 0x00 // @3AC0 stack[1] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // @3AC1 stack[2] = 0x0140 // @3AC9 memory[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] = 0x0140 // @3ACA stack[3] = 0x3ad7 // @3AD1 stack[4] = stack[-1] + 0x0160 // @3AD2 stack[5] = memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // } // Block ends with call to 0x35f5, returns to 0x3AD7 label_3AD7: // Incoming return from call to 0x35F5 at 0x3AD6 // Inputs[5] // { // @3AD8 stack[-3] // @3AD8 stack[-1] // @3ADC stack[-6] // @3ADE memory[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // @3AE4 stack[-5] // } 3AD7 5B JUMPDEST 3AD8 91 SWAP2 3AD9 50 POP 3ADA 60 PUSH1 0x60 3ADC 85 DUP6 3ADD 01 ADD 3ADE 51 MLOAD 3ADF 61 PUSH2 0x3af3 3AE2 60 PUSH1 0x80 3AE4 86 DUP7 3AE5 01 ADD 3AE6 82 DUP3 3AE7 60 PUSH1 0x01 3AE9 60 PUSH1 0x01 3AEB 60 PUSH1 0xa0 3AED 1B SHL 3AEE 03 SUB 3AEF 16 AND 3AF0 90 SWAP1 3AF1 52 MSTORE 3AF2 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @3AD8 stack[-3] = stack[-1] // @3ADE stack[-1] = memory[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // @3AF1 memory[stack[-5] + 0x80:stack[-5] + 0x80 + 0x20] = (0x01 << 0xa0) - 0x01 & memory[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // } // Block ends with unconditional jump to 0x3af3 label_3AF3: // Incoming jump from 0x3AF2 // Inputs[6] // { // @3AF7 stack[-6] // @3AF9 memory[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] // @3B06 stack[-5] // @3B0E memory[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] // @3B23 memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @3B2D memory[stack[-6] + 0xe0:stack[-6] + 0xe0 + 0x20] // } 3AF3 5B JUMPDEST 3AF4 50 POP 3AF5 60 PUSH1 0x80 3AF7 85 DUP6 3AF8 01 ADD 3AF9 51 MLOAD 3AFA 60 PUSH1 0x01 3AFC 60 PUSH1 0x01 3AFE 60 PUSH1 0xa0 3B00 1B SHL 3B01 03 SUB 3B02 81 DUP2 3B03 16 AND 3B04 60 PUSH1 0xa0 3B06 86 DUP7 3B07 01 ADD 3B08 52 MSTORE 3B09 50 POP 3B0A 60 PUSH1 0xa0 3B0C 85 DUP6 3B0D 01 ADD 3B0E 51 MLOAD 3B0F 60 PUSH1 0x01 3B11 60 PUSH1 0x01 3B13 60 PUSH1 0xa0 3B15 1B SHL 3B16 03 SUB 3B17 81 DUP2 3B18 16 AND 3B19 60 PUSH1 0xc0 3B1B 86 DUP7 3B1C 01 ADD 3B1D 52 MSTORE 3B1E 50 POP 3B1F 60 PUSH1 0xc0 3B21 85 DUP6 3B22 01 ADD 3B23 51 MLOAD 3B24 60 PUSH1 0xe0 3B26 85 DUP6 3B27 01 ADD 3B28 52 MSTORE 3B29 60 PUSH1 0xe0 3B2B 85 DUP6 3B2C 01 ADD 3B2D 51 MLOAD 3B2E 61 PUSH2 0x0100 3B31 61 PUSH2 0x3b40 3B34 81 DUP2 3B35 87 DUP8 3B36 01 ADD 3B37 83 DUP4 3B38 62 PUSH3 0xffffff 3B3C 16 AND 3B3D 90 SWAP1 3B3E 52 MSTORE 3B3F 56 *JUMP // Stack delta = +1 // Outputs[6] // { // @3B08 memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] = memory[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] & (0x01 << 0xa0) - 0x01 // @3B1D memory[stack[-5] + 0xc0:stack[-5] + 0xc0 + 0x20] = memory[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] & (0x01 << 0xa0) - 0x01 // @3B28 memory[stack[-5] + 0xe0:stack[-5] + 0xe0 + 0x20] = memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @3B2D stack[-1] = memory[stack[-6] + 0xe0:stack[-6] + 0xe0 + 0x20] // @3B2E stack[0] = 0x0100 // @3B3E memory[stack[-5] + 0x0100:stack[-5] + 0x0100 + 0x20] = 0xffffff & memory[stack[-6] + 0xe0:stack[-6] + 0xe0 + 0x20] // } // Block ends with unconditional jump to 0x3b40 label_3B40: // Incoming jump from 0x3B3F // Inputs[5] // { // @3B41 stack[-7] // @3B42 stack[-1] // @3B43 memory[stack[-7] + stack[-1]:stack[-7] + stack[-1] + 0x20] // @3B44 stack[-2] // @3B4C stack[-6] // } 3B40 5B JUMPDEST 3B41 86 DUP7 3B42 01 ADD 3B43 51 MLOAD 3B44 90 SWAP1 3B45 50 POP 3B46 61 PUSH2 0x0120 3B49 61 PUSH2 0x3b58 3B4C 86 DUP7 3B4D 82 DUP3 3B4E 01 ADD 3B4F 83 DUP4 3B50 62 PUSH3 0xffffff 3B54 16 AND 3B55 90 SWAP1 3B56 52 MSTORE 3B57 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @3B44 stack[-2] = memory[stack[-7] + stack[-1]:stack[-7] + stack[-1] + 0x20] // @3B46 stack[-1] = 0x0120 // @3B56 memory[0x0120 + stack[-6]:0x0120 + stack[-6] + 0x20] = 0xffffff & memory[stack[-7] + stack[-1]:stack[-7] + stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x3b58 label_3B58: // Incoming jump from 0x3B57 // Inputs[8] // { // @3B59 stack[-1] // @3B59 stack[-2] // @3B5A stack[-7] // @3B5C memory[stack[-7] + stack[-1]:stack[-7] + stack[-1] + 0x20] // @3B62 stack[-6] // @3B63 stack[-3] // @3B65 stack[-4] // @3B69 stack[-8] // } 3B58 5B JUMPDEST 3B59 90 SWAP1 3B5A 95 SWAP6 3B5B 01 ADD 3B5C 51 MLOAD 3B5D 62 PUSH3 0xffffff 3B61 16 AND 3B62 93 SWAP4 3B63 01 ADD 3B64 92 SWAP3 3B65 90 SWAP1 3B66 92 SWAP3 3B67 52 MSTORE 3B68 50 POP 3B69 91 SWAP2 3B6A 90 SWAP1 3B6B 50 POP 3B6C 56 *JUMP // Stack delta = -7 // Outputs[2] // { // @3B67 memory[stack[-6] + stack[-3]:stack[-6] + stack[-3] + 0x20] = 0xffffff & memory[stack[-7] + stack[-1]:stack[-7] + stack[-1] + 0x20] // @3B69 stack[-8] = stack[-4] // } // Block ends with unconditional jump to stack[-8] label_3B6D: // Incoming call from 0x3D00, returns to 0x3D01 // Incoming call from 0x3B94, returns to 0x2C7F // Inputs[1] { @3B6E stack[-1] } 3B6D 5B JUMPDEST 3B6E 80 DUP1 3B6F 15 ISZERO 3B70 15 ISZERO 3B71 81 DUP2 3B72 14 EQ 3B73 61 PUSH2 0x0f7a 3B76 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f7a, if stack[-1] == !!stack[-1] label_3B77: // Incoming jump from 0x3B76, if not stack[-1] == !!stack[-1] // Inputs[1] { @3B79 memory[0x00:0x00] } 3B77 5F PUSH0 3B78 80 DUP1 3B79 FD *REVERT // Stack delta = +0 // Outputs[1] { @3B79 revert(memory[0x00:0x00]); } // Block terminates label_3B7A: // Incoming jump from 0x126D // Inputs[2] // { // @3B7E stack[-1] // @3B7F stack[-2] // } 3B7A 5B JUMPDEST 3B7B 5F PUSH0 3B7C 60 PUSH1 0x20 3B7E 82 DUP3 3B7F 84 DUP5 3B80 03 SUB 3B81 12 SLT 3B82 15 ISZERO 3B83 61 PUSH2 0x3b8a 3B86 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3B7B stack[0] = 0x00 } // Block ends with conditional jump to 0x3b8a, if !(stack[-2] - stack[-1] i< 0x20) label_3B87: // Incoming jump from 0x3B86, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[1] { @3B89 memory[0x00:0x00] } 3B87 5F PUSH0 3B88 80 DUP1 3B89 FD *REVERT // Stack delta = +0 // Outputs[1] { @3B89 revert(memory[0x00:0x00]); } // Block terminates label_3B8A: // Incoming jump from 0x3B86, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3B8B stack[-2] // @3B8C memory[stack[-2]:stack[-2] + 0x20] // } 3B8A 5B JUMPDEST 3B8B 81 DUP2 3B8C 51 MLOAD 3B8D 61 PUSH2 0x2c7f 3B90 81 DUP2 3B91 61 PUSH2 0x3b6d 3B94 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3B8C stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @3B8D stack[1] = 0x2c7f // @3B90 stack[2] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x3b6d, returns to 0x2C7F label_3B95: // Incoming call from 0x132D, returns to 0x132E // Incoming call from 0x135C, returns to 0x135D // Incoming call from 0x132D, returns to 0x132E // Inputs[4] // { // @3B98 stack[-2] // @3B99 msg.data[stack[-2]:stack[-2] + 0x20] // @3B9D stack[-1] // @3B9E msg.data.length // } 3B95 5B JUMPDEST 3B96 5F PUSH0 3B97 80 DUP1 3B98 83 DUP4 3B99 35 CALLDATALOAD 3B9A 60 PUSH1 0x1e 3B9C 19 NOT 3B9D 84 DUP5 3B9E 36 CALLDATASIZE 3B9F 03 SUB 3BA0 01 ADD 3BA1 81 DUP2 3BA2 12 SLT 3BA3 61 PUSH2 0x3baa 3BA6 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @3B96 stack[0] = 0x00 // @3B97 stack[1] = 0x00 // @3B99 stack[2] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x3baa, if msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e label_3BA7: // Incoming jump from 0x3BA6, if not msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e // Inputs[1] { @3BA9 memory[0x00:0x00] } 3BA7 5F PUSH0 3BA8 80 DUP1 3BA9 FD *REVERT // Stack delta = +0 // Outputs[1] { @3BA9 revert(memory[0x00:0x00]); } // Block terminates label_3BAA: // Incoming jump from 0x3BA6, if msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e // Inputs[4] // { // @3BAB stack[-4] // @3BAC stack[-1] // @3BAE msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] // @3BAF stack[-2] // } 3BAA 5B JUMPDEST 3BAB 83 DUP4 3BAC 01 ADD 3BAD 80 DUP1 3BAE 35 CALLDATALOAD 3BAF 91 SWAP2 3BB0 50 POP 3BB1 67 PUSH8 0xffffffffffffffff 3BBA 82 DUP3 3BBB 11 GT 3BBC 15 ISZERO 3BBD 61 PUSH2 0x3bc4 3BC0 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3BAC stack[-1] = stack[-4] + stack[-1] // @3BAF stack[-2] = msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] // } // Block ends with conditional jump to 0x3bc4, if !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) label_3BC1: // Incoming jump from 0x3BC0, if not !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @3BC3 memory[0x00:0x00] } 3BC1 5F PUSH0 3BC2 80 DUP1 3BC3 FD *REVERT // Stack delta = +0 // Outputs[1] { @3BC3 revert(memory[0x00:0x00]); } // Block terminates label_3BC4: // Incoming jump from 0x3BC0, if !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @3BC7 stack[-1] // @3BC8 stack[-3] // @3BCC stack[-2] // @3BCF msg.data.length // } 3BC4 5B JUMPDEST 3BC5 60 PUSH1 0x20 3BC7 01 ADD 3BC8 91 SWAP2 3BC9 50 POP 3BCA 60 PUSH1 0x07 3BCC 81 DUP2 3BCD 90 SWAP1 3BCE 1B SHL 3BCF 36 CALLDATASIZE 3BD0 03 SUB 3BD1 82 DUP3 3BD2 13 SGT 3BD3 15 ISZERO 3BD4 61 PUSH2 0x3bdb 3BD7 57 *JUMPI // Stack delta = -1 // Outputs[1] { @3BC8 stack[-3] = 0x20 + stack[-1] } // Block ends with conditional jump to 0x3bdb, if !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x07)) label_3BD8: // Incoming jump from 0x3BD7, if not !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x07)) // Inputs[1] { @3BDA memory[0x00:0x00] } 3BD8 5F PUSH0 3BD9 80 DUP1 3BDA FD *REVERT // Stack delta = +0 // Outputs[1] { @3BDA revert(memory[0x00:0x00]); } // Block terminates label_3BDB: // Incoming jump from 0x3BD7, if !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x07)) // Incoming jump from 0x3C24, if !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x06)) // Inputs[5] // { // @3BDC stack[-4] // @3BDC stack[-1] // @3BDE stack[-5] // @3BDE stack[-2] // @3BDF stack[-3] // } 3BDB 5B JUMPDEST 3BDC 92 SWAP3 3BDD 50 POP 3BDE 92 SWAP3 3BDF 90 SWAP1 3BE0 50 POP 3BE1 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @3BDC stack[-4] = stack[-1] // @3BDE stack[-5] = stack[-2] // } // Block ends with unconditional jump to stack[-5] label_3BE2: // Incoming call from 0x1392, returns to 0x1393 // Incoming call from 0x1345, returns to 0x1346 // Incoming call from 0x1345, returns to 0x1346 // Inputs[4] // { // @3BE5 stack[-2] // @3BE6 msg.data[stack[-2]:stack[-2] + 0x20] // @3BEA stack[-1] // @3BEB msg.data.length // } 3BE2 5B JUMPDEST 3BE3 5F PUSH0 3BE4 80 DUP1 3BE5 83 DUP4 3BE6 35 CALLDATALOAD 3BE7 60 PUSH1 0x1e 3BE9 19 NOT 3BEA 84 DUP5 3BEB 36 CALLDATASIZE 3BEC 03 SUB 3BED 01 ADD 3BEE 81 DUP2 3BEF 12 SLT 3BF0 61 PUSH2 0x3bf7 3BF3 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @3BE3 stack[0] = 0x00 // @3BE4 stack[1] = 0x00 // @3BE6 stack[2] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x3bf7, if msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e label_3BF4: // Incoming jump from 0x3BF3, if not msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e // Inputs[1] { @3BF6 memory[0x00:0x00] } 3BF4 5F PUSH0 3BF5 80 DUP1 3BF6 FD *REVERT // Stack delta = +0 // Outputs[1] { @3BF6 revert(memory[0x00:0x00]); } // Block terminates label_3BF7: // Incoming jump from 0x3BF3, if msg.data[stack[-2]:stack[-2] + 0x20] i< msg.data.length - stack[-1] + ~0x1e // Inputs[4] // { // @3BF8 stack[-4] // @3BF9 stack[-1] // @3BFB msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] // @3BFC stack[-2] // } 3BF7 5B JUMPDEST 3BF8 83 DUP4 3BF9 01 ADD 3BFA 80 DUP1 3BFB 35 CALLDATALOAD 3BFC 91 SWAP2 3BFD 50 POP 3BFE 67 PUSH8 0xffffffffffffffff 3C07 82 DUP3 3C08 11 GT 3C09 15 ISZERO 3C0A 61 PUSH2 0x3c11 3C0D 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3BF9 stack[-1] = stack[-4] + stack[-1] // @3BFC stack[-2] = msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] // } // Block ends with conditional jump to 0x3c11, if !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) label_3C0E: // Incoming jump from 0x3C0D, if not !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @3C10 memory[0x00:0x00] } 3C0E 5F PUSH0 3C0F 80 DUP1 3C10 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C10 revert(memory[0x00:0x00]); } // Block terminates label_3C11: // Incoming jump from 0x3C0D, if !(msg.data[stack[-4] + stack[-1]:stack[-4] + stack[-1] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @3C14 stack[-1] // @3C15 stack[-3] // @3C19 stack[-2] // @3C1C msg.data.length // } 3C11 5B JUMPDEST 3C12 60 PUSH1 0x20 3C14 01 ADD 3C15 91 SWAP2 3C16 50 POP 3C17 60 PUSH1 0x06 3C19 81 DUP2 3C1A 90 SWAP1 3C1B 1B SHL 3C1C 36 CALLDATASIZE 3C1D 03 SUB 3C1E 82 DUP3 3C1F 13 SGT 3C20 15 ISZERO 3C21 61 PUSH2 0x3bdb 3C24 57 *JUMPI // Stack delta = -1 // Outputs[1] { @3C15 stack[-3] = 0x20 + stack[-1] } // Block ends with conditional jump to 0x3bdb, if !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x06)) label_3C25: // Incoming jump from 0x3C24, if not !(0x20 + stack[-1] i> msg.data.length - (stack[-2] << 0x06)) // Inputs[1] { @3C27 memory[0x00:0x00] } 3C25 5F PUSH0 3C26 80 DUP1 3C27 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C27 revert(memory[0x00:0x00]); } // Block terminates label_3C28: // Incoming call from 0x1382, returns to 0x1383 // Inputs[2] // { // @3C2C stack[-1] // @3C2D stack[-2] // } 3C28 5B JUMPDEST 3C29 5F PUSH0 3C2A 60 PUSH1 0x80 3C2C 82 DUP3 3C2D 84 DUP5 3C2E 03 SUB 3C2F 12 SLT 3C30 15 ISZERO 3C31 61 PUSH2 0x3c38 3C34 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3C29 stack[0] = 0x00 } // Block ends with conditional jump to 0x3c38, if !(stack[-2] - stack[-1] i< 0x80) label_3C35: // Incoming jump from 0x3C34, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[1] { @3C37 memory[0x00:0x00] } 3C35 5F PUSH0 3C36 80 DUP1 3C37 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C37 revert(memory[0x00:0x00]); } // Block terminates label_3C38: // Incoming jump from 0x3C34, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[1] { @3C3B memory[0x40:0x60] } 3C38 5B JUMPDEST 3C39 60 PUSH1 0x40 3C3B 51 MLOAD 3C3C 60 PUSH1 0x80 3C3E 81 DUP2 3C3F 01 ADD 3C40 81 DUP2 3C41 81 DUP2 3C42 10 LT 3C43 67 PUSH8 0xffffffffffffffff 3C4C 82 DUP3 3C4D 11 GT 3C4E 17 OR 3C4F 15 ISZERO 3C50 61 PUSH2 0x3c5b 3C53 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3C3B stack[0] = memory[0x40:0x60] // @3C3F stack[1] = memory[0x40:0x60] + 0x80 // } // Block ends with conditional jump to 0x3c5b, if !((memory[0x40:0x60] + 0x80 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x80 < memory[0x40:0x60])) label_3C54: // Incoming jump from 0x3C53, if not !((memory[0x40:0x60] + 0x80 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x80 < memory[0x40:0x60])) 3C54 61 PUSH2 0x3c5b 3C57 61 PUSH2 0x3250 3C5A 56 *JUMP // Stack delta = +1 // Outputs[1] { @3C54 stack[0] = 0x3c5b } // Block ends with unconditional jump to 0x3250 label_3C5B: // Incoming jump from 0x3C53, if !((memory[0x40:0x60] + 0x80 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x80 < memory[0x40:0x60])) // Inputs[3] // { // @3C5E stack[-1] // @3C5F stack[-4] // @3C60 msg.data[stack[-4]:stack[-4] + 0x20] // } 3C5B 5B JUMPDEST 3C5C 60 PUSH1 0x40 3C5E 52 MSTORE 3C5F 82 DUP3 3C60 35 CALLDATALOAD 3C61 60 PUSH1 0xff 3C63 81 DUP2 3C64 16 AND 3C65 81 DUP2 3C66 14 EQ 3C67 61 PUSH2 0x3c6e 3C6A 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3C5E memory[0x40:0x60] = stack[-1] // @3C60 stack[-1] = msg.data[stack[-4]:stack[-4] + 0x20] // } // Block ends with conditional jump to 0x3c6e, if msg.data[stack[-4]:stack[-4] + 0x20] == msg.data[stack[-4]:stack[-4] + 0x20] & 0xff label_3C6B: // Incoming jump from 0x3C6A, if not msg.data[stack[-4]:stack[-4] + 0x20] == msg.data[stack[-4]:stack[-4] + 0x20] & 0xff // Inputs[1] { @3C6D memory[0x00:0x00] } 3C6B 5F PUSH0 3C6C 80 DUP1 3C6D FD *REVERT // Stack delta = +0 // Outputs[1] { @3C6D revert(memory[0x00:0x00]); } // Block terminates label_3C6E: // Incoming jump from 0x3C6A, if msg.data[stack[-4]:stack[-4] + 0x20] == msg.data[stack[-4]:stack[-4] + 0x20] & 0xff // Inputs[4] // { // @3C6F stack[-2] // @3C70 stack[-1] // @3C73 stack[-4] // @3C75 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // } 3C6E 5B JUMPDEST 3C6F 81 DUP2 3C70 52 MSTORE 3C71 60 PUSH1 0x20 3C73 83 DUP4 3C74 01 ADD 3C75 35 CALLDATALOAD 3C76 61 PUSH2 0x3c7e 3C79 81 DUP2 3C7A 61 PUSH2 0x32e2 3C7D 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3C70 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3C75 stack[-1] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @3C76 stack[0] = 0x3c7e // @3C79 stack[1] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3C7E label_3C7E: // Incoming return from call to 0x32E2 at 0x3C7D // Inputs[4] // { // @3C81 stack[-2] // @3C83 stack[-1] // @3C86 stack[-4] // @3C88 msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // } 3C7E 5B JUMPDEST 3C7F 60 PUSH1 0x20 3C81 82 DUP3 3C82 01 ADD 3C83 52 MSTORE 3C84 60 PUSH1 0x40 3C86 83 DUP4 3C87 01 ADD 3C88 35 CALLDATALOAD 3C89 61 PUSH2 0x3c91 3C8C 81 DUP2 3C8D 61 PUSH2 0x32e2 3C90 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3C83 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = stack[-1] // @3C88 stack[-1] = msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @3C89 stack[0] = 0x3c91 // @3C8C stack[1] = msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3C91 label_3C91: // Incoming return from call to 0x32E2 at 0x3C90 // Inputs[4] // { // @3C94 stack[-2] // @3C96 stack[-1] // @3C99 stack[-4] // @3C9B msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // } 3C91 5B JUMPDEST 3C92 60 PUSH1 0x40 3C94 82 DUP3 3C95 01 ADD 3C96 52 MSTORE 3C97 60 PUSH1 0x60 3C99 83 DUP4 3C9A 01 ADD 3C9B 35 CALLDATALOAD 3C9C 61 PUSH2 0x3ca4 3C9F 81 DUP2 3CA0 61 PUSH2 0x32e2 3CA3 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3C96 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = stack[-1] // @3C9B stack[-1] = msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // @3C9C stack[0] = 0x3ca4 // @3C9F stack[1] = msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3CA4 label_3CA4: // Incoming return from call to 0x32E2 at 0x3CA3 // Inputs[4] // { // @3CA7 stack[-2] // @3CA9 stack[-1] // @3CAA stack[-6] // @3CAB stack[-5] // } 3CA4 5B JUMPDEST 3CA5 60 PUSH1 0x60 3CA7 82 DUP3 3CA8 01 ADD 3CA9 52 MSTORE 3CAA 93 SWAP4 3CAB 92 SWAP3 3CAC 50 POP 3CAD 50 POP 3CAE 50 POP 3CAF 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @3CA9 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @3CAA stack[-6] = stack[-2] // } // Block ends with unconditional jump to stack[-6] label_3CB0: // Incoming call from 0x13B8, returns to 0x13B9 // Inputs[2] // { // @3CB4 stack[-1] // @3CB5 stack[-2] // } 3CB0 5B JUMPDEST 3CB1 5F PUSH0 3CB2 60 PUSH1 0x40 3CB4 82 DUP3 3CB5 84 DUP5 3CB6 03 SUB 3CB7 12 SLT 3CB8 15 ISZERO 3CB9 61 PUSH2 0x3cc0 3CBC 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3CB1 stack[0] = 0x00 } // Block ends with conditional jump to 0x3cc0, if !(stack[-2] - stack[-1] i< 0x40) label_3CBD: // Incoming jump from 0x3CBC, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[1] { @3CBF memory[0x00:0x00] } 3CBD 5F PUSH0 3CBE 80 DUP1 3CBF FD *REVERT // Stack delta = +0 // Outputs[1] { @3CBF revert(memory[0x00:0x00]); } // Block terminates label_3CC0: // Incoming jump from 0x3CBC, if !(stack[-2] - stack[-1] i< 0x40) // Inputs[1] { @3CC3 memory[0x40:0x60] } 3CC0 5B JUMPDEST 3CC1 60 PUSH1 0x40 3CC3 51 MLOAD 3CC4 60 PUSH1 0x40 3CC6 81 DUP2 3CC7 01 ADD 3CC8 81 DUP2 3CC9 81 DUP2 3CCA 10 LT 3CCB 67 PUSH8 0xffffffffffffffff 3CD4 82 DUP3 3CD5 11 GT 3CD6 17 OR 3CD7 15 ISZERO 3CD8 61 PUSH2 0x3ce3 3CDB 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3CC3 stack[0] = memory[0x40:0x60] // @3CC7 stack[1] = memory[0x40:0x60] + 0x40 // } // Block ends with conditional jump to 0x3ce3, if !((memory[0x40:0x60] + 0x40 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x40 < memory[0x40:0x60])) label_3CDC: // Incoming jump from 0x3CDB, if not !((memory[0x40:0x60] + 0x40 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x40 < memory[0x40:0x60])) 3CDC 61 PUSH2 0x3ce3 3CDF 61 PUSH2 0x3250 3CE2 56 *JUMP // Stack delta = +1 // Outputs[1] { @3CDC stack[0] = 0x3ce3 } // Block ends with unconditional jump to 0x3250 label_3CE3: // Incoming jump from 0x3CDB, if !((memory[0x40:0x60] + 0x40 > 0xffffffffffffffff) | (memory[0x40:0x60] + 0x40 < memory[0x40:0x60])) // Inputs[3] // { // @3CE6 stack[-1] // @3CE7 stack[-4] // @3CE8 msg.data[stack[-4]:stack[-4] + 0x20] // } 3CE3 5B JUMPDEST 3CE4 60 PUSH1 0x40 3CE6 52 MSTORE 3CE7 82 DUP3 3CE8 35 CALLDATALOAD 3CE9 61 PUSH2 0x3cf1 3CEC 81 DUP2 3CED 61 PUSH2 0x32e2 3CF0 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3CE6 memory[0x40:0x60] = stack[-1] // @3CE8 stack[-1] = msg.data[stack[-4]:stack[-4] + 0x20] // @3CE9 stack[0] = 0x3cf1 // @3CEC stack[1] = msg.data[stack[-4]:stack[-4] + 0x20] // } // Block ends with call to 0x32e2, returns to 0x3CF1 label_3CF1: // Incoming return from call to 0x32E2 at 0x3CF0 // Inputs[4] // { // @3CF2 stack[-2] // @3CF3 stack[-1] // @3CF6 stack[-4] // @3CF8 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // } 3CF1 5B JUMPDEST 3CF2 81 DUP2 3CF3 52 MSTORE 3CF4 60 PUSH1 0x20 3CF6 83 DUP4 3CF7 01 ADD 3CF8 35 CALLDATALOAD 3CF9 61 PUSH2 0x3d01 3CFC 81 DUP2 3CFD 61 PUSH2 0x3b6d 3D00 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3CF3 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3CF8 stack[-1] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @3CF9 stack[0] = 0x3d01 // @3CFC stack[1] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // } // Block ends with call to 0x3b6d, returns to 0x3D01 label_3D01: // Incoming return from call to 0x3B6D at 0x3D00 // Inputs[4] // { // @3D04 stack[-2] // @3D06 stack[-1] // @3D07 stack[-6] // @3D08 stack[-5] // } 3D01 5B JUMPDEST 3D02 60 PUSH1 0x20 3D04 82 DUP3 3D05 01 ADD 3D06 52 MSTORE 3D07 93 SWAP4 3D08 92 SWAP3 3D09 50 POP 3D0A 50 POP 3D0B 50 POP 3D0C 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @3D06 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = stack[-1] // @3D07 stack[-6] = stack[-2] // } // Block ends with unconditional jump to stack[-6] 3D0D 5B JUMPDEST 3D0E 60 PUSH1 0x01 3D10 60 PUSH1 0x01 3D12 60 PUSH1 0xa0 3D14 1B SHL 3D15 03 SUB 3D16 93 SWAP4 3D17 84 DUP5 3D18 16 AND 3D19 81 DUP2 3D1A 52 MSTORE 3D1B 91 SWAP2 3D1C 90 SWAP1 3D1D 92 SWAP3 3D1E 16 AND 3D1F 60 PUSH1 0x20 3D21 82 DUP3 3D22 01 ADD 3D23 52 MSTORE 3D24 62 PUSH3 0xffffff 3D28 90 SWAP1 3D29 91 SWAP2 3D2A 16 AND 3D2B 60 PUSH1 0x40 3D2D 82 DUP3 3D2E 01 ADD 3D2F 52 MSTORE 3D30 60 PUSH1 0x60 3D32 01 ADD 3D33 90 SWAP1 3D34 56 *JUMP label_3D35: // Incoming call from 0x2264, returns to 0x2265 // Incoming call from 0x2251, returns to 0x2252 // Inputs[1] { @3D39 stack[-1] } 3D35 5B JUMPDEST 3D36 5F PUSH0 3D37 60 PUSH1 0x01 3D39 82 DUP3 3D3A 01 ADD 3D3B 61 PUSH2 0x3d46 3D3E 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3D36 stack[0] = 0x00 } // Block ends with conditional jump to 0x3d46, if stack[-1] + 0x01 label_3D3F: // Incoming jump from 0x3D3E, if not stack[-1] + 0x01 3D3F 61 PUSH2 0x3d46 3D42 61 PUSH2 0x372f 3D45 56 *JUMP // Stack delta = +1 // Outputs[1] { @3D3F stack[0] = 0x3d46 } // Block ends with unconditional jump to 0x372f label_3D46: // Incoming jump from 0x3D3E, if stack[-1] + 0x01 // Inputs[2] // { // @3D4A stack[-2] // @3D4B stack[-3] // } 3D46 5B JUMPDEST 3D47 50 POP 3D48 60 PUSH1 0x01 3D4A 01 ADD 3D4B 90 SWAP1 3D4C 56 *JUMP // Stack delta = -2 // Outputs[1] { @3D4B stack[-3] = 0x01 + stack[-2] } // Block ends with unconditional jump to stack[-3] 3D4D 5B JUMPDEST 3D4E 85 DUP6 3D4F 81 DUP2 3D50 52 MSTORE 3D51 84 DUP5 3D52 60 PUSH1 0x20 3D54 82 DUP3 3D55 01 ADD 3D56 52 MSTORE 3D57 60 PUSH1 0xa0 3D59 60 PUSH1 0x40 3D5B 82 DUP3 3D5C 01 ADD 3D5D 52 MSTORE 3D5E 5F PUSH0 3D5F 61 PUSH2 0x3d6b 3D62 60 PUSH1 0xa0 3D64 83 DUP4 3D65 01 ADD 3D66 86 DUP7 3D67 61 PUSH2 0x35f5 3D6A 56 *JUMP 3D6B 5B JUMPDEST 3D6C 60 PUSH1 0x01 3D6E 60 PUSH1 0x01 3D70 60 PUSH1 0xa0 3D72 1B SHL 3D73 03 SUB 3D74 94 SWAP5 3D75 90 SWAP1 3D76 94 SWAP5 3D77 16 AND 3D78 60 PUSH1 0x60 3D7A 83 DUP4 3D7B 01 ADD 3D7C 52 MSTORE 3D7D 50 POP 3D7E 60 PUSH1 0x80 3D80 01 ADD 3D81 52 MSTORE 3D82 93 SWAP4 3D83 92 SWAP3 3D84 50 POP 3D85 50 POP 3D86 50 POP 3D87 56 *JUMP label_3D88: // Incoming call from 0x2C90, returns to 0x2C7F // Inputs[2] // { // @3D89 stack[-1] // @3D8A stack[-2] // } 3D88 5B JUMPDEST 3D89 80 DUP1 3D8A 82 DUP3 3D8B 02 MUL 3D8C 81 DUP2 3D8D 15 ISZERO 3D8E 82 DUP3 3D8F 82 DUP3 3D90 04 DIV 3D91 84 DUP5 3D92 14 EQ 3D93 17 OR 3D94 61 PUSH2 0x2856 3D97 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3D8B stack[0] = stack[-2] * stack[-1] } // Block ends with conditional jump to 0x2856, if (stack[-2] == (stack[-2] * stack[-1]) / stack[-1]) | !stack[-1] label_3D98: // Incoming jump from 0x3D97, if not (stack[-2] == (stack[-2] * stack[-1]) / stack[-1]) | !stack[-1] 3D98 61 PUSH2 0x2856 3D9B 61 PUSH2 0x372f 3D9E 56 *JUMP // Stack delta = +1 // Outputs[1] { @3D98 stack[0] = 0x2856 } // Block ends with unconditional jump to 0x372f 3D9F 5B JUMPDEST 3DA0 5F PUSH0 3DA1 82 DUP3 3DA2 61 PUSH2 0x3db9 3DA5 57 *JUMPI 3DA6 63 PUSH4 0x4e487b71 3DAB 60 PUSH1 0xe0 3DAD 1B SHL 3DAE 5F PUSH0 3DAF 52 MSTORE 3DB0 60 PUSH1 0x12 3DB2 60 PUSH1 0x04 3DB4 52 MSTORE 3DB5 60 PUSH1 0x24 3DB7 5F PUSH0 3DB8 FD *REVERT 3DB9 5B JUMPDEST 3DBA 50 POP 3DBB 04 DIV 3DBC 90 SWAP1 3DBD 56 *JUMP 3DBE FE *ASSERT 3DBF A2 LOG2 3DC0 64 PUSH5 0x6970667358 3DC6 22 22 3DC7 12 SLT 3DC8 20 SHA3 3DC9 28 28 3DCA C9 C9 3DCB 33 CALLER 3DCC CF CF 3DCD 8E DUP15 3DCE 3D RETURNDATASIZE 3DCF CB CB 3DD0 53 MSTORE8 3DD1 92 SWAP3 3DD2 52 MSTORE 3DD3 62 PUSH3 0x2049eb 3DD7 C9 C9 3DD8 5F PUSH0 3DD9 4E 4E 3DDA 36 CALLDATASIZE 3DDB E3 E3 3DDC 9D SWAP14 3DDD 3C EXTCODECOPY 3DDE 71 PUSH18 0x98afca8ed5c940e31ad364736f6c63430008 3DF1 15 ISZERO 3DF2 00 *STOP 3DF3 33 CALLER
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]