6c04c03d-2887-418e-9dec-367c35781c43
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31497 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77608 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77609 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77610 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77611 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77612 | detector.run | complete | 1 / 3 | 1 week ago |
| 77613 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1218309] OpenAI Codex v0.77.0 (research preview)
[codex:1218309] --------
[codex:1218309] workdir: /tmp/codex-multi-8295m99t
[codex:1218309] model: gpt-5.2-codex
[codex:1218309] provider: openai
[codex:1218309] approval: never
[codex:1218309] sandbox: read-only
[codex:1218309] reasoning effort: xhigh
[codex:1218309] reasoning summaries: auto
[codex:1218309] session id: 019b8670-3500-7651-a8c4-5bc29d264524
[codex:1218309] --------
[codex:1218309] user
[codex:1218309] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1218309]
[codex:1218309] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1218309]
[codex:1218309] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1218309] - Gas inefficiency, code quality, or best practices
[codex:1218309] - Theoretical vulnerabilities without a clear extraction path
[codex:1218309] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1218309] - Issues requiring social engineering or off-chain coordination
[codex:1218309]
[codex:1218309] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1218309] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1218309] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1218309] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1218309] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1218309] - External calls before state updates (reentrancy)
[codex:1218309] - SELFDESTRUCT with controllable beneficiary
[codex:1218309] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1218309]
[codex:1218309] For each finding, you MUST explain:
[codex:1218309] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1218309] 2. The concrete sequence of transactions to extract value
[codex:1218309] 3. Why you believe this is exploitable (not just suspicious)
[codex:1218309]
[codex:1218309] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1218309] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1218309]
[codex:1218309] Output MUST be valid JSON matching the provided schema.
[codex:1218309] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1218309] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1218309] mcp startup: no servers
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Opening BYTECODE_BUNDLE.txt**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc ls in /tmp/codex-multi-8295m99t succeeded in 5ms:
[codex:1218309] BYTECODE_BUNDLE.txt
[codex:1218309] codex-output-schema.json
[codex:1218309] exec
[codex:1218309] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-8295m99t succeeded in 5ms:
[codex:1218309] Runtime bytecode bundle for best-effort auditing.
[codex:1218309] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1218309]
[codex:1218309] FILE: runtime_bytecode.hex
[codex:1218309] 0x6080604052600436106100e15760003560e01c80636e764a3c1161007f5780638459e45a116100595780638459e45a1461023c578063b588d2251461025c578063c4d2b1b31461027c578063cb76ef2d146102ac576100e8565b80636e764a3c146101e75780636e947298146102075780637e695d561461021c576100e8565b80632391b6a6116100bb5780632391b6a61461016757806338e4f064146101875780634d34425e146101a75780634d3c7fb8146101c7576100e8565b806301ad194f146100ed5780631bc6dec81461010f5780631cb0c3e714610145576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b5061010d610108366004611a6f565b6102cc565b005b34801561011b57600080fd5b5061012f61012a366004611926565b6102e8565b60405161013c9190611ea0565b60405180910390f35b34801561015157600080fd5b5061015a610307565b60405161013c9190611e26565b34801561017357600080fd5b5061010d610182366004611926565b61031c565b34801561019357600080fd5b5061010d6101a2366004611941565b6103ca565b3480156101b357600080fd5b5061010d6101c2366004611a6f565b610437565b3480156101d357600080fd5b5061010d6101e2366004611a23565b610551565b3480156101f357600080fd5b5061015a6102023660046119a3565b61079f565b34801561021357600080fd5b5061012f610a18565b34801561022857600080fd5b5061012f610237366004611926565b610a1c565b34801561024857600080fd5b5061010d610257366004611a6f565b610a7c565b34801561026857600080fd5b5061012f610277366004611926565b610a94565b34801561028857600080fd5b5061029c61029736600461198b565b610b19565b60405161013c9493929190611f96565b3480156102b857600080fd5b5061012f6102c7366004611a9b565b610b3f565b6102e46102de36849003840184611a9b565b82610bc0565b5050565b6001600160a01b0381166000908152600160205260409020545b919050565b6000546201000090046001600160a01b031690565b600054610100900460ff16806103355750610335610e91565b80610343575060005460ff16155b6103685760405162461bcd60e51b815260040161035f90612215565b60405180910390fd5b600054610100900460ff16158015610393576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b0385160217905580156102e4576000805461ff00191690555050565b6000546201000090046001600160a01b031633146103fa5760405162461bcd60e51b815260040161035f90612523565b600061040583610a1c565b9050818110156104275760405162461bcd60e51b815260040161035f90612196565b610432833384610e97565b505050565b813560009081526002602052604090205461045a6102c736859003850185611a9b565b146104775760405162461bcd60e51b815260040161035f906122e6565b813560009081526002602052604090206003015442106104a95760405162461bcd60e51b815260040161035f90612489565b81356000908152600260205260409020600101805482019055806104d7610237610100850160e08601611926565b10156104f55760405162461bcd60e51b815260040161035f906120a5565b61050f610509610100840160e08501611926565b82610ed6565b81600001357fe2511e4cea073cd1ede5b25a5089509b8d88ab0c1c3d8ddb3717e7afbf8239813383604051610545929190611e3a565b60405180910390a25050565b7331ba589072278d82207212702de9a1c2b9d42c2833146105845760405162461bcd60e51b815260040161035f906123ba565b82356000908152600260205260409020546105a76102c736869003860186611a9b565b146105c45760405162461bcd60e51b815260040161035f906122e6565b823560009081526002602081905260409091200154158015906105f95750823560009081526002602052604090206001015415155b6106155760405162461bcd60e51b815260040161035f9061236b565b82356000908152600260205260409020600301544211806106f257506001600160a01b03811663041abcde610651610100860160e08701611926565b61066361012087016101008801611926565b8635600090815260026020526040908190206001015490516001600160e01b031960e086901b1681526106a093929160608a013591600401611e77565b602060405180830381600087803b1580156106ba57600080fd5b505af11580156106ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f2919061196b565b61070e5760405162461bcd60e51b815260040161035f9061215f565b82356000908152600260205260408120600101805491905561074061073a610100860160e08701611926565b82610f1f565b61075b610754610100860160e08701611926565b8483610f48565b83600001357fd46d78fa6d2c31ef7370232916f555e0972dcff745a87e3faf1d72b4c999c5708483604051610791929190611e3a565b60405180910390a250505050565b60007331ba589072278d82207212702de9a1c2b9d42c2833146107d45760405162461bcd60e51b815260040161035f906123ba565b6000546201000090046001600160a01b031661083c6108006107fb36869003860186611a9b565b610f52565b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110a092505050565b6001600160a01b0316146108625760405162461bcd60e51b815260040161035f906121e0565b6108746102c736849003840184611a9b565b82356000908152600260205260409081902091825560a08401356001909201919091556108bc9042906108ad9060608601908601611b6d565b67ffffffffffffffff16611114565b8235600090815260026020908152604091829020600301929092556108ff916060850135916108f091908601908601611b6d565b67ffffffffffffffff16611140565b82356000908152600260208190526040909120015560a082013561092d610237610100850160e08601611926565b101561094b5760405162461bcd60e51b815260040161035f9061240c565b61096961095f610100840160e08501611926565b8360a00135610ed6565b81357faf0a96c5e2199c01ff2f213e7cce383bcf7c9e108a9096717e55d53a4816317e60608401356109a16040860160208701611b6d565b6109b16060870160408801611b6d565b6109c2610100880160e08901611926565b6109d461012089016101008a01611926565b6109e460e08a0160c08b01611926565b6040516109f6969594939291906125df565b60405180910390a250506000546201000090046001600160a01b031692915050565b4790565b600080610a28836102e8565b90506001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610a6f57610a6781610a5b610a18565b9063ffffffff61117f16565b915050610302565b610a6781610a5b85610a94565b6102e4610a8e36849003840184611a9b565b826111c1565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610ac3903090600401611e26565b60206040518083038186803b158015610adb57600080fd5b505afa158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b139190611b55565b92915050565b600090815260026020819052604090912080546001820154600383015492909301549093565b6000604051610b4d90611bb1565b6040518091039020826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b6101200151604051602001610ba39b9a99989796959493929190611f2d565b604051602081830303815290604052805190602001209050919050565b8151600090815260026020526040902054610bda83610b3f565b14610bf75760405162461bcd60e51b815260040161035f906122e6565b6000610c07836101000151610a1c565b6101008401519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610c4657610c43818363ffffffff6113af16565b90505b8251600090815260026020819052604090912001548015801590610c7d575083516000908152600260205260409020600301544211155b8015610c9b5750835160009081526002602052604090206001015415155b610cb75760405162461bcd60e51b815260040161035f90612039565b8215610ccc57610ccc846101000151846113d4565b81811115610d1157610ce384610100015183610ed6565b610cf3818363ffffffff61117f16565b84516000908152600260208190526040909120018190559050610e5b565b6000610d2f8560600151866020015167ffffffffffffffff16611140565b610100860151909150610d5190610d4c838563ffffffff61117f16565b610f1f565b8451600090815260026020819052604080832090910182905560e08701518751835290822060010154919350610d8691610f1f565b8451600090815260026020526040812060010181905560608601516080870151610db091906113ef565b61010087015160c0880151919250610dd791610dd2858563ffffffff61117f16565b611407565b610dec86610100015187610120015183611407565b8560c001516001600160a01b03166385a336c5876060015188604001516040518363ffffffff1660e01b8152600401610e269291906125c7565b600060405180830381600087803b158015610e4057600080fd5b505af1158015610e54573d6000803e3d6000fd5b5050505050505b83516040517f9bd393ad3b7beb95a663b7d1becdd0cecb8b3dd0734109be567e8bb707a787b190610791908690859042906125b1565b303b1590565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610ecb57610ec68282611412565b610432565b610ec68383836114b3565b6001600160a01b038216600090815260016020526040902054610eff908263ffffffff6113af16565b6001600160a01b0390921660009081526001602052604090209190915550565b6001600160a01b038216600090815260016020526040902054610eff908263ffffffff61117f16565b6104328282611412565b600080604051610f6190611cd9565b604080519182900382208282018252600b83526a437265646974204c696e6560a81b6020938401528151808301835260058152640312e302e360dc1b9084015290519092507f5e420c907c7ced2c7df83d4dc6c080ad1bca3c265fdd2ee768fae7918253a466917f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c914691600091611003918791879187918791309101611ea9565b604051602081830303815290604052805190602001209050600060405161102990611d46565b6040518091039020886000015189602001518a604001518b606001518c608001518d60a001518e60e001518f610100015160405160200161107299989796959493929190611ed5565b60405160208183030381529060405280519060200120905061109482826114cd565b98975050505050505050565b60008151604114156110d45760208201516040830151606084015160001a6110ca86828585611500565b9350505050610b13565b8151604014156110fc57602082015160408301516110f38583836115f6565b92505050610b13565b60405162461bcd60e51b815260040161035f9061206e565b600061113961112c836201518063ffffffff61162016565b849063ffffffff6113af16565b9392505050565b600080611165612710611159868663ffffffff61162016565b9063ffffffff61165a16565b9050611177848263ffffffff6113af16565b949350505050565b600061113983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061169c565b81516000908152600260205260409020546111db83610b3f565b146111f85760405162461bcd60e51b815260040161035f906122e6565b60006112168360600151846020015167ffffffffffffffff16611140565b905080821015801561123957508251600090815260026020526040902060010154155b6112555760405162461bcd60e51b815260040161035f9061236b565b82516000908152600260208190526040822001549061127a838363ffffffff61117f16565b85516000908152600260208190526040822001556101008601519091506112a190856113d4565b6112b085610100015182610f1f565b60006112c4866060015187608001516113ef565b61010087015160c08801519192506112e691610dd2878563ffffffff61117f16565b6112fb86610100015187610120015183611407565b8560c001516001600160a01b03166385a336c5876060015188604001516040518363ffffffff1660e01b81526004016113359291906125c7565b600060405180830381600087803b15801561134f57600080fd5b505af1158015611363573d6000803e3d6000fd5b5050505085600001517f9bd393ad3b7beb95a663b7d1becdd0cecb8b3dd0734109be567e8bb707a787b186854260405161139f939291906125b1565b60405180910390a2505050505050565b6000828201838110156111395760405162461bcd60e51b815260040161035f906120e6565b6102e46001600160a01b03831633308463ffffffff6116c816565b6000611139612710611159858563ffffffff61162016565b6104328383836114b3565b478111156114325760405162461bcd60e51b815260040161035f9061256e565b6000826001600160a01b0316826109609060405161144f90611d43565b600060405180830381858888f193505050503d806000811461148d576040519150601f19603f3d011682016040523d82523d6000602084013e611492565b606091505b50509050806104325760405162461bcd60e51b815260040161035f90612328565b6104326001600160a01b038416838363ffffffff61172616565b600082826040516020016114e2929190611cbe565b60405160208183030381529060405280519060200120905092915050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156115425760405162461bcd60e51b815260040161035f9061211d565b8360ff16601b148061155757508360ff16601c145b6115735760405162461bcd60e51b815260040161035f90612263565b6000600186868686604051600081526020016040526040516115989493929190611fb1565b6020604051602081039080840390855afa1580156115ba573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166115ed5760405162461bcd60e51b815260040161035f90612002565b95945050505050565b60006001600160ff1b03821660ff83901c601b0161161686828785611500565b9695505050505050565b60008261162f57506000610b13565b8282028284828161163c57fe5b04146111395760405162461bcd60e51b815260040161035f906122a5565b600061113983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611745565b600081848411156116c05760405162461bcd60e51b815260040161035f9190611fcf565b505050900390565b611720846323b872dd60e01b8585856040516024016116e993929190611e53565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261177c565b50505050565b6104328363a9059cbb60e01b84846040516024016116e9929190611e3a565b600081836117665760405162461bcd60e51b815260040161035f9190611fcf565b50600083858161177257fe5b0495945050505050565b60606117d1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661180b9092919063ffffffff16565b80519091501561043257808060200190518101906117ef919061196b565b6104325760405162461bcd60e51b815260040161035f906124d9565b606061117784846000856060611820856118d9565b61183c5760405162461bcd60e51b815260040161035f90612452565b60006060866001600160a01b031685876040516118599190611b95565b60006040518083038185875af1925050503d8060008114611896576040519150601f19603f3d011682016040523d82523d6000602084013e61189b565b606091505b509150915081156118af5791506111779050565b8051156118bf5780518082602001fd5b8360405162461bcd60e51b815260040161035f9190611fcf565b3b151590565b80356001600160a01b0381168114610b1357600080fd5b60006101408284031215611908578081fd5b50919050565b803567ffffffffffffffff81168114610b1357600080fd5b600060208284031215611937578081fd5b61113983836118df565b60008060408385031215611953578081fd5b61195d84846118df565b946020939093013593505050565b60006020828403121561197c578081fd5b81518015158114611139578182fd5b60006020828403121561199c578081fd5b5035919050565b600080600061016084860312156119b8578081fd5b833567ffffffffffffffff808211156119cf578283fd5b81860187601f8201126119e0578384fd5b80359250818311156119f0578384fd5b876020848301011115611a01578384fd5b602081019550505080925050611a1a85602086016118f6565b90509250925092565b60008060006101808486031215611a38578283fd5b611a4285856118f6565b9250610140840135611a5381612673565b9150610160840135611a6481612673565b809150509250925092565b6000806101608385031215611a82578182fd5b611a8c84846118f6565b94610140939093013593505050565b6000610140808385031215611aae578182fd5b611ab781612620565b83358152611ac8856020860161190e565b6020820152611ada856040860161190e565b6040820152606084013560608201526080840135608082015260a084013560a0820152611b0a8560c086016118df565b60c0820152611b1c8560e086016118df565b60e08201526101009150611b32858386016118df565b828201526101209150611b47858386016118df565b918101919091529392505050565b600060208284031215611b66578081fd5b5051919050565b600060208284031215611b7e578081fd5b813567ffffffffffffffff81168114611139578182fd5b60008251611ba7818460208701612647565b9190910192915050565b7f4c6f616e526571756573742862797465733332206c6f616e49642c2075696e7481527f3634206c6f616e496e746572657374526174652c2075696e743634206c6f616e60208201527f5465726d2c2075696e74323536206c6f616e416d6f756e742c2075696e74323560408201527f36206665652c2075696e7432353620696e697469616c436f6c6c61746572616c60608201527f416d6f756e742c2061646472657373206c656e6465722c20616464726573732060808201527f636f6c6c61746572616c416464726573732c206164647265737320756e64657260a08201527f6c79696e67416464726573732c206164647265737320696e737572657229000060c082015260de0190565b61190160f01b81526002810192909252602282015260420190565b7f454950373132446f6d61696e28737472696e67206e616d652c737472696e672081527f76657273696f6e2c75696e7432353620636861696e49642c6164647265737320602082015271766572696679696e67436f6e74726163742960701b604082015260520190565b90565b7f4c6f616e526571756573742862797465733332206c6f616e49642c75696e743681527f34206c6f616e496e746572657374526174652c75696e743634206c6f616e546560208201527f726d2c75696e74323536206c6f616e416d6f756e742c75696e7432353620666560408201527f652c75696e7432353620696e697469616c436f6c6c61746572616c416d6f756e60608201527f742c6164647265737320636f6c6c61746572616c416464726573732c6164647260808201527565737320756e6465726c79696e67416464726573732960501b60a082015260b60190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b90815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b988952602089019790975267ffffffffffffffff9586166040890152939094166060870152608086019190915260a085015260c08401919091526001600160a01b0390811660e0840152166101008201526101200190565b9a8b5260208b019990995267ffffffffffffffff97881660408b0152959096166060890152608088019390935260a087019190915260c08601526001600160a01b0390811660e08601529182166101008501528116610120840152166101408201526101600190565b93845260208401929092526040830152606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611fee816040850160208701612647565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252818101527f4c6f616e20436f6e74726163743a20496e76616c69642072657061796d656e74604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b60208082526021908201527f4c6f616e20436f6e74726163743a20496e73756666696369656e7420617373656040820152601d60fa1b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252601f908201527f4c697175696461746f723a20496e76616c6964206c69717569646174696f6e00604082015260600190565b6020808252602a908201527f4c6f616e20436f6e74726163743a20496e73756666696369656e7420756e6c6f60408201526918dad95908185cdcd95d60b21b606082015260800190565b6020808252818101527f4c6f616e20436f6e74726163743a20496e76616c6964207369676e6174757265604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526022908201527f4c6f616e20436f6e74726163743a20496e636f7272656374206c6f616e206461604082015261746160f01b606082015260800190565b60208082526023908201527f4c6f616e20436f6e74726163743a204661696c656420746f2073656e642045746040820152623432b960e91b606082015260800190565b6020808252602f908201527f4c6f616e20436f6e74726163743a20496e76616c6964206c697175696461746960408201526e6f6e207374617465206368616e676560881b606082015260800190565b60208082526032908201527f4c6f616e20436f6e74726163743a2043616c6c6572206d75737420626520536d604082015271185c9d10dc99591a5d0810dbdb9d1c9858dd60721b606082015260800190565b60208082526026908201527f4c6f616e20436f6e74726163743a20496e73756666696369656e7420636f6c6c604082015265185d195c985b60d21b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526030908201527f4c6f616e20436f6e74726163743a20496e6372656173696e6720636f6c6c617460408201526f195c985b081b9bdd08185b1b1bddd95960821b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602b908201527f4c6f616e20436f6e74726163743a20417574686f72697a6564206f6e6c79206660408201526a37b9103137b93937bbb2b960a91b606082015260800190565b60208082526023908201527f4c6f616e20436f6e74726163743a20496e73756666696369656e742062616c616040820152626e636560e81b606082015260800190565b9283526020830191909152604082015260600190565b91825267ffffffffffffffff16602082015260400190565b95865267ffffffffffffffff94851660208701529290931660408501526001600160a01b03908116606085015291821660808401521660a082015260c00190565b60405181810167ffffffffffffffff8111828210171561263f57600080fd5b604052919050565b60005b8381101561266257818101518382015260200161264a565b838111156117205750506000910152565b6001600160a01b038116811461268857600080fd5b5056fea2646970667358221220b329c5275a6caba7610cb74ecb65f399fbf4f5f84770dc3670024478b103d51164736f6c63430006060033
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Planning bytecode exploit analysis**
[codex:1218309]
[codex:1218309] I'm preparing to analyze the bytecode of a suspected loan contract for any exploitable patterns, focusing on function selectors and potential unauthorized fund transfers. Since there's no source code, I'll rely on heuristics and possibly a Python script to disassemble and inspect key opcodes like CALL, DELEGATECALL, SELFDESTRUCT, and SSTORE to identify vulnerabilities or access control issues.
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re
[codex:1218309] from binascii import unhexlify
[codex:1218309]
[codex:1218309] hexcode=open('runtime_bytecode.hex','rb').read().strip()
[codex:1218309] if hexcode.startswith(b'0x'): hexcode=hexcode[2:]
[codex:1218309] code=unhexlify(hexcode)
[codex:1218309]
[codex:1218309] # opcode table: opcode byte -> (name, immediate bytes)
[codex:1218309] # Build standard EVM opcodes
[codex:1218309] ops = {}
[codex:1218309] # 0x00-0x0f
[codex:1218309] names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] ops.update(names)
[codex:1218309] # PUSH1-32
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] # DUP1-16
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] # SWAP1-16
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] # LOG0-4
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] # Disassemble and capture CALL/DELEGATECALL/SELFDESTRUCT/SSTORE/JUMPI
[codex:1218309] positions=[]
[codex:1218309]
[codex:1218309] offset=0
[codex:1218309] while offset < len(code):
[codex:1218309] op=code[offset]
[codex:1218309] if op in ops:
[codex:1218309] name, imm = ops[op]
[codex:1218309] else:
[codex:1218309] name='UNKNOWN'
[codex:1218309] imm=0
[codex:1218309] if name in ('CALL','DELEGATECALL','STATICCALL','SELFDESTRUCT','SSTORE','SLOAD','CALLCODE'):
[codex:1218309] positions.append((offset,name))
[codex:1218309] # skip immediate bytes
[codex:1218309] offset+=1+imm
[codex:1218309]
[codex:1218309] # print positions
[codex:1218309] print('Total length',len(code))
[codex:1218309] print('Key op positions:',len(positions))
[codex:1218309] for off,name in positions[:50]:
[codex:1218309] print(hex(off),name)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t exited 1 in 27ms:
[codex:1218309] Traceback (most recent call last):
[codex:1218309] File "<stdin>", line 4, in <module>
[codex:1218309] FileNotFoundError: [Errno 2] No such file or directory: 'runtime_bytecode.hex'
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Extracting bytecode from file**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] # extract hex after 'FILE: runtime_bytecode.hex'
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] if not match:
[codex:1218309] raise SystemExit('not found')
[codex:1218309] hexcode=match.group(1)
[codex:1218309] print('hex len', len(hexcode))
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309] print('bytes', len(code))
[codex:1218309]
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] ops.update(base_names)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] positions=[]
[codex:1218309] offset=0
[codex:1218309] while offset < len(code):
[codex:1218309] op=code[offset]
[codex:1218309] if op in ops:
[codex:1218309] name, imm = ops[op]
[codex:1218309] else:
[codex:1218309] name='UNKNOWN'
[codex:1218309] imm=0
[codex:1218309] if name in ('CALL','DELEGATECALL','STATICCALL','SELFDESTRUCT','SSTORE','SLOAD','CALLCODE'):
[codex:1218309] positions.append((offset,name))
[codex:1218309] offset+=1+imm
[codex:1218309]
[codex:1218309] print('key op count', len(positions))
[codex:1218309] for off,name in positions[:80]:
[codex:1218309] print(hex(off), name)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t exited 1 in 30ms:
[codex:1218309] hex len 19844
[codex:1218309] bytes 9921
[codex:1218309] Traceback (most recent call last):
[codex:1218309] File "<stdin>", line 38, in <module>
[codex:1218309] ValueError: too many values to unpack (expected 2)
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Standardizing ops dictionary entries**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] if not match:
[codex:1218309] raise SystemExit('not found')
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] positions=[]
[codex:1218309] offset=0
[codex:1218309] while offset < len(code):
[codex:1218309] op=code[offset]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] if name in ('CALL','DELEGATECALL','STATICCALL','SELFDESTRUCT','SSTORE','SLOAD','CALLCODE'):
[codex:1218309] positions.append((offset,name))
[codex:1218309] offset+=1+imm
[codex:1218309]
[codex:1218309] print('length bytes', len(code))
[codex:1218309] print('key op count', len(positions))
[codex:1218309] for off,name in positions[:80]:
[codex:1218309] print(hex(off), name)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 26ms:
[codex:1218309] length bytes 9921
[codex:1218309] key op count 55
[codex:1218309] 0x301 SLOAD
[codex:1218309] 0x30a SLOAD
[codex:1218309] 0x31f SLOAD
[codex:1218309] 0x33e SLOAD
[codex:1218309] 0x36b SLOAD
[codex:1218309] 0x37e SLOAD
[codex:1218309] 0x392 SSTORE
[codex:1218309] 0x397 SLOAD
[codex:1218309] 0x3b5 SSTORE
[codex:1218309] 0x3bf SLOAD
[codex:1218309] 0x3c6 SSTORE
[codex:1218309] 0x3cd SLOAD
[codex:1218309] 0x448 SLOAD
[codex:1218309] 0x48b SLOAD
[codex:1218309] 0x4be SLOAD
[codex:1218309] 0x4c2 SSTORE
[codex:1218309] 0x595 SLOAD
[codex:1218309] 0x5d9 SLOAD
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing contract call patterns**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] # disassemble to list
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] # build map offset->index
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_context(target_off, before=8, after=10):
[codex:1218309] idx=index_by_off.get(target_off)
[codex:1218309] if idx is None:
[codex:1218309] print('offset not found', target_off)
[codex:1218309] return
[codex:1218309] start=max(0, idx-before)
[codex:1218309] end=min(len(ops_list), idx+after+1)
[codex:1218309] for off,name,imm,data in ops_list[start:end]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('----')
[codex:1218309]
[codex:1218309] call_offsets=[0x6bd,0xe43,0x1352,0x145c,0x1866]
[codex:1218309] static_offsets=[0xade,0x15a9]
[codex:1218309] print('CALL contexts')
[codex:1218309] for o in call_offsets:
[codex:1218309] show_context(o)
[codex:1218309] print('STATICCALL contexts')
[codex:1218309] for o in static_offsets:
[codex:1218309] show_context(o)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 30ms:
[codex:1218309] CALL contexts
[codex:1218309] 06b2: PUSH2 0x06ba
[codex:1218309] 06b5: JUMPI
[codex:1218309] 06b6: PUSH1 0x00
[codex:1218309] 06b8: DUP1
[codex:1218309] 06b9: REVERT
[codex:1218309] 06ba: JUMPDEST
[codex:1218309] 06bb: POP
[codex:1218309] 06bc: GAS
[codex:1218309] 06bd: CALL
[codex:1218309] 06be: ISZERO
[codex:1218309] 06bf: DUP1
[codex:1218309] 06c0: ISZERO
[codex:1218309] 06c1: PUSH2 0x06ce
[codex:1218309] 06c4: JUMPI
[codex:1218309] 06c5: RETURNDATASIZE
[codex:1218309] 06c6: PUSH1 0x00
[codex:1218309] 06c8: DUP1
[codex:1218309] 06c9: RETURNDATACOPY
[codex:1218309] 06ca: RETURNDATASIZE
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing call argument context in bytecode**
[codex:1218309]
[codex:1218309] I'm examining opcode patterns around low-level calls to understand arguments like value, address, and calldata. I want to detect access controls, owner checks, and whether any functions might allow unauthorized withdrawals, focusing on revert strings and known ERC20 function selectors for clues. This deep inspection involves tracing stack pushes and decoding revert messages to find possible exploitable functions or initialization issues.
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] # disassemble to list
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_context(target_off, before=30, after=30):
[codex:1218309] idx=index_by_off.get(target_off)
[codex:1218309] if idx is None:
[codex:1218309] print('offset not found', target_off)
[codex:1218309] return
[codex:1218309] start=max(0, idx-before)
[codex:1218309] end=min(len(ops_list), idx+after+1)
[codex:1218309] for off,name,imm,data in ops_list[start:end]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('----')
[codex:1218309]
[codex:1218309] for o in [0x6bd,0xe43,0x1352,0x145c,0x1866]:
[codex:1218309] print('context for', hex(o))
[codex:1218309] show_context(o)
[codex:1218309]
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 30ms:
[codex:1218309] context for 0x6bd
[codex:1218309] 0696: ADD
[codex:1218309] 0697: CALLDATALOAD
[codex:1218309] 0698: SWAP2
[codex:1218309] 0699: PUSH1 0x04
[codex:1218309] 069b: ADD
[codex:1218309] 069c: PUSH2 0x1e77
[codex:1218309] 069f: JUMP
[codex:1218309] 06a0: JUMPDEST
[codex:1218309] 06a1: PUSH1 0x20
[codex:1218309] 06a3: PUSH1 0x40
[codex:1218309] 06a5: MLOAD
[codex:1218309] 06a6: DUP1
[codex:1218309] 06a7: DUP4
[codex:1218309] 06a8: SUB
[codex:1218309] 06a9: DUP2
[codex:1218309] 06aa: PUSH1 0x00
[codex:1218309] 06ac: DUP8
[codex:1218309] 06ad: DUP1
[codex:1218309] 06ae: EXTCODESIZE
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing low-level calls and dispatcher selectors**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] # disassemble to list
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_context(target_off, before=8, after=30):
[codex:1218309] idx=index_by_off.get(target_off)
[codex:1218309] if idx is None:
[codex:1218309] print('offset not found', target_off)
[codex:1218309] return
[codex:1218309] start=max(0, idx-before)
[codex:1218309] end=min(len(ops_list), idx+after+1)
[codex:1218309] for off,name,imm,data in ops_list[start:end]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('----')
[codex:1218309]
[codex:1218309] # function entrypoints from dispatcher
[codex:1218309] entries=[0x00ed,0x010f,0x0145,0x0167,0x0187,0x01a7,0x01c7,0x01e7,0x0207,0x021c,0x023c,0x025c,0x027c,0x02ac]
[codex:1218309] for e in entries:
[codex:1218309] print('entry', hex(e))
[codex:1218309] show_context(e)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 31ms:
[codex:1218309] entry 0xed
[codex:1218309] 00e2: CALLDATASIZE
[codex:1218309] 00e3: PUSH2 0x00e8
[codex:1218309] 00e6: JUMPI
[codex:1218309] 00e7: STOP
[codex:1218309] 00e8: JUMPDEST
[codex:1218309] 00e9: PUSH1 0x00
[codex:1218309] 00eb: DUP1
[codex:1218309] 00ec: REVERT
[codex:1218309] 00ed: JUMPDEST
[codex:1218309] 00ee: CALLVALUE
[codex:1218309] 00ef: DUP1
[codex:1218309] 00f0: ISZERO
[codex:1218309] 00f1: PUSH2 0x00f9
[codex:1218309] 00f4: JUMPI
[codex:1218309] 00f5: PUSH1 0x00
[codex:1218309] 00f7: DUP1
[codex:1218309] 00f8: REVERT
[codex:1218309] 00f9: JUMPDEST
[codex:1218309] 00fa: POP
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Examining internal function addresses**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_from(start_off, count=80):
[codex:1218309] idx=index_by_off.get(start_off)
[codex:1218309] if idx is None:
[codex:1218309] print('offset not found', start_off)
[codex:1218309] return
[codex:1218309] end=min(len(ops_list), idx+count)
[codex:1218309] for off,name,imm,data in ops_list[idx:end]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('----')
[codex:1218309]
[codex:1218309] internal=[0x02cc,0x02e8,0x0307,0x031c,0x03ca,0x0437,0x0551,0x079f,0x0a18,0x0a1c,0x0a7c,0x0a94,0x0b19,0x0b3f]
[codex:1218309] for off in internal:
[codex:1218309] print('func', hex(off))
[codex:1218309] show_from(off, 80)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 31ms:
[codex:1218309] func 0x2cc
[codex:1218309] 02cc: JUMPDEST
[codex:1218309] 02cd: PUSH2 0x02e4
[codex:1218309] 02d0: PUSH2 0x02de
[codex:1218309] 02d3: CALLDATASIZE
[codex:1218309] 02d4: DUP5
[codex:1218309] 02d5: SWAP1
[codex:1218309] 02d6: SUB
[codex:1218309] 02d7: DUP5
[codex:1218309] 02d8: ADD
[codex:1218309] 02d9: DUP5
[codex:1218309] 02da: PUSH2 0x1a9b
[codex:1218309] 02dd: JUMP
[codex:1218309] 02de: JUMPDEST
[codex:1218309] 02df: DUP3
[codex:1218309] 02e0: PUSH2 0x0bc0
[codex:1218309] 02e3: JUMP
[codex:1218309] 02e4: JUMPDEST
[codex:1218309] 02e5: POP
[codex:1218309] 02e6: POP
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing function roles and call sites**
[codex:1218309]
[codex:1218309] I'm dissecting various internal functions to understand their role in state changes, ownership checks, and external calls. I’m focusing on mapping CALL instructions to their containing functions to identify potential unauthorized fund transfers or unprotected state modifications. This involves verifying access restrictions, hardcoded addresses, balance queries, and initializer safeguards around key storage slots. I'll keep checking initialization functions and calls to see if any critical state updates can be exploited.
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309] # opcode table
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] # show around 0x31c
[codex:1218309] start=0x031c
[codex:1218309] idx=index_by_off[start]
[codex:1218309] for off,name,imm,data in ops_list[idx:idx+120]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 28ms:
[codex:1218309] 031c: JUMPDEST
[codex:1218309] 031d: PUSH1 0x00
[codex:1218309] 031f: SLOAD
[codex:1218309] 0320: PUSH2 0x0100
[codex:1218309] 0323: SWAP1
[codex:1218309] 0324: DIV
[codex:1218309] 0325: PUSH1 0xff
[codex:1218309] 0327: AND
[codex:1218309] 0328: DUP1
[codex:1218309] 0329: PUSH2 0x0335
[codex:1218309] 032c: JUMPI
[codex:1218309] 032d: POP
[codex:1218309] 032e: PUSH2 0x0335
[codex:1218309] 0331: PUSH2 0x0e91
[codex:1218309] 0334: JUMP
[codex:1218309] 0335: JUMPDEST
[codex:1218309] 0336: DUP1
[codex:1218309] 0337: PUSH2 0x0343
[codex:1218309] 033a: JUMPI
[codex:1218309] 033b: POP
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing initializer and owner-restricted withdrawal**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re, binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)
[codex:1218309] code=binascii.unhexlify(hexcode[2:])
[codex:1218309]
[codex:1218309] ops = {}
[codex:1218309] base_names = {
[codex:1218309] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1218309] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1218309] 0x20:'SHA3',
[codex:1218309] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1218309] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1218309] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1218309] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1218309] }
[codex:1218309] for k,v in base_names.items():
[codex:1218309] ops[k]=(v,0)
[codex:1218309] for i in range(1,33):
[codex:1218309] ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17):
[codex:1218309] ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5):
[codex:1218309] ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]
[codex:1218309] off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name, imm = ops.get(op, ('UNKNOWN',0))
[codex:1218309] data=None
[codex:1218309] if imm:
[codex:1218309] data=code[off+1:off+1+imm]
[codex:1218309] ops_list.append((off, name, imm, data))
[codex:1218309] off += 1+imm
[codex:1218309]
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_from(start_off, count=80):
[codex:1218309] idx=index_by_off.get(start_off)
[codex:1218309] if idx is None:
[codex:1218309] print('offset not found', start_off)
[codex:1218309] return
[codex:1218309] end=min(len(ops_list), idx+count)
[codex:1218309] for off,name,imm,data in ops_list[idx:end]:
[codex:1218309] if data is not None and imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('----')
[codex:1218309]
[codex:1218309] for off in [0x0e91,0x0e97,0x0ed6,0x0f1f,0x0f48,0x0f52,0x1114,0x1140,0x13af,0x13d4,0x1412,0x14b3,0x14cd]:
[codex:1218309] print('func', hex(off))
[codex:1218309] show_from(off, 80)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 36ms:
[codex:1218309] func 0xe91
[codex:1218309] 0e91: JUMPDEST
[codex:1218309] 0e92: ADDRESS
[codex:1218309] 0e93: EXTCODESIZE
[codex:1218309] 0e94: ISZERO
[codex:1218309] 0e95: SWAP1
[codex:1218309] 0e96: JUMP
[codex:1218309] 0e97: JUMPDEST
[codex:1218309] 0e98: PUSH1 0x01
[codex:1218309] 0e9a: PUSH1 0x01
[codex:1218309] 0e9c: PUSH1 0xa0
[codex:1218309] 0e9e: SHL
[codex:1218309] 0e9f: SUB
[codex:1218309] 0ea0: DUP4
[codex:1218309] 0ea1: AND
[codex:1218309] 0ea2: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
[codex:1218309] 0eb7: EQ
[codex:1218309] 0eb8: ISZERO
[codex:1218309] 0eb9: PUSH2 0x0ecb
[codex:1218309] 0ebc: JUMPI
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing ETH/token transfer functions**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re,binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] match=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:1218309] hexcode=match.group(1)[2:]
[codex:1218309] code=binascii.unhexlify(hexcode)
[codex:1218309] # find occurrences of PUSH2 0x0e97 (opcode 0x61 0x0e 0x97)
[codex:1218309] pattern=b'\\x61\\x0e\\x97'
[codex:1218309] idx=0
[codex:1218309] positions=[]
[codex:1218309] while True:
[codex:1218309] i=code.find(pattern, idx)
[codex:1218309] if i==-1: break
[codex:1218309] positions.append(i)
[codex:1218309] idx=i+1
[codex:1218309] print('PUSH2 0x0e97 positions', [hex(p) for p in positions])
[codex:1218309] # also push2 0x1412 and 0x14b3
[codex:1218309] for target in [0x1412,0x14b3,0x0ed6]:
[codex:1218309] pat=b'\\x61'+target.to_bytes(2,'big')
[codex:1218309] idx=0
[codex:1218309] pos=[]
[codex:1218309] while True:
[codex:1218309] i=code.find(pat, idx)
[codex:1218309] if i==-1: break
[codex:1218309] pos.append(i)
[codex:1218309] idx=i+1
[codex:1218309] print('PUSH2',hex(target), 'positions', [hex(p) for p in pos])
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 25ms:
[codex:1218309] PUSH2 0x0e97 positions ['0x42e']
[codex:1218309] PUSH2 0x1412 positions ['0xec2', '0xf4e']
[codex:1218309] PUSH2 0x14b3 positions ['0xed2', '0x140e']
[codex:1218309] PUSH2 0xed6 positions ['0x50b', '0x965', '0xcdf']
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing send function usage**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re,binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] hexcode=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1218309] code=binascii.unhexlify(hexcode)
[codex:1218309] for target in [0x13d4,0x1412,0x14b3,0x1726,0x16c8,0x117f,0x13af]:
[codex:1218309] pat=b'\\x61'+target.to_bytes(2,'big')
[codex:1218309] pos=[]; idx=0
[codex:1218309] while True:
[codex:1218309] i=code.find(pat, idx)
[codex:1218309] if i==-1: break
[codex:1218309] pos.append(i)
[codex:1218309] idx=i+1
[codex:1218309] print(hex(target), [hex(p) for p in pos])
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 23ms:
[codex:1218309] 0x13d4 ['0xcc8', '0x129d']
[codex:1218309] 0x1412 ['0xec2', '0xf4e']
[codex:1218309] 0x14b3 ['0xed2', '0x140e']
[codex:1218309] 0x1726 ['0x14c8']
[codex:1218309] 0x16c8 ['0x13ea']
[codex:1218309] 0x117f ['0xa62', '0xcee', '0xd47', '0xdcd', '0xf43', '0x1275', '0x12e1']
[codex:1218309] 0x13af ['0xc3e', '0xefa', '0x1134', '0x1172']
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing ETH transfer function calls**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re,binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] hexcode=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1218309] code=binascii.unhexlify(hexcode)
[codex:1218309]
[codex:1218309] # disassemble
[codex:1218309] ops = {}
[codex:1218309] base_names = {0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1218309] for k,v in base_names.items(): ops[k]=(v,0)
[codex:1218309] for i in range(1,33): ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17): ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17): ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5): ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]; off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name,imm=ops.get(op,('UNKNOWN',0))
[codex:1218309] data=code[off+1:off+1+imm] if imm else None
[codex:1218309] ops_list.append((off,name,imm,data)); off += 1+imm
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] def show_context(target_off,before=20,after=20):
[codex:1218309] idx=index_by_off[target_off]
[codex:1218309] for off,name,imm,data in ops_list[max(0,idx-before):min(len(ops_list),idx+after)]:
[codex:1218309] if imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] print('---')
[codex:1218309]
[codex:1218309] for off in [0xcc8,0x129d]:
[codex:1218309] print('context', hex(off))
[codex:1218309] show_context(off)
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 31ms:
[codex:1218309] context 0xcc8
[codex:1218309] 0ca9: SHL
[codex:1218309] 0caa: DUP2
[codex:1218309] 0cab: MSTORE
[codex:1218309] 0cac: PUSH1 0x04
[codex:1218309] 0cae: ADD
[codex:1218309] 0caf: PUSH2 0x035f
[codex:1218309] 0cb2: SWAP1
[codex:1218309] 0cb3: PUSH2 0x2039
[codex:1218309] 0cb6: JUMP
[codex:1218309] 0cb7: JUMPDEST
[codex:1218309] 0cb8: DUP3
[codex:1218309] 0cb9: ISZERO
[codex:1218309] 0cba: PUSH2 0x0ccc
[codex:1218309] 0cbd: JUMPI
[codex:1218309] 0cbe: PUSH2 0x0ccc
[codex:1218309] 0cc1: DUP5
[codex:1218309] 0cc2: PUSH2 0x0100
[codex:1218309] 0cc5: ADD
[codex:1218309] 0cc6: MLOAD
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing contract call and access control**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re,binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] hexcode=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1218309] code=binascii.unhexlify(hexcode)
[codex:1218309]
[codex:1218309] # disassemble
[codex:1218309] ops={}
[codex:1218309] base={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1218309] for k,v in base.items(): ops[k]=(v,0)
[codex:1218309] for i in range(1,33): ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17): ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17): ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5): ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]; off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name,imm=ops.get(op,('UNKNOWN',0))
[codex:1218309] data=code[off+1:off+1+imm] if imm else None
[codex:1218309] ops_list.append((off,name,imm,data)); off += 1+imm
[codex:1218309] index_by_off={off:i for i,(off,_,_,_) in enumerate(ops_list)}
[codex:1218309]
[codex:1218309] start=0xb80; end=0xd80
[codex:1218309] for off,name,imm,data in ops_list[index_by_off[start]:index_by_off[end]]:
[codex:1218309] if imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] PY" in /tmp/codex-multi-8295m99t exited 1 in 38ms:
[codex:1218309] Traceback (most recent call last):
[codex:1218309] File "<stdin>", line 24, in <module>
[codex:1218309] KeyError: 2944
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Checking start offset alignment**
[codex:1218309] exec
[codex:1218309] /bin/bash -lc "python - <<'PY'
[codex:1218309] import re,binascii
[codex:1218309] text=open('BYTECODE_BUNDLE.txt','r').read()
[codex:1218309] hexcode=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', text).group(1)[2:]
[codex:1218309] code=binascii.unhexlify(hexcode)
[codex:1218309]
[codex:1218309] # disassemble
[codex:1218309] ops={}
[codex:1218309] base={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:1218309] for k,v in base.items(): ops[k]=(v,0)
[codex:1218309] for i in range(1,33): ops[0x5f+i]=('PUSH%d'%i,i)
[codex:1218309] for i in range(1,17): ops[0x7f+i]=('DUP%d'%i,0)
[codex:1218309] for i in range(1,17): ops[0x8f+i]=('SWAP%d'%i,0)
[codex:1218309] for i in range(0,5): ops[0xa0+i]=('LOG%d'%i,0)
[codex:1218309]
[codex:1218309] ops_list=[]; off=0
[codex:1218309] while off < len(code):
[codex:1218309] op=code[off]
[codex:1218309] name,imm=ops.get(op,('UNKNOWN',0))
[codex:1218309] data=code[off+1:off+1+imm] if imm else None
[codex:1218309] ops_list.append((off,name,imm,data)); off += 1+imm
[codex:1218309]
[codex:1218309] start=0xb80; end=0xd80
[codex:1218309] for off,name,imm,data in ops_list:
[codex:1218309] if start <= off <= end:
[codex:1218309] if imm:
[codex:1218309] print(f\"{off:04x}: {name} 0x{data.hex()}\")
[codex:1218309] else:
[codex:1218309] print(f\"{off:04x}: {name}\")
[codex:1218309] PY" in /tmp/codex-multi-8295m99t succeeded in 27ms:
[codex:1218309] 0b82: ADD
[codex:1218309] 0b83: MLOAD
[codex:1218309] 0b84: DUP12
[codex:1218309] 0b85: PUSH2 0x0120
[codex:1218309] 0b88: ADD
[codex:1218309] 0b89: MLOAD
[codex:1218309] 0b8a: PUSH1 0x40
[codex:1218309] 0b8c: MLOAD
[codex:1218309] 0b8d: PUSH1 0x20
[codex:1218309] 0b8f: ADD
[codex:1218309] 0b90: PUSH2 0x0ba3
[codex:1218309] 0b93: SWAP12
[codex:1218309] 0b94: SWAP11
[codex:1218309] 0b95: SWAP10
[codex:1218309] 0b96: SWAP9
[codex:1218309] 0b97: SWAP8
[codex:1218309] 0b98: SWAP7
[codex:1218309] 0b99: SWAP6
[codex:1218309] 0b9a: SWAP5
[codex:1218309] 0b9b: SWAP4
[codex:1218309]
[codex:1218309] thinking
[codex:1218309] **Analyzing reentrancy and exploitability risks**
[codex:1218309]
[codex:1218309] I’m carefully reviewing the call order and state updates to see if any reentrancy vulnerabilities enable profit, but I find no definitive exploit path due to access controls and function restrictions; I’ll conclude with no findings and produce a minimal JSON report accordingly.
[codex:1218309] codex
[codex:1218309] {"no_findings":true,"summary":"No concrete, exploitable profit path identified in the provided runtime bytecode; external calls/value transfers appear gated by internal checks or role restrictions, with no unprotected upgrade/selfdestruct or direct arbitrary value transfer observable from bytecode alone.","findings":[]}
[codex:1218309] tokens used
[codex:1218309] 114,943
[codex:1218309] {"no_findings":true,"summary":"No concrete, exploitable profit path identified in the provided runtime bytecode; external calls/value transfers appear gated by internal checks or role restrictions, with no unprotected upgrade/selfdestruct or direct arbitrary value transfer observable from bytecode alone.","findings":[]}
{
"codex": {
"ran_at": "2026-01-04T00:43:51.564668+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit path identified in the provided runtime bytecode; external calls/value transfers appear gated by internal checks or role restrictions, with no unprotected upgrade/selfdestruct or direct arbitrary value transfer observable from bytecode alone.",
"raw_final": {
"summary": "No concrete, exploitable profit path identified in the provided runtime bytecode; external calls/value transfers appear gated by internal checks or role restrictions, with no unprotected upgrade/selfdestruct or direct arbitrary value transfer observable from bytecode alone.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00e1 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x6e764a3c 00000019: GT 0000001a: PUSH2 0x007f 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x8459e45a 00000024: GT 00000025: PUSH2 0x0059 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x8459e45a 0000002f: EQ 00000030: PUSH2 0x023c 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xb588d225 0000003a: EQ 0000003b: PUSH2 0x025c 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xc4d2b1b3 00000045: EQ 00000046: PUSH2 0x027c 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xcb76ef2d 00000050: EQ 00000051: PUSH2 0x02ac 00000054: JUMPI 00000055: PUSH2 0x00e8 00000058: JUMP 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0x6e764a3c 00000060: EQ 00000061: PUSH2 0x01e7 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0x6e947298 0000006b: EQ 0000006c: PUSH2 0x0207 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x7e695d56 00000076: EQ 00000077: PUSH2 0x021c 0000007a: JUMPI 0000007b: PUSH2 0x00e8 0000007e: JUMP 0000007f: JUMPDEST 00000080: DUP1 00000081: PUSH4 0x2391b6a6 00000086: GT 00000087: PUSH2 0x00bb 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x2391b6a6 00000091: EQ 00000092: PUSH2 0x0167 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x38e4f064 0000009c: EQ 0000009d: PUSH2 0x0187 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x4d34425e 000000a7: EQ 000000a8: PUSH2 0x01a7 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x4d3c7fb8 000000b2: EQ 000000b3: PUSH2 0x01c7 000000b6: JUMPI 000000b7: PUSH2 0x00e8 000000ba: JUMP 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x01ad194f 000000c2: EQ 000000c3: PUSH2 0x00ed 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x1bc6dec8 000000cd: EQ 000000ce: PUSH2 0x010f 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x1cb0c3e7 000000d8: EQ 000000d9: PUSH2 0x0145 000000dc: JUMPI 000000dd: PUSH2 0x00e8 000000e0: JUMP 000000e1: JUMPDEST 000000e2: CALLDATASIZE 000000e3: PUSH2 0x00e8 000000e6: JUMPI 000000e7: STOP 000000e8: JUMPDEST 000000e9: PUSH1 0x00 000000eb: DUP1 000000ec: REVERT 000000ed: JUMPDEST 000000ee: CALLVALUE 000000ef: DUP1 000000f0: ISZERO 000000f1: PUSH2 0x00f9 000000f4: JUMPI 000000f5: PUSH1 0x00 000000f7: DUP1 000000f8: REVERT 000000f9: JUMPDEST 000000fa: POP 000000fb: PUSH2 0x010d 000000fe: PUSH2 0x0108 00000101: CALLDATASIZE 00000102: PUSH1 0x04 00000104: PUSH2 0x1a6f 00000107: JUMP 00000108: JUMPDEST 00000109: PUSH2 0x02cc 0000010c: JUMP 0000010d: JUMPDEST 0000010e: STOP 0000010f: JUMPDEST 00000110: CALLVALUE 00000111: DUP1 00000112: ISZERO 00000113: PUSH2 0x011b 00000116: JUMPI 00000117: PUSH1 0x00 00000119: DUP1 0000011a: REVERT 0000011b: JUMPDEST 0000011c: POP 0000011d: PUSH2 0x012f 00000120: PUSH2 0x012a 00000123: CALLDATASIZE 00000124: PUSH1 0x04 00000126: PUSH2 0x1926 00000129: JUMP 0000012a: JUMPDEST 0000012b: PUSH2 0x02e8 0000012e: JUMP 0000012f: JUMPDEST 00000130: PUSH1 0x40 00000132: MLOAD 00000133: PUSH2 0x013c 00000136: SWAP2 00000137: SWAP1 00000138: PUSH2 0x1ea0 0000013b: JUMP 0000013c: JUMPDEST 0000013d: PUSH1 0x40 0000013f: MLOAD 00000140: DUP1 00000141: SWAP2 00000142: SUB 00000143: SWAP1 00000144: RETURN 00000145: JUMPDEST 00000146: CALLVALUE 00000147: DUP1 00000148: ISZERO 00000149: PUSH2 0x0151 0000014c: JUMPI 0000014d: PUSH1 0x00 0000014f: DUP1 00000150: REVERT 00000151: JUMPDEST 00000152: POP 00000153: PUSH2 0x015a 00000156: PUSH2 0x0307 00000159: JUMP 0000015a: JUMPDEST 0000015b: PUSH1 0x40 0000015d: MLOAD 0000015e: PUSH2 0x013c 00000161: SWAP2 00000162: SWAP1 00000163: PUSH2 0x1e26 00000166: JUMP 00000167: JUMPDEST 00000168: CALLVALUE 00000169: DUP1 0000016a: ISZERO 0000016b: PUSH2 0x0173 0000016e: JUMPI 0000016f: PUSH1 0x00 00000171: DUP1 00000172: REVERT 00000173: JUMPDEST 00000174: POP 00000175: PUSH2 0x010d 00000178: PUSH2 0x0182 0000017b: CALLDATASIZE 0000017c: PUSH1 0x04 0000017e: PUSH2 0x1926 00000181: JUMP 00000182: JUMPDEST 00000183: PUSH2 0x031c 00000186: JUMP 00000187: JUMPDEST 00000188: CALLVALUE 00000189: DUP1 0000018a: ISZERO 0000018b: PUSH2 0x0193 0000018e: JUMPI 0000018f: PUSH1 0x00 00000191: DUP1 00000192: REVERT 00000193: JUMPDEST 00000194: POP 00000195: PUSH2 0x010d 00000198: PUSH2 0x01a2 0000019b: CALLDATASIZE 0000019c: PUSH1 0x04 0000019e: PUSH2 0x1941 000001a1: JUMP 000001a2: JUMPDEST 000001a3: PUSH2 0x03ca 000001a6: JUMP 000001a7: JUMPDEST 000001a8: CALLVALUE 000001a9: DUP1 000001aa: ISZERO 000001ab: PUSH2 0x01b3 000001ae: JUMPI 000001af: PUSH1 0x00 000001b1: DUP1 000001b2: REVERT 000001b3: JUMPDEST 000001b4: POP 000001b5: PUSH2 0x010d 000001b8: PUSH2 0x01c2 000001bb: CALLDATASIZE 000001bc: PUSH1 0x04 000001be: PUSH2 0x1a6f 000001c1: JUMP 000001c2: JUMPDEST 000001c3: PUSH2 0x0437 000001c6: JUMP 000001c7: JUMPDEST 000001c8: CALLVALUE 000001c9: DUP1 000001ca: ISZERO 000001cb: PUSH2 0x01d3 000001ce: JUMPI 000001cf: PUSH1 0x00 000001d1: DUP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: POP 000001d5: PUSH2 0x010d 000001d8: PUSH2 0x01e2 000001db: CALLDATASIZE 000001dc: PUSH1 0x04 000001de: PUSH2 0x1a23 000001e1: JUMP 000001e2: JUMPDEST 000001e3: PUSH2 0x0551 000001e6: JUMP 000001e7: JUMPDEST 000001e8: CALLVALUE 000001e9: DUP1 000001ea: ISZERO 000001eb: PUSH2 0x01f3 000001ee: JUMPI 000001ef: PUSH1 0x00 000001f1: DUP1 000001f2: REVERT 000001f3: JUMPDEST 000001f4: POP 000001f5: PUSH2 0x015a 000001f8: PUSH2 0x0202 000001fb: CALLDATASIZE 000001fc: PUSH1 0x04 000001fe: PUSH2 0x19a3 00000201: JUMP 00000202: JUMPDEST 00000203: PUSH2 0x079f 00000206: JUMP 00000207: JUMPDEST 00000208: CALLVALUE 00000209: DUP1 0000020a: ISZERO 0000020b: PUSH2 0x0213 0000020e: JUMPI 0000020f: PUSH1 0x00 00000211: DUP1 00000212: REVERT 00000213: JUMPDEST 00000214: POP 00000215: PUSH2 0x012f 00000218: PUSH2 0x0a18 0000021b: JUMP 0000021c: JUMPDEST 0000021d: CALLVALUE 0000021e: DUP1 0000021f: ISZERO 00000220: PUSH2 0x0228 00000223: JUMPI 00000224: PUSH1 0x00 00000226: DUP1 00000227: REVERT 00000228: JUMPDEST 00000229: POP 0000022a: PUSH2 0x012f 0000022d: PUSH2 0x0237 00000230: CALLDATASIZE 00000231: PUSH1 0x04 00000233: PUSH2 0x1926 00000236: JUMP 00000237: JUMPDEST 00000238: PUSH2 0x0a1c 0000023b: JUMP 0000023c: JUMPDEST 0000023d: CALLVALUE 0000023e: DUP1 0000023f: ISZERO 00000240: PUSH2 0x0248 00000243: JUMPI 00000244: PUSH1 0x00 00000246: DUP1 00000247: REVERT 00000248: JUMPDEST 00000249: POP 0000024a: PUSH2 0x010d 0000024d: PUSH2 0x0257 00000250: CALLDATASIZE 00000251: PUSH1 0x04 00000253: PUSH2 0x1a6f 00000256: JUMP 00000257: JUMPDEST 00000258: PUSH2 0x0a7c 0000025b: JUMP 0000025c: JUMPDEST 0000025d: CALLVALUE 0000025e: DUP1 0000025f: ISZERO 00000260: PUSH2 0x0268 00000263: JUMPI 00000264: PUSH1 0x00 00000266: DUP1 00000267: REVERT 00000268: JUMPDEST 00000269: POP 0000026a: PUSH2 0x012f 0000026d: PUSH2 0x0277 00000270: CALLDATASIZE 00000271: PUSH1 0x04 00000273: PUSH2 0x1926 00000276: JUMP 00000277: JUMPDEST 00000278: PUSH2 0x0a94 0000027b: JUMP 0000027c: JUMPDEST 0000027d: CALLVALUE 0000027e: DUP1 0000027f: ISZERO 00000280: PUSH2 0x0288 00000283: JUMPI 00000284: PUSH1 0x00 00000286: DUP1 00000287: REVERT 00000288: JUMPDEST 00000289: POP 0000028a: PUSH2 0x029c 0000028d: PUSH2 0x0297 00000290: CALLDATASIZE 00000291: PUSH1 0x04 00000293: PUSH2 0x198b 00000296: JUMP 00000297: JUMPDEST 00000298: PUSH2 0x0b19 0000029b: JUMP 0000029c: JUMPDEST 0000029d: PUSH1 0x40 0000029f: MLOAD 000002a0: PUSH2 0x013c 000002a3: SWAP5 000002a4: SWAP4 000002a5: SWAP3 000002a6: SWAP2 000002a7: SWAP1 000002a8: PUSH2 0x1f96 000002ab: JUMP 000002ac: JUMPDEST 000002ad: CALLVALUE 000002ae: DUP1 000002af: ISZERO 000002b0: PUSH2 0x02b8 000002b3: JUMPI 000002b4: PUSH1 0x00 000002b6: DUP1 000002b7: REVERT 000002b8: JUMPDEST 000002b9: POP 000002ba: PUSH2 0x012f 000002bd: PUSH2 0x02c7 000002c0: CALLDATASIZE 000002c1: PUSH1 0x04 000002c3: PUSH2 0x1a9b 000002c6: JUMP 000002c7: JUMPDEST 000002c8: PUSH2 0x0b3f 000002cb: JUMP 000002cc: JUMPDEST 000002cd: PUSH2 0x02e4 000002d0: PUSH2 0x02de 000002d3: CALLDATASIZE 000002d4: DUP5 000002d5: SWAP1 000002d6: SUB 000002d7: DUP5 000002d8: ADD 000002d9: DUP5 000002da: PUSH2 0x1a9b 000002dd: JUMP 000002de: JUMPDEST 000002df: DUP3 000002e0: PUSH2 0x0bc0 000002e3: JUMP 000002e4: JUMPDEST 000002e5: POP 000002e6: POP 000002e7: JUMP 000002e8: JUMPDEST 000002e9: PUSH1 0x01 000002eb: PUSH1 0x01 000002ed: PUSH1 0xa0 000002ef: SHL 000002f0: SUB 000002f1: DUP2 000002f2: AND 000002f3: PUSH1 0x00 000002f5: SWAP1 000002f6: DUP2 000002f7: MSTORE 000002f8: PUSH1 0x01 000002fa: PUSH1 0x20 000002fc: MSTORE 000002fd: PUSH1 0x40 000002ff: SWAP1 00000300: KECCAK256 00000301: SLOAD 00000302: JUMPDEST 00000303: SWAP2 00000304: SWAP1 00000305: POP 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH1 0x00 0000030a: SLOAD 0000030b: PUSH3 0x010000 0000030f: SWAP1 00000310: DIV 00000311: PUSH1 0x01 00000313: PUSH1 0x01 00000315: PUSH1 0xa0 00000317: SHL 00000318: SUB 00000319: AND 0000031a: SWAP1 0000031b: JUMP 0000031c: JUMPDEST 0000031d: PUSH1 0x00 0000031f: SLOAD 00000320: PUSH2 0x0100 00000323: SWAP1 00000324: DIV 00000325: PUSH1 0xff 00000327: AND 00000328: DUP1 00000329: PUSH2 0x0335 0000032c: JUMPI 0000032d: POP 0000032e: PUSH2 0x0335 00000331: PUSH2 0x0e91 00000334: JUMP 00000335: JUMPDEST 00000336: DUP1 00000337: PUSH2 0x0343 0000033a: JUMPI 0000033b: POP 0000033c: PUSH1 0x00 0000033e: SLOAD 0000033f: PUSH1 0xff 00000341: AND 00000342: ISZERO 00000343: JUMPDEST 00000344: PUSH2 0x0368 00000347: JUMPI 00000348: PUSH1 0x40 0000034a: MLOAD 0000034b: PUSH3 0x461bcd 0000034f: PUSH1 0xe5 00000351: SHL 00000352: DUP2 00000353: MSTORE 00000354: PUSH1 0x04 00000356: ADD 00000357: PUSH2 0x035f 0000035a: SWAP1 0000035b: PUSH2 0x2215 0000035e: JUMP 0000035f: JUMPDEST 00000360: PUSH1 0x40 00000362: MLOAD 00000363: DUP1 00000364: SWAP2 00000365: SUB 00000366: SWAP1 00000367: REVERT 00000368: JUMPDEST 00000369: PUSH1 0x00 0000036b: SLOAD 0000036c: PUSH2 0x0100 0000036f: SWAP1 00000370: DIV 00000371: PUSH1 0xff 00000373: AND 00000374: ISZERO 00000375: DUP1 00000376: ISZERO 00000377: PUSH2 0x0393 0000037a: JUMPI 0000037b: PUSH1 0x00 0000037d: DUP1 0000037e: SLOAD 0000037f: PUSH1 0xff 00000381: NOT 00000382: PUSH2 0xff00 00000385: NOT 00000386: SWAP1 00000387: SWAP2 00000388: AND 00000389: PUSH2 0x0100 0000038c: OR 0000038d: AND 0000038e: PUSH1 0x01 00000390: OR 00000391: SWAP1 00000392: SSTORE 00000393: JUMPDEST 00000394: PUSH1 0x00 00000396: DUP1 00000397: SLOAD 00000398: PUSH3 0x010000 0000039c: PUSH1 0x01 0000039e: PUSH1 0xb0 000003a0: SHL 000003a1: SUB 000003a2: NOT 000003a3: AND 000003a4: PUSH3 0x010000 000003a8: PUSH1 0x01 000003aa: PUSH1 0x01 000003ac: PUSH1 0xa0 000003ae: SHL 000003af: SUB 000003b0: DUP6 000003b1: AND 000003b2: MUL 000003b3: OR 000003b4: SWAP1 000003b5: SSTORE 000003b6: DUP1 000003b7: ISZERO 000003b8: PUSH2 0x02e4 000003bb: JUMPI 000003bc: PUSH1 0x00 000003be: DUP1 000003bf: SLOAD 000003c0: PUSH2 0xff00 000003c3: NOT 000003c4: AND 000003c5: SWAP1 000003c6: SSTORE 000003c7: POP 000003c8: POP 000003c9: JUMP 000003ca: JUMPDEST 000003cb: PUSH1 0x00 000003cd: SLOAD 000003ce: PUSH3 0x010000 000003d2: SWAP1 000003d3: DIV 000003d4: PUSH1 0x01 000003d6: PUSH1 0x01 000003d8: PUSH1 0xa0 000003da: SHL 000003db: SUB 000003dc: AND 000003dd: CALLER 000003de: EQ 000003df: PUSH2 0x03fa 000003e2: JUMPI 000003e3: PUSH1 0x40 000003e5: MLOAD 000003e6: PUSH3 0x461bcd 000003ea: PUSH1 0xe5 000003ec: SHL 000003ed: DUP2 000003ee: MSTORE 000003ef: PUSH1 0x04 000003f1: ADD 000003f2: PUSH2 0x035f 000003f5: SWAP1 000003f6: PUSH2 0x2523 000003f9: JUMP 000003fa: JUMPDEST 000003fb: PUSH1 0x00 000003fd: PUSH2 0x0405 00000400: DUP4 00000401: PUSH2 0x0a1c 00000404: JUMP 00000405: JUMPDEST 00000406: SWAP1 00000407: POP 00000408: DUP2 00000409: DUP2 0000040a: LT 0000040b: ISZERO 0000040c: PUSH2 0x0427 0000040f: JUMPI 00000410: PUSH1 0x40 00000412: MLOAD 00000413: PUSH3 0x461bcd 00000417: PUSH1 0xe5 00000419: SHL 0000041a: DUP2 0000041b: MSTORE 0000041c: PUSH1 0x04 0000041e: ADD 0000041f: PUSH2 0x035f 00000422: SWAP1 00000423: PUSH2 0x2196 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH2 0x0432 0000042b: DUP4 0000042c: CALLER 0000042d: DUP5 0000042e: PUSH2 0x0e97 00000431: JUMP 00000432: JUMPDEST 00000433: POP 00000434: POP 00000435: POP 00000436: JUMP 00000437: JUMPDEST 00000438: DUP2 00000439: CALLDATALOAD 0000043a: PUSH1 0x00 0000043c: SWAP1 0000043d: DUP2 0000043e: MSTORE 0000043f: PUSH1 0x02 00000441: PUSH1 0x20 00000443: MSTORE 00000444: PUSH1 0x40 00000446: SWAP1 00000447: KECCAK256 00000448: SLOAD 00000449: PUSH2 0x045a 0000044c: PUSH2 0x02c7 0000044f: CALLDATASIZE 00000450: DUP6 00000451: SWAP1 00000452: SUB 00000453: DUP6 00000454: ADD 00000455: DUP6 00000456: PUSH2 0x1a9b 00000459: JUMP 0000045a: JUMPDEST 0000045b: EQ 0000045c: PUSH2 0x0477 0000045f: JUMPI 00000460: PUSH1 0x40 00000462: MLOAD 00000463: PUSH3 0x461bcd 00000467: PUSH1 0xe5 00000469: SHL 0000046a: DUP2 0000046b: MSTORE 0000046c: PUSH1 0x04 0000046e: ADD 0000046f: PUSH2 0x035f 00000472: SWAP1 00000473: PUSH2 0x22e6 00000476: JUMP 00000477: JUMPDEST 00000478: DUP2 00000479: CALLDATALOAD 0000047a: PUSH1 0x00 0000047c: SWAP1 0000047d: DUP2 0000047e: MSTORE 0000047f: PUSH1 0x02 00000481: PUSH1 0x20 00000483: MSTORE 00000484: PUSH1 0x40 00000486: SWAP1 00000487: KECCAK256 00000488: PUSH1 0x03 0000048a: ADD 0000048b: SLOAD 0000048c: TIMESTAMP 0000048d: LT 0000048e: PUSH2 0x04a9 00000491: JUMPI 00000492: PUSH1 0x40 00000494: MLOAD 00000495: PUSH3 0x461bcd 00000499: PUSH1 0xe5 0000049b: SHL 0000049c: DUP2 0000049d: MSTORE 0000049e: PUSH1 0x04 000004a0: ADD 000004a1: PUSH2 0x035f 000004a4: SWAP1 000004a5: PUSH2 0x2489 000004a8: JUMP 000004a9: JUMPDEST 000004aa: DUP2 000004ab: CALLDATALOAD 000004ac: PUSH1 0x00 000004ae: SWAP1 000004af: DUP2 000004b0: MSTORE 000004b1: PUSH1 0x02 000004b3: PUSH1 0x20 000004b5: MSTORE 000004b6: PUSH1 0x40 000004b8: SWAP1 000004b9: KECCAK256 000004ba: PUSH1 0x01 000004bc: ADD 000004bd: DUP1 000004be: SLOAD 000004bf: DUP3 000004c0: ADD 000004c1: SWAP1 000004c2: SSTORE 000004c3: DUP1 000004c4: PUSH2 0x04d7 000004c7: PUSH2 0x0237 000004ca: PUSH2 0x0100 000004cd: DUP6 000004ce: ADD 000004cf: PUSH1 0xe0 000004d1: DUP7 000004d2: ADD 000004d3: PUSH2 0x1926 000004d6: JUMP 000004d7: JUMPDEST 000004d8: LT 000004d9: ISZERO 000004da: PUSH2 0x04f5 000004dd: JUMPI 000004de: PUSH1 0x40 000004e0: MLOAD 000004e1: PUSH3 0x461bcd 000004e5: PUSH1 0xe5 000004e7: SHL 000004e8: DUP2 000004e9: MSTORE 000004ea: PUSH1 0x04 000004ec: ADD 000004ed: PUSH2 0x035f 000004f0: SWAP1 000004f1: PUSH2 0x20a5 000004f4: JUMP 000004f5: JUMPDEST 000004f6: PUSH2 0x050f 000004f9: PUSH2 0x0509 000004fc: PUSH2 0x0100 000004ff: DUP5 00000500: ADD 00000501: PUSH1 0xe0 00000503: DUP6 00000504: ADD 00000505: PUSH2 0x1926 00000508: JUMP 00000509: JUMPDEST 0000050a: DUP3 0000050b: PUSH2 0x0ed6 0000050e: JUMP 0000050f: JUMPDEST 00000510: DUP2 00000511: PUSH1 0x00 00000513: ADD 00000514: CALLDATALOAD 00000515: PUSH32 0xe2511e4cea073cd1ede5b25a5089509b8d88ab0c1c3d8ddb3717e7afbf823981 00000536: CALLER 00000537: DUP4 00000538: PUSH1 0x40 0000053a: MLOAD 0000053b: PUSH2 0x0545 0000053e: SWAP3 0000053f: SWAP2 00000540: SWAP1 00000541: PUSH2 0x1e3a 00000544: JUMP 00000545: JUMPDEST 00000546: PUSH1 0x40 00000548: MLOAD 00000549: DUP1 0000054a: SWAP2 0000054b: SUB 0000054c: SWAP1 0000054d: LOG2 0000054e: POP 0000054f: POP 00000550: JUMP 00000551: JUMPDEST 00000552: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28 00000567: CALLER 00000568: EQ 00000569: PUSH2 0x0584 0000056c: JUMPI 0000056d: PUSH1 0x40 0000056f: MLOAD 00000570: PUSH3 0x461bcd 00000574: PUSH1 0xe5 00000576: SHL 00000577: DUP2 00000578: MSTORE 00000579: PUSH1 0x04 0000057b: ADD 0000057c: PUSH2 0x035f 0000057f: SWAP1 00000580: PUSH2 0x23ba 00000583: JUMP 00000584: JUMPDEST 00000585: DUP3 00000586: CALLDATALOAD 00000587: PUSH1 0x00 00000589: SWAP1 0000058a: DUP2 0000058b: MSTORE 0000058c: PUSH1 0x02 0000058e: PUSH1 0x20 00000590: MSTORE 00000591: PUSH1 0x40 00000593: SWAP1 00000594: KECCAK256 00000595: SLOAD 00000596: PUSH2 0x05a7 00000599: PUSH2 0x02c7 0000059c: CALLDATASIZE 0000059d: DUP7 0000059e: SWAP1 0000059f: SUB 000005a0: DUP7 000005a1: ADD 000005a2: DUP7 000005a3: PUSH2 0x1a9b 000005a6: JUMP 000005a7: JUMPDEST 000005a8: EQ 000005a9: PUSH2 0x05c4 000005ac: JUMPI 000005ad: PUSH1 0x40 000005af: MLOAD 000005b0: PUSH3 0x461bcd 000005b4: PUSH1 0xe5 000005b6: SHL 000005b7: DUP2 000005b8: MSTORE 000005b9: PUSH1 0x04 000005bb: ADD 000005bc: PUSH2 0x035f 000005bf: SWAP1 000005c0: PUSH2 0x22e6 000005c3: JUMP 000005c4: JUMPDEST 000005c5: DUP3 000005c6: CALLDATALOAD 000005c7: PUSH1 0x00 000005c9: SWAP1 000005ca: DUP2 000005cb: MSTORE 000005cc: PUSH1 0x02 000005ce: PUSH1 0x20 000005d0: DUP2 000005d1: SWAP1 000005d2: MSTORE 000005d3: PUSH1 0x40 000005d5: SWAP1 000005d6: SWAP2 000005d7: KECCAK256 000005d8: ADD 000005d9: SLOAD 000005da: ISZERO 000005db: DUP1 000005dc: ISZERO 000005dd: SWAP1 000005de: PUSH2 0x05f9 000005e1: JUMPI 000005e2: POP 000005e3: DUP3 000005e4: CALLDATALOAD 000005e5: PUSH1 0x00 000005e7: SWAP1 000005e8: DUP2 000005e9: MSTORE 000005ea: PUSH1 0x02 000005ec: PUSH1 0x20 000005ee: MSTORE 000005ef: PUSH1 0x40 000005f1: SWAP1 000005f2: KECCAK256 000005f3: PUSH1 0x01 000005f5: ADD 000005f6: SLOAD 000005f7: ISZERO 000005f8: ISZERO 000005f9: JUMPDEST 000005fa: PUSH2 0x0615 000005fd: JUMPI 000005fe: PUSH1 0x40 00000600: MLOAD 00000601: PUSH3 0x461bcd 00000605: PUSH1 0xe5 00000607: SHL 00000608: DUP2 00000609: MSTORE 0000060a: PUSH1 0x04 0000060c: ADD 0000060d: PUSH2 0x035f 00000610: SWAP1 00000611: PUSH2 0x236b 00000614: JUMP 00000615: JUMPDEST 00000616: DUP3 00000617: CALLDATALOAD 00000618: PUSH1 0x00 0000061a: SWAP1 0000061b: DUP2 0000061c: MSTORE 0000061d: PUSH1 0x02 0000061f: PUSH1 0x20 00000621: MSTORE 00000622: PUSH1 0x40 00000624: SWAP1 00000625: KECCAK256 00000626: PUSH1 0x03 00000628: ADD 00000629: SLOAD 0000062a: TIMESTAMP 0000062b: GT 0000062c: DUP1 0000062d: PUSH2 0x06f2 00000630: JUMPI 00000631: POP 00000632: PUSH1 0x01 00000634: PUSH1 0x01 00000636: PUSH1 0xa0 00000638: SHL 00000639: SUB 0000063a: DUP2 0000063b: AND 0000063c: PUSH4 0x041abcde 00000641: PUSH2 0x0651 00000644: PUSH2 0x0100 00000647: DUP7 00000648: ADD 00000649: PUSH1 0xe0 0000064b: DUP8 0000064c: ADD 0000064d: PUSH2 0x1926 00000650: JUMP 00000651: JUMPDEST 00000652: PUSH2 0x0663 00000655: PUSH2 0x0120 00000658: DUP8 00000659: ADD 0000065a: PUSH2 0x0100 0000065d: DUP9 0000065e: ADD 0000065f: PUSH2 0x1926 00000662: JUMP 00000663: JUMPDEST 00000664: DUP7 00000665: CALLDATALOAD 00000666: PUSH1 0x00 00000668: SWAP1 00000669: DUP2 0000066a: MSTORE 0000066b: PUSH1 0x02 0000066d: PUSH1 0x20 0000066f: MSTORE 00000670: PUSH1 0x40 00000672: SWAP1 00000673: DUP2 00000674: SWAP1 00000675: KECCAK256 00000676: PUSH1 0x01 00000678: ADD 00000679: SLOAD 0000067a: SWAP1 0000067b: MLOAD 0000067c: PUSH1 0x01 0000067e: PUSH1 0x01 00000680: PUSH1 0xe0 00000682: SHL 00000683: SUB 00000684: NOT 00000685: PUSH1 0xe0 00000687: DUP7 00000688: SWAP1 00000689: SHL 0000068a: AND 0000068b: DUP2 0000068c: MSTORE 0000068d: PUSH2 0x06a0 00000690: SWAP4 00000691: SWAP3 00000692: SWAP2 00000693: PUSH1 0x60 00000695: DUP11 00000696: ADD 00000697: CALLDATALOAD 00000698: SWAP2 00000699: PUSH1 0x04 0000069b: ADD 0000069c: PUSH2 0x1e77 0000069f: JUMP 000006a0: JUMPDEST 000006a1: PUSH1 0x20 000006a3: PUSH1 0x40 000006a5: MLOAD 000006a6: DUP1 000006a7: DUP4 000006a8: SUB 000006a9: DUP2 000006aa: PUSH1 0x00 000006ac: DUP8 000006ad: DUP1 000006ae: EXTCODESIZE 000006af: ISZERO 000006b0: DUP1 000006b1: ISZERO 000006b2: PUSH2 0x06ba 000006b5: JUMPI 000006b6: PUSH1 0x00 000006b8: DUP1 000006b9: REVERT 000006ba: JUMPDEST 000006bb: POP 000006bc: GAS 000006bd: CALL 000006be: ISZERO 000006bf: DUP1 000006c0: ISZERO 000006c1: PUSH2 0x06ce 000006c4: JUMPI 000006c5: RETURNDATASIZE 000006c6: PUSH1 0x00 000006c8: DUP1 000006c9: RETURNDATACOPY 000006ca: RETURNDATASIZE 000006cb: PUSH1 0x00 000006cd: REVERT 000006ce: JUMPDEST 000006cf: POP 000006d0: POP 000006d1: POP 000006d2: POP 000006d3: PUSH1 0x40 000006d5: MLOAD 000006d6: RETURNDATASIZE 000006d7: PUSH1 0x1f 000006d9: NOT 000006da: PUSH1 0x1f 000006dc: DUP3 000006dd: ADD 000006de: AND 000006df: DUP3 000006e0: ADD 000006e1: DUP1 000006e2: PUSH1 0x40 000006e4: MSTORE 000006e5: POP 000006e6: DUP2 000006e7: ADD 000006e8: SWAP1 000006e9: PUSH2 0x06f2 000006ec: SWAP2 000006ed: SWAP1 000006ee: PUSH2 0x196b 000006f1: JUMP 000006f2: JUMPDEST 000006f3: PUSH2 0x070e 000006f6: JUMPI 000006f7: PUSH1 0x40 000006f9: MLOAD 000006fa: PUSH3 0x461bcd 000006fe: PUSH1 0xe5 00000700: SHL 00000701: DUP2 00000702: MSTORE 00000703: PUSH1 0x04 00000705: ADD 00000706: PUSH2 0x035f 00000709: SWAP1 0000070a: PUSH2 0x215f 0000070d: JUMP 0000070e: JUMPDEST 0000070f: DUP3 00000710: CALLDATALOAD 00000711: PUSH1 0x00 00000713: SWAP1 00000714: DUP2 00000715: MSTORE 00000716: PUSH1 0x02 00000718: PUSH1 0x20 0000071a: MSTORE 0000071b: PUSH1 0x40 0000071d: DUP2 0000071e: KECCAK256 0000071f: PUSH1 0x01 00000721: ADD 00000722: DUP1 00000723: SLOAD 00000724: SWAP2 00000725: SWAP1 00000726: SSTORE 00000727: PUSH2 0x0740 0000072a: PUSH2 0x073a 0000072d: PUSH2 0x0100 00000730: DUP7 00000731: ADD 00000732: PUSH1 0xe0 00000734: DUP8 00000735: ADD 00000736: PUSH2 0x1926 00000739: JUMP 0000073a: JUMPDEST 0000073b: DUP3 0000073c: PUSH2 0x0f1f 0000073f: JUMP 00000740: JUMPDEST 00000741: PUSH2 0x075b 00000744: PUSH2 0x0754 00000747: PUSH2 0x0100 0000074a: DUP7 0000074b: ADD 0000074c: PUSH1 0xe0 0000074e: DUP8 0000074f: ADD 00000750: PUSH2 0x1926 00000753: JUMP 00000754: JUMPDEST 00000755: DUP5 00000756: DUP4 00000757: PUSH2 0x0f48 0000075a: JUMP 0000075b: JUMPDEST 0000075c: DUP4 0000075d: PUSH1 0x00 0000075f: ADD 00000760: CALLDATALOAD 00000761: PUSH32 0xd46d78fa6d2c31ef7370232916f555e0972dcff745a87e3faf1d72b4c999c570 00000782: DUP5 00000783: DUP4 00000784: PUSH1 0x40 00000786: MLOAD 00000787: PUSH2 0x0791 0000078a: SWAP3 0000078b: SWAP2 0000078c: SWAP1 0000078d: PUSH2 0x1e3a 00000790: JUMP 00000791: JUMPDEST 00000792: PUSH1 0x40 00000794: MLOAD 00000795: DUP1 00000796: SWAP2 00000797: SUB 00000798: SWAP1 00000799: LOG2 0000079a: POP 0000079b: POP 0000079c: POP 0000079d: POP 0000079e: JUMP 0000079f: JUMPDEST 000007a0: PUSH1 0x00 000007a2: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28 000007b7: CALLER 000007b8: EQ 000007b9: PUSH2 0x07d4 000007bc: JUMPI 000007bd: PUSH1 0x40 000007bf: MLOAD 000007c0: PUSH3 0x461bcd 000007c4: PUSH1 0xe5 000007c6: SHL 000007c7: DUP2 000007c8: MSTORE 000007c9: PUSH1 0x04 000007cb: ADD 000007cc: PUSH2 0x035f 000007cf: SWAP1 000007d0: PUSH2 0x23ba 000007d3: JUMP 000007d4: JUMPDEST 000007d5: PUSH1 0x00 000007d7: SLOAD 000007d8: PUSH3 0x010000 000007dc: SWAP1 000007dd: DIV 000007de: PUSH1 0x01 000007e0: PUSH1 0x01 000007e2: PUSH1 0xa0 000007e4: SHL 000007e5: SUB 000007e6: AND 000007e7: PUSH2 0x083c 000007ea: PUSH2 0x0800 000007ed: PUSH2 0x07fb 000007f0: CALLDATASIZE 000007f1: DUP7 000007f2: SWAP1 000007f3: SUB 000007f4: DUP7 000007f5: ADD 000007f6: DUP7 000007f7: PUSH2 0x1a9b 000007fa: JUMP 000007fb: JUMPDEST 000007fc: PUSH2 0x0f52 000007ff: JUMP 00000800: JUMPDEST 00000801: DUP7 00000802: DUP7 00000803: DUP1 00000804: DUP1 00000805: PUSH1 0x1f 00000807: ADD 00000808: PUSH1 0x20 0000080a: DUP1 0000080b: SWAP2 0000080c: DIV 0000080d: MUL 0000080e: PUSH1 0x20 00000810: ADD 00000811: PUSH1 0x40 00000813: MLOAD 00000814: SWAP1 00000815: DUP2 00000816: ADD 00000817: PUSH1 0x40 00000819: MSTORE 0000081a: DUP1 0000081b: SWAP4 0000081c: SWAP3 0000081d: SWAP2 0000081e: SWAP1 0000081f: DUP2 00000820: DUP2 00000821: MSTORE 00000822: PUSH1 0x20 00000824: ADD 00000825: DUP4 00000826: DUP4 00000827: DUP1 00000828: DUP3 00000829: DUP5 0000082a: CALLDATACOPY 0000082b: PUSH1 0x00 0000082d: SWAP3 0000082e: ADD 0000082f: SWAP2 00000830: SWAP1 00000831: SWAP2 00000832: MSTORE 00000833: POP 00000834: PUSH2 0x10a0 00000837: SWAP3 00000838: POP 00000839: POP 0000083a: POP 0000083b: JUMP 0000083c: JUMPDEST 0000083d: PUSH1 0x01 0000083f: PUSH1 0x01 00000841: PUSH1 0xa0 00000843: SHL 00000844: SUB 00000845: AND 00000846: EQ 00000847: PUSH2 0x0862 0000084a: JUMPI 0000084b: PUSH1 0x40 0000084d: MLOAD 0000084e: PUSH3 0x461bcd 00000852: PUSH1 0xe5 00000854: SHL 00000855: DUP2 00000856: MSTORE 00000857: PUSH1 0x04 00000859: ADD 0000085a: PUSH2 0x035f 0000085d: SWAP1 0000085e: PUSH2 0x21e0 00000861: JUMP 00000862: JUMPDEST 00000863: PUSH2 0x0874 00000866: PUSH2 0x02c7 00000869: CALLDATASIZE 0000086a: DUP5 0000086b: SWAP1 0000086c: SUB 0000086d: DUP5 0000086e: ADD 0000086f: DUP5 00000870: PUSH2 0x1a9b 00000873: JUMP 00000874: JUMPDEST 00000875: DUP3 00000876: CALLDATALOAD 00000877: PUSH1 0x00 00000879: SWAP1 0000087a: DUP2 0000087b: MSTORE 0000087c: PUSH1 0x02 0000087e: PUSH1 0x20 00000880: MSTORE 00000881: PUSH1 0x40 00000883: SWAP1 00000884: DUP2 00000885: SWAP1 00000886: KECCAK256 00000887: SWAP2 00000888: DUP3 00000889: SSTORE 0000088a: PUSH1 0xa0 0000088c: DUP5 0000088d: ADD 0000088e: CALLDATALOAD 0000088f: PUSH1 0x01 00000891: SWAP1 00000892: SWAP3 00000893: ADD 00000894: SWAP2 00000895: SWAP1 00000896: SWAP2 00000897: SSTORE 00000898: PUSH2 0x08bc 0000089b: SWAP1 0000089c: TIMESTAMP 0000089d: SWAP1 0000089e: PUSH2 0x08ad 000008a1: SWAP1 000008a2: PUSH1 0x60 000008a4: DUP7 000008a5: ADD 000008a6: SWAP1 000008a7: DUP7 000008a8: ADD 000008a9: PUSH2 0x1b6d 000008ac: JUMP 000008ad: JUMPDEST 000008ae: PUSH8 0xffffffffffffffff 000008b7: AND 000008b8: PUSH2 0x1114 000008bb: JUMP 000008bc: JUMPDEST 000008bd: DUP3 000008be: CALLDATALOAD 000008bf: PUSH1 0x00 000008c1: SWAP1 000008c2: DUP2 000008c3: MSTORE 000008c4: PUSH1 0x02 000008c6: PUSH1 0x20 000008c8: SWAP1 000008c9: DUP2 000008ca: MSTORE 000008cb: PUSH1 0x40 000008cd: SWAP2 000008ce: DUP3 000008cf: SWAP1 000008d0: KECCAK256 000008d1: PUSH1 0x03 000008d3: ADD 000008d4: SWAP3 000008d5: SWAP1 000008d6: SWAP3 000008d7: SSTORE 000008d8: PUSH2 0x08ff 000008db: SWAP2 000008dc: PUSH1 0x60 000008de: DUP6 000008df: ADD 000008e0: CALLDATALOAD 000008e1: SWAP2 000008e2: PUSH2 0x08f0 000008e5: SWAP2 000008e6: SWAP1 000008e7: DUP7 000008e8: ADD 000008e9: SWAP1 000008ea: DUP7 000008eb: ADD 000008ec: PUSH2 0x1b6d 000008ef: JUMP 000008f0: JUMPDEST 000008f1: PUSH8 0xffffffffffffffff 000008fa: AND 000008fb: PUSH2 0x1140 000008fe: JUMP 000008ff: JUMPDEST 00000900: DUP3 00000901: CALLDATALOAD 00000902: PUSH1 0x00 00000904: SWAP1 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x02 00000909: PUSH1 0x20 0000090b: DUP2 0000090c: SWAP1 0000090d: MSTORE 0000090e: PUSH1 0x40 00000910: SWAP1 00000911: SWAP2 00000912: KECCAK256 00000913: ADD 00000914: SSTORE 00000915: PUSH1 0xa0 00000917: DUP3 00000918: ADD 00000919: CALLDATALOAD 0000091a: PUSH2 0x092d 0000091d: PUSH2 0x0237 00000920: PUSH2 0x0100 00000923: DUP6 00000924: ADD 00000925: PUSH1 0xe0 00000927: DUP7 00000928: ADD 00000929: PUSH2 0x1926 0000092c: JUMP 0000092d: JUMPDEST 0000092e: LT 0000092f: ISZERO 00000930: PUSH2 0x094b 00000933: JUMPI 00000934: PUSH1 0x40 00000936: MLOAD 00000937: PUSH3 0x461bcd 0000093b: PUSH1 0xe5 0000093d: SHL 0000093e: DUP2 0000093f: MSTORE 00000940: PUSH1 0x04 00000942: ADD 00000943: PUSH2 0x035f 00000946: SWAP1 00000947: PUSH2 0x240c 0000094a: JUMP 0000094b: JUMPDEST 0000094c: PUSH2 0x0969 0000094f: PUSH2 0x095f 00000952: PUSH2 0x0100 00000955: DUP5 00000956: ADD 00000957: PUSH1 0xe0 00000959: DUP6 0000095a: ADD 0000095b: PUSH2 0x1926 0000095e: JUMP 0000095f: JUMPDEST 00000960: DUP4 00000961: PUSH1 0xa0 00000963: ADD 00000964: CALLDATALOAD 00000965: PUSH2 0x0ed6 00000968: JUMP 00000969: JUMPDEST 0000096a: DUP2 0000096b: CALLDATALOAD 0000096c: PUSH32 0xaf0a96c5e2199c01ff2f213e7cce383bcf7c9e108a9096717e55d53a4816317e 0000098d: PUSH1 0x60 0000098f: DUP5 00000990: ADD 00000991: CALLDATALOAD 00000992: PUSH2 0x09a1 00000995: PUSH1 0x40 00000997: DUP7 00000998: ADD 00000999: PUSH1 0x20 0000099b: DUP8 0000099c: ADD 0000099d: PUSH2 0x1b6d 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH2 0x09b1 000009a5: PUSH1 0x60 000009a7: DUP8 000009a8: ADD 000009a9: PUSH1 0x40 000009ab: DUP9 000009ac: ADD 000009ad: PUSH2 0x1b6d 000009b0: JUMP 000009b1: JUMPDEST 000009b2: PUSH2 0x09c2 000009b5: PUSH2 0x0100 000009b8: DUP9 000009b9: ADD 000009ba: PUSH1 0xe0 000009bc: DUP10 000009bd: ADD 000009be: PUSH2 0x1926 000009c1: JUMP 000009c2: JUMPDEST 000009c3: PUSH2 0x09d4 000009c6: PUSH2 0x0120 000009c9: DUP10 000009ca: ADD 000009cb: PUSH2 0x0100 000009ce: DUP11 000009cf: ADD 000009d0: PUSH2 0x1926 000009d3: JUMP 000009d4: JUMPDEST 000009d5: PUSH2 0x09e4 000009d8: PUSH1 0xe0 000009da: DUP11 000009db: ADD 000009dc: PUSH1 0xc0 000009de: DUP12 000009df: ADD 000009e0: PUSH2 0x1926 000009e3: JUMP 000009e4: JUMPDEST 000009e5: PUSH1 0x40 000009e7: MLOAD 000009e8: PUSH2 0x09f6 000009eb: SWAP7 000009ec: SWAP6 000009ed: SWAP5 000009ee: SWAP4 000009ef: SWAP3 000009f0: SWAP2 000009f1: SWAP1 000009f2: PUSH2 0x25df 000009f5: JUMP 000009f6: JUMPDEST 000009f7: PUSH1 0x40 000009f9: MLOAD 000009fa: DUP1 000009fb: SWAP2 000009fc: SUB 000009fd: SWAP1 000009fe: LOG2 000009ff: POP 00000a00: POP 00000a01: PUSH1 0x00 00000a03: SLOAD 00000a04: PUSH3 0x010000 00000a08: SWAP1 00000a09: DIV 00000a0a: PUSH1 0x01 00000a0c: PUSH1 0x01 00000a0e: PUSH1 0xa0 00000a10: SHL 00000a11: SUB 00000a12: AND 00000a13: SWAP3 00000a14: SWAP2 00000a15: POP 00000a16: POP 00000a17: JUMP 00000a18: JUMPDEST 00000a19: SELFBALANCE 00000a1a: SWAP1 00000a1b: JUMP 00000a1c: JUMPDEST 00000a1d: PUSH1 0x00 00000a1f: DUP1 00000a20: PUSH2 0x0a28 00000a23: DUP4 00000a24: PUSH2 0x02e8 00000a27: JUMP 00000a28: JUMPDEST 00000a29: SWAP1 00000a2a: POP 00000a2b: PUSH1 0x01 00000a2d: PUSH1 0x01 00000a2f: PUSH1 0xa0 00000a31: SHL 00000a32: SUB 00000a33: DUP4 00000a34: AND 00000a35: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000a4a: EQ 00000a4b: ISZERO 00000a4c: PUSH2 0x0a6f 00000a4f: JUMPI 00000a50: PUSH2 0x0a67 00000a53: DUP2 00000a54: PUSH2 0x0a5b 00000a57: PUSH2 0x0a18 00000a5a: JUMP 00000a5b: JUMPDEST 00000a5c: SWAP1 00000a5d: PUSH4 0xffffffff 00000a62: PUSH2 0x117f 00000a65: AND 00000a66: JUMP 00000a67: JUMPDEST 00000a68: SWAP2 00000a69: POP 00000a6a: POP 00000a6b: PUSH2 0x0302 00000a6e: JUMP 00000a6f: JUMPDEST 00000a70: PUSH2 0x0a67 00000a73: DUP2 00000a74: PUSH2 0x0a5b 00000a77: DUP6 00000a78: PUSH2 0x0a94 00000a7b: JUMP 00000a7c: JUMPDEST 00000a7d: PUSH2 0x02e4 00000a80: PUSH2 0x0a8e 00000a83: CALLDATASIZE 00000a84: DUP5 00000a85: SWAP1 00000a86: SUB 00000a87: DUP5 00000a88: ADD 00000a89: DUP5 00000a8a: PUSH2 0x1a9b 00000a8d: JUMP 00000a8e: JUMPDEST 00000a8f: DUP3 00000a90: PUSH2 0x11c1 00000a93: JUMP 00000a94: JUMPDEST 00000a95: PUSH1 0x40 00000a97: MLOAD 00000a98: PUSH4 0x70a08231 00000a9d: PUSH1 0xe0 00000a9f: SHL 00000aa0: DUP2 00000aa1: MSTORE 00000aa2: PUSH1 0x00 00000aa4: SWAP1 00000aa5: PUSH1 0x01 00000aa7: PUSH1 0x01 00000aa9: PUSH1 0xa0 00000aab: SHL 00000aac: SUB 00000aad: DUP4 00000aae: AND 00000aaf: SWAP1 00000ab0: PUSH4 0x70a08231 00000ab5: SWAP1 00000ab6: PUSH2 0x0ac3 00000ab9: SWAP1 00000aba: ADDRESS 00000abb: SWAP1 00000abc: PUSH1 0x04 00000abe: ADD 00000abf: PUSH2 0x1e26 00000ac2: JUMP 00000ac3: JUMPDEST 00000ac4: PUSH1 0x20 00000ac6: PUSH1 0x40 00000ac8: MLOAD 00000ac9: DUP1 00000aca: DUP4 00000acb: SUB 00000acc: DUP2 00000acd: DUP7 00000ace: DUP1 00000acf: EXTCODESIZE 00000ad0: ISZERO 00000ad1: DUP1 00000ad2: ISZERO 00000ad3: PUSH2 0x0adb 00000ad6: JUMPI 00000ad7: PUSH1 0x00 00000ad9: DUP1 00000ada: REVERT 00000adb: JUMPDEST 00000adc: POP 00000add: GAS 00000ade: STATICCALL 00000adf: ISZERO 00000ae0: DUP1 00000ae1: ISZERO 00000ae2: PUSH2 0x0aef 00000ae5: JUMPI 00000ae6: RETURNDATASIZE 00000ae7: PUSH1 0x00 00000ae9: DUP1 00000aea: RETURNDATACOPY 00000aeb: RETURNDATASIZE 00000aec: PUSH1 0x00 00000aee: REVERT 00000aef: JUMPDEST 00000af0: POP 00000af1: POP 00000af2: POP 00000af3: POP 00000af4: PUSH1 0x40 00000af6: MLOAD 00000af7: RETURNDATASIZE 00000af8: PUSH1 0x1f 00000afa: NOT 00000afb: PUSH1 0x1f 00000afd: DUP3 00000afe: ADD 00000aff: AND 00000b00: DUP3 00000b01: ADD 00000b02: DUP1 00000b03: PUSH1 0x40 00000b05: MSTORE 00000b06: POP 00000b07: DUP2 00000b08: ADD 00000b09: SWAP1 00000b0a: PUSH2 0x0b13 00000b0d: SWAP2 00000b0e: SWAP1 00000b0f: PUSH2 0x1b55 00000b12: JUMP 00000b13: JUMPDEST 00000b14: SWAP3 00000b15: SWAP2 00000b16: POP 00000b17: POP 00000b18: JUMP 00000b19: JUMPDEST 00000b1a: PUSH1 0x00 00000b1c: SWAP1 00000b1d: DUP2 00000b1e: MSTORE 00000b1f: PUSH1 0x02 00000b21: PUSH1 0x20 00000b23: DUP2 00000b24: SWAP1 00000b25: MSTORE 00000b26: PUSH1 0x40 00000b28: SWAP1 00000b29: SWAP2 00000b2a: KECCAK256 00000b2b: DUP1 00000b2c: SLOAD 00000b2d: PUSH1 0x01 00000b2f: DUP3 00000b30: ADD 00000b31: SLOAD 00000b32: PUSH1 0x03 00000b34: DUP4 00000b35: ADD 00000b36: SLOAD 00000b37: SWAP3 00000b38: SWAP1 00000b39: SWAP4 00000b3a: ADD 00000b3b: SLOAD 00000b3c: SWAP1 00000b3d: SWAP4 00000b3e: JUMP 00000b3f: JUMPDEST 00000b40: PUSH1 0x00 00000b42: PUSH1 0x40 00000b44: MLOAD 00000b45: PUSH2 0x0b4d 00000b48: SWAP1 00000b49: PUSH2 0x1bb1 00000b4c: JUMP 00000b4d: JUMPDEST 00000b4e: PUSH1 0x40 00000b50: MLOAD 00000b51: DUP1 00000b52: SWAP2 00000b53: SUB 00000b54: SWAP1 00000b55: KECCAK256 00000b56: DUP3 00000b57: PUSH1 0x00 00000b59: ADD 00000b5a: MLOAD 00000b5b: DUP4 00000b5c: PUSH1 0x20 00000b5e: ADD 00000b5f: MLOAD 00000b60: DUP5 00000b61: PUSH1 0x40 00000b63: ADD 00000b64: MLOAD 00000b65: DUP6 00000b66: PUSH1 0x60 00000b68: ADD 00000b69: MLOAD 00000b6a: DUP7 00000b6b: PUSH1 0x80 00000b6d: ADD 00000b6e: MLOAD 00000b6f: DUP8 00000b70: PUSH1 0xa0 00000b72: ADD 00000b73: MLOAD 00000b74: DUP9 00000b75: PUSH1 0xc0 00000b77: ADD 00000b78: MLOAD 00000b79: DUP10 00000b7a: PUSH1 0xe0 00000b7c: ADD 00000b7d: MLOAD 00000b7e: DUP11 00000b7f: PUSH2 0x0100 00000b82: ADD 00000b83: MLOAD 00000b84: DUP12 00000b85: PUSH2 0x0120 00000b88: ADD 00000b89: MLOAD 00000b8a: PUSH1 0x40 00000b8c: MLOAD 00000b8d: PUSH1 0x20 00000b8f: ADD 00000b90: PUSH2 0x0ba3 00000b93: SWAP12 00000b94: SWAP11 00000b95: SWAP10 00000b96: SWAP9 00000b97: SWAP8 00000b98: SWAP7 00000b99: SWAP6 00000b9a: SWAP5 00000b9b: SWAP4 00000b9c: SWAP3 00000b9d: SWAP2 00000b9e: SWAP1 00000b9f: PUSH2 0x1f2d 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: PUSH1 0x40 00000ba6: MLOAD 00000ba7: PUSH1 0x20 00000ba9: DUP2 00000baa: DUP4 00000bab: SUB 00000bac: SUB 00000bad: DUP2 00000bae: MSTORE 00000baf: SWAP1 00000bb0: PUSH1 0x40 00000bb2: MSTORE 00000bb3: DUP1 00000bb4: MLOAD 00000bb5: SWAP1 00000bb6: PUSH1 0x20 00000bb8: ADD 00000bb9: KECCAK256 00000bba: SWAP1 00000bbb: POP 00000bbc: SWAP2 00000bbd: SWAP1 00000bbe: POP 00000bbf: JUMP 00000bc0: JUMPDEST 00000bc1: DUP2 00000bc2: MLOAD 00000bc3: PUSH1 0x00 00000bc5: SWAP1 00000bc6: DUP2 00000bc7: MSTORE 00000bc8: PUSH1 0x02 00000bca: PUSH1 0x20 00000bcc: MSTORE 00000bcd: PUSH1 0x40 00000bcf: SWAP1 00000bd0: KECCAK256 00000bd1: SLOAD 00000bd2: PUSH2 0x0bda 00000bd5: DUP4 00000bd6: PUSH2 0x0b3f 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: EQ 00000bdc: PUSH2 0x0bf7 00000bdf: JUMPI 00000be0: PUSH1 0x40 00000be2: MLOAD 00000be3: PUSH3 0x461bcd 00000be7: PUSH1 0xe5 00000be9: SHL 00000bea: DUP2 00000beb: MSTORE 00000bec: PUSH1 0x04 00000bee: ADD 00000bef: PUSH2 0x035f 00000bf2: SWAP1 00000bf3: PUSH2 0x22e6 00000bf6: JUMP 00000bf7: JUMPDEST 00000bf8: PUSH1 0x00 00000bfa: PUSH2 0x0c07 00000bfd: DUP4 00000bfe: PUSH2 0x0100 00000c01: ADD 00000c02: MLOAD 00000c03: PUSH2 0x0a1c 00000c06: JUMP 00000c07: JUMPDEST 00000c08: PUSH2 0x0100 00000c0b: DUP5 00000c0c: ADD 00000c0d: MLOAD 00000c0e: SWAP1 00000c0f: SWAP2 00000c10: POP 00000c11: PUSH1 0x01 00000c13: PUSH1 0x01 00000c15: PUSH1 0xa0 00000c17: SHL 00000c18: SUB 00000c19: AND 00000c1a: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000c2f: EQ 00000c30: PUSH2 0x0c46 00000c33: JUMPI 00000c34: PUSH2 0x0c43 00000c37: DUP2 00000c38: DUP4 00000c39: PUSH4 0xffffffff 00000c3e: PUSH2 0x13af 00000c41: AND 00000c42: JUMP 00000c43: JUMPDEST 00000c44: SWAP1 00000c45: POP 00000c46: JUMPDEST 00000c47: DUP3 00000c48: MLOAD 00000c49: PUSH1 0x00 00000c4b: SWAP1 00000c4c: DUP2 00000c4d: MSTORE 00000c4e: PUSH1 0x02 00000c50: PUSH1 0x20 00000c52: DUP2 00000c53: SWAP1 00000c54: MSTORE 00000c55: PUSH1 0x40 00000c57: SWAP1 00000c58: SWAP2 00000c59: KECCAK256 00000c5a: ADD 00000c5b: SLOAD 00000c5c: DUP1 00000c5d: ISZERO 00000c5e: DUP1 00000c5f: ISZERO 00000c60: SWAP1 00000c61: PUSH2 0x0c7d 00000c64: JUMPI 00000c65: POP 00000c66: DUP4 00000c67: MLOAD 00000c68: PUSH1 0x00 00000c6a: SWAP1 00000c6b: DUP2 00000c6c: MSTORE 00000c6d: PUSH1 0x02 00000c6f: PUSH1 0x20 00000c71: MSTORE 00000c72: PUSH1 0x40 00000c74: SWAP1 00000c75: KECCAK256 00000c76: PUSH1 0x03 00000c78: ADD 00000c79: SLOAD 00000c7a: TIMESTAMP 00000c7b: GT 00000c7c: ISZERO 00000c7d: JUMPDEST 00000c7e: DUP1 00000c7f: ISZERO 00000c80: PUSH2 0x0c9b 00000c83: JUMPI 00000c84: POP 00000c85: DUP4 00000c86: MLOAD 00000c87: PUSH1 0x00 00000c89: SWAP1 00000c8a: DUP2 00000c8b: MSTORE 00000c8c: PUSH1 0x02 00000c8e: PUSH1 0x20 00000c90: MSTORE 00000c91: PUSH1 0x40 00000c93: SWAP1 00000c94: KECCAK256 00000c95: PUSH1 0x01 00000c97: ADD 00000c98: SLOAD 00000c99: ISZERO 00000c9a: ISZERO 00000c9b: JUMPDEST 00000c9c: PUSH2 0x0cb7 00000c9f: JUMPI 00000ca0: PUSH1 0x40 00000ca2: MLOAD 00000ca3: PUSH3 0x461bcd 00000ca7: PUSH1 0xe5 00000ca9: SHL 00000caa: DUP2 00000cab: MSTORE 00000cac: PUSH1 0x04 00000cae: ADD 00000caf: PUSH2 0x035f 00000cb2: SWAP1 00000cb3: PUSH2 0x2039 00000cb6: JUMP 00000cb7: JUMPDEST 00000cb8: DUP3 00000cb9: ISZERO 00000cba: PUSH2 0x0ccc 00000cbd: JUMPI 00000cbe: PUSH2 0x0ccc 00000cc1: DUP5 00000cc2: PUSH2 0x0100 00000cc5: ADD 00000cc6: MLOAD 00000cc7: DUP5 00000cc8: PUSH2 0x13d4 00000ccb: JUMP 00000ccc: JUMPDEST 00000ccd: DUP2 00000cce: DUP2 00000ccf: GT 00000cd0: ISZERO 00000cd1: PUSH2 0x0d11 00000cd4: JUMPI 00000cd5: PUSH2 0x0ce3 00000cd8: DUP5 00000cd9: PUSH2 0x0100 00000cdc: ADD 00000cdd: MLOAD 00000cde: DUP4 00000cdf: PUSH2 0x0ed6 00000ce2: JUMP 00000ce3: JUMPDEST 00000ce4: PUSH2 0x0cf3 00000ce7: DUP2 00000ce8: DUP4 00000ce9: PUSH4 0xffffffff 00000cee: PUSH2 0x117f 00000cf1: AND 00000cf2: JUMP 00000cf3: JUMPDEST 00000cf4: DUP5 00000cf5: MLOAD 00000cf6: PUSH1 0x00 00000cf8: SWAP1 00000cf9: DUP2 00000cfa: MSTORE 00000cfb: PUSH1 0x02 00000cfd: PUSH1 0x20 00000cff: DUP2 00000d00: SWAP1 00000d01: MSTORE 00000d02: PUSH1 0x40 00000d04: SWAP1 00000d05: SWAP2 00000d06: KECCAK256 00000d07: ADD 00000d08: DUP2 00000d09: SWAP1 00000d0a: SSTORE 00000d0b: SWAP1 00000d0c: POP 00000d0d: PUSH2 0x0e5b 00000d10: JUMP 00000d11: JUMPDEST 00000d12: PUSH1 0x00 00000d14: PUSH2 0x0d2f 00000d17: DUP6 00000d18: PUSH1 0x60 00000d1a: ADD 00000d1b: MLOAD 00000d1c: DUP7 00000d1d: PUSH1 0x20 00000d1f: ADD 00000d20: MLOAD 00000d21: PUSH8 0xffffffffffffffff 00000d2a: AND 00000d2b: PUSH2 0x1140 00000d2e: JUMP 00000d2f: JUMPDEST 00000d30: PUSH2 0x0100 00000d33: DUP7 00000d34: ADD 00000d35: MLOAD 00000d36: SWAP1 00000d37: SWAP2 00000d38: POP 00000d39: PUSH2 0x0d51 00000d3c: SWAP1 00000d3d: PUSH2 0x0d4c 00000d40: DUP4 00000d41: DUP6 00000d42: PUSH4 0xffffffff 00000d47: PUSH2 0x117f 00000d4a: AND 00000d4b: JUMP 00000d4c: JUMPDEST 00000d4d: PUSH2 0x0f1f 00000d50: JUMP 00000d51: JUMPDEST 00000d52: DUP5 00000d53: MLOAD 00000d54: PUSH1 0x00 00000d56: SWAP1 00000d57: DUP2 00000d58: MSTORE 00000d59: PUSH1 0x02 00000d5b: PUSH1 0x20 00000d5d: DUP2 00000d5e: SWAP1 00000d5f: MSTORE 00000d60: PUSH1 0x40 00000d62: DUP1 00000d63: DUP4 00000d64: KECCAK256 00000d65: SWAP1 00000d66: SWAP2 00000d67: ADD 00000d68: DUP3 00000d69: SWAP1 00000d6a: SSTORE 00000d6b: PUSH1 0xe0 00000d6d: DUP8 00000d6e: ADD 00000d6f: MLOAD 00000d70: DUP8 00000d71: MLOAD 00000d72: DUP4 00000d73: MSTORE 00000d74: SWAP1 00000d75: DUP3 00000d76: KECCAK256 00000d77: PUSH1 0x01 00000d79: ADD 00000d7a: SLOAD 00000d7b: SWAP2 00000d7c: SWAP4 00000d7d: POP 00000d7e: PUSH2 0x0d86 00000d81: SWAP2 00000d82: PUSH2 0x0f1f 00000d85: JUMP 00000d86: JUMPDEST 00000d87: DUP5 00000d88: MLOAD 00000d89: PUSH1 0x00 00000d8b: SWAP1 00000d8c: DUP2 00000d8d: MSTORE 00000d8e: PUSH1 0x02 00000d90: PUSH1 0x20 00000d92: MSTORE 00000d93: PUSH1 0x40 00000d95: DUP2 00000d96: KECCAK256 00000d97: PUSH1 0x01 00000d99: ADD 00000d9a: DUP2 00000d9b: SWAP1 00000d9c: SSTORE 00000d9d: PUSH1 0x60 00000d9f: DUP7 00000da0: ADD 00000da1: MLOAD 00000da2: PUSH1 0x80 00000da4: DUP8 00000da5: ADD 00000da6: MLOAD 00000da7: PUSH2 0x0db0 00000daa: SWAP2 00000dab: SWAP1 00000dac: PUSH2 0x13ef 00000daf: JUMP 00000db0: JUMPDEST 00000db1: PUSH2 0x0100 00000db4: DUP8 00000db5: ADD 00000db6: MLOAD 00000db7: PUSH1 0xc0 00000db9: DUP9 00000dba: ADD 00000dbb: MLOAD 00000dbc: SWAP2 00000dbd: SWAP3 00000dbe: POP 00000dbf: PUSH2 0x0dd7 00000dc2: SWAP2 00000dc3: PUSH2 0x0dd2 00000dc6: DUP6 00000dc7: DUP6 00000dc8: PUSH4 0xffffffff 00000dcd: PUSH2 0x117f 00000dd0: AND 00000dd1: JUMP 00000dd2: JUMPDEST 00000dd3: PUSH2 0x1407 00000dd6: JUMP 00000dd7: JUMPDEST 00000dd8: PUSH2 0x0dec 00000ddb: DUP7 00000ddc: PUSH2 0x0100 00000ddf: ADD 00000de0: MLOAD 00000de1: DUP8 00000de2: PUSH2 0x0120 00000de5: ADD 00000de6: MLOAD 00000de7: DUP4 00000de8: PUSH2 0x1407 00000deb: JUMP 00000dec: JUMPDEST 00000ded: DUP6 00000dee: PUSH1 0xc0 00000df0: ADD 00000df1: MLOAD 00000df2: PUSH1 0x01 00000df4: PUSH1 0x01 00000df6: PUSH1 0xa0 00000df8: SHL 00000df9: SUB 00000dfa: AND 00000dfb: PUSH4 0x85a336c5 00000e00: DUP8 00000e01: PUSH1 0x60 00000e03: ADD 00000e04: MLOAD 00000e05: DUP9 00000e06: PUSH1 0x40 00000e08: ADD 00000e09: MLOAD 00000e0a: PUSH1 0x40 00000e0c: MLOAD 00000e0d: DUP4 00000e0e: PUSH4 0xffffffff 00000e13: AND 00000e14: PUSH1 0xe0 00000e16: SHL 00000e17: DUP2 00000e18: MSTORE 00000e19: PUSH1 0x04 00000e1b: ADD 00000e1c: PUSH2 0x0e26 00000e1f: SWAP3 00000e20: SWAP2 00000e21: SWAP1 00000e22: PUSH2 0x25c7 00000e25: JUMP 00000e26: JUMPDEST 00000e27: PUSH1 0x00 00000e29: PUSH1 0x40 00000e2b: MLOAD 00000e2c: DUP1 00000e2d: DUP4 00000e2e: SUB 00000e2f: DUP2 00000e30: PUSH1 0x00 00000e32: DUP8 00000e33: DUP1 00000e34: EXTCODESIZE 00000e35: ISZERO 00000e36: DUP1 00000e37: ISZERO 00000e38: PUSH2 0x0e40 00000e3b: JUMPI 00000e3c: PUSH1 0x00 00000e3e: DUP1 00000e3f: REVERT 00000e40: JUMPDEST 00000e41: POP 00000e42: GAS 00000e43: CALL 00000e44: ISZERO 00000e45: DUP1 00000e46: ISZERO 00000e47: PUSH2 0x0e54 00000e4a: JUMPI 00000e4b: RETURNDATASIZE 00000e4c: PUSH1 0x00 00000e4e: DUP1 00000e4f: RETURNDATACOPY 00000e50: RETURNDATASIZE 00000e51: PUSH1 0x00 00000e53: REVERT 00000e54: JUMPDEST 00000e55: POP 00000e56: POP 00000e57: POP 00000e58: POP 00000e59: POP 00000e5a: POP 00000e5b: JUMPDEST 00000e5c: DUP4 00000e5d: MLOAD 00000e5e: PUSH1 0x40 00000e60: MLOAD 00000e61: PUSH32 0x9bd393ad3b7beb95a663b7d1becdd0cecb8b3dd0734109be567e8bb707a787b1 00000e82: SWAP1 00000e83: PUSH2 0x0791 00000e86: SWAP1 00000e87: DUP7 00000e88: SWAP1 00000e89: DUP6 00000e8a: SWAP1 00000e8b: TIMESTAMP 00000e8c: SWAP1 00000e8d: PUSH2 0x25b1 00000e90: JUMP 00000e91: JUMPDEST 00000e92: ADDRESS 00000e93: EXTCODESIZE 00000e94: ISZERO 00000e95: SWAP1 00000e96: JUMP 00000e97: JUMPDEST 00000e98: PUSH1 0x01 00000e9a: PUSH1 0x01 00000e9c: PUSH1 0xa0 00000e9e: SHL 00000e9f: SUB 00000ea0: DUP4 00000ea1: AND 00000ea2: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00000eb7: EQ 00000eb8: ISZERO 00000eb9: PUSH2 0x0ecb 00000ebc: JUMPI 00000ebd: PUSH2 0x0ec6 00000ec0: DUP3 00000ec1: DUP3 00000ec2: PUSH2 0x1412 00000ec5: JUMP 00000ec6: JUMPDEST 00000ec7: PUSH2 0x0432 00000eca: JUMP 00000ecb: JUMPDEST 00000ecc: PUSH2 0x0ec6 00000ecf: DUP4 00000ed0: DUP4 00000ed1: DUP4 00000ed2: PUSH2 0x14b3 00000ed5: JUMP 00000ed6: JUMPDEST 00000ed7: PUSH1 0x01 00000ed9: PUSH1 0x01 00000edb: PUSH1 0xa0 00000edd: SHL 00000ede: SUB 00000edf: DUP3 00000ee0: AND 00000ee1: PUSH1 0x00 00000ee3: SWAP1 00000ee4: DUP2 00000ee5: MSTORE 00000ee6: PUSH1 0x01 00000ee8: PUSH1 0x20 00000eea: MSTORE 00000eeb: PUSH1 0x40 00000eed: SWAP1 00000eee: KECCAK256 00000eef: SLOAD 00000ef0: PUSH2 0x0eff 00000ef3: SWAP1 00000ef4: DUP3 00000ef5: PUSH4 0xffffffff 00000efa: PUSH2 0x13af 00000efd: AND 00000efe: JUMP 00000eff: JUMPDEST 00000f00: PUSH1 0x01 00000f02: PUSH1 0x01 00000f04: PUSH1 0xa0 00000f06: SHL 00000f07: SUB 00000f08: SWAP1 00000f09: SWAP3 00000f0a: AND 00000f0b: PUSH1 0x00 00000f0d: SWAP1 00000f0e: DUP2 00000f0f: MSTORE 00000f10: PUSH1 0x01 00000f12: PUSH1 0x20 00000f14: MSTORE 00000f15: PUSH1 0x40 00000f17: SWAP1 00000f18: KECCAK256 00000f19: SWAP2 00000f1a: SWAP1 00000f1b: SWAP2 00000f1c: SSTORE 00000f1d: POP 00000f1e: JUMP 00000f1f: JUMPDEST 00000f20: PUSH1 0x01 00000f22: PUSH1 0x01 00000f24: PUSH1 0xa0 00000f26: SHL 00000f27: SUB 00000f28: DUP3 00000f29: AND 00000f2a: PUSH1 0x00 00000f2c: SWAP1 00000f2d: DUP2 00000f2e: MSTORE 00000f2f: PUSH1 0x01 00000f31: PUSH1 0x20 00000f33: MSTORE 00000f34: PUSH1 0x40 00000f36: SWAP1 00000f37: KECCAK256 00000f38: SLOAD 00000f39: PUSH2 0x0eff 00000f3c: SWAP1 00000f3d: DUP3 00000f3e: PUSH4 0xffffffff 00000f43: PUSH2 0x117f 00000f46: AND 00000f47: JUMP 00000f48: JUMPDEST 00000f49: PUSH2 0x0432 00000f4c: DUP3 00000f4d: DUP3 00000f4e: PUSH2 0x1412 00000f51: JUMP 00000f52: JUMPDEST 00000f53: PUSH1 0x00 00000f55: DUP1 00000f56: PUSH1 0x40 00000f58: MLOAD 00000f59: PUSH2 0x0f61 00000f5c: SWAP1 00000f5d: PUSH2 0x1cd9 00000f60: JUMP 00000f61: JUMPDEST 00000f62: PUSH1 0x40 00000f64: DUP1 00000f65: MLOAD 00000f66: SWAP2 00000f67: DUP3 00000f68: SWAP1 00000f69: SUB 00000f6a: DUP3 00000f6b: KECCAK256 00000f6c: DUP3 00000f6d: DUP3 00000f6e: ADD 00000f6f: DUP3 00000f70: MSTORE 00000f71: PUSH1 0x0b 00000f73: DUP4 00000f74: MSTORE 00000f75: PUSH11 0x437265646974204c696e65 00000f81: PUSH1 0xa8 00000f83: SHL 00000f84: PUSH1 0x20 00000f86: SWAP4 00000f87: DUP5 00000f88: ADD 00000f89: MSTORE 00000f8a: DUP2 00000f8b: MLOAD 00000f8c: DUP1 00000f8d: DUP4 00000f8e: ADD 00000f8f: DUP4 00000f90: MSTORE 00000f91: PUSH1 0x05 00000f93: DUP2 00000f94: MSTORE 00000f95: PUSH5 0x0312e302e3 00000f9b: PUSH1 0xdc 00000f9d: SHL 00000f9e: SWAP1 00000f9f: DUP5 00000fa0: ADD 00000fa1: MSTORE 00000fa2: SWAP1 00000fa3: MLOAD 00000fa4: SWAP1 00000fa5: SWAP3 00000fa6: POP 00000fa7: PUSH32 0x5e420c907c7ced2c7df83d4dc6c080ad1bca3c265fdd2ee768fae7918253a466 00000fc8: SWAP2 00000fc9: PUSH32 0x06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c 00000fea: SWAP2 00000feb: CHAINID 00000fec: SWAP2 00000fed: PUSH1 0x00 00000fef: SWAP2 00000ff0: PUSH2 0x1003 00000ff3: SWAP2 00000ff4: DUP8 00000ff5: SWAP2 00000ff6: DUP8 00000ff7: SWAP2 00000ff8: DUP8 00000ff9: SWAP2 00000ffa: DUP8 00000ffb: SWAP2 00000ffc: ADDRESS 00000ffd: SWAP2 00000ffe: ADD 00000fff: PUSH2 0x1ea9 00001002: JUMP 00001003: JUMPDEST 00001004: PUSH1 0x40 00001006: MLOAD 00001007: PUSH1 0x20 00001009: DUP2 0000100a: DUP4 0000100b: SUB 0000100c: SUB 0000100d: DUP2 0000100e: MSTORE 0000100f: SWAP1 00001010: PUSH1 0x40 00001012: MSTORE 00001013: DUP1 00001014: MLOAD 00001015: SWAP1 00001016: PUSH1 0x20 00001018: ADD 00001019: KECCAK256 0000101a: SWAP1 0000101b: POP 0000101c: PUSH1 0x00 0000101e: PUSH1 0x40 00001020: MLOAD 00001021: PUSH2 0x1029 00001024: SWAP1 00001025: PUSH2 0x1d46 00001028: JUMP 00001029: JUMPDEST 0000102a: PUSH1 0x40 0000102c: MLOAD 0000102d: DUP1 0000102e: SWAP2 0000102f: SUB 00001030: SWAP1 00001031: KECCAK256 00001032: DUP9 00001033: PUSH1 0x00 00001035: ADD 00001036: MLOAD 00001037: DUP10 00001038: PUSH1 0x20 0000103a: ADD 0000103b: MLOAD 0000103c: DUP11 0000103d: PUSH1 0x40 0000103f: ADD 00001040: MLOAD 00001041: DUP12 00001042: PUSH1 0x60 00001044: ADD 00001045: MLOAD 00001046: DUP13 00001047: PUSH1 0x80 00001049: ADD 0000104a: MLOAD 0000104b: DUP14 0000104c: PUSH1 0xa0 0000104e: ADD 0000104f: MLOAD 00001050: DUP15 00001051: PUSH1 0xe0 00001053: ADD 00001054: MLOAD 00001055: DUP16 00001056: PUSH2 0x0100 00001059: ADD 0000105a: MLOAD 0000105b: PUSH1 0x40 0000105d: MLOAD 0000105e: PUSH1 0x20 00001060: ADD 00001061: PUSH2 0x1072 00001064: SWAP10 00001065: SWAP9 00001066: SWAP8 00001067: SWAP7 00001068: SWAP6 00001069: SWAP5 0000106a: SWAP4 0000106b: SWAP3 0000106c: SWAP2 0000106d: SWAP1 0000106e: PUSH2 0x1ed5 00001071: JUMP 00001072: JUMPDEST 00001073: PUSH1 0x40 00001075: MLOAD 00001076: PUSH1 0x20 00001078: DUP2 00001079: DUP4 0000107a: SUB 0000107b: SUB 0000107c: DUP2 0000107d: MSTORE 0000107e: SWAP1 0000107f: PUSH1 0x40 00001081: MSTORE 00001082: DUP1 00001083: MLOAD 00001084: SWAP1 00001085: PUSH1 0x20 00001087: ADD 00001088: KECCAK256 00001089: SWAP1 0000108a: POP 0000108b: PUSH2 0x1094 0000108e: DUP3 0000108f: DUP3 00001090: PUSH2 0x14cd 00001093: JUMP 00001094: JUMPDEST 00001095: SWAP9 00001096: SWAP8 00001097: POP 00001098: POP 00001099: POP 0000109a: POP 0000109b: POP 0000109c: POP 0000109d: POP 0000109e: POP 0000109f: JUMP 000010a0: JUMPDEST 000010a1: PUSH1 0x00 000010a3: DUP2 000010a4: MLOAD 000010a5: PUSH1 0x41 000010a7: EQ 000010a8: ISZERO 000010a9: PUSH2 0x10d4 000010ac: JUMPI 000010ad: PUSH1 0x20 000010af: DUP3 000010b0: ADD 000010b1: MLOAD 000010b2: PUSH1 0x40 000010b4: DUP4 000010b5: ADD 000010b6: MLOAD 000010b7: PUSH1 0x60 000010b9: DUP5 000010ba: ADD 000010bb: MLOAD 000010bc: PUSH1 0x00 000010be: BYTE 000010bf: PUSH2 0x10ca 000010c2: DUP7 000010c3: DUP3 000010c4: DUP6 000010c5: DUP6 000010c6: PUSH2 0x1500 000010c9: JUMP 000010ca: JUMPDEST 000010cb: SWAP4 000010cc: POP 000010cd: POP 000010ce: POP 000010cf: POP 000010d0: PUSH2 0x0b13 000010d3: JUMP 000010d4: JUMPDEST 000010d5: DUP2 000010d6: MLOAD 000010d7: PUSH1 0x40 000010d9: EQ 000010da: ISZERO 000010db: PUSH2 0x10fc 000010de: JUMPI 000010df: PUSH1 0x20 000010e1: DUP3 000010e2: ADD 000010e3: MLOAD 000010e4: PUSH1 0x40 000010e6: DUP4 000010e7: ADD 000010e8: MLOAD 000010e9: PUSH2 0x10f3 000010ec: DUP6 000010ed: DUP4 000010ee: DUP4 000010ef: PUSH2 0x15f6 000010f2: JUMP 000010f3: JUMPDEST 000010f4: SWAP3 000010f5: POP 000010f6: POP 000010f7: POP 000010f8: PUSH2 0x0b13 000010fb: JUMP 000010fc: JUMPDEST 000010fd: PUSH1 0x40 000010ff: MLOAD 00001100: PUSH3 0x461bcd 00001104: PUSH1 0xe5 00001106: SHL 00001107: DUP2 00001108: MSTORE 00001109: PUSH1 0x04 0000110b: ADD 0000110c: PUSH2 0x035f 0000110f: SWAP1 00001110: PUSH2 0x206e 00001113: JUMP 00001114: JUMPDEST 00001115: PUSH1 0x00 00001117: PUSH2 0x1139 0000111a: PUSH2 0x112c 0000111d: DUP4 0000111e: PUSH3 0x015180 00001122: PUSH4 0xffffffff 00001127: PUSH2 0x1620 0000112a: AND 0000112b: JUMP 0000112c: JUMPDEST 0000112d: DUP5 0000112e: SWAP1 0000112f: PUSH4 0xffffffff 00001134: PUSH2 0x13af 00001137: AND 00001138: JUMP 00001139: JUMPDEST 0000113a: SWAP4 0000113b: SWAP3 0000113c: POP 0000113d: POP 0000113e: POP 0000113f: JUMP 00001140: JUMPDEST 00001141: PUSH1 0x00 00001143: DUP1 00001144: PUSH2 0x1165 00001147: PUSH2 0x2710 0000114a: PUSH2 0x1159 0000114d: DUP7 0000114e: DUP7 0000114f: PUSH4 0xffffffff 00001154: PUSH2 0x1620 00001157: AND 00001158: JUMP 00001159: JUMPDEST 0000115a: SWAP1 0000115b: PUSH4 0xffffffff 00001160: PUSH2 0x165a 00001163: AND 00001164: JUMP 00001165: JUMPDEST 00001166: SWAP1 00001167: POP 00001168: PUSH2 0x1177 0000116b: DUP5 0000116c: DUP3 0000116d: PUSH4 0xffffffff 00001172: PUSH2 0x13af 00001175: AND 00001176: JUMP 00001177: JUMPDEST 00001178: SWAP5 00001179: SWAP4 0000117a: POP 0000117b: POP 0000117c: POP 0000117d: POP 0000117e: JUMP 0000117f: JUMPDEST 00001180: PUSH1 0x00 00001182: PUSH2 0x1139 00001185: DUP4 00001186: DUP4 00001187: PUSH1 0x40 00001189: MLOAD 0000118a: DUP1 0000118b: PUSH1 0x40 0000118d: ADD 0000118e: PUSH1 0x40 00001190: MSTORE 00001191: DUP1 00001192: PUSH1 0x1e 00001194: DUP2 00001195: MSTORE 00001196: PUSH1 0x20 00001198: ADD 00001199: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 000011ba: DUP2 000011bb: MSTORE 000011bc: POP 000011bd: PUSH2 0x169c 000011c0: JUMP 000011c1: JUMPDEST 000011c2: DUP2 000011c3: MLOAD 000011c4: PUSH1 0x00 000011c6: SWAP1 000011c7: DUP2 000011c8: MSTORE 000011c9: PUSH1 0x02 000011cb: PUSH1 0x20 000011cd: MSTORE 000011ce: PUSH1 0x40 000011d0: SWAP1 000011d1: KECCAK256 000011d2: SLOAD 000011d3: PUSH2 0x11db 000011d6: DUP4 000011d7: PUSH2 0x0b3f 000011da: JUMP 000011db: JUMPDEST 000011dc: EQ 000011dd: PUSH2 0x11f8 000011e0: JUMPI 000011e1: PUSH1 0x40 000011e3: MLOAD 000011e4: PUSH3 0x461bcd 000011e8: PUSH1 0xe5 000011ea: SHL 000011eb: DUP2 000011ec: MSTORE 000011ed: PUSH1 0x04 000011ef: ADD 000011f0: PUSH2 0x035f 000011f3: SWAP1 000011f4: PUSH2 0x22e6 000011f7: JUMP 000011f8: JUMPDEST 000011f9: PUSH1 0x00 000011fb: PUSH2 0x1216 000011fe: DUP4 000011ff: PUSH1 0x60 00001201: ADD 00001202: MLOAD 00001203: DUP5 00001204: PUSH1 0x20 00001206: ADD 00001207: MLOAD 00001208: PUSH8 0xffffffffffffffff 00001211: AND 00001212: PUSH2 0x1140 00001215: JUMP 00001216: JUMPDEST 00001217: SWAP1 00001218: POP 00001219: DUP1 0000121a: DUP3 0000121b: LT 0000121c: ISZERO 0000121d: DUP1 0000121e: ISZERO 0000121f: PUSH2 0x1239 00001222: JUMPI 00001223: POP 00001224: DUP3 00001225: MLOAD 00001226: PUSH1 0x00 00001228: SWAP1 00001229: DUP2 0000122a: MSTORE 0000122b: PUSH1 0x02 0000122d: PUSH1 0x20 0000122f: MSTORE 00001230: PUSH1 0x40 00001232: SWAP1 00001233: KECCAK256 00001234: PUSH1 0x01 00001236: ADD 00001237: SLOAD 00001238: ISZERO 00001239: JUMPDEST 0000123a: PUSH2 0x1255 0000123d: JUMPI 0000123e: PUSH1 0x40 00001240: MLOAD 00001241: PUSH3 0x461bcd 00001245: PUSH1 0xe5 00001247: SHL 00001248: DUP2 00001249: MSTORE 0000124a: PUSH1 0x04 0000124c: ADD 0000124d: PUSH2 0x035f 00001250: SWAP1 00001251: PUSH2 0x236b 00001254: JUMP 00001255: JUMPDEST 00001256: DUP3 00001257: MLOAD 00001258: PUSH1 0x00 0000125a: SWAP1 0000125b: DUP2 0000125c: MSTORE 0000125d: PUSH1 0x02 0000125f: PUSH1 0x20 00001261: DUP2 00001262: SWAP1 00001263: MSTORE 00001264: PUSH1 0x40 00001266: DUP3 00001267: KECCAK256 00001268: ADD 00001269: SLOAD 0000126a: SWAP1 0000126b: PUSH2 0x127a 0000126e: DUP4 0000126f: DUP4 00001270: PUSH4 0xffffffff 00001275: PUSH2 0x117f 00001278: AND 00001279: JUMP 0000127a: JUMPDEST 0000127b: DUP6 0000127c: MLOAD 0000127d: PUSH1 0x00 0000127f: SWAP1 00001280: DUP2 00001281: MSTORE 00001282: PUSH1 0x02 00001284: PUSH1 0x20 00001286: DUP2 00001287: SWAP1 00001288: MSTORE 00001289: PUSH1 0x40 0000128b: DUP3 0000128c: KECCAK256 0000128d: ADD 0000128e: SSTORE 0000128f: PUSH2 0x0100 00001292: DUP7 00001293: ADD 00001294: MLOAD 00001295: SWAP1 00001296: SWAP2 00001297: POP 00001298: PUSH2 0x12a1 0000129b: SWAP1 0000129c: DUP6 0000129d: PUSH2 0x13d4 000012a0: JUMP 000012a1: JUMPDEST 000012a2: PUSH2 0x12b0 000012a5: DUP6 000012a6: PUSH2 0x0100 000012a9: ADD 000012aa: MLOAD 000012ab: DUP3 000012ac: PUSH2 0x0f1f 000012af: JUMP 000012b0: JUMPDEST 000012b1: PUSH1 0x00 000012b3: PUSH2 0x12c4 000012b6: DUP7 000012b7: PUSH1 0x60 000012b9: ADD 000012ba: MLOAD 000012bb: DUP8 000012bc: PUSH1 0x80 000012be: ADD 000012bf: MLOAD 000012c0: PUSH2 0x13ef 000012c3: JUMP 000012c4: JUMPDEST 000012c5: PUSH2 0x0100 000012c8: DUP8 000012c9: ADD 000012ca: MLOAD 000012cb: PUSH1 0xc0 000012cd: DUP9 000012ce: ADD 000012cf: MLOAD 000012d0: SWAP2 000012d1: SWAP3 000012d2: POP 000012d3: PUSH2 0x12e6 000012d6: SWAP2 000012d7: PUSH2 0x0dd2 000012da: DUP8 000012db: DUP6 000012dc: PUSH4 0xffffffff 000012e1: PUSH2 0x117f 000012e4: AND 000012e5: JUMP 000012e6: JUMPDEST 000012e7: PUSH2 0x12fb 000012ea: DUP7 000012eb: PUSH2 0x0100 000012ee: ADD 000012ef: MLOAD 000012f0: DUP8 000012f1: PUSH2 0x0120 000012f4: ADD 000012f5: MLOAD 000012f6: DUP4 000012f7: PUSH2 0x1407 000012fa: JUMP 000012fb: JUMPDEST 000012fc: DUP6 000012fd: PUSH1 0xc0 000012ff: ADD 00001300: MLOAD 00001301: PUSH1 0x01 00001303: PUSH1 0x01 00001305: PUSH1 0xa0 00001307: SHL 00001308: SUB 00001309: AND 0000130a: PUSH4 0x85a336c5 0000130f: DUP8 00001310: PUSH1 0x60 00001312: ADD 00001313: MLOAD 00001314: DUP9 00001315: PUSH1 0x40 00001317: ADD 00001318: MLOAD 00001319: PUSH1 0x40 0000131b: MLOAD 0000131c: DUP4 0000131d: PUSH4 0xffffffff 00001322: AND 00001323: PUSH1 0xe0 00001325: SHL 00001326: DUP2 00001327: MSTORE 00001328: PUSH1 0x04 0000132a: ADD 0000132b: PUSH2 0x1335 0000132e: SWAP3 0000132f: SWAP2 00001330: SWAP1 00001331: PUSH2 0x25c7 00001334: JUMP 00001335: JUMPDEST 00001336: PUSH1 0x00 00001338: PUSH1 0x40 0000133a: MLOAD 0000133b: DUP1 0000133c: DUP4 0000133d: SUB 0000133e: DUP2 0000133f: PUSH1 0x00 00001341: DUP8 00001342: DUP1 00001343: EXTCODESIZE 00001344: ISZERO 00001345: DUP1 00001346: ISZERO 00001347: PUSH2 0x134f 0000134a: JUMPI 0000134b: PUSH1 0x00 0000134d: DUP1 0000134e: REVERT 0000134f: JUMPDEST 00001350: POP 00001351: GAS 00001352: CALL 00001353: ISZERO 00001354: DUP1 00001355: ISZERO 00001356: PUSH2 0x1363 00001359: JUMPI 0000135a: RETURNDATASIZE 0000135b: PUSH1 0x00 0000135d: DUP1 0000135e: RETURNDATACOPY 0000135f: RETURNDATASIZE 00001360: PUSH1 0x00 00001362: REVERT 00001363: JUMPDEST 00001364: POP 00001365: POP 00001366: POP 00001367: POP 00001368: DUP6 00001369: PUSH1 0x00 0000136b: ADD 0000136c: MLOAD 0000136d: PUSH32 0x9bd393ad3b7beb95a663b7d1becdd0cecb8b3dd0734109be567e8bb707a787b1 0000138e: DUP7 0000138f: DUP6 00001390: TIMESTAMP 00001391: PUSH1 0x40 00001393: MLOAD 00001394: PUSH2 0x139f 00001397: SWAP4 00001398: SWAP3 00001399: SWAP2 0000139a: SWAP1 0000139b: PUSH2 0x25b1 0000139e: JUMP 0000139f: JUMPDEST 000013a0: PUSH1 0x40 000013a2: MLOAD 000013a3: DUP1 000013a4: SWAP2 000013a5: SUB 000013a6: SWAP1 000013a7: LOG2 000013a8: POP 000013a9: POP 000013aa: POP 000013ab: POP 000013ac: POP 000013ad: POP 000013ae: JUMP 000013af: JUMPDEST 000013b0: PUSH1 0x00 000013b2: DUP3 000013b3: DUP3 000013b4: ADD 000013b5: DUP4 000013b6: DUP2 000013b7: LT 000013b8: ISZERO 000013b9: PUSH2 0x1139 000013bc: JUMPI 000013bd: PUSH1 0x40 000013bf: MLOAD 000013c0: PUSH3 0x461bcd 000013c4: PUSH1 0xe5 000013c6: SHL 000013c7: DUP2 000013c8: MSTORE 000013c9: PUSH1 0x04 000013cb: ADD 000013cc: PUSH2 0x035f 000013cf: SWAP1 000013d0: PUSH2 0x20e6 000013d3: JUMP 000013d4: JUMPDEST 000013d5: PUSH2 0x02e4 000013d8: PUSH1 0x01 000013da: PUSH1 0x01 000013dc: PUSH1 0xa0 000013de: SHL 000013df: SUB 000013e0: DUP4 000013e1: AND 000013e2: CALLER 000013e3: ADDRESS 000013e4: DUP5 000013e5: PUSH4 0xffffffff 000013ea: PUSH2 0x16c8 000013ed: AND 000013ee: JUMP 000013ef: JUMPDEST 000013f0: PUSH1 0x00 000013f2: PUSH2 0x1139 000013f5: PUSH2 0x2710 000013f8: PUSH2 0x1159 000013fb: DUP6 000013fc: DUP6 000013fd: PUSH4 0xffffffff 00001402: PUSH2 0x1620 00001405: AND 00001406: JUMP 00001407: JUMPDEST 00001408: PUSH2 0x0432 0000140b: DUP4 0000140c: DUP4 0000140d: DUP4 0000140e: PUSH2 0x14b3 00001411: JUMP 00001412: JUMPDEST 00001413: SELFBALANCE 00001414: DUP2 00001415: GT 00001416: ISZERO 00001417: PUSH2 0x1432 0000141a: JUMPI 0000141b: PUSH1 0x40 0000141d: MLOAD 0000141e: PUSH3 0x461bcd 00001422: PUSH1 0xe5 00001424: SHL 00001425: DUP2 00001426: MSTORE 00001427: PUSH1 0x04 00001429: ADD 0000142a: PUSH2 0x035f 0000142d: SWAP1 0000142e: PUSH2 0x256e 00001431: JUMP 00001432: JUMPDEST 00001433: PUSH1 0x00 00001435: DUP3 00001436: PUSH1 0x01 00001438: PUSH1 0x01 0000143a: PUSH1 0xa0 0000143c: SHL 0000143d: SUB 0000143e: AND 0000143f: DUP3 00001440: PUSH2 0x0960 00001443: SWAP1 00001444: PUSH1 0x40 00001446: MLOAD 00001447: PUSH2 0x144f 0000144a: SWAP1 0000144b: PUSH2 0x1d43 0000144e: JUMP 0000144f: JUMPDEST 00001450: PUSH1 0x00 00001452: PUSH1 0x40 00001454: MLOAD 00001455: DUP1 00001456: DUP4 00001457: SUB 00001458: DUP2 00001459: DUP6 0000145a: DUP9 0000145b: DUP9 0000145c: CALL 0000145d: SWAP4 0000145e: POP 0000145f: POP 00001460: POP 00001461: POP 00001462: RETURNDATASIZE 00001463: DUP1 00001464: PUSH1 0x00 00001466: DUP2 00001467: EQ 00001468: PUSH2 0x148d 0000146b: JUMPI 0000146c: PUSH1 0x40 0000146e: MLOAD 0000146f: SWAP2 00001470: POP 00001471: PUSH1 0x1f 00001473: NOT 00001474: PUSH1 0x3f 00001476: RETURNDATASIZE 00001477: ADD 00001478: AND 00001479: DUP3 0000147a: ADD 0000147b: PUSH1 0x40 0000147d: MSTORE 0000147e: RETURNDATASIZE 0000147f: DUP3 00001480: MSTORE 00001481: RETURNDATASIZE 00001482: PUSH1 0x00 00001484: PUSH1 0x20 00001486: DUP5 00001487: ADD 00001488: RETURNDATACOPY 00001489: PUSH2 0x1492 0000148c: JUMP 0000148d: JUMPDEST 0000148e: PUSH1 0x60 00001490: SWAP2 00001491: POP 00001492: JUMPDEST 00001493: POP 00001494: POP 00001495: SWAP1 00001496: POP 00001497: DUP1 00001498: PUSH2 0x0432 0000149b: JUMPI 0000149c: PUSH1 0x40 0000149e: MLOAD 0000149f: PUSH3 0x461bcd 000014a3: PUSH1 0xe5 000014a5: SHL 000014a6: DUP2 000014a7: MSTORE 000014a8: PUSH1 0x04 000014aa: ADD 000014ab: PUSH2 0x035f 000014ae: SWAP1 000014af: PUSH2 0x2328 000014b2: JUMP 000014b3: JUMPDEST 000014b4: PUSH2 0x0432 000014b7: PUSH1 0x01 000014b9: PUSH1 0x01 000014bb: PUSH1 0xa0 000014bd: SHL 000014be: SUB 000014bf: DUP5 000014c0: AND 000014c1: DUP4 000014c2: DUP4 000014c3: PUSH4 0xffffffff 000014c8: PUSH2 0x1726 000014cb: AND 000014cc: JUMP 000014cd: JUMPDEST 000014ce: PUSH1 0x00 000014d0: DUP3 000014d1: DUP3 000014d2: PUSH1 0x40 000014d4: MLOAD 000014d5: PUSH1 0x20 000014d7: ADD 000014d8: PUSH2 0x14e2 000014db: SWAP3 000014dc: SWAP2 000014dd: SWAP1 000014de: PUSH2 0x1cbe 000014e1: JUMP 000014e2: JUMPDEST 000014e3: PUSH1 0x40 000014e5: MLOAD 000014e6: PUSH1 0x20 000014e8: DUP2 000014e9: DUP4 000014ea: SUB 000014eb: SUB 000014ec: DUP2 000014ed: MSTORE 000014ee: SWAP1 000014ef: PUSH1 0x40 000014f1: MSTORE 000014f2: DUP1 000014f3: MLOAD 000014f4: SWAP1 000014f5: PUSH1 0x20 000014f7: ADD 000014f8: KECCAK256 000014f9: SWAP1 000014fa: POP 000014fb: SWAP3 000014fc: SWAP2 000014fd: POP 000014fe: POP 000014ff: JUMP 00001500: JUMPDEST 00001501: PUSH1 0x00 00001503: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 00001524: DUP3 00001525: GT 00001526: ISZERO 00001527: PUSH2 0x1542 0000152a: JUMPI 0000152b: PUSH1 0x40 0000152d: MLOAD 0000152e: PUSH3 0x461bcd 00001532: PUSH1 0xe5 00001534: SHL 00001535: DUP2 00001536: MSTORE 00001537: PUSH1 0x04 00001539: ADD 0000153a: PUSH2 0x035f 0000153d: SWAP1 0000153e: PUSH2 0x211d 00001541: JUMP 00001542: JUMPDEST 00001543: DUP4 00001544: PUSH1 0xff 00001546: AND 00001547: PUSH1 0x1b 00001549: EQ 0000154a: DUP1 0000154b: PUSH2 0x1557 0000154e: JUMPI 0000154f: POP 00001550: DUP4 00001551: PUSH1 0xff 00001553: AND 00001554: PUSH1 0x1c 00001556: EQ 00001557: JUMPDEST 00001558: PUSH2 0x1573 0000155b: JUMPI 0000155c: PUSH1 0x40 0000155e: MLOAD 0000155f: PUSH3 0x461bcd 00001563: PUSH1 0xe5 00001565: SHL 00001566: DUP2 00001567: MSTORE 00001568: PUSH1 0x04 0000156a: ADD 0000156b: PUSH2 0x035f 0000156e: SWAP1 0000156f: PUSH2 0x2263 00001572: JUMP 00001573: JUMPDEST 00001574: PUSH1 0x00 00001576: PUSH1 0x01 00001578: DUP7 00001579: DUP7 0000157a: DUP7 0000157b: DUP7 0000157c: PUSH1 0x40 0000157e: MLOAD 0000157f: PUSH1 0x00 00001581: DUP2 00001582: MSTORE 00001583: PUSH1 0x20 00001585: ADD 00001586: PUSH1 0x40 00001588: MSTORE 00001589: PUSH1 0x40 0000158b: MLOAD 0000158c: PUSH2 0x1598 0000158f: SWAP5 00001590: SWAP4 00001591: SWAP3 00001592: SWAP2 00001593: SWAP1 00001594: PUSH2 0x1fb1 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x20 0000159b: PUSH1 0x40 0000159d: MLOAD 0000159e: PUSH1 0x20 000015a0: DUP2 000015a1: SUB 000015a2: SWAP1 000015a3: DUP1 000015a4: DUP5 000015a5: SUB 000015a6: SWAP1 000015a7: DUP6 000015a8: GAS 000015a9: STATICCALL 000015aa: ISZERO 000015ab: DUP1 000015ac: ISZERO 000015ad: PUSH2 0x15ba 000015b0: JUMPI 000015b1: RETURNDATASIZE 000015b2: PUSH1 0x00 000015b4: DUP1 000015b5: RETURNDATACOPY 000015b6: RETURNDATASIZE 000015b7: PUSH1 0x00 000015b9: REVERT 000015ba: JUMPDEST 000015bb: POP 000015bc: POP 000015bd: PUSH1 0x40 000015bf: MLOAD 000015c0: PUSH1 0x1f 000015c2: NOT 000015c3: ADD 000015c4: MLOAD 000015c5: SWAP2 000015c6: POP 000015c7: POP 000015c8: PUSH1 0x01 000015ca: PUSH1 0x01 000015cc: PUSH1 0xa0 000015ce: SHL 000015cf: SUB 000015d0: DUP2 000015d1: AND 000015d2: PUSH2 0x15ed 000015d5: JUMPI 000015d6: PUSH1 0x40 000015d8: MLOAD 000015d9: PUSH3 0x461bcd 000015dd: PUSH1 0xe5 000015df: SHL 000015e0: DUP2 000015e1: MSTORE 000015e2: PUSH1 0x04 000015e4: ADD 000015e5: PUSH2 0x035f 000015e8: SWAP1 000015e9: PUSH2 0x2002 000015ec: JUMP 000015ed: JUMPDEST 000015ee: SWAP6 000015ef: SWAP5 000015f0: POP 000015f1: POP 000015f2: POP 000015f3: POP 000015f4: POP 000015f5: JUMP 000015f6: JUMPDEST 000015f7: PUSH1 0x00 000015f9: PUSH1 0x01 000015fb: PUSH1 0x01 000015fd: PUSH1 0xff 000015ff: SHL 00001600: SUB 00001601: DUP3 00001602: AND 00001603: PUSH1 0xff 00001605: DUP4 00001606: SWAP1 00001607: SHR 00001608: PUSH1 0x1b 0000160a: ADD 0000160b: PUSH2 0x1616 0000160e: DUP7 0000160f: DUP3 00001610: DUP8 00001611: DUP6 00001612: PUSH2 0x1500 00001615: JUMP 00001616: JUMPDEST 00001617: SWAP7 00001618: SWAP6 00001619: POP 0000161a: POP 0000161b: POP 0000161c: POP 0000161d: POP 0000161e: POP 0000161f: JUMP 00001620: JUMPDEST 00001621: PUSH1 0x00 00001623: DUP3 00001624: PUSH2 0x162f 00001627: JUMPI 00001628: POP 00001629: PUSH1 0x00 0000162b: PUSH2 0x0b13 0000162e: JUMP 0000162f: JUMPDEST 00001630: DUP3 00001631: DUP3 00001632: MUL 00001633: DUP3 00001634: DUP5 00001635: DUP3 00001636: DUP2 00001637: PUSH2 0x163c 0000163a: JUMPI 0000163b: INVALID 0000163c: JUMPDEST 0000163d: DIV 0000163e: EQ 0000163f: PUSH2 0x1139 00001642: JUMPI 00001643: PUSH1 0x40 00001645: MLOAD 00001646: PUSH3 0x461bcd 0000164a: PUSH1 0xe5 0000164c: SHL 0000164d: DUP2 0000164e: MSTORE 0000164f: PUSH1 0x04 00001651: ADD 00001652: PUSH2 0x035f 00001655: SWAP1 00001656: PUSH2 0x22a5 00001659: JUMP 0000165a: JUMPDEST 0000165b: PUSH1 0x00 0000165d: PUSH2 0x1139 00001660: DUP4 00001661: DUP4 00001662: PUSH1 0x40 00001664: MLOAD 00001665: DUP1 00001666: PUSH1 0x40 00001668: ADD 00001669: PUSH1 0x40 0000166b: MSTORE 0000166c: DUP1 0000166d: PUSH1 0x1a 0000166f: DUP2 00001670: MSTORE 00001671: PUSH1 0x20 00001673: ADD 00001674: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 00001695: DUP2 00001696: MSTORE 00001697: POP 00001698: PUSH2 0x1745 0000169b: JUMP 0000169c: JUMPDEST 0000169d: PUSH1 0x00 0000169f: DUP2 000016a0: DUP5 000016a1: DUP5 000016a2: GT 000016a3: ISZERO 000016a4: PUSH2 0x16c0 000016a7: JUMPI 000016a8: PUSH1 0x40 000016aa: MLOAD 000016ab: PUSH3 0x461bcd 000016af: PUSH1 0xe5 000016b1: SHL 000016b2: DUP2 000016b3: MSTORE 000016b4: PUSH1 0x04 000016b6: ADD 000016b7: PUSH2 0x035f 000016ba: SWAP2 000016bb: SWAP1 000016bc: PUSH2 0x1fcf 000016bf: JUMP 000016c0: JUMPDEST 000016c1: POP 000016c2: POP 000016c3: POP 000016c4: SWAP1 000016c5: SUB 000016c6: SWAP1 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH2 0x1720 000016cc: DUP5 000016cd: PUSH4 0x23b872dd 000016d2: PUSH1 0xe0 000016d4: SHL 000016d5: DUP6 000016d6: DUP6 000016d7: DUP6 000016d8: PUSH1 0x40 000016da: MLOAD 000016db: PUSH1 0x24 000016dd: ADD 000016de: PUSH2 0x16e9 000016e1: SWAP4 000016e2: SWAP3 000016e3: SWAP2 000016e4: SWAP1 000016e5: PUSH2 0x1e53 000016e8: JUMP 000016e9: JUMPDEST 000016ea: PUSH1 0x40 000016ec: DUP1 000016ed: MLOAD 000016ee: PUSH1 0x1f 000016f0: NOT 000016f1: DUP2 000016f2: DUP5 000016f3: SUB 000016f4: ADD 000016f5: DUP2 000016f6: MSTORE 000016f7: SWAP2 000016f8: SWAP1 000016f9: MSTORE 000016fa: PUSH1 0x20 000016fc: DUP2 000016fd: ADD 000016fe: DUP1 000016ff: MLOAD 00001700: PUSH1 0x01 00001702: PUSH1 0x01 00001704: PUSH1 0xe0 00001706: SHL 00001707: SUB 00001708: AND 00001709: PUSH1 0x01 0000170b: PUSH1 0x01 0000170d: PUSH1 0xe0 0000170f: SHL 00001710: SUB 00001711: NOT 00001712: SWAP1 00001713: SWAP4 00001714: AND 00001715: SWAP3 00001716: SWAP1 00001717: SWAP3 00001718: OR 00001719: SWAP1 0000171a: SWAP2 0000171b: MSTORE 0000171c: PUSH2 0x177c 0000171f: JUMP 00001720: JUMPDEST 00001721: POP 00001722: POP 00001723: POP 00001724: POP 00001725: JUMP 00001726: JUMPDEST 00001727: PUSH2 0x0432 0000172a: DUP4 0000172b: PUSH4 0xa9059cbb 00001730: PUSH1 0xe0 00001732: SHL 00001733: DUP5 00001734: DUP5 00001735: PUSH1 0x40 00001737: MLOAD 00001738: PUSH1 0x24 0000173a: ADD 0000173b: PUSH2 0x16e9 0000173e: SWAP3 0000173f: SWAP2 00001740: SWAP1 00001741: PUSH2 0x1e3a 00001744: JUMP 00001745: JUMPDEST 00001746: PUSH1 0x00 00001748: DUP2 00001749: DUP4 0000174a: PUSH2 0x1766 0000174d: JUMPI 0000174e: PUSH1 0x40 00001750: MLOAD 00001751: PUSH3 0x461bcd 00001755: PUSH1 0xe5 00001757: SHL 00001758: DUP2 00001759: MSTORE 0000175a: PUSH1 0x04 0000175c: ADD 0000175d: PUSH2 0x035f 00001760: SWAP2 00001761: SWAP1 00001762: PUSH2 0x1fcf 00001765: JUMP 00001766: JUMPDEST 00001767: POP 00001768: PUSH1 0x00 0000176a: DUP4 0000176b: DUP6 0000176c: DUP2 0000176d: PUSH2 0x1772 00001770: JUMPI 00001771: INVALID 00001772: JUMPDEST 00001773: DIV 00001774: SWAP6 00001775: SWAP5 00001776: POP 00001777: POP 00001778: POP 00001779: POP 0000177a: POP 0000177b: JUMP 0000177c: JUMPDEST 0000177d: PUSH1 0x60 0000177f: PUSH2 0x17d1 00001782: DUP3 00001783: PUSH1 0x40 00001785: MLOAD 00001786: DUP1 00001787: PUSH1 0x40 00001789: ADD 0000178a: PUSH1 0x40 0000178c: MSTORE 0000178d: DUP1 0000178e: PUSH1 0x20 00001790: DUP2 00001791: MSTORE 00001792: PUSH1 0x20 00001794: ADD 00001795: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000017b6: DUP2 000017b7: MSTORE 000017b8: POP 000017b9: DUP6 000017ba: PUSH1 0x01 000017bc: PUSH1 0x01 000017be: PUSH1 0xa0 000017c0: SHL 000017c1: SUB 000017c2: AND 000017c3: PUSH2 0x180b 000017c6: SWAP1 000017c7: SWAP3 000017c8: SWAP2 000017c9: SWAP1 000017ca: PUSH4 0xffffffff 000017cf: AND 000017d0: JUMP 000017d1: JUMPDEST 000017d2: DUP1 000017d3: MLOAD 000017d4: SWAP1 000017d5: SWAP2 000017d6: POP 000017d7: ISZERO 000017d8: PUSH2 0x0432 000017db: JUMPI 000017dc: DUP1 000017dd: DUP1 000017de: PUSH1 0x20 000017e0: ADD 000017e1: SWAP1 000017e2: MLOAD 000017e3: DUP2 000017e4: ADD 000017e5: SWAP1 000017e6: PUSH2 0x17ef 000017e9: SWAP2 000017ea: SWAP1 000017eb: PUSH2 0x196b 000017ee: JUMP 000017ef: JUMPDEST 000017f0: PUSH2 0x0432 000017f3: JUMPI 000017f4: PUSH1 0x40 000017f6: MLOAD 000017f7: PUSH3 0x461bcd 000017fb: PUSH1 0xe5 000017fd: SHL 000017fe: DUP2 000017ff: MSTORE 00001800: PUSH1 0x04 00001802: ADD 00001803: PUSH2 0x035f 00001806: SWAP1 00001807: PUSH2 0x24d9 0000180a: JUMP 0000180b: JUMPDEST 0000180c: PUSH1 0x60 0000180e: PUSH2 0x1177 00001811: DUP5 00001812: DUP5 00001813: PUSH1 0x00 00001815: DUP6 00001816: PUSH1 0x60 00001818: PUSH2 0x1820 0000181b: DUP6 0000181c: PUSH2 0x18d9 0000181f: JUMP 00001820: JUMPDEST 00001821: PUSH2 0x183c 00001824: JUMPI 00001825: PUSH1 0x40 00001827: MLOAD 00001828: PUSH3 0x461bcd 0000182c: PUSH1 0xe5 0000182e: SHL 0000182f: DUP2 00001830: MSTORE 00001831: PUSH1 0x04 00001833: ADD 00001834: PUSH2 0x035f 00001837: SWAP1 00001838: PUSH2 0x2452 0000183b: JUMP 0000183c: JUMPDEST 0000183d: PUSH1 0x00 0000183f: PUSH1 0x60 00001841: DUP7 00001842: PUSH1 0x01 00001844: PUSH1 0x01 00001846: PUSH1 0xa0 00001848: SHL 00001849: SUB 0000184a: AND 0000184b: DUP6 0000184c: DUP8 0000184d: PUSH1 0x40 0000184f: MLOAD 00001850: PUSH2 0x1859 00001853: SWAP2 00001854: SWAP1 00001855: PUSH2 0x1b95 00001858: JUMP 00001859: JUMPDEST 0000185a: PUSH1 0x00 0000185c: PUSH1 0x40 0000185e: MLOAD 0000185f: DUP1 00001860: DUP4 00001861: SUB 00001862: DUP2 00001863: DUP6 00001864: DUP8 00001865: GAS 00001866: CALL 00001867: SWAP3 00001868: POP 00001869: POP 0000186a: POP 0000186b: RETURNDATASIZE 0000186c: DUP1 0000186d: PUSH1 0x00 0000186f: DUP2 00001870: EQ 00001871: PUSH2 0x1896 00001874: JUMPI 00001875: PUSH1 0x40 00001877: MLOAD 00001878: SWAP2 00001879: POP 0000187a: PUSH1 0x1f 0000187c: NOT 0000187d: PUSH1 0x3f 0000187f: RETURNDATASIZE 00001880: ADD 00001881: AND 00001882: DUP3 00001883: ADD 00001884: PUSH1 0x40 00001886: MSTORE 00001887: RETURNDATASIZE 00001888: DUP3 00001889: MSTORE 0000188a: RETURNDATASIZE 0000188b: PUSH1 0x00 0000188d: PUSH1 0x20 0000188f: DUP5 00001890: ADD 00001891: RETURNDATACOPY 00001892: PUSH2 0x189b 00001895: JUMP 00001896: JUMPDEST 00001897: PUSH1 0x60 00001899: SWAP2 0000189a: POP 0000189b: JUMPDEST 0000189c: POP 0000189d: SWAP2 0000189e: POP 0000189f: SWAP2 000018a0: POP 000018a1: DUP2 000018a2: ISZERO 000018a3: PUSH2 0x18af 000018a6: JUMPI 000018a7: SWAP2 000018a8: POP 000018a9: PUSH2 0x1177 000018ac: SWAP1 000018ad: POP 000018ae: JUMP 000018af: JUMPDEST 000018b0: DUP1 000018b1: MLOAD 000018b2: ISZERO 000018b3: PUSH2 0x18bf 000018b6: JUMPI 000018b7: DUP1 000018b8: MLOAD 000018b9: DUP1 000018ba: DUP3 000018bb: PUSH1 0x20 000018bd: ADD 000018be: REVERT 000018bf: JUMPDEST 000018c0: DUP4 000018c1: PUSH1 0x40 000018c3: MLOAD 000018c4: PUSH3 0x461bcd 000018c8: PUSH1 0xe5 000018ca: SHL 000018cb: DUP2 000018cc: MSTORE 000018cd: PUSH1 0x04 000018cf: ADD 000018d0: PUSH2 0x035f 000018d3: SWAP2 000018d4: SWAP1 000018d5: PUSH2 0x1fcf 000018d8: JUMP 000018d9: JUMPDEST 000018da: EXTCODESIZE 000018db: ISZERO 000018dc: ISZERO 000018dd: SWAP1 000018de: JUMP 000018df: JUMPDEST 000018e0: DUP1 000018e1: CALLDATALOAD 000018e2: PUSH1 0x01 000018e4: PUSH1 0x01 000018e6: PUSH1 0xa0 000018e8: SHL 000018e9: SUB 000018ea: DUP2 000018eb: AND 000018ec: DUP2 000018ed: EQ 000018ee: PUSH2 0x0b13 000018f1: JUMPI 000018f2: PUSH1 0x00 000018f4: DUP1 000018f5: REVERT 000018f6: JUMPDEST 000018f7: PUSH1 0x00 000018f9: PUSH2 0x0140 000018fc: DUP3 000018fd: DUP5 000018fe: SUB 000018ff: SLT 00001900: ISZERO 00001901: PUSH2 0x1908 00001904: JUMPI 00001905: DUP1 00001906: DUP2 00001907: REVERT 00001908: JUMPDEST 00001909: POP 0000190a: SWAP2 0000190b: SWAP1 0000190c: POP 0000190d: JUMP 0000190e: JUMPDEST 0000190f: DUP1 00001910: CALLDATALOAD 00001911: PUSH8 0xffffffffffffffff 0000191a: DUP2 0000191b: AND 0000191c: DUP2 0000191d: EQ 0000191e: PUSH2 0x0b13 00001921: JUMPI 00001922: PUSH1 0x00 00001924: DUP1 00001925: REVERT 00001926: JUMPDEST 00001927: PUSH1 0x00 00001929: PUSH1 0x20 0000192b: DUP3 0000192c: DUP5 0000192d: SUB 0000192e: SLT 0000192f: ISZERO 00001930: PUSH2 0x1937 00001933: JUMPI 00001934: DUP1 00001935: DUP2 00001936: REVERT 00001937: JUMPDEST 00001938: PUSH2 0x1139 0000193b: DUP4 0000193c: DUP4 0000193d: PUSH2 0x18df 00001940: JUMP 00001941: JUMPDEST 00001942: PUSH1 0x00 00001944: DUP1 00001945: PUSH1 0x40 00001947: DUP4 00001948: DUP6 00001949: SUB 0000194a: SLT 0000194b: ISZERO 0000194c: PUSH2 0x1953 0000194f: JUMPI 00001950: DUP1 00001951: DUP2 00001952: REVERT 00001953: JUMPDEST 00001954: PUSH2 0x195d 00001957: DUP5 00001958: DUP5 00001959: PUSH2 0x18df 0000195c: JUMP 0000195d: JUMPDEST 0000195e: SWAP5 0000195f: PUSH1 0x20 00001961: SWAP4 00001962: SWAP1 00001963: SWAP4 00001964: ADD 00001965: CALLDATALOAD 00001966: SWAP4 00001967: POP 00001968: POP 00001969: POP 0000196a: JUMP 0000196b: JUMPDEST 0000196c: PUSH1 0x00 0000196e: PUSH1 0x20 00001970: DUP3 00001971: DUP5 00001972: SUB 00001973: SLT 00001974: ISZERO 00001975: PUSH2 0x197c 00001978: JUMPI 00001979: DUP1 0000197a: DUP2 0000197b: REVERT 0000197c: JUMPDEST 0000197d: DUP2 0000197e: MLOAD 0000197f: DUP1 00001980: ISZERO 00001981: ISZERO 00001982: DUP2 00001983: EQ 00001984: PUSH2 0x1139 00001987: JUMPI 00001988: DUP2 00001989: DUP3 0000198a: REVERT 0000198b: JUMPDEST 0000198c: PUSH1 0x00 0000198e: PUSH1 0x20 00001990: DUP3 00001991: DUP5 00001992: SUB 00001993: SLT 00001994: ISZERO 00001995: PUSH2 0x199c 00001998: JUMPI 00001999: DUP1 0000199a: DUP2 0000199b: REVERT 0000199c: JUMPDEST 0000199d: POP 0000199e: CALLDATALOAD 0000199f: SWAP2 000019a0: SWAP1 000019a1: POP 000019a2: JUMP 000019a3: JUMPDEST 000019a4: PUSH1 0x00 000019a6: DUP1 000019a7: PUSH1 0x00 000019a9: PUSH2 0x0160 000019ac: DUP5 000019ad: DUP7 000019ae: SUB 000019af: SLT 000019b0: ISZERO 000019b1: PUSH2 0x19b8 000019b4: JUMPI 000019b5: DUP1 000019b6: DUP2 000019b7: REVERT 000019b8: JUMPDEST 000019b9: DUP4 000019ba: CALLDATALOAD 000019bb: PUSH8 0xffffffffffffffff 000019c4: DUP1 000019c5: DUP3 000019c6: GT 000019c7: ISZERO 000019c8: PUSH2 0x19cf 000019cb: JUMPI 000019cc: DUP3 000019cd: DUP4 000019ce: REVERT 000019cf: JUMPDEST 000019d0: DUP2 000019d1: DUP7 000019d2: ADD 000019d3: DUP8 000019d4: PUSH1 0x1f 000019d6: DUP3 000019d7: ADD 000019d8: SLT 000019d9: PUSH2 0x19e0 000019dc: JUMPI 000019dd: DUP4 000019de: DUP5 000019df: REVERT 000019e0: JUMPDEST 000019e1: DUP1 000019e2: CALLDATALOAD 000019e3: SWAP3 000019e4: POP 000019e5: DUP2 000019e6: DUP4 000019e7: GT 000019e8: ISZERO 000019e9: PUSH2 0x19f0 000019ec: JUMPI 000019ed: DUP4 000019ee: DUP5 000019ef: REVERT 000019f0: JUMPDEST 000019f1: DUP8 000019f2: PUSH1 0x20 000019f4: DUP5 000019f5: DUP4 000019f6: ADD 000019f7: ADD 000019f8: GT 000019f9: ISZERO 000019fa: PUSH2 0x1a01 000019fd: JUMPI 000019fe: DUP4 000019ff: DUP5 00001a00: REVERT 00001a01: JUMPDEST 00001a02: PUSH1 0x20 00001a04: DUP2 00001a05: ADD 00001a06: SWAP6 00001a07: POP 00001a08: POP 00001a09: POP 00001a0a: DUP1 00001a0b: SWAP3 00001a0c: POP 00001a0d: POP 00001a0e: PUSH2 0x1a1a 00001a11: DUP6 00001a12: PUSH1 0x20 00001a14: DUP7 00001a15: ADD 00001a16: PUSH2 0x18f6 00001a19: JUMP 00001a1a: JUMPDEST 00001a1b: SWAP1 00001a1c: POP 00001a1d: SWAP3 00001a1e: POP 00001a1f: SWAP3 00001a20: POP 00001a21: SWAP3 00001a22: JUMP 00001a23: JUMPDEST 00001a24: PUSH1 0x00 00001a26: DUP1 00001a27: PUSH1 0x00 00001a29: PUSH2 0x0180 00001a2c: DUP5 00001a2d: DUP7 00001a2e: SUB 00001a2f: SLT 00001a30: ISZERO 00001a31: PUSH2 0x1a38 00001a34: JUMPI 00001a35: DUP3 00001a36: DUP4 00001a37: REVERT 00001a38: JUMPDEST 00001a39: PUSH2 0x1a42 00001a3c: DUP6 00001a3d: DUP6 00001a3e: PUSH2 0x18f6 00001a41: JUMP 00001a42: JUMPDEST 00001a43: SWAP3 00001a44: POP 00001a45: PUSH2 0x0140 00001a48: DUP5 00001a49: ADD 00001a4a: CALLDATALOAD 00001a4b: PUSH2 0x1a53 00001a4e: DUP2 00001a4f: PUSH2 0x2673 00001a52: JUMP 00001a53: JUMPDEST 00001a54: SWAP2 00001a55: POP 00001a56: PUSH2 0x0160 00001a59: DUP5 00001a5a: ADD 00001a5b: CALLDATALOAD 00001a5c: PUSH2 0x1a64 00001a5f: DUP2 00001a60: PUSH2 0x2673 00001a63: JUMP 00001a64: JUMPDEST 00001a65: DUP1 00001a66: SWAP2 00001a67: POP 00001a68: POP 00001a69: SWAP3 00001a6a: POP 00001a6b: SWAP3 00001a6c: POP 00001a6d: SWAP3 00001a6e: JUMP 00001a6f: JUMPDEST 00001a70: PUSH1 0x00 00001a72: DUP1 00001a73: PUSH2 0x0160 00001a76: DUP4 00001a77: DUP6 00001a78: SUB 00001a79: SLT 00001a7a: ISZERO 00001a7b: PUSH2 0x1a82 00001a7e: JUMPI 00001a7f: DUP2 00001a80: DUP3 00001a81: REVERT 00001a82: JUMPDEST 00001a83: PUSH2 0x1a8c 00001a86: DUP5 00001a87: DUP5 00001a88: PUSH2 0x18f6 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: SWAP5 00001a8e: PUSH2 0x0140 00001a91: SWAP4 00001a92: SWAP1 00001a93: SWAP4 00001a94: ADD 00001a95: CALLDATALOAD 00001a96: SWAP4 00001a97: POP 00001a98: POP 00001a99: POP 00001a9a: JUMP 00001a9b: JUMPDEST 00001a9c: PUSH1 0x00 00001a9e: PUSH2 0x0140 00001aa1: DUP1 00001aa2: DUP4 00001aa3: DUP6 00001aa4: SUB 00001aa5: SLT 00001aa6: ISZERO 00001aa7: PUSH2 0x1aae 00001aaa: JUMPI 00001aab: DUP2 00001aac: DUP3 00001aad: REVERT 00001aae: JUMPDEST 00001aaf: PUSH2 0x1ab7 00001ab2: DUP2 00001ab3: PUSH2 0x2620 00001ab6: JUMP 00001ab7: JUMPDEST 00001ab8: DUP4 00001ab9: CALLDATALOAD 00001aba: DUP2 00001abb: MSTORE 00001abc: PUSH2 0x1ac8 00001abf: DUP6 00001ac0: PUSH1 0x20 00001ac2: DUP7 00001ac3: ADD 00001ac4: PUSH2 0x190e 00001ac7: JUMP 00001ac8: JUMPDEST 00001ac9: PUSH1 0x20 00001acb: DUP3 00001acc: ADD 00001acd: MSTORE 00001ace: PUSH2 0x1ada 00001ad1: DUP6 00001ad2: PUSH1 0x40 00001ad4: DUP7 00001ad5: ADD 00001ad6: PUSH2 0x190e 00001ad9: JUMP 00001ada: JUMPDEST 00001adb: PUSH1 0x40 00001add: DUP3 00001ade: ADD 00001adf: MSTORE 00001ae0: PUSH1 0x60 00001ae2: DUP5 00001ae3: ADD 00001ae4: CALLDATALOAD 00001ae5: PUSH1 0x60 00001ae7: DUP3 00001ae8: ADD 00001ae9: MSTORE 00001aea: PUSH1 0x80 00001aec: DUP5 00001aed: ADD 00001aee: CALLDATALOAD 00001aef: PUSH1 0x80 00001af1: DUP3 00001af2: ADD 00001af3: MSTORE 00001af4: PUSH1 0xa0 00001af6: DUP5 00001af7: ADD 00001af8: CALLDATALOAD 00001af9: PUSH1 0xa0 00001afb: DUP3 00001afc: ADD 00001afd: MSTORE 00001afe: PUSH2 0x1b0a 00001b01: DUP6 00001b02: PUSH1 0xc0 00001b04: DUP7 00001b05: ADD 00001b06: PUSH2 0x18df 00001b09: JUMP 00001b0a: JUMPDEST 00001b0b: PUSH1 0xc0 00001b0d: DUP3 00001b0e: ADD 00001b0f: MSTORE 00001b10: PUSH2 0x1b1c 00001b13: DUP6 00001b14: PUSH1 0xe0 00001b16: DUP7 00001b17: ADD 00001b18: PUSH2 0x18df 00001b1b: JUMP 00001b1c: JUMPDEST 00001b1d: PUSH1 0xe0 00001b1f: DUP3 00001b20: ADD 00001b21: MSTORE 00001b22: PUSH2 0x0100 00001b25: SWAP2 00001b26: POP 00001b27: PUSH2 0x1b32 00001b2a: DUP6 00001b2b: DUP4 00001b2c: DUP7 00001b2d: ADD 00001b2e: PUSH2 0x18df 00001b31: JUMP 00001b32: JUMPDEST 00001b33: DUP3 00001b34: DUP3 00001b35: ADD 00001b36: MSTORE 00001b37: PUSH2 0x0120 00001b3a: SWAP2 00001b3b: POP 00001b3c: PUSH2 0x1b47 00001b3f: DUP6 00001b40: DUP4 00001b41: DUP7 00001b42: ADD 00001b43: PUSH2 0x18df 00001b46: JUMP 00001b47: JUMPDEST 00001b48: SWAP2 00001b49: DUP2 00001b4a: ADD 00001b4b: SWAP2 00001b4c: SWAP1 00001b4d: SWAP2 00001b4e: MSTORE 00001b4f: SWAP4 00001b50: SWAP3 00001b51: POP 00001b52: POP 00001b53: POP 00001b54: JUMP 00001b55: JUMPDEST 00001b56: PUSH1 0x00 00001b58: PUSH1 0x20 00001b5a: DUP3 00001b5b: DUP5 00001b5c: SUB 00001b5d: SLT 00001b5e: ISZERO 00001b5f: PUSH2 0x1b66 00001b62: JUMPI 00001b63: DUP1 00001b64: DUP2 00001b65: REVERT 00001b66: JUMPDEST 00001b67: POP 00001b68: MLOAD 00001b69: SWAP2 00001b6a: SWAP1 00001b6b: POP 00001b6c: JUMP 00001b6d: JUMPDEST 00001b6e: PUSH1 0x00 00001b70: PUSH1 0x20 00001b72: DUP3 00001b73: DUP5 00001b74: SUB 00001b75: SLT 00001b76: ISZERO 00001b77: PUSH2 0x1b7e 00001b7a: JUMPI 00001b7b: DUP1 00001b7c: DUP2 00001b7d: REVERT 00001b7e: JUMPDEST 00001b7f: DUP2 00001b80: CALLDATALOAD 00001b81: PUSH8 0xffffffffffffffff 00001b8a: DUP2 00001b8b: AND 00001b8c: DUP2 00001b8d: EQ 00001b8e: PUSH2 0x1139 00001b91: JUMPI 00001b92: DUP2 00001b93: DUP3 00001b94: REVERT 00001b95: JUMPDEST 00001b96: PUSH1 0x00 00001b98: DUP3 00001b99: MLOAD 00001b9a: PUSH2 0x1ba7 00001b9d: DUP2 00001b9e: DUP5 00001b9f: PUSH1 0x20 00001ba1: DUP8 00001ba2: ADD 00001ba3: PUSH2 0x2647 00001ba6: JUMP 00001ba7: JUMPDEST 00001ba8: SWAP2 00001ba9: SWAP1 00001baa: SWAP2 00001bab: ADD 00001bac: SWAP3 00001bad: SWAP2 00001bae: POP 00001baf: POP 00001bb0: JUMP 00001bb1: JUMPDEST 00001bb2: PUSH32 0x4c6f616e526571756573742862797465733332206c6f616e49642c2075696e74 00001bd3: DUP2 00001bd4: MSTORE 00001bd5: PUSH32 0x3634206c6f616e496e746572657374526174652c2075696e743634206c6f616e 00001bf6: PUSH1 0x20 00001bf8: DUP3 00001bf9: ADD 00001bfa: MSTORE 00001bfb: PUSH32 0x5465726d2c2075696e74323536206c6f616e416d6f756e742c2075696e743235 00001c1c: PUSH1 0x40 00001c1e: DUP3 00001c1f: ADD 00001c20: MSTORE 00001c21: PUSH32 0x36206665652c2075696e7432353620696e697469616c436f6c6c61746572616c 00001c42: PUSH1 0x60 00001c44: DUP3 00001c45: ADD 00001c46: MSTORE 00001c47: PUSH32 0x416d6f756e742c2061646472657373206c656e6465722c206164647265737320 00001c68: PUSH1 0x80 00001c6a: DUP3 00001c6b: ADD 00001c6c: MSTORE 00001c6d: PUSH32 0x636f6c6c61746572616c416464726573732c206164647265737320756e646572 00001c8e: PUSH1 0xa0 00001c90: DUP3 00001c91: ADD 00001c92: MSTORE 00001c93: PUSH32 0x6c79696e67416464726573732c206164647265737320696e7375726572290000 00001cb4: PUSH1 0xc0 00001cb6: DUP3 00001cb7: ADD 00001cb8: MSTORE 00001cb9: PUSH1 0xde 00001cbb: ADD 00001cbc: SWAP1 00001cbd: JUMP 00001cbe: JUMPDEST 00001cbf: PUSH2 0x1901 00001cc2: PUSH1 0xf0 00001cc4: SHL 00001cc5: DUP2 00001cc6: MSTORE 00001cc7: PUSH1 0x02 00001cc9: DUP2 00001cca: ADD 00001ccb: SWAP3 00001ccc: SWAP1 00001ccd: SWAP3 00001cce: MSTORE 00001ccf: PUSH1 0x22 00001cd1: DUP3 00001cd2: ADD 00001cd3: MSTORE 00001cd4: PUSH1 0x42 00001cd6: ADD 00001cd7: SWAP1 00001cd8: JUMP 00001cd9: JUMPDEST 00001cda: PUSH32 0x454950373132446f6d61696e28737472696e67206e616d652c737472696e6720 00001cfb: DUP2 00001cfc: MSTORE 00001cfd: PUSH32 0x76657273696f6e2c75696e7432353620636861696e49642c6164647265737320 00001d1e: PUSH1 0x20 00001d20: DUP3 00001d21: ADD 00001d22: MSTORE 00001d23: PUSH18 0x766572696679696e67436f6e747261637429 00001d36: PUSH1 0x70 00001d38: SHL 00001d39: PUSH1 0x40 00001d3b: DUP3 00001d3c: ADD 00001d3d: MSTORE 00001d3e: PUSH1 0x52 00001d40: ADD 00001d41: SWAP1 00001d42: JUMP 00001d43: JUMPDEST 00001d44: SWAP1 00001d45: JUMP 00001d46: JUMPDEST 00001d47: PUSH32 0x4c6f616e526571756573742862797465733332206c6f616e49642c75696e7436 00001d68: DUP2 00001d69: MSTORE 00001d6a: PUSH32 0x34206c6f616e496e746572657374526174652c75696e743634206c6f616e5465 00001d8b: PUSH1 0x20 00001d8d: DUP3 00001d8e: ADD 00001d8f: MSTORE 00001d90: PUSH32 0x726d2c75696e74323536206c6f616e416d6f756e742c75696e74323536206665 00001db1: PUSH1 0x40 00001db3: DUP3 00001db4: ADD 00001db5: MSTORE 00001db6: PUSH32 0x652c75696e7432353620696e697469616c436f6c6c61746572616c416d6f756e 00001dd7: PUSH1 0x60 00001dd9: DUP3 00001dda: ADD 00001ddb: MSTORE 00001ddc: PUSH32 0x742c6164647265737320636f6c6c61746572616c416464726573732c61646472 00001dfd: PUSH1 0x80 00001dff: DUP3 00001e00: ADD 00001e01: MSTORE 00001e02: PUSH22 0x65737320756e6465726c79696e674164647265737329 00001e19: PUSH1 0x50 00001e1b: SHL 00001e1c: PUSH1 0xa0 00001e1e: DUP3 00001e1f: ADD 00001e20: MSTORE 00001e21: PUSH1 0xb6 00001e23: ADD 00001e24: SWAP1 00001e25: JUMP 00001e26: JUMPDEST 00001e27: PUSH1 0x01 00001e29: PUSH1 0x01 00001e2b: PUSH1 0xa0 00001e2d: SHL 00001e2e: SUB 00001e2f: SWAP2 00001e30: SWAP1 00001e31: SWAP2 00001e32: AND 00001e33: DUP2 00001e34: MSTORE 00001e35: PUSH1 0x20 00001e37: ADD 00001e38: SWAP1 00001e39: JUMP 00001e3a: JUMPDEST 00001e3b: PUSH1 0x01 00001e3d: PUSH1 0x01 00001e3f: PUSH1 0xa0 00001e41: SHL 00001e42: SUB 00001e43: SWAP3 00001e44: SWAP1 00001e45: SWAP3 00001e46: AND 00001e47: DUP3 00001e48: MSTORE 00001e49: PUSH1 0x20 00001e4b: DUP3 00001e4c: ADD 00001e4d: MSTORE 00001e4e: PUSH1 0x40 00001e50: ADD 00001e51: SWAP1 00001e52: JUMP 00001e53: JUMPDEST 00001e54: PUSH1 0x01 00001e56: PUSH1 0x01 00001e58: PUSH1 0xa0 00001e5a: SHL 00001e5b: SUB 00001e5c: SWAP4 00001e5d: DUP5 00001e5e: AND 00001e5f: DUP2 00001e60: MSTORE 00001e61: SWAP2 00001e62: SWAP1 00001e63: SWAP3 00001e64: AND 00001e65: PUSH1 0x20 00001e67: DUP3 00001e68: ADD 00001e69: MSTORE 00001e6a: PUSH1 0x40 00001e6c: DUP2 00001e6d: ADD 00001e6e: SWAP2 00001e6f: SWAP1 00001e70: SWAP2 00001e71: MSTORE 00001e72: PUSH1 0x60 00001e74: ADD 00001e75: SWAP1 00001e76: JUMP 00001e77: JUMPDEST 00001e78: PUSH1 0x01 00001e7a: PUSH1 0x01 00001e7c: PUSH1 0xa0 00001e7e: SHL 00001e7f: SUB 00001e80: SWAP5 00001e81: DUP6 00001e82: AND 00001e83: DUP2 00001e84: MSTORE 00001e85: SWAP3 00001e86: SWAP1 00001e87: SWAP4 00001e88: AND 00001e89: PUSH1 0x20 00001e8b: DUP4 00001e8c: ADD 00001e8d: MSTORE 00001e8e: PUSH1 0x40 00001e90: DUP3 00001e91: ADD 00001e92: MSTORE 00001e93: PUSH1 0x60 00001e95: DUP2 00001e96: ADD 00001e97: SWAP2 00001e98: SWAP1 00001e99: SWAP2 00001e9a: MSTORE 00001e9b: PUSH1 0x80 00001e9d: ADD 00001e9e: SWAP1 00001e9f: JUMP 00001ea0: JUMPDEST 00001ea1: SWAP1 00001ea2: DUP2 00001ea3: MSTORE 00001ea4: PUSH1 0x20 00001ea6: ADD 00001ea7: SWAP1 00001ea8: JUMP 00001ea9: JUMPDEST 00001eaa: SWAP5 00001eab: DUP6 00001eac: MSTORE 00001ead: PUSH1 0x20 00001eaf: DUP6 00001eb0: ADD 00001eb1: SWAP4 00001eb2: SWAP1 00001eb3: SWAP4 00001eb4: MSTORE 00001eb5: PUSH1 0x40 00001eb7: DUP5 00001eb8: ADD 00001eb9: SWAP2 00001eba: SWAP1 00001ebb: SWAP2 00001ebc: MSTORE 00001ebd: PUSH1 0x60 00001ebf: DUP4 00001ec0: ADD 00001ec1: MSTORE 00001ec2: PUSH1 0x01 00001ec4: PUSH1 0x01 00001ec6: PUSH1 0xa0 00001ec8: SHL 00001ec9: SUB 00001eca: AND 00001ecb: PUSH1 0x80 00001ecd: DUP3 00001ece: ADD 00001ecf: MSTORE 00001ed0: PUSH1 0xa0 00001ed2: ADD 00001ed3: SWAP1 00001ed4: JUMP 00001ed5: JUMPDEST 00001ed6: SWAP9 00001ed7: DUP10 00001ed8: MSTORE 00001ed9: PUSH1 0x20 00001edb: DUP10 00001edc: ADD 00001edd: SWAP8 00001ede: SWAP1 00001edf: SWAP8 00001ee0: MSTORE 00001ee1: PUSH8 0xffffffffffffffff 00001eea: SWAP6 00001eeb: DUP7 00001eec: AND 00001eed: PUSH1 0x40 00001eef: DUP10 00001ef0: ADD 00001ef1: MSTORE 00001ef2: SWAP4 00001ef3: SWAP1 00001ef4: SWAP5 00001ef5: AND 00001ef6: PUSH1 0x60 00001ef8: DUP8 00001ef9: ADD 00001efa: MSTORE 00001efb: PUSH1 0x80 00001efd: DUP7 00001efe: ADD 00001eff: SWAP2 00001f00: SWAP1 00001f01: SWAP2 00001f02: MSTORE 00001f03: PUSH1 0xa0 00001f05: DUP6 00001f06: ADD 00001f07: MSTORE 00001f08: PUSH1 0xc0 00001f0a: DUP5 00001f0b: ADD 00001f0c: SWAP2 00001f0d: SWAP1 00001f0e: SWAP2 00001f0f: MSTORE 00001f10: PUSH1 0x01 00001f12: PUSH1 0x01 00001f14: PUSH1 0xa0 00001f16: SHL 00001f17: SUB 00001f18: SWAP1 00001f19: DUP2 00001f1a: AND 00001f1b: PUSH1 0xe0 00001f1d: DUP5 00001f1e: ADD 00001f1f: MSTORE 00001f20: AND 00001f21: PUSH2 0x0100 00001f24: DUP3 00001f25: ADD 00001f26: MSTORE 00001f27: PUSH2 0x0120 00001f2a: ADD 00001f2b: SWAP1 00001f2c: JUMP 00001f2d: JUMPDEST 00001f2e: SWAP11 00001f2f: DUP12 00001f30: MSTORE 00001f31: PUSH1 0x20 00001f33: DUP12 00001f34: ADD 00001f35: SWAP10 00001f36: SWAP1 00001f37: SWAP10 00001f38: MSTORE 00001f39: PUSH8 0xffffffffffffffff 00001f42: SWAP8 00001f43: DUP9 00001f44: AND 00001f45: PUSH1 0x40 00001f47: DUP12 00001f48: ADD 00001f49: MSTORE 00001f4a: SWAP6 00001f4b: SWAP1 00001f4c: SWAP7 00001f4d: AND 00001f4e: PUSH1 0x60 00001f50: DUP10 00001f51: ADD 00001f52: MSTORE 00001f53: PUSH1 0x80 00001f55: DUP9 00001f56: ADD 00001f57: SWAP4 00001f58: SWAP1 00001f59: SWAP4 00001f5a: MSTORE 00001f5b: PUSH1 0xa0 00001f5d: DUP8 00001f5e: ADD 00001f5f: SWAP2 00001f60: SWAP1 00001f61: SWAP2 00001f62: MSTORE 00001f63: PUSH1 0xc0 00001f65: DUP7 00001f66: ADD 00001f67: MSTORE 00001f68: PUSH1 0x01 00001f6a: PUSH1 0x01 00001f6c: PUSH1 0xa0 00001f6e: SHL 00001f6f: SUB 00001f70: SWAP1 00001f71: DUP2 00001f72: AND 00001f73: PUSH1 0xe0 00001f75: DUP7 00001f76: ADD 00001f77: MSTORE 00001f78: SWAP2 00001f79: DUP3 00001f7a: AND 00001f7b: PUSH2 0x0100 00001f7e: DUP6 00001f7f: ADD 00001f80: MSTORE 00001f81: DUP2 00001f82: AND 00001f83: PUSH2 0x0120 00001f86: DUP5 00001f87: ADD 00001f88: MSTORE 00001f89: AND 00001f8a: PUSH2 0x0140 00001f8d: DUP3 00001f8e: ADD 00001f8f: MSTORE 00001f90: PUSH2 0x0160 00001f93: ADD 00001f94: SWAP1 00001f95: JUMP 00001f96: JUMPDEST 00001f97: SWAP4 00001f98: DUP5 00001f99: MSTORE 00001f9a: PUSH1 0x20 00001f9c: DUP5 00001f9d: ADD 00001f9e: SWAP3 00001f9f: SWAP1 00001fa0: SWAP3 00001fa1: MSTORE 00001fa2: PUSH1 0x40 00001fa4: DUP4 00001fa5: ADD 00001fa6: MSTORE 00001fa7: PUSH1 0x60 00001fa9: DUP3 00001faa: ADD 00001fab: MSTORE 00001fac: PUSH1 0x80 00001fae: ADD 00001faf: SWAP1 00001fb0: JUMP 00001fb1: JUMPDEST 00001fb2: SWAP4 00001fb3: DUP5 00001fb4: MSTORE 00001fb5: PUSH1 0xff 00001fb7: SWAP3 00001fb8: SWAP1 00001fb9: SWAP3 00001fba: AND 00001fbb: PUSH1 0x20 00001fbd: DUP5 00001fbe: ADD 00001fbf: MSTORE 00001fc0: PUSH1 0x40 00001fc2: DUP4 00001fc3: ADD 00001fc4: MSTORE 00001fc5: PUSH1 0x60 00001fc7: DUP3 00001fc8: ADD 00001fc9: MSTORE 00001fca: PUSH1 0x80 00001fcc: ADD 00001fcd: SWAP1 00001fce: JUMP 00001fcf: JUMPDEST 00001fd0: PUSH1 0x00 00001fd2: PUSH1 0x20 00001fd4: DUP3 00001fd5: MSTORE 00001fd6: DUP3 00001fd7: MLOAD 00001fd8: DUP1 00001fd9: PUSH1 0x20 00001fdb: DUP5 00001fdc: ADD 00001fdd: MSTORE 00001fde: PUSH2 0x1fee 00001fe1: DUP2 00001fe2: PUSH1 0x40 00001fe4: DUP6 00001fe5: ADD 00001fe6: PUSH1 0x20 00001fe8: DUP8 00001fe9: ADD 00001fea: PUSH2 0x2647 00001fed: JUMP 00001fee: JUMPDEST 00001fef: PUSH1 0x1f 00001ff1: ADD 00001ff2: PUSH1 0x1f 00001ff4: NOT 00001ff5: AND 00001ff6: SWAP2 00001ff7: SWAP1 00001ff8: SWAP2 00001ff9: ADD 00001ffa: PUSH1 0x40 00001ffc: ADD 00001ffd: SWAP3 00001ffe: SWAP2 00001fff: POP 00002000: POP 00002001: JUMP 00002002: JUMPDEST 00002003: PUSH1 0x20 00002005: DUP1 00002006: DUP3 00002007: MSTORE 00002008: PUSH1 0x18 0000200a: SWAP1 0000200b: DUP3 0000200c: ADD 0000200d: MSTORE 0000200e: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000 0000202f: PUSH1 0x40 00002031: DUP3 00002032: ADD 00002033: MSTORE 00002034: PUSH1 0x60 00002036: ADD 00002037: SWAP1 00002038: JUMP 00002039: JUMPDEST 0000203a: PUSH1 0x20 0000203c: DUP1 0000203d: DUP3 0000203e: MSTORE 0000203f: DUP2 00002040: DUP2 00002041: ADD 00002042: MSTORE 00002043: PUSH32 0x4c6f616e20436f6e74726163743a20496e76616c69642072657061796d656e74 00002064: PUSH1 0x40 00002066: DUP3 00002067: ADD 00002068: MSTORE 00002069: PUSH1 0x60 0000206b: ADD 0000206c: SWAP1 0000206d: JUMP 0000206e: JUMPDEST 0000206f: PUSH1 0x20 00002071: DUP1 00002072: DUP3 00002073: MSTORE 00002074: PUSH1 0x1f 00002076: SWAP1 00002077: DUP3 00002078: ADD 00002079: MSTORE 0000207a: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800 0000209b: PUSH1 0x40 0000209d: DUP3 0000209e: ADD 0000209f: MSTORE 000020a0: PUSH1 0x60 000020a2: ADD 000020a3: SWAP1 000020a4: JUMP 000020a5: JUMPDEST 000020a6: PUSH1 0x20 000020a8: DUP1 000020a9: DUP3 000020aa: MSTORE 000020ab: PUSH1 0x21 000020ad: SWAP1 000020ae: DUP3 000020af: ADD 000020b0: MSTORE 000020b1: PUSH32 0x4c6f616e20436f6e74726163743a20496e73756666696369656e742061737365 000020d2: PUSH1 0x40 000020d4: DUP3 000020d5: ADD 000020d6: MSTORE 000020d7: PUSH1 0x1d 000020d9: PUSH1 0xfa 000020db: SHL 000020dc: PUSH1 0x60 000020de: DUP3 000020df: ADD 000020e0: MSTORE 000020e1: PUSH1 0x80 000020e3: ADD 000020e4: SWAP1 000020e5: JUMP 000020e6: JUMPDEST 000020e7: PUSH1 0x20 000020e9: DUP1 000020ea: DUP3 000020eb: MSTORE 000020ec: PUSH1 0x1b 000020ee: SWAP1 000020ef: DUP3 000020f0: ADD 000020f1: MSTORE 000020f2: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00002113: PUSH1 0x40 00002115: DUP3 00002116: ADD 00002117: MSTORE 00002118: PUSH1 0x60 0000211a: ADD 0000211b: SWAP1 0000211c: JUMP 0000211d: JUMPDEST 0000211e: PUSH1 0x20 00002120: DUP1 00002121: DUP3 00002122: MSTORE 00002123: PUSH1 0x22 00002125: SWAP1 00002126: DUP3 00002127: ADD 00002128: MSTORE 00002129: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c 0000214a: PUSH1 0x40 0000214c: DUP3 0000214d: ADD 0000214e: MSTORE 0000214f: PUSH2 0x7565 00002152: PUSH1 0xf0 00002154: SHL 00002155: PUSH1 0x60 00002157: DUP3 00002158: ADD 00002159: MSTORE 0000215a: PUSH1 0x80 0000215c: ADD 0000215d: SWAP1 0000215e: JUMP 0000215f: JUMPDEST 00002160: PUSH1 0x20 00002162: DUP1 00002163: DUP3 00002164: MSTORE 00002165: PUSH1 0x1f 00002167: SWAP1 00002168: DUP3 00002169: ADD 0000216a: MSTORE 0000216b: PUSH32 0x4c697175696461746f723a20496e76616c6964206c69717569646174696f6e00 0000218c: PUSH1 0x40 0000218e: DUP3 0000218f: ADD 00002190: MSTORE 00002191: PUSH1 0x60 00002193: ADD 00002194: SWAP1 00002195: JUMP 00002196: JUMPDEST 00002197: PUSH1 0x20 00002199: DUP1 0000219a: DUP3 0000219b: MSTORE 0000219c: PUSH1 0x2a 0000219e: SWAP1 0000219f: DUP3 000021a0: ADD 000021a1: MSTORE 000021a2: PUSH32 0x4c6f616e20436f6e74726163743a20496e73756666696369656e7420756e6c6f 000021c3: PUSH1 0x40 000021c5: DUP3 000021c6: ADD 000021c7: MSTORE 000021c8: PUSH10 0x18dad95908185cdcd95d 000021d3: PUSH1 0xb2 000021d5: SHL 000021d6: PUSH1 0x60 000021d8: DUP3 000021d9: ADD 000021da: MSTORE 000021db: PUSH1 0x80 000021dd: ADD 000021de: SWAP1 000021df: JUMP 000021e0: JUMPDEST 000021e1: PUSH1 0x20 000021e3: DUP1 000021e4: DUP3 000021e5: MSTORE 000021e6: DUP2 000021e7: DUP2 000021e8: ADD 000021e9: MSTORE 000021ea: PUSH32 0x4c6f616e20436f6e74726163743a20496e76616c6964207369676e6174757265 0000220b: PUSH1 0x40 0000220d: DUP3 0000220e: ADD 0000220f: MSTORE 00002210: PUSH1 0x60 00002212: ADD 00002213: SWAP1 00002214: JUMP 00002215: JUMPDEST 00002216: PUSH1 0x20 00002218: DUP1 00002219: DUP3 0000221a: MSTORE 0000221b: PUSH1 0x2e 0000221d: SWAP1 0000221e: DUP3 0000221f: ADD 00002220: MSTORE 00002221: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00002242: PUSH1 0x40 00002244: DUP3 00002245: ADD 00002246: MSTORE 00002247: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00002256: PUSH1 0x92 00002258: SHL 00002259: PUSH1 0x60 0000225b: DUP3 0000225c: ADD 0000225d: MSTORE 0000225e: PUSH1 0x80 00002260: ADD 00002261: SWAP1 00002262: JUMP 00002263: JUMPDEST 00002264: PUSH1 0x20 00002266: DUP1 00002267: DUP3 00002268: MSTORE 00002269: PUSH1 0x22 0000226b: SWAP1 0000226c: DUP3 0000226d: ADD 0000226e: MSTORE 0000226f: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c 00002290: PUSH1 0x40 00002292: DUP3 00002293: ADD 00002294: MSTORE 00002295: PUSH2 0x7565 00002298: PUSH1 0xf0 0000229a: SHL 0000229b: PUSH1 0x60 0000229d: DUP3 0000229e: ADD 0000229f: MSTORE 000022a0: PUSH1 0x80 000022a2: ADD 000022a3: SWAP1 000022a4: JUMP 000022a5: JUMPDEST 000022a6: PUSH1 0x20 000022a8: DUP1 000022a9: DUP3 000022aa: MSTORE 000022ab: PUSH1 0x21 000022ad: SWAP1 000022ae: DUP3 000022af: ADD 000022b0: MSTORE 000022b1: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f 000022d2: PUSH1 0x40 000022d4: DUP3 000022d5: ADD 000022d6: MSTORE 000022d7: PUSH1 0x77 000022d9: PUSH1 0xf8 000022db: SHL 000022dc: PUSH1 0x60 000022de: DUP3 000022df: ADD 000022e0: MSTORE 000022e1: PUSH1 0x80 000022e3: ADD 000022e4: SWAP1 000022e5: JUMP 000022e6: JUMPDEST 000022e7: PUSH1 0x20 000022e9: DUP1 000022ea: DUP3 000022eb: MSTORE 000022ec: PUSH1 0x22 000022ee: SWAP1 000022ef: DUP3 000022f0: ADD 000022f1: MSTORE 000022f2: PUSH32 0x4c6f616e20436f6e74726163743a20496e636f7272656374206c6f616e206461 00002313: PUSH1 0x40 00002315: DUP3 00002316: ADD 00002317: MSTORE 00002318: PUSH2 0x7461 0000231b: PUSH1 0xf0 0000231d: SHL 0000231e: PUSH1 0x60 00002320: DUP3 00002321: ADD 00002322: MSTORE 00002323: PUSH1 0x80 00002325: ADD 00002326: SWAP1 00002327: JUMP 00002328: JUMPDEST 00002329: PUSH1 0x20 0000232b: DUP1 0000232c: DUP3 0000232d: MSTORE 0000232e: PUSH1 0x23 00002330: SWAP1 00002331: DUP3 00002332: ADD 00002333: MSTORE 00002334: PUSH32 0x4c6f616e20436f6e74726163743a204661696c656420746f2073656e64204574 00002355: PUSH1 0x40 00002357: DUP3 00002358: ADD 00002359: MSTORE 0000235a: PUSH3 0x3432b9 0000235e: PUSH1 0xe9 00002360: SHL 00002361: PUSH1 0x60 00002363: DUP3 00002364: ADD 00002365: MSTORE 00002366: PUSH1 0x80 00002368: ADD 00002369: SWAP1 0000236a: JUMP 0000236b: JUMPDEST 0000236c: PUSH1 0x20 0000236e: DUP1 0000236f: DUP3 00002370: MSTORE 00002371: PUSH1 0x2f 00002373: SWAP1 00002374: DUP3 00002375: ADD 00002376: MSTORE 00002377: PUSH32 0x4c6f616e20436f6e74726163743a20496e76616c6964206c6971756964617469 00002398: PUSH1 0x40 0000239a: DUP3 0000239b: ADD 0000239c: MSTORE 0000239d: PUSH15 0x6f6e207374617465206368616e6765 000023ad: PUSH1 0x88 000023af: SHL 000023b0: PUSH1 0x60 000023b2: DUP3 000023b3: ADD 000023b4: MSTORE 000023b5: PUSH1 0x80 000023b7: ADD 000023b8: SWAP1 000023b9: JUMP 000023ba: JUMPDEST 000023bb: PUSH1 0x20 000023bd: DUP1 000023be: DUP3 000023bf: MSTORE 000023c0: PUSH1 0x32 000023c2: SWAP1 000023c3: DUP3 000023c4: ADD 000023c5: MSTORE 000023c6: PUSH32 0x4c6f616e20436f6e74726163743a2043616c6c6572206d75737420626520536d 000023e7: PUSH1 0x40 000023e9: DUP3 000023ea: ADD 000023eb: MSTORE 000023ec: PUSH18 0x185c9d10dc99591a5d0810dbdb9d1c9858dd 000023ff: PUSH1 0x72 00002401: SHL 00002402: PUSH1 0x60 00002404: DUP3 00002405: ADD 00002406: MSTORE 00002407: PUSH1 0x80 00002409: ADD 0000240a: SWAP1 0000240b: JUMP 0000240c: JUMPDEST 0000240d: PUSH1 0x20 0000240f: DUP1 00002410: DUP3 00002411: MSTORE 00002412: PUSH1 0x26 00002414: SWAP1 00002415: DUP3 00002416: ADD 00002417: MSTORE 00002418: PUSH32 0x4c6f616e20436f6e74726163743a20496e73756666696369656e7420636f6c6c 00002439: PUSH1 0x40 0000243b: DUP3 0000243c: ADD 0000243d: MSTORE 0000243e: PUSH6 0x185d195c985b 00002445: PUSH1 0xd2 00002447: SHL 00002448: PUSH1 0x60 0000244a: DUP3 0000244b: ADD 0000244c: MSTORE 0000244d: PUSH1 0x80 0000244f: ADD 00002450: SWAP1 00002451: JUMP 00002452: JUMPDEST 00002453: PUSH1 0x20 00002455: DUP1 00002456: DUP3 00002457: MSTORE 00002458: PUSH1 0x1d 0000245a: SWAP1 0000245b: DUP3 0000245c: ADD 0000245d: MSTORE 0000245e: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 0000247f: PUSH1 0x40 00002481: DUP3 00002482: ADD 00002483: MSTORE 00002484: PUSH1 0x60 00002486: ADD 00002487: SWAP1 00002488: JUMP 00002489: JUMPDEST 0000248a: PUSH1 0x20 0000248c: DUP1 0000248d: DUP3 0000248e: MSTORE 0000248f: PUSH1 0x30 00002491: SWAP1 00002492: DUP3 00002493: ADD 00002494: MSTORE 00002495: PUSH32 0x4c6f616e20436f6e74726163743a20496e6372656173696e6720636f6c6c6174 000024b6: PUSH1 0x40 000024b8: DUP3 000024b9: ADD 000024ba: MSTORE 000024bb: PUSH16 0x195c985b081b9bdd08185b1b1bddd959 000024cc: PUSH1 0x82 000024ce: SHL 000024cf: PUSH1 0x60 000024d1: DUP3 000024d2: ADD 000024d3: MSTORE 000024d4: PUSH1 0x80 000024d6: ADD 000024d7: SWAP1 000024d8: JUMP 000024d9: JUMPDEST 000024da: PUSH1 0x20 000024dc: DUP1 000024dd: DUP3 000024de: MSTORE 000024df: PUSH1 0x2a 000024e1: SWAP1 000024e2: DUP3 000024e3: ADD 000024e4: MSTORE 000024e5: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002506: PUSH1 0x40 00002508: DUP3 00002509: ADD 0000250a: MSTORE 0000250b: PUSH10 0x1bdd081cdd58d8d95959 00002516: PUSH1 0xb2 00002518: SHL 00002519: PUSH1 0x60 0000251b: DUP3 0000251c: ADD 0000251d: MSTORE 0000251e: PUSH1 0x80 00002520: ADD 00002521: SWAP1 00002522: JUMP 00002523: JUMPDEST 00002524: PUSH1 0x20 00002526: DUP1 00002527: DUP3 00002528: MSTORE 00002529: PUSH1 0x2b 0000252b: SWAP1 0000252c: DUP3 0000252d: ADD 0000252e: MSTORE 0000252f: PUSH32 0x4c6f616e20436f6e74726163743a20417574686f72697a6564206f6e6c792066 00002550: PUSH1 0x40 00002552: DUP3 00002553: ADD 00002554: MSTORE 00002555: PUSH11 0x37b9103137b93937bbb2b9 00002561: PUSH1 0xa9 00002563: SHL 00002564: PUSH1 0x60 00002566: DUP3 00002567: ADD 00002568: MSTORE 00002569: PUSH1 0x80 0000256b: ADD 0000256c: SWAP1 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH1 0x20 00002571: DUP1 00002572: DUP3 00002573: MSTORE 00002574: PUSH1 0x23 00002576: SWAP1 00002577: DUP3 00002578: ADD 00002579: MSTORE 0000257a: PUSH32 0x4c6f616e20436f6e74726163743a20496e73756666696369656e742062616c61 0000259b: PUSH1 0x40 0000259d: DUP3 0000259e: ADD 0000259f: MSTORE 000025a0: PUSH3 0x6e6365 000025a4: PUSH1 0xe8 000025a6: SHL 000025a7: PUSH1 0x60 000025a9: DUP3 000025aa: ADD 000025ab: MSTORE 000025ac: PUSH1 0x80 000025ae: ADD 000025af: SWAP1 000025b0: JUMP 000025b1: JUMPDEST 000025b2: SWAP3 000025b3: DUP4 000025b4: MSTORE 000025b5: PUSH1 0x20 000025b7: DUP4 000025b8: ADD 000025b9: SWAP2 000025ba: SWAP1 000025bb: SWAP2 000025bc: MSTORE 000025bd: PUSH1 0x40 000025bf: DUP3 000025c0: ADD 000025c1: MSTORE 000025c2: PUSH1 0x60 000025c4: ADD 000025c5: SWAP1 000025c6: JUMP 000025c7: JUMPDEST 000025c8: SWAP2 000025c9: DUP3 000025ca: MSTORE 000025cb: PUSH8 0xffffffffffffffff 000025d4: AND 000025d5: PUSH1 0x20 000025d7: DUP3 000025d8: ADD 000025d9: MSTORE 000025da: PUSH1 0x40 000025dc: ADD 000025dd: SWAP1 000025de: JUMP 000025df: JUMPDEST 000025e0: SWAP6 000025e1: DUP7 000025e2: MSTORE 000025e3: PUSH8 0xffffffffffffffff 000025ec: SWAP5 000025ed: DUP6 000025ee: AND 000025ef: PUSH1 0x20 000025f1: DUP8 000025f2: ADD 000025f3: MSTORE 000025f4: SWAP3 000025f5: SWAP1 000025f6: SWAP4 000025f7: AND 000025f8: PUSH1 0x40 000025fa: DUP6 000025fb: ADD 000025fc: MSTORE 000025fd: PUSH1 0x01 000025ff: PUSH1 0x01 00002601: PUSH1 0xa0 00002603: SHL 00002604: SUB 00002605: SWAP1 00002606: DUP2 00002607: AND 00002608: PUSH1 0x60 0000260a: DUP6 0000260b: ADD 0000260c: MSTORE 0000260d: SWAP2 0000260e: DUP3 0000260f: AND 00002610: PUSH1 0x80 00002612: DUP5 00002613: ADD 00002614: MSTORE 00002615: AND 00002616: PUSH1 0xa0 00002618: DUP3 00002619: ADD 0000261a: MSTORE 0000261b: PUSH1 0xc0 0000261d: ADD 0000261e: SWAP1 0000261f: JUMP 00002620: JUMPDEST 00002621: PUSH1 0x40 00002623: MLOAD 00002624: DUP2 00002625: DUP2 00002626: ADD 00002627: PUSH8 0xffffffffffffffff 00002630: DUP2 00002631: GT 00002632: DUP3 00002633: DUP3 00002634: LT 00002635: OR 00002636: ISZERO 00002637: PUSH2 0x263f 0000263a: JUMPI 0000263b: PUSH1 0x00 0000263d: DUP1 0000263e: REVERT 0000263f: JUMPDEST 00002640: PUSH1 0x40 00002642: MSTORE 00002643: SWAP2 00002644: SWAP1 00002645: POP 00002646: JUMP 00002647: JUMPDEST 00002648: PUSH1 0x00 0000264a: JUMPDEST 0000264b: DUP4 0000264c: DUP2 0000264d: LT 0000264e: ISZERO 0000264f: PUSH2 0x2662 00002652: JUMPI 00002653: DUP2 00002654: DUP2 00002655: ADD 00002656: MLOAD 00002657: DUP4 00002658: DUP3 00002659: ADD 0000265a: MSTORE 0000265b: PUSH1 0x20 0000265d: ADD 0000265e: PUSH2 0x264a 00002661: JUMP 00002662: JUMPDEST 00002663: DUP4 00002664: DUP2 00002665: GT 00002666: ISZERO 00002667: PUSH2 0x1720 0000266a: JUMPI 0000266b: POP 0000266c: POP 0000266d: PUSH1 0x00 0000266f: SWAP2 00002670: ADD 00002671: MSTORE 00002672: JUMP 00002673: JUMPDEST 00002674: PUSH1 0x01 00002676: PUSH1 0x01 00002678: PUSH1 0xa0 0000267a: SHL 0000267b: SUB 0000267c: DUP2 0000267d: AND 0000267e: DUP2 0000267f: EQ 00002680: PUSH2 0x2688 00002683: JUMPI 00002684: PUSH1 0x00 00002686: DUP1 00002687: REVERT 00002688: JUMPDEST 00002689: POP 0000268a: JUMP 0000268b: INVALID 0000268c: LOG2 0000268d: PUSH5 0x6970667358 00002693: UNKNOWN(0x22) 00002694: SLT 00002695: KECCAK256 00002696: UNKNOWN(0xB3) 00002697: UNKNOWN(0x29) 00002698: UNKNOWN(0xC5) 00002699: UNKNOWN(0x27) 0000269a: GAS 0000269b: PUSH13 0xaba7610cb74ecb65f399fbf4f5 000026a9: UNKNOWN(0xF8) 000026aa: SELFBALANCE 000026ab: PUSH17 0xdc3670024478b103d51164736f6c634300 000026bd: MOD 000026be: MOD 000026bf: STOP 000026c0: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xab2aa95d43048f0a8a5bdb5e32eb80256a5807a29a9d62f01e46684cbc514b4b
call_targets:
0xc46507ce7b32e4243ae39644f4b2fe42e6d9c46f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xab2aa95d43048f0a8a5bdb5e32eb80256a5807a29a9d62f01e46684cbc514b4b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc46507ce7b32e4243ae39644f4b2fe42e6d9c46f"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x8459e45a",
"selector": "0x8459e45a",
"calldata_variants": [
"0x8459e45a",
"0x8459e45a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb588d225",
"selector": "0xb588d225",
"calldata_variants": [
"0xb588d225",
"0xb588d2250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d2b1b3",
"selector": "0xc4d2b1b3",
"calldata_variants": [
"0xc4d2b1b3",
"0xc4d2b1b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb76ef2d",
"selector": "0xcb76ef2d",
"calldata_variants": [
"0xcb76ef2d",
"0xcb76ef2d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e764a3c",
"selector": "0x6e764a3c",
"calldata_variants": [
"0x6e764a3c",
"0x6e764a3c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7e695d56",
"selector": "0x7e695d56",
"calldata_variants": [
"0x7e695d56",
"0x7e695d560000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2391b6a6",
"selector": "0x2391b6a6",
"calldata_variants": [
"0x2391b6a6",
"0x2391b6a60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1725,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3651,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4946,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 1384,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 1976,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xab2aa95d43048f0a8a5bdb5e32eb80256a5807a29a9d62f01e46684cbc514b4b
call_targets:
0xc46507ce7b32e4243ae39644f4b2fe42e6d9c46f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xab2aa95d43048f0a8a5bdb5e32eb80256a5807a29a9d62f01e46684cbc514b4b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc46507ce7b32e4243ae39644f4b2fe42e6d9c46f"
],
"matched_probe": null,
"target_varies": false,
"classification": "constant_target"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x8459e45a",
"selector": "0x8459e45a",
"calldata_variants": [
"0x8459e45a",
"0x8459e45a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb588d225",
"selector": "0xb588d225",
"calldata_variants": [
"0xb588d225",
"0xb588d2250000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d2b1b3",
"selector": "0xc4d2b1b3",
"calldata_variants": [
"0xc4d2b1b3",
"0xc4d2b1b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb76ef2d",
"selector": "0xcb76ef2d",
"calldata_variants": [
"0xcb76ef2d",
"0xcb76ef2d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e764a3c",
"selector": "0x6e764a3c",
"calldata_variants": [
"0x6e764a3c",
"0x6e764a3c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x6e947298",
"selector": "0x6e947298",
"calldata_variants": [
"0x6e947298",
"0x6e9472980000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x7e695d56",
"selector": "0x7e695d56",
"calldata_variants": [
"0x7e695d56",
"0x7e695d560000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2391b6a6",
"selector": "0x2391b6a6",
"calldata_variants": [
"0x2391b6a6",
"0x2391b6a60000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1725,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3651,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4946,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": [
{
"pc": 1384,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 1976,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
}
]
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|