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

Analysis Run

4647b629-5188-4399-a000-3150e528c0b3

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 4:59 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 CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31690 report.consolidate complete 1 / 1 3 months ago
95563 artifact.fetch complete 1 / 3 2 weeks ago
95564 tool.cast_disasm complete 1 / 3 2 weeks ago
95565 analysis.bundle complete 1 / 3 2 weeks ago
95566 capability.graph complete 1 / 3 2 weeks ago
95567 detector.run complete 1 / 3 2 weeks ago
95568 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path found in the provided runtime bytecode; state-changing/withdrawal paths are owner/authorized-gated and the Uniswap V3 swap callback includes sender/pool validation, so bytecode-only analysis does not reveal a profit vector.
View stderr
[codex:1533139] OpenAI Codex v0.77.0 (research preview)
[codex:1533139] --------
[codex:1533139] workdir: /tmp/codex-multi-3k9nji45
[codex:1533139] model: gpt-5.2-codex
[codex:1533139] provider: openai
[codex:1533139] approval: never
[codex:1533139] sandbox: read-only
[codex:1533139] reasoning effort: xhigh
[codex:1533139] reasoning summaries: auto
[codex:1533139] session id: 019b8c80-8c76-74b2-bbd8-82b689f78faf
[codex:1533139] --------
[codex:1533139] user
[codex:1533139] 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:1533139] 
[codex:1533139] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1533139] 
[codex:1533139] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1533139] - Gas inefficiency, code quality, or best practices
[codex:1533139] - Theoretical vulnerabilities without a clear extraction path
[codex:1533139] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1533139] - Issues requiring social engineering or off-chain coordination
[codex:1533139] 
[codex:1533139] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1533139] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1533139] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1533139] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1533139] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1533139] - External calls before state updates (reentrancy)
[codex:1533139] - SELFDESTRUCT with controllable beneficiary
[codex:1533139] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1533139] 
[codex:1533139] For each finding, you MUST explain:
[codex:1533139] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1533139] 2. The concrete sequence of transactions to extract value
[codex:1533139] 3. Why you believe this is exploitable (not just suspicious)
[codex:1533139] 
[codex:1533139] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1533139] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1533139] 
[codex:1533139] Output MUST be valid JSON matching the provided schema.
[codex:1533139] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1533139] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1533139] mcp startup: no servers
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Preparing to gather instructions**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc ls in /tmp/codex-multi-3k9nji45 succeeded in 5ms:
[codex:1533139] BYTECODE_BUNDLE.txt
[codex:1533139] codex-output-schema.json
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Reading BYTECODE_BUNDLE.txt**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-3k9nji45 succeeded in 5ms:
[codex:1533139] Runtime bytecode bundle for best-effort auditing.
[codex:1533139] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1533139] 
[codex:1533139] FILE: runtime_bytecode.hex
[codex:1533139] 0x6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630423427d146116795780635ecb16cd1461151f57806366000a741461128a578063715018a6146111f057806375428c1a14610f0057806378ff96bb14610e855780637b33415414610e1d5780638da5cb5b14610dcd57806391dd7346146105ae578063a0ef91df1461054a578063ac43070b14610422578063dd7580b6146103a0578063f2fde38b146102b25763fa461e33146100bf575061000e565b346102af5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af5760243560043560443567ffffffffffffffff81116102ad57610114903690600401611b53565b810191906020818403126102a95780359067ffffffffffffffff82116102a157019283830361012081126102a1576040519361014f856117a3565b6101598187611927565b855260c08601359067ffffffffffffffff82116102a55761019f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff209160409389016119f5565b926020870193845201126102a15773ffffffffffffffffffffffffffffffffffffffff61021861028b966101f0610100604051926101dc846117db565b6101e860e08201611a9e565b84520161199a565b60208201526040870190815283519062ffffff84602081855116940151169151511691611e2c565b1690610225823314611c7e565b8684121561028e5761023a6102849394611ce3565b93905b51908473ffffffffffffffffffffffffffffffffffffffff83511673ffffffffffffffffffffffffffffffffffffffff602085015116906080606086015195015195611f9b565b9151612210565b80f35b61029a61028493611ce3565b939061023d565b8580fd5b8780fd5b8480fd5b835b80fd5b50346102af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af5773ffffffffffffffffffffffffffffffffffffffff6102ff611977565b610307611d6b565b1680156103745773ffffffffffffffffffffffffffffffffffffffff8254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b6024827f1e4fbdf700000000000000000000000000000000000000000000000000000000815280600452fd5b50346102af576103af36611aae565b6103b7611d6b565b815b815181101561041e578073ffffffffffffffffffffffffffffffffffffffff6103e460019385611bc4565b511684528160205260408420827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055016103b9565b8280f35b50346102af576104313661186c565b9061043a611d6b565b805b82518110156105465773ffffffffffffffffffffffffffffffffffffffff6104648285611bc4565b51166104a57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73d315a9c38ec871068fec378e4ce78af528c76293836123fb565b156104b4575b5060010161043c565b6104d273d315a9c38ec871068fec378e4ce78af528c762938261246f565b1561051b576105167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73d315a9c38ec871068fec378e4ce78af528c76293836124f4565b6104ab575b7f5274afe7000000000000000000000000000000000000000000000000000000008352600452602482fd5b5080f35b50346102af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af57610581611d6b565b80808080478181156105a5575b3390f1156105995780f35b604051903d90823e3d90fd5b506108fc61058e565b5034610d545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d54576105fe903690600401611b53565b6106186e04444c5dc75cb358380d2e3de08a903314611c7e565b810190602081830312610d545780359067ffffffffffffffff8211610d54570190818103906101608212610d545760405190610653826117a3565b61065d8185611927565b825260c08401359067ffffffffffffffff8211610d54576106a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff209160809387016119f5565b93602084019485520112610d5457604051926106be846117f7565b6106ca60e08201611a9e565b84526101008101358060020b8103610d5457610701916101409160208701526106f6610120820161199a565b60408701520161199a565b60608401526040810192835281519273ffffffffffffffffffffffffffffffffffffffff80602086015116945116928385105f14610dc3578491846001915b805191825162ffffff1692602081015160020b906040015173ffffffffffffffffffffffffffffffffffffffff16906040519761077c8961175a565b73ffffffffffffffffffffffffffffffffffffffff168852602088019273ffffffffffffffffffffffffffffffffffffffff1683526040880194855260608801908152608088019182528651604001516107d590611ce3565b93516060015173ffffffffffffffffffffffffffffffffffffffff1694604051936107ff856117a3565b87151585526020850195865260408501968752604051997ff3cd914c000000000000000000000000000000000000000000000000000000008b525173ffffffffffffffffffffffffffffffffffffffff1660048b01525173ffffffffffffffffffffffffffffffffffffffff1660248a01525162ffffff1660448901525160020b60648801525173ffffffffffffffffffffffffffffffffffffffff16608487015251151560a48601525160c48501525173ffffffffffffffffffffffffffffffffffffffff1660e48401526101048301610120905261012483015f905282805a6020925f6e04444c5dc75cb358380d2e3de08a9061014493f1928315610d49575f93610d8f575b508260801d905f14610d585761091c90611d3c565b6fffffffffffffffffffffffffffffffff16916fffffffffffffffffffffffffffffffff165b6e04444c5dc75cb358380d2e3de08a903b15610d54576fffffffffffffffffffffffffffffffff90604051957f0b0d9c09000000000000000000000000000000000000000000000000000000008752600487015230602487015216938460448201525f81606481836e04444c5dc75cb358380d2e3de08a905af18015610d4957610d32575b50610a2a90519173ffffffffffffffffffffffffffffffffffffffff8351169273ffffffffffffffffffffffffffffffffffffffff60208201511693866fffffffffffffffffffffffffffffffff60806060850151940151941695869230611f9b565b9380610af457506020600491604051928380927f11da60b40000000000000000000000000000000000000000000000000000000082526e04444c5dc75cb358380d2e3de08a905af18015610ae95791610a919391610ab6969593610aba575b505b51612210565b60405190610aa0602083611813565b8152604051918291602083526020830190611b81565b0390f35b610adb9060203d602011610ae2575b610ad38183611813565b810190611c05565b505f610a89565b503d610ac9565b6040513d87823e3d90fd5b906e04444c5dc75cb358380d2e3de08a903b156102a157856040517fa58411940000000000000000000000000000000000000000000000000000000081528360048201528181602481836e04444c5dc75cb358380d2e3de08a905af18015610d2757610d12575b5050604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526e04444c5dc75cb358380d2e3de08a906004830152602482015285604060208260448582885af13d15601f3d11600185511416171692828152826020820152015215610c4657506040517f11da60b4000000000000000000000000000000000000000000000000000000008152602081600481886e04444c5dc75cb358380d2e3de08a905af18015610ae95791610a919391610ab6969593610c27575b50610a8b565b610c3f9060203d602011610ae257610ad38183611813565b505f610c21565b847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011690604051927f90bfb86500000000000000000000000000000000000000000000000000000000845260048401527fa9059cbb000000000000000000000000000000000000000000000000000000006024840152608060448401528160a00160648401523d60848401523d9060a484013e7ff27f64e40000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b81610d1c91611813565b6102a157855f610b5b565b6040513d84823e3d90fd5b610d3f9196505f90611813565b5f94610a2a6109c7565b6040513d5f823e3d90fd5b5f80fd5b91610d6590600f0b611d3c565b6fffffffffffffffffffffffffffffffff16916fffffffffffffffffffffffffffffffff16610942565b9092506020813d602011610dbb575b81610dab60209383611813565b81010312610d545751915f610907565b3d9150610d9e565b8391855f91610740565b34610d54575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d5457602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610d545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545773ffffffffffffffffffffffffffffffffffffffff610e69611977565b165f526001602052602060ff60405f2054166040519015158152f35b34610d5457610e9336611aae565b610e9b611d6b565b5f5b8151811015610018578073ffffffffffffffffffffffffffffffffffffffff610ec860019385611bc4565b51165f528160205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905501610e9d565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d54578036036101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d545760405191610f77836117a3565b610f843682600401611927565b835260c481013567ffffffffffffffff8111610d54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c610fcd608092600436918601016119f5565b93602086019485520112610d545760405192610fe8846117f7565b610ff460e48301611a9e565b8452610104820135908160020b8203610d54578473ffffffffffffffffffffffffffffffffffffffff60606110c35f976110526101446110ae9961112299602061115d9e0152611047610124820161199a565b60408901520161199a565b8386015260408601948552611065611db7565b60405197889660208089015260408801905160a0809180518452602081015160208501526040810151604085015260608101516060850152608081015160808501520151910152565b516101606101008701526101a0860190611c14565b925162ffffff815116610120860152602081015160020b61014086015282604082015116610160860152015116610180830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611813565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190611b81565b0381836e04444c5dc75cb358380d2e3de08a905af18015610d495761117e57005b3d805f833e61118d8183611813565b810190602081830312610d545780519067ffffffffffffffff8211610d54570181601f82011215610d545780516111c3816119bb565b926111d16040519485611813565b81845260208284010111610d54575f928160208094018483015e010152005b34610d54575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d5457611226611d6b565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d5457803603906101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610d5457604051611301816117a3565b61130e3683600401611927565b815260c482013567ffffffffffffffff8111610d54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c611357604092600436918701016119f5565b94602084019586520112610d545760209260409261138961010485519261137d846117db565b6101e860e48201611a9e565b8582015283830190815261139b611db7565b5f73ffffffffffffffffffffffffffffffffffffffff8087876113d187518484818351169201511662ffffff8951511691611e2c565b9661142681518580868301511691511611998484519d8e0152838d01905160a0809180518452602081015160208501526040810151604085015260608101516060850152608081015160808501520151910152565b6114898b6114438351610120610100840152610160830190611c14565b86868b5162ffffff815116610120860152015116610140830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d528c611813565b5101519451015116946114e78751988997889687947f128acb0800000000000000000000000000000000000000000000000000000000865230600487015260248601526044850152606484015260a0608484015260a4830190611b81565b0393165af18015610d49576114f857005b604090813d8311611518575b61150e8183611813565b81010312610d5457005b503d611504565b34610d545761152d3661186c565b611535611d6b565b5f5b81518110156100185773ffffffffffffffffffffffffffffffffffffffff61155f8284611bc4565b51166040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481855afa908115610d49575f91611648575b50604051907fa9059cbb000000000000000000000000000000000000000000000000000000005f523360045260245260205f60448180865af19060015f5114821615611627575b604052156115fc5750600101611537565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b90600181151661163f57823b15153d151616906115eb565b503d5f823e3d90fd5b90506020813d8211611671575b8161166260209383611813565b81010312610d545751846115a4565b3d9150611655565b34610d54576116873661186c565b61168f611d6b565b5f5b81518110156100185773ffffffffffffffffffffffffffffffffffffffff6116b98284611bc4565b51166116da5f73d315a9c38ec871068fec378e4ce78af528c76293836123fb565b156116e9575b50600101611691565b61170773d315a9c38ec871068fec378e4ce78af528c762938261246f565b156115fc5761172b5f73d315a9c38ec871068fec378e4ce78af528c76293836124f4565b6116e0577f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60a0810190811067ffffffffffffffff82111761177657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060810190811067ffffffffffffffff82111761177657604052565b60c0810190811067ffffffffffffffff82111761177657604052565b6040810190811067ffffffffffffffff82111761177657604052565b6080810190811067ffffffffffffffff82111761177657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761177657604052565b67ffffffffffffffff81116117765760051b60200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d54576004359067ffffffffffffffff8211610d545780602383011215610d54578160040135906118c382611854565b926118d16040519485611813565b8284526024602085019360051b820101918211610d5457602401915b8183106118fa5750505090565b823573ffffffffffffffffffffffffffffffffffffffff81168103610d54578152602092830192016118ed565b91908260c0910312610d545760405161193f816117bf565b60a080829480358452602081013560208501526040810135604085015260608101356060850152608081013560808501520135910152565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d5457565b359073ffffffffffffffffffffffffffffffffffffffff82168203610d5457565b67ffffffffffffffff811161177657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919060a083820312610d5457604051611a0d8161175a565b8093611a188161199a565b8252611a266020820161199a565b6020830152604081013560408301526060810135606083015260808101359067ffffffffffffffff8211610d5457019082601f83011215610d54578135611a6c816119bb565b93611a7a6040519586611813565b81855260208285010111610d54576020815f92826080960183880137850101520152565b359062ffffff82168203610d5457565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d54576004359067ffffffffffffffff8211610d545780602383011215610d54578160040135611b0481611854565b92611b126040519485611813565b8184526024602085019260051b820101928311610d5457602401905b828210611b3b5750505090565b60208091611b488461199a565b815201910190611b2e565b9181601f84011215610d545782359167ffffffffffffffff8311610d545760208381860195010111610d5457565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b8051821015611bd85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90816020910312610d54575190565b9060a06080611c7b9373ffffffffffffffffffffffffffffffffffffffff815116845273ffffffffffffffffffffffffffffffffffffffff602082015116602085015260408101516040850152606081015160608501520151918160808201520190611b81565b90565b15611c8557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f53454e4445520000000000000000000000000000000000006044820152fd5b7f80000000000000000000000000000000000000000000000000000000000000008114611d0f575f0390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b600f0b7fffffffffffffffffffffffffffffffff800000000000000000000000000000008114611d0f575f0390565b73ffffffffffffffffffffffffffffffffffffffff5f54163303611d8b57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b335f52600160205260ff60405f20541615611dce57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f554e415554484f52495a45445f43414c4c4552000000000000000000000000006044820152fd5b9160409282815f868051611e3f816117a3565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff821611611f90575b505062ffffff73ffffffffffffffffffffffffffffffffffffffff80865193611ea6856117a3565b1694858452169283602084015216938491015280821015610d545773ffffffffffffffffffffffffffffffffffffffff9260405191602083019384526040830152606082015260608152611efb608082611813565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527f1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000602183015260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260558152611f89607582611813565b5190201690565b935090505f80611e7e565b73ffffffffffffffffffffffffffffffffffffffff6004979396949592169460405194611fc7866117bf565b85526020850195600187526040860181815273ffffffffffffffffffffffffffffffffffffffff60608801991689526080870194855260a0870195865260405193612011856117f7565b30855260208501985f8a5273ffffffffffffffffffffffffffffffffffffffff604087019216825260608601935f8552155f146121b25784985b60e06040519d8e7f52bbbe2900000000000000000000000000000000000000000000000000000000815201525160e48d0152519860028a10156121855773ffffffffffffffffffffffffffffffffffffffff6120e28d9b998c9a998360209f8d61012483829f9b819c610104850152511691015251166101448c0152516101648b01525160c06101848b01526101a48a0190611b81565b9651166024880152511515604487015251166064850152511515608484015260a48301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60c4830152039173d315a9c38ec871068fec378e4ce78af528c762935af1908115610d49575f91612156575090565b90506020813d60201161217d575b8161217160209383611813565b81010312610d54575190565b3d9150612164565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f9861204b565b81810292918115918404141715611d0f57565b81156121d6570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b91908203918211611d0f57565b9161223b6122439161223361222b60208701958651906121b9565b8651906121cc565b9351906121b9565b8351906121cc565b90604083019081518301808411611d0f57811061239d5761226f9261226791612203565b905190612203565b6060820151811061233f575f808360a061229461223b849796608086980151906121b9565b910151808211612337575b50416108fcf13d15612332573d6122b5816119bb565b906122c36040519283611813565b81525f60203d92013e5b156122d457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f42524942455f4641494c454400000000000000000000000000000000000000006044820152fd5b6122cd565b90505f61229f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f534e4154434845440000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e53554646494349454e545f51554f544500000000000000000000000000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f511484161561245e575b50604052565b3d15903b151516909216915f612458565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f51148416156124d25750604052565b600184929415166124eb573b15153d151616915f612458565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f51148416156124d2575060405256fea264697066735822122009bd7f9f937df454ff5ce743244444543d68cca2ce00b79bf4c9f100557832c064736f6c634300081e0033
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing bytecode for exploit patterns**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'which evm || which cast || which hevm || which forge' in /tmp/codex-multi-3k9nji45 succeeded in 7ms:
[codex:1533139] /home/noahkuhn/.foundry/bin/cast
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Checking cast disassemble options**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast --help | head -n 40' in /tmp/codex-multi-3k9nji45 succeeded in 25ms:
[codex:1533139] A Swiss Army knife for interacting with Ethereum applications from the command line
[codex:1533139] 
[codex:1533139] Usage: cast [OPTIONS] <COMMAND>
[codex:1533139] 
[codex:1533139] Commands:
[codex:1533139]   4byte                  Get the function signatures for the given selector from
[codex:1533139]                          <https://openchain.xyz> [aliases: 4, 4b]
[codex:1533139]   4byte-calldata         Decode ABI-encoded calldata using <https://openchain.xyz> [aliases: 4c,
[codex:1533139]                          4bc]
[codex:1533139]   4byte-event            Get the event signature for a given topic 0 from <https://openchain.xyz>
[codex:1533139]                          [aliases: 4e, 4be, topic0-event, t0e]
[codex:1533139]   abi-encode             ABI encode the given function argument, excluding the selector [aliases:
[codex:1533139]                          ae]
[codex:1533139]   abi-encode-event       ABI encode an event and its arguments to generate topics and data [aliases:
[codex:1533139]                          aee]
[codex:1533139]   access-list            Create an access list for a transaction [aliases: ac, acl]
[codex:1533139]   address-zero           Prints the zero address [aliases: --address-zero, az]
[codex:1533139]   admin                  Fetch the EIP-1967 admin account [aliases: adm]
[codex:1533139]   age                    Get the timestamp of a block [aliases: a]
[codex:1533139]   artifact               Generate an artifact file, that can be used to deploy a contract locally
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Searching for disassemble method**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast --help | rg -n "disasm|assemble|opcode|opcodes|decode"' in /tmp/codex-multi-3k9nji45 succeeded in 9ms:
[codex:1533139] 45:  decode-abi             Decode ABI-encoded input or output data [aliases: abi-decode, --abi-decode,
[codex:1533139] 47:  decode-calldata        Decode ABI-encoded input data [aliases: calldata-decode, --calldata-decode,
[codex:1533139] 49:  decode-error           Decode custom error data [aliases: error-decode, --error-decode, erd]
[codex:1533139] 50:  decode-event           Decode event data [aliases: event-decode, --event-decode, ed]
[codex:1533139] 51:  decode-string          Decode ABI-encoded string [aliases: string-decode, --string-decode, sd]
[codex:1533139] 52:  decode-transaction     Decodes a raw signed EIP 2718 typed transaction [aliases: dt, decode-tx]
[codex:1533139] 53:  disassemble            Disassembles a hex-encoded bytecode into a human-readable representation
[codex:1533139] 99:                         decode-auth]
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Extracting and disassembling runtime bytecode**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt' in /tmp/codex-multi-3k9nji45 succeeded in 6ms:
[codex:1533139] 0x6080604052600436101561001a575b3615610018575f80fd5b005b5f5f3560e01c80630423427d146116795780635ecb16cd1461151f57806366000a741461128a578063715018a6146111f057806375428c1a14610f0057806378ff96bb14610e855780637b33415414610e1d5780638da5cb5b14610dcd57806391dd7346146105ae578063a0ef91df1461054a578063ac43070b14610422578063dd7580b6146103a0578063f2fde38b146102b25763fa461e33146100bf575061000e565b346102af5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af5760243560043560443567ffffffffffffffff81116102ad57610114903690600401611b53565b810191906020818403126102a95780359067ffffffffffffffff82116102a157019283830361012081126102a1576040519361014f856117a3565b6101598187611927565b855260c08601359067ffffffffffffffff82116102a55761019f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff209160409389016119f5565b926020870193845201126102a15773ffffffffffffffffffffffffffffffffffffffff61021861028b966101f0610100604051926101dc846117db565b6101e860e08201611a9e565b84520161199a565b60208201526040870190815283519062ffffff84602081855116940151169151511691611e2c565b1690610225823314611c7e565b8684121561028e5761023a6102849394611ce3565b93905b51908473ffffffffffffffffffffffffffffffffffffffff83511673ffffffffffffffffffffffffffffffffffffffff602085015116906080606086015195015195611f9b565b9151612210565b80f35b61029a61028493611ce3565b939061023d565b8580fd5b8780fd5b8480fd5b835b80fd5b50346102af5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af5773ffffffffffffffffffffffffffffffffffffffff6102ff611977565b610307611d6b565b1680156103745773ffffffffffffffffffffffffffffffffffffffff8254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b6024827f1e4fbdf700000000000000000000000000000000000000000000000000000000815280600452fd5b50346102af576103af36611aae565b6103b7611d6b565b815b815181101561041e578073ffffffffffffffffffffffffffffffffffffffff6103e460019385611bc4565b511684528160205260408420827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055016103b9565b8280f35b50346102af576104313661186c565b9061043a611d6b565b805b82518110156105465773ffffffffffffffffffffffffffffffffffffffff6104648285611bc4565b51166104a57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73d315a9c38ec871068fec378e4ce78af528c76293836123fb565b156104b4575b5060010161043c565b6104d273d315a9c38ec871068fec378e4ce78af528c762938261246f565b1561051b576105167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73d315a9c38ec871068fec378e4ce78af528c76293836124f4565b6104ab575b7f5274afe7000000000000000000000000000000000000000000000000000000008352600452602482fd5b5080f35b50346102af57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102af57610581611d6b565b80808080478181156105a5575b3390f1156105995780f35b604051903d90823e3d90fd5b506108fc61058e565b5034610d545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d54576105fe903690600401611b53565b6106186e04444c5dc75cb358380d2e3de08a903314611c7e565b810190602081830312610d545780359067ffffffffffffffff8211610d54570190818103906101608212610d545760405190610653826117a3565b61065d8185611927565b825260c08401359067ffffffffffffffff8211610d54576106a37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff209160809387016119f5565b93602084019485520112610d5457604051926106be846117f7565b6106ca60e08201611a9e565b84526101008101358060020b8103610d5457610701916101409160208701526106f6610120820161199a565b60408701520161199a565b60608401526040810192835281519273ffffffffffffffffffffffffffffffffffffffff80602086015116945116928385105f14610dc3578491846001915b805191825162ffffff1692602081015160020b906040015173ffffffffffffffffffffffffffffffffffffffff16906040519761077c8961175a565b73ffffffffffffffffffffffffffffffffffffffff168852602088019273ffffffffffffffffffffffffffffffffffffffff1683526040880194855260608801908152608088019182528651604001516107d590611ce3565b93516060015173ffffffffffffffffffffffffffffffffffffffff1694604051936107ff856117a3565b87151585526020850195865260408501968752604051997ff3cd914c000000000000000000000000000000000000000000000000000000008b525173ffffffffffffffffffffffffffffffffffffffff1660048b01525173ffffffffffffffffffffffffffffffffffffffff1660248a01525162ffffff1660448901525160020b60648801525173ffffffffffffffffffffffffffffffffffffffff16608487015251151560a48601525160c48501525173ffffffffffffffffffffffffffffffffffffffff1660e48401526101048301610120905261012483015f905282805a6020925f6e04444c5dc75cb358380d2e3de08a9061014493f1928315610d49575f93610d8f575b508260801d905f14610d585761091c90611d3c565b6fffffffffffffffffffffffffffffffff16916fffffffffffffffffffffffffffffffff165b6e04444c5dc75cb358380d2e3de08a903b15610d54576fffffffffffffffffffffffffffffffff90604051957f0b0d9c09000000000000000000000000000000000000000000000000000000008752600487015230602487015216938460448201525f81606481836e04444c5dc75cb358380d2e3de08a905af18015610d4957610d32575b50610a2a90519173ffffffffffffffffffffffffffffffffffffffff8351169273ffffffffffffffffffffffffffffffffffffffff60208201511693866fffffffffffffffffffffffffffffffff60806060850151940151941695869230611f9b565b9380610af457506020600491604051928380927f11da60b40000000000000000000000000000000000000000000000000000000082526e04444c5dc75cb358380d2e3de08a905af18015610ae95791610a919391610ab6969593610aba575b505b51612210565b60405190610aa0602083611813565b8152604051918291602083526020830190611b81565b0390f35b610adb9060203d602011610ae2575b610ad38183611813565b810190611c05565b505f610a89565b503d610ac9565b6040513d87823e3d90fd5b906e04444c5dc75cb358380d2e3de08a903b156102a157856040517fa58411940000000000000000000000000000000000000000000000000000000081528360048201528181602481836e04444c5dc75cb358380d2e3de08a905af18015610d2757610d12575b5050604051907fa9059cbb0000000000000000000000000000000000000000000000000000000082526e04444c5dc75cb358380d2e3de08a906004830152602482015285604060208260448582885af13d15601f3d11600185511416171692828152826020820152015215610c4657506040517f11da60b4000000000000000000000000000000000000000000000000000000008152602081600481886e04444c5dc75cb358380d2e3de08a905af18015610ae95791610a919391610ab6969593610c27575b50610a8b565b610c3f9060203d602011610ae257610ad38183611813565b505f610c21565b847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f3d011690604051927f90bfb86500000000000000000000000000000000000000000000000000000000845260048401527fa9059cbb000000000000000000000000000000000000000000000000000000006024840152608060448401528160a00160648401523d60848401523d9060a484013e7ff27f64e40000000000000000000000000000000000000000000000000000000060c4828401600460a4820152015260e40190fd5b81610d1c91611813565b6102a157855f610b5b565b6040513d84823e3d90fd5b610d3f9196505f90611813565b5f94610a2a6109c7565b6040513d5f823e3d90fd5b5f80fd5b91610d6590600f0b611d3c565b6fffffffffffffffffffffffffffffffff16916fffffffffffffffffffffffffffffffff16610942565b9092506020813d602011610dbb575b81610dab60209383611813565b81010312610d545751915f610907565b3d9150610d9e565b8391855f91610740565b34610d54575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d5457602073ffffffffffffffffffffffffffffffffffffffff5f5416604051908152f35b34610d545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545773ffffffffffffffffffffffffffffffffffffffff610e69611977565b165f526001602052602060ff60405f2054166040519015158152f35b34610d5457610e9336611aae565b610e9b611d6b565b5f5b8151811015610018578073ffffffffffffffffffffffffffffffffffffffff610ec860019385611bc4565b51165f528160205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905501610e9d565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d54578036036101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d545760405191610f77836117a3565b610f843682600401611927565b835260c481013567ffffffffffffffff8111610d54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c610fcd608092600436918601016119f5565b93602086019485520112610d545760405192610fe8846117f7565b610ff460e48301611a9e565b8452610104820135908160020b8203610d54578473ffffffffffffffffffffffffffffffffffffffff60606110c35f976110526101446110ae9961112299602061115d9e0152611047610124820161199a565b60408901520161199a565b8386015260408601948552611065611db7565b60405197889660208089015260408801905160a0809180518452602081015160208501526040810151604085015260608101516060850152608081015160808501520151910152565b516101606101008701526101a0860190611c14565b925162ffffff815116610120860152602081015160020b61014086015282604082015116610160860152015116610180830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611813565b604051809381927f48c89491000000000000000000000000000000000000000000000000000000008352602060048401526024830190611b81565b0381836e04444c5dc75cb358380d2e3de08a905af18015610d495761117e57005b3d805f833e61118d8183611813565b810190602081830312610d545780519067ffffffffffffffff8211610d54570181601f82011215610d545780516111c3816119bb565b926111d16040519485611813565b81845260208284010111610d54575f928160208094018483015e010152005b34610d54575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d5457611226611d6b565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610d545760043567ffffffffffffffff8111610d5457803603906101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc830112610d5457604051611301816117a3565b61130e3683600401611927565b815260c482013567ffffffffffffffff8111610d54577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c611357604092600436918701016119f5565b94602084019586520112610d545760209260409261138961010485519261137d846117db565b6101e860e48201611a9e565b8582015283830190815261139b611db7565b5f73ffffffffffffffffffffffffffffffffffffffff8087876113d187518484818351169201511662ffffff8951511691611e2c565b9661142681518580868301511691511611998484519d8e0152838d01905160a0809180518452602081015160208501526040810151604085015260608101516060850152608081015160808501520151910152565b6114898b6114438351610120610100840152610160830190611c14565b86868b5162ffffff815116610120860152015116610140830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d528c611813565b5101519451015116946114e78751988997889687947f128acb0800000000000000000000000000000000000000000000000000000000865230600487015260248601526044850152606484015260a0608484015260a4830190611b81565b0393165af18015610d49576114f857005b604090813d8311611518575b61150e8183611813565b81010312610d5457005b503d611504565b34610d545761152d3661186c565b611535611d6b565b5f5b81518110156100185773ffffffffffffffffffffffffffffffffffffffff61155f8284611bc4565b51166040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481855afa908115610d49575f91611648575b50604051907fa9059cbb000000000000000000000000000000000000000000000000000000005f523360045260245260205f60448180865af19060015f5114821615611627575b604052156115fc5750600101611537565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b90600181151661163f57823b15153d151616906115eb565b503d5f823e3d90fd5b90506020813d8211611671575b8161166260209383611813565b81010312610d545751846115a4565b3d9150611655565b34610d54576116873661186c565b61168f611d6b565b5f5b81518110156100185773ffffffffffffffffffffffffffffffffffffffff6116b98284611bc4565b51166116da5f73d315a9c38ec871068fec378e4ce78af528c76293836123fb565b156116e9575b50600101611691565b61170773d315a9c38ec871068fec378e4ce78af528c762938261246f565b156115fc5761172b5f73d315a9c38ec871068fec378e4ce78af528c76293836124f4565b6116e0577f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b60a0810190811067ffffffffffffffff82111761177657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6060810190811067ffffffffffffffff82111761177657604052565b60c0810190811067ffffffffffffffff82111761177657604052565b6040810190811067ffffffffffffffff82111761177657604052565b6080810190811067ffffffffffffffff82111761177657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761177657604052565b67ffffffffffffffff81116117765760051b60200190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d54576004359067ffffffffffffffff8211610d545780602383011215610d54578160040135906118c382611854565b926118d16040519485611813565b8284526024602085019360051b820101918211610d5457602401915b8183106118fa5750505090565b823573ffffffffffffffffffffffffffffffffffffffff81168103610d54578152602092830192016118ed565b91908260c0910312610d545760405161193f816117bf565b60a080829480358452602081013560208501526040810135604085015260608101356060850152608081013560808501520135910152565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610d5457565b359073ffffffffffffffffffffffffffffffffffffffff82168203610d5457565b67ffffffffffffffff811161177657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919060a083820312610d5457604051611a0d8161175a565b8093611a188161199a565b8252611a266020820161199a565b6020830152604081013560408301526060810135606083015260808101359067ffffffffffffffff8211610d5457019082601f83011215610d54578135611a6c816119bb565b93611a7a6040519586611813565b81855260208285010111610d54576020815f92826080960183880137850101520152565b359062ffffff82168203610d5457565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610d54576004359067ffffffffffffffff8211610d545780602383011215610d54578160040135611b0481611854565b92611b126040519485611813565b8184526024602085019260051b820101928311610d5457602401905b828210611b3b5750505090565b60208091611b488461199a565b815201910190611b2e565b9181601f84011215610d545782359167ffffffffffffffff8311610d545760208381860195010111610d5457565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b8051821015611bd85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90816020910312610d54575190565b9060a06080611c7b9373ffffffffffffffffffffffffffffffffffffffff815116845273ffffffffffffffffffffffffffffffffffffffff602082015116602085015260408101516040850152606081015160608501520151918160808201520190611b81565b90565b15611c8557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f53454e4445520000000000000000000000000000000000006044820152fd5b7f80000000000000000000000000000000000000000000000000000000000000008114611d0f575f0390565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b600f0b7fffffffffffffffffffffffffffffffff800000000000000000000000000000008114611d0f575f0390565b73ffffffffffffffffffffffffffffffffffffffff5f54163303611d8b57565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b335f52600160205260ff60405f20541615611dce57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f554e415554484f52495a45445f43414c4c4552000000000000000000000000006044820152fd5b9160409282815f868051611e3f816117a3565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff821673ffffffffffffffffffffffffffffffffffffffff821611611f90575b505062ffffff73ffffffffffffffffffffffffffffffffffffffff80865193611ea6856117a3565b1694858452169283602084015216938491015280821015610d545773ffffffffffffffffffffffffffffffffffffffff9260405191602083019384526040830152606082015260608152611efb608082611813565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083527f1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000602183015260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260558152611f89607582611813565b5190201690565b935090505f80611e7e565b73ffffffffffffffffffffffffffffffffffffffff6004979396949592169460405194611fc7866117bf565b85526020850195600187526040860181815273ffffffffffffffffffffffffffffffffffffffff60608801991689526080870194855260a0870195865260405193612011856117f7565b30855260208501985f8a5273ffffffffffffffffffffffffffffffffffffffff604087019216825260608601935f8552155f146121b25784985b60e06040519d8e7f52bbbe2900000000000000000000000000000000000000000000000000000000815201525160e48d0152519860028a10156121855773ffffffffffffffffffffffffffffffffffffffff6120e28d9b998c9a998360209f8d61012483829f9b819c610104850152511691015251166101448c0152516101648b01525160c06101848b01526101a48a0190611b81565b9651166024880152511515604487015251166064850152511515608484015260a48301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60c4830152039173d315a9c38ec871068fec378e4ce78af528c762935af1908115610d49575f91612156575090565b90506020813d60201161217d575b8161217160209383611813565b81010312610d54575190565b3d9150612164565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f9861204b565b81810292918115918404141715611d0f57565b81156121d6570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b91908203918211611d0f57565b9161223b6122439161223361222b60208701958651906121b9565b8651906121cc565b9351906121b9565b8351906121cc565b90604083019081518301808411611d0f57811061239d5761226f9261226791612203565b905190612203565b6060820151811061233f575f808360a061229461223b849796608086980151906121b9565b910151808211612337575b50416108fcf13d15612332573d6122b5816119bb565b906122c36040519283611813565b81525f60203d92013e5b156122d457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f42524942455f4641494c454400000000000000000000000000000000000000006044820152fd5b6122cd565b90505f61229f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f534e4154434845440000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e53554646494349454e545f51554f544500000000000000000000000000006044820152fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f511484161561245e575b50604052565b3d15903b151516909216915f612458565b919073ffffffffffffffffffffffffffffffffffffffff604051917f095ea7b3000000000000000000000000000000000000000000000000000000005f52166004525f60245260205f60448180875af19260015f51148416156124d25750604052565b600184929415166124eb573b15153d151616915f612458565b833d5f823e3d90fd5b929173ffffffffffffffffffffffffffffffffffffffff604051927f095ea7b3000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180875af19260015f51148416156124d2575060405256fea264697066735822122009bd7f9f937df454ff5ce743244444543d68cca2ce00b79bf4c9f100557832c064736f6c634300081e0033
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Inspecting contract disassembly**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | head -n 120' in /tmp/codex-multi-3k9nji45 succeeded in 17ms:
[codex:1533139] 00000000: PUSH1 0x80
[codex:1533139] 00000002: PUSH1 0x40
[codex:1533139] 00000004: MSTORE
[codex:1533139] 00000005: PUSH1 0x04
[codex:1533139] 00000007: CALLDATASIZE
[codex:1533139] 00000008: LT
[codex:1533139] 00000009: ISZERO
[codex:1533139] 0000000a: PUSH2 0x001a
[codex:1533139] 0000000d: JUMPI
[codex:1533139] 0000000e: JUMPDEST
[codex:1533139] 0000000f: CALLDATASIZE
[codex:1533139] 00000010: ISZERO
[codex:1533139] 00000011: PUSH2 0x0018
[codex:1533139] 00000014: JUMPI
[codex:1533139] 00000015: PUSH0
[codex:1533139] 00000016: DUP1
[codex:1533139] 00000017: REVERT
[codex:1533139] 00000018: JUMPDEST
[codex:1533139] 00000019: STOP
[codex:1533139] 0000001a: JUMPDEST
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Considering disassemble options**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble --help' in /tmp/codex-multi-3k9nji45 succeeded in 8ms:
[codex:1533139] Disassembles a hex-encoded bytecode into a human-readable representation
[codex:1533139] 
[codex:1533139] Usage: cast disassemble [OPTIONS] [BYTECODE]
[codex:1533139] 
[codex:1533139] Arguments:
[codex:1533139]   [BYTECODE]
[codex:1533139]           The hex-encoded bytecode
[codex:1533139] 
[codex:1533139] Options:
[codex:1533139]   -h, --help
[codex:1533139]           Print help (see a summary with '-h')
[codex:1533139] 
[codex:1533139]   -j, --threads <THREADS>
[codex:1533139]           Number of threads to use. Specifying 0 defaults to the number of logical cores
[codex:1533139]           
[codex:1533139]           [aliases: --jobs]
[codex:1533139] 
[codex:1533139] Display options:
[codex:1533139]       --color <COLOR>
[codex:1533139]           The color of the log messages
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing disassembly with ripgrep**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 3 "00000dcd"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1505-00000dc8: SWAP2
[codex:1533139] 1506-00000dc9: PUSH2 0x0740
[codex:1533139] 1507-00000dcc: JUMP
[codex:1533139] 1508:00000dcd: JUMPDEST
[codex:1533139] 1509-00000dce: CALLVALUE
[codex:1533139] 1510-00000dcf: PUSH2 0x0d54
[codex:1533139] 1511-00000dd2: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Expanding context lines**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000dcd"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1493-00000dba: JUMP
[codex:1533139] 1494-00000dbb: JUMPDEST
[codex:1533139] 1495-00000dbc: RETURNDATASIZE
[codex:1533139] 1496-00000dbd: SWAP2
[codex:1533139] 1497-00000dbe: POP
[codex:1533139] 1498-00000dbf: PUSH2 0x0d9e
[codex:1533139] 1499-00000dc2: JUMP
[codex:1533139] 1500-00000dc3: JUMPDEST
[codex:1533139] 1501-00000dc4: DUP4
[codex:1533139] 1502-00000dc5: SWAP2
[codex:1533139] 1503-00000dc6: DUP6
[codex:1533139] 1504-00000dc7: PUSH0
[codex:1533139] 1505-00000dc8: SWAP2
[codex:1533139] 1506-00000dc9: PUSH2 0x0740
[codex:1533139] 1507-00000dcc: JUMP
[codex:1533139] 1508:00000dcd: JUMPDEST
[codex:1533139] 1509-00000dce: CALLVALUE
[codex:1533139] 1510-00000dcf: PUSH2 0x0d54
[codex:1533139] 1511-00000dd2: JUMPI
[codex:1533139] 1512-00000dd3: PUSH0
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Continuing to read lines**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000e13"' in /tmp/codex-multi-3k9nji45 succeeded in 13ms:
[codex:1533139] 1506-00000dc9: PUSH2 0x0740
[codex:1533139] 1507-00000dcc: JUMP
[codex:1533139] 1508-00000dcd: JUMPDEST
[codex:1533139] 1509-00000dce: CALLVALUE
[codex:1533139] 1510-00000dcf: PUSH2 0x0d54
[codex:1533139] 1511-00000dd2: JUMPI
[codex:1533139] 1512-00000dd3: PUSH0
[codex:1533139] 1513-00000dd4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
[codex:1533139] 1514-00000df5: CALLDATASIZE
[codex:1533139] 1515-00000df6: ADD
[codex:1533139] 1516-00000df7: SLT
[codex:1533139] 1517-00000df8: PUSH2 0x0d54
[codex:1533139] 1518-00000dfb: JUMPI
[codex:1533139] 1519-00000dfc: PUSH1 0x20
[codex:1533139] 1520-00000dfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 1521:00000e13: PUSH0
[codex:1533139] 1522-00000e14: SLOAD
[codex:1533139] 1523-00000e15: AND
[codex:1533139] 1524-00000e16: PUSH1 0x40
[codex:1533139] 1525-00000e18: MLOAD
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Inspecting function at 0x0e1d**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000e1d"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1505-00000dc8: SWAP2
[codex:1533139] 1506-00000dc9: PUSH2 0x0740
[codex:1533139] 1507-00000dcc: JUMP
[codex:1533139] 1508-00000dcd: JUMPDEST
[codex:1533139] 1509-00000dce: CALLVALUE
[codex:1533139] 1510-00000dcf: PUSH2 0x0d54
[codex:1533139] 1511-00000dd2: JUMPI
[codex:1533139] 1512-00000dd3: PUSH0
[codex:1533139] 1513-00000dd4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
[codex:1533139] 1514-00000df5: CALLDATASIZE
[codex:1533139] 1515-00000df6: ADD
[codex:1533139] 1516-00000df7: SLT
[codex:1533139] 1517-00000df8: PUSH2 0x0d54
[codex:1533139] 1518-00000dfb: JUMPI
[codex:1533139] 1519-00000dfc: PUSH1 0x20
[codex:1533139] 1520-00000dfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 1521-00000e13: PUSH0
[codex:1533139] 1522-00000e14: SLOAD
[codex:1533139] 1523-00000e15: AND
[codex:1533139] 1524-00000e16: PUSH1 0x40
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Continuing exploration**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000e6a"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1521-00000e13: PUSH0
[codex:1533139] 1522-00000e14: SLOAD
[codex:1533139] 1523-00000e15: AND
[codex:1533139] 1524-00000e16: PUSH1 0x40
[codex:1533139] 1525-00000e18: MLOAD
[codex:1533139] 1526-00000e19: SWAP1
[codex:1533139] 1527-00000e1a: DUP2
[codex:1533139] 1528-00000e1b: MSTORE
[codex:1533139] 1529-00000e1c: RETURN
[codex:1533139] 1530-00000e1d: JUMPDEST
[codex:1533139] 1531-00000e1e: CALLVALUE
[codex:1533139] 1532-00000e1f: PUSH2 0x0d54
[codex:1533139] 1533-00000e22: JUMPI
[codex:1533139] 1534-00000e23: PUSH1 0x20
[codex:1533139] 1535-00000e25: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
[codex:1533139] 1536-00000e46: CALLDATASIZE
[codex:1533139] 1537-00000e47: ADD
[codex:1533139] 1538-00000e48: SLT
[codex:1533139] 1539-00000e49: PUSH2 0x0d54
[codex:1533139] 1540-00000e4c: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing mapping-based authorization function**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00001977"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 2889-00001960: ADD
[codex:1533139] 2890-00001961: CALLDATALOAD
[codex:1533139] 2891-00001962: PUSH1 0x60
[codex:1533139] 2892-00001964: DUP6
[codex:1533139] 2893-00001965: ADD
[codex:1533139] 2894-00001966: MSTORE
[codex:1533139] 2895-00001967: PUSH1 0x80
[codex:1533139] 2896-00001969: DUP2
[codex:1533139] 2897-0000196a: ADD
[codex:1533139] 2898-0000196b: CALLDATALOAD
[codex:1533139] 2899-0000196c: PUSH1 0x80
[codex:1533139] 2900-0000196e: DUP6
[codex:1533139] 2901-0000196f: ADD
[codex:1533139] 2902-00001970: MSTORE
[codex:1533139] 2903-00001971: ADD
[codex:1533139] 2904-00001972: CALLDATALOAD
[codex:1533139] 2905-00001973: SWAP2
[codex:1533139] 2906-00001974: ADD
[codex:1533139] 2907-00001975: MSTORE
[codex:1533139] 2908-00001976: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing address parsing and authorization mapping**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00000e85"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1547-00000e6b: PUSH0
[codex:1533139] 1548-00000e6c: MSTORE
[codex:1533139] 1549-00000e6d: PUSH1 0x01
[codex:1533139] 1550-00000e6f: PUSH1 0x20
[codex:1533139] 1551-00000e71: MSTORE
[codex:1533139] 1552-00000e72: PUSH1 0x20
[codex:1533139] 1553-00000e74: PUSH1 0xff
[codex:1533139] 1554-00000e76: PUSH1 0x40
[codex:1533139] 1555-00000e78: PUSH0
[codex:1533139] 1556-00000e79: KECCAK256
[codex:1533139] 1557-00000e7a: SLOAD
[codex:1533139] 1558-00000e7b: AND
[codex:1533139] 1559-00000e7c: PUSH1 0x40
[codex:1533139] 1560-00000e7e: MLOAD
[codex:1533139] 1561-00000e7f: SWAP1
[codex:1533139] 1562-00000e80: ISZERO
[codex:1533139] 1563-00000e81: ISZERO
[codex:1533139] 1564-00000e82: DUP2
[codex:1533139] 1565-00000e83: MSTORE
[codex:1533139] 1566-00000e84: RETURN
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Requesting additional information**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000e9b"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1554-00000e76: PUSH1 0x40
[codex:1533139] 1555-00000e78: PUSH0
[codex:1533139] 1556-00000e79: KECCAK256
[codex:1533139] 1557-00000e7a: SLOAD
[codex:1533139] 1558-00000e7b: AND
[codex:1533139] 1559-00000e7c: PUSH1 0x40
[codex:1533139] 1560-00000e7e: MLOAD
[codex:1533139] 1561-00000e7f: SWAP1
[codex:1533139] 1562-00000e80: ISZERO
[codex:1533139] 1563-00000e81: ISZERO
[codex:1533139] 1564-00000e82: DUP2
[codex:1533139] 1565-00000e83: MSTORE
[codex:1533139] 1566-00000e84: RETURN
[codex:1533139] 1567-00000e85: JUMPDEST
[codex:1533139] 1568-00000e86: CALLVALUE
[codex:1533139] 1569-00000e87: PUSH2 0x0d54
[codex:1533139] 1570-00000e8a: JUMPI
[codex:1533139] 1571-00000e8b: PUSH2 0x0e93
[codex:1533139] 1572-00000e8e: CALLDATASIZE
[codex:1533139] 1573-00000e8f: PUSH2 0x1aae
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Continuing exploration**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000ec8"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1572-00000e8e: CALLDATASIZE
[codex:1533139] 1573-00000e8f: PUSH2 0x1aae
[codex:1533139] 1574-00000e92: JUMP
[codex:1533139] 1575-00000e93: JUMPDEST
[codex:1533139] 1576-00000e94: PUSH2 0x0e9b
[codex:1533139] 1577-00000e97: PUSH2 0x1d6b
[codex:1533139] 1578-00000e9a: JUMP
[codex:1533139] 1579-00000e9b: JUMPDEST
[codex:1533139] 1580-00000e9c: PUSH0
[codex:1533139] 1581-00000e9d: JUMPDEST
[codex:1533139] 1582-00000e9e: DUP2
[codex:1533139] 1583-00000e9f: MLOAD
[codex:1533139] 1584-00000ea0: DUP2
[codex:1533139] 1585-00000ea1: LT
[codex:1533139] 1586-00000ea2: ISZERO
[codex:1533139] 1587-00000ea3: PUSH2 0x0018
[codex:1533139] 1588-00000ea6: JUMPI
[codex:1533139] 1589-00000ea7: DUP1
[codex:1533139] 1590-00000ea8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 1591-00000ebd: PUSH2 0x0ec8
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing storage manipulation with bitmasking**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00001bc4"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 3215-00001bb5: ADD
[codex:1533139] 3216-00001bb6: MCOPY
[codex:1533139] 3217-00001bb7: PUSH0
[codex:1533139] 3218-00001bb8: DUP6
[codex:1533139] 3219-00001bb9: DUP3
[codex:1533139] 3220-00001bba: DUP7
[codex:1533139] 3221-00001bbb: ADD
[codex:1533139] 3222-00001bbc: ADD
[codex:1533139] 3223-00001bbd: MSTORE
[codex:1533139] 3224-00001bbe: ADD
[codex:1533139] 3225-00001bbf: AND
[codex:1533139] 3226-00001bc0: ADD
[codex:1533139] 3227-00001bc1: ADD
[codex:1533139] 3228-00001bc2: SWAP1
[codex:1533139] 3229-00001bc3: JUMP
[codex:1533139] 3230:00001bc4: JUMPDEST
[codex:1533139] 3231-00001bc5: DUP1
[codex:1533139] 3232-00001bc6: MLOAD
[codex:1533139] 3233-00001bc7: DUP3
[codex:1533139] 3234-00001bc8: LT
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function flow and access control**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00001d6b"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 3361-00001d31: PUSH0
[codex:1533139] 3362-00001d32: MSTORE
[codex:1533139] 3363-00001d33: PUSH1 0x11
[codex:1533139] 3364-00001d35: PUSH1 0x04
[codex:1533139] 3365-00001d37: MSTORE
[codex:1533139] 3366-00001d38: PUSH1 0x24
[codex:1533139] 3367-00001d3a: PUSH0
[codex:1533139] 3368-00001d3b: REVERT
[codex:1533139] 3369-00001d3c: JUMPDEST
[codex:1533139] 3370-00001d3d: PUSH1 0x0f
[codex:1533139] 3371-00001d3f: SIGNEXTEND
[codex:1533139] 3372-00001d40: PUSH32 0xffffffffffffffffffffffffffffffff80000000000000000000000000000000
[codex:1533139] 3373-00001d61: DUP2
[codex:1533139] 3374-00001d62: EQ
[codex:1533139] 3375-00001d63: PUSH2 0x1d0f
[codex:1533139] 3376-00001d66: JUMPI
[codex:1533139] 3377-00001d67: PUSH0
[codex:1533139] 3378-00001d68: SUB
[codex:1533139] 3379-00001d69: SWAP1
[codex:1533139] 3380-00001d6a: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing access control and fund transfer risks**
[codex:1533139] 
[codex:1533139] I'm looking closely at an Ownable pattern that restricts a key function to the owner only, which should prevent unauthorized setting of mappings. Now I want to dig into specific functions to see if any might let a caller withdraw funds or execute arbitrary calls, focusing on a list of function selectors that might handle tokens or ETH. I'm especially curious about whether any function allows unintended extraction of funds by a caller. Next, I'll inspect the function at 0x0f00 to understand its behavior better.
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00000f00"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1597-00000ec8: JUMPDEST
[codex:1533139] 1598-00000ec9: MLOAD
[codex:1533139] 1599-00000eca: AND
[codex:1533139] 1600-00000ecb: PUSH0
[codex:1533139] 1601-00000ecc: MSTORE
[codex:1533139] 1602-00000ecd: DUP2
[codex:1533139] 1603-00000ece: PUSH1 0x20
[codex:1533139] 1604-00000ed0: MSTORE
[codex:1533139] 1605-00000ed1: PUSH1 0x40
[codex:1533139] 1606-00000ed3: PUSH0
[codex:1533139] 1607-00000ed4: KECCAK256
[codex:1533139] 1608-00000ed5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
[codex:1533139] 1609-00000ef6: DUP2
[codex:1533139] 1610-00000ef7: SLOAD
[codex:1533139] 1611-00000ef8: AND
[codex:1533139] 1612-00000ef9: SWAP1
[codex:1533139] 1613-00000efa: SSTORE
[codex:1533139] 1614-00000efb: ADD
[codex:1533139] 1615-00000efc: PUSH2 0x0e9d
[codex:1533139] 1616-00000eff: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Requesting additional context**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000f3d"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1607-00000ed4: KECCAK256
[codex:1533139] 1608-00000ed5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
[codex:1533139] 1609-00000ef6: DUP2
[codex:1533139] 1610-00000ef7: SLOAD
[codex:1533139] 1611-00000ef8: AND
[codex:1533139] 1612-00000ef9: SWAP1
[codex:1533139] 1613-00000efa: SSTORE
[codex:1533139] 1614-00000efb: ADD
[codex:1533139] 1615-00000efc: PUSH2 0x0e9d
[codex:1533139] 1616-00000eff: JUMP
[codex:1533139] 1617-00000f00: JUMPDEST
[codex:1533139] 1618-00000f01: PUSH1 0x20
[codex:1533139] 1619-00000f03: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
[codex:1533139] 1620-00000f24: CALLDATASIZE
[codex:1533139] 1621-00000f25: ADD
[codex:1533139] 1622-00000f26: SLT
[codex:1533139] 1623-00000f27: PUSH2 0x0d54
[codex:1533139] 1624-00000f2a: JUMPI
[codex:1533139] 1625-00000f2b: PUSH1 0x04
[codex:1533139] 1626-00000f2d: CALLDATALOAD
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Continuing processing**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00000f84"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1632-00000f3d: DUP1
[codex:1533139] 1633-00000f3e: CALLDATASIZE
[codex:1533139] 1634-00000f3f: SUB
[codex:1533139] 1635-00000f40: PUSH2 0x0160
[codex:1533139] 1636-00000f43: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
[codex:1533139] 1637-00000f64: DUP3
[codex:1533139] 1638-00000f65: ADD
[codex:1533139] 1639-00000f66: SLT
[codex:1533139] 1640-00000f67: PUSH2 0x0d54
[codex:1533139] 1641-00000f6a: JUMPI
[codex:1533139] 1642-00000f6b: PUSH1 0x40
[codex:1533139] 1643-00000f6d: MLOAD
[codex:1533139] 1644-00000f6e: SWAP2
[codex:1533139] 1645-00000f6f: PUSH2 0x0f77
[codex:1533139] 1646-00000f72: DUP4
[codex:1533139] 1647-00000f73: PUSH2 0x17a3
[codex:1533139] 1648-00000f76: JUMP
[codex:1533139] 1649-00000f77: JUMPDEST
[codex:1533139] 1650-00000f78: PUSH2 0x0f84
[codex:1533139] 1651-00000f7b: CALLDATASIZE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing access control and fund transfer functions**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "ORIGIN|COINBASE|SELFDEStruct|SELFDESTRUCT"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 4011:000022a1: COINBASE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Investigating COINBASE usage around 0x22a1**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "000022a1"' in /tmp/codex-multi-3k9nji45 succeeded in 16ms:
[codex:1533139] 3991-00002288: SWAP7
[codex:1533139] 3992-00002289: PUSH1 0x80
[codex:1533139] 3993-0000228b: DUP7
[codex:1533139] 3994-0000228c: SWAP9
[codex:1533139] 3995-0000228d: ADD
[codex:1533139] 3996-0000228e: MLOAD
[codex:1533139] 3997-0000228f: SWAP1
[codex:1533139] 3998-00002290: PUSH2 0x21b9
[codex:1533139] 3999-00002293: JUMP
[codex:1533139] 4000-00002294: JUMPDEST
[codex:1533139] 4001-00002295: SWAP2
[codex:1533139] 4002-00002296: ADD
[codex:1533139] 4003-00002297: MLOAD
[codex:1533139] 4004-00002298: DUP1
[codex:1533139] 4005-00002299: DUP3
[codex:1533139] 4006-0000229a: GT
[codex:1533139] 4007-0000229b: PUSH2 0x2337
[codex:1533139] 4008-0000229e: JUMPI
[codex:1533139] 4009-0000229f: JUMPDEST
[codex:1533139] 4010-000022a0: POP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing CALL to COINBASE with possible value**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "SELFDESTRUCT"' in /tmp/codex-multi-3k9nji45 exited 1 in 20ms:
[codex:1533139] 
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Searching for DELEGATECALL usage**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "DELEGATECALL"' in /tmp/codex-multi-3k9nji45 exited 1 in 14ms:
[codex:1533139] 
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Investigating CALL usage and permission checks**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00001dce"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 3398-00001db3: PUSH1 0x24
[codex:1533139] 3399-00001db5: PUSH0
[codex:1533139] 3400-00001db6: REVERT
[codex:1533139] 3401-00001db7: JUMPDEST
[codex:1533139] 3402-00001db8: CALLER
[codex:1533139] 3403-00001db9: PUSH0
[codex:1533139] 3404-00001dba: MSTORE
[codex:1533139] 3405-00001dbb: PUSH1 0x01
[codex:1533139] 3406-00001dbd: PUSH1 0x20
[codex:1533139] 3407-00001dbf: MSTORE
[codex:1533139] 3408-00001dc0: PUSH1 0xff
[codex:1533139] 3409-00001dc2: PUSH1 0x40
[codex:1533139] 3410-00001dc4: PUSH0
[codex:1533139] 3411-00001dc5: KECCAK256
[codex:1533139] 3412-00001dc6: SLOAD
[codex:1533139] 3413-00001dc7: AND
[codex:1533139] 3414-00001dc8: ISZERO
[codex:1533139] 3415-00001dc9: PUSH2 0x1dce
[codex:1533139] 3416-00001dcc: JUMPI
[codex:1533139] 3417-00001dcd: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing access control checks**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "1d6b"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 368:00000303: PUSH2 0x1d6b
[codex:1533139] 414:000003b3: PUSH2 0x1d6b
[codex:1533139] 472:00000436: PUSH2 0x1d6b
[codex:1533139] 554:0000057d: PUSH2 0x1d6b
[codex:1533139] 1577:00000e97: PUSH2 0x1d6b
[codex:1533139] 2016:00001222: PUSH2 0x1d6b
[codex:1533139] 2393:00001531: PUSH2 0x1d6b
[codex:1533139] 2564:0000168b: PUSH2 0x1d6b
[codex:1533139] 3381:00001d6b: JUMPDEST
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Searching for owner check usage**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "1db7"' in /tmp/codex-multi-3k9nji45 succeeded in 17ms:
[codex:1533139] 1765:00001061: PUSH2 0x1db7
[codex:1533139] 2142:00001397: PUSH2 0x1db7
[codex:1533139] 3401:00001db7: JUMPDEST
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function authorization and potential exploits**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "CALLER"' in /tmp/codex-multi-3k9nji45 succeeded in 16ms:
[codex:1533139] 268:0000021f: CALLER
[codex:1533139] 568:0000058f: CALLER
[codex:1533139] 622:00000612: CALLER
[codex:1533139] 2448:000015cd: CALLER
[codex:1533139] 3386:00001d84: CALLER
[codex:1533139] 3395:00001daf: CALLER
[codex:1533139] 3402:00001db8: CALLER
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Identifying CALLER usage points**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "0000021f"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 248-00000207: DUP2
[codex:1533139] 249-00000208: DUP6
[codex:1533139] 250-00000209: MLOAD
[codex:1533139] 251-0000020a: AND
[codex:1533139] 252-0000020b: SWAP5
[codex:1533139] 253-0000020c: ADD
[codex:1533139] 254-0000020d: MLOAD
[codex:1533139] 255-0000020e: AND
[codex:1533139] 256-0000020f: SWAP2
[codex:1533139] 257-00000210: MLOAD
[codex:1533139] 258-00000211: MLOAD
[codex:1533139] 259-00000212: AND
[codex:1533139] 260-00000213: SWAP2
[codex:1533139] 261-00000214: PUSH2 0x1e2c
[codex:1533139] 262-00000217: JUMP
[codex:1533139] 263-00000218: JUMPDEST
[codex:1533139] 264-00000219: AND
[codex:1533139] 265-0000021a: SWAP1
[codex:1533139] 266-0000021b: PUSH2 0x0225
[codex:1533139] 267-0000021e: DUP3
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing CALLER equality check**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 10 "00001c7e"' in /tmp/codex-multi-3k9nji45 succeeded in 16ms:
[codex:1533139] 3311-00001c72: DUP3
[codex:1533139] 3312-00001c73: ADD
[codex:1533139] 3313-00001c74: MSTORE
[codex:1533139] 3314-00001c75: ADD
[codex:1533139] 3315-00001c76: SWAP1
[codex:1533139] 3316-00001c77: PUSH2 0x1b81
[codex:1533139] 3317-00001c7a: JUMP
[codex:1533139] 3318-00001c7b: JUMPDEST
[codex:1533139] 3319-00001c7c: SWAP1
[codex:1533139] 3320-00001c7d: JUMP
[codex:1533139] 3321:00001c7e: JUMPDEST
[codex:1533139] 3322-00001c7f: ISZERO
[codex:1533139] 3323-00001c80: PUSH2 0x1c85
[codex:1533139] 3324-00001c83: JUMPI
[codex:1533139] 3325-00001c84: JUMP
[codex:1533139] 3326-00001c85: JUMPDEST
[codex:1533139] 3327-00001c86: PUSH1 0x64
[codex:1533139] 3328-00001c88: PUSH1 0x40
[codex:1533139] 3329-00001c8a: MLOAD
[codex:1533139] 3330-00001c8b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing INVALID_SENDER error**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "0000058f"' in /tmp/codex-multi-3k9nji45 succeeded in 13ms:
[codex:1533139] 548-00000573: CALLDATASIZE
[codex:1533139] 549-00000574: ADD
[codex:1533139] 550-00000575: SLT
[codex:1533139] 551-00000576: PUSH2 0x02af
[codex:1533139] 552-00000579: JUMPI
[codex:1533139] 553-0000057a: PUSH2 0x0581
[codex:1533139] 554-0000057d: PUSH2 0x1d6b
[codex:1533139] 555-00000580: JUMP
[codex:1533139] 556-00000581: JUMPDEST
[codex:1533139] 557-00000582: DUP1
[codex:1533139] 558-00000583: DUP1
[codex:1533139] 559-00000584: DUP1
[codex:1533139] 560-00000585: DUP1
[codex:1533139] 561-00000586: SELFBALANCE
[codex:1533139] 562-00000587: DUP2
[codex:1533139] 563-00000588: DUP2
[codex:1533139] 564-00000589: ISZERO
[codex:1533139] 565-0000058a: PUSH2 0x05a5
[codex:1533139] 566-0000058d: JUMPI
[codex:1533139] 567-0000058e: JUMPDEST
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing owner-only withdrawal function**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00000612"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 602-000005db: PUSH2 0x0d54
[codex:1533139] 603-000005de: JUMPI
[codex:1533139] 604-000005df: PUSH1 0x04
[codex:1533139] 605-000005e1: CALLDATALOAD
[codex:1533139] 606-000005e2: PUSH8 0xffffffffffffffff
[codex:1533139] 607-000005eb: DUP2
[codex:1533139] 608-000005ec: GT
[codex:1533139] 609-000005ed: PUSH2 0x0d54
[codex:1533139] 610-000005f0: JUMPI
[codex:1533139] 611-000005f1: PUSH2 0x05fe
[codex:1533139] 612-000005f4: SWAP1
[codex:1533139] 613-000005f5: CALLDATASIZE
[codex:1533139] 614-000005f6: SWAP1
[codex:1533139] 615-000005f7: PUSH1 0x04
[codex:1533139] 616-000005f9: ADD
[codex:1533139] 617-000005fa: PUSH2 0x1b53
[codex:1533139] 618-000005fd: JUMP
[codex:1533139] 619-000005fe: JUMPDEST
[codex:1533139] 620-000005ff: PUSH2 0x0618
[codex:1533139] 621-00000602: PUSH15 0x04444c5dc75cb358380d2e3de08a90
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing CALLER address check**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "000015cd"' in /tmp/codex-multi-3k9nji45 succeeded in 16ms:
[codex:1533139] 2428-00001594: DUP6
[codex:1533139] 2429-00001595: GAS
[codex:1533139] 2430-00001596: STATICCALL
[codex:1533139] 2431-00001597: SWAP1
[codex:1533139] 2432-00001598: DUP2
[codex:1533139] 2433-00001599: ISZERO
[codex:1533139] 2434-0000159a: PUSH2 0x0d49
[codex:1533139] 2435-0000159d: JUMPI
[codex:1533139] 2436-0000159e: PUSH0
[codex:1533139] 2437-0000159f: SWAP2
[codex:1533139] 2438-000015a0: PUSH2 0x1648
[codex:1533139] 2439-000015a3: JUMPI
[codex:1533139] 2440-000015a4: JUMPDEST
[codex:1533139] 2441-000015a5: POP
[codex:1533139] 2442-000015a6: PUSH1 0x40
[codex:1533139] 2443-000015a8: MLOAD
[codex:1533139] 2444-000015a9: SWAP1
[codex:1533139] 2445-000015aa: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
[codex:1533139] 2446-000015cb: PUSH0
[codex:1533139] 2447-000015cc: MSTORE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing token transfer function internals**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "0000151f"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 2363-00001503: JUMPI
[codex:1533139] 2364-00001504: JUMPDEST
[codex:1533139] 2365-00001505: PUSH2 0x150e
[codex:1533139] 2366-00001508: DUP2
[codex:1533139] 2367-00001509: DUP4
[codex:1533139] 2368-0000150a: PUSH2 0x1813
[codex:1533139] 2369-0000150d: JUMP
[codex:1533139] 2370-0000150e: JUMPDEST
[codex:1533139] 2371-0000150f: DUP2
[codex:1533139] 2372-00001510: ADD
[codex:1533139] 2373-00001511: SUB
[codex:1533139] 2374-00001512: SLT
[codex:1533139] 2375-00001513: PUSH2 0x0d54
[codex:1533139] 2376-00001516: JUMPI
[codex:1533139] 2377-00001517: STOP
[codex:1533139] 2378-00001518: JUMPDEST
[codex:1533139] 2379-00001519: POP
[codex:1533139] 2380-0000151a: RETURNDATASIZE
[codex:1533139] 2381-0000151b: PUSH2 0x1504
[codex:1533139] 2382-0000151e: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing owner-only token withdrawal function**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "000002b2"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 325-00000295: SWAP4
[codex:1533139] 326-00000296: PUSH2 0x1ce3
[codex:1533139] 327-00000299: JUMP
[codex:1533139] 328-0000029a: JUMPDEST
[codex:1533139] 329-0000029b: SWAP4
[codex:1533139] 330-0000029c: SWAP1
[codex:1533139] 331-0000029d: PUSH2 0x023d
[codex:1533139] 332-000002a0: JUMP
[codex:1533139] 333-000002a1: JUMPDEST
[codex:1533139] 334-000002a2: DUP6
[codex:1533139] 335-000002a3: DUP1
[codex:1533139] 336-000002a4: REVERT
[codex:1533139] 337-000002a5: JUMPDEST
[codex:1533139] 338-000002a6: DUP8
[codex:1533139] 339-000002a7: DUP1
[codex:1533139] 340-000002a8: REVERT
[codex:1533139] 341-000002a9: JUMPDEST
[codex:1533139] 342-000002aa: DUP5
[codex:1533139] 343-000002ab: DUP1
[codex:1533139] 344-000002ac: REVERT
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing ownership checks and function at 0x03a0**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "000003a0"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 388-0000036f: DUP4
[codex:1533139] 389-00000370: DUP1
[codex:1533139] 390-00000371: LOG3
[codex:1533139] 391-00000372: DUP1
[codex:1533139] 392-00000373: RETURN
[codex:1533139] 393-00000374: JUMPDEST
[codex:1533139] 394-00000375: PUSH1 0x24
[codex:1533139] 395-00000377: DUP3
[codex:1533139] 396-00000378: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
[codex:1533139] 397-00000399: DUP2
[codex:1533139] 398-0000039a: MSTORE
[codex:1533139] 399-0000039b: DUP1
[codex:1533139] 400-0000039c: PUSH1 0x04
[codex:1533139] 401-0000039e: MSTORE
[codex:1533139] 402-0000039f: REVERT
[codex:1533139] 403:000003a0: JUMPDEST
[codex:1533139] 404-000003a1: POP
[codex:1533139] 405-000003a2: CALLVALUE
[codex:1533139] 406-000003a3: PUSH2 0x02af
[codex:1533139] 407-000003a6: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing onlyOwner function and related code**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000422"' in /tmp/codex-multi-3k9nji45 succeeded in 13ms:
[codex:1533139] 445-000003f1: DUP3
[codex:1533139] 446-000003f2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
[codex:1533139] 447-00000413: DUP3
[codex:1533139] 448-00000414: SLOAD
[codex:1533139] 449-00000415: AND
[codex:1533139] 450-00000416: OR
[codex:1533139] 451-00000417: SWAP1
[codex:1533139] 452-00000418: SSTORE
[codex:1533139] 453-00000419: ADD
[codex:1533139] 454-0000041a: PUSH2 0x03b9
[codex:1533139] 455-0000041d: JUMP
[codex:1533139] 456-0000041e: JUMPDEST
[codex:1533139] 457-0000041f: DUP3
[codex:1533139] 458-00000420: DUP1
[codex:1533139] 459-00000421: RETURN
[codex:1533139] 460:00000422: JUMPDEST
[codex:1533139] 461-00000423: POP
[codex:1533139] 462-00000424: CALLVALUE
[codex:1533139] 463-00000425: PUSH2 0x02af
[codex:1533139] 464-00000428: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function access control and token transfers**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "a9059cbb"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1234:00000b62: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
[codex:1533139] 1351:00000c9b: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
[codex:1533139] 2445:000015aa: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing token transfer risks**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00000b62"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1214-00000b39: DUP2
[codex:1533139] 1215-00000b3a: DUP2
[codex:1533139] 1216-00000b3b: PUSH1 0x24
[codex:1533139] 1217-00000b3d: DUP2
[codex:1533139] 1218-00000b3e: DUP4
[codex:1533139] 1219-00000b3f: PUSH15 0x04444c5dc75cb358380d2e3de08a90
[codex:1533139] 1220-00000b4f: GAS
[codex:1533139] 1221-00000b50: CALL
[codex:1533139] 1222-00000b51: DUP1
[codex:1533139] 1223-00000b52: ISZERO
[codex:1533139] 1224-00000b53: PUSH2 0x0d27
[codex:1533139] 1225-00000b56: JUMPI
[codex:1533139] 1226-00000b57: PUSH2 0x0d12
[codex:1533139] 1227-00000b5a: JUMPI
[codex:1533139] 1228-00000b5b: JUMPDEST
[codex:1533139] 1229-00000b5c: POP
[codex:1533139] 1230-00000b5d: POP
[codex:1533139] 1231-00000b5e: PUSH1 0x40
[codex:1533139] 1232-00000b60: MLOAD
[codex:1533139] 1233-00000b61: SWAP1
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing constant ERC20 transfer**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00000c9b"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1331-00000c42: PUSH2 0x0c21
[codex:1533139] 1332-00000c45: JUMP
[codex:1533139] 1333-00000c46: JUMPDEST
[codex:1533139] 1334-00000c47: DUP5
[codex:1533139] 1335-00000c48: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
[codex:1533139] 1336-00000c69: PUSH1 0x1f
[codex:1533139] 1337-00000c6b: RETURNDATASIZE
[codex:1533139] 1338-00000c6c: ADD
[codex:1533139] 1339-00000c6d: AND
[codex:1533139] 1340-00000c6e: SWAP1
[codex:1533139] 1341-00000c6f: PUSH1 0x40
[codex:1533139] 1342-00000c71: MLOAD
[codex:1533139] 1343-00000c72: SWAP3
[codex:1533139] 1344-00000c73: PUSH32 0x90bfb86500000000000000000000000000000000000000000000000000000000
[codex:1533139] 1345-00000c94: DUP5
[codex:1533139] 1346-00000c95: MSTORE
[codex:1533139] 1347-00000c96: PUSH1 0x04
[codex:1533139] 1348-00000c98: DUP5
[codex:1533139] 1349-00000c99: ADD
[codex:1533139] 1350-00000c9a: MSTORE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing contract call patterns**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "CALL$"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 570:00000591: CALL
[codex:1533139] 974:000008f9: CALL
[codex:1533139] 1041:000009bc: CALL
[codex:1533139] 1104:00000a72: CALL
[codex:1533139] 1221:00000b50: CALL
[codex:1533139] 1255:00000bab: CALL
[codex:1533139] 1295:00000c0a: CALL
[codex:1533139] 1915:00001172: CALL
[codex:1533139] 2347:000014ec: CALL
[codex:1533139] 2430:00001596: STATICCALL
[codex:1533139] 2460:000015dd: CALL
[codex:1533139] 3801:00002145: CALL
[codex:1533139] 4013:000022a5: CALL
[codex:1533139] 4146:0000244a: CALL
[codex:1533139] 4200:000024bf: CALL
[codex:1533139] 4266:00002543: CALL
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing call sites for vulnerabilities**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "000008f9"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 959-000008d6: PUSH2 0x0124
[codex:1533139] 960-000008d9: DUP4
[codex:1533139] 961-000008da: ADD
[codex:1533139] 962-000008db: PUSH0
[codex:1533139] 963-000008dc: SWAP1
[codex:1533139] 964-000008dd: MSTORE
[codex:1533139] 965-000008de: DUP3
[codex:1533139] 966-000008df: DUP1
[codex:1533139] 967-000008e0: GAS
[codex:1533139] 968-000008e1: PUSH1 0x20
[codex:1533139] 969-000008e3: SWAP3
[codex:1533139] 970-000008e4: PUSH0
[codex:1533139] 971-000008e5: PUSH15 0x04444c5dc75cb358380d2e3de08a90
[codex:1533139] 972-000008f5: PUSH2 0x0144
[codex:1533139] 973-000008f8: SWAP4
[codex:1533139] 974:000008f9: CALL
[codex:1533139] 975-000008fa: SWAP3
[codex:1533139] 976-000008fb: DUP4
[codex:1533139] 977-000008fc: ISZERO
[codex:1533139] 978-000008fd: PUSH2 0x0d49
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing contract call with constant target**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "000009bc"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 1026-0000099c: MSTORE
[codex:1533139] 1027-0000099d: AND
[codex:1533139] 1028-0000099e: SWAP4
[codex:1533139] 1029-0000099f: DUP5
[codex:1533139] 1030-000009a0: PUSH1 0x44
[codex:1533139] 1031-000009a2: DUP3
[codex:1533139] 1032-000009a3: ADD
[codex:1533139] 1033-000009a4: MSTORE
[codex:1533139] 1034-000009a5: PUSH0
[codex:1533139] 1035-000009a6: DUP2
[codex:1533139] 1036-000009a7: PUSH1 0x64
[codex:1533139] 1037-000009a9: DUP2
[codex:1533139] 1038-000009aa: DUP4
[codex:1533139] 1039-000009ab: PUSH15 0x04444c5dc75cb358380d2e3de08a90
[codex:1533139] 1040-000009bb: GAS
[codex:1533139] 1041:000009bc: CALL
[codex:1533139] 1042-000009bd: DUP1
[codex:1533139] 1043-000009be: ISZERO
[codex:1533139] 1044-000009bf: PUSH2 0x0d49
[codex:1533139] 1045-000009c2: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Noting invalid call address**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000a72"' in /tmp/codex-multi-3k9nji45 succeeded in 13ms:
[codex:1533139] 1089-00000a31: POP
[codex:1533139] 1090-00000a32: PUSH1 0x20
[codex:1533139] 1091-00000a34: PUSH1 0x04
[codex:1533139] 1092-00000a36: SWAP2
[codex:1533139] 1093-00000a37: PUSH1 0x40
[codex:1533139] 1094-00000a39: MLOAD
[codex:1533139] 1095-00000a3a: SWAP3
[codex:1533139] 1096-00000a3b: DUP4
[codex:1533139] 1097-00000a3c: DUP1
[codex:1533139] 1098-00000a3d: SWAP3
[codex:1533139] 1099-00000a3e: PUSH32 0x11da60b400000000000000000000000000000000000000000000000000000000
[codex:1533139] 1100-00000a5f: DUP3
[codex:1533139] 1101-00000a60: MSTORE
[codex:1533139] 1102-00000a61: PUSH15 0x04444c5dc75cb358380d2e3de08a90
[codex:1533139] 1103-00000a71: GAS
[codex:1533139] 1104:00000a72: CALL
[codex:1533139] 1105-00000a73: DUP1
[codex:1533139] 1106-00000a74: ISZERO
[codex:1533139] 1107-00000a75: PUSH2 0x0ae9
[codex:1533139] 1108-00000a78: JUMPI
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Inspecting constant address calls**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000bab"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 1240-00000b98: ADD
[codex:1533139] 1241-00000b99: MSTORE
[codex:1533139] 1242-00000b9a: PUSH1 0x24
[codex:1533139] 1243-00000b9c: DUP3
[codex:1533139] 1244-00000b9d: ADD
[codex:1533139] 1245-00000b9e: MSTORE
[codex:1533139] 1246-00000b9f: DUP6
[codex:1533139] 1247-00000ba0: PUSH1 0x40
[codex:1533139] 1248-00000ba2: PUSH1 0x20
[codex:1533139] 1249-00000ba4: DUP3
[codex:1533139] 1250-00000ba5: PUSH1 0x44
[codex:1533139] 1251-00000ba7: DUP6
[codex:1533139] 1252-00000ba8: DUP3
[codex:1533139] 1253-00000ba9: DUP9
[codex:1533139] 1254-00000baa: GAS
[codex:1533139] 1255:00000bab: CALL
[codex:1533139] 1256-00000bac: RETURNDATASIZE
[codex:1533139] 1257-00000bad: ISZERO
[codex:1533139] 1258-00000bae: PUSH1 0x1f
[codex:1533139] 1259-00000bb0: RETURNDATASIZE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing CALL instructions for value usage**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 25 "00002145"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 3776-000020f4: AND
[codex:1533139] 3777-000020f5: PUSH1 0x64
[codex:1533139] 3778-000020f7: DUP6
[codex:1533139] 3779-000020f8: ADD
[codex:1533139] 3780-000020f9: MSTORE
[codex:1533139] 3781-000020fa: MLOAD
[codex:1533139] 3782-000020fb: ISZERO
[codex:1533139] 3783-000020fc: ISZERO
[codex:1533139] 3784-000020fd: PUSH1 0x84
[codex:1533139] 3785-000020ff: DUP5
[codex:1533139] 3786-00002100: ADD
[codex:1533139] 3787-00002101: MSTORE
[codex:1533139] 3788-00002102: PUSH1 0xa4
[codex:1533139] 3789-00002104: DUP4
[codex:1533139] 3790-00002105: ADD
[codex:1533139] 3791-00002106: MSTORE
[codex:1533139] 3792-00002107: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 3793-00002128: PUSH1 0xc4
[codex:1533139] 3794-0000212a: DUP4
[codex:1533139] 3795-0000212b: ADD
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing token approval and call targets**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "0000244a"' in /tmp/codex-multi-3k9nji45 succeeded in 14ms:
[codex:1533139] 4126-000023fd: SWAP2
[codex:1533139] 4127-000023fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 4128-00002413: PUSH1 0x40
[codex:1533139] 4129-00002415: MLOAD
[codex:1533139] 4130-00002416: SWAP3
[codex:1533139] 4131-00002417: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
[codex:1533139] 4132-00002438: PUSH0
[codex:1533139] 4133-00002439: MSTORE
[codex:1533139] 4134-0000243a: AND
[codex:1533139] 4135-0000243b: PUSH1 0x04
[codex:1533139] 4136-0000243d: MSTORE
[codex:1533139] 4137-0000243e: PUSH1 0x24
[codex:1533139] 4138-00002440: MSTORE
[codex:1533139] 4139-00002441: PUSH1 0x20
[codex:1533139] 4140-00002443: PUSH0
[codex:1533139] 4141-00002444: PUSH1 0x44
[codex:1533139] 4142-00002446: DUP2
[codex:1533139] 4143-00002447: DUP1
[codex:1533139] 4144-00002448: DUP8
[codex:1533139] 4145-00002449: GAS
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function permissions and authorization checks**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "ECRECOVER"' in /tmp/codex-multi-3k9nji45 exited 1 in 18ms:
[codex:1533139] 
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing Uniswap V3 swap callback security**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "000011679"' in /tmp/codex-multi-3k9nji45 exited 1 in 14ms:
[codex:1533139] 
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Verifying function offset in hex**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "00001679"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 2534-0000165d: DUP4
[codex:1533139] 2535-0000165e: PUSH2 0x1813
[codex:1533139] 2536-00001661: JUMP
[codex:1533139] 2537-00001662: JUMPDEST
[codex:1533139] 2538-00001663: DUP2
[codex:1533139] 2539-00001664: ADD
[codex:1533139] 2540-00001665: SUB
[codex:1533139] 2541-00001666: SLT
[codex:1533139] 2542-00001667: PUSH2 0x0d54
[codex:1533139] 2543-0000166a: JUMPI
[codex:1533139] 2544-0000166b: MLOAD
[codex:1533139] 2545-0000166c: DUP5
[codex:1533139] 2546-0000166d: PUSH2 0x15a4
[codex:1533139] 2547-00001670: JUMP
[codex:1533139] 2548-00001671: JUMPDEST
[codex:1533139] 2549-00001672: RETURNDATASIZE
[codex:1533139] 2550-00001673: SWAP2
[codex:1533139] 2551-00001674: POP
[codex:1533139] 2552-00001675: PUSH2 0x1655
[codex:1533139] 2553-00001678: JUMP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function ownership and usage**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 20 "0000128a"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 2014-0000121e: JUMPI
[codex:1533139] 2015-0000121f: PUSH2 0x1226
[codex:1533139] 2016-00001222: PUSH2 0x1d6b
[codex:1533139] 2017-00001225: JUMP
[codex:1533139] 2018-00001226: JUMPDEST
[codex:1533139] 2019-00001227: PUSH0
[codex:1533139] 2020-00001228: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 2021-0000123d: DUP2
[codex:1533139] 2022-0000123e: SLOAD
[codex:1533139] 2023-0000123f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
[codex:1533139] 2024-00001260: DUP2
[codex:1533139] 2025-00001261: AND
[codex:1533139] 2026-00001262: DUP4
[codex:1533139] 2027-00001263: SSTORE
[codex:1533139] 2028-00001264: AND
[codex:1533139] 2029-00001265: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
[codex:1533139] 2030-00001286: DUP3
[codex:1533139] 2031-00001287: DUP1
[codex:1533139] 2032-00001288: LOG3
[codex:1533139] 2033-00001289: STOP
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing function ownership and storage safety**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n "SSTORE"' in /tmp/codex-multi-3k9nji45 succeeded in 13ms:
[codex:1533139] 385:0000034c: SSTORE
[codex:1533139] 452:00000418: SSTORE
[codex:1533139] 1613:00000efa: SSTORE
[codex:1533139] 2027:00001263: SSTORE
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Analyzing SSTORE instructions**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "0000034c"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 370-00000307: JUMPDEST
[codex:1533139] 371-00000308: AND
[codex:1533139] 372-00000309: DUP1
[codex:1533139] 373-0000030a: ISZERO
[codex:1533139] 374-0000030b: PUSH2 0x0374
[codex:1533139] 375-0000030e: JUMPI
[codex:1533139] 376-0000030f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 377-00000324: DUP3
[codex:1533139] 378-00000325: SLOAD
[codex:1533139] 379-00000326: DUP3
[codex:1533139] 380-00000327: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
[codex:1533139] 381-00000348: DUP3
[codex:1533139] 382-00000349: AND
[codex:1533139] 383-0000034a: OR
[codex:1533139] 384-0000034b: DUP5
[codex:1533139] 385:0000034c: SSTORE
[codex:1533139] 386-0000034d: AND
[codex:1533139] 387-0000034e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
[codex:1533139] 388-0000036f: DUP4
[codex:1533139] 389-00000370: DUP1
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Reviewing ownership transfer function**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00000418"' in /tmp/codex-multi-3k9nji45 succeeded in 15ms:
[codex:1533139] 437-000003e7: DUP5
[codex:1533139] 438-000003e8: MSTORE
[codex:1533139] 439-000003e9: DUP2
[codex:1533139] 440-000003ea: PUSH1 0x20
[codex:1533139] 441-000003ec: MSTORE
[codex:1533139] 442-000003ed: PUSH1 0x40
[codex:1533139] 443-000003ef: DUP5
[codex:1533139] 444-000003f0: KECCAK256
[codex:1533139] 445-000003f1: DUP3
[codex:1533139] 446-000003f2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
[codex:1533139] 447-00000413: DUP3
[codex:1533139] 448-00000414: SLOAD
[codex:1533139] 449-00000415: AND
[codex:1533139] 450-00000416: OR
[codex:1533139] 451-00000417: SWAP1
[codex:1533139] 452:00000418: SSTORE
[codex:1533139] 453-00000419: ADD
[codex:1533139] 454-0000041a: PUSH2 0x03b9
[codex:1533139] 455-0000041d: JUMP
[codex:1533139] 456-0000041e: JUMPDEST
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Tracing mapping updates with owner checks**
[codex:1533139] exec
[codex:1533139] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-fA-F]+" BYTECODE_BUNDLE.txt) | rg -n -C 15 "00001263"' in /tmp/codex-multi-3k9nji45 succeeded in 16ms:
[codex:1533139] 2012-0000121a: SLT
[codex:1533139] 2013-0000121b: PUSH2 0x0d54
[codex:1533139] 2014-0000121e: JUMPI
[codex:1533139] 2015-0000121f: PUSH2 0x1226
[codex:1533139] 2016-00001222: PUSH2 0x1d6b
[codex:1533139] 2017-00001225: JUMP
[codex:1533139] 2018-00001226: JUMPDEST
[codex:1533139] 2019-00001227: PUSH0
[codex:1533139] 2020-00001228: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:1533139] 2021-0000123d: DUP2
[codex:1533139] 2022-0000123e: SLOAD
[codex:1533139] 2023-0000123f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
[codex:1533139] 2024-00001260: DUP2
[codex:1533139] 2025-00001261: AND
[codex:1533139] 2026-00001262: DUP4
[codex:1533139] 2027:00001263: SSTORE
[codex:1533139] 2028-00001264: AND
[codex:1533139] 2029-00001265: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
[codex:1533139] 2030-00001286: DUP3
[codex:1533139] 2031-00001287: DUP1
[codex:1533139] 
[codex:1533139] thinking
[codex:1533139] **Summarizing exploit analysis results**
[codex:1533139] codex
[codex:1533139] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in the provided runtime bytecode; state-changing/withdrawal paths are owner/authorized-gated and the Uniswap V3 swap callback includes sender/pool validation, so bytecode-only analysis does not reveal a profit vector.","findings":[]}
[codex:1533139] tokens used
[codex:1533139] 123,301
[codex:1533139] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path found in the provided runtime bytecode; state-changing/withdrawal paths are owner/authorized-gated and the Uniswap V3 swap callback includes sender/pool validation, so bytecode-only analysis does not reveal a profit vector.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T04:59:20.495917+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path found in the provided runtime bytecode; state-changing/withdrawal paths are owner/authorized-gated and the Uniswap V3 swap callback includes sender/pool validation, so bytecode-only analysis does not reveal a profit vector.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path found in the provided runtime bytecode; state-changing/withdrawal paths are owner/authorized-gated and the Uniswap V3 swap callback includes sender/pool validation, so bytecode-only analysis does not reveal a profit vector.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
5
Total opcodes
4290
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x001a
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: STOP
0000001a: JUMPDEST
0000001b: PUSH0
0000001c: PUSH0
0000001d: CALLDATALOAD
0000001e: PUSH1 0xe0
00000020: SHR
00000021: DUP1
00000022: PUSH4 0x0423427d
00000027: EQ
00000028: PUSH2 0x1679
0000002b: JUMPI
0000002c: DUP1
0000002d: PUSH4 0x5ecb16cd
00000032: EQ
00000033: PUSH2 0x151f
00000036: JUMPI
00000037: DUP1
00000038: PUSH4 0x66000a74
0000003d: EQ
0000003e: PUSH2 0x128a
00000041: JUMPI
00000042: DUP1
00000043: PUSH4 0x715018a6
00000048: EQ
00000049: PUSH2 0x11f0
0000004c: JUMPI
0000004d: DUP1
0000004e: PUSH4 0x75428c1a
00000053: EQ
00000054: PUSH2 0x0f00
00000057: JUMPI
00000058: DUP1
00000059: PUSH4 0x78ff96bb
0000005e: EQ
0000005f: PUSH2 0x0e85
00000062: JUMPI
00000063: DUP1
00000064: PUSH4 0x7b334154
00000069: EQ
0000006a: PUSH2 0x0e1d
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0x8da5cb5b
00000074: EQ
00000075: PUSH2 0x0dcd
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0x91dd7346
0000007f: EQ
00000080: PUSH2 0x05ae
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0xa0ef91df
0000008a: EQ
0000008b: PUSH2 0x054a
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0xac43070b
00000095: EQ
00000096: PUSH2 0x0422
00000099: JUMPI
0000009a: DUP1
0000009b: PUSH4 0xdd7580b6
000000a0: EQ
000000a1: PUSH2 0x03a0
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0xf2fde38b
000000ab: EQ
000000ac: PUSH2 0x02b2
000000af: JUMPI
000000b0: PUSH4 0xfa461e33
000000b5: EQ
000000b6: PUSH2 0x00bf
000000b9: JUMPI
000000ba: POP
000000bb: PUSH2 0x000e
000000be: JUMP
000000bf: JUMPDEST
000000c0: CALLVALUE
000000c1: PUSH2 0x02af
000000c4: JUMPI
000000c5: PUSH1 0x60
000000c7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000000e8: CALLDATASIZE
000000e9: ADD
000000ea: SLT
000000eb: PUSH2 0x02af
000000ee: JUMPI
000000ef: PUSH1 0x24
000000f1: CALLDATALOAD
000000f2: PUSH1 0x04
000000f4: CALLDATALOAD
000000f5: PUSH1 0x44
000000f7: CALLDATALOAD
000000f8: PUSH8 0xffffffffffffffff
00000101: DUP2
00000102: GT
00000103: PUSH2 0x02ad
00000106: JUMPI
00000107: PUSH2 0x0114
0000010a: SWAP1
0000010b: CALLDATASIZE
0000010c: SWAP1
0000010d: PUSH1 0x04
0000010f: ADD
00000110: PUSH2 0x1b53
00000113: JUMP
00000114: JUMPDEST
00000115: DUP2
00000116: ADD
00000117: SWAP2
00000118: SWAP1
00000119: PUSH1 0x20
0000011b: DUP2
0000011c: DUP5
0000011d: SUB
0000011e: SLT
0000011f: PUSH2 0x02a9
00000122: JUMPI
00000123: DUP1
00000124: CALLDATALOAD
00000125: SWAP1
00000126: PUSH8 0xffffffffffffffff
0000012f: DUP3
00000130: GT
00000131: PUSH2 0x02a1
00000134: JUMPI
00000135: ADD
00000136: SWAP3
00000137: DUP4
00000138: DUP4
00000139: SUB
0000013a: PUSH2 0x0120
0000013d: DUP2
0000013e: SLT
0000013f: PUSH2 0x02a1
00000142: JUMPI
00000143: PUSH1 0x40
00000145: MLOAD
00000146: SWAP4
00000147: PUSH2 0x014f
0000014a: DUP6
0000014b: PUSH2 0x17a3
0000014e: JUMP
0000014f: JUMPDEST
00000150: PUSH2 0x0159
00000153: DUP2
00000154: DUP8
00000155: PUSH2 0x1927
00000158: JUMP
00000159: JUMPDEST
0000015a: DUP6
0000015b: MSTORE
0000015c: PUSH1 0xc0
0000015e: DUP7
0000015f: ADD
00000160: CALLDATALOAD
00000161: SWAP1
00000162: PUSH8 0xffffffffffffffff
0000016b: DUP3
0000016c: GT
0000016d: PUSH2 0x02a5
00000170: JUMPI
00000171: PUSH2 0x019f
00000174: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff20
00000195: SWAP2
00000196: PUSH1 0x40
00000198: SWAP4
00000199: DUP10
0000019a: ADD
0000019b: PUSH2 0x19f5
0000019e: JUMP
0000019f: JUMPDEST
000001a0: SWAP3
000001a1: PUSH1 0x20
000001a3: DUP8
000001a4: ADD
000001a5: SWAP4
000001a6: DUP5
000001a7: MSTORE
000001a8: ADD
000001a9: SLT
000001aa: PUSH2 0x02a1
000001ad: JUMPI
000001ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001c3: PUSH2 0x0218
000001c6: PUSH2 0x028b
000001c9: SWAP7
000001ca: PUSH2 0x01f0
000001cd: PUSH2 0x0100
000001d0: PUSH1 0x40
000001d2: MLOAD
000001d3: SWAP3
000001d4: PUSH2 0x01dc
000001d7: DUP5
000001d8: PUSH2 0x17db
000001db: JUMP
000001dc: JUMPDEST
000001dd: PUSH2 0x01e8
000001e0: PUSH1 0xe0
000001e2: DUP3
000001e3: ADD
000001e4: PUSH2 0x1a9e
000001e7: JUMP
000001e8: JUMPDEST
000001e9: DUP5
000001ea: MSTORE
000001eb: ADD
000001ec: PUSH2 0x199a
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH1 0x20
000001f3: DUP3
000001f4: ADD
000001f5: MSTORE
000001f6: PUSH1 0x40
000001f8: DUP8
000001f9: ADD
000001fa: SWAP1
000001fb: DUP2
000001fc: MSTORE
000001fd: DUP4
000001fe: MLOAD
000001ff: SWAP1
00000200: PUSH3 0xffffff
00000204: DUP5
00000205: PUSH1 0x20
00000207: DUP2
00000208: DUP6
00000209: MLOAD
0000020a: AND
0000020b: SWAP5
0000020c: ADD
0000020d: MLOAD
0000020e: AND
0000020f: SWAP2
00000210: MLOAD
00000211: MLOAD
00000212: AND
00000213: SWAP2
00000214: PUSH2 0x1e2c
00000217: JUMP
00000218: JUMPDEST
00000219: AND
0000021a: SWAP1
0000021b: PUSH2 0x0225
0000021e: DUP3
0000021f: CALLER
00000220: EQ
00000221: PUSH2 0x1c7e
00000224: JUMP
00000225: JUMPDEST
00000226: DUP7
00000227: DUP5
00000228: SLT
00000229: ISZERO
0000022a: PUSH2 0x028e
0000022d: JUMPI
0000022e: PUSH2 0x023a
00000231: PUSH2 0x0284
00000234: SWAP4
00000235: SWAP5
00000236: PUSH2 0x1ce3
00000239: JUMP
0000023a: JUMPDEST
0000023b: SWAP4
0000023c: SWAP1
0000023d: JUMPDEST
0000023e: MLOAD
0000023f: SWAP1
00000240: DUP5
00000241: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000256: DUP4
00000257: MLOAD
00000258: AND
00000259: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000026e: PUSH1 0x20
00000270: DUP6
00000271: ADD
00000272: MLOAD
00000273: AND
00000274: SWAP1
00000275: PUSH1 0x80
00000277: PUSH1 0x60
00000279: DUP7
0000027a: ADD
0000027b: MLOAD
0000027c: SWAP6
0000027d: ADD
0000027e: MLOAD
0000027f: SWAP6
00000280: PUSH2 0x1f9b
00000283: JUMP
00000284: JUMPDEST
00000285: SWAP2
00000286: MLOAD
00000287: PUSH2 0x2210
0000028a: JUMP
0000028b: JUMPDEST
0000028c: DUP1
0000028d: RETURN
0000028e: JUMPDEST
0000028f: PUSH2 0x029a
00000292: PUSH2 0x0284
00000295: SWAP4
00000296: PUSH2 0x1ce3
00000299: JUMP
0000029a: JUMPDEST
0000029b: SWAP4
0000029c: SWAP1
0000029d: PUSH2 0x023d
000002a0: JUMP
000002a1: JUMPDEST
000002a2: DUP6
000002a3: DUP1
000002a4: REVERT
000002a5: JUMPDEST
000002a6: DUP8
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: DUP5
000002ab: DUP1
000002ac: REVERT
000002ad: JUMPDEST
000002ae: DUP4
000002af: JUMPDEST
000002b0: DUP1
000002b1: REVERT
000002b2: JUMPDEST
000002b3: POP
000002b4: CALLVALUE
000002b5: PUSH2 0x02af
000002b8: JUMPI
000002b9: PUSH1 0x20
000002bb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000002dc: CALLDATASIZE
000002dd: ADD
000002de: SLT
000002df: PUSH2 0x02af
000002e2: JUMPI
000002e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002f8: PUSH2 0x02ff
000002fb: PUSH2 0x1977
000002fe: JUMP
000002ff: JUMPDEST
00000300: PUSH2 0x0307
00000303: PUSH2 0x1d6b
00000306: JUMP
00000307: JUMPDEST
00000308: AND
00000309: DUP1
0000030a: ISZERO
0000030b: PUSH2 0x0374
0000030e: JUMPI
0000030f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000324: DUP3
00000325: SLOAD
00000326: DUP3
00000327: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000348: DUP3
00000349: AND
0000034a: OR
0000034b: DUP5
0000034c: SSTORE
0000034d: AND
0000034e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000036f: DUP4
00000370: DUP1
00000371: LOG3
00000372: DUP1
00000373: RETURN
00000374: JUMPDEST
00000375: PUSH1 0x24
00000377: DUP3
00000378: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000
00000399: DUP2
0000039a: MSTORE
0000039b: DUP1
0000039c: PUSH1 0x04
0000039e: MSTORE
0000039f: REVERT
000003a0: JUMPDEST
000003a1: POP
000003a2: CALLVALUE
000003a3: PUSH2 0x02af
000003a6: JUMPI
000003a7: PUSH2 0x03af
000003aa: CALLDATASIZE
000003ab: PUSH2 0x1aae
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x03b7
000003b3: PUSH2 0x1d6b
000003b6: JUMP
000003b7: JUMPDEST
000003b8: DUP2
000003b9: JUMPDEST
000003ba: DUP2
000003bb: MLOAD
000003bc: DUP2
000003bd: LT
000003be: ISZERO
000003bf: PUSH2 0x041e
000003c2: JUMPI
000003c3: DUP1
000003c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d9: PUSH2 0x03e4
000003dc: PUSH1 0x01
000003de: SWAP4
000003df: DUP6
000003e0: PUSH2 0x1bc4
000003e3: JUMP
000003e4: JUMPDEST
000003e5: MLOAD
000003e6: AND
000003e7: DUP5
000003e8: MSTORE
000003e9: DUP2
000003ea: PUSH1 0x20
000003ec: MSTORE
000003ed: PUSH1 0x40
000003ef: DUP5
000003f0: KECCAK256
000003f1: DUP3
000003f2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000413: DUP3
00000414: SLOAD
00000415: AND
00000416: OR
00000417: SWAP1
00000418: SSTORE
00000419: ADD
0000041a: PUSH2 0x03b9
0000041d: JUMP
0000041e: JUMPDEST
0000041f: DUP3
00000420: DUP1
00000421: RETURN
00000422: JUMPDEST
00000423: POP
00000424: CALLVALUE
00000425: PUSH2 0x02af
00000428: JUMPI
00000429: PUSH2 0x0431
0000042c: CALLDATASIZE
0000042d: PUSH2 0x186c
00000430: JUMP
00000431: JUMPDEST
00000432: SWAP1
00000433: PUSH2 0x043a
00000436: PUSH2 0x1d6b
00000439: JUMP
0000043a: JUMPDEST
0000043b: DUP1
0000043c: JUMPDEST
0000043d: DUP3
0000043e: MLOAD
0000043f: DUP2
00000440: LT
00000441: ISZERO
00000442: PUSH2 0x0546
00000445: JUMPI
00000446: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000045b: PUSH2 0x0464
0000045e: DUP3
0000045f: DUP6
00000460: PUSH2 0x1bc4
00000463: JUMP
00000464: JUMPDEST
00000465: MLOAD
00000466: AND
00000467: PUSH2 0x04a5
0000046a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000048b: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
000004a0: DUP4
000004a1: PUSH2 0x23fb
000004a4: JUMP
000004a5: JUMPDEST
000004a6: ISZERO
000004a7: PUSH2 0x04b4
000004aa: JUMPI
000004ab: JUMPDEST
000004ac: POP
000004ad: PUSH1 0x01
000004af: ADD
000004b0: PUSH2 0x043c
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x04d2
000004b8: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
000004cd: DUP3
000004ce: PUSH2 0x246f
000004d1: JUMP
000004d2: JUMPDEST
000004d3: ISZERO
000004d4: PUSH2 0x051b
000004d7: JUMPI
000004d8: PUSH2 0x0516
000004db: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000004fc: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
00000511: DUP4
00000512: PUSH2 0x24f4
00000515: JUMP
00000516: JUMPDEST
00000517: PUSH2 0x04ab
0000051a: JUMPI
0000051b: JUMPDEST
0000051c: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
0000053d: DUP4
0000053e: MSTORE
0000053f: PUSH1 0x04
00000541: MSTORE
00000542: PUSH1 0x24
00000544: DUP3
00000545: REVERT
00000546: JUMPDEST
00000547: POP
00000548: DUP1
00000549: RETURN
0000054a: JUMPDEST
0000054b: POP
0000054c: CALLVALUE
0000054d: PUSH2 0x02af
00000550: JUMPI
00000551: DUP1
00000552: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000573: CALLDATASIZE
00000574: ADD
00000575: SLT
00000576: PUSH2 0x02af
00000579: JUMPI
0000057a: PUSH2 0x0581
0000057d: PUSH2 0x1d6b
00000580: JUMP
00000581: JUMPDEST
00000582: DUP1
00000583: DUP1
00000584: DUP1
00000585: DUP1
00000586: SELFBALANCE
00000587: DUP2
00000588: DUP2
00000589: ISZERO
0000058a: PUSH2 0x05a5
0000058d: JUMPI
0000058e: JUMPDEST
0000058f: CALLER
00000590: SWAP1
00000591: CALL
00000592: ISZERO
00000593: PUSH2 0x0599
00000596: JUMPI
00000597: DUP1
00000598: RETURN
00000599: JUMPDEST
0000059a: PUSH1 0x40
0000059c: MLOAD
0000059d: SWAP1
0000059e: RETURNDATASIZE
0000059f: SWAP1
000005a0: DUP3
000005a1: RETURNDATACOPY
000005a2: RETURNDATASIZE
000005a3: SWAP1
000005a4: REVERT
000005a5: JUMPDEST
000005a6: POP
000005a7: PUSH2 0x08fc
000005aa: PUSH2 0x058e
000005ad: JUMP
000005ae: JUMPDEST
000005af: POP
000005b0: CALLVALUE
000005b1: PUSH2 0x0d54
000005b4: JUMPI
000005b5: PUSH1 0x20
000005b7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000005d8: CALLDATASIZE
000005d9: ADD
000005da: SLT
000005db: PUSH2 0x0d54
000005de: JUMPI
000005df: PUSH1 0x04
000005e1: CALLDATALOAD
000005e2: PUSH8 0xffffffffffffffff
000005eb: DUP2
000005ec: GT
000005ed: PUSH2 0x0d54
000005f0: JUMPI
000005f1: PUSH2 0x05fe
000005f4: SWAP1
000005f5: CALLDATASIZE
000005f6: SWAP1
000005f7: PUSH1 0x04
000005f9: ADD
000005fa: PUSH2 0x1b53
000005fd: JUMP
000005fe: JUMPDEST
000005ff: PUSH2 0x0618
00000602: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000612: CALLER
00000613: EQ
00000614: PUSH2 0x1c7e
00000617: JUMP
00000618: JUMPDEST
00000619: DUP2
0000061a: ADD
0000061b: SWAP1
0000061c: PUSH1 0x20
0000061e: DUP2
0000061f: DUP4
00000620: SUB
00000621: SLT
00000622: PUSH2 0x0d54
00000625: JUMPI
00000626: DUP1
00000627: CALLDATALOAD
00000628: SWAP1
00000629: PUSH8 0xffffffffffffffff
00000632: DUP3
00000633: GT
00000634: PUSH2 0x0d54
00000637: JUMPI
00000638: ADD
00000639: SWAP1
0000063a: DUP2
0000063b: DUP2
0000063c: SUB
0000063d: SWAP1
0000063e: PUSH2 0x0160
00000641: DUP3
00000642: SLT
00000643: PUSH2 0x0d54
00000646: JUMPI
00000647: PUSH1 0x40
00000649: MLOAD
0000064a: SWAP1
0000064b: PUSH2 0x0653
0000064e: DUP3
0000064f: PUSH2 0x17a3
00000652: JUMP
00000653: JUMPDEST
00000654: PUSH2 0x065d
00000657: DUP2
00000658: DUP6
00000659: PUSH2 0x1927
0000065c: JUMP
0000065d: JUMPDEST
0000065e: DUP3
0000065f: MSTORE
00000660: PUSH1 0xc0
00000662: DUP5
00000663: ADD
00000664: CALLDATALOAD
00000665: SWAP1
00000666: PUSH8 0xffffffffffffffff
0000066f: DUP3
00000670: GT
00000671: PUSH2 0x0d54
00000674: JUMPI
00000675: PUSH2 0x06a3
00000678: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff20
00000699: SWAP2
0000069a: PUSH1 0x80
0000069c: SWAP4
0000069d: DUP8
0000069e: ADD
0000069f: PUSH2 0x19f5
000006a2: JUMP
000006a3: JUMPDEST
000006a4: SWAP4
000006a5: PUSH1 0x20
000006a7: DUP5
000006a8: ADD
000006a9: SWAP5
000006aa: DUP6
000006ab: MSTORE
000006ac: ADD
000006ad: SLT
000006ae: PUSH2 0x0d54
000006b1: JUMPI
000006b2: PUSH1 0x40
000006b4: MLOAD
000006b5: SWAP3
000006b6: PUSH2 0x06be
000006b9: DUP5
000006ba: PUSH2 0x17f7
000006bd: JUMP
000006be: JUMPDEST
000006bf: PUSH2 0x06ca
000006c2: PUSH1 0xe0
000006c4: DUP3
000006c5: ADD
000006c6: PUSH2 0x1a9e
000006c9: JUMP
000006ca: JUMPDEST
000006cb: DUP5
000006cc: MSTORE
000006cd: PUSH2 0x0100
000006d0: DUP2
000006d1: ADD
000006d2: CALLDATALOAD
000006d3: DUP1
000006d4: PUSH1 0x02
000006d6: SIGNEXTEND
000006d7: DUP2
000006d8: SUB
000006d9: PUSH2 0x0d54
000006dc: JUMPI
000006dd: PUSH2 0x0701
000006e0: SWAP2
000006e1: PUSH2 0x0140
000006e4: SWAP2
000006e5: PUSH1 0x20
000006e7: DUP8
000006e8: ADD
000006e9: MSTORE
000006ea: PUSH2 0x06f6
000006ed: PUSH2 0x0120
000006f0: DUP3
000006f1: ADD
000006f2: PUSH2 0x199a
000006f5: JUMP
000006f6: JUMPDEST
000006f7: PUSH1 0x40
000006f9: DUP8
000006fa: ADD
000006fb: MSTORE
000006fc: ADD
000006fd: PUSH2 0x199a
00000700: JUMP
00000701: JUMPDEST
00000702: PUSH1 0x60
00000704: DUP5
00000705: ADD
00000706: MSTORE
00000707: PUSH1 0x40
00000709: DUP2
0000070a: ADD
0000070b: SWAP3
0000070c: DUP4
0000070d: MSTORE
0000070e: DUP2
0000070f: MLOAD
00000710: SWAP3
00000711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000726: DUP1
00000727: PUSH1 0x20
00000729: DUP7
0000072a: ADD
0000072b: MLOAD
0000072c: AND
0000072d: SWAP5
0000072e: MLOAD
0000072f: AND
00000730: SWAP3
00000731: DUP4
00000732: DUP6
00000733: LT
00000734: PUSH0
00000735: EQ
00000736: PUSH2 0x0dc3
00000739: JUMPI
0000073a: DUP5
0000073b: SWAP2
0000073c: DUP5
0000073d: PUSH1 0x01
0000073f: SWAP2
00000740: JUMPDEST
00000741: DUP1
00000742: MLOAD
00000743: SWAP2
00000744: DUP3
00000745: MLOAD
00000746: PUSH3 0xffffff
0000074a: AND
0000074b: SWAP3
0000074c: PUSH1 0x20
0000074e: DUP2
0000074f: ADD
00000750: MLOAD
00000751: PUSH1 0x02
00000753: SIGNEXTEND
00000754: SWAP1
00000755: PUSH1 0x40
00000757: ADD
00000758: MLOAD
00000759: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076e: AND
0000076f: SWAP1
00000770: PUSH1 0x40
00000772: MLOAD
00000773: SWAP8
00000774: PUSH2 0x077c
00000777: DUP10
00000778: PUSH2 0x175a
0000077b: JUMP
0000077c: JUMPDEST
0000077d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000792: AND
00000793: DUP9
00000794: MSTORE
00000795: PUSH1 0x20
00000797: DUP9
00000798: ADD
00000799: SWAP3
0000079a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007af: AND
000007b0: DUP4
000007b1: MSTORE
000007b2: PUSH1 0x40
000007b4: DUP9
000007b5: ADD
000007b6: SWAP5
000007b7: DUP6
000007b8: MSTORE
000007b9: PUSH1 0x60
000007bb: DUP9
000007bc: ADD
000007bd: SWAP1
000007be: DUP2
000007bf: MSTORE
000007c0: PUSH1 0x80
000007c2: DUP9
000007c3: ADD
000007c4: SWAP2
000007c5: DUP3
000007c6: MSTORE
000007c7: DUP7
000007c8: MLOAD
000007c9: PUSH1 0x40
000007cb: ADD
000007cc: MLOAD
000007cd: PUSH2 0x07d5
000007d0: SWAP1
000007d1: PUSH2 0x1ce3
000007d4: JUMP
000007d5: JUMPDEST
000007d6: SWAP4
000007d7: MLOAD
000007d8: PUSH1 0x60
000007da: ADD
000007db: MLOAD
000007dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f1: AND
000007f2: SWAP5
000007f3: PUSH1 0x40
000007f5: MLOAD
000007f6: SWAP4
000007f7: PUSH2 0x07ff
000007fa: DUP6
000007fb: PUSH2 0x17a3
000007fe: JUMP
000007ff: JUMPDEST
00000800: DUP8
00000801: ISZERO
00000802: ISZERO
00000803: DUP6
00000804: MSTORE
00000805: PUSH1 0x20
00000807: DUP6
00000808: ADD
00000809: SWAP6
0000080a: DUP7
0000080b: MSTORE
0000080c: PUSH1 0x40
0000080e: DUP6
0000080f: ADD
00000810: SWAP7
00000811: DUP8
00000812: MSTORE
00000813: PUSH1 0x40
00000815: MLOAD
00000816: SWAP10
00000817: PUSH32 0xf3cd914c00000000000000000000000000000000000000000000000000000000
00000838: DUP12
00000839: MSTORE
0000083a: MLOAD
0000083b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000850: AND
00000851: PUSH1 0x04
00000853: DUP12
00000854: ADD
00000855: MSTORE
00000856: MLOAD
00000857: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000086c: AND
0000086d: PUSH1 0x24
0000086f: DUP11
00000870: ADD
00000871: MSTORE
00000872: MLOAD
00000873: PUSH3 0xffffff
00000877: AND
00000878: PUSH1 0x44
0000087a: DUP10
0000087b: ADD
0000087c: MSTORE
0000087d: MLOAD
0000087e: PUSH1 0x02
00000880: SIGNEXTEND
00000881: PUSH1 0x64
00000883: DUP9
00000884: ADD
00000885: MSTORE
00000886: MLOAD
00000887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000089c: AND
0000089d: PUSH1 0x84
0000089f: DUP8
000008a0: ADD
000008a1: MSTORE
000008a2: MLOAD
000008a3: ISZERO
000008a4: ISZERO
000008a5: PUSH1 0xa4
000008a7: DUP7
000008a8: ADD
000008a9: MSTORE
000008aa: MLOAD
000008ab: PUSH1 0xc4
000008ad: DUP6
000008ae: ADD
000008af: MSTORE
000008b0: MLOAD
000008b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c6: AND
000008c7: PUSH1 0xe4
000008c9: DUP5
000008ca: ADD
000008cb: MSTORE
000008cc: PUSH2 0x0104
000008cf: DUP4
000008d0: ADD
000008d1: PUSH2 0x0120
000008d4: SWAP1
000008d5: MSTORE
000008d6: PUSH2 0x0124
000008d9: DUP4
000008da: ADD
000008db: PUSH0
000008dc: SWAP1
000008dd: MSTORE
000008de: DUP3
000008df: DUP1
000008e0: GAS
000008e1: PUSH1 0x20
000008e3: SWAP3
000008e4: PUSH0
000008e5: PUSH15 0x04444c5dc75cb358380d2e3de08a90
000008f5: PUSH2 0x0144
000008f8: SWAP4
000008f9: CALL
000008fa: SWAP3
000008fb: DUP4
000008fc: ISZERO
000008fd: PUSH2 0x0d49
00000900: JUMPI
00000901: PUSH0
00000902: SWAP4
00000903: PUSH2 0x0d8f
00000906: JUMPI
00000907: JUMPDEST
00000908: POP
00000909: DUP3
0000090a: PUSH1 0x80
0000090c: SAR
0000090d: SWAP1
0000090e: PUSH0
0000090f: EQ
00000910: PUSH2 0x0d58
00000913: JUMPI
00000914: PUSH2 0x091c
00000917: SWAP1
00000918: PUSH2 0x1d3c
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH16 0xffffffffffffffffffffffffffffffff
0000092e: AND
0000092f: SWAP2
00000930: PUSH16 0xffffffffffffffffffffffffffffffff
00000941: AND
00000942: JUMPDEST
00000943: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000953: EXTCODESIZE
00000954: ISZERO
00000955: PUSH2 0x0d54
00000958: JUMPI
00000959: PUSH16 0xffffffffffffffffffffffffffffffff
0000096a: SWAP1
0000096b: PUSH1 0x40
0000096d: MLOAD
0000096e: SWAP6
0000096f: PUSH32 0x0b0d9c0900000000000000000000000000000000000000000000000000000000
00000990: DUP8
00000991: MSTORE
00000992: PUSH1 0x04
00000994: DUP8
00000995: ADD
00000996: MSTORE
00000997: ADDRESS
00000998: PUSH1 0x24
0000099a: DUP8
0000099b: ADD
0000099c: MSTORE
0000099d: AND
0000099e: SWAP4
0000099f: DUP5
000009a0: PUSH1 0x44
000009a2: DUP3
000009a3: ADD
000009a4: MSTORE
000009a5: PUSH0
000009a6: DUP2
000009a7: PUSH1 0x64
000009a9: DUP2
000009aa: DUP4
000009ab: PUSH15 0x04444c5dc75cb358380d2e3de08a90
000009bb: GAS
000009bc: CALL
000009bd: DUP1
000009be: ISZERO
000009bf: PUSH2 0x0d49
000009c2: JUMPI
000009c3: PUSH2 0x0d32
000009c6: JUMPI
000009c7: JUMPDEST
000009c8: POP
000009c9: PUSH2 0x0a2a
000009cc: SWAP1
000009cd: MLOAD
000009ce: SWAP2
000009cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009e4: DUP4
000009e5: MLOAD
000009e6: AND
000009e7: SWAP3
000009e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009fd: PUSH1 0x20
000009ff: DUP3
00000a00: ADD
00000a01: MLOAD
00000a02: AND
00000a03: SWAP4
00000a04: DUP7
00000a05: PUSH16 0xffffffffffffffffffffffffffffffff
00000a16: PUSH1 0x80
00000a18: PUSH1 0x60
00000a1a: DUP6
00000a1b: ADD
00000a1c: MLOAD
00000a1d: SWAP5
00000a1e: ADD
00000a1f: MLOAD
00000a20: SWAP5
00000a21: AND
00000a22: SWAP6
00000a23: DUP7
00000a24: SWAP3
00000a25: ADDRESS
00000a26: PUSH2 0x1f9b
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: SWAP4
00000a2c: DUP1
00000a2d: PUSH2 0x0af4
00000a30: JUMPI
00000a31: POP
00000a32: PUSH1 0x20
00000a34: PUSH1 0x04
00000a36: SWAP2
00000a37: PUSH1 0x40
00000a39: MLOAD
00000a3a: SWAP3
00000a3b: DUP4
00000a3c: DUP1
00000a3d: SWAP3
00000a3e: PUSH32 0x11da60b400000000000000000000000000000000000000000000000000000000
00000a5f: DUP3
00000a60: MSTORE
00000a61: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000a71: GAS
00000a72: CALL
00000a73: DUP1
00000a74: ISZERO
00000a75: PUSH2 0x0ae9
00000a78: JUMPI
00000a79: SWAP2
00000a7a: PUSH2 0x0a91
00000a7d: SWAP4
00000a7e: SWAP2
00000a7f: PUSH2 0x0ab6
00000a82: SWAP7
00000a83: SWAP6
00000a84: SWAP4
00000a85: PUSH2 0x0aba
00000a88: JUMPI
00000a89: JUMPDEST
00000a8a: POP
00000a8b: JUMPDEST
00000a8c: MLOAD
00000a8d: PUSH2 0x2210
00000a90: JUMP
00000a91: JUMPDEST
00000a92: PUSH1 0x40
00000a94: MLOAD
00000a95: SWAP1
00000a96: PUSH2 0x0aa0
00000a99: PUSH1 0x20
00000a9b: DUP4
00000a9c: PUSH2 0x1813
00000a9f: JUMP
00000aa0: JUMPDEST
00000aa1: DUP2
00000aa2: MSTORE
00000aa3: PUSH1 0x40
00000aa5: MLOAD
00000aa6: SWAP2
00000aa7: DUP3
00000aa8: SWAP2
00000aa9: PUSH1 0x20
00000aab: DUP4
00000aac: MSTORE
00000aad: PUSH1 0x20
00000aaf: DUP4
00000ab0: ADD
00000ab1: SWAP1
00000ab2: PUSH2 0x1b81
00000ab5: JUMP
00000ab6: JUMPDEST
00000ab7: SUB
00000ab8: SWAP1
00000ab9: RETURN
00000aba: JUMPDEST
00000abb: PUSH2 0x0adb
00000abe: SWAP1
00000abf: PUSH1 0x20
00000ac1: RETURNDATASIZE
00000ac2: PUSH1 0x20
00000ac4: GT
00000ac5: PUSH2 0x0ae2
00000ac8: JUMPI
00000ac9: JUMPDEST
00000aca: PUSH2 0x0ad3
00000acd: DUP2
00000ace: DUP4
00000acf: PUSH2 0x1813
00000ad2: JUMP
00000ad3: JUMPDEST
00000ad4: DUP2
00000ad5: ADD
00000ad6: SWAP1
00000ad7: PUSH2 0x1c05
00000ada: JUMP
00000adb: JUMPDEST
00000adc: POP
00000add: PUSH0
00000ade: PUSH2 0x0a89
00000ae1: JUMP
00000ae2: JUMPDEST
00000ae3: POP
00000ae4: RETURNDATASIZE
00000ae5: PUSH2 0x0ac9
00000ae8: JUMP
00000ae9: JUMPDEST
00000aea: PUSH1 0x40
00000aec: MLOAD
00000aed: RETURNDATASIZE
00000aee: DUP8
00000aef: DUP3
00000af0: RETURNDATACOPY
00000af1: RETURNDATASIZE
00000af2: SWAP1
00000af3: REVERT
00000af4: JUMPDEST
00000af5: SWAP1
00000af6: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000b06: EXTCODESIZE
00000b07: ISZERO
00000b08: PUSH2 0x02a1
00000b0b: JUMPI
00000b0c: DUP6
00000b0d: PUSH1 0x40
00000b0f: MLOAD
00000b10: PUSH32 0xa584119400000000000000000000000000000000000000000000000000000000
00000b31: DUP2
00000b32: MSTORE
00000b33: DUP4
00000b34: PUSH1 0x04
00000b36: DUP3
00000b37: ADD
00000b38: MSTORE
00000b39: DUP2
00000b3a: DUP2
00000b3b: PUSH1 0x24
00000b3d: DUP2
00000b3e: DUP4
00000b3f: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000b4f: GAS
00000b50: CALL
00000b51: DUP1
00000b52: ISZERO
00000b53: PUSH2 0x0d27
00000b56: JUMPI
00000b57: PUSH2 0x0d12
00000b5a: JUMPI
00000b5b: JUMPDEST
00000b5c: POP
00000b5d: POP
00000b5e: PUSH1 0x40
00000b60: MLOAD
00000b61: SWAP1
00000b62: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000b83: DUP3
00000b84: MSTORE
00000b85: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000b95: PUSH1 0x04
00000b97: DUP4
00000b98: ADD
00000b99: MSTORE
00000b9a: PUSH1 0x24
00000b9c: DUP3
00000b9d: ADD
00000b9e: MSTORE
00000b9f: DUP6
00000ba0: PUSH1 0x40
00000ba2: PUSH1 0x20
00000ba4: DUP3
00000ba5: PUSH1 0x44
00000ba7: DUP6
00000ba8: DUP3
00000ba9: DUP9
00000baa: GAS
00000bab: CALL
00000bac: RETURNDATASIZE
00000bad: ISZERO
00000bae: PUSH1 0x1f
00000bb0: RETURNDATASIZE
00000bb1: GT
00000bb2: PUSH1 0x01
00000bb4: DUP6
00000bb5: MLOAD
00000bb6: EQ
00000bb7: AND
00000bb8: OR
00000bb9: AND
00000bba: SWAP3
00000bbb: DUP3
00000bbc: DUP2
00000bbd: MSTORE
00000bbe: DUP3
00000bbf: PUSH1 0x20
00000bc1: DUP3
00000bc2: ADD
00000bc3: MSTORE
00000bc4: ADD
00000bc5: MSTORE
00000bc6: ISZERO
00000bc7: PUSH2 0x0c46
00000bca: JUMPI
00000bcb: POP
00000bcc: PUSH1 0x40
00000bce: MLOAD
00000bcf: PUSH32 0x11da60b400000000000000000000000000000000000000000000000000000000
00000bf0: DUP2
00000bf1: MSTORE
00000bf2: PUSH1 0x20
00000bf4: DUP2
00000bf5: PUSH1 0x04
00000bf7: DUP2
00000bf8: DUP9
00000bf9: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00000c09: GAS
00000c0a: CALL
00000c0b: DUP1
00000c0c: ISZERO
00000c0d: PUSH2 0x0ae9
00000c10: JUMPI
00000c11: SWAP2
00000c12: PUSH2 0x0a91
00000c15: SWAP4
00000c16: SWAP2
00000c17: PUSH2 0x0ab6
00000c1a: SWAP7
00000c1b: SWAP6
00000c1c: SWAP4
00000c1d: PUSH2 0x0c27
00000c20: JUMPI
00000c21: JUMPDEST
00000c22: POP
00000c23: PUSH2 0x0a8b
00000c26: JUMP
00000c27: JUMPDEST
00000c28: PUSH2 0x0c3f
00000c2b: SWAP1
00000c2c: PUSH1 0x20
00000c2e: RETURNDATASIZE
00000c2f: PUSH1 0x20
00000c31: GT
00000c32: PUSH2 0x0ae2
00000c35: JUMPI
00000c36: PUSH2 0x0ad3
00000c39: DUP2
00000c3a: DUP4
00000c3b: PUSH2 0x1813
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: POP
00000c41: PUSH0
00000c42: PUSH2 0x0c21
00000c45: JUMP
00000c46: JUMPDEST
00000c47: DUP5
00000c48: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000c69: PUSH1 0x1f
00000c6b: RETURNDATASIZE
00000c6c: ADD
00000c6d: AND
00000c6e: SWAP1
00000c6f: PUSH1 0x40
00000c71: MLOAD
00000c72: SWAP3
00000c73: PUSH32 0x90bfb86500000000000000000000000000000000000000000000000000000000
00000c94: DUP5
00000c95: MSTORE
00000c96: PUSH1 0x04
00000c98: DUP5
00000c99: ADD
00000c9a: MSTORE
00000c9b: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000cbc: PUSH1 0x24
00000cbe: DUP5
00000cbf: ADD
00000cc0: MSTORE
00000cc1: PUSH1 0x80
00000cc3: PUSH1 0x44
00000cc5: DUP5
00000cc6: ADD
00000cc7: MSTORE
00000cc8: DUP2
00000cc9: PUSH1 0xa0
00000ccb: ADD
00000ccc: PUSH1 0x64
00000cce: DUP5
00000ccf: ADD
00000cd0: MSTORE
00000cd1: RETURNDATASIZE
00000cd2: PUSH1 0x84
00000cd4: DUP5
00000cd5: ADD
00000cd6: MSTORE
00000cd7: RETURNDATASIZE
00000cd8: SWAP1
00000cd9: PUSH1 0xa4
00000cdb: DUP5
00000cdc: ADD
00000cdd: RETURNDATACOPY
00000cde: PUSH32 0xf27f64e400000000000000000000000000000000000000000000000000000000
00000cff: PUSH1 0xc4
00000d01: DUP3
00000d02: DUP5
00000d03: ADD
00000d04: PUSH1 0x04
00000d06: PUSH1 0xa4
00000d08: DUP3
00000d09: ADD
00000d0a: MSTORE
00000d0b: ADD
00000d0c: MSTORE
00000d0d: PUSH1 0xe4
00000d0f: ADD
00000d10: SWAP1
00000d11: REVERT
00000d12: JUMPDEST
00000d13: DUP2
00000d14: PUSH2 0x0d1c
00000d17: SWAP2
00000d18: PUSH2 0x1813
00000d1b: JUMP
00000d1c: JUMPDEST
00000d1d: PUSH2 0x02a1
00000d20: JUMPI
00000d21: DUP6
00000d22: PUSH0
00000d23: PUSH2 0x0b5b
00000d26: JUMP
00000d27: JUMPDEST
00000d28: PUSH1 0x40
00000d2a: MLOAD
00000d2b: RETURNDATASIZE
00000d2c: DUP5
00000d2d: DUP3
00000d2e: RETURNDATACOPY
00000d2f: RETURNDATASIZE
00000d30: SWAP1
00000d31: REVERT
00000d32: JUMPDEST
00000d33: PUSH2 0x0d3f
00000d36: SWAP2
00000d37: SWAP7
00000d38: POP
00000d39: PUSH0
00000d3a: SWAP1
00000d3b: PUSH2 0x1813
00000d3e: JUMP
00000d3f: JUMPDEST
00000d40: PUSH0
00000d41: SWAP5
00000d42: PUSH2 0x0a2a
00000d45: PUSH2 0x09c7
00000d48: JUMP
00000d49: JUMPDEST
00000d4a: PUSH1 0x40
00000d4c: MLOAD
00000d4d: RETURNDATASIZE
00000d4e: PUSH0
00000d4f: DUP3
00000d50: RETURNDATACOPY
00000d51: RETURNDATASIZE
00000d52: SWAP1
00000d53: REVERT
00000d54: JUMPDEST
00000d55: PUSH0
00000d56: DUP1
00000d57: REVERT
00000d58: JUMPDEST
00000d59: SWAP2
00000d5a: PUSH2 0x0d65
00000d5d: SWAP1
00000d5e: PUSH1 0x0f
00000d60: SIGNEXTEND
00000d61: PUSH2 0x1d3c
00000d64: JUMP
00000d65: JUMPDEST
00000d66: PUSH16 0xffffffffffffffffffffffffffffffff
00000d77: AND
00000d78: SWAP2
00000d79: PUSH16 0xffffffffffffffffffffffffffffffff
00000d8a: AND
00000d8b: PUSH2 0x0942
00000d8e: JUMP
00000d8f: JUMPDEST
00000d90: SWAP1
00000d91: SWAP3
00000d92: POP
00000d93: PUSH1 0x20
00000d95: DUP2
00000d96: RETURNDATASIZE
00000d97: PUSH1 0x20
00000d99: GT
00000d9a: PUSH2 0x0dbb
00000d9d: JUMPI
00000d9e: JUMPDEST
00000d9f: DUP2
00000da0: PUSH2 0x0dab
00000da3: PUSH1 0x20
00000da5: SWAP4
00000da6: DUP4
00000da7: PUSH2 0x1813
00000daa: JUMP
00000dab: JUMPDEST
00000dac: DUP2
00000dad: ADD
00000dae: SUB
00000daf: SLT
00000db0: PUSH2 0x0d54
00000db3: JUMPI
00000db4: MLOAD
00000db5: SWAP2
00000db6: PUSH0
00000db7: PUSH2 0x0907
00000dba: JUMP
00000dbb: JUMPDEST
00000dbc: RETURNDATASIZE
00000dbd: SWAP2
00000dbe: POP
00000dbf: PUSH2 0x0d9e
00000dc2: JUMP
00000dc3: JUMPDEST
00000dc4: DUP4
00000dc5: SWAP2
00000dc6: DUP6
00000dc7: PUSH0
00000dc8: SWAP2
00000dc9: PUSH2 0x0740
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: CALLVALUE
00000dcf: PUSH2 0x0d54
00000dd2: JUMPI
00000dd3: PUSH0
00000dd4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000df5: CALLDATASIZE
00000df6: ADD
00000df7: SLT
00000df8: PUSH2 0x0d54
00000dfb: JUMPI
00000dfc: PUSH1 0x20
00000dfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e13: PUSH0
00000e14: SLOAD
00000e15: AND
00000e16: PUSH1 0x40
00000e18: MLOAD
00000e19: SWAP1
00000e1a: DUP2
00000e1b: MSTORE
00000e1c: RETURN
00000e1d: JUMPDEST
00000e1e: CALLVALUE
00000e1f: PUSH2 0x0d54
00000e22: JUMPI
00000e23: PUSH1 0x20
00000e25: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000e46: CALLDATASIZE
00000e47: ADD
00000e48: SLT
00000e49: PUSH2 0x0d54
00000e4c: JUMPI
00000e4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e62: PUSH2 0x0e69
00000e65: PUSH2 0x1977
00000e68: JUMP
00000e69: JUMPDEST
00000e6a: AND
00000e6b: PUSH0
00000e6c: MSTORE
00000e6d: PUSH1 0x01
00000e6f: PUSH1 0x20
00000e71: MSTORE
00000e72: PUSH1 0x20
00000e74: PUSH1 0xff
00000e76: PUSH1 0x40
00000e78: PUSH0
00000e79: KECCAK256
00000e7a: SLOAD
00000e7b: AND
00000e7c: PUSH1 0x40
00000e7e: MLOAD
00000e7f: SWAP1
00000e80: ISZERO
00000e81: ISZERO
00000e82: DUP2
00000e83: MSTORE
00000e84: RETURN
00000e85: JUMPDEST
00000e86: CALLVALUE
00000e87: PUSH2 0x0d54
00000e8a: JUMPI
00000e8b: PUSH2 0x0e93
00000e8e: CALLDATASIZE
00000e8f: PUSH2 0x1aae
00000e92: JUMP
00000e93: JUMPDEST
00000e94: PUSH2 0x0e9b
00000e97: PUSH2 0x1d6b
00000e9a: JUMP
00000e9b: JUMPDEST
00000e9c: PUSH0
00000e9d: JUMPDEST
00000e9e: DUP2
00000e9f: MLOAD
00000ea0: DUP2
00000ea1: LT
00000ea2: ISZERO
00000ea3: PUSH2 0x0018
00000ea6: JUMPI
00000ea7: DUP1
00000ea8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ebd: PUSH2 0x0ec8
00000ec0: PUSH1 0x01
00000ec2: SWAP4
00000ec3: DUP6
00000ec4: PUSH2 0x1bc4
00000ec7: JUMP
00000ec8: JUMPDEST
00000ec9: MLOAD
00000eca: AND
00000ecb: PUSH0
00000ecc: MSTORE
00000ecd: DUP2
00000ece: PUSH1 0x20
00000ed0: MSTORE
00000ed1: PUSH1 0x40
00000ed3: PUSH0
00000ed4: KECCAK256
00000ed5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00000ef6: DUP2
00000ef7: SLOAD
00000ef8: AND
00000ef9: SWAP1
00000efa: SSTORE
00000efb: ADD
00000efc: PUSH2 0x0e9d
00000eff: JUMP
00000f00: JUMPDEST
00000f01: PUSH1 0x20
00000f03: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000f24: CALLDATASIZE
00000f25: ADD
00000f26: SLT
00000f27: PUSH2 0x0d54
00000f2a: JUMPI
00000f2b: PUSH1 0x04
00000f2d: CALLDATALOAD
00000f2e: PUSH8 0xffffffffffffffff
00000f37: DUP2
00000f38: GT
00000f39: PUSH2 0x0d54
00000f3c: JUMPI
00000f3d: DUP1
00000f3e: CALLDATASIZE
00000f3f: SUB
00000f40: PUSH2 0x0160
00000f43: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000f64: DUP3
00000f65: ADD
00000f66: SLT
00000f67: PUSH2 0x0d54
00000f6a: JUMPI
00000f6b: PUSH1 0x40
00000f6d: MLOAD
00000f6e: SWAP2
00000f6f: PUSH2 0x0f77
00000f72: DUP4
00000f73: PUSH2 0x17a3
00000f76: JUMP
00000f77: JUMPDEST
00000f78: PUSH2 0x0f84
00000f7b: CALLDATASIZE
00000f7c: DUP3
00000f7d: PUSH1 0x04
00000f7f: ADD
00000f80: PUSH2 0x1927
00000f83: JUMP
00000f84: JUMPDEST
00000f85: DUP4
00000f86: MSTORE
00000f87: PUSH1 0xc4
00000f89: DUP2
00000f8a: ADD
00000f8b: CALLDATALOAD
00000f8c: PUSH8 0xffffffffffffffff
00000f95: DUP2
00000f96: GT
00000f97: PUSH2 0x0d54
00000f9a: JUMPI
00000f9b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c
00000fbc: PUSH2 0x0fcd
00000fbf: PUSH1 0x80
00000fc1: SWAP3
00000fc2: PUSH1 0x04
00000fc4: CALLDATASIZE
00000fc5: SWAP2
00000fc6: DUP7
00000fc7: ADD
00000fc8: ADD
00000fc9: PUSH2 0x19f5
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: SWAP4
00000fcf: PUSH1 0x20
00000fd1: DUP7
00000fd2: ADD
00000fd3: SWAP5
00000fd4: DUP6
00000fd5: MSTORE
00000fd6: ADD
00000fd7: SLT
00000fd8: PUSH2 0x0d54
00000fdb: JUMPI
00000fdc: PUSH1 0x40
00000fde: MLOAD
00000fdf: SWAP3
00000fe0: PUSH2 0x0fe8
00000fe3: DUP5
00000fe4: PUSH2 0x17f7
00000fe7: JUMP
00000fe8: JUMPDEST
00000fe9: PUSH2 0x0ff4
00000fec: PUSH1 0xe4
00000fee: DUP4
00000fef: ADD
00000ff0: PUSH2 0x1a9e
00000ff3: JUMP
00000ff4: JUMPDEST
00000ff5: DUP5
00000ff6: MSTORE
00000ff7: PUSH2 0x0104
00000ffa: DUP3
00000ffb: ADD
00000ffc: CALLDATALOAD
00000ffd: SWAP1
00000ffe: DUP2
00000fff: PUSH1 0x02
00001001: SIGNEXTEND
00001002: DUP3
00001003: SUB
00001004: PUSH2 0x0d54
00001007: JUMPI
00001008: DUP5
00001009: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000101e: PUSH1 0x60
00001020: PUSH2 0x10c3
00001023: PUSH0
00001024: SWAP8
00001025: PUSH2 0x1052
00001028: PUSH2 0x0144
0000102b: PUSH2 0x10ae
0000102e: SWAP10
0000102f: PUSH2 0x1122
00001032: SWAP10
00001033: PUSH1 0x20
00001035: PUSH2 0x115d
00001038: SWAP15
00001039: ADD
0000103a: MSTORE
0000103b: PUSH2 0x1047
0000103e: PUSH2 0x0124
00001041: DUP3
00001042: ADD
00001043: PUSH2 0x199a
00001046: JUMP
00001047: JUMPDEST
00001048: PUSH1 0x40
0000104a: DUP10
0000104b: ADD
0000104c: MSTORE
0000104d: ADD
0000104e: PUSH2 0x199a
00001051: JUMP
00001052: JUMPDEST
00001053: DUP4
00001054: DUP7
00001055: ADD
00001056: MSTORE
00001057: PUSH1 0x40
00001059: DUP7
0000105a: ADD
0000105b: SWAP5
0000105c: DUP6
0000105d: MSTORE
0000105e: PUSH2 0x1065
00001061: PUSH2 0x1db7
00001064: JUMP
00001065: JUMPDEST
00001066: PUSH1 0x40
00001068: MLOAD
00001069: SWAP8
0000106a: DUP9
0000106b: SWAP7
0000106c: PUSH1 0x20
0000106e: DUP1
0000106f: DUP10
00001070: ADD
00001071: MSTORE
00001072: PUSH1 0x40
00001074: DUP9
00001075: ADD
00001076: SWAP1
00001077: MLOAD
00001078: PUSH1 0xa0
0000107a: DUP1
0000107b: SWAP2
0000107c: DUP1
0000107d: MLOAD
0000107e: DUP5
0000107f: MSTORE
00001080: PUSH1 0x20
00001082: DUP2
00001083: ADD
00001084: MLOAD
00001085: PUSH1 0x20
00001087: DUP6
00001088: ADD
00001089: MSTORE
0000108a: PUSH1 0x40
0000108c: DUP2
0000108d: ADD
0000108e: MLOAD
0000108f: PUSH1 0x40
00001091: DUP6
00001092: ADD
00001093: MSTORE
00001094: PUSH1 0x60
00001096: DUP2
00001097: ADD
00001098: MLOAD
00001099: PUSH1 0x60
0000109b: DUP6
0000109c: ADD
0000109d: MSTORE
0000109e: PUSH1 0x80
000010a0: DUP2
000010a1: ADD
000010a2: MLOAD
000010a3: PUSH1 0x80
000010a5: DUP6
000010a6: ADD
000010a7: MSTORE
000010a8: ADD
000010a9: MLOAD
000010aa: SWAP2
000010ab: ADD
000010ac: MSTORE
000010ad: JUMP
000010ae: JUMPDEST
000010af: MLOAD
000010b0: PUSH2 0x0160
000010b3: PUSH2 0x0100
000010b6: DUP8
000010b7: ADD
000010b8: MSTORE
000010b9: PUSH2 0x01a0
000010bc: DUP7
000010bd: ADD
000010be: SWAP1
000010bf: PUSH2 0x1c14
000010c2: JUMP
000010c3: JUMPDEST
000010c4: SWAP3
000010c5: MLOAD
000010c6: PUSH3 0xffffff
000010ca: DUP2
000010cb: MLOAD
000010cc: AND
000010cd: PUSH2 0x0120
000010d0: DUP7
000010d1: ADD
000010d2: MSTORE
000010d3: PUSH1 0x20
000010d5: DUP2
000010d6: ADD
000010d7: MLOAD
000010d8: PUSH1 0x02
000010da: SIGNEXTEND
000010db: PUSH2 0x0140
000010de: DUP7
000010df: ADD
000010e0: MSTORE
000010e1: DUP3
000010e2: PUSH1 0x40
000010e4: DUP3
000010e5: ADD
000010e6: MLOAD
000010e7: AND
000010e8: PUSH2 0x0160
000010eb: DUP7
000010ec: ADD
000010ed: MSTORE
000010ee: ADD
000010ef: MLOAD
000010f0: AND
000010f1: PUSH2 0x0180
000010f4: DUP4
000010f5: ADD
000010f6: MSTORE
000010f7: SUB
000010f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001119: DUP2
0000111a: ADD
0000111b: DUP4
0000111c: MSTORE
0000111d: DUP3
0000111e: PUSH2 0x1813
00001121: JUMP
00001122: JUMPDEST
00001123: PUSH1 0x40
00001125: MLOAD
00001126: DUP1
00001127: SWAP4
00001128: DUP2
00001129: SWAP3
0000112a: PUSH32 0x48c8949100000000000000000000000000000000000000000000000000000000
0000114b: DUP4
0000114c: MSTORE
0000114d: PUSH1 0x20
0000114f: PUSH1 0x04
00001151: DUP5
00001152: ADD
00001153: MSTORE
00001154: PUSH1 0x24
00001156: DUP4
00001157: ADD
00001158: SWAP1
00001159: PUSH2 0x1b81
0000115c: JUMP
0000115d: JUMPDEST
0000115e: SUB
0000115f: DUP2
00001160: DUP4
00001161: PUSH15 0x04444c5dc75cb358380d2e3de08a90
00001171: GAS
00001172: CALL
00001173: DUP1
00001174: ISZERO
00001175: PUSH2 0x0d49
00001178: JUMPI
00001179: PUSH2 0x117e
0000117c: JUMPI
0000117d: STOP
0000117e: JUMPDEST
0000117f: RETURNDATASIZE
00001180: DUP1
00001181: PUSH0
00001182: DUP4
00001183: RETURNDATACOPY
00001184: PUSH2 0x118d
00001187: DUP2
00001188: DUP4
00001189: PUSH2 0x1813
0000118c: JUMP
0000118d: JUMPDEST
0000118e: DUP2
0000118f: ADD
00001190: SWAP1
00001191: PUSH1 0x20
00001193: DUP2
00001194: DUP4
00001195: SUB
00001196: SLT
00001197: PUSH2 0x0d54
0000119a: JUMPI
0000119b: DUP1
0000119c: MLOAD
0000119d: SWAP1
0000119e: PUSH8 0xffffffffffffffff
000011a7: DUP3
000011a8: GT
000011a9: PUSH2 0x0d54
000011ac: JUMPI
000011ad: ADD
000011ae: DUP2
000011af: PUSH1 0x1f
000011b1: DUP3
000011b2: ADD
000011b3: SLT
000011b4: ISZERO
000011b5: PUSH2 0x0d54
000011b8: JUMPI
000011b9: DUP1
000011ba: MLOAD
000011bb: PUSH2 0x11c3
000011be: DUP2
000011bf: PUSH2 0x19bb
000011c2: JUMP
000011c3: JUMPDEST
000011c4: SWAP3
000011c5: PUSH2 0x11d1
000011c8: PUSH1 0x40
000011ca: MLOAD
000011cb: SWAP5
000011cc: DUP6
000011cd: PUSH2 0x1813
000011d0: JUMP
000011d1: JUMPDEST
000011d2: DUP2
000011d3: DUP5
000011d4: MSTORE
000011d5: PUSH1 0x20
000011d7: DUP3
000011d8: DUP5
000011d9: ADD
000011da: ADD
000011db: GT
000011dc: PUSH2 0x0d54
000011df: JUMPI
000011e0: PUSH0
000011e1: SWAP3
000011e2: DUP2
000011e3: PUSH1 0x20
000011e5: DUP1
000011e6: SWAP5
000011e7: ADD
000011e8: DUP5
000011e9: DUP4
000011ea: ADD
000011eb: MCOPY
000011ec: ADD
000011ed: ADD
000011ee: MSTORE
000011ef: STOP
000011f0: JUMPDEST
000011f1: CALLVALUE
000011f2: PUSH2 0x0d54
000011f5: JUMPI
000011f6: PUSH0
000011f7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001218: CALLDATASIZE
00001219: ADD
0000121a: SLT
0000121b: PUSH2 0x0d54
0000121e: JUMPI
0000121f: PUSH2 0x1226
00001222: PUSH2 0x1d6b
00001225: JUMP
00001226: JUMPDEST
00001227: PUSH0
00001228: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000123d: DUP2
0000123e: SLOAD
0000123f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001260: DUP2
00001261: AND
00001262: DUP4
00001263: SSTORE
00001264: AND
00001265: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001286: DUP3
00001287: DUP1
00001288: LOG3
00001289: STOP
0000128a: JUMPDEST
0000128b: PUSH1 0x20
0000128d: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000012ae: CALLDATASIZE
000012af: ADD
000012b0: SLT
000012b1: PUSH2 0x0d54
000012b4: JUMPI
000012b5: PUSH1 0x04
000012b7: CALLDATALOAD
000012b8: PUSH8 0xffffffffffffffff
000012c1: DUP2
000012c2: GT
000012c3: PUSH2 0x0d54
000012c6: JUMPI
000012c7: DUP1
000012c8: CALLDATASIZE
000012c9: SUB
000012ca: SWAP1
000012cb: PUSH2 0x0120
000012ce: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000012ef: DUP4
000012f0: ADD
000012f1: SLT
000012f2: PUSH2 0x0d54
000012f5: JUMPI
000012f6: PUSH1 0x40
000012f8: MLOAD
000012f9: PUSH2 0x1301
000012fc: DUP2
000012fd: PUSH2 0x17a3
00001300: JUMP
00001301: JUMPDEST
00001302: PUSH2 0x130e
00001305: CALLDATASIZE
00001306: DUP4
00001307: PUSH1 0x04
00001309: ADD
0000130a: PUSH2 0x1927
0000130d: JUMP
0000130e: JUMPDEST
0000130f: DUP2
00001310: MSTORE
00001311: PUSH1 0xc4
00001313: DUP3
00001314: ADD
00001315: CALLDATALOAD
00001316: PUSH8 0xffffffffffffffff
0000131f: DUP2
00001320: GT
00001321: PUSH2 0x0d54
00001324: JUMPI
00001325: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1c
00001346: PUSH2 0x1357
00001349: PUSH1 0x40
0000134b: SWAP3
0000134c: PUSH1 0x04
0000134e: CALLDATASIZE
0000134f: SWAP2
00001350: DUP8
00001351: ADD
00001352: ADD
00001353: PUSH2 0x19f5
00001356: JUMP
00001357: JUMPDEST
00001358: SWAP5
00001359: PUSH1 0x20
0000135b: DUP5
0000135c: ADD
0000135d: SWAP6
0000135e: DUP7
0000135f: MSTORE
00001360: ADD
00001361: SLT
00001362: PUSH2 0x0d54
00001365: JUMPI
00001366: PUSH1 0x20
00001368: SWAP3
00001369: PUSH1 0x40
0000136b: SWAP3
0000136c: PUSH2 0x1389
0000136f: PUSH2 0x0104
00001372: DUP6
00001373: MLOAD
00001374: SWAP3
00001375: PUSH2 0x137d
00001378: DUP5
00001379: PUSH2 0x17db
0000137c: JUMP
0000137d: JUMPDEST
0000137e: PUSH2 0x01e8
00001381: PUSH1 0xe4
00001383: DUP3
00001384: ADD
00001385: PUSH2 0x1a9e
00001388: JUMP
00001389: JUMPDEST
0000138a: DUP6
0000138b: DUP3
0000138c: ADD
0000138d: MSTORE
0000138e: DUP4
0000138f: DUP4
00001390: ADD
00001391: SWAP1
00001392: DUP2
00001393: MSTORE
00001394: PUSH2 0x139b
00001397: PUSH2 0x1db7
0000139a: JUMP
0000139b: JUMPDEST
0000139c: PUSH0
0000139d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b2: DUP1
000013b3: DUP8
000013b4: DUP8
000013b5: PUSH2 0x13d1
000013b8: DUP8
000013b9: MLOAD
000013ba: DUP5
000013bb: DUP5
000013bc: DUP2
000013bd: DUP4
000013be: MLOAD
000013bf: AND
000013c0: SWAP3
000013c1: ADD
000013c2: MLOAD
000013c3: AND
000013c4: PUSH3 0xffffff
000013c8: DUP10
000013c9: MLOAD
000013ca: MLOAD
000013cb: AND
000013cc: SWAP2
000013cd: PUSH2 0x1e2c
000013d0: JUMP
000013d1: JUMPDEST
000013d2: SWAP7
000013d3: PUSH2 0x1426
000013d6: DUP2
000013d7: MLOAD
000013d8: DUP6
000013d9: DUP1
000013da: DUP7
000013db: DUP4
000013dc: ADD
000013dd: MLOAD
000013de: AND
000013df: SWAP2
000013e0: MLOAD
000013e1: AND
000013e2: GT
000013e3: SWAP10
000013e4: DUP5
000013e5: DUP5
000013e6: MLOAD
000013e7: SWAP14
000013e8: DUP15
000013e9: ADD
000013ea: MSTORE
000013eb: DUP4
000013ec: DUP14
000013ed: ADD
000013ee: SWAP1
000013ef: MLOAD
000013f0: PUSH1 0xa0
000013f2: DUP1
000013f3: SWAP2
000013f4: DUP1
000013f5: MLOAD
000013f6: DUP5
000013f7: MSTORE
000013f8: PUSH1 0x20
000013fa: DUP2
000013fb: ADD
000013fc: MLOAD
000013fd: PUSH1 0x20
000013ff: DUP6
00001400: ADD
00001401: MSTORE
00001402: PUSH1 0x40
00001404: DUP2
00001405: ADD
00001406: MLOAD
00001407: PUSH1 0x40
00001409: DUP6
0000140a: ADD
0000140b: MSTORE
0000140c: PUSH1 0x60
0000140e: DUP2
0000140f: ADD
00001410: MLOAD
00001411: PUSH1 0x60
00001413: DUP6
00001414: ADD
00001415: MSTORE
00001416: PUSH1 0x80
00001418: DUP2
00001419: ADD
0000141a: MLOAD
0000141b: PUSH1 0x80
0000141d: DUP6
0000141e: ADD
0000141f: MSTORE
00001420: ADD
00001421: MLOAD
00001422: SWAP2
00001423: ADD
00001424: MSTORE
00001425: JUMP
00001426: JUMPDEST
00001427: PUSH2 0x1489
0000142a: DUP12
0000142b: PUSH2 0x1443
0000142e: DUP4
0000142f: MLOAD
00001430: PUSH2 0x0120
00001433: PUSH2 0x0100
00001436: DUP5
00001437: ADD
00001438: MSTORE
00001439: PUSH2 0x0160
0000143c: DUP4
0000143d: ADD
0000143e: SWAP1
0000143f: PUSH2 0x1c14
00001442: JUMP
00001443: JUMPDEST
00001444: DUP7
00001445: DUP7
00001446: DUP12
00001447: MLOAD
00001448: PUSH3 0xffffff
0000144c: DUP2
0000144d: MLOAD
0000144e: AND
0000144f: PUSH2 0x0120
00001452: DUP7
00001453: ADD
00001454: MSTORE
00001455: ADD
00001456: MLOAD
00001457: AND
00001458: PUSH2 0x0140
0000145b: DUP4
0000145c: ADD
0000145d: MSTORE
0000145e: SUB
0000145f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001480: DUP2
00001481: ADD
00001482: DUP14
00001483: MSTORE
00001484: DUP13
00001485: PUSH2 0x1813
00001488: JUMP
00001489: JUMPDEST
0000148a: MLOAD
0000148b: ADD
0000148c: MLOAD
0000148d: SWAP5
0000148e: MLOAD
0000148f: ADD
00001490: MLOAD
00001491: AND
00001492: SWAP5
00001493: PUSH2 0x14e7
00001496: DUP8
00001497: MLOAD
00001498: SWAP9
00001499: DUP10
0000149a: SWAP8
0000149b: DUP9
0000149c: SWAP7
0000149d: DUP8
0000149e: SWAP5
0000149f: PUSH32 0x128acb0800000000000000000000000000000000000000000000000000000000
000014c0: DUP7
000014c1: MSTORE
000014c2: ADDRESS
000014c3: PUSH1 0x04
000014c5: DUP8
000014c6: ADD
000014c7: MSTORE
000014c8: PUSH1 0x24
000014ca: DUP7
000014cb: ADD
000014cc: MSTORE
000014cd: PUSH1 0x44
000014cf: DUP6
000014d0: ADD
000014d1: MSTORE
000014d2: PUSH1 0x64
000014d4: DUP5
000014d5: ADD
000014d6: MSTORE
000014d7: PUSH1 0xa0
000014d9: PUSH1 0x84
000014db: DUP5
000014dc: ADD
000014dd: MSTORE
000014de: PUSH1 0xa4
000014e0: DUP4
000014e1: ADD
000014e2: SWAP1
000014e3: PUSH2 0x1b81
000014e6: JUMP
000014e7: JUMPDEST
000014e8: SUB
000014e9: SWAP4
000014ea: AND
000014eb: GAS
000014ec: CALL
000014ed: DUP1
000014ee: ISZERO
000014ef: PUSH2 0x0d49
000014f2: JUMPI
000014f3: PUSH2 0x14f8
000014f6: JUMPI
000014f7: STOP
000014f8: JUMPDEST
000014f9: PUSH1 0x40
000014fb: SWAP1
000014fc: DUP2
000014fd: RETURNDATASIZE
000014fe: DUP4
000014ff: GT
00001500: PUSH2 0x1518
00001503: JUMPI
00001504: JUMPDEST
00001505: PUSH2 0x150e
00001508: DUP2
00001509: DUP4
0000150a: PUSH2 0x1813
0000150d: JUMP
0000150e: JUMPDEST
0000150f: DUP2
00001510: ADD
00001511: SUB
00001512: SLT
00001513: PUSH2 0x0d54
00001516: JUMPI
00001517: STOP
00001518: JUMPDEST
00001519: POP
0000151a: RETURNDATASIZE
0000151b: PUSH2 0x1504
0000151e: JUMP
0000151f: JUMPDEST
00001520: CALLVALUE
00001521: PUSH2 0x0d54
00001524: JUMPI
00001525: PUSH2 0x152d
00001528: CALLDATASIZE
00001529: PUSH2 0x186c
0000152c: JUMP
0000152d: JUMPDEST
0000152e: PUSH2 0x1535
00001531: PUSH2 0x1d6b
00001534: JUMP
00001535: JUMPDEST
00001536: PUSH0
00001537: JUMPDEST
00001538: DUP2
00001539: MLOAD
0000153a: DUP2
0000153b: LT
0000153c: ISZERO
0000153d: PUSH2 0x0018
00001540: JUMPI
00001541: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001556: PUSH2 0x155f
00001559: DUP3
0000155a: DUP5
0000155b: PUSH2 0x1bc4
0000155e: JUMP
0000155f: JUMPDEST
00001560: MLOAD
00001561: AND
00001562: PUSH1 0x40
00001564: MLOAD
00001565: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001586: DUP2
00001587: MSTORE
00001588: ADDRESS
00001589: PUSH1 0x04
0000158b: DUP3
0000158c: ADD
0000158d: MSTORE
0000158e: PUSH1 0x20
00001590: DUP2
00001591: PUSH1 0x24
00001593: DUP2
00001594: DUP6
00001595: GAS
00001596: STATICCALL
00001597: SWAP1
00001598: DUP2
00001599: ISZERO
0000159a: PUSH2 0x0d49
0000159d: JUMPI
0000159e: PUSH0
0000159f: SWAP2
000015a0: PUSH2 0x1648
000015a3: JUMPI
000015a4: JUMPDEST
000015a5: POP
000015a6: PUSH1 0x40
000015a8: MLOAD
000015a9: SWAP1
000015aa: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000015cb: PUSH0
000015cc: MSTORE
000015cd: CALLER
000015ce: PUSH1 0x04
000015d0: MSTORE
000015d1: PUSH1 0x24
000015d3: MSTORE
000015d4: PUSH1 0x20
000015d6: PUSH0
000015d7: PUSH1 0x44
000015d9: DUP2
000015da: DUP1
000015db: DUP7
000015dc: GAS
000015dd: CALL
000015de: SWAP1
000015df: PUSH1 0x01
000015e1: PUSH0
000015e2: MLOAD
000015e3: EQ
000015e4: DUP3
000015e5: AND
000015e6: ISZERO
000015e7: PUSH2 0x1627
000015ea: JUMPI
000015eb: JUMPDEST
000015ec: PUSH1 0x40
000015ee: MSTORE
000015ef: ISZERO
000015f0: PUSH2 0x15fc
000015f3: JUMPI
000015f4: POP
000015f5: PUSH1 0x01
000015f7: ADD
000015f8: PUSH2 0x1537
000015fb: JUMP
000015fc: JUMPDEST
000015fd: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
0000161e: PUSH0
0000161f: MSTORE
00001620: PUSH1 0x04
00001622: MSTORE
00001623: PUSH1 0x24
00001625: PUSH0
00001626: REVERT
00001627: JUMPDEST
00001628: SWAP1
00001629: PUSH1 0x01
0000162b: DUP2
0000162c: ISZERO
0000162d: AND
0000162e: PUSH2 0x163f
00001631: JUMPI
00001632: DUP3
00001633: EXTCODESIZE
00001634: ISZERO
00001635: ISZERO
00001636: RETURNDATASIZE
00001637: ISZERO
00001638: AND
00001639: AND
0000163a: SWAP1
0000163b: PUSH2 0x15eb
0000163e: JUMP
0000163f: JUMPDEST
00001640: POP
00001641: RETURNDATASIZE
00001642: PUSH0
00001643: DUP3
00001644: RETURNDATACOPY
00001645: RETURNDATASIZE
00001646: SWAP1
00001647: REVERT
00001648: JUMPDEST
00001649: SWAP1
0000164a: POP
0000164b: PUSH1 0x20
0000164d: DUP2
0000164e: RETURNDATASIZE
0000164f: DUP3
00001650: GT
00001651: PUSH2 0x1671
00001654: JUMPI
00001655: JUMPDEST
00001656: DUP2
00001657: PUSH2 0x1662
0000165a: PUSH1 0x20
0000165c: SWAP4
0000165d: DUP4
0000165e: PUSH2 0x1813
00001661: JUMP
00001662: JUMPDEST
00001663: DUP2
00001664: ADD
00001665: SUB
00001666: SLT
00001667: PUSH2 0x0d54
0000166a: JUMPI
0000166b: MLOAD
0000166c: DUP5
0000166d: PUSH2 0x15a4
00001670: JUMP
00001671: JUMPDEST
00001672: RETURNDATASIZE
00001673: SWAP2
00001674: POP
00001675: PUSH2 0x1655
00001678: JUMP
00001679: JUMPDEST
0000167a: CALLVALUE
0000167b: PUSH2 0x0d54
0000167e: JUMPI
0000167f: PUSH2 0x1687
00001682: CALLDATASIZE
00001683: PUSH2 0x186c
00001686: JUMP
00001687: JUMPDEST
00001688: PUSH2 0x168f
0000168b: PUSH2 0x1d6b
0000168e: JUMP
0000168f: JUMPDEST
00001690: PUSH0
00001691: JUMPDEST
00001692: DUP2
00001693: MLOAD
00001694: DUP2
00001695: LT
00001696: ISZERO
00001697: PUSH2 0x0018
0000169a: JUMPI
0000169b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b0: PUSH2 0x16b9
000016b3: DUP3
000016b4: DUP5
000016b5: PUSH2 0x1bc4
000016b8: JUMP
000016b9: JUMPDEST
000016ba: MLOAD
000016bb: AND
000016bc: PUSH2 0x16da
000016bf: PUSH0
000016c0: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
000016d5: DUP4
000016d6: PUSH2 0x23fb
000016d9: JUMP
000016da: JUMPDEST
000016db: ISZERO
000016dc: PUSH2 0x16e9
000016df: JUMPI
000016e0: JUMPDEST
000016e1: POP
000016e2: PUSH1 0x01
000016e4: ADD
000016e5: PUSH2 0x1691
000016e8: JUMP
000016e9: JUMPDEST
000016ea: PUSH2 0x1707
000016ed: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
00001702: DUP3
00001703: PUSH2 0x246f
00001706: JUMP
00001707: JUMPDEST
00001708: ISZERO
00001709: PUSH2 0x15fc
0000170c: JUMPI
0000170d: PUSH2 0x172b
00001710: PUSH0
00001711: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
00001726: DUP4
00001727: PUSH2 0x24f4
0000172a: JUMP
0000172b: JUMPDEST
0000172c: PUSH2 0x16e0
0000172f: JUMPI
00001730: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000
00001751: PUSH0
00001752: MSTORE
00001753: PUSH1 0x04
00001755: MSTORE
00001756: PUSH1 0x24
00001758: PUSH0
00001759: REVERT
0000175a: JUMPDEST
0000175b: PUSH1 0xa0
0000175d: DUP2
0000175e: ADD
0000175f: SWAP1
00001760: DUP2
00001761: LT
00001762: PUSH8 0xffffffffffffffff
0000176b: DUP3
0000176c: GT
0000176d: OR
0000176e: PUSH2 0x1776
00001771: JUMPI
00001772: PUSH1 0x40
00001774: MSTORE
00001775: JUMP
00001776: JUMPDEST
00001777: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001798: PUSH0
00001799: MSTORE
0000179a: PUSH1 0x41
0000179c: PUSH1 0x04
0000179e: MSTORE
0000179f: PUSH1 0x24
000017a1: PUSH0
000017a2: REVERT
000017a3: JUMPDEST
000017a4: PUSH1 0x60
000017a6: DUP2
000017a7: ADD
000017a8: SWAP1
000017a9: DUP2
000017aa: LT
000017ab: PUSH8 0xffffffffffffffff
000017b4: DUP3
000017b5: GT
000017b6: OR
000017b7: PUSH2 0x1776
000017ba: JUMPI
000017bb: PUSH1 0x40
000017bd: MSTORE
000017be: JUMP
000017bf: JUMPDEST
000017c0: PUSH1 0xc0
000017c2: DUP2
000017c3: ADD
000017c4: SWAP1
000017c5: DUP2
000017c6: LT
000017c7: PUSH8 0xffffffffffffffff
000017d0: DUP3
000017d1: GT
000017d2: OR
000017d3: PUSH2 0x1776
000017d6: JUMPI
000017d7: PUSH1 0x40
000017d9: MSTORE
000017da: JUMP
000017db: JUMPDEST
000017dc: PUSH1 0x40
000017de: DUP2
000017df: ADD
000017e0: SWAP1
000017e1: DUP2
000017e2: LT
000017e3: PUSH8 0xffffffffffffffff
000017ec: DUP3
000017ed: GT
000017ee: OR
000017ef: PUSH2 0x1776
000017f2: JUMPI
000017f3: PUSH1 0x40
000017f5: MSTORE
000017f6: JUMP
000017f7: JUMPDEST
000017f8: PUSH1 0x80
000017fa: DUP2
000017fb: ADD
000017fc: SWAP1
000017fd: DUP2
000017fe: LT
000017ff: PUSH8 0xffffffffffffffff
00001808: DUP3
00001809: GT
0000180a: OR
0000180b: PUSH2 0x1776
0000180e: JUMPI
0000180f: PUSH1 0x40
00001811: MSTORE
00001812: JUMP
00001813: JUMPDEST
00001814: SWAP1
00001815: PUSH1 0x1f
00001817: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001838: SWAP2
00001839: ADD
0000183a: AND
0000183b: DUP2
0000183c: ADD
0000183d: SWAP1
0000183e: DUP2
0000183f: LT
00001840: PUSH8 0xffffffffffffffff
00001849: DUP3
0000184a: GT
0000184b: OR
0000184c: PUSH2 0x1776
0000184f: JUMPI
00001850: PUSH1 0x40
00001852: MSTORE
00001853: JUMP
00001854: JUMPDEST
00001855: PUSH8 0xffffffffffffffff
0000185e: DUP2
0000185f: GT
00001860: PUSH2 0x1776
00001863: JUMPI
00001864: PUSH1 0x05
00001866: SHL
00001867: PUSH1 0x20
00001869: ADD
0000186a: SWAP1
0000186b: JUMP
0000186c: JUMPDEST
0000186d: PUSH1 0x20
0000186f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001890: DUP3
00001891: ADD
00001892: SLT
00001893: PUSH2 0x0d54
00001896: JUMPI
00001897: PUSH1 0x04
00001899: CALLDATALOAD
0000189a: SWAP1
0000189b: PUSH8 0xffffffffffffffff
000018a4: DUP3
000018a5: GT
000018a6: PUSH2 0x0d54
000018a9: JUMPI
000018aa: DUP1
000018ab: PUSH1 0x23
000018ad: DUP4
000018ae: ADD
000018af: SLT
000018b0: ISZERO
000018b1: PUSH2 0x0d54
000018b4: JUMPI
000018b5: DUP2
000018b6: PUSH1 0x04
000018b8: ADD
000018b9: CALLDATALOAD
000018ba: SWAP1
000018bb: PUSH2 0x18c3
000018be: DUP3
000018bf: PUSH2 0x1854
000018c2: JUMP
000018c3: JUMPDEST
000018c4: SWAP3
000018c5: PUSH2 0x18d1
000018c8: PUSH1 0x40
000018ca: MLOAD
000018cb: SWAP5
000018cc: DUP6
000018cd: PUSH2 0x1813
000018d0: JUMP
000018d1: JUMPDEST
000018d2: DUP3
000018d3: DUP5
000018d4: MSTORE
000018d5: PUSH1 0x24
000018d7: PUSH1 0x20
000018d9: DUP6
000018da: ADD
000018db: SWAP4
000018dc: PUSH1 0x05
000018de: SHL
000018df: DUP3
000018e0: ADD
000018e1: ADD
000018e2: SWAP2
000018e3: DUP3
000018e4: GT
000018e5: PUSH2 0x0d54
000018e8: JUMPI
000018e9: PUSH1 0x24
000018eb: ADD
000018ec: SWAP2
000018ed: JUMPDEST
000018ee: DUP2
000018ef: DUP4
000018f0: LT
000018f1: PUSH2 0x18fa
000018f4: JUMPI
000018f5: POP
000018f6: POP
000018f7: POP
000018f8: SWAP1
000018f9: JUMP
000018fa: JUMPDEST
000018fb: DUP3
000018fc: CALLDATALOAD
000018fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001912: DUP2
00001913: AND
00001914: DUP2
00001915: SUB
00001916: PUSH2 0x0d54
00001919: JUMPI
0000191a: DUP2
0000191b: MSTORE
0000191c: PUSH1 0x20
0000191e: SWAP3
0000191f: DUP4
00001920: ADD
00001921: SWAP3
00001922: ADD
00001923: PUSH2 0x18ed
00001926: JUMP
00001927: JUMPDEST
00001928: SWAP2
00001929: SWAP1
0000192a: DUP3
0000192b: PUSH1 0xc0
0000192d: SWAP2
0000192e: SUB
0000192f: SLT
00001930: PUSH2 0x0d54
00001933: JUMPI
00001934: PUSH1 0x40
00001936: MLOAD
00001937: PUSH2 0x193f
0000193a: DUP2
0000193b: PUSH2 0x17bf
0000193e: JUMP
0000193f: JUMPDEST
00001940: PUSH1 0xa0
00001942: DUP1
00001943: DUP3
00001944: SWAP5
00001945: DUP1
00001946: CALLDATALOAD
00001947: DUP5
00001948: MSTORE
00001949: PUSH1 0x20
0000194b: DUP2
0000194c: ADD
0000194d: CALLDATALOAD
0000194e: PUSH1 0x20
00001950: DUP6
00001951: ADD
00001952: MSTORE
00001953: PUSH1 0x40
00001955: DUP2
00001956: ADD
00001957: CALLDATALOAD
00001958: PUSH1 0x40
0000195a: DUP6
0000195b: ADD
0000195c: MSTORE
0000195d: PUSH1 0x60
0000195f: DUP2
00001960: ADD
00001961: CALLDATALOAD
00001962: PUSH1 0x60
00001964: DUP6
00001965: ADD
00001966: MSTORE
00001967: PUSH1 0x80
00001969: DUP2
0000196a: ADD
0000196b: CALLDATALOAD
0000196c: PUSH1 0x80
0000196e: DUP6
0000196f: ADD
00001970: MSTORE
00001971: ADD
00001972: CALLDATALOAD
00001973: SWAP2
00001974: ADD
00001975: MSTORE
00001976: JUMP
00001977: JUMPDEST
00001978: PUSH1 0x04
0000197a: CALLDATALOAD
0000197b: SWAP1
0000197c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001991: DUP3
00001992: AND
00001993: DUP3
00001994: SUB
00001995: PUSH2 0x0d54
00001998: JUMPI
00001999: JUMP
0000199a: JUMPDEST
0000199b: CALLDATALOAD
0000199c: SWAP1
0000199d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b2: DUP3
000019b3: AND
000019b4: DUP3
000019b5: SUB
000019b6: PUSH2 0x0d54
000019b9: JUMPI
000019ba: JUMP
000019bb: JUMPDEST
000019bc: PUSH8 0xffffffffffffffff
000019c5: DUP2
000019c6: GT
000019c7: PUSH2 0x1776
000019ca: JUMPI
000019cb: PUSH1 0x1f
000019cd: ADD
000019ce: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000019ef: AND
000019f0: PUSH1 0x20
000019f2: ADD
000019f3: SWAP1
000019f4: JUMP
000019f5: JUMPDEST
000019f6: SWAP2
000019f7: SWAP1
000019f8: PUSH1 0xa0
000019fa: DUP4
000019fb: DUP3
000019fc: SUB
000019fd: SLT
000019fe: PUSH2 0x0d54
00001a01: JUMPI
00001a02: PUSH1 0x40
00001a04: MLOAD
00001a05: PUSH2 0x1a0d
00001a08: DUP2
00001a09: PUSH2 0x175a
00001a0c: JUMP
00001a0d: JUMPDEST
00001a0e: DUP1
00001a0f: SWAP4
00001a10: PUSH2 0x1a18
00001a13: DUP2
00001a14: PUSH2 0x199a
00001a17: JUMP
00001a18: JUMPDEST
00001a19: DUP3
00001a1a: MSTORE
00001a1b: PUSH2 0x1a26
00001a1e: PUSH1 0x20
00001a20: DUP3
00001a21: ADD
00001a22: PUSH2 0x199a
00001a25: JUMP
00001a26: JUMPDEST
00001a27: PUSH1 0x20
00001a29: DUP4
00001a2a: ADD
00001a2b: MSTORE
00001a2c: PUSH1 0x40
00001a2e: DUP2
00001a2f: ADD
00001a30: CALLDATALOAD
00001a31: PUSH1 0x40
00001a33: DUP4
00001a34: ADD
00001a35: MSTORE
00001a36: PUSH1 0x60
00001a38: DUP2
00001a39: ADD
00001a3a: CALLDATALOAD
00001a3b: PUSH1 0x60
00001a3d: DUP4
00001a3e: ADD
00001a3f: MSTORE
00001a40: PUSH1 0x80
00001a42: DUP2
00001a43: ADD
00001a44: CALLDATALOAD
00001a45: SWAP1
00001a46: PUSH8 0xffffffffffffffff
00001a4f: DUP3
00001a50: GT
00001a51: PUSH2 0x0d54
00001a54: JUMPI
00001a55: ADD
00001a56: SWAP1
00001a57: DUP3
00001a58: PUSH1 0x1f
00001a5a: DUP4
00001a5b: ADD
00001a5c: SLT
00001a5d: ISZERO
00001a5e: PUSH2 0x0d54
00001a61: JUMPI
00001a62: DUP2
00001a63: CALLDATALOAD
00001a64: PUSH2 0x1a6c
00001a67: DUP2
00001a68: PUSH2 0x19bb
00001a6b: JUMP
00001a6c: JUMPDEST
00001a6d: SWAP4
00001a6e: PUSH2 0x1a7a
00001a71: PUSH1 0x40
00001a73: MLOAD
00001a74: SWAP6
00001a75: DUP7
00001a76: PUSH2 0x1813
00001a79: JUMP
00001a7a: JUMPDEST
00001a7b: DUP2
00001a7c: DUP6
00001a7d: MSTORE
00001a7e: PUSH1 0x20
00001a80: DUP3
00001a81: DUP6
00001a82: ADD
00001a83: ADD
00001a84: GT
00001a85: PUSH2 0x0d54
00001a88: JUMPI
00001a89: PUSH1 0x20
00001a8b: DUP2
00001a8c: PUSH0
00001a8d: SWAP3
00001a8e: DUP3
00001a8f: PUSH1 0x80
00001a91: SWAP7
00001a92: ADD
00001a93: DUP4
00001a94: DUP9
00001a95: ADD
00001a96: CALLDATACOPY
00001a97: DUP6
00001a98: ADD
00001a99: ADD
00001a9a: MSTORE
00001a9b: ADD
00001a9c: MSTORE
00001a9d: JUMP
00001a9e: JUMPDEST
00001a9f: CALLDATALOAD
00001aa0: SWAP1
00001aa1: PUSH3 0xffffff
00001aa5: DUP3
00001aa6: AND
00001aa7: DUP3
00001aa8: SUB
00001aa9: PUSH2 0x0d54
00001aac: JUMPI
00001aad: JUMP
00001aae: JUMPDEST
00001aaf: PUSH1 0x20
00001ab1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001ad2: DUP3
00001ad3: ADD
00001ad4: SLT
00001ad5: PUSH2 0x0d54
00001ad8: JUMPI
00001ad9: PUSH1 0x04
00001adb: CALLDATALOAD
00001adc: SWAP1
00001add: PUSH8 0xffffffffffffffff
00001ae6: DUP3
00001ae7: GT
00001ae8: PUSH2 0x0d54
00001aeb: JUMPI
00001aec: DUP1
00001aed: PUSH1 0x23
00001aef: DUP4
00001af0: ADD
00001af1: SLT
00001af2: ISZERO
00001af3: PUSH2 0x0d54
00001af6: JUMPI
00001af7: DUP2
00001af8: PUSH1 0x04
00001afa: ADD
00001afb: CALLDATALOAD
00001afc: PUSH2 0x1b04
00001aff: DUP2
00001b00: PUSH2 0x1854
00001b03: JUMP
00001b04: JUMPDEST
00001b05: SWAP3
00001b06: PUSH2 0x1b12
00001b09: PUSH1 0x40
00001b0b: MLOAD
00001b0c: SWAP5
00001b0d: DUP6
00001b0e: PUSH2 0x1813
00001b11: JUMP
00001b12: JUMPDEST
00001b13: DUP2
00001b14: DUP5
00001b15: MSTORE
00001b16: PUSH1 0x24
00001b18: PUSH1 0x20
00001b1a: DUP6
00001b1b: ADD
00001b1c: SWAP3
00001b1d: PUSH1 0x05
00001b1f: SHL
00001b20: DUP3
00001b21: ADD
00001b22: ADD
00001b23: SWAP3
00001b24: DUP4
00001b25: GT
00001b26: PUSH2 0x0d54
00001b29: JUMPI
00001b2a: PUSH1 0x24
00001b2c: ADD
00001b2d: SWAP1
00001b2e: JUMPDEST
00001b2f: DUP3
00001b30: DUP3
00001b31: LT
00001b32: PUSH2 0x1b3b
00001b35: JUMPI
00001b36: POP
00001b37: POP
00001b38: POP
00001b39: SWAP1
00001b3a: JUMP
00001b3b: JUMPDEST
00001b3c: PUSH1 0x20
00001b3e: DUP1
00001b3f: SWAP2
00001b40: PUSH2 0x1b48
00001b43: DUP5
00001b44: PUSH2 0x199a
00001b47: JUMP
00001b48: JUMPDEST
00001b49: DUP2
00001b4a: MSTORE
00001b4b: ADD
00001b4c: SWAP2
00001b4d: ADD
00001b4e: SWAP1
00001b4f: PUSH2 0x1b2e
00001b52: JUMP
00001b53: JUMPDEST
00001b54: SWAP2
00001b55: DUP2
00001b56: PUSH1 0x1f
00001b58: DUP5
00001b59: ADD
00001b5a: SLT
00001b5b: ISZERO
00001b5c: PUSH2 0x0d54
00001b5f: JUMPI
00001b60: DUP3
00001b61: CALLDATALOAD
00001b62: SWAP2
00001b63: PUSH8 0xffffffffffffffff
00001b6c: DUP4
00001b6d: GT
00001b6e: PUSH2 0x0d54
00001b71: JUMPI
00001b72: PUSH1 0x20
00001b74: DUP4
00001b75: DUP2
00001b76: DUP7
00001b77: ADD
00001b78: SWAP6
00001b79: ADD
00001b7a: ADD
00001b7b: GT
00001b7c: PUSH2 0x0d54
00001b7f: JUMPI
00001b80: JUMP
00001b81: JUMPDEST
00001b82: SWAP1
00001b83: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001ba4: PUSH1 0x1f
00001ba6: PUSH1 0x20
00001ba8: DUP1
00001ba9: SWAP5
00001baa: DUP1
00001bab: MLOAD
00001bac: SWAP2
00001bad: DUP3
00001bae: SWAP2
00001baf: DUP3
00001bb0: DUP8
00001bb1: MSTORE
00001bb2: ADD
00001bb3: DUP7
00001bb4: DUP7
00001bb5: ADD
00001bb6: MCOPY
00001bb7: PUSH0
00001bb8: DUP6
00001bb9: DUP3
00001bba: DUP7
00001bbb: ADD
00001bbc: ADD
00001bbd: MSTORE
00001bbe: ADD
00001bbf: AND
00001bc0: ADD
00001bc1: ADD
00001bc2: SWAP1
00001bc3: JUMP
00001bc4: JUMPDEST
00001bc5: DUP1
00001bc6: MLOAD
00001bc7: DUP3
00001bc8: LT
00001bc9: ISZERO
00001bca: PUSH2 0x1bd8
00001bcd: JUMPI
00001bce: PUSH1 0x20
00001bd0: SWAP2
00001bd1: PUSH1 0x05
00001bd3: SHL
00001bd4: ADD
00001bd5: ADD
00001bd6: SWAP1
00001bd7: JUMP
00001bd8: JUMPDEST
00001bd9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001bfa: PUSH0
00001bfb: MSTORE
00001bfc: PUSH1 0x32
00001bfe: PUSH1 0x04
00001c00: MSTORE
00001c01: PUSH1 0x24
00001c03: PUSH0
00001c04: REVERT
00001c05: JUMPDEST
00001c06: SWAP1
00001c07: DUP2
00001c08: PUSH1 0x20
00001c0a: SWAP2
00001c0b: SUB
00001c0c: SLT
00001c0d: PUSH2 0x0d54
00001c10: JUMPI
00001c11: MLOAD
00001c12: SWAP1
00001c13: JUMP
00001c14: JUMPDEST
00001c15: SWAP1
00001c16: PUSH1 0xa0
00001c18: PUSH1 0x80
00001c1a: PUSH2 0x1c7b
00001c1d: SWAP4
00001c1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c33: DUP2
00001c34: MLOAD
00001c35: AND
00001c36: DUP5
00001c37: MSTORE
00001c38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c4d: PUSH1 0x20
00001c4f: DUP3
00001c50: ADD
00001c51: MLOAD
00001c52: AND
00001c53: PUSH1 0x20
00001c55: DUP6
00001c56: ADD
00001c57: MSTORE
00001c58: PUSH1 0x40
00001c5a: DUP2
00001c5b: ADD
00001c5c: MLOAD
00001c5d: PUSH1 0x40
00001c5f: DUP6
00001c60: ADD
00001c61: MSTORE
00001c62: PUSH1 0x60
00001c64: DUP2
00001c65: ADD
00001c66: MLOAD
00001c67: PUSH1 0x60
00001c69: DUP6
00001c6a: ADD
00001c6b: MSTORE
00001c6c: ADD
00001c6d: MLOAD
00001c6e: SWAP2
00001c6f: DUP2
00001c70: PUSH1 0x80
00001c72: DUP3
00001c73: ADD
00001c74: MSTORE
00001c75: ADD
00001c76: SWAP1
00001c77: PUSH2 0x1b81
00001c7a: JUMP
00001c7b: JUMPDEST
00001c7c: SWAP1
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: ISZERO
00001c80: PUSH2 0x1c85
00001c83: JUMPI
00001c84: JUMP
00001c85: JUMPDEST
00001c86: PUSH1 0x64
00001c88: PUSH1 0x40
00001c8a: MLOAD
00001c8b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001cac: DUP2
00001cad: MSTORE
00001cae: PUSH1 0x20
00001cb0: PUSH1 0x04
00001cb2: DUP3
00001cb3: ADD
00001cb4: MSTORE
00001cb5: PUSH1 0x0e
00001cb7: PUSH1 0x24
00001cb9: DUP3
00001cba: ADD
00001cbb: MSTORE
00001cbc: PUSH32 0x494e56414c49445f53454e444552000000000000000000000000000000000000
00001cdd: PUSH1 0x44
00001cdf: DUP3
00001ce0: ADD
00001ce1: MSTORE
00001ce2: REVERT
00001ce3: JUMPDEST
00001ce4: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00001d05: DUP2
00001d06: EQ
00001d07: PUSH2 0x1d0f
00001d0a: JUMPI
00001d0b: PUSH0
00001d0c: SUB
00001d0d: SWAP1
00001d0e: JUMP
00001d0f: JUMPDEST
00001d10: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001d31: PUSH0
00001d32: MSTORE
00001d33: PUSH1 0x11
00001d35: PUSH1 0x04
00001d37: MSTORE
00001d38: PUSH1 0x24
00001d3a: PUSH0
00001d3b: REVERT
00001d3c: JUMPDEST
00001d3d: PUSH1 0x0f
00001d3f: SIGNEXTEND
00001d40: PUSH32 0xffffffffffffffffffffffffffffffff80000000000000000000000000000000
00001d61: DUP2
00001d62: EQ
00001d63: PUSH2 0x1d0f
00001d66: JUMPI
00001d67: PUSH0
00001d68: SUB
00001d69: SWAP1
00001d6a: JUMP
00001d6b: JUMPDEST
00001d6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d81: PUSH0
00001d82: SLOAD
00001d83: AND
00001d84: CALLER
00001d85: SUB
00001d86: PUSH2 0x1d8b
00001d89: JUMPI
00001d8a: JUMP
00001d8b: JUMPDEST
00001d8c: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000
00001dad: PUSH0
00001dae: MSTORE
00001daf: CALLER
00001db0: PUSH1 0x04
00001db2: MSTORE
00001db3: PUSH1 0x24
00001db5: PUSH0
00001db6: REVERT
00001db7: JUMPDEST
00001db8: CALLER
00001db9: PUSH0
00001dba: MSTORE
00001dbb: PUSH1 0x01
00001dbd: PUSH1 0x20
00001dbf: MSTORE
00001dc0: PUSH1 0xff
00001dc2: PUSH1 0x40
00001dc4: PUSH0
00001dc5: KECCAK256
00001dc6: SLOAD
00001dc7: AND
00001dc8: ISZERO
00001dc9: PUSH2 0x1dce
00001dcc: JUMPI
00001dcd: JUMP
00001dce: JUMPDEST
00001dcf: PUSH1 0x64
00001dd1: PUSH1 0x40
00001dd3: MLOAD
00001dd4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001df5: DUP2
00001df6: MSTORE
00001df7: PUSH1 0x20
00001df9: PUSH1 0x04
00001dfb: DUP3
00001dfc: ADD
00001dfd: MSTORE
00001dfe: PUSH1 0x13
00001e00: PUSH1 0x24
00001e02: DUP3
00001e03: ADD
00001e04: MSTORE
00001e05: PUSH32 0x554e415554484f52495a45445f43414c4c455200000000000000000000000000
00001e26: PUSH1 0x44
00001e28: DUP3
00001e29: ADD
00001e2a: MSTORE
00001e2b: REVERT
00001e2c: JUMPDEST
00001e2d: SWAP2
00001e2e: PUSH1 0x40
00001e30: SWAP3
00001e31: DUP3
00001e32: DUP2
00001e33: PUSH0
00001e34: DUP7
00001e35: DUP1
00001e36: MLOAD
00001e37: PUSH2 0x1e3f
00001e3a: DUP2
00001e3b: PUSH2 0x17a3
00001e3e: JUMP
00001e3f: JUMPDEST
00001e40: DUP3
00001e41: DUP2
00001e42: MSTORE
00001e43: DUP3
00001e44: PUSH1 0x20
00001e46: DUP3
00001e47: ADD
00001e48: MSTORE
00001e49: ADD
00001e4a: MSTORE
00001e4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e60: DUP3
00001e61: AND
00001e62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e77: DUP3
00001e78: AND
00001e79: GT
00001e7a: PUSH2 0x1f90
00001e7d: JUMPI
00001e7e: JUMPDEST
00001e7f: POP
00001e80: POP
00001e81: PUSH3 0xffffff
00001e85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e9a: DUP1
00001e9b: DUP7
00001e9c: MLOAD
00001e9d: SWAP4
00001e9e: PUSH2 0x1ea6
00001ea1: DUP6
00001ea2: PUSH2 0x17a3
00001ea5: JUMP
00001ea6: JUMPDEST
00001ea7: AND
00001ea8: SWAP5
00001ea9: DUP6
00001eaa: DUP5
00001eab: MSTORE
00001eac: AND
00001ead: SWAP3
00001eae: DUP4
00001eaf: PUSH1 0x20
00001eb1: DUP5
00001eb2: ADD
00001eb3: MSTORE
00001eb4: AND
00001eb5: SWAP4
00001eb6: DUP5
00001eb7: SWAP2
00001eb8: ADD
00001eb9: MSTORE
00001eba: DUP1
00001ebb: DUP3
00001ebc: LT
00001ebd: ISZERO
00001ebe: PUSH2 0x0d54
00001ec1: JUMPI
00001ec2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ed7: SWAP3
00001ed8: PUSH1 0x40
00001eda: MLOAD
00001edb: SWAP2
00001edc: PUSH1 0x20
00001ede: DUP4
00001edf: ADD
00001ee0: SWAP4
00001ee1: DUP5
00001ee2: MSTORE
00001ee3: PUSH1 0x40
00001ee5: DUP4
00001ee6: ADD
00001ee7: MSTORE
00001ee8: PUSH1 0x60
00001eea: DUP3
00001eeb: ADD
00001eec: MSTORE
00001eed: PUSH1 0x60
00001eef: DUP2
00001ef0: MSTORE
00001ef1: PUSH2 0x1efb
00001ef4: PUSH1 0x80
00001ef6: DUP3
00001ef7: PUSH2 0x1813
00001efa: JUMP
00001efb: JUMPDEST
00001efc: MLOAD
00001efd: SWAP1
00001efe: KECCAK256
00001eff: PUSH1 0x40
00001f01: MLOAD
00001f02: PUSH1 0x20
00001f04: DUP2
00001f05: ADD
00001f06: SWAP2
00001f07: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00001f28: DUP4
00001f29: MSTORE
00001f2a: PUSH32 0x1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000
00001f4b: PUSH1 0x21
00001f4d: DUP4
00001f4e: ADD
00001f4f: MSTORE
00001f50: PUSH1 0x35
00001f52: DUP3
00001f53: ADD
00001f54: MSTORE
00001f55: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54
00001f76: PUSH1 0x55
00001f78: DUP3
00001f79: ADD
00001f7a: MSTORE
00001f7b: PUSH1 0x55
00001f7d: DUP2
00001f7e: MSTORE
00001f7f: PUSH2 0x1f89
00001f82: PUSH1 0x75
00001f84: DUP3
00001f85: PUSH2 0x1813
00001f88: JUMP
00001f89: JUMPDEST
00001f8a: MLOAD
00001f8b: SWAP1
00001f8c: KECCAK256
00001f8d: AND
00001f8e: SWAP1
00001f8f: JUMP
00001f90: JUMPDEST
00001f91: SWAP4
00001f92: POP
00001f93: SWAP1
00001f94: POP
00001f95: PUSH0
00001f96: DUP1
00001f97: PUSH2 0x1e7e
00001f9a: JUMP
00001f9b: JUMPDEST
00001f9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fb1: PUSH1 0x04
00001fb3: SWAP8
00001fb4: SWAP4
00001fb5: SWAP7
00001fb6: SWAP5
00001fb7: SWAP6
00001fb8: SWAP3
00001fb9: AND
00001fba: SWAP5
00001fbb: PUSH1 0x40
00001fbd: MLOAD
00001fbe: SWAP5
00001fbf: PUSH2 0x1fc7
00001fc2: DUP7
00001fc3: PUSH2 0x17bf
00001fc6: JUMP
00001fc7: JUMPDEST
00001fc8: DUP6
00001fc9: MSTORE
00001fca: PUSH1 0x20
00001fcc: DUP6
00001fcd: ADD
00001fce: SWAP6
00001fcf: PUSH1 0x01
00001fd1: DUP8
00001fd2: MSTORE
00001fd3: PUSH1 0x40
00001fd5: DUP7
00001fd6: ADD
00001fd7: DUP2
00001fd8: DUP2
00001fd9: MSTORE
00001fda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fef: PUSH1 0x60
00001ff1: DUP9
00001ff2: ADD
00001ff3: SWAP10
00001ff4: AND
00001ff5: DUP10
00001ff6: MSTORE
00001ff7: PUSH1 0x80
00001ff9: DUP8
00001ffa: ADD
00001ffb: SWAP5
00001ffc: DUP6
00001ffd: MSTORE
00001ffe: PUSH1 0xa0
00002000: DUP8
00002001: ADD
00002002: SWAP6
00002003: DUP7
00002004: MSTORE
00002005: PUSH1 0x40
00002007: MLOAD
00002008: SWAP4
00002009: PUSH2 0x2011
0000200c: DUP6
0000200d: PUSH2 0x17f7
00002010: JUMP
00002011: JUMPDEST
00002012: ADDRESS
00002013: DUP6
00002014: MSTORE
00002015: PUSH1 0x20
00002017: DUP6
00002018: ADD
00002019: SWAP9
0000201a: PUSH0
0000201b: DUP11
0000201c: MSTORE
0000201d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002032: PUSH1 0x40
00002034: DUP8
00002035: ADD
00002036: SWAP3
00002037: AND
00002038: DUP3
00002039: MSTORE
0000203a: PUSH1 0x60
0000203c: DUP7
0000203d: ADD
0000203e: SWAP4
0000203f: PUSH0
00002040: DUP6
00002041: MSTORE
00002042: ISZERO
00002043: PUSH0
00002044: EQ
00002045: PUSH2 0x21b2
00002048: JUMPI
00002049: DUP5
0000204a: SWAP9
0000204b: JUMPDEST
0000204c: PUSH1 0xe0
0000204e: PUSH1 0x40
00002050: MLOAD
00002051: SWAP14
00002052: DUP15
00002053: PUSH32 0x52bbbe2900000000000000000000000000000000000000000000000000000000
00002074: DUP2
00002075: MSTORE
00002076: ADD
00002077: MSTORE
00002078: MLOAD
00002079: PUSH1 0xe4
0000207b: DUP14
0000207c: ADD
0000207d: MSTORE
0000207e: MLOAD
0000207f: SWAP9
00002080: PUSH1 0x02
00002082: DUP11
00002083: LT
00002084: ISZERO
00002085: PUSH2 0x2185
00002088: JUMPI
00002089: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000209e: PUSH2 0x20e2
000020a1: DUP14
000020a2: SWAP12
000020a3: SWAP10
000020a4: DUP13
000020a5: SWAP11
000020a6: SWAP10
000020a7: DUP4
000020a8: PUSH1 0x20
000020aa: SWAP16
000020ab: DUP14
000020ac: PUSH2 0x0124
000020af: DUP4
000020b0: DUP3
000020b1: SWAP16
000020b2: SWAP12
000020b3: DUP2
000020b4: SWAP13
000020b5: PUSH2 0x0104
000020b8: DUP6
000020b9: ADD
000020ba: MSTORE
000020bb: MLOAD
000020bc: AND
000020bd: SWAP2
000020be: ADD
000020bf: MSTORE
000020c0: MLOAD
000020c1: AND
000020c2: PUSH2 0x0144
000020c5: DUP13
000020c6: ADD
000020c7: MSTORE
000020c8: MLOAD
000020c9: PUSH2 0x0164
000020cc: DUP12
000020cd: ADD
000020ce: MSTORE
000020cf: MLOAD
000020d0: PUSH1 0xc0
000020d2: PUSH2 0x0184
000020d5: DUP12
000020d6: ADD
000020d7: MSTORE
000020d8: PUSH2 0x01a4
000020db: DUP11
000020dc: ADD
000020dd: SWAP1
000020de: PUSH2 0x1b81
000020e1: JUMP
000020e2: JUMPDEST
000020e3: SWAP7
000020e4: MLOAD
000020e5: AND
000020e6: PUSH1 0x24
000020e8: DUP9
000020e9: ADD
000020ea: MSTORE
000020eb: MLOAD
000020ec: ISZERO
000020ed: ISZERO
000020ee: PUSH1 0x44
000020f0: DUP8
000020f1: ADD
000020f2: MSTORE
000020f3: MLOAD
000020f4: AND
000020f5: PUSH1 0x64
000020f7: DUP6
000020f8: ADD
000020f9: MSTORE
000020fa: MLOAD
000020fb: ISZERO
000020fc: ISZERO
000020fd: PUSH1 0x84
000020ff: DUP5
00002100: ADD
00002101: MSTORE
00002102: PUSH1 0xa4
00002104: DUP4
00002105: ADD
00002106: MSTORE
00002107: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002128: PUSH1 0xc4
0000212a: DUP4
0000212b: ADD
0000212c: MSTORE
0000212d: SUB
0000212e: SWAP2
0000212f: PUSH20 0xd315a9c38ec871068fec378e4ce78af528c76293
00002144: GAS
00002145: CALL
00002146: SWAP1
00002147: DUP2
00002148: ISZERO
00002149: PUSH2 0x0d49
0000214c: JUMPI
0000214d: PUSH0
0000214e: SWAP2
0000214f: PUSH2 0x2156
00002152: JUMPI
00002153: POP
00002154: SWAP1
00002155: JUMP
00002156: JUMPDEST
00002157: SWAP1
00002158: POP
00002159: PUSH1 0x20
0000215b: DUP2
0000215c: RETURNDATASIZE
0000215d: PUSH1 0x20
0000215f: GT
00002160: PUSH2 0x217d
00002163: JUMPI
00002164: JUMPDEST
00002165: DUP2
00002166: PUSH2 0x2171
00002169: PUSH1 0x20
0000216b: SWAP4
0000216c: DUP4
0000216d: PUSH2 0x1813
00002170: JUMP
00002171: JUMPDEST
00002172: DUP2
00002173: ADD
00002174: SUB
00002175: SLT
00002176: PUSH2 0x0d54
00002179: JUMPI
0000217a: MLOAD
0000217b: SWAP1
0000217c: JUMP
0000217d: JUMPDEST
0000217e: RETURNDATASIZE
0000217f: SWAP2
00002180: POP
00002181: PUSH2 0x2164
00002184: JUMP
00002185: JUMPDEST
00002186: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000021a7: PUSH0
000021a8: MSTORE
000021a9: PUSH1 0x21
000021ab: PUSH1 0x04
000021ad: MSTORE
000021ae: PUSH1 0x24
000021b0: PUSH0
000021b1: REVERT
000021b2: JUMPDEST
000021b3: PUSH0
000021b4: SWAP9
000021b5: PUSH2 0x204b
000021b8: JUMP
000021b9: JUMPDEST
000021ba: DUP2
000021bb: DUP2
000021bc: MUL
000021bd: SWAP3
000021be: SWAP2
000021bf: DUP2
000021c0: ISZERO
000021c1: SWAP2
000021c2: DUP5
000021c3: DIV
000021c4: EQ
000021c5: OR
000021c6: ISZERO
000021c7: PUSH2 0x1d0f
000021ca: JUMPI
000021cb: JUMP
000021cc: JUMPDEST
000021cd: DUP2
000021ce: ISZERO
000021cf: PUSH2 0x21d6
000021d2: JUMPI
000021d3: DIV
000021d4: SWAP1
000021d5: JUMP
000021d6: JUMPDEST
000021d7: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000021f8: PUSH0
000021f9: MSTORE
000021fa: PUSH1 0x12
000021fc: PUSH1 0x04
000021fe: MSTORE
000021ff: PUSH1 0x24
00002201: PUSH0
00002202: REVERT
00002203: JUMPDEST
00002204: SWAP2
00002205: SWAP1
00002206: DUP3
00002207: SUB
00002208: SWAP2
00002209: DUP3
0000220a: GT
0000220b: PUSH2 0x1d0f
0000220e: JUMPI
0000220f: JUMP
00002210: JUMPDEST
00002211: SWAP2
00002212: PUSH2 0x223b
00002215: PUSH2 0x2243
00002218: SWAP2
00002219: PUSH2 0x2233
0000221c: PUSH2 0x222b
0000221f: PUSH1 0x20
00002221: DUP8
00002222: ADD
00002223: SWAP6
00002224: DUP7
00002225: MLOAD
00002226: SWAP1
00002227: PUSH2 0x21b9
0000222a: JUMP
0000222b: JUMPDEST
0000222c: DUP7
0000222d: MLOAD
0000222e: SWAP1
0000222f: PUSH2 0x21cc
00002232: JUMP
00002233: JUMPDEST
00002234: SWAP4
00002235: MLOAD
00002236: SWAP1
00002237: PUSH2 0x21b9
0000223a: JUMP
0000223b: JUMPDEST
0000223c: DUP4
0000223d: MLOAD
0000223e: SWAP1
0000223f: PUSH2 0x21cc
00002242: JUMP
00002243: JUMPDEST
00002244: SWAP1
00002245: PUSH1 0x40
00002247: DUP4
00002248: ADD
00002249: SWAP1
0000224a: DUP2
0000224b: MLOAD
0000224c: DUP4
0000224d: ADD
0000224e: DUP1
0000224f: DUP5
00002250: GT
00002251: PUSH2 0x1d0f
00002254: JUMPI
00002255: DUP2
00002256: LT
00002257: PUSH2 0x239d
0000225a: JUMPI
0000225b: PUSH2 0x226f
0000225e: SWAP3
0000225f: PUSH2 0x2267
00002262: SWAP2
00002263: PUSH2 0x2203
00002266: JUMP
00002267: JUMPDEST
00002268: SWAP1
00002269: MLOAD
0000226a: SWAP1
0000226b: PUSH2 0x2203
0000226e: JUMP
0000226f: JUMPDEST
00002270: PUSH1 0x60
00002272: DUP3
00002273: ADD
00002274: MLOAD
00002275: DUP2
00002276: LT
00002277: PUSH2 0x233f
0000227a: JUMPI
0000227b: PUSH0
0000227c: DUP1
0000227d: DUP4
0000227e: PUSH1 0xa0
00002280: PUSH2 0x2294
00002283: PUSH2 0x223b
00002286: DUP5
00002287: SWAP8
00002288: SWAP7
00002289: PUSH1 0x80
0000228b: DUP7
0000228c: SWAP9
0000228d: ADD
0000228e: MLOAD
0000228f: SWAP1
00002290: PUSH2 0x21b9
00002293: JUMP
00002294: JUMPDEST
00002295: SWAP2
00002296: ADD
00002297: MLOAD
00002298: DUP1
00002299: DUP3
0000229a: GT
0000229b: PUSH2 0x2337
0000229e: JUMPI
0000229f: JUMPDEST
000022a0: POP
000022a1: COINBASE
000022a2: PUSH2 0x08fc
000022a5: CALL
000022a6: RETURNDATASIZE
000022a7: ISZERO
000022a8: PUSH2 0x2332
000022ab: JUMPI
000022ac: RETURNDATASIZE
000022ad: PUSH2 0x22b5
000022b0: DUP2
000022b1: PUSH2 0x19bb
000022b4: JUMP
000022b5: JUMPDEST
000022b6: SWAP1
000022b7: PUSH2 0x22c3
000022ba: PUSH1 0x40
000022bc: MLOAD
000022bd: SWAP3
000022be: DUP4
000022bf: PUSH2 0x1813
000022c2: JUMP
000022c3: JUMPDEST
000022c4: DUP2
000022c5: MSTORE
000022c6: PUSH0
000022c7: PUSH1 0x20
000022c9: RETURNDATASIZE
000022ca: SWAP3
000022cb: ADD
000022cc: RETURNDATACOPY
000022cd: JUMPDEST
000022ce: ISZERO
000022cf: PUSH2 0x22d4
000022d2: JUMPI
000022d3: JUMP
000022d4: JUMPDEST
000022d5: PUSH1 0x64
000022d7: PUSH1 0x40
000022d9: MLOAD
000022da: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000022fb: DUP2
000022fc: MSTORE
000022fd: PUSH1 0x20
000022ff: PUSH1 0x04
00002301: DUP3
00002302: ADD
00002303: MSTORE
00002304: PUSH1 0x0c
00002306: PUSH1 0x24
00002308: DUP3
00002309: ADD
0000230a: MSTORE
0000230b: PUSH32 0x42524942455f4641494c45440000000000000000000000000000000000000000
0000232c: PUSH1 0x44
0000232e: DUP3
0000232f: ADD
00002330: MSTORE
00002331: REVERT
00002332: JUMPDEST
00002333: PUSH2 0x22cd
00002336: JUMP
00002337: JUMPDEST
00002338: SWAP1
00002339: POP
0000233a: PUSH0
0000233b: PUSH2 0x229f
0000233e: JUMP
0000233f: JUMPDEST
00002340: PUSH1 0x64
00002342: PUSH1 0x40
00002344: MLOAD
00002345: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002366: DUP2
00002367: MSTORE
00002368: PUSH1 0x20
0000236a: PUSH1 0x04
0000236c: DUP3
0000236d: ADD
0000236e: MSTORE
0000236f: PUSH1 0x08
00002371: PUSH1 0x24
00002373: DUP3
00002374: ADD
00002375: MSTORE
00002376: PUSH32 0x534e415443484544000000000000000000000000000000000000000000000000
00002397: PUSH1 0x44
00002399: DUP3
0000239a: ADD
0000239b: MSTORE
0000239c: REVERT
0000239d: JUMPDEST
0000239e: PUSH1 0x64
000023a0: PUSH1 0x40
000023a2: MLOAD
000023a3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000023c4: DUP2
000023c5: MSTORE
000023c6: PUSH1 0x20
000023c8: PUSH1 0x04
000023ca: DUP3
000023cb: ADD
000023cc: MSTORE
000023cd: PUSH1 0x12
000023cf: PUSH1 0x24
000023d1: DUP3
000023d2: ADD
000023d3: MSTORE
000023d4: PUSH32 0x494e53554646494349454e545f51554f54450000000000000000000000000000
000023f5: PUSH1 0x44
000023f7: DUP3
000023f8: ADD
000023f9: MSTORE
000023fa: REVERT
000023fb: JUMPDEST
000023fc: SWAP3
000023fd: SWAP2
000023fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002413: PUSH1 0x40
00002415: MLOAD
00002416: SWAP3
00002417: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00002438: PUSH0
00002439: MSTORE
0000243a: AND
0000243b: PUSH1 0x04
0000243d: MSTORE
0000243e: PUSH1 0x24
00002440: MSTORE
00002441: PUSH1 0x20
00002443: PUSH0
00002444: PUSH1 0x44
00002446: DUP2
00002447: DUP1
00002448: DUP8
00002449: GAS
0000244a: CALL
0000244b: SWAP3
0000244c: PUSH1 0x01
0000244e: PUSH0
0000244f: MLOAD
00002450: EQ
00002451: DUP5
00002452: AND
00002453: ISZERO
00002454: PUSH2 0x245e
00002457: JUMPI
00002458: JUMPDEST
00002459: POP
0000245a: PUSH1 0x40
0000245c: MSTORE
0000245d: JUMP
0000245e: JUMPDEST
0000245f: RETURNDATASIZE
00002460: ISZERO
00002461: SWAP1
00002462: EXTCODESIZE
00002463: ISZERO
00002464: ISZERO
00002465: AND
00002466: SWAP1
00002467: SWAP3
00002468: AND
00002469: SWAP2
0000246a: PUSH0
0000246b: PUSH2 0x2458
0000246e: JUMP
0000246f: JUMPDEST
00002470: SWAP2
00002471: SWAP1
00002472: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002487: PUSH1 0x40
00002489: MLOAD
0000248a: SWAP2
0000248b: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
000024ac: PUSH0
000024ad: MSTORE
000024ae: AND
000024af: PUSH1 0x04
000024b1: MSTORE
000024b2: PUSH0
000024b3: PUSH1 0x24
000024b5: MSTORE
000024b6: PUSH1 0x20
000024b8: PUSH0
000024b9: PUSH1 0x44
000024bb: DUP2
000024bc: DUP1
000024bd: DUP8
000024be: GAS
000024bf: CALL
000024c0: SWAP3
000024c1: PUSH1 0x01
000024c3: PUSH0
000024c4: MLOAD
000024c5: EQ
000024c6: DUP5
000024c7: AND
000024c8: ISZERO
000024c9: PUSH2 0x24d2
000024cc: JUMPI
000024cd: POP
000024ce: PUSH1 0x40
000024d0: MSTORE
000024d1: JUMP
000024d2: JUMPDEST
000024d3: PUSH1 0x01
000024d5: DUP5
000024d6: SWAP3
000024d7: SWAP5
000024d8: ISZERO
000024d9: AND
000024da: PUSH2 0x24eb
000024dd: JUMPI
000024de: EXTCODESIZE
000024df: ISZERO
000024e0: ISZERO
000024e1: RETURNDATASIZE
000024e2: ISZERO
000024e3: AND
000024e4: AND
000024e5: SWAP2
000024e6: PUSH0
000024e7: PUSH2 0x2458
000024ea: JUMP
000024eb: JUMPDEST
000024ec: DUP4
000024ed: RETURNDATASIZE
000024ee: PUSH0
000024ef: DUP3
000024f0: RETURNDATACOPY
000024f1: RETURNDATASIZE
000024f2: SWAP1
000024f3: REVERT
000024f4: JUMPDEST
000024f5: SWAP3
000024f6: SWAP2
000024f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000250c: PUSH1 0x40
0000250e: MLOAD
0000250f: SWAP3
00002510: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00002531: PUSH0
00002532: MSTORE
00002533: AND
00002534: PUSH1 0x04
00002536: MSTORE
00002537: PUSH1 0x24
00002539: MSTORE
0000253a: PUSH1 0x20
0000253c: PUSH0
0000253d: PUSH1 0x44
0000253f: DUP2
00002540: DUP1
00002541: DUP8
00002542: GAS
00002543: CALL
00002544: SWAP3
00002545: PUSH1 0x01
00002547: PUSH0
00002548: MLOAD
00002549: EQ
0000254a: DUP5
0000254b: AND
0000254c: ISZERO
0000254d: PUSH2 0x24d2
00002550: JUMPI
00002551: POP
00002552: PUSH1 0x40
00002554: MSTORE
00002555: JUMP
00002556: INVALID
00002557: LOG2
00002558: PUSH5 0x6970667358
0000255e: UNKNOWN(0x22)
0000255f: SLT
00002560: KECCAK256
00002561: MULMOD
00002562: UNKNOWN(0xBD)
00002563: PUSH32 0x9f937df454ff5ce743244444543d68cca2ce00b79bf4c9f100557832c064736f
00002584: PUSH13

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xc9a709410d9aaee4a38a962d716878812625c21b3966685f47222804eff6cd59
call_targets: 0x0c370ea6bc17c7010ba44f004a39f83ef897e4bb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9a709410d9aaee4a38a962d716878812625c21b3966685f47222804eff6cd59",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0c370ea6bc17c7010ba44f004a39f83ef897e4bb"
    ],
    "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": "0x0423427d",
            "selector": "0x0423427d",
            "calldata_variants": [
                "0x0423427d",
                "0x0423427d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5ecb16cd",
            "selector": "0x5ecb16cd",
            "calldata_variants": [
                "0x5ecb16cd",
                "0x5ecb16cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66000a74",
            "selector": "0x66000a74",
            "calldata_variants": [
                "0x66000a74",
                "0x66000a740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75428c1a",
            "selector": "0x75428c1a",
            "calldata_variants": [
                "0x75428c1a",
                "0x75428c1a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x78ff96bb",
            "selector": "0x78ff96bb",
            "calldata_variants": [
                "0x78ff96bb",
                "0x78ff96bb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7b334154",
            "selector": "0x7b334154",
            "calldata_variants": [
                "0x7b334154",
                "0x7b3341540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1425,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2297,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2492,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 15,
    "guards_detected": [
        {
            "pc": 544,
            "type": "msg_sender_eq_const",
            "value": 549
        },
        {
            "pc": 1555,
            "type": "msg_sender_eq_const",
            "value": 2.2154441650658624e+34
        }
    ],
    "untrusted_call_count": 14
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xc9a709410d9aaee4a38a962d716878812625c21b3966685f47222804eff6cd59
call_targets: 0x0c370ea6bc17c7010ba44f004a39f83ef897e4bb
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc9a709410d9aaee4a38a962d716878812625c21b3966685f47222804eff6cd59",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0c370ea6bc17c7010ba44f004a39f83ef897e4bb"
    ],
    "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": "0x0423427d",
            "selector": "0x0423427d",
            "calldata_variants": [
                "0x0423427d",
                "0x0423427d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5ecb16cd",
            "selector": "0x5ecb16cd",
            "calldata_variants": [
                "0x5ecb16cd",
                "0x5ecb16cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66000a74",
            "selector": "0x66000a74",
            "calldata_variants": [
                "0x66000a74",
                "0x66000a740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75428c1a",
            "selector": "0x75428c1a",
            "calldata_variants": [
                "0x75428c1a",
                "0x75428c1a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x78ff96bb",
            "selector": "0x78ff96bb",
            "calldata_variants": [
                "0x78ff96bb",
                "0x78ff96bb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7b334154",
            "selector": "0x7b334154",
            "calldata_variants": [
                "0x7b334154",
                "0x7b3341540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1425,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2297,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2492,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 15,
    "guards_detected": [
        {
            "pc": 544,
            "type": "msg_sender_eq_const",
            "value": 549
        },
        {
            "pc": 1555,
            "type": "msg_sender_eq_const",
            "value": 2.2154441650658624e+34
        }
    ]
}
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": 5
}
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": 16
}