a0129207-3457-487c-b938-0d378198980b
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 |
|---|---|---|---|---|
| 30704 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75220 | artifact.fetch | complete | 1 / 3 | 3 weeks ago |
| 75221 | tool.cast_disasm | complete | 1 / 3 | 3 weeks ago |
| 75222 | analysis.bundle | complete | 1 / 3 | 3 weeks ago |
| 75223 | capability.graph | complete | 1 / 3 | 3 weeks ago |
| 75224 | detector.run | complete | 1 / 3 | 3 weeks ago |
| 75225 | validation.fork | complete | 1 / 3 | 3 weeks ago |
No slither job recorded yet.
[codex:1448431] OpenAI Codex v0.77.0 (research preview)
[codex:1448431] --------
[codex:1448431] workdir: /tmp/codex-multi-bnu8jems
[codex:1448431] model: gpt-5.2-codex
[codex:1448431] provider: openai
[codex:1448431] approval: never
[codex:1448431] sandbox: read-only
[codex:1448431] reasoning effort: xhigh
[codex:1448431] reasoning summaries: auto
[codex:1448431] session id: 019b6fb0-19ce-7cd2-bf40-6bef12732926
[codex:1448431] --------
[codex:1448431] user
[codex:1448431] You are a security auditor. You are given EVM runtime bytecode (and possibly a disassembly) for a contract with NO verified source.
[codex:1448431] This is best-effort. Do not hallucinate: only flag issues when there's a concrete, explainable angle from bytecode/disasm patterns.
[codex:1448431]
[codex:1448431] You MUST read the full `BYTECODE_BUNDLE.txt` before concluding.
[codex:1448431]
[codex:1448431] Output MUST be valid JSON matching the provided schema.
[codex:1448431] - If you cannot identify a concrete issue from bytecode/disasm alone: set no_findings=true and findings=[].
[codex:1448431] - Otherwise: include findings with severity/category/title/evidence and point locations to BYTECODE_BUNDLE.txt line ranges when possible.
[codex:1448431]
[codex:1448431] Output constraints (IMPORTANT):
[codex:1448431] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1448431] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1448431] mcp startup: no servers
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Reading BYTECODE_BUNDLE.txt**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc ls in /tmp/codex-multi-bnu8jems succeeded in 6ms:
[codex:1448431] BYTECODE_BUNDLE.txt
[codex:1448431] codex-output-schema.json
[codex:1448431] exec
[codex:1448431] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-bnu8jems succeeded in 5ms:
[codex:1448431] Runtime bytecode bundle for best-effort auditing.
[codex:1448431] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1448431]
[codex:1448431] FILE: runtime_bytecode.hex
[codex:1448431] 0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c806378074bc1116100ee5780638fc24b5311610097578063ca93513f11610071578063ca93513f14610476578063d7aefdd9146104ac578063d9caed12146104e2578063fcd804c6146104f557600080fd5b80638fc24b531461040a578063ab7ef4e91461041d578063c5fa071f1461043057600080fd5b806385edc839116100c857806385edc839146103ab57806387685fb9146103d15780638a0da5be146103e657600080fd5b806378074bc11461035f5780638130fda3146103855780638340f5491461039857600080fd5b80634a5e42b11161015b578063652e6d7c11610135578063652e6d7c146102bc57806366a6a4bd146102f257806370a6275e146103055780637328fb8b1461031857600080fd5b80634a5e42b1146102525780634ead3302146102655780635373433f1461027857600080fd5b80632f546d271161018c5780632f546d27146102035780633c05dc2d1461022a578063469410261461023d57600080fd5b806301ffc9a7146101b35780630729a695146101db5780630f46b28d146101ee575b600080fd5b6101c66101c1366004611d48565b610508565b60405190151581526020015b60405180910390f35b6101c66101e9366004611daf565b6105a1565b6102016101fc366004611de3565b6105ae565b005b6101c6610211366004611e0d565b61ffff1660009081526006602052604090205460ff1690565b610201610238366004611e28565b6106fe565b61024561085b565b6040516101d29190611e46565b610201610260366004611daf565b610940565b610201610273366004611e28565b610b32565b6102ae610286366004611daf565b73ffffffffffffffffffffffffffffffffffffffff166000908152600a602052604090205490565b6040519081526020016101d2565b6102ae6102ca366004611daf565b73ffffffffffffffffffffffffffffffffffffffff166000908152600b602052604090205490565b610201610300366004611e28565b610cd9565b610201610313366004611e28565b610ee4565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a5b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b7ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e6102ae565b6101c6610393366004611daf565b61107e565b6102016103a6366004611ed4565b6110f5565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261033a565b6103d96113e0565b6040516101d29190611f15565b6102ae6103f4366004611e0d565b61ffff1660009081526007602052604090205490565b610201610418366004611e28565b6113f1565b61020161042b366004611f6e565b611542565b6102ae61043e366004611faa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b6102ae610484366004611daf565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b6102ae6104ba366004611daf565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205490565b6102016104f0366004611ed4565b6116ae565b610201610503366004611ed4565b61180d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f21ba1e2e00000000000000000000000000000000000000000000000000000000148061059b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061059b6003836119bc565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a8576040517f1912d28d0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61ffff82166000818152600760209081526040918290208490558151928352820183905233917fc931da23061b9e6e9f42bff93e5153309ddea21d02653f08c13b81d24503baaf91015b60405180910390a25050565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f3576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260096020526040908190208390555133907f452993628a397eb27a6b0802200fd9bce84cf34b50221a8a4ce8d7ac50e6c59e9061084f9085815260200190565b60405180910390a35050565b610883604051806060016040528060608152602001600061ffff168152602001600081525090565b60006040518060600160405290816000820180546108a090611ff5565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90611ff5565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b5050509183525050600182015461ffff166020820152600290910154604090910152919050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a119190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7e576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6000610a8b6003846119ee565b90508015610ae35760405173ffffffffffffffffffffffffffffffffffffffff8416815233907f7993f8e82d0d73041a8255c5cd9c106613771a105064274cd3d8cc85a45a56899060200160405180910390a2505050565b6040517f35d4013600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161069f565b505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600b6020526040908190208490555133907ffb98b8106532299d33d0f6feb4f3f4018edd5afcbf559b83a9f1aee80aab2fe490610ccc9086815260200190565b60405180910390a3505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6000610e24600385611a10565b90508015610e945773ffffffffffffffffffffffffffffffffffffffff84166000818152600860209081526040918290208690558151928352820185905233917ffea04ba154e25794566ffb12fea2ea49d9140723d9c91bd2d6874da89c9b601d910160405180910390a2610ede565b6040517f95f1ba9a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161069f565b50505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611022576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600a6020526040908190208490555133907f0ce11ace3572c0a2445c0d82b13c61687273d23b92c87282733ebbdaabc3bc0790610ccc9086815260200190565b600073ffffffffffffffffffffffffffffffffffffffff82161580159061059b57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161492915050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c69190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611233576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190612048565b90506112e873ffffffffffffffffffffffffffffffffffffffff8616853086611a32565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090829073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190612048565b6113859190612061565b90508381146113d8576040517fb0a1b38a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716600482015260240161069f565b505050505050565b60606113ec6003611abb565b905090565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa15801561145c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114809190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114e6576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260086020526040908190208390555133907f7a1b3019f8f29658f7848086e19d23d5d55b8ea1f228107003018838f3f5b60f9061084f9085815260200190565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d19190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611637576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b61ffff821660008181526006602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915582519384529083015233917f043b28adcec236415dd284f097226d68d4a3baded0bd1570fe5e4177f9681ddd91016106f2565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa15801561175b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177f9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117ec576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b610ede73ffffffffffffffffffffffffffffffffffffffff85168484611ac8565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118de9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461194b576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260056020908152604080832094881680845294825291829020869055905185815233917fcefa6dd74b4326472ad4ae0e8eb8fd2069f95052a43887279c0369a344370c0a910160405180910390a450505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b9392505050565b60006119e78373ffffffffffffffffffffffffffffffffffffffff8416611b06565b60006119e78373ffffffffffffffffffffffffffffffffffffffff8416611bf9565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052610ede9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611c48565b606060006119e783611cec565b60405173ffffffffffffffffffffffffffffffffffffffff838116602483015260448201839052610b2d91859182169063a9059cbb90606401611a74565b60008181526001830160205260408120548015611bef576000611b2a600183612061565b8554909150600090611b3e90600190612061565b9050808214611ba3576000866000018281548110611b5e57611b5e61209b565b9060005260206000200154905080876000018481548110611b8157611b8161209b565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611bb457611bb46120ca565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059b565b600091505061059b565b6000818152600183016020526040812054611c405750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059b565b50600061059b565b600080602060008451602086016000885af180611c6b576040513d6000823e3d81fd5b50506000513d91508115611c83578060011415611c9d565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15610ede576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161069f565b606081600001805480602002602001604051908101604052809291908181526020018280548015611d3c57602002820191906000526020600020905b815481526020019060010190808311611d28575b50505050509050919050565b600060208284031215611d5a57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119e757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611dac57600080fd5b50565b600060208284031215611dc157600080fd5b81356119e781611d8a565b803561ffff81168114611dde57600080fd5b919050565b60008060408385031215611df657600080fd5b611dff83611dcc565b946020939093013593505050565b600060208284031215611e1f57600080fd5b6119e782611dcc565b60008060408385031215611e3b57600080fd5b8235611dff81611d8a565b602081526000825160606020840152805180608085015260005b81811015611e7d57602081840181015160a0878401015201611e60565b50600084820160a00152602085015161ffff811660408601529150604094909401516060840152505060a0601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190565b600080600060608486031215611ee957600080fd5b8335611ef481611d8a565b92506020840135611f0481611d8a565b929592945050506040919091013590565b602080825282518282018190526000918401906040840190835b81811015611f6357835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611f2f565b509095945050505050565b60008060408385031215611f8157600080fd5b611f8a83611dcc565b915060208301358015158114611f9f57600080fd5b809150509250929050565b60008060408385031215611fbd57600080fd5b8235611fc881611d8a565b91506020830135611f9f81611d8a565b600060208284031215611fea57600080fd5b81516119e781611d8a565b600181811c9082168061200957607f821691505b602082108103612042577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561205a57600080fd5b5051919050565b8181038181111561059b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212201a66f58f0e1131d3f85c43ae304205398567207c0a2f81272984a9461a4a9e6064736f6c634300081e0033
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Reviewing bytecode and schema references**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-bnu8jems succeeded in 5ms:
[codex:1448431] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Analyzing runtime bytecode patterns**
[codex:1448431]
[codex:1448431] I'm examining the bytecode for concrete signs of vulnerabilities, focusing on known function selectors like ERC20 and addresses indicating token interactions. I'm carefully looking for unsafe external calls possibly to user-controlled addresses, but I want to avoid speculation without clear evidence from the bytecode. I’m considering disassembly options and planning to reference specific bytecode line locations for clarity.
[codex:1448431] exec
[codex:1448431] /bin/bash -lc 'nl -ba BYTECODE_BUNDLE.txt' in /tmp/codex-multi-bnu8jems succeeded in 5ms:
[codex:1448431] 1 Runtime bytecode bundle for best-effort auditing.
[codex:1448431] 2 Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1448431] 3
[codex:1448431] 4 FILE: runtime_bytecode.hex
[codex:1448431] 5 0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c806378074bc1116100ee5780638fc24b5311610097578063ca93513f11610071578063ca93513f14610476578063d7aefdd9146104ac578063d9caed12146104e2578063fcd804c6146104f557600080fd5b80638fc24b531461040a578063ab7ef4e91461041d578063c5fa071f1461043057600080fd5b806385edc839116100c857806385edc839146103ab57806387685fb9146103d15780638a0da5be146103e657600080fd5b806378074bc11461035f5780638130fda3146103855780638340f5491461039857600080fd5b80634a5e42b11161015b578063652e6d7c11610135578063652e6d7c146102bc57806366a6a4bd146102f257806370a6275e146103055780637328fb8b1461031857600080fd5b80634a5e42b1146102525780634ead3302146102655780635373433f1461027857600080fd5b80632f546d271161018c5780632f546d27146102035780633c05dc2d1461022a578063469410261461023d57600080fd5b806301ffc9a7146101b35780630729a695146101db5780630f46b28d146101ee575b600080fd5b6101c66101c1366004611d48565b610508565b60405190151581526020015b60405180910390f35b6101c66101e9366004611daf565b6105a1565b6102016101fc366004611de3565b6105ae565b005b6101c6610211366004611e0d565b61ffff1660009081526006602052604090205460ff1690565b610201610238366004611e28565b6106fe565b61024561085b565b6040516101d29190611e46565b610201610260366004611daf565b610940565b610201610273366004611e28565b610b32565b6102ae610286366004611daf565b73ffffffffffffffffffffffffffffffffffffffff166000908152600a602052604090205490565b6040519081526020016101d2565b6102ae6102ca366004611daf565b73ffffffffffffffffffffffffffffffffffffffff166000908152600b602052604090205490565b610201610300366004611e28565b610cd9565b610201610313366004611e28565b610ee4565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a5b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d2565b7ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e6102ae565b6101c6610393366004611daf565b61107e565b6102016103a6366004611ed4565b6110f5565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261033a565b6103d96113e0565b6040516101d29190611f15565b6102ae6103f4366004611e0d565b61ffff1660009081526007602052604090205490565b610201610418366004611e28565b6113f1565b61020161042b366004611f6e565b611542565b6102ae61043e366004611faa565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205490565b6102ae610484366004611daf565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b6102ae6104ba366004611daf565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205490565b6102016104f0366004611ed4565b6116ae565b610201610503366004611ed4565b61180d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f21ba1e2e00000000000000000000000000000000000000000000000000000000148061059b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b600061059b6003836119bc565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a8576040517f1912d28d0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61ffff82166000818152600760209081526040918290208490558151928352820183905233917fc931da23061b9e6e9f42bff93e5153309ddea21d02653f08c13b81d24503baaf91015b60405180910390a25050565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107f3576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260096020526040908190208390555133907f452993628a397eb27a6b0802200fd9bce84cf34b50221a8a4ce8d7ac50e6c59e9061084f9085815260200190565b60405180910390a35050565b610883604051806060016040528060608152602001600061ffff168152602001600081525090565b60006040518060600160405290816000820180546108a090611ff5565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90611ff5565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b5050509183525050600182015461ffff166020820152600290910154604090910152919050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a119190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7e576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6000610a8b6003846119ee565b90508015610ae35760405173ffffffffffffffffffffffffffffffffffffffff8416815233907f7993f8e82d0d73041a8255c5cd9c106613771a105064274cd3d8cc85a45a56899060200160405180910390a2505050565b6040517f35d4013600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161069f565b505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c70576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600b6020526040908190208490555133907ffb98b8106532299d33d0f6feb4f3f4018edd5afcbf559b83a9f1aee80aab2fe490610ccc9086815260200190565b60405180910390a3505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610d86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610daa9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e17576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6000610e24600385611a10565b90508015610e945773ffffffffffffffffffffffffffffffffffffffff84166000818152600860209081526040918290208690558151928352820185905233917ffea04ba154e25794566ffb12fea2ea49d9140723d9c91bd2d6874da89c9b601d910160405180910390a2610ede565b6040517f95f1ba9a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161069f565b50505050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611022576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff83166000818152600a6020526040908190208490555133907f0ce11ace3572c0a2445c0d82b13c61687273d23b92c87282733ebbdaabc3bc0790610ccc9086815260200190565b600073ffffffffffffffffffffffffffffffffffffffff82161580159061059b57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161492915050565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c69190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611233576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a0823190602401602060405180830381865afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190612048565b90506112e873ffffffffffffffffffffffffffffffffffffffff8616853086611a32565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090829073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190602401602060405180830381865afa158015611357573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137b9190612048565b6113859190612061565b90508381146113d8576040517fb0a1b38a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716600482015260240161069f565b505050505050565b60606113ec6003611abb565b905090565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa15801561145c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114809190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114e6576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b73ffffffffffffffffffffffffffffffffffffffff8216600081815260086020526040908190208390555133907f7a1b3019f8f29658f7848086e19d23d5d55b8ea1f228107003018838f3f5b60f9061084f9085815260200190565b7f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff16637040e4986040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d19190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611637576040517f1912d28d00000000000000000000000000000000000000000000000000000000815233600482015260240161069f565b61ffff821660008181526006602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915582519384529083015233917f043b28adcec236415dd284f097226d68d4a3baded0bd1570fe5e4177f9681ddd91016106f2565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa15801561175b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177f9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117ec576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b610ede73ffffffffffffffffffffffffffffffffffffffff85168484611ac8565b6040517fab1478280000000000000000000000000000000000000000000000000000000081527ff004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e60048201819052907f000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a73ffffffffffffffffffffffffffffffffffffffff169063ab14782890602401602060405180830381865afa1580156118ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118de9190611fd8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461194b576040517f297b9c3b0000000000000000000000000000000000000000000000000000000081526004810182905233602482015260440161069f565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260056020908152604080832094881680845294825291829020869055905185815233917fcefa6dd74b4326472ad4ae0e8eb8fd2069f95052a43887279c0369a344370c0a910160405180910390a450505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b9392505050565b60006119e78373ffffffffffffffffffffffffffffffffffffffff8416611b06565b60006119e78373ffffffffffffffffffffffffffffffffffffffff8416611bf9565b60405173ffffffffffffffffffffffffffffffffffffffff8481166024830152838116604483015260648201839052610ede9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611c48565b606060006119e783611cec565b60405173ffffffffffffffffffffffffffffffffffffffff838116602483015260448201839052610b2d91859182169063a9059cbb90606401611a74565b60008181526001830160205260408120548015611bef576000611b2a600183612061565b8554909150600090611b3e90600190612061565b9050808214611ba3576000866000018281548110611b5e57611b5e61209b565b9060005260206000200154905080876000018481548110611b8157611b8161209b565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611bb457611bb46120ca565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061059b565b600091505061059b565b6000818152600183016020526040812054611c405750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561059b565b50600061059b565b600080602060008451602086016000885af180611c6b576040513d6000823e3d81fd5b50506000513d91508115611c83578060011415611c9d565b73ffffffffffffffffffffffffffffffffffffffff84163b155b15610ede576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161069f565b606081600001805480602002602001604051908101604052809291908181526020018280548015611d3c57602002820191906000526020600020905b815481526020019060010190808311611d28575b50505050509050919050565b600060208284031215611d5a57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146119e757600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611dac57600080fd5b50565b600060208284031215611dc157600080fd5b81356119e781611d8a565b803561ffff81168114611dde57600080fd5b919050565b60008060408385031215611df657600080fd5b611dff83611dcc565b946020939093013593505050565b600060208284031215611e1f57600080fd5b6119e782611dcc565b60008060408385031215611e3b57600080fd5b8235611dff81611d8a565b602081526000825160606020840152805180608085015260005b81811015611e7d57602081840181015160a0878401015201611e60565b50600084820160a00152602085015161ffff811660408601529150604094909401516060840152505060a0601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010190565b600080600060608486031215611ee957600080fd5b8335611ef481611d8a565b92506020840135611f0481611d8a565b929592945050506040919091013590565b602080825282518282018190526000918401906040840190835b81811015611f6357835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101611f2f565b509095945050505050565b60008060408385031215611f8157600080fd5b611f8a83611dcc565b915060208301358015158114611f9f57600080fd5b809150509250929050565b60008060408385031215611fbd57600080fd5b8235611fc881611d8a565b91506020830135611f9f81611d8a565b600060208284031215611fea57600080fd5b81516119e781611d8a565b600181811c9082168061200957607f821691505b602082108103612042577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561205a57600080fd5b5051919050565b8181038181111561059b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212201a66f58f0e1131d3f85c43ae304205398567207c0a2f81272984a9461a4a9e6064736f6c634300081e0033
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Analyzing bytecode for vulnerabilities**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc "python - <<'PY'
[codex:1448431] import re
[codex:1448431] hexdata = open('BYTECODE_BUNDLE.txt').read().splitlines()[-1].strip()
[codex:1448431] if hexdata.startswith('0x'): hexdata = hexdata[2:]
[codex:1448431] code = bytes.fromhex(hexdata)
[codex:1448431] # scan for opcodes of interest
[codex:1448431] opcodes = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT'}
[codex:1448431] found = {}
[codex:1448431] for i,b in enumerate(code):
[codex:1448431] if b in opcodes:
[codex:1448431] found.setdefault(opcodes[b], []).append(i)
[codex:1448431] print('len',len(code))
[codex:1448431] for k,v in found.items():
[codex:1448431] print(k,len(v))
[codex:1448431] print('first positions', {k:v[:5] for k,v in found.items()})
[codex:1448431] PY" in /tmp/codex-multi-bnu8jems succeeded in 24ms:
[codex:1448431] len 8495
[codex:1448431] CREATE2 7
[codex:1448431] DELEGATECALL 4
[codex:1448431] CALLCODE 4
[codex:1448431] SELFDESTRUCT 1439
[codex:1448431] CALL 4
[codex:1448431] first positions {'CREATE2': [107, 227, 937, 2206, 2250], 'DELEGATECALL': [129, 1004, 3245, 7918], 'CALLCODE': [281, 5402, 5417, 5804], 'SELFDESTRUCT': [400, 531, 532, 550, 648], 'CALL': [1051, 3256, 3738, 7258]}
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Planning opcode-aware disassembly**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc "python - <<'PY'
[codex:1448431] import re
[codex:1448431] hexdata = open('BYTECODE_BUNDLE.txt').read().splitlines()[-1].strip()
[codex:1448431] if hexdata.startswith('0x'): hexdata = hexdata[2:]
[codex:1448431] code = bytes.fromhex(hexdata)
[codex:1448431] # opcode names
[codex:1448431] opnames = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT',0xf0:'CREATE'}
[codex:1448431] # disassemble to find actual opcodes
[codex:1448431] positions = {name: [] for name in opnames.values()}
[codex:1448431]
[codex:1448431] pc = 0
[codex:1448431] while pc < len(code):
[codex:1448431] op = code[pc]
[codex:1448431] if op in opnames:
[codex:1448431] positions[opnames[op]].append(pc)
[codex:1448431] pc += 1
[codex:1448431] if 0x60 <= op <= 0x7f: # PUSH1..PUSH32
[codex:1448431] pc += op - 0x5f
[codex:1448431]
[codex:1448431] for name, pos in positions.items():
[codex:1448431] if pos:
[codex:1448431] print(name, len(pos), 'positions', pos[:10])
[codex:1448431] PY" in /tmp/codex-multi-bnu8jems succeeded in 24ms:
[codex:1448431] CALL 1 positions [7258]
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Analyzing CALL opcode usage**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc "python - <<'PY'
[codex:1448431] hexdata = open('BYTECODE_BUNDLE.txt').read().splitlines()[-1].strip()
[codex:1448431] if hexdata.startswith('0x'): hexdata = hexdata[2:]
[codex:1448431] code = bytes.fromhex(hexdata)
[codex:1448431]
[codex:1448431] opmap = {**{i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}}
[codex:1448431] # a tiny map for some common opcodes
[codex:1448431] names = {
[codex:1448431] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1448431] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1448431] 0x20:'SHA3',
[codex:1448431] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1448431] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1448431] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1448431] 0x60:'PUSH1',
[codex:1448431] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:1448431] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:1448431] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1448431] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1448431] }
[codex:1448431]
[codex:1448431] # find around pc 7258
[codex:1448431] start = 7200
[codex:1448431] end = 7320
[codex:1448431] pc = 0
[codex:1448431] while pc < len(code):
[codex:1448431] op = code[pc]
[codex:1448431] name = names.get(op, f'OP_{op:02x}')
[codex:1448431] if 0x60 <= op <= 0x7f:
[codex:1448431] push_len = op - 0x5f
[codex:1448431] data = code[pc+1:pc+1+push_len]
[codex:1448431] if start <= pc <= end:
[codex:1448431] print(f'{pc:04x}: {name} 0x{data.hex()}')
[codex:1448431] pc += 1 + push_len
[codex:1448431] continue
[codex:1448431] if start <= pc <= end:
[codex:1448431] print(f'{pc:04x}: {name}')
[codex:1448431] pc += 1
[codex:1448431] PY" in /tmp/codex-multi-bnu8jems succeeded in 20ms:
[codex:1448431] 1c20: DUP1
[codex:1448431] 1c21: DUP3
[codex:1448431] 1c22: SHA3
[codex:1448431] 1c23: SWAP1
[codex:1448431] 1c24: SWAP4
[codex:1448431] 1c25: ADD
[codex:1448431] 1c26: DUP5
[codex:1448431] 1c27: SWAP1
[codex:1448431] 1c28: SSTORE
[codex:1448431] 1c29: DUP5
[codex:1448431] 1c2a: SLOAD
[codex:1448431] 1c2b: DUP5
[codex:1448431] 1c2c: DUP3
[codex:1448431] 1c2d: MSTORE
[codex:1448431] 1c2e: DUP3
[codex:1448431] 1c2f: DUP7
[codex:1448431] 1c30: ADD
[codex:1448431] 1c31: SWAP1
[codex:1448431] 1c32: SWAP4
[codex:1448431] 1c33: MSTORE
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Continuing to display more lines**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc "python - <<'PY'
[codex:1448431] hexdata = open('BYTECODE_BUNDLE.txt').read().splitlines()[-1].strip()
[codex:1448431] if hexdata.startswith('0x'): hexdata = hexdata[2:]
[codex:1448431] code = bytes.fromhex(hexdata)
[codex:1448431]
[codex:1448431] names = {
[codex:1448431] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1448431] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1448431] 0x20:'SHA3',
[codex:1448431] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1448431] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1448431] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1448431] 0x60:'PUSH1',
[codex:1448431] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:1448431] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:1448431] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1448431] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1448431] }
[codex:1448431]
[codex:1448431] start = 7310
[codex:1448431] end = 7400
[codex:1448431] pc = 0
[codex:1448431] while pc < len(code):
[codex:1448431] op = code[pc]
[codex:1448431] if 0x60 <= op <= 0x7f:
[codex:1448431] push_len = op - 0x5f
[codex:1448431] data = code[pc+1:pc+1+push_len]
[codex:1448431] if start <= pc <= end:
[codex:1448431] print(f'{pc:04x}: PUSH{push_len} 0x{data.hex()}')
[codex:1448431] pc += 1 + push_len
[codex:1448431] continue
[codex:1448431] if start <= pc <= end:
[codex:1448431] name = names.get(op, f'OP_{op:02x}')
[codex:1448431] print(f'{pc:04x}: {name}')
[codex:1448431] pc += 1
[codex:1448431] PY" in /tmp/codex-multi-bnu8jems succeeded in 19ms:
[codex:1448431] 1c99: DUP5
[codex:1448431] 1c9a: AND
[codex:1448431] 1c9b: EXTCODESIZE
[codex:1448431] 1c9c: ISZERO
[codex:1448431] 1c9d: JUMPDEST
[codex:1448431] 1c9e: ISZERO
[codex:1448431] 1c9f: PUSH2 0x0ede
[codex:1448431] 1ca2: JUMPI
[codex:1448431] 1ca3: PUSH1 0x40
[codex:1448431] 1ca5: MLOAD
[codex:1448431] 1ca6: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
[codex:1448431] 1cc7: DUP2
[codex:1448431] 1cc8: MSTORE
[codex:1448431] 1cc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1448431] 1cde: DUP6
[codex:1448431] 1cdf: AND
[codex:1448431] 1ce0: PUSH1 0x04
[codex:1448431] 1ce2: DUP3
[codex:1448431] 1ce3: ADD
[codex:1448431] 1ce4: MSTORE
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Analyzing contract call and storage patterns**
[codex:1448431] exec
[codex:1448431] /bin/bash -lc "python - <<'PY'
[codex:1448431] hexdata = open('BYTECODE_BUNDLE.txt').read().splitlines()[-1].strip()
[codex:1448431] if hexdata.startswith('0x'): hexdata = hexdata[2:]
[codex:1448431] code = bytes.fromhex(hexdata)
[codex:1448431]
[codex:1448431] pc=0
[codex:1448431] origins=[]
[codex:1448431] while pc < len(code):
[codex:1448431] op=code[pc]
[codex:1448431] if op==0x32:
[codex:1448431] origins.append(pc)
[codex:1448431] pc+=1
[codex:1448431] if 0x60<=op<=0x7f:
[codex:1448431] pc+=op-0x5f
[codex:1448431]
[codex:1448431] print('ORIGIN occurrences', origins)
[codex:1448431] PY" in /tmp/codex-multi-bnu8jems succeeded in 20ms:
[codex:1448431] ORIGIN occurrences []
[codex:1448431]
[codex:1448431] thinking
[codex:1448431] **Evaluating bytecode for security risks**
[codex:1448431] codex
[codex:1448431] {"no_findings":true,"summary":"No concrete, explainable security issues were identifiable from the provided runtime bytecode alone.","findings":[]}
[codex:1448431] tokens used
[codex:1448431] 37,147
[codex:1448431] {"no_findings":true,"summary":"No concrete, explainable security issues were identifiable from the provided runtime bytecode alone.","findings":[]}
{
"codex": {
"ran_at": "2025-12-30T14:40:10.748775+00:00",
"returncode": 0
},
"summary": "No concrete, explainable security issues were identifiable from the provided runtime bytecode alone.",
"raw_final": {
"summary": "No concrete, explainable security issues were identifiable from the provided runtime bytecode alone.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01ae 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x78074bc1 00000026: GT 00000027: PUSH2 0x00ee 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0x8fc24b53 00000031: GT 00000032: PUSH2 0x0097 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xca93513f 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xca93513f 00000047: EQ 00000048: PUSH2 0x0476 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xd7aefdd9 00000052: EQ 00000053: PUSH2 0x04ac 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xd9caed12 0000005d: EQ 0000005e: PUSH2 0x04e2 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfcd804c6 00000068: EQ 00000069: PUSH2 0x04f5 0000006c: JUMPI 0000006d: PUSH1 0x00 0000006f: DUP1 00000070: REVERT 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0x8fc24b53 00000078: EQ 00000079: PUSH2 0x040a 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xab7ef4e9 00000083: EQ 00000084: PUSH2 0x041d 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xc5fa071f 0000008e: EQ 0000008f: PUSH2 0x0430 00000092: JUMPI 00000093: PUSH1 0x00 00000095: DUP1 00000096: REVERT 00000097: JUMPDEST 00000098: DUP1 00000099: PUSH4 0x85edc839 0000009e: GT 0000009f: PUSH2 0x00c8 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x85edc839 000000a9: EQ 000000aa: PUSH2 0x03ab 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x87685fb9 000000b4: EQ 000000b5: PUSH2 0x03d1 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x8a0da5be 000000bf: EQ 000000c0: PUSH2 0x03e6 000000c3: JUMPI 000000c4: PUSH1 0x00 000000c6: DUP1 000000c7: REVERT 000000c8: JUMPDEST 000000c9: DUP1 000000ca: PUSH4 0x78074bc1 000000cf: EQ 000000d0: PUSH2 0x035f 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x8130fda3 000000da: EQ 000000db: PUSH2 0x0385 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x8340f549 000000e5: EQ 000000e6: PUSH2 0x0398 000000e9: JUMPI 000000ea: PUSH1 0x00 000000ec: DUP1 000000ed: REVERT 000000ee: JUMPDEST 000000ef: DUP1 000000f0: PUSH4 0x4a5e42b1 000000f5: GT 000000f6: PUSH2 0x015b 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x652e6d7c 00000100: GT 00000101: PUSH2 0x0135 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x652e6d7c 0000010b: EQ 0000010c: PUSH2 0x02bc 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x66a6a4bd 00000116: EQ 00000117: PUSH2 0x02f2 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x70a6275e 00000121: EQ 00000122: PUSH2 0x0305 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x7328fb8b 0000012c: EQ 0000012d: PUSH2 0x0318 00000130: JUMPI 00000131: PUSH1 0x00 00000133: DUP1 00000134: REVERT 00000135: JUMPDEST 00000136: DUP1 00000137: PUSH4 0x4a5e42b1 0000013c: EQ 0000013d: PUSH2 0x0252 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0x4ead3302 00000147: EQ 00000148: PUSH2 0x0265 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x5373433f 00000152: EQ 00000153: PUSH2 0x0278 00000156: JUMPI 00000157: PUSH1 0x00 00000159: DUP1 0000015a: REVERT 0000015b: JUMPDEST 0000015c: DUP1 0000015d: PUSH4 0x2f546d27 00000162: GT 00000163: PUSH2 0x018c 00000166: JUMPI 00000167: DUP1 00000168: PUSH4 0x2f546d27 0000016d: EQ 0000016e: PUSH2 0x0203 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x3c05dc2d 00000178: EQ 00000179: PUSH2 0x022a 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x46941026 00000183: EQ 00000184: PUSH2 0x023d 00000187: JUMPI 00000188: PUSH1 0x00 0000018a: DUP1 0000018b: REVERT 0000018c: JUMPDEST 0000018d: DUP1 0000018e: PUSH4 0x01ffc9a7 00000193: EQ 00000194: PUSH2 0x01b3 00000197: JUMPI 00000198: DUP1 00000199: PUSH4 0x0729a695 0000019e: EQ 0000019f: PUSH2 0x01db 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x0f46b28d 000001a9: EQ 000001aa: PUSH2 0x01ee 000001ad: JUMPI 000001ae: JUMPDEST 000001af: PUSH1 0x00 000001b1: DUP1 000001b2: REVERT 000001b3: JUMPDEST 000001b4: PUSH2 0x01c6 000001b7: PUSH2 0x01c1 000001ba: CALLDATASIZE 000001bb: PUSH1 0x04 000001bd: PUSH2 0x1d48 000001c0: JUMP 000001c1: JUMPDEST 000001c2: PUSH2 0x0508 000001c5: JUMP 000001c6: JUMPDEST 000001c7: PUSH1 0x40 000001c9: MLOAD 000001ca: SWAP1 000001cb: ISZERO 000001cc: ISZERO 000001cd: DUP2 000001ce: MSTORE 000001cf: PUSH1 0x20 000001d1: ADD 000001d2: JUMPDEST 000001d3: PUSH1 0x40 000001d5: MLOAD 000001d6: DUP1 000001d7: SWAP2 000001d8: SUB 000001d9: SWAP1 000001da: RETURN 000001db: JUMPDEST 000001dc: PUSH2 0x01c6 000001df: PUSH2 0x01e9 000001e2: CALLDATASIZE 000001e3: PUSH1 0x04 000001e5: PUSH2 0x1daf 000001e8: JUMP 000001e9: JUMPDEST 000001ea: PUSH2 0x05a1 000001ed: JUMP 000001ee: JUMPDEST 000001ef: PUSH2 0x0201 000001f2: PUSH2 0x01fc 000001f5: CALLDATASIZE 000001f6: PUSH1 0x04 000001f8: PUSH2 0x1de3 000001fb: JUMP 000001fc: JUMPDEST 000001fd: PUSH2 0x05ae 00000200: JUMP 00000201: JUMPDEST 00000202: STOP 00000203: JUMPDEST 00000204: PUSH2 0x01c6 00000207: PUSH2 0x0211 0000020a: CALLDATASIZE 0000020b: PUSH1 0x04 0000020d: PUSH2 0x1e0d 00000210: JUMP 00000211: JUMPDEST 00000212: PUSH2 0xffff 00000215: AND 00000216: PUSH1 0x00 00000218: SWAP1 00000219: DUP2 0000021a: MSTORE 0000021b: PUSH1 0x06 0000021d: PUSH1 0x20 0000021f: MSTORE 00000220: PUSH1 0x40 00000222: SWAP1 00000223: KECCAK256 00000224: SLOAD 00000225: PUSH1 0xff 00000227: AND 00000228: SWAP1 00000229: JUMP 0000022a: JUMPDEST 0000022b: PUSH2 0x0201 0000022e: PUSH2 0x0238 00000231: CALLDATASIZE 00000232: PUSH1 0x04 00000234: PUSH2 0x1e28 00000237: JUMP 00000238: JUMPDEST 00000239: PUSH2 0x06fe 0000023c: JUMP 0000023d: JUMPDEST 0000023e: PUSH2 0x0245 00000241: PUSH2 0x085b 00000244: JUMP 00000245: JUMPDEST 00000246: PUSH1 0x40 00000248: MLOAD 00000249: PUSH2 0x01d2 0000024c: SWAP2 0000024d: SWAP1 0000024e: PUSH2 0x1e46 00000251: JUMP 00000252: JUMPDEST 00000253: PUSH2 0x0201 00000256: PUSH2 0x0260 00000259: CALLDATASIZE 0000025a: PUSH1 0x04 0000025c: PUSH2 0x1daf 0000025f: JUMP 00000260: JUMPDEST 00000261: PUSH2 0x0940 00000264: JUMP 00000265: JUMPDEST 00000266: PUSH2 0x0201 00000269: PUSH2 0x0273 0000026c: CALLDATASIZE 0000026d: PUSH1 0x04 0000026f: PUSH2 0x1e28 00000272: JUMP 00000273: JUMPDEST 00000274: PUSH2 0x0b32 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH2 0x02ae 0000027c: PUSH2 0x0286 0000027f: CALLDATASIZE 00000280: PUSH1 0x04 00000282: PUSH2 0x1daf 00000285: JUMP 00000286: JUMPDEST 00000287: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000029c: AND 0000029d: PUSH1 0x00 0000029f: SWAP1 000002a0: DUP2 000002a1: MSTORE 000002a2: PUSH1 0x0a 000002a4: PUSH1 0x20 000002a6: MSTORE 000002a7: PUSH1 0x40 000002a9: SWAP1 000002aa: KECCAK256 000002ab: SLOAD 000002ac: SWAP1 000002ad: JUMP 000002ae: JUMPDEST 000002af: PUSH1 0x40 000002b1: MLOAD 000002b2: SWAP1 000002b3: DUP2 000002b4: MSTORE 000002b5: PUSH1 0x20 000002b7: ADD 000002b8: PUSH2 0x01d2 000002bb: JUMP 000002bc: JUMPDEST 000002bd: PUSH2 0x02ae 000002c0: PUSH2 0x02ca 000002c3: CALLDATASIZE 000002c4: PUSH1 0x04 000002c6: PUSH2 0x1daf 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e0: AND 000002e1: PUSH1 0x00 000002e3: SWAP1 000002e4: DUP2 000002e5: MSTORE 000002e6: PUSH1 0x0b 000002e8: PUSH1 0x20 000002ea: MSTORE 000002eb: PUSH1 0x40 000002ed: SWAP1 000002ee: KECCAK256 000002ef: SLOAD 000002f0: SWAP1 000002f1: JUMP 000002f2: JUMPDEST 000002f3: PUSH2 0x0201 000002f6: PUSH2 0x0300 000002f9: CALLDATASIZE 000002fa: PUSH1 0x04 000002fc: PUSH2 0x1e28 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH2 0x0cd9 00000304: JUMP 00000305: JUMPDEST 00000306: PUSH2 0x0201 00000309: PUSH2 0x0313 0000030c: CALLDATASIZE 0000030d: PUSH1 0x04 0000030f: PUSH2 0x1e28 00000312: JUMP 00000313: JUMPDEST 00000314: PUSH2 0x0ee4 00000317: JUMP 00000318: JUMPDEST 00000319: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 0000033a: JUMPDEST 0000033b: PUSH1 0x40 0000033d: MLOAD 0000033e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000353: SWAP1 00000354: SWAP2 00000355: AND 00000356: DUP2 00000357: MSTORE 00000358: PUSH1 0x20 0000035a: ADD 0000035b: PUSH2 0x01d2 0000035e: JUMP 0000035f: JUMPDEST 00000360: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00000381: PUSH2 0x02ae 00000384: JUMP 00000385: JUMPDEST 00000386: PUSH2 0x01c6 00000389: PUSH2 0x0393 0000038c: CALLDATASIZE 0000038d: PUSH1 0x04 0000038f: PUSH2 0x1daf 00000392: JUMP 00000393: JUMPDEST 00000394: PUSH2 0x107e 00000397: JUMP 00000398: JUMPDEST 00000399: PUSH2 0x0201 0000039c: PUSH2 0x03a6 0000039f: CALLDATASIZE 000003a0: PUSH1 0x04 000003a2: PUSH2 0x1ed4 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x10f5 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000003cd: PUSH2 0x033a 000003d0: JUMP 000003d1: JUMPDEST 000003d2: PUSH2 0x03d9 000003d5: PUSH2 0x13e0 000003d8: JUMP 000003d9: JUMPDEST 000003da: PUSH1 0x40 000003dc: MLOAD 000003dd: PUSH2 0x01d2 000003e0: SWAP2 000003e1: SWAP1 000003e2: PUSH2 0x1f15 000003e5: JUMP 000003e6: JUMPDEST 000003e7: PUSH2 0x02ae 000003ea: PUSH2 0x03f4 000003ed: CALLDATASIZE 000003ee: PUSH1 0x04 000003f0: PUSH2 0x1e0d 000003f3: JUMP 000003f4: JUMPDEST 000003f5: PUSH2 0xffff 000003f8: AND 000003f9: PUSH1 0x00 000003fb: SWAP1 000003fc: DUP2 000003fd: MSTORE 000003fe: PUSH1 0x07 00000400: PUSH1 0x20 00000402: MSTORE 00000403: PUSH1 0x40 00000405: SWAP1 00000406: KECCAK256 00000407: SLOAD 00000408: SWAP1 00000409: JUMP 0000040a: JUMPDEST 0000040b: PUSH2 0x0201 0000040e: PUSH2 0x0418 00000411: CALLDATASIZE 00000412: PUSH1 0x04 00000414: PUSH2 0x1e28 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH2 0x13f1 0000041c: JUMP 0000041d: JUMPDEST 0000041e: PUSH2 0x0201 00000421: PUSH2 0x042b 00000424: CALLDATASIZE 00000425: PUSH1 0x04 00000427: PUSH2 0x1f6e 0000042a: JUMP 0000042b: JUMPDEST 0000042c: PUSH2 0x1542 0000042f: JUMP 00000430: JUMPDEST 00000431: PUSH2 0x02ae 00000434: PUSH2 0x043e 00000437: CALLDATASIZE 00000438: PUSH1 0x04 0000043a: PUSH2 0x1faa 0000043d: JUMP 0000043e: JUMPDEST 0000043f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000454: SWAP2 00000455: DUP3 00000456: AND 00000457: PUSH1 0x00 00000459: SWAP1 0000045a: DUP2 0000045b: MSTORE 0000045c: PUSH1 0x05 0000045e: PUSH1 0x20 00000460: SWAP1 00000461: DUP2 00000462: MSTORE 00000463: PUSH1 0x40 00000465: DUP1 00000466: DUP4 00000467: KECCAK256 00000468: SWAP4 00000469: SWAP1 0000046a: SWAP5 0000046b: AND 0000046c: DUP3 0000046d: MSTORE 0000046e: SWAP2 0000046f: SWAP1 00000470: SWAP2 00000471: MSTORE 00000472: KECCAK256 00000473: SLOAD 00000474: SWAP1 00000475: JUMP 00000476: JUMPDEST 00000477: PUSH2 0x02ae 0000047a: PUSH2 0x0484 0000047d: CALLDATASIZE 0000047e: PUSH1 0x04 00000480: PUSH2 0x1daf 00000483: JUMP 00000484: JUMPDEST 00000485: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000049a: AND 0000049b: PUSH1 0x00 0000049d: SWAP1 0000049e: DUP2 0000049f: MSTORE 000004a0: PUSH1 0x09 000004a2: PUSH1 0x20 000004a4: MSTORE 000004a5: PUSH1 0x40 000004a7: SWAP1 000004a8: KECCAK256 000004a9: SLOAD 000004aa: SWAP1 000004ab: JUMP 000004ac: JUMPDEST 000004ad: PUSH2 0x02ae 000004b0: PUSH2 0x04ba 000004b3: CALLDATASIZE 000004b4: PUSH1 0x04 000004b6: PUSH2 0x1daf 000004b9: JUMP 000004ba: JUMPDEST 000004bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004d0: AND 000004d1: PUSH1 0x00 000004d3: SWAP1 000004d4: DUP2 000004d5: MSTORE 000004d6: PUSH1 0x08 000004d8: PUSH1 0x20 000004da: MSTORE 000004db: PUSH1 0x40 000004dd: SWAP1 000004de: KECCAK256 000004df: SLOAD 000004e0: SWAP1 000004e1: JUMP 000004e2: JUMPDEST 000004e3: PUSH2 0x0201 000004e6: PUSH2 0x04f0 000004e9: CALLDATASIZE 000004ea: PUSH1 0x04 000004ec: PUSH2 0x1ed4 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH2 0x16ae 000004f4: JUMP 000004f5: JUMPDEST 000004f6: PUSH2 0x0201 000004f9: PUSH2 0x0503 000004fc: CALLDATASIZE 000004fd: PUSH1 0x04 000004ff: PUSH2 0x1ed4 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH2 0x180d 00000507: JUMP 00000508: JUMPDEST 00000509: PUSH1 0x00 0000050b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000052c: DUP3 0000052d: AND 0000052e: PUSH32 0x21ba1e2e00000000000000000000000000000000000000000000000000000000 0000054f: EQ 00000550: DUP1 00000551: PUSH2 0x059b 00000554: JUMPI 00000555: POP 00000556: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 00000577: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000598: DUP4 00000599: AND 0000059a: EQ 0000059b: JUMPDEST 0000059c: SWAP3 0000059d: SWAP2 0000059e: POP 0000059f: POP 000005a0: JUMP 000005a1: JUMPDEST 000005a2: PUSH1 0x00 000005a4: PUSH2 0x059b 000005a7: PUSH1 0x03 000005a9: DUP4 000005aa: PUSH2 0x19bc 000005ad: JUMP 000005ae: JUMPDEST 000005af: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 000005d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005e5: AND 000005e6: PUSH4 0x7040e498 000005eb: PUSH1 0x40 000005ed: MLOAD 000005ee: DUP2 000005ef: PUSH4 0xffffffff 000005f4: AND 000005f5: PUSH1 0xe0 000005f7: SHL 000005f8: DUP2 000005f9: MSTORE 000005fa: PUSH1 0x04 000005fc: ADD 000005fd: PUSH1 0x20 000005ff: PUSH1 0x40 00000601: MLOAD 00000602: DUP1 00000603: DUP4 00000604: SUB 00000605: DUP2 00000606: DUP7 00000607: GAS 00000608: STATICCALL 00000609: ISZERO 0000060a: DUP1 0000060b: ISZERO 0000060c: PUSH2 0x0619 0000060f: JUMPI 00000610: RETURNDATASIZE 00000611: PUSH1 0x00 00000613: DUP1 00000614: RETURNDATACOPY 00000615: RETURNDATASIZE 00000616: PUSH1 0x00 00000618: REVERT 00000619: JUMPDEST 0000061a: POP 0000061b: POP 0000061c: POP 0000061d: POP 0000061e: PUSH1 0x40 00000620: MLOAD 00000621: RETURNDATASIZE 00000622: PUSH1 0x1f 00000624: NOT 00000625: PUSH1 0x1f 00000627: DUP3 00000628: ADD 00000629: AND 0000062a: DUP3 0000062b: ADD 0000062c: DUP1 0000062d: PUSH1 0x40 0000062f: MSTORE 00000630: POP 00000631: DUP2 00000632: ADD 00000633: SWAP1 00000634: PUSH2 0x063d 00000637: SWAP2 00000638: SWAP1 00000639: PUSH2 0x1fd8 0000063c: JUMP 0000063d: JUMPDEST 0000063e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000653: AND 00000654: CALLER 00000655: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000066a: AND 0000066b: EQ 0000066c: PUSH2 0x06a8 0000066f: JUMPI 00000670: PUSH1 0x40 00000672: MLOAD 00000673: PUSH32 0x1912d28d00000000000000000000000000000000000000000000000000000000 00000694: DUP2 00000695: MSTORE 00000696: CALLER 00000697: PUSH1 0x04 00000699: DUP3 0000069a: ADD 0000069b: MSTORE 0000069c: PUSH1 0x24 0000069e: ADD 0000069f: JUMPDEST 000006a0: PUSH1 0x40 000006a2: MLOAD 000006a3: DUP1 000006a4: SWAP2 000006a5: SUB 000006a6: SWAP1 000006a7: REVERT 000006a8: JUMPDEST 000006a9: PUSH2 0xffff 000006ac: DUP3 000006ad: AND 000006ae: PUSH1 0x00 000006b0: DUP2 000006b1: DUP2 000006b2: MSTORE 000006b3: PUSH1 0x07 000006b5: PUSH1 0x20 000006b7: SWAP1 000006b8: DUP2 000006b9: MSTORE 000006ba: PUSH1 0x40 000006bc: SWAP2 000006bd: DUP3 000006be: SWAP1 000006bf: KECCAK256 000006c0: DUP5 000006c1: SWAP1 000006c2: SSTORE 000006c3: DUP2 000006c4: MLOAD 000006c5: SWAP3 000006c6: DUP4 000006c7: MSTORE 000006c8: DUP3 000006c9: ADD 000006ca: DUP4 000006cb: SWAP1 000006cc: MSTORE 000006cd: CALLER 000006ce: SWAP2 000006cf: PUSH32 0xc931da23061b9e6e9f42bff93e5153309ddea21d02653f08c13b81d24503baaf 000006f0: SWAP2 000006f1: ADD 000006f2: JUMPDEST 000006f3: PUSH1 0x40 000006f5: MLOAD 000006f6: DUP1 000006f7: SWAP2 000006f8: SUB 000006f9: SWAP1 000006fa: LOG2 000006fb: POP 000006fc: POP 000006fd: JUMP 000006fe: JUMPDEST 000006ff: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00000720: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000735: AND 00000736: PUSH4 0x7040e498 0000073b: PUSH1 0x40 0000073d: MLOAD 0000073e: DUP2 0000073f: PUSH4 0xffffffff 00000744: AND 00000745: PUSH1 0xe0 00000747: SHL 00000748: DUP2 00000749: MSTORE 0000074a: PUSH1 0x04 0000074c: ADD 0000074d: PUSH1 0x20 0000074f: PUSH1 0x40 00000751: MLOAD 00000752: DUP1 00000753: DUP4 00000754: SUB 00000755: DUP2 00000756: DUP7 00000757: GAS 00000758: STATICCALL 00000759: ISZERO 0000075a: DUP1 0000075b: ISZERO 0000075c: PUSH2 0x0769 0000075f: JUMPI 00000760: RETURNDATASIZE 00000761: PUSH1 0x00 00000763: DUP1 00000764: RETURNDATACOPY 00000765: RETURNDATASIZE 00000766: PUSH1 0x00 00000768: REVERT 00000769: JUMPDEST 0000076a: POP 0000076b: POP 0000076c: POP 0000076d: POP 0000076e: PUSH1 0x40 00000770: MLOAD 00000771: RETURNDATASIZE 00000772: PUSH1 0x1f 00000774: NOT 00000775: PUSH1 0x1f 00000777: DUP3 00000778: ADD 00000779: AND 0000077a: DUP3 0000077b: ADD 0000077c: DUP1 0000077d: PUSH1 0x40 0000077f: MSTORE 00000780: POP 00000781: DUP2 00000782: ADD 00000783: SWAP1 00000784: PUSH2 0x078d 00000787: SWAP2 00000788: SWAP1 00000789: PUSH2 0x1fd8 0000078c: JUMP 0000078d: JUMPDEST 0000078e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007a3: AND 000007a4: CALLER 000007a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007ba: AND 000007bb: EQ 000007bc: PUSH2 0x07f3 000007bf: JUMPI 000007c0: PUSH1 0x40 000007c2: MLOAD 000007c3: PUSH32 0x1912d28d00000000000000000000000000000000000000000000000000000000 000007e4: DUP2 000007e5: MSTORE 000007e6: CALLER 000007e7: PUSH1 0x04 000007e9: DUP3 000007ea: ADD 000007eb: MSTORE 000007ec: PUSH1 0x24 000007ee: ADD 000007ef: PUSH2 0x069f 000007f2: JUMP 000007f3: JUMPDEST 000007f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000809: DUP3 0000080a: AND 0000080b: PUSH1 0x00 0000080d: DUP2 0000080e: DUP2 0000080f: MSTORE 00000810: PUSH1 0x09 00000812: PUSH1 0x20 00000814: MSTORE 00000815: PUSH1 0x40 00000817: SWAP1 00000818: DUP2 00000819: SWAP1 0000081a: KECCAK256 0000081b: DUP4 0000081c: SWAP1 0000081d: SSTORE 0000081e: MLOAD 0000081f: CALLER 00000820: SWAP1 00000821: PUSH32 0x452993628a397eb27a6b0802200fd9bce84cf34b50221a8a4ce8d7ac50e6c59e 00000842: SWAP1 00000843: PUSH2 0x084f 00000846: SWAP1 00000847: DUP6 00000848: DUP2 00000849: MSTORE 0000084a: PUSH1 0x20 0000084c: ADD 0000084d: SWAP1 0000084e: JUMP 0000084f: JUMPDEST 00000850: PUSH1 0x40 00000852: MLOAD 00000853: DUP1 00000854: SWAP2 00000855: SUB 00000856: SWAP1 00000857: LOG3 00000858: POP 00000859: POP 0000085a: JUMP 0000085b: JUMPDEST 0000085c: PUSH2 0x0883 0000085f: PUSH1 0x40 00000861: MLOAD 00000862: DUP1 00000863: PUSH1 0x60 00000865: ADD 00000866: PUSH1 0x40 00000868: MSTORE 00000869: DUP1 0000086a: PUSH1 0x60 0000086c: DUP2 0000086d: MSTORE 0000086e: PUSH1 0x20 00000870: ADD 00000871: PUSH1 0x00 00000873: PUSH2 0xffff 00000876: AND 00000877: DUP2 00000878: MSTORE 00000879: PUSH1 0x20 0000087b: ADD 0000087c: PUSH1 0x00 0000087e: DUP2 0000087f: MSTORE 00000880: POP 00000881: SWAP1 00000882: JUMP 00000883: JUMPDEST 00000884: PUSH1 0x00 00000886: PUSH1 0x40 00000888: MLOAD 00000889: DUP1 0000088a: PUSH1 0x60 0000088c: ADD 0000088d: PUSH1 0x40 0000088f: MSTORE 00000890: SWAP1 00000891: DUP2 00000892: PUSH1 0x00 00000894: DUP3 00000895: ADD 00000896: DUP1 00000897: SLOAD 00000898: PUSH2 0x08a0 0000089b: SWAP1 0000089c: PUSH2 0x1ff5 0000089f: JUMP 000008a0: JUMPDEST 000008a1: DUP1 000008a2: PUSH1 0x1f 000008a4: ADD 000008a5: PUSH1 0x20 000008a7: DUP1 000008a8: SWAP2 000008a9: DIV 000008aa: MUL 000008ab: PUSH1 0x20 000008ad: ADD 000008ae: PUSH1 0x40 000008b0: MLOAD 000008b1: SWAP1 000008b2: DUP2 000008b3: ADD 000008b4: PUSH1 0x40 000008b6: MSTORE 000008b7: DUP1 000008b8: SWAP3 000008b9: SWAP2 000008ba: SWAP1 000008bb: DUP2 000008bc: DUP2 000008bd: MSTORE 000008be: PUSH1 0x20 000008c0: ADD 000008c1: DUP3 000008c2: DUP1 000008c3: SLOAD 000008c4: PUSH2 0x08cc 000008c7: SWAP1 000008c8: PUSH2 0x1ff5 000008cb: JUMP 000008cc: JUMPDEST 000008cd: DUP1 000008ce: ISZERO 000008cf: PUSH2 0x0919 000008d2: JUMPI 000008d3: DUP1 000008d4: PUSH1 0x1f 000008d6: LT 000008d7: PUSH2 0x08ee 000008da: JUMPI 000008db: PUSH2 0x0100 000008de: DUP1 000008df: DUP4 000008e0: SLOAD 000008e1: DIV 000008e2: MUL 000008e3: DUP4 000008e4: MSTORE 000008e5: SWAP2 000008e6: PUSH1 0x20 000008e8: ADD 000008e9: SWAP2 000008ea: PUSH2 0x0919 000008ed: JUMP 000008ee: JUMPDEST 000008ef: DUP3 000008f0: ADD 000008f1: SWAP2 000008f2: SWAP1 000008f3: PUSH1 0x00 000008f5: MSTORE 000008f6: PUSH1 0x20 000008f8: PUSH1 0x00 000008fa: KECCAK256 000008fb: SWAP1 000008fc: JUMPDEST 000008fd: DUP2 000008fe: SLOAD 000008ff: DUP2 00000900: MSTORE 00000901: SWAP1 00000902: PUSH1 0x01 00000904: ADD 00000905: SWAP1 00000906: PUSH1 0x20 00000908: ADD 00000909: DUP1 0000090a: DUP4 0000090b: GT 0000090c: PUSH2 0x08fc 0000090f: JUMPI 00000910: DUP3 00000911: SWAP1 00000912: SUB 00000913: PUSH1 0x1f 00000915: AND 00000916: DUP3 00000917: ADD 00000918: SWAP2 00000919: JUMPDEST 0000091a: POP 0000091b: POP 0000091c: POP 0000091d: SWAP2 0000091e: DUP4 0000091f: MSTORE 00000920: POP 00000921: POP 00000922: PUSH1 0x01 00000924: DUP3 00000925: ADD 00000926: SLOAD 00000927: PUSH2 0xffff 0000092a: AND 0000092b: PUSH1 0x20 0000092d: DUP3 0000092e: ADD 0000092f: MSTORE 00000930: PUSH1 0x02 00000932: SWAP1 00000933: SWAP2 00000934: ADD 00000935: SLOAD 00000936: PUSH1 0x40 00000938: SWAP1 00000939: SWAP2 0000093a: ADD 0000093b: MSTORE 0000093c: SWAP2 0000093d: SWAP1 0000093e: POP 0000093f: JUMP 00000940: JUMPDEST 00000941: PUSH1 0x40 00000943: MLOAD 00000944: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 00000965: DUP2 00000966: MSTORE 00000967: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00000988: PUSH1 0x04 0000098a: DUP3 0000098b: ADD 0000098c: DUP2 0000098d: SWAP1 0000098e: MSTORE 0000098f: SWAP1 00000990: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 000009b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c6: AND 000009c7: SWAP1 000009c8: PUSH4 0xab147828 000009cd: SWAP1 000009ce: PUSH1 0x24 000009d0: ADD 000009d1: PUSH1 0x20 000009d3: PUSH1 0x40 000009d5: MLOAD 000009d6: DUP1 000009d7: DUP4 000009d8: SUB 000009d9: DUP2 000009da: DUP7 000009db: GAS 000009dc: STATICCALL 000009dd: ISZERO 000009de: DUP1 000009df: ISZERO 000009e0: PUSH2 0x09ed 000009e3: JUMPI 000009e4: RETURNDATASIZE 000009e5: PUSH1 0x00 000009e7: DUP1 000009e8: RETURNDATACOPY 000009e9: RETURNDATASIZE 000009ea: PUSH1 0x00 000009ec: REVERT 000009ed: JUMPDEST 000009ee: POP 000009ef: POP 000009f0: POP 000009f1: POP 000009f2: PUSH1 0x40 000009f4: MLOAD 000009f5: RETURNDATASIZE 000009f6: PUSH1 0x1f 000009f8: NOT 000009f9: PUSH1 0x1f 000009fb: DUP3 000009fc: ADD 000009fd: AND 000009fe: DUP3 000009ff: ADD 00000a00: DUP1 00000a01: PUSH1 0x40 00000a03: MSTORE 00000a04: POP 00000a05: DUP2 00000a06: ADD 00000a07: SWAP1 00000a08: PUSH2 0x0a11 00000a0b: SWAP2 00000a0c: SWAP1 00000a0d: PUSH2 0x1fd8 00000a10: JUMP 00000a11: JUMPDEST 00000a12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a27: AND 00000a28: CALLER 00000a29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a3e: AND 00000a3f: EQ 00000a40: PUSH2 0x0a7e 00000a43: JUMPI 00000a44: PUSH1 0x40 00000a46: MLOAD 00000a47: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 00000a68: DUP2 00000a69: MSTORE 00000a6a: PUSH1 0x04 00000a6c: DUP2 00000a6d: ADD 00000a6e: DUP3 00000a6f: SWAP1 00000a70: MSTORE 00000a71: CALLER 00000a72: PUSH1 0x24 00000a74: DUP3 00000a75: ADD 00000a76: MSTORE 00000a77: PUSH1 0x44 00000a79: ADD 00000a7a: PUSH2 0x069f 00000a7d: JUMP 00000a7e: JUMPDEST 00000a7f: PUSH1 0x00 00000a81: PUSH2 0x0a8b 00000a84: PUSH1 0x03 00000a86: DUP5 00000a87: PUSH2 0x19ee 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: SWAP1 00000a8d: POP 00000a8e: DUP1 00000a8f: ISZERO 00000a90: PUSH2 0x0ae3 00000a93: JUMPI 00000a94: PUSH1 0x40 00000a96: MLOAD 00000a97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aac: DUP5 00000aad: AND 00000aae: DUP2 00000aaf: MSTORE 00000ab0: CALLER 00000ab1: SWAP1 00000ab2: PUSH32 0x7993f8e82d0d73041a8255c5cd9c106613771a105064274cd3d8cc85a45a5689 00000ad3: SWAP1 00000ad4: PUSH1 0x20 00000ad6: ADD 00000ad7: PUSH1 0x40 00000ad9: MLOAD 00000ada: DUP1 00000adb: SWAP2 00000adc: SUB 00000add: SWAP1 00000ade: LOG2 00000adf: POP 00000ae0: POP 00000ae1: POP 00000ae2: JUMP 00000ae3: JUMPDEST 00000ae4: PUSH1 0x40 00000ae6: MLOAD 00000ae7: PUSH32 0x35d4013600000000000000000000000000000000000000000000000000000000 00000b08: DUP2 00000b09: MSTORE 00000b0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b1f: DUP5 00000b20: AND 00000b21: PUSH1 0x04 00000b23: DUP3 00000b24: ADD 00000b25: MSTORE 00000b26: PUSH1 0x24 00000b28: ADD 00000b29: PUSH2 0x069f 00000b2c: JUMP 00000b2d: JUMPDEST 00000b2e: POP 00000b2f: POP 00000b30: POP 00000b31: JUMP 00000b32: JUMPDEST 00000b33: PUSH1 0x40 00000b35: MLOAD 00000b36: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 00000b57: DUP2 00000b58: MSTORE 00000b59: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00000b7a: PUSH1 0x04 00000b7c: DUP3 00000b7d: ADD 00000b7e: DUP2 00000b7f: SWAP1 00000b80: MSTORE 00000b81: SWAP1 00000b82: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00000ba3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb8: AND 00000bb9: SWAP1 00000bba: PUSH4 0xab147828 00000bbf: SWAP1 00000bc0: PUSH1 0x24 00000bc2: ADD 00000bc3: PUSH1 0x20 00000bc5: PUSH1 0x40 00000bc7: MLOAD 00000bc8: DUP1 00000bc9: DUP4 00000bca: SUB 00000bcb: DUP2 00000bcc: DUP7 00000bcd: GAS 00000bce: STATICCALL 00000bcf: ISZERO 00000bd0: DUP1 00000bd1: ISZERO 00000bd2: PUSH2 0x0bdf 00000bd5: JUMPI 00000bd6: RETURNDATASIZE 00000bd7: PUSH1 0x00 00000bd9: DUP1 00000bda: RETURNDATACOPY 00000bdb: RETURNDATASIZE 00000bdc: PUSH1 0x00 00000bde: REVERT 00000bdf: JUMPDEST 00000be0: POP 00000be1: POP 00000be2: POP 00000be3: POP 00000be4: PUSH1 0x40 00000be6: MLOAD 00000be7: RETURNDATASIZE 00000be8: PUSH1 0x1f 00000bea: NOT 00000beb: PUSH1 0x1f 00000bed: DUP3 00000bee: ADD 00000bef: AND 00000bf0: DUP3 00000bf1: ADD 00000bf2: DUP1 00000bf3: PUSH1 0x40 00000bf5: MSTORE 00000bf6: POP 00000bf7: DUP2 00000bf8: ADD 00000bf9: SWAP1 00000bfa: PUSH2 0x0c03 00000bfd: SWAP2 00000bfe: SWAP1 00000bff: PUSH2 0x1fd8 00000c02: JUMP 00000c03: JUMPDEST 00000c04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c19: AND 00000c1a: CALLER 00000c1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c30: AND 00000c31: EQ 00000c32: PUSH2 0x0c70 00000c35: JUMPI 00000c36: PUSH1 0x40 00000c38: MLOAD 00000c39: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 00000c5a: DUP2 00000c5b: MSTORE 00000c5c: PUSH1 0x04 00000c5e: DUP2 00000c5f: ADD 00000c60: DUP3 00000c61: SWAP1 00000c62: MSTORE 00000c63: CALLER 00000c64: PUSH1 0x24 00000c66: DUP3 00000c67: ADD 00000c68: MSTORE 00000c69: PUSH1 0x44 00000c6b: ADD 00000c6c: PUSH2 0x069f 00000c6f: JUMP 00000c70: JUMPDEST 00000c71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c86: DUP4 00000c87: AND 00000c88: PUSH1 0x00 00000c8a: DUP2 00000c8b: DUP2 00000c8c: MSTORE 00000c8d: PUSH1 0x0b 00000c8f: PUSH1 0x20 00000c91: MSTORE 00000c92: PUSH1 0x40 00000c94: SWAP1 00000c95: DUP2 00000c96: SWAP1 00000c97: KECCAK256 00000c98: DUP5 00000c99: SWAP1 00000c9a: SSTORE 00000c9b: MLOAD 00000c9c: CALLER 00000c9d: SWAP1 00000c9e: PUSH32 0xfb98b8106532299d33d0f6feb4f3f4018edd5afcbf559b83a9f1aee80aab2fe4 00000cbf: SWAP1 00000cc0: PUSH2 0x0ccc 00000cc3: SWAP1 00000cc4: DUP7 00000cc5: DUP2 00000cc6: MSTORE 00000cc7: PUSH1 0x20 00000cc9: ADD 00000cca: SWAP1 00000ccb: JUMP 00000ccc: JUMPDEST 00000ccd: PUSH1 0x40 00000ccf: MLOAD 00000cd0: DUP1 00000cd1: SWAP2 00000cd2: SUB 00000cd3: SWAP1 00000cd4: LOG3 00000cd5: POP 00000cd6: POP 00000cd7: POP 00000cd8: JUMP 00000cd9: JUMPDEST 00000cda: PUSH1 0x40 00000cdc: MLOAD 00000cdd: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 00000cfe: DUP2 00000cff: MSTORE 00000d00: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00000d21: PUSH1 0x04 00000d23: DUP3 00000d24: ADD 00000d25: DUP2 00000d26: SWAP1 00000d27: MSTORE 00000d28: SWAP1 00000d29: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00000d4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d5f: AND 00000d60: SWAP1 00000d61: PUSH4 0xab147828 00000d66: SWAP1 00000d67: PUSH1 0x24 00000d69: ADD 00000d6a: PUSH1 0x20 00000d6c: PUSH1 0x40 00000d6e: MLOAD 00000d6f: DUP1 00000d70: DUP4 00000d71: SUB 00000d72: DUP2 00000d73: DUP7 00000d74: GAS 00000d75: STATICCALL 00000d76: ISZERO 00000d77: DUP1 00000d78: ISZERO 00000d79: PUSH2 0x0d86 00000d7c: JUMPI 00000d7d: RETURNDATASIZE 00000d7e: PUSH1 0x00 00000d80: DUP1 00000d81: RETURNDATACOPY 00000d82: RETURNDATASIZE 00000d83: PUSH1 0x00 00000d85: REVERT 00000d86: JUMPDEST 00000d87: POP 00000d88: POP 00000d89: POP 00000d8a: POP 00000d8b: PUSH1 0x40 00000d8d: MLOAD 00000d8e: RETURNDATASIZE 00000d8f: PUSH1 0x1f 00000d91: NOT 00000d92: PUSH1 0x1f 00000d94: DUP3 00000d95: ADD 00000d96: AND 00000d97: DUP3 00000d98: ADD 00000d99: DUP1 00000d9a: PUSH1 0x40 00000d9c: MSTORE 00000d9d: POP 00000d9e: DUP2 00000d9f: ADD 00000da0: SWAP1 00000da1: PUSH2 0x0daa 00000da4: SWAP2 00000da5: SWAP1 00000da6: PUSH2 0x1fd8 00000da9: JUMP 00000daa: JUMPDEST 00000dab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dc0: AND 00000dc1: CALLER 00000dc2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dd7: AND 00000dd8: EQ 00000dd9: PUSH2 0x0e17 00000ddc: JUMPI 00000ddd: PUSH1 0x40 00000ddf: MLOAD 00000de0: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 00000e01: DUP2 00000e02: MSTORE 00000e03: PUSH1 0x04 00000e05: DUP2 00000e06: ADD 00000e07: DUP3 00000e08: SWAP1 00000e09: MSTORE 00000e0a: CALLER 00000e0b: PUSH1 0x24 00000e0d: DUP3 00000e0e: ADD 00000e0f: MSTORE 00000e10: PUSH1 0x44 00000e12: ADD 00000e13: PUSH2 0x069f 00000e16: JUMP 00000e17: JUMPDEST 00000e18: PUSH1 0x00 00000e1a: PUSH2 0x0e24 00000e1d: PUSH1 0x03 00000e1f: DUP6 00000e20: PUSH2 0x1a10 00000e23: JUMP 00000e24: JUMPDEST 00000e25: SWAP1 00000e26: POP 00000e27: DUP1 00000e28: ISZERO 00000e29: PUSH2 0x0e94 00000e2c: JUMPI 00000e2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e42: DUP5 00000e43: AND 00000e44: PUSH1 0x00 00000e46: DUP2 00000e47: DUP2 00000e48: MSTORE 00000e49: PUSH1 0x08 00000e4b: PUSH1 0x20 00000e4d: SWAP1 00000e4e: DUP2 00000e4f: MSTORE 00000e50: PUSH1 0x40 00000e52: SWAP2 00000e53: DUP3 00000e54: SWAP1 00000e55: KECCAK256 00000e56: DUP7 00000e57: SWAP1 00000e58: SSTORE 00000e59: DUP2 00000e5a: MLOAD 00000e5b: SWAP3 00000e5c: DUP4 00000e5d: MSTORE 00000e5e: DUP3 00000e5f: ADD 00000e60: DUP6 00000e61: SWAP1 00000e62: MSTORE 00000e63: CALLER 00000e64: SWAP2 00000e65: PUSH32 0xfea04ba154e25794566ffb12fea2ea49d9140723d9c91bd2d6874da89c9b601d 00000e86: SWAP2 00000e87: ADD 00000e88: PUSH1 0x40 00000e8a: MLOAD 00000e8b: DUP1 00000e8c: SWAP2 00000e8d: SUB 00000e8e: SWAP1 00000e8f: LOG2 00000e90: PUSH2 0x0ede 00000e93: JUMP 00000e94: JUMPDEST 00000e95: PUSH1 0x40 00000e97: MLOAD 00000e98: PUSH32 0x95f1ba9a00000000000000000000000000000000000000000000000000000000 00000eb9: DUP2 00000eba: MSTORE 00000ebb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ed0: DUP6 00000ed1: AND 00000ed2: PUSH1 0x04 00000ed4: DUP3 00000ed5: ADD 00000ed6: MSTORE 00000ed7: PUSH1 0x24 00000ed9: ADD 00000eda: PUSH2 0x069f 00000edd: JUMP 00000ede: JUMPDEST 00000edf: POP 00000ee0: POP 00000ee1: POP 00000ee2: POP 00000ee3: JUMP 00000ee4: JUMPDEST 00000ee5: PUSH1 0x40 00000ee7: MLOAD 00000ee8: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 00000f09: DUP2 00000f0a: MSTORE 00000f0b: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00000f2c: PUSH1 0x04 00000f2e: DUP3 00000f2f: ADD 00000f30: DUP2 00000f31: SWAP1 00000f32: MSTORE 00000f33: SWAP1 00000f34: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00000f55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6a: AND 00000f6b: SWAP1 00000f6c: PUSH4 0xab147828 00000f71: SWAP1 00000f72: PUSH1 0x24 00000f74: ADD 00000f75: PUSH1 0x20 00000f77: PUSH1 0x40 00000f79: MLOAD 00000f7a: DUP1 00000f7b: DUP4 00000f7c: SUB 00000f7d: DUP2 00000f7e: DUP7 00000f7f: GAS 00000f80: STATICCALL 00000f81: ISZERO 00000f82: DUP1 00000f83: ISZERO 00000f84: PUSH2 0x0f91 00000f87: JUMPI 00000f88: RETURNDATASIZE 00000f89: PUSH1 0x00 00000f8b: DUP1 00000f8c: RETURNDATACOPY 00000f8d: RETURNDATASIZE 00000f8e: PUSH1 0x00 00000f90: REVERT 00000f91: JUMPDEST 00000f92: POP 00000f93: POP 00000f94: POP 00000f95: POP 00000f96: PUSH1 0x40 00000f98: MLOAD 00000f99: RETURNDATASIZE 00000f9a: PUSH1 0x1f 00000f9c: NOT 00000f9d: PUSH1 0x1f 00000f9f: DUP3 00000fa0: ADD 00000fa1: AND 00000fa2: DUP3 00000fa3: ADD 00000fa4: DUP1 00000fa5: PUSH1 0x40 00000fa7: MSTORE 00000fa8: POP 00000fa9: DUP2 00000faa: ADD 00000fab: SWAP1 00000fac: PUSH2 0x0fb5 00000faf: SWAP2 00000fb0: SWAP1 00000fb1: PUSH2 0x1fd8 00000fb4: JUMP 00000fb5: JUMPDEST 00000fb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fcb: AND 00000fcc: CALLER 00000fcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe2: AND 00000fe3: EQ 00000fe4: PUSH2 0x1022 00000fe7: JUMPI 00000fe8: PUSH1 0x40 00000fea: MLOAD 00000feb: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 0000100c: DUP2 0000100d: MSTORE 0000100e: PUSH1 0x04 00001010: DUP2 00001011: ADD 00001012: DUP3 00001013: SWAP1 00001014: MSTORE 00001015: CALLER 00001016: PUSH1 0x24 00001018: DUP3 00001019: ADD 0000101a: MSTORE 0000101b: PUSH1 0x44 0000101d: ADD 0000101e: PUSH2 0x069f 00001021: JUMP 00001022: JUMPDEST 00001023: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001038: DUP4 00001039: AND 0000103a: PUSH1 0x00 0000103c: DUP2 0000103d: DUP2 0000103e: MSTORE 0000103f: PUSH1 0x0a 00001041: PUSH1 0x20 00001043: MSTORE 00001044: PUSH1 0x40 00001046: SWAP1 00001047: DUP2 00001048: SWAP1 00001049: KECCAK256 0000104a: DUP5 0000104b: SWAP1 0000104c: SSTORE 0000104d: MLOAD 0000104e: CALLER 0000104f: SWAP1 00001050: PUSH32 0x0ce11ace3572c0a2445c0d82b13c61687273d23b92c87282733ebbdaabc3bc07 00001071: SWAP1 00001072: PUSH2 0x0ccc 00001075: SWAP1 00001076: DUP7 00001077: DUP2 00001078: MSTORE 00001079: PUSH1 0x20 0000107b: ADD 0000107c: SWAP1 0000107d: JUMP 0000107e: JUMPDEST 0000107f: PUSH1 0x00 00001081: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001096: DUP3 00001097: AND 00001098: ISZERO 00001099: DUP1 0000109a: ISZERO 0000109b: SWAP1 0000109c: PUSH2 0x059b 0000109f: JUMPI 000010a0: POP 000010a1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000010c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d7: AND 000010d8: DUP3 000010d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ee: AND 000010ef: EQ 000010f0: SWAP3 000010f1: SWAP2 000010f2: POP 000010f3: POP 000010f4: JUMP 000010f5: JUMPDEST 000010f6: PUSH1 0x40 000010f8: MLOAD 000010f9: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 0000111a: DUP2 0000111b: MSTORE 0000111c: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 0000113d: PUSH1 0x04 0000113f: DUP3 00001140: ADD 00001141: DUP2 00001142: SWAP1 00001143: MSTORE 00001144: SWAP1 00001145: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00001166: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000117b: AND 0000117c: SWAP1 0000117d: PUSH4 0xab147828 00001182: SWAP1 00001183: PUSH1 0x24 00001185: ADD 00001186: PUSH1 0x20 00001188: PUSH1 0x40 0000118a: MLOAD 0000118b: DUP1 0000118c: DUP4 0000118d: SUB 0000118e: DUP2 0000118f: DUP7 00001190: GAS 00001191: STATICCALL 00001192: ISZERO 00001193: DUP1 00001194: ISZERO 00001195: PUSH2 0x11a2 00001198: JUMPI 00001199: RETURNDATASIZE 0000119a: PUSH1 0x00 0000119c: DUP1 0000119d: RETURNDATACOPY 0000119e: RETURNDATASIZE 0000119f: PUSH1 0x00 000011a1: REVERT 000011a2: JUMPDEST 000011a3: POP 000011a4: POP 000011a5: POP 000011a6: POP 000011a7: PUSH1 0x40 000011a9: MLOAD 000011aa: RETURNDATASIZE 000011ab: PUSH1 0x1f 000011ad: NOT 000011ae: PUSH1 0x1f 000011b0: DUP3 000011b1: ADD 000011b2: AND 000011b3: DUP3 000011b4: ADD 000011b5: DUP1 000011b6: PUSH1 0x40 000011b8: MSTORE 000011b9: POP 000011ba: DUP2 000011bb: ADD 000011bc: SWAP1 000011bd: PUSH2 0x11c6 000011c0: SWAP2 000011c1: SWAP1 000011c2: PUSH2 0x1fd8 000011c5: JUMP 000011c6: JUMPDEST 000011c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011dc: AND 000011dd: CALLER 000011de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011f3: AND 000011f4: EQ 000011f5: PUSH2 0x1233 000011f8: JUMPI 000011f9: PUSH1 0x40 000011fb: MLOAD 000011fc: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 0000121d: DUP2 0000121e: MSTORE 0000121f: PUSH1 0x04 00001221: DUP2 00001222: ADD 00001223: DUP3 00001224: SWAP1 00001225: MSTORE 00001226: CALLER 00001227: PUSH1 0x24 00001229: DUP3 0000122a: ADD 0000122b: MSTORE 0000122c: PUSH1 0x44 0000122e: ADD 0000122f: PUSH2 0x069f 00001232: JUMP 00001233: JUMPDEST 00001234: PUSH1 0x40 00001236: MLOAD 00001237: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00001258: DUP2 00001259: MSTORE 0000125a: ADDRESS 0000125b: PUSH1 0x04 0000125d: DUP3 0000125e: ADD 0000125f: MSTORE 00001260: PUSH1 0x00 00001262: SWAP1 00001263: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001278: DUP7 00001279: AND 0000127a: SWAP1 0000127b: PUSH4 0x70a08231 00001280: SWAP1 00001281: PUSH1 0x24 00001283: ADD 00001284: PUSH1 0x20 00001286: PUSH1 0x40 00001288: MLOAD 00001289: DUP1 0000128a: DUP4 0000128b: SUB 0000128c: DUP2 0000128d: DUP7 0000128e: GAS 0000128f: STATICCALL 00001290: ISZERO 00001291: DUP1 00001292: ISZERO 00001293: PUSH2 0x12a0 00001296: JUMPI 00001297: RETURNDATASIZE 00001298: PUSH1 0x00 0000129a: DUP1 0000129b: RETURNDATACOPY 0000129c: RETURNDATASIZE 0000129d: PUSH1 0x00 0000129f: REVERT 000012a0: JUMPDEST 000012a1: POP 000012a2: POP 000012a3: POP 000012a4: POP 000012a5: PUSH1 0x40 000012a7: MLOAD 000012a8: RETURNDATASIZE 000012a9: PUSH1 0x1f 000012ab: NOT 000012ac: PUSH1 0x1f 000012ae: DUP3 000012af: ADD 000012b0: AND 000012b1: DUP3 000012b2: ADD 000012b3: DUP1 000012b4: PUSH1 0x40 000012b6: MSTORE 000012b7: POP 000012b8: DUP2 000012b9: ADD 000012ba: SWAP1 000012bb: PUSH2 0x12c4 000012be: SWAP2 000012bf: SWAP1 000012c0: PUSH2 0x2048 000012c3: JUMP 000012c4: JUMPDEST 000012c5: SWAP1 000012c6: POP 000012c7: PUSH2 0x12e8 000012ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012df: DUP7 000012e0: AND 000012e1: DUP6 000012e2: ADDRESS 000012e3: DUP7 000012e4: PUSH2 0x1a32 000012e7: JUMP 000012e8: JUMPDEST 000012e9: PUSH1 0x40 000012eb: MLOAD 000012ec: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 0000130d: DUP2 0000130e: MSTORE 0000130f: ADDRESS 00001310: PUSH1 0x04 00001312: DUP3 00001313: ADD 00001314: MSTORE 00001315: PUSH1 0x00 00001317: SWAP1 00001318: DUP3 00001319: SWAP1 0000131a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000132f: DUP9 00001330: AND 00001331: SWAP1 00001332: PUSH4 0x70a08231 00001337: SWAP1 00001338: PUSH1 0x24 0000133a: ADD 0000133b: PUSH1 0x20 0000133d: PUSH1 0x40 0000133f: MLOAD 00001340: DUP1 00001341: DUP4 00001342: SUB 00001343: DUP2 00001344: DUP7 00001345: GAS 00001346: STATICCALL 00001347: ISZERO 00001348: DUP1 00001349: ISZERO 0000134a: PUSH2 0x1357 0000134d: JUMPI 0000134e: RETURNDATASIZE 0000134f: PUSH1 0x00 00001351: DUP1 00001352: RETURNDATACOPY 00001353: RETURNDATASIZE 00001354: PUSH1 0x00 00001356: REVERT 00001357: JUMPDEST 00001358: POP 00001359: POP 0000135a: POP 0000135b: POP 0000135c: PUSH1 0x40 0000135e: MLOAD 0000135f: RETURNDATASIZE 00001360: PUSH1 0x1f 00001362: NOT 00001363: PUSH1 0x1f 00001365: DUP3 00001366: ADD 00001367: AND 00001368: DUP3 00001369: ADD 0000136a: DUP1 0000136b: PUSH1 0x40 0000136d: MSTORE 0000136e: POP 0000136f: DUP2 00001370: ADD 00001371: SWAP1 00001372: PUSH2 0x137b 00001375: SWAP2 00001376: SWAP1 00001377: PUSH2 0x2048 0000137a: JUMP 0000137b: JUMPDEST 0000137c: PUSH2 0x1385 0000137f: SWAP2 00001380: SWAP1 00001381: PUSH2 0x2061 00001384: JUMP 00001385: JUMPDEST 00001386: SWAP1 00001387: POP 00001388: DUP4 00001389: DUP2 0000138a: EQ 0000138b: PUSH2 0x13d8 0000138e: JUMPI 0000138f: PUSH1 0x40 00001391: MLOAD 00001392: PUSH32 0xb0a1b38a00000000000000000000000000000000000000000000000000000000 000013b3: DUP2 000013b4: MSTORE 000013b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013ca: DUP8 000013cb: AND 000013cc: PUSH1 0x04 000013ce: DUP3 000013cf: ADD 000013d0: MSTORE 000013d1: PUSH1 0x24 000013d3: ADD 000013d4: PUSH2 0x069f 000013d7: JUMP 000013d8: JUMPDEST 000013d9: POP 000013da: POP 000013db: POP 000013dc: POP 000013dd: POP 000013de: POP 000013df: JUMP 000013e0: JUMPDEST 000013e1: PUSH1 0x60 000013e3: PUSH2 0x13ec 000013e6: PUSH1 0x03 000013e8: PUSH2 0x1abb 000013eb: JUMP 000013ec: JUMPDEST 000013ed: SWAP1 000013ee: POP 000013ef: SWAP1 000013f0: JUMP 000013f1: JUMPDEST 000013f2: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00001413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001428: AND 00001429: PUSH4 0x7040e498 0000142e: PUSH1 0x40 00001430: MLOAD 00001431: DUP2 00001432: PUSH4 0xffffffff 00001437: AND 00001438: PUSH1 0xe0 0000143a: SHL 0000143b: DUP2 0000143c: MSTORE 0000143d: PUSH1 0x04 0000143f: ADD 00001440: PUSH1 0x20 00001442: PUSH1 0x40 00001444: MLOAD 00001445: DUP1 00001446: DUP4 00001447: SUB 00001448: DUP2 00001449: DUP7 0000144a: GAS 0000144b: STATICCALL 0000144c: ISZERO 0000144d: DUP1 0000144e: ISZERO 0000144f: PUSH2 0x145c 00001452: JUMPI 00001453: RETURNDATASIZE 00001454: PUSH1 0x00 00001456: DUP1 00001457: RETURNDATACOPY 00001458: RETURNDATASIZE 00001459: PUSH1 0x00 0000145b: REVERT 0000145c: JUMPDEST 0000145d: POP 0000145e: POP 0000145f: POP 00001460: POP 00001461: PUSH1 0x40 00001463: MLOAD 00001464: RETURNDATASIZE 00001465: PUSH1 0x1f 00001467: NOT 00001468: PUSH1 0x1f 0000146a: DUP3 0000146b: ADD 0000146c: AND 0000146d: DUP3 0000146e: ADD 0000146f: DUP1 00001470: PUSH1 0x40 00001472: MSTORE 00001473: POP 00001474: DUP2 00001475: ADD 00001476: SWAP1 00001477: PUSH2 0x1480 0000147a: SWAP2 0000147b: SWAP1 0000147c: PUSH2 0x1fd8 0000147f: JUMP 00001480: JUMPDEST 00001481: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001496: AND 00001497: CALLER 00001498: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014ad: AND 000014ae: EQ 000014af: PUSH2 0x14e6 000014b2: JUMPI 000014b3: PUSH1 0x40 000014b5: MLOAD 000014b6: PUSH32 0x1912d28d00000000000000000000000000000000000000000000000000000000 000014d7: DUP2 000014d8: MSTORE 000014d9: CALLER 000014da: PUSH1 0x04 000014dc: DUP3 000014dd: ADD 000014de: MSTORE 000014df: PUSH1 0x24 000014e1: ADD 000014e2: PUSH2 0x069f 000014e5: JUMP 000014e6: JUMPDEST 000014e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014fc: DUP3 000014fd: AND 000014fe: PUSH1 0x00 00001500: DUP2 00001501: DUP2 00001502: MSTORE 00001503: PUSH1 0x08 00001505: PUSH1 0x20 00001507: MSTORE 00001508: PUSH1 0x40 0000150a: SWAP1 0000150b: DUP2 0000150c: SWAP1 0000150d: KECCAK256 0000150e: DUP4 0000150f: SWAP1 00001510: SSTORE 00001511: MLOAD 00001512: CALLER 00001513: SWAP1 00001514: PUSH32 0x7a1b3019f8f29658f7848086e19d23d5d55b8ea1f228107003018838f3f5b60f 00001535: SWAP1 00001536: PUSH2 0x084f 00001539: SWAP1 0000153a: DUP6 0000153b: DUP2 0000153c: MSTORE 0000153d: PUSH1 0x20 0000153f: ADD 00001540: SWAP1 00001541: JUMP 00001542: JUMPDEST 00001543: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 00001564: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001579: AND 0000157a: PUSH4 0x7040e498 0000157f: PUSH1 0x40 00001581: MLOAD 00001582: DUP2 00001583: PUSH4 0xffffffff 00001588: AND 00001589: PUSH1 0xe0 0000158b: SHL 0000158c: DUP2 0000158d: MSTORE 0000158e: PUSH1 0x04 00001590: ADD 00001591: PUSH1 0x20 00001593: PUSH1 0x40 00001595: MLOAD 00001596: DUP1 00001597: DUP4 00001598: SUB 00001599: DUP2 0000159a: DUP7 0000159b: GAS 0000159c: STATICCALL 0000159d: ISZERO 0000159e: DUP1 0000159f: ISZERO 000015a0: PUSH2 0x15ad 000015a3: JUMPI 000015a4: RETURNDATASIZE 000015a5: PUSH1 0x00 000015a7: DUP1 000015a8: RETURNDATACOPY 000015a9: RETURNDATASIZE 000015aa: PUSH1 0x00 000015ac: REVERT 000015ad: JUMPDEST 000015ae: POP 000015af: POP 000015b0: POP 000015b1: POP 000015b2: PUSH1 0x40 000015b4: MLOAD 000015b5: RETURNDATASIZE 000015b6: PUSH1 0x1f 000015b8: NOT 000015b9: PUSH1 0x1f 000015bb: DUP3 000015bc: ADD 000015bd: AND 000015be: DUP3 000015bf: ADD 000015c0: DUP1 000015c1: PUSH1 0x40 000015c3: MSTORE 000015c4: POP 000015c5: DUP2 000015c6: ADD 000015c7: SWAP1 000015c8: PUSH2 0x15d1 000015cb: SWAP2 000015cc: SWAP1 000015cd: PUSH2 0x1fd8 000015d0: JUMP 000015d1: JUMPDEST 000015d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015e7: AND 000015e8: CALLER 000015e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015fe: AND 000015ff: EQ 00001600: PUSH2 0x1637 00001603: JUMPI 00001604: PUSH1 0x40 00001606: MLOAD 00001607: PUSH32 0x1912d28d00000000000000000000000000000000000000000000000000000000 00001628: DUP2 00001629: MSTORE 0000162a: CALLER 0000162b: PUSH1 0x04 0000162d: DUP3 0000162e: ADD 0000162f: MSTORE 00001630: PUSH1 0x24 00001632: ADD 00001633: PUSH2 0x069f 00001636: JUMP 00001637: JUMPDEST 00001638: PUSH2 0xffff 0000163b: DUP3 0000163c: AND 0000163d: PUSH1 0x00 0000163f: DUP2 00001640: DUP2 00001641: MSTORE 00001642: PUSH1 0x06 00001644: PUSH1 0x20 00001646: SWAP1 00001647: DUP2 00001648: MSTORE 00001649: PUSH1 0x40 0000164b: SWAP2 0000164c: DUP3 0000164d: SWAP1 0000164e: KECCAK256 0000164f: DUP1 00001650: SLOAD 00001651: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001672: AND 00001673: DUP6 00001674: ISZERO 00001675: ISZERO 00001676: SWAP1 00001677: DUP2 00001678: OR 00001679: SWAP1 0000167a: SWAP2 0000167b: SSTORE 0000167c: DUP3 0000167d: MLOAD 0000167e: SWAP4 0000167f: DUP5 00001680: MSTORE 00001681: SWAP1 00001682: DUP4 00001683: ADD 00001684: MSTORE 00001685: CALLER 00001686: SWAP2 00001687: PUSH32 0x043b28adcec236415dd284f097226d68d4a3baded0bd1570fe5e4177f9681ddd 000016a8: SWAP2 000016a9: ADD 000016aa: PUSH2 0x06f2 000016ad: JUMP 000016ae: JUMPDEST 000016af: PUSH1 0x40 000016b1: MLOAD 000016b2: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 000016d3: DUP2 000016d4: MSTORE 000016d5: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 000016f6: PUSH1 0x04 000016f8: DUP3 000016f9: ADD 000016fa: DUP2 000016fb: SWAP1 000016fc: MSTORE 000016fd: SWAP1 000016fe: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 0000171f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001734: AND 00001735: SWAP1 00001736: PUSH4 0xab147828 0000173b: SWAP1 0000173c: PUSH1 0x24 0000173e: ADD 0000173f: PUSH1 0x20 00001741: PUSH1 0x40 00001743: MLOAD 00001744: DUP1 00001745: DUP4 00001746: SUB 00001747: DUP2 00001748: DUP7 00001749: GAS 0000174a: STATICCALL 0000174b: ISZERO 0000174c: DUP1 0000174d: ISZERO 0000174e: PUSH2 0x175b 00001751: JUMPI 00001752: RETURNDATASIZE 00001753: PUSH1 0x00 00001755: DUP1 00001756: RETURNDATACOPY 00001757: RETURNDATASIZE 00001758: PUSH1 0x00 0000175a: REVERT 0000175b: JUMPDEST 0000175c: POP 0000175d: POP 0000175e: POP 0000175f: POP 00001760: PUSH1 0x40 00001762: MLOAD 00001763: RETURNDATASIZE 00001764: PUSH1 0x1f 00001766: NOT 00001767: PUSH1 0x1f 00001769: DUP3 0000176a: ADD 0000176b: AND 0000176c: DUP3 0000176d: ADD 0000176e: DUP1 0000176f: PUSH1 0x40 00001771: MSTORE 00001772: POP 00001773: DUP2 00001774: ADD 00001775: SWAP1 00001776: PUSH2 0x177f 00001779: SWAP2 0000177a: SWAP1 0000177b: PUSH2 0x1fd8 0000177e: JUMP 0000177f: JUMPDEST 00001780: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001795: AND 00001796: CALLER 00001797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017ac: AND 000017ad: EQ 000017ae: PUSH2 0x17ec 000017b1: JUMPI 000017b2: PUSH1 0x40 000017b4: MLOAD 000017b5: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 000017d6: DUP2 000017d7: MSTORE 000017d8: PUSH1 0x04 000017da: DUP2 000017db: ADD 000017dc: DUP3 000017dd: SWAP1 000017de: MSTORE 000017df: CALLER 000017e0: PUSH1 0x24 000017e2: DUP3 000017e3: ADD 000017e4: MSTORE 000017e5: PUSH1 0x44 000017e7: ADD 000017e8: PUSH2 0x069f 000017eb: JUMP 000017ec: JUMPDEST 000017ed: PUSH2 0x0ede 000017f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001805: DUP6 00001806: AND 00001807: DUP5 00001808: DUP5 00001809: PUSH2 0x1ac8 0000180c: JUMP 0000180d: JUMPDEST 0000180e: PUSH1 0x40 00001810: MLOAD 00001811: PUSH32 0xab14782800000000000000000000000000000000000000000000000000000000 00001832: DUP2 00001833: MSTORE 00001834: PUSH32 0xf004fc6ea02a304b9cbbcde3610a3cda0aa9597cfd77f6073c24138bc99c073e 00001855: PUSH1 0x04 00001857: DUP3 00001858: ADD 00001859: DUP2 0000185a: SWAP1 0000185b: MSTORE 0000185c: SWAP1 0000185d: PUSH32 0x000000000000000000000000fbb3c976302e2e58a5467887e9150a8083bdcd4a 0000187e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001893: AND 00001894: SWAP1 00001895: PUSH4 0xab147828 0000189a: SWAP1 0000189b: PUSH1 0x24 0000189d: ADD 0000189e: PUSH1 0x20 000018a0: PUSH1 0x40 000018a2: MLOAD 000018a3: DUP1 000018a4: DUP4 000018a5: SUB 000018a6: DUP2 000018a7: DUP7 000018a8: GAS 000018a9: STATICCALL 000018aa: ISZERO 000018ab: DUP1 000018ac: ISZERO 000018ad: PUSH2 0x18ba 000018b0: JUMPI 000018b1: RETURNDATASIZE 000018b2: PUSH1 0x00 000018b4: DUP1 000018b5: RETURNDATACOPY 000018b6: RETURNDATASIZE 000018b7: PUSH1 0x00 000018b9: REVERT 000018ba: JUMPDEST 000018bb: POP 000018bc: POP 000018bd: POP 000018be: POP 000018bf: PUSH1 0x40 000018c1: MLOAD 000018c2: RETURNDATASIZE 000018c3: PUSH1 0x1f 000018c5: NOT 000018c6: PUSH1 0x1f 000018c8: DUP3 000018c9: ADD 000018ca: AND 000018cb: DUP3 000018cc: ADD 000018cd: DUP1 000018ce: PUSH1 0x40 000018d0: MSTORE 000018d1: POP 000018d2: DUP2 000018d3: ADD 000018d4: SWAP1 000018d5: PUSH2 0x18de 000018d8: SWAP2 000018d9: SWAP1 000018da: PUSH2 0x1fd8 000018dd: JUMP 000018de: JUMPDEST 000018df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018f4: AND 000018f5: CALLER 000018f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000190b: AND 0000190c: EQ 0000190d: PUSH2 0x194b 00001910: JUMPI 00001911: PUSH1 0x40 00001913: MLOAD 00001914: PUSH32 0x297b9c3b00000000000000000000000000000000000000000000000000000000 00001935: DUP2 00001936: MSTORE 00001937: PUSH1 0x04 00001939: DUP2 0000193a: ADD 0000193b: DUP3 0000193c: SWAP1 0000193d: MSTORE 0000193e: CALLER 0000193f: PUSH1 0x24 00001941: DUP3 00001942: ADD 00001943: MSTORE 00001944: PUSH1 0x44 00001946: ADD 00001947: PUSH2 0x069f 0000194a: JUMP 0000194b: JUMPDEST 0000194c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001961: DUP5 00001962: DUP2 00001963: AND 00001964: PUSH1 0x00 00001966: DUP2 00001967: DUP2 00001968: MSTORE 00001969: PUSH1 0x05 0000196b: PUSH1 0x20 0000196d: SWAP1 0000196e: DUP2 0000196f: MSTORE 00001970: PUSH1 0x40 00001972: DUP1 00001973: DUP4 00001974: KECCAK256 00001975: SWAP5 00001976: DUP9 00001977: AND 00001978: DUP1 00001979: DUP5 0000197a: MSTORE 0000197b: SWAP5 0000197c: DUP3 0000197d: MSTORE 0000197e: SWAP2 0000197f: DUP3 00001980: SWAP1 00001981: KECCAK256 00001982: DUP7 00001983: SWAP1 00001984: SSTORE 00001985: SWAP1 00001986: MLOAD 00001987: DUP6 00001988: DUP2 00001989: MSTORE 0000198a: CALLER 0000198b: SWAP2 0000198c: PUSH32 0xcefa6dd74b4326472ad4ae0e8eb8fd2069f95052a43887279c0369a344370c0a 000019ad: SWAP2 000019ae: ADD 000019af: PUSH1 0x40 000019b1: MLOAD 000019b2: DUP1 000019b3: SWAP2 000019b4: SUB 000019b5: SWAP1 000019b6: LOG4 000019b7: POP 000019b8: POP 000019b9: POP 000019ba: POP 000019bb: JUMP 000019bc: JUMPDEST 000019bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019d2: DUP2 000019d3: AND 000019d4: PUSH1 0x00 000019d6: SWAP1 000019d7: DUP2 000019d8: MSTORE 000019d9: PUSH1 0x01 000019db: DUP4 000019dc: ADD 000019dd: PUSH1 0x20 000019df: MSTORE 000019e0: PUSH1 0x40 000019e2: DUP2 000019e3: KECCAK256 000019e4: SLOAD 000019e5: ISZERO 000019e6: ISZERO 000019e7: JUMPDEST 000019e8: SWAP4 000019e9: SWAP3 000019ea: POP 000019eb: POP 000019ec: POP 000019ed: JUMP 000019ee: JUMPDEST 000019ef: PUSH1 0x00 000019f1: PUSH2 0x19e7 000019f4: DUP4 000019f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a0a: DUP5 00001a0b: AND 00001a0c: PUSH2 0x1b06 00001a0f: JUMP 00001a10: JUMPDEST 00001a11: PUSH1 0x00 00001a13: PUSH2 0x19e7 00001a16: DUP4 00001a17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a2c: DUP5 00001a2d: AND 00001a2e: PUSH2 0x1bf9 00001a31: JUMP 00001a32: JUMPDEST 00001a33: PUSH1 0x40 00001a35: MLOAD 00001a36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a4b: DUP5 00001a4c: DUP2 00001a4d: AND 00001a4e: PUSH1 0x24 00001a50: DUP4 00001a51: ADD 00001a52: MSTORE 00001a53: DUP4 00001a54: DUP2 00001a55: AND 00001a56: PUSH1 0x44 00001a58: DUP4 00001a59: ADD 00001a5a: MSTORE 00001a5b: PUSH1 0x64 00001a5d: DUP3 00001a5e: ADD 00001a5f: DUP4 00001a60: SWAP1 00001a61: MSTORE 00001a62: PUSH2 0x0ede 00001a65: SWAP2 00001a66: DUP7 00001a67: SWAP2 00001a68: DUP3 00001a69: AND 00001a6a: SWAP1 00001a6b: PUSH4 0x23b872dd 00001a70: SWAP1 00001a71: PUSH1 0x84 00001a73: ADD 00001a74: JUMPDEST 00001a75: PUSH1 0x40 00001a77: MLOAD 00001a78: PUSH1 0x20 00001a7a: DUP2 00001a7b: DUP4 00001a7c: SUB 00001a7d: SUB 00001a7e: DUP2 00001a7f: MSTORE 00001a80: SWAP1 00001a81: PUSH1 0x40 00001a83: MSTORE 00001a84: SWAP2 00001a85: POP 00001a86: PUSH1 0xe0 00001a88: SHL 00001a89: PUSH1 0x20 00001a8b: DUP3 00001a8c: ADD 00001a8d: DUP1 00001a8e: MLOAD 00001a8f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001aac: DUP4 00001aad: DUP2 00001aae: DUP4 00001aaf: AND 00001ab0: OR 00001ab1: DUP4 00001ab2: MSTORE 00001ab3: POP 00001ab4: POP 00001ab5: POP 00001ab6: POP 00001ab7: PUSH2 0x1c48 00001aba: JUMP 00001abb: JUMPDEST 00001abc: PUSH1 0x60 00001abe: PUSH1 0x00 00001ac0: PUSH2 0x19e7 00001ac3: DUP4 00001ac4: PUSH2 0x1cec 00001ac7: JUMP 00001ac8: JUMPDEST 00001ac9: PUSH1 0x40 00001acb: MLOAD 00001acc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ae1: DUP4 00001ae2: DUP2 00001ae3: AND 00001ae4: PUSH1 0x24 00001ae6: DUP4 00001ae7: ADD 00001ae8: MSTORE 00001ae9: PUSH1 0x44 00001aeb: DUP3 00001aec: ADD 00001aed: DUP4 00001aee: SWAP1 00001aef: MSTORE 00001af0: PUSH2 0x0b2d 00001af3: SWAP2 00001af4: DUP6 00001af5: SWAP2 00001af6: DUP3 00001af7: AND 00001af8: SWAP1 00001af9: PUSH4 0xa9059cbb 00001afe: SWAP1 00001aff: PUSH1 0x64 00001b01: ADD 00001b02: PUSH2 0x1a74 00001b05: JUMP 00001b06: JUMPDEST 00001b07: PUSH1 0x00 00001b09: DUP2 00001b0a: DUP2 00001b0b: MSTORE 00001b0c: PUSH1 0x01 00001b0e: DUP4 00001b0f: ADD 00001b10: PUSH1 0x20 00001b12: MSTORE 00001b13: PUSH1 0x40 00001b15: DUP2 00001b16: KECCAK256 00001b17: SLOAD 00001b18: DUP1 00001b19: ISZERO 00001b1a: PUSH2 0x1bef 00001b1d: JUMPI 00001b1e: PUSH1 0x00 00001b20: PUSH2 0x1b2a 00001b23: PUSH1 0x01 00001b25: DUP4 00001b26: PUSH2 0x2061 00001b29: JUMP 00001b2a: JUMPDEST 00001b2b: DUP6 00001b2c: SLOAD 00001b2d: SWAP1 00001b2e: SWAP2 00001b2f: POP 00001b30: PUSH1 0x00 00001b32: SWAP1 00001b33: PUSH2 0x1b3e 00001b36: SWAP1 00001b37: PUSH1 0x01 00001b39: SWAP1 00001b3a: PUSH2 0x2061 00001b3d: JUMP 00001b3e: JUMPDEST 00001b3f: SWAP1 00001b40: POP 00001b41: DUP1 00001b42: DUP3 00001b43: EQ 00001b44: PUSH2 0x1ba3 00001b47: JUMPI 00001b48: PUSH1 0x00 00001b4a: DUP7 00001b4b: PUSH1 0x00 00001b4d: ADD 00001b4e: DUP3 00001b4f: DUP2 00001b50: SLOAD 00001b51: DUP2 00001b52: LT 00001b53: PUSH2 0x1b5e 00001b56: JUMPI 00001b57: PUSH2 0x1b5e 00001b5a: PUSH2 0x209b 00001b5d: JUMP 00001b5e: JUMPDEST 00001b5f: SWAP1 00001b60: PUSH1 0x00 00001b62: MSTORE 00001b63: PUSH1 0x20 00001b65: PUSH1 0x00 00001b67: KECCAK256 00001b68: ADD 00001b69: SLOAD 00001b6a: SWAP1 00001b6b: POP 00001b6c: DUP1 00001b6d: DUP8 00001b6e: PUSH1 0x00 00001b70: ADD 00001b71: DUP5 00001b72: DUP2 00001b73: SLOAD 00001b74: DUP2 00001b75: LT 00001b76: PUSH2 0x1b81 00001b79: JUMPI 00001b7a: PUSH2 0x1b81 00001b7d: PUSH2 0x209b 00001b80: JUMP 00001b81: JUMPDEST 00001b82: PUSH1 0x00 00001b84: SWAP2 00001b85: DUP3 00001b86: MSTORE 00001b87: PUSH1 0x20 00001b89: DUP1 00001b8a: DUP4 00001b8b: KECCAK256 00001b8c: SWAP1 00001b8d: SWAP2 00001b8e: ADD 00001b8f: SWAP3 00001b90: SWAP1 00001b91: SWAP3 00001b92: SSTORE 00001b93: SWAP2 00001b94: DUP3 00001b95: MSTORE 00001b96: PUSH1 0x01 00001b98: DUP9 00001b99: ADD 00001b9a: SWAP1 00001b9b: MSTORE 00001b9c: PUSH1 0x40 00001b9e: SWAP1 00001b9f: KECCAK256 00001ba0: DUP4 00001ba1: SWAP1 00001ba2: SSTORE 00001ba3: JUMPDEST 00001ba4: DUP6 00001ba5: SLOAD 00001ba6: DUP7 00001ba7: SWAP1 00001ba8: DUP1 00001ba9: PUSH2 0x1bb4 00001bac: JUMPI 00001bad: PUSH2 0x1bb4 00001bb0: PUSH2 0x20ca 00001bb3: JUMP 00001bb4: JUMPDEST 00001bb5: PUSH1 0x01 00001bb7: SWAP1 00001bb8: SUB 00001bb9: DUP2 00001bba: DUP2 00001bbb: SWAP1 00001bbc: PUSH1 0x00 00001bbe: MSTORE 00001bbf: PUSH1 0x20 00001bc1: PUSH1 0x00 00001bc3: KECCAK256 00001bc4: ADD 00001bc5: PUSH1 0x00 00001bc7: SWAP1 00001bc8: SSTORE 00001bc9: SWAP1 00001bca: SSTORE 00001bcb: DUP6 00001bcc: PUSH1 0x01 00001bce: ADD 00001bcf: PUSH1 0x00 00001bd1: DUP7 00001bd2: DUP2 00001bd3: MSTORE 00001bd4: PUSH1 0x20 00001bd6: ADD 00001bd7: SWAP1 00001bd8: DUP2 00001bd9: MSTORE 00001bda: PUSH1 0x20 00001bdc: ADD 00001bdd: PUSH1 0x00 00001bdf: KECCAK256 00001be0: PUSH1 0x00 00001be2: SWAP1 00001be3: SSTORE 00001be4: PUSH1 0x01 00001be6: SWAP4 00001be7: POP 00001be8: POP 00001be9: POP 00001bea: POP 00001beb: PUSH2 0x059b 00001bee: JUMP 00001bef: JUMPDEST 00001bf0: PUSH1 0x00 00001bf2: SWAP2 00001bf3: POP 00001bf4: POP 00001bf5: PUSH2 0x059b 00001bf8: JUMP 00001bf9: JUMPDEST 00001bfa: PUSH1 0x00 00001bfc: DUP2 00001bfd: DUP2 00001bfe: MSTORE 00001bff: PUSH1 0x01 00001c01: DUP4 00001c02: ADD 00001c03: PUSH1 0x20 00001c05: MSTORE 00001c06: PUSH1 0x40 00001c08: DUP2 00001c09: KECCAK256 00001c0a: SLOAD 00001c0b: PUSH2 0x1c40 00001c0e: JUMPI 00001c0f: POP 00001c10: DUP2 00001c11: SLOAD 00001c12: PUSH1 0x01 00001c14: DUP2 00001c15: DUP2 00001c16: ADD 00001c17: DUP5 00001c18: SSTORE 00001c19: PUSH1 0x00 00001c1b: DUP5 00001c1c: DUP2 00001c1d: MSTORE 00001c1e: PUSH1 0x20 00001c20: DUP1 00001c21: DUP3 00001c22: KECCAK256 00001c23: SWAP1 00001c24: SWAP4 00001c25: ADD 00001c26: DUP5 00001c27: SWAP1 00001c28: SSTORE 00001c29: DUP5 00001c2a: SLOAD 00001c2b: DUP5 00001c2c: DUP3 00001c2d: MSTORE 00001c2e: DUP3 00001c2f: DUP7 00001c30: ADD 00001c31: SWAP1 00001c32: SWAP4 00001c33: MSTORE 00001c34: PUSH1 0x40 00001c36: SWAP1 00001c37: KECCAK256 00001c38: SWAP2 00001c39: SWAP1 00001c3a: SWAP2 00001c3b: SSTORE 00001c3c: PUSH2 0x059b 00001c3f: JUMP 00001c40: JUMPDEST 00001c41: POP 00001c42: PUSH1 0x00 00001c44: PUSH2 0x059b 00001c47: JUMP 00001c48: JUMPDEST 00001c49: PUSH1 0x00 00001c4b: DUP1 00001c4c: PUSH1 0x20 00001c4e: PUSH1 0x00 00001c50: DUP5 00001c51: MLOAD 00001c52: PUSH1 0x20 00001c54: DUP7 00001c55: ADD 00001c56: PUSH1 0x00 00001c58: DUP9 00001c59: GAS 00001c5a: CALL 00001c5b: DUP1 00001c5c: PUSH2 0x1c6b 00001c5f: JUMPI 00001c60: PUSH1 0x40 00001c62: MLOAD 00001c63: RETURNDATASIZE 00001c64: PUSH1 0x00 00001c66: DUP3 00001c67: RETURNDATACOPY 00001c68: RETURNDATASIZE 00001c69: DUP2 00001c6a: REVERT 00001c6b: JUMPDEST 00001c6c: POP 00001c6d: POP 00001c6e: PUSH1 0x00 00001c70: MLOAD 00001c71: RETURNDATASIZE 00001c72: SWAP2 00001c73: POP 00001c74: DUP2 00001c75: ISZERO 00001c76: PUSH2 0x1c83 00001c79: JUMPI 00001c7a: DUP1 00001c7b: PUSH1 0x01 00001c7d: EQ 00001c7e: ISZERO 00001c7f: PUSH2 0x1c9d 00001c82: JUMP 00001c83: JUMPDEST 00001c84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c99: DUP5 00001c9a: AND 00001c9b: EXTCODESIZE 00001c9c: ISZERO 00001c9d: JUMPDEST 00001c9e: ISZERO 00001c9f: PUSH2 0x0ede 00001ca2: JUMPI 00001ca3: PUSH1 0x40 00001ca5: MLOAD 00001ca6: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000 00001cc7: DUP2 00001cc8: MSTORE 00001cc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cde: DUP6 00001cdf: AND 00001ce0: PUSH1 0x04 00001ce2: DUP3 00001ce3: ADD 00001ce4: MSTORE 00001ce5: PUSH1 0x24 00001ce7: ADD 00001ce8: PUSH2 0x069f 00001ceb: JUMP 00001cec: JUMPDEST 00001ced: PUSH1 0x60 00001cef: DUP2 00001cf0: PUSH1 0x00 00001cf2: ADD 00001cf3: DUP1 00001cf4: SLOAD 00001cf5: DUP1 00001cf6: PUSH1 0x20 00001cf8: MUL 00001cf9: PUSH1 0x20 00001cfb: ADD 00001cfc: PUSH1 0x40 00001cfe: MLOAD 00001cff: SWAP1 00001d00: DUP2 00001d01: ADD 00001d02: PUSH1 0x40 00001d04: MSTORE 00001d05: DUP1 00001d06: SWAP3 00001d07: SWAP2 00001d08: SWAP1 00001d09: DUP2 00001d0a: DUP2 00001d0b: MSTORE 00001d0c: PUSH1 0x20 00001d0e: ADD 00001d0f: DUP3 00001d10: DUP1 00001d11: SLOAD 00001d12: DUP1 00001d13: ISZERO 00001d14: PUSH2 0x1d3c 00001d17: JUMPI 00001d18: PUSH1 0x20 00001d1a: MUL 00001d1b: DUP3 00001d1c: ADD 00001d1d: SWAP2 00001d1e: SWAP1 00001d1f: PUSH1 0x00 00001d21: MSTORE 00001d22: PUSH1 0x20 00001d24: PUSH1 0x00 00001d26: KECCAK256 00001d27: SWAP1 00001d28: JUMPDEST 00001d29: DUP2 00001d2a: SLOAD 00001d2b: DUP2 00001d2c: MSTORE 00001d2d: PUSH1 0x20 00001d2f: ADD 00001d30: SWAP1 00001d31: PUSH1 0x01 00001d33: ADD 00001d34: SWAP1 00001d35: DUP1 00001d36: DUP4 00001d37: GT 00001d38: PUSH2 0x1d28 00001d3b: JUMPI 00001d3c: JUMPDEST 00001d3d: POP 00001d3e: POP 00001d3f: POP 00001d40: POP 00001d41: POP 00001d42: SWAP1 00001d43: POP 00001d44: SWAP2 00001d45: SWAP1 00001d46: POP 00001d47: JUMP 00001d48: JUMPDEST 00001d49: PUSH1 0x00 00001d4b: PUSH1 0x20 00001d4d: DUP3 00001d4e: DUP5 00001d4f: SUB 00001d50: SLT 00001d51: ISZERO 00001d52: PUSH2 0x1d5a 00001d55: JUMPI 00001d56: PUSH1 0x00 00001d58: DUP1 00001d59: REVERT 00001d5a: JUMPDEST 00001d5b: DUP2 00001d5c: CALLDATALOAD 00001d5d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001d7e: DUP2 00001d7f: AND 00001d80: DUP2 00001d81: EQ 00001d82: PUSH2 0x19e7 00001d85: JUMPI 00001d86: PUSH1 0x00 00001d88: DUP1 00001d89: REVERT 00001d8a: JUMPDEST 00001d8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001da0: DUP2 00001da1: AND 00001da2: DUP2 00001da3: EQ 00001da4: PUSH2 0x1dac 00001da7: JUMPI 00001da8: PUSH1 0x00 00001daa: DUP1 00001dab: REVERT 00001dac: JUMPDEST 00001dad: POP 00001dae: JUMP 00001daf: JUMPDEST 00001db0: PUSH1 0x00 00001db2: PUSH1 0x20 00001db4: DUP3 00001db5: DUP5 00001db6: SUB 00001db7: SLT 00001db8: ISZERO 00001db9: PUSH2 0x1dc1 00001dbc: JUMPI 00001dbd: PUSH1 0x00 00001dbf: DUP1 00001dc0: REVERT 00001dc1: JUMPDEST 00001dc2: DUP2 00001dc3: CALLDATALOAD 00001dc4: PUSH2 0x19e7 00001dc7: DUP2 00001dc8: PUSH2 0x1d8a 00001dcb: JUMP 00001dcc: JUMPDEST 00001dcd: DUP1 00001dce: CALLDATALOAD 00001dcf: PUSH2 0xffff 00001dd2: DUP2 00001dd3: AND 00001dd4: DUP2 00001dd5: EQ 00001dd6: PUSH2 0x1dde 00001dd9: JUMPI 00001dda: PUSH1 0x00 00001ddc: DUP1 00001ddd: REVERT 00001dde: JUMPDEST 00001ddf: SWAP2 00001de0: SWAP1 00001de1: POP 00001de2: JUMP 00001de3: JUMPDEST 00001de4: PUSH1 0x00 00001de6: DUP1 00001de7: PUSH1 0x40 00001de9: DUP4 00001dea: DUP6 00001deb: SUB 00001dec: SLT 00001ded: ISZERO 00001dee: PUSH2 0x1df6 00001df1: JUMPI 00001df2: PUSH1 0x00 00001df4: DUP1 00001df5: REVERT 00001df6: JUMPDEST 00001df7: PUSH2 0x1dff 00001dfa: DUP4 00001dfb: PUSH2 0x1dcc 00001dfe: JUMP 00001dff: JUMPDEST 00001e00: SWAP5 00001e01: PUSH1 0x20 00001e03: SWAP4 00001e04: SWAP1 00001e05: SWAP4 00001e06: ADD 00001e07: CALLDATALOAD 00001e08: SWAP4 00001e09: POP 00001e0a: POP 00001e0b: POP 00001e0c: JUMP 00001e0d: JUMPDEST 00001e0e: PUSH1 0x00 00001e10: PUSH1 0x20 00001e12: DUP3 00001e13: DUP5 00001e14: SUB 00001e15: SLT 00001e16: ISZERO 00001e17: PUSH2 0x1e1f 00001e1a: JUMPI 00001e1b: PUSH1 0x00 00001e1d: DUP1 00001e1e: REVERT 00001e1f: JUMPDEST 00001e20: PUSH2 0x19e7 00001e23: DUP3 00001e24: PUSH2 0x1dcc 00001e27: JUMP 00001e28: JUMPDEST 00001e29: PUSH1 0x00 00001e2b: DUP1 00001e2c: PUSH1 0x40 00001e2e: DUP4 00001e2f: DUP6 00001e30: SUB 00001e31: SLT 00001e32: ISZERO 00001e33: PUSH2 0x1e3b 00001e36: JUMPI 00001e37: PUSH1 0x00 00001e39: DUP1 00001e3a: REVERT 00001e3b: JUMPDEST 00001e3c: DUP3 00001e3d: CALLDATALOAD 00001e3e: PUSH2 0x1dff 00001e41: DUP2 00001e42: PUSH2 0x1d8a 00001e45: JUMP 00001e46: JUMPDEST 00001e47: PUSH1 0x20 00001e49: DUP2 00001e4a: MSTORE 00001e4b: PUSH1 0x00 00001e4d: DUP3 00001e4e: MLOAD 00001e4f: PUSH1 0x60 00001e51: PUSH1 0x20 00001e53: DUP5 00001e54: ADD 00001e55: MSTORE 00001e56: DUP1 00001e57: MLOAD 00001e58: DUP1 00001e59: PUSH1 0x80 00001e5b: DUP6 00001e5c: ADD 00001e5d: MSTORE 00001e5e: PUSH1 0x00 00001e60: JUMPDEST 00001e61: DUP2 00001e62: DUP2 00001e63: LT 00001e64: ISZERO 00001e65: PUSH2 0x1e7d 00001e68: JUMPI 00001e69: PUSH1 0x20 00001e6b: DUP2 00001e6c: DUP5 00001e6d: ADD 00001e6e: DUP2 00001e6f: ADD 00001e70: MLOAD 00001e71: PUSH1 0xa0 00001e73: DUP8 00001e74: DUP5 00001e75: ADD 00001e76: ADD 00001e77: MSTORE 00001e78: ADD 00001e79: PUSH2 0x1e60 00001e7c: JUMP 00001e7d: JUMPDEST 00001e7e: POP 00001e7f: PUSH1 0x00 00001e81: DUP5 00001e82: DUP3 00001e83: ADD 00001e84: PUSH1 0xa0 00001e86: ADD 00001e87: MSTORE 00001e88: PUSH1 0x20 00001e8a: DUP6 00001e8b: ADD 00001e8c: MLOAD 00001e8d: PUSH2 0xffff 00001e90: DUP2 00001e91: AND 00001e92: PUSH1 0x40 00001e94: DUP7 00001e95: ADD 00001e96: MSTORE 00001e97: SWAP2 00001e98: POP 00001e99: PUSH1 0x40 00001e9b: SWAP5 00001e9c: SWAP1 00001e9d: SWAP5 00001e9e: ADD 00001e9f: MLOAD 00001ea0: PUSH1 0x60 00001ea2: DUP5 00001ea3: ADD 00001ea4: MSTORE 00001ea5: POP 00001ea6: POP 00001ea7: PUSH1 0xa0 00001ea9: PUSH1 0x1f 00001eab: SWAP1 00001eac: SWAP3 00001ead: ADD 00001eae: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001ecf: AND 00001ed0: ADD 00001ed1: ADD 00001ed2: SWAP1 00001ed3: JUMP 00001ed4: JUMPDEST 00001ed5: PUSH1 0x00 00001ed7: DUP1 00001ed8: PUSH1 0x00 00001eda: PUSH1 0x60 00001edc: DUP5 00001edd: DUP7 00001ede: SUB 00001edf: SLT 00001ee0: ISZERO 00001ee1: PUSH2 0x1ee9 00001ee4: JUMPI 00001ee5: PUSH1 0x00 00001ee7: DUP1 00001ee8: REVERT 00001ee9: JUMPDEST 00001eea: DUP4 00001eeb: CALLDATALOAD 00001eec: PUSH2 0x1ef4 00001eef: DUP2 00001ef0: PUSH2 0x1d8a 00001ef3: JUMP 00001ef4: JUMPDEST 00001ef5: SWAP3 00001ef6: POP 00001ef7: PUSH1 0x20 00001ef9: DUP5 00001efa: ADD 00001efb: CALLDATALOAD 00001efc: PUSH2 0x1f04 00001eff: DUP2 00001f00: PUSH2 0x1d8a 00001f03: JUMP 00001f04: JUMPDEST 00001f05: SWAP3 00001f06: SWAP6 00001f07: SWAP3 00001f08: SWAP5 00001f09: POP 00001f0a: POP 00001f0b: POP 00001f0c: PUSH1 0x40 00001f0e: SWAP2 00001f0f: SWAP1 00001f10: SWAP2 00001f11: ADD 00001f12: CALLDATALOAD 00001f13: SWAP1 00001f14: JUMP 00001f15: JUMPDEST 00001f16: PUSH1 0x20 00001f18: DUP1 00001f19: DUP3 00001f1a: MSTORE 00001f1b: DUP3 00001f1c: MLOAD 00001f1d: DUP3 00001f1e: DUP3 00001f1f: ADD 00001f20: DUP2 00001f21: SWAP1 00001f22: MSTORE 00001f23: PUSH1 0x00 00001f25: SWAP2 00001f26: DUP5 00001f27: ADD 00001f28: SWAP1 00001f29: PUSH1 0x40 00001f2b: DUP5 00001f2c: ADD 00001f2d: SWAP1 00001f2e: DUP4 00001f2f: JUMPDEST 00001f30: DUP2 00001f31: DUP2 00001f32: LT 00001f33: ISZERO 00001f34: PUSH2 0x1f63 00001f37: JUMPI 00001f38: DUP4 00001f39: MLOAD 00001f3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f4f: AND 00001f50: DUP4 00001f51: MSTORE 00001f52: PUSH1 0x20 00001f54: SWAP4 00001f55: DUP5 00001f56: ADD 00001f57: SWAP4 00001f58: SWAP1 00001f59: SWAP3 00001f5a: ADD 00001f5b: SWAP2 00001f5c: PUSH1 0x01 00001f5e: ADD 00001f5f: PUSH2 0x1f2f 00001f62: JUMP 00001f63: JUMPDEST 00001f64: POP 00001f65: SWAP1 00001f66: SWAP6 00001f67: SWAP5 00001f68: POP 00001f69: POP 00001f6a: POP 00001f6b: POP 00001f6c: POP 00001f6d: JUMP 00001f6e: JUMPDEST 00001f6f: PUSH1 0x00 00001f71: DUP1 00001f72: PUSH1 0x40 00001f74: DUP4 00001f75: DUP6 00001f76: SUB 00001f77: SLT 00001f78: ISZERO 00001f79: PUSH2 0x1f81 00001f7c: JUMPI 00001f7d: PUSH1 0x00 00001f7f: DUP1 00001f80: REVERT 00001f81: JUMPDEST 00001f82: PUSH2 0x1f8a 00001f85: DUP4 00001f86: PUSH2 0x1dcc 00001f89: JUMP 00001f8a: JUMPDEST 00001f8b: SWAP2 00001f8c: POP 00001f8d: PUSH1 0x20 00001f8f: DUP4 00001f90: ADD 00001f91: CALLDATALOAD 00001f92: DUP1 00001f93: ISZERO 00001f94: ISZERO 00001f95: DUP2 00001f96: EQ 00001f97: PUSH2 0x1f9f 00001f9a: JUMPI 00001f9b: PUSH1 0x00 00001f9d: DUP1 00001f9e: REVERT 00001f9f: JUMPDEST 00001fa0: DUP1 00001fa1: SWAP2 00001fa2: POP 00001fa3: POP 00001fa4: SWAP3 00001fa5: POP 00001fa6: SWAP3 00001fa7: SWAP1 00001fa8: POP 00001fa9: JUMP 00001faa: JUMPDEST 00001fab: PUSH1 0x00 00001fad: DUP1 00001fae: PUSH1 0x40 00001fb0: DUP4 00001fb1: DUP6 00001fb2: SUB 00001fb3: SLT 00001fb4: ISZERO 00001fb5: PUSH2 0x1fbd 00001fb8: JUMPI 00001fb9: PUSH1 0x00 00001fbb: DUP1 00001fbc: REVERT 00001fbd: JUMPDEST 00001fbe: DUP3 00001fbf: CALLDATALOAD 00001fc0: PUSH2 0x1fc8 00001fc3: DUP2 00001fc4: PUSH2 0x1d8a 00001fc7: JUMP 00001fc8: JUMPDEST 00001fc9: SWAP2 00001fca: POP 00001fcb: PUSH1 0x20 00001fcd: DUP4 00001fce: ADD 00001fcf: CALLDATALOAD 00001fd0: PUSH2 0x1f9f 00001fd3: DUP2 00001fd4: PUSH2 0x1d8a 00001fd7: JUMP 00001fd8: JUMPDEST 00001fd9: PUSH1 0x00 00001fdb: PUSH1 0x20 00001fdd: DUP3 00001fde: DUP5 00001fdf: SUB 00001fe0: SLT 00001fe1: ISZERO 00001fe2: PUSH2 0x1fea 00001fe5: JUMPI 00001fe6: PUSH1 0x00 00001fe8: DUP1 00001fe9: REVERT 00001fea: JUMPDEST 00001feb: DUP2 00001fec: MLOAD 00001fed: PUSH2 0x19e7 00001ff0: DUP2 00001ff1: PUSH2 0x1d8a 00001ff4: JUMP 00001ff5: JUMPDEST 00001ff6: PUSH1 0x01 00001ff8: DUP2 00001ff9: DUP2 00001ffa: SHR 00001ffb: SWAP1 00001ffc: DUP3 00001ffd: AND 00001ffe: DUP1 00001fff: PUSH2 0x2009 00002002: JUMPI 00002003: PUSH1 0x7f 00002005: DUP3 00002006: AND 00002007: SWAP2 00002008: POP 00002009: JUMPDEST 0000200a: PUSH1 0x20 0000200c: DUP3 0000200d: LT 0000200e: DUP2 0000200f: SUB 00002010: PUSH2 0x2042 00002013: JUMPI 00002014: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002035: PUSH1 0x00 00002037: MSTORE 00002038: PUSH1 0x22 0000203a: PUSH1 0x04 0000203c: MSTORE 0000203d: PUSH1 0x24 0000203f: PUSH1 0x00 00002041: REVERT 00002042: JUMPDEST 00002043: POP 00002044: SWAP2 00002045: SWAP1 00002046: POP 00002047: JUMP 00002048: JUMPDEST 00002049: PUSH1 0x00 0000204b: PUSH1 0x20 0000204d: DUP3 0000204e: DUP5 0000204f: SUB 00002050: SLT 00002051: ISZERO 00002052: PUSH2 0x205a 00002055: JUMPI 00002056: PUSH1 0x00 00002058: DUP1 00002059: REVERT 0000205a: JUMPDEST 0000205b: POP 0000205c: MLOAD 0000205d: SWAP2 0000205e: SWAP1 0000205f: POP 00002060: JUMP 00002061: JUMPDEST 00002062: DUP2 00002063: DUP2 00002064: SUB 00002065: DUP2 00002066: DUP2 00002067: GT 00002068: ISZERO 00002069: PUSH2 0x059b 0000206c: JUMPI 0000206d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000208e: PUSH1 0x00 00002090: MSTORE 00002091: PUSH1 0x11 00002093: PUSH1 0x04 00002095: MSTORE 00002096: PUSH1 0x24 00002098: PUSH1 0x00 0000209a: REVERT 0000209b: JUMPDEST 0000209c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000020bd: PUSH1 0x00 000020bf: MSTORE 000020c0: PUSH1 0x32 000020c2: PUSH1 0x04 000020c4: MSTORE 000020c5: PUSH1 0x24 000020c7: PUSH1 0x00 000020c9: REVERT 000020ca: JUMPDEST 000020cb: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000020ec: PUSH1 0x00 000020ee: MSTORE 000020ef: PUSH1 0x31 000020f1: PUSH1 0x04 000020f3: MSTORE 000020f4: PUSH1 0x24 000020f6: PUSH1 0x00 000020f8: REVERT 000020f9: INVALID 000020fa: LOG2 000020fb: PUSH5 0x6970667358 00002101: UNKNOWN(0x22) 00002102: SLT 00002103: KECCAK256 00002104: BYTE 00002105: PUSH7 0xf58f0e1131d3f8 0000210d: TLOAD 0000210e: NUMBER 0000210f: UNKNOWN(0xAE) 00002110: ADDRESS 00002111: TIMESTAMP 00002112: SDIV 00002113: CODECOPY 00002114: DUP6 00002115: PUSH8 0x207c0a2f81272984 0000211e: UNKNOWN(0xA9) 0000211f: CHAINID 00002120: BYTE 00002121: BLOBBASEFEE 00002122: SWAP15 00002123: PUSH1 0x64 00002125: PUSH20
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x95cd65feb271063431e2e82ac4c78b51a4c3283d1925afb4f6fc5f7d53eb3cac
call_targets:
0x7094d8cb2b02a3899cae5af16e0cb00f8bcd1862
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x95cd65feb271063431e2e82ac4c78b51a4c3283d1925afb4f6fc5f7d53eb3cac",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7094d8cb2b02a3899cae5af16e0cb00f8bcd1862"
],
"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": "0xca93513f",
"selector": "0xca93513f",
"calldata_variants": [
"0xca93513f",
"0xca93513f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7aefdd9",
"selector": "0xd7aefdd9",
"calldata_variants": [
"0xd7aefdd9",
"0xd7aefdd90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd9caed12",
"selector": "0xd9caed12",
"calldata_variants": [
"0xd9caed12",
"0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfcd804c6",
"selector": "0xfcd804c6",
"calldata_variants": [
"0xfcd804c6",
"0xfcd804c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8fc24b53",
"selector": "0x8fc24b53",
"calldata_variants": [
"0x8fc24b53",
"0x8fc24b530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab7ef4e9",
"selector": "0xab7ef4e9",
"calldata_variants": [
"0xab7ef4e9",
"0xab7ef4e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc5fa071f",
"selector": "0xc5fa071f",
"calldata_variants": [
"0xc5fa071f",
"0xc5fa071f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85edc839",
"selector": "0x85edc839",
"calldata_variants": [
"0x85edc839",
"0x85edc8390000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7258,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 1,
"guards_detected": [
{
"pc": 1620,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1956,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2600,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3098,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3521,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4044,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4573,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5271,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5608,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6038,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6389,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x95cd65feb271063431e2e82ac4c78b51a4c3283d1925afb4f6fc5f7d53eb3cac
call_targets:
0x7094d8cb2b02a3899cae5af16e0cb00f8bcd1862
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x95cd65feb271063431e2e82ac4c78b51a4c3283d1925afb4f6fc5f7d53eb3cac",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7094d8cb2b02a3899cae5af16e0cb00f8bcd1862"
],
"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": "0xca93513f",
"selector": "0xca93513f",
"calldata_variants": [
"0xca93513f",
"0xca93513f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd7aefdd9",
"selector": "0xd7aefdd9",
"calldata_variants": [
"0xd7aefdd9",
"0xd7aefdd90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd9caed12",
"selector": "0xd9caed12",
"calldata_variants": [
"0xd9caed12",
"0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfcd804c6",
"selector": "0xfcd804c6",
"calldata_variants": [
"0xfcd804c6",
"0xfcd804c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8fc24b53",
"selector": "0x8fc24b53",
"calldata_variants": [
"0x8fc24b53",
"0x8fc24b530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab7ef4e9",
"selector": "0xab7ef4e9",
"calldata_variants": [
"0xab7ef4e9",
"0xab7ef4e90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc5fa071f",
"selector": "0xc5fa071f",
"calldata_variants": [
"0xc5fa071f",
"0xc5fa071f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85edc839",
"selector": "0x85edc839",
"calldata_variants": [
"0x85edc839",
"0x85edc8390000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 7258,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 1,
"guards_detected": [
{
"pc": 1620,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 1956,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2600,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3098,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3521,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4044,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 4573,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5271,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5608,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6038,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 6389,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| 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": 14
}
|