TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

a0129207-3457-487c-b938-0d378198980b

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 2:40 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
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

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, explainable security issues were identifiable from the provided runtime bytecode alone.
View stderr
[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":[]}
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
14
EXT*/BALANCE
1
Total opcodes
3677
Flags
call_family_heavy
View cast disassembly output
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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_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
view
trace_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
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 14
}