Online Solidity Decompiler

« Decompile another contract

Address

0xab3cdb9dfeb633c10f4e9266bbe369d9cbc088f3 [etherscan.io | etherchain.org]

Public Methods

Method names cached from 4byte.directory.
0x0661075f Unknown
0x092a5cce destroyContract()
0x0ade8f90 Unknown
0x1aa3a008 register()
0x1da97ea3 getSenderFromData(address,bytes)
0x1e5f3627 Unknown
0x434a62ec Unknown
0x5e01eb5a getSender()
0x62f61401 Unknown
0x64cb4edb transferDeveloper(address)
0x74e861d6 getHubAddr()
0x75d0c0dc contractName()
0x80274db7 preRelayedCall(bytes)
0x80fb948c Unknown
0x83947ea0 acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256)
0x8d07ac2f Unknown
0x8eea2565 Unknown
0x91a3c7d2 Unknown
0x9d74689f Unknown
0x9eab5253 getMembers()
0x9f951be8 Unknown
0xa0a8e460 contractVersion()
0xa230c524 isMember(address)
0xa86e5ffd Unknown
0xab3545e5 getMember(uint256)
0xac570411 getRecipientBalance()
0xae1885ee Unknown
0xb0622f60 Unknown
0xc4769517 Unknown
0xca4b208b developer()
0xce458581 Unknown
0xd2629bbb Unknown
0xd5a285cb Unknown
0xe06e0e22 postRelayedCall(bytes,bool,uint256,bytes32)
0xe20c6d3d getMessageData()

Internal Methods

getSenderFromData(arg0, arg1) returns (r0)
func_043E(arg0, arg1)
transferDeveloper(arg0, arg1)
preRelayedCall(arg0, arg1) returns (r0)
acceptRelayedCall(arg0, arg1) returns (r0, r1)
func_0AC0(arg0, arg1) returns (r0)
isMember(arg0, arg1) returns (r0)
func_0F3B(arg0, arg1) returns (r0)
postRelayedCall(arg0, arg1)
register()
func_18C8(arg0, arg1) returns (r0)
getHubAddr() returns (r0)
contractName(arg0) returns (r0)
func_25B1() returns (r0)
func_260E(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) returns (r0)
func_26A5() returns (r0)
func_26FC() returns (r0)
func_2C45(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg9) returns (r0)
contractVersion(arg0) returns (r0)
getRecipientBalance() returns (r0)
developer(arg0) returns (r0)
func_4951()
getMessageData() returns (r0)
func_4D73(arg0, arg1) returns (r0)
func_4DCA(arg0)
func_4DED(arg0) returns (r0, r1)
func_4E95() returns (r0)
func_53C5(arg0, arg1) returns (r0)
func_57ED()

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 (0x91a3c7d2 > var0) { if (0x62f61401 > var0) { if (0x1da97ea3 > var0) { if (var0 == 0x0661075f) { // Dispatch table entry for 0x0661075f (unknown) var var1 = 0x0242; var var2 = 0x04; var var3 = msg.data.length - var2; if (var3 < 0x40) { revert(memory[0x00:0x00]); } var temp0 = var2; var2 = msg.data[temp0:temp0 + 0x20]; var3 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01; var var4 = storage[0x01] & (0x01 << 0xa0) - 0x01; var var5 = 0x1199; label_1C6E: var var6 = 0x00; var var7 = 0x1cb1; var var8 = msg.sender; var temp1 = msg.data.length; var temp2 = memory[0x40:0x60]; memory[0x40:0x60] = temp2 + (temp1 + 0x1f) / 0x20 * 0x20 + 0x20; var var9 = temp2; memory[var9:var9 + 0x20] = temp1; var temp3 = var9 + 0x20; memory[temp3:temp3 + temp1] = msg.data[0x00:0x00 + temp1]; memory[temp3 + temp1:temp3 + temp1 + 0x20] = 0x00; var7 = func_18C8(var8, var9); var5 = var7; // Error: Could not resolve jump destination! } else if (var0 == 0x092a5cce) { // Dispatch table entry for destroyContract() var1 = 0x0242; if (msg.sender == storage[0x01] & (0x01 << 0xa0) - 0x01) { selfdestruct(storage[0x01] & (0x01 << 0xa0) - 0x01); } var temp4 = memory[0x40:0x60]; memory[temp4:temp4 + 0x20] = 0x461bcd << 0xe5; memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = 0x20; memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = 0x1b; var temp5 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp6 = memory[0x00:0x20]; memory[0x00:0x20] = temp5; memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = temp6; var temp7 = memory[0x40:0x60]; revert(memory[temp7:temp7 + temp4 - temp7 + 0x64]); } else if (var0 == 0x0ade8f90) { // Dispatch table entry for 0x0ade8f90 (unknown) var1 = 0x0272; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var2 = msg.data[var2:var2 + 0x20] & (0x01 << 0xa0) - 0x01; var temp8 = memory[0x40:0x60]; memory[0x40:0x60] = temp8 + 0x40; memory[temp8:temp8 + 0x20] = 0x0c; memory[temp8 + 0x20:temp8 + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0; var temp9 = memory[0x40:0x60]; memory[temp9:temp9 + 0x20] = 0x0251382f << 0xe3; memory[temp9 + 0x04:temp9 + 0x04 + 0x20] = 0x20; memory[temp9 + 0x24:temp9 + 0x24 + 0x20] = memory[temp8:temp8 + 0x20]; var3 = 0x60; var4 = var3; var5 = storage[0x02] & (0x01 << 0xa0) - 0x01; var6 = 0x1289c178; var7 = temp8; var8 = temp9 + 0x04; var9 = var8; var var10 = temp9 + 0x44; var var12 = memory[var7:var7 + 0x20]; var var11 = temp8 + 0x20; var var13 = var12; var var14 = var10; var var15 = var11; var var16 = 0x00; if (var16 >= var13) { label_13B1: var temp10 = var12; var10 = temp10 + var10; var11 = temp10 & 0x1f; if (!var11) { var7 = var10; var8 = 0x20; var9 = memory[0x40:0x60]; var10 = var7 - var9; var11 = var9; var12 = var5; var13 = !address(var12).code.length; if (var13) { revert(memory[0x00:0x00]); } label_13FB: var temp11; temp11, memory[var9:var9 + var8] = address(var12).staticcall.gas(msg.gas)(memory[var11:var11 + var10]); var8 = !temp11; if (!var8) { var5 = memory[0x40:0x60]; var6 = returndata.length; if (var6 < 0x20) { revert(memory[0x00:0x00]); } var5 = memory[var5:var5 + 0x20] & (0x01 << 0xa0) - 0x01; var6 = 0x1438; goto label_1C6E; } else { var temp12 = returndata.length; memory[0x00:0x00 + temp12] = returndata[0x00:0x00 + temp12]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp13 = var11; var temp14 = var10 - temp13; memory[temp14:temp14 + 0x20] = ~(0x0100 ** (0x20 - temp13) - 0x01) & memory[temp14:temp14 + 0x20]; var7 = temp14 + 0x20; var8 = 0x20; var9 = memory[0x40:0x60]; var10 = var7 - var9; var11 = var9; var12 = var5; var13 = !address(var12).code.length; if (!var13) { goto label_13FB; } else { revert(memory[0x00:0x00]); } } } else { label_13A2: var temp15 = var16; memory[temp15 + var14:temp15 + var14 + 0x20] = memory[temp15 + var15:temp15 + var15 + 0x20]; var16 = temp15 + 0x20; if (var16 >= var13) { goto label_13B1; } else { goto label_13A2; } } } else if (var0 == 0x1aa3a008) { // Dispatch table entry for register() var1 = 0x0242; register(); stop(); } else { revert(memory[0x00:0x00]); } } else if (var0 == 0x1da97ea3) { // Dispatch table entry for getSenderFromData(address,bytes) var1 = 0x040c; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x40) { revert(memory[0x00:0x00]); } var1 = getSenderFromData(var2, var3); label_040C: var temp16 = memory[0x40:0x60]; memory[temp16:temp16 + 0x20] = var1 & (0x01 << 0xa0) - 0x01; var temp17 = memory[0x40:0x60]; return memory[temp17:temp17 + temp16 - temp17 + 0x20]; } else if (var0 == 0x1e5f3627) { // Dispatch table entry for 0x1e5f3627 (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } func_043E(var2, var3); stop(); } else if (var0 == 0x434a62ec) { // Dispatch table entry for 0x434a62ec (unknown) var1 = 0x0456; var temp18 = memory[0x40:0x60]; memory[0x40:0x60] = temp18 + 0x40; memory[temp18:temp18 + 0x20] = 0x0c; memory[temp18 + 0x20:temp18 + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0; var temp19 = memory[0x40:0x60]; memory[temp19:temp19 + 0x20] = 0x0251382f << 0xe3; memory[temp19 + 0x04:temp19 + 0x04 + 0x20] = 0x20; memory[temp19 + 0x24:temp19 + 0x24 + 0x20] = memory[temp18:temp18 + 0x20]; var2 = 0x00; var3 = storage[0x02] & (0x01 << 0xa0) - 0x01; var4 = 0x1289c178; var5 = temp18; var6 = temp19 + 0x04; var7 = var6; var8 = temp19 + 0x44; var10 = memory[var5:var5 + 0x20]; var9 = temp18 + 0x20; var11 = var10; var12 = var8; var13 = var9; var14 = var2; if (var14 >= var11) { label_1A3A: var temp20 = var10; var8 = temp20 + var8; var9 = temp20 & 0x1f; if (!var9) { var5 = var8; var6 = 0x20; var7 = memory[0x40:0x60]; var8 = var5 - var7; var9 = var7; var10 = var3; var11 = !address(var10).code.length; if (var11) { revert(memory[0x00:0x00]); } label_1A84: var temp21; temp21, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]); var6 = !temp21; if (!var6) { var3 = memory[0x40:0x60]; var4 = returndata.length; if (var4 < 0x20) { revert(memory[0x00:0x00]); } var3 = memory[var3:var3 + 0x20] & (0x01 << 0xa0) - 0x01; var4 = 0x1ac1; goto label_1C6E; } else { var temp22 = returndata.length; memory[0x00:0x00 + temp22] = returndata[0x00:0x00 + temp22]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp23 = var9; var temp24 = var8 - temp23; memory[temp24:temp24 + 0x20] = ~(0x0100 ** (0x20 - temp23) - 0x01) & memory[temp24:temp24 + 0x20]; var5 = temp24 + 0x20; var6 = 0x20; var7 = memory[0x40:0x60]; var8 = var5 - var7; var9 = var7; var10 = var3; var11 = !address(var10).code.length; if (!var11) { goto label_1A84; } else { revert(memory[0x00:0x00]); } } } else { label_1A2B: var temp25 = var14; memory[temp25 + var12:temp25 + var12 + 0x20] = memory[temp25 + var13:temp25 + var13 + 0x20]; var14 = temp25 + 0x20; if (var14 >= var11) { goto label_1A3A; } else { goto label_1A2B; } } } else if (var0 == 0x5e01eb5a) { // Dispatch table entry for getSender() var1 = 0x040c; goto label_1C6E; } else { revert(memory[0x00:0x00]); } } else if (0x80274db7 > var0) { if (var0 == 0x62f61401) { // Dispatch table entry for 0x62f61401 (unknown) var1 = 0x05ce; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x80) { revert(memory[0x00:0x00]); } var temp26 = var2; var temp27 = temp26 + var3; var3 = temp26; var2 = temp27; var4 = var3 + 0x20; var5 = msg.data[var3:var3 + 0x20]; if (var5 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp28 = var3 + var5; var5 = temp28; if (var5 + 0x20 > var2) { revert(memory[0x00:0x00]); } var temp29 = var5; var temp30 = msg.data[temp29:temp29 + 0x20]; var5 = temp30; var6 = var4; var4 = temp29 + 0x20; if ((var5 > 0x01 << 0x20) | (var4 + var5 > var2)) { revert(memory[0x00:0x00]); } var temp31 = var6; var temp32 = var2; var2 = var4; var temp33 = var3; var3 = var5; var5 = temp33; var4 = temp32; var6 = temp31 + 0x20; var7 = msg.data[temp31:temp31 + 0x20]; if (var7 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp34 = var5 + var7; var7 = temp34; if (var7 + 0x20 > var4) { revert(memory[0x00:0x00]); } var temp35 = var7; var temp36 = msg.data[temp35:temp35 + 0x20]; var7 = temp36; var8 = var6; var6 = temp35 + 0x20; if ((var7 > 0x01 << 0x20) | (var6 + var7 > var4)) { revert(memory[0x00:0x00]); } var temp37 = var8; var temp38 = var4; var4 = var6; var temp39 = var5; var5 = var7; var7 = temp39; var6 = temp38; var8 = temp37 + 0x20; var9 = msg.data[temp37:temp37 + 0x20]; if (var9 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp40 = var7 + var9; var9 = temp40; if (var9 + 0x20 > var6) { revert(memory[0x00:0x00]); } var temp41 = var9; var temp42 = msg.data[temp41:temp41 + 0x20]; var9 = temp42; var10 = var8; var8 = temp41 + 0x20; if ((var9 > 0x01 << 0x20) | (var8 + var9 > var6)) { revert(memory[0x00:0x00]); } var temp43 = var10; var temp44 = var6; var6 = var8; var temp45 = var7; var7 = var9; var9 = temp45; var8 = temp44; var10 = temp43 + 0x20; var11 = msg.data[temp43:temp43 + 0x20]; if (var11 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp46 = var9 + var11; var11 = temp46; if (var11 + 0x20 > var8) { revert(memory[0x00:0x00]); } var temp47 = var11; var temp48 = msg.data[temp47:temp47 + 0x20]; var11 = temp48; var12 = var10; var10 = temp47 + 0x20; if ((var11 > 0x01 << 0x20) | (var10 + var11 > var8)) { revert(memory[0x00:0x00]); } var8 = var10; var9 = var11; var10 = 0x00; var11 = 0x1cc0; var11 = func_4E95(); if (var11) { var11 = !!var3; if (!var3) { if (!var11) { revert(memory[0x00:0x00]); } label_1D28: var11 = 0x1d38; var12 = 0x1d33; goto label_1C6E; } else if (var5) { goto label_1D28; } else { revert(memory[0x00:0x00]); } } else { var temp49 = memory[0x40:0x60]; memory[temp49:temp49 + 0x20] = 0x461bcd << 0xe5; memory[temp49 + 0x04:temp49 + 0x04 + 0x20] = 0x20; memory[temp49 + 0x24:temp49 + 0x24 + 0x20] = 0x18; memory[temp49 + 0x44:temp49 + 0x44 + 0x20] = 0x4f776e657273206d75737420626520696e697469617465640000000000000000; var temp50 = memory[0x40:0x60]; revert(memory[temp50:temp50 + temp49 - temp50 + 0x64]); } } else if (var0 == 0x64cb4edb) { // Dispatch table entry for transferDeveloper(address) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } transferDeveloper(var2, var3); stop(); } else if (var0 == 0x74e861d6) { // Dispatch table entry for getHubAddr() var1 = 0x040c; var1 = getHubAddr(); goto label_040C; } else if (var0 == 0x75d0c0dc) { // Dispatch table entry for contractName() var1 = 0x0618; var2 = contractName(); label_0618: var temp51 = memory[0x40:0x60]; memory[temp51:temp51 + 0x20] = 0x20; var temp52 = var2; memory[temp51 + 0x20:temp51 + 0x20 + 0x20] = memory[temp52:temp52 + 0x20]; var3 = temp51; var4 = var3; var5 = var4 + 0x40; var7 = memory[temp52:temp52 + 0x20]; var6 = temp52 + 0x20; var8 = var7; var9 = var5; var10 = var6; var11 = 0x00; if (var11 >= var8) { label_0652: var temp53 = var7; var5 = temp53 + var5; var6 = temp53 & 0x1f; if (!var6) { var temp54 = memory[0x40:0x60]; return memory[temp54:temp54 + var5 - temp54]; } else { var temp55 = var6; var temp56 = var5 - temp55; memory[temp56:temp56 + 0x20] = ~(0x0100 ** (0x20 - temp55) - 0x01) & memory[temp56:temp56 + 0x20]; var temp57 = memory[0x40:0x60]; return memory[temp57:temp57 + (temp56 + 0x20) - temp57]; } } else { label_0643: var temp58 = var11; memory[temp58 + var9:temp58 + var9 + 0x20] = memory[temp58 + var10:temp58 + var10 + 0x20]; var11 = temp58 + 0x20; if (var11 >= var8) { goto label_0652; } else { goto label_0643; } } } else { revert(memory[0x00:0x00]); } } else if (var0 == 0x80274db7) { // Dispatch table entry for preRelayedCall(bytes) var1 = 0x0456; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var1 = preRelayedCall(var2, var3); label_0456: var temp59 = memory[0x40:0x60]; memory[temp59:temp59 + 0x20] = var1; var temp60 = memory[0x40:0x60]; return memory[temp60:temp60 + temp59 - temp60 + 0x20]; } else if (var0 == 0x80fb948c) { // Dispatch table entry for 0x80fb948c (unknown) var1 = 0x0718; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var2 = msg.data[var2:var2 + 0x20]; var temp61 = memory[0x40:0x60]; memory[0x40:0x60] = temp61 + 0x40; memory[temp61:temp61 + 0x20] = 0x0c; memory[temp61 + 0x20:temp61 + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0; var temp62 = memory[0x40:0x60]; memory[temp62:temp62 + 0x20] = 0x0251382f << 0xe3; memory[temp62 + 0x04:temp62 + 0x04 + 0x20] = 0x20; memory[temp62 + 0x24:temp62 + 0x24 + 0x20] = memory[temp61:temp61 + 0x20]; var3 = 0x00; var4 = 0x60; var5 = var4; var6 = storage[0x02] & (0x01 << 0xa0) - 0x01; var7 = 0x1289c178; var8 = temp61; var9 = temp62 + 0x04; var10 = var9; var11 = temp62 + 0x44; var12 = temp61 + 0x20; var13 = memory[var8:var8 + 0x20]; var14 = var13; var15 = var11; var16 = var12; var var17 = var3; if (var17 >= var14) { label_2360: var temp63 = var13; var11 = temp63 + var11; var12 = temp63 & 0x1f; if (!var12) { var8 = var11; var9 = 0x20; var10 = memory[0x40:0x60]; var11 = var8 - var10; var12 = var10; var13 = var6; var14 = !address(var13).code.length; if (var14) { revert(memory[0x00:0x00]); } label_23AA: var temp64; temp64, memory[var10:var10 + var9] = address(var13).staticcall.gas(msg.gas)(memory[var12:var12 + var11]); var9 = !temp64; if (!var9) { var6 = memory[0x40:0x60]; var7 = returndata.length; if (var7 < 0x20) { revert(memory[0x00:0x00]); } var6 = memory[var6:var6 + 0x20] & (0x01 << 0xa0) - 0x01; var7 = 0x23e7; goto label_1C6E; } else { var temp65 = returndata.length; memory[0x00:0x00 + temp65] = returndata[0x00:0x00 + temp65]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp66 = var12; var temp67 = var11 - temp66; memory[temp67:temp67 + 0x20] = ~(0x0100 ** (0x20 - temp66) - 0x01) & memory[temp67:temp67 + 0x20]; var8 = temp67 + 0x20; var9 = 0x20; var10 = memory[0x40:0x60]; var11 = var8 - var10; var12 = var10; var13 = var6; var14 = !address(var13).code.length; if (!var14) { goto label_23AA; } else { revert(memory[0x00:0x00]); } } } else { label_2351: var temp68 = var17; memory[temp68 + var15:temp68 + var15 + 0x20] = memory[temp68 + var16:temp68 + var16 + 0x20]; var17 = temp68 + 0x20; if (var17 >= var14) { goto label_2360; } else { goto label_2351; } } } else if (var0 == 0x83947ea0) { // Dispatch table entry for acceptRelayedCall(address,address,bytes,uint256,uint256,uint256,uint256,bytes,uint256) var1 = 0x08fd; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x0120) { revert(memory[0x00:0x00]); } var1, var2 = acceptRelayedCall(var2, var3); var temp69 = memory[0x40:0x60]; var3 = temp69; memory[var3:var3 + 0x20] = var1; var temp70 = var3 + 0x20; var4 = temp70; var temp71 = var4 + 0x20; memory[var4:var4 + 0x20] = temp71 - var3; var temp72 = var2; memory[temp71:temp71 + 0x20] = memory[temp72:temp72 + 0x20]; var5 = temp71 + 0x20; var7 = memory[temp72:temp72 + 0x20]; var6 = temp72 + 0x20; var8 = var7; var9 = var5; var10 = var6; var11 = 0x00; if (var11 >= var8) { label_0940: var temp73 = var7; var5 = temp73 + var5; var6 = temp73 & 0x1f; if (!var6) { var temp74 = memory[0x40:0x60]; return memory[temp74:temp74 + var5 - temp74]; } else { var temp75 = var6; var temp76 = var5 - temp75; memory[temp76:temp76 + 0x20] = ~(0x0100 ** (0x20 - temp75) - 0x01) & memory[temp76:temp76 + 0x20]; var temp77 = memory[0x40:0x60]; return memory[temp77:temp77 + (temp76 + 0x20) - temp77]; } } else { label_0931: var temp78 = var11; memory[temp78 + var9:temp78 + var9 + 0x20] = memory[temp78 + var10:temp78 + var10 + 0x20]; var11 = temp78 + 0x20; if (var11 >= var8) { goto label_0940; } else { goto label_0931; } } } else if (var0 == 0x8d07ac2f) { // Dispatch table entry for 0x8d07ac2f (unknown) var1 = 0x0456; var1 = func_25B1(); goto label_0456; } else if (var0 == 0x8eea2565) { // Dispatch table entry for 0x8eea2565 (unknown) var1 = 0x0456; var1 = func_26A5(); goto label_0456; } else { revert(memory[0x00:0x00]); } } else if (0xae1885ee > var0) { if (0xa0a8e460 > var0) { if (var0 == 0x91a3c7d2) { // Dispatch table entry for 0x91a3c7d2 (unknown) var1 = 0x0456; var1 = func_26FC(); goto label_0456; } else if (var0 == 0x9d74689f) { // Dispatch table entry for 0x9d74689f (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x40) { revert(memory[0x00:0x00]); } var temp79 = var2; var temp80 = temp79 + var3; var3 = temp79; var2 = temp80; var4 = var3 + 0x20; var5 = msg.data[var3:var3 + 0x20]; if (var5 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp81 = var3 + var5; var5 = temp81; if (var5 + 0x20 > var2) { revert(memory[0x00:0x00]); } var temp82 = var5; var temp83 = msg.data[temp82:temp82 + 0x20]; var5 = temp83; var temp84 = var4; var4 = temp82 + 0x20; var6 = temp84; if ((var5 > 0x01 << 0x20) | (var4 + var5 > var2)) { revert(memory[0x00:0x00]); } var temp85 = var6; var temp86 = var2; var2 = var4; var temp87 = var3; var3 = var5; var5 = temp87; var4 = temp86; var6 = temp85 + 0x20; var7 = msg.data[temp85:temp85 + 0x20]; if (var7 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp88 = var5 + var7; var7 = temp88; if (var7 + 0x20 > var4) { revert(memory[0x00:0x00]); } var temp89 = var7; var temp90 = msg.data[temp89:temp89 + 0x20]; var7 = temp90; var8 = var6; var6 = temp89 + 0x20; if ((var7 > 0x01 << 0x20) | (var6 + var7 > var4)) { revert(memory[0x00:0x00]); } var4 = var6; var5 = var7; var6 = 0x270d; var7 = 0x1d33; goto label_1C6E; } else if (var0 == 0x9eab5253) { // Dispatch table entry for getMembers() var1 = 0x0a5a; var temp91 = memory[0x40:0x60]; memory[0x40:0x60] = temp91 + 0x40; memory[temp91:temp91 + 0x20] = 0x0c; memory[temp91 + 0x20:temp91 + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0; var temp92 = memory[0x40:0x60]; memory[temp92:temp92 + 0x20] = 0x0251382f << 0xe3; memory[temp92 + 0x04:temp92 + 0x04 + 0x20] = 0x20; memory[temp92 + 0x24:temp92 + 0x24 + 0x20] = memory[temp91:temp91 + 0x20]; var2 = 0x60; var3 = storage[0x02] & (0x01 << 0xa0) - 0x01; var4 = 0x1289c178; var5 = temp91; var6 = temp92 + 0x04; var7 = var6; var8 = temp92 + 0x44; var10 = memory[var5:var5 + 0x20]; var9 = temp91 + 0x20; var11 = var10; var12 = var8; var13 = var9; var14 = 0x00; if (var14 >= var11) { label_2991: var temp93 = var10; var8 = temp93 + var8; var9 = temp93 & 0x1f; if (!var9) { var5 = var8; var6 = 0x20; var7 = memory[0x40:0x60]; var8 = var5 - var7; var9 = var7; var10 = var3; var11 = !address(var10).code.length; if (var11) { revert(memory[0x00:0x00]); } label_29DB: var temp94; temp94, memory[var7:var7 + var6] = address(var10).staticcall.gas(msg.gas)(memory[var9:var9 + var8]); var6 = !temp94; if (!var6) { var3 = memory[0x40:0x60]; var4 = returndata.length; if (var4 < 0x20) { revert(memory[0x00:0x00]); } var3 = memory[var3:var3 + 0x20] & (0x01 << 0xa0) - 0x01; var4 = 0x2a18; goto label_1C6E; } else { var temp95 = returndata.length; memory[0x00:0x00 + temp95] = returndata[0x00:0x00 + temp95]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp96 = var9; var temp97 = var8 - temp96; memory[temp97:temp97 + 0x20] = ~(0x0100 ** (0x20 - temp96) - 0x01) & memory[temp97:temp97 + 0x20]; var5 = temp97 + 0x20; var6 = 0x20; var7 = memory[0x40:0x60]; var8 = var5 - var7; var9 = var7; var10 = var3; var11 = !address(var10).code.length; if (!var11) { goto label_29DB; } else { revert(memory[0x00:0x00]); } } } else { label_2982: var temp98 = var14; memory[temp98 + var12:temp98 + var12 + 0x20] = memory[temp98 + var13:temp98 + var13 + 0x20]; var14 = temp98 + 0x20; if (var14 >= var11) { goto label_2991; } else { goto label_2982; } } } else if (var0 == 0x9f951be8) { // Dispatch table entry for 0x9f951be8 (unknown) var1 = 0x05ce; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x40) { revert(memory[0x00:0x00]); } var1 = func_0AC0(var2, var3); label_05CE: var temp99 = memory[0x40:0x60]; memory[temp99:temp99 + 0x20] = !!var1; var temp100 = memory[0x40:0x60]; return memory[temp100:temp100 + temp99 - temp100 + 0x20]; } else { revert(memory[0x00:0x00]); } } else if (var0 == 0xa0a8e460) { // Dispatch table entry for contractVersion() var1 = 0x0618; var2 = contractVersion(); goto label_0618; } else if (var0 == 0xa230c524) { // Dispatch table entry for isMember(address) var1 = 0x05ce; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var1 = isMember(var2, var3); goto label_05CE; } else if (var0 == 0xa86e5ffd) { // Dispatch table entry for 0xa86e5ffd (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x80) { revert(memory[0x00:0x00]); } var temp101 = var2; var2 = msg.data[temp101:temp101 + 0x20] & (0x01 << 0xa0) - 0x01; var3 = temp101 + var3; var4 = temp101; var5 = var4 + 0x40; var6 = msg.data[var4 + 0x20:var4 + 0x20 + 0x20]; if (var6 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp102 = var4 + var6; var6 = temp102; if (var6 + 0x20 > var3) { revert(memory[0x00:0x00]); } var temp103 = var6; var temp104 = msg.data[temp103:temp103 + 0x20]; var6 = temp104; var7 = var5; var5 = temp103 + 0x20; if ((var6 > 0x01 << 0x20) | (var5 + var6 > var3)) { revert(memory[0x00:0x00]); } var temp105 = var7; var temp106 = var3; var3 = var5; var temp107 = var4; var4 = var6; var6 = temp107; var5 = temp106; var7 = temp105 + 0x20; var8 = msg.data[temp105:temp105 + 0x20]; if (var8 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp108 = var6 + var8; var8 = temp108; if (var8 + 0x20 > var5) { revert(memory[0x00:0x00]); } var temp109 = var8; var temp110 = msg.data[temp109:temp109 + 0x20]; var8 = temp110; var temp111 = var7; var7 = temp109 + 0x20; var9 = temp111; if ((var8 > 0x01 << 0x20) | (var7 + var8 > var5)) { revert(memory[0x00:0x00]); } var5 = var7; var6 = var8; var7 = msg.data[var9:var9 + 0x20]; var temp112 = memory[0x40:0x60]; var10 = temp112; memory[0x40:0x60] = var10 + 0x40; memory[var10:var10 + 0x20] = 0x0c; memory[var10 + 0x20:var10 + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0; var temp113 = memory[0x40:0x60]; memory[temp113:temp113 + 0x20] = 0x0251382f << 0xe3; memory[temp113 + 0x04:temp113 + 0x04 + 0x20] = 0x20; memory[temp113 + 0x24:temp113 + 0x24 + 0x20] = memory[var10:var10 + 0x20]; var8 = storage[0x02] & (0x01 << 0xa0) - 0x01; var9 = 0x1289c178; var11 = temp113 + 0x04; var14 = var10 + 0x20; var12 = var11; var15 = memory[var10:var10 + 0x20]; var13 = temp113 + 0x44; var16 = var15; var17 = var13; var var18 = var14; var var19 = 0x00; if (var19 >= var16) { label_2E9B: var temp114 = var15; var13 = temp114 + var13; var14 = temp114 & 0x1f; if (!var14) { var10 = var13; var11 = 0x20; var12 = memory[0x40:0x60]; var13 = var10 - var12; var14 = var12; var15 = var8; var16 = !address(var15).code.length; if (var16) { revert(memory[0x00:0x00]); } label_2EE5: var temp115; temp115, memory[var12:var12 + var11] = address(var15).staticcall.gas(msg.gas)(memory[var14:var14 + var13]); var11 = !temp115; if (!var11) { var8 = memory[0x40:0x60]; var9 = returndata.length; if (var9 < 0x20) { revert(memory[0x00:0x00]); } var8 = memory[var8:var8 + 0x20] & (0x01 << 0xa0) - 0x01; var9 = 0x2f54bf6e; var10 = 0x2f27; goto label_1C6E; } else { var temp116 = returndata.length; memory[0x00:0x00 + temp116] = returndata[0x00:0x00 + temp116]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp117 = var14; var temp118 = var13 - temp117; memory[temp118:temp118 + 0x20] = ~(0x0100 ** (0x20 - temp117) - 0x01) & memory[temp118:temp118 + 0x20]; var10 = temp118 + 0x20; var11 = 0x20; var12 = memory[0x40:0x60]; var13 = var10 - var12; var14 = var12; var15 = var8; var16 = !address(var15).code.length; if (!var16) { goto label_2EE5; } else { revert(memory[0x00:0x00]); } } } else { label_2E8C: var temp119 = var19; memory[temp119 + var17:temp119 + var17 + 0x20] = memory[temp119 + var18:temp119 + var18 + 0x20]; var19 = temp119 + 0x20; if (var19 >= var16) { goto label_2E9B; } else { goto label_2E8C; } } } else if (var0 == 0xab3545e5) { // Dispatch table entry for getMember(uint256) var1 = 0x0bef; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var2 = msg.data[var2:var2 + 0x20]; var temp120 = memory[0x40:0x60]; memory[0x40:0x60] = temp120 + 0x40; memory[temp120:temp120 + 0x20] = 0x0c; memory[temp120 + 0x20:temp120 + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0; var temp121 = memory[0x40:0x60]; memory[temp121:temp121 + 0x20] = 0x0251382f << 0xe3; memory[temp121 + 0x04:temp121 + 0x04 + 0x20] = 0x20; memory[temp121 + 0x24:temp121 + 0x24 + 0x20] = memory[temp120:temp120 + 0x20]; var3 = 0x00; var4 = 0x60; var5 = var4; var11 = temp120; var6 = var5; var7 = var3; var8 = var7; var9 = storage[0x02] & (0x01 << 0xa0) - 0x01; var10 = 0x1289c178; var15 = temp120 + 0x20; var12 = temp121 + 0x04; var13 = var12; var16 = memory[var11:var11 + 0x20]; var14 = temp121 + 0x44; var17 = var16; var18 = var14; var19 = var15; var var20 = var8; if (var20 >= var17) { label_32EA: var temp122 = var16; var14 = temp122 + var14; var15 = temp122 & 0x1f; if (!var15) { var11 = var14; var12 = 0x20; var13 = memory[0x40:0x60]; var14 = var11 - var13; var15 = var13; var16 = var9; var17 = !address(var16).code.length; if (var17) { revert(memory[0x00:0x00]); } label_3334: var temp123; temp123, memory[var13:var13 + var12] = address(var16).staticcall.gas(msg.gas)(memory[var15:var15 + var14]); var12 = !temp123; if (!var12) { var9 = memory[0x40:0x60]; var10 = returndata.length; if (var10 < 0x20) { revert(memory[0x00:0x00]); } var9 = memory[var9:var9 + 0x20] & (0x01 << 0xa0) - 0x01; var10 = 0x3371; goto label_1C6E; } else { var temp124 = returndata.length; memory[0x00:0x00 + temp124] = returndata[0x00:0x00 + temp124]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp125 = var15; var temp126 = var14 - temp125; memory[temp126:temp126 + 0x20] = ~(0x0100 ** (0x20 - temp125) - 0x01) & memory[temp126:temp126 + 0x20]; var11 = temp126 + 0x20; var12 = 0x20; var13 = memory[0x40:0x60]; var14 = var11 - var13; var15 = var13; var16 = var9; var17 = !address(var16).code.length; if (!var17) { goto label_3334; } else { revert(memory[0x00:0x00]); } } } else { label_32DB: var temp127 = var20; memory[temp127 + var18:temp127 + var18 + 0x20] = memory[temp127 + var19:temp127 + var19 + 0x20]; var20 = temp127 + 0x20; if (var20 >= var17) { goto label_32EA; } else { goto label_32DB; } } } else if (var0 == 0xac570411) { // Dispatch table entry for getRecipientBalance() var1 = 0x0456; var1 = getRecipientBalance(); goto label_0456; } else { revert(memory[0x00:0x00]); } } else if (0xce458581 > var0) { if (var0 == 0xae1885ee) { // Dispatch table entry for 0xae1885ee (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x60) { revert(memory[0x00:0x00]); } var temp128 = var2; var2 = msg.data[temp128:temp128 + 0x20] & (0x01 << 0xa0) - 0x01; var3 = temp128 + var3; var4 = temp128; var5 = var4 + 0x40; var6 = msg.data[var4 + 0x20:var4 + 0x20 + 0x20]; if (var6 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp129 = var4 + var6; var6 = temp129; if (var6 + 0x20 > var3) { revert(memory[0x00:0x00]); } var temp130 = var6; var temp131 = msg.data[temp130:temp130 + 0x20]; var6 = temp131; var temp132 = var5; var5 = temp130 + 0x20; var7 = temp132; if ((var6 > 0x01 << 0x20) | (var5 + var6 > var3)) { revert(memory[0x00:0x00]); } var temp133 = var7; var temp134 = var3; var3 = var5; var temp135 = var4; var4 = var6; var6 = temp135; var5 = temp134; var7 = temp133 + 0x20; var8 = msg.data[temp133:temp133 + 0x20]; if (var8 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp136 = var6 + var8; var8 = temp136; if (var8 + 0x20 > var5) { revert(memory[0x00:0x00]); } var temp137 = var8; var temp138 = msg.data[temp137:temp137 + 0x20]; var8 = temp138; var9 = var7; var7 = temp137 + 0x20; if ((var8 > 0x01 << 0x20) | (var7 + var8 > var5)) { revert(memory[0x00:0x00]); } var5 = var7; var6 = var8; var temp139 = memory[0x40:0x60]; var9 = temp139; memory[0x40:0x60] = var9 + 0x40; memory[var9:var9 + 0x20] = 0x0c; memory[var9 + 0x20:var9 + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0; var temp140 = memory[0x40:0x60]; memory[temp140:temp140 + 0x20] = 0x0251382f << 0xe3; memory[temp140 + 0x04:temp140 + 0x04 + 0x20] = 0x20; memory[temp140 + 0x24:temp140 + 0x24 + 0x20] = memory[var9:var9 + 0x20]; var7 = storage[0x02] & (0x01 << 0xa0) - 0x01; var8 = 0x1289c178; var13 = var9 + 0x20; var10 = temp140 + 0x04; var11 = var10; var12 = temp140 + 0x44; var14 = memory[var9:var9 + 0x20]; var15 = var14; var16 = var12; var17 = var13; var18 = 0x00; if (var18 >= var15) { label_37E9: var temp141 = var14; var12 = temp141 + var12; var13 = temp141 & 0x1f; if (!var13) { var9 = var12; var10 = 0x20; var11 = memory[0x40:0x60]; var12 = var9 - var11; var13 = var11; var14 = var7; var15 = !address(var14).code.length; if (var15) { revert(memory[0x00:0x00]); } label_3833: var temp142; temp142, memory[var11:var11 + var10] = address(var14).staticcall.gas(msg.gas)(memory[var13:var13 + var12]); var10 = !temp142; if (!var10) { var7 = memory[0x40:0x60]; var8 = returndata.length; if (var8 < 0x20) { revert(memory[0x00:0x00]); } var7 = memory[var7:var7 + 0x20] & (0x01 << 0xa0) - 0x01; var8 = 0x2f54bf6e; var9 = 0x3875; goto label_1C6E; } else { var temp143 = returndata.length; memory[0x00:0x00 + temp143] = returndata[0x00:0x00 + temp143]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp144 = var13; var temp145 = var12 - temp144; memory[temp145:temp145 + 0x20] = ~(0x0100 ** (0x20 - temp144) - 0x01) & memory[temp145:temp145 + 0x20]; var9 = temp145 + 0x20; var10 = 0x20; var11 = memory[0x40:0x60]; var12 = var9 - var11; var13 = var11; var14 = var7; var15 = !address(var14).code.length; if (!var15) { goto label_3833; } else { revert(memory[0x00:0x00]); } } } else { label_37DA: var temp146 = var18; memory[temp146 + var16:temp146 + var16 + 0x20] = memory[temp146 + var17:temp146 + var17 + 0x20]; var18 = temp146 + 0x20; if (var18 >= var15) { goto label_37E9; } else { goto label_37DA; } } } else if (var0 == 0xb0622f60) { // Dispatch table entry for 0xb0622f60 (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x40) { revert(memory[0x00:0x00]); } var temp147 = var2; var temp148 = temp147 + var3; var3 = temp147; var2 = temp148; var4 = var3 + 0x20; var5 = msg.data[var3:var3 + 0x20]; if (var5 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp149 = var3 + var5; var5 = temp149; if (var5 + 0x20 > var2) { revert(memory[0x00:0x00]); } var temp150 = var5; var temp151 = msg.data[temp150:temp150 + 0x20]; var5 = temp151; var6 = var4; var4 = temp150 + 0x20; if ((var5 > 0x01 << 0x20) | (var4 + var5 > var2)) { revert(memory[0x00:0x00]); } var temp152 = var6; var temp153 = var2; var2 = var4; var temp154 = var3; var3 = var5; var5 = temp154; var4 = temp153; var6 = temp152 + 0x20; var7 = msg.data[temp152:temp152 + 0x20]; if (var7 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp155 = var5 + var7; var7 = temp155; if (var7 + 0x20 > var4) { revert(memory[0x00:0x00]); } var temp156 = var7; var temp157 = msg.data[temp156:temp156 + 0x20]; var7 = temp157; var8 = var6; var6 = temp156 + 0x20; if ((var7 > 0x01 << 0x20) | (var6 + var7 > var4)) { revert(memory[0x00:0x00]); } var4 = var6; var5 = var7; var temp158 = memory[0x40:0x60]; var8 = temp158; memory[0x40:0x60] = var8 + 0x40; memory[var8:var8 + 0x20] = 0x0c; memory[var8 + 0x20:var8 + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0; var temp159 = memory[0x40:0x60]; memory[temp159:temp159 + 0x20] = 0x0251382f << 0xe3; memory[temp159 + 0x04:temp159 + 0x04 + 0x20] = 0x20; memory[temp159 + 0x24:temp159 + 0x24 + 0x20] = memory[var8:var8 + 0x20]; var6 = storage[0x02] & (0x01 << 0xa0) - 0x01; var7 = 0x1289c178; var9 = temp159 + 0x04; var12 = var8 + 0x20; var10 = var9; var11 = temp159 + 0x44; var13 = memory[var8:var8 + 0x20]; var14 = var13; var15 = var11; var16 = var12; var17 = 0x00; if (var17 >= var14) { label_3D03: var temp160 = var13; var11 = temp160 + var11; var12 = temp160 & 0x1f; if (!var12) { var8 = var11; var9 = 0x20; var10 = memory[0x40:0x60]; var11 = var8 - var10; var12 = var10; var13 = var6; var14 = !address(var13).code.length; if (var14) { revert(memory[0x00:0x00]); } label_3D4D: var temp161; temp161, memory[var10:var10 + var9] = address(var13).staticcall.gas(msg.gas)(memory[var12:var12 + var11]); var9 = !temp161; if (!var9) { var6 = memory[0x40:0x60]; var7 = returndata.length; if (var7 < 0x20) { revert(memory[0x00:0x00]); } var6 = memory[var6:var6 + 0x20] & (0x01 << 0xa0) - 0x01; var7 = 0x2f54bf6e; var8 = 0x3d8f; goto label_1C6E; } else { var temp162 = returndata.length; memory[0x00:0x00 + temp162] = returndata[0x00:0x00 + temp162]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp163 = var12; var temp164 = var11 - temp163; memory[temp164:temp164 + 0x20] = ~(0x0100 ** (0x20 - temp163) - 0x01) & memory[temp164:temp164 + 0x20]; var8 = temp164 + 0x20; var9 = 0x20; var10 = memory[0x40:0x60]; var11 = var8 - var10; var12 = var10; var13 = var6; var14 = !address(var13).code.length; if (!var14) { goto label_3D4D; } else { revert(memory[0x00:0x00]); } } } else { label_3CF4: var temp165 = var17; memory[temp165 + var15:temp165 + var15 + 0x20] = memory[temp165 + var16:temp165 + var16 + 0x20]; var17 = temp165 + 0x20; if (var17 >= var14) { goto label_3D03; } else { goto label_3CF4; } } } else if (var0 == 0xc4769517) { // Dispatch table entry for 0xc4769517 (unknown) var1 = 0x05ce; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var2 = msg.data[var2:var2 + 0x20]; var temp166 = memory[0x40:0x60]; memory[0x40:0x60] = temp166 + 0x40; memory[temp166:temp166 + 0x20] = 0x0c; memory[temp166 + 0x20:temp166 + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0; var temp167 = memory[0x40:0x60]; memory[temp167:temp167 + 0x20] = 0x0251382f << 0xe3; memory[temp167 + 0x04:temp167 + 0x04 + 0x20] = 0x20; memory[temp167 + 0x24:temp167 + 0x24 + 0x20] = memory[temp166:temp166 + 0x20]; var3 = 0x00; var4 = storage[0x02] & (0x01 << 0xa0) - 0x01; var5 = 0x1289c178; var6 = temp166; var7 = temp167 + 0x04; var8 = var7; var9 = temp167 + 0x44; var11 = memory[var6:var6 + 0x20]; var10 = temp166 + 0x20; var12 = var11; var13 = var9; var14 = var10; var15 = var3; if (var15 >= var12) { label_425C: var temp168 = var11; var9 = temp168 + var9; var10 = temp168 & 0x1f; if (!var10) { var6 = var9; var7 = 0x20; var8 = memory[0x40:0x60]; var9 = var6 - var8; var10 = var8; var11 = var4; var12 = !address(var11).code.length; if (var12) { revert(memory[0x00:0x00]); } label_42A6: var temp169; temp169, memory[var8:var8 + var7] = address(var11).staticcall.gas(msg.gas)(memory[var10:var10 + var9]); var7 = !temp169; if (!var7) { var4 = memory[0x40:0x60]; var5 = returndata.length; if (var5 < 0x20) { revert(memory[0x00:0x00]); } var4 = memory[var4:var4 + 0x20] & (0x01 << 0xa0) - 0x01; var5 = 0x2f54bf6e; var6 = 0x42e8; goto label_1C6E; } else { var temp170 = returndata.length; memory[0x00:0x00 + temp170] = returndata[0x00:0x00 + temp170]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp171 = var10; var temp172 = var9 - temp171; memory[temp172:temp172 + 0x20] = ~(0x0100 ** (0x20 - temp171) - 0x01) & memory[temp172:temp172 + 0x20]; var6 = temp172 + 0x20; var7 = 0x20; var8 = memory[0x40:0x60]; var9 = var6 - var8; var10 = var8; var11 = var4; var12 = !address(var11).code.length; if (!var12) { goto label_42A6; } else { revert(memory[0x00:0x00]); } } } else { label_424D: var temp173 = var15; memory[temp173 + var13:temp173 + var13 + 0x20] = memory[temp173 + var14:temp173 + var14 + 0x20]; var15 = temp173 + 0x20; if (var15 >= var12) { goto label_425C; } else { goto label_424D; } } } else if (var0 == 0xca4b208b) { // Dispatch table entry for developer() var1 = 0x040c; var2 = developer(); goto label_040C; } else { revert(memory[0x00:0x00]); } } else if (var0 == 0xce458581) { // Dispatch table entry for 0xce458581 (unknown) var1 = 0x05ce; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x20) { revert(memory[0x00:0x00]); } var1 = func_0F3B(var2, var3); goto label_05CE; } else if (var0 == 0xd2629bbb) { // Dispatch table entry for 0xd2629bbb (unknown) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0xa0) { revert(memory[0x00:0x00]); } var temp174 = var2; var temp175 = temp174 + var3; var3 = temp174; var2 = temp175; var4 = var3 + 0x20; var5 = msg.data[var3:var3 + 0x20]; if (var5 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp176 = var3 + var5; var5 = temp176; if (var5 + 0x20 > var2) { revert(memory[0x00:0x00]); } var temp177 = var5; var temp178 = msg.data[temp177:temp177 + 0x20]; var5 = temp178; var6 = var4; var4 = temp177 + 0x20; if ((var5 > 0x01 << 0x20) | (var4 + var5 > var2)) { revert(memory[0x00:0x00]); } var temp179 = var6; var temp180 = var2; var2 = var4; var temp181 = var3; var3 = var5; var5 = temp181; var4 = temp180; var6 = temp179 + 0x20; var7 = msg.data[temp179:temp179 + 0x20]; if (var7 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp182 = var5 + var7; var7 = temp182; if (var7 + 0x20 > var4) { revert(memory[0x00:0x00]); } var temp183 = var7; var temp184 = msg.data[temp183:temp183 + 0x20]; var7 = temp184; var8 = var6; var6 = temp183 + 0x20; if ((var7 > 0x01 << 0x20) | (var6 + var7 > var4)) { revert(memory[0x00:0x00]); } var temp185 = var8; var temp186 = var4; var4 = var6; var temp187 = var5; var5 = var7; var7 = temp187; var6 = temp186; var8 = temp185 + 0x20; var9 = msg.data[temp185:temp185 + 0x20]; if (var9 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp188 = var7 + var9; var9 = temp188; if (var9 + 0x20 > var6) { revert(memory[0x00:0x00]); } var temp189 = var9; var temp190 = msg.data[temp189:temp189 + 0x20]; var9 = temp190; var temp191 = var8; var8 = temp189 + 0x20; var10 = temp191; if ((var9 > 0x01 << 0x20) | (var8 + var9 > var6)) { revert(memory[0x00:0x00]); } var temp192 = var10; var temp193 = var6; var6 = var8; var temp194 = var7; var7 = var9; var9 = temp194; var8 = temp193; var10 = temp192 + 0x20; var11 = msg.data[temp192:temp192 + 0x20]; if (var11 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp195 = var9 + var11; var11 = temp195; if (var11 + 0x20 > var8) { revert(memory[0x00:0x00]); } var temp196 = var11; var temp197 = msg.data[temp196:temp196 + 0x20]; var11 = temp197; var temp198 = var10; var10 = temp196 + 0x20; var12 = temp198; if ((var11 > 0x01 << 0x20) | (var10 + var11 > var8)) { revert(memory[0x00:0x00]); } var temp199 = var12; var temp200 = var8; var8 = var10; var temp201 = var9; var9 = var11; var11 = temp201; var10 = temp200; var12 = temp199 + 0x20; var13 = msg.data[temp199:temp199 + 0x20]; if (var13 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp202 = var11 + var13; var13 = temp202; if (var13 + 0x20 > var10) { revert(memory[0x00:0x00]); } var temp203 = var13; var temp204 = msg.data[temp203:temp203 + 0x20]; var13 = temp204; var14 = var12; var12 = temp203 + 0x20; if ((var13 > 0x01 << 0x20) | (var12 + var13 > var10)) { revert(memory[0x00:0x00]); } var10 = var12; var11 = var13; var12 = 0x456e; var13 = 0x1d33; goto label_1C6E; } else if (var0 == 0xd5a285cb) { // Dispatch table entry for 0xd5a285cb (unknown) var1 = 0x0242; func_4951(); stop(); } else if (var0 == 0xe06e0e22) { // Dispatch table entry for postRelayedCall(bytes,bool,uint256,bytes32) var1 = 0x0242; var2 = 0x04; var3 = msg.data.length - var2; if (var3 < 0x80) { revert(memory[0x00:0x00]); } postRelayedCall(var2, var3); stop(); } else if (var0 == 0xe20c6d3d) { // Dispatch table entry for getMessageData() var1 = 0x0618; var1 = getMessageData(); goto label_0618; } else { revert(memory[0x00:0x00]); } } function getSenderFromData(var arg0, var arg1) returns (var r0) { var temp0 = arg0; arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01; var var0 = temp0; arg1 = var0 + arg1; var var1 = var0 + 0x40; var var2 = msg.data[var0 + 0x20:var0 + 0x20 + 0x20]; if (var2 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp1 = var0 + var2; var2 = temp1; if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); } var temp2 = var2; var temp3 = msg.data[temp2:temp2 + 0x20]; var2 = temp3; var var3 = var1; var1 = temp2 + 0x20; if ((var2 > 0x01 << 0x20) | (var1 + var2 > arg1)) { revert(memory[0x00:0x00]); } var temp4 = var2; var temp5 = memory[0x40:0x60]; memory[0x40:0x60] = temp5 + (temp4 + 0x1f) / 0x20 * 0x20 + 0x20; memory[temp5:temp5 + 0x20] = temp4; var temp6 = temp5 + 0x20; memory[temp6:temp6 + temp4] = msg.data[var1:var1 + temp4]; memory[temp6 + temp4:temp6 + temp4 + 0x20] = 0x00; arg1 = temp5; r0 = func_18C8(arg0, arg1); // Error: Could not resolve method call return address! } function func_043E(var arg0, var arg1) { arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01; if (msg.sender != storage[0x01] & (0x01 << 0xa0) - 0x01) { var temp2 = memory[0x40:0x60]; memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5; memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20; memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x1b; var temp3 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp4 = memory[0x00:0x20]; memory[0x00:0x20] = temp3; memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = temp4; var temp5 = memory[0x40:0x60]; revert(memory[temp5:temp5 + temp2 - temp5 + 0x64]); } else if (arg0 & (0x01 << 0xa0) - 0x01) { arg1 = 0x19b7; var var0 = arg0; func_4DCA(var0); return; } else { var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x18; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x5a65726f2061646472657373206e6f7420616c6c6f7765640000000000000000; var temp1 = memory[0x40:0x60]; revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]); } } function transferDeveloper(var arg0, var arg1) { arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01; if (msg.sender != storage[0x01] & (0x01 << 0xa0) - 0x01) { var temp4 = memory[0x40:0x60]; memory[temp4:temp4 + 0x20] = 0x461bcd << 0xe5; memory[temp4 + 0x04:temp4 + 0x04 + 0x20] = 0x20; memory[temp4 + 0x24:temp4 + 0x24 + 0x20] = 0x1b; var temp5 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp6 = memory[0x00:0x20]; memory[0x00:0x20] = temp5; memory[temp4 + 0x44:temp4 + 0x44 + 0x20] = temp6; var temp7 = memory[0x40:0x60]; revert(memory[temp7:temp7 + temp4 - temp7 + 0x64]); } else if (arg0 & (0x01 << 0xa0) - 0x01) { var temp0 = (0x01 << 0xa0) - 0x01; var temp1 = arg0; log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0xd734ca01d7ec868e364f3c2cbda207212fa91c58040df183429252e85a48b2b1, storage[0x01] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]); storage[0x01] = (temp1 & (0x01 << 0xa0) - 0x01) | (storage[0x01] & ~((0x01 << 0xa0) - 0x01)); return; } else { var temp2 = memory[0x40:0x60]; memory[temp2:temp2 + 0x20] = 0x461bcd << 0xe5; memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = 0x20; memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x12; memory[temp2 + 0x44:temp2 + 0x44 + 0x20] = 0x546869732061646472657373206973203021 << 0x70; var temp3 = memory[0x40:0x60]; revert(memory[temp3:temp3 + temp2 - temp3 + 0x64]); } } function preRelayedCall(var arg0, var arg1) returns (var r0) { var temp0 = arg0; var temp1 = temp0 + arg1; arg1 = temp0; arg0 = temp1; var var0 = arg1 + 0x20; var var1 = msg.data[arg1:arg1 + 0x20]; if (var1 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp2 = arg1 + var1; var1 = temp2; if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); } var temp3 = var1; var temp4 = msg.data[temp3:temp3 + 0x20]; var1 = temp4; var var2 = var0; var0 = temp3 + 0x20; if ((var1 > 0x01 << 0x20) | (var0 + var1 > arg0)) { revert(memory[0x00:0x00]); } arg0 = var0; arg1 = var1; var0 = 0x00; var1 = 0x2289; var1 = getHubAddr(); if (msg.sender == var1 & (0x01 << 0xa0) - 0x01) { return var0; } var temp5 = memory[0x40:0x60]; memory[temp5:temp5 + 0x20] = 0x461bcd << 0xe5; var temp6 = temp5 + 0x04; var temp7 = temp6 + 0x20; memory[temp6:temp6 + 0x20] = temp7 - temp6; memory[temp7:temp7 + 0x20] = 0x27; var temp8 = temp7 + 0x20; memory[temp8:temp8 + 0x27] = code[0x5e41:0x5e68]; var temp9 = memory[0x40:0x60]; revert(memory[temp9:temp9 + (temp8 + 0x40) - temp9]); } function acceptRelayedCall(var arg0, var arg1) returns (var r0, var arg0) { var temp0 = (0x01 << 0xa0) - 0x01; var temp1 = arg0; arg0 = temp0 & msg.data[temp1:temp1 + 0x20]; var temp2 = arg1; arg1 = temp0 & msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20]; var var0 = temp1 + temp2; var var1 = temp1; var var2 = var1 + 0x60; var var3 = msg.data[var1 + 0x40:var1 + 0x40 + 0x20]; if (var3 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp3 = var1 + var3; var3 = temp3; if (var3 + 0x20 > var0) { revert(memory[0x00:0x00]); } var temp4 = var3; var temp5 = msg.data[temp4:temp4 + 0x20]; var3 = temp5; var var4 = var2; var2 = temp4 + 0x20; if ((var3 > 0x01 << 0x20) | (var2 + var3 > var0)) { revert(memory[0x00:0x00]); } var temp6 = var4; var temp7 = var0; var0 = var2; var temp8 = var1; var1 = var3; var2 = msg.data[temp6:temp6 + 0x20]; var3 = msg.data[temp6 + 0x20:temp6 + 0x20 + 0x20]; var var6 = temp7; var var7 = temp8; var4 = msg.data[temp6 + 0x40:temp6 + 0x40 + 0x20]; var var5 = msg.data[temp6 + 0x60:temp6 + 0x60 + 0x20]; var var8 = temp6 + 0xa0; var var9 = msg.data[temp6 + 0x80:temp6 + 0x80 + 0x20]; if (var9 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp9 = var7 + var9; var9 = temp9; if (var9 + 0x20 > var6) { revert(memory[0x00:0x00]); } var temp10 = var9; var temp11 = msg.data[temp10:temp10 + 0x20]; var9 = temp11; var temp12 = var8; var8 = temp10 + 0x20; var var10 = temp12; if ((var9 > 0x01 << 0x20) | (var8 + var9 > var6)) { revert(memory[0x00:0x00]); } var6 = var8; var7 = var9; var8 = msg.data[var10:var10 + 0x20]; var temp13 = memory[0x40:0x60]; memory[0x40:0x60] = temp13 + 0x20; memory[temp13:temp13 + 0x20] = 0x00; arg0 = temp13; r0 = 0x00; return r0, arg0; } function func_0AC0(var arg0, var arg1) returns (var r0) { var temp0 = arg0; arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01; arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20]; var var0 = 0x00; var var1 = var0; var var2 = 0x00; var var3 = 0x2d2a; var var4 = arg0; var3, var4 = func_4DED(var4); var2 = var4; var1 = var3; var3 = var1 == arg1; if (var3) { if (!var3) { label_2D4B: return var0; } else { label_2D41: return 0x01; } } else if (var2 != arg1) { goto label_2D4B; } else { goto label_2D41; } } function isMember(var arg0, var arg1) returns (var r0) { arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01; arg1 = 0x00; var var0 = arg1; var var1 = var0; var var2 = 0x2d7f; var2 = func_25B1(); label_2D7F: if (var1 >= var2) { return 0x00; } var temp0 = memory[0x40:0x60]; var var3 = temp0; memory[0x40:0x60] = var3 + 0x40; memory[var3:var3 + 0x20] = 0x0d; memory[var3 + 0x20:var3 + 0x20 + 0x20] = 0x4d656d62657246656174757265 << 0x98; var2 = 0x2dc0; var var4 = memory[0x40:0x60] + 0x20; var var5 = var4; var var7 = 0x0d; var var6 = var3 + 0x20; var var8 = var7; var var9 = var5; var var10 = var6; var2 = func_2C45(var1, var3, var4, var5, var6, var7, var8, var9, var10); var temp1 = var2; var0 = temp1; var2 = arg0 & (0x01 << 0xa0) - 0x01; var3 = 0x2df2; var4 = var0; var temp2 = memory[0x40:0x60]; var5 = temp2; memory[0x40:0x60] = var5 + 0x40; memory[var5:var5 + 0x20] = 0x04; memory[var5 + 0x20:var5 + 0x20 + 0x20] = 0x30b23239 << 0xe1; var3 = func_53C5(var4, var5); if (var3 & (0x01 << 0xa0) - 0x01 == var2) { return 0x01; } var1 = var1 + 0x01; var2 = 0x2d7f; var2 = func_25B1(); goto label_2D7F; } function func_0F3B(var arg0, var arg1) returns (var r0) { arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01; memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01; memory[0x20:0x40] = 0x08; return storage[keccak256(memory[0x00:0x40]) + 0x02] & 0xff; } function postRelayedCall(var arg0, var arg1) { var temp0 = arg0; var temp1 = temp0 + arg1; arg1 = temp0; arg0 = temp1; var var0 = arg1 + 0x20; var var1 = msg.data[arg1:arg1 + 0x20]; if (var1 > 0x01 << 0x20) { revert(memory[0x00:0x00]); } var temp2 = arg1 + var1; var1 = temp2; if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); } var temp3 = var1; var temp4 = msg.data[temp3:temp3 + 0x20]; var1 = temp4; var var2 = var0; var0 = temp3 + 0x20; if ((var1 > 0x01 << 0x20) | (var0 + var1 > arg0)) { revert(memory[0x00:0x00]); } var temp5 = var2; arg0 = var0; arg1 = var1; var0 = !!msg.data[temp5:temp5 + 0x20]; var1 = msg.data[temp5 + 0x20:temp5 + 0x20 + 0x20]; var2 = msg.data[temp5 + 0x40:temp5 + 0x40 + 0x20]; var var3 = 0x49b0; var3 = getHubAddr(); if (msg.sender == var3 & (0x01 << 0xa0) - 0x01) { return; } var temp6 = memory[0x40:0x60]; memory[temp6:temp6 + 0x20] = 0x461bcd << 0xe5; var temp7 = temp6 + 0x04; var temp8 = temp7 + 0x20; memory[temp7:temp7 + 0x20] = temp8 - temp7; memory[temp8:temp8 + 0x20] = 0x27; var temp9 = temp8 + 0x20; memory[temp9:temp9 + 0x27] = code[0x5e41:0x5e68]; var temp10 = memory[0x40:0x60]; revert(memory[temp10:temp10 + (temp9 + 0x40) - temp10]); } function register() { if (msg.sender == storage[0x01] & (0x01 << 0xa0) - 0x01) { var var2 = storage[0x04]; var temp0 = memory[0x40:0x60]; memory[0x40:0x60] = temp0 + 0x40; memory[temp0:temp0 + 0x20] = 0x0d; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x4d656d62657246656174757265 << 0x98; var temp1 = memory[0x40:0x60]; memory[0x40:0x60] = temp1 + 0x40; memory[temp1:temp1 + 0x20] = 0x03; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = 0x19171b << 0xe9; var temp2 = memory[0x40:0x60]; memory[temp2:temp2 + 0x20] = 0x163f5abb << 0xe2; memory[temp2 + 0x04:temp2 + 0x04 + 0x20] = var2; memory[temp2 + 0x24:temp2 + 0x24 + 0x20] = 0x60; memory[temp2 + 0x64:temp2 + 0x64 + 0x20] = memory[temp0:temp0 + 0x20]; var var0 = storage[0x02] & (0x01 << 0xa0) - 0x01; var var1 = 0x58fd6aec; var var3 = temp0; var var4 = temp1; var var5 = temp2 + 0x04; var var6 = temp2 + 0x24; var var7 = temp2 + 0x44; var var9 = temp0 + 0x20; var var8 = temp2 + 0x84; var var10 = memory[var3:var3 + 0x20]; var var11 = var10; var var12 = var8; var var13 = var9; var var14 = 0x00; if (var14 >= var11) { label_17FF: var temp3 = var10; var8 = temp3 + var8; var9 = temp3 & 0x1f; if (!var9) { var temp4 = var8; memory[var7:var7 + 0x20] = temp4 - var5; var temp5 = var4; memory[temp4:temp4 + 0x20] = memory[temp5:temp5 + 0x20]; var8 = temp4 + 0x20; var10 = memory[temp5:temp5 + 0x20]; var9 = temp5 + 0x20; var11 = var10; var12 = var8; var13 = var9; var14 = 0x00; if (var14 >= var11) { label_185F: var temp6 = var10; var8 = temp6 + var8; var9 = temp6 & 0x1f; if (!var9) { var2 = var8; var3 = 0x00; var4 = memory[0x40:0x60]; var5 = var2 - var4; var6 = var4; var7 = 0x00; var8 = var0; var9 = !address(var8).code.length; if (var9) { revert(memory[0x00:0x00]); } label_18AE: var temp7; temp7, memory[var4:var4 + var3] = address(var8).call.gas(msg.gas).value(var7)(memory[var6:var6 + var5]); var3 = !temp7; if (!var3) { return; } var temp8 = returndata.length; memory[0x00:0x00 + temp8] = returndata[0x00:0x00 + temp8]; revert(memory[0x00:0x00 + returndata.length]); } else { var temp9 = var9; var temp10 = var8 - temp9; memory[temp10:temp10 + 0x20] = ~(0x0100 ** (0x20 - temp9) - 0x01) & memory[temp10:temp10 + 0x20]; var2 = temp10 + 0x20; var3 = 0x00; var4 = memory[0x40:0x60]; var5 = var2 - var4; var6 = var4; var7 = 0x00; var8 = var0; var9 = !address(var8).code.length; if (!var9) { goto label_18AE; } else { revert(memory[0x00:0x00]); } } } else { label_1850: var temp11 = var14; memory[temp11 + var12:temp11 + var12 + 0x20] = memory[temp11 + var13:temp11 + var13 + 0x20]; var14 = temp11 + 0x20; if (var14 >= var11) { goto label_185F; } else { goto label_1850; } } } else { var temp12 = var9; var temp13 = var8 - temp12; memory[temp13:temp13 + 0x20] = ~(0x0100 ** (0x20 - temp12) - 0x01) & memory[temp13:temp13 + 0x20]; var temp14 = temp13 + 0x20; memory[var7:var7 + 0x20] = temp14 - var5; var temp15 = var4; memory[temp14:temp14 + 0x20] = memory[temp15:temp15 + 0x20]; var8 = temp14 + 0x20; var9 = temp15 + 0x20; var10 = memory[temp15:temp15 + 0x20]; var11 = var10; var12 = var8; var13 = var9; var14 = 0x00; if (var14 >= var11) { goto label_185F; } else { goto label_1850; } } } else { label_17F0: var temp16 = var14; memory[temp16 + var12:temp16 + var12 + 0x20] = memory[temp16 + var13:temp16 + var13 + 0x20]; var14 = temp16 + 0x20; if (var14 >= var11) { goto label_17FF; } else { goto label_17F0; } } } else { var temp17 = memory[0x40:0x60]; memory[temp17:temp17 + 0x20] = 0x461bcd << 0xe5; memory[temp17 + 0x04:temp17 + 0x04 + 0x20] = 0x20; memory[temp17 + 0x24:temp17 + 0x24 + 0x20] = 0x1b; var temp18 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp19 = memory[0x00:0x20]; memory[0x00:0x20] = temp18; memory[temp17 + 0x44:temp17 + 0x44 + 0x20] = temp19; var temp20 = memory[0x40:0x60]; revert(memory[temp20:temp20 + temp17 - temp20 + 0x64]); } } function func_18C8(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var var1 = arg0; var var2 = 0x18d3; var2 = getHubAddr(); if (arg0 & (0x01 << 0xa0) - 0x01 != var2 & (0x01 << 0xa0) - 0x01) { label_18FD: return var1; } else { var2 = 0x18fa; var var3 = arg1; var var4 = memory[var3:var3 + 0x20] - 0x14; var2 = func_4D73(var3, var4); var1 = var2; goto label_18FD; } } function getHubAddr() returns (var r0) { return storage[0x00] & (0x01 << 0xa0) - 0x01; } function contractName() returns (var r0) { var temp0 = memory[0x40:0x60]; r0 = temp0; memory[0x40:0x60] = r0 + 0x40; memory[r0:r0 + 0x20] = 0x0e; memory[r0 + 0x20:r0 + 0x20 + 0x20] = 0x13595b58995c90dbdb9d1c9858dd << 0x92; return r0; } function func_25B1() returns (var r0) { var var0 = 0x00; var var1 = 0x1cb1; var temp0 = memory[0x40:0x60]; var var2 = temp0; memory[0x40:0x60] = var2 + 0x40; memory[var2:var2 + 0x20] = 0x0d; memory[var2 + 0x20:var2 + 0x20 + 0x20] = 0x4d656d62657246656174757265 << 0x98; var var3 = memory[0x40:0x60] + 0x20; var var4 = var3; var var6 = memory[var2:var2 + 0x20]; var var5 = var2 + 0x20; var var7 = var6; var var8 = var4; var var9 = var5; if (var7 < 0x20) { return func_260E(var2, var3, var4, var5, var6, var7, var8, var9); } label_25F8: var temp1 = var9; var temp2 = var8; memory[temp2:temp2 + 0x20] = memory[temp1:temp1 + 0x20]; var7 = var7 + ~0x1f; var8 = temp2 + 0x20; var9 = temp1 + 0x20; if (var7 >= 0x20) { goto label_25F8; } var1 = func_260E(var2, var3, var4, var5, var6, var7, var8, var9); // Error: Could not resolve method call return address! } function func_260E(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5, var arg6, var arg7) returns (var r0) { var temp0 = 0x0100 ** (0x20 - arg5) - 0x01; var temp1 = arg6; memory[temp1:temp1 + 0x20] = (memory[arg7:arg7 + 0x20] & ~temp0) | (memory[temp1:temp1 + 0x20] & temp0); var temp2 = arg4 + arg2; var temp3 = memory[0x40:0x60]; memory[temp3:temp3 + 0x20] = temp2 - temp3 - 0x20; memory[0x40:0x60] = temp2; var temp4 = memory[0x40:0x60] + 0x20; memory[temp4:temp4 + 0x20] = keccak256(memory[temp3 + 0x20:temp3 + 0x20 + memory[temp3:temp3 + 0x20]]); var temp5 = temp4 + 0x20; memory[temp5:temp5 + 0x20] = 0x26b2b6b132b9 << 0xd1; var temp6 = temp5 + 0x06; var temp7 = memory[0x40:0x60]; memory[temp7:temp7 + 0x20] = temp6 - temp7 - 0x20; memory[0x40:0x60] = temp6; arg0 = keccak256(memory[temp7 + 0x20:temp7 + 0x20 + memory[temp7:temp7 + 0x20]]); var temp8 = memory[0x40:0x60]; arg1 = temp8; memory[0x40:0x60] = arg1 + 0x40; memory[arg1:arg1 + 0x20] = 0x07; memory[arg1 + 0x20:arg1 + 0x20 + 0x20] = 0x31b7bab73a32b9 << 0xc9; arg2 = 0x00; arg3 = storage[0x05] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01; arg4 = 0xbd02d0f5; arg5 = arg0; var temp9 = arg1; arg6 = temp9; var temp10 = memory[0x40:0x60] + 0x20; arg7 = temp10; memory[arg7:arg7 + 0x20] = arg5; var var0 = arg7 + 0x20; var var1 = arg6 + 0x20; var var2 = memory[arg6:arg6 + 0x20]; var var3 = var2; var var4 = var0; var var5 = var1; if (var3 < 0x20) { label_52F6: var temp11 = 0x0100 ** (0x20 - var3) - 0x01; var temp12 = var4; memory[temp12:temp12 + 0x20] = (memory[var5:var5 + 0x20] & ~temp11) | (memory[temp12:temp12 + 0x20] & temp11); var temp13 = var2 + var0; var temp14 = memory[0x40:0x60]; memory[temp14:temp14 + 0x20] = temp13 - temp14 - 0x20; memory[0x40:0x60] = temp13; var temp15 = keccak256(memory[temp14 + 0x20:temp14 + 0x20 + memory[temp14:temp14 + 0x20]]); var temp16 = memory[0x40:0x60]; memory[temp16:temp16 + 0x20] = (arg4 & 0xffffffff) << 0xe0; var temp17 = temp16 + 0x04; memory[temp17:temp17 + 0x20] = temp15; arg5 = temp17 + 0x20; arg6 = 0x20; arg7 = memory[0x40:0x60]; var0 = arg5 - arg7; var1 = arg7; var2 = arg3; var3 = !address(var2).code.length; if (var3) { revert(memory[0x00:0x00]); } var temp18; temp18, memory[arg7:arg7 + arg6] = address(var2).staticcall.gas(msg.gas)(memory[var1:var1 + var0]); arg6 = !temp18; if (!arg6) { arg3 = memory[0x40:0x60]; arg4 = returndata.length; if (arg4 >= 0x20) { return memory[arg3:arg3 + 0x20]; } else { revert(memory[0x00:0x00]); } } else { var temp19 = returndata.length; memory[0x00:0x00 + temp19] = returndata[0x00:0x00 + temp19]; revert(memory[0x00:0x00 + returndata.length]); } } else { label_52E0: var temp20 = var5; var temp21 = var4; memory[temp21:temp21 + 0x20] = memory[temp20:temp20 + 0x20]; var3 = var3 + ~0x1f; var4 = temp21 + 0x20; var5 = temp20 + 0x20; if (var3 < 0x20) { goto label_52F6; } else { goto label_52E0; } } } function func_26A5() returns (var r0) { var var0 = 0x00; if (msg.sender == storage[0x01] & (0x01 << 0xa0) - 0x01) { return storage[0x07]; } var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x1b; var temp1 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp2 = memory[0x00:0x20]; memory[0x00:0x20] = temp1; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp2; var temp3 = memory[0x40:0x60]; revert(memory[temp3:temp3 + temp0 - temp3 + 0x64]); } function func_26FC() returns (var r0) { return storage[0x09]; } function func_2C45(var arg0, var arg1, var arg2, var arg3, var arg4, var arg5, var arg6, var arg7, var arg8) returns (var r0) { var temp0 = 0x0100 ** (0x20 - arg6) - 0x01; var temp1 = arg7; memory[temp1:temp1 + 0x20] = (memory[arg8:arg8 + 0x20] & ~temp0) | (memory[temp1:temp1 + 0x20] & temp0); var temp2 = arg5 + arg3; var temp3 = memory[0x40:0x60]; memory[temp3:temp3 + 0x20] = temp2 - temp3 - 0x20; memory[0x40:0x60] = temp2; var temp4 = memory[0x40:0x60] + 0x20; memory[temp4:temp4 + 0x20] = keccak256(memory[temp3 + 0x20:temp3 + 0x20 + memory[temp3:temp3 + 0x20]]); var temp5 = temp4 + 0x20; memory[temp5:temp5 + 0x20] = 0x26b2b6b132b9 << 0xd1; var temp6 = temp5 + 0x06; var temp7 = memory[0x40:0x60]; memory[temp7:temp7 + 0x20] = temp6 - temp7 - 0x20; memory[0x40:0x60] = temp6; arg1 = keccak256(memory[temp7 + 0x20:temp7 + 0x20 + memory[temp7:temp7 + 0x20]]); arg2 = arg0; var temp8 = memory[0x40:0x60]; memory[temp8 + 0x20:temp8 + 0x20 + 0x20] = arg1; memory[temp8 + 0x40:temp8 + 0x40 + 0x20] = arg2; var temp9 = memory[0x40:0x60]; memory[temp9:temp9 + 0x20] = temp8 - temp9 + 0x40; memory[0x40:0x60] = temp8 + 0x60; return keccak256(memory[temp9 + 0x20:temp9 + 0x20 + memory[temp9:temp9 + 0x20]]); } function contractVersion() returns (var r0) { var temp0 = memory[0x40:0x60]; r0 = temp0; memory[0x40:0x60] = r0 + 0x40; memory[r0:r0 + 0x20] = 0x03; memory[r0 + 0x20:r0 + 0x20 + 0x20] = 0x19171b << 0xe9; return r0; } function getRecipientBalance() returns (var r0) { var var0 = 0x00; var var1 = 0x36e8; var1 = getHubAddr(); var temp0 = var1 & (0x01 << 0xa0) - 0x01; var1 = temp0; var var2 = 0x70a08231; var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = (var2 & 0xffffffff) << 0xe0; var temp2 = temp1 + 0x04; memory[temp2:temp2 + 0x20] = address(this); var var3 = temp2 + 0x20; var var4 = 0x20; var var5 = memory[0x40:0x60]; var var6 = var3 - var5; var var7 = var5; var var8 = var1; var var9 = !address(var8).code.length; if (var9) { revert(memory[0x00:0x00]); } var temp3; temp3, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]); var4 = !temp3; if (!var4) { var1 = memory[0x40:0x60]; var2 = returndata.length; if (var2 >= 0x20) { return memory[var1:var1 + 0x20]; } else { revert(memory[0x00:0x00]); } } else { var temp4 = returndata.length; memory[0x00:0x00 + temp4] = returndata[0x00:0x00 + temp4]; revert(memory[0x00:0x00 + returndata.length]); } } function developer() returns (var r0) { return storage[0x01] & (0x01 << 0xa0) - 0x01; } function func_4951() { if (msg.sender == storage[0x01] & (0x01 << 0xa0) - 0x01) { var var0 = 0x49a6; func_57ED(); return; } else { var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20; memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x1b; var temp1 = memory[0x00:0x20]; memory[0x00:0x20] = code[0x5e8e:0x5eae]; var temp2 = memory[0x00:0x20]; memory[0x00:0x20] = temp1; memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = temp2; var temp3 = memory[0x40:0x60]; revert(memory[temp3:temp3 + temp0 - temp3 + 0x64]); } } function getMessageData() returns (var r0) { var var0 = 0x60; var temp0 = msg.data.length; var temp1 = memory[0x40:0x60]; memory[0x40:0x60] = temp1 + (temp0 + 0x1f) / 0x20 * 0x20 + 0x20; memory[temp1:temp1 + 0x20] = temp0; var temp2 = temp1 + 0x20; memory[temp2:temp2 + temp0] = msg.data[0x00:0x00 + temp0]; memory[temp2 + temp0:temp2 + temp0 + 0x20] = 0x00; var var1 = temp1; var var2 = 0x4a4d; var2 = getHubAddr(); if (msg.sender != var2 & (0x01 << 0xa0) - 0x01) { return var1; } var temp3 = msg.data.length - 0x14; var temp4 = memory[0x40:0x60]; var var3 = temp3; var2 = temp4; memory[var2:var2 + 0x20] = var3; memory[0x40:0x60] = var2 + (var3 + 0x1f & ~0x1f) + 0x20; if (!var3) { var temp5 = var2; var1 = temp5; var2 = 0x00; if (var2 >= memory[var1:var1 + 0x20]) { label_4AE9: return var1; } else { label_4AA8: var3 = 0x00; var var4 = msg.data.length; var var5 = var2; if (var5 >= var4) { assert(); } var3 = (msg.data[var5 + var3:var5 + var3 + 0x20] >> 0xf8) << 0xf8; var4 = var1; var5 = var2; if (var5 >= memory[var4:var4 + 0x20]) { assert(); } memory[var5 + 0x20 + var4:var5 + 0x20 + var4 + 0x01] = byte(var3 & ~((0x01 << 0xf8) - 0x01), 0x00); var2 = var2 + 0x01; if (var2 >= memory[var1:var1 + 0x20]) { goto label_4AE9; } else { goto label_4AA8; } } } else { var temp6 = var2; var temp7 = var3; memory[temp6 + 0x20:temp6 + 0x20 + temp7] = code[code.length:code.length + temp7]; var1 = temp6; var2 = 0x00; if (var2 >= memory[var1:var1 + 0x20]) { goto label_4AE9; } else { goto label_4AA8; } } } function func_4D73(var arg0, var arg1) returns (var r0) { var var0 = 0x00; if (memory[arg0:arg0 + 0x20] >= arg1 + 0x14) { return memory[arg1 + arg0 + 0x14:arg1 + arg0 + 0x14 + 0x20] & (0x01 << 0xa0) - 0x01; } var temp0 = memory[0x40:0x60]; memory[temp0:temp0 + 0x20] = 0x461bcd << 0xe5; var temp1 = temp0 + 0x04; var temp2 = temp1 + 0x20; memory[temp1:temp1 + 0x20] = temp2 - temp1; memory[temp2:temp2 + 0x20] = 0x26; var temp3 = temp2 + 0x20; memory[temp3:temp3 + 0x26] = code[0x5e68:0x5e8e]; var temp4 = memory[0x40:0x60]; revert(memory[temp4:temp4 + (temp3 + 0x40) - temp4]); } function func_4DCA(var arg0) { storage[0x00] = (arg0 & (0x01 << 0xa0) - 0x01) | (storage[0x00] & ~((0x01 << 0xa0) - 0x01)); var var0 = 0x12ce; var0 = getRecipientBalance(); } function func_4DED(var arg0) returns (var r0, var arg0) { var var0 = 0x00; var var1 = var0; var var2 = 0x0f4240; var var3 = 0x0493e0; var var4 = (block.timestamp / var2 + 0x01) * var2; var var5 = var4; if (var5 - block.timestamp >= var3) { var temp0 = storage[0x07]; var temp1 = memory[0x40:0x60]; memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = temp0; memory[temp1 + 0x40:temp1 + 0x40 + 0x20] = var4; var temp2 = (arg0 << 0x60) & ~0xffffffffffffffffffffffff; memory[temp1 + 0x60:temp1 + 0x60 + 0x20] = temp2; var temp3 = memory[0x40:0x60]; memory[temp3:temp3 + 0x20] = temp1 - temp3 + 0x54; memory[0x40:0x60] = temp1 + 0x74; var temp4 = keccak256(memory[temp3 + 0x20:temp3 + 0x20 + memory[temp3:temp3 + 0x20]]); memory[temp1 + 0x94:temp1 + 0x94 + 0x20] = temp0; memory[temp1 + 0xb4:temp1 + 0xb4 + 0x20] = var5; memory[temp1 + 0xd4:temp1 + 0xd4 + 0x20] = temp2; var temp5 = memory[0x40:0x60]; memory[temp5:temp5 + 0x20] = temp1 - temp5 + 0xc8; memory[0x40:0x60] = temp1 + 0xe8; arg0 = keccak256(memory[temp5 + 0x20:temp5 + 0x20 + memory[temp5:temp5 + 0x20]]); r0 = temp4; return r0, arg0; } else { var temp6 = var4; var temp7 = storage[0x07]; var temp8 = memory[0x40:0x60]; memory[temp8 + 0x20:temp8 + 0x20 + 0x20] = temp7; memory[temp8 + 0x40:temp8 + 0x40 + 0x20] = temp6; var temp9 = (arg0 << 0x60) & ~0xffffffffffffffffffffffff; memory[temp8 + 0x60:temp8 + 0x60 + 0x20] = temp9; var temp10 = memory[0x40:0x60]; memory[temp10:temp10 + 0x20] = temp8 - temp10 + 0x54; memory[0x40:0x60] = temp8 + 0x74; var temp11 = keccak256(memory[temp10 + 0x20:temp10 + 0x20 + memory[temp10:temp10 + 0x20]]); memory[temp8 + 0x94:temp8 + 0x94 + 0x20] = temp7; memory[temp8 + 0xb4:temp8 + 0xb4 + 0x20] = var2 + temp6; memory[temp8 + 0xd4:temp8 + 0xd4 + 0x20] = temp9; var temp12 = memory[0x40:0x60]; memory[temp12:temp12 + 0x20] = temp8 - temp12 + 0xc8; memory[0x40:0x60] = temp8 + 0xe8; arg0 = keccak256(memory[temp12 + 0x20:temp12 + 0x20 + memory[temp12:temp12 + 0x20]]); r0 = temp11; return r0, arg0; } } function func_4E95() returns (var r0) { var temp0 = memory[0x40:0x60]; memory[0x40:0x60] = temp0 + 0x40; memory[temp0:temp0 + 0x20] = 0x0c; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0; var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = 0x0251382f << 0xe3; memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20; memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = memory[temp0:temp0 + 0x20]; var var0 = 0x00; var var1 = storage[0x02] & (0x01 << 0xa0) - 0x01; var var2 = 0x1289c178; var var3 = temp0; var var4 = temp1 + 0x04; var var5 = var4; var var6 = temp1 + 0x44; var var7 = temp0 + 0x20; var var8 = memory[var3:var3 + 0x20]; var var9 = var8; var var10 = var6; var var11 = var7; var var12 = var0; if (var12 >= var9) { label_4F15: var temp2 = var8; var6 = temp2 + var6; var7 = temp2 & 0x1f; if (!var7) { var3 = var6; var4 = 0x20; var5 = memory[0x40:0x60]; var6 = var3 - var5; var7 = var5; var8 = var1; var9 = !address(var8).code.length; if (var9) { revert(memory[0x00:0x00]); } label_4F5F: var temp3; temp3, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]); var4 = !temp3; if (!var4) { var1 = memory[0x40:0x60]; var2 = returndata.length; if (var2 < 0x20) { revert(memory[0x00:0x00]); } var temp4 = memory[var1:var1 + 0x20]; var temp5 = memory[0x40:0x60]; memory[temp5:temp5 + 0x20] = 0x158425f5 << 0xe0; var1 = temp4 & (0x01 << 0xa0) - 0x01; var2 = 0x158425f5; var3 = temp5 + 0x04; var4 = 0x20; var5 = memory[0x40:0x60]; var6 = temp5 - var5 + 0x04; var7 = var5; var8 = var1; var9 = !address(var8).code.length; if (var9) { revert(memory[0x00:0x00]); } var temp6; temp6, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]); var4 = !temp6; if (!var4) { var1 = memory[0x40:0x60]; var2 = returndata.length; if (var2 >= 0x20) { return memory[var1:var1 + 0x20]; } else { revert(memory[0x00:0x00]); } } else { var temp7 = returndata.length; memory[0x00:0x00 + temp7] = returndata[0x00:0x00 + temp7]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp8 = returndata.length; memory[0x00:0x00 + temp8] = returndata[0x00:0x00 + temp8]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp9 = var7; var temp10 = var6 - temp9; memory[temp10:temp10 + 0x20] = ~(0x0100 ** (0x20 - temp9) - 0x01) & memory[temp10:temp10 + 0x20]; var3 = temp10 + 0x20; var4 = 0x20; var5 = memory[0x40:0x60]; var6 = var3 - var5; var7 = var5; var8 = var1; var9 = !address(var8).code.length; if (!var9) { goto label_4F5F; } else { revert(memory[0x00:0x00]); } } } else { label_4F06: var temp11 = var12; memory[temp11 + var10:temp11 + var10 + 0x20] = memory[temp11 + var11:temp11 + var11 + 0x20]; var12 = temp11 + 0x20; if (var12 >= var9) { goto label_4F15; } else { goto label_4F06; } } } function func_53C5(var arg0, var arg1) returns (var r0) { var var0 = 0x00; var var1 = storage[0x05] & (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01; var var2 = 0x21f8a721; var var3 = arg0; var temp0 = arg1; var var4 = temp0; var temp1 = memory[0x40:0x60] + 0x20; var var5 = temp1; memory[var5:var5 + 0x20] = var3; var var6 = var5 + 0x20; var var8 = memory[var4:var4 + 0x20]; var var7 = var4 + 0x20; var var9 = var8; var var10 = var6; var var11 = var7; if (var9 < 0x20) { label_52F6: var temp2 = 0x0100 ** (0x20 - var9) - 0x01; var temp3 = var10; memory[temp3:temp3 + 0x20] = (memory[var11:var11 + 0x20] & ~temp2) | (memory[temp3:temp3 + 0x20] & temp2); var temp4 = var8 + var6; var temp5 = memory[0x40:0x60]; memory[temp5:temp5 + 0x20] = temp4 - temp5 - 0x20; memory[0x40:0x60] = temp4; var temp6 = keccak256(memory[temp5 + 0x20:temp5 + 0x20 + memory[temp5:temp5 + 0x20]]); var temp7 = memory[0x40:0x60]; memory[temp7:temp7 + 0x20] = (var2 & 0xffffffff) << 0xe0; var temp8 = temp7 + 0x04; memory[temp8:temp8 + 0x20] = temp6; var3 = temp8 + 0x20; var4 = 0x20; var5 = memory[0x40:0x60]; var6 = var3 - var5; var7 = var5; var8 = var1; var9 = !address(var8).code.length; if (var9) { revert(memory[0x00:0x00]); } var temp9; temp9, memory[var5:var5 + var4] = address(var8).staticcall.gas(msg.gas)(memory[var7:var7 + var6]); var4 = !temp9; if (!var4) { var1 = memory[0x40:0x60]; var2 = returndata.length; if (var2 >= 0x20) { return memory[var1:var1 + 0x20]; } else { revert(memory[0x00:0x00]); } } else { var temp10 = returndata.length; memory[0x00:0x00 + temp10] = returndata[0x00:0x00 + temp10]; revert(memory[0x00:0x00 + returndata.length]); } } else { var temp11 = var11; var temp12 = var10; memory[temp12:temp12 + 0x20] = memory[temp11:temp11 + 0x20]; var9 = var9 + ~0x1f; var10 = temp12 + 0x20; var11 = temp11 + 0x20; label_52D7: if (var9 < 0x20) { goto label_52F6; } var temp13 = var11; var temp14 = var10; memory[temp14:temp14 + 0x20] = memory[temp13:temp13 + 0x20]; var9 = var9 + ~0x1f; var10 = temp14 + 0x20; var11 = temp13 + 0x20; goto label_52D7; } } function func_57ED() { var temp0 = memory[0x40:0x60]; memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = block.timestamp; memory[temp0 + 0x40:temp0 + 0x40 + 0x20] = block.difficulty; memory[temp0 + 0x60:temp0 + 0x60 + 0x20] = msg.sender << 0x60; var temp1 = memory[0x40:0x60]; memory[temp1:temp1 + 0x20] = temp0 - temp1 + 0x54; memory[0x40:0x60] = temp0 + 0x74; storage[0x07] = keccak256(memory[temp1 + 0x20:temp1 + 0x20 + memory[temp1:temp1 + 0x20]]); } }

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 0x0211 0019 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x0211, 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 0x91a3c7d2 0026 11 GT 0027 61 PUSH2 0x0125 002A 57 *JUMPI // Stack delta = +1 // Outputs[1] { @001F stack[0] = msg.data[0x00:0x20] >> 0xe0 } // Block ends with conditional jump to 0x0125, if 0x91a3c7d2 > msg.data[0x00:0x20] >> 0xe0 label_002B: // Incoming jump from 0x002A, if not 0x91a3c7d2 > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @002B stack[-1] } 002B 80 DUP1 002C 63 PUSH4 0xae1885ee 0031 11 GT 0032 61 PUSH2 0x00ad 0035 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00ad, if 0xae1885ee > stack[-1] label_0036: // Incoming jump from 0x0035, if not 0xae1885ee > stack[-1] // Inputs[1] { @0036 stack[-1] } 0036 80 DUP1 0037 63 PUSH4 0xce458581 003C 11 GT 003D 61 PUSH2 0x007c 0040 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x007c, if 0xce458581 > stack[-1] label_0041: // Incoming jump from 0x0040, if not 0xce458581 > stack[-1] // Inputs[1] { @0041 stack[-1] } 0041 80 DUP1 0042 63 PUSH4 0xce458581 0047 14 EQ 0048 61 PUSH2 0x0f25 004B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f25, if 0xce458581 == stack[-1] label_004C: // Incoming jump from 0x004B, if not 0xce458581 == stack[-1] // Inputs[1] { @004C stack[-1] } 004C 80 DUP1 004D 63 PUSH4 0xd2629bbb 0052 14 EQ 0053 61 PUSH2 0x0f4b 0056 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f4b, if 0xd2629bbb == stack[-1] label_0057: // Incoming jump from 0x0056, if not 0xd2629bbb == stack[-1] // Inputs[1] { @0057 stack[-1] } 0057 80 DUP1 0058 63 PUSH4 0xd5a285cb 005D 14 EQ 005E 61 PUSH2 0x10f9 0061 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x10f9, if 0xd5a285cb == stack[-1] label_0062: // Incoming jump from 0x0061, if not 0xd5a285cb == stack[-1] // Inputs[1] { @0062 stack[-1] } 0062 80 DUP1 0063 63 PUSH4 0xe06e0e22 0068 14 EQ 0069 61 PUSH2 0x1101 006C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x1101, if 0xe06e0e22 == stack[-1] label_006D: // Incoming jump from 0x006C, if not 0xe06e0e22 == stack[-1] // Inputs[1] { @006D stack[-1] } 006D 80 DUP1 006E 63 PUSH4 0xe20c6d3d 0073 14 EQ 0074 61 PUSH2 0x117d 0077 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x117d, if 0xe20c6d3d == stack[-1] label_0078: // Incoming jump from 0x0077, if not 0xe20c6d3d == stack[-1] 0078 61 PUSH2 0x0211 007B 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_007C: // Incoming jump from 0x0040, if 0xce458581 > stack[-1] // Inputs[1] { @007D stack[-1] } 007C 5B JUMPDEST 007D 80 DUP1 007E 63 PUSH4 0xae1885ee 0083 14 EQ 0084 61 PUSH2 0x0d74 0087 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0d74, if 0xae1885ee == stack[-1] label_0088: // Incoming jump from 0x0087, if not 0xae1885ee == stack[-1] // Inputs[1] { @0088 stack[-1] } 0088 80 DUP1 0089 63 PUSH4 0xb0622f60 008E 14 EQ 008F 61 PUSH2 0x0e42 0092 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0e42, if 0xb0622f60 == stack[-1] label_0093: // Incoming jump from 0x0092, if not 0xb0622f60 == stack[-1] // Inputs[1] { @0093 stack[-1] } 0093 80 DUP1 0094 63 PUSH4 0xc4769517 0099 14 EQ 009A 61 PUSH2 0x0f00 009D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f00, if 0xc4769517 == stack[-1] label_009E: // Incoming jump from 0x009D, if not 0xc4769517 == stack[-1] // Inputs[1] { @009E stack[-1] } 009E 80 DUP1 009F 63 PUSH4 0xca4b208b 00A4 14 EQ 00A5 61 PUSH2 0x0f1d 00A8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0f1d, if 0xca4b208b == stack[-1] label_00A9: // Incoming jump from 0x00A8, if not 0xca4b208b == stack[-1] 00A9 61 PUSH2 0x0211 00AC 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_00AD: // Incoming jump from 0x0035, if 0xae1885ee > stack[-1] // Inputs[1] { @00AE stack[-1] } 00AD 5B JUMPDEST 00AE 80 DUP1 00AF 63 PUSH4 0xa0a8e460 00B4 11 GT 00B5 61 PUSH2 0x00f4 00B8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x00f4, if 0xa0a8e460 > stack[-1] label_00B9: // Incoming jump from 0x00B8, if not 0xa0a8e460 > stack[-1] // Inputs[1] { @00B9 stack[-1] } 00B9 80 DUP1 00BA 63 PUSH4 0xa0a8e460 00BF 14 EQ 00C0 61 PUSH2 0x0ad6 00C3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0ad6, if 0xa0a8e460 == stack[-1] label_00C4: // Incoming jump from 0x00C3, if not 0xa0a8e460 == stack[-1] // Inputs[1] { @00C4 stack[-1] } 00C4 80 DUP1 00C5 63 PUSH4 0xa230c524 00CA 14 EQ 00CB 61 PUSH2 0x0ade 00CE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0ade, if 0xa230c524 == stack[-1] label_00CF: // Incoming jump from 0x00CE, if not 0xa230c524 == stack[-1] // Inputs[1] { @00CF stack[-1] } 00CF 80 DUP1 00D0 63 PUSH4 0xa86e5ffd 00D5 14 EQ 00D6 61 PUSH2 0x0b04 00D9 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0b04, if 0xa86e5ffd == stack[-1] label_00DA: // Incoming jump from 0x00D9, if not 0xa86e5ffd == stack[-1] // Inputs[1] { @00DA stack[-1] } 00DA 80 DUP1 00DB 63 PUSH4 0xab3545e5 00E0 14 EQ 00E1 61 PUSH2 0x0bd2 00E4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0bd2, if 0xab3545e5 == stack[-1] label_00E5: // Incoming jump from 0x00E4, if not 0xab3545e5 == stack[-1] // Inputs[1] { @00E5 stack[-1] } 00E5 80 DUP1 00E6 63 PUSH4 0xac570411 00EB 14 EQ 00EC 61 PUSH2 0x0d6c 00EF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0d6c, if 0xac570411 == stack[-1] label_00F0: // Incoming jump from 0x00EF, if not 0xac570411 == stack[-1] 00F0 61 PUSH2 0x0211 00F3 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_00F4: // Incoming jump from 0x00B8, if 0xa0a8e460 > stack[-1] // Inputs[1] { @00F5 stack[-1] } 00F4 5B JUMPDEST 00F5 80 DUP1 00F6 63 PUSH4 0x91a3c7d2 00FB 14 EQ 00FC 61 PUSH2 0x098c 00FF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x098c, if 0x91a3c7d2 == stack[-1] label_0100: // Incoming jump from 0x00FF, if not 0x91a3c7d2 == stack[-1] // Inputs[1] { @0100 stack[-1] } 0100 80 DUP1 0101 63 PUSH4 0x9d74689f 0106 14 EQ 0107 61 PUSH2 0x0994 010A 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0994, if 0x9d74689f == stack[-1] label_010B: // Incoming jump from 0x010A, if not 0x9d74689f == stack[-1] // Inputs[1] { @010B stack[-1] } 010B 80 DUP1 010C 63 PUSH4 0x9eab5253 0111 14 EQ 0112 61 PUSH2 0x0a52 0115 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0a52, if 0x9eab5253 == stack[-1] label_0116: // Incoming jump from 0x0115, if not 0x9eab5253 == stack[-1] // Inputs[1] { @0116 stack[-1] } 0116 80 DUP1 0117 63 PUSH4 0x9f951be8 011C 14 EQ 011D 61 PUSH2 0x0aaa 0120 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0aaa, if 0x9f951be8 == stack[-1] label_0121: // Incoming jump from 0x0120, if not 0x9f951be8 == stack[-1] 0121 61 PUSH2 0x0211 0124 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_0125: // Incoming jump from 0x002A, if 0x91a3c7d2 > msg.data[0x00:0x20] >> 0xe0 // Inputs[1] { @0126 stack[-1] } 0125 5B JUMPDEST 0126 80 DUP1 0127 63 PUSH4 0x62f61401 012C 11 GT 012D 61 PUSH2 0x01a8 0130 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01a8, if 0x62f61401 > stack[-1] label_0131: // Incoming jump from 0x0130, if not 0x62f61401 > stack[-1] // Inputs[1] { @0131 stack[-1] } 0131 80 DUP1 0132 63 PUSH4 0x80274db7 0137 11 GT 0138 61 PUSH2 0x0177 013B 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0177, if 0x80274db7 > stack[-1] label_013C: // Incoming jump from 0x013B, if not 0x80274db7 > stack[-1] // Inputs[1] { @013C stack[-1] } 013C 80 DUP1 013D 63 PUSH4 0x80274db7 0142 14 EQ 0143 61 PUSH2 0x068d 0146 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x068d, if 0x80274db7 == stack[-1] label_0147: // Incoming jump from 0x0146, if not 0x80274db7 == stack[-1] // Inputs[1] { @0147 stack[-1] } 0147 80 DUP1 0148 63 PUSH4 0x80fb948c 014D 14 EQ 014E 61 PUSH2 0x06fb 0151 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x06fb, if 0x80fb948c == stack[-1] label_0152: // Incoming jump from 0x0151, if not 0x80fb948c == stack[-1] // Inputs[1] { @0152 stack[-1] } 0152 80 DUP1 0153 63 PUSH4 0x83947ea0 0158 14 EQ 0159 61 PUSH2 0x080f 015C 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x080f, if 0x83947ea0 == stack[-1] label_015D: // Incoming jump from 0x015C, if not 0x83947ea0 == stack[-1] // Inputs[1] { @015D stack[-1] } 015D 80 DUP1 015E 63 PUSH4 0x8d07ac2f 0163 14 EQ 0164 61 PUSH2 0x097c 0167 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x097c, if 0x8d07ac2f == stack[-1] label_0168: // Incoming jump from 0x0167, if not 0x8d07ac2f == stack[-1] // Inputs[1] { @0168 stack[-1] } 0168 80 DUP1 0169 63 PUSH4 0x8eea2565 016E 14 EQ 016F 61 PUSH2 0x0984 0172 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0984, if 0x8eea2565 == stack[-1] label_0173: // Incoming jump from 0x0172, if not 0x8eea2565 == stack[-1] 0173 61 PUSH2 0x0211 0176 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_0177: // Incoming jump from 0x013B, if 0x80274db7 > stack[-1] // Inputs[1] { @0178 stack[-1] } 0177 5B JUMPDEST 0178 80 DUP1 0179 63 PUSH4 0x62f61401 017E 14 EQ 017F 61 PUSH2 0x0470 0182 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0470, if 0x62f61401 == stack[-1] label_0183: // Incoming jump from 0x0182, if not 0x62f61401 == stack[-1] // Inputs[1] { @0183 stack[-1] } 0183 80 DUP1 0184 63 PUSH4 0x64cb4edb 0189 14 EQ 018A 61 PUSH2 0x05e2 018D 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x05e2, if 0x64cb4edb == stack[-1] label_018E: // Incoming jump from 0x018D, if not 0x64cb4edb == stack[-1] // Inputs[1] { @018E stack[-1] } 018E 80 DUP1 018F 63 PUSH4 0x74e861d6 0194 14 EQ 0195 61 PUSH2 0x0608 0198 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0608, if 0x74e861d6 == stack[-1] label_0199: // Incoming jump from 0x0198, if not 0x74e861d6 == stack[-1] // Inputs[1] { @0199 stack[-1] } 0199 80 DUP1 019A 63 PUSH4 0x75d0c0dc 019F 14 EQ 01A0 61 PUSH2 0x0610 01A3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0610, if 0x75d0c0dc == stack[-1] label_01A4: // Incoming jump from 0x01A3, if not 0x75d0c0dc == stack[-1] 01A4 61 PUSH2 0x0211 01A7 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_01A8: // Incoming jump from 0x0130, if 0x62f61401 > stack[-1] // Inputs[1] { @01A9 stack[-1] } 01A8 5B JUMPDEST 01A9 80 DUP1 01AA 63 PUSH4 0x1da97ea3 01AF 11 GT 01B0 61 PUSH2 0x01e4 01B3 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x01e4, if 0x1da97ea3 > stack[-1] label_01B4: // Incoming jump from 0x01B3, if not 0x1da97ea3 > stack[-1] // Inputs[1] { @01B4 stack[-1] } 01B4 80 DUP1 01B5 63 PUSH4 0x1da97ea3 01BA 14 EQ 01BB 61 PUSH2 0x0358 01BE 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0358, if 0x1da97ea3 == stack[-1] label_01BF: // Incoming jump from 0x01BE, if not 0x1da97ea3 == stack[-1] // Inputs[1] { @01BF stack[-1] } 01BF 80 DUP1 01C0 63 PUSH4 0x1e5f3627 01C5 14 EQ 01C6 61 PUSH2 0x0428 01C9 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0428, if 0x1e5f3627 == stack[-1] label_01CA: // Incoming jump from 0x01C9, if not 0x1e5f3627 == stack[-1] // Inputs[1] { @01CA stack[-1] } 01CA 80 DUP1 01CB 63 PUSH4 0x434a62ec 01D0 14 EQ 01D1 61 PUSH2 0x044e 01D4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x044e, if 0x434a62ec == stack[-1] label_01D5: // Incoming jump from 0x01D4, if not 0x434a62ec == stack[-1] // Inputs[1] { @01D5 stack[-1] } 01D5 80 DUP1 01D6 63 PUSH4 0x5e01eb5a 01DB 14 EQ 01DC 61 PUSH2 0x0468 01DF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0468, if 0x5e01eb5a == stack[-1] label_01E0: // Incoming jump from 0x01DF, if not 0x5e01eb5a == stack[-1] 01E0 61 PUSH2 0x0211 01E3 56 *JUMP // Stack delta = +0 // Block ends with unconditional jump to 0x0211 label_01E4: // Incoming jump from 0x01B3, if 0x1da97ea3 > stack[-1] // Inputs[1] { @01E5 stack[-1] } 01E4 5B JUMPDEST 01E5 80 DUP1 01E6 63 PUSH4 0x0661075f 01EB 14 EQ 01EC 61 PUSH2 0x0216 01EF 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0216, if 0x0661075f == stack[-1] label_01F0: // Incoming jump from 0x01EF, if not 0x0661075f == stack[-1] // Inputs[1] { @01F0 stack[-1] } 01F0 80 DUP1 01F1 63 PUSH4 0x092a5cce 01F6 14 EQ 01F7 61 PUSH2 0x0244 01FA 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0244, if 0x092a5cce == stack[-1] label_01FB: // Incoming jump from 0x01FA, if not 0x092a5cce == stack[-1] // Inputs[1] { @01FB stack[-1] } 01FB 80 DUP1 01FC 63 PUSH4 0x0ade8f90 0201 14 EQ 0202 61 PUSH2 0x024c 0205 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x024c, if 0x0ade8f90 == stack[-1] label_0206: // Incoming jump from 0x0205, if not 0x0ade8f90 == stack[-1] // Inputs[1] { @0206 stack[-1] } 0206 80 DUP1 0207 63 PUSH4 0x1aa3a008 020C 14 EQ 020D 61 PUSH2 0x0350 0210 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x0350, if 0x1aa3a008 == stack[-1] label_0211: // Incoming jump from 0x0124 // Incoming jump from 0x0176 // Incoming jump from 0x0210, if not 0x1aa3a008 == stack[-1] // Incoming jump from 0x00F3 // Incoming jump from 0x007B // Incoming jump from 0x01A7 // Incoming jump from 0x01E3 // Incoming jump from 0x00AC // Incoming jump from 0x0019, if msg.data.length < 0x04 // Inputs[1] { @0215 memory[0x00:0x00] } 0211 5B JUMPDEST 0212 60 PUSH1 0x00 0214 80 DUP1 0215 FD *REVERT // Stack delta = +0 // Outputs[1] { @0215 revert(memory[0x00:0x00]); } // Block terminates label_0216: // Incoming jump from 0x01EF, if 0x0661075f == stack[-1] // Inputs[1] { @021D msg.data.length } 0216 5B JUMPDEST 0217 61 PUSH2 0x0242 021A 60 PUSH1 0x04 021C 80 DUP1 021D 36 CALLDATASIZE 021E 03 SUB 021F 60 PUSH1 0x40 0221 81 DUP2 0222 10 LT 0223 15 ISZERO 0224 61 PUSH2 0x022c 0227 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0217 stack[0] = 0x0242 // @021A stack[1] = 0x04 // @021E stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x022c, if !(msg.data.length - 0x04 < 0x40) label_0228: // Incoming jump from 0x0227, if not !(msg.data.length - 0x04 < 0x40) // Inputs[1] { @022B memory[0x00:0x00] } 0228 60 PUSH1 0x00 022A 80 DUP1 022B FD *REVERT // Stack delta = +0 // Outputs[1] { @022B revert(memory[0x00:0x00]); } // Block terminates label_022C: // Incoming jump from 0x0227, if !(msg.data.length - 0x04 < 0x40) // Inputs[3] // { // @022E stack[-2] // @022F msg.data[stack[-2]:stack[-2] + 0x20] // @0234 msg.data[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // } 022C 5B JUMPDEST 022D 50 POP 022E 80 DUP1 022F 35 CALLDATALOAD 0230 90 SWAP1 0231 60 PUSH1 0x20 0233 01 ADD 0234 35 CALLDATALOAD 0235 60 PUSH1 0x01 0237 60 PUSH1 0x01 0239 60 PUSH1 0xa0 023B 1B SHL 023C 03 SUB 023D 16 AND 023E 61 PUSH2 0x1185 0241 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0230 stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] // @023D stack[-1] = (0x01 << 0xa0) - 0x01 & msg.data[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // } // Block ends with unconditional jump to 0x1185 label_0242: // Incoming return from call to 0x4951 at 0x1100 // Incoming return from call to 0x1706 at 0x0357 // Incoming return from call to 0x043E at 0x0439 // Incoming return from call to 0x1117 at 0x1112 // Incoming return from call to 0x05F8 at 0x05F3 0242 5B JUMPDEST 0243 00 *STOP // Stack delta = +0 // Outputs[1] { @0243 stop(); } // Block terminates label_0244: // Incoming jump from 0x01FA, if 0x092a5cce == stack[-1] 0244 5B JUMPDEST 0245 61 PUSH2 0x0242 0248 61 PUSH2 0x12d2 024B 56 *JUMP // Stack delta = +1 // Outputs[1] { @0245 stack[0] = 0x0242 } // Block ends with unconditional jump to 0x12d2 label_024C: // Incoming jump from 0x0205, if 0x0ade8f90 == stack[-1] // Inputs[1] { @0253 msg.data.length } 024C 5B JUMPDEST 024D 61 PUSH2 0x0272 0250 60 PUSH1 0x04 0252 80 DUP1 0253 36 CALLDATASIZE 0254 03 SUB 0255 60 PUSH1 0x20 0257 81 DUP2 0258 10 LT 0259 15 ISZERO 025A 61 PUSH2 0x0262 025D 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @024D stack[0] = 0x0272 // @0250 stack[1] = 0x04 // @0254 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0262, if !(msg.data.length - 0x04 < 0x20) label_025E: // Incoming jump from 0x025D, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0261 memory[0x00:0x00] } 025E 60 PUSH1 0x00 0260 80 DUP1 0261 FD *REVERT // Stack delta = +0 // Outputs[1] { @0261 revert(memory[0x00:0x00]); } // Block terminates label_0262: // Incoming jump from 0x025D, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0264 msg.data[stack[-2]:stack[-2] + 0x20] // @0264 stack[-2] // } 0262 5B JUMPDEST 0263 50 POP 0264 35 CALLDATALOAD 0265 60 PUSH1 0x01 0267 60 PUSH1 0x01 0269 60 PUSH1 0xa0 026B 1B SHL 026C 03 SUB 026D 16 AND 026E 61 PUSH2 0x132d 0271 56 *JUMP // Stack delta = -1 // Outputs[1] { @026D stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x132d 0272 5B JUMPDEST 0273 60 PUSH1 0x40 0275 51 MLOAD 0276 80 DUP1 0277 80 DUP1 0278 60 PUSH1 0x20 027A 01 ADD 027B 80 DUP1 027C 60 PUSH1 0x20 027E 01 ADD 027F 83 DUP4 0280 81 DUP2 0281 03 SUB 0282 83 DUP4 0283 52 MSTORE 0284 85 DUP6 0285 81 DUP2 0286 81 DUP2 0287 51 MLOAD 0288 81 DUP2 0289 52 MSTORE 028A 60 PUSH1 0x20 028C 01 ADD 028D 91 SWAP2 028E 50 POP 028F 80 DUP1 0290 51 MLOAD 0291 90 SWAP1 0292 60 PUSH1 0x20 0294 01 ADD 0295 90 SWAP1 0296 80 DUP1 0297 83 DUP4 0298 83 DUP4 0299 60 PUSH1 0x00 029B 5B JUMPDEST 029C 83 DUP4 029D 81 DUP2 029E 10 LT 029F 15 ISZERO 02A0 61 PUSH2 0x02b3 02A3 57 *JUMPI 02A4 81 DUP2 02A5 81 DUP2 02A6 01 ADD 02A7 51 MLOAD 02A8 83 DUP4 02A9 82 DUP3 02AA 01 ADD 02AB 52 MSTORE 02AC 60 PUSH1 0x20 02AE 01 ADD 02AF 61 PUSH2 0x029b 02B2 56 *JUMP 02B3 5B JUMPDEST 02B4 50 POP 02B5 50 POP 02B6 50 POP 02B7 50 POP 02B8 90 SWAP1 02B9 50 POP 02BA 90 SWAP1 02BB 81 DUP2 02BC 01 ADD 02BD 90 SWAP1 02BE 60 PUSH1 0x1f 02C0 16 AND 02C1 80 DUP1 02C2 15 ISZERO 02C3 61 PUSH2 0x02e0 02C6 57 *JUMPI 02C7 80 DUP1 02C8 82 DUP3 02C9 03 SUB 02CA 80 DUP1 02CB 51 MLOAD 02CC 60 PUSH1 0x01 02CE 83 DUP4 02CF 60 PUSH1 0x20 02D1 03 SUB 02D2 61 PUSH2 0x0100 02D5 0A EXP 02D6 03 SUB 02D7 19 NOT 02D8 16 AND 02D9 81 DUP2 02DA 52 MSTORE 02DB 60 PUSH1 0x20 02DD 01 ADD 02DE 91 SWAP2 02DF 50 POP 02E0 5B JUMPDEST 02E1 50 POP 02E2 83 DUP4 02E3 81 DUP2 02E4 03 SUB 02E5 82 DUP3 02E6 52 MSTORE 02E7 84 DUP5 02E8 51 MLOAD 02E9 81 DUP2 02EA 52 MSTORE 02EB 84 DUP5 02EC 51 MLOAD 02ED 60 PUSH1 0x20 02EF 91 SWAP2 02F0 82 DUP3 02F1 01 ADD 02F2 91 SWAP2 02F3 86 DUP7 02F4 01 ADD 02F5 90 SWAP1 02F6 80 DUP1 02F7 83 DUP4 02F8 83 DUP4 02F9 60 PUSH1 0x00 02FB 5B JUMPDEST 02FC 83 DUP4 02FD 81 DUP2 02FE 10 LT 02FF 15 ISZERO 0300 61 PUSH2 0x0313 0303 57 *JUMPI 0304 81 DUP2 0305 81 DUP2 0306 01 ADD 0307 51 MLOAD 0308 83 DUP4 0309 82 DUP3 030A 01 ADD 030B 52 MSTORE 030C 60 PUSH1 0x20 030E 01 ADD 030F 61 PUSH2 0x02fb 0312 56 *JUMP 0313 5B JUMPDEST 0314 50 POP 0315 50 POP 0316 50 POP 0317 50 POP 0318 90 SWAP1 0319 50 POP 031A 90 SWAP1 031B 81 DUP2 031C 01 ADD 031D 90 SWAP1 031E 60 PUSH1 0x1f 0320 16 AND 0321 80 DUP1 0322 15 ISZERO 0323 61 PUSH2 0x0340 0326 57 *JUMPI 0327 80 DUP1 0328 82 DUP3 0329 03 SUB 032A 80 DUP1 032B 51 MLOAD 032C 60 PUSH1 0x01 032E 83 DUP4 032F 60 PUSH1 0x20 0331 03 SUB 0332 61 PUSH2 0x0100 0335 0A EXP 0336 03 SUB 0337 19 NOT 0338 16 AND 0339 81 DUP2 033A 52 MSTORE 033B 60 PUSH1 0x20 033D 01 ADD 033E 91 SWAP2 033F 50 POP 0340 5B JUMPDEST 0341 50 POP 0342 94 SWAP5 0343 50 POP 0344 50 POP 0345 50 POP 0346 50 POP 0347 50 POP 0348 60 PUSH1 0x40 034A 51 MLOAD 034B 80 DUP1 034C 91 SWAP2 034D 03 SUB 034E 90 SWAP1 034F F3 *RETURN label_0350: // Incoming jump from 0x0210, if 0x1aa3a008 == stack[-1] 0350 5B JUMPDEST 0351 61 PUSH2 0x0242 0354 61 PUSH2 0x1706 0357 56 *JUMP // Stack delta = +1 // Outputs[1] { @0351 stack[0] = 0x0242 } // Block ends with call to 0x1706, returns to 0x0242 label_0358: // Incoming jump from 0x01BE, if 0x1da97ea3 == stack[-1] // Inputs[1] { @035F msg.data.length } 0358 5B JUMPDEST 0359 61 PUSH2 0x040c 035C 60 PUSH1 0x04 035E 80 DUP1 035F 36 CALLDATASIZE 0360 03 SUB 0361 60 PUSH1 0x40 0363 81 DUP2 0364 10 LT 0365 15 ISZERO 0366 61 PUSH2 0x036e 0369 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0359 stack[0] = 0x040c // @035C stack[1] = 0x04 // @0360 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x036e, returns to 0x040C, if !(msg.data.length - 0x04 < 0x40) label_036A: // Incoming jump from 0x0369, if not !(msg.data.length - 0x04 < 0x40) // Inputs[1] { @036D memory[0x00:0x00] } 036A 60 PUSH1 0x00 036C 80 DUP1 036D FD *REVERT // Stack delta = +0 // Outputs[1] { @036D revert(memory[0x00:0x00]); } // Block terminates label_036E: // Incoming call from 0x0369, returns to 0x040C, if !(msg.data.length - 0x04 < 0x40) // Inputs[4] // { // @0377 stack[-2] // @0378 msg.data[stack[-2]:stack[-2] + 0x20] // @037B stack[-1] // @0387 msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } 036E 5B JUMPDEST 036F 60 PUSH1 0x01 0371 60 PUSH1 0x01 0373 60 PUSH1 0xa0 0375 1B SHL 0376 03 SUB 0377 82 DUP3 0378 35 CALLDATALOAD 0379 16 AND 037A 91 SWAP2 037B 90 SWAP1 037C 81 DUP2 037D 01 ADD 037E 90 SWAP1 037F 60 PUSH1 0x40 0381 81 DUP2 0382 01 ADD 0383 60 PUSH1 0x20 0385 82 DUP3 0386 01 ADD 0387 35 CALLDATALOAD 0388 60 PUSH1 0x01 038A 60 PUSH1 0x20 038C 1B SHL 038D 81 DUP2 038E 11 GT 038F 15 ISZERO 0390 61 PUSH2 0x0398 0393 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @037A stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @037E stack[0] = stack[-2] // @037E stack[-1] = stack[-2] + stack[-1] // @0382 stack[1] = stack[-2] + 0x40 // @0387 stack[2] = msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x0398, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) label_0394: // Incoming jump from 0x0393, if not !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[1] { @0397 memory[0x00:0x00] } 0394 60 PUSH1 0x00 0396 80 DUP1 0397 FD *REVERT // Stack delta = +0 // Outputs[1] { @0397 revert(memory[0x00:0x00]); } // Block terminates label_0398: // Incoming jump from 0x0393, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0399 stack[-3] // @039A stack[-1] // @039B stack[-4] // } 0398 5B JUMPDEST 0399 82 DUP3 039A 01 ADD 039B 83 DUP4 039C 60 PUSH1 0x20 039E 82 DUP3 039F 01 ADD 03A0 11 GT 03A1 15 ISZERO 03A2 61 PUSH2 0x03aa 03A5 57 *JUMPI // Stack delta = +0 // Outputs[1] { @039A stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x03aa, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_03A6: // Incoming jump from 0x03A5, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @03A9 memory[0x00:0x00] } 03A6 60 PUSH1 0x00 03A8 80 DUP1 03A9 FD *REVERT // Stack delta = +0 // Outputs[1] { @03A9 revert(memory[0x00:0x00]); } // Block terminates label_03AA: // Incoming jump from 0x03A5, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @03AB stack[-1] // @03AC msg.data[stack[-1]:stack[-1] + 0x20] // @03B1 stack[-2] // @03B2 stack[-4] // } 03AA 5B JUMPDEST 03AB 80 DUP1 03AC 35 CALLDATALOAD 03AD 90 SWAP1 03AE 60 PUSH1 0x20 03B0 01 ADD 03B1 91 SWAP2 03B2 84 DUP5 03B3 60 PUSH1 0x01 03B5 83 DUP4 03B6 02 MUL 03B7 84 DUP5 03B8 01 ADD 03B9 11 GT 03BA 60 PUSH1 0x01 03BC 60 PUSH1 0x20 03BE 1B SHL 03BF 83 DUP4 03C0 11 GT 03C1 17 OR 03C2 15 ISZERO 03C3 61 PUSH2 0x03cb 03C6 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @03AD stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @03B1 stack[0] = stack[-2] // @03B1 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x03cb, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_03C7: // Incoming jump from 0x03C6, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @03CA memory[0x00:0x00] } 03C7 60 PUSH1 0x00 03C9 80 DUP1 03CA FD *REVERT // Stack delta = +0 // Outputs[1] { @03CA revert(memory[0x00:0x00]); } // Block terminates label_03CB: // Incoming jump from 0x03C6, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[7] // { // @03CC stack[-1] // @03CC stack[-3] // @03CD stack[-2] // @03DE memory[0x40:0x60] // @03F5 msg.data[stack[-3]:stack[-3] + stack[-2]] // @0400 stack[-5] // @0405 stack[-4] // } 03CB 5B JUMPDEST 03CC 91 SWAP2 03CD 90 SWAP1 03CE 80 DUP1 03CF 80 DUP1 03D0 60 PUSH1 0x1f 03D2 01 ADD 03D3 60 PUSH1 0x20 03D5 80 DUP1 03D6 91 SWAP2 03D7 04 DIV 03D8 02 MUL 03D9 60 PUSH1 0x20 03DB 01 ADD 03DC 60 PUSH1 0x40 03DE 51 MLOAD 03DF 90 SWAP1 03E0 81 DUP2 03E1 01 ADD 03E2 60 PUSH1 0x40 03E4 52 MSTORE 03E5 80 DUP1 03E6 93 SWAP4 03E7 92 SWAP3 03E8 91 SWAP2 03E9 90 SWAP1 03EA 81 DUP2 03EB 81 DUP2 03EC 52 MSTORE 03ED 60 PUSH1 0x20 03EF 01 ADD 03F0 83 DUP4 03F1 83 DUP4 03F2 80 DUP1 03F3 82 DUP3 03F4 84 DUP5 03F5 37 CALLDATACOPY 03F6 60 PUSH1 0x00 03F8 92 SWAP3 03F9 01 ADD 03FA 91 SWAP2 03FB 90 SWAP1 03FC 91 SWAP2 03FD 52 MSTORE 03FE 50 POP 03FF 92 SWAP3 0400 95 SWAP6 0401 50 POP 0402 61 PUSH2 0x18c8 0405 94 SWAP5 0406 50 POP 0407 50 POP 0408 50 POP 0409 50 POP 040A 50 POP 040B 56 *JUMP // Stack delta = -4 // Outputs[5] // { // @03E4 memory[0x40:0x60] = memory[0x40:0x60] + 0x20 + (0x1f + stack[-2]) / 0x20 * 0x20 // @03EC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-2] // @03F5 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + stack[-2]] = msg.data[stack[-3]:stack[-3] + stack[-2]] // @03FD memory[0x20 + memory[0x40:0x60] + stack[-2]:0x20 + memory[0x40:0x60] + stack[-2] + 0x20] = 0x00 // @0400 stack[-5] = memory[0x40:0x60] // } // Block ends with unconditional jump to 0x18c8 label_040C: // Incoming return from call to 0x4533 at 0x0F24 // Incoming return from call to 0x036E at 0x0369 // Incoming return from call to 0x2246 at 0x060F // Inputs[4] // { // @0410 memory[0x40:0x60] // @041A stack[-1] // @041E memory[0x40:0x60] // @0427 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 040C 5B JUMPDEST 040D 60 PUSH1 0x40 040F 80 DUP1 0410 51 MLOAD 0411 60 PUSH1 0x01 0413 60 PUSH1 0x01 0415 60 PUSH1 0xa0 0417 1B SHL 0418 03 SUB 0419 90 SWAP1 041A 92 SWAP3 041B 16 AND 041C 82 DUP3 041D 52 MSTORE 041E 51 MLOAD 041F 90 SWAP1 0420 81 DUP2 0421 90 SWAP1 0422 03 SUB 0423 60 PUSH1 0x20 0425 01 ADD 0426 90 SWAP1 0427 F3 *RETURN // Stack delta = -1 // Outputs[2] // { // @041D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] & (0x01 << 0xa0) - 0x01 // @0427 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])]; // } // Block terminates label_0428: // Incoming jump from 0x01C9, if 0x1e5f3627 == stack[-1] // Inputs[1] { @042F msg.data.length } 0428 5B JUMPDEST 0429 61 PUSH2 0x0242 042C 60 PUSH1 0x04 042E 80 DUP1 042F 36 CALLDATASIZE 0430 03 SUB 0431 60 PUSH1 0x20 0433 81 DUP2 0434 10 LT 0435 15 ISZERO 0436 61 PUSH2 0x043e 0439 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0429 stack[0] = 0x0242 // @042C stack[1] = 0x04 // @0430 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x043e, returns to 0x0242, if !(msg.data.length - 0x04 < 0x20) label_043A: // Incoming jump from 0x0439, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @043D memory[0x00:0x00] } 043A 60 PUSH1 0x00 043C 80 DUP1 043D FD *REVERT // Stack delta = +0 // Outputs[1] { @043D revert(memory[0x00:0x00]); } // Block terminates label_043E: // Incoming call from 0x0439, returns to 0x0242, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0440 stack[-2] // @0440 msg.data[stack[-2]:stack[-2] + 0x20] // } 043E 5B JUMPDEST 043F 50 POP 0440 35 CALLDATALOAD 0441 60 PUSH1 0x01 0443 60 PUSH1 0x01 0445 60 PUSH1 0xa0 0447 1B SHL 0448 03 SUB 0449 16 AND 044A 61 PUSH2 0x1906 044D 56 *JUMP // Stack delta = -1 // Outputs[1] { @0449 stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x1906 label_044E: // Incoming jump from 0x01D4, if 0x434a62ec == stack[-1] 044E 5B JUMPDEST 044F 61 PUSH2 0x0456 0452 61 PUSH2 0x19ba 0455 56 *JUMP // Stack delta = +1 // Outputs[1] { @044F stack[0] = 0x0456 } // Block ends with unconditional jump to 0x19ba label_0456: // Incoming return from call to 0x36DE at 0x0D73 // Incoming return from call to 0x06A3 at 0x069E // Incoming return from call to 0x26FC at 0x0993 // Incoming return from call to 0x25B1 at 0x0983 // Incoming return from call to 0x26A5 at 0x098B // Inputs[4] // { // @045A memory[0x40:0x60] // @045B stack[-1] // @045E memory[0x40:0x60] // @0467 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 0456 5B JUMPDEST 0457 60 PUSH1 0x40 0459 80 DUP1 045A 51 MLOAD 045B 91 SWAP2 045C 82 DUP3 045D 52 MSTORE 045E 51 MLOAD 045F 90 SWAP1 0460 81 DUP2 0461 90 SWAP1 0462 03 SUB 0463 60 PUSH1 0x20 0465 01 ADD 0466 90 SWAP1 0467 F3 *RETURN // Stack delta = -1 // Outputs[2] // { // @045D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-1] // @0467 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])]; // } // Block terminates label_0468: // Incoming jump from 0x01DF, if 0x5e01eb5a == stack[-1] 0468 5B JUMPDEST 0469 61 PUSH2 0x040c 046C 61 PUSH2 0x1c6e 046F 56 *JUMP // Stack delta = +1 // Outputs[1] { @0469 stack[0] = 0x040c } // Block ends with unconditional jump to 0x1c6e label_0470: // Incoming jump from 0x0182, if 0x62f61401 == stack[-1] // Inputs[1] { @0477 msg.data.length } 0470 5B JUMPDEST 0471 61 PUSH2 0x05ce 0474 60 PUSH1 0x04 0476 80 DUP1 0477 36 CALLDATASIZE 0478 03 SUB 0479 60 PUSH1 0x80 047B 81 DUP2 047C 10 LT 047D 15 ISZERO 047E 61 PUSH2 0x0486 0481 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0471 stack[0] = 0x05ce // @0474 stack[1] = 0x04 // @0478 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0486, if !(msg.data.length - 0x04 < 0x80) label_0482: // Incoming jump from 0x0481, if not !(msg.data.length - 0x04 < 0x80) // Inputs[1] { @0485 memory[0x00:0x00] } 0482 60 PUSH1 0x00 0484 80 DUP1 0485 FD *REVERT // Stack delta = +0 // Outputs[1] { @0485 revert(memory[0x00:0x00]); } // Block terminates label_0486: // Incoming jump from 0x0481, if !(msg.data.length - 0x04 < 0x80) // Inputs[3] // { // @0487 stack[-2] // @0488 stack[-1] // @048F msg.data[stack[-2]:stack[-2] + 0x20] // } 0486 5B JUMPDEST 0487 81 DUP2 0488 01 ADD 0489 90 SWAP1 048A 60 PUSH1 0x20 048C 81 DUP2 048D 01 ADD 048E 81 DUP2 048F 35 CALLDATALOAD 0490 60 PUSH1 0x01 0492 60 PUSH1 0x20 0494 1B SHL 0495 81 DUP2 0496 11 GT 0497 15 ISZERO 0498 61 PUSH2 0x04a0 049B 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @0489 stack[-1] = stack[-2] // @0489 stack[-2] = stack[-2] + stack[-1] // @048D stack[0] = stack[-2] + 0x20 // @048F stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x04a0, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_049C: // Incoming jump from 0x049B, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @049F memory[0x00:0x00] } 049C 60 PUSH1 0x00 049E 80 DUP1 049F FD *REVERT // Stack delta = +0 // Outputs[1] { @049F revert(memory[0x00:0x00]); } // Block terminates label_04A0: // Incoming jump from 0x049B, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @04A1 stack[-3] // @04A2 stack[-1] // @04A3 stack[-4] // } 04A0 5B JUMPDEST 04A1 82 DUP3 04A2 01 ADD 04A3 83 DUP4 04A4 60 PUSH1 0x20 04A6 82 DUP3 04A7 01 ADD 04A8 11 GT 04A9 15 ISZERO 04AA 61 PUSH2 0x04b2 04AD 57 *JUMPI // Stack delta = +0 // Outputs[1] { @04A2 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x04b2, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_04AE: // Incoming jump from 0x04AD, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @04B1 memory[0x00:0x00] } 04AE 60 PUSH1 0x00 04B0 80 DUP1 04B1 FD *REVERT // Stack delta = +0 // Outputs[1] { @04B1 revert(memory[0x00:0x00]); } // Block terminates label_04B2: // Incoming jump from 0x04AD, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @04B3 stack[-1] // @04B4 msg.data[stack[-1]:stack[-1] + 0x20] // @04B9 stack[-2] // @04BA stack[-4] // } 04B2 5B JUMPDEST 04B3 80 DUP1 04B4 35 CALLDATALOAD 04B5 90 SWAP1 04B6 60 PUSH1 0x20 04B8 01 ADD 04B9 91 SWAP2 04BA 84 DUP5 04BB 60 PUSH1 0x01 04BD 83 DUP4 04BE 02 MUL 04BF 84 DUP5 04C0 01 ADD 04C1 11 GT 04C2 60 PUSH1 0x01 04C4 60 PUSH1 0x20 04C6 1B SHL 04C7 83 DUP4 04C8 11 GT 04C9 17 OR 04CA 15 ISZERO 04CB 61 PUSH2 0x04d3 04CE 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @04B5 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @04B9 stack[0] = stack[-2] // @04B9 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x04d3, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_04CF: // Incoming jump from 0x04CE, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @04D2 memory[0x00:0x00] } 04CF 60 PUSH1 0x00 04D1 80 DUP1 04D2 FD *REVERT // Stack delta = +0 // Outputs[1] { @04D2 revert(memory[0x00:0x00]); } // Block terminates label_04D3: // Incoming jump from 0x04CE, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @04D4 stack[-1] // @04D4 stack[-3] // @04D5 stack[-5] // @04D6 stack[-2] // @04D7 stack[-4] // @04DF msg.data[stack[-1]:stack[-1] + 0x20] // } 04D3 5B JUMPDEST 04D4 91 SWAP2 04D5 93 SWAP4 04D6 90 SWAP1 04D7 92 SWAP3 04D8 90 SWAP1 04D9 91 SWAP2 04DA 60 PUSH1 0x20 04DC 81 DUP2 04DD 01 ADD 04DE 90 SWAP1 04DF 35 CALLDATALOAD 04E0 60 PUSH1 0x01 04E2 60 PUSH1 0x20 04E4 1B SHL 04E5 81 DUP2 04E6 11 GT 04E7 15 ISZERO 04E8 61 PUSH2 0x04f0 04EB 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @04D5 stack[-5] = stack[-3] // @04D7 stack[-4] = stack[-2] // @04D8 stack[-2] = stack[-4] // @04D9 stack[-3] = stack[-5] // @04DE stack[-1] = stack[-1] + 0x20 // @04DF stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x04f0, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_04EC: // Incoming jump from 0x04EB, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @04EF memory[0x00:0x00] } 04EC 60 PUSH1 0x00 04EE 80 DUP1 04EF FD *REVERT // Stack delta = +0 // Outputs[1] { @04EF revert(memory[0x00:0x00]); } // Block terminates label_04F0: // Incoming jump from 0x04EB, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @04F1 stack[-3] // @04F2 stack[-1] // @04F3 stack[-4] // } 04F0 5B JUMPDEST 04F1 82 DUP3 04F2 01 ADD 04F3 83 DUP4 04F4 60 PUSH1 0x20 04F6 82 DUP3 04F7 01 ADD 04F8 11 GT 04F9 15 ISZERO 04FA 61 PUSH2 0x0502 04FD 57 *JUMPI // Stack delta = +0 // Outputs[1] { @04F2 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0502, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_04FE: // Incoming jump from 0x04FD, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0501 memory[0x00:0x00] } 04FE 60 PUSH1 0x00 0500 80 DUP1 0501 FD *REVERT // Stack delta = +0 // Outputs[1] { @0501 revert(memory[0x00:0x00]); } // Block terminates label_0502: // Incoming jump from 0x04FD, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0503 stack[-1] // @0504 msg.data[stack[-1]:stack[-1] + 0x20] // @0509 stack[-2] // @050A stack[-4] // } 0502 5B JUMPDEST 0503 80 DUP1 0504 35 CALLDATALOAD 0505 90 SWAP1 0506 60 PUSH1 0x20 0508 01 ADD 0509 91 SWAP2 050A 84 DUP5 050B 60 PUSH1 0x01 050D 83 DUP4 050E 02 MUL 050F 84 DUP5 0510 01 ADD 0511 11 GT 0512 60 PUSH1 0x01 0514 60 PUSH1 0x20 0516 1B SHL 0517 83 DUP4 0518 11 GT 0519 17 OR 051A 15 ISZERO 051B 61 PUSH2 0x0523 051E 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0505 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0509 stack[0] = stack[-2] // @0509 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0523, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_051F: // Incoming jump from 0x051E, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0522 memory[0x00:0x00] } 051F 60 PUSH1 0x00 0521 80 DUP1 0522 FD *REVERT // Stack delta = +0 // Outputs[1] { @0522 revert(memory[0x00:0x00]); } // Block terminates label_0523: // Incoming jump from 0x051E, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0524 stack[-1] // @0524 stack[-3] // @0525 stack[-5] // @0526 stack[-2] // @0527 stack[-4] // @052F msg.data[stack[-1]:stack[-1] + 0x20] // } 0523 5B JUMPDEST 0524 91 SWAP2 0525 93 SWAP4 0526 90 SWAP1 0527 92 SWAP3 0528 90 SWAP1 0529 91 SWAP2 052A 60 PUSH1 0x20 052C 81 DUP2 052D 01 ADD 052E 90 SWAP1 052F 35 CALLDATALOAD 0530 60 PUSH1 0x01 0532 60 PUSH1 0x20 0534 1B SHL 0535 81 DUP2 0536 11 GT 0537 15 ISZERO 0538 61 PUSH2 0x0540 053B 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0525 stack[-5] = stack[-3] // @0527 stack[-4] = stack[-2] // @0528 stack[-2] = stack[-4] // @0529 stack[-3] = stack[-5] // @052E stack[-1] = stack[-1] + 0x20 // @052F stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0540, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_053C: // Incoming jump from 0x053B, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @053F memory[0x00:0x00] } 053C 60 PUSH1 0x00 053E 80 DUP1 053F FD *REVERT // Stack delta = +0 // Outputs[1] { @053F revert(memory[0x00:0x00]); } // Block terminates label_0540: // Incoming jump from 0x053B, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0541 stack[-3] // @0542 stack[-1] // @0543 stack[-4] // } 0540 5B JUMPDEST 0541 82 DUP3 0542 01 ADD 0543 83 DUP4 0544 60 PUSH1 0x20 0546 82 DUP3 0547 01 ADD 0548 11 GT 0549 15 ISZERO 054A 61 PUSH2 0x0552 054D 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0542 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0552, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_054E: // Incoming jump from 0x054D, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0551 memory[0x00:0x00] } 054E 60 PUSH1 0x00 0550 80 DUP1 0551 FD *REVERT // Stack delta = +0 // Outputs[1] { @0551 revert(memory[0x00:0x00]); } // Block terminates label_0552: // Incoming jump from 0x054D, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0553 stack[-1] // @0554 msg.data[stack[-1]:stack[-1] + 0x20] // @0559 stack[-2] // @055A stack[-4] // } 0552 5B JUMPDEST 0553 80 DUP1 0554 35 CALLDATALOAD 0555 90 SWAP1 0556 60 PUSH1 0x20 0558 01 ADD 0559 91 SWAP2 055A 84 DUP5 055B 60 PUSH1 0x01 055D 83 DUP4 055E 02 MUL 055F 84 DUP5 0560 01 ADD 0561 11 GT 0562 60 PUSH1 0x01 0564 60 PUSH1 0x20 0566 1B SHL 0567 83 DUP4 0568 11 GT 0569 17 OR 056A 15 ISZERO 056B 61 PUSH2 0x0573 056E 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0555 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0559 stack[0] = stack[-2] // @0559 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0573, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_056F: // Incoming jump from 0x056E, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0572 memory[0x00:0x00] } 056F 60 PUSH1 0x00 0571 80 DUP1 0572 FD *REVERT // Stack delta = +0 // Outputs[1] { @0572 revert(memory[0x00:0x00]); } // Block terminates label_0573: // Incoming jump from 0x056E, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0574 stack[-3] // @0574 stack[-1] // @0575 stack[-5] // @0576 stack[-2] // @0577 stack[-4] // @057F msg.data[stack[-1]:stack[-1] + 0x20] // } 0573 5B JUMPDEST 0574 91 SWAP2 0575 93 SWAP4 0576 90 SWAP1 0577 92 SWAP3 0578 90 SWAP1 0579 91 SWAP2 057A 60 PUSH1 0x20 057C 81 DUP2 057D 01 ADD 057E 90 SWAP1 057F 35 CALLDATALOAD 0580 60 PUSH1 0x01 0582 60 PUSH1 0x20 0584 1B SHL 0585 81 DUP2 0586 11 GT 0587 15 ISZERO 0588 61 PUSH2 0x0590 058B 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0575 stack[-5] = stack[-3] // @0577 stack[-4] = stack[-2] // @0578 stack[-2] = stack[-4] // @0579 stack[-3] = stack[-5] // @057E stack[-1] = stack[-1] + 0x20 // @057F stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0590, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_058C: // Incoming jump from 0x058B, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @058F memory[0x00:0x00] } 058C 60 PUSH1 0x00 058E 80 DUP1 058F FD *REVERT // Stack delta = +0 // Outputs[1] { @058F revert(memory[0x00:0x00]); } // Block terminates label_0590: // Incoming jump from 0x058B, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0591 stack[-3] // @0592 stack[-1] // @0593 stack[-4] // } 0590 5B JUMPDEST 0591 82 DUP3 0592 01 ADD 0593 83 DUP4 0594 60 PUSH1 0x20 0596 82 DUP3 0597 01 ADD 0598 11 GT 0599 15 ISZERO 059A 61 PUSH2 0x05a2 059D 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0592 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x05a2, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_059E: // Incoming jump from 0x059D, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @05A1 memory[0x00:0x00] } 059E 60 PUSH1 0x00 05A0 80 DUP1 05A1 FD *REVERT // Stack delta = +0 // Outputs[1] { @05A1 revert(memory[0x00:0x00]); } // Block terminates label_05A2: // Incoming jump from 0x059D, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @05A3 stack[-1] // @05A4 msg.data[stack[-1]:stack[-1] + 0x20] // @05A9 stack[-2] // @05AA stack[-4] // } 05A2 5B JUMPDEST 05A3 80 DUP1 05A4 35 CALLDATALOAD 05A5 90 SWAP1 05A6 60 PUSH1 0x20 05A8 01 ADD 05A9 91 SWAP2 05AA 84 DUP5 05AB 60 PUSH1 0x01 05AD 83 DUP4 05AE 02 MUL 05AF 84 DUP5 05B0 01 ADD 05B1 11 GT 05B2 60 PUSH1 0x01 05B4 60 PUSH1 0x20 05B6 1B SHL 05B7 83 DUP4 05B8 11 GT 05B9 17 OR 05BA 15 ISZERO 05BB 61 PUSH2 0x05c3 05BE 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @05A5 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @05A9 stack[0] = stack[-2] // @05A9 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x05c3, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_05BF: // Incoming jump from 0x05BE, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @05C2 memory[0x00:0x00] } 05BF 60 PUSH1 0x00 05C1 80 DUP1 05C2 FD *REVERT // Stack delta = +0 // Outputs[1] { @05C2 revert(memory[0x00:0x00]); } // Block terminates label_05C3: // Incoming jump from 0x05BE, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @05C5 stack[-3] // @05C5 stack[-2] // @05C6 stack[-5] // @05C8 stack[-4] // } 05C3 5B JUMPDEST 05C4 50 POP 05C5 90 SWAP1 05C6 92 SWAP3 05C7 50 POP 05C8 90 SWAP1 05C9 50 POP 05CA 61 PUSH2 0x1cb6 05CD 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @05C6 stack[-5] = stack[-3] // @05C8 stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x1cb6 label_05CE: // Incoming return from call to 0x0AC0 at 0x0ABB // Incoming return from call to 0x0AF4 at 0x0AEF // Incoming return from call to 0x0AF4 at 0x0AEF // Incoming return from call to 0x0F3B at 0x0F36 // Inputs[4] // { // @05D2 memory[0x40:0x60] // @05D3 stack[-1] // @05D8 memory[0x40:0x60] // @05E1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 05CE 5B JUMPDEST 05CF 60 PUSH1 0x40 05D1 80 DUP1 05D2 51 MLOAD 05D3 91 SWAP2 05D4 15 ISZERO 05D5 15 ISZERO 05D6 82 DUP3 05D7 52 MSTORE 05D8 51 MLOAD 05D9 90 SWAP1 05DA 81 DUP2 05DB 90 SWAP1 05DC 03 SUB 05DD 60 PUSH1 0x20 05DF 01 ADD 05E0 90 SWAP1 05E1 F3 *RETURN // Stack delta = -1 // Outputs[2] // { // @05D7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = !!stack[-1] // @05E1 return memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20 + (memory[0x40:0x60] - memory[0x40:0x60])]; // } // Block terminates label_05E2: // Incoming jump from 0x018D, if 0x64cb4edb == stack[-1] // Inputs[1] { @05E9 msg.data.length } 05E2 5B JUMPDEST 05E3 61 PUSH2 0x0242 05E6 60 PUSH1 0x04 05E8 80 DUP1 05E9 36 CALLDATASIZE 05EA 03 SUB 05EB 60 PUSH1 0x20 05ED 81 DUP2 05EE 10 LT 05EF 15 ISZERO 05F0 61 PUSH2 0x05f8 05F3 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @05E3 stack[0] = 0x0242 // @05E6 stack[1] = 0x04 // @05EA stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x05f8, returns to 0x0242, if !(msg.data.length - 0x04 < 0x20) label_05F4: // Incoming jump from 0x05F3, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @05F7 memory[0x00:0x00] } 05F4 60 PUSH1 0x00 05F6 80 DUP1 05F7 FD *REVERT // Stack delta = +0 // Outputs[1] { @05F7 revert(memory[0x00:0x00]); } // Block terminates label_05F8: // Incoming call from 0x05F3, returns to 0x0242, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @05FA msg.data[stack[-2]:stack[-2] + 0x20] // @05FA stack[-2] // } 05F8 5B JUMPDEST 05F9 50 POP 05FA 35 CALLDATALOAD 05FB 60 PUSH1 0x01 05FD 60 PUSH1 0x01 05FF 60 PUSH1 0xa0 0601 1B SHL 0602 03 SUB 0603 16 AND 0604 61 PUSH2 0x214d 0607 56 *JUMP // Stack delta = -1 // Outputs[1] { @0603 stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x214d label_0608: // Incoming jump from 0x0198, if 0x74e861d6 == stack[-1] 0608 5B JUMPDEST 0609 61 PUSH2 0x040c 060C 61 PUSH2 0x2246 060F 56 *JUMP // Stack delta = +1 // Outputs[1] { @0609 stack[0] = 0x040c } // Block ends with call to 0x2246, returns to 0x040C label_0610: // Incoming jump from 0x01A3, if 0x75d0c0dc == stack[-1] 0610 5B JUMPDEST 0611 61 PUSH2 0x0618 0614 61 PUSH2 0x2255 0617 56 *JUMP // Stack delta = +1 // Outputs[1] { @0611 stack[0] = 0x0618 } // Block ends with call to 0x2255, returns to 0x0618 label_0618: // Incoming return from call to 0x2255 at 0x0617 // Incoming return from call to 0x2D53 at 0x0ADD // Incoming return from call to 0x4A06 at 0x1184 // Inputs[4] // { // @061C memory[0x40:0x60] // @0622 stack[-1] // @0623 memory[stack[-1]:stack[-1] + 0x20] // @0629 memory[stack[-1]:stack[-1] + 0x20] // } 0618 5B JUMPDEST 0619 60 PUSH1 0x40 061B 80 DUP1 061C 51 MLOAD 061D 60 PUSH1 0x20 061F 80 DUP1 0620 82 DUP3 0621 52 MSTORE 0622 83 DUP4 0623 51 MLOAD 0624 81 DUP2 0625 83 DUP4 0626 01 ADD 0627 52 MSTORE 0628 83 DUP4 0629 51 MLOAD 062A 91 SWAP2 062B 92 SWAP3 062C 83 DUP4 062D 92 SWAP3 062E 90 SWAP1 062F 83 DUP4 0630 01 ADD 0631 91 SWAP2 0632 85 DUP6 0633 01 ADD 0634 90 SWAP1 0635 80 DUP1 0636 83 DUP4 0637 83 DUP4 0638 60 PUSH1 0x00 063A 5B JUMPDEST 063B 83 DUP4 063C 81 DUP2 063D 10 LT 063E 15 ISZERO 063F 61 PUSH2 0x0652 0642 57 *JUMPI // Stack delta = +9 // Outputs[11] // { // @0621 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x20 // @0627 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @062B stack[0] = memory[0x40:0x60] // @062D stack[1] = memory[0x40:0x60] // @0631 stack[2] = memory[0x40:0x60] + 0x40 // @0634 stack[3] = stack[-1] + 0x20 // @0634 stack[4] = memory[stack[-1]:stack[-1] + 0x20] // @0635 stack[5] = memory[stack[-1]:stack[-1] + 0x20] // @0636 stack[6] = memory[0x40:0x60] + 0x40 // @0637 stack[7] = stack[-1] + 0x20 // @0638 stack[8] = 0x00 // } // Block ends with conditional jump to 0x0652, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) label_0643: // Incoming jump from 0x0642, if not !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Incoming jump from 0x0642, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @0643 stack[-2] // @0644 stack[-1] // @0646 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @0647 stack[-3] // } 0643 81 DUP2 0644 81 DUP2 0645 01 ADD 0646 51 MLOAD 0647 83 DUP4 0648 82 DUP3 0649 01 ADD 064A 52 MSTORE 064B 60 PUSH1 0x20 064D 01 ADD 064E 61 PUSH2 0x063a 0651 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @064A memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @064D stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x063a label_0652: // Incoming jump from 0x0642, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Incoming jump from 0x0642, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @0657 stack[-6] // @0657 stack[-5] // @0659 stack[-7] // } 0652 5B JUMPDEST 0653 50 POP 0654 50 POP 0655 50 POP 0656 50 POP 0657 90 SWAP1 0658 50 POP 0659 90 SWAP1 065A 81 DUP2 065B 01 ADD 065C 90 SWAP1 065D 60 PUSH1 0x1f 065F 16 AND 0660 80 DUP1 0661 15 ISZERO 0662 61 PUSH2 0x067f 0665 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @065C stack[-7] = stack[-5] + stack[-7] // @065F stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x067f, if !(0x1f & stack[-5]) label_0666: // Incoming jump from 0x0665, if not !(0x1f & stack[-5]) // Inputs[6] // { // @0666 stack[-1] // @0667 stack[-2] // @066A memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @0681 stack[-5] // @0687 memory[0x40:0x60] // @068C memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60]] // } 0666 80 DUP1 0667 82 DUP3 0668 03 SUB 0669 80 DUP1 066A 51 MLOAD 066B 60 PUSH1 0x01 066D 83 DUP4 066E 60 PUSH1 0x20 0670 03 SUB 0671 61 PUSH2 0x0100 0674 0A EXP 0675 03 SUB 0676 19 NOT 0677 16 AND 0678 81 DUP2 0679 52 MSTORE 067A 60 PUSH1 0x20 067C 01 ADD 067D 91 SWAP2 067E 50 POP 067F 5B JUMPDEST 0680 50 POP 0681 92 SWAP3 0682 50 POP 0683 50 POP 0684 50 POP 0685 60 PUSH1 0x40 0687 51 MLOAD 0688 80 DUP1 0689 91 SWAP2 068A 03 SUB 068B 90 SWAP1 068C F3 *RETURN // Stack delta = -5 // Outputs[2] // { // @0679 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @068C return memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60]]; // } // Block terminates label_068D: // Incoming jump from 0x0146, if 0x80274db7 == stack[-1] // Inputs[1] { @0694 msg.data.length } 068D 5B JUMPDEST 068E 61 PUSH2 0x0456 0691 60 PUSH1 0x04 0693 80 DUP1 0694 36 CALLDATASIZE 0695 03 SUB 0696 60 PUSH1 0x20 0698 81 DUP2 0699 10 LT 069A 15 ISZERO 069B 61 PUSH2 0x06a3 069E 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @068E stack[0] = 0x0456 // @0691 stack[1] = 0x04 // @0695 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x06a3, returns to 0x0456, if !(msg.data.length - 0x04 < 0x20) label_069F: // Incoming jump from 0x069E, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @06A2 memory[0x00:0x00] } 069F 60 PUSH1 0x00 06A1 80 DUP1 06A2 FD *REVERT // Stack delta = +0 // Outputs[1] { @06A2 revert(memory[0x00:0x00]); } // Block terminates label_06A3: // Incoming call from 0x069E, returns to 0x0456, if !(msg.data.length - 0x04 < 0x20) // Inputs[3] // { // @06A4 stack[-2] // @06A5 stack[-1] // @06AC msg.data[stack[-2]:stack[-2] + 0x20] // } 06A3 5B JUMPDEST 06A4 81 DUP2 06A5 01 ADD 06A6 90 SWAP1 06A7 60 PUSH1 0x20 06A9 81 DUP2 06AA 01 ADD 06AB 81 DUP2 06AC 35 CALLDATALOAD 06AD 60 PUSH1 0x01 06AF 60 PUSH1 0x20 06B1 1B SHL 06B2 81 DUP2 06B3 11 GT 06B4 15 ISZERO 06B5 61 PUSH2 0x06bd 06B8 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @06A6 stack[-1] = stack[-2] // @06A6 stack[-2] = stack[-2] + stack[-1] // @06AA stack[0] = stack[-2] + 0x20 // @06AC stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x06bd, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_06B9: // Incoming jump from 0x06B8, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @06BC memory[0x00:0x00] } 06B9 60 PUSH1 0x00 06BB 80 DUP1 06BC FD *REVERT // Stack delta = +0 // Outputs[1] { @06BC revert(memory[0x00:0x00]); } // Block terminates label_06BD: // Incoming jump from 0x06B8, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @06BE stack[-3] // @06BF stack[-1] // @06C0 stack[-4] // } 06BD 5B JUMPDEST 06BE 82 DUP3 06BF 01 ADD 06C0 83 DUP4 06C1 60 PUSH1 0x20 06C3 82 DUP3 06C4 01 ADD 06C5 11 GT 06C6 15 ISZERO 06C7 61 PUSH2 0x06cf 06CA 57 *JUMPI // Stack delta = +0 // Outputs[1] { @06BF stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x06cf, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_06CB: // Incoming jump from 0x06CA, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @06CE memory[0x00:0x00] } 06CB 60 PUSH1 0x00 06CD 80 DUP1 06CE FD *REVERT // Stack delta = +0 // Outputs[1] { @06CE revert(memory[0x00:0x00]); } // Block terminates label_06CF: // Incoming jump from 0x06CA, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @06D0 stack[-1] // @06D1 msg.data[stack[-1]:stack[-1] + 0x20] // @06D6 stack[-2] // @06D7 stack[-4] // } 06CF 5B JUMPDEST 06D0 80 DUP1 06D1 35 CALLDATALOAD 06D2 90 SWAP1 06D3 60 PUSH1 0x20 06D5 01 ADD 06D6 91 SWAP2 06D7 84 DUP5 06D8 60 PUSH1 0x01 06DA 83 DUP4 06DB 02 MUL 06DC 84 DUP5 06DD 01 ADD 06DE 11 GT 06DF 60 PUSH1 0x01 06E1 60 PUSH1 0x20 06E3 1B SHL 06E4 83 DUP4 06E5 11 GT 06E6 17 OR 06E7 15 ISZERO 06E8 61 PUSH2 0x06f0 06EB 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @06D2 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @06D6 stack[0] = stack[-2] // @06D6 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x06f0, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_06EC: // Incoming jump from 0x06EB, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @06EF memory[0x00:0x00] } 06EC 60 PUSH1 0x00 06EE 80 DUP1 06EF FD *REVERT // Stack delta = +0 // Outputs[1] { @06EF revert(memory[0x00:0x00]); } // Block terminates label_06F0: // Incoming jump from 0x06EB, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @06F2 stack[-3] // @06F2 stack[-2] // @06F3 stack[-5] // @06F5 stack[-4] // } 06F0 5B JUMPDEST 06F1 50 POP 06F2 90 SWAP1 06F3 92 SWAP3 06F4 50 POP 06F5 90 SWAP1 06F6 50 POP 06F7 61 PUSH2 0x227f 06FA 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @06F3 stack[-5] = stack[-3] // @06F5 stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x227f label_06FB: // Incoming jump from 0x0151, if 0x80fb948c == stack[-1] // Inputs[1] { @0702 msg.data.length } 06FB 5B JUMPDEST 06FC 61 PUSH2 0x0718 06FF 60 PUSH1 0x04 0701 80 DUP1 0702 36 CALLDATASIZE 0703 03 SUB 0704 60 PUSH1 0x20 0706 81 DUP2 0707 10 LT 0708 15 ISZERO 0709 61 PUSH2 0x0711 070C 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @06FC stack[0] = 0x0718 // @06FF stack[1] = 0x04 // @0703 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0711, if !(msg.data.length - 0x04 < 0x20) label_070D: // Incoming jump from 0x070C, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0710 memory[0x00:0x00] } 070D 60 PUSH1 0x00 070F 80 DUP1 0710 FD *REVERT // Stack delta = +0 // Outputs[1] { @0710 revert(memory[0x00:0x00]); } // Block terminates label_0711: // Incoming jump from 0x070C, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0713 stack[-2] // @0713 msg.data[stack[-2]:stack[-2] + 0x20] // } 0711 5B JUMPDEST 0712 50 POP 0713 35 CALLDATALOAD 0714 61 PUSH2 0x22d8 0717 56 *JUMP // Stack delta = -1 // Outputs[1] { @0713 stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x22d8 0718 5B JUMPDEST 0719 60 PUSH1 0x40 071B 51 MLOAD 071C 80 DUP1 071D 84 DUP5 071E 60 PUSH1 0x01 0720 60 PUSH1 0x01 0722 60 PUSH1 0xa0 0724 1B SHL 0725 03 SUB 0726 16 AND 0727 60 PUSH1 0x01 0729 60 PUSH1 0x01 072B 60 PUSH1 0xa0 072D 1B SHL 072E 03 SUB 072F 16 AND 0730 81 DUP2 0731 52 MSTORE 0732 60 PUSH1 0x20 0734 01 ADD 0735 80 DUP1 0736 60 PUSH1 0x20 0738 01 ADD 0739 80 DUP1 073A 60 PUSH1 0x20 073C 01 ADD 073D 83 DUP4 073E 81 DUP2 073F 03 SUB 0740 83 DUP4 0741 52 MSTORE 0742 85 DUP6 0743 81 DUP2 0744 81 DUP2 0745 51 MLOAD 0746 81 DUP2 0747 52 MSTORE 0748 60 PUSH1 0x20 074A 01 ADD 074B 91 SWAP2 074C 50 POP 074D 80 DUP1 074E 51 MLOAD 074F 90 SWAP1 0750 60 PUSH1 0x20 0752 01 ADD 0753 90 SWAP1 0754 80 DUP1 0755 83 DUP4 0756 83 DUP4 0757 60 PUSH1 0x00 0759 5B JUMPDEST 075A 83 DUP4 075B 81 DUP2 075C 10 LT 075D 15 ISZERO 075E 61 PUSH2 0x0771 0761 57 *JUMPI 0762 81 DUP2 0763 81 DUP2 0764 01 ADD 0765 51 MLOAD 0766 83 DUP4 0767 82 DUP3 0768 01 ADD 0769 52 MSTORE 076A 60 PUSH1 0x20 076C 01 ADD 076D 61 PUSH2 0x0759 0770 56 *JUMP 0771 5B JUMPDEST 0772 50 POP 0773 50 POP 0774 50 POP 0775 50 POP 0776 90 SWAP1 0777 50 POP 0778 90 SWAP1 0779 81 DUP2 077A 01 ADD 077B 90 SWAP1 077C 60 PUSH1 0x1f 077E 16 AND 077F 80 DUP1 0780 15 ISZERO 0781 61 PUSH2 0x079e 0784 57 *JUMPI 0785 80 DUP1 0786 82 DUP3 0787 03 SUB 0788 80 DUP1 0789 51 MLOAD 078A 60 PUSH1 0x01 078C 83 DUP4 078D 60 PUSH1 0x20 078F 03 SUB 0790 61 PUSH2 0x0100 0793 0A EXP 0794 03 SUB 0795 19 NOT 0796 16 AND 0797 81 DUP2 0798 52 MSTORE 0799 60 PUSH1 0x20 079B 01 ADD 079C 91 SWAP2 079D 50 POP 079E 5B JUMPDEST 079F 50 POP 07A0 83 DUP4 07A1 81 DUP2 07A2 03 SUB 07A3 82 DUP3 07A4 52 MSTORE 07A5 84 DUP5 07A6 51 MLOAD 07A7 81 DUP2 07A8 52 MSTORE 07A9 84 DUP5 07AA 51 MLOAD 07AB 60 PUSH1 0x20 07AD 91 SWAP2 07AE 82 DUP3 07AF 01 ADD 07B0 91 SWAP2 07B1 86 DUP7 07B2 01 ADD 07B3 90 SWAP1 07B4 80 DUP1 07B5 83 DUP4 07B6 83 DUP4 07B7 60 PUSH1 0x00 07B9 5B JUMPDEST 07BA 83 DUP4 07BB 81 DUP2 07BC 10 LT 07BD 15 ISZERO 07BE 61 PUSH2 0x07d1 07C1 57 *JUMPI 07C2 81 DUP2 07C3 81 DUP2 07C4 01 ADD 07C5 51 MLOAD 07C6 83 DUP4 07C7 82 DUP3 07C8 01 ADD 07C9 52 MSTORE 07CA 60 PUSH1 0x20 07CC 01 ADD 07CD 61 PUSH2 0x07b9 07D0 56 *JUMP 07D1 5B JUMPDEST 07D2 50 POP 07D3 50 POP 07D4 50 POP 07D5 50 POP 07D6 90 SWAP1 07D7 50 POP 07D8 90 SWAP1 07D9 81 DUP2 07DA 01 ADD 07DB 90 SWAP1 07DC 60 PUSH1 0x1f 07DE 16 AND 07DF 80 DUP1 07E0 15 ISZERO 07E1 61 PUSH2 0x07fe 07E4 57 *JUMPI 07E5 80 DUP1 07E6 82 DUP3 07E7 03 SUB 07E8 80 DUP1 07E9 51 MLOAD 07EA 60 PUSH1 0x01 07EC 83 DUP4 07ED 60 PUSH1 0x20 07EF 03 SUB 07F0 61 PUSH2 0x0100 07F3 0A EXP 07F4 03 SUB 07F5 19 NOT 07F6 16 AND 07F7 81 DUP2 07F8 52 MSTORE 07F9 60 PUSH1 0x20 07FB 01 ADD 07FC 91 SWAP2 07FD 50 POP 07FE 5B JUMPDEST 07FF 50 POP 0800 95 SWAP6 0801 50 POP 0802 50 POP 0803 50 POP 0804 50 POP 0805 50 POP 0806 50 POP 0807 60 PUSH1 0x40 0809 51 MLOAD 080A 80 DUP1 080B 91 SWAP2 080C 03 SUB 080D 90 SWAP1 080E F3 *RETURN label_080F: // Incoming jump from 0x015C, if 0x83947ea0 == stack[-1] // Inputs[1] { @0816 msg.data.length } 080F 5B JUMPDEST 0810 61 PUSH2 0x08fd 0813 60 PUSH1 0x04 0815 80 DUP1 0816 36 CALLDATASIZE 0817 03 SUB 0818 61 PUSH2 0x0120 081B 81 DUP2 081C 10 LT 081D 15 ISZERO 081E 61 PUSH2 0x0826 0821 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0810 stack[0] = 0x08fd // @0813 stack[1] = 0x04 // @0817 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x0826, returns to 0x08FD, if !(msg.data.length - 0x04 < 0x0120) label_0822: // Incoming jump from 0x0821, if not !(msg.data.length - 0x04 < 0x0120) // Inputs[1] { @0825 memory[0x00:0x00] } 0822 60 PUSH1 0x00 0824 80 DUP1 0825 FD *REVERT // Stack delta = +0 // Outputs[1] { @0825 revert(memory[0x00:0x00]); } // Block terminates label_0826: // Incoming call from 0x0821, returns to 0x08FD, if !(msg.data.length - 0x04 < 0x0120) // Inputs[5] // { // @082F stack[-2] // @0830 msg.data[stack[-2]:stack[-2] + 0x20] // @0838 msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @083C stack[-1] // @0848 msg.data[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // } 0826 5B JUMPDEST 0827 60 PUSH1 0x01 0829 60 PUSH1 0x01 082B 60 PUSH1 0xa0 082D 1B SHL 082E 03 SUB 082F 82 DUP3 0830 35 CALLDATALOAD 0831 81 DUP2 0832 16 AND 0833 92 SWAP3 0834 60 PUSH1 0x20 0836 81 DUP2 0837 01 ADD 0838 35 CALLDATALOAD 0839 90 SWAP1 083A 91 SWAP2 083B 16 AND 083C 91 SWAP2 083D 81 DUP2 083E 01 ADD 083F 90 SWAP1 0840 60 PUSH1 0x60 0842 81 DUP2 0843 01 ADD 0844 60 PUSH1 0x40 0846 82 DUP3 0847 01 ADD 0848 35 CALLDATALOAD 0849 60 PUSH1 0x01 084B 60 PUSH1 0x20 084D 1B SHL 084E 81 DUP2 084F 11 GT 0850 15 ISZERO 0851 61 PUSH2 0x0859 0854 57 *JUMPI // Stack delta = +4 // Outputs[6] // { // @0833 stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] // @083C stack[-1] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // @083F stack[0] = stack[-2] + stack[-1] // @083F stack[1] = stack[-2] // @0843 stack[2] = stack[-2] + 0x60 // @0848 stack[3] = msg.data[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] // } // Block ends with conditional jump to 0x0859, if !(msg.data[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] > 0x01 << 0x20) label_0855: // Incoming jump from 0x0854, if not !(msg.data[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] > 0x01 << 0x20) // Inputs[1] { @0858 memory[0x00:0x00] } 0855 60 PUSH1 0x00 0857 80 DUP1 0858 FD *REVERT // Stack delta = +0 // Outputs[1] { @0858 revert(memory[0x00:0x00]); } // Block terminates label_0859: // Incoming jump from 0x0854, if !(msg.data[stack[-2] + 0x40:stack[-2] + 0x40 + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @085A stack[-3] // @085B stack[-1] // @085C stack[-4] // } 0859 5B JUMPDEST 085A 82 DUP3 085B 01 ADD 085C 83 DUP4 085D 60 PUSH1 0x20 085F 82 DUP3 0860 01 ADD 0861 11 GT 0862 15 ISZERO 0863 61 PUSH2 0x086b 0866 57 *JUMPI // Stack delta = +0 // Outputs[1] { @085B stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x086b, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0867: // Incoming jump from 0x0866, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @086A memory[0x00:0x00] } 0867 60 PUSH1 0x00 0869 80 DUP1 086A FD *REVERT // Stack delta = +0 // Outputs[1] { @086A revert(memory[0x00:0x00]); } // Block terminates label_086B: // Incoming jump from 0x0866, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @086C stack[-1] // @086D msg.data[stack[-1]:stack[-1] + 0x20] // @0872 stack[-2] // @0873 stack[-4] // } 086B 5B JUMPDEST 086C 80 DUP1 086D 35 CALLDATALOAD 086E 90 SWAP1 086F 60 PUSH1 0x20 0871 01 ADD 0872 91 SWAP2 0873 84 DUP5 0874 60 PUSH1 0x01 0876 83 DUP4 0877 02 MUL 0878 84 DUP5 0879 01 ADD 087A 11 GT 087B 60 PUSH1 0x01 087D 60 PUSH1 0x20 087F 1B SHL 0880 83 DUP4 0881 11 GT 0882 17 OR 0883 15 ISZERO 0884 61 PUSH2 0x088c 0887 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @086E stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0872 stack[0] = stack[-2] // @0872 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x088c, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0888: // Incoming jump from 0x0887, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @088B memory[0x00:0x00] } 0888 60 PUSH1 0x00 088A 80 DUP1 088B FD *REVERT // Stack delta = +0 // Outputs[1] { @088B revert(memory[0x00:0x00]); } // Block terminates label_088C: // Incoming jump from 0x0887, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[10] // { // @088D stack[-1] // @088D stack[-3] // @088E stack[-5] // @088F stack[-2] // @0890 stack[-4] // @0892 msg.data[stack[-1]:stack[-1] + 0x20] // @0898 msg.data[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // @089E msg.data[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] // @08A4 msg.data[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] // @08AE msg.data[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } 088C 5B JUMPDEST 088D 91 SWAP2 088E 93 SWAP4 088F 90 SWAP1 0890 92 SWAP3 0891 82 DUP3 0892 35 CALLDATALOAD 0893 92 SWAP3 0894 60 PUSH1 0x20 0896 81 DUP2 0897 01 ADD 0898 35 CALLDATALOAD 0899 92 SWAP3 089A 60 PUSH1 0x40 089C 82 DUP3 089D 01 ADD 089E 35 CALLDATALOAD 089F 92 SWAP3 08A0 60 PUSH1 0x60 08A2 83 DUP4 08A3 01 ADD 08A4 35 CALLDATALOAD 08A5 92 SWAP3 08A6 60 PUSH1 0xa0 08A8 81 DUP2 08A9 01 ADD 08AA 90 SWAP1 08AB 60 PUSH1 0x80 08AD 01 ADD 08AE 35 CALLDATALOAD 08AF 60 PUSH1 0x01 08B1 60 PUSH1 0x20 08B3 1B SHL 08B4 81 DUP2 08B5 11 GT 08B6 15 ISZERO 08B7 61 PUSH2 0x08bf 08BA 57 *JUMPI // Stack delta = +5 // Outputs[10] // { // @088E stack[-5] = stack[-3] // @0890 stack[-4] = stack[-2] // @0893 stack[-3] = msg.data[stack[-1]:stack[-1] + 0x20] // @0899 stack[-2] = msg.data[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // @0899 stack[1] = stack[-5] // @089F stack[2] = stack[-4] // @089F stack[-1] = msg.data[stack[-1] + 0x40:stack[-1] + 0x40 + 0x20] // @08A5 stack[0] = msg.data[stack[-1] + 0x60:stack[-1] + 0x60 + 0x20] // @08AA stack[3] = stack[-1] + 0xa0 // @08AE stack[4] = msg.data[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] // } // Block ends with conditional jump to 0x08bf, if !(msg.data[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] > 0x01 << 0x20) label_08BB: // Incoming jump from 0x08BA, if not !(msg.data[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @08BE memory[0x00:0x00] } 08BB 60 PUSH1 0x00 08BD 80 DUP1 08BE FD *REVERT // Stack delta = +0 // Outputs[1] { @08BE revert(memory[0x00:0x00]); } // Block terminates label_08BF: // Incoming jump from 0x08BA, if !(msg.data[0x80 + stack[-1]:0x80 + stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @08C0 stack[-3] // @08C1 stack[-1] // @08C2 stack[-4] // } 08BF 5B JUMPDEST 08C0 82 DUP3 08C1 01 ADD 08C2 83 DUP4 08C3 60 PUSH1 0x20 08C5 82 DUP3 08C6 01 ADD 08C7 11 GT 08C8 15 ISZERO 08C9 61 PUSH2 0x08d1 08CC 57 *JUMPI // Stack delta = +0 // Outputs[1] { @08C1 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x08d1, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_08CD: // Incoming jump from 0x08CC, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @08D0 memory[0x00:0x00] } 08CD 60 PUSH1 0x00 08CF 80 DUP1 08D0 FD *REVERT // Stack delta = +0 // Outputs[1] { @08D0 revert(memory[0x00:0x00]); } // Block terminates label_08D1: // Incoming jump from 0x08CC, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @08D2 stack[-1] // @08D3 msg.data[stack[-1]:stack[-1] + 0x20] // @08D8 stack[-2] // @08D9 stack[-4] // } 08D1 5B JUMPDEST 08D2 80 DUP1 08D3 35 CALLDATALOAD 08D4 90 SWAP1 08D5 60 PUSH1 0x20 08D7 01 ADD 08D8 91 SWAP2 08D9 84 DUP5 08DA 60 PUSH1 0x01 08DC 83 DUP4 08DD 02 MUL 08DE 84 DUP5 08DF 01 ADD 08E0 11 GT 08E1 60 PUSH1 0x01 08E3 60 PUSH1 0x20 08E5 1B SHL 08E6 83 DUP4 08E7 11 GT 08E8 17 OR 08E9 15 ISZERO 08EA 61 PUSH2 0x08f2 08ED 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @08D4 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @08D8 stack[0] = stack[-2] // @08D8 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x08f2, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_08EE: // Incoming jump from 0x08ED, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @08F1 memory[0x00:0x00] } 08EE 60 PUSH1 0x00 08F0 80 DUP1 08F1 FD *REVERT // Stack delta = +0 // Outputs[1] { @08F1 revert(memory[0x00:0x00]); } // Block terminates label_08F2: // Incoming jump from 0x08ED, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @08F3 stack[-1] // @08F3 stack[-3] // @08F4 stack[-5] // @08F6 stack[-4] // @08F6 stack[-2] // @08F8 msg.data[stack[-1]:stack[-1] + 0x20] // } 08F2 5B JUMPDEST 08F3 91 SWAP2 08F4 93 SWAP4 08F5 50 POP 08F6 91 SWAP2 08F7 50 POP 08F8 35 CALLDATALOAD 08F9 61 PUSH2 0x2590 08FC 56 *JUMP // Stack delta = -2 // Outputs[3] // { // @08F4 stack[-5] = stack[-3] // @08F6 stack[-4] = stack[-2] // @08F8 stack[-3] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x2590 label_08FD: // Incoming return from call to 0x0826 at 0x0821 // Inputs[5] // { // @0900 memory[0x40:0x60] // @0902 stack[-2] // @0911 stack[-1] // @0914 memory[stack[-1]:stack[-1] + 0x20] // @091D memory[stack[-1]:stack[-1] + 0x20] // } 08FD 5B JUMPDEST 08FE 60 PUSH1 0x40 0900 51 MLOAD 0901 80 DUP1 0902 83 DUP4 0903 81 DUP2 0904 52 MSTORE 0905 60 PUSH1 0x20 0907 01 ADD 0908 80 DUP1 0909 60 PUSH1 0x20 090B 01 ADD 090C 82 DUP3 090D 81 DUP2 090E 03 SUB 090F 82 DUP3 0910 52 MSTORE 0911 83 DUP4 0912 81 DUP2 0913 81 DUP2 0914 51 MLOAD 0915 81 DUP2 0916 52 MSTORE 0917 60 PUSH1 0x20 0919 01 ADD 091A 91 SWAP2 091B 50 POP 091C 80 DUP1 091D 51 MLOAD 091E 90 SWAP1 091F 60 PUSH1 0x20 0921 01 ADD 0922 90 SWAP1 0923 80 DUP1 0924 83 DUP4 0925 83 DUP4 0926 60 PUSH1 0x00 0928 5B JUMPDEST 0929 83 DUP4 092A 81 DUP2 092B 10 LT 092C 15 ISZERO 092D 61 PUSH2 0x0940 0930 57 *JUMPI // Stack delta = +9 // Outputs[12] // { // @0900 stack[0] = memory[0x40:0x60] // @0904 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = stack[-2] // @0907 stack[1] = 0x20 + memory[0x40:0x60] // @0910 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = (0x20 + 0x20 + memory[0x40:0x60]) - memory[0x40:0x60] // @0916 memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @091A stack[2] = 0x20 + 0x20 + 0x20 + memory[0x40:0x60] // @0922 stack[3] = 0x20 + stack[-1] // @0922 stack[4] = memory[stack[-1]:stack[-1] + 0x20] // @0923 stack[5] = memory[stack[-1]:stack[-1] + 0x20] // @0924 stack[6] = 0x20 + 0x20 + 0x20 + memory[0x40:0x60] // @0925 stack[7] = 0x20 + stack[-1] // @0926 stack[8] = 0x00 // } // Block ends with conditional jump to 0x0940, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) label_0931: // Incoming jump from 0x0930, if not !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Incoming jump from 0x0930, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @0931 stack[-2] // @0932 stack[-1] // @0934 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @0935 stack[-3] // } 0931 81 DUP2 0932 81 DUP2 0933 01 ADD 0934 51 MLOAD 0935 83 DUP4 0936 82 DUP3 0937 01 ADD 0938 52 MSTORE 0939 60 PUSH1 0x20 093B 01 ADD 093C 61 PUSH2 0x0928 093F 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0938 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @093B stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x0928 label_0940: // Incoming jump from 0x0930, if !(0x00 < memory[stack[-1]:stack[-1] + 0x20]) // Incoming jump from 0x0930, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @0945 stack[-6] // @0945 stack[-5] // @0947 stack[-7] // } 0940 5B JUMPDEST 0941 50 POP 0942 50 POP 0943 50 POP 0944 50 POP 0945 90 SWAP1 0946 50 POP 0947 90 SWAP1 0948 81 DUP2 0949 01 ADD 094A 90 SWAP1 094B 60 PUSH1 0x1f 094D 16 AND 094E 80 DUP1 094F 15 ISZERO 0950 61 PUSH2 0x096d 0953 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @094A stack[-7] = stack[-5] + stack[-7] // @094D stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x096d, if !(0x1f & stack[-5]) label_0954: // Incoming jump from 0x0953, if not !(0x1f & stack[-5]) // Inputs[6] // { // @0954 stack[-1] // @0955 stack[-2] // @0958 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @096F stack[-6] // @0976 memory[0x40:0x60] // @097B memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60]] // } 0954 80 DUP1 0955 82 DUP3 0956 03 SUB 0957 80 DUP1 0958 51 MLOAD 0959 60 PUSH1 0x01 095B 83 DUP4 095C 60 PUSH1 0x20 095E 03 SUB 095F 61 PUSH2 0x0100 0962 0A EXP 0963 03 SUB 0964 19 NOT 0965 16 AND 0966 81 DUP2 0967 52 MSTORE 0968 60 PUSH1 0x20 096A 01 ADD 096B 91 SWAP2 096C 50 POP 096D 5B JUMPDEST 096E 50 POP 096F 93 SWAP4 0970 50 POP 0971 50 POP 0972 50 POP 0973 50 POP 0974 60 PUSH1 0x40 0976 51 MLOAD 0977 80 DUP1 0978 91 SWAP2 0979 03 SUB 097A 90 SWAP1 097B F3 *RETURN // Stack delta = -6 // Outputs[2] // { // @0967 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @097B return memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60]]; // } // Block terminates label_097C: // Incoming jump from 0x0167, if 0x8d07ac2f == stack[-1] 097C 5B JUMPDEST 097D 61 PUSH2 0x0456 0980 61 PUSH2 0x25b1 0983 56 *JUMP // Stack delta = +1 // Outputs[1] { @097D stack[0] = 0x0456 } // Block ends with call to 0x25b1, returns to 0x0456 label_0984: // Incoming jump from 0x0172, if 0x8eea2565 == stack[-1] 0984 5B JUMPDEST 0985 61 PUSH2 0x0456 0988 61 PUSH2 0x26a5 098B 56 *JUMP // Stack delta = +1 // Outputs[1] { @0985 stack[0] = 0x0456 } // Block ends with call to 0x26a5, returns to 0x0456 label_098C: // Incoming jump from 0x00FF, if 0x91a3c7d2 == stack[-1] 098C 5B JUMPDEST 098D 61 PUSH2 0x0456 0990 61 PUSH2 0x26fc 0993 56 *JUMP // Stack delta = +1 // Outputs[1] { @098D stack[0] = 0x0456 } // Block ends with call to 0x26fc, returns to 0x0456 label_0994: // Incoming jump from 0x010A, if 0x9d74689f == stack[-1] // Inputs[1] { @099B msg.data.length } 0994 5B JUMPDEST 0995 61 PUSH2 0x0242 0998 60 PUSH1 0x04 099A 80 DUP1 099B 36 CALLDATASIZE 099C 03 SUB 099D 60 PUSH1 0x40 099F 81 DUP2 09A0 10 LT 09A1 15 ISZERO 09A2 61 PUSH2 0x09aa 09A5 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0995 stack[0] = 0x0242 // @0998 stack[1] = 0x04 // @099C stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x09aa, if !(msg.data.length - 0x04 < 0x40) label_09A6: // Incoming jump from 0x09A5, if not !(msg.data.length - 0x04 < 0x40) // Inputs[1] { @09A9 memory[0x00:0x00] } 09A6 60 PUSH1 0x00 09A8 80 DUP1 09A9 FD *REVERT // Stack delta = +0 // Outputs[1] { @09A9 revert(memory[0x00:0x00]); } // Block terminates label_09AA: // Incoming jump from 0x09A5, if !(msg.data.length - 0x04 < 0x40) // Inputs[3] // { // @09AB stack[-2] // @09AC stack[-1] // @09B3 msg.data[stack[-2]:stack[-2] + 0x20] // } 09AA 5B JUMPDEST 09AB 81 DUP2 09AC 01 ADD 09AD 90 SWAP1 09AE 60 PUSH1 0x20 09B0 81 DUP2 09B1 01 ADD 09B2 81 DUP2 09B3 35 CALLDATALOAD 09B4 60 PUSH1 0x01 09B6 60 PUSH1 0x20 09B8 1B SHL 09B9 81 DUP2 09BA 11 GT 09BB 15 ISZERO 09BC 61 PUSH2 0x09c4 09BF 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @09AD stack[-1] = stack[-2] // @09AD stack[-2] = stack[-2] + stack[-1] // @09B1 stack[0] = stack[-2] + 0x20 // @09B3 stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x09c4, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_09C0: // Incoming jump from 0x09BF, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @09C3 memory[0x00:0x00] } 09C0 60 PUSH1 0x00 09C2 80 DUP1 09C3 FD *REVERT // Stack delta = +0 // Outputs[1] { @09C3 revert(memory[0x00:0x00]); } // Block terminates label_09C4: // Incoming jump from 0x09BF, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @09C5 stack[-3] // @09C6 stack[-1] // @09C7 stack[-4] // } 09C4 5B JUMPDEST 09C5 82 DUP3 09C6 01 ADD 09C7 83 DUP4 09C8 60 PUSH1 0x20 09CA 82 DUP3 09CB 01 ADD 09CC 11 GT 09CD 15 ISZERO 09CE 61 PUSH2 0x09d6 09D1 57 *JUMPI // Stack delta = +0 // Outputs[1] { @09C6 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x09d6, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_09D2: // Incoming jump from 0x09D1, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @09D5 memory[0x00:0x00] } 09D2 60 PUSH1 0x00 09D4 80 DUP1 09D5 FD *REVERT // Stack delta = +0 // Outputs[1] { @09D5 revert(memory[0x00:0x00]); } // Block terminates label_09D6: // Incoming jump from 0x09D1, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @09D7 stack[-1] // @09D8 msg.data[stack[-1]:stack[-1] + 0x20] // @09DD stack[-2] // @09DE stack[-4] // } 09D6 5B JUMPDEST 09D7 80 DUP1 09D8 35 CALLDATALOAD 09D9 90 SWAP1 09DA 60 PUSH1 0x20 09DC 01 ADD 09DD 91 SWAP2 09DE 84 DUP5 09DF 60 PUSH1 0x01 09E1 83 DUP4 09E2 02 MUL 09E3 84 DUP5 09E4 01 ADD 09E5 11 GT 09E6 60 PUSH1 0x01 09E8 60 PUSH1 0x20 09EA 1B SHL 09EB 83 DUP4 09EC 11 GT 09ED 17 OR 09EE 15 ISZERO 09EF 61 PUSH2 0x09f7 09F2 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @09D9 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @09DD stack[0] = stack[-2] // @09DD stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x09f7, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_09F3: // Incoming jump from 0x09F2, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @09F6 memory[0x00:0x00] } 09F3 60 PUSH1 0x00 09F5 80 DUP1 09F6 FD *REVERT // Stack delta = +0 // Outputs[1] { @09F6 revert(memory[0x00:0x00]); } // Block terminates label_09F7: // Incoming jump from 0x09F2, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @09F8 stack[-1] // @09F8 stack[-3] // @09F9 stack[-5] // @09FA stack[-2] // @09FB stack[-4] // @0A03 msg.data[stack[-1]:stack[-1] + 0x20] // } 09F7 5B JUMPDEST 09F8 91 SWAP2 09F9 93 SWAP4 09FA 90 SWAP1 09FB 92 SWAP3 09FC 90 SWAP1 09FD 91 SWAP2 09FE 60 PUSH1 0x20 0A00 81 DUP2 0A01 01 ADD 0A02 90 SWAP1 0A03 35 CALLDATALOAD 0A04 60 PUSH1 0x01 0A06 60 PUSH1 0x20 0A08 1B SHL 0A09 81 DUP2 0A0A 11 GT 0A0B 15 ISZERO 0A0C 61 PUSH2 0x0a14 0A0F 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @09F9 stack[-5] = stack[-3] // @09FB stack[-4] = stack[-2] // @09FC stack[-2] = stack[-4] // @09FD stack[-3] = stack[-5] // @0A02 stack[-1] = stack[-1] + 0x20 // @0A03 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0a14, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_0A10: // Incoming jump from 0x0A0F, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0A13 memory[0x00:0x00] } 0A10 60 PUSH1 0x00 0A12 80 DUP1 0A13 FD *REVERT // Stack delta = +0 // Outputs[1] { @0A13 revert(memory[0x00:0x00]); } // Block terminates label_0A14: // Incoming jump from 0x0A0F, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0A15 stack[-3] // @0A16 stack[-1] // @0A17 stack[-4] // } 0A14 5B JUMPDEST 0A15 82 DUP3 0A16 01 ADD 0A17 83 DUP4 0A18 60 PUSH1 0x20 0A1A 82 DUP3 0A1B 01 ADD 0A1C 11 GT 0A1D 15 ISZERO 0A1E 61 PUSH2 0x0a26 0A21 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0A16 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0a26, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0A22: // Incoming jump from 0x0A21, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0A25 memory[0x00:0x00] } 0A22 60 PUSH1 0x00 0A24 80 DUP1 0A25 FD *REVERT // Stack delta = +0 // Outputs[1] { @0A25 revert(memory[0x00:0x00]); } // Block terminates label_0A26: // Incoming jump from 0x0A21, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0A27 stack[-1] // @0A28 msg.data[stack[-1]:stack[-1] + 0x20] // @0A2D stack[-2] // @0A2E stack[-4] // } 0A26 5B JUMPDEST 0A27 80 DUP1 0A28 35 CALLDATALOAD 0A29 90 SWAP1 0A2A 60 PUSH1 0x20 0A2C 01 ADD 0A2D 91 SWAP2 0A2E 84 DUP5 0A2F 60 PUSH1 0x01 0A31 83 DUP4 0A32 02 MUL 0A33 84 DUP5 0A34 01 ADD 0A35 11 GT 0A36 60 PUSH1 0x01 0A38 60 PUSH1 0x20 0A3A 1B SHL 0A3B 83 DUP4 0A3C 11 GT 0A3D 17 OR 0A3E 15 ISZERO 0A3F 61 PUSH2 0x0a47 0A42 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0A29 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0A2D stack[0] = stack[-2] // @0A2D stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0a47, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0A43: // Incoming jump from 0x0A42, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0A46 memory[0x00:0x00] } 0A43 60 PUSH1 0x00 0A45 80 DUP1 0A46 FD *REVERT // Stack delta = +0 // Outputs[1] { @0A46 revert(memory[0x00:0x00]); } // Block terminates label_0A47: // Incoming jump from 0x0A42, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @0A49 stack[-3] // @0A49 stack[-2] // @0A4A stack[-5] // @0A4C stack[-4] // } 0A47 5B JUMPDEST 0A48 50 POP 0A49 90 SWAP1 0A4A 92 SWAP3 0A4B 50 POP 0A4C 90 SWAP1 0A4D 50 POP 0A4E 61 PUSH2 0x2702 0A51 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @0A4A stack[-5] = stack[-3] // @0A4C stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x2702 label_0A52: // Incoming jump from 0x0115, if 0x9eab5253 == stack[-1] 0A52 5B JUMPDEST 0A53 61 PUSH2 0x0a5a 0A56 61 PUSH2 0x2910 0A59 56 *JUMP // Stack delta = +1 // Outputs[1] { @0A53 stack[0] = 0x0a5a } // Block ends with unconditional jump to 0x2910 0A5A 5B JUMPDEST 0A5B 60 PUSH1 0x40 0A5D 80 DUP1 0A5E 51 MLOAD 0A5F 60 PUSH1 0x20 0A61 80 DUP1 0A62 82 DUP3 0A63 52 MSTORE 0A64 83 DUP4 0A65 51 MLOAD 0A66 81 DUP2 0A67 83 DUP4 0A68 01 ADD 0A69 52 MSTORE 0A6A 83 DUP4 0A6B 51 MLOAD 0A6C 91 SWAP2 0A6D 92 SWAP3 0A6E 83 DUP4 0A6F 92 SWAP3 0A70 90 SWAP1 0A71 83 DUP4 0A72 01 ADD 0A73 91 SWAP2 0A74 85 DUP6 0A75 81 DUP2 0A76 01 ADD 0A77 91 SWAP2 0A78 02 MUL 0A79 80 DUP1 0A7A 83 DUP4 0A7B 83 DUP4 0A7C 60 PUSH1 0x00 0A7E 5B JUMPDEST 0A7F 83 DUP4 0A80 81 DUP2 0A81 10 LT 0A82 15 ISZERO 0A83 61 PUSH2 0x0a96 0A86 57 *JUMPI 0A87 81 DUP2 0A88 81 DUP2 0A89 01 ADD 0A8A 51 MLOAD 0A8B 83 DUP4 0A8C 82 DUP3 0A8D 01 ADD 0A8E 52 MSTORE 0A8F 60 PUSH1 0x20 0A91 01 ADD 0A92 61 PUSH2 0x0a7e 0A95 56 *JUMP 0A96 5B JUMPDEST 0A97 50 POP 0A98 50 POP 0A99 50 POP 0A9A 50 POP 0A9B 90 SWAP1 0A9C 50 POP 0A9D 01 ADD 0A9E 92 SWAP3 0A9F 50 POP 0AA0 50 POP 0AA1 50 POP 0AA2 60 PUSH1 0x40 0AA4 51 MLOAD 0AA5 80 DUP1 0AA6 91 SWAP2 0AA7 03 SUB 0AA8 90 SWAP1 0AA9 F3 *RETURN label_0AAA: // Incoming jump from 0x0120, if 0x9f951be8 == stack[-1] // Inputs[1] { @0AB1 msg.data.length } 0AAA 5B JUMPDEST 0AAB 61 PUSH2 0x05ce 0AAE 60 PUSH1 0x04 0AB0 80 DUP1 0AB1 36 CALLDATASIZE 0AB2 03 SUB 0AB3 60 PUSH1 0x40 0AB5 81 DUP2 0AB6 10 LT 0AB7 15 ISZERO 0AB8 61 PUSH2 0x0ac0 0ABB 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0AAB stack[0] = 0x05ce // @0AAE stack[1] = 0x04 // @0AB2 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x0ac0, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x40) label_0ABC: // Incoming jump from 0x0ABB, if not !(msg.data.length - 0x04 < 0x40) // Inputs[1] { @0ABF memory[0x00:0x00] } 0ABC 60 PUSH1 0x00 0ABE 80 DUP1 0ABF FD *REVERT // Stack delta = +0 // Outputs[1] { @0ABF revert(memory[0x00:0x00]); } // Block terminates label_0AC0: // Incoming call from 0x0ABB, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x40) // Inputs[3] // { // @0ACA stack[-2] // @0ACB msg.data[stack[-2]:stack[-2] + 0x20] // @0AD1 msg.data[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // } 0AC0 5B JUMPDEST 0AC1 50 POP 0AC2 60 PUSH1 0x01 0AC4 60 PUSH1 0x01 0AC6 60 PUSH1 0xa0 0AC8 1B SHL 0AC9 03 SUB 0ACA 81 DUP2 0ACB 35 CALLDATALOAD 0ACC 16 AND 0ACD 90 SWAP1 0ACE 60 PUSH1 0x20 0AD0 01 ADD 0AD1 35 CALLDATALOAD 0AD2 61 PUSH2 0x2d1c 0AD5 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @0ACD stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @0AD1 stack[-1] = msg.data[0x20 + stack[-2]:0x20 + stack[-2] + 0x20] // } // Block ends with unconditional jump to 0x2d1c label_0AD6: // Incoming jump from 0x00C3, if 0xa0a8e460 == stack[-1] 0AD6 5B JUMPDEST 0AD7 61 PUSH2 0x0618 0ADA 61 PUSH2 0x2d53 0ADD 56 *JUMP // Stack delta = +1 // Outputs[1] { @0AD7 stack[0] = 0x0618 } // Block ends with call to 0x2d53, returns to 0x0618 label_0ADE: // Incoming jump from 0x00CE, if 0xa230c524 == stack[-1] // Inputs[1] { @0AE5 msg.data.length } 0ADE 5B JUMPDEST 0ADF 61 PUSH2 0x05ce 0AE2 60 PUSH1 0x04 0AE4 80 DUP1 0AE5 36 CALLDATASIZE 0AE6 03 SUB 0AE7 60 PUSH1 0x20 0AE9 81 DUP2 0AEA 10 LT 0AEB 15 ISZERO 0AEC 61 PUSH2 0x0af4 0AEF 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0ADF stack[0] = 0x05ce // @0AE2 stack[1] = 0x04 // @0AE6 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x0af4, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x20) label_0AF0: // Incoming jump from 0x0AEF, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0AF3 memory[0x00:0x00] } 0AF0 60 PUSH1 0x00 0AF2 80 DUP1 0AF3 FD *REVERT // Stack delta = +0 // Outputs[1] { @0AF3 revert(memory[0x00:0x00]); } // Block terminates label_0AF4: // Incoming call from 0x0AEF, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0AF6 msg.data[stack[-2]:stack[-2] + 0x20] // @0AF6 stack[-2] // } 0AF4 5B JUMPDEST 0AF5 50 POP 0AF6 35 CALLDATALOAD 0AF7 60 PUSH1 0x01 0AF9 60 PUSH1 0x01 0AFB 60 PUSH1 0xa0 0AFD 1B SHL 0AFE 03 SUB 0AFF 16 AND 0B00 61 PUSH2 0x2d72 0B03 56 *JUMP // Stack delta = -1 // Outputs[1] { @0AFF stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x2d72 label_0B04: // Incoming jump from 0x00D9, if 0xa86e5ffd == stack[-1] // Inputs[1] { @0B0B msg.data.length } 0B04 5B JUMPDEST 0B05 61 PUSH2 0x0242 0B08 60 PUSH1 0x04 0B0A 80 DUP1 0B0B 36 CALLDATASIZE 0B0C 03 SUB 0B0D 60 PUSH1 0x80 0B0F 81 DUP2 0B10 10 LT 0B11 15 ISZERO 0B12 61 PUSH2 0x0b1a 0B15 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0B05 stack[0] = 0x0242 // @0B08 stack[1] = 0x04 // @0B0C stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0b1a, if !(msg.data.length - 0x04 < 0x80) label_0B16: // Incoming jump from 0x0B15, if not !(msg.data.length - 0x04 < 0x80) // Inputs[1] { @0B19 memory[0x00:0x00] } 0B16 60 PUSH1 0x00 0B18 80 DUP1 0B19 FD *REVERT // Stack delta = +0 // Outputs[1] { @0B19 revert(memory[0x00:0x00]); } // Block terminates label_0B1A: // Incoming jump from 0x0B15, if !(msg.data.length - 0x04 < 0x80) // Inputs[4] // { // @0B23 stack[-2] // @0B24 msg.data[stack[-2]:stack[-2] + 0x20] // @0B27 stack[-1] // @0B33 msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } 0B1A 5B JUMPDEST 0B1B 60 PUSH1 0x01 0B1D 60 PUSH1 0x01 0B1F 60 PUSH1 0xa0 0B21 1B SHL 0B22 03 SUB 0B23 82 DUP3 0B24 35 CALLDATALOAD 0B25 16 AND 0B26 91 SWAP2 0B27 90 SWAP1 0B28 81 DUP2 0B29 01 ADD 0B2A 90 SWAP1 0B2B 60 PUSH1 0x40 0B2D 81 DUP2 0B2E 01 ADD 0B2F 60 PUSH1 0x20 0B31 82 DUP3 0B32 01 ADD 0B33 35 CALLDATALOAD 0B34 60 PUSH1 0x01 0B36 60 PUSH1 0x20 0B38 1B SHL 0B39 81 DUP2 0B3A 11 GT 0B3B 15 ISZERO 0B3C 61 PUSH2 0x0b44 0B3F 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @0B26 stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @0B2A stack[0] = stack[-2] // @0B2A stack[-1] = stack[-2] + stack[-1] // @0B2E stack[1] = stack[-2] + 0x40 // @0B33 stack[2] = msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x0b44, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) label_0B40: // Incoming jump from 0x0B3F, if not !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[1] { @0B43 memory[0x00:0x00] } 0B40 60 PUSH1 0x00 0B42 80 DUP1 0B43 FD *REVERT // Stack delta = +0 // Outputs[1] { @0B43 revert(memory[0x00:0x00]); } // Block terminates label_0B44: // Incoming jump from 0x0B3F, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0B45 stack[-3] // @0B46 stack[-1] // @0B47 stack[-4] // } 0B44 5B JUMPDEST 0B45 82 DUP3 0B46 01 ADD 0B47 83 DUP4 0B48 60 PUSH1 0x20 0B4A 82 DUP3 0B4B 01 ADD 0B4C 11 GT 0B4D 15 ISZERO 0B4E 61 PUSH2 0x0b56 0B51 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0B46 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0b56, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0B52: // Incoming jump from 0x0B51, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0B55 memory[0x00:0x00] } 0B52 60 PUSH1 0x00 0B54 80 DUP1 0B55 FD *REVERT // Stack delta = +0 // Outputs[1] { @0B55 revert(memory[0x00:0x00]); } // Block terminates label_0B56: // Incoming jump from 0x0B51, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0B57 stack[-1] // @0B58 msg.data[stack[-1]:stack[-1] + 0x20] // @0B5D stack[-2] // @0B5E stack[-4] // } 0B56 5B JUMPDEST 0B57 80 DUP1 0B58 35 CALLDATALOAD 0B59 90 SWAP1 0B5A 60 PUSH1 0x20 0B5C 01 ADD 0B5D 91 SWAP2 0B5E 84 DUP5 0B5F 60 PUSH1 0x01 0B61 83 DUP4 0B62 02 MUL 0B63 84 DUP5 0B64 01 ADD 0B65 11 GT 0B66 60 PUSH1 0x01 0B68 60 PUSH1 0x20 0B6A 1B SHL 0B6B 83 DUP4 0B6C 11 GT 0B6D 17 OR 0B6E 15 ISZERO 0B6F 61 PUSH2 0x0b77 0B72 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0B59 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0B5D stack[0] = stack[-2] // @0B5D stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0b77, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0B73: // Incoming jump from 0x0B72, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0B76 memory[0x00:0x00] } 0B73 60 PUSH1 0x00 0B75 80 DUP1 0B76 FD *REVERT // Stack delta = +0 // Outputs[1] { @0B76 revert(memory[0x00:0x00]); } // Block terminates label_0B77: // Incoming jump from 0x0B72, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0B78 stack[-1] // @0B78 stack[-3] // @0B79 stack[-5] // @0B7A stack[-2] // @0B7B stack[-4] // @0B83 msg.data[stack[-1]:stack[-1] + 0x20] // } 0B77 5B JUMPDEST 0B78 91 SWAP2 0B79 93 SWAP4 0B7A 90 SWAP1 0B7B 92 SWAP3 0B7C 90 SWAP1 0B7D 91 SWAP2 0B7E 60 PUSH1 0x20 0B80 81 DUP2 0B81 01 ADD 0B82 90 SWAP1 0B83 35 CALLDATALOAD 0B84 60 PUSH1 0x01 0B86 60 PUSH1 0x20 0B88 1B SHL 0B89 81 DUP2 0B8A 11 GT 0B8B 15 ISZERO 0B8C 61 PUSH2 0x0b94 0B8F 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0B79 stack[-5] = stack[-3] // @0B7B stack[-4] = stack[-2] // @0B7C stack[-2] = stack[-4] // @0B7D stack[-3] = stack[-5] // @0B82 stack[-1] = stack[-1] + 0x20 // @0B83 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0b94, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_0B90: // Incoming jump from 0x0B8F, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0B93 memory[0x00:0x00] } 0B90 60 PUSH1 0x00 0B92 80 DUP1 0B93 FD *REVERT // Stack delta = +0 // Outputs[1] { @0B93 revert(memory[0x00:0x00]); } // Block terminates label_0B94: // Incoming jump from 0x0B8F, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0B95 stack[-3] // @0B96 stack[-1] // @0B97 stack[-4] // } 0B94 5B JUMPDEST 0B95 82 DUP3 0B96 01 ADD 0B97 83 DUP4 0B98 60 PUSH1 0x20 0B9A 82 DUP3 0B9B 01 ADD 0B9C 11 GT 0B9D 15 ISZERO 0B9E 61 PUSH2 0x0ba6 0BA1 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0B96 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0ba6, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0BA2: // Incoming jump from 0x0BA1, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0BA5 memory[0x00:0x00] } 0BA2 60 PUSH1 0x00 0BA4 80 DUP1 0BA5 FD *REVERT // Stack delta = +0 // Outputs[1] { @0BA5 revert(memory[0x00:0x00]); } // Block terminates label_0BA6: // Incoming jump from 0x0BA1, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0BA7 stack[-1] // @0BA8 msg.data[stack[-1]:stack[-1] + 0x20] // @0BAD stack[-2] // @0BAE stack[-4] // } 0BA6 5B JUMPDEST 0BA7 80 DUP1 0BA8 35 CALLDATALOAD 0BA9 90 SWAP1 0BAA 60 PUSH1 0x20 0BAC 01 ADD 0BAD 91 SWAP2 0BAE 84 DUP5 0BAF 60 PUSH1 0x01 0BB1 83 DUP4 0BB2 02 MUL 0BB3 84 DUP5 0BB4 01 ADD 0BB5 11 GT 0BB6 60 PUSH1 0x01 0BB8 60 PUSH1 0x20 0BBA 1B SHL 0BBB 83 DUP4 0BBC 11 GT 0BBD 17 OR 0BBE 15 ISZERO 0BBF 61 PUSH2 0x0bc7 0BC2 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0BA9 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0BAD stack[0] = stack[-2] // @0BAD stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0bc7, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0BC3: // Incoming jump from 0x0BC2, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0BC6 memory[0x00:0x00] } 0BC3 60 PUSH1 0x00 0BC5 80 DUP1 0BC6 FD *REVERT // Stack delta = +0 // Outputs[1] { @0BC6 revert(memory[0x00:0x00]); } // Block terminates label_0BC7: // Incoming jump from 0x0BC2, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0BC8 stack[-1] // @0BC8 stack[-3] // @0BC9 stack[-5] // @0BCB stack[-2] // @0BCB stack[-4] // @0BCD msg.data[stack[-1]:stack[-1] + 0x20] // } 0BC7 5B JUMPDEST 0BC8 91 SWAP2 0BC9 93 SWAP4 0BCA 50 POP 0BCB 91 SWAP2 0BCC 50 POP 0BCD 35 CALLDATALOAD 0BCE 61 PUSH2 0x2e20 0BD1 56 *JUMP // Stack delta = -2 // Outputs[3] // { // @0BC9 stack[-5] = stack[-3] // @0BCB stack[-4] = stack[-2] // @0BCD stack[-3] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x2e20 label_0BD2: // Incoming jump from 0x00E4, if 0xab3545e5 == stack[-1] // Inputs[1] { @0BD9 msg.data.length } 0BD2 5B JUMPDEST 0BD3 61 PUSH2 0x0bef 0BD6 60 PUSH1 0x04 0BD8 80 DUP1 0BD9 36 CALLDATASIZE 0BDA 03 SUB 0BDB 60 PUSH1 0x20 0BDD 81 DUP2 0BDE 10 LT 0BDF 15 ISZERO 0BE0 61 PUSH2 0x0be8 0BE3 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0BD3 stack[0] = 0x0bef // @0BD6 stack[1] = 0x04 // @0BDA stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0be8, if !(msg.data.length - 0x04 < 0x20) label_0BE4: // Incoming jump from 0x0BE3, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0BE7 memory[0x00:0x00] } 0BE4 60 PUSH1 0x00 0BE6 80 DUP1 0BE7 FD *REVERT // Stack delta = +0 // Outputs[1] { @0BE7 revert(memory[0x00:0x00]); } // Block terminates label_0BE8: // Incoming jump from 0x0BE3, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0BEA stack[-2] // @0BEA msg.data[stack[-2]:stack[-2] + 0x20] // } 0BE8 5B JUMPDEST 0BE9 50 POP 0BEA 35 CALLDATALOAD 0BEB 61 PUSH2 0x3262 0BEE 56 *JUMP // Stack delta = -1 // Outputs[1] { @0BEA stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x3262 0BEF 5B JUMPDEST 0BF0 60 PUSH1 0x40 0BF2 51 MLOAD 0BF3 80 DUP1 0BF4 87 DUP8 0BF5 60 PUSH1 0x01 0BF7 60 PUSH1 0x01 0BF9 60 PUSH1 0xa0 0BFB 1B SHL 0BFC 03 SUB 0BFD 16 AND 0BFE 60 PUSH1 0x01 0C00 60 PUSH1 0x01 0C02 60 PUSH1 0xa0 0C04 1B SHL 0C05 03 SUB 0C06 16 AND 0C07 81 DUP2 0C08 52 MSTORE 0C09 60 PUSH1 0x20 0C0B 01 ADD 0C0C 80 DUP1 0C0D 60 PUSH1 0x20 0C0F 01 ADD 0C10 80 DUP1 0C11 60 PUSH1 0x20 0C13 01 ADD 0C14 80 DUP1 0C15 60 PUSH1 0x20 0C17 01 ADD 0C18 86 DUP7 0C19 81 DUP2 0C1A 52 MSTORE 0C1B 60 PUSH1 0x20 0C1D 01 ADD 0C1E 85 DUP6 0C1F 60 PUSH1 0x01 0C21 60 PUSH1 0x01 0C23 60 PUSH1 0xa0 0C25 1B SHL 0C26 03 SUB 0C27 16 AND 0C28 60 PUSH1 0x01 0C2A 60 PUSH1 0x01 0C2C 60 PUSH1 0xa0 0C2E 1B SHL 0C2F 03 SUB 0C30 16 AND 0C31 81 DUP2 0C32 52 MSTORE 0C33 60 PUSH1 0x20 0C35 01 ADD 0C36 84 DUP5 0C37 81 DUP2 0C38 03 SUB 0C39 84 DUP5 0C3A 52 MSTORE 0C3B 89 DUP10 0C3C 81 DUP2 0C3D 81 DUP2 0C3E 51 MLOAD 0C3F 81 DUP2 0C40 52 MSTORE 0C41 60 PUSH1 0x20 0C43 01 ADD 0C44 91 SWAP2 0C45 50 POP 0C46 80 DUP1 0C47 51 MLOAD 0C48 90 SWAP1 0C49 60 PUSH1 0x20 0C4B 01 ADD 0C4C 90 SWAP1 0C4D 80 DUP1 0C4E 83 DUP4 0C4F 83 DUP4 0C50 60 PUSH1 0x00 0C52 5B JUMPDEST 0C53 83 DUP4 0C54 81 DUP2 0C55 10 LT 0C56 15 ISZERO 0C57 61 PUSH2 0x0c6a 0C5A 57 *JUMPI 0C5B 81 DUP2 0C5C 81 DUP2 0C5D 01 ADD 0C5E 51 MLOAD 0C5F 83 DUP4 0C60 82 DUP3 0C61 01 ADD 0C62 52 MSTORE 0C63 60 PUSH1 0x20 0C65 01 ADD 0C66 61 PUSH2 0x0c52 0C69 56 *JUMP 0C6A 5B JUMPDEST 0C6B 50 POP 0C6C 50 POP 0C6D 50 POP 0C6E 50 POP 0C6F 90 SWAP1 0C70 50 POP 0C71 90 SWAP1 0C72 81 DUP2 0C73 01 ADD 0C74 90 SWAP1 0C75 60 PUSH1 0x1f 0C77 16 AND 0C78 80 DUP1 0C79 15 ISZERO 0C7A 61 PUSH2 0x0c97 0C7D 57 *JUMPI 0C7E 80 DUP1 0C7F 82 DUP3 0C80 03 SUB 0C81 80 DUP1 0C82 51 MLOAD 0C83 60 PUSH1 0x01 0C85 83 DUP4 0C86 60 PUSH1 0x20 0C88 03 SUB 0C89 61 PUSH2 0x0100 0C8C 0A EXP 0C8D 03 SUB 0C8E 19 NOT 0C8F 16 AND 0C90 81 DUP2 0C91 52 MSTORE 0C92 60 PUSH1 0x20 0C94 01 ADD 0C95 91 SWAP2 0C96 50 POP 0C97 5B JUMPDEST 0C98 50 POP 0C99 84 DUP5 0C9A 81 DUP2 0C9B 03 SUB 0C9C 83 DUP4 0C9D 52 MSTORE 0C9E 88 DUP9 0C9F 51 MLOAD 0CA0 81 DUP2 0CA1 52 MSTORE 0CA2 88 DUP9 0CA3 51 MLOAD 0CA4 60 PUSH1 0x20 0CA6 91 SWAP2 0CA7 82 DUP3 0CA8 01 ADD 0CA9 91 SWAP2 0CAA 8A DUP11 0CAB 01 ADD 0CAC 90 SWAP1 0CAD 80 DUP1 0CAE 83 DUP4 0CAF 83 DUP4 0CB0 60 PUSH1 0x00 0CB2 5B JUMPDEST 0CB3 83 DUP4 0CB4 81 DUP2 0CB5 10 LT 0CB6 15 ISZERO 0CB7 61 PUSH2 0x0cca 0CBA 57 *JUMPI 0CBB 81 DUP2 0CBC 81 DUP2 0CBD 01 ADD 0CBE 51 MLOAD 0CBF 83 DUP4 0CC0 82 DUP3 0CC1 01 ADD 0CC2 52 MSTORE 0CC3 60 PUSH1 0x20 0CC5 01 ADD 0CC6 61 PUSH2 0x0cb2 0CC9 56 *JUMP 0CCA 5B JUMPDEST 0CCB 50 POP 0CCC 50 POP 0CCD 50 POP 0CCE 50 POP 0CCF 90 SWAP1 0CD0 50 POP 0CD1 90 SWAP1 0CD2 81 DUP2 0CD3 01 ADD 0CD4 90 SWAP1 0CD5 60 PUSH1 0x1f 0CD7 16 AND 0CD8 80 DUP1 0CD9 15 ISZERO 0CDA 61 PUSH2 0x0cf7 0CDD 57 *JUMPI 0CDE 80 DUP1 0CDF 82 DUP3 0CE0 03 SUB 0CE1 80 DUP1 0CE2 51 MLOAD 0CE3 60 PUSH1 0x01 0CE5 83 DUP4 0CE6 60 PUSH1 0x20 0CE8 03 SUB 0CE9 61 PUSH2 0x0100 0CEC 0A EXP 0CED 03 SUB 0CEE 19 NOT 0CEF 16 AND 0CF0 81 DUP2 0CF1 52 MSTORE 0CF2 60 PUSH1 0x20 0CF4 01 ADD 0CF5 91 SWAP2 0CF6 50 POP 0CF7 5B JUMPDEST 0CF8 50 POP 0CF9 84 DUP5 0CFA 81 DUP2 0CFB 03 SUB 0CFC 82 DUP3 0CFD 52 MSTORE 0CFE 87 DUP8 0CFF 51 MLOAD 0D00 81 DUP2 0D01 52 MSTORE 0D02 87 DUP8 0D03 51 MLOAD 0D04 60 PUSH1 0x20 0D06 91 SWAP2 0D07 82 DUP3 0D08 01 ADD 0D09 91 SWAP2 0D0A 89 DUP10 0D0B 01 ADD 0D0C 90 SWAP1 0D0D 80 DUP1 0D0E 83 DUP4 0D0F 83 DUP4 0D10 60 PUSH1 0x00 0D12 5B JUMPDEST 0D13 83 DUP4 0D14 81 DUP2 0D15 10 LT 0D16 15 ISZERO 0D17 61 PUSH2 0x0d2a 0D1A 57 *JUMPI 0D1B 81 DUP2 0D1C 81 DUP2 0D1D 01 ADD 0D1E 51 MLOAD 0D1F 83 DUP4 0D20 82 DUP3 0D21 01 ADD 0D22 52 MSTORE 0D23 60 PUSH1 0x20 0D25 01 ADD 0D26 61 PUSH2 0x0d12 0D29 56 *JUMP 0D2A 5B JUMPDEST 0D2B 50 POP 0D2C 50 POP 0D2D 50 POP 0D2E 50 POP 0D2F 90 SWAP1 0D30 50 POP 0D31 90 SWAP1 0D32 81 DUP2 0D33 01 ADD 0D34 90 SWAP1 0D35 60 PUSH1 0x1f 0D37 16 AND 0D38 80 DUP1 0D39 15 ISZERO 0D3A 61 PUSH2 0x0d57 0D3D 57 *JUMPI 0D3E 80 DUP1 0D3F 82 DUP3 0D40 03 SUB 0D41 80 DUP1 0D42 51 MLOAD 0D43 60 PUSH1 0x01 0D45 83 DUP4 0D46 60 PUSH1 0x20 0D48 03 SUB 0D49 61 PUSH2 0x0100 0D4C 0A EXP 0D4D 03 SUB 0D4E 19 NOT 0D4F 16 AND 0D50 81 DUP2 0D51 52 MSTORE 0D52 60 PUSH1 0x20 0D54 01 ADD 0D55 91 SWAP2 0D56 50 POP 0D57 5B JUMPDEST 0D58 50 POP 0D59 99 SWAP10 0D5A 50 POP 0D5B 50 POP 0D5C 50 POP 0D5D 50 POP 0D5E 50 POP 0D5F 50 POP 0D60 50 POP 0D61 50 POP 0D62 50 POP 0D63 50 POP 0D64 60 PUSH1 0x40 0D66 51 MLOAD 0D67 80 DUP1 0D68 91 SWAP2 0D69 03 SUB 0D6A 90 SWAP1 0D6B F3 *RETURN label_0D6C: // Incoming jump from 0x00EF, if 0xac570411 == stack[-1] 0D6C 5B JUMPDEST 0D6D 61 PUSH2 0x0456 0D70 61 PUSH2 0x36de 0D73 56 *JUMP // Stack delta = +1 // Outputs[1] { @0D6D stack[0] = 0x0456 } // Block ends with call to 0x36de, returns to 0x0456 label_0D74: // Incoming jump from 0x0087, if 0xae1885ee == stack[-1] // Inputs[1] { @0D7B msg.data.length } 0D74 5B JUMPDEST 0D75 61 PUSH2 0x0242 0D78 60 PUSH1 0x04 0D7A 80 DUP1 0D7B 36 CALLDATASIZE 0D7C 03 SUB 0D7D 60 PUSH1 0x60 0D7F 81 DUP2 0D80 10 LT 0D81 15 ISZERO 0D82 61 PUSH2 0x0d8a 0D85 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0D75 stack[0] = 0x0242 // @0D78 stack[1] = 0x04 // @0D7C stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0d8a, if !(msg.data.length - 0x04 < 0x60) label_0D86: // Incoming jump from 0x0D85, if not !(msg.data.length - 0x04 < 0x60) // Inputs[1] { @0D89 memory[0x00:0x00] } 0D86 60 PUSH1 0x00 0D88 80 DUP1 0D89 FD *REVERT // Stack delta = +0 // Outputs[1] { @0D89 revert(memory[0x00:0x00]); } // Block terminates label_0D8A: // Incoming jump from 0x0D85, if !(msg.data.length - 0x04 < 0x60) // Inputs[4] // { // @0D93 stack[-2] // @0D94 msg.data[stack[-2]:stack[-2] + 0x20] // @0D97 stack[-1] // @0DA3 msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } 0D8A 5B JUMPDEST 0D8B 60 PUSH1 0x01 0D8D 60 PUSH1 0x01 0D8F 60 PUSH1 0xa0 0D91 1B SHL 0D92 03 SUB 0D93 82 DUP3 0D94 35 CALLDATALOAD 0D95 16 AND 0D96 91 SWAP2 0D97 90 SWAP1 0D98 81 DUP2 0D99 01 ADD 0D9A 90 SWAP1 0D9B 60 PUSH1 0x40 0D9D 81 DUP2 0D9E 01 ADD 0D9F 60 PUSH1 0x20 0DA1 82 DUP3 0DA2 01 ADD 0DA3 35 CALLDATALOAD 0DA4 60 PUSH1 0x01 0DA6 60 PUSH1 0x20 0DA8 1B SHL 0DA9 81 DUP2 0DAA 11 GT 0DAB 15 ISZERO 0DAC 61 PUSH2 0x0db4 0DAF 57 *JUMPI // Stack delta = +3 // Outputs[5] // { // @0D96 stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @0D9A stack[0] = stack[-2] // @0D9A stack[-1] = stack[-2] + stack[-1] // @0D9E stack[1] = stack[-2] + 0x40 // @0DA3 stack[2] = msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] // } // Block ends with conditional jump to 0x0db4, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) label_0DB0: // Incoming jump from 0x0DAF, if not !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[1] { @0DB3 memory[0x00:0x00] } 0DB0 60 PUSH1 0x00 0DB2 80 DUP1 0DB3 FD *REVERT // Stack delta = +0 // Outputs[1] { @0DB3 revert(memory[0x00:0x00]); } // Block terminates label_0DB4: // Incoming jump from 0x0DAF, if !(msg.data[stack[-2] + 0x20:stack[-2] + 0x20 + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0DB5 stack[-3] // @0DB6 stack[-1] // @0DB7 stack[-4] // } 0DB4 5B JUMPDEST 0DB5 82 DUP3 0DB6 01 ADD 0DB7 83 DUP4 0DB8 60 PUSH1 0x20 0DBA 82 DUP3 0DBB 01 ADD 0DBC 11 GT 0DBD 15 ISZERO 0DBE 61 PUSH2 0x0dc6 0DC1 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0DB6 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0dc6, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0DC2: // Incoming jump from 0x0DC1, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0DC5 memory[0x00:0x00] } 0DC2 60 PUSH1 0x00 0DC4 80 DUP1 0DC5 FD *REVERT // Stack delta = +0 // Outputs[1] { @0DC5 revert(memory[0x00:0x00]); } // Block terminates label_0DC6: // Incoming jump from 0x0DC1, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0DC7 stack[-1] // @0DC8 msg.data[stack[-1]:stack[-1] + 0x20] // @0DCD stack[-2] // @0DCE stack[-4] // } 0DC6 5B JUMPDEST 0DC7 80 DUP1 0DC8 35 CALLDATALOAD 0DC9 90 SWAP1 0DCA 60 PUSH1 0x20 0DCC 01 ADD 0DCD 91 SWAP2 0DCE 84 DUP5 0DCF 60 PUSH1 0x01 0DD1 83 DUP4 0DD2 02 MUL 0DD3 84 DUP5 0DD4 01 ADD 0DD5 11 GT 0DD6 60 PUSH1 0x01 0DD8 60 PUSH1 0x20 0DDA 1B SHL 0DDB 83 DUP4 0DDC 11 GT 0DDD 17 OR 0DDE 15 ISZERO 0DDF 61 PUSH2 0x0de7 0DE2 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0DC9 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0DCD stack[0] = stack[-2] // @0DCD stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0de7, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0DE3: // Incoming jump from 0x0DE2, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0DE6 memory[0x00:0x00] } 0DE3 60 PUSH1 0x00 0DE5 80 DUP1 0DE6 FD *REVERT // Stack delta = +0 // Outputs[1] { @0DE6 revert(memory[0x00:0x00]); } // Block terminates label_0DE7: // Incoming jump from 0x0DE2, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0DE8 stack[-3] // @0DE8 stack[-1] // @0DE9 stack[-5] // @0DEA stack[-2] // @0DEB stack[-4] // @0DF3 msg.data[stack[-1]:stack[-1] + 0x20] // } 0DE7 5B JUMPDEST 0DE8 91 SWAP2 0DE9 93 SWAP4 0DEA 90 SWAP1 0DEB 92 SWAP3 0DEC 90 SWAP1 0DED 91 SWAP2 0DEE 60 PUSH1 0x20 0DF0 81 DUP2 0DF1 01 ADD 0DF2 90 SWAP1 0DF3 35 CALLDATALOAD 0DF4 60 PUSH1 0x01 0DF6 60 PUSH1 0x20 0DF8 1B SHL 0DF9 81 DUP2 0DFA 11 GT 0DFB 15 ISZERO 0DFC 61 PUSH2 0x0e04 0DFF 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0DE9 stack[-5] = stack[-3] // @0DEB stack[-4] = stack[-2] // @0DEC stack[-2] = stack[-4] // @0DED stack[-3] = stack[-5] // @0DF2 stack[-1] = stack[-1] + 0x20 // @0DF3 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0e04, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_0E00: // Incoming jump from 0x0DFF, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0E03 memory[0x00:0x00] } 0E00 60 PUSH1 0x00 0E02 80 DUP1 0E03 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E03 revert(memory[0x00:0x00]); } // Block terminates label_0E04: // Incoming jump from 0x0DFF, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0E05 stack[-3] // @0E06 stack[-1] // @0E07 stack[-4] // } 0E04 5B JUMPDEST 0E05 82 DUP3 0E06 01 ADD 0E07 83 DUP4 0E08 60 PUSH1 0x20 0E0A 82 DUP3 0E0B 01 ADD 0E0C 11 GT 0E0D 15 ISZERO 0E0E 61 PUSH2 0x0e16 0E11 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0E06 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0e16, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0E12: // Incoming jump from 0x0E11, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0E15 memory[0x00:0x00] } 0E12 60 PUSH1 0x00 0E14 80 DUP1 0E15 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E15 revert(memory[0x00:0x00]); } // Block terminates label_0E16: // Incoming jump from 0x0E11, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0E17 stack[-1] // @0E18 msg.data[stack[-1]:stack[-1] + 0x20] // @0E1D stack[-2] // @0E1E stack[-4] // } 0E16 5B JUMPDEST 0E17 80 DUP1 0E18 35 CALLDATALOAD 0E19 90 SWAP1 0E1A 60 PUSH1 0x20 0E1C 01 ADD 0E1D 91 SWAP2 0E1E 84 DUP5 0E1F 60 PUSH1 0x01 0E21 83 DUP4 0E22 02 MUL 0E23 84 DUP5 0E24 01 ADD 0E25 11 GT 0E26 60 PUSH1 0x01 0E28 60 PUSH1 0x20 0E2A 1B SHL 0E2B 83 DUP4 0E2C 11 GT 0E2D 17 OR 0E2E 15 ISZERO 0E2F 61 PUSH2 0x0e37 0E32 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0E19 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0E1D stack[0] = stack[-2] // @0E1D stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0e37, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0E33: // Incoming jump from 0x0E32, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0E36 memory[0x00:0x00] } 0E33 60 PUSH1 0x00 0E35 80 DUP1 0E36 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E36 revert(memory[0x00:0x00]); } // Block terminates label_0E37: // Incoming jump from 0x0E32, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @0E39 stack[-2] // @0E39 stack[-3] // @0E3A stack[-5] // @0E3C stack[-4] // } 0E37 5B JUMPDEST 0E38 50 POP 0E39 90 SWAP1 0E3A 92 SWAP3 0E3B 50 POP 0E3C 90 SWAP1 0E3D 50 POP 0E3E 61 PUSH2 0x376e 0E41 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @0E3A stack[-5] = stack[-3] // @0E3C stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x376e label_0E42: // Incoming jump from 0x0092, if 0xb0622f60 == stack[-1] // Inputs[1] { @0E49 msg.data.length } 0E42 5B JUMPDEST 0E43 61 PUSH2 0x0242 0E46 60 PUSH1 0x04 0E48 80 DUP1 0E49 36 CALLDATASIZE 0E4A 03 SUB 0E4B 60 PUSH1 0x40 0E4D 81 DUP2 0E4E 10 LT 0E4F 15 ISZERO 0E50 61 PUSH2 0x0e58 0E53 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0E43 stack[0] = 0x0242 // @0E46 stack[1] = 0x04 // @0E4A stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0e58, if !(msg.data.length - 0x04 < 0x40) label_0E54: // Incoming jump from 0x0E53, if not !(msg.data.length - 0x04 < 0x40) // Inputs[1] { @0E57 memory[0x00:0x00] } 0E54 60 PUSH1 0x00 0E56 80 DUP1 0E57 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E57 revert(memory[0x00:0x00]); } // Block terminates label_0E58: // Incoming jump from 0x0E53, if !(msg.data.length - 0x04 < 0x40) // Inputs[3] // { // @0E59 stack[-2] // @0E5A stack[-1] // @0E61 msg.data[stack[-2]:stack[-2] + 0x20] // } 0E58 5B JUMPDEST 0E59 81 DUP2 0E5A 01 ADD 0E5B 90 SWAP1 0E5C 60 PUSH1 0x20 0E5E 81 DUP2 0E5F 01 ADD 0E60 81 DUP2 0E61 35 CALLDATALOAD 0E62 60 PUSH1 0x01 0E64 60 PUSH1 0x20 0E66 1B SHL 0E67 81 DUP2 0E68 11 GT 0E69 15 ISZERO 0E6A 61 PUSH2 0x0e72 0E6D 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @0E5B stack[-1] = stack[-2] // @0E5B stack[-2] = stack[-2] + stack[-1] // @0E5F stack[0] = stack[-2] + 0x20 // @0E61 stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x0e72, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_0E6E: // Incoming jump from 0x0E6D, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0E71 memory[0x00:0x00] } 0E6E 60 PUSH1 0x00 0E70 80 DUP1 0E71 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E71 revert(memory[0x00:0x00]); } // Block terminates label_0E72: // Incoming jump from 0x0E6D, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0E73 stack[-3] // @0E74 stack[-1] // @0E75 stack[-4] // } 0E72 5B JUMPDEST 0E73 82 DUP3 0E74 01 ADD 0E75 83 DUP4 0E76 60 PUSH1 0x20 0E78 82 DUP3 0E79 01 ADD 0E7A 11 GT 0E7B 15 ISZERO 0E7C 61 PUSH2 0x0e84 0E7F 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0E74 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0e84, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0E80: // Incoming jump from 0x0E7F, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0E83 memory[0x00:0x00] } 0E80 60 PUSH1 0x00 0E82 80 DUP1 0E83 FD *REVERT // Stack delta = +0 // Outputs[1] { @0E83 revert(memory[0x00:0x00]); } // Block terminates label_0E84: // Incoming jump from 0x0E7F, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0E85 stack[-1] // @0E86 msg.data[stack[-1]:stack[-1] + 0x20] // @0E8B stack[-2] // @0E8C stack[-4] // } 0E84 5B JUMPDEST 0E85 80 DUP1 0E86 35 CALLDATALOAD 0E87 90 SWAP1 0E88 60 PUSH1 0x20 0E8A 01 ADD 0E8B 91 SWAP2 0E8C 84 DUP5 0E8D 60 PUSH1 0x01 0E8F 83 DUP4 0E90 02 MUL 0E91 84 DUP5 0E92 01 ADD 0E93 11 GT 0E94 60 PUSH1 0x01 0E96 60 PUSH1 0x20 0E98 1B SHL 0E99 83 DUP4 0E9A 11 GT 0E9B 17 OR 0E9C 15 ISZERO 0E9D 61 PUSH2 0x0ea5 0EA0 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0E87 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0E8B stack[0] = stack[-2] // @0E8B stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0ea5, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0EA1: // Incoming jump from 0x0EA0, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0EA4 memory[0x00:0x00] } 0EA1 60 PUSH1 0x00 0EA3 80 DUP1 0EA4 FD *REVERT // Stack delta = +0 // Outputs[1] { @0EA4 revert(memory[0x00:0x00]); } // Block terminates label_0EA5: // Incoming jump from 0x0EA0, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0EA6 stack[-1] // @0EA6 stack[-3] // @0EA7 stack[-5] // @0EA8 stack[-2] // @0EA9 stack[-4] // @0EB1 msg.data[stack[-1]:stack[-1] + 0x20] // } 0EA5 5B JUMPDEST 0EA6 91 SWAP2 0EA7 93 SWAP4 0EA8 90 SWAP1 0EA9 92 SWAP3 0EAA 90 SWAP1 0EAB 91 SWAP2 0EAC 60 PUSH1 0x20 0EAE 81 DUP2 0EAF 01 ADD 0EB0 90 SWAP1 0EB1 35 CALLDATALOAD 0EB2 60 PUSH1 0x01 0EB4 60 PUSH1 0x20 0EB6 1B SHL 0EB7 81 DUP2 0EB8 11 GT 0EB9 15 ISZERO 0EBA 61 PUSH2 0x0ec2 0EBD 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0EA7 stack[-5] = stack[-3] // @0EA9 stack[-4] = stack[-2] // @0EAA stack[-2] = stack[-4] // @0EAB stack[-3] = stack[-5] // @0EB0 stack[-1] = stack[-1] + 0x20 // @0EB1 stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0ec2, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_0EBE: // Incoming jump from 0x0EBD, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0EC1 memory[0x00:0x00] } 0EBE 60 PUSH1 0x00 0EC0 80 DUP1 0EC1 FD *REVERT // Stack delta = +0 // Outputs[1] { @0EC1 revert(memory[0x00:0x00]); } // Block terminates label_0EC2: // Incoming jump from 0x0EBD, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0EC3 stack[-3] // @0EC4 stack[-1] // @0EC5 stack[-4] // } 0EC2 5B JUMPDEST 0EC3 82 DUP3 0EC4 01 ADD 0EC5 83 DUP4 0EC6 60 PUSH1 0x20 0EC8 82 DUP3 0EC9 01 ADD 0ECA 11 GT 0ECB 15 ISZERO 0ECC 61 PUSH2 0x0ed4 0ECF 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0EC4 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0ed4, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0ED0: // Incoming jump from 0x0ECF, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0ED3 memory[0x00:0x00] } 0ED0 60 PUSH1 0x00 0ED2 80 DUP1 0ED3 FD *REVERT // Stack delta = +0 // Outputs[1] { @0ED3 revert(memory[0x00:0x00]); } // Block terminates label_0ED4: // Incoming jump from 0x0ECF, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0ED5 stack[-1] // @0ED6 msg.data[stack[-1]:stack[-1] + 0x20] // @0EDB stack[-2] // @0EDC stack[-4] // } 0ED4 5B JUMPDEST 0ED5 80 DUP1 0ED6 35 CALLDATALOAD 0ED7 90 SWAP1 0ED8 60 PUSH1 0x20 0EDA 01 ADD 0EDB 91 SWAP2 0EDC 84 DUP5 0EDD 60 PUSH1 0x01 0EDF 83 DUP4 0EE0 02 MUL 0EE1 84 DUP5 0EE2 01 ADD 0EE3 11 GT 0EE4 60 PUSH1 0x01 0EE6 60 PUSH1 0x20 0EE8 1B SHL 0EE9 83 DUP4 0EEA 11 GT 0EEB 17 OR 0EEC 15 ISZERO 0EED 61 PUSH2 0x0ef5 0EF0 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0ED7 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0EDB stack[0] = stack[-2] // @0EDB stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0ef5, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0EF1: // Incoming jump from 0x0EF0, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0EF4 memory[0x00:0x00] } 0EF1 60 PUSH1 0x00 0EF3 80 DUP1 0EF4 FD *REVERT // Stack delta = +0 // Outputs[1] { @0EF4 revert(memory[0x00:0x00]); } // Block terminates label_0EF5: // Incoming jump from 0x0EF0, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @0EF7 stack[-2] // @0EF7 stack[-3] // @0EF8 stack[-5] // @0EFA stack[-4] // } 0EF5 5B JUMPDEST 0EF6 50 POP 0EF7 90 SWAP1 0EF8 92 SWAP3 0EF9 50 POP 0EFA 90 SWAP1 0EFB 50 POP 0EFC 61 PUSH2 0x3c88 0EFF 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @0EF8 stack[-5] = stack[-3] // @0EFA stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x3c88 label_0F00: // Incoming jump from 0x009D, if 0xc4769517 == stack[-1] // Inputs[1] { @0F07 msg.data.length } 0F00 5B JUMPDEST 0F01 61 PUSH2 0x05ce 0F04 60 PUSH1 0x04 0F06 80 DUP1 0F07 36 CALLDATASIZE 0F08 03 SUB 0F09 60 PUSH1 0x20 0F0B 81 DUP2 0F0C 10 LT 0F0D 15 ISZERO 0F0E 61 PUSH2 0x0f16 0F11 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0F01 stack[0] = 0x05ce // @0F04 stack[1] = 0x04 // @0F08 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0f16, if !(msg.data.length - 0x04 < 0x20) label_0F12: // Incoming jump from 0x0F11, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0F15 memory[0x00:0x00] } 0F12 60 PUSH1 0x00 0F14 80 DUP1 0F15 FD *REVERT // Stack delta = +0 // Outputs[1] { @0F15 revert(memory[0x00:0x00]); } // Block terminates label_0F16: // Incoming jump from 0x0F11, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0F18 msg.data[stack[-2]:stack[-2] + 0x20] // @0F18 stack[-2] // } 0F16 5B JUMPDEST 0F17 50 POP 0F18 35 CALLDATALOAD 0F19 61 PUSH2 0x41dc 0F1C 56 *JUMP // Stack delta = -1 // Outputs[1] { @0F18 stack[-2] = msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x41dc label_0F1D: // Incoming jump from 0x00A8, if 0xca4b208b == stack[-1] 0F1D 5B JUMPDEST 0F1E 61 PUSH2 0x040c 0F21 61 PUSH2 0x4533 0F24 56 *JUMP // Stack delta = +1 // Outputs[1] { @0F1E stack[0] = 0x040c } // Block ends with call to 0x4533, returns to 0x040C label_0F25: // Incoming jump from 0x004B, if 0xce458581 == stack[-1] // Inputs[1] { @0F2C msg.data.length } 0F25 5B JUMPDEST 0F26 61 PUSH2 0x05ce 0F29 60 PUSH1 0x04 0F2B 80 DUP1 0F2C 36 CALLDATASIZE 0F2D 03 SUB 0F2E 60 PUSH1 0x20 0F30 81 DUP2 0F31 10 LT 0F32 15 ISZERO 0F33 61 PUSH2 0x0f3b 0F36 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0F26 stack[0] = 0x05ce // @0F29 stack[1] = 0x04 // @0F2D stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x0f3b, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x20) label_0F37: // Incoming jump from 0x0F36, if not !(msg.data.length - 0x04 < 0x20) // Inputs[1] { @0F3A memory[0x00:0x00] } 0F37 60 PUSH1 0x00 0F39 80 DUP1 0F3A FD *REVERT // Stack delta = +0 // Outputs[1] { @0F3A revert(memory[0x00:0x00]); } // Block terminates label_0F3B: // Incoming call from 0x0F36, returns to 0x05CE, if !(msg.data.length - 0x04 < 0x20) // Inputs[2] // { // @0F3D stack[-2] // @0F3D msg.data[stack[-2]:stack[-2] + 0x20] // } 0F3B 5B JUMPDEST 0F3C 50 POP 0F3D 35 CALLDATALOAD 0F3E 60 PUSH1 0x01 0F40 60 PUSH1 0x01 0F42 60 PUSH1 0xa0 0F44 1B SHL 0F45 03 SUB 0F46 16 AND 0F47 61 PUSH2 0x4542 0F4A 56 *JUMP // Stack delta = -1 // Outputs[1] { @0F46 stack[-2] = (0x01 << 0xa0) - 0x01 & msg.data[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to 0x4542 label_0F4B: // Incoming jump from 0x0056, if 0xd2629bbb == stack[-1] // Inputs[1] { @0F52 msg.data.length } 0F4B 5B JUMPDEST 0F4C 61 PUSH2 0x0242 0F4F 60 PUSH1 0x04 0F51 80 DUP1 0F52 36 CALLDATASIZE 0F53 03 SUB 0F54 60 PUSH1 0xa0 0F56 81 DUP2 0F57 10 LT 0F58 15 ISZERO 0F59 61 PUSH2 0x0f61 0F5C 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @0F4C stack[0] = 0x0242 // @0F4F stack[1] = 0x04 // @0F53 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional jump to 0x0f61, if !(msg.data.length - 0x04 < 0xa0) label_0F5D: // Incoming jump from 0x0F5C, if not !(msg.data.length - 0x04 < 0xa0) // Inputs[1] { @0F60 memory[0x00:0x00] } 0F5D 60 PUSH1 0x00 0F5F 80 DUP1 0F60 FD *REVERT // Stack delta = +0 // Outputs[1] { @0F60 revert(memory[0x00:0x00]); } // Block terminates label_0F61: // Incoming jump from 0x0F5C, if !(msg.data.length - 0x04 < 0xa0) // Inputs[3] // { // @0F62 stack[-2] // @0F63 stack[-1] // @0F6A msg.data[stack[-2]:stack[-2] + 0x20] // } 0F61 5B JUMPDEST 0F62 81 DUP2 0F63 01 ADD 0F64 90 SWAP1 0F65 60 PUSH1 0x20 0F67 81 DUP2 0F68 01 ADD 0F69 81 DUP2 0F6A 35 CALLDATALOAD 0F6B 60 PUSH1 0x01 0F6D 60 PUSH1 0x20 0F6F 1B SHL 0F70 81 DUP2 0F71 11 GT 0F72 15 ISZERO 0F73 61 PUSH2 0x0f7b 0F76 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @0F64 stack[-1] = stack[-2] // @0F64 stack[-2] = stack[-2] + stack[-1] // @0F68 stack[0] = stack[-2] + 0x20 // @0F6A stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x0f7b, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_0F77: // Incoming jump from 0x0F76, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0F7A memory[0x00:0x00] } 0F77 60 PUSH1 0x00 0F79 80 DUP1 0F7A FD *REVERT // Stack delta = +0 // Outputs[1] { @0F7A revert(memory[0x00:0x00]); } // Block terminates label_0F7B: // Incoming jump from 0x0F76, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0F7C stack[-3] // @0F7D stack[-1] // @0F7E stack[-4] // } 0F7B 5B JUMPDEST 0F7C 82 DUP3 0F7D 01 ADD 0F7E 83 DUP4 0F7F 60 PUSH1 0x20 0F81 82 DUP3 0F82 01 ADD 0F83 11 GT 0F84 15 ISZERO 0F85 61 PUSH2 0x0f8d 0F88 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0F7D stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0f8d, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0F89: // Incoming jump from 0x0F88, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0F8C memory[0x00:0x00] } 0F89 60 PUSH1 0x00 0F8B 80 DUP1 0F8C FD *REVERT // Stack delta = +0 // Outputs[1] { @0F8C revert(memory[0x00:0x00]); } // Block terminates label_0F8D: // Incoming jump from 0x0F88, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0F8E stack[-1] // @0F8F msg.data[stack[-1]:stack[-1] + 0x20] // @0F94 stack[-2] // @0F95 stack[-4] // } 0F8D 5B JUMPDEST 0F8E 80 DUP1 0F8F 35 CALLDATALOAD 0F90 90 SWAP1 0F91 60 PUSH1 0x20 0F93 01 ADD 0F94 91 SWAP2 0F95 84 DUP5 0F96 60 PUSH1 0x01 0F98 83 DUP4 0F99 02 MUL 0F9A 84 DUP5 0F9B 01 ADD 0F9C 11 GT 0F9D 60 PUSH1 0x01 0F9F 60 PUSH1 0x20 0FA1 1B SHL 0FA2 83 DUP4 0FA3 11 GT 0FA4 17 OR 0FA5 15 ISZERO 0FA6 61 PUSH2 0x0fae 0FA9 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0F90 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0F94 stack[0] = stack[-2] // @0F94 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0fae, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0FAA: // Incoming jump from 0x0FA9, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0FAD memory[0x00:0x00] } 0FAA 60 PUSH1 0x00 0FAC 80 DUP1 0FAD FD *REVERT // Stack delta = +0 // Outputs[1] { @0FAD revert(memory[0x00:0x00]); } // Block terminates label_0FAE: // Incoming jump from 0x0FA9, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0FAF stack[-3] // @0FAF stack[-1] // @0FB0 stack[-5] // @0FB1 stack[-2] // @0FB2 stack[-4] // @0FBA msg.data[stack[-1]:stack[-1] + 0x20] // } 0FAE 5B JUMPDEST 0FAF 91 SWAP2 0FB0 93 SWAP4 0FB1 90 SWAP1 0FB2 92 SWAP3 0FB3 90 SWAP1 0FB4 91 SWAP2 0FB5 60 PUSH1 0x20 0FB7 81 DUP2 0FB8 01 ADD 0FB9 90 SWAP1 0FBA 35 CALLDATALOAD 0FBB 60 PUSH1 0x01 0FBD 60 PUSH1 0x20 0FBF 1B SHL 0FC0 81 DUP2 0FC1 11 GT 0FC2 15 ISZERO 0FC3 61 PUSH2 0x0fcb 0FC6 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @0FB0 stack[-5] = stack[-3] // @0FB2 stack[-4] = stack[-2] // @0FB3 stack[-2] = stack[-4] // @0FB4 stack[-3] = stack[-5] // @0FB9 stack[-1] = stack[-1] + 0x20 // @0FBA stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x0fcb, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_0FC7: // Incoming jump from 0x0FC6, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @0FCA memory[0x00:0x00] } 0FC7 60 PUSH1 0x00 0FC9 80 DUP1 0FCA FD *REVERT // Stack delta = +0 // Outputs[1] { @0FCA revert(memory[0x00:0x00]); } // Block terminates label_0FCB: // Incoming jump from 0x0FC6, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @0FCC stack[-3] // @0FCD stack[-1] // @0FCE stack[-4] // } 0FCB 5B JUMPDEST 0FCC 82 DUP3 0FCD 01 ADD 0FCE 83 DUP4 0FCF 60 PUSH1 0x20 0FD1 82 DUP3 0FD2 01 ADD 0FD3 11 GT 0FD4 15 ISZERO 0FD5 61 PUSH2 0x0fdd 0FD8 57 *JUMPI // Stack delta = +0 // Outputs[1] { @0FCD stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x0fdd, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_0FD9: // Incoming jump from 0x0FD8, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @0FDC memory[0x00:0x00] } 0FD9 60 PUSH1 0x00 0FDB 80 DUP1 0FDC FD *REVERT // Stack delta = +0 // Outputs[1] { @0FDC revert(memory[0x00:0x00]); } // Block terminates label_0FDD: // Incoming jump from 0x0FD8, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @0FDE stack[-1] // @0FDF msg.data[stack[-1]:stack[-1] + 0x20] // @0FE4 stack[-2] // @0FE5 stack[-4] // } 0FDD 5B JUMPDEST 0FDE 80 DUP1 0FDF 35 CALLDATALOAD 0FE0 90 SWAP1 0FE1 60 PUSH1 0x20 0FE3 01 ADD 0FE4 91 SWAP2 0FE5 84 DUP5 0FE6 60 PUSH1 0x01 0FE8 83 DUP4 0FE9 02 MUL 0FEA 84 DUP5 0FEB 01 ADD 0FEC 11 GT 0FED 60 PUSH1 0x01 0FEF 60 PUSH1 0x20 0FF1 1B SHL 0FF2 83 DUP4 0FF3 11 GT 0FF4 17 OR 0FF5 15 ISZERO 0FF6 61 PUSH2 0x0ffe 0FF9 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @0FE0 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @0FE4 stack[0] = stack[-2] // @0FE4 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x0ffe, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_0FFA: // Incoming jump from 0x0FF9, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @0FFD memory[0x00:0x00] } 0FFA 60 PUSH1 0x00 0FFC 80 DUP1 0FFD FD *REVERT // Stack delta = +0 // Outputs[1] { @0FFD revert(memory[0x00:0x00]); } // Block terminates label_0FFE: // Incoming jump from 0x0FF9, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @0FFF stack[-3] // @0FFF stack[-1] // @1000 stack[-5] // @1001 stack[-2] // @1002 stack[-4] // @100A msg.data[stack[-1]:stack[-1] + 0x20] // } 0FFE 5B JUMPDEST 0FFF 91 SWAP2 1000 93 SWAP4 1001 90 SWAP1 1002 92 SWAP3 1003 90 SWAP1 1004 91 SWAP2 1005 60 PUSH1 0x20 1007 81 DUP2 1008 01 ADD 1009 90 SWAP1 100A 35 CALLDATALOAD 100B 60 PUSH1 0x01 100D 60 PUSH1 0x20 100F 1B SHL 1010 81 DUP2 1011 11 GT 1012 15 ISZERO 1013 61 PUSH2 0x101b 1016 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @1000 stack[-5] = stack[-3] // @1002 stack[-4] = stack[-2] // @1003 stack[-2] = stack[-4] // @1004 stack[-3] = stack[-5] // @1009 stack[-1] = stack[-1] + 0x20 // @100A stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x101b, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_1017: // Incoming jump from 0x1016, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @101A memory[0x00:0x00] } 1017 60 PUSH1 0x00 1019 80 DUP1 101A FD *REVERT // Stack delta = +0 // Outputs[1] { @101A revert(memory[0x00:0x00]); } // Block terminates label_101B: // Incoming jump from 0x1016, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @101C stack[-3] // @101D stack[-1] // @101E stack[-4] // } 101B 5B JUMPDEST 101C 82 DUP3 101D 01 ADD 101E 83 DUP4 101F 60 PUSH1 0x20 1021 82 DUP3 1022 01 ADD 1023 11 GT 1024 15 ISZERO 1025 61 PUSH2 0x102d 1028 57 *JUMPI // Stack delta = +0 // Outputs[1] { @101D stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x102d, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_1029: // Incoming jump from 0x1028, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @102C memory[0x00:0x00] } 1029 60 PUSH1 0x00 102B 80 DUP1 102C FD *REVERT // Stack delta = +0 // Outputs[1] { @102C revert(memory[0x00:0x00]); } // Block terminates label_102D: // Incoming jump from 0x1028, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @102E stack[-1] // @102F msg.data[stack[-1]:stack[-1] + 0x20] // @1034 stack[-2] // @1035 stack[-4] // } 102D 5B JUMPDEST 102E 80 DUP1 102F 35 CALLDATALOAD 1030 90 SWAP1 1031 60 PUSH1 0x20 1033 01 ADD 1034 91 SWAP2 1035 84 DUP5 1036 60 PUSH1 0x01 1038 83 DUP4 1039 02 MUL 103A 84 DUP5 103B 01 ADD 103C 11 GT 103D 60 PUSH1 0x01 103F 60 PUSH1 0x20 1041 1B SHL 1042 83 DUP4 1043 11 GT 1044 17 OR 1045 15 ISZERO 1046 61 PUSH2 0x104e 1049 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @1030 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @1034 stack[0] = stack[-2] // @1034 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x104e, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_104A: // Incoming jump from 0x1049, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @104D memory[0x00:0x00] } 104A 60 PUSH1 0x00 104C 80 DUP1 104D FD *REVERT // Stack delta = +0 // Outputs[1] { @104D revert(memory[0x00:0x00]); } // Block terminates label_104E: // Incoming jump from 0x1049, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @104F stack[-1] // @104F stack[-3] // @1050 stack[-5] // @1051 stack[-2] // @1052 stack[-4] // @105A msg.data[stack[-1]:stack[-1] + 0x20] // } 104E 5B JUMPDEST 104F 91 SWAP2 1050 93 SWAP4 1051 90 SWAP1 1052 92 SWAP3 1053 90 SWAP1 1054 91 SWAP2 1055 60 PUSH1 0x20 1057 81 DUP2 1058 01 ADD 1059 90 SWAP1 105A 35 CALLDATALOAD 105B 60 PUSH1 0x01 105D 60 PUSH1 0x20 105F 1B SHL 1060 81 DUP2 1061 11 GT 1062 15 ISZERO 1063 61 PUSH2 0x106b 1066 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @1050 stack[-5] = stack[-3] // @1052 stack[-4] = stack[-2] // @1053 stack[-2] = stack[-4] // @1054 stack[-3] = stack[-5] // @1059 stack[-1] = stack[-1] + 0x20 // @105A stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x106b, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_1067: // Incoming jump from 0x1066, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @106A memory[0x00:0x00] } 1067 60 PUSH1 0x00 1069 80 DUP1 106A FD *REVERT // Stack delta = +0 // Outputs[1] { @106A revert(memory[0x00:0x00]); } // Block terminates label_106B: // Incoming jump from 0x1066, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @106C stack[-3] // @106D stack[-1] // @106E stack[-4] // } 106B 5B JUMPDEST 106C 82 DUP3 106D 01 ADD 106E 83 DUP4 106F 60 PUSH1 0x20 1071 82 DUP3 1072 01 ADD 1073 11 GT 1074 15 ISZERO 1075 61 PUSH2 0x107d 1078 57 *JUMPI // Stack delta = +0 // Outputs[1] { @106D stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x107d, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_1079: // Incoming jump from 0x1078, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @107C memory[0x00:0x00] } 1079 60 PUSH1 0x00 107B 80 DUP1 107C FD *REVERT // Stack delta = +0 // Outputs[1] { @107C revert(memory[0x00:0x00]); } // Block terminates label_107D: // Incoming jump from 0x1078, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @107E stack[-1] // @107F msg.data[stack[-1]:stack[-1] + 0x20] // @1084 stack[-2] // @1085 stack[-4] // } 107D 5B JUMPDEST 107E 80 DUP1 107F 35 CALLDATALOAD 1080 90 SWAP1 1081 60 PUSH1 0x20 1083 01 ADD 1084 91 SWAP2 1085 84 DUP5 1086 60 PUSH1 0x01 1088 83 DUP4 1089 02 MUL 108A 84 DUP5 108B 01 ADD 108C 11 GT 108D 60 PUSH1 0x01 108F 60 PUSH1 0x20 1091 1B SHL 1092 83 DUP4 1093 11 GT 1094 17 OR 1095 15 ISZERO 1096 61 PUSH2 0x109e 1099 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @1080 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @1084 stack[0] = stack[-2] // @1084 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x109e, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_109A: // Incoming jump from 0x1099, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @109D memory[0x00:0x00] } 109A 60 PUSH1 0x00 109C 80 DUP1 109D FD *REVERT // Stack delta = +0 // Outputs[1] { @109D revert(memory[0x00:0x00]); } // Block terminates label_109E: // Incoming jump from 0x1099, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[6] // { // @109F stack[-3] // @109F stack[-1] // @10A0 stack[-5] // @10A1 stack[-2] // @10A2 stack[-4] // @10AA msg.data[stack[-1]:stack[-1] + 0x20] // } 109E 5B JUMPDEST 109F 91 SWAP2 10A0 93 SWAP4 10A1 90 SWAP1 10A2 92 SWAP3 10A3 90 SWAP1 10A4 91 SWAP2 10A5 60 PUSH1 0x20 10A7 81 DUP2 10A8 01 ADD 10A9 90 SWAP1 10AA 35 CALLDATALOAD 10AB 60 PUSH1 0x01 10AD 60 PUSH1 0x20 10AF 1B SHL 10B0 81 DUP2 10B1 11 GT 10B2 15 ISZERO 10B3 61 PUSH2 0x10bb 10B6 57 *JUMPI // Stack delta = +1 // Outputs[6] // { // @10A0 stack[-5] = stack[-3] // @10A2 stack[-4] = stack[-2] // @10A3 stack[-2] = stack[-4] // @10A4 stack[-3] = stack[-5] // @10A9 stack[-1] = stack[-1] + 0x20 // @10AA stack[0] = msg.data[stack[-1]:stack[-1] + 0x20] // } // Block ends with conditional jump to 0x10bb, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) label_10B7: // Incoming jump from 0x10B6, if not !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[1] { @10BA memory[0x00:0x00] } 10B7 60 PUSH1 0x00 10B9 80 DUP1 10BA FD *REVERT // Stack delta = +0 // Outputs[1] { @10BA revert(memory[0x00:0x00]); } // Block terminates label_10BB: // Incoming jump from 0x10B6, if !(msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @10BC stack[-3] // @10BD stack[-1] // @10BE stack[-4] // } 10BB 5B JUMPDEST 10BC 82 DUP3 10BD 01 ADD 10BE 83 DUP4 10BF 60 PUSH1 0x20 10C1 82 DUP3 10C2 01 ADD 10C3 11 GT 10C4 15 ISZERO 10C5 61 PUSH2 0x10cd 10C8 57 *JUMPI // Stack delta = +0 // Outputs[1] { @10BD stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x10cd, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_10C9: // Incoming jump from 0x10C8, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @10CC memory[0x00:0x00] } 10C9 60 PUSH1 0x00 10CB 80 DUP1 10CC FD *REVERT // Stack delta = +0 // Outputs[1] { @10CC revert(memory[0x00:0x00]); } // Block terminates label_10CD: // Incoming jump from 0x10C8, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @10CE stack[-1] // @10CF msg.data[stack[-1]:stack[-1] + 0x20] // @10D4 stack[-2] // @10D5 stack[-4] // } 10CD 5B JUMPDEST 10CE 80 DUP1 10CF 35 CALLDATALOAD 10D0 90 SWAP1 10D1 60 PUSH1 0x20 10D3 01 ADD 10D4 91 SWAP2 10D5 84 DUP5 10D6 60 PUSH1 0x01 10D8 83 DUP4 10D9 02 MUL 10DA 84 DUP5 10DB 01 ADD 10DC 11 GT 10DD 60 PUSH1 0x01 10DF 60 PUSH1 0x20 10E1 1B SHL 10E2 83 DUP4 10E3 11 GT 10E4 17 OR 10E5 15 ISZERO 10E6 61 PUSH2 0x10ee 10E9 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @10D0 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @10D4 stack[0] = stack[-2] // @10D4 stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x10ee, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_10EA: // Incoming jump from 0x10E9, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @10ED memory[0x00:0x00] } 10EA 60 PUSH1 0x00 10EC 80 DUP1 10ED FD *REVERT // Stack delta = +0 // Outputs[1] { @10ED revert(memory[0x00:0x00]); } // Block terminates label_10EE: // Incoming jump from 0x10E9, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[4] // { // @10F0 stack[-3] // @10F0 stack[-2] // @10F1 stack[-5] // @10F3 stack[-4] // } 10EE 5B JUMPDEST 10EF 50 POP 10F0 90 SWAP1 10F1 92 SWAP3 10F2 50 POP 10F3 90 SWAP1 10F4 50 POP 10F5 61 PUSH2 0x4563 10F8 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @10F1 stack[-5] = stack[-3] // @10F3 stack[-4] = stack[-2] // } // Block ends with unconditional jump to 0x4563 label_10F9: // Incoming jump from 0x0061, if 0xd5a285cb == stack[-1] 10F9 5B JUMPDEST 10FA 61 PUSH2 0x0242 10FD 61 PUSH2 0x4951 1100 56 *JUMP // Stack delta = +1 // Outputs[1] { @10FA stack[0] = 0x0242 } // Block ends with call to 0x4951, returns to 0x0242 label_1101: // Incoming jump from 0x006C, if 0xe06e0e22 == stack[-1] // Inputs[1] { @1108 msg.data.length } 1101 5B JUMPDEST 1102 61 PUSH2 0x0242 1105 60 PUSH1 0x04 1107 80 DUP1 1108 36 CALLDATASIZE 1109 03 SUB 110A 60 PUSH1 0x80 110C 81 DUP2 110D 10 LT 110E 15 ISZERO 110F 61 PUSH2 0x1117 1112 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @1102 stack[0] = 0x0242 // @1105 stack[1] = 0x04 // @1109 stack[2] = msg.data.length - 0x04 // } // Block ends with conditional call to 0x1117, returns to 0x0242, if !(msg.data.length - 0x04 < 0x80) label_1113: // Incoming jump from 0x1112, if not !(msg.data.length - 0x04 < 0x80) // Inputs[1] { @1116 memory[0x00:0x00] } 1113 60 PUSH1 0x00 1115 80 DUP1 1116 FD *REVERT // Stack delta = +0 // Outputs[1] { @1116 revert(memory[0x00:0x00]); } // Block terminates label_1117: // Incoming call from 0x1112, returns to 0x0242, if !(msg.data.length - 0x04 < 0x80) // Inputs[3] // { // @1118 stack[-2] // @1119 stack[-1] // @1120 msg.data[stack[-2]:stack[-2] + 0x20] // } 1117 5B JUMPDEST 1118 81 DUP2 1119 01 ADD 111A 90 SWAP1 111B 60 PUSH1 0x20 111D 81 DUP2 111E 01 ADD 111F 81 DUP2 1120 35 CALLDATALOAD 1121 60 PUSH1 0x01 1123 60 PUSH1 0x20 1125 1B SHL 1126 81 DUP2 1127 11 GT 1128 15 ISZERO 1129 61 PUSH2 0x1131 112C 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @111A stack[-1] = stack[-2] // @111A stack[-2] = stack[-2] + stack[-1] // @111E stack[0] = stack[-2] + 0x20 // @1120 stack[1] = msg.data[stack[-2]:stack[-2] + 0x20] // } // Block ends with conditional jump to 0x1131, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) label_112D: // Incoming jump from 0x112C, if not !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[1] { @1130 memory[0x00:0x00] } 112D 60 PUSH1 0x00 112F 80 DUP1 1130 FD *REVERT // Stack delta = +0 // Outputs[1] { @1130 revert(memory[0x00:0x00]); } // Block terminates label_1131: // Incoming jump from 0x112C, if !(msg.data[stack[-2]:stack[-2] + 0x20] > 0x01 << 0x20) // Inputs[3] // { // @1132 stack[-3] // @1133 stack[-1] // @1134 stack[-4] // } 1131 5B JUMPDEST 1132 82 DUP3 1133 01 ADD 1134 83 DUP4 1135 60 PUSH1 0x20 1137 82 DUP3 1138 01 ADD 1139 11 GT 113A 15 ISZERO 113B 61 PUSH2 0x1143 113E 57 *JUMPI // Stack delta = +0 // Outputs[1] { @1133 stack[-1] = stack[-3] + stack[-1] } // Block ends with conditional jump to 0x1143, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) label_113F: // Incoming jump from 0x113E, if not !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[1] { @1142 memory[0x00:0x00] } 113F 60 PUSH1 0x00 1141 80 DUP1 1142 FD *REVERT // Stack delta = +0 // Outputs[1] { @1142 revert(memory[0x00:0x00]); } // Block terminates label_1143: // Incoming jump from 0x113E, if !(stack[-3] + stack[-1] + 0x20 > stack[-4]) // Inputs[4] // { // @1144 stack[-1] // @1145 msg.data[stack[-1]:stack[-1] + 0x20] // @114A stack[-2] // @114B stack[-4] // } 1143 5B JUMPDEST 1144 80 DUP1 1145 35 CALLDATALOAD 1146 90 SWAP1 1147 60 PUSH1 0x20 1149 01 ADD 114A 91 SWAP2 114B 84 DUP5 114C 60 PUSH1 0x01 114E 83 DUP4 114F 02 MUL 1150 84 DUP5 1151 01 ADD 1152 11 GT 1153 60 PUSH1 0x01 1155 60 PUSH1 0x20 1157 1B SHL 1158 83 DUP4 1159 11 GT 115A 17 OR 115B 15 ISZERO 115C 61 PUSH2 0x1164 115F 57 *JUMPI // Stack delta = +1 // Outputs[3] // { // @1146 stack[-1] = msg.data[stack[-1]:stack[-1] + 0x20] // @114A stack[0] = stack[-2] // @114A stack[-2] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x1164, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) label_1160: // Incoming jump from 0x115F, if not !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[1] { @1163 memory[0x00:0x00] } 1160 60 PUSH1 0x00 1162 80 DUP1 1163 FD *REVERT // Stack delta = +0 // Outputs[1] { @1163 revert(memory[0x00:0x00]); } // Block terminates label_1164: // Incoming jump from 0x115F, if !((msg.data[stack[-1]:stack[-1] + 0x20] > 0x01 << 0x20) | (0x20 + stack[-1] + msg.data[stack[-1]:stack[-1] + 0x20] * 0x01 > stack[-4])) // Inputs[8] // { // @1165 stack[-1] // @1165 stack[-3] // @1166 stack[-5] // @1168 stack[-4] // @1168 stack[-2] // @116B msg.data[stack[-1]:stack[-1] + 0x20] // @1173 msg.data[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // @1178 msg.data[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // } 1164 5B JUMPDEST 1165 91 SWAP2 1166 93 SWAP4 1167 50 POP 1168 91 SWAP2 1169 50 POP 116A 80 DUP1 116B 35 CALLDATALOAD 116C 15 ISZERO 116D 15 ISZERO 116E 90 SWAP1 116F 60 PUSH1 0x20 1171 81 DUP2 1172 01 ADD 1173 35 CALLDATALOAD 1174 90 SWAP1 1175 60 PUSH1 0x40 1177 01 ADD 1178 35 CALLDATALOAD 1179 61 PUSH2 0x49a8 117C 56 *JUMP // Stack delta = +0 // Outputs[5] // { // @1166 stack[-5] = stack[-3] // @1168 stack[-4] = stack[-2] // @116E stack[-3] = !!msg.data[stack[-1]:stack[-1] + 0x20] // @1174 stack[-2] = msg.data[stack[-1] + 0x20:stack[-1] + 0x20 + 0x20] // @1178 stack[-1] = msg.data[0x40 + stack[-1]:0x40 + stack[-1] + 0x20] // } // Block ends with unconditional jump to 0x49a8 label_117D: // Incoming jump from 0x0077, if 0xe20c6d3d == stack[-1] 117D 5B JUMPDEST 117E 61 PUSH2 0x0618 1181 61 PUSH2 0x4a06 1184 56 *JUMP // Stack delta = +1 // Outputs[1] { @117E stack[0] = 0x0618 } // Block ends with call to 0x4a06, returns to 0x0618 label_1185: // Incoming jump from 0x0241 // Inputs[1] { @1188 storage[0x01] } 1185 5B JUMPDEST 1186 60 PUSH1 0x01 1188 54 SLOAD 1189 60 PUSH1 0x01 118B 60 PUSH1 0x01 118D 60 PUSH1 0xa0 118F 1B SHL 1190 03 SUB 1191 16 AND 1192 61 PUSH2 0x1199 1195 61 PUSH2 0x1c6e 1198 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @1191 stack[0] = (0x01 << 0xa0) - 0x01 & storage[0x01] // @1192 stack[1] = 0x1199 // } // Block ends with unconditional jump to 0x1c6e 1199 5B JUMPDEST 119A 60 PUSH1 0x01 119C 60 PUSH1 0x01 119E 60 PUSH1 0xa0 11A0 1B SHL 11A1 03 SUB 11A2 16 AND 11A3 14 EQ 11A4 80 DUP1 11A5 61 PUSH2 0x12bb 11A8 57 *JUMPI 11A9 50 POP 11AA 60 PUSH1 0x02 11AC 54 SLOAD 11AD 60 PUSH1 0x40 11AF 80 DUP1 11B0 51 MLOAD 11B1 80 DUP1 11B2 82 DUP3 11B3 01 ADD 11B4 82 DUP3 11B5 52 MSTORE 11B6 60 PUSH1 0x11 11B8 81 DUP2 11B9 52 MSTORE 11BA 70 PUSH17 0x42616c4d616e6167657246656174757265 11CC 60 PUSH1 0x78 11CE 1B SHL 11CF 60 PUSH1 0x20 11D1 80 DUP1 11D2 83 DUP4 11D3 01 ADD 11D4 91 SWAP2 11D5 82 DUP3 11D6 52 MSTORE 11D7 92 SWAP3 11D8 51 MLOAD 11D9 63 PUSH4 0x0251382f 11DE 60 PUSH1 0xe3 11E0 1B SHL 11E1 81 DUP2 11E2 52 MSTORE 11E3 60 PUSH1 0x04 11E5 81 DUP2 11E6 01 ADD 11E7 93 SWAP4 11E8 84 DUP5 11E9 52 MSTORE 11EA 82 DUP3 11EB 51 MLOAD 11EC 60 PUSH1 0x24 11EE 82 DUP3 11EF 01 ADD 11F0 52 MSTORE 11F1 82 DUP3 11F2 51 MLOAD 11F3 60 PUSH1 0x01 11F5 60 PUSH1 0x01 11F7 60 PUSH1 0xa0 11F9 1B SHL 11FA 03 SUB 11FB 90 SWAP1 11FC 95 SWAP6 11FD 16 AND 11FE 94 SWAP5 11FF 63 PUSH4 0x1289c178 1204 94 SWAP5 1205 92 SWAP3 1206 83 DUP4 1207 92 SWAP3 1208 60 PUSH1 0x44 120A 01 ADD 120B 91 SWAP2 120C 80 DUP1 120D 83 DUP4 120E 83 DUP4 120F 60 PUSH1 0x00 1211 5B JUMPDEST 1212 83 DUP4 1213 81 DUP2 1214 10 LT 1215 15 ISZERO 1216 61 PUSH2 0x1229 1219 57 *JUMPI 121A 81 DUP2 121B 81 DUP2 121C 01 ADD 121D 51 MLOAD 121E 83 DUP4 121F 82 DUP3 1220 01 ADD 1221 52 MSTORE 1222 60 PUSH1 0x20 1224 01 ADD 1225 61 PUSH2 0x1211 1228 56 *JUMP 1229 5B JUMPDEST 122A 50 POP 122B 50 POP 122C 50 POP 122D 50 POP 122E 90 SWAP1 122F 50 POP 1230 90 SWAP1 1231 81 DUP2 1232 01 ADD 1233 90 SWAP1 1234 60 PUSH1 0x1f 1236 16 AND 1237 80 DUP1 1238 15 ISZERO 1239 61 PUSH2 0x1256 123C 57 *JUMPI 123D 80 DUP1 123E 82 DUP3 123F 03 SUB 1240 80 DUP1 1241 51 MLOAD 1242 60 PUSH1 0x01 1244 83 DUP4 1245 60 PUSH1 0x20 1247 03 SUB 1248 61 PUSH2 0x0100 124B 0A EXP 124C 03 SUB 124D 19 NOT 124E 16 AND 124F 81 DUP2 1250 52 MSTORE 1251 60 PUSH1 0x20 1253 01 ADD 1254 91 SWAP2 1255 50 POP 1256 5B JUMPDEST 1257 50 POP 1258 92 SWAP3 1259 50 POP 125A 50 POP 125B 50 POP 125C 60 PUSH1 0x20 125E 60 PUSH1 0x40 1260 51 MLOAD 1261 80 DUP1 1262 83 DUP4 1263 03 SUB 1264 81 DUP2 1265 86 DUP7 1266 80 DUP1 1267 3B EXTCODESIZE 1268 15 ISZERO 1269 80 DUP1 126A 15 ISZERO 126B 61 PUSH2 0x1273 126E 57 *JUMPI 126F 60 PUSH1 0x00 1271 80 DUP1 1272 FD *REVERT 1273 5B JUMPDEST 1274 50 POP 1275 5A GAS 1276 FA STATICCALL 1277 15 ISZERO 1278 80 DUP1 1279 15 ISZERO 127A 61 PUSH2 0x1287 127D 57 *JUMPI 127E 3D RETURNDATASIZE 127F 60 PUSH1 0x00 1281 80 DUP1 1282 3E RETURNDATACOPY 1283 3D RETURNDATASIZE 1284 60 PUSH1 0x00 1286 FD *REVERT 1287 5B JUMPDEST 1288 50 POP 1289 50 POP 128A 50 POP 128B 50 POP 128C 60 PUSH1 0x40 128E 51 MLOAD 128F 3D RETURNDATASIZE 1290 60 PUSH1 0x20 1292 81 DUP2 1293 10 LT 1294 15 ISZERO 1295 61 PUSH2 0x129d 1298 57 *JUMPI 1299 60 PUSH1 0x00 129B 80 DUP1 129C FD *REVERT 129D 5B JUMPDEST 129E 50 POP 129F 51 MLOAD 12A0 60 PUSH1 0x01 12A2 60 PUSH1 0x01 12A4 60 PUSH1 0xa0 12A6 1B SHL 12A7 03 SUB 12A8 16 AND 12A9 61 PUSH2 0x12b0 12AC 61 PUSH2 0x1c6e 12AF 56 *JUMP 12B0 5B JUMPDEST 12B1 60 PUSH1 0x01 12B3 60 PUSH1 0x01 12B5 60 PUSH1 0xa0 12B7 1B SHL 12B8 03 SUB 12B9 16 AND 12BA 14 EQ 12BB 5B JUMPDEST 12BC 61 PUSH2 0x12c4 12BF 57 *JUMPI 12C0 60 PUSH1 0x00 12C2 80 DUP1 12C3 FD *REVERT 12C4 5B JUMPDEST 12C5 61 PUSH2 0x12ce 12C8 82 DUP3 12C9 82 DUP3 12CA 61 PUSH2 0x4aef 12CD 56 *JUMP label_12CE: // Incoming return from call to 0x36DE at 0x4DEC // Inputs[1] { @12D1 stack[-3] } 12CE 5B JUMPDEST 12CF 50 POP 12D0 50 POP 12D1 56 *JUMP // Stack delta = -3 // Block ends with unconditional jump to stack[-3] label_12D2: // Incoming jump from 0x024B // Inputs[2] // { // @12D5 storage[0x01] // @12DF msg.sender // } 12D2 5B JUMPDEST 12D3 60 PUSH1 0x01 12D5 54 SLOAD 12D6 60 PUSH1 0x01 12D8 60 PUSH1 0x01 12DA 60 PUSH1 0xa0 12DC 1B SHL 12DD 03 SUB 12DE 16 AND 12DF 33 CALLER 12E0 14 EQ 12E1 61 PUSH2 0x131f 12E4 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x131f, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_12E5: // Incoming jump from 0x12E4, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @12E8 memory[0x40:0x60] // @1303 memory[0x00:0x20] // @130C memory[0x00:0x20] // @1315 memory[0x40:0x60] // @131E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 12E5 60 PUSH1 0x40 12E7 80 DUP1 12E8 51 MLOAD 12E9 62 PUSH3 0x461bcd 12ED 60 PUSH1 0xe5 12EF 1B SHL 12F0 81 DUP2 12F1 52 MSTORE 12F2 60 PUSH1 0x20 12F4 60 PUSH1 0x04 12F6 82 DUP3 12F7 01 ADD 12F8 52 MSTORE 12F9 60 PUSH1 0x1b 12FB 60 PUSH1 0x24 12FD 82 DUP3 12FE 01 ADD 12FF 52 MSTORE 1300 60 PUSH1 0x00 1302 80 DUP1 1303 51 MLOAD 1304 60 PUSH1 0x20 1306 61 PUSH2 0x5e8e 1309 83 DUP4 130A 39 CODECOPY 130B 81 DUP2 130C 51 MLOAD 130D 91 SWAP2 130E 52 MSTORE 130F 60 PUSH1 0x44 1311 82 DUP3 1312 01 ADD 1313 52 MSTORE 1314 90 SWAP1 1315 51 MLOAD 1316 90 SWAP1 1317 81 DUP2 1318 90 SWAP1 1319 03 SUB 131A 60 PUSH1 0x64 131C 01 ADD 131D 90 SWAP1 131E FD *REVERT // Stack delta = +0 // Outputs[7] // { // @12F1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @12F8 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @12FF memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @130A memory[0x00:0x20] = code[0x5e8e:0x5eae] // @130E memory[0x00:0x20] = memory[0x00:0x20] // @1313 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @131E revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_131F: // Incoming jump from 0x12E4, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[1] { @1322 storage[0x01] } 131F 5B JUMPDEST 1320 60 PUSH1 0x01 1322 54 SLOAD 1323 60 PUSH1 0x01 1325 60 PUSH1 0x01 1327 60 PUSH1 0xa0 1329 1B SHL 132A 03 SUB 132B 16 AND 132C FF *SELFDESTRUCT // Stack delta = +0 // Outputs[1] { @132C selfdestruct((0x01 << 0xa0) - 0x01 & storage[0x01]); } // Block terminates label_132D: // Incoming jump from 0x0271 // Inputs[5] // { // @1330 storage[0x02] // @1334 memory[0x40:0x60] // @1357 memory[0x40:0x60] // @136A memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1371 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 132D 5B JUMPDEST 132E 60 PUSH1 0x02 1330 54 SLOAD 1331 60 PUSH1 0x40 1333 80 DUP1 1334 51 MLOAD 1335 80 DUP1 1336 82 DUP3 1337 01 ADD 1338 82 DUP3 1339 52 MSTORE 133A 60 PUSH1 0x0c 133C 81 DUP2 133D 52 MSTORE 133E 6B PUSH12 0x546f6b656e46656174757265 134B 60 PUSH1 0xa0 134D 1B SHL 134E 60 PUSH1 0x20 1350 80 DUP1 1351 83 DUP4 1352 01 ADD 1353 91 SWAP2 1354 82 DUP3 1355 52 MSTORE 1356 92 SWAP3 1357 51 MLOAD 1358 63 PUSH4 0x0251382f 135D 60 PUSH1 0xe3 135F 1B SHL 1360 81 DUP2 1361 52 MSTORE 1362 60 PUSH1 0x04 1364 81 DUP2 1365 01 ADD 1366 93 SWAP4 1367 84 DUP5 1368 52 MSTORE 1369 82 DUP3 136A 51 MLOAD 136B 60 PUSH1 0x24 136D 82 DUP3 136E 01 ADD 136F 52 MSTORE 1370 82 DUP3 1371 51 MLOAD 1372 60 PUSH1 0x60 1374 95 SWAP6 1375 86 DUP7 1376 95 SWAP6 1377 60 PUSH1 0x01 1379 60 PUSH1 0x01 137B 60 PUSH1 0xa0 137D 1B SHL 137E 03 SUB 137F 90 SWAP1 1380 91 SWAP2 1381 16 AND 1382 94 SWAP5 1383 63 PUSH4 0x1289c178 1388 94 SWAP5 1389 90 SWAP1 138A 93 SWAP4 138B 91 SWAP2 138C 92 SWAP3 138D 83 DUP4 138E 92 SWAP3 138F 60 PUSH1 0x44 1391 01 ADD 1392 91 SWAP2 1393 90 SWAP1 1394 80 DUP1 1395 83 DUP4 1396 83 DUP4 1397 60 PUSH1 0x00 1399 5B JUMPDEST 139A 83 DUP4 139B 81 DUP2 139C 10 LT 139D 15 ISZERO 139E 61 PUSH2 0x13b1 13A1 57 *JUMPI // Stack delta = +14 // Outputs[20] // { // @1339 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @133D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @1355 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0 // @1361 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @1368 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @136F memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1374 stack[0] = 0x60 // @1376 stack[1] = 0x60 // @1382 stack[2] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @1388 stack[3] = 0x1289c178 // @138A stack[4] = memory[0x40:0x60] // @138C stack[5] = memory[0x40:0x60] + 0x04 // @138E stack[6] = memory[0x40:0x60] + 0x04 // @1392 stack[7] = 0x44 + memory[0x40:0x60] // @1393 stack[8] = memory[0x40:0x60] + 0x20 // @1393 stack[9] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1394 stack[10] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1395 stack[11] = 0x44 + memory[0x40:0x60] // @1396 stack[12] = memory[0x40:0x60] + 0x20 // @1397 stack[13] = 0x00 // } // Block ends with conditional jump to 0x13b1, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_13A2: // Incoming jump from 0x13A1, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x13A1, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @13A2 stack[-2] // @13A3 stack[-1] // @13A5 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @13A6 stack[-3] // } 13A2 81 DUP2 13A3 81 DUP2 13A4 01 ADD 13A5 51 MLOAD 13A6 83 DUP4 13A7 82 DUP3 13A8 01 ADD 13A9 52 MSTORE 13AA 60 PUSH1 0x20 13AC 01 ADD 13AD 61 PUSH2 0x1399 13B0 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @13A9 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @13AC stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x1399 label_13B1: // Incoming jump from 0x13A1, if !(stack[-1] < stack[-4]) // Incoming jump from 0x13A1, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @13B6 stack[-5] // @13B6 stack[-6] // @13B8 stack[-7] // } 13B1 5B JUMPDEST 13B2 50 POP 13B3 50 POP 13B4 50 POP 13B5 50 POP 13B6 90 SWAP1 13B7 50 POP 13B8 90 SWAP1 13B9 81 DUP2 13BA 01 ADD 13BB 90 SWAP1 13BC 60 PUSH1 0x1f 13BE 16 AND 13BF 80 DUP1 13C0 15 ISZERO 13C1 61 PUSH2 0x13de 13C4 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @13BB stack[-7] = stack[-5] + stack[-7] // @13BE stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x13de, if !(0x1f & stack[-5]) label_13C5: // Incoming jump from 0x13C4, if not !(0x1f & stack[-5]) // Inputs[7] // { // @13C5 stack[-1] // @13C6 stack[-2] // @13C9 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @13E0 stack[-5] // @13E8 memory[0x40:0x60] // @13ED stack[-7] // @13EF address(stack[-7]).code.length // } 13C5 80 DUP1 13C6 82 DUP3 13C7 03 SUB 13C8 80 DUP1 13C9 51 MLOAD 13CA 60 PUSH1 0x01 13CC 83 DUP4 13CD 60 PUSH1 0x20 13CF 03 SUB 13D0 61 PUSH2 0x0100 13D3 0A EXP 13D4 03 SUB 13D5 19 NOT 13D6 16 AND 13D7 81 DUP2 13D8 52 MSTORE 13D9 60 PUSH1 0x20 13DB 01 ADD 13DC 91 SWAP2 13DD 50 POP 13DE 5B JUMPDEST 13DF 50 POP 13E0 92 SWAP3 13E1 50 POP 13E2 50 POP 13E3 50 POP 13E4 60 PUSH1 0x20 13E6 60 PUSH1 0x40 13E8 51 MLOAD 13E9 80 DUP1 13EA 83 DUP4 13EB 03 SUB 13EC 81 DUP2 13ED 86 DUP7 13EE 80 DUP1 13EF 3B EXTCODESIZE 13F0 15 ISZERO 13F1 80 DUP1 13F2 15 ISZERO 13F3 61 PUSH2 0x13fb 13F6 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @13D8 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @13E0 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @13E4 stack[-4] = 0x20 // @13E8 stack[-3] = memory[0x40:0x60] // @13EB stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @13EC stack[-1] = memory[0x40:0x60] // @13ED stack[0] = stack[-7] // @13F0 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x13fb, if !!address(stack[-7]).code.length label_13F7: // Incoming jump from 0x13F6, if not !!address(stack[-7]).code.length // Incoming jump from 0x13F6, if not !!address(stack[-7]).code.length // Inputs[1] { @13FA memory[0x00:0x00] } 13F7 60 PUSH1 0x00 13F9 80 DUP1 13FA FD *REVERT // Stack delta = +0 // Outputs[1] { @13FA revert(memory[0x00:0x00]); } // Block terminates label_13FB: // Incoming jump from 0x13F6, if !!address(stack[-7]).code.length // Incoming jump from 0x13F6, if !!address(stack[-7]).code.length // Inputs[8] // { // @13FD msg.gas // @13FE stack[-5] // @13FE stack[-6] // @13FE memory[stack[-3]:stack[-3] + stack[-4]] // @13FE stack[-3] // @13FE stack[-4] // @13FE address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @13FE stack[-2] // } 13FB 5B JUMPDEST 13FC 50 POP 13FD 5A GAS 13FE FA STATICCALL 13FF 15 ISZERO 1400 80 DUP1 1401 15 ISZERO 1402 61 PUSH2 0x140f 1405 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @13FE memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @13FF stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x140f, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_1406: // Incoming jump from 0x1405, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @1406 returndata.length // @140A returndata[0x00:0x00 + returndata.length] // @140B returndata.length // @140E memory[0x00:0x00 + returndata.length] // } 1406 3D RETURNDATASIZE 1407 60 PUSH1 0x00 1409 80 DUP1 140A 3E RETURNDATACOPY 140B 3D RETURNDATASIZE 140C 60 PUSH1 0x00 140E FD *REVERT // Stack delta = +0 // Outputs[2] // { // @140A memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @140E revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_140F: // Incoming jump from 0x1405, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @1416 memory[0x40:0x60] // @1417 returndata.length // } 140F 5B JUMPDEST 1410 50 POP 1411 50 POP 1412 50 POP 1413 50 POP 1414 60 PUSH1 0x40 1416 51 MLOAD 1417 3D RETURNDATASIZE 1418 60 PUSH1 0x20 141A 81 DUP2 141B 10 LT 141C 15 ISZERO 141D 61 PUSH2 0x1425 1420 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @1416 stack[-4] = memory[0x40:0x60] // @1417 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x1425, if !(returndata.length < 0x20) label_1421: // Incoming jump from 0x1420, if not !(returndata.length < 0x20) // Inputs[1] { @1424 memory[0x00:0x00] } 1421 60 PUSH1 0x00 1423 80 DUP1 1424 FD *REVERT // Stack delta = +0 // Outputs[1] { @1424 revert(memory[0x00:0x00]); } // Block terminates label_1425: // Incoming jump from 0x1420, if !(returndata.length < 0x20) // Inputs[2] // { // @1427 stack[-2] // @1427 memory[stack[-2]:stack[-2] + 0x20] // } 1425 5B JUMPDEST 1426 50 POP 1427 51 MLOAD 1428 60 PUSH1 0x01 142A 60 PUSH1 0x01 142C 60 PUSH1 0xa0 142E 1B SHL 142F 03 SUB 1430 16 AND 1431 61 PUSH2 0x1438 1434 61 PUSH2 0x1c6e 1437 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @1430 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @1431 stack[-1] = 0x1438 // } // Block ends with unconditional jump to 0x1c6e 1438 5B JUMPDEST 1439 60 PUSH1 0x01 143B 60 PUSH1 0x01 143D 60 PUSH1 0xa0 143F 1B SHL 1440 03 SUB 1441 16 AND 1442 14 EQ 1443 80 DUP1 1444 61 PUSH2 0x15c2 1447 57 *JUMPI 1448 50 POP 1449 60 PUSH1 0x02 144B 54 SLOAD 144C 60 PUSH1 0x40 144E 80 DUP1 144F 51 MLOAD 1450 80 DUP1 1451 82 DUP3 1452 01 ADD 1453 82 DUP3 1454 52 MSTORE 1455 60 PUSH1 0x0c 1457 81 DUP2 1458 52 MSTORE 1459 6B PUSH12 0x4f776e657246656174757265 1466 60 PUSH1 0xa0 1468 1B SHL 1469 60 PUSH1 0x20 146B 80 DUP1 146C 83 DUP4 146D 01 ADD 146E 91 SWAP2 146F 82 DUP3 1470 52 MSTORE 1471 92 SWAP3 1472 51 MLOAD 1473 63 PUSH4 0x0251382f 1478 60 PUSH1 0xe3 147A 1B SHL 147B 81 DUP2 147C 52 MSTORE 147D 60 PUSH1 0x04 147F 81 DUP2 1480 01 ADD 1481 93 SWAP4 1482 84 DUP5 1483 52 MSTORE 1484 82 DUP3 1485 51 MLOAD 1486 60 PUSH1 0x24 1488 82 DUP3 1489 01 ADD 148A 52 MSTORE 148B 82 DUP3 148C 51 MLOAD 148D 60 PUSH1 0x01 148F 60 PUSH1 0x01 1491 60 PUSH1 0xa0 1493 1B SHL 1494 03 SUB 1495 90 SWAP1 1496 95 SWAP6 1497 16 AND 1498 94 SWAP5 1499 63 PUSH4 0x1289c178 149E 94 SWAP5 149F 92 SWAP3 14A0 83 DUP4 14A1 92 SWAP3 14A2 60 PUSH1 0x44 14A4 01 ADD 14A5 91 SWAP2 14A6 80 DUP1 14A7 83 DUP4 14A8 83 DUP4 14A9 60 PUSH1 0x00 14AB 5B JUMPDEST 14AC 83 DUP4 14AD 81 DUP2 14AE 10 LT 14AF 15 ISZERO 14B0 61 PUSH2 0x14c3 14B3 57 *JUMPI 14B4 81 DUP2 14B5 81 DUP2 14B6 01 ADD 14B7 51 MLOAD 14B8 83 DUP4 14B9 82 DUP3 14BA 01 ADD 14BB 52 MSTORE 14BC 60 PUSH1 0x20 14BE 01 ADD 14BF 61 PUSH2 0x14ab 14C2 56 *JUMP 14C3 5B JUMPDEST 14C4 50 POP 14C5 50 POP 14C6 50 POP 14C7 50 POP 14C8 90 SWAP1 14C9 50 POP 14CA 90 SWAP1 14CB 81 DUP2 14CC 01 ADD 14CD 90 SWAP1 14CE 60 PUSH1 0x1f 14D0 16 AND 14D1 80 DUP1 14D2 15 ISZERO 14D3 61 PUSH2 0x14f0 14D6 57 *JUMPI 14D7 80 DUP1 14D8 82 DUP3 14D9 03 SUB 14DA 80 DUP1 14DB 51 MLOAD 14DC 60 PUSH1 0x01 14DE 83 DUP4 14DF 60 PUSH1 0x20 14E1 03 SUB 14E2 61 PUSH2 0x0100 14E5 0A EXP 14E6 03 SUB 14E7 19 NOT 14E8 16 AND 14E9 81 DUP2 14EA 52 MSTORE 14EB 60 PUSH1 0x20 14ED 01 ADD 14EE 91 SWAP2 14EF 50 POP 14F0 5B JUMPDEST 14F1 50 POP 14F2 92 SWAP3 14F3 50 POP 14F4 50 POP 14F5 50 POP 14F6 60 PUSH1 0x20 14F8 60 PUSH1 0x40 14FA 51 MLOAD 14FB 80 DUP1 14FC 83 DUP4 14FD 03 SUB 14FE 81 DUP2 14FF 86 DUP7 1500 80 DUP1 1501 3B EXTCODESIZE 1502 15 ISZERO 1503 80 DUP1 1504 15 ISZERO 1505 61 PUSH2 0x150d 1508 57 *JUMPI 1509 60 PUSH1 0x00 150B 80 DUP1 150C FD *REVERT 150D 5B JUMPDEST 150E 50 POP 150F 5A GAS 1510 FA STATICCALL 1511 15 ISZERO 1512 80 DUP1 1513 15 ISZERO 1514 61 PUSH2 0x1521 1517 57 *JUMPI 1518 3D RETURNDATASIZE 1519 60 PUSH1 0x00 151B 80 DUP1 151C 3E RETURNDATACOPY 151D 3D RETURNDATASIZE 151E 60 PUSH1 0x00 1520 FD *REVERT 1521 5B JUMPDEST 1522 50 POP 1523 50 POP 1524 50 POP 1525 50 POP 1526 60 PUSH1 0x40 1528 51 MLOAD 1529 3D RETURNDATASIZE 152A 60 PUSH1 0x20 152C 81 DUP2 152D 10 LT 152E 15 ISZERO 152F 61 PUSH2 0x1537 1532 57 *JUMPI 1533 60 PUSH1 0x00 1535 80 DUP1 1536 FD *REVERT 1537 5B JUMPDEST 1538 50 POP 1539 51 MLOAD 153A 60 PUSH1 0x01 153C 60 PUSH1 0x01 153E 60 PUSH1 0xa0 1540 1B SHL 1541 03 SUB 1542 16 AND 1543 63 PUSH4 0xe5f93e97 1548 61 PUSH2 0x154f 154B 61 PUSH2 0x1c6e 154E 56 *JUMP 154F 5B JUMPDEST 1550 60 PUSH1 0x40 1552 51 MLOAD 1553 82 DUP3 1554 63 PUSH4 0xffffffff 1559 16 AND 155A 60 PUSH1 0xe0 155C 1B SHL 155D 81 DUP2 155E 52 MSTORE 155F 60 PUSH1 0x04 1561 01 ADD 1562 80 DUP1 1563 82 DUP3 1564 60 PUSH1 0x01 1566 60 PUSH1 0x01 1568 60 PUSH1 0xa0 156A 1B SHL 156B 03 SUB 156C 16 AND 156D 60 PUSH1 0x01 156F 60 PUSH1 0x01 1571 60 PUSH1 0xa0 1573 1B SHL 1574 03 SUB 1575 16 AND 1576 81 DUP2 1577 52 MSTORE 1578 60 PUSH1 0x20 157A 01 ADD 157B 91 SWAP2 157C 50 POP 157D 50 POP 157E 60 PUSH1 0x20 1580 60 PUSH1 0x40 1582 51 MLOAD 1583 80 DUP1 1584 83 DUP4 1585 03 SUB 1586 81 DUP2 1587 86 DUP7 1588 80 DUP1 1589 3B EXTCODESIZE 158A 15 ISZERO 158B 80 DUP1 158C 15 ISZERO 158D 61 PUSH2 0x1595 1590 57 *JUMPI 1591 60 PUSH1 0x00 1593 80 DUP1 1594 FD *REVERT 1595 5B JUMPDEST 1596 50 POP 1597 5A GAS 1598 FA STATICCALL 1599 15 ISZERO 159A 80 DUP1 159B 15 ISZERO 159C 61 PUSH2 0x15a9 159F 57 *JUMPI 15A0 3D RETURNDATASIZE 15A1 60 PUSH1 0x00 15A3 80 DUP1 15A4 3E RETURNDATACOPY 15A5 3D RETURNDATASIZE 15A6 60 PUSH1 0x00 15A8 FD *REVERT 15A9 5B JUMPDEST 15AA 50 POP 15AB 50 POP 15AC 50 POP 15AD 50 POP 15AE 60 PUSH1 0x40 15B0 51 MLOAD 15B1 3D RETURNDATASIZE 15B2 60 PUSH1 0x20 15B4 81 DUP2 15B5 10 LT 15B6 15 ISZERO 15B7 61 PUSH2 0x15bf 15BA 57 *JUMPI 15BB 60 PUSH1 0x00 15BD 80 DUP1 15BE FD *REVERT 15BF 5B JUMPDEST 15C0 50 POP 15C1 51 MLOAD 15C2 5B JUMPDEST 15C3 61 PUSH2 0x15cb 15C6 57 *JUMPI 15C7 60 PUSH1 0x00 15C9 80 DUP1 15CA FD *REVERT 15CB 5B JUMPDEST 15CC 60 PUSH1 0x00 15CE 61 PUSH2 0x16a0 15D1 60 PUSH1 0x40 15D3 51 MLOAD 15D4 80 DUP1 15D5 60 PUSH1 0x40 15D7 01 ADD 15D8 60 PUSH1 0x40 15DA 52 MSTORE 15DB 80 DUP1 15DC 60 PUSH1 0x0d 15DE 81 DUP2 15DF 52 MSTORE 15E0 60 PUSH1 0x20 15E2 01 ADD 15E3 6C PUSH13 0x4d656d62657246656174757265 15F1 60 PUSH1 0x98 15F3 1B SHL 15F4 81 DUP2 15F5 52 MSTORE 15F6 50 POP 15F7 60 PUSH1 0x40 15F9 51 MLOAD 15FA 60 PUSH1 0x20 15FC 01 ADD 15FD 80 DUP1 15FE 82 DUP3 15FF 80 DUP1 1600 51 MLOAD 1601 90 SWAP1 1602 60 PUSH1 0x20 1604 01 ADD 1605 90 SWAP1 1606 80 DUP1 1607 83 DUP4 1608 83 DUP4 1609 5B JUMPDEST 160A 60 PUSH1 0x20 160C 83 DUP4 160D 10 LT 160E 61 PUSH2 0x1628 1611 57 *JUMPI 1612 80 DUP1 1613 51 MLOAD 1614 82 DUP3 1615 52 MSTORE 1616 60 PUSH1 0x1f 1618 19 NOT 1619 90 SWAP1 161A 92 SWAP3 161B 01 ADD 161C 91 SWAP2 161D 60 PUSH1 0x20 161F 91 SWAP2 1620 82 DUP3 1621 01 ADD 1622 91 SWAP2 1623 01 ADD 1624 61 PUSH2 0x1609 1627 56 *JUMP 1628 5B JUMPDEST 1629 60 PUSH1 0x01 162B 83 DUP4 162C 60 PUSH1 0x20 162E 03 SUB 162F 61 PUSH2 0x0100 1632 0A EXP 1633 03 SUB 1634 80 DUP1 1635 19 NOT 1636 82 DUP3 1637 51 MLOAD 1638 16 AND 1639 81 DUP2 163A 84 DUP5 163B 51 MLOAD 163C 16 AND 163D 80 DUP1 163E 82 DUP3 163F 17 OR 1640 85 DUP6 1641 52 MSTORE 1642 50 POP 1643 50 POP 1644 50 POP 1645 50 POP 1646 50 POP 1647 50 POP 1648 90 SWAP1 1649 50 POP 164A 01 ADD 164B 91 SWAP2 164C 50 POP 164D 50 POP 164E 60 PUSH1 0x40 1650 51 MLOAD 1651 60 PUSH1 0x20 1653 81 DUP2 1654 83 DUP4 1655 03 SUB 1656 03 SUB 1657 81 DUP2 1658 52 MSTORE 1659 90 SWAP1 165A 60 PUSH1 0x40 165C 52 MSTORE 165D 80 DUP1 165E 51 MLOAD 165F 90 SWAP1 1660 60 PUSH1 0x20 1662 01 ADD 1663 20 SHA3 1664 60 PUSH1 0x40 1666 51 MLOAD 1667 60 PUSH1 0x20 1669 01 ADD 166A 80 DUP1 166B 82 DUP3 166C 81 DUP2 166D 52 MSTORE 166E 60 PUSH1 0x20 1670 01 ADD 1671 80 DUP1 1672 65 PUSH6 0x26b2b6b132b9 1679 60 PUSH1 0xd1 167B 1B SHL 167C 81 DUP2 167D 52 MSTORE 167E 50 POP 167F 60 PUSH1 0x06 1681 01 ADD 1682 91 SWAP2 1683 50 POP 1684 50 POP 1685 60 PUSH1 0x40 1687 51 MLOAD 1688 60 PUSH1 0x20 168A 81 DUP2 168B 83 DUP4 168C 03 SUB 168D 03 SUB 168E 81 DUP2 168F 52 MSTORE 1690 90 SWAP1 1691 60 PUSH1 0x40 1693 52 MSTORE 1694 80 DUP1 1695 51 MLOAD 1696 90 SWAP1 1697 60 PUSH1 0x20 1699 01 ADD 169A 20 SHA3 169B 85 DUP6 169C 61 PUSH2 0x4b71 169F 56 *JUMP 16A0 5B JUMPDEST 16A1 90 SWAP1 16A2 50 POP 16A3 61 PUSH2 0x16cf 16A6 81 DUP2 16A7 60 PUSH1 0x40 16A9 51 MLOAD 16AA 80 DUP1 16AB 60 PUSH1 0x40 16AD 01 ADD 16AE 60 PUSH1 0x40 16B0 52 MSTORE 16B1 80 DUP1 16B2 60 PUSH1 0x0b 16B4 81 DUP2 16B5 52 MSTORE 16B6 60 PUSH1 0x20 16B8 01 ADD 16B9 6A PUSH11 0x706963747572654e616d65 16C5 60 PUSH1 0xa8 16C7 1B SHL 16C8 81 DUP2 16C9 52 MSTORE 16CA 50 POP 16CB 61 PUSH2 0x4bb0 16CE 56 *JUMP 16CF 5B JUMPDEST 16D0 92 SWAP3 16D1 50 POP 16D2 61 PUSH2 0x16fe 16D5 81 DUP2 16D6 60 PUSH1 0x40 16D8 51 MLOAD 16D9 80 DUP1 16DA 60 PUSH1 0x40 16DC 01 ADD 16DD 60 PUSH1 0x40 16DF 52 MSTORE 16E0 80 DUP1 16E1 60 PUSH1 0x0b 16E3 81 DUP2 16E4 52 MSTORE 16E5 60 PUSH1 0x20 16E7 01 ADD 16E8 6A PUSH11 0x7069637475726544617461 16F4 60 PUSH1 0xa8 16F6 1B SHL 16F7 81 DUP2 16F8 52 MSTORE 16F9 50 POP 16FA 61 PUSH2 0x4bb0 16FD 56 *JUMP 16FE 5B JUMPDEST 16FF 91 SWAP2 1700 50 POP 1701 50 POP 1702 91 SWAP2 1703 50 POP 1704 91 SWAP2 1705 56 *JUMP label_1706: // Incoming call from 0x0357, returns to 0x0242 // Inputs[2] // { // @1709 storage[0x01] // @1713 msg.sender // } 1706 5B JUMPDEST 1707 60 PUSH1 0x01 1709 54 SLOAD 170A 60 PUSH1 0x01 170C 60 PUSH1 0x01 170E 60 PUSH1 0xa0 1710 1B SHL 1711 03 SUB 1712 16 AND 1713 33 CALLER 1714 14 EQ 1715 61 PUSH2 0x1753 1718 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x1753, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_1719: // Incoming jump from 0x1718, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @171C memory[0x40:0x60] // @1737 memory[0x00:0x20] // @1740 memory[0x00:0x20] // @1749 memory[0x40:0x60] // @1752 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 1719 60 PUSH1 0x40 171B 80 DUP1 171C 51 MLOAD 171D 62 PUSH3 0x461bcd 1721 60 PUSH1 0xe5 1723 1B SHL 1724 81 DUP2 1725 52 MSTORE 1726 60 PUSH1 0x20 1728 60 PUSH1 0x04 172A 82 DUP3 172B 01 ADD 172C 52 MSTORE 172D 60 PUSH1 0x1b 172F 60 PUSH1 0x24 1731 82 DUP3 1732 01 ADD 1733 52 MSTORE 1734 60 PUSH1 0x00 1736 80 DUP1 1737 51 MLOAD 1738 60 PUSH1 0x20 173A 61 PUSH2 0x5e8e 173D 83 DUP4 173E 39 CODECOPY 173F 81 DUP2 1740 51 MLOAD 1741 91 SWAP2 1742 52 MSTORE 1743 60 PUSH1 0x44 1745 82 DUP3 1746 01 ADD 1747 52 MSTORE 1748 90 SWAP1 1749 51 MLOAD 174A 90 SWAP1 174B 81 DUP2 174C 90 SWAP1 174D 03 SUB 174E 60 PUSH1 0x64 1750 01 ADD 1751 90 SWAP1 1752 FD *REVERT // Stack delta = +0 // Outputs[7] // { // @1725 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @172C memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @1733 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @173E memory[0x00:0x20] = code[0x5e8e:0x5eae] // @1742 memory[0x00:0x20] = memory[0x00:0x20] // @1747 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @1752 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_1753: // Incoming jump from 0x1718, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[7] // { // @1756 storage[0x02] // @175A storage[0x04] // @175E memory[0x40:0x60] // @1782 memory[0x40:0x60] // @179B memory[0x40:0x60] // @17B6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @17BD memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 1753 5B JUMPDEST 1754 60 PUSH1 0x02 1756 54 SLOAD 1757 60 PUSH1 0x04 1759 80 DUP1 175A 54 SLOAD 175B 60 PUSH1 0x40 175D 80 DUP1 175E 51 MLOAD 175F 80 DUP1 1760 82 DUP3 1761 01 ADD 1762 82 DUP3 1763 52 MSTORE 1764 60 PUSH1 0x0d 1766 81 DUP2 1767 52 MSTORE 1768 6C PUSH13 0x4d656d62657246656174757265 1776 60 PUSH1 0x98 1778 1B SHL 1779 60 PUSH1 0x20 177B 80 DUP1 177C 83 DUP4 177D 01 ADD 177E 91 SWAP2 177F 82 DUP3 1780 52 MSTORE 1781 83 DUP4 1782 51 MLOAD 1783 80 DUP1 1784 85 DUP6 1785 01 ADD 1786 85 DUP6 1787 52 MSTORE 1788 60 PUSH1 0x03 178A 81 DUP2 178B 52 MSTORE 178C 62 PUSH3 0x19171b 1790 60 PUSH1 0xe9 1792 1B SHL 1793 91 SWAP2 1794 81 DUP2 1795 01 ADD 1796 91 SWAP2 1797 90 SWAP1 1798 91 SWAP2 1799 52 MSTORE 179A 92 SWAP3 179B 51 MLOAD 179C 63 PUSH4 0x163f5abb 17A1 60 PUSH1 0xe2 17A3 1B SHL 17A4 81 DUP2 17A5 52 MSTORE 17A6 94 SWAP5 17A7 85 DUP6 17A8 01 ADD 17A9 84 DUP5 17AA 81 DUP2 17AB 52 MSTORE 17AC 60 PUSH1 0x60 17AE 60 PUSH1 0x24 17B0 87 DUP8 17B1 01 ADD 17B2 90 SWAP1 17B3 81 DUP2 17B4 52 MSTORE 17B5 83 DUP4 17B6 51 MLOAD 17B7 60 PUSH1 0x64 17B9 88 DUP9 17BA 01 ADD 17BB 52 MSTORE 17BC 83 DUP4 17BD 51 MLOAD 17BE 60 PUSH1 0x01 17C0 60 PUSH1 0x01 17C2 60 PUSH1 0xa0 17C4 1B SHL 17C5 03 SUB 17C6 90 SWAP1 17C7 98 SWAP9 17C8 16 AND 17C9 97 SWAP8 17CA 63 PUSH4 0x58fd6aec 17CF 97 SWAP8 17D0 94 SWAP5 17D1 95 SWAP6 17D2 94 SWAP5 17D3 92 SWAP3 17D4 93 SWAP4 17D5 91 SWAP2 17D6 92 SWAP3 17D7 60 PUSH1 0x44 17D9 81 DUP2 17DA 01 ADD 17DB 92 SWAP3 17DC 60 PUSH1 0x84 17DE 90 SWAP1 17DF 91 SWAP2 17E0 01 ADD 17E1 91 SWAP2 17E2 80 DUP1 17E3 83 DUP4 17E4 83 DUP4 17E5 60 PUSH1 0x00 17E7 5B JUMPDEST 17E8 83 DUP4 17E9 81 DUP2 17EA 10 LT 17EB 15 ISZERO 17EC 61 PUSH2 0x17ff 17EF 57 *JUMPI // Stack delta = +15 // Outputs[25] // { // @175A stack[2] = storage[0x04] // @1763 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @1767 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0d // @1780 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4d656d62657246656174757265 << 0x98 // @1787 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @178B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x03 // @1799 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x19171b << 0xe9 // @17A5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x163f5abb << 0xe2 // @17AB memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = storage[0x04] // @17B4 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x60 // @17BB memory[memory[0x40:0x60] + 0x64:memory[0x40:0x60] + 0x64 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @17C9 stack[0] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @17CF stack[1] = 0x58fd6aec // @17D1 stack[3] = memory[0x40:0x60] // @17D2 stack[4] = memory[0x40:0x60] // @17D4 stack[5] = memory[0x40:0x60] + 0x04 // @17D6 stack[6] = memory[0x40:0x60] + 0x24 // @17DB stack[7] = memory[0x40:0x60] + 0x44 // @17DF stack[9] = memory[0x40:0x60] + 0x20 // @17E1 stack[10] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @17E1 stack[8] = memory[0x40:0x60] + 0x84 // @17E2 stack[11] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @17E3 stack[12] = memory[0x40:0x60] + 0x84 // @17E4 stack[13] = memory[0x40:0x60] + 0x20 // @17E5 stack[14] = 0x00 // } // Block ends with conditional jump to 0x17ff, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_17F0: // Incoming jump from 0x17EF, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x17EF, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @17F0 stack[-2] // @17F1 stack[-1] // @17F3 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @17F4 stack[-3] // } 17F0 81 DUP2 17F1 81 DUP2 17F2 01 ADD 17F3 51 MLOAD 17F4 83 DUP4 17F5 82 DUP3 17F6 01 ADD 17F7 52 MSTORE 17F8 60 PUSH1 0x20 17FA 01 ADD 17FB 61 PUSH2 0x17e7 17FE 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @17F7 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @17FA stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x17e7 label_17FF: // Incoming jump from 0x17EF, if !(stack[-1] < stack[-4]) // Incoming jump from 0x17EF, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @1804 stack[-5] // @1804 stack[-6] // @1806 stack[-7] // } 17FF 5B JUMPDEST 1800 50 POP 1801 50 POP 1802 50 POP 1803 50 POP 1804 90 SWAP1 1805 50 POP 1806 90 SWAP1 1807 81 DUP2 1808 01 ADD 1809 90 SWAP1 180A 60 PUSH1 0x1f 180C 16 AND 180D 80 DUP1 180E 15 ISZERO 180F 61 PUSH2 0x182c 1812 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @1809 stack[-7] = stack[-5] + stack[-7] // @180C stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x182c, if !(0x1f & stack[-5]) label_1813: // Incoming jump from 0x1812, if not !(0x1f & stack[-5]) // Inputs[8] // { // @1813 stack[-1] // @1814 stack[-2] // @1817 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @182E stack[-5] // @1831 stack[-3] // @1833 stack[-6] // @1834 memory[stack[-6]:stack[-6] + 0x20] // @1838 memory[stack[-6]:stack[-6] + 0x20] // } 1813 80 DUP1 1814 82 DUP3 1815 03 SUB 1816 80 DUP1 1817 51 MLOAD 1818 60 PUSH1 0x01 181A 83 DUP4 181B 60 PUSH1 0x20 181D 03 SUB 181E 61 PUSH2 0x0100 1821 0A EXP 1822 03 SUB 1823 19 NOT 1824 16 AND 1825 81 DUP2 1826 52 MSTORE 1827 60 PUSH1 0x20 1829 01 ADD 182A 91 SWAP2 182B 50 POP 182C 5B JUMPDEST 182D 50 POP 182E 83 DUP4 182F 81 DUP2 1830 03 SUB 1831 82 DUP3 1832 52 MSTORE 1833 84 DUP5 1834 51 MLOAD 1835 81 DUP2 1836 52 MSTORE 1837 84 DUP5 1838 51 MLOAD 1839 60 PUSH1 0x20 183B 91 SWAP2 183C 82 DUP3 183D 01 ADD 183E 91 SWAP2 183F 86 DUP7 1840 01 ADD 1841 90 SWAP1 1842 80 DUP1 1843 83 DUP4 1844 83 DUP4 1845 60 PUSH1 0x00 1847 5B JUMPDEST 1848 83 DUP4 1849 81 DUP2 184A 10 LT 184B 15 ISZERO 184C 61 PUSH2 0x185f 184F 57 *JUMPI // Stack delta = +5 // Outputs[10] // { // @1826 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @1832 memory[stack[-3]:stack[-3] + 0x20] = (0x20 + (stack[-2] - stack[-1])) - stack[-5] // @1836 memory[0x20 + (stack[-2] - stack[-1]):0x20 + (stack[-2] - stack[-1]) + 0x20] = memory[stack[-6]:stack[-6] + 0x20] // @183E stack[-2] = 0x20 + 0x20 + (stack[-2] - stack[-1]) // @1841 stack[-1] = stack[-6] + 0x20 // @1841 stack[0] = memory[stack[-6]:stack[-6] + 0x20] // @1842 stack[1] = memory[stack[-6]:stack[-6] + 0x20] // @1843 stack[2] = 0x20 + 0x20 + (stack[-2] - stack[-1]) // @1844 stack[3] = stack[-6] + 0x20 // @1845 stack[4] = 0x00 // } // Block ends with conditional jump to 0x185f, if !(0x00 < memory[stack[-6]:stack[-6] + 0x20]) label_1850: // Incoming jump from 0x184F, if not !(0x00 < memory[stack[-6]:stack[-6] + 0x20]) // Incoming jump from 0x184F, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x184F, if not !(0x00 < memory[stack[-6]:stack[-6] + 0x20]) // Inputs[4] // { // @1850 stack[-2] // @1851 stack[-1] // @1853 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @1854 stack[-3] // } 1850 81 DUP2 1851 81 DUP2 1852 01 ADD 1853 51 MLOAD 1854 83 DUP4 1855 82 DUP3 1856 01 ADD 1857 52 MSTORE 1858 60 PUSH1 0x20 185A 01 ADD 185B 61 PUSH2 0x1847 185E 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @1857 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @185A stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x1847 label_185F: // Incoming jump from 0x184F, if !(0x00 < memory[stack[-6]:stack[-6] + 0x20]) // Incoming jump from 0x184F, if !(stack[-1] < stack[-4]) // Incoming jump from 0x184F, if !(0x00 < memory[stack[-6]:stack[-6] + 0x20]) // Inputs[3] // { // @1864 stack[-5] // @1864 stack[-6] // @1866 stack[-7] // } 185F 5B JUMPDEST 1860 50 POP 1861 50 POP 1862 50 POP 1863 50 POP 1864 90 SWAP1 1865 50 POP 1866 90 SWAP1 1867 81 DUP2 1868 01 ADD 1869 90 SWAP1 186A 60 PUSH1 0x1f 186C 16 AND 186D 80 DUP1 186E 15 ISZERO 186F 61 PUSH2 0x188c 1872 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @1869 stack[-7] = stack[-5] + stack[-7] // @186C stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x188c, if !(0x1f & stack[-5]) label_1873: // Incoming jump from 0x1872, if not !(0x1f & stack[-5]) // Inputs[7] // { // @1873 stack[-1] // @1874 stack[-2] // @1877 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @188E stack[-8] // @1899 memory[0x40:0x60] // @18A0 stack[-10] // @18A2 address(stack[-10]).code.length // } 1873 80 DUP1 1874 82 DUP3 1875 03 SUB 1876 80 DUP1 1877 51 MLOAD 1878 60 PUSH1 0x01 187A 83 DUP4 187B 60 PUSH1 0x20 187D 03 SUB 187E 61 PUSH2 0x0100 1881 0A EXP 1882 03 SUB 1883 19 NOT 1884 16 AND 1885 81 DUP2 1886 52 MSTORE 1887 60 PUSH1 0x20 1889 01 ADD 188A 91 SWAP2 188B 50 POP 188C 5B JUMPDEST 188D 50 POP 188E 95 SWAP6 188F 50 POP 1890 50 POP 1891 50 POP 1892 50 POP 1893 50 POP 1894 50 POP 1895 60 PUSH1 0x00 1897 60 PUSH1 0x40 1899 51 MLOAD 189A 80 DUP1 189B 83 DUP4 189C 03 SUB 189D 81 DUP2 189E 60 PUSH1 0x00 18A0 87 DUP8 18A1 80 DUP1 18A2 3B EXTCODESIZE 18A3 15 ISZERO 18A4 80 DUP1 18A5 15 ISZERO 18A6 61 PUSH2 0x18ae 18A9 57 *JUMPI // Stack delta = +0 // Outputs[9] // { // @1886 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @188E stack[-8] = 0x20 + (stack[-2] - stack[-1]) // @1895 stack[-7] = 0x00 // @1899 stack[-6] = memory[0x40:0x60] // @189C stack[-5] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @189D stack[-4] = memory[0x40:0x60] // @189E stack[-3] = 0x00 // @18A0 stack[-2] = stack[-10] // @18A3 stack[-1] = !address(stack[-10]).code.length // } // Block ends with conditional jump to 0x18ae, if !!address(stack[-10]).code.length label_18AA: // Incoming jump from 0x18A9, if not !!address(stack[-10]).code.length // Incoming jump from 0x18A9, if not !!address(stack[-10]).code.length // Inputs[1] { @18AD memory[0x00:0x00] } 18AA 60 PUSH1 0x00 18AC 80 DUP1 18AD FD *REVERT // Stack delta = +0 // Outputs[1] { @18AD revert(memory[0x00:0x00]); } // Block terminates label_18AE: // Incoming jump from 0x18A9, if !!address(stack[-10]).code.length // Incoming jump from 0x18A9, if !!address(stack[-10]).code.length // Inputs[9] // { // @18B0 msg.gas // @18B1 address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @18B1 stack[-5] // @18B1 stack[-3] // @18B1 stack[-2] // @18B1 stack[-6] // @18B1 memory[stack[-4]:stack[-4] + stack[-5]] // @18B1 stack[-7] // @18B1 stack[-4] // } 18AE 5B JUMPDEST 18AF 50 POP 18B0 5A GAS 18B1 F1 CALL 18B2 15 ISZERO 18B3 80 DUP1 18B4 15 ISZERO 18B5 61 PUSH2 0x18c2 18B8 57 *JUMPI // Stack delta = -6 // Outputs[2] // { // @18B1 memory[stack[-6]:stack[-6] + stack[-7]] = address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // @18B2 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 0x18c2, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) label_18B9: // Incoming jump from 0x18B8, if not !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[4] // { // @18B9 returndata.length // @18BD returndata[0x00:0x00 + returndata.length] // @18BE returndata.length // @18C1 memory[0x00:0x00 + returndata.length] // } 18B9 3D RETURNDATASIZE 18BA 60 PUSH1 0x00 18BC 80 DUP1 18BD 3E RETURNDATACOPY 18BE 3D RETURNDATASIZE 18BF 60 PUSH1 0x00 18C1 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @18BD memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @18C1 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_18C2: // Incoming jump from 0x18B8, if !!address(stack[-2]).call.gas(msg.gas).value(stack[-3])(memory[stack[-4]:stack[-4] + stack[-5]]) // Inputs[1] { @18C7 stack[-5] } 18C2 5B JUMPDEST 18C3 50 POP 18C4 50 POP 18C5 50 POP 18C6 50 POP 18C7 56 *JUMP // Stack delta = -5 // Block ends with unconditional jump to stack[-5] label_18C8: // Incoming jump from 0x040B // Incoming call from 0x1CB0, returns to 0x1CB1 // Inputs[1] { @18CB stack[-2] } 18C8 5B JUMPDEST 18C9 60 PUSH1 0x00 18CB 82 DUP3 18CC 61 PUSH2 0x18d3 18CF 61 PUSH2 0x2246 18D2 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @18C9 stack[0] = 0x00 // @18CB stack[1] = stack[-2] // @18CC stack[2] = 0x18d3 // } // Block ends with call to 0x2246, returns to 0x18D3 label_18D3: // Incoming return from call to 0x2246 at 0x18D2 // Inputs[2] // { // @18DC stack[-1] // @18DD stack[-5] // } 18D3 5B JUMPDEST 18D4 60 PUSH1 0x01 18D6 60 PUSH1 0x01 18D8 60 PUSH1 0xa0 18DA 1B SHL 18DB 03 SUB 18DC 16 AND 18DD 84 DUP5 18DE 60 PUSH1 0x01 18E0 60 PUSH1 0x01 18E2 60 PUSH1 0xa0 18E4 1B SHL 18E5 03 SUB 18E6 16 AND 18E7 14 EQ 18E8 15 ISZERO 18E9 61 PUSH2 0x18fd 18EC 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x18fd, if !((0x01 << 0xa0) - 0x01 & stack[-5] == (0x01 << 0xa0) - 0x01 & stack[-1]) label_18ED: // Incoming jump from 0x18EC, if not !((0x01 << 0xa0) - 0x01 & stack[-5] == (0x01 << 0xa0) - 0x01 & stack[-1]) // Inputs[2] // { // @18F0 stack[-3] // @18F4 memory[stack[-3]:stack[-3] + 0x20] // } 18ED 61 PUSH2 0x18fa 18F0 83 DUP4 18F1 60 PUSH1 0x14 18F3 85 DUP6 18F4 51 MLOAD 18F5 03 SUB 18F6 61 PUSH2 0x4d73 18F9 56 *JUMP // Stack delta = +3 // Outputs[3] // { // @18ED stack[0] = 0x18fa // @18F0 stack[1] = stack[-3] // @18F5 stack[2] = memory[stack[-3]:stack[-3] + 0x20] - 0x14 // } // Block ends with call to 0x4d73, returns to 0x18FA label_18FA: // Incoming return from call to 0x4D73 at 0x18F9 // Inputs[2] // { // @18FB stack[-2] // @18FB stack[-1] // } 18FA 5B JUMPDEST 18FB 90 SWAP1 18FC 50 POP // Stack delta = -1 // Outputs[1] { @18FB stack[-2] = stack[-1] } // Block continues label_18FD: // Incoming jump from 0x18FC // Incoming jump from 0x18EC, if !((0x01 << 0xa0) - 0x01 & stack[-5] == (0x01 << 0xa0) - 0x01 & stack[-1]) // Inputs[2] // { // @18FE stack[-2] // @18FE stack[-1] // } 18FD 5B JUMPDEST 18FE 90 SWAP1 18FF 50 POP // Stack delta = -1 // Outputs[1] { @18FE stack[-2] = stack[-1] } // Block continues label_1900: // Incoming jump from 0x2D4A // Incoming jump from 0x22A1, if (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] // Incoming jump from 0x18FF // Inputs[3] // { // @1901 stack[-1] // @1901 stack[-4] // @1902 stack[-3] // } 1900 5B JUMPDEST 1901 92 SWAP3 1902 91 SWAP2 1903 50 POP 1904 50 POP 1905 56 *JUMP // Stack delta = -3 // Outputs[1] { @1901 stack[-4] = stack[-1] } // Block ends with unconditional jump to stack[-4] label_1906: // Incoming jump from 0x044D // Inputs[2] // { // @1909 storage[0x01] // @1913 msg.sender // } 1906 5B JUMPDEST 1907 60 PUSH1 0x01 1909 54 SLOAD 190A 60 PUSH1 0x01 190C 60 PUSH1 0x01 190E 60 PUSH1 0xa0 1910 1B SHL 1911 03 SUB 1912 16 AND 1913 33 CALLER 1914 14 EQ 1915 61 PUSH2 0x1953 1918 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x1953, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_1919: // Incoming jump from 0x1918, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @191C memory[0x40:0x60] // @1937 memory[0x00:0x20] // @1940 memory[0x00:0x20] // @1949 memory[0x40:0x60] // @1952 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 1919 60 PUSH1 0x40 191B 80 DUP1 191C 51 MLOAD 191D 62 PUSH3 0x461bcd 1921 60 PUSH1 0xe5 1923 1B SHL 1924 81 DUP2 1925 52 MSTORE 1926 60 PUSH1 0x20 1928 60 PUSH1 0x04 192A 82 DUP3 192B 01 ADD 192C 52 MSTORE 192D 60 PUSH1 0x1b 192F 60 PUSH1 0x24 1931 82 DUP3 1932 01 ADD 1933 52 MSTORE 1934 60 PUSH1 0x00 1936 80 DUP1 1937 51 MLOAD 1938 60 PUSH1 0x20 193A 61 PUSH2 0x5e8e 193D 83 DUP4 193E 39 CODECOPY 193F 81 DUP2 1940 51 MLOAD 1941 91 SWAP2 1942 52 MSTORE 1943 60 PUSH1 0x44 1945 82 DUP3 1946 01 ADD 1947 52 MSTORE 1948 90 SWAP1 1949 51 MLOAD 194A 90 SWAP1 194B 81 DUP2 194C 90 SWAP1 194D 03 SUB 194E 60 PUSH1 0x64 1950 01 ADD 1951 90 SWAP1 1952 FD *REVERT // Stack delta = +0 // Outputs[7] // { // @1925 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @192C memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @1933 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @193E memory[0x00:0x20] = code[0x5e8e:0x5eae] // @1942 memory[0x00:0x20] = memory[0x00:0x20] // @1947 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @1952 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_1953: // Incoming jump from 0x1918, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[1] { @195C stack[-1] } 1953 5B JUMPDEST 1954 60 PUSH1 0x01 1956 60 PUSH1 0x01 1958 60 PUSH1 0xa0 195A 1B SHL 195B 03 SUB 195C 81 DUP2 195D 16 AND 195E 61 PUSH2 0x19ae 1961 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x19ae, if stack[-1] & (0x01 << 0xa0) - 0x01 label_1962: // Incoming jump from 0x1961, if not stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[3] // { // @1965 memory[0x40:0x60] // @19A4 memory[0x40:0x60] // @19AD memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 1962 60 PUSH1 0x40 1964 80 DUP1 1965 51 MLOAD 1966 62 PUSH3 0x461bcd 196A 60 PUSH1 0xe5 196C 1B SHL 196D 81 DUP2 196E 52 MSTORE 196F 60 PUSH1 0x20 1971 60 PUSH1 0x04 1973 82 DUP3 1974 01 ADD 1975 52 MSTORE 1976 60 PUSH1 0x18 1978 60 PUSH1 0x24 197A 82 DUP3 197B 01 ADD 197C 52 MSTORE 197D 7F PUSH32 0x5a65726f2061646472657373206e6f7420616c6c6f7765640000000000000000 199E 60 PUSH1 0x44 19A0 82 DUP3 19A1 01 ADD 19A2 52 MSTORE 19A3 90 SWAP1 19A4 51 MLOAD 19A5 90 SWAP1 19A6 81 DUP2 19A7 90 SWAP1 19A8 03 SUB 19A9 60 PUSH1 0x64 19AB 01 ADD 19AC 90 SWAP1 19AD FD *REVERT // Stack delta = +0 // Outputs[5] // { // @196E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @1975 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @197C memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x18 // @19A2 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x5a65726f2061646472657373206e6f7420616c6c6f7765640000000000000000 // @19AD revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_19AE: // Incoming jump from 0x1961, if stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[1] { @19B2 stack[-1] } 19AE 5B JUMPDEST 19AF 61 PUSH2 0x19b7 19B2 81 DUP2 19B3 61 PUSH2 0x4dca 19B6 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @19AF stack[0] = 0x19b7 // @19B2 stack[1] = stack[-1] // } // Block ends with call to 0x4dca, returns to 0x19B7 label_19B7: // Incoming return from call to 0x4DCA at 0x19B6 // Inputs[1] { @19B9 stack[-2] } 19B7 5B JUMPDEST 19B8 50 POP 19B9 56 *JUMP // Stack delta = -2 // Block ends with unconditional jump to stack[-2] label_19BA: // Incoming jump from 0x0455 // Inputs[5] // { // @19BD storage[0x02] // @19C1 memory[0x40:0x60] // @19E4 memory[0x40:0x60] // @19F7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @19FE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 19BA 5B JUMPDEST 19BB 60 PUSH1 0x02 19BD 54 SLOAD 19BE 60 PUSH1 0x40 19C0 80 DUP1 19C1 51 MLOAD 19C2 80 DUP1 19C3 82 DUP3 19C4 01 ADD 19C5 82 DUP3 19C6 52 MSTORE 19C7 60 PUSH1 0x0c 19C9 81 DUP2 19CA 52 MSTORE 19CB 6B PUSH12 0x546f6b656e46656174757265 19D8 60 PUSH1 0xa0 19DA 1B SHL 19DB 60 PUSH1 0x20 19DD 80 DUP1 19DE 83 DUP4 19DF 01 ADD 19E0 91 SWAP2 19E1 82 DUP3 19E2 52 MSTORE 19E3 92 SWAP3 19E4 51 MLOAD 19E5 63 PUSH4 0x0251382f 19EA 60 PUSH1 0xe3 19EC 1B SHL 19ED 81 DUP2 19EE 52 MSTORE 19EF 60 PUSH1 0x04 19F1 81 DUP2 19F2 01 ADD 19F3 93 SWAP4 19F4 84 DUP5 19F5 52 MSTORE 19F6 82 DUP3 19F7 51 MLOAD 19F8 60 PUSH1 0x24 19FA 82 DUP3 19FB 01 ADD 19FC 52 MSTORE 19FD 82 DUP3 19FE 51 MLOAD 19FF 60 PUSH1 0x00 1A01 95 SWAP6 1A02 60 PUSH1 0x01 1A04 60 PUSH1 0x01 1A06 60 PUSH1 0xa0 1A08 1B SHL 1A09 03 SUB 1A0A 16 AND 1A0B 94 SWAP5 1A0C 63 PUSH4 0x1289c178 1A11 94 SWAP5 1A12 93 SWAP4 1A13 90 SWAP1 1A14 92 SWAP3 1A15 83 DUP4 1A16 92 SWAP3 1A17 60 PUSH1 0x44 1A19 90 SWAP1 1A1A 91 SWAP2 1A1B 01 ADD 1A1C 91 SWAP2 1A1D 90 SWAP1 1A1E 80 DUP1 1A1F 83 DUP4 1A20 83 DUP4 1A21 8B DUP12 1A22 5B JUMPDEST 1A23 83 DUP4 1A24 81 DUP2 1A25 10 LT 1A26 15 ISZERO 1A27 61 PUSH2 0x1a3a 1A2A 57 *JUMPI // Stack delta = +13 // Outputs[19] // { // @19C6 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @19CA memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @19E2 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0 // @19EE memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @19F5 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @19FC memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1A01 stack[0] = 0x00 // @1A0B stack[1] = (0x01 << 0xa0) - 0x01 & storage[0x02] // @1A11 stack[2] = 0x1289c178 // @1A12 stack[3] = memory[0x40:0x60] // @1A14 stack[4] = memory[0x40:0x60] + 0x04 // @1A16 stack[5] = memory[0x40:0x60] + 0x04 // @1A1C stack[6] = memory[0x40:0x60] + 0x44 // @1A1D stack[7] = memory[0x40:0x60] + 0x20 // @1A1D stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1A1E stack[9] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @1A1F stack[10] = memory[0x40:0x60] + 0x44 // @1A20 stack[11] = memory[0x40:0x60] + 0x20 // @1A21 stack[12] = 0x00 // } // Block ends with conditional jump to 0x1a3a, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_1A2B: // Incoming jump from 0x1A2A, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x1A2A, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @1A2B stack[-2] // @1A2C stack[-1] // @1A2E memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @1A2F stack[-3] // } 1A2B 81 DUP2 1A2C 81 DUP2 1A2D 01 ADD 1A2E 51 MLOAD 1A2F 83 DUP4 1A30 82 DUP3 1A31 01 ADD 1A32 52 MSTORE 1A33 60 PUSH1 0x20 1A35 01 ADD 1A36 61 PUSH2 0x1a22 1A39 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @1A32 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @1A35 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x1a22 label_1A3A: // Incoming jump from 0x1A2A, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x1A2A, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @1A3F stack[-5] // @1A3F stack[-6] // @1A41 stack[-7] // } 1A3A 5B JUMPDEST 1A3B 50 POP 1A3C 50 POP 1A3D 50 POP 1A3E 50 POP 1A3F 90 SWAP1 1A40 50 POP 1A41 90 SWAP1 1A42 81 DUP2 1A43 01 ADD 1A44 90 SWAP1 1A45 60 PUSH1 0x1f 1A47 16 AND 1A48 80 DUP1 1A49 15 ISZERO 1A4A 61 PUSH2 0x1a67 1A4D 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @1A44 stack[-7] = stack[-5] + stack[-7] // @1A47 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x1a67, if !(0x1f & stack[-5]) label_1A4E: // Incoming jump from 0x1A4D, if not !(0x1f & stack[-5]) // Inputs[7] // { // @1A4E stack[-1] // @1A4F stack[-2] // @1A52 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @1A69 stack[-5] // @1A71 memory[0x40:0x60] // @1A76 stack[-7] // @1A78 address(stack[-7]).code.length // } 1A4E 80 DUP1 1A4F 82 DUP3 1A50 03 SUB 1A51 80 DUP1 1A52 51 MLOAD 1A53 60 PUSH1 0x01 1A55 83 DUP4 1A56 60 PUSH1 0x20 1A58 03 SUB 1A59 61 PUSH2 0x0100 1A5C 0A EXP 1A5D 03 SUB 1A5E 19 NOT 1A5F 16 AND 1A60 81 DUP2 1A61 52 MSTORE 1A62 60 PUSH1 0x20 1A64 01 ADD 1A65 91 SWAP2 1A66 50 POP 1A67 5B JUMPDEST 1A68 50 POP 1A69 92 SWAP3 1A6A 50 POP 1A6B 50 POP 1A6C 50 POP 1A6D 60 PUSH1 0x20 1A6F 60 PUSH1 0x40 1A71 51 MLOAD 1A72 80 DUP1 1A73 83 DUP4 1A74 03 SUB 1A75 81 DUP2 1A76 86 DUP7 1A77 80 DUP1 1A78 3B EXTCODESIZE 1A79 15 ISZERO 1A7A 80 DUP1 1A7B 15 ISZERO 1A7C 61 PUSH2 0x1a84 1A7F 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @1A61 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @1A69 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @1A6D stack[-4] = 0x20 // @1A71 stack[-3] = memory[0x40:0x60] // @1A74 stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @1A75 stack[-1] = memory[0x40:0x60] // @1A76 stack[0] = stack[-7] // @1A79 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x1a84, if !!address(stack[-7]).code.length label_1A80: // Incoming jump from 0x1A7F, if not !!address(stack[-7]).code.length // Incoming jump from 0x1A7F, if not !!address(stack[-7]).code.length // Inputs[1] { @1A83 memory[0x00:0x00] } 1A80 60 PUSH1 0x00 1A82 80 DUP1 1A83 FD *REVERT // Stack delta = +0 // Outputs[1] { @1A83 revert(memory[0x00:0x00]); } // Block terminates label_1A84: // Incoming jump from 0x1A7F, if !!address(stack[-7]).code.length // Incoming jump from 0x1A7F, if !!address(stack[-7]).code.length // Inputs[8] // { // @1A86 msg.gas // @1A87 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @1A87 memory[stack[-3]:stack[-3] + stack[-4]] // @1A87 stack[-5] // @1A87 stack[-2] // @1A87 stack[-4] // @1A87 stack[-6] // @1A87 stack[-3] // } 1A84 5B JUMPDEST 1A85 50 POP 1A86 5A GAS 1A87 FA STATICCALL 1A88 15 ISZERO 1A89 80 DUP1 1A8A 15 ISZERO 1A8B 61 PUSH2 0x1a98 1A8E 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @1A87 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @1A88 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x1a98, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_1A8F: // Incoming jump from 0x1A8E, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @1A8F returndata.length // @1A93 returndata[0x00:0x00 + returndata.length] // @1A94 returndata.length // @1A97 memory[0x00:0x00 + returndata.length] // } 1A8F 3D RETURNDATASIZE 1A90 60 PUSH1 0x00 1A92 80 DUP1 1A93 3E RETURNDATACOPY 1A94 3D RETURNDATASIZE 1A95 60 PUSH1 0x00 1A97 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @1A93 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @1A97 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_1A98: // Incoming jump from 0x1A8E, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @1A9F memory[0x40:0x60] // @1AA0 returndata.length // } 1A98 5B JUMPDEST 1A99 50 POP 1A9A 50 POP 1A9B 50 POP 1A9C 50 POP 1A9D 60 PUSH1 0x40 1A9F 51 MLOAD 1AA0 3D RETURNDATASIZE 1AA1 60 PUSH1 0x20 1AA3 81 DUP2 1AA4 10 LT 1AA5 15 ISZERO 1AA6 61 PUSH2 0x1aae 1AA9 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @1A9F stack[-4] = memory[0x40:0x60] // @1AA0 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x1aae, if !(returndata.length < 0x20) label_1AAA: // Incoming jump from 0x1AA9, if not !(returndata.length < 0x20) // Inputs[1] { @1AAD memory[0x00:0x00] } 1AAA 60 PUSH1 0x00 1AAC 80 DUP1 1AAD FD *REVERT // Stack delta = +0 // Outputs[1] { @1AAD revert(memory[0x00:0x00]); } // Block terminates label_1AAE: // Incoming jump from 0x1AA9, if !(returndata.length < 0x20) // Inputs[2] // { // @1AB0 stack[-2] // @1AB0 memory[stack[-2]:stack[-2] + 0x20] // } 1AAE 5B JUMPDEST 1AAF 50 POP 1AB0 51 MLOAD 1AB1 60 PUSH1 0x01 1AB3 60 PUSH1 0x01 1AB5 60 PUSH1 0xa0 1AB7 1B SHL 1AB8 03 SUB 1AB9 16 AND 1ABA 61 PUSH2 0x1ac1 1ABD 61 PUSH2 0x1c6e 1AC0 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @1AB9 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @1ABA stack[-1] = 0x1ac1 // } // Block ends with unconditional jump to 0x1c6e 1AC1 5B JUMPDEST 1AC2 60 PUSH1 0x01 1AC4 60 PUSH1 0x01 1AC6 60 PUSH1 0xa0 1AC8 1B SHL 1AC9 03 SUB 1ACA 16 AND 1ACB 14 EQ 1ACC 80 DUP1 1ACD 61 PUSH2 0x1c4b 1AD0 57 *JUMPI 1AD1 50 POP 1AD2 60 PUSH1 0x02 1AD4 54 SLOAD 1AD5 60 PUSH1 0x40 1AD7 80 DUP1 1AD8 51 MLOAD 1AD9 80 DUP1 1ADA 82 DUP3 1ADB 01 ADD 1ADC 82 DUP3 1ADD 52 MSTORE 1ADE 60 PUSH1 0x0c 1AE0 81 DUP2 1AE1 52 MSTORE 1AE2 6B PUSH12 0x4f776e657246656174757265 1AEF 60 PUSH1 0xa0 1AF1 1B SHL 1AF2 60 PUSH1 0x20 1AF4 80 DUP1 1AF5 83 DUP4 1AF6 01 ADD 1AF7 91 SWAP2 1AF8 82 DUP3 1AF9 52 MSTORE 1AFA 92 SWAP3 1AFB 51 MLOAD 1AFC 63 PUSH4 0x0251382f 1B01 60 PUSH1 0xe3 1B03 1B SHL 1B04 81 DUP2 1B05 52 MSTORE 1B06 60 PUSH1 0x04 1B08 81 DUP2 1B09 01 ADD 1B0A 93 SWAP4 1B0B 84 DUP5 1B0C 52 MSTORE 1B0D 82 DUP3 1B0E 51 MLOAD 1B0F 60 PUSH1 0x24 1B11 82 DUP3 1B12 01 ADD 1B13 52 MSTORE 1B14 82 DUP3 1B15 51 MLOAD 1B16 60 PUSH1 0x01 1B18 60 PUSH1 0x01 1B1A 60 PUSH1 0xa0 1B1C 1B SHL 1B1D 03 SUB 1B1E 90 SWAP1 1B1F 95 SWAP6 1B20 16 AND 1B21 94 SWAP5 1B22 63 PUSH4 0x1289c178 1B27 94 SWAP5 1B28 92 SWAP3 1B29 83 DUP4 1B2A 92 SWAP3 1B2B 60 PUSH1 0x44 1B2D 01 ADD 1B2E 91 SWAP2 1B2F 80 DUP1 1B30 83 DUP4 1B31 83 DUP4 1B32 60 PUSH1 0x00 1B34 5B JUMPDEST 1B35 83 DUP4 1B36 81 DUP2 1B37 10 LT 1B38 15 ISZERO 1B39 61 PUSH2 0x1b4c 1B3C 57 *JUMPI 1B3D 81 DUP2 1B3E 81 DUP2 1B3F 01 ADD 1B40 51 MLOAD 1B41 83 DUP4 1B42 82 DUP3 1B43 01 ADD 1B44 52 MSTORE 1B45 60 PUSH1 0x20 1B47 01 ADD 1B48 61 PUSH2 0x1b34 1B4B 56 *JUMP 1B4C 5B JUMPDEST 1B4D 50 POP 1B4E 50 POP 1B4F 50 POP 1B50 50 POP 1B51 90 SWAP1 1B52 50 POP 1B53 90 SWAP1 1B54 81 DUP2 1B55 01 ADD 1B56 90 SWAP1 1B57 60 PUSH1 0x1f 1B59 16 AND 1B5A 80 DUP1 1B5B 15 ISZERO 1B5C 61 PUSH2 0x1b79 1B5F 57 *JUMPI 1B60 80 DUP1 1B61 82 DUP3 1B62 03 SUB 1B63 80 DUP1 1B64 51 MLOAD 1B65 60 PUSH1 0x01 1B67 83 DUP4 1B68 60 PUSH1 0x20 1B6A 03 SUB 1B6B 61 PUSH2 0x0100 1B6E 0A EXP 1B6F 03 SUB 1B70 19 NOT 1B71 16 AND 1B72 81 DUP2 1B73 52 MSTORE 1B74 60 PUSH1 0x20 1B76 01 ADD 1B77 91 SWAP2 1B78 50 POP 1B79 5B JUMPDEST 1B7A 50 POP 1B7B 92 SWAP3 1B7C 50 POP 1B7D 50 POP 1B7E 50 POP 1B7F 60 PUSH1 0x20 1B81 60 PUSH1 0x40 1B83 51 MLOAD 1B84 80 DUP1 1B85 83 DUP4 1B86 03 SUB 1B87 81 DUP2 1B88 86 DUP7 1B89 80 DUP1 1B8A 3B EXTCODESIZE 1B8B 15 ISZERO 1B8C 80 DUP1 1B8D 15 ISZERO 1B8E 61 PUSH2 0x1b96 1B91 57 *JUMPI 1B92 60 PUSH1 0x00 1B94 80 DUP1 1B95 FD *REVERT 1B96 5B JUMPDEST 1B97 50 POP 1B98 5A GAS 1B99 FA STATICCALL 1B9A 15 ISZERO 1B9B 80 DUP1 1B9C 15 ISZERO 1B9D 61 PUSH2 0x1baa 1BA0 57 *JUMPI 1BA1 3D RETURNDATASIZE 1BA2 60 PUSH1 0x00 1BA4 80 DUP1 1BA5 3E RETURNDATACOPY 1BA6 3D RETURNDATASIZE 1BA7 60 PUSH1 0x00 1BA9 FD *REVERT 1BAA 5B JUMPDEST 1BAB 50 POP 1BAC 50 POP 1BAD 50 POP 1BAE 50 POP 1BAF 60 PUSH1 0x40 1BB1 51 MLOAD 1BB2 3D RETURNDATASIZE 1BB3 60 PUSH1 0x20 1BB5 81 DUP2 1BB6 10 LT 1BB7 15 ISZERO 1BB8 61 PUSH2 0x1bc0 1BBB 57 *JUMPI 1BBC 60 PUSH1 0x00 1BBE 80 DUP1 1BBF FD *REVERT 1BC0 5B JUMPDEST 1BC1 50 POP 1BC2 51 MLOAD 1BC3 60 PUSH1 0x01 1BC5 60 PUSH1 0x01 1BC7 60 PUSH1 0xa0 1BC9 1B SHL 1BCA 03 SUB 1BCB 16 AND 1BCC 63 PUSH4 0xe5f93e97 1BD1 61 PUSH2 0x1bd8 1BD4 61 PUSH2 0x1c6e 1BD7 56 *JUMP 1BD8 5B JUMPDEST 1BD9 60 PUSH1 0x40 1BDB 51 MLOAD 1BDC 82 DUP3 1BDD 63 PUSH4 0xffffffff 1BE2 16 AND 1BE3 60 PUSH1 0xe0 1BE5 1B SHL 1BE6 81 DUP2 1BE7 52 MSTORE 1BE8 60 PUSH1 0x04 1BEA 01 ADD 1BEB 80 DUP1 1BEC 82 DUP3 1BED 60 PUSH1 0x01 1BEF 60 PUSH1 0x01 1BF1 60 PUSH1 0xa0 1BF3 1B SHL 1BF4 03 SUB 1BF5 16 AND 1BF6 60 PUSH1 0x01 1BF8 60 PUSH1 0x01 1BFA 60 PUSH1 0xa0 1BFC 1B SHL 1BFD 03 SUB 1BFE 16 AND 1BFF 81 DUP2 1C00 52 MSTORE 1C01 60 PUSH1 0x20 1C03 01 ADD 1C04 91 SWAP2 1C05 50 POP 1C06 50 POP 1C07 60 PUSH1 0x20 1C09 60 PUSH1 0x40 1C0B 51 MLOAD 1C0C 80 DUP1 1C0D 83 DUP4 1C0E 03 SUB 1C0F 81 DUP2 1C10 86 DUP7 1C11 80 DUP1 1C12 3B EXTCODESIZE 1C13 15 ISZERO 1C14 80 DUP1 1C15 15 ISZERO 1C16 61 PUSH2 0x1c1e 1C19 57 *JUMPI 1C1A 60 PUSH1 0x00 1C1C 80 DUP1 1C1D FD *REVERT 1C1E 5B JUMPDEST 1C1F 50 POP 1C20 5A GAS 1C21 FA STATICCALL 1C22 15 ISZERO 1C23 80 DUP1 1C24 15 ISZERO 1C25 61 PUSH2 0x1c32 1C28 57 *JUMPI 1C29 3D RETURNDATASIZE 1C2A 60 PUSH1 0x00 1C2C 80 DUP1 1C2D 3E RETURNDATACOPY 1C2E 3D RETURNDATASIZE 1C2F 60 PUSH1 0x00 1C31 FD *REVERT 1C32 5B JUMPDEST 1C33 50 POP 1C34 50 POP 1C35 50 POP 1C36 50 POP 1C37 60 PUSH1 0x40 1C39 51 MLOAD 1C3A 3D RETURNDATASIZE 1C3B 60 PUSH1 0x20 1C3D 81 DUP2 1C3E 10 LT 1C3F 15 ISZERO 1C40 61 PUSH2 0x1c48 1C43 57 *JUMPI 1C44 60 PUSH1 0x00 1C46 80 DUP1 1C47 FD *REVERT 1C48 5B JUMPDEST 1C49 50 POP 1C4A 51 MLOAD 1C4B 5B JUMPDEST 1C4C 61 PUSH2 0x1c54 1C4F 57 *JUMPI 1C50 60 PUSH1 0x00 1C52 80 DUP1 1C53 FD *REVERT 1C54 5B JUMPDEST 1C55 60 PUSH1 0x00 1C57 61 PUSH2 0x1c66 1C5A 61 PUSH2 0x1c61 1C5D 61 PUSH2 0x1c6e 1C60 56 *JUMP 1C61 5B JUMPDEST 1C62 61 PUSH2 0x4ded 1C65 56 *JUMP 1C66 5B JUMPDEST 1C67 92 SWAP3 1C68 50 POP 1C69 50 POP 1C6A 50 POP 1C6B 5B JUMPDEST 1C6C 90 SWAP1 1C6D 56 *JUMP label_1C6E: // Incoming jump from 0x42E7 // Incoming jump from 0x1437 // Incoming jump from 0x3370 // Incoming jump from 0x23E6 // Incoming jump from 0x1AC0 // Incoming jump from 0x046F // Incoming jump from 0x1D32 // Incoming jump from 0x2A17 // Incoming jump from 0x1198 // Incoming jump from 0x3D8E // Incoming jump from 0x270C // Incoming jump from 0x3874 // Incoming jump from 0x2F26 // Incoming jump from 0x456D // Inputs[4] // { // @1C74 msg.sender // @1C77 msg.data.length // @1C88 memory[0x40:0x60] // @1C9F msg.data[0x00:0x00 + msg.data.length] // } 1C6E 5B JUMPDEST 1C6F 60 PUSH1 0x00 1C71 61 PUSH2 0x1cb1 1C74 33 CALLER 1C75 60 PUSH1 0x00 1C77 36 CALLDATASIZE 1C78 80 DUP1 1C79 80 DUP1 1C7A 60 PUSH1 0x1f 1C7C 01 ADD 1C7D 60 PUSH1 0x20 1C7F 80 DUP1 1C80 91 SWAP2 1C81 04 DIV 1C82 02 MUL 1C83 60 PUSH1 0x20 1C85 01 ADD 1C86 60 PUSH1 0x40 1C88 51 MLOAD 1C89 90 SWAP1 1C8A 81 DUP2 1C8B 01 ADD 1C8C 60 PUSH1 0x40 1C8E 52 MSTORE 1C8F 80 DUP1 1C90 93 SWAP4 1C91 92 SWAP3 1C92 91 SWAP2 1C93 90 SWAP1 1C94 81 DUP2 1C95 81 DUP2 1C96 52 MSTORE 1C97 60 PUSH1 0x20 1C99 01 ADD 1C9A 83 DUP4 1C9B 83 DUP4 1C9C 80 DUP1 1C9D 82 DUP3 1C9E 84 DUP5 1C9F 37 CALLDATACOPY 1CA0 60 PUSH1 0x00 1CA2 92 SWAP3 1CA3 01 ADD 1CA4 91 SWAP2 1CA5 90 SWAP1 1CA6 91 SWAP2 1CA7 52 MSTORE 1CA8 50 POP 1CA9 61 PUSH2 0x18c8 1CAC 92 SWAP3 1CAD 50 POP 1CAE 50 POP 1CAF 50 POP 1CB0 56 *JUMP // Stack delta = +4 // Outputs[8] // { // @1C6F stack[0] = 0x00 // @1C71 stack[1] = 0x1cb1 // @1C74 stack[2] = msg.sender // @1C8E memory[0x40:0x60] = memory[0x40:0x60] + 0x20 + (0x1f + msg.data.length) / 0x20 * 0x20 // @1C90 stack[3] = memory[0x40:0x60] // @1C96 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = msg.data.length // @1C9F memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + msg.data.length] = msg.data[0x00:0x00 + msg.data.length] // @1CA7 memory[0x20 + memory[0x40:0x60] + msg.data.length:0x20 + memory[0x40:0x60] + msg.data.length + 0x20] = 0x00 // } // Block ends with call to 0x18c8, returns to 0x1CB1 label_1CB1: // Incoming return from call to 0x18C8 at 0x1CB0 // Incoming return from call to 0x260E at 0x25F7 // Incoming jump from 0x4A66, if !((0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1]) // Inputs[3] // { // @1CB2 stack[-2] // @1CB2 stack[-1] // @1CB4 stack[-3] // } 1CB1 5B JUMPDEST 1CB2 90 SWAP1 1CB3 50 POP 1CB4 90 SWAP1 1CB5 56 *JUMP // Stack delta = -2 // Outputs[1] { @1CB4 stack[-3] = stack[-1] } // Block ends with unconditional jump to stack[-3] label_1CB6: // Incoming jump from 0x05CD 1CB6 5B JUMPDEST 1CB7 60 PUSH1 0x00 1CB9 61 PUSH2 0x1cc0 1CBC 61 PUSH2 0x4e95 1CBF 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @1CB7 stack[0] = 0x00 // @1CB9 stack[1] = 0x1cc0 // } // Block ends with call to 0x4e95, returns to 0x1CC0 label_1CC0: // Incoming return from call to 0x4E95 at 0x1CBF // Inputs[1] { @1CC4 stack[-1] } 1CC0 5B JUMPDEST 1CC1 61 PUSH2 0x1d11 1CC4 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1d11, if stack[-1] label_1CC5: // Incoming jump from 0x1CC4, if not stack[-1] // Inputs[3] // { // @1CC8 memory[0x40:0x60] // @1D07 memory[0x40:0x60] // @1D10 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 1CC5 60 PUSH1 0x40 1CC7 80 DUP1 1CC8 51 MLOAD 1CC9 62 PUSH3 0x461bcd 1CCD 60 PUSH1 0xe5 1CCF 1B SHL 1CD0 81 DUP2 1CD1 52 MSTORE 1CD2 60 PUSH1 0x20 1CD4 60 PUSH1 0x04 1CD6 82 DUP3 1CD7 01 ADD 1CD8 52 MSTORE 1CD9 60 PUSH1 0x18 1CDB 60 PUSH1 0x24 1CDD 82 DUP3 1CDE 01 ADD 1CDF 52 MSTORE 1CE0 7F PUSH32 0x4f776e657273206d75737420626520696e697469617465640000000000000000 1D01 60 PUSH1 0x44 1D03 82 DUP3 1D04 01 ADD 1D05 52 MSTORE 1D06 90 SWAP1 1D07 51 MLOAD 1D08 90 SWAP1 1D09 81 DUP2 1D0A 90 SWAP1 1D0B 03 SUB 1D0C 60 PUSH1 0x64 1D0E 01 ADD 1D0F 90 SWAP1 1D10 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @1CD1 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @1CD8 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @1CDF memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x18 // @1D05 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x4f776e657273206d75737420626520696e697469617465640000000000000000 // @1D10 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_1D11: // Incoming jump from 0x1CC4, if stack[-1] // Inputs[1] { @1D12 stack[-8] } 1D11 5B JUMPDEST 1D12 87 DUP8 1D13 15 ISZERO 1D14 80 DUP1 1D15 15 ISZERO 1D16 90 SWAP1 1D17 61 PUSH2 0x1d1f 1D1A 57 *JUMPI // Stack delta = +1 // Outputs[1] { @1D16 stack[0] = !!stack[-8] } // Block ends with conditional jump to 0x1d1f, if !stack[-8] label_1D1B: // Incoming jump from 0x1D1A, if not !stack[-8] // Inputs[1] { @1D1C stack[-7] } 1D1B 50 POP 1D1C 85 DUP6 1D1D 15 ISZERO 1D1E 15 ISZERO 1D1F 5B JUMPDEST 1D20 61 PUSH2 0x1d28 1D23 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1d28, if !!stack[-7] label_1D24: // Incoming jump from 0x1D23, if not stack[-1] // Incoming jump from 0x1D23, if not !!stack[-7] // Inputs[1] { @1D27 memory[0x00:0x00] } 1D24 60 PUSH1 0x00 1D26 80 DUP1 1D27 FD *REVERT // Stack delta = +0 // Outputs[1] { @1D27 revert(memory[0x00:0x00]); } // Block terminates label_1D28: // Incoming jump from 0x1D23, if stack[-1] // Incoming jump from 0x1D23, if !!stack[-7] 1D28 5B JUMPDEST 1D29 61 PUSH2 0x1d38 1D2C 61 PUSH2 0x1d33 1D2F 61 PUSH2 0x1c6e 1D32 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @1D29 stack[0] = 0x1d38 // @1D2C stack[1] = 0x1d33 // } // Block ends with unconditional jump to 0x1c6e 1D33 5B JUMPDEST 1D34 61 PUSH2 0x2d72 1D37 56 *JUMP 1D38 5B JUMPDEST 1D39 15 ISZERO 1D3A 80 DUP1 1D3B 15 ISZERO 1D3C 61 PUSH2 0x1d52 1D3F 57 *JUMPI 1D40 50 POP 1D41 61 PUSH2 0x1d50 1D44 61 PUSH2 0x1d4b 1D47 61 PUSH2 0x1c6e 1D4A 56 *JUMP 1D4B 5B JUMPDEST 1D4C 61 PUSH2 0x4542 1D4F 56 *JUMP 1D50 5B JUMPDEST 1D51 15 ISZERO 1D52 5B JUMPDEST 1D53 61 PUSH2 0x1d5b 1D56 57 *JUMPI 1D57 60 PUSH1 0x00 1D59 80 DUP1 1D5A FD *REVERT 1D5B 5B JUMPDEST 1D5C 60 PUSH1 0x02 1D5E 54 SLOAD 1D5F 60 PUSH1 0x40 1D61 80 DUP1 1D62 51 MLOAD 1D63 80 DUP1 1D64 82 DUP3 1D65 01 ADD 1D66 82 DUP3 1D67 52 MSTORE 1D68 60 PUSH1 0x0c 1D6A 81 DUP2 1D6B 52 MSTORE 1D6C 6B PUSH12 0x546f6b656e46656174757265 1D79 60 PUSH1 0xa0 1D7B 1B SHL 1D7C 60 PUSH1 0x20 1D7E 80 DUP1 1D7F 83 DUP4 1D80 01 ADD 1D81 91 SWAP2 1D82 82 DUP3 1D83 52 MSTORE 1D84 92 SWAP3 1D85 51 MLOAD 1D86 63 PUSH4 0x0251382f 1D8B 60 PUSH1 0xe3 1D8D 1B SHL 1D8E 81 DUP2 1D8F 52 MSTORE 1D90 60 PUSH1 0x04 1D92 81 DUP2 1D93 01 ADD 1D94 93 SWAP4 1D95 84 DUP5 1D96 52 MSTORE 1D97 82 DUP3 1D98 51 MLOAD 1D99 60 PUSH1 0x24 1D9B 82 DUP3 1D9C 01 ADD 1D9D 52 MSTORE 1D9E 82 DUP3 1D9F 51 MLOAD 1DA0 60 PUSH1 0x00 1DA2 95 SWAP6 1DA3 60 PUSH1 0x01 1DA5 60 PUSH1 0x01 1DA7 60 PUSH1 0xa0 1DA9 1B SHL 1DAA 03 SUB 1DAB 16 AND 1DAC 94 SWAP5 1DAD 63 PUSH4 0x1289c178 1DB2 94 SWAP5 1DB3 93 SWAP4 1DB4 90 SWAP1 1DB5 92 SWAP3 1DB6 83 DUP4 1DB7 92 SWAP3 1DB8 60 PUSH1 0x44 1DBA 90 SWAP1 1DBB 91 SWAP2 1DBC 01 ADD 1DBD 91 SWAP2 1DBE 90 SWAP1 1DBF 80 DUP1 1DC0 83 DUP4 1DC1 83 DUP4 1DC2 8B DUP12 1DC3 5B JUMPDEST 1DC4 83 DUP4 1DC5 81 DUP2 1DC6 10 LT 1DC7 15 ISZERO 1DC8 61 PUSH2 0x1ddb 1DCB 57 *JUMPI 1DCC 81 DUP2 1DCD 81 DUP2 1DCE 01 ADD 1DCF 51 MLOAD 1DD0 83 DUP4 1DD1 82 DUP3 1DD2 01 ADD 1DD3 52 MSTORE 1DD4 60 PUSH1 0x20 1DD6 01 ADD 1DD7 61 PUSH2 0x1dc3 1DDA 56 *JUMP 1DDB 5B JUMPDEST 1DDC 50 POP 1DDD 50 POP 1DDE 50 POP 1DDF 50 POP 1DE0 90 SWAP1 1DE1 50 POP 1DE2 90 SWAP1 1DE3 81 DUP2 1DE4 01 ADD 1DE5 90 SWAP1 1DE6 60 PUSH1 0x1f 1DE8 16 AND 1DE9 80 DUP1 1DEA 15 ISZERO 1DEB 61 PUSH2 0x1e08 1DEE 57 *JUMPI 1DEF 80 DUP1 1DF0 82 DUP3 1DF1 03 SUB 1DF2 80 DUP1 1DF3 51 MLOAD 1DF4 60 PUSH1 0x01 1DF6 83 DUP4 1DF7 60 PUSH1 0x20 1DF9 03 SUB 1DFA 61 PUSH2 0x0100 1DFD 0A EXP 1DFE 03 SUB 1DFF 19 NOT 1E00 16 AND 1E01 81 DUP2 1E02 52 MSTORE 1E03 60 PUSH1 0x20 1E05 01 ADD 1E06 91 SWAP2 1E07 50 POP 1E08 5B JUMPDEST 1E09 50 POP 1E0A 92 SWAP3 1E0B 50 POP 1E0C 50 POP 1E0D 50 POP 1E0E 60 PUSH1 0x20 1E10 60 PUSH1 0x40 1E12 51 MLOAD 1E13 80 DUP1 1E14 83 DUP4 1E15 03 SUB 1E16 81 DUP2 1E17 86 DUP7 1E18 80 DUP1 1E19 3B EXTCODESIZE 1E1A 15 ISZERO 1E1B 80 DUP1 1E1C 15 ISZERO 1E1D 61 PUSH2 0x1e25 1E20 57 *JUMPI 1E21 60 PUSH1 0x00 1E23 80 DUP1 1E24 FD *REVERT 1E25 5B JUMPDEST 1E26 50 POP 1E27 5A GAS 1E28 FA STATICCALL 1E29 15 ISZERO 1E2A 80 DUP1 1E2B 15 ISZERO 1E2C 61 PUSH2 0x1e39 1E2F 57 *JUMPI 1E30 3D RETURNDATASIZE 1E31 60 PUSH1 0x00 1E33 80 DUP1 1E34 3E RETURNDATACOPY 1E35 3D RETURNDATASIZE 1E36 60 PUSH1 0x00 1E38 FD *REVERT 1E39 5B JUMPDEST 1E3A 50 POP 1E3B 50 POP 1E3C 50 POP 1E3D 50 POP 1E3E 60 PUSH1 0x40 1E40 51 MLOAD 1E41 3D RETURNDATASIZE 1E42 60 PUSH1 0x20 1E44 81 DUP2 1E45 10 LT 1E46 15 ISZERO 1E47 61 PUSH2 0x1e4f 1E4A 57 *JUMPI 1E4B 60 PUSH1 0x00 1E4D 80 DUP1 1E4E FD *REVERT 1E4F 5B JUMPDEST 1E50 50 POP 1E51 51 MLOAD 1E52 60 PUSH1 0x40 1E54 80 DUP1 1E55 51 MLOAD 1E56 63 PUSH4 0x38009181 1E5B 60 PUSH1 0xe2 1E5D 1B SHL 1E5E 81 DUP2 1E5F 52 MSTORE 1E60 90 SWAP1 1E61 51 MLOAD 1E62 91 SWAP2 1E63 92 SWAP3 1E64 50 POP 1E65 60 PUSH1 0x00 1E67 91 SWAP2 1E68 60 PUSH1 0x01 1E6A 60 PUSH1 0x01 1E6C 60 PUSH1 0xa0 1E6E 1B SHL 1E6F 03 SUB 1E70 84 DUP5 1E71 16 AND 1E72 91 SWAP2 1E73 63 PUSH4 0xe0024604 1E78 91 SWAP2 1E79 60 PUSH1 0x04 1E7B 80 DUP1 1E7C 83 DUP4 1E7D 01 ADD 1E7E 92 SWAP3 1E7F 60 PUSH1 0x20 1E81 92 SWAP3 1E82 91 SWAP2 1E83 90 SWAP1 1E84 82 DUP3 1E85 90 SWAP1 1E86 03 SUB 1E87 01 ADD 1E88 81 DUP2 1E89 86 DUP7 1E8A 80 DUP1 1E8B 3B EXTCODESIZE 1E8C 15 ISZERO 1E8D 80 DUP1 1E8E 15 ISZERO 1E8F 61 PUSH2 0x1e97 1E92 57 *JUMPI 1E93 60 PUSH1 0x00 1E95 80 DUP1 1E96 FD *REVERT 1E97 5B JUMPDEST 1E98 50 POP 1E99 5A GAS 1E9A FA STATICCALL 1E9B 15 ISZERO 1E9C 80 DUP1 1E9D 15 ISZERO 1E9E 61 PUSH2 0x1eab 1EA1 57 *JUMPI 1EA2 3D RETURNDATASIZE 1EA3 60 PUSH1 0x00 1EA5 80 DUP1 1EA6 3E RETURNDATACOPY 1EA7 3D RETURNDATASIZE 1EA8 60 PUSH1 0x00 1EAA FD *REVERT 1EAB 5B JUMPDEST 1EAC 50 POP 1EAD 50 POP 1EAE 50 POP 1EAF 50 POP 1EB0 60 PUSH1 0x40 1EB2 51 MLOAD 1EB3 3D RETURNDATASIZE 1EB4 60 PUSH1 0x20 1EB6 81 DUP2 1EB7 10 LT 1EB8 15 ISZERO 1EB9 61 PUSH2 0x1ec1 1EBC 57 *JUMPI 1EBD 60 PUSH1 0x00 1EBF 80 DUP1 1EC0 FD *REVERT 1EC1 5B JUMPDEST 1EC2 50 POP 1EC3 51 MLOAD 1EC4 90 SWAP1 1EC5 50 POP 1EC6 61 PUSH2 0x1ecd 1EC9 61 PUSH2 0x1c6e 1ECC 56 *JUMP 1ECD 5B JUMPDEST 1ECE 60 PUSH1 0x01 1ED0 60 PUSH1 0x01 1ED2 60 PUSH1 0xa0 1ED4 1B SHL 1ED5 03 SUB 1ED6 16 AND 1ED7 81 DUP2 1ED8 60 PUSH1 0x01 1EDA 60 PUSH1 0x01 1EDC 60 PUSH1 0xa0 1EDE 1B SHL 1EDF 03 SUB 1EE0 16 AND 1EE1 14 EQ 1EE2 15 ISZERO 1EE3 61 PUSH2 0x1f1d 1EE6 57 *JUMPI 1EE7 60 PUSH1 0x40 1EE9 51 MLOAD 1EEA 62 PUSH3 0x461bcd 1EEE 60 PUSH1 0xe5 1EF0 1B SHL 1EF1 81 DUP2 1EF2 52 MSTORE 1EF3 60 PUSH1 0x04 1EF5 01 ADD 1EF6 80 DUP1 1EF7 80 DUP1 1EF8 60 PUSH1 0x20 1EFA 01 ADD 1EFB 82 DUP3 1EFC 81 DUP2 1EFD 03 SUB 1EFE 82 DUP3 1EFF 52 MSTORE 1F00 60 PUSH1 0x21 1F02 81 DUP2 1F03 52 MSTORE 1F04 60 PUSH1 0x20 1F06 01 ADD 1F07 80 DUP1 1F08 61 PUSH2 0x5e20 1F0B 60 PUSH1 0x21 1F0D 91 SWAP2 1F0E 39 CODECOPY 1F0F 60 PUSH1 0x40 1F11 01 ADD 1F12 91 SWAP2 1F13 50 POP 1F14 50 POP 1F15 60 PUSH1 0x40 1F17 51 MLOAD 1F18 80 DUP1 1F19 91 SWAP2 1F1A 03 SUB 1F1B 90 SWAP1 1F1C FD *REVERT 1F1D 5B JUMPDEST 1F1E 61 PUSH2 0x1f25 1F21 61 PUSH2 0x5c87 1F24 56 *JUMP 1F25 5B JUMPDEST 1F26 8B DUP12 1F27 8B DUP12 1F28 80 DUP1 1F29 80 DUP1 1F2A 60 PUSH1 0x1f 1F2C 01 ADD 1F2D 60 PUSH1 0x20 1F2F 80 DUP1 1F30 91 SWAP2 1F31 04 DIV 1F32 02 MUL 1F33 60 PUSH1 0x20 1F35 01 ADD 1F36 60 PUSH1 0x40 1F38 51 MLOAD 1F39 90 SWAP1 1F3A 81 DUP2 1F3B 01 ADD 1F3C 60 PUSH1 0x40 1F3E 52 MSTORE 1F3F 80 DUP1 1F40 93 SWAP4 1F41 92 SWAP3 1F42 91 SWAP2 1F43 90 SWAP1 1F44 81 DUP2 1F45 81 DUP2 1F46 52 MSTORE 1F47 60 PUSH1 0x20 1F49 01 ADD 1F4A 83 DUP4 1F4B 83 DUP4 1F4C 80 DUP1 1F4D 82 DUP3 1F4E 84 DUP5 1F4F 37 CALLDATACOPY 1F50 60 PUSH1 0x00 1F52 92 SWAP3 1F53 01 ADD 1F54 91 SWAP2 1F55 90 SWAP1 1F56 91 SWAP2 1F57 52 MSTORE 1F58 50 POP 1F59 50 POP 1F5A 50 POP 1F5B 90 SWAP1 1F5C 82 DUP3 1F5D 52 MSTORE 1F5E 50 POP 1F5F 60 PUSH1 0x40 1F61 80 DUP1 1F62 51 MLOAD 1F63 60 PUSH1 0x20 1F65 60 PUSH1 0x1f 1F67 8C DUP13 1F68 01 ADD 1F69 81 DUP2 1F6A 90 SWAP1 1F6B 04 DIV 1F6C 81 DUP2 1F6D 02 MUL 1F6E 82 DUP3 1F6F 01 ADD 1F70 81 DUP2 1F71 01 ADD 1F72 90 SWAP1 1F73 92 SWAP3 1F74 52 MSTORE 1F75 8A DUP11 1F76 81 DUP2 1F77 52 MSTORE 1F78 90 SWAP1 1F79 8B DUP12 1F7A 90 SWAP1 1F7B 8B DUP12 1F7C 90 SWAP1 1F7D 81 DUP2 1F7E 90 SWAP1 1F7F 84 DUP5 1F80 01 ADD 1F81 83 DUP4 1F82 82 DUP3 1F83 80 DUP1 1F84 82 DUP3 1F85 84 DUP5 1F86 37 CALLDATACOPY 1F87 60 PUSH1 0x00 1F89 92 SWAP3 1F8A 01 ADD 1F8B 82 DUP3 1F8C 90 SWAP1 1F8D 52 MSTORE 1F8E 50 POP 1F8F 60 PUSH1 0x20 1F91 86 DUP7 1F92 01 ADD 1F93 94 SWAP5 1F94 90 SWAP1 1F95 94 SWAP5 1F96 52 MSTORE 1F97 50 POP 1F98 50 POP 1F99 60 PUSH1 0x01 1F9B 60 PUSH1 0x40 1F9D 84 DUP5 1F9E 01 ADD 1F9F 52 MSTORE 1FA0 50 POP 1FA1 81 DUP2 1FA2 90 SWAP1 1FA3 60 PUSH1 0x08 1FA5 90 SWAP1 1FA6 61 PUSH2 0x1fad 1FA9 61 PUSH2 0x1c6e 1FAC 56 *JUMP 1FAD 5B JUMPDEST 1FAE 60 PUSH1 0x01 1FB0 60 PUSH1 0x01 1FB2 60 PUSH1 0xa0 1FB4 1B SHL 1FB5 03 SUB 1FB6 16 AND 1FB7 81 DUP2 1FB8 52 MSTORE 1FB9 60 PUSH1 0x20 1FBB 80 DUP1 1FBC 82 DUP3 1FBD 01 ADD 1FBE 92 SWAP3 1FBF 90 SWAP1 1FC0 92 SWAP3 1FC1 52 MSTORE 1FC2 60 PUSH1 0x40 1FC4 01 ADD 1FC5 60 PUSH1 0x00 1FC7 20 SHA3 1FC8 82 DUP3 1FC9 51 MLOAD 1FCA 80 DUP1 1FCB 51 MLOAD 1FCC 91 SWAP2 1FCD 92 SWAP3 1FCE 61 PUSH2 0x1fdc 1FD1 92 SWAP3 1FD2 84 DUP5 1FD3 92 SWAP3 1FD4 90 SWAP1 1FD5 91 SWAP2 1FD6 01 ADD 1FD7 90 SWAP1 1FD8 61 PUSH2 0x5caa 1FDB 56 *JUMP 1FDC 5B JUMPDEST 1FDD 50 POP 1FDE 60 PUSH1 0x20 1FE0 82 DUP3 1FE1 81 DUP2 1FE2 01 ADD 1FE3 51 MLOAD 1FE4 80 DUP1 1FE5 51 MLOAD 1FE6 61 PUSH2 0x1ff5 1FE9 92 SWAP3 1FEA 60 PUSH1 0x01 1FEC 85 DUP6 1FED 01 ADD 1FEE 92 SWAP3 1FEF 01 ADD 1FF0 90 SWAP1 1FF1 61 PUSH2 0x5caa 1FF4 56 *JUMP 1FF5 5B JUMPDEST 1FF6 50 POP 1FF7 60 PUSH1 0x40 1FF9 91 SWAP2 1FFA 90 SWAP1 1FFB 91 SWAP2 1FFC 01 ADD 1FFD 51 MLOAD 1FFE 60 PUSH1 0x02 2000 90 SWAP1 2001 91 SWAP2 2002 01 ADD 2003 80 DUP1 2004 54 SLOAD 2005 60 PUSH1 0xff 2007 19 NOT 2008 16 AND 2009 91 SWAP2 200A 15 ISZERO 200B 15 ISZERO 200C 91 SWAP2 200D 90 SWAP1 200E 91 SWAP2 200F 17 OR 2010 90 SWAP1 2011 55 SSTORE 2012 60 PUSH1 0x09 2014 61 PUSH2 0x201b 2017 61 PUSH2 0x1c6e 201A 56 *JUMP 201B 5B JUMPDEST 201C 81 DUP2 201D 54 SLOAD 201E 60 PUSH1 0x01 2020 81 DUP2 2021 01 ADD 2022 83 DUP4 2023 55 SSTORE 2024 60 PUSH1 0x00 2026 92 SWAP3 2027 83 DUP4 2028 52 MSTORE 2029 60 PUSH1 0x20 202B 90 SWAP1 202C 92 SWAP3 202D 20 SHA3 202E 90 SWAP1 202F 91 SWAP2 2030 01 ADD 2031 80 DUP1 2032 54 SLOAD 2033 60 PUSH1 0x01 2035 60 PUSH1 0x01 2037 60 PUSH1 0xa0 2039 1B SHL 203A 03 SUB 203B 19 NOT 203C 16 AND 203D 60 PUSH1 0x01 203F 60 PUSH1 0x01 2041 60 PUSH1 0xa0 2043 1B SHL 2044 03 SUB 2045 90 SWAP1 2046 92 SWAP3 2047 16 AND 2048 91 SWAP2 2049 90 SWAP1 204A 91 SWAP2 204B 17 OR 204C 90 SWAP1 204D 55 SSTORE 204E 84 DUP5 204F 15 ISZERO 2050 61 PUSH2 0x20c6 2053 57 *JUMPI 2054 61 PUSH2 0x20c6 2057 88 DUP9 2058 88 DUP9 2059 80 DUP1 205A 80 DUP1 205B 60 PUSH1 0x1f 205D 01 ADD 205E 60 PUSH1 0x20 2060 80 DUP1 2061 91 SWAP2 2062 04 DIV 2063 02 MUL 2064 60 PUSH1 0x20 2066 01 ADD 2067 60 PUSH1 0x40 2069 51 MLOAD 206A 90 SWAP1 206B 81 DUP2 206C 01 ADD 206D 60 PUSH1 0x40 206F 52 MSTORE 2070 80 DUP1 2071 93 SWAP4 2072 92 SWAP3 2073 91 SWAP2 2074 90 SWAP1 2075 81 DUP2 2076 81 DUP2 2077 52 MSTORE 2078 60 PUSH1 0x20 207A 01 ADD 207B 83 DUP4 207C 83 DUP4 207D 80 DUP1 207E 82 DUP3 207F 84 DUP5 2080 37 CALLDATACOPY 2081 60 PUSH1 0x00 2083 92 SWAP3 2084 01 ADD 2085 91 SWAP2 2086 90 SWAP1 2087 91 SWAP2 2088 52 MSTORE 2089 50 POP 208A 50 POP 208B 60 PUSH1 0x40 208D 80 DUP1 208E 51 MLOAD 208F 60 PUSH1 0x20 2091 60 PUSH1 0x1f 2093 8C DUP13 2094 01 ADD 2095 81 DUP2 2096 90 SWAP1 2097 04 DIV 2098 81 DUP2 2099 02 MUL 209A 82 DUP3 209B 01 ADD 209C 81 DUP2 209D 01 ADD 209E 90 SWAP1 209F 92 SWAP3 20A0 52 MSTORE 20A1 8A DUP11 20A2 81 DUP2 20A3 52 MSTORE 20A4 92 SWAP3 20A5 50 POP 20A6 8A DUP11 20A7 91 SWAP2 20A8 50 POP 20A9 89 DUP10 20AA 90 SWAP1 20AB 81 DUP2 20AC 90 SWAP1 20AD 84 DUP5 20AE 01 ADD 20AF 83 DUP4 20B0 82 DUP3 20B1 80 DUP1 20B2 82 DUP3 20B3 84 DUP5 20B4 37 CALLDATACOPY 20B5 60 PUSH1 0x00 20B7 92 SWAP3 20B8 01 ADD 20B9 91 SWAP2 20BA 90 SWAP1 20BB 91 SWAP2 20BC 52 MSTORE 20BD 50 POP 20BE 61 PUSH2 0x4fcd 20C1 92 SWAP3 20C2 50 POP 20C3 50 POP 20C4 50 POP 20C5 56 *JUMP 20C6 5B JUMPDEST 20C7 7F PUSH32 0x29a9ed85f99c79d7f19ec2146c4ac32deea27e27512051779b4321bd9e976318 20E8 61 PUSH2 0x20ef 20EB 61 PUSH2 0x1c6e 20EE 56 *JUMP 20EF 5B JUMPDEST 20F0 60 PUSH1 0x03 20F2 60 PUSH1 0x40 20F4 51 MLOAD 20F5 80 DUP1 20F6 83 DUP4 20F7 60 PUSH1 0x01 20F9 60 PUSH1 0x01 20FB 60 PUSH1 0xa0 20FD 1B SHL 20FE 03 SUB 20FF 16 AND 2100 60 PUSH1 0x01 2102 60 PUSH1 0x01 2104 60 PUSH1 0xa0 2106 1B SHL 2107 03 SUB 2108 16 AND 2109 81 DUP2 210A 52 MSTORE 210B 60 PUSH1 0x20 210D 01 ADD 210E 82 DUP3 210F 81 DUP2 2110 52 MSTORE 2111 60 PUSH1 0x20 2113 01 ADD 2114 80 DUP1 2115 60 PUSH1 0x20 2117 01 ADD 2118 82 DUP3 2119 81 DUP2 211A 03 SUB 211B 82 DUP3 211C 52 MSTORE 211D 60 PUSH1 0x2a 211F 81 DUP2 2120 52 MSTORE 2121 60 PUSH1 0x20 2123 01 ADD 2124 80 DUP1 2125 61 PUSH2 0x5df6 2128 60 PUSH1 0x2a 212A 91 SWAP2 212B 39 CODECOPY 212C 60 PUSH1 0x40 212E 01 ADD 212F 93 SWAP4 2130 50 POP 2131 50 POP 2132 50 POP 2133 50 POP 2134 60 PUSH1 0x40 2136 51 MLOAD 2137 80 DUP1 2138 91 SWAP2 2139 03 SUB 213A 90 SWAP1 213B A1 LOG1 213C 50 POP 213D 60 PUSH1 0x01 213F 9B SWAP12 2140 9A SWAP11 2141 50 POP 2142 50 POP 2143 50 POP 2144 50 POP 2145 50 POP 2146 50 POP 2147 50 POP 2148 50 POP 2149 50 POP 214A 50 POP 214B 50 POP 214C 56 *JUMP label_214D: // Incoming jump from 0x0607 // Inputs[2] // { // @2150 storage[0x01] // @215A msg.sender // } 214D 5B JUMPDEST 214E 60 PUSH1 0x01 2150 54 SLOAD 2151 60 PUSH1 0x01 2153 60 PUSH1 0x01 2155 60 PUSH1 0xa0 2157 1B SHL 2158 03 SUB 2159 16 AND 215A 33 CALLER 215B 14 EQ 215C 61 PUSH2 0x219a 215F 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x219a, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_2160: // Incoming jump from 0x215F, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @2163 memory[0x40:0x60] // @217E memory[0x00:0x20] // @2187 memory[0x00:0x20] // @2190 memory[0x40:0x60] // @2199 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 2160 60 PUSH1 0x40 2162 80 DUP1 2163 51 MLOAD 2164 62 PUSH3 0x461bcd 2168 60 PUSH1 0xe5 216A 1B SHL 216B 81 DUP2 216C 52 MSTORE 216D 60 PUSH1 0x20 216F 60 PUSH1 0x04 2171 82 DUP3 2172 01 ADD 2173 52 MSTORE 2174 60 PUSH1 0x1b 2176 60 PUSH1 0x24 2178 82 DUP3 2179 01 ADD 217A 52 MSTORE 217B 60 PUSH1 0x00 217D 80 DUP1 217E 51 MLOAD 217F 60 PUSH1 0x20 2181 61 PUSH2 0x5e8e 2184 83 DUP4 2185 39 CODECOPY 2186 81 DUP2 2187 51 MLOAD 2188 91 SWAP2 2189 52 MSTORE 218A 60 PUSH1 0x44 218C 82 DUP3 218D 01 ADD 218E 52 MSTORE 218F 90 SWAP1 2190 51 MLOAD 2191 90 SWAP1 2192 81 DUP2 2193 90 SWAP1 2194 03 SUB 2195 60 PUSH1 0x64 2197 01 ADD 2198 90 SWAP1 2199 FD *REVERT // Stack delta = +0 // Outputs[7] // { // @216C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @2173 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @217A memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @2185 memory[0x00:0x20] = code[0x5e8e:0x5eae] // @2189 memory[0x00:0x20] = memory[0x00:0x20] // @218E memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @2199 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_219A: // Incoming jump from 0x215F, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[1] { @21A3 stack[-1] } 219A 5B JUMPDEST 219B 60 PUSH1 0x01 219D 60 PUSH1 0x01 219F 60 PUSH1 0xa0 21A1 1B SHL 21A2 03 SUB 21A3 81 DUP2 21A4 16 AND 21A5 61 PUSH2 0x21ea 21A8 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x21ea, if stack[-1] & (0x01 << 0xa0) - 0x01 label_21A9: // Incoming jump from 0x21A8, if not stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[3] // { // @21AC memory[0x40:0x60] // @21E0 memory[0x40:0x60] // @21E9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 21A9 60 PUSH1 0x40 21AB 80 DUP1 21AC 51 MLOAD 21AD 62 PUSH3 0x461bcd 21B1 60 PUSH1 0xe5 21B3 1B SHL 21B4 81 DUP2 21B5 52 MSTORE 21B6 60 PUSH1 0x20 21B8 60 PUSH1 0x04 21BA 82 DUP3 21BB 01 ADD 21BC 52 MSTORE 21BD 60 PUSH1 0x12 21BF 60 PUSH1 0x24 21C1 82 DUP3 21C2 01 ADD 21C3 52 MSTORE 21C4 71 PUSH18 0x546869732061646472657373206973203021 21D7 60 PUSH1 0x70 21D9 1B SHL 21DA 60 PUSH1 0x44 21DC 82 DUP3 21DD 01 ADD 21DE 52 MSTORE 21DF 90 SWAP1 21E0 51 MLOAD 21E1 90 SWAP1 21E2 81 DUP2 21E3 90 SWAP1 21E4 03 SUB 21E5 60 PUSH1 0x64 21E7 01 ADD 21E8 90 SWAP1 21E9 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @21B5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @21BC memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @21C3 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x12 // @21DE memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = 0x546869732061646472657373206973203021 << 0x70 // @21E9 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_21EA: // Incoming jump from 0x21A8, if stack[-1] & (0x01 << 0xa0) - 0x01 // Inputs[6] // { // @21ED storage[0x01] // @21F0 memory[0x40:0x60] // @21FA stack[-1] // @2224 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00] // @2228 storage[0x01] // @2245 stack[-2] // } 21EA 5B JUMPDEST 21EB 60 PUSH1 0x01 21ED 54 SLOAD 21EE 60 PUSH1 0x40 21F0 51 MLOAD 21F1 60 PUSH1 0x01 21F3 60 PUSH1 0x01 21F5 60 PUSH1 0xa0 21F7 1B SHL 21F8 03 SUB 21F9 80 DUP1 21FA 84 DUP5 21FB 16 AND 21FC 92 SWAP3 21FD 16 AND 21FE 90 SWAP1 21FF 7F PUSH32 0xd734ca01d7ec868e364f3c2cbda207212fa91c58040df183429252e85a48b2b1 2220 90 SWAP1 2221 60 PUSH1 0x00 2223 90 SWAP1 2224 A3 LOG3 2225 60 PUSH1 0x01 2227 80 DUP1 2228 54 SLOAD 2229 60 PUSH1 0x01 222B 60 PUSH1 0x01 222D 60 PUSH1 0xa0 222F 1B SHL 2230 03 SUB 2231 19 NOT 2232 16 AND 2233 60 PUSH1 0x01 2235 60 PUSH1 0x01 2237 60 PUSH1 0xa0 2239 1B SHL 223A 03 SUB 223B 92 SWAP3 223C 90 SWAP1 223D 92 SWAP3 223E 16 AND 223F 91 SWAP2 2240 90 SWAP1 2241 91 SWAP2 2242 17 OR 2243 90 SWAP1 2244 55 SSTORE 2245 56 *JUMP // Stack delta = -2 // Outputs[2] // { // @2224 log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0xd734ca01d7ec868e364f3c2cbda207212fa91c58040df183429252e85a48b2b1, storage[0x01] & (0x01 << 0xa0) - 0x01, stack[-1] & (0x01 << 0xa0) - 0x01]); // @2244 storage[0x01] = ((0x01 << 0xa0) - 0x01 & stack[-1]) | (~((0x01 << 0xa0) - 0x01) & storage[0x01]) // } // Block ends with unconditional jump to stack[-2] label_2246: // Incoming call from 0x060F, returns to 0x040C // Incoming call from 0x2288, returns to 0x2289 // Incoming call from 0x4A4C, returns to 0x4A4D // Incoming call from 0x18D2, returns to 0x18D3 // Incoming call from 0x49AF, returns to 0x49B0 // Incoming call from 0x36E7, returns to 0x36E8 // Inputs[2] // { // @2249 storage[0x00] // @2253 stack[-1] // } 2246 5B JUMPDEST 2247 60 PUSH1 0x00 2249 54 SLOAD 224A 60 PUSH1 0x01 224C 60 PUSH1 0x01 224E 60 PUSH1 0xa0 2250 1B SHL 2251 03 SUB 2252 16 AND 2253 90 SWAP1 2254 56 *JUMP // Stack delta = +0 // Outputs[1] { @2253 stack[-1] = (0x01 << 0xa0) - 0x01 & storage[0x00] } // Block ends with unconditional jump to stack[-1] label_2255: // Incoming call from 0x0617, returns to 0x0618 // Inputs[2] // { // @2258 memory[0x40:0x60] // @227D stack[-1] // } 2255 5B JUMPDEST 2256 60 PUSH1 0x40 2258 51 MLOAD 2259 80 DUP1 225A 60 PUSH1 0x40 225C 01 ADD 225D 60 PUSH1 0x40 225F 52 MSTORE 2260 80 DUP1 2261 60 PUSH1 0x0e 2263 81 DUP2 2264 52 MSTORE 2265 60 PUSH1 0x20 2267 01 ADD 2268 6D PUSH14 0x13595b58995c90dbdb9d1c9858dd 2277 60 PUSH1 0x92 2279 1B SHL 227A 81 DUP2 227B 52 MSTORE 227C 50 POP 227D 81 DUP2 227E 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @2258 stack[0] = memory[0x40:0x60] // @225F memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2264 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0e // @227B memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x13595b58995c90dbdb9d1c9858dd << 0x92 // } // Block ends with unconditional jump to stack[-1] label_227F: // Incoming jump from 0x06FA 227F 5B JUMPDEST 2280 60 PUSH1 0x00 2282 61 PUSH2 0x2289 2285 61 PUSH2 0x2246 2288 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @2280 stack[0] = 0x00 // @2282 stack[1] = 0x2289 // } // Block ends with call to 0x2246, returns to 0x2289 label_2289: // Incoming return from call to 0x2246 at 0x2288 // Inputs[2] // { // @2292 stack[-1] // @2293 msg.sender // } 2289 5B JUMPDEST 228A 60 PUSH1 0x01 228C 60 PUSH1 0x01 228E 60 PUSH1 0xa0 2290 1B SHL 2291 03 SUB 2292 16 AND 2293 33 CALLER 2294 60 PUSH1 0x01 2296 60 PUSH1 0x01 2298 60 PUSH1 0xa0 229A 1B SHL 229B 03 SUB 229C 16 AND 229D 14 EQ 229E 61 PUSH2 0x1900 22A1 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1900, if (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] label_22A2: // Incoming jump from 0x22A1, if not (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] // Inputs[3] // { // @22A4 memory[0x40:0x60] // @22D2 memory[0x40:0x60] // @22D7 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 22A2 60 PUSH1 0x40 22A4 51 MLOAD 22A5 62 PUSH3 0x461bcd 22A9 60 PUSH1 0xe5 22AB 1B SHL 22AC 81 DUP2 22AD 52 MSTORE 22AE 60 PUSH1 0x04 22B0 01 ADD 22B1 80 DUP1 22B2 80 DUP1 22B3 60 PUSH1 0x20 22B5 01 ADD 22B6 82 DUP3 22B7 81 DUP2 22B8 03 SUB 22B9 82 DUP3 22BA 52 MSTORE 22BB 60 PUSH1 0x27 22BD 81 DUP2 22BE 52 MSTORE 22BF 60 PUSH1 0x20 22C1 01 ADD 22C2 80 DUP1 22C3 61 PUSH2 0x5e41 22C6 60 PUSH1 0x27 22C8 91 SWAP2 22C9 39 CODECOPY 22CA 60 PUSH1 0x40 22CC 01 ADD 22CD 91 SWAP2 22CE 50 POP 22CF 50 POP 22D0 60 PUSH1 0x40 22D2 51 MLOAD 22D3 80 DUP1 22D4 91 SWAP2 22D5 03 SUB 22D6 90 SWAP1 22D7 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @22AD memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @22BA memory[0x04 + memory[0x40:0x60]:0x04 + memory[0x40:0x60] + 0x20] = (0x20 + 0x04 + memory[0x40:0x60]) - (0x04 + memory[0x40:0x60]) // @22BE memory[0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x04 + memory[0x40:0x60] + 0x20] = 0x27 // @22C9 memory[0x20 + 0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x20 + 0x04 + memory[0x40:0x60] + 0x27] = code[0x5e41:0x5e68] // @22D7 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]); // } // Block terminates label_22D8: // Incoming jump from 0x0717 // Inputs[5] // { // @22DB storage[0x02] // @22DF memory[0x40:0x60] // @2302 memory[0x40:0x60] // @2315 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @231C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 22D8 5B JUMPDEST 22D9 60 PUSH1 0x02 22DB 54 SLOAD 22DC 60 PUSH1 0x40 22DE 80 DUP1 22DF 51 MLOAD 22E0 80 DUP1 22E1 82 DUP3 22E2 01 ADD 22E3 82 DUP3 22E4 52 MSTORE 22E5 60 PUSH1 0x0c 22E7 81 DUP2 22E8 52 MSTORE 22E9 6B PUSH12 0x546f6b656e46656174757265 22F6 60 PUSH1 0xa0 22F8 1B SHL 22F9 60 PUSH1 0x20 22FB 80 DUP1 22FC 83 DUP4 22FD 01 ADD 22FE 91 SWAP2 22FF 82 DUP3 2300 52 MSTORE 2301 92 SWAP3 2302 51 MLOAD 2303 63 PUSH4 0x0251382f 2308 60 PUSH1 0xe3 230A 1B SHL 230B 81 DUP2 230C 52 MSTORE 230D 60 PUSH1 0x04 230F 81 DUP2 2310 01 ADD 2311 93 SWAP4 2312 84 DUP5 2313 52 MSTORE 2314 82 DUP3 2315 51 MLOAD 2316 60 PUSH1 0x24 2318 82 DUP3 2319 01 ADD 231A 52 MSTORE 231B 82 DUP3 231C 51 MLOAD 231D 60 PUSH1 0x00 231F 95 SWAP6 2320 60 PUSH1 0x60 2322 95 SWAP6 2323 86 DUP7 2324 95 SWAP6 2325 60 PUSH1 0x01 2327 60 PUSH1 0x01 2329 60 PUSH1 0xa0 232B 1B SHL 232C 03 SUB 232D 90 SWAP1 232E 92 SWAP3 232F 16 AND 2330 94 SWAP5 2331 63 PUSH4 0x1289c178 2336 94 SWAP5 2337 92 SWAP3 2338 93 SWAP4 2339 91 SWAP2 233A 92 SWAP3 233B 83 DUP4 233C 92 SWAP3 233D 60 PUSH1 0x44 233F 90 SWAP1 2340 91 SWAP2 2341 01 ADD 2342 91 SWAP2 2343 90 SWAP1 2344 80 DUP1 2345 83 DUP4 2346 83 DUP4 2347 8D DUP14 2348 5B JUMPDEST 2349 83 DUP4 234A 81 DUP2 234B 10 LT 234C 15 ISZERO 234D 61 PUSH2 0x2360 2350 57 *JUMPI // Stack delta = +15 // Outputs[21] // { // @22E4 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @22E8 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @2300 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0 // @230C memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @2313 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @231A memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @231F stack[0] = 0x00 // @2322 stack[1] = 0x60 // @2324 stack[2] = 0x60 // @2330 stack[3] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @2336 stack[4] = 0x1289c178 // @2338 stack[5] = memory[0x40:0x60] // @233A stack[6] = memory[0x40:0x60] + 0x04 // @233C stack[7] = memory[0x40:0x60] + 0x04 // @2342 stack[8] = memory[0x40:0x60] + 0x44 // @2343 stack[9] = memory[0x40:0x60] + 0x20 // @2343 stack[10] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2344 stack[11] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2345 stack[12] = memory[0x40:0x60] + 0x44 // @2346 stack[13] = memory[0x40:0x60] + 0x20 // @2347 stack[14] = 0x00 // } // Block ends with conditional jump to 0x2360, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_2351: // Incoming jump from 0x2350, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x2350, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @2351 stack[-2] // @2352 stack[-1] // @2354 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @2355 stack[-3] // } 2351 81 DUP2 2352 81 DUP2 2353 01 ADD 2354 51 MLOAD 2355 83 DUP4 2356 82 DUP3 2357 01 ADD 2358 52 MSTORE 2359 60 PUSH1 0x20 235B 01 ADD 235C 61 PUSH2 0x2348 235F 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @2358 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @235B stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x2348 label_2360: // Incoming jump from 0x2350, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x2350, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @2365 stack[-6] // @2365 stack[-5] // @2367 stack[-7] // } 2360 5B JUMPDEST 2361 50 POP 2362 50 POP 2363 50 POP 2364 50 POP 2365 90 SWAP1 2366 50 POP 2367 90 SWAP1 2368 81 DUP2 2369 01 ADD 236A 90 SWAP1 236B 60 PUSH1 0x1f 236D 16 AND 236E 80 DUP1 236F 15 ISZERO 2370 61 PUSH2 0x238d 2373 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @236A stack[-7] = stack[-5] + stack[-7] // @236D stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x238d, if !(0x1f & stack[-5]) label_2374: // Incoming jump from 0x2373, if not !(0x1f & stack[-5]) // Inputs[7] // { // @2374 stack[-1] // @2375 stack[-2] // @2378 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @238F stack[-5] // @2397 memory[0x40:0x60] // @239C stack[-7] // @239E address(stack[-7]).code.length // } 2374 80 DUP1 2375 82 DUP3 2376 03 SUB 2377 80 DUP1 2378 51 MLOAD 2379 60 PUSH1 0x01 237B 83 DUP4 237C 60 PUSH1 0x20 237E 03 SUB 237F 61 PUSH2 0x0100 2382 0A EXP 2383 03 SUB 2384 19 NOT 2385 16 AND 2386 81 DUP2 2387 52 MSTORE 2388 60 PUSH1 0x20 238A 01 ADD 238B 91 SWAP2 238C 50 POP 238D 5B JUMPDEST 238E 50 POP 238F 92 SWAP3 2390 50 POP 2391 50 POP 2392 50 POP 2393 60 PUSH1 0x20 2395 60 PUSH1 0x40 2397 51 MLOAD 2398 80 DUP1 2399 83 DUP4 239A 03 SUB 239B 81 DUP2 239C 86 DUP7 239D 80 DUP1 239E 3B EXTCODESIZE 239F 15 ISZERO 23A0 80 DUP1 23A1 15 ISZERO 23A2 61 PUSH2 0x23aa 23A5 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @2387 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @238F stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @2393 stack[-4] = 0x20 // @2397 stack[-3] = memory[0x40:0x60] // @239A stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @239B stack[-1] = memory[0x40:0x60] // @239C stack[0] = stack[-7] // @239F stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x23aa, if !!address(stack[-7]).code.length label_23A6: // Incoming jump from 0x23A5, if not !!address(stack[-7]).code.length // Incoming jump from 0x23A5, if not !!address(stack[-7]).code.length // Inputs[1] { @23A9 memory[0x00:0x00] } 23A6 60 PUSH1 0x00 23A8 80 DUP1 23A9 FD *REVERT // Stack delta = +0 // Outputs[1] { @23A9 revert(memory[0x00:0x00]); } // Block terminates label_23AA: // Incoming jump from 0x23A5, if !!address(stack[-7]).code.length // Incoming jump from 0x23A5, if !!address(stack[-7]).code.length // Inputs[8] // { // @23AC msg.gas // @23AD address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @23AD stack[-4] // @23AD memory[stack[-3]:stack[-3] + stack[-4]] // @23AD stack[-5] // @23AD stack[-2] // @23AD stack[-3] // @23AD stack[-6] // } 23AA 5B JUMPDEST 23AB 50 POP 23AC 5A GAS 23AD FA STATICCALL 23AE 15 ISZERO 23AF 80 DUP1 23B0 15 ISZERO 23B1 61 PUSH2 0x23be 23B4 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @23AD memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @23AE stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x23be, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_23B5: // Incoming jump from 0x23B4, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @23B5 returndata.length // @23B9 returndata[0x00:0x00 + returndata.length] // @23BA returndata.length // @23BD memory[0x00:0x00 + returndata.length] // } 23B5 3D RETURNDATASIZE 23B6 60 PUSH1 0x00 23B8 80 DUP1 23B9 3E RETURNDATACOPY 23BA 3D RETURNDATASIZE 23BB 60 PUSH1 0x00 23BD FD *REVERT // Stack delta = +0 // Outputs[2] // { // @23B9 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @23BD revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_23BE: // Incoming jump from 0x23B4, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @23C5 memory[0x40:0x60] // @23C6 returndata.length // } 23BE 5B JUMPDEST 23BF 50 POP 23C0 50 POP 23C1 50 POP 23C2 50 POP 23C3 60 PUSH1 0x40 23C5 51 MLOAD 23C6 3D RETURNDATASIZE 23C7 60 PUSH1 0x20 23C9 81 DUP2 23CA 10 LT 23CB 15 ISZERO 23CC 61 PUSH2 0x23d4 23CF 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @23C5 stack[-4] = memory[0x40:0x60] // @23C6 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x23d4, if !(returndata.length < 0x20) label_23D0: // Incoming jump from 0x23CF, if not !(returndata.length < 0x20) // Inputs[1] { @23D3 memory[0x00:0x00] } 23D0 60 PUSH1 0x00 23D2 80 DUP1 23D3 FD *REVERT // Stack delta = +0 // Outputs[1] { @23D3 revert(memory[0x00:0x00]); } // Block terminates label_23D4: // Incoming jump from 0x23CF, if !(returndata.length < 0x20) // Inputs[2] // { // @23D6 memory[stack[-2]:stack[-2] + 0x20] // @23D6 stack[-2] // } 23D4 5B JUMPDEST 23D5 50 POP 23D6 51 MLOAD 23D7 60 PUSH1 0x01 23D9 60 PUSH1 0x01 23DB 60 PUSH1 0xa0 23DD 1B SHL 23DE 03 SUB 23DF 16 AND 23E0 61 PUSH2 0x23e7 23E3 61 PUSH2 0x1c6e 23E6 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @23DF stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @23E0 stack[-1] = 0x23e7 // } // Block ends with unconditional jump to 0x1c6e 23E7 5B JUMPDEST 23E8 60 PUSH1 0x01 23EA 60 PUSH1 0x01 23EC 60 PUSH1 0xa0 23EE 1B SHL 23EF 03 SUB 23F0 16 AND 23F1 14 EQ 23F2 80 DUP1 23F3 61 PUSH2 0x2571 23F6 57 *JUMPI 23F7 50 POP 23F8 60 PUSH1 0x02 23FA 54 SLOAD 23FB 60 PUSH1 0x40 23FD 80 DUP1 23FE 51 MLOAD 23FF 80 DUP1 2400 82 DUP3 2401 01 ADD 2402 82 DUP3 2403 52 MSTORE 2404 60 PUSH1 0x0c 2406 81 DUP2 2407 52 MSTORE 2408 6B PUSH12 0x4f776e657246656174757265 2415 60 PUSH1 0xa0 2417 1B SHL 2418 60 PUSH1 0x20 241A 80 DUP1 241B 83 DUP4 241C 01 ADD 241D 91 SWAP2 241E 82 DUP3 241F 52 MSTORE 2420 92 SWAP3 2421 51 MLOAD 2422 63 PUSH4 0x0251382f 2427 60 PUSH1 0xe3 2429 1B SHL 242A 81 DUP2 242B 52 MSTORE 242C 60 PUSH1 0x04 242E 81 DUP2 242F 01 ADD 2430 93 SWAP4 2431 84 DUP5 2432 52 MSTORE 2433 82 DUP3 2434 51 MLOAD 2435 60 PUSH1 0x24 2437 82 DUP3 2438 01 ADD 2439 52 MSTORE 243A 82 DUP3 243B 51 MLOAD 243C 60 PUSH1 0x01 243E 60 PUSH1 0x01 2440 60 PUSH1 0xa0 2442 1B SHL 2443 03 SUB 2444 90 SWAP1 2445 95 SWAP6 2446 16 AND 2447 94 SWAP5 2448 63 PUSH4 0x1289c178 244D 94 SWAP5 244E 92 SWAP3 244F 83 DUP4 2450 92 SWAP3 2451 60 PUSH1 0x44 2453 01 ADD 2454 91 SWAP2 2455 80 DUP1 2456 83 DUP4 2457 83 DUP4 2458 60 PUSH1 0x00 245A 5B JUMPDEST 245B 83 DUP4 245C 81 DUP2 245D 10 LT 245E 15 ISZERO 245F 61 PUSH2 0x2472 2462 57 *JUMPI 2463 81 DUP2 2464 81 DUP2 2465 01 ADD 2466 51 MLOAD 2467 83 DUP4 2468 82 DUP3 2469 01 ADD 246A 52 MSTORE 246B 60 PUSH1 0x20 246D 01 ADD 246E 61 PUSH2 0x245a 2471 56 *JUMP 2472 5B JUMPDEST 2473 50 POP 2474 50 POP 2475 50 POP 2476 50 POP 2477 90 SWAP1 2478 50 POP 2479 90 SWAP1 247A 81 DUP2 247B 01 ADD 247C 90 SWAP1 247D 60 PUSH1 0x1f 247F 16 AND 2480 80 DUP1 2481 15 ISZERO 2482 61 PUSH2 0x249f 2485 57 *JUMPI 2486 80 DUP1 2487 82 DUP3 2488 03 SUB 2489 80 DUP1 248A 51 MLOAD 248B 60 PUSH1 0x01 248D 83 DUP4 248E 60 PUSH1 0x20 2490 03 SUB 2491 61 PUSH2 0x0100 2494 0A EXP 2495 03 SUB 2496 19 NOT 2497 16 AND 2498 81 DUP2 2499 52 MSTORE 249A 60 PUSH1 0x20 249C 01 ADD 249D 91 SWAP2 249E 50 POP 249F 5B JUMPDEST 24A0 50 POP 24A1 92 SWAP3 24A2 50 POP 24A3 50 POP 24A4 50 POP 24A5 60 PUSH1 0x20 24A7 60 PUSH1 0x40 24A9 51 MLOAD 24AA 80 DUP1 24AB 83 DUP4 24AC 03 SUB 24AD 81 DUP2 24AE 86 DUP7 24AF 80 DUP1 24B0 3B EXTCODESIZE 24B1 15 ISZERO 24B2 80 DUP1 24B3 15 ISZERO 24B4 61 PUSH2 0x24bc 24B7 57 *JUMPI 24B8 60 PUSH1 0x00 24BA 80 DUP1 24BB FD *REVERT 24BC 5B JUMPDEST 24BD 50 POP 24BE 5A GAS 24BF FA STATICCALL 24C0 15 ISZERO 24C1 80 DUP1 24C2 15 ISZERO 24C3 61 PUSH2 0x24d0 24C6 57 *JUMPI 24C7 3D RETURNDATASIZE 24C8 60 PUSH1 0x00 24CA 80 DUP1 24CB 3E RETURNDATACOPY 24CC 3D RETURNDATASIZE 24CD 60 PUSH1 0x00 24CF FD *REVERT 24D0 5B JUMPDEST 24D1 50 POP 24D2 50 POP 24D3 50 POP 24D4 50 POP 24D5 60 PUSH1 0x40 24D7 51 MLOAD 24D8 3D RETURNDATASIZE 24D9 60 PUSH1 0x20 24DB 81 DUP2 24DC 10 LT 24DD 15 ISZERO 24DE 61 PUSH2 0x24e6 24E1 57 *JUMPI 24E2 60 PUSH1 0x00 24E4 80 DUP1 24E5 FD *REVERT 24E6 5B JUMPDEST 24E7 50 POP 24E8 51 MLOAD 24E9 60 PUSH1 0x01 24EB 60 PUSH1 0x01 24ED 60 PUSH1 0xa0 24EF 1B SHL 24F0 03 SUB 24F1 16 AND 24F2 63 PUSH4 0xe5f93e97 24F7 61 PUSH2 0x24fe 24FA 61 PUSH2 0x1c6e 24FD 56 *JUMP 24FE 5B JUMPDEST 24FF 60 PUSH1 0x40 2501 51 MLOAD 2502 82 DUP3 2503 63 PUSH4 0xffffffff 2508 16 AND 2509 60 PUSH1 0xe0 250B 1B SHL 250C 81 DUP2 250D 52 MSTORE 250E 60 PUSH1 0x04 2510 01 ADD 2511 80 DUP1 2512 82 DUP3 2513 60 PUSH1 0x01 2515 60 PUSH1 0x01 2517 60 PUSH1 0xa0 2519 1B SHL 251A 03 SUB 251B 16 AND 251C 60 PUSH1 0x01 251E 60 PUSH1 0x01 2520 60 PUSH1 0xa0 2522 1B SHL 2523 03 SUB 2524 16 AND 2525 81 DUP2 2526 52 MSTORE 2527 60 PUSH1 0x20 2529 01 ADD 252A 91 SWAP2 252B 50 POP 252C 50 POP 252D 60 PUSH1 0x20 252F 60 PUSH1 0x40 2531 51 MLOAD 2532 80 DUP1 2533 83 DUP4 2534 03 SUB 2535 81 DUP2 2536 86 DUP7 2537 80 DUP1 2538 3B EXTCODESIZE 2539 15 ISZERO 253A 80 DUP1 253B 15 ISZERO 253C 61 PUSH2 0x2544 253F 57 *JUMPI 2540 60 PUSH1 0x00 2542 80 DUP1 2543 FD *REVERT 2544 5B JUMPDEST 2545 50 POP 2546 5A GAS 2547 FA STATICCALL 2548 15 ISZERO 2549 80 DUP1 254A 15 ISZERO 254B 61 PUSH2 0x2558 254E 57 *JUMPI 254F 3D RETURNDATASIZE 2550 60 PUSH1 0x00 2552 80 DUP1 2553 3E RETURNDATACOPY 2554 3D RETURNDATASIZE 2555 60 PUSH1 0x00 2557 FD *REVERT 2558 5B JUMPDEST 2559 50 POP 255A 50 POP 255B 50 POP 255C 50 POP 255D 60 PUSH1 0x40 255F 51 MLOAD 2560 3D RETURNDATASIZE 2561 60 PUSH1 0x20 2563 81 DUP2 2564 10 LT 2565 15 ISZERO 2566 61 PUSH2 0x256e 2569 57 *JUMPI 256A 60 PUSH1 0x00 256C 80 DUP1 256D FD *REVERT 256E 5B JUMPDEST 256F 50 POP 2570 51 MLOAD 2571 5B JUMPDEST 2572 61 PUSH2 0x257a 2575 57 *JUMPI 2576 60 PUSH1 0x00 2578 80 DUP1 2579 FD *REVERT 257A 5B JUMPDEST 257B 61 PUSH2 0x2583 257E 84 DUP5 257F 61 PUSH2 0x510c 2582 56 *JUMP 2583 5B JUMPDEST 2584 92 SWAP3 2585 50 POP 2586 92 SWAP3 2587 50 POP 2588 92 SWAP3 2589 50 POP 258A 91 SWAP2 258B 93 SWAP4 258C 90 SWAP1 258D 92 SWAP3 258E 50 POP 258F 56 *JUMP label_2590: // Incoming jump from 0x08FC // Inputs[4] // { // @2594 memory[0x40:0x60] // @25A2 stack[-11] // @25A4 stack[-12] // @25A5 stack[-10] // } 2590 5B JUMPDEST 2591 60 PUSH1 0x40 2593 80 DUP1 2594 51 MLOAD 2595 60 PUSH1 0x20 2597 81 DUP2 2598 01 ADD 2599 90 SWAP1 259A 91 SWAP2 259B 52 MSTORE 259C 60 PUSH1 0x00 259E 80 DUP1 259F 82 DUP3 25A0 52 MSTORE 25A1 90 SWAP1 25A2 9B SWAP12 25A3 50 POP 25A4 9B SWAP12 25A5 99 SWAP10 25A6 50 POP 25A7 50 POP 25A8 50 POP 25A9 50 POP 25AA 50 POP 25AB 50 POP 25AC 50 POP 25AD 50 POP 25AE 50 POP 25AF 50 POP 25B0 56 *JUMP // Stack delta = -10 // Outputs[4] // { // @259B memory[0x40:0x60] = memory[0x40:0x60] + 0x20 // @25A0 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x00 // @25A2 stack[-11] = memory[0x40:0x60] // @25A4 stack[-12] = 0x00 // } // Block ends with unconditional jump to stack[-12] label_25B1: // Incoming call from 0x2D7E, returns to 0x2D7F // Incoming call from 0x0983, returns to 0x0456 // Incoming call from 0x2D7E, returns to 0x2D7F // Inputs[3] // { // @25B9 memory[0x40:0x60] // @25DF memory[0x40:0x60] // @25E6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 25B1 5B JUMPDEST 25B2 60 PUSH1 0x00 25B4 61 PUSH2 0x1cb1 25B7 60 PUSH1 0x40 25B9 51 MLOAD 25BA 80 DUP1 25BB 60 PUSH1 0x40 25BD 01 ADD 25BE 60 PUSH1 0x40 25C0 52 MSTORE 25C1 80 DUP1 25C2 60 PUSH1 0x0d 25C4 81 DUP2 25C5 52 MSTORE 25C6 60 PUSH1 0x20 25C8 01 ADD 25C9 6C PUSH13 0x4d656d62657246656174757265 25D7 60 PUSH1 0x98 25D9 1B SHL 25DA 81 DUP2 25DB 52 MSTORE 25DC 50 POP 25DD 60 PUSH1 0x40 25DF 51 MLOAD 25E0 60 PUSH1 0x20 25E2 01 ADD 25E3 80 DUP1 25E4 82 DUP3 25E5 80 DUP1 25E6 51 MLOAD 25E7 90 SWAP1 25E8 60 PUSH1 0x20 25EA 01 ADD 25EB 90 SWAP1 25EC 80 DUP1 25ED 83 DUP4 25EE 83 DUP4 25EF 5B JUMPDEST 25F0 60 PUSH1 0x20 25F2 83 DUP4 25F3 10 LT 25F4 61 PUSH2 0x260e 25F7 57 *JUMPI // Stack delta = +10 // Outputs[13] // { // @25B2 stack[0] = 0x00 // @25B4 stack[1] = 0x1cb1 // @25B9 stack[2] = memory[0x40:0x60] // @25C0 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @25C5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0d // @25DB memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x4d656d62657246656174757265 << 0x98 // @25E2 stack[3] = 0x20 + memory[0x40:0x60] // @25E3 stack[4] = 0x20 + memory[0x40:0x60] // @25EB stack[5] = 0x20 + memory[0x40:0x60] // @25EB stack[6] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @25EC stack[7] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @25ED stack[8] = 0x20 + memory[0x40:0x60] // @25EE stack[9] = 0x20 + memory[0x40:0x60] // } // Block ends with conditional call to 0x260e, returns to 0x1CB1, if memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] < 0x20 label_25F8: // Incoming jump from 0x25F7, if not memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] < 0x20 // Incoming jump from 0x25F7, if not stack[-3] < 0x20 // Inputs[4] // { // @25F8 stack[-1] // @25F9 memory[stack[-1]:stack[-1] + 0x20] // @25FA stack[-2] // @2600 stack[-3] // } 25F8 80 DUP1 25F9 51 MLOAD 25FA 82 DUP3 25FB 52 MSTORE 25FC 60 PUSH1 0x1f 25FE 19 NOT 25FF 90 SWAP1 2600 92 SWAP3 2601 01 ADD 2602 91 SWAP2 2603 60 PUSH1 0x20 2605 91 SWAP2 2606 82 DUP3 2607 01 ADD 2608 91 SWAP2 2609 01 ADD 260A 61 PUSH2 0x25ef 260D 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @25FB memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @2602 stack[-3] = stack[-3] + ~0x1f // @2608 stack[-2] = 0x20 + stack[-2] // @2609 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x25ef label_260E: // Incoming call from 0x25F7, returns to 0x1CB1, if memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] < 0x20 // Incoming jump from 0x25F7, if stack[-3] < 0x20 // Inputs[17] // { // @2611 stack[-3] // @261C stack[-1] // @261D memory[stack[-1]:stack[-1] + 0x20] // @2620 stack[-2] // @2621 memory[stack[-2]:stack[-2] + 0x20] // @262E stack[-5] // @262E stack[-4] // @2630 stack[-6] // @2631 stack[-8] // @2636 memory[0x40:0x60] // @2644 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2649 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @264C memory[0x40:0x60] // @266D memory[0x40:0x60] // @267B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2680 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @2683 memory[0x40:0x60] // } 260E 5B JUMPDEST 260F 60 PUSH1 0x01 2611 83 DUP4 2612 60 PUSH1 0x20 2614 03 SUB 2615 61 PUSH2 0x0100 2618 0A EXP 2619 03 SUB 261A 80 DUP1 261B 19 NOT 261C 82 DUP3 261D 51 MLOAD 261E 16 AND 261F 81 DUP2 2620 84 DUP5 2621 51 MLOAD 2622 16 AND 2623 80 DUP1 2624 82 DUP3 2625 17 OR 2626 85 DUP6 2627 52 MSTORE 2628 50 POP 2629 50 POP 262A 50 POP 262B 50 POP 262C 50 POP 262D 50 POP 262E 90 SWAP1 262F 50 POP 2630 01 ADD 2631 91 SWAP2 2632 50 POP 2633 50 POP 2634 60 PUSH1 0x40 2636 51 MLOAD 2637 60 PUSH1 0x20 2639 81 DUP2 263A 83 DUP4 263B 03 SUB 263C 03 SUB 263D 81 DUP2 263E 52 MSTORE 263F 90 SWAP1 2640 60 PUSH1 0x40 2642 52 MSTORE 2643 80 DUP1 2644 51 MLOAD 2645 90 SWAP1 2646 60 PUSH1 0x20 2648 01 ADD 2649 20 SHA3 264A 60 PUSH1 0x40 264C 51 MLOAD 264D 60 PUSH1 0x20 264F 01 ADD 2650 80 DUP1 2651 82 DUP3 2652 81 DUP2 2653 52 MSTORE 2654 60 PUSH1 0x20 2656 01 ADD 2657 80 DUP1 2658 65 PUSH6 0x26b2b6b132b9 265F 60 PUSH1 0xd1 2661 1B SHL 2662 81 DUP2 2663 52 MSTORE 2664 50 POP 2665 60 PUSH1 0x06 2667 01 ADD 2668 91 SWAP2 2669 50 POP 266A 50 POP 266B 60 PUSH1 0x40 266D 51 MLOAD 266E 60 PUSH1 0x20 2670 81 DUP2 2671 83 DUP4 2672 03 SUB 2673 03 SUB 2674 81 DUP2 2675 52 MSTORE 2676 90 SWAP1 2677 60 PUSH1 0x40 2679 52 MSTORE 267A 80 DUP1 267B 51 MLOAD 267C 90 SWAP1 267D 60 PUSH1 0x20 267F 01 ADD 2680 20 SHA3 2681 60 PUSH1 0x40 2683 51 MLOAD 2684 80 DUP1 2685 60 PUSH1 0x40 2687 01 ADD 2688 60 PUSH1 0x40 268A 52 MSTORE 268B 80 DUP1 268C 60 PUSH1 0x07 268E 81 DUP2 268F 52 MSTORE 2690 60 PUSH1 0x20 2692 01 ADD 2693 66 PUSH7 0x31b7bab73a32b9 269B 60 PUSH1 0xc9 269D 1B SHL 269E 81 DUP2 269F 52 MSTORE 26A0 50 POP 26A1 61 PUSH2 0x5296 26A4 56 *JUMP // Stack delta = -6 // Outputs[12] // { // @2627 memory[stack[-2]:stack[-2] + 0x20] = (memory[stack[-1]:stack[-1] + 0x20] & ~(0x0100 ** (0x20 - stack[-3]) - 0x01)) | (memory[stack[-2]:stack[-2] + 0x20] & 0x0100 ** (0x20 - stack[-3]) - 0x01) // @263E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (stack[-4] + stack[-6]) - memory[0x40:0x60] - 0x20 // @2642 memory[0x40:0x60] = stack[-4] + stack[-6] // @2653 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @2663 memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x26b2b6b132b9 << 0xd1 // @2675 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0x06 + 0x20 + 0x20 + memory[0x40:0x60]) - memory[0x40:0x60] - 0x20 // @2679 memory[0x40:0x60] = 0x06 + 0x20 + 0x20 + memory[0x40:0x60] // @2680 stack[-8] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @2683 stack[-7] = memory[0x40:0x60] // @268A memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @268F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x07 // @269F memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x31b7bab73a32b9 << 0xc9 // } // Block ends with unconditional jump to 0x5296 label_26A5: // Incoming call from 0x098B, returns to 0x0456 // Inputs[2] // { // @26A8 storage[0x01] // @26B5 msg.sender // } 26A5 5B JUMPDEST 26A6 60 PUSH1 0x01 26A8 54 SLOAD 26A9 60 PUSH1 0x00 26AB 90 SWAP1 26AC 60 PUSH1 0x01 26AE 60 PUSH1 0x01 26B0 60 PUSH1 0xa0 26B2 1B SHL 26B3 03 SUB 26B4 16 AND 26B5 33 CALLER 26B6 14 EQ 26B7 61 PUSH2 0x26f5 26BA 57 *JUMPI // Stack delta = +1 // Outputs[1] { @26AB stack[0] = 0x00 } // Block ends with conditional jump to 0x26f5, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_26BB: // Incoming jump from 0x26BA, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @26BE memory[0x40:0x60] // @26D9 memory[0x00:0x20] // @26E2 memory[0x00:0x20] // @26EB memory[0x40:0x60] // @26F4 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 26BB 60 PUSH1 0x40 26BD 80 DUP1 26BE 51 MLOAD 26BF 62 PUSH3 0x461bcd 26C3 60 PUSH1 0xe5 26C5 1B SHL 26C6 81 DUP2 26C7 52 MSTORE 26C8 60 PUSH1 0x20 26CA 60 PUSH1 0x04 26CC 82 DUP3 26CD 01 ADD 26CE 52 MSTORE 26CF 60 PUSH1 0x1b 26D1 60 PUSH1 0x24 26D3 82 DUP3 26D4 01 ADD 26D5 52 MSTORE 26D6 60 PUSH1 0x00 26D8 80 DUP1 26D9 51 MLOAD 26DA 60 PUSH1 0x20 26DC 61 PUSH2 0x5e8e 26DF 83 DUP4 26E0 39 CODECOPY 26E1 81 DUP2 26E2 51 MLOAD 26E3 91 SWAP2 26E4 52 MSTORE 26E5 60 PUSH1 0x44 26E7 82 DUP3 26E8 01 ADD 26E9 52 MSTORE 26EA 90 SWAP1 26EB 51 MLOAD 26EC 90 SWAP1 26ED 81 DUP2 26EE 90 SWAP1 26EF 03 SUB 26F0 60 PUSH1 0x64 26F2 01 ADD 26F3 90 SWAP1 26F4 FD *REVERT // Stack delta = +0 // Outputs[7] // { // @26C7 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @26CE memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @26D5 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @26E0 memory[0x00:0x20] = code[0x5e8e:0x5eae] // @26E4 memory[0x00:0x20] = memory[0x00:0x20] // @26E9 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @26F4 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_26F5: // Incoming jump from 0x26BA, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[2] // { // @26F9 storage[0x07] // @26FA stack[-2] // } 26F5 5B JUMPDEST 26F6 50 POP 26F7 60 PUSH1 0x07 26F9 54 SLOAD 26FA 90 SWAP1 26FB 56 *JUMP // Stack delta = -1 // Outputs[1] { @26FA stack[-2] = storage[0x07] } // Block ends with unconditional jump to stack[-2] label_26FC: // Incoming call from 0x0993, returns to 0x0456 // Inputs[2] // { // @26FF storage[0x09] // @2700 stack[-1] // } 26FC 5B JUMPDEST 26FD 60 PUSH1 0x09 26FF 54 SLOAD 2700 90 SWAP1 2701 56 *JUMP // Stack delta = +0 // Outputs[1] { @2700 stack[-1] = storage[0x09] } // Block ends with unconditional jump to stack[-1] label_2702: // Incoming jump from 0x0A51 2702 5B JUMPDEST 2703 61 PUSH2 0x270d 2706 61 PUSH2 0x1d33 2709 61 PUSH2 0x1c6e 270C 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @2703 stack[0] = 0x270d // @2706 stack[1] = 0x1d33 // } // Block ends with unconditional jump to 0x1c6e 270D 5B JUMPDEST 270E 80 DUP1 270F 15 ISZERO 2710 61 PUSH2 0x2894 2713 57 *JUMPI 2714 50 POP 2715 60 PUSH1 0x02 2717 54 SLOAD 2718 60 PUSH1 0x40 271A 80 DUP1 271B 51 MLOAD 271C 80 DUP1 271D 82 DUP3 271E 01 ADD 271F 82 DUP3 2720 52 MSTORE 2721 60 PUSH1 0x0c 2723 81 DUP2 2724 52 MSTORE 2725 6B PUSH12 0x546f6b656e46656174757265 2732 60 PUSH1 0xa0 2734 1B SHL 2735 60 PUSH1 0x20 2737 80 DUP1 2738 83 DUP4 2739 01 ADD 273A 91 SWAP2 273B 82 DUP3 273C 52 MSTORE 273D 92 SWAP3 273E 51 MLOAD 273F 63 PUSH4 0x0251382f 2744 60 PUSH1 0xe3 2746 1B SHL 2747 81 DUP2 2748 52 MSTORE 2749 60 PUSH1 0x04 274B 81 DUP2 274C 01 ADD 274D 93 SWAP4 274E 84 DUP5 274F 52 MSTORE 2750 82 DUP3 2751 51 MLOAD 2752 60 PUSH1 0x24 2754 82 DUP3 2755 01 ADD 2756 52 MSTORE 2757 82 DUP3 2758 51 MLOAD 2759 60 PUSH1 0x00 275B 95 SWAP6 275C 60 PUSH1 0x01 275E 60 PUSH1 0x01 2760 60 PUSH1 0xa0 2762 1B SHL 2763 03 SUB 2764 16 AND 2765 94 SWAP5 2766 63 PUSH4 0x1289c178 276B 94 SWAP5 276C 93 SWAP4 276D 90 SWAP1 276E 92 SWAP3 276F 83 DUP4 2770 92 SWAP3 2771 60 PUSH1 0x44 2773 90 SWAP1 2774 91 SWAP2 2775 01 ADD 2776 91 SWAP2 2777 90 SWAP1 2778 80 DUP1 2779 83 DUP4 277A 83 DUP4 277B 8B DUP12 277C 5B JUMPDEST 277D 83 DUP4 277E 81 DUP2 277F 10 LT 2780 15 ISZERO 2781 61 PUSH2 0x2794 2784 57 *JUMPI 2785 81 DUP2 2786 81 DUP2 2787 01 ADD 2788 51 MLOAD 2789 83 DUP4 278A 82 DUP3 278B 01 ADD 278C 52 MSTORE 278D 60 PUSH1 0x20 278F 01 ADD 2790 61 PUSH2 0x277c 2793 56 *JUMP 2794 5B JUMPDEST 2795 50 POP 2796 50 POP 2797 50 POP 2798 50 POP 2799 90 SWAP1 279A 50 POP 279B 90 SWAP1 279C 81 DUP2 279D 01 ADD 279E 90 SWAP1 279F 60 PUSH1 0x1f 27A1 16 AND 27A2 80 DUP1 27A3 15 ISZERO 27A4 61 PUSH2 0x27c1 27A7 57 *JUMPI 27A8 80 DUP1 27A9 82 DUP3 27AA 03 SUB 27AB 80 DUP1 27AC 51 MLOAD 27AD 60 PUSH1 0x01 27AF 83 DUP4 27B0 60 PUSH1 0x20 27B2 03 SUB 27B3 61 PUSH2 0x0100 27B6 0A EXP 27B7 03 SUB 27B8 19 NOT 27B9 16 AND 27BA 81 DUP2 27BB 52 MSTORE 27BC 60 PUSH1 0x20 27BE 01 ADD 27BF 91 SWAP2 27C0 50 POP 27C1 5B JUMPDEST 27C2 50 POP 27C3 92 SWAP3 27C4 50 POP 27C5 50 POP 27C6 50 POP 27C7 60 PUSH1 0x20 27C9 60 PUSH1 0x40 27CB 51 MLOAD 27CC 80 DUP1 27CD 83 DUP4 27CE 03 SUB 27CF 81 DUP2 27D0 86 DUP7 27D1 80 DUP1 27D2 3B EXTCODESIZE 27D3 15 ISZERO 27D4 80 DUP1 27D5 15 ISZERO 27D6 61 PUSH2 0x27de 27D9 57 *JUMPI 27DA 60 PUSH1 0x00 27DC 80 DUP1 27DD FD *REVERT 27DE 5B JUMPDEST 27DF 50 POP 27E0 5A GAS 27E1 FA STATICCALL 27E2 15 ISZERO 27E3 80 DUP1 27E4 15 ISZERO 27E5 61 PUSH2 0x27f2 27E8 57 *JUMPI 27E9 3D RETURNDATASIZE 27EA 60 PUSH1 0x00 27EC 80 DUP1 27ED 3E RETURNDATACOPY 27EE 3D RETURNDATASIZE 27EF 60 PUSH1 0x00 27F1 FD *REVERT 27F2 5B JUMPDEST 27F3 50 POP 27F4 50 POP 27F5 50 POP 27F6 50 POP 27F7 60 PUSH1 0x40 27F9 51 MLOAD 27FA 3D RETURNDATASIZE 27FB 60 PUSH1 0x20 27FD 81 DUP2 27FE 10 LT 27FF 15 ISZERO 2800 61 PUSH2 0x2808 2803 57 *JUMPI 2804 60 PUSH1 0x00 2806 80 DUP1 2807 FD *REVERT 2808 5B JUMPDEST 2809 50 POP 280A 51 MLOAD 280B 60 PUSH1 0x01 280D 60 PUSH1 0x01 280F 60 PUSH1 0xa0 2811 1B SHL 2812 03 SUB 2813 16 AND 2814 63 PUSH4 0x70a08231 2819 61 PUSH2 0x2820 281C 61 PUSH2 0x1c6e 281F 56 *JUMP 2820 5B JUMPDEST 2821 60 PUSH1 0x40 2823 51 MLOAD 2824 82 DUP3 2825 63 PUSH4 0xffffffff 282A 16 AND 282B 60 PUSH1 0xe0 282D 1B SHL 282E 81 DUP2 282F 52 MSTORE 2830 60 PUSH1 0x04 2832 01 ADD 2833 80 DUP1 2834 82 DUP3 2835 60 PUSH1 0x01 2837 60 PUSH1 0x01 2839 60 PUSH1 0xa0 283B 1B SHL 283C 03 SUB 283D 16 AND 283E 60 PUSH1 0x01 2840 60 PUSH1 0x01 2842 60 PUSH1 0xa0 2844 1B SHL 2845 03 SUB 2846 16 AND 2847 81 DUP2 2848 52 MSTORE 2849 60 PUSH1 0x20 284B 01 ADD 284C 91 SWAP2 284D 50 POP 284E 50 POP 284F 60 PUSH1 0x20 2851 60 PUSH1 0x40 2853 51 MLOAD 2854 80 DUP1 2855 83 DUP4 2856 03 SUB 2857 81 DUP2 2858 86 DUP7 2859 80 DUP1 285A 3B EXTCODESIZE 285B 15 ISZERO 285C 80 DUP1 285D 15 ISZERO 285E 61 PUSH2 0x2866 2861 57 *JUMPI 2862 60 PUSH1 0x00 2864 80 DUP1 2865 FD *REVERT 2866 5B JUMPDEST 2867 50 POP 2868 5A GAS 2869 FA STATICCALL 286A 15 ISZERO 286B 80 DUP1 286C 15 ISZERO 286D 61 PUSH2 0x287a 2870 57 *JUMPI 2871 3D RETURNDATASIZE 2872 60 PUSH1 0x00 2874 80 DUP1 2875 3E RETURNDATACOPY 2876 3D RETURNDATASIZE 2877 60 PUSH1 0x00 2879 FD *REVERT 287A 5B JUMPDEST 287B 50 POP 287C 50 POP 287D 50 POP 287E 50 POP 287F 60 PUSH1 0x40 2881 51 MLOAD 2882 3D RETURNDATASIZE 2883 60 PUSH1 0x20 2885 81 DUP2 2886 10 LT 2887 15 ISZERO 2888 61 PUSH2 0x2890 288B 57 *JUMPI 288C 60 PUSH1 0x00 288E 80 DUP1 288F FD *REVERT 2890 5B JUMPDEST 2891 50 POP 2892 51 MLOAD 2893 11 GT 2894 5B JUMPDEST 2895 61 PUSH2 0x289d 2898 57 *JUMPI 2899 60 PUSH1 0x00 289B 80 DUP1 289C FD *REVERT 289D 5B JUMPDEST 289E 61 PUSH2 0x18c2 28A1 84 DUP5 28A2 84 DUP5 28A3 80 DUP1 28A4 80 DUP1 28A5 60 PUSH1 0x1f 28A7 01 ADD 28A8 60 PUSH1 0x20 28AA 80 DUP1 28AB 91 SWAP2 28AC 04 DIV 28AD 02 MUL 28AE 60 PUSH1 0x20 28B0 01 ADD 28B1 60 PUSH1 0x40 28B3 51 MLOAD 28B4 90 SWAP1 28B5 81 DUP2 28B6 01 ADD 28B7 60 PUSH1 0x40 28B9 52 MSTORE 28BA 80 DUP1 28BB 93 SWAP4 28BC 92 SWAP3 28BD 91 SWAP2 28BE 90 SWAP1 28BF 81 DUP2 28C0 81 DUP2 28C1 52 MSTORE 28C2 60 PUSH1 0x20 28C4 01 ADD 28C5 83 DUP4 28C6 83 DUP4 28C7 80 DUP1 28C8 82 DUP3 28C9 84 DUP5 28CA 37 CALLDATACOPY 28CB 60 PUSH1 0x00 28CD 92 SWAP3 28CE 01 ADD 28CF 91 SWAP2 28D0 90 SWAP1 28D1 91 SWAP2 28D2 52 MSTORE 28D3 50 POP 28D4 50 POP 28D5 60 PUSH1 0x40 28D7 80 DUP1 28D8 51 MLOAD 28D9 60 PUSH1 0x20 28DB 60 PUSH1 0x1f 28DD 88 DUP9 28DE 01 ADD 28DF 81 DUP2 28E0 90 SWAP1 28E1 04 DIV 28E2 81 DUP2 28E3 02 MUL 28E4 82 DUP3 28E5 01 ADD 28E6 81 DUP2 28E7 01 ADD 28E8 90 SWAP1 28E9 92 SWAP3 28EA 52 MSTORE 28EB 86 DUP7 28EC 81 DUP2 28ED 52 MSTORE 28EE 92 SWAP3 28EF 50 POP 28F0 86 DUP7 28F1 91 SWAP2 28F2 50 POP 28F3 85 DUP6 28F4 90 SWAP1 28F5 81 DUP2 28F6 90 SWAP1 28F7 84 DUP5 28F8 01 ADD 28F9 83 DUP4 28FA 82 DUP3 28FB 80 DUP1 28FC 82 DUP3 28FD 84 DUP5 28FE 37 CALLDATACOPY 28FF 60 PUSH1 0x00 2901 92 SWAP3 2902 01 ADD 2903 91 SWAP2 2904 90 SWAP1 2905 91 SWAP2 2906 52 MSTORE 2907 50 POP 2908 61 PUSH2 0x4fcd 290B 92 SWAP3 290C 50 POP 290D 50 POP 290E 50 POP 290F 56 *JUMP label_2910: // Incoming jump from 0x0A59 // Inputs[5] // { // @2913 storage[0x02] // @2917 memory[0x40:0x60] // @293A memory[0x40:0x60] // @294D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2954 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 2910 5B JUMPDEST 2911 60 PUSH1 0x02 2913 54 SLOAD 2914 60 PUSH1 0x40 2916 80 DUP1 2917 51 MLOAD 2918 80 DUP1 2919 82 DUP3 291A 01 ADD 291B 82 DUP3 291C 52 MSTORE 291D 60 PUSH1 0x0c 291F 81 DUP2 2920 52 MSTORE 2921 6B PUSH12 0x546f6b656e46656174757265 292E 60 PUSH1 0xa0 2930 1B SHL 2931 60 PUSH1 0x20 2933 80 DUP1 2934 83 DUP4 2935 01 ADD 2936 91 SWAP2 2937 82 DUP3 2938 52 MSTORE 2939 92 SWAP3 293A 51 MLOAD 293B 63 PUSH4 0x0251382f 2940 60 PUSH1 0xe3 2942 1B SHL 2943 81 DUP2 2944 52 MSTORE 2945 60 PUSH1 0x04 2947 81 DUP2 2948 01 ADD 2949 93 SWAP4 294A 84 DUP5 294B 52 MSTORE 294C 82 DUP3 294D 51 MLOAD 294E 60 PUSH1 0x24 2950 82 DUP3 2951 01 ADD 2952 52 MSTORE 2953 82 DUP3 2954 51 MLOAD 2955 60 PUSH1 0x60 2957 95 SWAP6 2958 60 PUSH1 0x01 295A 60 PUSH1 0x01 295C 60 PUSH1 0xa0 295E 1B SHL 295F 03 SUB 2960 16 AND 2961 94 SWAP5 2962 63 PUSH4 0x1289c178 2967 94 SWAP5 2968 93 SWAP4 2969 90 SWAP1 296A 92 SWAP3 296B 83 DUP4 296C 92 SWAP3 296D 60 PUSH1 0x44 296F 90 SWAP1 2970 91 SWAP2 2971 01 ADD 2972 91 SWAP2 2973 90 SWAP1 2974 80 DUP1 2975 83 DUP4 2976 83 DUP4 2977 60 PUSH1 0x00 2979 5B JUMPDEST 297A 83 DUP4 297B 81 DUP2 297C 10 LT 297D 15 ISZERO 297E 61 PUSH2 0x2991 2981 57 *JUMPI // Stack delta = +13 // Outputs[19] // { // @291C memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2920 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @2938 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0 // @2944 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @294B memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @2952 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2957 stack[0] = 0x60 // @2961 stack[1] = (0x01 << 0xa0) - 0x01 & storage[0x02] // @2967 stack[2] = 0x1289c178 // @2968 stack[3] = memory[0x40:0x60] // @296A stack[4] = memory[0x40:0x60] + 0x04 // @296C stack[5] = memory[0x40:0x60] + 0x04 // @2972 stack[6] = memory[0x40:0x60] + 0x44 // @2973 stack[7] = memory[0x40:0x60] + 0x20 // @2973 stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2974 stack[9] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2975 stack[10] = memory[0x40:0x60] + 0x44 // @2976 stack[11] = memory[0x40:0x60] + 0x20 // @2977 stack[12] = 0x00 // } // Block ends with conditional jump to 0x2991, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_2982: // Incoming jump from 0x2981, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x2981, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @2982 stack[-2] // @2983 stack[-1] // @2985 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @2986 stack[-3] // } 2982 81 DUP2 2983 81 DUP2 2984 01 ADD 2985 51 MLOAD 2986 83 DUP4 2987 82 DUP3 2988 01 ADD 2989 52 MSTORE 298A 60 PUSH1 0x20 298C 01 ADD 298D 61 PUSH2 0x2979 2990 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @2989 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @298C stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x2979 label_2991: // Incoming jump from 0x2981, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x2981, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @2996 stack[-6] // @2996 stack[-5] // @2998 stack[-7] // } 2991 5B JUMPDEST 2992 50 POP 2993 50 POP 2994 50 POP 2995 50 POP 2996 90 SWAP1 2997 50 POP 2998 90 SWAP1 2999 81 DUP2 299A 01 ADD 299B 90 SWAP1 299C 60 PUSH1 0x1f 299E 16 AND 299F 80 DUP1 29A0 15 ISZERO 29A1 61 PUSH2 0x29be 29A4 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @299B stack[-7] = stack[-5] + stack[-7] // @299E stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x29be, if !(0x1f & stack[-5]) label_29A5: // Incoming jump from 0x29A4, if not !(0x1f & stack[-5]) // Inputs[7] // { // @29A5 stack[-1] // @29A6 stack[-2] // @29A9 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @29C0 stack[-5] // @29C8 memory[0x40:0x60] // @29CD stack[-7] // @29CF address(stack[-7]).code.length // } 29A5 80 DUP1 29A6 82 DUP3 29A7 03 SUB 29A8 80 DUP1 29A9 51 MLOAD 29AA 60 PUSH1 0x01 29AC 83 DUP4 29AD 60 PUSH1 0x20 29AF 03 SUB 29B0 61 PUSH2 0x0100 29B3 0A EXP 29B4 03 SUB 29B5 19 NOT 29B6 16 AND 29B7 81 DUP2 29B8 52 MSTORE 29B9 60 PUSH1 0x20 29BB 01 ADD 29BC 91 SWAP2 29BD 50 POP 29BE 5B JUMPDEST 29BF 50 POP 29C0 92 SWAP3 29C1 50 POP 29C2 50 POP 29C3 50 POP 29C4 60 PUSH1 0x20 29C6 60 PUSH1 0x40 29C8 51 MLOAD 29C9 80 DUP1 29CA 83 DUP4 29CB 03 SUB 29CC 81 DUP2 29CD 86 DUP7 29CE 80 DUP1 29CF 3B EXTCODESIZE 29D0 15 ISZERO 29D1 80 DUP1 29D2 15 ISZERO 29D3 61 PUSH2 0x29db 29D6 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @29B8 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @29C0 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @29C4 stack[-4] = 0x20 // @29C8 stack[-3] = memory[0x40:0x60] // @29CB stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @29CC stack[-1] = memory[0x40:0x60] // @29CD stack[0] = stack[-7] // @29D0 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x29db, if !!address(stack[-7]).code.length label_29D7: // Incoming jump from 0x29D6, if not !!address(stack[-7]).code.length // Incoming jump from 0x29D6, if not !!address(stack[-7]).code.length // Inputs[1] { @29DA memory[0x00:0x00] } 29D7 60 PUSH1 0x00 29D9 80 DUP1 29DA FD *REVERT // Stack delta = +0 // Outputs[1] { @29DA revert(memory[0x00:0x00]); } // Block terminates label_29DB: // Incoming jump from 0x29D6, if !!address(stack[-7]).code.length // Incoming jump from 0x29D6, if !!address(stack[-7]).code.length // Inputs[8] // { // @29DD msg.gas // @29DE address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @29DE memory[stack[-3]:stack[-3] + stack[-4]] // @29DE stack[-5] // @29DE stack[-2] // @29DE stack[-4] // @29DE stack[-6] // @29DE stack[-3] // } 29DB 5B JUMPDEST 29DC 50 POP 29DD 5A GAS 29DE FA STATICCALL 29DF 15 ISZERO 29E0 80 DUP1 29E1 15 ISZERO 29E2 61 PUSH2 0x29ef 29E5 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @29DE memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @29DF stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x29ef, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_29E6: // Incoming jump from 0x29E5, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @29E6 returndata.length // @29EA returndata[0x00:0x00 + returndata.length] // @29EB returndata.length // @29EE memory[0x00:0x00 + returndata.length] // } 29E6 3D RETURNDATASIZE 29E7 60 PUSH1 0x00 29E9 80 DUP1 29EA 3E RETURNDATACOPY 29EB 3D RETURNDATASIZE 29EC 60 PUSH1 0x00 29EE FD *REVERT // Stack delta = +0 // Outputs[2] // { // @29EA memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @29EE revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_29EF: // Incoming jump from 0x29E5, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @29F6 memory[0x40:0x60] // @29F7 returndata.length // } 29EF 5B JUMPDEST 29F0 50 POP 29F1 50 POP 29F2 50 POP 29F3 50 POP 29F4 60 PUSH1 0x40 29F6 51 MLOAD 29F7 3D RETURNDATASIZE 29F8 60 PUSH1 0x20 29FA 81 DUP2 29FB 10 LT 29FC 15 ISZERO 29FD 61 PUSH2 0x2a05 2A00 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @29F6 stack[-4] = memory[0x40:0x60] // @29F7 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x2a05, if !(returndata.length < 0x20) label_2A01: // Incoming jump from 0x2A00, if not !(returndata.length < 0x20) // Inputs[1] { @2A04 memory[0x00:0x00] } 2A01 60 PUSH1 0x00 2A03 80 DUP1 2A04 FD *REVERT // Stack delta = +0 // Outputs[1] { @2A04 revert(memory[0x00:0x00]); } // Block terminates label_2A05: // Incoming jump from 0x2A00, if !(returndata.length < 0x20) // Inputs[2] // { // @2A07 stack[-2] // @2A07 memory[stack[-2]:stack[-2] + 0x20] // } 2A05 5B JUMPDEST 2A06 50 POP 2A07 51 MLOAD 2A08 60 PUSH1 0x01 2A0A 60 PUSH1 0x01 2A0C 60 PUSH1 0xa0 2A0E 1B SHL 2A0F 03 SUB 2A10 16 AND 2A11 61 PUSH2 0x2a18 2A14 61 PUSH2 0x1c6e 2A17 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @2A10 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @2A11 stack[-1] = 0x2a18 // } // Block ends with unconditional jump to 0x1c6e 2A18 5B JUMPDEST 2A19 60 PUSH1 0x01 2A1B 60 PUSH1 0x01 2A1D 60 PUSH1 0xa0 2A1F 1B SHL 2A20 03 SUB 2A21 16 AND 2A22 14 EQ 2A23 80 DUP1 2A24 61 PUSH2 0x2ba2 2A27 57 *JUMPI 2A28 50 POP 2A29 60 PUSH1 0x02 2A2B 54 SLOAD 2A2C 60 PUSH1 0x40 2A2E 80 DUP1 2A2F 51 MLOAD 2A30 80 DUP1 2A31 82 DUP3 2A32 01 ADD 2A33 82 DUP3 2A34 52 MSTORE 2A35 60 PUSH1 0x0c 2A37 81 DUP2 2A38 52 MSTORE 2A39 6B PUSH12 0x4f776e657246656174757265 2A46 60 PUSH1 0xa0 2A48 1B SHL 2A49 60 PUSH1 0x20 2A4B 80 DUP1 2A4C 83 DUP4 2A4D 01 ADD 2A4E 91 SWAP2 2A4F 82 DUP3 2A50 52 MSTORE 2A51 92 SWAP3 2A52 51 MLOAD 2A53 63 PUSH4 0x0251382f 2A58 60 PUSH1 0xe3 2A5A 1B SHL 2A5B 81 DUP2 2A5C 52 MSTORE 2A5D 60 PUSH1 0x04 2A5F 81 DUP2 2A60 01 ADD 2A61 93 SWAP4 2A62 84 DUP5 2A63 52 MSTORE 2A64 82 DUP3 2A65 51 MLOAD 2A66 60 PUSH1 0x24 2A68 82 DUP3 2A69 01 ADD 2A6A 52 MSTORE 2A6B 82 DUP3 2A6C 51 MLOAD 2A6D 60 PUSH1 0x01 2A6F 60 PUSH1 0x01 2A71 60 PUSH1 0xa0 2A73 1B SHL 2A74 03 SUB 2A75 90 SWAP1 2A76 95 SWAP6 2A77 16 AND 2A78 94 SWAP5 2A79 63 PUSH4 0x1289c178 2A7E 94 SWAP5 2A7F 92 SWAP3 2A80 83 DUP4 2A81 92 SWAP3 2A82 60 PUSH1 0x44 2A84 01 ADD 2A85 91 SWAP2 2A86 80 DUP1 2A87 83 DUP4 2A88 83 DUP4 2A89 60 PUSH1 0x00 2A8B 5B JUMPDEST 2A8C 83 DUP4 2A8D 81 DUP2 2A8E 10 LT 2A8F 15 ISZERO 2A90 61 PUSH2 0x2aa3 2A93 57 *JUMPI 2A94 81 DUP2 2A95 81 DUP2 2A96 01 ADD 2A97 51 MLOAD 2A98 83 DUP4 2A99 82 DUP3 2A9A 01 ADD 2A9B 52 MSTORE 2A9C 60 PUSH1 0x20 2A9E 01 ADD 2A9F 61 PUSH2 0x2a8b 2AA2 56 *JUMP 2AA3 5B JUMPDEST 2AA4 50 POP 2AA5 50 POP 2AA6 50 POP 2AA7 50 POP 2AA8 90 SWAP1 2AA9 50 POP 2AAA 90 SWAP1 2AAB 81 DUP2 2AAC 01 ADD 2AAD 90 SWAP1 2AAE 60 PUSH1 0x1f 2AB0 16 AND 2AB1 80 DUP1 2AB2 15 ISZERO 2AB3 61 PUSH2 0x2ad0 2AB6 57 *JUMPI 2AB7 80 DUP1 2AB8 82 DUP3 2AB9 03 SUB 2ABA 80 DUP1 2ABB 51 MLOAD 2ABC 60 PUSH1 0x01 2ABE 83 DUP4 2ABF 60 PUSH1 0x20 2AC1 03 SUB 2AC2 61 PUSH2 0x0100 2AC5 0A EXP 2AC6 03 SUB 2AC7 19 NOT 2AC8 16 AND 2AC9 81 DUP2 2ACA 52 MSTORE 2ACB 60 PUSH1 0x20 2ACD 01 ADD 2ACE 91 SWAP2 2ACF 50 POP 2AD0 5B JUMPDEST 2AD1 50 POP 2AD2 92 SWAP3 2AD3 50 POP 2AD4 50 POP 2AD5 50 POP 2AD6 60 PUSH1 0x20 2AD8 60 PUSH1 0x40 2ADA 51 MLOAD 2ADB 80 DUP1 2ADC 83 DUP4 2ADD 03 SUB 2ADE 81 DUP2 2ADF 86 DUP7 2AE0 80 DUP1 2AE1 3B EXTCODESIZE 2AE2 15 ISZERO 2AE3 80 DUP1 2AE4 15 ISZERO 2AE5 61 PUSH2 0x2aed 2AE8 57 *JUMPI 2AE9 60 PUSH1 0x00 2AEB 80 DUP1 2AEC FD *REVERT 2AED 5B JUMPDEST 2AEE 50 POP 2AEF 5A GAS 2AF0 FA STATICCALL 2AF1 15 ISZERO 2AF2 80 DUP1 2AF3 15 ISZERO 2AF4 61 PUSH2 0x2b01 2AF7 57 *JUMPI 2AF8 3D RETURNDATASIZE 2AF9 60 PUSH1 0x00 2AFB 80 DUP1 2AFC 3E RETURNDATACOPY 2AFD 3D RETURNDATASIZE 2AFE 60 PUSH1 0x00 2B00 FD *REVERT 2B01 5B JUMPDEST 2B02 50 POP 2B03 50 POP 2B04 50 POP 2B05 50 POP 2B06 60 PUSH1 0x40 2B08 51 MLOAD 2B09 3D RETURNDATASIZE 2B0A 60 PUSH1 0x20 2B0C 81 DUP2 2B0D 10 LT 2B0E 15 ISZERO 2B0F 61 PUSH2 0x2b17 2B12 57 *JUMPI 2B13 60 PUSH1 0x00 2B15 80 DUP1 2B16 FD *REVERT 2B17 5B JUMPDEST 2B18 50 POP 2B19 51 MLOAD 2B1A 60 PUSH1 0x01 2B1C 60 PUSH1 0x01 2B1E 60 PUSH1 0xa0 2B20 1B SHL 2B21 03 SUB 2B22 16 AND 2B23 63 PUSH4 0xe5f93e97 2B28 61 PUSH2 0x2b2f 2B2B 61 PUSH2 0x1c6e 2B2E 56 *JUMP 2B2F 5B JUMPDEST 2B30 60 PUSH1 0x40 2B32 51 MLOAD 2B33 82 DUP3 2B34 63 PUSH4 0xffffffff 2B39 16 AND 2B3A 60 PUSH1 0xe0 2B3C 1B SHL 2B3D 81 DUP2 2B3E 52 MSTORE 2B3F 60 PUSH1 0x04 2B41 01 ADD 2B42 80 DUP1 2B43 82 DUP3 2B44 60 PUSH1 0x01 2B46 60 PUSH1 0x01 2B48 60 PUSH1 0xa0 2B4A 1B SHL 2B4B 03 SUB 2B4C 16 AND 2B4D 60 PUSH1 0x01 2B4F 60 PUSH1 0x01 2B51 60 PUSH1 0xa0 2B53 1B SHL 2B54 03 SUB 2B55 16 AND 2B56 81 DUP2 2B57 52 MSTORE 2B58 60 PUSH1 0x20 2B5A 01 ADD 2B5B 91 SWAP2 2B5C 50 POP 2B5D 50 POP 2B5E 60 PUSH1 0x20 2B60 60 PUSH1 0x40 2B62 51 MLOAD 2B63 80 DUP1 2B64 83 DUP4 2B65 03 SUB 2B66 81 DUP2 2B67 86 DUP7 2B68 80 DUP1 2B69 3B EXTCODESIZE 2B6A 15 ISZERO 2B6B 80 DUP1 2B6C 15 ISZERO 2B6D 61 PUSH2 0x2b75 2B70 57 *JUMPI 2B71 60 PUSH1 0x00 2B73 80 DUP1 2B74 FD *REVERT 2B75 5B JUMPDEST 2B76 50 POP 2B77 5A GAS 2B78 FA STATICCALL 2B79 15 ISZERO 2B7A 80 DUP1 2B7B 15 ISZERO 2B7C 61 PUSH2 0x2b89 2B7F 57 *JUMPI 2B80 3D RETURNDATASIZE 2B81 60 PUSH1 0x00 2B83 80 DUP1 2B84 3E RETURNDATACOPY 2B85 3D RETURNDATASIZE 2B86 60 PUSH1 0x00 2B88 FD *REVERT 2B89 5B JUMPDEST 2B8A 50 POP 2B8B 50 POP 2B8C 50 POP 2B8D 50 POP 2B8E 60 PUSH1 0x40 2B90 51 MLOAD 2B91 3D RETURNDATASIZE 2B92 60 PUSH1 0x20 2B94 81 DUP2 2B95 10 LT 2B96 15 ISZERO 2B97 61 PUSH2 0x2b9f 2B9A 57 *JUMPI 2B9B 60 PUSH1 0x00 2B9D 80 DUP1 2B9E FD *REVERT 2B9F 5B JUMPDEST 2BA0 50 POP 2BA1 51 MLOAD 2BA2 5B JUMPDEST 2BA3 61 PUSH2 0x2bab 2BA6 57 *JUMPI 2BA7 60 PUSH1 0x00 2BA9 80 DUP1 2BAA FD *REVERT 2BAB 5B JUMPDEST 2BAC 60 PUSH1 0x00 2BAE 80 DUP1 2BAF 60 PUSH1 0x60 2BB1 61 PUSH2 0x2bb8 2BB4 61 PUSH2 0x25b1 2BB7 56 *JUMP 2BB8 5B JUMPDEST 2BB9 60 PUSH1 0x40 2BBB 51 MLOAD 2BBC 90 SWAP1 2BBD 80 DUP1 2BBE 82 DUP3 2BBF 52 MSTORE 2BC0 80 DUP1 2BC1 60 PUSH1 0x20 2BC3 02 MUL 2BC4 60 PUSH1 0x20 2BC6 01 ADD 2BC7 82 DUP3 2BC8 01 ADD 2BC9 60 PUSH1 0x40 2BCB 52 MSTORE 2BCC 80 DUP1 2BCD 15 ISZERO 2BCE 61 PUSH2 0x2be1 2BD1 57 *JUMPI 2BD2 81 DUP2 2BD3 60 PUSH1 0x20 2BD5 01 ADD 2BD6 60 PUSH1 0x20 2BD8 82 DUP3 2BD9 02 MUL 2BDA 80 DUP1 2BDB 38 CODESIZE 2BDC 83 DUP4 2BDD 39 CODECOPY 2BDE 01 ADD 2BDF 90 SWAP1 2BE0 50 POP 2BE1 5B JUMPDEST 2BE2 50 POP 2BE3 90 SWAP1 2BE4 50 POP 2BE5 60 PUSH1 0x00 2BE7 5B JUMPDEST 2BE8 81 DUP2 2BE9 51 MLOAD 2BEA 81 DUP2 2BEB 10 LT 2BEC 15 ISZERO 2BED 61 PUSH2 0x2d14 2BF0 57 *JUMPI 2BF1 60 PUSH1 0x40 2BF3 80 DUP1 2BF4 51 MLOAD 2BF5 80 DUP1 2BF6 82 DUP3 2BF7 01 ADD 2BF8 82 DUP3 2BF9 52 MSTORE 2BFA 60 PUSH1 0x0d 2BFC 80 DUP1 2BFD 82 DUP3 2BFE 52 MSTORE 2BFF 6C PUSH13 0x4d656d62657246656174757265 2C0D 60 PUSH1 0x98 2C0F 1B SHL 2C10 60 PUSH1 0x20 2C12 80 DUP1 2C13 84 DUP5 2C14 01 ADD 2C15 91 SWAP2 2C16 82 DUP3 2C17 52 MSTORE 2C18 93 SWAP4 2C19 51 MLOAD 2C1A 61 PUSH2 0x2cbd 2C1D 94 SWAP5 2C1E 01 ADD 2C1F 91 SWAP2 2C20 82 DUP3 2C21 91 SWAP2 2C22 90 SWAP1 2C23 80 DUP1 2C24 83 DUP4 2C25 83 DUP4 2C26 5B JUMPDEST 2C27 60 PUSH1 0x20 2C29 83 DUP4 2C2A 10 LT 2C2B 61 PUSH2 0x2c45 2C2E 57 *JUMPI 2C2F 80 DUP1 2C30 51 MLOAD 2C31 82 DUP3 2C32 52 MSTORE 2C33 60 PUSH1 0x1f 2C35 19 NOT 2C36 90 SWAP1 2C37 92 SWAP3 2C38 01 ADD 2C39 91 SWAP2 2C3A 60 PUSH1 0x20 2C3C 91 SWAP2 2C3D 82 DUP3 2C3E 01 ADD 2C3F 91 SWAP2 2C40 01 ADD 2C41 61 PUSH2 0x2c26 2C44 56 *JUMP label_2C45: // Incoming call from 0x2DBF, returns to 0x2DC0 // Inputs[17] // { // @2C48 stack[-3] // @2C53 stack[-1] // @2C54 memory[stack[-1]:stack[-1] + 0x20] // @2C57 stack[-2] // @2C58 memory[stack[-2]:stack[-2] + 0x20] // @2C65 stack[-4] // @2C65 stack[-5] // @2C67 stack[-6] // @2C68 stack[-8] // @2C6D memory[0x40:0x60] // @2C7B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2C80 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @2C83 memory[0x40:0x60] // @2CA4 memory[0x40:0x60] // @2CB2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2CB7 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @2CB8 stack[-10] // } 2C45 5B JUMPDEST 2C46 60 PUSH1 0x01 2C48 83 DUP4 2C49 60 PUSH1 0x20 2C4B 03 SUB 2C4C 61 PUSH2 0x0100 2C4F 0A EXP 2C50 03 SUB 2C51 80 DUP1 2C52 19 NOT 2C53 82 DUP3 2C54 51 MLOAD 2C55 16 AND 2C56 81 DUP2 2C57 84 DUP5 2C58 51 MLOAD 2C59 16 AND 2C5A 80 DUP1 2C5B 82 DUP3 2C5C 17 OR 2C5D 85 DUP6 2C5E 52 MSTORE 2C5F 50 POP 2C60 50 POP 2C61 50 POP 2C62 50 POP 2C63 50 POP 2C64 50 POP 2C65 90 SWAP1 2C66 50 POP 2C67 01 ADD 2C68 91 SWAP2 2C69 50 POP 2C6A 50 POP 2C6B 60 PUSH1 0x40 2C6D 51 MLOAD 2C6E 60 PUSH1 0x20 2C70 81 DUP2 2C71 83 DUP4 2C72 03 SUB 2C73 03 SUB 2C74 81 DUP2 2C75 52 MSTORE 2C76 90 SWAP1 2C77 60 PUSH1 0x40 2C79 52 MSTORE 2C7A 80 DUP1 2C7B 51 MLOAD 2C7C 90 SWAP1 2C7D 60 PUSH1 0x20 2C7F 01 ADD 2C80 20 SHA3 2C81 60 PUSH1 0x40 2C83 51 MLOAD 2C84 60 PUSH1 0x20 2C86 01 ADD 2C87 80 DUP1 2C88 82 DUP3 2C89 81 DUP2 2C8A 52 MSTORE 2C8B 60 PUSH1 0x20 2C8D 01 ADD 2C8E 80 DUP1 2C8F 65 PUSH6 0x26b2b6b132b9 2C96 60 PUSH1 0xd1 2C98 1B SHL 2C99 81 DUP2 2C9A 52 MSTORE 2C9B 50 POP 2C9C 60 PUSH1 0x06 2C9E 01 ADD 2C9F 91 SWAP2 2CA0 50 POP 2CA1 50 POP 2CA2 60 PUSH1 0x40 2CA4 51 MLOAD 2CA5 60 PUSH1 0x20 2CA7 81 DUP2 2CA8 83 DUP4 2CA9 03 SUB 2CAA 03 SUB 2CAB 81 DUP2 2CAC 52 MSTORE 2CAD 90 SWAP1 2CAE 60 PUSH1 0x40 2CB0 52 MSTORE 2CB1 80 DUP1 2CB2 51 MLOAD 2CB3 90 SWAP1 2CB4 60 PUSH1 0x20 2CB6 01 ADD 2CB7 20 SHA3 2CB8 82 DUP3 2CB9 61 PUSH2 0x5399 2CBC 56 *JUMP // Stack delta = -6 // Outputs[9] // { // @2C5E memory[stack[-2]:stack[-2] + 0x20] = (memory[stack[-1]:stack[-1] + 0x20] & ~(0x0100 ** (0x20 - stack[-3]) - 0x01)) | (memory[stack[-2]:stack[-2] + 0x20] & 0x0100 ** (0x20 - stack[-3]) - 0x01) // @2C75 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (stack[-4] + stack[-6]) - memory[0x40:0x60] - 0x20 // @2C79 memory[0x40:0x60] = stack[-4] + stack[-6] // @2C8A memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @2C9A memory[0x20 + 0x20 + memory[0x40:0x60]:0x20 + 0x20 + memory[0x40:0x60] + 0x20] = 0x26b2b6b132b9 << 0xd1 // @2CAC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0x06 + 0x20 + 0x20 + memory[0x40:0x60]) - memory[0x40:0x60] - 0x20 // @2CB0 memory[0x40:0x60] = 0x06 + 0x20 + 0x20 + memory[0x40:0x60] // @2CB7 stack[-8] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @2CB8 stack[-7] = stack[-10] // } // Block ends with unconditional jump to 0x5399 2CBD 5B JUMPDEST 2CBE 93 SWAP4 2CBF 50 POP 2CC0 61 PUSH2 0x2ce5 2CC3 84 DUP5 2CC4 60 PUSH1 0x40 2CC6 51 MLOAD 2CC7 80 DUP1 2CC8 60 PUSH1 0x40 2CCA 01 ADD 2CCB 60 PUSH1 0x40 2CCD 52 MSTORE 2CCE 80 DUP1 2CCF 60 PUSH1 0x04 2CD1 81 DUP2 2CD2 52 MSTORE 2CD3 60 PUSH1 0x20 2CD5 01 ADD 2CD6 63 PUSH4 0x30b23239 2CDB 60 PUSH1 0xe1 2CDD 1B SHL 2CDE 81 DUP2 2CDF 52 MSTORE 2CE0 50 POP 2CE1 61 PUSH2 0x53c5 2CE4 56 *JUMP 2CE5 5B JUMPDEST 2CE6 92 SWAP3 2CE7 50 POP 2CE8 82 DUP3 2CE9 82 DUP3 2CEA 82 DUP3 2CEB 81 DUP2 2CEC 51 MLOAD 2CED 81 DUP2 2CEE 10 LT 2CEF 61 PUSH2 0x2cf4 2CF2 57 *JUMPI 2CF3 FE *ASSERT 2CF4 5B JUMPDEST 2CF5 60 PUSH1 0x01 2CF7 60 PUSH1 0x01 2CF9 60 PUSH1 0xa0 2CFB 1B SHL 2CFC 03 SUB 2CFD 90 SWAP1 2CFE 92 SWAP3 2CFF 16 AND 2D00 60 PUSH1 0x20 2D02 92 SWAP3 2D03 83 DUP4 2D04 02 MUL 2D05 91 SWAP2 2D06 90 SWAP1 2D07 91 SWAP2 2D08 01 ADD 2D09 90 SWAP1 2D0A 91 SWAP2 2D0B 01 ADD 2D0C 52 MSTORE 2D0D 60 PUSH1 0x01 2D0F 01 ADD 2D10 61 PUSH2 0x2be7 2D13 56 *JUMP 2D14 5B JUMPDEST 2D15 50 POP 2D16 92 SWAP3 2D17 50 POP 2D18 50 POP 2D19 50 POP 2D1A 90 SWAP1 2D1B 56 *JUMP label_2D1C: // Incoming jump from 0x0AD5 // Inputs[1] { @2D25 stack[-2] } 2D1C 5B JUMPDEST 2D1D 60 PUSH1 0x00 2D1F 80 DUP1 2D20 60 PUSH1 0x00 2D22 61 PUSH2 0x2d2a 2D25 85 DUP6 2D26 61 PUSH2 0x4ded 2D29 56 *JUMP // Stack delta = +5 // Outputs[5] // { // @2D1D stack[0] = 0x00 // @2D1F stack[1] = 0x00 // @2D20 stack[2] = 0x00 // @2D22 stack[3] = 0x2d2a // @2D25 stack[4] = stack[-2] // } // Block ends with call to 0x4ded, returns to 0x2D2A label_2D2A: // Incoming return from call to 0x4DED at 0x2D29 // Inputs[5] // { // @2D2B stack[-3] // @2D2B stack[-1] // @2D2D stack[-2] // @2D2D stack[-4] // @2D2F stack[-6] // } 2D2A 5B JUMPDEST 2D2B 91 SWAP2 2D2C 50 POP 2D2D 91 SWAP2 2D2E 50 POP 2D2F 83 DUP4 2D30 82 DUP3 2D31 14 EQ 2D32 80 DUP1 2D33 61 PUSH2 0x2d3b 2D36 57 *JUMPI // Stack delta = -1 // Outputs[3] // { // @2D2B stack[-3] = stack[-1] // @2D2D stack[-4] = stack[-2] // @2D31 stack[-2] = stack[-2] == stack[-6] // } // Block ends with conditional jump to 0x2d3b, if stack[-2] == stack[-6] label_2D37: // Incoming jump from 0x2D36, if not stack[-2] == stack[-6] // Inputs[2] // { // @2D38 stack[-5] // @2D39 stack[-2] // } 2D37 50 POP 2D38 83 DUP4 2D39 81 DUP2 2D3A 14 EQ 2D3B 5B JUMPDEST 2D3C 15 ISZERO 2D3D 61 PUSH2 0x2d4b 2D40 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x2d4b, if !(stack[-2] == stack[-5]) label_2D41: // Incoming jump from 0x2D40, if not !(stack[-2] == stack[-5]) // Incoming jump from 0x2D40, if not !stack[-1] // Inputs[1] { @2D43 stack[-3] } 2D41 60 PUSH1 0x01 2D43 92 SWAP3 2D44 50 POP 2D45 50 POP 2D46 50 POP 2D47 61 PUSH2 0x1900 2D4A 56 *JUMP // Stack delta = -2 // Outputs[1] { @2D43 stack[-3] = 0x01 } // Block ends with unconditional jump to 0x1900 label_2D4B: // Incoming jump from 0x2D40, if !(stack[-2] == stack[-5]) // Incoming jump from 0x2D40, if !stack[-1] // Inputs[3] // { // @2D4E stack[-3] // @2D4E stack[-6] // @2D4F stack[-5] // } 2D4B 5B JUMPDEST 2D4C 50 POP 2D4D 50 POP 2D4E 92 SWAP3 2D4F 91 SWAP2 2D50 50 POP 2D51 50 POP 2D52 56 *JUMP // Stack delta = -5 // Outputs[1] { @2D4E stack[-6] = stack[-3] } // Block ends with unconditional jump to stack[-6] label_2D53: // Incoming call from 0x0ADD, returns to 0x0618 // Inputs[2] // { // @2D56 memory[0x40:0x60] // @2D70 stack[-1] // } 2D53 5B JUMPDEST 2D54 60 PUSH1 0x40 2D56 51 MLOAD 2D57 80 DUP1 2D58 60 PUSH1 0x40 2D5A 01 ADD 2D5B 60 PUSH1 0x40 2D5D 52 MSTORE 2D5E 80 DUP1 2D5F 60 PUSH1 0x03 2D61 81 DUP2 2D62 52 MSTORE 2D63 60 PUSH1 0x20 2D65 01 ADD 2D66 62 PUSH3 0x19171b 2D6A 60 PUSH1 0xe9 2D6C 1B SHL 2D6D 81 DUP2 2D6E 52 MSTORE 2D6F 50 POP 2D70 81 DUP2 2D71 56 *JUMP // Stack delta = +1 // Outputs[4] // { // @2D56 stack[0] = memory[0x40:0x60] // @2D5D memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2D62 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x03 // @2D6E memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x19171b << 0xe9 // } // Block ends with unconditional jump to stack[-1] label_2D72: // Incoming jump from 0x0B03 2D72 5B JUMPDEST 2D73 60 PUSH1 0x00 2D75 80 DUP1 2D76 80 DUP1 2D77 5B JUMPDEST 2D78 61 PUSH2 0x2d7f 2D7B 61 PUSH2 0x25b1 2D7E 56 *JUMP // Stack delta = +4 // Outputs[4] // { // @2D73 stack[0] = 0x00 // @2D75 stack[1] = 0x00 // @2D76 stack[2] = 0x00 // @2D78 stack[3] = 0x2d7f // } // Block ends with call to 0x25b1, returns to 0x2D7F label_2D7F: // Incoming return from call to 0x25B1 at 0x2D7E // Incoming return from call to 0x25B1 at 0x2D7E // Inputs[2] // { // @2D80 stack[-2] // @2D81 stack[-1] // } 2D7F 5B JUMPDEST 2D80 81 DUP2 2D81 10 LT 2D82 15 ISZERO 2D83 61 PUSH2 0x2e14 2D86 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x2e14, if !(stack[-2] < stack[-1]) label_2D87: // Incoming jump from 0x2D86, if not !(stack[-2] < stack[-1]) // Inputs[2] // { // @2D8A memory[0x40:0x60] // @2DAF memory[0x40:0x60] // } 2D87 60 PUSH1 0x40 2D89 80 DUP1 2D8A 51 MLOAD 2D8B 80 DUP1 2D8C 82 DUP3 2D8D 01 ADD 2D8E 82 DUP3 2D8F 52 MSTORE 2D90 60 PUSH1 0x0d 2D92 80 DUP1 2D93 82 DUP3 2D94 52 MSTORE 2D95 6C PUSH13 0x4d656d62657246656174757265 2DA3 60 PUSH1 0x98 2DA5 1B SHL 2DA6 60 PUSH1 0x20 2DA8 80 DUP1 2DA9 84 DUP5 2DAA 01 ADD 2DAB 91 SWAP2 2DAC 82 DUP3 2DAD 52 MSTORE 2DAE 93 SWAP4 2DAF 51 MLOAD 2DB0 61 PUSH2 0x2dc0 2DB3 94 SWAP5 2DB4 01 ADD 2DB5 91 SWAP2 2DB6 82 DUP3 2DB7 91 SWAP2 2DB8 90 SWAP1 2DB9 80 DUP1 2DBA 83 DUP4 2DBB 83 DUP4 2DBC 61 PUSH2 0x2c45 2DBF 56 *JUMP // Stack delta = +9 // Outputs[12] // { // @2D8A stack[1] = memory[0x40:0x60] // @2D8F memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2D94 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0d // @2DAD memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4d656d62657246656174757265 << 0x98 // @2DB3 stack[0] = 0x2dc0 // @2DB5 stack[2] = 0x20 + memory[0x40:0x60] // @2DB7 stack[3] = 0x20 + memory[0x40:0x60] // @2DB8 stack[4] = memory[0x40:0x60] + 0x20 // @2DB8 stack[5] = 0x0d // @2DB9 stack[6] = 0x0d // @2DBA stack[7] = 0x20 + memory[0x40:0x60] // @2DBB stack[8] = memory[0x40:0x60] + 0x20 // } // Block ends with call to 0x2c45, returns to 0x2DC0 label_2DC0: // Incoming return from call to 0x2C45 at 0x2DBF // Inputs[4] // { // @2DC1 stack[-3] // @2DC1 stack[-1] // @2DC3 stack[-5] // @2DD3 memory[0x40:0x60] // } 2DC0 5B JUMPDEST 2DC1 91 SWAP2 2DC2 50 POP 2DC3 83 DUP4 2DC4 60 PUSH1 0x01 2DC6 60 PUSH1 0x01 2DC8 60 PUSH1 0xa0 2DCA 1B SHL 2DCB 03 SUB 2DCC 16 AND 2DCD 61 PUSH2 0x2df2 2DD0 83 DUP4 2DD1 60 PUSH1 0x40 2DD3 51 MLOAD 2DD4 80 DUP1 2DD5 60 PUSH1 0x40 2DD7 01 ADD 2DD8 60 PUSH1 0x40 2DDA 52 MSTORE 2DDB 80 DUP1 2DDC 60 PUSH1 0x04 2DDE 81 DUP2 2DDF 52 MSTORE 2DE0 60 PUSH1 0x20 2DE2 01 ADD 2DE3 63 PUSH4 0x30b23239 2DE8 60 PUSH1 0xe1 2DEA 1B SHL 2DEB 81 DUP2 2DEC 52 MSTORE 2DED 50 POP 2DEE 61 PUSH2 0x53c5 2DF1 56 *JUMP // Stack delta = +3 // Outputs[8] // { // @2DC1 stack[-3] = stack[-1] // @2DCC stack[-1] = (0x01 << 0xa0) - 0x01 & stack[-5] // @2DCD stack[0] = 0x2df2 // @2DD0 stack[1] = stack[-1] // @2DD3 stack[2] = memory[0x40:0x60] // @2DDA memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2DDF memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x04 // @2DEC memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = 0x30b23239 << 0xe1 // } // Block ends with call to 0x53c5, returns to 0x2DF2 label_2DF2: // Incoming return from call to 0x53C5 at 0x2DF1 // Inputs[2] // { // @2DFB stack[-1] // @2DFC stack[-2] // } 2DF2 5B JUMPDEST 2DF3 60 PUSH1 0x01 2DF5 60 PUSH1 0x01 2DF7 60 PUSH1 0xa0 2DF9 1B SHL 2DFA 03 SUB 2DFB 16 AND 2DFC 14 EQ 2DFD 15 ISZERO 2DFE 61 PUSH2 0x2e0c 2E01 57 *JUMPI // Stack delta = -2 // Block ends with conditional jump to 0x2e0c, if !((0x01 << 0xa0) - 0x01 & stack[-1] == stack[-2]) label_2E02: // Incoming jump from 0x2E01, if not !((0x01 << 0xa0) - 0x01 & stack[-1] == stack[-2]) // Inputs[1] { @2E04 stack[-3] } 2E02 60 PUSH1 0x01 2E04 92 SWAP3 2E05 50 POP 2E06 50 POP 2E07 50 POP 2E08 61 PUSH2 0x2e1b 2E0B 56 *JUMP // Stack delta = -2 // Outputs[1] { @2E04 stack[-3] = 0x01 } // Block ends with unconditional jump to 0x2e1b label_2E0C: // Incoming jump from 0x2E01, if !((0x01 << 0xa0) - 0x01 & stack[-1] == stack[-2]) // Inputs[1] { @2E0F stack[-1] } 2E0C 5B JUMPDEST 2E0D 60 PUSH1 0x01 2E0F 01 ADD 2E10 61 PUSH2 0x2d77 2E13 56 *JUMP // Stack delta = +0 // Outputs[1] { @2E0F stack[-1] = 0x01 + stack[-1] } // Block ends with unconditional jump to 0x2d77 label_2E14: // Incoming jump from 0x2D86, if !(stack[-2] < stack[-1]) // Inputs[3] // { // @2E18 stack[-3] // @2E1C stack[-5] // @2E1D stack[-4] // } 2E14 5B JUMPDEST 2E15 50 POP 2E16 60 PUSH1 0x00 2E18 91 SWAP2 2E19 50 POP 2E1A 50 POP 2E1B 5B JUMPDEST 2E1C 91 SWAP2 2E1D 90 SWAP1 2E1E 50 POP 2E1F 56 *JUMP // Stack delta = -4 // Outputs[1] { @2E1C stack[-5] = 0x00 } // Block ends with unconditional jump to stack[-5] label_2E20: // Incoming jump from 0x0BD1 // Inputs[5] // { // @2E23 storage[0x02] // @2E27 memory[0x40:0x60] // @2E4A memory[0x40:0x60] // @2E5D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2E64 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 2E20 5B JUMPDEST 2E21 60 PUSH1 0x02 2E23 54 SLOAD 2E24 60 PUSH1 0x40 2E26 80 DUP1 2E27 51 MLOAD 2E28 80 DUP1 2E29 82 DUP3 2E2A 01 ADD 2E2B 82 DUP3 2E2C 52 MSTORE 2E2D 60 PUSH1 0x0c 2E2F 81 DUP2 2E30 52 MSTORE 2E31 6B PUSH12 0x4f776e657246656174757265 2E3E 60 PUSH1 0xa0 2E40 1B SHL 2E41 60 PUSH1 0x20 2E43 80 DUP1 2E44 83 DUP4 2E45 01 ADD 2E46 91 SWAP2 2E47 82 DUP3 2E48 52 MSTORE 2E49 92 SWAP3 2E4A 51 MLOAD 2E4B 63 PUSH4 0x0251382f 2E50 60 PUSH1 0xe3 2E52 1B SHL 2E53 81 DUP2 2E54 52 MSTORE 2E55 60 PUSH1 0x04 2E57 81 DUP2 2E58 01 ADD 2E59 93 SWAP4 2E5A 84 DUP5 2E5B 52 MSTORE 2E5C 82 DUP3 2E5D 51 MLOAD 2E5E 60 PUSH1 0x24 2E60 82 DUP3 2E61 01 ADD 2E62 52 MSTORE 2E63 82 DUP3 2E64 51 MLOAD 2E65 60 PUSH1 0x01 2E67 60 PUSH1 0x01 2E69 60 PUSH1 0xa0 2E6B 1B SHL 2E6C 03 SUB 2E6D 90 SWAP1 2E6E 95 SWAP6 2E6F 16 AND 2E70 94 SWAP5 2E71 63 PUSH4 0x1289c178 2E76 94 SWAP5 2E77 92 SWAP3 2E78 83 DUP4 2E79 92 SWAP3 2E7A 60 PUSH1 0x44 2E7C 01 ADD 2E7D 91 SWAP2 2E7E 80 DUP1 2E7F 83 DUP4 2E80 83 DUP4 2E81 60 PUSH1 0x00 2E83 5B JUMPDEST 2E84 83 DUP4 2E85 81 DUP2 2E86 10 LT 2E87 15 ISZERO 2E88 61 PUSH2 0x2e9b 2E8B 57 *JUMPI // Stack delta = +12 // Outputs[18] // { // @2E27 stack[2] = memory[0x40:0x60] // @2E2C memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @2E30 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @2E48 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0 // @2E54 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @2E5B memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @2E62 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2E70 stack[0] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @2E76 stack[1] = 0x1289c178 // @2E77 stack[6] = memory[0x40:0x60] + 0x20 // @2E77 stack[3] = memory[0x40:0x60] + 0x04 // @2E79 stack[4] = memory[0x40:0x60] + 0x04 // @2E7D stack[5] = 0x44 + memory[0x40:0x60] // @2E7D stack[7] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2E7E stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @2E7F stack[9] = 0x44 + memory[0x40:0x60] // @2E80 stack[10] = memory[0x40:0x60] + 0x20 // @2E81 stack[11] = 0x00 // } // Block ends with conditional jump to 0x2e9b, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_2E8C: // Incoming jump from 0x2E8B, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x2E8B, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @2E8C stack[-2] // @2E8D stack[-1] // @2E8F memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @2E90 stack[-3] // } 2E8C 81 DUP2 2E8D 81 DUP2 2E8E 01 ADD 2E8F 51 MLOAD 2E90 83 DUP4 2E91 82 DUP3 2E92 01 ADD 2E93 52 MSTORE 2E94 60 PUSH1 0x20 2E96 01 ADD 2E97 61 PUSH2 0x2e83 2E9A 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @2E93 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @2E96 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x2e83 label_2E9B: // Incoming jump from 0x2E8B, if !(stack[-1] < stack[-4]) // Incoming jump from 0x2E8B, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @2EA0 stack[-6] // @2EA0 stack[-5] // @2EA2 stack[-7] // } 2E9B 5B JUMPDEST 2E9C 50 POP 2E9D 50 POP 2E9E 50 POP 2E9F 50 POP 2EA0 90 SWAP1 2EA1 50 POP 2EA2 90 SWAP1 2EA3 81 DUP2 2EA4 01 ADD 2EA5 90 SWAP1 2EA6 60 PUSH1 0x1f 2EA8 16 AND 2EA9 80 DUP1 2EAA 15 ISZERO 2EAB 61 PUSH2 0x2ec8 2EAE 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @2EA5 stack[-7] = stack[-5] + stack[-7] // @2EA8 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x2ec8, if !(0x1f & stack[-5]) label_2EAF: // Incoming jump from 0x2EAE, if not !(0x1f & stack[-5]) // Inputs[7] // { // @2EAF stack[-1] // @2EB0 stack[-2] // @2EB3 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @2ECA stack[-5] // @2ED2 memory[0x40:0x60] // @2ED7 stack[-7] // @2ED9 address(stack[-7]).code.length // } 2EAF 80 DUP1 2EB0 82 DUP3 2EB1 03 SUB 2EB2 80 DUP1 2EB3 51 MLOAD 2EB4 60 PUSH1 0x01 2EB6 83 DUP4 2EB7 60 PUSH1 0x20 2EB9 03 SUB 2EBA 61 PUSH2 0x0100 2EBD 0A EXP 2EBE 03 SUB 2EBF 19 NOT 2EC0 16 AND 2EC1 81 DUP2 2EC2 52 MSTORE 2EC3 60 PUSH1 0x20 2EC5 01 ADD 2EC6 91 SWAP2 2EC7 50 POP 2EC8 5B JUMPDEST 2EC9 50 POP 2ECA 92 SWAP3 2ECB 50 POP 2ECC 50 POP 2ECD 50 POP 2ECE 60 PUSH1 0x20 2ED0 60 PUSH1 0x40 2ED2 51 MLOAD 2ED3 80 DUP1 2ED4 83 DUP4 2ED5 03 SUB 2ED6 81 DUP2 2ED7 86 DUP7 2ED8 80 DUP1 2ED9 3B EXTCODESIZE 2EDA 15 ISZERO 2EDB 80 DUP1 2EDC 15 ISZERO 2EDD 61 PUSH2 0x2ee5 2EE0 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @2EC2 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @2ECA stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @2ECE stack[-4] = 0x20 // @2ED2 stack[-3] = memory[0x40:0x60] // @2ED5 stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @2ED6 stack[-1] = memory[0x40:0x60] // @2ED7 stack[0] = stack[-7] // @2EDA stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x2ee5, if !!address(stack[-7]).code.length label_2EE1: // Incoming jump from 0x2EE0, if not !!address(stack[-7]).code.length // Incoming jump from 0x2EE0, if not !!address(stack[-7]).code.length // Inputs[1] { @2EE4 memory[0x00:0x00] } 2EE1 60 PUSH1 0x00 2EE3 80 DUP1 2EE4 FD *REVERT // Stack delta = +0 // Outputs[1] { @2EE4 revert(memory[0x00:0x00]); } // Block terminates label_2EE5: // Incoming jump from 0x2EE0, if !!address(stack[-7]).code.length // Incoming jump from 0x2EE0, if !!address(stack[-7]).code.length // Inputs[8] // { // @2EE7 msg.gas // @2EE8 stack[-3] // @2EE8 stack[-4] // @2EE8 stack[-2] // @2EE8 stack[-6] // @2EE8 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @2EE8 memory[stack[-3]:stack[-3] + stack[-4]] // @2EE8 stack[-5] // } 2EE5 5B JUMPDEST 2EE6 50 POP 2EE7 5A GAS 2EE8 FA STATICCALL 2EE9 15 ISZERO 2EEA 80 DUP1 2EEB 15 ISZERO 2EEC 61 PUSH2 0x2ef9 2EEF 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @2EE8 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @2EE9 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x2ef9, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_2EF0: // Incoming jump from 0x2EEF, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @2EF0 returndata.length // @2EF4 returndata[0x00:0x00 + returndata.length] // @2EF5 returndata.length // @2EF8 memory[0x00:0x00 + returndata.length] // } 2EF0 3D RETURNDATASIZE 2EF1 60 PUSH1 0x00 2EF3 80 DUP1 2EF4 3E RETURNDATACOPY 2EF5 3D RETURNDATASIZE 2EF6 60 PUSH1 0x00 2EF8 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @2EF4 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @2EF8 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_2EF9: // Incoming jump from 0x2EEF, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @2F00 memory[0x40:0x60] // @2F01 returndata.length // } 2EF9 5B JUMPDEST 2EFA 50 POP 2EFB 50 POP 2EFC 50 POP 2EFD 50 POP 2EFE 60 PUSH1 0x40 2F00 51 MLOAD 2F01 3D RETURNDATASIZE 2F02 60 PUSH1 0x20 2F04 81 DUP2 2F05 10 LT 2F06 15 ISZERO 2F07 61 PUSH2 0x2f0f 2F0A 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @2F00 stack[-4] = memory[0x40:0x60] // @2F01 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x2f0f, if !(returndata.length < 0x20) label_2F0B: // Incoming jump from 0x2F0A, if not !(returndata.length < 0x20) // Inputs[1] { @2F0E memory[0x00:0x00] } 2F0B 60 PUSH1 0x00 2F0D 80 DUP1 2F0E FD *REVERT // Stack delta = +0 // Outputs[1] { @2F0E revert(memory[0x00:0x00]); } // Block terminates label_2F0F: // Incoming jump from 0x2F0A, if !(returndata.length < 0x20) // Inputs[2] // { // @2F11 stack[-2] // @2F11 memory[stack[-2]:stack[-2] + 0x20] // } 2F0F 5B JUMPDEST 2F10 50 POP 2F11 51 MLOAD 2F12 60 PUSH1 0x01 2F14 60 PUSH1 0x01 2F16 60 PUSH1 0xa0 2F18 1B SHL 2F19 03 SUB 2F1A 16 AND 2F1B 63 PUSH4 0x2f54bf6e 2F20 61 PUSH2 0x2f27 2F23 61 PUSH2 0x1c6e 2F26 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @2F1A stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @2F1B stack[-1] = 0x2f54bf6e // @2F20 stack[0] = 0x2f27 // } // Block ends with unconditional jump to 0x1c6e 2F27 5B JUMPDEST 2F28 60 PUSH1 0x40 2F2A 51 MLOAD 2F2B 82 DUP3 2F2C 63 PUSH4 0xffffffff 2F31 16 AND 2F32 60 PUSH1 0xe0 2F34 1B SHL 2F35 81 DUP2 2F36 52 MSTORE 2F37 60 PUSH1 0x04 2F39 01 ADD 2F3A 80 DUP1 2F3B 82 DUP3 2F3C 60 PUSH1 0x01 2F3E 60 PUSH1 0x01 2F40 60 PUSH1 0xa0 2F42 1B SHL 2F43 03 SUB 2F44 16 AND 2F45 60 PUSH1 0x01 2F47 60 PUSH1 0x01 2F49 60 PUSH1 0xa0 2F4B 1B SHL 2F4C 03 SUB 2F4D 16 AND 2F4E 81 DUP2 2F4F 52 MSTORE 2F50 60 PUSH1 0x20 2F52 01 ADD 2F53 91 SWAP2 2F54 50 POP 2F55 50 POP 2F56 60 PUSH1 0x20 2F58 60 PUSH1 0x40 2F5A 51 MLOAD 2F5B 80 DUP1 2F5C 83 DUP4 2F5D 03 SUB 2F5E 81 DUP2 2F5F 86 DUP7 2F60 80 DUP1 2F61 3B EXTCODESIZE 2F62 15 ISZERO 2F63 80 DUP1 2F64 15 ISZERO 2F65 61 PUSH2 0x2f6d 2F68 57 *JUMPI 2F69 60 PUSH1 0x00 2F6B 80 DUP1 2F6C FD *REVERT 2F6D 5B JUMPDEST 2F6E 50 POP 2F6F 5A GAS 2F70 FA STATICCALL 2F71 15 ISZERO 2F72 80 DUP1 2F73 15 ISZERO 2F74 61 PUSH2 0x2f81 2F77 57 *JUMPI 2F78 3D RETURNDATASIZE 2F79 60 PUSH1 0x00 2F7B 80 DUP1 2F7C 3E RETURNDATACOPY 2F7D 3D RETURNDATASIZE 2F7E 60 PUSH1 0x00 2F80 FD *REVERT 2F81 5B JUMPDEST 2F82 50 POP 2F83 50 POP 2F84 50 POP 2F85 50 POP 2F86 60 PUSH1 0x40 2F88 51 MLOAD 2F89 3D RETURNDATASIZE 2F8A 60 PUSH1 0x20 2F8C 81 DUP2 2F8D 10 LT 2F8E 15 ISZERO 2F8F 61 PUSH2 0x2f97 2F92 57 *JUMPI 2F93 60 PUSH1 0x00 2F95 80 DUP1 2F96 FD *REVERT 2F97 5B JUMPDEST 2F98 50 POP 2F99 51 MLOAD 2F9A 61 PUSH2 0x2fa2 2F9D 57 *JUMPI 2F9E 60 PUSH1 0x00 2FA0 80 DUP1 2FA1 FD *REVERT 2FA2 5B JUMPDEST 2FA3 60 PUSH1 0x01 2FA5 60 PUSH1 0x01 2FA7 60 PUSH1 0xa0 2FA9 1B SHL 2FAA 03 SUB 2FAB 86 DUP7 2FAC 16 AND 2FAD 61 PUSH2 0x2ff2 2FB0 57 *JUMPI 2FB1 60 PUSH1 0x40 2FB3 80 DUP1 2FB4 51 MLOAD 2FB5 62 PUSH3 0x461bcd 2FB9 60 PUSH1 0xe5 2FBB 1B SHL 2FBC 81 DUP2 2FBD 52 MSTORE 2FBE 60 PUSH1 0x20 2FC0 60 PUSH1 0x04 2FC2 82 DUP3 2FC3 01 ADD 2FC4 52 MSTORE 2FC5 60 PUSH1 0x12 2FC7 60 PUSH1 0x24 2FC9 82 DUP3 2FCA 01 ADD 2FCB 52 MSTORE 2FCC 71 PUSH18 0x546869732061646472657373206973203021 2FDF 60 PUSH1 0x70 2FE1 1B SHL 2FE2 60 PUSH1 0x44 2FE4 82 DUP3 2FE5 01 ADD 2FE6 52 MSTORE 2FE7 90 SWAP1 2FE8 51 MLOAD 2FE9 90 SWAP1 2FEA 81 DUP2 2FEB 90 SWAP1 2FEC 03 SUB 2FED 60 PUSH1 0x64 2FEF 01 ADD 2FF0 90 SWAP1 2FF1 FD *REVERT 2FF2 5B JUMPDEST 2FF3 83 DUP4 2FF4 15 ISZERO 2FF5 80 DUP1 2FF6 15 ISZERO 2FF7 90 SWAP1 2FF8 61 PUSH2 0x3000 2FFB 57 *JUMPI 2FFC 50 POP 2FFD 81 DUP2 2FFE 15 ISZERO 2FFF 15 ISZERO 3000 5B JUMPDEST 3001 61 PUSH2 0x3009 3004 57 *JUMPI 3005 60 PUSH1 0x00 3007 80 DUP1 3008 FD *REVERT 3009 5B JUMPDEST 300A 61 PUSH2 0x3012 300D 86 DUP7 300E 61 PUSH2 0x2d72 3011 56 *JUMP 3012 5B JUMPDEST 3013 15 ISZERO 3014 80 DUP1 3015 15 ISZERO 3016 61 PUSH2 0x3025 3019 57 *JUMPI 301A 50 POP 301B 61 PUSH2 0x3023 301E 86 DUP7 301F 61 PUSH2 0x4542 3022 56 *JUMP 3023 5B JUMPDEST 3024 15 ISZERO 3025 5B JUMPDEST 3026 61 PUSH2 0x302e 3029 57 *JUMPI 302A 60 PUSH1 0x00 302C 80 DUP1 302D FD *REVERT 302E 5B JUMPDEST 302F 61 PUSH2 0x30a2 3032 86 DUP7 3033 86 DUP7 3034 86 DUP7 3035 80 DUP1 3036 80 DUP1 3037 60 PUSH1 0x1f 3039 01 ADD 303A 60 PUSH1 0x20 303C 80 DUP1 303D 91 SWAP2 303E 04 DIV 303F 02 MUL 3040 60 PUSH1 0x20 3042 01 ADD 3043 60 PUSH1 0x40 3045 51 MLOAD 3046 90 SWAP1 3047 81 DUP2 3048 01 ADD 3049 60 PUSH1 0x40 304B 52 MSTORE 304C 80 DUP1 304D 93 SWAP4 304E 92 SWAP3 304F 91 SWAP2 3050 90 SWAP1 3051 81 DUP2 3052 81 DUP2 3053 52 MSTORE 3054 60 PUSH1 0x20 3056 01 ADD 3057 83 DUP4 3058 83 DUP4 3059 80 DUP1 305A 82 DUP3 305B 84 DUP5 305C 37 CALLDATACOPY 305D 60 PUSH1 0x00 305F 92 SWAP3 3060 01 ADD 3061 91 SWAP2 3062 90 SWAP1 3063 91 SWAP2 3064 52 MSTORE 3065 50 POP 3066 50 POP 3067 60 PUSH1 0x40 3069 80 DUP1 306A 51 MLOAD 306B 60 PUSH1 0x20 306D 60 PUSH1 0x1f 306F 8A DUP11 3070 01 ADD 3071 81 DUP2 3072 90 SWAP1 3073 04 DIV 3074 81 DUP2 3075 02 MUL 3076 82 DUP3 3077 01 ADD 3078 81 DUP2 3079 01 ADD 307A 90 SWAP1 307B 92 SWAP3 307C 52 MSTORE 307D 88 DUP9 307E 81 DUP2 307F 52 MSTORE 3080 92 SWAP3 3081 50 POP 3082 88 DUP9 3083 91 SWAP2 3084 50 POP 3085 87 DUP8 3086 90 SWAP1 3087 81 DUP2 3088 90 SWAP1 3089 84 DUP5 308A 01 ADD 308B 83 DUP4 308C 82 DUP3 308D 80 DUP1 308E 82 DUP3 308F 84 DUP5 3090 37 CALLDATACOPY 3091 60 PUSH1 0x00 3093 92 SWAP3 3094 01 ADD 3095 91 SWAP2 3096 90 SWAP1 3097 91 SWAP2 3098 52 MSTORE 3099 50 POP 309A 61 PUSH2 0x5424 309D 92 SWAP3 309E 50 POP 309F 50 POP 30A0 50 POP 30A1 56 *JUMP 30A2 5B JUMPDEST 30A3 61 PUSH2 0x30ab 30A6 57 *JUMPI 30A7 60 PUSH1 0x00 30A9 80 DUP1 30AA FD *REVERT 30AB 5B JUMPDEST 30AC 60 PUSH1 0x02 30AE 54 SLOAD 30AF 60 PUSH1 0x40 30B1 80 DUP1 30B2 51 MLOAD 30B3 80 DUP1 30B4 82 DUP3 30B5 01 ADD 30B6 82 DUP3 30B7 52 MSTORE 30B8 60 PUSH1 0x0c 30BA 81 DUP2 30BB 52 MSTORE 30BC 6B PUSH12 0x546f6b656e46656174757265 30C9 60 PUSH1 0xa0 30CB 1B SHL 30CC 60 PUSH1 0x20 30CE 80 DUP1 30CF 83 DUP4 30D0 01 ADD 30D1 91 SWAP2 30D2 82 DUP3 30D3 52 MSTORE 30D4 92 SWAP3 30D5 51 MLOAD 30D6 63 PUSH4 0x0251382f 30DB 60 PUSH1 0xe3 30DD 1B SHL 30DE 81 DUP2 30DF 52 MSTORE 30E0 60 PUSH1 0x04 30E2 81 DUP2 30E3 01 ADD 30E4 93 SWAP4 30E5 84 DUP5 30E6 52 MSTORE 30E7 82 DUP3 30E8 51 MLOAD 30E9 60 PUSH1 0x24 30EB 82 DUP3 30EC 01 ADD 30ED 52 MSTORE 30EE 82 DUP3 30EF 51 MLOAD 30F0 60 PUSH1 0x00 30F2 95 SWAP6 30F3 60 PUSH1 0x01 30F5 60 PUSH1 0x01 30F7 60 PUSH1 0xa0 30F9 1B SHL 30FA 03 SUB 30FB 16 AND 30FC 94 SWAP5 30FD 63 PUSH4 0x1289c178 3102 94 SWAP5 3103 93 SWAP4 3104 90 SWAP1 3105 92 SWAP3 3106 83 DUP4 3107 92 SWAP3 3108 60 PUSH1 0x44 310A 90 SWAP1 310B 91 SWAP2 310C 01 ADD 310D 91 SWAP2 310E 90 SWAP1 310F 80 DUP1 3110 83 DUP4 3111 83 DUP4 3112 8B DUP12 3113 5B JUMPDEST 3114 83 DUP4 3115 81 DUP2 3116 10 LT 3117 15 ISZERO 3118 61 PUSH2 0x312b 311B 57 *JUMPI 311C 81 DUP2 311D 81 DUP2 311E 01 ADD 311F 51 MLOAD 3120 83 DUP4 3121 82 DUP3 3122 01 ADD 3123 52 MSTORE 3124 60 PUSH1 0x20 3126 01 ADD 3127 61 PUSH2 0x3113 312A 56 *JUMP 312B 5B JUMPDEST 312C 50 POP 312D 50 POP 312E 50 POP 312F 50 POP 3130 90 SWAP1 3131 50 POP 3132 90 SWAP1 3133 81 DUP2 3134 01 ADD 3135 90 SWAP1 3136 60 PUSH1 0x1f 3138 16 AND 3139 80 DUP1 313A 15 ISZERO 313B 61 PUSH2 0x3158 313E 57 *JUMPI 313F 80 DUP1 3140 82 DUP3 3141 03 SUB 3142 80 DUP1 3143 51 MLOAD 3144 60 PUSH1 0x01 3146 83 DUP4 3147 60 PUSH1 0x20 3149 03 SUB 314A 61 PUSH2 0x0100 314D 0A EXP 314E 03 SUB 314F 19 NOT 3150 16 AND 3151 81 DUP2 3152 52 MSTORE 3153 60 PUSH1 0x20 3155 01 ADD 3156 91 SWAP2 3157 50 POP 3158 5B JUMPDEST 3159 50 POP 315A 92 SWAP3 315B 50 POP 315C 50 POP 315D 50 POP 315E 60 PUSH1 0x20 3160 60 PUSH1 0x40 3162 51 MLOAD 3163 80 DUP1 3164 83 DUP4 3165 03 SUB 3166 81 DUP2 3167 86 DUP7 3168 80 DUP1 3169 3B EXTCODESIZE 316A 15 ISZERO 316B 80 DUP1 316C 15 ISZERO 316D 61 PUSH2 0x3175 3170 57 *JUMPI 3171 60 PUSH1 0x00 3173 80 DUP1 3174 FD *REVERT 3175 5B JUMPDEST 3176 50 POP 3177 5A GAS 3178 FA STATICCALL 3179 15 ISZERO 317A 80 DUP1 317B 15 ISZERO 317C 61 PUSH2 0x3189 317F 57 *JUMPI 3180 3D RETURNDATASIZE 3181 60 PUSH1 0x00 3183 80 DUP1 3184 3E RETURNDATACOPY 3185 3D RETURNDATASIZE 3186 60 PUSH1 0x00 3188 FD *REVERT 3189 5B JUMPDEST 318A 50 POP 318B 50 POP 318C 50 POP 318D 50 POP 318E 60 PUSH1 0x40 3190 51 MLOAD 3191 3D RETURNDATASIZE 3192 60 PUSH1 0x20 3194 81 DUP2 3195 10 LT 3196 15 ISZERO 3197 61 PUSH2 0x319f 319A 57 *JUMPI 319B 60 PUSH1 0x00 319D 80 DUP1 319E FD *REVERT 319F 5B JUMPDEST 31A0 50 POP 31A1 51 MLOAD 31A2 90 SWAP1 31A3 50 POP 31A4 60 PUSH1 0x01 31A6 60 PUSH1 0x01 31A8 60 PUSH1 0xa0 31AA 1B SHL 31AB 03 SUB 31AC 81 DUP2 31AD 16 AND 31AE 63 PUSH4 0xebcaeda5 31B3 88 DUP9 31B4 84 DUP5 31B5 61 PUSH2 0x31bc 31B8 61 PUSH2 0x1c6e 31BB 56 *JUMP 31BC 5B JUMPDEST 31BD 60 PUSH1 0x40 31BF 51 MLOAD 31C0 84 DUP5 31C1 63 PUSH4 0xffffffff 31C6 16 AND 31C7 60 PUSH1 0xe0 31C9 1B SHL 31CA 81 DUP2 31CB 52 MSTORE 31CC 60 PUSH1 0x04 31CE 01 ADD 31CF 80 DUP1 31D0 84 DUP5 31D1 60 PUSH1 0x01 31D3 60 PUSH1 0x01 31D5 60 PUSH1 0xa0 31D7 1B SHL 31D8 03 SUB 31D9 16 AND 31DA 60 PUSH1 0x01 31DC 60 PUSH1 0x01 31DE 60 PUSH1 0xa0 31E0 1B SHL 31E1 03 SUB 31E2 16 AND 31E3 81 DUP2 31E4 52 MSTORE 31E5 60 PUSH1 0x20 31E7 01 ADD 31E8 83 DUP4 31E9 81 DUP2 31EA 52 MSTORE 31EB 60 PUSH1 0x20 31ED 01 ADD 31EE 82 DUP3 31EF 60 PUSH1 0x01 31F1 60 PUSH1 0x01 31F3 60 PUSH1 0xa0 31F5 1B SHL 31F6 03 SUB 31F7 16 AND 31F8 60 PUSH1 0x01 31FA 60 PUSH1 0x01 31FC 60 PUSH1 0xa0 31FE 1B SHL 31FF 03 SUB 3200 16 AND 3201 81 DUP2 3202 52 MSTORE 3203 60 PUSH1 0x20 3205 01 ADD 3206 93 SWAP4 3207 50 POP 3208 50 POP 3209 50 POP 320A 50 POP 320B 60 PUSH1 0x20 320D 60 PUSH1 0x40 320F 51 MLOAD 3210 80 DUP1 3211 83 DUP4 3212 03 SUB 3213 81 DUP2 3214 60 PUSH1 0x00 3216 87 DUP8 3217 80 DUP1 3218 3B EXTCODESIZE 3219 15 ISZERO 321A 80 DUP1 321B 15 ISZERO 321C 61 PUSH2 0x3224 321F 57 *JUMPI 3220 60 PUSH1 0x00 3222 80 DUP1 3223 FD *REVERT 3224 5B JUMPDEST 3225 50 POP 3226 5A GAS 3227 F1 CALL 3228 15 ISZERO 3229 80 DUP1 322A 15 ISZERO 322B 61 PUSH2 0x3238 322E 57 *JUMPI 322F 3D RETURNDATASIZE 3230 60 PUSH1 0x00 3232 80 DUP1 3233 3E RETURNDATACOPY 3234 3D RETURNDATASIZE 3235 60 PUSH1 0x00 3237 FD *REVERT 3238 5B JUMPDEST 3239 50 POP 323A 50 POP 323B 50 POP 323C 50 POP 323D 60 PUSH1 0x40 323F 51 MLOAD 3240 3D RETURNDATASIZE 3241 60 PUSH1 0x20 3243 81 DUP2 3244 10 LT 3245 15 ISZERO 3246 61 PUSH2 0x324e 3249 57 *JUMPI 324A 60 PUSH1 0x00 324C 80 DUP1 324D FD *REVERT 324E 5B JUMPDEST 324F 50 POP 3250 51 MLOAD 3251 61 PUSH2 0x3259 3254 57 *JUMPI 3255 60 PUSH1 0x00 3257 80 DUP1 3258 FD *REVERT 3259 5B JUMPDEST 325A 50 POP 325B 50 POP 325C 50 POP 325D 50 POP 325E 50 POP 325F 50 POP 3260 50 POP 3261 56 *JUMP label_3262: // Incoming jump from 0x0BEE // Inputs[5] // { // @3265 storage[0x02] // @3269 memory[0x40:0x60] // @328C memory[0x40:0x60] // @329F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @32A6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 3262 5B JUMPDEST 3263 60 PUSH1 0x02 3265 54 SLOAD 3266 60 PUSH1 0x40 3268 80 DUP1 3269 51 MLOAD 326A 80 DUP1 326B 82 DUP3 326C 01 ADD 326D 82 DUP3 326E 52 MSTORE 326F 60 PUSH1 0x0c 3271 81 DUP2 3272 52 MSTORE 3273 6B PUSH12 0x546f6b656e46656174757265 3280 60 PUSH1 0xa0 3282 1B SHL 3283 60 PUSH1 0x20 3285 80 DUP1 3286 83 DUP4 3287 01 ADD 3288 91 SWAP2 3289 82 DUP3 328A 52 MSTORE 328B 92 SWAP3 328C 51 MLOAD 328D 63 PUSH4 0x0251382f 3292 60 PUSH1 0xe3 3294 1B SHL 3295 81 DUP2 3296 52 MSTORE 3297 60 PUSH1 0x04 3299 81 DUP2 329A 01 ADD 329B 93 SWAP4 329C 84 DUP5 329D 52 MSTORE 329E 82 DUP3 329F 51 MLOAD 32A0 60 PUSH1 0x24 32A2 82 DUP3 32A3 01 ADD 32A4 52 MSTORE 32A5 82 DUP3 32A6 51 MLOAD 32A7 60 PUSH1 0x00 32A9 95 SWAP6 32AA 60 PUSH1 0x60 32AC 95 SWAP6 32AD 86 DUP7 32AE 95 SWAP6 32AF 86 DUP7 32B0 95 SWAP6 32B1 89 DUP10 32B2 95 SWAP6 32B3 86 DUP7 32B4 95 SWAP6 32B5 60 PUSH1 0x01 32B7 60 PUSH1 0x01 32B9 60 PUSH1 0xa0 32BB 1B SHL 32BC 03 SUB 32BD 90 SWAP1 32BE 95 SWAP6 32BF 16 AND 32C0 94 SWAP5 32C1 63 PUSH4 0x1289c178 32C6 94 SWAP5 32C7 92 SWAP3 32C8 83 DUP4 32C9 92 SWAP3 32CA 60 PUSH1 0x44 32CC 01 ADD 32CD 91 SWAP2 32CE 80 DUP1 32CF 83 DUP4 32D0 83 DUP4 32D1 8B DUP12 32D2 5B JUMPDEST 32D3 83 DUP4 32D4 81 DUP2 32D5 10 LT 32D6 15 ISZERO 32D7 61 PUSH2 0x32ea 32DA 57 *JUMPI // Stack delta = +18 // Outputs[24] // { // @326E memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @3272 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @328A memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x546f6b656e46656174757265 << 0xa0 // @3296 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @329D memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @32A4 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @32A9 stack[0] = 0x00 // @32AC stack[1] = 0x60 // @32AE stack[2] = 0x60 // @32AE stack[8] = memory[0x40:0x60] // @32B0 stack[3] = 0x60 // @32B2 stack[4] = 0x00 // @32B4 stack[5] = 0x00 // @32C0 stack[6] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @32C6 stack[7] = 0x1289c178 // @32C7 stack[9] = memory[0x40:0x60] + 0x04 // @32C7 stack[12] = memory[0x40:0x60] + 0x20 // @32C9 stack[10] = memory[0x40:0x60] + 0x04 // @32CD stack[11] = 0x44 + memory[0x40:0x60] // @32CD stack[13] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @32CE stack[14] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @32CF stack[15] = 0x44 + memory[0x40:0x60] // @32D0 stack[16] = memory[0x40:0x60] + 0x20 // @32D1 stack[17] = 0x00 // } // Block ends with conditional jump to 0x32ea, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_32DB: // Incoming jump from 0x32DA, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x32DA, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @32DB stack[-2] // @32DC stack[-1] // @32DE memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @32DF stack[-3] // } 32DB 81 DUP2 32DC 81 DUP2 32DD 01 ADD 32DE 51 MLOAD 32DF 83 DUP4 32E0 82 DUP3 32E1 01 ADD 32E2 52 MSTORE 32E3 60 PUSH1 0x20 32E5 01 ADD 32E6 61 PUSH2 0x32d2 32E9 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @32E2 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @32E5 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x32d2 label_32EA: // Incoming jump from 0x32DA, if !(stack[-1] < stack[-4]) // Incoming jump from 0x32DA, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @32EF stack[-6] // @32EF stack[-5] // @32F1 stack[-7] // } 32EA 5B JUMPDEST 32EB 50 POP 32EC 50 POP 32ED 50 POP 32EE 50 POP 32EF 90 SWAP1 32F0 50 POP 32F1 90 SWAP1 32F2 81 DUP2 32F3 01 ADD 32F4 90 SWAP1 32F5 60 PUSH1 0x1f 32F7 16 AND 32F8 80 DUP1 32F9 15 ISZERO 32FA 61 PUSH2 0x3317 32FD 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @32F4 stack[-7] = stack[-5] + stack[-7] // @32F7 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x3317, if !(0x1f & stack[-5]) label_32FE: // Incoming jump from 0x32FD, if not !(0x1f & stack[-5]) // Inputs[7] // { // @32FE stack[-1] // @32FF stack[-2] // @3302 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3319 stack[-5] // @3321 memory[0x40:0x60] // @3326 stack[-7] // @3328 address(stack[-7]).code.length // } 32FE 80 DUP1 32FF 82 DUP3 3300 03 SUB 3301 80 DUP1 3302 51 MLOAD 3303 60 PUSH1 0x01 3305 83 DUP4 3306 60 PUSH1 0x20 3308 03 SUB 3309 61 PUSH2 0x0100 330C 0A EXP 330D 03 SUB 330E 19 NOT 330F 16 AND 3310 81 DUP2 3311 52 MSTORE 3312 60 PUSH1 0x20 3314 01 ADD 3315 91 SWAP2 3316 50 POP 3317 5B JUMPDEST 3318 50 POP 3319 92 SWAP3 331A 50 POP 331B 50 POP 331C 50 POP 331D 60 PUSH1 0x20 331F 60 PUSH1 0x40 3321 51 MLOAD 3322 80 DUP1 3323 83 DUP4 3324 03 SUB 3325 81 DUP2 3326 86 DUP7 3327 80 DUP1 3328 3B EXTCODESIZE 3329 15 ISZERO 332A 80 DUP1 332B 15 ISZERO 332C 61 PUSH2 0x3334 332F 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @3311 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3319 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @331D stack[-4] = 0x20 // @3321 stack[-3] = memory[0x40:0x60] // @3324 stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @3325 stack[-1] = memory[0x40:0x60] // @3326 stack[0] = stack[-7] // @3329 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x3334, if !!address(stack[-7]).code.length label_3330: // Incoming jump from 0x332F, if not !!address(stack[-7]).code.length // Incoming jump from 0x332F, if not !!address(stack[-7]).code.length // Inputs[1] { @3333 memory[0x00:0x00] } 3330 60 PUSH1 0x00 3332 80 DUP1 3333 FD *REVERT // Stack delta = +0 // Outputs[1] { @3333 revert(memory[0x00:0x00]); } // Block terminates label_3334: // Incoming jump from 0x332F, if !!address(stack[-7]).code.length // Incoming jump from 0x332F, if !!address(stack[-7]).code.length // Inputs[8] // { // @3336 msg.gas // @3337 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3337 stack[-2] // @3337 stack[-5] // @3337 stack[-4] // @3337 stack[-3] // @3337 stack[-6] // @3337 memory[stack[-3]:stack[-3] + stack[-4]] // } 3334 5B JUMPDEST 3335 50 POP 3336 5A GAS 3337 FA STATICCALL 3338 15 ISZERO 3339 80 DUP1 333A 15 ISZERO 333B 61 PUSH2 0x3348 333E 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @3337 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3338 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x3348, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_333F: // Incoming jump from 0x333E, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @333F returndata.length // @3343 returndata[0x00:0x00 + returndata.length] // @3344 returndata.length // @3347 memory[0x00:0x00 + returndata.length] // } 333F 3D RETURNDATASIZE 3340 60 PUSH1 0x00 3342 80 DUP1 3343 3E RETURNDATACOPY 3344 3D RETURNDATASIZE 3345 60 PUSH1 0x00 3347 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @3343 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @3347 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_3348: // Incoming jump from 0x333E, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @334F memory[0x40:0x60] // @3350 returndata.length // } 3348 5B JUMPDEST 3349 50 POP 334A 50 POP 334B 50 POP 334C 50 POP 334D 60 PUSH1 0x40 334F 51 MLOAD 3350 3D RETURNDATASIZE 3351 60 PUSH1 0x20 3353 81 DUP2 3354 10 LT 3355 15 ISZERO 3356 61 PUSH2 0x335e 3359 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @334F stack[-4] = memory[0x40:0x60] // @3350 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x335e, if !(returndata.length < 0x20) label_335A: // Incoming jump from 0x3359, if not !(returndata.length < 0x20) // Inputs[1] { @335D memory[0x00:0x00] } 335A 60 PUSH1 0x00 335C 80 DUP1 335D FD *REVERT // Stack delta = +0 // Outputs[1] { @335D revert(memory[0x00:0x00]); } // Block terminates label_335E: // Incoming jump from 0x3359, if !(returndata.length < 0x20) // Inputs[2] // { // @3360 stack[-2] // @3360 memory[stack[-2]:stack[-2] + 0x20] // } 335E 5B JUMPDEST 335F 50 POP 3360 51 MLOAD 3361 60 PUSH1 0x01 3363 60 PUSH1 0x01 3365 60 PUSH1 0xa0 3367 1B SHL 3368 03 SUB 3369 16 AND 336A 61 PUSH2 0x3371 336D 61 PUSH2 0x1c6e 3370 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @3369 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @336A stack[-1] = 0x3371 // } // Block ends with unconditional jump to 0x1c6e 3371 5B JUMPDEST 3372 60 PUSH1 0x01 3374 60 PUSH1 0x01 3376 60 PUSH1 0xa0 3378 1B SHL 3379 03 SUB 337A 16 AND 337B 14 EQ 337C 80 DUP1 337D 61 PUSH2 0x34fb 3380 57 *JUMPI 3381 50 POP 3382 60 PUSH1 0x02 3384 54 SLOAD 3385 60 PUSH1 0x40 3387 80 DUP1 3388 51 MLOAD 3389 80 DUP1 338A 82 DUP3 338B 01 ADD 338C 82 DUP3 338D 52 MSTORE 338E 60 PUSH1 0x0c 3390 81 DUP2 3391 52 MSTORE 3392 6B PUSH12 0x4f776e657246656174757265 339F 60 PUSH1 0xa0 33A1 1B SHL 33A2 60 PUSH1 0x20 33A4 80 DUP1 33A5 83 DUP4 33A6 01 ADD 33A7 91 SWAP2 33A8 82 DUP3 33A9 52 MSTORE 33AA 92 SWAP3 33AB 51 MLOAD 33AC 63 PUSH4 0x0251382f 33B1 60 PUSH1 0xe3 33B3 1B SHL 33B4 81 DUP2 33B5 52 MSTORE 33B6 60 PUSH1 0x04 33B8 81 DUP2 33B9 01 ADD 33BA 93 SWAP4 33BB 84 DUP5 33BC 52 MSTORE 33BD 82 DUP3 33BE 51 MLOAD 33BF 60 PUSH1 0x24 33C1 82 DUP3 33C2 01 ADD 33C3 52 MSTORE 33C4 82 DUP3 33C5 51 MLOAD 33C6 60 PUSH1 0x01 33C8 60 PUSH1 0x01 33CA 60 PUSH1 0xa0 33CC 1B SHL 33CD 03 SUB 33CE 90 SWAP1 33CF 95 SWAP6 33D0 16 AND 33D1 94 SWAP5 33D2 63 PUSH4 0x1289c178 33D7 94 SWAP5 33D8 92 SWAP3 33D9 83 DUP4 33DA 92 SWAP3 33DB 60 PUSH1 0x44 33DD 01 ADD 33DE 91 SWAP2 33DF 80 DUP1 33E0 83 DUP4 33E1 83 DUP4 33E2 60 PUSH1 0x00 33E4 5B JUMPDEST 33E5 83 DUP4 33E6 81 DUP2 33E7 10 LT 33E8 15 ISZERO 33E9 61 PUSH2 0x33fc 33EC 57 *JUMPI 33ED 81 DUP2 33EE 81 DUP2 33EF 01 ADD 33F0 51 MLOAD 33F1 83 DUP4 33F2 82 DUP3 33F3 01 ADD 33F4 52 MSTORE 33F5 60 PUSH1 0x20 33F7 01 ADD 33F8 61 PUSH2 0x33e4 33FB 56 *JUMP 33FC 5B JUMPDEST 33FD 50 POP 33FE 50 POP 33FF 50 POP 3400 50 POP 3401 90 SWAP1 3402 50 POP 3403 90 SWAP1 3404 81 DUP2 3405 01 ADD 3406 90 SWAP1 3407 60 PUSH1 0x1f 3409 16 AND 340A 80 DUP1 340B 15 ISZERO 340C 61 PUSH2 0x3429 340F 57 *JUMPI 3410 80 DUP1 3411 82 DUP3 3412 03 SUB 3413 80 DUP1 3414 51 MLOAD 3415 60 PUSH1 0x01 3417 83 DUP4 3418 60 PUSH1 0x20 341A 03 SUB 341B 61 PUSH2 0x0100 341E 0A EXP 341F 03 SUB 3420 19 NOT 3421 16 AND 3422 81 DUP2 3423 52 MSTORE 3424 60 PUSH1 0x20 3426 01 ADD 3427 91 SWAP2 3428 50 POP 3429 5B JUMPDEST 342A 50 POP 342B 92 SWAP3 342C 50 POP 342D 50 POP 342E 50 POP 342F 60 PUSH1 0x20 3431 60 PUSH1 0x40 3433 51 MLOAD 3434 80 DUP1 3435 83 DUP4 3436 03 SUB 3437 81 DUP2 3438 86 DUP7 3439 80 DUP1 343A 3B EXTCODESIZE 343B 15 ISZERO 343C 80 DUP1 343D 15 ISZERO 343E 61 PUSH2 0x3446 3441 57 *JUMPI 3442 60 PUSH1 0x00 3444 80 DUP1 3445 FD *REVERT 3446 5B JUMPDEST 3447 50 POP 3448 5A GAS 3449 FA STATICCALL 344A 15 ISZERO 344B 80 DUP1 344C 15 ISZERO 344D 61 PUSH2 0x345a 3450 57 *JUMPI 3451 3D RETURNDATASIZE 3452 60 PUSH1 0x00 3454 80 DUP1 3455 3E RETURNDATACOPY 3456 3D RETURNDATASIZE 3457 60 PUSH1 0x00 3459 FD *REVERT 345A 5B JUMPDEST 345B 50 POP 345C 50 POP 345D 50 POP 345E 50 POP 345F 60 PUSH1 0x40 3461 51 MLOAD 3462 3D RETURNDATASIZE 3463 60 PUSH1 0x20 3465 81 DUP2 3466 10 LT 3467 15 ISZERO 3468 61 PUSH2 0x3470 346B 57 *JUMPI 346C 60 PUSH1 0x00 346E 80 DUP1 346F FD *REVERT 3470 5B JUMPDEST 3471 50 POP 3472 51 MLOAD 3473 60 PUSH1 0x01 3475 60 PUSH1 0x01 3477 60 PUSH1 0xa0 3479 1B SHL 347A 03 SUB 347B 16 AND 347C 63 PUSH4 0xe5f93e97 3481 61 PUSH2 0x3488 3484 61 PUSH2 0x1c6e 3487 56 *JUMP 3488 5B JUMPDEST 3489 60 PUSH1 0x40 348B 51 MLOAD 348C 82 DUP3 348D 63 PUSH4 0xffffffff 3492 16 AND 3493 60 PUSH1 0xe0 3495 1B SHL 3496 81 DUP2 3497 52 MSTORE 3498 60 PUSH1 0x04 349A 01 ADD 349B 80 DUP1 349C 82 DUP3 349D 60 PUSH1 0x01 349F 60 PUSH1 0x01 34A1 60 PUSH1 0xa0 34A3 1B SHL 34A4 03 SUB 34A5 16 AND 34A6 60 PUSH1 0x01 34A8 60 PUSH1 0x01 34AA 60 PUSH1 0xa0 34AC 1B SHL 34AD 03 SUB 34AE 16 AND 34AF 81 DUP2 34B0 52 MSTORE 34B1 60 PUSH1 0x20 34B3 01 ADD 34B4 91 SWAP2 34B5 50 POP 34B6 50 POP 34B7 60 PUSH1 0x20 34B9 60 PUSH1 0x40 34BB 51 MLOAD 34BC 80 DUP1 34BD 83 DUP4 34BE 03 SUB 34BF 81 DUP2 34C0 86 DUP7 34C1 80 DUP1 34C2 3B EXTCODESIZE 34C3 15 ISZERO 34C4 80 DUP1 34C5 15 ISZERO 34C6 61 PUSH2 0x34ce 34C9 57 *JUMPI 34CA 60 PUSH1 0x00 34CC 80 DUP1 34CD FD *REVERT 34CE 5B JUMPDEST 34CF 50 POP 34D0 5A GAS 34D1 FA STATICCALL 34D2 15 ISZERO 34D3 80 DUP1 34D4 15 ISZERO 34D5 61 PUSH2 0x34e2 34D8 57 *JUMPI 34D9 3D RETURNDATASIZE 34DA 60 PUSH1 0x00 34DC 80 DUP1 34DD 3E RETURNDATACOPY 34DE 3D RETURNDATASIZE 34DF 60 PUSH1 0x00 34E1 FD *REVERT 34E2 5B JUMPDEST 34E3 50 POP 34E4 50 POP 34E5 50 POP 34E6 50 POP 34E7 60 PUSH1 0x40 34E9 51 MLOAD 34EA 3D RETURNDATASIZE 34EB 60 PUSH1 0x20 34ED 81 DUP2 34EE 10 LT 34EF 15 ISZERO 34F0 61 PUSH2 0x34f8 34F3 57 *JUMPI 34F4 60 PUSH1 0x00 34F6 80 DUP1 34F7 FD *REVERT 34F8 5B JUMPDEST 34F9 50 POP 34FA 51 MLOAD 34FB 5B JUMPDEST 34FC 61 PUSH2 0x3504 34FF 57 *JUMPI 3500 60 PUSH1 0x00 3502 80 DUP1 3503 FD *REVERT 3504 5B JUMPDEST 3505 60 PUSH1 0x00 3507 61 PUSH2 0x35d9 350A 60 PUSH1 0x40 350C 51 MLOAD 350D 80 DUP1 350E 60 PUSH1 0x40 3510 01 ADD 3511 60 PUSH1 0x40 3513 52 MSTORE 3514 80 DUP1 3515 60 PUSH1 0x0d 3517 81 DUP2 3518 52 MSTORE 3519 60 PUSH1 0x20 351B 01 ADD 351C 6C PUSH13 0x4d656d62657246656174757265 352A 60 PUSH1 0x98 352C 1B SHL 352D 81 DUP2 352E 52 MSTORE 352F 50 POP 3530 60 PUSH1 0x40 3532 51 MLOAD 3533 60 PUSH1 0x20 3535 01 ADD 3536 80 DUP1 3537 82 DUP3 3538 80 DUP1 3539 51 MLOAD 353A 90 SWAP1 353B 60 PUSH1 0x20 353D 01 ADD 353E 90 SWAP1 353F 80 DUP1 3540 83 DUP4 3541 83 DUP4 3542 5B JUMPDEST 3543 60 PUSH1 0x20 3545 83 DUP4 3546 10 LT 3547 61 PUSH2 0x3561 354A 57 *JUMPI 354B 80 DUP1 354C 51 MLOAD 354D 82 DUP3 354E 52 MSTORE 354F 60 PUSH1 0x1f 3551 19 NOT 3552 90 SWAP1 3553 92 SWAP3 3554 01 ADD 3555 91 SWAP2 3556 60 PUSH1 0x20 3558 91 SWAP2 3559 82 DUP3 355A 01 ADD 355B 91 SWAP2 355C 01 ADD 355D 61 PUSH2 0x3542 3560 56 *JUMP 3561 5B JUMPDEST 3562 60 PUSH1 0x01 3564 83 DUP4 3565 60 PUSH1 0x20 3567 03 SUB 3568 61 PUSH2 0x0100 356B 0A EXP 356C 03 SUB 356D 80 DUP1 356E 19 NOT 356F 82 DUP3 3570 51 MLOAD 3571 16 AND 3572 81 DUP2 3573 84 DUP5 3574 51 MLOAD 3575 16 AND 3576 80 DUP1 3577 82 DUP3 3578 17 OR 3579 85 DUP6 357A 52 MSTORE 357B 50 POP 357C 50 POP 357D 50 POP 357E 50 POP 357F 50 POP 3580 50 POP 3581 90 SWAP1 3582 50 POP 3583 01 ADD 3584 91 SWAP2 3585 50 POP 3586 50 POP 3587 60 PUSH1 0x40 3589 51 MLOAD 358A 60 PUSH1 0x20 358C 81 DUP2 358D 83 DUP4 358E 03 SUB 358F 03 SUB 3590 81 DUP2 3591 52 MSTORE 3592 90 SWAP1 3593 60 PUSH1 0x40 3595 52 MSTORE 3596 80 DUP1 3597 51 MLOAD 3598 90 SWAP1 3599 60 PUSH1 0x20 359B 01 ADD 359C 20 SHA3 359D 60 PUSH1 0x40 359F 51 MLOAD 35A0 60 PUSH1 0x20 35A2 01 ADD 35A3 80 DUP1 35A4 82 DUP3 35A5 81 DUP2 35A6 52 MSTORE 35A7 60 PUSH1 0x20 35A9 01 ADD 35AA 80 DUP1 35AB 65 PUSH6 0x26b2b6b132b9 35B2 60 PUSH1 0xd1 35B4 1B SHL 35B5 81 DUP2 35B6 52 MSTORE 35B7 50 POP 35B8 60 PUSH1 0x06 35BA 01 ADD 35BB 91 SWAP2 35BC 50 POP 35BD 50 POP 35BE 60 PUSH1 0x40 35C0 51 MLOAD 35C1 60 PUSH1 0x20 35C3 81 DUP2 35C4 83 DUP4 35C5 03 SUB 35C6 03 SUB 35C7 81 DUP2 35C8 52 MSTORE 35C9 90 SWAP1 35CA 60 PUSH1 0x40 35CC 52 MSTORE 35CD 80 DUP1 35CE 51 MLOAD 35CF 90 SWAP1 35D0 60 PUSH1 0x20 35D2 01 ADD 35D3 20 SHA3 35D4 89 DUP10 35D5 61 PUSH2 0x5399 35D8 56 *JUMP 35D9 5B JUMPDEST 35DA 90 SWAP1 35DB 50 POP 35DC 61 PUSH2 0x3601 35DF 81 DUP2 35E0 60 PUSH1 0x40 35E2 51 MLOAD 35E3 80 DUP1 35E4 60 PUSH1 0x40 35E6 01 ADD 35E7 60 PUSH1 0x40 35E9 52 MSTORE 35EA 80 DUP1 35EB 60 PUSH1 0x04 35ED 81 DUP2 35EE 52 MSTORE 35EF 60 PUSH1 0x20 35F1 01 ADD 35F2 63 PUSH4 0x30b23239 35F7 60 PUSH1 0xe1 35F9 1B SHL 35FA 81 DUP2 35FB 52 MSTORE 35FC 50 POP 35FD 61 PUSH2 0x53c5 3600 56 *JUMP 3601 5B JUMPDEST 3602 96 SWAP7 3603 50 POP 3604 61 PUSH2 0x3629 3607 81 DUP2 3608 60 PUSH1 0x40 360A 51 MLOAD 360B 80 DUP1 360C 60 PUSH1 0x40 360E 01 ADD 360F 60 PUSH1 0x40 3611 52 MSTORE 3612 80 DUP1 3613 60 PUSH1 0x04 3615 81 DUP2 3616 52 MSTORE 3617 60 PUSH1 0x20 3619 01 ADD 361A 63 PUSH4 0x6e616d65 361F 60 PUSH1 0xe0 3621 1B SHL 3622 81 DUP2 3623 52 MSTORE 3624 50 POP 3625 61 PUSH2 0x4bb0 3628 56 *JUMP 3629 5B JUMPDEST 362A 95 SWAP6 362B 50 POP 362C 61 PUSH2 0x3652 362F 81 DUP2 3630 60 PUSH1 0x40 3632 51 MLOAD 3633 80 DUP1 3634 60 PUSH1 0x40 3636 01 ADD 3637 60 PUSH1 0x40 3639 52 MSTORE 363A 80 DUP1 363B 60 PUSH1 0x05 363D 81 DUP2 363E 52 MSTORE 363F 60 PUSH1 0x20 3641 01 ADD 3642 64 PUSH5 0x195b585a5b 3648 60 PUSH1 0xda 364A 1B SHL 364B 81 DUP2 364C 52 MSTORE 364D 50 POP 364E 61 PUSH2 0x4bb0 3651 56 *JUMP 3652 5B JUMPDEST 3653 94 SWAP5 3654 50 POP 3655 61 PUSH2 0x367e 3658 81 DUP2 3659 60 PUSH1 0x40 365B 51 MLOAD 365C 80 DUP1 365D 60 PUSH1 0x40 365F 01 ADD 3660 60 PUSH1 0x40 3662 52 MSTORE 3663 80 DUP1 3664 60 PUSH1 0x08 3666 81 DUP2 3667 52 MSTORE 3668 60 PUSH1 0x20 366A 01 ADD 366B 67 PUSH8 0x3837b9b4ba34b7b7 3674 60 PUSH1 0xc1 3676 1B SHL 3677 81 DUP2 3678 52 MSTORE 3679 50 POP 367A 61 PUSH2 0x4bb0 367D 56 *JUMP 367E 5B JUMPDEST 367F 93 SWAP4 3680 50 POP 3681 61 PUSH2 0x36a6 3684 81 DUP2 3685 60 PUSH1 0x40 3687 51 MLOAD 3688 80 DUP1 3689 60 PUSH1 0x40 368B 01 ADD 368C 60 PUSH1 0x40 368E 52 MSTORE 368F 80 DUP1 3690 60 PUSH1 0x04 3692 81 DUP2 3693 52 MSTORE 3694 60 PUSH1 0x20 3696 01 ADD 3697 63 PUSH4 0x74696d65 369C 60 PUSH1 0xe0 369E 1B SHL 369F 81 DUP2 36A0 52 MSTORE 36A1 50 POP 36A2 61 PUSH2 0x5296 36A5 56 *JUMP 36A6 5B JUMPDEST 36A7 92 SWAP3 36A8 50 POP 36A9 61 PUSH2 0x36d2 36AC 81 DUP2 36AD 60 PUSH1 0x40 36AF 51 MLOAD 36B0 80 DUP1 36B1 60 PUSH1 0x40 36B3 01 ADD 36B4 60 PUSH1 0x40 36B6 52 MSTORE 36B7 80 DUP1 36B8 60 PUSH1 0x08 36BA 81 DUP2 36BB 52 MSTORE 36BC 60 PUSH1 0x20 36BE 01 ADD 36BF 67 PUSH8 0x30b8383937bb32b9 36C8 60 PUSH1 0xc1 36CA 1B SHL 36CB 81 DUP2 36CC 52 MSTORE 36CD 50 POP 36CE 61 PUSH2 0x53c5 36D1 56 *JUMP 36D2 5B JUMPDEST 36D3 91 SWAP2 36D4 50 POP 36D5 50 POP 36D6 91 SWAP2 36D7 93 SWAP4 36D8 95 SWAP6 36D9 50 POP 36DA 91 SWAP2 36DB 93 SWAP4 36DC 95 SWAP6 36DD 56 *JUMP label_36DE: // Incoming call from 0x4DEC, returns to 0x12CE // Incoming call from 0x0D73, returns to 0x0456 36DE 5B JUMPDEST 36DF 60 PUSH1 0x00 36E1 61 PUSH2 0x36e8 36E4 61 PUSH2 0x2246 36E7 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @36DF stack[0] = 0x00 // @36E1 stack[1] = 0x36e8 // } // Block ends with call to 0x2246, returns to 0x36E8 label_36E8: // Incoming return from call to 0x2246 at 0x36E7 // Inputs[5] // { // @36F1 stack[-1] // @36F7 address(this) // @36FA memory[0x40:0x60] // @372A memory[0x40:0x60] // @3731 address((0x01 << 0xa0) - 0x01 & stack[-1]).code.length // } 36E8 5B JUMPDEST 36E9 60 PUSH1 0x01 36EB 60 PUSH1 0x01 36ED 60 PUSH1 0xa0 36EF 1B SHL 36F0 03 SUB 36F1 16 AND 36F2 63 PUSH4 0x70a08231 36F7 30 ADDRESS 36F8 60 PUSH1 0x40 36FA 51 MLOAD 36FB 82 DUP3 36FC 63 PUSH4 0xffffffff 3701 16 AND 3702 60 PUSH1 0xe0 3704 1B SHL 3705 81 DUP2 3706 52 MSTORE 3707 60 PUSH1 0x04 3709 01 ADD 370A 80 DUP1 370B 82 DUP3 370C 60 PUSH1 0x01 370E 60 PUSH1 0x01 3710 60 PUSH1 0xa0 3712 1B SHL 3713 03 SUB 3714 16 AND 3715 60 PUSH1 0x01 3717 60 PUSH1 0x01 3719 60 PUSH1 0xa0 371B 1B SHL 371C 03 SUB 371D 16 AND 371E 81 DUP2 371F 52 MSTORE 3720 60 PUSH1 0x20 3722 01 ADD 3723 91 SWAP2 3724 50 POP 3725 50 POP 3726 60 PUSH1 0x20 3728 60 PUSH1 0x40 372A 51 MLOAD 372B 80 DUP1 372C 83 DUP4 372D 03 SUB 372E 81 DUP2 372F 86 DUP7 3730 80 DUP1 3731 3B EXTCODESIZE 3732 15 ISZERO 3733 80 DUP1 3734 15 ISZERO 3735 61 PUSH2 0x373d 3738 57 *JUMPI // Stack delta = +8 // Outputs[11] // { // @36F1 stack[-1] = (0x01 << 0xa0) - 0x01 & stack[-1] // @36F2 stack[0] = 0x70a08231 // @3706 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & 0x70a08231) << 0xe0 // @371F memory[0x04 + memory[0x40:0x60]:0x04 + memory[0x40:0x60] + 0x20] = (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01 & address(this) // @3723 stack[1] = 0x20 + 0x04 + memory[0x40:0x60] // @3726 stack[2] = 0x20 // @372A stack[3] = memory[0x40:0x60] // @372D stack[4] = (0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60] // @372E stack[5] = memory[0x40:0x60] // @372F stack[6] = (0x01 << 0xa0) - 0x01 & stack[-1] // @3732 stack[7] = !address((0x01 << 0xa0) - 0x01 & stack[-1]).code.length // } // Block ends with conditional jump to 0x373d, if !!address((0x01 << 0xa0) - 0x01 & stack[-1]).code.length label_3739: // Incoming jump from 0x3738, if not !!address((0x01 << 0xa0) - 0x01 & stack[-1]).code.length // Inputs[1] { @373C memory[0x00:0x00] } 3739 60 PUSH1 0x00 373B 80 DUP1 373C FD *REVERT // Stack delta = +0 // Outputs[1] { @373C revert(memory[0x00:0x00]); } // Block terminates label_373D: // Incoming jump from 0x3738, if !!address((0x01 << 0xa0) - 0x01 & stack[-1]).code.length // Incoming jump from 0x4FC8, if !!address(memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01).code.length // Inputs[8] // { // @373F msg.gas // @3740 memory[stack[-3]:stack[-3] + stack[-4]] // @3740 stack[-4] // @3740 stack[-3] // @3740 stack[-5] // @3740 stack[-2] // @3740 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3740 stack[-6] // } 373D 5B JUMPDEST 373E 50 POP 373F 5A GAS 3740 FA STATICCALL 3741 15 ISZERO 3742 80 DUP1 3743 15 ISZERO 3744 61 PUSH2 0x3751 3747 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @3740 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3741 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x3751, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_3748: // Incoming jump from 0x3747, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @3748 returndata.length // @374C returndata[0x00:0x00 + returndata.length] // @374D returndata.length // @3750 memory[0x00:0x00 + returndata.length] // } 3748 3D RETURNDATASIZE 3749 60 PUSH1 0x00 374B 80 DUP1 374C 3E RETURNDATACOPY 374D 3D RETURNDATASIZE 374E 60 PUSH1 0x00 3750 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @374C memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @3750 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_3751: // Incoming jump from 0x3747, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @3758 memory[0x40:0x60] // @3759 returndata.length // } 3751 5B JUMPDEST 3752 50 POP 3753 50 POP 3754 50 POP 3755 50 POP 3756 60 PUSH1 0x40 3758 51 MLOAD 3759 3D RETURNDATASIZE 375A 60 PUSH1 0x20 375C 81 DUP2 375D 10 LT 375E 15 ISZERO 375F 61 PUSH2 0x3767 3762 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @3758 stack[-4] = memory[0x40:0x60] // @3759 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x3767, if !(returndata.length < 0x20) label_3763: // Incoming jump from 0x3762, if not !(returndata.length < 0x20) // Inputs[1] { @3766 memory[0x00:0x00] } 3763 60 PUSH1 0x00 3765 80 DUP1 3766 FD *REVERT // Stack delta = +0 // Outputs[1] { @3766 revert(memory[0x00:0x00]); } // Block terminates label_3767: // Incoming jump from 0x3762, if !(returndata.length < 0x20) // Inputs[4] // { // @3769 memory[stack[-2]:stack[-2] + 0x20] // @3769 stack[-2] // @376A stack[-3] // @376C stack[-4] // } 3767 5B JUMPDEST 3768 50 POP 3769 51 MLOAD 376A 90 SWAP1 376B 50 POP 376C 90 SWAP1 376D 56 *JUMP // Stack delta = -3 // Outputs[1] { @376C stack[-4] = memory[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to stack[-4] label_376E: // Incoming jump from 0x0E41 // Inputs[5] // { // @3771 storage[0x02] // @3775 memory[0x40:0x60] // @3798 memory[0x40:0x60] // @37AB memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @37B2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 376E 5B JUMPDEST 376F 60 PUSH1 0x02 3771 54 SLOAD 3772 60 PUSH1 0x40 3774 80 DUP1 3775 51 MLOAD 3776 80 DUP1 3777 82 DUP3 3778 01 ADD 3779 82 DUP3 377A 52 MSTORE 377B 60 PUSH1 0x0c 377D 81 DUP2 377E 52 MSTORE 377F 6B PUSH12 0x4f776e657246656174757265 378C 60 PUSH1 0xa0 378E 1B SHL 378F 60 PUSH1 0x20 3791 80 DUP1 3792 83 DUP4 3793 01 ADD 3794 91 SWAP2 3795 82 DUP3 3796 52 MSTORE 3797 92 SWAP3 3798 51 MLOAD 3799 63 PUSH4 0x0251382f 379E 60 PUSH1 0xe3 37A0 1B SHL 37A1 81 DUP2 37A2 52 MSTORE 37A3 60 PUSH1 0x04 37A5 81 DUP2 37A6 01 ADD 37A7 93 SWAP4 37A8 84 DUP5 37A9 52 MSTORE 37AA 82 DUP3 37AB 51 MLOAD 37AC 60 PUSH1 0x24 37AE 82 DUP3 37AF 01 ADD 37B0 52 MSTORE 37B1 82 DUP3 37B2 51 MLOAD 37B3 60 PUSH1 0x01 37B5 60 PUSH1 0x01 37B7 60 PUSH1 0xa0 37B9 1B SHL 37BA 03 SUB 37BB 90 SWAP1 37BC 95 SWAP6 37BD 16 AND 37BE 94 SWAP5 37BF 63 PUSH4 0x1289c178 37C4 94 SWAP5 37C5 92 SWAP3 37C6 83 DUP4 37C7 92 SWAP3 37C8 60 PUSH1 0x44 37CA 01 ADD 37CB 91 SWAP2 37CC 80 DUP1 37CD 83 DUP4 37CE 83 DUP4 37CF 60 PUSH1 0x00 37D1 5B JUMPDEST 37D2 83 DUP4 37D3 81 DUP2 37D4 10 LT 37D5 15 ISZERO 37D6 61 PUSH2 0x37e9 37D9 57 *JUMPI // Stack delta = +12 // Outputs[18] // { // @3775 stack[2] = memory[0x40:0x60] // @377A memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @377E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @3796 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0 // @37A2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @37A9 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @37B0 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @37BE stack[0] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @37C4 stack[1] = 0x1289c178 // @37C5 stack[6] = memory[0x40:0x60] + 0x20 // @37C5 stack[3] = memory[0x40:0x60] + 0x04 // @37C7 stack[4] = memory[0x40:0x60] + 0x04 // @37CB stack[5] = 0x44 + memory[0x40:0x60] // @37CB stack[7] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @37CC stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @37CD stack[9] = 0x44 + memory[0x40:0x60] // @37CE stack[10] = memory[0x40:0x60] + 0x20 // @37CF stack[11] = 0x00 // } // Block ends with conditional jump to 0x37e9, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_37DA: // Incoming jump from 0x37D9, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x37D9, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @37DA stack[-2] // @37DB stack[-1] // @37DD memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @37DE stack[-3] // } 37DA 81 DUP2 37DB 81 DUP2 37DC 01 ADD 37DD 51 MLOAD 37DE 83 DUP4 37DF 82 DUP3 37E0 01 ADD 37E1 52 MSTORE 37E2 60 PUSH1 0x20 37E4 01 ADD 37E5 61 PUSH2 0x37d1 37E8 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @37E1 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @37E4 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x37d1 label_37E9: // Incoming jump from 0x37D9, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x37D9, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @37EE stack[-5] // @37EE stack[-6] // @37F0 stack[-7] // } 37E9 5B JUMPDEST 37EA 50 POP 37EB 50 POP 37EC 50 POP 37ED 50 POP 37EE 90 SWAP1 37EF 50 POP 37F0 90 SWAP1 37F1 81 DUP2 37F2 01 ADD 37F3 90 SWAP1 37F4 60 PUSH1 0x1f 37F6 16 AND 37F7 80 DUP1 37F8 15 ISZERO 37F9 61 PUSH2 0x3816 37FC 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @37F3 stack[-7] = stack[-5] + stack[-7] // @37F6 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x3816, if !(0x1f & stack[-5]) label_37FD: // Incoming jump from 0x37FC, if not !(0x1f & stack[-5]) // Inputs[7] // { // @37FD stack[-1] // @37FE stack[-2] // @3801 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3818 stack[-5] // @3820 memory[0x40:0x60] // @3825 stack[-7] // @3827 address(stack[-7]).code.length // } 37FD 80 DUP1 37FE 82 DUP3 37FF 03 SUB 3800 80 DUP1 3801 51 MLOAD 3802 60 PUSH1 0x01 3804 83 DUP4 3805 60 PUSH1 0x20 3807 03 SUB 3808 61 PUSH2 0x0100 380B 0A EXP 380C 03 SUB 380D 19 NOT 380E 16 AND 380F 81 DUP2 3810 52 MSTORE 3811 60 PUSH1 0x20 3813 01 ADD 3814 91 SWAP2 3815 50 POP 3816 5B JUMPDEST 3817 50 POP 3818 92 SWAP3 3819 50 POP 381A 50 POP 381B 50 POP 381C 60 PUSH1 0x20 381E 60 PUSH1 0x40 3820 51 MLOAD 3821 80 DUP1 3822 83 DUP4 3823 03 SUB 3824 81 DUP2 3825 86 DUP7 3826 80 DUP1 3827 3B EXTCODESIZE 3828 15 ISZERO 3829 80 DUP1 382A 15 ISZERO 382B 61 PUSH2 0x3833 382E 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @3810 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3818 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @381C stack[-4] = 0x20 // @3820 stack[-3] = memory[0x40:0x60] // @3823 stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @3824 stack[-1] = memory[0x40:0x60] // @3825 stack[0] = stack[-7] // @3828 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x3833, if !!address(stack[-7]).code.length label_382F: // Incoming jump from 0x382E, if not !!address(stack[-7]).code.length // Incoming jump from 0x382E, if not !!address(stack[-7]).code.length // Inputs[1] { @3832 memory[0x00:0x00] } 382F 60 PUSH1 0x00 3831 80 DUP1 3832 FD *REVERT // Stack delta = +0 // Outputs[1] { @3832 revert(memory[0x00:0x00]); } // Block terminates label_3833: // Incoming jump from 0x382E, if !!address(stack[-7]).code.length // Incoming jump from 0x382E, if !!address(stack[-7]).code.length // Inputs[8] // { // @3835 msg.gas // @3836 stack[-2] // @3836 stack[-6] // @3836 memory[stack[-3]:stack[-3] + stack[-4]] // @3836 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3836 stack[-5] // @3836 stack[-3] // @3836 stack[-4] // } 3833 5B JUMPDEST 3834 50 POP 3835 5A GAS 3836 FA STATICCALL 3837 15 ISZERO 3838 80 DUP1 3839 15 ISZERO 383A 61 PUSH2 0x3847 383D 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @3836 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3837 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x3847, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_383E: // Incoming jump from 0x383D, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @383E returndata.length // @3842 returndata[0x00:0x00 + returndata.length] // @3843 returndata.length // @3846 memory[0x00:0x00 + returndata.length] // } 383E 3D RETURNDATASIZE 383F 60 PUSH1 0x00 3841 80 DUP1 3842 3E RETURNDATACOPY 3843 3D RETURNDATASIZE 3844 60 PUSH1 0x00 3846 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @3842 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @3846 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_3847: // Incoming jump from 0x383D, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @384E memory[0x40:0x60] // @384F returndata.length // } 3847 5B JUMPDEST 3848 50 POP 3849 50 POP 384A 50 POP 384B 50 POP 384C 60 PUSH1 0x40 384E 51 MLOAD 384F 3D RETURNDATASIZE 3850 60 PUSH1 0x20 3852 81 DUP2 3853 10 LT 3854 15 ISZERO 3855 61 PUSH2 0x385d 3858 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @384E stack[-4] = memory[0x40:0x60] // @384F stack[-3] = returndata.length // } // Block ends with conditional jump to 0x385d, if !(returndata.length < 0x20) label_3859: // Incoming jump from 0x3858, if not !(returndata.length < 0x20) // Inputs[1] { @385C memory[0x00:0x00] } 3859 60 PUSH1 0x00 385B 80 DUP1 385C FD *REVERT // Stack delta = +0 // Outputs[1] { @385C revert(memory[0x00:0x00]); } // Block terminates label_385D: // Incoming jump from 0x3858, if !(returndata.length < 0x20) // Inputs[2] // { // @385F stack[-2] // @385F memory[stack[-2]:stack[-2] + 0x20] // } 385D 5B JUMPDEST 385E 50 POP 385F 51 MLOAD 3860 60 PUSH1 0x01 3862 60 PUSH1 0x01 3864 60 PUSH1 0xa0 3866 1B SHL 3867 03 SUB 3868 16 AND 3869 63 PUSH4 0x2f54bf6e 386E 61 PUSH2 0x3875 3871 61 PUSH2 0x1c6e 3874 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @3868 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @3869 stack[-1] = 0x2f54bf6e // @386E stack[0] = 0x3875 // } // Block ends with unconditional jump to 0x1c6e 3875 5B JUMPDEST 3876 60 PUSH1 0x40 3878 51 MLOAD 3879 82 DUP3 387A 63 PUSH4 0xffffffff 387F 16 AND 3880 60 PUSH1 0xe0 3882 1B SHL 3883 81 DUP2 3884 52 MSTORE 3885 60 PUSH1 0x04 3887 01 ADD 3888 80 DUP1 3889 82 DUP3 388A 60 PUSH1 0x01 388C 60 PUSH1 0x01 388E 60 PUSH1 0xa0 3890 1B SHL 3891 03 SUB 3892 16 AND 3893 60 PUSH1 0x01 3895 60 PUSH1 0x01 3897 60 PUSH1 0xa0 3899 1B SHL 389A 03 SUB 389B 16 AND 389C 81 DUP2 389D 52 MSTORE 389E 60 PUSH1 0x20 38A0 01 ADD 38A1 91 SWAP2 38A2 50 POP 38A3 50 POP 38A4 60 PUSH1 0x20 38A6 60 PUSH1 0x40 38A8 51 MLOAD 38A9 80 DUP1 38AA 83 DUP4 38AB 03 SUB 38AC 81 DUP2 38AD 86 DUP7 38AE 80 DUP1 38AF 3B EXTCODESIZE 38B0 15 ISZERO 38B1 80 DUP1 38B2 15 ISZERO 38B3 61 PUSH2 0x38bb 38B6 57 *JUMPI 38B7 60 PUSH1 0x00 38B9 80 DUP1 38BA FD *REVERT 38BB 5B JUMPDEST 38BC 50 POP 38BD 5A GAS 38BE FA STATICCALL 38BF 15 ISZERO 38C0 80 DUP1 38C1 15 ISZERO 38C2 61 PUSH2 0x38cf 38C5 57 *JUMPI 38C6 3D RETURNDATASIZE 38C7 60 PUSH1 0x00 38C9 80 DUP1 38CA 3E RETURNDATACOPY 38CB 3D RETURNDATASIZE 38CC 60 PUSH1 0x00 38CE FD *REVERT 38CF 5B JUMPDEST 38D0 50 POP 38D1 50 POP 38D2 50 POP 38D3 50 POP 38D4 60 PUSH1 0x40 38D6 51 MLOAD 38D7 3D RETURNDATASIZE 38D8 60 PUSH1 0x20 38DA 81 DUP2 38DB 10 LT 38DC 15 ISZERO 38DD 61 PUSH2 0x38e5 38E0 57 *JUMPI 38E1 60 PUSH1 0x00 38E3 80 DUP1 38E4 FD *REVERT 38E5 5B JUMPDEST 38E6 50 POP 38E7 51 MLOAD 38E8 61 PUSH2 0x38f0 38EB 57 *JUMPI 38EC 60 PUSH1 0x00 38EE 80 DUP1 38EF FD *REVERT 38F0 5B JUMPDEST 38F1 82 DUP3 38F2 15 ISZERO 38F3 80 DUP1 38F4 15 ISZERO 38F5 90 SWAP1 38F6 61 PUSH2 0x38fe 38F9 57 *JUMPI 38FA 50 POP 38FB 80 DUP1 38FC 15 ISZERO 38FD 15 ISZERO 38FE 5B JUMPDEST 38FF 61 PUSH2 0x3907 3902 57 *JUMPI 3903 60 PUSH1 0x00 3905 80 DUP1 3906 FD *REVERT 3907 5B JUMPDEST 3908 61 PUSH2 0x397b 390B 85 DUP6 390C 85 DUP6 390D 85 DUP6 390E 80 DUP1 390F 80 DUP1 3910 60 PUSH1 0x1f 3912 01 ADD 3913 60 PUSH1 0x20 3915 80 DUP1 3916 91 SWAP2 3917 04 DIV 3918 02 MUL 3919 60 PUSH1 0x20 391B 01 ADD 391C 60 PUSH1 0x40 391E 51 MLOAD 391F 90 SWAP1 3920 81 DUP2 3921 01 ADD 3922 60 PUSH1 0x40 3924 52 MSTORE 3925 80 DUP1 3926 93 SWAP4 3927 92 SWAP3 3928 91 SWAP2 3929 90 SWAP1 392A 81 DUP2 392B 81 DUP2 392C 52 MSTORE 392D 60 PUSH1 0x20 392F 01 ADD 3930 83 DUP4 3931 83 DUP4 3932 80 DUP1 3933 82 DUP3 3934 84 DUP5 3935 37 CALLDATACOPY 3936 60 PUSH1 0x00 3938 92 SWAP3 3939 01 ADD 393A 91 SWAP2 393B 90 SWAP1 393C 91 SWAP2 393D 52 MSTORE 393E 50 POP 393F 50 POP 3940 60 PUSH1 0x40 3942 80 DUP1 3943 51 MLOAD 3944 60 PUSH1 0x20 3946 60 PUSH1 0x1f 3948 89 DUP10 3949 01 ADD 394A 81 DUP2 394B 90 SWAP1 394C 04 DIV 394D 81 DUP2 394E 02 MUL 394F 82 DUP3 3950 01 ADD 3951 81 DUP2 3952 01 ADD 3953 90 SWAP1 3954 92 SWAP3 3955 52 MSTORE 3956 87 DUP8 3957 81 DUP2 3958 52 MSTORE 3959 92 SWAP3 395A 50 POP 395B 87 DUP8 395C 91 SWAP2 395D 50 POP 395E 86 DUP7 395F 90 SWAP1 3960 81 DUP2 3961 90 SWAP1 3962 84 DUP5 3963 01 ADD 3964 83 DUP4 3965 82 DUP3 3966 80 DUP1 3967 82 DUP3 3968 84 DUP5 3969 37 CALLDATACOPY 396A 60 PUSH1 0x00 396C 92 SWAP3 396D 01 ADD 396E 91 SWAP2 396F 90 SWAP1 3970 91 SWAP2 3971 52 MSTORE 3972 50 POP 3973 61 PUSH2 0x5424 3976 92 SWAP3 3977 50 POP 3978 50 POP 3979 50 POP 397A 56 *JUMP 397B 5B JUMPDEST 397C 61 PUSH2 0x3984 397F 57 *JUMPI 3980 60 PUSH1 0x00 3982 80 DUP1 3983 FD *REVERT 3984 5B JUMPDEST 3985 60 PUSH1 0x02 3987 54 SLOAD 3988 60 PUSH1 0x40 398A 80 DUP1 398B 51 MLOAD 398C 80 DUP1 398D 82 DUP3 398E 01 ADD 398F 82 DUP3 3990 52 MSTORE 3991 60 PUSH1 0x0c 3993 81 DUP2 3994 52 MSTORE 3995 6B PUSH12 0x4f776e657246656174757265 39A2 60 PUSH1 0xa0 39A4 1B SHL 39A5 60 PUSH1 0x20 39A7 80 DUP1 39A8 83 DUP4 39A9 01 ADD 39AA 91 SWAP2 39AB 82 DUP3 39AC 52 MSTORE 39AD 92 SWAP3 39AE 51 MLOAD 39AF 63 PUSH4 0x0251382f 39B4 60 PUSH1 0xe3 39B6 1B SHL 39B7 81 DUP2 39B8 52 MSTORE 39B9 60 PUSH1 0x04 39BB 81 DUP2 39BC 01 ADD 39BD 93 SWAP4 39BE 84 DUP5 39BF 52 MSTORE 39C0 82 DUP3 39C1 51 MLOAD 39C2 60 PUSH1 0x24 39C4 82 DUP3 39C5 01 ADD 39C6 52 MSTORE 39C7 82 DUP3 39C8 51 MLOAD 39C9 60 PUSH1 0x00 39CB 95 SWAP6 39CC 60 PUSH1 0x01 39CE 60 PUSH1 0x01 39D0 60 PUSH1 0xa0 39D2 1B SHL 39D3 03 SUB 39D4 16 AND 39D5 94 SWAP5 39D6 63 PUSH4 0x1289c178 39DB 94 SWAP5 39DC 93 SWAP4 39DD 90 SWAP1 39DE 92 SWAP3 39DF 83 DUP4 39E0 92 SWAP3 39E1 60 PUSH1 0x44 39E3 90 SWAP1 39E4 91 SWAP2 39E5 01 ADD 39E6 91 SWAP2 39E7 90 SWAP1 39E8 80 DUP1 39E9 83 DUP4 39EA 83 DUP4 39EB 8B DUP12 39EC 5B JUMPDEST 39ED 83 DUP4 39EE 81 DUP2 39EF 10 LT 39F0 15 ISZERO 39F1 61 PUSH2 0x3a04 39F4 57 *JUMPI 39F5 81 DUP2 39F6 81 DUP2 39F7 01 ADD 39F8 51 MLOAD 39F9 83 DUP4 39FA 82 DUP3 39FB 01 ADD 39FC 52 MSTORE 39FD 60 PUSH1 0x20 39FF 01 ADD 3A00 61 PUSH2 0x39ec 3A03 56 *JUMP 3A04 5B JUMPDEST 3A05 50 POP 3A06 50 POP 3A07 50 POP 3A08 50 POP 3A09 90 SWAP1 3A0A 50 POP 3A0B 90 SWAP1 3A0C 81 DUP2 3A0D 01 ADD 3A0E 90 SWAP1 3A0F 60 PUSH1 0x1f 3A11 16 AND 3A12 80 DUP1 3A13 15 ISZERO 3A14 61 PUSH2 0x3a31 3A17 57 *JUMPI 3A18 80 DUP1 3A19 82 DUP3 3A1A 03 SUB 3A1B 80 DUP1 3A1C 51 MLOAD 3A1D 60 PUSH1 0x01 3A1F 83 DUP4 3A20 60 PUSH1 0x20 3A22 03 SUB 3A23 61 PUSH2 0x0100 3A26 0A EXP 3A27 03 SUB 3A28 19 NOT 3A29 16 AND 3A2A 81 DUP2 3A2B 52 MSTORE 3A2C 60 PUSH1 0x20 3A2E 01 ADD 3A2F 91 SWAP2 3A30 50 POP 3A31 5B JUMPDEST 3A32 50 POP 3A33 92 SWAP3 3A34 50 POP 3A35 50 POP 3A36 50 POP 3A37 60 PUSH1 0x20 3A39 60 PUSH1 0x40 3A3B 51 MLOAD 3A3C 80 DUP1 3A3D 83 DUP4 3A3E 03 SUB 3A3F 81 DUP2 3A40 86 DUP7 3A41 80 DUP1 3A42 3B EXTCODESIZE 3A43 15 ISZERO 3A44 80 DUP1 3A45 15 ISZERO 3A46 61 PUSH2 0x3a4e 3A49 57 *JUMPI 3A4A 60 PUSH1 0x00 3A4C 80 DUP1 3A4D FD *REVERT 3A4E 5B JUMPDEST 3A4F 50 POP 3A50 5A GAS 3A51 FA STATICCALL 3A52 15 ISZERO 3A53 80 DUP1 3A54 15 ISZERO 3A55 61 PUSH2 0x3a62 3A58 57 *JUMPI 3A59 3D RETURNDATASIZE 3A5A 60 PUSH1 0x00 3A5C 80 DUP1 3A5D 3E RETURNDATACOPY 3A5E 3D RETURNDATASIZE 3A5F 60 PUSH1 0x00 3A61 FD *REVERT 3A62 5B JUMPDEST 3A63 50 POP 3A64 50 POP 3A65 50 POP 3A66 50 POP 3A67 60 PUSH1 0x40 3A69 51 MLOAD 3A6A 3D RETURNDATASIZE 3A6B 60 PUSH1 0x20 3A6D 81 DUP2 3A6E 10 LT 3A6F 15 ISZERO 3A70 61 PUSH2 0x3a78 3A73 57 *JUMPI 3A74 60 PUSH1 0x00 3A76 80 DUP1 3A77 FD *REVERT 3A78 5B JUMPDEST 3A79 50 POP 3A7A 51 MLOAD 3A7B 90 SWAP1 3A7C 50 POP 3A7D 60 PUSH1 0x01 3A7F 60 PUSH1 0x01 3A81 60 PUSH1 0xa0 3A83 1B SHL 3A84 03 SUB 3A85 81 DUP2 3A86 16 AND 3A87 63 PUSH4 0xc28bdca6 3A8C 87 DUP8 3A8D 61 PUSH2 0x3a94 3A90 61 PUSH2 0x1c6e 3A93 56 *JUMP 3A94 5B JUMPDEST 3A95 60 PUSH1 0x40 3A97 51 MLOAD 3A98 83 DUP4 3A99 63 PUSH4 0xffffffff 3A9E 16 AND 3A9F 60 PUSH1 0xe0 3AA1 1B SHL 3AA2 81 DUP2 3AA3 52 MSTORE 3AA4 60 PUSH1 0x04 3AA6 01 ADD 3AA7 80 DUP1 3AA8 83 DUP4 3AA9 60 PUSH1 0x01 3AAB 60 PUSH1 0x01 3AAD 60 PUSH1 0xa0 3AAF 1B SHL 3AB0 03 SUB 3AB1 16 AND 3AB2 60 PUSH1 0x01 3AB4 60 PUSH1 0x01 3AB6 60 PUSH1 0xa0 3AB8 1B SHL 3AB9 03 SUB 3ABA 16 AND 3ABB 81 DUP2 3ABC 52 MSTORE 3ABD 60 PUSH1 0x20 3ABF 01 ADD 3AC0 82 DUP3 3AC1 60 PUSH1 0x01 3AC3 60 PUSH1 0x01 3AC5 60 PUSH1 0xa0 3AC7 1B SHL 3AC8 03 SUB 3AC9 16 AND 3ACA 60 PUSH1 0x01 3ACC 60 PUSH1 0x01 3ACE 60 PUSH1 0xa0 3AD0 1B SHL 3AD1 03 SUB 3AD2 16 AND 3AD3 81 DUP2 3AD4 52 MSTORE 3AD5 60 PUSH1 0x20 3AD7 01 ADD 3AD8 92 SWAP3 3AD9 50 POP 3ADA 50 POP 3ADB 50 POP 3ADC 60 PUSH1 0x20 3ADE 60 PUSH1 0x40 3AE0 51 MLOAD 3AE1 80 DUP1 3AE2 83 DUP4 3AE3 03 SUB 3AE4 81 DUP2 3AE5 60 PUSH1 0x00 3AE7 87 DUP8 3AE8 80 DUP1 3AE9 3B EXTCODESIZE 3AEA 15 ISZERO 3AEB 80 DUP1 3AEC 15 ISZERO 3AED 61 PUSH2 0x3af5 3AF0 57 *JUMPI 3AF1 60 PUSH1 0x00 3AF3 80 DUP1 3AF4 FD *REVERT 3AF5 5B JUMPDEST 3AF6 50 POP 3AF7 5A GAS 3AF8 F1 CALL 3AF9 15 ISZERO 3AFA 80 DUP1 3AFB 15 ISZERO 3AFC 61 PUSH2 0x3b09 3AFF 57 *JUMPI 3B00 3D RETURNDATASIZE 3B01 60 PUSH1 0x00 3B03 80 DUP1 3B04 3E RETURNDATACOPY 3B05 3D RETURNDATASIZE 3B06 60 PUSH1 0x00 3B08 FD *REVERT 3B09 5B JUMPDEST 3B0A 50 POP 3B0B 50 POP 3B0C 50 POP 3B0D 50 POP 3B0E 60 PUSH1 0x40 3B10 51 MLOAD 3B11 3D RETURNDATASIZE 3B12 60 PUSH1 0x20 3B14 81 DUP2 3B15 10 LT 3B16 15 ISZERO 3B17 61 PUSH2 0x3b1f 3B1A 57 *JUMPI 3B1B 60 PUSH1 0x00 3B1D 80 DUP1 3B1E FD *REVERT 3B1F 5B JUMPDEST 3B20 50 POP 3B21 51 MLOAD 3B22 61 PUSH2 0x3b2a 3B25 57 *JUMPI 3B26 60 PUSH1 0x00 3B28 80 DUP1 3B29 FD *REVERT 3B2A 5B JUMPDEST 3B2B 60 PUSH1 0x02 3B2D 54 SLOAD 3B2E 60 PUSH1 0x40 3B30 80 DUP1 3B31 51 MLOAD 3B32 80 DUP1 3B33 82 DUP3 3B34 01 ADD 3B35 82 DUP3 3B36 52 MSTORE 3B37 60 PUSH1 0x0c 3B39 81 DUP2 3B3A 52 MSTORE 3B3B 6B PUSH12 0x546f6b656e46656174757265 3B48 60 PUSH1 0xa0 3B4A 1B SHL 3B4B 60 PUSH1 0x20 3B4D 80 DUP1 3B4E 83 DUP4 3B4F 01 ADD 3B50 91 SWAP2 3B51 82 DUP3 3B52 52 MSTORE 3B53 92 SWAP3 3B54 51 MLOAD 3B55 63 PUSH4 0x0251382f 3B5A 60 PUSH1 0xe3 3B5C 1B SHL 3B5D 81 DUP2 3B5E 52 MSTORE 3B5F 60 PUSH1 0x04 3B61 81 DUP2 3B62 01 ADD 3B63 93 SWAP4 3B64 84 DUP5 3B65 52 MSTORE 3B66 82 DUP3 3B67 51 MLOAD 3B68 60 PUSH1 0x24 3B6A 82 DUP3 3B6B 01 ADD 3B6C 52 MSTORE 3B6D 82 DUP3 3B6E 51 MLOAD 3B6F 60 PUSH1 0x00 3B71 95 SWAP6 3B72 60 PUSH1 0x01 3B74 60 PUSH1 0x01 3B76 60 PUSH1 0xa0 3B78 1B SHL 3B79 03 SUB 3B7A 16 AND 3B7B 94 SWAP5 3B7C 63 PUSH4 0x1289c178 3B81 94 SWAP5 3B82 93 SWAP4 3B83 90 SWAP1 3B84 92 SWAP3 3B85 83 DUP4 3B86 92 SWAP3 3B87 60 PUSH1 0x44 3B89 90 SWAP1 3B8A 91 SWAP2 3B8B 01 ADD 3B8C 91 SWAP2 3B8D 90 SWAP1 3B8E 80 DUP1 3B8F 83 DUP4 3B90 83 DUP4 3B91 8B DUP12 3B92 5B JUMPDEST 3B93 83 DUP4 3B94 81 DUP2 3B95 10 LT 3B96 15 ISZERO 3B97 61 PUSH2 0x3baa 3B9A 57 *JUMPI 3B9B 81 DUP2 3B9C 81 DUP2 3B9D 01 ADD 3B9E 51 MLOAD 3B9F 83 DUP4 3BA0 82 DUP3 3BA1 01 ADD 3BA2 52 MSTORE 3BA3 60 PUSH1 0x20 3BA5 01 ADD 3BA6 61 PUSH2 0x3b92 3BA9 56 *JUMP 3BAA 5B JUMPDEST 3BAB 50 POP 3BAC 50 POP 3BAD 50 POP 3BAE 50 POP 3BAF 90 SWAP1 3BB0 50 POP 3BB1 90 SWAP1 3BB2 81 DUP2 3BB3 01 ADD 3BB4 90 SWAP1 3BB5 60 PUSH1 0x1f 3BB7 16 AND 3BB8 80 DUP1 3BB9 15 ISZERO 3BBA 61 PUSH2 0x3bd7 3BBD 57 *JUMPI 3BBE 80 DUP1 3BBF 82 DUP3 3BC0 03 SUB 3BC1 80 DUP1 3BC2 51 MLOAD 3BC3 60 PUSH1 0x01 3BC5 83 DUP4 3BC6 60 PUSH1 0x20 3BC8 03 SUB 3BC9 61 PUSH2 0x0100 3BCC 0A EXP 3BCD 03 SUB 3BCE 19 NOT 3BCF 16 AND 3BD0 81 DUP2 3BD1 52 MSTORE 3BD2 60 PUSH1 0x20 3BD4 01 ADD 3BD5 91 SWAP2 3BD6 50 POP 3BD7 5B JUMPDEST 3BD8 50 POP 3BD9 92 SWAP3 3BDA 50 POP 3BDB 50 POP 3BDC 50 POP 3BDD 60 PUSH1 0x20 3BDF 60 PUSH1 0x40 3BE1 51 MLOAD 3BE2 80 DUP1 3BE3 83 DUP4 3BE4 03 SUB 3BE5 81 DUP2 3BE6 86 DUP7 3BE7 80 DUP1 3BE8 3B EXTCODESIZE 3BE9 15 ISZERO 3BEA 80 DUP1 3BEB 15 ISZERO 3BEC 61 PUSH2 0x3bf4 3BEF 57 *JUMPI 3BF0 60 PUSH1 0x00 3BF2 80 DUP1 3BF3 FD *REVERT 3BF4 5B JUMPDEST 3BF5 50 POP 3BF6 5A GAS 3BF7 FA STATICCALL 3BF8 15 ISZERO 3BF9 80 DUP1 3BFA 15 ISZERO 3BFB 61 PUSH2 0x3c08 3BFE 57 *JUMPI 3BFF 3D RETURNDATASIZE 3C00 60 PUSH1 0x00 3C02 80 DUP1 3C03 3E RETURNDATACOPY 3C04 3D RETURNDATASIZE 3C05 60 PUSH1 0x00 3C07 FD *REVERT 3C08 5B JUMPDEST 3C09 50 POP 3C0A 50 POP 3C0B 50 POP 3C0C 50 POP 3C0D 60 PUSH1 0x40 3C0F 51 MLOAD 3C10 3D RETURNDATASIZE 3C11 60 PUSH1 0x20 3C13 81 DUP2 3C14 10 LT 3C15 15 ISZERO 3C16 61 PUSH2 0x3c1e 3C19 57 *JUMPI 3C1A 60 PUSH1 0x00 3C1C 80 DUP1 3C1D FD *REVERT 3C1E 5B JUMPDEST 3C1F 50 POP 3C20 51 MLOAD 3C21 90 SWAP1 3C22 50 POP 3C23 60 PUSH1 0x01 3C25 60 PUSH1 0x01 3C27 60 PUSH1 0xa0 3C29 1B SHL 3C2A 03 SUB 3C2B 81 DUP2 3C2C 16 AND 3C2D 63 PUSH4 0x8891c77c 3C32 61 PUSH2 0x3c39 3C35 61 PUSH2 0x1c6e 3C38 56 *JUMP 3C39 5B JUMPDEST 3C3A 60 PUSH1 0x40 3C3C 80 DUP1 3C3D 51 MLOAD 3C3E 60 PUSH1 0x01 3C40 60 PUSH1 0x01 3C42 60 PUSH1 0xe0 3C44 1B SHL 3C45 03 SUB 3C46 19 NOT 3C47 60 PUSH1 0xe0 3C49 85 DUP6 3C4A 90 SWAP1 3C4B 1B SHL 3C4C 16 AND 3C4D 81 DUP2 3C4E 52 MSTORE 3C4F 60 PUSH1 0x01 3C51 60 PUSH1 0x01 3C53 60 PUSH1 0xa0 3C55 1B SHL 3C56 03 SUB 3C57 92 SWAP3 3C58 83 DUP4 3C59 16 AND 3C5A 60 PUSH1 0x04 3C5C 82 DUP3 3C5D 01 ADD 3C5E 52 MSTORE 3C5F 91 SWAP2 3C60 8B DUP12 3C61 16 AND 3C62 60 PUSH1 0x24 3C64 83 DUP4 3C65 01 ADD 3C66 52 MSTORE 3C67 51 MLOAD 3C68 60 PUSH1 0x44 3C6A 80 DUP1 3C6B 83 DUP4 3C6C 01 ADD 3C6D 92 SWAP3 3C6E 60 PUSH1 0x20 3C70 92 SWAP3 3C71 91 SWAP2 3C72 90 SWAP1 3C73 82 DUP3 3C74 90 SWAP1 3C75 03 SUB 3C76 01 ADD 3C77 81 DUP2 3C78 60 PUSH1 0x00 3C7A 87 DUP8 3C7B 80 DUP1 3C7C 3B EXTCODESIZE 3C7D 15 ISZERO 3C7E 80 DUP1 3C7F 15 ISZERO 3C80 61 PUSH2 0x3224 3C83 57 *JUMPI 3C84 60 PUSH1 0x00 3C86 80 DUP1 3C87 FD *REVERT label_3C88: // Incoming jump from 0x0EFF // Inputs[5] // { // @3C8B storage[0x02] // @3C8F memory[0x40:0x60] // @3CB2 memory[0x40:0x60] // @3CC5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @3CCC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 3C88 5B JUMPDEST 3C89 60 PUSH1 0x02 3C8B 54 SLOAD 3C8C 60 PUSH1 0x40 3C8E 80 DUP1 3C8F 51 MLOAD 3C90 80 DUP1 3C91 82 DUP3 3C92 01 ADD 3C93 82 DUP3 3C94 52 MSTORE 3C95 60 PUSH1 0x0c 3C97 81 DUP2 3C98 52 MSTORE 3C99 6B PUSH12 0x4f776e657246656174757265 3CA6 60 PUSH1 0xa0 3CA8 1B SHL 3CA9 60 PUSH1 0x20 3CAB 80 DUP1 3CAC 83 DUP4 3CAD 01 ADD 3CAE 91 SWAP2 3CAF 82 DUP3 3CB0 52 MSTORE 3CB1 92 SWAP3 3CB2 51 MLOAD 3CB3 63 PUSH4 0x0251382f 3CB8 60 PUSH1 0xe3 3CBA 1B SHL 3CBB 81 DUP2 3CBC 52 MSTORE 3CBD 60 PUSH1 0x04 3CBF 81 DUP2 3CC0 01 ADD 3CC1 93 SWAP4 3CC2 84 DUP5 3CC3 52 MSTORE 3CC4 82 DUP3 3CC5 51 MLOAD 3CC6 60 PUSH1 0x24 3CC8 82 DUP3 3CC9 01 ADD 3CCA 52 MSTORE 3CCB 82 DUP3 3CCC 51 MLOAD 3CCD 60 PUSH1 0x01 3CCF 60 PUSH1 0x01 3CD1 60 PUSH1 0xa0 3CD3 1B SHL 3CD4 03 SUB 3CD5 90 SWAP1 3CD6 95 SWAP6 3CD7 16 AND 3CD8 94 SWAP5 3CD9 63 PUSH4 0x1289c178 3CDE 94 SWAP5 3CDF 92 SWAP3 3CE0 83 DUP4 3CE1 92 SWAP3 3CE2 60 PUSH1 0x44 3CE4 01 ADD 3CE5 91 SWAP2 3CE6 80 DUP1 3CE7 83 DUP4 3CE8 83 DUP4 3CE9 60 PUSH1 0x00 3CEB 5B JUMPDEST 3CEC 83 DUP4 3CED 81 DUP2 3CEE 10 LT 3CEF 15 ISZERO 3CF0 61 PUSH2 0x3d03 3CF3 57 *JUMPI // Stack delta = +12 // Outputs[18] // { // @3C8F stack[2] = memory[0x40:0x60] // @3C94 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @3C98 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @3CB0 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0 // @3CBC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @3CC3 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @3CCA memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @3CD8 stack[0] = storage[0x02] & (0x01 << 0xa0) - 0x01 // @3CDE stack[1] = 0x1289c178 // @3CDF stack[6] = memory[0x40:0x60] + 0x20 // @3CDF stack[3] = memory[0x40:0x60] + 0x04 // @3CE1 stack[4] = memory[0x40:0x60] + 0x04 // @3CE5 stack[5] = 0x44 + memory[0x40:0x60] // @3CE5 stack[7] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @3CE6 stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @3CE7 stack[9] = 0x44 + memory[0x40:0x60] // @3CE8 stack[10] = memory[0x40:0x60] + 0x20 // @3CE9 stack[11] = 0x00 // } // Block ends with conditional jump to 0x3d03, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_3CF4: // Incoming jump from 0x3CF3, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x3CF3, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @3CF4 stack[-2] // @3CF5 stack[-1] // @3CF7 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @3CF8 stack[-3] // } 3CF4 81 DUP2 3CF5 81 DUP2 3CF6 01 ADD 3CF7 51 MLOAD 3CF8 83 DUP4 3CF9 82 DUP3 3CFA 01 ADD 3CFB 52 MSTORE 3CFC 60 PUSH1 0x20 3CFE 01 ADD 3CFF 61 PUSH2 0x3ceb 3D02 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @3CFB memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @3CFE stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x3ceb label_3D03: // Incoming jump from 0x3CF3, if !(stack[-1] < stack[-4]) // Incoming jump from 0x3CF3, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @3D08 stack[-6] // @3D08 stack[-5] // @3D0A stack[-7] // } 3D03 5B JUMPDEST 3D04 50 POP 3D05 50 POP 3D06 50 POP 3D07 50 POP 3D08 90 SWAP1 3D09 50 POP 3D0A 90 SWAP1 3D0B 81 DUP2 3D0C 01 ADD 3D0D 90 SWAP1 3D0E 60 PUSH1 0x1f 3D10 16 AND 3D11 80 DUP1 3D12 15 ISZERO 3D13 61 PUSH2 0x3d30 3D16 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @3D0D stack[-7] = stack[-5] + stack[-7] // @3D10 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x3d30, if !(0x1f & stack[-5]) label_3D17: // Incoming jump from 0x3D16, if not !(0x1f & stack[-5]) // Inputs[7] // { // @3D17 stack[-1] // @3D18 stack[-2] // @3D1B memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3D32 stack[-5] // @3D3A memory[0x40:0x60] // @3D3F stack[-7] // @3D41 address(stack[-7]).code.length // } 3D17 80 DUP1 3D18 82 DUP3 3D19 03 SUB 3D1A 80 DUP1 3D1B 51 MLOAD 3D1C 60 PUSH1 0x01 3D1E 83 DUP4 3D1F 60 PUSH1 0x20 3D21 03 SUB 3D22 61 PUSH2 0x0100 3D25 0A EXP 3D26 03 SUB 3D27 19 NOT 3D28 16 AND 3D29 81 DUP2 3D2A 52 MSTORE 3D2B 60 PUSH1 0x20 3D2D 01 ADD 3D2E 91 SWAP2 3D2F 50 POP 3D30 5B JUMPDEST 3D31 50 POP 3D32 92 SWAP3 3D33 50 POP 3D34 50 POP 3D35 50 POP 3D36 60 PUSH1 0x20 3D38 60 PUSH1 0x40 3D3A 51 MLOAD 3D3B 80 DUP1 3D3C 83 DUP4 3D3D 03 SUB 3D3E 81 DUP2 3D3F 86 DUP7 3D40 80 DUP1 3D41 3B EXTCODESIZE 3D42 15 ISZERO 3D43 80 DUP1 3D44 15 ISZERO 3D45 61 PUSH2 0x3d4d 3D48 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @3D2A memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @3D32 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @3D36 stack[-4] = 0x20 // @3D3A stack[-3] = memory[0x40:0x60] // @3D3D stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @3D3E stack[-1] = memory[0x40:0x60] // @3D3F stack[0] = stack[-7] // @3D42 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x3d4d, if !!address(stack[-7]).code.length label_3D49: // Incoming jump from 0x3D48, if not !!address(stack[-7]).code.length // Incoming jump from 0x3D48, if not !!address(stack[-7]).code.length // Inputs[1] { @3D4C memory[0x00:0x00] } 3D49 60 PUSH1 0x00 3D4B 80 DUP1 3D4C FD *REVERT // Stack delta = +0 // Outputs[1] { @3D4C revert(memory[0x00:0x00]); } // Block terminates label_3D4D: // Incoming jump from 0x3D48, if !!address(stack[-7]).code.length // Incoming jump from 0x3D48, if !!address(stack[-7]).code.length // Inputs[8] // { // @3D4F msg.gas // @3D50 stack[-6] // @3D50 stack[-4] // @3D50 stack[-2] // @3D50 stack[-3] // @3D50 memory[stack[-3]:stack[-3] + stack[-4]] // @3D50 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3D50 stack[-5] // } 3D4D 5B JUMPDEST 3D4E 50 POP 3D4F 5A GAS 3D50 FA STATICCALL 3D51 15 ISZERO 3D52 80 DUP1 3D53 15 ISZERO 3D54 61 PUSH2 0x3d61 3D57 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @3D50 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @3D51 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x3d61, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_3D58: // Incoming jump from 0x3D57, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @3D58 returndata.length // @3D5C returndata[0x00:0x00 + returndata.length] // @3D5D returndata.length // @3D60 memory[0x00:0x00 + returndata.length] // } 3D58 3D RETURNDATASIZE 3D59 60 PUSH1 0x00 3D5B 80 DUP1 3D5C 3E RETURNDATACOPY 3D5D 3D RETURNDATASIZE 3D5E 60 PUSH1 0x00 3D60 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @3D5C memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @3D60 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_3D61: // Incoming jump from 0x3D57, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @3D68 memory[0x40:0x60] // @3D69 returndata.length // } 3D61 5B JUMPDEST 3D62 50 POP 3D63 50 POP 3D64 50 POP 3D65 50 POP 3D66 60 PUSH1 0x40 3D68 51 MLOAD 3D69 3D RETURNDATASIZE 3D6A 60 PUSH1 0x20 3D6C 81 DUP2 3D6D 10 LT 3D6E 15 ISZERO 3D6F 61 PUSH2 0x3d77 3D72 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @3D68 stack[-4] = memory[0x40:0x60] // @3D69 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x3d77, if !(returndata.length < 0x20) label_3D73: // Incoming jump from 0x3D72, if not !(returndata.length < 0x20) // Inputs[1] { @3D76 memory[0x00:0x00] } 3D73 60 PUSH1 0x00 3D75 80 DUP1 3D76 FD *REVERT // Stack delta = +0 // Outputs[1] { @3D76 revert(memory[0x00:0x00]); } // Block terminates label_3D77: // Incoming jump from 0x3D72, if !(returndata.length < 0x20) // Inputs[2] // { // @3D79 memory[stack[-2]:stack[-2] + 0x20] // @3D79 stack[-2] // } 3D77 5B JUMPDEST 3D78 50 POP 3D79 51 MLOAD 3D7A 60 PUSH1 0x01 3D7C 60 PUSH1 0x01 3D7E 60 PUSH1 0xa0 3D80 1B SHL 3D81 03 SUB 3D82 16 AND 3D83 63 PUSH4 0x2f54bf6e 3D88 61 PUSH2 0x3d8f 3D8B 61 PUSH2 0x1c6e 3D8E 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @3D82 stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @3D83 stack[-1] = 0x2f54bf6e // @3D88 stack[0] = 0x3d8f // } // Block ends with unconditional jump to 0x1c6e 3D8F 5B JUMPDEST 3D90 60 PUSH1 0x40 3D92 51 MLOAD 3D93 82 DUP3 3D94 63 PUSH4 0xffffffff 3D99 16 AND 3D9A 60 PUSH1 0xe0 3D9C 1B SHL 3D9D 81 DUP2 3D9E 52 MSTORE 3D9F 60 PUSH1 0x04 3DA1 01 ADD 3DA2 80 DUP1 3DA3 82 DUP3 3DA4 60 PUSH1 0x01 3DA6 60 PUSH1 0x01 3DA8 60 PUSH1 0xa0 3DAA 1B SHL 3DAB 03 SUB 3DAC 16 AND 3DAD 60 PUSH1 0x01 3DAF 60 PUSH1 0x01 3DB1 60 PUSH1 0xa0 3DB3 1B SHL 3DB4 03 SUB 3DB5 16 AND 3DB6 81 DUP2 3DB7 52 MSTORE 3DB8 60 PUSH1 0x20 3DBA 01 ADD 3DBB 91 SWAP2 3DBC 50 POP 3DBD 50 POP 3DBE 60 PUSH1 0x20 3DC0 60 PUSH1 0x40 3DC2 51 MLOAD 3DC3 80 DUP1 3DC4 83 DUP4 3DC5 03 SUB 3DC6 81 DUP2 3DC7 86 DUP7 3DC8 80 DUP1 3DC9 3B EXTCODESIZE 3DCA 15 ISZERO 3DCB 80 DUP1 3DCC 15 ISZERO 3DCD 61 PUSH2 0x3dd5 3DD0 57 *JUMPI 3DD1 60 PUSH1 0x00 3DD3 80 DUP1 3DD4 FD *REVERT 3DD5 5B JUMPDEST 3DD6 50 POP 3DD7 5A GAS 3DD8 FA STATICCALL 3DD9 15 ISZERO 3DDA 80 DUP1 3DDB 15 ISZERO 3DDC 61 PUSH2 0x3de9 3DDF 57 *JUMPI 3DE0 3D RETURNDATASIZE 3DE1 60 PUSH1 0x00 3DE3 80 DUP1 3DE4 3E RETURNDATACOPY 3DE5 3D RETURNDATASIZE 3DE6 60 PUSH1 0x00 3DE8 FD *REVERT 3DE9 5B JUMPDEST 3DEA 50 POP 3DEB 50 POP 3DEC 50 POP 3DED 50 POP 3DEE 60 PUSH1 0x40 3DF0 51 MLOAD 3DF1 3D RETURNDATASIZE 3DF2 60 PUSH1 0x20 3DF4 81 DUP2 3DF5 10 LT 3DF6 15 ISZERO 3DF7 61 PUSH2 0x3dff 3DFA 57 *JUMPI 3DFB 60 PUSH1 0x00 3DFD 80 DUP1 3DFE FD *REVERT 3DFF 5B JUMPDEST 3E00 50 POP 3E01 51 MLOAD 3E02 61 PUSH2 0x3e0a 3E05 57 *JUMPI 3E06 60 PUSH1 0x00 3E08 80 DUP1 3E09 FD *REVERT 3E0A 5B JUMPDEST 3E0B 82 DUP3 3E0C 15 ISZERO 3E0D 80 DUP1 3E0E 15 ISZERO 3E0F 90 SWAP1 3E10 61 PUSH2 0x3e18 3E13 57 *JUMPI 3E14 50 POP 3E15 80 DUP1 3E16 15 ISZERO 3E17 15 ISZERO 3E18 5B JUMPDEST 3E19 61 PUSH2 0x3e21 3E1C 57 *JUMPI 3E1D 60 PUSH1 0x00 3E1F 80 DUP1 3E20 FD *REVERT 3E21 5B JUMPDEST 3E22 61 PUSH2 0x3e9c 3E25 61 PUSH2 0x3e2c 3E28 61 PUSH2 0x1c6e 3E2B 56 *JUMP 3E2C 5B JUMPDEST 3E2D 85 DUP6 3E2E 85 DUP6 3E2F 80 DUP1 3E30 80 DUP1 3E31 60 PUSH1 0x1f 3E33 01 ADD 3E34 60 PUSH1 0x20 3E36 80 DUP1 3E37 91 SWAP2 3E38 04 DIV 3E39 02 MUL 3E3A 60 PUSH1 0x20 3E3C 01 ADD 3E3D 60 PUSH1 0x40 3E3F 51 MLOAD 3E40 90 SWAP1 3E41 81 DUP2 3E42 01 ADD 3E43 60 PUSH1 0x40 3E45 52 MSTORE 3E46 80 DUP1 3E47 93 SWAP4 3E48 92 SWAP3 3E49 91 SWAP2 3E4A 90 SWAP1 3E4B 81 DUP2 3E4C 81 DUP2 3E4D 52 MSTORE 3E4E 60 PUSH1 0x20 3E50 01 ADD 3E51 83 DUP4 3E52 83 DUP4 3E53 80 DUP1 3E54 82 DUP3 3E55 84 DUP5 3E56 37 CALLDATACOPY 3E57 60 PUSH1 0x00 3E59 92 SWAP3 3E5A 01 ADD 3E5B 91 SWAP2 3E5C 90 SWAP1 3E5D 91 SWAP2 3E5E 52 MSTORE 3E5F 50 POP 3E60 50 POP 3E61 60 PUSH1 0x40 3E63 80 DUP1 3E64 51 MLOAD 3E65 60 PUSH1 0x20 3E67 60 PUSH1 0x1f 3E69 89 DUP10 3E6A 01 ADD 3E6B 81 DUP2 3E6C 90 SWAP1 3E6D 04 DIV 3E6E 81 DUP2 3E6F 02 MUL 3E70 82 DUP3 3E71 01 ADD 3E72 81 DUP2 3E73 01 ADD 3E74 90 SWAP1 3E75 92 SWAP3 3E76 52 MSTORE 3E77 87 DUP8 3E78 81 DUP2 3E79 52 MSTORE 3E7A 92 SWAP3 3E7B 50 POP 3E7C 87 DUP8 3E7D 91 SWAP2 3E7E 50 POP 3E7F 86 DUP7 3E80 90 SWAP1 3E81 81 DUP2 3E82 90 SWAP1 3E83 84 DUP5 3E84 01 ADD 3E85 83 DUP4 3E86 82 DUP3 3E87 80 DUP1 3E88 82 DUP3 3E89 84 DUP5 3E8A 37 CALLDATACOPY 3E8B 60 PUSH1 0x00 3E8D 92 SWAP3 3E8E 01 ADD 3E8F 91 SWAP2 3E90 90 SWAP1 3E91 91 SWAP2 3E92 52 MSTORE 3E93 50 POP 3E94 61 PUSH2 0x5424 3E97 92 SWAP3 3E98 50 POP 3E99 50 POP 3E9A 50 POP 3E9B 56 *JUMP 3E9C 5B JUMPDEST 3E9D 61 PUSH2 0x3ea5 3EA0 57 *JUMPI 3EA1 60 PUSH1 0x00 3EA3 80 DUP1 3EA4 FD *REVERT 3EA5 5B JUMPDEST 3EA6 60 PUSH1 0x02 3EA8 54 SLOAD 3EA9 60 PUSH1 0x40 3EAB 80 DUP1 3EAC 51 MLOAD 3EAD 80 DUP1 3EAE 82 DUP3 3EAF 01 ADD 3EB0 82 DUP3 3EB1 52 MSTORE 3EB2 60 PUSH1 0x0c 3EB4 81 DUP2 3EB5 52 MSTORE 3EB6 6B PUSH12 0x4f776e657246656174757265 3EC3 60 PUSH1 0xa0 3EC5 1B SHL 3EC6 60 PUSH1 0x20 3EC8 80 DUP1 3EC9 83 DUP4 3ECA 01 ADD 3ECB 91 SWAP2 3ECC 82 DUP3 3ECD 52 MSTORE 3ECE 92 SWAP3 3ECF 51 MLOAD 3ED0 63 PUSH4 0x0251382f 3ED5 60 PUSH1 0xe3 3ED7 1B SHL 3ED8 81 DUP2 3ED9 52 MSTORE 3EDA 60 PUSH1 0x04 3EDC 81 DUP2 3EDD 01 ADD 3EDE 93 SWAP4 3EDF 84 DUP5 3EE0 52 MSTORE 3EE1 82 DUP3 3EE2 51 MLOAD 3EE3 60 PUSH1 0x24 3EE5 82 DUP3 3EE6 01 ADD 3EE7 52 MSTORE 3EE8 82 DUP3 3EE9 51 MLOAD 3EEA 60 PUSH1 0x00 3EEC 95 SWAP6 3EED 60 PUSH1 0x01 3EEF 60 PUSH1 0x01 3EF1 60 PUSH1 0xa0 3EF3 1B SHL 3EF4 03 SUB 3EF5 16 AND 3EF6 94 SWAP5 3EF7 63 PUSH4 0x1289c178 3EFC 94 SWAP5 3EFD 93 SWAP4 3EFE 90 SWAP1 3EFF 92 SWAP3 3F00 83 DUP4 3F01 92 SWAP3 3F02 60 PUSH1 0x44 3F04 90 SWAP1 3F05 91 SWAP2 3F06 01 ADD 3F07 91 SWAP2 3F08 90 SWAP1 3F09 80 DUP1 3F0A 83 DUP4 3F0B 83 DUP4 3F0C 8B DUP12 3F0D 5B JUMPDEST 3F0E 83 DUP4 3F0F 81 DUP2 3F10 10 LT 3F11 15 ISZERO 3F12 61 PUSH2 0x3f25 3F15 57 *JUMPI 3F16 81 DUP2 3F17 81 DUP2 3F18 01 ADD 3F19 51 MLOAD 3F1A 83 DUP4 3F1B 82 DUP3 3F1C 01 ADD 3F1D 52 MSTORE 3F1E 60 PUSH1 0x20 3F20 01 ADD 3F21 61 PUSH2 0x3f0d 3F24 56 *JUMP 3F25 5B JUMPDEST 3F26 50 POP 3F27 50 POP 3F28 50 POP 3F29 50 POP 3F2A 90 SWAP1 3F2B 50 POP 3F2C 90 SWAP1 3F2D 81 DUP2 3F2E 01 ADD 3F2F 90 SWAP1 3F30 60 PUSH1 0x1f 3F32 16 AND 3F33 80 DUP1 3F34 15 ISZERO 3F35 61 PUSH2 0x3f52 3F38 57 *JUMPI 3F39 80 DUP1 3F3A 82 DUP3 3F3B 03 SUB 3F3C 80 DUP1 3F3D 51 MLOAD 3F3E 60 PUSH1 0x01 3F40 83 DUP4 3F41 60 PUSH1 0x20 3F43 03 SUB 3F44 61 PUSH2 0x0100 3F47 0A EXP 3F48 03 SUB 3F49 19 NOT 3F4A 16 AND 3F4B 81 DUP2 3F4C 52 MSTORE 3F4D 60 PUSH1 0x20 3F4F 01 ADD 3F50 91 SWAP2 3F51 50 POP 3F52 5B JUMPDEST 3F53 50 POP 3F54 92 SWAP3 3F55 50 POP 3F56 50 POP 3F57 50 POP 3F58 60 PUSH1 0x20 3F5A 60 PUSH1 0x40 3F5C 51 MLOAD 3F5D 80 DUP1 3F5E 83 DUP4 3F5F 03 SUB 3F60 81 DUP2 3F61 86 DUP7 3F62 80 DUP1 3F63 3B EXTCODESIZE 3F64 15 ISZERO 3F65 80 DUP1 3F66 15 ISZERO 3F67 61 PUSH2 0x3f6f 3F6A 57 *JUMPI 3F6B 60 PUSH1 0x00 3F6D 80 DUP1 3F6E FD *REVERT 3F6F 5B JUMPDEST 3F70 50 POP 3F71 5A GAS 3F72 FA STATICCALL 3F73 15 ISZERO 3F74 80 DUP1 3F75 15 ISZERO 3F76 61 PUSH2 0x3f83 3F79 57 *JUMPI 3F7A 3D RETURNDATASIZE 3F7B 60 PUSH1 0x00 3F7D 80 DUP1 3F7E 3E RETURNDATACOPY 3F7F 3D RETURNDATASIZE 3F80 60 PUSH1 0x00 3F82 FD *REVERT 3F83 5B JUMPDEST 3F84 50 POP 3F85 50 POP 3F86 50 POP 3F87 50 POP 3F88 60 PUSH1 0x40 3F8A 51 MLOAD 3F8B 3D RETURNDATASIZE 3F8C 60 PUSH1 0x20 3F8E 81 DUP2 3F8F 10 LT 3F90 15 ISZERO 3F91 61 PUSH2 0x3f99 3F94 57 *JUMPI 3F95 60 PUSH1 0x00 3F97 80 DUP1 3F98 FD *REVERT 3F99 5B JUMPDEST 3F9A 50 POP 3F9B 51 MLOAD 3F9C 60 PUSH1 0x02 3F9E 54 SLOAD 3F9F 60 PUSH1 0x40 3FA1 80 DUP1 3FA2 51 MLOAD 3FA3 80 DUP1 3FA4 82 DUP3 3FA5 01 ADD 3FA6 82 DUP3 3FA7 52 MSTORE 3FA8 60 PUSH1 0x0c 3FAA 81 DUP2 3FAB 52 MSTORE 3FAC 6B PUSH12 0x546f6b656e46656174757265 3FB9 60 PUSH1 0xa0 3FBB 1B SHL 3FBC 60 PUSH1 0x20 3FBE 82 DUP3 3FBF 81 DUP2 3FC0 01 ADD 3FC1 91 SWAP2 3FC2 82 DUP3 3FC3 52 MSTORE 3FC4 92 SWAP3 3FC5 51 MLOAD 3FC6 63 PUSH4 0x0251382f 3FCB 60 PUSH1 0xe3 3FCD 1B SHL 3FCE 81 DUP2 3FCF 52 MSTORE 3FD0 60 PUSH1 0x04 3FD2 81 DUP2 3FD3 01 ADD 3FD4 93 SWAP4 3FD5 84 DUP5 3FD6 52 MSTORE 3FD7 82 DUP3 3FD8 51 MLOAD 3FD9 60 PUSH1 0x24 3FDB 82 DUP3 3FDC 01 ADD 3FDD 52 MSTORE 3FDE 82 DUP3 3FDF 51 MLOAD 3FE0 95 SWAP6 3FE1 96 SWAP7 3FE2 50 POP 3FE3 60 PUSH1 0x00 3FE5 95 SWAP6 3FE6 60 PUSH1 0x01 3FE8 60 PUSH1 0x01 3FEA 60 PUSH1 0xa0 3FEC 1B SHL 3FED 03 SUB 3FEE 90 SWAP1 3FEF 95 SWAP6 3FF0 16 AND 3FF1 94 SWAP5 3FF2 63 PUSH4 0x1289c178 3FF7 94 SWAP5 3FF8 92 SWAP3 3FF9 83 DUP4 3FFA 92 SWAP3 3FFB 60 PUSH1 0x44 3FFD 01 ADD 3FFE 91 SWAP2 3FFF 80 DUP1 4000 83 DUP4 4001 83 DUP4 4002 8B DUP12 4003 5B JUMPDEST 4004 83 DUP4 4005 81 DUP2 4006 10 LT 4007 15 ISZERO 4008 61 PUSH2 0x401b 400B 57 *JUMPI 400C 81 DUP2 400D 81 DUP2 400E 01 ADD 400F 51 MLOAD 4010 83 DUP4 4011 82 DUP3 4012 01 ADD 4013 52 MSTORE 4014 60 PUSH1 0x20 4016 01 ADD 4017 61 PUSH2 0x4003 401A 56 *JUMP 401B 5B JUMPDEST 401C 50 POP 401D 50 POP 401E 50 POP 401F 50 POP 4020 90 SWAP1 4021 50 POP 4022 90 SWAP1 4023 81 DUP2 4024 01 ADD 4025 90 SWAP1 4026 60 PUSH1 0x1f 4028 16 AND 4029 80 DUP1 402A 15 ISZERO 402B 61 PUSH2 0x4048 402E 57 *JUMPI 402F 80 DUP1 4030 82 DUP3 4031 03 SUB 4032 80 DUP1 4033 51 MLOAD 4034 60 PUSH1 0x01 4036 83 DUP4 4037 60 PUSH1 0x20 4039 03 SUB 403A 61 PUSH2 0x0100 403D 0A EXP 403E 03 SUB 403F 19 NOT 4040 16 AND 4041 81 DUP2 4042 52 MSTORE 4043 60 PUSH1 0x20 4045 01 ADD 4046 91 SWAP2 4047 50 POP 4048 5B JUMPDEST 4049 50 POP 404A 92 SWAP3 404B 50 POP 404C 50 POP 404D 50 POP 404E 60 PUSH1 0x20 4050 60 PUSH1 0x40 4052 51 MLOAD 4053 80 DUP1 4054 83 DUP4 4055 03 SUB 4056 81 DUP2 4057 86 DUP7 4058 80 DUP1 4059 3B EXTCODESIZE 405A 15 ISZERO 405B 80 DUP1 405C 15 ISZERO 405D 61 PUSH2 0x4065 4060 57 *JUMPI 4061 60 PUSH1 0x00 4063 80 DUP1 4064 FD *REVERT 4065 5B JUMPDEST 4066 50 POP 4067 5A GAS 4068 FA STATICCALL 4069 15 ISZERO 406A 80 DUP1 406B 15 ISZERO 406C 61 PUSH2 0x4079 406F 57 *JUMPI 4070 3D RETURNDATASIZE 4071 60 PUSH1 0x00 4073 80 DUP1 4074 3E RETURNDATACOPY 4075 3D RETURNDATASIZE 4076 60 PUSH1 0x00 4078 FD *REVERT 4079 5B JUMPDEST 407A 50 POP 407B 50 POP 407C 50 POP 407D 50 POP 407E 60 PUSH1 0x40 4080 51 MLOAD 4081 3D RETURNDATASIZE 4082 60 PUSH1 0x20 4084 81 DUP2 4085 10 LT 4086 15 ISZERO 4087 61 PUSH2 0x408f 408A 57 *JUMPI 408B 60 PUSH1 0x00 408D 80 DUP1 408E FD *REVERT 408F 5B JUMPDEST 4090 50 POP 4091 51 MLOAD 4092 60 PUSH1 0x40 4094 80 DUP1 4095 51 MLOAD 4096 63 PUSH4 0x1a672413 409B 60 PUSH1 0xe1 409D 1B SHL 409E 81 DUP2 409F 52 MSTORE 40A0 90 SWAP1 40A1 51 MLOAD 40A2 91 SWAP2 40A3 92 SWAP3 40A4 50 POP 40A5 60 PUSH1 0x01 40A7 60 PUSH1 0x01 40A9 60 PUSH1 0xa0 40AB 1B SHL 40AC 03 SUB 40AD 83 DUP4 40AE 16 AND 40AF 91 SWAP2 40B0 63 PUSH4 0x34ce4826 40B5 91 SWAP2 40B6 60 PUSH1 0x04 40B8 80 DUP1 40B9 82 DUP3 40BA 01 ADD 40BB 92 SWAP3 40BC 60 PUSH1 0x20 40BE 92 SWAP3 40BF 90 SWAP1 40C0 91 SWAP2 40C1 90 SWAP1 40C2 82 DUP3 40C3 90 SWAP1 40C4 03 SUB 40C5 01 ADD 40C6 81 DUP2 40C7 86 DUP7 40C8 80 DUP1 40C9 3B EXTCODESIZE 40CA 15 ISZERO 40CB 80 DUP1 40CC 15 ISZERO 40CD 61 PUSH2 0x40d5 40D0 57 *JUMPI 40D1 60 PUSH1 0x00 40D3 80 DUP1 40D4 FD *REVERT 40D5 5B JUMPDEST 40D6 50 POP 40D7 5A GAS 40D8 FA STATICCALL 40D9 15 ISZERO 40DA 80 DUP1 40DB 15 ISZERO 40DC 61 PUSH2 0x40e9 40DF 57 *JUMPI 40E0 3D RETURNDATASIZE 40E1 60 PUSH1 0x00 40E3 80 DUP1 40E4 3E RETURNDATACOPY 40E5 3D RETURNDATASIZE 40E6 60 PUSH1 0x00 40E8 FD *REVERT 40E9 5B JUMPDEST 40EA 50 POP 40EB 50 POP 40EC 50 POP 40ED 50 POP 40EE 60 PUSH1 0x40 40F0 51 MLOAD 40F1 3D RETURNDATASIZE 40F2 60 PUSH1 0x20 40F4 81 DUP2 40F5 10 LT 40F6 15 ISZERO 40F7 61 PUSH2 0x40ff 40FA 57 *JUMPI 40FB 60 PUSH1 0x00 40FD 80 DUP1 40FE FD *REVERT 40FF 5B JUMPDEST 4100 50 POP 4101 51 MLOAD 4102 61 PUSH2 0x410a 4105 57 *JUMPI 4106 60 PUSH1 0x00 4108 80 DUP1 4109 FD *REVERT 410A 5B JUMPDEST 410B 81 DUP2 410C 60 PUSH1 0x01 410E 60 PUSH1 0x01 4110 60 PUSH1 0xa0 4112 1B SHL 4113 03 SUB 4114 16 AND 4115 63 PUSH4 0x0e895ea2 411A 60 PUSH1 0x40 411C 51 MLOAD 411D 81 DUP2 411E 63 PUSH4 0xffffffff 4123 16 AND 4124 60 PUSH1 0xe0 4126 1B SHL 4127 81 DUP2 4128 52 MSTORE 4129 60 PUSH1 0x04 412B 01 ADD 412C 60 PUSH1 0x00 412E 60 PUSH1 0x40 4130 51 MLOAD 4131 80 DUP1 4132 83 DUP4 4133 03 SUB 4134 81 DUP2 4135 60 PUSH1 0x00 4137 87 DUP8 4138 80 DUP1 4139 3B EXTCODESIZE 413A 15 ISZERO 413B 80 DUP1 413C 15 ISZERO 413D 61 PUSH2 0x4145 4140 57 *JUMPI 4141 60 PUSH1 0x00 4143 80 DUP1 4144 FD *REVERT 4145 5B JUMPDEST 4146 50 POP 4147 5A GAS 4148 F1 CALL 4149 15 ISZERO 414A 80 DUP1 414B 15 ISZERO 414C 61 PUSH2 0x4159 414F 57 *JUMPI 4150 3D RETURNDATASIZE 4151 60 PUSH1 0x00 4153 80 DUP1 4154 3E RETURNDATACOPY 4155 3D RETURNDATASIZE 4156 60 PUSH1 0x00 4158 FD *REVERT 4159 5B JUMPDEST 415A 50 POP 415B 50 POP 415C 50 POP 415D 50 POP 415E 80 DUP1 415F 60 PUSH1 0x01 4161 60 PUSH1 0x01 4163 60 PUSH1 0xa0 4165 1B SHL 4166 03 SUB 4167 16 AND 4168 63 PUSH4 0x0ad63a1e 416D 61 PUSH2 0x4174 4170 61 PUSH2 0x1c6e 4173 56 *JUMP 4174 5B JUMPDEST 4175 60 PUSH1 0x40 4177 51 MLOAD 4178 82 DUP3 4179 63 PUSH4 0xffffffff 417E 16 AND 417F 60 PUSH1 0xe0 4181 1B SHL 4182 81 DUP2 4183 52 MSTORE 4184 60 PUSH1 0x04 4186 01 ADD 4187 80 DUP1 4188 82 DUP3 4189 60 PUSH1 0x01 418B 60 PUSH1 0x01 418D 60 PUSH1 0xa0 418F 1B SHL 4190 03 SUB 4191 16 AND 4192 60 PUSH1 0x01 4194 60 PUSH1 0x01 4196 60 PUSH1 0xa0 4198 1B SHL 4199 03 SUB 419A 16 AND 419B 81 DUP2 419C 52 MSTORE 419D 60 PUSH1 0x20 419F 01 ADD 41A0 91 SWAP2 41A1 50 POP 41A2 50 POP 41A3 60 PUSH1 0x00 41A5 60 PUSH1 0x40 41A7 51 MLOAD 41A8 80 DUP1 41A9 83 DUP4 41AA 03 SUB 41AB 81 DUP2 41AC 60 PUSH1 0x00 41AE 87 DUP8 41AF 80 DUP1 41B0 3B EXTCODESIZE 41B1 15 ISZERO 41B2 80 DUP1 41B3 15 ISZERO 41B4 61 PUSH2 0x41bc 41B7 57 *JUMPI 41B8 60 PUSH1 0x00 41BA 80 DUP1 41BB FD *REVERT 41BC 5B JUMPDEST 41BD 50 POP 41BE 5A GAS 41BF F1 CALL 41C0 15 ISZERO 41C1 80 DUP1 41C2 15 ISZERO 41C3 61 PUSH2 0x41d0 41C6 57 *JUMPI 41C7 3D RETURNDATASIZE 41C8 60 PUSH1 0x00 41CA 80 DUP1 41CB 3E RETURNDATACOPY 41CC 3D RETURNDATASIZE 41CD 60 PUSH1 0x00 41CF FD *REVERT 41D0 5B JUMPDEST 41D1 50 POP 41D2 50 POP 41D3 50 POP 41D4 50 POP 41D5 50 POP 41D6 50 POP 41D7 50 POP 41D8 50 POP 41D9 50 POP 41DA 50 POP 41DB 56 *JUMP label_41DC: // Incoming jump from 0x0F1C // Inputs[5] // { // @41DF storage[0x02] // @41E3 memory[0x40:0x60] // @4206 memory[0x40:0x60] // @4219 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4220 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 41DC 5B JUMPDEST 41DD 60 PUSH1 0x02 41DF 54 SLOAD 41E0 60 PUSH1 0x40 41E2 80 DUP1 41E3 51 MLOAD 41E4 80 DUP1 41E5 82 DUP3 41E6 01 ADD 41E7 82 DUP3 41E8 52 MSTORE 41E9 60 PUSH1 0x0c 41EB 81 DUP2 41EC 52 MSTORE 41ED 6B PUSH12 0x4f776e657246656174757265 41FA 60 PUSH1 0xa0 41FC 1B SHL 41FD 60 PUSH1 0x20 41FF 80 DUP1 4200 83 DUP4 4201 01 ADD 4202 91 SWAP2 4203 82 DUP3 4204 52 MSTORE 4205 92 SWAP3 4206 51 MLOAD 4207 63 PUSH4 0x0251382f 420C 60 PUSH1 0xe3 420E 1B SHL 420F 81 DUP2 4210 52 MSTORE 4211 60 PUSH1 0x04 4213 81 DUP2 4214 01 ADD 4215 93 SWAP4 4216 84 DUP5 4217 52 MSTORE 4218 82 DUP3 4219 51 MLOAD 421A 60 PUSH1 0x24 421C 82 DUP3 421D 01 ADD 421E 52 MSTORE 421F 82 DUP3 4220 51 MLOAD 4221 60 PUSH1 0x00 4223 95 SWAP6 4224 60 PUSH1 0x01 4226 60 PUSH1 0x01 4228 60 PUSH1 0xa0 422A 1B SHL 422B 03 SUB 422C 16 AND 422D 94 SWAP5 422E 63 PUSH4 0x1289c178 4233 94 SWAP5 4234 93 SWAP4 4235 90 SWAP1 4236 92 SWAP3 4237 83 DUP4 4238 92 SWAP3 4239 60 PUSH1 0x44 423B 90 SWAP1 423C 91 SWAP2 423D 01 ADD 423E 91 SWAP2 423F 90 SWAP1 4240 80 DUP1 4241 83 DUP4 4242 83 DUP4 4243 8B DUP12 4244 5B JUMPDEST 4245 83 DUP4 4246 81 DUP2 4247 10 LT 4248 15 ISZERO 4249 61 PUSH2 0x425c 424C 57 *JUMPI // Stack delta = +13 // Outputs[19] // { // @41E8 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @41EC memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @4204 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0 // @4210 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @4217 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @421E memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4223 stack[0] = 0x00 // @422D stack[1] = (0x01 << 0xa0) - 0x01 & storage[0x02] // @4233 stack[2] = 0x1289c178 // @4234 stack[3] = memory[0x40:0x60] // @4236 stack[4] = memory[0x40:0x60] + 0x04 // @4238 stack[5] = memory[0x40:0x60] + 0x04 // @423E stack[6] = memory[0x40:0x60] + 0x44 // @423F stack[7] = memory[0x40:0x60] + 0x20 // @423F stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4240 stack[9] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4241 stack[10] = memory[0x40:0x60] + 0x44 // @4242 stack[11] = memory[0x40:0x60] + 0x20 // @4243 stack[12] = 0x00 // } // Block ends with conditional jump to 0x425c, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_424D: // Incoming jump from 0x424C, if not !(stack[-1] < stack[-4]) // Incoming jump from 0x424C, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[4] // { // @424D stack[-2] // @424E stack[-1] // @4250 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @4251 stack[-3] // } 424D 81 DUP2 424E 81 DUP2 424F 01 ADD 4250 51 MLOAD 4251 83 DUP4 4252 82 DUP3 4253 01 ADD 4254 52 MSTORE 4255 60 PUSH1 0x20 4257 01 ADD 4258 61 PUSH2 0x4244 425B 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @4254 memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @4257 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x4244 label_425C: // Incoming jump from 0x424C, if !(stack[-1] < stack[-4]) // Incoming jump from 0x424C, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Inputs[3] // { // @4261 stack[-5] // @4261 stack[-6] // @4263 stack[-7] // } 425C 5B JUMPDEST 425D 50 POP 425E 50 POP 425F 50 POP 4260 50 POP 4261 90 SWAP1 4262 50 POP 4263 90 SWAP1 4264 81 DUP2 4265 01 ADD 4266 90 SWAP1 4267 60 PUSH1 0x1f 4269 16 AND 426A 80 DUP1 426B 15 ISZERO 426C 61 PUSH2 0x4289 426F 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @4266 stack[-7] = stack[-5] + stack[-7] // @4269 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x4289, if !(0x1f & stack[-5]) label_4270: // Incoming jump from 0x426F, if not !(0x1f & stack[-5]) // Inputs[7] // { // @4270 stack[-1] // @4271 stack[-2] // @4274 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @428B stack[-5] // @4293 memory[0x40:0x60] // @4298 stack[-7] // @429A address(stack[-7]).code.length // } 4270 80 DUP1 4271 82 DUP3 4272 03 SUB 4273 80 DUP1 4274 51 MLOAD 4275 60 PUSH1 0x01 4277 83 DUP4 4278 60 PUSH1 0x20 427A 03 SUB 427B 61 PUSH2 0x0100 427E 0A EXP 427F 03 SUB 4280 19 NOT 4281 16 AND 4282 81 DUP2 4283 52 MSTORE 4284 60 PUSH1 0x20 4286 01 ADD 4287 91 SWAP2 4288 50 POP 4289 5B JUMPDEST 428A 50 POP 428B 92 SWAP3 428C 50 POP 428D 50 POP 428E 50 POP 428F 60 PUSH1 0x20 4291 60 PUSH1 0x40 4293 51 MLOAD 4294 80 DUP1 4295 83 DUP4 4296 03 SUB 4297 81 DUP2 4298 86 DUP7 4299 80 DUP1 429A 3B EXTCODESIZE 429B 15 ISZERO 429C 80 DUP1 429D 15 ISZERO 429E 61 PUSH2 0x42a6 42A1 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @4283 memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @428B stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @428F stack[-4] = 0x20 // @4293 stack[-3] = memory[0x40:0x60] // @4296 stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @4297 stack[-1] = memory[0x40:0x60] // @4298 stack[0] = stack[-7] // @429B stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x42a6, if !!address(stack[-7]).code.length label_42A2: // Incoming jump from 0x42A1, if not !!address(stack[-7]).code.length // Incoming jump from 0x42A1, if not !!address(stack[-7]).code.length // Inputs[1] { @42A5 memory[0x00:0x00] } 42A2 60 PUSH1 0x00 42A4 80 DUP1 42A5 FD *REVERT // Stack delta = +0 // Outputs[1] { @42A5 revert(memory[0x00:0x00]); } // Block terminates label_42A6: // Incoming jump from 0x42A1, if !!address(stack[-7]).code.length // Incoming jump from 0x42A1, if !!address(stack[-7]).code.length // Inputs[8] // { // @42A8 msg.gas // @42A9 stack[-2] // @42A9 stack[-6] // @42A9 stack[-5] // @42A9 memory[stack[-3]:stack[-3] + stack[-4]] // @42A9 stack[-4] // @42A9 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @42A9 stack[-3] // } 42A6 5B JUMPDEST 42A7 50 POP 42A8 5A GAS 42A9 FA STATICCALL 42AA 15 ISZERO 42AB 80 DUP1 42AC 15 ISZERO 42AD 61 PUSH2 0x42ba 42B0 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @42A9 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @42AA stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x42ba, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_42B1: // Incoming jump from 0x42B0, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @42B1 returndata.length // @42B5 returndata[0x00:0x00 + returndata.length] // @42B6 returndata.length // @42B9 memory[0x00:0x00 + returndata.length] // } 42B1 3D RETURNDATASIZE 42B2 60 PUSH1 0x00 42B4 80 DUP1 42B5 3E RETURNDATACOPY 42B6 3D RETURNDATASIZE 42B7 60 PUSH1 0x00 42B9 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @42B5 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @42B9 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_42BA: // Incoming jump from 0x42B0, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @42C1 memory[0x40:0x60] // @42C2 returndata.length // } 42BA 5B JUMPDEST 42BB 50 POP 42BC 50 POP 42BD 50 POP 42BE 50 POP 42BF 60 PUSH1 0x40 42C1 51 MLOAD 42C2 3D RETURNDATASIZE 42C3 60 PUSH1 0x20 42C5 81 DUP2 42C6 10 LT 42C7 15 ISZERO 42C8 61 PUSH2 0x42d0 42CB 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @42C1 stack[-4] = memory[0x40:0x60] // @42C2 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x42d0, if !(returndata.length < 0x20) label_42CC: // Incoming jump from 0x42CB, if not !(returndata.length < 0x20) // Inputs[1] { @42CF memory[0x00:0x00] } 42CC 60 PUSH1 0x00 42CE 80 DUP1 42CF FD *REVERT // Stack delta = +0 // Outputs[1] { @42CF revert(memory[0x00:0x00]); } // Block terminates label_42D0: // Incoming jump from 0x42CB, if !(returndata.length < 0x20) // Inputs[2] // { // @42D2 memory[stack[-2]:stack[-2] + 0x20] // @42D2 stack[-2] // } 42D0 5B JUMPDEST 42D1 50 POP 42D2 51 MLOAD 42D3 60 PUSH1 0x01 42D5 60 PUSH1 0x01 42D7 60 PUSH1 0xa0 42D9 1B SHL 42DA 03 SUB 42DB 16 AND 42DC 63 PUSH4 0x2f54bf6e 42E1 61 PUSH2 0x42e8 42E4 61 PUSH2 0x1c6e 42E7 56 *JUMP // Stack delta = +1 // Outputs[3] // { // @42DB stack[-2] = (0x01 << 0xa0) - 0x01 & memory[stack[-2]:stack[-2] + 0x20] // @42DC stack[-1] = 0x2f54bf6e // @42E1 stack[0] = 0x42e8 // } // Block ends with unconditional jump to 0x1c6e 42E8 5B JUMPDEST 42E9 60 PUSH1 0x40 42EB 51 MLOAD 42EC 82 DUP3 42ED 63 PUSH4 0xffffffff 42F2 16 AND 42F3 60 PUSH1 0xe0 42F5 1B SHL 42F6 81 DUP2 42F7 52 MSTORE 42F8 60 PUSH1 0x04 42FA 01 ADD 42FB 80 DUP1 42FC 82 DUP3 42FD 60 PUSH1 0x01 42FF 60 PUSH1 0x01 4301 60 PUSH1 0xa0 4303 1B SHL 4304 03 SUB 4305 16 AND 4306 60 PUSH1 0x01 4308 60 PUSH1 0x01 430A 60 PUSH1 0xa0 430C 1B SHL 430D 03 SUB 430E 16 AND 430F 81 DUP2 4310 52 MSTORE 4311 60 PUSH1 0x20 4313 01 ADD 4314 91 SWAP2 4315 50 POP 4316 50 POP 4317 60 PUSH1 0x20 4319 60 PUSH1 0x40 431B 51 MLOAD 431C 80 DUP1 431D 83 DUP4 431E 03 SUB 431F 81 DUP2 4320 86 DUP7 4321 80 DUP1 4322 3B EXTCODESIZE 4323 15 ISZERO 4324 80 DUP1 4325 15 ISZERO 4326 61 PUSH2 0x432e 4329 57 *JUMPI 432A 60 PUSH1 0x00 432C 80 DUP1 432D FD *REVERT 432E 5B JUMPDEST 432F 50 POP 4330 5A GAS 4331 FA STATICCALL 4332 15 ISZERO 4333 80 DUP1 4334 15 ISZERO 4335 61 PUSH2 0x4342 4338 57 *JUMPI 4339 3D RETURNDATASIZE 433A 60 PUSH1 0x00 433C 80 DUP1 433D 3E RETURNDATACOPY 433E 3D RETURNDATASIZE 433F 60 PUSH1 0x00 4341 FD *REVERT 4342 5B JUMPDEST 4343 50 POP 4344 50 POP 4345 50 POP 4346 50 POP 4347 60 PUSH1 0x40 4349 51 MLOAD 434A 3D RETURNDATASIZE 434B 60 PUSH1 0x20 434D 81 DUP2 434E 10 LT 434F 15 ISZERO 4350 61 PUSH2 0x4358 4353 57 *JUMPI 4354 60 PUSH1 0x00 4356 80 DUP1 4357 FD *REVERT 4358 5B JUMPDEST 4359 50 POP 435A 51 MLOAD 435B 61 PUSH2 0x4363 435E 57 *JUMPI 435F 60 PUSH1 0x00 4361 80 DUP1 4362 FD *REVERT 4363 5B JUMPDEST 4364 60 PUSH1 0x00 4366 60 PUSH1 0x60 4368 80 DUP1 4369 61 PUSH2 0x4371 436C 85 DUP6 436D 61 PUSH2 0x510c 4370 56 *JUMP 4371 5B JUMPDEST 4372 92 SWAP3 4373 50 POP 4374 92 SWAP3 4375 50 POP 4376 92 SWAP3 4377 50 POP 4378 61 PUSH2 0x4380 437B 85 DUP6 437C 61 PUSH2 0x54ec 437F 56 *JUMP 4380 5B JUMPDEST 4381 61 PUSH2 0x438b 4384 83 DUP4 4385 83 DUP4 4386 83 DUP4 4387 61 PUSH2 0x5424 438A 56 *JUMP 438B 5B JUMPDEST 438C 61 PUSH2 0x4394 438F 57 *JUMPI 4390 60 PUSH1 0x00 4392 80 DUP1 4393 FD *REVERT 4394 5B JUMPDEST 4395 60 PUSH1 0x02 4397 54 SLOAD 4398 60 PUSH1 0x40 439A 80 DUP1 439B 51 MLOAD 439C 80 DUP1 439D 82 DUP3 439E 01 ADD 439F 82 DUP3 43A0 52 MSTORE 43A1 60 PUSH1 0x0c 43A3 81 DUP2 43A4 52 MSTORE 43A5 6B PUSH12 0x546f6b656e46656174757265 43B2 60 PUSH1 0xa0 43B4 1B SHL 43B5 60 PUSH1 0x20 43B7 80 DUP1 43B8 83 DUP4 43B9 01 ADD 43BA 91 SWAP2 43BB 82 DUP3 43BC 52 MSTORE 43BD 92 SWAP3 43BE 51 MLOAD 43BF 63 PUSH4 0x0251382f 43C4 60 PUSH1 0xe3 43C6 1B SHL 43C7 81 DUP2 43C8 52 MSTORE 43C9 60 PUSH1 0x04 43CB 81 DUP2 43CC 01 ADD 43CD 93 SWAP4 43CE 84 DUP5 43CF 52 MSTORE 43D0 82 DUP3 43D1 51 MLOAD 43D2 60 PUSH1 0x24 43D4 82 DUP3 43D5 01 ADD 43D6 52 MSTORE 43D7 82 DUP3 43D8 51 MLOAD 43D9 60 PUSH1 0x00 43DB 95 SWAP6 43DC 60 PUSH1 0x01 43DE 60 PUSH1 0x01 43E0 60 PUSH1 0xa0 43E2 1B SHL 43E3 03 SUB 43E4 16 AND 43E5 94 SWAP5 43E6 63 PUSH4 0x1289c178 43EB 94 SWAP5 43EC 93 SWAP4 43ED 90 SWAP1 43EE 92 SWAP3 43EF 83 DUP4 43F0 92 SWAP3 43F1 60 PUSH1 0x44 43F3 90 SWAP1 43F4 91 SWAP2 43F5 01 ADD 43F6 91 SWAP2 43F7 90 SWAP1 43F8 80 DUP1 43F9 83 DUP4 43FA 83 DUP4 43FB 8B DUP12 43FC 5B JUMPDEST 43FD 83 DUP4 43FE 81 DUP2 43FF 10 LT 4400 15 ISZERO 4401 61 PUSH2 0x4414 4404 57 *JUMPI 4405 81 DUP2 4406 81 DUP2 4407 01 ADD 4408 51 MLOAD 4409 83 DUP4 440A 82 DUP3 440B 01 ADD 440C 52 MSTORE 440D 60 PUSH1 0x20 440F 01 ADD 4410 61 PUSH2 0x43fc 4413 56 *JUMP 4414 5B JUMPDEST 4415 50 POP 4416 50 POP 4417 50 POP 4418 50 POP 4419 90 SWAP1 441A 50 POP 441B 90 SWAP1 441C 81 DUP2 441D 01 ADD 441E 90 SWAP1 441F 60 PUSH1 0x1f 4421 16 AND 4422 80 DUP1 4423 15 ISZERO 4424 61 PUSH2 0x4441 4427 57 *JUMPI 4428 80 DUP1 4429 82 DUP3 442A 03 SUB 442B 80 DUP1 442C 51 MLOAD 442D 60 PUSH1 0x01 442F 83 DUP4 4430 60 PUSH1 0x20 4432 03 SUB 4433 61 PUSH2 0x0100 4436 0A EXP 4437 03 SUB 4438 19 NOT 4439 16 AND 443A 81 DUP2 443B 52 MSTORE 443C 60 PUSH1 0x20 443E 01 ADD 443F 91 SWAP2 4440 50 POP 4441 5B JUMPDEST 4442 50 POP 4443 92 SWAP3 4444 50 POP 4445 50 POP 4446 50 POP 4447 60 PUSH1 0x20 4449 60 PUSH1 0x40 444B 51 MLOAD 444C 80 DUP1 444D 83 DUP4 444E 03 SUB 444F 81 DUP2 4450 86 DUP7 4451 80 DUP1 4452 3B EXTCODESIZE 4453 15 ISZERO 4454 80 DUP1 4455 15 ISZERO 4456 61 PUSH2 0x445e 4459 57 *JUMPI 445A 60 PUSH1 0x00 445C 80 DUP1 445D FD *REVERT 445E 5B JUMPDEST 445F 50 POP 4460 5A GAS 4461 FA STATICCALL 4462 15 ISZERO 4463 80 DUP1 4464 15 ISZERO 4465 61 PUSH2 0x4472 4468 57 *JUMPI 4469 3D RETURNDATASIZE 446A 60 PUSH1 0x00 446C 80 DUP1 446D 3E RETURNDATACOPY 446E 3D RETURNDATASIZE 446F 60 PUSH1 0x00 4471 FD *REVERT 4472 5B JUMPDEST 4473 50 POP 4474 50 POP 4475 50 POP 4476 50 POP 4477 60 PUSH1 0x40 4479 51 MLOAD 447A 3D RETURNDATASIZE 447B 60 PUSH1 0x20 447D 81 DUP2 447E 10 LT 447F 15 ISZERO 4480 61 PUSH2 0x4488 4483 57 *JUMPI 4484 60 PUSH1 0x00 4486 80 DUP1 4487 FD *REVERT 4488 5B JUMPDEST 4489 50 POP 448A 51 MLOAD 448B 90 SWAP1 448C 50 POP 448D 60 PUSH1 0x01 448F 60 PUSH1 0x01 4491 60 PUSH1 0xa0 4493 1B SHL 4494 03 SUB 4495 81 DUP2 4496 16 AND 4497 63 PUSH4 0x8891c77c 449C 61 PUSH2 0x44a3 449F 61 PUSH2 0x1c6e 44A2 56 *JUMP 44A3 5B JUMPDEST 44A4 60 PUSH1 0x40 44A6 80 DUP1 44A7 51 MLOAD 44A8 60 PUSH1 0x01 44AA 60 PUSH1 0x01 44AC 60 PUSH1 0xe0 44AE 1B SHL 44AF 03 SUB 44B0 19 NOT 44B1 60 PUSH1 0xe0 44B3 85 DUP6 44B4 90 SWAP1 44B5 1B SHL 44B6 16 AND 44B7 81 DUP2 44B8 52 MSTORE 44B9 60 PUSH1 0x01 44BB 60 PUSH1 0x01 44BD 60 PUSH1 0xa0 44BF 1B SHL 44C0 03 SUB 44C1 92 SWAP3 44C2 83 DUP4 44C3 16 AND 44C4 60 PUSH1 0x04 44C6 82 DUP3 44C7 01 ADD 44C8 52 MSTORE 44C9 91 SWAP2 44CA 88 DUP9 44CB 16 AND 44CC 60 PUSH1 0x24 44CE 83 DUP4 44CF 01 ADD 44D0 52 MSTORE 44D1 51 MLOAD 44D2 60 PUSH1 0x44 44D4 80 DUP1 44D5 83 DUP4 44D6 01 ADD 44D7 92 SWAP3 44D8 60 PUSH1 0x20 44DA 92 SWAP3 44DB 91 SWAP2 44DC 90 SWAP1 44DD 82 DUP3 44DE 90 SWAP1 44DF 03 SUB 44E0 01 ADD 44E1 81 DUP2 44E2 60 PUSH1 0x00 44E4 87 DUP8 44E5 80 DUP1 44E6 3B EXTCODESIZE 44E7 15 ISZERO 44E8 80 DUP1 44E9 15 ISZERO 44EA 61 PUSH2 0x44f2 44ED 57 *JUMPI 44EE 60 PUSH1 0x00 44F0 80 DUP1 44F1 FD *REVERT 44F2 5B JUMPDEST 44F3 50 POP 44F4 5A GAS 44F5 F1 CALL 44F6 15 ISZERO 44F7 80 DUP1 44F8 15 ISZERO 44F9 61 PUSH2 0x4506 44FC 57 *JUMPI 44FD 3D RETURNDATASIZE 44FE 60 PUSH1 0x00 4500 80 DUP1 4501 3E RETURNDATACOPY 4502 3D RETURNDATASIZE 4503 60 PUSH1 0x00 4505 FD *REVERT 4506 5B JUMPDEST 4507 50 POP 4508 50 POP 4509 50 POP 450A 50 POP 450B 60 PUSH1 0x40 450D 51 MLOAD 450E 3D RETURNDATASIZE 450F 60 PUSH1 0x20 4511 81 DUP2 4512 10 LT 4513 15 ISZERO 4514 61 PUSH2 0x451c 4517 57 *JUMPI 4518 60 PUSH1 0x00 451A 80 DUP1 451B FD *REVERT 451C 5B JUMPDEST 451D 50 POP 451E 51 MLOAD 451F 61 PUSH2 0x4527 4522 57 *JUMPI 4523 60 PUSH1 0x00 4525 80 DUP1 4526 FD *REVERT 4527 5B JUMPDEST 4528 50 POP 4529 60 PUSH1 0x01 452B 95 SWAP6 452C 94 SWAP5 452D 50 POP 452E 50 POP 452F 50 POP 4530 50 POP 4531 50 POP 4532 56 *JUMP label_4533: // Incoming call from 0x0F24, returns to 0x040C // Inputs[2] // { // @4536 storage[0x01] // @4540 stack[-1] // } 4533 5B JUMPDEST 4534 60 PUSH1 0x01 4536 54 SLOAD 4537 60 PUSH1 0x01 4539 60 PUSH1 0x01 453B 60 PUSH1 0xa0 453D 1B SHL 453E 03 SUB 453F 16 AND 4540 81 DUP2 4541 56 *JUMP // Stack delta = +1 // Outputs[1] { @453F stack[0] = (0x01 << 0xa0) - 0x01 & storage[0x01] } // Block ends with unconditional jump to stack[-1] label_4542: // Incoming jump from 0x0F4A // Inputs[4] // { // @454B stack[-1] // @4559 memory[0x00:0x40] // @455D storage[0x02 + keccak256(memory[0x00:0x40])] // @4561 stack[-2] // } 4542 5B JUMPDEST 4543 60 PUSH1 0x01 4545 60 PUSH1 0x01 4547 60 PUSH1 0xa0 4549 1B SHL 454A 03 SUB 454B 16 AND 454C 60 PUSH1 0x00 454E 90 SWAP1 454F 81 DUP2 4550 52 MSTORE 4551 60 PUSH1 0x08 4553 60 PUSH1 0x20 4555 52 MSTORE 4556 60 PUSH1 0x40 4558 90 SWAP1 4559 20 SHA3 455A 60 PUSH1 0x02 455C 01 ADD 455D 54 SLOAD 455E 60 PUSH1 0xff 4560 16 AND 4561 90 SWAP1 4562 56 *JUMP // Stack delta = -1 // Outputs[3] // { // @4550 memory[0x00:0x20] = (0x01 << 0xa0) - 0x01 & stack[-1] // @4555 memory[0x20:0x40] = 0x08 // @4561 stack[-2] = 0xff & storage[0x02 + keccak256(memory[0x00:0x40])] // } // Block ends with unconditional jump to stack[-2] label_4563: // Incoming jump from 0x10F8 4563 5B JUMPDEST 4564 61 PUSH2 0x456e 4567 61 PUSH2 0x1d33 456A 61 PUSH2 0x1c6e 456D 56 *JUMP // Stack delta = +2 // Outputs[2] // { // @4564 stack[0] = 0x456e // @4567 stack[1] = 0x1d33 // } // Block ends with unconditional jump to 0x1c6e 456E 5B JUMPDEST 456F 80 DUP1 4570 15 ISZERO 4571 61 PUSH2 0x46f5 4574 57 *JUMPI 4575 50 POP 4576 60 PUSH1 0x02 4578 54 SLOAD 4579 60 PUSH1 0x40 457B 80 DUP1 457C 51 MLOAD 457D 80 DUP1 457E 82 DUP3 457F 01 ADD 4580 82 DUP3 4581 52 MSTORE 4582 60 PUSH1 0x0c 4584 81 DUP2 4585 52 MSTORE 4586 6B PUSH12 0x546f6b656e46656174757265 4593 60 PUSH1 0xa0 4595 1B SHL 4596 60 PUSH1 0x20 4598 80 DUP1 4599 83 DUP4 459A 01 ADD 459B 91 SWAP2 459C 82 DUP3 459D 52 MSTORE 459E 92 SWAP3 459F 51 MLOAD 45A0 63 PUSH4 0x0251382f 45A5 60 PUSH1 0xe3 45A7 1B SHL 45A8 81 DUP2 45A9 52 MSTORE 45AA 60 PUSH1 0x04 45AC 81 DUP2 45AD 01 ADD 45AE 93 SWAP4 45AF 84 DUP5 45B0 52 MSTORE 45B1 82 DUP3 45B2 51 MLOAD 45B3 60 PUSH1 0x24 45B5 82 DUP3 45B6 01 ADD 45B7 52 MSTORE 45B8 82 DUP3 45B9 51 MLOAD 45BA 60 PUSH1 0x00 45BC 95 SWAP6 45BD 60 PUSH1 0x01 45BF 60 PUSH1 0x01 45C1 60 PUSH1 0xa0 45C3 1B SHL 45C4 03 SUB 45C5 16 AND 45C6 94 SWAP5 45C7 63 PUSH4 0x1289c178 45CC 94 SWAP5 45CD 93 SWAP4 45CE 90 SWAP1 45CF 92 SWAP3 45D0 83 DUP4 45D1 92 SWAP3 45D2 60 PUSH1 0x44 45D4 90 SWAP1 45D5 91 SWAP2 45D6 01 ADD 45D7 91 SWAP2 45D8 90 SWAP1 45D9 80 DUP1 45DA 83 DUP4 45DB 83 DUP4 45DC 8B DUP12 45DD 5B JUMPDEST 45DE 83 DUP4 45DF 81 DUP2 45E0 10 LT 45E1 15 ISZERO 45E2 61 PUSH2 0x45f5 45E5 57 *JUMPI 45E6 81 DUP2 45E7 81 DUP2 45E8 01 ADD 45E9 51 MLOAD 45EA 83 DUP4 45EB 82 DUP3 45EC 01 ADD 45ED 52 MSTORE 45EE 60 PUSH1 0x20 45F0 01 ADD 45F1 61 PUSH2 0x45dd 45F4 56 *JUMP 45F5 5B JUMPDEST 45F6 50 POP 45F7 50 POP 45F8 50 POP 45F9 50 POP 45FA 90 SWAP1 45FB 50 POP 45FC 90 SWAP1 45FD 81 DUP2 45FE 01 ADD 45FF 90 SWAP1 4600 60 PUSH1 0x1f 4602 16 AND 4603 80 DUP1 4604 15 ISZERO 4605 61 PUSH2 0x4622 4608 57 *JUMPI 4609 80 DUP1 460A 82 DUP3 460B 03 SUB 460C 80 DUP1 460D 51 MLOAD 460E 60 PUSH1 0x01 4610 83 DUP4 4611 60 PUSH1 0x20 4613 03 SUB 4614 61 PUSH2 0x0100 4617 0A EXP 4618 03 SUB 4619 19 NOT 461A 16 AND 461B 81 DUP2 461C 52 MSTORE 461D 60 PUSH1 0x20 461F 01 ADD 4620 91 SWAP2 4621 50 POP 4622 5B JUMPDEST 4623 50 POP 4624 92 SWAP3 4625 50 POP 4626 50 POP 4627 50 POP 4628 60 PUSH1 0x20 462A 60 PUSH1 0x40 462C 51 MLOAD 462D 80 DUP1 462E 83 DUP4 462F 03 SUB 4630 81 DUP2 4631 86 DUP7 4632 80 DUP1 4633 3B EXTCODESIZE 4634 15 ISZERO 4635 80 DUP1 4636 15 ISZERO 4637 61 PUSH2 0x463f 463A 57 *JUMPI 463B 60 PUSH1 0x00 463D 80 DUP1 463E FD *REVERT 463F 5B JUMPDEST 4640 50 POP 4641 5A GAS 4642 FA STATICCALL 4643 15 ISZERO 4644 80 DUP1 4645 15 ISZERO 4646 61 PUSH2 0x4653 4649 57 *JUMPI 464A 3D RETURNDATASIZE 464B 60 PUSH1 0x00 464D 80 DUP1 464E 3E RETURNDATACOPY 464F 3D RETURNDATASIZE 4650 60 PUSH1 0x00 4652 FD *REVERT 4653 5B JUMPDEST 4654 50 POP 4655 50 POP 4656 50 POP 4657 50 POP 4658 60 PUSH1 0x40 465A 51 MLOAD 465B 3D RETURNDATASIZE 465C 60 PUSH1 0x20 465E 81 DUP2 465F 10 LT 4660 15 ISZERO 4661 61 PUSH2 0x4669 4664 57 *JUMPI 4665 60 PUSH1 0x00 4667 80 DUP1 4668 FD *REVERT 4669 5B JUMPDEST 466A 50 POP 466B 51 MLOAD 466C 60 PUSH1 0x01 466E 60 PUSH1 0x01 4670 60 PUSH1 0xa0 4672 1B SHL 4673 03 SUB 4674 16 AND 4675 63 PUSH4 0x70a08231 467A 61 PUSH2 0x4681 467D 61 PUSH2 0x1c6e 4680 56 *JUMP 4681 5B JUMPDEST 4682 60 PUSH1 0x40 4684 51 MLOAD 4685 82 DUP3 4686 63 PUSH4 0xffffffff 468B 16 AND 468C 60 PUSH1 0xe0 468E 1B SHL 468F 81 DUP2 4690 52 MSTORE 4691 60 PUSH1 0x04 4693 01 ADD 4694 80 DUP1 4695 82 DUP3 4696 60 PUSH1 0x01 4698 60 PUSH1 0x01 469A 60 PUSH1 0xa0 469C 1B SHL 469D 03 SUB 469E 16 AND 469F 60 PUSH1 0x01 46A1 60 PUSH1 0x01 46A3 60 PUSH1 0xa0 46A5 1B SHL 46A6 03 SUB 46A7 16 AND 46A8 81 DUP2 46A9 52 MSTORE 46AA 60 PUSH1 0x20 46AC 01 ADD 46AD 91 SWAP2 46AE 50 POP 46AF 50 POP 46B0 60 PUSH1 0x20 46B2 60 PUSH1 0x40 46B4 51 MLOAD 46B5 80 DUP1 46B6 83 DUP4 46B7 03 SUB 46B8 81 DUP2 46B9 86 DUP7 46BA 80 DUP1 46BB 3B EXTCODESIZE 46BC 15 ISZERO 46BD 80 DUP1 46BE 15 ISZERO 46BF 61 PUSH2 0x46c7 46C2 57 *JUMPI 46C3 60 PUSH1 0x00 46C5 80 DUP1 46C6 FD *REVERT 46C7 5B JUMPDEST 46C8 50 POP 46C9 5A GAS 46CA FA STATICCALL 46CB 15 ISZERO 46CC 80 DUP1 46CD 15 ISZERO 46CE 61 PUSH2 0x46db 46D1 57 *JUMPI 46D2 3D RETURNDATASIZE 46D3 60 PUSH1 0x00 46D5 80 DUP1 46D6 3E RETURNDATACOPY 46D7 3D RETURNDATASIZE 46D8 60 PUSH1 0x00 46DA FD *REVERT 46DB 5B JUMPDEST 46DC 50 POP 46DD 50 POP 46DE 50 POP 46DF 50 POP 46E0 60 PUSH1 0x40 46E2 51 MLOAD 46E3 3D RETURNDATASIZE 46E4 60 PUSH1 0x20 46E6 81 DUP2 46E7 10 LT 46E8 15 ISZERO 46E9 61 PUSH2 0x46f1 46EC 57 *JUMPI 46ED 60 PUSH1 0x00 46EF 80 DUP1 46F0 FD *REVERT 46F1 5B JUMPDEST 46F2 50 POP 46F3 51 MLOAD 46F4 11 GT 46F5 5B JUMPDEST 46F6 61 PUSH2 0x46fe 46F9 57 *JUMPI 46FA 60 PUSH1 0x00 46FC 80 DUP1 46FD FD *REVERT 46FE 5B JUMPDEST 46FF 60 PUSH1 0x00 4701 61 PUSH2 0x4710 4704 61 PUSH2 0x470b 4707 61 PUSH2 0x1c6e 470A 56 *JUMP 470B 5B JUMPDEST 470C 61 PUSH2 0x560a 470F 56 *JUMP 4710 5B JUMPDEST 4711 90 SWAP1 4712 50 POP 4713 60 PUSH1 0x01 4715 88 DUP9 4716 11 GT 4717 15 ISZERO 4718 61 PUSH2 0x478e 471B 57 *JUMPI 471C 61 PUSH2 0x478e 471F 8B DUP12 4720 8B DUP12 4721 80 DUP1 4722 80 DUP1 4723 60 PUSH1 0x1f 4725 01 ADD 4726 60 PUSH1 0x20 4728 80 DUP1 4729 91 SWAP2 472A 04 DIV 472B 02 MUL 472C 60 PUSH1 0x20 472E 01 ADD 472F 60 PUSH1 0x40 4731 51 MLOAD 4732 90 SWAP1 4733 81 DUP2 4734 01 ADD 4735 60 PUSH1 0x40 4737 52 MSTORE 4738 80 DUP1 4739 93 SWAP4 473A 92 SWAP3 473B 91 SWAP2 473C 90 SWAP1 473D 81 DUP2 473E 81 DUP2 473F 52 MSTORE 4740 60 PUSH1 0x20 4742 01 ADD 4743 83 DUP4 4744 83 DUP4 4745 80 DUP1 4746 82 DUP3 4747 84 DUP5 4748 37 CALLDATACOPY 4749 60 PUSH1 0x00 474B 92 SWAP3 474C 01 ADD 474D 91 SWAP2 474E 90 SWAP1 474F 91 SWAP2 4750 52 MSTORE 4751 50 POP 4752 50 POP 4753 60 PUSH1 0x40 4755 80 DUP1 4756 51 MLOAD 4757 60 PUSH1 0x20 4759 60 PUSH1 0x1f 475B 8F DUP16 475C 01 ADD 475D 81 DUP2 475E 90 SWAP1 475F 04 DIV 4760 81 DUP2 4761 02 MUL 4762 82 DUP3 4763 01 ADD 4764 81 DUP2 4765 01 ADD 4766 90 SWAP1 4767 92 SWAP3 4768 52 MSTORE 4769 8D DUP14 476A 81 DUP2 476B 52 MSTORE 476C 92 SWAP3 476D 50 POP 476E 8D DUP14 476F 91 SWAP2 4770 50 POP 4771 8C DUP13 4772 90 SWAP1 4773 81 DUP2 4774 90 SWAP1 4775 84 DUP5 4776 01 ADD 4777 83 DUP4 4778 82 DUP3 4779 80 DUP1 477A 82 DUP3 477B 84 DUP5 477C 37 CALLDATACOPY 477D 60 PUSH1 0x00 477F 92 SWAP3 4780 01 ADD 4781 91 SWAP2 4782 90 SWAP1 4783 91 SWAP2 4784 52 MSTORE 4785 50 POP 4786 61 PUSH2 0x4fcd 4789 92 SWAP3 478A 50 POP 478B 50 POP 478C 50 POP 478D 56 *JUMP 478E 5B JUMPDEST 478F 60 PUSH1 0x01 4791 86 DUP7 4792 11 GT 4793 15 ISZERO 4794 61 PUSH2 0x47f4 4797 57 *JUMPI 4798 61 PUSH2 0x47f4 479B 81 DUP2 479C 60 PUSH1 0x40 479E 51 MLOAD 479F 80 DUP1 47A0 60 PUSH1 0x40 47A2 01 ADD 47A3 60 PUSH1 0x40 47A5 52 MSTORE 47A6 80 DUP1 47A7 60 PUSH1 0x04 47A9 81 DUP2 47AA 52 MSTORE 47AB 60 PUSH1 0x20 47AD 01 ADD 47AE 63 PUSH4 0x6e616d65 47B3 60 PUSH1 0xe0 47B5 1B SHL 47B6 81 DUP2 47B7 52 MSTORE 47B8 50 POP 47B9 89 DUP10 47BA 89 DUP10 47BB 80 DUP1 47BC 80 DUP1 47BD 60 PUSH1 0x1f 47BF 01 ADD 47C0 60 PUSH1 0x20 47C2 80 DUP1 47C3 91 SWAP2 47C4 04 DIV 47C5 02 MUL 47C6 60 PUSH1 0x20 47C8 01 ADD 47C9 60 PUSH1 0x40 47CB 51 MLOAD 47CC 90 SWAP1 47CD 81 DUP2 47CE 01 ADD 47CF 60 PUSH1 0x40 47D1 52 MSTORE 47D2 80 DUP1 47D3 93 SWAP4 47D4 92 SWAP3 47D5 91 SWAP2 47D6 90 SWAP1 47D7 81 DUP2 47D8 81 DUP2 47D9 52 MSTORE 47DA 60 PUSH1 0x20 47DC 01 ADD 47DD 83 DUP4 47DE 83 DUP4 47DF 80 DUP1 47E0 82 DUP3 47E1 84 DUP5 47E2 37 CALLDATACOPY 47E3 60 PUSH1 0x00 47E5 92 SWAP3 47E6 01 ADD 47E7 91 SWAP2 47E8 90 SWAP1 47E9 91 SWAP2 47EA 52 MSTORE 47EB 50 POP 47EC 61 PUSH2 0x56ac 47EF 92 SWAP3 47F0 50 POP 47F1 50 POP 47F2 50 POP 47F3 56 *JUMP 47F4 5B JUMPDEST 47F5 60 PUSH1 0x01 47F7 84 DUP5 47F8 11 GT 47F9 15 ISZERO 47FA 61 PUSH2 0x485b 47FD 57 *JUMPI 47FE 61 PUSH2 0x485b 4801 81 DUP2 4802 60 PUSH1 0x40 4804 51 MLOAD 4805 80 DUP1 4806 60 PUSH1 0x40 4808 01 ADD 4809 60 PUSH1 0x40 480B 52 MSTORE 480C 80 DUP1 480D 60 PUSH1 0x05 480F 81 DUP2 4810 52 MSTORE 4811 60 PUSH1 0x20 4813 01 ADD 4814 64 PUSH5 0x195b585a5b 481A 60 PUSH1 0xda 481C 1B SHL 481D 81 DUP2 481E 52 MSTORE 481F 50 POP 4820 87 DUP8 4821 87 DUP8 4822 80 DUP1 4823 80 DUP1 4824 60 PUSH1 0x1f 4826 01 ADD 4827 60 PUSH1 0x20 4829 80 DUP1 482A 91 SWAP2 482B 04 DIV 482C 02 MUL 482D 60 PUSH1 0x20 482F 01 ADD 4830 60 PUSH1 0x40 4832 51 MLOAD 4833 90 SWAP1 4834 81 DUP2 4835 01 ADD 4836 60 PUSH1 0x40 4838 52 MSTORE 4839 80 DUP1 483A 93 SWAP4 483B 92 SWAP3 483C 91 SWAP2 483D 90 SWAP1 483E 81 DUP2 483F 81 DUP2 4840 52 MSTORE 4841 60 PUSH1 0x20 4843 01 ADD 4844 83 DUP4 4845 83 DUP4 4846 80 DUP1 4847 82 DUP3 4848 84 DUP5 4849 37 CALLDATACOPY 484A 60 PUSH1 0x00 484C 92 SWAP3 484D 01 ADD 484E 91 SWAP2 484F 90 SWAP1 4850 91 SWAP2 4851 52 MSTORE 4852 50 POP 4853 61 PUSH2 0x56ac 4856 92 SWAP3 4857 50 POP 4858 50 POP 4859 50 POP 485A 56 *JUMP 485B 5B JUMPDEST 485C 60 PUSH1 0x01 485E 82 DUP3 485F 11 GT 4860 15 ISZERO 4861 61 PUSH2 0x48c5 4864 57 *JUMPI 4865 61 PUSH2 0x48c5 4868 81 DUP2 4869 60 PUSH1 0x40 486B 51 MLOAD 486C 80 DUP1 486D 60 PUSH1 0x40 486F 01 ADD 4870 60 PUSH1 0x40 4872 52 MSTORE 4873 80 DUP1 4874 60 PUSH1 0x08 4876 81 DUP2 4877 52 MSTORE 4878 60 PUSH1 0x20 487A 01 ADD 487B 67 PUSH8 0x3837b9b4ba34b7b7 4884 60 PUSH1 0xc1 4886 1B SHL 4887 81 DUP2 4888 52 MSTORE 4889 50 POP 488A 85 DUP6 488B 85 DUP6 488C 80 DUP1 488D 80 DUP1 488E 60 PUSH1 0x1f 4890 01 ADD 4891 60 PUSH1 0x20 4893 80 DUP1 4894 91 SWAP2 4895 04 DIV 4896 02 MUL 4897 60 PUSH1 0x20 4899 01 ADD 489A 60 PUSH1 0x40 489C 51 MLOAD 489D 90 SWAP1 489E 81 DUP2 489F 01 ADD 48A0 60 PUSH1 0x40 48A2 52 MSTORE 48A3 80 DUP1 48A4 93 SWAP4 48A5 92 SWAP3 48A6 91 SWAP2 48A7 90 SWAP1 48A8 81 DUP2 48A9 81 DUP2 48AA 52 MSTORE 48AB 60 PUSH1 0x20 48AD 01 ADD 48AE 83 DUP4 48AF 83 DUP4 48B0 80 DUP1 48B1 82 DUP3 48B2 84 DUP5 48B3 37 CALLDATACOPY 48B4 60 PUSH1 0x00 48B6 92 SWAP3 48B7 01 ADD 48B8 91 SWAP2 48B9 90 SWAP1 48BA 91 SWAP2 48BB 52 MSTORE 48BC 50 POP 48BD 61 PUSH2 0x56ac 48C0 92 SWAP3 48C1 50 POP 48C2 50 POP 48C3 50 POP 48C4 56 *JUMP 48C5 5B JUMPDEST 48C6 7F PUSH32 0x83ae3199aebc0967c282db500ee53f0d089a35e030891c73584d243e4c0b6bc6 48E7 61 PUSH2 0x48ee 48EA 61 PUSH2 0x1c6e 48ED 56 *JUMP 48EE 5B JUMPDEST 48EF 60 PUSH1 0x40 48F1 80 DUP1 48F2 51 MLOAD 48F3 60 PUSH1 0x01 48F5 60 PUSH1 0x01 48F7 60 PUSH1 0xa0 48F9 1B SHL 48FA 03 SUB 48FB 90 SWAP1 48FC 92 SWAP3 48FD 16 AND 48FE 82 DUP3 48FF 52 MSTORE 4900 60 PUSH1 0x02 4902 60 PUSH1 0x20 4904 83 DUP4 4905 01 ADD 4906 52 MSTORE 4907 60 PUSH1 0x60 4909 82 DUP3 490A 82 DUP3 490B 01 ADD 490C 81 DUP2 490D 90 SWAP1 490E 52 MSTORE 490F 60 PUSH1 0x17 4911 90 SWAP1 4912 83 DUP4 4913 01 ADD 4914 52 MSTORE 4915 7F PUSH32 0x4d656d62657220696e666f20686173206368616e676564000000000000000000 4936 60 PUSH1 0x80 4938 83 DUP4 4939 01 ADD 493A 52 MSTORE 493B 51 MLOAD 493C 90 SWAP1 493D 81 DUP2 493E 90 SWAP1 493F 03 SUB 4940 60 PUSH1 0xa0 4942 01 ADD 4943 90 SWAP1 4944 A1 LOG1 4945 50 POP 4946 50 POP 4947 50 POP 4948 50 POP 4949 50 POP 494A 50 POP 494B 50 POP 494C 50 POP 494D 50 POP 494E 50 POP 494F 50 POP 4950 56 *JUMP label_4951: // Incoming call from 0x1100, returns to 0x0242 // Inputs[2] // { // @4954 storage[0x01] // @495E msg.sender // } 4951 5B JUMPDEST 4952 60 PUSH1 0x01 4954 54 SLOAD 4955 60 PUSH1 0x01 4957 60 PUSH1 0x01 4959 60 PUSH1 0xa0 495B 1B SHL 495C 03 SUB 495D 16 AND 495E 33 CALLER 495F 14 EQ 4960 61 PUSH2 0x499e 4963 57 *JUMPI // Stack delta = +0 // Block ends with conditional jump to 0x499e, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] label_4964: // Incoming jump from 0x4963, if not msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] // Inputs[5] // { // @4967 memory[0x40:0x60] // @4982 memory[0x00:0x20] // @498B memory[0x00:0x20] // @4994 memory[0x40:0x60] // @499D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])] // } 4964 60 PUSH1 0x40 4966 80 DUP1 4967 51 MLOAD 4968 62 PUSH3 0x461bcd 496C 60 PUSH1 0xe5 496E 1B SHL 496F 81 DUP2 4970 52 MSTORE 4971 60 PUSH1 0x20 4973 60 PUSH1 0x04 4975 82 DUP3 4976 01 ADD 4977 52 MSTORE 4978 60 PUSH1 0x1b 497A 60 PUSH1 0x24 497C 82 DUP3 497D 01 ADD 497E 52 MSTORE 497F 60 PUSH1 0x00 4981 80 DUP1 4982 51 MLOAD 4983 60 PUSH1 0x20 4985 61 PUSH2 0x5e8e 4988 83 DUP4 4989 39 CODECOPY 498A 81 DUP2 498B 51 MLOAD 498C 91 SWAP2 498D 52 MSTORE 498E 60 PUSH1 0x44 4990 82 DUP3 4991 01 ADD 4992 52 MSTORE 4993 90 SWAP1 4994 51 MLOAD 4995 90 SWAP1 4996 81 DUP2 4997 90 SWAP1 4998 03 SUB 4999 60 PUSH1 0x64 499B 01 ADD 499C 90 SWAP1 499D FD *REVERT // Stack delta = +0 // Outputs[7] // { // @4970 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @4977 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @497E memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = 0x1b // @4989 memory[0x00:0x20] = code[0x5e8e:0x5eae] // @498D memory[0x00:0x20] = memory[0x00:0x20] // @4992 memory[memory[0x40:0x60] + 0x44:memory[0x40:0x60] + 0x44 + 0x20] = memory[0x00:0x20] // @499D revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x64 + (memory[0x40:0x60] - memory[0x40:0x60])]); // } // Block terminates label_499E: // Incoming jump from 0x4963, if msg.sender == (0x01 << 0xa0) - 0x01 & storage[0x01] 499E 5B JUMPDEST 499F 61 PUSH2 0x49a6 49A2 61 PUSH2 0x57ed 49A5 56 *JUMP // Stack delta = +1 // Outputs[1] { @499F stack[0] = 0x49a6 } // Block ends with call to 0x57ed, returns to 0x49A6 label_49A6: // Incoming return from call to 0x57ED at 0x49A5 // Inputs[1] { @49A7 stack[-1] } 49A6 5B JUMPDEST 49A7 56 *JUMP // Stack delta = -1 // Block ends with unconditional jump to stack[-1] label_49A8: // Incoming jump from 0x117C 49A8 5B JUMPDEST 49A9 61 PUSH2 0x49b0 49AC 61 PUSH2 0x2246 49AF 56 *JUMP // Stack delta = +1 // Outputs[1] { @49A9 stack[0] = 0x49b0 } // Block ends with call to 0x2246, returns to 0x49B0 label_49B0: // Incoming return from call to 0x2246 at 0x49AF // Inputs[2] // { // @49B9 stack[-1] // @49BA msg.sender // } 49B0 5B JUMPDEST 49B1 60 PUSH1 0x01 49B3 60 PUSH1 0x01 49B5 60 PUSH1 0xa0 49B7 1B SHL 49B8 03 SUB 49B9 16 AND 49BA 33 CALLER 49BB 60 PUSH1 0x01 49BD 60 PUSH1 0x01 49BF 60 PUSH1 0xa0 49C1 1B SHL 49C2 03 SUB 49C3 16 AND 49C4 14 EQ 49C5 61 PUSH2 0x49ff 49C8 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x49ff, if (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] label_49C9: // Incoming jump from 0x49C8, if not (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] // Inputs[3] // { // @49CB memory[0x40:0x60] // @49F9 memory[0x40:0x60] // @49FE memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 49C9 60 PUSH1 0x40 49CB 51 MLOAD 49CC 62 PUSH3 0x461bcd 49D0 60 PUSH1 0xe5 49D2 1B SHL 49D3 81 DUP2 49D4 52 MSTORE 49D5 60 PUSH1 0x04 49D7 01 ADD 49D8 80 DUP1 49D9 80 DUP1 49DA 60 PUSH1 0x20 49DC 01 ADD 49DD 82 DUP3 49DE 81 DUP2 49DF 03 SUB 49E0 82 DUP3 49E1 52 MSTORE 49E2 60 PUSH1 0x27 49E4 81 DUP2 49E5 52 MSTORE 49E6 60 PUSH1 0x20 49E8 01 ADD 49E9 80 DUP1 49EA 61 PUSH2 0x5e41 49ED 60 PUSH1 0x27 49EF 91 SWAP2 49F0 39 CODECOPY 49F1 60 PUSH1 0x40 49F3 01 ADD 49F4 91 SWAP2 49F5 50 POP 49F6 50 POP 49F7 60 PUSH1 0x40 49F9 51 MLOAD 49FA 80 DUP1 49FB 91 SWAP2 49FC 03 SUB 49FD 90 SWAP1 49FE FD *REVERT // Stack delta = +0 // Outputs[5] // { // @49D4 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @49E1 memory[0x04 + memory[0x40:0x60]:0x04 + memory[0x40:0x60] + 0x20] = (0x20 + 0x04 + memory[0x40:0x60]) - (0x04 + memory[0x40:0x60]) // @49E5 memory[0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x04 + memory[0x40:0x60] + 0x20] = 0x27 // @49F0 memory[0x20 + 0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x20 + 0x04 + memory[0x40:0x60] + 0x27] = code[0x5e41:0x5e68] // @49FE revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]); // } // Block terminates label_49FF: // Incoming jump from 0x49C8, if (0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1] // Inputs[1] { @4A05 stack[-6] } 49FF 5B JUMPDEST 4A00 50 POP 4A01 50 POP 4A02 50 POP 4A03 50 POP 4A04 50 POP 4A05 56 *JUMP // Stack delta = -6 // Block ends with unconditional jump to stack[-6] label_4A06: // Incoming call from 0x1184, returns to 0x0618 // Inputs[3] // { // @4A0C msg.data.length // @4A1D memory[0x40:0x60] // @4A34 msg.data[0x00:0x00 + msg.data.length] // } 4A06 5B JUMPDEST 4A07 60 PUSH1 0x60 4A09 80 DUP1 4A0A 60 PUSH1 0x00 4A0C 36 CALLDATASIZE 4A0D 80 DUP1 4A0E 80 DUP1 4A0F 60 PUSH1 0x1f 4A11 01 ADD 4A12 60 PUSH1 0x20 4A14 80 DUP1 4A15 91 SWAP2 4A16 04 DIV 4A17 02 MUL 4A18 60 PUSH1 0x20 4A1A 01 ADD 4A1B 60 PUSH1 0x40 4A1D 51 MLOAD 4A1E 90 SWAP1 4A1F 81 DUP2 4A20 01 ADD 4A21 60 PUSH1 0x40 4A23 52 MSTORE 4A24 80 DUP1 4A25 93 SWAP4 4A26 92 SWAP3 4A27 91 SWAP2 4A28 90 SWAP1 4A29 81 DUP2 4A2A 81 DUP2 4A2B 52 MSTORE 4A2C 60 PUSH1 0x20 4A2E 01 ADD 4A2F 83 DUP4 4A30 83 DUP4 4A31 80 DUP1 4A32 82 DUP3 4A33 84 DUP5 4A34 37 CALLDATACOPY 4A35 60 PUSH1 0x00 4A37 92 SWAP3 4A38 01 ADD 4A39 91 SWAP2 4A3A 90 SWAP1 4A3B 91 SWAP2 4A3C 52 MSTORE 4A3D 50 POP 4A3E 92 SWAP3 4A3F 93 SWAP4 4A40 50 POP 4A41 61 PUSH2 0x4a4d 4A44 92 SWAP3 4A45 50 POP 4A46 61 PUSH2 0x2246 4A49 91 SWAP2 4A4A 50 POP 4A4B 50 POP 4A4C 56 *JUMP // Stack delta = +3 // Outputs[7] // { // @4A07 stack[0] = 0x60 // @4A23 memory[0x40:0x60] = memory[0x40:0x60] + 0x20 + (0x1f + msg.data.length) / 0x20 * 0x20 // @4A2B memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = msg.data.length // @4A34 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + msg.data.length] = msg.data[0x00:0x00 + msg.data.length] // @4A3C memory[0x20 + memory[0x40:0x60] + msg.data.length:0x20 + memory[0x40:0x60] + msg.data.length + 0x20] = 0x00 // @4A3F stack[1] = memory[0x40:0x60] // @4A44 stack[2] = 0x4a4d // } // Block ends with call to 0x2246, returns to 0x4A4D label_4A4D: // Incoming return from call to 0x2246 at 0x4A4C // Inputs[2] // { // @4A56 stack[-1] // @4A57 msg.sender // } 4A4D 5B JUMPDEST 4A4E 60 PUSH1 0x01 4A50 60 PUSH1 0x01 4A52 60 PUSH1 0xa0 4A54 1B SHL 4A55 03 SUB 4A56 16 AND 4A57 33 CALLER 4A58 60 PUSH1 0x01 4A5A 60 PUSH1 0x01 4A5C 60 PUSH1 0xa0 4A5E 1B SHL 4A5F 03 SUB 4A60 16 AND 4A61 14 EQ 4A62 15 ISZERO 4A63 61 PUSH2 0x1cb1 4A66 57 *JUMPI // Stack delta = -1 // Block ends with conditional jump to 0x1cb1, if !((0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1]) label_4A67: // Incoming jump from 0x4A66, if not !((0x01 << 0xa0) - 0x01 & msg.sender == (0x01 << 0xa0) - 0x01 & stack[-1]) // Inputs[2] // { // @4A6B msg.data.length // @4A71 memory[0x40:0x60] // } 4A67 60 PUSH1 0x14 4A69 60 PUSH1 0x00 4A6B 36 CALLDATASIZE 4A6C 90 SWAP1 4A6D 50 POP 4A6E 03 SUB 4A6F 60 PUSH1 0x40 4A71 51 MLOAD 4A72 90 SWAP1 4A73 80 DUP1 4A74 82 DUP3 4A75 52 MSTORE 4A76 80 DUP1 4A77 60 PUSH1 0x1f 4A79 01 ADD 4A7A 60 PUSH1 0x1f 4A7C 19 NOT 4A7D 16 AND 4A7E 60 PUSH1 0x20 4A80 01 ADD 4A81 82 DUP3 4A82 01 ADD 4A83 60 PUSH1 0x40 4A85 52 MSTORE 4A86 80 DUP1 4A87 15 ISZERO 4A88 61 PUSH2 0x4a98 4A8B 57 *JUMPI // Stack delta = +2 // Outputs[4] // { // @4A72 stack[1] = msg.data.length - 0x14 // @4A72 stack[0] = memory[0x40:0x60] // @4A75 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = msg.data.length - 0x14 // @4A85 memory[0x40:0x60] = memory[0x40:0x60] + 0x20 + (~0x1f & 0x1f + (msg.data.length - 0x14)) // } // Block ends with conditional jump to 0x4a98, if !(msg.data.length - 0x14) label_4A8C: // Incoming jump from 0x4A8B, if not !(msg.data.length - 0x14) // Inputs[5] // { // @4A8E stack[-2] // @4A90 stack[-1] // @4A92 code.length // @4A9A stack[-3] // @4AA0 memory[stack[-2]:stack[-2] + 0x20] // } 4A8C 60 PUSH1 0x20 4A8E 82 DUP3 4A8F 01 ADD 4A90 81 DUP2 4A91 80 DUP1 4A92 38 CODESIZE 4A93 83 DUP4 4A94 39 CODECOPY 4A95 01 ADD 4A96 90 SWAP1 4A97 50 POP 4A98 5B JUMPDEST 4A99 50 POP 4A9A 90 SWAP1 4A9B 50 POP 4A9C 60 PUSH1 0x00 4A9E 5B JUMPDEST 4A9F 81 DUP2 4AA0 51 MLOAD 4AA1 81 DUP2 4AA2 10 LT 4AA3 15 ISZERO 4AA4 61 PUSH2 0x4ae9 4AA7 57 *JUMPI // Stack delta = -1 // Outputs[3] // { // @4A94 memory[stack[-2] + 0x20:stack[-2] + 0x20 + stack[-1]] = code[code.length:code.length + stack[-1]] // @4A9A stack[-3] = stack[-2] // @4A9C stack[-2] = 0x00 // } // Block ends with conditional jump to 0x4ae9, if !(0x00 < memory[stack[-2]:stack[-2] + 0x20]) label_4AA8: // Incoming jump from 0x4AA7, if not !(0x00 < memory[stack[-2]:stack[-2] + 0x20]) // Incoming jump from 0x4AA7, if not !(0x00 < memory[stack[-2]:stack[-2] + 0x20]) // Incoming jump from 0x4AA7, if not !(stack[-1] < memory[stack[-2]:stack[-2] + 0x20]) // Inputs[2] // { // @4AAA msg.data.length // @4AAB stack[-1] // } 4AA8 60 PUSH1 0x00 4AAA 36 CALLDATASIZE 4AAB 82 DUP3 4AAC 81 DUP2 4AAD 81 DUP2 4AAE 10 LT 4AAF 61 PUSH2 0x4ab4 4AB2 57 *JUMPI // Stack delta = +3 // Outputs[3] // { // @4AA8 stack[0] = 0x00 // @4AAA stack[1] = msg.data.length // @4AAB stack[2] = stack[-1] // } // Block ends with conditional jump to 0x4ab4, if stack[-1] < msg.data.length label_4AB3: // Incoming jump from 0x4AB2, if not stack[-1] < msg.data.length 4AB3 FE *ASSERT // Stack delta = +0 // Outputs[1] { @4AB3 assert(); } // Block terminates label_4AB4: // Incoming jump from 0x4AB2, if stack[-1] < msg.data.length // Inputs[7] // { // @4AB5 stack[-1] // @4AB5 stack[-2] // @4AB7 stack[-3] // @4AB8 msg.data[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] // @4ABF stack[-5] // @4AC0 stack[-4] // @4AC2 memory[stack[-5]:stack[-5] + 0x20] // } 4AB4 5B JUMPDEST 4AB5 90 SWAP1 4AB6 50 POP 4AB7 01 ADD 4AB8 35 CALLDATALOAD 4AB9 60 PUSH1 0xf8 4ABB 1C SHR 4ABC 60 PUSH1 0xf8 4ABE 1B SHL 4ABF 82 DUP3 4AC0 82 DUP3 4AC1 81 DUP2 4AC2 51 MLOAD 4AC3 81 DUP2 4AC4 10 LT 4AC5 61 PUSH2 0x4aca 4AC8 57 *JUMPI // Stack delta = +0 // Outputs[3] // { // @4ABE stack[-3] = (msg.data[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] >> 0xf8) << 0xf8 // @4ABF stack[-2] = stack[-5] // @4AC0 stack[-1] = stack[-4] // } // Block ends with conditional jump to 0x4aca, if stack[-4] < memory[stack[-5]:stack[-5] + 0x20] label_4AC9: // Incoming jump from 0x4AC8, if not stack[-4] < memory[stack[-5]:stack[-5] + 0x20] 4AC9 FE *ASSERT // Stack delta = +0 // Outputs[1] { @4AC9 assert(); } // Block terminates label_4ACA: // Incoming jump from 0x4AC8, if stack[-4] < memory[stack[-5]:stack[-5] + 0x20] // Inputs[4] // { // @4ACD stack[-1] // @4ACE stack[-2] // @4ACF stack[-3] // @4AE4 stack[-4] // } 4ACA 5B JUMPDEST 4ACB 60 PUSH1 0x20 4ACD 01 ADD 4ACE 01 ADD 4ACF 90 SWAP1 4AD0 60 PUSH1 0x01 4AD2 60 PUSH1 0x01 4AD4 60 PUSH1 0xf8 4AD6 1B SHL 4AD7 03 SUB 4AD8 19 NOT 4AD9 16 AND 4ADA 90 SWAP1 4ADB 81 DUP2 4ADC 60 PUSH1 0x00 4ADE 1A BYTE 4ADF 90 SWAP1 4AE0 53 MSTORE8 4AE1 50 POP 4AE2 60 PUSH1 0x01 4AE4 01 ADD 4AE5 61 PUSH2 0x4a9e 4AE8 56 *JUMP // Stack delta = -3 // Outputs[2] // { // @4AE0 memory[0x20 + stack[-1] + stack[-2]:0x20 + stack[-1] + stack[-2] + 0x01] = byte(~((0x01 << 0xf8) - 0x01) & stack[-3], 0x00) // @4AE4 stack[-4] = 0x01 + stack[-4] // } // Block ends with unconditional jump to 0x4a9e label_4AE9: // Incoming jump from 0x4AA7, if !(0x00 < memory[stack[-2]:stack[-2] + 0x20]) // Incoming jump from 0x4AA7, if !(0x00 < memory[stack[-2]:stack[-2] + 0x20]) // Incoming jump from 0x4AA7, if !(stack[-1] < memory[stack[-2]:stack[-2] + 0x20]) // Inputs[3] // { // @4AEB stack[-3] // @4AEB stack[-2] // @4AED stack[-4] // } 4AE9 5B JUMPDEST 4AEA 50 POP 4AEB 90 SWAP1 4AEC 50 POP 4AED 90 SWAP1 4AEE 56 *JUMP // Stack delta = -3 // Outputs[1] { @4AED stack[-4] = stack[-2] } // Block ends with unconditional jump to stack[-4] 4AEF 5B JUMPDEST 4AF0 61 PUSH2 0x4af7 4AF3 61 PUSH2 0x2246 4AF6 56 *JUMP 4AF7 5B JUMPDEST 4AF8 60 PUSH1 0x01 4AFA 60 PUSH1 0x01 4AFC 60 PUSH1 0xa0 4AFE 1B SHL 4AFF 03 SUB 4B00 16 AND 4B01 62 PUSH3 0xf714ce 4B05 83 DUP4 4B06 83 DUP4 4B07 60 PUSH1 0x40 4B09 51 MLOAD 4B0A 83 DUP4 4B0B 63 PUSH4 0xffffffff 4B10 16 AND 4B11 60 PUSH1 0xe0 4B13 1B SHL 4B14 81 DUP2 4B15 52 MSTORE 4B16 60 PUSH1 0x04 4B18 01 ADD 4B19 80 DUP1 4B1A 83 DUP4 4B1B 81 DUP2 4B1C 52 MSTORE 4B1D 60 PUSH1 0x20 4B1F 01 ADD 4B20 82 DUP3 4B21 60 PUSH1 0x01 4B23 60 PUSH1 0x01 4B25 60 PUSH1 0xa0 4B27 1B SHL 4B28 03 SUB 4B29 16 AND 4B2A 60 PUSH1 0x01 4B2C 60 PUSH1 0x01 4B2E 60 PUSH1 0xa0 4B30 1B SHL 4B31 03 SUB 4B32 16 AND 4B33 81 DUP2 4B34 52 MSTORE 4B35 60 PUSH1 0x20 4B37 01 ADD 4B38 92 SWAP3 4B39 50 POP 4B3A 50 POP 4B3B 50 POP 4B3C 60 PUSH1 0x00 4B3E 60 PUSH1 0x40 4B40 51 MLOAD 4B41 80 DUP1 4B42 83 DUP4 4B43 03 SUB 4B44 81 DUP2 4B45 60 PUSH1 0x00 4B47 87 DUP8 4B48 80 DUP1 4B49 3B EXTCODESIZE 4B4A 15 ISZERO 4B4B 80 DUP1 4B4C 15 ISZERO 4B4D 61 PUSH2 0x4b55 4B50 57 *JUMPI 4B51 60 PUSH1 0x00 4B53 80 DUP1 4B54 FD *REVERT 4B55 5B JUMPDEST 4B56 50 POP 4B57 5A GAS 4B58 F1 CALL 4B59 15 ISZERO 4B5A 80 DUP1 4B5B 15 ISZERO 4B5C 61 PUSH2 0x4b69 4B5F 57 *JUMPI 4B60 3D RETURNDATASIZE 4B61 60 PUSH1 0x00 4B63 80 DUP1 4B64 3E RETURNDATACOPY 4B65 3D RETURNDATASIZE 4B66 60 PUSH1 0x00 4B68 FD *REVERT 4B69 5B JUMPDEST 4B6A 50 POP 4B6B 50 POP 4B6C 50 POP 4B6D 50 POP 4B6E 50 POP 4B6F 50 POP 4B70 56 *JUMP 4B71 5B JUMPDEST 4B72 60 PUSH1 0x40 4B74 80 DUP1 4B75 51 MLOAD 4B76 60 PUSH1 0x20 4B78 80 DUP1 4B79 82 DUP3 4B7A 01 ADD 4B7B 94 SWAP5 4B7C 90 SWAP1 4B7D 94 SWAP5 4B7E 52 MSTORE 4B7F 60 PUSH1 0x60 4B81 92 SWAP3 4B82 90 SWAP1 4B83 92 SWAP3 4B84 1B SHL 4B85 6B PUSH12 0xffffffffffffffffffffffff 4B92 19 NOT 4B93 16 AND 4B94 82 DUP3 4B95 82 DUP3 4B96 01 ADD 4B97 52 MSTORE 4B98 80 DUP1 4B99 51 MLOAD 4B9A 80 DUP1 4B9B 83 DUP4 4B9C 03 SUB 4B9D 60 PUSH1 0x34 4B9F 01 ADD 4BA0 81 DUP2 4BA1 52 MSTORE 4BA2 60 PUSH1 0x54 4BA4 90 SWAP1 4BA5 92 SWAP3 4BA6 01 ADD 4BA7 90 SWAP1 4BA8 52 MSTORE 4BA9 80 DUP1 4BAA 51 MLOAD 4BAB 91 SWAP2 4BAC 01 ADD 4BAD 20 SHA3 4BAE 90 SWAP1 4BAF 56 *JUMP 4BB0 5B JUMPDEST 4BB1 60 PUSH1 0x60 4BB3 60 PUSH1 0x05 4BB5 60 PUSH1 0x00 4BB7 90 SWAP1 4BB8 54 SLOAD 4BB9 90 SWAP1 4BBA 61 PUSH2 0x0100 4BBD 0A EXP 4BBE 90 SWAP1 4BBF 04 DIV 4BC0 60 PUSH1 0x01 4BC2 60 PUSH1 0x01 4BC4 60 PUSH1 0xa0 4BC6 1B SHL 4BC7 03 SUB 4BC8 16 AND 4BC9 60 PUSH1 0x01 4BCB 60 PUSH1 0x01 4BCD 60 PUSH1 0xa0 4BCF 1B SHL 4BD0 03 SUB 4BD1 16 AND 4BD2 63 PUSH4 0x986e791a 4BD7 84 DUP5 4BD8 84 DUP5 4BD9 60 PUSH1 0x40 4BDB 51 MLOAD 4BDC 60 PUSH1 0x20 4BDE 01 ADD 4BDF 80 DUP1 4BE0 83 DUP4 4BE1 81 DUP2 4BE2 52 MSTORE 4BE3 60 PUSH1 0x20 4BE5 01 ADD 4BE6 82 DUP3 4BE7 80 DUP1 4BE8 51 MLOAD 4BE9 90 SWAP1 4BEA 60 PUSH1 0x20 4BEC 01 ADD 4BED 90 SWAP1 4BEE 80 DUP1 4BEF 83 DUP4 4BF0 83 DUP4 4BF1 5B JUMPDEST 4BF2 60 PUSH1 0x20 4BF4 83 DUP4 4BF5 10 LT 4BF6 61 PUSH2 0x4c10 4BF9 57 *JUMPI 4BFA 80 DUP1 4BFB 51 MLOAD 4BFC 82 DUP3 4BFD 52 MSTORE 4BFE 60 PUSH1 0x1f 4C00 19 NOT 4C01 90 SWAP1 4C02 92 SWAP3 4C03 01 ADD 4C04 91 SWAP2 4C05 60 PUSH1 0x20 4C07 91 SWAP2 4C08 82 DUP3 4C09 01 ADD 4C0A 91 SWAP2 4C0B 01 ADD 4C0C 61 PUSH2 0x4bf1 4C0F 56 *JUMP 4C10 5B JUMPDEST 4C11 60 PUSH1 0x01 4C13 83 DUP4 4C14 60 PUSH1 0x20 4C16 03 SUB 4C17 61 PUSH2 0x0100 4C1A 0A EXP 4C1B 03 SUB 4C1C 80 DUP1 4C1D 19 NOT 4C1E 82 DUP3 4C1F 51 MLOAD 4C20 16 AND 4C21 81 DUP2 4C22 84 DUP5 4C23 51 MLOAD 4C24 16 AND 4C25 80 DUP1 4C26 82 DUP3 4C27 17 OR 4C28 85 DUP6 4C29 52 MSTORE 4C2A 50 POP 4C2B 50 POP 4C2C 50 POP 4C2D 50 POP 4C2E 50 POP 4C2F 50 POP 4C30 90 SWAP1 4C31 50 POP 4C32 01 ADD 4C33 92 SWAP3 4C34 50 POP 4C35 50 POP 4C36 50 POP 4C37 60 PUSH1 0x40 4C39 51 MLOAD 4C3A 60 PUSH1 0x20 4C3C 81 DUP2 4C3D 83 DUP4 4C3E 03 SUB 4C3F 03 SUB 4C40 81 DUP2 4C41 52 MSTORE 4C42 90 SWAP1 4C43 60 PUSH1 0x40 4C45 52 MSTORE 4C46 80 DUP1 4C47 51 MLOAD 4C48 90 SWAP1 4C49 60 PUSH1 0x20 4C4B 01 ADD 4C4C 20 SHA3 4C4D 60 PUSH1 0x40 4C4F 51 MLOAD 4C50 82 DUP3 4C51 63 PUSH4 0xffffffff 4C56 16 AND 4C57 60 PUSH1 0xe0 4C59 1B SHL 4C5A 81 DUP2 4C5B 52 MSTORE 4C5C 60 PUSH1 0x04 4C5E 01 ADD 4C5F 80 DUP1 4C60 82 DUP3 4C61 81 DUP2 4C62 52 MSTORE 4C63 60 PUSH1 0x20 4C65 01 ADD 4C66 91 SWAP2 4C67 50 POP 4C68 50 POP 4C69 60 PUSH1 0x00 4C6B 60 PUSH1 0x40 4C6D 51 MLOAD 4C6E 80 DUP1 4C6F 83 DUP4 4C70 03 SUB 4C71 81 DUP2 4C72 86 DUP7 4C73 80 DUP1 4C74 3B EXTCODESIZE 4C75 15 ISZERO 4C76 80 DUP1 4C77 15 ISZERO 4C78 61 PUSH2 0x4c80 4C7B 57 *JUMPI 4C7C 60 PUSH1 0x00 4C7E 80 DUP1 4C7F FD *REVERT 4C80 5B JUMPDEST 4C81 50 POP 4C82 5A GAS 4C83 FA STATICCALL 4C84 15 ISZERO 4C85 80 DUP1 4C86 15 ISZERO 4C87 61 PUSH2 0x4c94 4C8A 57 *JUMPI 4C8B 3D RETURNDATASIZE 4C8C 60 PUSH1 0x00 4C8E 80 DUP1 4C8F 3E RETURNDATACOPY 4C90 3D RETURNDATASIZE 4C91 60 PUSH1 0x00 4C93 FD *REVERT 4C94 5B JUMPDEST 4C95 50 POP 4C96 50 POP 4C97 50 POP 4C98 50 POP 4C99 60 PUSH1 0x40 4C9B 51 MLOAD 4C9C 3D RETURNDATASIZE 4C9D 60 PUSH1 0x00 4C9F 82 DUP3 4CA0 3E RETURNDATACOPY 4CA1 60 PUSH1 0x1f 4CA3 3D RETURNDATASIZE 4CA4 90 SWAP1 4CA5 81 DUP2 4CA6 01 ADD 4CA7 60 PUSH1 0x1f 4CA9 19 NOT 4CAA 16 AND 4CAB 82 DUP3 4CAC 01 ADD 4CAD 60 PUSH1 0x40 4CAF 52 MSTORE 4CB0 60 PUSH1 0x20 4CB2 81 DUP2 4CB3 10 LT 4CB4 15 ISZERO 4CB5 61 PUSH2 0x4cbd 4CB8 57 *JUMPI 4CB9 60 PUSH1 0x00 4CBB 80 DUP1 4CBC FD *REVERT 4CBD 5B JUMPDEST 4CBE 81 DUP2 4CBF 01 ADD 4CC0 90 SWAP1 4CC1 80 DUP1 4CC2 80 DUP1 4CC3 51 MLOAD 4CC4 60 PUSH1 0x40 4CC6 51 MLOAD 4CC7 93 SWAP4 4CC8 92 SWAP3 4CC9 91 SWAP2 4CCA 90 SWAP1 4CCB 84 DUP5 4CCC 60 PUSH1 0x01 4CCE 60 PUSH1 0x20 4CD0 1B SHL 4CD1 82 DUP3 4CD2 11 GT 4CD3 15 ISZERO 4CD4 61 PUSH2 0x4cdc 4CD7 57 *JUMPI 4CD8 60 PUSH1 0x00 4CDA 80 DUP1 4CDB FD *REVERT 4CDC 5B JUMPDEST 4CDD 90 SWAP1 4CDE 83 DUP4 4CDF 01 ADD 4CE0 90 SWAP1 4CE1 60 PUSH1 0x20 4CE3 82 DUP3 4CE4 01 ADD 4CE5 85 DUP6 4CE6 81 DUP2 4CE7 11 GT 4CE8 15 ISZERO 4CE9 61 PUSH2 0x4cf1 4CEC 57 *JUMPI 4CED 60 PUSH1 0x00 4CEF 80 DUP1 4CF0 FD *REVERT 4CF1 5B JUMPDEST 4CF2 82 DUP3 4CF3 51 MLOAD 4CF4 60 PUSH1 0x01 4CF6 60 PUSH1 0x20 4CF8 1B SHL 4CF9 81 DUP2 4CFA 11 GT 4CFB 82 DUP3 4CFC 82 DUP3 4CFD 01 ADD 4CFE 88 DUP9 4CFF 10 LT 4D00 17 OR 4D01 15 ISZERO 4D02 61 PUSH2 0x4d0a 4D05 57 *JUMPI 4D06 60 PUSH1 0x00 4D08 80 DUP1 4D09 FD *REVERT 4D0A 5B JUMPDEST 4D0B 82 DUP3 4D0C 52 MSTORE 4D0D 50 POP 4D0E 81 DUP2 4D0F 51 MLOAD 4D10 60 PUSH1 0x20 4D12 91 SWAP2 4D13 82 DUP3 4D14 01 ADD 4D15 92 SWAP3 4D16 90 SWAP1 4D17 91 SWAP2 4D18 01 ADD 4D19 90 SWAP1 4D1A 80 DUP1 4D1B 83 DUP4 4D1C 83 DUP4 4D1D 60 PUSH1 0x00 4D1F 5B JUMPDEST 4D20 83 DUP4 4D21 81 DUP2 4D22 10 LT 4D23 15 ISZERO 4D24 61 PUSH2 0x4d37 4D27 57 *JUMPI 4D28 81 DUP2 4D29 81 DUP2 4D2A 01 ADD 4D2B 51 MLOAD 4D2C 83 DUP4 4D2D 82 DUP3 4D2E 01 ADD 4D2F 52 MSTORE 4D30 60 PUSH1 0x20 4D32 01 ADD 4D33 61 PUSH2 0x4d1f 4D36 56 *JUMP 4D37 5B JUMPDEST 4D38 50 POP 4D39 50 POP 4D3A 50 POP 4D3B 50 POP 4D3C 90 SWAP1 4D3D 50 POP 4D3E 90 SWAP1 4D3F 81 DUP2 4D40 01 ADD 4D41 90 SWAP1 4D42 60 PUSH1 0x1f 4D44 16 AND 4D45 80 DUP1 4D46 15 ISZERO 4D47 61 PUSH2 0x4d64 4D4A 57 *JUMPI 4D4B 80 DUP1 4D4C 82 DUP3 4D4D 03 SUB 4D4E 80 DUP1 4D4F 51 MLOAD 4D50 60 PUSH1 0x01 4D52 83 DUP4 4D53 60 PUSH1 0x20 4D55 03 SUB 4D56 61 PUSH2 0x0100 4D59 0A EXP 4D5A 03 SUB 4D5B 19 NOT 4D5C 16 AND 4D5D 81 DUP2 4D5E 52 MSTORE 4D5F 60 PUSH1 0x20 4D61 01 ADD 4D62 91 SWAP2 4D63 50 POP 4D64 5B JUMPDEST 4D65 50 POP 4D66 60 PUSH1 0x40 4D68 52 MSTORE 4D69 50 POP 4D6A 50 POP 4D6B 50 POP 4D6C 90 SWAP1 4D6D 50 POP 4D6E 92 SWAP3 4D6F 91 SWAP2 4D70 50 POP 4D71 50 POP 4D72 56 *JUMP label_4D73: // Incoming call from 0x18F9, returns to 0x18FA // Inputs[3] // { // @4D76 stack[-1] // @4D7A stack[-2] // @4D7B memory[stack[-2]:stack[-2] + 0x20] // } 4D73 5B JUMPDEST 4D74 60 PUSH1 0x00 4D76 81 DUP2 4D77 60 PUSH1 0x14 4D79 01 ADD 4D7A 83 DUP4 4D7B 51 MLOAD 4D7C 10 LT 4D7D 15 ISZERO 4D7E 61 PUSH2 0x4db8 4D81 57 *JUMPI // Stack delta = +1 // Outputs[1] { @4D74 stack[0] = 0x00 } // Block ends with conditional jump to 0x4db8, if !(memory[stack[-2]:stack[-2] + 0x20] < 0x14 + stack[-1]) label_4D82: // Incoming jump from 0x4D81, if not !(memory[stack[-2]:stack[-2] + 0x20] < 0x14 + stack[-1]) // Inputs[3] // { // @4D84 memory[0x40:0x60] // @4DB2 memory[0x40:0x60] // @4DB7 memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]] // } 4D82 60 PUSH1 0x40 4D84 51 MLOAD 4D85 62 PUSH3 0x461bcd 4D89 60 PUSH1 0xe5 4D8B 1B SHL 4D8C 81 DUP2 4D8D 52 MSTORE 4D8E 60 PUSH1 0x04 4D90 01 ADD 4D91 80 DUP1 4D92 80 DUP1 4D93 60 PUSH1 0x20 4D95 01 ADD 4D96 82 DUP3 4D97 81 DUP2 4D98 03 SUB 4D99 82 DUP3 4D9A 52 MSTORE 4D9B 60 PUSH1 0x26 4D9D 81 DUP2 4D9E 52 MSTORE 4D9F 60 PUSH1 0x20 4DA1 01 ADD 4DA2 80 DUP1 4DA3 61 PUSH2 0x5e68 4DA6 60 PUSH1 0x26 4DA8 91 SWAP2 4DA9 39 CODECOPY 4DAA 60 PUSH1 0x40 4DAC 01 ADD 4DAD 91 SWAP2 4DAE 50 POP 4DAF 50 POP 4DB0 60 PUSH1 0x40 4DB2 51 MLOAD 4DB3 80 DUP1 4DB4 91 SWAP2 4DB5 03 SUB 4DB6 90 SWAP1 4DB7 FD *REVERT // Stack delta = +0 // Outputs[5] // { // @4D8D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x461bcd << 0xe5 // @4D9A memory[0x04 + memory[0x40:0x60]:0x04 + memory[0x40:0x60] + 0x20] = (0x20 + 0x04 + memory[0x40:0x60]) - (0x04 + memory[0x40:0x60]) // @4D9E memory[0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x04 + memory[0x40:0x60] + 0x20] = 0x26 // @4DA9 memory[0x20 + 0x20 + 0x04 + memory[0x40:0x60]:0x20 + 0x20 + 0x04 + memory[0x40:0x60] + 0x26] = code[0x5e68:0x5e8e] // @4DB7 revert(memory[memory[0x40:0x60]:memory[0x40:0x60] + (0x40 + 0x20 + 0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60]]); // } // Block terminates label_4DB8: // Incoming jump from 0x4D81, if !(memory[stack[-2]:stack[-2] + 0x20] < 0x14 + stack[-1]) // Inputs[4] // { // @4DBA stack[-3] // @4DBA stack[-2] // @4DBE memory[0x14 + stack[-2] + stack[-3]:0x14 + stack[-2] + stack[-3] + 0x20] // @4DC8 stack[-4] // } 4DB8 5B JUMPDEST 4DB9 50 POP 4DBA 01 ADD 4DBB 60 PUSH1 0x14 4DBD 01 ADD 4DBE 51 MLOAD 4DBF 60 PUSH1 0x01 4DC1 60 PUSH1 0x01 4DC3 60 PUSH1 0xa0 4DC5 1B SHL 4DC6 03 SUB 4DC7 16 AND 4DC8 90 SWAP1 4DC9 56 *JUMP // Stack delta = -3 // Outputs[1] { @4DC8 stack[-4] = (0x01 << 0xa0) - 0x01 & memory[0x14 + stack[-2] + stack[-3]:0x14 + stack[-2] + stack[-3] + 0x20] } // Block ends with unconditional jump to stack[-4] label_4DCA: // Incoming call from 0x19B6, returns to 0x19B7 // Inputs[2] // { // @4DCE storage[0x00] // @4DE1 stack[-1] // } 4DCA 5B JUMPDEST 4DCB 60 PUSH1 0x00 4DCD 80 DUP1 4DCE 54 SLOAD 4DCF 60 PUSH1 0x01 4DD1 60 PUSH1 0x01 4DD3 60 PUSH1 0xa0 4DD5 1B SHL 4DD6 03 SUB 4DD7 19 NOT 4DD8 16 AND 4DD9 60 PUSH1 0x01 4DDB 60 PUSH1 0x01 4DDD 60 PUSH1 0xa0 4DDF 1B SHL 4DE0 03 SUB 4DE1 83 DUP4 4DE2 16 AND 4DE3 17 OR 4DE4 90 SWAP1 4DE5 55 SSTORE 4DE6 61 PUSH2 0x12ce 4DE9 61 PUSH2 0x36de 4DEC 56 *JUMP // Stack delta = +1 // Outputs[2] // { // @4DE5 storage[0x00] = (stack[-1] & (0x01 << 0xa0) - 0x01) | (~((0x01 << 0xa0) - 0x01) & storage[0x00]) // @4DE6 stack[0] = 0x12ce // } // Block ends with call to 0x36de, returns to 0x12CE label_4DED: // Incoming call from 0x2D29, returns to 0x2D2A // Inputs[2] // { // @4DFC block.timestamp // @4E0A block.timestamp // } 4DED 5B JUMPDEST 4DEE 60 PUSH1 0x00 4DF0 80 DUP1 4DF1 62 PUSH3 0x0f4240 4DF5 62 PUSH3 0x0493e0 4DF9 82 DUP3 4DFA 82 DUP3 4DFB 80 DUP1 4DFC 42 TIMESTAMP 4DFD 04 DIV 4DFE 60 PUSH1 0x01 4E00 01 ADD 4E01 02 MUL 4E02 90 SWAP1 4E03 50 POP 4E04 60 PUSH1 0x00 4E06 81 DUP2 4E07 90 SWAP1 4E08 50 POP 4E09 82 DUP3 4E0A 42 TIMESTAMP 4E0B 83 DUP4 4E0C 03 SUB 4E0D 10 LT 4E0E 15 ISZERO 4E0F 61 PUSH2 0x4e17 4E12 57 *JUMPI // Stack delta = +6 // Outputs[6] // { // @4DEE stack[0] = 0x00 // @4DF0 stack[1] = 0x00 // @4DF1 stack[2] = 0x0f4240 // @4DF5 stack[3] = 0x0493e0 // @4E02 stack[4] = (0x01 + block.timestamp / 0x0f4240) * 0x0f4240 // @4E07 stack[5] = (0x01 + block.timestamp / 0x0f4240) * 0x0f4240 // } // Block ends with conditional jump to 0x4e17, if !((0x01 + block.timestamp / 0x0f4240) * 0x0f4240 - block.timestamp < 0x0493e0) label_4E13: // Incoming jump from 0x4E12, if not !((0x01 + block.timestamp / 0x0f4240) * 0x0f4240 - block.timestamp < 0x0493e0) // Inputs[13] // { // @4E14 stack[-2] // @4E15 stack[-4] // @4E1A storage[0x07] // @4E1E memory[0x40:0x60] // @4E3E stack[-7] // @4E49 memory[0x40:0x60] // @4E59 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4E5D memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @4E77 memory[0x40:0x60] // @4E89 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4E8C memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @4E8E stack[-8] // @4E8F stack[-6] // } 4E13 50 POP 4E14 80 DUP1 4E15 83 DUP4 4E16 01 ADD 4E17 5B JUMPDEST 4E18 60 PUSH1 0x07 4E1A 54 SLOAD 4E1B 60 PUSH1 0x40 4E1D 80 DUP1 4E1E 51 MLOAD 4E1F 60 PUSH1 0x20 4E21 80 DUP1 4E22 82 DUP3 4E23 01 ADD 4E24 84 DUP5 4E25 90 SWAP1 4E26 52 MSTORE 4E27 81 DUP2 4E28 83 DUP4 4E29 01 ADD 4E2A 95 SWAP6 4E2B 90 SWAP1 4E2C 95 SWAP6 4E2D 52 MSTORE 4E2E 6B PUSH12 0xffffffffffffffffffffffff 4E3B 19 NOT 4E3C 60 PUSH1 0x60 4E3E 9A SWAP11 4E3F 8B DUP12 4E40 1B SHL 4E41 16 AND 4E42 99 SWAP10 4E43 81 DUP2 4E44 01 ADD 4E45 8A DUP11 4E46 90 SWAP1 4E47 52 MSTORE 4E48 81 DUP2 4E49 51 MLOAD 4E4A 60 PUSH1 0x54 4E4C 81 DUP2 4E4D 83 DUP4 4E4E 03 SUB 4E4F 01 ADD 4E50 81 DUP2 4E51 52 MSTORE 4E52 60 PUSH1 0x74 4E54 82 DUP3 4E55 01 ADD 4E56 83 DUP4 4E57 52 MSTORE 4E58 80 DUP1 4E59 51 MLOAD 4E5A 90 SWAP1 4E5B 86 DUP7 4E5C 01 ADD 4E5D 20 SHA3 4E5E 60 PUSH1 0x94 4E60 82 DUP3 4E61 01 ADD 4E62 93 SWAP4 4E63 90 SWAP1 4E64 93 SWAP4 4E65 52 MSTORE 4E66 60 PUSH1 0xb4 4E68 81 DUP2 4E69 01 ADD 4E6A 93 SWAP4 4E6B 90 SWAP1 4E6C 93 SWAP4 4E6D 52 MSTORE 4E6E 60 PUSH1 0xd4 4E70 83 DUP4 4E71 01 ADD 4E72 98 SWAP9 4E73 90 SWAP1 4E74 98 SWAP9 4E75 52 MSTORE 4E76 87 DUP8 4E77 51 MLOAD 4E78 60 PUSH1 0xc8 4E7A 81 DUP2 4E7B 84 DUP5 4E7C 03 SUB 4E7D 01 ADD 4E7E 81 DUP2 4E7F 52 MSTORE 4E80 60 PUSH1 0xe8 4E82 90 SWAP1 4E83 92 SWAP3 4E84 01 ADD 4E85 90 SWAP1 4E86 97 SWAP8 4E87 52 MSTORE 4E88 80 DUP1 4E89 51 MLOAD 4E8A 91 SWAP2 4E8B 01 ADD 4E8C 20 SHA3 4E8D 94 SWAP5 4E8E 95 SWAP6 4E8F 93 SWAP4 4E90 50 POP 4E91 50 POP 4E92 50 POP 4E93 50 POP 4E94 56 *JUMP // Stack delta = -6 // Outputs[12] // { // @4E26 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = storage[0x07] // @4E2D memory[0x40 + memory[0x40:0x60]:0x40 + memory[0x40:0x60] + 0x20] = stack[-2] // @4E47 memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = (stack[-7] << 0x60) & ~0xffffffffffffffffffffffff // @4E51 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = memory[0x40:0x60] - memory[0x40:0x60] + 0x54 // @4E57 memory[0x40:0x60] = memory[0x40:0x60] + 0x74 // @4E65 memory[memory[0x40:0x60] + 0x94:memory[0x40:0x60] + 0x94 + 0x20] = storage[0x07] // @4E6D memory[memory[0x40:0x60] + 0xb4:memory[0x40:0x60] + 0xb4 + 0x20] = stack[-4] + stack[-2] // @4E75 memory[memory[0x40:0x60] + 0xd4:memory[0x40:0x60] + 0xd4 + 0x20] = (stack[-7] << 0x60) & ~0xffffffffffffffffffffffff // @4E7F memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = memory[0x40:0x60] - memory[0x40:0x60] + 0xc8 // @4E87 memory[0x40:0x60] = memory[0x40:0x60] + 0xe8 // @4E8D stack[-7] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @4E8E stack[-8] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // } // Block ends with unconditional jump to stack[-8] label_4E95: // Incoming call from 0x1CBF, returns to 0x1CC0 // Inputs[5] // { // @4E98 storage[0x02] // @4E9C memory[0x40:0x60] // @4EBF memory[0x40:0x60] // @4ED2 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4ED9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // } 4E95 5B JUMPDEST 4E96 60 PUSH1 0x02 4E98 54 SLOAD 4E99 60 PUSH1 0x40 4E9B 80 DUP1 4E9C 51 MLOAD 4E9D 80 DUP1 4E9E 82 DUP3 4E9F 01 ADD 4EA0 82 DUP3 4EA1 52 MSTORE 4EA2 60 PUSH1 0x0c 4EA4 81 DUP2 4EA5 52 MSTORE 4EA6 6B PUSH12 0x4f776e657246656174757265 4EB3 60 PUSH1 0xa0 4EB5 1B SHL 4EB6 60 PUSH1 0x20 4EB8 80 DUP1 4EB9 83 DUP4 4EBA 01 ADD 4EBB 91 SWAP2 4EBC 82 DUP3 4EBD 52 MSTORE 4EBE 92 SWAP3 4EBF 51 MLOAD 4EC0 63 PUSH4 0x0251382f 4EC5 60 PUSH1 0xe3 4EC7 1B SHL 4EC8 81 DUP2 4EC9 52 MSTORE 4ECA 60 PUSH1 0x04 4ECC 81 DUP2 4ECD 01 ADD 4ECE 93 SWAP4 4ECF 84 DUP5 4ED0 52 MSTORE 4ED1 82 DUP3 4ED2 51 MLOAD 4ED3 60 PUSH1 0x24 4ED5 82 DUP3 4ED6 01 ADD 4ED7 52 MSTORE 4ED8 82 DUP3 4ED9 51 MLOAD 4EDA 60 PUSH1 0x00 4EDC 95 SWAP6 4EDD 60 PUSH1 0x01 4EDF 60 PUSH1 0x01 4EE1 60 PUSH1 0xa0 4EE3 1B SHL 4EE4 03 SUB 4EE5 16 AND 4EE6 94 SWAP5 4EE7 63 PUSH4 0x1289c178 4EEC 94 SWAP5 4EED 93 SWAP4 4EEE 90 SWAP1 4EEF 92 SWAP3 4EF0 83 DUP4 4EF1 92 SWAP3 4EF2 60 PUSH1 0x44 4EF4 90 SWAP1 4EF5 91 SWAP2 4EF6 01 ADD 4EF7 91 SWAP2 4EF8 90 SWAP1 4EF9 80 DUP1 4EFA 83 DUP4 4EFB 83 DUP4 4EFC 8B DUP12 4EFD 5B JUMPDEST 4EFE 83 DUP4 4EFF 81 DUP2 4F00 10 LT 4F01 15 ISZERO 4F02 61 PUSH2 0x4f15 4F05 57 *JUMPI // Stack delta = +13 // Outputs[19] // { // @4EA1 memory[0x40:0x60] = 0x40 + memory[0x40:0x60] // @4EA5 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0c // @4EBD memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = 0x4f776e657246656174757265 << 0xa0 // @4EC9 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x0251382f << 0xe3 // @4ED0 memory[memory[0x40:0x60] + 0x04:memory[0x40:0x60] + 0x04 + 0x20] = 0x20 // @4ED7 memory[memory[0x40:0x60] + 0x24:memory[0x40:0x60] + 0x24 + 0x20] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4EDC stack[0] = 0x00 // @4EE6 stack[1] = (0x01 << 0xa0) - 0x01 & storage[0x02] // @4EEC stack[2] = 0x1289c178 // @4EED stack[3] = memory[0x40:0x60] // @4EEF stack[4] = memory[0x40:0x60] + 0x04 // @4EF1 stack[5] = memory[0x40:0x60] + 0x04 // @4EF7 stack[6] = memory[0x40:0x60] + 0x44 // @4EF8 stack[7] = memory[0x40:0x60] + 0x20 // @4EF8 stack[8] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4EF9 stack[9] = memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @4EFA stack[10] = memory[0x40:0x60] + 0x44 // @4EFB stack[11] = memory[0x40:0x60] + 0x20 // @4EFC stack[12] = 0x00 // } // Block ends with conditional jump to 0x4f15, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) label_4F06: // Incoming jump from 0x4F05, if not !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x4F05, if not !(stack[-1] < stack[-4]) // Inputs[4] // { // @4F06 stack[-2] // @4F07 stack[-1] // @4F09 memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @4F0A stack[-3] // } 4F06 81 DUP2 4F07 81 DUP2 4F08 01 ADD 4F09 51 MLOAD 4F0A 83 DUP4 4F0B 82 DUP3 4F0C 01 ADD 4F0D 52 MSTORE 4F0E 60 PUSH1 0x20 4F10 01 ADD 4F11 61 PUSH2 0x4efd 4F14 56 *JUMP // Stack delta = +0 // Outputs[2] // { // @4F0D memory[stack[-1] + stack[-3]:stack[-1] + stack[-3] + 0x20] = memory[stack[-1] + stack[-2]:stack[-1] + stack[-2] + 0x20] // @4F10 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x4efd label_4F15: // Incoming jump from 0x4F05, if !(0x00 < memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]) // Incoming jump from 0x4F05, if !(stack[-1] < stack[-4]) // Inputs[3] // { // @4F1A stack[-6] // @4F1A stack[-5] // @4F1C stack[-7] // } 4F15 5B JUMPDEST 4F16 50 POP 4F17 50 POP 4F18 50 POP 4F19 50 POP 4F1A 90 SWAP1 4F1B 50 POP 4F1C 90 SWAP1 4F1D 81 DUP2 4F1E 01 ADD 4F1F 90 SWAP1 4F20 60 PUSH1 0x1f 4F22 16 AND 4F23 80 DUP1 4F24 15 ISZERO 4F25 61 PUSH2 0x4f42 4F28 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @4F1F stack[-7] = stack[-5] + stack[-7] // @4F22 stack[-6] = 0x1f & stack[-5] // } // Block ends with conditional jump to 0x4f42, if !(0x1f & stack[-5]) label_4F29: // Incoming jump from 0x4F28, if not !(0x1f & stack[-5]) // Inputs[7] // { // @4F29 stack[-1] // @4F2A stack[-2] // @4F2D memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @4F44 stack[-5] // @4F4C memory[0x40:0x60] // @4F51 stack[-7] // @4F53 address(stack[-7]).code.length // } 4F29 80 DUP1 4F2A 82 DUP3 4F2B 03 SUB 4F2C 80 DUP1 4F2D 51 MLOAD 4F2E 60 PUSH1 0x01 4F30 83 DUP4 4F31 60 PUSH1 0x20 4F33 03 SUB 4F34 61 PUSH2 0x0100 4F37 0A EXP 4F38 03 SUB 4F39 19 NOT 4F3A 16 AND 4F3B 81 DUP2 4F3C 52 MSTORE 4F3D 60 PUSH1 0x20 4F3F 01 ADD 4F40 91 SWAP2 4F41 50 POP 4F42 5B JUMPDEST 4F43 50 POP 4F44 92 SWAP3 4F45 50 POP 4F46 50 POP 4F47 50 POP 4F48 60 PUSH1 0x20 4F4A 60 PUSH1 0x40 4F4C 51 MLOAD 4F4D 80 DUP1 4F4E 83 DUP4 4F4F 03 SUB 4F50 81 DUP2 4F51 86 DUP7 4F52 80 DUP1 4F53 3B EXTCODESIZE 4F54 15 ISZERO 4F55 80 DUP1 4F56 15 ISZERO 4F57 61 PUSH2 0x4f5f 4F5A 57 *JUMPI // Stack delta = +2 // Outputs[8] // { // @4F3C memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] = ~(0x0100 ** (0x20 - stack[-1]) - 0x01) & memory[stack[-2] - stack[-1]:stack[-2] - stack[-1] + 0x20] // @4F44 stack[-5] = 0x20 + (stack[-2] - stack[-1]) // @4F48 stack[-4] = 0x20 // @4F4C stack[-3] = memory[0x40:0x60] // @4F4F stack[-2] = (0x20 + (stack[-2] - stack[-1])) - memory[0x40:0x60] // @4F50 stack[-1] = memory[0x40:0x60] // @4F51 stack[0] = stack[-7] // @4F54 stack[1] = !address(stack[-7]).code.length // } // Block ends with conditional jump to 0x4f5f, if !!address(stack[-7]).code.length label_4F5B: // Incoming jump from 0x4F5A, if not !!address(stack[-7]).code.length // Incoming jump from 0x4F5A, if not !!address(stack[-7]).code.length // Inputs[1] { @4F5E memory[0x00:0x00] } 4F5B 60 PUSH1 0x00 4F5D 80 DUP1 4F5E FD *REVERT // Stack delta = +0 // Outputs[1] { @4F5E revert(memory[0x00:0x00]); } // Block terminates label_4F5F: // Incoming jump from 0x4F5A, if !!address(stack[-7]).code.length // Incoming jump from 0x4F5A, if !!address(stack[-7]).code.length // Inputs[8] // { // @4F61 msg.gas // @4F62 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @4F62 stack[-5] // @4F62 memory[stack[-3]:stack[-3] + stack[-4]] // @4F62 stack[-3] // @4F62 stack[-6] // @4F62 stack[-4] // @4F62 stack[-2] // } 4F5F 5B JUMPDEST 4F60 50 POP 4F61 5A GAS 4F62 FA STATICCALL 4F63 15 ISZERO 4F64 80 DUP1 4F65 15 ISZERO 4F66 61 PUSH2 0x4f73 4F69 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @4F62 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @4F63 stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x4f73, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_4F6A: // Incoming jump from 0x4F69, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @4F6A returndata.length // @4F6E returndata[0x00:0x00 + returndata.length] // @4F6F returndata.length // @4F72 memory[0x00:0x00 + returndata.length] // } 4F6A 3D RETURNDATASIZE 4F6B 60 PUSH1 0x00 4F6D 80 DUP1 4F6E 3E RETURNDATACOPY 4F6F 3D RETURNDATASIZE 4F70 60 PUSH1 0x00 4F72 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @4F6E memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @4F72 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_4F73: // Incoming jump from 0x4F69, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @4F7A memory[0x40:0x60] // @4F7B returndata.length // } 4F73 5B JUMPDEST 4F74 50 POP 4F75 50 POP 4F76 50 POP 4F77 50 POP 4F78 60 PUSH1 0x40 4F7A 51 MLOAD 4F7B 3D RETURNDATASIZE 4F7C 60 PUSH1 0x20 4F7E 81 DUP2 4F7F 10 LT 4F80 15 ISZERO 4F81 61 PUSH2 0x4f89 4F84 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @4F7A stack[-4] = memory[0x40:0x60] // @4F7B stack[-3] = returndata.length // } // Block ends with conditional jump to 0x4f89, if !(returndata.length < 0x20) label_4F85: // Incoming jump from 0x4F84, if not !(returndata.length < 0x20) // Inputs[1] { @4F88 memory[0x00:0x00] } 4F85 60 PUSH1 0x00 4F87 80 DUP1 4F88 FD *REVERT // Stack delta = +0 // Outputs[1] { @4F88 revert(memory[0x00:0x00]); } // Block terminates label_4F89: // Incoming jump from 0x4F84, if !(returndata.length < 0x20) // Inputs[5] // { // @4F8B memory[stack[-2]:stack[-2] + 0x20] // @4F8B stack[-2] // @4F8F memory[0x40:0x60] // @4F9B memory[0x40:0x60] // @4FC1 address(memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01).code.length // } 4F89 5B JUMPDEST 4F8A 50 POP 4F8B 51 MLOAD 4F8C 60 PUSH1 0x40 4F8E 80 DUP1 4F8F 51 MLOAD 4F90 63 PUSH4 0x158425f5 4F95 60 PUSH1 0xe0 4F97 1B SHL 4F98 81 DUP2 4F99 52 MSTORE 4F9A 90 SWAP1 4F9B 51 MLOAD 4F9C 60 PUSH1 0x01 4F9E 60 PUSH1 0x01 4FA0 60 PUSH1 0xa0 4FA2 1B SHL 4FA3 03 SUB 4FA4 90 SWAP1 4FA5 92 SWAP3 4FA6 16 AND 4FA7 91 SWAP2 4FA8 63 PUSH4 0x158425f5 4FAD 91 SWAP2 4FAE 60 PUSH1 0x04 4FB0 80 DUP1 4FB1 82 DUP3 4FB2 01 ADD 4FB3 92 SWAP3 4FB4 60 PUSH1 0x20 4FB6 92 SWAP3 4FB7 90 SWAP1 4FB8 91 SWAP2 4FB9 90 SWAP1 4FBA 82 DUP3 4FBB 90 SWAP1 4FBC 03 SUB 4FBD 01 ADD 4FBE 81 DUP2 4FBF 86 DUP7 4FC0 80 DUP1 4FC1 3B EXTCODESIZE 4FC2 15 ISZERO 4FC3 80 DUP1 4FC4 15 ISZERO 4FC5 61 PUSH2 0x373d 4FC8 57 *JUMPI // Stack delta = +7 // Outputs[10] // { // @4F99 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x158425f5 << 0xe0 // @4FA7 stack[-2] = memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @4FAD stack[-1] = 0x158425f5 // @4FB3 stack[0] = memory[0x40:0x60] + 0x04 // @4FB6 stack[1] = 0x20 // @4FB8 stack[2] = memory[0x40:0x60] // @4FBD stack[3] = memory[0x40:0x60] - memory[0x40:0x60] + 0x04 // @4FBE stack[4] = memory[0x40:0x60] // @4FBF stack[5] = memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01 // @4FC2 stack[6] = !address(memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01).code.length // } // Block ends with conditional jump to 0x373d, if !!address(memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01).code.length label_4FC9: // Incoming jump from 0x4FC8, if not !!address(memory[stack[-2]:stack[-2] + 0x20] & (0x01 << 0xa0) - 0x01).code.length // Inputs[1] { @4FCC memory[0x00:0x00] } 4FC9 60 PUSH1 0x00 4FCB 80 DUP1 4FCC FD *REVERT // Stack delta = +0 // Outputs[1] { @4FCC revert(memory[0x00:0x00]); } // Block terminates 4FCD 5B JUMPDEST 4FCE 60 PUSH1 0x00 4FD0 61 PUSH2 0x50a9 4FD3 60 PUSH1 0x40 4FD5 51 MLOAD 4FD6 80 DUP1 4FD7 60 PUSH1 0x40 4FD9 01 ADD 4FDA 60 PUSH1 0x40 4FDC 52 MSTORE 4FDD 80 DUP1 4FDE 60 PUSH1 0x0d 4FE0 81 DUP2 4FE1 52 MSTORE 4FE2 60 PUSH1 0x20 4FE4 01 ADD 4FE5 6C PUSH13 0x4d656d62657246656174757265 4FF3 60 PUSH1 0x98 4FF5 1B SHL 4FF6 81 DUP2 4FF7 52 MSTORE 4FF8 50 POP 4FF9 60 PUSH1 0x40 4FFB 51 MLOAD 4FFC 60 PUSH1 0x20 4FFE 01 ADD 4FFF 80 DUP1 5000 82 DUP3 5001 80 DUP1 5002 51 MLOAD 5003 90 SWAP1 5004 60 PUSH1 0x20 5006 01 ADD 5007 90 SWAP1 5008 80 DUP1 5009 83 DUP4 500A 83 DUP4 500B 5B JUMPDEST 500C 60 PUSH1 0x20 500E 83 DUP4 500F 10 LT 5010 61 PUSH2 0x502a 5013 57 *JUMPI 5014 80 DUP1 5015 51 MLOAD 5016 82 DUP3 5017 52 MSTORE 5018 60 PUSH1 0x1f 501A 19 NOT 501B 90 SWAP1 501C 92 SWAP3 501D 01 ADD 501E 91 SWAP2 501F 60 PUSH1 0x20 5021 91 SWAP2 5022 82 DUP3 5023 01 ADD 5024 91 SWAP2 5025 01 ADD 5026 61 PUSH2 0x500b 5029 56 *JUMP 502A 5B JUMPDEST 502B 60 PUSH1 0x01 502D 83 DUP4 502E 60 PUSH1 0x20 5030 03 SUB 5031 61 PUSH2 0x0100 5034 0A EXP 5035 03 SUB 5036 80 DUP1 5037 19 NOT 5038 82 DUP3 5039 51 MLOAD 503A 16 AND 503B 81 DUP2 503C 84 DUP5 503D 51 MLOAD 503E 16 AND 503F 80 DUP1 5040 82 DUP3 5041 17 OR 5042 85 DUP6 5043 52 MSTORE 5044 50 POP 5045 50 POP 5046 50 POP 5047 50 POP 5048 50 POP 5049 50 POP 504A 90 SWAP1 504B 50 POP 504C 01 ADD 504D 91 SWAP2 504E 50 POP 504F 50 POP 5050 60 PUSH1 0x40 5052 51 MLOAD 5053 60 PUSH1 0x20 5055 81 DUP2 5056 83 DUP4 5057 03 SUB 5058 03 SUB 5059 81 DUP2 505A 52 MSTORE 505B 90 SWAP1 505C 60 PUSH1 0x40 505E 52 MSTORE 505F 80 DUP1 5060 51 MLOAD 5061 90 SWAP1 5062 60 PUSH1 0x20 5064 01 ADD 5065 20 SHA3 5066 60 PUSH1 0x40 5068 51 MLOAD 5069 60 PUSH1 0x20 506B 01 ADD 506C 80 DUP1 506D 82 DUP3 506E 81 DUP2 506F 52 MSTORE 5070 60 PUSH1 0x20 5072 01 ADD 5073 80 DUP1 5074 65 PUSH6 0x26b2b6b132b9 507B 60 PUSH1 0xd1 507D 1B SHL 507E 81 DUP2 507F 52 MSTORE 5080 50 POP 5081 60 PUSH1 0x06 5083 01 ADD 5084 91 SWAP2 5085 50 POP 5086 50 POP 5087 60 PUSH1 0x40 5089 51 MLOAD 508A 60 PUSH1 0x20 508C 81 DUP2 508D 83 DUP4 508E 03 SUB 508F 03 SUB 5090 81 DUP2 5091 52 MSTORE 5092 90 SWAP1 5093 60 PUSH1 0x40 5095 52 MSTORE 5096 80 DUP1 5097 51 MLOAD 5098 90 SWAP1 5099 60 PUSH1 0x20 509B 01 ADD 509C 20 SHA3 509D 61 PUSH2 0x50a4 50A0 61 PUSH2 0x1c6e 50A3 56 *JUMP 50A4 5B JUMPDEST 50A5 61 PUSH2 0x4b71 50A8 56 *JUMP 50A9 5B JUMPDEST 50AA 90 SWAP1 50AB 50 POP 50AC 61 PUSH2 0x50d9 50AF 81 DUP2 50B0 60 PUSH1 0x40 50B2 51 MLOAD 50B3 80 DUP1 50B4 60 PUSH1 0x40 50B6 01 ADD 50B7 60 PUSH1 0x40 50B9 52 MSTORE 50BA 80 DUP1 50BB 60 PUSH1 0x0b 50BD 81 DUP2 50BE 52 MSTORE 50BF 60 PUSH1 0x20 50C1 01 ADD 50C2 6A PUSH11 0x706963747572654e616d65 50CE 60 PUSH1 0xa8 50D0 1B SHL 50D1 81 DUP2 50D2 52 MSTORE 50D3 50 POP 50D4 85 DUP6 50D5 61 PUSH2 0x56ac 50D8 56 *JUMP 50D9 5B JUMPDEST 50DA 61 PUSH2 0x5107 50DD 81 DUP2 50DE 60 PUSH1 0x40 50E0 51 MLOAD 50E1 80 DUP1 50E2 60 PUSH1 0x40 50E4 01 ADD 50E5 60 PUSH1 0x40 50E7 52 MSTORE 50E8 80 DUP1 50E9 60 PUSH1 0x0b 50EB 81 DUP2 50EC 52 MSTORE 50ED 60 PUSH1 0x20 50EF 01 ADD 50F0 6A PUSH11 0x7069637475726544617461 50FC 60 PUSH1 0xa8 50FE 1B SHL 50FF 81 DUP2 5100 52 MSTORE 5101 50 POP 5102 84 DUP5 5103 61 PUSH2 0x56ac 5106 56 *JUMP 5107 5B JUMPDEST 5108 50 POP 5109 50 POP 510A 50 POP 510B 56 *JUMP 510C 5B JUMPDEST 510D 60 PUSH1 0x00 510F 60 PUSH1 0x60 5111 80 DUP1 5112 60 PUSH1 0x09 5114 84 DUP5 5115 81 DUP2 5116 54 SLOAD 5117 81 DUP2 5118 10 LT 5119 61 PUSH2 0x511e 511C 57 *JUMPI 511D FE *ASSERT 511E 5B JUMPDEST 511F 60 PUSH1 0x00 5121 91 SWAP2 5122 82 DUP3 5123 52 MSTORE 5124 60 PUSH1 0x20 5126 80 DUP1 5127 83 DUP4 5128 20 SHA3 5129 90 SWAP1 512A 91 SWAP2 512B 01 ADD 512C 54 SLOAD 512D 60 PUSH1 0x01 512F 60 PUSH1 0x01 5131 60 PUSH1 0xa0 5133 1B SHL 5134 03 SUB 5135 16 AND 5136 80 DUP1 5137 83 DUP4 5138 52 MSTORE 5139 60 PUSH1 0x08 513B 82 DUP3 513C 52 MSTORE 513D 60 PUSH1 0x40 513F 92 SWAP3 5140 83 DUP4 5141 90 SWAP1 5142 20 SHA3 5143 80 DUP1 5144 54 SLOAD 5145 84 DUP5 5146 51 MLOAD 5147 60 PUSH1 0x1f 5149 60 PUSH1 0x02 514B 60 PUSH1 0x00 514D 19 NOT 514E 60 PUSH1 0x01 5150 85 DUP6 5151 16 AND 5152 15 ISZERO 5153 61 PUSH2 0x0100 5156 02 MUL 5157 01 ADD 5158 90 SWAP1 5159 93 SWAP4 515A 16 AND 515B 92 SWAP3 515C 90 SWAP1 515D 92 SWAP3 515E 04 DIV 515F 91 SWAP2 5160 82 DUP3 5161 01 ADD 5162 85 DUP6 5163 90 SWAP1 5164 04 DIV 5165 85 DUP6 5166 02 MUL 5167 81 DUP2 5168 01 ADD 5169 85 DUP6 516A 01 ADD 516B 90 SWAP1 516C 95 SWAP6 516D 52 MSTORE 516E 80 DUP1 516F 85 DUP6 5170 52 MSTORE 5171 91 SWAP2 5172 96 SWAP7 5173 50 POP 5174 91 SWAP2 5175 83 DUP4 5176 01 ADD 5177 82 DUP3 5178 82 DUP3 5179 80 DUP1 517A 15 ISZERO 517B 61 PUSH2 0x51c5 517E 57 *JUMPI 517F 80 DUP1 5180 60 PUSH1 0x1f 5182 10 LT 5183 61 PUSH2 0x519a 5186 57 *JUMPI 5187 61 PUSH2 0x0100 518A 80 DUP1 518B 83 DUP4 518C 54 SLOAD 518D 04 DIV 518E 02 MUL 518F 83 DUP4 5190 52 MSTORE 5191 91 SWAP2 5192 60 PUSH1 0x20 5194 01 ADD 5195 91 SWAP2 5196 61 PUSH2 0x51c5 5199 56 *JUMP 519A 5B JUMPDEST 519B 82 DUP3 519C 01 ADD 519D 91 SWAP2 519E 90 SWAP1 519F 60 PUSH1 0x00 51A1 52 MSTORE 51A2 60 PUSH1 0x20 51A4 60 PUSH1 0x00 51A6 20 SHA3 51A7 90 SWAP1 51A8 5B JUMPDEST 51A9 81 DUP2 51AA 54 SLOAD 51AB 81 DUP2 51AC 52 MSTORE 51AD 90 SWAP1 51AE 60 PUSH1 0x01 51B0 01 ADD 51B1 90 SWAP1 51B2 60 PUSH1 0x20 51B4 01 ADD 51B5 80 DUP1 51B6 83 DUP4 51B7 11 GT 51B8 61 PUSH2 0x51a8 51BB 57 *JUMPI 51BC 82 DUP3 51BD 90 SWAP1 51BE 03 SUB 51BF 60 PUSH1 0x1f 51C1 16 AND 51C2 82 DUP3 51C3 01 ADD 51C4 91 SWAP2 51C5 5B JUMPDEST 51C6 50 POP 51C7 50 POP 51C8 50 POP 51C9 50 POP 51CA 50 POP 51CB 91 SWAP2 51CC 50 POP 51CD 60 PUSH1 0x08 51CF 60 PUSH1 0x00 51D1 84 DUP5 51D2 60 PUSH1 0x01 51D4 60 PUSH1 0x01 51D6 60 PUSH1 0xa0 51D8 1B SHL 51D9 03 SUB 51DA 16 AND 51DB 60 PUSH1 0x01 51DD 60 PUSH1 0x01 51DF 60 PUSH1 0xa0 51E1 1B SHL 51E2 03 SUB 51E3 16 AND 51E4 81 DUP2 51E5 52 MSTORE 51E6 60 PUSH1 0x20 51E8 01 ADD 51E9 90 SWAP1 51EA 81 DUP2 51EB 52 MSTORE 51EC 60 PUSH1 0x20 51EE 01 ADD 51EF 60 PUSH1 0x00 51F1 20 SHA3 51F2 60 PUSH1 0x01 51F4 01 ADD 51F5 80 DUP1 51F6 54 SLOAD 51F7 60 PUSH1 0x01 51F9 81 DUP2 51FA 60 PUSH1 0x01 51FC 16 AND 51FD 15 ISZERO 51FE 61 PUSH2 0x0100 5201 02 MUL 5202 03 SUB 5203 16 AND 5204 60 PUSH1 0x02 5206 90 SWAP1 5207 04 DIV 5208 80 DUP1 5209 60 PUSH1 0x1f 520B 01 ADD 520C 60 PUSH1 0x20 520E 80 DUP1 520F 91 SWAP2 5210 04 DIV 5211 02 MUL 5212 60 PUSH1 0x20 5214 01 ADD 5215 60 PUSH1 0x40 5217 51 MLOAD 5218 90 SWAP1 5219 81 DUP2 521A 01 ADD 521B 60 PUSH1 0x40 521D 52 MSTORE 521E 80 DUP1 521F 92 SWAP3 5220 91 SWAP2 5221 90 SWAP1 5222 81 DUP2 5223 81 DUP2 5224 52 MSTORE 5225 60 PUSH1 0x20 5227 01 ADD 5228 82 DUP3 5229 80 DUP1 522A 54 SLOAD 522B 60 PUSH1 0x01 522D 81 DUP2 522E 60 PUSH1 0x01 5230 16 AND 5231 15 ISZERO 5232 61 PUSH2 0x0100 5235 02 MUL 5236 03 SUB 5237 16 AND 5238 60 PUSH1 0x02 523A 90 SWAP1 523B 04 DIV 523C 80 DUP1 523D 15 ISZERO 523E 61 PUSH2 0x5288 5241 57 *JUMPI 5242 80 DUP1 5243 60 PUSH1 0x1f 5245 10 LT 5246 61 PUSH2 0x525d 5249 57 *JUMPI 524A 61 PUSH2 0x0100 524D 80 DUP1 524E 83 DUP4 524F 54 SLOAD 5250 04 DIV 5251 02 MUL 5252 83 DUP4 5253 52 MSTORE 5254 91 SWAP2 5255 60 PUSH1 0x20 5257 01 ADD 5258 91 SWAP2 5259 61 PUSH2 0x5288 525C 56 *JUMP 525D 5B JUMPDEST 525E 82 DUP3 525F 01 ADD 5260 91 SWAP2 5261 90 SWAP1 5262 60 PUSH1 0x00 5264 52 MSTORE 5265 60 PUSH1 0x20 5267 60 PUSH1 0x00 5269 20 SHA3 526A 90 SWAP1 526B 5B JUMPDEST 526C 81 DUP2 526D 54 SLOAD 526E 81 DUP2 526F 52 MSTORE 5270 90 SWAP1 5271 60 PUSH1 0x01 5273 01 ADD 5274 90 SWAP1 5275 60 PUSH1 0x20 5277 01 ADD 5278 80 DUP1 5279 83 DUP4 527A 11 GT 527B 61 PUSH2 0x526b 527E 57 *JUMPI 527F 82 DUP3 5280 90 SWAP1 5281 03 SUB 5282 60 PUSH1 0x1f 5284 16 AND 5285 82 DUP3 5286 01 ADD 5287 91 SWAP2 5288 5B JUMPDEST 5289 50 POP 528A 50 POP 528B 50 POP 528C 50 POP 528D 50 POP 528E 90 SWAP1 528F 50 POP 5290 91 SWAP2 5291 93 SWAP4 5292 90 SWAP1 5293 92 SWAP3 5294 50 POP 5295 56 *JUMP label_5296: // Incoming jump from 0x26A4 // Inputs[5] // { // @529E storage[0x05] // @52BD stack[-2] // @52BE stack[-1] // @52C1 memory[0x40:0x60] // @52CE memory[stack[-1]:stack[-1] + 0x20] // } 5296 5B JUMPDEST 5297 60 PUSH1 0x00 5299 60 PUSH1 0x05 529B 60 PUSH1 0x00 529D 90 SWAP1 529E 54 SLOAD 529F 90 SWAP1 52A0 61 PUSH2 0x0100 52A3 0A EXP 52A4 90 SWAP1 52A5 04 DIV 52A6 60 PUSH1 0x01 52A8 60 PUSH1 0x01 52AA 60 PUSH1 0xa0 52AC 1B SHL 52AD 03 SUB 52AE 16 AND 52AF 60 PUSH1 0x01 52B1 60 PUSH1 0x01 52B3 60 PUSH1 0xa0 52B5 1B SHL 52B6 03 SUB 52B7 16 AND 52B8 63 PUSH4 0xbd02d0f5 52BD 84 DUP5 52BE 84 DUP5 52BF 60 PUSH1 0x40 52C1 51 MLOAD 52C2 60 PUSH1 0x20 52C4 01 ADD 52C5 80 DUP1 52C6 83 DUP4 52C7 81 DUP2 52C8 52 MSTORE 52C9 60 PUSH1 0x20 52CB 01 ADD 52CC 82 DUP3 52CD 80 DUP1 52CE 51 MLOAD 52CF 90 SWAP1 52D0 60 PUSH1 0x20 52D2 01 ADD 52D3 90 SWAP1 52D4 80 DUP1 52D5 83 DUP4 52D6 83 DUP4 52D7 5B JUMPDEST 52D8 60 PUSH1 0x20 52DA 83 DUP4 52DB 10 LT 52DC 61 PUSH2 0x52f6 52DF 57 *JUMPI // Stack delta = +12 // Outputs[13] // { // @5297 stack[0] = 0x00 // @52B7 stack[1] = (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01 & storage[0x05] / 0x0100 ** 0x00 // @52B8 stack[2] = 0xbd02d0f5 // @52BD stack[3] = stack[-2] // @52BE stack[4] = stack[-1] // @52C4 stack[5] = 0x20 + memory[0x40:0x60] // @52C8 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = stack[-2] // @52CB stack[6] = 0x20 + 0x20 + memory[0x40:0x60] // @52D3 stack[7] = 0x20 + stack[-1] // @52D3 stack[8] = memory[stack[-1]:stack[-1] + 0x20] // @52D4 stack[9] = memory[stack[-1]:stack[-1] + 0x20] // @52D5 stack[10] = 0x20 + 0x20 + memory[0x40:0x60] // @52D6 stack[11] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x52f6, if memory[stack[-1]:stack[-1] + 0x20] < 0x20 label_52E0: // Incoming jump from 0x52DF, if not memory[stack[-1]:stack[-1] + 0x20] < 0x20 // Incoming jump from 0x52DF, if not stack[-3] < 0x20 // Inputs[4] // { // @52E0 stack[-1] // @52E1 memory[stack[-1]:stack[-1] + 0x20] // @52E2 stack[-2] // @52E8 stack[-3] // } 52E0 80 DUP1 52E1 51 MLOAD 52E2 82 DUP3 52E3 52 MSTORE 52E4 60 PUSH1 0x1f 52E6 19 NOT 52E7 90 SWAP1 52E8 92 SWAP3 52E9 01 ADD 52EA 91 SWAP2 52EB 60 PUSH1 0x20 52ED 91 SWAP2 52EE 82 DUP3 52EF 01 ADD 52F0 91 SWAP2 52F1 01 ADD 52F2 61 PUSH2 0x52d7 52F5 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @52E3 memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @52EA stack[-3] = stack[-3] + ~0x1f // @52F0 stack[-2] = 0x20 + stack[-2] // @52F1 stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x52d7 label_52F6: // Incoming jump from 0x540D, if memory[stack[-1]:stack[-1] + 0x20] < 0x20 // Incoming jump from 0x52DF, if memory[stack[-1]:stack[-1] + 0x20] < 0x20 // Incoming jump from 0x52DF, if stack[-3] < 0x20 // Inputs[17] // { // @52F9 stack[-3] // @5304 stack[-1] // @5305 memory[stack[-1]:stack[-1] + 0x20] // @5308 stack[-2] // @5309 memory[stack[-2]:stack[-2] + 0x20] // @5316 stack[-4] // @5316 stack[-5] // @5318 stack[-6] // @5319 stack[-9] // @531F memory[0x40:0x60] // @532D memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @5332 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @5335 memory[0x40:0x60] // @5336 stack[-10] // @5353 memory[0x40:0x60] // @5358 stack[-11] // @535A address(stack[-11]).code.length // } 52F6 5B JUMPDEST 52F7 60 PUSH1 0x01 52F9 83 DUP4 52FA 60 PUSH1 0x20 52FC 03 SUB 52FD 61 PUSH2 0x0100 5300 0A EXP 5301 03 SUB 5302 80 DUP1 5303 19 NOT 5304 82 DUP3 5305 51 MLOAD 5306 16 AND 5307 81 DUP2 5308 84 DUP5 5309 51 MLOAD 530A 16 AND 530B 80 DUP1 530C 82 DUP3 530D 17 OR 530E 85 DUP6 530F 52 MSTORE 5310 50 POP 5311 50 POP 5312 50 POP 5313 50 POP 5314 50 POP 5315 50 POP 5316 90 SWAP1 5317 50 POP 5318 01 ADD 5319 92 SWAP3 531A 50 POP 531B 50 POP 531C 50 POP 531D 60 PUSH1 0x40 531F 51 MLOAD 5320 60 PUSH1 0x20 5322 81 DUP2 5323 83 DUP4 5324 03 SUB 5325 03 SUB 5326 81 DUP2 5327 52 MSTORE 5328 90 SWAP1 5329 60 PUSH1 0x40 532B 52 MSTORE 532C 80 DUP1 532D 51 MLOAD 532E 90 SWAP1 532F 60 PUSH1 0x20 5331 01 ADD 5332 20 SHA3 5333 60 PUSH1 0x40 5335 51 MLOAD 5336 82 DUP3 5337 63 PUSH4 0xffffffff 533C 16 AND 533D 60 PUSH1 0xe0 533F 1B SHL 5340 81 DUP2 5341 52 MSTORE 5342 60 PUSH1 0x04 5344 01 ADD 5345 80 DUP1 5346 82 DUP3 5347 81 DUP2 5348 52 MSTORE 5349 60 PUSH1 0x20 534B 01 ADD 534C 91 SWAP2 534D 50 POP 534E 50 POP 534F 60 PUSH1 0x20 5351 60 PUSH1 0x40 5353 51 MLOAD 5354 80 DUP1 5355 83 DUP4 5356 03 SUB 5357 81 DUP2 5358 86 DUP7 5359 80 DUP1 535A 3B EXTCODESIZE 535B 15 ISZERO 535C 80 DUP1 535D 15 ISZERO 535E 61 PUSH2 0x5366 5361 57 *JUMPI // Stack delta = -2 // Outputs[12] // { // @530F memory[stack[-2]:stack[-2] + 0x20] = (memory[stack[-1]:stack[-1] + 0x20] & ~(0x0100 ** (0x20 - stack[-3]) - 0x01)) | (memory[stack[-2]:stack[-2] + 0x20] & 0x0100 ** (0x20 - stack[-3]) - 0x01) // @5327 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (stack[-4] + stack[-6]) - memory[0x40:0x60] - 0x20 // @532B memory[0x40:0x60] = stack[-4] + stack[-6] // @5341 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = (0xffffffff & stack[-10]) << 0xe0 // @5348 memory[0x04 + memory[0x40:0x60]:0x04 + memory[0x40:0x60] + 0x20] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // @534C stack[-9] = 0x20 + 0x04 + memory[0x40:0x60] // @534F stack[-8] = 0x20 // @5353 stack[-7] = memory[0x40:0x60] // @5356 stack[-6] = (0x20 + 0x04 + memory[0x40:0x60]) - memory[0x40:0x60] // @5357 stack[-5] = memory[0x40:0x60] // @5358 stack[-4] = stack[-11] // @535B stack[-3] = !address(stack[-11]).code.length // } // Block ends with conditional jump to 0x5366, if !!address(stack[-11]).code.length label_5362: // Incoming jump from 0x5361, if not !!address(stack[-11]).code.length // Inputs[1] { @5365 memory[0x00:0x00] } 5362 60 PUSH1 0x00 5364 80 DUP1 5365 FD *REVERT // Stack delta = +0 // Outputs[1] { @5365 revert(memory[0x00:0x00]); } // Block terminates label_5366: // Incoming jump from 0x5361, if !!address(stack[-11]).code.length // Inputs[8] // { // @5368 msg.gas // @5369 stack[-3] // @5369 stack[-2] // @5369 memory[stack[-3]:stack[-3] + stack[-4]] // @5369 stack[-5] // @5369 address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @5369 stack[-6] // @5369 stack[-4] // } 5366 5B JUMPDEST 5367 50 POP 5368 5A GAS 5369 FA STATICCALL 536A 15 ISZERO 536B 80 DUP1 536C 15 ISZERO 536D 61 PUSH2 0x537a 5370 57 *JUMPI // Stack delta = -5 // Outputs[2] // { // @5369 memory[stack[-5]:stack[-5] + stack[-6]] = address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // @536A stack[-6] = !address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // } // Block ends with conditional jump to 0x537a, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) label_5371: // Incoming jump from 0x5370, if not !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[4] // { // @5371 returndata.length // @5375 returndata[0x00:0x00 + returndata.length] // @5376 returndata.length // @5379 memory[0x00:0x00 + returndata.length] // } 5371 3D RETURNDATASIZE 5372 60 PUSH1 0x00 5374 80 DUP1 5375 3E RETURNDATACOPY 5376 3D RETURNDATASIZE 5377 60 PUSH1 0x00 5379 FD *REVERT // Stack delta = +0 // Outputs[2] // { // @5375 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @5379 revert(memory[0x00:0x00 + returndata.length]); // } // Block terminates label_537A: // Incoming jump from 0x5370, if !!address(stack[-2]).staticcall.gas(msg.gas)(memory[stack[-3]:stack[-3] + stack[-4]]) // Inputs[2] // { // @5381 memory[0x40:0x60] // @5382 returndata.length // } 537A 5B JUMPDEST 537B 50 POP 537C 50 POP 537D 50 POP 537E 50 POP 537F 60 PUSH1 0x40 5381 51 MLOAD 5382 3D RETURNDATASIZE 5383 60 PUSH1 0x20 5385 81 DUP2 5386 10 LT 5387 15 ISZERO 5388 61 PUSH2 0x5390 538B 57 *JUMPI // Stack delta = -2 // Outputs[2] // { // @5381 stack[-4] = memory[0x40:0x60] // @5382 stack[-3] = returndata.length // } // Block ends with conditional jump to 0x5390, if !(returndata.length < 0x20) label_538C: // Incoming jump from 0x538B, if not !(returndata.length < 0x20) // Inputs[1] { @538F memory[0x00:0x00] } 538C 60 PUSH1 0x00 538E 80 DUP1 538F FD *REVERT // Stack delta = +0 // Outputs[1] { @538F revert(memory[0x00:0x00]); } // Block terminates label_5390: // Incoming jump from 0x538B, if !(returndata.length < 0x20) // Inputs[4] // { // @5392 memory[stack[-2]:stack[-2] + 0x20] // @5392 stack[-2] // @5393 stack[-6] // @5394 stack[-5] // } 5390 5B JUMPDEST 5391 50 POP 5392 51 MLOAD 5393 93 SWAP4 5394 92 SWAP3 5395 50 POP 5396 50 POP 5397 50 POP 5398 56 *JUMP // Stack delta = -5 // Outputs[1] { @5393 stack[-6] = memory[stack[-2]:stack[-2] + 0x20] } // Block ends with unconditional jump to stack[-6] label_5399: // Incoming jump from 0x2CBC // Inputs[7] // { // @539D memory[0x40:0x60] // @53A3 stack[-2] // @53AA stack[-1] // @53AF memory[0x40:0x60] // @53BF memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @53C2 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @53C3 stack[-3] // } 5399 5B JUMPDEST 539A 60 PUSH1 0x40 539C 80 DUP1 539D 51 MLOAD 539E 60 PUSH1 0x20 53A0 80 DUP1 53A1 82 DUP3 53A2 01 ADD 53A3 94 SWAP5 53A4 90 SWAP1 53A5 94 SWAP5 53A6 52 MSTORE 53A7 80 DUP1 53A8 82 DUP3 53A9 01 ADD 53AA 92 SWAP3 53AB 90 SWAP1 53AC 92 SWAP3 53AD 52 MSTORE 53AE 80 DUP1 53AF 51 MLOAD 53B0 80 DUP1 53B1 83 DUP4 53B2 03 SUB 53B3 82 DUP3 53B4 01 ADD 53B5 81 DUP2 53B6 52 MSTORE 53B7 60 PUSH1 0x60 53B9 90 SWAP1 53BA 92 SWAP3 53BB 01 ADD 53BC 90 SWAP1 53BD 52 MSTORE 53BE 80 DUP1 53BF 51 MLOAD 53C0 91 SWAP2 53C1 01 ADD 53C2 20 SHA3 53C3 90 SWAP1 53C4 56 *JUMP // Stack delta = -2 // Outputs[5] // { // @53A6 memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = stack[-2] // @53AD memory[0x40 + memory[0x40:0x60]:0x40 + memory[0x40:0x60] + 0x20] = stack[-1] // @53B6 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = 0x40 + (memory[0x40:0x60] - memory[0x40:0x60]) // @53BD memory[0x40:0x60] = memory[0x40:0x60] + 0x60 // @53C3 stack[-3] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // } // Block ends with unconditional jump to stack[-3] label_53C5: // Incoming call from 0x2DF1, returns to 0x2DF2 // Inputs[5] // { // @53CD storage[0x05] // @53EC stack[-2] // @53ED stack[-1] // @53F0 memory[0x40:0x60] // @53FD memory[stack[-1]:stack[-1] + 0x20] // } 53C5 5B JUMPDEST 53C6 60 PUSH1 0x00 53C8 60 PUSH1 0x05 53CA 60 PUSH1 0x00 53CC 90 SWAP1 53CD 54 SLOAD 53CE 90 SWAP1 53CF 61 PUSH2 0x0100 53D2 0A EXP 53D3 90 SWAP1 53D4 04 DIV 53D5 60 PUSH1 0x01 53D7 60 PUSH1 0x01 53D9 60 PUSH1 0xa0 53DB 1B SHL 53DC 03 SUB 53DD 16 AND 53DE 60 PUSH1 0x01 53E0 60 PUSH1 0x01 53E2 60 PUSH1 0xa0 53E4 1B SHL 53E5 03 SUB 53E6 16 AND 53E7 63 PUSH4 0x21f8a721 53EC 84 DUP5 53ED 84 DUP5 53EE 60 PUSH1 0x40 53F0 51 MLOAD 53F1 60 PUSH1 0x20 53F3 01 ADD 53F4 80 DUP1 53F5 83 DUP4 53F6 81 DUP2 53F7 52 MSTORE 53F8 60 PUSH1 0x20 53FA 01 ADD 53FB 82 DUP3 53FC 80 DUP1 53FD 51 MLOAD 53FE 90 SWAP1 53FF 60 PUSH1 0x20 5401 01 ADD 5402 90 SWAP1 5403 80 DUP1 5404 83 DUP4 5405 83 DUP4 5406 60 PUSH1 0x20 5408 83 DUP4 5409 10 LT 540A 61 PUSH2 0x52f6 540D 57 *JUMPI // Stack delta = +12 // Outputs[13] // { // @53C6 stack[0] = 0x00 // @53E6 stack[1] = (0x01 << 0xa0) - 0x01 & (0x01 << 0xa0) - 0x01 & storage[0x05] / 0x0100 ** 0x00 // @53E7 stack[2] = 0x21f8a721 // @53EC stack[3] = stack[-2] // @53ED stack[4] = stack[-1] // @53F3 stack[5] = 0x20 + memory[0x40:0x60] // @53F7 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + 0x20] = stack[-2] // @53FA stack[6] = 0x20 + 0x20 + memory[0x40:0x60] // @5402 stack[7] = 0x20 + stack[-1] // @5402 stack[8] = memory[stack[-1]:stack[-1] + 0x20] // @5403 stack[9] = memory[stack[-1]:stack[-1] + 0x20] // @5404 stack[10] = 0x20 + 0x20 + memory[0x40:0x60] // @5405 stack[11] = 0x20 + stack[-1] // } // Block ends with conditional jump to 0x52f6, if memory[stack[-1]:stack[-1] + 0x20] < 0x20 label_540E: // Incoming jump from 0x540D, if not memory[stack[-1]:stack[-1] + 0x20] < 0x20 // Inputs[4] // { // @540E stack[-1] // @540F memory[stack[-1]:stack[-1] + 0x20] // @5410 stack[-2] // @5416 stack[-3] // } 540E 80 DUP1 540F 51 MLOAD 5410 82 DUP3 5411 52 MSTORE 5412 60 PUSH1 0x1f 5414 19 NOT 5415 90 SWAP1 5416 92 SWAP3 5417 01 ADD 5418 91 SWAP2 5419 60 PUSH1 0x20 541B 91 SWAP2 541C 82 DUP3 541D 01 ADD 541E 91 SWAP2 541F 01 ADD 5420 61 PUSH2 0x52d7 5423 56 *JUMP // Stack delta = +0 // Outputs[4] // { // @5411 memory[stack[-2]:stack[-2] + 0x20] = memory[stack[-1]:stack[-1] + 0x20] // @5418 stack[-3] = stack[-3] + ~0x1f // @541E stack[-2] = 0x20 + stack[-2] // @541F stack[-1] = 0x20 + stack[-1] // } // Block ends with unconditional jump to 0x52d7 5424 5B JUMPDEST 5425 60 PUSH1 0x00 5427 61 PUSH2 0x542e 542A 61 PUSH2 0x5d28 542D 56 *JUMP 542E 5B JUMPDEST 542F 61 PUSH2 0x5436 5432 61 PUSH2 0x25b1 5435 56 *JUMP 5436 5B JUMPDEST 5437 81 DUP2 5438 52 MSTORE 5439 60 PUSH1 0x01 543B 60 PUSH1 0x01 543D 60 PUSH1 0xa0 543F 1B SHL 5440 03 SUB 5441 85 DUP6 5442 16 AND 5443 60 PUSH1 0x20 5445 82 DUP3 5446 01 ADD 5447 52 MSTORE 5448 60 PUSH1 0x40 544A 81 DUP2 544B 01 ADD 544C 84 DUP5 544D 90 SWAP1 544E 52 MSTORE 544F 60 PUSH1 0x60 5451 81 DUP2 5452 01 ADD 5453 83 DUP4 5454 90 SWAP1 5455 52 MSTORE 5456 42 TIMESTAMP 5457 60 PUSH1 0xa0 5459 82 DUP3 545A 01 ADD 545B 52 MSTORE 545C 61 PUSH2 0x5463 545F 61 PUSH2 0x1c6e 5462 56 *JUMP 5463 5B JUMPDEST 5464 60 PUSH1 0x01 5466 60 PUSH1 0x01 5468 60 PUSH1 0xa0 546A 1B SHL 546B 03 SUB 546C 16 AND 546D 60 PUSH1 0xc0 546F 82 DUP3 5470 01 ADD 5471 52 MSTORE 5472 61 PUSH2 0x547a 5475 81 DUP2 5476 61 PUSH2 0x5826 5479 56 *JUMP 547A 5B JUMPDEST 547B 61 PUSH2 0x5482 547E 61 PUSH2 0x59dd 5481 56 *JUMP 5482 5B JUMPDEST 5483 60 PUSH1 0x40 5485 80 DUP1 5486 51 MLOAD 5487 60 PUSH1 0x01 5489 60 PUSH1 0x01 548B 60 PUSH1 0xa0 548D 1B SHL 548E 03 SUB 548F 87 DUP8 5490 16 AND 5491 81 DUP2 5492 52 MSTORE 5493 60 PUSH1 0x03 5495 60 PUSH1 0x20 5497 82 DUP3 5498 01 ADD 5499 52 MSTORE 549A 60 PUSH1 0x60 549C 81 DUP2 549D 83 DUP4 549E 01 ADD 549F 81 DUP2 54A0 90 SWAP1 54A1 52 MSTORE 54A2 60 PUSH1 0x05 54A4 90 SWAP1 54A5 82 DUP3 54A6 01 ADD 54A7 52 MSTORE 54A8 64 PUSH5 0x1859191959 54AE 60 PUSH1 0xda 54B0 1B SHL 54B1 60 PUSH1 0x80 54B3 82 DUP3 54B4 01 ADD 54B5 52 MSTORE 54B6 90 SWAP1 54B7 51 MLOAD 54B8 7F PUSH32 0x83ae3199aebc0967c282db500ee53f0d089a35e030891c73584d243e4c0b6bc6 54D9 91 SWAP2 54DA 81 DUP2 54DB 90 SWAP1 54DC 03 SUB 54DD 60 PUSH1 0xa0 54DF 01 ADD 54E0 90 SWAP1 54E1 A1 LOG1 54E2 50 POP 54E3 60 PUSH1 0x01 54E5 94 SWAP5 54E6 93 SWAP4 54E7 50 POP 54E8 50 POP 54E9 50 POP 54EA 50 POP 54EB 56 *JUMP 54EC 5B JUMPDEST 54ED 60 PUSH1 0x09 54EF 54 SLOAD 54F0 81 DUP2 54F1 10 LT 54F2 61 PUSH2 0x54fa 54F5 57 *JUMPI 54F6 61 PUSH2 0x19b7 54F9 56 *JUMP 54FA 5B JUMPDEST 54FB 60 PUSH1 0x08 54FD 60 PUSH1 0x00 54FF 60 PUSH1 0x09 5501 83 DUP4 5502 81 DUP2 5503 54 SLOAD 5504 81 DUP2 5505 10 LT 5506 61 PUSH2 0x550b 5509 57 *JUMPI 550A FE *ASSERT 550B 5B JUMPDEST 550C 60 PUSH1 0x00 550E 91 SWAP2 550F 82 DUP3 5510 52 MSTORE 5511 60 PUSH1 0x20 5513 80 DUP1 5514 83 DUP4 5515 20 SHA3 5516 90 SWAP1 5517 91 SWAP2 5518 01 ADD 5519 54 SLOAD 551A 60 PUSH1 0x01 551C 60 PUSH1 0x01 551E 60 PUSH1 0xa0 5520 1B SHL 5521 03 SUB 5522 16 AND 5523 83 DUP4 5524 52 MSTORE 5525 82 DUP3 5526 01 ADD 5527 92 SWAP3 5528 90 SWAP1 5529 92 SWAP3 552A 52 MSTORE 552B 60 PUSH1 0x40 552D 01 ADD 552E 81 DUP2 552F 20 SHA3 5530 90 SWAP1 5531 61 PUSH2 0x553a 5534 82 DUP3 5535 82 DUP3 5536 61 PUSH2 0x5d77 5539 56 *JUMP 553A 5B JUMPDEST 553B 61 PUSH2 0x5548 553E 60 PUSH1 0x01 5540 83 DUP4 5541 01 ADD 5542 60 PUSH1 0x00 5544 61 PUSH2 0x5d77 5547 56 *JUMP 5548 5B JUMPDEST 5549 50 POP 554A 60 PUSH1 0x02 554C 01 ADD 554D 80 DUP1 554E 54 SLOAD 554F 60 PUSH1 0xff 5551 19 NOT 5552 16 AND 5553 90 SWAP1 5554 55 SSTORE 5555 80 DUP1 5556 5B JUMPDEST 5557 60 PUSH1 0x09 5559 54 SLOAD 555A 60 PUSH1 0x00 555C 19 NOT 555D 01 ADD 555E 81 DUP2 555F 10 LT 5560 15 ISZERO 5561 61 PUSH2 0x55cb 5564 57 *JUMPI 5565 60 PUSH1 0x09 5567 81 DUP2 5568 60 PUSH1 0x01 556A 01 ADD 556B 81 DUP2 556C 54 SLOAD 556D 81 DUP2 556E 10 LT 556F 61 PUSH2 0x5574 5572 57 *JUMPI 5573 FE *ASSERT 5574 5B JUMPDEST 5575 60 PUSH1 0x00 5577 91 SWAP2 5578 82 DUP3 5579 52 MSTORE 557A 60 PUSH1 0x20 557C 90 SWAP1 557D 91 SWAP2 557E 20 SHA3 557F 01 ADD 5580 54 SLOAD 5581 60 PUSH1 0x09 5583 80 DUP1 5584 54 SLOAD 5585 60 PUSH1 0x01 5587 60 PUSH1 0x01 5589 60 PUSH1 0xa0 558B 1B SHL 558C 03 SUB 558D 90 SWAP1 558E 92 SWAP3 558F 16 AND 5590 91 SWAP2 5591 83 DUP4 5592 90 SWAP1 5593 81 DUP2 5594 10 LT 5595 61 PUSH2 0x559a 5598 57 *JUMPI 5599 FE *ASSERT 559A 5B JUMPDEST 559B 60 PUSH1 0x00 559D 91 SWAP2 559E 82 DUP3 559F 52 MSTORE 55A0 60 PUSH1 0x20 55A2 90 SWAP1 55A3 91 SWAP2 55A4 20 SHA3 55A5 01 ADD 55A6 80 DUP1 55A7 54 SLOAD 55A8 60 PUSH1 0x01 55AA 60 PUSH1 0x01 55AC 60 PUSH1 0xa0 55AE 1B SHL 55AF 03 SUB 55B0 19 NOT 55B1 16 AND 55B2 60 PUSH1 0x01 55B4 60 PUSH1 0x01 55B6 60 PUSH1 0xa0 55B8 1B SHL 55B9 03 SUB 55BA 92 SWAP3 55BB 90 SWAP1 55BC 92 SWAP3 55BD 16 AND 55BE 91 SWAP2 55BF 90 SWAP1 55C0 91 SWAP2 55C1 17 OR 55C2 90 SWAP1 55C3 55 SSTORE 55C4 60 PUSH1 0x01 55C6 01 ADD 55C7 61 PUSH2 0x5556 55CA 56 *JUMP 55CB 5B JUMPDEST 55CC 50 POP 55CD 60 PUSH1 0x09 55CF 80 DUP1 55D0 54 SLOAD 55D1 60 PUSH1 0x00 55D3 19 NOT 55D4 81 DUP2 55D5 01 ADD 55D6 90 SWAP1 55D7 81 DUP2 55D8 10 LT 55D9 61 PUSH2 0x55de 55DC 57 *JUMPI 55DD FE *ASSERT 55DE 5B JUMPDEST 55DF 60 PUSH1 0x00 55E1 91 SWAP2 55E2 82 DUP3 55E3 52 MSTORE 55E4 60 PUSH1 0x20 55E6 90 SWAP1 55E7 91 SWAP2 55E8 20 SHA3 55E9 01 ADD 55EA 80 DUP1 55EB 54 SLOAD 55EC 60 PUSH1 0x01 55EE 60 PUSH1 0x01 55F0 60 PUSH1 0xa0 55F2 1B SHL 55F3 03 SUB 55F4 19 NOT 55F5 16 AND 55F6 90 SWAP1 55F7 55 SSTORE 55F8 60 PUSH1 0x09 55FA 80 DUP1 55FB 54 SLOAD 55FC 90 SWAP1 55FD 61 PUSH2 0x12ce 5600 90 SWAP1 5601 60 PUSH1 0x00 5603 19 NOT 5604 83 DUP4 5605 01 ADD 5606 61 PUSH2 0x5dbb 5609 56 *JUMP 560A 5B JUMPDEST 560B 60 PUSH1 0x00 560D 80 DUP1 560E 5B JUMPDEST 560F 61 PUSH2 0x5616 5612 61 PUSH2 0x25b1 5615 56 *JUMP 5616 5B JUMPDEST 5617 81 DUP2 5618 10 LT 5619 15 ISZERO 561A 61 PUSH2 0x56a6 561D 57 *JUMPI 561E 60 PUSH1 0x40 5620 80 DUP1 5621 51 MLOAD 5622 80 DUP1 5623 82 DUP3 5624 01 ADD 5625 82 DUP3 5626 52 MSTORE 5627 60 PUSH1 0x0d 5629 80 DUP1 562A 82 DUP3 562B 52 MSTORE 562C 6C PUSH13 0x4d656d62657246656174757265 563A 60 PUSH1 0x98 563C 1B SHL 563D 60 PUSH1 0x20 563F 80 DUP1 5640 84 DUP5 5641 01 ADD 5642 91 SWAP2 5643 82 DUP3 5644 52 MSTORE 5645 93 SWAP4 5646 51 MLOAD 5647 61 PUSH2 0x5657 564A 94 SWAP5 564B 01 ADD 564C 91 SWAP2 564D 82 DUP3 564E 91 SWAP2 564F 90 SWAP1 5650 80 DUP1 5651 83 DUP4 5652 83 DUP4 5653 61 PUSH2 0x2c45 5656 56 *JUMP 5657 5B JUMPDEST 5658 91 SWAP2 5659 50 POP 565A 82 DUP3 565B 60 PUSH1 0x01 565D 60 PUSH1 0x01 565F 60 PUSH1 0xa0 5661 1B SHL 5662 03 SUB 5663 16 AND 5664 61 PUSH2 0x5689 5667 83 DUP4 5668 60 PUSH1 0x40 566A 51 MLOAD 566B 80 DUP1 566C 60 PUSH1 0x40 566E 01 ADD 566F 60 PUSH1 0x40 5671 52 MSTORE 5672 80 DUP1 5673 60 PUSH1 0x04 5675 81 DUP2 5676 52 MSTORE 5677 60 PUSH1 0x20 5679 01 ADD 567A 63 PUSH4 0x30b23239 567F 60 PUSH1 0xe1 5681 1B SHL 5682 81 DUP2 5683 52 MSTORE 5684 50 POP 5685 61 PUSH2 0x53c5 5688 56 *JUMP 5689 5B JUMPDEST 568A 60 PUSH1 0x01 568C 60 PUSH1 0x01 568E 60 PUSH1 0xa0 5690 1B SHL 5691 03 SUB 5692 16 AND 5693 14 EQ 5694 15 ISZERO 5695 61 PUSH2 0x569e 5698 57 *JUMPI 5699 50 POP 569A 61 PUSH2 0x2e1b 569D 56 *JUMP 569E 5B JUMPDEST 569F 60 PUSH1 0x01 56A1 01 ADD 56A2 61 PUSH2 0x560e 56A5 56 *JUMP 56A6 5B JUMPDEST 56A7 50 POP 56A8 91 SWAP2 56A9 90 SWAP1 56AA 50 POP 56AB 56 *JUMP 56AC 5B JUMPDEST 56AD 60 PUSH1 0x05 56AF 54 SLOAD 56B0 60 PUSH1 0x40 56B2 80 DUP1 56B3 51 MLOAD 56B4 60 PUSH1 0x20 56B6 80 DUP1 56B7 82 DUP3 56B8 01 ADD 56B9 87 DUP8 56BA 81 DUP2 56BB 52 MSTORE 56BC 86 DUP7 56BD 51 MLOAD 56BE 60 PUSH1 0x01 56C0 60 PUSH1 0x01 56C2 60 PUSH1 0xa0 56C4 1B SHL 56C5 03 SUB 56C6 90 SWAP1 56C7 95 SWAP6 56C8 16 AND 56C9 94 SWAP5 56CA 63 PUSH4 0x6e899550 56CF 94 SWAP5 56D0 89 DUP10 56D1 94 SWAP5 56D2 89 DUP10 56D3 94 SWAP5 56D4 91 SWAP2 56D5 01 ADD 56D6 91 SWAP2 56D7 90 SWAP1 56D8 84 DUP5 56D9 01 ADD 56DA 90 SWAP1 56DB 80 DUP1 56DC 83 DUP4 56DD 83 DUP4 56DE 5B JUMPDEST 56DF 60 PUSH1 0x20 56E1 83 DUP4 56E2 10 LT 56E3 61 PUSH2 0x56fd 56E6 57 *JUMPI 56E7 80 DUP1 56E8 51 MLOAD 56E9 82 DUP3 56EA 52 MSTORE 56EB 60 PUSH1 0x1f 56ED 19 NOT 56EE 90 SWAP1 56EF 92 SWAP3 56F0 01 ADD 56F1 91 SWAP2 56F2 60 PUSH1 0x20 56F4 91 SWAP2 56F5 82 DUP3 56F6 01 ADD 56F7 91 SWAP2 56F8 01 ADD 56F9 61 PUSH2 0x56de 56FC 56 *JUMP 56FD 5B JUMPDEST 56FE 60 PUSH1 0x01 5700 83 DUP4 5701 60 PUSH1 0x20 5703 03 SUB 5704 61 PUSH2 0x0100 5707 0A EXP 5708 03 SUB 5709 80 DUP1 570A 19 NOT 570B 82 DUP3 570C 51 MLOAD 570D 16 AND 570E 81 DUP2 570F 84 DUP5 5710 51 MLOAD 5711 16 AND 5712 80 DUP1 5713 82 DUP3 5714 17 OR 5715 85 DUP6 5716 52 MSTORE 5717 50 POP 5718 50 POP 5719 50 POP 571A 50 POP 571B 50 POP 571C 50 POP 571D 90 SWAP1 571E 50 POP 571F 01 ADD 5720 92 SWAP3 5721 50 POP 5722 50 POP 5723 50 POP 5724 60 PUSH1 0x40 5726 51 MLOAD 5727 60 PUSH1 0x20 5729 81 DUP2 572A 83 DUP4 572B 03 SUB 572C 03 SUB 572D 81 DUP2 572E 52 MSTORE 572F 90 SWAP1 5730 60 PUSH1 0x40 5732 52 MSTORE 5733 80 DUP1 5734 51 MLOAD 5735 90 SWAP1 5736 60 PUSH1 0x20 5738 01 ADD 5739 20 SHA3 573A 83 DUP4 573B 60 PUSH1 0x40 573D 51 MLOAD 573E 83 DUP4 573F 63 PUSH4 0xffffffff 5744 16 AND 5745 60 PUSH1 0xe0 5747 1B SHL 5748 81 DUP2 5749 52 MSTORE 574A 60 PUSH1 0x04 574C 01 ADD 574D 80 DUP1 574E 83 DUP4 574F 81 DUP2 5750 52 MSTORE 5751 60 PUSH1 0x20 5753 01 ADD 5754 80 DUP1 5755 60 PUSH1 0x20 5757 01 ADD 5758 82 DUP3 5759 81 DUP2 575A 03 SUB 575B 82 DUP3 575C 52 MSTORE 575D 83 DUP4 575E 81 DUP2 575F 81 DUP2 5760 51 MLOAD 5761 81 DUP2 5762 52 MSTORE 5763 60 PUSH1 0x20 5765 01 ADD 5766 91 SWAP2 5767 50 POP 5768 80 DUP1 5769 51 MLOAD 576A 90 SWAP1 576B 60 PUSH1 0x20 576D 01 ADD 576E 90 SWAP1 576F 80 DUP1 5770 83 DUP4 5771 83 DUP4 5772 60 PUSH1 0x00 5774 5B JUMPDEST 5775 83 DUP4 5776 81 DUP2 5777 10 LT 5778 15 ISZERO 5779 61 PUSH2 0x578c 577C 57 *JUMPI 577D 81 DUP2 577E 81 DUP2 577F 01 ADD 5780 51 MLOAD 5781 83 DUP4 5782 82 DUP3 5783 01 ADD 5784 52 MSTORE 5785 60 PUSH1 0x20 5787 01 ADD 5788 61 PUSH2 0x5774 578B 56 *JUMP 578C 5B JUMPDEST 578D 50 POP 578E 50 POP 578F 50 POP 5790 50 POP 5791 90 SWAP1 5792 50 POP 5793 90 SWAP1 5794 81 DUP2 5795 01 ADD 5796 90 SWAP1 5797 60 PUSH1 0x1f 5799 16 AND 579A 80 DUP1 579B 15 ISZERO 579C 61 PUSH2 0x57b9 579F 57 *JUMPI 57A0 80 DUP1 57A1 82 DUP3 57A2 03 SUB 57A3 80 DUP1 57A4 51 MLOAD 57A5 60 PUSH1 0x01 57A7 83 DUP4 57A8 60 PUSH1 0x20 57AA 03 SUB 57AB 61 PUSH2 0x0100 57AE 0A EXP 57AF 03 SUB 57B0 19 NOT 57B1 16 AND 57B2 81 DUP2 57B3 52 MSTORE 57B4 60 PUSH1 0x20 57B6 01 ADD 57B7 91 SWAP2 57B8 50 POP 57B9 5B JUMPDEST 57BA 50 POP 57BB 93 SWAP4 57BC 50 POP 57BD 50 POP 57BE 50 POP 57BF 50 POP 57C0 60 PUSH1 0x00 57C2 60 PUSH1 0x40 57C4 51 MLOAD 57C5 80 DUP1 57C6 83 DUP4 57C7 03 SUB 57C8 81 DUP2 57C9 60 PUSH1 0x00 57CB 87 DUP8 57CC 80 DUP1 57CD 3B EXTCODESIZE 57CE 15 ISZERO 57CF 80 DUP1 57D0 15 ISZERO 57D1 61 PUSH2 0x57d9 57D4 57 *JUMPI 57D5 60 PUSH1 0x00 57D7 80 DUP1 57D8 FD *REVERT 57D9 5B JUMPDEST 57DA 50 POP 57DB 5A GAS 57DC F1 CALL 57DD 15 ISZERO 57DE 80 DUP1 57DF 15 ISZERO 57E0 61 PUSH2 0x3259 57E3 57 *JUMPI 57E4 3D RETURNDATASIZE 57E5 60 PUSH1 0x00 57E7 80 DUP1 57E8 3E RETURNDATACOPY 57E9 3D RETURNDATASIZE 57EA 60 PUSH1 0x00 57EC FD *REVERT label_57ED: // Incoming call from 0x49A5, returns to 0x49A6 // Inputs[8] // { // @57F1 memory[0x40:0x60] // @57F2 block.timestamp // @57FC block.difficulty // @5801 msg.sender // @580C memory[0x40:0x60] // @581E memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] // @5821 memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]] // @5825 stack[-1] // } 57ED 5B JUMPDEST 57EE 60 PUSH1 0x40 57F0 80 DUP1 57F1 51 MLOAD 57F2 42 TIMESTAMP 57F3 60 PUSH1 0x20 57F5 80 DUP1 57F6 83 DUP4 57F7 01 ADD 57F8 91 SWAP2 57F9 90 SWAP1 57FA 91 SWAP2 57FB 52 MSTORE 57FC 44 DIFFICULTY 57FD 82 DUP3 57FE 84 DUP5 57FF 01 ADD 5800 52 MSTORE 5801 33 CALLER 5802 60 PUSH1 0x60 5804 90 SWAP1 5805 81 DUP2 5806 1B SHL 5807 90 SWAP1 5808 83 DUP4 5809 01 ADD 580A 52 MSTORE 580B 82 DUP3 580C 51 MLOAD 580D 60 PUSH1 0x54 580F 81 DUP2 5810 84 DUP5 5811 03 SUB 5812 01 ADD 5813 81 DUP2 5814 52 MSTORE 5815 60 PUSH1 0x74 5817 90 SWAP1 5818 92 SWAP3 5819 01 ADD 581A 90 SWAP1 581B 92 SWAP3 581C 52 MSTORE 581D 80 DUP1 581E 51 MLOAD 581F 91 SWAP2 5820 01 ADD 5821 20 SHA3 5822 60 PUSH1 0x07 5824 55 SSTORE 5825 56 *JUMP // Stack delta = -1 // Outputs[6] // { // @57FB memory[memory[0x40:0x60] + 0x20:memory[0x40:0x60] + 0x20 + 0x20] = block.timestamp // @5800 memory[0x40 + memory[0x40:0x60]:0x40 + memory[0x40:0x60] + 0x20] = block.difficulty // @580A memory[memory[0x40:0x60] + 0x60:memory[0x40:0x60] + 0x60 + 0x20] = msg.sender << 0x60 // @5814 memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20] = memory[0x40:0x60] - memory[0x40:0x60] + 0x54 // @581C memory[0x40:0x60] = memory[0x40:0x60] + 0x74 // @5824 storage[0x07] = keccak256(memory[0x20 + memory[0x40:0x60]:0x20 + memory[0x40:0x60] + memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x20]]) // } // Block ends with unconditional jump to stack[-1] 5826 5B JUMPDEST 5827 60 PUSH1 0x00 5829 61 PUSH2 0x58ff 582C 60 PUSH1 0x40 582E 51 MLOAD 582F 80 DUP1 5830 60 PUSH1 0x40 5832 01 ADD 5833 60 PUSH1 0x40 5835 52 MSTORE 5836 80 DUP1 5837 60 PUSH1 0x0d 5839 81 DUP2 583A 52 MSTORE 583B 60 PUSH1 0x20 583D 01 ADD 583E 6C PUSH13 0x4d656d62657246656174757265 584C 60 PUSH1 0x98 584E 1B SHL 584F 81 DUP2 5850 52 MSTORE 5851 50 POP 5852 60 PUSH1 0x40 5854 51 MLOAD 5855 60 PUSH1 0x20 5857 01 ADD 5858 80 DUP1 5859 82 DUP3 585A 80 DUP1 585B 51 MLOAD 585C 90 SWAP1 585D 60 PUSH1 0x20 585F 01 ADD 5860 90 SWAP1 5861 80 DUP1 5862 83 DUP4 5863 83 DUP4 5864 5B JUMPDEST 5865 60 PUSH1 0x20 5867 83 DUP4 5868 10 LT 5869 61 PUSH2 0x5883 586C 57 *JUMPI 586D 80 DUP1 586E 51 MLOAD 586F 82 DUP3 5870 52 MSTORE 5871 60 PUSH1 0x1f 5873 19 NOT 5874 90 SWAP1 5875 92 SWAP3 5876 01 ADD 5877 91 SWAP2 5878 60 PUSH1 0x20 587A 91 SWAP2 587B 82 DUP3 587C 01 ADD 587D 91 SWAP2 587E 01 ADD 587F 61 PUSH2 0x5864 5882 56 *JUMP 5883 5B JUMPDEST 5884 60 PUSH1 0x01 5886 83 DUP4 5887 60 PUSH1 0x20 5889 03 SUB 588A 61 PUSH2 0x0100 588D 0A EXP 588E 03 SUB 588F 80 DUP1 5890 19 NOT 5891 82 DUP3 5892 51 MLOAD 5893 16 AND 5894 81 DUP2 5895 84 DUP5 5896 51 MLOAD 5897 16 AND 5898 80 DUP1 5899 82 DUP3 589A 17 OR 589B 85 DUP6 589C 52 MSTORE 589D 50 POP 589E 50 POP 589F 50 POP 58A0 50 POP 58A1 50 POP 58A2 50 POP 58A3 90 SWAP1 58A4 50 POP 58A5 01 ADD 58A6 91 SWAP2 58A7 50 POP 58A8 50 POP 58A9 60 PUSH1 0x40 58AB 51 MLOAD 58AC 60 PUSH1 0x20 58AE 81 DUP2 58AF 83 DUP4 58B0 03 SUB 58B1 03 SUB 58B2 81 DUP2 58B3 52 MSTORE 58B4 90 SWAP1 58B5 60 PUSH1 0x40 58B7 52 MSTORE 58B8 80 DUP1 58B9 51 MLOAD 58BA 90 SWAP1 58BB 60 PUSH1 0x20 58BD 01 ADD 58BE 20 SHA3 58BF 60 PUSH1 0x40 58C1 51 MLOAD 58C2 60 PUSH1 0x20 58C4 01 ADD 58C5 80 DUP1 58C6 82 DUP3 58C7 81 DUP2 58C8 52 MSTORE 58C9 60 PUSH1 0x20 58CB 01 ADD 58CC 80 DUP1 58CD 65 PUSH6 0x26b2b6b132b9 58D4 60 PUSH1 0xd1 58D6 1B SHL 58D7 81 DUP2 58D8 52 MSTORE 58D9 50 POP 58DA 60 PUSH1 0x06 58DC 01 ADD 58DD 91 SWAP2 58DE 50 POP 58DF 50 POP 58E0 60 PUSH1 0x40 58E2 51 MLOAD 58E3 60 PUSH1 0x20 58E5 81 DUP2 58E6 83 DUP4 58E7 03 SUB 58E8 03 SUB 58E9 81 DUP2 58EA 52 MSTORE 58EB 90 SWAP1 58EC 60 PUSH1 0x40 58EE 52 MSTORE 58EF 80 DUP1 58F0 51 MLOAD 58F1 90 SWAP1 58F2 60 PUSH1 0x20 58F4 01 ADD 58F5 20 SHA3 58F6 83 DUP4 58F7 60 PUSH1 0x00 58F9 01 ADD 58FA 51 MLOAD 58FB 61 PUSH2 0x5399 58FE 56 *JUMP 58FF 5B JUMPDEST 5900 90 SWAP1 5901 50 POP 5902 61 PUSH2 0x592c 5905 81 DUP2 5906 60 PUSH1 0x40 5908 51 MLOAD 5909 80 DUP1 590A 60 PUSH1 0x40 590C 01 ADD 590D 60 PUSH1 0x40 590F 52 MSTORE 5910 80 DUP1 5911 60 PUSH1 0x04 5913 81 DUP2 5914 52 MSTORE 5915 60 PUSH1 0x20 5917 01 ADD 5918 63 PUSH4 0x30b23239 591D 60 PUSH1 0xe1 591F 1B SHL 5920 81 DUP2 5921 52 MSTORE 5922 50 POP 5923 84 DUP5 5924 60 PUSH1 0x20 5926 01 ADD 5927 51 MLOAD 5928 61 PUSH2 0x5adf 592B 56 *JUMP 592C 5B JUMPDEST 592D 61 PUSH2 0x5957 5930 81 DUP2 5931 60 PUSH1 0x40 5933 51 MLOAD 5934 80 DUP1 5935 60 PUSH1 0x40 5937 01 ADD 5938 60 PUSH1 0x40 593A 52 MSTORE 593B 80 DUP1 593C 60 PUSH1 0x04 593E 81 DUP2 593F 52 MSTORE 5940 60 PUSH1 0x20 5942 01 ADD 5943 63 PUSH4 0x6e616d65 5948 60 PUSH1 0xe0 594A 1B SHL 594B 81 DUP2 594C 52 MSTORE 594D 50 POP 594E 84 DUP5 594F 60 PUSH1 0x40 5951 01 ADD 5952 51 MLOAD 5953 61 PUSH2 0x56ac 5956 56 *JUMP 5957 5B JUMPDEST 5958 61 PUSH2 0x5983 595B 81 DUP2 595C 60 PUSH1 0x40 595E 51 MLOAD 595F 80 DUP1 5960 60 PUSH1 0x40 5962 01 ADD 5963 60 PUSH1 0x40 5965 52 MSTORE 5966 80 DUP1 5967 60 PUSH1 0x05 5969 81 DUP2 596A 52 MSTORE 596B 60 PUSH1 0x20 596D 01 ADD 596E 64 PUSH5 0x195b585a5b 5974 60 PUSH1 0xda 5976 1B SHL 5977 81 DUP2 5978 52 MSTORE 5979 50 POP 597A 84 DUP5 597B 60 PUSH1 0x60 597D 01 ADD 597E 51 MLOAD 597F 61 PUSH2 0x56ac 5982 56 *JUMP 5983 5B JUMPDEST 5984 61 PUSH2 0x59ae 5987 81 DUP2 5988 60 PUSH1 0x40 598A 51 MLOAD 598B 80 DUP1 598C 60 PUSH1 0x40 598E 01 ADD 598F 60 PUSH1 0x40 5991 52 MSTORE 5992 80 DUP1 5993 60 PUSH1 0x04 5995 81 DUP2 5996 52 MSTORE 5997 60 PUSH1 0x20 5999 01 ADD 599A 63 PUSH4 0x74696d65 599F 60 PUSH1 0xe0 59A1 1B SHL 59A2 81 DUP2 59A3 52 MSTORE 59A4 50 POP 59A5 84 DUP5 59A6 60 PUSH1 0xa0 59A8 01 ADD 59A9 51 MLOAD 59AA 61 PUSH2 0x5bbc 59AD 56 *JUMP 59AE 5B JUMPDEST 59AF 61 PUSH2 0x12ce 59B2 81 DUP2 59B3 60 PUSH1 0x40 59B5 51 MLOAD 59B6 80 DUP1 59B7 60 PUSH1 0x40 59B9 01 ADD 59BA 60 PUSH1 0x40 59BC 52 MSTORE 59BD 80 DUP1 59BE 60 PUSH1 0x08 59C0 81 DUP2 59C1 52 MSTORE 59C2 60 PUSH1 0x20 59C4 01 ADD 59C5 67 PUSH8 0x30b8383937bb32b9 59CE 60 PUSH1 0xc1 59D0 1B SHL 59D1 81 DUP2 59D2 52 MSTORE 59D3 50 POP 59D4 84 DUP5 59D5 60 PUSH1 0xc0 59D7 01 ADD 59D8 51 MLOAD 59D9 61 PUSH2 0x5adf 59DC 56 *JUMP 59DD 5B JUMPDEST 59DE 60 PUSH1 0x00 59E0 61 PUSH2 0x59e7 59E3 61 PUSH2 0x25b1 59E6 56 *JUMP 59E7 5B JUMPDEST 59E8 60 PUSH1 0x01 59EA 01 ADD 59EB 90 SWAP1 59EC 50 POP 59ED 61 PUSH2 0x19b7 59F0 60 PUSH1 0x40 59F2 51 MLOAD 59F3 80 DUP1 59F4 60 PUSH1 0x40 59F6 01 ADD 59F7 60 PUSH1 0x40 59F9 52 MSTORE 59FA 80 DUP1 59FB 60 PUSH1 0x0d 59FD 81 DUP2 59FE 52 MSTORE 59FF 60 PUSH1 0x20 5A01 01 ADD 5A02 6C PUSH13 0x4d656d62657246656174757265 5A10 60 PUSH1 0x98 5A12 1B SHL 5A13 81 DUP2 5A14 52 MSTORE 5A15 50 POP 5A16 60 PUSH1 0x40 5A18 51 MLOAD 5A19 60 PUSH1 0x20 5A1B 01 ADD 5A1C 80 DUP1 5A1D 82 DUP3 5A1E 80 DUP1 5A1F 51 MLOAD 5A20 90 SWAP1 5A21 60 PUSH1 0x20 5A23 01 ADD 5A24 90 SWAP1 5A25 80 DUP1 5A26 83 DUP4 5A27 83 DUP4 5A28 5B JUMPDEST 5A29 60 PUSH1 0x20 5A2B 83 DUP4 5A2C 10 LT 5A2D 61 PUSH2 0x5a47 5A30 57 *JUMPI 5A31 80 DUP1 5A32 51 MLOAD 5A33 82 DUP3 5A34 52 MSTORE 5A35 60 PUSH1 0x1f 5A37 19 NOT 5A38 90 SWAP1 5A39 92 SWAP3 5A3A 01 ADD 5A3B 91 SWAP2 5A3C 60 PUSH1 0x20 5A3E 91 SWAP2 5A3F 82 DUP3 5A40 01 ADD 5A41 91 SWAP2 5A42 01 ADD 5A43 61 PUSH2 0x5a28 5A46 56 *JUMP 5A47 5B JUMPDEST 5A48 60 PUSH1 0x01 5A4A 83 DUP4 5A4B 60 PUSH1 0x20 5A4D 03 SUB 5A4E 61 PUSH2 0x0100 5A51 0A EXP 5A52 03 SUB 5A53 80 DUP1 5A54 19 NOT 5A55 82 DUP3 5A56 51 MLOAD 5A57 16 AND 5A58 81 DUP2 5A59 84 DUP5 5A5A 51 MLOAD 5A5B 16 AND 5A5C 80 DUP1 5A5D 82 DUP3 5A5E 17 OR 5A5F 85 DUP6 5A60 52 MSTORE 5A61 50 POP 5A62 50 POP 5A63 50 POP 5A64 50 POP 5A65 50 POP 5A66 50 POP 5A67 90 SWAP1 5A68 50 POP 5A69 01 ADD 5A6A 91 SWAP2 5A6B 50 POP 5A6C 50 POP 5A6D 60 PUSH1 0x40 5A6F 51 MLOAD 5A70 60 PUSH1 0x20 5A72 81 DUP2 5A73 83 DUP4 5A74 03 SUB 5A75 03 SUB 5A76 81 DUP2 5A77 52 MSTORE 5A78 90 SWAP1 5A79 60 PUSH1 0x40 5A7B 52 MSTORE 5A7C 80 DUP1 5A7D 51 MLOAD 5A7E 90 SWAP1 5A7F 60 PUSH1 0x20 5A81 01 ADD 5A82 20 SHA3 5A83 60 PUSH1 0x40 5A85 51 MLOAD 5A86 60 PUSH1 0x20 5A88 01 ADD 5A89 80 DUP1 5A8A 82 DUP3 5A8B 81 DUP2 5A8C 52 MSTORE 5A8D 60 PUSH1 0x20 5A8F 01 ADD 5A90 80 DUP1 5A91 65 PUSH6 0x26b2b6b132b9 5A98 60 PUSH1 0xd1 5A9A 1B SHL 5A9B 81 DUP2 5A9C 52 MSTORE 5A9D 50 POP 5A9E 60 PUSH1 0x06 5AA0 01 ADD 5AA1 91 SWAP2 5AA2 50 POP 5AA3 50 POP 5AA4 60 PUSH1 0x40 5AA6 51 MLOAD 5AA7 60 PUSH1 0x20 5AA9 81 DUP2 5AAA 83 DUP4 5AAB 03 SUB 5AAC 03 SUB 5AAD 81 DUP2 5AAE 52 MSTORE 5AAF 90 SWAP1 5AB0 60 PUSH1 0x40 5AB2 52 MSTORE 5AB3 80 DUP1 5AB4 51 MLOAD 5AB5 90 SWAP1 5AB6 60 PUSH1 0x20 5AB8 01 ADD 5AB9 20 SHA3 5ABA 60 PUSH1 0x40 5ABC 51 MLOAD 5ABD 80 DUP1 5ABE 60 PUSH1 0x40 5AC0 01 ADD 5AC1 60 PUSH1 0x40 5AC3 52 MSTORE 5AC4 80 DUP1 5AC5 60 PUSH1 0x07 5AC7 81 DUP2 5AC8 52 MSTORE 5AC9 60 PUSH1 0x20 5ACB 01 ADD 5ACC 66 PUSH7 0x31b7bab73a32b9 5AD4 60 PUSH1 0xc9 5AD6 1B SHL 5AD7 81 DUP2 5AD8 52 MSTORE 5AD9 50 POP 5ADA 83 DUP4 5ADB 61 PUSH2 0x5bbc 5ADE 56 *JUMP 5ADF 5B JUMPDEST 5AE0 60 PUSH1 0x05 5AE2 54 SLOAD 5AE3 60 PUSH1 0x40 5AE5 80 DUP1 5AE6 51 MLOAD 5AE7 60 PUSH1 0x20 5AE9 80 DUP1 5AEA 82 DUP3 5AEB 01 ADD 5AEC 87 DUP8 5AED 81 DUP2 5AEE 52 MSTORE 5AEF 86 DUP7 5AF0 51 MLOAD 5AF1 60 PUSH1 0x01 5AF3 60 PUSH1 0x01 5AF5 60 PUSH1 0xa0 5AF7 1B SHL 5AF8 03 SUB 5AF9 90 SWAP1 5AFA 95 SWAP6 5AFB 16 AND 5AFC 94 SWAP5 5AFD 63 PUSH4 0xca446dd9 5B02 94 SWAP5 5B03 89 DUP10 5B04 94 SWAP5 5B05 89 DUP10 5B06 94 SWAP5 5B07 91 SWAP2 5B08 01 ADD 5B09 91 SWAP2 5B0A 90 SWAP1 5B0B 84 DUP5 5B0C 01 ADD 5B0D 90 SWAP1 5B0E 80 DUP1 5B0F 83 DUP4 5B10 83 DUP4 5B11 5B JUMPDEST 5B12 60 PUSH1 0x20 5B14 83 DUP4 5B15 10 LT 5B16 61 PUSH2 0x5b30 5B19 57 *JUMPI 5B1A 80 DUP1 5B1B 51 MLOAD 5B1C 82 DUP3 5B1D 52 MSTORE 5B1E 60 PUSH1 0x1f 5B20 19 NOT 5B21 90 SWAP1 5B22 92 SWAP3 5B23 01 ADD 5B24 91 SWAP2 5B25 60 PUSH1 0x20 5B27 91 SWAP2 5B28 82 DUP3 5B29 01 ADD 5B2A 91 SWAP2 5B2B 01 ADD 5B2C 61 PUSH2 0x5b11 5B2F 56 *JUMP 5B30 5B JUMPDEST 5B31 60 PUSH1 0x01 5B33 83 DUP4 5B34 60 PUSH1 0x20 5B36 03 SUB 5B37 61 PUSH2 0x0100 5B3A 0A EXP 5B3B 03 SUB 5B3C 80 DUP1 5B3D 19 NOT 5B3E 82 DUP3 5B3F 51 MLOAD 5B40 16 AND 5B41 81 DUP2 5B42 84 DUP5 5B43 51 MLOAD 5B44 16 AND 5B45 80 DUP1 5B46 82 DUP3 5B47 17 OR 5B48 85 DUP6 5B49 52 MSTORE 5B4A 50 POP 5B4B 50 POP 5B4C 50 POP 5B4D 50 POP 5B4E 50 POP 5B4F 50 POP 5B50 90 SWAP1 5B51 50 POP 5B52 01 ADD 5B53 92 SWAP3 5B54 50 POP 5B55 50 POP 5B56 50 POP 5B57 60 PUSH1 0x40 5B59 51 MLOAD 5B5A 60 PUSH1 0x20 5B5C 81 DUP2 5B5D 83 DUP4 5B5E 03 SUB 5B5F 03 SUB 5B60 81 DUP2 5B61 52 MSTORE 5B62 90 SWAP1 5B63 60 PUSH1 0x40 5B65 52 MSTORE 5B66 80 DUP1 5B67 51 MLOAD 5B68 90 SWAP1 5B69 60 PUSH1 0x20 5B6B 01 ADD 5B6C 20 SHA3 5B6D 83 DUP4 5B6E 60 PUSH1 0x40 5B70 51 MLOAD 5B71 83 DUP4 5B72 63 PUSH4 0xffffffff 5B77 16 AND 5B78 60 PUSH1 0xe0 5B7A 1B SHL 5B7B 81 DUP2 5B7C 52 MSTORE 5B7D 60 PUSH1 0x04 5B7F 01 ADD 5B80 80 DUP1 5B81 83 DUP4 5B82 81 DUP2 5B83 52 MSTORE 5B84 60 PUSH1 0x20 5B86 01 ADD 5B87 82 DUP3 5B88 60 PUSH1 0x01 5B8A 60 PUSH1 0x01 5B8C 60 PUSH1 0xa0 5B8E 1B SHL 5B8F 03 SUB 5B90 16 AND 5B91 60 PUSH1 0x01 5B93 60 PUSH1 0x01 5B95 60 PUSH1 0xa0 5B97 1B SHL 5B98 03 SUB 5B99 16 AND 5B9A 81 DUP2 5B9B 52 MSTORE 5B9C 60 PUSH1 0x20 5B9E 01 ADD 5B9F 92 SWAP3 5BA0 50 POP 5BA1 50 POP 5BA2 50 POP 5BA3 60 PUSH1 0x00 5BA5 60 PUSH1 0x40 5BA7 51 MLOAD 5BA8 80 DUP1 5BA9 83 DUP4 5BAA 03 SUB 5BAB 81 DUP2 5BAC 60 PUSH1 0x00 5BAE 87 DUP8 5BAF 80 DUP1 5BB0 3B EXTCODESIZE 5BB1 15 ISZERO 5BB2 80 DUP1 5BB3 15 ISZERO 5BB4 61 PUSH2 0x57d9 5BB7 57 *JUMPI 5BB8 60 PUSH1 0x00 5BBA 80 DUP1 5BBB FD *REVERT 5BBC 5B JUMPDEST 5BBD 60 PUSH1 0x05 5BBF 54 SLOAD 5BC0 60 PUSH1 0x40 5BC2 80 DUP1 5BC3 51 MLOAD 5BC4 60 PUSH1 0x20 5BC6 80 DUP1 5BC7 82 DUP3 5BC8 01 ADD 5BC9 87 DUP8 5BCA 81 DUP2 5BCB 52 MSTORE 5BCC 86 DUP7 5BCD 51 MLOAD 5BCE 60 PUSH1 0x01 5BD0 60 PUSH1 0x01 5BD2 60 PUSH1 0xa0 5BD4 1B SHL 5BD5 03 SUB 5BD6 90 SWAP1 5BD7 95 SWAP6 5BD8 16 AND 5BD9 94 SWAP5 5BDA 63 PUSH4 0xe2a4853a 5BDF 94 SWAP5 5BE0 89 DUP10 5BE1 94 SWAP5 5BE2 89 DUP10 5BE3 94 SWAP5 5BE4 91 SWAP2 5BE5 01 ADD 5BE6 91 SWAP2 5BE7 90 SWAP1 5BE8 84 DUP5 5BE9 01 ADD 5BEA 90 SWAP1 5BEB 80 DUP1 5BEC 83 DUP4 5BED 83 DUP4 5BEE 5B JUMPDEST 5BEF 60 PUSH1 0x20 5BF1 83 DUP4 5BF2 10 LT 5BF3 61 PUSH2 0x5c0d 5BF6 57 *JUMPI 5BF7 80 DUP1 5BF8 51 MLOAD 5BF9 82 DUP3 5BFA 52 MSTORE 5BFB 60 PUSH1 0x1f 5BFD 19 NOT 5BFE 90 SWAP1 5BFF 92 SWAP3 5C00 01 ADD 5C01 91 SWAP2 5C02 60 PUSH1 0x20 5C04 91 SWAP2 5C05 82 DUP3 5C06 01 ADD 5C07 91 SWAP2 5C08 01 ADD 5C09 61 PUSH2 0x5bee 5C0C 56 *JUMP 5C0D 5B JUMPDEST 5C0E 60 PUSH1 0x01 5C10 83 DUP4 5C11 60 PUSH1 0x20 5C13 03 SUB 5C14 61 PUSH2 0x0100 5C17 0A EXP 5C18 03 SUB 5C19 80 DUP1 5C1A 19 NOT 5C1B 82 DUP3 5C1C 51 MLOAD 5C1D 16 AND 5C1E 81 DUP2 5C1F 84 DUP5 5C20 51 MLOAD 5C21 16 AND 5C22 80 DUP1 5C23 82 DUP3 5C24 17 OR 5C25 85 DUP6 5C26 52 MSTORE 5C27 50 POP 5C28 50 POP 5C29 50 POP 5C2A 50 POP 5C2B 50 POP 5C2C 50 POP 5C2D 90 SWAP1 5C2E 50 POP 5C2F 01 ADD 5C30 92 SWAP3 5C31 50 POP 5C32 50 POP 5C33 50 POP 5C34 60 PUSH1 0x40 5C36 51 MLOAD 5C37 60 PUSH1 0x20 5C39 81 DUP2 5C3A 83 DUP4 5C3B 03 SUB 5C3C 03 SUB 5C3D 81 DUP2 5C3E 52 MSTORE 5C3F 90 SWAP1 5C40 60 PUSH1 0x40 5C42 52 MSTORE 5C43 80 DUP1 5C44 51 MLOAD 5C45 90 SWAP1 5C46 60 PUSH1 0x20 5C48 01 ADD 5C49 20 SHA3 5C4A 83 DUP4 5C4B 60 PUSH1 0x40 5C4D 51 MLOAD 5C4E 83 DUP4 5C4F 63 PUSH4 0xffffffff 5C54 16 AND 5C55 60 PUSH1 0xe0 5C57 1B SHL 5C58 81 DUP2 5C59 52 MSTORE 5C5A 60 PUSH1 0x04 5C5C 01 ADD 5C5D 80 DUP1 5C5E 83 DUP4 5C5F 81 DUP2 5C60 52 MSTORE 5C61 60 PUSH1 0x20 5C63 01 ADD 5C64 82 DUP3 5C65 81 DUP2 5C66 52 MSTORE 5C67 60 PUSH1 0x20 5C69 01 ADD 5C6A 92 SWAP3 5C6B 50 POP 5C6C 50 POP 5C6D 50 POP 5C6E 60 PUSH1 0x00 5C70 60 PUSH1 0x40 5C72 51 MLOAD 5C73 80 DUP1 5C74 83 DUP4 5C75 03 SUB 5C76 81 DUP2 5C77 60 PUSH1 0x00 5C79 87 DUP8 5C7A 80 DUP1 5C7B 3B EXTCODESIZE 5C7C 15 ISZERO 5C7D 80 DUP1 5C7E 15 ISZERO 5C7F 61 PUSH2 0x57d9 5C82 57 *JUMPI 5C83 60 PUSH1 0x00 5C85 80 DUP1 5C86 FD *REVERT 5C87 5B JUMPDEST 5C88 60 PUSH1 0x40 5C8A 51 MLOAD 5C8B 80 DUP1 5C8C 60 PUSH1 0x60 5C8E 01 ADD 5C8F 60 PUSH1 0x40 5C91 52 MSTORE 5C92 80 DUP1 5C93 60 PUSH1 0x60 5C95 81 DUP2 5C96 52 MSTORE 5C97 60 PUSH1 0x20 5C99 01 ADD 5C9A 60 PUSH1 0x60 5C9C 81 DUP2 5C9D 52 MSTORE 5C9E 60 PUSH1 0x20 5CA0 01 ADD 5CA1 60 PUSH1 0x00 5CA3 15 ISZERO 5CA4 15 ISZERO 5CA5 81 DUP2 5CA6 52 MSTORE 5CA7 50 POP 5CA8 90 SWAP1 5CA9 56 *JUMP 5CAA 5B JUMPDEST 5CAB 82 DUP3 5CAC 80 DUP1 5CAD 54 SLOAD 5CAE 60 PUSH1 0x01 5CB0 81 DUP2 5CB1 60 PUSH1 0x01 5CB3 16 AND 5CB4 15 ISZERO 5CB5 61 PUSH2 0x0100 5CB8 02 MUL 5CB9 03 SUB 5CBA 16 AND 5CBB 60 PUSH1 0x02 5CBD 90 SWAP1 5CBE 04 DIV 5CBF 90 SWAP1 5CC0 60 PUSH1 0x00 5CC2 52 MSTORE 5CC3 60 PUSH1 0x20 5CC5 60 PUSH1 0x00 5CC7 20 SHA3 5CC8 90 SWAP1 5CC9 60 PUSH1 0x1f 5CCB 01 ADD 5CCC 60 PUSH1 0x20 5CCE 90 SWAP1 5CCF 04 DIV 5CD0 81 DUP2 5CD1 01 ADD 5CD2 92 SWAP3 5CD3 82 DUP3 5CD4 60 PUSH1 0x1f 5CD6 10 LT 5CD7 61 PUSH2 0x5ceb 5CDA 57 *JUMPI 5CDB 80 DUP1 5CDC 51 MLOAD 5CDD 60 PUSH1 0xff 5CDF 19 NOT 5CE0 16 AND 5CE1 83 DUP4 5CE2 80 DUP1 5CE3 01 ADD 5CE4 17 OR 5CE5 85 DUP6 5CE6 55 SSTORE 5CE7 61 PUSH2 0x5d18 5CEA 56 *JUMP 5CEB 5B JUMPDEST 5CEC 82 DUP3 5CED 80 DUP1 5CEE 01 ADD 5CEF 60 PUSH1 0x01 5CF1 01 ADD 5CF2 85 DUP6 5CF3 55 SSTORE 5CF4 82 DUP3 5CF5 15 ISZERO 5CF6 61 PUSH2 0x5d18 5CF9 57 *JUMPI 5CFA 91 SWAP2 5CFB 82 DUP3 5CFC 01 ADD 5CFD 5B JUMPDEST 5CFE 82 DUP3 5CFF 81 DUP2 5D00 11 GT 5D01 15 ISZERO 5D02 61 PUSH2 0x5d18 5D05 57 *JUMPI 5D06 82 DUP3 5D07 51 MLOAD 5D08 82 DUP3 5D09 55 SSTORE 5D0A 91 SWAP2 5D0B 60 PUSH1 0x20 5D0D 01 ADD 5D0E 91 SWAP2 5D0F 90 SWAP1 5D10 60 PUSH1 0x01 5D12 01 ADD 5D13 90 SWAP1 5D14 61 PUSH2 0x5cfd 5D17 56 *JUMP 5D18 5B JUMPDEST 5D19 50 POP 5D1A 61 PUSH2 0x5d24 5D1D 92 SWAP3 5D1E 91 SWAP2 5D1F 50 POP 5D20 61 PUSH2 0x5ddb 5D23 56 *JUMP 5D24 5B JUMPDEST 5D25 50 POP 5D26 90 SWAP1 5D27 56 *JUMP 5D28 5B JUMPDEST 5D29 60 PUSH1 0x40 5D2B 51 MLOAD 5D2C 80 DUP1 5D2D 60 PUSH1 0xe0 5D2F 01 ADD 5D30 60 PUSH1 0x40 5D32 52 MSTORE 5D33 80 DUP1 5D34 60 PUSH1 0x00 5D36 81 DUP2 5D37 52 MSTORE 5D38 60 PUSH1 0x20 5D3A 01 ADD 5D3B 60 PUSH1 0x00 5D3D 60 PUSH1 0x01 5D3F 60 PUSH1 0x01 5D41 60 PUSH1 0xa0 5D43 1B SHL 5D44 03 SUB 5D45 16 AND 5D46 81 DUP2 5D47 52 MSTORE 5D48 60 PUSH1 0x20 5D4A 01 ADD 5D4B 60 PUSH1 0x60 5D4D 81 DUP2 5D4E 52 MSTORE 5D4F 60 PUSH1 0x20 5D51 01 ADD 5D52 60 PUSH1 0x60 5D54 81 DUP2 5D55 52 MSTORE 5D56 60 PUSH1 0x20 5D58 01 ADD 5D59 60 PUSH1 0x60 5D5B 81 DUP2 5D5C 52 MSTORE 5D5D 60 PUSH1 0x20 5D5F 01 ADD 5D60 60 PUSH1 0x00 5D62 81 DUP2 5D63 52 MSTORE 5D64 60 PUSH1 0x20 5D66 01 ADD 5D67 60 PUSH1 0x00 5D69 60 PUSH1 0x01 5D6B 60 PUSH1 0x01 5D6D 60 PUSH1 0xa0 5D6F 1B SHL 5D70 03 SUB 5D71 16 AND 5D72 81 DUP2 5D73 52 MSTORE 5D74 50 POP 5D75 90 SWAP1 5D76 56 *JUMP 5D77 5B JUMPDEST 5D78 50 POP 5D79 80 DUP1 5D7A 54 SLOAD 5D7B 60 PUSH1 0x01 5D7D 81 DUP2 5D7E 60 PUSH1 0x01 5D80 16 AND 5D81 15 ISZERO 5D82 61 PUSH2 0x0100 5D85 02 MUL 5D86 03 SUB 5D87 16 AND 5D88 60 PUSH1 0x02 5D8A 90 SWAP1 5D8B 04 DIV 5D8C 60 PUSH1 0x00 5D8E 82 DUP3 5D8F 55 SSTORE 5D90 80 DUP1 5D91 60 PUSH1 0x1f 5D93 10 LT 5D94 61 PUSH2 0x5d9d 5D97 57 *JUMPI 5D98 50 POP 5D99 61 PUSH2 0x19b7 5D9C 56 *JUMP 5D9D 5B JUMPDEST 5D9E 60 PUSH1 0x1f 5DA0 01 ADD 5DA1 60 PUSH1 0x20 5DA3 90 SWAP1 5DA4 04 DIV 5DA5 90 SWAP1 5DA6 60 PUSH1 0x00 5DA8 52 MSTORE 5DA9 60 PUSH1 0x20 5DAB 60 PUSH1 0x00 5DAD 20 SHA3 5DAE 90 SWAP1 5DAF 81 DUP2 5DB0 01 ADD 5DB1 90 SWAP1 5DB2 61 PUSH2 0x19b7 5DB5 91 SWAP2 5DB6 90 SWAP1 5DB7 61 PUSH2 0x5ddb 5DBA 56 *JUMP 5DBB 5B JUMPDEST 5DBC 81 DUP2 5DBD 54 SLOAD 5DBE 81 DUP2 5DBF 83 DUP4 5DC0 55 SSTORE 5DC1 81 DUP2 5DC2 81 DUP2 5DC3 11 GT 5DC4 15 ISZERO 5DC5 61 PUSH2 0x5107 5DC8 57 *JUMPI 5DC9 60 PUSH1 0x00 5DCB 83 DUP4 5DCC 81 DUP2 5DCD 52 MSTORE 5DCE 60 PUSH1 0x20 5DD0 90 SWAP1 5DD1 20 SHA3 5DD2 61 PUSH2 0x5107 5DD5 91 SWAP2 5DD6 81 DUP2 5DD7 01 ADD 5DD8 90 SWAP1 5DD9 83 DUP4 5DDA 01 ADD 5DDB 5B JUMPDEST 5DDC 61 PUSH2 0x1c6b 5DDF 91 SWAP2 5DE0 90 SWAP1 5DE1 5B JUMPDEST 5DE2 80 DUP1 5DE3 82 DUP3 5DE4 11 GT 5DE5 15 ISZERO 5DE6 61 PUSH2 0x5d24 5DE9 57 *JUMPI 5DEA 60 PUSH1 0x00 5DEC 81 DUP2 5DED 55 SSTORE 5DEE 60 PUSH1 0x01 5DF0 01 ADD 5DF1 61 PUSH2 0x5de1 5DF4 56 *JUMP 5DF5 FE *ASSERT 5DF6 4E 4E 5DF7 65 PUSH6 0x772077616974 5DFE 69 PUSH10 0x6e67206861732073656e 5E09 74 PUSH21 0x2072657175657374206f66206d656d626572736869 5E1F 70 PUSH17 0x4572726f722c2069742069732074686520 5E31 54 SLOAD 5E32 72 PUSH19 0x6561737572792057616c6c65742146756e6374 5E46 69 PUSH10 0x6f6e2063616e206f6e6c 5E51 79 PUSH26 0x2062652063616c6c65642062792052656c617948756247524541 5E6C 54 SLOAD 5E6D 45 GASLIMIT 5E6E 52 MSTORE 5E6F 5F PUSH0 5E70 4F 4F 5E71 52 MSTORE 5E72 5F PUSH0 5E73 45 GASLIMIT 5E74 51 MLOAD 5E75 55 SSTORE 5E76 41 COINBASE 5E77 4C 4C 5E78 5F PUSH0 5E79 54 SLOAD 5E7A 4F 4F 5E7B 5F PUSH0 5E7C 32 ORIGIN 5E7D 30 ADDRESS 5E7E 5F PUSH0 5E7F 4C 4C 5E80 45 GASLIMIT 5E81 4E 4E 5E82 47 SELFBALANCE 5E83 54 SLOAD 5E84 48 BASEFEE 5E85 5F PUSH0 5E86 52 MSTORE 5E87 45 GASLIMIT 5E88 51 MLOAD 5E89 55 SSTORE 5E8A 49 49 5E8B 52 MSTORE 5E8C 45 GASLIMIT 5E8D 44 DIFFICULTY 5E8E 4F 4F 5E8F 6E PUSH15 0x6c792074686520446576656c6f7065 5E9F 72 PUSH19 0x2072657175697265640000000000a265627a7a 5EB3 72 PUSH19 0x315820415e99f6dc31a10438575f0659b81132 5EC7 30 ADDRESS 5EC8 DC DC 5EC9 DB DB 5ECA BA BA 5ECB 7F PUSH32 0x5c54ec72fd5e7ca24f14ce64736f6c634300050c0032
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]