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

Analysis Run

a250b876-d55e-4c05-aa4d-3e0cec70822a

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 5:10 AM
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 DELEGATECALL target 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
31223 report.consolidate complete 1 / 1 3 months ago
95149 artifact.fetch complete 1 / 3 1 week ago
95150 tool.cast_disasm complete 1 / 3 1 week ago
95151 analysis.bundle complete 1 / 3 1 week ago
95152 capability.graph complete 1 / 3 1 week ago
95153 detector.run complete 1 / 3 1 week ago
95154 validation.fork complete 1 / 3 1 week 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
Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.
View stderr
[codex:934048] OpenAI Codex v0.77.0 (research preview)
[codex:934048] --------
[codex:934048] workdir: /tmp/codex-multi-nlyl7okb
[codex:934048] model: gpt-5.2-codex
[codex:934048] provider: openai
[codex:934048] approval: never
[codex:934048] sandbox: read-only
[codex:934048] reasoning effort: xhigh
[codex:934048] reasoning summaries: auto
[codex:934048] session id: 019b7d17-19f1-7c82-9ba6-04d43180ad66
[codex:934048] --------
[codex:934048] user
[codex:934048] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:934048] 
[codex:934048] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:934048] 
[codex:934048] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:934048] - Gas inefficiency, code quality, or best practices
[codex:934048] - Theoretical vulnerabilities without a clear extraction path
[codex:934048] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:934048] - Issues requiring social engineering or off-chain coordination
[codex:934048] 
[codex:934048] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:934048] - CALL/DELEGATECALL with controllable destination or calldata
[codex:934048] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:934048] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:934048] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:934048] - External calls before state updates (reentrancy)
[codex:934048] - SELFDESTRUCT with controllable beneficiary
[codex:934048] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:934048] 
[codex:934048] For each finding, you MUST explain:
[codex:934048] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:934048] 2. The concrete sequence of transactions to extract value
[codex:934048] 3. Why you believe this is exploitable (not just suspicious)
[codex:934048] 
[codex:934048] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:934048] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:934048] 
[codex:934048] Output MUST be valid JSON matching the provided schema.
[codex:934048] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:934048] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:934048] mcp startup: no servers
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Preparing to read BYTECODE_BUNDLE.txt**
[codex:934048] exec
[codex:934048] /bin/bash -lc ls in /tmp/codex-multi-nlyl7okb succeeded in 6ms:
[codex:934048] BYTECODE_BUNDLE.txt
[codex:934048] codex-output-schema.json
[codex:934048] exec
[codex:934048] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-nlyl7okb succeeded in 6ms:
[codex:934048] Runtime bytecode bundle for best-effort auditing.
[codex:934048] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:934048] 
[codex:934048] FILE: runtime_bytecode.hex
[codex:934048] 0x60806040523661000b57005b6001600160e01b0319600035167f05b9e1cd000000000000000000000000000000000000000000000000000000008101610049576100476101e5565b005b7c10000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100885761008061052d565b6100476109a5565b7c20000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100c7576100bf61052d565b610047610c7f565b7c30000000000000000000000000000000000000000000000000000000006001600160e01b03196000351610156101085761010061052d565b610047610f57565b7c40000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101475761013f61052d565b61004761104e565b7c50000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101dd576000546001600160a01b031633146101d55760405162461bcd60e51b815260206004820152600160248201527f520000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6100476111b0565b6100476113be565b608435606090811c90609835901c60ac3560e81c6004356024358385101561039857604080516001600160a01b03808816602083015286169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b03161461031a5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b50505050610526565b604080516001600160a01b03808716602083015287169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146104ab5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0386169063a9059cbb906044015b600060405180830381600087803b15801561050d57600080fd5b505af1158015610521573d6000803e3d6000fd5b505050505b5050505050565b6001600160a01b037f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae612316330361055f57565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af816330361059157565b6001600160a01b037f000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c1633036105c357565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af81633036105f557565b6001600160a01b037f00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc953616330361062757565b6001600160a01b037f000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a416330361065957565b6001600160a01b037f0000000000000000000000006549e6c5401a3135a116933717e887ec8e91754816330361068b57565b6001600160a01b037f000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b1633036106bd57565b6001600160a01b037f0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa94241633036106ef57565b6001600160a01b037f000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d3116330361072157565b6001600160a01b037f000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a716330361075357565b6001600160a01b037f000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d416330361078557565b6001600160a01b037f0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a1751633036107b757565b6001600160a01b037f000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b9021633036107e957565b6001600160a01b037f00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e16330361081b57565b6001600160a01b037f00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f49016330361084d57565b6001600160a01b037f000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f16330361087f57565b6001600160a01b037f00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d61633036108b157565b6001600160a01b037f0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae21633036108e357565b6001600160a01b037f0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e65916330361091557565b6001600160a01b037f0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c75116330361094757565b6000546001600160a01b0316330361095b57565b60405162461bcd60e51b815260206004820152600160248201527f410000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b565b6001600160e01b03196000358116016109c0576109a361143c565b7ffffffffe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a30576109fb61143c565b604051606f3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b5050565b7ffffffffc000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a6b576109a361187e565b7ffffffffb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610aa6576109a3611d60565b7ffffffffa000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b1257610ae1611d60565b60405160833590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7ffffffff9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b4d576109a3612178565b7ffffffff8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b88576109a361258e565b7ffffffff7000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610bc3576109a3612771565b7ffffffff6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a35743341015610c465760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610c4e612771565b60405160453590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b43341015610ccf5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000807fffffffef0000000000000000000000000000000000000000000000000000000081356001600160e01b03191601610d1c57606d359150610d1730600180600061299e565b610f1f565b7fffffffee000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610d6357606d359150610d173060006001600061299e565b7fffffffed000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610daf575050608135606d3560601c610d1781600180600061299e565b7fffffffec000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610dfb575050608135606d3560601c610d1781600060018161299e565b7fffffffeb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e4157606d359150610d1730600180600161299e565b7fffffffea000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e8c575050608135606d3560601c610d17816001808061299e565b7fffffffe9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610ed357606d359150610d173060016000600161299e565b7fffffffe8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610f1f575050608135606d3560601c610f1f81600160008161299e565b8115610a2c57604051419083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b505050565b7fffffffde000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110135743341015610fda5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610fe2613456565b60405160bc3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7fffffffdf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a3613456565b7fffffffcf000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611089576109a3613559565b7fffffffce000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110c4576109a36135c3565b7fffffffcd000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110ff576109a3613641565b7fffffffcc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161113a576109a36136ca565b7fffffffcb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611175576109a36137df565b7fffffffca000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a361392b565b7fffffffbf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016111eb576109a3613a5f565b7fffffffbd000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611226576109a3613b36565b7fffffffbe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611261576109a3613b8c565b7fffffffbc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161129c576109a3613d73565b7fffffffb8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611303576109a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660043560601c179055565b7fffffffb7000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161133e576109a3613eab565b7fffffffb6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a36001600160e01b031960043516600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660083560601c179055565b7f2cb78669000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016113f9576109a3613f37565b7fe9d94582000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611434576109a3614128565b6109a36141c9565b4334101561148c5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c9160383590911c90604c3560e81c90604f3590602b8486101561169057604080516001600160a01b03808916602083015287169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906115c49030906001908f906401000276a4908c908c906004016146a3565b60408051808303816000875af11580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190614700565b9150915060008a1315611654578561161d82614753565b101561164f5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611688565b858211156116885760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611875565b604080516001600160a01b03808816602083015288169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906117ad90309085908f9073fffd8963efd1fc6a506488495d951d5263988d25908c908c906004016146a3565b60408051808303816000875af11580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef9190614700565b9150915060008a131561183d578561180683614753565b10156118385760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611871565b858111156118715760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505b50505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f3590911c9060633590602b85871015611afc57604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c991906147ba565b5050505050509050806001600160a01b0316866001600160a01b031611156119f057600080fd5b600080836001600160a01b031663128acb083060018f6401000276a48b8b6040518763ffffffff1660e01b8152600401611a2f969594939291906146a3565b60408051808303816000875af1158015611a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a719190614700565b9150915060008c1315611abf5786611a8882614753565b1015611aba5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611af3565b86821115611af35760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b50505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1891906147ba565b5050505050509050806001600160a01b0316866001600160a01b03161015611c3f57600080fd5b600080836001600160a01b031663128acb083060008f73fffd8963efd1fc6a506488495d951d5263988d258b8b6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b60408051808303816000875af1158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190614700565b9150915060008c1315611d1d5786611ce683614753565b1015611d185760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611d51565b86811115611d515760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050505b5050505050505050565b43341015611db05760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c91603835821c91604c3560e81c91604f3591606f35901c90602b85871015611fa157604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760018e6401000276a48a8a6040518763ffffffff1660e01b8152600401611ed5969594939291906146a3565b60408051808303816000875af1158015611ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f179190614700565b9150915060008b1315611f655786611f2e82614753565b1015611f605760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611f99565b86821115611f995760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760008e73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b81526004016120a7969594939291906146a3565b60408051808303816000875af11580156120c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e99190614700565b9150915060008b1315612137578661210083614753565b10156121325760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b61216b565b8681111561216b5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505050505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f35821c916063359160833590911c90602b868810156123fc57604080516001600160a01b03808b16602083015289169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156122a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c991906147ba565b5050505050509050806001600160a01b0316876001600160a01b031611156122f057600080fd5b50600080826001600160a01b031663128acb088760018f6401000276a48a8a6040518763ffffffff1660e01b8152600401612330969594939291906146a3565b60408051808303816000875af115801561234e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123729190614700565b9150915060008c13156123c0578661238982614753565b10156123bb5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b6123f4565b868211156123f45760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050610521565b604080516001600160a01b03808a1660208301528a169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156124f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251891906147ba565b5050505050509050806001600160a01b0316876001600160a01b0316101561253f57600080fd5b50600080826001600160a01b031663128acb088760008f73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b600435606090811c90601835901c602c3560e890811c90602f35811c90603235901c60353560801c600061266b60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b604080517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608b811b821660208401528a901b1660348201527fffffff000000000000000000000000000000000000000000000000000000000060e889901b1660488201528151808203602b018152604b8201928390527f3c8a7d8d000000000000000000000000000000000000000000000000000000009092529192506001600160a01b03831691633c8a7d8d9161272f913091899189918991604f01614882565b60408051808303816000875af115801561274d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190614700565b602f3560e890811c90603235901c60353560801c600061283a60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b6040517fa34123a7000000000000000000000000000000000000000000000000000000008152600286810b600483015285900b60248201526fffffffffffffffffffffffffffffffff841660448201529091506001600160a01b0382169063a34123a79060640160408051808303816000875af11580156128bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e39190614700565b50506040517f4f1eb3d8000000000000000000000000000000000000000000000000000000008152306004820152600285810b602483015284900b60448201526fffffffffffffffffffffffffffffffff6064820181905260848201526001600160a01b03821690634f1eb3d89060a40160408051808303816000875af1158015612972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129969190614912565b505050505050565b600435606090811c90601835901c602c35604c35606c3560f81c83851060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301612b075781612a39576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612a85565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000009281019290925260358201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f60558201526075015b6040516020818303038152906040528051906020012060001c9050612db3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff841601612c385781612b86576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612bd2565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac00000000000000000000009281019290925260358201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036055820152607501612ae7565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff841601612d695781612cb7576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612d03565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff115934131916c8b277dd010ee02de363c09d037c00000000000000000000009281019290925260358201527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a6055820152607501612ae7565b60405162461bcd60e51b81526004016101cc9060208082526004908201527f5632494400000000000000000000000000000000000000000000000000000000604082015260600190565b881561329d578915613134578715612f5d576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b158015612e2857600080fd5b505af1158015612e3c573d6000803e3d6000fd5b50505050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea59190614963565b509150915083612eb55780612eb7565b815b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526dffffffffffffffffffffffffffff92909216918b16906370a0823190602401602060405180830381865afa158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4e91906149b3565b612f5891906149cc565b965050505b6000612f6a8287856142a4565b905084811015612f7957600080fd5b88612ffa576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820188905289169063a9059cbb90604401600060405180830381600087803b158015612fe157600080fd5b505af1158015612ff5573d6000803e3d6000fd5b505050505b8215613099576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018390526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561307c57600080fd5b505af1158015613090573d6000803e3d6000fd5b5050505061312e565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018290526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561311557600080fd5b505af1158015613129573d6000803e3d6000fd5b505050505b5061216b565b600061314182868561437e565b90508581111561315057600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905289169063a9059cbb90604401600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b505050508215613237576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018790526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a401613062565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018690526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4016130fb565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b15801561330057600080fd5b505af1158015613314573d6000803e3d6000fd5b5050505081156133b6576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018690526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561339957600080fd5b505af11580156133ad573d6000803e3d6000fd5b5050505061216b565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018590526000602482018190526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561343157600080fd5b505af1158015613445573d6000803e3d6000fd5b505050505050505050505050505050565b6040517f4903b0d100000000000000000000000000000000000000000000000000000000815260006004808301919091523560601c90601835906038906084908490634903b0d190602401602060405180830381865afa1580156134be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e291906149b3565b83146134ed57600080fd5b6000846001600160a01b031683836040516135099291906149df565b6000604051808303816000865af19150503d8060008114613546576040519150601f19603f3d011682016040523d82523d6000602084013e61354b565b606091505b505090508061052657600080fd5b6000600435905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156135af57600080fd5b505af1158015612996573d6000803e3d6000fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600480359082018190529073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561362d57600080fd5b505af1158015610526573d6000803e3d6000fd5b60008061365136600481846149ef565b81019061365e9190614ae9565b915091506000826001600160a01b03168260405161367c9190614b39565b600060405180830381855af49150503d80600081146136b7576040519150601f19603f3d011682016040523d82523d6000602084013e6136bc565b606091505b5050905080610f5257600080fd5b6000806136da36600481846149ef565b8101906136e79190614c6d565b9150915060005b8251811015610f5257600083828151811061370b5761370b614cc7565b60200260200101516001600160a01b031683838151811061372e5761372e614cc7565b60200260200101516040516137439190614b39565b6000604051808303816000865af19150503d8060008114613780576040519150601f19603f3d011682016040523d82523d6000602084013e613785565b606091505b50509050806137d65760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b506001016136ee565b600080806137f036600481846149ef565b8101906137fd9190614cf6565b92509250925060005b83518110156138f757600084828151811061382357613823614cc7565b60200260200101516001600160a01b031684838151811061384657613846614cc7565b602002602001015160405161385b9190614b39565b6000604051808303816000865af19150503d8060008114613898576040519150601f19603f3d011682016040523d82523d6000602084013e61389d565b606091505b50509050806138ee5760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b50600101613806565b50604051419082156108fc029083906000818181858888f19350505050158015613925573d6000803e3d6000fd5b50505050565b6000808061393c36600481846149ef565b8101906139499190614dbe565b9194509250905082156139d5576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156139bc57600080fd5b505af11580156139d0573d6000803e3d6000fd5b505050505b60005b8251811015613925578281815181106139f3576139f3614cc7565b60200260200101516001600160a01b03166108fc838381518110613a1957613a19614cc7565b60200260200101519081150290604051600060405180830381858888f19350505050158015613a4c573d6000803e3d6000fd5b5080613a5781614e2b565b9150506139d8565b600435606090811c9060183590603835901c80613abe5760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820184905284169063a9059cbb906044015b600060405180830381600087803b158015613b2257600080fd5b505af1158015611875573d6000803e3d6000fd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152603835606090811c600480840182905260183560248501819052903590921c92839063095ea7b390604401613b08565b60008080613b9d36600481846149ef565b810190613baa9190614e63565b9250925092508151835114613c015760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b8251816001600160a01b031611613c5a5760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726563697069656e7400000000000000000000000000000060448201526064016101cc565b6001600160a01b038116613cb05760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613cce57613cce614cc7565b60200260200101516001600160a01b031663a9059cbb83858481518110613cf757613cf7614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613d309291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613d4a57600080fd5b505af1158015613d5e573d6000803e3d6000fd5b5050505080613d6c90614e2b565b9050613cb3565b60008080613d8436600481846149ef565b810190613d919190614e63565b9250925092508151835114613de85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613e0657613e06614cc7565b60200260200101516001600160a01b031663095ea7b383858481518110613e2f57613e2f614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613e689291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613e8257600080fd5b505af1158015613e96573d6000803e3d6000fd5b5050505080613ea490614e2b565b9050613deb565b60043560243560601c80613f015760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b60408051608435606090811c60208301819052609835821c93830184905260ac3560e81c9183018290529291600435906024359060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146140565760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b81156140d6576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b1580156140bd57600080fd5b505af11580156140d1573d6000803e3d6000fd5b505050505b8015610526576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0385169063a9059cbb906044016104f3565b60008061413836600481846149ef565b8101906141459190614ed0565b9150915060007f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae61236001600160a01b031661417f8484614457565b6001600160a01b0316036141b457507f1626ba7e000000000000000000000000000000000000000000000000000000006141bf565b506001600160e01b03195b8060005260206000f35b600080356001600160e01b0319168152600160205260409020546001600160a01b0316806142395760405162461bcd60e51b815260206004820152600160248201527f440000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000816001600160a01b03166000366040516142569291906149df565b600060405180830381855af49150503d8060008114614291576040519150601f19603f3d011682016040523d82523d6000602084013e614296565b606091505b5050905080610a2c57600080fd5b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156142e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061430b9190614963565b509150915060008085156143355750506dffffffffffffffffffffffffffff80831690821661434d565b50506dffffffffffffffffffffffffffff8082169083165b6103e580880290828902026103e88402820180828161436e5761436e614f01565b049b9a5050505050505050505050565b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156143c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143e59190614963565b5091509150600080851561440f5750506dffffffffffffffffffffffffffff808316908216614427565b50506dffffffffffffffffffffffffffff8082169083165b6103e8828802026103e58883030280828161444457614444614f01565b0460010196505050505050509392505050565b6000806000806144678686614483565b92509250925061447782826144d0565b50909150505b92915050565b600080600083516041036144bd5760208401516040850151606086015160001a6144af888285856145d4565b9550955095505050506144c9565b50508151600091506002905b9250925092565b60008260038111156144e4576144e4614f30565b036144ed575050565b600182600381111561450157614501614f30565b03614538576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561454c5761454c614f30565b03614586576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600382600381111561459a5761459a614f30565b03610a2c576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561460f5750600091506003905082614699565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015614663573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661468f57506000925060019150829050614699565b9250600091508190505b9450945094915050565b60006001600160a01b038089168352871515602084015286604084015280861660608401525060a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b6000806040838503121561471357600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f8000000000000000000000000000000000000000000000000000000000000000820361478457614784614724565b5060000390565b6001600160a01b03811681146147a057600080fd5b50565b805161ffff811681146147b557600080fd5b919050565b600080600080600080600060e0888a0312156147d557600080fd5b87516147e08161478b565b8097505060208801518060020b81146147f857600080fd5b9550614806604089016147a3565b9450614814606089016147a3565b9350614822608089016147a3565b925060a088015160ff8116811461483857600080fd5b60c0890151909250801515811461484e57600080fd5b8091505092959891949750929550565b60005b83811015614879578181015183820152602001614861565b50506000910152565b6001600160a01b03861681528460020b60208201528360020b60408201526fffffffffffffffffffffffffffffffff8316606082015260a06080820152600082518060a08401526148da8160c085016020870161485e565b601f01601f19169190910160c0019695505050505050565b80516fffffffffffffffffffffffffffffffff811681146147b557600080fd5b6000806040838503121561492557600080fd5b61492e836148f2565b915061493c602084016148f2565b90509250929050565b80516dffffffffffffffffffffffffffff811681146147b557600080fd5b60008060006060848603121561497857600080fd5b61498184614945565b925061498f60208501614945565b9150604084015163ffffffff811681146149a857600080fd5b809150509250925092565b6000602082840312156149c557600080fd5b5051919050565b8181038181111561447d5761447d614724565b8183823760009101908152919050565b600080858511156149ff57600080fd5b83861115614a0c57600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614a7157614a71614a19565b604052919050565b600082601f830112614a8a57600080fd5b813567ffffffffffffffff811115614aa457614aa4614a19565b614ab76020601f19601f84011601614a48565b818152846020838601011115614acc57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614afc57600080fd5b8235614b078161478b565b9150602083013567ffffffffffffffff811115614b2357600080fd5b614b2f85828601614a79565b9150509250929050565b60008251614b4b81846020870161485e565b9190910192915050565b600067ffffffffffffffff821115614b6f57614b6f614a19565b5060051b60200190565b600082601f830112614b8a57600080fd5b81356020614b9f614b9a83614b55565b614a48565b82815260059290921b84018101918181019086841115614bbe57600080fd5b8286015b84811015614be2578035614bd58161478b565b8352918301918301614bc2565b509695505050505050565b600082601f830112614bfe57600080fd5b81356020614c0e614b9a83614b55565b82815260059290921b84018101918181019086841115614c2d57600080fd5b8286015b84811015614be257803567ffffffffffffffff811115614c515760008081fd5b614c5f8986838b0101614a79565b845250918301918301614c31565b60008060408385031215614c8057600080fd5b823567ffffffffffffffff80821115614c9857600080fd5b614ca486838701614b79565b93506020850135915080821115614cba57600080fd5b50614b2f85828601614bed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080600060608486031215614d0b57600080fd5b833567ffffffffffffffff80821115614d2357600080fd5b614d2f87838801614b79565b94506020860135915080821115614d4557600080fd5b50614d5286828701614bed565b925050604084013590509250925092565b600082601f830112614d7457600080fd5b81356020614d84614b9a83614b55565b82815260059290921b84018101918181019086841115614da357600080fd5b8286015b84811015614be25780358352918301918301614da7565b600080600060608486031215614dd357600080fd5b83359250602084013567ffffffffffffffff80821115614df257600080fd5b614dfe87838801614b79565b93506040860135915080821115614e1457600080fd5b50614e2186828701614d63565b9150509250925092565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614e5c57614e5c614724565b5060010190565b600080600060608486031215614e7857600080fd5b833567ffffffffffffffff80821115614e9057600080fd5b614e9c87838801614b79565b94506020860135915080821115614eb257600080fd5b50614ebf86828701614d63565b92505060408401356149a88161478b565b60008060408385031215614ee357600080fd5b82359150602083013567ffffffffffffffff811115614b2357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220c11b55c61ea26ad978f86f41089d351cf6e8fc7cc2638072cc9efd6e18c5b88064736f6c63430008130033
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing EVM bytecode for vulnerabilities**
[codex:934048] 
[codex:934048] I'm carefully inspecting the contract's bytecode, focusing on function selectors, authorization checks, and calls that could move tokens or ETH. I'll look for unsafe external calls, unprotected storage writes, or selfdestruct patterns, and I’m planning a lightweight disassembly using a Python script to identify potential exploit paths involving unauthorized transfers or admin actions.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, textwrap
[codex:934048] from binascii import unhexlify
[codex:934048] 
[codex:934048] # Read runtime bytecode from file
[codex:934048] import pathlib
[codex:934048] p=pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()
[codex:934048] # extract hex after 'FILE: runtime_bytecode.hex'
[codex:934048] # find line starting with 0x
[codex:934048] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', p)
[codex:934048] if not m:
[codex:934048]     print('hex not found')
[codex:934048]     raise SystemExit
[codex:934048] hexstr=m.group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] # opcode mapping
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble with pc, focusing on opcodes of interest: CALL, DELEGATECALL, SELFDESTRUCT, SSTORE
[codex:934048] 
[codex:934048] pcs_of_interest=[]
[codex:934048] 
[codex:934048] pc=0
[codex:934048] lines=[]
[codex:934048] while pc < len(code):
[codex:934048]     op=code[pc]
[codex:934048]     name=opnames.get(op, f'OP{op:02x}')
[codex:934048]     pc_start=pc
[codex:934048]     pc+=1
[codex:934048]     imm=''
[codex:934048]     if 0x60 <= op <= 0x7f:
[codex:934048]         n=op-0x5f
[codex:934048]         imm=code[pc:pc+n]
[codex:934048]         pc+=n
[codex:934048]         name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]     elif op==0x5f:
[codex:934048]         name='PUSH0'
[codex:934048]     # record interest
[codex:934048]     if op in (0xf1,0xf4,0xff,0x55):
[codex:934048]         pcs_of_interest.append((pc_start, name))
[codex:934048]     # store some lines maybe for context? But huge. We'll print counts.
[codex:934048] 
[codex:934048] print('length', len(code))
[codex:934048] print('interest count', len(pcs_of_interest))
[codex:934048] print('first 20 interest ops:', pcs_of_interest[:20])
[codex:934048] print('last 20 interest ops:', pcs_of_interest[-20:])
[codex:934048] 
[codex:934048] # also search for DELEGATECALL and SELFDESTRUCT presence
[codex:934048] print('has delegatecall', any(op==0xf4 for op in code))
[codex:934048] print('has selfdestruct', any(op==0xff for op in code))
[codex:934048] 
[codex:934048] # list all DELEGATECALL pcs
[codex:934048] print('delegatecall pcs:', [pc for pc, name in pcs_of_interest if 'DELEGATECALL' in name])
[codex:934048] print('selfdestruct pcs:', [pc for pc, name in pcs_of_interest if 'SELFDESTRUCT' in name])
[codex:934048] 
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 52ms:
[codex:934048] length 20373
[codex:934048] interest count 43
[codex:934048] first 20 interest ops: [(894, 'CALL'), (1296, 'CALL'), (2582, 'CALL'), (2812, 'CALL'), (3177, 'CALL'), (3900, 'CALL'), (4093, 'CALL'), (4865, 'SSTORE'), (5052, 'SSTORE'), (5585, 'CALL'), (6074, 'CALL'), (6716, 'CALL'), (7322, 'CALL'), (7906, 'CALL'), (8372, 'CALL'), (9021, 'CALL'), (10044, 'CALL'), (10414, 'CALL'), (10593, 'CALL'), (11819, 'CALL')]
[codex:934048] last 20 interest ops: [(12726, 'CALL'), (13059, 'CALL'), (13212, 'CALL'), (13364, 'CALL'), (13591, 'CALL'), (13746, 'CALL'), (13872, 'CALL'), (13960, 'DELEGATECALL'), (14161, 'CALL'), (14441, 'CALL'), (14607, 'CALL'), (14783, 'CALL'), (14902, 'CALL'), (15141, 'CALL'), (15693, 'CALL'), (16005, 'CALL'), (16161, 'CALL'), (16576, 'CALL'), (16994, 'DELEGATECALL'), (20332, 'SSTORE')]
[codex:934048] has delegatecall True
[codex:934048] has selfdestruct True
[codex:934048] delegatecall pcs: [13960, 16994]
[codex:934048] selfdestruct pcs: []
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall and selfdestruct opcodes**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] 
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble around a pc window
[codex:934048] 
[codex:934048] def disasm_window(start, end):
[codex:934048]     pc=0
[codex:934048]     out=[]
[codex:934048]     while pc < len(code):
[codex:934048]         op=code[pc]
[codex:934048]         name=opnames.get(op, f'OP{op:02x}')
[codex:934048]         pc_start=pc
[codex:934048]         pc+=1
[codex:934048]         imm=None
[codex:934048]         if 0x60 <= op <= 0x7f:
[codex:934048]             n=op-0x5f
[codex:934048]             imm=code[pc:pc+n]
[codex:934048]             pc+=n
[codex:934048]             name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]         elif op==0x5f:
[codex:934048]             name='PUSH0'
[codex:934048]         if pc_start>=start and pc_start<=end:
[codex:934048]             out.append(f'{pc_start:05d}: {name}')
[codex:934048]         if pc_start> end:
[codex:934048]             break
[codex:934048]     return out
[codex:934048] 
[codex:934048] for pc in [13960, 16994]:
[codex:934048]     print('\\nDelegatecall around pc', pc)
[codex:934048]     for line in disasm_window(pc-40, pc+40):
[codex:934048]         print(line)
[codex:934048] 
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 39ms:
[codex:934048] 
[codex:934048] Delegatecall around pc 13960
[codex:934048] 13920: POP
[codex:934048] 13921: SWAP2
[codex:934048] 13922: POP
[codex:934048] 13923: PUSH1 0x00
[codex:934048] 13925: DUP3
[codex:934048] 13926: PUSH1 0x01
[codex:934048] 13928: PUSH1 0x01
[codex:934048] 13930: PUSH1 0xa0
[codex:934048] 13932: SHL
[codex:934048] 13933: SUB
[codex:934048] 13934: AND
[codex:934048] 13935: DUP3
[codex:934048] 13936: PUSH1 0x40
[codex:934048] 13938: MLOAD
[codex:934048] 13939: PUSH2 0x367c
[codex:934048] 13942: SWAP2
[codex:934048] 13943: SWAP1
[codex:934048] 13944: PUSH2 0x4b39
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Tracing delegatecall target and access control**
[codex:934048] 
[codex:934048] I'm analyzing how the delegatecall's target address is derived, suspecting it comes from calldata based on stack operations and masking. Since delegatecall could pose vulnerability if user-controlled without restrictions, I'm looking to trace function boundaries, jump destinations, and function selectors to see if there's access control protecting this call. The contract seems like a smart wallet implementing EIP-1271 signature validation, possibly following ERC-4337 structure with restricted execute functions. I also want to inspect SSTORE operations around certain program counters to identify admin or control functions that might safeguard dangerous calls. There's a lot here, so I'm carefully following opcode patterns and trying to confirm if delegatecall targets could be exploited.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] 
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # build map from pc to instruction for quick lookup
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048]     op=code[pc]
[codex:934048]     name=opnames.get(op, f'OP{op:02x}')
[codex:934048]     pc_start=pc
[codex:934048]     pc+=1
[codex:934048]     if 0x60 <= op <= 0x7f:
[codex:934048]         n=op-0x5f
[codex:934048]         imm=code[pc:pc+n]
[codex:934048]         pc+=n
[codex:934048]         name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]     elif op==0x5f:
[codex:934048]         name='PUSH0'
[codex:934048]     instr.append((pc_start,name))
[codex:934048] 
[codex:934048] # create dict for quick mapping
[codex:934048] inst_dict={pc:name for pc,name in instr}
[codex:934048] 
[codex:934048] # function to show window around given pc
[codex:934048] 
[codex:934048] def show_window(pc, before=20, after=20):
[codex:934048]     # find index in instr list
[codex:934048]     idx=[i for i,(p,_) in enumerate(instr) if p==pc]
[codex:934048]     if not idx:
[codex:934048]         # maybe pc not at start; find closest
[codex:934048]         idx=min(range(len(instr)), key=lambda i: abs(instr[i][0]-pc))
[codex:934048]     else:
[codex:934048]         idx=idx[0]
[codex:934048]     start=max(0, idx-before)
[codex:934048]     end=min(len(instr), idx+after)
[codex:934048]     for p,name in instr[start:end]:
[codex:934048]         print(f'{p:05d}: {name}')
[codex:934048] 
[codex:934048] for pc in [4865, 5052, 20332]:
[codex:934048]     print('\\nSSTORE around pc', pc)
[codex:934048]     show_window(pc, before=25, after=25)
[codex:934048] 
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 43ms:
[codex:934048] 
[codex:934048] SSTORE around pc 4865
[codex:934048] 04765: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000
[codex:934048] 04798: PUSH1 0x00
[codex:934048] 04800: CALLDATALOAD
[codex:934048] 04801: PUSH1 0x01
[codex:934048] 04803: PUSH1 0x01
[codex:934048] 04805: PUSH1 0xe0
[codex:934048] 04807: SHL
[codex:934048] 04808: SUB
[codex:934048] 04809: NOT
[codex:934048] 04810: AND
[codex:934048] 04811: ADD
[codex:934048] 04812: PUSH2 0x1303
[codex:934048] 04815: JUMPI
[codex:934048] 04816: PUSH2 0x09a3
[codex:934048] 04819: PUSH1 0x00
[codex:934048] 04821: DUP1
[codex:934048] 04822: SLOAD
[codex:934048] 04823: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing SSTORE and dispatch patterns**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble and keep mapping for easier reading
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048]     op=code[pc]
[codex:934048]     name=opnames.get(op, f'OP{op:02x}')
[codex:934048]     pc_start=pc
[codex:934048]     pc+=1
[codex:934048]     if 0x60 <= op <= 0x7f:
[codex:934048]         n=op-0x5f
[codex:934048]         imm=code[pc:pc+n]
[codex:934048]         pc+=n
[codex:934048]         name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]     elif op==0x5f:
[codex:934048]         name='PUSH0'
[codex:934048]     instr.append((pc_start,name))
[codex:934048] 
[codex:934048] # find nearest JUMPDEST prior to pc
[codex:934048] 
[codex:934048] def nearest_jumpdest(pc):
[codex:934048]     jps=[p for p,name in instr if name=='JUMPDEST' and p<pc]
[codex:934048]     return jps[-1] if jps else None
[codex:934048] 
[codex:934048] for pc in [13960, 16994]:
[codex:934048]     jd=nearest_jumpdest(pc)
[codex:934048]     print('delegatecall pc', pc, 'nearest jumpdest', jd)
[codex:934048]     # show 50 instructions before and after jd
[codex:934048]     # find index
[codex:934048]     idx=[i for i,(p,_) in enumerate(instr) if p==jd]
[codex:934048]     if idx:
[codex:934048]         idx=idx[0]
[codex:934048]         start=max(0, idx-5)
[codex:934048]         end=min(len(instr), idx+80)
[codex:934048]         for p,name in instr[start:end]:
[codex:934048]             print(f'{p:05d}: {name}')
[codex:934048]         print('---')
[codex:934048] 
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 42ms:
[codex:934048] delegatecall pc 13960 nearest jumpdest 13948
[codex:934048] 13939: PUSH2 0x367c
[codex:934048] 13942: SWAP2
[codex:934048] 13943: SWAP1
[codex:934048] 13944: PUSH2 0x4b39
[codex:934048] 13947: JUMP
[codex:934048] 13948: JUMPDEST
[codex:934048] 13949: PUSH1 0x00
[codex:934048] 13951: PUSH1 0x40
[codex:934048] 13953: MLOAD
[codex:934048] 13954: DUP1
[codex:934048] 13955: DUP4
[codex:934048] 13956: SUB
[codex:934048] 13957: DUP2
[codex:934048] 13958: DUP6
[codex:934048] 13959: GAS
[codex:934048] 13960: DELEGATECALL
[codex:934048] 13961: SWAP2
[codex:934048] 13962: POP
[codex:934048] 13963: POP
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall security and access control**
[codex:934048] 
[codex:934048] I'm tracing the delegatecall usage and its surrounding code to find if there’s proper access control like `msg.sender` checks before the call, which is crucial to avoid risks from user-controlled addresses. I’m exploring function entries and looking for patterns like `CALLER`-`EQ` comparisons to confirm if delegatecalls are restricted, considering it might be part of a batch execution or multicall pattern.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble around pc range
[codex:934048] 
[codex:934048] def disasm(start, end):
[codex:934048]     pc=0
[codex:934048]     while pc < len(code):
[codex:934048]         op=code[pc]
[codex:934048]         name=opnames.get(op, f'OP{op:02x}')
[codex:934048]         pc_start=pc
[codex:934048]         pc+=1
[codex:934048]         if 0x60 <= op <= 0x7f:
[codex:934048]             n=op-0x5f
[codex:934048]             imm=code[pc:pc+n]
[codex:934048]             pc+=n
[codex:934048]             name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]         elif op==0x5f:
[codex:934048]             name='PUSH0'
[codex:934048]         if start <= pc_start <= end:
[codex:934048]             print(f'{pc_start:05d}: {name}')
[codex:934048]         if pc_start > end:
[codex:934048]             break
[codex:934048] 
[codex:934048] print('--- context 13850-14080 ---')
[codex:934048] disasm(13850, 14080)
[codex:934048] 
[codex:934048] print('\\n--- context 16850-17120 ---')
[codex:934048] disasm(16850, 17120)
[codex:934048] 
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 40ms:
[codex:934048] --- context 13850-14080 ---
[codex:934048] 13850: DUP4
[codex:934048] 13851: SUB
[codex:934048] 13852: DUP2
[codex:934048] 13853: PUSH1 0x00
[codex:934048] 13855: DUP8
[codex:934048] 13856: DUP1
[codex:934048] 13857: EXTCODESIZE
[codex:934048] 13858: ISZERO
[codex:934048] 13859: DUP1
[codex:934048] 13860: ISZERO
[codex:934048] 13861: PUSH2 0x362d
[codex:934048] 13864: JUMPI
[codex:934048] 13865: PUSH1 0x00
[codex:934048] 13867: DUP1
[codex:934048] 13868: REVERT
[codex:934048] 13869: JUMPDEST
[codex:934048] 13870: POP
[codex:934048] 13871: GAS
[codex:934048] 13872: CALL
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall target storage and access control**
[codex:934048] 
[codex:934048] I'm examining how the delegatecall target address is loaded from storage via a keccak-hashed key and checked for nonzero before use, which prevents calls to a zero address. I want to verify if the function that updates this mapping via SSTORE at 5052 is protected by access control, since an unprotected setter could allow users to insert malicious delegatecall targets and compromise the contract. My next step is to find the function's jump destination to understand its full logic and check for authorization checks.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble and store
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048]     op=code[pc]
[codex:934048]     name=opnames.get(op, f'OP{op:02x}')
[codex:934048]     pc_start=pc
[codex:934048]     pc+=1
[codex:934048]     if 0x60 <= op <= 0x7f:
[codex:934048]         n=op-0x5f
[codex:934048]         imm=code[pc:pc+n]
[codex:934048]         pc+=n
[codex:934048]         name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]     elif op==0x5f:
[codex:934048]         name='PUSH0'
[codex:934048]     instr.append((pc_start,name))
[codex:934048] 
[codex:934048] # find nearest jumpdest before pc
[codex:934048] 
[codex:934048] def nearest_jumpdest(pc):
[codex:934048]     jps=[p for p,name in instr if name=='JUMPDEST' and p<pc]
[codex:934048]     return jps[-1] if jps else None
[codex:934048] 
[codex:934048] for pc in [4865,5052]:
[codex:934048]     jd=nearest_jumpdest(pc)
[codex:934048]     print('pc', pc, 'nearest jumpdest', jd)
[codex:934048]     # print 40 instructions before and after jd
[codex:934048]     idx=[i for i,(p,_) in enumerate(instr) if p==jd][0]
[codex:934048]     start=max(0, idx-10); end=min(len(instr), idx+60)
[codex:934048]     for p,name in instr[start:end]:
[codex:934048]         print(f'{p:05d}: {name}')
[codex:934048]     print('---')
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 43ms:
[codex:934048] pc 4865 nearest jumpdest 4764
[codex:934048] 04748: SHL
[codex:934048] 04749: SUB
[codex:934048] 04750: NOT
[codex:934048] 04751: AND
[codex:934048] 04752: ADD
[codex:934048] 04753: PUSH2 0x129c
[codex:934048] 04756: JUMPI
[codex:934048] 04757: PUSH2 0x09a3
[codex:934048] 04760: PUSH2 0x3d73
[codex:934048] 04763: JUMP
[codex:934048] 04764: JUMPDEST
[codex:934048] 04765: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000
[codex:934048] 04798: PUSH1 0x00
[codex:934048] 04800: CALLDATALOAD
[codex:934048] 04801: PUSH1 0x01
[codex:934048] 04803: PUSH1 0x01
[codex:934048] 04805: PUSH1 0xe0
[codex:934048] 04807: SHL
[codex:934048] 04808: SUB
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing dispatch and jump logic**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048] 
[codex:934048] opnames={
[codex:934048]     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:934048]     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:934048]     0x20:'SHA3',
[codex:934048]     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:934048]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048]     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:934048]     0x5f:'PUSH0',
[codex:934048]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048]     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:934048]     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:934048]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048] 
[codex:934048] # disassemble around pc 0x09a3 (decimal 2467)
[codex:934048] start=2400; end=2550
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048]     op=code[pc]
[codex:934048]     name=opnames.get(op, f'OP{op:02x}')
[codex:934048]     pc_start=pc
[codex:934048]     pc+=1
[codex:934048]     if 0x60 <= op <= 0x7f:
[codex:934048]         n=op-0x5f
[codex:934048]         imm=code[pc:pc+n]
[codex:934048]         pc+=n
[codex:934048]         name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048]     elif op==0x5f:
[codex:934048]         name='PUSH0'
[codex:934048]     if start <= pc_start <= end:
[codex:934048]         print(f'{pc_start:05d}: {name}')
[codex:934048]     if pc_start > end:
[codex:934048]         break
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 31ms:
[codex:934048] 02403: PUSH1 0xe5
[codex:934048] 02405: SHL
[codex:934048] 02406: DUP2
[codex:934048] 02407: MSTORE
[codex:934048] 02408: PUSH1 0x20
[codex:934048] 02410: PUSH1 0x04
[codex:934048] 02412: DUP3
[codex:934048] 02413: ADD
[codex:934048] 02414: MSTORE
[codex:934048] 02415: PUSH1 0x01
[codex:934048] 02417: PUSH1 0x24
[codex:934048] 02419: DUP3
[codex:934048] 02420: ADD
[codex:934048] 02421: MSTORE
[codex:934048] 02422: PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000
[codex:934048] 02455: PUSH1 0x44
[codex:934048] 02457: DUP3
[codex:934048] 02458: ADD
[codex:934048] 02459: MSTORE
[codex:934048] 02460: PUSH1 0x64
[codex:934048] 
[codex:934048] thinking
[codex:934048] **Analyzing function dispatch and access control**
[codex:934048] codex
[codex:934048] {"no_findings":true,"summary":"Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.","findings":[]}
[codex:934048] tokens used
[codex:934048] 67,332
[codex:934048] {"no_findings":true,"summary":"Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T05:10:16.044971+00:00",
        "returncode": 0
    },
    "summary": "Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.",
    "raw_final": {
        "summary": "Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
48
EXT*/BALANCE
17
Total opcodes
10943
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: PUSH2 0x000b
00000009: JUMPI
0000000a: STOP
0000000b: JUMPDEST
0000000c: PUSH1 0x01
0000000e: PUSH1 0x01
00000010: PUSH1 0xe0
00000012: SHL
00000013: SUB
00000014: NOT
00000015: PUSH1 0x00
00000017: CALLDATALOAD
00000018: AND
00000019: PUSH32 0x05b9e1cd00000000000000000000000000000000000000000000000000000000
0000003a: DUP2
0000003b: ADD
0000003c: PUSH2 0x0049
0000003f: JUMPI
00000040: PUSH2 0x0047
00000043: PUSH2 0x01e5
00000046: JUMP
00000047: JUMPDEST
00000048: STOP
00000049: JUMPDEST
0000004a: PUSH29 0x1000000000000000000000000000000000000000000000000000000000
00000068: PUSH1 0x01
0000006a: PUSH1 0x01
0000006c: PUSH1 0xe0
0000006e: SHL
0000006f: SUB
00000070: NOT
00000071: DUP3
00000072: AND
00000073: LT
00000074: ISZERO
00000075: PUSH2 0x0088
00000078: JUMPI
00000079: PUSH2 0x0080
0000007c: PUSH2 0x052d
0000007f: JUMP
00000080: JUMPDEST
00000081: PUSH2 0x0047
00000084: PUSH2 0x09a5
00000087: JUMP
00000088: JUMPDEST
00000089: PUSH29 0x2000000000000000000000000000000000000000000000000000000000
000000a7: PUSH1 0x01
000000a9: PUSH1 0x01
000000ab: PUSH1 0xe0
000000ad: SHL
000000ae: SUB
000000af: NOT
000000b0: DUP3
000000b1: AND
000000b2: LT
000000b3: ISZERO
000000b4: PUSH2 0x00c7
000000b7: JUMPI
000000b8: PUSH2 0x00bf
000000bb: PUSH2 0x052d
000000be: JUMP
000000bf: JUMPDEST
000000c0: PUSH2 0x0047
000000c3: PUSH2 0x0c7f
000000c6: JUMP
000000c7: JUMPDEST
000000c8: PUSH29 0x3000000000000000000000000000000000000000000000000000000000
000000e6: PUSH1 0x01
000000e8: PUSH1 0x01
000000ea: PUSH1 0xe0
000000ec: SHL
000000ed: SUB
000000ee: NOT
000000ef: PUSH1 0x00
000000f1: CALLDATALOAD
000000f2: AND
000000f3: LT
000000f4: ISZERO
000000f5: PUSH2 0x0108
000000f8: JUMPI
000000f9: PUSH2 0x0100
000000fc: PUSH2 0x052d
000000ff: JUMP
00000100: JUMPDEST
00000101: PUSH2 0x0047
00000104: PUSH2 0x0f57
00000107: JUMP
00000108: JUMPDEST
00000109: PUSH29 0x4000000000000000000000000000000000000000000000000000000000
00000127: PUSH1 0x01
00000129: PUSH1 0x01
0000012b: PUSH1 0xe0
0000012d: SHL
0000012e: SUB
0000012f: NOT
00000130: DUP3
00000131: AND
00000132: LT
00000133: ISZERO
00000134: PUSH2 0x0147
00000137: JUMPI
00000138: PUSH2 0x013f
0000013b: PUSH2 0x052d
0000013e: JUMP
0000013f: JUMPDEST
00000140: PUSH2 0x0047
00000143: PUSH2 0x104e
00000146: JUMP
00000147: JUMPDEST
00000148: PUSH29 0x5000000000000000000000000000000000000000000000000000000000
00000166: PUSH1 0x01
00000168: PUSH1 0x01
0000016a: PUSH1 0xe0
0000016c: SHL
0000016d: SUB
0000016e: NOT
0000016f: DUP3
00000170: AND
00000171: LT
00000172: ISZERO
00000173: PUSH2 0x01dd
00000176: JUMPI
00000177: PUSH1 0x00
00000179: SLOAD
0000017a: PUSH1 0x01
0000017c: PUSH1 0x01
0000017e: PUSH1 0xa0
00000180: SHL
00000181: SUB
00000182: AND
00000183: CALLER
00000184: EQ
00000185: PUSH2 0x01d5
00000188: JUMPI
00000189: PUSH1 0x40
0000018b: MLOAD
0000018c: PUSH3 0x461bcd
00000190: PUSH1 0xe5
00000192: SHL
00000193: DUP2
00000194: MSTORE
00000195: PUSH1 0x20
00000197: PUSH1 0x04
00000199: DUP3
0000019a: ADD
0000019b: MSTORE
0000019c: PUSH1 0x01
0000019e: PUSH1 0x24
000001a0: DUP3
000001a1: ADD
000001a2: MSTORE
000001a3: PUSH32 0x5200000000000000000000000000000000000000000000000000000000000000
000001c4: PUSH1 0x44
000001c6: DUP3
000001c7: ADD
000001c8: MSTORE
000001c9: PUSH1 0x64
000001cb: ADD
000001cc: JUMPDEST
000001cd: PUSH1 0x40
000001cf: MLOAD
000001d0: DUP1
000001d1: SWAP2
000001d2: SUB
000001d3: SWAP1
000001d4: REVERT
000001d5: JUMPDEST
000001d6: PUSH2 0x0047
000001d9: PUSH2 0x11b0
000001dc: JUMP
000001dd: JUMPDEST
000001de: PUSH2 0x0047
000001e1: PUSH2 0x13be
000001e4: JUMP
000001e5: JUMPDEST
000001e6: PUSH1 0x84
000001e8: CALLDATALOAD
000001e9: PUSH1 0x60
000001eb: SWAP1
000001ec: DUP2
000001ed: SHR
000001ee: SWAP1
000001ef: PUSH1 0x98
000001f1: CALLDATALOAD
000001f2: SWAP1
000001f3: SHR
000001f4: PUSH1 0xac
000001f6: CALLDATALOAD
000001f7: PUSH1 0xe8
000001f9: SHR
000001fa: PUSH1 0x04
000001fc: CALLDATALOAD
000001fd: PUSH1 0x24
000001ff: CALLDATALOAD
00000200: DUP4
00000201: DUP6
00000202: LT
00000203: ISZERO
00000204: PUSH2 0x0398
00000207: JUMPI
00000208: PUSH1 0x40
0000020a: DUP1
0000020b: MLOAD
0000020c: PUSH1 0x01
0000020e: PUSH1 0x01
00000210: PUSH1 0xa0
00000212: SHL
00000213: SUB
00000214: DUP1
00000215: DUP9
00000216: AND
00000217: PUSH1 0x20
00000219: DUP4
0000021a: ADD
0000021b: MSTORE
0000021c: DUP7
0000021d: AND
0000021e: SWAP2
0000021f: DUP2
00000220: ADD
00000221: SWAP2
00000222: SWAP1
00000223: SWAP2
00000224: MSTORE
00000225: PUSH3 0xffffff
00000229: DUP5
0000022a: AND
0000022b: PUSH1 0x60
0000022d: DUP3
0000022e: ADD
0000022f: MSTORE
00000230: PUSH1 0x80
00000232: ADD
00000233: PUSH1 0x40
00000235: DUP1
00000236: MLOAD
00000237: PUSH1 0x1f
00000239: NOT
0000023a: DUP2
0000023b: DUP5
0000023c: SUB
0000023d: ADD
0000023e: DUP2
0000023f: MSTORE
00000240: SWAP1
00000241: DUP3
00000242: SWAP1
00000243: MSTORE
00000244: DUP1
00000245: MLOAD
00000246: PUSH1 0x20
00000248: SWAP2
00000249: DUP3
0000024a: ADD
0000024b: KECCAK256
0000024c: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
0000026d: SWAP2
0000026e: DUP4
0000026f: ADD
00000270: SWAP2
00000271: SWAP1
00000272: SWAP2
00000273: MSTORE
00000274: PUSH1 0x35
00000276: DUP3
00000277: ADD
00000278: MSTORE
00000279: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
0000029a: PUSH1 0x55
0000029c: DUP3
0000029d: ADD
0000029e: MSTORE
0000029f: PUSH1 0x75
000002a1: ADD
000002a2: PUSH1 0x40
000002a4: MLOAD
000002a5: PUSH1 0x20
000002a7: DUP2
000002a8: DUP4
000002a9: SUB
000002aa: SUB
000002ab: DUP2
000002ac: MSTORE
000002ad: SWAP1
000002ae: PUSH1 0x40
000002b0: MSTORE
000002b1: DUP1
000002b2: MLOAD
000002b3: SWAP1
000002b4: PUSH1 0x20
000002b6: ADD
000002b7: KECCAK256
000002b8: PUSH1 0x00
000002ba: SHR
000002bb: PUSH1 0x01
000002bd: PUSH1 0x01
000002bf: PUSH1 0xa0
000002c1: SHL
000002c2: SUB
000002c3: AND
000002c4: CALLER
000002c5: PUSH1 0x01
000002c7: PUSH1 0x01
000002c9: PUSH1 0xa0
000002cb: SHL
000002cc: SUB
000002cd: AND
000002ce: EQ
000002cf: PUSH2 0x031a
000002d2: JUMPI
000002d3: PUSH1 0x40
000002d5: MLOAD
000002d6: PUSH3 0x461bcd
000002da: PUSH1 0xe5
000002dc: SHL
000002dd: DUP2
000002de: MSTORE
000002df: PUSH1 0x20
000002e1: PUSH1 0x04
000002e3: DUP3
000002e4: ADD
000002e5: MSTORE
000002e6: PUSH1 0x01
000002e8: PUSH1 0x24
000002ea: DUP3
000002eb: ADD
000002ec: MSTORE
000002ed: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000
0000030e: PUSH1 0x44
00000310: DUP3
00000311: ADD
00000312: MSTORE
00000313: PUSH1 0x64
00000315: ADD
00000316: PUSH2 0x01cc
00000319: JUMP
0000031a: JUMPDEST
0000031b: PUSH1 0x40
0000031d: MLOAD
0000031e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000033f: DUP2
00000340: MSTORE
00000341: CALLER
00000342: PUSH1 0x04
00000344: DUP3
00000345: ADD
00000346: MSTORE
00000347: PUSH1 0x24
00000349: DUP2
0000034a: ADD
0000034b: DUP4
0000034c: SWAP1
0000034d: MSTORE
0000034e: PUSH1 0x01
00000350: PUSH1 0x01
00000352: PUSH1 0xa0
00000354: SHL
00000355: SUB
00000356: DUP7
00000357: AND
00000358: SWAP1
00000359: PUSH4 0xa9059cbb
0000035e: SWAP1
0000035f: PUSH1 0x44
00000361: ADD
00000362: PUSH1 0x00
00000364: PUSH1 0x40
00000366: MLOAD
00000367: DUP1
00000368: DUP4
00000369: SUB
0000036a: DUP2
0000036b: PUSH1 0x00
0000036d: DUP8
0000036e: DUP1
0000036f: EXTCODESIZE
00000370: ISZERO
00000371: DUP1
00000372: ISZERO
00000373: PUSH2 0x037b
00000376: JUMPI
00000377: PUSH1 0x00
00000379: DUP1
0000037a: REVERT
0000037b: JUMPDEST
0000037c: POP
0000037d: GAS
0000037e: CALL
0000037f: ISZERO
00000380: DUP1
00000381: ISZERO
00000382: PUSH2 0x038f
00000385: JUMPI
00000386: RETURNDATASIZE
00000387: PUSH1 0x00
00000389: DUP1
0000038a: RETURNDATACOPY
0000038b: RETURNDATASIZE
0000038c: PUSH1 0x00
0000038e: REVERT
0000038f: JUMPDEST
00000390: POP
00000391: POP
00000392: POP
00000393: POP
00000394: PUSH2 0x0526
00000397: JUMP
00000398: JUMPDEST
00000399: PUSH1 0x40
0000039b: DUP1
0000039c: MLOAD
0000039d: PUSH1 0x01
0000039f: PUSH1 0x01
000003a1: PUSH1 0xa0
000003a3: SHL
000003a4: SUB
000003a5: DUP1
000003a6: DUP8
000003a7: AND
000003a8: PUSH1 0x20
000003aa: DUP4
000003ab: ADD
000003ac: MSTORE
000003ad: DUP8
000003ae: AND
000003af: SWAP2
000003b0: DUP2
000003b1: ADD
000003b2: SWAP2
000003b3: SWAP1
000003b4: SWAP2
000003b5: MSTORE
000003b6: PUSH3 0xffffff
000003ba: DUP5
000003bb: AND
000003bc: PUSH1 0x60
000003be: DUP3
000003bf: ADD
000003c0: MSTORE
000003c1: PUSH1 0x80
000003c3: ADD
000003c4: PUSH1 0x40
000003c6: DUP1
000003c7: MLOAD
000003c8: PUSH1 0x1f
000003ca: NOT
000003cb: DUP2
000003cc: DUP5
000003cd: SUB
000003ce: ADD
000003cf: DUP2
000003d0: MSTORE
000003d1: SWAP1
000003d2: DUP3
000003d3: SWAP1
000003d4: MSTORE
000003d5: DUP1
000003d6: MLOAD
000003d7: PUSH1 0x20
000003d9: SWAP2
000003da: DUP3
000003db: ADD
000003dc: KECCAK256
000003dd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
000003fe: SWAP2
000003ff: DUP4
00000400: ADD
00000401: SWAP2
00000402: SWAP1
00000403: SWAP2
00000404: MSTORE
00000405: PUSH1 0x35
00000407: DUP3
00000408: ADD
00000409: MSTORE
0000040a: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
0000042b: PUSH1 0x55
0000042d: DUP3
0000042e: ADD
0000042f: MSTORE
00000430: PUSH1 0x75
00000432: ADD
00000433: PUSH1 0x40
00000435: MLOAD
00000436: PUSH1 0x20
00000438: DUP2
00000439: DUP4
0000043a: SUB
0000043b: SUB
0000043c: DUP2
0000043d: MSTORE
0000043e: SWAP1
0000043f: PUSH1 0x40
00000441: MSTORE
00000442: DUP1
00000443: MLOAD
00000444: SWAP1
00000445: PUSH1 0x20
00000447: ADD
00000448: KECCAK256
00000449: PUSH1 0x00
0000044b: SHR
0000044c: PUSH1 0x01
0000044e: PUSH1 0x01
00000450: PUSH1 0xa0
00000452: SHL
00000453: SUB
00000454: AND
00000455: CALLER
00000456: PUSH1 0x01
00000458: PUSH1 0x01
0000045a: PUSH1 0xa0
0000045c: SHL
0000045d: SUB
0000045e: AND
0000045f: EQ
00000460: PUSH2 0x04ab
00000463: JUMPI
00000464: PUSH1 0x40
00000466: MLOAD
00000467: PUSH3 0x461bcd
0000046b: PUSH1 0xe5
0000046d: SHL
0000046e: DUP2
0000046f: MSTORE
00000470: PUSH1 0x20
00000472: PUSH1 0x04
00000474: DUP3
00000475: ADD
00000476: MSTORE
00000477: PUSH1 0x01
00000479: PUSH1 0x24
0000047b: DUP3
0000047c: ADD
0000047d: MSTORE
0000047e: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000
0000049f: PUSH1 0x44
000004a1: DUP3
000004a2: ADD
000004a3: MSTORE
000004a4: PUSH1 0x64
000004a6: ADD
000004a7: PUSH2 0x01cc
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH1 0x40
000004ae: MLOAD
000004af: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000004d0: DUP2
000004d1: MSTORE
000004d2: CALLER
000004d3: PUSH1 0x04
000004d5: DUP3
000004d6: ADD
000004d7: MSTORE
000004d8: PUSH1 0x24
000004da: DUP2
000004db: ADD
000004dc: DUP3
000004dd: SWAP1
000004de: MSTORE
000004df: PUSH1 0x01
000004e1: PUSH1 0x01
000004e3: PUSH1 0xa0
000004e5: SHL
000004e6: SUB
000004e7: DUP7
000004e8: AND
000004e9: SWAP1
000004ea: PUSH4 0xa9059cbb
000004ef: SWAP1
000004f0: PUSH1 0x44
000004f2: ADD
000004f3: JUMPDEST
000004f4: PUSH1 0x00
000004f6: PUSH1 0x40
000004f8: MLOAD
000004f9: DUP1
000004fa: DUP4
000004fb: SUB
000004fc: DUP2
000004fd: PUSH1 0x00
000004ff: DUP8
00000500: DUP1
00000501: EXTCODESIZE
00000502: ISZERO
00000503: DUP1
00000504: ISZERO
00000505: PUSH2 0x050d
00000508: JUMPI
00000509: PUSH1 0x00
0000050b: DUP1
0000050c: REVERT
0000050d: JUMPDEST
0000050e: POP
0000050f: GAS
00000510: CALL
00000511: ISZERO
00000512: DUP1
00000513: ISZERO
00000514: PUSH2 0x0521
00000517: JUMPI
00000518: RETURNDATASIZE
00000519: PUSH1 0x00
0000051b: DUP1
0000051c: RETURNDATACOPY
0000051d: RETURNDATASIZE
0000051e: PUSH1 0x00
00000520: REVERT
00000521: JUMPDEST
00000522: POP
00000523: POP
00000524: POP
00000525: POP
00000526: JUMPDEST
00000527: POP
00000528: POP
00000529: POP
0000052a: POP
0000052b: POP
0000052c: JUMP
0000052d: JUMPDEST
0000052e: PUSH1 0x01
00000530: PUSH1 0x01
00000532: PUSH1 0xa0
00000534: SHL
00000535: SUB
00000536: PUSH32 0x000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae6123
00000557: AND
00000558: CALLER
00000559: SUB
0000055a: PUSH2 0x055f
0000055d: JUMPI
0000055e: JUMP
0000055f: JUMPDEST
00000560: PUSH1 0x01
00000562: PUSH1 0x01
00000564: PUSH1 0xa0
00000566: SHL
00000567: SUB
00000568: PUSH32 0x000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af8
00000589: AND
0000058a: CALLER
0000058b: SUB
0000058c: PUSH2 0x0591
0000058f: JUMPI
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH1 0x01
00000594: PUSH1 0x01
00000596: PUSH1 0xa0
00000598: SHL
00000599: SUB
0000059a: PUSH32 0x000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c
000005bb: AND
000005bc: CALLER
000005bd: SUB
000005be: PUSH2 0x05c3
000005c1: JUMPI
000005c2: JUMP
000005c3: JUMPDEST
000005c4: PUSH1 0x01
000005c6: PUSH1 0x01
000005c8: PUSH1 0xa0
000005ca: SHL
000005cb: SUB
000005cc: PUSH32 0x000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af8
000005ed: AND
000005ee: CALLER
000005ef: SUB
000005f0: PUSH2 0x05f5
000005f3: JUMPI
000005f4: JUMP
000005f5: JUMPDEST
000005f6: PUSH1 0x01
000005f8: PUSH1 0x01
000005fa: PUSH1 0xa0
000005fc: SHL
000005fd: SUB
000005fe: PUSH32 0x00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc9536
0000061f: AND
00000620: CALLER
00000621: SUB
00000622: PUSH2 0x0627
00000625: JUMPI
00000626: JUMP
00000627: JUMPDEST
00000628: PUSH1 0x01
0000062a: PUSH1 0x01
0000062c: PUSH1 0xa0
0000062e: SHL
0000062f: SUB
00000630: PUSH32 0x000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a4
00000651: AND
00000652: CALLER
00000653: SUB
00000654: PUSH2 0x0659
00000657: JUMPI
00000658: JUMP
00000659: JUMPDEST
0000065a: PUSH1 0x01
0000065c: PUSH1 0x01
0000065e: PUSH1 0xa0
00000660: SHL
00000661: SUB
00000662: PUSH32 0x0000000000000000000000006549e6c5401a3135a116933717e887ec8e917548
00000683: AND
00000684: CALLER
00000685: SUB
00000686: PUSH2 0x068b
00000689: JUMPI
0000068a: JUMP
0000068b: JUMPDEST
0000068c: PUSH1 0x01
0000068e: PUSH1 0x01
00000690: PUSH1 0xa0
00000692: SHL
00000693: SUB
00000694: PUSH32 0x000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b
000006b5: AND
000006b6: CALLER
000006b7: SUB
000006b8: PUSH2 0x06bd
000006bb: JUMPI
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH1 0x01
000006c0: PUSH1 0x01
000006c2: PUSH1 0xa0
000006c4: SHL
000006c5: SUB
000006c6: PUSH32 0x0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa9424
000006e7: AND
000006e8: CALLER
000006e9: SUB
000006ea: PUSH2 0x06ef
000006ed: JUMPI
000006ee: JUMP
000006ef: JUMPDEST
000006f0: PUSH1 0x01
000006f2: PUSH1 0x01
000006f4: PUSH1 0xa0
000006f6: SHL
000006f7: SUB
000006f8: PUSH32 0x000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d31
00000719: AND
0000071a: CALLER
0000071b: SUB
0000071c: PUSH2 0x0721
0000071f: JUMPI
00000720: JUMP
00000721: JUMPDEST
00000722: PUSH1 0x01
00000724: PUSH1 0x01
00000726: PUSH1 0xa0
00000728: SHL
00000729: SUB
0000072a: PUSH32 0x000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a7
0000074b: AND
0000074c: CALLER
0000074d: SUB
0000074e: PUSH2 0x0753
00000751: JUMPI
00000752: JUMP
00000753: JUMPDEST
00000754: PUSH1 0x01
00000756: PUSH1 0x01
00000758: PUSH1 0xa0
0000075a: SHL
0000075b: SUB
0000075c: PUSH32 0x000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d4
0000077d: AND
0000077e: CALLER
0000077f: SUB
00000780: PUSH2 0x0785
00000783: JUMPI
00000784: JUMP
00000785: JUMPDEST
00000786: PUSH1 0x01
00000788: PUSH1 0x01
0000078a: PUSH1 0xa0
0000078c: SHL
0000078d: SUB
0000078e: PUSH32 0x0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a175
000007af: AND
000007b0: CALLER
000007b1: SUB
000007b2: PUSH2 0x07b7
000007b5: JUMPI
000007b6: JUMP
000007b7: JUMPDEST
000007b8: PUSH1 0x01
000007ba: PUSH1 0x01
000007bc: PUSH1 0xa0
000007be: SHL
000007bf: SUB
000007c0: PUSH32 0x000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b902
000007e1: AND
000007e2: CALLER
000007e3: SUB
000007e4: PUSH2 0x07e9
000007e7: JUMPI
000007e8: JUMP
000007e9: JUMPDEST
000007ea: PUSH1 0x01
000007ec: PUSH1 0x01
000007ee: PUSH1 0xa0
000007f0: SHL
000007f1: SUB
000007f2: PUSH32 0x00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e
00000813: AND
00000814: CALLER
00000815: SUB
00000816: PUSH2 0x081b
00000819: JUMPI
0000081a: JUMP
0000081b: JUMPDEST
0000081c: PUSH1 0x01
0000081e: PUSH1 0x01
00000820: PUSH1 0xa0
00000822: SHL
00000823: SUB
00000824: PUSH32 0x00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f490
00000845: AND
00000846: CALLER
00000847: SUB
00000848: PUSH2 0x084d
0000084b: JUMPI
0000084c: JUMP
0000084d: JUMPDEST
0000084e: PUSH1 0x01
00000850: PUSH1 0x01
00000852: PUSH1 0xa0
00000854: SHL
00000855: SUB
00000856: PUSH32 0x000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f
00000877: AND
00000878: CALLER
00000879: SUB
0000087a: PUSH2 0x087f
0000087d: JUMPI
0000087e: JUMP
0000087f: JUMPDEST
00000880: PUSH1 0x01
00000882: PUSH1 0x01
00000884: PUSH1 0xa0
00000886: SHL
00000887: SUB
00000888: PUSH32 0x00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d6
000008a9: AND
000008aa: CALLER
000008ab: SUB
000008ac: PUSH2 0x08b1
000008af: JUMPI
000008b0: JUMP
000008b1: JUMPDEST
000008b2: PUSH1 0x01
000008b4: PUSH1 0x01
000008b6: PUSH1 0xa0
000008b8: SHL
000008b9: SUB
000008ba: PUSH32 0x0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae2
000008db: AND
000008dc: CALLER
000008dd: SUB
000008de: PUSH2 0x08e3
000008e1: JUMPI
000008e2: JUMP
000008e3: JUMPDEST
000008e4: PUSH1 0x01
000008e6: PUSH1 0x01
000008e8: PUSH1 0xa0
000008ea: SHL
000008eb: SUB
000008ec: PUSH32 0x0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e659
0000090d: AND
0000090e: CALLER
0000090f: SUB
00000910: PUSH2 0x0915
00000913: JUMPI
00000914: JUMP
00000915: JUMPDEST
00000916: PUSH1 0x01
00000918: PUSH1 0x01
0000091a: PUSH1 0xa0
0000091c: SHL
0000091d: SUB
0000091e: PUSH32 0x0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c751
0000093f: AND
00000940: CALLER
00000941: SUB
00000942: PUSH2 0x0947
00000945: JUMPI
00000946: JUMP
00000947: JUMPDEST
00000948: PUSH1 0x00
0000094a: SLOAD
0000094b: PUSH1 0x01
0000094d: PUSH1 0x01
0000094f: PUSH1 0xa0
00000951: SHL
00000952: SUB
00000953: AND
00000954: CALLER
00000955: SUB
00000956: PUSH2 0x095b
00000959: JUMPI
0000095a: JUMP
0000095b: JUMPDEST
0000095c: PUSH1 0x40
0000095e: MLOAD
0000095f: PUSH3 0x461bcd
00000963: PUSH1 0xe5
00000965: SHL
00000966: DUP2
00000967: MSTORE
00000968: PUSH1 0x20
0000096a: PUSH1 0x04
0000096c: DUP3
0000096d: ADD
0000096e: MSTORE
0000096f: PUSH1 0x01
00000971: PUSH1 0x24
00000973: DUP3
00000974: ADD
00000975: MSTORE
00000976: PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000
00000997: PUSH1 0x44
00000999: DUP3
0000099a: ADD
0000099b: MSTORE
0000099c: PUSH1 0x64
0000099e: ADD
0000099f: PUSH2 0x01cc
000009a2: JUMP
000009a3: JUMPDEST
000009a4: JUMP
000009a5: JUMPDEST
000009a6: PUSH1 0x01
000009a8: PUSH1 0x01
000009aa: PUSH1 0xe0
000009ac: SHL
000009ad: SUB
000009ae: NOT
000009af: PUSH1 0x00
000009b1: CALLDATALOAD
000009b2: DUP2
000009b3: AND
000009b4: ADD
000009b5: PUSH2 0x09c0
000009b8: JUMPI
000009b9: PUSH2 0x09a3
000009bc: PUSH2 0x143c
000009bf: JUMP
000009c0: JUMPDEST
000009c1: PUSH32 0xfffffffe00000000000000000000000000000000000000000000000000000000
000009e2: PUSH1 0x00
000009e4: CALLDATALOAD
000009e5: PUSH1 0x01
000009e7: PUSH1 0x01
000009e9: PUSH1 0xe0
000009eb: SHL
000009ec: SUB
000009ed: NOT
000009ee: AND
000009ef: ADD
000009f0: PUSH2 0x0a30
000009f3: JUMPI
000009f4: PUSH2 0x09fb
000009f7: PUSH2 0x143c
000009fa: JUMP
000009fb: JUMPDEST
000009fc: PUSH1 0x40
000009fe: MLOAD
000009ff: PUSH1 0x6f
00000a01: CALLDATALOAD
00000a02: SWAP1
00000a03: COINBASE
00000a04: SWAP1
00000a05: DUP3
00000a06: ISZERO
00000a07: PUSH2 0x08fc
00000a0a: MUL
00000a0b: SWAP1
00000a0c: DUP4
00000a0d: SWAP1
00000a0e: PUSH1 0x00
00000a10: DUP2
00000a11: DUP2
00000a12: DUP2
00000a13: DUP6
00000a14: DUP9
00000a15: DUP9
00000a16: CALL
00000a17: SWAP4
00000a18: POP
00000a19: POP
00000a1a: POP
00000a1b: POP
00000a1c: ISZERO
00000a1d: DUP1
00000a1e: ISZERO
00000a1f: PUSH2 0x0a2c
00000a22: JUMPI
00000a23: RETURNDATASIZE
00000a24: PUSH1 0x00
00000a26: DUP1
00000a27: RETURNDATACOPY
00000a28: RETURNDATASIZE
00000a29: PUSH1 0x00
00000a2b: REVERT
00000a2c: JUMPDEST
00000a2d: POP
00000a2e: POP
00000a2f: JUMP
00000a30: JUMPDEST
00000a31: PUSH32 0xfffffffc00000000000000000000000000000000000000000000000000000000
00000a52: PUSH1 0x00
00000a54: CALLDATALOAD
00000a55: PUSH1 0x01
00000a57: PUSH1 0x01
00000a59: PUSH1 0xe0
00000a5b: SHL
00000a5c: SUB
00000a5d: NOT
00000a5e: AND
00000a5f: ADD
00000a60: PUSH2 0x0a6b
00000a63: JUMPI
00000a64: PUSH2 0x09a3
00000a67: PUSH2 0x187e
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: PUSH32 0xfffffffb00000000000000000000000000000000000000000000000000000000
00000a8d: PUSH1 0x00
00000a8f: CALLDATALOAD
00000a90: PUSH1 0x01
00000a92: PUSH1 0x01
00000a94: PUSH1 0xe0
00000a96: SHL
00000a97: SUB
00000a98: NOT
00000a99: AND
00000a9a: ADD
00000a9b: PUSH2 0x0aa6
00000a9e: JUMPI
00000a9f: PUSH2 0x09a3
00000aa2: PUSH2 0x1d60
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: PUSH32 0xfffffffa00000000000000000000000000000000000000000000000000000000
00000ac8: PUSH1 0x00
00000aca: CALLDATALOAD
00000acb: PUSH1 0x01
00000acd: PUSH1 0x01
00000acf: PUSH1 0xe0
00000ad1: SHL
00000ad2: SUB
00000ad3: NOT
00000ad4: AND
00000ad5: ADD
00000ad6: PUSH2 0x0b12
00000ad9: JUMPI
00000ada: PUSH2 0x0ae1
00000add: PUSH2 0x1d60
00000ae0: JUMP
00000ae1: JUMPDEST
00000ae2: PUSH1 0x40
00000ae4: MLOAD
00000ae5: PUSH1 0x83
00000ae7: CALLDATALOAD
00000ae8: SWAP1
00000ae9: COINBASE
00000aea: SWAP1
00000aeb: DUP3
00000aec: ISZERO
00000aed: PUSH2 0x08fc
00000af0: MUL
00000af1: SWAP1
00000af2: DUP4
00000af3: SWAP1
00000af4: PUSH1 0x00
00000af6: DUP2
00000af7: DUP2
00000af8: DUP2
00000af9: DUP6
00000afa: DUP9
00000afb: DUP9
00000afc: CALL
00000afd: SWAP4
00000afe: POP
00000aff: POP
00000b00: POP
00000b01: POP
00000b02: ISZERO
00000b03: DUP1
00000b04: ISZERO
00000b05: PUSH2 0x0a2c
00000b08: JUMPI
00000b09: RETURNDATASIZE
00000b0a: PUSH1 0x00
00000b0c: DUP1
00000b0d: RETURNDATACOPY
00000b0e: RETURNDATASIZE
00000b0f: PUSH1 0x00
00000b11: REVERT
00000b12: JUMPDEST
00000b13: PUSH32 0xfffffff900000000000000000000000000000000000000000000000000000000
00000b34: PUSH1 0x00
00000b36: CALLDATALOAD
00000b37: PUSH1 0x01
00000b39: PUSH1 0x01
00000b3b: PUSH1 0xe0
00000b3d: SHL
00000b3e: SUB
00000b3f: NOT
00000b40: AND
00000b41: ADD
00000b42: PUSH2 0x0b4d
00000b45: JUMPI
00000b46: PUSH2 0x09a3
00000b49: PUSH2 0x2178
00000b4c: JUMP
00000b4d: JUMPDEST
00000b4e: PUSH32 0xfffffff800000000000000000000000000000000000000000000000000000000
00000b6f: PUSH1 0x00
00000b71: CALLDATALOAD
00000b72: PUSH1 0x01
00000b74: PUSH1 0x01
00000b76: PUSH1 0xe0
00000b78: SHL
00000b79: SUB
00000b7a: NOT
00000b7b: AND
00000b7c: ADD
00000b7d: PUSH2 0x0b88
00000b80: JUMPI
00000b81: PUSH2 0x09a3
00000b84: PUSH2 0x258e
00000b87: JUMP
00000b88: JUMPDEST
00000b89: PUSH32 0xfffffff700000000000000000000000000000000000000000000000000000000
00000baa: PUSH1 0x00
00000bac: CALLDATALOAD
00000bad: PUSH1 0x01
00000baf: PUSH1 0x01
00000bb1: PUSH1 0xe0
00000bb3: SHL
00000bb4: SUB
00000bb5: NOT
00000bb6: AND
00000bb7: ADD
00000bb8: PUSH2 0x0bc3
00000bbb: JUMPI
00000bbc: PUSH2 0x09a3
00000bbf: PUSH2 0x2771
00000bc2: JUMP
00000bc3: JUMPDEST
00000bc4: PUSH32 0xfffffff600000000000000000000000000000000000000000000000000000000
00000be5: PUSH1 0x00
00000be7: CALLDATALOAD
00000be8: PUSH1 0x01
00000bea: PUSH1 0x01
00000bec: PUSH1 0xe0
00000bee: SHL
00000bef: SUB
00000bf0: NOT
00000bf1: AND
00000bf2: ADD
00000bf3: PUSH2 0x09a3
00000bf6: JUMPI
00000bf7: NUMBER
00000bf8: CALLVALUE
00000bf9: LT
00000bfa: ISZERO
00000bfb: PUSH2 0x0c46
00000bfe: JUMPI
00000bff: PUSH1 0x40
00000c01: MLOAD
00000c02: PUSH3 0x461bcd
00000c06: PUSH1 0xe5
00000c08: SHL
00000c09: DUP2
00000c0a: MSTORE
00000c0b: PUSH1 0x20
00000c0d: PUSH1 0x04
00000c0f: DUP3
00000c10: ADD
00000c11: MSTORE
00000c12: PUSH1 0x01
00000c14: PUSH1 0x24
00000c16: DUP3
00000c17: ADD
00000c18: MSTORE
00000c19: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000
00000c3a: PUSH1 0x44
00000c3c: DUP3
00000c3d: ADD
00000c3e: MSTORE
00000c3f: PUSH1 0x64
00000c41: ADD
00000c42: PUSH2 0x01cc
00000c45: JUMP
00000c46: JUMPDEST
00000c47: PUSH2 0x0c4e
00000c4a: PUSH2 0x2771
00000c4d: JUMP
00000c4e: JUMPDEST
00000c4f: PUSH1 0x40
00000c51: MLOAD
00000c52: PUSH1 0x45
00000c54: CALLDATALOAD
00000c55: SWAP1
00000c56: COINBASE
00000c57: SWAP1
00000c58: DUP3
00000c59: ISZERO
00000c5a: PUSH2 0x08fc
00000c5d: MUL
00000c5e: SWAP1
00000c5f: DUP4
00000c60: SWAP1
00000c61: PUSH1 0x00
00000c63: DUP2
00000c64: DUP2
00000c65: DUP2
00000c66: DUP6
00000c67: DUP9
00000c68: DUP9
00000c69: CALL
00000c6a: SWAP4
00000c6b: POP
00000c6c: POP
00000c6d: POP
00000c6e: POP
00000c6f: ISZERO
00000c70: DUP1
00000c71: ISZERO
00000c72: PUSH2 0x0a2c
00000c75: JUMPI
00000c76: RETURNDATASIZE
00000c77: PUSH1 0x00
00000c79: DUP1
00000c7a: RETURNDATACOPY
00000c7b: RETURNDATASIZE
00000c7c: PUSH1 0x00
00000c7e: REVERT
00000c7f: JUMPDEST
00000c80: NUMBER
00000c81: CALLVALUE
00000c82: LT
00000c83: ISZERO
00000c84: PUSH2 0x0ccf
00000c87: JUMPI
00000c88: PUSH1 0x40
00000c8a: MLOAD
00000c8b: PUSH3 0x461bcd
00000c8f: PUSH1 0xe5
00000c91: SHL
00000c92: DUP2
00000c93: MSTORE
00000c94: PUSH1 0x20
00000c96: PUSH1 0x04
00000c98: DUP3
00000c99: ADD
00000c9a: MSTORE
00000c9b: PUSH1 0x01
00000c9d: PUSH1 0x24
00000c9f: DUP3
00000ca0: ADD
00000ca1: MSTORE
00000ca2: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000
00000cc3: PUSH1 0x44
00000cc5: DUP3
00000cc6: ADD
00000cc7: MSTORE
00000cc8: PUSH1 0x64
00000cca: ADD
00000ccb: PUSH2 0x01cc
00000cce: JUMP
00000ccf: JUMPDEST
00000cd0: PUSH1 0x00
00000cd2: DUP1
00000cd3: PUSH32 0xffffffef00000000000000000000000000000000000000000000000000000000
00000cf4: DUP2
00000cf5: CALLDATALOAD
00000cf6: PUSH1 0x01
00000cf8: PUSH1 0x01
00000cfa: PUSH1 0xe0
00000cfc: SHL
00000cfd: SUB
00000cfe: NOT
00000cff: AND
00000d00: ADD
00000d01: PUSH2 0x0d1c
00000d04: JUMPI
00000d05: PUSH1 0x6d
00000d07: CALLDATALOAD
00000d08: SWAP2
00000d09: POP
00000d0a: PUSH2 0x0d17
00000d0d: ADDRESS
00000d0e: PUSH1 0x01
00000d10: DUP1
00000d11: PUSH1 0x00
00000d13: PUSH2 0x299e
00000d16: JUMP
00000d17: JUMPDEST
00000d18: PUSH2 0x0f1f
00000d1b: JUMP
00000d1c: JUMPDEST
00000d1d: PUSH32 0xffffffee00000000000000000000000000000000000000000000000000000000
00000d3e: PUSH1 0x00
00000d40: CALLDATALOAD
00000d41: PUSH1 0x01
00000d43: PUSH1 0x01
00000d45: PUSH1 0xe0
00000d47: SHL
00000d48: SUB
00000d49: NOT
00000d4a: AND
00000d4b: ADD
00000d4c: PUSH2 0x0d63
00000d4f: JUMPI
00000d50: PUSH1 0x6d
00000d52: CALLDATALOAD
00000d53: SWAP2
00000d54: POP
00000d55: PUSH2 0x0d17
00000d58: ADDRESS
00000d59: PUSH1 0x00
00000d5b: PUSH1 0x01
00000d5d: PUSH1 0x00
00000d5f: PUSH2 0x299e
00000d62: JUMP
00000d63: JUMPDEST
00000d64: PUSH32 0xffffffed00000000000000000000000000000000000000000000000000000000
00000d85: PUSH1 0x00
00000d87: CALLDATALOAD
00000d88: PUSH1 0x01
00000d8a: PUSH1 0x01
00000d8c: PUSH1 0xe0
00000d8e: SHL
00000d8f: SUB
00000d90: NOT
00000d91: AND
00000d92: ADD
00000d93: PUSH2 0x0daf
00000d96: JUMPI
00000d97: POP
00000d98: POP
00000d99: PUSH1 0x81
00000d9b: CALLDATALOAD
00000d9c: PUSH1 0x6d
00000d9e: CALLDATALOAD
00000d9f: PUSH1 0x60
00000da1: SHR
00000da2: PUSH2 0x0d17
00000da5: DUP2
00000da6: PUSH1 0x01
00000da8: DUP1
00000da9: PUSH1 0x00
00000dab: PUSH2 0x299e
00000dae: JUMP
00000daf: JUMPDEST
00000db0: PUSH32 0xffffffec00000000000000000000000000000000000000000000000000000000
00000dd1: PUSH1 0x00
00000dd3: CALLDATALOAD
00000dd4: PUSH1 0x01
00000dd6: PUSH1 0x01
00000dd8: PUSH1 0xe0
00000dda: SHL
00000ddb: SUB
00000ddc: NOT
00000ddd: AND
00000dde: ADD
00000ddf: PUSH2 0x0dfb
00000de2: JUMPI
00000de3: POP
00000de4: POP
00000de5: PUSH1 0x81
00000de7: CALLDATALOAD
00000de8: PUSH1 0x6d
00000dea: CALLDATALOAD
00000deb: PUSH1 0x60
00000ded: SHR
00000dee: PUSH2 0x0d17
00000df1: DUP2
00000df2: PUSH1 0x00
00000df4: PUSH1 0x01
00000df6: DUP2
00000df7: PUSH2 0x299e
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: PUSH32 0xffffffeb00000000000000000000000000000000000000000000000000000000
00000e1d: PUSH1 0x00
00000e1f: CALLDATALOAD
00000e20: PUSH1 0x01
00000e22: PUSH1 0x01
00000e24: PUSH1 0xe0
00000e26: SHL
00000e27: SUB
00000e28: NOT
00000e29: AND
00000e2a: ADD
00000e2b: PUSH2 0x0e41
00000e2e: JUMPI
00000e2f: PUSH1 0x6d
00000e31: CALLDATALOAD
00000e32: SWAP2
00000e33: POP
00000e34: PUSH2 0x0d17
00000e37: ADDRESS
00000e38: PUSH1 0x01
00000e3a: DUP1
00000e3b: PUSH1 0x01
00000e3d: PUSH2 0x299e
00000e40: JUMP
00000e41: JUMPDEST
00000e42: PUSH32 0xffffffea00000000000000000000000000000000000000000000000000000000
00000e63: PUSH1 0x00
00000e65: CALLDATALOAD
00000e66: PUSH1 0x01
00000e68: PUSH1 0x01
00000e6a: PUSH1 0xe0
00000e6c: SHL
00000e6d: SUB
00000e6e: NOT
00000e6f: AND
00000e70: ADD
00000e71: PUSH2 0x0e8c
00000e74: JUMPI
00000e75: POP
00000e76: POP
00000e77: PUSH1 0x81
00000e79: CALLDATALOAD
00000e7a: PUSH1 0x6d
00000e7c: CALLDATALOAD
00000e7d: PUSH1 0x60
00000e7f: SHR
00000e80: PUSH2 0x0d17
00000e83: DUP2
00000e84: PUSH1 0x01
00000e86: DUP1
00000e87: DUP1
00000e88: PUSH2 0x299e
00000e8b: JUMP
00000e8c: JUMPDEST
00000e8d: PUSH32 0xffffffe900000000000000000000000000000000000000000000000000000000
00000eae: PUSH1 0x00
00000eb0: CALLDATALOAD
00000eb1: PUSH1 0x01
00000eb3: PUSH1 0x01
00000eb5: PUSH1 0xe0
00000eb7: SHL
00000eb8: SUB
00000eb9: NOT
00000eba: AND
00000ebb: ADD
00000ebc: PUSH2 0x0ed3
00000ebf: JUMPI
00000ec0: PUSH1 0x6d
00000ec2: CALLDATALOAD
00000ec3: SWAP2
00000ec4: POP
00000ec5: PUSH2 0x0d17
00000ec8: ADDRESS
00000ec9: PUSH1 0x01
00000ecb: PUSH1 0x00
00000ecd: PUSH1 0x01
00000ecf: PUSH2 0x299e
00000ed2: JUMP
00000ed3: JUMPDEST
00000ed4: PUSH32 0xffffffe800000000000000000000000000000000000000000000000000000000
00000ef5: PUSH1 0x00
00000ef7: CALLDATALOAD
00000ef8: PUSH1 0x01
00000efa: PUSH1 0x01
00000efc: PUSH1 0xe0
00000efe: SHL
00000eff: SUB
00000f00: NOT
00000f01: AND
00000f02: ADD
00000f03: PUSH2 0x0f1f
00000f06: JUMPI
00000f07: POP
00000f08: POP
00000f09: PUSH1 0x81
00000f0b: CALLDATALOAD
00000f0c: PUSH1 0x6d
00000f0e: CALLDATALOAD
00000f0f: PUSH1 0x60
00000f11: SHR
00000f12: PUSH2 0x0f1f
00000f15: DUP2
00000f16: PUSH1 0x01
00000f18: PUSH1 0x00
00000f1a: DUP2
00000f1b: PUSH2 0x299e
00000f1e: JUMP
00000f1f: JUMPDEST
00000f20: DUP2
00000f21: ISZERO
00000f22: PUSH2 0x0a2c
00000f25: JUMPI
00000f26: PUSH1 0x40
00000f28: MLOAD
00000f29: COINBASE
00000f2a: SWAP1
00000f2b: DUP4
00000f2c: ISZERO
00000f2d: PUSH2 0x08fc
00000f30: MUL
00000f31: SWAP1
00000f32: DUP5
00000f33: SWAP1
00000f34: PUSH1 0x00
00000f36: DUP2
00000f37: DUP2
00000f38: DUP2
00000f39: DUP6
00000f3a: DUP9
00000f3b: DUP9
00000f3c: CALL
00000f3d: SWAP4
00000f3e: POP
00000f3f: POP
00000f40: POP
00000f41: POP
00000f42: ISZERO
00000f43: DUP1
00000f44: ISZERO
00000f45: PUSH2 0x0f52
00000f48: JUMPI
00000f49: RETURNDATASIZE
00000f4a: PUSH1 0x00
00000f4c: DUP1
00000f4d: RETURNDATACOPY
00000f4e: RETURNDATASIZE
00000f4f: PUSH1 0x00
00000f51: REVERT
00000f52: JUMPDEST
00000f53: POP
00000f54: POP
00000f55: POP
00000f56: JUMP
00000f57: JUMPDEST
00000f58: PUSH32 0xffffffde00000000000000000000000000000000000000000000000000000000
00000f79: PUSH1 0x00
00000f7b: CALLDATALOAD
00000f7c: PUSH1 0x01
00000f7e: PUSH1 0x01
00000f80: PUSH1 0xe0
00000f82: SHL
00000f83: SUB
00000f84: NOT
00000f85: AND
00000f86: ADD
00000f87: PUSH2 0x1013
00000f8a: JUMPI
00000f8b: NUMBER
00000f8c: CALLVALUE
00000f8d: LT
00000f8e: ISZERO
00000f8f: PUSH2 0x0fda
00000f92: JUMPI
00000f93: PUSH1 0x40
00000f95: MLOAD
00000f96: PUSH3 0x461bcd
00000f9a: PUSH1 0xe5
00000f9c: SHL
00000f9d: DUP2
00000f9e: MSTORE
00000f9f: PUSH1 0x20
00000fa1: PUSH1 0x04
00000fa3: DUP3
00000fa4: ADD
00000fa5: MSTORE
00000fa6: PUSH1 0x01
00000fa8: PUSH1 0x24
00000faa: DUP3
00000fab: ADD
00000fac: MSTORE
00000fad: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000
00000fce: PUSH1 0x44
00000fd0: DUP3
00000fd1: ADD
00000fd2: MSTORE
00000fd3: PUSH1 0x64
00000fd5: ADD
00000fd6: PUSH2 0x01cc
00000fd9: JUMP
00000fda: JUMPDEST
00000fdb: PUSH2 0x0fe2
00000fde: PUSH2 0x3456
00000fe1: JUMP
00000fe2: JUMPDEST
00000fe3: PUSH1 0x40
00000fe5: MLOAD
00000fe6: PUSH1 0xbc
00000fe8: CALLDATALOAD
00000fe9: SWAP1
00000fea: COINBASE
00000feb: SWAP1
00000fec: DUP3
00000fed: ISZERO
00000fee: PUSH2 0x08fc
00000ff1: MUL
00000ff2: SWAP1
00000ff3: DUP4
00000ff4: SWAP1
00000ff5: PUSH1 0x00
00000ff7: DUP2
00000ff8: DUP2
00000ff9: DUP2
00000ffa: DUP6
00000ffb: DUP9
00000ffc: DUP9
00000ffd: CALL
00000ffe: SWAP4
00000fff: POP
00001000: POP
00001001: POP
00001002: POP
00001003: ISZERO
00001004: DUP1
00001005: ISZERO
00001006: PUSH2 0x0a2c
00001009: JUMPI
0000100a: RETURNDATASIZE
0000100b: PUSH1 0x00
0000100d: DUP1
0000100e: RETURNDATACOPY
0000100f: RETURNDATASIZE
00001010: PUSH1 0x00
00001012: REVERT
00001013: JUMPDEST
00001014: PUSH32 0xffffffdf00000000000000000000000000000000000000000000000000000000
00001035: PUSH1 0x00
00001037: CALLDATALOAD
00001038: PUSH1 0x01
0000103a: PUSH1 0x01
0000103c: PUSH1 0xe0
0000103e: SHL
0000103f: SUB
00001040: NOT
00001041: AND
00001042: ADD
00001043: PUSH2 0x09a3
00001046: JUMPI
00001047: PUSH2 0x09a3
0000104a: PUSH2 0x3456
0000104d: JUMP
0000104e: JUMPDEST
0000104f: PUSH32 0xffffffcf00000000000000000000000000000000000000000000000000000000
00001070: PUSH1 0x00
00001072: CALLDATALOAD
00001073: PUSH1 0x01
00001075: PUSH1 0x01
00001077: PUSH1 0xe0
00001079: SHL
0000107a: SUB
0000107b: NOT
0000107c: AND
0000107d: ADD
0000107e: PUSH2 0x1089
00001081: JUMPI
00001082: PUSH2 0x09a3
00001085: PUSH2 0x3559
00001088: JUMP
00001089: JUMPDEST
0000108a: PUSH32 0xffffffce00000000000000000000000000000000000000000000000000000000
000010ab: PUSH1 0x00
000010ad: CALLDATALOAD
000010ae: PUSH1 0x01
000010b0: PUSH1 0x01
000010b2: PUSH1 0xe0
000010b4: SHL
000010b5: SUB
000010b6: NOT
000010b7: AND
000010b8: ADD
000010b9: PUSH2 0x10c4
000010bc: JUMPI
000010bd: PUSH2 0x09a3
000010c0: PUSH2 0x35c3
000010c3: JUMP
000010c4: JUMPDEST
000010c5: PUSH32 0xffffffcd00000000000000000000000000000000000000000000000000000000
000010e6: PUSH1 0x00
000010e8: CALLDATALOAD
000010e9: PUSH1 0x01
000010eb: PUSH1 0x01
000010ed: PUSH1 0xe0
000010ef: SHL
000010f0: SUB
000010f1: NOT
000010f2: AND
000010f3: ADD
000010f4: PUSH2 0x10ff
000010f7: JUMPI
000010f8: PUSH2 0x09a3
000010fb: PUSH2 0x3641
000010fe: JUMP
000010ff: JUMPDEST
00001100: PUSH32 0xffffffcc00000000000000000000000000000000000000000000000000000000
00001121: PUSH1 0x00
00001123: CALLDATALOAD
00001124: PUSH1 0x01
00001126: PUSH1 0x01
00001128: PUSH1 0xe0
0000112a: SHL
0000112b: SUB
0000112c: NOT
0000112d: AND
0000112e: ADD
0000112f: PUSH2 0x113a
00001132: JUMPI
00001133: PUSH2 0x09a3
00001136: PUSH2 0x36ca
00001139: JUMP
0000113a: JUMPDEST
0000113b: PUSH32 0xffffffcb00000000000000000000000000000000000000000000000000000000
0000115c: PUSH1 0x00
0000115e: CALLDATALOAD
0000115f: PUSH1 0x01
00001161: PUSH1 0x01
00001163: PUSH1 0xe0
00001165: SHL
00001166: SUB
00001167: NOT
00001168: AND
00001169: ADD
0000116a: PUSH2 0x1175
0000116d: JUMPI
0000116e: PUSH2 0x09a3
00001171: PUSH2 0x37df
00001174: JUMP
00001175: JUMPDEST
00001176: PUSH32 0xffffffca00000000000000000000000000000000000000000000000000000000
00001197: PUSH1 0x00
00001199: CALLDATALOAD
0000119a: PUSH1 0x01
0000119c: PUSH1 0x01
0000119e: PUSH1 0xe0
000011a0: SHL
000011a1: SUB
000011a2: NOT
000011a3: AND
000011a4: ADD
000011a5: PUSH2 0x09a3
000011a8: JUMPI
000011a9: PUSH2 0x09a3
000011ac: PUSH2 0x392b
000011af: JUMP
000011b0: JUMPDEST
000011b1: PUSH32 0xffffffbf00000000000000000000000000000000000000000000000000000000
000011d2: PUSH1 0x00
000011d4: CALLDATALOAD
000011d5: PUSH1 0x01
000011d7: PUSH1 0x01
000011d9: PUSH1 0xe0
000011db: SHL
000011dc: SUB
000011dd: NOT
000011de: AND
000011df: ADD
000011e0: PUSH2 0x11eb
000011e3: JUMPI
000011e4: PUSH2 0x09a3
000011e7: PUSH2 0x3a5f
000011ea: JUMP
000011eb: JUMPDEST
000011ec: PUSH32 0xffffffbd00000000000000000000000000000000000000000000000000000000
0000120d: PUSH1 0x00
0000120f: CALLDATALOAD
00001210: PUSH1 0x01
00001212: PUSH1 0x01
00001214: PUSH1 0xe0
00001216: SHL
00001217: SUB
00001218: NOT
00001219: AND
0000121a: ADD
0000121b: PUSH2 0x1226
0000121e: JUMPI
0000121f: PUSH2 0x09a3
00001222: PUSH2 0x3b36
00001225: JUMP
00001226: JUMPDEST
00001227: PUSH32 0xffffffbe00000000000000000000000000000000000000000000000000000000
00001248: PUSH1 0x00
0000124a: CALLDATALOAD
0000124b: PUSH1 0x01
0000124d: PUSH1 0x01
0000124f: PUSH1 0xe0
00001251: SHL
00001252: SUB
00001253: NOT
00001254: AND
00001255: ADD
00001256: PUSH2 0x1261
00001259: JUMPI
0000125a: PUSH2 0x09a3
0000125d: PUSH2 0x3b8c
00001260: JUMP
00001261: JUMPDEST
00001262: PUSH32 0xffffffbc00000000000000000000000000000000000000000000000000000000
00001283: PUSH1 0x00
00001285: CALLDATALOAD
00001286: PUSH1 0x01
00001288: PUSH1 0x01
0000128a: PUSH1 0xe0
0000128c: SHL
0000128d: SUB
0000128e: NOT
0000128f: AND
00001290: ADD
00001291: PUSH2 0x129c
00001294: JUMPI
00001295: PUSH2 0x09a3
00001298: PUSH2 0x3d73
0000129b: JUMP
0000129c: JUMPDEST
0000129d: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000
000012be: PUSH1 0x00
000012c0: CALLDATALOAD
000012c1: PUSH1 0x01
000012c3: PUSH1 0x01
000012c5: PUSH1 0xe0
000012c7: SHL
000012c8: SUB
000012c9: NOT
000012ca: AND
000012cb: ADD
000012cc: PUSH2 0x1303
000012cf: JUMPI
000012d0: PUSH2 0x09a3
000012d3: PUSH1 0x00
000012d5: DUP1
000012d6: SLOAD
000012d7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000012f8: AND
000012f9: PUSH1 0x04
000012fb: CALLDATALOAD
000012fc: PUSH1 0x60
000012fe: SHR
000012ff: OR
00001300: SWAP1
00001301: SSTORE
00001302: JUMP
00001303: JUMPDEST
00001304: PUSH32 0xffffffb700000000000000000000000000000000000000000000000000000000
00001325: PUSH1 0x00
00001327: CALLDATALOAD
00001328: PUSH1 0x01
0000132a: PUSH1 0x01
0000132c: PUSH1 0xe0
0000132e: SHL
0000132f: SUB
00001330: NOT
00001331: AND
00001332: ADD
00001333: PUSH2 0x133e
00001336: JUMPI
00001337: PUSH2 0x09a3
0000133a: PUSH2 0x3eab
0000133d: JUMP
0000133e: JUMPDEST
0000133f: PUSH32 0xffffffb600000000000000000000000000000000000000000000000000000000
00001360: PUSH1 0x00
00001362: CALLDATALOAD
00001363: PUSH1 0x01
00001365: PUSH1 0x01
00001367: PUSH1 0xe0
00001369: SHL
0000136a: SUB
0000136b: NOT
0000136c: AND
0000136d: ADD
0000136e: PUSH2 0x09a3
00001371: JUMPI
00001372: PUSH2 0x09a3
00001375: PUSH1 0x01
00001377: PUSH1 0x01
00001379: PUSH1 0xe0
0000137b: SHL
0000137c: SUB
0000137d: NOT
0000137e: PUSH1 0x04
00001380: CALLDATALOAD
00001381: AND
00001382: PUSH1 0x00
00001384: SWAP1
00001385: DUP2
00001386: MSTORE
00001387: PUSH1 0x01
00001389: PUSH1 0x20
0000138b: MSTORE
0000138c: PUSH1 0x40
0000138e: SWAP1
0000138f: KECCAK256
00001390: DUP1
00001391: SLOAD
00001392: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000013b3: AND
000013b4: PUSH1 0x08
000013b6: CALLDATALOAD
000013b7: PUSH1 0x60
000013b9: SHR
000013ba: OR
000013bb: SWAP1
000013bc: SSTORE
000013bd: JUMP
000013be: JUMPDEST
000013bf: PUSH32 0x2cb7866900000000000000000000000000000000000000000000000000000000
000013e0: PUSH1 0x00
000013e2: CALLDATALOAD
000013e3: PUSH1 0x01
000013e5: PUSH1 0x01
000013e7: PUSH1 0xe0
000013e9: SHL
000013ea: SUB
000013eb: NOT
000013ec: AND
000013ed: ADD
000013ee: PUSH2 0x13f9
000013f1: JUMPI
000013f2: PUSH2 0x09a3
000013f5: PUSH2 0x3f37
000013f8: JUMP
000013f9: JUMPDEST
000013fa: PUSH32 0xe9d9458200000000000000000000000000000000000000000000000000000000
0000141b: PUSH1 0x00
0000141d: CALLDATALOAD
0000141e: PUSH1 0x01
00001420: PUSH1 0x01
00001422: PUSH1 0xe0
00001424: SHL
00001425: SUB
00001426: NOT
00001427: AND
00001428: ADD
00001429: PUSH2 0x1434
0000142c: JUMPI
0000142d: PUSH2 0x09a3
00001430: PUSH2 0x4128
00001433: JUMP
00001434: JUMPDEST
00001435: PUSH2 0x09a3
00001438: PUSH2 0x41c9
0000143b: JUMP
0000143c: JUMPDEST
0000143d: NUMBER
0000143e: CALLVALUE
0000143f: LT
00001440: ISZERO
00001441: PUSH2 0x148c
00001444: JUMPI
00001445: PUSH1 0x40
00001447: MLOAD
00001448: PUSH3 0x461bcd
0000144c: PUSH1 0xe5
0000144e: SHL
0000144f: DUP2
00001450: MSTORE
00001451: PUSH1 0x20
00001453: PUSH1 0x04
00001455: DUP3
00001456: ADD
00001457: MSTORE
00001458: PUSH1 0x01
0000145a: PUSH1 0x24
0000145c: DUP3
0000145d: ADD
0000145e: MSTORE
0000145f: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000
00001480: PUSH1 0x44
00001482: DUP3
00001483: ADD
00001484: MSTORE
00001485: PUSH1 0x64
00001487: ADD
00001488: PUSH2 0x01cc
0000148b: JUMP
0000148c: JUMPDEST
0000148d: PUSH1 0x04
0000148f: CALLDATALOAD
00001490: PUSH1 0x24
00001492: DUP1
00001493: CALLDATALOAD
00001494: PUSH1 0x60
00001496: SWAP1
00001497: DUP2
00001498: SHR
00001499: SWAP2
0000149a: PUSH1 0x38
0000149c: CALLDATALOAD
0000149d: SWAP1
0000149e: SWAP2
0000149f: SHR
000014a0: SWAP1
000014a1: PUSH1 0x4c
000014a3: CALLDATALOAD
000014a4: PUSH1 0xe8
000014a6: SHR
000014a7: SWAP1
000014a8: PUSH1 0x4f
000014aa: CALLDATALOAD
000014ab: SWAP1
000014ac: PUSH1 0x2b
000014ae: DUP5
000014af: DUP7
000014b0: LT
000014b1: ISZERO
000014b2: PUSH2 0x1690
000014b5: JUMPI
000014b6: PUSH1 0x40
000014b8: DUP1
000014b9: MLOAD
000014ba: PUSH1 0x01
000014bc: PUSH1 0x01
000014be: PUSH1 0xa0
000014c0: SHL
000014c1: SUB
000014c2: DUP1
000014c3: DUP10
000014c4: AND
000014c5: PUSH1 0x20
000014c7: DUP4
000014c8: ADD
000014c9: MSTORE
000014ca: DUP8
000014cb: AND
000014cc: SWAP2
000014cd: DUP2
000014ce: ADD
000014cf: SWAP2
000014d0: SWAP1
000014d1: SWAP2
000014d2: MSTORE
000014d3: PUSH3 0xffffff
000014d7: DUP6
000014d8: AND
000014d9: PUSH1 0x60
000014db: DUP3
000014dc: ADD
000014dd: MSTORE
000014de: PUSH1 0x00
000014e0: SWAP1
000014e1: PUSH1 0x80
000014e3: ADD
000014e4: PUSH1 0x40
000014e6: DUP1
000014e7: MLOAD
000014e8: PUSH1 0x1f
000014ea: NOT
000014eb: DUP2
000014ec: DUP5
000014ed: SUB
000014ee: ADD
000014ef: DUP2
000014f0: MSTORE
000014f1: SWAP1
000014f2: DUP3
000014f3: SWAP1
000014f4: MSTORE
000014f5: DUP1
000014f6: MLOAD
000014f7: PUSH1 0x20
000014f9: SWAP2
000014fa: DUP3
000014fb: ADD
000014fc: KECCAK256
000014fd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
0000151e: SWAP2
0000151f: DUP4
00001520: ADD
00001521: SWAP2
00001522: SWAP1
00001523: SWAP2
00001524: MSTORE
00001525: PUSH1 0x35
00001527: DUP3
00001528: ADD
00001529: MSTORE
0000152a: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
0000154b: PUSH1 0x55
0000154d: DUP3
0000154e: ADD
0000154f: MSTORE
00001550: PUSH1 0x75
00001552: ADD
00001553: PUSH1 0x40
00001555: DUP1
00001556: MLOAD
00001557: PUSH1 0x1f
00001559: NOT
0000155a: DUP2
0000155b: DUP5
0000155c: SUB
0000155d: ADD
0000155e: DUP2
0000155f: MSTORE
00001560: SWAP1
00001561: DUP3
00001562: SWAP1
00001563: MSTORE
00001564: DUP1
00001565: MLOAD
00001566: PUSH1 0x20
00001568: SWAP1
00001569: SWAP2
0000156a: ADD
0000156b: KECCAK256
0000156c: PUSH32 0x128acb0800000000000000000000000000000000000000000000000000000000
0000158d: DUP3
0000158e: MSTORE
0000158f: SWAP2
00001590: POP
00001591: PUSH1 0x00
00001593: SWAP1
00001594: DUP2
00001595: SWAP1
00001596: PUSH1 0x01
00001598: PUSH1 0x01
0000159a: PUSH1 0xa0
0000159c: SHL
0000159d: SUB
0000159e: DUP5
0000159f: AND
000015a0: SWAP1
000015a1: PUSH4 0x128acb08
000015a6: SWAP1
000015a7: PUSH2 0x15c4
000015aa: SWAP1
000015ab: ADDRESS
000015ac: SWAP1
000015ad: PUSH1 0x01
000015af: SWAP1
000015b0: DUP16
000015b1: SWAP1
000015b2: PUSH5 0x01000276a4
000015b8: SWAP1
000015b9: DUP13
000015ba: SWAP1
000015bb: DUP13
000015bc: SWAP1
000015bd: PUSH1 0x04
000015bf: ADD
000015c0: PUSH2 0x46a3
000015c3: JUMP
000015c4: JUMPDEST
000015c5: PUSH1 0x40
000015c7: DUP1
000015c8: MLOAD
000015c9: DUP1
000015ca: DUP4
000015cb: SUB
000015cc: DUP2
000015cd: PUSH1 0x00
000015cf: DUP8
000015d0: GAS
000015d1: CALL
000015d2: ISZERO
000015d3: DUP1
000015d4: ISZERO
000015d5: PUSH2 0x15e2
000015d8: JUMPI
000015d9: RETURNDATASIZE
000015da: PUSH1 0x00
000015dc: DUP1
000015dd: RETURNDATACOPY
000015de: RETURNDATASIZE
000015df: PUSH1 0x00
000015e1: REVERT
000015e2: JUMPDEST
000015e3: POP
000015e4: POP
000015e5: POP
000015e6: POP
000015e7: PUSH1 0x40
000015e9: MLOAD
000015ea: RETURNDATASIZE
000015eb: PUSH1 0x1f
000015ed: NOT
000015ee: PUSH1 0x1f
000015f0: DUP3
000015f1: ADD
000015f2: AND
000015f3: DUP3
000015f4: ADD
000015f5: DUP1
000015f6: PUSH1 0x40
000015f8: MSTORE
000015f9: POP
000015fa: DUP2
000015fb: ADD
000015fc: SWAP1
000015fd: PUSH2 0x1606
00001600: SWAP2
00001601: SWAP1
00001602: PUSH2 0x4700
00001605: JUMP
00001606: JUMPDEST
00001607: SWAP2
00001608: POP
00001609: SWAP2
0000160a: POP
0000160b: PUSH1 0x00
0000160d: DUP11
0000160e: SGT
0000160f: ISZERO
00001610: PUSH2 0x1654
00001613: JUMPI
00001614: DUP6
00001615: PUSH2 0x161d
00001618: DUP3
00001619: PUSH2 0x4753
0000161c: JUMP
0000161d: JUMPDEST
0000161e: LT
0000161f: ISZERO
00001620: PUSH2 0x164f
00001623: JUMPI
00001624: PUSH1 0x40
00001626: MLOAD
00001627: PUSH3 0x461bcd
0000162b: PUSH1 0xe5
0000162d: SHL
0000162e: DUP2
0000162f: MSTORE
00001630: PUSH1 0x20
00001632: PUSH1 0x04
00001634: DUP3
00001635: ADD
00001636: MSTORE
00001637: PUSH1 0x01
00001639: PUSH1 0x24
0000163b: DUP3
0000163c: ADD
0000163d: MSTORE
0000163e: PUSH1 0x53
00001640: PUSH1 0xf8
00001642: SHL
00001643: PUSH1 0x44
00001645: DUP3
00001646: ADD
00001647: MSTORE
00001648: PUSH1 0x64
0000164a: ADD
0000164b: PUSH2 0x01cc
0000164e: JUMP
0000164f: JUMPDEST
00001650: PUSH2 0x1688
00001653: JUMP
00001654: JUMPDEST
00001655: DUP6
00001656: DUP3
00001657: GT
00001658: ISZERO
00001659: PUSH2 0x1688
0000165c: JUMPI
0000165d: PUSH1 0x40
0000165f: MLOAD
00001660: PUSH3 0x461bcd
00001664: PUSH1 0xe5
00001666: SHL
00001667: DUP2
00001668: MSTORE
00001669: PUSH1 0x20
0000166b: PUSH1 0x04
0000166d: DUP3
0000166e: ADD
0000166f: MSTORE
00001670: PUSH1 0x01
00001672: PUSH1 0x24
00001674: DUP3
00001675: ADD
00001676: MSTORE
00001677: PUSH1 0x53
00001679: PUSH1 0xf8
0000167b: SHL
0000167c: PUSH1 0x44
0000167e: DUP3
0000167f: ADD
00001680: MSTORE
00001681: PUSH1 0x64
00001683: ADD
00001684: PUSH2 0x01cc
00001687: JUMP
00001688: JUMPDEST
00001689: POP
0000168a: POP
0000168b: POP
0000168c: PUSH2 0x1875
0000168f: JUMP
00001690: JUMPDEST
00001691: PUSH1 0x40
00001693: DUP1
00001694: MLOAD
00001695: PUSH1 0x01
00001697: PUSH1 0x01
00001699: PUSH1 0xa0
0000169b: SHL
0000169c: SUB
0000169d: DUP1
0000169e: DUP9
0000169f: AND
000016a0: PUSH1 0x20
000016a2: DUP4
000016a3: ADD
000016a4: MSTORE
000016a5: DUP9
000016a6: AND
000016a7: SWAP2
000016a8: DUP2
000016a9: ADD
000016aa: SWAP2
000016ab: SWAP1
000016ac: SWAP2
000016ad: MSTORE
000016ae: PUSH3 0xffffff
000016b2: DUP6
000016b3: AND
000016b4: PUSH1 0x60
000016b6: DUP3
000016b7: ADD
000016b8: MSTORE
000016b9: PUSH1 0x00
000016bb: SWAP1
000016bc: PUSH1 0x80
000016be: ADD
000016bf: PUSH1 0x40
000016c1: DUP1
000016c2: MLOAD
000016c3: PUSH1 0x1f
000016c5: NOT
000016c6: DUP2
000016c7: DUP5
000016c8: SUB
000016c9: ADD
000016ca: DUP2
000016cb: MSTORE
000016cc: SWAP1
000016cd: DUP3
000016ce: SWAP1
000016cf: MSTORE
000016d0: DUP1
000016d1: MLOAD
000016d2: PUSH1 0x20
000016d4: SWAP2
000016d5: DUP3
000016d6: ADD
000016d7: KECCAK256
000016d8: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
000016f9: SWAP2
000016fa: DUP4
000016fb: ADD
000016fc: SWAP2
000016fd: SWAP1
000016fe: SWAP2
000016ff: MSTORE
00001700: PUSH1 0x35
00001702: DUP3
00001703: ADD
00001704: MSTORE
00001705: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00001726: PUSH1 0x55
00001728: DUP3
00001729: ADD
0000172a: MSTORE
0000172b: PUSH1 0x75
0000172d: ADD
0000172e: PUSH1 0x40
00001730: DUP1
00001731: MLOAD
00001732: PUSH1 0x1f
00001734: NOT
00001735: DUP2
00001736: DUP5
00001737: SUB
00001738: ADD
00001739: DUP2
0000173a: MSTORE
0000173b: SWAP1
0000173c: DUP3
0000173d: SWAP1
0000173e: MSTORE
0000173f: DUP1
00001740: MLOAD
00001741: PUSH1 0x20
00001743: SWAP1
00001744: SWAP2
00001745: ADD
00001746: KECCAK256
00001747: PUSH32 0x128acb0800000000000000000000000000000000000000000000000000000000
00001768: DUP3
00001769: MSTORE
0000176a: SWAP2
0000176b: POP
0000176c: PUSH1 0x00
0000176e: SWAP1
0000176f: DUP2
00001770: SWAP1
00001771: PUSH1 0x01
00001773: PUSH1 0x01
00001775: PUSH1 0xa0
00001777: SHL
00001778: SUB
00001779: DUP5
0000177a: AND
0000177b: SWAP1
0000177c: PUSH4 0x128acb08
00001781: SWAP1
00001782: PUSH2 0x17ad
00001785: SWAP1
00001786: ADDRESS
00001787: SWAP1
00001788: DUP6
00001789: SWAP1
0000178a: DUP16
0000178b: SWAP1
0000178c: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25
000017a1: SWAP1
000017a2: DUP13
000017a3: SWAP1
000017a4: DUP13
000017a5: SWAP1
000017a6: PUSH1 0x04
000017a8: ADD
000017a9: PUSH2 0x46a3
000017ac: JUMP
000017ad: JUMPDEST
000017ae: PUSH1 0x40
000017b0: DUP1
000017b1: MLOAD
000017b2: DUP1
000017b3: DUP4
000017b4: SUB
000017b5: DUP2
000017b6: PUSH1 0x00
000017b8: DUP8
000017b9: GAS
000017ba: CALL
000017bb: ISZERO
000017bc: DUP1
000017bd: ISZERO
000017be: PUSH2 0x17cb
000017c1: JUMPI
000017c2: RETURNDATASIZE
000017c3: PUSH1 0x00
000017c5: DUP1
000017c6: RETURNDATACOPY
000017c7: RETURNDATASIZE
000017c8: PUSH1 0x00
000017ca: REVERT
000017cb: JUMPDEST
000017cc: POP
000017cd: POP
000017ce: POP
000017cf: POP
000017d0: PUSH1 0x40
000017d2: MLOAD
000017d3: RETURNDATASIZE
000017d4: PUSH1 0x1f
000017d6: NOT
000017d7: PUSH1 0x1f
000017d9: DUP3
000017da: ADD
000017db: AND
000017dc: DUP3
000017dd: ADD
000017de: DUP1
000017df: PUSH1 0x40
000017e1: MSTORE
000017e2: POP
000017e3: DUP2
000017e4: ADD
000017e5: SWAP1
000017e6: PUSH2 0x17ef
000017e9: SWAP2
000017ea: SWAP1
000017eb: PUSH2 0x4700
000017ee: JUMP
000017ef: JUMPDEST
000017f0: SWAP2
000017f1: POP
000017f2: SWAP2
000017f3: POP
000017f4: PUSH1 0x00
000017f6: DUP11
000017f7: SGT
000017f8: ISZERO
000017f9: PUSH2 0x183d
000017fc: JUMPI
000017fd: DUP6
000017fe: PUSH2 0x1806
00001801: DUP4
00001802: PUSH2 0x4753
00001805: JUMP
00001806: JUMPDEST
00001807: LT
00001808: ISZERO
00001809: PUSH2 0x1838
0000180c: JUMPI
0000180d: PUSH1 0x40
0000180f: MLOAD
00001810: PUSH3 0x461bcd
00001814: PUSH1 0xe5
00001816: SHL
00001817: DUP2
00001818: MSTORE
00001819: PUSH1 0x20
0000181b: PUSH1 0x04
0000181d: DUP3
0000181e: ADD
0000181f: MSTORE
00001820: PUSH1 0x01
00001822: PUSH1 0x24
00001824: DUP3
00001825: ADD
00001826: MSTORE
00001827: PUSH1 0x53
00001829: PUSH1 0xf8
0000182b: SHL
0000182c: PUSH1 0x44
0000182e: DUP3
0000182f: ADD
00001830: MSTORE
00001831: PUSH1 0x64
00001833: ADD
00001834: PUSH2 0x01cc
00001837: JUMP
00001838: JUMPDEST
00001839: PUSH2 0x1871
0000183c: JUMP
0000183d: JUMPDEST
0000183e: DUP6
0000183f: DUP2
00001840: GT
00001841: ISZERO
00001842: PUSH2 0x1871
00001845: JUMPI
00001846: PUSH1 0x40
00001848: MLOAD
00001849: PUSH3 0x461bcd
0000184d: PUSH1 0xe5
0000184f: SHL
00001850: DUP2
00001851: MSTORE
00001852: PUSH1 0x20
00001854: PUSH1 0x04
00001856: DUP3
00001857: ADD
00001858: MSTORE
00001859: PUSH1 0x01
0000185b: PUSH1 0x24
0000185d: DUP3
0000185e: ADD
0000185f: MSTORE
00001860: PUSH1 0x53
00001862: PUSH1 0xf8
00001864: SHL
00001865: PUSH1 0x44
00001867: DUP3
00001868: ADD
00001869: MSTORE
0000186a: PUSH1 0x64
0000186c: ADD
0000186d: PUSH2 0x01cc
00001870: JUMP
00001871: JUMPDEST
00001872: POP
00001873: POP
00001874: POP
00001875: JUMPDEST
00001876: POP
00001877: POP
00001878: POP
00001879: POP
0000187a: POP
0000187b: POP
0000187c: POP
0000187d: JUMP
0000187e: JUMPDEST
0000187f: PUSH1 0x04
00001881: CALLDATALOAD
00001882: PUSH1 0x24
00001884: DUP1
00001885: CALLDATALOAD
00001886: PUSH1 0x60
00001888: SWAP1
00001889: DUP2
0000188a: SHR
0000188b: SWAP2
0000188c: PUSH1 0x38
0000188e: CALLDATALOAD
0000188f: DUP3
00001890: SHR
00001891: SWAP2
00001892: PUSH1 0x4c
00001894: CALLDATALOAD
00001895: PUSH1 0xe8
00001897: SHR
00001898: SWAP2
00001899: PUSH1 0x4f
0000189b: CALLDATALOAD
0000189c: SWAP1
0000189d: SWAP2
0000189e: SHR
0000189f: SWAP1
000018a0: PUSH1 0x63
000018a2: CALLDATALOAD
000018a3: SWAP1
000018a4: PUSH1 0x2b
000018a6: DUP6
000018a7: DUP8
000018a8: LT
000018a9: ISZERO
000018aa: PUSH2 0x1afc
000018ad: JUMPI
000018ae: PUSH1 0x40
000018b0: DUP1
000018b1: MLOAD
000018b2: PUSH1 0x01
000018b4: PUSH1 0x01
000018b6: PUSH1 0xa0
000018b8: SHL
000018b9: SUB
000018ba: DUP1
000018bb: DUP11
000018bc: AND
000018bd: PUSH1 0x20
000018bf: DUP4
000018c0: ADD
000018c1: MSTORE
000018c2: DUP9
000018c3: AND
000018c4: SWAP2
000018c5: DUP2
000018c6: ADD
000018c7: SWAP2
000018c8: SWAP1
000018c9: SWAP2
000018ca: MSTORE
000018cb: PUSH3 0xffffff
000018cf: DUP7
000018d0: AND
000018d1: PUSH1 0x60
000018d3: DUP3
000018d4: ADD
000018d5: MSTORE
000018d6: PUSH1 0x00
000018d8: SWAP1
000018d9: PUSH1 0x80
000018db: ADD
000018dc: PUSH1 0x40
000018de: DUP1
000018df: MLOAD
000018e0: PUSH1 0x1f
000018e2: NOT
000018e3: DUP2
000018e4: DUP5
000018e5: SUB
000018e6: ADD
000018e7: DUP2
000018e8: MSTORE
000018e9: SWAP1
000018ea: DUP3
000018eb: SWAP1
000018ec: MSTORE
000018ed: DUP1
000018ee: MLOAD
000018ef: PUSH1 0x20
000018f1: SWAP2
000018f2: DUP3
000018f3: ADD
000018f4: KECCAK256
000018f5: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00001916: SWAP2
00001917: DUP4
00001918: ADD
00001919: SWAP2
0000191a: SWAP1
0000191b: SWAP2
0000191c: MSTORE
0000191d: PUSH1 0x35
0000191f: DUP3
00001920: ADD
00001921: MSTORE
00001922: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00001943: PUSH1 0x55
00001945: DUP3
00001946: ADD
00001947: MSTORE
00001948: PUSH1 0x75
0000194a: ADD
0000194b: PUSH1 0x40
0000194d: MLOAD
0000194e: PUSH1 0x20
00001950: DUP2
00001951: DUP4
00001952: SUB
00001953: SUB
00001954: DUP2
00001955: MSTORE
00001956: SWAP1
00001957: PUSH1 0x40
00001959: MSTORE
0000195a: DUP1
0000195b: MLOAD
0000195c: SWAP1
0000195d: PUSH1 0x20
0000195f: ADD
00001960: KECCAK256
00001961: PUSH1 0x00
00001963: SHR
00001964: SWAP1
00001965: POP
00001966: PUSH1 0x00
00001968: DUP2
00001969: PUSH1 0x01
0000196b: PUSH1 0x01
0000196d: PUSH1 0xa0
0000196f: SHL
00001970: SUB
00001971: AND
00001972: PUSH4 0x3850c7bd
00001977: PUSH1 0x40
00001979: MLOAD
0000197a: DUP2
0000197b: PUSH4 0xffffffff
00001980: AND
00001981: PUSH1 0xe0
00001983: SHL
00001984: DUP2
00001985: MSTORE
00001986: PUSH1 0x04
00001988: ADD
00001989: PUSH1 0xe0
0000198b: PUSH1 0x40
0000198d: MLOAD
0000198e: DUP1
0000198f: DUP4
00001990: SUB
00001991: DUP2
00001992: DUP7
00001993: GAS
00001994: STATICCALL
00001995: ISZERO
00001996: DUP1
00001997: ISZERO
00001998: PUSH2 0x19a5
0000199b: JUMPI
0000199c: RETURNDATASIZE
0000199d: PUSH1 0x00
0000199f: DUP1
000019a0: RETURNDATACOPY
000019a1: RETURNDATASIZE
000019a2: PUSH1 0x00
000019a4: REVERT
000019a5: JUMPDEST
000019a6: POP
000019a7: POP
000019a8: POP
000019a9: POP
000019aa: PUSH1 0x40
000019ac: MLOAD
000019ad: RETURNDATASIZE
000019ae: PUSH1 0x1f
000019b0: NOT
000019b1: PUSH1 0x1f
000019b3: DUP3
000019b4: ADD
000019b5: AND
000019b6: DUP3
000019b7: ADD
000019b8: DUP1
000019b9: PUSH1 0x40
000019bb: MSTORE
000019bc: POP
000019bd: DUP2
000019be: ADD
000019bf: SWAP1
000019c0: PUSH2 0x19c9
000019c3: SWAP2
000019c4: SWAP1
000019c5: PUSH2 0x47ba
000019c8: JUMP
000019c9: JUMPDEST
000019ca: POP
000019cb: POP
000019cc: POP
000019cd: POP
000019ce: POP
000019cf: POP
000019d0: SWAP1
000019d1: POP
000019d2: DUP1
000019d3: PUSH1 0x01
000019d5: PUSH1 0x01
000019d7: PUSH1 0xa0
000019d9: SHL
000019da: SUB
000019db: AND
000019dc: DUP7
000019dd: PUSH1 0x01
000019df: PUSH1 0x01
000019e1: PUSH1 0xa0
000019e3: SHL
000019e4: SUB
000019e5: AND
000019e6: GT
000019e7: ISZERO
000019e8: PUSH2 0x19f0
000019eb: JUMPI
000019ec: PUSH1 0x00
000019ee: DUP1
000019ef: REVERT
000019f0: JUMPDEST
000019f1: PUSH1 0x00
000019f3: DUP1
000019f4: DUP4
000019f5: PUSH1 0x01
000019f7: PUSH1 0x01
000019f9: PUSH1 0xa0
000019fb: SHL
000019fc: SUB
000019fd: AND
000019fe: PUSH4 0x128acb08
00001a03: ADDRESS
00001a04: PUSH1 0x01
00001a06: DUP16
00001a07: PUSH5 0x01000276a4
00001a0d: DUP12
00001a0e: DUP12
00001a0f: PUSH1 0x40
00001a11: MLOAD
00001a12: DUP8
00001a13: PUSH4 0xffffffff
00001a18: AND
00001a19: PUSH1 0xe0
00001a1b: SHL
00001a1c: DUP2
00001a1d: MSTORE
00001a1e: PUSH1 0x04
00001a20: ADD
00001a21: PUSH2 0x1a2f
00001a24: SWAP7
00001a25: SWAP6
00001a26: SWAP5
00001a27: SWAP4
00001a28: SWAP3
00001a29: SWAP2
00001a2a: SWAP1
00001a2b: PUSH2 0x46a3
00001a2e: JUMP
00001a2f: JUMPDEST
00001a30: PUSH1 0x40
00001a32: DUP1
00001a33: MLOAD
00001a34: DUP1
00001a35: DUP4
00001a36: SUB
00001a37: DUP2
00001a38: PUSH1 0x00
00001a3a: DUP8
00001a3b: GAS
00001a3c: CALL
00001a3d: ISZERO
00001a3e: DUP1
00001a3f: ISZERO
00001a40: PUSH2 0x1a4d
00001a43: JUMPI
00001a44: RETURNDATASIZE
00001a45: PUSH1 0x00
00001a47: DUP1
00001a48: RETURNDATACOPY
00001a49: RETURNDATASIZE
00001a4a: PUSH1 0x00
00001a4c: REVERT
00001a4d: JUMPDEST
00001a4e: POP
00001a4f: POP
00001a50: POP
00001a51: POP
00001a52: PUSH1 0x40
00001a54: MLOAD
00001a55: RETURNDATASIZE
00001a56: PUSH1 0x1f
00001a58: NOT
00001a59: PUSH1 0x1f
00001a5b: DUP3
00001a5c: ADD
00001a5d: AND
00001a5e: DUP3
00001a5f: ADD
00001a60: DUP1
00001a61: PUSH1 0x40
00001a63: MSTORE
00001a64: POP
00001a65: DUP2
00001a66: ADD
00001a67: SWAP1
00001a68: PUSH2 0x1a71
00001a6b: SWAP2
00001a6c: SWAP1
00001a6d: PUSH2 0x4700
00001a70: JUMP
00001a71: JUMPDEST
00001a72: SWAP2
00001a73: POP
00001a74: SWAP2
00001a75: POP
00001a76: PUSH1 0x00
00001a78: DUP13
00001a79: SGT
00001a7a: ISZERO
00001a7b: PUSH2 0x1abf
00001a7e: JUMPI
00001a7f: DUP7
00001a80: PUSH2 0x1a88
00001a83: DUP3
00001a84: PUSH2 0x4753
00001a87: JUMP
00001a88: JUMPDEST
00001a89: LT
00001a8a: ISZERO
00001a8b: PUSH2 0x1aba
00001a8e: JUMPI
00001a8f: PUSH1 0x40
00001a91: MLOAD
00001a92: PUSH3 0x461bcd
00001a96: PUSH1 0xe5
00001a98: SHL
00001a99: DUP2
00001a9a: MSTORE
00001a9b: PUSH1 0x20
00001a9d: PUSH1 0x04
00001a9f: DUP3
00001aa0: ADD
00001aa1: MSTORE
00001aa2: PUSH1 0x01
00001aa4: PUSH1 0x24
00001aa6: DUP3
00001aa7: ADD
00001aa8: MSTORE
00001aa9: PUSH1 0x53
00001aab: PUSH1 0xf8
00001aad: SHL
00001aae: PUSH1 0x44
00001ab0: DUP3
00001ab1: ADD
00001ab2: MSTORE
00001ab3: PUSH1 0x64
00001ab5: ADD
00001ab6: PUSH2 0x01cc
00001ab9: JUMP
00001aba: JUMPDEST
00001abb: PUSH2 0x1af3
00001abe: JUMP
00001abf: JUMPDEST
00001ac0: DUP7
00001ac1: DUP3
00001ac2: GT
00001ac3: ISZERO
00001ac4: PUSH2 0x1af3
00001ac7: JUMPI
00001ac8: PUSH1 0x40
00001aca: MLOAD
00001acb: PUSH3 0x461bcd
00001acf: PUSH1 0xe5
00001ad1: SHL
00001ad2: DUP2
00001ad3: MSTORE
00001ad4: PUSH1 0x20
00001ad6: PUSH1 0x04
00001ad8: DUP3
00001ad9: ADD
00001ada: MSTORE
00001adb: PUSH1 0x01
00001add: PUSH1 0x24
00001adf: DUP3
00001ae0: ADD
00001ae1: MSTORE
00001ae2: PUSH1 0x53
00001ae4: PUSH1 0xf8
00001ae6: SHL
00001ae7: PUSH1 0x44
00001ae9: DUP3
00001aea: ADD
00001aeb: MSTORE
00001aec: PUSH1 0x64
00001aee: ADD
00001aef: PUSH2 0x01cc
00001af2: JUMP
00001af3: JUMPDEST
00001af4: POP
00001af5: POP
00001af6: POP
00001af7: POP
00001af8: PUSH2 0x1d56
00001afb: JUMP
00001afc: JUMPDEST
00001afd: PUSH1 0x40
00001aff: DUP1
00001b00: MLOAD
00001b01: PUSH1 0x01
00001b03: PUSH1 0x01
00001b05: PUSH1 0xa0
00001b07: SHL
00001b08: SUB
00001b09: DUP1
00001b0a: DUP10
00001b0b: AND
00001b0c: PUSH1 0x20
00001b0e: DUP4
00001b0f: ADD
00001b10: MSTORE
00001b11: DUP10
00001b12: AND
00001b13: SWAP2
00001b14: DUP2
00001b15: ADD
00001b16: SWAP2
00001b17: SWAP1
00001b18: SWAP2
00001b19: MSTORE
00001b1a: PUSH3 0xffffff
00001b1e: DUP7
00001b1f: AND
00001b20: PUSH1 0x60
00001b22: DUP3
00001b23: ADD
00001b24: MSTORE
00001b25: PUSH1 0x00
00001b27: SWAP1
00001b28: PUSH1 0x80
00001b2a: ADD
00001b2b: PUSH1 0x40
00001b2d: DUP1
00001b2e: MLOAD
00001b2f: PUSH1 0x1f
00001b31: NOT
00001b32: DUP2
00001b33: DUP5
00001b34: SUB
00001b35: ADD
00001b36: DUP2
00001b37: MSTORE
00001b38: SWAP1
00001b39: DUP3
00001b3a: SWAP1
00001b3b: MSTORE
00001b3c: DUP1
00001b3d: MLOAD
00001b3e: PUSH1 0x20
00001b40: SWAP2
00001b41: DUP3
00001b42: ADD
00001b43: KECCAK256
00001b44: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00001b65: SWAP2
00001b66: DUP4
00001b67: ADD
00001b68: SWAP2
00001b69: SWAP1
00001b6a: SWAP2
00001b6b: MSTORE
00001b6c: PUSH1 0x35
00001b6e: DUP3
00001b6f: ADD
00001b70: MSTORE
00001b71: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00001b92: PUSH1 0x55
00001b94: DUP3
00001b95: ADD
00001b96: MSTORE
00001b97: PUSH1 0x75
00001b99: ADD
00001b9a: PUSH1 0x40
00001b9c: MLOAD
00001b9d: PUSH1 0x20
00001b9f: DUP2
00001ba0: DUP4
00001ba1: SUB
00001ba2: SUB
00001ba3: DUP2
00001ba4: MSTORE
00001ba5: SWAP1
00001ba6: PUSH1 0x40
00001ba8: MSTORE
00001ba9: DUP1
00001baa: MLOAD
00001bab: SWAP1
00001bac: PUSH1 0x20
00001bae: ADD
00001baf: KECCAK256
00001bb0: PUSH1 0x00
00001bb2: SHR
00001bb3: SWAP1
00001bb4: POP
00001bb5: PUSH1 0x00
00001bb7: DUP2
00001bb8: PUSH1 0x01
00001bba: PUSH1 0x01
00001bbc: PUSH1 0xa0
00001bbe: SHL
00001bbf: SUB
00001bc0: AND
00001bc1: PUSH4 0x3850c7bd
00001bc6: PUSH1 0x40
00001bc8: MLOAD
00001bc9: DUP2
00001bca: PUSH4 0xffffffff
00001bcf: AND
00001bd0: PUSH1 0xe0
00001bd2: SHL
00001bd3: DUP2
00001bd4: MSTORE
00001bd5: PUSH1 0x04
00001bd7: ADD
00001bd8: PUSH1 0xe0
00001bda: PUSH1 0x40
00001bdc: MLOAD
00001bdd: DUP1
00001bde: DUP4
00001bdf: SUB
00001be0: DUP2
00001be1: DUP7
00001be2: GAS
00001be3: STATICCALL
00001be4: ISZERO
00001be5: DUP1
00001be6: ISZERO
00001be7: PUSH2 0x1bf4
00001bea: JUMPI
00001beb: RETURNDATASIZE
00001bec: PUSH1 0x00
00001bee: DUP1
00001bef: RETURNDATACOPY
00001bf0: RETURNDATASIZE
00001bf1: PUSH1 0x00
00001bf3: REVERT
00001bf4: JUMPDEST
00001bf5: POP
00001bf6: POP
00001bf7: POP
00001bf8: POP
00001bf9: PUSH1 0x40
00001bfb: MLOAD
00001bfc: RETURNDATASIZE
00001bfd: PUSH1 0x1f
00001bff: NOT
00001c00: PUSH1 0x1f
00001c02: DUP3
00001c03: ADD
00001c04: AND
00001c05: DUP3
00001c06: ADD
00001c07: DUP1
00001c08: PUSH1 0x40
00001c0a: MSTORE
00001c0b: POP
00001c0c: DUP2
00001c0d: ADD
00001c0e: SWAP1
00001c0f: PUSH2 0x1c18
00001c12: SWAP2
00001c13: SWAP1
00001c14: PUSH2 0x47ba
00001c17: JUMP
00001c18: JUMPDEST
00001c19: POP
00001c1a: POP
00001c1b: POP
00001c1c: POP
00001c1d: POP
00001c1e: POP
00001c1f: SWAP1
00001c20: POP
00001c21: DUP1
00001c22: PUSH1 0x01
00001c24: PUSH1 0x01
00001c26: PUSH1 0xa0
00001c28: SHL
00001c29: SUB
00001c2a: AND
00001c2b: DUP7
00001c2c: PUSH1 0x01
00001c2e: PUSH1 0x01
00001c30: PUSH1 0xa0
00001c32: SHL
00001c33: SUB
00001c34: AND
00001c35: LT
00001c36: ISZERO
00001c37: PUSH2 0x1c3f
00001c3a: JUMPI
00001c3b: PUSH1 0x00
00001c3d: DUP1
00001c3e: REVERT
00001c3f: JUMPDEST
00001c40: PUSH1 0x00
00001c42: DUP1
00001c43: DUP4
00001c44: PUSH1 0x01
00001c46: PUSH1 0x01
00001c48: PUSH1 0xa0
00001c4a: SHL
00001c4b: SUB
00001c4c: AND
00001c4d: PUSH4 0x128acb08
00001c52: ADDRESS
00001c53: PUSH1 0x00
00001c55: DUP16
00001c56: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25
00001c6b: DUP12
00001c6c: DUP12
00001c6d: PUSH1 0x40
00001c6f: MLOAD
00001c70: DUP8
00001c71: PUSH4 0xffffffff
00001c76: AND
00001c77: PUSH1 0xe0
00001c79: SHL
00001c7a: DUP2
00001c7b: MSTORE
00001c7c: PUSH1 0x04
00001c7e: ADD
00001c7f: PUSH2 0x1c8d
00001c82: SWAP7
00001c83: SWAP6
00001c84: SWAP5
00001c85: SWAP4
00001c86: SWAP3
00001c87: SWAP2
00001c88: SWAP1
00001c89: PUSH2 0x46a3
00001c8c: JUMP
00001c8d: JUMPDEST
00001c8e: PUSH1 0x40
00001c90: DUP1
00001c91: MLOAD
00001c92: DUP1
00001c93: DUP4
00001c94: SUB
00001c95: DUP2
00001c96: PUSH1 0x00
00001c98: DUP8
00001c99: GAS
00001c9a: CALL
00001c9b: ISZERO
00001c9c: DUP1
00001c9d: ISZERO
00001c9e: PUSH2 0x1cab
00001ca1: JUMPI
00001ca2: RETURNDATASIZE
00001ca3: PUSH1 0x00
00001ca5: DUP1
00001ca6: RETURNDATACOPY
00001ca7: RETURNDATASIZE
00001ca8: PUSH1 0x00
00001caa: REVERT
00001cab: JUMPDEST
00001cac: POP
00001cad: POP
00001cae: POP
00001caf: POP
00001cb0: PUSH1 0x40
00001cb2: MLOAD
00001cb3: RETURNDATASIZE
00001cb4: PUSH1 0x1f
00001cb6: NOT
00001cb7: PUSH1 0x1f
00001cb9: DUP3
00001cba: ADD
00001cbb: AND
00001cbc: DUP3
00001cbd: ADD
00001cbe: DUP1
00001cbf: PUSH1 0x40
00001cc1: MSTORE
00001cc2: POP
00001cc3: DUP2
00001cc4: ADD
00001cc5: SWAP1
00001cc6: PUSH2 0x1ccf
00001cc9: SWAP2
00001cca: SWAP1
00001ccb: PUSH2 0x4700
00001cce: JUMP
00001ccf: JUMPDEST
00001cd0: SWAP2
00001cd1: POP
00001cd2: SWAP2
00001cd3: POP
00001cd4: PUSH1 0x00
00001cd6: DUP13
00001cd7: SGT
00001cd8: ISZERO
00001cd9: PUSH2 0x1d1d
00001cdc: JUMPI
00001cdd: DUP7
00001cde: PUSH2 0x1ce6
00001ce1: DUP4
00001ce2: PUSH2 0x4753
00001ce5: JUMP
00001ce6: JUMPDEST
00001ce7: LT
00001ce8: ISZERO
00001ce9: PUSH2 0x1d18
00001cec: JUMPI
00001ced: PUSH1 0x40
00001cef: MLOAD
00001cf0: PUSH3 0x461bcd
00001cf4: PUSH1 0xe5
00001cf6: SHL
00001cf7: DUP2
00001cf8: MSTORE
00001cf9: PUSH1 0x20
00001cfb: PUSH1 0x04
00001cfd: DUP3
00001cfe: ADD
00001cff: MSTORE
00001d00: PUSH1 0x01
00001d02: PUSH1 0x24
00001d04: DUP3
00001d05: ADD
00001d06: MSTORE
00001d07: PUSH1 0x53
00001d09: PUSH1 0xf8
00001d0b: SHL
00001d0c: PUSH1 0x44
00001d0e: DUP3
00001d0f: ADD
00001d10: MSTORE
00001d11: PUSH1 0x64
00001d13: ADD
00001d14: PUSH2 0x01cc
00001d17: JUMP
00001d18: JUMPDEST
00001d19: PUSH2 0x1d51
00001d1c: JUMP
00001d1d: JUMPDEST
00001d1e: DUP7
00001d1f: DUP2
00001d20: GT
00001d21: ISZERO
00001d22: PUSH2 0x1d51
00001d25: JUMPI
00001d26: PUSH1 0x40
00001d28: MLOAD
00001d29: PUSH3 0x461bcd
00001d2d: PUSH1 0xe5
00001d2f: SHL
00001d30: DUP2
00001d31: MSTORE
00001d32: PUSH1 0x20
00001d34: PUSH1 0x04
00001d36: DUP3
00001d37: ADD
00001d38: MSTORE
00001d39: PUSH1 0x01
00001d3b: PUSH1 0x24
00001d3d: DUP3
00001d3e: ADD
00001d3f: MSTORE
00001d40: PUSH1 0x53
00001d42: PUSH1 0xf8
00001d44: SHL
00001d45: PUSH1 0x44
00001d47: DUP3
00001d48: ADD
00001d49: MSTORE
00001d4a: PUSH1 0x64
00001d4c: ADD
00001d4d: PUSH2 0x01cc
00001d50: JUMP
00001d51: JUMPDEST
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: JUMPDEST
00001d57: POP
00001d58: POP
00001d59: POP
00001d5a: POP
00001d5b: POP
00001d5c: POP
00001d5d: POP
00001d5e: POP
00001d5f: JUMP
00001d60: JUMPDEST
00001d61: NUMBER
00001d62: CALLVALUE
00001d63: LT
00001d64: ISZERO
00001d65: PUSH2 0x1db0
00001d68: JUMPI
00001d69: PUSH1 0x40
00001d6b: MLOAD
00001d6c: PUSH3 0x461bcd
00001d70: PUSH1 0xe5
00001d72: SHL
00001d73: DUP2
00001d74: MSTORE
00001d75: PUSH1 0x20
00001d77: PUSH1 0x04
00001d79: DUP3
00001d7a: ADD
00001d7b: MSTORE
00001d7c: PUSH1 0x01
00001d7e: PUSH1 0x24
00001d80: DUP3
00001d81: ADD
00001d82: MSTORE
00001d83: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000
00001da4: PUSH1 0x44
00001da6: DUP3
00001da7: ADD
00001da8: MSTORE
00001da9: PUSH1 0x64
00001dab: ADD
00001dac: PUSH2 0x01cc
00001daf: JUMP
00001db0: JUMPDEST
00001db1: PUSH1 0x04
00001db3: CALLDATALOAD
00001db4: PUSH1 0x24
00001db6: DUP1
00001db7: CALLDATALOAD
00001db8: PUSH1 0x60
00001dba: SWAP1
00001dbb: DUP2
00001dbc: SHR
00001dbd: SWAP2
00001dbe: PUSH1 0x38
00001dc0: CALLDATALOAD
00001dc1: DUP3
00001dc2: SHR
00001dc3: SWAP2
00001dc4: PUSH1 0x4c
00001dc6: CALLDATALOAD
00001dc7: PUSH1 0xe8
00001dc9: SHR
00001dca: SWAP2
00001dcb: PUSH1 0x4f
00001dcd: CALLDATALOAD
00001dce: SWAP2
00001dcf: PUSH1 0x6f
00001dd1: CALLDATALOAD
00001dd2: SWAP1
00001dd3: SHR
00001dd4: SWAP1
00001dd5: PUSH1 0x2b
00001dd7: DUP6
00001dd8: DUP8
00001dd9: LT
00001dda: ISZERO
00001ddb: PUSH2 0x1fa1
00001dde: JUMPI
00001ddf: PUSH1 0x40
00001de1: DUP1
00001de2: MLOAD
00001de3: PUSH1 0x01
00001de5: PUSH1 0x01
00001de7: PUSH1 0xa0
00001de9: SHL
00001dea: SUB
00001deb: DUP1
00001dec: DUP11
00001ded: AND
00001dee: PUSH1 0x20
00001df0: DUP4
00001df1: ADD
00001df2: MSTORE
00001df3: DUP9
00001df4: AND
00001df5: SWAP2
00001df6: DUP2
00001df7: ADD
00001df8: SWAP2
00001df9: SWAP1
00001dfa: SWAP2
00001dfb: MSTORE
00001dfc: PUSH3 0xffffff
00001e00: DUP7
00001e01: AND
00001e02: PUSH1 0x60
00001e04: DUP3
00001e05: ADD
00001e06: MSTORE
00001e07: PUSH1 0x00
00001e09: SWAP1
00001e0a: PUSH1 0x80
00001e0c: ADD
00001e0d: PUSH1 0x40
00001e0f: DUP1
00001e10: MLOAD
00001e11: PUSH1 0x1f
00001e13: NOT
00001e14: DUP2
00001e15: DUP5
00001e16: SUB
00001e17: ADD
00001e18: DUP2
00001e19: MSTORE
00001e1a: SWAP1
00001e1b: DUP3
00001e1c: SWAP1
00001e1d: MSTORE
00001e1e: DUP1
00001e1f: MLOAD
00001e20: PUSH1 0x20
00001e22: SWAP2
00001e23: DUP3
00001e24: ADD
00001e25: KECCAK256
00001e26: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00001e47: SWAP2
00001e48: DUP4
00001e49: ADD
00001e4a: SWAP2
00001e4b: SWAP1
00001e4c: SWAP2
00001e4d: MSTORE
00001e4e: PUSH1 0x35
00001e50: DUP3
00001e51: ADD
00001e52: MSTORE
00001e53: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00001e74: PUSH1 0x55
00001e76: DUP3
00001e77: ADD
00001e78: MSTORE
00001e79: PUSH1 0x75
00001e7b: ADD
00001e7c: PUSH1 0x40
00001e7e: MLOAD
00001e7f: PUSH1 0x20
00001e81: DUP2
00001e82: DUP4
00001e83: SUB
00001e84: SUB
00001e85: DUP2
00001e86: MSTORE
00001e87: SWAP1
00001e88: PUSH1 0x40
00001e8a: MSTORE
00001e8b: DUP1
00001e8c: MLOAD
00001e8d: SWAP1
00001e8e: PUSH1 0x20
00001e90: ADD
00001e91: KECCAK256
00001e92: PUSH1 0x00
00001e94: SHR
00001e95: SWAP1
00001e96: POP
00001e97: PUSH1 0x00
00001e99: DUP1
00001e9a: DUP3
00001e9b: PUSH1 0x01
00001e9d: PUSH1 0x01
00001e9f: PUSH1 0xa0
00001ea1: SHL
00001ea2: SUB
00001ea3: AND
00001ea4: PUSH4 0x128acb08
00001ea9: DUP8
00001eaa: PUSH1 0x01
00001eac: DUP15
00001ead: PUSH5 0x01000276a4
00001eb3: DUP11
00001eb4: DUP11
00001eb5: PUSH1 0x40
00001eb7: MLOAD
00001eb8: DUP8
00001eb9: PUSH4 0xffffffff
00001ebe: AND
00001ebf: PUSH1 0xe0
00001ec1: SHL
00001ec2: DUP2
00001ec3: MSTORE
00001ec4: PUSH1 0x04
00001ec6: ADD
00001ec7: PUSH2 0x1ed5
00001eca: SWAP7
00001ecb: SWAP6
00001ecc: SWAP5
00001ecd: SWAP4
00001ece: SWAP3
00001ecf: SWAP2
00001ed0: SWAP1
00001ed1: PUSH2 0x46a3
00001ed4: JUMP
00001ed5: JUMPDEST
00001ed6: PUSH1 0x40
00001ed8: DUP1
00001ed9: MLOAD
00001eda: DUP1
00001edb: DUP4
00001edc: SUB
00001edd: DUP2
00001ede: PUSH1 0x00
00001ee0: DUP8
00001ee1: GAS
00001ee2: CALL
00001ee3: ISZERO
00001ee4: DUP1
00001ee5: ISZERO
00001ee6: PUSH2 0x1ef3
00001ee9: JUMPI
00001eea: RETURNDATASIZE
00001eeb: PUSH1 0x00
00001eed: DUP1
00001eee: RETURNDATACOPY
00001eef: RETURNDATASIZE
00001ef0: PUSH1 0x00
00001ef2: REVERT
00001ef3: JUMPDEST
00001ef4: POP
00001ef5: POP
00001ef6: POP
00001ef7: POP
00001ef8: PUSH1 0x40
00001efa: MLOAD
00001efb: RETURNDATASIZE
00001efc: PUSH1 0x1f
00001efe: NOT
00001eff: PUSH1 0x1f
00001f01: DUP3
00001f02: ADD
00001f03: AND
00001f04: DUP3
00001f05: ADD
00001f06: DUP1
00001f07: PUSH1 0x40
00001f09: MSTORE
00001f0a: POP
00001f0b: DUP2
00001f0c: ADD
00001f0d: SWAP1
00001f0e: PUSH2 0x1f17
00001f11: SWAP2
00001f12: SWAP1
00001f13: PUSH2 0x4700
00001f16: JUMP
00001f17: JUMPDEST
00001f18: SWAP2
00001f19: POP
00001f1a: SWAP2
00001f1b: POP
00001f1c: PUSH1 0x00
00001f1e: DUP12
00001f1f: SGT
00001f20: ISZERO
00001f21: PUSH2 0x1f65
00001f24: JUMPI
00001f25: DUP7
00001f26: PUSH2 0x1f2e
00001f29: DUP3
00001f2a: PUSH2 0x4753
00001f2d: JUMP
00001f2e: JUMPDEST
00001f2f: LT
00001f30: ISZERO
00001f31: PUSH2 0x1f60
00001f34: JUMPI
00001f35: PUSH1 0x40
00001f37: MLOAD
00001f38: PUSH3 0x461bcd
00001f3c: PUSH1 0xe5
00001f3e: SHL
00001f3f: DUP2
00001f40: MSTORE
00001f41: PUSH1 0x20
00001f43: PUSH1 0x04
00001f45: DUP3
00001f46: ADD
00001f47: MSTORE
00001f48: PUSH1 0x01
00001f4a: PUSH1 0x24
00001f4c: DUP3
00001f4d: ADD
00001f4e: MSTORE
00001f4f: PUSH1 0x53
00001f51: PUSH1 0xf8
00001f53: SHL
00001f54: PUSH1 0x44
00001f56: DUP3
00001f57: ADD
00001f58: MSTORE
00001f59: PUSH1 0x64
00001f5b: ADD
00001f5c: PUSH2 0x01cc
00001f5f: JUMP
00001f60: JUMPDEST
00001f61: PUSH2 0x1f99
00001f64: JUMP
00001f65: JUMPDEST
00001f66: DUP7
00001f67: DUP3
00001f68: GT
00001f69: ISZERO
00001f6a: PUSH2 0x1f99
00001f6d: JUMPI
00001f6e: PUSH1 0x40
00001f70: MLOAD
00001f71: PUSH3 0x461bcd
00001f75: PUSH1 0xe5
00001f77: SHL
00001f78: DUP2
00001f79: MSTORE
00001f7a: PUSH1 0x20
00001f7c: PUSH1 0x04
00001f7e: DUP3
00001f7f: ADD
00001f80: MSTORE
00001f81: PUSH1 0x01
00001f83: PUSH1 0x24
00001f85: DUP3
00001f86: ADD
00001f87: MSTORE
00001f88: PUSH1 0x53
00001f8a: PUSH1 0xf8
00001f8c: SHL
00001f8d: PUSH1 0x44
00001f8f: DUP3
00001f90: ADD
00001f91: MSTORE
00001f92: PUSH1 0x64
00001f94: ADD
00001f95: PUSH2 0x01cc
00001f98: JUMP
00001f99: JUMPDEST
00001f9a: POP
00001f9b: POP
00001f9c: POP
00001f9d: PUSH2 0x1d56
00001fa0: JUMP
00001fa1: JUMPDEST
00001fa2: PUSH1 0x40
00001fa4: DUP1
00001fa5: MLOAD
00001fa6: PUSH1 0x01
00001fa8: PUSH1 0x01
00001faa: PUSH1 0xa0
00001fac: SHL
00001fad: SUB
00001fae: DUP1
00001faf: DUP10
00001fb0: AND
00001fb1: PUSH1 0x20
00001fb3: DUP4
00001fb4: ADD
00001fb5: MSTORE
00001fb6: DUP10
00001fb7: AND
00001fb8: SWAP2
00001fb9: DUP2
00001fba: ADD
00001fbb: SWAP2
00001fbc: SWAP1
00001fbd: SWAP2
00001fbe: MSTORE
00001fbf: PUSH3 0xffffff
00001fc3: DUP7
00001fc4: AND
00001fc5: PUSH1 0x60
00001fc7: DUP3
00001fc8: ADD
00001fc9: MSTORE
00001fca: PUSH1 0x00
00001fcc: SWAP1
00001fcd: PUSH1 0x80
00001fcf: ADD
00001fd0: PUSH1 0x40
00001fd2: DUP1
00001fd3: MLOAD
00001fd4: PUSH1 0x1f
00001fd6: NOT
00001fd7: DUP2
00001fd8: DUP5
00001fd9: SUB
00001fda: ADD
00001fdb: DUP2
00001fdc: MSTORE
00001fdd: SWAP1
00001fde: DUP3
00001fdf: SWAP1
00001fe0: MSTORE
00001fe1: DUP1
00001fe2: MLOAD
00001fe3: PUSH1 0x20
00001fe5: SWAP2
00001fe6: DUP3
00001fe7: ADD
00001fe8: KECCAK256
00001fe9: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
0000200a: SWAP2
0000200b: DUP4
0000200c: ADD
0000200d: SWAP2
0000200e: SWAP1
0000200f: SWAP2
00002010: MSTORE
00002011: PUSH1 0x35
00002013: DUP3
00002014: ADD
00002015: MSTORE
00002016: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00002037: PUSH1 0x55
00002039: DUP3
0000203a: ADD
0000203b: MSTORE
0000203c: PUSH1 0x75
0000203e: ADD
0000203f: PUSH1 0x40
00002041: MLOAD
00002042: PUSH1 0x20
00002044: DUP2
00002045: DUP4
00002046: SUB
00002047: SUB
00002048: DUP2
00002049: MSTORE
0000204a: SWAP1
0000204b: PUSH1 0x40
0000204d: MSTORE
0000204e: DUP1
0000204f: MLOAD
00002050: SWAP1
00002051: PUSH1 0x20
00002053: ADD
00002054: KECCAK256
00002055: PUSH1 0x00
00002057: SHR
00002058: SWAP1
00002059: POP
0000205a: PUSH1 0x00
0000205c: DUP1
0000205d: DUP3
0000205e: PUSH1 0x01
00002060: PUSH1 0x01
00002062: PUSH1 0xa0
00002064: SHL
00002065: SUB
00002066: AND
00002067: PUSH4 0x128acb08
0000206c: DUP8
0000206d: PUSH1 0x00
0000206f: DUP15
00002070: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25
00002085: DUP11
00002086: DUP11
00002087: PUSH1 0x40
00002089: MLOAD
0000208a: DUP8
0000208b: PUSH4 0xffffffff
00002090: AND
00002091: PUSH1 0xe0
00002093: SHL
00002094: DUP2
00002095: MSTORE
00002096: PUSH1 0x04
00002098: ADD
00002099: PUSH2 0x20a7
0000209c: SWAP7
0000209d: SWAP6
0000209e: SWAP5
0000209f: SWAP4
000020a0: SWAP3
000020a1: SWAP2
000020a2: SWAP1
000020a3: PUSH2 0x46a3
000020a6: JUMP
000020a7: JUMPDEST
000020a8: PUSH1 0x40
000020aa: DUP1
000020ab: MLOAD
000020ac: DUP1
000020ad: DUP4
000020ae: SUB
000020af: DUP2
000020b0: PUSH1 0x00
000020b2: DUP8
000020b3: GAS
000020b4: CALL
000020b5: ISZERO
000020b6: DUP1
000020b7: ISZERO
000020b8: PUSH2 0x20c5
000020bb: JUMPI
000020bc: RETURNDATASIZE
000020bd: PUSH1 0x00
000020bf: DUP1
000020c0: RETURNDATACOPY
000020c1: RETURNDATASIZE
000020c2: PUSH1 0x00
000020c4: REVERT
000020c5: JUMPDEST
000020c6: POP
000020c7: POP
000020c8: POP
000020c9: POP
000020ca: PUSH1 0x40
000020cc: MLOAD
000020cd: RETURNDATASIZE
000020ce: PUSH1 0x1f
000020d0: NOT
000020d1: PUSH1 0x1f
000020d3: DUP3
000020d4: ADD
000020d5: AND
000020d6: DUP3
000020d7: ADD
000020d8: DUP1
000020d9: PUSH1 0x40
000020db: MSTORE
000020dc: POP
000020dd: DUP2
000020de: ADD
000020df: SWAP1
000020e0: PUSH2 0x20e9
000020e3: SWAP2
000020e4: SWAP1
000020e5: PUSH2 0x4700
000020e8: JUMP
000020e9: JUMPDEST
000020ea: SWAP2
000020eb: POP
000020ec: SWAP2
000020ed: POP
000020ee: PUSH1 0x00
000020f0: DUP12
000020f1: SGT
000020f2: ISZERO
000020f3: PUSH2 0x2137
000020f6: JUMPI
000020f7: DUP7
000020f8: PUSH2 0x2100
000020fb: DUP4
000020fc: PUSH2 0x4753
000020ff: JUMP
00002100: JUMPDEST
00002101: LT
00002102: ISZERO
00002103: PUSH2 0x2132
00002106: JUMPI
00002107: PUSH1 0x40
00002109: MLOAD
0000210a: PUSH3 0x461bcd
0000210e: PUSH1 0xe5
00002110: SHL
00002111: DUP2
00002112: MSTORE
00002113: PUSH1 0x20
00002115: PUSH1 0x04
00002117: DUP3
00002118: ADD
00002119: MSTORE
0000211a: PUSH1 0x01
0000211c: PUSH1 0x24
0000211e: DUP3
0000211f: ADD
00002120: MSTORE
00002121: PUSH1 0x53
00002123: PUSH1 0xf8
00002125: SHL
00002126: PUSH1 0x44
00002128: DUP3
00002129: ADD
0000212a: MSTORE
0000212b: PUSH1 0x64
0000212d: ADD
0000212e: PUSH2 0x01cc
00002131: JUMP
00002132: JUMPDEST
00002133: PUSH2 0x216b
00002136: JUMP
00002137: JUMPDEST
00002138: DUP7
00002139: DUP2
0000213a: GT
0000213b: ISZERO
0000213c: PUSH2 0x216b
0000213f: JUMPI
00002140: PUSH1 0x40
00002142: MLOAD
00002143: PUSH3 0x461bcd
00002147: PUSH1 0xe5
00002149: SHL
0000214a: DUP2
0000214b: MSTORE
0000214c: PUSH1 0x20
0000214e: PUSH1 0x04
00002150: DUP3
00002151: ADD
00002152: MSTORE
00002153: PUSH1 0x01
00002155: PUSH1 0x24
00002157: DUP3
00002158: ADD
00002159: MSTORE
0000215a: PUSH1 0x53
0000215c: PUSH1 0xf8
0000215e: SHL
0000215f: PUSH1 0x44
00002161: DUP3
00002162: ADD
00002163: MSTORE
00002164: PUSH1 0x64
00002166: ADD
00002167: PUSH2 0x01cc
0000216a: JUMP
0000216b: JUMPDEST
0000216c: POP
0000216d: POP
0000216e: POP
0000216f: POP
00002170: POP
00002171: POP
00002172: POP
00002173: POP
00002174: POP
00002175: POP
00002176: POP
00002177: JUMP
00002178: JUMPDEST
00002179: PUSH1 0x04
0000217b: CALLDATALOAD
0000217c: PUSH1 0x24
0000217e: DUP1
0000217f: CALLDATALOAD
00002180: PUSH1 0x60
00002182: SWAP1
00002183: DUP2
00002184: SHR
00002185: SWAP2
00002186: PUSH1 0x38
00002188: CALLDATALOAD
00002189: DUP3
0000218a: SHR
0000218b: SWAP2
0000218c: PUSH1 0x4c
0000218e: CALLDATALOAD
0000218f: PUSH1 0xe8
00002191: SHR
00002192: SWAP2
00002193: PUSH1 0x4f
00002195: CALLDATALOAD
00002196: DUP3
00002197: SHR
00002198: SWAP2
00002199: PUSH1 0x63
0000219b: CALLDATALOAD
0000219c: SWAP2
0000219d: PUSH1 0x83
0000219f: CALLDATALOAD
000021a0: SWAP1
000021a1: SWAP2
000021a2: SHR
000021a3: SWAP1
000021a4: PUSH1 0x2b
000021a6: DUP7
000021a7: DUP9
000021a8: LT
000021a9: ISZERO
000021aa: PUSH2 0x23fc
000021ad: JUMPI
000021ae: PUSH1 0x40
000021b0: DUP1
000021b1: MLOAD
000021b2: PUSH1 0x01
000021b4: PUSH1 0x01
000021b6: PUSH1 0xa0
000021b8: SHL
000021b9: SUB
000021ba: DUP1
000021bb: DUP12
000021bc: AND
000021bd: PUSH1 0x20
000021bf: DUP4
000021c0: ADD
000021c1: MSTORE
000021c2: DUP10
000021c3: AND
000021c4: SWAP2
000021c5: DUP2
000021c6: ADD
000021c7: SWAP2
000021c8: SWAP1
000021c9: SWAP2
000021ca: MSTORE
000021cb: PUSH3 0xffffff
000021cf: DUP8
000021d0: AND
000021d1: PUSH1 0x60
000021d3: DUP3
000021d4: ADD
000021d5: MSTORE
000021d6: PUSH1 0x00
000021d8: SWAP1
000021d9: PUSH1 0x80
000021db: ADD
000021dc: PUSH1 0x40
000021de: DUP1
000021df: MLOAD
000021e0: PUSH1 0x1f
000021e2: NOT
000021e3: DUP2
000021e4: DUP5
000021e5: SUB
000021e6: ADD
000021e7: DUP2
000021e8: MSTORE
000021e9: SWAP1
000021ea: DUP3
000021eb: SWAP1
000021ec: MSTORE
000021ed: DUP1
000021ee: MLOAD
000021ef: PUSH1 0x20
000021f1: SWAP2
000021f2: DUP3
000021f3: ADD
000021f4: KECCAK256
000021f5: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00002216: SWAP2
00002217: DUP4
00002218: ADD
00002219: SWAP2
0000221a: SWAP1
0000221b: SWAP2
0000221c: MSTORE
0000221d: PUSH1 0x35
0000221f: DUP3
00002220: ADD
00002221: MSTORE
00002222: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00002243: PUSH1 0x55
00002245: DUP3
00002246: ADD
00002247: MSTORE
00002248: PUSH1 0x75
0000224a: ADD
0000224b: PUSH1 0x40
0000224d: MLOAD
0000224e: PUSH1 0x20
00002250: DUP2
00002251: DUP4
00002252: SUB
00002253: SUB
00002254: DUP2
00002255: MSTORE
00002256: SWAP1
00002257: PUSH1 0x40
00002259: MSTORE
0000225a: DUP1
0000225b: MLOAD
0000225c: SWAP1
0000225d: PUSH1 0x20
0000225f: ADD
00002260: KECCAK256
00002261: PUSH1 0x00
00002263: SHR
00002264: SWAP1
00002265: POP
00002266: PUSH1 0x00
00002268: DUP2
00002269: PUSH1 0x01
0000226b: PUSH1 0x01
0000226d: PUSH1 0xa0
0000226f: SHL
00002270: SUB
00002271: AND
00002272: PUSH4 0x3850c7bd
00002277: PUSH1 0x40
00002279: MLOAD
0000227a: DUP2
0000227b: PUSH4 0xffffffff
00002280: AND
00002281: PUSH1 0xe0
00002283: SHL
00002284: DUP2
00002285: MSTORE
00002286: PUSH1 0x04
00002288: ADD
00002289: PUSH1 0xe0
0000228b: PUSH1 0x40
0000228d: MLOAD
0000228e: DUP1
0000228f: DUP4
00002290: SUB
00002291: DUP2
00002292: DUP7
00002293: GAS
00002294: STATICCALL
00002295: ISZERO
00002296: DUP1
00002297: ISZERO
00002298: PUSH2 0x22a5
0000229b: JUMPI
0000229c: RETURNDATASIZE
0000229d: PUSH1 0x00
0000229f: DUP1
000022a0: RETURNDATACOPY
000022a1: RETURNDATASIZE
000022a2: PUSH1 0x00
000022a4: REVERT
000022a5: JUMPDEST
000022a6: POP
000022a7: POP
000022a8: POP
000022a9: POP
000022aa: PUSH1 0x40
000022ac: MLOAD
000022ad: RETURNDATASIZE
000022ae: PUSH1 0x1f
000022b0: NOT
000022b1: PUSH1 0x1f
000022b3: DUP3
000022b4: ADD
000022b5: AND
000022b6: DUP3
000022b7: ADD
000022b8: DUP1
000022b9: PUSH1 0x40
000022bb: MSTORE
000022bc: POP
000022bd: DUP2
000022be: ADD
000022bf: SWAP1
000022c0: PUSH2 0x22c9
000022c3: SWAP2
000022c4: SWAP1
000022c5: PUSH2 0x47ba
000022c8: JUMP
000022c9: JUMPDEST
000022ca: POP
000022cb: POP
000022cc: POP
000022cd: POP
000022ce: POP
000022cf: POP
000022d0: SWAP1
000022d1: POP
000022d2: DUP1
000022d3: PUSH1 0x01
000022d5: PUSH1 0x01
000022d7: PUSH1 0xa0
000022d9: SHL
000022da: SUB
000022db: AND
000022dc: DUP8
000022dd: PUSH1 0x01
000022df: PUSH1 0x01
000022e1: PUSH1 0xa0
000022e3: SHL
000022e4: SUB
000022e5: AND
000022e6: GT
000022e7: ISZERO
000022e8: PUSH2 0x22f0
000022eb: JUMPI
000022ec: PUSH1 0x00
000022ee: DUP1
000022ef: REVERT
000022f0: JUMPDEST
000022f1: POP
000022f2: PUSH1 0x00
000022f4: DUP1
000022f5: DUP3
000022f6: PUSH1 0x01
000022f8: PUSH1 0x01
000022fa: PUSH1 0xa0
000022fc: SHL
000022fd: SUB
000022fe: AND
000022ff: PUSH4 0x128acb08
00002304: DUP8
00002305: PUSH1 0x01
00002307: DUP16
00002308: PUSH5 0x01000276a4
0000230e: DUP11
0000230f: DUP11
00002310: PUSH1 0x40
00002312: MLOAD
00002313: DUP8
00002314: PUSH4 0xffffffff
00002319: AND
0000231a: PUSH1 0xe0
0000231c: SHL
0000231d: DUP2
0000231e: MSTORE
0000231f: PUSH1 0x04
00002321: ADD
00002322: PUSH2 0x2330
00002325: SWAP7
00002326: SWAP6
00002327: SWAP5
00002328: SWAP4
00002329: SWAP3
0000232a: SWAP2
0000232b: SWAP1
0000232c: PUSH2 0x46a3
0000232f: JUMP
00002330: JUMPDEST
00002331: PUSH1 0x40
00002333: DUP1
00002334: MLOAD
00002335: DUP1
00002336: DUP4
00002337: SUB
00002338: DUP2
00002339: PUSH1 0x00
0000233b: DUP8
0000233c: GAS
0000233d: CALL
0000233e: ISZERO
0000233f: DUP1
00002340: ISZERO
00002341: PUSH2 0x234e
00002344: JUMPI
00002345: RETURNDATASIZE
00002346: PUSH1 0x00
00002348: DUP1
00002349: RETURNDATACOPY
0000234a: RETURNDATASIZE
0000234b: PUSH1 0x00
0000234d: REVERT
0000234e: JUMPDEST
0000234f: POP
00002350: POP
00002351: POP
00002352: POP
00002353: PUSH1 0x40
00002355: MLOAD
00002356: RETURNDATASIZE
00002357: PUSH1 0x1f
00002359: NOT
0000235a: PUSH1 0x1f
0000235c: DUP3
0000235d: ADD
0000235e: AND
0000235f: DUP3
00002360: ADD
00002361: DUP1
00002362: PUSH1 0x40
00002364: MSTORE
00002365: POP
00002366: DUP2
00002367: ADD
00002368: SWAP1
00002369: PUSH2 0x2372
0000236c: SWAP2
0000236d: SWAP1
0000236e: PUSH2 0x4700
00002371: JUMP
00002372: JUMPDEST
00002373: SWAP2
00002374: POP
00002375: SWAP2
00002376: POP
00002377: PUSH1 0x00
00002379: DUP13
0000237a: SGT
0000237b: ISZERO
0000237c: PUSH2 0x23c0
0000237f: JUMPI
00002380: DUP7
00002381: PUSH2 0x2389
00002384: DUP3
00002385: PUSH2 0x4753
00002388: JUMP
00002389: JUMPDEST
0000238a: LT
0000238b: ISZERO
0000238c: PUSH2 0x23bb
0000238f: JUMPI
00002390: PUSH1 0x40
00002392: MLOAD
00002393: PUSH3 0x461bcd
00002397: PUSH1 0xe5
00002399: SHL
0000239a: DUP2
0000239b: MSTORE
0000239c: PUSH1 0x20
0000239e: PUSH1 0x04
000023a0: DUP3
000023a1: ADD
000023a2: MSTORE
000023a3: PUSH1 0x01
000023a5: PUSH1 0x24
000023a7: DUP3
000023a8: ADD
000023a9: MSTORE
000023aa: PUSH1 0x53
000023ac: PUSH1 0xf8
000023ae: SHL
000023af: PUSH1 0x44
000023b1: DUP3
000023b2: ADD
000023b3: MSTORE
000023b4: PUSH1 0x64
000023b6: ADD
000023b7: PUSH2 0x01cc
000023ba: JUMP
000023bb: JUMPDEST
000023bc: PUSH2 0x23f4
000023bf: JUMP
000023c0: JUMPDEST
000023c1: DUP7
000023c2: DUP3
000023c3: GT
000023c4: ISZERO
000023c5: PUSH2 0x23f4
000023c8: JUMPI
000023c9: PUSH1 0x40
000023cb: MLOAD
000023cc: PUSH3 0x461bcd
000023d0: PUSH1 0xe5
000023d2: SHL
000023d3: DUP2
000023d4: MSTORE
000023d5: PUSH1 0x20
000023d7: PUSH1 0x04
000023d9: DUP3
000023da: ADD
000023db: MSTORE
000023dc: PUSH1 0x01
000023de: PUSH1 0x24
000023e0: DUP3
000023e1: ADD
000023e2: MSTORE
000023e3: PUSH1 0x53
000023e5: PUSH1 0xf8
000023e7: SHL
000023e8: PUSH1 0x44
000023ea: DUP3
000023eb: ADD
000023ec: MSTORE
000023ed: PUSH1 0x64
000023ef: ADD
000023f0: PUSH2 0x01cc
000023f3: JUMP
000023f4: JUMPDEST
000023f5: POP
000023f6: POP
000023f7: POP
000023f8: PUSH2 0x0521
000023fb: JUMP
000023fc: JUMPDEST
000023fd: PUSH1 0x40
000023ff: DUP1
00002400: MLOAD
00002401: PUSH1 0x01
00002403: PUSH1 0x01
00002405: PUSH1 0xa0
00002407: SHL
00002408: SUB
00002409: DUP1
0000240a: DUP11
0000240b: AND
0000240c: PUSH1 0x20
0000240e: DUP4
0000240f: ADD
00002410: MSTORE
00002411: DUP11
00002412: AND
00002413: SWAP2
00002414: DUP2
00002415: ADD
00002416: SWAP2
00002417: SWAP1
00002418: SWAP2
00002419: MSTORE
0000241a: PUSH3 0xffffff
0000241e: DUP8
0000241f: AND
00002420: PUSH1 0x60
00002422: DUP3
00002423: ADD
00002424: MSTORE
00002425: PUSH1 0x00
00002427: SWAP1
00002428: PUSH1 0x80
0000242a: ADD
0000242b: PUSH1 0x40
0000242d: DUP1
0000242e: MLOAD
0000242f: PUSH1 0x1f
00002431: NOT
00002432: DUP2
00002433: DUP5
00002434: SUB
00002435: ADD
00002436: DUP2
00002437: MSTORE
00002438: SWAP1
00002439: DUP3
0000243a: SWAP1
0000243b: MSTORE
0000243c: DUP1
0000243d: MLOAD
0000243e: PUSH1 0x20
00002440: SWAP2
00002441: DUP3
00002442: ADD
00002443: KECCAK256
00002444: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00002465: SWAP2
00002466: DUP4
00002467: ADD
00002468: SWAP2
00002469: SWAP1
0000246a: SWAP2
0000246b: MSTORE
0000246c: PUSH1 0x35
0000246e: DUP3
0000246f: ADD
00002470: MSTORE
00002471: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00002492: PUSH1 0x55
00002494: DUP3
00002495: ADD
00002496: MSTORE
00002497: PUSH1 0x75
00002499: ADD
0000249a: PUSH1 0x40
0000249c: MLOAD
0000249d: PUSH1 0x20
0000249f: DUP2
000024a0: DUP4
000024a1: SUB
000024a2: SUB
000024a3: DUP2
000024a4: MSTORE
000024a5: SWAP1
000024a6: PUSH1 0x40
000024a8: MSTORE
000024a9: DUP1
000024aa: MLOAD
000024ab: SWAP1
000024ac: PUSH1 0x20
000024ae: ADD
000024af: KECCAK256
000024b0: PUSH1 0x00
000024b2: SHR
000024b3: SWAP1
000024b4: POP
000024b5: PUSH1 0x00
000024b7: DUP2
000024b8: PUSH1 0x01
000024ba: PUSH1 0x01
000024bc: PUSH1 0xa0
000024be: SHL
000024bf: SUB
000024c0: AND
000024c1: PUSH4 0x3850c7bd
000024c6: PUSH1 0x40
000024c8: MLOAD
000024c9: DUP2
000024ca: PUSH4 0xffffffff
000024cf: AND
000024d0: PUSH1 0xe0
000024d2: SHL
000024d3: DUP2
000024d4: MSTORE
000024d5: PUSH1 0x04
000024d7: ADD
000024d8: PUSH1 0xe0
000024da: PUSH1 0x40
000024dc: MLOAD
000024dd: DUP1
000024de: DUP4
000024df: SUB
000024e0: DUP2
000024e1: DUP7
000024e2: GAS
000024e3: STATICCALL
000024e4: ISZERO
000024e5: DUP1
000024e6: ISZERO
000024e7: PUSH2 0x24f4
000024ea: JUMPI
000024eb: RETURNDATASIZE
000024ec: PUSH1 0x00
000024ee: DUP1
000024ef: RETURNDATACOPY
000024f0: RETURNDATASIZE
000024f1: PUSH1 0x00
000024f3: REVERT
000024f4: JUMPDEST
000024f5: POP
000024f6: POP
000024f7: POP
000024f8: POP
000024f9: PUSH1 0x40
000024fb: MLOAD
000024fc: RETURNDATASIZE
000024fd: PUSH1 0x1f
000024ff: NOT
00002500: PUSH1 0x1f
00002502: DUP3
00002503: ADD
00002504: AND
00002505: DUP3
00002506: ADD
00002507: DUP1
00002508: PUSH1 0x40
0000250a: MSTORE
0000250b: POP
0000250c: DUP2
0000250d: ADD
0000250e: SWAP1
0000250f: PUSH2 0x2518
00002512: SWAP2
00002513: SWAP1
00002514: PUSH2 0x47ba
00002517: JUMP
00002518: JUMPDEST
00002519: POP
0000251a: POP
0000251b: POP
0000251c: POP
0000251d: POP
0000251e: POP
0000251f: SWAP1
00002520: POP
00002521: DUP1
00002522: PUSH1 0x01
00002524: PUSH1 0x01
00002526: PUSH1 0xa0
00002528: SHL
00002529: SUB
0000252a: AND
0000252b: DUP8
0000252c: PUSH1 0x01
0000252e: PUSH1 0x01
00002530: PUSH1 0xa0
00002532: SHL
00002533: SUB
00002534: AND
00002535: LT
00002536: ISZERO
00002537: PUSH2 0x253f
0000253a: JUMPI
0000253b: PUSH1 0x00
0000253d: DUP1
0000253e: REVERT
0000253f: JUMPDEST
00002540: POP
00002541: PUSH1 0x00
00002543: DUP1
00002544: DUP3
00002545: PUSH1 0x01
00002547: PUSH1 0x01
00002549: PUSH1 0xa0
0000254b: SHL
0000254c: SUB
0000254d: AND
0000254e: PUSH4 0x128acb08
00002553: DUP8
00002554: PUSH1 0x00
00002556: DUP16
00002557: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25
0000256c: DUP11
0000256d: DUP11
0000256e: PUSH1 0x40
00002570: MLOAD
00002571: DUP8
00002572: PUSH4 0xffffffff
00002577: AND
00002578: PUSH1 0xe0
0000257a: SHL
0000257b: DUP2
0000257c: MSTORE
0000257d: PUSH1 0x04
0000257f: ADD
00002580: PUSH2 0x1c8d
00002583: SWAP7
00002584: SWAP6
00002585: SWAP5
00002586: SWAP4
00002587: SWAP3
00002588: SWAP2
00002589: SWAP1
0000258a: PUSH2 0x46a3
0000258d: JUMP
0000258e: JUMPDEST
0000258f: PUSH1 0x04
00002591: CALLDATALOAD
00002592: PUSH1 0x60
00002594: SWAP1
00002595: DUP2
00002596: SHR
00002597: SWAP1
00002598: PUSH1 0x18
0000259a: CALLDATALOAD
0000259b: SWAP1
0000259c: SHR
0000259d: PUSH1 0x2c
0000259f: CALLDATALOAD
000025a0: PUSH1 0xe8
000025a2: SWAP1
000025a3: DUP2
000025a4: SHR
000025a5: SWAP1
000025a6: PUSH1 0x2f
000025a8: CALLDATALOAD
000025a9: DUP2
000025aa: SHR
000025ab: SWAP1
000025ac: PUSH1 0x32
000025ae: CALLDATALOAD
000025af: SWAP1
000025b0: SHR
000025b1: PUSH1 0x35
000025b3: CALLDATALOAD
000025b4: PUSH1 0x80
000025b6: SHR
000025b7: PUSH1 0x00
000025b9: PUSH2 0x266b
000025bc: PUSH1 0x40
000025be: DUP1
000025bf: MLOAD
000025c0: PUSH1 0x04
000025c2: CALLDATALOAD
000025c3: PUSH1 0x60
000025c5: SWAP1
000025c6: DUP2
000025c7: SHR
000025c8: PUSH1 0x20
000025ca: DUP1
000025cb: DUP5
000025cc: ADD
000025cd: SWAP2
000025ce: SWAP1
000025cf: SWAP2
000025d0: MSTORE
000025d1: PUSH1 0x18
000025d3: CALLDATALOAD
000025d4: DUP3
000025d5: SHR
000025d6: DUP4
000025d7: DUP6
000025d8: ADD
000025d9: MSTORE
000025da: PUSH1 0x2c
000025dc: CALLDATALOAD
000025dd: PUSH1 0xe8
000025df: SHR
000025e0: DUP3
000025e1: DUP5
000025e2: ADD
000025e3: MSTORE
000025e4: DUP4
000025e5: MLOAD
000025e6: DUP1
000025e7: DUP5
000025e8: SUB
000025e9: SWAP1
000025ea: SWAP3
000025eb: ADD
000025ec: DUP3
000025ed: MSTORE
000025ee: PUSH1 0x80
000025f0: DUP4
000025f1: ADD
000025f2: DUP5
000025f3: MSTORE
000025f4: DUP2
000025f5: MLOAD
000025f6: SWAP2
000025f7: DUP2
000025f8: ADD
000025f9: SWAP2
000025fa: SWAP1
000025fb: SWAP2
000025fc: KECCAK256
000025fd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
0000261e: PUSH1 0xa0
00002620: DUP5
00002621: ADD
00002622: MSTORE
00002623: PUSH1 0xb5
00002625: DUP4
00002626: ADD
00002627: MSTORE
00002628: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00002649: PUSH1 0xd5
0000264b: DUP1
0000264c: DUP5
0000264d: ADD
0000264e: SWAP2
0000264f: SWAP1
00002650: SWAP2
00002651: MSTORE
00002652: DUP4
00002653: MLOAD
00002654: DUP1
00002655: DUP5
00002656: SUB
00002657: SWAP1
00002658: SWAP2
00002659: ADD
0000265a: DUP2
0000265b: MSTORE
0000265c: PUSH1 0xf5
0000265e: SWAP1
0000265f: SWAP3
00002660: ADD
00002661: SWAP1
00002662: SWAP3
00002663: MSTORE
00002664: DUP1
00002665: MLOAD
00002666: SWAP2
00002667: ADD
00002668: KECCAK256
00002669: SWAP1
0000266a: JUMP
0000266b: JUMPDEST
0000266c: PUSH1 0x40
0000266e: DUP1
0000266f: MLOAD
00002670: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002691: PUSH1 0x60
00002693: DUP12
00002694: DUP2
00002695: SHL
00002696: DUP3
00002697: AND
00002698: PUSH1 0x20
0000269a: DUP5
0000269b: ADD
0000269c: MSTORE
0000269d: DUP11
0000269e: SWAP1
0000269f: SHL
000026a0: AND
000026a1: PUSH1 0x34
000026a3: DUP3
000026a4: ADD
000026a5: MSTORE
000026a6: PUSH32 0xffffff0000000000000000000000000000000000000000000000000000000000
000026c7: PUSH1 0xe8
000026c9: DUP10
000026ca: SWAP1
000026cb: SHL
000026cc: AND
000026cd: PUSH1 0x48
000026cf: DUP3
000026d0: ADD
000026d1: MSTORE
000026d2: DUP2
000026d3: MLOAD
000026d4: DUP1
000026d5: DUP3
000026d6: SUB
000026d7: PUSH1 0x2b
000026d9: ADD
000026da: DUP2
000026db: MSTORE
000026dc: PUSH1 0x4b
000026de: DUP3
000026df: ADD
000026e0: SWAP3
000026e1: DUP4
000026e2: SWAP1
000026e3: MSTORE
000026e4: PUSH32 0x3c8a7d8d00000000000000000000000000000000000000000000000000000000
00002705: SWAP1
00002706: SWAP3
00002707: MSTORE
00002708: SWAP2
00002709: SWAP3
0000270a: POP
0000270b: PUSH1 0x01
0000270d: PUSH1 0x01
0000270f: PUSH1 0xa0
00002711: SHL
00002712: SUB
00002713: DUP4
00002714: AND
00002715: SWAP2
00002716: PUSH4 0x3c8a7d8d
0000271b: SWAP2
0000271c: PUSH2 0x272f
0000271f: SWAP2
00002720: ADDRESS
00002721: SWAP2
00002722: DUP10
00002723: SWAP2
00002724: DUP10
00002725: SWAP2
00002726: DUP10
00002727: SWAP2
00002728: PUSH1 0x4f
0000272a: ADD
0000272b: PUSH2 0x4882
0000272e: JUMP
0000272f: JUMPDEST
00002730: PUSH1 0x40
00002732: DUP1
00002733: MLOAD
00002734: DUP1
00002735: DUP4
00002736: SUB
00002737: DUP2
00002738: PUSH1 0x00
0000273a: DUP8
0000273b: GAS
0000273c: CALL
0000273d: ISZERO
0000273e: DUP1
0000273f: ISZERO
00002740: PUSH2 0x274d
00002743: JUMPI
00002744: RETURNDATASIZE
00002745: PUSH1 0x00
00002747: DUP1
00002748: RETURNDATACOPY
00002749: RETURNDATASIZE
0000274a: PUSH1 0x00
0000274c: REVERT
0000274d: JUMPDEST
0000274e: POP
0000274f: POP
00002750: POP
00002751: POP
00002752: PUSH1 0x40
00002754: MLOAD
00002755: RETURNDATASIZE
00002756: PUSH1 0x1f
00002758: NOT
00002759: PUSH1 0x1f
0000275b: DUP3
0000275c: ADD
0000275d: AND
0000275e: DUP3
0000275f: ADD
00002760: DUP1
00002761: PUSH1 0x40
00002763: MSTORE
00002764: POP
00002765: DUP2
00002766: ADD
00002767: SWAP1
00002768: PUSH2 0x0521
0000276b: SWAP2
0000276c: SWAP1
0000276d: PUSH2 0x4700
00002770: JUMP
00002771: JUMPDEST
00002772: PUSH1 0x2f
00002774: CALLDATALOAD
00002775: PUSH1 0xe8
00002777: SWAP1
00002778: DUP2
00002779: SHR
0000277a: SWAP1
0000277b: PUSH1 0x32
0000277d: CALLDATALOAD
0000277e: SWAP1
0000277f: SHR
00002780: PUSH1 0x35
00002782: CALLDATALOAD
00002783: PUSH1 0x80
00002785: SHR
00002786: PUSH1 0x00
00002788: PUSH2 0x283a
0000278b: PUSH1 0x40
0000278d: DUP1
0000278e: MLOAD
0000278f: PUSH1 0x04
00002791: CALLDATALOAD
00002792: PUSH1 0x60
00002794: SWAP1
00002795: DUP2
00002796: SHR
00002797: PUSH1 0x20
00002799: DUP1
0000279a: DUP5
0000279b: ADD
0000279c: SWAP2
0000279d: SWAP1
0000279e: SWAP2
0000279f: MSTORE
000027a0: PUSH1 0x18
000027a2: CALLDATALOAD
000027a3: DUP3
000027a4: SHR
000027a5: DUP4
000027a6: DUP6
000027a7: ADD
000027a8: MSTORE
000027a9: PUSH1 0x2c
000027ab: CALLDATALOAD
000027ac: PUSH1 0xe8
000027ae: SHR
000027af: DUP3
000027b0: DUP5
000027b1: ADD
000027b2: MSTORE
000027b3: DUP4
000027b4: MLOAD
000027b5: DUP1
000027b6: DUP5
000027b7: SUB
000027b8: SWAP1
000027b9: SWAP3
000027ba: ADD
000027bb: DUP3
000027bc: MSTORE
000027bd: PUSH1 0x80
000027bf: DUP4
000027c0: ADD
000027c1: DUP5
000027c2: MSTORE
000027c3: DUP2
000027c4: MLOAD
000027c5: SWAP2
000027c6: DUP2
000027c7: ADD
000027c8: SWAP2
000027c9: SWAP1
000027ca: SWAP2
000027cb: KECCAK256
000027cc: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
000027ed: PUSH1 0xa0
000027ef: DUP5
000027f0: ADD
000027f1: MSTORE
000027f2: PUSH1 0xb5
000027f4: DUP4
000027f5: ADD
000027f6: MSTORE
000027f7: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00002818: PUSH1 0xd5
0000281a: DUP1
0000281b: DUP5
0000281c: ADD
0000281d: SWAP2
0000281e: SWAP1
0000281f: SWAP2
00002820: MSTORE
00002821: DUP4
00002822: MLOAD
00002823: DUP1
00002824: DUP5
00002825: SUB
00002826: SWAP1
00002827: SWAP2
00002828: ADD
00002829: DUP2
0000282a: MSTORE
0000282b: PUSH1 0xf5
0000282d: SWAP1
0000282e: SWAP3
0000282f: ADD
00002830: SWAP1
00002831: SWAP3
00002832: MSTORE
00002833: DUP1
00002834: MLOAD
00002835: SWAP2
00002836: ADD
00002837: KECCAK256
00002838: SWAP1
00002839: JUMP
0000283a: JUMPDEST
0000283b: PUSH1 0x40
0000283d: MLOAD
0000283e: PUSH32 0xa34123a700000000000000000000000000000000000000000000000000000000
0000285f: DUP2
00002860: MSTORE
00002861: PUSH1 0x02
00002863: DUP7
00002864: DUP2
00002865: SIGNEXTEND
00002866: PUSH1 0x04
00002868: DUP4
00002869: ADD
0000286a: MSTORE
0000286b: DUP6
0000286c: SWAP1
0000286d: SIGNEXTEND
0000286e: PUSH1 0x24
00002870: DUP3
00002871: ADD
00002872: MSTORE
00002873: PUSH16 0xffffffffffffffffffffffffffffffff
00002884: DUP5
00002885: AND
00002886: PUSH1 0x44
00002888: DUP3
00002889: ADD
0000288a: MSTORE
0000288b: SWAP1
0000288c: SWAP2
0000288d: POP
0000288e: PUSH1 0x01
00002890: PUSH1 0x01
00002892: PUSH1 0xa0
00002894: SHL
00002895: SUB
00002896: DUP3
00002897: AND
00002898: SWAP1
00002899: PUSH4 0xa34123a7
0000289e: SWAP1
0000289f: PUSH1 0x64
000028a1: ADD
000028a2: PUSH1 0x40
000028a4: DUP1
000028a5: MLOAD
000028a6: DUP1
000028a7: DUP4
000028a8: SUB
000028a9: DUP2
000028aa: PUSH1 0x00
000028ac: DUP8
000028ad: GAS
000028ae: CALL
000028af: ISZERO
000028b0: DUP1
000028b1: ISZERO
000028b2: PUSH2 0x28bf
000028b5: JUMPI
000028b6: RETURNDATASIZE
000028b7: PUSH1 0x00
000028b9: DUP1
000028ba: RETURNDATACOPY
000028bb: RETURNDATASIZE
000028bc: PUSH1 0x00
000028be: REVERT
000028bf: JUMPDEST
000028c0: POP
000028c1: POP
000028c2: POP
000028c3: POP
000028c4: PUSH1 0x40
000028c6: MLOAD
000028c7: RETURNDATASIZE
000028c8: PUSH1 0x1f
000028ca: NOT
000028cb: PUSH1 0x1f
000028cd: DUP3
000028ce: ADD
000028cf: AND
000028d0: DUP3
000028d1: ADD
000028d2: DUP1
000028d3: PUSH1 0x40
000028d5: MSTORE
000028d6: POP
000028d7: DUP2
000028d8: ADD
000028d9: SWAP1
000028da: PUSH2 0x28e3
000028dd: SWAP2
000028de: SWAP1
000028df: PUSH2 0x4700
000028e2: JUMP
000028e3: JUMPDEST
000028e4: POP
000028e5: POP
000028e6: PUSH1 0x40
000028e8: MLOAD
000028e9: PUSH32 0x4f1eb3d800000000000000000000000000000000000000000000000000000000
0000290a: DUP2
0000290b: MSTORE
0000290c: ADDRESS
0000290d: PUSH1 0x04
0000290f: DUP3
00002910: ADD
00002911: MSTORE
00002912: PUSH1 0x02
00002914: DUP6
00002915: DUP2
00002916: SIGNEXTEND
00002917: PUSH1 0x24
00002919: DUP4
0000291a: ADD
0000291b: MSTORE
0000291c: DUP5
0000291d: SWAP1
0000291e: SIGNEXTEND
0000291f: PUSH1 0x44
00002921: DUP3
00002922: ADD
00002923: MSTORE
00002924: PUSH16 0xffffffffffffffffffffffffffffffff
00002935: PUSH1 0x64
00002937: DUP3
00002938: ADD
00002939: DUP2
0000293a: SWAP1
0000293b: MSTORE
0000293c: PUSH1 0x84
0000293e: DUP3
0000293f: ADD
00002940: MSTORE
00002941: PUSH1 0x01
00002943: PUSH1 0x01
00002945: PUSH1 0xa0
00002947: SHL
00002948: SUB
00002949: DUP3
0000294a: AND
0000294b: SWAP1
0000294c: PUSH4 0x4f1eb3d8
00002951: SWAP1
00002952: PUSH1 0xa4
00002954: ADD
00002955: PUSH1 0x40
00002957: DUP1
00002958: MLOAD
00002959: DUP1
0000295a: DUP4
0000295b: SUB
0000295c: DUP2
0000295d: PUSH1 0x00
0000295f: DUP8
00002960: GAS
00002961: CALL
00002962: ISZERO
00002963: DUP1
00002964: ISZERO
00002965: PUSH2 0x2972
00002968: JUMPI
00002969: RETURNDATASIZE
0000296a: PUSH1 0x00
0000296c: DUP1
0000296d: RETURNDATACOPY
0000296e: RETURNDATASIZE
0000296f: PUSH1 0x00
00002971: REVERT
00002972: JUMPDEST
00002973: POP
00002974: POP
00002975: POP
00002976: POP
00002977: PUSH1 0x40
00002979: MLOAD
0000297a: RETURNDATASIZE
0000297b: PUSH1 0x1f
0000297d: NOT
0000297e: PUSH1 0x1f
00002980: DUP3
00002981: ADD
00002982: AND
00002983: DUP3
00002984: ADD
00002985: DUP1
00002986: PUSH1 0x40
00002988: MSTORE
00002989: POP
0000298a: DUP2
0000298b: ADD
0000298c: SWAP1
0000298d: PUSH2 0x2996
00002990: SWAP2
00002991: SWAP1
00002992: PUSH2 0x4912
00002995: JUMP
00002996: JUMPDEST
00002997: POP
00002998: POP
00002999: POP
0000299a: POP
0000299b: POP
0000299c: POP
0000299d: JUMP
0000299e: JUMPDEST
0000299f: PUSH1 0x04
000029a1: CALLDATALOAD
000029a2: PUSH1 0x60
000029a4: SWAP1
000029a5: DUP2
000029a6: SHR
000029a7: SWAP1
000029a8: PUSH1 0x18
000029aa: CALLDATALOAD
000029ab: SWAP1
000029ac: SHR
000029ad: PUSH1 0x2c
000029af: CALLDATALOAD
000029b0: PUSH1 0x4c
000029b2: CALLDATALOAD
000029b3: PUSH1 0x6c
000029b5: CALLDATALOAD
000029b6: PUSH1 0xf8
000029b8: SHR
000029b9: DUP4
000029ba: DUP6
000029bb: LT
000029bc: PUSH1 0x00
000029be: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000029df: DUP4
000029e0: ADD
000029e1: PUSH2 0x2b07
000029e4: JUMPI
000029e5: DUP2
000029e6: PUSH2 0x2a39
000029e9: JUMPI
000029ea: PUSH1 0x40
000029ec: MLOAD
000029ed: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002a0e: PUSH1 0x60
00002a10: DUP9
00002a11: DUP2
00002a12: SHL
00002a13: DUP3
00002a14: AND
00002a15: PUSH1 0x20
00002a17: DUP5
00002a18: ADD
00002a19: MSTORE
00002a1a: DUP10
00002a1b: SWAP1
00002a1c: SHL
00002a1d: AND
00002a1e: PUSH1 0x34
00002a20: DUP3
00002a21: ADD
00002a22: MSTORE
00002a23: PUSH1 0x48
00002a25: ADD
00002a26: PUSH1 0x40
00002a28: MLOAD
00002a29: PUSH1 0x20
00002a2b: DUP2
00002a2c: DUP4
00002a2d: SUB
00002a2e: SUB
00002a2f: DUP2
00002a30: MSTORE
00002a31: SWAP1
00002a32: PUSH1 0x40
00002a34: MSTORE
00002a35: PUSH2 0x2a85
00002a38: JUMP
00002a39: JUMPDEST
00002a3a: PUSH1 0x40
00002a3c: MLOAD
00002a3d: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002a5e: PUSH1 0x60
00002a60: DUP10
00002a61: DUP2
00002a62: SHL
00002a63: DUP3
00002a64: AND
00002a65: PUSH1 0x20
00002a67: DUP5
00002a68: ADD
00002a69: MSTORE
00002a6a: DUP9
00002a6b: SWAP1
00002a6c: SHL
00002a6d: AND
00002a6e: PUSH1 0x34
00002a70: DUP3
00002a71: ADD
00002a72: MSTORE
00002a73: PUSH1 0x48
00002a75: ADD
00002a76: PUSH1 0x40
00002a78: MLOAD
00002a79: PUSH1 0x20
00002a7b: DUP2
00002a7c: DUP4
00002a7d: SUB
00002a7e: SUB
00002a7f: DUP2
00002a80: MSTORE
00002a81: SWAP1
00002a82: PUSH1 0x40
00002a84: MSTORE
00002a85: JUMPDEST
00002a86: DUP1
00002a87: MLOAD
00002a88: PUSH1 0x20
00002a8a: SWAP2
00002a8b: DUP3
00002a8c: ADD
00002a8d: KECCAK256
00002a8e: PUSH1 0x40
00002a90: MLOAD
00002a91: PUSH32 0xff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000
00002ab2: SWAP3
00002ab3: DUP2
00002ab4: ADD
00002ab5: SWAP3
00002ab6: SWAP1
00002ab7: SWAP3
00002ab8: MSTORE
00002ab9: PUSH1 0x35
00002abb: DUP3
00002abc: ADD
00002abd: MSTORE
00002abe: PUSH32 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f
00002adf: PUSH1 0x55
00002ae1: DUP3
00002ae2: ADD
00002ae3: MSTORE
00002ae4: PUSH1 0x75
00002ae6: ADD
00002ae7: JUMPDEST
00002ae8: PUSH1 0x40
00002aea: MLOAD
00002aeb: PUSH1 0x20
00002aed: DUP2
00002aee: DUP4
00002aef: SUB
00002af0: SUB
00002af1: DUP2
00002af2: MSTORE
00002af3: SWAP1
00002af4: PUSH1 0x40
00002af6: MSTORE
00002af7: DUP1
00002af8: MLOAD
00002af9: SWAP1
00002afa: PUSH1 0x20
00002afc: ADD
00002afd: KECCAK256
00002afe: PUSH1 0x00
00002b00: SHR
00002b01: SWAP1
00002b02: POP
00002b03: PUSH2 0x2db3
00002b06: JUMP
00002b07: JUMPDEST
00002b08: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe
00002b29: PUSH1 0xff
00002b2b: DUP5
00002b2c: AND
00002b2d: ADD
00002b2e: PUSH2 0x2c38
00002b31: JUMPI
00002b32: DUP2
00002b33: PUSH2 0x2b86
00002b36: JUMPI
00002b37: PUSH1 0x40
00002b39: MLOAD
00002b3a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002b5b: PUSH1 0x60
00002b5d: DUP9
00002b5e: DUP2
00002b5f: SHL
00002b60: DUP3
00002b61: AND
00002b62: PUSH1 0x20
00002b64: DUP5
00002b65: ADD
00002b66: MSTORE
00002b67: DUP10
00002b68: SWAP1
00002b69: SHL
00002b6a: AND
00002b6b: PUSH1 0x34
00002b6d: DUP3
00002b6e: ADD
00002b6f: MSTORE
00002b70: PUSH1 0x48
00002b72: ADD
00002b73: PUSH1 0x40
00002b75: MLOAD
00002b76: PUSH1 0x20
00002b78: DUP2
00002b79: DUP4
00002b7a: SUB
00002b7b: SUB
00002b7c: DUP2
00002b7d: MSTORE
00002b7e: SWAP1
00002b7f: PUSH1 0x40
00002b81: MSTORE
00002b82: PUSH2 0x2bd2
00002b85: JUMP
00002b86: JUMPDEST
00002b87: PUSH1 0x40
00002b89: MLOAD
00002b8a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002bab: PUSH1 0x60
00002bad: DUP10
00002bae: DUP2
00002baf: SHL
00002bb0: DUP3
00002bb1: AND
00002bb2: PUSH1 0x20
00002bb4: DUP5
00002bb5: ADD
00002bb6: MSTORE
00002bb7: DUP9
00002bb8: SWAP1
00002bb9: SHL
00002bba: AND
00002bbb: PUSH1 0x34
00002bbd: DUP3
00002bbe: ADD
00002bbf: MSTORE
00002bc0: PUSH1 0x48
00002bc2: ADD
00002bc3: PUSH1 0x40
00002bc5: MLOAD
00002bc6: PUSH1 0x20
00002bc8: DUP2
00002bc9: DUP4
00002bca: SUB
00002bcb: SUB
00002bcc: DUP2
00002bcd: MSTORE
00002bce: SWAP1
00002bcf: PUSH1 0x40
00002bd1: MSTORE
00002bd2: JUMPDEST
00002bd3: DUP1
00002bd4: MLOAD
00002bd5: PUSH1 0x20
00002bd7: SWAP2
00002bd8: DUP3
00002bd9: ADD
00002bda: KECCAK256
00002bdb: PUSH1 0x40
00002bdd: MLOAD
00002bde: PUSH32 0xffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000
00002bff: SWAP3
00002c00: DUP2
00002c01: ADD
00002c02: SWAP3
00002c03: SWAP1
00002c04: SWAP3
00002c05: MSTORE
00002c06: PUSH1 0x35
00002c08: DUP3
00002c09: ADD
00002c0a: MSTORE
00002c0b: PUSH32 0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303
00002c2c: PUSH1 0x55
00002c2e: DUP3
00002c2f: ADD
00002c30: MSTORE
00002c31: PUSH1 0x75
00002c33: ADD
00002c34: PUSH2 0x2ae7
00002c37: JUMP
00002c38: JUMPDEST
00002c39: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd
00002c5a: PUSH1 0xff
00002c5c: DUP5
00002c5d: AND
00002c5e: ADD
00002c5f: PUSH2 0x2d69
00002c62: JUMPI
00002c63: DUP2
00002c64: PUSH2 0x2cb7
00002c67: JUMPI
00002c68: PUSH1 0x40
00002c6a: MLOAD
00002c6b: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002c8c: PUSH1 0x60
00002c8e: DUP9
00002c8f: DUP2
00002c90: SHL
00002c91: DUP3
00002c92: AND
00002c93: PUSH1 0x20
00002c95: DUP5
00002c96: ADD
00002c97: MSTORE
00002c98: DUP10
00002c99: SWAP1
00002c9a: SHL
00002c9b: AND
00002c9c: PUSH1 0x34
00002c9e: DUP3
00002c9f: ADD
00002ca0: MSTORE
00002ca1: PUSH1 0x48
00002ca3: ADD
00002ca4: PUSH1 0x40
00002ca6: MLOAD
00002ca7: PUSH1 0x20
00002ca9: DUP2
00002caa: DUP4
00002cab: SUB
00002cac: SUB
00002cad: DUP2
00002cae: MSTORE
00002caf: SWAP1
00002cb0: PUSH1 0x40
00002cb2: MSTORE
00002cb3: PUSH2 0x2d03
00002cb6: JUMP
00002cb7: JUMPDEST
00002cb8: PUSH1 0x40
00002cba: MLOAD
00002cbb: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000
00002cdc: PUSH1 0x60
00002cde: DUP10
00002cdf: DUP2
00002ce0: SHL
00002ce1: DUP3
00002ce2: AND
00002ce3: PUSH1 0x20
00002ce5: DUP5
00002ce6: ADD
00002ce7: MSTORE
00002ce8: DUP9
00002ce9: SWAP1
00002cea: SHL
00002ceb: AND
00002cec: PUSH1 0x34
00002cee: DUP3
00002cef: ADD
00002cf0: MSTORE
00002cf1: PUSH1 0x48
00002cf3: ADD
00002cf4: PUSH1 0x40
00002cf6: MLOAD
00002cf7: PUSH1 0x20
00002cf9: DUP2
00002cfa: DUP4
00002cfb: SUB
00002cfc: SUB
00002cfd: DUP2
00002cfe: MSTORE
00002cff: SWAP1
00002d00: PUSH1 0x40
00002d02: MSTORE
00002d03: JUMPDEST
00002d04: DUP1
00002d05: MLOAD
00002d06: PUSH1 0x20
00002d08: SWAP2
00002d09: DUP3
00002d0a: ADD
00002d0b: KECCAK256
00002d0c: PUSH1 0x40
00002d0e: MLOAD
00002d0f: PUSH32 0xff115934131916c8b277dd010ee02de363c09d037c0000000000000000000000
00002d30: SWAP3
00002d31: DUP2
00002d32: ADD
00002d33: SWAP3
00002d34: SWAP1
00002d35: SWAP3
00002d36: MSTORE
00002d37: PUSH1 0x35
00002d39: DUP3
00002d3a: ADD
00002d3b: MSTORE
00002d3c: PUSH32 0x65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a
00002d5d: PUSH1 0x55
00002d5f: DUP3
00002d60: ADD
00002d61: MSTORE
00002d62: PUSH1 0x75
00002d64: ADD
00002d65: PUSH2 0x2ae7
00002d68: JUMP
00002d69: JUMPDEST
00002d6a: PUSH1 0x40
00002d6c: MLOAD
00002d6d: PUSH3 0x461bcd
00002d71: PUSH1 0xe5
00002d73: SHL
00002d74: DUP2
00002d75: MSTORE
00002d76: PUSH1 0x04
00002d78: ADD
00002d79: PUSH2 0x01cc
00002d7c: SWAP1
00002d7d: PUSH1 0x20
00002d7f: DUP1
00002d80: DUP3
00002d81: MSTORE
00002d82: PUSH1 0x04
00002d84: SWAP1
00002d85: DUP3
00002d86: ADD
00002d87: MSTORE
00002d88: PUSH32 0x5632494400000000000000000000000000000000000000000000000000000000
00002da9: PUSH1 0x40
00002dab: DUP3
00002dac: ADD
00002dad: MSTORE
00002dae: PUSH1 0x60
00002db0: ADD
00002db1: SWAP1
00002db2: JUMP
00002db3: JUMPDEST
00002db4: DUP9
00002db5: ISZERO
00002db6: PUSH2 0x329d
00002db9: JUMPI
00002dba: DUP10
00002dbb: ISZERO
00002dbc: PUSH2 0x3134
00002dbf: JUMPI
00002dc0: DUP8
00002dc1: ISZERO
00002dc2: PUSH2 0x2f5d
00002dc5: JUMPI
00002dc6: PUSH1 0x40
00002dc8: MLOAD
00002dc9: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002dea: DUP2
00002deb: MSTORE
00002dec: PUSH1 0x01
00002dee: PUSH1 0x01
00002df0: PUSH1 0xa0
00002df2: SHL
00002df3: SUB
00002df4: DUP3
00002df5: DUP2
00002df6: AND
00002df7: PUSH1 0x04
00002df9: DUP4
00002dfa: ADD
00002dfb: MSTORE
00002dfc: PUSH1 0x24
00002dfe: DUP3
00002dff: ADD
00002e00: DUP8
00002e01: SWAP1
00002e02: MSTORE
00002e03: DUP9
00002e04: AND
00002e05: SWAP1
00002e06: PUSH4 0xa9059cbb
00002e0b: SWAP1
00002e0c: PUSH1 0x44
00002e0e: ADD
00002e0f: PUSH1 0x00
00002e11: PUSH1 0x40
00002e13: MLOAD
00002e14: DUP1
00002e15: DUP4
00002e16: SUB
00002e17: DUP2
00002e18: PUSH1 0x00
00002e1a: DUP8
00002e1b: DUP1
00002e1c: EXTCODESIZE
00002e1d: ISZERO
00002e1e: DUP1
00002e1f: ISZERO
00002e20: PUSH2 0x2e28
00002e23: JUMPI
00002e24: PUSH1 0x00
00002e26: DUP1
00002e27: REVERT
00002e28: JUMPDEST
00002e29: POP
00002e2a: GAS
00002e2b: CALL
00002e2c: ISZERO
00002e2d: DUP1
00002e2e: ISZERO
00002e2f: PUSH2 0x2e3c
00002e32: JUMPI
00002e33: RETURNDATASIZE
00002e34: PUSH1 0x00
00002e36: DUP1
00002e37: RETURNDATACOPY
00002e38: RETURNDATASIZE
00002e39: PUSH1 0x00
00002e3b: REVERT
00002e3c: JUMPDEST
00002e3d: POP
00002e3e: POP
00002e3f: POP
00002e40: POP
00002e41: PUSH1 0x00
00002e43: DUP1
00002e44: DUP3
00002e45: PUSH1 0x01
00002e47: PUSH1 0x01
00002e49: PUSH1 0xa0
00002e4b: SHL
00002e4c: SUB
00002e4d: AND
00002e4e: PUSH4 0x0902f1ac
00002e53: PUSH1 0x40
00002e55: MLOAD
00002e56: DUP2
00002e57: PUSH4 0xffffffff
00002e5c: AND
00002e5d: PUSH1 0xe0
00002e5f: SHL
00002e60: DUP2
00002e61: MSTORE
00002e62: PUSH1 0x04
00002e64: ADD
00002e65: PUSH1 0x60
00002e67: PUSH1 0x40
00002e69: MLOAD
00002e6a: DUP1
00002e6b: DUP4
00002e6c: SUB
00002e6d: DUP2
00002e6e: DUP7
00002e6f: GAS
00002e70: STATICCALL
00002e71: ISZERO
00002e72: DUP1
00002e73: ISZERO
00002e74: PUSH2 0x2e81
00002e77: JUMPI
00002e78: RETURNDATASIZE
00002e79: PUSH1 0x00
00002e7b: DUP1
00002e7c: RETURNDATACOPY
00002e7d: RETURNDATASIZE
00002e7e: PUSH1 0x00
00002e80: REVERT
00002e81: JUMPDEST
00002e82: POP
00002e83: POP
00002e84: POP
00002e85: POP
00002e86: PUSH1 0x40
00002e88: MLOAD
00002e89: RETURNDATASIZE
00002e8a: PUSH1 0x1f
00002e8c: NOT
00002e8d: PUSH1 0x1f
00002e8f: DUP3
00002e90: ADD
00002e91: AND
00002e92: DUP3
00002e93: ADD
00002e94: DUP1
00002e95: PUSH1 0x40
00002e97: MSTORE
00002e98: POP
00002e99: DUP2
00002e9a: ADD
00002e9b: SWAP1
00002e9c: PUSH2 0x2ea5
00002e9f: SWAP2
00002ea0: SWAP1
00002ea1: PUSH2 0x4963
00002ea4: JUMP
00002ea5: JUMPDEST
00002ea6: POP
00002ea7: SWAP2
00002ea8: POP
00002ea9: SWAP2
00002eaa: POP
00002eab: DUP4
00002eac: PUSH2 0x2eb5
00002eaf: JUMPI
00002eb0: DUP1
00002eb1: PUSH2 0x2eb7
00002eb4: JUMP
00002eb5: JUMPDEST
00002eb6: DUP2
00002eb7: JUMPDEST
00002eb8: PUSH1 0x40
00002eba: MLOAD
00002ebb: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00002edc: DUP2
00002edd: MSTORE
00002ede: PUSH1 0x01
00002ee0: PUSH1 0x01
00002ee2: PUSH1 0xa0
00002ee4: SHL
00002ee5: SUB
00002ee6: DUP6
00002ee7: DUP2
00002ee8: AND
00002ee9: PUSH1 0x04
00002eeb: DUP4
00002eec: ADD
00002eed: MSTORE
00002eee: PUSH14 0xffffffffffffffffffffffffffff
00002efd: SWAP3
00002efe: SWAP1
00002eff: SWAP3
00002f00: AND
00002f01: SWAP2
00002f02: DUP12
00002f03: AND
00002f04: SWAP1
00002f05: PUSH4 0x70a08231
00002f0a: SWAP1
00002f0b: PUSH1 0x24
00002f0d: ADD
00002f0e: PUSH1 0x20
00002f10: PUSH1 0x40
00002f12: MLOAD
00002f13: DUP1
00002f14: DUP4
00002f15: SUB
00002f16: DUP2
00002f17: DUP7
00002f18: GAS
00002f19: STATICCALL
00002f1a: ISZERO
00002f1b: DUP1
00002f1c: ISZERO
00002f1d: PUSH2 0x2f2a
00002f20: JUMPI
00002f21: RETURNDATASIZE
00002f22: PUSH1 0x00
00002f24: DUP1
00002f25: RETURNDATACOPY
00002f26: RETURNDATASIZE
00002f27: PUSH1 0x00
00002f29: REVERT
00002f2a: JUMPDEST
00002f2b: POP
00002f2c: POP
00002f2d: POP
00002f2e: POP
00002f2f: PUSH1 0x40
00002f31: MLOAD
00002f32: RETURNDATASIZE
00002f33: PUSH1 0x1f
00002f35: NOT
00002f36: PUSH1 0x1f
00002f38: DUP3
00002f39: ADD
00002f3a: AND
00002f3b: DUP3
00002f3c: ADD
00002f3d: DUP1
00002f3e: PUSH1 0x40
00002f40: MSTORE
00002f41: POP
00002f42: DUP2
00002f43: ADD
00002f44: SWAP1
00002f45: PUSH2 0x2f4e
00002f48: SWAP2
00002f49: SWAP1
00002f4a: PUSH2 0x49b3
00002f4d: JUMP
00002f4e: JUMPDEST
00002f4f: PUSH2 0x2f58
00002f52: SWAP2
00002f53: SWAP1
00002f54: PUSH2 0x49cc
00002f57: JUMP
00002f58: JUMPDEST
00002f59: SWAP7
00002f5a: POP
00002f5b: POP
00002f5c: POP
00002f5d: JUMPDEST
00002f5e: PUSH1 0x00
00002f60: PUSH2 0x2f6a
00002f63: DUP3
00002f64: DUP8
00002f65: DUP6
00002f66: PUSH2 0x42a4
00002f69: JUMP
00002f6a: JUMPDEST
00002f6b: SWAP1
00002f6c: POP
00002f6d: DUP5
00002f6e: DUP2
00002f6f: LT
00002f70: ISZERO
00002f71: PUSH2 0x2f79
00002f74: JUMPI
00002f75: PUSH1 0x00
00002f77: DUP1
00002f78: REVERT
00002f79: JUMPDEST
00002f7a: DUP9
00002f7b: PUSH2 0x2ffa
00002f7e: JUMPI
00002f7f: PUSH1 0x40
00002f81: MLOAD
00002f82: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002fa3: DUP2
00002fa4: MSTORE
00002fa5: PUSH1 0x01
00002fa7: PUSH1 0x01
00002fa9: PUSH1 0xa0
00002fab: SHL
00002fac: SUB
00002fad: DUP4
00002fae: DUP2
00002faf: AND
00002fb0: PUSH1 0x04
00002fb2: DUP4
00002fb3: ADD
00002fb4: MSTORE
00002fb5: PUSH1 0x24
00002fb7: DUP3
00002fb8: ADD
00002fb9: DUP9
00002fba: SWAP1
00002fbb: MSTORE
00002fbc: DUP10
00002fbd: AND
00002fbe: SWAP1
00002fbf: PUSH4 0xa9059cbb
00002fc4: SWAP1
00002fc5: PUSH1 0x44
00002fc7: ADD
00002fc8: PUSH1 0x00
00002fca: PUSH1 0x40
00002fcc: MLOAD
00002fcd: DUP1
00002fce: DUP4
00002fcf: SUB
00002fd0: DUP2
00002fd1: PUSH1 0x00
00002fd3: DUP8
00002fd4: DUP1
00002fd5: EXTCODESIZE
00002fd6: ISZERO
00002fd7: DUP1
00002fd8: ISZERO
00002fd9: PUSH2 0x2fe1
00002fdc: JUMPI
00002fdd: PUSH1 0x00
00002fdf: DUP1
00002fe0: REVERT
00002fe1: JUMPDEST
00002fe2: POP
00002fe3: GAS
00002fe4: CALL
00002fe5: ISZERO
00002fe6: DUP1
00002fe7: ISZERO
00002fe8: PUSH2 0x2ff5
00002feb: JUMPI
00002fec: RETURNDATASIZE
00002fed: PUSH1 0x00
00002fef: DUP1
00002ff0: RETURNDATACOPY
00002ff1: RETURNDATASIZE
00002ff2: PUSH1 0x00
00002ff4: REVERT
00002ff5: JUMPDEST
00002ff6: POP
00002ff7: POP
00002ff8: POP
00002ff9: POP
00002ffa: JUMPDEST
00002ffb: DUP3
00002ffc: ISZERO
00002ffd: PUSH2 0x3099
00003000: JUMPI
00003001: PUSH1 0x40
00003003: MLOAD
00003004: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
00003025: DUP2
00003026: MSTORE
00003027: PUSH1 0x00
00003029: PUSH1 0x04
0000302b: DUP3
0000302c: ADD
0000302d: DUP2
0000302e: SWAP1
0000302f: MSTORE
00003030: PUSH1 0x24
00003032: DUP3
00003033: ADD
00003034: DUP4
00003035: SWAP1
00003036: MSTORE
00003037: PUSH1 0x01
00003039: PUSH1 0x01
0000303b: PUSH1 0xa0
0000303d: SHL
0000303e: SUB
0000303f: DUP15
00003040: DUP2
00003041: AND
00003042: PUSH1 0x44
00003044: DUP5
00003045: ADD
00003046: MSTORE
00003047: PUSH1 0x80
00003049: PUSH1 0x64
0000304b: DUP5
0000304c: ADD
0000304d: MSTORE
0000304e: PUSH1 0x84
00003050: DUP4
00003051: ADD
00003052: SWAP2
00003053: SWAP1
00003054: SWAP2
00003055: MSTORE
00003056: DUP4
00003057: AND
00003058: SWAP1
00003059: PUSH4 0x022c0d9f
0000305e: SWAP1
0000305f: PUSH1 0xa4
00003061: ADD
00003062: JUMPDEST
00003063: PUSH1 0x00
00003065: PUSH1 0x40
00003067: MLOAD
00003068: DUP1
00003069: DUP4
0000306a: SUB
0000306b: DUP2
0000306c: PUSH1 0x00
0000306e: DUP8
0000306f: DUP1
00003070: EXTCODESIZE
00003071: ISZERO
00003072: DUP1
00003073: ISZERO
00003074: PUSH2 0x307c
00003077: JUMPI
00003078: PUSH1 0x00
0000307a: DUP1
0000307b: REVERT
0000307c: JUMPDEST
0000307d: POP
0000307e: GAS
0000307f: CALL
00003080: ISZERO
00003081: DUP1
00003082: ISZERO
00003083: PUSH2 0x3090
00003086: JUMPI
00003087: RETURNDATASIZE
00003088: PUSH1 0x00
0000308a: DUP1
0000308b: RETURNDATACOPY
0000308c: RETURNDATASIZE
0000308d: PUSH1 0x00
0000308f: REVERT
00003090: JUMPDEST
00003091: POP
00003092: POP
00003093: POP
00003094: POP
00003095: PUSH2 0x312e
00003098: JUMP
00003099: JUMPDEST
0000309a: PUSH1 0x40
0000309c: MLOAD
0000309d: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
000030be: DUP2
000030bf: MSTORE
000030c0: PUSH1 0x04
000030c2: DUP2
000030c3: ADD
000030c4: DUP3
000030c5: SWAP1
000030c6: MSTORE
000030c7: PUSH1 0x00
000030c9: PUSH1 0x24
000030cb: DUP3
000030cc: ADD
000030cd: DUP2
000030ce: SWAP1
000030cf: MSTORE
000030d0: PUSH1 0x01
000030d2: PUSH1 0x01
000030d4: PUSH1 0xa0
000030d6: SHL
000030d7: SUB
000030d8: DUP15
000030d9: DUP2
000030da: AND
000030db: PUSH1 0x44
000030dd: DUP5
000030de: ADD
000030df: MSTORE
000030e0: PUSH1 0x80
000030e2: PUSH1 0x64
000030e4: DUP5
000030e5: ADD
000030e6: MSTORE
000030e7: PUSH1 0x84
000030e9: DUP4
000030ea: ADD
000030eb: SWAP2
000030ec: SWAP1
000030ed: SWAP2
000030ee: MSTORE
000030ef: DUP4
000030f0: AND
000030f1: SWAP1
000030f2: PUSH4 0x022c0d9f
000030f7: SWAP1
000030f8: PUSH1 0xa4
000030fa: ADD
000030fb: JUMPDEST
000030fc: PUSH1 0x00
000030fe: PUSH1 0x40
00003100: MLOAD
00003101: DUP1
00003102: DUP4
00003103: SUB
00003104: DUP2
00003105: PUSH1 0x00
00003107: DUP8
00003108: DUP1
00003109: EXTCODESIZE
0000310a: ISZERO
0000310b: DUP1
0000310c: ISZERO
0000310d: PUSH2 0x3115
00003110: JUMPI
00003111: PUSH1 0x00
00003113: DUP1
00003114: REVERT
00003115: JUMPDEST
00003116: POP
00003117: GAS
00003118: CALL
00003119: ISZERO
0000311a: DUP1
0000311b: ISZERO
0000311c: PUSH2 0x3129
0000311f: JUMPI
00003120: RETURNDATASIZE
00003121: PUSH1 0x00
00003123: DUP1
00003124: RETURNDATACOPY
00003125: RETURNDATASIZE
00003126: PUSH1 0x00
00003128: REVERT
00003129: JUMPDEST
0000312a: POP
0000312b: POP
0000312c: POP
0000312d: POP
0000312e: JUMPDEST
0000312f: POP
00003130: PUSH2 0x216b
00003133: JUMP
00003134: JUMPDEST
00003135: PUSH1 0x00
00003137: PUSH2 0x3141
0000313a: DUP3
0000313b: DUP7
0000313c: DUP6
0000313d: PUSH2 0x437e
00003140: JUMP
00003141: JUMPDEST
00003142: SWAP1
00003143: POP
00003144: DUP6
00003145: DUP2
00003146: GT
00003147: ISZERO
00003148: PUSH2 0x3150
0000314b: JUMPI
0000314c: PUSH1 0x00
0000314e: DUP1
0000314f: REVERT
00003150: JUMPDEST
00003151: PUSH1 0x40
00003153: MLOAD
00003154: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00003175: DUP2
00003176: MSTORE
00003177: PUSH1 0x01
00003179: PUSH1 0x01
0000317b: PUSH1 0xa0
0000317d: SHL
0000317e: SUB
0000317f: DUP4
00003180: DUP2
00003181: AND
00003182: PUSH1 0x04
00003184: DUP4
00003185: ADD
00003186: MSTORE
00003187: PUSH1 0x24
00003189: DUP3
0000318a: ADD
0000318b: DUP4
0000318c: SWAP1
0000318d: MSTORE
0000318e: DUP10
0000318f: AND
00003190: SWAP1
00003191: PUSH4 0xa9059cbb
00003196: SWAP1
00003197: PUSH1 0x44
00003199: ADD
0000319a: PUSH1 0x00
0000319c: PUSH1 0x40
0000319e: MLOAD
0000319f: DUP1
000031a0: DUP4
000031a1: SUB
000031a2: DUP2
000031a3: PUSH1 0x00
000031a5: DUP8
000031a6: DUP1
000031a7: EXTCODESIZE
000031a8: ISZERO
000031a9: DUP1
000031aa: ISZERO
000031ab: PUSH2 0x31b3
000031ae: JUMPI
000031af: PUSH1 0x00
000031b1: DUP1
000031b2: REVERT
000031b3: JUMPDEST
000031b4: POP
000031b5: GAS
000031b6: CALL
000031b7: ISZERO
000031b8: DUP1
000031b9: ISZERO
000031ba: PUSH2 0x31c7
000031bd: JUMPI
000031be: RETURNDATASIZE
000031bf: PUSH1 0x00
000031c1: DUP1
000031c2: RETURNDATACOPY
000031c3: RETURNDATASIZE
000031c4: PUSH1 0x00
000031c6: REVERT
000031c7: JUMPDEST
000031c8: POP
000031c9: POP
000031ca: POP
000031cb: POP
000031cc: DUP3
000031cd: ISZERO
000031ce: PUSH2 0x3237
000031d1: JUMPI
000031d2: PUSH1 0x40
000031d4: MLOAD
000031d5: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
000031f6: DUP2
000031f7: MSTORE
000031f8: PUSH1 0x00
000031fa: PUSH1 0x04
000031fc: DUP3
000031fd: ADD
000031fe: DUP2
000031ff: SWAP1
00003200: MSTORE
00003201: PUSH1 0x24
00003203: DUP3
00003204: ADD
00003205: DUP8
00003206: SWAP1
00003207: MSTORE
00003208: PUSH1 0x01
0000320a: PUSH1 0x01
0000320c: PUSH1 0xa0
0000320e: SHL
0000320f: SUB
00003210: DUP15
00003211: DUP2
00003212: AND
00003213: PUSH1 0x44
00003215: DUP5
00003216: ADD
00003217: MSTORE
00003218: PUSH1 0x80
0000321a: PUSH1 0x64
0000321c: DUP5
0000321d: ADD
0000321e: MSTORE
0000321f: PUSH1 0x84
00003221: DUP4
00003222: ADD
00003223: SWAP2
00003224: SWAP1
00003225: SWAP2
00003226: MSTORE
00003227: DUP4
00003228: AND
00003229: SWAP1
0000322a: PUSH4 0x022c0d9f
0000322f: SWAP1
00003230: PUSH1 0xa4
00003232: ADD
00003233: PUSH2 0x3062
00003236: JUMP
00003237: JUMPDEST
00003238: PUSH1 0x40
0000323a: MLOAD
0000323b: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
0000325c: DUP2
0000325d: MSTORE
0000325e: PUSH1 0x04
00003260: DUP2
00003261: ADD
00003262: DUP7
00003263: SWAP1
00003264: MSTORE
00003265: PUSH1 0x00
00003267: PUSH1 0x24
00003269: DUP3
0000326a: ADD
0000326b: DUP2
0000326c: SWAP1
0000326d: MSTORE
0000326e: PUSH1 0x01
00003270: PUSH1 0x01
00003272: PUSH1 0xa0
00003274: SHL
00003275: SUB
00003276: DUP15
00003277: DUP2
00003278: AND
00003279: PUSH1 0x44
0000327b: DUP5
0000327c: ADD
0000327d: MSTORE
0000327e: PUSH1 0x80
00003280: PUSH1 0x64
00003282: DUP5
00003283: ADD
00003284: MSTORE
00003285: PUSH1 0x84
00003287: DUP4
00003288: ADD
00003289: SWAP2
0000328a: SWAP1
0000328b: SWAP2
0000328c: MSTORE
0000328d: DUP4
0000328e: AND
0000328f: SWAP1
00003290: PUSH4 0x022c0d9f
00003295: SWAP1
00003296: PUSH1 0xa4
00003298: ADD
00003299: PUSH2 0x30fb
0000329c: JUMP
0000329d: JUMPDEST
0000329e: PUSH1 0x40
000032a0: MLOAD
000032a1: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000032c2: DUP2
000032c3: MSTORE
000032c4: PUSH1 0x01
000032c6: PUSH1 0x01
000032c8: PUSH1 0xa0
000032ca: SHL
000032cb: SUB
000032cc: DUP3
000032cd: DUP2
000032ce: AND
000032cf: PUSH1 0x04
000032d1: DUP4
000032d2: ADD
000032d3: MSTORE
000032d4: PUSH1 0x24
000032d6: DUP3
000032d7: ADD
000032d8: DUP8
000032d9: SWAP1
000032da: MSTORE
000032db: DUP9
000032dc: AND
000032dd: SWAP1
000032de: PUSH4 0xa9059cbb
000032e3: SWAP1
000032e4: PUSH1 0x44
000032e6: ADD
000032e7: PUSH1 0x00
000032e9: PUSH1 0x40
000032eb: MLOAD
000032ec: DUP1
000032ed: DUP4
000032ee: SUB
000032ef: DUP2
000032f0: PUSH1 0x00
000032f2: DUP8
000032f3: DUP1
000032f4: EXTCODESIZE
000032f5: ISZERO
000032f6: DUP1
000032f7: ISZERO
000032f8: PUSH2 0x3300
000032fb: JUMPI
000032fc: PUSH1 0x00
000032fe: DUP1
000032ff: REVERT
00003300: JUMPDEST
00003301: POP
00003302: GAS
00003303: CALL
00003304: ISZERO
00003305: DUP1
00003306: ISZERO
00003307: PUSH2 0x3314
0000330a: JUMPI
0000330b: RETURNDATASIZE
0000330c: PUSH1 0x00
0000330e: DUP1
0000330f: RETURNDATACOPY
00003310: RETURNDATASIZE
00003311: PUSH1 0x00
00003313: REVERT
00003314: JUMPDEST
00003315: POP
00003316: POP
00003317: POP
00003318: POP
00003319: DUP2
0000331a: ISZERO
0000331b: PUSH2 0x33b6
0000331e: JUMPI
0000331f: PUSH1 0x40
00003321: MLOAD
00003322: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
00003343: DUP2
00003344: MSTORE
00003345: PUSH1 0x00
00003347: PUSH1 0x04
00003349: DUP3
0000334a: ADD
0000334b: DUP2
0000334c: SWAP1
0000334d: MSTORE
0000334e: PUSH1 0x24
00003350: DUP3
00003351: ADD
00003352: DUP7
00003353: SWAP1
00003354: MSTORE
00003355: PUSH1 0x01
00003357: PUSH1 0x01
00003359: PUSH1 0xa0
0000335b: SHL
0000335c: SUB
0000335d: DUP14
0000335e: DUP2
0000335f: AND
00003360: PUSH1 0x44
00003362: DUP5
00003363: ADD
00003364: MSTORE
00003365: PUSH1 0x80
00003367: PUSH1 0x64
00003369: DUP5
0000336a: ADD
0000336b: MSTORE
0000336c: PUSH1 0x84
0000336e: DUP4
0000336f: ADD
00003370: SWAP2
00003371: SWAP1
00003372: SWAP2
00003373: MSTORE
00003374: DUP3
00003375: AND
00003376: SWAP1
00003377: PUSH4 0x022c0d9f
0000337c: SWAP1
0000337d: PUSH1 0xa4
0000337f: ADD
00003380: PUSH1 0x00
00003382: PUSH1 0x40
00003384: MLOAD
00003385: DUP1
00003386: DUP4
00003387: SUB
00003388: DUP2
00003389: PUSH1 0x00
0000338b: DUP8
0000338c: DUP1
0000338d: EXTCODESIZE
0000338e: ISZERO
0000338f: DUP1
00003390: ISZERO
00003391: PUSH2 0x3399
00003394: JUMPI
00003395: PUSH1 0x00
00003397: DUP1
00003398: REVERT
00003399: JUMPDEST
0000339a: POP
0000339b: GAS
0000339c: CALL
0000339d: ISZERO
0000339e: DUP1
0000339f: ISZERO
000033a0: PUSH2 0x33ad
000033a3: JUMPI
000033a4: RETURNDATASIZE
000033a5: PUSH1 0x00
000033a7: DUP1
000033a8: RETURNDATACOPY
000033a9: RETURNDATASIZE
000033aa: PUSH1 0x00
000033ac: REVERT
000033ad: JUMPDEST
000033ae: POP
000033af: POP
000033b0: POP
000033b1: POP
000033b2: PUSH2 0x216b
000033b5: JUMP
000033b6: JUMPDEST
000033b7: PUSH1 0x40
000033b9: MLOAD
000033ba: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000
000033db: DUP2
000033dc: MSTORE
000033dd: PUSH1 0x04
000033df: DUP2
000033e0: ADD
000033e1: DUP6
000033e2: SWAP1
000033e3: MSTORE
000033e4: PUSH1 0x00
000033e6: PUSH1 0x24
000033e8: DUP3
000033e9: ADD
000033ea: DUP2
000033eb: SWAP1
000033ec: MSTORE
000033ed: PUSH1 0x01
000033ef: PUSH1 0x01
000033f1: PUSH1 0xa0
000033f3: SHL
000033f4: SUB
000033f5: DUP14
000033f6: DUP2
000033f7: AND
000033f8: PUSH1 0x44
000033fa: DUP5
000033fb: ADD
000033fc: MSTORE
000033fd: PUSH1 0x80
000033ff: PUSH1 0x64
00003401: DUP5
00003402: ADD
00003403: MSTORE
00003404: PUSH1 0x84
00003406: DUP4
00003407: ADD
00003408: SWAP2
00003409: SWAP1
0000340a: SWAP2
0000340b: MSTORE
0000340c: DUP3
0000340d: AND
0000340e: SWAP1
0000340f: PUSH4 0x022c0d9f
00003414: SWAP1
00003415: PUSH1 0xa4
00003417: ADD
00003418: PUSH1 0x00
0000341a: PUSH1 0x40
0000341c: MLOAD
0000341d: DUP1
0000341e: DUP4
0000341f: SUB
00003420: DUP2
00003421: PUSH1 0x00
00003423: DUP8
00003424: DUP1
00003425: EXTCODESIZE
00003426: ISZERO
00003427: DUP1
00003428: ISZERO
00003429: PUSH2 0x3431
0000342c: JUMPI
0000342d: PUSH1 0x00
0000342f: DUP1
00003430: REVERT
00003431: JUMPDEST
00003432: POP
00003433: GAS
00003434: CALL
00003435: ISZERO
00003436: DUP1
00003437: ISZERO
00003438: PUSH2 0x3445
0000343b: JUMPI
0000343c: RETURNDATASIZE
0000343d: PUSH1 0x00
0000343f: DUP1
00003440: RETURNDATACOPY
00003441: RETURNDATASIZE
00003442: PUSH1 0x00
00003444: REVERT
00003445: JUMPDEST
00003446: POP
00003447: POP
00003448: POP
00003449: POP
0000344a: POP
0000344b: POP
0000344c: POP
0000344d: POP
0000344e: POP
0000344f: POP
00003450: POP
00003451: POP
00003452: POP
00003453: POP
00003454: POP
00003455: JUMP
00003456: JUMPDEST
00003457: PUSH1 0x40
00003459: MLOAD
0000345a: PUSH32 0x4903b0d100000000000000000000000000000000000000000000000000000000
0000347b: DUP2
0000347c: MSTORE
0000347d: PUSH1 0x00
0000347f: PUSH1 0x04
00003481: DUP1
00003482: DUP4
00003483: ADD
00003484: SWAP2
00003485: SWAP1
00003486: SWAP2
00003487: MSTORE
00003488: CALLDATALOAD
00003489: PUSH1 0x60
0000348b: SHR
0000348c: SWAP1
0000348d: PUSH1 0x18
0000348f: CALLDATALOAD
00003490: SWAP1
00003491: PUSH1 0x38
00003493: SWAP1
00003494: PUSH1 0x84
00003496: SWAP1
00003497: DUP5
00003498: SWAP1
00003499: PUSH4 0x4903b0d1
0000349e: SWAP1
0000349f: PUSH1 0x24
000034a1: ADD
000034a2: PUSH1 0x20
000034a4: PUSH1 0x40
000034a6: MLOAD
000034a7: DUP1
000034a8: DUP4
000034a9: SUB
000034aa: DUP2
000034ab: DUP7
000034ac: GAS
000034ad: STATICCALL
000034ae: ISZERO
000034af: DUP1
000034b0: ISZERO
000034b1: PUSH2 0x34be
000034b4: JUMPI
000034b5: RETURNDATASIZE
000034b6: PUSH1 0x00
000034b8: DUP1
000034b9: RETURNDATACOPY
000034ba: RETURNDATASIZE
000034bb: PUSH1 0x00
000034bd: REVERT
000034be: JUMPDEST
000034bf: POP
000034c0: POP
000034c1: POP
000034c2: POP
000034c3: PUSH1 0x40
000034c5: MLOAD
000034c6: RETURNDATASIZE
000034c7: PUSH1 0x1f
000034c9: NOT
000034ca: PUSH1 0x1f
000034cc: DUP3
000034cd: ADD
000034ce: AND
000034cf: DUP3
000034d0: ADD
000034d1: DUP1
000034d2: PUSH1 0x40
000034d4: MSTORE
000034d5: POP
000034d6: DUP2
000034d7: ADD
000034d8: SWAP1
000034d9: PUSH2 0x34e2
000034dc: SWAP2
000034dd: SWAP1
000034de: PUSH2 0x49b3
000034e1: JUMP
000034e2: JUMPDEST
000034e3: DUP4
000034e4: EQ
000034e5: PUSH2 0x34ed
000034e8: JUMPI
000034e9: PUSH1 0x00
000034eb: DUP1
000034ec: REVERT
000034ed: JUMPDEST
000034ee: PUSH1 0x00
000034f0: DUP5
000034f1: PUSH1 0x01
000034f3: PUSH1 0x01
000034f5: PUSH1 0xa0
000034f7: SHL
000034f8: SUB
000034f9: AND
000034fa: DUP4
000034fb: DUP4
000034fc: PUSH1 0x40
000034fe: MLOAD
000034ff: PUSH2 0x3509
00003502: SWAP3
00003503: SWAP2
00003504: SWAP1
00003505: PUSH2 0x49df
00003508: JUMP
00003509: JUMPDEST
0000350a: PUSH1 0x00
0000350c: PUSH1 0x40
0000350e: MLOAD
0000350f: DUP1
00003510: DUP4
00003511: SUB
00003512: DUP2
00003513: PUSH1 0x00
00003515: DUP7
00003516: GAS
00003517: CALL
00003518: SWAP2
00003519: POP
0000351a: POP
0000351b: RETURNDATASIZE
0000351c: DUP1
0000351d: PUSH1 0x00
0000351f: DUP2
00003520: EQ
00003521: PUSH2 0x3546
00003524: JUMPI
00003525: PUSH1 0x40
00003527: MLOAD
00003528: SWAP2
00003529: POP
0000352a: PUSH1 0x1f
0000352c: NOT
0000352d: PUSH1 0x3f
0000352f: RETURNDATASIZE
00003530: ADD
00003531: AND
00003532: DUP3
00003533: ADD
00003534: PUSH1 0x40
00003536: MSTORE
00003537: RETURNDATASIZE
00003538: DUP3
00003539: MSTORE
0000353a: RETURNDATASIZE
0000353b: PUSH1 0x00
0000353d: PUSH1 0x20
0000353f: DUP5
00003540: ADD
00003541: RETURNDATACOPY
00003542: PUSH2 0x354b
00003545: JUMP
00003546: JUMPDEST
00003547: PUSH1 0x60
00003549: SWAP2
0000354a: POP
0000354b: JUMPDEST
0000354c: POP
0000354d: POP
0000354e: SWAP1
0000354f: POP
00003550: DUP1
00003551: PUSH2 0x0526
00003554: JUMPI
00003555: PUSH1 0x00
00003557: DUP1
00003558: REVERT
00003559: JUMPDEST
0000355a: PUSH1 0x00
0000355c: PUSH1 0x04
0000355e: CALLDATALOAD
0000355f: SWAP1
00003560: POP
00003561: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003576: PUSH1 0x01
00003578: PUSH1 0x01
0000357a: PUSH1 0xa0
0000357c: SHL
0000357d: SUB
0000357e: AND
0000357f: PUSH4 0xd0e30db0
00003584: DUP3
00003585: PUSH1 0x40
00003587: MLOAD
00003588: DUP3
00003589: PUSH4 0xffffffff
0000358e: AND
0000358f: PUSH1 0xe0
00003591: SHL
00003592: DUP2
00003593: MSTORE
00003594: PUSH1 0x04
00003596: ADD
00003597: PUSH1 0x00
00003599: PUSH1 0x40
0000359b: MLOAD
0000359c: DUP1
0000359d: DUP4
0000359e: SUB
0000359f: DUP2
000035a0: DUP6
000035a1: DUP9
000035a2: DUP1
000035a3: EXTCODESIZE
000035a4: ISZERO
000035a5: DUP1
000035a6: ISZERO
000035a7: PUSH2 0x35af
000035aa: JUMPI
000035ab: PUSH1 0x00
000035ad: DUP1
000035ae: REVERT
000035af: JUMPDEST
000035b0: POP
000035b1: GAS
000035b2: CALL
000035b3: ISZERO
000035b4: DUP1
000035b5: ISZERO
000035b6: PUSH2 0x2996
000035b9: JUMPI
000035ba: RETURNDATASIZE
000035bb: PUSH1 0x00
000035bd: DUP1
000035be: RETURNDATACOPY
000035bf: RETURNDATASIZE
000035c0: PUSH1 0x00
000035c2: REVERT
000035c3: JUMPDEST
000035c4: PUSH1 0x40
000035c6: MLOAD
000035c7: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
000035e8: DUP2
000035e9: MSTORE
000035ea: PUSH1 0x04
000035ec: DUP1
000035ed: CALLDATALOAD
000035ee: SWAP1
000035ef: DUP3
000035f0: ADD
000035f1: DUP2
000035f2: SWAP1
000035f3: MSTORE
000035f4: SWAP1
000035f5: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000360a: SWAP1
0000360b: PUSH4 0x2e1a7d4d
00003610: SWAP1
00003611: PUSH1 0x24
00003613: ADD
00003614: PUSH1 0x00
00003616: PUSH1 0x40
00003618: MLOAD
00003619: DUP1
0000361a: DUP4
0000361b: SUB
0000361c: DUP2
0000361d: PUSH1 0x00
0000361f: DUP8
00003620: DUP1
00003621: EXTCODESIZE
00003622: ISZERO
00003623: DUP1
00003624: ISZERO
00003625: PUSH2 0x362d
00003628: JUMPI
00003629: PUSH1 0x00
0000362b: DUP1
0000362c: REVERT
0000362d: JUMPDEST
0000362e: POP
0000362f: GAS
00003630: CALL
00003631: ISZERO
00003632: DUP1
00003633: ISZERO
00003634: PUSH2 0x0526
00003637: JUMPI
00003638: RETURNDATASIZE
00003639: PUSH1 0x00
0000363b: DUP1
0000363c: RETURNDATACOPY
0000363d: RETURNDATASIZE
0000363e: PUSH1 0x00
00003640: REVERT
00003641: JUMPDEST
00003642: PUSH1 0x00
00003644: DUP1
00003645: PUSH2 0x3651
00003648: CALLDATASIZE
00003649: PUSH1 0x04
0000364b: DUP2
0000364c: DUP5
0000364d: PUSH2 0x49ef
00003650: JUMP
00003651: JUMPDEST
00003652: DUP2
00003653: ADD
00003654: SWAP1
00003655: PUSH2 0x365e
00003658: SWAP2
00003659: SWAP1
0000365a: PUSH2 0x4ae9
0000365d: JUMP
0000365e: JUMPDEST
0000365f: SWAP2
00003660: POP
00003661: SWAP2
00003662: POP
00003663: PUSH1 0x00
00003665: DUP3
00003666: PUSH1 0x01
00003668: PUSH1 0x01
0000366a: PUSH1 0xa0
0000366c: SHL
0000366d: SUB
0000366e: AND
0000366f: DUP3
00003670: PUSH1 0x40
00003672: MLOAD
00003673: PUSH2 0x367c
00003676: SWAP2
00003677: SWAP1
00003678: PUSH2 0x4b39
0000367b: JUMP
0000367c: JUMPDEST
0000367d: PUSH1 0x00
0000367f: PUSH1 0x40
00003681: MLOAD
00003682: DUP1
00003683: DUP4
00003684: SUB
00003685: DUP2
00003686: DUP6
00003687: GAS
00003688: DELEGATECALL
00003689: SWAP2
0000368a: POP
0000368b: POP
0000368c: RETURNDATASIZE
0000368d: DUP1
0000368e: PUSH1 0x00
00003690: DUP2
00003691: EQ
00003692: PUSH2 0x36b7
00003695: JUMPI
00003696: PUSH1 0x40
00003698: MLOAD
00003699: SWAP2
0000369a: POP
0000369b: PUSH1 0x1f
0000369d: NOT
0000369e: PUSH1 0x3f
000036a0: RETURNDATASIZE
000036a1: ADD
000036a2: AND
000036a3: DUP3
000036a4: ADD
000036a5: PUSH1 0x40
000036a7: MSTORE
000036a8: RETURNDATASIZE
000036a9: DUP3
000036aa: MSTORE
000036ab: RETURNDATASIZE
000036ac: PUSH1 0x00
000036ae: PUSH1 0x20
000036b0: DUP5
000036b1: ADD
000036b2: RETURNDATACOPY
000036b3: PUSH2 0x36bc
000036b6: JUMP
000036b7: JUMPDEST
000036b8: PUSH1 0x60
000036ba: SWAP2
000036bb: POP
000036bc: JUMPDEST
000036bd: POP
000036be: POP
000036bf: SWAP1
000036c0: POP
000036c1: DUP1
000036c2: PUSH2 0x0f52
000036c5: JUMPI
000036c6: PUSH1 0x00
000036c8: DUP1
000036c9: REVERT
000036ca: JUMPDEST
000036cb: PUSH1 0x00
000036cd: DUP1
000036ce: PUSH2 0x36da
000036d1: CALLDATASIZE
000036d2: PUSH1 0x04
000036d4: DUP2
000036d5: DUP5
000036d6: PUSH2 0x49ef
000036d9: JUMP
000036da: JUMPDEST
000036db: DUP2
000036dc: ADD
000036dd: SWAP1
000036de: PUSH2 0x36e7
000036e1: SWAP2
000036e2: SWAP1
000036e3: PUSH2 0x4c6d
000036e6: JUMP
000036e7: JUMPDEST
000036e8: SWAP2
000036e9: POP
000036ea: SWAP2
000036eb: POP
000036ec: PUSH1 0x00
000036ee: JUMPDEST
000036ef: DUP3
000036f0: MLOAD
000036f1: DUP2
000036f2: LT
000036f3: ISZERO
000036f4: PUSH2 0x0f52
000036f7: JUMPI
000036f8: PUSH1 0x00
000036fa: DUP4
000036fb: DUP3
000036fc: DUP2
000036fd: MLOAD
000036fe: DUP2
000036ff: LT
00003700: PUSH2 0x370b
00003703: JUMPI
00003704: PUSH2 0x370b
00003707: PUSH2 0x4cc7
0000370a: JUMP
0000370b: JUMPDEST
0000370c: PUSH1 0x20
0000370e: MUL
0000370f: PUSH1 0x20
00003711: ADD
00003712: ADD
00003713: MLOAD
00003714: PUSH1 0x01
00003716: PUSH1 0x01
00003718: PUSH1 0xa0
0000371a: SHL
0000371b: SUB
0000371c: AND
0000371d: DUP4
0000371e: DUP4
0000371f: DUP2
00003720: MLOAD
00003721: DUP2
00003722: LT
00003723: PUSH2 0x372e
00003726: JUMPI
00003727: PUSH2 0x372e
0000372a: PUSH2 0x4cc7
0000372d: JUMP
0000372e: JUMPDEST
0000372f: PUSH1 0x20
00003731: MUL
00003732: PUSH1 0x20
00003734: ADD
00003735: ADD
00003736: MLOAD
00003737: PUSH1 0x40
00003739: MLOAD
0000373a: PUSH2 0x3743
0000373d: SWAP2
0000373e: SWAP1
0000373f: PUSH2 0x4b39
00003742: JUMP
00003743: JUMPDEST
00003744: PUSH1 0x00
00003746: PUSH1 0x40
00003748: MLOAD
00003749: DUP1
0000374a: DUP4
0000374b: SUB
0000374c: DUP2
0000374d: PUSH1 0x00
0000374f: DUP7
00003750: GAS
00003751: CALL
00003752: SWAP2
00003753: POP
00003754: POP
00003755: RETURNDATASIZE
00003756: DUP1
00003757: PUSH1 0x00
00003759: DUP2
0000375a: EQ
0000375b: PUSH2 0x3780
0000375e: JUMPI
0000375f: PUSH1 0x40
00003761: MLOAD
00003762: SWAP2
00003763: POP
00003764: PUSH1 0x1f
00003766: NOT
00003767: PUSH1 0x3f
00003769: RETURNDATASIZE
0000376a: ADD
0000376b: AND
0000376c: DUP3
0000376d: ADD
0000376e: PUSH1 0x40
00003770: MSTORE
00003771: RETURNDATASIZE
00003772: DUP3
00003773: MSTORE
00003774: RETURNDATASIZE
00003775: PUSH1 0x00
00003777: PUSH1 0x20
00003779: DUP5
0000377a: ADD
0000377b: RETURNDATACOPY
0000377c: PUSH2 0x3785
0000377f: JUMP
00003780: JUMPDEST
00003781: PUSH1 0x60
00003783: SWAP2
00003784: POP
00003785: JUMPDEST
00003786: POP
00003787: POP
00003788: SWAP1
00003789: POP
0000378a: DUP1
0000378b: PUSH2 0x37d6
0000378e: JUMPI
0000378f: PUSH1 0x40
00003791: MLOAD
00003792: PUSH3 0x461bcd
00003796: PUSH1 0xe5
00003798: SHL
00003799: DUP2
0000379a: MSTORE
0000379b: PUSH1 0x20
0000379d: PUSH1 0x04
0000379f: DUP3
000037a0: ADD
000037a1: MSTORE
000037a2: PUSH1 0x0b
000037a4: PUSH1 0x24
000037a6: DUP3
000037a7: ADD
000037a8: MSTORE
000037a9: PUSH32 0x63616c6c206661696c6564000000000000000000000000000000000000000000
000037ca: PUSH1 0x44
000037cc: DUP3
000037cd: ADD
000037ce: MSTORE
000037cf: PUSH1 0x64
000037d1: ADD
000037d2: PUSH2 0x01cc
000037d5: JUMP
000037d6: JUMPDEST
000037d7: POP
000037d8: PUSH1 0x01
000037da: ADD
000037db: PUSH2 0x36ee
000037de: JUMP
000037df: JUMPDEST
000037e0: PUSH1 0x00
000037e2: DUP1
000037e3: DUP1
000037e4: PUSH2 0x37f0
000037e7: CALLDATASIZE
000037e8: PUSH1 0x04
000037ea: DUP2
000037eb: DUP5
000037ec: PUSH2 0x49ef
000037ef: JUMP
000037f0: JUMPDEST
000037f1: DUP2
000037f2: ADD
000037f3: SWAP1
000037f4: PUSH2 0x37fd
000037f7: SWAP2
000037f8: SWAP1
000037f9: PUSH2 0x4cf6
000037fc: JUMP
000037fd: JUMPDEST
000037fe: SWAP3
000037ff: POP
00003800: SWAP3
00003801: POP
00003802: SWAP3
00003803: POP
00003804: PUSH1 0x00
00003806: JUMPDEST
00003807: DUP4
00003808: MLOAD
00003809: DUP2
0000380a: LT
0000380b: ISZERO
0000380c: PUSH2 0x38f7
0000380f: JUMPI
00003810: PUSH1 0x00
00003812: DUP5
00003813: DUP3
00003814: DUP2
00003815: MLOAD
00003816: DUP2
00003817: LT
00003818: PUSH2 0x3823
0000381b: JUMPI
0000381c: PUSH2 0x3823
0000381f: PUSH2 0x4cc7
00003822: JUMP
00003823: JUMPDEST
00003824: PUSH1 0x20
00003826: MUL
00003827: PUSH1 0x20
00003829: ADD
0000382a: ADD
0000382b: MLOAD
0000382c: PUSH1 0x01
0000382e: PUSH1 0x01
00003830: PUSH1 0xa0
00003832: SHL
00003833: SUB
00003834: AND
00003835: DUP5
00003836: DUP4
00003837: DUP2
00003838: MLOAD
00003839: DUP2
0000383a: LT
0000383b: PUSH2 0x3846
0000383e: JUMPI
0000383f: PUSH2 0x3846
00003842: PUSH2 0x4cc7
00003845: JUMP
00003846: JUMPDEST
00003847: PUSH1 0x20
00003849: MUL
0000384a: PUSH1 0x20
0000384c: ADD
0000384d: ADD
0000384e: MLOAD
0000384f: PUSH1 0x40
00003851: MLOAD
00003852: PUSH2 0x385b
00003855: SWAP2
00003856: SWAP1
00003857: PUSH2 0x4b39
0000385a: JUMP
0000385b: JUMPDEST
0000385c: PUSH1 0x00
0000385e: PUSH1 0x40
00003860: MLOAD
00003861: DUP1
00003862: DUP4
00003863: SUB
00003864: DUP2
00003865: PUSH1 0x00
00003867: DUP7
00003868: GAS
00003869: CALL
0000386a: SWAP2
0000386b: POP
0000386c: POP
0000386d: RETURNDATASIZE
0000386e: DUP1
0000386f: PUSH1 0x00
00003871: DUP2
00003872: EQ
00003873: PUSH2 0x3898
00003876: JUMPI
00003877: PUSH1 0x40
00003879: MLOAD
0000387a: SWAP2
0000387b: POP
0000387c: PUSH1 0x1f
0000387e: NOT
0000387f: PUSH1 0x3f
00003881: RETURNDATASIZE
00003882: ADD
00003883: AND
00003884: DUP3
00003885: ADD
00003886: PUSH1 0x40
00003888: MSTORE
00003889: RETURNDATASIZE
0000388a: DUP3
0000388b: MSTORE
0000388c: RETURNDATASIZE
0000388d: PUSH1 0x00
0000388f: PUSH1 0x20
00003891: DUP5
00003892: ADD
00003893: RETURNDATACOPY
00003894: PUSH2 0x389d
00003897: JUMP
00003898: JUMPDEST
00003899: PUSH1 0x60
0000389b: SWAP2
0000389c: POP
0000389d: JUMPDEST
0000389e: POP
0000389f: POP
000038a0: SWAP1
000038a1: POP
000038a2: DUP1
000038a3: PUSH2 0x38ee
000038a6: JUMPI
000038a7: PUSH1 0x40
000038a9: MLOAD
000038aa: PUSH3 0x461bcd
000038ae: PUSH1 0xe5
000038b0: SHL
000038b1: DUP2
000038b2: MSTORE
000038b3: PUSH1 0x20
000038b5: PUSH1 0x04
000038b7: DUP3
000038b8: ADD
000038b9: MSTORE
000038ba: PUSH1 0x0b
000038bc: PUSH1 0x24
000038be: DUP3
000038bf: ADD
000038c0: MSTORE
000038c1: PUSH32 0x63616c6c206661696c6564000000000000000000000000000000000000000000
000038e2: PUSH1 0x44
000038e4: DUP3
000038e5: ADD
000038e6: MSTORE
000038e7: PUSH1 0x64
000038e9: ADD
000038ea: PUSH2 0x01cc
000038ed: JUMP
000038ee: JUMPDEST
000038ef: POP
000038f0: PUSH1 0x01
000038f2: ADD
000038f3: PUSH2 0x3806
000038f6: JUMP
000038f7: JUMPDEST
000038f8: POP
000038f9: PUSH1 0x40
000038fb: MLOAD
000038fc: COINBASE
000038fd: SWAP1
000038fe: DUP3
000038ff: ISZERO
00003900: PUSH2 0x08fc
00003903: MUL
00003904: SWAP1
00003905: DUP4
00003906: SWAP1
00003907: PUSH1 0x00
00003909: DUP2
0000390a: DUP2
0000390b: DUP2
0000390c: DUP6
0000390d: DUP9
0000390e: DUP9
0000390f: CALL
00003910: SWAP4
00003911: POP
00003912: POP
00003913: POP
00003914: POP
00003915: ISZERO
00003916: DUP1
00003917: ISZERO
00003918: PUSH2 0x3925
0000391b: JUMPI
0000391c: RETURNDATASIZE
0000391d: PUSH1 0x00
0000391f: DUP1
00003920: RETURNDATACOPY
00003921: RETURNDATASIZE
00003922: PUSH1 0x00
00003924: REVERT
00003925: JUMPDEST
00003926: POP
00003927: POP
00003928: POP
00003929: POP
0000392a: JUMP
0000392b: JUMPDEST
0000392c: PUSH1 0x00
0000392e: DUP1
0000392f: DUP1
00003930: PUSH2 0x393c
00003933: CALLDATASIZE
00003934: PUSH1 0x04
00003936: DUP2
00003937: DUP5
00003938: PUSH2 0x49ef
0000393b: JUMP
0000393c: JUMPDEST
0000393d: DUP2
0000393e: ADD
0000393f: SWAP1
00003940: PUSH2 0x3949
00003943: SWAP2
00003944: SWAP1
00003945: PUSH2 0x4dbe
00003948: JUMP
00003949: JUMPDEST
0000394a: SWAP2
0000394b: SWAP5
0000394c: POP
0000394d: SWAP3
0000394e: POP
0000394f: SWAP1
00003950: POP
00003951: DUP3
00003952: ISZERO
00003953: PUSH2 0x39d5
00003956: JUMPI
00003957: PUSH1 0x40
00003959: MLOAD
0000395a: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
0000397b: DUP2
0000397c: MSTORE
0000397d: PUSH1 0x04
0000397f: DUP2
00003980: ADD
00003981: DUP5
00003982: SWAP1
00003983: MSTORE
00003984: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003999: SWAP1
0000399a: PUSH4 0x2e1a7d4d
0000399f: SWAP1
000039a0: PUSH1 0x24
000039a2: ADD
000039a3: PUSH1 0x00
000039a5: PUSH1 0x40
000039a7: MLOAD
000039a8: DUP1
000039a9: DUP4
000039aa: SUB
000039ab: DUP2
000039ac: PUSH1 0x00
000039ae: DUP8
000039af: DUP1
000039b0: EXTCODESIZE
000039b1: ISZERO
000039b2: DUP1
000039b3: ISZERO
000039b4: PUSH2 0x39bc
000039b7: JUMPI
000039b8: PUSH1 0x00
000039ba: DUP1
000039bb: REVERT
000039bc: JUMPDEST
000039bd: POP
000039be: GAS
000039bf: CALL
000039c0: ISZERO
000039c1: DUP1
000039c2: ISZERO
000039c3: PUSH2 0x39d0
000039c6: JUMPI
000039c7: RETURNDATASIZE
000039c8: PUSH1 0x00
000039ca: DUP1
000039cb: RETURNDATACOPY
000039cc: RETURNDATASIZE
000039cd: PUSH1 0x00
000039cf: REVERT
000039d0: JUMPDEST
000039d1: POP
000039d2: POP
000039d3: POP
000039d4: POP
000039d5: JUMPDEST
000039d6: PUSH1 0x00
000039d8: JUMPDEST
000039d9: DUP3
000039da: MLOAD
000039db: DUP2
000039dc: LT
000039dd: ISZERO
000039de: PUSH2 0x3925
000039e1: JUMPI
000039e2: DUP3
000039e3: DUP2
000039e4: DUP2
000039e5: MLOAD
000039e6: DUP2
000039e7: LT
000039e8: PUSH2 0x39f3
000039eb: JUMPI
000039ec: PUSH2 0x39f3
000039ef: PUSH2 0x4cc7
000039f2: JUMP
000039f3: JUMPDEST
000039f4: PUSH1 0x20
000039f6: MUL
000039f7: PUSH1 0x20
000039f9: ADD
000039fa: ADD
000039fb: MLOAD
000039fc: PUSH1 0x01
000039fe: PUSH1 0x01
00003a00: PUSH1 0xa0
00003a02: SHL
00003a03: SUB
00003a04: AND
00003a05: PUSH2 0x08fc
00003a08: DUP4
00003a09: DUP4
00003a0a: DUP2
00003a0b: MLOAD
00003a0c: DUP2
00003a0d: LT
00003a0e: PUSH2 0x3a19
00003a11: JUMPI
00003a12: PUSH2 0x3a19
00003a15: PUSH2 0x4cc7
00003a18: JUMP
00003a19: JUMPDEST
00003a1a: PUSH1 0x20
00003a1c: MUL
00003a1d: PUSH1 0x20
00003a1f: ADD
00003a20: ADD
00003a21: MLOAD
00003a22: SWAP1
00003a23: DUP2
00003a24: ISZERO
00003a25: MUL
00003a26: SWAP1
00003a27: PUSH1 0x40
00003a29: MLOAD
00003a2a: PUSH1 0x00
00003a2c: PUSH1 0x40
00003a2e: MLOAD
00003a2f: DUP1
00003a30: DUP4
00003a31: SUB
00003a32: DUP2
00003a33: DUP6
00003a34: DUP9
00003a35: DUP9
00003a36: CALL
00003a37: SWAP4
00003a38: POP
00003a39: POP
00003a3a: POP
00003a3b: POP
00003a3c: ISZERO
00003a3d: DUP1
00003a3e: ISZERO
00003a3f: PUSH2 0x3a4c
00003a42: JUMPI
00003a43: RETURNDATASIZE
00003a44: PUSH1 0x00
00003a46: DUP1
00003a47: RETURNDATACOPY
00003a48: RETURNDATASIZE
00003a49: PUSH1 0x00
00003a4b: REVERT
00003a4c: JUMPDEST
00003a4d: POP
00003a4e: DUP1
00003a4f: PUSH2 0x3a57
00003a52: DUP2
00003a53: PUSH2 0x4e2b
00003a56: JUMP
00003a57: JUMPDEST
00003a58: SWAP2
00003a59: POP
00003a5a: POP
00003a5b: PUSH2 0x39d8
00003a5e: JUMP
00003a5f: JUMPDEST
00003a60: PUSH1 0x04
00003a62: CALLDATALOAD
00003a63: PUSH1 0x60
00003a65: SWAP1
00003a66: DUP2
00003a67: SHR
00003a68: SWAP1
00003a69: PUSH1 0x18
00003a6b: CALLDATALOAD
00003a6c: SWAP1
00003a6d: PUSH1 0x38
00003a6f: CALLDATALOAD
00003a70: SWAP1
00003a71: SHR
00003a72: DUP1
00003a73: PUSH2 0x3abe
00003a76: JUMPI
00003a77: PUSH1 0x40
00003a79: MLOAD
00003a7a: PUSH3 0x461bcd
00003a7e: PUSH1 0xe5
00003a80: SHL
00003a81: DUP2
00003a82: MSTORE
00003a83: PUSH1 0x20
00003a85: PUSH1 0x04
00003a87: DUP3
00003a88: ADD
00003a89: MSTORE
00003a8a: PUSH1 0x08
00003a8c: PUSH1 0x24
00003a8e: DUP3
00003a8f: ADD
00003a90: MSTORE
00003a91: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000
00003ab2: PUSH1 0x44
00003ab4: DUP3
00003ab5: ADD
00003ab6: MSTORE
00003ab7: PUSH1 0x64
00003ab9: ADD
00003aba: PUSH2 0x01cc
00003abd: JUMP
00003abe: JUMPDEST
00003abf: PUSH1 0x40
00003ac1: MLOAD
00003ac2: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00003ae3: DUP2
00003ae4: MSTORE
00003ae5: PUSH1 0x01
00003ae7: PUSH1 0x01
00003ae9: PUSH1 0xa0
00003aeb: SHL
00003aec: SUB
00003aed: DUP3
00003aee: DUP2
00003aef: AND
00003af0: PUSH1 0x04
00003af2: DUP4
00003af3: ADD
00003af4: MSTORE
00003af5: PUSH1 0x24
00003af7: DUP3
00003af8: ADD
00003af9: DUP5
00003afa: SWAP1
00003afb: MSTORE
00003afc: DUP5
00003afd: AND
00003afe: SWAP1
00003aff: PUSH4 0xa9059cbb
00003b04: SWAP1
00003b05: PUSH1 0x44
00003b07: ADD
00003b08: JUMPDEST
00003b09: PUSH1 0x00
00003b0b: PUSH1 0x40
00003b0d: MLOAD
00003b0e: DUP1
00003b0f: DUP4
00003b10: SUB
00003b11: DUP2
00003b12: PUSH1 0x00
00003b14: DUP8
00003b15: DUP1
00003b16: EXTCODESIZE
00003b17: ISZERO
00003b18: DUP1
00003b19: ISZERO
00003b1a: PUSH2 0x3b22
00003b1d: JUMPI
00003b1e: PUSH1 0x00
00003b20: DUP1
00003b21: REVERT
00003b22: JUMPDEST
00003b23: POP
00003b24: GAS
00003b25: CALL
00003b26: ISZERO
00003b27: DUP1
00003b28: ISZERO
00003b29: PUSH2 0x1875
00003b2c: JUMPI
00003b2d: RETURNDATASIZE
00003b2e: PUSH1 0x00
00003b30: DUP1
00003b31: RETURNDATACOPY
00003b32: RETURNDATASIZE
00003b33: PUSH1 0x00
00003b35: REVERT
00003b36: JUMPDEST
00003b37: PUSH1 0x40
00003b39: MLOAD
00003b3a: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00003b5b: DUP2
00003b5c: MSTORE
00003b5d: PUSH1 0x38
00003b5f: CALLDATALOAD
00003b60: PUSH1 0x60
00003b62: SWAP1
00003b63: DUP2
00003b64: SHR
00003b65: PUSH1 0x04
00003b67: DUP1
00003b68: DUP5
00003b69: ADD
00003b6a: DUP3
00003b6b: SWAP1
00003b6c: MSTORE
00003b6d: PUSH1 0x18
00003b6f: CALLDATALOAD
00003b70: PUSH1 0x24
00003b72: DUP6
00003b73: ADD
00003b74: DUP2
00003b75: SWAP1
00003b76: MSTORE
00003b77: SWAP1
00003b78: CALLDATALOAD
00003b79: SWAP1
00003b7a: SWAP3
00003b7b: SHR
00003b7c: SWAP3
00003b7d: DUP4
00003b7e: SWAP1
00003b7f: PUSH4 0x095ea7b3
00003b84: SWAP1
00003b85: PUSH1 0x44
00003b87: ADD
00003b88: PUSH2 0x3b08
00003b8b: JUMP
00003b8c: JUMPDEST
00003b8d: PUSH1 0x00
00003b8f: DUP1
00003b90: DUP1
00003b91: PUSH2 0x3b9d
00003b94: CALLDATASIZE
00003b95: PUSH1 0x04
00003b97: DUP2
00003b98: DUP5
00003b99: PUSH2 0x49ef
00003b9c: JUMP
00003b9d: JUMPDEST
00003b9e: DUP2
00003b9f: ADD
00003ba0: SWAP1
00003ba1: PUSH2 0x3baa
00003ba4: SWAP2
00003ba5: SWAP1
00003ba6: PUSH2 0x4e63
00003ba9: JUMP
00003baa: JUMPDEST
00003bab: SWAP3
00003bac: POP
00003bad: SWAP3
00003bae: POP
00003baf: SWAP3
00003bb0: POP
00003bb1: DUP2
00003bb2: MLOAD
00003bb3: DUP4
00003bb4: MLOAD
00003bb5: EQ
00003bb6: PUSH2 0x3c01
00003bb9: JUMPI
00003bba: PUSH1 0x40
00003bbc: MLOAD
00003bbd: PUSH3 0x461bcd
00003bc1: PUSH1 0xe5
00003bc3: SHL
00003bc4: DUP2
00003bc5: MSTORE
00003bc6: PUSH1 0x20
00003bc8: PUSH1 0x04
00003bca: DUP3
00003bcb: ADD
00003bcc: MSTORE
00003bcd: PUSH1 0x0c
00003bcf: PUSH1 0x24
00003bd1: DUP3
00003bd2: ADD
00003bd3: MSTORE
00003bd4: PUSH32 0x696e76616c696420646174610000000000000000000000000000000000000000
00003bf5: PUSH1 0x44
00003bf7: DUP3
00003bf8: ADD
00003bf9: MSTORE
00003bfa: PUSH1 0x64
00003bfc: ADD
00003bfd: PUSH2 0x01cc
00003c00: JUMP
00003c01: JUMPDEST
00003c02: DUP3
00003c03: MLOAD
00003c04: DUP2
00003c05: PUSH1 0x01
00003c07: PUSH1 0x01
00003c09: PUSH1 0xa0
00003c0b: SHL
00003c0c: SUB
00003c0d: AND
00003c0e: GT
00003c0f: PUSH2 0x3c5a
00003c12: JUMPI
00003c13: PUSH1 0x40
00003c15: MLOAD
00003c16: PUSH3 0x461bcd
00003c1a: PUSH1 0xe5
00003c1c: SHL
00003c1d: DUP2
00003c1e: MSTORE
00003c1f: PUSH1 0x20
00003c21: PUSH1 0x04
00003c23: DUP3
00003c24: ADD
00003c25: MSTORE
00003c26: PUSH1 0x11
00003c28: PUSH1 0x24
00003c2a: DUP3
00003c2b: ADD
00003c2c: MSTORE
00003c2d: PUSH32 0x696e76616c696420726563697069656e74000000000000000000000000000000
00003c4e: PUSH1 0x44
00003c50: DUP3
00003c51: ADD
00003c52: MSTORE
00003c53: PUSH1 0x64
00003c55: ADD
00003c56: PUSH2 0x01cc
00003c59: JUMP
00003c5a: JUMPDEST
00003c5b: PUSH1 0x01
00003c5d: PUSH1 0x01
00003c5f: PUSH1 0xa0
00003c61: SHL
00003c62: SUB
00003c63: DUP2
00003c64: AND
00003c65: PUSH2 0x3cb0
00003c68: JUMPI
00003c69: PUSH1 0x40
00003c6b: MLOAD
00003c6c: PUSH3 0x461bcd
00003c70: PUSH1 0xe5
00003c72: SHL
00003c73: DUP2
00003c74: MSTORE
00003c75: PUSH1 0x20
00003c77: PUSH1 0x04
00003c79: DUP3
00003c7a: ADD
00003c7b: MSTORE
00003c7c: PUSH1 0x08
00003c7e: PUSH1 0x24
00003c80: DUP3
00003c81: ADD
00003c82: MSTORE
00003c83: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000
00003ca4: PUSH1 0x44
00003ca6: DUP3
00003ca7: ADD
00003ca8: MSTORE
00003ca9: PUSH1 0x64
00003cab: ADD
00003cac: PUSH2 0x01cc
00003caf: JUMP
00003cb0: JUMPDEST
00003cb1: PUSH1 0x00
00003cb3: JUMPDEST
00003cb4: DUP4
00003cb5: MLOAD
00003cb6: DUP2
00003cb7: LT
00003cb8: ISZERO
00003cb9: PUSH2 0x3925
00003cbc: JUMPI
00003cbd: DUP4
00003cbe: DUP2
00003cbf: DUP2
00003cc0: MLOAD
00003cc1: DUP2
00003cc2: LT
00003cc3: PUSH2 0x3cce
00003cc6: JUMPI
00003cc7: PUSH2 0x3cce
00003cca: PUSH2 0x4cc7
00003ccd: JUMP
00003cce: JUMPDEST
00003ccf: PUSH1 0x20
00003cd1: MUL
00003cd2: PUSH1 0x20
00003cd4: ADD
00003cd5: ADD
00003cd6: MLOAD
00003cd7: PUSH1 0x01
00003cd9: PUSH1 0x01
00003cdb: PUSH1 0xa0
00003cdd: SHL
00003cde: SUB
00003cdf: AND
00003ce0: PUSH4 0xa9059cbb
00003ce5: DUP4
00003ce6: DUP6
00003ce7: DUP5
00003ce8: DUP2
00003ce9: MLOAD
00003cea: DUP2
00003ceb: LT
00003cec: PUSH2 0x3cf7
00003cef: JUMPI
00003cf0: PUSH2 0x3cf7
00003cf3: PUSH2 0x4cc7
00003cf6: JUMP
00003cf7: JUMPDEST
00003cf8: PUSH1 0x20
00003cfa: MUL
00003cfb: PUSH1 0x20
00003cfd: ADD
00003cfe: ADD
00003cff: MLOAD
00003d00: PUSH1 0x40
00003d02: MLOAD
00003d03: DUP4
00003d04: PUSH4 0xffffffff
00003d09: AND
00003d0a: PUSH1 0xe0
00003d0c: SHL
00003d0d: DUP2
00003d0e: MSTORE
00003d0f: PUSH1 0x04
00003d11: ADD
00003d12: PUSH2 0x3d30
00003d15: SWAP3
00003d16: SWAP2
00003d17: SWAP1
00003d18: PUSH1 0x01
00003d1a: PUSH1 0x01
00003d1c: PUSH1 0xa0
00003d1e: SHL
00003d1f: SUB
00003d20: SWAP3
00003d21: SWAP1
00003d22: SWAP3
00003d23: AND
00003d24: DUP3
00003d25: MSTORE
00003d26: PUSH1 0x20
00003d28: DUP3
00003d29: ADD
00003d2a: MSTORE
00003d2b: PUSH1 0x40
00003d2d: ADD
00003d2e: SWAP1
00003d2f: JUMP
00003d30: JUMPDEST
00003d31: PUSH1 0x00
00003d33: PUSH1 0x40
00003d35: MLOAD
00003d36: DUP1
00003d37: DUP4
00003d38: SUB
00003d39: DUP2
00003d3a: PUSH1 0x00
00003d3c: DUP8
00003d3d: DUP1
00003d3e: EXTCODESIZE
00003d3f: ISZERO
00003d40: DUP1
00003d41: ISZERO
00003d42: PUSH2 0x3d4a
00003d45: JUMPI
00003d46: PUSH1 0x00
00003d48: DUP1
00003d49: REVERT
00003d4a: JUMPDEST
00003d4b: POP
00003d4c: GAS
00003d4d: CALL
00003d4e: ISZERO
00003d4f: DUP1
00003d50: ISZERO
00003d51: PUSH2 0x3d5e
00003d54: JUMPI
00003d55: RETURNDATASIZE
00003d56: PUSH1 0x00
00003d58: DUP1
00003d59: RETURNDATACOPY
00003d5a: RETURNDATASIZE
00003d5b: PUSH1 0x00
00003d5d: REVERT
00003d5e: JUMPDEST
00003d5f: POP
00003d60: POP
00003d61: POP
00003d62: POP
00003d63: DUP1
00003d64: PUSH2 0x3d6c
00003d67: SWAP1
00003d68: PUSH2 0x4e2b
00003d6b: JUMP
00003d6c: JUMPDEST
00003d6d: SWAP1
00003d6e: POP
00003d6f: PUSH2 0x3cb3
00003d72: JUMP
00003d73: JUMPDEST
00003d74: PUSH1 0x00
00003d76: DUP1
00003d77: DUP1
00003d78: PUSH2 0x3d84
00003d7b: CALLDATASIZE
00003d7c: PUSH1 0x04
00003d7e: DUP2
00003d7f: DUP5
00003d80: PUSH2 0x49ef
00003d83: JUMP
00003d84: JUMPDEST
00003d85: DUP2
00003d86: ADD
00003d87: SWAP1
00003d88: PUSH2 0x3d91
00003d8b: SWAP2
00003d8c: SWAP1
00003d8d: PUSH2 0x4e63
00003d90: JUMP
00003d91: JUMPDEST
00003d92: SWAP3
00003d93: POP
00003d94: SWAP3
00003d95: POP
00003d96: SWAP3
00003d97: POP
00003d98: DUP2
00003d99: MLOAD
00003d9a: DUP4
00003d9b: MLOAD
00003d9c: EQ
00003d9d: PUSH2 0x3de8
00003da0: JUMPI
00003da1: PUSH1 0x40
00003da3: MLOAD
00003da4: PUSH3 0x461bcd
00003da8: PUSH1 0xe5
00003daa: SHL
00003dab: DUP2
00003dac: MSTORE
00003dad: PUSH1 0x20
00003daf: PUSH1 0x04
00003db1: DUP3
00003db2: ADD
00003db3: MSTORE
00003db4: PUSH1 0x0c
00003db6: PUSH1 0x24
00003db8: DUP3
00003db9: ADD
00003dba: MSTORE
00003dbb: PUSH32 0x696e76616c696420646174610000000000000000000000000000000000000000
00003ddc: PUSH1 0x44
00003dde: DUP3
00003ddf: ADD
00003de0: MSTORE
00003de1: PUSH1 0x64
00003de3: ADD
00003de4: PUSH2 0x01cc
00003de7: JUMP
00003de8: JUMPDEST
00003de9: PUSH1 0x00
00003deb: JUMPDEST
00003dec: DUP4
00003ded: MLOAD
00003dee: DUP2
00003def: LT
00003df0: ISZERO
00003df1: PUSH2 0x3925
00003df4: JUMPI
00003df5: DUP4
00003df6: DUP2
00003df7: DUP2
00003df8: MLOAD
00003df9: DUP2
00003dfa: LT
00003dfb: PUSH2 0x3e06
00003dfe: JUMPI
00003dff: PUSH2 0x3e06
00003e02: PUSH2 0x4cc7
00003e05: JUMP
00003e06: JUMPDEST
00003e07: PUSH1 0x20
00003e09: MUL
00003e0a: PUSH1 0x20
00003e0c: ADD
00003e0d: ADD
00003e0e: MLOAD
00003e0f: PUSH1 0x01
00003e11: PUSH1 0x01
00003e13: PUSH1 0xa0
00003e15: SHL
00003e16: SUB
00003e17: AND
00003e18: PUSH4 0x095ea7b3
00003e1d: DUP4
00003e1e: DUP6
00003e1f: DUP5
00003e20: DUP2
00003e21: MLOAD
00003e22: DUP2
00003e23: LT
00003e24: PUSH2 0x3e2f
00003e27: JUMPI
00003e28: PUSH2 0x3e2f
00003e2b: PUSH2 0x4cc7
00003e2e: JUMP
00003e2f: JUMPDEST
00003e30: PUSH1 0x20
00003e32: MUL
00003e33: PUSH1 0x20
00003e35: ADD
00003e36: ADD
00003e37: MLOAD
00003e38: PUSH1 0x40
00003e3a: MLOAD
00003e3b: DUP4
00003e3c: PUSH4 0xffffffff
00003e41: AND
00003e42: PUSH1 0xe0
00003e44: SHL
00003e45: DUP2
00003e46: MSTORE
00003e47: PUSH1 0x04
00003e49: ADD
00003e4a: PUSH2 0x3e68
00003e4d: SWAP3
00003e4e: SWAP2
00003e4f: SWAP1
00003e50: PUSH1 0x01
00003e52: PUSH1 0x01
00003e54: PUSH1 0xa0
00003e56: SHL
00003e57: SUB
00003e58: SWAP3
00003e59: SWAP1
00003e5a: SWAP3
00003e5b: AND
00003e5c: DUP3
00003e5d: MSTORE
00003e5e: PUSH1 0x20
00003e60: DUP3
00003e61: ADD
00003e62: MSTORE
00003e63: PUSH1 0x40
00003e65: ADD
00003e66: SWAP1
00003e67: JUMP
00003e68: JUMPDEST
00003e69: PUSH1 0x00
00003e6b: PUSH1 0x40
00003e6d: MLOAD
00003e6e: DUP1
00003e6f: DUP4
00003e70: SUB
00003e71: DUP2
00003e72: PUSH1 0x00
00003e74: DUP8
00003e75: DUP1
00003e76: EXTCODESIZE
00003e77: ISZERO
00003e78: DUP1
00003e79: ISZERO
00003e7a: PUSH2 0x3e82
00003e7d: JUMPI
00003e7e: PUSH1 0x00
00003e80: DUP1
00003e81: REVERT
00003e82: JUMPDEST
00003e83: POP
00003e84: GAS
00003e85: CALL
00003e86: ISZERO
00003e87: DUP1
00003e88: ISZERO
00003e89: PUSH2 0x3e96
00003e8c: JUMPI
00003e8d: RETURNDATASIZE
00003e8e: PUSH1 0x00
00003e90: DUP1
00003e91: RETURNDATACOPY
00003e92: RETURNDATASIZE
00003e93: PUSH1 0x00
00003e95: REVERT
00003e96: JUMPDEST
00003e97: POP
00003e98: POP
00003e99: POP
00003e9a: POP
00003e9b: DUP1
00003e9c: PUSH2 0x3ea4
00003e9f: SWAP1
00003ea0: PUSH2 0x4e2b
00003ea3: JUMP
00003ea4: JUMPDEST
00003ea5: SWAP1
00003ea6: POP
00003ea7: PUSH2 0x3deb
00003eaa: JUMP
00003eab: JUMPDEST
00003eac: PUSH1 0x04
00003eae: CALLDATALOAD
00003eaf: PUSH1 0x24
00003eb1: CALLDATALOAD
00003eb2: PUSH1 0x60
00003eb4: SHR
00003eb5: DUP1
00003eb6: PUSH2 0x3f01
00003eb9: JUMPI
00003eba: PUSH1 0x40
00003ebc: MLOAD
00003ebd: PUSH3 0x461bcd
00003ec1: PUSH1 0xe5
00003ec3: SHL
00003ec4: DUP2
00003ec5: MSTORE
00003ec6: PUSH1 0x20
00003ec8: PUSH1 0x04
00003eca: DUP3
00003ecb: ADD
00003ecc: MSTORE
00003ecd: PUSH1 0x08
00003ecf: PUSH1 0x24
00003ed1: DUP3
00003ed2: ADD
00003ed3: MSTORE
00003ed4: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000
00003ef5: PUSH1 0x44
00003ef7: DUP3
00003ef8: ADD
00003ef9: MSTORE
00003efa: PUSH1 0x64
00003efc: ADD
00003efd: PUSH2 0x01cc
00003f00: JUMP
00003f01: JUMPDEST
00003f02: PUSH1 0x40
00003f04: MLOAD
00003f05: PUSH1 0x01
00003f07: PUSH1 0x01
00003f09: PUSH1 0xa0
00003f0b: SHL
00003f0c: SUB
00003f0d: DUP3
00003f0e: AND
00003f0f: SWAP1
00003f10: DUP4
00003f11: ISZERO
00003f12: PUSH2 0x08fc
00003f15: MUL
00003f16: SWAP1
00003f17: DUP5
00003f18: SWAP1
00003f19: PUSH1 0x00
00003f1b: DUP2
00003f1c: DUP2
00003f1d: DUP2
00003f1e: DUP6
00003f1f: DUP9
00003f20: DUP9
00003f21: CALL
00003f22: SWAP4
00003f23: POP
00003f24: POP
00003f25: POP
00003f26: POP
00003f27: ISZERO
00003f28: DUP1
00003f29: ISZERO
00003f2a: PUSH2 0x0f52
00003f2d: JUMPI
00003f2e: RETURNDATASIZE
00003f2f: PUSH1 0x00
00003f31: DUP1
00003f32: RETURNDATACOPY
00003f33: RETURNDATASIZE
00003f34: PUSH1 0x00
00003f36: REVERT
00003f37: JUMPDEST
00003f38: PUSH1 0x40
00003f3a: DUP1
00003f3b: MLOAD
00003f3c: PUSH1 0x84
00003f3e: CALLDATALOAD
00003f3f: PUSH1 0x60
00003f41: SWAP1
00003f42: DUP2
00003f43: SHR
00003f44: PUSH1 0x20
00003f46: DUP4
00003f47: ADD
00003f48: DUP2
00003f49: SWAP1
00003f4a: MSTORE
00003f4b: PUSH1 0x98
00003f4d: CALLDATALOAD
00003f4e: DUP3
00003f4f: SHR
00003f50: SWAP4
00003f51: DUP4
00003f52: ADD
00003f53: DUP5
00003f54: SWAP1
00003f55: MSTORE
00003f56: PUSH1 0xac
00003f58: CALLDATALOAD
00003f59: PUSH1 0xe8
00003f5b: SHR
00003f5c: SWAP2
00003f5d: DUP4
00003f5e: ADD
00003f5f: DUP3
00003f60: SWAP1
00003f61: MSTORE
00003f62: SWAP3
00003f63: SWAP2
00003f64: PUSH1 0x04
00003f66: CALLDATALOAD
00003f67: SWAP1
00003f68: PUSH1 0x24
00003f6a: CALLDATALOAD
00003f6b: SWAP1
00003f6c: PUSH1 0x80
00003f6e: ADD
00003f6f: PUSH1 0x40
00003f71: DUP1
00003f72: MLOAD
00003f73: PUSH1 0x1f
00003f75: NOT
00003f76: DUP2
00003f77: DUP5
00003f78: SUB
00003f79: ADD
00003f7a: DUP2
00003f7b: MSTORE
00003f7c: SWAP1
00003f7d: DUP3
00003f7e: SWAP1
00003f7f: MSTORE
00003f80: DUP1
00003f81: MLOAD
00003f82: PUSH1 0x20
00003f84: SWAP2
00003f85: DUP3
00003f86: ADD
00003f87: KECCAK256
00003f88: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000
00003fa9: SWAP2
00003faa: DUP4
00003fab: ADD
00003fac: SWAP2
00003fad: SWAP1
00003fae: SWAP2
00003faf: MSTORE
00003fb0: PUSH1 0x35
00003fb2: DUP3
00003fb3: ADD
00003fb4: MSTORE
00003fb5: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00003fd6: PUSH1 0x55
00003fd8: DUP3
00003fd9: ADD
00003fda: MSTORE
00003fdb: PUSH1 0x75
00003fdd: ADD
00003fde: PUSH1 0x40
00003fe0: MLOAD
00003fe1: PUSH1 0x20
00003fe3: DUP2
00003fe4: DUP4
00003fe5: SUB
00003fe6: SUB
00003fe7: DUP2
00003fe8: MSTORE
00003fe9: SWAP1
00003fea: PUSH1 0x40
00003fec: MSTORE
00003fed: DUP1
00003fee: MLOAD
00003fef: SWAP1
00003ff0: PUSH1 0x20
00003ff2: ADD
00003ff3: KECCAK256
00003ff4: PUSH1 0x00
00003ff6: SHR
00003ff7: PUSH1 0x01
00003ff9: PUSH1 0x01
00003ffb: PUSH1 0xa0
00003ffd: SHL
00003ffe: SUB
00003fff: AND
00004000: CALLER
00004001: PUSH1 0x01
00004003: PUSH1 0x01
00004005: PUSH1 0xa0
00004007: SHL
00004008: SUB
00004009: AND
0000400a: EQ
0000400b: PUSH2 0x4056
0000400e: JUMPI
0000400f: PUSH1 0x40
00004011: MLOAD
00004012: PUSH3 0x461bcd
00004016: PUSH1 0xe5
00004018: SHL
00004019: DUP2
0000401a: MSTORE
0000401b: PUSH1 0x20
0000401d: PUSH1 0x04
0000401f: DUP3
00004020: ADD
00004021: MSTORE
00004022: PUSH1 0x01
00004024: PUSH1 0x24
00004026: DUP3
00004027: ADD
00004028: MSTORE
00004029: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000
0000404a: PUSH1 0x44
0000404c: DUP3
0000404d: ADD
0000404e: MSTORE
0000404f: PUSH1 0x64
00004051: ADD
00004052: PUSH2 0x01cc
00004055: JUMP
00004056: JUMPDEST
00004057: DUP2
00004058: ISZERO
00004059: PUSH2 0x40d6
0000405c: JUMPI
0000405d: PUSH1 0x40
0000405f: MLOAD
00004060: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00004081: DUP2
00004082: MSTORE
00004083: CALLER
00004084: PUSH1 0x04
00004086: DUP3
00004087: ADD
00004088: MSTORE
00004089: PUSH1 0x24
0000408b: DUP2
0000408c: ADD
0000408d: DUP4
0000408e: SWAP1
0000408f: MSTORE
00004090: PUSH1 0x01
00004092: PUSH1 0x01
00004094: PUSH1 0xa0
00004096: SHL
00004097: SUB
00004098: DUP7
00004099: AND
0000409a: SWAP1
0000409b: PUSH4 0xa9059cbb
000040a0: SWAP1
000040a1: PUSH1 0x44
000040a3: ADD
000040a4: PUSH1 0x00
000040a6: PUSH1 0x40
000040a8: MLOAD
000040a9: DUP1
000040aa: DUP4
000040ab: SUB
000040ac: DUP2
000040ad: PUSH1 0x00
000040af: DUP8
000040b0: DUP1
000040b1: EXTCODESIZE
000040b2: ISZERO
000040b3: DUP1
000040b4: ISZERO
000040b5: PUSH2 0x40bd
000040b8: JUMPI
000040b9: PUSH1 0x00
000040bb: DUP1
000040bc: REVERT
000040bd: JUMPDEST
000040be: POP
000040bf: GAS
000040c0: CALL
000040c1: ISZERO
000040c2: DUP1
000040c3: ISZERO
000040c4: PUSH2 0x40d1
000040c7: JUMPI
000040c8: RETURNDATASIZE
000040c9: PUSH1 0x00
000040cb: DUP1
000040cc: RETURNDATACOPY
000040cd: RETURNDATASIZE
000040ce: PUSH1 0x00
000040d0: REVERT
000040d1: JUMPDEST
000040d2: POP
000040d3: POP
000040d4: POP
000040d5: POP
000040d6: JUMPDEST
000040d7: DUP1
000040d8: ISZERO
000040d9: PUSH2 0x0526
000040dc: JUMPI
000040dd: PUSH1 0x40
000040df: MLOAD
000040e0: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00004101: DUP2
00004102: MSTORE
00004103: CALLER
00004104: PUSH1 0x04
00004106: DUP3
00004107: ADD
00004108: MSTORE
00004109: PUSH1 0x24
0000410b: DUP2
0000410c: ADD
0000410d: DUP3
0000410e: SWAP1
0000410f: MSTORE
00004110: PUSH1 0x01
00004112: PUSH1 0x01
00004114: PUSH1 0xa0
00004116: SHL
00004117: SUB
00004118: DUP6
00004119: AND
0000411a: SWAP1
0000411b: PUSH4 0xa9059cbb
00004120: SWAP1
00004121: PUSH1 0x44
00004123: ADD
00004124: PUSH2 0x04f3
00004127: JUMP
00004128: JUMPDEST
00004129: PUSH1 0x00
0000412b: DUP1
0000412c: PUSH2 0x4138
0000412f: CALLDATASIZE
00004130: PUSH1 0x04
00004132: DUP2
00004133: DUP5
00004134: PUSH2 0x49ef
00004137: JUMP
00004138: JUMPDEST
00004139: DUP2
0000413a: ADD
0000413b: SWAP1
0000413c: PUSH2 0x4145
0000413f: SWAP2
00004140: SWAP1
00004141: PUSH2 0x4ed0
00004144: JUMP
00004145: JUMPDEST
00004146: SWAP2
00004147: POP
00004148: SWAP2
00004149: POP
0000414a: PUSH1 0x00
0000414c: PUSH32 0x000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae6123
0000416d: PUSH1 0x01
0000416f: PUSH1 0x01
00004171: PUSH1 0xa0
00004173: SHL
00004174: SUB
00004175: AND
00004176: PUSH2 0x417f
00004179: DUP5
0000417a: DUP5
0000417b: PUSH2 0x4457
0000417e: JUMP
0000417f: JUMPDEST
00004180: PUSH1 0x01
00004182: PUSH1 0x01
00004184: PUSH1 0xa0
00004186: SHL
00004187: SUB
00004188: AND
00004189: SUB
0000418a: PUSH2 0x41b4
0000418d: JUMPI
0000418e: POP
0000418f: PUSH32 0x1626ba7e00000000000000000000000000000000000000000000000000000000
000041b0: PUSH2 0x41bf
000041b3: JUMP
000041b4: JUMPDEST
000041b5: POP
000041b6: PUSH1 0x01
000041b8: PUSH1 0x01
000041ba: PUSH1 0xe0
000041bc: SHL
000041bd: SUB
000041be: NOT
000041bf: JUMPDEST
000041c0: DUP1
000041c1: PUSH1 0x00
000041c3: MSTORE
000041c4: PUSH1 0x20
000041c6: PUSH1 0x00
000041c8: RETURN
000041c9: JUMPDEST
000041ca: PUSH1 0x00
000041cc: DUP1
000041cd: CALLDATALOAD
000041ce: PUSH1 0x01
000041d0: PUSH1 0x01
000041d2: PUSH1 0xe0
000041d4: SHL
000041d5: SUB
000041d6: NOT
000041d7: AND
000041d8: DUP2
000041d9: MSTORE
000041da: PUSH1 0x01
000041dc: PUSH1 0x20
000041de: MSTORE
000041df: PUSH1 0x40
000041e1: SWAP1
000041e2: KECCAK256
000041e3: SLOAD
000041e4: PUSH1 0x01
000041e6: PUSH1 0x01
000041e8: PUSH1 0xa0
000041ea: SHL
000041eb: SUB
000041ec: AND
000041ed: DUP1
000041ee: PUSH2 0x4239
000041f1: JUMPI
000041f2: PUSH1 0x40
000041f4: MLOAD
000041f5: PUSH3 0x461bcd
000041f9: PUSH1 0xe5
000041fb: SHL
000041fc: DUP2
000041fd: MSTORE
000041fe: PUSH1 0x20
00004200: PUSH1 0x04
00004202: DUP3
00004203: ADD
00004204: MSTORE
00004205: PUSH1 0x01
00004207: PUSH1 0x24
00004209: DUP3
0000420a: ADD
0000420b: MSTORE
0000420c: PUSH32 0x4400000000000000000000000000000000000000000000000000000000000000
0000422d: PUSH1 0x44
0000422f: DUP3
00004230: ADD
00004231: MSTORE
00004232: PUSH1 0x64
00004234: ADD
00004235: PUSH2 0x01cc
00004238: JUMP
00004239: JUMPDEST
0000423a: PUSH1 0x00
0000423c: DUP2
0000423d: PUSH1 0x01
0000423f: PUSH1 0x01
00004241: PUSH1 0xa0
00004243: SHL
00004244: SUB
00004245: AND
00004246: PUSH1 0x00
00004248: CALLDATASIZE
00004249: PUSH1 0x40
0000424b: MLOAD
0000424c: PUSH2 0x4256
0000424f: SWAP3
00004250: SWAP2
00004251: SWAP1
00004252: PUSH2 0x49df
00004255: JUMP
00004256: JUMPDEST
00004257: PUSH1 0x00
00004259: PUSH1 0x40
0000425b: MLOAD
0000425c: DUP1
0000425d: DUP4
0000425e: SUB
0000425f: DUP2
00004260: DUP6
00004261: GAS
00004262: DELEGATECALL
00004263: SWAP2
00004264: POP
00004265: POP
00004266: RETURNDATASIZE
00004267: DUP1
00004268: PUSH1 0x00
0000426a: DUP2
0000426b: EQ
0000426c: PUSH2 0x4291
0000426f: JUMPI
00004270: PUSH1 0x40
00004272: MLOAD
00004273: SWAP2
00004274: POP
00004275: PUSH1 0x1f
00004277: NOT
00004278: PUSH1 0x3f
0000427a: RETURNDATASIZE
0000427b: ADD
0000427c: AND
0000427d: DUP3
0000427e: ADD
0000427f: PUSH1 0x40
00004281: MSTORE
00004282: RETURNDATASIZE
00004283: DUP3
00004284: MSTORE
00004285: RETURNDATASIZE
00004286: PUSH1 0x00
00004288: PUSH1 0x20
0000428a: DUP5
0000428b: ADD
0000428c: RETURNDATACOPY
0000428d: PUSH2 0x4296
00004290: JUMP
00004291: JUMPDEST
00004292: PUSH1 0x60
00004294: SWAP2
00004295: POP
00004296: JUMPDEST
00004297: POP
00004298: POP
00004299: SWAP1
0000429a: POP
0000429b: DUP1
0000429c: PUSH2 0x0a2c
0000429f: JUMPI
000042a0: PUSH1 0x00
000042a2: DUP1
000042a3: REVERT
000042a4: JUMPDEST
000042a5: PUSH1 0x00
000042a7: DUP1
000042a8: PUSH1 0x00
000042aa: DUP6
000042ab: PUSH1 0x01
000042ad: PUSH1 0x01
000042af: PUSH1 0xa0
000042b1: SHL
000042b2: SUB
000042b3: AND
000042b4: PUSH4 0x0902f1ac
000042b9: PUSH1 0x40
000042bb: MLOAD
000042bc: DUP2
000042bd: PUSH4 0xffffffff
000042c2: AND
000042c3: PUSH1 0xe0
000042c5: SHL
000042c6: DUP2
000042c7: MSTORE
000042c8: PUSH1 0x04
000042ca: ADD
000042cb: PUSH1 0x60
000042cd: PUSH1 0x40
000042cf: MLOAD
000042d0: DUP1
000042d1: DUP4
000042d2: SUB
000042d3: DUP2
000042d4: DUP7
000042d5: GAS
000042d6: STATICCALL
000042d7: ISZERO
000042d8: DUP1
000042d9: ISZERO
000042da: PUSH2 0x42e7
000042dd: JUMPI
000042de: RETURNDATASIZE
000042df: PUSH1 0x00
000042e1: DUP1
000042e2: RETURNDATACOPY
000042e3: RETURNDATASIZE
000042e4: PUSH1 0x00
000042e6: REVERT
000042e7: JUMPDEST
000042e8: POP
000042e9: POP
000042ea: POP
000042eb: POP
000042ec: PUSH1 0x40
000042ee: MLOAD
000042ef: RETURNDATASIZE
000042f0: PUSH1 0x1f
000042f2: NOT
000042f3: PUSH1 0x1f
000042f5: DUP3
000042f6: ADD
000042f7: AND
000042f8: DUP3
000042f9: ADD
000042fa: DUP1
000042fb: PUSH1 0x40
000042fd: MSTORE
000042fe: POP
000042ff: DUP2
00004300: ADD
00004301: SWAP1
00004302: PUSH2 0x430b
00004305: SWAP2
00004306: SWAP1
00004307: PUSH2 0x4963
0000430a: JUMP
0000430b: JUMPDEST
0000430c: POP
0000430d: SWAP2
0000430e: POP
0000430f: SWAP2
00004310: POP
00004311: PUSH1 0x00
00004313: DUP1
00004314: DUP6
00004315: ISZERO
00004316: PUSH2 0x4335
00004319: JUMPI
0000431a: POP
0000431b: POP
0000431c: PUSH14 0xffffffffffffffffffffffffffff
0000432b: DUP1
0000432c: DUP4
0000432d: AND
0000432e: SWAP1
0000432f: DUP3
00004330: AND
00004331: PUSH2 0x434d
00004334: JUMP
00004335: JUMPDEST
00004336: POP
00004337: POP
00004338: PUSH14 0xffffffffffffffffffffffffffff
00004347: DUP1
00004348: DUP3
00004349: AND
0000434a: SWAP1
0000434b: DUP4
0000434c: AND
0000434d: JUMPDEST
0000434e: PUSH2 0x03e5
00004351: DUP1
00004352: DUP9
00004353: MUL
00004354: SWAP1
00004355: DUP3
00004356: DUP10
00004357: MUL
00004358: MUL
00004359: PUSH2 0x03e8
0000435c: DUP5
0000435d: MUL
0000435e: DUP3
0000435f: ADD
00004360: DUP1
00004361: DUP3
00004362: DUP2
00004363: PUSH2 0x436e
00004366: JUMPI
00004367: PUSH2 0x436e
0000436a: PUSH2 0x4f01
0000436d: JUMP
0000436e: JUMPDEST
0000436f: DIV
00004370: SWAP12
00004371: SWAP11
00004372: POP
00004373: POP
00004374: POP
00004375: POP
00004376: POP
00004377: POP
00004378: POP
00004379: POP
0000437a: POP
0000437b: POP
0000437c: POP
0000437d: JUMP
0000437e: JUMPDEST
0000437f: PUSH1 0x00
00004381: DUP1
00004382: PUSH1 0x00
00004384: DUP6
00004385: PUSH1 0x01
00004387: PUSH1 0x01
00004389: PUSH1 0xa0
0000438b: SHL
0000438c: SUB
0000438d: AND
0000438e: PUSH4 0x0902f1ac
00004393: PUSH1 0x40
00004395: MLOAD
00004396: DUP2
00004397: PUSH4 0xffffffff
0000439c: AND
0000439d: PUSH1 0xe0
0000439f: SHL
000043a0: DUP2
000043a1: MSTORE
000043a2: PUSH1 0x04
000043a4: ADD
000043a5: PUSH1 0x60
000043a7: PUSH1 0x40
000043a9: MLOAD
000043aa: DUP1
000043ab: DUP4
000043ac: SUB
000043ad: DUP2
000043ae: DUP7
000043af: GAS
000043b0: STATICCALL
000043b1: ISZERO
000043b2: DUP1
000043b3: ISZERO
000043b4: PUSH2 0x43c1
000043b7: JUMPI
000043b8: RETURNDATASIZE
000043b9: PUSH1 0x00
000043bb: DUP1
000043bc: RETURNDATACOPY
000043bd: RETURNDATASIZE
000043be: PUSH1 0x00
000043c0: REVERT
000043c1: JUMPDEST
000043c2: POP
000043c3: POP
000043c4: POP
000043c5: POP
000043c6: PUSH1 0x40
000043c8: MLOAD
000043c9: RETURNDATASIZE
000043ca: PUSH1 0x1f
000043cc: NOT
000043cd: PUSH1 0x1f
000043cf: DUP3
000043d0: ADD
000043d1: AND
000043d2: DUP3
000043d3: ADD
000043d4: DUP1
000043d5: PUSH1 0x40
000043d7: MSTORE
000043d8: POP
000043d9: DUP2
000043da: ADD
000043db: SWAP1
000043dc: PUSH2 0x43e5
000043df: SWAP2
000043e0: SWAP1
000043e1: PUSH2 0x4963
000043e4: JUMP
000043e5: JUMPDEST
000043e6: POP
000043e7: SWAP2
000043e8: POP
000043e9: SWAP2
000043ea: POP
000043eb: PUSH1 0x00
000043ed: DUP1
000043ee: DUP6
000043ef: ISZERO
000043f0: PUSH2 0x440f
000043f3: JUMPI
000043f4: POP
000043f5: POP
000043f6: PUSH14 0xffffffffffffffffffffffffffff
00004405: DUP1
00004406: DUP4
00004407: AND
00004408: SWAP1
00004409: DUP3
0000440a: AND
0000440b: PUSH2 0x4427
0000440e: JUMP
0000440f: JUMPDEST
00004410: POP
00004411: POP
00004412: PUSH14 0xffffffffffffffffffffffffffff
00004421: DUP1
00004422: DUP3
00004423: AND
00004424: SWAP1
00004425: DUP4
00004426: AND
00004427: JUMPDEST
00004428: PUSH2 0x03e8
0000442b: DUP3
0000442c: DUP9
0000442d: MUL
0000442e: MUL
0000442f: PUSH2 0x03e5
00004432: DUP9
00004433: DUP4
00004434: SUB
00004435: MUL
00004436: DUP1
00004437: DUP3
00004438: DUP2
00004439: PUSH2 0x4444
0000443c: JUMPI
0000443d: PUSH2 0x4444
00004440: PUSH2 0x4f01
00004443: JUMP
00004444: JUMPDEST
00004445: DIV
00004446: PUSH1 0x01
00004448: ADD
00004449: SWAP7
0000444a: POP
0000444b: POP
0000444c: POP
0000444d: POP
0000444e: POP
0000444f: POP
00004450: POP
00004451: SWAP4
00004452: SWAP3
00004453: POP
00004454: POP
00004455: POP
00004456: JUMP
00004457: JUMPDEST
00004458: PUSH1 0x00
0000445a: DUP1
0000445b: PUSH1 0x00
0000445d: DUP1
0000445e: PUSH2 0x4467
00004461: DUP7
00004462: DUP7
00004463: PUSH2 0x4483
00004466: JUMP
00004467: JUMPDEST
00004468: SWAP3
00004469: POP
0000446a: SWAP3
0000446b: POP
0000446c: SWAP3
0000446d: POP
0000446e: PUSH2 0x4477
00004471: DUP3
00004472: DUP3
00004473: PUSH2 0x44d0
00004476: JUMP
00004477: JUMPDEST
00004478: POP
00004479: SWAP1
0000447a: SWAP2
0000447b: POP
0000447c: POP
0000447d: JUMPDEST
0000447e: SWAP3
0000447f: SWAP2
00004480: POP
00004481: POP
00004482: JUMP
00004483: JUMPDEST
00004484: PUSH1 0x00
00004486: DUP1
00004487: PUSH1 0x00
00004489: DUP4
0000448a: MLOAD
0000448b: PUSH1 0x41
0000448d: SUB
0000448e: PUSH2 0x44bd
00004491: JUMPI
00004492: PUSH1 0x20
00004494: DUP5
00004495: ADD
00004496: MLOAD
00004497: PUSH1 0x40
00004499: DUP6
0000449a: ADD
0000449b: MLOAD
0000449c: PUSH1 0x60
0000449e: DUP7
0000449f: ADD
000044a0: MLOAD
000044a1: PUSH1 0x00
000044a3: BYTE
000044a4: PUSH2 0x44af
000044a7: DUP9
000044a8: DUP3
000044a9: DUP6
000044aa: DUP6
000044ab: PUSH2 0x45d4
000044ae: JUMP
000044af: JUMPDEST
000044b0: SWAP6
000044b1: POP
000044b2: SWAP6
000044b3: POP
000044b4: SWAP6
000044b5: POP
000044b6: POP
000044b7: POP
000044b8: POP
000044b9: PUSH2 0x44c9
000044bc: JUMP
000044bd: JUMPDEST
000044be: POP
000044bf: POP
000044c0: DUP2
000044c1: MLOAD
000044c2: PUSH1 0x00
000044c4: SWAP2
000044c5: POP
000044c6: PUSH1 0x02
000044c8: SWAP1
000044c9: JUMPDEST
000044ca: SWAP3
000044cb: POP
000044cc: SWAP3
000044cd: POP
000044ce: SWAP3
000044cf: JUMP
000044d0: JUMPDEST
000044d1: PUSH1 0x00
000044d3: DUP3
000044d4: PUSH1 0x03
000044d6: DUP2
000044d7: GT
000044d8: ISZERO
000044d9: PUSH2 0x44e4
000044dc: JUMPI
000044dd: PUSH2 0x44e4
000044e0: PUSH2 0x4f30
000044e3: JUMP
000044e4: JUMPDEST
000044e5: SUB
000044e6: PUSH2 0x44ed
000044e9: JUMPI
000044ea: POP
000044eb: POP
000044ec: JUMP
000044ed: JUMPDEST
000044ee: PUSH1 0x01
000044f0: DUP3
000044f1: PUSH1 0x03
000044f3: DUP2
000044f4: GT
000044f5: ISZERO
000044f6: PUSH2 0x4501
000044f9: JUMPI
000044fa: PUSH2 0x4501
000044fd: PUSH2 0x4f30
00004500: JUMP
00004501: JUMPDEST
00004502: SUB
00004503: PUSH2 0x4538
00004506: JUMPI
00004507: PUSH1 0x40
00004509: MLOAD
0000450a: PUSH32 0xf645eedf00000000000000000000000000000000000000000000000000000000
0000452b: DUP2
0000452c: MSTORE
0000452d: PUSH1 0x04
0000452f: ADD
00004530: PUSH1 0x40
00004532: MLOAD
00004533: DUP1
00004534: SWAP2
00004535: SUB
00004536: SWAP1
00004537: REVERT
00004538: JUMPDEST
00004539: PUSH1 0x02
0000453b: DUP3
0000453c: PUSH1 0x03
0000453e: DUP2
0000453f: GT
00004540: ISZERO
00004541: PUSH2 0x454c
00004544: JUMPI
00004545: PUSH2 0x454c
00004548: PUSH2 0x4f30
0000454b: JUMP
0000454c: JUMPDEST
0000454d: SUB
0000454e: PUSH2 0x4586
00004551: JUMPI
00004552: PUSH1 0x40
00004554: MLOAD
00004555: PUSH32 0xfce698f700000000000000000000000000000000000000000000000000000000
00004576: DUP2
00004577: MSTORE
00004578: PUSH1 0x04
0000457a: DUP2
0000457b: ADD
0000457c: DUP3
0000457d: SWAP1
0000457e: MSTORE
0000457f: PUSH1 0x24
00004581: ADD
00004582: PUSH2 0x01cc
00004585: JUMP
00004586: JUMPDEST
00004587: PUSH1 0x03
00004589: DUP3
0000458a: PUSH1 0x03
0000458c: DUP2
0000458d: GT
0000458e: ISZERO
0000458f: PUSH2 0x459a
00004592: JUMPI
00004593: PUSH2 0x459a
00004596: PUSH2 0x4f30
00004599: JUMP
0000459a: JUMPDEST
0000459b: SUB
0000459c: PUSH2 0x0a2c
0000459f: JUMPI
000045a0: PUSH1 0x40
000045a2: MLOAD
000045a3: PUSH32 0xd78bce0c00000000000000000000000000000000000000000000000000000000
000045c4: DUP2
000045c5: MSTORE
000045c6: PUSH1 0x04
000045c8: DUP2
000045c9: ADD
000045ca: DUP3
000045cb: SWAP1
000045cc: MSTORE
000045cd: PUSH1 0x24
000045cf: ADD
000045d0: PUSH2 0x01cc
000045d3: JUMP
000045d4: JUMPDEST
000045d5: PUSH1 0x00
000045d7: DUP1
000045d8: DUP1
000045d9: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
000045fa: DUP5
000045fb: GT
000045fc: ISZERO
000045fd: PUSH2 0x460f
00004600: JUMPI
00004601: POP
00004602: PUSH1 0x00
00004604: SWAP2
00004605: POP
00004606: PUSH1 0x03
00004608: SWAP1
00004609: POP
0000460a: DUP3
0000460b: PUSH2 0x4699
0000460e: JUMP
0000460f: JUMPDEST
00004610: PUSH1 0x40
00004612: DUP1
00004613: MLOAD
00004614: PUSH1 0x00
00004616: DUP1
00004617: DUP3
00004618: MSTORE
00004619: PUSH1 0x20
0000461b: DUP3
0000461c: ADD
0000461d: DUP1
0000461e: DUP5
0000461f: MSTORE
00004620: DUP11
00004621: SWAP1
00004622: MSTORE
00004623: PUSH1 0xff
00004625: DUP10
00004626: AND
00004627: SWAP3
00004628: DUP3
00004629: ADD
0000462a: SWAP3
0000462b: SWAP1
0000462c: SWAP3
0000462d: MSTORE
0000462e: PUSH1 0x60
00004630: DUP2
00004631: ADD
00004632: DUP8
00004633: SWAP1
00004634: MSTORE
00004635: PUSH1 0x80
00004637: DUP2
00004638: ADD
00004639: DUP7
0000463a: SWAP1
0000463b: MSTORE
0000463c: PUSH1 0x01
0000463e: SWAP1
0000463f: PUSH1 0xa0
00004641: ADD
00004642: PUSH1 0x20
00004644: PUSH1 0x40
00004646: MLOAD
00004647: PUSH1 0x20
00004649: DUP2
0000464a: SUB
0000464b: SWAP1
0000464c: DUP1
0000464d: DUP5
0000464e: SUB
0000464f: SWAP1
00004650: DUP6
00004651: GAS
00004652: STATICCALL
00004653: ISZERO
00004654: DUP1
00004655: ISZERO
00004656: PUSH2 0x4663
00004659: JUMPI
0000465a: RETURNDATASIZE
0000465b: PUSH1 0x00
0000465d: DUP1
0000465e: RETURNDATACOPY
0000465f: RETURNDATASIZE
00004660: PUSH1 0x00
00004662: REVERT
00004663: JUMPDEST
00004664: POP
00004665: POP
00004666: PUSH1 0x40
00004668: MLOAD
00004669: PUSH1 0x1f
0000466b: NOT
0000466c: ADD
0000466d: MLOAD
0000466e: SWAP2
0000466f: POP
00004670: POP
00004671: PUSH1 0x01
00004673: PUSH1 0x01
00004675: PUSH1 0xa0
00004677: SHL
00004678: SUB
00004679: DUP2
0000467a: AND
0000467b: PUSH2 0x468f
0000467e: JUMPI
0000467f: POP
00004680: PUSH1 0x00
00004682: SWAP3
00004683: POP
00004684: PUSH1 0x01
00004686: SWAP2
00004687: POP
00004688: DUP3
00004689: SWAP1
0000468a: POP
0000468b: PUSH2 0x4699
0000468e: JUMP
0000468f: JUMPDEST
00004690: SWAP3
00004691: POP
00004692: PUSH1 0x00
00004694: SWAP2
00004695: POP
00004696: DUP2
00004697: SWAP1
00004698: POP
00004699: JUMPDEST
0000469a: SWAP5
0000469b: POP
0000469c: SWAP5
0000469d: POP
0000469e: SWAP5
0000469f: SWAP2
000046a0: POP
000046a1: POP
000046a2: JUMP
000046a3: JUMPDEST
000046a4: PUSH1 0x00
000046a6: PUSH1 0x01
000046a8: PUSH1 0x01
000046aa: PUSH1 0xa0
000046ac: SHL
000046ad: SUB
000046ae: DUP1
000046af: DUP10
000046b0: AND
000046b1: DUP4
000046b2: MSTORE
000046b3: DUP8
000046b4: ISZERO
000046b5: ISZERO
000046b6: PUSH1 0x20
000046b8: DUP5
000046b9: ADD
000046ba: MSTORE
000046bb: DUP7
000046bc: PUSH1 0x40
000046be: DUP5
000046bf: ADD
000046c0: MSTORE
000046c1: DUP1
000046c2: DUP7
000046c3: AND
000046c4: PUSH1 0x60
000046c6: DUP5
000046c7: ADD
000046c8: MSTORE
000046c9: POP
000046ca: PUSH1 0xa0
000046cc: PUSH1 0x80
000046ce: DUP4
000046cf: ADD
000046d0: MSTORE
000046d1: DUP3
000046d2: PUSH1 0xa0
000046d4: DUP4
000046d5: ADD
000046d6: MSTORE
000046d7: DUP3
000046d8: DUP5
000046d9: PUSH1 0xc0
000046db: DUP5
000046dc: ADD
000046dd: CALLDATACOPY
000046de: PUSH1 0x00
000046e0: PUSH1 0xc0
000046e2: DUP5
000046e3: DUP5
000046e4: ADD
000046e5: ADD
000046e6: MSTORE
000046e7: PUSH1 0xc0
000046e9: PUSH1 0x1f
000046eb: NOT
000046ec: PUSH1 0x1f
000046ee: DUP6
000046ef: ADD
000046f0: AND
000046f1: DUP4
000046f2: ADD
000046f3: ADD
000046f4: SWAP1
000046f5: POP
000046f6: SWAP8
000046f7: SWAP7
000046f8: POP
000046f9: POP
000046fa: POP
000046fb: POP
000046fc: POP
000046fd: POP
000046fe: POP
000046ff: JUMP
00004700: JUMPDEST
00004701: PUSH1 0x00
00004703: DUP1
00004704: PUSH1 0x40
00004706: DUP4
00004707: DUP6
00004708: SUB
00004709: SLT
0000470a: ISZERO
0000470b: PUSH2 0x4713
0000470e: JUMPI
0000470f: PUSH1 0x00
00004711: DUP1
00004712: REVERT
00004713: JUMPDEST
00004714: POP
00004715: POP
00004716: DUP1
00004717: MLOAD
00004718: PUSH1 0x20
0000471a: SWAP1
0000471b: SWAP2
0000471c: ADD
0000471d: MLOAD
0000471e: SWAP1
0000471f: SWAP3
00004720: SWAP1
00004721: SWAP2
00004722: POP
00004723: JUMP
00004724: JUMPDEST
00004725: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004746: PUSH1 0x00
00004748: MSTORE
00004749: PUSH1 0x11
0000474b: PUSH1 0x04
0000474d: MSTORE
0000474e: PUSH1 0x24
00004750: PUSH1 0x00
00004752: REVERT
00004753: JUMPDEST
00004754: PUSH1 0x00
00004756: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00004777: DUP3
00004778: SUB
00004779: PUSH2 0x4784
0000477c: JUMPI
0000477d: PUSH2 0x4784
00004780: PUSH2 0x4724
00004783: JUMP
00004784: JUMPDEST
00004785: POP
00004786: PUSH1 0x00
00004788: SUB
00004789: SWAP1
0000478a: JUMP
0000478b: JUMPDEST
0000478c: PUSH1 0x01
0000478e: PUSH1 0x01
00004790: PUSH1 0xa0
00004792: SHL
00004793: SUB
00004794: DUP2
00004795: AND
00004796: DUP2
00004797: EQ
00004798: PUSH2 0x47a0
0000479b: JUMPI
0000479c: PUSH1 0x00
0000479e: DUP1
0000479f: REVERT
000047a0: JUMPDEST
000047a1: POP
000047a2: JUMP
000047a3: JUMPDEST
000047a4: DUP1
000047a5: MLOAD
000047a6: PUSH2 0xffff
000047a9: DUP2
000047aa: AND
000047ab: DUP2
000047ac: EQ
000047ad: PUSH2 0x47b5
000047b0: JUMPI
000047b1: PUSH1 0x00
000047b3: DUP1
000047b4: REVERT
000047b5: JUMPDEST
000047b6: SWAP2
000047b7: SWAP1
000047b8: POP
000047b9: JUMP
000047ba: JUMPDEST
000047bb: PUSH1 0x00
000047bd: DUP1
000047be: PUSH1 0x00
000047c0: DUP1
000047c1: PUSH1 0x00
000047c3: DUP1
000047c4: PUSH1 0x00
000047c6: PUSH1 0xe0
000047c8: DUP9
000047c9: DUP11
000047ca: SUB
000047cb: SLT
000047cc: ISZERO
000047cd: PUSH2 0x47d5
000047d0: JUMPI
000047d1: PUSH1 0x00
000047d3: DUP1
000047d4: REVERT
000047d5: JUMPDEST
000047d6: DUP8
000047d7: MLOAD
000047d8: PUSH2 0x47e0
000047db: DUP2
000047dc: PUSH2 0x478b
000047df: JUMP
000047e0: JUMPDEST
000047e1: DUP1
000047e2: SWAP8
000047e3: POP
000047e4: POP
000047e5: PUSH1 0x20
000047e7: DUP9
000047e8: ADD
000047e9: MLOAD
000047ea: DUP1
000047eb: PUSH1 0x02
000047ed: SIGNEXTEND
000047ee: DUP2
000047ef: EQ
000047f0: PUSH2 0x47f8
000047f3: JUMPI
000047f4: PUSH1 0x00
000047f6: DUP1
000047f7: REVERT
000047f8: JUMPDEST
000047f9: SWAP6
000047fa: POP
000047fb: PUSH2 0x4806
000047fe: PUSH1 0x40
00004800: DUP10
00004801: ADD
00004802: PUSH2 0x47a3
00004805: JUMP
00004806: JUMPDEST
00004807: SWAP5
00004808: POP
00004809: PUSH2 0x4814
0000480c: PUSH1 0x60
0000480e: DUP10
0000480f: ADD
00004810: PUSH2 0x47a3
00004813: JUMP
00004814: JUMPDEST
00004815: SWAP4
00004816: POP
00004817: PUSH2 0x4822
0000481a: PUSH1 0x80
0000481c: DUP10
0000481d: ADD
0000481e: PUSH2 0x47a3
00004821: JUMP
00004822: JUMPDEST
00004823: SWAP3
00004824: POP
00004825: PUSH1 0xa0
00004827: DUP9
00004828: ADD
00004829: MLOAD
0000482a: PUSH1 0xff
0000482c: DUP2
0000482d: AND
0000482e: DUP2
0000482f: EQ
00004830: PUSH2 0x4838
00004833: JUMPI
00004834: PUSH1 0x00
00004836: DUP1
00004837: REVERT
00004838: JUMPDEST
00004839: PUSH1 0xc0
0000483b: DUP10
0000483c: ADD
0000483d: MLOAD
0000483e: SWAP1
0000483f: SWAP3
00004840: POP
00004841: DUP1
00004842: ISZERO
00004843: ISZERO
00004844: DUP2
00004845: EQ
00004846: PUSH2 0x484e
00004849: JUMPI
0000484a: PUSH1 0x00
0000484c: DUP1
0000484d: REVERT
0000484e: JUMPDEST
0000484f: DUP1
00004850: SWAP2
00004851: POP
00004852: POP
00004853: SWAP3
00004854: SWAP6
00004855: SWAP9
00004856: SWAP2
00004857: SWAP5
00004858: SWAP8
00004859: POP
0000485a: SWAP3
0000485b: SWAP6
0000485c: POP
0000485d: JUMP
0000485e: JUMPDEST
0000485f: PUSH1 0x00
00004861: JUMPDEST
00004862: DUP4
00004863: DUP2
00004864: LT
00004865: ISZERO
00004866: PUSH2 0x4879
00004869: JUMPI
0000486a: DUP2
0000486b: DUP2
0000486c: ADD
0000486d: MLOAD
0000486e: DUP4
0000486f: DUP3
00004870: ADD
00004871: MSTORE
00004872: PUSH1 0x20
00004874: ADD
00004875: PUSH2 0x4861
00004878: JUMP
00004879: JUMPDEST
0000487a: POP
0000487b: POP
0000487c: PUSH1 0x00
0000487e: SWAP2
0000487f: ADD
00004880: MSTORE
00004881: JUMP
00004882: JUMPDEST
00004883: PUSH1 0x01
00004885: PUSH1 0x01
00004887: PUSH1 0xa0
00004889: SHL
0000488a: SUB
0000488b: DUP7
0000488c: AND
0000488d: DUP2
0000488e: MSTORE
0000488f: DUP5
00004890: PUSH1 0x02
00004892: SIGNEXTEND
00004893: PUSH1 0x20
00004895: DUP3
00004896: ADD
00004897: MSTORE
00004898: DUP4
00004899: PUSH1 0x02
0000489b: SIGNEXTEND
0000489c: PUSH1 0x40
0000489e: DUP3
0000489f: ADD
000048a0: MSTORE
000048a1: PUSH16 0xffffffffffffffffffffffffffffffff
000048b2: DUP4
000048b3: AND
000048b4: PUSH1 0x60
000048b6: DUP3
000048b7: ADD
000048b8: MSTORE
000048b9: PUSH1 0xa0
000048bb: PUSH1 0x80
000048bd: DUP3
000048be: ADD
000048bf: MSTORE
000048c0: PUSH1 0x00
000048c2: DUP3
000048c3: MLOAD
000048c4: DUP1
000048c5: PUSH1 0xa0
000048c7: DUP5
000048c8: ADD
000048c9: MSTORE
000048ca: PUSH2 0x48da
000048cd: DUP2
000048ce: PUSH1 0xc0
000048d0: DUP6
000048d1: ADD
000048d2: PUSH1 0x20
000048d4: DUP8
000048d5: ADD
000048d6: PUSH2 0x485e
000048d9: JUMP
000048da: JUMPDEST
000048db: PUSH1 0x1f
000048dd: ADD
000048de: PUSH1 0x1f
000048e0: NOT
000048e1: AND
000048e2: SWAP2
000048e3: SWAP1
000048e4: SWAP2
000048e5: ADD
000048e6: PUSH1 0xc0
000048e8: ADD
000048e9: SWAP7
000048ea: SWAP6
000048eb: POP
000048ec: POP
000048ed: POP
000048ee: POP
000048ef: POP
000048f0: POP
000048f1: JUMP
000048f2: JUMPDEST
000048f3: DUP1
000048f4: MLOAD
000048f5: PUSH16 0xffffffffffffffffffffffffffffffff
00004906: DUP2
00004907: AND
00004908: DUP2
00004909: EQ
0000490a: PUSH2 0x47b5
0000490d: JUMPI
0000490e: PUSH1 0x00
00004910: DUP1
00004911: REVERT
00004912: JUMPDEST
00004913: PUSH1 0x00
00004915: DUP1
00004916: PUSH1 0x40
00004918: DUP4
00004919: DUP6
0000491a: SUB
0000491b: SLT
0000491c: ISZERO
0000491d: PUSH2 0x4925
00004920: JUMPI
00004921: PUSH1 0x00
00004923: DUP1
00004924: REVERT
00004925: JUMPDEST
00004926: PUSH2 0x492e
00004929: DUP4
0000492a: PUSH2 0x48f2
0000492d: JUMP
0000492e: JUMPDEST
0000492f: SWAP2
00004930: POP
00004931: PUSH2 0x493c
00004934: PUSH1 0x20
00004936: DUP5
00004937: ADD
00004938: PUSH2 0x48f2
0000493b: JUMP
0000493c: JUMPDEST
0000493d: SWAP1
0000493e: POP
0000493f: SWAP3
00004940: POP
00004941: SWAP3
00004942: SWAP1
00004943: POP
00004944: JUMP
00004945: JUMPDEST
00004946: DUP1
00004947: MLOAD
00004948: PUSH14 0xffffffffffffffffffffffffffff
00004957: DUP2
00004958: AND
00004959: DUP2
0000495a: EQ
0000495b: PUSH2 0x47b5
0000495e: JUMPI
0000495f: PUSH1 0x00
00004961: DUP1
00004962: REVERT
00004963: JUMPDEST
00004964: PUSH1 0x00
00004966: DUP1
00004967: PUSH1 0x00
00004969: PUSH1 0x60
0000496b: DUP5
0000496c: DUP7
0000496d: SUB
0000496e: SLT
0000496f: ISZERO
00004970: PUSH2 0x4978
00004973: JUMPI
00004974: PUSH1 0x00
00004976: DUP1
00004977: REVERT
00004978: JUMPDEST
00004979: PUSH2 0x4981
0000497c: DUP5
0000497d: PUSH2 0x4945
00004980: JUMP
00004981: JUMPDEST
00004982: SWAP3
00004983: POP
00004984: PUSH2 0x498f
00004987: PUSH1 0x20
00004989: DUP6
0000498a: ADD
0000498b: PUSH2 0x4945
0000498e: JUMP
0000498f: JUMPDEST
00004990: SWAP2
00004991: POP
00004992: PUSH1 0x40
00004994: DUP5
00004995: ADD
00004996: MLOAD
00004997: PUSH4 0xffffffff
0000499c: DUP2
0000499d: AND
0000499e: DUP2
0000499f: EQ
000049a0: PUSH2 0x49a8
000049a3: JUMPI
000049a4: PUSH1 0x00
000049a6: DUP1
000049a7: REVERT
000049a8: JUMPDEST
000049a9: DUP1
000049aa: SWAP2
000049ab: POP
000049ac: POP
000049ad: SWAP3
000049ae: POP
000049af: SWAP3
000049b0: POP
000049b1: SWAP3
000049b2: JUMP
000049b3: JUMPDEST
000049b4: PUSH1 0x00
000049b6: PUSH1 0x20
000049b8: DUP3
000049b9: DUP5
000049ba: SUB
000049bb: SLT
000049bc: ISZERO
000049bd: PUSH2 0x49c5
000049c0: JUMPI
000049c1: PUSH1 0x00
000049c3: DUP1
000049c4: REVERT
000049c5: JUMPDEST
000049c6: POP
000049c7: MLOAD
000049c8: SWAP2
000049c9: SWAP1
000049ca: POP
000049cb: JUMP
000049cc: JUMPDEST
000049cd: DUP2
000049ce: DUP2
000049cf: SUB
000049d0: DUP2
000049d1: DUP2
000049d2: GT
000049d3: ISZERO
000049d4: PUSH2 0x447d
000049d7: JUMPI
000049d8: PUSH2 0x447d
000049db: PUSH2 0x4724
000049de: JUMP
000049df: JUMPDEST
000049e0: DUP2
000049e1: DUP4
000049e2: DUP3
000049e3: CALLDATACOPY
000049e4: PUSH1 0x00
000049e6: SWAP2
000049e7: ADD
000049e8: SWAP1
000049e9: DUP2
000049ea: MSTORE
000049eb: SWAP2
000049ec: SWAP1
000049ed: POP
000049ee: JUMP
000049ef: JUMPDEST
000049f0: PUSH1 0x00
000049f2: DUP1
000049f3: DUP6
000049f4: DUP6
000049f5: GT
000049f6: ISZERO
000049f7: PUSH2 0x49ff
000049fa: JUMPI
000049fb: PUSH1 0x00
000049fd: DUP1
000049fe: REVERT
000049ff: JUMPDEST
00004a00: DUP4
00004a01: DUP7
00004a02: GT
00004a03: ISZERO
00004a04: PUSH2 0x4a0c
00004a07: JUMPI
00004a08: PUSH1 0x00
00004a0a: DUP1
00004a0b: REVERT
00004a0c: JUMPDEST
00004a0d: POP
00004a0e: POP
00004a0f: DUP3
00004a10: ADD
00004a11: SWAP4
00004a12: SWAP2
00004a13: SWAP1
00004a14: SWAP3
00004a15: SUB
00004a16: SWAP2
00004a17: POP
00004a18: JUMP
00004a19: JUMPDEST
00004a1a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004a3b: PUSH1 0x00
00004a3d: MSTORE
00004a3e: PUSH1 0x41
00004a40: PUSH1 0x04
00004a42: MSTORE
00004a43: PUSH1 0x24
00004a45: PUSH1 0x00
00004a47: REVERT
00004a48: JUMPDEST
00004a49: PUSH1 0x40
00004a4b: MLOAD
00004a4c: PUSH1 0x1f
00004a4e: DUP3
00004a4f: ADD
00004a50: PUSH1 0x1f
00004a52: NOT
00004a53: AND
00004a54: DUP2
00004a55: ADD
00004a56: PUSH8 0xffffffffffffffff
00004a5f: DUP2
00004a60: GT
00004a61: DUP3
00004a62: DUP3
00004a63: LT
00004a64: OR
00004a65: ISZERO
00004a66: PUSH2 0x4a71
00004a69: JUMPI
00004a6a: PUSH2 0x4a71
00004a6d: PUSH2 0x4a19
00004a70: JUMP
00004a71: JUMPDEST
00004a72: PUSH1 0x40
00004a74: MSTORE
00004a75: SWAP2
00004a76: SWAP1
00004a77: POP
00004a78: JUMP
00004a79: JUMPDEST
00004a7a: PUSH1 0x00
00004a7c: DUP3
00004a7d: PUSH1 0x1f
00004a7f: DUP4
00004a80: ADD
00004a81: SLT
00004a82: PUSH2 0x4a8a
00004a85: JUMPI
00004a86: PUSH1 0x00
00004a88: DUP1
00004a89: REVERT
00004a8a: JUMPDEST
00004a8b: DUP2
00004a8c: CALLDATALOAD
00004a8d: PUSH8 0xffffffffffffffff
00004a96: DUP2
00004a97: GT
00004a98: ISZERO
00004a99: PUSH2 0x4aa4
00004a9c: JUMPI
00004a9d: PUSH2 0x4aa4
00004aa0: PUSH2 0x4a19
00004aa3: JUMP
00004aa4: JUMPDEST
00004aa5: PUSH2 0x4ab7
00004aa8: PUSH1 0x20
00004aaa: PUSH1 0x1f
00004aac: NOT
00004aad: PUSH1 0x1f
00004aaf: DUP5
00004ab0: ADD
00004ab1: AND
00004ab2: ADD
00004ab3: PUSH2 0x4a48
00004ab6: JUMP
00004ab7: JUMPDEST
00004ab8: DUP2
00004ab9: DUP2
00004aba: MSTORE
00004abb: DUP5
00004abc: PUSH1 0x20
00004abe: DUP4
00004abf: DUP7
00004ac0: ADD
00004ac1: ADD
00004ac2: GT
00004ac3: ISZERO
00004ac4: PUSH2 0x4acc
00004ac7: JUMPI
00004ac8: PUSH1 0x00
00004aca: DUP1
00004acb: REVERT
00004acc: JUMPDEST
00004acd: DUP2
00004ace: PUSH1 0x20
00004ad0: DUP6
00004ad1: ADD
00004ad2: PUSH1 0x20
00004ad4: DUP4
00004ad5: ADD
00004ad6: CALLDATACOPY
00004ad7: PUSH1 0x00
00004ad9: SWAP2
00004ada: DUP2
00004adb: ADD
00004adc: PUSH1 0x20
00004ade: ADD
00004adf: SWAP2
00004ae0: SWAP1
00004ae1: SWAP2
00004ae2: MSTORE
00004ae3: SWAP4
00004ae4: SWAP3
00004ae5: POP
00004ae6: POP
00004ae7: POP
00004ae8: JUMP
00004ae9: JUMPDEST
00004aea: PUSH1 0x00
00004aec: DUP1
00004aed: PUSH1 0x40
00004aef: DUP4
00004af0: DUP6
00004af1: SUB
00004af2: SLT
00004af3: ISZERO
00004af4: PUSH2 0x4afc
00004af7: JUMPI
00004af8: PUSH1 0x00
00004afa: DUP1
00004afb: REVERT
00004afc: JUMPDEST
00004afd: DUP3
00004afe: CALLDATALOAD
00004aff: PUSH2 0x4b07
00004b02: DUP2
00004b03: PUSH2 0x478b
00004b06: JUMP
00004b07: JUMPDEST
00004b08: SWAP2
00004b09: POP
00004b0a: PUSH1 0x20
00004b0c: DUP4
00004b0d: ADD
00004b0e: CALLDATALOAD
00004b0f: PUSH8 0xffffffffffffffff
00004b18: DUP2
00004b19: GT
00004b1a: ISZERO
00004b1b: PUSH2 0x4b23
00004b1e: JUMPI
00004b1f: PUSH1 0x00
00004b21: DUP1
00004b22: REVERT
00004b23: JUMPDEST
00004b24: PUSH2 0x4b2f
00004b27: DUP6
00004b28: DUP3
00004b29: DUP7
00004b2a: ADD
00004b2b: PUSH2 0x4a79
00004b2e: JUMP
00004b2f: JUMPDEST
00004b30: SWAP2
00004b31: POP
00004b32: POP
00004b33: SWAP3
00004b34: POP
00004b35: SWAP3
00004b36: SWAP1
00004b37: POP
00004b38: JUMP
00004b39: JUMPDEST
00004b3a: PUSH1 0x00
00004b3c: DUP3
00004b3d: MLOAD
00004b3e: PUSH2 0x4b4b
00004b41: DUP2
00004b42: DUP5
00004b43: PUSH1 0x20
00004b45: DUP8
00004b46: ADD
00004b47: PUSH2 0x485e
00004b4a: JUMP
00004b4b: JUMPDEST
00004b4c: SWAP2
00004b4d: SWAP1
00004b4e: SWAP2
00004b4f: ADD
00004b50: SWAP3
00004b51: SWAP2
00004b52: POP
00004b53: POP
00004b54: JUMP
00004b55: JUMPDEST
00004b56: PUSH1 0x00
00004b58: PUSH8 0xffffffffffffffff
00004b61: DUP3
00004b62: GT
00004b63: ISZERO
00004b64: PUSH2 0x4b6f
00004b67: JUMPI
00004b68: PUSH2 0x4b6f
00004b6b: PUSH2 0x4a19
00004b6e: JUMP
00004b6f: JUMPDEST
00004b70: POP
00004b71: PUSH1 0x05
00004b73: SHL
00004b74: PUSH1 0x20
00004b76: ADD
00004b77: SWAP1
00004b78: JUMP
00004b79: JUMPDEST
00004b7a: PUSH1 0x00
00004b7c: DUP3
00004b7d: PUSH1 0x1f
00004b7f: DUP4
00004b80: ADD
00004b81: SLT
00004b82: PUSH2 0x4b8a
00004b85: JUMPI
00004b86: PUSH1 0x00
00004b88: DUP1
00004b89: REVERT
00004b8a: JUMPDEST
00004b8b: DUP2
00004b8c: CALLDATALOAD
00004b8d: PUSH1 0x20
00004b8f: PUSH2 0x4b9f
00004b92: PUSH2 0x4b9a
00004b95: DUP4
00004b96: PUSH2 0x4b55
00004b99: JUMP
00004b9a: JUMPDEST
00004b9b: PUSH2 0x4a48
00004b9e: JUMP
00004b9f: JUMPDEST
00004ba0: DUP3
00004ba1: DUP2
00004ba2: MSTORE
00004ba3: PUSH1 0x05
00004ba5: SWAP3
00004ba6: SWAP1
00004ba7: SWAP3
00004ba8: SHL
00004ba9: DUP5
00004baa: ADD
00004bab: DUP2
00004bac: ADD
00004bad: SWAP2
00004bae: DUP2
00004baf: DUP2
00004bb0: ADD
00004bb1: SWAP1
00004bb2: DUP7
00004bb3: DUP5
00004bb4: GT
00004bb5: ISZERO
00004bb6: PUSH2 0x4bbe
00004bb9: JUMPI
00004bba: PUSH1 0x00
00004bbc: DUP1
00004bbd: REVERT
00004bbe: JUMPDEST
00004bbf: DUP3
00004bc0: DUP7
00004bc1: ADD
00004bc2: JUMPDEST
00004bc3: DUP5
00004bc4: DUP2
00004bc5: LT
00004bc6: ISZERO
00004bc7: PUSH2 0x4be2
00004bca: JUMPI
00004bcb: DUP1
00004bcc: CALLDATALOAD
00004bcd: PUSH2 0x4bd5
00004bd0: DUP2
00004bd1: PUSH2 0x478b
00004bd4: JUMP
00004bd5: JUMPDEST
00004bd6: DUP4
00004bd7: MSTORE
00004bd8: SWAP2
00004bd9: DUP4
00004bda: ADD
00004bdb: SWAP2
00004bdc: DUP4
00004bdd: ADD
00004bde: PUSH2 0x4bc2
00004be1: JUMP
00004be2: JUMPDEST
00004be3: POP
00004be4: SWAP7
00004be5: SWAP6
00004be6: POP
00004be7: POP
00004be8: POP
00004be9: POP
00004bea: POP
00004beb: POP
00004bec: JUMP
00004bed: JUMPDEST
00004bee: PUSH1 0x00
00004bf0: DUP3
00004bf1: PUSH1 0x1f
00004bf3: DUP4
00004bf4: ADD
00004bf5: SLT
00004bf6: PUSH2 0x4bfe
00004bf9: JUMPI
00004bfa: PUSH1 0x00
00004bfc: DUP1
00004bfd: REVERT
00004bfe: JUMPDEST
00004bff: DUP2
00004c00: CALLDATALOAD
00004c01: PUSH1 0x20
00004c03: PUSH2 0x4c0e
00004c06: PUSH2 0x4b9a
00004c09: DUP4
00004c0a: PUSH2 0x4b55
00004c0d: JUMP
00004c0e: JUMPDEST
00004c0f: DUP3
00004c10: DUP2
00004c11: MSTORE
00004c12: PUSH1 0x05
00004c14: SWAP3
00004c15: SWAP1
00004c16: SWAP3
00004c17: SHL
00004c18: DUP5
00004c19: ADD
00004c1a: DUP2
00004c1b: ADD
00004c1c: SWAP2
00004c1d: DUP2
00004c1e: DUP2
00004c1f: ADD
00004c20: SWAP1
00004c21: DUP7
00004c22: DUP5
00004c23: GT
00004c24: ISZERO
00004c25: PUSH2 0x4c2d
00004c28: JUMPI
00004c29: PUSH1 0x00
00004c2b: DUP1
00004c2c: REVERT
00004c2d: JUMPDEST
00004c2e: DUP3
00004c2f: DUP7
00004c30: ADD
00004c31: JUMPDEST
00004c32: DUP5
00004c33: DUP2
00004c34: LT
00004c35: ISZERO
00004c36: PUSH2 0x4be2
00004c39: JUMPI
00004c3a: DUP1
00004c3b: CALLDATALOAD
00004c3c: PUSH8 0xffffffffffffffff
00004c45: DUP2
00004c46: GT
00004c47: ISZERO
00004c48: PUSH2 0x4c51
00004c4b: JUMPI
00004c4c: PUSH1 0x00
00004c4e: DUP1
00004c4f: DUP2
00004c50: REVERT
00004c51: JUMPDEST
00004c52: PUSH2 0x4c5f
00004c55: DUP10
00004c56: DUP7
00004c57: DUP4
00004c58: DUP12
00004c59: ADD
00004c5a: ADD
00004c5b: PUSH2 0x4a79
00004c5e: JUMP
00004c5f: JUMPDEST
00004c60: DUP5
00004c61: MSTORE
00004c62: POP
00004c63: SWAP2
00004c64: DUP4
00004c65: ADD
00004c66: SWAP2
00004c67: DUP4
00004c68: ADD
00004c69: PUSH2 0x4c31
00004c6c: JUMP
00004c6d: JUMPDEST
00004c6e: PUSH1 0x00
00004c70: DUP1
00004c71: PUSH1 0x40
00004c73: DUP4
00004c74: DUP6
00004c75: SUB
00004c76: SLT
00004c77: ISZERO
00004c78: PUSH2 0x4c80
00004c7b: JUMPI
00004c7c: PUSH1 0x00
00004c7e: DUP1
00004c7f: REVERT
00004c80: JUMPDEST
00004c81: DUP3
00004c82: CALLDATALOAD
00004c83: PUSH8 0xffffffffffffffff
00004c8c: DUP1
00004c8d: DUP3
00004c8e: GT
00004c8f: ISZERO
00004c90: PUSH2 0x4c98
00004c93: JUMPI
00004c94: PUSH1 0x00
00004c96: DUP1
00004c97: REVERT
00004c98: JUMPDEST
00004c99: PUSH2 0x4ca4
00004c9c: DUP7
00004c9d: DUP4
00004c9e: DUP8
00004c9f: ADD
00004ca0: PUSH2 0x4b79
00004ca3: JUMP
00004ca4: JUMPDEST
00004ca5: SWAP4
00004ca6: POP
00004ca7: PUSH1 0x20
00004ca9: DUP6
00004caa: ADD
00004cab: CALLDATALOAD
00004cac: SWAP2
00004cad: POP
00004cae: DUP1
00004caf: DUP3
00004cb0: GT
00004cb1: ISZERO
00004cb2: PUSH2 0x4cba
00004cb5: JUMPI
00004cb6: PUSH1 0x00
00004cb8: DUP1
00004cb9: REVERT
00004cba: JUMPDEST
00004cbb: POP
00004cbc: PUSH2 0x4b2f
00004cbf: DUP6
00004cc0: DUP3
00004cc1: DUP7
00004cc2: ADD
00004cc3: PUSH2 0x4bed
00004cc6: JUMP
00004cc7: JUMPDEST
00004cc8: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004ce9: PUSH1 0x00
00004ceb: MSTORE
00004cec: PUSH1 0x32
00004cee: PUSH1 0x04
00004cf0: MSTORE
00004cf1: PUSH1 0x24
00004cf3: PUSH1 0x00
00004cf5: REVERT
00004cf6: JUMPDEST
00004cf7: PUSH1 0x00
00004cf9: DUP1
00004cfa: PUSH1 0x00
00004cfc: PUSH1 0x60
00004cfe: DUP5
00004cff: DUP7
00004d00: SUB
00004d01: SLT
00004d02: ISZERO
00004d03: PUSH2 0x4d0b
00004d06: JUMPI
00004d07: PUSH1 0x00
00004d09: DUP1
00004d0a: REVERT
00004d0b: JUMPDEST
00004d0c: DUP4
00004d0d: CALLDATALOAD
00004d0e: PUSH8 0xffffffffffffffff
00004d17: DUP1
00004d18: DUP3
00004d19: GT
00004d1a: ISZERO
00004d1b: PUSH2 0x4d23
00004d1e: JUMPI
00004d1f: PUSH1 0x00
00004d21: DUP1
00004d22: REVERT
00004d23: JUMPDEST
00004d24: PUSH2 0x4d2f
00004d27: DUP8
00004d28: DUP4
00004d29: DUP9
00004d2a: ADD
00004d2b: PUSH2 0x4b79
00004d2e: JUMP
00004d2f: JUMPDEST
00004d30: SWAP5
00004d31: POP
00004d32: PUSH1 0x20
00004d34: DUP7
00004d35: ADD
00004d36: CALLDATALOAD
00004d37: SWAP2
00004d38: POP
00004d39: DUP1
00004d3a: DUP3
00004d3b: GT
00004d3c: ISZERO
00004d3d: PUSH2 0x4d45
00004d40: JUMPI
00004d41: PUSH1 0x00
00004d43: DUP1
00004d44: REVERT
00004d45: JUMPDEST
00004d46: POP
00004d47: PUSH2 0x4d52
00004d4a: DUP7
00004d4b: DUP3
00004d4c: DUP8
00004d4d: ADD
00004d4e: PUSH2 0x4bed
00004d51: JUMP
00004d52: JUMPDEST
00004d53: SWAP3
00004d54: POP
00004d55: POP
00004d56: PUSH1 0x40
00004d58: DUP5
00004d59: ADD
00004d5a: CALLDATALOAD
00004d5b: SWAP1
00004d5c: POP
00004d5d: SWAP3
00004d5e: POP
00004d5f: SWAP3
00004d60: POP
00004d61: SWAP3
00004d62: JUMP
00004d63: JUMPDEST
00004d64: PUSH1 0x00
00004d66: DUP3
00004d67: PUSH1 0x1f
00004d69: DUP4
00004d6a: ADD
00004d6b: SLT
00004d6c: PUSH2 0x4d74
00004d6f: JUMPI
00004d70: PUSH1 0x00
00004d72: DUP1
00004d73: REVERT
00004d74: JUMPDEST
00004d75: DUP2
00004d76: CALLDATALOAD
00004d77: PUSH1 0x20
00004d79: PUSH2 0x4d84
00004d7c: PUSH2 0x4b9a
00004d7f: DUP4
00004d80: PUSH2 0x4b55
00004d83: JUMP
00004d84: JUMPDEST
00004d85: DUP3
00004d86: DUP2
00004d87: MSTORE
00004d88: PUSH1 0x05
00004d8a: SWAP3
00004d8b: SWAP1
00004d8c: SWAP3
00004d8d: SHL
00004d8e: DUP5
00004d8f: ADD
00004d90: DUP2
00004d91: ADD
00004d92: SWAP2
00004d93: DUP2
00004d94: DUP2
00004d95: ADD
00004d96: SWAP1
00004d97: DUP7
00004d98: DUP5
00004d99: GT
00004d9a: ISZERO
00004d9b: PUSH2 0x4da3
00004d9e: JUMPI
00004d9f: PUSH1 0x00
00004da1: DUP1
00004da2: REVERT
00004da3: JUMPDEST
00004da4: DUP3
00004da5: DUP7
00004da6: ADD
00004da7: JUMPDEST
00004da8: DUP5
00004da9: DUP2
00004daa: LT
00004dab: ISZERO
00004dac: PUSH2 0x4be2
00004daf: JUMPI
00004db0: DUP1
00004db1: CALLDATALOAD
00004db2: DUP4
00004db3: MSTORE
00004db4: SWAP2
00004db5: DUP4
00004db6: ADD
00004db7: SWAP2
00004db8: DUP4
00004db9: ADD
00004dba: PUSH2 0x4da7
00004dbd: JUMP
00004dbe: JUMPDEST
00004dbf: PUSH1 0x00
00004dc1: DUP1
00004dc2: PUSH1 0x00
00004dc4: PUSH1 0x60
00004dc6: DUP5
00004dc7: DUP7
00004dc8: SUB
00004dc9: SLT
00004dca: ISZERO
00004dcb: PUSH2 0x4dd3
00004dce: JUMPI
00004dcf: PUSH1 0x00
00004dd1: DUP1
00004dd2: REVERT
00004dd3: JUMPDEST
00004dd4: DUP4
00004dd5: CALLDATALOAD
00004dd6: SWAP3
00004dd7: POP
00004dd8: PUSH1 0x20
00004dda: DUP5
00004ddb: ADD
00004ddc: CALLDATALOAD
00004ddd: PUSH8 0xffffffffffffffff
00004de6: DUP1
00004de7: DUP3
00004de8: GT
00004de9: ISZERO
00004dea: PUSH2 0x4df2
00004ded: JUMPI
00004dee: PUSH1 0x00
00004df0: DUP1
00004df1: REVERT
00004df2: JUMPDEST
00004df3: PUSH2 0x4dfe
00004df6: DUP8
00004df7: DUP4
00004df8: DUP9
00004df9: ADD
00004dfa: PUSH2 0x4b79
00004dfd: JUMP
00004dfe: JUMPDEST
00004dff: SWAP4
00004e00: POP
00004e01: PUSH1 0x40
00004e03: DUP7
00004e04: ADD
00004e05: CALLDATALOAD
00004e06: SWAP2
00004e07: POP
00004e08: DUP1
00004e09: DUP3
00004e0a: GT
00004e0b: ISZERO
00004e0c: PUSH2 0x4e14
00004e0f: JUMPI
00004e10: PUSH1 0x00
00004e12: DUP1
00004e13: REVERT
00004e14: JUMPDEST
00004e15: POP
00004e16: PUSH2 0x4e21
00004e19: DUP7
00004e1a: DUP3
00004e1b: DUP8
00004e1c: ADD
00004e1d: PUSH2 0x4d63
00004e20: JUMP
00004e21: JUMPDEST
00004e22: SWAP2
00004e23: POP
00004e24: POP
00004e25: SWAP3
00004e26: POP
00004e27: SWAP3
00004e28: POP
00004e29: SWAP3
00004e2a: JUMP
00004e2b: JUMPDEST
00004e2c: PUSH1 0x00
00004e2e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004e4f: DUP3
00004e50: SUB
00004e51: PUSH2 0x4e5c
00004e54: JUMPI
00004e55: PUSH2 0x4e5c
00004e58: PUSH2 0x4724
00004e5b: JUMP
00004e5c: JUMPDEST
00004e5d: POP
00004e5e: PUSH1 0x01
00004e60: ADD
00004e61: SWAP1
00004e62: JUMP
00004e63: JUMPDEST
00004e64: PUSH1 0x00
00004e66: DUP1
00004e67: PUSH1 0x00
00004e69: PUSH1 0x60
00004e6b: DUP5
00004e6c: DUP7
00004e6d: SUB
00004e6e: SLT
00004e6f: ISZERO
00004e70: PUSH2 0x4e78
00004e73: JUMPI
00004e74: PUSH1 0x00
00004e76: DUP1
00004e77: REVERT
00004e78: JUMPDEST
00004e79: DUP4
00004e7a: CALLDATALOAD
00004e7b: PUSH8 0xffffffffffffffff
00004e84: DUP1
00004e85: DUP3
00004e86: GT
00004e87: ISZERO
00004e88: PUSH2 0x4e90
00004e8b: JUMPI
00004e8c: PUSH1 0x00
00004e8e: DUP1
00004e8f: REVERT
00004e90: JUMPDEST
00004e91: PUSH2 0x4e9c
00004e94: DUP8
00004e95: DUP4
00004e96: DUP9
00004e97: ADD
00004e98: PUSH2 0x4b79
00004e9b: JUMP
00004e9c: JUMPDEST
00004e9d: SWAP5
00004e9e: POP
00004e9f: PUSH1 0x20
00004ea1: DUP7
00004ea2: ADD
00004ea3: CALLDATALOAD
00004ea4: SWAP2
00004ea5: POP
00004ea6: DUP1
00004ea7: DUP3
00004ea8: GT
00004ea9: ISZERO
00004eaa: PUSH2 0x4eb2
00004ead: JUMPI
00004eae: PUSH1 0x00
00004eb0: DUP1
00004eb1: REVERT
00004eb2: JUMPDEST
00004eb3: POP
00004eb4: PUSH2 0x4ebf
00004eb7: DUP7
00004eb8: DUP3
00004eb9: DUP8
00004eba: ADD
00004ebb: PUSH2 0x4d63
00004ebe: JUMP
00004ebf: JUMPDEST
00004ec0: SWAP3
00004ec1: POP
00004ec2: POP
00004ec3: PUSH1 0x40
00004ec5: DUP5
00004ec6: ADD
00004ec7: CALLDATALOAD
00004ec8: PUSH2 0x49a8
00004ecb: DUP2
00004ecc: PUSH2 0x478b
00004ecf: JUMP
00004ed0: JUMPDEST
00004ed1: PUSH1 0x00
00004ed3: DUP1
00004ed4: PUSH1 0x40
00004ed6: DUP4
00004ed7: DUP6
00004ed8: SUB
00004ed9: SLT
00004eda: ISZERO
00004edb: PUSH2 0x4ee3
00004ede: JUMPI
00004edf: PUSH1 0x00
00004ee1: DUP1
00004ee2: REVERT
00004ee3: JUMPDEST
00004ee4: DUP3
00004ee5: CALLDATALOAD
00004ee6: SWAP2
00004ee7: POP
00004ee8: PUSH1 0x20
00004eea: DUP4
00004eeb: ADD
00004eec: CALLDATALOAD
00004eed: PUSH8 0xffffffffffffffff
00004ef6: DUP2
00004ef7: GT
00004ef8: ISZERO
00004ef9: PUSH2 0x4b23
00004efc: JUMPI
00004efd: PUSH1 0x00
00004eff: DUP1
00004f00: REVERT
00004f01: JUMPDEST
00004f02: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004f23: PUSH1 0x00
00004f25: MSTORE
00004f26: PUSH1 0x12
00004f28: PUSH1 0x04
00004f2a: MSTORE
00004f2b: PUSH1 0x24
00004f2d: PUSH1 0x00
00004f2f: REVERT
00004f30: JUMPDEST
00004f31: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004f52: PUSH1 0x00
00004f54: MSTORE
00004f55: PUSH1 0x21
00004f57: PUSH1 0x04
00004f59: MSTORE
00004f5a: PUSH1 0x24
00004f5c: PUSH1 0x00
00004f5e: REVERT
00004f5f: INVALID
00004f60: LOG2
00004f61: PUSH5 0x6970667358
00004f67: UNKNOWN(0x22)
00004f68: SLT
00004f69: KECCAK256
00004f6a: UNKNOWN(0xC1)
00004f6b: SHL
00004f6c: SSTORE
00004f6d: UNKNOWN(0xC6)
00004f6e: CLZ
00004f6f: LOG2
00004f70: PUSH11 0xd978f86f41089d351cf6e8
00004f7c: UNKNOWN(0xFC)
00004f7d: PUSH29

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x5374fa0416282df4c63770406dfc10a11162b082a36b95789873b6d28f08157f
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 12,
    "trace_id": "0x5374fa0416282df4c63770406dfc10a11162b082a36b95789873b6d28f08157f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 13960,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 16994,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183
call_targets: 0xfbeedcfe378866dab6abbafd8b2986f5c1768737
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfbeedcfe378866dab6abbafd8b2986f5c1768737"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 894,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1296,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2582,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 38,
    "guards_detected": [],
    "untrusted_call_count": 38
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183
call_targets: 0xfbeedcfe378866dab6abbafd8b2986f5c1768737
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfbeedcfe378866dab6abbafd8b2986f5c1768737"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 894,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1296,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2582,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 38,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 17
}
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": 48
}