10f2851f-10fd-400c-94e2-4f0602fb8ced
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 |
|---|---|---|---|---|
| 30613 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74674 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 74675 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74676 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74677 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74678 | detector.run | complete | 1 / 3 | 1 week ago |
| 74679 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:540240] OpenAI Codex v0.77.0 (research preview)
[codex:540240] --------
[codex:540240] workdir: /tmp/codex-multi-xjwizbb5
[codex:540240] model: gpt-5.2-codex
[codex:540240] provider: openai
[codex:540240] approval: never
[codex:540240] sandbox: read-only
[codex:540240] reasoning effort: xhigh
[codex:540240] reasoning summaries: auto
[codex:540240] session id: 019b6c63-db3b-7360-8805-9b1197c49e9d
[codex:540240] --------
[codex:540240] user
[codex:540240] You are a security auditor. You are given EVM runtime bytecode (and possibly a disassembly) for a contract with NO verified source.
[codex:540240] This is best-effort. Do not hallucinate: only flag issues when there's a concrete, explainable angle from bytecode/disasm patterns.
[codex:540240]
[codex:540240] You MUST read the full `BYTECODE_BUNDLE.txt` before concluding.
[codex:540240]
[codex:540240] Output MUST be valid JSON matching the provided schema.
[codex:540240] - If you cannot identify a concrete issue from bytecode/disasm alone: set no_findings=true and findings=[].
[codex:540240] - Otherwise: include findings with severity/category/title/evidence and point locations to BYTECODE_BUNDLE.txt line ranges when possible.
[codex:540240]
[codex:540240] Output constraints (IMPORTANT):
[codex:540240] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:540240] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:540240] mcp startup: no servers
[codex:540240]
[codex:540240] thinking
[codex:540240] **Reading BYTECODE_BUNDLE.txt**
[codex:540240] exec
[codex:540240] /bin/bash -lc ls in /tmp/codex-multi-xjwizbb5 succeeded in 6ms:
[codex:540240] BYTECODE_BUNDLE.txt
[codex:540240] codex-output-schema.json
[codex:540240] exec
[codex:540240] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-xjwizbb5 succeeded in 5ms:
[codex:540240] Runtime bytecode bundle for best-effort auditing.
[codex:540240] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:540240]
[codex:540240] FILE: runtime_bytecode.hex
[codex:540240] 0x6080604052600436106100345760003560e01c8063a79f5b7a14610039578063bed274e61461006a578063cc2d1fcb14610086575b600080fd5b610053600480360381019061004e9190611287565b6100a2565b604051610061929190611505565b60405180910390f35b610084600480360381019061007f91906111cd565b6101b2565b005b6100a0600480360381019061009b919061111c565b610d9e565b005b6000606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146100fe57600080fd5b60606040518060400160405280600981526020017f53d7087a019c5f1334000000000000000000000000000000000000000000000081525090508573ffffffffffffffffffffffffffffffffffffffff163486866040516101609291906114b6565b60006040518083038185875af1925050503d806000811461019d576040519150601f19603f3d011682016040523d82523d6000602084013e6101a2565b606091505b5092509250509550959350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461020a57600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561025257600080fd5b505afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a91906110f3565b905060008773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156102d457600080fd5b505afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030c91906110f3565b90506000808973ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561035757600080fd5b505afa15801561036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038f9190611310565b50915091506060604051806020016040528060008152509050600115158a151514156108a45760008573ffffffffffffffffffffffffffffffffffffffff166370a082318d6040518263ffffffff1660e01b81526004016103f091906114ea565b60206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610440919061135f565b9050836dffffffffffffffffffffffffffff1681111561089e57600115158a151514156104d7578b73ffffffffffffffffffffffffffffffffffffffff1663bc25cf77306040518263ffffffff1660e01b81526004016104a091906114cf565b600060405180830381600087803b1580156104ba57600080fd5b505af11580156104ce573d6000803e3d6000fd5b50505050610619565b6000846dffffffffffffffffffffffffffff1682039050600115158a1515141561058b576000670de0b6b3a7640000828b028161051057fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f60008330886040518563ffffffff1660e01b81526004016105539493929190611535565b600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b5050505050610617565b6000670de0b6b3a7640000828b02816105a057fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f82600030886040518563ffffffff1660e01b81526004016105e39493929190611581565b600060405180830381600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b50505050505b505b60011515871515148015610631575060001515891515145b1561089d576060600267ffffffffffffffff8111801561065057600080fd5b5060405190808252806020026020018201604052801561067f5781602001602082028036833780820191505090505b509050868160008151811061069057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106106fa57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107ab91906114cf565b60206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb919061135f565b60008460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16603c42016040518663ffffffff1660e01b81526004016108439594939291906115cd565b600060405180830381600087803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061089a919061118c565b50505b5b50610d8f565b60008473ffffffffffffffffffffffffffffffffffffffff166370a082318d6040518263ffffffff1660e01b81526004016108df91906114ea565b60206040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092f919061135f565b9050826dffffffffffffffffffffffffffff16811115610d8d57600115158a151514156109c6578b73ffffffffffffffffffffffffffffffffffffffff1663bc25cf77306040518263ffffffff1660e01b815260040161098f91906114cf565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050610b08565b6000836dffffffffffffffffffffffffffff1682039050600115158a15151415610a7a576000670de0b6b3a7640000828b02816109ff57fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f82600030886040518563ffffffff1660e01b8152600401610a429493929190611581565b600060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b5050505050610b06565b6000670de0b6b3a7640000828b0281610a8f57fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f60008330886040518563ffffffff1660e01b8152600401610ad29493929190611535565b600060405180830381600087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b50505050505b505b60011515871515148015610b20575060001515891515145b15610d8c576060600267ffffffffffffffff81118015610b3f57600080fd5b50604051908082528060200260200182016040528015610b6e5781602001602082028036833780820191505090505b5090508581600081518110610b7f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610be957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c9a91906114cf565b60206040518083038186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea919061135f565b60008460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16603c42016040518663ffffffff1660e01b8152600401610d329594939291906115cd565b600060405180830381600087803b158015610d4c57600080fd5b505af1158015610d60573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610d89919061118c565b50505b5b505b50505050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610df657600080fd5b60005b8351811015610eab57838181518110610e0e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1634848484818110610e3957fe5b9050602002810190610e4b9190611627565b604051610e599291906114b6565b60006040518083038185875af1925050503d8060008114610e96576040519150601f19603f3d011682016040523d82523d6000602084013e610e9b565b606091505b5050508080600101915050610df9565b50505050565b600081359050610ec08161187a565b92915050565b600081519050610ed58161187a565b92915050565b600081359050610eea81611891565b92915050565b600082601f830112610f0157600080fd5b8135610f14610f0f826116ab565b61167e565b91508181835260208401935060208101905083856020840282011115610f3957600080fd5b60005b83811015610f695781610f4f8882610eb1565b845260208401935060208301925050600181019050610f3c565b5050505092915050565b60008083601f840112610f8557600080fd5b8235905067ffffffffffffffff811115610f9e57600080fd5b602083019150836020820283011115610fb657600080fd5b9250929050565b600082601f830112610fce57600080fd5b8151610fe1610fdc826116d3565b61167e565b9150818183526020840193506020810190508385602084028201111561100657600080fd5b60005b83811015611036578161101c88826110c9565b845260208401935060208301925050600181019050611009565b5050505092915050565b60008135905061104f816118a8565b92915050565b60008083601f84011261106757600080fd5b8235905067ffffffffffffffff81111561108057600080fd5b60208301915083600182028301111561109857600080fd5b9250929050565b6000815190506110ae816118bf565b92915050565b6000813590506110c3816118d6565b92915050565b6000815190506110d8816118d6565b92915050565b6000815190506110ed816118ed565b92915050565b60006020828403121561110557600080fd5b600061111384828501610ec6565b91505092915050565b60008060006040848603121561113157600080fd5b600084013567ffffffffffffffff81111561114b57600080fd5b61115786828701610ef0565b935050602084013567ffffffffffffffff81111561117457600080fd5b61118086828701610f73565b92509250509250925092565b60006020828403121561119e57600080fd5b600082015167ffffffffffffffff8111156111b857600080fd5b6111c484828501610fbd565b91505092915050565b60008060008060008060008060e0898b0312156111e957600080fd5b600089013567ffffffffffffffff81111561120357600080fd5b61120f8b828c01611055565b985098505060206112228b828c01610edb565b96505060406112338b828c01611040565b95505060606112448b828c01611040565b94505060806112558b828c01611040565b93505060a06112668b828c016110b4565b92505060c06112778b828c01611040565b9150509295985092959890939650565b60008060008060006060868803121561129f57600080fd5b600086013567ffffffffffffffff8111156112b957600080fd5b6112c588828901611055565b955095505060206112d888828901610edb565b935050604086013567ffffffffffffffff8111156112f557600080fd5b61130188828901611055565b92509250509295509295909350565b60008060006060848603121561132557600080fd5b60006113338682870161109f565b93505060206113448682870161109f565b9250506040611355868287016110de565b9150509250925092565b60006020828403121561137157600080fd5b600061137f848285016110c9565b91505092915050565b600061139483836113af565b60208301905092915050565b6113a9816117df565b82525050565b6113b88161175b565b82525050565b6113c78161175b565b82525050565b60006113d88261170b565b6113e2818561172e565b93506113ed836116fb565b8060005b8381101561141e5781516114058882611388565b975061141083611721565b9250506001810190506113f1565b5085935050505092915050565b6114348161177f565b82525050565b60006114468385611750565b9350611453838584611827565b82840190509392505050565b600061146a82611716565b611474818561173f565b9350611484818560208601611836565b61148d81611869565b840191505092915050565b6114a1816117f1565b82525050565b6114b0816117c5565b82525050565b60006114c382848661143a565b91508190509392505050565b60006020820190506114e460008301846113be565b92915050565b60006020820190506114ff60008301846113a0565b92915050565b600060408201905061151a600083018561142b565b818103602083015261152c818461145f565b90509392505050565b600060808201905061154a6000830187611498565b61155760208301866114a7565b61156460408301856113be565b8181036060830152611576818461145f565b905095945050505050565b600060808201905061159660008301876114a7565b6115a36020830186611498565b6115b060408301856113be565b81810360608301526115c2818461145f565b905095945050505050565b600060a0820190506115e260008301886114a7565b6115ef6020830187611498565b818103604083015261160181866113cd565b905061161060608301856113be565b61161d60808301846114a7565b9695505050505050565b6000808335600160200384360303811261164057600080fd5b80840192508235915067ffffffffffffffff82111561165e57600080fd5b60208301925060018202360383131561167657600080fd5b509250929050565b6000604051905081810181811067ffffffffffffffff821117156116a157600080fd5b8060405250919050565b600067ffffffffffffffff8211156116c257600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156116ea57600080fd5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000611766826117a5565b9050919050565b6000611778826117a5565b9050919050565b60008115159050919050565b60006dffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006117ea82611803565b9050919050565b60006117fc826117c5565b9050919050565b600061180e82611815565b9050919050565b6000611820826117a5565b9050919050565b82818337600083830152505050565b60005b83811015611854578082015181840152602081019050611839565b83811115611863576000848401525b50505050565b6000601f19601f8301169050919050565b6118838161175b565b811461188e57600080fd5b50565b61189a8161176d565b81146118a557600080fd5b50565b6118b18161177f565b81146118bc57600080fd5b50565b6118c88161178b565b81146118d357600080fd5b50565b6118df816117c5565b81146118ea57600080fd5b50565b6118f6816117cf565b811461190157600080fd5b5056fea26469706673582212207e50a5fdf1059f4aa0ed3084d3eb8a10f3f6f4c3f5d72983fa98d83e1b02a66a64736f6c63430007010033
[codex:540240]
[codex:540240]
[codex:540240] thinking
[codex:540240] **Analyzing bytecode for function structure and risks**
[codex:540240] thinking
[codex:540240] **Evaluating unchecked call results and owner privileges**
[codex:540240]
[codex:540240] I’m carefully weighing how the contract handles low-level calls without verifying success, especially in owner-only functions that perform external calls with arbitrary calldata and value. I see potential concerns about silent failures and centralized control due to owner’s ability to invoke arbitrary calls, but no obvious critical vulnerabilities emerge from the bytecode patterns.
[codex:540240] exec
[codex:540240] /bin/bash -lc 'nl -ba BYTECODE_BUNDLE.txt' in /tmp/codex-multi-xjwizbb5 succeeded in 5ms:
[codex:540240] 1 Runtime bytecode bundle for best-effort auditing.
[codex:540240] 2 Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:540240] 3
[codex:540240] 4 FILE: runtime_bytecode.hex
[codex:540240] 5 0x6080604052600436106100345760003560e01c8063a79f5b7a14610039578063bed274e61461006a578063cc2d1fcb14610086575b600080fd5b610053600480360381019061004e9190611287565b6100a2565b604051610061929190611505565b60405180910390f35b610084600480360381019061007f91906111cd565b6101b2565b005b6100a0600480360381019061009b919061111c565b610d9e565b005b6000606060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146100fe57600080fd5b60606040518060400160405280600981526020017f53d7087a019c5f1334000000000000000000000000000000000000000000000081525090508573ffffffffffffffffffffffffffffffffffffffff163486866040516101609291906114b6565b60006040518083038185875af1925050503d806000811461019d576040519150601f19603f3d011682016040523d82523d6000602084013e6101a2565b606091505b5092509250509550959350505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161461020a57600080fd5b60008673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561025257600080fd5b505afa158015610266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028a91906110f3565b905060008773ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156102d457600080fd5b505afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030c91906110f3565b90506000808973ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561035757600080fd5b505afa15801561036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038f9190611310565b50915091506060604051806020016040528060008152509050600115158a151514156108a45760008573ffffffffffffffffffffffffffffffffffffffff166370a082318d6040518263ffffffff1660e01b81526004016103f091906114ea565b60206040518083038186803b15801561040857600080fd5b505afa15801561041c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610440919061135f565b9050836dffffffffffffffffffffffffffff1681111561089e57600115158a151514156104d7578b73ffffffffffffffffffffffffffffffffffffffff1663bc25cf77306040518263ffffffff1660e01b81526004016104a091906114cf565b600060405180830381600087803b1580156104ba57600080fd5b505af11580156104ce573d6000803e3d6000fd5b50505050610619565b6000846dffffffffffffffffffffffffffff1682039050600115158a1515141561058b576000670de0b6b3a7640000828b028161051057fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f60008330886040518563ffffffff1660e01b81526004016105539493929190611535565b600060405180830381600087803b15801561056d57600080fd5b505af1158015610581573d6000803e3d6000fd5b5050505050610617565b6000670de0b6b3a7640000828b02816105a057fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f82600030886040518563ffffffff1660e01b81526004016105e39493929190611581565b600060405180830381600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b50505050505b505b60011515871515148015610631575060001515891515145b1561089d576060600267ffffffffffffffff8111801561065057600080fd5b5060405190808252806020026020018201604052801561067f5781602001602082028036833780820191505090505b509050868160008151811061069057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16816001815181106106fa57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107ab91906114cf565b60206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb919061135f565b60008460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16603c42016040518663ffffffff1660e01b81526004016108439594939291906115cd565b600060405180830381600087803b15801561085d57600080fd5b505af1158015610871573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061089a919061118c565b50505b5b50610d8f565b60008473ffffffffffffffffffffffffffffffffffffffff166370a082318d6040518263ffffffff1660e01b81526004016108df91906114ea565b60206040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092f919061135f565b9050826dffffffffffffffffffffffffffff16811115610d8d57600115158a151514156109c6578b73ffffffffffffffffffffffffffffffffffffffff1663bc25cf77306040518263ffffffff1660e01b815260040161098f91906114cf565b600060405180830381600087803b1580156109a957600080fd5b505af11580156109bd573d6000803e3d6000fd5b50505050610b08565b6000836dffffffffffffffffffffffffffff1682039050600115158a15151415610a7a576000670de0b6b3a7640000828b02816109ff57fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f82600030886040518563ffffffff1660e01b8152600401610a429493929190611581565b600060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b5050505050610b06565b6000670de0b6b3a7640000828b0281610a8f57fe5b0490508d73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f60008330886040518563ffffffff1660e01b8152600401610ad29493929190611535565b600060405180830381600087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b50505050505b505b60011515871515148015610b20575060001515891515145b15610d8c576060600267ffffffffffffffff81118015610b3f57600080fd5b50604051908082528060200260200182016040528015610b6e5781602001602082028036833780820191505090505b5090508581600081518110610b7f57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110610be957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610c9a91906114cf565b60206040518083038186803b158015610cb257600080fd5b505afa158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea919061135f565b60008460008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16603c42016040518663ffffffff1660e01b8152600401610d329594939291906115cd565b600060405180830381600087803b158015610d4c57600080fd5b505af1158015610d60573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610d89919061118c565b50505b5b505b50505050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610df657600080fd5b60005b8351811015610eab57838181518110610e0e57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1634848484818110610e3957fe5b9050602002810190610e4b9190611627565b604051610e599291906114b6565b60006040518083038185875af1925050503d8060008114610e96576040519150601f19603f3d011682016040523d82523d6000602084013e610e9b565b606091505b5050508080600101915050610df9565b50505050565b600081359050610ec08161187a565b92915050565b600081519050610ed58161187a565b92915050565b600081359050610eea81611891565b92915050565b600082601f830112610f0157600080fd5b8135610f14610f0f826116ab565b61167e565b91508181835260208401935060208101905083856020840282011115610f3957600080fd5b60005b83811015610f695781610f4f8882610eb1565b845260208401935060208301925050600181019050610f3c565b5050505092915050565b60008083601f840112610f8557600080fd5b8235905067ffffffffffffffff811115610f9e57600080fd5b602083019150836020820283011115610fb657600080fd5b9250929050565b600082601f830112610fce57600080fd5b8151610fe1610fdc826116d3565b61167e565b9150818183526020840193506020810190508385602084028201111561100657600080fd5b60005b83811015611036578161101c88826110c9565b845260208401935060208301925050600181019050611009565b5050505092915050565b60008135905061104f816118a8565b92915050565b60008083601f84011261106757600080fd5b8235905067ffffffffffffffff81111561108057600080fd5b60208301915083600182028301111561109857600080fd5b9250929050565b6000815190506110ae816118bf565b92915050565b6000813590506110c3816118d6565b92915050565b6000815190506110d8816118d6565b92915050565b6000815190506110ed816118ed565b92915050565b60006020828403121561110557600080fd5b600061111384828501610ec6565b91505092915050565b60008060006040848603121561113157600080fd5b600084013567ffffffffffffffff81111561114b57600080fd5b61115786828701610ef0565b935050602084013567ffffffffffffffff81111561117457600080fd5b61118086828701610f73565b92509250509250925092565b60006020828403121561119e57600080fd5b600082015167ffffffffffffffff8111156111b857600080fd5b6111c484828501610fbd565b91505092915050565b60008060008060008060008060e0898b0312156111e957600080fd5b600089013567ffffffffffffffff81111561120357600080fd5b61120f8b828c01611055565b985098505060206112228b828c01610edb565b96505060406112338b828c01611040565b95505060606112448b828c01611040565b94505060806112558b828c01611040565b93505060a06112668b828c016110b4565b92505060c06112778b828c01611040565b9150509295985092959890939650565b60008060008060006060868803121561129f57600080fd5b600086013567ffffffffffffffff8111156112b957600080fd5b6112c588828901611055565b955095505060206112d888828901610edb565b935050604086013567ffffffffffffffff8111156112f557600080fd5b61130188828901611055565b92509250509295509295909350565b60008060006060848603121561132557600080fd5b60006113338682870161109f565b93505060206113448682870161109f565b9250506040611355868287016110de565b9150509250925092565b60006020828403121561137157600080fd5b600061137f848285016110c9565b91505092915050565b600061139483836113af565b60208301905092915050565b6113a9816117df565b82525050565b6113b88161175b565b82525050565b6113c78161175b565b82525050565b60006113d88261170b565b6113e2818561172e565b93506113ed836116fb565b8060005b8381101561141e5781516114058882611388565b975061141083611721565b9250506001810190506113f1565b5085935050505092915050565b6114348161177f565b82525050565b60006114468385611750565b9350611453838584611827565b82840190509392505050565b600061146a82611716565b611474818561173f565b9350611484818560208601611836565b61148d81611869565b840191505092915050565b6114a1816117f1565b82525050565b6114b0816117c5565b82525050565b60006114c382848661143a565b91508190509392505050565b60006020820190506114e460008301846113be565b92915050565b60006020820190506114ff60008301846113a0565b92915050565b600060408201905061151a600083018561142b565b818103602083015261152c818461145f565b90509392505050565b600060808201905061154a6000830187611498565b61155760208301866114a7565b61156460408301856113be565b8181036060830152611576818461145f565b905095945050505050565b600060808201905061159660008301876114a7565b6115a36020830186611498565b6115b060408301856113be565b81810360608301526115c2818461145f565b905095945050505050565b600060a0820190506115e260008301886114a7565b6115ef6020830187611498565b818103604083015261160181866113cd565b905061161060608301856113be565b61161d60808301846114a7565b9695505050505050565b6000808335600160200384360303811261164057600080fd5b80840192508235915067ffffffffffffffff82111561165e57600080fd5b60208301925060018202360383131561167657600080fd5b509250929050565b6000604051905081810181811067ffffffffffffffff821117156116a157600080fd5b8060405250919050565b600067ffffffffffffffff8211156116c257600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156116ea57600080fd5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000611766826117a5565b9050919050565b6000611778826117a5565b9050919050565b60008115159050919050565b60006dffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b60006117ea82611803565b9050919050565b60006117fc826117c5565b9050919050565b600061180e82611815565b9050919050565b6000611820826117a5565b9050919050565b82818337600083830152505050565b60005b83811015611854578082015181840152602081019050611839565b83811115611863576000848401525b50505050565b6000601f19601f8301169050919050565b6118838161175b565b811461188e57600080fd5b50565b61189a8161176d565b81146118a557600080fd5b50565b6118b18161177f565b81146118bc57600080fd5b50565b6118c88161178b565b81146118d357600080fd5b50565b6118df816117c5565b81146118ea57600080fd5b50565b6118f6816117cf565b811461190157600080fd5b5056fea26469706673582212207e50a5fdf1059f4aa0ed3084d3eb8a10f3f6f4c3f5d72983fa98d83e1b02a66a64736f6c63430007010033
[codex:540240]
[codex:540240] thinking
[codex:540240] **Flagging owner-only arbitrary call risk**
[codex:540240] codex
[codex:540240] {"no_findings":false,"summary":"One informational centralization risk is visible from bytecode: an owner-only multicall that can execute arbitrary external calls.","findings":[{"severity":"info","category":"access_control","title":"Owner can execute arbitrary external calls (multicall)","exploit_scenario":"If the owner key is compromised or misused, the caller can supply arbitrary target addresses and calldata and have the contract execute those calls, potentially draining any assets held by this contract or interacting with external protocols in unintended ways.","recommendation":"Document this trust assumption explicitly and consider removing or constraining the multicall (e.g., allowlist targets, timelock, or require multisig) if arbitrary execution is not intended.","evidence":"Function selector 0xcc2d1fcb dispatches to a routine that first enforces msg.sender == sload(0), then iterates over a calldata-provided array of targets and performs a low-level CALL (opcode 0xF1) using that data, with no target restriction. Evidence includes the owner check `...163273...1614610df6...` and the loop/call sequence `83518110...015173...5af1...`.","locations":["BYTECODE_BUNDLE.txt:5"]}]}
[codex:540240] tokens used
[codex:540240] 30,530
[codex:540240] {"no_findings":false,"summary":"One informational centralization risk is visible from bytecode: an owner-only multicall that can execute arbitrary external calls.","findings":[{"severity":"info","category":"access_control","title":"Owner can execute arbitrary external calls (multicall)","exploit_scenario":"If the owner key is compromised or misused, the caller can supply arbitrary target addresses and calldata and have the contract execute those calls, potentially draining any assets held by this contract or interacting with external protocols in unintended ways.","recommendation":"Document this trust assumption explicitly and consider removing or constraining the multicall (e.g., allowlist targets, timelock, or require multisig) if arbitrary execution is not intended.","evidence":"Function selector 0xcc2d1fcb dispatches to a routine that first enforces msg.sender == sload(0), then iterates over a calldata-provided array of targets and performs a low-level CALL (opcode 0xF1) using that data, with no target restriction. Evidence includes the owner check `...163273...1614610df6...` and the loop/call sequence `83518110...015173...5af1...`.","locations":["BYTECODE_BUNDLE.txt:5"]}]}
{
"codex": {
"ran_at": "2025-12-29T23:17:38.148208+00:00",
"returncode": 0
},
"summary": "One informational centralization risk is visible from bytecode: an owner-only multicall that can execute arbitrary external calls.",
"raw_final": {
"summary": "One informational centralization risk is visible from bytecode: an owner-only multicall that can execute arbitrary external calls.",
"findings": [
{
"title": "Owner can execute arbitrary external calls (multicall)",
"category": "access_control",
"evidence": "Function selector 0xcc2d1fcb dispatches to a routine that first enforces msg.sender == sload(0), then iterates over a calldata-provided array of targets and performs a low-level CALL (opcode 0xF1) using that data, with no target restriction. Evidence includes the owner check `...163273...1614610df6...` and the loop/call sequence `83518110...015173...5af1...`.",
"severity": "info",
"locations": [
"BYTECODE_BUNDLE.txt:5"
],
"recommendation": "Document this trust assumption explicitly and consider removing or constraining the multicall (e.g., allowlist targets, timelock, or require multisig) if arbitrary execution is not intended.",
"exploit_scenario": "If the owner key is compromised or misused, the caller can supply arbitrary target addresses and calldata and have the contract execute those calls, potentially draining any assets held by this contract or interacting with external protocols in unintended ways."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0034 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0xa79f5b7a 00000019: EQ 0000001a: PUSH2 0x0039 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbed274e6 00000024: EQ 00000025: PUSH2 0x006a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xcc2d1fcb 0000002f: EQ 00000030: PUSH2 0x0086 00000033: JUMPI 00000034: JUMPDEST 00000035: PUSH1 0x00 00000037: DUP1 00000038: REVERT 00000039: JUMPDEST 0000003a: PUSH2 0x0053 0000003d: PUSH1 0x04 0000003f: DUP1 00000040: CALLDATASIZE 00000041: SUB 00000042: DUP2 00000043: ADD 00000044: SWAP1 00000045: PUSH2 0x004e 00000048: SWAP2 00000049: SWAP1 0000004a: PUSH2 0x1287 0000004d: JUMP 0000004e: JUMPDEST 0000004f: PUSH2 0x00a2 00000052: JUMP 00000053: JUMPDEST 00000054: PUSH1 0x40 00000056: MLOAD 00000057: PUSH2 0x0061 0000005a: SWAP3 0000005b: SWAP2 0000005c: SWAP1 0000005d: PUSH2 0x1505 00000060: JUMP 00000061: JUMPDEST 00000062: PUSH1 0x40 00000064: MLOAD 00000065: DUP1 00000066: SWAP2 00000067: SUB 00000068: SWAP1 00000069: RETURN 0000006a: JUMPDEST 0000006b: PUSH2 0x0084 0000006e: PUSH1 0x04 00000070: DUP1 00000071: CALLDATASIZE 00000072: SUB 00000073: DUP2 00000074: ADD 00000075: SWAP1 00000076: PUSH2 0x007f 00000079: SWAP2 0000007a: SWAP1 0000007b: PUSH2 0x11cd 0000007e: JUMP 0000007f: JUMPDEST 00000080: PUSH2 0x01b2 00000083: JUMP 00000084: JUMPDEST 00000085: STOP 00000086: JUMPDEST 00000087: PUSH2 0x00a0 0000008a: PUSH1 0x04 0000008c: DUP1 0000008d: CALLDATASIZE 0000008e: SUB 0000008f: DUP2 00000090: ADD 00000091: SWAP1 00000092: PUSH2 0x009b 00000095: SWAP2 00000096: SWAP1 00000097: PUSH2 0x111c 0000009a: JUMP 0000009b: JUMPDEST 0000009c: PUSH2 0x0d9e 0000009f: JUMP 000000a0: JUMPDEST 000000a1: STOP 000000a2: JUMPDEST 000000a3: PUSH1 0x00 000000a5: PUSH1 0x60 000000a7: PUSH1 0x00 000000a9: DUP1 000000aa: SLOAD 000000ab: SWAP1 000000ac: PUSH2 0x0100 000000af: EXP 000000b0: SWAP1 000000b1: DIV 000000b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000c7: AND 000000c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000dd: AND 000000de: ORIGIN 000000df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000000f4: AND 000000f5: EQ 000000f6: PUSH2 0x00fe 000000f9: JUMPI 000000fa: PUSH1 0x00 000000fc: DUP1 000000fd: REVERT 000000fe: JUMPDEST 000000ff: PUSH1 0x60 00000101: PUSH1 0x40 00000103: MLOAD 00000104: DUP1 00000105: PUSH1 0x40 00000107: ADD 00000108: PUSH1 0x40 0000010a: MSTORE 0000010b: DUP1 0000010c: PUSH1 0x09 0000010e: DUP2 0000010f: MSTORE 00000110: PUSH1 0x20 00000112: ADD 00000113: PUSH32 0x53d7087a019c5f13340000000000000000000000000000000000000000000000 00000134: DUP2 00000135: MSTORE 00000136: POP 00000137: SWAP1 00000138: POP 00000139: DUP6 0000013a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000014f: AND 00000150: CALLVALUE 00000151: DUP7 00000152: DUP7 00000153: PUSH1 0x40 00000155: MLOAD 00000156: PUSH2 0x0160 00000159: SWAP3 0000015a: SWAP2 0000015b: SWAP1 0000015c: PUSH2 0x14b6 0000015f: JUMP 00000160: JUMPDEST 00000161: PUSH1 0x00 00000163: PUSH1 0x40 00000165: MLOAD 00000166: DUP1 00000167: DUP4 00000168: SUB 00000169: DUP2 0000016a: DUP6 0000016b: DUP8 0000016c: GAS 0000016d: CALL 0000016e: SWAP3 0000016f: POP 00000170: POP 00000171: POP 00000172: RETURNDATASIZE 00000173: DUP1 00000174: PUSH1 0x00 00000176: DUP2 00000177: EQ 00000178: PUSH2 0x019d 0000017b: JUMPI 0000017c: PUSH1 0x40 0000017e: MLOAD 0000017f: SWAP2 00000180: POP 00000181: PUSH1 0x1f 00000183: NOT 00000184: PUSH1 0x3f 00000186: RETURNDATASIZE 00000187: ADD 00000188: AND 00000189: DUP3 0000018a: ADD 0000018b: PUSH1 0x40 0000018d: MSTORE 0000018e: RETURNDATASIZE 0000018f: DUP3 00000190: MSTORE 00000191: RETURNDATASIZE 00000192: PUSH1 0x00 00000194: PUSH1 0x20 00000196: DUP5 00000197: ADD 00000198: RETURNDATACOPY 00000199: PUSH2 0x01a2 0000019c: JUMP 0000019d: JUMPDEST 0000019e: PUSH1 0x60 000001a0: SWAP2 000001a1: POP 000001a2: JUMPDEST 000001a3: POP 000001a4: SWAP3 000001a5: POP 000001a6: SWAP3 000001a7: POP 000001a8: POP 000001a9: SWAP6 000001aa: POP 000001ab: SWAP6 000001ac: SWAP4 000001ad: POP 000001ae: POP 000001af: POP 000001b0: POP 000001b1: JUMP 000001b2: JUMPDEST 000001b3: PUSH1 0x00 000001b5: DUP1 000001b6: SLOAD 000001b7: SWAP1 000001b8: PUSH2 0x0100 000001bb: EXP 000001bc: SWAP1 000001bd: DIV 000001be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001d3: AND 000001d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001e9: AND 000001ea: ORIGIN 000001eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000200: AND 00000201: EQ 00000202: PUSH2 0x020a 00000205: JUMPI 00000206: PUSH1 0x00 00000208: DUP1 00000209: REVERT 0000020a: JUMPDEST 0000020b: PUSH1 0x00 0000020d: DUP7 0000020e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000223: AND 00000224: PUSH4 0x0dfe1681 00000229: PUSH1 0x40 0000022b: MLOAD 0000022c: DUP2 0000022d: PUSH4 0xffffffff 00000232: AND 00000233: PUSH1 0xe0 00000235: SHL 00000236: DUP2 00000237: MSTORE 00000238: PUSH1 0x04 0000023a: ADD 0000023b: PUSH1 0x20 0000023d: PUSH1 0x40 0000023f: MLOAD 00000240: DUP1 00000241: DUP4 00000242: SUB 00000243: DUP2 00000244: DUP7 00000245: DUP1 00000246: EXTCODESIZE 00000247: ISZERO 00000248: DUP1 00000249: ISZERO 0000024a: PUSH2 0x0252 0000024d: JUMPI 0000024e: PUSH1 0x00 00000250: DUP1 00000251: REVERT 00000252: JUMPDEST 00000253: POP 00000254: GAS 00000255: STATICCALL 00000256: ISZERO 00000257: DUP1 00000258: ISZERO 00000259: PUSH2 0x0266 0000025c: JUMPI 0000025d: RETURNDATASIZE 0000025e: PUSH1 0x00 00000260: DUP1 00000261: RETURNDATACOPY 00000262: RETURNDATASIZE 00000263: PUSH1 0x00 00000265: REVERT 00000266: JUMPDEST 00000267: POP 00000268: POP 00000269: POP 0000026a: POP 0000026b: PUSH1 0x40 0000026d: MLOAD 0000026e: RETURNDATASIZE 0000026f: PUSH1 0x1f 00000271: NOT 00000272: PUSH1 0x1f 00000274: DUP3 00000275: ADD 00000276: AND 00000277: DUP3 00000278: ADD 00000279: DUP1 0000027a: PUSH1 0x40 0000027c: MSTORE 0000027d: POP 0000027e: DUP2 0000027f: ADD 00000280: SWAP1 00000281: PUSH2 0x028a 00000284: SWAP2 00000285: SWAP1 00000286: PUSH2 0x10f3 00000289: JUMP 0000028a: JUMPDEST 0000028b: SWAP1 0000028c: POP 0000028d: PUSH1 0x00 0000028f: DUP8 00000290: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002a5: AND 000002a6: PUSH4 0xd21220a7 000002ab: PUSH1 0x40 000002ad: MLOAD 000002ae: DUP2 000002af: PUSH4 0xffffffff 000002b4: AND 000002b5: PUSH1 0xe0 000002b7: SHL 000002b8: DUP2 000002b9: MSTORE 000002ba: PUSH1 0x04 000002bc: ADD 000002bd: PUSH1 0x20 000002bf: PUSH1 0x40 000002c1: MLOAD 000002c2: DUP1 000002c3: DUP4 000002c4: SUB 000002c5: DUP2 000002c6: DUP7 000002c7: DUP1 000002c8: EXTCODESIZE 000002c9: ISZERO 000002ca: DUP1 000002cb: ISZERO 000002cc: PUSH2 0x02d4 000002cf: JUMPI 000002d0: PUSH1 0x00 000002d2: DUP1 000002d3: REVERT 000002d4: JUMPDEST 000002d5: POP 000002d6: GAS 000002d7: STATICCALL 000002d8: ISZERO 000002d9: DUP1 000002da: ISZERO 000002db: PUSH2 0x02e8 000002de: JUMPI 000002df: RETURNDATASIZE 000002e0: PUSH1 0x00 000002e2: DUP1 000002e3: RETURNDATACOPY 000002e4: RETURNDATASIZE 000002e5: PUSH1 0x00 000002e7: REVERT 000002e8: JUMPDEST 000002e9: POP 000002ea: POP 000002eb: POP 000002ec: POP 000002ed: PUSH1 0x40 000002ef: MLOAD 000002f0: RETURNDATASIZE 000002f1: PUSH1 0x1f 000002f3: NOT 000002f4: PUSH1 0x1f 000002f6: DUP3 000002f7: ADD 000002f8: AND 000002f9: DUP3 000002fa: ADD 000002fb: DUP1 000002fc: PUSH1 0x40 000002fe: MSTORE 000002ff: POP 00000300: DUP2 00000301: ADD 00000302: SWAP1 00000303: PUSH2 0x030c 00000306: SWAP2 00000307: SWAP1 00000308: PUSH2 0x10f3 0000030b: JUMP 0000030c: JUMPDEST 0000030d: SWAP1 0000030e: POP 0000030f: PUSH1 0x00 00000311: DUP1 00000312: DUP10 00000313: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000328: AND 00000329: PUSH4 0x0902f1ac 0000032e: PUSH1 0x40 00000330: MLOAD 00000331: DUP2 00000332: PUSH4 0xffffffff 00000337: AND 00000338: PUSH1 0xe0 0000033a: SHL 0000033b: DUP2 0000033c: MSTORE 0000033d: PUSH1 0x04 0000033f: ADD 00000340: PUSH1 0x60 00000342: PUSH1 0x40 00000344: MLOAD 00000345: DUP1 00000346: DUP4 00000347: SUB 00000348: DUP2 00000349: DUP7 0000034a: DUP1 0000034b: EXTCODESIZE 0000034c: ISZERO 0000034d: DUP1 0000034e: ISZERO 0000034f: PUSH2 0x0357 00000352: JUMPI 00000353: PUSH1 0x00 00000355: DUP1 00000356: REVERT 00000357: JUMPDEST 00000358: POP 00000359: GAS 0000035a: STATICCALL 0000035b: ISZERO 0000035c: DUP1 0000035d: ISZERO 0000035e: PUSH2 0x036b 00000361: JUMPI 00000362: RETURNDATASIZE 00000363: PUSH1 0x00 00000365: DUP1 00000366: RETURNDATACOPY 00000367: RETURNDATASIZE 00000368: PUSH1 0x00 0000036a: REVERT 0000036b: JUMPDEST 0000036c: POP 0000036d: POP 0000036e: POP 0000036f: POP 00000370: PUSH1 0x40 00000372: MLOAD 00000373: RETURNDATASIZE 00000374: PUSH1 0x1f 00000376: NOT 00000377: PUSH1 0x1f 00000379: DUP3 0000037a: ADD 0000037b: AND 0000037c: DUP3 0000037d: ADD 0000037e: DUP1 0000037f: PUSH1 0x40 00000381: MSTORE 00000382: POP 00000383: DUP2 00000384: ADD 00000385: SWAP1 00000386: PUSH2 0x038f 00000389: SWAP2 0000038a: SWAP1 0000038b: PUSH2 0x1310 0000038e: JUMP 0000038f: JUMPDEST 00000390: POP 00000391: SWAP2 00000392: POP 00000393: SWAP2 00000394: POP 00000395: PUSH1 0x60 00000397: PUSH1 0x40 00000399: MLOAD 0000039a: DUP1 0000039b: PUSH1 0x20 0000039d: ADD 0000039e: PUSH1 0x40 000003a0: MSTORE 000003a1: DUP1 000003a2: PUSH1 0x00 000003a4: DUP2 000003a5: MSTORE 000003a6: POP 000003a7: SWAP1 000003a8: POP 000003a9: PUSH1 0x01 000003ab: ISZERO 000003ac: ISZERO 000003ad: DUP11 000003ae: ISZERO 000003af: ISZERO 000003b0: EQ 000003b1: ISZERO 000003b2: PUSH2 0x08a4 000003b5: JUMPI 000003b6: PUSH1 0x00 000003b8: DUP6 000003b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003ce: AND 000003cf: PUSH4 0x70a08231 000003d4: DUP14 000003d5: PUSH1 0x40 000003d7: MLOAD 000003d8: DUP3 000003d9: PUSH4 0xffffffff 000003de: AND 000003df: PUSH1 0xe0 000003e1: SHL 000003e2: DUP2 000003e3: MSTORE 000003e4: PUSH1 0x04 000003e6: ADD 000003e7: PUSH2 0x03f0 000003ea: SWAP2 000003eb: SWAP1 000003ec: PUSH2 0x14ea 000003ef: JUMP 000003f0: JUMPDEST 000003f1: PUSH1 0x20 000003f3: PUSH1 0x40 000003f5: MLOAD 000003f6: DUP1 000003f7: DUP4 000003f8: SUB 000003f9: DUP2 000003fa: DUP7 000003fb: DUP1 000003fc: EXTCODESIZE 000003fd: ISZERO 000003fe: DUP1 000003ff: ISZERO 00000400: PUSH2 0x0408 00000403: JUMPI 00000404: PUSH1 0x00 00000406: DUP1 00000407: REVERT 00000408: JUMPDEST 00000409: POP 0000040a: GAS 0000040b: STATICCALL 0000040c: ISZERO 0000040d: DUP1 0000040e: ISZERO 0000040f: PUSH2 0x041c 00000412: JUMPI 00000413: RETURNDATASIZE 00000414: PUSH1 0x00 00000416: DUP1 00000417: RETURNDATACOPY 00000418: RETURNDATASIZE 00000419: PUSH1 0x00 0000041b: REVERT 0000041c: JUMPDEST 0000041d: POP 0000041e: POP 0000041f: POP 00000420: POP 00000421: PUSH1 0x40 00000423: MLOAD 00000424: RETURNDATASIZE 00000425: PUSH1 0x1f 00000427: NOT 00000428: PUSH1 0x1f 0000042a: DUP3 0000042b: ADD 0000042c: AND 0000042d: DUP3 0000042e: ADD 0000042f: DUP1 00000430: PUSH1 0x40 00000432: MSTORE 00000433: POP 00000434: DUP2 00000435: ADD 00000436: SWAP1 00000437: PUSH2 0x0440 0000043a: SWAP2 0000043b: SWAP1 0000043c: PUSH2 0x135f 0000043f: JUMP 00000440: JUMPDEST 00000441: SWAP1 00000442: POP 00000443: DUP4 00000444: PUSH14 0xffffffffffffffffffffffffffff 00000453: AND 00000454: DUP2 00000455: GT 00000456: ISZERO 00000457: PUSH2 0x089e 0000045a: JUMPI 0000045b: PUSH1 0x01 0000045d: ISZERO 0000045e: ISZERO 0000045f: DUP11 00000460: ISZERO 00000461: ISZERO 00000462: EQ 00000463: ISZERO 00000464: PUSH2 0x04d7 00000467: JUMPI 00000468: DUP12 00000469: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000047e: AND 0000047f: PUSH4 0xbc25cf77 00000484: ADDRESS 00000485: PUSH1 0x40 00000487: MLOAD 00000488: DUP3 00000489: PUSH4 0xffffffff 0000048e: AND 0000048f: PUSH1 0xe0 00000491: SHL 00000492: DUP2 00000493: MSTORE 00000494: PUSH1 0x04 00000496: ADD 00000497: PUSH2 0x04a0 0000049a: SWAP2 0000049b: SWAP1 0000049c: PUSH2 0x14cf 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x00 000004a3: PUSH1 0x40 000004a5: MLOAD 000004a6: DUP1 000004a7: DUP4 000004a8: SUB 000004a9: DUP2 000004aa: PUSH1 0x00 000004ac: DUP8 000004ad: DUP1 000004ae: EXTCODESIZE 000004af: ISZERO 000004b0: DUP1 000004b1: ISZERO 000004b2: PUSH2 0x04ba 000004b5: JUMPI 000004b6: PUSH1 0x00 000004b8: DUP1 000004b9: REVERT 000004ba: JUMPDEST 000004bb: POP 000004bc: GAS 000004bd: CALL 000004be: ISZERO 000004bf: DUP1 000004c0: ISZERO 000004c1: PUSH2 0x04ce 000004c4: JUMPI 000004c5: RETURNDATASIZE 000004c6: PUSH1 0x00 000004c8: DUP1 000004c9: RETURNDATACOPY 000004ca: RETURNDATASIZE 000004cb: PUSH1 0x00 000004cd: REVERT 000004ce: JUMPDEST 000004cf: POP 000004d0: POP 000004d1: POP 000004d2: POP 000004d3: PUSH2 0x0619 000004d6: JUMP 000004d7: JUMPDEST 000004d8: PUSH1 0x00 000004da: DUP5 000004db: PUSH14 0xffffffffffffffffffffffffffff 000004ea: AND 000004eb: DUP3 000004ec: SUB 000004ed: SWAP1 000004ee: POP 000004ef: PUSH1 0x01 000004f1: ISZERO 000004f2: ISZERO 000004f3: DUP11 000004f4: ISZERO 000004f5: ISZERO 000004f6: EQ 000004f7: ISZERO 000004f8: PUSH2 0x058b 000004fb: JUMPI 000004fc: PUSH1 0x00 000004fe: PUSH8 0x0de0b6b3a7640000 00000507: DUP3 00000508: DUP12 00000509: MUL 0000050a: DUP2 0000050b: PUSH2 0x0510 0000050e: JUMPI 0000050f: INVALID 00000510: JUMPDEST 00000511: DIV 00000512: SWAP1 00000513: POP 00000514: DUP14 00000515: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000052a: AND 0000052b: PUSH4 0x022c0d9f 00000530: PUSH1 0x00 00000532: DUP4 00000533: ADDRESS 00000534: DUP9 00000535: PUSH1 0x40 00000537: MLOAD 00000538: DUP6 00000539: PUSH4 0xffffffff 0000053e: AND 0000053f: PUSH1 0xe0 00000541: SHL 00000542: DUP2 00000543: MSTORE 00000544: PUSH1 0x04 00000546: ADD 00000547: PUSH2 0x0553 0000054a: SWAP5 0000054b: SWAP4 0000054c: SWAP3 0000054d: SWAP2 0000054e: SWAP1 0000054f: PUSH2 0x1535 00000552: JUMP 00000553: JUMPDEST 00000554: PUSH1 0x00 00000556: PUSH1 0x40 00000558: MLOAD 00000559: DUP1 0000055a: DUP4 0000055b: SUB 0000055c: DUP2 0000055d: PUSH1 0x00 0000055f: DUP8 00000560: DUP1 00000561: EXTCODESIZE 00000562: ISZERO 00000563: DUP1 00000564: ISZERO 00000565: PUSH2 0x056d 00000568: JUMPI 00000569: PUSH1 0x00 0000056b: DUP1 0000056c: REVERT 0000056d: JUMPDEST 0000056e: POP 0000056f: GAS 00000570: CALL 00000571: ISZERO 00000572: DUP1 00000573: ISZERO 00000574: PUSH2 0x0581 00000577: JUMPI 00000578: RETURNDATASIZE 00000579: PUSH1 0x00 0000057b: DUP1 0000057c: RETURNDATACOPY 0000057d: RETURNDATASIZE 0000057e: PUSH1 0x00 00000580: REVERT 00000581: JUMPDEST 00000582: POP 00000583: POP 00000584: POP 00000585: POP 00000586: POP 00000587: PUSH2 0x0617 0000058a: JUMP 0000058b: JUMPDEST 0000058c: PUSH1 0x00 0000058e: PUSH8 0x0de0b6b3a7640000 00000597: DUP3 00000598: DUP12 00000599: MUL 0000059a: DUP2 0000059b: PUSH2 0x05a0 0000059e: JUMPI 0000059f: INVALID 000005a0: JUMPDEST 000005a1: DIV 000005a2: SWAP1 000005a3: POP 000005a4: DUP14 000005a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005ba: AND 000005bb: PUSH4 0x022c0d9f 000005c0: DUP3 000005c1: PUSH1 0x00 000005c3: ADDRESS 000005c4: DUP9 000005c5: PUSH1 0x40 000005c7: MLOAD 000005c8: DUP6 000005c9: PUSH4 0xffffffff 000005ce: AND 000005cf: PUSH1 0xe0 000005d1: SHL 000005d2: DUP2 000005d3: MSTORE 000005d4: PUSH1 0x04 000005d6: ADD 000005d7: PUSH2 0x05e3 000005da: SWAP5 000005db: SWAP4 000005dc: SWAP3 000005dd: SWAP2 000005de: SWAP1 000005df: PUSH2 0x1581 000005e2: JUMP 000005e3: JUMPDEST 000005e4: PUSH1 0x00 000005e6: PUSH1 0x40 000005e8: MLOAD 000005e9: DUP1 000005ea: DUP4 000005eb: SUB 000005ec: DUP2 000005ed: PUSH1 0x00 000005ef: DUP8 000005f0: DUP1 000005f1: EXTCODESIZE 000005f2: ISZERO 000005f3: DUP1 000005f4: ISZERO 000005f5: PUSH2 0x05fd 000005f8: JUMPI 000005f9: PUSH1 0x00 000005fb: DUP1 000005fc: REVERT 000005fd: JUMPDEST 000005fe: POP 000005ff: GAS 00000600: CALL 00000601: ISZERO 00000602: DUP1 00000603: ISZERO 00000604: PUSH2 0x0611 00000607: JUMPI 00000608: RETURNDATASIZE 00000609: PUSH1 0x00 0000060b: DUP1 0000060c: RETURNDATACOPY 0000060d: RETURNDATASIZE 0000060e: PUSH1 0x00 00000610: REVERT 00000611: JUMPDEST 00000612: POP 00000613: POP 00000614: POP 00000615: POP 00000616: POP 00000617: JUMPDEST 00000618: POP 00000619: JUMPDEST 0000061a: PUSH1 0x01 0000061c: ISZERO 0000061d: ISZERO 0000061e: DUP8 0000061f: ISZERO 00000620: ISZERO 00000621: EQ 00000622: DUP1 00000623: ISZERO 00000624: PUSH2 0x0631 00000627: JUMPI 00000628: POP 00000629: PUSH1 0x00 0000062b: ISZERO 0000062c: ISZERO 0000062d: DUP10 0000062e: ISZERO 0000062f: ISZERO 00000630: EQ 00000631: JUMPDEST 00000632: ISZERO 00000633: PUSH2 0x089d 00000636: JUMPI 00000637: PUSH1 0x60 00000639: PUSH1 0x02 0000063b: PUSH8 0xffffffffffffffff 00000644: DUP2 00000645: GT 00000646: DUP1 00000647: ISZERO 00000648: PUSH2 0x0650 0000064b: JUMPI 0000064c: PUSH1 0x00 0000064e: DUP1 0000064f: REVERT 00000650: JUMPDEST 00000651: POP 00000652: PUSH1 0x40 00000654: MLOAD 00000655: SWAP1 00000656: DUP1 00000657: DUP3 00000658: MSTORE 00000659: DUP1 0000065a: PUSH1 0x20 0000065c: MUL 0000065d: PUSH1 0x20 0000065f: ADD 00000660: DUP3 00000661: ADD 00000662: PUSH1 0x40 00000664: MSTORE 00000665: DUP1 00000666: ISZERO 00000667: PUSH2 0x067f 0000066a: JUMPI 0000066b: DUP2 0000066c: PUSH1 0x20 0000066e: ADD 0000066f: PUSH1 0x20 00000671: DUP3 00000672: MUL 00000673: DUP1 00000674: CALLDATASIZE 00000675: DUP4 00000676: CALLDATACOPY 00000677: DUP1 00000678: DUP3 00000679: ADD 0000067a: SWAP2 0000067b: POP 0000067c: POP 0000067d: SWAP1 0000067e: POP 0000067f: JUMPDEST 00000680: POP 00000681: SWAP1 00000682: POP 00000683: DUP7 00000684: DUP2 00000685: PUSH1 0x00 00000687: DUP2 00000688: MLOAD 00000689: DUP2 0000068a: LT 0000068b: PUSH2 0x0690 0000068e: JUMPI 0000068f: INVALID 00000690: JUMPDEST 00000691: PUSH1 0x20 00000693: MUL 00000694: PUSH1 0x20 00000696: ADD 00000697: ADD 00000698: SWAP1 00000699: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ae: AND 000006af: SWAP1 000006b0: DUP2 000006b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c6: AND 000006c7: DUP2 000006c8: MSTORE 000006c9: POP 000006ca: POP 000006cb: PUSH1 0x01 000006cd: PUSH1 0x00 000006cf: SWAP1 000006d0: SLOAD 000006d1: SWAP1 000006d2: PUSH2 0x0100 000006d5: EXP 000006d6: SWAP1 000006d7: DIV 000006d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ed: AND 000006ee: DUP2 000006ef: PUSH1 0x01 000006f1: DUP2 000006f2: MLOAD 000006f3: DUP2 000006f4: LT 000006f5: PUSH2 0x06fa 000006f8: JUMPI 000006f9: INVALID 000006fa: JUMPDEST 000006fb: PUSH1 0x20 000006fd: MUL 000006fe: PUSH1 0x20 00000700: ADD 00000701: ADD 00000702: SWAP1 00000703: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000718: AND 00000719: SWAP1 0000071a: DUP2 0000071b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000730: AND 00000731: DUP2 00000732: MSTORE 00000733: POP 00000734: POP 00000735: PUSH1 0x02 00000737: PUSH1 0x00 00000739: SWAP1 0000073a: SLOAD 0000073b: SWAP1 0000073c: PUSH2 0x0100 0000073f: EXP 00000740: SWAP1 00000741: DIV 00000742: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000757: AND 00000758: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000076d: AND 0000076e: PUSH4 0x38ed1739 00000773: DUP9 00000774: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000789: AND 0000078a: PUSH4 0x70a08231 0000078f: ADDRESS 00000790: PUSH1 0x40 00000792: MLOAD 00000793: DUP3 00000794: PUSH4 0xffffffff 00000799: AND 0000079a: PUSH1 0xe0 0000079c: SHL 0000079d: DUP2 0000079e: MSTORE 0000079f: PUSH1 0x04 000007a1: ADD 000007a2: PUSH2 0x07ab 000007a5: SWAP2 000007a6: SWAP1 000007a7: PUSH2 0x14cf 000007aa: JUMP 000007ab: JUMPDEST 000007ac: PUSH1 0x20 000007ae: PUSH1 0x40 000007b0: MLOAD 000007b1: DUP1 000007b2: DUP4 000007b3: SUB 000007b4: DUP2 000007b5: DUP7 000007b6: DUP1 000007b7: EXTCODESIZE 000007b8: ISZERO 000007b9: DUP1 000007ba: ISZERO 000007bb: PUSH2 0x07c3 000007be: JUMPI 000007bf: PUSH1 0x00 000007c1: DUP1 000007c2: REVERT 000007c3: JUMPDEST 000007c4: POP 000007c5: GAS 000007c6: STATICCALL 000007c7: ISZERO 000007c8: DUP1 000007c9: ISZERO 000007ca: PUSH2 0x07d7 000007cd: JUMPI 000007ce: RETURNDATASIZE 000007cf: PUSH1 0x00 000007d1: DUP1 000007d2: RETURNDATACOPY 000007d3: RETURNDATASIZE 000007d4: PUSH1 0x00 000007d6: REVERT 000007d7: JUMPDEST 000007d8: POP 000007d9: POP 000007da: POP 000007db: POP 000007dc: PUSH1 0x40 000007de: MLOAD 000007df: RETURNDATASIZE 000007e0: PUSH1 0x1f 000007e2: NOT 000007e3: PUSH1 0x1f 000007e5: DUP3 000007e6: ADD 000007e7: AND 000007e8: DUP3 000007e9: ADD 000007ea: DUP1 000007eb: PUSH1 0x40 000007ed: MSTORE 000007ee: POP 000007ef: DUP2 000007f0: ADD 000007f1: SWAP1 000007f2: PUSH2 0x07fb 000007f5: SWAP2 000007f6: SWAP1 000007f7: PUSH2 0x135f 000007fa: JUMP 000007fb: JUMPDEST 000007fc: PUSH1 0x00 000007fe: DUP5 000007ff: PUSH1 0x00 00000801: DUP1 00000802: SLOAD 00000803: SWAP1 00000804: PUSH2 0x0100 00000807: EXP 00000808: SWAP1 00000809: DIV 0000080a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000081f: AND 00000820: PUSH1 0x3c 00000822: TIMESTAMP 00000823: ADD 00000824: PUSH1 0x40 00000826: MLOAD 00000827: DUP7 00000828: PUSH4 0xffffffff 0000082d: AND 0000082e: PUSH1 0xe0 00000830: SHL 00000831: DUP2 00000832: MSTORE 00000833: PUSH1 0x04 00000835: ADD 00000836: PUSH2 0x0843 00000839: SWAP6 0000083a: SWAP5 0000083b: SWAP4 0000083c: SWAP3 0000083d: SWAP2 0000083e: SWAP1 0000083f: PUSH2 0x15cd 00000842: JUMP 00000843: JUMPDEST 00000844: PUSH1 0x00 00000846: PUSH1 0x40 00000848: MLOAD 00000849: DUP1 0000084a: DUP4 0000084b: SUB 0000084c: DUP2 0000084d: PUSH1 0x00 0000084f: DUP8 00000850: DUP1 00000851: EXTCODESIZE 00000852: ISZERO 00000853: DUP1 00000854: ISZERO 00000855: PUSH2 0x085d 00000858: JUMPI 00000859: PUSH1 0x00 0000085b: DUP1 0000085c: REVERT 0000085d: JUMPDEST 0000085e: POP 0000085f: GAS 00000860: CALL 00000861: ISZERO 00000862: DUP1 00000863: ISZERO 00000864: PUSH2 0x0871 00000867: JUMPI 00000868: RETURNDATASIZE 00000869: PUSH1 0x00 0000086b: DUP1 0000086c: RETURNDATACOPY 0000086d: RETURNDATASIZE 0000086e: PUSH1 0x00 00000870: REVERT 00000871: JUMPDEST 00000872: POP 00000873: POP 00000874: POP 00000875: POP 00000876: PUSH1 0x40 00000878: MLOAD 00000879: RETURNDATASIZE 0000087a: PUSH1 0x00 0000087c: DUP3 0000087d: RETURNDATACOPY 0000087e: RETURNDATASIZE 0000087f: PUSH1 0x1f 00000881: NOT 00000882: PUSH1 0x1f 00000884: DUP3 00000885: ADD 00000886: AND 00000887: DUP3 00000888: ADD 00000889: DUP1 0000088a: PUSH1 0x40 0000088c: MSTORE 0000088d: POP 0000088e: DUP2 0000088f: ADD 00000890: SWAP1 00000891: PUSH2 0x089a 00000894: SWAP2 00000895: SWAP1 00000896: PUSH2 0x118c 00000899: JUMP 0000089a: JUMPDEST 0000089b: POP 0000089c: POP 0000089d: JUMPDEST 0000089e: JUMPDEST 0000089f: POP 000008a0: PUSH2 0x0d8f 000008a3: JUMP 000008a4: JUMPDEST 000008a5: PUSH1 0x00 000008a7: DUP5 000008a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008bd: AND 000008be: PUSH4 0x70a08231 000008c3: DUP14 000008c4: PUSH1 0x40 000008c6: MLOAD 000008c7: DUP3 000008c8: PUSH4 0xffffffff 000008cd: AND 000008ce: PUSH1 0xe0 000008d0: SHL 000008d1: DUP2 000008d2: MSTORE 000008d3: PUSH1 0x04 000008d5: ADD 000008d6: PUSH2 0x08df 000008d9: SWAP2 000008da: SWAP1 000008db: PUSH2 0x14ea 000008de: JUMP 000008df: JUMPDEST 000008e0: PUSH1 0x20 000008e2: PUSH1 0x40 000008e4: MLOAD 000008e5: DUP1 000008e6: DUP4 000008e7: SUB 000008e8: DUP2 000008e9: DUP7 000008ea: DUP1 000008eb: EXTCODESIZE 000008ec: ISZERO 000008ed: DUP1 000008ee: ISZERO 000008ef: PUSH2 0x08f7 000008f2: JUMPI 000008f3: PUSH1 0x00 000008f5: DUP1 000008f6: REVERT 000008f7: JUMPDEST 000008f8: POP 000008f9: GAS 000008fa: STATICCALL 000008fb: ISZERO 000008fc: DUP1 000008fd: ISZERO 000008fe: PUSH2 0x090b 00000901: JUMPI 00000902: RETURNDATASIZE 00000903: PUSH1 0x00 00000905: DUP1 00000906: RETURNDATACOPY 00000907: RETURNDATASIZE 00000908: PUSH1 0x00 0000090a: REVERT 0000090b: JUMPDEST 0000090c: POP 0000090d: POP 0000090e: POP 0000090f: POP 00000910: PUSH1 0x40 00000912: MLOAD 00000913: RETURNDATASIZE 00000914: PUSH1 0x1f 00000916: NOT 00000917: PUSH1 0x1f 00000919: DUP3 0000091a: ADD 0000091b: AND 0000091c: DUP3 0000091d: ADD 0000091e: DUP1 0000091f: PUSH1 0x40 00000921: MSTORE 00000922: POP 00000923: DUP2 00000924: ADD 00000925: SWAP1 00000926: PUSH2 0x092f 00000929: SWAP2 0000092a: SWAP1 0000092b: PUSH2 0x135f 0000092e: JUMP 0000092f: JUMPDEST 00000930: SWAP1 00000931: POP 00000932: DUP3 00000933: PUSH14 0xffffffffffffffffffffffffffff 00000942: AND 00000943: DUP2 00000944: GT 00000945: ISZERO 00000946: PUSH2 0x0d8d 00000949: JUMPI 0000094a: PUSH1 0x01 0000094c: ISZERO 0000094d: ISZERO 0000094e: DUP11 0000094f: ISZERO 00000950: ISZERO 00000951: EQ 00000952: ISZERO 00000953: PUSH2 0x09c6 00000956: JUMPI 00000957: DUP12 00000958: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096d: AND 0000096e: PUSH4 0xbc25cf77 00000973: ADDRESS 00000974: PUSH1 0x40 00000976: MLOAD 00000977: DUP3 00000978: PUSH4 0xffffffff 0000097d: AND 0000097e: PUSH1 0xe0 00000980: SHL 00000981: DUP2 00000982: MSTORE 00000983: PUSH1 0x04 00000985: ADD 00000986: PUSH2 0x098f 00000989: SWAP2 0000098a: SWAP1 0000098b: PUSH2 0x14cf 0000098e: JUMP 0000098f: JUMPDEST 00000990: PUSH1 0x00 00000992: PUSH1 0x40 00000994: MLOAD 00000995: DUP1 00000996: DUP4 00000997: SUB 00000998: DUP2 00000999: PUSH1 0x00 0000099b: DUP8 0000099c: DUP1 0000099d: EXTCODESIZE 0000099e: ISZERO 0000099f: DUP1 000009a0: ISZERO 000009a1: PUSH2 0x09a9 000009a4: JUMPI 000009a5: PUSH1 0x00 000009a7: DUP1 000009a8: REVERT 000009a9: JUMPDEST 000009aa: POP 000009ab: GAS 000009ac: CALL 000009ad: ISZERO 000009ae: DUP1 000009af: ISZERO 000009b0: PUSH2 0x09bd 000009b3: JUMPI 000009b4: RETURNDATASIZE 000009b5: PUSH1 0x00 000009b7: DUP1 000009b8: RETURNDATACOPY 000009b9: RETURNDATASIZE 000009ba: PUSH1 0x00 000009bc: REVERT 000009bd: JUMPDEST 000009be: POP 000009bf: POP 000009c0: POP 000009c1: POP 000009c2: PUSH2 0x0b08 000009c5: JUMP 000009c6: JUMPDEST 000009c7: PUSH1 0x00 000009c9: DUP4 000009ca: PUSH14 0xffffffffffffffffffffffffffff 000009d9: AND 000009da: DUP3 000009db: SUB 000009dc: SWAP1 000009dd: POP 000009de: PUSH1 0x01 000009e0: ISZERO 000009e1: ISZERO 000009e2: DUP11 000009e3: ISZERO 000009e4: ISZERO 000009e5: EQ 000009e6: ISZERO 000009e7: PUSH2 0x0a7a 000009ea: JUMPI 000009eb: PUSH1 0x00 000009ed: PUSH8 0x0de0b6b3a7640000 000009f6: DUP3 000009f7: DUP12 000009f8: MUL 000009f9: DUP2 000009fa: PUSH2 0x09ff 000009fd: JUMPI 000009fe: INVALID 000009ff: JUMPDEST 00000a00: DIV 00000a01: SWAP1 00000a02: POP 00000a03: DUP14 00000a04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a19: AND 00000a1a: PUSH4 0x022c0d9f 00000a1f: DUP3 00000a20: PUSH1 0x00 00000a22: ADDRESS 00000a23: DUP9 00000a24: PUSH1 0x40 00000a26: MLOAD 00000a27: DUP6 00000a28: PUSH4 0xffffffff 00000a2d: AND 00000a2e: PUSH1 0xe0 00000a30: SHL 00000a31: DUP2 00000a32: MSTORE 00000a33: PUSH1 0x04 00000a35: ADD 00000a36: PUSH2 0x0a42 00000a39: SWAP5 00000a3a: SWAP4 00000a3b: SWAP3 00000a3c: SWAP2 00000a3d: SWAP1 00000a3e: PUSH2 0x1581 00000a41: JUMP 00000a42: JUMPDEST 00000a43: PUSH1 0x00 00000a45: PUSH1 0x40 00000a47: MLOAD 00000a48: DUP1 00000a49: DUP4 00000a4a: SUB 00000a4b: DUP2 00000a4c: PUSH1 0x00 00000a4e: DUP8 00000a4f: DUP1 00000a50: EXTCODESIZE 00000a51: ISZERO 00000a52: DUP1 00000a53: ISZERO 00000a54: PUSH2 0x0a5c 00000a57: JUMPI 00000a58: PUSH1 0x00 00000a5a: DUP1 00000a5b: REVERT 00000a5c: JUMPDEST 00000a5d: POP 00000a5e: GAS 00000a5f: CALL 00000a60: ISZERO 00000a61: DUP1 00000a62: ISZERO 00000a63: PUSH2 0x0a70 00000a66: JUMPI 00000a67: RETURNDATASIZE 00000a68: PUSH1 0x00 00000a6a: DUP1 00000a6b: RETURNDATACOPY 00000a6c: RETURNDATASIZE 00000a6d: PUSH1 0x00 00000a6f: REVERT 00000a70: JUMPDEST 00000a71: POP 00000a72: POP 00000a73: POP 00000a74: POP 00000a75: POP 00000a76: PUSH2 0x0b06 00000a79: JUMP 00000a7a: JUMPDEST 00000a7b: PUSH1 0x00 00000a7d: PUSH8 0x0de0b6b3a7640000 00000a86: DUP3 00000a87: DUP12 00000a88: MUL 00000a89: DUP2 00000a8a: PUSH2 0x0a8f 00000a8d: JUMPI 00000a8e: INVALID 00000a8f: JUMPDEST 00000a90: DIV 00000a91: SWAP1 00000a92: POP 00000a93: DUP14 00000a94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aa9: AND 00000aaa: PUSH4 0x022c0d9f 00000aaf: PUSH1 0x00 00000ab1: DUP4 00000ab2: ADDRESS 00000ab3: DUP9 00000ab4: PUSH1 0x40 00000ab6: MLOAD 00000ab7: DUP6 00000ab8: PUSH4 0xffffffff 00000abd: AND 00000abe: PUSH1 0xe0 00000ac0: SHL 00000ac1: DUP2 00000ac2: MSTORE 00000ac3: PUSH1 0x04 00000ac5: ADD 00000ac6: PUSH2 0x0ad2 00000ac9: SWAP5 00000aca: SWAP4 00000acb: SWAP3 00000acc: SWAP2 00000acd: SWAP1 00000ace: PUSH2 0x1535 00000ad1: JUMP 00000ad2: JUMPDEST 00000ad3: PUSH1 0x00 00000ad5: PUSH1 0x40 00000ad7: MLOAD 00000ad8: DUP1 00000ad9: DUP4 00000ada: SUB 00000adb: DUP2 00000adc: PUSH1 0x00 00000ade: DUP8 00000adf: DUP1 00000ae0: EXTCODESIZE 00000ae1: ISZERO 00000ae2: DUP1 00000ae3: ISZERO 00000ae4: PUSH2 0x0aec 00000ae7: JUMPI 00000ae8: PUSH1 0x00 00000aea: DUP1 00000aeb: REVERT 00000aec: JUMPDEST 00000aed: POP 00000aee: GAS 00000aef: CALL 00000af0: ISZERO 00000af1: DUP1 00000af2: ISZERO 00000af3: PUSH2 0x0b00 00000af6: JUMPI 00000af7: RETURNDATASIZE 00000af8: PUSH1 0x00 00000afa: DUP1 00000afb: RETURNDATACOPY 00000afc: RETURNDATASIZE 00000afd: PUSH1 0x00 00000aff: REVERT 00000b00: JUMPDEST 00000b01: POP 00000b02: POP 00000b03: POP 00000b04: POP 00000b05: POP 00000b06: JUMPDEST 00000b07: POP 00000b08: JUMPDEST 00000b09: PUSH1 0x01 00000b0b: ISZERO 00000b0c: ISZERO 00000b0d: DUP8 00000b0e: ISZERO 00000b0f: ISZERO 00000b10: EQ 00000b11: DUP1 00000b12: ISZERO 00000b13: PUSH2 0x0b20 00000b16: JUMPI 00000b17: POP 00000b18: PUSH1 0x00 00000b1a: ISZERO 00000b1b: ISZERO 00000b1c: DUP10 00000b1d: ISZERO 00000b1e: ISZERO 00000b1f: EQ 00000b20: JUMPDEST 00000b21: ISZERO 00000b22: PUSH2 0x0d8c 00000b25: JUMPI 00000b26: PUSH1 0x60 00000b28: PUSH1 0x02 00000b2a: PUSH8 0xffffffffffffffff 00000b33: DUP2 00000b34: GT 00000b35: DUP1 00000b36: ISZERO 00000b37: PUSH2 0x0b3f 00000b3a: JUMPI 00000b3b: PUSH1 0x00 00000b3d: DUP1 00000b3e: REVERT 00000b3f: JUMPDEST 00000b40: POP 00000b41: PUSH1 0x40 00000b43: MLOAD 00000b44: SWAP1 00000b45: DUP1 00000b46: DUP3 00000b47: MSTORE 00000b48: DUP1 00000b49: PUSH1 0x20 00000b4b: MUL 00000b4c: PUSH1 0x20 00000b4e: ADD 00000b4f: DUP3 00000b50: ADD 00000b51: PUSH1 0x40 00000b53: MSTORE 00000b54: DUP1 00000b55: ISZERO 00000b56: PUSH2 0x0b6e 00000b59: JUMPI 00000b5a: DUP2 00000b5b: PUSH1 0x20 00000b5d: ADD 00000b5e: PUSH1 0x20 00000b60: DUP3 00000b61: MUL 00000b62: DUP1 00000b63: CALLDATASIZE 00000b64: DUP4 00000b65: CALLDATACOPY 00000b66: DUP1 00000b67: DUP3 00000b68: ADD 00000b69: SWAP2 00000b6a: POP 00000b6b: POP 00000b6c: SWAP1 00000b6d: POP 00000b6e: JUMPDEST 00000b6f: POP 00000b70: SWAP1 00000b71: POP 00000b72: DUP6 00000b73: DUP2 00000b74: PUSH1 0x00 00000b76: DUP2 00000b77: MLOAD 00000b78: DUP2 00000b79: LT 00000b7a: PUSH2 0x0b7f 00000b7d: JUMPI 00000b7e: INVALID 00000b7f: JUMPDEST 00000b80: PUSH1 0x20 00000b82: MUL 00000b83: PUSH1 0x20 00000b85: ADD 00000b86: ADD 00000b87: SWAP1 00000b88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b9d: AND 00000b9e: SWAP1 00000b9f: DUP2 00000ba0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb5: AND 00000bb6: DUP2 00000bb7: MSTORE 00000bb8: POP 00000bb9: POP 00000bba: PUSH1 0x01 00000bbc: PUSH1 0x00 00000bbe: SWAP1 00000bbf: SLOAD 00000bc0: SWAP1 00000bc1: PUSH2 0x0100 00000bc4: EXP 00000bc5: SWAP1 00000bc6: DIV 00000bc7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bdc: AND 00000bdd: DUP2 00000bde: PUSH1 0x01 00000be0: DUP2 00000be1: MLOAD 00000be2: DUP2 00000be3: LT 00000be4: PUSH2 0x0be9 00000be7: JUMPI 00000be8: INVALID 00000be9: JUMPDEST 00000bea: PUSH1 0x20 00000bec: MUL 00000bed: PUSH1 0x20 00000bef: ADD 00000bf0: ADD 00000bf1: SWAP1 00000bf2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c07: AND 00000c08: SWAP1 00000c09: DUP2 00000c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c1f: AND 00000c20: DUP2 00000c21: MSTORE 00000c22: POP 00000c23: POP 00000c24: PUSH1 0x02 00000c26: PUSH1 0x00 00000c28: SWAP1 00000c29: SLOAD 00000c2a: SWAP1 00000c2b: PUSH2 0x0100 00000c2e: EXP 00000c2f: SWAP1 00000c30: DIV 00000c31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c46: AND 00000c47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c5c: AND 00000c5d: PUSH4 0x38ed1739 00000c62: DUP8 00000c63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c78: AND 00000c79: PUSH4 0x70a08231 00000c7e: ADDRESS 00000c7f: PUSH1 0x40 00000c81: MLOAD 00000c82: DUP3 00000c83: PUSH4 0xffffffff 00000c88: AND 00000c89: PUSH1 0xe0 00000c8b: SHL 00000c8c: DUP2 00000c8d: MSTORE 00000c8e: PUSH1 0x04 00000c90: ADD 00000c91: PUSH2 0x0c9a 00000c94: SWAP2 00000c95: SWAP1 00000c96: PUSH2 0x14cf 00000c99: JUMP 00000c9a: JUMPDEST 00000c9b: PUSH1 0x20 00000c9d: PUSH1 0x40 00000c9f: MLOAD 00000ca0: DUP1 00000ca1: DUP4 00000ca2: SUB 00000ca3: DUP2 00000ca4: DUP7 00000ca5: DUP1 00000ca6: EXTCODESIZE 00000ca7: ISZERO 00000ca8: DUP1 00000ca9: ISZERO 00000caa: PUSH2 0x0cb2 00000cad: JUMPI 00000cae: PUSH1 0x00 00000cb0: DUP1 00000cb1: REVERT 00000cb2: JUMPDEST 00000cb3: POP 00000cb4: GAS 00000cb5: STATICCALL 00000cb6: ISZERO 00000cb7: DUP1 00000cb8: ISZERO 00000cb9: PUSH2 0x0cc6 00000cbc: JUMPI 00000cbd: RETURNDATASIZE 00000cbe: PUSH1 0x00 00000cc0: DUP1 00000cc1: RETURNDATACOPY 00000cc2: RETURNDATASIZE 00000cc3: PUSH1 0x00 00000cc5: REVERT 00000cc6: JUMPDEST 00000cc7: POP 00000cc8: POP 00000cc9: POP 00000cca: POP 00000ccb: PUSH1 0x40 00000ccd: MLOAD 00000cce: RETURNDATASIZE 00000ccf: PUSH1 0x1f 00000cd1: NOT 00000cd2: PUSH1 0x1f 00000cd4: DUP3 00000cd5: ADD 00000cd6: AND 00000cd7: DUP3 00000cd8: ADD 00000cd9: DUP1 00000cda: PUSH1 0x40 00000cdc: MSTORE 00000cdd: POP 00000cde: DUP2 00000cdf: ADD 00000ce0: SWAP1 00000ce1: PUSH2 0x0cea 00000ce4: SWAP2 00000ce5: SWAP1 00000ce6: PUSH2 0x135f 00000ce9: JUMP 00000cea: JUMPDEST 00000ceb: PUSH1 0x00 00000ced: DUP5 00000cee: PUSH1 0x00 00000cf0: DUP1 00000cf1: SLOAD 00000cf2: SWAP1 00000cf3: PUSH2 0x0100 00000cf6: EXP 00000cf7: SWAP1 00000cf8: DIV 00000cf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d0e: AND 00000d0f: PUSH1 0x3c 00000d11: TIMESTAMP 00000d12: ADD 00000d13: PUSH1 0x40 00000d15: MLOAD 00000d16: DUP7 00000d17: PUSH4 0xffffffff 00000d1c: AND 00000d1d: PUSH1 0xe0 00000d1f: SHL 00000d20: DUP2 00000d21: MSTORE 00000d22: PUSH1 0x04 00000d24: ADD 00000d25: PUSH2 0x0d32 00000d28: SWAP6 00000d29: SWAP5 00000d2a: SWAP4 00000d2b: SWAP3 00000d2c: SWAP2 00000d2d: SWAP1 00000d2e: PUSH2 0x15cd 00000d31: JUMP 00000d32: JUMPDEST 00000d33: PUSH1 0x00 00000d35: PUSH1 0x40 00000d37: MLOAD 00000d38: DUP1 00000d39: DUP4 00000d3a: SUB 00000d3b: DUP2 00000d3c: PUSH1 0x00 00000d3e: DUP8 00000d3f: DUP1 00000d40: EXTCODESIZE 00000d41: ISZERO 00000d42: DUP1 00000d43: ISZERO 00000d44: PUSH2 0x0d4c 00000d47: JUMPI 00000d48: PUSH1 0x00 00000d4a: DUP1 00000d4b: REVERT 00000d4c: JUMPDEST 00000d4d: POP 00000d4e: GAS 00000d4f: CALL 00000d50: ISZERO 00000d51: DUP1 00000d52: ISZERO 00000d53: PUSH2 0x0d60 00000d56: JUMPI 00000d57: RETURNDATASIZE 00000d58: PUSH1 0x00 00000d5a: DUP1 00000d5b: RETURNDATACOPY 00000d5c: RETURNDATASIZE 00000d5d: PUSH1 0x00 00000d5f: REVERT 00000d60: JUMPDEST 00000d61: POP 00000d62: POP 00000d63: POP 00000d64: POP 00000d65: PUSH1 0x40 00000d67: MLOAD 00000d68: RETURNDATASIZE 00000d69: PUSH1 0x00 00000d6b: DUP3 00000d6c: RETURNDATACOPY 00000d6d: RETURNDATASIZE 00000d6e: PUSH1 0x1f 00000d70: NOT 00000d71: PUSH1 0x1f 00000d73: DUP3 00000d74: ADD 00000d75: AND 00000d76: DUP3 00000d77: ADD 00000d78: DUP1 00000d79: PUSH1 0x40 00000d7b: MSTORE 00000d7c: POP 00000d7d: DUP2 00000d7e: ADD 00000d7f: SWAP1 00000d80: PUSH2 0x0d89 00000d83: SWAP2 00000d84: SWAP1 00000d85: PUSH2 0x118c 00000d88: JUMP 00000d89: JUMPDEST 00000d8a: POP 00000d8b: POP 00000d8c: JUMPDEST 00000d8d: JUMPDEST 00000d8e: POP 00000d8f: JUMPDEST 00000d90: POP 00000d91: POP 00000d92: POP 00000d93: POP 00000d94: POP 00000d95: POP 00000d96: POP 00000d97: POP 00000d98: POP 00000d99: POP 00000d9a: POP 00000d9b: POP 00000d9c: POP 00000d9d: JUMP 00000d9e: JUMPDEST 00000d9f: PUSH1 0x00 00000da1: DUP1 00000da2: SLOAD 00000da3: SWAP1 00000da4: PUSH2 0x0100 00000da7: EXP 00000da8: SWAP1 00000da9: DIV 00000daa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dbf: AND 00000dc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dd5: AND 00000dd6: ORIGIN 00000dd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dec: AND 00000ded: EQ 00000dee: PUSH2 0x0df6 00000df1: JUMPI 00000df2: PUSH1 0x00 00000df4: DUP1 00000df5: REVERT 00000df6: JUMPDEST 00000df7: PUSH1 0x00 00000df9: JUMPDEST 00000dfa: DUP4 00000dfb: MLOAD 00000dfc: DUP2 00000dfd: LT 00000dfe: ISZERO 00000dff: PUSH2 0x0eab 00000e02: JUMPI 00000e03: DUP4 00000e04: DUP2 00000e05: DUP2 00000e06: MLOAD 00000e07: DUP2 00000e08: LT 00000e09: PUSH2 0x0e0e 00000e0c: JUMPI 00000e0d: INVALID 00000e0e: JUMPDEST 00000e0f: PUSH1 0x20 00000e11: MUL 00000e12: PUSH1 0x20 00000e14: ADD 00000e15: ADD 00000e16: MLOAD 00000e17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e2c: AND 00000e2d: CALLVALUE 00000e2e: DUP5 00000e2f: DUP5 00000e30: DUP5 00000e31: DUP2 00000e32: DUP2 00000e33: LT 00000e34: PUSH2 0x0e39 00000e37: JUMPI 00000e38: INVALID 00000e39: JUMPDEST 00000e3a: SWAP1 00000e3b: POP 00000e3c: PUSH1 0x20 00000e3e: MUL 00000e3f: DUP2 00000e40: ADD 00000e41: SWAP1 00000e42: PUSH2 0x0e4b 00000e45: SWAP2 00000e46: SWAP1 00000e47: PUSH2 0x1627 00000e4a: JUMP 00000e4b: JUMPDEST 00000e4c: PUSH1 0x40 00000e4e: MLOAD 00000e4f: PUSH2 0x0e59 00000e52: SWAP3 00000e53: SWAP2 00000e54: SWAP1 00000e55: PUSH2 0x14b6 00000e58: JUMP 00000e59: JUMPDEST 00000e5a: PUSH1 0x00 00000e5c: PUSH1 0x40 00000e5e: MLOAD 00000e5f: DUP1 00000e60: DUP4 00000e61: SUB 00000e62: DUP2 00000e63: DUP6 00000e64: DUP8 00000e65: GAS 00000e66: CALL 00000e67: SWAP3 00000e68: POP 00000e69: POP 00000e6a: POP 00000e6b: RETURNDATASIZE 00000e6c: DUP1 00000e6d: PUSH1 0x00 00000e6f: DUP2 00000e70: EQ 00000e71: PUSH2 0x0e96 00000e74: JUMPI 00000e75: PUSH1 0x40 00000e77: MLOAD 00000e78: SWAP2 00000e79: POP 00000e7a: PUSH1 0x1f 00000e7c: NOT 00000e7d: PUSH1 0x3f 00000e7f: RETURNDATASIZE 00000e80: ADD 00000e81: AND 00000e82: DUP3 00000e83: ADD 00000e84: PUSH1 0x40 00000e86: MSTORE 00000e87: RETURNDATASIZE 00000e88: DUP3 00000e89: MSTORE 00000e8a: RETURNDATASIZE 00000e8b: PUSH1 0x00 00000e8d: PUSH1 0x20 00000e8f: DUP5 00000e90: ADD 00000e91: RETURNDATACOPY 00000e92: PUSH2 0x0e9b 00000e95: JUMP 00000e96: JUMPDEST 00000e97: PUSH1 0x60 00000e99: SWAP2 00000e9a: POP 00000e9b: JUMPDEST 00000e9c: POP 00000e9d: POP 00000e9e: POP 00000e9f: DUP1 00000ea0: DUP1 00000ea1: PUSH1 0x01 00000ea3: ADD 00000ea4: SWAP2 00000ea5: POP 00000ea6: POP 00000ea7: PUSH2 0x0df9 00000eaa: JUMP 00000eab: JUMPDEST 00000eac: POP 00000ead: POP 00000eae: POP 00000eaf: POP 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH1 0x00 00000eb4: DUP2 00000eb5: CALLDATALOAD 00000eb6: SWAP1 00000eb7: POP 00000eb8: PUSH2 0x0ec0 00000ebb: DUP2 00000ebc: PUSH2 0x187a 00000ebf: JUMP 00000ec0: JUMPDEST 00000ec1: SWAP3 00000ec2: SWAP2 00000ec3: POP 00000ec4: POP 00000ec5: JUMP 00000ec6: JUMPDEST 00000ec7: PUSH1 0x00 00000ec9: DUP2 00000eca: MLOAD 00000ecb: SWAP1 00000ecc: POP 00000ecd: PUSH2 0x0ed5 00000ed0: DUP2 00000ed1: PUSH2 0x187a 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: SWAP3 00000ed7: SWAP2 00000ed8: POP 00000ed9: POP 00000eda: JUMP 00000edb: JUMPDEST 00000edc: PUSH1 0x00 00000ede: DUP2 00000edf: CALLDATALOAD 00000ee0: SWAP1 00000ee1: POP 00000ee2: PUSH2 0x0eea 00000ee5: DUP2 00000ee6: PUSH2 0x1891 00000ee9: JUMP 00000eea: JUMPDEST 00000eeb: SWAP3 00000eec: SWAP2 00000eed: POP 00000eee: POP 00000eef: JUMP 00000ef0: JUMPDEST 00000ef1: PUSH1 0x00 00000ef3: DUP3 00000ef4: PUSH1 0x1f 00000ef6: DUP4 00000ef7: ADD 00000ef8: SLT 00000ef9: PUSH2 0x0f01 00000efc: JUMPI 00000efd: PUSH1 0x00 00000eff: DUP1 00000f00: REVERT 00000f01: JUMPDEST 00000f02: DUP2 00000f03: CALLDATALOAD 00000f04: PUSH2 0x0f14 00000f07: PUSH2 0x0f0f 00000f0a: DUP3 00000f0b: PUSH2 0x16ab 00000f0e: JUMP 00000f0f: JUMPDEST 00000f10: PUSH2 0x167e 00000f13: JUMP 00000f14: JUMPDEST 00000f15: SWAP2 00000f16: POP 00000f17: DUP2 00000f18: DUP2 00000f19: DUP4 00000f1a: MSTORE 00000f1b: PUSH1 0x20 00000f1d: DUP5 00000f1e: ADD 00000f1f: SWAP4 00000f20: POP 00000f21: PUSH1 0x20 00000f23: DUP2 00000f24: ADD 00000f25: SWAP1 00000f26: POP 00000f27: DUP4 00000f28: DUP6 00000f29: PUSH1 0x20 00000f2b: DUP5 00000f2c: MUL 00000f2d: DUP3 00000f2e: ADD 00000f2f: GT 00000f30: ISZERO 00000f31: PUSH2 0x0f39 00000f34: JUMPI 00000f35: PUSH1 0x00 00000f37: DUP1 00000f38: REVERT 00000f39: JUMPDEST 00000f3a: PUSH1 0x00 00000f3c: JUMPDEST 00000f3d: DUP4 00000f3e: DUP2 00000f3f: LT 00000f40: ISZERO 00000f41: PUSH2 0x0f69 00000f44: JUMPI 00000f45: DUP2 00000f46: PUSH2 0x0f4f 00000f49: DUP9 00000f4a: DUP3 00000f4b: PUSH2 0x0eb1 00000f4e: JUMP 00000f4f: JUMPDEST 00000f50: DUP5 00000f51: MSTORE 00000f52: PUSH1 0x20 00000f54: DUP5 00000f55: ADD 00000f56: SWAP4 00000f57: POP 00000f58: PUSH1 0x20 00000f5a: DUP4 00000f5b: ADD 00000f5c: SWAP3 00000f5d: POP 00000f5e: POP 00000f5f: PUSH1 0x01 00000f61: DUP2 00000f62: ADD 00000f63: SWAP1 00000f64: POP 00000f65: PUSH2 0x0f3c 00000f68: JUMP 00000f69: JUMPDEST 00000f6a: POP 00000f6b: POP 00000f6c: POP 00000f6d: POP 00000f6e: SWAP3 00000f6f: SWAP2 00000f70: POP 00000f71: POP 00000f72: JUMP 00000f73: JUMPDEST 00000f74: PUSH1 0x00 00000f76: DUP1 00000f77: DUP4 00000f78: PUSH1 0x1f 00000f7a: DUP5 00000f7b: ADD 00000f7c: SLT 00000f7d: PUSH2 0x0f85 00000f80: JUMPI 00000f81: PUSH1 0x00 00000f83: DUP1 00000f84: REVERT 00000f85: JUMPDEST 00000f86: DUP3 00000f87: CALLDATALOAD 00000f88: SWAP1 00000f89: POP 00000f8a: PUSH8 0xffffffffffffffff 00000f93: DUP2 00000f94: GT 00000f95: ISZERO 00000f96: PUSH2 0x0f9e 00000f99: JUMPI 00000f9a: PUSH1 0x00 00000f9c: DUP1 00000f9d: REVERT 00000f9e: JUMPDEST 00000f9f: PUSH1 0x20 00000fa1: DUP4 00000fa2: ADD 00000fa3: SWAP2 00000fa4: POP 00000fa5: DUP4 00000fa6: PUSH1 0x20 00000fa8: DUP3 00000fa9: MUL 00000faa: DUP4 00000fab: ADD 00000fac: GT 00000fad: ISZERO 00000fae: PUSH2 0x0fb6 00000fb1: JUMPI 00000fb2: PUSH1 0x00 00000fb4: DUP1 00000fb5: REVERT 00000fb6: JUMPDEST 00000fb7: SWAP3 00000fb8: POP 00000fb9: SWAP3 00000fba: SWAP1 00000fbb: POP 00000fbc: JUMP 00000fbd: JUMPDEST 00000fbe: PUSH1 0x00 00000fc0: DUP3 00000fc1: PUSH1 0x1f 00000fc3: DUP4 00000fc4: ADD 00000fc5: SLT 00000fc6: PUSH2 0x0fce 00000fc9: JUMPI 00000fca: PUSH1 0x00 00000fcc: DUP1 00000fcd: REVERT 00000fce: JUMPDEST 00000fcf: DUP2 00000fd0: MLOAD 00000fd1: PUSH2 0x0fe1 00000fd4: PUSH2 0x0fdc 00000fd7: DUP3 00000fd8: PUSH2 0x16d3 00000fdb: JUMP 00000fdc: JUMPDEST 00000fdd: PUSH2 0x167e 00000fe0: JUMP 00000fe1: JUMPDEST 00000fe2: SWAP2 00000fe3: POP 00000fe4: DUP2 00000fe5: DUP2 00000fe6: DUP4 00000fe7: MSTORE 00000fe8: PUSH1 0x20 00000fea: DUP5 00000feb: ADD 00000fec: SWAP4 00000fed: POP 00000fee: PUSH1 0x20 00000ff0: DUP2 00000ff1: ADD 00000ff2: SWAP1 00000ff3: POP 00000ff4: DUP4 00000ff5: DUP6 00000ff6: PUSH1 0x20 00000ff8: DUP5 00000ff9: MUL 00000ffa: DUP3 00000ffb: ADD 00000ffc: GT 00000ffd: ISZERO 00000ffe: PUSH2 0x1006 00001001: JUMPI 00001002: PUSH1 0x00 00001004: DUP1 00001005: REVERT 00001006: JUMPDEST 00001007: PUSH1 0x00 00001009: JUMPDEST 0000100a: DUP4 0000100b: DUP2 0000100c: LT 0000100d: ISZERO 0000100e: PUSH2 0x1036 00001011: JUMPI 00001012: DUP2 00001013: PUSH2 0x101c 00001016: DUP9 00001017: DUP3 00001018: PUSH2 0x10c9 0000101b: JUMP 0000101c: JUMPDEST 0000101d: DUP5 0000101e: MSTORE 0000101f: PUSH1 0x20 00001021: DUP5 00001022: ADD 00001023: SWAP4 00001024: POP 00001025: PUSH1 0x20 00001027: DUP4 00001028: ADD 00001029: SWAP3 0000102a: POP 0000102b: POP 0000102c: PUSH1 0x01 0000102e: DUP2 0000102f: ADD 00001030: SWAP1 00001031: POP 00001032: PUSH2 0x1009 00001035: JUMP 00001036: JUMPDEST 00001037: POP 00001038: POP 00001039: POP 0000103a: POP 0000103b: SWAP3 0000103c: SWAP2 0000103d: POP 0000103e: POP 0000103f: JUMP 00001040: JUMPDEST 00001041: PUSH1 0x00 00001043: DUP2 00001044: CALLDATALOAD 00001045: SWAP1 00001046: POP 00001047: PUSH2 0x104f 0000104a: DUP2 0000104b: PUSH2 0x18a8 0000104e: JUMP 0000104f: JUMPDEST 00001050: SWAP3 00001051: SWAP2 00001052: POP 00001053: POP 00001054: JUMP 00001055: JUMPDEST 00001056: PUSH1 0x00 00001058: DUP1 00001059: DUP4 0000105a: PUSH1 0x1f 0000105c: DUP5 0000105d: ADD 0000105e: SLT 0000105f: PUSH2 0x1067 00001062: JUMPI 00001063: PUSH1 0x00 00001065: DUP1 00001066: REVERT 00001067: JUMPDEST 00001068: DUP3 00001069: CALLDATALOAD 0000106a: SWAP1 0000106b: POP 0000106c: PUSH8 0xffffffffffffffff 00001075: DUP2 00001076: GT 00001077: ISZERO 00001078: PUSH2 0x1080 0000107b: JUMPI 0000107c: PUSH1 0x00 0000107e: DUP1 0000107f: REVERT 00001080: JUMPDEST 00001081: PUSH1 0x20 00001083: DUP4 00001084: ADD 00001085: SWAP2 00001086: POP 00001087: DUP4 00001088: PUSH1 0x01 0000108a: DUP3 0000108b: MUL 0000108c: DUP4 0000108d: ADD 0000108e: GT 0000108f: ISZERO 00001090: PUSH2 0x1098 00001093: JUMPI 00001094: PUSH1 0x00 00001096: DUP1 00001097: REVERT 00001098: JUMPDEST 00001099: SWAP3 0000109a: POP 0000109b: SWAP3 0000109c: SWAP1 0000109d: POP 0000109e: JUMP 0000109f: JUMPDEST 000010a0: PUSH1 0x00 000010a2: DUP2 000010a3: MLOAD 000010a4: SWAP1 000010a5: POP 000010a6: PUSH2 0x10ae 000010a9: DUP2 000010aa: PUSH2 0x18bf 000010ad: JUMP 000010ae: JUMPDEST 000010af: SWAP3 000010b0: SWAP2 000010b1: POP 000010b2: POP 000010b3: JUMP 000010b4: JUMPDEST 000010b5: PUSH1 0x00 000010b7: DUP2 000010b8: CALLDATALOAD 000010b9: SWAP1 000010ba: POP 000010bb: PUSH2 0x10c3 000010be: DUP2 000010bf: PUSH2 0x18d6 000010c2: JUMP 000010c3: JUMPDEST 000010c4: SWAP3 000010c5: SWAP2 000010c6: POP 000010c7: POP 000010c8: JUMP 000010c9: JUMPDEST 000010ca: PUSH1 0x00 000010cc: DUP2 000010cd: MLOAD 000010ce: SWAP1 000010cf: POP 000010d0: PUSH2 0x10d8 000010d3: DUP2 000010d4: PUSH2 0x18d6 000010d7: JUMP 000010d8: JUMPDEST 000010d9: SWAP3 000010da: SWAP2 000010db: POP 000010dc: POP 000010dd: JUMP 000010de: JUMPDEST 000010df: PUSH1 0x00 000010e1: DUP2 000010e2: MLOAD 000010e3: SWAP1 000010e4: POP 000010e5: PUSH2 0x10ed 000010e8: DUP2 000010e9: PUSH2 0x18ed 000010ec: JUMP 000010ed: JUMPDEST 000010ee: SWAP3 000010ef: SWAP2 000010f0: POP 000010f1: POP 000010f2: JUMP 000010f3: JUMPDEST 000010f4: PUSH1 0x00 000010f6: PUSH1 0x20 000010f8: DUP3 000010f9: DUP5 000010fa: SUB 000010fb: SLT 000010fc: ISZERO 000010fd: PUSH2 0x1105 00001100: JUMPI 00001101: PUSH1 0x00 00001103: DUP1 00001104: REVERT 00001105: JUMPDEST 00001106: PUSH1 0x00 00001108: PUSH2 0x1113 0000110b: DUP5 0000110c: DUP3 0000110d: DUP6 0000110e: ADD 0000110f: PUSH2 0x0ec6 00001112: JUMP 00001113: JUMPDEST 00001114: SWAP2 00001115: POP 00001116: POP 00001117: SWAP3 00001118: SWAP2 00001119: POP 0000111a: POP 0000111b: JUMP 0000111c: JUMPDEST 0000111d: PUSH1 0x00 0000111f: DUP1 00001120: PUSH1 0x00 00001122: PUSH1 0x40 00001124: DUP5 00001125: DUP7 00001126: SUB 00001127: SLT 00001128: ISZERO 00001129: PUSH2 0x1131 0000112c: JUMPI 0000112d: PUSH1 0x00 0000112f: DUP1 00001130: REVERT 00001131: JUMPDEST 00001132: PUSH1 0x00 00001134: DUP5 00001135: ADD 00001136: CALLDATALOAD 00001137: PUSH8 0xffffffffffffffff 00001140: DUP2 00001141: GT 00001142: ISZERO 00001143: PUSH2 0x114b 00001146: JUMPI 00001147: PUSH1 0x00 00001149: DUP1 0000114a: REVERT 0000114b: JUMPDEST 0000114c: PUSH2 0x1157 0000114f: DUP7 00001150: DUP3 00001151: DUP8 00001152: ADD 00001153: PUSH2 0x0ef0 00001156: JUMP 00001157: JUMPDEST 00001158: SWAP4 00001159: POP 0000115a: POP 0000115b: PUSH1 0x20 0000115d: DUP5 0000115e: ADD 0000115f: CALLDATALOAD 00001160: PUSH8 0xffffffffffffffff 00001169: DUP2 0000116a: GT 0000116b: ISZERO 0000116c: PUSH2 0x1174 0000116f: JUMPI 00001170: PUSH1 0x00 00001172: DUP1 00001173: REVERT 00001174: JUMPDEST 00001175: PUSH2 0x1180 00001178: DUP7 00001179: DUP3 0000117a: DUP8 0000117b: ADD 0000117c: PUSH2 0x0f73 0000117f: JUMP 00001180: JUMPDEST 00001181: SWAP3 00001182: POP 00001183: SWAP3 00001184: POP 00001185: POP 00001186: SWAP3 00001187: POP 00001188: SWAP3 00001189: POP 0000118a: SWAP3 0000118b: JUMP 0000118c: JUMPDEST 0000118d: PUSH1 0x00 0000118f: PUSH1 0x20 00001191: DUP3 00001192: DUP5 00001193: SUB 00001194: SLT 00001195: ISZERO 00001196: PUSH2 0x119e 00001199: JUMPI 0000119a: PUSH1 0x00 0000119c: DUP1 0000119d: REVERT 0000119e: JUMPDEST 0000119f: PUSH1 0x00 000011a1: DUP3 000011a2: ADD 000011a3: MLOAD 000011a4: PUSH8 0xffffffffffffffff 000011ad: DUP2 000011ae: GT 000011af: ISZERO 000011b0: PUSH2 0x11b8 000011b3: JUMPI 000011b4: PUSH1 0x00 000011b6: DUP1 000011b7: REVERT 000011b8: JUMPDEST 000011b9: PUSH2 0x11c4 000011bc: DUP5 000011bd: DUP3 000011be: DUP6 000011bf: ADD 000011c0: PUSH2 0x0fbd 000011c3: JUMP 000011c4: JUMPDEST 000011c5: SWAP2 000011c6: POP 000011c7: POP 000011c8: SWAP3 000011c9: SWAP2 000011ca: POP 000011cb: POP 000011cc: JUMP 000011cd: JUMPDEST 000011ce: PUSH1 0x00 000011d0: DUP1 000011d1: PUSH1 0x00 000011d3: DUP1 000011d4: PUSH1 0x00 000011d6: DUP1 000011d7: PUSH1 0x00 000011d9: DUP1 000011da: PUSH1 0xe0 000011dc: DUP10 000011dd: DUP12 000011de: SUB 000011df: SLT 000011e0: ISZERO 000011e1: PUSH2 0x11e9 000011e4: JUMPI 000011e5: PUSH1 0x00 000011e7: DUP1 000011e8: REVERT 000011e9: JUMPDEST 000011ea: PUSH1 0x00 000011ec: DUP10 000011ed: ADD 000011ee: CALLDATALOAD 000011ef: PUSH8 0xffffffffffffffff 000011f8: DUP2 000011f9: GT 000011fa: ISZERO 000011fb: PUSH2 0x1203 000011fe: JUMPI 000011ff: PUSH1 0x00 00001201: DUP1 00001202: REVERT 00001203: JUMPDEST 00001204: PUSH2 0x120f 00001207: DUP12 00001208: DUP3 00001209: DUP13 0000120a: ADD 0000120b: PUSH2 0x1055 0000120e: JUMP 0000120f: JUMPDEST 00001210: SWAP9 00001211: POP 00001212: SWAP9 00001213: POP 00001214: POP 00001215: PUSH1 0x20 00001217: PUSH2 0x1222 0000121a: DUP12 0000121b: DUP3 0000121c: DUP13 0000121d: ADD 0000121e: PUSH2 0x0edb 00001221: JUMP 00001222: JUMPDEST 00001223: SWAP7 00001224: POP 00001225: POP 00001226: PUSH1 0x40 00001228: PUSH2 0x1233 0000122b: DUP12 0000122c: DUP3 0000122d: DUP13 0000122e: ADD 0000122f: PUSH2 0x1040 00001232: JUMP 00001233: JUMPDEST 00001234: SWAP6 00001235: POP 00001236: POP 00001237: PUSH1 0x60 00001239: PUSH2 0x1244 0000123c: DUP12 0000123d: DUP3 0000123e: DUP13 0000123f: ADD 00001240: PUSH2 0x1040 00001243: JUMP 00001244: JUMPDEST 00001245: SWAP5 00001246: POP 00001247: POP 00001248: PUSH1 0x80 0000124a: PUSH2 0x1255 0000124d: DUP12 0000124e: DUP3 0000124f: DUP13 00001250: ADD 00001251: PUSH2 0x1040 00001254: JUMP 00001255: JUMPDEST 00001256: SWAP4 00001257: POP 00001258: POP 00001259: PUSH1 0xa0 0000125b: PUSH2 0x1266 0000125e: DUP12 0000125f: DUP3 00001260: DUP13 00001261: ADD 00001262: PUSH2 0x10b4 00001265: JUMP 00001266: JUMPDEST 00001267: SWAP3 00001268: POP 00001269: POP 0000126a: PUSH1 0xc0 0000126c: PUSH2 0x1277 0000126f: DUP12 00001270: DUP3 00001271: DUP13 00001272: ADD 00001273: PUSH2 0x1040 00001276: JUMP 00001277: JUMPDEST 00001278: SWAP2 00001279: POP 0000127a: POP 0000127b: SWAP3 0000127c: SWAP6 0000127d: SWAP9 0000127e: POP 0000127f: SWAP3 00001280: SWAP6 00001281: SWAP9 00001282: SWAP1 00001283: SWAP4 00001284: SWAP7 00001285: POP 00001286: JUMP 00001287: JUMPDEST 00001288: PUSH1 0x00 0000128a: DUP1 0000128b: PUSH1 0x00 0000128d: DUP1 0000128e: PUSH1 0x00 00001290: PUSH1 0x60 00001292: DUP7 00001293: DUP9 00001294: SUB 00001295: SLT 00001296: ISZERO 00001297: PUSH2 0x129f 0000129a: JUMPI 0000129b: PUSH1 0x00 0000129d: DUP1 0000129e: REVERT 0000129f: JUMPDEST 000012a0: PUSH1 0x00 000012a2: DUP7 000012a3: ADD 000012a4: CALLDATALOAD 000012a5: PUSH8 0xffffffffffffffff 000012ae: DUP2 000012af: GT 000012b0: ISZERO 000012b1: PUSH2 0x12b9 000012b4: JUMPI 000012b5: PUSH1 0x00 000012b7: DUP1 000012b8: REVERT 000012b9: JUMPDEST 000012ba: PUSH2 0x12c5 000012bd: DUP9 000012be: DUP3 000012bf: DUP10 000012c0: ADD 000012c1: PUSH2 0x1055 000012c4: JUMP 000012c5: JUMPDEST 000012c6: SWAP6 000012c7: POP 000012c8: SWAP6 000012c9: POP 000012ca: POP 000012cb: PUSH1 0x20 000012cd: PUSH2 0x12d8 000012d0: DUP9 000012d1: DUP3 000012d2: DUP10 000012d3: ADD 000012d4: PUSH2 0x0edb 000012d7: JUMP 000012d8: JUMPDEST 000012d9: SWAP4 000012da: POP 000012db: POP 000012dc: PUSH1 0x40 000012de: DUP7 000012df: ADD 000012e0: CALLDATALOAD 000012e1: PUSH8 0xffffffffffffffff 000012ea: DUP2 000012eb: GT 000012ec: ISZERO 000012ed: PUSH2 0x12f5 000012f0: JUMPI 000012f1: PUSH1 0x00 000012f3: DUP1 000012f4: REVERT 000012f5: JUMPDEST 000012f6: PUSH2 0x1301 000012f9: DUP9 000012fa: DUP3 000012fb: DUP10 000012fc: ADD 000012fd: PUSH2 0x1055 00001300: JUMP 00001301: JUMPDEST 00001302: SWAP3 00001303: POP 00001304: SWAP3 00001305: POP 00001306: POP 00001307: SWAP3 00001308: SWAP6 00001309: POP 0000130a: SWAP3 0000130b: SWAP6 0000130c: SWAP1 0000130d: SWAP4 0000130e: POP 0000130f: JUMP 00001310: JUMPDEST 00001311: PUSH1 0x00 00001313: DUP1 00001314: PUSH1 0x00 00001316: PUSH1 0x60 00001318: DUP5 00001319: DUP7 0000131a: SUB 0000131b: SLT 0000131c: ISZERO 0000131d: PUSH2 0x1325 00001320: JUMPI 00001321: PUSH1 0x00 00001323: DUP1 00001324: REVERT 00001325: JUMPDEST 00001326: PUSH1 0x00 00001328: PUSH2 0x1333 0000132b: DUP7 0000132c: DUP3 0000132d: DUP8 0000132e: ADD 0000132f: PUSH2 0x109f 00001332: JUMP 00001333: JUMPDEST 00001334: SWAP4 00001335: POP 00001336: POP 00001337: PUSH1 0x20 00001339: PUSH2 0x1344 0000133c: DUP7 0000133d: DUP3 0000133e: DUP8 0000133f: ADD 00001340: PUSH2 0x109f 00001343: JUMP 00001344: JUMPDEST 00001345: SWAP3 00001346: POP 00001347: POP 00001348: PUSH1 0x40 0000134a: PUSH2 0x1355 0000134d: DUP7 0000134e: DUP3 0000134f: DUP8 00001350: ADD 00001351: PUSH2 0x10de 00001354: JUMP 00001355: JUMPDEST 00001356: SWAP2 00001357: POP 00001358: POP 00001359: SWAP3 0000135a: POP 0000135b: SWAP3 0000135c: POP 0000135d: SWAP3 0000135e: JUMP 0000135f: JUMPDEST 00001360: PUSH1 0x00 00001362: PUSH1 0x20 00001364: DUP3 00001365: DUP5 00001366: SUB 00001367: SLT 00001368: ISZERO 00001369: PUSH2 0x1371 0000136c: JUMPI 0000136d: PUSH1 0x00 0000136f: DUP1 00001370: REVERT 00001371: JUMPDEST 00001372: PUSH1 0x00 00001374: PUSH2 0x137f 00001377: DUP5 00001378: DUP3 00001379: DUP6 0000137a: ADD 0000137b: PUSH2 0x10c9 0000137e: JUMP 0000137f: JUMPDEST 00001380: SWAP2 00001381: POP 00001382: POP 00001383: SWAP3 00001384: SWAP2 00001385: POP 00001386: POP 00001387: JUMP 00001388: JUMPDEST 00001389: PUSH1 0x00 0000138b: PUSH2 0x1394 0000138e: DUP4 0000138f: DUP4 00001390: PUSH2 0x13af 00001393: JUMP 00001394: JUMPDEST 00001395: PUSH1 0x20 00001397: DUP4 00001398: ADD 00001399: SWAP1 0000139a: POP 0000139b: SWAP3 0000139c: SWAP2 0000139d: POP 0000139e: POP 0000139f: JUMP 000013a0: JUMPDEST 000013a1: PUSH2 0x13a9 000013a4: DUP2 000013a5: PUSH2 0x17df 000013a8: JUMP 000013a9: JUMPDEST 000013aa: DUP3 000013ab: MSTORE 000013ac: POP 000013ad: POP 000013ae: JUMP 000013af: JUMPDEST 000013b0: PUSH2 0x13b8 000013b3: DUP2 000013b4: PUSH2 0x175b 000013b7: JUMP 000013b8: JUMPDEST 000013b9: DUP3 000013ba: MSTORE 000013bb: POP 000013bc: POP 000013bd: JUMP 000013be: JUMPDEST 000013bf: PUSH2 0x13c7 000013c2: DUP2 000013c3: PUSH2 0x175b 000013c6: JUMP 000013c7: JUMPDEST 000013c8: DUP3 000013c9: MSTORE 000013ca: POP 000013cb: POP 000013cc: JUMP 000013cd: JUMPDEST 000013ce: PUSH1 0x00 000013d0: PUSH2 0x13d8 000013d3: DUP3 000013d4: PUSH2 0x170b 000013d7: JUMP 000013d8: JUMPDEST 000013d9: PUSH2 0x13e2 000013dc: DUP2 000013dd: DUP6 000013de: PUSH2 0x172e 000013e1: JUMP 000013e2: JUMPDEST 000013e3: SWAP4 000013e4: POP 000013e5: PUSH2 0x13ed 000013e8: DUP4 000013e9: PUSH2 0x16fb 000013ec: JUMP 000013ed: JUMPDEST 000013ee: DUP1 000013ef: PUSH1 0x00 000013f1: JUMPDEST 000013f2: DUP4 000013f3: DUP2 000013f4: LT 000013f5: ISZERO 000013f6: PUSH2 0x141e 000013f9: JUMPI 000013fa: DUP2 000013fb: MLOAD 000013fc: PUSH2 0x1405 000013ff: DUP9 00001400: DUP3 00001401: PUSH2 0x1388 00001404: JUMP 00001405: JUMPDEST 00001406: SWAP8 00001407: POP 00001408: PUSH2 0x1410 0000140b: DUP4 0000140c: PUSH2 0x1721 0000140f: JUMP 00001410: JUMPDEST 00001411: SWAP3 00001412: POP 00001413: POP 00001414: PUSH1 0x01 00001416: DUP2 00001417: ADD 00001418: SWAP1 00001419: POP 0000141a: PUSH2 0x13f1 0000141d: JUMP 0000141e: JUMPDEST 0000141f: POP 00001420: DUP6 00001421: SWAP4 00001422: POP 00001423: POP 00001424: POP 00001425: POP 00001426: SWAP3 00001427: SWAP2 00001428: POP 00001429: POP 0000142a: JUMP 0000142b: JUMPDEST 0000142c: PUSH2 0x1434 0000142f: DUP2 00001430: PUSH2 0x177f 00001433: JUMP 00001434: JUMPDEST 00001435: DUP3 00001436: MSTORE 00001437: POP 00001438: POP 00001439: JUMP 0000143a: JUMPDEST 0000143b: PUSH1 0x00 0000143d: PUSH2 0x1446 00001440: DUP4 00001441: DUP6 00001442: PUSH2 0x1750 00001445: JUMP 00001446: JUMPDEST 00001447: SWAP4 00001448: POP 00001449: PUSH2 0x1453 0000144c: DUP4 0000144d: DUP6 0000144e: DUP5 0000144f: PUSH2 0x1827 00001452: JUMP 00001453: JUMPDEST 00001454: DUP3 00001455: DUP5 00001456: ADD 00001457: SWAP1 00001458: POP 00001459: SWAP4 0000145a: SWAP3 0000145b: POP 0000145c: POP 0000145d: POP 0000145e: JUMP 0000145f: JUMPDEST 00001460: PUSH1 0x00 00001462: PUSH2 0x146a 00001465: DUP3 00001466: PUSH2 0x1716 00001469: JUMP 0000146a: JUMPDEST 0000146b: PUSH2 0x1474 0000146e: DUP2 0000146f: DUP6 00001470: PUSH2 0x173f 00001473: JUMP 00001474: JUMPDEST 00001475: SWAP4 00001476: POP 00001477: PUSH2 0x1484 0000147a: DUP2 0000147b: DUP6 0000147c: PUSH1 0x20 0000147e: DUP7 0000147f: ADD 00001480: PUSH2 0x1836 00001483: JUMP 00001484: JUMPDEST 00001485: PUSH2 0x148d 00001488: DUP2 00001489: PUSH2 0x1869 0000148c: JUMP 0000148d: JUMPDEST 0000148e: DUP5 0000148f: ADD 00001490: SWAP2 00001491: POP 00001492: POP 00001493: SWAP3 00001494: SWAP2 00001495: POP 00001496: POP 00001497: JUMP 00001498: JUMPDEST 00001499: PUSH2 0x14a1 0000149c: DUP2 0000149d: PUSH2 0x17f1 000014a0: JUMP 000014a1: JUMPDEST 000014a2: DUP3 000014a3: MSTORE 000014a4: POP 000014a5: POP 000014a6: JUMP 000014a7: JUMPDEST 000014a8: PUSH2 0x14b0 000014ab: DUP2 000014ac: PUSH2 0x17c5 000014af: JUMP 000014b0: JUMPDEST 000014b1: DUP3 000014b2: MSTORE 000014b3: POP 000014b4: POP 000014b5: JUMP 000014b6: JUMPDEST 000014b7: PUSH1 0x00 000014b9: PUSH2 0x14c3 000014bc: DUP3 000014bd: DUP5 000014be: DUP7 000014bf: PUSH2 0x143a 000014c2: JUMP 000014c3: JUMPDEST 000014c4: SWAP2 000014c5: POP 000014c6: DUP2 000014c7: SWAP1 000014c8: POP 000014c9: SWAP4 000014ca: SWAP3 000014cb: POP 000014cc: POP 000014cd: POP 000014ce: JUMP 000014cf: JUMPDEST 000014d0: PUSH1 0x00 000014d2: PUSH1 0x20 000014d4: DUP3 000014d5: ADD 000014d6: SWAP1 000014d7: POP 000014d8: PUSH2 0x14e4 000014db: PUSH1 0x00 000014dd: DUP4 000014de: ADD 000014df: DUP5 000014e0: PUSH2 0x13be 000014e3: JUMP 000014e4: JUMPDEST 000014e5: SWAP3 000014e6: SWAP2 000014e7: POP 000014e8: POP 000014e9: JUMP 000014ea: JUMPDEST 000014eb: PUSH1 0x00 000014ed: PUSH1 0x20 000014ef: DUP3 000014f0: ADD 000014f1: SWAP1 000014f2: POP 000014f3: PUSH2 0x14ff 000014f6: PUSH1 0x00 000014f8: DUP4 000014f9: ADD 000014fa: DUP5 000014fb: PUSH2 0x13a0 000014fe: JUMP 000014ff: JUMPDEST 00001500: SWAP3 00001501: SWAP2 00001502: POP 00001503: POP 00001504: JUMP 00001505: JUMPDEST 00001506: PUSH1 0x00 00001508: PUSH1 0x40 0000150a: DUP3 0000150b: ADD 0000150c: SWAP1 0000150d: POP 0000150e: PUSH2 0x151a 00001511: PUSH1 0x00 00001513: DUP4 00001514: ADD 00001515: DUP6 00001516: PUSH2 0x142b 00001519: JUMP 0000151a: JUMPDEST 0000151b: DUP2 0000151c: DUP2 0000151d: SUB 0000151e: PUSH1 0x20 00001520: DUP4 00001521: ADD 00001522: MSTORE 00001523: PUSH2 0x152c 00001526: DUP2 00001527: DUP5 00001528: PUSH2 0x145f 0000152b: JUMP 0000152c: JUMPDEST 0000152d: SWAP1 0000152e: POP 0000152f: SWAP4 00001530: SWAP3 00001531: POP 00001532: POP 00001533: POP 00001534: JUMP 00001535: JUMPDEST 00001536: PUSH1 0x00 00001538: PUSH1 0x80 0000153a: DUP3 0000153b: ADD 0000153c: SWAP1 0000153d: POP 0000153e: PUSH2 0x154a 00001541: PUSH1 0x00 00001543: DUP4 00001544: ADD 00001545: DUP8 00001546: PUSH2 0x1498 00001549: JUMP 0000154a: JUMPDEST 0000154b: PUSH2 0x1557 0000154e: PUSH1 0x20 00001550: DUP4 00001551: ADD 00001552: DUP7 00001553: PUSH2 0x14a7 00001556: JUMP 00001557: JUMPDEST 00001558: PUSH2 0x1564 0000155b: PUSH1 0x40 0000155d: DUP4 0000155e: ADD 0000155f: DUP6 00001560: PUSH2 0x13be 00001563: JUMP 00001564: JUMPDEST 00001565: DUP2 00001566: DUP2 00001567: SUB 00001568: PUSH1 0x60 0000156a: DUP4 0000156b: ADD 0000156c: MSTORE 0000156d: PUSH2 0x1576 00001570: DUP2 00001571: DUP5 00001572: PUSH2 0x145f 00001575: JUMP 00001576: JUMPDEST 00001577: SWAP1 00001578: POP 00001579: SWAP6 0000157a: SWAP5 0000157b: POP 0000157c: POP 0000157d: POP 0000157e: POP 0000157f: POP 00001580: JUMP 00001581: JUMPDEST 00001582: PUSH1 0x00 00001584: PUSH1 0x80 00001586: DUP3 00001587: ADD 00001588: SWAP1 00001589: POP 0000158a: PUSH2 0x1596 0000158d: PUSH1 0x00 0000158f: DUP4 00001590: ADD 00001591: DUP8 00001592: PUSH2 0x14a7 00001595: JUMP 00001596: JUMPDEST 00001597: PUSH2 0x15a3 0000159a: PUSH1 0x20 0000159c: DUP4 0000159d: ADD 0000159e: DUP7 0000159f: PUSH2 0x1498 000015a2: JUMP 000015a3: JUMPDEST 000015a4: PUSH2 0x15b0 000015a7: PUSH1 0x40 000015a9: DUP4 000015aa: ADD 000015ab: DUP6 000015ac: PUSH2 0x13be 000015af: JUMP 000015b0: JUMPDEST 000015b1: DUP2 000015b2: DUP2 000015b3: SUB 000015b4: PUSH1 0x60 000015b6: DUP4 000015b7: ADD 000015b8: MSTORE 000015b9: PUSH2 0x15c2 000015bc: DUP2 000015bd: DUP5 000015be: PUSH2 0x145f 000015c1: JUMP 000015c2: JUMPDEST 000015c3: SWAP1 000015c4: POP 000015c5: SWAP6 000015c6: SWAP5 000015c7: POP 000015c8: POP 000015c9: POP 000015ca: POP 000015cb: POP 000015cc: JUMP 000015cd: JUMPDEST 000015ce: PUSH1 0x00 000015d0: PUSH1 0xa0 000015d2: DUP3 000015d3: ADD 000015d4: SWAP1 000015d5: POP 000015d6: PUSH2 0x15e2 000015d9: PUSH1 0x00 000015db: DUP4 000015dc: ADD 000015dd: DUP9 000015de: PUSH2 0x14a7 000015e1: JUMP 000015e2: JUMPDEST 000015e3: PUSH2 0x15ef 000015e6: PUSH1 0x20 000015e8: DUP4 000015e9: ADD 000015ea: DUP8 000015eb: PUSH2 0x1498 000015ee: JUMP 000015ef: JUMPDEST 000015f0: DUP2 000015f1: DUP2 000015f2: SUB 000015f3: PUSH1 0x40 000015f5: DUP4 000015f6: ADD 000015f7: MSTORE 000015f8: PUSH2 0x1601 000015fb: DUP2 000015fc: DUP7 000015fd: PUSH2 0x13cd 00001600: JUMP 00001601: JUMPDEST 00001602: SWAP1 00001603: POP 00001604: PUSH2 0x1610 00001607: PUSH1 0x60 00001609: DUP4 0000160a: ADD 0000160b: DUP6 0000160c: PUSH2 0x13be 0000160f: JUMP 00001610: JUMPDEST 00001611: PUSH2 0x161d 00001614: PUSH1 0x80 00001616: DUP4 00001617: ADD 00001618: DUP5 00001619: PUSH2 0x14a7 0000161c: JUMP 0000161d: JUMPDEST 0000161e: SWAP7 0000161f: SWAP6 00001620: POP 00001621: POP 00001622: POP 00001623: POP 00001624: POP 00001625: POP 00001626: JUMP 00001627: JUMPDEST 00001628: PUSH1 0x00 0000162a: DUP1 0000162b: DUP4 0000162c: CALLDATALOAD 0000162d: PUSH1 0x01 0000162f: PUSH1 0x20 00001631: SUB 00001632: DUP5 00001633: CALLDATASIZE 00001634: SUB 00001635: SUB 00001636: DUP2 00001637: SLT 00001638: PUSH2 0x1640 0000163b: JUMPI 0000163c: PUSH1 0x00 0000163e: DUP1 0000163f: REVERT 00001640: JUMPDEST 00001641: DUP1 00001642: DUP5 00001643: ADD 00001644: SWAP3 00001645: POP 00001646: DUP3 00001647: CALLDATALOAD 00001648: SWAP2 00001649: POP 0000164a: PUSH8 0xffffffffffffffff 00001653: DUP3 00001654: GT 00001655: ISZERO 00001656: PUSH2 0x165e 00001659: JUMPI 0000165a: PUSH1 0x00 0000165c: DUP1 0000165d: REVERT 0000165e: JUMPDEST 0000165f: PUSH1 0x20 00001661: DUP4 00001662: ADD 00001663: SWAP3 00001664: POP 00001665: PUSH1 0x01 00001667: DUP3 00001668: MUL 00001669: CALLDATASIZE 0000166a: SUB 0000166b: DUP4 0000166c: SGT 0000166d: ISZERO 0000166e: PUSH2 0x1676 00001671: JUMPI 00001672: PUSH1 0x00 00001674: DUP1 00001675: REVERT 00001676: JUMPDEST 00001677: POP 00001678: SWAP3 00001679: POP 0000167a: SWAP3 0000167b: SWAP1 0000167c: POP 0000167d: JUMP 0000167e: JUMPDEST 0000167f: PUSH1 0x00 00001681: PUSH1 0x40 00001683: MLOAD 00001684: SWAP1 00001685: POP 00001686: DUP2 00001687: DUP2 00001688: ADD 00001689: DUP2 0000168a: DUP2 0000168b: LT 0000168c: PUSH8 0xffffffffffffffff 00001695: DUP3 00001696: GT 00001697: OR 00001698: ISZERO 00001699: PUSH2 0x16a1 0000169c: JUMPI 0000169d: PUSH1 0x00 0000169f: DUP1 000016a0: REVERT 000016a1: JUMPDEST 000016a2: DUP1 000016a3: PUSH1 0x40 000016a5: MSTORE 000016a6: POP 000016a7: SWAP2 000016a8: SWAP1 000016a9: POP 000016aa: JUMP 000016ab: JUMPDEST 000016ac: PUSH1 0x00 000016ae: PUSH8 0xffffffffffffffff 000016b7: DUP3 000016b8: GT 000016b9: ISZERO 000016ba: PUSH2 0x16c2 000016bd: JUMPI 000016be: PUSH1 0x00 000016c0: DUP1 000016c1: REVERT 000016c2: JUMPDEST 000016c3: PUSH1 0x20 000016c5: DUP3 000016c6: MUL 000016c7: SWAP1 000016c8: POP 000016c9: PUSH1 0x20 000016cb: DUP2 000016cc: ADD 000016cd: SWAP1 000016ce: POP 000016cf: SWAP2 000016d0: SWAP1 000016d1: POP 000016d2: JUMP 000016d3: JUMPDEST 000016d4: PUSH1 0x00 000016d6: PUSH8 0xffffffffffffffff 000016df: DUP3 000016e0: GT 000016e1: ISZERO 000016e2: PUSH2 0x16ea 000016e5: JUMPI 000016e6: PUSH1 0x00 000016e8: DUP1 000016e9: REVERT 000016ea: JUMPDEST 000016eb: PUSH1 0x20 000016ed: DUP3 000016ee: MUL 000016ef: SWAP1 000016f0: POP 000016f1: PUSH1 0x20 000016f3: DUP2 000016f4: ADD 000016f5: SWAP1 000016f6: POP 000016f7: SWAP2 000016f8: SWAP1 000016f9: POP 000016fa: JUMP 000016fb: JUMPDEST 000016fc: PUSH1 0x00 000016fe: DUP2 000016ff: SWAP1 00001700: POP 00001701: PUSH1 0x20 00001703: DUP3 00001704: ADD 00001705: SWAP1 00001706: POP 00001707: SWAP2 00001708: SWAP1 00001709: POP 0000170a: JUMP 0000170b: JUMPDEST 0000170c: PUSH1 0x00 0000170e: DUP2 0000170f: MLOAD 00001710: SWAP1 00001711: POP 00001712: SWAP2 00001713: SWAP1 00001714: POP 00001715: JUMP 00001716: JUMPDEST 00001717: PUSH1 0x00 00001719: DUP2 0000171a: MLOAD 0000171b: SWAP1 0000171c: POP 0000171d: SWAP2 0000171e: SWAP1 0000171f: POP 00001720: JUMP 00001721: JUMPDEST 00001722: PUSH1 0x00 00001724: PUSH1 0x20 00001726: DUP3 00001727: ADD 00001728: SWAP1 00001729: POP 0000172a: SWAP2 0000172b: SWAP1 0000172c: POP 0000172d: JUMP 0000172e: JUMPDEST 0000172f: PUSH1 0x00 00001731: DUP3 00001732: DUP3 00001733: MSTORE 00001734: PUSH1 0x20 00001736: DUP3 00001737: ADD 00001738: SWAP1 00001739: POP 0000173a: SWAP3 0000173b: SWAP2 0000173c: POP 0000173d: POP 0000173e: JUMP 0000173f: JUMPDEST 00001740: PUSH1 0x00 00001742: DUP3 00001743: DUP3 00001744: MSTORE 00001745: PUSH1 0x20 00001747: DUP3 00001748: ADD 00001749: SWAP1 0000174a: POP 0000174b: SWAP3 0000174c: SWAP2 0000174d: POP 0000174e: POP 0000174f: JUMP 00001750: JUMPDEST 00001751: PUSH1 0x00 00001753: DUP2 00001754: SWAP1 00001755: POP 00001756: SWAP3 00001757: SWAP2 00001758: POP 00001759: POP 0000175a: JUMP 0000175b: JUMPDEST 0000175c: PUSH1 0x00 0000175e: PUSH2 0x1766 00001761: DUP3 00001762: PUSH2 0x17a5 00001765: JUMP 00001766: JUMPDEST 00001767: SWAP1 00001768: POP 00001769: SWAP2 0000176a: SWAP1 0000176b: POP 0000176c: JUMP 0000176d: JUMPDEST 0000176e: PUSH1 0x00 00001770: PUSH2 0x1778 00001773: DUP3 00001774: PUSH2 0x17a5 00001777: JUMP 00001778: JUMPDEST 00001779: SWAP1 0000177a: POP 0000177b: SWAP2 0000177c: SWAP1 0000177d: POP 0000177e: JUMP 0000177f: JUMPDEST 00001780: PUSH1 0x00 00001782: DUP2 00001783: ISZERO 00001784: ISZERO 00001785: SWAP1 00001786: POP 00001787: SWAP2 00001788: SWAP1 00001789: POP 0000178a: JUMP 0000178b: JUMPDEST 0000178c: PUSH1 0x00 0000178e: PUSH14 0xffffffffffffffffffffffffffff 0000179d: DUP3 0000179e: AND 0000179f: SWAP1 000017a0: POP 000017a1: SWAP2 000017a2: SWAP1 000017a3: POP 000017a4: JUMP 000017a5: JUMPDEST 000017a6: PUSH1 0x00 000017a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017bd: DUP3 000017be: AND 000017bf: SWAP1 000017c0: POP 000017c1: SWAP2 000017c2: SWAP1 000017c3: POP 000017c4: JUMP 000017c5: JUMPDEST 000017c6: PUSH1 0x00 000017c8: DUP2 000017c9: SWAP1 000017ca: POP 000017cb: SWAP2 000017cc: SWAP1 000017cd: POP 000017ce: JUMP 000017cf: JUMPDEST 000017d0: PUSH1 0x00 000017d2: PUSH4 0xffffffff 000017d7: DUP3 000017d8: AND 000017d9: SWAP1 000017da: POP 000017db: SWAP2 000017dc: SWAP1 000017dd: POP 000017de: JUMP 000017df: JUMPDEST 000017e0: PUSH1 0x00 000017e2: PUSH2 0x17ea 000017e5: DUP3 000017e6: PUSH2 0x1803 000017e9: JUMP 000017ea: JUMPDEST 000017eb: SWAP1 000017ec: POP 000017ed: SWAP2 000017ee: SWAP1 000017ef: POP 000017f0: JUMP 000017f1: JUMPDEST 000017f2: PUSH1 0x00 000017f4: PUSH2 0x17fc 000017f7: DUP3 000017f8: PUSH2 0x17c5 000017fb: JUMP 000017fc: JUMPDEST 000017fd: SWAP1 000017fe: POP 000017ff: SWAP2 00001800: SWAP1 00001801: POP 00001802: JUMP 00001803: JUMPDEST 00001804: PUSH1 0x00 00001806: PUSH2 0x180e 00001809: DUP3 0000180a: PUSH2 0x1815 0000180d: JUMP 0000180e: JUMPDEST 0000180f: SWAP1 00001810: POP 00001811: SWAP2 00001812: SWAP1 00001813: POP 00001814: JUMP 00001815: JUMPDEST 00001816: PUSH1 0x00 00001818: PUSH2 0x1820 0000181b: DUP3 0000181c: PUSH2 0x17a5 0000181f: JUMP 00001820: JUMPDEST 00001821: SWAP1 00001822: POP 00001823: SWAP2 00001824: SWAP1 00001825: POP 00001826: JUMP 00001827: JUMPDEST 00001828: DUP3 00001829: DUP2 0000182a: DUP4 0000182b: CALLDATACOPY 0000182c: PUSH1 0x00 0000182e: DUP4 0000182f: DUP4 00001830: ADD 00001831: MSTORE 00001832: POP 00001833: POP 00001834: POP 00001835: JUMP 00001836: JUMPDEST 00001837: PUSH1 0x00 00001839: JUMPDEST 0000183a: DUP4 0000183b: DUP2 0000183c: LT 0000183d: ISZERO 0000183e: PUSH2 0x1854 00001841: JUMPI 00001842: DUP1 00001843: DUP3 00001844: ADD 00001845: MLOAD 00001846: DUP2 00001847: DUP5 00001848: ADD 00001849: MSTORE 0000184a: PUSH1 0x20 0000184c: DUP2 0000184d: ADD 0000184e: SWAP1 0000184f: POP 00001850: PUSH2 0x1839 00001853: JUMP 00001854: JUMPDEST 00001855: DUP4 00001856: DUP2 00001857: GT 00001858: ISZERO 00001859: PUSH2 0x1863 0000185c: JUMPI 0000185d: PUSH1 0x00 0000185f: DUP5 00001860: DUP5 00001861: ADD 00001862: MSTORE 00001863: JUMPDEST 00001864: POP 00001865: POP 00001866: POP 00001867: POP 00001868: JUMP 00001869: JUMPDEST 0000186a: PUSH1 0x00 0000186c: PUSH1 0x1f 0000186e: NOT 0000186f: PUSH1 0x1f 00001871: DUP4 00001872: ADD 00001873: AND 00001874: SWAP1 00001875: POP 00001876: SWAP2 00001877: SWAP1 00001878: POP 00001879: JUMP 0000187a: JUMPDEST 0000187b: PUSH2 0x1883 0000187e: DUP2 0000187f: PUSH2 0x175b 00001882: JUMP 00001883: JUMPDEST 00001884: DUP2 00001885: EQ 00001886: PUSH2 0x188e 00001889: JUMPI 0000188a: PUSH1 0x00 0000188c: DUP1 0000188d: REVERT 0000188e: JUMPDEST 0000188f: POP 00001890: JUMP 00001891: JUMPDEST 00001892: PUSH2 0x189a 00001895: DUP2 00001896: PUSH2 0x176d 00001899: JUMP 0000189a: JUMPDEST 0000189b: DUP2 0000189c: EQ 0000189d: PUSH2 0x18a5 000018a0: JUMPI 000018a1: PUSH1 0x00 000018a3: DUP1 000018a4: REVERT 000018a5: JUMPDEST 000018a6: POP 000018a7: JUMP 000018a8: JUMPDEST 000018a9: PUSH2 0x18b1 000018ac: DUP2 000018ad: PUSH2 0x177f 000018b0: JUMP 000018b1: JUMPDEST 000018b2: DUP2 000018b3: EQ 000018b4: PUSH2 0x18bc 000018b7: JUMPI 000018b8: PUSH1 0x00 000018ba: DUP1 000018bb: REVERT 000018bc: JUMPDEST 000018bd: POP 000018be: JUMP 000018bf: JUMPDEST 000018c0: PUSH2 0x18c8 000018c3: DUP2 000018c4: PUSH2 0x178b 000018c7: JUMP 000018c8: JUMPDEST 000018c9: DUP2 000018ca: EQ 000018cb: PUSH2 0x18d3 000018ce: JUMPI 000018cf: PUSH1 0x00 000018d1: DUP1 000018d2: REVERT 000018d3: JUMPDEST 000018d4: POP 000018d5: JUMP 000018d6: JUMPDEST 000018d7: PUSH2 0x18df 000018da: DUP2 000018db: PUSH2 0x17c5 000018de: JUMP 000018df: JUMPDEST 000018e0: DUP2 000018e1: EQ 000018e2: PUSH2 0x18ea 000018e5: JUMPI 000018e6: PUSH1 0x00 000018e8: DUP1 000018e9: REVERT 000018ea: JUMPDEST 000018eb: POP 000018ec: JUMP 000018ed: JUMPDEST 000018ee: PUSH2 0x18f6 000018f1: DUP2 000018f2: PUSH2 0x17cf 000018f5: JUMP 000018f6: JUMPDEST 000018f7: DUP2 000018f8: EQ 000018f9: PUSH2 0x1901 000018fc: JUMPI 000018fd: PUSH1 0x00 000018ff: DUP1 00001900: REVERT 00001901: JUMPDEST 00001902: POP 00001903: JUMP 00001904: INVALID 00001905: LOG2 00001906: PUSH5 0x6970667358 0000190c: UNKNOWN(0x22) 0000190d: SLT 0000190e: KECCAK256 0000190f: PUSH31 0x50a5fdf1059f4aa0ed3084d3eb8a10f3f6f4c3f5d72983fa98d83e1b02a66a 0000192f: PUSH5 0x736f6c6343 00001935: STOP 00001936: SMOD 00001937: ADD 00001938: STOP 00001939: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xa79f5b7a",
"selector": "0xa79f5b7a",
"calldata_variants": [
"0xa79f5b7a",
"0xa79f5b7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbed274e6",
"selector": "0xbed274e6",
"calldata_variants": [
"0xbed274e6",
"0xbed274e60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2d1fcb",
"selector": "0xcc2d1fcb",
"calldata_variants": [
"0xcc2d1fcb",
"0xcc2d1fcb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 222,
"type": "tx_origin_used"
},
{
"pc": 490,
"type": "tx_origin_used"
},
{
"pc": 3542,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x277a07a771a15179e98b91f89bc78a4f8ce60bdd380456ea5cf00423cc390153
call_targets:
0x5f5aca1da12fa906fe2d9cbfcee284ae18b40e08
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x277a07a771a15179e98b91f89bc78a4f8ce60bdd380456ea5cf00423cc390153",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5f5aca1da12fa906fe2d9cbfcee284ae18b40e08"
],
"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": "0xa79f5b7a",
"selector": "0xa79f5b7a",
"calldata_variants": [
"0xa79f5b7a",
"0xa79f5b7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbed274e6",
"selector": "0xbed274e6",
"calldata_variants": [
"0xbed274e6",
"0xbed274e60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2d1fcb",
"selector": "0xcc2d1fcb",
"calldata_variants": [
"0xcc2d1fcb",
"0xcc2d1fcb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 365,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1213,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1392,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [
{
"pc": 222,
"type": "tx_origin_used"
},
{
"pc": 490,
"type": "tx_origin_used"
},
{
"pc": 3542,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 10
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x277a07a771a15179e98b91f89bc78a4f8ce60bdd380456ea5cf00423cc390153
call_targets:
0x5f5aca1da12fa906fe2d9cbfcee284ae18b40e08
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x277a07a771a15179e98b91f89bc78a4f8ce60bdd380456ea5cf00423cc390153",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x5f5aca1da12fa906fe2d9cbfcee284ae18b40e08"
],
"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": "0xa79f5b7a",
"selector": "0xa79f5b7a",
"calldata_variants": [
"0xa79f5b7a",
"0xa79f5b7a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbed274e6",
"selector": "0xbed274e6",
"calldata_variants": [
"0xbed274e6",
"0xbed274e60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2d1fcb",
"selector": "0xcc2d1fcb",
"calldata_variants": [
"0xcc2d1fcb",
"0xcc2d1fcb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 365,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1213,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1392,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": [
{
"pc": 222,
"type": "tx_origin_used"
},
{
"pc": 490,
"type": "tx_origin_used"
},
{
"pc": 3542,
"type": "tx_origin_used"
}
]
}
|
| info | access_control | codex | Owner can execute arbitrary external calls (multicall) | 60 | no | — |
viewevidence_json{
"evidence": "Function selector 0xcc2d1fcb dispatches to a routine that first enforces msg.sender == sload(0), then iterates over a calldata-provided array of targets and performs a low-level CALL (opcode 0xF1) using that data, with no target restriction. Evidence includes the owner check `...163273...1614610df6...` and the loop/call sequence `83518110...015173...5af1...`.",
"locations": [
"BYTECODE_BUNDLE.txt:5"
],
"recommendation": "Document this trust assumption explicitly and consider removing or constraining the multicall (e.g., allowlist targets, timelock, or require multisig) if arbitrary execution is not intended.",
"exploit_scenario": "If the owner key is compromised or misused, the caller can supply arbitrary target addresses and calldata and have the contract execute those calls, potentially draining any assets held by this contract or interacting with external protocols in unintended ways."
}
|
| 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": 15
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 17
}
|