4647b629-5188-4399-a000-3150e528c0b3
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 16
}
|