Online Solidity Decompiler

« Decompile another contract

Address

0xdd6bd08c29ff3ef8780bf6a10d8b620a93ac5705 [etherscan.io | etherchain.org]

Public Methods

Method names cached from 4byte.directory.
0x096a14b2 Unknown
0x10d1e85c uniswapV2Call(address,uint256,uint256,bytes)
0x21fb6c90 demaxCall(address,uint256,uint256,bytes)
0x23a31f8a Unknown
0x26f1c380 Unknown
0x4dfec45a Unknown
0x54c170ea Unknown
0x550d8ca5 Unknown
0x5d1edfbc Unknown
0x61de3df4 Unknown
0x69277b67 Unknown
0x6c813d29 croDefiSwapCall(address,uint256,uint256,bytes)
0x6f62d082 Unknown
0x75908f7c BSCswapCall(address,uint256,uint256,bytes)
0x84800812 pancakeCall(address,uint256,uint256,bytes)
0x8b418713 callFunction(address,(address,uint256),bytes)
0xa401b06f Unknown
0xa69cd4ae Unknown
0xb2ff9f26 swapV2Call(address,uint256,uint256,bytes)
0xc065411d Unknown
0xcce38761 ThugswapCall(address,uint256,uint256,bytes)
0xda7be41f Unknown
0xe1384289 Unknown
0xe801bd7e Unknown
0xee872558 executeOperation(address,uint256,uint256,bytes)
0xf8364b88 Unknown
0xfa461e33 uniswapV3SwapCallback(int256,int256,bytes)

Internal Methods

func_032A(arg0, arg1, arg2)
func_0CA9(arg0, arg1, arg2)
func_137F(arg0, arg1, arg2)
func_1501(arg0, arg1, arg3)
func_1642(arg0, arg1, arg2) returns (r0)
func_2870(arg0, arg1, arg2)
func_2D6E(arg0, arg1, arg2, arg3) returns (r0)
func_2E0E(arg0, arg1, arg2) returns (r0)
func_2FE4(arg0, arg1, arg2) returns (r0)
func_2FF2(arg0) returns (r0)
func_3043(arg0, arg1) returns (r0)
func_3183(arg0, arg1) returns (r0, r1)
func_31E4(arg0, arg1) returns (r0)
func_331B(arg0) returns (r0)
func_3326(arg0, arg1) returns (r0, r1)
func_3366(arg0, arg1) returns (r0)
func_3470(arg0, arg1) returns (r0)
func_34A1(arg0, arg1) returns (r0)
func_3590(arg0, arg1) returns (r0)
func_35FC(arg0, arg1) returns (r0)
func_3668(arg0, arg1) returns (r0)
func_36BB(arg0, arg1) returns (r0)
func_3879(arg0, arg1) returns (r0)
func_3A5E(arg0, arg1) returns (r0)
func_3B1E(arg0, arg1) returns (r0)
func_3BA3(arg0, arg1) returns (r0, r1, r2)
func_3C2C(arg0, arg1) returns (r0, r1, r2, r3, r4)
func_3C94(arg0, arg1) returns (r0, r1, r2, r3)
func_3CF5(arg0, arg1) returns (r0, r1, r2, r3, r4)
func_3DE7(arg0, arg1) returns (r0, r1, r2, r3)
func_3F7A(arg0, arg1) returns (r0)
func_4021(arg0, arg1) returns (r0)
func_403C(arg0, arg1) returns (r0)
func_4214(arg0, arg1) returns (r0)
func_4405(arg0, arg1) returns (r0, r1)
func_4448(arg0, arg1) returns (r0, r1, r2)
func_44FC(arg0, arg1) returns (r0)
func_4714(arg0, arg1) returns (r0)
func_47E3(arg0, arg1) returns (r0)
func_484E(arg0, arg1) returns (r0)
func_4B1F(arg0, arg1) returns (r0)
func_5318(arg0) returns (r0)
func_5349(arg0) returns (r0)
func_536D(arg0) returns (r0)
func_5395(arg0, arg1) returns (r0)
func_54FF(arg0, arg1) returns (r0)
func_556C(arg0, arg1, arg2)
func_5598(arg0) returns (r0)
func_565C(arg0)
func_567E(arg0)

Decompilation

contract Contract { function main() { memory[0x40:0x60] = 0x80; var var0 = msg.value; if (var0) { revert(memory[0x00:0x00]); } if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); } var0 = msg.data[0x00:0x20] >> 0xe0; if (0x75908f7c > var0) { if (0x54c170ea > var0) { if (0x23a31f8a > var0) { if (var0 == 0x096a14b2) { // Dispatch table entry for 0x096a14b2 (unknown) var var1 = 0x01d1; var var2 = 0x01cc; var var3 = msg.data.length; var var4 = 0x04; var var5 = 0x00; if (var3 - var4 i>= 0x20) { var var6 = msg.data[var4:var4 + 0x20]; var var7 = 0xffffffffffffffff; if (var6 <= var7) { var temp0 = var4 + var6; var6 = temp0; var var8 = 0x0120; if (var3 - var6 i>= var8) { var var9 = 0x42ca; var var10 = var8; var9 = func_5318(var10); var8 = var9; var9 = 0x42d5; var10 = var6; var9 = func_331B(var10); var temp1 = var8; memory[temp1:temp1 + 0x20] = var9; var temp2 = var6; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = msg.data[temp2 + 0x20:temp2 + 0x20 + 0x20]; memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = msg.data[temp2 + 0x40:temp2 + 0x40 + 0x20]; var9 = 0x42f7; var10 = temp2 + 0x60; var9 = func_331B(var10); memory[var8 + 0x60:var8 + 0x60 + 0x20] = var9; var9 = msg.data[var6 + 0x80:var6 + 0x80 + 0x20]; if (var9 <= var7) { var10 = 0x4319; var var11 = var3; var var12 = var6 + var9; var10 = func_3366(var11, var12); memory[var8 + 0x80:var8 + 0x80 + 0x20] = var10; var9 = 0x432b; var10 = var6 + 0xa0; var9 = func_331B(var10); memory[var8 + 0xa0:var8 + 0xa0 + 0x20] = var9; var9 = 0x433c; var10 = var6 + 0xc0; var11 = msg.data[var10:var10 + 0x20]; var12 = 0x0496; var var13 = var11; func_565C(var13); label_0496: var9 = var11; // Error: Could not resolve jump destination! } else { var temp3 = var5; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var5; revert(memory[temp4:temp4 + temp4]); } } else { var temp5 = var5; revert(memory[temp5:temp5 + temp5]); } } else { var temp6 = var5; revert(memory[temp6:temp6 + temp6]); } } else if (var0 == 0x10d1e85c) { // Dispatch table entry for uniswapV2Call(address,uint256,uint256,bytes) label_01E7: var1 = 0x01fa; var2 = 0x01f5; var3 = msg.data.length; var4 = 0x04; var2, var3, var4, var5, var6 = func_3C2C(var3, var4); var7 = 0x04a8; var8 = var2; var9 = var3; var10 = var4; var11 = var5; var12 = var6; var13 = 0x00; var var14 = var13; var var15 = var14; var var16 = var15; var var17 = 0x10b2; var var18 = var11 + var12; var var19 = var11; var var20 = 0x00; var var21 = var20; var var22 = 0x00; var var23 = var22; if (var18 - var19 i>= 0x0100) { var var24 = 0x44be; var var25 = var18; var var26 = var19; var24 = func_3590(var25, var26); var20 = var24; var24 = msg.data[var19 + 0xa0:var19 + 0xa0 + 0x20]; if (var24 <= 0xffffffffffffffff) { var25 = 0x44e5; var26 = var18; var var27 = var19 + var24; label_31C5: var var28 = 0x00; if (var27 + 0x1f i< var26) { var var29 = 0x2d67; var var30 = var26; var temp7 = var27; var var31 = msg.data[temp7:temp7 + 0x20]; var var32 = temp7 + 0x20; var29 = func_2FE4(var30, var31, var32); label_2D67: var25 = var29; // Error: Could not resolve jump destination! } else { var temp8 = var28; revert(memory[temp8:temp8 + temp8]); } } else { var temp9 = var22; revert(memory[temp9:temp9 + temp9]); } } else { var temp10 = var22; revert(memory[temp10:temp10 + temp10]); } } else if (var0 == 0x21fb6c90) { goto label_01E7; } // Dispatch table entry for demaxCall(address,uint256,uint256,bytes) else { revert(memory[0x00:0x00]); } } else if (var0 == 0x23a31f8a) { // Dispatch table entry for 0x23a31f8a (unknown) var1 = 0x020f; var2 = 0x020a; var3 = msg.data.length; var4 = 0x04; var2 = func_403C(var3, var4); var temp11 = memory[0x40:0x60]; var3 = temp11; memory[0x40:0x60] = var3 + 0x40; memory[var3:var3 + 0x20] = 0x60; memory[var3 + 0x20:var3 + 0x20 + 0x20] = 0x60; label_0493: var3 = var2; goto label_0496; } else if (var0 == 0x26f1c380) { // Dispatch table entry for 0x26f1c380 (unknown) var1 = 0x022f; var2 = 0x022a; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0xa0) { var6 = 0x2d67; var7 = var3; var8 = var4; var6 = func_3590(var7, var8); goto label_2D67; } else { var temp12 = var5; revert(memory[temp12:temp12 + temp12]); } } else if (var0 == 0x4dfec45a) { // Dispatch table entry for 0x4dfec45a (unknown) var1 = 0x024f; var2 = 0x024a; var3 = msg.data.length; var4 = 0x04; var2 = func_4021(var3, var4); var temp13 = memory[0x40:0x60]; var3 = temp13; memory[0x40:0x60] = var3 + 0x40; memory[var3:var3 + 0x20] = 0x00; memory[var3 + 0x20:var3 + 0x20 + 0x20] = 0x00; goto label_0493; } else { revert(memory[0x00:0x00]); } } else if (0x61de3df4 > var0) { if (var0 == 0x54c170ea) { // Dispatch table entry for 0x54c170ea (unknown) var1 = 0x026f; var2 = 0x026a; var3 = msg.data.length; var4 = 0x04; var2 = func_44FC(var3, var4); var temp14 = memory[0x40:0x60]; memory[0x40:0x60] = temp14 + 0x80; memory[temp14:temp14 + 0x20] = !!0x00; var temp15 = temp14 + 0x20; memory[temp15:temp15 + 0x20] = 0x00; var temp16 = temp15 + 0x20; memory[temp16:temp16 + 0x20] = 0x00; memory[temp16 + 0x20:temp16 + 0x20 + 0x20] = 0x60; var3 = temp14; goto label_0493; } else if (var0 == 0x550d8ca5) { // Dispatch table entry for 0x550d8ca5 (unknown) var1 = 0x028f; var2 = 0x028a; var3 = msg.data.length; var4 = 0x04; var2 = func_4214(var3, var4); label_028A: var temp17 = memory[0x40:0x60]; var3 = temp17; memory[0x40:0x60] = var3 + 0x40; memory[var3:var3 + 0x20] = 0x00; memory[var3 + 0x20:var3 + 0x20 + 0x20] = 0x60; goto label_0493; } else if (var0 == 0x5d1edfbc) { // Dispatch table entry for 0x5d1edfbc (unknown) var1 = 0x02af; var2 = 0x02aa; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; if (var6 <= 0xffffffffffffffff) { var7 = 0x2c78; var8 = var3; var9 = var4 + var6; var7 = func_34A1(var8, var9); label_2C78: var2 = var7; // Error: Could not resolve jump destination! } else { var temp18 = var5; revert(memory[temp18:temp18 + temp18]); } } else { var temp19 = var5; revert(memory[temp19:temp19 + temp19]); } } else { revert(memory[0x00:0x00]); } } else if (var0 == 0x61de3df4) { // Dispatch table entry for 0x61de3df4 (unknown) var1 = 0x02cf; var2 = 0x02ca; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; if (var6 <= 0xffffffffffffffff) { var7 = 0x2c78; var8 = var3; var9 = var4 + var6; var7 = func_3879(var8, var9); goto label_2C78; } else { var temp20 = var5; revert(memory[temp20:temp20 + temp20]); } } else { var temp21 = var5; revert(memory[temp21:temp21 + temp21]); } } else if (var0 == 0x69277b67) { // Dispatch table entry for 0x69277b67 (unknown) var1 = 0x02ef; var2 = 0x02ea; var3 = msg.data.length; var4 = 0x04; var2, var3, var4, var5, var6 = func_3CF5(var3, var4); var7 = 0x60; var8 = 0x00; var9 = 0x05da; var temp22 = var6; var10 = temp22 + 0xc0; var11 = temp22 + 0xa0; var12 = 0x00; if (var10 - var11 i>= 0x20) { var13 = msg.data[var11:var11 + 0x20]; var14 = 0x2d67; var15 = var13; func_567E(var15); goto label_2D67; } else { var temp23 = var12; revert(memory[temp23:temp23 + temp23]); } } else if (var0 == 0x6c813d29) { goto label_01E7; } // Dispatch table entry for croDefiSwapCall(address,uint256,uint256,bytes) else if (var0 == 0x6f62d082) { // Dispatch table entry for 0x6f62d082 (unknown) var1 = 0x030f; var2 = 0x030a; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; if (var6 <= 0xffffffffffffffff) { var7 = 0x2c78; var8 = var3; var9 = var4 + var6; var7 = func_3668(var8, var9); goto label_2C78; } else { var temp24 = var5; revert(memory[temp24:temp24 + temp24]); } } else { var temp25 = var5; revert(memory[temp25:temp25 + temp25]); } } else { revert(memory[0x00:0x00]); } } else if (0xcce38761 > var0) { if (0xa401b06f > var0) { if (var0 == 0x75908f7c) { goto label_01E7; } // Dispatch table entry for BSCswapCall(address,uint256,uint256,bytes) if (var0 == 0x84800812) { goto label_01E7; } // Dispatch table entry for pancakeCall(address,uint256,uint256,bytes) if (var0 != 0x8b418713) { revert(memory[0x00:0x00]); } var1 = 0x01fa; var2 = 0x032a; var3 = msg.data.length; var4 = 0x04; var2, var3, var4 = func_3BA3(var3, var4); func_032A(var2, var3, var4); stop(); } else if (var0 == 0xa401b06f) { // Dispatch table entry for 0xa401b06f (unknown) var1 = 0x0342; var2 = 0x033d; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; var7 = 0xffffffffffffffff; if (var6 <= var7) { var temp26 = var4 + var6; var7 = var7; var6 = temp26; if (var3 - var6 i>= 0x40) { var8 = 0x3e98; var9 = 0x40; var8 = func_5318(var9); var temp27 = var6; memory[var8:var8 + 0x20] = msg.data[temp27:temp27 + 0x20]; var9 = msg.data[temp27 + 0x20:temp27 + 0x20 + 0x20]; if (var9 <= var7) { var10 = 0x3eb9; var11 = var3; var12 = var6 + var9; var10 = func_3A5E(var11, var12); memory[var8 + 0x20:var8 + 0x20 + 0x20] = var10; var2 = var8; // Error: Could not resolve jump destination! } else { var temp28 = var5; revert(memory[temp28:temp28 + temp28]); } } else { var temp29 = var5; revert(memory[temp29:temp29 + temp29]); } } else { var temp30 = var5; revert(memory[temp30:temp30 + temp30]); } } else { var temp31 = var5; revert(memory[temp31:temp31 + temp31]); } } else if (var0 == 0xa69cd4ae) { // Dispatch table entry for 0xa69cd4ae (unknown) var1 = 0x0362; var2 = 0x035d; var3 = msg.data.length; var4 = 0x04; var2 = func_3F7A(var3, var4); var temp32 = memory[0x40:0x60]; memory[0x40:0x60] = temp32 + 0xa0; memory[temp32:temp32 + 0x20] = 0xffffffffffffffffffffffffffffffffffffffff & 0x00; var temp33 = temp32 + 0x20; memory[temp33:temp33 + 0x20] = 0x00; var temp34 = temp33 + 0x20; memory[temp34:temp34 + 0x20] = 0x00; var temp35 = temp34 + 0x20; memory[temp35:temp35 + 0x20] = !!0x00; memory[temp35 + 0x20:temp35 + 0x20 + 0x20] = 0x60; var3 = temp32; goto label_0493; } else if (var0 == 0xb2ff9f26) { goto label_01E7; } // Dispatch table entry for swapV2Call(address,uint256,uint256,bytes) else if (var0 == 0xc065411d) { // Dispatch table entry for 0xc065411d (unknown) var1 = 0x037d; var2 = 0x024a; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x40) { var6 = 0x2d67; var7 = var3; var8 = var4; label_33F5: var9 = 0x00; if (var7 - var8 i>= 0x40) { var10 = 0x3410; var11 = 0x40; var10 = func_5318(var11); var9 = var10; var10 = msg.data[var8:var8 + 0x20]; var11 = 0x341d; var12 = var10; func_565C(var12); memory[var9:var9 + 0x20] = var10; var10 = msg.data[var8 + 0x20:var8 + 0x20 + 0x20]; var11 = 0x342d; var12 = var10; func_565C(var12); memory[var9 + 0x20:var9 + 0x20 + 0x20] = var10; var6 = var9; // Error: Could not resolve jump destination! } else { var temp36 = var9; revert(memory[temp36:temp36 + temp36]); } } else { var temp37 = var5; revert(memory[temp37:temp37 + temp37]); } } else { revert(memory[0x00:0x00]); } } else if (0xe801bd7e > var0) { if (var0 == 0xcce38761) { goto label_01E7; } // Dispatch table entry for ThugswapCall(address,uint256,uint256,bytes) if (var0 == 0xda7be41f) { // Dispatch table entry for 0xda7be41f (unknown) var1 = 0x039d; var2 = 0x0398; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; if (var6 <= 0xffffffffffffffff) { var7 = 0x2c78; var8 = var3; var9 = var4 + var6; var7 = func_36BB(var8, var9); goto label_2C78; } else { var temp38 = var5; revert(memory[temp38:temp38 + temp38]); } } else { var temp39 = var5; revert(memory[temp39:temp39 + temp39]); } } else if (var0 == 0xe1384289) { // Dispatch table entry for 0xe1384289 (unknown) var1 = 0x03b8; var2 = 0x028a; var3 = msg.data.length; var4 = 0x04; var2 = func_4714(var3, var4); goto label_028A; } else { revert(memory[0x00:0x00]); } } else if (var0 == 0xe801bd7e) { // Dispatch table entry for 0xe801bd7e (unknown) var1 = 0x03d8; var2 = 0x03d3; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x20) { var6 = msg.data[var4:var4 + 0x20]; if (var6 <= 0xffffffffffffffff) { var7 = 0x2c78; var8 = var3; var9 = var4 + var6; var10 = 0x00; if (var8 - var9 i>= 0xa0) { var11 = 0x3acc; var12 = 0x60; var11 = func_5318(var12); var10 = var11; var11 = 0x3ad8; var12 = var8; var13 = var9; var11 = func_3B1E(var12, var13); memory[var10:var10 + 0x20] = var11; var11 = 0x3ae7; var12 = var8; var13 = var9 + 0x40; goto label_33F5; } else { var temp40 = var10; revert(memory[temp40:temp40 + temp40]); } } else { var temp41 = var5; revert(memory[temp41:temp41 + temp41]); } } else { var temp42 = var5; revert(memory[temp42:temp42 + temp42]); } } else if (var0 == 0xee872558) { // Dispatch table entry for executeOperation(address,uint256,uint256,bytes) var1 = 0x01fa; var2 = 0x03f3; var3 = msg.data.length; var4 = 0x04; var2, var3, var4, var5 = func_3C94(var3, var4); var6 = 0x00; var7 = var6; var temp43 = var5; var8 = 0x0d2f; var10 = temp43 + 0x20; var9 = var10 + memory[temp43:temp43 + 0x20]; var8, var9 = func_4405(var9, var10); var7 = var9; var6 = var8; if (msg.sender != memory[var6 + 0x20:var6 + 0x20 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff) { revert(memory[0x00:0x00]); } var8 = 0x00; var9 = 0x0d7b; var10 = var4; var11 = var3; var9 = func_5395(var10, var11); var temp44 = var9; var8 = temp44; var9 = 0x0d88; var10 = var7; var11 = var3; var12 = var8; func_137F(var10, var11, var12); var9 = 0x00; var temp45 = memory[var6 + 0x20:var6 + 0x20 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff; var10 = temp45; var11 = 0xc72c4d10; var temp46 = memory[0x40:0x60]; memory[temp46:temp46 + 0x20] = (var11 & 0xffffffff) << 0xe0; var12 = temp46 + 0x04; var13 = 0x20; var14 = memory[0x40:0x60]; var15 = var12 - var14; var16 = var14; var17 = var10; var18 = !address(var17).code.length; if (var18) { revert(memory[0x00:0x00]); } var temp47; temp47, memory[var14:var14 + var13] = address(var17).staticcall.gas(msg.gas)(memory[var16:var16 + var15]); var13 = !temp47; if (!var13) { var temp48 = memory[0x40:0x60]; var temp49 = returndata.length; memory[0x40:0x60] = temp48 + (temp49 + 0x1f & ~0x1f); var10 = 0x0e0c; var12 = temp48; var11 = var12 + temp49; var13 = 0x00; if (var11 - var12 i>= 0x20) { var14 = memory[var12:var12 + 0x20]; var15 = 0x2d67; var16 = var14; func_565C(var16); goto label_2D67; } else { var temp50 = var13; revert(memory[temp50:temp50 + temp50]); } } else { var temp51 = returndata.length; memory[0x00:0x00 + temp51] = returndata[0x00:0x00 + temp51]; revert(memory[0x00:0x00 + returndata.length]); } } else if (var0 == 0xf8364b88) { // Dispatch table entry for 0xf8364b88 (unknown) var1 = 0x0406; var2 = 0x024a; var3 = msg.data.length; var4 = 0x04; var5 = 0x00; if (var3 - var4 i>= 0x40) { var6 = 0x2d67; var7 = var3; var8 = var4; var6 = func_3B1E(var7, var8); goto label_2D67; } else { var temp52 = var5; revert(memory[temp52:temp52 + temp52]); } } else if (var0 == 0xfa461e33) { // Dispatch table entry for uniswapV3SwapCallback(int256,int256,bytes) var1 = 0x01fa; var2 = 0x0421; var3 = msg.data.length; var4 = 0x04; var2, var3, var4, var5 = func_3DE7(var3, var4); var6 = 0x00; var7 = var6; var8 = 0x0f59; var9 = var4 + var5; var10 = var4; var11 = 0x00; var12 = var11; if (var9 - var10 i>= 0xc0) { var13 = 0x43d4; var14 = var9; var15 = var10; var13 = func_3590(var14, var15); var11 = var13; var13 = msg.data[var10 + 0xa0:var10 + 0xa0 + 0x20]; if (var13 <= 0xffffffffffffffff) { var14 = 0x43fb; var15 = var9; var16 = var10 + var13; goto label_31C5; } else { var temp53 = var12; revert(memory[temp53:temp53 + temp53]); } } else { var temp54 = var11; revert(memory[temp54:temp54 + temp54]); } } else { revert(memory[0x00:0x00]); } } function func_032A(var arg0, var arg1, var arg2) { var var0 = 0x00; var var1 = var0; var var2 = 0x00; var temp0 = arg2; var var3 = 0x0c57; var var5 = temp0 + 0x20; var var4 = var5 + memory[temp0:temp0 + 0x20]; var3, var4, var5 = func_4448(var4, var5); var2 = var5; var1 = var4; var0 = var3; if (msg.sender != memory[var0 + 0x20:var0 + 0x20 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff) { revert(memory[0x00:0x00]); } var3 = 0x0cae; var4 = var1; var5 = var2; var var6 = 0x0ca9; var var7 = var5; var var8 = 0x02; var6 = func_5395(var7, var8); func_0CA9(var4, var5, var6); } function func_0CA9(var arg0, var arg1, var arg2) { func_137F(arg0, arg1, arg2); // Error: Could not resolve method call return address! } function func_137F(var arg0, var arg1, var arg2) { var var0 = 0x00; var var1 = var0; if (var1 >= memory[arg0:arg0 + 0x20]) { label_1764: var1 = !!arg2; if (!arg2) { if (!var1) { label_17DA: return; } else { label_1779: var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x1b; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x496e73756666696369656e74206f757470757420616d6f756e742e0000000000; var1 = temp0 + 0x64; label_16CC: var temp1 = memory[0x40:0x60]; revert(memory[temp1:temp1 + var1 - temp1]); } } else if (arg1 >= arg2) { goto label_17DA; } else { goto label_1779; } } else { label_138D: var var2 = 0x00; var var3 = arg0; var var4 = var1; if (var4 < memory[var3:var3 + 0x20]) { var temp2 = memory[var4 * 0x20 + 0x20 + var3:var4 * 0x20 + 0x20 + var3 + 0x20]; var2 = temp2; var3 = memory[var2 + 0x40:var2 + 0x40 + 0x20]; var4 = memory[var3 + 0x40:var3 + 0x40 + 0x20]; if (memory[memory[var2 + 0x20:var2 + 0x20 + 0x20] + 0x20:memory[var2 + 0x20:var2 + 0x20 + 0x20] + 0x20 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffffffffffff & 0x00) { label_141D: var var5 = 0x00; if (memory[memory[var2:var2 + 0x20]:memory[var2:var2 + 0x20] + 0x20] != 0x01) { label_14B6: var var6 = var4; var var7 = 0x00; if (var7 >= memory[var6:var6 + 0x20]) { memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } else if (memory[memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20] + 0x20:memory[var7 * 0x20 + 0x20 + var6:var7 * 0x20 + 0x20 + var6 + 0x20] + 0x20 + 0x20] != 0x01) { label_1551: var6 = 0x00; var7 = var6; var temp3 = var3; var var8 = memory[temp3:temp3 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff; var var9 = var5; var var10 = 0x1582; var var12 = memory[0x40:0x60]; var var11 = memory[temp3 + 0x20:temp3 + 0x20 + 0x20]; var10 = func_4B1F(var11, var12); var temp4 = memory[0x40:0x60]; var temp5; temp5, memory[temp4:temp4 + 0x00] = address(var8).call.gas(msg.gas).value(var9)(memory[temp4:temp4 + var10 - temp4]); var9 = returndata.length; var10 = var9; if (var10 == 0x00) { var7 = 0x60; var6 = var8; if (var6) { label_15DB: var8 = memory[var4:var4 + 0x20] > 0x01; if (!var8) { label_1618: if (!var8) { label_1669: if (var0) { arg1 = var0; var0 = arg1; if (memory[memory[var2:var2 + 0x20]:memory[var2:var2 + 0x20] + 0x20] != 0x02) { label_174B: var2 = var1; var3 = 0x175c; var4 = var2; var3 = func_5598(var4); var1 = var3; if (var1 >= memory[arg0:arg0 + 0x20]) { goto label_1764; } else { goto label_138D; } } else { var temp6 = memory[0x40:0x60]; var temp7; temp7, memory[temp6:temp6 + 0x00] = address(memory[memory[var2:var2 + 0x20] + 0x20:memory[var2:var2 + 0x20] + 0x20 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).call.gas(msg.gas).value(arg1)(memory[temp6:temp6 + 0x00]); var9 = returndata.length; var10 = var9; if (var10 == 0x00) { goto label_174B; } var temp8 = memory[0x40:0x60]; var9 = temp8; memory[0x40:0x60] = var9 + (returndata.length + 0x3f & ~0x1f); memory[var9:var9 + 0x20] = returndata.length; var temp9 = returndata.length; memory[var9 + 0x20:var9 + 0x20 + temp9] = returndata[0x00:0x00 + temp9]; goto label_174B; } } else { var temp10 = memory[0x40:0x60]; memory[temp10:temp10 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000; memory[temp10 + 0x04:temp10 + 0x04 + 0x20] = 0x20; memory[temp10 + 0x24:temp10 + 0x24 + 0x20] = 0x13; memory[temp10 + 0x44:temp10 + 0x44 + 0x20] = 0x496e76616c69642073776170206f757470757400000000000000000000000000; var8 = temp10 + 0x64; goto label_16CC; } } else { var8 = 0x1653; var9 = var7; var10 = var4; var11 = 0x01; if (var11 < memory[var10:var10 + 0x20]) { var8 = func_1642(var9, var10, var11); var temp11 = var8; var8 = 0x1666; var9 = temp11 + 0x20 + memory[temp11:temp11 + 0x20]; var10 = temp11 + 0x20; var8 = func_47E3(var9, var10); var0 = var8; goto label_1669; } else { memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } } else { var8 = var4; var9 = 0x01; if (var9 < memory[var8:var8 + 0x20]) { var8 = memory[memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20] + 0x20:memory[var9 * 0x20 + 0x20 + var8:var9 * 0x20 + 0x20 + var8 + 0x20] + 0x20 + 0x20] == 0x02; goto label_1618; } else { memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } } else { label_15CF: var temp12 = memory[0x40:0x60]; var8 = temp12; var temp13 = returndata.length; var9 = temp13; memory[var8:var8 + var9] = returndata[0x00:0x00 + var9]; revert(memory[var8:var8 + var9]); } } else { var temp14 = memory[0x40:0x60]; var9 = temp14; memory[0x40:0x60] = var9 + (returndata.length + 0x3f & ~0x1f); memory[var9:var9 + 0x20] = returndata.length; var temp15 = returndata.length; memory[var9 + 0x20:var9 + 0x20 + temp15] = returndata[0x00:0x00 + temp15]; var7 = var9; var6 = var8; if (var6) { goto label_15DB; } else { goto label_15CF; } } } else { var6 = 0x1551; var temp16 = memory[0x40:0x60] + 0x20; memory[temp16:temp16 + 0x20] = arg1; var7 = temp16 + 0x20; func_1501(var3, var4, var7); goto label_1551; } } else { var temp17 = memory[memory[var2:var2 + 0x20] + 0x20:memory[var2:var2 + 0x20] + 0x20 + 0x20]; var temp18 = memory[0x40:0x60]; memory[temp18:temp18 + 0x20] = 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000; memory[temp18 + 0x04:temp18 + 0x04 + 0x20] = arg1; var6 = temp17 & 0xffffffffffffffffffffffffffffffffffffffff; var7 = 0x2e1a7d4d; var8 = temp18 + 0x24; var9 = 0x00; var10 = memory[0x40:0x60]; var11 = var8 - var10; var12 = var10; var var13 = 0x00; var var14 = var6; var var15 = !address(var14).code.length; if (var15) { revert(memory[0x00:0x00]); } var temp19; temp19, memory[var10:var10 + var9] = address(var14).call.gas(msg.gas).value(var13)(memory[var12:var12 + var11]); var9 = !temp19; if (!var9) { var5 = arg1; goto label_14B6; } else { var temp20 = returndata.length; memory[0x00:0x00 + temp20] = returndata[0x00:0x00 + temp20]; revert(memory[0x00:0x00 + returndata.length]); } } } else { var temp21 = memory[var2 + 0x20:var2 + 0x20 + 0x20]; var5 = 0x141d; var6 = memory[temp21 + 0x20:temp21 + 0x20 + 0x20]; var7 = memory[temp21:temp21 + 0x20]; var8 = arg1; func_2870(var6, var7, var8); goto label_141D; } } else { memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } } function func_1501(var arg0, var arg1, var arg2) { var temp0 = memory[0x40:0x60]; var temp1 = arg2; memory[temp0:temp0 + 0x20] = temp1 - temp0 - 0x20; arg2 = temp0; memory[0x40:0x60] = temp1; var var0 = memory[arg0 + 0x20:arg0 + 0x20 + 0x20]; var var1 = arg1; var var2 = 0x00; if (var2 < memory[var1:var1 + 0x20]) { memory[memory[memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20]:memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20] + 0x20] * 0x20 + var0 + 0x04:memory[memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20]:memory[var2 * 0x20 + 0x20 + var1:var2 * 0x20 + 0x20 + var1 + 0x20] + 0x20] * 0x20 + var0 + 0x04 + 0x20] = memory[arg2 + 0x20:arg2 + 0x20 + 0x20]; return; } else { memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x32; revert(memory[0x00:0x24]); } } function func_1642(var arg0, var arg1, var arg2) returns (var r0) { arg1 = memory[memory[arg2 * 0x20 + 0x20 + arg1:arg2 * 0x20 + 0x20 + arg1 + 0x20]:memory[arg2 * 0x20 + 0x20 + arg1:arg2 * 0x20 + 0x20 + arg1 + 0x20] + 0x20]; var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x20; memory[0x40:0x60] = temp0 + 0x40; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = msg.data[msg.data.length:msg.data.length + 0x20]; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = memory[arg0 + arg1 * 0x20:arg0 + arg1 * 0x20 + 0x20]; return temp0; } function func_2870(var arg0, var arg1, var arg2) { var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0xdd62ed3e00000000000000000000000000000000000000000000000000000000; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = address(this); memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = arg1 & 0xffffffffffffffffffffffffffffffffffffffff; var var0 = arg0; var var1 = 0x00; var var2 = var0 & 0xffffffffffffffffffffffffffffffffffffffff; var var3 = 0xdd62ed3e; var var4 = temp0 + 0x44; var var5 = 0x20; var var6 = memory[0x40:0x60]; var var7 = var4 - var6; var var8 = var6; var var9 = 0x00; var var10 = var2; var var11 = !address(var10).code.length; if (var11) { revert(memory[0x00:0x00]); } var temp1; temp1, memory[var6:var6 + var5] = address(var10).call.gas(msg.gas).value(var9)(memory[var8:var8 + var7]); var5 = !temp1; if (!var5) { var temp2 = memory[0x40:0x60]; var temp3 = returndata.length; memory[0x40:0x60] = temp2 + (temp3 + 0x1f & ~0x1f); var2 = 0x291c; var4 = temp2; var3 = var4 + temp3; var2 = func_47E3(var3, var4); var1 = var2; if (var1 >= arg2) { return; } if (!var1) { var2 = 0x04a8; var3 = var0; var4 = arg1; var5 = 0x2949; var6 = arg2; var7 = 0x03e8; var5 = func_54FF(var6, var7); label_2C80: var temp4 = memory[0x40:0x60]; memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = var4 & 0xffffffffffffffffffffffffffffffffffffffff; memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = var5; var temp5 = memory[0x40:0x60]; memory[temp5:temp5 + 0x20] = temp4 - temp5 + 0x44; memory[0x40:0x60] = temp4 + 0x64; var temp6 = temp5 + 0x20; memory[temp6:temp6 + 0x20] = (memory[temp6:temp6 + 0x20] & 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff) | 0x095ea7b300000000000000000000000000000000000000000000000000000000; var6 = 0x2d0d; var7 = var3; var8 = temp5; var9 = 0x00; var10 = 0x2d2e; var11 = var7; var var12 = var8; var temp7 = memory[0x40:0x60]; var var13 = temp7; memory[0x40:0x60] = var13 + 0x20; memory[var13:var13 + 0x20] = 0x00; var var14 = 0x60; var var15 = 0x2d64; var var16 = var11; var var17 = var12; var var18 = 0x00; var var19 = var13; var15 = func_2D6E(var16, var17, var18, var19); var14 = var15; var10 = var14; // Error: Could not resolve jump destination! } else { var2 = 0x2938; var3 = var0; var4 = arg1; var5 = 0x00; goto label_2C80; } } else { var temp8 = returndata.length; memory[0x00:0x00 + temp8] = returndata[0x00:0x00 + temp8]; revert(memory[0x00:0x00 + returndata.length]); } } function func_2D6E(var arg0, var arg1, var arg2, var arg3) returns (var r0) { var var0 = 0x60; if (address(this).balance < arg2) { revert(memory[0x00:0x00]); } if (!address(arg0).code.length) { revert(memory[0x00:0x00]); } var var1 = 0x00; var var2 = var1; var var3 = arg0 & 0xffffffffffffffffffffffffffffffffffffffff; var var4 = arg2; var var5 = 0x2db1; var var6 = arg1; var var7 = memory[0x40:0x60]; var5 = func_4B1F(var6, var7); var temp0 = memory[0x40:0x60]; var temp1; temp1, memory[temp0:temp0 + 0x00] = address(var3).call.gas(msg.gas).value(var4)(memory[temp0:temp0 + var5 - temp0]); var4 = returndata.length; var5 = var4; if (var5 == 0x00) { var2 = 0x60; var temp2 = var3; var1 = temp2; var3 = 0x2e03; var4 = var1; var5 = var2; var6 = arg3; var3 = func_2E0E(var4, var5, var6); label_2E03: return var3; } else { var temp3 = memory[0x40:0x60]; var4 = temp3; memory[0x40:0x60] = var4 + (returndata.length + 0x3f & ~0x1f); memory[var4:var4 + 0x20] = returndata.length; var temp4 = returndata.length; memory[var4 + 0x20:var4 + 0x20 + temp4] = returndata[0x00:0x00 + temp4]; var temp5 = var4; var2 = temp5; var temp6 = var3; var1 = temp6; var3 = 0x2e03; var4 = var1; var5 = var2; var6 = arg3; var3 = func_2E0E(var4, var5, var6); goto label_2E03; } } function func_2E0E(var arg0, var arg1, var arg2) returns (var r0) { var var0 = 0x60; if (arg0) { return arg1; } if (!memory[arg1:arg1 + 0x20]) { var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000; var var1 = 0x16cc; var var3 = temp0 + 0x04; var var2 = arg2; var var4 = 0x00; var temp1 = var3; memory[temp1:temp1 + 0x20] = 0x20; var var5 = 0x2d67; var var6 = temp1 + 0x20; var var7 = var2; var5 = func_484E(var6, var7); var1 = var5; // Error: Could not resolve jump destination! } else { var temp2 = arg1; var1 = memory[temp2:temp2 + 0x20]; revert(memory[temp2 + 0x20:temp2 + 0x20 + var1]); } } function func_2FE4(var arg0, var arg1, var arg2) returns (var r0) { var var0 = 0x00; var var1 = 0x2ff7; var var2 = 0x2ff2; var var3 = arg1; var2 = func_5349(var3); var1 = func_2FF2(var2); var temp0 = arg1; var temp1 = var1; memory[temp1:temp1 + 0x20] = temp0; var0 = temp1; var1 = var0 + 0x20; var2 = 0x20; var3 = arg2; var var4 = 0x00; if (var4 >= temp0) { return var0; } var var5 = 0x301b; var var6 = arg0; var var7 = arg2 + msg.data[var3:var3 + 0x20]; var var8 = 0x00; if (var6 - var7 i>= 0xa0) { var var9 = 0x3acc; var var10 = 0x60; var9 = func_5318(var10); var8 = var9; var9 = 0x3ad8; var10 = var6; var var11 = var7; var9 = func_3B1E(var10, var11); memory[var8:var8 + 0x20] = var9; var9 = 0x3ae7; var10 = var6; var11 = var7 + 0x40; var var12 = 0x00; if (var10 - var11 i>= 0x40) { var var13 = 0x3410; var var14 = 0x40; var13 = func_5318(var14); var12 = var13; var13 = msg.data[var11:var11 + 0x20]; var14 = 0x341d; var var15 = var13; func_565C(var15); memory[var12:var12 + 0x20] = var13; var13 = msg.data[var11 + 0x20:var11 + 0x20 + 0x20]; var14 = 0x342d; var15 = var13; func_565C(var15); memory[var12 + 0x20:var12 + 0x20 + 0x20] = var13; var9 = var12; // Error: Could not resolve jump destination! } else { var temp2 = var12; revert(memory[temp2:temp2 + temp2]); } } else { var temp3 = var8; revert(memory[temp3:temp3 + temp3]); } } function func_2FF2(var arg0) returns (var r0) { r0 = func_5318(arg0); // Error: Could not resolve method call return address! } function func_3043(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 + 0x1f i< arg0) { var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0x20; var var3 = 0x3063; var var4 = 0x2ff2; var var5 = var1; var4 = func_5349(var5); var3 = func_2FF2(var4); var temp0 = var1; var temp1 = var3; memory[temp1:temp1 + 0x20] = temp0; var temp2 = var2; var3 = temp1 + temp2; var4 = temp1; var5 = temp2 + arg1; var var6 = var0; if (var6 >= temp0) { label_3098: return var4; } else { label_3078: var var7 = 0x3086; var var8 = arg0; var var9 = arg1 + msg.data[var5:var5 + 0x20] + var2; var7 = func_34A1(var8, var9); var temp3 = var3; memory[temp3:temp3 + 0x20] = var7; var temp4 = var2; var3 = temp4 + temp3; var5 = temp4 + var5; var6 = var6 + 0x01; if (var6 >= var1) { goto label_3098; } else { goto label_3078; } } } else { var temp5 = var0; revert(memory[temp5:temp5 + temp5]); } } function func_3183(var arg0, var arg1) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; if (arg1 + 0x1f i< arg0) { var1 = msg.data[arg1:arg1 + 0x20]; if (var1 <= 0xffffffffffffffff) { var temp0 = arg1; var0 = temp0 + 0x20; if (temp0 + var1 * 0x20 + 0x20 > arg0) { revert(memory[0x00:0x00]); } arg0 = var1; r0 = var0; return r0, arg0; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } function func_31E4(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 + 0x1f i< arg0) { var var1 = memory[arg1:arg1 + 0x20]; var var2 = 0x20; var var3 = 0x3204; var var4 = 0x2ff2; var var5 = var1; var4 = func_5349(var5); var3 = func_2FF2(var4); var temp0 = var1; var temp1 = var3; memory[temp1:temp1 + 0x20] = temp0; var temp2 = var2; var3 = temp1 + temp2; var4 = temp1; var5 = temp2 + arg1; var var6 = var0; if (var6 >= temp0) { return var4; } var var7 = arg1 + memory[var5:var5 + 0x20]; var var8 = arg0 - var7 + ~0x1f; var var9 = 0xa0; if (var8 i>= var9) { var var10 = 0x60; var var11 = 0x323c; var var12 = var10; var11 = func_5318(var12); var12 = 0x40; if (var8 i>= var12) { var var13 = 0x3253; var var14 = var12; var13 = func_5318(var14); var8 = var13; var temp3 = var7; memory[var8:var8 + 0x20] = memory[temp3 + var2:temp3 + var2 + 0x20]; var13 = memory[temp3 + var12:temp3 + var12 + 0x20]; var14 = 0x3268; var var15 = var13; func_565C(var15); var temp4 = var8; memory[var2 + temp4:var2 + temp4 + 0x20] = var13; memory[var11:var11 + 0x20] = temp4; var13 = 0x327b; var14 = arg0; var15 = var10 + var7; var var16 = 0x00; if (var14 - var15 i>= 0x40) { var var17 = 0x3453; var var18 = 0x40; var17 = func_5318(var18); var16 = var17; var17 = memory[var15:var15 + 0x20]; var18 = 0x3460; var var19 = var17; func_565C(var19); memory[var16:var16 + 0x20] = var17; var17 = memory[var15 + 0x20:var15 + 0x20 + 0x20]; var18 = 0x342d; var19 = var17; func_565C(var19); memory[var16 + 0x20:var16 + 0x20 + 0x20] = var17; var13 = var16; // Error: Could not resolve jump destination! } else { var temp5 = var16; revert(memory[temp5:temp5 + temp5]); } } else { var temp6 = var0; revert(memory[temp6:temp6 + temp6]); } } else { var temp7 = var0; revert(memory[temp7:temp7 + temp7]); } } else { var temp8 = var0; revert(memory[temp8:temp8 + temp8]); } } function func_331B(var arg0) returns (var r0) { var var0 = msg.data[arg0:arg0 + 0x20]; var var1 = 0x0496; var var2 = var0; func_567E(var2); return var0; } function func_3326(var arg0, var arg1) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; if (arg1 + 0x1f i< arg0) { var1 = msg.data[arg1:arg1 + 0x20]; if (var1 <= 0xffffffffffffffff) { var temp0 = arg1; var0 = temp0 + 0x20; if (temp0 + var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); } arg0 = var1; r0 = var0; return r0, arg0; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } function func_3366(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 + 0x1f i< arg0) { var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0x3384; var var3 = 0x2ff2; var var4 = var1; var3 = func_536D(var4); var2 = func_2FF2(var3); var temp0 = var1; memory[var2:var2 + 0x20] = temp0; if (arg1 + temp0 + 0x20 <= arg0) { var temp1 = var1; var temp2 = var2; memory[temp2 + 0x20:temp2 + 0x20 + temp1] = msg.data[arg1 + 0x20:arg1 + 0x20 + temp1]; memory[temp2 + temp1 + 0x20:temp2 + temp1 + 0x20 + 0x20] = var0; return temp2; } else { var temp3 = var0; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var0; revert(memory[temp4:temp4 + temp4]); } } function func_3470(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x348b; var var2 = 0x40; var1 = func_5318(var2); var temp0 = var1; var temp1 = arg1; memory[temp0:temp0 + 0x20] = msg.data[temp1:temp1 + 0x20]; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20]; return temp0; } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } function func_34A1(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0xa0) { var var1 = 0x34bc; var var2 = 0xa0; var1 = func_5318(var2); var0 = var1; var1 = msg.data[arg1:arg1 + 0x20]; var2 = 0x34c9; var var3 = var1; func_567E(var3); var temp0 = var0; memory[temp0:temp0 + 0x20] = var1; var1 = 0x20; var temp1 = arg1; memory[temp0 + var1:temp0 + var1 + 0x20] = msg.data[var1 + temp1:var1 + temp1 + 0x20]; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = msg.data[temp1 + 0x40:temp1 + 0x40 + 0x20]; var2 = msg.data[temp1 + 0x60:temp1 + 0x60 + 0x20]; var3 = 0xffffffffffffffff; if (var2 > var3) { revert(memory[0x00:0x00]); } var var4 = 0x3506; var var5 = arg0; var var6 = arg1 + var2; var4 = func_3366(var5, var6); memory[var0 + 0x60:var0 + 0x60 + 0x20] = var4; var2 = msg.data[arg1 + 0x80:arg1 + 0x80 + 0x20]; if (var2 > var3) { revert(memory[0x00:0x00]); } var temp2 = arg1 + var2; var2 = temp2; if (arg0 i<= var2 + 0x1f) { revert(memory[0x00:0x00]); } var3 = msg.data[var2:var2 + 0x20]; var4 = 0x353f; var5 = 0x2ff2; var6 = var3; var5 = func_5349(var6); var4 = func_2FF2(var5); var temp3 = var3; var temp4 = var4; memory[temp4:temp4 + 0x20] = temp3; var temp5 = var1; var4 = temp4 + temp5; var5 = temp4; var temp6 = var2; var6 = temp5 + temp6; if (arg0 < temp5 + temp6 + temp3 * temp5) { revert(memory[0x00:0x00]); } var2 = 0x00; if (var2 >= var3) { label_357F: memory[var0 + 0x80:var0 + 0x80 + 0x20] = var5; return var0; } else { label_356A: var temp7 = var6; var temp8 = var4; memory[temp8:temp8 + 0x20] = msg.data[temp7:temp7 + 0x20]; var2 = var2 + 0x01; var temp9 = var1; var4 = temp9 + temp8; var6 = temp9 + temp7; if (var2 >= var3) { goto label_357F; } else { goto label_356A; } } } else { var temp10 = var0; revert(memory[temp10:temp10 + temp10]); } } function func_3590(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0xa0) { var var1 = 0x35ab; var var2 = 0xa0; var1 = func_5318(var2); var0 = var1; var temp0 = arg1; memory[var0:var0 + 0x20] = msg.data[temp0:temp0 + 0x20]; var1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var2 = 0x35bf; var var3 = var1; func_565C(var3); memory[var0 + 0x20:var0 + 0x20 + 0x20] = var1; var1 = msg.data[arg1 + 0x40:arg1 + 0x40 + 0x20]; var2 = 0x35d2; var3 = var1; func_565C(var3); memory[var0 + 0x40:var0 + 0x40 + 0x20] = var1; var1 = msg.data[arg1 + 0x60:arg1 + 0x60 + 0x20]; var2 = 0x35e5; var3 = var1; func_565C(var3); var temp1 = var0; memory[temp1 + 0x60:temp1 + 0x60 + 0x20] = var1; memory[temp1 + 0x80:temp1 + 0x80 + 0x20] = msg.data[arg1 + 0x80:arg1 + 0x80 + 0x20]; return temp1; } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } function func_35FC(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0xa0) { var var1 = 0x3617; var var2 = 0xa0; var1 = func_5318(var2); var0 = var1; var temp0 = arg1; memory[var0:var0 + 0x20] = memory[temp0:temp0 + 0x20]; var1 = memory[temp0 + 0x20:temp0 + 0x20 + 0x20]; var2 = 0x362b; var var3 = var1; func_565C(var3); memory[var0 + 0x20:var0 + 0x20 + 0x20] = var1; var1 = memory[arg1 + 0x40:arg1 + 0x40 + 0x20]; var2 = 0x363e; var3 = var1; func_565C(var3); memory[var0 + 0x40:var0 + 0x40 + 0x20] = var1; var1 = memory[arg1 + 0x60:arg1 + 0x60 + 0x20]; var2 = 0x3651; var3 = var1; func_565C(var3); var temp1 = var0; memory[temp1 + 0x60:temp1 + 0x60 + 0x20] = var1; memory[temp1 + 0x80:temp1 + 0x80 + 0x20] = memory[arg1 + 0x80:arg1 + 0x80 + 0x20]; return temp1; } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } function func_3668(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x3683; var var2 = 0x40; var1 = func_5318(var2); var0 = var1; var1 = msg.data[arg1:arg1 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var2 = 0x36a8; var var3 = arg0; var var4 = arg1 + var1; var2 = func_3879(var3, var4); var temp0 = var0; memory[temp0:temp0 + 0x20] = var2; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20]; return temp0; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } function func_36BB(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x36d6; var var2 = 0x40; var1 = func_5318(var2); var0 = var1; var1 = msg.data[arg1:arg1 + 0x20]; var2 = 0xffffffffffffffff; if (var1 > var2) { revert(memory[0x00:0x00]); } var temp0 = arg1 + var1; var1 = temp0; if (var1 + 0x1f i>= arg0) { revert(memory[0x00:0x00]); } var var3 = msg.data[var1:var1 + 0x20]; var var4 = 0x20; var var5 = 0x3714; var var6 = 0x2ff2; var var7 = var3; var6 = func_5349(var7); var5 = func_2FF2(var6); var temp1 = var3; var temp2 = var5; memory[temp2:temp2 + 0x20] = temp1; var temp3 = var4; var6 = temp2; var5 = var6 + temp3; var7 = temp3 + var1; var var8 = 0x00; if (var8 >= temp1) { label_374A: memory[var0:var0 + 0x20] = var6; var1 = msg.data[var4 + arg1:var4 + arg1 + 0x20]; if (var1 > var2) { revert(memory[0x00:0x00]); } var5 = 0x376e; var6 = arg0; var7 = arg1 + var1; var5 = func_3879(var6, var7); memory[var0 + var4:var0 + var4 + 0x20] = var5; return var0; } else { label_372A: var var9 = 0x3738; var var10 = arg0; var var11 = var1 + msg.data[var7:var7 + 0x20] + var4; var9 = func_3668(var10, var11); var temp4 = var5; memory[temp4:temp4 + 0x20] = var9; var temp5 = var4; var5 = temp5 + temp4; var7 = temp5 + var7; var8 = var8 + 0x01; if (var8 >= var3) { goto label_374A; } else { goto label_372A; } } } else { var temp6 = var0; revert(memory[temp6:temp6 + temp6]); } } function func_3879(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x60) { var var1 = 0x3894; var var2 = 0x60; var1 = func_5318(var2); var0 = var1; var1 = msg.data[arg1:arg1 + 0x20]; var2 = 0x38a1; var var3 = var1; func_565C(var3); memory[var0:var0 + 0x20] = var1; var1 = 0x20; var2 = msg.data[var1 + arg1:var1 + arg1 + 0x20]; var3 = 0xffffffffffffffff; if (var2 > var3) { revert(memory[0x00:0x00]); } var var4 = 0x38cb; var var5 = arg0; var var6 = arg1 + var2; var4 = func_3366(var5, var6); memory[var0 + var1:var0 + var1 + 0x20] = var4; var2 = 0x40; var4 = msg.data[arg1 + var2:arg1 + var2 + 0x20]; if (var4 > var3) { revert(memory[0x00:0x00]); } var3 = arg1 + var4; if (arg0 i<= var3 + 0x1f) { revert(memory[0x00:0x00]); } var4 = msg.data[var3:var3 + 0x20]; var5 = 0x3905; var6 = 0x2ff2; var var7 = var4; var6 = func_5349(var7); var5 = func_2FF2(var6); var temp0 = var4; var temp1 = var5; memory[temp1:temp1 + 0x20] = temp0; var temp2 = var1; var6 = temp1; var5 = var6 + temp2; var temp3 = var3; var7 = temp2 + temp3; if (arg0 < temp2 + temp3 + temp0 * var2) { revert(memory[0x00:0x00]); } var3 = 0x00; if (var3 >= var4) { label_394D: memory[var0 + var2:var0 + var2 + 0x20] = var6; return var0; } else { label_3930: var var8 = 0x3939; var var9 = arg0; var var10 = var7; var8 = func_3470(var9, var10); var temp4 = var5; memory[temp4:temp4 + 0x20] = var8; var3 = var3 + 0x01; var5 = var1 + temp4; var7 = var2 + var7; if (var3 >= var4) { goto label_394D; } else { goto label_3930; } } } else { var temp5 = var0; revert(memory[temp5:temp5 + temp5]); } } function func_3A5E(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x3a79; var var2 = 0x40; var1 = func_5318(var2); var0 = var1; var temp0 = arg1; memory[var0:var0 + 0x20] = msg.data[temp0:temp0 + 0x20]; var1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; if (var1 > 0xffffffffffffffff) { revert(memory[0x00:0x00]); } var2 = 0x3aa5; var var3 = arg0; var var4 = arg1 + var1; var2 = func_3366(var3, var4); memory[var0 + 0x20:var0 + 0x20 + 0x20] = var2; return var0; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } function func_3B1E(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x3b39; var var2 = 0x40; var1 = func_5318(var2); var0 = var1; var temp0 = arg1; memory[var0:var0 + 0x20] = msg.data[temp0:temp0 + 0x20]; var1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var2 = 0x342d; var var3 = var1; func_565C(var3); memory[var0 + 0x20:var0 + 0x20 + 0x20] = var1; return var0; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } function func_3BA3(var arg0, var arg1) returns (var r0, var arg0, var arg1) { var var0 = 0x00; var var1 = var0; var var2 = 0x00; var var3 = arg0 - arg1; if (var3 i>= 0x80) { var var4 = msg.data[arg1:arg1 + 0x20]; var var5 = 0x3bc3; var var6 = var4; func_565C(var6); var0 = var4; if (var3 + ~0x1f i>= 0x40) { var3 = 0x3be1; var4 = 0x40; var3 = func_5318(var4); var4 = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20]; var5 = 0x3bef; var6 = var4; func_565C(var6); var temp0 = var3; memory[temp0:temp0 + 0x20] = var4; var temp1 = arg1; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = msg.data[temp1 + 0x40:temp1 + 0x40 + 0x20]; var1 = temp0; var3 = msg.data[temp1 + 0x60:temp1 + 0x60 + 0x20]; if (var3 <= 0xffffffffffffffff) { var4 = 0x3c22; var5 = arg0; var6 = arg1 + var3; var4 = func_3366(var5, var6); arg1 = var4; arg0 = var1; r0 = var0; return r0, arg0, arg1; } else { var temp2 = var2; revert(memory[temp2:temp2 + temp2]); } } else { var temp3 = var1; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var1; revert(memory[temp4:temp4 + temp4]); } } function func_3C2C(var arg0, var arg1) returns (var r0, var arg0, var arg1, var r3, var r4) { r3 = 0x00; r4 = r3; var var2 = 0x00; var var3 = var2; var var4 = 0x00; if (arg0 - arg1 i>= 0x80) { var var5 = msg.data[arg1:arg1 + 0x20]; var var6 = 0x3c4e; var var7 = var5; func_565C(var7); r3 = var5; var temp0 = arg1; r4 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var2 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20]; var5 = msg.data[temp0 + 0x60:temp0 + 0x60 + 0x20]; if (var5 <= 0xffffffffffffffff) { var6 = 0x3c83; var7 = arg0; var var8 = arg1 + var5; var6, var7 = func_3326(var7, var8); r0 = r3; arg0 = r4; arg1 = var2; r3 = var6; r4 = var7; return r0, arg0, arg1, r3, r4; } else { var temp1 = var4; revert(memory[temp1:temp1 + temp1]); } } else { var temp2 = var2; revert(memory[temp2:temp2 + temp2]); } } function func_3C94(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) { var var4 = msg.data[arg1:arg1 + 0x20]; var var5 = 0x3cb4; var var6 = var4; func_565C(var6); r3 = var4; var temp0 = arg1; var1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var2 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20]; var4 = msg.data[temp0 + 0x60:temp0 + 0x60 + 0x20]; if (var4 <= 0xffffffffffffffff) { var5 = 0x3ce9; var6 = arg0; var var7 = arg1 + var4; var5 = func_3366(var6, var7); var temp1 = r3; r3 = var5; r0 = temp1; arg0 = var1; arg1 = var2; return r0, arg0, arg1, r3; } else { var temp2 = var3; revert(memory[temp2:temp2 + temp2]); } } else { var temp3 = var2; revert(memory[temp3:temp3 + temp3]); } } function func_3CF5(var arg0, var arg1) returns (var r0, var arg0, var arg1, var r3, var r4) { r3 = 0x00; r4 = r3; var var2 = 0x00; var var3 = var2; var var4 = 0x00; if (arg0 - arg1 i>= 0x60) { var var5 = msg.data[arg1:arg1 + 0x20]; var var6 = 0xffffffffffffffff; if (var5 <= var6) { var var7 = 0x3d2f; var var8 = arg0; var var9 = arg1 + var5; var7, var8 = func_3183(var8, var9); r3 = var7; r4 = var8; var5 = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20]; if (var5 <= var6) { var7 = 0x3d53; var8 = arg0; var9 = arg1 + var5; var7, var8 = func_3183(var8, var9); var2 = var7; var3 = var8; var5 = msg.data[arg1 + 0x40:arg1 + 0x40 + 0x20]; if (var5 <= var6) { var temp0 = arg1 + var5; var5 = temp0; if (arg0 - var5 i>= 0x0120) { var temp1 = r4; r4 = var5; arg0 = temp1; var temp2 = r3; r3 = var3; r0 = temp2; arg1 = var2; return r0, arg0, arg1, r3, r4; } else { var temp3 = var4; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var4; revert(memory[temp4:temp4 + temp4]); } } else { var temp5 = var2; revert(memory[temp5:temp5 + temp5]); } } else { var temp6 = var2; revert(memory[temp6:temp6 + temp6]); } } else { var temp7 = var2; revert(memory[temp7:temp7 + temp7]); } } function func_3DE7(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>= 0x60) { var temp0 = arg1; r3 = msg.data[temp0:temp0 + 0x20]; var1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var var4 = msg.data[temp0 + 0x40:temp0 + 0x40 + 0x20]; if (var4 <= 0xffffffffffffffff) { var var5 = 0x3e2c; var var6 = arg0; var var7 = arg1 + var4; var5, var6 = func_3326(var6, var7); var temp1 = r3; r3 = var6; r0 = temp1; arg0 = var1; arg1 = var5; return r0, arg0, arg1, r3; } else { var temp2 = var2; revert(memory[temp2:temp2 + temp2]); } } else { var temp3 = var2; revert(memory[temp3:temp3 + temp3]); } } function func_3F7A(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0xffffffffffffffff; if (var1 <= var2) { var temp0 = arg1 + var1; var2 = var2; var1 = temp0; if (arg0 - var1 i>= 0xa0) { var var3 = 0x3fbf; var var4 = 0xa0; var3 = func_5318(var4); var4 = msg.data[var1:var1 + 0x20]; var var5 = 0x3fca; var var6 = var4; func_565C(var6); var temp1 = var3; memory[temp1:temp1 + 0x20] = var4; var temp2 = var1; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = msg.data[temp2 + 0x20:temp2 + 0x20 + 0x20]; memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = msg.data[temp2 + 0x40:temp2 + 0x40 + 0x20]; var4 = msg.data[temp2 + 0x60:temp2 + 0x60 + 0x20]; var5 = 0x3ff0; var6 = var4; func_567E(var6); memory[var3 + 0x60:var3 + 0x60 + 0x20] = var4; var4 = msg.data[var1 + 0x80:var1 + 0x80 + 0x20]; if (var4 <= var2) { var5 = 0x4012; var6 = arg0; var var7 = var1 + var4; var5 = func_3366(var6, var7); memory[var3 + 0x80:var3 + 0x80 + 0x20] = var5; return var3; } else { var temp3 = var0; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var0; revert(memory[temp4:temp4 + temp4]); } } else { var temp5 = var0; revert(memory[temp5:temp5 + temp5]); } } else { var temp6 = var0; revert(memory[temp6:temp6 + temp6]); } } function func_4021(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x40) { var var1 = 0x2d67; var var2 = arg0; var var3 = arg1; return func_3470(var2, var3); } else { var temp0 = var0; revert(memory[temp0:temp0 + temp0]); } } function func_403C(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var var1 = 0x20; if (arg0 - arg1 i>= var1) { var var2 = msg.data[arg1:arg1 + 0x20]; var var3 = 0xffffffffffffffff; if (var2 <= var3) { var temp0 = arg1 + var2; var3 = var3; var2 = temp0; if (arg0 - var2 i>= 0x40) { var var4 = 0x4082; var var5 = 0x40; var4 = func_5318(var5); var5 = msg.data[var2:var2 + 0x20]; if (var5 <= var3) { var temp1 = var2 + var5; var5 = temp1; if (arg0 i> var5 + 0x1f) { var var6 = msg.data[var5:var5 + 0x20]; var var7 = 0x40ae; var var8 = 0x2ff2; var var9 = var6; var8 = func_5349(var9); var7 = func_2FF2(var8); var temp2 = var6; var temp3 = var7; memory[temp3:temp3 + 0x20] = temp2; var temp4 = var1; var8 = temp3; var7 = var8 + temp4; var9 = temp4 + var5; var var10 = var0; if (var10 >= temp2) { label_40E3: memory[var4:var4 + 0x20] = var8; var5 = msg.data[var1 + var2:var1 + var2 + 0x20]; if (var5 <= var3) { var6 = 0x4106; var7 = arg0; var8 = var2 + var5; var6 = func_3043(var7, var8); memory[var4 + var1:var4 + var1 + 0x20] = var6; return var4; } else { var temp5 = var0; revert(memory[temp5:temp5 + temp5]); } } else { label_40C3: var var11 = 0x40d1; var var12 = arg0; var var13 = var5 + msg.data[var9:var9 + 0x20] + var1; var11 = func_36BB(var12, var13); var temp6 = var7; memory[temp6:temp6 + 0x20] = var11; var temp7 = var1; var7 = temp7 + temp6; var9 = temp7 + var9; var10 = var10 + 0x01; if (var10 >= var6) { goto label_40E3; } else { goto label_40C3; } } } else { var temp8 = var0; revert(memory[temp8:temp8 + temp8]); } } else { var temp9 = var0; revert(memory[temp9:temp9 + temp9]); } } else { var temp10 = var0; revert(memory[temp10:temp10 + temp10]); } } else { var temp11 = var0; revert(memory[temp11:temp11 + temp11]); } } else { var temp12 = var0; revert(memory[temp12:temp12 + temp12]); } } function func_4214(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0xffffffffffffffff; if (var1 <= var2) { var temp0 = arg1 + var1; var1 = temp0; var2 = var2; if (arg0 - var1 i>= 0x40) { var var3 = 0x4259; var var4 = 0x40; var3 = func_5318(var4); var4 = msg.data[var1:var1 + 0x20]; var var5 = 0x4264; var var6 = var4; func_567E(var6); memory[var3:var3 + 0x20] = var4; var4 = msg.data[var1 + 0x20:var1 + 0x20 + 0x20]; if (var4 <= var2) { var5 = 0x3eb9; var6 = arg0; var var7 = var1 + var4; var5 = func_3366(var6, var7); memory[var3 + 0x20:var3 + 0x20 + 0x20] = var5; return var3; } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } else { var temp2 = var0; revert(memory[temp2:temp2 + temp2]); } } else { var temp3 = var0; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var0; revert(memory[temp4:temp4 + temp4]); } } function func_4405(var arg0, var arg1) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; if (arg0 - arg1 i>= 0xc0) { var var2 = 0x4421; var var3 = arg0; var var4 = arg1; var2 = func_35FC(var3, var4); var0 = var2; var2 = memory[arg1 + 0xa0:arg1 + 0xa0 + 0x20]; if (var2 <= 0xffffffffffffffff) { var3 = 0x43fb; var4 = arg0; var var5 = arg1 + var2; var3 = func_31E4(var4, var5); arg0 = var3; r0 = var0; return r0, arg0; } else { var temp0 = var1; revert(memory[temp0:temp0 + temp0]); } } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } function func_4448(var arg0, var arg1) returns (var r0, var arg0, var arg1) { var var0 = 0x00; var var1 = var0; var var2 = 0x00; if (arg0 - arg1 i>= 0xe0) { var var3 = 0x4466; var var4 = arg0; var var5 = arg1; var3 = func_35FC(var4, var5); var0 = var3; var3 = memory[arg1 + 0xa0:arg1 + 0xa0 + 0x20]; if (var3 <= 0xffffffffffffffff) { var4 = 0x448d; var5 = arg0; var var6 = arg1 + var3; var4 = func_31E4(var5, var6); arg1 = memory[arg1 + 0xc0:arg1 + 0xc0 + 0x20]; arg0 = var4; r0 = var0; return r0, arg0, arg1; } else { var temp0 = var2; revert(memory[temp0:temp0 + temp0]); } } else { var temp1 = var2; revert(memory[temp1:temp1 + temp1]); } } function func_44FC(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { var var1 = msg.data[arg1:arg1 + 0x20]; var var2 = 0xffffffffffffffff; if (var1 <= var2) { var temp0 = arg1 + var1; var2 = var2; var1 = temp0; if (arg0 - var1 i>= 0x80) { var var3 = 0x4541; var var4 = 0x80; var3 = func_5318(var4); var4 = msg.data[var1:var1 + 0x20]; var var5 = 0x454c; var var6 = var4; func_567E(var6); var temp1 = var3; memory[temp1:temp1 + 0x20] = var4; var temp2 = var1; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = msg.data[temp2 + 0x20:temp2 + 0x20 + 0x20]; memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = msg.data[temp2 + 0x40:temp2 + 0x40 + 0x20]; var4 = msg.data[temp2 + 0x60:temp2 + 0x60 + 0x20]; if (var4 <= var2) { var5 = 0x4581; var6 = arg0; var var7 = var1 + var4; var5 = func_3366(var6, var7); memory[var3 + 0x60:var3 + 0x60 + 0x20] = var5; return var3; } else { var temp3 = var0; revert(memory[temp3:temp3 + temp3]); } } else { var temp4 = var0; revert(memory[temp4:temp4 + temp4]); } } else { var temp5 = var0; revert(memory[temp5:temp5 + temp5]); } } else { var temp6 = var0; revert(memory[temp6:temp6 + temp6]); } } function func_4714(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { var var1 = msg.data[arg1:arg1 + 0x20]; if (var1 <= 0xffffffffffffffff) { var var2 = 0x2c78; var var3 = arg0; var var4 = arg1 + var1; return func_3A5E(var3, var4); } else { var temp0 = var0; revert(memory[temp0:temp0 + temp0]); } } else { var temp1 = var0; revert(memory[temp1:temp1 + temp1]); } } function func_47E3(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg0 - arg1 i>= 0x20) { return memory[arg1:arg1 + 0x20]; } var temp0 = var0; revert(memory[temp0:temp0 + temp0]); } function func_484E(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 = 0x4866; var var3 = var1; var var4 = temp2 + 0x20; var var5 = temp0 + 0x20; func_556C(var3, var4, var5); return (var1 + 0x1f & ~0x1f) + arg0 + 0x20; } function func_4B1F(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var temp0 = arg0; var var1 = memory[temp0:temp0 + 0x20]; var var2 = 0x4b31; var var3 = var1; var var4 = arg1; var var5 = temp0 + 0x20; func_556C(var3, var4, var5); return var1 + arg1; } function func_5318(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 = 0x5341; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } } function func_5349(var arg0) returns (var r0) { var var0 = 0x00; if (arg0 <= 0xffffffffffffffff) { return arg0 * 0x20 + 0x20; } var var1 = 0x5363; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } function func_536D(var arg0) returns (var r0) { var var0 = 0x00; if (arg0 <= 0xffffffffffffffff) { return (arg0 + 0x1f & ~0x1f) + 0x20; } var var1 = 0x5387; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x41; revert(memory[0x00:0x24]); } function func_5395(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (arg1 <= ~arg0) { return arg1 + arg0; } var var1 = 0x53a8; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function func_54FF(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var temp0 = arg1; if (!(!!temp0 & (arg0 > 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / temp0))) { return arg1 * arg0; } var var1 = 0x5537; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function func_556C(var arg0, var arg1, var arg2) { var var0 = 0x00; if (var0 >= arg0) { label_5587: if (var0 <= arg0) { return; } memory[arg0 + arg1:arg0 + arg1 + 0x20] = 0x00; return; } else { label_5578: var temp0 = var0; memory[temp0 + arg1:temp0 + arg1 + 0x20] = memory[temp0 + arg2:temp0 + arg2 + 0x20]; var0 = temp0 + 0x20; if (var0 >= arg0) { goto label_5587; } else { goto label_5578; } } } function func_5598(var arg0) returns (var r0) { var var0 = 0x00; if (arg0 != 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { return arg0 + 0x01; } var var1 = 0x55ca; memory[0x00:0x20] = 0x4e487b71 << 0xe0; memory[0x04:0x24] = 0x11; revert(memory[0x00:0x24]); } function func_565C(var arg0) { var temp0 = arg0; if (temp0 == temp0 & 0xffffffffffffffffffffffffffffffffffffffff) { return; } else { revert(memory[0x00:0x00]); } } function func_567E(var arg0) { var temp0 = arg0; if (temp0 == !!temp0) { return; } else { revert(memory[0x00:0x00]); } } }

Disassembly

label_0000: // Inputs[1] { @0005 msg.value } 0000 60 PUSH1 0x80 0002 60 PUSH1 0x40 0004 52 MSTORE 0005 34 CALLVALUE 0006 80 DUP1 0007 15 ISZERO 0008 61 PUSH2 0x0010 000B 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @0004 memory[0x40:0x60] = 0x80 // @0005 stack[0] = msg.value // } // Block ends with conditional jump to 0x0010, if !msg.value label_000C: // Incoming jump from 0x000B, if not !msg.value // Inputs[1] { @000F memory[0x00:0x00] } 000C 60 PUSH1 0x00 000E 80 DUP1 000F FD *REVERT // Stack delta = +0 // Outputs[1] { @000F revert(memory[0x00:0x00]); } // Block terminates label_0010: // Incoming jump from 0x000B, if !msg.value // Inputs[1] { @0014 msg.data.length } 0010 5B JUMPDEST 0011 50 POP 0012 60 PUSH1 0x04 0014 36 CALLDATASIZE 0015 10 LT 0016 61 PUSH2 0x01b9 0019 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x01b9, if msg.data.length < 0x04 label_001A: // Incoming jump from 0x0019, if not msg.data.length < 0x04 // Inputs[1] { @001C msg.data[0x00:0x20] } 001A 60 PUSH1 0x00 001C 35 CALLDATALOAD 001D 60 PUSH1 0xe0 001F 1C SHR 0020 80 DUP1 0021 63 PUSH4 0x75908f7c 0026 11 GT 0027 61 PUSH2 0x00f9 002A 57 *JUMPI // Stack delta = +1 // Outputs[1] { @001F stack[0] = msg.data[0x00:0x20] >> 0xe0 } // Block ends with conditional jump to 0x00f9, if 0x75908f7c > msg.data[0x00:0x20] >> 0xe0 label_002B: // Incoming jump from 0x002A, if not 0x75908f7c > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @002B stack[-1] } 002B 80 DUP1 002C 63 PUSH4 0xcce38761 0031 11 GT 0032 61 PUSH2 0x0097 0035 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0097, if 0xcce38761 > stack[-1] label_0036: // Incoming jump from 0x0035, if not 0xcce38761 > stack[-1] // Inputs[1] { @0036 stack[-1] } 0036 80 DUP1 0037 63 PUSH4 0xe801bd7e 003C 11 GT 003D 61 PUSH2 0x0071 0040 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0071, if 0xe801bd7e > stack[-1] label_0041: // Incoming jump from 0x0040, if not 0xe801bd7e > stack[-1] // Inputs[1] { @0041 stack[-1] } 0041 80 DUP1 0042 63 PUSH4 0xe801bd7e 0047 14 EQ 0048 61 PUSH2 0x03c5 004B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x03c5, if 0xe801bd7e == stack[-1] label_004C: // Incoming jump from 0x004B, if not 0xe801bd7e == stack[-1] // Inputs[1] { @004C stack[-1] } 004C 80 DUP1 004D 63 PUSH4 0xee872558 0052 14 EQ 0053 61 PUSH2 0x03e5 0056 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x03e5, if 0xee872558 == stack[-1] label_0057: // Incoming jump from 0x0056, if not 0xee872558 == stack[-1] // Inputs[1] { @0057 stack[-1] } 0057 80 DUP1 0058 63 PUSH4 0xf8364b88 005D 14 EQ 005E 61 PUSH2 0x03f8 0061 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x03f8, if 0xf8364b88 == stack[-1] label_0062: // Incoming jump from 0x0061, if not 0xf8364b88 == stack[-1] // Inputs[1] { @0062 stack[-1] } 0062 80 DUP1 0063 63 PUSH4 0xfa461e33 0068 14 EQ 0069 61 PUSH2 0x0413 006C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0413, if 0xfa461e33 == stack[-1] label_006D: // Incoming jump from 0x006C, if not 0xfa461e33 == stack[-1] 006D 61 PUSH2 0x01b9 0070 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_0071: // Incoming jump from 0x0040, if 0xe801bd7e > stack[-1] // Inputs[1] { @0072 stack[-1] } 0071 5B JUMPDEST 0072 80 DUP1 0073 63 PUSH4 0xcce38761 0078 14 EQ 0079 61 PUSH2 0x01e7 007C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0xcce38761 == stack[-1] label_007D: // Incoming jump from 0x007C, if not 0xcce38761 == stack[-1] // Inputs[1] { @007D stack[-1] } 007D 80 DUP1 007E 63 PUSH4 0xda7be41f 0083 14 EQ 0084 61 PUSH2 0x038a 0087 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x038a, if 0xda7be41f == stack[-1] label_0088: // Incoming jump from 0x0087, if not 0xda7be41f == stack[-1] // Inputs[1] { @0088 stack[-1] } 0088 80 DUP1 0089 63 PUSH4 0xe1384289 008E 14 EQ 008F 61 PUSH2 0x03aa 0092 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x03aa, if 0xe1384289 == stack[-1] label_0093: // Incoming jump from 0x0092, if not 0xe1384289 == stack[-1] 0093 61 PUSH2 0x01b9 0096 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_0097: // Incoming jump from 0x0035, if 0xcce38761 > stack[-1] // Inputs[1] { @0098 stack[-1] } 0097 5B JUMPDEST 0098 80 DUP1 0099 63 PUSH4 0xa401b06f 009E 11 GT 009F 61 PUSH2 0x00d3 00A2 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00d3, if 0xa401b06f > stack[-1] label_00A3: // Incoming jump from 0x00A2, if not 0xa401b06f > stack[-1] // Inputs[1] { @00A3 stack[-1] } 00A3 80 DUP1 00A4 63 PUSH4 0xa401b06f 00A9 14 EQ 00AA 61 PUSH2 0x032f 00AD 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x032f, if 0xa401b06f == stack[-1] label_00AE: // Incoming jump from 0x00AD, if not 0xa401b06f == stack[-1] // Inputs[1] { @00AE stack[-1] } 00AE 80 DUP1 00AF 63 PUSH4 0xa69cd4ae 00B4 14 EQ 00B5 61 PUSH2 0x034f 00B8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x034f, if 0xa69cd4ae == stack[-1] label_00B9: // Incoming jump from 0x00B8, if not 0xa69cd4ae == stack[-1] // Inputs[1] { @00B9 stack[-1] } 00B9 80 DUP1 00BA 63 PUSH4 0xb2ff9f26 00BF 14 EQ 00C0 61 PUSH2 0x01e7 00C3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0xb2ff9f26 == stack[-1] label_00C4: // Incoming jump from 0x00C3, if not 0xb2ff9f26 == stack[-1] // Inputs[1] { @00C4 stack[-1] } 00C4 80 DUP1 00C5 63 PUSH4 0xc065411d 00CA 14 EQ 00CB 61 PUSH2 0x036f 00CE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x036f, if 0xc065411d == stack[-1] label_00CF: // Incoming jump from 0x00CE, if not 0xc065411d == stack[-1] 00CF 61 PUSH2 0x01b9 00D2 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_00D3: // Incoming jump from 0x00A2, if 0xa401b06f > stack[-1] // Inputs[1] { @00D4 stack[-1] } 00D3 5B JUMPDEST 00D4 80 DUP1 00D5 63 PUSH4 0x75908f7c 00DA 14 EQ 00DB 61 PUSH2 0x01e7 00DE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0x75908f7c == stack[-1] label_00DF: // Incoming jump from 0x00DE, if not 0x75908f7c == stack[-1] // Inputs[1] { @00DF stack[-1] } 00DF 80 DUP1 00E0 63 PUSH4 0x84800812 00E5 14 EQ 00E6 61 PUSH2 0x01e7 00E9 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0x84800812 == stack[-1] label_00EA: // Incoming jump from 0x00E9, if not 0x84800812 == stack[-1] // Inputs[1] { @00EA stack[-1] } 00EA 80 DUP1 00EB 63 PUSH4 0x8b418713 00F0 14 EQ 00F1 61 PUSH2 0x031c 00F4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x031c, if 0x8b418713 == stack[-1] label_00F5: // Incoming jump from 0x00F4, if not 0x8b418713 == stack[-1] 00F5 61 PUSH2 0x01b9 00F8 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_00F9: // Incoming jump from 0x002A, if 0x75908f7c > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @00FA stack[-1] } 00F9 5B JUMPDEST 00FA 80 DUP1 00FB 63 PUSH4 0x54c170ea 0100 11 GT 0101 61 PUSH2 0x0166 0104 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0166, if 0x54c170ea > stack[-1] label_0105: // Incoming jump from 0x0104, if not 0x54c170ea > stack[-1] // Inputs[1] { @0105 stack[-1] } 0105 80 DUP1 0106 63 PUSH4 0x61de3df4 010B 11 GT 010C 61 PUSH2 0x0140 010F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0140, if 0x61de3df4 > stack[-1] label_0110: // Incoming jump from 0x010F, if not 0x61de3df4 > stack[-1] // Inputs[1] { @0110 stack[-1] } 0110 80 DUP1 0111 63 PUSH4 0x61de3df4 0116 14 EQ 0117 61 PUSH2 0x02bc 011A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x02bc, if 0x61de3df4 == stack[-1] label_011B: // Incoming jump from 0x011A, if not 0x61de3df4 == stack[-1] // Inputs[1] { @011B stack[-1] } 011B 80 DUP1 011C 63 PUSH4 0x69277b67 0121 14 EQ 0122 61 PUSH2 0x02dc 0125 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x02dc, if 0x69277b67 == stack[-1] label_0126: // Incoming jump from 0x0125, if not 0x69277b67 == stack[-1] // Inputs[1] { @0126 stack[-1] } 0126 80 DUP1 0127 63 PUSH4 0x6c813d29 012C 14 EQ 012D 61 PUSH2 0x01e7 0130 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0x6c813d29 == stack[-1] label_0131: // Incoming jump from 0x0130, if not 0x6c813d29 == stack[-1] // Inputs[1] { @0131 stack[-1] } 0131 80 DUP1 0132 63 PUSH4 0x6f62d082 0137 14 EQ 0138 61 PUSH2 0x02fc 013B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x02fc, if 0x6f62d082 == stack[-1] label_013C: // Incoming jump from 0x013B, if not 0x6f62d082 == stack[-1] 013C 61 PUSH2 0x01b9 013F 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_0140: // Incoming jump from 0x010F, if 0x61de3df4 > stack[-1] // Inputs[1] { @0141 stack[-1] } 0140 5B JUMPDEST 0141 80 DUP1 0142 63 PUSH4 0x54c170ea 0147 14 EQ 0148 61 PUSH2 0x025c 014B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x025c, if 0x54c170ea == stack[-1] label_014C: // Incoming jump from 0x014B, if not 0x54c170ea == stack[-1] // Inputs[1] { @014C stack[-1] } 014C 80 DUP1 014D 63 PUSH4 0x550d8ca5 0152 14 EQ 0153 61 PUSH2 0x027c 0156 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x027c, if 0x550d8ca5 == stack[-1] label_0157: // Incoming jump from 0x0156, if not 0x550d8ca5 == stack[-1] // Inputs[1] { @0157 stack[-1] } 0157 80 DUP1 0158 63 PUSH4 0x5d1edfbc 015D 14 EQ 015E 61 PUSH2 0x029c 0161 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x029c, if 0x5d1edfbc == stack[-1] label_0162: // Incoming jump from 0x0161, if not 0x5d1edfbc == stack[-1] 0162 61 PUSH2 0x01b9 0165 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_0166: // Incoming jump from 0x0104, if 0x54c170ea > stack[-1] // Inputs[1] { @0167 stack[-1] } 0166 5B JUMPDEST 0167 80 DUP1 0168 63 PUSH4 0x23a31f8a 016D 11 GT 016E 61 PUSH2 0x0197 0171 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0197, if 0x23a31f8a > stack[-1] label_0172: // Incoming jump from 0x0171, if not 0x23a31f8a > stack[-1] // Inputs[1] { @0172 stack[-1] } 0172 80 DUP1 0173 63 PUSH4 0x23a31f8a 0178 14 EQ 0179 61 PUSH2 0x01fc 017C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01fc, if 0x23a31f8a == stack[-1] label_017D: // Incoming jump from 0x017C, if not 0x23a31f8a == stack[-1] // Inputs[1] { @017D stack[-1] } 017D 80 DUP1 017E 63 PUSH4 0x26f1c380 0183 14 EQ 0184 61 PUSH2 0x021c 0187 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x021c, if 0x26f1c380 == stack[-1] label_0188: // Incoming jump from 0x0187, if not 0x26f1c380 == stack[-1] // Inputs[1] { @0188 stack[-1] } 0188 80 DUP1 0189 63 PUSH4 0x4dfec45a 018E 14 EQ 018F 61 PUSH2 0x023c 0192 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x023c, if 0x4dfec45a == stack[-1] label_0193: // Incoming jump from 0x0192, if not 0x4dfec45a == stack[-1] 0193 61 PUSH2 0x01b9 0196 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x01b9 label_0197: // Incoming jump from 0x0171, if 0x23a31f8a > stack[-1] // Inputs[1] { @0198 stack[-1] } 0197 5B JUMPDEST 0198 80 DUP1 0199 63 PUSH4 0x096a14b2 019E 14 EQ 019F 61 PUSH2 0x01be 01A2 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01be, if 0x096a14b2 == stack[-1] label_01A3: // Incoming jump from 0x01A2, if not 0x096a14b2 == stack[-1] // Inputs[1] { @01A3 stack[-1] } 01A3 80 DUP1 01A4 63 PUSH4 0x10d1e85c 01A9 14 EQ 01AA 61 PUSH2 0x01e7 01AD 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0x10d1e85c == stack[-1] label_01AE: // Incoming jump from 0x01AD, if not 0x10d1e85c == stack[-1] // Inputs[1] { @01AE stack[-1] } 01AE 80 DUP1 01AF 63 PUSH4 0x21fb6c90 01B4 14 EQ 01B5 61 PUSH2 0x01e7 01B8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e7, if 0x21fb6c90 == stack[-1] label_01B9: // Incoming jump from 0x013F // Incoming jump from 0x0196 // Incoming jump from 0x01B8, if not 0x21fb6c90 == stack[-1] // Incoming jump from 0x0096 // Incoming jump from 0x0070 // Incoming jump from 0x0165 // Incoming jump from 0x00F8 // Incoming jump from 0x0019, if msg.data.length < 0x04 // Incoming jump from 0x00D2 // Inputs[1] { @01BD memory[0x00:0x00] } 01B9 5B JUMPDEST 01BA 60 PUSH1 0x00 01BC 80 DUP1 01BD FD *REVERT // Stack delta = +0 // Outputs[1] { @01BD revert(memory[0x00:0x00]); } // Block terminates label_01BE: // Incoming jump from 0x01A2, if 0x096a14b2 == stack[-1] // Inputs[1] { @01C5 msg.data.length } 01BE 5B JUMPDEST 01BF 61 PUSH2 0x01d1 01C2 61 PUSH2 0x01cc 01C5 36 CALLDATASIZE 01C6 60 PUSH1 0x04 01C8 61 PUSH2 0x4283 01CB 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @01BF stack[0] = 0x01d1 // @01C2 stack[1] = 0x01cc // @01C5 stack[2] = msg.data.length // @01C6 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x4283 01CC 5B JUMPDEST 01CD 61 PUSH2 0x0426 01D0 56 *JUMP 01D1 5B JUMPDEST 01D2 60 PUSH1 0x40 01D4 51 MLOAD 01D5 61 PUSH2 0x01de 01D8 91 SWAP2 01D9 90 SWAP1 01DA 61 PUSH2 0x4f44 01DD 56 *JUMP 01DE 5B JUMPDEST 01DF 60 PUSH1 0x40 01E1 51 MLOAD 01E2 80 DUP1 01E3 91 SWAP2 01E4 03 SUB 01E5 90 SWAP1 01E6 F3 *RETURN label_01E7: // Incoming jump from 0x00E9, if 0x84800812 == stack[-1] // Incoming jump from 0x00C3, if 0xb2ff9f26 == stack[-1] // Incoming jump from 0x007C, if 0xcce38761 == stack[-1] // Incoming jump from 0x00DE, if 0x75908f7c == stack[-1] // Incoming jump from 0x01AD, if 0x10d1e85c == stack[-1] // Incoming jump from 0x01B8, if 0x21fb6c90 == stack[-1] // Incoming jump from 0x0130, if 0x6c813d29 == stack[-1] // Inputs[1] { @01EE msg.data.length } 01E7 5B JUMPDEST 01E8 61 PUSH2 0x01fa 01EB 61 PUSH2 0x01f5 01EE 36 CALLDATASIZE 01EF 60 PUSH1 0x04 01F1 61 PUSH2 0x3c2c 01F4 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @01E8 stack[0] = 0x01fa // @01EB stack[1] = 0x01f5 // @01EE stack[2] = msg.data.length // @01EF stack[3] = 0x04 // } // Block ends with call to 0x3c2c, returns to 0x01F5 label_01F5: // Incoming return from call to 0x3C2C at 0x01F4 01F5 5B JUMPDEST 01F6 61 PUSH2 0x049b 01F9 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x049b label_01FA: // Incoming return from call to 0x032A at 0x0329 01FA 5B JUMPDEST 01FB 00 *STOP // Stack delta = +0 // Outputs[1] { @01FB stop(); } // Block terminates label_01FC: // Incoming jump from 0x017C, if 0x23a31f8a == stack[-1] // Inputs[1] { @0203 msg.data.length } 01FC 5B JUMPDEST 01FD 61 PUSH2 0x020f 0200 61 PUSH2 0x020a 0203 36 CALLDATASIZE 0204 60 PUSH1 0x04 0206 61 PUSH2 0x403c 0209 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @01FD stack[0] = 0x020f // @0200 stack[1] = 0x020a // @0203 stack[2] = msg.data.length // @0204 stack[3] = 0x04 // } // Block ends with call to 0x403c, returns to 0x020A label_020A: // Incoming return from call to 0x403C at 0x0209 020A 5B JUMPDEST 020B 61 PUSH2 0x04af 020E 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x04af 020F 5B JUMPDEST 0210 60 PUSH1 0x40 0212 51 MLOAD 0213 61 PUSH2 0x01de 0216 91 SWAP2 0217 90 SWAP1 0218 61 PUSH2 0x4e29 021B 56 *JUMP label_021C: // Incoming jump from 0x0187, if 0x26f1c380 == stack[-1] // Inputs[1] { @0223 msg.data.length } 021C 5B JUMPDEST 021D 61 PUSH2 0x022f 0220 61 PUSH2 0x022a 0223 36 CALLDATASIZE 0224 60 PUSH1 0x04 0226 61 PUSH2 0x4382 0229 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @021D stack[0] = 0x022f // @0220 stack[1] = 0x022a // @0223 stack[2] = msg.data.length // @0224 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x4382 022A 5B JUMPDEST 022B 61 PUSH2 0x04c8 022E 56 *JUMP 022F 5B JUMPDEST 0230 60 PUSH1 0x40 0232 51 MLOAD 0233 61 PUSH2 0x01de 0236 91 SWAP2 0237 90 SWAP1 0238 61 PUSH2 0x5004 023B 56 *JUMP label_023C: // Incoming jump from 0x0192, if 0x4dfec45a == stack[-1] // Inputs[1] { @0243 msg.data.length } 023C 5B JUMPDEST 023D 61 PUSH2 0x024f 0240 61 PUSH2 0x024a 0243 36 CALLDATASIZE 0244 60 PUSH1 0x04 0246 61 PUSH2 0x4021 0249 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @023D stack[0] = 0x024f // @0240 stack[1] = 0x024a // @0243 stack[2] = msg.data.length // @0244 stack[3] = 0x04 // } // Block ends with call to 0x4021, returns to 0x024A label_024A: // Incoming return from call to 0x4021 at 0x0249 024A 5B JUMPDEST 024B 61 PUSH2 0x04f8 024E 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x04f8 024F 5B JUMPDEST 0250 60 PUSH1 0x40 0252 51 MLOAD 0253 61 PUSH2 0x01de 0256 91 SWAP2 0257 90 SWAP1 0258 61 PUSH2 0x4e12 025B 56 *JUMP label_025C: // Incoming jump from 0x014B, if 0x54c170ea == stack[-1] // Inputs[1] { @0263 msg.data.length } 025C 5B JUMPDEST 025D 61 PUSH2 0x026f 0260 61 PUSH2 0x026a 0263 36 CALLDATASIZE 0264 60 PUSH1 0x04 0266 61 PUSH2 0x44fc 0269 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @025D stack[0] = 0x026f // @0260 stack[1] = 0x026a // @0263 stack[2] = msg.data.length // @0264 stack[3] = 0x04 // } // Block ends with call to 0x44fc, returns to 0x026A label_026A: // Incoming return from call to 0x44FC at 0x0269 026A 5B JUMPDEST 026B 61 PUSH2 0x0511 026E 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0511 026F 5B JUMPDEST 0270 60 PUSH1 0x40 0272 51 MLOAD 0273 61 PUSH2 0x01de 0276 91 SWAP2 0277 90 SWAP1 0278 61 PUSH2 0x51bb 027B 56 *JUMP label_027C: // Incoming jump from 0x0156, if 0x550d8ca5 == stack[-1] // Inputs[1] { @0283 msg.data.length } 027C 5B JUMPDEST 027D 61 PUSH2 0x028f 0280 61 PUSH2 0x028a 0283 36 CALLDATASIZE 0284 60 PUSH1 0x04 0286 61 PUSH2 0x4214 0289 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @027D stack[0] = 0x028f // @0280 stack[1] = 0x028a // @0283 stack[2] = msg.data.length // @0284 stack[3] = 0x04 // } // Block ends with call to 0x4214, returns to 0x028A label_028A: // Incoming return from call to 0x4714 at 0x03B7 // Incoming return from call to 0x4214 at 0x0289 028A 5B JUMPDEST 028B 61 PUSH2 0x053e 028E 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x053e 028F 5B JUMPDEST 0290 60 PUSH1 0x40 0292 51 MLOAD 0293 61 PUSH2 0x01de 0296 91 SWAP2 0297 90 SWAP1 0298 61 PUSH2 0x4f1d 029B 56 *JUMP label_029C: // Incoming jump from 0x0161, if 0x5d1edfbc == stack[-1] // Inputs[1] { @02A3 msg.data.length } 029C 5B JUMPDEST 029D 61 PUSH2 0x02af 02A0 61 PUSH2 0x02aa 02A3 36 CALLDATASIZE 02A4 60 PUSH1 0x04 02A6 61 PUSH2 0x41e1 02A9 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @029D stack[0] = 0x02af // @02A0 stack[1] = 0x02aa // @02A3 stack[2] = msg.data.length // @02A4 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x41e1 02AA 5B JUMPDEST 02AB 61 PUSH2 0x0558 02AE 56 *JUMP 02AF 5B JUMPDEST 02B0 60 PUSH1 0x40 02B2 51 MLOAD 02B3 61 PUSH2 0x01de 02B6 91 SWAP2 02B7 90 SWAP1 02B8 61 PUSH2 0x4f0a 02BB 56 *JUMP label_02BC: // Incoming jump from 0x011A, if 0x61de3df4 == stack[-1] // Inputs[1] { @02C3 msg.data.length } 02BC 5B JUMPDEST 02BD 61 PUSH2 0x02cf 02C0 61 PUSH2 0x02ca 02C3 36 CALLDATASIZE 02C4 60 PUSH1 0x04 02C6 61 PUSH2 0x46ae 02C9 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @02BD stack[0] = 0x02cf // @02C0 stack[1] = 0x02ca // @02C3 stack[2] = msg.data.length // @02C4 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x46ae 02CA 5B JUMPDEST 02CB 61 PUSH2 0x058c 02CE 56 *JUMP 02CF 5B JUMPDEST 02D0 60 PUSH1 0x40 02D2 51 MLOAD 02D3 61 PUSH2 0x01de 02D6 91 SWAP2 02D7 90 SWAP1 02D8 61 PUSH2 0x521c 02DB 56 *JUMP label_02DC: // Incoming jump from 0x0125, if 0x69277b67 == stack[-1] // Inputs[1] { @02E3 msg.data.length } 02DC 5B JUMPDEST 02DD 61 PUSH2 0x02ef 02E0 61 PUSH2 0x02ea 02E3 36 CALLDATASIZE 02E4 60 PUSH1 0x04 02E6 61 PUSH2 0x3cf5 02E9 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @02DD stack[0] = 0x02ef // @02E0 stack[1] = 0x02ea // @02E3 stack[2] = msg.data.length // @02E4 stack[3] = 0x04 // } // Block ends with call to 0x3cf5, returns to 0x02EA label_02EA: // Incoming return from call to 0x3CF5 at 0x02E9 02EA 5B JUMPDEST 02EB 61 PUSH2 0x05c6 02EE 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x05c6 02EF 5B JUMPDEST 02F0 60 PUSH1 0x40 02F2 51 MLOAD 02F3 61 PUSH2 0x01de 02F6 91 SWAP2 02F7 90 SWAP1 02F8 61 PUSH2 0x4d13 02FB 56 *JUMP label_02FC: // Incoming jump from 0x013B, if 0x6f62d082 == stack[-1] // Inputs[1] { @0303 msg.data.length } 02FC 5B JUMPDEST 02FD 61 PUSH2 0x030f 0300 61 PUSH2 0x030a 0303 36 CALLDATASIZE 0304 60 PUSH1 0x04 0306 61 PUSH2 0x4615 0309 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @02FD stack[0] = 0x030f // @0300 stack[1] = 0x030a // @0303 stack[2] = msg.data.length // @0304 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x4615 030A 5B JUMPDEST 030B 61 PUSH2 0x0c36 030E 56 *JUMP 030F 5B JUMPDEST 0310 60 PUSH1 0x40 0312 51 MLOAD 0313 61 PUSH2 0x01de 0316 91 SWAP2 0317 90 SWAP1 0318 61 PUSH2 0x51f6 031B 56 *JUMP label_031C: // Incoming jump from 0x00F4, if 0x8b418713 == stack[-1] // Inputs[1] { @0323 msg.data.length } 031C 5B JUMPDEST 031D 61 PUSH2 0x01fa 0320 61 PUSH2 0x032a 0323 36 CALLDATASIZE 0324 60 PUSH1 0x04 0326 61 PUSH2 0x3ba3 0329 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @031D stack[0] = 0x01fa // @0320 stack[1] = 0x032a // @0323 stack[2] = msg.data.length // @0324 stack[3] = 0x04 // } // Block ends with call to 0x3ba3, returns to 0x032A label_032A: // Incoming return from call to 0x3BA3 at 0x0329 032A 5B JUMPDEST 032B 61 PUSH2 0x0c3e 032E 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0c3e label_032F: // Incoming jump from 0x00AD, if 0xa401b06f == stack[-1] // Inputs[1] { @0336 msg.data.length } 032F 5B JUMPDEST 0330 61 PUSH2 0x0342 0333 61 PUSH2 0x033d 0336 36 CALLDATASIZE 0337 60 PUSH1 0x04 0339 61 PUSH2 0x3e53 033C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0330 stack[0] = 0x0342 // @0333 stack[1] = 0x033d // @0336 stack[2] = msg.data.length // @0337 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x3e53 033D 5B JUMPDEST 033E 61 PUSH2 0x0cb6 0341 56 *JUMP 0342 5B JUMPDEST 0343 60 PUSH1 0x40 0345 51 MLOAD 0346 61 PUSH2 0x01de 0349 91 SWAP2 034A 90 SWAP1 034B 61 PUSH2 0x4d92 034E 56 *JUMP label_034F: // Incoming jump from 0x00B8, if 0xa69cd4ae == stack[-1] // Inputs[1] { @0356 msg.data.length } 034F 5B JUMPDEST 0350 61 PUSH2 0x0362 0353 61 PUSH2 0x035d 0356 36 CALLDATASIZE 0357 60 PUSH1 0x04 0359 61 PUSH2 0x3f7a 035C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0350 stack[0] = 0x0362 // @0353 stack[1] = 0x035d // @0356 stack[2] = msg.data.length // @0357 stack[3] = 0x04 // } // Block ends with call to 0x3f7a, returns to 0x035D label_035D: // Incoming return from call to 0x3F7A at 0x035C 035D 5B JUMPDEST 035E 61 PUSH2 0x0cbe 0361 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0cbe 0362 5B JUMPDEST 0363 60 PUSH1 0x40 0365 51 MLOAD 0366 61 PUSH2 0x01de 0369 91 SWAP2 036A 90 SWAP1 036B 61 PUSH2 0x4db7 036E 56 *JUMP label_036F: // Incoming jump from 0x00CE, if 0xc065411d == stack[-1] // Inputs[1] { @0376 msg.data.length } 036F 5B JUMPDEST 0370 61 PUSH2 0x037d 0373 61 PUSH2 0x024a 0376 36 CALLDATASIZE 0377 60 PUSH1 0x04 0379 61 PUSH2 0x3e38 037C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0370 stack[0] = 0x037d // @0373 stack[1] = 0x024a // @0376 stack[2] = msg.data.length // @0377 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x3e38 037D 5B JUMPDEST 037E 60 PUSH1 0x40 0380 51 MLOAD 0381 61 PUSH2 0x01de 0384 91 SWAP2 0385 90 SWAP1 0386 61 PUSH2 0x4d61 0389 56 *JUMP label_038A: // Incoming jump from 0x0087, if 0xda7be41f == stack[-1] // Inputs[1] { @0391 msg.data.length } 038A 5B JUMPDEST 038B 61 PUSH2 0x039d 038E 61 PUSH2 0x0398 0391 36 CALLDATASIZE 0392 60 PUSH1 0x04 0394 61 PUSH2 0x4648 0397 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @038B stack[0] = 0x039d // @038E stack[1] = 0x0398 // @0391 stack[2] = msg.data.length // @0392 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x4648 0398 5B JUMPDEST 0399 61 PUSH2 0x0d08 039C 56 *JUMP 039D 5B JUMPDEST 039E 60 PUSH1 0x40 03A0 51 MLOAD 03A1 61 PUSH2 0x01de 03A4 91 SWAP2 03A5 90 SWAP1 03A6 61 PUSH2 0x5209 03A9 56 *JUMP label_03AA: // Incoming jump from 0x0092, if 0xe1384289 == stack[-1] // Inputs[1] { @03B1 msg.data.length } 03AA 5B JUMPDEST 03AB 61 PUSH2 0x03b8 03AE 61 PUSH2 0x028a 03B1 36 CALLDATASIZE 03B2 60 PUSH1 0x04 03B4 61 PUSH2 0x4714 03B7 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @03AB stack[0] = 0x03b8 // @03AE stack[1] = 0x028a // @03B1 stack[2] = msg.data.length // @03B2 stack[3] = 0x04 // } // Block ends with call to 0x4714, returns to 0x028A 03B8 5B JUMPDEST 03B9 60 PUSH1 0x40 03BB 51 MLOAD 03BC 61 PUSH2 0x01de 03BF 91 SWAP2 03C0 90 SWAP1 03C1 61 PUSH2 0x522f 03C4 56 *JUMP label_03C5: // Incoming jump from 0x004B, if 0xe801bd7e == stack[-1] // Inputs[1] { @03CC msg.data.length } 03C5 5B JUMPDEST 03C6 61 PUSH2 0x03d8 03C9 61 PUSH2 0x03d3 03CC 36 CALLDATASIZE 03CD 60 PUSH1 0x04 03CF 61 PUSH2 0x4747 03D2 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @03C6 stack[0] = 0x03d8 // @03C9 stack[1] = 0x03d3 // @03CC stack[2] = msg.data.length // @03CD stack[3] = 0x04 // } // Block ends with unconditional jump to 0x4747 03D3 5B JUMPDEST 03D4 61 PUSH2 0x0d10 03D7 56 *JUMP 03D8 5B JUMPDEST 03D9 60 PUSH1 0x40 03DB 51 MLOAD 03DC 61 PUSH2 0x01de 03DF 91 SWAP2 03E0 90 SWAP1 03E1 61 PUSH2 0x5242 03E4 56 *JUMP label_03E5: // Incoming jump from 0x0056, if 0xee872558 == stack[-1] // Inputs[1] { @03EC msg.data.length } 03E5 5B JUMPDEST 03E6 61 PUSH2 0x01fa 03E9 61 PUSH2 0x03f3 03EC 36 CALLDATASIZE 03ED 60 PUSH1 0x04 03EF 61 PUSH2 0x3c94 03F2 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @03E6 stack[0] = 0x01fa // @03E9 stack[1] = 0x03f3 // @03EC stack[2] = msg.data.length // @03ED stack[3] = 0x04 // } // Block ends with call to 0x3c94, returns to 0x03F3 label_03F3: // Incoming return from call to 0x3C94 at 0x03F2 03F3 5B JUMPDEST 03F4 61 PUSH2 0x0d18 03F7 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0d18 label_03F8: // Incoming jump from 0x0061, if 0xf8364b88 == stack[-1] // Inputs[1] { @03FF msg.data.length } 03F8 5B JUMPDEST 03F9 61 PUSH2 0x0406 03FC 61 PUSH2 0x024a 03FF 36 CALLDATASIZE 0400 60 PUSH1 0x04 0402 61 PUSH2 0x477a 0405 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @03F9 stack[0] = 0x0406 // @03FC stack[1] = 0x024a // @03FF stack[2] = msg.data.length // @0400 stack[3] = 0x04 // } // Block ends with unconditional jump to 0x477a 0406 5B JUMPDEST 0407 60 PUSH1 0x40 0409 51 MLOAD 040A 61 PUSH2 0x01de 040D 91 SWAP2 040E 90 SWAP1 040F 61 PUSH2 0x5255 0412 56 *JUMP label_0413: // Incoming jump from 0x006C, if 0xfa461e33 == stack[-1] // Inputs[1] { @041A msg.data.length } 0413 5B JUMPDEST 0414 61 PUSH2 0x01fa 0417 61 PUSH2 0x0421 041A 36 CALLDATASIZE 041B 60 PUSH1 0x04 041D 61 PUSH2 0x3de7 0420 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0414 stack[0] = 0x01fa // @0417 stack[1] = 0x0421 // @041A stack[2] = msg.data.length // @041B stack[3] = 0x04 // } // Block ends with call to 0x3de7, returns to 0x0421 label_0421: // Incoming return from call to 0x3DE7 at 0x0420 0421 5B JUMPDEST 0422 61 PUSH2 0x0f4a 0425 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0f4a 0426 5B JUMPDEST 0427 61 PUSH2 0x0493 042A 60 PUSH1 0x40 042C 51 MLOAD 042D 80 DUP1 042E 61 PUSH2 0x0120 0431 01 ADD 0432 60 PUSH1 0x40 0434 52 MSTORE 0435 80 DUP1 0436 60 PUSH1 0x00 0438 15 ISZERO 0439 15 ISZERO 043A 81 DUP2 043B 52 MSTORE 043C 60 PUSH1 0x20 043E 01 ADD 043F 60 PUSH1 0x00 0441 81 DUP2 0442 52 MSTORE 0443 60 PUSH1 0x20 0445 01 ADD 0446 60 PUSH1 0x00 0448 81 DUP2 0449 52 MSTORE 044A 60 PUSH1 0x20 044C 01 ADD 044D 60 PUSH1 0x00 044F 15 ISZERO 0450 15 ISZERO 0451 81 DUP2 0452 52 MSTORE 0453 60 PUSH1 0x20 0455 01 ADD 0456 60 PUSH1 0x60 0458 81 DUP2 0459 52 MSTORE 045A 60 PUSH1 0x20 045C 01 ADD 045D 60 PUSH1 0x00 045F 15 ISZERO 0460 15 ISZERO 0461 81 DUP2 0462 52 MSTORE 0463 60 PUSH1 0x20 0465 01 ADD 0466 60 PUSH1 0x00 0468 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 047D 16 AND 047E 81 DUP2 047F 52 MSTORE 0480 60 PUSH1 0x20 0482 01 ADD 0483 60 PUSH1 0x00 0485 15 ISZERO 0486 15 ISZERO 0487 81 DUP2 0488 52 MSTORE 0489 60 PUSH1 0x20 048B 01 ADD 048C 60 PUSH1 0x60 048E 81 DUP2 048F 52 MSTORE 0490 50 POP 0491 90 SWAP1 0492 56 *JUMP label_0493: // Incoming jump from 0x0510 // Incoming jump from 0x053D // Incoming jump from 0x0D07 // Incoming jump from 0x04C7 // Incoming jump from 0x0557 // Inputs[1] { @0495 stack[-2] } 0493 5B JUMPDEST 0494 50 POP 0495 80 DUP1 // Stack delta = +0 // Outputs[1] { @0495 stack[-1] = stack[-2] } // Block continues label_0496: // Incoming return from call to 0x567E at 0x3325 // Incoming return from call to 0x565C at 0x3042 // Incoming jump from 0x0495 // Inputs[3] // { // @0497 stack[-3] // @0497 stack[-1] // @0498 stack[-2] // } 0496 5B JUMPDEST 0497 91 SWAP2 0498 90 SWAP1 0499 50 POP 049A 56 *JUMP // Stack delta = -2 // Outputs[1] { @0497 stack[-3] = stack[-1] } // Block ends with unconditional jump to stack[-3] label_049B: // Incoming jump from 0x01F9 // Inputs[5] // { // @049F stack[-5] // @04A0 stack[-4] // @04A1 stack[-3] // @04A2 stack[-2] // @04A3 stack[-1] // } 049B 5B JUMPDEST 049C 61 PUSH2 0x04a8 049F 85 DUP6 04A0 85 DUP6 04A1 85 DUP6 04A2 85 DUP6 04A3 85 DUP6 04A4 61 PUSH2 0x10a1 04A7 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @049C stack[0] = 0x04a8 // @049F stack[1] = stack[-5] // @04A0 stack[2] = stack[-4] // @04A1 stack[3] = stack[-3] // @04A2 stack[4] = stack[-2] // @04A3 stack[5] = stack[-1] // } // Block ends with unconditional jump to 0x10a1 label_04A8: // Incoming jump from 0x2926, if !(stack[-1] < stack[-4]) // Inputs[1] { @04AE stack[-6] } 04A8 5B JUMPDEST 04A9 50 POP 04AA 50 POP 04AB 50 POP 04AC 50 POP 04AD 50 POP 04AE 56 *JUMP // Stack delta = -6 // Block ends with unconditional jump to stack[-6] label_04AF: // Incoming jump from 0x020E // Inputs[1] { @04B3 memory[0x40:0x60] } 04AF 5B JUMPDEST 04B0 60 PUSH1 0x40 04B2 80 DUP1 04B3 51 MLOAD 04B4 80 DUP1 04B5 82 DUP3 04B6 01 ADD 04B7 90 SWAP1 04B8 91 SWAP2 04B9 52 MSTORE 04BA 60 PUSH1 0x60 04BC 80 DUP1 04BD 82 DUP3 04BE 52 MSTORE 04BF 60 PUSH1 0x20 04C1 82 DUP3 04C2 01 ADD 04C3 52 MSTORE 04C4 61 PUSH2 0x0493 04C7 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @04B8 stack[0] = memory[0x40:0x60] // @04B9 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @04BE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x60 // @04C3 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x60 // } // Block ends with unconditional jump to 0x0493 04C8 5B JUMPDEST 04C9 60 PUSH1 0x40 04CB 80 DUP1 04CC 51 MLOAD 04CD 60 PUSH1 0xa0 04CF 81 DUP2 04D0 01 ADD 04D1 82 DUP3 04D2 52 MSTORE 04D3 60 PUSH1 0x00 04D5 80 DUP1 04D6 82 DUP3 04D7 52 MSTORE 04D8 60 PUSH1 0x20 04DA 82 DUP3 04DB 01 ADD 04DC 81 DUP2 04DD 90 SWAP1 04DE 52 MSTORE 04DF 91 SWAP2 04E0 81 DUP2 04E1 01 ADD 04E2 82 DUP3 04E3 90 SWAP1 04E4 52 MSTORE 04E5 60 PUSH1 0x60 04E7 81 DUP2 04E8 01 ADD 04E9 82 DUP3 04EA 90 SWAP1 04EB 52 MSTORE 04EC 60 PUSH1 0x80 04EE 81 DUP2 04EF 01 ADD 04F0 91 SWAP2 04F1 90 SWAP1 04F2 91 SWAP2 04F3 52 MSTORE 04F4 61 PUSH2 0x0493 04F7 56 *JUMP label_04F8: // Incoming jump from 0x024E // Inputs[1] { @04FC memory[0x40:0x60] } 04F8 5B JUMPDEST 04F9 60 PUSH1 0x40 04FB 80 DUP1 04FC 51 MLOAD 04FD 80 DUP1 04FE 82 DUP3 04FF 01 ADD 0500 90 SWAP1 0501 91 SWAP2 0502 52 MSTORE 0503 60 PUSH1 0x00 0505 80 DUP1 0506 82 DUP3 0507 52 MSTORE 0508 60 PUSH1 0x20 050A 82 DUP3 050B 01 ADD 050C 52 MSTORE 050D 61 PUSH2 0x0493 0510 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @0501 stack[0] = memory[0x40:0x60] // @0502 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @0507 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @050C memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x00 // } // Block ends with unconditional jump to 0x0493 label_0511: // Incoming jump from 0x026E // Inputs[1] { @0517 memory[0x40:0x60] } 0511 5B JUMPDEST 0512 61 PUSH2 0x0493 0515 60 PUSH1 0x40 0517 51 MLOAD 0518 80 DUP1 0519 60 PUSH1 0x80 051B 01 ADD 051C 60 PUSH1 0x40 051E 52 MSTORE 051F 80 DUP1 0520 60 PUSH1 0x00 0522 15 ISZERO 0523 15 ISZERO 0524 81 DUP2 0525 52 MSTORE 0526 60 PUSH1 0x20 0528 01 ADD 0529 60 PUSH1 0x00 052B 81 DUP2 052C 52 MSTORE 052D 60 PUSH1 0x20 052F 01 ADD 0530 60 PUSH1 0x00 0532 81 DUP2 0533 52 MSTORE 0534 60 PUSH1 0x20 0536 01 ADD 0537 60 PUSH1 0x60 0539 81 DUP2 053A 52 MSTORE 053B 50 POP 053C 90 SWAP1 053D 56 *JUMP // Stack delta = +1 // Outputs[6] // { // @051E memory[0x40:0x60] = 0x80 + memory[0x40:0x60] // @0525 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = !!0x00 // @052C memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @0533 memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @053A memory[0x20 + 0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x60 // @053C stack[0] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x0493 label_053E: // Incoming jump from 0x028E // Inputs[1] { @0542 memory[0x40:0x60] } 053E 5B JUMPDEST 053F 60 PUSH1 0x40 0541 80 DUP1 0542 51 MLOAD 0543 80 DUP1 0544 82 DUP3 0545 01 ADD 0546 90 SWAP1 0547 91 SWAP2 0548 52 MSTORE 0549 60 PUSH1 0x00 054B 81 DUP2 054C 52 MSTORE 054D 60 PUSH1 0x60 054F 60 PUSH1 0x20 0551 82 DUP3 0552 01 ADD 0553 52 MSTORE 0554 61 PUSH2 0x0493 0557 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @0547 stack[0] = memory[0x40:0x60] // @0548 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @054C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @0553 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x60 // } // Block ends with unconditional jump to 0x0493 0558 5B JUMPDEST 0559 61 PUSH2 0x0493 055C 60 PUSH1 0x40 055E 51 MLOAD 055F 80 DUP1 0560 60 PUSH1 0xa0 0562 01 ADD 0563 60 PUSH1 0x40 0565 52 MSTORE 0566 80 DUP1 0567 60 PUSH1 0x00 0569 15 ISZERO 056A 15 ISZERO 056B 81 DUP2 056C 52 MSTORE 056D 60 PUSH1 0x20 056F 01 ADD 0570 60 PUSH1 0x00 0572 81 DUP2 0573 52 MSTORE 0574 60 PUSH1 0x20 0576 01 ADD 0577 60 PUSH1 0x00 0579 81 DUP2 057A 52 MSTORE 057B 60 PUSH1 0x20 057D 01 ADD 057E 60 PUSH1 0x60 0580 81 DUP2 0581 52 MSTORE 0582 60 PUSH1 0x20 0584 01 ADD 0585 60 PUSH1 0x60 0587 81 DUP2 0588 52 MSTORE 0589 50 POP 058A 90 SWAP1 058B 56 *JUMP 058C 5B JUMPDEST 058D 61 PUSH2 0x0493 0590 60 PUSH1 0x40 0592 51 MLOAD 0593 80 DUP1 0594 60 PUSH1 0x60 0596 01 ADD 0597 60 PUSH1 0x40 0599 52 MSTORE 059A 80 DUP1 059B 60 PUSH1 0x00 059D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 05B2 16 AND 05B3 81 DUP2 05B4 52 MSTORE 05B5 60 PUSH1 0x20 05B7 01 ADD 05B8 60 PUSH1 0x60 05BA 81 DUP2 05BB 52 MSTORE 05BC 60 PUSH1 0x20 05BE 01 ADD 05BF 60 PUSH1 0x60 05C1 81 DUP2 05C2 52 MSTORE 05C3 50 POP 05C4 90 SWAP1 05C5 56 *JUMP label_05C6: // Incoming jump from 0x02EE // Inputs[1] { @05D0 stack[-1] } 05C6 5B JUMPDEST 05C7 60 PUSH1 0x60 05C9 60 PUSH1 0x00 05CB 61 PUSH2 0x05da 05CE 60 PUSH1 0xc0 05D0 84 DUP5 05D1 01 ADD 05D2 60 PUSH1 0xa0 05D4 85 DUP6 05D5 01 ADD 05D6 61 PUSH2 0x3d8c 05D9 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @05C7 stack[0] = 0x60 // @05C9 stack[1] = 0x00 // @05CB stack[2] = 0x05da // @05D1 stack[3] = stack[-1] + 0xc0 // @05D5 stack[4] = stack[-1] + 0xa0 // } // Block ends with unconditional jump to 0x3d8c 05DA 5B JUMPDEST 05DB 15 ISZERO 05DC 61 PUSH2 0x05e3 05DF 57 *JUMPI 05E0 5A GAS 05E1 90 SWAP1 05E2 50 POP 05E3 5B JUMPDEST 05E4 60 PUSH1 0x40 05E6 83 DUP4 05E7 01 ADD 05E8 35 CALLDATALOAD 05E9 60 PUSH1 0x01 05EB 61 PUSH2 0x05f7 05EE 60 PUSH1 0x20 05F0 86 DUP7 05F1 01 ADD 05F2 86 DUP7 05F3 61 PUSH2 0x3d8c 05F6 56 *JUMP 05F7 5B JUMPDEST 05F8 61 PUSH2 0x06e5 05FB 57 *JUMPI 05FC 87 DUP8 05FD 60 PUSH1 0x20 05FF 86 DUP7 0600 01 ADD 0601 35 CALLDATALOAD 0602 60 PUSH1 0x00 0604 5B JUMPDEST 0605 82 DUP3 0606 81 DUP2 0607 10 LT 0608 15 ISZERO 0609 61 PUSH2 0x06d4 060C 57 *JUMPI 060D 60 PUSH1 0x00 060F 8C DUP13 0610 8C DUP13 0611 83 DUP4 0612 81 DUP2 0613 81 DUP2 0614 10 LT 0615 61 PUSH2 0x062e 0618 57 *JUMPI 0619 63 PUSH4 0x4e487b71 061E 60 PUSH1 0xe0 0620 1B SHL 0621 60 PUSH1 0x00 0623 52 MSTORE 0624 60 PUSH1 0x32 0626 60 PUSH1 0x04 0628 52 MSTORE 0629 60 PUSH1 0x24 062B 60 PUSH1 0x00 062D FD *REVERT 062E 5B JUMPDEST 062F 90 SWAP1 0630 50 POP 0631 60 PUSH1 0x20 0633 02 MUL 0634 81 DUP2 0635 01 ADD 0636 90 SWAP1 0637 61 PUSH2 0x0640 063A 91 SWAP2 063B 90 SWAP1 063C 61 PUSH2 0x52e5 063F 56 *JUMP 0640 5B JUMPDEST 0641 61 PUSH2 0x0649 0644 90 SWAP1 0645 61 PUSH2 0x5560 0648 56 *JUMP 0649 5B JUMPDEST 064A 90 SWAP1 064B 50 POP 064C 60 PUSH1 0x00 064E 80 DUP1 064F 60 PUSH1 0x00 0651 61 PUSH2 0x065a 0654 84 DUP5 0655 87 DUP8 0656 61 PUSH2 0x1223 0659 56 *JUMP 065A 5B JUMPDEST 065B 92 SWAP3 065C 50 POP 065D 92 SWAP3 065E 50 POP 065F 92 SWAP3 0660 50 POP 0661 82 DUP3 0662 61 PUSH2 0x06a5 0665 57 *JUMPI 0666 60 PUSH1 0x40 0668 51 MLOAD 0669 85 DUP6 066A 81 DUP2 066B 52 MSTORE 066C 7F PUSH32 0x2953ead259883025b037a190d24835f5e63ec2bc4e1c7e5ee19462cb22464d76 068D 90 SWAP1 068E 60 PUSH1 0x20 0690 01 ADD 0691 60 PUSH1 0x40 0693 51 MLOAD 0694 80 DUP1 0695 91 SWAP2 0696 03 SUB 0697 90 SWAP1 0698 A1 LOG1 0699 60 PUSH1 0x00 069B 97 SWAP8 069C 50 POP 069D 50 POP 069E 50 POP 069F 50 POP 06A0 50 POP 06A1 61 PUSH2 0x06d4 06A4 56 *JUMP 06A5 5B JUMPDEST 06A6 81 DUP2 06A7 15 ISZERO 06A8 61 PUSH2 0x06b3 06AB 57 *JUMPI 06AC 81 DUP2 06AD 95 SWAP6 06AE 50 POP 06AF 61 PUSH2 0x06bd 06B2 56 *JUMP 06B3 5B JUMPDEST 06B4 80 DUP1 06B5 15 ISZERO 06B6 61 PUSH2 0x06bd 06B9 57 *JUMPI 06BA 80 DUP1 06BB 98 SWAP9 06BC 50 POP 06BD 5B JUMPDEST 06BE 50 POP 06BF 50 POP 06C0 50 POP 06C1 50 POP 06C2 80 DUP1 06C3 80 DUP1 06C4 61 PUSH2 0x06cc 06C7 90 SWAP1 06C8 61 PUSH2 0x5598 06CB 56 *JUMP 06CC 5B JUMPDEST 06CD 91 SWAP2 06CE 50 POP 06CF 50 POP 06D0 61 PUSH2 0x0604 06D3 56 *JUMP 06D4 5B JUMPDEST 06D5 50 POP 06D6 83 DUP4 06D7 81 DUP2 06D8 10 LT 06D9 15 ISZERO 06DA 61 PUSH2 0x06e2 06DD 57 *JUMPI 06DE 60 PUSH1 0x00 06E0 92 SWAP3 06E1 50 POP 06E2 5B JUMPDEST 06E3 50 POP 06E4 50 POP 06E5 5B JUMPDEST 06E6 80 DUP1 06E7 15 ISZERO 06E8 61 PUSH2 0x0b32 06EB 57 *JUMPI 06EC 60 PUSH1 0x40 06EE 80 DUP1 06EF 51 MLOAD 06F0 60 PUSH1 0xa0 06F2 81 DUP2 06F3 01 ADD 06F4 82 DUP3 06F5 52 MSTORE 06F6 60 PUSH1 0x00 06F8 80 DUP1 06F9 82 DUP3 06FA 52 MSTORE 06FB 60 PUSH1 0x20 06FD 82 DUP3 06FE 01 ADD 06FF 81 DUP2 0700 90 SWAP1 0701 52 MSTORE 0702 91 SWAP2 0703 81 DUP2 0704 01 ADD 0705 82 DUP3 0706 90 SWAP1 0707 52 MSTORE 0708 60 PUSH1 0x60 070A 80 DUP1 070B 82 DUP3 070C 01 ADD 070D 83 DUP4 070E 90 SWAP1 070F 52 MSTORE 0710 60 PUSH1 0x80 0712 82 DUP3 0713 01 ADD 0714 52 MSTORE 0715 61 PUSH2 0x0725 0718 61 PUSH2 0x0100 071B 88 DUP9 071C 01 ADD 071D 60 PUSH1 0xe0 071F 89 DUP10 0720 01 ADD 0721 61 PUSH2 0x3d8c 0724 56 *JUMP 0725 5B JUMPDEST 0726 15 ISZERO 0727 61 PUSH2 0x08f5 072A 57 *JUMPI 072B 61 PUSH2 0x0738 072E 61 PUSH2 0x0100 0731 88 DUP9 0732 01 ADD 0733 88 DUP9 0734 61 PUSH2 0x5282 0737 56 *JUMP 0738 5B JUMPDEST 0739 81 DUP2 073A 01 ADD 073B 90 SWAP1 073C 61 PUSH2 0x0745 073F 91 SWAP2 0740 90 SWAP1 0741 61 PUSH2 0x3f7a 0744 56 *JUMP 0745 5B JUMPDEST 0746 90 SWAP1 0747 50 POP 0748 80 DUP1 0749 60 PUSH1 0x60 074B 01 ADD 074C 51 MLOAD 074D 15 ISZERO 074E 61 PUSH2 0x0850 0751 57 *JUMPI 0752 60 PUSH1 0x00 0754 81 DUP2 0755 60 PUSH1 0x80 0757 01 ADD 0758 51 MLOAD 0759 80 DUP1 075A 60 PUSH1 0x20 075C 01 ADD 075D 90 SWAP1 075E 51 MLOAD 075F 81 DUP2 0760 01 ADD 0761 90 SWAP1 0762 61 PUSH2 0x076b 0765 91 SWAP2 0766 90 SWAP1 0767 61 PUSH2 0x3ec8 076A 56 *JUMP 076B 5B JUMPDEST 076C 90 SWAP1 076D 50 POP 076E 60 PUSH1 0x00 0770 61 PUSH2 0x077e 0773 82 DUP3 0774 60 PUSH1 0x20 0776 01 ADD 0777 51 MLOAD 0778 60 PUSH1 0x00 077A 61 PUSH2 0x1223 077D 56 *JUMP 077E 5B JUMPDEST 077F 50 POP 0780 50 POP 0781 90 SWAP1 0782 50 POP 0783 80 DUP1 0784 15 ISZERO 0785 61 PUSH2 0x084d 0788 57 *JUMPI 0789 82 DUP3 078A 51 MLOAD 078B 82 DUP3 078C 51 MLOAD 078D 60 PUSH1 0x40 078F 51 MLOAD 0790 7F PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 07B1 81 DUP2 07B2 52 MSTORE 07B3 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 07C8 90 SWAP1 07C9 92 SWAP3 07CA 16 AND 07CB 91 SWAP2 07CC 63 PUSH4 0x2e1a7d4d 07D1 91 SWAP2 07D2 61 PUSH2 0x07e1 07D5 91 SWAP2 07D6 60 PUSH1 0x04 07D8 01 ADD 07D9 90 SWAP1 07DA 81 DUP2 07DB 52 MSTORE 07DC 60 PUSH1 0x20 07DE 01 ADD 07DF 90 SWAP1 07E0 56 *JUMP 07E1 5B JUMPDEST 07E2 60 PUSH1 0x00 07E4 60 PUSH1 0x40 07E6 51 MLOAD 07E7 80 DUP1 07E8 83 DUP4 07E9 03 SUB 07EA 81 DUP2 07EB 60 PUSH1 0x00 07ED 87 DUP8 07EE 80 DUP1 07EF 3B EXTCODESIZE 07F0 15 ISZERO 07F1 80 DUP1 07F2 15 ISZERO 07F3 61 PUSH2 0x07fb 07F6 57 *JUMPI 07F7 60 PUSH1 0x00 07F9 80 DUP1 07FA FD *REVERT 07FB 5B JUMPDEST 07FC 50 POP 07FD 5A GAS 07FE F1 CALL 07FF 15 ISZERO 0800 80 DUP1 0801 15 ISZERO 0802 61 PUSH2 0x080f 0805 57 *JUMPI 0806 3D RETURNDATASIZE 0807 60 PUSH1 0x00 0809 80 DUP1 080A 3E RETURNDATACOPY 080B 3D RETURNDATASIZE 080C 60 PUSH1 0x00 080E FD *REVERT 080F 5B JUMPDEST 0810 50 POP 0811 50 POP 0812 83 DUP4 0813 51 MLOAD 0814 60 PUSH1 0x40 0816 51 MLOAD 0817 41 COINBASE 0818 93 SWAP4 0819 50 POP 081A 81 DUP2 081B 15 ISZERO 081C 61 PUSH2 0x08fc 081F 02 MUL 0820 92 SWAP3 0821 50 POP 0822 60 PUSH1 0x00 0824 81 DUP2 0825 81 DUP2 0826 81 DUP2 0827 85 DUP6 0828 88 DUP9 0829 88 DUP9 082A F1 CALL 082B 93 SWAP4 082C 50 POP 082D 50 POP 082E 50 POP 082F 50 POP 0830 15 ISZERO 0831 80 DUP1 0832 15 ISZERO 0833 61 PUSH2 0x0840 0836 57 *JUMPI 0837 3D RETURNDATASIZE 0838 60 PUSH1 0x00 083A 80 DUP1 083B 3E RETURNDATACOPY 083C 3D RETURNDATASIZE 083D 60 PUSH1 0x00 083F FD *REVERT 0840 5B JUMPDEST 0841 50 POP 0842 50 POP 0843 50 POP 0844 50 POP 0845 50 POP 0846 50 POP 0847 50 POP 0848 50 POP 0849 61 PUSH2 0x0c2d 084C 56 *JUMP 084D 5B JUMPDEST 084E 50 POP 084F 50 POP 0850 5B JUMPDEST 0851 80 DUP1 0852 51 MLOAD 0853 60 PUSH1 0x40 0855 51 MLOAD 0856 7F PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 0877 81 DUP2 0878 52 MSTORE 0879 30 ADDRESS 087A 60 PUSH1 0x04 087C 82 DUP3 087D 01 ADD 087E 52 MSTORE 087F 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0894 90 SWAP1 0895 91 SWAP2 0896 16 AND 0897 90 SWAP1 0898 63 PUSH4 0x70a08231 089D 90 SWAP1 089E 60 PUSH1 0x24 08A0 01 ADD 08A1 60 PUSH1 0x20 08A3 60 PUSH1 0x40 08A5 51 MLOAD 08A6 80 DUP1 08A7 83 DUP4 08A8 03 SUB 08A9 81 DUP2 08AA 60 PUSH1 0x00 08AC 87 DUP8 08AD 80 DUP1 08AE 3B EXTCODESIZE 08AF 15 ISZERO 08B0 80 DUP1 08B1 15 ISZERO 08B2 61 PUSH2 0x08ba 08B5 57 *JUMPI 08B6 60 PUSH1 0x00 08B8 80 DUP1 08B9 FD *REVERT 08BA 5B JUMPDEST 08BB 50 POP 08BC 5A GAS 08BD F1 CALL 08BE 15 ISZERO 08BF 80 DUP1 08C0 15 ISZERO 08C1 61 PUSH2 0x08ce 08C4 57 *JUMPI 08C5 3D RETURNDATASIZE 08C6 60 PUSH1 0x00 08C8 80 DUP1 08C9 3E RETURNDATACOPY 08CA 3D RETURNDATASIZE 08CB 60 PUSH1 0x00 08CD FD *REVERT 08CE 5B JUMPDEST 08CF 50 POP 08D0 50 POP 08D1 50 POP 08D2 50 POP 08D3 60 PUSH1 0x40 08D5 51 MLOAD 08D6 3D RETURNDATASIZE 08D7 60 PUSH1 0x1f 08D9 19 NOT 08DA 60 PUSH1 0x1f 08DC 82 DUP3 08DD 01 ADD 08DE 16 AND 08DF 82 DUP3 08E0 01 ADD 08E1 80 DUP1 08E2 60 PUSH1 0x40 08E4 52 MSTORE 08E5 50 POP 08E6 81 DUP2 08E7 01 ADD 08E8 90 SWAP1 08E9 61 PUSH2 0x08f2 08EC 91 SWAP2 08ED 90 SWAP1 08EE 61 PUSH2 0x47e3 08F1 56 *JUMP 08F2 5B JUMPDEST 08F3 91 SWAP2 08F4 50 POP 08F5 5B JUMPDEST 08F6 61 PUSH2 0x0905 08F9 60 PUSH1 0x80 08FB 88 DUP9 08FC 01 ADD 08FD 60 PUSH1 0x60 08FF 89 DUP10 0900 01 ADD 0901 61 PUSH2 0x3d8c 0904 56 *JUMP 0905 5B JUMPDEST 0906 15 ISZERO 0907 61 PUSH2 0x095f 090A 57 *JUMPI 090B 61 PUSH2 0x095a 090E 89 DUP10 090F 89 DUP10 0910 61 PUSH2 0x091c 0913 60 PUSH1 0x80 0915 8B DUP12 0916 01 ADD 0917 8B DUP12 0918 61 PUSH2 0x5282 091B 56 *JUMP 091C 5B JUMPDEST 091D 80 DUP1 091E 80 DUP1 091F 60 PUSH1 0x1f 0921 01 ADD 0922 60 PUSH1 0x20 0924 80 DUP1 0925 91 SWAP2 0926 04 DIV 0927 02 MUL 0928 60 PUSH1 0x20 092A 01 ADD 092B 60 PUSH1 0x40 092D 51 MLOAD 092E 90 SWAP1 092F 81 DUP2 0930 01 ADD 0931 60 PUSH1 0x40 0933 52 MSTORE 0934 80 DUP1 0935 93 SWAP4 0936 92 SWAP3 0937 91 SWAP2 0938 90 SWAP1 0939 81 DUP2 093A 81 DUP2 093B 52 MSTORE 093C 60 PUSH1 0x20 093E 01 ADD 093F 83 DUP4 0940 83 DUP4 0941 80 DUP1 0942 82 DUP3 0943 84 DUP5 0944 37 CALLDATACOPY 0945 60 PUSH1 0x00 0947 92 SWAP3 0948 01 ADD 0949 91 SWAP2 094A 90 SWAP1 094B 91 SWAP2 094C 52 MSTORE 094D 50 POP 094E 50 POP 094F 50 POP 0950 50 POP 0951 60 PUSH1 0x20 0953 8B DUP12 0954 01 ADD 0955 35 CALLDATALOAD 0956 61 PUSH2 0x12e9 0959 56 *JUMP 095A 5B JUMPDEST 095B 61 PUSH2 0x0977 095E 56 *JUMP 095F 5B JUMPDEST 0960 61 PUSH2 0x0977 0963 61 PUSH2 0x096c 0966 89 DUP10 0967 8B DUP12 0968 61 PUSH2 0x5553 096B 56 *JUMP 096C 5B JUMPDEST 096D 88 DUP9 096E 60 PUSH1 0x20 0970 01 ADD 0971 35 CALLDATALOAD 0972 86 DUP7 0973 61 PUSH2 0x137f 0976 56 *JUMP 0977 5B JUMPDEST 0978 61 PUSH2 0x0988 097B 61 PUSH2 0x0100 097E 88 DUP9 097F 01 ADD 0980 60 PUSH1 0xe0 0982 89 DUP10 0983 01 ADD 0984 61 PUSH2 0x3d8c 0987 56 *JUMP 0988 5B JUMPDEST 0989 15 ISZERO 098A 61 PUSH2 0x0b2f 098D 57 *JUMPI 098E 80 DUP1 098F 51 MLOAD 0990 60 PUSH1 0x40 0992 51 MLOAD 0993 7F PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 09B4 81 DUP2 09B5 52 MSTORE 09B6 30 ADDRESS 09B7 60 PUSH1 0x04 09B9 82 DUP3 09BA 01 ADD 09BB 52 MSTORE 09BC 60 PUSH1 0x00 09BE 91 SWAP2 09BF 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 09D4 16 AND 09D5 90 SWAP1 09D6 63 PUSH4 0x70a08231 09DB 90 SWAP1 09DC 60 PUSH1 0x24 09DE 01 ADD 09DF 60 PUSH1 0x20 09E1 60 PUSH1 0x40 09E3 51 MLOAD 09E4 80 DUP1 09E5 83 DUP4 09E6 03 SUB 09E7 81 DUP2 09E8 60 PUSH1 0x00 09EA 87 DUP8 09EB 80 DUP1 09EC 3B EXTCODESIZE 09ED 15 ISZERO 09EE 80 DUP1 09EF 15 ISZERO 09F0 61 PUSH2 0x09f8 09F3 57 *JUMPI 09F4 60 PUSH1 0x00 09F6 80 DUP1 09F7 FD *REVERT 09F8 5B JUMPDEST 09F9 50 POP 09FA 5A GAS 09FB F1 CALL 09FC 15 ISZERO 09FD 80 DUP1 09FE 15 ISZERO 09FF 61 PUSH2 0x0a0c 0A02 57 *JUMPI 0A03 3D RETURNDATASIZE 0A04 60 PUSH1 0x00 0A06 80 DUP1 0A07 3E RETURNDATACOPY 0A08 3D RETURNDATASIZE 0A09 60 PUSH1 0x00 0A0B FD *REVERT 0A0C 5B JUMPDEST 0A0D 50 POP 0A0E 50 POP 0A0F 50 POP 0A10 50 POP 0A11 60 PUSH1 0x40 0A13 51 MLOAD 0A14 3D RETURNDATASIZE 0A15 60 PUSH1 0x1f 0A17 19 NOT 0A18 60 PUSH1 0x1f 0A1A 82 DUP3 0A1B 01 ADD 0A1C 16 AND 0A1D 82 DUP3 0A1E 01 ADD 0A1F 80 DUP1 0A20 60 PUSH1 0x40 0A22 52 MSTORE 0A23 50 POP 0A24 81 DUP2 0A25 01 ADD 0A26 90 SWAP1 0A27 61 PUSH2 0x0a30 0A2A 91 SWAP2 0A2B 90 SWAP1 0A2C 61 PUSH2 0x47e3 0A2F 56 *JUMP 0A30 5B JUMPDEST 0A31 90 SWAP1 0A32 50 POP 0A33 82 DUP3 0A34 81 DUP2 0A35 11 GT 0A36 15 ISZERO 0A37 61 PUSH2 0x0b2d 0A3A 57 *JUMPI 0A3B 60 PUSH1 0x00 0A3D 67 PUSH8 0x0de0b6b3a7640000 0A46 83 DUP4 0A47 60 PUSH1 0x20 0A49 01 ADD 0A4A 51 MLOAD 0A4B 84 DUP5 0A4C 60 PUSH1 0x40 0A4E 01 ADD 0A4F 51 MLOAD 0A50 86 DUP7 0A51 85 DUP6 0A52 61 PUSH2 0x0a5b 0A55 91 SWAP2 0A56 90 SWAP1 0A57 61 PUSH2 0x553c 0A5A 56 *JUMP 0A5B 5B JUMPDEST 0A5C 61 PUSH2 0x0a65 0A5F 91 SWAP2 0A60 90 SWAP1 0A61 61 PUSH2 0x553c 0A64 56 *JUMP 0A65 5B JUMPDEST 0A66 61 PUSH2 0x0a6f 0A69 91 SWAP2 0A6A 90 SWAP1 0A6B 61 PUSH2 0x54ff 0A6E 56 *JUMP 0A6F 5B JUMPDEST 0A70 61 PUSH2 0x0a79 0A73 91 SWAP2 0A74 90 SWAP1 0A75 61 PUSH2 0x53ad 0A78 56 *JUMP 0A79 5B JUMPDEST 0A7A 83 DUP4 0A7B 51 MLOAD 0A7C 60 PUSH1 0x40 0A7E 51 MLOAD 0A7F 7F PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 0AA0 81 DUP2 0AA1 52 MSTORE 0AA2 60 PUSH1 0x04 0AA4 81 DUP2 0AA5 01 ADD 0AA6 83 DUP4 0AA7 90 SWAP1 0AA8 52 MSTORE 0AA9 91 SWAP2 0AAA 92 SWAP3 0AAB 50 POP 0AAC 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0AC1 16 AND 0AC2 90 SWAP1 0AC3 63 PUSH4 0x2e1a7d4d 0AC8 90 SWAP1 0AC9 60 PUSH1 0x24 0ACB 01 ADD 0ACC 60 PUSH1 0x00 0ACE 60 PUSH1 0x40 0AD0 51 MLOAD 0AD1 80 DUP1 0AD2 83 DUP4 0AD3 03 SUB 0AD4 81 DUP2 0AD5 60 PUSH1 0x00 0AD7 87 DUP8 0AD8 80 DUP1 0AD9 3B EXTCODESIZE 0ADA 15 ISZERO 0ADB 80 DUP1 0ADC 15 ISZERO 0ADD 61 PUSH2 0x0ae5 0AE0 57 *JUMPI 0AE1 60 PUSH1 0x00 0AE3 80 DUP1 0AE4 FD *REVERT 0AE5 5B JUMPDEST 0AE6 50 POP 0AE7 5A GAS 0AE8 F1 CALL 0AE9 15 ISZERO 0AEA 80 DUP1 0AEB 15 ISZERO 0AEC 61 PUSH2 0x0af9 0AEF 57 *JUMPI 0AF0 3D RETURNDATASIZE 0AF1 60 PUSH1 0x00 0AF3 80 DUP1 0AF4 3E RETURNDATACOPY 0AF5 3D RETURNDATASIZE 0AF6 60 PUSH1 0x00 0AF8 FD *REVERT 0AF9 5B JUMPDEST 0AFA 50 POP 0AFB 50 POP 0AFC 60 PUSH1 0x40 0AFE 51 MLOAD 0AFF 41 COINBASE 0B00 92 SWAP3 0B01 50 POP 0B02 83 DUP4 0B03 15 ISZERO 0B04 61 PUSH2 0x08fc 0B07 02 MUL 0B08 91 SWAP2 0B09 50 POP 0B0A 83 DUP4 0B0B 90 SWAP1 0B0C 60 PUSH1 0x00 0B0E 81 DUP2 0B0F 81 DUP2 0B10 81 DUP2 0B11 85 DUP6 0B12 88 DUP9 0B13 88 DUP9 0B14 F1 CALL 0B15 93 SWAP4 0B16 50 POP 0B17 50 POP 0B18 50 POP 0B19 50 POP 0B1A 15 ISZERO 0B1B 80 DUP1 0B1C 15 ISZERO 0B1D 61 PUSH2 0x0b2a 0B20 57 *JUMPI 0B21 3D RETURNDATASIZE 0B22 60 PUSH1 0x00 0B24 80 DUP1 0B25 3E RETURNDATACOPY 0B26 3D RETURNDATASIZE 0B27 60 PUSH1 0x00 0B29 FD *REVERT 0B2A 5B JUMPDEST 0B2B 50 POP 0B2C 50 POP 0B2D 5B JUMPDEST 0B2E 50 POP 0B2F 5B JUMPDEST 0B30 50 POP 0B31 50 POP 0B32 5B JUMPDEST 0B33 61 PUSH2 0x0b42 0B36 60 PUSH1 0xc0 0B38 86 DUP7 0B39 01 ADD 0B3A 60 PUSH1 0xa0 0B3C 87 DUP8 0B3D 01 ADD 0B3E 61 PUSH2 0x3d8c 0B41 56 *JUMP 0B42 5B JUMPDEST 0B43 15 ISZERO 0B44 61 PUSH2 0x0c29 0B47 57 *JUMPI 0B48 61 PUSH2 0x0b57 0B4B 60 PUSH1 0xe0 0B4D 86 DUP7 0B4E 01 ADD 0B4F 60 PUSH1 0xc0 0B51 87 DUP8 0B52 01 ADD 0B53 61 PUSH2 0x3b6b 0B56 56 *JUMP 0B57 5B JUMPDEST 0B58 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0B6D 16 AND 0B6E 63 PUSH4 0x6366b936 0B73 61 PUSH2 0xa0aa 0B76 61 PUSH2 0x0b80 0B79 36 CALLDATASIZE 0B7A 60 PUSH1 0x10 0B7C 61 PUSH2 0x54ff 0B7F 56 *JUMP 0B80 5B JUMPDEST 0B81 5A GAS 0B82 61 PUSH2 0x0b8d 0B85 88 DUP9 0B86 61 PUSH2 0x7918 0B89 61 PUSH2 0x5395 0B8C 56 *JUMP 0B8D 5B JUMPDEST 0B8E 61 PUSH2 0x0b97 0B91 91 SWAP2 0B92 90 SWAP1 0B93 61 PUSH2 0x553c 0B96 56 *JUMP 0B97 5B JUMPDEST 0B98 61 PUSH2 0x0ba1 0B9B 91 SWAP2 0B9C 90 SWAP1 0B9D 61 PUSH2 0x5395 0BA0 56 *JUMP 0BA1 5B JUMPDEST 0BA2 61 PUSH2 0x0bad 0BA5 90 SWAP1 0BA6 61 PUSH2 0x374a 0BA9 61 PUSH2 0x5395 0BAC 56 *JUMP 0BAD 5B JUMPDEST 0BAE 61 PUSH2 0x0bb7 0BB1 91 SWAP2 0BB2 90 SWAP1 0BB3 61 PUSH2 0x53ad 0BB6 56 *JUMP 0BB7 5B JUMPDEST 0BB8 60 PUSH1 0x40 0BBA 51 MLOAD 0BBB 82 DUP3 0BBC 63 PUSH4 0xffffffff 0BC1 16 AND 0BC2 60 PUSH1 0xe0 0BC4 1B SHL 0BC5 81 DUP2 0BC6 52 MSTORE 0BC7 60 PUSH1 0x04 0BC9 01 ADD 0BCA 61 PUSH2 0x0bd5 0BCD 91 SWAP2 0BCE 81 DUP2 0BCF 52 MSTORE 0BD0 60 PUSH1 0x20 0BD2 01 ADD 0BD3 90 SWAP1 0BD4 56 *JUMP 0BD5 5B JUMPDEST 0BD6 60 PUSH1 0x20 0BD8 60 PUSH1 0x40 0BDA 51 MLOAD 0BDB 80 DUP1 0BDC 83 DUP4 0BDD 03 SUB 0BDE 81 DUP2 0BDF 60 PUSH1 0x00 0BE1 87 DUP8 0BE2 80 DUP1 0BE3 3B EXTCODESIZE 0BE4 15 ISZERO 0BE5 80 DUP1 0BE6 15 ISZERO 0BE7 61 PUSH2 0x0bef 0BEA 57 *JUMPI 0BEB 60 PUSH1 0x00 0BED 80 DUP1 0BEE FD *REVERT 0BEF 5B JUMPDEST 0BF0 50 POP 0BF1 5A GAS 0BF2 F1 CALL 0BF3 15 ISZERO 0BF4 80 DUP1 0BF5 15 ISZERO 0BF6 61 PUSH2 0x0c03 0BF9 57 *JUMPI 0BFA 3D RETURNDATASIZE 0BFB 60 PUSH1 0x00 0BFD 80 DUP1 0BFE 3E RETURNDATACOPY 0BFF 3D RETURNDATASIZE 0C00 60 PUSH1 0x00 0C02 FD *REVERT 0C03 5B JUMPDEST 0C04 50 POP 0C05 50 POP 0C06 50 POP 0C07 50 POP 0C08 60 PUSH1 0x40 0C0A 51 MLOAD 0C0B 3D RETURNDATASIZE 0C0C 60 PUSH1 0x1f 0C0E 19 NOT 0C0F 60 PUSH1 0x1f 0C11 82 DUP3 0C12 01 ADD 0C13 16 AND 0C14 82 DUP3 0C15 01 ADD 0C16 80 DUP1 0C17 60 PUSH1 0x40 0C19 52 MSTORE 0C1A 50 POP 0C1B 81 DUP2 0C1C 01 ADD 0C1D 90 SWAP1 0C1E 61 PUSH2 0x0c27 0C21 91 SWAP2 0C22 90 SWAP1 0C23 61 PUSH2 0x47e3 0C26 56 *JUMP 0C27 5B JUMPDEST 0C28 50 POP 0C29 5B JUMPDEST 0C2A 50 POP 0C2B 50 POP 0C2C 50 POP 0C2D 5B JUMPDEST 0C2E 95 SWAP6 0C2F 94 SWAP5 0C30 50 POP 0C31 50 POP 0C32 50 POP 0C33 50 POP 0C34 50 POP 0C35 56 *JUMP 0C36 5B JUMPDEST 0C37 61 PUSH2 0x0493 0C3A 61 PUSH2 0x2e61 0C3D 56 *JUMP label_0C3E: // Incoming jump from 0x032E // Inputs[2] // { // @0C44 stack[-1] // @0C4A memory[stack[-1]:stack[-1] + 0x20] // } 0C3E 5B JUMPDEST 0C3F 60 PUSH1 0x00 0C41 80 DUP1 0C42 60 PUSH1 0x00 0C44 83 DUP4 0C45 80 DUP1 0C46 60 PUSH1 0x20 0C48 01 ADD 0C49 90 SWAP1 0C4A 51 MLOAD 0C4B 81 DUP2 0C4C 01 ADD 0C4D 90 SWAP1 0C4E 61 PUSH2 0x0c57 0C51 91 SWAP2 0C52 90 SWAP1 0C53 61 PUSH2 0x4448 0C56 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @0C3F stack[0] = 0x00 // @0C41 stack[1] = 0x00 // @0C42 stack[2] = 0x00 // @0C51 stack[3] = 0x0c57 // @0C52 stack[4] = 0x20 + stack[-1] + memory[stack[-1]:stack[-1] + 0x20] // @0C52 stack[5] = 0x20 + stack[-1] // } // Block ends with call to 0x4448, returns to 0x0C57 label_0C57: // Incoming return from call to 0x4448 at 0x0C56 // Inputs[8] // { // @0C58 stack[-1] // @0C58 stack[-4] // @0C5A stack[-2] // @0C5A stack[-5] // @0C5C stack[-6] // @0C5C stack[-3] // @0C62 memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @0C79 msg.sender // } 0C57 5B JUMPDEST 0C58 92 SWAP3 0C59 50 POP 0C5A 92 SWAP3 0C5B 50 POP 0C5C 92 SWAP3 0C5D 50 POP 0C5E 82 DUP3 0C5F 60 PUSH1 0x20 0C61 01 ADD 0C62 51 MLOAD 0C63 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0C78 16 AND 0C79 33 CALLER 0C7A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0C8F 16 AND 0C90 14 EQ 0C91 61 PUSH2 0x0c99 0C94 57 *JUMPI // Stack delta = -3 // Outputs[3] // { // @0C58 stack[-4] = stack[-1] // @0C5A stack[-5] = stack[-2] // @0C5C stack[-6] = stack[-3] // } // Block ends with conditional jump to 0x0c99, if 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] label_0C95: // Incoming jump from 0x0C94, if not 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // Inputs[1] { @0C98 memory[0x00:0x00] } 0C95 60 PUSH1 0x00 0C97 80 DUP1 0C98 FD *REVERT // Stack delta = +0 // Outputs[1] { @0C98 revert(memory[0x00:0x00]); } // Block terminates label_0C99: // Incoming jump from 0x0C94, if 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // Inputs[2] // { // @0C9D stack[-2] // @0C9E stack[-1] // } 0C99 5B JUMPDEST 0C9A 61 PUSH2 0x0cae 0C9D 82 DUP3 0C9E 82 DUP3 0C9F 61 PUSH2 0x0ca9 0CA2 81 DUP2 0CA3 60 PUSH1 0x02 0CA5 61 PUSH2 0x5395 0CA8 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @0C9A stack[0] = 0x0cae // @0C9D stack[1] = stack[-2] // @0C9E stack[2] = stack[-1] // @0C9F stack[3] = 0x0ca9 // @0CA2 stack[4] = stack[-1] // @0CA3 stack[5] = 0x02 // } // Block ends with call to 0x5395, returns to 0x0CA9 label_0CA9: // Incoming return from call to 0x5395 at 0x0CA8 0CA9 5B JUMPDEST 0CAA 61 PUSH2 0x137f 0CAD 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x137f label_0CAE: // Incoming return from call to 0x0CA9 at 0x0CA8 // Inputs[1] { @0CB5 stack[-7] } 0CAE 5B JUMPDEST 0CAF 50 POP 0CB0 50 POP 0CB1 50 POP 0CB2 50 POP 0CB3 50 POP 0CB4 50 POP 0CB5 56 *JUMP // Stack delta = -7 // Block ends with unconditional jump to stack[-7] 0CB6 5B JUMPDEST 0CB7 61 PUSH2 0x0493 0CBA 61 PUSH2 0x2e91 0CBD 56 *JUMP label_0CBE: // Incoming jump from 0x0361 // Inputs[1] { @0CC4 memory[0x40:0x60] } 0CBE 5B JUMPDEST 0CBF 61 PUSH2 0x0493 0CC2 60 PUSH1 0x40 0CC4 51 MLOAD 0CC5 80 DUP1 0CC6 60 PUSH1 0xa0 0CC8 01 ADD 0CC9 60 PUSH1 0x40 0CCB 52 MSTORE 0CCC 80 DUP1 0CCD 60 PUSH1 0x00 0CCF 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0CE4 16 AND 0CE5 81 DUP2 0CE6 52 MSTORE 0CE7 60 PUSH1 0x20 0CE9 01 ADD 0CEA 60 PUSH1 0x00 0CEC 81 DUP2 0CED 52 MSTORE 0CEE 60 PUSH1 0x20 0CF0 01 ADD 0CF1 60 PUSH1 0x00 0CF3 81 DUP2 0CF4 52 MSTORE 0CF5 60 PUSH1 0x20 0CF7 01 ADD 0CF8 60 PUSH1 0x00 0CFA 15 ISZERO 0CFB 15 ISZERO 0CFC 81 DUP2 0CFD 52 MSTORE 0CFE 60 PUSH1 0x20 0D00 01 ADD 0D01 60 PUSH1 0x60 0D03 81 DUP2 0D04 52 MSTORE 0D05 50 POP 0D06 90 SWAP1 0D07 56 *JUMP // Stack delta = +1 // Outputs[7] // { // @0CCB memory[0x40:0x60] = 0xa0 + memory[0x40:0x60] // @0CE6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xffffffffffffffffffffffffffffffffffffffff & 0x00 // @0CED memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @0CF4 memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x00 // @0CFD memory[0x20 + 0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + 0x20 + memory[0x40:0x60] + 0x20] = !!0x00 // @0D04 memory[0x20 + 0x20 + 0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + 0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x60 // @0D06 stack[0] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x0493 0D08 5B JUMPDEST 0D09 61 PUSH2 0x0493 0D0C 61 PUSH2 0x2ec5 0D0F 56 *JUMP 0D10 5B JUMPDEST 0D11 61 PUSH2 0x0493 0D14 61 PUSH2 0x2f11 0D17 56 *JUMP label_0D18: // Incoming jump from 0x03F7 // Inputs[2] // { // @0D1C stack[-1] // @0D22 memory[stack[-1]:stack[-1] + 0x20] // } 0D18 5B JUMPDEST 0D19 60 PUSH1 0x00 0D1B 80 DUP1 0D1C 82 DUP3 0D1D 80 DUP1 0D1E 60 PUSH1 0x20 0D20 01 ADD 0D21 90 SWAP1 0D22 51 MLOAD 0D23 81 DUP2 0D24 01 ADD 0D25 90 SWAP1 0D26 61 PUSH2 0x0d2f 0D29 91 SWAP2 0D2A 90 SWAP1 0D2B 61 PUSH2 0x4405 0D2E 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @0D19 stack[0] = 0x00 // @0D1B stack[1] = 0x00 // @0D29 stack[2] = 0x0d2f // @0D2A stack[3] = 0x20 + stack[-1] + memory[stack[-1]:stack[-1] + 0x20] // @0D2A stack[4] = 0x20 + stack[-1] // } // Block ends with call to 0x4405, returns to 0x0D2F label_0D2F: // Incoming return from call to 0x4405 at 0x0D2E // Inputs[6] // { // @0D30 stack[-1] // @0D30 stack[-3] // @0D32 stack[-2] // @0D32 stack[-4] // @0D38 memory[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // @0D4F msg.sender // } 0D2F 5B JUMPDEST 0D30 91 SWAP2 0D31 50 POP 0D32 91 SWAP2 0D33 50 POP 0D34 81 DUP2 0D35 60 PUSH1 0x20 0D37 01 ADD 0D38 51 MLOAD 0D39 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0D4E 16 AND 0D4F 33 CALLER 0D50 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0D65 16 AND 0D66 14 EQ 0D67 61 PUSH2 0x0d6f 0D6A 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @0D30 stack[-3] = stack[-1] // @0D32 stack[-4] = stack[-2] // } // Block ends with conditional jump to 0x0d6f, if 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] label_0D6B: // Incoming jump from 0x0D6A, if not 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // Inputs[1] { @0D6E memory[0x00:0x00] } 0D6B 60 PUSH1 0x00 0D6D 80 DUP1 0D6E FD *REVERT // Stack delta = +0 // Outputs[1] { @0D6E revert(memory[0x00:0x00]); } // Block terminates label_0D6F: // Incoming jump from 0x0D6A, if 0xffffffffffffffffffffffffffffffffffffffff & msg.sender == 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // Inputs[2] // { // @0D75 stack[-4] // @0D76 stack[-5] // } 0D6F 5B JUMPDEST 0D70 60 PUSH1 0x00 0D72 61 PUSH2 0x0d7b 0D75 85 DUP6 0D76 87 DUP8 0D77 61 PUSH2 0x5395 0D7A 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @0D70 stack[0] = 0x00 // @0D72 stack[1] = 0x0d7b // @0D75 stack[2] = stack[-4] // @0D76 stack[3] = stack[-5] // } // Block ends with call to 0x5395, returns to 0x0D7B label_0D7B: // Incoming return from call to 0x5395 at 0x0D7A // Inputs[4] // { // @0D7C stack[-1] // @0D7C stack[-2] // @0D81 stack[-3] // @0D82 stack[-7] // } 0D7B 5B JUMPDEST 0D7C 90 SWAP1 0D7D 50 POP 0D7E 61 PUSH2 0x0d88 0D81 82 DUP3 0D82 87 DUP8 0D83 83 DUP4 0D84 61 PUSH2 0x137f 0D87 56 *JUMP // Stack delta = +3 // Outputs[5] // { // @0D7C stack[-2] = stack[-1] // @0D7E stack[-1] = 0x0d88 // @0D81 stack[0] = stack[-3] // @0D82 stack[1] = stack[-7] // @0D83 stack[2] = stack[-1] // } // Block ends with call to 0x137f, returns to 0x0D88 label_0D88: // Incoming return from call to 0x137F at 0x0D87 // Inputs[5] // { // @0D8B stack[-3] // @0D8F memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @0DAD memory[0x40:0x60] // @0DC1 memory[0x40:0x60] // @0DC8 address(0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20]).code.length // } 0D88 5B JUMPDEST 0D89 60 PUSH1 0x00 0D8B 83 DUP4 0D8C 60 PUSH1 0x20 0D8E 01 ADD 0D8F 51 MLOAD 0D90 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0DA5 16 AND 0DA6 63 PUSH4 0xc72c4d10 0DAB 60 PUSH1 0x40 0DAD 51 MLOAD 0DAE 81 DUP2 0DAF 63 PUSH4 0xffffffff 0DB4 16 AND 0DB5 60 PUSH1 0xe0 0DB7 1B SHL 0DB8 81 DUP2 0DB9 52 MSTORE 0DBA 60 PUSH1 0x04 0DBC 01 ADD 0DBD 60 PUSH1 0x20 0DBF 60 PUSH1 0x40 0DC1 51 MLOAD 0DC2 80 DUP1 0DC3 83 DUP4 0DC4 03 SUB 0DC5 81 DUP2 0DC6 86 DUP7 0DC7 80 DUP1 0DC8 3B EXTCODESIZE 0DC9 15 ISZERO 0DCA 80 DUP1 0DCB 15 ISZERO 0DCC 61 PUSH2 0x0dd4 0DCF 57 *JUMPI // Stack delta = +10 // Outputs[11] // { // @0D89 stack[0] = 0x00 // @0DA5 stack[1] = 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @0DA6 stack[2] = 0xc72c4d10 // @0DB9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & 0xc72c4d10) << 0xe0 // @0DBC stack[3] = 0x04 + memory[0x40:0x60] // @0DBD stack[4] = 0x20 // @0DC1 stack[5] = memory[0x40:0x60] // @0DC4 stack[6] = (0x04 + memory[0x40:0x60]) - memory[0x40:0x60] // @0DC5 stack[7] = memory[0x40:0x60] // @0DC6 stack[8] = 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @0DC9 stack[9] = !address(0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20]).code.length // } // Block ends with conditional jump to 0x0dd4, if !!address(0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20]).code.length label_0DD0: // Incoming jump from 0x0DCF, if not !!address(0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20]).code.length // Inputs[1] { @0DD3 memory[0x00:0x00] } 0DD0 60 PUSH1 0x00 0DD2 80 DUP1 0DD3 FD *REVERT // Stack delta = +0 // Outputs[1] { @0DD3 revert(memory[0x00:0x00]); } // Block terminates label_0DD4: // Incoming jump from 0x0DCF, if !!address(0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20]).code.length // Inputs[8] // { // @0DD6 msg.gas // @0DD7 stack[-5] // @0DD7 memory[stack[-3]:stack[-3] + stack[-4]] // @0DD7 stack[-6] // @0DD7 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @0DD7 stack[-4] // @0DD7 stack[-2] // @0DD7 stack[-3] // } 0DD4 5B JUMPDEST 0DD5 50 POP 0DD6 5A GAS 0DD7 FA STATICCALL 0DD8 15 ISZERO 0DD9 80 DUP1 0DDA 15 ISZERO 0DDB 61 PUSH2 0x0de8 0DDE 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @0DD7 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @0DD8 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x0de8, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_0DDF: // Incoming jump from 0x0DDE, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @0DDF returndata.length // @0DE3 returndata[0x00:0x00 + returndata.length] // @0DE4 returndata.length // @0DE7 memory[0x00:0x00 + returndata.length] // } 0DDF 3D RETURNDATASIZE 0DE0 60 PUSH1 0x00 0DE2 80 DUP1 0DE3 3E RETURNDATACOPY 0DE4 3D RETURNDATASIZE 0DE5 60 PUSH1 0x00 0DE7 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @0DE3 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0DE7 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_0DE8: // Incoming jump from 0x0DDE, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @0DEF memory[0x40:0x60] // @0DF0 returndata.length // } 0DE8 5B JUMPDEST 0DE9 50 POP 0DEA 50 POP 0DEB 50 POP 0DEC 50 POP 0DED 60 PUSH1 0x40 0DEF 51 MLOAD 0DF0 3D RETURNDATASIZE 0DF1 60 PUSH1 0x1f 0DF3 19 NOT 0DF4 60 PUSH1 0x1f 0DF6 82 DUP3 0DF7 01 ADD 0DF8 16 AND 0DF9 82 DUP3 0DFA 01 ADD 0DFB 80 DUP1 0DFC 60 PUSH1 0x40 0DFE 52 MSTORE 0DFF 50 POP 0E00 81 DUP2 0E01 01 ADD 0E02 90 SWAP1 0E03 61 PUSH2 0x0e0c 0E06 91 SWAP2 0E07 90 SWAP1 0E08 61 PUSH2 0x3b87 0E0B 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @0DFE memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @0E06 stack[-4] = 0x0e0c // @0E07 stack[-2] = memory[0x40:0x60] // @0E07 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with unconditional jump to 0x3b87 0E0C 5B JUMPDEST 0E0D 90 SWAP1 0E0E 50 POP 0E0F 60 PUSH1 0x00 0E11 81 DUP2 0E12 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0E27 16 AND 0E28 63 PUSH4 0xed6ff760 0E2D 60 PUSH1 0x40 0E2F 51 MLOAD 0E30 81 DUP2 0E31 63 PUSH4 0xffffffff 0E36 16 AND 0E37 60 PUSH1 0xe0 0E39 1B SHL 0E3A 81 DUP2 0E3B 52 MSTORE 0E3C 60 PUSH1 0x04 0E3E 01 ADD 0E3F 60 PUSH1 0x20 0E41 60 PUSH1 0x40 0E43 51 MLOAD 0E44 80 DUP1 0E45 83 DUP4 0E46 03 SUB 0E47 81 DUP2 0E48 86 DUP7 0E49 80 DUP1 0E4A 3B EXTCODESIZE 0E4B 15 ISZERO 0E4C 80 DUP1 0E4D 15 ISZERO 0E4E 61 PUSH2 0x0e56 0E51 57 *JUMPI 0E52 60 PUSH1 0x00 0E54 80 DUP1 0E55 FD *REVERT 0E56 5B JUMPDEST 0E57 50 POP 0E58 5A GAS 0E59 FA STATICCALL 0E5A 15 ISZERO 0E5B 80 DUP1 0E5C 15 ISZERO 0E5D 61 PUSH2 0x0e6a 0E60 57 *JUMPI 0E61 3D RETURNDATASIZE 0E62 60 PUSH1 0x00 0E64 80 DUP1 0E65 3E RETURNDATACOPY 0E66 3D RETURNDATASIZE 0E67 60 PUSH1 0x00 0E69 FD *REVERT 0E6A 5B JUMPDEST 0E6B 50 POP 0E6C 50 POP 0E6D 50 POP 0E6E 50 POP 0E6F 60 PUSH1 0x40 0E71 51 MLOAD 0E72 3D RETURNDATASIZE 0E73 60 PUSH1 0x1f 0E75 19 NOT 0E76 60 PUSH1 0x1f 0E78 82 DUP3 0E79 01 ADD 0E7A 16 AND 0E7B 82 DUP3 0E7C 01 ADD 0E7D 80 DUP1 0E7E 60 PUSH1 0x40 0E80 52 MSTORE 0E81 50 POP 0E82 81 DUP2 0E83 01 ADD 0E84 90 SWAP1 0E85 61 PUSH2 0x0e8e 0E88 91 SWAP2 0E89 90 SWAP1 0E8A 61 PUSH2 0x3b87 0E8D 56 *JUMP 0E8E 5B JUMPDEST 0E8F 60 PUSH1 0x20 0E91 86 DUP7 0E92 01 ADD 0E93 51 MLOAD 0E94 60 PUSH1 0x40 0E96 51 MLOAD 0E97 7F PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0EB8 81 DUP2 0EB9 52 MSTORE 0EBA 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0ECF 80 DUP1 0ED0 84 DUP5 0ED1 16 AND 0ED2 60 PUSH1 0x04 0ED4 83 DUP4 0ED5 01 ADD 0ED6 52 MSTORE 0ED7 60 PUSH1 0x24 0ED9 82 DUP3 0EDA 01 ADD 0EDB 87 DUP8 0EDC 90 SWAP1 0EDD 52 MSTORE 0EDE 92 SWAP3 0EDF 93 SWAP4 0EE0 50 POP 0EE1 91 SWAP2 0EE2 16 AND 0EE3 90 SWAP1 0EE4 63 PUSH4 0xa9059cbb 0EE9 90 SWAP1 0EEA 60 PUSH1 0x44 0EEC 01 ADD 0EED 60 PUSH1 0x20 0EEF 60 PUSH1 0x40 0EF1 51 MLOAD 0EF2 80 DUP1 0EF3 83 DUP4 0EF4 03 SUB 0EF5 81 DUP2 0EF6 60 PUSH1 0x00 0EF8 87 DUP8 0EF9 80 DUP1 0EFA 3B EXTCODESIZE 0EFB 15 ISZERO 0EFC 80 DUP1 0EFD 15 ISZERO 0EFE 61 PUSH2 0x0f06 0F01 57 *JUMPI 0F02 60 PUSH1 0x00 0F04 80 DUP1 0F05 FD *REVERT 0F06 5B JUMPDEST 0F07 50 POP 0F08 5A GAS 0F09 F1 CALL 0F0A 15 ISZERO 0F0B 80 DUP1 0F0C 15 ISZERO 0F0D 61 PUSH2 0x0f1a 0F10 57 *JUMPI 0F11 3D RETURNDATASIZE 0F12 60 PUSH1 0x00 0F14 80 DUP1 0F15 3E RETURNDATACOPY 0F16 3D RETURNDATASIZE 0F17 60 PUSH1 0x00 0F19 FD *REVERT 0F1A 5B JUMPDEST 0F1B 50 POP 0F1C 50 POP 0F1D 50 POP 0F1E 50 POP 0F1F 60 PUSH1 0x40 0F21 51 MLOAD 0F22 3D RETURNDATASIZE 0F23 60 PUSH1 0x1f 0F25 19 NOT 0F26 60 PUSH1 0x1f 0F28 82 DUP3 0F29 01 ADD 0F2A 16 AND 0F2B 82 DUP3 0F2C 01 ADD 0F2D 80 DUP1 0F2E 60 PUSH1 0x40 0F30 52 MSTORE 0F31 50 POP 0F32 81 DUP2 0F33 01 ADD 0F34 90 SWAP1 0F35 61 PUSH2 0x0f3e 0F38 91 SWAP2 0F39 90 SWAP1 0F3A 61 PUSH2 0x3da8 0F3D 56 *JUMP 0F3E 5B JUMPDEST 0F3F 50 POP 0F40 50 POP 0F41 50 POP 0F42 50 POP 0F43 50 POP 0F44 50 POP 0F45 50 POP 0F46 50 POP 0F47 50 POP 0F48 50 POP 0F49 56 *JUMP label_0F4A: // Incoming jump from 0x0425 // Inputs[2] // { // @0F51 stack[-1] // @0F52 stack[-2] // } 0F4A 5B JUMPDEST 0F4B 60 PUSH1 0x00 0F4D 80 DUP1 0F4E 61 PUSH2 0x0f59 0F51 83 DUP4 0F52 85 DUP6 0F53 01 ADD 0F54 85 DUP6 0F55 61 PUSH2 0x43b8 0F58 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @0F4B stack[0] = 0x00 // @0F4D stack[1] = 0x00 // @0F4E stack[2] = 0x0f59 // @0F53 stack[3] = stack[-2] + stack[-1] // @0F54 stack[4] = stack[-2] // } // Block ends with unconditional jump to 0x43b8 0F59 5B JUMPDEST 0F5A 91 SWAP2 0F5B 50 POP 0F5C 91 SWAP2 0F5D 50 POP 0F5E 81 DUP2 0F5F 60 PUSH1 0x20 0F61 01 ADD 0F62 51 MLOAD 0F63 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0F78 16 AND 0F79 33 CALLER 0F7A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0F8F 16 AND 0F90 14 EQ 0F91 61 PUSH2 0x0f99 0F94 57 *JUMPI 0F95 60 PUSH1 0x00 0F97 80 DUP1 0F98 FD *REVERT 0F99 5B JUMPDEST 0F9A 60 PUSH1 0x00 0F9C 86 DUP7 0F9D 13 SGT 0F9E 80 DUP1 0F9F 61 PUSH2 0x0fa8 0FA2 57 *JUMPI 0FA3 50 POP 0FA4 60 PUSH1 0x00 0FA6 85 DUP6 0FA7 13 SGT 0FA8 5B JUMPDEST 0FA9 61 PUSH2 0x0fb1 0FAC 57 *JUMPI 0FAD 60 PUSH1 0x00 0FAF 80 DUP1 0FB0 FD *REVERT 0FB1 5B JUMPDEST 0FB2 60 PUSH1 0x00 0FB4 80 DUP1 0FB5 60 PUSH1 0x00 0FB7 88 DUP9 0FB8 13 SGT 0FB9 15 ISZERO 0FBA 61 PUSH2 0x0fd0 0FBD 57 *JUMPI 0FBE 87 DUP8 0FBF 91 SWAP2 0FC0 50 POP 0FC1 61 PUSH2 0x0fc9 0FC4 87 DUP8 0FC5 61 PUSH2 0x55d1 0FC8 56 *JUMP 0FC9 5B JUMPDEST 0FCA 90 SWAP1 0FCB 50 POP 0FCC 61 PUSH2 0x0fdf 0FCF 56 *JUMP 0FD0 5B JUMPDEST 0FD1 86 DUP7 0FD2 91 SWAP2 0FD3 50 POP 0FD4 61 PUSH2 0x0fdc 0FD7 88 DUP9 0FD8 61 PUSH2 0x55d1 0FDB 56 *JUMP 0FDC 5B JUMPDEST 0FDD 90 SWAP1 0FDE 50 POP 0FDF 5B JUMPDEST 0FE0 61 PUSH2 0x0fea 0FE3 83 DUP4 0FE4 82 DUP3 0FE5 84 DUP5 0FE6 61 PUSH2 0x137f 0FE9 56 *JUMP 0FEA 5B JUMPDEST 0FEB 60 PUSH1 0x60 0FED 84 DUP5 0FEE 01 ADD 0FEF 51 MLOAD 0FF0 60 PUSH1 0x40 0FF2 51 MLOAD 0FF3 7F PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 1014 81 DUP2 1015 52 MSTORE 1016 33 CALLER 1017 60 PUSH1 0x04 1019 82 DUP3 101A 01 ADD 101B 52 MSTORE 101C 60 PUSH1 0x24 101E 81 DUP2 101F 01 ADD 1020 84 DUP5 1021 90 SWAP1 1022 52 MSTORE 1023 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1038 90 SWAP1 1039 91 SWAP2 103A 16 AND 103B 90 SWAP1 103C 63 PUSH4 0xa9059cbb 1041 90 SWAP1 1042 60 PUSH1 0x44 1044 01 ADD 1045 60 PUSH1 0x20 1047 60 PUSH1 0x40 1049 51 MLOAD 104A 80 DUP1 104B 83 DUP4 104C 03 SUB 104D 81 DUP2 104E 60 PUSH1 0x00 1050 87 DUP8 1051 80 DUP1 1052 3B EXTCODESIZE 1053 15 ISZERO 1054 80 DUP1 1055 15 ISZERO 1056 61 PUSH2 0x105e 1059 57 *JUMPI 105A 60 PUSH1 0x00 105C 80 DUP1 105D FD *REVERT 105E 5B JUMPDEST 105F 50 POP 1060 5A GAS 1061 F1 CALL 1062 15 ISZERO 1063 80 DUP1 1064 15 ISZERO 1065 61 PUSH2 0x1072 1068 57 *JUMPI 1069 3D RETURNDATASIZE 106A 60 PUSH1 0x00 106C 80 DUP1 106D 3E RETURNDATACOPY 106E 3D RETURNDATASIZE 106F 60 PUSH1 0x00 1071 FD *REVERT 1072 5B JUMPDEST 1073 50 POP 1074 50 POP 1075 50 POP 1076 50 POP 1077 60 PUSH1 0x40 1079 51 MLOAD 107A 3D RETURNDATASIZE 107B 60 PUSH1 0x1f 107D 19 NOT 107E 60 PUSH1 0x1f 1080 82 DUP3 1081 01 ADD 1082 16 AND 1083 82 DUP3 1084 01 ADD 1085 80 DUP1 1086 60 PUSH1 0x40 1088 52 MSTORE 1089 50 POP 108A 81 DUP2 108B 01 ADD 108C 90 SWAP1 108D 61 PUSH2 0x1096 1090 91 SWAP2 1091 90 SWAP1 1092 61 PUSH2 0x3da8 1095 56 *JUMP 1096 5B JUMPDEST 1097 50 POP 1098 50 POP 1099 50 POP 109A 50 POP 109B 50 POP 109C 50 POP 109D 50 POP 109E 50 POP 109F 50 POP 10A0 56 *JUMP label_10A1: // Incoming jump from 0x04A7 // Inputs[2] // { // @10AA stack[-1] // @10AB stack[-2] // } 10A1 5B JUMPDEST 10A2 60 PUSH1 0x00 10A4 80 DUP1 10A5 80 DUP1 10A6 80 DUP1 10A7 61 PUSH2 0x10b2 10AA 85 DUP6 10AB 87 DUP8 10AC 01 ADD 10AD 87 DUP8 10AE 61 PUSH2 0x449e 10B1 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @10A2 stack[0] = 0x00 // @10A4 stack[1] = 0x00 // @10A5 stack[2] = 0x00 // @10A6 stack[3] = 0x00 // @10A7 stack[4] = 0x10b2 // @10AC stack[5] = stack[-2] + stack[-1] // @10AD stack[6] = stack[-2] // } // Block ends with unconditional jump to 0x449e 10B2 5B JUMPDEST 10B3 93 SWAP4 10B4 50 POP 10B5 93 SWAP4 10B6 50 POP 10B7 93 SWAP4 10B8 50 POP 10B9 93 SWAP4 10BA 50 POP 10BB 83 DUP4 10BC 60 PUSH1 0x20 10BE 01 ADD 10BF 51 MLOAD 10C0 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 10D5 16 AND 10D6 33 CALLER 10D7 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 10EC 16 AND 10ED 14 EQ 10EE 61 PUSH2 0x10f6 10F1 57 *JUMPI 10F2 60 PUSH1 0x00 10F4 80 DUP1 10F5 FD *REVERT 10F6 5B JUMPDEST 10F7 60 PUSH1 0x00 10F9 80 DUP1 10FA 89 DUP10 10FB 11 GT 10FC 61 PUSH2 0x1105 10FF 57 *JUMPI 1100 87 DUP8 1101 61 PUSH2 0x1107 1104 56 *JUMP 1105 5B JUMPDEST 1106 88 DUP9 1107 5B JUMPDEST 1108 90 SWAP1 1109 50 POP 110A 60 PUSH1 0x00 110C 85 DUP6 110D 60 PUSH1 0x80 110F 01 ADD 1110 51 MLOAD 1111 61 PUSH2 0x2710 1114 61 PUSH2 0x111d 1117 91 SWAP2 1118 90 SWAP1 1119 61 PUSH2 0x553c 111C 56 *JUMP 111D 5B JUMPDEST 111E 61 PUSH2 0x1127 1121 83 DUP4 1122 85 DUP6 1123 61 PUSH2 0x553c 1126 56 *JUMP 1127 5B JUMPDEST 1128 61 PUSH2 0x1131 112B 91 SWAP2 112C 90 SWAP1 112D 61 PUSH2 0x54ff 1130 56 *JUMP 1131 5B JUMPDEST 1132 61 PUSH2 0x113b 1135 83 DUP4 1136 86 DUP7 1137 61 PUSH2 0x54ff 113A 56 *JUMP 113B 5B JUMPDEST 113C 61 PUSH2 0x1147 113F 90 SWAP1 1140 61 PUSH2 0x2710 1143 61 PUSH2 0x54ff 1146 56 *JUMP 1147 5B JUMPDEST 1148 61 PUSH2 0x1151 114B 91 SWAP2 114C 90 SWAP1 114D 61 PUSH2 0x53ad 1150 56 *JUMP 1151 5B JUMPDEST 1152 61 PUSH2 0x115c 1155 90 SWAP1 1156 60 PUSH1 0x01 1158 61 PUSH2 0x5395 115B 56 *JUMP 115C 5B JUMPDEST 115D 90 SWAP1 115E 50 POP 115F 61 PUSH2 0x1169 1162 85 DUP6 1163 83 DUP4 1164 83 DUP4 1165 61 PUSH2 0x137f 1168 56 *JUMP 1169 5B JUMPDEST 116A 60 PUSH1 0x60 116C 86 DUP7 116D 01 ADD 116E 51 MLOAD 116F 60 PUSH1 0x40 1171 51 MLOAD 1172 7F PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 1193 81 DUP2 1194 52 MSTORE 1195 33 CALLER 1196 60 PUSH1 0x04 1198 82 DUP3 1199 01 ADD 119A 52 MSTORE 119B 60 PUSH1 0x24 119D 81 DUP2 119E 01 ADD 119F 83 DUP4 11A0 90 SWAP1 11A1 52 MSTORE 11A2 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 11B7 90 SWAP1 11B8 91 SWAP2 11B9 16 AND 11BA 90 SWAP1 11BB 63 PUSH4 0xa9059cbb 11C0 90 SWAP1 11C1 60 PUSH1 0x44 11C3 01 ADD 11C4 60 PUSH1 0x20 11C6 60 PUSH1 0x40 11C8 51 MLOAD 11C9 80 DUP1 11CA 83 DUP4 11CB 03 SUB 11CC 81 DUP2 11CD 60 PUSH1 0x00 11CF 87 DUP8 11D0 80 DUP1 11D1 3B EXTCODESIZE 11D2 15 ISZERO 11D3 80 DUP1 11D4 15 ISZERO 11D5 61 PUSH2 0x11dd 11D8 57 *JUMPI 11D9 60 PUSH1 0x00 11DB 80 DUP1 11DC FD *REVERT 11DD 5B JUMPDEST 11DE 50 POP 11DF 5A GAS 11E0 F1 CALL 11E1 15 ISZERO 11E2 80 DUP1 11E3 15 ISZERO 11E4 61 PUSH2 0x11f1 11E7 57 *JUMPI 11E8 3D RETURNDATASIZE 11E9 60 PUSH1 0x00 11EB 80 DUP1 11EC 3E RETURNDATACOPY 11ED 3D RETURNDATASIZE 11EE 60 PUSH1 0x00 11F0 FD *REVERT 11F1 5B JUMPDEST 11F2 50 POP 11F3 50 POP 11F4 50 POP 11F5 50 POP 11F6 60 PUSH1 0x40 11F8 51 MLOAD 11F9 3D RETURNDATASIZE 11FA 60 PUSH1 0x1f 11FC 19 NOT 11FD 60 PUSH1 0x1f 11FF 82 DUP3 1200 01 ADD 1201 16 AND 1202 82 DUP3 1203 01 ADD 1204 80 DUP1 1205 60 PUSH1 0x40 1207 52 MSTORE 1208 50 POP 1209 81 DUP2 120A 01 ADD 120B 90 SWAP1 120C 61 PUSH2 0x1215 120F 91 SWAP2 1210 90 SWAP1 1211 61 PUSH2 0x3da8 1214 56 *JUMP 1215 5B JUMPDEST 1216 50 POP 1217 50 POP 1218 50 POP 1219 50 POP 121A 50 POP 121B 50 POP 121C 50 POP 121D 50 POP 121E 50 POP 121F 50 POP 1220 50 POP 1221 50 POP 1222 56 *JUMP 1223 5B JUMPDEST 1224 81 DUP2 1225 51 MLOAD 1226 60 PUSH1 0x00 1228 90 SWAP1 1229 81 DUP2 122A 90 SWAP1 122B 81 DUP2 122C 90 SWAP1 122D 60 PUSH1 0x01 122F 81 DUP2 1230 14 EQ 1231 15 ISZERO 1232 61 PUSH2 0x1266 1235 57 *JUMPI 1236 61 PUSH2 0x1256 1239 86 DUP7 123A 60 PUSH1 0x20 123C 01 ADD 123D 51 MLOAD 123E 80 DUP1 123F 60 PUSH1 0x20 1241 01 ADD 1242 90 SWAP1 1243 51 MLOAD 1244 81 DUP2 1245 01 ADD 1246 90 SWAP1 1247 61 PUSH2 0x1250 124A 91 SWAP2 124B 90 SWAP1 124C 61 PUSH2 0x4590 124F 56 *JUMP 1250 5B JUMPDEST 1251 86 DUP7 1252 61 PUSH2 0x17e0 1255 56 *JUMP 1256 5B JUMPDEST 1257 90 SWAP1 1258 94 SWAP5 1259 50 POP 125A 92 SWAP3 125B 50 POP 125C 60 PUSH1 0x00 125E 91 SWAP2 125F 50 POP 1260 61 PUSH2 0x12e2 1263 90 SWAP1 1264 50 POP 1265 56 *JUMP 1266 5B JUMPDEST 1267 80 DUP1 1268 60 PUSH1 0x02 126A 14 EQ 126B 15 ISZERO 126C 61 PUSH2 0x129c 126F 57 *JUMPI 1270 61 PUSH2 0x1290 1273 86 DUP7 1274 60 PUSH1 0x20 1276 01 ADD 1277 51 MLOAD 1278 80 DUP1 1279 60 PUSH1 0x20 127B 01 ADD 127C 90 SWAP1 127D 51 MLOAD 127E 81 DUP2 127F 01 ADD 1280 90 SWAP1 1281 61 PUSH2 0x128a 1284 91 SWAP2 1285 90 SWAP1 1286 61 PUSH2 0x467b 1289 56 *JUMP 128A 5B JUMPDEST 128B 86 DUP7 128C 61 PUSH2 0x190b 128F 56 *JUMP 1290 5B JUMPDEST 1291 93 SWAP4 1292 50 POP 1293 93 SWAP4 1294 50 POP 1295 93 SWAP4 1296 50 POP 1297 50 POP 1298 61 PUSH2 0x12e2 129B 56 *JUMP 129C 5B JUMPDEST 129D 80 DUP1 129E 60 PUSH1 0x03 12A0 14 EQ 12A1 15 ISZERO 12A2 61 PUSH2 0x12d5 12A5 57 *JUMPI 12A6 61 PUSH2 0x12c6 12A9 86 DUP7 12AA 60 PUSH1 0x20 12AC 01 ADD 12AD 51 MLOAD 12AE 80 DUP1 12AF 60 PUSH1 0x20 12B1 01 ADD 12B2 90 SWAP1 12B3 51 MLOAD 12B4 81 DUP2 12B5 01 ADD 12B6 90 SWAP1 12B7 61 PUSH2 0x12c0 12BA 91 SWAP2 12BB 90 SWAP1 12BC 61 PUSH2 0x4117 12BF 56 *JUMP 12C0 5B JUMPDEST 12C1 86 DUP7 12C2 61 PUSH2 0x1c0e 12C5 56 *JUMP 12C6 5B JUMPDEST 12C7 60 PUSH1 0x00 12C9 80 DUP1 12CA 93 SWAP4 12CB 50 POP 12CC 93 SWAP4 12CD 50 POP 12CE 93 SWAP4 12CF 50 POP 12D0 50 POP 12D1 61 PUSH2 0x12e2 12D4 56 *JUMP 12D5 5B JUMPDEST 12D6 60 PUSH1 0x00 12D8 80 DUP1 12D9 60 PUSH1 0x00 12DB 93 SWAP4 12DC 50 POP 12DD 93 SWAP4 12DE 50 POP 12DF 93 SWAP4 12E0 50 POP 12E1 50 POP 12E2 5B JUMPDEST 12E3 92 SWAP3 12E4 50 POP 12E5 92 SWAP3 12E6 50 POP 12E7 92 SWAP3 12E8 56 *JUMP 12E9 5B JUMPDEST 12EA 60 PUSH1 0x00 12EC 82 DUP3 12ED 80 DUP1 12EE 60 PUSH1 0x20 12F0 01 ADD 12F1 90 SWAP1 12F2 51 MLOAD 12F3 81 DUP2 12F4 01 ADD 12F5 90 SWAP1 12F6 61 PUSH2 0x12ff 12F9 91 SWAP2 12FA 90 SWAP1 12FB 61 PUSH2 0x439d 12FE 56 *JUMP 12FF 5B JUMPDEST 1300 80 DUP1 1301 51 MLOAD 1302 90 SWAP1 1303 91 SWAP2 1304 50 POP 1305 60 PUSH1 0x01 1307 14 EQ 1308 15 ISZERO 1309 61 PUSH2 0x1325 130C 57 *JUMPI 130D 61 PUSH2 0x1320 1310 81 DUP2 1311 61 PUSH2 0x131a 1314 86 DUP7 1315 88 DUP9 1316 61 PUSH2 0x5553 1319 56 *JUMP 131A 5B JUMPDEST 131B 84 DUP5 131C 61 PUSH2 0x1df2 131F 56 *JUMP 1320 5B JUMPDEST 1321 61 PUSH2 0x04a8 1324 56 *JUMP 1325 5B JUMPDEST 1326 80 DUP1 1327 51 MLOAD 1328 60 PUSH1 0x02 132A 14 EQ 132B 15 ISZERO 132C 61 PUSH2 0x1343 132F 57 *JUMPI 1330 61 PUSH2 0x1320 1333 81 DUP2 1334 61 PUSH2 0x133d 1337 86 DUP7 1338 88 DUP9 1339 61 PUSH2 0x5553 133C 56 *JUMP 133D 5B JUMPDEST 133E 84 DUP5 133F 61 PUSH2 0x20a4 1342 56 *JUMP 1343 5B JUMPDEST 1344 80 DUP1 1345 51 MLOAD 1346 60 PUSH1 0x03 1348 14 EQ 1349 15 ISZERO 134A 61 PUSH2 0x1361 134D 57 *JUMPI 134E 61 PUSH2 0x1320 1351 81 DUP2 1352 61 PUSH2 0x135b 1355 86 DUP7 1356 88 DUP9 1357 61 PUSH2 0x5553 135A 56 *JUMP 135B 5B JUMPDEST 135C 84 DUP5 135D 61 PUSH2 0x245a 1360 56 *JUMP 1361 5B JUMPDEST 1362 80 DUP1 1363 51 MLOAD 1364 60 PUSH1 0x04 1366 14 EQ 1367 15 ISZERO 1368 61 PUSH2 0x04a8 136B 57 *JUMPI 136C 61 PUSH2 0x04a8 136F 81 DUP2 1370 61 PUSH2 0x1379 1373 86 DUP7 1374 88 DUP9 1375 61 PUSH2 0x5553 1378 56 *JUMP 1379 5B JUMPDEST 137A 84 DUP5 137B 61 PUSH2 0x2739 137E 56 *JUMP label_137F: // Incoming jump from 0x0CAD // Incoming call from 0x0D87, returns to 0x0D88 // Inputs[2] // { // @1384 stack[-3] // @1385 memory[stack[-3]:stack[-3] + 0x20] // } 137F 5B JUMPDEST 1380 60 PUSH1 0x00 1382 80 DUP1 1383 5B JUMPDEST 1384 84 DUP5 1385 51 MLOAD 1386 81 DUP2 1387 10 LT 1388 15 ISZERO 1389 61 PUSH2 0x1764 138C 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @1380 stack[0] = 0x00 // @1382 stack[1] = 0x00 // } // Block ends with conditional jump to 0x1764, if !(0x00 < memory[stack[-3]:stack[-3] + 0x20]) label_138D: // Incoming jump from 0x138C, if not !(0x00 < memory[stack[-3]:stack[-3] + 0x20]) // Incoming jump from 0x138C, if not !(stack[-1] < memory[stack[-5]:stack[-5] + 0x20]) // Inputs[3] // { // @138F stack[-5] // @1390 stack[-1] // @1392 memory[stack[-5]:stack[-5] + 0x20] // } 138D 60 PUSH1 0x00 138F 85 DUP6 1390 82 DUP3 1391 81 DUP2 1392 51 MLOAD 1393 81 DUP2 1394 10 LT 1395 61 PUSH2 0x13ae 1398 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @138D stack[0] = 0x00 // @138F stack[1] = stack[-5] // @1390 stack[2] = stack[-1] // } // Block ends with conditional jump to 0x13ae, if stack[-1] < memory[stack[-5]:stack[-5] + 0x20] label_1399: // Incoming jump from 0x1398, if not stack[-1] < memory[stack[-5]:stack[-5] + 0x20] // Inputs[1] { @13AD memory[0x00:0x24] } 1399 63 PUSH4 0x4e487b71 139E 60 PUSH1 0xe0 13A0 1B SHL 13A1 60 PUSH1 0x00 13A3 52 MSTORE 13A4 60 PUSH1 0x32 13A6 60 PUSH1 0x04 13A8 52 MSTORE 13A9 60 PUSH1 0x24 13AB 60 PUSH1 0x00 13AD FD *REVERT // Stack delta = +0 // Outputs[3] // { // @13A3 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @13A8 memory[0x04:0x24] = 0x32 // @13AD revert(memory[0x00:0x24]); // } // Block terminates label_13AE: // Incoming jump from 0x1398, if stack[-1] < memory[stack[-5]:stack[-5] + 0x20] // Inputs[8] // { // @13B1 stack[-1] // @13B5 stack[-2] // @13B6 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @13B7 stack[-3] // @13BF memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // @13C8 memory[0x40 + memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x40 + memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] // @13E7 memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // @13EB memory[0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] // } 13AE 5B JUMPDEST 13AF 60 PUSH1 0x20 13B1 02 MUL 13B2 60 PUSH1 0x20 13B4 01 ADD 13B5 01 ADD 13B6 51 MLOAD 13B7 90 SWAP1 13B8 50 POP 13B9 60 PUSH1 0x00 13BB 81 DUP2 13BC 60 PUSH1 0x40 13BE 01 ADD 13BF 51 MLOAD 13C0 90 SWAP1 13C1 50 POP 13C2 60 PUSH1 0x00 13C4 81 DUP2 13C5 60 PUSH1 0x40 13C7 01 ADD 13C8 51 MLOAD 13C9 90 SWAP1 13CA 50 POP 13CB 60 PUSH1 0x00 13CD 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 13E2 16 AND 13E3 83 DUP4 13E4 60 PUSH1 0x20 13E6 01 ADD 13E7 51 MLOAD 13E8 60 PUSH1 0x20 13EA 01 ADD 13EB 51 MLOAD 13EC 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1401 16 AND 1402 14 EQ 1403 61 PUSH2 0x141d 1406 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @13B7 stack[-3] = memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @13C0 stack[-2] = memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // @13C9 stack[-1] = memory[0x40 + memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x40 + memory[0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x40 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] // } // Block ends with conditional jump to 0x141d, if 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] == 0xffffffffffffffffffffffffffffffffffffffff & 0x00 label_1407: // Incoming jump from 0x1406, if not 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] == 0xffffffffffffffffffffffffffffffffffffffff & 0x00 // Inputs[5] // { // @140A stack[-3] // @140C memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @1410 memory[memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20:memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20 + 0x20] // @1412 memory[memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20]:memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20] // @1418 stack[-7] // } 1407 60 PUSH1 0x20 1409 80 DUP1 140A 84 DUP5 140B 01 ADD 140C 51 MLOAD 140D 90 SWAP1 140E 81 DUP2 140F 01 ADD 1410 51 MLOAD 1411 90 SWAP1 1412 51 MLOAD 1413 61 PUSH2 0x141d 1416 91 SWAP2 1417 90 SWAP1 1418 89 DUP10 1419 61 PUSH2 0x2870 141C 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @1416 stack[0] = 0x141d // @1417 stack[1] = memory[memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20:memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20 + 0x20] // @1417 stack[2] = memory[memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20]:memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] + 0x20] // @1418 stack[3] = stack[-7] // } // Block ends with call to 0x2870, returns to 0x141D label_141D: // Incoming return from call to 0x2870 at 0x141C // Incoming jump from 0x1406, if 0xffffffffffffffffffffffffffffffffffffffff & memory[0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]:0x20 + memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + 0x20] == 0xffffffffffffffffffffffffffffffffffffffff & 0x00 // Inputs[3] // { // @141E stack[-3] // @141F memory[stack[-3]:stack[-3] + 0x20] // @1420 memory[memory[stack[-3]:stack[-3] + 0x20]:memory[stack[-3]:stack[-3] + 0x20] + 0x20] // } 141D 5B JUMPDEST 141E 82 DUP3 141F 51 MLOAD 1420 51 MLOAD 1421 60 PUSH1 0x00 1423 90 SWAP1 1424 60 PUSH1 0x01 1426 14 EQ 1427 15 ISZERO 1428 61 PUSH2 0x14b6 142B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @1423 stack[0] = 0x00 } // Block ends with conditional jump to 0x14b6, if !(0x01 == memory[memory[stack[-3]:stack[-3] + 0x20]:memory[stack[-3]:stack[-3] + 0x20] + 0x20]) label_142C: // Incoming jump from 0x142B, if not !(0x01 == memory[memory[stack[-3]:stack[-3] + 0x20]:memory[stack[-3]:stack[-3] + 0x20] + 0x20]) // Inputs[7] // { // @142C stack[-4] // @142D memory[stack[-4]:stack[-4] + 0x20] // @1431 memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] // @1434 memory[0x40:0x60] // @145C stack[-8] // @1485 memory[0x40:0x60] // @148E address(memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // } 142C 83 DUP4 142D 51 MLOAD 142E 60 PUSH1 0x20 1430 01 ADD 1431 51 MLOAD 1432 60 PUSH1 0x40 1434 51 MLOAD 1435 7F PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 1456 81 DUP2 1457 52 MSTORE 1458 60 PUSH1 0x04 145A 81 DUP2 145B 01 ADD 145C 8A DUP11 145D 90 SWAP1 145E 52 MSTORE 145F 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1474 90 SWAP1 1475 91 SWAP2 1476 16 AND 1477 90 SWAP1 1478 63 PUSH4 0x2e1a7d4d 147D 90 SWAP1 147E 60 PUSH1 0x24 1480 01 ADD 1481 60 PUSH1 0x00 1483 60 PUSH1 0x40 1485 51 MLOAD 1486 80 DUP1 1487 83 DUP4 1488 03 SUB 1489 81 DUP2 148A 60 PUSH1 0x00 148C 87 DUP8 148D 80 DUP1 148E 3B EXTCODESIZE 148F 15 ISZERO 1490 80 DUP1 1491 15 ISZERO 1492 61 PUSH2 0x149a 1495 57 *JUMPI // Stack delta = +10 // Outputs[12] // { // @1457 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 // @145E memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = stack[-8] // @1477 stack[0] = memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff // @147D stack[1] = 0x2e1a7d4d // @1480 stack[2] = 0x24 + memory[0x40:0x60] // @1481 stack[3] = 0x00 // @1485 stack[4] = memory[0x40:0x60] // @1488 stack[5] = (0x24 + memory[0x40:0x60]) - memory[0x40:0x60] // @1489 stack[6] = memory[0x40:0x60] // @148A stack[7] = 0x00 // @148C stack[8] = memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff // @148F stack[9] = !address(memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // } // Block ends with conditional jump to 0x149a, if !!address(memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).code.length label_1496: // Incoming jump from 0x1495, if not !!address(memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // Inputs[1] { @1499 memory[0x00:0x00] } 1496 60 PUSH1 0x00 1498 80 DUP1 1499 FD *REVERT // Stack delta = +0 // Outputs[1] { @1499 revert(memory[0x00:0x00]); } // Block terminates label_149A: // Incoming jump from 0x1495, if !!address(memory[0x20 + memory[stack[-4]:stack[-4] + 0x20]:0x20 + memory[stack[-4]:stack[-4] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // Inputs[9] // { // @149C msg.gas // @149D stack[-4] // @149D stack[-7] // @149D address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @149D stack[-3] // @149D stack[-5] // @149D memory[stack[-4]:stack[-4] + stack[-5]] // @149D stack[-2] // @149D stack[-6] // } 149A 5B JUMPDEST 149B 50 POP 149C 5A GAS 149D F1 CALL 149E 15 ISZERO 149F 80 DUP1 14A0 15 ISZERO 14A1 61 PUSH2 0x14ae 14A4 57 *JUMPI // Stack delta = -6 // Outputs[2] // { // @149D memory[stack[-6]:stack[-6] + stack[-7]] = address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @149E stack[-7] = !address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // } // Block ends with conditional jump to 0x14ae, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) label_14A5: // Incoming jump from 0x14A4, if not !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[4] // { // @14A5 returndata.length // @14A9 returndata[0x00:0x00 + returndata.length] // @14AA returndata.length // @14AD memory[0x00:0x00 + returndata.length] // } 14A5 3D RETURNDATASIZE 14A6 60 PUSH1 0x00 14A8 80 DUP1 14A9 3E RETURNDATACOPY 14AA 3D RETURNDATASIZE 14AB 60 PUSH1 0x00 14AD FD *REVERT // Stack delta = +0 // Outputs[2] // { // @14A9 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @14AD revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_14AE: // Incoming jump from 0x14A4, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[2] // { // @14B3 stack[-12] // @14B4 stack[-5] // } 14AE 5B JUMPDEST 14AF 50 POP 14B0 50 POP 14B1 50 POP 14B2 50 POP 14B3 87 DUP8 14B4 90 SWAP1 14B5 50 POP // Stack delta = -4 // Outputs[1] { @14B4 stack[-5] = stack[-12] } // Block continues label_14B6: // Incoming jump from 0x142B, if !(0x01 == memory[memory[stack[-3]:stack[-3] + 0x20]:memory[stack[-3]:stack[-3] + 0x20] + 0x20]) // Incoming jump from 0x14B5 // Inputs[2] // { // @14B7 stack[-2] // @14BB memory[stack[-2]:stack[-2] + 0x20] // } 14B6 5B JUMPDEST 14B7 81 DUP2 14B8 60 PUSH1 0x00 14BA 81 DUP2 14BB 51 MLOAD 14BC 81 DUP2 14BD 10 LT 14BE 61 PUSH2 0x14d7 14C1 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @14B7 stack[0] = stack[-2] // @14B8 stack[1] = 0x00 // } // Block ends with conditional jump to 0x14d7, if 0x00 < memory[stack[-2]:stack[-2] + 0x20] label_14C2: // Incoming jump from 0x14C1, if not 0x00 < memory[stack[-2]:stack[-2] + 0x20] // Inputs[1] { @14D6 memory[0x00:0x24] } 14C2 63 PUSH4 0x4e487b71 14C7 60 PUSH1 0xe0 14C9 1B SHL 14CA 60 PUSH1 0x00 14CC 52 MSTORE 14CD 60 PUSH1 0x32 14CF 60 PUSH1 0x04 14D1 52 MSTORE 14D2 60 PUSH1 0x24 14D4 60 PUSH1 0x00 14D6 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @14CC memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @14D1 memory[0x04:0x24] = 0x32 // @14D6 revert(memory[0x00:0x24]); // } // Block terminates label_14D7: // Incoming jump from 0x14C1, if 0x00 < memory[stack[-2]:stack[-2] + 0x20] // Inputs[4] // { // @14DA stack[-1] // @14DE stack[-2] // @14DF memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @14E3 memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // } 14D7 5B JUMPDEST 14D8 60 PUSH1 0x20 14DA 02 MUL 14DB 60 PUSH1 0x20 14DD 01 ADD 14DE 01 ADD 14DF 51 MLOAD 14E0 60 PUSH1 0x20 14E2 01 ADD 14E3 51 MLOAD 14E4 60 PUSH1 0x01 14E6 14 EQ 14E7 15 ISZERO 14E8 61 PUSH2 0x1551 14EB 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x1551, if !(0x01 == memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]) label_14EC: // Incoming jump from 0x14EB, if not !(0x01 == memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]) // Inputs[2] // { // @14EF stack[-8] // @14F2 memory[0x40:0x60] // } 14EC 61 PUSH2 0x1551 14EF 88 DUP9 14F0 60 PUSH1 0x40 14F2 51 MLOAD 14F3 60 PUSH1 0x20 14F5 01 ADD 14F6 61 PUSH2 0x1501 14F9 91 SWAP2 14FA 81 DUP2 14FB 52 MSTORE 14FC 60 PUSH1 0x20 14FE 01 ADD 14FF 90 SWAP1 1500 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @14EC stack[0] = 0x1551 // @14FB memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = stack[-8] // @14FF stack[1] = 0x20 + 0x20 + memory[0x40:0x60] // } // Block ends with call to 0x1501, returns to 0x1551 label_1501: // Incoming call from 0x1500, returns to 0x1551 // Inputs[6] // { // @1504 memory[0x40:0x60] // @1508 stack[-1] // @1511 stack[-5] // @1515 memory[0x20 + stack[-5]:0x20 + stack[-5] + 0x20] // @1516 stack[-4] // @151A memory[stack[-4]:stack[-4] + 0x20] // } 1501 5B JUMPDEST 1502 60 PUSH1 0x40 1504 51 MLOAD 1505 60 PUSH1 0x20 1507 81 DUP2 1508 83 DUP4 1509 03 SUB 150A 03 SUB 150B 81 DUP2 150C 52 MSTORE 150D 90 SWAP1 150E 60 PUSH1 0x40 1510 52 MSTORE 1511 84 DUP5 1512 60 PUSH1 0x20 1514 01 ADD 1515 51 MLOAD 1516 84 DUP5 1517 60 PUSH1 0x00 1519 81 DUP2 151A 51 MLOAD 151B 81 DUP2 151C 10 LT 151D 61 PUSH2 0x1536 1520 57 *JUMPI // Stack delta = +3 // Outputs[6] // { // @150C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] - memory[0x40:0x60] - 0x20 // @150D stack[-1] = memory[0x40:0x60] // @1510 memory[0x40:0x60] = stack[-1] // @1515 stack[0] = memory[0x20 + stack[-5]:0x20 + stack[-5] + 0x20] // @1516 stack[1] = stack[-4] // @1517 stack[2] = 0x00 // } // Block ends with conditional jump to 0x1536, if 0x00 < memory[stack[-4]:stack[-4] + 0x20] label_1521: // Incoming jump from 0x1520, if not 0x00 < memory[stack[-4]:stack[-4] + 0x20] // Inputs[1] { @1535 memory[0x00:0x24] } 1521 63 PUSH4 0x4e487b71 1526 60 PUSH1 0xe0 1528 1B SHL 1529 60 PUSH1 0x00 152B 52 MSTORE 152C 60 PUSH1 0x32 152E 60 PUSH1 0x04 1530 52 MSTORE 1531 60 PUSH1 0x24 1533 60 PUSH1 0x00 1535 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @152B memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @1530 memory[0x04:0x24] = 0x32 // @1535 revert(memory[0x00:0x24]); // } // Block terminates label_1536: // Incoming jump from 0x1520, if 0x00 < memory[stack[-4]:stack[-4] + 0x20] // Inputs[8] // { // @1539 stack[-1] // @153D stack[-2] // @153E memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @1542 memory[0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // @1545 stack[-4] // @1548 memory[0x20 + stack[-4]:0x20 + stack[-4] + 0x20] // @154B stack[-3] // @1550 stack[-5] // } 1536 5B JUMPDEST 1537 60 PUSH1 0x20 1539 02 MUL 153A 60 PUSH1 0x20 153C 01 ADD 153D 01 ADD 153E 51 MLOAD 153F 60 PUSH1 0x00 1541 01 ADD 1542 51 MLOAD 1543 60 PUSH1 0x20 1545 92 SWAP3 1546 83 DUP4 1547 01 ADD 1548 51 MLOAD 1549 92 SWAP3 154A 02 MUL 154B 01 ADD 154C 60 PUSH1 0x04 154E 01 ADD 154F 52 MSTORE 1550 56 *JUMP // Stack delta = -5 // Outputs[1] { @154F memory[0x04 + 0x20 * memory[0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + stack[-3]:0x04 + 0x20 * memory[0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] + stack[-3] + 0x20] = memory[0x20 + stack[-4]:0x20 + stack[-4] + 0x20] } // Block ends with unconditional jump to stack[-5] label_1551: // Incoming jump from 0x14EB, if !(0x01 == memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20]) // Incoming return from call to 0x1501 at 0x1500 // Inputs[5] // { // @1555 stack[-3] // @1559 memory[0x00 + stack[-3]:0x00 + stack[-3] + 0x20] // @1570 stack[-1] // @1575 memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @1578 memory[0x40:0x60] // } 1551 5B JUMPDEST 1552 60 PUSH1 0x00 1554 80 DUP1 1555 84 DUP5 1556 60 PUSH1 0x00 1558 01 ADD 1559 51 MLOAD 155A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 156F 16 AND 1570 83 DUP4 1571 86 DUP7 1572 60 PUSH1 0x20 1574 01 ADD 1575 51 MLOAD 1576 60 PUSH1 0x40 1578 51 MLOAD 1579 61 PUSH2 0x1582 157C 91 SWAP2 157D 90 SWAP1 157E 61 PUSH2 0x4b1f 1581 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @1552 stack[0] = 0x00 // @1554 stack[1] = 0x00 // @156F stack[2] = 0xffffffffffffffffffffffffffffffffffffffff & memory[0x00 + stack[-3]:0x00 + stack[-3] + 0x20] // @1570 stack[3] = stack[-1] // @157C stack[4] = 0x1582 // @157D stack[5] = memory[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @157D stack[6] = memory[0x40:0x60] // } // Block ends with call to 0x4b1f, returns to 0x1582 label_1582: // Incoming return from call to 0x4B1F at 0x1581 // Inputs[8] // { // @1587 memory[0x40:0x60] // @1589 stack[-1] // @158C stack[-2] // @158D stack[-3] // @158E msg.gas // @158F memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // @158F address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @1594 returndata.length // } 1582 5B JUMPDEST 1583 60 PUSH1 0x00 1585 60 PUSH1 0x40 1587 51 MLOAD 1588 80 DUP1 1589 83 DUP4 158A 03 SUB 158B 81 DUP2 158C 85 DUP6 158D 87 DUP8 158E 5A GAS 158F F1 CALL 1590 92 SWAP3 1591 50 POP 1592 50 POP 1593 50 POP 1594 3D RETURNDATASIZE 1595 80 DUP1 1596 60 PUSH1 0x00 1598 81 DUP2 1599 14 EQ 159A 61 PUSH2 0x15bf 159D 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @158F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] = address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @1590 stack[-3] = address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @1594 stack[-2] = returndata.length // @1595 stack[-1] = returndata.length // } // Block ends with conditional jump to 0x15bf, if returndata.length == 0x00 label_159E: // Incoming jump from 0x159D, if not returndata.length == 0x00 // Inputs[6] // { // @15A0 memory[0x40:0x60] // @15A1 stack[-2] // @15A8 returndata.length // @15B0 returndata.length // @15B3 returndata.length // @15BA returndata[0x00:0x00 + returndata.length] // } 159E 60 PUSH1 0x40 15A0 51 MLOAD 15A1 91 SWAP2 15A2 50 POP 15A3 60 PUSH1 0x1f 15A5 19 NOT 15A6 60 PUSH1 0x3f 15A8 3D RETURNDATASIZE 15A9 01 ADD 15AA 16 AND 15AB 82 DUP3 15AC 01 ADD 15AD 60 PUSH1 0x40 15AF 52 MSTORE 15B0 3D RETURNDATASIZE 15B1 82 DUP3 15B2 52 MSTORE 15B3 3D RETURNDATASIZE 15B4 60 PUSH1 0x00 15B6 60 PUSH1 0x20 15B8 84 DUP5 15B9 01 ADD 15BA 3E RETURNDATACOPY 15BB 61 PUSH2 0x15c4 15BE 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @15A1 stack[-2] = memory[0x40:0x60] // @15AF memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x3f & ~0x1f) // @15B2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = returndata.length // @15BA memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + returndata.length] = returndata[0x00:0x00 + returndata.length] // } // Block ends with unconditional jump to 0x15c4 label_15BF: // Incoming jump from 0x159D, if returndata.length == 0x00 // Inputs[4] // { // @15C2 stack[-2] // @15C6 stack[-4] // @15C8 stack[-3] // @15C8 stack[-5] // } 15BF 5B JUMPDEST 15C0 60 PUSH1 0x60 15C2 91 SWAP2 15C3 50 POP 15C4 5B JUMPDEST 15C5 50 POP 15C6 91 SWAP2 15C7 50 POP 15C8 91 SWAP2 15C9 50 POP 15CA 81 DUP2 15CB 61 PUSH2 0x15db 15CE 57 *JUMPI // Stack delta = -3 // Outputs[2] // { // @15C6 stack[-4] = 0x60 // @15C8 stack[-5] = stack[-3] // } // Block ends with conditional jump to 0x15db, if stack[-3] label_15CF: // Incoming jump from 0x15CE, if not stack[-3] // Incoming jump from 0x15CE, if not stack[-3] // Inputs[4] // { // @15D1 memory[0x40:0x60] // @15D2 returndata.length // @15D7 returndata[0x00:0x00 + returndata.length] // @15DA memory[memory[0x40:0x60]:memory[0x40:0x60] + returndata.length] // } 15CF 60 PUSH1 0x40 15D1 51 MLOAD 15D2 3D RETURNDATASIZE 15D3 80 DUP1 15D4 60 PUSH1 0x00 15D6 83 DUP4 15D7 3E RETURNDATACOPY 15D8 80 DUP1 15D9 82 DUP3 15DA FD *REVERT // Stack delta = +2 // Outputs[4] // { // @15D1 stack[0] = memory[0x40:0x60] // @15D2 stack[1] = returndata.length // @15D7 memory[memory[0x40:0x60]:memory[0x40:0x60] + returndata.length] = returndata[0x00:0x00 + returndata.length] // @15DA revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + returndata.length]); // } // Block terminates label_15DB: // Incoming jump from 0x15CE, if stack[-3] // Incoming jump from 0x15CE, if stack[-3] // Inputs[2] // { // @15DE stack[-4] // @15DF memory[stack[-4]:stack[-4] + 0x20] // } 15DB 5B JUMPDEST 15DC 60 PUSH1 0x01 15DE 84 DUP5 15DF 51 MLOAD 15E0 11 GT 15E1 80 DUP1 15E2 15 ISZERO 15E3 61 PUSH2 0x1618 15E6 57 *JUMPI // Stack delta = +1 // Outputs[1] { @15E0 stack[0] = memory[stack[-4]:stack[-4] + 0x20] > 0x01 } // Block ends with conditional jump to 0x1618, if !(memory[stack[-4]:stack[-4] + 0x20] > 0x01) label_15E7: // Incoming jump from 0x15E6, if not !(memory[stack[-4]:stack[-4] + 0x20] > 0x01) // Inputs[2] // { // @15E8 stack[-5] // @15EC memory[stack[-5]:stack[-5] + 0x20] // } 15E7 50 POP 15E8 83 DUP4 15E9 60 PUSH1 0x01 15EB 81 DUP2 15EC 51 MLOAD 15ED 81 DUP2 15EE 10 LT 15EF 61 PUSH2 0x1608 15F2 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @15E8 stack[-1] = stack[-5] // @15E9 stack[0] = 0x01 // } // Block ends with conditional jump to 0x1608, if 0x01 < memory[stack[-5]:stack[-5] + 0x20] label_15F3: // Incoming jump from 0x15F2, if not 0x01 < memory[stack[-5]:stack[-5] + 0x20] // Inputs[1] { @1607 memory[0x00:0x24] } 15F3 63 PUSH4 0x4e487b71 15F8 60 PUSH1 0xe0 15FA 1B SHL 15FB 60 PUSH1 0x00 15FD 52 MSTORE 15FE 60 PUSH1 0x32 1600 60 PUSH1 0x04 1602 52 MSTORE 1603 60 PUSH1 0x24 1605 60 PUSH1 0x00 1607 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @15FD memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @1602 memory[0x04:0x24] = 0x32 // @1607 revert(memory[0x00:0x24]); // } // Block terminates label_1608: // Incoming jump from 0x15F2, if 0x01 < memory[stack[-5]:stack[-5] + 0x20] // Inputs[4] // { // @160B stack[-1] // @160F stack[-2] // @1610 memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @1614 memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // } 1608 5B JUMPDEST 1609 60 PUSH1 0x20 160B 02 MUL 160C 60 PUSH1 0x20 160E 01 ADD 160F 01 ADD 1610 51 MLOAD 1611 60 PUSH1 0x20 1613 01 ADD 1614 51 MLOAD 1615 60 PUSH1 0x02 1617 14 EQ // Stack delta = -1 // Outputs[1] { @1617 stack[-2] = 0x02 == memory[0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x20 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] } // Block continues label_1618: // Incoming jump from 0x1617 // Incoming jump from 0x15E6, if !(memory[stack[-4]:stack[-4] + 0x20] > 0x01) // Inputs[1] { @1619 stack[-1] } 1618 5B JUMPDEST 1619 15 ISZERO 161A 61 PUSH2 0x1669 161D 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1669, if !stack[-1] label_161E: // Incoming jump from 0x161D, if not !stack[-1] // Inputs[3] // { // @1621 stack[-1] // @1622 stack[-4] // @1626 memory[stack[-4]:stack[-4] + 0x20] // } 161E 61 PUSH2 0x1653 1621 81 DUP2 1622 85 DUP6 1623 60 PUSH1 0x01 1625 81 DUP2 1626 51 MLOAD 1627 81 DUP2 1628 10 LT 1629 61 PUSH2 0x1642 162C 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @161E stack[0] = 0x1653 // @1621 stack[1] = stack[-1] // @1622 stack[2] = stack[-4] // @1623 stack[3] = 0x01 // } // Block ends with conditional call to 0x1642, returns to 0x1653, if 0x01 < memory[stack[-4]:stack[-4] + 0x20] label_162D: // Incoming jump from 0x162C, if not 0x01 < memory[stack[-4]:stack[-4] + 0x20] // Inputs[1] { @1641 memory[0x00:0x24] } 162D 63 PUSH4 0x4e487b71 1632 60 PUSH1 0xe0 1634 1B SHL 1635 60 PUSH1 0x00 1637 52 MSTORE 1638 60 PUSH1 0x32 163A 60 PUSH1 0x04 163C 52 MSTORE 163D 60 PUSH1 0x24 163F 60 PUSH1 0x00 1641 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @1637 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @163C memory[0x04:0x24] = 0x32 // @1641 revert(memory[0x00:0x24]); // } // Block terminates label_1642: // Incoming call from 0x162C, returns to 0x1653, if 0x01 < memory[stack[-4]:stack[-4] + 0x20] // Inputs[4] // { // @1645 stack[-1] // @1649 stack[-2] // @164A memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] // @164E memory[0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] // } 1642 5B JUMPDEST 1643 60 PUSH1 0x20 1645 02 MUL 1646 60 PUSH1 0x20 1648 01 ADD 1649 01 ADD 164A 51 MLOAD 164B 60 PUSH1 0x00 164D 01 ADD 164E 51 MLOAD 164F 61 PUSH2 0x294e 1652 56 *JUMP // Stack delta = -1 // Outputs[1] { @164E stack[-2] = memory[0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20]:0x00 + memory[0x20 + 0x20 * stack[-1] + stack[-2]:0x20 + 0x20 * stack[-1] + stack[-2] + 0x20] + 0x20] } // Block ends with unconditional jump to 0x294e label_1653: // Incoming return from call to 0x1642 at 0x162C // Inputs[2] // { // @1654 stack[-1] // @1659 memory[stack[-1]:stack[-1] + 0x20] // } 1653 5B JUMPDEST 1654 80 DUP1 1655 60 PUSH1 0x20 1657 01 ADD 1658 90 SWAP1 1659 51 MLOAD 165A 81 DUP2 165B 01 ADD 165C 90 SWAP1 165D 61 PUSH2 0x1666 1660 91 SWAP2 1661 90 SWAP1 1662 61 PUSH2 0x47e3 1665 56 *JUMP // Stack delta = +2 // Outputs[3] // { // @1660 stack[-1] = 0x1666 // @1661 stack[1] = 0x20 + stack[-1] // @1661 stack[0] = 0x20 + stack[-1] + memory[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x47e3, returns to 0x1666 label_1666: // Incoming return from call to 0x47E3 at 0x1665 // Inputs[2] // { // @1667 stack[-1] // @1667 stack[-9] // } 1666 5B JUMPDEST 1667 97 SWAP8 1668 50 POP // Stack delta = -1 // Outputs[1] { @1667 stack[-9] = stack[-1] } // Block continues label_1669: // Incoming jump from 0x161D, if !stack[-1] // Incoming jump from 0x1668 // Inputs[1] { @166A stack[-8] } 1669 5B JUMPDEST 166A 87 DUP8 166B 61 PUSH2 0x16d5 166E 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x16d5, if stack[-8] label_166F: // Incoming jump from 0x166E, if not stack[-8] // Inputs[1] { @1671 memory[0x40:0x60] } 166F 60 PUSH1 0x40 1671 51 MLOAD 1672 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 1693 81 DUP2 1694 52 MSTORE 1695 60 PUSH1 0x20 1697 60 PUSH1 0x04 1699 82 DUP3 169A 01 ADD 169B 52 MSTORE 169C 60 PUSH1 0x13 169E 60 PUSH1 0x24 16A0 82 DUP3 16A1 01 ADD 16A2 52 MSTORE 16A3 7F PUSH32 0x496e76616c69642073776170206f757470757400000000000000000000000000 16C4 60 PUSH1 0x44 16C6 82 DUP3 16C7 01 ADD 16C8 52 MSTORE 16C9 60 PUSH1 0x64 16CB 01 ADD // Stack delta = +1 // Outputs[5] // { // @1694 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000 // @169B memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @16A2 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x13 // @16C8 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x496e76616c69642073776170206f757470757400000000000000000000000000 // @16CB stack[0] = 0x64 + memory[0x40:0x60] // } // Block continues label_16CC: // Incoming jump from 0x17D9 // Incoming jump from 0x16CB // Inputs[3] // { // @16CF memory[0x40:0x60] // @16D1 stack[-1] // @16D4 memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // } 16CC 5B JUMPDEST 16CD 60 PUSH1 0x40 16CF 51 MLOAD 16D0 80 DUP1 16D1 91 SWAP2 16D2 03 SUB 16D3 90 SWAP1 16D4 FD *REVERT // Stack delta = -1 // Outputs[1] { @16D4 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]); } // Block terminates label_16D5: // Incoming jump from 0x166E, if stack[-8] // Inputs[5] // { // @16D6 stack[-6] // @16D7 memory[stack[-6]:stack[-6] + 0x20] // @16D8 memory[memory[stack[-6]:stack[-6] + 0x20]:memory[stack[-6]:stack[-6] + 0x20] + 0x20] // @16D9 stack[-8] // @16DA stack[-10] // } 16D5 5B JUMPDEST 16D6 85 DUP6 16D7 51 MLOAD 16D8 51 MLOAD 16D9 97 SWAP8 16DA 99 SWAP10 16DB 50 POP 16DC 89 DUP10 16DD 97 SWAP8 16DE 60 PUSH1 0x02 16E0 14 EQ 16E1 15 ISZERO 16E2 61 PUSH2 0x174b 16E5 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @16DA stack[-10] = stack[-8] // @16DD stack[-8] = stack[-8] // } // Block ends with conditional jump to 0x174b, if !(0x02 == memory[memory[stack[-6]:stack[-6] + 0x20]:memory[stack[-6]:stack[-6] + 0x20] + 0x20]) label_16E6: // Incoming jump from 0x16E5, if not !(0x02 == memory[memory[stack[-6]:stack[-6] + 0x20]:memory[stack[-6]:stack[-6] + 0x20] + 0x20]) // Inputs[9] // { // @16E6 stack[-6] // @16E7 memory[stack[-6]:stack[-6] + 0x20] // @16EB memory[0x20 + memory[stack[-6]:stack[-6] + 0x20]:0x20 + memory[stack[-6]:stack[-6] + 0x20] + 0x20] // @16EE memory[0x40:0x60] // @1708 stack[-10] // @1711 msg.gas // @1712 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] // @1712 address(memory[0x20 + memory[stack[-6]:stack[-6] + 0x20]:0x20 + memory[stack[-6]:stack[-6] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).call.gas(msg.gas).value(stack[-10])(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00]) // @1717 returndata.length // } 16E6 85 DUP6 16E7 51 MLOAD 16E8 60 PUSH1 0x20 16EA 01 ADD 16EB 51 MLOAD 16EC 60 PUSH1 0x40 16EE 51 MLOAD 16EF 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1704 90 SWAP1 1705 91 SWAP2 1706 16 AND 1707 90 SWAP1 1708 8B DUP12 1709 90 SWAP1 170A 60 PUSH1 0x00 170C 81 DUP2 170D 81 DUP2 170E 81 DUP2 170F 85 DUP6 1710 87 DUP8 1711 5A GAS 1712 F1 CALL 1713 92 SWAP3 1714 50 POP 1715 50 POP 1716 50 POP 1717 3D RETURNDATASIZE 1718 80 DUP1 1719 60 PUSH1 0x00 171B 81 DUP2 171C 14 EQ 171D 61 PUSH2 0x1742 1720 57 *JUMPI // Stack delta = +3 // Outputs[4] // { // @1712 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] = address(memory[0x20 + memory[stack[-6]:stack[-6] + 0x20]:0x20 + memory[stack[-6]:stack[-6] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).call.gas(msg.gas).value(stack[-10])(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00]) // @1713 stack[0] = address(memory[0x20 + memory[stack[-6]:stack[-6] + 0x20]:0x20 + memory[stack[-6]:stack[-6] + 0x20] + 0x20] & 0xffffffffffffffffffffffffffffffffffffffff).call.gas(msg.gas).value(stack[-10])(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00]) // @1717 stack[1] = returndata.length // @1718 stack[2] = returndata.length // } // Block ends with conditional jump to 0x1742, if returndata.length == 0x00 label_1721: // Incoming jump from 0x1720, if not returndata.length == 0x00 // Inputs[6] // { // @1723 memory[0x40:0x60] // @1724 stack[-2] // @172B returndata.length // @1733 returndata.length // @1736 returndata.length // @173D returndata[0x00:0x00 + returndata.length] // } 1721 60 PUSH1 0x40 1723 51 MLOAD 1724 91 SWAP2 1725 50 POP 1726 60 PUSH1 0x1f 1728 19 NOT 1729 60 PUSH1 0x3f 172B 3D RETURNDATASIZE 172C 01 ADD 172D 16 AND 172E 82 DUP3 172F 01 ADD 1730 60 PUSH1 0x40 1732 52 MSTORE 1733 3D RETURNDATASIZE 1734 82 DUP3 1735 52 MSTORE 1736 3D RETURNDATASIZE 1737 60 PUSH1 0x00 1739 60 PUSH1 0x20 173B 84 DUP5 173C 01 ADD 173D 3E RETURNDATACOPY 173E 61 PUSH2 0x1747 1741 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @1724 stack[-2] = memory[0x40:0x60] // @1732 memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x3f & ~0x1f) // @1735 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = returndata.length // @173D memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + returndata.length] = returndata[0x00:0x00 + returndata.length] // } // Block ends with unconditional jump to 0x1747 label_1742: // Incoming jump from 0x1720, if returndata.length == 0x00 // Inputs[1] { @1745 stack[-2] } 1742 5B JUMPDEST 1743 60 PUSH1 0x60 1745 91 SWAP2 1746 50 POP 1747 5B JUMPDEST 1748 50 POP 1749 50 POP 174A 50 POP // Stack delta = -3 // Block continues label_174B: // Incoming jump from 0x174A // Incoming jump from 0x16E5, if !(0x02 == memory[memory[stack[-6]:stack[-6] + 0x20]:memory[stack[-6]:stack[-6] + 0x20] + 0x20]) // Incoming jump from 0x174A // Inputs[1] { @1752 stack[-7] } 174B 5B JUMPDEST 174C 50 POP 174D 50 POP 174E 50 POP 174F 50 POP 1750 50 POP 1751 50 POP 1752 80 DUP1 1753 80 DUP1 1754 61 PUSH2 0x175c 1757 90 SWAP1 1758 61 PUSH2 0x5598 175B 56 *JUMP // Stack delta = -3 // Outputs[3] // { // @1752 stack[-6] = stack[-7] // @1757 stack[-5] = 0x175c // @1757 stack[-4] = stack[-7] // } // Block ends with call to 0x5598, returns to 0x175C label_175C: // Incoming return from call to 0x5598 at 0x175B // Inputs[2] // { // @175D stack[-1] // @175D stack[-3] // } 175C 5B JUMPDEST 175D 91 SWAP2 175E 50 POP 175F 50 POP 1760 61 PUSH2 0x1383 1763 56 *JUMP // Stack delta = -2 // Outputs[1] { @175D stack[-3] = stack[-1] } // Block ends with unconditional jump to 0x1383 label_1764: // Incoming jump from 0x138C, if !(0x00 < memory[stack[-3]:stack[-3] + 0x20]) // Incoming jump from 0x138C, if !(stack[-1] < memory[stack[-5]:stack[-5] + 0x20]) // Inputs[1] { @1766 stack[-3] } 1764 5B JUMPDEST 1765 50 POP 1766 81 DUP2 1767 15 ISZERO 1768 80 DUP1 1769 15 ISZERO 176A 90 SWAP1 176B 61 PUSH2 0x1773 176E 57 *JUMPI // Stack delta = +0 // Outputs[1] { @176A stack[-1] = !!stack[-3] } // Block ends with conditional jump to 0x1773, if !stack[-3] label_176F: // Incoming jump from 0x176E, if not !stack[-3] // Inputs[2] // { // @1770 stack[-3] // @1771 stack[-4] // } 176F 50 POP 1770 81 DUP2 1771 83 DUP4 1772 10 LT 1773 5B JUMPDEST 1774 15 ISZERO 1775 61 PUSH2 0x17da 1778 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x17da, if !(stack[-4] < stack[-3]) label_1779: // Incoming jump from 0x1778, if not !(stack[-4] < stack[-3]) // Incoming jump from 0x1778, if not !stack[-1] // Inputs[1] { @177B memory[0x40:0x60] } 1779 60 PUSH1 0x40 177B 51 MLOAD 177C 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 179D 81 DUP2 179E 52 MSTORE 179F 60 PUSH1 0x20 17A1 60 PUSH1 0x04 17A3 82 DUP3 17A4 01 ADD 17A5 52 MSTORE 17A6 60 PUSH1 0x1b 17A8 60 PUSH1 0x24 17AA 82 DUP3 17AB 01 ADD 17AC 52 MSTORE 17AD 7F PUSH32 0x496e73756666696369656e74206f757470757420616d6f756e742e0000000000 17CE 60 PUSH1 0x44 17D0 82 DUP3 17D1 01 ADD 17D2 52 MSTORE 17D3 60 PUSH1 0x64 17D5 01 ADD 17D6 61 PUSH2 0x16cc 17D9 56 *JUMP // Stack delta = +1 // Outputs[5] // { // @179E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000 // @17A5 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @17AC memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @17D2 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x496e73756666696369656e74206f757470757420616d6f756e742e0000000000 // @17D5 stack[0] = 0x64 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x16cc label_17DA: // Incoming jump from 0x558F, if !(stack[-1] > stack[-4]) // Incoming jump from 0x1778, if !(stack[-4] < stack[-3]) // Incoming jump from 0x1778, if !stack[-1] // Inputs[1] { @17DF stack[-5] } 17DA 5B JUMPDEST 17DB 50 POP 17DC 50 POP 17DD 50 POP 17DE 50 POP 17DF 56 *JUMP // Stack delta = -5 // Block ends with unconditional jump to stack[-5] 17E0 5B JUMPDEST 17E1 60 PUSH1 0x20 17E3 82 DUP3 17E4 01 ADD 17E5 51 MLOAD 17E6 82 DUP3 17E7 51 MLOAD 17E8 60 PUSH1 0x00 17EA 91 SWAP2 17EB 82 DUP3 17EC 91 SWAP2 17ED 61 PUSH2 0x18d7 17F0 57 *JUMPI 17F1 60 PUSH1 0x00 17F3 85 DUP6 17F4 60 PUSH1 0x60 17F6 01 ADD 17F7 51 MLOAD 17F8 80 DUP1 17F9 60 PUSH1 0x20 17FB 01 ADD 17FC 90 SWAP1 17FD 51 MLOAD 17FE 81 DUP2 17FF 01 ADD 1800 90 SWAP1 1801 61 PUSH2 0x180a 1804 91 SWAP2 1805 90 SWAP1 1806 61 PUSH2 0x46e1 1809 56 *JUMP 180A 5B JUMPDEST 180B 90 SWAP1 180C 50 POP 180D 60 PUSH1 0x00 180F 80 DUP1 1810 82 DUP3 1811 60 PUSH1 0x00 1813 01 ADD 1814 51 MLOAD 1815 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 182A 16 AND 182B 83 DUP4 182C 60 PUSH1 0x20 182E 01 ADD 182F 51 MLOAD 1830 60 PUSH1 0x40 1832 51 MLOAD 1833 61 PUSH2 0x183c 1836 91 SWAP2 1837 90 SWAP1 1838 61 PUSH2 0x4b1f 183B 56 *JUMP 183C 5B JUMPDEST 183D 60 PUSH1 0x00 183F 60 PUSH1 0x40 1841 51 MLOAD 1842 80 DUP1 1843 83 DUP4 1844 03 SUB 1845 81 DUP2 1846 60 PUSH1 0x00 1848 86 DUP7 1849 5A GAS 184A F1 CALL 184B 91 SWAP2 184C 50 POP 184D 50 POP 184E 3D RETURNDATASIZE 184F 80 DUP1 1850 60 PUSH1 0x00 1852 81 DUP2 1853 14 EQ 1854 61 PUSH2 0x1879 1857 57 *JUMPI 1858 60 PUSH1 0x40 185A 51 MLOAD 185B 91 SWAP2 185C 50 POP 185D 60 PUSH1 0x1f 185F 19 NOT 1860 60 PUSH1 0x3f 1862 3D RETURNDATASIZE 1863 01 ADD 1864 16 AND 1865 82 DUP3 1866 01 ADD 1867 60 PUSH1 0x40 1869 52 MSTORE 186A 3D RETURNDATASIZE 186B 82 DUP3 186C 52 MSTORE 186D 3D RETURNDATASIZE 186E 60 PUSH1 0x00 1870 60 PUSH1 0x20 1872 84 DUP5 1873 01 ADD 1874 3E RETURNDATACOPY 1875 61 PUSH2 0x187e 1878 56 *JUMP 1879 5B JUMPDEST 187A 60 PUSH1 0x60 187C 91 SWAP2 187D 50 POP 187E 5B JUMPDEST 187F 50 POP 1880 91 SWAP2 1881 50 POP 1882 91 SWAP2 1883 50 POP 1884 81 DUP2 1885 61 PUSH2 0x1895 1888 57 *JUMPI 1889 60 PUSH1 0x40 188B 51 MLOAD 188C 3D RETURNDATASIZE 188D 80 DUP1 188E 60 PUSH1 0x00 1890 83 DUP4 1891 3E RETURNDATACOPY 1892 80 DUP1 1893 82 DUP3 1894 FD *REVERT 1895 5B JUMPDEST 1896 61 PUSH2 0x18be 1899 81 DUP2 189A 84 DUP5 189B 60 PUSH1 0x40 189D 01 ADD 189E 51 MLOAD 189F 60 PUSH1 0x00 18A1 81 DUP2 18A2 51 MLOAD 18A3 81 DUP2 18A4 10 LT 18A5 61 PUSH2 0x1642 18A8 57 *JUMPI 18A9 63 PUSH4 0x4e487b71 18AE 60 PUSH1 0xe0 18B0 1B SHL 18B1 60 PUSH1 0x00 18B3 52 MSTORE 18B4 60 PUSH1 0x32 18B6 60 PUSH1 0x04 18B8 52 MSTORE 18B9 60 PUSH1 0x24 18BB 60 PUSH1 0x00 18BD FD *REVERT 18BE 5B JUMPDEST 18BF 80 DUP1 18C0 60 PUSH1 0x20 18C2 01 ADD 18C3 90 SWAP1 18C4 51 MLOAD 18C5 81 DUP2 18C6 01 ADD 18C7 90 SWAP1 18C8 61 PUSH2 0x18d1 18CB 91 SWAP2 18CC 90 SWAP1 18CD 61 PUSH2 0x47e3 18D0 56 *JUMP 18D1 5B JUMPDEST 18D2 93 SWAP4 18D3 50 POP 18D4 50 POP 18D5 50 POP 18D6 50 POP 18D7 5B JUMPDEST 18D8 60 PUSH1 0x01 18DA 85 DUP6 18DB 60 PUSH1 0x40 18DD 01 ADD 18DE 51 MLOAD 18DF 60 PUSH1 0x0a 18E1 61 PUSH2 0x18ea 18E4 91 SWAP2 18E5 90 SWAP1 18E6 61 PUSH2 0x5413 18E9 56 *JUMP 18EA 5B JUMPDEST 18EB 61 PUSH2 0x18f4 18EE 83 DUP4 18EF 87 DUP8 18F0 61 PUSH2 0x54ff 18F3 56 *JUMP 18F4 5B JUMPDEST 18F5 61 PUSH2 0x18fe 18F8 91 SWAP2 18F9 90 SWAP1 18FA 61 PUSH2 0x53ad 18FD 56 *JUMP 18FE 5B JUMPDEST 18FF 92 SWAP3 1900 50 POP 1901 92 SWAP3 1902 50 POP 1903 50 POP label_1904: // Incoming jump from 0x31C0, if !(stack[-3] + stack[-1] * 0x20 + 0x20 > stack[-4]) // Incoming jump from 0x3361, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[5] // { // @1905 stack[-4] // @1905 stack[-1] // @1907 stack[-2] // @1907 stack[-5] // @1908 stack[-3] // } 1904 5B JUMPDEST 1905 92 SWAP3 1906 50 POP 1907 92 SWAP3 1908 90 SWAP1 1909 50 POP 190A 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @1905 stack[-4] = stack[-1] // @1907 stack[-5] = stack[-2] // } // Block ends with unconditional jump to stack[-5] 190B 5B JUMPDEST 190C 60 PUSH1 0x00 190E 80 DUP1 190F 60 PUSH1 0x00 1911 80 DUP1 1912 60 PUSH1 0x60 1914 60 PUSH1 0x00 1916 87 DUP8 1917 60 PUSH1 0x20 1919 01 ADD 191A 51 MLOAD 191B 90 SWAP1 191C 50 POP 191D 60 PUSH1 0x00 191F 5B JUMPDEST 1920 88 DUP9 1921 51 MLOAD 1922 51 MLOAD 1923 81 DUP2 1924 10 LT 1925 15 ISZERO 1926 61 PUSH2 0x1a44 1929 57 *JUMPI 192A 60 PUSH1 0x00 192C 89 DUP10 192D 60 PUSH1 0x00 192F 01 ADD 1930 51 MLOAD 1931 82 DUP3 1932 81 DUP2 1933 51 MLOAD 1934 81 DUP2 1935 10 LT 1936 61 PUSH2 0x194f 1939 57 *JUMPI 193A 63 PUSH4 0x4e487b71 193F 60 PUSH1 0xe0 1941 1B SHL 1942 60 PUSH1 0x00 1944 52 MSTORE 1945 60 PUSH1 0x32 1947 60 PUSH1 0x04 1949 52 MSTORE 194A 60 PUSH1 0x24 194C 60 PUSH1 0x00 194E FD *REVERT 194F 5B JUMPDEST 1950 60 PUSH1 0x20 1952 02 MUL 1953 60 PUSH1 0x20 1955 01 ADD 1956 01 ADD 1957 51 MLOAD 1958 90 SWAP1 1959 50 POP 195A 80 DUP1 195B 60 PUSH1 0x00 195D 01 ADD 195E 51 MLOAD 195F 60 PUSH1 0x00 1961 01 ADD 1962 51 MLOAD 1963 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1978 16 AND 1979 81 DUP2 197A 60 PUSH1 0x00 197C 01 ADD 197D 51 MLOAD 197E 60 PUSH1 0x20 1980 01 ADD 1981 51 MLOAD 1982 60 PUSH1 0x40 1984 51 MLOAD 1985 61 PUSH2 0x198e 1988 91 SWAP2 1989 90 SWAP1 198A 61 PUSH2 0x4b1f 198D 56 *JUMP 198E 5B JUMPDEST 198F 60 PUSH1 0x00 1991 60 PUSH1 0x40 1993 51 MLOAD 1994 80 DUP1 1995 83 DUP4 1996 03 SUB 1997 81 DUP2 1998 60 PUSH1 0x00 199A 86 DUP7 199B 5A GAS 199C F1 CALL 199D 91 SWAP2 199E 50 POP 199F 50 POP 19A0 3D RETURNDATASIZE 19A1 80 DUP1 19A2 60 PUSH1 0x00 19A4 81 DUP2 19A5 14 EQ 19A6 61 PUSH2 0x19cb 19A9 57 *JUMPI 19AA 60 PUSH1 0x40 19AC 51 MLOAD 19AD 91 SWAP2 19AE 50 POP 19AF 60 PUSH1 0x1f 19B1 19 NOT 19B2 60 PUSH1 0x3f 19B4 3D RETURNDATASIZE 19B5 01 ADD 19B6 16 AND 19B7 82 DUP3 19B8 01 ADD 19B9 60 PUSH1 0x40 19BB 52 MSTORE 19BC 3D RETURNDATASIZE 19BD 82 DUP3 19BE 52 MSTORE 19BF 3D RETURNDATASIZE 19C0 60 PUSH1 0x00 19C2 60 PUSH1 0x20 19C4 84 DUP5 19C5 01 ADD 19C6 3E RETURNDATACOPY 19C7 61 PUSH2 0x19d0 19CA 56 *JUMP 19CB 5B JUMPDEST 19CC 60 PUSH1 0x60 19CE 91 SWAP2 19CF 50 POP 19D0 5B JUMPDEST 19D1 50 POP 19D2 90 SWAP1 19D3 95 SWAP6 19D4 50 POP 19D5 93 SWAP4 19D6 50 POP 19D7 84 DUP5 19D8 61 PUSH2 0x19e8 19DB 57 *JUMPI 19DC 60 PUSH1 0x40 19DE 51 MLOAD 19DF 3D RETURNDATASIZE 19E0 80 DUP1 19E1 60 PUSH1 0x00 19E3 83 DUP4 19E4 3E RETURNDATACOPY 19E5 80 DUP1 19E6 82 DUP3 19E7 FD *REVERT 19E8 5B JUMPDEST 19E9 61 PUSH2 0x1a31 19EC 61 PUSH2 0x1a18 19EF 85 DUP6 19F0 83 DUP4 19F1 60 PUSH1 0x00 19F3 01 ADD 19F4 51 MLOAD 19F5 60 PUSH1 0x40 19F7 01 ADD 19F8 51 MLOAD 19F9 60 PUSH1 0x00 19FB 81 DUP2 19FC 51 MLOAD 19FD 81 DUP2 19FE 10 LT 19FF 61 PUSH2 0x1642 1A02 57 *JUMPI 1A03 63 PUSH4 0x4e487b71 1A08 60 PUSH1 0xe0 1A0A 1B SHL 1A0B 60 PUSH1 0x00 1A0D 52 MSTORE 1A0E 60 PUSH1 0x32 1A10 60 PUSH1 0x04 1A12 52 MSTORE 1A13 60 PUSH1 0x24 1A15 60 PUSH1 0x00 1A17 FD *REVERT 1A18 5B JUMPDEST 1A19 84 DUP5 1A1A 60 PUSH1 0x20 1A1C 01 ADD 1A1D 51 MLOAD 1A1E 83 DUP4 1A1F 60 PUSH1 0x20 1A21 01 ADD 1A22 51 MLOAD 1A23 60 PUSH1 0x20 1A25 92 SWAP3 1A26 83 DUP4 1A27 01 ADD 1A28 51 MLOAD 1A29 92 SWAP3 1A2A 02 MUL 1A2B 01 ADD 1A2C 60 PUSH1 0x04 1A2E 01 ADD 1A2F 52 MSTORE 1A30 56 *JUMP 1A31 5B JUMPDEST 1A32 50 POP 1A33 80 DUP1 1A34 61 PUSH2 0x1a3c 1A37 81 DUP2 1A38 61 PUSH2 0x5598 1A3B 56 *JUMP 1A3C 5B JUMPDEST 1A3D 91 SWAP2 1A3E 50 POP 1A3F 50 POP 1A40 61 PUSH2 0x191f 1A43 56 *JUMP 1A44 5B JUMPDEST 1A45 50 POP 1A46 60 PUSH1 0x00 1A48 88 DUP9 1A49 60 PUSH1 0x20 1A4B 01 ADD 1A4C 51 MLOAD 1A4D 60 PUSH1 0x40 1A4F 01 ADD 1A50 51 MLOAD 1A51 60 PUSH1 0x00 1A53 81 DUP2 1A54 51 MLOAD 1A55 81 DUP2 1A56 10 LT 1A57 61 PUSH2 0x1a70 1A5A 57 *JUMPI 1A5B 63 PUSH4 0x4e487b71 1A60 60 PUSH1 0xe0 1A62 1B SHL 1A63 60 PUSH1 0x00 1A65 52 MSTORE 1A66 60 PUSH1 0x32 1A68 60 PUSH1 0x04 1A6A 52 MSTORE 1A6B 60 PUSH1 0x24 1A6D 60 PUSH1 0x00 1A6F FD *REVERT 1A70 5B JUMPDEST 1A71 60 PUSH1 0x20 1A73 02 MUL 1A74 60 PUSH1 0x20 1A76 01 ADD 1A77 01 ADD 1A78 51 MLOAD 1A79 60 PUSH1 0x20 1A7B 01 ADD 1A7C 51 MLOAD 1A7D 60 PUSH1 0x01 1A7F 14 EQ 1A80 15 ISZERO 1A81 61 PUSH2 0x1ae1 1A84 57 *JUMPI 1A85 61 PUSH2 0x1ad3 1A88 88 DUP9 1A89 60 PUSH1 0x40 1A8B 51 MLOAD 1A8C 60 PUSH1 0x20 1A8E 01 ADD 1A8F 61 PUSH2 0x1a9a 1A92 91 SWAP2 1A93 81 DUP2 1A94 52 MSTORE 1A95 60 PUSH1 0x20 1A97 01 ADD 1A98 90 SWAP1 1A99 56 *JUMP 1A9A 5B JUMPDEST 1A9B 60 PUSH1 0x40 1A9D 51 MLOAD 1A9E 60 PUSH1 0x20 1AA0 81 DUP2 1AA1 83 DUP4 1AA2 03 SUB 1AA3 03 SUB 1AA4 81 DUP2 1AA5 52 MSTORE 1AA6 90 SWAP1 1AA7 60 PUSH1 0x40 1AA9 52 MSTORE 1AAA 83 DUP4 1AAB 60 PUSH1 0x20 1AAD 01 ADD 1AAE 51 MLOAD 1AAF 84 DUP5 1AB0 60 PUSH1 0x40 1AB2 01 ADD 1AB3 51 MLOAD 1AB4 60 PUSH1 0x00 1AB6 81 DUP2 1AB7 51 MLOAD 1AB8 81 DUP2 1AB9 10 LT 1ABA 61 PUSH2 0x1536 1ABD 57 *JUMPI 1ABE 63 PUSH4 0x4e487b71 1AC3 60 PUSH1 0xe0 1AC5 1B SHL 1AC6 60 PUSH1 0x00 1AC8 52 MSTORE 1AC9 60 PUSH1 0x32 1ACB 60 PUSH1 0x04 1ACD 52 MSTORE 1ACE 60 PUSH1 0x24 1AD0 60 PUSH1 0x00 1AD2 FD *REVERT 1AD3 5B JUMPDEST 1AD4 61 PUSH2 0x1ade 1AD7 60 PUSH1 0x01 1AD9 82 DUP3 1ADA 61 PUSH2 0x5395 1ADD 56 *JUMP 1ADE 5B JUMPDEST 1ADF 90 SWAP1 1AE0 50 POP 1AE1 5B JUMPDEST 1AE2 81 DUP2 1AE3 60 PUSH1 0x00 1AE5 01 ADD 1AE6 51 MLOAD 1AE7 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1AFC 16 AND 1AFD 82 DUP3 1AFE 60 PUSH1 0x20 1B00 01 ADD 1B01 51 MLOAD 1B02 60 PUSH1 0x40 1B04 51 MLOAD 1B05 61 PUSH2 0x1b0e 1B08 91 SWAP2 1B09 90 SWAP1 1B0A 61 PUSH2 0x4b1f 1B0D 56 *JUMP 1B0E 5B JUMPDEST 1B0F 60 PUSH1 0x00 1B11 60 PUSH1 0x40 1B13 51 MLOAD 1B14 80 DUP1 1B15 83 DUP4 1B16 03 SUB 1B17 81 DUP2 1B18 60 PUSH1 0x00 1B1A 86 DUP7 1B1B 5A GAS 1B1C F1 CALL 1B1D 91 SWAP2 1B1E 50 POP 1B1F 50 POP 1B20 3D RETURNDATASIZE 1B21 80 DUP1 1B22 60 PUSH1 0x00 1B24 81 DUP2 1B25 14 EQ 1B26 61 PUSH2 0x1b4b 1B29 57 *JUMPI 1B2A 60 PUSH1 0x40 1B2C 51 MLOAD 1B2D 91 SWAP2 1B2E 50 POP 1B2F 60 PUSH1 0x1f 1B31 19 NOT 1B32 60 PUSH1 0x3f 1B34 3D RETURNDATASIZE 1B35 01 ADD 1B36 16 AND 1B37 82 DUP3 1B38 01 ADD 1B39 60 PUSH1 0x40 1B3B 52 MSTORE 1B3C 3D RETURNDATASIZE 1B3D 82 DUP3 1B3E 52 MSTORE 1B3F 3D RETURNDATASIZE 1B40 60 PUSH1 0x00 1B42 60 PUSH1 0x20 1B44 84 DUP5 1B45 01 ADD 1B46 3E RETURNDATACOPY 1B47 61 PUSH2 0x1b50 1B4A 56 *JUMP 1B4B 5B JUMPDEST 1B4C 60 PUSH1 0x60 1B4E 91 SWAP2 1B4F 50 POP 1B50 5B JUMPDEST 1B51 50 POP 1B52 90 SWAP1 1B53 94 SWAP5 1B54 50 POP 1B55 92 SWAP3 1B56 50 POP 1B57 83 DUP4 1B58 61 PUSH2 0x1b68 1B5B 57 *JUMPI 1B5C 60 PUSH1 0x40 1B5E 51 MLOAD 1B5F 3D RETURNDATASIZE 1B60 80 DUP1 1B61 60 PUSH1 0x00 1B63 83 DUP4 1B64 3E RETURNDATACOPY 1B65 80 DUP1 1B66 82 DUP3 1B67 FD *REVERT 1B68 5B JUMPDEST 1B69 60 PUSH1 0x00 1B6B 82 DUP3 1B6C 60 PUSH1 0x40 1B6E 01 ADD 1B6F 51 MLOAD 1B70 82 DUP3 1B71 81 DUP2 1B72 51 MLOAD 1B73 81 DUP2 1B74 10 LT 1B75 61 PUSH2 0x1b8e 1B78 57 *JUMPI 1B79 63 PUSH4 0x4e487b71 1B7E 60 PUSH1 0xe0 1B80 1B SHL 1B81 60 PUSH1 0x00 1B83 52 MSTORE 1B84 60 PUSH1 0x32 1B86 60 PUSH1 0x04 1B88 52 MSTORE 1B89 60 PUSH1 0x24 1B8B 60 PUSH1 0x00 1B8D FD *REVERT 1B8E 5B JUMPDEST 1B8F 60 PUSH1 0x20 1B91 02 MUL 1B92 60 PUSH1 0x20 1B94 01 ADD 1B95 01 ADD 1B96 51 MLOAD 1B97 90 SWAP1 1B98 50 POP 1B99 80 DUP1 1B9A 60 PUSH1 0x20 1B9C 01 ADD 1B9D 51 MLOAD 1B9E 60 PUSH1 0x02 1BA0 14 EQ 1BA1 15 ISZERO 1BA2 61 PUSH2 0x1bcd 1BA5 57 *JUMPI 1BA6 61 PUSH2 0x1bb3 1BA9 84 DUP5 1BAA 82 DUP3 1BAB 60 PUSH1 0x00 1BAD 01 ADD 1BAE 51 MLOAD 1BAF 61 PUSH2 0x294e 1BB2 56 *JUMP 1BB3 5B JUMPDEST 1BB4 80 DUP1 1BB5 60 PUSH1 0x20 1BB7 01 ADD 1BB8 90 SWAP1 1BB9 51 MLOAD 1BBA 81 DUP2 1BBB 01 ADD 1BBC 90 SWAP1 1BBD 61 PUSH2 0x1bc6 1BC0 91 SWAP2 1BC1 90 SWAP1 1BC2 61 PUSH2 0x47e3 1BC5 56 *JUMP 1BC6 5B JUMPDEST 1BC7 96 SWAP7 1BC8 50 POP 1BC9 61 PUSH2 0x1bfe 1BCC 56 *JUMP 1BCD 5B JUMPDEST 1BCE 80 DUP1 1BCF 60 PUSH1 0x20 1BD1 01 ADD 1BD2 51 MLOAD 1BD3 60 PUSH1 0x04 1BD5 14 EQ 1BD6 15 ISZERO 1BD7 61 PUSH2 0x1bfe 1BDA 57 *JUMPI 1BDB 61 PUSH2 0x1be8 1BDE 84 DUP5 1BDF 82 DUP3 1BE0 60 PUSH1 0x00 1BE2 01 ADD 1BE3 51 MLOAD 1BE4 61 PUSH2 0x294e 1BE7 56 *JUMP 1BE8 5B JUMPDEST 1BE9 80 DUP1 1BEA 60 PUSH1 0x20 1BEC 01 ADD 1BED 90 SWAP1 1BEE 51 MLOAD 1BEF 81 DUP2 1BF0 01 ADD 1BF1 90 SWAP1 1BF2 61 PUSH2 0x1bfb 1BF5 91 SWAP2 1BF6 90 SWAP1 1BF7 61 PUSH2 0x47e3 1BFA 56 *JUMP 1BFB 5B JUMPDEST 1BFC 95 SWAP6 1BFD 50 POP 1BFE 5B JUMPDEST 1BFF 60 PUSH1 0x01 1C01 97 SWAP8 1C02 50 POP 1C03 50 POP 1C04 50 POP 1C05 50 POP 1C06 50 POP 1C07 50 POP 1C08 92 SWAP3 1C09 50 POP 1C0A 92 SWAP3 1C0B 50 POP 1C0C 92 SWAP3 1C0D 56 *JUMP 1C0E 5B JUMPDEST 1C0F 60 PUSH1 0x00 1C11 80 DUP1 1C12 5B JUMPDEST 1C13 83 DUP4 1C14 51 MLOAD 1C15 51 MLOAD 1C16 81 DUP2 1C17 10 LT 1C18 15 ISZERO 1C19 61 PUSH2 0x1de6 1C1C 57 *JUMPI 1C1D 60 PUSH1 0x00 1C1F 84 DUP5 1C20 60 PUSH1 0x00 1C22 01 ADD 1C23 51 MLOAD 1C24 82 DUP3 1C25 81 DUP2 1C26 51 MLOAD 1C27 81 DUP2 1C28 10 LT 1C29 61 PUSH2 0x1c42 1C2C 57 *JUMPI 1C2D 63 PUSH4 0x4e487b71 1C32 60 PUSH1 0xe0 1C34 1B SHL 1C35 60 PUSH1 0x00 1C37 52 MSTORE 1C38 60 PUSH1 0x32 1C3A 60 PUSH1 0x04 1C3C 52 MSTORE 1C3D 60 PUSH1 0x24 1C3F 60 PUSH1 0x00 1C41 FD *REVERT 1C42 5B JUMPDEST 1C43 60 PUSH1 0x20 1C45 02 MUL 1C46 60 PUSH1 0x20 1C48 01 ADD 1C49 01 ADD 1C4A 51 MLOAD 1C4B 90 SWAP1 1C4C 50 POP 1C4D 60 PUSH1 0x00 1C4F 85 DUP6 1C50 60 PUSH1 0x20 1C52 01 ADD 1C53 51 MLOAD 1C54 83 DUP4 1C55 81 DUP2 1C56 51 MLOAD 1C57 81 DUP2 1C58 10 LT 1C59 61 PUSH2 0x1c72 1C5C 57 *JUMPI 1C5D 63 PUSH4 0x4e487b71 1C62 60 PUSH1 0xe0 1C64 1B SHL 1C65 60 PUSH1 0x00 1C67 52 MSTORE 1C68 60 PUSH1 0x32 1C6A 60 PUSH1 0x04 1C6C 52 MSTORE 1C6D 60 PUSH1 0x24 1C6F 60 PUSH1 0x00 1C71 FD *REVERT 1C72 5B JUMPDEST 1C73 60 PUSH1 0x20 1C75 02 MUL 1C76 60 PUSH1 0x20 1C78 01 ADD 1C79 01 ADD 1C7A 51 MLOAD 1C7B 90 SWAP1 1C7C 50 POP 1C7D 60 PUSH1 0x00 1C7F 80 DUP1 1C80 61 PUSH2 0x1c89 1C83 84 DUP5 1C84 88 DUP9 1C85 61 PUSH2 0x190b 1C88 56 *JUMP 1C89 5B JUMPDEST 1C8A 50 POP 1C8B 91 SWAP2 1C8C 50 POP 1C8D 91 SWAP2 1C8E 50 POP 1C8F 81 DUP2 1C90 61 PUSH2 0x1ca1 1C93 57 *JUMPI 1C94 60 PUSH1 0x00 1C96 95 SWAP6 1C97 50 POP 1C98 50 POP 1C99 50 POP 1C9A 50 POP 1C9B 50 POP 1C9C 50 POP 1C9D 61 PUSH2 0x1dec 1CA0 56 *JUMP 1CA1 5B JUMPDEST 1CA2 82 DUP3 1CA3 51 MLOAD 1CA4 60 PUSH1 0x00 1CA6 90 SWAP1 1CA7 15 ISZERO 1CA8 61 PUSH2 0x1cb6 1CAB 57 *JUMPI 1CAC 50 POP 1CAD 60 PUSH1 0x20 1CAF 83 DUP4 1CB0 01 ADD 1CB1 51 MLOAD 1CB2 61 PUSH2 0x1d0d 1CB5 56 *JUMP 1CB6 5B JUMPDEST 1CB7 83 DUP4 1CB8 60 PUSH1 0x40 1CBA 01 ADD 1CBB 51 MLOAD 1CBC 60 PUSH1 0x01 1CBE 14 EQ 1CBF 15 ISZERO 1CC0 61 PUSH2 0x1cca 1CC3 57 *JUMPI 1CC4 50 POP 1CC5 86 DUP7 1CC6 61 PUSH2 0x1d0d 1CC9 56 *JUMP 1CCA 5B JUMPDEST 1CCB 60 PUSH1 0x00 1CCD 80 DUP1 1CCE 61 PUSH2 0x1cee 1CD1 86 DUP7 1CD2 60 PUSH1 0x60 1CD4 01 ADD 1CD5 51 MLOAD 1CD6 80 DUP1 1CD7 60 PUSH1 0x20 1CD9 01 ADD 1CDA 90 SWAP1 1CDB 51 MLOAD 1CDC 81 DUP2 1CDD 01 ADD 1CDE 90 SWAP1 1CDF 61 PUSH2 0x1ce8 1CE2 91 SWAP2 1CE3 90 SWAP1 1CE4 61 PUSH2 0x467b 1CE7 56 *JUMP 1CE8 5B JUMPDEST 1CE9 8B DUP12 1CEA 61 PUSH2 0x190b 1CED 56 *JUMP 1CEE 5B JUMPDEST 1CEF 50 POP 1CF0 91 SWAP2 1CF1 50 POP 1CF2 91 SWAP2 1CF3 50 POP 1CF4 81 DUP2 1CF5 61 PUSH2 0x1d09 1CF8 57 *JUMPI 1CF9 60 PUSH1 0x00 1CFB 98 SWAP9 1CFC 50 POP 1CFD 50 POP 1CFE 50 POP 1CFF 50 POP 1D00 50 POP 1D01 50 POP 1D02 50 POP 1D03 50 POP 1D04 50 POP 1D05 61 PUSH2 0x1dec 1D08 56 *JUMP 1D09 5B JUMPDEST 1D0A 91 SWAP2 1D0B 50 POP 1D0C 50 POP 1D0D 5B JUMPDEST 1D0E 60 PUSH1 0x00 1D10 80 DUP1 1D11 5B JUMPDEST 1D12 85 DUP6 1D13 60 PUSH1 0x80 1D15 01 ADD 1D16 51 MLOAD 1D17 51 MLOAD 1D18 81 DUP2 1D19 10 LT 1D1A 15 ISZERO 1D1B 61 PUSH2 0x1db7 1D1E 57 *JUMPI 1D1F 60 PUSH1 0x00 1D21 86 DUP7 1D22 60 PUSH1 0x80 1D24 01 ADD 1D25 51 MLOAD 1D26 82 DUP3 1D27 81 DUP2 1D28 51 MLOAD 1D29 81 DUP2 1D2A 10 LT 1D2B 61 PUSH2 0x1d44 1D2E 57 *JUMPI 1D2F 63 PUSH4 0x4e487b71 1D34 60 PUSH1 0xe0 1D36 1B SHL 1D37 60 PUSH1 0x00 1D39 52 MSTORE 1D3A 60 PUSH1 0x32 1D3C 60 PUSH1 0x04 1D3E 52 MSTORE 1D3F 60 PUSH1 0x24 1D41 60 PUSH1 0x00 1D43 FD *REVERT 1D44 5B JUMPDEST 1D45 60 PUSH1 0x20 1D47 02 MUL 1D48 60 PUSH1 0x20 1D4A 01 ADD 1D4B 01 ADD 1D4C 51 MLOAD 1D4D 90 SWAP1 1D4E 50 POP 1D4F 80 DUP1 1D50 60 PUSH1 0x01 1D52 14 EQ 1D53 15 ISZERO 1D54 61 PUSH2 0x1d6e 1D57 57 *JUMPI 1D58 83 DUP4 1D59 85 DUP6 1D5A 11 GT 1D5B 15 ISZERO 1D5C 61 PUSH2 0x1d69 1D5F 57 *JUMPI 1D60 60 PUSH1 0x01 1D62 92 SWAP3 1D63 50 POP 1D64 50 POP 1D65 61 PUSH2 0x1db7 1D68 56 *JUMP 1D69 5B JUMPDEST 1D6A 61 PUSH2 0x1da4 1D6D 56 *JUMP 1D6E 5B JUMPDEST 1D6F 80 DUP1 1D70 60 PUSH1 0x02 1D72 14 EQ 1D73 15 ISZERO 1D74 61 PUSH2 0x1d89 1D77 57 *JUMPI 1D78 83 DUP4 1D79 85 DUP6 1D7A 10 LT 1D7B 15 ISZERO 1D7C 61 PUSH2 0x1d69 1D7F 57 *JUMPI 1D80 60 PUSH1 0x01 1D82 92 SWAP3 1D83 50 POP 1D84 50 POP 1D85 61 PUSH2 0x1db7 1D88 56 *JUMP 1D89 5B JUMPDEST 1D8A 80 DUP1 1D8B 60 PUSH1 0x03 1D8D 14 EQ 1D8E 15 ISZERO 1D8F 61 PUSH2 0x1da4 1D92 57 *JUMPI 1D93 83 DUP4 1D94 85 DUP6 1D95 14 EQ 1D96 15 ISZERO 1D97 61 PUSH2 0x1da4 1D9A 57 *JUMPI 1D9B 60 PUSH1 0x01 1D9D 92 SWAP3 1D9E 50 POP 1D9F 50 POP 1DA0 61 PUSH2 0x1db7 1DA3 56 *JUMP 1DA4 5B JUMPDEST 1DA5 50 POP 1DA6 80 DUP1 1DA7 61 PUSH2 0x1daf 1DAA 81 DUP2 1DAB 61 PUSH2 0x5598 1DAE 56 *JUMP 1DAF 5B JUMPDEST 1DB0 91 SWAP2 1DB1 50 POP 1DB2 50 POP 1DB3 61 PUSH2 0x1d11 1DB6 56 *JUMP 1DB7 5B JUMPDEST 1DB8 50 POP 1DB9 80 DUP1 1DBA 61 PUSH2 0x1dcd 1DBD 57 *JUMPI 1DBE 60 PUSH1 0x00 1DC0 97 SWAP8 1DC1 50 POP 1DC2 50 POP 1DC3 50 POP 1DC4 50 POP 1DC5 50 POP 1DC6 50 POP 1DC7 50 POP 1DC8 50 POP 1DC9 61 PUSH2 0x1dec 1DCC 56 *JUMP 1DCD 5B JUMPDEST 1DCE 50 POP 1DCF 50 POP 1DD0 50 POP 1DD1 50 POP 1DD2 50 POP 1DD3 50 POP 1DD4 80 DUP1 1DD5 80 DUP1 1DD6 61 PUSH2 0x1dde 1DD9 90 SWAP1 1DDA 61 PUSH2 0x5598 1DDD 56 *JUMP 1DDE 5B JUMPDEST 1DDF 91 SWAP2 1DE0 50 POP 1DE1 50 POP 1DE2 61 PUSH2 0x1c12 1DE5 56 *JUMP 1DE6 5B JUMPDEST 1DE7 50 POP 1DE8 60 PUSH1 0x01 1DEA 90 SWAP1 1DEB 50 POP 1DEC 5B JUMPDEST 1DED 92 SWAP3 1DEE 91 SWAP2 1DEF 50 POP 1DF0 50 POP 1DF1 56 *JUMP 1DF2 5B JUMPDEST 1DF3 60 PUSH1 0x20 1DF5 83 DUP4 1DF6 01 ADD 1DF7 51 MLOAD 1DF8 60 PUSH1 0x40 1DFA 51 MLOAD 1DFB 7F PUSH32 0x12038e5d00000000000000000000000000000000000000000000000000000000 1E1C 81 DUP2 1E1D 52 MSTORE 1E1E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1E33 90 SWAP1 1E34 91 SWAP2 1E35 16 AND 1E36 60 PUSH1 0x04 1E38 82 DUP3 1E39 01 ADD 1E3A 52 MSTORE 1E3B 30 ADDRESS 1E3C 90 SWAP1 1E3D 63 PUSH4 0x12038e5d 1E42 90 SWAP1 1E43 60 PUSH1 0x24 1E45 01 ADD 1E46 60 PUSH1 0x00 1E48 60 PUSH1 0x40 1E4A 51 MLOAD 1E4B 80 DUP1 1E4C 83 DUP4 1E4D 03 SUB 1E4E 81 DUP2 1E4F 60 PUSH1 0x00 1E51 87 DUP8 1E52 80 DUP1 1E53 3B EXTCODESIZE 1E54 15 ISZERO 1E55 80 DUP1 1E56 15 ISZERO 1E57 61 PUSH2 0x1e5f 1E5A 57 *JUMPI 1E5B 60 PUSH1 0x00 1E5D 80 DUP1 1E5E FD *REVERT 1E5F 5B JUMPDEST 1E60 50 POP 1E61 5A GAS 1E62 F1 CALL 1E63 15 ISZERO 1E64 80 DUP1 1E65 15 ISZERO 1E66 61 PUSH2 0x1e73 1E69 57 *JUMPI 1E6A 3D RETURNDATASIZE 1E6B 60 PUSH1 0x00 1E6D 80 DUP1 1E6E 3E RETURNDATACOPY 1E6F 3D RETURNDATASIZE 1E70 60 PUSH1 0x00 1E72 FD *REVERT 1E73 5B JUMPDEST 1E74 50 POP 1E75 50 POP 1E76 50 POP 1E77 50 POP 1E78 60 PUSH1 0x00 1E7A 83 DUP4 1E7B 83 DUP4 1E7C 60 PUSH1 0x40 1E7E 51 MLOAD 1E7F 60 PUSH1 0x20 1E81 01 ADD 1E82 61 PUSH2 0x1e8c 1E85 92 SWAP3 1E86 91 SWAP2 1E87 90 SWAP1 1E88 61 PUSH2 0x505b 1E8B 56 *JUMP 1E8C 5B JUMPDEST 1E8D 60 PUSH1 0x40 1E8F 51 MLOAD 1E90 60 PUSH1 0x20 1E92 81 DUP2 1E93 83 DUP4 1E94 03 SUB 1E95 03 SUB 1E96 81 DUP2 1E97 52 MSTORE 1E98 90 SWAP1 1E99 60 PUSH1 0x40 1E9B 52 MSTORE 1E9C 90 SWAP1 1E9D 50 POP 1E9E 83 DUP4 1E9F 60 PUSH1 0x20 1EA1 01 ADD 1EA2 51 MLOAD 1EA3 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1EB8 16 AND 1EB9 63 PUSH4 0x0dfe1681 1EBE 60 PUSH1 0x40 1EC0 51 MLOAD 1EC1 81 DUP2 1EC2 63 PUSH4 0xffffffff 1EC7 16 AND 1EC8 60 PUSH1 0xe0 1ECA 1B SHL 1ECB 81 DUP2 1ECC 52 MSTORE 1ECD 60 PUSH1 0x04 1ECF 01 ADD 1ED0 60 PUSH1 0x20 1ED2 60 PUSH1 0x40 1ED4 51 MLOAD 1ED5 80 DUP1 1ED6 83 DUP4 1ED7 03 SUB 1ED8 81 DUP2 1ED9 86 DUP7 1EDA 80 DUP1 1EDB 3B EXTCODESIZE 1EDC 15 ISZERO 1EDD 80 DUP1 1EDE 15 ISZERO 1EDF 61 PUSH2 0x1ee7 1EE2 57 *JUMPI 1EE3 60 PUSH1 0x00 1EE5 80 DUP1 1EE6 FD *REVERT 1EE7 5B JUMPDEST 1EE8 50 POP 1EE9 5A GAS 1EEA FA STATICCALL 1EEB 15 ISZERO 1EEC 80 DUP1 1EED 15 ISZERO 1EEE 61 PUSH2 0x1efb 1EF1 57 *JUMPI 1EF2 3D RETURNDATASIZE 1EF3 60 PUSH1 0x00 1EF5 80 DUP1 1EF6 3E RETURNDATACOPY 1EF7 3D RETURNDATASIZE 1EF8 60 PUSH1 0x00 1EFA FD *REVERT 1EFB 5B JUMPDEST 1EFC 50 POP 1EFD 50 POP 1EFE 50 POP 1EFF 50 POP 1F00 60 PUSH1 0x40 1F02 51 MLOAD 1F03 3D RETURNDATASIZE 1F04 60 PUSH1 0x1f 1F06 19 NOT 1F07 60 PUSH1 0x1f 1F09 82 DUP3 1F0A 01 ADD 1F0B 16 AND 1F0C 82 DUP3 1F0D 01 ADD 1F0E 80 DUP1 1F0F 60 PUSH1 0x40 1F11 52 MSTORE 1F12 50 POP 1F13 81 DUP2 1F14 01 ADD 1F15 90 SWAP1 1F16 61 PUSH2 0x1f1f 1F19 91 SWAP2 1F1A 90 SWAP1 1F1B 61 PUSH2 0x3b87 1F1E 56 *JUMP 1F1F 5B JUMPDEST 1F20 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1F35 16 AND 1F36 84 DUP5 1F37 60 PUSH1 0x60 1F39 01 ADD 1F3A 51 MLOAD 1F3B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1F50 16 AND 1F51 14 EQ 1F52 15 ISZERO 1F53 61 PUSH2 0x1ff9 1F56 57 *JUMPI 1F57 83 DUP4 1F58 60 PUSH1 0x20 1F5A 01 ADD 1F5B 51 MLOAD 1F5C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 1F71 16 AND 1F72 63 PUSH4 0x128acb08 1F77 30 ADDRESS 1F78 60 PUSH1 0x01 1F7A 85 DUP6 1F7B 64 PUSH5 0x01000276a4 1F81 86 DUP7 1F82 60 PUSH1 0x40 1F84 51 MLOAD 1F85 86 DUP7 1F86 63 PUSH4 0xffffffff 1F8B 16 AND 1F8C 60 PUSH1 0xe0 1F8E 1B SHL 1F8F 81 DUP2 1F90 52 MSTORE 1F91 60 PUSH1 0x04 1F93 01 ADD 1F94 61 PUSH2 0x1fa1 1F97 95 SWAP6 1F98 94 SWAP5 1F99 93 SWAP4 1F9A 92 SWAP3 1F9B 91 SWAP2 1F9C 90 SWAP1 1F9D 61 PUSH2 0x4b84 1FA0 56 *JUMP 1FA1 5B JUMPDEST 1FA2 60 PUSH1 0x40 1FA4 80 DUP1 1FA5 51 MLOAD 1FA6 80 DUP1 1FA7 83 DUP4 1FA8 03 SUB 1FA9 81 DUP2 1FAA 60 PUSH1 0x00 1FAC 87 DUP8 1FAD 80 DUP1 1FAE 3B EXTCODESIZE 1FAF 15 ISZERO 1FB0 80 DUP1 1FB1 15 ISZERO 1FB2 61 PUSH2 0x1fba 1FB5 57 *JUMPI 1FB6 60 PUSH1 0x00 1FB8 80 DUP1 1FB9 FD *REVERT 1FBA 5B JUMPDEST 1FBB 50 POP 1FBC 5A GAS 1FBD F1 CALL 1FBE 15 ISZERO 1FBF 80 DUP1 1FC0 15 ISZERO 1FC1 61 PUSH2 0x1fce 1FC4 57 *JUMPI 1FC5 3D RETURNDATASIZE 1FC6 60 PUSH1 0x00 1FC8 80 DUP1 1FC9 3E RETURNDATACOPY 1FCA 3D RETURNDATASIZE 1FCB 60 PUSH1 0x00 1FCD FD *REVERT 1FCE 5B JUMPDEST 1FCF 50 POP 1FD0 50 POP 1FD1 50 POP 1FD2 50 POP 1FD3 60 PUSH1 0x40 1FD5 51 MLOAD 1FD6 3D RETURNDATASIZE 1FD7 60 PUSH1 0x1f 1FD9 19 NOT 1FDA 60 PUSH1 0x1f 1FDC 82 DUP3 1FDD 01 ADD 1FDE 16 AND 1FDF 82 DUP3 1FE0 01 ADD 1FE1 80 DUP1 1FE2 60 PUSH1 0x40 1FE4 52 MSTORE 1FE5 50 POP 1FE6 81 DUP2 1FE7 01 ADD 1FE8 90 SWAP1 1FE9 61 PUSH2 0x1ff2 1FEC 91 SWAP2 1FED 90 SWAP1 1FEE 61 PUSH2 0x3dc4 1FF1 56 *JUMP 1FF2 5B JUMPDEST 1FF3 50 POP 1FF4 50 POP 1FF5 61 PUSH2 0x17da 1FF8 56 *JUMP 1FF9 5B JUMPDEST 1FFA 83 DUP4 1FFB 60 PUSH1 0x20 1FFD 01 ADD 1FFE 51 MLOAD 1FFF 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2014 16 AND 2015 63 PUSH4 0x128acb08 201A 30 ADDRESS 201B 60 PUSH1 0x00 201D 85 DUP6 201E 73 PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25 2033 86 DUP7 2034 60 PUSH1 0x40 2036 51 MLOAD 2037 86 DUP7 2038 63 PUSH4 0xffffffff 203D 16 AND 203E 60 PUSH1 0xe0 2040 1B SHL 2041 81 DUP2 2042 52 MSTORE 2043 60 PUSH1 0x04 2045 01 ADD 2046 61 PUSH2 0x2053 2049 95 SWAP6 204A 94 SWAP5 204B 93 SWAP4 204C 92 SWAP3 204D 91 SWAP2 204E 90 SWAP1 204F 61 PUSH2 0x4b84 2052 56 *JUMP 2053 5B JUMPDEST 2054 60 PUSH1 0x40 2056 80 DUP1 2057 51 MLOAD 2058 80 DUP1 2059 83 DUP4 205A 03 SUB 205B 81 DUP2 205C 60 PUSH1 0x00 205E 87 DUP8 205F 80 DUP1 2060 3B EXTCODESIZE 2061 15 ISZERO 2062 80 DUP1 2063 15 ISZERO 2064 61 PUSH2 0x206c 2067 57 *JUMPI 2068 60 PUSH1 0x00 206A 80 DUP1 206B FD *REVERT 206C 5B JUMPDEST 206D 50 POP 206E 5A GAS 206F F1 CALL 2070 15 ISZERO 2071 80 DUP1 2072 15 ISZERO 2073 61 PUSH2 0x2080 2076 57 *JUMPI 2077 3D RETURNDATASIZE 2078 60 PUSH1 0x00 207A 80 DUP1 207B 3E RETURNDATACOPY 207C 3D RETURNDATASIZE 207D 60 PUSH1 0x00 207F FD *REVERT 2080 5B JUMPDEST 2081 50 POP 2082 50 POP 2083 50 POP 2084 50 POP 2085 60 PUSH1 0x40 2087 51 MLOAD 2088 3D RETURNDATASIZE 2089 60 PUSH1 0x1f 208B 19 NOT 208C 60 PUSH1 0x1f 208E 82 DUP3 208F 01 ADD 2090 16 AND 2091 82 DUP3 2092 01 ADD 2093 80 DUP1 2094 60 PUSH1 0x40 2096 52 MSTORE 2097 50 POP 2098 81 DUP2 2099 01 ADD 209A 90 SWAP1 209B 61 PUSH2 0x0cae 209E 91 SWAP2 209F 90 SWAP1 20A0 61 PUSH2 0x3dc4 20A3 56 *JUMP 20A4 5B JUMPDEST 20A5 60 PUSH1 0x20 20A7 83 DUP4 20A8 01 ADD 20A9 51 MLOAD 20AA 60 PUSH1 0x40 20AC 51 MLOAD 20AD 7F PUSH32 0x12038e5d00000000000000000000000000000000000000000000000000000000 20CE 81 DUP2 20CF 52 MSTORE 20D0 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 20E5 90 SWAP1 20E6 91 SWAP2 20E7 16 AND 20E8 60 PUSH1 0x04 20EA 82 DUP3 20EB 01 ADD 20EC 52 MSTORE 20ED 30 ADDRESS 20EE 90 SWAP1 20EF 63 PUSH4 0x12038e5d 20F4 90 SWAP1 20F5 60 PUSH1 0x24 20F7 01 ADD 20F8 60 PUSH1 0x00 20FA 60 PUSH1 0x40 20FC 51 MLOAD 20FD 80 DUP1 20FE 83 DUP4 20FF 03 SUB 2100 81 DUP2 2101 60 PUSH1 0x00 2103 87 DUP8 2104 80 DUP1 2105 3B EXTCODESIZE 2106 15 ISZERO 2107 80 DUP1 2108 15 ISZERO 2109 61 PUSH2 0x2111 210C 57 *JUMPI 210D 60 PUSH1 0x00 210F 80 DUP1 2110 FD *REVERT 2111 5B JUMPDEST 2112 50 POP 2113 5A GAS 2114 F1 CALL 2115 15 ISZERO 2116 80 DUP1 2117 15 ISZERO 2118 61 PUSH2 0x2125 211B 57 *JUMPI 211C 3D RETURNDATASIZE 211D 60 PUSH1 0x00 211F 80 DUP1 2120 3E RETURNDATACOPY 2121 3D RETURNDATASIZE 2122 60 PUSH1 0x00 2124 FD *REVERT 2125 5B JUMPDEST 2126 50 POP 2127 50 POP 2128 50 POP 2129 50 POP 212A 60 PUSH1 0x00 212C 80 DUP1 212D 60 PUSH1 0x00 212F 80 DUP1 2130 86 DUP7 2131 60 PUSH1 0x20 2133 01 ADD 2134 51 MLOAD 2135 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 214A 16 AND 214B 63 PUSH4 0x0902f1ac 2150 60 PUSH1 0x40 2152 51 MLOAD 2153 81 DUP2 2154 63 PUSH4 0xffffffff 2159 16 AND 215A 60 PUSH1 0xe0 215C 1B SHL 215D 81 DUP2 215E 52 MSTORE 215F 60 PUSH1 0x04 2161 01 ADD 2162 60 PUSH1 0x60 2164 60 PUSH1 0x40 2166 51 MLOAD 2167 80 DUP1 2168 83 DUP4 2169 03 SUB 216A 81 DUP2 216B 86 DUP7 216C 80 DUP1 216D 3B EXTCODESIZE 216E 15 ISZERO 216F 80 DUP1 2170 15 ISZERO 2171 61 PUSH2 0x2179 2174 57 *JUMPI 2175 60 PUSH1 0x00 2177 80 DUP1 2178 FD *REVERT 2179 5B JUMPDEST 217A 50 POP 217B 5A GAS 217C FA STATICCALL 217D 15 ISZERO 217E 80 DUP1 217F 15 ISZERO 2180 61 PUSH2 0x218d 2183 57 *JUMPI 2184 3D RETURNDATASIZE 2185 60 PUSH1 0x00 2187 80 DUP1 2188 3E RETURNDATACOPY 2189 3D RETURNDATASIZE 218A 60 PUSH1 0x00 218C FD *REVERT 218D 5B JUMPDEST 218E 50 POP 218F 50 POP 2190 50 POP 2191 50 POP 2192 60 PUSH1 0x40 2194 51 MLOAD 2195 3D RETURNDATASIZE 2196 60 PUSH1 0x1f 2198 19 NOT 2199 60 PUSH1 0x1f 219B 82 DUP3 219C 01 ADD 219D 16 AND 219E 82 DUP3 219F 01 ADD 21A0 80 DUP1 21A1 60 PUSH1 0x40 21A3 52 MSTORE 21A4 50 POP 21A5 81 DUP2 21A6 01 ADD 21A7 90 SWAP1 21A8 61 PUSH2 0x21b1 21AB 91 SWAP2 21AC 90 SWAP1 21AD 61 PUSH2 0x4795 21B0 56 *JUMP 21B1 5B JUMPDEST 21B2 50 POP 21B3 6D PUSH14 0xffffffffffffffffffffffffffff 21C2 16 AND 21C3 91 SWAP2 21C4 50 POP 21C5 6D PUSH14 0xffffffffffffffffffffffffffff 21D4 16 AND 21D5 91 SWAP2 21D6 50 POP 21D7 60 PUSH1 0x00 21D9 87 DUP8 21DA 60 PUSH1 0x20 21DC 01 ADD 21DD 51 MLOAD 21DE 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 21F3 16 AND 21F4 63 PUSH4 0x0dfe1681 21F9 60 PUSH1 0x40 21FB 51 MLOAD 21FC 81 DUP2 21FD 63 PUSH4 0xffffffff 2202 16 AND 2203 60 PUSH1 0xe0 2205 1B SHL 2206 81 DUP2 2207 52 MSTORE 2208 60 PUSH1 0x04 220A 01 ADD 220B 60 PUSH1 0x20 220D 60 PUSH1 0x40 220F 51 MLOAD 2210 80 DUP1 2211 83 DUP4 2212 03 SUB 2213 81 DUP2 2214 86 DUP7 2215 80 DUP1 2216 3B EXTCODESIZE 2217 15 ISZERO 2218 80 DUP1 2219 15 ISZERO 221A 61 PUSH2 0x2222 221D 57 *JUMPI 221E 60 PUSH1 0x00 2220 80 DUP1 2221 FD *REVERT 2222 5B JUMPDEST 2223 50 POP 2224 5A GAS 2225 FA STATICCALL 2226 15 ISZERO 2227 80 DUP1 2228 15 ISZERO 2229 61 PUSH2 0x2236 222C 57 *JUMPI 222D 3D RETURNDATASIZE 222E 60 PUSH1 0x00 2230 80 DUP1 2231 3E RETURNDATACOPY 2232 3D RETURNDATASIZE 2233 60 PUSH1 0x00 2235 FD *REVERT 2236 5B JUMPDEST 2237 50 POP 2238 50 POP 2239 50 POP 223A 50 POP 223B 60 PUSH1 0x40 223D 51 MLOAD 223E 3D RETURNDATASIZE 223F 60 PUSH1 0x1f 2241 19 NOT 2242 60 PUSH1 0x1f 2244 82 DUP3 2245 01 ADD 2246 16 AND 2247 82 DUP3 2248 01 ADD 2249 80 DUP1 224A 60 PUSH1 0x40 224C 52 MSTORE 224D 50 POP 224E 81 DUP2 224F 01 ADD 2250 90 SWAP1 2251 61 PUSH2 0x225a 2254 91 SWAP2 2255 90 SWAP1 2256 61 PUSH2 0x3b87 2259 56 *JUMP 225A 5B JUMPDEST 225B 90 SWAP1 225C 50 POP 225D 80 DUP1 225E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2273 16 AND 2274 88 DUP9 2275 60 PUSH1 0x40 2277 01 ADD 2278 51 MLOAD 2279 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 228E 16 AND 228F 14 EQ 2290 15 ISZERO 2291 61 PUSH2 0x229f 2294 57 *JUMPI 2295 81 DUP2 2296 94 SWAP5 2297 50 POP 2298 82 DUP3 2299 93 SWAP4 229A 50 POP 229B 61 PUSH2 0x22a6 229E 56 *JUMP 229F 5B JUMPDEST 22A0 82 DUP3 22A1 94 SWAP5 22A2 50 POP 22A3 81 DUP2 22A4 93 SWAP4 22A5 50 POP 22A6 5B JUMPDEST 22A7 60 PUSH1 0x00 22A9 88 DUP9 22AA 60 PUSH1 0x80 22AC 01 ADD 22AD 51 MLOAD 22AE 61 PUSH2 0x2710 22B1 61 PUSH2 0x22ba 22B4 91 SWAP2 22B5 90 SWAP1 22B6 61 PUSH2 0x553c 22B9 56 *JUMP 22BA 5B JUMPDEST 22BB 90 SWAP1 22BC 50 POP 22BD 60 PUSH1 0x00 22BF 61 PUSH2 0x22c8 22C2 82 DUP3 22C3 89 DUP10 22C4 61 PUSH2 0x54ff 22C7 56 *JUMP 22C8 5B JUMPDEST 22C9 90 SWAP1 22CA 50 POP 22CB 60 PUSH1 0x00 22CD 81 DUP2 22CE 61 PUSH2 0x22d9 22D1 89 DUP10 22D2 61 PUSH2 0x2710 22D5 61 PUSH2 0x54ff 22D8 56 *JUMP 22D9 5B JUMPDEST 22DA 61 PUSH2 0x22e3 22DD 91 SWAP2 22DE 90 SWAP1 22DF 61 PUSH2 0x5395 22E2 56 *JUMP 22E3 5B JUMPDEST 22E4 61 PUSH2 0x22ed 22E7 88 DUP9 22E8 84 DUP5 22E9 61 PUSH2 0x54ff 22EC 56 *JUMP 22ED 5B JUMPDEST 22EE 61 PUSH2 0x22f7 22F1 91 SWAP2 22F2 90 SWAP1 22F3 61 PUSH2 0x53ad 22F6 56 *JUMP 22F7 5B JUMPDEST 22F8 90 SWAP1 22F9 50 POP 22FA 60 PUSH1 0x00 22FC 8B DUP12 22FD 8B DUP12 22FE 8A DUP11 22FF 8A DUP11 2300 60 PUSH1 0x40 2302 51 MLOAD 2303 60 PUSH1 0x20 2305 01 ADD 2306 61 PUSH2 0x2312 2309 94 SWAP5 230A 93 SWAP4 230B 92 SWAP3 230C 91 SWAP2 230D 90 SWAP1 230E 61 PUSH2 0x513d 2311 56 *JUMP 2312 5B JUMPDEST 2313 60 PUSH1 0x40 2315 51 MLOAD 2316 60 PUSH1 0x20 2318 81 DUP2 2319 83 DUP4 231A 03 SUB 231B 03 SUB 231C 81 DUP2 231D 52 MSTORE 231E 90 SWAP1 231F 60 PUSH1 0x40 2321 52 MSTORE 2322 90 SWAP1 2323 50 POP 2324 84 DUP5 2325 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 233A 16 AND 233B 8C DUP13 233C 60 PUSH1 0x40 233E 01 ADD 233F 51 MLOAD 2340 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2355 16 AND 2356 14 EQ 2357 15 ISZERO 2358 61 PUSH2 0x23d6 235B 57 *JUMPI 235C 8B DUP12 235D 60 PUSH1 0x20 235F 01 ADD 2360 51 MLOAD 2361 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2376 16 AND 2377 63 PUSH4 0x022c0d9f 237C 83 DUP4 237D 60 PUSH1 0x00 237F 30 ADDRESS 2380 85 DUP6 2381 60 PUSH1 0x40 2383 51 MLOAD 2384 85 DUP6 2385 63 PUSH4 0xffffffff 238A 16 AND 238B 60 PUSH1 0xe0 238D 1B SHL 238E 81 DUP2 238F 52 MSTORE 2390 60 PUSH1 0x04 2392 01 ADD 2393 61 PUSH2 0x239f 2396 94 SWAP5 2397 93 SWAP4 2398 92 SWAP3 2399 91 SWAP2 239A 90 SWAP1 239B 61 PUSH2 0x4d26 239E 56 *JUMP 239F 5B JUMPDEST 23A0 60 PUSH1 0x00 23A2 60 PUSH1 0x40 23A4 51 MLOAD 23A5 80 DUP1 23A6 83 DUP4 23A7 03 SUB 23A8 81 DUP2 23A9 60 PUSH1 0x00 23AB 87 DUP8 23AC 80 DUP1 23AD 3B EXTCODESIZE 23AE 15 ISZERO 23AF 80 DUP1 23B0 15 ISZERO 23B1 61 PUSH2 0x23b9 23B4 57 *JUMPI 23B5 60 PUSH1 0x00 23B7 80 DUP1 23B8 FD *REVERT 23B9 5B JUMPDEST 23BA 50 POP 23BB 5A GAS 23BC F1 CALL 23BD 15 ISZERO 23BE 80 DUP1 23BF 15 ISZERO 23C0 61 PUSH2 0x23cd 23C3 57 *JUMPI 23C4 3D RETURNDATASIZE 23C5 60 PUSH1 0x00 23C7 80 DUP1 23C8 3E RETURNDATACOPY 23C9 3D RETURNDATASIZE 23CA 60 PUSH1 0x00 23CC FD *REVERT 23CD 5B JUMPDEST 23CE 50 POP 23CF 50 POP 23D0 50 POP 23D1 50 POP 23D2 61 PUSH2 0x1215 23D5 56 *JUMP 23D6 5B JUMPDEST 23D7 8B DUP12 23D8 60 PUSH1 0x20 23DA 01 ADD 23DB 51 MLOAD 23DC 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 23F1 16 AND 23F2 63 PUSH4 0x022c0d9f 23F7 60 PUSH1 0x00 23F9 84 DUP5 23FA 30 ADDRESS 23FB 85 DUP6 23FC 60 PUSH1 0x40 23FE 51 MLOAD 23FF 85 DUP6 2400 63 PUSH4 0xffffffff 2405 16 AND 2406 60 PUSH1 0xe0 2408 1B SHL 2409 81 DUP2 240A 52 MSTORE 240B 60 PUSH1 0x04 240D 01 ADD 240E 61 PUSH2 0x241a 2411 94 SWAP5 2412 93 SWAP4 2413 92 SWAP3 2414 91 SWAP2 2415 90 SWAP1 2416 61 PUSH2 0x4d26 2419 56 *JUMP 241A 5B JUMPDEST 241B 60 PUSH1 0x00 241D 60 PUSH1 0x40 241F 51 MLOAD 2420 80 DUP1 2421 83 DUP4 2422 03 SUB 2423 81 DUP2 2424 60 PUSH1 0x00 2426 87 DUP8 2427 80 DUP1 2428 3B EXTCODESIZE 2429 15 ISZERO 242A 80 DUP1 242B 15 ISZERO 242C 61 PUSH2 0x2434 242F 57 *JUMPI 2430 60 PUSH1 0x00 2432 80 DUP1 2433 FD *REVERT 2434 5B JUMPDEST 2435 50 POP 2436 5A GAS 2437 F1 CALL 2438 15 ISZERO 2439 80 DUP1 243A 15 ISZERO 243B 61 PUSH2 0x2448 243E 57 *JUMPI 243F 3D RETURNDATASIZE 2440 60 PUSH1 0x00 2442 80 DUP1 2443 3E RETURNDATACOPY 2444 3D RETURNDATASIZE 2445 60 PUSH1 0x00 2447 FD *REVERT 2448 5B JUMPDEST 2449 50 POP 244A 50 POP 244B 50 POP 244C 50 POP 244D 50 POP 244E 50 POP 244F 50 POP 2450 50 POP 2451 50 POP 2452 50 POP 2453 50 POP 2454 50 POP 2455 50 POP 2456 50 POP 2457 50 POP 2458 50 POP 2459 56 *JUMP 245A 5B JUMPDEST 245B 60 PUSH1 0x20 245D 83 DUP4 245E 01 ADD 245F 51 MLOAD 2460 60 PUSH1 0x40 2462 51 MLOAD 2463 7F PUSH32 0x12038e5d00000000000000000000000000000000000000000000000000000000 2484 81 DUP2 2485 52 MSTORE 2486 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 249B 90 SWAP1 249C 91 SWAP2 249D 16 AND 249E 60 PUSH1 0x04 24A0 82 DUP3 24A1 01 ADD 24A2 52 MSTORE 24A3 30 ADDRESS 24A4 90 SWAP1 24A5 63 PUSH4 0x12038e5d 24AA 90 SWAP1 24AB 60 PUSH1 0x24 24AD 01 ADD 24AE 60 PUSH1 0x00 24B0 60 PUSH1 0x40 24B2 51 MLOAD 24B3 80 DUP1 24B4 83 DUP4 24B5 03 SUB 24B6 81 DUP2 24B7 60 PUSH1 0x00 24B9 87 DUP8 24BA 80 DUP1 24BB 3B EXTCODESIZE 24BC 15 ISZERO 24BD 80 DUP1 24BE 15 ISZERO 24BF 61 PUSH2 0x24c7 24C2 57 *JUMPI 24C3 60 PUSH1 0x00 24C5 80 DUP1 24C6 FD *REVERT 24C7 5B JUMPDEST 24C8 50 POP 24C9 5A GAS 24CA F1 CALL 24CB 15 ISZERO 24CC 80 DUP1 24CD 15 ISZERO 24CE 61 PUSH2 0x24db 24D1 57 *JUMPI 24D2 3D RETURNDATASIZE 24D3 60 PUSH1 0x00 24D5 80 DUP1 24D6 3E RETURNDATACOPY 24D7 3D RETURNDATASIZE 24D8 60 PUSH1 0x00 24DA FD *REVERT 24DB 5B JUMPDEST 24DC 50 POP 24DD 50 POP 24DE 50 POP 24DF 50 POP 24E0 60 PUSH1 0x00 24E2 83 DUP4 24E3 83 DUP4 24E4 83 DUP4 24E5 60 PUSH1 0x40 24E7 51 MLOAD 24E8 60 PUSH1 0x20 24EA 01 ADD 24EB 61 PUSH2 0x24f6 24EE 93 SWAP4 24EF 92 SWAP3 24F0 91 SWAP2 24F1 90 SWAP1 24F2 61 PUSH2 0x50c4 24F5 56 *JUMP 24F6 5B JUMPDEST 24F7 60 PUSH1 0x40 24F9 80 DUP1 24FA 51 MLOAD 24FB 60 PUSH1 0x1f 24FD 19 NOT 24FE 81 DUP2 24FF 84 DUP5 2500 03 SUB 2501 01 ADD 2502 81 DUP2 2503 52 MSTORE 2504 91 SWAP2 2505 90 SWAP1 2506 52 MSTORE 2507 90 SWAP1 2508 50 POP 2509 60 PUSH1 0x00 250B 61 PUSH2 0x2515 250E 83 DUP4 250F 60 PUSH1 0x02 2511 61 PUSH2 0x5395 2514 56 *JUMP 2515 5B JUMPDEST 2516 90 SWAP1 2517 50 POP 2518 60 PUSH1 0x00 251A 61 PUSH2 0x252b 251D 86 DUP7 251E 60 PUSH1 0x20 2520 01 ADD 2521 51 MLOAD 2522 87 DUP8 2523 60 PUSH1 0x40 2525 01 ADD 2526 51 MLOAD 2527 61 PUSH2 0x2981 252A 56 *JUMP 252B 5B JUMPDEST 252C 90 SWAP1 252D 50 POP 252E 61 PUSH2 0x2540 2531 86 DUP7 2532 60 PUSH1 0x40 2534 01 ADD 2535 51 MLOAD 2536 87 DUP8 2537 60 PUSH1 0x20 2539 01 ADD 253A 51 MLOAD 253B 84 DUP5 253C 61 PUSH2 0x2870 253F 56 *JUMP 2540 5B JUMPDEST 2541 60 PUSH1 0x40 2543 80 DUP1 2544 51 MLOAD 2545 60 PUSH1 0x03 2547 80 DUP1 2548 82 DUP3 2549 52 MSTORE 254A 60 PUSH1 0x80 254C 82 DUP3 254D 01 ADD 254E 90 SWAP1 254F 92 SWAP3 2550 52 MSTORE 2551 60 PUSH1 0x60 2553 91 SWAP2 2554 60 PUSH1 0x00 2556 91 SWAP2 2557 90 SWAP1 2558 81 DUP2 2559 60 PUSH1 0x20 255B 01 ADD 255C 5B JUMPDEST 255D 61 PUSH2 0x2564 2560 61 PUSH2 0x2f64 2563 56 *JUMP 2564 5B JUMPDEST 2565 81 DUP2 2566 52 MSTORE 2567 60 PUSH1 0x20 2569 01 ADD 256A 90 SWAP1 256B 60 PUSH1 0x01 256D 90 SWAP1 256E 03 SUB 256F 90 SWAP1 2570 81 DUP2 2571 61 PUSH2 0x255c 2574 57 *JUMPI 2575 90 SWAP1 2576 50 POP 2577 50 POP 2578 90 SWAP1 2579 50 POP 257A 61 PUSH2 0x2586 257D 60 PUSH1 0x01 257F 83 DUP4 2580 85 DUP6 2581 89 DUP10 2582 61 PUSH2 0x2b0c 2585 56 *JUMP 2586 5B JUMPDEST 2587 81 DUP2 2588 60 PUSH1 0x00 258A 81 DUP2 258B 51 MLOAD 258C 81 DUP2 258D 10 LT 258E 61 PUSH2 0x25a7 2591 57 *JUMPI 2592 63 PUSH4 0x4e487b71 2597 60 PUSH1 0xe0 2599 1B SHL 259A 60 PUSH1 0x00 259C 52 MSTORE 259D 60 PUSH1 0x32 259F 60 PUSH1 0x04 25A1 52 MSTORE 25A2 60 PUSH1 0x24 25A4 60 PUSH1 0x00 25A6 FD *REVERT 25A7 5B JUMPDEST 25A8 60 PUSH1 0x20 25AA 02 MUL 25AB 60 PUSH1 0x20 25AD 01 ADD 25AE 01 ADD 25AF 81 DUP2 25B0 90 SWAP1 25B1 52 MSTORE 25B2 50 POP 25B3 61 PUSH2 0x25c0 25B6 60 PUSH1 0x08 25B8 86 DUP7 25B9 60 PUSH1 0x00 25BB 80 DUP1 25BC 61 PUSH2 0x2b0c 25BF 56 *JUMP 25C0 5B JUMPDEST 25C1 81 DUP2 25C2 60 PUSH1 0x01 25C4 81 DUP2 25C5 51 MLOAD 25C6 81 DUP2 25C7 10 LT 25C8 61 PUSH2 0x25e1 25CB 57 *JUMPI 25CC 63 PUSH4 0x4e487b71 25D1 60 PUSH1 0xe0 25D3 1B SHL 25D4 60 PUSH1 0x00 25D6 52 MSTORE 25D7 60 PUSH1 0x32 25D9 60 PUSH1 0x04 25DB 52 MSTORE 25DC 60 PUSH1 0x24 25DE 60 PUSH1 0x00 25E0 FD *REVERT 25E1 5B JUMPDEST 25E2 60 PUSH1 0x20 25E4 02 MUL 25E5 60 PUSH1 0x20 25E7 01 ADD 25E8 01 ADD 25E9 81 DUP2 25EA 90 SWAP1 25EB 52 MSTORE 25EC 50 POP 25ED 61 PUSH2 0x25f9 25F0 60 PUSH1 0x00 25F2 83 DUP4 25F3 85 DUP6 25F4 87 DUP8 25F5 61 PUSH2 0x2b0c 25F8 56 *JUMP 25F9 5B JUMPDEST 25FA 81 DUP2 25FB 60 PUSH1 0x02 25FD 81 DUP2 25FE 51 MLOAD 25FF 81 DUP2 2600 10 LT 2601 61 PUSH2 0x261a 2604 57 *JUMPI 2605 63 PUSH4 0x4e487b71 260A 60 PUSH1 0xe0 260C 1B SHL 260D 60 PUSH1 0x00 260F 52 MSTORE 2610 60 PUSH1 0x32 2612 60 PUSH1 0x04 2614 52 MSTORE 2615 60 PUSH1 0x24 2617 60 PUSH1 0x00 2619 FD *REVERT 261A 5B JUMPDEST 261B 60 PUSH1 0x20 261D 90 SWAP1 261E 81 DUP2 261F 02 MUL 2620 91 SWAP2 2621 90 SWAP1 2622 91 SWAP2 2623 01 ADD 2624 01 ADD 2625 52 MSTORE 2626 60 PUSH1 0x40 2628 80 DUP1 2629 51 MLOAD 262A 60 PUSH1 0x01 262C 80 DUP1 262D 82 DUP3 262E 52 MSTORE 262F 81 DUP2 2630 83 DUP4 2631 01 ADD 2632 90 SWAP1 2633 92 SWAP3 2634 52 MSTORE 2635 60 PUSH1 0x00 2637 91 SWAP2 2638 81 DUP2 2639 60 PUSH1 0x20 263B 01 ADD 263C 5B JUMPDEST 263D 60 PUSH1 0x40 263F 80 DUP1 2640 51 MLOAD 2641 80 DUP1 2642 82 DUP3 2643 01 ADD 2644 90 SWAP1 2645 91 SWAP2 2646 52 MSTORE 2647 60 PUSH1 0x00 2649 80 DUP1 264A 82 DUP3 264B 52 MSTORE 264C 60 PUSH1 0x20 264E 82 DUP3 264F 01 ADD 2650 52 MSTORE 2651 81 DUP2 2652 52 MSTORE 2653 60 PUSH1 0x20 2655 01 ADD 2656 90 SWAP1 2657 60 PUSH1 0x01 2659 90 SWAP1 265A 03 SUB 265B 90 SWAP1 265C 81 DUP2 265D 61 PUSH2 0x263c 2660 57 *JUMPI 2661 90 SWAP1 2662 50 POP 2663 50 POP 2664 90 SWAP1 2665 50 POP 2666 60 PUSH1 0x40 2668 51 MLOAD 2669 80 DUP1 266A 60 PUSH1 0x40 266C 01 ADD 266D 60 PUSH1 0x40 266F 52 MSTORE 2670 80 DUP1 2671 30 ADDRESS 2672 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2687 16 AND 2688 81 DUP2 2689 52 MSTORE 268A 60 PUSH1 0x20 268C 01 ADD 268D 60 PUSH1 0x01 268F 81 DUP2 2690 52 MSTORE 2691 50 POP 2692 81 DUP2 2693 60 PUSH1 0x00 2695 81 DUP2 2696 51 MLOAD 2697 81 DUP2 2698 10 LT 2699 61 PUSH2 0x26b2 269C 57 *JUMPI 269D 63 PUSH4 0x4e487b71 26A2 60 PUSH1 0xe0 26A4 1B SHL 26A5 60 PUSH1 0x00 26A7 52 MSTORE 26A8 60 PUSH1 0x32 26AA 60 PUSH1 0x04 26AC 52 MSTORE 26AD 60 PUSH1 0x24 26AF 60 PUSH1 0x00 26B1 FD *REVERT 26B2 5B JUMPDEST 26B3 60 PUSH1 0x20 26B5 02 MUL 26B6 60 PUSH1 0x20 26B8 01 ADD 26B9 01 ADD 26BA 81 DUP2 26BB 90 SWAP1 26BC 52 MSTORE 26BD 50 POP 26BE 88 DUP9 26BF 60 PUSH1 0x20 26C1 01 ADD 26C2 51 MLOAD 26C3 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 26D8 16 AND 26D9 63 PUSH4 0xa67a6a45 26DE 82 DUP3 26DF 84 DUP5 26E0 60 PUSH1 0x40 26E2 51 MLOAD 26E3 83 DUP4 26E4 63 PUSH4 0xffffffff 26E9 16 AND 26EA 60 PUSH1 0xe0 26EC 1B SHL 26ED 81 DUP2 26EE 52 MSTORE 26EF 60 PUSH1 0x04 26F1 01 ADD 26F2 61 PUSH2 0x26fc 26F5 92 SWAP3 26F6 91 SWAP2 26F7 90 SWAP1 26F8 61 PUSH2 0x4bcb 26FB 56 *JUMP 26FC 5B JUMPDEST 26FD 60 PUSH1 0x00 26FF 60 PUSH1 0x40 2701 51 MLOAD 2702 80 DUP1 2703 83 DUP4 2704 03 SUB 2705 81 DUP2 2706 60 PUSH1 0x00 2708 87 DUP8 2709 80 DUP1 270A 3B EXTCODESIZE 270B 15 ISZERO 270C 80 DUP1 270D 15 ISZERO 270E 61 PUSH2 0x2716 2711 57 *JUMPI 2712 60 PUSH1 0x00 2714 80 DUP1 2715 FD *REVERT 2716 5B JUMPDEST 2717 50 POP 2718 5A GAS 2719 F1 CALL 271A 15 ISZERO 271B 80 DUP1 271C 15 ISZERO 271D 61 PUSH2 0x272a 2720 57 *JUMPI 2721 3D RETURNDATASIZE 2722 60 PUSH1 0x00 2724 80 DUP1 2725 3E RETURNDATACOPY 2726 3D RETURNDATASIZE 2727 60 PUSH1 0x00 2729 FD *REVERT 272A 5B JUMPDEST 272B 50 POP 272C 50 POP 272D 50 POP 272E 50 POP 272F 50 POP 2730 50 POP 2731 50 POP 2732 50 POP 2733 50 POP 2734 50 POP 2735 50 POP 2736 50 POP 2737 50 POP 2738 56 *JUMP 2739 5B JUMPDEST 273A 60 PUSH1 0x20 273C 83 DUP4 273D 01 ADD 273E 51 MLOAD 273F 60 PUSH1 0x40 2741 51 MLOAD 2742 7F PUSH32 0x12038e5d00000000000000000000000000000000000000000000000000000000 2763 81 DUP2 2764 52 MSTORE 2765 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 277A 90 SWAP1 277B 91 SWAP2 277C 16 AND 277D 60 PUSH1 0x04 277F 82 DUP3 2780 01 ADD 2781 52 MSTORE 2782 30 ADDRESS 2783 90 SWAP1 2784 63 PUSH4 0x12038e5d 2789 90 SWAP1 278A 60 PUSH1 0x24 278C 01 ADD 278D 60 PUSH1 0x00 278F 60 PUSH1 0x40 2791 51 MLOAD 2792 80 DUP1 2793 83 DUP4 2794 03 SUB 2795 81 DUP2 2796 60 PUSH1 0x00 2798 87 DUP8 2799 80 DUP1 279A 3B EXTCODESIZE 279B 15 ISZERO 279C 80 DUP1 279D 15 ISZERO 279E 61 PUSH2 0x27a6 27A1 57 *JUMPI 27A2 60 PUSH1 0x00 27A4 80 DUP1 27A5 FD *REVERT 27A6 5B JUMPDEST 27A7 50 POP 27A8 5A GAS 27A9 F1 CALL 27AA 15 ISZERO 27AB 80 DUP1 27AC 15 ISZERO 27AD 61 PUSH2 0x27ba 27B0 57 *JUMPI 27B1 3D RETURNDATASIZE 27B2 60 PUSH1 0x00 27B4 80 DUP1 27B5 3E RETURNDATACOPY 27B6 3D RETURNDATASIZE 27B7 60 PUSH1 0x00 27B9 FD *REVERT 27BA 5B JUMPDEST 27BB 50 POP 27BC 50 POP 27BD 50 POP 27BE 50 POP 27BF 60 PUSH1 0x00 27C1 83 DUP4 27C2 83 DUP4 27C3 60 PUSH1 0x40 27C5 51 MLOAD 27C6 60 PUSH1 0x20 27C8 01 ADD 27C9 61 PUSH2 0x27d3 27CC 92 SWAP3 27CD 91 SWAP2 27CE 90 SWAP1 27CF 61 PUSH2 0x505b 27D2 56 *JUMP 27D3 5B JUMPDEST 27D4 60 PUSH1 0x40 27D6 80 DUP1 27D7 51 MLOAD 27D8 60 PUSH1 0x1f 27DA 19 NOT 27DB 81 DUP2 27DC 84 DUP5 27DD 03 SUB 27DE 01 ADD 27DF 81 DUP2 27E0 52 MSTORE 27E1 90 SWAP1 27E2 82 DUP3 27E3 90 SWAP1 27E4 52 MSTORE 27E5 60 PUSH1 0x20 27E7 86 DUP7 27E8 01 ADD 27E9 51 MLOAD 27EA 7F PUSH32 0x5cffe9de00000000000000000000000000000000000000000000000000000000 280B 83 DUP4 280C 52 MSTORE 280D 90 SWAP1 280E 92 SWAP3 280F 50 POP 2810 90 SWAP1 2811 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2826 82 DUP3 2827 16 AND 2828 90 SWAP1 2829 63 PUSH4 0x5cffe9de 282E 90 SWAP1 282F 61 PUSH2 0x2842 2832 90 SWAP1 2833 30 ADDRESS 2834 90 SWAP1 2835 85 DUP6 2836 90 SWAP1 2837 88 DUP9 2838 90 SWAP1 2839 88 DUP9 283A 90 SWAP1 283B 60 PUSH1 0x04 283D 01 ADD 283E 61 PUSH2 0x4b3b 2841 56 *JUMP 2842 5B JUMPDEST 2843 60 PUSH1 0x00 2845 60 PUSH1 0x40 2847 51 MLOAD 2848 80 DUP1 2849 83 DUP4 284A 03 SUB 284B 81 DUP2 284C 60 PUSH1 0x00 284E 87 DUP8 284F 80 DUP1 2850 3B EXTCODESIZE 2851 15 ISZERO 2852 80 DUP1 2853 15 ISZERO 2854 61 PUSH2 0x285c 2857 57 *JUMPI 2858 60 PUSH1 0x00 285A 80 DUP1 285B FD *REVERT 285C 5B JUMPDEST 285D 50 POP 285E 5A GAS 285F F1 CALL 2860 15 ISZERO 2861 80 DUP1 2862 15 ISZERO 2863 61 PUSH2 0x1096 2866 57 *JUMPI 2867 3D RETURNDATASIZE 2868 60 PUSH1 0x00 286A 80 DUP1 286B 3E RETURNDATACOPY 286C 3D RETURNDATASIZE 286D 60 PUSH1 0x00 286F FD *REVERT label_2870: // Incoming call from 0x141C, returns to 0x141D // Inputs[6] // { // @2873 memory[0x40:0x60] // @2897 address(this) // @28B2 stack[-2] // @28BA stack[-3] // @28CF memory[0x40:0x60] // @28D8 address(stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // } 2870 5B JUMPDEST 2871 60 PUSH1 0x40 2873 51 MLOAD 2874 7F PUSH32 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 2895 81 DUP2 2896 52 MSTORE 2897 30 ADDRESS 2898 60 PUSH1 0x04 289A 82 DUP3 289B 01 ADD 289C 52 MSTORE 289D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 28B2 83 DUP4 28B3 81 DUP2 28B4 16 AND 28B5 60 PUSH1 0x24 28B7 83 DUP4 28B8 01 ADD 28B9 52 MSTORE 28BA 84 DUP5 28BB 91 SWAP2 28BC 60 PUSH1 0x00 28BE 91 SWAP2 28BF 83 DUP4 28C0 16 AND 28C1 90 SWAP1 28C2 63 PUSH4 0xdd62ed3e 28C7 90 SWAP1 28C8 60 PUSH1 0x44 28CA 01 ADD 28CB 60 PUSH1 0x20 28CD 60 PUSH1 0x40 28CF 51 MLOAD 28D0 80 DUP1 28D1 83 DUP4 28D2 03 SUB 28D3 81 DUP2 28D4 60 PUSH1 0x00 28D6 87 DUP8 28D7 80 DUP1 28D8 3B EXTCODESIZE 28D9 15 ISZERO 28DA 80 DUP1 28DB 15 ISZERO 28DC 61 PUSH2 0x28e4 28DF 57 *JUMPI // Stack delta = +12 // Outputs[15] // { // @2896 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0xdd62ed3e00000000000000000000000000000000000000000000000000000000 // @289C memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = address(this) // @28B9 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0xffffffffffffffffffffffffffffffffffffffff & stack[-2] // @28BB stack[0] = stack[-3] // @28BE stack[1] = 0x00 // @28C1 stack[2] = stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff // @28C7 stack[3] = 0xdd62ed3e // @28CA stack[4] = 0x44 + memory[0x40:0x60] // @28CB stack[5] = 0x20 // @28CF stack[6] = memory[0x40:0x60] // @28D2 stack[7] = (0x44 + memory[0x40:0x60]) - memory[0x40:0x60] // @28D3 stack[8] = memory[0x40:0x60] // @28D4 stack[9] = 0x00 // @28D6 stack[10] = stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff // @28D9 stack[11] = !address(stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // } // Block ends with conditional jump to 0x28e4, if !!address(stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff).code.length label_28E0: // Incoming jump from 0x28DF, if not !!address(stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // Inputs[1] { @28E3 memory[0x00:0x00] } 28E0 60 PUSH1 0x00 28E2 80 DUP1 28E3 FD *REVERT // Stack delta = +0 // Outputs[1] { @28E3 revert(memory[0x00:0x00]); } // Block terminates label_28E4: // Incoming jump from 0x28DF, if !!address(stack[-3] & 0xffffffffffffffffffffffffffffffffffffffff).code.length // Inputs[9] // { // @28E6 msg.gas // @28E7 memory[stack[-4]:stack[-4] + stack[-5]] // @28E7 address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @28E7 stack[-3] // @28E7 stack[-5] // @28E7 stack[-4] // @28E7 stack[-2] // @28E7 stack[-7] // @28E7 stack[-6] // } 28E4 5B JUMPDEST 28E5 50 POP 28E6 5A GAS 28E7 F1 CALL 28E8 15 ISZERO 28E9 80 DUP1 28EA 15 ISZERO 28EB 61 PUSH2 0x28f8 28EE 57 *JUMPI // Stack delta = -6 // Outputs[2] // { // @28E7 memory[stack[-6]:stack[-6] + stack[-7]] = address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @28E8 stack[-7] = !address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // } // Block ends with conditional jump to 0x28f8, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) label_28EF: // Incoming jump from 0x28EE, if not !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[4] // { // @28EF returndata.length // @28F3 returndata[0x00:0x00 + returndata.length] // @28F4 returndata.length // @28F7 memory[0x00:0x00 + returndata.length] // } 28EF 3D RETURNDATASIZE 28F0 60 PUSH1 0x00 28F2 80 DUP1 28F3 3E RETURNDATACOPY 28F4 3D RETURNDATASIZE 28F5 60 PUSH1 0x00 28F7 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @28F3 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @28F7 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_28F8: // Incoming jump from 0x28EE, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[2] // { // @28FF memory[0x40:0x60] // @2900 returndata.length // } 28F8 5B JUMPDEST 28F9 50 POP 28FA 50 POP 28FB 50 POP 28FC 50 POP 28FD 60 PUSH1 0x40 28FF 51 MLOAD 2900 3D RETURNDATASIZE 2901 60 PUSH1 0x1f 2903 19 NOT 2904 60 PUSH1 0x1f 2906 82 DUP3 2907 01 ADD 2908 16 AND 2909 82 DUP3 290A 01 ADD 290B 80 DUP1 290C 60 PUSH1 0x40 290E 52 MSTORE 290F 50 POP 2910 81 DUP2 2911 01 ADD 2912 90 SWAP1 2913 61 PUSH2 0x291c 2916 91 SWAP2 2917 90 SWAP1 2918 61 PUSH2 0x47e3 291B 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @290E memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x1f & ~0x1f) // @2916 stack[-4] = 0x291c // @2917 stack[-2] = memory[0x40:0x60] // @2917 stack[-3] = memory[0x40:0x60] + returndata.length // } // Block ends with call to 0x47e3, returns to 0x291C label_291C: // Incoming return from call to 0x47E3 at 0x291B // Inputs[3] // { // @291D stack[-2] // @291D stack[-1] // @291F stack[-4] // } 291C 5B JUMPDEST 291D 90 SWAP1 291E 50 POP 291F 82 DUP3 2920 81 DUP2 2921 10 LT 2922 15 ISZERO 2923 61 PUSH2 0x04a8 2926 57 *JUMPI // Stack delta = -1 // Outputs[1] { @291D stack[-2] = stack[-1] } // Block ends with conditional jump to 0x04a8, if !(stack[-1] < stack[-4]) label_2927: // Incoming jump from 0x2926, if not !(stack[-1] < stack[-4]) // Inputs[1] { @2927 stack[-1] } 2927 80 DUP1 2928 15 ISZERO 2929 61 PUSH2 0x2938 292C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2938, if !stack[-1] label_292D: // Incoming jump from 0x292C, if not !stack[-1] // Inputs[2] // { // @2930 stack[-2] // @2931 stack[-4] // } 292D 61 PUSH2 0x2938 2930 82 DUP3 2931 85 DUP6 2932 60 PUSH1 0x00 2934 61 PUSH2 0x2c80 2937 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @292D stack[0] = 0x2938 // @2930 stack[1] = stack[-2] // @2931 stack[2] = stack[-4] // @2932 stack[3] = 0x00 // } // Block ends with unconditional jump to 0x2c80 label_2938: // Incoming jump from 0x292C, if !stack[-1] // Inputs[3] // { // @293C stack[-2] // @293D stack[-4] // @2941 stack[-3] // } 2938 5B JUMPDEST 2939 61 PUSH2 0x04a8 293C 82 DUP3 293D 85 DUP6 293E 61 PUSH2 0x2949 2941 86 DUP7 2942 61 PUSH2 0x03e8 2945 61 PUSH2 0x54ff 2948 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @2939 stack[0] = 0x04a8 // @293C stack[1] = stack[-2] // @293D stack[2] = stack[-4] // @293E stack[3] = 0x2949 // @2941 stack[4] = stack[-3] // @2942 stack[5] = 0x03e8 // } // Block ends with call to 0x54ff, returns to 0x2949 label_2949: // Incoming return from call to 0x54FF at 0x2948 2949 5B JUMPDEST 294A 61 PUSH2 0x2c80 294D 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x2c80 label_294E: // Incoming jump from 0x1652 // Inputs[7] // { // @2952 memory[0x40:0x60] // @2967 msg.data.length // @2969 msg.data[msg.data.length:msg.data.length + 0x20] // @2970 stack[-1] // @2974 stack[-2] // @2976 memory[stack[-2] + 0x20 * stack[-1]:stack[-2] + 0x20 * stack[-1] + 0x20] // @297C stack[-3] // } 294E 5B JUMPDEST 294F 60 PUSH1 0x40 2951 80 DUP1 2952 51 MLOAD 2953 60 PUSH1 0x20 2955 80 DUP1 2956 82 DUP3 2957 52 MSTORE 2958 81 DUP2 2959 83 DUP4 295A 01 ADD 295B 90 SWAP1 295C 92 SWAP3 295D 52 MSTORE 295E 60 PUSH1 0x60 2960 91 SWAP2 2961 60 PUSH1 0x20 2963 82 DUP3 2964 01 ADD 2965 81 DUP2 2966 80 DUP1 2967 36 CALLDATASIZE 2968 83 DUP4 2969 37 CALLDATACOPY 296A 01 ADD 296B 90 SWAP1 296C 50 POP 296D 50 POP 296E 90 SWAP1 296F 50 POP 2970 81 DUP2 2971 60 PUSH1 0x20 2973 02 MUL 2974 83 DUP4 2975 01 ADD 2976 51 MLOAD 2977 60 PUSH1 0x20 2979 82 DUP3 297A 01 ADD 297B 52 MSTORE 297C 92 SWAP3 297D 91 SWAP2 297E 50 POP 297F 50 POP 2980 56 *JUMP // Stack delta = -2 // Outputs[5] // { // @2957 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x20 // @295D memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2969 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = msg.data[msg.data.length:msg.data.length + 0x20] // @297B memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = memory[stack[-2] + 0x20 * stack[-1]:stack[-2] + 0x20 * stack[-1] + 0x20] // @297C stack[-3] = memory[0x40:0x60] // } // Block ends with unconditional jump to stack[-3] 2981 5B JUMPDEST 2982 60 PUSH1 0x00 2984 80 DUP1 2985 83 DUP4 2986 90 SWAP1 2987 50 POP 2988 60 PUSH1 0x00 298A 81 DUP2 298B 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 29A0 16 AND 29A1 63 PUSH4 0x295c39a5 29A6 60 PUSH1 0x40 29A8 51 MLOAD 29A9 81 DUP2 29AA 63 PUSH4 0xffffffff 29AF 16 AND 29B0 60 PUSH1 0xe0 29B2 1B SHL 29B3 81 DUP2 29B4 52 MSTORE 29B5 60 PUSH1 0x04 29B7 01 ADD 29B8 60 PUSH1 0x20 29BA 60 PUSH1 0x40 29BC 51 MLOAD 29BD 80 DUP1 29BE 83 DUP4 29BF 03 SUB 29C0 81 DUP2 29C1 86 DUP7 29C2 80 DUP1 29C3 3B EXTCODESIZE 29C4 15 ISZERO 29C5 80 DUP1 29C6 15 ISZERO 29C7 61 PUSH2 0x29cf 29CA 57 *JUMPI 29CB 60 PUSH1 0x00 29CD 80 DUP1 29CE FD *REVERT 29CF 5B JUMPDEST 29D0 50 POP 29D1 5A GAS 29D2 FA STATICCALL 29D3 15 ISZERO 29D4 80 DUP1 29D5 15 ISZERO 29D6 61 PUSH2 0x29e3 29D9 57 *JUMPI 29DA 3D RETURNDATASIZE 29DB 60 PUSH1 0x00 29DD 80 DUP1 29DE 3E RETURNDATACOPY 29DF 3D RETURNDATASIZE 29E0 60 PUSH1 0x00 29E2 FD *REVERT 29E3 5B JUMPDEST 29E4 50 POP 29E5 50 POP 29E6 50 POP 29E7 50 POP 29E8 60 PUSH1 0x40 29EA 51 MLOAD 29EB 3D RETURNDATASIZE 29EC 60 PUSH1 0x1f 29EE 19 NOT 29EF 60 PUSH1 0x1f 29F1 82 DUP3 29F2 01 ADD 29F3 16 AND 29F4 82 DUP3 29F5 01 ADD 29F6 80 DUP1 29F7 60 PUSH1 0x40 29F9 52 MSTORE 29FA 50 POP 29FB 81 DUP2 29FC 01 ADD 29FD 90 SWAP1 29FE 61 PUSH2 0x2a07 2A01 91 SWAP2 2A02 90 SWAP1 2A03 61 PUSH2 0x47e3 2A06 56 *JUMP 2A07 5B JUMPDEST 2A08 90 SWAP1 2A09 50 POP 2A0A 60 PUSH1 0x00 2A0C 80 DUP1 2A0D 5B JUMPDEST 2A0E 82 DUP3 2A0F 81 DUP2 2A10 10 LT 2A11 15 ISZERO 2A12 61 PUSH2 0x2b06 2A15 57 *JUMPI 2A16 60 PUSH1 0x40 2A18 51 MLOAD 2A19 7F PUSH32 0x062bd3e900000000000000000000000000000000000000000000000000000000 2A3A 81 DUP2 2A3B 52 MSTORE 2A3C 60 PUSH1 0x04 2A3E 81 DUP2 2A3F 01 ADD 2A40 82 DUP3 2A41 90 SWAP1 2A42 52 MSTORE 2A43 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2A58 85 DUP6 2A59 16 AND 2A5A 90 SWAP1 2A5B 63 PUSH4 0x062bd3e9 2A60 90 SWAP1 2A61 60 PUSH1 0x24 2A63 01 ADD 2A64 60 PUSH1 0x20 2A66 60 PUSH1 0x40 2A68 51 MLOAD 2A69 80 DUP1 2A6A 83 DUP4 2A6B 03 SUB 2A6C 81 DUP2 2A6D 86 DUP7 2A6E 80 DUP1 2A6F 3B EXTCODESIZE 2A70 15 ISZERO 2A71 80 DUP1 2A72 15 ISZERO 2A73 61 PUSH2 0x2a7b 2A76 57 *JUMPI 2A77 60 PUSH1 0x00 2A79 80 DUP1 2A7A FD *REVERT 2A7B 5B JUMPDEST 2A7C 50 POP 2A7D 5A GAS 2A7E FA STATICCALL 2A7F 15 ISZERO 2A80 80 DUP1 2A81 15 ISZERO 2A82 61 PUSH2 0x2a8f 2A85 57 *JUMPI 2A86 3D RETURNDATASIZE 2A87 60 PUSH1 0x00 2A89 80 DUP1 2A8A 3E RETURNDATACOPY 2A8B 3D RETURNDATASIZE 2A8C 60 PUSH1 0x00 2A8E FD *REVERT 2A8F 5B JUMPDEST 2A90 50 POP 2A91 50 POP 2A92 50 POP 2A93 50 POP 2A94 60 PUSH1 0x40 2A96 51 MLOAD 2A97 3D RETURNDATASIZE 2A98 60 PUSH1 0x1f 2A9A 19 NOT 2A9B 60 PUSH1 0x1f 2A9D 82 DUP3 2A9E 01 ADD 2A9F 16 AND 2AA0 82 DUP3 2AA1 01 ADD 2AA2 80 DUP1 2AA3 60 PUSH1 0x40 2AA5 52 MSTORE 2AA6 50 POP 2AA7 81 DUP2 2AA8 01 ADD 2AA9 90 SWAP1 2AAA 61 PUSH2 0x2ab3 2AAD 91 SWAP2 2AAE 90 SWAP1 2AAF 61 PUSH2 0x3b87 2AB2 56 *JUMP 2AB3 5B JUMPDEST 2AB4 91 SWAP2 2AB5 50 POP 2AB6 85 DUP6 2AB7 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2ACC 16 AND 2ACD 82 DUP3 2ACE 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2AE3 16 AND 2AE4 14 EQ 2AE5 15 ISZERO 2AE6 61 PUSH2 0x2af4 2AE9 57 *JUMPI 2AEA 93 SWAP4 2AEB 50 POP 2AEC 61 PUSH2 0x1dec 2AEF 92 SWAP3 2AF0 50 POP 2AF1 50 POP 2AF2 50 POP 2AF3 56 *JUMP 2AF4 5B JUMPDEST 2AF5 80 DUP1 2AF6 61 PUSH2 0x2afe 2AF9 81 DUP2 2AFA 61 PUSH2 0x5598 2AFD 56 *JUMP 2AFE 5B JUMPDEST 2AFF 91 SWAP2 2B00 50 POP 2B01 50 POP 2B02 61 PUSH2 0x2a0d 2B05 56 *JUMP 2B06 5B JUMPDEST 2B07 50 POP 2B08 60 PUSH1 0x00 2B0A 80 DUP1 2B0B FD *REVERT 2B0C 5B JUMPDEST 2B0D 61 PUSH2 0x2b14 2B10 61 PUSH2 0x2f64 2B13 56 *JUMP 2B14 5B JUMPDEST 2B15 60 PUSH1 0x00 2B17 60 PUSH1 0x20 2B19 82 DUP3 2B1A 01 ADD 2B1B 81 DUP2 2B1C 90 SWAP1 2B1D 52 MSTORE 2B1E 30 ADDRESS 2B1F 60 PUSH1 0xa0 2B21 83 DUP4 2B22 01 ADD 2B23 52 MSTORE 2B24 60 PUSH1 0xc0 2B26 82 DUP3 2B27 01 ADD 2B28 81 DUP2 2B29 90 SWAP1 2B2A 52 MSTORE 2B2B 60 PUSH1 0x80 2B2D 82 DUP3 2B2E 01 ADD 2B2F 52 MSTORE 2B30 60 PUSH1 0x01 2B32 85 DUP6 2B33 60 PUSH1 0x08 2B35 81 DUP2 2B36 11 GT 2B37 15 ISZERO 2B38 61 PUSH2 0x2b51 2B3B 57 *JUMPI 2B3C 63 PUSH4 0x4e487b71 2B41 60 PUSH1 0xe0 2B43 1B SHL 2B44 60 PUSH1 0x00 2B46 52 MSTORE 2B47 60 PUSH1 0x21 2B49 60 PUSH1 0x04 2B4B 52 MSTORE 2B4C 60 PUSH1 0x24 2B4E 60 PUSH1 0x00 2B50 FD *REVERT 2B51 5B JUMPDEST 2B52 14 EQ 2B53 15 ISZERO 2B54 61 PUSH2 0x2ba2 2B57 57 *JUMPI 2B58 60 PUSH1 0x01 2B5A 81 DUP2 2B5B 52 MSTORE 2B5C 60 PUSH1 0x40 2B5E 80 DUP1 2B5F 51 MLOAD 2B60 60 PUSH1 0x80 2B62 81 DUP2 2B63 01 ADD 2B64 82 DUP3 2B65 52 MSTORE 2B66 60 PUSH1 0x00 2B68 80 DUP1 2B69 82 DUP3 2B6A 52 MSTORE 2B6B 60 PUSH1 0x20 2B6D 80 DUP1 2B6E 83 DUP4 2B6F 01 ADD 2B70 82 DUP3 2B71 90 SWAP1 2B72 52 MSTORE 2B73 82 DUP3 2B74 84 DUP5 2B75 01 ADD 2B76 82 DUP3 2B77 90 SWAP1 2B78 52 MSTORE 2B79 60 PUSH1 0x60 2B7B 80 DUP1 2B7C 84 DUP5 2B7D 01 ADD 2B7E 87 DUP8 2B7F 90 SWAP1 2B80 52 MSTORE 2B81 84 DUP5 2B82 86 DUP7 2B83 01 ADD 2B84 93 SWAP4 2B85 90 SWAP1 2B86 93 SWAP4 2B87 52 MSTORE 2B88 91 SWAP2 2B89 84 DUP5 2B8A 01 ADD 2B8B 86 DUP7 2B8C 90 SWAP1 2B8D 52 MSTORE 2B8E 82 DUP3 2B8F 51 MLOAD 2B90 91 SWAP2 2B91 82 DUP3 2B92 01 ADD 2B93 90 SWAP1 2B94 92 SWAP3 2B95 52 MSTORE 2B96 90 SWAP1 2B97 81 DUP2 2B98 52 MSTORE 2B99 60 PUSH1 0xe0 2B9B 82 DUP3 2B9C 01 ADD 2B9D 52 MSTORE 2B9E 61 PUSH2 0x2c78 2BA1 56 *JUMP 2BA2 5B JUMPDEST 2BA3 60 PUSH1 0x08 2BA5 85 DUP6 2BA6 60 PUSH1 0x08 2BA8 81 DUP2 2BA9 11 GT 2BAA 15 ISZERO 2BAB 61 PUSH2 0x2bc4 2BAE 57 *JUMPI 2BAF 63 PUSH4 0x4e487b71 2BB4 60 PUSH1 0xe0 2BB6 1B SHL 2BB7 60 PUSH1 0x00 2BB9 52 MSTORE 2BBA 60 PUSH1 0x21 2BBC 60 PUSH1 0x04 2BBE 52 MSTORE 2BBF 60 PUSH1 0x24 2BC1 60 PUSH1 0x00 2BC3 FD *REVERT 2BC4 5B JUMPDEST 2BC5 14 EQ 2BC6 15 ISZERO 2BC7 61 PUSH2 0x2c09 2BCA 57 *JUMPI 2BCB 60 PUSH1 0x08 2BCD 81 DUP2 2BCE 52 MSTORE 2BCF 60 PUSH1 0x40 2BD1 80 DUP1 2BD2 51 MLOAD 2BD3 60 PUSH1 0x80 2BD5 81 DUP2 2BD6 01 ADD 2BD7 82 DUP3 2BD8 52 MSTORE 2BD9 60 PUSH1 0x00 2BDB 80 DUP1 2BDC 82 DUP3 2BDD 52 MSTORE 2BDE 60 PUSH1 0x20 2BE0 82 DUP3 2BE1 01 ADD 2BE2 81 DUP2 2BE3 90 SWAP1 2BE4 52 MSTORE 2BE5 81 DUP2 2BE6 83 DUP4 2BE7 01 ADD 2BE8 81 DUP2 2BE9 90 SWAP1 2BEA 52 MSTORE 2BEB 60 PUSH1 0x60 2BED 80 DUP1 2BEE 83 DUP4 2BEF 01 ADD 2BF0 82 DUP3 2BF1 90 SWAP1 2BF2 52 MSTORE 2BF3 92 SWAP3 2BF4 84 DUP5 2BF5 01 ADD 2BF6 91 SWAP2 2BF7 90 SWAP1 2BF8 91 SWAP2 2BF9 52 MSTORE 2BFA 90 SWAP1 2BFB 82 DUP3 2BFC 01 ADD 2BFD 52 MSTORE 2BFE 60 PUSH1 0xe0 2C00 81 DUP2 2C01 01 ADD 2C02 84 DUP5 2C03 90 SWAP1 2C04 52 MSTORE 2C05 61 PUSH2 0x2c78 2C08 56 *JUMP 2C09 5B JUMPDEST 2C0A 60 PUSH1 0x00 2C0C 85 DUP6 2C0D 60 PUSH1 0x08 2C0F 81 DUP2 2C10 11 GT 2C11 15 ISZERO 2C12 61 PUSH2 0x2c2b 2C15 57 *JUMPI 2C16 63 PUSH4 0x4e487b71 2C1B 60 PUSH1 0xe0 2C1D 1B SHL 2C1E 60 PUSH1 0x00 2C20 52 MSTORE 2C21 60 PUSH1 0x21 2C23 60 PUSH1 0x04 2C25 52 MSTORE 2C26 60 PUSH1 0x24 2C28 60 PUSH1 0x00 2C2A FD *REVERT 2C2B 5B JUMPDEST 2C2C 14 EQ 2C2D 15 ISZERO 2C2E 61 PUSH2 0x2c78 2C31 57 *JUMPI 2C32 60 PUSH1 0x00 2C34 80 DUP1 2C35 82 DUP3 2C36 52 MSTORE 2C37 60 PUSH1 0x40 2C39 80 DUP1 2C3A 51 MLOAD 2C3B 60 PUSH1 0x80 2C3D 81 DUP2 2C3E 01 ADD 2C3F 82 DUP3 2C40 52 MSTORE 2C41 60 PUSH1 0x01 2C43 81 DUP2 2C44 52 MSTORE 2C45 60 PUSH1 0x20 2C47 80 DUP1 2C48 82 DUP3 2C49 01 ADD 2C4A 84 DUP5 2C4B 90 SWAP1 2C4C 52 MSTORE 2C4D 81 DUP2 2C4E 83 DUP4 2C4F 01 ADD 2C50 84 DUP5 2C51 90 SWAP1 2C52 52 MSTORE 2C53 60 PUSH1 0x60 2C55 80 DUP1 2C56 83 DUP4 2C57 01 ADD 2C58 87 DUP8 2C59 90 SWAP1 2C5A 52 MSTORE 2C5B 83 DUP4 2C5C 86 DUP7 2C5D 01 ADD 2C5E 92 SWAP3 2C5F 90 SWAP1 2C60 92 SWAP3 2C61 52 MSTORE 2C62 90 SWAP1 2C63 84 DUP5 2C64 01 ADD 2C65 86 DUP7 2C66 90 SWAP1 2C67 52 MSTORE 2C68 81 DUP2 2C69 51 MLOAD 2C6A 90 SWAP1 2C6B 81 DUP2 2C6C 01 ADD 2C6D 90 SWAP1 2C6E 91 SWAP2 2C6F 52 MSTORE 2C70 90 SWAP1 2C71 81 DUP2 2C72 52 MSTORE 2C73 60 PUSH1 0xe0 2C75 82 DUP3 2C76 01 ADD 2C77 52 MSTORE label_2C78: // Incoming return from call to 0x3879 at 0x46E0 // Incoming return from call to 0x36BB at 0x467A // Incoming return from call to 0x3A5E at 0x4746 // Incoming return from call to 0x34A1 at 0x4213 // Incoming return from call to 0x3668 at 0x4647 // Inputs[3] // { // @2C79 stack[-6] // @2C79 stack[-1] // @2C7A stack[-5] // } 2C78 5B JUMPDEST 2C79 94 SWAP5 2C7A 93 SWAP4 2C7B 50 POP 2C7C 50 POP 2C7D 50 POP 2C7E 50 POP 2C7F 56 *JUMP // Stack delta = -5 // Outputs[1] { @2C79 stack[-6] = stack[-1] } // Block ends with unconditional jump to stack[-6] label_2C80: // Incoming jump from 0x294D // Incoming jump from 0x2937 // Inputs[6] // { // @2C84 memory[0x40:0x60] // @2C9A stack[-2] // @2CA6 stack[-1] // @2CAA memory[0x40:0x60] // @2CC0 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] // @2D07 stack[-3] // } 2C80 5B JUMPDEST 2C81 60 PUSH1 0x40 2C83 80 DUP1 2C84 51 MLOAD 2C85 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2C9A 84 DUP5 2C9B 16 AND 2C9C 60 PUSH1 0x24 2C9E 82 DUP3 2C9F 01 ADD 2CA0 52 MSTORE 2CA1 60 PUSH1 0x44 2CA3 80 DUP1 2CA4 82 DUP3 2CA5 01 ADD 2CA6 84 DUP5 2CA7 90 SWAP1 2CA8 52 MSTORE 2CA9 82 DUP3 2CAA 51 MLOAD 2CAB 80 DUP1 2CAC 83 DUP4 2CAD 03 SUB 2CAE 90 SWAP1 2CAF 91 SWAP2 2CB0 01 ADD 2CB1 81 DUP2 2CB2 52 MSTORE 2CB3 60 PUSH1 0x64 2CB5 90 SWAP1 2CB6 91 SWAP2 2CB7 01 ADD 2CB8 90 SWAP1 2CB9 91 SWAP2 2CBA 52 MSTORE 2CBB 60 PUSH1 0x20 2CBD 81 DUP2 2CBE 01 ADD 2CBF 80 DUP1 2CC0 51 MLOAD 2CC1 7B PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 2CDE 16 AND 2CDF 7F PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 2D00 17 OR 2D01 90 SWAP1 2D02 52 MSTORE 2D03 61 PUSH2 0x2d0d 2D06 90 SWAP1 2D07 84 DUP5 2D08 90 SWAP1 2D09 61 PUSH2 0x2d12 2D0C 56 *JUMP // Stack delta = +3 // Outputs[8] // { // @2CA0 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = stack[-2] & 0xffffffffffffffffffffffffffffffffffffffff // @2CA8 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = stack[-1] // @2CB2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x44 + (memory[0x40:0x60] - memory[0x40:0x60]) // @2CBA memory[0x40:0x60] = memory[0x40:0x60] + 0x64 // @2D02 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x095ea7b300000000000000000000000000000000000000000000000000000000 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff & memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20]) // @2D06 stack[0] = 0x2d0d // @2D08 stack[1] = stack[-3] // @2D08 stack[2] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x2d12 2D0D 5B JUMPDEST 2D0E 50 POP 2D0F 50 POP 2D10 50 POP 2D11 56 *JUMP label_2D12: // Incoming jump from 0x2D0C // Inputs[3] // { // @2D18 stack[-2] // @2D19 stack[-1] // @2D1C memory[0x40:0x60] // } 2D12 5B JUMPDEST 2D13 60 PUSH1 0x00 2D15 61 PUSH2 0x2d2e 2D18 83 DUP4 2D19 83 DUP4 2D1A 60 PUSH1 0x40 2D1C 51 MLOAD 2D1D 80 DUP1 2D1E 60 PUSH1 0x20 2D20 01 ADD 2D21 60 PUSH1 0x40 2D23 52 MSTORE 2D24 80 DUP1 2D25 60 PUSH1 0x00 2D27 81 DUP2 2D28 52 MSTORE 2D29 50 POP 2D2A 61 PUSH2 0x2d55 2D2D 56 *JUMP // Stack delta = +5 // Outputs[7] // { // @2D13 stack[0] = 0x00 // @2D15 stack[1] = 0x2d2e // @2D18 stack[2] = stack[-2] // @2D19 stack[3] = stack[-1] // @2D1C stack[4] = memory[0x40:0x60] // @2D23 memory[0x40:0x60] = 0x20 + memory[0x40:0x60] // @2D28 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // } // Block ends with unconditional jump to 0x2d55 2D2E 5B JUMPDEST 2D2F 80 DUP1 2D30 51 MLOAD 2D31 90 SWAP1 2D32 91 SWAP2 2D33 50 POP 2D34 15 ISZERO 2D35 61 PUSH2 0x2d0d 2D38 57 *JUMPI 2D39 80 DUP1 2D3A 80 DUP1 2D3B 60 PUSH1 0x20 2D3D 01 ADD 2D3E 90 SWAP1 2D3F 51 MLOAD 2D40 81 DUP2 2D41 01 ADD 2D42 90 SWAP1 2D43 61 PUSH2 0x2d4c 2D46 91 SWAP2 2D47 90 SWAP1 2D48 61 PUSH2 0x3da8 2D4B 56 *JUMP 2D4C 5B JUMPDEST 2D4D 61 PUSH2 0x2d0d 2D50 57 *JUMPI 2D51 60 PUSH1 0x00 2D53 80 DUP1 2D54 FD *REVERT label_2D55: // Incoming jump from 0x2D2D // Inputs[3] // { // @2D5B stack[-3] // @2D5C stack[-2] // @2D5F stack[-1] // } 2D55 5B JUMPDEST 2D56 60 PUSH1 0x60 2D58 61 PUSH2 0x2d64 2D5B 84 DUP5 2D5C 84 DUP5 2D5D 60 PUSH1 0x00 2D5F 85 DUP6 2D60 61 PUSH2 0x2d6e 2D63 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @2D56 stack[0] = 0x60 // @2D58 stack[1] = 0x2d64 // @2D5B stack[2] = stack[-3] // @2D5C stack[3] = stack[-2] // @2D5D stack[4] = 0x00 // @2D5F stack[5] = stack[-1] // } // Block ends with call to 0x2d6e, returns to 0x2D64 label_2D64: // Incoming return from call to 0x2D6E at 0x2D63 // Inputs[2] // { // @2D65 stack[-1] // @2D65 stack[-2] // } 2D64 5B JUMPDEST 2D65 90 SWAP1 2D66 50 POP // Stack delta = -1 // Outputs[1] { @2D65 stack[-2] = stack[-1] } // Block continues label_2D67: // Incoming jump from 0x2D66 // Incoming return from call to 0x3B1E at 0x4794 // Incoming return from call to 0x3470 at 0x403B // Incoming return from call to 0x2FE4 at 0x31E3 // Incoming return from call to 0x565C at 0x3BA2 // Incoming return from call to 0x567E at 0x3DA7 // Incoming return from call to 0x484E at 0x4D25 // Incoming return from call to 0x3590 at 0x439C // Inputs[3] // { // @2D68 stack[-5] // @2D68 stack[-1] // @2D69 stack[-4] // } 2D67 5B JUMPDEST 2D68 93 SWAP4 2D69 92 SWAP3 2D6A 50 POP 2D6B 50 POP 2D6C 50 POP 2D6D 56 *JUMP // Stack delta = -4 // Outputs[1] { @2D68 stack[-5] = stack[-1] } // Block ends with unconditional jump to stack[-5] label_2D6E: // Incoming call from 0x2D63, returns to 0x2D64 // Inputs[3] // { // @2D71 stack[-2] // @2D72 address(this).balance // @2D72 address(this) // } 2D6E 5B JUMPDEST 2D6F 60 PUSH1 0x60 2D71 82 DUP3 2D72 47 SELFBALANCE 2D73 10 LT 2D74 15 ISZERO 2D75 61 PUSH2 0x2d7d 2D78 57 *JUMPI // Stack delta = +1 // Outputs[1] { @2D6F stack[0] = 0x60 } // Block ends with conditional jump to 0x2d7d, if !(address(this).balance < stack[-2]) label_2D79: // Incoming jump from 0x2D78, if not !(address(this).balance < stack[-2]) // Inputs[1] { @2D7C memory[0x00:0x00] } 2D79 60 PUSH1 0x00 2D7B 80 DUP1 2D7C FD *REVERT // Stack delta = +0 // Outputs[1] { @2D7C revert(memory[0x00:0x00]); } // Block terminates label_2D7D: // Incoming jump from 0x2D78, if !(address(this).balance < stack[-2]) // Inputs[2] // { // @2D7E stack[-5] // @2D7F address(stack[-5]).code.length // } 2D7D 5B JUMPDEST 2D7E 84 DUP5 2D7F 3B EXTCODESIZE 2D80 61 PUSH2 0x2d88 2D83 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2d88, if address(stack[-5]).code.length label_2D84: // Incoming jump from 0x2D83, if not address(stack[-5]).code.length // Inputs[1] { @2D87 memory[0x00:0x00] } 2D84 60 PUSH1 0x00 2D86 80 DUP1 2D87 FD *REVERT // Stack delta = +0 // Outputs[1] { @2D87 revert(memory[0x00:0x00]); } // Block terminates label_2D88: // Incoming jump from 0x2D83, if address(stack[-5]).code.length // Inputs[4] // { // @2D8C stack[-5] // @2DA3 stack[-3] // @2DA4 stack[-4] // @2DA7 memory[0x40:0x60] // } 2D88 5B JUMPDEST 2D89 60 PUSH1 0x00 2D8B 80 DUP1 2D8C 86 DUP7 2D8D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2DA2 16 AND 2DA3 85 DUP6 2DA4 87 DUP8 2DA5 60 PUSH1 0x40 2DA7 51 MLOAD 2DA8 61 PUSH2 0x2db1 2DAB 91 SWAP2 2DAC 90 SWAP1 2DAD 61 PUSH2 0x4b1f 2DB0 56 *JUMP // Stack delta = +7 // Outputs[7] // { // @2D89 stack[0] = 0x00 // @2D8B stack[1] = 0x00 // @2DA2 stack[2] = 0xffffffffffffffffffffffffffffffffffffffff & stack[-5] // @2DA3 stack[3] = stack[-3] // @2DAB stack[4] = 0x2db1 // @2DAC stack[5] = stack[-4] // @2DAC stack[6] = memory[0x40:0x60] // } // Block ends with call to 0x4b1f, returns to 0x2DB1 label_2DB1: // Incoming return from call to 0x4B1F at 0x2DB0 // Inputs[8] // { // @2DB6 memory[0x40:0x60] // @2DB8 stack[-1] // @2DBB stack[-2] // @2DBC stack[-3] // @2DBD msg.gas // @2DBE memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]] // @2DBE address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @2DC3 returndata.length // } 2DB1 5B JUMPDEST 2DB2 60 PUSH1 0x00 2DB4 60 PUSH1 0x40 2DB6 51 MLOAD 2DB7 80 DUP1 2DB8 83 DUP4 2DB9 03 SUB 2DBA 81 DUP2 2DBB 85 DUP6 2DBC 87 DUP8 2DBD 5A GAS 2DBE F1 CALL 2DBF 92 SWAP3 2DC0 50 POP 2DC1 50 POP 2DC2 50 POP 2DC3 3D RETURNDATASIZE 2DC4 80 DUP1 2DC5 60 PUSH1 0x00 2DC7 81 DUP2 2DC8 14 EQ 2DC9 61 PUSH2 0x2dee 2DCC 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @2DBE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] = address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @2DBF stack[-3] = address(stack[-3]).call.gas(msg.gas).value(stack[-2])(memory[memory[0x40:0x60]:memory[0x40:0x60] + stack[-1] - memory[0x40:0x60]]) // @2DC3 stack[-2] = returndata.length // @2DC4 stack[-1] = returndata.length // } // Block ends with conditional jump to 0x2dee, if returndata.length == 0x00 label_2DCD: // Incoming jump from 0x2DCC, if not returndata.length == 0x00 // Inputs[6] // { // @2DCF memory[0x40:0x60] // @2DD0 stack[-2] // @2DD7 returndata.length // @2DDF returndata.length // @2DE2 returndata.length // @2DE9 returndata[0x00:0x00 + returndata.length] // } 2DCD 60 PUSH1 0x40 2DCF 51 MLOAD 2DD0 91 SWAP2 2DD1 50 POP 2DD2 60 PUSH1 0x1f 2DD4 19 NOT 2DD5 60 PUSH1 0x3f 2DD7 3D RETURNDATASIZE 2DD8 01 ADD 2DD9 16 AND 2DDA 82 DUP3 2DDB 01 ADD 2DDC 60 PUSH1 0x40 2DDE 52 MSTORE 2DDF 3D RETURNDATASIZE 2DE0 82 DUP3 2DE1 52 MSTORE 2DE2 3D RETURNDATASIZE 2DE3 60 PUSH1 0x00 2DE5 60 PUSH1 0x20 2DE7 84 DUP5 2DE8 01 ADD 2DE9 3E RETURNDATACOPY 2DEA 61 PUSH2 0x2df3 2DED 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @2DD0 stack[-2] = memory[0x40:0x60] // @2DDE memory[0x40:0x60] = memory[0x40:0x60] + (returndata.length + 0x3f & ~0x1f) // @2DE1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = returndata.length // @2DE9 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + returndata.length] = returndata[0x00:0x00 + returndata.length] // } // Block ends with unconditional jump to 0x2df3 label_2DEE: // Incoming jump from 0x2DCC, if returndata.length == 0x00 // Inputs[5] // { // @2DF1 stack[-2] // @2DF5 stack[-4] // @2DF7 stack[-5] // @2DF7 stack[-3] // @2DFE stack[-7] // } 2DEE 5B JUMPDEST 2DEF 60 PUSH1 0x60 2DF1 91 SWAP2 2DF2 50 POP 2DF3 5B JUMPDEST 2DF4 50 POP 2DF5 91 SWAP2 2DF6 50 POP 2DF7 91 SWAP2 2DF8 50 POP 2DF9 61 PUSH2 0x2e03 2DFC 82 DUP3 2DFD 82 DUP3 2DFE 86 DUP7 2DFF 61 PUSH2 0x2e0e 2E02 56 *JUMP // Stack delta = +1 // Outputs[6] // { // @2DF5 stack[-4] = 0x60 // @2DF7 stack[-5] = stack[-3] // @2DF9 stack[-3] = 0x2e03 // @2DFC stack[-2] = stack[-3] // @2DFD stack[-1] = 0x60 // @2DFE stack[0] = stack[-7] // } // Block ends with call to 0x2e0e, returns to 0x2E03 label_2E03: // Incoming return from call to 0x2E0E at 0x2E02 // Incoming return from call to 0x2E0E at 0x2E02 // Inputs[3] // { // @2E04 stack[-1] // @2E04 stack[-9] // @2E05 stack[-8] // } 2E03 5B JUMPDEST 2E04 97 SWAP8 2E05 96 SWAP7 2E06 50 POP 2E07 50 POP 2E08 50 POP 2E09 50 POP 2E0A 50 POP 2E0B 50 POP 2E0C 50 POP 2E0D 56 *JUMP // Stack delta = -8 // Outputs[1] { @2E04 stack[-9] = stack[-1] } // Block ends with unconditional jump to stack[-9] label_2E0E: // Incoming call from 0x2E02, returns to 0x2E03 // Incoming call from 0x2E02, returns to 0x2E03 // Inputs[1] { @2E11 stack[-3] } 2E0E 5B JUMPDEST 2E0F 60 PUSH1 0x60 2E11 83 DUP4 2E12 61 PUSH2 0x2e59 2E15 57 *JUMPI // Stack delta = +1 // Outputs[1] { @2E0F stack[0] = 0x60 } // Block ends with conditional jump to 0x2e59, if stack[-3] label_2E16: // Incoming jump from 0x2E15, if not stack[-3] // Inputs[2] // { // @2E16 stack[-3] // @2E17 memory[stack[-3]:stack[-3] + 0x20] // } 2E16 82 DUP3 2E17 51 MLOAD 2E18 15 ISZERO 2E19 61 PUSH2 0x2e25 2E1C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x2e25, if !memory[stack[-3]:stack[-3] + 0x20] label_2E1D: // Incoming jump from 0x2E1C, if not !memory[stack[-3]:stack[-3] + 0x20] // Inputs[3] // { // @2E1D stack[-3] // @2E1E memory[stack[-3]:stack[-3] + 0x20] // @2E24 memory[0x20 + stack[-3]:0x20 + stack[-3] + memory[stack[-3]:stack[-3] + 0x20]] // } 2E1D 82 DUP3 2E1E 51 MLOAD 2E1F 80 DUP1 2E20 84 DUP5 2E21 60 PUSH1 0x20 2E23 01 ADD 2E24 FD *REVERT // Stack delta = +1 // Outputs[2] // { // @2E1E stack[0] = memory[stack[-3]:stack[-3] + 0x20] // @2E24 revert(memory[0x20 + stack[-3]:0x20 + stack[-3] + memory[stack[-3]:stack[-3] + 0x20]]); // } // Block terminates label_2E25: // Incoming jump from 0x2E1C, if !memory[stack[-3]:stack[-3] + 0x20] // Inputs[2] // { // @2E26 stack[-2] // @2E29 memory[0x40:0x60] // } 2E25 5B JUMPDEST 2E26 81 DUP2 2E27 60 PUSH1 0x40 2E29 51 MLOAD 2E2A 7F PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 2E4B 81 DUP2 2E4C 52 MSTORE 2E4D 60 PUSH1 0x04 2E4F 01 ADD 2E50 61 PUSH2 0x16cc 2E53 91 SWAP2 2E54 90 SWAP1 2E55 61 PUSH2 0x4d13 2E58 56 *JUMP // Stack delta = +3 // Outputs[4] // { // @2E4C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000 // @2E53 stack[0] = 0x16cc // @2E54 stack[1] = stack[-2] // @2E54 stack[2] = 0x04 + memory[0x40:0x60] // } // Block ends with unconditional jump to 0x4d13 label_2E59: // Incoming jump from 0x2E15, if stack[-3] // Inputs[4] // { // @2E5B stack[-2] // @2E5B stack[-3] // @2E5C stack[-5] // @2E5D stack[-4] // } 2E59 5B JUMPDEST 2E5A 50 POP 2E5B 90 SWAP1 2E5C 92 SWAP3 2E5D 91 SWAP2 2E5E 50 POP 2E5F 50 POP 2E60 56 *JUMP // Stack delta = -4 // Outputs[1] { @2E5C stack[-5] = stack[-3] } // Block ends with unconditional jump to stack[-5] 2E61 5B JUMPDEST 2E62 60 PUSH1 0x40 2E64 80 DUP1 2E65 51 MLOAD 2E66 60 PUSH1 0xa0 2E68 81 DUP2 2E69 01 ADD 2E6A 82 DUP3 2E6B 52 MSTORE 2E6C 60 PUSH1 0x00 2E6E 91 SWAP2 2E6F 81 DUP2 2E70 01 ADD 2E71 91 SWAP2 2E72 82 DUP3 2E73 52 MSTORE 2E74 60 PUSH1 0x60 2E76 80 DUP1 2E77 82 DUP3 2E78 01 ADD 2E79 81 DUP2 2E7A 90 SWAP1 2E7B 52 MSTORE 2E7C 60 PUSH1 0x80 2E7E 82 DUP3 2E7F 01 ADD 2E80 52 MSTORE 2E81 90 SWAP1 2E82 81 DUP2 2E83 90 SWAP1 2E84 5B JUMPDEST 2E85 81 DUP2 2E86 52 MSTORE 2E87 60 PUSH1 0x20 2E89 01 ADD 2E8A 60 PUSH1 0x00 2E8C 81 DUP2 2E8D 52 MSTORE 2E8E 50 POP 2E8F 90 SWAP1 2E90 56 *JUMP 2E91 5B JUMPDEST 2E92 60 PUSH1 0x40 2E94 51 MLOAD 2E95 80 DUP1 2E96 60 PUSH1 0x40 2E98 01 ADD 2E99 60 PUSH1 0x40 2E9B 52 MSTORE 2E9C 80 DUP1 2E9D 60 PUSH1 0x00 2E9F 81 DUP2 2EA0 52 MSTORE 2EA1 60 PUSH1 0x20 2EA3 01 ADD 2EA4 61 PUSH2 0x2ec0 2EA7 60 PUSH1 0x40 2EA9 51 MLOAD 2EAA 80 DUP1 2EAB 60 PUSH1 0x40 2EAD 01 ADD 2EAE 60 PUSH1 0x40 2EB0 52 MSTORE 2EB1 80 DUP1 2EB2 60 PUSH1 0x00 2EB4 81 DUP2 2EB5 52 MSTORE 2EB6 60 PUSH1 0x20 2EB8 01 ADD 2EB9 60 PUSH1 0x60 2EBB 81 DUP2 2EBC 52 MSTORE 2EBD 50 POP 2EBE 90 SWAP1 2EBF 56 *JUMP 2EC0 5B JUMPDEST 2EC1 90 SWAP1 2EC2 52 MSTORE 2EC3 90 SWAP1 2EC4 56 *JUMP 2EC5 5B JUMPDEST 2EC6 60 PUSH1 0x40 2EC8 51 MLOAD 2EC9 80 DUP1 2ECA 60 PUSH1 0x40 2ECC 01 ADD 2ECD 60 PUSH1 0x40 2ECF 52 MSTORE 2ED0 80 DUP1 2ED1 60 PUSH1 0x60 2ED3 81 DUP2 2ED4 52 MSTORE 2ED5 60 PUSH1 0x20 2ED7 01 ADD 2ED8 61 PUSH2 0x2ec0 2EDB 60 PUSH1 0x40 2EDD 51 MLOAD 2EDE 80 DUP1 2EDF 60 PUSH1 0x60 2EE1 01 ADD 2EE2 60 PUSH1 0x40 2EE4 52 MSTORE 2EE5 80 DUP1 2EE6 60 PUSH1 0x00 2EE8 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2EFD 16 AND 2EFE 81 DUP2 2EFF 52 MSTORE 2F00 60 PUSH1 0x20 2F02 01 ADD 2F03 60 PUSH1 0x60 2F05 81 DUP2 2F06 52 MSTORE 2F07 60 PUSH1 0x20 2F09 01 ADD 2F0A 60 PUSH1 0x60 2F0C 81 DUP2 2F0D 52 MSTORE 2F0E 50 POP 2F0F 90 SWAP1 2F10 56 *JUMP 2F11 5B JUMPDEST 2F12 60 PUSH1 0x40 2F14 80 DUP1 2F15 51 MLOAD 2F16 60 PUSH1 0xa0 2F18 81 DUP2 2F19 01 ADD 2F1A 82 DUP3 2F1B 52 MSTORE 2F1C 60 PUSH1 0x00 2F1E 60 PUSH1 0x60 2F20 80 DUP1 2F21 83 DUP4 2F22 01 ADD 2F23 82 DUP3 2F24 81 DUP2 2F25 52 MSTORE 2F26 60 PUSH1 0x80 2F28 84 DUP5 2F29 01 ADD 2F2A 83 DUP4 2F2B 90 SWAP1 2F2C 52 MSTORE 2F2D 83 DUP4 2F2E 52 MSTORE 2F2F 83 DUP4 2F30 51 MLOAD 2F31 80 DUP1 2F32 85 DUP6 2F33 01 ADD 2F34 85 DUP6 2F35 52 MSTORE 2F36 82 DUP3 2F37 81 DUP2 2F38 52 MSTORE 2F39 60 PUSH1 0x20 2F3B 80 DUP1 2F3C 82 DUP3 2F3D 01 ADD 2F3E 84 DUP5 2F3F 90 SWAP1 2F40 52 MSTORE 2F41 80 DUP1 2F42 85 DUP6 2F43 01 ADD 2F44 91 SWAP2 2F45 90 SWAP1 2F46 91 SWAP2 2F47 52 MSTORE 2F48 84 DUP5 2F49 51 MLOAD 2F4A 80 DUP1 2F4B 83 DUP4 2F4C 01 ADD 2F4D 86 DUP7 2F4E 52 MSTORE 2F4F 92 SWAP3 2F50 83 DUP4 2F51 52 MSTORE 2F52 82 DUP3 2F53 01 ADD 2F54 81 DUP2 2F55 90 SWAP1 2F56 52 MSTORE 2F57 81 DUP2 2F58 84 DUP5 2F59 01 ADD 2F5A 52 MSTORE 2F5B 90 SWAP1 2F5C 91 SWAP2 2F5D 82 DUP3 2F5E 01 ADD 2F5F 90 SWAP1 2F60 61 PUSH2 0x2ec0 2F63 56 *JUMP 2F64 5B JUMPDEST 2F65 60 PUSH1 0x40 2F67 80 DUP1 2F68 51 MLOAD 2F69 61 PUSH2 0x0100 2F6C 81 DUP2 2F6D 01 ADD 2F6E 82 DUP3 2F6F 52 MSTORE 2F70 60 PUSH1 0x00 2F72 80 DUP1 2F73 82 DUP3 2F74 52 MSTORE 2F75 60 PUSH1 0x20 2F77 82 DUP3 2F78 01 ADD 2F79 52 MSTORE 2F7A 90 SWAP1 2F7B 81 DUP2 2F7C 01 ADD 2F7D 61 PUSH2 0x2f84 2F80 61 PUSH2 0x2fc3 2F83 56 *JUMP 2F84 5B JUMPDEST 2F85 81 DUP2 2F86 52 MSTORE 2F87 60 PUSH1 0x20 2F89 01 ADD 2F8A 60 PUSH1 0x00 2F8C 81 DUP2 2F8D 52 MSTORE 2F8E 60 PUSH1 0x20 2F90 01 ADD 2F91 60 PUSH1 0x00 2F93 81 DUP2 2F94 52 MSTORE 2F95 60 PUSH1 0x20 2F97 01 ADD 2F98 60 PUSH1 0x00 2F9A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 2FAF 16 AND 2FB0 81 DUP2 2FB1 52 MSTORE 2FB2 60 PUSH1 0x20 2FB4 01 ADD 2FB5 60 PUSH1 0x00 2FB7 81 DUP2 2FB8 52 MSTORE 2FB9 60 PUSH1 0x20 2FBB 01 ADD 2FBC 60 PUSH1 0x60 2FBE 81 DUP2 2FBF 52 MSTORE 2FC0 50 POP 2FC1 90 SWAP1 2FC2 56 *JUMP 2FC3 5B JUMPDEST 2FC4 60 PUSH1 0x40 2FC6 80 DUP1 2FC7 51 MLOAD 2FC8 60 PUSH1 0x80 2FCA 81 DUP2 2FCB 01 ADD 2FCC 90 SWAP1 2FCD 91 SWAP2 2FCE 52 MSTORE 2FCF 60 PUSH1 0x00 2FD1 80 DUP1 2FD2 82 DUP3 2FD3 52 MSTORE 2FD4 60 PUSH1 0x20 2FD6 82 DUP3 2FD7 01 ADD 2FD8 90 SWAP1 2FD9 81 DUP2 2FDA 52 MSTORE 2FDB 60 PUSH1 0x20 2FDD 01 ADD 2FDE 60 PUSH1 0x00 2FE0 61 PUSH2 0x2e84 2FE3 56 *JUMP label_2FE4: // Incoming call from 0x31E3, returns to 0x2D67 // Inputs[1] { @2FED stack[-2] } 2FE4 5B JUMPDEST 2FE5 60 PUSH1 0x00 2FE7 61 PUSH2 0x2ff7 2FEA 61 PUSH2 0x2ff2 2FED 84 DUP5 2FEE 61 PUSH2 0x5349 2FF1 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @2FE5 stack[0] = 0x00 // @2FE7 stack[1] = 0x2ff7 // @2FEA stack[2] = 0x2ff2 // @2FED stack[3] = stack[-2] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_2FF2: // Incoming return from call to 0x5349 at 0x3713 // Incoming return from call to 0x5349 at 0x3203 // Incoming return from call to 0x5349 at 0x2FF1 // Incoming return from call to 0x536D at 0x3383 // Incoming return from call to 0x5349 at 0x40AD // Incoming return from call to 0x5349 at 0x3062 // Incoming return from call to 0x5349 at 0x3904 // Incoming return from call to 0x5349 at 0x353E 2FF2 5B JUMPDEST 2FF3 61 PUSH2 0x5318 2FF6 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x5318 label_2FF7: // Incoming return from call to 0x2FF2 at 0x2FF1 // Inputs[4] // { // @2FF8 stack[-4] // @2FF9 stack[-1] // @2FFB stack[-2] // @3003 stack[-3] // } 2FF7 5B JUMPDEST 2FF8 83 DUP4 2FF9 81 DUP2 2FFA 52 MSTORE 2FFB 90 SWAP1 2FFC 50 POP 2FFD 60 PUSH1 0x20 2FFF 80 DUP1 3000 82 DUP3 3001 01 ADD 3002 90 SWAP1 3003 83 DUP4 3004 60 PUSH1 0x00 3006 5B JUMPDEST 3007 86 DUP7 3008 81 DUP2 3009 10 LT 300A 15 ISZERO 300B 61 PUSH2 0x302d 300E 57 *JUMPI // Stack delta = +3 // Outputs[6] // { // @2FFA memory[stack[-1]:stack[-1] + 0x20] = stack[-4] // @2FFB stack[-2] = stack[-1] // @3002 stack[-1] = stack[-1] + 0x20 // @3002 stack[0] = 0x20 // @3003 stack[1] = stack[-3] // @3004 stack[2] = 0x00 // } // Block ends with conditional jump to 0x302d, if !(0x00 < stack[-4]) label_300F: // Incoming jump from 0x300E, if not !(0x00 < stack[-4]) // Inputs[4] // { // @3012 stack[-8] // @3013 stack[-2] // @3014 msg.data[stack[-2]:stack[-2] + 0x20] // @3015 stack[-6] // } 300F 61 PUSH2 0x301b 3012 88 DUP9 3013 83 DUP4 3014 35 CALLDATALOAD 3015 88 DUP9 3016 01 ADD 3017 61 PUSH2 0x3ab1 301A 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @300F stack[0] = 0x301b // @3012 stack[1] = stack[-8] // @3016 stack[2] = stack[-6] + msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with unconditional jump to 0x3ab1 301B 5B JUMPDEST 301C 84 DUP5 301D 52 MSTORE 301E 92 SWAP3 301F 82 DUP3 3020 01 ADD 3021 92 SWAP3 3022 90 SWAP1 3023 82 DUP3 3024 01 ADD 3025 90 SWAP1 3026 60 PUSH1 0x01 3028 01 ADD 3029 61 PUSH2 0x3006 302C 56 *JUMP label_302D: // Incoming jump from 0x300E, if !(0x00 < stack[-4]) // Inputs[3] // { // @3032 stack[-9] // @3032 stack[-5] // @3033 stack[-8] // } 302D 5B JUMPDEST 302E 50 POP 302F 50 POP 3030 50 POP 3031 50 POP 3032 93 SWAP4 3033 92 SWAP3 3034 50 POP 3035 50 POP 3036 50 POP 3037 56 *JUMP // Stack delta = -8 // Outputs[1] { @3032 stack[-9] = stack[-5] } // Block ends with unconditional jump to stack[-9] label_3038: // Incoming jump from 0x433B // Inputs[2] // { // @3039 stack[-1] // @303A msg.data[stack[-1]:stack[-1] + 0x20] // } 3038 5B JUMPDEST 3039 80 DUP1 303A 35 CALLDATALOAD 303B 61 PUSH2 0x0496 303E 81 DUP2 303F 61 PUSH2 0x565c 3042 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @303A stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @303B stack[1] = 0x0496 // @303E stack[2] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x565c, returns to 0x0496 label_3043: // Incoming call from 0x4105, returns to 0x4106 // Inputs[2] // { // @3046 stack[-2] // @3049 stack[-1] // } 3043 5B JUMPDEST 3044 60 PUSH1 0x00 3046 82 DUP3 3047 60 PUSH1 0x1f 3049 83 DUP4 304A 01 ADD 304B 12 SLT 304C 61 PUSH2 0x3053 304F 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3044 stack[0] = 0x00 } // Block ends with conditional jump to 0x3053, if stack[-1] + 0x1f i< stack[-2] label_3050: // Incoming jump from 0x304F, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3050 stack[-1] // @3052 memory[stack[-1]:stack[-1] + stack[-1]] // } 3050 80 DUP1 3051 81 DUP2 3052 FD *REVERT // Stack delta = +0 // Outputs[1] { @3052 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3053: // Incoming jump from 0x304F, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3054 stack[-2] // @3055 msg.data[stack[-2]:stack[-2] + 0x20] // } 3053 5B JUMPDEST 3054 81 DUP2 3055 35 CALLDATALOAD 3056 60 PUSH1 0x20 3058 61 PUSH2 0x3063 305B 61 PUSH2 0x2ff2 305E 83 DUP4 305F 61 PUSH2 0x5349 3062 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @3055 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3056 stack[1] = 0x20 // @3058 stack[2] = 0x3063 // @305B stack[3] = 0x2ff2 // @305E stack[4] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_3063: // Incoming return from call to 0x2FF2 at 0x3062 // Inputs[5] // { // @3064 stack[-3] // @3065 stack[-1] // @3067 stack[-2] // @306B stack[-5] // @306E stack[-4] // } 3063 5B JUMPDEST 3064 82 DUP3 3065 81 DUP2 3066 52 MSTORE 3067 81 DUP2 3068 81 DUP2 3069 01 ADD 306A 90 SWAP1 306B 85 DUP6 306C 83 DUP4 306D 01 ADD 306E 85 DUP6 306F 5B JUMPDEST 3070 85 DUP6 3071 81 DUP2 3072 10 LT 3073 15 ISZERO 3074 61 PUSH2 0x3098 3077 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @3066 memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @306A stack[0] = stack[-1] // @306A stack[-1] = stack[-1] + stack[-2] // @306D stack[1] = stack[-2] + stack[-5] // @306E stack[2] = stack[-4] // } // Block ends with conditional jump to 0x3098, if !(stack[-4] < stack[-3]) label_3078: // Incoming jump from 0x3077, if not !(stack[-4] < stack[-3]) // Incoming jump from 0x3077, if not !(stack[-1] < stack[-6]) // Inputs[5] // { // @307B stack[-9] // @307C stack[-5] // @307D stack[-2] // @307E msg.data[stack[-2]:stack[-2] + 0x20] // @307F stack[-8] // } 3078 61 PUSH2 0x3086 307B 89 DUP10 307C 86 DUP7 307D 84 DUP5 307E 35 CALLDATALOAD 307F 8B DUP12 3080 01 ADD 3081 01 ADD 3082 61 PUSH2 0x34a1 3085 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3078 stack[0] = 0x3086 // @307B stack[1] = stack[-9] // @3081 stack[2] = stack[-8] + msg.data[stack[-2]:stack[-2] + 0x20] + stack[-5] // } // Block ends with call to 0x34a1, returns to 0x3086 label_3086: // Incoming return from call to 0x34A1 at 0x3085 // Inputs[5] // { // @3087 stack[-5] // @3088 stack[-1] // @3089 stack[-2] // @308A stack[-6] // @308D stack[-3] // } 3086 5B JUMPDEST 3087 84 DUP5 3088 52 MSTORE 3089 92 SWAP3 308A 84 DUP5 308B 01 ADD 308C 92 SWAP3 308D 90 SWAP1 308E 84 DUP5 308F 01 ADD 3090 90 SWAP1 3091 60 PUSH1 0x01 3093 01 ADD 3094 61 PUSH2 0x306f 3097 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @3088 memory[stack[-5]:stack[-5] + 0x20] = stack[-1] // @308C stack[-5] = stack[-6] + stack[-5] // @3090 stack[-3] = stack[-6] + stack[-3] // @3093 stack[-2] = 0x01 + stack[-2] // } // Block ends with unconditional jump to 0x306f label_3098: // Incoming jump from 0x3218, if !(stack[-4] < stack[-3]) // Incoming jump from 0x3077, if !(stack[-4] < stack[-3]) // Incoming jump from 0x3077, if !(stack[-1] < stack[-6]) // Inputs[4] // { // @309A stack[-2] // @309A stack[-3] // @309B stack[-10] // @309C stack[-9] // } 3098 5B JUMPDEST 3099 50 POP 309A 90 SWAP1 309B 97 SWAP8 309C 96 SWAP7 309D 50 POP 309E 50 POP 309F 50 POP 30A0 50 POP 30A1 50 POP 30A2 50 POP 30A3 50 POP 30A4 56 *JUMP // Stack delta = -9 // Outputs[1] { @309B stack[-10] = stack[-3] } // Block ends with unconditional jump to stack[-10] 30A5 5B JUMPDEST 30A6 60 PUSH1 0x00 30A8 82 DUP3 30A9 60 PUSH1 0x1f 30AB 83 DUP4 30AC 01 ADD 30AD 12 SLT 30AE 61 PUSH2 0x30b5 30B1 57 *JUMPI 30B2 80 DUP1 30B3 81 DUP2 30B4 FD *REVERT 30B5 5B JUMPDEST 30B6 81 DUP2 30B7 51 MLOAD 30B8 60 PUSH1 0x20 30BA 61 PUSH2 0x30c5 30BD 61 PUSH2 0x2ff2 30C0 83 DUP4 30C1 61 PUSH2 0x5349 30C4 56 *JUMP 30C5 5B JUMPDEST 30C6 82 DUP3 30C7 81 DUP2 30C8 52 MSTORE 30C9 81 DUP2 30CA 81 DUP2 30CB 01 ADD 30CC 90 SWAP1 30CD 85 DUP6 30CE 83 DUP4 30CF 01 ADD 30D0 85 DUP6 30D1 5B JUMPDEST 30D2 85 DUP6 30D3 81 DUP2 30D4 10 LT 30D5 15 ISZERO 30D6 61 PUSH2 0x3098 30D9 57 *JUMPI 30DA 81 DUP2 30DB 51 MLOAD 30DC 88 DUP9 30DD 01 ADD 30DE 60 PUSH1 0xa0 30E0 80 DUP1 30E1 60 PUSH1 0x1f 30E3 19 NOT 30E4 83 DUP4 30E5 8D DUP14 30E6 03 SUB 30E7 01 ADD 30E8 12 SLT 30E9 15 ISZERO 30EA 61 PUSH2 0x30f1 30ED 57 *JUMPI 30EE 88 DUP9 30EF 89 DUP10 30F0 FD *REVERT 30F1 5B JUMPDEST 30F2 61 PUSH2 0x30fa 30F5 81 DUP2 30F6 61 PUSH2 0x5318 30F9 56 *JUMP 30FA 5B JUMPDEST 30FB 87 DUP8 30FC 83 DUP4 30FD 01 ADD 30FE 51 MLOAD 30FF 61 PUSH2 0x3107 3102 81 DUP2 3103 61 PUSH2 0x567e 3106 56 *JUMP 3107 5B JUMPDEST 3108 81 DUP2 3109 52 MSTORE 310A 60 PUSH1 0x40 310C 83 DUP4 310D 81 DUP2 310E 01 ADD 310F 51 MLOAD 3110 89 DUP10 3111 83 DUP4 3112 01 ADD 3113 52 MSTORE 3114 60 PUSH1 0x60 3116 84 DUP5 3117 01 ADD 3118 51 MLOAD 3119 90 SWAP1 311A 82 DUP3 311B 01 ADD 311C 52 MSTORE 311D 60 PUSH1 0x80 311F 80 DUP1 3120 84 DUP5 3121 01 ADD 3122 51 MLOAD 3123 67 PUSH8 0xffffffffffffffff 312C 80 DUP1 312D 82 DUP3 312E 11 GT 312F 15 ISZERO 3130 61 PUSH2 0x3137 3133 57 *JUMPI 3134 8C DUP13 3135 8D DUP14 3136 FD *REVERT 3137 5B JUMPDEST 3138 61 PUSH2 0x3145 313B 8F DUP16 313C 8C DUP13 313D 84 DUP5 313E 89 DUP10 313F 01 ADD 3140 01 ADD 3141 61 PUSH2 0x33b2 3144 56 *JUMP 3145 5B JUMPDEST 3146 60 PUSH1 0x60 3148 85 DUP6 3149 01 ADD 314A 52 MSTORE 314B 93 SWAP4 314C 85 DUP6 314D 01 ADD 314E 51 MLOAD 314F 93 SWAP4 3150 80 DUP1 3151 85 DUP6 3152 11 GT 3153 15 ISZERO 3154 61 PUSH2 0x315b 3157 57 *JUMPI 3158 8C DUP13 3159 8D DUP14 315A FD *REVERT 315B 5B JUMPDEST 315C 50 POP 315D 50 POP 315E 61 PUSH2 0x316b 3161 8D DUP14 3162 8A DUP11 3163 85 DUP6 3164 87 DUP8 3165 01 ADD 3166 01 ADD 3167 61 PUSH2 0x32c1 316A 56 *JUMP 316B 5B JUMPDEST 316C 90 SWAP1 316D 82 DUP3 316E 01 ADD 316F 52 MSTORE 3170 86 DUP7 3171 52 MSTORE 3172 50 POP 3173 50 POP 3174 92 SWAP3 3175 84 DUP5 3176 01 ADD 3177 92 SWAP3 3178 90 SWAP1 3179 84 DUP5 317A 01 ADD 317B 90 SWAP1 317C 60 PUSH1 0x01 317E 01 ADD 317F 61 PUSH2 0x30d1 3182 56 *JUMP label_3183: // Incoming call from 0x3D2E, returns to 0x3D2F // Incoming call from 0x3D52, returns to 0x3D53 // Inputs[2] // { // @3187 stack[-2] // @318A stack[-1] // } 3183 5B JUMPDEST 3184 60 PUSH1 0x00 3186 80 DUP1 3187 83 DUP4 3188 60 PUSH1 0x1f 318A 84 DUP5 318B 01 ADD 318C 12 SLT 318D 61 PUSH2 0x3194 3190 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3184 stack[0] = 0x00 // @3186 stack[1] = 0x00 // } // Block ends with conditional jump to 0x3194, if stack[-1] + 0x1f i< stack[-2] label_3191: // Incoming jump from 0x3190, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3191 stack[-2] // @3193 memory[stack[-2]:stack[-2] + stack[-2]] // } 3191 81 DUP2 3192 82 DUP3 3193 FD *REVERT // Stack delta = +0 // Outputs[1] { @3193 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3194: // Incoming jump from 0x3190, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3196 stack[-3] // @3197 msg.data[stack[-3]:stack[-3] + 0x20] // } 3194 5B JUMPDEST 3195 50 POP 3196 81 DUP2 3197 35 CALLDATALOAD 3198 67 PUSH8 0xffffffffffffffff 31A1 81 DUP2 31A2 11 GT 31A3 15 ISZERO 31A4 61 PUSH2 0x31ab 31A7 57 *JUMPI // Stack delta = +0 // Outputs[1] { @3197 stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] } // Block ends with conditional jump to 0x31ab, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) label_31A8: // Incoming jump from 0x31A7, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @31A8 stack[-2] // @31AA memory[stack[-2]:stack[-2] + stack[-2]] // } 31A8 81 DUP2 31A9 82 DUP3 31AA FD *REVERT // Stack delta = +0 // Outputs[1] { @31AA revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_31AB: // Incoming jump from 0x31A7, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @31AE stack[-3] // @31B0 stack[-2] // @31B2 stack[-4] // @31B6 stack[-1] // } 31AB 5B JUMPDEST 31AC 60 PUSH1 0x20 31AE 83 DUP4 31AF 01 ADD 31B0 91 SWAP2 31B1 50 POP 31B2 83 DUP4 31B3 60 PUSH1 0x20 31B5 80 DUP1 31B6 83 DUP4 31B7 02 MUL 31B8 85 DUP6 31B9 01 ADD 31BA 01 ADD 31BB 11 GT 31BC 15 ISZERO 31BD 61 PUSH2 0x1904 31C0 57 *JUMPI // Stack delta = +0 // Outputs[1] { @31B0 stack[-2] = stack[-3] + 0x20 } // Block ends with conditional jump to 0x1904, if !(stack[-3] + stack[-1] * 0x20 + 0x20 > stack[-4]) label_31C1: // Incoming jump from 0x31C0, if not !(stack[-3] + stack[-1] * 0x20 + 0x20 > stack[-4]) // Inputs[1] { @31C4 memory[0x00:0x00] } 31C1 60 PUSH1 0x00 31C3 80 DUP1 31C4 FD *REVERT // Stack delta = +0 // Outputs[1] { @31C4 revert(memory[0x00:0x00]); } // Block terminates label_31C5: // Incoming jump from 0x44E4 // Incoming jump from 0x43FA // Inputs[2] // { // @31C8 stack[-2] // @31CB stack[-1] // } 31C5 5B JUMPDEST 31C6 60 PUSH1 0x00 31C8 82 DUP3 31C9 60 PUSH1 0x1f 31CB 83 DUP4 31CC 01 ADD 31CD 12 SLT 31CE 61 PUSH2 0x31d5 31D1 57 *JUMPI // Stack delta = +1 // Outputs[1] { @31C6 stack[0] = 0x00 } // Block ends with conditional jump to 0x31d5, if stack[-1] + 0x1f i< stack[-2] label_31D2: // Incoming jump from 0x31D1, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @31D2 stack[-1] // @31D4 memory[stack[-1]:stack[-1] + stack[-1]] // } 31D2 80 DUP1 31D3 81 DUP2 31D4 FD *REVERT // Stack delta = +0 // Outputs[1] { @31D4 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_31D5: // Incoming jump from 0x31D1, if stack[-1] + 0x1f i< stack[-2] // Inputs[3] // { // @31D9 stack[-3] // @31DA stack[-2] // @31DB msg.data[stack[-2]:stack[-2] + 0x20] // } 31D5 5B JUMPDEST 31D6 61 PUSH2 0x2d67 31D9 83 DUP4 31DA 83 DUP4 31DB 35 CALLDATALOAD 31DC 60 PUSH1 0x20 31DE 85 DUP6 31DF 01 ADD 31E0 61 PUSH2 0x2fe4 31E3 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @31D6 stack[0] = 0x2d67 // @31D9 stack[1] = stack[-3] // @31DB stack[2] = msg.data[stack[-2]:stack[-2] + 0x20] // @31DF stack[3] = stack[-2] + 0x20 // } // Block ends with call to 0x2fe4, returns to 0x2D67 label_31E4: // Incoming call from 0x4447, returns to 0x43FB // Incoming call from 0x448C, returns to 0x448D // Inputs[2] // { // @31E7 stack[-2] // @31EA stack[-1] // } 31E4 5B JUMPDEST 31E5 60 PUSH1 0x00 31E7 82 DUP3 31E8 60 PUSH1 0x1f 31EA 83 DUP4 31EB 01 ADD 31EC 12 SLT 31ED 61 PUSH2 0x31f4 31F0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @31E5 stack[0] = 0x00 } // Block ends with conditional jump to 0x31f4, if stack[-1] + 0x1f i< stack[-2] label_31F1: // Incoming jump from 0x31F0, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @31F1 stack[-1] // @31F3 memory[stack[-1]:stack[-1] + stack[-1]] // } 31F1 80 DUP1 31F2 81 DUP2 31F3 FD *REVERT // Stack delta = +0 // Outputs[1] { @31F3 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_31F4: // Incoming jump from 0x31F0, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @31F5 stack[-2] // @31F6 memory[stack[-2]:stack[-2] + 0x20] // } 31F4 5B JUMPDEST 31F5 81 DUP2 31F6 51 MLOAD 31F7 60 PUSH1 0x20 31F9 61 PUSH2 0x3204 31FC 61 PUSH2 0x2ff2 31FF 83 DUP4 3200 61 PUSH2 0x5349 3203 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @31F6 stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @31F7 stack[1] = 0x20 // @31F9 stack[2] = 0x3204 // @31FC stack[3] = 0x2ff2 // @31FF stack[4] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_3204: // Incoming return from call to 0x2FF2 at 0x3203 // Inputs[5] // { // @3205 stack[-3] // @3206 stack[-1] // @3208 stack[-2] // @320C stack[-5] // @320F stack[-4] // } 3204 5B JUMPDEST 3205 82 DUP3 3206 81 DUP2 3207 52 MSTORE 3208 81 DUP2 3209 81 DUP2 320A 01 ADD 320B 90 SWAP1 320C 85 DUP6 320D 83 DUP4 320E 01 ADD 320F 85 DUP6 3210 5B JUMPDEST 3211 85 DUP6 3212 81 DUP2 3213 10 LT 3214 15 ISZERO 3215 61 PUSH2 0x3098 3218 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @3207 memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @320B stack[0] = stack[-1] // @320B stack[-1] = stack[-1] + stack[-2] // @320E stack[1] = stack[-2] + stack[-5] // @320F stack[2] = stack[-4] // } // Block ends with conditional jump to 0x3098, if !(stack[-4] < stack[-3]) label_3219: // Incoming jump from 0x3218, if not !(stack[-4] < stack[-3]) // Inputs[4] // { // @3219 stack[-2] // @321A memory[stack[-2]:stack[-2] + 0x20] // @321B stack[-8] // @3221 stack[-9] // } 3219 81 DUP2 321A 51 MLOAD 321B 88 DUP9 321C 01 ADD 321D 60 PUSH1 0x1f 321F 19 NOT 3220 81 DUP2 3221 8B DUP12 3222 03 SUB 3223 01 ADD 3224 60 PUSH1 0xa0 3226 80 DUP1 3227 82 DUP3 3228 12 SLT 3229 15 ISZERO 322A 61 PUSH2 0x3231 322D 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @321C stack[0] = stack[-8] + memory[stack[-2]:stack[-2] + 0x20] // @3223 stack[1] = stack[-9] - (stack[-8] + memory[stack[-2]:stack[-2] + 0x20]) + ~0x1f // @3224 stack[2] = 0xa0 // } // Block ends with conditional jump to 0x3231, if !(stack[-9] - (stack[-8] + memory[stack[-2]:stack[-2] + 0x20]) + ~0x1f i< 0xa0) label_322E: // Incoming jump from 0x322D, if not !(stack[-9] - (stack[-8] + memory[stack[-2]:stack[-2] + 0x20]) + ~0x1f i< 0xa0) // Inputs[2] // { // @322E stack[-10] // @3230 memory[stack[-10]:stack[-10] + stack[-10]] // } 322E 89 DUP10 322F 8A DUP11 3230 FD *REVERT // Stack delta = +0 // Outputs[1] { @3230 revert(memory[stack[-10]:stack[-10] + stack[-10]]); } // Block terminates label_3231: // Incoming jump from 0x322D, if !(stack[-9] - (stack[-8] + memory[stack[-2]:stack[-2] + 0x20]) + ~0x1f i< 0xa0) 3231 5B JUMPDEST 3232 60 PUSH1 0x60 3234 61 PUSH2 0x323c 3237 81 DUP2 3238 61 PUSH2 0x5318 323B 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3232 stack[0] = 0x60 // @3234 stack[1] = 0x323c // @3237 stack[2] = 0x60 // } // Block ends with call to 0x5318, returns to 0x323C label_323C: // Incoming return from call to 0x5318 at 0x323B // Inputs[1] { @3240 stack[-4] } 323C 5B JUMPDEST 323D 60 PUSH1 0x40 323F 80 DUP1 3240 85 DUP6 3241 12 SLT 3242 15 ISZERO 3243 61 PUSH2 0x324a 3246 57 *JUMPI // Stack delta = +1 // Outputs[1] { @323D stack[0] = 0x40 } // Block ends with conditional jump to 0x324a, if !(stack[-4] i< 0x40) label_3247: // Incoming jump from 0x3246, if not !(stack[-4] i< 0x40) // Inputs[2] // { // @3247 stack[-13] // @3249 memory[stack[-13]:stack[-13] + stack[-13]] // } 3247 8C DUP13 3248 8D DUP14 3249 FD *REVERT // Stack delta = +0 // Outputs[1] { @3249 revert(memory[stack[-13]:stack[-13] + stack[-13]]); } // Block terminates label_324A: // Incoming jump from 0x3246, if !(stack[-4] i< 0x40) // Inputs[1] { @324E stack[-1] } 324A 5B JUMPDEST 324B 61 PUSH2 0x3253 324E 81 DUP2 324F 61 PUSH2 0x5318 3252 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @324B stack[0] = 0x3253 // @324E stack[1] = stack[-1] // } // Block ends with call to 0x5318, returns to 0x3253 label_3253: // Incoming return from call to 0x5318 at 0x3252 // Inputs[7] // { // @3254 stack[-1] // @3254 stack[-6] // @3256 stack[-12] // @3257 stack[-7] // @3259 memory[stack[-7] + stack[-12]:stack[-7] + stack[-12] + 0x20] // @325C stack[-2] // @325F memory[stack[-7] + stack[-2]:stack[-7] + stack[-2] + 0x20] // } 3253 5B JUMPDEST 3254 94 SWAP5 3255 50 POP 3256 8A DUP11 3257 86 DUP7 3258 01 ADD 3259 51 MLOAD 325A 85 DUP6 325B 52 MSTORE 325C 80 DUP1 325D 86 DUP7 325E 01 ADD 325F 51 MLOAD 3260 61 PUSH2 0x3268 3263 81 DUP2 3264 61 PUSH2 0x565c 3267 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @3254 stack[-6] = stack[-1] // @325B memory[stack[-1]:stack[-1] + 0x20] = memory[stack[-7] + stack[-12]:stack[-7] + stack[-12] + 0x20] // @325F stack[-1] = memory[stack[-7] + stack[-2]:stack[-7] + stack[-2] + 0x20] // @3260 stack[0] = 0x3268 // @3263 stack[1] = memory[stack[-7] + stack[-2]:stack[-7] + stack[-2] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3268 label_3268: // Incoming return from call to 0x565C at 0x3267 // Inputs[7] // { // @3269 stack[-6] // @326A stack[-12] // @326C stack[-1] // @326E stack[-3] // @3273 stack[-16] // @3274 stack[-7] // @3275 stack[-4] // } 3268 5B JUMPDEST 3269 85 DUP6 326A 8C DUP13 326B 01 ADD 326C 52 MSTORE 326D 84 DUP5 326E 82 DUP3 326F 52 MSTORE 3270 61 PUSH2 0x327b 3273 8F DUP16 3274 87 DUP8 3275 85 DUP6 3276 01 ADD 3277 61 PUSH2 0x3438 327A 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @326C memory[stack[-12] + stack[-6]:stack[-12] + stack[-6] + 0x20] = stack[-1] // @326F memory[stack[-3]:stack[-3] + 0x20] = stack[-6] // @3270 stack[-1] = 0x327b // @3273 stack[0] = stack[-16] // @3276 stack[1] = stack[-4] + stack[-7] // } // Block ends with unconditional jump to 0x3438 327B 5B JUMPDEST 327C 8B DUP12 327D 83 DUP4 327E 01 ADD 327F 52 MSTORE 3280 83 DUP4 3281 86 DUP7 3282 01 ADD 3283 51 MLOAD 3284 94 SWAP5 3285 50 POP 3286 67 PUSH8 0xffffffffffffffff 328F 85 DUP6 3290 11 GT 3291 15 ISZERO 3292 61 PUSH2 0x3299 3295 57 *JUMPI 3296 8C DUP13 3297 8D DUP14 3298 FD *REVERT 3299 5B JUMPDEST 329A 61 PUSH2 0x32a7 329D 8F DUP16 329E 8C DUP13 329F 87 DUP8 32A0 89 DUP10 32A1 01 ADD 32A2 01 ADD 32A3 61 PUSH2 0x395f 32A6 56 *JUMP 32A7 5B JUMPDEST 32A8 90 SWAP1 32A9 82 DUP3 32AA 01 ADD 32AB 52 MSTORE 32AC 88 DUP9 32AD 52 MSTORE 32AE 50 POP 32AF 50 POP 32B0 50 POP 32B1 93 SWAP4 32B2 85 DUP6 32B3 01 ADD 32B4 93 SWAP4 32B5 50 POP 32B6 90 SWAP1 32B7 84 DUP5 32B8 01 ADD 32B9 90 SWAP1 32BA 60 PUSH1 0x01 32BC 01 ADD 32BD 61 PUSH2 0x3210 32C0 56 *JUMP 32C1 5B JUMPDEST 32C2 60 PUSH1 0x00 32C4 82 DUP3 32C5 60 PUSH1 0x1f 32C7 83 DUP4 32C8 01 ADD 32C9 12 SLT 32CA 61 PUSH2 0x32d1 32CD 57 *JUMPI 32CE 80 DUP1 32CF 81 DUP2 32D0 FD *REVERT 32D1 5B JUMPDEST 32D2 81 DUP2 32D3 51 MLOAD 32D4 60 PUSH1 0x20 32D6 61 PUSH2 0x32e1 32D9 61 PUSH2 0x2ff2 32DC 83 DUP4 32DD 61 PUSH2 0x5349 32E0 56 *JUMP 32E1 5B JUMPDEST 32E2 82 DUP3 32E3 81 DUP2 32E4 52 MSTORE 32E5 81 DUP2 32E6 81 DUP2 32E7 01 ADD 32E8 90 SWAP1 32E9 85 DUP6 32EA 83 DUP4 32EB 01 ADD 32EC 83 DUP4 32ED 85 DUP6 32EE 02 MUL 32EF 87 DUP8 32F0 01 ADD 32F1 84 DUP5 32F2 01 ADD 32F3 88 DUP9 32F4 10 LT 32F5 15 ISZERO 32F6 61 PUSH2 0x32fd 32F9 57 *JUMPI 32FA 85 DUP6 32FB 86 DUP7 32FC FD *REVERT 32FD 5B JUMPDEST 32FE 85 DUP6 32FF 5B JUMPDEST 3300 85 DUP6 3301 81 DUP2 3302 10 LT 3303 15 ISZERO 3304 61 PUSH2 0x3098 3307 57 *JUMPI 3308 81 DUP2 3309 51 MLOAD 330A 84 DUP5 330B 52 MSTORE 330C 92 SWAP3 330D 84 DUP5 330E 01 ADD 330F 92 SWAP3 3310 90 SWAP1 3311 84 DUP5 3312 01 ADD 3313 90 SWAP1 3314 60 PUSH1 0x01 3316 01 ADD 3317 61 PUSH2 0x32ff 331A 56 *JUMP label_331B: // Incoming call from 0x42F6, returns to 0x42F7 // Incoming call from 0x42D4, returns to 0x42D5 // Incoming call from 0x432A, returns to 0x432B // Inputs[2] // { // @331C stack[-1] // @331D msg.data[stack[-1]:stack[-1] + 0x20] // } 331B 5B JUMPDEST 331C 80 DUP1 331D 35 CALLDATALOAD 331E 61 PUSH2 0x0496 3321 81 DUP2 3322 61 PUSH2 0x567e 3325 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @331D stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @331E stack[1] = 0x0496 // @3321 stack[2] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x567e, returns to 0x0496 label_3326: // Incoming call from 0x3E2B, returns to 0x3E2C // Incoming call from 0x3C82, returns to 0x3C83 // Inputs[2] // { // @332A stack[-2] // @332D stack[-1] // } 3326 5B JUMPDEST 3327 60 PUSH1 0x00 3329 80 DUP1 332A 83 DUP4 332B 60 PUSH1 0x1f 332D 84 DUP5 332E 01 ADD 332F 12 SLT 3330 61 PUSH2 0x3337 3333 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3327 stack[0] = 0x00 // @3329 stack[1] = 0x00 // } // Block ends with conditional jump to 0x3337, if stack[-1] + 0x1f i< stack[-2] label_3334: // Incoming jump from 0x3333, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3334 stack[-2] // @3336 memory[stack[-2]:stack[-2] + stack[-2]] // } 3334 81 DUP2 3335 82 DUP3 3336 FD *REVERT // Stack delta = +0 // Outputs[1] { @3336 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3337: // Incoming jump from 0x3333, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3339 stack[-3] // @333A msg.data[stack[-3]:stack[-3] + 0x20] // } 3337 5B JUMPDEST 3338 50 POP 3339 81 DUP2 333A 35 CALLDATALOAD 333B 67 PUSH8 0xffffffffffffffff 3344 81 DUP2 3345 11 GT 3346 15 ISZERO 3347 61 PUSH2 0x334e 334A 57 *JUMPI // Stack delta = +0 // Outputs[1] { @333A stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] } // Block ends with conditional jump to 0x334e, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) label_334B: // Incoming jump from 0x334A, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @334B stack[-2] // @334D memory[stack[-2]:stack[-2] + stack[-2]] // } 334B 81 DUP2 334C 82 DUP3 334D FD *REVERT // Stack delta = +0 // Outputs[1] { @334D revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_334E: // Incoming jump from 0x334A, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @3351 stack[-3] // @3353 stack[-2] // @3355 stack[-4] // @3358 stack[-1] // } 334E 5B JUMPDEST 334F 60 PUSH1 0x20 3351 83 DUP4 3352 01 ADD 3353 91 SWAP2 3354 50 POP 3355 83 DUP4 3356 60 PUSH1 0x20 3358 82 DUP3 3359 85 DUP6 335A 01 ADD 335B 01 ADD 335C 11 GT 335D 15 ISZERO 335E 61 PUSH2 0x1904 3361 57 *JUMPI // Stack delta = +0 // Outputs[1] { @3353 stack[-2] = stack[-3] + 0x20 } // Block ends with conditional jump to 0x1904, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_3362: // Incoming jump from 0x3361, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @3365 memory[0x00:0x00] } 3362 60 PUSH1 0x00 3364 80 DUP1 3365 FD *REVERT // Stack delta = +0 // Outputs[1] { @3365 revert(memory[0x00:0x00]); } // Block terminates label_3366: // Incoming call from 0x38CA, returns to 0x38CB // Incoming call from 0x4318, returns to 0x4319 // Incoming call from 0x3AA4, returns to 0x3AA5 // Incoming call from 0x3C21, returns to 0x3C22 // Incoming call from 0x4011, returns to 0x4012 // Incoming call from 0x3505, returns to 0x3506 // Incoming call from 0x4580, returns to 0x4581 // Incoming call from 0x4282, returns to 0x3EB9 // Incoming call from 0x3CE8, returns to 0x3CE9 // Inputs[2] // { // @3369 stack[-2] // @336C stack[-1] // } 3366 5B JUMPDEST 3367 60 PUSH1 0x00 3369 82 DUP3 336A 60 PUSH1 0x1f 336C 83 DUP4 336D 01 ADD 336E 12 SLT 336F 61 PUSH2 0x3376 3372 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3367 stack[0] = 0x00 } // Block ends with conditional jump to 0x3376, if stack[-1] + 0x1f i< stack[-2] label_3373: // Incoming jump from 0x3372, if not stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3373 stack[-1] // @3375 memory[stack[-1]:stack[-1] + stack[-1]] // } 3373 80 DUP1 3374 81 DUP2 3375 FD *REVERT // Stack delta = +0 // Outputs[1] { @3375 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3376: // Incoming jump from 0x3372, if stack[-1] + 0x1f i< stack[-2] // Inputs[2] // { // @3377 stack[-2] // @3378 msg.data[stack[-2]:stack[-2] + 0x20] // } 3376 5B JUMPDEST 3377 81 DUP2 3378 35 CALLDATALOAD 3379 61 PUSH2 0x3384 337C 61 PUSH2 0x2ff2 337F 82 DUP3 3380 61 PUSH2 0x536d 3383 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @3378 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3379 stack[1] = 0x3384 // @337C stack[2] = 0x2ff2 // @337F stack[3] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x536d, returns to 0x2FF2 label_3384: // Incoming return from call to 0x2FF2 at 0x3383 // Inputs[4] // { // @3385 stack[-2] // @3386 stack[-1] // @3388 stack[-5] // @338C stack[-4] // } 3384 5B JUMPDEST 3385 81 DUP2 3386 81 DUP2 3387 52 MSTORE 3388 84 DUP5 3389 60 PUSH1 0x20 338B 83 DUP4 338C 86 DUP7 338D 01 ADD 338E 01 ADD 338F 11 GT 3390 15 ISZERO 3391 61 PUSH2 0x3398 3394 57 *JUMPI // Stack delta = +0 // Outputs[1] { @3387 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] } // Block ends with conditional jump to 0x3398, if !(stack[-4] + stack[-2] + 0x20 > stack[-5]) label_3395: // Incoming jump from 0x3394, if not !(stack[-4] + stack[-2] + 0x20 > stack[-5]) // Inputs[2] // { // @3395 stack[-3] // @3397 memory[stack[-3]:stack[-3] + stack[-3]] // } 3395 82 DUP3 3396 83 DUP4 3397 FD *REVERT // Stack delta = +0 // Outputs[1] { @3397 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3398: // Incoming jump from 0x3394, if !(stack[-4] + stack[-2] + 0x20 > stack[-5]) // Inputs[7] // { // @3399 stack[-2] // @339C stack[-4] // @33A0 stack[-1] // @33A2 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + stack[-2]] // @33A9 stack[-3] // @33AD stack[-6] // @33AE stack[-5] // } 3398 5B JUMPDEST 3399 81 DUP2 339A 60 PUSH1 0x20 339C 85 DUP6 339D 01 ADD 339E 60 PUSH1 0x20 33A0 83 DUP4 33A1 01 ADD 33A2 37 CALLDATACOPY 33A3 90 SWAP1 33A4 81 DUP2 33A5 01 ADD 33A6 60 PUSH1 0x20 33A8 01 ADD 33A9 91 SWAP2 33AA 90 SWAP1 33AB 91 SWAP2 33AC 52 MSTORE 33AD 92 SWAP3 33AE 91 SWAP2 33AF 50 POP 33B0 50 POP 33B1 56 *JUMP // Stack delta = -5 // Outputs[3] // { // @33A2 memory[stack[-1] + 0x20:stack[-1] + 0x20 + stack[-2]] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + stack[-2]] // @33AC memory[0x20 + stack[-1] + stack[-2]:0x20 + stack[-1] + stack[-2] + 0x20] = stack[-3] // @33AD stack[-6] = stack[-1] // } // Block ends with unconditional jump to stack[-6] 33B2 5B JUMPDEST 33B3 60 PUSH1 0x00 33B5 82 DUP3 33B6 60 PUSH1 0x1f 33B8 83 DUP4 33B9 01 ADD 33BA 12 SLT 33BB 61 PUSH2 0x33c2 33BE 57 *JUMPI 33BF 80 DUP1 33C0 81 DUP2 33C1 FD *REVERT 33C2 5B JUMPDEST 33C3 81 DUP2 33C4 51 MLOAD 33C5 61 PUSH2 0x33d0 33C8 61 PUSH2 0x2ff2 33CB 82 DUP3 33CC 61 PUSH2 0x536d 33CF 56 *JUMP 33D0 5B JUMPDEST 33D1 81 DUP2 33D2 81 DUP2 33D3 52 MSTORE 33D4 84 DUP5 33D5 60 PUSH1 0x20 33D7 83 DUP4 33D8 86 DUP7 33D9 01 ADD 33DA 01 ADD 33DB 11 GT 33DC 15 ISZERO 33DD 61 PUSH2 0x33e4 33E0 57 *JUMPI 33E1 82 DUP3 33E2 83 DUP4 33E3 FD *REVERT 33E4 5B JUMPDEST 33E5 61 PUSH2 0x2c78 33E8 82 DUP3 33E9 60 PUSH1 0x20 33EB 83 DUP4 33EC 01 ADD 33ED 60 PUSH1 0x20 33EF 87 DUP8 33F0 01 ADD 33F1 61 PUSH2 0x556c 33F4 56 *JUMP label_33F5: // Incoming jump from 0x3E52 // Incoming jump from 0x3AE6 // Inputs[2] // { // @33FA stack[-1] // @33FB stack[-2] // } 33F5 5B JUMPDEST 33F6 60 PUSH1 0x00 33F8 60 PUSH1 0x40 33FA 82 DUP3 33FB 84 DUP5 33FC 03 SUB 33FD 12 SLT 33FE 15 ISZERO 33FF 61 PUSH2 0x3406 3402 57 *JUMPI // Stack delta = +1 // Outputs[1] { @33F6 stack[0] = 0x00 } // Block ends with conditional jump to 0x3406, if !(stack[-2] - stack[-1] i< 0x40) label_3403: // Incoming jump from 0x3402, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3403 stack[-1] // @3405 memory[stack[-1]:stack[-1] + stack[-1]] // } 3403 80 DUP1 3404 81 DUP2 3405 FD *REVERT // Stack delta = +0 // Outputs[1] { @3405 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3406: // Incoming jump from 0x3402, if !(stack[-2] - stack[-1] i< 0x40) 3406 5B JUMPDEST 3407 61 PUSH2 0x3410 340A 60 PUSH1 0x40 340C 61 PUSH2 0x5318 340F 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3407 stack[0] = 0x3410 // @340A stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3410 label_3410: // Incoming return from call to 0x5318 at 0x340F // Inputs[4] // { // @3411 stack[-1] // @3411 stack[-2] // @3413 stack[-3] // @3414 msg.data[stack[-3]:stack[-3] + 0x20] // } 3410 5B JUMPDEST 3411 90 SWAP1 3412 50 POP 3413 81 DUP2 3414 35 CALLDATALOAD 3415 61 PUSH2 0x341d 3418 81 DUP2 3419 61 PUSH2 0x565c 341C 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3411 stack[-2] = stack[-1] // @3414 stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] // @3415 stack[0] = 0x341d // @3418 stack[1] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x565c, returns to 0x341D label_341D: // Incoming return from call to 0x565C at 0x341C // Inputs[4] // { // @341E stack[-2] // @341F stack[-1] // @3422 stack[-3] // @3424 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 341D 5B JUMPDEST 341E 81 DUP2 341F 52 MSTORE 3420 60 PUSH1 0x20 3422 82 DUP3 3423 01 ADD 3424 35 CALLDATALOAD 3425 61 PUSH2 0x342d 3428 81 DUP2 3429 61 PUSH2 0x565c 342C 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @341F memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3424 stack[-1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @3425 stack[0] = 0x342d // @3428 stack[1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x342D label_342D: // Incoming return from call to 0x565C at 0x346F // Incoming return from call to 0x565C at 0x3B4C // Incoming return from call to 0x565C at 0x342C // Inputs[4] // { // @3430 stack[-2] // @3432 stack[-1] // @3433 stack[-5] // @3434 stack[-4] // } 342D 5B JUMPDEST 342E 60 PUSH1 0x20 3430 82 DUP3 3431 01 ADD 3432 52 MSTORE 3433 92 SWAP3 3434 91 SWAP2 3435 50 POP 3436 50 POP 3437 56 *JUMP // Stack delta = -4 // Outputs[2] // { // @3432 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = stack[-1] // @3433 stack[-5] = stack[-2] // } // Block ends with unconditional jump to stack[-5] label_3438: // Incoming jump from 0x327A // Inputs[2] // { // @343D stack[-1] // @343E stack[-2] // } 3438 5B JUMPDEST 3439 60 PUSH1 0x00 343B 60 PUSH1 0x40 343D 82 DUP3 343E 84 DUP5 343F 03 SUB 3440 12 SLT 3441 15 ISZERO 3442 61 PUSH2 0x3449 3445 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3439 stack[0] = 0x00 } // Block ends with conditional jump to 0x3449, if !(stack[-2] - stack[-1] i< 0x40) label_3446: // Incoming jump from 0x3445, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3446 stack[-1] // @3448 memory[stack[-1]:stack[-1] + stack[-1]] // } 3446 80 DUP1 3447 81 DUP2 3448 FD *REVERT // Stack delta = +0 // Outputs[1] { @3448 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3449: // Incoming jump from 0x3445, if !(stack[-2] - stack[-1] i< 0x40) 3449 5B JUMPDEST 344A 61 PUSH2 0x3453 344D 60 PUSH1 0x40 344F 61 PUSH2 0x5318 3452 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @344A stack[0] = 0x3453 // @344D stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3453 label_3453: // Incoming return from call to 0x5318 at 0x3452 // Inputs[4] // { // @3454 stack[-1] // @3454 stack[-2] // @3456 stack[-3] // @3457 memory[stack[-3]:stack[-3] + 0x20] // } 3453 5B JUMPDEST 3454 90 SWAP1 3455 50 POP 3456 81 DUP2 3457 51 MLOAD 3458 61 PUSH2 0x3460 345B 81 DUP2 345C 61 PUSH2 0x565c 345F 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3454 stack[-2] = stack[-1] // @3457 stack[-1] = memory[stack[-3]:stack[-3] + 0x20] // @3458 stack[0] = 0x3460 // @345B stack[1] = memory[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3460 label_3460: // Incoming return from call to 0x565C at 0x345F // Inputs[4] // { // @3461 stack[-2] // @3462 stack[-1] // @3465 stack[-3] // @3467 memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 3460 5B JUMPDEST 3461 81 DUP2 3462 52 MSTORE 3463 60 PUSH1 0x20 3465 82 DUP3 3466 01 ADD 3467 51 MLOAD 3468 61 PUSH2 0x342d 346B 81 DUP2 346C 61 PUSH2 0x565c 346F 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3462 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3467 stack[-1] = memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @3468 stack[0] = 0x342d // @346B stack[1] = memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x342D label_3470: // Incoming call from 0x403B, returns to 0x2D67 // Incoming call from 0x3938, returns to 0x3939 // Inputs[2] // { // @3475 stack[-1] // @3476 stack[-2] // } 3470 5B JUMPDEST 3471 60 PUSH1 0x00 3473 60 PUSH1 0x40 3475 82 DUP3 3476 84 DUP5 3477 03 SUB 3478 12 SLT 3479 15 ISZERO 347A 61 PUSH2 0x3481 347D 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3471 stack[0] = 0x00 } // Block ends with conditional jump to 0x3481, if !(stack[-2] - stack[-1] i< 0x40) label_347E: // Incoming jump from 0x347D, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @347E stack[-1] // @3480 memory[stack[-1]:stack[-1] + stack[-1]] // } 347E 80 DUP1 347F 81 DUP2 3480 FD *REVERT // Stack delta = +0 // Outputs[1] { @3480 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3481: // Incoming jump from 0x347D, if !(stack[-2] - stack[-1] i< 0x40) 3481 5B JUMPDEST 3482 61 PUSH2 0x348b 3485 60 PUSH1 0x40 3487 61 PUSH2 0x5318 348A 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3482 stack[0] = 0x348b // @3485 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x348B label_348B: // Incoming return from call to 0x5318 at 0x348A // Inputs[7] // { // @348C stack[-1] // @348C stack[-2] // @348E stack[-3] // @348F msg.data[stack[-3]:stack[-3] + 0x20] // @3496 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @349C stack[-5] // @349D stack[-4] // } 348B 5B JUMPDEST 348C 90 SWAP1 348D 50 POP 348E 81 DUP2 348F 35 CALLDATALOAD 3490 81 DUP2 3491 52 MSTORE 3492 60 PUSH1 0x20 3494 82 DUP3 3495 01 ADD 3496 35 CALLDATALOAD 3497 60 PUSH1 0x20 3499 82 DUP3 349A 01 ADD 349B 52 MSTORE 349C 92 SWAP3 349D 91 SWAP2 349E 50 POP 349F 50 POP 34A0 56 *JUMP // Stack delta = -4 // Outputs[3] // { // @3491 memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @349B memory[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @349C stack[-5] = stack[-1] // } // Block ends with unconditional jump to stack[-5] label_34A1: // Incoming call from 0x4213, returns to 0x2C78 // Incoming call from 0x3085, returns to 0x3086 // Inputs[2] // { // @34A6 stack[-1] // @34A7 stack[-2] // } 34A1 5B JUMPDEST 34A2 60 PUSH1 0x00 34A4 60 PUSH1 0xa0 34A6 82 DUP3 34A7 84 DUP5 34A8 03 SUB 34A9 12 SLT 34AA 15 ISZERO 34AB 61 PUSH2 0x34b2 34AE 57 *JUMPI // Stack delta = +1 // Outputs[1] { @34A2 stack[0] = 0x00 } // Block ends with conditional jump to 0x34b2, if !(stack[-2] - stack[-1] i< 0xa0) label_34AF: // Incoming jump from 0x34AE, if not !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @34AF stack[-1] // @34B1 memory[stack[-1]:stack[-1] + stack[-1]] // } 34AF 80 DUP1 34B0 81 DUP2 34B1 FD *REVERT // Stack delta = +0 // Outputs[1] { @34B1 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_34B2: // Incoming jump from 0x34AE, if !(stack[-2] - stack[-1] i< 0xa0) 34B2 5B JUMPDEST 34B3 61 PUSH2 0x34bc 34B6 60 PUSH1 0xa0 34B8 61 PUSH2 0x5318 34BB 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @34B3 stack[0] = 0x34bc // @34B6 stack[1] = 0xa0 // } // Block ends with call to 0x5318, returns to 0x34BC label_34BC: // Incoming return from call to 0x5318 at 0x34BB // Inputs[4] // { // @34BD stack[-1] // @34BD stack[-2] // @34BF stack[-3] // @34C0 msg.data[stack[-3]:stack[-3] + 0x20] // } 34BC 5B JUMPDEST 34BD 90 SWAP1 34BE 50 POP 34BF 81 DUP2 34C0 35 CALLDATALOAD 34C1 61 PUSH2 0x34c9 34C4 81 DUP2 34C5 61 PUSH2 0x567e 34C8 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @34BD stack[-2] = stack[-1] // @34C0 stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] // @34C1 stack[0] = 0x34c9 // @34C4 stack[1] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x567e, returns to 0x34C9 label_34C9: // Incoming return from call to 0x567E at 0x34C8 // Inputs[6] // { // @34CA stack[-2] // @34CB stack[-1] // @34CE stack[-3] // @34D1 msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @34DB msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // @34E4 msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // } 34C9 5B JUMPDEST 34CA 81 DUP2 34CB 52 MSTORE 34CC 60 PUSH1 0x20 34CE 82 DUP3 34CF 81 DUP2 34D0 01 ADD 34D1 35 CALLDATALOAD 34D2 81 DUP2 34D3 83 DUP4 34D4 01 ADD 34D5 52 MSTORE 34D6 60 PUSH1 0x40 34D8 80 DUP1 34D9 84 DUP5 34DA 01 ADD 34DB 35 CALLDATALOAD 34DC 90 SWAP1 34DD 83 DUP4 34DE 01 ADD 34DF 52 MSTORE 34E0 60 PUSH1 0x60 34E2 83 DUP4 34E3 01 ADD 34E4 35 CALLDATALOAD 34E5 67 PUSH8 0xffffffffffffffff 34EE 80 DUP1 34EF 82 DUP3 34F0 11 GT 34F1 15 ISZERO 34F2 61 PUSH2 0x34fa 34F5 57 *JUMPI // Stack delta = +2 // Outputs[6] // { // @34CB memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @34CC stack[-1] = 0x20 // @34D5 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @34DF memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // @34E4 stack[0] = msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // @34E5 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x34fa, if !(msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] > 0xffffffffffffffff) label_34F6: // Incoming jump from 0x34F5, if not !(msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[1] { @34F9 memory[0x00:0x00] } 34F6 60 PUSH1 0x00 34F8 80 DUP1 34F9 FD *REVERT // Stack delta = +0 // Outputs[1] { @34F9 revert(memory[0x00:0x00]); } // Block terminates label_34FA: // Incoming jump from 0x34F5, if !(msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @34FE stack[-6] // @34FF stack[-2] // @3500 stack[-5] // } 34FA 5B JUMPDEST 34FB 61 PUSH2 0x3506 34FE 86 DUP7 34FF 83 DUP4 3500 87 DUP8 3501 01 ADD 3502 61 PUSH2 0x3366 3505 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @34FB stack[0] = 0x3506 // @34FE stack[1] = stack[-6] // @3501 stack[2] = stack[-5] + stack[-2] // } // Block ends with call to 0x3366, returns to 0x3506 label_3506: // Incoming return from call to 0x3366 at 0x3505 // Inputs[6] // { // @3509 stack[-5] // @350B stack[-1] // @350E stack[-6] // @3510 msg.data[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] // @3511 stack[-3] // @3513 stack[-2] // } 3506 5B JUMPDEST 3507 60 PUSH1 0x60 3509 85 DUP6 350A 01 ADD 350B 52 MSTORE 350C 60 PUSH1 0x80 350E 85 DUP6 350F 01 ADD 3510 35 CALLDATALOAD 3511 91 SWAP2 3512 50 POP 3513 80 DUP1 3514 82 DUP3 3515 11 GT 3516 15 ISZERO 3517 61 PUSH2 0x351f 351A 57 *JUMPI // Stack delta = -1 // Outputs[2] // { // @350B memory[stack[-5] + 0x60:stack[-5] + 0x60 + 0x20] = stack[-1] // @3511 stack[-3] = msg.data[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] // } // Block ends with conditional jump to 0x351f, if !(msg.data[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] > stack[-2]) label_351B: // Incoming jump from 0x351A, if not !(msg.data[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] > stack[-2]) // Inputs[1] { @351E memory[0x00:0x00] } 351B 60 PUSH1 0x00 351D 80 DUP1 351E FD *REVERT // Stack delta = +0 // Outputs[1] { @351E revert(memory[0x00:0x00]); } // Block terminates label_351F: // Incoming jump from 0x351A, if !(msg.data[stack[-6] + 0x80:stack[-6] + 0x80 + 0x20] > stack[-2]) // Inputs[3] // { // @3521 stack[-5] // @3522 stack[-2] // @3527 stack[-6] // } 351F 5B JUMPDEST 3520 50 POP 3521 83 DUP4 3522 01 ADD 3523 60 PUSH1 0x1f 3525 81 DUP2 3526 01 ADD 3527 85 DUP6 3528 13 SGT 3529 61 PUSH2 0x3531 352C 57 *JUMPI // Stack delta = -1 // Outputs[1] { @3522 stack[-2] = stack[-5] + stack[-2] } // Block ends with conditional jump to 0x3531, if stack[-6] i> stack[-5] + stack[-2] + 0x1f label_352D: // Incoming jump from 0x352C, if not stack[-6] i> stack[-5] + stack[-2] + 0x1f // Inputs[1] { @3530 memory[0x00:0x00] } 352D 60 PUSH1 0x00 352F 80 DUP1 3530 FD *REVERT // Stack delta = +0 // Outputs[1] { @3530 revert(memory[0x00:0x00]); } // Block terminates label_3531: // Incoming jump from 0x352C, if stack[-6] i> stack[-5] + stack[-2] + 0x1f // Inputs[2] // { // @3532 stack[-1] // @3533 msg.data[stack[-1]:stack[-1] + 0x20] // } 3531 5B JUMPDEST 3532 80 DUP1 3533 35 CALLDATALOAD 3534 61 PUSH2 0x353f 3537 61 PUSH2 0x2ff2 353A 82 DUP3 353B 61 PUSH2 0x5349 353E 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @3533 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @3534 stack[1] = 0x353f // @3537 stack[2] = 0x2ff2 // @353A stack[3] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_353F: // Incoming return from call to 0x2FF2 at 0x353E // Inputs[5] // { // @3540 stack[-2] // @3541 stack[-1] // @3543 stack[-4] // @3547 stack[-3] // @3551 stack[-7] // } 353F 5B JUMPDEST 3540 81 DUP2 3541 81 DUP2 3542 52 MSTORE 3543 83 DUP4 3544 81 DUP2 3545 01 ADD 3546 90 SWAP1 3547 83 DUP4 3548 85 DUP6 3549 01 ADD 354A 85 DUP6 354B 84 DUP5 354C 02 MUL 354D 85 DUP6 354E 01 ADD 354F 86 DUP7 3550 01 ADD 3551 89 DUP10 3552 10 LT 3553 15 ISZERO 3554 61 PUSH2 0x355c 3557 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @3542 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @3546 stack[0] = stack[-1] // @3546 stack[-1] = stack[-1] + stack[-4] // @3549 stack[1] = stack[-4] + stack[-3] // } // Block ends with conditional jump to 0x355c, if !(stack[-7] < stack[-4] + stack[-3] + stack[-2] * stack[-4]) label_3558: // Incoming jump from 0x3557, if not !(stack[-7] < stack[-4] + stack[-3] + stack[-2] * stack[-4]) // Inputs[1] { @355B memory[0x00:0x00] } 3558 60 PUSH1 0x00 355A 80 DUP1 355B FD *REVERT // Stack delta = +0 // Outputs[1] { @355B revert(memory[0x00:0x00]); } // Block terminates label_355C: // Incoming jump from 0x3557, if !(stack[-7] < stack[-4] + stack[-3] + stack[-2] * stack[-4]) // Inputs[2] // { // @355F stack[-5] // @3562 stack[-4] // } 355C 5B JUMPDEST 355D 60 PUSH1 0x00 355F 94 SWAP5 3560 50 POP 3561 5B JUMPDEST 3562 83 DUP4 3563 85 DUP6 3564 10 LT 3565 15 ISZERO 3566 61 PUSH2 0x357f 3569 57 *JUMPI // Stack delta = +0 // Outputs[1] { @355F stack[-5] = 0x00 } // Block ends with conditional jump to 0x357f, if !(0x00 < stack[-4]) label_356A: // Incoming jump from 0x3569, if not !(0x00 < stack[-4]) // Incoming jump from 0x3569, if not !(stack[-5] < stack[-4]) // Inputs[5] // { // @356A stack[-1] // @356B msg.data[stack[-1]:stack[-1] + 0x20] // @356C stack[-3] // @3570 stack[-5] // @3576 stack[-6] // } 356A 80 DUP1 356B 35 CALLDATALOAD 356C 83 DUP4 356D 52 MSTORE 356E 60 PUSH1 0x01 3570 94 SWAP5 3571 90 SWAP1 3572 94 SWAP5 3573 01 ADD 3574 93 SWAP4 3575 91 SWAP2 3576 85 DUP6 3577 01 ADD 3578 91 SWAP2 3579 85 DUP6 357A 01 ADD 357B 61 PUSH2 0x3561 357E 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @356D memory[stack[-3]:stack[-3] + 0x20] = msg.data[stack[-1]:stack[-1] + 0x20] // @3574 stack[-5] = 0x01 + stack[-5] // @3578 stack[-3] = stack[-6] + stack[-3] // @357A stack[-1] = stack[-6] + stack[-1] // } // Block ends with unconditional jump to 0x3561 label_357F: // Incoming jump from 0x3569, if !(0x00 < stack[-4]) // Incoming jump from 0x3569, if !(stack[-5] < stack[-4]) // Inputs[5] // { // @3583 stack[-7] // @3585 stack[-2] // @3587 stack[-4] // @3588 stack[-10] // @3589 stack[-9] // } 357F 5B JUMPDEST 3580 50 POP 3581 60 PUSH1 0x80 3583 86 DUP7 3584 01 ADD 3585 52 MSTORE 3586 50 POP 3587 92 SWAP3 3588 95 SWAP6 3589 94 SWAP5 358A 50 POP 358B 50 POP 358C 50 POP 358D 50 POP 358E 50 POP 358F 56 *JUMP // Stack delta = -9 // Outputs[2] // { // @3585 memory[stack[-7] + 0x80:stack[-7] + 0x80 + 0x20] = stack[-2] // @3588 stack[-10] = stack[-7] // } // Block ends with unconditional jump to stack[-10] label_3590: // Incoming call from 0x43D3, returns to 0x43D4 // Incoming call from 0x44BD, returns to 0x44BE // Incoming call from 0x439C, returns to 0x2D67 // Inputs[2] // { // @3595 stack[-1] // @3596 stack[-2] // } 3590 5B JUMPDEST 3591 60 PUSH1 0x00 3593 60 PUSH1 0xa0 3595 82 DUP3 3596 84 DUP5 3597 03 SUB 3598 12 SLT 3599 15 ISZERO 359A 61 PUSH2 0x35a1 359D 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3591 stack[0] = 0x00 } // Block ends with conditional jump to 0x35a1, if !(stack[-2] - stack[-1] i< 0xa0) label_359E: // Incoming jump from 0x359D, if not !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @359E stack[-1] // @35A0 memory[stack[-1]:stack[-1] + stack[-1]] // } 359E 80 DUP1 359F 81 DUP2 35A0 FD *REVERT // Stack delta = +0 // Outputs[1] { @35A0 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_35A1: // Incoming jump from 0x359D, if !(stack[-2] - stack[-1] i< 0xa0) 35A1 5B JUMPDEST 35A2 61 PUSH2 0x35ab 35A5 60 PUSH1 0xa0 35A7 61 PUSH2 0x5318 35AA 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @35A2 stack[0] = 0x35ab // @35A5 stack[1] = 0xa0 // } // Block ends with call to 0x5318, returns to 0x35AB label_35AB: // Incoming return from call to 0x5318 at 0x35AA // Inputs[5] // { // @35AC stack[-1] // @35AC stack[-2] // @35AE stack[-3] // @35AF msg.data[stack[-3]:stack[-3] + 0x20] // @35B6 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 35AB 5B JUMPDEST 35AC 90 SWAP1 35AD 50 POP 35AE 81 DUP2 35AF 35 CALLDATALOAD 35B0 81 DUP2 35B1 52 MSTORE 35B2 60 PUSH1 0x20 35B4 82 DUP3 35B5 01 ADD 35B6 35 CALLDATALOAD 35B7 61 PUSH2 0x35bf 35BA 81 DUP2 35BB 61 PUSH2 0x565c 35BE 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @35AC stack[-2] = stack[-1] // @35B1 memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @35B6 stack[-1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @35B7 stack[0] = 0x35bf // @35BA stack[1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x35BF label_35BF: // Incoming return from call to 0x565C at 0x35BE // Inputs[4] // { // @35C2 stack[-2] // @35C4 stack[-1] // @35C7 stack[-3] // @35C9 msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } 35BF 5B JUMPDEST 35C0 60 PUSH1 0x20 35C2 82 DUP3 35C3 01 ADD 35C4 52 MSTORE 35C5 60 PUSH1 0x40 35C7 82 DUP3 35C8 01 ADD 35C9 35 CALLDATALOAD 35CA 61 PUSH2 0x35d2 35CD 81 DUP2 35CE 61 PUSH2 0x565c 35D1 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @35C4 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = stack[-1] // @35C9 stack[-1] = msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // @35CA stack[0] = 0x35d2 // @35CD stack[1] = msg.data[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } // Block ends with call to 0x565c, returns to 0x35D2 label_35D2: // Incoming return from call to 0x565C at 0x35D1 // Inputs[4] // { // @35D5 stack[-2] // @35D7 stack[-1] // @35DA stack[-3] // @35DC msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // } 35D2 5B JUMPDEST 35D3 60 PUSH1 0x40 35D5 82 DUP3 35D6 01 ADD 35D7 52 MSTORE 35D8 60 PUSH1 0x60 35DA 82 DUP3 35DB 01 ADD 35DC 35 CALLDATALOAD 35DD 61 PUSH2 0x35e5 35E0 81 DUP2 35E1 61 PUSH2 0x565c 35E4 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @35D7 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = stack[-1] // @35DC stack[-1] = msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // @35DD stack[0] = 0x35e5 // @35E0 stack[1] = msg.data[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // } // Block ends with call to 0x565c, returns to 0x35E5 label_35E5: // Incoming return from call to 0x565C at 0x35E4 // Inputs[6] // { // @35E6 stack[-1] // @35E9 stack[-2] // @35EF stack[-3] // @35F1 msg.data[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] // @35F7 stack[-5] // @35F8 stack[-4] // } 35E5 5B JUMPDEST 35E6 80 DUP1 35E7 60 PUSH1 0x60 35E9 83 DUP4 35EA 01 ADD 35EB 52 MSTORE 35EC 50 POP 35ED 60 PUSH1 0x80 35EF 82 DUP3 35F0 01 ADD 35F1 35 CALLDATALOAD 35F2 60 PUSH1 0x80 35F4 82 DUP3 35F5 01 ADD 35F6 52 MSTORE 35F7 92 SWAP3 35F8 91 SWAP2 35F9 50 POP 35FA 50 POP 35FB 56 *JUMP // Stack delta = -4 // Outputs[3] // { // @35EB memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @35F6 memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] = msg.data[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] // @35F7 stack[-5] = stack[-2] // } // Block ends with unconditional jump to stack[-5] label_35FC: // Incoming call from 0x4420, returns to 0x4421 // Incoming call from 0x4465, returns to 0x4466 // Inputs[2] // { // @3601 stack[-1] // @3602 stack[-2] // } 35FC 5B JUMPDEST 35FD 60 PUSH1 0x00 35FF 60 PUSH1 0xa0 3601 82 DUP3 3602 84 DUP5 3603 03 SUB 3604 12 SLT 3605 15 ISZERO 3606 61 PUSH2 0x360d 3609 57 *JUMPI // Stack delta = +1 // Outputs[1] { @35FD stack[0] = 0x00 } // Block ends with conditional jump to 0x360d, if !(stack[-2] - stack[-1] i< 0xa0) label_360A: // Incoming jump from 0x3609, if not !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @360A stack[-1] // @360C memory[stack[-1]:stack[-1] + stack[-1]] // } 360A 80 DUP1 360B 81 DUP2 360C FD *REVERT // Stack delta = +0 // Outputs[1] { @360C revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_360D: // Incoming jump from 0x3609, if !(stack[-2] - stack[-1] i< 0xa0) 360D 5B JUMPDEST 360E 61 PUSH2 0x3617 3611 60 PUSH1 0xa0 3613 61 PUSH2 0x5318 3616 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @360E stack[0] = 0x3617 // @3611 stack[1] = 0xa0 // } // Block ends with call to 0x5318, returns to 0x3617 label_3617: // Incoming return from call to 0x5318 at 0x3616 // Inputs[5] // { // @3618 stack[-1] // @3618 stack[-2] // @361A stack[-3] // @361B memory[stack[-3]:stack[-3] + 0x20] // @3622 memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 3617 5B JUMPDEST 3618 90 SWAP1 3619 50 POP 361A 81 DUP2 361B 51 MLOAD 361C 81 DUP2 361D 52 MSTORE 361E 60 PUSH1 0x20 3620 82 DUP3 3621 01 ADD 3622 51 MLOAD 3623 61 PUSH2 0x362b 3626 81 DUP2 3627 61 PUSH2 0x565c 362A 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @3618 stack[-2] = stack[-1] // @361D memory[stack[-1]:stack[-1] + 0x20] = memory[stack[-3]:stack[-3] + 0x20] // @3622 stack[-1] = memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @3623 stack[0] = 0x362b // @3626 stack[1] = memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x362B label_362B: // Incoming return from call to 0x565C at 0x362A // Inputs[4] // { // @362E stack[-2] // @3630 stack[-1] // @3633 stack[-3] // @3635 memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } 362B 5B JUMPDEST 362C 60 PUSH1 0x20 362E 82 DUP3 362F 01 ADD 3630 52 MSTORE 3631 60 PUSH1 0x40 3633 82 DUP3 3634 01 ADD 3635 51 MLOAD 3636 61 PUSH2 0x363e 3639 81 DUP2 363A 61 PUSH2 0x565c 363D 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3630 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = stack[-1] // @3635 stack[-1] = memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // @3636 stack[0] = 0x363e // @3639 stack[1] = memory[stack[-3] + 0x40:stack[-3] + 0x40 + 0x20] // } // Block ends with call to 0x565c, returns to 0x363E label_363E: // Incoming return from call to 0x565C at 0x363D // Inputs[4] // { // @3641 stack[-2] // @3643 stack[-1] // @3646 stack[-3] // @3648 memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // } 363E 5B JUMPDEST 363F 60 PUSH1 0x40 3641 82 DUP3 3642 01 ADD 3643 52 MSTORE 3644 60 PUSH1 0x60 3646 82 DUP3 3647 01 ADD 3648 51 MLOAD 3649 61 PUSH2 0x3651 364C 81 DUP2 364D 61 PUSH2 0x565c 3650 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3643 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = stack[-1] // @3648 stack[-1] = memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // @3649 stack[0] = 0x3651 // @364C stack[1] = memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] // } // Block ends with call to 0x565c, returns to 0x3651 label_3651: // Incoming return from call to 0x565C at 0x3650 // Inputs[6] // { // @3652 stack[-1] // @3655 stack[-2] // @365B stack[-3] // @365D memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] // @3663 stack[-5] // @3664 stack[-4] // } 3651 5B JUMPDEST 3652 80 DUP1 3653 60 PUSH1 0x60 3655 83 DUP4 3656 01 ADD 3657 52 MSTORE 3658 50 POP 3659 60 PUSH1 0x80 365B 82 DUP3 365C 01 ADD 365D 51 MLOAD 365E 60 PUSH1 0x80 3660 82 DUP3 3661 01 ADD 3662 52 MSTORE 3663 92 SWAP3 3664 91 SWAP2 3665 50 POP 3666 50 POP 3667 56 *JUMP // Stack delta = -4 // Outputs[3] // { // @3657 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @3662 memory[stack[-2] + 0x80:stack[-2] + 0x80 + 0x20] = memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] // @3663 stack[-5] = stack[-2] // } // Block ends with unconditional jump to stack[-5] label_3668: // Incoming call from 0x3737, returns to 0x3738 // Incoming call from 0x4647, returns to 0x2C78 // Inputs[2] // { // @366D stack[-1] // @366E stack[-2] // } 3668 5B JUMPDEST 3669 60 PUSH1 0x00 366B 60 PUSH1 0x40 366D 82 DUP3 366E 84 DUP5 366F 03 SUB 3670 12 SLT 3671 15 ISZERO 3672 61 PUSH2 0x3679 3675 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3669 stack[0] = 0x00 } // Block ends with conditional jump to 0x3679, if !(stack[-2] - stack[-1] i< 0x40) label_3676: // Incoming jump from 0x3675, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3676 stack[-1] // @3678 memory[stack[-1]:stack[-1] + stack[-1]] // } 3676 80 DUP1 3677 81 DUP2 3678 FD *REVERT // Stack delta = +0 // Outputs[1] { @3678 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3679: // Incoming jump from 0x3675, if !(stack[-2] - stack[-1] i< 0x40) 3679 5B JUMPDEST 367A 61 PUSH2 0x3683 367D 60 PUSH1 0x40 367F 61 PUSH2 0x5318 3682 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @367A stack[0] = 0x3683 // @367D stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3683 label_3683: // Incoming return from call to 0x5318 at 0x3682 // Inputs[4] // { // @3684 stack[-2] // @3684 stack[-1] // @3686 stack[-3] // @3687 msg.data[stack[-3]:stack[-3] + 0x20] // } 3683 5B JUMPDEST 3684 90 SWAP1 3685 50 POP 3686 81 DUP2 3687 35 CALLDATALOAD 3688 67 PUSH8 0xffffffffffffffff 3691 81 DUP2 3692 11 GT 3693 15 ISZERO 3694 61 PUSH2 0x369c 3697 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3684 stack[-2] = stack[-1] // @3687 stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with conditional jump to 0x369c, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) label_3698: // Incoming jump from 0x3697, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @369B memory[0x00:0x00] } 3698 60 PUSH1 0x00 369A 80 DUP1 369B FD *REVERT // Stack delta = +0 // Outputs[1] { @369B revert(memory[0x00:0x00]); } // Block terminates label_369C: // Incoming jump from 0x3697, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @36A0 stack[-4] // @36A1 stack[-1] // @36A2 stack[-3] // } 369C 5B JUMPDEST 369D 61 PUSH2 0x36a8 36A0 84 DUP5 36A1 82 DUP3 36A2 85 DUP6 36A3 01 ADD 36A4 61 PUSH2 0x3879 36A7 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @369D stack[0] = 0x36a8 // @36A0 stack[1] = stack[-4] // @36A3 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3879, returns to 0x36A8 label_36A8: // Incoming return from call to 0x3879 at 0x36A7 // Inputs[6] // { // @36A9 stack[-3] // @36AA stack[-1] // @36AE stack[-4] // @36B0 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @36B6 stack[-6] // @36B7 stack[-5] // } 36A8 5B JUMPDEST 36A9 82 DUP3 36AA 52 MSTORE 36AB 50 POP 36AC 60 PUSH1 0x20 36AE 82 DUP3 36AF 01 ADD 36B0 35 CALLDATALOAD 36B1 60 PUSH1 0x20 36B3 82 DUP3 36B4 01 ADD 36B5 52 MSTORE 36B6 92 SWAP3 36B7 91 SWAP2 36B8 50 POP 36B9 50 POP 36BA 56 *JUMP // Stack delta = -5 // Outputs[3] // { // @36AA memory[stack[-3]:stack[-3] + 0x20] = stack[-1] // @36B5 memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @36B6 stack[-6] = stack[-3] // } // Block ends with unconditional jump to stack[-6] label_36BB: // Incoming call from 0x467A, returns to 0x2C78 // Incoming call from 0x40D0, returns to 0x40D1 // Inputs[2] // { // @36C0 stack[-1] // @36C1 stack[-2] // } 36BB 5B JUMPDEST 36BC 60 PUSH1 0x00 36BE 60 PUSH1 0x40 36C0 82 DUP3 36C1 84 DUP5 36C2 03 SUB 36C3 12 SLT 36C4 15 ISZERO 36C5 61 PUSH2 0x36cc 36C8 57 *JUMPI // Stack delta = +1 // Outputs[1] { @36BC stack[0] = 0x00 } // Block ends with conditional jump to 0x36cc, if !(stack[-2] - stack[-1] i< 0x40) label_36C9: // Incoming jump from 0x36C8, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @36C9 stack[-1] // @36CB memory[stack[-1]:stack[-1] + stack[-1]] // } 36C9 80 DUP1 36CA 81 DUP2 36CB FD *REVERT // Stack delta = +0 // Outputs[1] { @36CB revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_36CC: // Incoming jump from 0x36C8, if !(stack[-2] - stack[-1] i< 0x40) 36CC 5B JUMPDEST 36CD 61 PUSH2 0x36d6 36D0 60 PUSH1 0x40 36D2 61 PUSH2 0x5318 36D5 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @36CD stack[0] = 0x36d6 // @36D0 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x36D6 label_36D6: // Incoming return from call to 0x5318 at 0x36D5 // Inputs[4] // { // @36D7 stack[-1] // @36D7 stack[-2] // @36D9 stack[-3] // @36DA msg.data[stack[-3]:stack[-3] + 0x20] // } 36D6 5B JUMPDEST 36D7 90 SWAP1 36D8 50 POP 36D9 81 DUP2 36DA 35 CALLDATALOAD 36DB 67 PUSH8 0xffffffffffffffff 36E4 80 DUP1 36E5 82 DUP3 36E6 11 GT 36E7 15 ISZERO 36E8 61 PUSH2 0x36f0 36EB 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @36D7 stack[-2] = stack[-1] // @36DA stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] // @36DB stack[0] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x36f0, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) label_36EC: // Incoming jump from 0x36EB, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @36EF memory[0x00:0x00] } 36EC 60 PUSH1 0x00 36EE 80 DUP1 36EF FD *REVERT // Stack delta = +0 // Outputs[1] { @36EF revert(memory[0x00:0x00]); } // Block terminates label_36F0: // Incoming jump from 0x36EB, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @36F1 stack[-2] // @36F2 stack[-4] // @36F6 stack[-5] // } 36F0 5B JUMPDEST 36F1 81 DUP2 36F2 84 DUP5 36F3 01 ADD 36F4 91 SWAP2 36F5 50 POP 36F6 84 DUP5 36F7 60 PUSH1 0x1f 36F9 83 DUP4 36FA 01 ADD 36FB 12 SLT 36FC 61 PUSH2 0x3704 36FF 57 *JUMPI // Stack delta = +0 // Outputs[1] { @36F4 stack[-2] = stack[-4] + stack[-2] } // Block ends with conditional jump to 0x3704, if stack[-4] + stack[-2] + 0x1f i< stack[-5] label_3700: // Incoming jump from 0x36FF, if not stack[-4] + stack[-2] + 0x1f i< stack[-5] // Inputs[1] { @3703 memory[0x00:0x00] } 3700 60 PUSH1 0x00 3702 80 DUP1 3703 FD *REVERT // Stack delta = +0 // Outputs[1] { @3703 revert(memory[0x00:0x00]); } // Block terminates label_3704: // Incoming jump from 0x36FF, if stack[-4] + stack[-2] + 0x1f i< stack[-5] // Inputs[2] // { // @3705 stack[-2] // @3706 msg.data[stack[-2]:stack[-2] + 0x20] // } 3704 5B JUMPDEST 3705 81 DUP2 3706 35 CALLDATALOAD 3707 60 PUSH1 0x20 3709 61 PUSH2 0x3714 370C 61 PUSH2 0x2ff2 370F 83 DUP4 3710 61 PUSH2 0x5349 3713 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @3706 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3707 stack[1] = 0x20 // @3709 stack[2] = 0x3714 // @370C stack[3] = 0x2ff2 // @370F stack[4] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_3714: // Incoming return from call to 0x2FF2 at 0x3713 // Inputs[4] // { // @3715 stack[-3] // @3716 stack[-1] // @3718 stack[-2] // @371C stack[-5] // } 3714 5B JUMPDEST 3715 82 DUP3 3716 81 DUP2 3717 52 MSTORE 3718 81 DUP2 3719 81 DUP2 371A 01 ADD 371B 90 SWAP1 371C 85 DUP6 371D 83 DUP4 371E 01 ADD 371F 60 PUSH1 0x00 3721 5B JUMPDEST 3722 85 DUP6 3723 81 DUP2 3724 10 LT 3725 15 ISZERO 3726 61 PUSH2 0x374a 3729 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @3717 memory[stack[-1]:stack[-1] + 0x20] = stack[-3] // @371B stack[0] = stack[-1] // @371B stack[-1] = stack[-1] + stack[-2] // @371E stack[1] = stack[-2] + stack[-5] // @371F stack[2] = 0x00 // } // Block ends with conditional jump to 0x374a, if !(0x00 < stack[-3]) label_372A: // Incoming jump from 0x3729, if not !(0x00 < stack[-3]) // Incoming jump from 0x3729, if not !(stack[-1] < stack[-6]) // Inputs[5] // { // @372D stack[-11] // @372E stack[-5] // @372F stack[-2] // @3730 msg.data[stack[-2]:stack[-2] + 0x20] // @3731 stack[-8] // } 372A 61 PUSH2 0x3738 372D 8B DUP12 372E 86 DUP7 372F 84 DUP5 3730 35 CALLDATALOAD 3731 8B DUP12 3732 01 ADD 3733 01 ADD 3734 61 PUSH2 0x3668 3737 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @372A stack[0] = 0x3738 // @372D stack[1] = stack[-11] // @3733 stack[2] = stack[-8] + msg.data[stack[-2]:stack[-2] + 0x20] + stack[-5] // } // Block ends with call to 0x3668, returns to 0x3738 label_3738: // Incoming return from call to 0x3668 at 0x3737 // Inputs[5] // { // @3739 stack[-5] // @373A stack[-1] // @373B stack[-2] // @373C stack[-6] // @373F stack[-3] // } 3738 5B JUMPDEST 3739 84 DUP5 373A 52 MSTORE 373B 92 SWAP3 373C 84 DUP5 373D 01 ADD 373E 92 SWAP3 373F 90 SWAP1 3740 84 DUP5 3741 01 ADD 3742 90 SWAP1 3743 60 PUSH1 0x01 3745 01 ADD 3746 61 PUSH2 0x3721 3749 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @373A memory[stack[-5]:stack[-5] + 0x20] = stack[-1] // @373E stack[-5] = stack[-6] + stack[-5] // @3742 stack[-3] = stack[-6] + stack[-3] // @3745 stack[-2] = 0x01 + stack[-2] // } // Block ends with unconditional jump to 0x3721 label_374A: // Incoming jump from 0x3729, if !(0x00 < stack[-3]) // Incoming jump from 0x3729, if !(stack[-1] < stack[-6]) // Inputs[7] // { // @374D stack[-9] // @374E stack[-3] // @3750 stack[-10] // @3751 stack[-5] // @3753 msg.data[stack[-5] + stack[-10]:stack[-5] + stack[-10] + 0x20] // @3754 stack[-8] // @3756 stack[-7] // } 374A 5B JUMPDEST 374B 50 POP 374C 50 POP 374D 86 DUP7 374E 52 MSTORE 374F 50 POP 3750 85 DUP6 3751 81 DUP2 3752 01 ADD 3753 35 CALLDATALOAD 3754 93 SWAP4 3755 50 POP 3756 82 DUP3 3757 84 DUP5 3758 11 GT 3759 15 ISZERO 375A 61 PUSH2 0x3762 375D 57 *JUMPI // Stack delta = -4 // Outputs[2] // { // @374E memory[stack[-9]:stack[-9] + 0x20] = stack[-3] // @3754 stack[-8] = msg.data[stack[-5] + stack[-10]:stack[-5] + stack[-10] + 0x20] // } // Block ends with conditional jump to 0x3762, if !(msg.data[stack[-5] + stack[-10]:stack[-5] + stack[-10] + 0x20] > stack[-7]) label_375E: // Incoming jump from 0x375D, if not !(msg.data[stack[-5] + stack[-10]:stack[-5] + stack[-10] + 0x20] > stack[-7]) // Inputs[1] { @3761 memory[0x00:0x00] } 375E 60 PUSH1 0x00 3760 80 DUP1 3761 FD *REVERT // Stack delta = +0 // Outputs[1] { @3761 revert(memory[0x00:0x00]); } // Block terminates label_3762: // Incoming jump from 0x375D, if !(msg.data[stack[-5] + stack[-10]:stack[-5] + stack[-10] + 0x20] > stack[-7]) // Inputs[3] // { // @3766 stack[-7] // @3767 stack[-4] // @3768 stack[-6] // } 3762 5B JUMPDEST 3763 61 PUSH2 0x376e 3766 87 DUP8 3767 85 DUP6 3768 88 DUP9 3769 01 ADD 376A 61 PUSH2 0x3879 376D 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3763 stack[0] = 0x376e // @3766 stack[1] = stack[-7] // @3769 stack[2] = stack[-6] + stack[-4] // } // Block ends with call to 0x3879, returns to 0x376E label_376E: // Incoming return from call to 0x3879 at 0x376D // Inputs[5] // { // @376F stack[-2] // @3770 stack[-6] // @3772 stack[-1] // @3777 stack[-9] // @3778 stack[-8] // } 376E 5B JUMPDEST 376F 81 DUP2 3770 86 DUP7 3771 01 ADD 3772 52 MSTORE 3773 50 POP 3774 50 POP 3775 50 POP 3776 50 POP 3777 92 SWAP3 3778 91 SWAP2 3779 50 POP 377A 50 POP 377B 56 *JUMP // Stack delta = -8 // Outputs[2] // { // @3772 memory[stack[-6] + stack[-2]:stack[-6] + stack[-2] + 0x20] = stack[-1] // @3777 stack[-9] = stack[-6] // } // Block ends with unconditional jump to stack[-9] 377C 5B JUMPDEST 377D 60 PUSH1 0x00 377F 60 PUSH1 0x40 3781 80 DUP1 3782 83 DUP4 3783 85 DUP6 3784 03 SUB 3785 12 SLT 3786 15 ISZERO 3787 61 PUSH2 0x378e 378A 57 *JUMPI 378B 81 DUP2 378C 82 DUP3 378D FD *REVERT 378E 5B JUMPDEST 378F 61 PUSH2 0x3797 3792 81 DUP2 3793 61 PUSH2 0x5318 3796 56 *JUMP 3797 5B JUMPDEST 3798 91 SWAP2 3799 50 POP 379A 82 DUP3 379B 51 MLOAD 379C 67 PUSH8 0xffffffffffffffff 37A5 80 DUP1 37A6 82 DUP3 37A7 11 GT 37A8 15 ISZERO 37A9 61 PUSH2 0x37b1 37AC 57 *JUMPI 37AD 60 PUSH1 0x00 37AF 80 DUP1 37B0 FD *REVERT 37B1 5B JUMPDEST 37B2 81 DUP2 37B3 85 DUP6 37B4 01 ADD 37B5 91 SWAP2 37B6 50 POP 37B7 85 DUP6 37B8 60 PUSH1 0x1f 37BA 83 DUP4 37BB 01 ADD 37BC 12 SLT 37BD 61 PUSH2 0x37c5 37C0 57 *JUMPI 37C1 60 PUSH1 0x00 37C3 80 DUP1 37C4 FD *REVERT 37C5 5B JUMPDEST 37C6 81 DUP2 37C7 51 MLOAD 37C8 60 PUSH1 0x20 37CA 61 PUSH2 0x37d5 37CD 61 PUSH2 0x2ff2 37D0 83 DUP4 37D1 61 PUSH2 0x5349 37D4 56 *JUMP 37D5 5B JUMPDEST 37D6 82 DUP3 37D7 81 DUP2 37D8 52 MSTORE 37D9 81 DUP2 37DA 81 DUP2 37DB 01 ADD 37DC 90 SWAP1 37DD 85 DUP6 37DE 83 DUP4 37DF 01 ADD 37E0 60 PUSH1 0x00 37E2 5B JUMPDEST 37E3 85 DUP6 37E4 81 DUP2 37E5 10 LT 37E6 15 ISZERO 37E7 61 PUSH2 0x3846 37EA 57 *JUMPI 37EB 81 DUP2 37EC 51 MLOAD 37ED 88 DUP9 37EE 01 ADD 37EF 89 DUP10 37F0 60 PUSH1 0x1f 37F2 19 NOT 37F3 82 DUP3 37F4 8F DUP16 37F5 03 SUB 37F6 01 ADD 37F7 12 SLT 37F8 15 ISZERO 37F9 61 PUSH2 0x3801 37FC 57 *JUMPI 37FD 60 PUSH1 0x00 37FF 80 DUP1 3800 FD *REVERT 3801 5B JUMPDEST 3802 61 PUSH2 0x380a 3805 8A DUP11 3806 61 PUSH2 0x5318 3809 56 *JUMP 380A 5B JUMPDEST 380B 86 DUP7 380C 82 DUP3 380D 01 ADD 380E 51 MLOAD 380F 89 DUP10 3810 81 DUP2 3811 11 GT 3812 15 ISZERO 3813 61 PUSH2 0x381b 3816 57 *JUMPI 3817 60 PUSH1 0x00 3819 80 DUP1 381A FD *REVERT 381B 5B JUMPDEST 381C 61 PUSH2 0x3829 381F 8F DUP16 3820 89 DUP10 3821 83 DUP4 3822 86 DUP7 3823 01 ADD 3824 01 ADD 3825 61 PUSH2 0x395f 3828 56 *JUMP 3829 5B JUMPDEST 382A 82 DUP3 382B 52 MSTORE 382C 50 POP 382D 90 SWAP1 382E 8A DUP11 382F 01 ADD 3830 51 MLOAD 3831 86 DUP7 3832 82 DUP3 3833 01 ADD 3834 52 MSTORE 3835 84 DUP5 3836 52 MSTORE 3837 92 SWAP3 3838 84 DUP5 3839 01 ADD 383A 92 SWAP3 383B 90 SWAP1 383C 84 DUP5 383D 01 ADD 383E 90 SWAP1 383F 60 PUSH1 0x01 3841 01 ADD 3842 61 PUSH2 0x37e2 3845 56 *JUMP 3846 5B JUMPDEST 3847 50 POP 3848 50 POP 3849 87 DUP8 384A 52 MSTORE 384B 50 POP 384C 86 DUP7 384D 81 DUP2 384E 01 ADD 384F 51 MLOAD 3850 94 SWAP5 3851 50 POP 3852 82 DUP3 3853 85 DUP6 3854 11 GT 3855 15 ISZERO 3856 61 PUSH2 0x385e 3859 57 *JUMPI 385A 60 PUSH1 0x00 385C 80 DUP1 385D FD *REVERT 385E 5B JUMPDEST 385F 61 PUSH2 0x386a 3862 88 DUP9 3863 86 DUP7 3864 89 DUP10 3865 01 ADD 3866 61 PUSH2 0x395f 3869 56 *JUMP 386A 5B JUMPDEST 386B 81 DUP2 386C 87 DUP8 386D 01 ADD 386E 52 MSTORE 386F 50 POP 3870 50 POP 3871 50 POP 3872 50 POP 3873 50 POP 3874 92 SWAP3 3875 91 SWAP2 3876 50 POP 3877 50 POP 3878 56 *JUMP label_3879: // Incoming call from 0x46E0, returns to 0x2C78 // Incoming call from 0x376D, returns to 0x376E // Incoming call from 0x36A7, returns to 0x36A8 // Inputs[2] // { // @387E stack[-1] // @387F stack[-2] // } 3879 5B JUMPDEST 387A 60 PUSH1 0x00 387C 60 PUSH1 0x60 387E 82 DUP3 387F 84 DUP5 3880 03 SUB 3881 12 SLT 3882 15 ISZERO 3883 61 PUSH2 0x388a 3886 57 *JUMPI // Stack delta = +1 // Outputs[1] { @387A stack[0] = 0x00 } // Block ends with conditional jump to 0x388a, if !(stack[-2] - stack[-1] i< 0x60) label_3887: // Incoming jump from 0x3886, if not !(stack[-2] - stack[-1] i< 0x60) // Inputs[2] // { // @3887 stack[-1] // @3889 memory[stack[-1]:stack[-1] + stack[-1]] // } 3887 80 DUP1 3888 81 DUP2 3889 FD *REVERT // Stack delta = +0 // Outputs[1] { @3889 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_388A: // Incoming jump from 0x3886, if !(stack[-2] - stack[-1] i< 0x60) 388A 5B JUMPDEST 388B 61 PUSH2 0x3894 388E 60 PUSH1 0x60 3890 61 PUSH2 0x5318 3893 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @388B stack[0] = 0x3894 // @388E stack[1] = 0x60 // } // Block ends with call to 0x5318, returns to 0x3894 label_3894: // Incoming return from call to 0x5318 at 0x3893 // Inputs[4] // { // @3895 stack[-1] // @3895 stack[-2] // @3897 stack[-3] // @3898 msg.data[stack[-3]:stack[-3] + 0x20] // } 3894 5B JUMPDEST 3895 90 SWAP1 3896 50 POP 3897 81 DUP2 3898 35 CALLDATALOAD 3899 61 PUSH2 0x38a1 389C 81 DUP2 389D 61 PUSH2 0x565c 38A0 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3895 stack[-2] = stack[-1] // @3898 stack[-1] = msg.data[stack[-3]:stack[-3] + 0x20] // @3899 stack[0] = 0x38a1 // @389C stack[1] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x565c, returns to 0x38A1 label_38A1: // Incoming return from call to 0x565C at 0x38A0 // Inputs[4] // { // @38A2 stack[-2] // @38A3 stack[-1] // @38A6 stack[-3] // @38A9 msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // } 38A1 5B JUMPDEST 38A2 81 DUP2 38A3 52 MSTORE 38A4 60 PUSH1 0x20 38A6 82 DUP3 38A7 81 DUP2 38A8 01 ADD 38A9 35 CALLDATALOAD 38AA 67 PUSH8 0xffffffffffffffff 38B3 80 DUP1 38B4 82 DUP3 38B5 11 GT 38B6 15 ISZERO 38B7 61 PUSH2 0x38bf 38BA 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @38A3 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @38A4 stack[-1] = 0x20 // @38A9 stack[0] = msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] // @38AA stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x38bf, if !(msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] > 0xffffffffffffffff) label_38BB: // Incoming jump from 0x38BA, if not !(msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[1] { @38BE memory[0x00:0x00] } 38BB 60 PUSH1 0x00 38BD 80 DUP1 38BE FD *REVERT // Stack delta = +0 // Outputs[1] { @38BE revert(memory[0x00:0x00]); } // Block terminates label_38BF: // Incoming jump from 0x38BA, if !(msg.data[0x20 + stack[-3]:0x20 + stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @38C3 stack[-6] // @38C4 stack[-2] // @38C5 stack[-5] // } 38BF 5B JUMPDEST 38C0 61 PUSH2 0x38cb 38C3 86 DUP7 38C4 83 DUP4 38C5 87 DUP8 38C6 01 ADD 38C7 61 PUSH2 0x3366 38CA 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @38C0 stack[0] = 0x38cb // @38C3 stack[1] = stack[-6] // @38C6 stack[2] = stack[-5] + stack[-2] // } // Block ends with call to 0x3366, returns to 0x38CB label_38CB: // Incoming return from call to 0x3366 at 0x38CA // Inputs[7] // { // @38CC stack[-4] // @38CD stack[-5] // @38CF stack[-1] // @38D2 stack[-3] // @38D5 stack[-6] // @38D7 msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @38D8 stack[-2] // } 38CB 5B JUMPDEST 38CC 83 DUP4 38CD 85 DUP6 38CE 01 ADD 38CF 52 MSTORE 38D0 60 PUSH1 0x40 38D2 91 SWAP2 38D3 50 POP 38D4 81 DUP2 38D5 85 DUP6 38D6 01 ADD 38D7 35 CALLDATALOAD 38D8 81 DUP2 38D9 81 DUP2 38DA 11 GT 38DB 15 ISZERO 38DC 61 PUSH2 0x38e4 38DF 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @38CF memory[stack[-5] + stack[-4]:stack[-5] + stack[-4] + 0x20] = stack[-1] // @38D2 stack[-3] = 0x40 // @38D7 stack[-1] = msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x38e4, if !(msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] > stack[-2]) label_38E0: // Incoming jump from 0x38DF, if not !(msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] > stack[-2]) // Inputs[1] { @38E3 memory[0x00:0x00] } 38E0 60 PUSH1 0x00 38E2 80 DUP1 38E3 FD *REVERT // Stack delta = +0 // Outputs[1] { @38E3 revert(memory[0x00:0x00]); } // Block terminates label_38E4: // Incoming jump from 0x38DF, if !(msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] > stack[-2]) // Inputs[4] // { // @38E5 stack[-6] // @38E6 stack[-1] // @38E7 stack[-2] // @38ED stack[-7] // } 38E4 5B JUMPDEST 38E5 85 DUP6 38E6 01 ADD 38E7 90 SWAP1 38E8 50 POP 38E9 60 PUSH1 0x1f 38EB 81 DUP2 38EC 01 ADD 38ED 86 DUP7 38EE 13 SGT 38EF 61 PUSH2 0x38f7 38F2 57 *JUMPI // Stack delta = -1 // Outputs[1] { @38E7 stack[-2] = stack[-6] + stack[-1] } // Block ends with conditional jump to 0x38f7, if stack[-7] i> stack[-6] + stack[-1] + 0x1f label_38F3: // Incoming jump from 0x38F2, if not stack[-7] i> stack[-6] + stack[-1] + 0x1f // Inputs[1] { @38F6 memory[0x00:0x00] } 38F3 60 PUSH1 0x00 38F5 80 DUP1 38F6 FD *REVERT // Stack delta = +0 // Outputs[1] { @38F6 revert(memory[0x00:0x00]); } // Block terminates label_38F7: // Incoming jump from 0x38F2, if stack[-7] i> stack[-6] + stack[-1] + 0x1f // Inputs[2] // { // @38F8 stack[-1] // @38F9 msg.data[stack[-1]:stack[-1] + 0x20] // } 38F7 5B JUMPDEST 38F8 80 DUP1 38F9 35 CALLDATALOAD 38FA 61 PUSH2 0x3905 38FD 61 PUSH2 0x2ff2 3900 82 DUP3 3901 61 PUSH2 0x5349 3904 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @38F9 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @38FA stack[1] = 0x3905 // @38FD stack[2] = 0x2ff2 // @3900 stack[3] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_3905: // Incoming return from call to 0x2FF2 at 0x3904 // Inputs[6] // { // @3906 stack[-2] // @3907 stack[-1] // @3909 stack[-5] // @390D stack[-3] // @3910 stack[-4] // @3917 stack[-8] // } 3905 5B JUMPDEST 3906 81 DUP2 3907 81 DUP2 3908 52 MSTORE 3909 84 DUP5 390A 81 DUP2 390B 01 ADD 390C 90 SWAP1 390D 83 DUP4 390E 86 DUP7 390F 01 ADD 3910 85 DUP6 3911 84 DUP5 3912 02 MUL 3913 85 DUP6 3914 01 ADD 3915 87 DUP8 3916 01 ADD 3917 8A DUP11 3918 10 LT 3919 15 ISZERO 391A 61 PUSH2 0x3922 391D 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @3908 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @390C stack[0] = stack[-1] // @390C stack[-1] = stack[-1] + stack[-5] // @390F stack[1] = stack[-5] + stack[-3] // } // Block ends with conditional jump to 0x3922, if !(stack[-8] < stack[-5] + stack[-3] + stack[-2] * stack[-4]) label_391E: // Incoming jump from 0x391D, if not !(stack[-8] < stack[-5] + stack[-3] + stack[-2] * stack[-4]) // Inputs[1] { @3921 memory[0x00:0x00] } 391E 60 PUSH1 0x00 3920 80 DUP1 3921 FD *REVERT // Stack delta = +0 // Outputs[1] { @3921 revert(memory[0x00:0x00]); } // Block terminates label_3922: // Incoming jump from 0x391D, if !(stack[-8] < stack[-5] + stack[-3] + stack[-2] * stack[-4]) // Inputs[2] // { // @3925 stack[-5] // @3928 stack[-4] // } 3922 5B JUMPDEST 3923 60 PUSH1 0x00 3925 94 SWAP5 3926 50 POP 3927 5B JUMPDEST 3928 83 DUP4 3929 85 DUP6 392A 10 LT 392B 15 ISZERO 392C 61 PUSH2 0x394d 392F 57 *JUMPI // Stack delta = +0 // Outputs[1] { @3925 stack[-5] = 0x00 } // Block ends with conditional jump to 0x394d, if !(0x00 < stack[-4]) label_3930: // Incoming jump from 0x392F, if not !(stack[-5] < stack[-4]) // Incoming jump from 0x392F, if not !(0x00 < stack[-4]) // Inputs[2] // { // @3933 stack[-10] // @3934 stack[-1] // } 3930 61 PUSH2 0x3939 3933 8A DUP11 3934 82 DUP3 3935 61 PUSH2 0x3470 3938 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3930 stack[0] = 0x3939 // @3933 stack[1] = stack[-10] // @3934 stack[2] = stack[-1] // } // Block ends with call to 0x3470, returns to 0x3939 label_3939: // Incoming return from call to 0x3470 at 0x3938 // Inputs[6] // { // @393A stack[-4] // @393B stack[-1] // @393E stack[-6] // @393F stack[-2] // @3944 stack[-8] // @3947 stack[-7] // } 3939 5B JUMPDEST 393A 83 DUP4 393B 52 MSTORE 393C 60 PUSH1 0x01 393E 94 SWAP5 393F 90 SWAP1 3940 94 SWAP5 3941 01 ADD 3942 93 SWAP4 3943 91 SWAP2 3944 86 DUP7 3945 01 ADD 3946 91 SWAP2 3947 85 DUP6 3948 01 ADD 3949 61 PUSH2 0x3927 394C 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @393B memory[stack[-4]:stack[-4] + 0x20] = stack[-1] // @3942 stack[-6] = 0x01 + stack[-6] // @3946 stack[-4] = stack[-8] + stack[-4] // @3948 stack[-2] = stack[-7] + stack[-2] // } // Block ends with unconditional jump to 0x3927 label_394D: // Incoming jump from 0x392F, if !(stack[-5] < stack[-4]) // Incoming jump from 0x392F, if !(0x00 < stack[-4]) // Inputs[5] // { // @394F stack[-2] // @3950 stack[-6] // @3951 stack[-8] // @395A stack[-11] // @395B stack[-10] // } 394D 5B JUMPDEST 394E 50 POP 394F 80 DUP1 3950 85 DUP6 3951 88 DUP9 3952 01 ADD 3953 52 MSTORE 3954 50 POP 3955 50 POP 3956 50 POP 3957 50 POP 3958 50 POP 3959 50 POP 395A 92 SWAP3 395B 91 SWAP2 395C 50 POP 395D 50 POP 395E 56 *JUMP // Stack delta = -10 // Outputs[2] // { // @3953 memory[stack[-8] + stack[-6]:stack[-8] + stack[-6] + 0x20] = stack[-2] // @395A stack[-11] = stack[-8] // } // Block ends with unconditional jump to stack[-11] 395F 5B JUMPDEST 3960 60 PUSH1 0x00 3962 60 PUSH1 0x60 3964 82 DUP3 3965 84 DUP5 3966 03 SUB 3967 12 SLT 3968 15 ISZERO 3969 61 PUSH2 0x3970 396C 57 *JUMPI 396D 80 DUP1 396E 81 DUP2 396F FD *REVERT 3970 5B JUMPDEST 3971 61 PUSH2 0x397a 3974 60 PUSH1 0x60 3976 61 PUSH2 0x5318 3979 56 *JUMP 397A 5B JUMPDEST 397B 90 SWAP1 397C 50 POP 397D 81 DUP2 397E 51 MLOAD 397F 61 PUSH2 0x3987 3982 81 DUP2 3983 61 PUSH2 0x565c 3986 56 *JUMP 3987 5B JUMPDEST 3988 81 DUP2 3989 52 MSTORE 398A 60 PUSH1 0x20 398C 82 DUP3 398D 81 DUP2 398E 01 ADD 398F 51 MLOAD 3990 67 PUSH8 0xffffffffffffffff 3999 80 DUP1 399A 82 DUP3 399B 11 GT 399C 15 ISZERO 399D 61 PUSH2 0x39a5 39A0 57 *JUMPI 39A1 60 PUSH1 0x00 39A3 80 DUP1 39A4 FD *REVERT 39A5 5B JUMPDEST 39A6 61 PUSH2 0x39b1 39A9 86 DUP7 39AA 83 DUP4 39AB 87 DUP8 39AC 01 ADD 39AD 61 PUSH2 0x33b2 39B0 56 *JUMP 39B1 5B JUMPDEST 39B2 83 DUP4 39B3 85 DUP6 39B4 01 ADD 39B5 52 MSTORE 39B6 60 PUSH1 0x40 39B8 91 SWAP2 39B9 50 POP 39BA 81 DUP2 39BB 85 DUP6 39BC 01 ADD 39BD 51 MLOAD 39BE 81 DUP2 39BF 81 DUP2 39C0 11 GT 39C1 15 ISZERO 39C2 61 PUSH2 0x39ca 39C5 57 *JUMPI 39C6 60 PUSH1 0x00 39C8 80 DUP1 39C9 FD *REVERT 39CA 5B JUMPDEST 39CB 85 DUP6 39CC 01 ADD 39CD 90 SWAP1 39CE 50 POP 39CF 60 PUSH1 0x1f 39D1 81 DUP2 39D2 01 ADD 39D3 86 DUP7 39D4 13 SGT 39D5 61 PUSH2 0x39dd 39D8 57 *JUMPI 39D9 60 PUSH1 0x00 39DB 80 DUP1 39DC FD *REVERT 39DD 5B JUMPDEST 39DE 80 DUP1 39DF 51 MLOAD 39E0 61 PUSH2 0x39eb 39E3 61 PUSH2 0x2ff2 39E6 82 DUP3 39E7 61 PUSH2 0x5349 39EA 56 *JUMP 39EB 5B JUMPDEST 39EC 81 DUP2 39ED 81 DUP2 39EE 52 MSTORE 39EF 84 DUP5 39F0 81 DUP2 39F1 01 ADD 39F2 90 SWAP1 39F3 83 DUP4 39F4 86 DUP7 39F5 01 ADD 39F6 85 DUP6 39F7 84 DUP5 39F8 02 MUL 39F9 85 DUP6 39FA 01 ADD 39FB 87 DUP8 39FC 01 ADD 39FD 8A DUP11 39FE 10 LT 39FF 15 ISZERO 3A00 61 PUSH2 0x3a08 3A03 57 *JUMPI 3A04 60 PUSH1 0x00 3A06 80 DUP1 3A07 FD *REVERT 3A08 5B JUMPDEST 3A09 60 PUSH1 0x00 3A0B 94 SWAP5 3A0C 50 POP 3A0D 84 DUP5 3A0E 5B JUMPDEST 3A0F 84 DUP5 3A10 81 DUP2 3A11 10 LT 3A12 15 ISZERO 3A13 61 PUSH2 0x3a4b 3A16 57 *JUMPI 3A17 86 DUP7 3A18 82 DUP3 3A19 8C DUP13 3A1A 03 SUB 3A1B 12 SLT 3A1C 15 ISZERO 3A1D 61 PUSH2 0x3a24 3A20 57 *JUMPI 3A21 85 DUP6 3A22 86 DUP7 3A23 FD *REVERT 3A24 5B JUMPDEST 3A25 61 PUSH2 0x3a2d 3A28 87 DUP8 3A29 61 PUSH2 0x5318 3A2C 56 *JUMP 3A2D 5B JUMPDEST 3A2E 82 DUP3 3A2F 51 MLOAD 3A30 81 DUP2 3A31 52 MSTORE 3A32 88 DUP9 3A33 83 DUP4 3A34 01 ADD 3A35 51 MLOAD 3A36 89 DUP10 3A37 82 DUP3 3A38 01 ADD 3A39 52 MSTORE 3A3A 84 DUP5 3A3B 52 MSTORE 3A3C 92 SWAP3 3A3D 87 DUP8 3A3E 01 ADD 3A3F 92 SWAP3 3A40 90 SWAP1 3A41 86 DUP7 3A42 01 ADD 3A43 90 SWAP1 3A44 60 PUSH1 0x01 3A46 01 ADD 3A47 61 PUSH2 0x3a0e 3A4A 56 *JUMP 3A4B 5B JUMPDEST 3A4C 50 POP 3A4D 50 POP 3A4E 80 DUP1 3A4F 85 DUP6 3A50 88 DUP9 3A51 01 ADD 3A52 52 MSTORE 3A53 50 POP 3A54 50 POP 3A55 50 POP 3A56 50 POP 3A57 50 POP 3A58 50 POP 3A59 92 SWAP3 3A5A 91 SWAP2 3A5B 50 POP 3A5C 50 POP 3A5D 56 *JUMP label_3A5E: // Incoming call from 0x3EB8, returns to 0x3EB9 // Incoming call from 0x4746, returns to 0x2C78 // Inputs[2] // { // @3A63 stack[-1] // @3A64 stack[-2] // } 3A5E 5B JUMPDEST 3A5F 60 PUSH1 0x00 3A61 60 PUSH1 0x40 3A63 82 DUP3 3A64 84 DUP5 3A65 03 SUB 3A66 12 SLT 3A67 15 ISZERO 3A68 61 PUSH2 0x3a6f 3A6B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3A5F stack[0] = 0x00 } // Block ends with conditional jump to 0x3a6f, if !(stack[-2] - stack[-1] i< 0x40) label_3A6C: // Incoming jump from 0x3A6B, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3A6C stack[-1] // @3A6E memory[stack[-1]:stack[-1] + stack[-1]] // } 3A6C 80 DUP1 3A6D 81 DUP2 3A6E FD *REVERT // Stack delta = +0 // Outputs[1] { @3A6E revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3A6F: // Incoming jump from 0x3A6B, if !(stack[-2] - stack[-1] i< 0x40) 3A6F 5B JUMPDEST 3A70 61 PUSH2 0x3a79 3A73 60 PUSH1 0x40 3A75 61 PUSH2 0x5318 3A78 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3A70 stack[0] = 0x3a79 // @3A73 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3A79 label_3A79: // Incoming return from call to 0x5318 at 0x3A78 // Inputs[5] // { // @3A7A stack[-1] // @3A7A stack[-2] // @3A7C stack[-3] // @3A7D msg.data[stack[-3]:stack[-3] + 0x20] // @3A84 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 3A79 5B JUMPDEST 3A7A 90 SWAP1 3A7B 50 POP 3A7C 81 DUP2 3A7D 35 CALLDATALOAD 3A7E 81 DUP2 3A7F 52 MSTORE 3A80 60 PUSH1 0x20 3A82 82 DUP3 3A83 01 ADD 3A84 35 CALLDATALOAD 3A85 67 PUSH8 0xffffffffffffffff 3A8E 81 DUP2 3A8F 11 GT 3A90 15 ISZERO 3A91 61 PUSH2 0x3a99 3A94 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @3A7A stack[-2] = stack[-1] // @3A7F memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @3A84 stack[-1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x3a99, if !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > 0xffffffffffffffff) label_3A95: // Incoming jump from 0x3A94, if not !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > 0xffffffffffffffff) // Inputs[1] { @3A98 memory[0x00:0x00] } 3A95 60 PUSH1 0x00 3A97 80 DUP1 3A98 FD *REVERT // Stack delta = +0 // Outputs[1] { @3A98 revert(memory[0x00:0x00]); } // Block terminates label_3A99: // Incoming jump from 0x3A94, if !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3A9D stack[-4] // @3A9E stack[-1] // @3A9F stack[-3] // } 3A99 5B JUMPDEST 3A9A 61 PUSH2 0x3aa5 3A9D 84 DUP5 3A9E 82 DUP3 3A9F 85 DUP6 3AA0 01 ADD 3AA1 61 PUSH2 0x3366 3AA4 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3A9A stack[0] = 0x3aa5 // @3A9D stack[1] = stack[-4] // @3AA0 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x3AA5 label_3AA5: // Incoming return from call to 0x3366 at 0x3AA4 // Inputs[4] // { // @3AA8 stack[-3] // @3AAA stack[-1] // @3AAC stack[-6] // @3AAD stack[-5] // } 3AA5 5B JUMPDEST 3AA6 60 PUSH1 0x20 3AA8 83 DUP4 3AA9 01 ADD 3AAA 52 MSTORE 3AAB 50 POP 3AAC 92 SWAP3 3AAD 91 SWAP2 3AAE 50 POP 3AAF 50 POP 3AB0 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @3AAA memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] = stack[-1] // @3AAC stack[-6] = stack[-3] // } // Block ends with unconditional jump to stack[-6] label_3AB1: // Incoming jump from 0x301A // Incoming jump from 0x4779 // Inputs[2] // { // @3AB6 stack[-1] // @3AB7 stack[-2] // } 3AB1 5B JUMPDEST 3AB2 60 PUSH1 0x00 3AB4 60 PUSH1 0xa0 3AB6 82 DUP3 3AB7 84 DUP5 3AB8 03 SUB 3AB9 12 SLT 3ABA 15 ISZERO 3ABB 61 PUSH2 0x3ac2 3ABE 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3AB2 stack[0] = 0x00 } // Block ends with conditional jump to 0x3ac2, if !(stack[-2] - stack[-1] i< 0xa0) label_3ABF: // Incoming jump from 0x3ABE, if not !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @3ABF stack[-1] // @3AC1 memory[stack[-1]:stack[-1] + stack[-1]] // } 3ABF 80 DUP1 3AC0 81 DUP2 3AC1 FD *REVERT // Stack delta = +0 // Outputs[1] { @3AC1 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3AC2: // Incoming jump from 0x3ABE, if !(stack[-2] - stack[-1] i< 0xa0) 3AC2 5B JUMPDEST 3AC3 61 PUSH2 0x3acc 3AC6 60 PUSH1 0x60 3AC8 61 PUSH2 0x5318 3ACB 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3AC3 stack[0] = 0x3acc // @3AC6 stack[1] = 0x60 // } // Block ends with call to 0x5318, returns to 0x3ACC label_3ACC: // Incoming return from call to 0x5318 at 0x3ACB // Inputs[4] // { // @3ACD stack[-2] // @3ACD stack[-1] // @3AD2 stack[-4] // @3AD3 stack[-3] // } 3ACC 5B JUMPDEST 3ACD 90 SWAP1 3ACE 50 POP 3ACF 61 PUSH2 0x3ad8 3AD2 83 DUP4 3AD3 83 DUP4 3AD4 61 PUSH2 0x3b1e 3AD7 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3ACD stack[-2] = stack[-1] // @3ACF stack[-1] = 0x3ad8 // @3AD2 stack[0] = stack[-4] // @3AD3 stack[1] = stack[-3] // } // Block ends with call to 0x3b1e, returns to 0x3AD8 label_3AD8: // Incoming return from call to 0x3B1E at 0x3AD7 // Inputs[4] // { // @3AD9 stack[-2] // @3ADA stack[-1] // @3ADE stack[-4] // @3AE1 stack[-3] // } 3AD8 5B JUMPDEST 3AD9 81 DUP2 3ADA 52 MSTORE 3ADB 61 PUSH2 0x3ae7 3ADE 83 DUP4 3ADF 60 PUSH1 0x40 3AE1 84 DUP5 3AE2 01 ADD 3AE3 61 PUSH2 0x33f5 3AE6 56 *JUMP // Stack delta = +2 // Outputs[4] // { // @3ADA memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3ADB stack[-1] = 0x3ae7 // @3ADE stack[0] = stack[-4] // @3AE2 stack[1] = stack[-3] + 0x40 // } // Block ends with unconditional jump to 0x33f5 3AE7 5B JUMPDEST 3AE8 60 PUSH1 0x20 3AEA 82 DUP3 3AEB 01 ADD 3AEC 52 MSTORE 3AED 60 PUSH1 0x80 3AEF 82 DUP3 3AF0 01 ADD 3AF1 35 CALLDATALOAD 3AF2 67 PUSH8 0xffffffffffffffff 3AFB 81 DUP2 3AFC 11 GT 3AFD 15 ISZERO 3AFE 61 PUSH2 0x3b06 3B01 57 *JUMPI 3B02 60 PUSH1 0x00 3B04 80 DUP1 3B05 FD *REVERT 3B06 5B JUMPDEST 3B07 61 PUSH2 0x3b12 3B0A 84 DUP5 3B0B 82 DUP3 3B0C 85 DUP6 3B0D 01 ADD 3B0E 61 PUSH2 0x3879 3B11 56 *JUMP 3B12 5B JUMPDEST 3B13 60 PUSH1 0x40 3B15 83 DUP4 3B16 01 ADD 3B17 52 MSTORE 3B18 50 POP 3B19 92 SWAP3 3B1A 91 SWAP2 3B1B 50 POP 3B1C 50 POP 3B1D 56 *JUMP label_3B1E: // Incoming call from 0x3AD7, returns to 0x3AD8 // Incoming call from 0x4794, returns to 0x2D67 // Inputs[2] // { // @3B23 stack[-1] // @3B24 stack[-2] // } 3B1E 5B JUMPDEST 3B1F 60 PUSH1 0x00 3B21 60 PUSH1 0x40 3B23 82 DUP3 3B24 84 DUP5 3B25 03 SUB 3B26 12 SLT 3B27 15 ISZERO 3B28 61 PUSH2 0x3b2f 3B2B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3B1F stack[0] = 0x00 } // Block ends with conditional jump to 0x3b2f, if !(stack[-2] - stack[-1] i< 0x40) label_3B2C: // Incoming jump from 0x3B2B, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3B2C stack[-1] // @3B2E memory[stack[-1]:stack[-1] + stack[-1]] // } 3B2C 80 DUP1 3B2D 81 DUP2 3B2E FD *REVERT // Stack delta = +0 // Outputs[1] { @3B2E revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3B2F: // Incoming jump from 0x3B2B, if !(stack[-2] - stack[-1] i< 0x40) 3B2F 5B JUMPDEST 3B30 61 PUSH2 0x3b39 3B33 60 PUSH1 0x40 3B35 61 PUSH2 0x5318 3B38 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3B30 stack[0] = 0x3b39 // @3B33 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3B39 label_3B39: // Incoming return from call to 0x5318 at 0x3B38 // Inputs[5] // { // @3B3A stack[-1] // @3B3A stack[-2] // @3B3C stack[-3] // @3B3D msg.data[stack[-3]:stack[-3] + 0x20] // @3B44 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } 3B39 5B JUMPDEST 3B3A 90 SWAP1 3B3B 50 POP 3B3C 81 DUP2 3B3D 35 CALLDATALOAD 3B3E 81 DUP2 3B3F 52 MSTORE 3B40 60 PUSH1 0x20 3B42 82 DUP3 3B43 01 ADD 3B44 35 CALLDATALOAD 3B45 61 PUSH2 0x342d 3B48 81 DUP2 3B49 61 PUSH2 0x565c 3B4C 56 *JUMP // Stack delta = +2 // Outputs[5] // { // @3B3A stack[-2] = stack[-1] // @3B3F memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @3B44 stack[-1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @3B45 stack[0] = 0x342d // @3B48 stack[1] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x342D 3B4D 5B JUMPDEST 3B4E 80 DUP1 3B4F 51 MLOAD 3B50 6D PUSH14 0xffffffffffffffffffffffffffff 3B5F 81 DUP2 3B60 16 AND 3B61 81 DUP2 3B62 14 EQ 3B63 61 PUSH2 0x0496 3B66 57 *JUMPI 3B67 60 PUSH1 0x00 3B69 80 DUP1 3B6A FD *REVERT 3B6B 5B JUMPDEST 3B6C 60 PUSH1 0x00 3B6E 60 PUSH1 0x20 3B70 82 DUP3 3B71 84 DUP5 3B72 03 SUB 3B73 12 SLT 3B74 15 ISZERO 3B75 61 PUSH2 0x3b7c 3B78 57 *JUMPI 3B79 80 DUP1 3B7A 81 DUP2 3B7B FD *REVERT 3B7C 5B JUMPDEST 3B7D 81 DUP2 3B7E 35 CALLDATALOAD 3B7F 61 PUSH2 0x2d67 3B82 81 DUP2 3B83 61 PUSH2 0x565c 3B86 56 *JUMP label_3B87: // Incoming jump from 0x0E0B // Inputs[2] // { // @3B8C stack[-1] // @3B8D stack[-2] // } 3B87 5B JUMPDEST 3B88 60 PUSH1 0x00 3B8A 60 PUSH1 0x20 3B8C 82 DUP3 3B8D 84 DUP5 3B8E 03 SUB 3B8F 12 SLT 3B90 15 ISZERO 3B91 61 PUSH2 0x3b98 3B94 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3B88 stack[0] = 0x00 } // Block ends with conditional jump to 0x3b98, if !(stack[-2] - stack[-1] i< 0x20) label_3B95: // Incoming jump from 0x3B94, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3B95 stack[-1] // @3B97 memory[stack[-1]:stack[-1] + stack[-1]] // } 3B95 80 DUP1 3B96 81 DUP2 3B97 FD *REVERT // Stack delta = +0 // Outputs[1] { @3B97 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3B98: // Incoming jump from 0x3B94, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3B99 stack[-2] // @3B9A memory[stack[-2]:stack[-2] + 0x20] // } 3B98 5B JUMPDEST 3B99 81 DUP2 3B9A 51 MLOAD 3B9B 61 PUSH2 0x2d67 3B9E 81 DUP2 3B9F 61 PUSH2 0x565c 3BA2 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3B9A stack[0] = memory[stack[-2]:stack[-2] + 0x20] // @3B9B stack[1] = 0x2d67 // @3B9E stack[2] = memory[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x565c, returns to 0x2D67 label_3BA3: // Incoming call from 0x0329, returns to 0x032A // Inputs[2] // { // @3BA9 stack[-1] // @3BAA stack[-2] // } 3BA3 5B JUMPDEST 3BA4 60 PUSH1 0x00 3BA6 80 DUP1 3BA7 60 PUSH1 0x00 3BA9 83 DUP4 3BAA 85 DUP6 3BAB 03 SUB 3BAC 60 PUSH1 0x80 3BAE 81 DUP2 3BAF 12 SLT 3BB0 15 ISZERO 3BB1 61 PUSH2 0x3bb8 3BB4 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @3BA4 stack[0] = 0x00 // @3BA6 stack[1] = 0x00 // @3BA7 stack[2] = 0x00 // @3BAB stack[3] = stack[-2] - stack[-1] // } // Block ends with conditional jump to 0x3bb8, if !(stack[-2] - stack[-1] i< 0x80) label_3BB5: // Incoming jump from 0x3BB4, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3BB5 stack[-3] // @3BB7 memory[stack[-3]:stack[-3] + stack[-3]] // } 3BB5 82 DUP3 3BB6 83 DUP4 3BB7 FD *REVERT // Stack delta = +0 // Outputs[1] { @3BB7 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3BB8: // Incoming jump from 0x3BB4, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3BB9 stack[-5] // @3BBA msg.data[stack[-5]:stack[-5] + 0x20] // } 3BB8 5B JUMPDEST 3BB9 84 DUP5 3BBA 35 CALLDATALOAD 3BBB 61 PUSH2 0x3bc3 3BBE 81 DUP2 3BBF 61 PUSH2 0x565c 3BC2 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3BBA stack[0] = msg.data[stack[-5]:stack[-5] + 0x20] // @3BBB stack[1] = 0x3bc3 // @3BBE stack[2] = msg.data[stack[-5]:stack[-5] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3BC3 label_3BC3: // Incoming return from call to 0x565C at 0x3BC2 // Inputs[3] // { // @3BC4 stack[-1] // @3BC4 stack[-5] // @3BCB stack[-2] // } 3BC3 5B JUMPDEST 3BC4 93 SWAP4 3BC5 50 POP 3BC6 60 PUSH1 0x40 3BC8 60 PUSH1 0x1f 3BCA 19 NOT 3BCB 82 DUP3 3BCC 01 ADD 3BCD 12 SLT 3BCE 15 ISZERO 3BCF 61 PUSH2 0x3bd6 3BD2 57 *JUMPI // Stack delta = -1 // Outputs[1] { @3BC4 stack[-5] = stack[-1] } // Block ends with conditional jump to 0x3bd6, if !(stack[-2] + ~0x1f i< 0x40) label_3BD3: // Incoming jump from 0x3BD2, if not !(stack[-2] + ~0x1f i< 0x40) // Inputs[2] // { // @3BD3 stack[-3] // @3BD5 memory[stack[-3]:stack[-3] + stack[-3]] // } 3BD3 82 DUP3 3BD4 83 DUP4 3BD5 FD *REVERT // Stack delta = +0 // Outputs[1] { @3BD5 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3BD6: // Incoming jump from 0x3BD2, if !(stack[-2] + ~0x1f i< 0x40) 3BD6 5B JUMPDEST 3BD7 50 POP 3BD8 61 PUSH2 0x3be1 3BDB 60 PUSH1 0x40 3BDD 61 PUSH2 0x5318 3BE0 56 *JUMP // Stack delta = +1 // Outputs[2] // { // @3BD8 stack[-1] = 0x3be1 // @3BDB stack[0] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3BE1 label_3BE1: // Incoming return from call to 0x5318 at 0x3BE0 // Inputs[2] // { // @3BE4 stack[-5] // @3BE6 msg.data[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // } 3BE1 5B JUMPDEST 3BE2 60 PUSH1 0x20 3BE4 85 DUP6 3BE5 01 ADD 3BE6 35 CALLDATALOAD 3BE7 61 PUSH2 0x3bef 3BEA 81 DUP2 3BEB 61 PUSH2 0x565c 3BEE 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3BE6 stack[0] = msg.data[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // @3BE7 stack[1] = 0x3bef // @3BEA stack[2] = msg.data[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // } // Block ends with call to 0x565c, returns to 0x3BEF label_3BEF: // Incoming return from call to 0x565C at 0x3BEE // Inputs[6] // { // @3BF0 stack[-2] // @3BF1 stack[-1] // @3BF4 stack[-6] // @3BF6 msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @3BFC stack[-4] // @3C02 msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // } 3BEF 5B JUMPDEST 3BF0 81 DUP2 3BF1 52 MSTORE 3BF2 60 PUSH1 0x40 3BF4 85 DUP6 3BF5 01 ADD 3BF6 35 CALLDATALOAD 3BF7 60 PUSH1 0x20 3BF9 82 DUP3 3BFA 01 ADD 3BFB 52 MSTORE 3BFC 91 SWAP2 3BFD 50 POP 3BFE 60 PUSH1 0x60 3C00 84 DUP5 3C01 01 ADD 3C02 35 CALLDATALOAD 3C03 67 PUSH8 0xffffffffffffffff 3C0C 81 DUP2 3C0D 11 GT 3C0E 15 ISZERO 3C0F 61 PUSH2 0x3c16 3C12 57 *JUMPI // Stack delta = -1 // Outputs[4] // { // @3BF1 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3BFB memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @3BFC stack[-4] = stack[-2] // @3C02 stack[-2] = msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // } // Block ends with conditional jump to 0x3c16, if !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) label_3C13: // Incoming jump from 0x3C12, if not !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3C13 stack[-2] // @3C15 memory[stack[-2]:stack[-2] + stack[-2]] // } 3C13 81 DUP2 3C14 82 DUP3 3C15 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C15 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3C16: // Incoming jump from 0x3C12, if !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3C1A stack[-6] // @3C1B stack[-1] // @3C1C stack[-5] // } 3C16 5B JUMPDEST 3C17 61 PUSH2 0x3c22 3C1A 86 DUP7 3C1B 82 DUP3 3C1C 87 DUP8 3C1D 01 ADD 3C1E 61 PUSH2 0x3366 3C21 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3C17 stack[0] = 0x3c22 // @3C1A stack[1] = stack[-6] // @3C1D stack[2] = stack[-5] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x3C22 label_3C22: // Incoming return from call to 0x3366 at 0x3C21 // Inputs[7] // { // @3C23 stack[-3] // @3C23 stack[-1] // @3C26 stack[-6] // @3C28 stack[-7] // @3C28 stack[-4] // @3C2A stack[-5] // @3C2A stack[-8] // } 3C22 5B JUMPDEST 3C23 91 SWAP2 3C24 50 POP 3C25 50 POP 3C26 92 SWAP3 3C27 50 POP 3C28 92 SWAP3 3C29 50 POP 3C2A 92 SWAP3 3C2B 56 *JUMP // Stack delta = -5 // Outputs[3] // { // @3C26 stack[-6] = stack[-1] // @3C28 stack[-7] = stack[-4] // @3C2A stack[-8] = stack[-5] // } // Block ends with unconditional jump to stack[-8] label_3C2C: // Incoming call from 0x01F4, returns to 0x01F5 // Inputs[2] // { // @3C37 stack[-1] // @3C38 stack[-2] // } 3C2C 5B JUMPDEST 3C2D 60 PUSH1 0x00 3C2F 80 DUP1 3C30 60 PUSH1 0x00 3C32 80 DUP1 3C33 60 PUSH1 0x00 3C35 60 PUSH1 0x80 3C37 86 DUP7 3C38 88 DUP9 3C39 03 SUB 3C3A 12 SLT 3C3B 15 ISZERO 3C3C 61 PUSH2 0x3c43 3C3F 57 *JUMPI // Stack delta = +5 // Outputs[5] // { // @3C2D stack[0] = 0x00 // @3C2F stack[1] = 0x00 // @3C30 stack[2] = 0x00 // @3C32 stack[3] = 0x00 // @3C33 stack[4] = 0x00 // } // Block ends with conditional jump to 0x3c43, if !(stack[-2] - stack[-1] i< 0x80) label_3C40: // Incoming jump from 0x3C3F, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3C40 stack[-3] // @3C42 memory[stack[-3]:stack[-3] + stack[-3]] // } 3C40 82 DUP3 3C41 83 DUP4 3C42 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C42 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3C43: // Incoming jump from 0x3C3F, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3C44 stack[-6] // @3C45 msg.data[stack[-6]:stack[-6] + 0x20] // } 3C43 5B JUMPDEST 3C44 85 DUP6 3C45 35 CALLDATALOAD 3C46 61 PUSH2 0x3c4e 3C49 81 DUP2 3C4A 61 PUSH2 0x565c 3C4D 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3C45 stack[0] = msg.data[stack[-6]:stack[-6] + 0x20] // @3C46 stack[1] = 0x3c4e // @3C49 stack[2] = msg.data[stack[-6]:stack[-6] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3C4E label_3C4E: // Incoming return from call to 0x565C at 0x3C4D // Inputs[8] // { // @3C4F stack[-6] // @3C4F stack[-1] // @3C53 stack[-7] // @3C55 msg.data[stack[-7] + 0x20:stack[-7] + 0x20 + 0x20] // @3C56 stack[-5] // @3C5C msg.data[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] // @3C5D stack[-4] // @3C63 msg.data[stack[-7] + 0x60:stack[-7] + 0x60 + 0x20] // } 3C4E 5B JUMPDEST 3C4F 94 SWAP5 3C50 50 POP 3C51 60 PUSH1 0x20 3C53 86 DUP7 3C54 01 ADD 3C55 35 CALLDATALOAD 3C56 93 SWAP4 3C57 50 POP 3C58 60 PUSH1 0x40 3C5A 86 DUP7 3C5B 01 ADD 3C5C 35 CALLDATALOAD 3C5D 92 SWAP3 3C5E 50 POP 3C5F 60 PUSH1 0x60 3C61 86 DUP7 3C62 01 ADD 3C63 35 CALLDATALOAD 3C64 67 PUSH8 0xffffffffffffffff 3C6D 81 DUP2 3C6E 11 GT 3C6F 15 ISZERO 3C70 61 PUSH2 0x3c77 3C73 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @3C4F stack[-6] = stack[-1] // @3C56 stack[-5] = msg.data[stack[-7] + 0x20:stack[-7] + 0x20 + 0x20] // @3C5D stack[-4] = msg.data[stack[-7] + 0x40:stack[-7] + 0x40 + 0x20] // @3C63 stack[-1] = msg.data[stack[-7] + 0x60:stack[-7] + 0x60 + 0x20] // } // Block ends with conditional jump to 0x3c77, if !(msg.data[stack[-7] + 0x60:stack[-7] + 0x60 + 0x20] > 0xffffffffffffffff) label_3C74: // Incoming jump from 0x3C73, if not !(msg.data[stack[-7] + 0x60:stack[-7] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3C74 stack[-2] // @3C76 memory[stack[-2]:stack[-2] + stack[-2]] // } 3C74 81 DUP2 3C75 82 DUP3 3C76 FD *REVERT // Stack delta = +0 // Outputs[1] { @3C76 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3C77: // Incoming jump from 0x3C73, if !(msg.data[stack[-7] + 0x60:stack[-7] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3C7B stack[-8] // @3C7C stack[-1] // @3C7D stack[-7] // } 3C77 5B JUMPDEST 3C78 61 PUSH2 0x3c83 3C7B 88 DUP9 3C7C 82 DUP3 3C7D 89 DUP10 3C7E 01 ADD 3C7F 61 PUSH2 0x3326 3C82 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3C78 stack[0] = 0x3c83 // @3C7B stack[1] = stack[-8] // @3C7E stack[2] = stack[-7] + stack[-1] // } // Block ends with call to 0x3326, returns to 0x3C83 label_3C83: // Incoming return from call to 0x3326 at 0x3C82 // Inputs[9] // { // @3C84 stack[-8] // @3C84 stack[-1] // @3C85 stack[-11] // @3C86 stack[-7] // @3C87 stack[-10] // @3C89 stack[-6] // @3C89 stack[-2] // @3C8A stack[-9] // @3C8C stack[-3] // } 3C83 5B JUMPDEST 3C84 96 SWAP7 3C85 99 SWAP10 3C86 95 SWAP6 3C87 98 SWAP9 3C88 50 POP 3C89 93 SWAP4 3C8A 96 SWAP7 3C8B 50 POP 3C8C 92 SWAP3 3C8D 94 SWAP5 3C8E 93 SWAP4 3C8F 92 SWAP3 3C90 50 POP 3C91 50 POP 3C92 50 POP 3C93 56 *JUMP // Stack delta = -6 // Outputs[5] // { // @3C85 stack[-11] = stack[-8] // @3C87 stack[-10] = stack[-7] // @3C8A stack[-9] = stack[-6] // @3C8D stack[-8] = stack[-2] // @3C8E stack[-7] = stack[-1] // } // Block ends with unconditional jump to stack[-11] label_3C94: // Incoming call from 0x03F2, returns to 0x03F3 // Inputs[2] // { // @3C9D stack[-1] // @3C9E stack[-2] // } 3C94 5B JUMPDEST 3C95 60 PUSH1 0x00 3C97 80 DUP1 3C98 60 PUSH1 0x00 3C9A 80 DUP1 3C9B 60 PUSH1 0x80 3C9D 85 DUP6 3C9E 87 DUP8 3C9F 03 SUB 3CA0 12 SLT 3CA1 15 ISZERO 3CA2 61 PUSH2 0x3ca9 3CA5 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @3C95 stack[0] = 0x00 // @3C97 stack[1] = 0x00 // @3C98 stack[2] = 0x00 // @3C9A stack[3] = 0x00 // } // Block ends with conditional jump to 0x3ca9, if !(stack[-2] - stack[-1] i< 0x80) label_3CA6: // Incoming jump from 0x3CA5, if not !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3CA6 stack[-2] // @3CA8 memory[stack[-2]:stack[-2] + stack[-2]] // } 3CA6 81 DUP2 3CA7 82 DUP3 3CA8 FD *REVERT // Stack delta = +0 // Outputs[1] { @3CA8 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3CA9: // Incoming jump from 0x3CA5, if !(stack[-2] - stack[-1] i< 0x80) // Inputs[2] // { // @3CAA stack[-5] // @3CAB msg.data[stack[-5]:stack[-5] + 0x20] // } 3CA9 5B JUMPDEST 3CAA 84 DUP5 3CAB 35 CALLDATALOAD 3CAC 61 PUSH2 0x3cb4 3CAF 81 DUP2 3CB0 61 PUSH2 0x565c 3CB3 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3CAB stack[0] = msg.data[stack[-5]:stack[-5] + 0x20] // @3CAC stack[1] = 0x3cb4 // @3CAF stack[2] = msg.data[stack[-5]:stack[-5] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3CB4 label_3CB4: // Incoming return from call to 0x565C at 0x3CB3 // Inputs[8] // { // @3CB5 stack[-5] // @3CB5 stack[-1] // @3CB9 stack[-6] // @3CBB msg.data[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @3CBC stack[-4] // @3CC2 msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @3CC3 stack[-3] // @3CC9 msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // } 3CB4 5B JUMPDEST 3CB5 93 SWAP4 3CB6 50 POP 3CB7 60 PUSH1 0x20 3CB9 85 DUP6 3CBA 01 ADD 3CBB 35 CALLDATALOAD 3CBC 92 SWAP3 3CBD 50 POP 3CBE 60 PUSH1 0x40 3CC0 85 DUP6 3CC1 01 ADD 3CC2 35 CALLDATALOAD 3CC3 91 SWAP2 3CC4 50 POP 3CC5 60 PUSH1 0x60 3CC7 85 DUP6 3CC8 01 ADD 3CC9 35 CALLDATALOAD 3CCA 67 PUSH8 0xffffffffffffffff 3CD3 81 DUP2 3CD4 11 GT 3CD5 15 ISZERO 3CD6 61 PUSH2 0x3cdd 3CD9 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @3CB5 stack[-5] = stack[-1] // @3CBC stack[-4] = msg.data[stack[-6] + 0x20:stack[-6] + 0x20 + 0x20] // @3CC3 stack[-3] = msg.data[stack[-6] + 0x40:stack[-6] + 0x40 + 0x20] // @3CC9 stack[-1] = msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] // } // Block ends with conditional jump to 0x3cdd, if !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) label_3CDA: // Incoming jump from 0x3CD9, if not !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3CDA stack[-2] // @3CDC memory[stack[-2]:stack[-2] + stack[-2]] // } 3CDA 81 DUP2 3CDB 82 DUP3 3CDC FD *REVERT // Stack delta = +0 // Outputs[1] { @3CDC revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3CDD: // Incoming jump from 0x3CD9, if !(msg.data[stack[-6] + 0x60:stack[-6] + 0x60 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3CE1 stack[-7] // @3CE2 stack[-1] // @3CE3 stack[-6] // } 3CDD 5B JUMPDEST 3CDE 61 PUSH2 0x3ce9 3CE1 87 DUP8 3CE2 82 DUP3 3CE3 88 DUP9 3CE4 01 ADD 3CE5 61 PUSH2 0x3366 3CE8 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3CDE stack[0] = 0x3ce9 // @3CE1 stack[1] = stack[-7] // @3CE4 stack[2] = stack[-6] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x3CE9 label_3CE9: // Incoming return from call to 0x3366 at 0x3CE8 // Inputs[8] // { // @3CEA stack[-1] // @3CEA stack[-3] // @3CED stack[-6] // @3CEE stack[-9] // @3CEF stack[-5] // @3CF0 stack[-8] // @3CF2 stack[-4] // @3CF2 stack[-7] // } 3CE9 5B JUMPDEST 3CEA 91 SWAP2 3CEB 50 POP 3CEC 50 POP 3CED 92 SWAP3 3CEE 95 SWAP6 3CEF 91 SWAP2 3CF0 94 SWAP5 3CF1 50 POP 3CF2 92 SWAP3 3CF3 50 POP 3CF4 56 *JUMP // Stack delta = -5 // Outputs[4] // { // @3CED stack[-6] = stack[-1] // @3CEE stack[-9] = stack[-6] // @3CF0 stack[-8] = stack[-5] // @3CF2 stack[-7] = stack[-4] // } // Block ends with unconditional jump to stack[-9] label_3CF5: // Incoming call from 0x02E9, returns to 0x02EA // Inputs[2] // { // @3D00 stack[-1] // @3D01 stack[-2] // } 3CF5 5B JUMPDEST 3CF6 60 PUSH1 0x00 3CF8 80 DUP1 3CF9 60 PUSH1 0x00 3CFB 80 DUP1 3CFC 60 PUSH1 0x00 3CFE 60 PUSH1 0x60 3D00 86 DUP7 3D01 88 DUP9 3D02 03 SUB 3D03 12 SLT 3D04 15 ISZERO 3D05 61 PUSH2 0x3d0c 3D08 57 *JUMPI // Stack delta = +5 // Outputs[5] // { // @3CF6 stack[0] = 0x00 // @3CF8 stack[1] = 0x00 // @3CF9 stack[2] = 0x00 // @3CFB stack[3] = 0x00 // @3CFC stack[4] = 0x00 // } // Block ends with conditional jump to 0x3d0c, if !(stack[-2] - stack[-1] i< 0x60) label_3D09: // Incoming jump from 0x3D08, if not !(stack[-2] - stack[-1] i< 0x60) // Inputs[2] // { // @3D09 stack[-3] // @3D0B memory[stack[-3]:stack[-3] + stack[-3]] // } 3D09 82 DUP3 3D0A 83 DUP4 3D0B FD *REVERT // Stack delta = +0 // Outputs[1] { @3D0B revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3D0C: // Incoming jump from 0x3D08, if !(stack[-2] - stack[-1] i< 0x60) // Inputs[2] // { // @3D0D stack[-6] // @3D0E msg.data[stack[-6]:stack[-6] + 0x20] // } 3D0C 5B JUMPDEST 3D0D 85 DUP6 3D0E 35 CALLDATALOAD 3D0F 67 PUSH8 0xffffffffffffffff 3D18 80 DUP1 3D19 82 DUP3 3D1A 11 GT 3D1B 15 ISZERO 3D1C 61 PUSH2 0x3d23 3D1F 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3D0E stack[0] = msg.data[stack[-6]:stack[-6] + 0x20] // @3D0F stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x3d23, if !(msg.data[stack[-6]:stack[-6] + 0x20] > 0xffffffffffffffff) label_3D20: // Incoming jump from 0x3D1F, if not !(msg.data[stack[-6]:stack[-6] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3D20 stack[-5] // @3D22 memory[stack[-5]:stack[-5] + stack[-5]] // } 3D20 84 DUP5 3D21 85 DUP6 3D22 FD *REVERT // Stack delta = +0 // Outputs[1] { @3D22 revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_3D23: // Incoming jump from 0x3D1F, if !(msg.data[stack[-6]:stack[-6] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3D27 stack[-9] // @3D28 stack[-2] // @3D29 stack[-8] // } 3D23 5B JUMPDEST 3D24 61 PUSH2 0x3d2f 3D27 89 DUP10 3D28 83 DUP4 3D29 8A DUP11 3D2A 01 ADD 3D2B 61 PUSH2 0x3183 3D2E 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3D24 stack[0] = 0x3d2f // @3D27 stack[1] = stack[-9] // @3D2A stack[2] = stack[-8] + stack[-2] // } // Block ends with call to 0x3183, returns to 0x3D2F label_3D2F: // Incoming return from call to 0x3183 at 0x3D2E // Inputs[8] // { // @3D30 stack[-2] // @3D30 stack[-1] // @3D31 stack[-9] // @3D33 stack[-8] // @3D37 stack[-10] // @3D39 msg.data[stack[-10] + 0x20:stack[-10] + 0x20 + 0x20] // @3D3A stack[-4] // @3D3C stack[-3] // } 3D2F 5B JUMPDEST 3D30 90 SWAP1 3D31 97 SWAP8 3D32 50 POP 3D33 95 SWAP6 3D34 50 POP 3D35 60 PUSH1 0x20 3D37 88 DUP9 3D38 01 ADD 3D39 35 CALLDATALOAD 3D3A 91 SWAP2 3D3B 50 POP 3D3C 80 DUP1 3D3D 82 DUP3 3D3E 11 GT 3D3F 15 ISZERO 3D40 61 PUSH2 0x3d47 3D43 57 *JUMPI // Stack delta = -2 // Outputs[3] // { // @3D31 stack[-9] = stack[-2] // @3D33 stack[-8] = stack[-1] // @3D3A stack[-4] = msg.data[stack[-10] + 0x20:stack[-10] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x3d47, if !(msg.data[stack[-10] + 0x20:stack[-10] + 0x20 + 0x20] > stack[-3]) label_3D44: // Incoming jump from 0x3D43, if not !(msg.data[stack[-10] + 0x20:stack[-10] + 0x20 + 0x20] > stack[-3]) // Inputs[2] // { // @3D44 stack[-5] // @3D46 memory[stack[-5]:stack[-5] + stack[-5]] // } 3D44 84 DUP5 3D45 85 DUP6 3D46 FD *REVERT // Stack delta = +0 // Outputs[1] { @3D46 revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_3D47: // Incoming jump from 0x3D43, if !(msg.data[stack[-10] + 0x20:stack[-10] + 0x20 + 0x20] > stack[-3]) // Inputs[3] // { // @3D4B stack[-9] // @3D4C stack[-2] // @3D4D stack[-8] // } 3D47 5B JUMPDEST 3D48 61 PUSH2 0x3d53 3D4B 89 DUP10 3D4C 83 DUP4 3D4D 8A DUP11 3D4E 01 ADD 3D4F 61 PUSH2 0x3183 3D52 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3D48 stack[0] = 0x3d53 // @3D4B stack[1] = stack[-9] // @3D4E stack[2] = stack[-8] + stack[-2] // } // Block ends with call to 0x3183, returns to 0x3D53 label_3D53: // Incoming return from call to 0x3183 at 0x3D52 // Inputs[8] // { // @3D54 stack[-2] // @3D54 stack[-1] // @3D55 stack[-7] // @3D57 stack[-6] // @3D5B stack[-10] // @3D5D msg.data[stack[-10] + 0x40:stack[-10] + 0x40 + 0x20] // @3D5E stack[-4] // @3D60 stack[-3] // } 3D53 5B JUMPDEST 3D54 90 SWAP1 3D55 95 SWAP6 3D56 50 POP 3D57 93 SWAP4 3D58 50 POP 3D59 60 PUSH1 0x40 3D5B 88 DUP9 3D5C 01 ADD 3D5D 35 CALLDATALOAD 3D5E 91 SWAP2 3D5F 50 POP 3D60 80 DUP1 3D61 82 DUP3 3D62 11 GT 3D63 15 ISZERO 3D64 61 PUSH2 0x3d6b 3D67 57 *JUMPI // Stack delta = -2 // Outputs[3] // { // @3D55 stack[-7] = stack[-2] // @3D57 stack[-6] = stack[-1] // @3D5E stack[-4] = msg.data[stack[-10] + 0x40:stack[-10] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x3d6b, if !(msg.data[stack[-10] + 0x40:stack[-10] + 0x40 + 0x20] > stack[-3]) label_3D68: // Incoming jump from 0x3D67, if not !(msg.data[stack[-10] + 0x40:stack[-10] + 0x40 + 0x20] > stack[-3]) // Inputs[2] // { // @3D68 stack[-3] // @3D6A memory[stack[-3]:stack[-3] + stack[-3]] // } 3D68 82 DUP3 3D69 83 DUP4 3D6A FD *REVERT // Stack delta = +0 // Outputs[1] { @3D6A revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3D6B: // Incoming jump from 0x3D67, if !(msg.data[stack[-10] + 0x40:stack[-10] + 0x40 + 0x20] > stack[-3]) // Inputs[3] // { // @3D6D stack[-8] // @3D6E stack[-2] // @3D73 stack[-9] // } 3D6B 5B JUMPDEST 3D6C 50 POP 3D6D 86 DUP7 3D6E 01 ADD 3D6F 61 PUSH2 0x0120 3D72 81 DUP2 3D73 89 DUP10 3D74 03 SUB 3D75 12 SLT 3D76 15 ISZERO 3D77 61 PUSH2 0x3d7e 3D7A 57 *JUMPI // Stack delta = -1 // Outputs[1] { @3D6E stack[-2] = stack[-8] + stack[-2] } // Block ends with conditional jump to 0x3d7e, if !(stack[-9] - (stack[-8] + stack[-2]) i< 0x0120) label_3D7B: // Incoming jump from 0x3D7A, if not !(stack[-9] - (stack[-8] + stack[-2]) i< 0x0120) // Inputs[2] // { // @3D7B stack[-2] // @3D7D memory[stack[-2]:stack[-2] + stack[-2]] // } 3D7B 81 DUP2 3D7C 82 DUP3 3D7D FD *REVERT // Stack delta = +0 // Outputs[1] { @3D7D revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3D7E: // Incoming jump from 0x3D7A, if !(stack[-9] - (stack[-8] + stack[-2]) i< 0x0120) // Inputs[9] // { // @3D7F stack[-1] // @3D80 stack[-2] // @3D83 stack[-5] // @3D84 stack[-8] // @3D86 stack[-3] // @3D86 stack[-6] // @3D87 stack[-9] // @3D88 stack[-4] // @3D89 stack[-7] // } 3D7E 5B JUMPDEST 3D7F 80 DUP1 3D80 91 SWAP2 3D81 50 POP 3D82 50 POP 3D83 92 SWAP3 3D84 95 SWAP6 3D85 50 POP 3D86 92 SWAP3 3D87 95 SWAP6 3D88 90 SWAP1 3D89 93 SWAP4 3D8A 50 POP 3D8B 56 *JUMP // Stack delta = -4 // Outputs[5] // { // @3D83 stack[-5] = stack[-1] // @3D84 stack[-8] = stack[-5] // @3D86 stack[-6] = stack[-3] // @3D87 stack[-9] = stack[-6] // @3D89 stack[-7] = stack[-4] // } // Block ends with unconditional jump to stack[-9] label_3D8C: // Incoming jump from 0x05D9 // Inputs[2] // { // @3D91 stack[-1] // @3D92 stack[-2] // } 3D8C 5B JUMPDEST 3D8D 60 PUSH1 0x00 3D8F 60 PUSH1 0x20 3D91 82 DUP3 3D92 84 DUP5 3D93 03 SUB 3D94 12 SLT 3D95 15 ISZERO 3D96 61 PUSH2 0x3d9d 3D99 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3D8D stack[0] = 0x00 } // Block ends with conditional jump to 0x3d9d, if !(stack[-2] - stack[-1] i< 0x20) label_3D9A: // Incoming jump from 0x3D99, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3D9A stack[-1] // @3D9C memory[stack[-1]:stack[-1] + stack[-1]] // } 3D9A 80 DUP1 3D9B 81 DUP2 3D9C FD *REVERT // Stack delta = +0 // Outputs[1] { @3D9C revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3D9D: // Incoming jump from 0x3D99, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3D9E stack[-2] // @3D9F msg.data[stack[-2]:stack[-2] + 0x20] // } 3D9D 5B JUMPDEST 3D9E 81 DUP2 3D9F 35 CALLDATALOAD 3DA0 61 PUSH2 0x2d67 3DA3 81 DUP2 3DA4 61 PUSH2 0x567e 3DA7 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3D9F stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3DA0 stack[1] = 0x2d67 // @3DA3 stack[2] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with call to 0x567e, returns to 0x2D67 3DA8 5B JUMPDEST 3DA9 60 PUSH1 0x00 3DAB 60 PUSH1 0x20 3DAD 82 DUP3 3DAE 84 DUP5 3DAF 03 SUB 3DB0 12 SLT 3DB1 15 ISZERO 3DB2 61 PUSH2 0x3db9 3DB5 57 *JUMPI 3DB6 80 DUP1 3DB7 81 DUP2 3DB8 FD *REVERT 3DB9 5B JUMPDEST 3DBA 81 DUP2 3DBB 51 MLOAD 3DBC 61 PUSH2 0x2d67 3DBF 81 DUP2 3DC0 61 PUSH2 0x567e 3DC3 56 *JUMP 3DC4 5B JUMPDEST 3DC5 60 PUSH1 0x00 3DC7 80 DUP1 3DC8 60 PUSH1 0x40 3DCA 83 DUP4 3DCB 85 DUP6 3DCC 03 SUB 3DCD 12 SLT 3DCE 15 ISZERO 3DCF 61 PUSH2 0x3dd6 3DD2 57 *JUMPI 3DD3 81 DUP2 3DD4 82 DUP3 3DD5 FD *REVERT 3DD6 5B JUMPDEST 3DD7 50 POP 3DD8 50 POP 3DD9 80 DUP1 3DDA 51 MLOAD 3DDB 60 PUSH1 0x20 3DDD 90 SWAP1 3DDE 91 SWAP2 3DDF 01 ADD 3DE0 51 MLOAD 3DE1 90 SWAP1 3DE2 92 SWAP3 3DE3 90 SWAP1 3DE4 91 SWAP2 3DE5 50 POP 3DE6 56 *JUMP label_3DE7: // Incoming call from 0x0420, returns to 0x0421 // Inputs[2] // { // @3DF0 stack[-1] // @3DF1 stack[-2] // } 3DE7 5B JUMPDEST 3DE8 60 PUSH1 0x00 3DEA 80 DUP1 3DEB 60 PUSH1 0x00 3DED 80 DUP1 3DEE 60 PUSH1 0x60 3DF0 85 DUP6 3DF1 87 DUP8 3DF2 03 SUB 3DF3 12 SLT 3DF4 15 ISZERO 3DF5 61 PUSH2 0x3dfc 3DF8 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @3DE8 stack[0] = 0x00 // @3DEA stack[1] = 0x00 // @3DEB stack[2] = 0x00 // @3DED stack[3] = 0x00 // } // Block ends with conditional jump to 0x3dfc, if !(stack[-2] - stack[-1] i< 0x60) label_3DF9: // Incoming jump from 0x3DF8, if not !(stack[-2] - stack[-1] i< 0x60) // Inputs[2] // { // @3DF9 stack[-2] // @3DFB memory[stack[-2]:stack[-2] + stack[-2]] // } 3DF9 81 DUP2 3DFA 82 DUP3 3DFB FD *REVERT // Stack delta = +0 // Outputs[1] { @3DFB revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_3DFC: // Incoming jump from 0x3DF8, if !(stack[-2] - stack[-1] i< 0x60) // Inputs[6] // { // @3DFD stack[-5] // @3DFE msg.data[stack[-5]:stack[-5] + 0x20] // @3DFF stack[-4] // @3E05 msg.data[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // @3E06 stack[-3] // @3E0C msg.data[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] // } 3DFC 5B JUMPDEST 3DFD 84 DUP5 3DFE 35 CALLDATALOAD 3DFF 93 SWAP4 3E00 50 POP 3E01 60 PUSH1 0x20 3E03 85 DUP6 3E04 01 ADD 3E05 35 CALLDATALOAD 3E06 92 SWAP3 3E07 50 POP 3E08 60 PUSH1 0x40 3E0A 85 DUP6 3E0B 01 ADD 3E0C 35 CALLDATALOAD 3E0D 67 PUSH8 0xffffffffffffffff 3E16 81 DUP2 3E17 11 GT 3E18 15 ISZERO 3E19 61 PUSH2 0x3e20 3E1C 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @3DFF stack[-4] = msg.data[stack[-5]:stack[-5] + 0x20] // @3E06 stack[-3] = msg.data[stack[-5] + 0x20:stack[-5] + 0x20 + 0x20] // @3E0C stack[0] = msg.data[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x3e20, if !(msg.data[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] > 0xffffffffffffffff) label_3E1D: // Incoming jump from 0x3E1C, if not !(msg.data[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3E1D stack[-3] // @3E1F memory[stack[-3]:stack[-3] + stack[-3]] // } 3E1D 82 DUP3 3E1E 83 DUP4 3E1F FD *REVERT // Stack delta = +0 // Outputs[1] { @3E1F revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3E20: // Incoming jump from 0x3E1C, if !(msg.data[stack[-5] + 0x40:stack[-5] + 0x40 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @3E24 stack[-7] // @3E25 stack[-1] // @3E26 stack[-6] // } 3E20 5B JUMPDEST 3E21 61 PUSH2 0x3e2c 3E24 87 DUP8 3E25 82 DUP3 3E26 88 DUP9 3E27 01 ADD 3E28 61 PUSH2 0x3326 3E2B 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3E21 stack[0] = 0x3e2c // @3E24 stack[1] = stack[-7] // @3E27 stack[2] = stack[-6] + stack[-1] // } // Block ends with call to 0x3326, returns to 0x3E2C label_3E2C: // Incoming return from call to 0x3326 at 0x3E2B // Inputs[7] // { // @3E2D stack[-1] // @3E2D stack[-7] // @3E2E stack[-10] // @3E2F stack[-6] // @3E30 stack[-9] // @3E32 stack[-2] // @3E32 stack[-8] // } 3E2C 5B JUMPDEST 3E2D 95 SWAP6 3E2E 98 SWAP9 3E2F 94 SWAP5 3E30 97 SWAP8 3E31 50 POP 3E32 95 SWAP6 3E33 50 POP 3E34 50 POP 3E35 50 POP 3E36 50 POP 3E37 56 *JUMP // Stack delta = -6 // Outputs[4] // { // @3E2D stack[-7] = stack[-1] // @3E2E stack[-10] = stack[-7] // @3E30 stack[-9] = stack[-6] // @3E32 stack[-8] = stack[-2] // } // Block ends with unconditional jump to stack[-10] label_3E38: // Incoming jump from 0x037C // Inputs[2] // { // @3E3D stack[-1] // @3E3E stack[-2] // } 3E38 5B JUMPDEST 3E39 60 PUSH1 0x00 3E3B 60 PUSH1 0x40 3E3D 82 DUP3 3E3E 84 DUP5 3E3F 03 SUB 3E40 12 SLT 3E41 15 ISZERO 3E42 61 PUSH2 0x3e49 3E45 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3E39 stack[0] = 0x00 } // Block ends with conditional jump to 0x3e49, if !(stack[-2] - stack[-1] i< 0x40) label_3E46: // Incoming jump from 0x3E45, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3E46 stack[-1] // @3E48 memory[stack[-1]:stack[-1] + stack[-1]] // } 3E46 80 DUP1 3E47 81 DUP2 3E48 FD *REVERT // Stack delta = +0 // Outputs[1] { @3E48 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3E49: // Incoming jump from 0x3E45, if !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @3E4D stack[-3] // @3E4E stack[-2] // } 3E49 5B JUMPDEST 3E4A 61 PUSH2 0x2d67 3E4D 83 DUP4 3E4E 83 DUP4 3E4F 61 PUSH2 0x33f5 3E52 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3E4A stack[0] = 0x2d67 // @3E4D stack[1] = stack[-3] // @3E4E stack[2] = stack[-2] // } // Block ends with unconditional jump to 0x33f5 label_3E53: // Incoming jump from 0x033C // Inputs[2] // { // @3E58 stack[-1] // @3E59 stack[-2] // } 3E53 5B JUMPDEST 3E54 60 PUSH1 0x00 3E56 60 PUSH1 0x20 3E58 82 DUP3 3E59 84 DUP5 3E5A 03 SUB 3E5B 12 SLT 3E5C 15 ISZERO 3E5D 61 PUSH2 0x3e64 3E60 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3E54 stack[0] = 0x00 } // Block ends with conditional jump to 0x3e64, if !(stack[-2] - stack[-1] i< 0x20) label_3E61: // Incoming jump from 0x3E60, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3E61 stack[-1] // @3E63 memory[stack[-1]:stack[-1] + stack[-1]] // } 3E61 80 DUP1 3E62 81 DUP2 3E63 FD *REVERT // Stack delta = +0 // Outputs[1] { @3E63 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3E64: // Incoming jump from 0x3E60, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3E65 stack[-2] // @3E66 msg.data[stack[-2]:stack[-2] + 0x20] // } 3E64 5B JUMPDEST 3E65 81 DUP2 3E66 35 CALLDATALOAD 3E67 67 PUSH8 0xffffffffffffffff 3E70 80 DUP1 3E71 82 DUP3 3E72 11 GT 3E73 15 ISZERO 3E74 61 PUSH2 0x3e7b 3E77 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3E66 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3E67 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x3e7b, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_3E78: // Incoming jump from 0x3E77, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3E78 stack[-3] // @3E7A memory[stack[-3]:stack[-3] + stack[-3]] // } 3E78 82 DUP3 3E79 83 DUP4 3E7A FD *REVERT // Stack delta = +0 // Outputs[1] { @3E7A revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3E7B: // Incoming jump from 0x3E77, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @3E7C stack[-1] // @3E7C stack[-2] // @3E7D stack[-4] // @3E83 stack[-5] // } 3E7B 5B JUMPDEST 3E7C 90 SWAP1 3E7D 83 DUP4 3E7E 01 ADD 3E7F 90 SWAP1 3E80 60 PUSH1 0x40 3E82 82 DUP3 3E83 86 DUP7 3E84 03 SUB 3E85 12 SLT 3E86 15 ISZERO 3E87 61 PUSH2 0x3e8e 3E8A 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3E7F stack[-1] = stack[-1] // @3E7F stack[-2] = stack[-4] + stack[-2] // } // Block ends with conditional jump to 0x3e8e, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) label_3E8B: // Incoming jump from 0x3E8A, if not !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) // Inputs[2] // { // @3E8B stack[-3] // @3E8D memory[stack[-3]:stack[-3] + stack[-3]] // } 3E8B 82 DUP3 3E8C 83 DUP4 3E8D FD *REVERT // Stack delta = +0 // Outputs[1] { @3E8D revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3E8E: // Incoming jump from 0x3E8A, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) 3E8E 5B JUMPDEST 3E8F 61 PUSH2 0x3e98 3E92 60 PUSH1 0x40 3E94 61 PUSH2 0x5318 3E97 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3E8F stack[0] = 0x3e98 // @3E92 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x3E98 label_3E98: // Incoming return from call to 0x5318 at 0x3E97 // Inputs[5] // { // @3E99 stack[-3] // @3E9A msg.data[stack[-3]:stack[-3] + 0x20] // @3E9B stack[-1] // @3EA1 msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // @3EA2 stack[-2] // } 3E98 5B JUMPDEST 3E99 82 DUP3 3E9A 35 CALLDATALOAD 3E9B 81 DUP2 3E9C 52 MSTORE 3E9D 60 PUSH1 0x20 3E9F 83 DUP4 3EA0 01 ADD 3EA1 35 CALLDATALOAD 3EA2 82 DUP3 3EA3 81 DUP2 3EA4 11 GT 3EA5 15 ISZERO 3EA6 61 PUSH2 0x3ead 3EA9 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @3E9C memory[stack[-1]:stack[-1] + 0x20] = msg.data[stack[-3]:stack[-3] + 0x20] // @3EA1 stack[0] = msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x3ead, if !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > stack[-2]) label_3EAA: // Incoming jump from 0x3EA9, if not !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > stack[-2]) // Inputs[2] // { // @3EAA stack[-5] // @3EAC memory[stack[-5]:stack[-5] + stack[-5]] // } 3EAA 84 DUP5 3EAB 85 DUP6 3EAC FD *REVERT // Stack delta = +0 // Outputs[1] { @3EAC revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_3EAD: // Incoming jump from 0x3EA9, if !(msg.data[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] > stack[-2]) // Inputs[3] // { // @3EB1 stack[-7] // @3EB2 stack[-1] // @3EB3 stack[-4] // } 3EAD 5B JUMPDEST 3EAE 61 PUSH2 0x3eb9 3EB1 87 DUP8 3EB2 82 DUP3 3EB3 86 DUP7 3EB4 01 ADD 3EB5 61 PUSH2 0x3a5e 3EB8 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3EAE stack[0] = 0x3eb9 // @3EB1 stack[1] = stack[-7] // @3EB4 stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3a5e, returns to 0x3EB9 label_3EB9: // Incoming return from call to 0x3366 at 0x4282 // Incoming return from call to 0x3A5E at 0x3EB8 // Inputs[4] // { // @3EBC stack[-3] // @3EBE stack[-1] // @3EC0 stack[-9] // @3EC1 stack[-8] // } 3EB9 5B JUMPDEST 3EBA 60 PUSH1 0x20 3EBC 83 DUP4 3EBD 01 ADD 3EBE 52 MSTORE 3EBF 50 POP 3EC0 95 SWAP6 3EC1 94 SWAP5 3EC2 50 POP 3EC3 50 POP 3EC4 50 POP 3EC5 50 POP 3EC6 50 POP 3EC7 56 *JUMP // Stack delta = -8 // Outputs[2] // { // @3EBE memory[stack[-3] + 0x20:stack[-3] + 0x20 + 0x20] = stack[-1] // @3EC0 stack[-9] = stack[-3] // } // Block ends with unconditional jump to stack[-9] 3EC8 5B JUMPDEST 3EC9 60 PUSH1 0x00 3ECB 60 PUSH1 0x20 3ECD 82 DUP3 3ECE 84 DUP5 3ECF 03 SUB 3ED0 12 SLT 3ED1 15 ISZERO 3ED2 61 PUSH2 0x3ed9 3ED5 57 *JUMPI 3ED6 80 DUP1 3ED7 81 DUP2 3ED8 FD *REVERT 3ED9 5B JUMPDEST 3EDA 81 DUP2 3EDB 51 MLOAD 3EDC 67 PUSH8 0xffffffffffffffff 3EE5 80 DUP1 3EE6 82 DUP3 3EE7 11 GT 3EE8 15 ISZERO 3EE9 61 PUSH2 0x3ef0 3EEC 57 *JUMPI 3EED 82 DUP3 3EEE 83 DUP4 3EEF FD *REVERT 3EF0 5B JUMPDEST 3EF1 90 SWAP1 3EF2 83 DUP4 3EF3 01 ADD 3EF4 90 SWAP1 3EF5 60 PUSH1 0x40 3EF7 82 DUP3 3EF8 86 DUP7 3EF9 03 SUB 3EFA 12 SLT 3EFB 15 ISZERO 3EFC 61 PUSH2 0x3f03 3EFF 57 *JUMPI 3F00 82 DUP3 3F01 83 DUP4 3F02 FD *REVERT 3F03 5B JUMPDEST 3F04 61 PUSH2 0x3f0d 3F07 60 PUSH1 0x40 3F09 61 PUSH2 0x5318 3F0C 56 *JUMP 3F0D 5B JUMPDEST 3F0E 82 DUP3 3F0F 51 MLOAD 3F10 81 DUP2 3F11 52 MSTORE 3F12 60 PUSH1 0x20 3F14 83 DUP4 3F15 01 ADD 3F16 51 MLOAD 3F17 82 DUP3 3F18 81 DUP2 3F19 11 GT 3F1A 15 ISZERO 3F1B 61 PUSH2 0x3f22 3F1E 57 *JUMPI 3F1F 84 DUP5 3F20 85 DUP6 3F21 FD *REVERT 3F22 5B JUMPDEST 3F23 92 SWAP3 3F24 90 SWAP1 3F25 92 SWAP3 3F26 01 ADD 3F27 91 SWAP2 3F28 60 PUSH1 0x40 3F2A 83 DUP4 3F2B 87 DUP8 3F2C 03 SUB 3F2D 12 SLT 3F2E 15 ISZERO 3F2F 61 PUSH2 0x3f36 3F32 57 *JUMPI 3F33 83 DUP4 3F34 84 DUP5 3F35 FD *REVERT 3F36 5B JUMPDEST 3F37 61 PUSH2 0x3f40 3F3A 60 PUSH1 0x40 3F3C 61 PUSH2 0x5318 3F3F 56 *JUMP 3F40 5B JUMPDEST 3F41 83 DUP4 3F42 51 MLOAD 3F43 81 DUP2 3F44 52 MSTORE 3F45 60 PUSH1 0x20 3F47 84 DUP5 3F48 01 ADD 3F49 51 MLOAD 3F4A 83 DUP4 3F4B 81 DUP2 3F4C 11 GT 3F4D 15 ISZERO 3F4E 61 PUSH2 0x3f55 3F51 57 *JUMPI 3F52 85 DUP6 3F53 86 DUP7 3F54 FD *REVERT 3F55 5B JUMPDEST 3F56 61 PUSH2 0x3f61 3F59 88 DUP9 3F5A 82 DUP3 3F5B 87 DUP8 3F5C 01 ADD 3F5D 61 PUSH2 0x33b2 3F60 56 *JUMP 3F61 5B JUMPDEST 3F62 60 PUSH1 0x20 3F64 83 DUP4 3F65 01 ADD 3F66 52 MSTORE 3F67 50 POP 3F68 80 DUP1 3F69 60 PUSH1 0x20 3F6B 83 DUP4 3F6C 01 ADD 3F6D 52 MSTORE 3F6E 50 POP 3F6F 80 DUP1 3F70 93 SWAP4 3F71 50 POP 3F72 50 POP 3F73 50 POP 3F74 50 POP 3F75 92 SWAP3 3F76 91 SWAP2 3F77 50 POP 3F78 50 POP 3F79 56 *JUMP label_3F7A: // Incoming call from 0x035C, returns to 0x035D // Inputs[2] // { // @3F7F stack[-1] // @3F80 stack[-2] // } 3F7A 5B JUMPDEST 3F7B 60 PUSH1 0x00 3F7D 60 PUSH1 0x20 3F7F 82 DUP3 3F80 84 DUP5 3F81 03 SUB 3F82 12 SLT 3F83 15 ISZERO 3F84 61 PUSH2 0x3f8b 3F87 57 *JUMPI // Stack delta = +1 // Outputs[1] { @3F7B stack[0] = 0x00 } // Block ends with conditional jump to 0x3f8b, if !(stack[-2] - stack[-1] i< 0x20) label_3F88: // Incoming jump from 0x3F87, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3F88 stack[-1] // @3F8A memory[stack[-1]:stack[-1] + stack[-1]] // } 3F88 80 DUP1 3F89 81 DUP2 3F8A FD *REVERT // Stack delta = +0 // Outputs[1] { @3F8A revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_3F8B: // Incoming jump from 0x3F87, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @3F8C stack[-2] // @3F8D msg.data[stack[-2]:stack[-2] + 0x20] // } 3F8B 5B JUMPDEST 3F8C 81 DUP2 3F8D 35 CALLDATALOAD 3F8E 67 PUSH8 0xffffffffffffffff 3F97 80 DUP1 3F98 82 DUP3 3F99 11 GT 3F9A 15 ISZERO 3F9B 61 PUSH2 0x3fa2 3F9E 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @3F8D stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @3F8E stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x3fa2, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_3F9F: // Incoming jump from 0x3F9E, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @3F9F stack[-3] // @3FA1 memory[stack[-3]:stack[-3] + stack[-3]] // } 3F9F 82 DUP3 3FA0 83 DUP4 3FA1 FD *REVERT // Stack delta = +0 // Outputs[1] { @3FA1 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3FA2: // Incoming jump from 0x3F9E, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @3FA3 stack[-1] // @3FA3 stack[-2] // @3FA4 stack[-4] // @3FAA stack[-5] // } 3FA2 5B JUMPDEST 3FA3 90 SWAP1 3FA4 83 DUP4 3FA5 01 ADD 3FA6 90 SWAP1 3FA7 60 PUSH1 0xa0 3FA9 82 DUP3 3FAA 86 DUP7 3FAB 03 SUB 3FAC 12 SLT 3FAD 15 ISZERO 3FAE 61 PUSH2 0x3fb5 3FB1 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3FA6 stack[-1] = stack[-1] // @3FA6 stack[-2] = stack[-4] + stack[-2] // } // Block ends with conditional jump to 0x3fb5, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0xa0) label_3FB2: // Incoming jump from 0x3FB1, if not !(stack[-5] - (stack[-4] + stack[-2]) i< 0xa0) // Inputs[2] // { // @3FB2 stack[-3] // @3FB4 memory[stack[-3]:stack[-3] + stack[-3]] // } 3FB2 82 DUP3 3FB3 83 DUP4 3FB4 FD *REVERT // Stack delta = +0 // Outputs[1] { @3FB4 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_3FB5: // Incoming jump from 0x3FB1, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0xa0) 3FB5 5B JUMPDEST 3FB6 61 PUSH2 0x3fbf 3FB9 60 PUSH1 0xa0 3FBB 61 PUSH2 0x5318 3FBE 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @3FB6 stack[0] = 0x3fbf // @3FB9 stack[1] = 0xa0 // } // Block ends with call to 0x5318, returns to 0x3FBF label_3FBF: // Incoming return from call to 0x5318 at 0x3FBE // Inputs[2] // { // @3FC0 stack[-3] // @3FC1 msg.data[stack[-3]:stack[-3] + 0x20] // } 3FBF 5B JUMPDEST 3FC0 82 DUP3 3FC1 35 CALLDATALOAD 3FC2 61 PUSH2 0x3fca 3FC5 81 DUP2 3FC6 61 PUSH2 0x565c 3FC9 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @3FC1 stack[0] = msg.data[stack[-3]:stack[-3] + 0x20] // @3FC2 stack[1] = 0x3fca // @3FC5 stack[2] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x565c, returns to 0x3FCA label_3FCA: // Incoming return from call to 0x565C at 0x3FC9 // Inputs[6] // { // @3FCB stack[-1] // @3FCC stack[-2] // @3FD1 stack[-4] // @3FD3 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @3FDD msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @3FE7 msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // } 3FCA 5B JUMPDEST 3FCB 80 DUP1 3FCC 82 DUP3 3FCD 52 MSTORE 3FCE 50 POP 3FCF 60 PUSH1 0x20 3FD1 83 DUP4 3FD2 01 ADD 3FD3 35 CALLDATALOAD 3FD4 60 PUSH1 0x20 3FD6 82 DUP3 3FD7 01 ADD 3FD8 52 MSTORE 3FD9 60 PUSH1 0x40 3FDB 83 DUP4 3FDC 01 ADD 3FDD 35 CALLDATALOAD 3FDE 60 PUSH1 0x40 3FE0 82 DUP3 3FE1 01 ADD 3FE2 52 MSTORE 3FE3 60 PUSH1 0x60 3FE5 83 DUP4 3FE6 01 ADD 3FE7 35 CALLDATALOAD 3FE8 61 PUSH2 0x3ff0 3FEB 81 DUP2 3FEC 61 PUSH2 0x567e 3FEF 56 *JUMP // Stack delta = +2 // Outputs[6] // { // @3FCD memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @3FD8 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @3FE2 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @3FE7 stack[-1] = msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // @3FE8 stack[0] = 0x3ff0 // @3FEB stack[1] = msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // } // Block ends with call to 0x567e, returns to 0x3FF0 label_3FF0: // Incoming return from call to 0x567E at 0x3FEF // Inputs[5] // { // @3FF3 stack[-2] // @3FF5 stack[-1] // @3FF8 stack[-4] // @3FFA msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] // @3FFB stack[-3] // } 3FF0 5B JUMPDEST 3FF1 60 PUSH1 0x60 3FF3 82 DUP3 3FF4 01 ADD 3FF5 52 MSTORE 3FF6 60 PUSH1 0x80 3FF8 83 DUP4 3FF9 01 ADD 3FFA 35 CALLDATALOAD 3FFB 82 DUP3 3FFC 81 DUP2 3FFD 11 GT 3FFE 15 ISZERO 3FFF 61 PUSH2 0x4006 4002 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @3FF5 memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @3FFA stack[-1] = msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] // } // Block ends with conditional jump to 0x4006, if !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) label_4003: // Incoming jump from 0x4002, if not !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) // Inputs[2] // { // @4003 stack[-5] // @4005 memory[stack[-5]:stack[-5] + stack[-5]] // } 4003 84 DUP5 4004 85 DUP6 4005 FD *REVERT // Stack delta = +0 // Outputs[1] { @4005 revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_4006: // Incoming jump from 0x4002, if !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) // Inputs[3] // { // @400A stack[-7] // @400B stack[-1] // @400C stack[-4] // } 4006 5B JUMPDEST 4007 61 PUSH2 0x4012 400A 87 DUP8 400B 82 DUP3 400C 86 DUP7 400D 01 ADD 400E 61 PUSH2 0x3366 4011 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4007 stack[0] = 0x4012 // @400A stack[1] = stack[-7] // @400D stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x4012 label_4012: // Incoming return from call to 0x3366 at 0x4011 // Inputs[4] // { // @4015 stack[-3] // @4017 stack[-1] // @4019 stack[-9] // @401A stack[-8] // } 4012 5B JUMPDEST 4013 60 PUSH1 0x80 4015 83 DUP4 4016 01 ADD 4017 52 MSTORE 4018 50 POP 4019 95 SWAP6 401A 94 SWAP5 401B 50 POP 401C 50 POP 401D 50 POP 401E 50 POP 401F 50 POP 4020 56 *JUMP // Stack delta = -8 // Outputs[2] // { // @4017 memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] = stack[-1] // @4019 stack[-9] = stack[-3] // } // Block ends with unconditional jump to stack[-9] label_4021: // Incoming call from 0x0249, returns to 0x024A // Inputs[2] // { // @4026 stack[-1] // @4027 stack[-2] // } 4021 5B JUMPDEST 4022 60 PUSH1 0x00 4024 60 PUSH1 0x40 4026 82 DUP3 4027 84 DUP5 4028 03 SUB 4029 12 SLT 402A 15 ISZERO 402B 61 PUSH2 0x4032 402E 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4022 stack[0] = 0x00 } // Block ends with conditional jump to 0x4032, if !(stack[-2] - stack[-1] i< 0x40) label_402F: // Incoming jump from 0x402E, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @402F stack[-1] // @4031 memory[stack[-1]:stack[-1] + stack[-1]] // } 402F 80 DUP1 4030 81 DUP2 4031 FD *REVERT // Stack delta = +0 // Outputs[1] { @4031 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4032: // Incoming jump from 0x402E, if !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @4036 stack[-3] // @4037 stack[-2] // } 4032 5B JUMPDEST 4033 61 PUSH2 0x2d67 4036 83 DUP4 4037 83 DUP4 4038 61 PUSH2 0x3470 403B 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4033 stack[0] = 0x2d67 // @4036 stack[1] = stack[-3] // @4037 stack[2] = stack[-2] // } // Block ends with call to 0x3470, returns to 0x2D67 label_403C: // Incoming call from 0x0209, returns to 0x020A // Inputs[2] // { // @4042 stack[-1] // @4043 stack[-2] // } 403C 5B JUMPDEST 403D 60 PUSH1 0x00 403F 60 PUSH1 0x20 4041 80 DUP1 4042 83 DUP4 4043 85 DUP6 4044 03 SUB 4045 12 SLT 4046 15 ISZERO 4047 61 PUSH2 0x404e 404A 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @403D stack[0] = 0x00 // @403F stack[1] = 0x20 // } // Block ends with conditional jump to 0x404e, if !(stack[-2] - stack[-1] i< 0x20) label_404B: // Incoming jump from 0x404A, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @404B stack[-2] // @404D memory[stack[-2]:stack[-2] + stack[-2]] // } 404B 81 DUP2 404C 82 DUP3 404D FD *REVERT // Stack delta = +0 // Outputs[1] { @404D revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_404E: // Incoming jump from 0x404A, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @404F stack[-3] // @4050 msg.data[stack[-3]:stack[-3] + 0x20] // } 404E 5B JUMPDEST 404F 82 DUP3 4050 35 CALLDATALOAD 4051 67 PUSH8 0xffffffffffffffff 405A 80 DUP1 405B 82 DUP3 405C 11 GT 405D 15 ISZERO 405E 61 PUSH2 0x4065 4061 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @4050 stack[0] = msg.data[stack[-3]:stack[-3] + 0x20] // @4051 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x4065, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) label_4062: // Incoming jump from 0x4061, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4062 stack[-4] // @4064 memory[stack[-4]:stack[-4] + stack[-4]] // } 4062 83 DUP4 4063 84 DUP5 4064 FD *REVERT // Stack delta = +0 // Outputs[1] { @4064 revert(memory[stack[-4]:stack[-4] + stack[-4]]); } // Block terminates label_4065: // Incoming jump from 0x4061, if !(msg.data[stack[-3]:stack[-3] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @4066 stack[-2] // @4066 stack[-1] // @4067 stack[-5] // @406D stack[-6] // } 4065 5B JUMPDEST 4066 90 SWAP1 4067 84 DUP5 4068 01 ADD 4069 90 SWAP1 406A 60 PUSH1 0x40 406C 82 DUP3 406D 87 DUP8 406E 03 SUB 406F 12 SLT 4070 15 ISZERO 4071 61 PUSH2 0x4078 4074 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4069 stack[-1] = stack[-1] // @4069 stack[-2] = stack[-5] + stack[-2] // } // Block ends with conditional jump to 0x4078, if !(stack[-6] - (stack[-5] + stack[-2]) i< 0x40) label_4075: // Incoming jump from 0x4074, if not !(stack[-6] - (stack[-5] + stack[-2]) i< 0x40) // Inputs[2] // { // @4075 stack[-4] // @4077 memory[stack[-4]:stack[-4] + stack[-4]] // } 4075 83 DUP4 4076 84 DUP5 4077 FD *REVERT // Stack delta = +0 // Outputs[1] { @4077 revert(memory[stack[-4]:stack[-4] + stack[-4]]); } // Block terminates label_4078: // Incoming jump from 0x4074, if !(stack[-6] - (stack[-5] + stack[-2]) i< 0x40) 4078 5B JUMPDEST 4079 61 PUSH2 0x4082 407C 60 PUSH1 0x40 407E 61 PUSH2 0x5318 4081 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @4079 stack[0] = 0x4082 // @407C stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x4082 label_4082: // Incoming return from call to 0x5318 at 0x4081 // Inputs[3] // { // @4083 stack[-3] // @4084 msg.data[stack[-3]:stack[-3] + 0x20] // @4085 stack[-2] // } 4082 5B JUMPDEST 4083 82 DUP3 4084 35 CALLDATALOAD 4085 82 DUP3 4086 81 DUP2 4087 11 GT 4088 15 ISZERO 4089 61 PUSH2 0x4090 408C 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4084 stack[0] = msg.data[stack[-3]:stack[-3] + 0x20] } // Block ends with conditional jump to 0x4090, if !(msg.data[stack[-3]:stack[-3] + 0x20] > stack[-2]) label_408D: // Incoming jump from 0x408C, if not !(msg.data[stack[-3]:stack[-3] + 0x20] > stack[-2]) // Inputs[2] // { // @408D stack[-6] // @408F memory[stack[-6]:stack[-6] + stack[-6]] // } 408D 85 DUP6 408E 86 DUP7 408F FD *REVERT // Stack delta = +0 // Outputs[1] { @408F revert(memory[stack[-6]:stack[-6] + stack[-6]]); } // Block terminates label_4090: // Incoming jump from 0x408C, if !(msg.data[stack[-3]:stack[-3] + 0x20] > stack[-2]) // Inputs[3] // { // @4091 stack[-4] // @4092 stack[-1] // @4097 stack[-8] // } 4090 5B JUMPDEST 4091 83 DUP4 4092 01 ADD 4093 60 PUSH1 0x1f 4095 81 DUP2 4096 01 ADD 4097 88 DUP9 4098 13 SGT 4099 61 PUSH2 0x40a0 409C 57 *JUMPI // Stack delta = +0 // Outputs[1] { @4092 stack[-1] = stack[-4] + stack[-1] } // Block ends with conditional jump to 0x40a0, if stack[-8] i> stack[-4] + stack[-1] + 0x1f label_409D: // Incoming jump from 0x409C, if not stack[-8] i> stack[-4] + stack[-1] + 0x1f // Inputs[2] // { // @409D stack[-6] // @409F memory[stack[-6]:stack[-6] + stack[-6]] // } 409D 85 DUP6 409E 86 DUP7 409F FD *REVERT // Stack delta = +0 // Outputs[1] { @409F revert(memory[stack[-6]:stack[-6] + stack[-6]]); } // Block terminates label_40A0: // Incoming jump from 0x409C, if stack[-8] i> stack[-4] + stack[-1] + 0x1f // Inputs[2] // { // @40A1 stack[-1] // @40A2 msg.data[stack[-1]:stack[-1] + 0x20] // } 40A0 5B JUMPDEST 40A1 80 DUP1 40A2 35 CALLDATALOAD 40A3 61 PUSH2 0x40ae 40A6 61 PUSH2 0x2ff2 40A9 82 DUP3 40AA 61 PUSH2 0x5349 40AD 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @40A2 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // @40A3 stack[1] = 0x40ae // @40A6 stack[2] = 0x2ff2 // @40A9 stack[3] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with call to 0x5349, returns to 0x2FF2 label_40AE: // Incoming return from call to 0x2FF2 at 0x40AD // Inputs[5] // { // @40AF stack[-2] // @40B0 stack[-1] // @40B2 stack[-7] // @40B6 stack[-3] // @40B9 stack[-8] // } 40AE 5B JUMPDEST 40AF 81 DUP2 40B0 81 DUP2 40B1 52 MSTORE 40B2 86 DUP7 40B3 81 DUP2 40B4 01 ADD 40B5 90 SWAP1 40B6 83 DUP4 40B7 88 DUP9 40B8 01 ADD 40B9 89 DUP10 40BA 5B JUMPDEST 40BB 84 DUP5 40BC 81 DUP2 40BD 10 LT 40BE 15 ISZERO 40BF 61 PUSH2 0x40e3 40C2 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @40B1 memory[stack[-1]:stack[-1] + 0x20] = stack[-2] // @40B5 stack[0] = stack[-1] // @40B5 stack[-1] = stack[-1] + stack[-7] // @40B8 stack[1] = stack[-7] + stack[-3] // @40B9 stack[2] = stack[-8] // } // Block ends with conditional jump to 0x40e3, if !(stack[-8] < stack[-2]) label_40C3: // Incoming jump from 0x40C2, if not !(stack[-8] < stack[-2]) // Incoming jump from 0x40C2, if not !(stack[-1] < stack[-5]) // Inputs[5] // { // @40C6 stack[-13] // @40C7 stack[-10] // @40C8 stack[-2] // @40C9 msg.data[stack[-2]:stack[-2] + 0x20] // @40CA stack[-6] // } 40C3 61 PUSH2 0x40d1 40C6 8D DUP14 40C7 8B DUP12 40C8 84 DUP5 40C9 35 CALLDATALOAD 40CA 89 DUP10 40CB 01 ADD 40CC 01 ADD 40CD 61 PUSH2 0x36bb 40D0 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @40C3 stack[0] = 0x40d1 // @40C6 stack[1] = stack[-13] // @40CC stack[2] = stack[-6] + msg.data[stack[-2]:stack[-2] + 0x20] + stack[-10] // } // Block ends with call to 0x36bb, returns to 0x40D1 label_40D1: // Incoming return from call to 0x36BB at 0x40D0 // Inputs[5] // { // @40D2 stack[-5] // @40D3 stack[-1] // @40D4 stack[-2] // @40D5 stack[-11] // @40D8 stack[-3] // } 40D1 5B JUMPDEST 40D2 84 DUP5 40D3 52 MSTORE 40D4 92 SWAP3 40D5 89 DUP10 40D6 01 ADD 40D7 92 SWAP3 40D8 90 SWAP1 40D9 89 DUP10 40DA 01 ADD 40DB 90 SWAP1 40DC 60 PUSH1 0x01 40DE 01 ADD 40DF 61 PUSH2 0x40ba 40E2 56 *JUMP // Stack delta = -1 // Outputs[4] // { // @40D3 memory[stack[-5]:stack[-5] + 0x20] = stack[-1] // @40D7 stack[-5] = stack[-11] + stack[-5] // @40DB stack[-3] = stack[-11] + stack[-3] // @40DE stack[-2] = 0x01 + stack[-2] // } // Block ends with unconditional jump to 0x40ba label_40E3: // Incoming jump from 0x40C2, if !(stack[-8] < stack[-2]) // Incoming jump from 0x40C2, if !(stack[-1] < stack[-5]) // Inputs[6] // { // @40E6 stack[-7] // @40E7 stack[-3] // @40EB stack[-9] // @40EC stack[-10] // @40EE msg.data[stack[-10] + stack[-9]:stack[-10] + stack[-9] + 0x20] // @40EF stack[-8] // } 40E3 5B JUMPDEST 40E4 50 POP 40E5 50 POP 40E6 84 DUP5 40E7 52 MSTORE 40E8 50 POP 40E9 50 POP 40EA 50 POP 40EB 82 DUP3 40EC 84 DUP5 40ED 01 ADD 40EE 35 CALLDATALOAD 40EF 82 DUP3 40F0 81 DUP2 40F1 11 GT 40F2 15 ISZERO 40F3 61 PUSH2 0x40fa 40F6 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @40E7 memory[stack[-7]:stack[-7] + 0x20] = stack[-3] // @40EE stack[-6] = msg.data[stack[-10] + stack[-9]:stack[-10] + stack[-9] + 0x20] // } // Block ends with conditional jump to 0x40fa, if !(msg.data[stack[-10] + stack[-9]:stack[-10] + stack[-9] + 0x20] > stack[-8]) label_40F7: // Incoming jump from 0x40F6, if not !(msg.data[stack[-10] + stack[-9]:stack[-10] + stack[-9] + 0x20] > stack[-8]) // Inputs[2] // { // @40F7 stack[-6] // @40F9 memory[stack[-6]:stack[-6] + stack[-6]] // } 40F7 85 DUP6 40F8 86 DUP7 40F9 FD *REVERT // Stack delta = +0 // Outputs[1] { @40F9 revert(memory[stack[-6]:stack[-6] + stack[-6]]); } // Block terminates label_40FA: // Incoming jump from 0x40F6, if !(msg.data[stack[-10] + stack[-9]:stack[-10] + stack[-9] + 0x20] > stack[-8]) // Inputs[3] // { // @40FE stack[-8] // @40FF stack[-1] // @4100 stack[-4] // } 40FA 5B JUMPDEST 40FB 61 PUSH2 0x4106 40FE 88 DUP9 40FF 82 DUP3 4100 86 DUP7 4101 01 ADD 4102 61 PUSH2 0x3043 4105 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @40FB stack[0] = 0x4106 // @40FE stack[1] = stack[-8] // @4101 stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3043, returns to 0x4106 label_4106: // Incoming return from call to 0x3043 at 0x4105 // Inputs[6] // { // @4107 stack[-6] // @4107 stack[-1] // @4108 stack[-3] // @410B stack[-2] // @410E stack[-10] // @410F stack[-9] // } 4106 5B JUMPDEST 4107 94 SWAP5 4108 82 DUP3 4109 01 ADD 410A 94 SWAP5 410B 90 SWAP1 410C 94 SWAP5 410D 52 MSTORE 410E 96 SWAP7 410F 95 SWAP6 4110 50 POP 4111 50 POP 4112 50 POP 4113 50 POP 4114 50 POP 4115 50 POP 4116 56 *JUMP // Stack delta = -9 // Outputs[2] // { // @410D memory[stack[-3] + stack[-6]:stack[-3] + stack[-6] + 0x20] = stack[-1] // @410E stack[-10] = stack[-3] // } // Block ends with unconditional jump to stack[-10] 4117 5B JUMPDEST 4118 60 PUSH1 0x00 411A 60 PUSH1 0x20 411C 80 DUP1 411D 83 DUP4 411E 85 DUP6 411F 03 SUB 4120 12 SLT 4121 15 ISZERO 4122 61 PUSH2 0x4129 4125 57 *JUMPI 4126 81 DUP2 4127 82 DUP3 4128 FD *REVERT 4129 5B JUMPDEST 412A 82 DUP3 412B 51 MLOAD 412C 67 PUSH8 0xffffffffffffffff 4135 80 DUP1 4136 82 DUP3 4137 11 GT 4138 15 ISZERO 4139 61 PUSH2 0x4140 413C 57 *JUMPI 413D 83 DUP4 413E 84 DUP5 413F FD *REVERT 4140 5B JUMPDEST 4141 90 SWAP1 4142 84 DUP5 4143 01 ADD 4144 90 SWAP1 4145 60 PUSH1 0x40 4147 82 DUP3 4148 87 DUP8 4149 03 SUB 414A 12 SLT 414B 15 ISZERO 414C 61 PUSH2 0x4153 414F 57 *JUMPI 4150 83 DUP4 4151 84 DUP5 4152 FD *REVERT 4153 5B JUMPDEST 4154 61 PUSH2 0x415d 4157 60 PUSH1 0x40 4159 61 PUSH2 0x5318 415C 56 *JUMP 415D 5B JUMPDEST 415E 82 DUP3 415F 51 MLOAD 4160 82 DUP3 4161 81 DUP2 4162 11 GT 4163 15 ISZERO 4164 61 PUSH2 0x416b 4167 57 *JUMPI 4168 85 DUP6 4169 86 DUP7 416A FD *REVERT 416B 5B JUMPDEST 416C 83 DUP4 416D 01 ADD 416E 60 PUSH1 0x1f 4170 81 DUP2 4171 01 ADD 4172 88 DUP9 4173 13 SGT 4174 61 PUSH2 0x417b 4177 57 *JUMPI 4178 85 DUP6 4179 86 DUP7 417A FD *REVERT 417B 5B JUMPDEST 417C 80 DUP1 417D 51 MLOAD 417E 61 PUSH2 0x4189 4181 61 PUSH2 0x2ff2 4184 82 DUP3 4185 61 PUSH2 0x5349 4188 56 *JUMP 4189 5B JUMPDEST 418A 81 DUP2 418B 81 DUP2 418C 52 MSTORE 418D 86 DUP7 418E 81 DUP2 418F 01 ADD 4190 90 SWAP1 4191 83 DUP4 4192 88 DUP9 4193 01 ADD 4194 89 DUP10 4195 5B JUMPDEST 4196 84 DUP5 4197 81 DUP2 4198 10 LT 4199 15 ISZERO 419A 61 PUSH2 0x41be 419D 57 *JUMPI 419E 61 PUSH2 0x41ac 41A1 8D DUP14 41A2 8B DUP12 41A3 84 DUP5 41A4 51 MLOAD 41A5 89 DUP10 41A6 01 ADD 41A7 01 ADD 41A8 61 PUSH2 0x377c 41AB 56 *JUMP 41AC 5B JUMPDEST 41AD 84 DUP5 41AE 52 MSTORE 41AF 92 SWAP3 41B0 89 DUP10 41B1 01 ADD 41B2 92 SWAP3 41B3 90 SWAP1 41B4 89 DUP10 41B5 01 ADD 41B6 90 SWAP1 41B7 60 PUSH1 0x01 41B9 01 ADD 41BA 61 PUSH2 0x4195 41BD 56 *JUMP 41BE 5B JUMPDEST 41BF 50 POP 41C0 50 POP 41C1 84 DUP5 41C2 52 MSTORE 41C3 50 POP 41C4 50 POP 41C5 50 POP 41C6 82 DUP3 41C7 84 DUP5 41C8 01 ADD 41C9 51 MLOAD 41CA 82 DUP3 41CB 81 DUP2 41CC 11 GT 41CD 15 ISZERO 41CE 61 PUSH2 0x41d5 41D1 57 *JUMPI 41D2 85 DUP6 41D3 86 DUP7 41D4 FD *REVERT 41D5 5B JUMPDEST 41D6 61 PUSH2 0x4106 41D9 88 DUP9 41DA 82 DUP3 41DB 86 DUP7 41DC 01 ADD 41DD 61 PUSH2 0x30a5 41E0 56 *JUMP label_41E1: // Incoming jump from 0x02A9 // Inputs[2] // { // @41E6 stack[-1] // @41E7 stack[-2] // } 41E1 5B JUMPDEST 41E2 60 PUSH1 0x00 41E4 60 PUSH1 0x20 41E6 82 DUP3 41E7 84 DUP5 41E8 03 SUB 41E9 12 SLT 41EA 15 ISZERO 41EB 61 PUSH2 0x41f2 41EE 57 *JUMPI // Stack delta = +1 // Outputs[1] { @41E2 stack[0] = 0x00 } // Block ends with conditional jump to 0x41f2, if !(stack[-2] - stack[-1] i< 0x20) label_41EF: // Incoming jump from 0x41EE, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @41EF stack[-1] // @41F1 memory[stack[-1]:stack[-1] + stack[-1]] // } 41EF 80 DUP1 41F0 81 DUP2 41F1 FD *REVERT // Stack delta = +0 // Outputs[1] { @41F1 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_41F2: // Incoming jump from 0x41EE, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @41F3 stack[-2] // @41F4 msg.data[stack[-2]:stack[-2] + 0x20] // } 41F2 5B JUMPDEST 41F3 81 DUP2 41F4 35 CALLDATALOAD 41F5 67 PUSH8 0xffffffffffffffff 41FE 81 DUP2 41FF 11 GT 4200 15 ISZERO 4201 61 PUSH2 0x4208 4204 57 *JUMPI // Stack delta = +1 // Outputs[1] { @41F4 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x4208, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_4205: // Incoming jump from 0x4204, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4205 stack[-2] // @4207 memory[stack[-2]:stack[-2] + stack[-2]] // } 4205 81 DUP2 4206 82 DUP3 4207 FD *REVERT // Stack delta = +0 // Outputs[1] { @4207 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_4208: // Incoming jump from 0x4204, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @420C stack[-4] // @420D stack[-1] // @420E stack[-3] // } 4208 5B JUMPDEST 4209 61 PUSH2 0x2c78 420C 84 DUP5 420D 82 DUP3 420E 85 DUP6 420F 01 ADD 4210 61 PUSH2 0x34a1 4213 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4209 stack[0] = 0x2c78 // @420C stack[1] = stack[-4] // @420F stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x34a1, returns to 0x2C78 label_4214: // Incoming call from 0x0289, returns to 0x028A // Inputs[2] // { // @4219 stack[-1] // @421A stack[-2] // } 4214 5B JUMPDEST 4215 60 PUSH1 0x00 4217 60 PUSH1 0x20 4219 82 DUP3 421A 84 DUP5 421B 03 SUB 421C 12 SLT 421D 15 ISZERO 421E 61 PUSH2 0x4225 4221 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4215 stack[0] = 0x00 } // Block ends with conditional jump to 0x4225, if !(stack[-2] - stack[-1] i< 0x20) label_4222: // Incoming jump from 0x4221, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4222 stack[-1] // @4224 memory[stack[-1]:stack[-1] + stack[-1]] // } 4222 80 DUP1 4223 81 DUP2 4224 FD *REVERT // Stack delta = +0 // Outputs[1] { @4224 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4225: // Incoming jump from 0x4221, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4226 stack[-2] // @4227 msg.data[stack[-2]:stack[-2] + 0x20] // } 4225 5B JUMPDEST 4226 81 DUP2 4227 35 CALLDATALOAD 4228 67 PUSH8 0xffffffffffffffff 4231 80 DUP1 4232 82 DUP3 4233 11 GT 4234 15 ISZERO 4235 61 PUSH2 0x423c 4238 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @4227 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @4228 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x423c, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_4239: // Incoming jump from 0x4238, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4239 stack[-3] // @423B memory[stack[-3]:stack[-3] + stack[-3]] // } 4239 82 DUP3 423A 83 DUP4 423B FD *REVERT // Stack delta = +0 // Outputs[1] { @423B revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_423C: // Incoming jump from 0x4238, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @423D stack[-1] // @423D stack[-2] // @423E stack[-4] // @4244 stack[-5] // } 423C 5B JUMPDEST 423D 90 SWAP1 423E 83 DUP4 423F 01 ADD 4240 90 SWAP1 4241 60 PUSH1 0x40 4243 82 DUP3 4244 86 DUP7 4245 03 SUB 4246 12 SLT 4247 15 ISZERO 4248 61 PUSH2 0x424f 424B 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4240 stack[-1] = stack[-1] // @4240 stack[-2] = stack[-4] + stack[-2] // } // Block ends with conditional jump to 0x424f, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) label_424C: // Incoming jump from 0x424B, if not !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) // Inputs[2] // { // @424C stack[-3] // @424E memory[stack[-3]:stack[-3] + stack[-3]] // } 424C 82 DUP3 424D 83 DUP4 424E FD *REVERT // Stack delta = +0 // Outputs[1] { @424E revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_424F: // Incoming jump from 0x424B, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x40) 424F 5B JUMPDEST 4250 61 PUSH2 0x4259 4253 60 PUSH1 0x40 4255 61 PUSH2 0x5318 4258 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @4250 stack[0] = 0x4259 // @4253 stack[1] = 0x40 // } // Block ends with call to 0x5318, returns to 0x4259 label_4259: // Incoming return from call to 0x5318 at 0x4258 // Inputs[2] // { // @425A stack[-3] // @425B msg.data[stack[-3]:stack[-3] + 0x20] // } 4259 5B JUMPDEST 425A 82 DUP3 425B 35 CALLDATALOAD 425C 61 PUSH2 0x4264 425F 81 DUP2 4260 61 PUSH2 0x567e 4263 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @425B stack[0] = msg.data[stack[-3]:stack[-3] + 0x20] // @425C stack[1] = 0x4264 // @425F stack[2] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x567e, returns to 0x4264 label_4264: // Incoming return from call to 0x567E at 0x4263 // Inputs[5] // { // @4265 stack[-2] // @4266 stack[-1] // @4269 stack[-4] // @426B msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @426C stack[-3] // } 4264 5B JUMPDEST 4265 81 DUP2 4266 52 MSTORE 4267 60 PUSH1 0x20 4269 83 DUP4 426A 01 ADD 426B 35 CALLDATALOAD 426C 82 DUP3 426D 81 DUP2 426E 11 GT 426F 15 ISZERO 4270 61 PUSH2 0x4277 4273 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4266 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @426B stack[-1] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x4277, if !(msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] > stack[-3]) label_4274: // Incoming jump from 0x4273, if not !(msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] > stack[-3]) // Inputs[2] // { // @4274 stack[-5] // @4276 memory[stack[-5]:stack[-5] + stack[-5]] // } 4274 84 DUP5 4275 85 DUP6 4276 FD *REVERT // Stack delta = +0 // Outputs[1] { @4276 revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_4277: // Incoming jump from 0x4273, if !(msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] > stack[-3]) // Inputs[3] // { // @427B stack[-7] // @427C stack[-1] // @427D stack[-4] // } 4277 5B JUMPDEST 4278 61 PUSH2 0x3eb9 427B 87 DUP8 427C 82 DUP3 427D 86 DUP7 427E 01 ADD 427F 61 PUSH2 0x3366 4282 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4278 stack[0] = 0x3eb9 // @427B stack[1] = stack[-7] // @427E stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x3EB9 label_4283: // Incoming jump from 0x01CB // Inputs[2] // { // @4288 stack[-1] // @4289 stack[-2] // } 4283 5B JUMPDEST 4284 60 PUSH1 0x00 4286 60 PUSH1 0x20 4288 82 DUP3 4289 84 DUP5 428A 03 SUB 428B 12 SLT 428C 15 ISZERO 428D 61 PUSH2 0x4294 4290 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4284 stack[0] = 0x00 } // Block ends with conditional jump to 0x4294, if !(stack[-2] - stack[-1] i< 0x20) label_4291: // Incoming jump from 0x4290, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4291 stack[-1] // @4293 memory[stack[-1]:stack[-1] + stack[-1]] // } 4291 80 DUP1 4292 81 DUP2 4293 FD *REVERT // Stack delta = +0 // Outputs[1] { @4293 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4294: // Incoming jump from 0x4290, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4295 stack[-2] // @4296 msg.data[stack[-2]:stack[-2] + 0x20] // } 4294 5B JUMPDEST 4295 81 DUP2 4296 35 CALLDATALOAD 4297 67 PUSH8 0xffffffffffffffff 42A0 80 DUP1 42A1 82 DUP3 42A2 11 GT 42A3 15 ISZERO 42A4 61 PUSH2 0x42ab 42A7 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @4296 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @4297 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x42ab, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_42A8: // Incoming jump from 0x42A7, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @42A8 stack[-3] // @42AA memory[stack[-3]:stack[-3] + stack[-3]] // } 42A8 82 DUP3 42A9 83 DUP4 42AA FD *REVERT // Stack delta = +0 // Outputs[1] { @42AA revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_42AB: // Incoming jump from 0x42A7, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @42AC stack[-2] // @42AD stack[-4] // @42B6 stack[-5] // } 42AB 5B JUMPDEST 42AC 81 DUP2 42AD 84 DUP5 42AE 01 ADD 42AF 91 SWAP2 42B0 50 POP 42B1 61 PUSH2 0x0120 42B4 80 DUP1 42B5 83 DUP4 42B6 87 DUP8 42B7 03 SUB 42B8 12 SLT 42B9 15 ISZERO 42BA 61 PUSH2 0x42c1 42BD 57 *JUMPI // Stack delta = +1 // Outputs[2] // { // @42AF stack[-2] = stack[-4] + stack[-2] // @42B1 stack[0] = 0x0120 // } // Block ends with conditional jump to 0x42c1, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x0120) label_42BE: // Incoming jump from 0x42BD, if not !(stack[-5] - (stack[-4] + stack[-2]) i< 0x0120) // Inputs[2] // { // @42BE stack[-4] // @42C0 memory[stack[-4]:stack[-4] + stack[-4]] // } 42BE 83 DUP4 42BF 84 DUP5 42C0 FD *REVERT // Stack delta = +0 // Outputs[1] { @42C0 revert(memory[stack[-4]:stack[-4] + stack[-4]]); } // Block terminates label_42C1: // Incoming jump from 0x42BD, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x0120) // Inputs[1] { @42C5 stack[-1] } 42C1 5B JUMPDEST 42C2 61 PUSH2 0x42ca 42C5 81 DUP2 42C6 61 PUSH2 0x5318 42C9 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @42C2 stack[0] = 0x42ca // @42C5 stack[1] = stack[-1] // } // Block ends with call to 0x5318, returns to 0x42CA label_42CA: // Incoming return from call to 0x5318 at 0x42C9 // Inputs[3] // { // @42CB stack[-1] // @42CB stack[-2] // @42D0 stack[-4] // } 42CA 5B JUMPDEST 42CB 90 SWAP1 42CC 50 POP 42CD 61 PUSH2 0x42d5 42D0 83 DUP4 42D1 61 PUSH2 0x331b 42D4 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @42CB stack[-2] = stack[-1] // @42CD stack[-1] = 0x42d5 // @42D0 stack[0] = stack[-4] // } // Block ends with call to 0x331b, returns to 0x42D5 label_42D5: // Incoming return from call to 0x331B at 0x42D4 // Inputs[5] // { // @42D6 stack[-2] // @42D7 stack[-1] // @42DA stack[-4] // @42DC msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @42E6 msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // } 42D5 5B JUMPDEST 42D6 81 DUP2 42D7 52 MSTORE 42D8 60 PUSH1 0x20 42DA 83 DUP4 42DB 01 ADD 42DC 35 CALLDATALOAD 42DD 60 PUSH1 0x20 42DF 82 DUP3 42E0 01 ADD 42E1 52 MSTORE 42E2 60 PUSH1 0x40 42E4 83 DUP4 42E5 01 ADD 42E6 35 CALLDATALOAD 42E7 60 PUSH1 0x40 42E9 82 DUP3 42EA 01 ADD 42EB 52 MSTORE 42EC 61 PUSH2 0x42f7 42EF 60 PUSH1 0x60 42F1 84 DUP5 42F2 01 ADD 42F3 61 PUSH2 0x331b 42F6 56 *JUMP // Stack delta = +1 // Outputs[5] // { // @42D7 memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @42E1 memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @42EB memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @42EC stack[-1] = 0x42f7 // @42F2 stack[0] = stack[-4] + 0x60 // } // Block ends with call to 0x331b, returns to 0x42F7 label_42F7: // Incoming return from call to 0x331B at 0x42F6 // Inputs[5] // { // @42FA stack[-2] // @42FC stack[-1] // @42FF stack[-4] // @4301 msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] // @4302 stack[-3] // } 42F7 5B JUMPDEST 42F8 60 PUSH1 0x60 42FA 82 DUP3 42FB 01 ADD 42FC 52 MSTORE 42FD 60 PUSH1 0x80 42FF 83 DUP4 4300 01 ADD 4301 35 CALLDATALOAD 4302 82 DUP3 4303 81 DUP2 4304 11 GT 4305 15 ISZERO 4306 61 PUSH2 0x430d 4309 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @42FC memory[stack[-2] + 0x60:stack[-2] + 0x60 + 0x20] = stack[-1] // @4301 stack[-1] = msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] // } // Block ends with conditional jump to 0x430d, if !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) label_430A: // Incoming jump from 0x4309, if not !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) // Inputs[2] // { // @430A stack[-5] // @430C memory[stack[-5]:stack[-5] + stack[-5]] // } 430A 84 DUP5 430B 85 DUP6 430C FD *REVERT // Stack delta = +0 // Outputs[1] { @430C revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_430D: // Incoming jump from 0x4309, if !(msg.data[stack[-4] + 0x80:stack[-4] + 0x80 + 0x20] > stack[-3]) // Inputs[3] // { // @4311 stack[-7] // @4312 stack[-1] // @4313 stack[-4] // } 430D 5B JUMPDEST 430E 61 PUSH2 0x4319 4311 87 DUP8 4312 82 DUP3 4313 86 DUP7 4314 01 ADD 4315 61 PUSH2 0x3366 4318 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @430E stack[0] = 0x4319 // @4311 stack[1] = stack[-7] // @4314 stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x4319 label_4319: // Incoming return from call to 0x3366 at 0x4318 // Inputs[3] // { // @431C stack[-3] // @431E stack[-1] // @4325 stack[-5] // } 4319 5B JUMPDEST 431A 60 PUSH1 0x80 431C 83 DUP4 431D 01 ADD 431E 52 MSTORE 431F 50 POP 4320 61 PUSH2 0x432b 4323 60 PUSH1 0xa0 4325 84 DUP5 4326 01 ADD 4327 61 PUSH2 0x331b 432A 56 *JUMP // Stack delta = +0 // Outputs[3] // { // @431E memory[stack[-3] + 0x80:stack[-3] + 0x80 + 0x20] = stack[-1] // @4320 stack[-2] = 0x432b // @4326 stack[-1] = stack[-5] + 0xa0 // } // Block ends with call to 0x331b, returns to 0x432B label_432B: // Incoming return from call to 0x331B at 0x432A // Inputs[3] // { // @432E stack[-2] // @4330 stack[-1] // @4336 stack[-4] // } 432B 5B JUMPDEST 432C 60 PUSH1 0xa0 432E 82 DUP3 432F 01 ADD 4330 52 MSTORE 4331 61 PUSH2 0x433c 4334 60 PUSH1 0xc0 4336 84 DUP5 4337 01 ADD 4338 61 PUSH2 0x3038 433B 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @4330 memory[stack[-2] + 0xa0:stack[-2] + 0xa0 + 0x20] = stack[-1] // @4331 stack[-1] = 0x433c // @4337 stack[0] = stack[-4] + 0xc0 // } // Block ends with unconditional jump to 0x3038 433C 5B JUMPDEST 433D 60 PUSH1 0xc0 433F 82 DUP3 4340 01 ADD 4341 52 MSTORE 4342 61 PUSH2 0x434d 4345 60 PUSH1 0xe0 4347 84 DUP5 4348 01 ADD 4349 61 PUSH2 0x331b 434C 56 *JUMP 434D 5B JUMPDEST 434E 60 PUSH1 0xe0 4350 82 DUP3 4351 01 ADD 4352 52 MSTORE 4353 61 PUSH2 0x0100 4356 80 DUP1 4357 84 DUP5 4358 01 ADD 4359 35 CALLDATALOAD 435A 83 DUP4 435B 81 DUP2 435C 11 GT 435D 15 ISZERO 435E 61 PUSH2 0x4365 4361 57 *JUMPI 4362 85 DUP6 4363 86 DUP7 4364 FD *REVERT 4365 5B JUMPDEST 4366 61 PUSH2 0x4371 4369 88 DUP9 436A 82 DUP3 436B 87 DUP8 436C 01 ADD 436D 61 PUSH2 0x3366 4370 56 *JUMP 4371 5B JUMPDEST 4372 91 SWAP2 4373 83 DUP4 4374 01 ADD 4375 91 SWAP2 4376 90 SWAP1 4377 91 SWAP2 4378 52 MSTORE 4379 50 POP 437A 95 SWAP6 437B 94 SWAP5 437C 50 POP 437D 50 POP 437E 50 POP 437F 50 POP 4380 50 POP 4381 56 *JUMP label_4382: // Incoming jump from 0x0229 // Inputs[2] // { // @4387 stack[-1] // @4388 stack[-2] // } 4382 5B JUMPDEST 4383 60 PUSH1 0x00 4385 60 PUSH1 0xa0 4387 82 DUP3 4388 84 DUP5 4389 03 SUB 438A 12 SLT 438B 15 ISZERO 438C 61 PUSH2 0x4393 438F 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4383 stack[0] = 0x00 } // Block ends with conditional jump to 0x4393, if !(stack[-2] - stack[-1] i< 0xa0) label_4390: // Incoming jump from 0x438F, if not !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @4390 stack[-1] // @4392 memory[stack[-1]:stack[-1] + stack[-1]] // } 4390 80 DUP1 4391 81 DUP2 4392 FD *REVERT // Stack delta = +0 // Outputs[1] { @4392 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4393: // Incoming jump from 0x438F, if !(stack[-2] - stack[-1] i< 0xa0) // Inputs[2] // { // @4397 stack[-3] // @4398 stack[-2] // } 4393 5B JUMPDEST 4394 61 PUSH2 0x2d67 4397 83 DUP4 4398 83 DUP4 4399 61 PUSH2 0x3590 439C 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4394 stack[0] = 0x2d67 // @4397 stack[1] = stack[-3] // @4398 stack[2] = stack[-2] // } // Block ends with call to 0x3590, returns to 0x2D67 439D 5B JUMPDEST 439E 60 PUSH1 0x00 43A0 60 PUSH1 0xa0 43A2 82 DUP3 43A3 84 DUP5 43A4 03 SUB 43A5 12 SLT 43A6 15 ISZERO 43A7 61 PUSH2 0x43ae 43AA 57 *JUMPI 43AB 80 DUP1 43AC 81 DUP2 43AD FD *REVERT 43AE 5B JUMPDEST 43AF 61 PUSH2 0x2d67 43B2 83 DUP4 43B3 83 DUP4 43B4 61 PUSH2 0x35fc 43B7 56 *JUMP label_43B8: // Incoming jump from 0x0F58 // Inputs[2] // { // @43BE stack[-1] // @43BF stack[-2] // } 43B8 5B JUMPDEST 43B9 60 PUSH1 0x00 43BB 80 DUP1 43BC 60 PUSH1 0xc0 43BE 83 DUP4 43BF 85 DUP6 43C0 03 SUB 43C1 12 SLT 43C2 15 ISZERO 43C3 61 PUSH2 0x43ca 43C6 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @43B9 stack[0] = 0x00 // @43BB stack[1] = 0x00 // } // Block ends with conditional jump to 0x43ca, if !(stack[-2] - stack[-1] i< 0xc0) label_43C7: // Incoming jump from 0x43C6, if not !(stack[-2] - stack[-1] i< 0xc0) // Inputs[2] // { // @43C7 stack[-2] // @43C9 memory[stack[-2]:stack[-2] + stack[-2]] // } 43C7 81 DUP2 43C8 82 DUP3 43C9 FD *REVERT // Stack delta = +0 // Outputs[1] { @43C9 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_43CA: // Incoming jump from 0x43C6, if !(stack[-2] - stack[-1] i< 0xc0) // Inputs[2] // { // @43CE stack[-4] // @43CF stack[-3] // } 43CA 5B JUMPDEST 43CB 61 PUSH2 0x43d4 43CE 84 DUP5 43CF 84 DUP5 43D0 61 PUSH2 0x3590 43D3 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @43CB stack[0] = 0x43d4 // @43CE stack[1] = stack[-4] // @43CF stack[2] = stack[-3] // } // Block ends with call to 0x3590, returns to 0x43D4 label_43D4: // Incoming return from call to 0x3590 at 0x43D3 // Inputs[4] // { // @43D5 stack[-3] // @43D5 stack[-1] // @43D9 stack[-4] // @43DB msg.data[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] // } 43D4 5B JUMPDEST 43D5 91 SWAP2 43D6 50 POP 43D7 60 PUSH1 0xa0 43D9 83 DUP4 43DA 01 ADD 43DB 35 CALLDATALOAD 43DC 67 PUSH8 0xffffffffffffffff 43E5 81 DUP2 43E6 11 GT 43E7 15 ISZERO 43E8 61 PUSH2 0x43ef 43EB 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @43D5 stack[-3] = stack[-1] // @43DB stack[-1] = msg.data[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] // } // Block ends with conditional jump to 0x43ef, if !(msg.data[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) label_43EC: // Incoming jump from 0x43EB, if not !(msg.data[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @43EC stack[-2] // @43EE memory[stack[-2]:stack[-2] + stack[-2]] // } 43EC 81 DUP2 43ED 82 DUP3 43EE FD *REVERT // Stack delta = +0 // Outputs[1] { @43EE revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_43EF: // Incoming jump from 0x43EB, if !(msg.data[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @43F3 stack[-5] // @43F4 stack[-1] // @43F5 stack[-4] // } 43EF 5B JUMPDEST 43F0 61 PUSH2 0x43fb 43F3 85 DUP6 43F4 82 DUP3 43F5 86 DUP7 43F6 01 ADD 43F7 61 PUSH2 0x31c5 43FA 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @43F0 stack[0] = 0x43fb // @43F3 stack[1] = stack[-5] // @43F6 stack[2] = stack[-4] + stack[-1] // } // Block ends with unconditional jump to 0x31c5 label_43FB: // Incoming return from call to 0x31E4 at 0x4447 // Inputs[6] // { // @43FC stack[-3] // @43FC stack[-1] // @43FF stack[-6] // @4401 stack[-7] // @4401 stack[-4] // @4402 stack[-5] // } 43FB 5B JUMPDEST 43FC 91 SWAP2 43FD 50 POP 43FE 50 POP 43FF 92 SWAP3 4400 50 POP 4401 92 SWAP3 4402 90 SWAP1 4403 50 POP 4404 56 *JUMP // Stack delta = -5 // Outputs[2] // { // @43FF stack[-6] = stack[-1] // @4401 stack[-7] = stack[-4] // } // Block ends with unconditional jump to stack[-7] label_4405: // Incoming call from 0x0D2E, returns to 0x0D2F // Inputs[2] // { // @440B stack[-1] // @440C stack[-2] // } 4405 5B JUMPDEST 4406 60 PUSH1 0x00 4408 80 DUP1 4409 60 PUSH1 0xc0 440B 83 DUP4 440C 85 DUP6 440D 03 SUB 440E 12 SLT 440F 15 ISZERO 4410 61 PUSH2 0x4417 4413 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @4406 stack[0] = 0x00 // @4408 stack[1] = 0x00 // } // Block ends with conditional jump to 0x4417, if !(stack[-2] - stack[-1] i< 0xc0) label_4414: // Incoming jump from 0x4413, if not !(stack[-2] - stack[-1] i< 0xc0) // Inputs[2] // { // @4414 stack[-2] // @4416 memory[stack[-2]:stack[-2] + stack[-2]] // } 4414 81 DUP2 4415 82 DUP3 4416 FD *REVERT // Stack delta = +0 // Outputs[1] { @4416 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_4417: // Incoming jump from 0x4413, if !(stack[-2] - stack[-1] i< 0xc0) // Inputs[2] // { // @441B stack[-4] // @441C stack[-3] // } 4417 5B JUMPDEST 4418 61 PUSH2 0x4421 441B 84 DUP5 441C 84 DUP5 441D 61 PUSH2 0x35fc 4420 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4418 stack[0] = 0x4421 // @441B stack[1] = stack[-4] // @441C stack[2] = stack[-3] // } // Block ends with call to 0x35fc, returns to 0x4421 label_4421: // Incoming return from call to 0x35FC at 0x4420 // Inputs[4] // { // @4422 stack[-3] // @4422 stack[-1] // @4426 stack[-4] // @4428 memory[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] // } 4421 5B JUMPDEST 4422 91 SWAP2 4423 50 POP 4424 60 PUSH1 0xa0 4426 83 DUP4 4427 01 ADD 4428 51 MLOAD 4429 67 PUSH8 0xffffffffffffffff 4432 81 DUP2 4433 11 GT 4434 15 ISZERO 4435 61 PUSH2 0x443c 4438 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4422 stack[-3] = stack[-1] // @4428 stack[-1] = memory[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] // } // Block ends with conditional jump to 0x443c, if !(memory[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) label_4439: // Incoming jump from 0x4438, if not !(memory[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4439 stack[-2] // @443B memory[stack[-2]:stack[-2] + stack[-2]] // } 4439 81 DUP2 443A 82 DUP3 443B FD *REVERT // Stack delta = +0 // Outputs[1] { @443B revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_443C: // Incoming jump from 0x4438, if !(memory[stack[-4] + 0xa0:stack[-4] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @4440 stack[-5] // @4441 stack[-1] // @4442 stack[-4] // } 443C 5B JUMPDEST 443D 61 PUSH2 0x43fb 4440 85 DUP6 4441 82 DUP3 4442 86 DUP7 4443 01 ADD 4444 61 PUSH2 0x31e4 4447 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @443D stack[0] = 0x43fb // @4440 stack[1] = stack[-5] // @4443 stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x31e4, returns to 0x43FB label_4448: // Incoming call from 0x0C56, returns to 0x0C57 // Inputs[2] // { // @4450 stack[-1] // @4451 stack[-2] // } 4448 5B JUMPDEST 4449 60 PUSH1 0x00 444B 80 DUP1 444C 60 PUSH1 0x00 444E 60 PUSH1 0xe0 4450 84 DUP5 4451 86 DUP7 4452 03 SUB 4453 12 SLT 4454 15 ISZERO 4455 61 PUSH2 0x445c 4458 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @4449 stack[0] = 0x00 // @444B stack[1] = 0x00 // @444C stack[2] = 0x00 // } // Block ends with conditional jump to 0x445c, if !(stack[-2] - stack[-1] i< 0xe0) label_4459: // Incoming jump from 0x4458, if not !(stack[-2] - stack[-1] i< 0xe0) // Inputs[2] // { // @4459 stack[-1] // @445B memory[stack[-1]:stack[-1] + stack[-1]] // } 4459 80 DUP1 445A 81 DUP2 445B FD *REVERT // Stack delta = +0 // Outputs[1] { @445B revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_445C: // Incoming jump from 0x4458, if !(stack[-2] - stack[-1] i< 0xe0) // Inputs[2] // { // @4460 stack[-5] // @4461 stack[-4] // } 445C 5B JUMPDEST 445D 61 PUSH2 0x4466 4460 85 DUP6 4461 85 DUP6 4462 61 PUSH2 0x35fc 4465 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @445D stack[0] = 0x4466 // @4460 stack[1] = stack[-5] // @4461 stack[2] = stack[-4] // } // Block ends with call to 0x35fc, returns to 0x4466 label_4466: // Incoming return from call to 0x35FC at 0x4465 // Inputs[4] // { // @4467 stack[-1] // @4467 stack[-4] // @446B stack[-5] // @446D memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] // } 4466 5B JUMPDEST 4467 92 SWAP3 4468 50 POP 4469 60 PUSH1 0xa0 446B 84 DUP5 446C 01 ADD 446D 51 MLOAD 446E 67 PUSH8 0xffffffffffffffff 4477 81 DUP2 4478 11 GT 4479 15 ISZERO 447A 61 PUSH2 0x4481 447D 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4467 stack[-4] = stack[-1] // @446D stack[-1] = memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] // } // Block ends with conditional jump to 0x4481, if !(memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] > 0xffffffffffffffff) label_447E: // Incoming jump from 0x447D, if not !(memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @447E stack[-2] // @4480 memory[stack[-2]:stack[-2] + stack[-2]] // } 447E 81 DUP2 447F 82 DUP3 4480 FD *REVERT // Stack delta = +0 // Outputs[1] { @4480 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_4481: // Incoming jump from 0x447D, if !(memory[stack[-5] + 0xa0:stack[-5] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @4485 stack[-6] // @4486 stack[-1] // @4487 stack[-5] // } 4481 5B JUMPDEST 4482 61 PUSH2 0x448d 4485 86 DUP7 4486 82 DUP3 4487 87 DUP8 4488 01 ADD 4489 61 PUSH2 0x31e4 448C 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4482 stack[0] = 0x448d // @4485 stack[1] = stack[-6] // @4488 stack[2] = stack[-5] + stack[-1] // } // Block ends with call to 0x31e4, returns to 0x448D label_448D: // Incoming return from call to 0x31E4 at 0x448C // Inputs[8] // { // @448E stack[-1] // @448E stack[-4] // @4493 stack[-6] // @4495 memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @4496 stack[-3] // @449A stack[-7] // @449C stack[-5] // @449C stack[-8] // } 448D 5B JUMPDEST 448E 92 SWAP3 448F 50 POP 4490 50 POP 4491 60 PUSH1 0xc0 4493 84 DUP5 4494 01 ADD 4495 51 MLOAD 4496 90 SWAP1 4497 50 POP 4498 92 SWAP3 4499 50 POP 449A 92 SWAP3 449B 50 POP 449C 92 SWAP3 449D 56 *JUMP // Stack delta = -5 // Outputs[3] // { // @4498 stack[-6] = memory[stack[-6] + 0xc0:stack[-6] + 0xc0 + 0x20] // @449A stack[-7] = stack[-1] // @449C stack[-8] = stack[-5] // } // Block ends with unconditional jump to stack[-8] label_449E: // Incoming jump from 0x10B1 // Inputs[2] // { // @44A8 stack[-1] // @44A9 stack[-2] // } 449E 5B JUMPDEST 449F 60 PUSH1 0x00 44A1 80 DUP1 44A2 60 PUSH1 0x00 44A4 80 DUP1 44A5 61 PUSH2 0x0100 44A8 85 DUP6 44A9 87 DUP8 44AA 03 SUB 44AB 12 SLT 44AC 15 ISZERO 44AD 61 PUSH2 0x44b4 44B0 57 *JUMPI // Stack delta = +4 // Outputs[4] // { // @449F stack[0] = 0x00 // @44A1 stack[1] = 0x00 // @44A2 stack[2] = 0x00 // @44A4 stack[3] = 0x00 // } // Block ends with conditional jump to 0x44b4, if !(stack[-2] - stack[-1] i< 0x0100) label_44B1: // Incoming jump from 0x44B0, if not !(stack[-2] - stack[-1] i< 0x0100) // Inputs[2] // { // @44B1 stack[-2] // @44B3 memory[stack[-2]:stack[-2] + stack[-2]] // } 44B1 81 DUP2 44B2 82 DUP3 44B3 FD *REVERT // Stack delta = +0 // Outputs[1] { @44B3 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_44B4: // Incoming jump from 0x44B0, if !(stack[-2] - stack[-1] i< 0x0100) // Inputs[2] // { // @44B8 stack[-6] // @44B9 stack[-5] // } 44B4 5B JUMPDEST 44B5 61 PUSH2 0x44be 44B8 86 DUP7 44B9 86 DUP7 44BA 61 PUSH2 0x3590 44BD 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @44B5 stack[0] = 0x44be // @44B8 stack[1] = stack[-6] // @44B9 stack[2] = stack[-5] // } // Block ends with call to 0x3590, returns to 0x44BE label_44BE: // Incoming return from call to 0x3590 at 0x44BD // Inputs[4] // { // @44BF stack[-5] // @44BF stack[-1] // @44C3 stack[-6] // @44C5 msg.data[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] // } 44BE 5B JUMPDEST 44BF 93 SWAP4 44C0 50 POP 44C1 60 PUSH1 0xa0 44C3 85 DUP6 44C4 01 ADD 44C5 35 CALLDATALOAD 44C6 67 PUSH8 0xffffffffffffffff 44CF 81 DUP2 44D0 11 GT 44D1 15 ISZERO 44D2 61 PUSH2 0x44d9 44D5 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @44BF stack[-5] = stack[-1] // @44C5 stack[-1] = msg.data[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] // } // Block ends with conditional jump to 0x44d9, if !(msg.data[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] > 0xffffffffffffffff) label_44D6: // Incoming jump from 0x44D5, if not !(msg.data[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @44D6 stack[-3] // @44D8 memory[stack[-3]:stack[-3] + stack[-3]] // } 44D6 82 DUP3 44D7 83 DUP4 44D8 FD *REVERT // Stack delta = +0 // Outputs[1] { @44D8 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_44D9: // Incoming jump from 0x44D5, if !(msg.data[stack[-6] + 0xa0:stack[-6] + 0xa0 + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @44DD stack[-7] // @44DE stack[-1] // @44DF stack[-6] // } 44D9 5B JUMPDEST 44DA 61 PUSH2 0x44e5 44DD 87 DUP8 44DE 82 DUP3 44DF 88 DUP9 44E0 01 ADD 44E1 61 PUSH2 0x31c5 44E4 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @44DA stack[0] = 0x44e5 // @44DD stack[1] = stack[-7] // @44E0 stack[2] = stack[-6] + stack[-1] // } // Block ends with unconditional jump to 0x31c5 44E5 5B JUMPDEST 44E6 94 SWAP5 44E7 97 SWAP8 44E8 94 SWAP5 44E9 96 SWAP7 44EA 50 POP 44EB 50 POP 44EC 50 POP 44ED 50 POP 44EE 60 PUSH1 0xc0 44F0 83 DUP4 44F1 01 ADD 44F2 35 CALLDATALOAD 44F3 92 SWAP3 44F4 60 PUSH1 0xe0 44F6 01 ADD 44F7 35 CALLDATALOAD 44F8 91 SWAP2 44F9 90 SWAP1 44FA 50 POP 44FB 56 *JUMP label_44FC: // Incoming call from 0x0269, returns to 0x026A // Inputs[2] // { // @4501 stack[-1] // @4502 stack[-2] // } 44FC 5B JUMPDEST 44FD 60 PUSH1 0x00 44FF 60 PUSH1 0x20 4501 82 DUP3 4502 84 DUP5 4503 03 SUB 4504 12 SLT 4505 15 ISZERO 4506 61 PUSH2 0x450d 4509 57 *JUMPI // Stack delta = +1 // Outputs[1] { @44FD stack[0] = 0x00 } // Block ends with conditional jump to 0x450d, if !(stack[-2] - stack[-1] i< 0x20) label_450A: // Incoming jump from 0x4509, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @450A stack[-1] // @450C memory[stack[-1]:stack[-1] + stack[-1]] // } 450A 80 DUP1 450B 81 DUP2 450C FD *REVERT // Stack delta = +0 // Outputs[1] { @450C revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_450D: // Incoming jump from 0x4509, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @450E stack[-2] // @450F msg.data[stack[-2]:stack[-2] + 0x20] // } 450D 5B JUMPDEST 450E 81 DUP2 450F 35 CALLDATALOAD 4510 67 PUSH8 0xffffffffffffffff 4519 80 DUP1 451A 82 DUP3 451B 11 GT 451C 15 ISZERO 451D 61 PUSH2 0x4524 4520 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @450F stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] // @4510 stack[1] = 0xffffffffffffffff // } // Block ends with conditional jump to 0x4524, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_4521: // Incoming jump from 0x4520, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4521 stack[-3] // @4523 memory[stack[-3]:stack[-3] + stack[-3]] // } 4521 82 DUP3 4522 83 DUP4 4523 FD *REVERT // Stack delta = +0 // Outputs[1] { @4523 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_4524: // Incoming jump from 0x4520, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[4] // { // @4525 stack[-2] // @4525 stack[-1] // @4526 stack[-4] // @452C stack[-5] // } 4524 5B JUMPDEST 4525 90 SWAP1 4526 83 DUP4 4527 01 ADD 4528 90 SWAP1 4529 60 PUSH1 0x80 452B 82 DUP3 452C 86 DUP7 452D 03 SUB 452E 12 SLT 452F 15 ISZERO 4530 61 PUSH2 0x4537 4533 57 *JUMPI // Stack delta = +0 // Outputs[2] // { // @4528 stack[-1] = stack[-1] // @4528 stack[-2] = stack[-4] + stack[-2] // } // Block ends with conditional jump to 0x4537, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x80) label_4534: // Incoming jump from 0x4533, if not !(stack[-5] - (stack[-4] + stack[-2]) i< 0x80) // Inputs[2] // { // @4534 stack[-3] // @4536 memory[stack[-3]:stack[-3] + stack[-3]] // } 4534 82 DUP3 4535 83 DUP4 4536 FD *REVERT // Stack delta = +0 // Outputs[1] { @4536 revert(memory[stack[-3]:stack[-3] + stack[-3]]); } // Block terminates label_4537: // Incoming jump from 0x4533, if !(stack[-5] - (stack[-4] + stack[-2]) i< 0x80) 4537 5B JUMPDEST 4538 61 PUSH2 0x4541 453B 60 PUSH1 0x80 453D 61 PUSH2 0x5318 4540 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @4538 stack[0] = 0x4541 // @453B stack[1] = 0x80 // } // Block ends with call to 0x5318, returns to 0x4541 label_4541: // Incoming return from call to 0x5318 at 0x4540 // Inputs[2] // { // @4542 stack[-3] // @4543 msg.data[stack[-3]:stack[-3] + 0x20] // } 4541 5B JUMPDEST 4542 82 DUP3 4543 35 CALLDATALOAD 4544 61 PUSH2 0x454c 4547 81 DUP2 4548 61 PUSH2 0x567e 454B 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4543 stack[0] = msg.data[stack[-3]:stack[-3] + 0x20] // @4544 stack[1] = 0x454c // @4547 stack[2] = msg.data[stack[-3]:stack[-3] + 0x20] // } // Block ends with call to 0x567e, returns to 0x454C label_454C: // Incoming return from call to 0x567E at 0x454B // Inputs[7] // { // @454D stack[-1] // @454E stack[-2] // @4553 stack[-4] // @4555 msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @455F msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @4569 msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // @456A stack[-3] // } 454C 5B JUMPDEST 454D 80 DUP1 454E 82 DUP3 454F 52 MSTORE 4550 50 POP 4551 60 PUSH1 0x20 4553 83 DUP4 4554 01 ADD 4555 35 CALLDATALOAD 4556 60 PUSH1 0x20 4558 82 DUP3 4559 01 ADD 455A 52 MSTORE 455B 60 PUSH1 0x40 455D 83 DUP4 455E 01 ADD 455F 35 CALLDATALOAD 4560 60 PUSH1 0x40 4562 82 DUP3 4563 01 ADD 4564 52 MSTORE 4565 60 PUSH1 0x60 4567 83 DUP4 4568 01 ADD 4569 35 CALLDATALOAD 456A 82 DUP3 456B 81 DUP2 456C 11 GT 456D 15 ISZERO 456E 61 PUSH2 0x4575 4571 57 *JUMPI // Stack delta = +0 // Outputs[4] // { // @454F memory[stack[-2]:stack[-2] + 0x20] = stack[-1] // @455A memory[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] = msg.data[stack[-4] + 0x20:stack[-4] + 0x20 + 0x20] // @4564 memory[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] = msg.data[stack[-4] + 0x40:stack[-4] + 0x40 + 0x20] // @4569 stack[-1] = msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] // } // Block ends with conditional jump to 0x4575, if !(msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] > stack[-3]) label_4572: // Incoming jump from 0x4571, if not !(msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] > stack[-3]) // Inputs[2] // { // @4572 stack[-5] // @4574 memory[stack[-5]:stack[-5] + stack[-5]] // } 4572 84 DUP5 4573 85 DUP6 4574 FD *REVERT // Stack delta = +0 // Outputs[1] { @4574 revert(memory[stack[-5]:stack[-5] + stack[-5]]); } // Block terminates label_4575: // Incoming jump from 0x4571, if !(msg.data[stack[-4] + 0x60:stack[-4] + 0x60 + 0x20] > stack[-3]) // Inputs[3] // { // @4579 stack[-7] // @457A stack[-1] // @457B stack[-4] // } 4575 5B JUMPDEST 4576 61 PUSH2 0x4581 4579 87 DUP8 457A 82 DUP3 457B 86 DUP7 457C 01 ADD 457D 61 PUSH2 0x3366 4580 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4576 stack[0] = 0x4581 // @4579 stack[1] = stack[-7] // @457C stack[2] = stack[-4] + stack[-1] // } // Block ends with call to 0x3366, returns to 0x4581 label_4581: // Incoming return from call to 0x3366 at 0x4580 // Inputs[4] // { // @4584 stack[-3] // @4586 stack[-1] // @4588 stack[-9] // @4589 stack[-8] // } 4581 5B JUMPDEST 4582 60 PUSH1 0x60 4584 83 DUP4 4585 01 ADD 4586 52 MSTORE 4587 50 POP 4588 95 SWAP6 4589 94 SWAP5 458A 50 POP 458B 50 POP 458C 50 POP 458D 50 POP 458E 50 POP 458F 56 *JUMP // Stack delta = -8 // Outputs[2] // { // @4586 memory[stack[-3] + 0x60:stack[-3] + 0x60 + 0x20] = stack[-1] // @4588 stack[-9] = stack[-3] // } // Block ends with unconditional jump to stack[-9] 4590 5B JUMPDEST 4591 60 PUSH1 0x00 4593 60 PUSH1 0x20 4595 82 DUP3 4596 84 DUP5 4597 03 SUB 4598 12 SLT 4599 15 ISZERO 459A 61 PUSH2 0x45a1 459D 57 *JUMPI 459E 80 DUP1 459F 81 DUP2 45A0 FD *REVERT 45A1 5B JUMPDEST 45A2 81 DUP2 45A3 51 MLOAD 45A4 67 PUSH8 0xffffffffffffffff 45AD 80 DUP1 45AE 82 DUP3 45AF 11 GT 45B0 15 ISZERO 45B1 61 PUSH2 0x45b8 45B4 57 *JUMPI 45B5 82 DUP3 45B6 83 DUP4 45B7 FD *REVERT 45B8 5B JUMPDEST 45B9 90 SWAP1 45BA 83 DUP4 45BB 01 ADD 45BC 90 SWAP1 45BD 60 PUSH1 0x80 45BF 82 DUP3 45C0 86 DUP7 45C1 03 SUB 45C2 12 SLT 45C3 15 ISZERO 45C4 61 PUSH2 0x45cb 45C7 57 *JUMPI 45C8 82 DUP3 45C9 83 DUP4 45CA FD *REVERT 45CB 5B JUMPDEST 45CC 61 PUSH2 0x45d5 45CF 60 PUSH1 0x80 45D1 61 PUSH2 0x5318 45D4 56 *JUMP 45D5 5B JUMPDEST 45D6 82 DUP3 45D7 51 MLOAD 45D8 61 PUSH2 0x45e0 45DB 81 DUP2 45DC 61 PUSH2 0x567e 45DF 56 *JUMP 45E0 5B JUMPDEST 45E1 80 DUP1 45E2 82 DUP3 45E3 52 MSTORE 45E4 50 POP 45E5 60 PUSH1 0x20 45E7 83 DUP4 45E8 01 ADD 45E9 51 MLOAD 45EA 60 PUSH1 0x20 45EC 82 DUP3 45ED 01 ADD 45EE 52 MSTORE 45EF 60 PUSH1 0x40 45F1 83 DUP4 45F2 01 ADD 45F3 51 MLOAD 45F4 60 PUSH1 0x40 45F6 82 DUP3 45F7 01 ADD 45F8 52 MSTORE 45F9 60 PUSH1 0x60 45FB 83 DUP4 45FC 01 ADD 45FD 51 MLOAD 45FE 82 DUP3 45FF 81 DUP2 4600 11 GT 4601 15 ISZERO 4602 61 PUSH2 0x4609 4605 57 *JUMPI 4606 84 DUP5 4607 85 DUP6 4608 FD *REVERT 4609 5B JUMPDEST 460A 61 PUSH2 0x4581 460D 87 DUP8 460E 82 DUP3 460F 86 DUP7 4610 01 ADD 4611 61 PUSH2 0x33b2 4614 56 *JUMP label_4615: // Incoming jump from 0x0309 // Inputs[2] // { // @461A stack[-1] // @461B stack[-2] // } 4615 5B JUMPDEST 4616 60 PUSH1 0x00 4618 60 PUSH1 0x20 461A 82 DUP3 461B 84 DUP5 461C 03 SUB 461D 12 SLT 461E 15 ISZERO 461F 61 PUSH2 0x4626 4622 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4616 stack[0] = 0x00 } // Block ends with conditional jump to 0x4626, if !(stack[-2] - stack[-1] i< 0x20) label_4623: // Incoming jump from 0x4622, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4623 stack[-1] // @4625 memory[stack[-1]:stack[-1] + stack[-1]] // } 4623 80 DUP1 4624 81 DUP2 4625 FD *REVERT // Stack delta = +0 // Outputs[1] { @4625 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4626: // Incoming jump from 0x4622, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4627 stack[-2] // @4628 msg.data[stack[-2]:stack[-2] + 0x20] // } 4626 5B JUMPDEST 4627 81 DUP2 4628 35 CALLDATALOAD 4629 67 PUSH8 0xffffffffffffffff 4632 81 DUP2 4633 11 GT 4634 15 ISZERO 4635 61 PUSH2 0x463c 4638 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4628 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x463c, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_4639: // Incoming jump from 0x4638, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4639 stack[-2] // @463B memory[stack[-2]:stack[-2] + stack[-2]] // } 4639 81 DUP2 463A 82 DUP3 463B FD *REVERT // Stack delta = +0 // Outputs[1] { @463B revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_463C: // Incoming jump from 0x4638, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @4640 stack[-4] // @4641 stack[-1] // @4642 stack[-3] // } 463C 5B JUMPDEST 463D 61 PUSH2 0x2c78 4640 84 DUP5 4641 82 DUP3 4642 85 DUP6 4643 01 ADD 4644 61 PUSH2 0x3668 4647 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @463D stack[0] = 0x2c78 // @4640 stack[1] = stack[-4] // @4643 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3668, returns to 0x2C78 label_4648: // Incoming jump from 0x0397 // Inputs[2] // { // @464D stack[-1] // @464E stack[-2] // } 4648 5B JUMPDEST 4649 60 PUSH1 0x00 464B 60 PUSH1 0x20 464D 82 DUP3 464E 84 DUP5 464F 03 SUB 4650 12 SLT 4651 15 ISZERO 4652 61 PUSH2 0x4659 4655 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4649 stack[0] = 0x00 } // Block ends with conditional jump to 0x4659, if !(stack[-2] - stack[-1] i< 0x20) label_4656: // Incoming jump from 0x4655, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4656 stack[-1] // @4658 memory[stack[-1]:stack[-1] + stack[-1]] // } 4656 80 DUP1 4657 81 DUP2 4658 FD *REVERT // Stack delta = +0 // Outputs[1] { @4658 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4659: // Incoming jump from 0x4655, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @465A stack[-2] // @465B msg.data[stack[-2]:stack[-2] + 0x20] // } 4659 5B JUMPDEST 465A 81 DUP2 465B 35 CALLDATALOAD 465C 67 PUSH8 0xffffffffffffffff 4665 81 DUP2 4666 11 GT 4667 15 ISZERO 4668 61 PUSH2 0x466f 466B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @465B stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x466f, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_466C: // Incoming jump from 0x466B, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @466C stack[-2] // @466E memory[stack[-2]:stack[-2] + stack[-2]] // } 466C 81 DUP2 466D 82 DUP3 466E FD *REVERT // Stack delta = +0 // Outputs[1] { @466E revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_466F: // Incoming jump from 0x466B, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @4673 stack[-4] // @4674 stack[-1] // @4675 stack[-3] // } 466F 5B JUMPDEST 4670 61 PUSH2 0x2c78 4673 84 DUP5 4674 82 DUP3 4675 85 DUP6 4676 01 ADD 4677 61 PUSH2 0x36bb 467A 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @4670 stack[0] = 0x2c78 // @4673 stack[1] = stack[-4] // @4676 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x36bb, returns to 0x2C78 467B 5B JUMPDEST 467C 60 PUSH1 0x00 467E 60 PUSH1 0x20 4680 82 DUP3 4681 84 DUP5 4682 03 SUB 4683 12 SLT 4684 15 ISZERO 4685 61 PUSH2 0x468c 4688 57 *JUMPI 4689 80 DUP1 468A 81 DUP2 468B FD *REVERT 468C 5B JUMPDEST 468D 81 DUP2 468E 51 MLOAD 468F 67 PUSH8 0xffffffffffffffff 4698 81 DUP2 4699 11 GT 469A 15 ISZERO 469B 61 PUSH2 0x46a2 469E 57 *JUMPI 469F 81 DUP2 46A0 82 DUP3 46A1 FD *REVERT 46A2 5B JUMPDEST 46A3 61 PUSH2 0x2c78 46A6 84 DUP5 46A7 82 DUP3 46A8 85 DUP6 46A9 01 ADD 46AA 61 PUSH2 0x377c 46AD 56 *JUMP label_46AE: // Incoming jump from 0x02C9 // Inputs[2] // { // @46B3 stack[-1] // @46B4 stack[-2] // } 46AE 5B JUMPDEST 46AF 60 PUSH1 0x00 46B1 60 PUSH1 0x20 46B3 82 DUP3 46B4 84 DUP5 46B5 03 SUB 46B6 12 SLT 46B7 15 ISZERO 46B8 61 PUSH2 0x46bf 46BB 57 *JUMPI // Stack delta = +1 // Outputs[1] { @46AF stack[0] = 0x00 } // Block ends with conditional jump to 0x46bf, if !(stack[-2] - stack[-1] i< 0x20) label_46BC: // Incoming jump from 0x46BB, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @46BC stack[-1] // @46BE memory[stack[-1]:stack[-1] + stack[-1]] // } 46BC 80 DUP1 46BD 81 DUP2 46BE FD *REVERT // Stack delta = +0 // Outputs[1] { @46BE revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_46BF: // Incoming jump from 0x46BB, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @46C0 stack[-2] // @46C1 msg.data[stack[-2]:stack[-2] + 0x20] // } 46BF 5B JUMPDEST 46C0 81 DUP2 46C1 35 CALLDATALOAD 46C2 67 PUSH8 0xffffffffffffffff 46CB 81 DUP2 46CC 11 GT 46CD 15 ISZERO 46CE 61 PUSH2 0x46d5 46D1 57 *JUMPI // Stack delta = +1 // Outputs[1] { @46C1 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x46d5, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_46D2: // Incoming jump from 0x46D1, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @46D2 stack[-2] // @46D4 memory[stack[-2]:stack[-2] + stack[-2]] // } 46D2 81 DUP2 46D3 82 DUP3 46D4 FD *REVERT // Stack delta = +0 // Outputs[1] { @46D4 revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_46D5: // Incoming jump from 0x46D1, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @46D9 stack[-4] // @46DA stack[-1] // @46DB stack[-3] // } 46D5 5B JUMPDEST 46D6 61 PUSH2 0x2c78 46D9 84 DUP5 46DA 82 DUP3 46DB 85 DUP6 46DC 01 ADD 46DD 61 PUSH2 0x3879 46E0 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @46D6 stack[0] = 0x2c78 // @46D9 stack[1] = stack[-4] // @46DC stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3879, returns to 0x2C78 46E1 5B JUMPDEST 46E2 60 PUSH1 0x00 46E4 60 PUSH1 0x20 46E6 82 DUP3 46E7 84 DUP5 46E8 03 SUB 46E9 12 SLT 46EA 15 ISZERO 46EB 61 PUSH2 0x46f2 46EE 57 *JUMPI 46EF 80 DUP1 46F0 81 DUP2 46F1 FD *REVERT 46F2 5B JUMPDEST 46F3 81 DUP2 46F4 51 MLOAD 46F5 67 PUSH8 0xffffffffffffffff 46FE 81 DUP2 46FF 11 GT 4700 15 ISZERO 4701 61 PUSH2 0x4708 4704 57 *JUMPI 4705 81 DUP2 4706 82 DUP3 4707 FD *REVERT 4708 5B JUMPDEST 4709 61 PUSH2 0x2c78 470C 84 DUP5 470D 82 DUP3 470E 85 DUP6 470F 01 ADD 4710 61 PUSH2 0x395f 4713 56 *JUMP label_4714: // Incoming call from 0x03B7, returns to 0x028A // Inputs[2] // { // @4719 stack[-1] // @471A stack[-2] // } 4714 5B JUMPDEST 4715 60 PUSH1 0x00 4717 60 PUSH1 0x20 4719 82 DUP3 471A 84 DUP5 471B 03 SUB 471C 12 SLT 471D 15 ISZERO 471E 61 PUSH2 0x4725 4721 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4715 stack[0] = 0x00 } // Block ends with conditional jump to 0x4725, if !(stack[-2] - stack[-1] i< 0x20) label_4722: // Incoming jump from 0x4721, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4722 stack[-1] // @4724 memory[stack[-1]:stack[-1] + stack[-1]] // } 4722 80 DUP1 4723 81 DUP2 4724 FD *REVERT // Stack delta = +0 // Outputs[1] { @4724 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4725: // Incoming jump from 0x4721, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4726 stack[-2] // @4727 msg.data[stack[-2]:stack[-2] + 0x20] // } 4725 5B JUMPDEST 4726 81 DUP2 4727 35 CALLDATALOAD 4728 67 PUSH8 0xffffffffffffffff 4731 81 DUP2 4732 11 GT 4733 15 ISZERO 4734 61 PUSH2 0x473b 4737 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4727 stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x473b, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_4738: // Incoming jump from 0x4737, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @4738 stack[-2] // @473A memory[stack[-2]:stack[-2] + stack[-2]] // } 4738 81 DUP2 4739 82 DUP3 473A FD *REVERT // Stack delta = +0 // Outputs[1] { @473A revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_473B: // Incoming jump from 0x4737, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @473F stack[-4] // @4740 stack[-1] // @4741 stack[-3] // } 473B 5B JUMPDEST 473C 61 PUSH2 0x2c78 473F 84 DUP5 4740 82 DUP3 4741 85 DUP6 4742 01 ADD 4743 61 PUSH2 0x3a5e 4746 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @473C stack[0] = 0x2c78 // @473F stack[1] = stack[-4] // @4742 stack[2] = stack[-3] + stack[-1] // } // Block ends with call to 0x3a5e, returns to 0x2C78 label_4747: // Incoming jump from 0x03D2 // Inputs[2] // { // @474C stack[-1] // @474D stack[-2] // } 4747 5B JUMPDEST 4748 60 PUSH1 0x00 474A 60 PUSH1 0x20 474C 82 DUP3 474D 84 DUP5 474E 03 SUB 474F 12 SLT 4750 15 ISZERO 4751 61 PUSH2 0x4758 4754 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4748 stack[0] = 0x00 } // Block ends with conditional jump to 0x4758, if !(stack[-2] - stack[-1] i< 0x20) label_4755: // Incoming jump from 0x4754, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4755 stack[-1] // @4757 memory[stack[-1]:stack[-1] + stack[-1]] // } 4755 80 DUP1 4756 81 DUP2 4757 FD *REVERT // Stack delta = +0 // Outputs[1] { @4757 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_4758: // Incoming jump from 0x4754, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @4759 stack[-2] // @475A msg.data[stack[-2]:stack[-2] + 0x20] // } 4758 5B JUMPDEST 4759 81 DUP2 475A 35 CALLDATALOAD 475B 67 PUSH8 0xffffffffffffffff 4764 81 DUP2 4765 11 GT 4766 15 ISZERO 4767 61 PUSH2 0x476e 476A 57 *JUMPI // Stack delta = +1 // Outputs[1] { @475A stack[0] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with conditional jump to 0x476e, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) label_476B: // Incoming jump from 0x476A, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[2] // { // @476B stack[-2] // @476D memory[stack[-2]:stack[-2] + stack[-2]] // } 476B 81 DUP2 476C 82 DUP3 476D FD *REVERT // Stack delta = +0 // Outputs[1] { @476D revert(memory[stack[-2]:stack[-2] + stack[-2]]); } // Block terminates label_476E: // Incoming jump from 0x476A, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0xffffffffffffffff) // Inputs[3] // { // @4772 stack[-4] // @4773 stack[-1] // @4774 stack[-3] // } 476E 5B JUMPDEST 476F 61 PUSH2 0x2c78 4772 84 DUP5 4773 82 DUP3 4774 85 DUP6 4775 01 ADD 4776 61 PUSH2 0x3ab1 4779 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @476F stack[0] = 0x2c78 // @4772 stack[1] = stack[-4] // @4775 stack[2] = stack[-3] + stack[-1] // } // Block ends with unconditional jump to 0x3ab1 label_477A: // Incoming jump from 0x0405 // Inputs[2] // { // @477F stack[-1] // @4780 stack[-2] // } 477A 5B JUMPDEST 477B 60 PUSH1 0x00 477D 60 PUSH1 0x40 477F 82 DUP3 4780 84 DUP5 4781 03 SUB 4782 12 SLT 4783 15 ISZERO 4784 61 PUSH2 0x478b 4787 57 *JUMPI // Stack delta = +1 // Outputs[1] { @477B stack[0] = 0x00 } // Block ends with conditional jump to 0x478b, if !(stack[-2] - stack[-1] i< 0x40) label_4788: // Incoming jump from 0x4787, if not !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @4788 stack[-1] // @478A memory[stack[-1]:stack[-1] + stack[-1]] // } 4788 80 DUP1 4789 81 DUP2 478A FD *REVERT // Stack delta = +0 // Outputs[1] { @478A revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_478B: // Incoming jump from 0x4787, if !(stack[-2] - stack[-1] i< 0x40) // Inputs[2] // { // @478F stack[-3] // @4790 stack[-2] // } 478B 5B JUMPDEST 478C 61 PUSH2 0x2d67 478F 83 DUP4 4790 83 DUP4 4791 61 PUSH2 0x3b1e 4794 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @478C stack[0] = 0x2d67 // @478F stack[1] = stack[-3] // @4790 stack[2] = stack[-2] // } // Block ends with call to 0x3b1e, returns to 0x2D67 4795 5B JUMPDEST 4796 60 PUSH1 0x00 4798 80 DUP1 4799 60 PUSH1 0x00 479B 60 PUSH1 0x60 479D 84 DUP5 479E 86 DUP7 479F 03 SUB 47A0 12 SLT 47A1 15 ISZERO 47A2 61 PUSH2 0x47a9 47A5 57 *JUMPI 47A6 80 DUP1 47A7 81 DUP2 47A8 FD *REVERT 47A9 5B JUMPDEST 47AA 61 PUSH2 0x47b2 47AD 84 DUP5 47AE 61 PUSH2 0x3b4d 47B1 56 *JUMP 47B2 5B JUMPDEST 47B3 92 SWAP3 47B4 50 POP 47B5 61 PUSH2 0x47c0 47B8 60 PUSH1 0x20 47BA 85 DUP6 47BB 01 ADD 47BC 61 PUSH2 0x3b4d 47BF 56 *JUMP 47C0 5B JUMPDEST 47C1 91 SWAP2 47C2 50 POP 47C3 60 PUSH1 0x40 47C5 84 DUP5 47C6 01 ADD 47C7 51 MLOAD 47C8 63 PUSH4 0xffffffff 47CD 81 DUP2 47CE 16 AND 47CF 81 DUP2 47D0 14 EQ 47D1 61 PUSH2 0x47d8 47D4 57 *JUMPI 47D5 81 DUP2 47D6 82 DUP3 47D7 FD *REVERT 47D8 5B JUMPDEST 47D9 80 DUP1 47DA 91 SWAP2 47DB 50 POP 47DC 50 POP 47DD 92 SWAP3 47DE 50 POP 47DF 92 SWAP3 47E0 50 POP 47E1 92 SWAP3 47E2 56 *JUMP label_47E3: // Incoming call from 0x1665, returns to 0x1666 // Incoming call from 0x291B, returns to 0x291C // Inputs[2] // { // @47E8 stack[-1] // @47E9 stack[-2] // } 47E3 5B JUMPDEST 47E4 60 PUSH1 0x00 47E6 60 PUSH1 0x20 47E8 82 DUP3 47E9 84 DUP5 47EA 03 SUB 47EB 12 SLT 47EC 15 ISZERO 47ED 61 PUSH2 0x47f4 47F0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @47E4 stack[0] = 0x00 } // Block ends with conditional jump to 0x47f4, if !(stack[-2] - stack[-1] i< 0x20) label_47F1: // Incoming jump from 0x47F0, if not !(stack[-2] - stack[-1] i< 0x20) // Inputs[2] // { // @47F1 stack[-1] // @47F3 memory[stack[-1]:stack[-1] + stack[-1]] // } 47F1 80 DUP1 47F2 81 DUP2 47F3 FD *REVERT // Stack delta = +0 // Outputs[1] { @47F3 revert(memory[stack[-1]:stack[-1] + stack[-1]]); } // Block terminates label_47F4: // Incoming jump from 0x47F0, if !(stack[-2] - stack[-1] i< 0x20) // Inputs[4] // { // @47F6 stack[-2] // @47F6 memory[stack[-2]:stack[-2] + 0x20] // @47F7 stack[-4] // @47F8 stack[-3] // } 47F4 5B JUMPDEST 47F5 50 POP 47F6 51 MLOAD 47F7 91 SWAP2 47F8 90 SWAP1 47F9 50 POP 47FA 56 *JUMP // Stack delta = -3 // Outputs[1] { @47F7 stack[-4] = memory[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to stack[-4] 47FB 5B JUMPDEST 47FC 60 PUSH1 0x00 47FE 81 DUP2 47FF 51 MLOAD 4800 80 DUP1 4801 84 DUP5 4802 52 MSTORE 4803 60 PUSH1 0x20 4805 80 DUP1 4806 85 DUP6 4807 01 ADD 4808 80 DUP1 4809 81 DUP2 480A 96 SWAP7 480B 50 POP 480C 82 DUP3 480D 84 DUP5 480E 02 MUL 480F 81 DUP2 4810 01 ADD 4811 91 SWAP2 4812 50 POP 4813 82 DUP3 4814 86 DUP7 4815 01 ADD 4816 85 DUP6 4817 5B JUMPDEST 4818 85 DUP6 4819 81 DUP2 481A 10 LT 481B 15 ISZERO 481C 61 PUSH2 0x4841 481F 57 *JUMPI 4820 82 DUP3 4821 84 DUP5 4822 03 SUB 4823 89 DUP10 4824 52 MSTORE 4825 61 PUSH2 0x482f 4828 84 DUP5 4829 83 DUP4 482A 51 MLOAD 482B 61 PUSH2 0x4aa3 482E 56 *JUMP 482F 5B JUMPDEST 4830 98 SWAP9 4831 85 DUP6 4832 01 ADD 4833 98 SWAP9 4834 93 SWAP4 4835 50 POP 4836 90 SWAP1 4837 84 DUP5 4838 01 ADD 4839 90 SWAP1 483A 60 PUSH1 0x01 483C 01 ADD 483D 61 PUSH2 0x4817 4840 56 *JUMP 4841 5B JUMPDEST 4842 50 POP 4843 91 SWAP2 4844 97 SWAP8 4845 96 SWAP7 4846 50 POP 4847 50 POP 4848 50 POP 4849 50 POP 484A 50 POP 484B 50 POP 484C 50 POP 484D 56 *JUMP label_484E: // Incoming call from 0x4D25, returns to 0x2D67 // Inputs[3] // { // @4851 stack[-1] // @4852 memory[stack[-1]:stack[-1] + 0x20] // @4854 stack[-2] // } 484E 5B JUMPDEST 484F 60 PUSH1 0x00 4851 81 DUP2 4852 51 MLOAD 4853 80 DUP1 4854 84 DUP5 4855 52 MSTORE 4856 61 PUSH2 0x4866 4859 81 DUP2 485A 60 PUSH1 0x20 485C 86 DUP7 485D 01 ADD 485E 60 PUSH1 0x20 4860 86 DUP7 4861 01 ADD 4862 61 PUSH2 0x556c 4865 56 *JUMP // Stack delta = +6 // Outputs[7] // { // @484F stack[0] = 0x00 // @4852 stack[1] = memory[stack[-1]:stack[-1] + 0x20] // @4855 memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @4856 stack[2] = 0x4866 // @4859 stack[3] = memory[stack[-1]:stack[-1] + 0x20] // @485D stack[4] = stack[-2] + 0x20 // @4861 stack[5] = stack[-1] + 0x20 // } // Block ends with call to 0x556c, returns to 0x4866 label_4866: // Incoming return from call to 0x556C at 0x4865 // Inputs[4] // { // @4869 stack[-1] // @486E stack[-4] // @486F stack[-2] // @4875 stack[-5] // } 4866 5B JUMPDEST 4867 60 PUSH1 0x1f 4869 01 ADD 486A 60 PUSH1 0x1f 486C 19 NOT 486D 16 AND 486E 92 SWAP3 486F 90 SWAP1 4870 92 SWAP3 4871 01 ADD 4872 60 PUSH1 0x20 4874 01 ADD 4875 92 SWAP3 4876 91 SWAP2 4877 50 POP 4878 50 POP 4879 56 *JUMP // Stack delta = -4 // Outputs[1] { @4875 stack[-5] = 0x20 + (~0x1f & 0x1f + stack[-1]) + stack[-4] } // Block ends with unconditional jump to stack[-5] 487A 5B JUMPDEST 487B 80 DUP1 487C 51 MLOAD 487D 15 ISZERO 487E 15 ISZERO 487F 82 DUP3 4880 52 MSTORE 4881 60 PUSH1 0x20 4883 81 DUP2 4884 01 ADD 4885 51 MLOAD 4886 61 PUSH2 0x488e 4889 81 DUP2 488A 61 PUSH2 0x5649 488D 56 *JUMP 488E 5B JUMPDEST 488F 60 PUSH1 0x20 4891 83 DUP4 4892 01 ADD 4893 52 MSTORE 4894 60 PUSH1 0x40 4896 81 DUP2 4897 01 ADD 4898 51 MLOAD 4899 61 PUSH2 0x48a1 489C 81 DUP2 489D 61 PUSH2 0x5649 48A0 56 *JUMP 48A1 5B JUMPDEST 48A2 60 PUSH1 0x40 48A4 83 DUP4 48A5 01 ADD 48A6 52 MSTORE 48A7 60 PUSH1 0x60 48A9 90 SWAP1 48AA 81 DUP2 48AB 01 ADD 48AC 51 MLOAD 48AD 91 SWAP2 48AE 01 ADD 48AF 52 MSTORE 48B0 56 *JUMP 48B1 5B JUMPDEST 48B2 60 PUSH1 0x00 48B4 81 DUP2 48B5 51 MLOAD 48B6 15 ISZERO 48B7 15 ISZERO 48B8 83 DUP4 48B9 52 MSTORE 48BA 60 PUSH1 0x20 48BC 80 DUP1 48BD 83 DUP4 48BE 01 ADD 48BF 51 MLOAD 48C0 81 DUP2 48C1 85 DUP6 48C2 01 ADD 48C3 52 MSTORE 48C4 60 PUSH1 0x40 48C6 83 DUP4 48C7 01 ADD 48C8 51 MLOAD 48C9 60 PUSH1 0x40 48CB 85 DUP6 48CC 01 ADD 48CD 52 MSTORE 48CE 60 PUSH1 0x60 48D0 83 DUP4 48D1 01 ADD 48D2 51 MLOAD 48D3 60 PUSH1 0xa0 48D5 60 PUSH1 0x60 48D7 86 DUP7 48D8 01 ADD 48D9 52 MSTORE 48DA 61 PUSH2 0x48e6 48DD 60 PUSH1 0xa0 48DF 86 DUP7 48E0 01 ADD 48E1 82 DUP3 48E2 61 PUSH2 0x484e 48E5 56 *JUMP 48E6 5B JUMPDEST 48E7 60 PUSH1 0x80 48E9 85 DUP6 48EA 81 DUP2 48EB 01 ADD 48EC 51 MLOAD 48ED 87 DUP8 48EE 83 DUP4 48EF 03 SUB 48F0 91 SWAP2 48F1 88 DUP9 48F2 01 ADD 48F3 91 SWAP2 48F4 90 SWAP1 48F5 91 SWAP2 48F6 52 MSTORE 48F7 80 DUP1 48F8 51 MLOAD 48F9 80 DUP1 48FA 83 DUP4 48FB 52 MSTORE 48FC 90 SWAP1 48FD 84 DUP5 48FE 01 ADD 48FF 92 SWAP3 4900 50 POP 4901 84 DUP5 4902 91 SWAP2 4903 84 DUP5 4904 01 ADD 4905 90 SWAP1 4906 5B JUMPDEST 4907 80 DUP1 4908 83 DUP4 4909 10 LT 490A 15 ISZERO 490B 61 PUSH2 0x4926 490E 57 *JUMPI 490F 83 DUP4 4910 51 MLOAD 4911 82 DUP3 4912 52 MSTORE 4913 92 SWAP3 4914 84 DUP5 4915 01 ADD 4916 92 SWAP3 4917 60 PUSH1 0x01 4919 92 SWAP3 491A 90 SWAP1 491B 92 SWAP3 491C 01 ADD 491D 91 SWAP2 491E 90 SWAP1 491F 84 DUP5 4920 01 ADD 4921 90 SWAP1 4922 61 PUSH2 0x4906 4925 56 *JUMP 4926 5B JUMPDEST 4927 50 POP 4928 96 SWAP7 4929 95 SWAP6 492A 50 POP 492B 50 POP 492C 50 POP 492D 50 POP 492E 50 POP 492F 50 POP 4930 56 *JUMP 4931 5B JUMPDEST 4932 60 PUSH1 0x00 4934 81 DUP2 4935 51 MLOAD 4936 60 PUSH1 0x40 4938 84 DUP5 4939 52 MSTORE 493A 61 PUSH2 0x4946 493D 60 PUSH1 0x40 493F 85 DUP6 4940 01 ADD 4941 82 DUP3 4942 61 PUSH2 0x49f2 4945 56 *JUMP 4946 5B JUMPDEST 4947 60 PUSH1 0x20 4949 93 SWAP4 494A 84 DUP5 494B 01 ADD 494C 51 MLOAD 494D 94 SWAP5 494E 90 SWAP1 494F 93 SWAP4 4950 01 ADD 4951 93 SWAP4 4952 90 SWAP1 4953 93 SWAP4 4954 52 MSTORE 4955 50 POP 4956 91 SWAP2 4957 90 SWAP1 4958 50 POP 4959 56 *JUMP 495A 5B JUMPDEST 495B 80 DUP1 495C 51 MLOAD 495D 60 PUSH1 0x40 495F 80 DUP1 4960 84 DUP5 4961 52 MSTORE 4962 81 DUP2 4963 51 MLOAD 4964 90 SWAP1 4965 84 DUP5 4966 01 ADD 4967 81 DUP2 4968 90 SWAP1 4969 52 MSTORE 496A 60 PUSH1 0x00 496C 91 SWAP2 496D 60 PUSH1 0x20 496F 91 SWAP2 4970 90 SWAP1 4971 82 DUP3 4972 01 ADD 4973 90 SWAP1 4974 60 PUSH1 0x60 4976 80 DUP1 4977 87 DUP8 4978 01 ADD 4979 91 SWAP2 497A 90 SWAP1 497B 84 DUP5 497C 82 DUP3 497D 02 MUL 497E 88 DUP9 497F 01 ADD 4980 01 ADD 4981 85 DUP6 4982 5B JUMPDEST 4983 82 DUP3 4984 81 DUP2 4985 10 LT 4986 15 ISZERO 4987 61 PUSH2 0x49ce 498A 57 *JUMPI 498B 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0 49AC 89 DUP10 49AD 83 DUP4 49AE 03 SUB 49AF 01 ADD 49B0 84 DUP5 49B1 52 MSTORE 49B2 61 PUSH2 0x49bc 49B5 82 DUP3 49B6 86 DUP7 49B7 51 MLOAD 49B8 61 PUSH2 0x4931 49BB 56 *JUMP 49BC 5B JUMPDEST 49BD 94 SWAP5 49BE 86 DUP7 49BF 01 ADD 49C0 94 SWAP5 49C1 93 SWAP4 49C2 86 DUP7 49C3 01 ADD 49C4 93 SWAP4 49C5 91 SWAP2 49C6 50 POP 49C7 60 PUSH1 0x01 49C9 01 ADD 49CA 61 PUSH2 0x4982 49CD 56 *JUMP 49CE 5B JUMPDEST 49CF 50 POP 49D0 84 DUP5 49D1 87 DUP8 49D2 01 ADD 49D3 51 MLOAD 49D4 93 SWAP4 49D5 50 POP 49D6 87 DUP8 49D7 81 DUP2 49D8 03 SUB 49D9 85 DUP6 49DA 89 DUP10 49DB 01 ADD 49DC 52 MSTORE 49DD 61 PUSH2 0x49e6 49E0 81 DUP2 49E1 85 DUP6 49E2 61 PUSH2 0x49f2 49E5 56 *JUMP 49E6 5B JUMPDEST 49E7 98 SWAP9 49E8 97 SWAP8 49E9 50 POP 49EA 50 POP 49EB 50 POP 49EC 50 POP 49ED 50 POP 49EE 50 POP 49EF 50 POP 49F0 50 POP 49F1 56 *JUMP 49F2 5B JUMPDEST 49F3 60 PUSH1 0x00 49F5 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4A0A 82 DUP3 4A0B 51 MLOAD 4A0C 16 AND 4A0D 83 DUP4 4A0E 52 MSTORE 4A0F 60 PUSH1 0x20 4A11 80 DUP1 4A12 83 DUP4 4A13 01 ADD 4A14 51 MLOAD 4A15 60 PUSH1 0x60 4A17 82 DUP3 4A18 86 DUP7 4A19 01 ADD 4A1A 52 MSTORE 4A1B 61 PUSH2 0x4a27 4A1E 60 PUSH1 0x60 4A20 86 DUP7 4A21 01 ADD 4A22 82 DUP3 4A23 61 PUSH2 0x484e 4A26 56 *JUMP 4A27 5B JUMPDEST 4A28 60 PUSH1 0x40 4A2A 85 DUP6 4A2B 81 DUP2 4A2C 01 ADD 4A2D 51 MLOAD 4A2E 87 DUP8 4A2F 83 DUP4 4A30 03 SUB 4A31 88 DUP9 4A32 83 DUP4 4A33 01 ADD 4A34 52 MSTORE 4A35 80 DUP1 4A36 51 MLOAD 4A37 80 DUP1 4A38 84 DUP5 4A39 52 MSTORE 4A3A 90 SWAP1 4A3B 85 DUP6 4A3C 01 ADD 4A3D 93 SWAP4 4A3E 50 POP 4A3F 90 SWAP1 4A40 91 SWAP2 4A41 85 DUP6 4A42 91 SWAP2 4A43 90 SWAP1 4A44 85 DUP6 4A45 01 ADD 4A46 90 SWAP1 4A47 5B JUMPDEST 4A48 80 DUP1 4A49 83 DUP4 4A4A 10 LT 4A4B 15 ISZERO 4A4C 61 PUSH2 0x4a78 4A4F 57 *JUMPI 4A50 61 PUSH2 0x4a64 4A53 82 DUP3 4A54 86 DUP7 4A55 51 MLOAD 4A56 80 DUP1 4A57 51 MLOAD 4A58 82 DUP3 4A59 52 MSTORE 4A5A 60 PUSH1 0x20 4A5C 90 SWAP1 4A5D 81 DUP2 4A5E 01 ADD 4A5F 51 MLOAD 4A60 91 SWAP2 4A61 01 ADD 4A62 52 MSTORE 4A63 56 *JUMP 4A64 5B JUMPDEST 4A65 93 SWAP4 4A66 85 DUP6 4A67 01 ADD 4A68 93 SWAP4 4A69 60 PUSH1 0x01 4A6B 92 SWAP3 4A6C 90 SWAP1 4A6D 92 SWAP3 4A6E 01 ADD 4A6F 91 SWAP2 4A70 90 SWAP1 4A71 83 DUP4 4A72 01 ADD 4A73 90 SWAP1 4A74 61 PUSH2 0x4a47 4A77 56 *JUMP 4A78 5B JUMPDEST 4A79 50 POP 4A7A 97 SWAP8 4A7B 96 SWAP7 4A7C 50 POP 4A7D 50 POP 4A7E 50 POP 4A7F 50 POP 4A80 50 POP 4A81 50 POP 4A82 50 POP 4A83 56 *JUMP 4A84 5B JUMPDEST 4A85 60 PUSH1 0x00 4A87 81 DUP2 4A88 51 MLOAD 4A89 83 DUP4 4A8A 52 MSTORE 4A8B 60 PUSH1 0x20 4A8D 82 DUP3 4A8E 01 ADD 4A8F 51 MLOAD 4A90 60 PUSH1 0x40 4A92 60 PUSH1 0x20 4A94 85 DUP6 4A95 01 ADD 4A96 52 MSTORE 4A97 61 PUSH2 0x2c78 4A9A 60 PUSH1 0x40 4A9C 85 DUP6 4A9D 01 ADD 4A9E 82 DUP3 4A9F 61 PUSH2 0x484e 4AA2 56 *JUMP 4AA3 5B JUMPDEST 4AA4 60 PUSH1 0x00 4AA6 61 PUSH2 0x4ad0 4AA9 83 DUP4 4AAA 83 DUP4 4AAB 51 MLOAD 4AAC 80 DUP1 4AAD 51 MLOAD 4AAE 82 DUP3 4AAF 52 MSTORE 4AB0 60 PUSH1 0x20 4AB2 90 SWAP1 4AB3 81 DUP2 4AB4 01 ADD 4AB5 51 MLOAD 4AB6 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4ACB 16 AND 4ACC 91 SWAP2 4ACD 01 ADD 4ACE 52 MSTORE 4ACF 56 *JUMP 4AD0 5B JUMPDEST 4AD1 60 PUSH1 0x20 4AD3 82 DUP3 4AD4 01 ADD 4AD5 51 MLOAD 4AD6 61 PUSH2 0x4b05 4AD9 60 PUSH1 0x40 4ADB 85 DUP6 4ADC 01 ADD 4ADD 82 DUP3 4ADE 80 DUP1 4ADF 51 MLOAD 4AE0 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4AF5 90 SWAP1 4AF6 81 DUP2 4AF7 16 AND 4AF8 83 DUP4 4AF9 52 MSTORE 4AFA 60 PUSH1 0x20 4AFC 91 SWAP2 4AFD 82 DUP3 4AFE 01 ADD 4AFF 51 MLOAD 4B00 16 AND 4B01 91 SWAP2 4B02 01 ADD 4B03 52 MSTORE 4B04 56 *JUMP 4B05 5B JUMPDEST 4B06 50 POP 4B07 60 PUSH1 0x40 4B09 82 DUP3 4B0A 01 ADD 4B0B 51 MLOAD 4B0C 60 PUSH1 0xa0 4B0E 60 PUSH1 0x80 4B10 85 DUP6 4B11 01 ADD 4B12 52 MSTORE 4B13 61 PUSH2 0x2c78 4B16 60 PUSH1 0xa0 4B18 85 DUP6 4B19 01 ADD 4B1A 82 DUP3 4B1B 61 PUSH2 0x49f2 4B1E 56 *JUMP label_4B1F: // Incoming call from 0x2DB0, returns to 0x2DB1 // Incoming call from 0x1581, returns to 0x1582 // Inputs[3] // { // @4B22 stack[-2] // @4B23 memory[stack[-2]:stack[-2] + 0x20] // @4B28 stack[-1] // } 4B1F 5B JUMPDEST 4B20 60 PUSH1 0x00 4B22 82 DUP3 4B23 51 MLOAD 4B24 61 PUSH2 0x4b31 4B27 81 DUP2 4B28 84 DUP5 4B29 60 PUSH1 0x20 4B2B 87 DUP8 4B2C 01 ADD 4B2D 61 PUSH2 0x556c 4B30 56 *JUMP // Stack delta = +6 // Outputs[6] // { // @4B20 stack[0] = 0x00 // @4B23 stack[1] = memory[stack[-2]:stack[-2] + 0x20] // @4B24 stack[2] = 0x4b31 // @4B27 stack[3] = memory[stack[-2]:stack[-2] + 0x20] // @4B28 stack[4] = stack[-1] // @4B2C stack[5] = stack[-2] + 0x20 // } // Block ends with call to 0x556c, returns to 0x4B31 label_4B31: // Incoming return from call to 0x556C at 0x4B30 // Inputs[5] // { // @4B32 stack[-1] // @4B32 stack[-3] // @4B33 stack[-2] // @4B36 stack[-5] // @4B37 stack[-4] // } 4B31 5B JUMPDEST 4B32 91 SWAP2 4B33 90 SWAP1 4B34 91 SWAP2 4B35 01 ADD 4B36 92 SWAP3 4B37 91 SWAP2 4B38 50 POP 4B39 50 POP 4B3A 56 *JUMP // Stack delta = -4 // Outputs[1] { @4B36 stack[-5] = stack[-1] + stack[-3] } // Block ends with unconditional jump to stack[-5] 4B3B 5B JUMPDEST 4B3C 60 PUSH1 0x00 4B3E 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4B53 80 DUP1 4B54 87 DUP8 4B55 16 AND 4B56 83 DUP4 4B57 52 MSTORE 4B58 80 DUP1 4B59 86 DUP7 4B5A 16 AND 4B5B 60 PUSH1 0x20 4B5D 84 DUP5 4B5E 01 ADD 4B5F 52 MSTORE 4B60 50 POP 4B61 83 DUP4 4B62 60 PUSH1 0x40 4B64 83 DUP4 4B65 01 ADD 4B66 52 MSTORE 4B67 60 PUSH1 0x80 4B69 60 PUSH1 0x60 4B6B 83 DUP4 4B6C 01 ADD 4B6D 52 MSTORE 4B6E 61 PUSH2 0x4b7a 4B71 60 PUSH1 0x80 4B73 83 DUP4 4B74 01 ADD 4B75 84 DUP5 4B76 61 PUSH2 0x484e 4B79 56 *JUMP 4B7A 5B JUMPDEST 4B7B 96 SWAP7 4B7C 95 SWAP6 4B7D 50 POP 4B7E 50 POP 4B7F 50 POP 4B80 50 POP 4B81 50 POP 4B82 50 POP 4B83 56 *JUMP 4B84 5B JUMPDEST 4B85 60 PUSH1 0x00 4B87 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4B9C 80 DUP1 4B9D 88 DUP9 4B9E 16 AND 4B9F 83 DUP4 4BA0 52 MSTORE 4BA1 86 DUP7 4BA2 15 ISZERO 4BA3 15 ISZERO 4BA4 60 PUSH1 0x20 4BA6 84 DUP5 4BA7 01 ADD 4BA8 52 MSTORE 4BA9 85 DUP6 4BAA 60 PUSH1 0x40 4BAC 84 DUP5 4BAD 01 ADD 4BAE 52 MSTORE 4BAF 80 DUP1 4BB0 85 DUP6 4BB1 16 AND 4BB2 60 PUSH1 0x60 4BB4 84 DUP5 4BB5 01 ADD 4BB6 52 MSTORE 4BB7 50 POP 4BB8 60 PUSH1 0xa0 4BBA 60 PUSH1 0x80 4BBC 83 DUP4 4BBD 01 ADD 4BBE 52 MSTORE 4BBF 61 PUSH2 0x2e03 4BC2 60 PUSH1 0xa0 4BC4 83 DUP4 4BC5 01 ADD 4BC6 84 DUP5 4BC7 61 PUSH2 0x484e 4BCA 56 *JUMP 4BCB 5B JUMPDEST 4BCC 60 PUSH1 0x40 4BCE 80 DUP1 4BCF 82 DUP3 4BD0 52 MSTORE 4BD1 83 DUP4 4BD2 51 MLOAD 4BD3 82 DUP3 4BD4 82 DUP3 4BD5 01 ADD 4BD6 81 DUP2 4BD7 90 SWAP1 4BD8 52 MSTORE 4BD9 60 PUSH1 0x00 4BDB 91 SWAP2 4BDC 90 SWAP1 4BDD 60 PUSH1 0x60 4BDF 90 SWAP1 4BE0 81 DUP2 4BE1 85 DUP6 4BE2 01 ADD 4BE3 90 SWAP1 4BE4 60 PUSH1 0x20 4BE6 80 DUP1 4BE7 89 DUP10 4BE8 01 ADD 4BE9 86 DUP7 4BEA 5B JUMPDEST 4BEB 83 DUP4 4BEC 81 DUP2 4BED 10 LT 4BEE 15 ISZERO 4BEF 61 PUSH2 0x4c25 4BF2 57 *JUMPI 4BF3 81 DUP2 4BF4 51 MLOAD 4BF5 80 DUP1 4BF6 51 MLOAD 4BF7 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4C0C 16 AND 4C0D 86 DUP7 4C0E 52 MSTORE 4C0F 83 DUP4 4C10 01 ADD 4C11 51 MLOAD 4C12 83 DUP4 4C13 86 DUP7 4C14 01 ADD 4C15 52 MSTORE 4C16 93 SWAP4 4C17 86 DUP7 4C18 01 ADD 4C19 93 SWAP4 4C1A 90 SWAP1 4C1B 82 DUP3 4C1C 01 ADD 4C1D 90 SWAP1 4C1E 60 PUSH1 0x01 4C20 01 ADD 4C21 61 PUSH2 0x4bea 4C24 56 *JUMP 4C25 5B JUMPDEST 4C26 50 POP 4C27 50 POP 4C28 86 DUP7 4C29 83 DUP4 4C2A 03 SUB 4C2B 81 DUP2 4C2C 88 DUP9 4C2D 01 ADD 4C2E 52 MSTORE 4C2F 87 DUP8 4C30 51 MLOAD 4C31 80 DUP1 4C32 84 DUP5 4C33 52 MSTORE 4C34 81 DUP2 4C35 84 DUP5 4C36 01 ADD 4C37 92 SWAP3 4C38 50 POP 4C39 80 DUP1 4C3A 82 DUP3 4C3B 02 MUL 4C3C 84 DUP5 4C3D 01 ADD 4C3E 82 DUP3 4C3F 01 ADD 4C40 89 DUP10 4C41 83 DUP4 4C42 01 ADD 4C43 88 DUP9 4C44 5B JUMPDEST 4C45 83 DUP4 4C46 81 DUP2 4C47 10 LT 4C48 15 ISZERO 4C49 61 PUSH2 0x4d02 4C4C 57 *JUMPI 4C4D 60 PUSH1 0x1f 4C4F 19 NOT 4C50 87 DUP8 4C51 84 DUP5 4C52 03 SUB 4C53 01 ADD 4C54 86 DUP7 4C55 52 MSTORE 4C56 81 DUP2 4C57 51 MLOAD 4C58 61 PUSH2 0x0160 4C5B 81 DUP2 4C5C 51 MLOAD 4C5D 60 PUSH1 0x09 4C5F 81 DUP2 4C60 10 LT 4C61 61 PUSH2 0x4c6c 4C64 57 *JUMPI 4C65 61 PUSH2 0x4c6c 4C68 61 PUSH2 0x561d 4C6B 56 *JUMP 4C6C 5B JUMPDEST 4C6D 85 DUP6 4C6E 52 MSTORE 4C6F 81 DUP2 4C70 87 DUP8 4C71 01 ADD 4C72 51 MLOAD 4C73 87 DUP8 4C74 86 DUP7 4C75 01 ADD 4C76 52 MSTORE 4C77 8A DUP11 4C78 82 DUP3 4C79 01 ADD 4C7A 51 MLOAD 4C7B 61 PUSH2 0x4c86 4C7E 8C DUP13 4C7F 87 DUP8 4C80 01 ADD 4C81 82 DUP3 4C82 61 PUSH2 0x487a 4C85 56 *JUMP 4C86 5B JUMPDEST 4C87 50 POP 4C88 89 DUP10 4C89 82 DUP3 4C8A 01 ADD 4C8B 51 MLOAD 4C8C 60 PUSH1 0xc0 4C8E 81 DUP2 4C8F 81 DUP2 4C90 88 DUP9 4C91 01 ADD 4C92 52 MSTORE 4C93 60 PUSH1 0x80 4C95 84 DUP5 4C96 01 ADD 4C97 51 MLOAD 4C98 91 SWAP2 4C99 50 POP 4C9A 60 PUSH1 0xe0 4C9C 82 DUP3 4C9D 81 DUP2 4C9E 89 DUP10 4C9F 01 ADD 4CA0 52 MSTORE 4CA1 60 PUSH1 0xa0 4CA3 85 DUP6 4CA4 01 ADD 4CA5 51 MLOAD 4CA6 92 SWAP3 4CA7 50 POP 4CA8 61 PUSH2 0x4cca 4CAB 61 PUSH2 0x0100 4CAE 89 DUP10 4CAF 01 ADD 4CB0 84 DUP5 4CB1 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4CC6 16 AND 4CC7 90 SWAP1 4CC8 52 MSTORE 4CC9 56 *JUMP 4CCA 5B JUMPDEST 4CCB 90 SWAP1 4CCC 84 DUP5 4CCD 01 ADD 4CCE 51 MLOAD 4CCF 61 PUSH2 0x0120 4CD2 88 DUP9 4CD3 01 ADD 4CD4 52 MSTORE 4CD5 90 SWAP1 4CD6 92 SWAP3 4CD7 01 ADD 4CD8 51 MLOAD 4CD9 61 PUSH2 0x0140 4CDC 86 DUP7 4CDD 01 ADD 4CDE 82 DUP3 4CDF 90 SWAP1 4CE0 52 MSTORE 4CE1 91 SWAP2 4CE2 50 POP 4CE3 61 PUSH2 0x4cee 4CE6 81 DUP2 4CE7 86 DUP7 4CE8 01 ADD 4CE9 83 DUP4 4CEA 61 PUSH2 0x484e 4CED 56 *JUMP 4CEE 5B JUMPDEST 4CEF 97 SWAP8 4CF0 87 DUP8 4CF1 01 ADD 4CF2 97 SWAP8 4CF3 94 SWAP5 4CF4 50 POP 4CF5 50 POP 4CF6 50 POP 4CF7 90 SWAP1 4CF8 84 DUP5 4CF9 01 ADD 4CFA 90 SWAP1 4CFB 60 PUSH1 0x01 4CFD 01 ADD 4CFE 61 PUSH2 0x4c44 4D01 56 *JUMP 4D02 5B JUMPDEST 4D03 50 POP 4D04 90 SWAP1 4D05 9B SWAP12 4D06 9A SWAP11 4D07 50 POP 4D08 50 POP 4D09 50 POP 4D0A 50 POP 4D0B 50 POP 4D0C 50 POP 4D0D 50 POP 4D0E 50 POP 4D0F 50 POP 4D10 50 POP 4D11 50 POP 4D12 56 *JUMP label_4D13: // Incoming jump from 0x2E58 // Inputs[2] // { // @4D18 stack[-1] // @4D21 stack[-2] // } 4D13 5B JUMPDEST 4D14 60 PUSH1 0x00 4D16 60 PUSH1 0x20 4D18 82 DUP3 4D19 52 MSTORE 4D1A 61 PUSH2 0x2d67 4D1D 60 PUSH1 0x20 4D1F 83 DUP4 4D20 01 ADD 4D21 84 DUP5 4D22 61 PUSH2 0x484e 4D25 56 *JUMP // Stack delta = +4 // Outputs[5] // { // @4D14 stack[0] = 0x00 // @4D19 memory[stack[-1]:stack[-1] + 0x20] = 0x20 // @4D1A stack[1] = 0x2d67 // @4D20 stack[2] = stack[-1] + 0x20 // @4D21 stack[3] = stack[-2] // } // Block ends with call to 0x484e, returns to 0x2D67 4D26 5B JUMPDEST 4D27 60 PUSH1 0x00 4D29 85 DUP6 4D2A 82 DUP3 4D2B 52 MSTORE 4D2C 84 DUP5 4D2D 60 PUSH1 0x20 4D2F 83 DUP4 4D30 01 ADD 4D31 52 MSTORE 4D32 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4D47 84 DUP5 4D48 16 AND 4D49 60 PUSH1 0x40 4D4B 83 DUP4 4D4C 01 ADD 4D4D 52 MSTORE 4D4E 60 PUSH1 0x80 4D50 60 PUSH1 0x60 4D52 83 DUP4 4D53 01 ADD 4D54 52 MSTORE 4D55 61 PUSH2 0x4b7a 4D58 60 PUSH1 0x80 4D5A 83 DUP4 4D5B 01 ADD 4D5C 84 DUP5 4D5D 61 PUSH2 0x484e 4D60 56 *JUMP 4D61 5B JUMPDEST 4D62 60 PUSH1 0x40 4D64 81 DUP2 4D65 01 ADD 4D66 61 PUSH2 0x1dec 4D69 82 DUP3 4D6A 84 DUP5 4D6B 80 DUP1 4D6C 51 MLOAD 4D6D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4D82 90 SWAP1 4D83 81 DUP2 4D84 16 AND 4D85 83 DUP4 4D86 52 MSTORE 4D87 60 PUSH1 0x20 4D89 91 SWAP2 4D8A 82 DUP3 4D8B 01 ADD 4D8C 51 MLOAD 4D8D 16 AND 4D8E 91 SWAP2 4D8F 01 ADD 4D90 52 MSTORE 4D91 56 *JUMP 4D92 5B JUMPDEST 4D93 60 PUSH1 0x00 4D95 60 PUSH1 0x20 4D97 82 DUP3 4D98 52 MSTORE 4D99 82 DUP3 4D9A 51 MLOAD 4D9B 60 PUSH1 0x20 4D9D 83 DUP4 4D9E 01 ADD 4D9F 52 MSTORE 4DA0 60 PUSH1 0x20 4DA2 83 DUP4 4DA3 01 ADD 4DA4 51 MLOAD 4DA5 60 PUSH1 0x40 4DA7 80 DUP1 4DA8 84 DUP5 4DA9 01 ADD 4DAA 52 MSTORE 4DAB 61 PUSH2 0x2c78 4DAE 60 PUSH1 0x60 4DB0 84 DUP5 4DB1 01 ADD 4DB2 82 DUP3 4DB3 61 PUSH2 0x4a84 4DB6 56 *JUMP 4DB7 5B JUMPDEST 4DB8 60 PUSH1 0x00 4DBA 60 PUSH1 0x20 4DBC 82 DUP3 4DBD 52 MSTORE 4DBE 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4DD3 83 DUP4 4DD4 51 MLOAD 4DD5 16 AND 4DD6 60 PUSH1 0x20 4DD8 83 DUP4 4DD9 01 ADD 4DDA 52 MSTORE 4DDB 60 PUSH1 0x20 4DDD 83 DUP4 4DDE 01 ADD 4DDF 51 MLOAD 4DE0 60 PUSH1 0x40 4DE2 83 DUP4 4DE3 01 ADD 4DE4 52 MSTORE 4DE5 60 PUSH1 0x40 4DE7 83 DUP4 4DE8 01 ADD 4DE9 51 MLOAD 4DEA 60 PUSH1 0x60 4DEC 83 DUP4 4DED 01 ADD 4DEE 52 MSTORE 4DEF 60 PUSH1 0x60 4DF1 83 DUP4 4DF2 01 ADD 4DF3 51 MLOAD 4DF4 15 ISZERO 4DF5 15 ISZERO 4DF6 60 PUSH1 0x80 4DF8 83 DUP4 4DF9 01 ADD 4DFA 52 MSTORE 4DFB 60 PUSH1 0x80 4DFD 83 DUP4 4DFE 01 ADD 4DFF 51 MLOAD 4E00 60 PUSH1 0xa0 4E02 80 DUP1 4E03 84 DUP5 4E04 01 ADD 4E05 52 MSTORE 4E06 61 PUSH2 0x2c78 4E09 60 PUSH1 0xc0 4E0B 84 DUP5 4E0C 01 ADD 4E0D 82 DUP3 4E0E 61 PUSH2 0x484e 4E11 56 *JUMP 4E12 5B JUMPDEST 4E13 81 DUP2 4E14 51 MLOAD 4E15 81 DUP2 4E16 52 MSTORE 4E17 60 PUSH1 0x20 4E19 80 DUP1 4E1A 83 DUP4 4E1B 01 ADD 4E1C 51 MLOAD 4E1D 90 SWAP1 4E1E 82 DUP3 4E1F 01 ADD 4E20 52 MSTORE 4E21 60 PUSH1 0x40 4E23 81 DUP2 4E24 01 ADD 4E25 61 PUSH2 0x1dec 4E28 56 *JUMP 4E29 5B JUMPDEST 4E2A 60 PUSH1 0x00 4E2C 60 PUSH1 0x20 4E2E 80 DUP1 4E2F 83 DUP4 4E30 52 MSTORE 4E31 60 PUSH1 0x60 4E33 83 DUP4 4E34 01 ADD 4E35 84 DUP5 4E36 51 MLOAD 4E37 60 PUSH1 0x40 4E39 83 DUP4 4E3A 86 DUP7 4E3B 01 ADD 4E3C 52 MSTORE 4E3D 81 DUP2 4E3E 81 DUP2 4E3F 51 MLOAD 4E40 80 DUP1 4E41 84 DUP5 4E42 52 MSTORE 4E43 60 PUSH1 0x80 4E45 87 DUP8 4E46 01 ADD 4E47 91 SWAP2 4E48 50 POP 4E49 60 PUSH1 0x80 4E4B 85 DUP6 4E4C 82 DUP3 4E4D 02 MUL 4E4E 88 DUP9 4E4F 01 ADD 4E50 01 ADD 4E51 93 SWAP4 4E52 50 POP 4E53 84 DUP5 4E54 83 DUP4 4E55 01 ADD 4E56 92 SWAP3 4E57 50 POP 4E58 85 DUP6 4E59 5B JUMPDEST 4E5A 81 DUP2 4E5B 81 DUP2 4E5C 10 LT 4E5D 15 ISZERO 4E5E 61 PUSH2 0x4ea5 4E61 57 *JUMPI 4E62 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80 4E83 88 DUP9 4E84 86 DUP7 4E85 03 SUB 4E86 01 ADD 4E87 83 DUP4 4E88 52 MSTORE 4E89 61 PUSH2 0x4e93 4E8C 85 DUP6 4E8D 85 DUP6 4E8E 51 MLOAD 4E8F 61 PUSH2 0x495a 4E92 56 *JUMP 4E93 5B JUMPDEST 4E94 94 SWAP5 4E95 50 POP 4E96 92 SWAP3 4E97 85 DUP6 4E98 01 ADD 4E99 92 SWAP3 4E9A 91 SWAP2 4E9B 85 DUP6 4E9C 01 ADD 4E9D 91 SWAP2 4E9E 60 PUSH1 0x01 4EA0 01 ADD 4EA1 61 PUSH2 0x4e59 4EA4 56 *JUMP 4EA5 5B JUMPDEST 4EA6 50 POP 4EA7 50 POP 4EA8 50 POP 4EA9 50 POP 4EAA 81 DUP2 4EAB 85 DUP6 4EAC 01 ADD 4EAD 51 MLOAD 4EAE 60 PUSH1 0x1f 4EB0 19 NOT 4EB1 85 DUP6 4EB2 83 DUP4 4EB3 03 SUB 4EB4 81 DUP2 4EB5 01 ADD 4EB6 60 PUSH1 0x40 4EB8 87 DUP8 4EB9 01 ADD 4EBA 52 MSTORE 4EBB 81 DUP2 4EBC 51 MLOAD 4EBD 80 DUP1 4EBE 84 DUP5 4EBF 52 MSTORE 4EC0 91 SWAP2 4EC1 84 DUP5 4EC2 01 ADD 4EC3 91 SWAP2 4EC4 83 DUP4 4EC5 85 DUP6 4EC6 01 ADD 4EC7 90 SWAP1 4EC8 80 DUP1 4EC9 86 DUP7 4ECA 02 MUL 4ECB 85 DUP6 4ECC 01 ADD 4ECD 86 DUP7 4ECE 01 ADD 4ECF 87 DUP8 4ED0 5B JUMPDEST 4ED1 82 DUP3 4ED2 81 DUP2 4ED3 10 LT 4ED4 15 ISZERO 4ED5 61 PUSH2 0x4efc 4ED8 57 *JUMPI 4ED9 84 DUP5 4EDA 87 DUP8 4EDB 83 DUP4 4EDC 03 SUB 4EDD 01 ADD 4EDE 84 DUP5 4EDF 52 MSTORE 4EE0 61 PUSH2 0x4eea 4EE3 82 DUP3 4EE4 87 DUP8 4EE5 51 MLOAD 4EE6 61 PUSH2 0x48b1 4EE9 56 *JUMP 4EEA 5B JUMPDEST 4EEB 95 SWAP6 4EEC 88 DUP9 4EED 01 ADD 4EEE 95 SWAP6 4EEF 93 SWAP4 4EF0 88 DUP9 4EF1 01 ADD 4EF2 93 SWAP4 4EF3 91 SWAP2 4EF4 50 POP 4EF5 60 PUSH1 0x01 4EF7 01 ADD 4EF8 61 PUSH2 0x4ed0 4EFB 56 *JUMP 4EFC 5B JUMPDEST 4EFD 50 POP 4EFE 99 SWAP10 4EFF 98 SWAP9 4F00 50 POP 4F01 50 POP 4F02 50 POP 4F03 50 POP 4F04 50 POP 4F05 50 POP 4F06 50 POP 4F07 50 POP 4F08 50 POP 4F09 56 *JUMP 4F0A 5B JUMPDEST 4F0B 60 PUSH1 0x00 4F0D 60 PUSH1 0x20 4F0F 82 DUP3 4F10 52 MSTORE 4F11 61 PUSH2 0x2d67 4F14 60 PUSH1 0x20 4F16 83 DUP4 4F17 01 ADD 4F18 84 DUP5 4F19 61 PUSH2 0x48b1 4F1C 56 *JUMP 4F1D 5B JUMPDEST 4F1E 60 PUSH1 0x00 4F20 60 PUSH1 0x20 4F22 82 DUP3 4F23 52 MSTORE 4F24 82 DUP3 4F25 51 MLOAD 4F26 15 ISZERO 4F27 15 ISZERO 4F28 60 PUSH1 0x20 4F2A 83 DUP4 4F2B 01 ADD 4F2C 52 MSTORE 4F2D 60 PUSH1 0x20 4F2F 83 DUP4 4F30 01 ADD 4F31 51 MLOAD 4F32 60 PUSH1 0x40 4F34 80 DUP1 4F35 84 DUP5 4F36 01 ADD 4F37 52 MSTORE 4F38 61 PUSH2 0x2c78 4F3B 60 PUSH1 0x60 4F3D 84 DUP5 4F3E 01 ADD 4F3F 82 DUP3 4F40 61 PUSH2 0x484e 4F43 56 *JUMP 4F44 5B JUMPDEST 4F45 60 PUSH1 0x00 4F47 60 PUSH1 0x20 4F49 82 DUP3 4F4A 52 MSTORE 4F4B 61 PUSH2 0x4f59 4F4E 60 PUSH1 0x20 4F50 83 DUP4 4F51 01 ADD 4F52 84 DUP5 4F53 51 MLOAD 4F54 15 ISZERO 4F55 15 ISZERO 4F56 90 SWAP1 4F57 52 MSTORE 4F58 56 *JUMP 4F59 5B JUMPDEST 4F5A 60 PUSH1 0x20 4F5C 83 DUP4 4F5D 01 ADD 4F5E 51 MLOAD 4F5F 60 PUSH1 0x40 4F61 83 DUP4 4F62 01 ADD 4F63 52 MSTORE 4F64 60 PUSH1 0x40 4F66 83 DUP4 4F67 01 ADD 4F68 51 MLOAD 4F69 60 PUSH1 0x60 4F6B 83 DUP4 4F6C 01 ADD 4F6D 52 MSTORE 4F6E 60 PUSH1 0x60 4F70 83 DUP4 4F71 01 ADD 4F72 51 MLOAD 4F73 61 PUSH2 0x4f80 4F76 60 PUSH1 0x80 4F78 84 DUP5 4F79 01 ADD 4F7A 82 DUP3 4F7B 15 ISZERO 4F7C 15 ISZERO 4F7D 90 SWAP1 4F7E 52 MSTORE 4F7F 56 *JUMP 4F80 5B JUMPDEST 4F81 50 POP 4F82 60 PUSH1 0x80 4F84 83 DUP4 4F85 01 ADD 4F86 51 MLOAD 4F87 61 PUSH2 0x0120 4F8A 80 DUP1 4F8B 60 PUSH1 0xa0 4F8D 85 DUP6 4F8E 01 ADD 4F8F 52 MSTORE 4F90 61 PUSH2 0x4f9d 4F93 61 PUSH2 0x0140 4F96 85 DUP6 4F97 01 ADD 4F98 83 DUP4 4F99 61 PUSH2 0x484e 4F9C 56 *JUMP 4F9D 5B JUMPDEST 4F9E 91 SWAP2 4F9F 50 POP 4FA0 60 PUSH1 0xa0 4FA2 85 DUP6 4FA3 01 ADD 4FA4 51 MLOAD 4FA5 61 PUSH2 0x4fb2 4FA8 60 PUSH1 0xc0 4FAA 86 DUP7 4FAB 01 ADD 4FAC 82 DUP3 4FAD 15 ISZERO 4FAE 15 ISZERO 4FAF 90 SWAP1 4FB0 52 MSTORE 4FB1 56 *JUMP 4FB2 5B JUMPDEST 4FB3 50 POP 4FB4 60 PUSH1 0xc0 4FB6 85 DUP6 4FB7 01 ADD 4FB8 51 MLOAD 4FB9 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 4FCE 81 DUP2 4FCF 16 AND 4FD0 60 PUSH1 0xe0 4FD2 86 DUP7 4FD3 01 ADD 4FD4 52 MSTORE 4FD5 50 POP 4FD6 60 PUSH1 0xe0 4FD8 85 DUP6 4FD9 01 ADD 4FDA 51 MLOAD 4FDB 61 PUSH2 0x0100 4FDE 61 PUSH2 0x4fea 4FE1 81 DUP2 4FE2 87 DUP8 4FE3 01 ADD 4FE4 83 DUP4 4FE5 15 ISZERO 4FE6 15 ISZERO 4FE7 90 SWAP1 4FE8 52 MSTORE 4FE9 56 *JUMP 4FEA 5B JUMPDEST 4FEB 86 DUP7 4FEC 01 ADD 4FED 51 MLOAD 4FEE 85 DUP6 4FEF 84 DUP5 4FF0 03 SUB 4FF1 60 PUSH1 0x1f 4FF3 19 NOT 4FF4 01 ADD 4FF5 83 DUP4 4FF6 87 DUP8 4FF7 01 ADD 4FF8 52 MSTORE 4FF9 90 SWAP1 4FFA 50 POP 4FFB 61 PUSH2 0x4b7a 4FFE 83 DUP4 4FFF 82 DUP3 5000 61 PUSH2 0x484e 5003 56 *JUMP 5004 5B JUMPDEST 5005 60 PUSH1 0xa0 5007 81 DUP2 5008 01 ADD 5009 61 PUSH2 0x1dec 500C 82 DUP3 500D 84 DUP5 500E 80 DUP1 500F 51 MLOAD 5010 82 DUP3 5011 52 MSTORE 5012 60 PUSH1 0x20 5014 81 DUP2 5015 01 ADD 5016 51 MLOAD 5017 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 502C 80 DUP1 502D 82 DUP3 502E 16 AND 502F 60 PUSH1 0x20 5031 85 DUP6 5032 01 ADD 5033 52 MSTORE 5034 80 DUP1 5035 60 PUSH1 0x40 5037 84 DUP5 5038 01 ADD 5039 51 MLOAD 503A 16 AND 503B 60 PUSH1 0x40 503D 85 DUP6 503E 01 ADD 503F 52 MSTORE 5040 80 DUP1 5041 60 PUSH1 0x60 5043 84 DUP5 5044 01 ADD 5045 51 MLOAD 5046 16 AND 5047 60 PUSH1 0x60 5049 85 DUP6 504A 01 ADD 504B 52 MSTORE 504C 50 POP 504D 50 POP 504E 60 PUSH1 0x80 5050 81 DUP2 5051 01 ADD 5052 51 MLOAD 5053 60 PUSH1 0x80 5055 83 DUP4 5056 01 ADD 5057 52 MSTORE 5058 50 POP 5059 50 POP 505A 56 *JUMP 505B 5B JUMPDEST 505C 60 PUSH1 0x00 505E 61 PUSH2 0x50b0 5061 82 DUP3 5062 85 DUP6 5063 80 DUP1 5064 51 MLOAD 5065 82 DUP3 5066 52 MSTORE 5067 60 PUSH1 0x20 5069 81 DUP2 506A 01 ADD 506B 51 MLOAD 506C 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 5081 80 DUP1 5082 82 DUP3 5083 16 AND 5084 60 PUSH1 0x20 5086 85 DUP6 5087 01 ADD 5088 52 MSTORE 5089 80 DUP1 508A 60 PUSH1 0x40 508C 84 DUP5 508D 01 ADD 508E 51 MLOAD 508F 16 AND 5090 60 PUSH1 0x40 5092 85 DUP6 5093 01 ADD 5094 52 MSTORE 5095 80 DUP1 5096 60 PUSH1 0x60 5098 84 DUP5 5099 01 ADD 509A 51 MLOAD 509B 16 AND 509C 60 PUSH1 0x60 509E 85 DUP6 509F 01 ADD 50A0 52 MSTORE 50A1 50 POP 50A2 50 POP 50A3 60 PUSH1 0x80 50A5 81 DUP2 50A6 01 ADD 50A7 51 MLOAD 50A8 60 PUSH1 0x80 50AA 83 DUP4 50AB 01 ADD 50AC 52 MSTORE 50AD 50 POP 50AE 50 POP 50AF 56 *JUMP 50B0 5B JUMPDEST 50B1 60 PUSH1 0xc0 50B3 60 PUSH1 0xa0 50B5 83 DUP4 50B6 01 ADD 50B7 52 MSTORE 50B8 61 PUSH2 0x2d64 50BB 60 PUSH1 0xc0 50BD 83 DUP4 50BE 01 ADD 50BF 84 DUP5 50C0 61 PUSH2 0x47fb 50C3 56 *JUMP 50C4 5B JUMPDEST 50C5 60 PUSH1 0x00 50C7 61 PUSH2 0x5119 50CA 82 DUP3 50CB 86 DUP7 50CC 80 DUP1 50CD 51 MLOAD 50CE 82 DUP3 50CF 52 MSTORE 50D0 60 PUSH1 0x20 50D2 81 DUP2 50D3 01 ADD 50D4 51 MLOAD 50D5 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 50EA 80 DUP1 50EB 82 DUP3 50EC 16 AND 50ED 60 PUSH1 0x20 50EF 85 DUP6 50F0 01 ADD 50F1 52 MSTORE 50F2 80 DUP1 50F3 60 PUSH1 0x40 50F5 84 DUP5 50F6 01 ADD 50F7 51 MLOAD 50F8 16 AND 50F9 60 PUSH1 0x40 50FB 85 DUP6 50FC 01 ADD 50FD 52 MSTORE 50FE 80 DUP1 50FF 60 PUSH1 0x60 5101 84 DUP5 5102 01 ADD 5103 51 MLOAD 5104 16 AND 5105 60 PUSH1 0x60 5107 85 DUP6 5108 01 ADD 5109 52 MSTORE 510A 50 POP 510B 50 POP 510C 60 PUSH1 0x80 510E 81 DUP2 510F 01 ADD 5110 51 MLOAD 5111 60 PUSH1 0x80 5113 83 DUP4 5114 01 ADD 5115 52 MSTORE 5116 50 POP 5117 50 POP 5118 56 *JUMP 5119 5B JUMPDEST 511A 60 PUSH1 0xe0 511C 60 PUSH1 0xa0 511E 83 DUP4 511F 01 ADD 5120 52 MSTORE 5121 61 PUSH2 0x512d 5124 60 PUSH1 0xe0 5126 83 DUP4 5127 01 ADD 5128 85 DUP6 5129 61 PUSH2 0x47fb 512C 56 *JUMP 512D 5B JUMPDEST 512E 90 SWAP1 512F 50 POP 5130 82 DUP3 5131 60 PUSH1 0xc0 5133 83 DUP4 5134 01 ADD 5135 52 MSTORE 5136 94 SWAP5 5137 93 SWAP4 5138 50 POP 5139 50 POP 513A 50 POP 513B 50 POP 513C 56 *JUMP 513D 5B JUMPDEST 513E 60 PUSH1 0x00 5140 61 PUSH2 0x0100 5143 61 PUSH2 0x5195 5146 83 DUP4 5147 88 DUP9 5148 80 DUP1 5149 51 MLOAD 514A 82 DUP3 514B 52 MSTORE 514C 60 PUSH1 0x20 514E 81 DUP2 514F 01 ADD 5150 51 MLOAD 5151 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 5166 80 DUP1 5167 82 DUP3 5168 16 AND 5169 60 PUSH1 0x20 516B 85 DUP6 516C 01 ADD 516D 52 MSTORE 516E 80 DUP1 516F 60 PUSH1 0x40 5171 84 DUP5 5172 01 ADD 5173 51 MLOAD 5174 16 AND 5175 60 PUSH1 0x40 5177 85 DUP6 5178 01 ADD 5179 52 MSTORE 517A 80 DUP1 517B 60 PUSH1 0x60 517D 84 DUP5 517E 01 ADD 517F 51 MLOAD 5180 16 AND 5181 60 PUSH1 0x60 5183 85 DUP6 5184 01 ADD 5185 52 MSTORE 5186 50 POP 5187 50 POP 5188 60 PUSH1 0x80 518A 81 DUP2 518B 01 ADD 518C 51 MLOAD 518D 60 PUSH1 0x80 518F 83 DUP4 5190 01 ADD 5191 52 MSTORE 5192 50 POP 5193 50 POP 5194 56 *JUMP 5195 5B JUMPDEST 5196 80 DUP1 5197 60 PUSH1 0xa0 5199 84 DUP5 519A 01 ADD 519B 52 MSTORE 519C 61 PUSH2 0x51a7 519F 81 DUP2 51A0 84 DUP5 51A1 01 ADD 51A2 87 DUP8 51A3 61 PUSH2 0x47fb 51A6 56 *JUMP 51A7 5B JUMPDEST 51A8 60 PUSH1 0xc0 51AA 84 DUP5 51AB 01 ADD 51AC 95 SWAP6 51AD 90 SWAP1 51AE 95 SWAP6 51AF 52 MSTORE 51B0 50 POP 51B1 50 POP 51B2 60 PUSH1 0xe0 51B4 01 ADD 51B5 52 MSTORE 51B6 92 SWAP3 51B7 91 SWAP2 51B8 50 POP 51B9 50 POP 51BA 56 *JUMP 51BB 5B JUMPDEST 51BC 60 PUSH1 0x00 51BE 60 PUSH1 0x20 51C0 82 DUP3 51C1 52 MSTORE 51C2 82 DUP3 51C3 51 MLOAD 51C4 15 ISZERO 51C5 15 ISZERO 51C6 60 PUSH1 0x20 51C8 83 DUP4 51C9 01 ADD 51CA 52 MSTORE 51CB 60 PUSH1 0x20 51CD 83 DUP4 51CE 01 ADD 51CF 51 MLOAD 51D0 60 PUSH1 0x40 51D2 83 DUP4 51D3 01 ADD 51D4 52 MSTORE 51D5 60 PUSH1 0x40 51D7 83 DUP4 51D8 01 ADD 51D9 51 MLOAD 51DA 60 PUSH1 0x60 51DC 83 DUP4 51DD 01 ADD 51DE 52 MSTORE 51DF 60 PUSH1 0x60 51E1 83 DUP4 51E2 01 ADD 51E3 51 MLOAD 51E4 60 PUSH1 0x80 51E6 80 DUP1 51E7 84 DUP5 51E8 01 ADD 51E9 52 MSTORE 51EA 61 PUSH2 0x2c78 51ED 60 PUSH1 0xa0 51EF 84 DUP5 51F0 01 ADD 51F1 82 DUP3 51F2 61 PUSH2 0x484e 51F5 56 *JUMP 51F6 5B JUMPDEST 51F7 60 PUSH1 0x00 51F9 60 PUSH1 0x20 51FB 82 DUP3 51FC 52 MSTORE 51FD 61 PUSH2 0x2d67 5200 60 PUSH1 0x20 5202 83 DUP4 5203 01 ADD 5204 84 DUP5 5205 61 PUSH2 0x4931 5208 56 *JUMP 5209 5B JUMPDEST 520A 60 PUSH1 0x00 520C 60 PUSH1 0x20 520E 82 DUP3 520F 52 MSTORE 5210 61 PUSH2 0x2d67 5213 60 PUSH1 0x20 5215 83 DUP4 5216 01 ADD 5217 84 DUP5 5218 61 PUSH2 0x495a 521B 56 *JUMP 521C 5B JUMPDEST 521D 60 PUSH1 0x00 521F 60 PUSH1 0x20 5221 82 DUP3 5222 52 MSTORE 5223 61 PUSH2 0x2d67 5226 60 PUSH1 0x20 5228 83 DUP4 5229 01 ADD 522A 84 DUP5 522B 61 PUSH2 0x49f2 522E 56 *JUMP 522F 5B JUMPDEST 5230 60 PUSH1 0x00 5232 60 PUSH1 0x20 5234 82 DUP3 5235 52 MSTORE 5236 61 PUSH2 0x2d67 5239 60 PUSH1 0x20 523B 83 DUP4 523C 01 ADD 523D 84 DUP5 523E 61 PUSH2 0x4a84 5241 56 *JUMP 5242 5B JUMPDEST 5243 60 PUSH1 0x00 5245 60 PUSH1 0x20 5247 82 DUP3 5248 52 MSTORE 5249 61 PUSH2 0x2d67 524C 60 PUSH1 0x20 524E 83 DUP4 524F 01 ADD 5250 84 DUP5 5251 61 PUSH2 0x4aa3 5254 56 *JUMP 5255 5B JUMPDEST 5256 81 DUP2 5257 51 MLOAD 5258 81 DUP2 5259 52 MSTORE 525A 60 PUSH1 0x20 525C 80 DUP1 525D 83 DUP4 525E 01 ADD 525F 51 MLOAD 5260 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 5275 16 AND 5276 90 SWAP1 5277 82 DUP3 5278 01 ADD 5279 52 MSTORE 527A 60 PUSH1 0x40 527C 81 DUP2 527D 01 ADD 527E 61 PUSH2 0x1dec 5281 56 *JUMP 5282 5B JUMPDEST 5283 60 PUSH1 0x00 5285 80 DUP1 5286 83 DUP4 5287 35 CALLDATALOAD 5288 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1 52A9 84 DUP5 52AA 36 CALLDATASIZE 52AB 03 SUB 52AC 01 ADD 52AD 81 DUP2 52AE 12 SLT 52AF 61 PUSH2 0x52b6 52B2 57 *JUMPI 52B3 82 DUP3 52B4 83 DUP4 52B5 FD *REVERT 52B6 5B JUMPDEST 52B7 83 DUP4 52B8 01 ADD 52B9 80 DUP1 52BA 35 CALLDATALOAD 52BB 91 SWAP2 52BC 50 POP 52BD 67 PUSH8 0xffffffffffffffff 52C6 82 DUP3 52C7 11 GT 52C8 15 ISZERO 52C9 61 PUSH2 0x52d0 52CC 57 *JUMPI 52CD 82 DUP3 52CE 83 DUP4 52CF FD *REVERT 52D0 5B JUMPDEST 52D1 60 PUSH1 0x20 52D3 01 ADD 52D4 91 SWAP2 52D5 50 POP 52D6 36 CALLDATASIZE 52D7 81 DUP2 52D8 90 SWAP1 52D9 03 SUB 52DA 82 DUP3 52DB 13 SGT 52DC 15 ISZERO 52DD 61 PUSH2 0x1904 52E0 57 *JUMPI 52E1 60 PUSH1 0x00 52E3 80 DUP1 52E4 FD *REVERT 52E5 5B JUMPDEST 52E6 60 PUSH1 0x00 52E8 82 DUP3 52E9 35 CALLDATALOAD 52EA 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1 530B 83 DUP4 530C 36 CALLDATASIZE 530D 03 SUB 530E 01 ADD 530F 81 DUP2 5310 12 SLT 5311 61 PUSH2 0x4b31 5314 57 *JUMPI 5315 81 DUP2 5316 82 DUP3 5317 FD *REVERT label_5318: // Incoming call from 0x3252, returns to 0x3253 // Incoming call from 0x34BB, returns to 0x34BC // Incoming call from 0x348A, returns to 0x348B // Incoming call from 0x36D5, returns to 0x36D6 // Incoming call from 0x3B38, returns to 0x3B39 // Incoming call from 0x3682, returns to 0x3683 // Incoming call from 0x3ACB, returns to 0x3ACC // Incoming call from 0x3893, returns to 0x3894 // Incoming call from 0x323B, returns to 0x323C // Incoming call from 0x4081, returns to 0x4082 // Incoming call from 0x340F, returns to 0x3410 // Incoming call from 0x3FBE, returns to 0x3FBF // Incoming jump from 0x2FF6 // Incoming call from 0x4540, returns to 0x4541 // Incoming call from 0x3452, returns to 0x3453 // Incoming call from 0x3E97, returns to 0x3E98 // Incoming call from 0x3BE0, returns to 0x3BE1 // Incoming call from 0x3A78, returns to 0x3A79 // Incoming call from 0x42C9, returns to 0x42CA // Incoming call from 0x3616, returns to 0x3617 // Incoming call from 0x4258, returns to 0x4259 // Incoming call from 0x35AA, returns to 0x35AB // Inputs[2] // { // @531B memory[0x40:0x60] // @531E stack[-1] // } 5318 5B JUMPDEST 5319 60 PUSH1 0x40 531B 51 MLOAD 531C 60 PUSH1 0x1f 531E 82 DUP3 531F 01 ADD 5320 60 PUSH1 0x1f 5322 19 NOT 5323 16 AND 5324 81 DUP2 5325 01 ADD 5326 67 PUSH8 0xffffffffffffffff 532F 81 DUP2 5330 11 GT 5331 82 DUP3 5332 82 DUP3 5333 10 LT 5334 17 OR 5335 15 ISZERO 5336 61 PUSH2 0x5341 5339 57 *JUMPI // Stack delta = +2 // Outputs[2] // { // @531B stack[0] = memory[0x40:0x60] // @5325 stack[1] = memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) // } // Block ends with conditional jump to 0x5341, if !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) label_533A: // Incoming jump from 0x5339, if not !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) 533A 61 PUSH2 0x5341 533D 61 PUSH2 0x5633 5340 56 *JUMP // Stack delta = +1 // Outputs[1] { @533A stack[0] = 0x5341 } // Block ends with unconditional jump to 0x5633 label_5341: // Incoming jump from 0x5339, if !((memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) < memory[0x40:0x60]) | (memory[0x40:0x60] + (~0x1f & stack[-1] + 0x1f) > 0xffffffffffffffff)) // Inputs[4] // { // @5344 stack[-1] // @5345 stack[-2] // @5345 stack[-4] // @5346 stack[-3] // } 5341 5B JUMPDEST 5342 60 PUSH1 0x40 5344 52 MSTORE 5345 91 SWAP2 5346 90 SWAP1 5347 50 POP 5348 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @5344 memory[0x40:0x60] = stack[-1] // @5345 stack[-4] = stack[-2] // } // Block ends with unconditional jump to stack[-4] label_5349: // Incoming call from 0x3713, returns to 0x2FF2 // Incoming call from 0x2FF1, returns to 0x2FF2 // Incoming call from 0x3203, returns to 0x2FF2 // Incoming call from 0x353E, returns to 0x2FF2 // Incoming call from 0x3062, returns to 0x2FF2 // Incoming call from 0x40AD, returns to 0x2FF2 // Incoming call from 0x3904, returns to 0x2FF2 // Inputs[1] { @5355 stack[-1] } 5349 5B JUMPDEST 534A 60 PUSH1 0x00 534C 67 PUSH8 0xffffffffffffffff 5355 82 DUP3 5356 11 GT 5357 15 ISZERO 5358 61 PUSH2 0x5363 535B 57 *JUMPI // Stack delta = +1 // Outputs[1] { @534A stack[0] = 0x00 } // Block ends with conditional jump to 0x5363, if !(stack[-1] > 0xffffffffffffffff) label_535C: // Incoming jump from 0x535B, if not !(stack[-1] > 0xffffffffffffffff) 535C 61 PUSH2 0x5363 535F 61 PUSH2 0x5633 5362 56 *JUMP // Stack delta = +1 // Outputs[1] { @535C stack[0] = 0x5363 } // Block ends with unconditional jump to 0x5633 label_5363: // Incoming jump from 0x535B, if !(stack[-1] > 0xffffffffffffffff) // Inputs[2] // { // @5367 stack[-2] // @536B stack[-3] // } 5363 5B JUMPDEST 5364 50 POP 5365 60 PUSH1 0x20 5367 90 SWAP1 5368 81 DUP2 5369 02 MUL 536A 01 ADD 536B 90 SWAP1 536C 56 *JUMP // Stack delta = -2 // Outputs[1] { @536B stack[-3] = 0x20 * stack[-2] + 0x20 } // Block ends with unconditional jump to stack[-3] label_536D: // Incoming call from 0x3383, returns to 0x2FF2 // Inputs[1] { @5379 stack[-1] } 536D 5B JUMPDEST 536E 60 PUSH1 0x00 5370 67 PUSH8 0xffffffffffffffff 5379 82 DUP3 537A 11 GT 537B 15 ISZERO 537C 61 PUSH2 0x5387 537F 57 *JUMPI // Stack delta = +1 // Outputs[1] { @536E stack[0] = 0x00 } // Block ends with conditional jump to 0x5387, if !(stack[-1] > 0xffffffffffffffff) label_5380: // Incoming jump from 0x537F, if not !(stack[-1] > 0xffffffffffffffff) 5380 61 PUSH2 0x5387 5383 61 PUSH2 0x5633 5386 56 *JUMP // Stack delta = +1 // Outputs[1] { @5380 stack[0] = 0x5387 } // Block ends with unconditional jump to 0x5633 label_5387: // Incoming jump from 0x537F, if !(stack[-1] > 0xffffffffffffffff) // Inputs[2] // { // @538B stack[-2] // @5393 stack[-3] // } 5387 5B JUMPDEST 5388 50 POP 5389 60 PUSH1 0x1f 538B 01 ADD 538C 60 PUSH1 0x1f 538E 19 NOT 538F 16 AND 5390 60 PUSH1 0x20 5392 01 ADD 5393 90 SWAP1 5394 56 *JUMP // Stack delta = -2 // Outputs[1] { @5393 stack[-3] = 0x20 + (~0x1f & 0x1f + stack[-2]) } // Block ends with unconditional jump to stack[-3] label_5395: // Incoming call from 0x0D7A, returns to 0x0D7B // Incoming call from 0x0CA8, returns to 0x0CA9 // Inputs[2] // { // @5398 stack[-2] // @539A stack[-1] // } 5395 5B JUMPDEST 5396 60 PUSH1 0x00 5398 82 DUP3 5399 19 NOT 539A 82 DUP3 539B 11 GT 539C 15 ISZERO 539D 61 PUSH2 0x53a8 53A0 57 *JUMPI // Stack delta = +1 // Outputs[1] { @5396 stack[0] = 0x00 } // Block ends with conditional jump to 0x53a8, if !(stack[-1] > ~stack[-2]) label_53A1: // Incoming jump from 0x53A0, if not !(stack[-1] > ~stack[-2]) 53A1 61 PUSH2 0x53a8 53A4 61 PUSH2 0x5607 53A7 56 *JUMP // Stack delta = +1 // Outputs[1] { @53A1 stack[0] = 0x53a8 } // Block ends with unconditional jump to 0x5607 label_53A8: // Incoming jump from 0x53A0, if !(stack[-1] > ~stack[-2]) // Inputs[3] // { // @53AA stack[-3] // @53AA stack[-2] // @53AB stack[-4] // } 53A8 5B JUMPDEST 53A9 50 POP 53AA 01 ADD 53AB 90 SWAP1 53AC 56 *JUMP // Stack delta = -3 // Outputs[1] { @53AB stack[-4] = stack[-2] + stack[-3] } // Block ends with unconditional jump to stack[-4] 53AD 5B JUMPDEST 53AE 60 PUSH1 0x00 53B0 82 DUP3 53B1 61 PUSH2 0x53c8 53B4 57 *JUMPI 53B5 63 PUSH4 0x4e487b71 53BA 60 PUSH1 0xe0 53BC 1B SHL 53BD 81 DUP2 53BE 52 MSTORE 53BF 60 PUSH1 0x12 53C1 60 PUSH1 0x04 53C3 52 MSTORE 53C4 60 PUSH1 0x24 53C6 81 DUP2 53C7 FD *REVERT 53C8 5B JUMPDEST 53C9 50 POP 53CA 04 DIV 53CB 90 SWAP1 53CC 56 *JUMP 53CD 5B JUMPDEST 53CE 80 DUP1 53CF 82 DUP3 53D0 5B JUMPDEST 53D1 60 PUSH1 0x01 53D3 80 DUP1 53D4 86 DUP7 53D5 11 GT 53D6 61 PUSH2 0x53df 53D9 57 *JUMPI 53DA 50 POP 53DB 61 PUSH2 0x540a 53DE 56 *JUMP 53DF 5B JUMPDEST 53E0 81 DUP2 53E1 87 DUP8 53E2 04 DIV 53E3 82 DUP3 53E4 11 GT 53E5 15 ISZERO 53E6 61 PUSH2 0x53f1 53E9 57 *JUMPI 53EA 61 PUSH2 0x53f1 53ED 61 PUSH2 0x5607 53F0 56 *JUMP 53F1 5B JUMPDEST 53F2 80 DUP1 53F3 86 DUP7 53F4 16 AND 53F5 15 ISZERO 53F6 61 PUSH2 0x53fe 53F9 57 *JUMPI 53FA 91 SWAP2 53FB 81 DUP2 53FC 02 MUL 53FD 91 SWAP2 53FE 5B JUMPDEST 53FF 94 SWAP5 5400 90 SWAP1 5401 94 SWAP5 5402 1C SHR 5403 93 SWAP4 5404 80 DUP1 5405 02 MUL 5406 61 PUSH2 0x53d0 5409 56 *JUMP 540A 5B JUMPDEST 540B 94 SWAP5 540C 50 POP 540D 94 SWAP5 540E 92 SWAP3 540F 50 POP 5410 50 POP 5411 50 POP 5412 56 *JUMP 5413 5B JUMPDEST 5414 60 PUSH1 0x00 5416 61 PUSH2 0x2d67 5419 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 543A 84 DUP5 543B 84 DUP5 543C 60 PUSH1 0x00 543E 82 DUP3 543F 61 PUSH2 0x544a 5442 57 *JUMPI 5443 50 POP 5444 60 PUSH1 0x01 5446 61 PUSH2 0x2d67 5449 56 *JUMP 544A 5B JUMPDEST 544B 81 DUP2 544C 61 PUSH2 0x5457 544F 57 *JUMPI 5450 50 POP 5451 60 PUSH1 0x00 5453 61 PUSH2 0x2d67 5456 56 *JUMP 5457 5B JUMPDEST 5458 81 DUP2 5459 60 PUSH1 0x01 545B 81 DUP2 545C 14 EQ 545D 61 PUSH2 0x546d 5460 57 *JUMPI 5461 60 PUSH1 0x02 5463 81 DUP2 5464 14 EQ 5465 61 PUSH2 0x5477 5468 57 *JUMPI 5469 61 PUSH2 0x54a4 546C 56 *JUMP 546D 5B JUMPDEST 546E 60 PUSH1 0x01 5470 91 SWAP2 5471 50 POP 5472 50 POP 5473 61 PUSH2 0x2d67 5476 56 *JUMP 5477 5B JUMPDEST 5478 60 PUSH1 0xff 547A 84 DUP5 547B 11 GT 547C 15 ISZERO 547D 61 PUSH2 0x5488 5480 57 *JUMPI 5481 61 PUSH2 0x5488 5484 61 PUSH2 0x5607 5487 56 *JUMP 5488 5B JUMPDEST 5489 60 PUSH1 0x01 548B 84 DUP5 548C 1B SHL 548D 91 SWAP2 548E 50 POP 548F 84 DUP5 5490 82 DUP3 5491 11 GT 5492 15 ISZERO 5493 61 PUSH2 0x549e 5496 57 *JUMPI 5497 61 PUSH2 0x549e 549A 61 PUSH2 0x5607 549D 56 *JUMP 549E 5B JUMPDEST 549F 50 POP 54A0 61 PUSH2 0x2d67 54A3 56 *JUMP 54A4 5B JUMPDEST 54A5 50 POP 54A6 60 PUSH1 0x20 54A8 83 DUP4 54A9 10 LT 54AA 61 PUSH2 0x0133 54AD 83 DUP4 54AE 10 LT 54AF 16 AND 54B0 60 PUSH1 0x4e 54B2 84 DUP5 54B3 10 LT 54B4 60 PUSH1 0x0b 54B6 84 DUP5 54B7 10 LT 54B8 16 AND 54B9 17 OR 54BA 15 ISZERO 54BB 61 PUSH2 0x54d7 54BE 57 *JUMPI 54BF 50 POP 54C0 81 DUP2 54C1 81 DUP2 54C2 0A EXP 54C3 83 DUP4 54C4 81 DUP2 54C5 11 GT 54C6 15 ISZERO 54C7 61 PUSH2 0x54d2 54CA 57 *JUMPI 54CB 61 PUSH2 0x54d2 54CE 61 PUSH2 0x5607 54D1 56 *JUMP 54D2 5B JUMPDEST 54D3 61 PUSH2 0x2d67 54D6 56 *JUMP 54D7 5B JUMPDEST 54D8 61 PUSH2 0x54e4 54DB 84 DUP5 54DC 84 DUP5 54DD 84 DUP5 54DE 60 PUSH1 0x01 54E0 61 PUSH2 0x53cd 54E3 56 *JUMP 54E4 5B JUMPDEST 54E5 80 DUP1 54E6 86 DUP7 54E7 04 DIV 54E8 82 DUP3 54E9 11 GT 54EA 15 ISZERO 54EB 61 PUSH2 0x54f6 54EE 57 *JUMPI 54EF 61 PUSH2 0x54f6 54F2 61 PUSH2 0x5607 54F5 56 *JUMP 54F6 5B JUMPDEST 54F7 02 MUL 54F8 94 SWAP5 54F9 93 SWAP4 54FA 50 POP 54FB 50 POP 54FC 50 POP 54FD 50 POP 54FE 56 *JUMP label_54FF: // Incoming call from 0x2948, returns to 0x2949 // Inputs[2] // { // @5502 stack[-1] // @5525 stack[-2] // } 54FF 5B JUMPDEST 5500 60 PUSH1 0x00 5502 81 DUP2 5503 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 5524 04 DIV 5525 83 DUP4 5526 11 GT 5527 82 DUP3 5528 15 ISZERO 5529 15 ISZERO 552A 16 AND 552B 15 ISZERO 552C 61 PUSH2 0x5537 552F 57 *JUMPI // Stack delta = +1 // Outputs[1] { @5500 stack[0] = 0x00 } // Block ends with conditional jump to 0x5537, if !(!!stack[-1] & (stack[-2] > 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / stack[-1])) label_5530: // Incoming jump from 0x552F, if not !(!!stack[-1] & (stack[-2] > 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / stack[-1])) 5530 61 PUSH2 0x5537 5533 61 PUSH2 0x5607 5536 56 *JUMP // Stack delta = +1 // Outputs[1] { @5530 stack[0] = 0x5537 } // Block ends with unconditional jump to 0x5607 label_5537: // Incoming jump from 0x552F, if !(!!stack[-1] & (stack[-2] > 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / stack[-1])) // Inputs[3] // { // @5539 stack[-2] // @5539 stack[-3] // @553A stack[-4] // } 5537 5B JUMPDEST 5538 50 POP 5539 02 MUL 553A 90 SWAP1 553B 56 *JUMP // Stack delta = -3 // Outputs[1] { @553A stack[-4] = stack[-2] * stack[-3] } // Block ends with unconditional jump to stack[-4] 553C 5B JUMPDEST 553D 60 PUSH1 0x00 553F 82 DUP3 5540 82 DUP3 5541 10 LT 5542 15 ISZERO 5543 61 PUSH2 0x554e 5546 57 *JUMPI 5547 61 PUSH2 0x554e 554A 61 PUSH2 0x5607 554D 56 *JUMP 554E 5B JUMPDEST 554F 50 POP 5550 03 SUB 5551 90 SWAP1 5552 56 *JUMP 5553 5B JUMPDEST 5554 60 PUSH1 0x00 5556 61 PUSH2 0x2d67 5559 36 CALLDATASIZE 555A 84 DUP5 555B 84 DUP5 555C 61 PUSH2 0x2fe4 555F 56 *JUMP 5560 5B JUMPDEST 5561 60 PUSH1 0x00 5563 61 PUSH2 0x1dec 5566 36 CALLDATASIZE 5567 83 DUP4 5568 61 PUSH2 0x3a5e 556B 56 *JUMP label_556C: // Incoming call from 0x4B30, returns to 0x4B31 // Incoming call from 0x4865, returns to 0x4866 // Inputs[1] { @5570 stack[-3] } 556C 5B JUMPDEST 556D 60 PUSH1 0x00 556F 5B JUMPDEST 5570 83 DUP4 5571 81 DUP2 5572 10 LT 5573 15 ISZERO 5574 61 PUSH2 0x5587 5577 57 *JUMPI // Stack delta = +1 // Outputs[1] { @556D stack[0] = 0x00 } // Block ends with conditional jump to 0x5587, if !(0x00 < stack[-3]) label_5578: // Incoming jump from 0x5577, if not !(0x00 < stack[-3]) // Incoming jump from 0x5577, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @5578 stack[-2] // @5579 stack[-1] // @557B memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @557C stack[-3] // } 5578 81 DUP2 5579 81 DUP2 557A 01 ADD 557B 51 MLOAD 557C 83 DUP4 557D 82 DUP3 557E 01 ADD 557F 52 MSTORE 5580 60 PUSH1 0x20 5582 01 ADD 5583 61 PUSH2 0x556f 5586 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @557F memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @5582 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x556f label_5587: // Incoming jump from 0x5577, if !(0x00 < stack[-3]) // Incoming jump from 0x5577, if !(stack[-1] < stack[-4]) // Inputs[2] // { // @5588 stack[-4] // @5589 stack[-1] // } 5587 5B JUMPDEST 5588 83 DUP4 5589 81 DUP2 558A 11 GT 558B 15 ISZERO 558C 61 PUSH2 0x17da 558F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x17da, if !(stack[-1] > stack[-4]) label_5590: // Incoming jump from 0x558F, if not !(stack[-1] > stack[-4]) // Inputs[3] // { // @5594 stack[-4] // @5595 stack[-3] // @5597 stack[-5] // } 5590 50 POP 5591 50 POP 5592 60 PUSH1 0x00 5594 91 SWAP2 5595 01 ADD 5596 52 MSTORE 5597 56 *JUMP // Stack delta = -5 // Outputs[1] { @5596 memory[stack[-4] + stack[-3]:stack[-4] + stack[-3] + 0x20] = 0x00 } // Block ends with unconditional jump to stack[-5] label_5598: // Incoming call from 0x175B, returns to 0x175C // Inputs[1] { @55BC stack[-1] } 5598 5B JUMPDEST 5599 60 PUSH1 0x00 559B 7F PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 55BC 82 DUP3 55BD 14 EQ 55BE 15 ISZERO 55BF 61 PUSH2 0x55ca 55C2 57 *JUMPI // Stack delta = +1 // Outputs[1] { @5599 stack[0] = 0x00 } // Block ends with conditional jump to 0x55ca, if !(stack[-1] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) label_55C3: // Incoming jump from 0x55C2, if not !(stack[-1] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) 55C3 61 PUSH2 0x55ca 55C6 61 PUSH2 0x5607 55C9 56 *JUMP // Stack delta = +1 // Outputs[1] { @55C3 stack[0] = 0x55ca } // Block ends with unconditional jump to 0x5607 label_55CA: // Incoming jump from 0x55C2, if !(stack[-1] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) // Inputs[2] // { // @55CE stack[-2] // @55CF stack[-3] // } 55CA 5B JUMPDEST 55CB 50 POP 55CC 60 PUSH1 0x01 55CE 01 ADD 55CF 90 SWAP1 55D0 56 *JUMP // Stack delta = -2 // Outputs[1] { @55CF stack[-3] = 0x01 + stack[-2] } // Block ends with unconditional jump to stack[-3] 55D1 5B JUMPDEST 55D2 60 PUSH1 0x00 55D4 7F PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 55F5 82 DUP3 55F6 14 EQ 55F7 15 ISZERO 55F8 61 PUSH2 0x5603 55FB 57 *JUMPI 55FC 61 PUSH2 0x5603 55FF 61 PUSH2 0x5607 5602 56 *JUMP 5603 5B JUMPDEST 5604 03 SUB 5605 90 SWAP1 5606 56 *JUMP label_5607: // Incoming jump from 0x53A7 // Incoming jump from 0x5536 // Incoming jump from 0x55C9 // Inputs[1] { @561C memory[0x00:0x24] } 5607 5B JUMPDEST 5608 63 PUSH4 0x4e487b71 560D 60 PUSH1 0xe0 560F 1B SHL 5610 60 PUSH1 0x00 5612 52 MSTORE 5613 60 PUSH1 0x11 5615 60 PUSH1 0x04 5617 52 MSTORE 5618 60 PUSH1 0x24 561A 60 PUSH1 0x00 561C FD *REVERT // Stack delta = +0 // Outputs[3] // { // @5612 memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @5617 memory[0x04:0x24] = 0x11 // @561C revert(memory[0x00:0x24]); // } // Block terminates 561D 5B JUMPDEST 561E 63 PUSH4 0x4e487b71 5623 60 PUSH1 0xe0 5625 1B SHL 5626 60 PUSH1 0x00 5628 52 MSTORE 5629 60 PUSH1 0x21 562B 60 PUSH1 0x04 562D 52 MSTORE 562E 60 PUSH1 0x24 5630 60 PUSH1 0x00 5632 FD *REVERT label_5633: // Incoming jump from 0x5386 // Incoming jump from 0x5340 // Incoming jump from 0x5362 // Inputs[1] { @5648 memory[0x00:0x24] } 5633 5B JUMPDEST 5634 63 PUSH4 0x4e487b71 5639 60 PUSH1 0xe0 563B 1B SHL 563C 60 PUSH1 0x00 563E 52 MSTORE 563F 60 PUSH1 0x41 5641 60 PUSH1 0x04 5643 52 MSTORE 5644 60 PUSH1 0x24 5646 60 PUSH1 0x00 5648 FD *REVERT // Stack delta = +0 // Outputs[3] // { // @563E memory[0x00:0x20] = 0x4e487b71 << 0xe0 // @5643 memory[0x04:0x24] = 0x41 // @5648 revert(memory[0x00:0x24]); // } // Block terminates 5649 5B JUMPDEST 564A 60 PUSH1 0x02 564C 81 DUP2 564D 10 LT 564E 61 PUSH2 0x5659 5651 57 *JUMPI 5652 61 PUSH2 0x5659 5655 61 PUSH2 0x561d 5658 56 *JUMP label_5659: // Incoming jump from 0x5687, if stack[-1] == !!stack[-1] // Incoming jump from 0x5679, if stack[-1] == stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff // Inputs[1] { @565B stack[-2] } 5659 5B JUMPDEST 565A 50 POP 565B 56 *JUMP // Stack delta = -2 // Block ends with unconditional jump to stack[-2] label_565C: // Incoming call from 0x3C4D, returns to 0x3C4E // Incoming call from 0x346F, returns to 0x342D // Incoming call from 0x3CB3, returns to 0x3CB4 // Incoming call from 0x35E4, returns to 0x35E5 // Incoming call from 0x363D, returns to 0x363E // Incoming call from 0x35D1, returns to 0x35D2 // Incoming call from 0x3B4C, returns to 0x342D // Incoming call from 0x3267, returns to 0x3268 // Incoming call from 0x345F, returns to 0x3460 // Incoming call from 0x35BE, returns to 0x35BF // Incoming call from 0x3FC9, returns to 0x3FCA // Incoming call from 0x3BC2, returns to 0x3BC3 // Incoming call from 0x362A, returns to 0x362B // Incoming call from 0x38A0, returns to 0x38A1 // Incoming call from 0x3BA2, returns to 0x2D67 // Incoming call from 0x342C, returns to 0x342D // Incoming call from 0x3BEE, returns to 0x3BEF // Incoming call from 0x341C, returns to 0x341D // Incoming call from 0x3650, returns to 0x3651 // Incoming call from 0x3042, returns to 0x0496 // Inputs[1] { @5672 stack[-1] } 565C 5B JUMPDEST 565D 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff 5672 81 DUP2 5673 16 AND 5674 81 DUP2 5675 14 EQ 5676 61 PUSH2 0x5659 5679 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x5659, if stack[-1] == stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff label_567A: // Incoming jump from 0x5679, if not stack[-1] == stack[-1] & 0xffffffffffffffffffffffffffffffffffffffff // Inputs[1] { @567D memory[0x00:0x00] } 567A 60 PUSH1 0x00 567C 80 DUP1 567D FD *REVERT // Stack delta = +0 // Outputs[1] { @567D revert(memory[0x00:0x00]); } // Block terminates label_567E: // Incoming call from 0x454B, returns to 0x454C // Incoming call from 0x34C8, returns to 0x34C9 // Incoming call from 0x3DA7, returns to 0x2D67 // Incoming call from 0x3325, returns to 0x0496 // Incoming call from 0x4263, returns to 0x4264 // Incoming call from 0x3FEF, returns to 0x3FF0 // Inputs[1] { @567F stack[-1] } 567E 5B JUMPDEST 567F 80 DUP1 5680 15 ISZERO 5681 15 ISZERO 5682 81 DUP2 5683 14 EQ 5684 61 PUSH2 0x5659 5687 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x5659, if stack[-1] == !!stack[-1] label_5688: // Incoming jump from 0x5687, if not stack[-1] == !!stack[-1] // Inputs[1] { @568B memory[0x00:0x00] } 5688 60 PUSH1 0x00 568A 80 DUP1 568B FD *REVERT // Stack delta = +0 // Outputs[1] { @568B revert(memory[0x00:0x00]); } // Block terminates 568C FE *ASSERT 568D A2 LOG2 568E 64 PUSH5 0x6970667358 5694 22 22 5695 12 SLT 5696 20 SHA3 5697 08 ADDMOD 5698 E2 E2 5699 FE *ASSERT 569A B1 DUP 569B 73 PUSH20 0xb8510a12d9bd92230d8d3bb679ea97fd105fbee0 56B0 B0 PUSH 56B1 C6 C6 56B2 56 *JUMP 56B3 61 PUSH2 0xc532 56B6 C4 C4 56B7 64 PUSH5 0x736f6c6343 56BD 00 *STOP 56BE 08 ADDMOD 56BF 02 MUL 56C0 00 *STOP 56C1 33 CALLER
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]