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

Analysis Run

71966474-9bba-497f-8be2-fc9bca6059fa

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 1:58 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31181 report.consolidate complete 1 / 1 3 months ago
76900 artifact.fetch complete 1 / 3 1 week ago
76901 tool.cast_disasm complete 1 / 3 1 week ago
76902 analysis.bundle complete 1 / 3 1 week ago
76903 capability.graph complete 1 / 3 1 week ago
76904 detector.run complete 1 / 3 1 week ago
76905 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete exploitable profit path identified from the provided bytecode bundle; observable CALL/STATICCALL opcodes do not reveal a controllable value-transfer or upgrade path, and the only SELFDESTRUCT appears after the metadata INVALID sentinel.
View stderr
[codex:1293828] OpenAI Codex v0.77.0 (research preview)
[codex:1293828] --------
[codex:1293828] workdir: /tmp/codex-multi-t61lugcv
[codex:1293828] model: gpt-5.2-codex
[codex:1293828] provider: openai
[codex:1293828] approval: never
[codex:1293828] sandbox: read-only
[codex:1293828] reasoning effort: xhigh
[codex:1293828] reasoning summaries: auto
[codex:1293828] session id: 019b7c6b-d6f0-7370-b08b-3b9a616ad21d
[codex:1293828] --------
[codex:1293828] user
[codex:1293828] 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:1293828] 
[codex:1293828] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1293828] 
[codex:1293828] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1293828] - Gas inefficiency, code quality, or best practices
[codex:1293828] - Theoretical vulnerabilities without a clear extraction path
[codex:1293828] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1293828] - Issues requiring social engineering or off-chain coordination
[codex:1293828] 
[codex:1293828] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1293828] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1293828] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1293828] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1293828] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1293828] - External calls before state updates (reentrancy)
[codex:1293828] - SELFDESTRUCT with controllable beneficiary
[codex:1293828] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1293828] 
[codex:1293828] For each finding, you MUST explain:
[codex:1293828] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1293828] 2. The concrete sequence of transactions to extract value
[codex:1293828] 3. Why you believe this is exploitable (not just suspicious)
[codex:1293828] 
[codex:1293828] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1293828] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1293828] 
[codex:1293828] Output MUST be valid JSON matching the provided schema.
[codex:1293828] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1293828] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1293828] mcp startup: no servers
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Preparing to read file contents**
[codex:1293828] exec
[codex:1293828] /bin/bash -lc ls in /tmp/codex-multi-t61lugcv succeeded in 5ms:
[codex:1293828] BYTECODE_BUNDLE.txt
[codex:1293828] codex-output-schema.json
[codex:1293828] exec
[codex:1293828] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-t61lugcv succeeded in 5ms:
[codex:1293828] Runtime bytecode bundle for best-effort auditing.
[codex:1293828] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1293828] 
[codex:1293828] FILE: runtime_bytecode.hex
[codex:1293828] 0x6080604052600436101561001d575b366105f55761001b610e69565b005b6100275f35610076565b80632f54bf6e1461007157806342cde4e81461006c578063a0ab965314610067578063aa5df9e2146100625763affed0e00361000e576105c0565b61057d565b610454565b610244565b6101a3565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b60018060a01b031690565b6100a29061008e565b90565b6100ae81610099565b036100b557565b5f80fd5b905035906100c6826100a5565b565b906020828203126100e1576100de915f016100b9565b90565b610086565b90565b6100fd6100f86101029261008e565b6100e6565b61008e565b90565b61010e906100e9565b90565b61011a90610105565b90565b9061012790610111565b5f5260205260405f2090565b1c90565b60ff1690565b61014d9060086101529302610133565b610137565b90565b90610160915461013d565b90565b610179906101746002915f9261011d565b610155565b90565b151590565b61018a9061017c565b9052565b91906101a1905f60208501940190610181565b565b346101d3576101cf6101be6101b93660046100c8565b610163565b6101c661007c565b9182918261018e565b0390f35b610082565b5f9103126101e257565b610086565b90565b6101fa9060086101ff9302610133565b6101e7565b90565b9061020d91546101ea565b90565b61021c60015f90610202565b90565b90565b61022b9061021f565b9052565b9190610242905f60208501940190610222565b565b34610274576102543660046101d8565b61027061025f610210565b61026761007c565b9182918261022f565b0390f35b610082565b5f80fd5b5f80fd5b5f80fd5b909182601f830112156102bf5781359167ffffffffffffffff83116102ba5760200192602083028401116102b557565b610281565b61027d565b610279565b909182601f830112156102fe5781359167ffffffffffffffff83116102f95760200192602083028401116102f457565b610281565b61027d565b610279565b61030c8161021f565b0361031357565b5f80fd5b9050359061032482610303565b565b909182601f830112156103605781359167ffffffffffffffff831161035b57602001926001830284011161035657565b610281565b61027d565b610279565b90916101008284031261044a575f82013567ffffffffffffffff81116104455783610391918401610285565b929093602082013567ffffffffffffffff811161044057816103b49184016102c4565b929093604082013567ffffffffffffffff811161043b57836103d79184016102c4565b9290936103e781606084016100b9565b926103f58260808501610317565b9260a08101359167ffffffffffffffff83116104365761041a84610433948401610326565b93909461042a8160c086016100b9565b9360e001610317565b90565b61008a565b61008a565b61008a565b61008a565b610086565b5f0190565b346104925761047c610467366004610365565b9a999099989198979297969396959495610b3e565b61048461007c565b8061048e8161044f565b0390f35b610082565b906020828203126104b0576104ad915f01610317565b90565b610086565b634e487b7160e01b5f52603260045260245ffd5b5490565b5f5260205f2090565b6104df816104c9565b8210156104f9576104f16001916104cd565b910201905f90565b6104b5565b60018060a01b031690565b61051990600861051e9302610133565b6104fe565b90565b9061052c9154610509565b90565b600361053a816104c9565b821015610557576105549161054e916104d6565b90610521565b90565b5f80fd5b61056490610099565b9052565b919061057b905f6020850194019061055b565b565b346105ad576105a9610598610593366004610497565b61052f565b6105a061007c565b91829182610568565b0390f35b610082565b6105bd5f5f90610202565b90565b346105f0576105d03660046101d8565b6105ec6105db6105b2565b6105e361007c565b9182918261022f565b0390f35b610082565b5f80fd5b5090565b5f1c90565b61060e610613916105fd565b6101e7565b90565b6106209054610602565b90565b5090565b90565b61063e61063961064392610627565b6100e6565b61008e565b90565b61064f9061062a565b90565b90565b90565b5f1b90565b61067161066c61067692610652565b610658565b610655565b90565b6106a27fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac5647261065d565b90565b90565b6106bc6106b76106c1926106a5565b610658565b610655565b90565b6106ed7fb7a0bfa1b79f2443f4d73ebb9259cddbcd510b18be6fc4da7d1aa7b1786e73e66106a8565b90565b90565b61070761070261070c926106f0565b610658565b610655565b90565b6107387fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66106f3565b90565b61074490610105565b90565b90565b61075e61075961076392610747565b610658565b610655565b90565b61078f7f251543af6a222378665a76fe38dbceae4871a070b7fdaf5c6c30cf758dc33cc061074a565b90565b61079b90610655565b9052565b91946107e76107f1929897956107dd60a0966107d36107f89a6107c960c08a019e5f8b0190610792565b6020890190610792565b6040870190610792565b6060850190610222565b608083019061055b565b0190610792565b565b601f801991011690565b634e487b7160e01b5f52604160045260245ffd5b90610822906107fa565b810190811067ffffffffffffffff82111761083c57604052565b610804565b60200190565b5190565b90565b61086261085d6108679261084b565b610658565b610655565b90565b6108937f3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d761084e565b90565b5f80fd5b906108ad6108a661007c565b9283610818565b565b67ffffffffffffffff81116108cd576108c96020916107fa565b0190565b610804565b90825f939282370152565b909291926108f26108ed826108af565b61089a565b9381855260208501908284011161090e5761090c926108d2565b565b610896565b61091e9136916108dd565b90565b949290979695939160e08601985f870161093a91610792565b602086016109479161055b565b6040850161095491610222565b6060840161096191610792565b6080830161096e91610222565b60a0820161097b9161055b565b60c00161098791610222565b565b905090565b5f61190160f01b910152565b6109a660028092610989565b6109af8161098e565b0190565b90565b6109c26109c791610655565b6109b3565b9052565b60208093926109e66109df6109ee9461099a565b80926109b6565b0180926109b6565b0190565b634e487b7160e01b5f52601160045260245ffd5b610a0f9061021f565b5f198114610a1d5760010190565b6109f2565b90610a2e5f1991610658565b9181191691161790565b610a4c610a47610a519261021f565b6100e6565b61021f565b90565b90565b90610a6c610a67610a7392610a38565b610a54565b8254610a22565b9055565b905090565b909182610a8c81610a9393610a77565b80936108d2565b0190565b9091610aa292610a7c565b90565b90610ab7610ab2836108af565b61089a565b918252565b606090565b3d5f14610adc57610ad13d610aa5565b903d5f602084013e5b565b610ae4610abc565b90610ada565b60209181520190565b9190610b0d81610b0681610b1295610aea565b80956108d2565b6107fa565b0190565b91610b3b939192610b2e60408201945f830190610222565b6020818503910152610af3565b90565b919598979a9399929699949094610b568789906105f9565b610b71610b6b610b666001610616565b61021f565b9161021f565b10610e4d57610b818789906105f9565b610b9d610b97610b928486906105f9565b61021f565b9161021f565b14158015610e1e575b610e025783610bbd610bb733610099565b91610099565b141580610ddf575b610dc357610d48975f9788978b8f8f8f610ca590610c96610cdf948e610cfe9e610c62610bf0610679565b610c3e610bfb6106c4565b91610c2f610c0761070f565b46610c113061073b565b90610c1a610766565b92610c2361007c565b9788966020880161079f565b60208201810382520382610818565b610c50610c4a82610847565b91610841565b2099610c5a61086a565b969894610913565b610c74610c6e82610847565b91610841565b205f610c7f90610616565b919293610c8a61007c565b98899760208901610921565b60208201810382520382610818565b610cb7610cb182610847565b91610841565b2091610cd0610cc461007c565b938492602084016109cb565b60208201810382520382610818565b610cf1610ceb82610847565b91610841565b209590919293949561100e565b610d18610d12610d0d84610616565b610a06565b83610a57565b85908790919089918792610d36610d2d61007c565b94859283610a97565b0393f1610d41610ac1565b501561017c565b610da757610d553061073b565b9192939093610da2610d90610d8a7fc25cfed0b22da6a56f0e5ff784979a0b8623eddf2aee4acd33c2adefb09cbab695610111565b95610111565b95610d9961007c565b93849384610b16565b0390a3565b5f63de44a57160e01b815280610dbf6004820161044f565b0390fd5b5f63710c949760e01b815280610ddb6004820161044f565b0390fd5b5083610dfb610df5610df05f610646565b610099565b91610099565b1415610bc5565b5f6360b2804560e11b815280610e1a6004820161044f565b0390fd5b50610e2a8789906105f9565b610e46610e40610e3b868a90610623565b61021f565b9161021f565b1415610ba6565b5f633724e34360e11b815280610e656004820161044f565b0390fd5b33610e733061073b565b3491610ebd610eab610ea57f1d34d19757361fd4aa48c5023224a5cbb511fef3e3ae1ebb3634e00a496b74d793610111565b93610111565b93610eb461007c565b9182918261022f565b0390a3565b610ed6610ed1610edb92610627565b6100e6565b61021f565b90565b6001610eea910161021f565b90565b9190811015610efd576020020190565b6104b5565b610f0b81610655565b03610f1257565b5f80fd5b35610f2081610f02565b90565b610f2f610f34916105fd565b610a38565b90565b90565b610f4e610f49610f5392610f37565b6100e6565b61021f565b90565b9190811015610f66576020020190565b6104b5565b60ff1690565b610f7a81610f6b565b03610f8157565b5f80fd5b35610f8f81610f71565b90565b610f9b90610f6b565b9052565b610fd4610fdb94610fca606094989795610fc0608086019a5f870190610792565b6020850190610f92565b6040830190610792565b0190610792565b565b610fe561007c565b3d5f823e3d90fd5b610ff9610ffe916105fd565b610137565b90565b61100b9054610fed565b90565b9695939491909161101e5f610646565b976110285f610ec2565b985b8961104761104161103c898c906105f9565b61021f565b9161021f565b10156111bd5761106a611065611060858d8b9091610eed565b610f16565b610f23565b61109c6110967f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0610f3a565b9161021f565b116111a15760205f87876111018e6110ef6110ea8f8f906110db6110e0918f6110cd8f916110d2929b908a91610f56565b610f85565b99908791610eed565b610f16565b938c919091610eed565b610f16565b906110f861007c565b94859485610f9f565b838052039060015afa1561119c576111195f51610658565b9061112d6111278392610099565b91610099565b11156111805761115061114a6111456002849061011d565b611001565b1561017c565b6111645761115e9099610ede565b9861102a565b5f6328e32f5760e11b81528061117c6004820161044f565b0390fd5b5f638baa579f60e01b8152806111986004820161044f565b0390fd5b610fdd565b5f63d2c661b960e01b8152806111b96004820161044f565b0390fd5b5050505050505050905056fea26469706673582212202b3481a389fff996de5f6a8b606599d0e7c81c425ac24db3b634d4ddfa98e57264736f6c634300081c0033
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Analyzing bytecode for exploit patterns**
[codex:1293828] exec
[codex:1293828] /bin/bash -lc "python - <<'PY'
[codex:1293828] import binascii, re
[codex:1293828] from pathlib import Path
[codex:1293828] hexdata = Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1293828] # extract hex after 0x
[codex:1293828] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1293828] if not m:
[codex:1293828]     print('no hex')
[codex:1293828]     raise SystemExit
[codex:1293828] hx = m.group(1)
[codex:1293828] code = bytes.fromhex(hx)
[codex:1293828] # opcodes with immediate lengths
[codex:1293828] op_len = {}
[codex:1293828] for i in range(1,33):
[codex:1293828]     op_len[0x5f+i] = i
[codex:1293828] # analyze positions of call-type opcodes
[codex:1293828] opnames = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xfa:'STATICCALL',0xff:'SELFDESTRUCT',0xf0:'CREATE',0xf5:'CREATE2'}
[codex:1293828] positions = {name:[] for name in opnames.values()}
[codex:1293828] # quick disassemble to locate
[codex:1293828] pc=0
[codex:1293828] while pc < len(code):
[codex:1293828]     op = code[pc]
[codex:1293828]     if op in opnames:
[codex:1293828]         positions[opnames[op]].append(pc)
[codex:1293828]     if op in op_len:
[codex:1293828]         pc += 1 + op_len[op]
[codex:1293828]     else:
[codex:1293828]         pc += 1
[codex:1293828] for name, pcs in positions.items():
[codex:1293828]     print(name, len(pcs))
[codex:1293828]     if pcs:
[codex:1293828]         print('  first few:', pcs[:10])
[codex:1293828] PY" in /tmp/codex-multi-t61lugcv succeeded in 31ms:
[codex:1293828] CALL 1
[codex:1293828]   first few: [3385]
[codex:1293828] CALLCODE 0
[codex:1293828] DELEGATECALL 0
[codex:1293828] STATICCALL 2
[codex:1293828]   first few: [4362, 4592]
[codex:1293828] SELFDESTRUCT 1
[codex:1293828]   first few: [4569]
[codex:1293828] CREATE 0
[codex:1293828] CREATE2 0
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Identifying and analyzing SELFDESTRUCT opcode**
[codex:1293828] exec
[codex:1293828] /bin/bash -lc "python - <<'PY'
[codex:1293828] import re
[codex:1293828] from pathlib import Path
[codex:1293828] hexdata = Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1293828] import binascii
[codex:1293828] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1293828] code = bytes.fromhex(m.group(1))
[codex:1293828] # opcode names
[codex:1293828] opnames = {
[codex:1293828] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:1293828] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:1293828] 0x20:'SHA3',
[codex:1293828] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:1293828] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1293828] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:1293828] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:1293828] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:1293828] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:1293828] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:1293828] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT',
[codex:1293828] }
[codex:1293828] # immediate lengths for PUSH
[codex:1293828] push_len = {0x5f+i:i for i in range(1,33)}
[codex:1293828] # disassemble around specific pc range
[codex:1293828] start=4520
[codex:1293828] end=4600
[codex:1293828] pc=0
[codex:1293828] while pc < len(code):
[codex:1293828]     op = code[pc]
[codex:1293828]     if pc>=start and pc<=end:
[codex:1293828]         name = opnames.get(op, f'OP{op:02x}')
[codex:1293828]         if op in push_len:
[codex:1293828]             imm = code[pc+1:pc+1+push_len[op]]
[codex:1293828]             print(f'{pc:04x}: {name} 0x{imm.hex()}')
[codex:1293828]             pc += 1 + push_len[op]
[codex:1293828]             continue
[codex:1293828]         else:
[codex:1293828]             print(f'{pc:04x}: {name}')
[codex:1293828]     # advance
[codex:1293828]     if op in push_len:
[codex:1293828]         pc += 1 + push_len[op]
[codex:1293828]     else:
[codex:1293828]         pc += 1
[codex:1293828] PY" in /tmp/codex-multi-t61lugcv succeeded in 29ms:
[codex:1293828] 11a8: PUSH1 0xe0
[codex:1293828] 11aa: SHL
[codex:1293828] 11ab: DUP2
[codex:1293828] 11ac: MSTORE
[codex:1293828] 11ad: DUP1
[codex:1293828] 11ae: PUSH2 0x11b9
[codex:1293828] 11b1: PUSH1 0x04
[codex:1293828] 11b3: DUP3
[codex:1293828] 11b4: ADD
[codex:1293828] 11b5: PUSH2 0x044f
[codex:1293828] 11b8: JUMP
[codex:1293828] 11b9: JUMPDEST
[codex:1293828] 11ba: SUB
[codex:1293828] 11bb: SWAP1
[codex:1293828] 11bc: REVERT
[codex:1293828] 11bd: JUMPDEST
[codex:1293828] 11be: POP
[codex:1293828] 11bf: POP
[codex:1293828] 11c0: POP
[codex:1293828] 11c1: POP
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Analyzing selfdestruct position relative to metadata**
[codex:1293828] exec
[codex:1293828] /bin/bash -lc "python - <<'PY'
[codex:1293828] import re
[codex:1293828] from pathlib import Path
[codex:1293828] hexdata = Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1293828] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1293828] code = bytes.fromhex(m.group(1))
[codex:1293828] invalids = [i for i,b in enumerate(code) if b==0xfe]
[codex:1293828] selfdes = [i for i,b in enumerate(code) if b==0xff]
[codex:1293828] print('invalid positions', invalids[:10], 'count', len(invalids))
[codex:1293828] print('selfdes positions', selfdes)
[codex:1293828] # if metadata start is last 0xfe? Actually metadata starts at 0xa2.. after 0xfe per solc
[codex:1293828] if invalids:
[codex:1293828]     first_meta = invalids[-1]  # usually last invalid begins metadata? Actually metadata starts at last invalid before metadata bytes
[codex:1293828]     print('last invalid', first_meta)
[codex:1293828]     print('selfdes before last invalid', [i for i in selfdes if i < first_meta])
[codex:1293828] PY" in /tmp/codex-multi-t61lugcv succeeded in 26ms:
[codex:1293828] invalid positions [86, 720, 1308, 1910, 3044, 3431, 3730, 4083, 4553] count 9
[codex:1293828] selfdes positions [313, 499, 663, 664, 665, 666, 667, 668, 669, 670, 726, 727, 728, 729, 730, 731, 732, 733, 824, 825, 826, 827, 828, 829, 830, 831, 888, 889, 890, 891, 892, 893, 894, 895, 923, 924, 925, 926, 927, 928, 929, 930, 958, 959, 960, 961, 962, 963, 964, 965, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 3949, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4569]
[codex:1293828] last invalid 4553
[codex:1293828] selfdes before last invalid [313, 499, 663, 664, 665, 666, 667, 668, 669, 670, 726, 727, 728, 729, 730, 731, 732, 733, 824, 825, 826, 827, 828, 829, 830, 831, 888, 889, 890, 891, 892, 893, 894, 895, 923, 924, 925, 926, 927, 928, 929, 930, 958, 959, 960, 961, 962, 963, 964, 965, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 3949, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4224, 4225]
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Analyzing real opcode positions**
[codex:1293828] exec
[codex:1293828] /bin/bash -lc "python - <<'PY'
[codex:1293828] import re
[codex:1293828] from pathlib import Path
[codex:1293828] hexdata = Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1293828] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:1293828] code = bytes.fromhex(m.group(1))
[codex:1293828] push_len = {0x5f+i:i for i in range(1,33)}
[codex:1293828] pcs=[]
[codex:1293828] invalids=[]
[codex:1293828] selfdes=[]
[codex:1293828] call=[]
[codex:1293828] delegate=[]
[codex:1293828] static=[]
[codex:1293828] pc=0
[codex:1293828] while pc < len(code):
[codex:1293828]     op=code[pc]
[codex:1293828]     if op==0xfe:
[codex:1293828]         invalids.append(pc)
[codex:1293828]     if op==0xff:
[codex:1293828]         selfdes.append(pc)
[codex:1293828]     if op==0xf1:
[codex:1293828]         call.append(pc)
[codex:1293828]     if op==0xf4:
[codex:1293828]         delegate.append(pc)
[codex:1293828]     if op==0xfa:
[codex:1293828]         static.append(pc)
[codex:1293828]     # advance
[codex:1293828]     if op in push_len:
[codex:1293828]         pc += 1 + push_len[op]
[codex:1293828]     else:
[codex:1293828]         pc += 1
[codex:1293828] print('opcode positions:')
[codex:1293828] print('INVALID', invalids)
[codex:1293828] print('SELFDESTRUCT', selfdes)
[codex:1293828] print('CALL', call)
[codex:1293828] print('DELEGATECALL', delegate)
[codex:1293828] print('STATICCALL', static)
[codex:1293828] PY" in /tmp/codex-multi-t61lugcv succeeded in 29ms:
[codex:1293828] opcode positions:
[codex:1293828] INVALID [4553]
[codex:1293828] SELFDESTRUCT [4569]
[codex:1293828] CALL [3385]
[codex:1293828] DELEGATECALL []
[codex:1293828] STATICCALL [4362, 4592]
[codex:1293828] 
[codex:1293828] thinking
[codex:1293828] **Reviewing bytecode for exploits**
[codex:1293828] codex
[codex:1293828] {"no_findings":true,"summary":"No concrete exploitable profit path identified from the provided bytecode bundle; observable CALL/STATICCALL opcodes do not reveal a controllable value-transfer or upgrade path, and the only SELFDESTRUCT appears after the metadata INVALID sentinel.","findings":[]}
[codex:1293828] tokens used
[codex:1293828] 15,756
[codex:1293828] {"no_findings":true,"summary":"No concrete exploitable profit path identified from the provided bytecode bundle; observable CALL/STATICCALL opcodes do not reveal a controllable value-transfer or upgrade path, and the only SELFDESTRUCT appears after the metadata INVALID sentinel.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T01:58:04.180622+00:00",
        "returncode": 0
    },
    "summary": "No concrete exploitable profit path identified from the provided bytecode bundle; observable CALL/STATICCALL opcodes do not reveal a controllable value-transfer or upgrade path, and the only SELFDESTRUCT appears after the metadata INVALID sentinel.",
    "raw_final": {
        "summary": "No concrete exploitable profit path identified from the provided bytecode bundle; observable CALL/STATICCALL opcodes do not reveal a controllable value-transfer or upgrade path, and the only SELFDESTRUCT appears after the metadata INVALID sentinel.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
0
Total opcodes
2855
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x001d
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: PUSH2 0x05f5
00000013: JUMPI
00000014: PUSH2 0x001b
00000017: PUSH2 0x0e69
0000001a: JUMP
0000001b: JUMPDEST
0000001c: STOP
0000001d: JUMPDEST
0000001e: PUSH2 0x0027
00000021: PUSH0
00000022: CALLDATALOAD
00000023: PUSH2 0x0076
00000026: JUMP
00000027: JUMPDEST
00000028: DUP1
00000029: PUSH4 0x2f54bf6e
0000002e: EQ
0000002f: PUSH2 0x0071
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0x42cde4e8
00000039: EQ
0000003a: PUSH2 0x006c
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xa0ab9653
00000044: EQ
00000045: PUSH2 0x0067
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xaa5df9e2
0000004f: EQ
00000050: PUSH2 0x0062
00000053: JUMPI
00000054: PUSH4 0xaffed0e0
00000059: SUB
0000005a: PUSH2 0x000e
0000005d: JUMPI
0000005e: PUSH2 0x05c0
00000061: JUMP
00000062: JUMPDEST
00000063: PUSH2 0x057d
00000066: JUMP
00000067: JUMPDEST
00000068: PUSH2 0x0454
0000006b: JUMP
0000006c: JUMPDEST
0000006d: PUSH2 0x0244
00000070: JUMP
00000071: JUMPDEST
00000072: PUSH2 0x01a3
00000075: JUMP
00000076: JUMPDEST
00000077: PUSH1 0xe0
00000079: SHR
0000007a: SWAP1
0000007b: JUMP
0000007c: JUMPDEST
0000007d: PUSH1 0x40
0000007f: MLOAD
00000080: SWAP1
00000081: JUMP
00000082: JUMPDEST
00000083: PUSH0
00000084: DUP1
00000085: REVERT
00000086: JUMPDEST
00000087: PUSH0
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: PUSH0
0000008c: DUP1
0000008d: REVERT
0000008e: JUMPDEST
0000008f: PUSH1 0x01
00000091: DUP1
00000092: PUSH1 0xa0
00000094: SHL
00000095: SUB
00000096: AND
00000097: SWAP1
00000098: JUMP
00000099: JUMPDEST
0000009a: PUSH2 0x00a2
0000009d: SWAP1
0000009e: PUSH2 0x008e
000000a1: JUMP
000000a2: JUMPDEST
000000a3: SWAP1
000000a4: JUMP
000000a5: JUMPDEST
000000a6: PUSH2 0x00ae
000000a9: DUP2
000000aa: PUSH2 0x0099
000000ad: JUMP
000000ae: JUMPDEST
000000af: SUB
000000b0: PUSH2 0x00b5
000000b3: JUMPI
000000b4: JUMP
000000b5: JUMPDEST
000000b6: PUSH0
000000b7: DUP1
000000b8: REVERT
000000b9: JUMPDEST
000000ba: SWAP1
000000bb: POP
000000bc: CALLDATALOAD
000000bd: SWAP1
000000be: PUSH2 0x00c6
000000c1: DUP3
000000c2: PUSH2 0x00a5
000000c5: JUMP
000000c6: JUMPDEST
000000c7: JUMP
000000c8: JUMPDEST
000000c9: SWAP1
000000ca: PUSH1 0x20
000000cc: DUP3
000000cd: DUP3
000000ce: SUB
000000cf: SLT
000000d0: PUSH2 0x00e1
000000d3: JUMPI
000000d4: PUSH2 0x00de
000000d7: SWAP2
000000d8: PUSH0
000000d9: ADD
000000da: PUSH2 0x00b9
000000dd: JUMP
000000de: JUMPDEST
000000df: SWAP1
000000e0: JUMP
000000e1: JUMPDEST
000000e2: PUSH2 0x0086
000000e5: JUMP
000000e6: JUMPDEST
000000e7: SWAP1
000000e8: JUMP
000000e9: JUMPDEST
000000ea: PUSH2 0x00fd
000000ed: PUSH2 0x00f8
000000f0: PUSH2 0x0102
000000f3: SWAP3
000000f4: PUSH2 0x008e
000000f7: JUMP
000000f8: JUMPDEST
000000f9: PUSH2 0x00e6
000000fc: JUMP
000000fd: JUMPDEST
000000fe: PUSH2 0x008e
00000101: JUMP
00000102: JUMPDEST
00000103: SWAP1
00000104: JUMP
00000105: JUMPDEST
00000106: PUSH2 0x010e
00000109: SWAP1
0000010a: PUSH2 0x00e9
0000010d: JUMP
0000010e: JUMPDEST
0000010f: SWAP1
00000110: JUMP
00000111: JUMPDEST
00000112: PUSH2 0x011a
00000115: SWAP1
00000116: PUSH2 0x0105
00000119: JUMP
0000011a: JUMPDEST
0000011b: SWAP1
0000011c: JUMP
0000011d: JUMPDEST
0000011e: SWAP1
0000011f: PUSH2 0x0127
00000122: SWAP1
00000123: PUSH2 0x0111
00000126: JUMP
00000127: JUMPDEST
00000128: PUSH0
00000129: MSTORE
0000012a: PUSH1 0x20
0000012c: MSTORE
0000012d: PUSH1 0x40
0000012f: PUSH0
00000130: KECCAK256
00000131: SWAP1
00000132: JUMP
00000133: JUMPDEST
00000134: SHR
00000135: SWAP1
00000136: JUMP
00000137: JUMPDEST
00000138: PUSH1 0xff
0000013a: AND
0000013b: SWAP1
0000013c: JUMP
0000013d: JUMPDEST
0000013e: PUSH2 0x014d
00000141: SWAP1
00000142: PUSH1 0x08
00000144: PUSH2 0x0152
00000147: SWAP4
00000148: MUL
00000149: PUSH2 0x0133
0000014c: JUMP
0000014d: JUMPDEST
0000014e: PUSH2 0x0137
00000151: JUMP
00000152: JUMPDEST
00000153: SWAP1
00000154: JUMP
00000155: JUMPDEST
00000156: SWAP1
00000157: PUSH2 0x0160
0000015a: SWAP2
0000015b: SLOAD
0000015c: PUSH2 0x013d
0000015f: JUMP
00000160: JUMPDEST
00000161: SWAP1
00000162: JUMP
00000163: JUMPDEST
00000164: PUSH2 0x0179
00000167: SWAP1
00000168: PUSH2 0x0174
0000016b: PUSH1 0x02
0000016d: SWAP2
0000016e: PUSH0
0000016f: SWAP3
00000170: PUSH2 0x011d
00000173: JUMP
00000174: JUMPDEST
00000175: PUSH2 0x0155
00000178: JUMP
00000179: JUMPDEST
0000017a: SWAP1
0000017b: JUMP
0000017c: JUMPDEST
0000017d: ISZERO
0000017e: ISZERO
0000017f: SWAP1
00000180: JUMP
00000181: JUMPDEST
00000182: PUSH2 0x018a
00000185: SWAP1
00000186: PUSH2 0x017c
00000189: JUMP
0000018a: JUMPDEST
0000018b: SWAP1
0000018c: MSTORE
0000018d: JUMP
0000018e: JUMPDEST
0000018f: SWAP2
00000190: SWAP1
00000191: PUSH2 0x01a1
00000194: SWAP1
00000195: PUSH0
00000196: PUSH1 0x20
00000198: DUP6
00000199: ADD
0000019a: SWAP5
0000019b: ADD
0000019c: SWAP1
0000019d: PUSH2 0x0181
000001a0: JUMP
000001a1: JUMPDEST
000001a2: JUMP
000001a3: JUMPDEST
000001a4: CALLVALUE
000001a5: PUSH2 0x01d3
000001a8: JUMPI
000001a9: PUSH2 0x01cf
000001ac: PUSH2 0x01be
000001af: PUSH2 0x01b9
000001b2: CALLDATASIZE
000001b3: PUSH1 0x04
000001b5: PUSH2 0x00c8
000001b8: JUMP
000001b9: JUMPDEST
000001ba: PUSH2 0x0163
000001bd: JUMP
000001be: JUMPDEST
000001bf: PUSH2 0x01c6
000001c2: PUSH2 0x007c
000001c5: JUMP
000001c6: JUMPDEST
000001c7: SWAP2
000001c8: DUP3
000001c9: SWAP2
000001ca: DUP3
000001cb: PUSH2 0x018e
000001ce: JUMP
000001cf: JUMPDEST
000001d0: SUB
000001d1: SWAP1
000001d2: RETURN
000001d3: JUMPDEST
000001d4: PUSH2 0x0082
000001d7: JUMP
000001d8: JUMPDEST
000001d9: PUSH0
000001da: SWAP2
000001db: SUB
000001dc: SLT
000001dd: PUSH2 0x01e2
000001e0: JUMPI
000001e1: JUMP
000001e2: JUMPDEST
000001e3: PUSH2 0x0086
000001e6: JUMP
000001e7: JUMPDEST
000001e8: SWAP1
000001e9: JUMP
000001ea: JUMPDEST
000001eb: PUSH2 0x01fa
000001ee: SWAP1
000001ef: PUSH1 0x08
000001f1: PUSH2 0x01ff
000001f4: SWAP4
000001f5: MUL
000001f6: PUSH2 0x0133
000001f9: JUMP
000001fa: JUMPDEST
000001fb: PUSH2 0x01e7
000001fe: JUMP
000001ff: JUMPDEST
00000200: SWAP1
00000201: JUMP
00000202: JUMPDEST
00000203: SWAP1
00000204: PUSH2 0x020d
00000207: SWAP2
00000208: SLOAD
00000209: PUSH2 0x01ea
0000020c: JUMP
0000020d: JUMPDEST
0000020e: SWAP1
0000020f: JUMP
00000210: JUMPDEST
00000211: PUSH2 0x021c
00000214: PUSH1 0x01
00000216: PUSH0
00000217: SWAP1
00000218: PUSH2 0x0202
0000021b: JUMP
0000021c: JUMPDEST
0000021d: SWAP1
0000021e: JUMP
0000021f: JUMPDEST
00000220: SWAP1
00000221: JUMP
00000222: JUMPDEST
00000223: PUSH2 0x022b
00000226: SWAP1
00000227: PUSH2 0x021f
0000022a: JUMP
0000022b: JUMPDEST
0000022c: SWAP1
0000022d: MSTORE
0000022e: JUMP
0000022f: JUMPDEST
00000230: SWAP2
00000231: SWAP1
00000232: PUSH2 0x0242
00000235: SWAP1
00000236: PUSH0
00000237: PUSH1 0x20
00000239: DUP6
0000023a: ADD
0000023b: SWAP5
0000023c: ADD
0000023d: SWAP1
0000023e: PUSH2 0x0222
00000241: JUMP
00000242: JUMPDEST
00000243: JUMP
00000244: JUMPDEST
00000245: CALLVALUE
00000246: PUSH2 0x0274
00000249: JUMPI
0000024a: PUSH2 0x0254
0000024d: CALLDATASIZE
0000024e: PUSH1 0x04
00000250: PUSH2 0x01d8
00000253: JUMP
00000254: JUMPDEST
00000255: PUSH2 0x0270
00000258: PUSH2 0x025f
0000025b: PUSH2 0x0210
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH2 0x0267
00000263: PUSH2 0x007c
00000266: JUMP
00000267: JUMPDEST
00000268: SWAP2
00000269: DUP3
0000026a: SWAP2
0000026b: DUP3
0000026c: PUSH2 0x022f
0000026f: JUMP
00000270: JUMPDEST
00000271: SUB
00000272: SWAP1
00000273: RETURN
00000274: JUMPDEST
00000275: PUSH2 0x0082
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH0
0000027b: DUP1
0000027c: REVERT
0000027d: JUMPDEST
0000027e: PUSH0
0000027f: DUP1
00000280: REVERT
00000281: JUMPDEST
00000282: PUSH0
00000283: DUP1
00000284: REVERT
00000285: JUMPDEST
00000286: SWAP1
00000287: SWAP2
00000288: DUP3
00000289: PUSH1 0x1f
0000028b: DUP4
0000028c: ADD
0000028d: SLT
0000028e: ISZERO
0000028f: PUSH2 0x02bf
00000292: JUMPI
00000293: DUP2
00000294: CALLDATALOAD
00000295: SWAP2
00000296: PUSH8 0xffffffffffffffff
0000029f: DUP4
000002a0: GT
000002a1: PUSH2 0x02ba
000002a4: JUMPI
000002a5: PUSH1 0x20
000002a7: ADD
000002a8: SWAP3
000002a9: PUSH1 0x20
000002ab: DUP4
000002ac: MUL
000002ad: DUP5
000002ae: ADD
000002af: GT
000002b0: PUSH2 0x02b5
000002b3: JUMPI
000002b4: JUMP
000002b5: JUMPDEST
000002b6: PUSH2 0x0281
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH2 0x027d
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH2 0x0279
000002c3: JUMP
000002c4: JUMPDEST
000002c5: SWAP1
000002c6: SWAP2
000002c7: DUP3
000002c8: PUSH1 0x1f
000002ca: DUP4
000002cb: ADD
000002cc: SLT
000002cd: ISZERO
000002ce: PUSH2 0x02fe
000002d1: JUMPI
000002d2: DUP2
000002d3: CALLDATALOAD
000002d4: SWAP2
000002d5: PUSH8 0xffffffffffffffff
000002de: DUP4
000002df: GT
000002e0: PUSH2 0x02f9
000002e3: JUMPI
000002e4: PUSH1 0x20
000002e6: ADD
000002e7: SWAP3
000002e8: PUSH1 0x20
000002ea: DUP4
000002eb: MUL
000002ec: DUP5
000002ed: ADD
000002ee: GT
000002ef: PUSH2 0x02f4
000002f2: JUMPI
000002f3: JUMP
000002f4: JUMPDEST
000002f5: PUSH2 0x0281
000002f8: JUMP
000002f9: JUMPDEST
000002fa: PUSH2 0x027d
000002fd: JUMP
000002fe: JUMPDEST
000002ff: PUSH2 0x0279
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH2 0x030c
00000307: DUP2
00000308: PUSH2 0x021f
0000030b: JUMP
0000030c: JUMPDEST
0000030d: SUB
0000030e: PUSH2 0x0313
00000311: JUMPI
00000312: JUMP
00000313: JUMPDEST
00000314: PUSH0
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: SWAP1
00000319: POP
0000031a: CALLDATALOAD
0000031b: SWAP1
0000031c: PUSH2 0x0324
0000031f: DUP3
00000320: PUSH2 0x0303
00000323: JUMP
00000324: JUMPDEST
00000325: JUMP
00000326: JUMPDEST
00000327: SWAP1
00000328: SWAP2
00000329: DUP3
0000032a: PUSH1 0x1f
0000032c: DUP4
0000032d: ADD
0000032e: SLT
0000032f: ISZERO
00000330: PUSH2 0x0360
00000333: JUMPI
00000334: DUP2
00000335: CALLDATALOAD
00000336: SWAP2
00000337: PUSH8 0xffffffffffffffff
00000340: DUP4
00000341: GT
00000342: PUSH2 0x035b
00000345: JUMPI
00000346: PUSH1 0x20
00000348: ADD
00000349: SWAP3
0000034a: PUSH1 0x01
0000034c: DUP4
0000034d: MUL
0000034e: DUP5
0000034f: ADD
00000350: GT
00000351: PUSH2 0x0356
00000354: JUMPI
00000355: JUMP
00000356: JUMPDEST
00000357: PUSH2 0x0281
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH2 0x027d
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x0279
00000364: JUMP
00000365: JUMPDEST
00000366: SWAP1
00000367: SWAP2
00000368: PUSH2 0x0100
0000036b: DUP3
0000036c: DUP5
0000036d: SUB
0000036e: SLT
0000036f: PUSH2 0x044a
00000372: JUMPI
00000373: PUSH0
00000374: DUP3
00000375: ADD
00000376: CALLDATALOAD
00000377: PUSH8 0xffffffffffffffff
00000380: DUP2
00000381: GT
00000382: PUSH2 0x0445
00000385: JUMPI
00000386: DUP4
00000387: PUSH2 0x0391
0000038a: SWAP2
0000038b: DUP5
0000038c: ADD
0000038d: PUSH2 0x0285
00000390: JUMP
00000391: JUMPDEST
00000392: SWAP3
00000393: SWAP1
00000394: SWAP4
00000395: PUSH1 0x20
00000397: DUP3
00000398: ADD
00000399: CALLDATALOAD
0000039a: PUSH8 0xffffffffffffffff
000003a3: DUP2
000003a4: GT
000003a5: PUSH2 0x0440
000003a8: JUMPI
000003a9: DUP2
000003aa: PUSH2 0x03b4
000003ad: SWAP2
000003ae: DUP5
000003af: ADD
000003b0: PUSH2 0x02c4
000003b3: JUMP
000003b4: JUMPDEST
000003b5: SWAP3
000003b6: SWAP1
000003b7: SWAP4
000003b8: PUSH1 0x40
000003ba: DUP3
000003bb: ADD
000003bc: CALLDATALOAD
000003bd: PUSH8 0xffffffffffffffff
000003c6: DUP2
000003c7: GT
000003c8: PUSH2 0x043b
000003cb: JUMPI
000003cc: DUP4
000003cd: PUSH2 0x03d7
000003d0: SWAP2
000003d1: DUP5
000003d2: ADD
000003d3: PUSH2 0x02c4
000003d6: JUMP
000003d7: JUMPDEST
000003d8: SWAP3
000003d9: SWAP1
000003da: SWAP4
000003db: PUSH2 0x03e7
000003de: DUP2
000003df: PUSH1 0x60
000003e1: DUP5
000003e2: ADD
000003e3: PUSH2 0x00b9
000003e6: JUMP
000003e7: JUMPDEST
000003e8: SWAP3
000003e9: PUSH2 0x03f5
000003ec: DUP3
000003ed: PUSH1 0x80
000003ef: DUP6
000003f0: ADD
000003f1: PUSH2 0x0317
000003f4: JUMP
000003f5: JUMPDEST
000003f6: SWAP3
000003f7: PUSH1 0xa0
000003f9: DUP2
000003fa: ADD
000003fb: CALLDATALOAD
000003fc: SWAP2
000003fd: PUSH8 0xffffffffffffffff
00000406: DUP4
00000407: GT
00000408: PUSH2 0x0436
0000040b: JUMPI
0000040c: PUSH2 0x041a
0000040f: DUP5
00000410: PUSH2 0x0433
00000413: SWAP5
00000414: DUP5
00000415: ADD
00000416: PUSH2 0x0326
00000419: JUMP
0000041a: JUMPDEST
0000041b: SWAP4
0000041c: SWAP1
0000041d: SWAP5
0000041e: PUSH2 0x042a
00000421: DUP2
00000422: PUSH1 0xc0
00000424: DUP7
00000425: ADD
00000426: PUSH2 0x00b9
00000429: JUMP
0000042a: JUMPDEST
0000042b: SWAP4
0000042c: PUSH1 0xe0
0000042e: ADD
0000042f: PUSH2 0x0317
00000432: JUMP
00000433: JUMPDEST
00000434: SWAP1
00000435: JUMP
00000436: JUMPDEST
00000437: PUSH2 0x008a
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH2 0x008a
0000043f: JUMP
00000440: JUMPDEST
00000441: PUSH2 0x008a
00000444: JUMP
00000445: JUMPDEST
00000446: PUSH2 0x008a
00000449: JUMP
0000044a: JUMPDEST
0000044b: PUSH2 0x0086
0000044e: JUMP
0000044f: JUMPDEST
00000450: PUSH0
00000451: ADD
00000452: SWAP1
00000453: JUMP
00000454: JUMPDEST
00000455: CALLVALUE
00000456: PUSH2 0x0492
00000459: JUMPI
0000045a: PUSH2 0x047c
0000045d: PUSH2 0x0467
00000460: CALLDATASIZE
00000461: PUSH1 0x04
00000463: PUSH2 0x0365
00000466: JUMP
00000467: JUMPDEST
00000468: SWAP11
00000469: SWAP10
0000046a: SWAP1
0000046b: SWAP10
0000046c: SWAP9
0000046d: SWAP2
0000046e: SWAP9
0000046f: SWAP8
00000470: SWAP3
00000471: SWAP8
00000472: SWAP7
00000473: SWAP4
00000474: SWAP7
00000475: SWAP6
00000476: SWAP5
00000477: SWAP6
00000478: PUSH2 0x0b3e
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH2 0x0484
00000480: PUSH2 0x007c
00000483: JUMP
00000484: JUMPDEST
00000485: DUP1
00000486: PUSH2 0x048e
00000489: DUP2
0000048a: PUSH2 0x044f
0000048d: JUMP
0000048e: JUMPDEST
0000048f: SUB
00000490: SWAP1
00000491: RETURN
00000492: JUMPDEST
00000493: PUSH2 0x0082
00000496: JUMP
00000497: JUMPDEST
00000498: SWAP1
00000499: PUSH1 0x20
0000049b: DUP3
0000049c: DUP3
0000049d: SUB
0000049e: SLT
0000049f: PUSH2 0x04b0
000004a2: JUMPI
000004a3: PUSH2 0x04ad
000004a6: SWAP2
000004a7: PUSH0
000004a8: ADD
000004a9: PUSH2 0x0317
000004ac: JUMP
000004ad: JUMPDEST
000004ae: SWAP1
000004af: JUMP
000004b0: JUMPDEST
000004b1: PUSH2 0x0086
000004b4: JUMP
000004b5: JUMPDEST
000004b6: PUSH4 0x4e487b71
000004bb: PUSH1 0xe0
000004bd: SHL
000004be: PUSH0
000004bf: MSTORE
000004c0: PUSH1 0x32
000004c2: PUSH1 0x04
000004c4: MSTORE
000004c5: PUSH1 0x24
000004c7: PUSH0
000004c8: REVERT
000004c9: JUMPDEST
000004ca: SLOAD
000004cb: SWAP1
000004cc: JUMP
000004cd: JUMPDEST
000004ce: PUSH0
000004cf: MSTORE
000004d0: PUSH1 0x20
000004d2: PUSH0
000004d3: KECCAK256
000004d4: SWAP1
000004d5: JUMP
000004d6: JUMPDEST
000004d7: PUSH2 0x04df
000004da: DUP2
000004db: PUSH2 0x04c9
000004de: JUMP
000004df: JUMPDEST
000004e0: DUP3
000004e1: LT
000004e2: ISZERO
000004e3: PUSH2 0x04f9
000004e6: JUMPI
000004e7: PUSH2 0x04f1
000004ea: PUSH1 0x01
000004ec: SWAP2
000004ed: PUSH2 0x04cd
000004f0: JUMP
000004f1: JUMPDEST
000004f2: SWAP2
000004f3: MUL
000004f4: ADD
000004f5: SWAP1
000004f6: PUSH0
000004f7: SWAP1
000004f8: JUMP
000004f9: JUMPDEST
000004fa: PUSH2 0x04b5
000004fd: JUMP
000004fe: JUMPDEST
000004ff: PUSH1 0x01
00000501: DUP1
00000502: PUSH1 0xa0
00000504: SHL
00000505: SUB
00000506: AND
00000507: SWAP1
00000508: JUMP
00000509: JUMPDEST
0000050a: PUSH2 0x0519
0000050d: SWAP1
0000050e: PUSH1 0x08
00000510: PUSH2 0x051e
00000513: SWAP4
00000514: MUL
00000515: PUSH2 0x0133
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH2 0x04fe
0000051d: JUMP
0000051e: JUMPDEST
0000051f: SWAP1
00000520: JUMP
00000521: JUMPDEST
00000522: SWAP1
00000523: PUSH2 0x052c
00000526: SWAP2
00000527: SLOAD
00000528: PUSH2 0x0509
0000052b: JUMP
0000052c: JUMPDEST
0000052d: SWAP1
0000052e: JUMP
0000052f: JUMPDEST
00000530: PUSH1 0x03
00000532: PUSH2 0x053a
00000535: DUP2
00000536: PUSH2 0x04c9
00000539: JUMP
0000053a: JUMPDEST
0000053b: DUP3
0000053c: LT
0000053d: ISZERO
0000053e: PUSH2 0x0557
00000541: JUMPI
00000542: PUSH2 0x0554
00000545: SWAP2
00000546: PUSH2 0x054e
00000549: SWAP2
0000054a: PUSH2 0x04d6
0000054d: JUMP
0000054e: JUMPDEST
0000054f: SWAP1
00000550: PUSH2 0x0521
00000553: JUMP
00000554: JUMPDEST
00000555: SWAP1
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH0
00000559: DUP1
0000055a: REVERT
0000055b: JUMPDEST
0000055c: PUSH2 0x0564
0000055f: SWAP1
00000560: PUSH2 0x0099
00000563: JUMP
00000564: JUMPDEST
00000565: SWAP1
00000566: MSTORE
00000567: JUMP
00000568: JUMPDEST
00000569: SWAP2
0000056a: SWAP1
0000056b: PUSH2 0x057b
0000056e: SWAP1
0000056f: PUSH0
00000570: PUSH1 0x20
00000572: DUP6
00000573: ADD
00000574: SWAP5
00000575: ADD
00000576: SWAP1
00000577: PUSH2 0x055b
0000057a: JUMP
0000057b: JUMPDEST
0000057c: JUMP
0000057d: JUMPDEST
0000057e: CALLVALUE
0000057f: PUSH2 0x05ad
00000582: JUMPI
00000583: PUSH2 0x05a9
00000586: PUSH2 0x0598
00000589: PUSH2 0x0593
0000058c: CALLDATASIZE
0000058d: PUSH1 0x04
0000058f: PUSH2 0x0497
00000592: JUMP
00000593: JUMPDEST
00000594: PUSH2 0x052f
00000597: JUMP
00000598: JUMPDEST
00000599: PUSH2 0x05a0
0000059c: PUSH2 0x007c
0000059f: JUMP
000005a0: JUMPDEST
000005a1: SWAP2
000005a2: DUP3
000005a3: SWAP2
000005a4: DUP3
000005a5: PUSH2 0x0568
000005a8: JUMP
000005a9: JUMPDEST
000005aa: SUB
000005ab: SWAP1
000005ac: RETURN
000005ad: JUMPDEST
000005ae: PUSH2 0x0082
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH2 0x05bd
000005b6: PUSH0
000005b7: PUSH0
000005b8: SWAP1
000005b9: PUSH2 0x0202
000005bc: JUMP
000005bd: JUMPDEST
000005be: SWAP1
000005bf: JUMP
000005c0: JUMPDEST
000005c1: CALLVALUE
000005c2: PUSH2 0x05f0
000005c5: JUMPI
000005c6: PUSH2 0x05d0
000005c9: CALLDATASIZE
000005ca: PUSH1 0x04
000005cc: PUSH2 0x01d8
000005cf: JUMP
000005d0: JUMPDEST
000005d1: PUSH2 0x05ec
000005d4: PUSH2 0x05db
000005d7: PUSH2 0x05b2
000005da: JUMP
000005db: JUMPDEST
000005dc: PUSH2 0x05e3
000005df: PUSH2 0x007c
000005e2: JUMP
000005e3: JUMPDEST
000005e4: SWAP2
000005e5: DUP3
000005e6: SWAP2
000005e7: DUP3
000005e8: PUSH2 0x022f
000005eb: JUMP
000005ec: JUMPDEST
000005ed: SUB
000005ee: SWAP1
000005ef: RETURN
000005f0: JUMPDEST
000005f1: PUSH2 0x0082
000005f4: JUMP
000005f5: JUMPDEST
000005f6: PUSH0
000005f7: DUP1
000005f8: REVERT
000005f9: JUMPDEST
000005fa: POP
000005fb: SWAP1
000005fc: JUMP
000005fd: JUMPDEST
000005fe: PUSH0
000005ff: SHR
00000600: SWAP1
00000601: JUMP
00000602: JUMPDEST
00000603: PUSH2 0x060e
00000606: PUSH2 0x0613
00000609: SWAP2
0000060a: PUSH2 0x05fd
0000060d: JUMP
0000060e: JUMPDEST
0000060f: PUSH2 0x01e7
00000612: JUMP
00000613: JUMPDEST
00000614: SWAP1
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH2 0x0620
0000061a: SWAP1
0000061b: SLOAD
0000061c: PUSH2 0x0602
0000061f: JUMP
00000620: JUMPDEST
00000621: SWAP1
00000622: JUMP
00000623: JUMPDEST
00000624: POP
00000625: SWAP1
00000626: JUMP
00000627: JUMPDEST
00000628: SWAP1
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH2 0x063e
0000062e: PUSH2 0x0639
00000631: PUSH2 0x0643
00000634: SWAP3
00000635: PUSH2 0x0627
00000638: JUMP
00000639: JUMPDEST
0000063a: PUSH2 0x00e6
0000063d: JUMP
0000063e: JUMPDEST
0000063f: PUSH2 0x008e
00000642: JUMP
00000643: JUMPDEST
00000644: SWAP1
00000645: JUMP
00000646: JUMPDEST
00000647: PUSH2 0x064f
0000064a: SWAP1
0000064b: PUSH2 0x062a
0000064e: JUMP
0000064f: JUMPDEST
00000650: SWAP1
00000651: JUMP
00000652: JUMPDEST
00000653: SWAP1
00000654: JUMP
00000655: JUMPDEST
00000656: SWAP1
00000657: JUMP
00000658: JUMPDEST
00000659: PUSH0
0000065a: SHL
0000065b: SWAP1
0000065c: JUMP
0000065d: JUMPDEST
0000065e: PUSH2 0x0671
00000661: PUSH2 0x066c
00000664: PUSH2 0x0676
00000667: SWAP3
00000668: PUSH2 0x0652
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH2 0x0658
00000670: JUMP
00000671: JUMPDEST
00000672: PUSH2 0x0655
00000675: JUMP
00000676: JUMPDEST
00000677: SWAP1
00000678: JUMP
00000679: JUMPDEST
0000067a: PUSH2 0x06a2
0000067d: PUSH32 0xd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472
0000069e: PUSH2 0x065d
000006a1: JUMP
000006a2: JUMPDEST
000006a3: SWAP1
000006a4: JUMP
000006a5: JUMPDEST
000006a6: SWAP1
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH2 0x06bc
000006ac: PUSH2 0x06b7
000006af: PUSH2 0x06c1
000006b2: SWAP3
000006b3: PUSH2 0x06a5
000006b6: JUMP
000006b7: JUMPDEST
000006b8: PUSH2 0x0658
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH2 0x0655
000006c0: JUMP
000006c1: JUMPDEST
000006c2: SWAP1
000006c3: JUMP
000006c4: JUMPDEST
000006c5: PUSH2 0x06ed
000006c8: PUSH32 0xb7a0bfa1b79f2443f4d73ebb9259cddbcd510b18be6fc4da7d1aa7b1786e73e6
000006e9: PUSH2 0x06a8
000006ec: JUMP
000006ed: JUMPDEST
000006ee: SWAP1
000006ef: JUMP
000006f0: JUMPDEST
000006f1: SWAP1
000006f2: JUMP
000006f3: JUMPDEST
000006f4: PUSH2 0x0707
000006f7: PUSH2 0x0702
000006fa: PUSH2 0x070c
000006fd: SWAP3
000006fe: PUSH2 0x06f0
00000701: JUMP
00000702: JUMPDEST
00000703: PUSH2 0x0658
00000706: JUMP
00000707: JUMPDEST
00000708: PUSH2 0x0655
0000070b: JUMP
0000070c: JUMPDEST
0000070d: SWAP1
0000070e: JUMP
0000070f: JUMPDEST
00000710: PUSH2 0x0738
00000713: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00000734: PUSH2 0x06f3
00000737: JUMP
00000738: JUMPDEST
00000739: SWAP1
0000073a: JUMP
0000073b: JUMPDEST
0000073c: PUSH2 0x0744
0000073f: SWAP1
00000740: PUSH2 0x0105
00000743: JUMP
00000744: JUMPDEST
00000745: SWAP1
00000746: JUMP
00000747: JUMPDEST
00000748: SWAP1
00000749: JUMP
0000074a: JUMPDEST
0000074b: PUSH2 0x075e
0000074e: PUSH2 0x0759
00000751: PUSH2 0x0763
00000754: SWAP3
00000755: PUSH2 0x0747
00000758: JUMP
00000759: JUMPDEST
0000075a: PUSH2 0x0658
0000075d: JUMP
0000075e: JUMPDEST
0000075f: PUSH2 0x0655
00000762: JUMP
00000763: JUMPDEST
00000764: SWAP1
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH2 0x078f
0000076a: PUSH32 0x251543af6a222378665a76fe38dbceae4871a070b7fdaf5c6c30cf758dc33cc0
0000078b: PUSH2 0x074a
0000078e: JUMP
0000078f: JUMPDEST
00000790: SWAP1
00000791: JUMP
00000792: JUMPDEST
00000793: PUSH2 0x079b
00000796: SWAP1
00000797: PUSH2 0x0655
0000079a: JUMP
0000079b: JUMPDEST
0000079c: SWAP1
0000079d: MSTORE
0000079e: JUMP
0000079f: JUMPDEST
000007a0: SWAP2
000007a1: SWAP5
000007a2: PUSH2 0x07e7
000007a5: PUSH2 0x07f1
000007a8: SWAP3
000007a9: SWAP9
000007aa: SWAP8
000007ab: SWAP6
000007ac: PUSH2 0x07dd
000007af: PUSH1 0xa0
000007b1: SWAP7
000007b2: PUSH2 0x07d3
000007b5: PUSH2 0x07f8
000007b8: SWAP11
000007b9: PUSH2 0x07c9
000007bc: PUSH1 0xc0
000007be: DUP11
000007bf: ADD
000007c0: SWAP15
000007c1: PUSH0
000007c2: DUP12
000007c3: ADD
000007c4: SWAP1
000007c5: PUSH2 0x0792
000007c8: JUMP
000007c9: JUMPDEST
000007ca: PUSH1 0x20
000007cc: DUP10
000007cd: ADD
000007ce: SWAP1
000007cf: PUSH2 0x0792
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH1 0x40
000007d6: DUP8
000007d7: ADD
000007d8: SWAP1
000007d9: PUSH2 0x0792
000007dc: JUMP
000007dd: JUMPDEST
000007de: PUSH1 0x60
000007e0: DUP6
000007e1: ADD
000007e2: SWAP1
000007e3: PUSH2 0x0222
000007e6: JUMP
000007e7: JUMPDEST
000007e8: PUSH1 0x80
000007ea: DUP4
000007eb: ADD
000007ec: SWAP1
000007ed: PUSH2 0x055b
000007f0: JUMP
000007f1: JUMPDEST
000007f2: ADD
000007f3: SWAP1
000007f4: PUSH2 0x0792
000007f7: JUMP
000007f8: JUMPDEST
000007f9: JUMP
000007fa: JUMPDEST
000007fb: PUSH1 0x1f
000007fd: DUP1
000007fe: NOT
000007ff: SWAP2
00000800: ADD
00000801: AND
00000802: SWAP1
00000803: JUMP
00000804: JUMPDEST
00000805: PUSH4 0x4e487b71
0000080a: PUSH1 0xe0
0000080c: SHL
0000080d: PUSH0
0000080e: MSTORE
0000080f: PUSH1 0x41
00000811: PUSH1 0x04
00000813: MSTORE
00000814: PUSH1 0x24
00000816: PUSH0
00000817: REVERT
00000818: JUMPDEST
00000819: SWAP1
0000081a: PUSH2 0x0822
0000081d: SWAP1
0000081e: PUSH2 0x07fa
00000821: JUMP
00000822: JUMPDEST
00000823: DUP2
00000824: ADD
00000825: SWAP1
00000826: DUP2
00000827: LT
00000828: PUSH8 0xffffffffffffffff
00000831: DUP3
00000832: GT
00000833: OR
00000834: PUSH2 0x083c
00000837: JUMPI
00000838: PUSH1 0x40
0000083a: MSTORE
0000083b: JUMP
0000083c: JUMPDEST
0000083d: PUSH2 0x0804
00000840: JUMP
00000841: JUMPDEST
00000842: PUSH1 0x20
00000844: ADD
00000845: SWAP1
00000846: JUMP
00000847: JUMPDEST
00000848: MLOAD
00000849: SWAP1
0000084a: JUMP
0000084b: JUMPDEST
0000084c: SWAP1
0000084d: JUMP
0000084e: JUMPDEST
0000084f: PUSH2 0x0862
00000852: PUSH2 0x085d
00000855: PUSH2 0x0867
00000858: SWAP3
00000859: PUSH2 0x084b
0000085c: JUMP
0000085d: JUMPDEST
0000085e: PUSH2 0x0658
00000861: JUMP
00000862: JUMPDEST
00000863: PUSH2 0x0655
00000866: JUMP
00000867: JUMPDEST
00000868: SWAP1
00000869: JUMP
0000086a: JUMPDEST
0000086b: PUSH2 0x0893
0000086e: PUSH32 0x3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d7
0000088f: PUSH2 0x084e
00000892: JUMP
00000893: JUMPDEST
00000894: SWAP1
00000895: JUMP
00000896: JUMPDEST
00000897: PUSH0
00000898: DUP1
00000899: REVERT
0000089a: JUMPDEST
0000089b: SWAP1
0000089c: PUSH2 0x08ad
0000089f: PUSH2 0x08a6
000008a2: PUSH2 0x007c
000008a5: JUMP
000008a6: JUMPDEST
000008a7: SWAP3
000008a8: DUP4
000008a9: PUSH2 0x0818
000008ac: JUMP
000008ad: JUMPDEST
000008ae: JUMP
000008af: JUMPDEST
000008b0: PUSH8 0xffffffffffffffff
000008b9: DUP2
000008ba: GT
000008bb: PUSH2 0x08cd
000008be: JUMPI
000008bf: PUSH2 0x08c9
000008c2: PUSH1 0x20
000008c4: SWAP2
000008c5: PUSH2 0x07fa
000008c8: JUMP
000008c9: JUMPDEST
000008ca: ADD
000008cb: SWAP1
000008cc: JUMP
000008cd: JUMPDEST
000008ce: PUSH2 0x0804
000008d1: JUMP
000008d2: JUMPDEST
000008d3: SWAP1
000008d4: DUP3
000008d5: PUSH0
000008d6: SWAP4
000008d7: SWAP3
000008d8: DUP3
000008d9: CALLDATACOPY
000008da: ADD
000008db: MSTORE
000008dc: JUMP
000008dd: JUMPDEST
000008de: SWAP1
000008df: SWAP3
000008e0: SWAP2
000008e1: SWAP3
000008e2: PUSH2 0x08f2
000008e5: PUSH2 0x08ed
000008e8: DUP3
000008e9: PUSH2 0x08af
000008ec: JUMP
000008ed: JUMPDEST
000008ee: PUSH2 0x089a
000008f1: JUMP
000008f2: JUMPDEST
000008f3: SWAP4
000008f4: DUP2
000008f5: DUP6
000008f6: MSTORE
000008f7: PUSH1 0x20
000008f9: DUP6
000008fa: ADD
000008fb: SWAP1
000008fc: DUP3
000008fd: DUP5
000008fe: ADD
000008ff: GT
00000900: PUSH2 0x090e
00000903: JUMPI
00000904: PUSH2 0x090c
00000907: SWAP3
00000908: PUSH2 0x08d2
0000090b: JUMP
0000090c: JUMPDEST
0000090d: JUMP
0000090e: JUMPDEST
0000090f: PUSH2 0x0896
00000912: JUMP
00000913: JUMPDEST
00000914: PUSH2 0x091e
00000917: SWAP2
00000918: CALLDATASIZE
00000919: SWAP2
0000091a: PUSH2 0x08dd
0000091d: JUMP
0000091e: JUMPDEST
0000091f: SWAP1
00000920: JUMP
00000921: JUMPDEST
00000922: SWAP5
00000923: SWAP3
00000924: SWAP1
00000925: SWAP8
00000926: SWAP7
00000927: SWAP6
00000928: SWAP4
00000929: SWAP2
0000092a: PUSH1 0xe0
0000092c: DUP7
0000092d: ADD
0000092e: SWAP9
0000092f: PUSH0
00000930: DUP8
00000931: ADD
00000932: PUSH2 0x093a
00000935: SWAP2
00000936: PUSH2 0x0792
00000939: JUMP
0000093a: JUMPDEST
0000093b: PUSH1 0x20
0000093d: DUP7
0000093e: ADD
0000093f: PUSH2 0x0947
00000942: SWAP2
00000943: PUSH2 0x055b
00000946: JUMP
00000947: JUMPDEST
00000948: PUSH1 0x40
0000094a: DUP6
0000094b: ADD
0000094c: PUSH2 0x0954
0000094f: SWAP2
00000950: PUSH2 0x0222
00000953: JUMP
00000954: JUMPDEST
00000955: PUSH1 0x60
00000957: DUP5
00000958: ADD
00000959: PUSH2 0x0961
0000095c: SWAP2
0000095d: PUSH2 0x0792
00000960: JUMP
00000961: JUMPDEST
00000962: PUSH1 0x80
00000964: DUP4
00000965: ADD
00000966: PUSH2 0x096e
00000969: SWAP2
0000096a: PUSH2 0x0222
0000096d: JUMP
0000096e: JUMPDEST
0000096f: PUSH1 0xa0
00000971: DUP3
00000972: ADD
00000973: PUSH2 0x097b
00000976: SWAP2
00000977: PUSH2 0x055b
0000097a: JUMP
0000097b: JUMPDEST
0000097c: PUSH1 0xc0
0000097e: ADD
0000097f: PUSH2 0x0987
00000982: SWAP2
00000983: PUSH2 0x0222
00000986: JUMP
00000987: JUMPDEST
00000988: JUMP
00000989: JUMPDEST
0000098a: SWAP1
0000098b: POP
0000098c: SWAP1
0000098d: JUMP
0000098e: JUMPDEST
0000098f: PUSH0
00000990: PUSH2 0x1901
00000993: PUSH1 0xf0
00000995: SHL
00000996: SWAP2
00000997: ADD
00000998: MSTORE
00000999: JUMP
0000099a: JUMPDEST
0000099b: PUSH2 0x09a6
0000099e: PUSH1 0x02
000009a0: DUP1
000009a1: SWAP3
000009a2: PUSH2 0x0989
000009a5: JUMP
000009a6: JUMPDEST
000009a7: PUSH2 0x09af
000009aa: DUP2
000009ab: PUSH2 0x098e
000009ae: JUMP
000009af: JUMPDEST
000009b0: ADD
000009b1: SWAP1
000009b2: JUMP
000009b3: JUMPDEST
000009b4: SWAP1
000009b5: JUMP
000009b6: JUMPDEST
000009b7: PUSH2 0x09c2
000009ba: PUSH2 0x09c7
000009bd: SWAP2
000009be: PUSH2 0x0655
000009c1: JUMP
000009c2: JUMPDEST
000009c3: PUSH2 0x09b3
000009c6: JUMP
000009c7: JUMPDEST
000009c8: SWAP1
000009c9: MSTORE
000009ca: JUMP
000009cb: JUMPDEST
000009cc: PUSH1 0x20
000009ce: DUP1
000009cf: SWAP4
000009d0: SWAP3
000009d1: PUSH2 0x09e6
000009d4: PUSH2 0x09df
000009d7: PUSH2 0x09ee
000009da: SWAP5
000009db: PUSH2 0x099a
000009de: JUMP
000009df: JUMPDEST
000009e0: DUP1
000009e1: SWAP3
000009e2: PUSH2 0x09b6
000009e5: JUMP
000009e6: JUMPDEST
000009e7: ADD
000009e8: DUP1
000009e9: SWAP3
000009ea: PUSH2 0x09b6
000009ed: JUMP
000009ee: JUMPDEST
000009ef: ADD
000009f0: SWAP1
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH4 0x4e487b71
000009f8: PUSH1 0xe0
000009fa: SHL
000009fb: PUSH0
000009fc: MSTORE
000009fd: PUSH1 0x11
000009ff: PUSH1 0x04
00000a01: MSTORE
00000a02: PUSH1 0x24
00000a04: PUSH0
00000a05: REVERT
00000a06: JUMPDEST
00000a07: PUSH2 0x0a0f
00000a0a: SWAP1
00000a0b: PUSH2 0x021f
00000a0e: JUMP
00000a0f: JUMPDEST
00000a10: PUSH0
00000a11: NOT
00000a12: DUP2
00000a13: EQ
00000a14: PUSH2 0x0a1d
00000a17: JUMPI
00000a18: PUSH1 0x01
00000a1a: ADD
00000a1b: SWAP1
00000a1c: JUMP
00000a1d: JUMPDEST
00000a1e: PUSH2 0x09f2
00000a21: JUMP
00000a22: JUMPDEST
00000a23: SWAP1
00000a24: PUSH2 0x0a2e
00000a27: PUSH0
00000a28: NOT
00000a29: SWAP2
00000a2a: PUSH2 0x0658
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: SWAP2
00000a30: DUP2
00000a31: NOT
00000a32: AND
00000a33: SWAP2
00000a34: AND
00000a35: OR
00000a36: SWAP1
00000a37: JUMP
00000a38: JUMPDEST
00000a39: PUSH2 0x0a4c
00000a3c: PUSH2 0x0a47
00000a3f: PUSH2 0x0a51
00000a42: SWAP3
00000a43: PUSH2 0x021f
00000a46: JUMP
00000a47: JUMPDEST
00000a48: PUSH2 0x00e6
00000a4b: JUMP
00000a4c: JUMPDEST
00000a4d: PUSH2 0x021f
00000a50: JUMP
00000a51: JUMPDEST
00000a52: SWAP1
00000a53: JUMP
00000a54: JUMPDEST
00000a55: SWAP1
00000a56: JUMP
00000a57: JUMPDEST
00000a58: SWAP1
00000a59: PUSH2 0x0a6c
00000a5c: PUSH2 0x0a67
00000a5f: PUSH2 0x0a73
00000a62: SWAP3
00000a63: PUSH2 0x0a38
00000a66: JUMP
00000a67: JUMPDEST
00000a68: PUSH2 0x0a54
00000a6b: JUMP
00000a6c: JUMPDEST
00000a6d: DUP3
00000a6e: SLOAD
00000a6f: PUSH2 0x0a22
00000a72: JUMP
00000a73: JUMPDEST
00000a74: SWAP1
00000a75: SSTORE
00000a76: JUMP
00000a77: JUMPDEST
00000a78: SWAP1
00000a79: POP
00000a7a: SWAP1
00000a7b: JUMP
00000a7c: JUMPDEST
00000a7d: SWAP1
00000a7e: SWAP2
00000a7f: DUP3
00000a80: PUSH2 0x0a8c
00000a83: DUP2
00000a84: PUSH2 0x0a93
00000a87: SWAP4
00000a88: PUSH2 0x0a77
00000a8b: JUMP
00000a8c: JUMPDEST
00000a8d: DUP1
00000a8e: SWAP4
00000a8f: PUSH2 0x08d2
00000a92: JUMP
00000a93: JUMPDEST
00000a94: ADD
00000a95: SWAP1
00000a96: JUMP
00000a97: JUMPDEST
00000a98: SWAP1
00000a99: SWAP2
00000a9a: PUSH2 0x0aa2
00000a9d: SWAP3
00000a9e: PUSH2 0x0a7c
00000aa1: JUMP
00000aa2: JUMPDEST
00000aa3: SWAP1
00000aa4: JUMP
00000aa5: JUMPDEST
00000aa6: SWAP1
00000aa7: PUSH2 0x0ab7
00000aaa: PUSH2 0x0ab2
00000aad: DUP4
00000aae: PUSH2 0x08af
00000ab1: JUMP
00000ab2: JUMPDEST
00000ab3: PUSH2 0x089a
00000ab6: JUMP
00000ab7: JUMPDEST
00000ab8: SWAP2
00000ab9: DUP3
00000aba: MSTORE
00000abb: JUMP
00000abc: JUMPDEST
00000abd: PUSH1 0x60
00000abf: SWAP1
00000ac0: JUMP
00000ac1: JUMPDEST
00000ac2: RETURNDATASIZE
00000ac3: PUSH0
00000ac4: EQ
00000ac5: PUSH2 0x0adc
00000ac8: JUMPI
00000ac9: PUSH2 0x0ad1
00000acc: RETURNDATASIZE
00000acd: PUSH2 0x0aa5
00000ad0: JUMP
00000ad1: JUMPDEST
00000ad2: SWAP1
00000ad3: RETURNDATASIZE
00000ad4: PUSH0
00000ad5: PUSH1 0x20
00000ad7: DUP5
00000ad8: ADD
00000ad9: RETURNDATACOPY
00000ada: JUMPDEST
00000adb: JUMP
00000adc: JUMPDEST
00000add: PUSH2 0x0ae4
00000ae0: PUSH2 0x0abc
00000ae3: JUMP
00000ae4: JUMPDEST
00000ae5: SWAP1
00000ae6: PUSH2 0x0ada
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: PUSH1 0x20
00000aed: SWAP2
00000aee: DUP2
00000aef: MSTORE
00000af0: ADD
00000af1: SWAP1
00000af2: JUMP
00000af3: JUMPDEST
00000af4: SWAP2
00000af5: SWAP1
00000af6: PUSH2 0x0b0d
00000af9: DUP2
00000afa: PUSH2 0x0b06
00000afd: DUP2
00000afe: PUSH2 0x0b12
00000b01: SWAP6
00000b02: PUSH2 0x0aea
00000b05: JUMP
00000b06: JUMPDEST
00000b07: DUP1
00000b08: SWAP6
00000b09: PUSH2 0x08d2
00000b0c: JUMP
00000b0d: JUMPDEST
00000b0e: PUSH2 0x07fa
00000b11: JUMP
00000b12: JUMPDEST
00000b13: ADD
00000b14: SWAP1
00000b15: JUMP
00000b16: JUMPDEST
00000b17: SWAP2
00000b18: PUSH2 0x0b3b
00000b1b: SWAP4
00000b1c: SWAP2
00000b1d: SWAP3
00000b1e: PUSH2 0x0b2e
00000b21: PUSH1 0x40
00000b23: DUP3
00000b24: ADD
00000b25: SWAP5
00000b26: PUSH0
00000b27: DUP4
00000b28: ADD
00000b29: SWAP1
00000b2a: PUSH2 0x0222
00000b2d: JUMP
00000b2e: JUMPDEST
00000b2f: PUSH1 0x20
00000b31: DUP2
00000b32: DUP6
00000b33: SUB
00000b34: SWAP2
00000b35: ADD
00000b36: MSTORE
00000b37: PUSH2 0x0af3
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: SWAP1
00000b3d: JUMP
00000b3e: JUMPDEST
00000b3f: SWAP2
00000b40: SWAP6
00000b41: SWAP9
00000b42: SWAP8
00000b43: SWAP11
00000b44: SWAP4
00000b45: SWAP10
00000b46: SWAP3
00000b47: SWAP7
00000b48: SWAP10
00000b49: SWAP5
00000b4a: SWAP1
00000b4b: SWAP5
00000b4c: PUSH2 0x0b56
00000b4f: DUP8
00000b50: DUP10
00000b51: SWAP1
00000b52: PUSH2 0x05f9
00000b55: JUMP
00000b56: JUMPDEST
00000b57: PUSH2 0x0b71
00000b5a: PUSH2 0x0b6b
00000b5d: PUSH2 0x0b66
00000b60: PUSH1 0x01
00000b62: PUSH2 0x0616
00000b65: JUMP
00000b66: JUMPDEST
00000b67: PUSH2 0x021f
00000b6a: JUMP
00000b6b: JUMPDEST
00000b6c: SWAP2
00000b6d: PUSH2 0x021f
00000b70: JUMP
00000b71: JUMPDEST
00000b72: LT
00000b73: PUSH2 0x0e4d
00000b76: JUMPI
00000b77: PUSH2 0x0b81
00000b7a: DUP8
00000b7b: DUP10
00000b7c: SWAP1
00000b7d: PUSH2 0x05f9
00000b80: JUMP
00000b81: JUMPDEST
00000b82: PUSH2 0x0b9d
00000b85: PUSH2 0x0b97
00000b88: PUSH2 0x0b92
00000b8b: DUP5
00000b8c: DUP7
00000b8d: SWAP1
00000b8e: PUSH2 0x05f9
00000b91: JUMP
00000b92: JUMPDEST
00000b93: PUSH2 0x021f
00000b96: JUMP
00000b97: JUMPDEST
00000b98: SWAP2
00000b99: PUSH2 0x021f
00000b9c: JUMP
00000b9d: JUMPDEST
00000b9e: EQ
00000b9f: ISZERO
00000ba0: DUP1
00000ba1: ISZERO
00000ba2: PUSH2 0x0e1e
00000ba5: JUMPI
00000ba6: JUMPDEST
00000ba7: PUSH2 0x0e02
00000baa: JUMPI
00000bab: DUP4
00000bac: PUSH2 0x0bbd
00000baf: PUSH2 0x0bb7
00000bb2: CALLER
00000bb3: PUSH2 0x0099
00000bb6: JUMP
00000bb7: JUMPDEST
00000bb8: SWAP2
00000bb9: PUSH2 0x0099
00000bbc: JUMP
00000bbd: JUMPDEST
00000bbe: EQ
00000bbf: ISZERO
00000bc0: DUP1
00000bc1: PUSH2 0x0ddf
00000bc4: JUMPI
00000bc5: JUMPDEST
00000bc6: PUSH2 0x0dc3
00000bc9: JUMPI
00000bca: PUSH2 0x0d48
00000bcd: SWAP8
00000bce: PUSH0
00000bcf: SWAP8
00000bd0: DUP9
00000bd1: SWAP8
00000bd2: DUP12
00000bd3: DUP16
00000bd4: DUP16
00000bd5: DUP16
00000bd6: PUSH2 0x0ca5
00000bd9: SWAP1
00000bda: PUSH2 0x0c96
00000bdd: PUSH2 0x0cdf
00000be0: SWAP5
00000be1: DUP15
00000be2: PUSH2 0x0cfe
00000be5: SWAP15
00000be6: PUSH2 0x0c62
00000be9: PUSH2 0x0bf0
00000bec: PUSH2 0x0679
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: PUSH2 0x0c3e
00000bf4: PUSH2 0x0bfb
00000bf7: PUSH2 0x06c4
00000bfa: JUMP
00000bfb: JUMPDEST
00000bfc: SWAP2
00000bfd: PUSH2 0x0c2f
00000c00: PUSH2 0x0c07
00000c03: PUSH2 0x070f
00000c06: JUMP
00000c07: JUMPDEST
00000c08: CHAINID
00000c09: PUSH2 0x0c11
00000c0c: ADDRESS
00000c0d: PUSH2 0x073b
00000c10: JUMP
00000c11: JUMPDEST
00000c12: SWAP1
00000c13: PUSH2 0x0c1a
00000c16: PUSH2 0x0766
00000c19: JUMP
00000c1a: JUMPDEST
00000c1b: SWAP3
00000c1c: PUSH2 0x0c23
00000c1f: PUSH2 0x007c
00000c22: JUMP
00000c23: JUMPDEST
00000c24: SWAP8
00000c25: DUP9
00000c26: SWAP7
00000c27: PUSH1 0x20
00000c29: DUP9
00000c2a: ADD
00000c2b: PUSH2 0x079f
00000c2e: JUMP
00000c2f: JUMPDEST
00000c30: PUSH1 0x20
00000c32: DUP3
00000c33: ADD
00000c34: DUP2
00000c35: SUB
00000c36: DUP3
00000c37: MSTORE
00000c38: SUB
00000c39: DUP3
00000c3a: PUSH2 0x0818
00000c3d: JUMP
00000c3e: JUMPDEST
00000c3f: PUSH2 0x0c50
00000c42: PUSH2 0x0c4a
00000c45: DUP3
00000c46: PUSH2 0x0847
00000c49: JUMP
00000c4a: JUMPDEST
00000c4b: SWAP2
00000c4c: PUSH2 0x0841
00000c4f: JUMP
00000c50: JUMPDEST
00000c51: KECCAK256
00000c52: SWAP10
00000c53: PUSH2 0x0c5a
00000c56: PUSH2 0x086a
00000c59: JUMP
00000c5a: JUMPDEST
00000c5b: SWAP7
00000c5c: SWAP9
00000c5d: SWAP5
00000c5e: PUSH2 0x0913
00000c61: JUMP
00000c62: JUMPDEST
00000c63: PUSH2 0x0c74
00000c66: PUSH2 0x0c6e
00000c69: DUP3
00000c6a: PUSH2 0x0847
00000c6d: JUMP
00000c6e: JUMPDEST
00000c6f: SWAP2
00000c70: PUSH2 0x0841
00000c73: JUMP
00000c74: JUMPDEST
00000c75: KECCAK256
00000c76: PUSH0
00000c77: PUSH2 0x0c7f
00000c7a: SWAP1
00000c7b: PUSH2 0x0616
00000c7e: JUMP
00000c7f: JUMPDEST
00000c80: SWAP2
00000c81: SWAP3
00000c82: SWAP4
00000c83: PUSH2 0x0c8a
00000c86: PUSH2 0x007c
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: SWAP9
00000c8c: DUP10
00000c8d: SWAP8
00000c8e: PUSH1 0x20
00000c90: DUP10
00000c91: ADD
00000c92: PUSH2 0x0921
00000c95: JUMP
00000c96: JUMPDEST
00000c97: PUSH1 0x20
00000c99: DUP3
00000c9a: ADD
00000c9b: DUP2
00000c9c: SUB
00000c9d: DUP3
00000c9e: MSTORE
00000c9f: SUB
00000ca0: DUP3
00000ca1: PUSH2 0x0818
00000ca4: JUMP
00000ca5: JUMPDEST
00000ca6: PUSH2 0x0cb7
00000ca9: PUSH2 0x0cb1
00000cac: DUP3
00000cad: PUSH2 0x0847
00000cb0: JUMP
00000cb1: JUMPDEST
00000cb2: SWAP2
00000cb3: PUSH2 0x0841
00000cb6: JUMP
00000cb7: JUMPDEST
00000cb8: KECCAK256
00000cb9: SWAP2
00000cba: PUSH2 0x0cd0
00000cbd: PUSH2 0x0cc4
00000cc0: PUSH2 0x007c
00000cc3: JUMP
00000cc4: JUMPDEST
00000cc5: SWAP4
00000cc6: DUP5
00000cc7: SWAP3
00000cc8: PUSH1 0x20
00000cca: DUP5
00000ccb: ADD
00000ccc: PUSH2 0x09cb
00000ccf: JUMP
00000cd0: JUMPDEST
00000cd1: PUSH1 0x20
00000cd3: DUP3
00000cd4: ADD
00000cd5: DUP2
00000cd6: SUB
00000cd7: DUP3
00000cd8: MSTORE
00000cd9: SUB
00000cda: DUP3
00000cdb: PUSH2 0x0818
00000cde: JUMP
00000cdf: JUMPDEST
00000ce0: PUSH2 0x0cf1
00000ce3: PUSH2 0x0ceb
00000ce6: DUP3
00000ce7: PUSH2 0x0847
00000cea: JUMP
00000ceb: JUMPDEST
00000cec: SWAP2
00000ced: PUSH2 0x0841
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: KECCAK256
00000cf3: SWAP6
00000cf4: SWAP1
00000cf5: SWAP2
00000cf6: SWAP3
00000cf7: SWAP4
00000cf8: SWAP5
00000cf9: SWAP6
00000cfa: PUSH2 0x100e
00000cfd: JUMP
00000cfe: JUMPDEST
00000cff: PUSH2 0x0d18
00000d02: PUSH2 0x0d12
00000d05: PUSH2 0x0d0d
00000d08: DUP5
00000d09: PUSH2 0x0616
00000d0c: JUMP
00000d0d: JUMPDEST
00000d0e: PUSH2 0x0a06
00000d11: JUMP
00000d12: JUMPDEST
00000d13: DUP4
00000d14: PUSH2 0x0a57
00000d17: JUMP
00000d18: JUMPDEST
00000d19: DUP6
00000d1a: SWAP1
00000d1b: DUP8
00000d1c: SWAP1
00000d1d: SWAP2
00000d1e: SWAP1
00000d1f: DUP10
00000d20: SWAP2
00000d21: DUP8
00000d22: SWAP3
00000d23: PUSH2 0x0d36
00000d26: PUSH2 0x0d2d
00000d29: PUSH2 0x007c
00000d2c: JUMP
00000d2d: JUMPDEST
00000d2e: SWAP5
00000d2f: DUP6
00000d30: SWAP3
00000d31: DUP4
00000d32: PUSH2 0x0a97
00000d35: JUMP
00000d36: JUMPDEST
00000d37: SUB
00000d38: SWAP4
00000d39: CALL
00000d3a: PUSH2 0x0d41
00000d3d: PUSH2 0x0ac1
00000d40: JUMP
00000d41: JUMPDEST
00000d42: POP
00000d43: ISZERO
00000d44: PUSH2 0x017c
00000d47: JUMP
00000d48: JUMPDEST
00000d49: PUSH2 0x0da7
00000d4c: JUMPI
00000d4d: PUSH2 0x0d55
00000d50: ADDRESS
00000d51: PUSH2 0x073b
00000d54: JUMP
00000d55: JUMPDEST
00000d56: SWAP2
00000d57: SWAP3
00000d58: SWAP4
00000d59: SWAP1
00000d5a: SWAP4
00000d5b: PUSH2 0x0da2
00000d5e: PUSH2 0x0d90
00000d61: PUSH2 0x0d8a
00000d64: PUSH32 0xc25cfed0b22da6a56f0e5ff784979a0b8623eddf2aee4acd33c2adefb09cbab6
00000d85: SWAP6
00000d86: PUSH2 0x0111
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: SWAP6
00000d8c: PUSH2 0x0111
00000d8f: JUMP
00000d90: JUMPDEST
00000d91: SWAP6
00000d92: PUSH2 0x0d99
00000d95: PUSH2 0x007c
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: SWAP4
00000d9b: DUP5
00000d9c: SWAP4
00000d9d: DUP5
00000d9e: PUSH2 0x0b16
00000da1: JUMP
00000da2: JUMPDEST
00000da3: SUB
00000da4: SWAP1
00000da5: LOG3
00000da6: JUMP
00000da7: JUMPDEST
00000da8: PUSH0
00000da9: PUSH4 0xde44a571
00000dae: PUSH1 0xe0
00000db0: SHL
00000db1: DUP2
00000db2: MSTORE
00000db3: DUP1
00000db4: PUSH2 0x0dbf
00000db7: PUSH1 0x04
00000db9: DUP3
00000dba: ADD
00000dbb: PUSH2 0x044f
00000dbe: JUMP
00000dbf: JUMPDEST
00000dc0: SUB
00000dc1: SWAP1
00000dc2: REVERT
00000dc3: JUMPDEST
00000dc4: PUSH0
00000dc5: PUSH4 0x710c9497
00000dca: PUSH1 0xe0
00000dcc: SHL
00000dcd: DUP2
00000dce: MSTORE
00000dcf: DUP1
00000dd0: PUSH2 0x0ddb
00000dd3: PUSH1 0x04
00000dd5: DUP3
00000dd6: ADD
00000dd7: PUSH2 0x044f
00000dda: JUMP
00000ddb: JUMPDEST
00000ddc: SUB
00000ddd: SWAP1
00000dde: REVERT
00000ddf: JUMPDEST
00000de0: POP
00000de1: DUP4
00000de2: PUSH2 0x0dfb
00000de5: PUSH2 0x0df5
00000de8: PUSH2 0x0df0
00000deb: PUSH0
00000dec: PUSH2 0x0646
00000def: JUMP
00000df0: JUMPDEST
00000df1: PUSH2 0x0099
00000df4: JUMP
00000df5: JUMPDEST
00000df6: SWAP2
00000df7: PUSH2 0x0099
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: EQ
00000dfd: ISZERO
00000dfe: PUSH2 0x0bc5
00000e01: JUMP
00000e02: JUMPDEST
00000e03: PUSH0
00000e04: PUSH4 0x60b28045
00000e09: PUSH1 0xe1
00000e0b: SHL
00000e0c: DUP2
00000e0d: MSTORE
00000e0e: DUP1
00000e0f: PUSH2 0x0e1a
00000e12: PUSH1 0x04
00000e14: DUP3
00000e15: ADD
00000e16: PUSH2 0x044f
00000e19: JUMP
00000e1a: JUMPDEST
00000e1b: SUB
00000e1c: SWAP1
00000e1d: REVERT
00000e1e: JUMPDEST
00000e1f: POP
00000e20: PUSH2 0x0e2a
00000e23: DUP8
00000e24: DUP10
00000e25: SWAP1
00000e26: PUSH2 0x05f9
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: PUSH2 0x0e46
00000e2e: PUSH2 0x0e40
00000e31: PUSH2 0x0e3b
00000e34: DUP7
00000e35: DUP11
00000e36: SWAP1
00000e37: PUSH2 0x0623
00000e3a: JUMP
00000e3b: JUMPDEST
00000e3c: PUSH2 0x021f
00000e3f: JUMP
00000e40: JUMPDEST
00000e41: SWAP2
00000e42: PUSH2 0x021f
00000e45: JUMP
00000e46: JUMPDEST
00000e47: EQ
00000e48: ISZERO
00000e49: PUSH2 0x0ba6
00000e4c: JUMP
00000e4d: JUMPDEST
00000e4e: PUSH0
00000e4f: PUSH4 0x3724e343
00000e54: PUSH1 0xe1
00000e56: SHL
00000e57: DUP2
00000e58: MSTORE
00000e59: DUP1
00000e5a: PUSH2 0x0e65
00000e5d: PUSH1 0x04
00000e5f: DUP3
00000e60: ADD
00000e61: PUSH2 0x044f
00000e64: JUMP
00000e65: JUMPDEST
00000e66: SUB
00000e67: SWAP1
00000e68: REVERT
00000e69: JUMPDEST
00000e6a: CALLER
00000e6b: PUSH2 0x0e73
00000e6e: ADDRESS
00000e6f: PUSH2 0x073b
00000e72: JUMP
00000e73: JUMPDEST
00000e74: CALLVALUE
00000e75: SWAP2
00000e76: PUSH2 0x0ebd
00000e79: PUSH2 0x0eab
00000e7c: PUSH2 0x0ea5
00000e7f: PUSH32 0x1d34d19757361fd4aa48c5023224a5cbb511fef3e3ae1ebb3634e00a496b74d7
00000ea0: SWAP4
00000ea1: PUSH2 0x0111
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: SWAP4
00000ea7: PUSH2 0x0111
00000eaa: JUMP
00000eab: JUMPDEST
00000eac: SWAP4
00000ead: PUSH2 0x0eb4
00000eb0: PUSH2 0x007c
00000eb3: JUMP
00000eb4: JUMPDEST
00000eb5: SWAP2
00000eb6: DUP3
00000eb7: SWAP2
00000eb8: DUP3
00000eb9: PUSH2 0x022f
00000ebc: JUMP
00000ebd: JUMPDEST
00000ebe: SUB
00000ebf: SWAP1
00000ec0: LOG3
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH2 0x0ed6
00000ec6: PUSH2 0x0ed1
00000ec9: PUSH2 0x0edb
00000ecc: SWAP3
00000ecd: PUSH2 0x0627
00000ed0: JUMP
00000ed1: JUMPDEST
00000ed2: PUSH2 0x00e6
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: PUSH2 0x021f
00000eda: JUMP
00000edb: JUMPDEST
00000edc: SWAP1
00000edd: JUMP
00000ede: JUMPDEST
00000edf: PUSH1 0x01
00000ee1: PUSH2 0x0eea
00000ee4: SWAP2
00000ee5: ADD
00000ee6: PUSH2 0x021f
00000ee9: JUMP
00000eea: JUMPDEST
00000eeb: SWAP1
00000eec: JUMP
00000eed: JUMPDEST
00000eee: SWAP2
00000eef: SWAP1
00000ef0: DUP2
00000ef1: LT
00000ef2: ISZERO
00000ef3: PUSH2 0x0efd
00000ef6: JUMPI
00000ef7: PUSH1 0x20
00000ef9: MUL
00000efa: ADD
00000efb: SWAP1
00000efc: JUMP
00000efd: JUMPDEST
00000efe: PUSH2 0x04b5
00000f01: JUMP
00000f02: JUMPDEST
00000f03: PUSH2 0x0f0b
00000f06: DUP2
00000f07: PUSH2 0x0655
00000f0a: JUMP
00000f0b: JUMPDEST
00000f0c: SUB
00000f0d: PUSH2 0x0f12
00000f10: JUMPI
00000f11: JUMP
00000f12: JUMPDEST
00000f13: PUSH0
00000f14: DUP1
00000f15: REVERT
00000f16: JUMPDEST
00000f17: CALLDATALOAD
00000f18: PUSH2 0x0f20
00000f1b: DUP2
00000f1c: PUSH2 0x0f02
00000f1f: JUMP
00000f20: JUMPDEST
00000f21: SWAP1
00000f22: JUMP
00000f23: JUMPDEST
00000f24: PUSH2 0x0f2f
00000f27: PUSH2 0x0f34
00000f2a: SWAP2
00000f2b: PUSH2 0x05fd
00000f2e: JUMP
00000f2f: JUMPDEST
00000f30: PUSH2 0x0a38
00000f33: JUMP
00000f34: JUMPDEST
00000f35: SWAP1
00000f36: JUMP
00000f37: JUMPDEST
00000f38: SWAP1
00000f39: JUMP
00000f3a: JUMPDEST
00000f3b: PUSH2 0x0f4e
00000f3e: PUSH2 0x0f49
00000f41: PUSH2 0x0f53
00000f44: SWAP3
00000f45: PUSH2 0x0f37
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH2 0x00e6
00000f4d: JUMP
00000f4e: JUMPDEST
00000f4f: PUSH2 0x021f
00000f52: JUMP
00000f53: JUMPDEST
00000f54: SWAP1
00000f55: JUMP
00000f56: JUMPDEST
00000f57: SWAP2
00000f58: SWAP1
00000f59: DUP2
00000f5a: LT
00000f5b: ISZERO
00000f5c: PUSH2 0x0f66
00000f5f: JUMPI
00000f60: PUSH1 0x20
00000f62: MUL
00000f63: ADD
00000f64: SWAP1
00000f65: JUMP
00000f66: JUMPDEST
00000f67: PUSH2 0x04b5
00000f6a: JUMP
00000f6b: JUMPDEST
00000f6c: PUSH1 0xff
00000f6e: AND
00000f6f: SWAP1
00000f70: JUMP
00000f71: JUMPDEST
00000f72: PUSH2 0x0f7a
00000f75: DUP2
00000f76: PUSH2 0x0f6b
00000f79: JUMP
00000f7a: JUMPDEST
00000f7b: SUB
00000f7c: PUSH2 0x0f81
00000f7f: JUMPI
00000f80: JUMP
00000f81: JUMPDEST
00000f82: PUSH0
00000f83: DUP1
00000f84: REVERT
00000f85: JUMPDEST
00000f86: CALLDATALOAD
00000f87: PUSH2 0x0f8f
00000f8a: DUP2
00000f8b: PUSH2 0x0f71
00000f8e: JUMP
00000f8f: JUMPDEST
00000f90: SWAP1
00000f91: JUMP
00000f92: JUMPDEST
00000f93: PUSH2 0x0f9b
00000f96: SWAP1
00000f97: PUSH2 0x0f6b
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: SWAP1
00000f9d: MSTORE
00000f9e: JUMP
00000f9f: JUMPDEST
00000fa0: PUSH2 0x0fd4
00000fa3: PUSH2 0x0fdb
00000fa6: SWAP5
00000fa7: PUSH2 0x0fca
00000faa: PUSH1 0x60
00000fac: SWAP5
00000fad: SWAP9
00000fae: SWAP8
00000faf: SWAP6
00000fb0: PUSH2 0x0fc0
00000fb3: PUSH1 0x80
00000fb5: DUP7
00000fb6: ADD
00000fb7: SWAP11
00000fb8: PUSH0
00000fb9: DUP8
00000fba: ADD
00000fbb: SWAP1
00000fbc: PUSH2 0x0792
00000fbf: JUMP
00000fc0: JUMPDEST
00000fc1: PUSH1 0x20
00000fc3: DUP6
00000fc4: ADD
00000fc5: SWAP1
00000fc6: PUSH2 0x0f92
00000fc9: JUMP
00000fca: JUMPDEST
00000fcb: PUSH1 0x40
00000fcd: DUP4
00000fce: ADD
00000fcf: SWAP1
00000fd0: PUSH2 0x0792
00000fd3: JUMP
00000fd4: JUMPDEST
00000fd5: ADD
00000fd6: SWAP1
00000fd7: PUSH2 0x0792
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: JUMP
00000fdd: JUMPDEST
00000fde: PUSH2 0x0fe5
00000fe1: PUSH2 0x007c
00000fe4: JUMP
00000fe5: JUMPDEST
00000fe6: RETURNDATASIZE
00000fe7: PUSH0
00000fe8: DUP3
00000fe9: RETURNDATACOPY
00000fea: RETURNDATASIZE
00000feb: SWAP1
00000fec: REVERT
00000fed: JUMPDEST
00000fee: PUSH2 0x0ff9
00000ff1: PUSH2 0x0ffe
00000ff4: SWAP2
00000ff5: PUSH2 0x05fd
00000ff8: JUMP
00000ff9: JUMPDEST
00000ffa: PUSH2 0x0137
00000ffd: JUMP
00000ffe: JUMPDEST
00000fff: SWAP1
00001000: JUMP
00001001: JUMPDEST
00001002: PUSH2 0x100b
00001005: SWAP1
00001006: SLOAD
00001007: PUSH2 0x0fed
0000100a: JUMP
0000100b: JUMPDEST
0000100c: SWAP1
0000100d: JUMP
0000100e: JUMPDEST
0000100f: SWAP7
00001010: SWAP6
00001011: SWAP4
00001012: SWAP5
00001013: SWAP2
00001014: SWAP1
00001015: SWAP2
00001016: PUSH2 0x101e
00001019: PUSH0
0000101a: PUSH2 0x0646
0000101d: JUMP
0000101e: JUMPDEST
0000101f: SWAP8
00001020: PUSH2 0x1028
00001023: PUSH0
00001024: PUSH2 0x0ec2
00001027: JUMP
00001028: JUMPDEST
00001029: SWAP9
0000102a: JUMPDEST
0000102b: DUP10
0000102c: PUSH2 0x1047
0000102f: PUSH2 0x1041
00001032: PUSH2 0x103c
00001035: DUP10
00001036: DUP13
00001037: SWAP1
00001038: PUSH2 0x05f9
0000103b: JUMP
0000103c: JUMPDEST
0000103d: PUSH2 0x021f
00001040: JUMP
00001041: JUMPDEST
00001042: SWAP2
00001043: PUSH2 0x021f
00001046: JUMP
00001047: JUMPDEST
00001048: LT
00001049: ISZERO
0000104a: PUSH2 0x11bd
0000104d: JUMPI
0000104e: PUSH2 0x106a
00001051: PUSH2 0x1065
00001054: PUSH2 0x1060
00001057: DUP6
00001058: DUP14
00001059: DUP12
0000105a: SWAP1
0000105b: SWAP2
0000105c: PUSH2 0x0eed
0000105f: JUMP
00001060: JUMPDEST
00001061: PUSH2 0x0f16
00001064: JUMP
00001065: JUMPDEST
00001066: PUSH2 0x0f23
00001069: JUMP
0000106a: JUMPDEST
0000106b: PUSH2 0x109c
0000106e: PUSH2 0x1096
00001071: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00001092: PUSH2 0x0f3a
00001095: JUMP
00001096: JUMPDEST
00001097: SWAP2
00001098: PUSH2 0x021f
0000109b: JUMP
0000109c: JUMPDEST
0000109d: GT
0000109e: PUSH2 0x11a1
000010a1: JUMPI
000010a2: PUSH1 0x20
000010a4: PUSH0
000010a5: DUP8
000010a6: DUP8
000010a7: PUSH2 0x1101
000010aa: DUP15
000010ab: PUSH2 0x10ef
000010ae: PUSH2 0x10ea
000010b1: DUP16
000010b2: DUP16
000010b3: SWAP1
000010b4: PUSH2 0x10db
000010b7: PUSH2 0x10e0
000010ba: SWAP2
000010bb: DUP16
000010bc: PUSH2 0x10cd
000010bf: DUP16
000010c0: SWAP2
000010c1: PUSH2 0x10d2
000010c4: SWAP3
000010c5: SWAP12
000010c6: SWAP1
000010c7: DUP11
000010c8: SWAP2
000010c9: PUSH2 0x0f56
000010cc: JUMP
000010cd: JUMPDEST
000010ce: PUSH2 0x0f85
000010d1: JUMP
000010d2: JUMPDEST
000010d3: SWAP10
000010d4: SWAP1
000010d5: DUP8
000010d6: SWAP2
000010d7: PUSH2 0x0eed
000010da: JUMP
000010db: JUMPDEST
000010dc: PUSH2 0x0f16
000010df: JUMP
000010e0: JUMPDEST
000010e1: SWAP4
000010e2: DUP13
000010e3: SWAP2
000010e4: SWAP1
000010e5: SWAP2
000010e6: PUSH2 0x0eed
000010e9: JUMP
000010ea: JUMPDEST
000010eb: PUSH2 0x0f16
000010ee: JUMP
000010ef: JUMPDEST
000010f0: SWAP1
000010f1: PUSH2 0x10f8
000010f4: PUSH2 0x007c
000010f7: JUMP
000010f8: JUMPDEST
000010f9: SWAP5
000010fa: DUP6
000010fb: SWAP5
000010fc: DUP6
000010fd: PUSH2 0x0f9f
00001100: JUMP
00001101: JUMPDEST
00001102: DUP4
00001103: DUP1
00001104: MSTORE
00001105: SUB
00001106: SWAP1
00001107: PUSH1 0x01
00001109: GAS
0000110a: STATICCALL
0000110b: ISZERO
0000110c: PUSH2 0x119c
0000110f: JUMPI
00001110: PUSH2 0x1119
00001113: PUSH0
00001114: MLOAD
00001115: PUSH2 0x0658
00001118: JUMP
00001119: JUMPDEST
0000111a: SWAP1
0000111b: PUSH2 0x112d
0000111e: PUSH2 0x1127
00001121: DUP4
00001122: SWAP3
00001123: PUSH2 0x0099
00001126: JUMP
00001127: JUMPDEST
00001128: SWAP2
00001129: PUSH2 0x0099
0000112c: JUMP
0000112d: JUMPDEST
0000112e: GT
0000112f: ISZERO
00001130: PUSH2 0x1180
00001133: JUMPI
00001134: PUSH2 0x1150
00001137: PUSH2 0x114a
0000113a: PUSH2 0x1145
0000113d: PUSH1 0x02
0000113f: DUP5
00001140: SWAP1
00001141: PUSH2 0x011d
00001144: JUMP
00001145: JUMPDEST
00001146: PUSH2 0x1001
00001149: JUMP
0000114a: JUMPDEST
0000114b: ISZERO
0000114c: PUSH2 0x017c
0000114f: JUMP
00001150: JUMPDEST
00001151: PUSH2 0x1164
00001154: JUMPI
00001155: PUSH2 0x115e
00001158: SWAP1
00001159: SWAP10
0000115a: PUSH2 0x0ede
0000115d: JUMP
0000115e: JUMPDEST
0000115f: SWAP9
00001160: PUSH2 0x102a
00001163: JUMP
00001164: JUMPDEST
00001165: PUSH0
00001166: PUSH4 0x28e32f57
0000116b: PUSH1 0xe1
0000116d: SHL
0000116e: DUP2
0000116f: MSTORE
00001170: DUP1
00001171: PUSH2 0x117c
00001174: PUSH1 0x04
00001176: DUP3
00001177: ADD
00001178: PUSH2 0x044f
0000117b: JUMP
0000117c: JUMPDEST
0000117d: SUB
0000117e: SWAP1
0000117f: REVERT
00001180: JUMPDEST
00001181: PUSH0
00001182: PUSH4 0x8baa579f
00001187: PUSH1 0xe0
00001189: SHL
0000118a: DUP2
0000118b: MSTORE
0000118c: DUP1
0000118d: PUSH2 0x1198
00001190: PUSH1 0x04
00001192: DUP3
00001193: ADD
00001194: PUSH2 0x044f
00001197: JUMP
00001198: JUMPDEST
00001199: SUB
0000119a: SWAP1
0000119b: REVERT
0000119c: JUMPDEST
0000119d: PUSH2 0x0fdd
000011a0: JUMP
000011a1: JUMPDEST
000011a2: PUSH0
000011a3: PUSH4 0xd2c661b9
000011a8: PUSH1 0xe0
000011aa: SHL
000011ab: DUP2
000011ac: MSTORE
000011ad: DUP1
000011ae: PUSH2 0x11b9
000011b1: PUSH1 0x04
000011b3: DUP3
000011b4: ADD
000011b5: PUSH2 0x044f
000011b8: JUMP
000011b9: JUMPDEST
000011ba: SUB
000011bb: SWAP1
000011bc: REVERT
000011bd: JUMPDEST
000011be: POP
000011bf: POP
000011c0: POP
000011c1: POP
000011c2: POP
000011c3: POP
000011c4: POP
000011c5: POP
000011c6: SWAP1
000011c7: POP
000011c8: JUMP
000011c9: INVALID
000011ca: LOG2
000011cb: PUSH5 0x6970667358
000011d1: UNKNOWN(0x22)
000011d2: SLT
000011d3: KECCAK256
000011d4: UNKNOWN(0x2B)
000011d5: CALLVALUE
000011d6: DUP2
000011d7: LOG3
000011d8: DUP10
000011d9: SELFDESTRUCT
000011da: UNKNOWN(0xF9)
000011db: SWAP7
000011dc: UNKNOWN(0xDE)
000011dd: PUSH0
000011de: PUSH11 0x8b606599d0e7c81c425ac2
000011ea: UNKNOWN(0x4D)
000011eb: UNKNOWN(0xB3)
000011ec: UNKNOWN(0xB6)
000011ed: CALLVALUE
000011ee: UNKNOWN(0xD4)
000011ef: UNKNOWN(0xDD)
000011f0: STATICCALL
000011f1: SWAP9
000011f2: UNKNOWN(0xE5)
000011f3: PUSH19

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xdc21b092fbf2151816a3d060c1e17d1f12270866939c70e5777211de83aa3781
call_targets: 0xc82abe4dfa94b9b5453d31274fb7500459a0d12d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdc21b092fbf2151816a3d060c1e17d1f12270866939c70e5777211de83aa3781",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc82abe4dfa94b9b5453d31274fb7500459a0d12d"
    ],
    "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": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x42cde4e8",
            "selector": "0x42cde4e8",
            "calldata_variants": [
                "0x42cde4e8",
                "0x42cde4e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaa5df9e2",
            "selector": "0xaa5df9e2",
            "calldata_variants": [
                "0xaa5df9e2",
                "0xaa5df9e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3385,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xdc21b092fbf2151816a3d060c1e17d1f12270866939c70e5777211de83aa3781
call_targets: 0xc82abe4dfa94b9b5453d31274fb7500459a0d12d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdc21b092fbf2151816a3d060c1e17d1f12270866939c70e5777211de83aa3781",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xc82abe4dfa94b9b5453d31274fb7500459a0d12d"
    ],
    "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": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x42cde4e8",
            "selector": "0x42cde4e8",
            "calldata_variants": [
                "0x42cde4e8",
                "0x42cde4e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaa5df9e2",
            "selector": "0xaa5df9e2",
            "calldata_variants": [
                "0xaa5df9e2",
                "0xaa5df9e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3385,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0x3a1374122b6270c8223241a8a556fbb0fde0d589fb1e53cf95eccbcd414e556e
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 8,
    "trace_id": "0x3a1374122b6270c8223241a8a556fbb0fde0d589fb1e53cf95eccbcd414e556e",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x42cde4e8",
            "selector": "0x42cde4e8",
            "calldata_variants": [
                "0x42cde4e8",
                "0x42cde4e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaa5df9e2",
            "selector": "0xaa5df9e2",
            "calldata_variants": [
                "0xaa5df9e2",
                "0xaa5df9e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}