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

Analysis Run

1854730a-b436-47a0-adc3-3a60689128f9

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 6:10 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
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
31246 report.consolidate complete 1 / 1 3 months ago
104735 artifact.fetch failed 1 / 3 1 week ago
104736 tool.cast_disasm complete 1 / 3 1 week ago
104737 analysis.bundle complete 1 / 3 1 week ago
104738 capability.graph complete 1 / 3 1 week ago
104739 detector.run complete 1 / 3 1 week ago
104740 validation.fork complete 1 / 3 1 week ago

Artifact

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

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 found in `contracts/Contract.sol` after reviewing `AUDIT_BUNDLE.txt`.
View stderr
[codex:2793] OpenAI Codex v0.77.0 (research preview)
[codex:2793] --------
[codex:2793] workdir: /tmp/codex-multi-05zf_fm8
[codex:2793] model: gpt-5.2-codex
[codex:2793] provider: openai
[codex:2793] approval: never
[codex:2793] sandbox: read-only
[codex:2793] reasoning effort: xhigh
[codex:2793] reasoning summaries: auto
[codex:2793] session id: 019b7d52-61b2-7e60-8844-6bd456ce77b7
[codex:2793] --------
[codex:2793] user
[codex:2793] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:2793] 
[codex:2793] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:2793] 
[codex:2793] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:2793] - Gas inefficiency, code quality, naming, or best practices
[codex:2793] - Theoretical vulnerabilities without a clear extraction path
[codex:2793] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:2793] - Front-running unless it enables theft beyond MEV
[codex:2793] - DoS, griefing, or issues that don't result in attacker profit
[codex:2793] - Missing events, view function issues, or informational findings
[codex:2793] 
[codex:2793] HIGH-VALUE PATTERNS TO HUNT:
[codex:2793] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:2793] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:2793] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:2793] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:2793] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:2793] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:2793] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:2793] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:2793] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:2793] 
[codex:2793] For each finding, you MUST provide:
[codex:2793] 1. Exact file and line numbers of vulnerable code
[codex:2793] 2. Step-by-step exploit transaction sequence
[codex:2793] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:2793] 
[codex:2793] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:2793] 
[codex:2793] Output MUST be valid JSON matching the provided schema.
[codex:2793] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:2793] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:2793] mcp startup: no servers
[codex:2793] 
[codex:2793] thinking
[codex:2793] **Preparing to audit audit_bundle.txt**
[codex:2793] exec
[codex:2793] /bin/bash -lc ls in /tmp/codex-multi-05zf_fm8 succeeded in 6ms:
[codex:2793] AUDIT_BUNDLE.txt
[codex:2793] codex-output-schema.json
[codex:2793] contracts
[codex:2793] exec
[codex:2793] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-05zf_fm8 succeeded in 5ms:
[codex:2793] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:2793] 
[codex:2793] ================================================================================
[codex:2793] FILE: contracts/Contract.sol
[codex:2793] ================================================================================
[codex:2793] //sol Wallet
[codex:2793] // Multi-sig, daily-limited account proxy/wallet.
[codex:2793] // @authors:
[codex:2793] // Gav Wood <g@ethdev.com>
[codex:2793] // inheritable "property" contract that enables methods to be protected by requiring the acquiescence of either a
[codex:2793] // single, or, crucially, each of a number of, designated owners.
[codex:2793] // usage:
[codex:2793] // use modifiers onlyowner (just own owned) or onlymanyowners(hash), whereby the same hash must be provided by
[codex:2793] // some number (specified in constructor) of the set of owners (specified in the constructor, modifiable) before the
[codex:2793] // interior is executed.
[codex:2793] contract multiowned {
[codex:2793] 
[codex:2793] 	// TYPES
[codex:2793] 
[codex:2793]     // struct for the status of a pending operation.
[codex:2793] exec
[codex:2793] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-05zf_fm8 succeeded in 6ms:
[codex:2793]                 m_owners[m_numOwners] = 0;
[codex:2793]             }
[codex:2793]         }
[codex:2793]     }
[codex:2793]     
[codex:2793]     function clearPending() internal {
[codex:2793]         uint length = m_pendingIndex.length;
[codex:2793]         for (uint i = 0; i < length; ++i)
[codex:2793]             if (m_pendingIndex[i] != 0)
[codex:2793]                 delete m_pending[m_pendingIndex[i]];
[codex:2793]         delete m_pendingIndex;
[codex:2793]     }
[codex:2793]         
[codex:2793]    	// FIELDS
[codex:2793] 
[codex:2793]     // the number of owners that must confirm the same operation before it is run.
[codex:2793]     uint public m_required;
[codex:2793]     // pointer used to find a free slot in m_owners
[codex:2793]     uint public m_numOwners;
[codex:2793]     
[codex:2793] 
[codex:2793] 
[codex:2793] thinking
[codex:2793] **Analyzing multisig wallet security**
[codex:2793] thinking
[codex:2793] **Evaluating transaction hash and call protections**
[codex:2793] 
[codex:2793] I’m reviewing the use of transaction hashes that include block number to prevent replay and collisions, and examining whether reentrancy or owner confirmations could be exploited to alter or duplicate transactions. It looks like non-owners cannot interfere due to access controls, and the timing of setting transaction data and confirmations generally prevents state mismatches or overrides. I’m considering subtle nuances in confirm and execute flows but so far see no obvious profit-driven vulnerabilities for non-owners.
[codex:2793] codex
[codex:2793] {"no_findings":true,"summary":"No concrete, exploitable profit path found in `contracts/Contract.sol` after reviewing `AUDIT_BUNDLE.txt`.","findings":[]}
[codex:2793] tokens used
[codex:2793] 14,740
[codex:2793] {"no_findings":true,"summary":"No concrete, exploitable profit path found in `contracts/Contract.sol` after reviewing `AUDIT_BUNDLE.txt`.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T06:10:29.626708+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path found in `contracts/Contract.sol` after reviewing `AUDIT_BUNDLE.txt`.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path found in `contracts/Contract.sol` after reviewing `AUDIT_BUNDLE.txt`.",
        "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
2839
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x00b9
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x173825d9
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x010b
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x2f54bf6e
00000025: EQ
00000026: PUSH2 0x015f
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x4123cb6b
00000030: EQ
00000031: PUSH2 0x0187
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x5c52c2f5
0000003b: EQ
0000003c: PUSH2 0x0190
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x7065cb48
00000046: EQ
00000047: PUSH2 0x01ba
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x746c9171
00000051: EQ
00000052: PUSH2 0x01e7
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x797af627
0000005c: EQ
0000005d: PUSH2 0x01f0
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xb20d30a9
00000067: EQ
00000068: PUSH2 0x0203
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0xb61d27f6
00000072: EQ
00000073: PUSH2 0x0230
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xb75c7dc6
0000007d: EQ
0000007e: PUSH2 0x0251
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xba51a6df
00000088: EQ
00000089: PUSH2 0x0280
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xc2cf7326
00000093: EQ
00000094: PUSH2 0x02ad
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xcbf0b0c0
0000009e: EQ
0000009f: PUSH2 0x02eb
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xf00d4b5d
000000a9: EQ
000000aa: PUSH2 0x0318
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xf1736d86
000000b4: EQ
000000b5: PUSH2 0x034a
000000b8: JUMPI
000000b9: JUMPDEST
000000ba: PUSH2 0x0354
000000bd: PUSH1 0x00
000000bf: CALLVALUE
000000c0: GT
000000c1: ISZERO
000000c2: PUSH2 0x0109
000000c5: JUMPI
000000c6: PUSH1 0x40
000000c8: DUP1
000000c9: MLOAD
000000ca: PUSH1 0x01
000000cc: PUSH1 0xa0
000000ce: PUSH1 0x02
000000d0: EXP
000000d1: SUB
000000d2: CALLER
000000d3: AND
000000d4: DUP2
000000d5: MSTORE
000000d6: CALLVALUE
000000d7: PUSH1 0x20
000000d9: DUP3
000000da: ADD
000000db: MSTORE
000000dc: DUP2
000000dd: MLOAD
000000de: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
000000ff: SWAP3
00000100: SWAP2
00000101: DUP2
00000102: SWAP1
00000103: SUB
00000104: SWAP1
00000105: SWAP2
00000106: ADD
00000107: SWAP1
00000108: LOG1
00000109: JUMPDEST
0000010a: JUMP
0000010b: JUMPDEST
0000010c: PUSH2 0x0354
0000010f: PUSH1 0x04
00000111: CALLDATALOAD
00000112: PUSH1 0x00
00000114: PUSH1 0x00
00000116: CALLDATASIZE
00000117: PUSH1 0x40
00000119: MLOAD
0000011a: DUP1
0000011b: DUP4
0000011c: DUP4
0000011d: DUP1
0000011e: DUP3
0000011f: DUP5
00000120: CALLDATACOPY
00000121: DUP3
00000122: ADD
00000123: SWAP2
00000124: POP
00000125: POP
00000126: SWAP3
00000127: POP
00000128: POP
00000129: POP
0000012a: PUSH1 0x40
0000012c: MLOAD
0000012d: DUP1
0000012e: SWAP2
0000012f: SUB
00000130: SWAP1
00000131: KECCAK256
00000132: PUSH2 0x064e
00000135: DUP2
00000136: JUMPDEST
00000137: PUSH1 0x01
00000139: PUSH1 0xa0
0000013b: PUSH1 0x02
0000013d: EXP
0000013e: SUB
0000013f: CALLER
00000140: AND
00000141: PUSH1 0x00
00000143: SWAP1
00000144: DUP2
00000145: MSTORE
00000146: PUSH2 0x0102
00000149: PUSH1 0x20
0000014b: MSTORE
0000014c: PUSH1 0x40
0000014e: DUP2
0000014f: KECCAK256
00000150: SLOAD
00000151: DUP2
00000152: DUP1
00000153: DUP3
00000154: DUP2
00000155: EQ
00000156: ISZERO
00000157: PUSH2 0x0c7a
0000015a: JUMPI
0000015b: PUSH2 0x0dd3
0000015e: JUMP
0000015f: JUMPDEST
00000160: PUSH2 0x0356
00000163: PUSH1 0x04
00000165: CALLDATALOAD
00000166: JUMPDEST
00000167: PUSH1 0x01
00000169: PUSH1 0xa0
0000016b: PUSH1 0x02
0000016d: EXP
0000016e: SUB
0000016f: DUP2
00000170: AND
00000171: PUSH1 0x00
00000173: SWAP1
00000174: DUP2
00000175: MSTORE
00000176: PUSH2 0x0102
00000179: PUSH1 0x20
0000017b: MSTORE
0000017c: PUSH1 0x40
0000017e: DUP2
0000017f: KECCAK256
00000180: SLOAD
00000181: GT
00000182: JUMPDEST
00000183: SWAP2
00000184: SWAP1
00000185: POP
00000186: JUMP
00000187: JUMPDEST
00000188: PUSH2 0x0356
0000018b: PUSH1 0x01
0000018d: SLOAD
0000018e: DUP2
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH2 0x0354
00000194: PUSH1 0x00
00000196: CALLDATASIZE
00000197: PUSH1 0x40
00000199: MLOAD
0000019a: DUP1
0000019b: DUP4
0000019c: DUP4
0000019d: DUP1
0000019e: DUP3
0000019f: DUP5
000001a0: CALLDATACOPY
000001a1: DUP3
000001a2: ADD
000001a3: SWAP2
000001a4: POP
000001a5: POP
000001a6: SWAP3
000001a7: POP
000001a8: POP
000001a9: POP
000001aa: PUSH1 0x40
000001ac: MLOAD
000001ad: DUP1
000001ae: SWAP2
000001af: SUB
000001b0: SWAP1
000001b1: KECCAK256
000001b2: PUSH2 0x079f
000001b5: DUP2
000001b6: PUSH2 0x0136
000001b9: JUMP
000001ba: JUMPDEST
000001bb: PUSH2 0x0354
000001be: PUSH1 0x04
000001c0: CALLDATALOAD
000001c1: PUSH1 0x00
000001c3: CALLDATASIZE
000001c4: PUSH1 0x40
000001c6: MLOAD
000001c7: DUP1
000001c8: DUP4
000001c9: DUP4
000001ca: DUP1
000001cb: DUP3
000001cc: DUP5
000001cd: CALLDATACOPY
000001ce: DUP3
000001cf: ADD
000001d0: SWAP2
000001d1: POP
000001d2: POP
000001d3: SWAP3
000001d4: POP
000001d5: POP
000001d6: POP
000001d7: PUSH1 0x40
000001d9: MLOAD
000001da: DUP1
000001db: SWAP2
000001dc: SUB
000001dd: SWAP1
000001de: KECCAK256
000001df: PUSH2 0x05c6
000001e2: DUP2
000001e3: PUSH2 0x0136
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH2 0x0356
000001eb: PUSH1 0x00
000001ed: SLOAD
000001ee: DUP2
000001ef: JUMP
000001f0: JUMPDEST
000001f1: PUSH2 0x0356
000001f4: PUSH1 0x04
000001f6: CALLDATALOAD
000001f7: JUMPDEST
000001f8: PUSH1 0x00
000001fa: DUP2
000001fb: PUSH2 0x0a3b
000001fe: DUP2
000001ff: PUSH2 0x0136
00000202: JUMP
00000203: JUMPDEST
00000204: PUSH2 0x0354
00000207: PUSH1 0x04
00000209: CALLDATALOAD
0000020a: PUSH1 0x00
0000020c: CALLDATASIZE
0000020d: PUSH1 0x40
0000020f: MLOAD
00000210: DUP1
00000211: DUP4
00000212: DUP4
00000213: DUP1
00000214: DUP3
00000215: DUP5
00000216: CALLDATACOPY
00000217: DUP3
00000218: ADD
00000219: SWAP2
0000021a: POP
0000021b: POP
0000021c: SWAP3
0000021d: POP
0000021e: POP
0000021f: POP
00000220: PUSH1 0x40
00000222: MLOAD
00000223: DUP1
00000224: SWAP2
00000225: SUB
00000226: SWAP1
00000227: KECCAK256
00000228: PUSH2 0x0793
0000022b: DUP2
0000022c: PUSH2 0x0136
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH2 0x0356
00000234: PUSH1 0x04
00000236: DUP1
00000237: CALLDATALOAD
00000238: SWAP1
00000239: PUSH1 0x24
0000023b: DUP1
0000023c: CALLDATALOAD
0000023d: SWAP2
0000023e: PUSH1 0x44
00000240: CALLDATALOAD
00000241: SWAP2
00000242: DUP3
00000243: ADD
00000244: SWAP2
00000245: ADD
00000246: CALLDATALOAD
00000247: PUSH1 0x00
00000249: PUSH2 0x07be
0000024c: CALLER
0000024d: PUSH2 0x0166
00000250: JUMP
00000251: JUMPDEST
00000252: PUSH2 0x0354
00000255: PUSH1 0x04
00000257: CALLDATALOAD
00000258: PUSH1 0x01
0000025a: PUSH1 0xa0
0000025c: PUSH1 0x02
0000025e: EXP
0000025f: SUB
00000260: CALLER
00000261: AND
00000262: PUSH1 0x00
00000264: SWAP1
00000265: DUP2
00000266: MSTORE
00000267: PUSH2 0x0102
0000026a: PUSH1 0x20
0000026c: MSTORE
0000026d: PUSH1 0x40
0000026f: DUP2
00000270: KECCAK256
00000271: SLOAD
00000272: SWAP1
00000273: DUP1
00000274: DUP3
00000275: DUP2
00000276: EQ
00000277: ISZERO
00000278: PUSH2 0x0368
0000027b: JUMPI
0000027c: PUSH2 0x03e7
0000027f: JUMP
00000280: JUMPDEST
00000281: PUSH2 0x0354
00000284: PUSH1 0x04
00000286: CALLDATALOAD
00000287: PUSH1 0x00
00000289: CALLDATASIZE
0000028a: PUSH1 0x40
0000028c: MLOAD
0000028d: DUP1
0000028e: DUP4
0000028f: DUP4
00000290: DUP1
00000291: DUP3
00000292: DUP5
00000293: CALLDATACOPY
00000294: DUP3
00000295: ADD
00000296: SWAP2
00000297: POP
00000298: POP
00000299: SWAP3
0000029a: POP
0000029b: POP
0000029c: POP
0000029d: PUSH1 0x40
0000029f: MLOAD
000002a0: DUP1
000002a1: SWAP2
000002a2: SUB
000002a3: SWAP1
000002a4: KECCAK256
000002a5: PUSH2 0x070d
000002a8: DUP2
000002a9: PUSH2 0x0136
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH2 0x0356
000002b1: PUSH1 0x04
000002b3: CALLDATALOAD
000002b4: PUSH1 0x24
000002b6: CALLDATALOAD
000002b7: PUSH1 0x00
000002b9: DUP3
000002ba: DUP2
000002bb: MSTORE
000002bc: PUSH2 0x0103
000002bf: PUSH1 0x20
000002c1: SWAP1
000002c2: DUP2
000002c3: MSTORE
000002c4: PUSH1 0x40
000002c6: DUP1
000002c7: DUP4
000002c8: KECCAK256
000002c9: PUSH1 0x01
000002cb: PUSH1 0xa0
000002cd: PUSH1 0x02
000002cf: EXP
000002d0: SUB
000002d1: DUP6
000002d2: AND
000002d3: DUP5
000002d4: MSTORE
000002d5: PUSH2 0x0102
000002d8: SWAP1
000002d9: SWAP3
000002da: MSTORE
000002db: DUP3
000002dc: KECCAK256
000002dd: SLOAD
000002de: DUP3
000002df: DUP2
000002e0: DUP2
000002e1: EQ
000002e2: ISZERO
000002e3: PUSH2 0x0766
000002e6: JUMPI
000002e7: PUSH2 0x078a
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH2 0x0354
000002ef: PUSH1 0x04
000002f1: CALLDATALOAD
000002f2: PUSH1 0x00
000002f4: CALLDATASIZE
000002f5: PUSH1 0x40
000002f7: MLOAD
000002f8: DUP1
000002f9: DUP4
000002fa: DUP4
000002fb: DUP1
000002fc: DUP3
000002fd: DUP5
000002fe: CALLDATACOPY
000002ff: DUP3
00000300: ADD
00000301: SWAP2
00000302: POP
00000303: POP
00000304: SWAP3
00000305: POP
00000306: POP
00000307: POP
00000308: PUSH1 0x40
0000030a: MLOAD
0000030b: DUP1
0000030c: SWAP2
0000030d: SUB
0000030e: SWAP1
0000030f: KECCAK256
00000310: PUSH2 0x07ad
00000313: DUP2
00000314: PUSH2 0x0136
00000317: JUMP
00000318: JUMPDEST
00000319: PUSH2 0x0354
0000031c: PUSH1 0x04
0000031e: CALLDATALOAD
0000031f: PUSH1 0x24
00000321: CALLDATALOAD
00000322: PUSH1 0x00
00000324: PUSH1 0x00
00000326: CALLDATASIZE
00000327: PUSH1 0x40
00000329: MLOAD
0000032a: DUP1
0000032b: DUP4
0000032c: DUP4
0000032d: DUP1
0000032e: DUP3
0000032f: DUP5
00000330: CALLDATACOPY
00000331: DUP3
00000332: ADD
00000333: SWAP2
00000334: POP
00000335: POP
00000336: SWAP3
00000337: POP
00000338: POP
00000339: POP
0000033a: PUSH1 0x40
0000033c: MLOAD
0000033d: DUP1
0000033e: SWAP2
0000033f: SUB
00000340: SWAP1
00000341: KECCAK256
00000342: PUSH2 0x0472
00000345: DUP2
00000346: PUSH2 0x0136
00000349: JUMP
0000034a: JUMPDEST
0000034b: PUSH2 0x0356
0000034e: PUSH2 0x0105
00000351: SLOAD
00000352: DUP2
00000353: JUMP
00000354: JUMPDEST
00000355: STOP
00000356: JUMPDEST
00000357: PUSH1 0x40
00000359: DUP1
0000035a: MLOAD
0000035b: SWAP2
0000035c: DUP3
0000035d: MSTORE
0000035e: MLOAD
0000035f: SWAP1
00000360: DUP2
00000361: SWAP1
00000362: SUB
00000363: PUSH1 0x20
00000365: ADD
00000366: SWAP1
00000367: RETURN
00000368: JUMPDEST
00000369: POP
0000036a: POP
0000036b: PUSH1 0x00
0000036d: DUP3
0000036e: DUP2
0000036f: MSTORE
00000370: PUSH2 0x0103
00000373: PUSH1 0x20
00000375: MSTORE
00000376: PUSH1 0x40
00000378: DUP2
00000379: KECCAK256
0000037a: PUSH1 0x01
0000037c: DUP2
0000037d: ADD
0000037e: SLOAD
0000037f: PUSH1 0x02
00000381: DUP5
00000382: SWAP1
00000383: EXP
00000384: SWAP3
00000385: SWAP1
00000386: DUP4
00000387: AND
00000388: GT
00000389: ISZERO
0000038a: PUSH2 0x03e7
0000038d: JUMPI
0000038e: DUP1
0000038f: SLOAD
00000390: PUSH1 0x01
00000392: DUP3
00000393: DUP2
00000394: ADD
00000395: DUP1
00000396: SLOAD
00000397: SWAP3
00000398: SWAP1
00000399: SWAP2
0000039a: ADD
0000039b: DUP4
0000039c: SSTORE
0000039d: SWAP1
0000039e: DUP4
0000039f: SWAP1
000003a0: SUB
000003a1: SWAP1
000003a2: SSTORE
000003a3: PUSH1 0x40
000003a5: DUP1
000003a6: MLOAD
000003a7: PUSH1 0x01
000003a9: PUSH1 0xa0
000003ab: PUSH1 0x02
000003ad: EXP
000003ae: SUB
000003af: CALLER
000003b0: AND
000003b1: DUP2
000003b2: MSTORE
000003b3: PUSH1 0x20
000003b5: DUP2
000003b6: ADD
000003b7: DUP7
000003b8: SWAP1
000003b9: MSTORE
000003ba: DUP2
000003bb: MLOAD
000003bc: PUSH32 0xc7fb647e59b18047309aa15aad418e5d7ca96d173ad704f1031a2c3d7591734b
000003dd: SWAP3
000003de: SWAP2
000003df: DUP2
000003e0: SWAP1
000003e1: SUB
000003e2: SWAP1
000003e3: SWAP2
000003e4: ADD
000003e5: SWAP1
000003e6: LOG1
000003e7: JUMPDEST
000003e8: POP
000003e9: POP
000003ea: POP
000003eb: POP
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH1 0x01
000003f0: PUSH1 0xa0
000003f2: PUSH1 0x02
000003f4: EXP
000003f5: SUB
000003f6: DUP4
000003f7: AND
000003f8: PUSH1 0x02
000003fa: DUP4
000003fb: PUSH2 0x0100
000003fe: DUP2
000003ff: LT
00000400: ISZERO
00000401: PUSH2 0x0002
00000404: JUMPI
00000405: POP
00000406: DUP4
00000407: ADD
00000408: DUP2
00000409: SWAP1
0000040a: SSTORE
0000040b: PUSH1 0x01
0000040d: PUSH1 0xa0
0000040f: PUSH1 0x02
00000411: EXP
00000412: SUB
00000413: DUP6
00000414: AND
00000415: PUSH1 0x00
00000417: DUP2
00000418: DUP2
00000419: MSTORE
0000041a: PUSH2 0x0102
0000041d: PUSH1 0x20
0000041f: SWAP1
00000420: DUP2
00000421: MSTORE
00000422: PUSH1 0x40
00000424: DUP1
00000425: DUP4
00000426: KECCAK256
00000427: DUP4
00000428: SWAP1
00000429: SSTORE
0000042a: DUP5
0000042b: DUP4
0000042c: MSTORE
0000042d: SWAP2
0000042e: DUP3
0000042f: SWAP1
00000430: KECCAK256
00000431: DUP7
00000432: SWAP1
00000433: SSTORE
00000434: DUP2
00000435: MLOAD
00000436: SWAP3
00000437: DUP4
00000438: MSTORE
00000439: DUP3
0000043a: ADD
0000043b: SWAP3
0000043c: SWAP1
0000043d: SWAP3
0000043e: MSTORE
0000043f: DUP2
00000440: MLOAD
00000441: PUSH32 0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c
00000462: SWAP3
00000463: SWAP2
00000464: DUP2
00000465: SWAP1
00000466: SUB
00000467: SWAP1
00000468: SWAP2
00000469: ADD
0000046a: SWAP1
0000046b: LOG1
0000046c: POP
0000046d: JUMPDEST
0000046e: POP
0000046f: POP
00000470: POP
00000471: JUMP
00000472: JUMPDEST
00000473: ISZERO
00000474: PUSH2 0x03e7
00000477: JUMPI
00000478: PUSH2 0x0480
0000047b: DUP4
0000047c: PUSH2 0x0166
0000047f: JUMP
00000480: JUMPDEST
00000481: ISZERO
00000482: PUSH2 0x048b
00000485: JUMPI
00000486: POP
00000487: PUSH2 0x046d
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH1 0x01
0000048e: PUSH1 0xa0
00000490: PUSH1 0x02
00000492: EXP
00000493: SUB
00000494: DUP5
00000495: AND
00000496: PUSH1 0x00
00000498: SWAP1
00000499: DUP2
0000049a: MSTORE
0000049b: PUSH2 0x0102
0000049e: PUSH1 0x20
000004a0: MSTORE
000004a1: PUSH1 0x40
000004a3: DUP2
000004a4: KECCAK256
000004a5: SLOAD
000004a6: SWAP3
000004a7: POP
000004a8: DUP3
000004a9: EQ
000004aa: ISZERO
000004ab: PUSH2 0x04b4
000004ae: JUMPI
000004af: POP
000004b0: PUSH2 0x046d
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x03ed
000004b8: JUMPDEST
000004b9: PUSH2 0x0104
000004bc: SLOAD
000004bd: PUSH1 0x00
000004bf: JUMPDEST
000004c0: DUP2
000004c1: DUP2
000004c2: LT
000004c3: ISZERO
000004c4: PUSH2 0x0f1e
000004c7: JUMPI
000004c8: PUSH2 0x0104
000004cb: DUP1
000004cc: SLOAD
000004cd: PUSH2 0x0108
000004d0: SWAP2
000004d1: PUSH1 0x00
000004d3: SWAP2
000004d4: DUP5
000004d5: SWAP1
000004d6: DUP2
000004d7: LT
000004d8: ISZERO
000004d9: PUSH2 0x0002
000004dc: JUMPI
000004dd: PUSH1 0x00
000004df: DUP1
000004e0: MLOAD
000004e1: PUSH1 0x20
000004e3: PUSH2 0x0feb
000004e6: DUP4
000004e7: CODECOPY
000004e8: DUP2
000004e9: MLOAD
000004ea: SWAP2
000004eb: MSTORE
000004ec: ADD
000004ed: SLOAD
000004ee: DUP3
000004ef: MSTORE
000004f0: POP
000004f1: PUSH1 0x20
000004f3: SWAP2
000004f4: SWAP1
000004f5: SWAP2
000004f6: MSTORE
000004f7: PUSH1 0x40
000004f9: DUP2
000004fa: KECCAK256
000004fb: DUP1
000004fc: SLOAD
000004fd: PUSH1 0x01
000004ff: PUSH1 0xa0
00000501: PUSH1 0x02
00000503: EXP
00000504: SUB
00000505: NOT
00000506: AND
00000507: DUP2
00000508: SSTORE
00000509: PUSH1 0x01
0000050b: DUP2
0000050c: DUP2
0000050d: ADD
0000050e: DUP4
0000050f: SWAP1
00000510: SSTORE
00000511: PUSH1 0x02
00000513: DUP3
00000514: DUP2
00000515: ADD
00000516: DUP1
00000517: SLOAD
00000518: DUP6
00000519: DUP3
0000051a: SSTORE
0000051b: SWAP4
0000051c: SWAP5
0000051d: SWAP4
0000051e: SWAP1
0000051f: SWAP3
00000520: DUP2
00000521: AND
00000522: ISZERO
00000523: PUSH2 0x0100
00000526: MUL
00000527: PUSH1 0x00
00000529: NOT
0000052a: ADD
0000052b: AND
0000052c: DIV
0000052d: PUSH1 0x1f
0000052f: DUP2
00000530: SWAP1
00000531: LT
00000532: PUSH2 0x0fa3
00000535: JUMPI
00000536: POP
00000537: JUMPDEST
00000538: POP
00000539: POP
0000053a: POP
0000053b: PUSH1 0x01
0000053d: ADD
0000053e: PUSH2 0x04bf
00000541: JUMP
00000542: JUMPDEST
00000543: PUSH1 0x01
00000545: DUP1
00000546: SLOAD
00000547: DUP2
00000548: ADD
00000549: SWAP1
0000054a: DUP2
0000054b: SWAP1
0000054c: SSTORE
0000054d: PUSH1 0x01
0000054f: PUSH1 0xa0
00000551: PUSH1 0x02
00000553: EXP
00000554: SUB
00000555: DUP4
00000556: AND
00000557: SWAP1
00000558: PUSH1 0x02
0000055a: SWAP1
0000055b: PUSH2 0x0100
0000055e: DUP2
0000055f: LT
00000560: ISZERO
00000561: PUSH2 0x0002
00000564: JUMPI
00000565: SWAP1
00000566: SWAP1
00000567: ADD
00000568: PUSH1 0x00
0000056a: POP
0000056b: SSTORE
0000056c: PUSH1 0x01
0000056e: SLOAD
0000056f: PUSH1 0x01
00000571: PUSH1 0xa0
00000573: PUSH1 0x02
00000575: EXP
00000576: SUB
00000577: DUP4
00000578: AND
00000579: PUSH1 0x00
0000057b: DUP2
0000057c: DUP2
0000057d: MSTORE
0000057e: PUSH2 0x0102
00000581: PUSH1 0x20
00000583: SWAP1
00000584: DUP2
00000585: MSTORE
00000586: PUSH1 0x40
00000588: SWAP2
00000589: DUP3
0000058a: SWAP1
0000058b: KECCAK256
0000058c: SWAP4
0000058d: SWAP1
0000058e: SWAP4
0000058f: SSTORE
00000590: DUP1
00000591: MLOAD
00000592: SWAP2
00000593: DUP3
00000594: MSTORE
00000595: MLOAD
00000596: PUSH32 0x994a936646fe87ffe4f1e469d3d6aa417d6b855598397f323de5b449f765f0c3
000005b7: SWAP3
000005b8: SWAP2
000005b9: DUP2
000005ba: SWAP1
000005bb: SUB
000005bc: SWAP1
000005bd: SWAP2
000005be: ADD
000005bf: SWAP1
000005c0: LOG1
000005c1: JUMPDEST
000005c2: POP
000005c3: JUMPDEST
000005c4: POP
000005c5: JUMP
000005c6: JUMPDEST
000005c7: ISZERO
000005c8: PUSH2 0x05c1
000005cb: JUMPI
000005cc: PUSH2 0x05d4
000005cf: DUP3
000005d0: PUSH2 0x0166
000005d3: JUMP
000005d4: JUMPDEST
000005d5: ISZERO
000005d6: PUSH2 0x05df
000005d9: JUMPI
000005da: POP
000005db: PUSH2 0x05c3
000005de: JUMP
000005df: JUMPDEST
000005e0: PUSH2 0x05e7
000005e3: PUSH2 0x04b8
000005e6: JUMP
000005e7: JUMPDEST
000005e8: PUSH1 0x01
000005ea: SLOAD
000005eb: PUSH1 0xfa
000005ed: SWAP1
000005ee: LT
000005ef: PUSH2 0x05fc
000005f2: JUMPI
000005f3: PUSH2 0x05fa
000005f6: PUSH2 0x0611
000005f9: JUMP
000005fa: JUMPDEST
000005fb: POP
000005fc: JUMPDEST
000005fd: PUSH1 0x01
000005ff: SLOAD
00000600: PUSH1 0xfa
00000602: SWAP1
00000603: LT
00000604: PUSH2 0x0542
00000607: JUMPI
00000608: POP
00000609: PUSH2 0x05c3
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x06cb
00000611: JUMPDEST
00000612: PUSH1 0x00
00000614: PUSH1 0x01
00000616: JUMPDEST
00000617: PUSH1 0x01
00000619: SLOAD
0000061a: DUP2
0000061b: LT
0000061c: ISZERO
0000061d: PUSH2 0x0a37
00000620: JUMPI
00000621: JUMPDEST
00000622: PUSH1 0x01
00000624: SLOAD
00000625: DUP2
00000626: LT
00000627: DUP1
00000628: ISZERO
00000629: PUSH2 0x0641
0000062c: JUMPI
0000062d: POP
0000062e: PUSH1 0x02
00000630: DUP2
00000631: PUSH2 0x0100
00000634: DUP2
00000635: LT
00000636: ISZERO
00000637: PUSH2 0x0002
0000063a: JUMPI
0000063b: ADD
0000063c: SLOAD
0000063d: PUSH1 0x00
0000063f: EQ
00000640: ISZERO
00000641: JUMPDEST
00000642: ISZERO
00000643: PUSH2 0x0ddb
00000646: JUMPI
00000647: PUSH1 0x01
00000649: ADD
0000064a: PUSH2 0x0621
0000064d: JUMP
0000064e: JUMPDEST
0000064f: ISZERO
00000650: PUSH2 0x046d
00000653: JUMPI
00000654: PUSH1 0x01
00000656: PUSH1 0xa0
00000658: PUSH1 0x02
0000065a: EXP
0000065b: SUB
0000065c: DUP4
0000065d: AND
0000065e: PUSH1 0x00
00000660: SWAP1
00000661: DUP2
00000662: MSTORE
00000663: PUSH2 0x0102
00000666: PUSH1 0x20
00000668: MSTORE
00000669: PUSH1 0x40
0000066b: DUP2
0000066c: KECCAK256
0000066d: SLOAD
0000066e: SWAP3
0000066f: POP
00000670: DUP3
00000671: EQ
00000672: ISZERO
00000673: PUSH2 0x067c
00000676: JUMPI
00000677: POP
00000678: PUSH2 0x05c1
0000067b: JUMP
0000067c: JUMPDEST
0000067d: PUSH1 0x01
0000067f: PUSH1 0x01
00000681: PUSH1 0x00
00000683: POP
00000684: SLOAD
00000685: SUB
00000686: PUSH1 0x00
00000688: PUSH1 0x00
0000068a: POP
0000068b: SLOAD
0000068c: GT
0000068d: ISZERO
0000068e: PUSH2 0x0697
00000691: JUMPI
00000692: POP
00000693: PUSH2 0x05c1
00000696: JUMP
00000697: JUMPDEST
00000698: PUSH1 0x00
0000069a: PUSH1 0x02
0000069c: DUP4
0000069d: PUSH2 0x0100
000006a0: DUP2
000006a1: LT
000006a2: ISZERO
000006a3: PUSH2 0x0002
000006a6: JUMPI
000006a7: POP
000006a8: DUP4
000006a9: ADD
000006aa: DUP2
000006ab: SWAP1
000006ac: SSTORE
000006ad: PUSH1 0x01
000006af: PUSH1 0xa0
000006b1: PUSH1 0x02
000006b3: EXP
000006b4: SUB
000006b5: DUP5
000006b6: AND
000006b7: DUP2
000006b8: MSTORE
000006b9: PUSH2 0x0102
000006bc: PUSH1 0x20
000006be: MSTORE
000006bf: PUSH1 0x40
000006c1: DUP2
000006c2: KECCAK256
000006c3: SSTORE
000006c4: PUSH2 0x060d
000006c7: PUSH2 0x04b8
000006ca: JUMP
000006cb: JUMPDEST
000006cc: POP
000006cd: PUSH1 0x40
000006cf: DUP1
000006d0: MLOAD
000006d1: PUSH1 0x01
000006d3: PUSH1 0xa0
000006d5: PUSH1 0x02
000006d7: EXP
000006d8: SUB
000006d9: DUP6
000006da: AND
000006db: DUP2
000006dc: MSTORE
000006dd: SWAP1
000006de: MLOAD
000006df: PUSH32 0x58619076adf5bb0943d100ef88d52d7c3fd691b19d3a9071b555b651fbf418da
00000700: SWAP2
00000701: DUP2
00000702: SWAP1
00000703: SUB
00000704: PUSH1 0x20
00000706: ADD
00000707: SWAP1
00000708: LOG1
00000709: POP
0000070a: POP
0000070b: POP
0000070c: JUMP
0000070d: JUMPDEST
0000070e: ISZERO
0000070f: PUSH2 0x05c1
00000712: JUMPI
00000713: PUSH1 0x01
00000715: SLOAD
00000716: DUP3
00000717: GT
00000718: ISZERO
00000719: PUSH2 0x0722
0000071c: JUMPI
0000071d: POP
0000071e: PUSH2 0x05c3
00000721: JUMP
00000722: JUMPDEST
00000723: PUSH1 0x00
00000725: DUP3
00000726: SWAP1
00000727: SSTORE
00000728: PUSH2 0x072f
0000072b: PUSH2 0x04b8
0000072e: JUMP
0000072f: JUMPDEST
00000730: PUSH1 0x40
00000732: DUP1
00000733: MLOAD
00000734: DUP4
00000735: DUP2
00000736: MSTORE
00000737: SWAP1
00000738: MLOAD
00000739: PUSH32 0xacbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da
0000075a: SWAP2
0000075b: DUP2
0000075c: SWAP1
0000075d: SUB
0000075e: PUSH1 0x20
00000760: ADD
00000761: SWAP1
00000762: LOG1
00000763: POP
00000764: POP
00000765: JUMP
00000766: JUMPDEST
00000767: POP
00000768: PUSH1 0x01
0000076a: DUP3
0000076b: ADD
0000076c: SLOAD
0000076d: PUSH1 0x02
0000076f: DUP3
00000770: SWAP1
00000771: EXP
00000772: SWAP1
00000773: DUP2
00000774: AND
00000775: PUSH1 0x00
00000777: EQ
00000778: ISZERO
00000779: PUSH2 0x0785
0000077c: JUMPI
0000077d: PUSH1 0x00
0000077f: SWAP4
00000780: POP
00000781: PUSH2 0x078a
00000784: JUMP
00000785: JUMPDEST
00000786: PUSH1 0x01
00000788: SWAP4
00000789: POP
0000078a: JUMPDEST
0000078b: POP
0000078c: POP
0000078d: POP
0000078e: SWAP3
0000078f: SWAP2
00000790: POP
00000791: POP
00000792: JUMP
00000793: JUMPDEST
00000794: ISZERO
00000795: PUSH2 0x05c1
00000798: JUMPI
00000799: POP
0000079a: PUSH2 0x0105
0000079d: SSTORE
0000079e: JUMP
0000079f: JUMPDEST
000007a0: ISZERO
000007a1: PUSH2 0x05c3
000007a4: JUMPI
000007a5: PUSH1 0x00
000007a7: PUSH2 0x0106
000007aa: SSTORE
000007ab: POP
000007ac: JUMP
000007ad: JUMPDEST
000007ae: ISZERO
000007af: PUSH2 0x05c1
000007b2: JUMPI
000007b3: DUP2
000007b4: PUSH1 0x01
000007b6: PUSH1 0xa0
000007b8: PUSH1 0x02
000007ba: EXP
000007bb: SUB
000007bc: AND
000007bd: SELFDESTRUCT
000007be: JUMPDEST
000007bf: ISZERO
000007c0: PUSH2 0x09ff
000007c3: JUMPI
000007c4: PUSH2 0x07d2
000007c7: DUP5
000007c8: PUSH1 0x00
000007ca: PUSH2 0x0eb5
000007cd: CALLER
000007ce: PUSH2 0x0166
000007d1: JUMP
000007d2: JUMPDEST
000007d3: ISZERO
000007d4: PUSH2 0x0891
000007d7: JUMPI
000007d8: PUSH32 0x92ca3a80853e6663fa31fa10b99225f18d4902939b4c53a9caae9043f6efd004
000007f9: CALLER
000007fa: DUP6
000007fb: DUP8
000007fc: DUP7
000007fd: DUP7
000007fe: PUSH1 0x40
00000800: MLOAD
00000801: DUP1
00000802: DUP7
00000803: PUSH1 0x01
00000805: PUSH1 0xa0
00000807: PUSH1 0x02
00000809: EXP
0000080a: SUB
0000080b: AND
0000080c: DUP2
0000080d: MSTORE
0000080e: PUSH1 0x20
00000810: ADD
00000811: DUP6
00000812: DUP2
00000813: MSTORE
00000814: PUSH1 0x20
00000816: ADD
00000817: DUP5
00000818: PUSH1 0x01
0000081a: PUSH1 0xa0
0000081c: PUSH1 0x02
0000081e: EXP
0000081f: SUB
00000820: AND
00000821: DUP2
00000822: MSTORE
00000823: PUSH1 0x20
00000825: ADD
00000826: DUP1
00000827: PUSH1 0x20
00000829: ADD
0000082a: DUP3
0000082b: DUP2
0000082c: SUB
0000082d: DUP3
0000082e: MSTORE
0000082f: DUP5
00000830: DUP5
00000831: DUP3
00000832: DUP2
00000833: DUP2
00000834: MSTORE
00000835: PUSH1 0x20
00000837: ADD
00000838: SWAP3
00000839: POP
0000083a: DUP1
0000083b: DUP3
0000083c: DUP5
0000083d: CALLDATACOPY
0000083e: DUP3
0000083f: ADD
00000840: SWAP2
00000841: POP
00000842: POP
00000843: SWAP7
00000844: POP
00000845: POP
00000846: POP
00000847: POP
00000848: POP
00000849: POP
0000084a: POP
0000084b: PUSH1 0x40
0000084d: MLOAD
0000084e: DUP1
0000084f: SWAP2
00000850: SUB
00000851: SWAP1
00000852: LOG1
00000853: DUP5
00000854: PUSH1 0x01
00000856: PUSH1 0xa0
00000858: PUSH1 0x02
0000085a: EXP
0000085b: SUB
0000085c: AND
0000085d: DUP5
0000085e: DUP5
0000085f: DUP5
00000860: PUSH1 0x40
00000862: MLOAD
00000863: DUP1
00000864: DUP4
00000865: DUP4
00000866: DUP1
00000867: DUP3
00000868: DUP5
00000869: CALLDATACOPY
0000086a: DUP3
0000086b: ADD
0000086c: SWAP2
0000086d: POP
0000086e: POP
0000086f: SWAP3
00000870: POP
00000871: POP
00000872: POP
00000873: PUSH1 0x00
00000875: PUSH1 0x40
00000877: MLOAD
00000878: DUP1
00000879: DUP4
0000087a: SUB
0000087b: DUP2
0000087c: DUP6
0000087d: DUP8
0000087e: PUSH2 0x8502
00000881: GAS
00000882: SUB
00000883: CALL
00000884: POP
00000885: PUSH1 0x00
00000887: SWAP4
00000888: POP
00000889: PUSH2 0x09ff
0000088c: SWAP3
0000088d: POP
0000088e: POP
0000088f: POP
00000890: JUMP
00000891: JUMPDEST
00000892: PUSH1 0x00
00000894: CALLDATASIZE
00000895: NUMBER
00000896: PUSH1 0x40
00000898: MLOAD
00000899: DUP1
0000089a: DUP5
0000089b: DUP5
0000089c: DUP1
0000089d: DUP3
0000089e: DUP5
0000089f: CALLDATACOPY
000008a0: DUP3
000008a1: ADD
000008a2: SWAP2
000008a3: POP
000008a4: POP
000008a5: DUP3
000008a6: DUP2
000008a7: MSTORE
000008a8: PUSH1 0x20
000008aa: ADD
000008ab: SWAP4
000008ac: POP
000008ad: POP
000008ae: POP
000008af: POP
000008b0: PUSH1 0x40
000008b2: MLOAD
000008b3: DUP1
000008b4: SWAP2
000008b5: SUB
000008b6: SWAP1
000008b7: KECCAK256
000008b8: SWAP1
000008b9: POP
000008ba: DUP1
000008bb: POP
000008bc: PUSH2 0x08c4
000008bf: DUP2
000008c0: PUSH2 0x01f7
000008c3: JUMP
000008c4: JUMPDEST
000008c5: ISZERO
000008c6: DUP1
000008c7: ISZERO
000008c8: PUSH2 0x08e7
000008cb: JUMPI
000008cc: POP
000008cd: PUSH1 0x00
000008cf: DUP2
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH2 0x0108
000008d5: PUSH1 0x20
000008d7: MSTORE
000008d8: PUSH1 0x40
000008da: DUP2
000008db: KECCAK256
000008dc: SLOAD
000008dd: PUSH1 0x01
000008df: PUSH1 0xa0
000008e1: PUSH1 0x02
000008e3: EXP
000008e4: SUB
000008e5: AND
000008e6: EQ
000008e7: JUMPDEST
000008e8: ISZERO
000008e9: PUSH2 0x09ff
000008ec: JUMPI
000008ed: PUSH1 0x00
000008ef: DUP2
000008f0: DUP2
000008f1: MSTORE
000008f2: PUSH2 0x0108
000008f5: PUSH1 0x20
000008f7: SWAP1
000008f8: DUP2
000008f9: MSTORE
000008fa: PUSH1 0x40
000008fc: DUP3
000008fd: KECCAK256
000008fe: DUP1
000008ff: SLOAD
00000900: PUSH1 0x01
00000902: PUSH1 0xa0
00000904: PUSH1 0x02
00000906: EXP
00000907: SUB
00000908: NOT
00000909: AND
0000090a: DUP9
0000090b: OR
0000090c: DUP2
0000090d: SSTORE
0000090e: PUSH1 0x01
00000910: DUP2
00000911: DUP2
00000912: ADD
00000913: DUP9
00000914: SWAP1
00000915: SSTORE
00000916: PUSH1 0x02
00000918: SWAP2
00000919: DUP3
0000091a: ADD
0000091b: DUP1
0000091c: SLOAD
0000091d: DUP2
0000091e: DUP7
0000091f: MSTORE
00000920: SWAP5
00000921: DUP5
00000922: SWAP1
00000923: KECCAK256
00000924: SWAP1
00000925: SWAP5
00000926: SWAP2
00000927: DUP3
00000928: AND
00000929: ISZERO
0000092a: PUSH2 0x0100
0000092d: MUL
0000092e: PUSH1 0x00
00000930: NOT
00000931: ADD
00000932: SWAP1
00000933: SWAP2
00000934: AND
00000935: SWAP2
00000936: SWAP1
00000937: SWAP2
00000938: DIV
00000939: PUSH1 0x1f
0000093b: SWAP1
0000093c: DUP2
0000093d: ADD
0000093e: SWAP3
0000093f: SWAP1
00000940: SWAP3
00000941: DIV
00000942: DUP2
00000943: ADD
00000944: SWAP2
00000945: DUP6
00000946: SWAP2
00000947: SWAP1
00000948: DUP8
00000949: SWAP1
0000094a: DUP4
0000094b: SWAP1
0000094c: LT
0000094d: PUSH2 0x0a07
00000950: JUMPI
00000951: PUSH1 0xff
00000953: NOT
00000954: DUP2
00000955: CALLDATALOAD
00000956: AND
00000957: DUP4
00000958: DUP1
00000959: ADD
0000095a: OR
0000095b: DUP6
0000095c: SSTORE
0000095d: JUMPDEST
0000095e: POP
0000095f: PUSH2 0x0979
00000962: SWAP3
00000963: SWAP2
00000964: POP
00000965: JUMPDEST
00000966: DUP1
00000967: DUP3
00000968: GT
00000969: ISZERO
0000096a: PUSH2 0x0a37
0000096d: JUMPI
0000096e: PUSH1 0x00
00000970: DUP2
00000971: SSTORE
00000972: PUSH1 0x01
00000974: ADD
00000975: PUSH2 0x0965
00000978: JUMP
00000979: JUMPDEST
0000097a: POP
0000097b: POP
0000097c: PUSH32 0x1733cbb53659d713b79580f79f3f9ff215f78a7c7aa45890f3b89fc5cddfbf32
0000099d: DUP2
0000099e: CALLER
0000099f: DUP7
000009a0: DUP9
000009a1: DUP8
000009a2: DUP8
000009a3: PUSH1 0x40
000009a5: MLOAD
000009a6: DUP1
000009a7: DUP8
000009a8: DUP2
000009a9: MSTORE
000009aa: PUSH1 0x20
000009ac: ADD
000009ad: DUP7
000009ae: PUSH1 0x01
000009b0: PUSH1 0xa0
000009b2: PUSH1 0x02
000009b4: EXP
000009b5: SUB
000009b6: AND
000009b7: DUP2
000009b8: MSTORE
000009b9: PUSH1 0x20
000009bb: ADD
000009bc: DUP6
000009bd: DUP2
000009be: MSTORE
000009bf: PUSH1 0x20
000009c1: ADD
000009c2: DUP5
000009c3: PUSH1 0x01
000009c5: PUSH1 0xa0
000009c7: PUSH1 0x02
000009c9: EXP
000009ca: SUB
000009cb: AND
000009cc: DUP2
000009cd: MSTORE
000009ce: PUSH1 0x20
000009d0: ADD
000009d1: DUP1
000009d2: PUSH1 0x20
000009d4: ADD
000009d5: DUP3
000009d6: DUP2
000009d7: SUB
000009d8: DUP3
000009d9: MSTORE
000009da: DUP5
000009db: DUP5
000009dc: DUP3
000009dd: DUP2
000009de: DUP2
000009df: MSTORE
000009e0: PUSH1 0x20
000009e2: ADD
000009e3: SWAP3
000009e4: POP
000009e5: DUP1
000009e6: DUP3
000009e7: DUP5
000009e8: CALLDATACOPY
000009e9: DUP3
000009ea: ADD
000009eb: SWAP2
000009ec: POP
000009ed: POP
000009ee: SWAP8
000009ef: POP
000009f0: POP
000009f1: POP
000009f2: POP
000009f3: POP
000009f4: POP
000009f5: POP
000009f6: POP
000009f7: PUSH1 0x40
000009f9: MLOAD
000009fa: DUP1
000009fb: SWAP2
000009fc: SUB
000009fd: SWAP1
000009fe: LOG1
000009ff: JUMPDEST
00000a00: SWAP5
00000a01: SWAP4
00000a02: POP
00000a03: POP
00000a04: POP
00000a05: POP
00000a06: JUMP
00000a07: JUMPDEST
00000a08: DUP3
00000a09: DUP1
00000a0a: ADD
00000a0b: PUSH1 0x01
00000a0d: ADD
00000a0e: DUP6
00000a0f: SSTORE
00000a10: DUP3
00000a11: ISZERO
00000a12: PUSH2 0x095d
00000a15: JUMPI
00000a16: SWAP2
00000a17: DUP3
00000a18: ADD
00000a19: JUMPDEST
00000a1a: DUP3
00000a1b: DUP2
00000a1c: GT
00000a1d: ISZERO
00000a1e: PUSH2 0x095d
00000a21: JUMPI
00000a22: DUP3
00000a23: CALLDATALOAD
00000a24: DUP3
00000a25: PUSH1 0x00
00000a27: POP
00000a28: SSTORE
00000a29: SWAP2
00000a2a: PUSH1 0x20
00000a2c: ADD
00000a2d: SWAP2
00000a2e: SWAP1
00000a2f: PUSH1 0x01
00000a31: ADD
00000a32: SWAP1
00000a33: PUSH2 0x0a19
00000a36: JUMP
00000a37: JUMPDEST
00000a38: POP
00000a39: SWAP1
00000a3a: JUMP
00000a3b: JUMPDEST
00000a3c: ISZERO
00000a3d: PUSH2 0x0abe
00000a40: JUMPI
00000a41: PUSH1 0x00
00000a43: DUP4
00000a44: DUP2
00000a45: MSTORE
00000a46: PUSH2 0x0108
00000a49: PUSH1 0x20
00000a4b: MSTORE
00000a4c: PUSH1 0x40
00000a4e: DUP2
00000a4f: KECCAK256
00000a50: SLOAD
00000a51: PUSH1 0x01
00000a53: PUSH1 0xa0
00000a55: PUSH1 0x02
00000a57: EXP
00000a58: SUB
00000a59: AND
00000a5a: EQ
00000a5b: PUSH2 0x0abe
00000a5e: JUMPI
00000a5f: PUSH1 0x40
00000a61: DUP1
00000a62: MLOAD
00000a63: PUSH1 0x00
00000a65: SWAP2
00000a66: SWAP1
00000a67: SWAP2
00000a68: KECCAK256
00000a69: DUP1
00000a6a: SLOAD
00000a6b: PUSH1 0x01
00000a6d: DUP3
00000a6e: DUP2
00000a6f: ADD
00000a70: SLOAD
00000a71: PUSH1 0x02
00000a73: SWAP4
00000a74: DUP5
00000a75: ADD
00000a76: DUP1
00000a77: SLOAD
00000a78: PUSH1 0x01
00000a7a: PUSH1 0xa0
00000a7c: PUSH1 0x02
00000a7e: EXP
00000a7f: SUB
00000a80: SWAP5
00000a81: SWAP1
00000a82: SWAP5
00000a83: AND
00000a84: SWAP6
00000a85: SWAP2
00000a86: SWAP5
00000a87: SWAP1
00000a88: SWAP4
00000a89: SWAP2
00000a8a: SWAP3
00000a8b: DUP4
00000a8c: SWAP3
00000a8d: DUP6
00000a8e: SWAP3
00000a8f: SWAP2
00000a90: DUP2
00000a91: AND
00000a92: ISZERO
00000a93: PUSH2 0x0100
00000a96: MUL
00000a97: PUSH1 0x00
00000a99: NOT
00000a9a: ADD
00000a9b: AND
00000a9c: DIV
00000a9d: DUP1
00000a9e: ISZERO
00000a9f: PUSH2 0x0aef
00000aa2: JUMPI
00000aa3: DUP1
00000aa4: PUSH1 0x1f
00000aa6: LT
00000aa7: PUSH2 0x0ac4
00000aaa: JUMPI
00000aab: PUSH2 0x0100
00000aae: DUP1
00000aaf: DUP4
00000ab0: SLOAD
00000ab1: DIV
00000ab2: MUL
00000ab3: DUP4
00000ab4: MSTORE
00000ab5: SWAP2
00000ab6: PUSH1 0x20
00000ab8: ADD
00000ab9: SWAP2
00000aba: PUSH2 0x0aef
00000abd: JUMP
00000abe: JUMPDEST
00000abf: POP
00000ac0: SWAP2
00000ac1: SWAP1
00000ac2: POP
00000ac3: JUMP
00000ac4: JUMPDEST
00000ac5: DUP3
00000ac6: ADD
00000ac7: SWAP2
00000ac8: SWAP1
00000ac9: PUSH1 0x00
00000acb: MSTORE
00000acc: PUSH1 0x20
00000ace: PUSH1 0x00
00000ad0: KECCAK256
00000ad1: SWAP1
00000ad2: JUMPDEST
00000ad3: DUP2
00000ad4: SLOAD
00000ad5: DUP2
00000ad6: MSTORE
00000ad7: SWAP1
00000ad8: PUSH1 0x01
00000ada: ADD
00000adb: SWAP1
00000adc: PUSH1 0x20
00000ade: ADD
00000adf: DUP1
00000ae0: DUP4
00000ae1: GT
00000ae2: PUSH2 0x0ad2
00000ae5: JUMPI
00000ae6: DUP3
00000ae7: SWAP1
00000ae8: SUB
00000ae9: PUSH1 0x1f
00000aeb: AND
00000aec: DUP3
00000aed: ADD
00000aee: SWAP2
00000aef: JUMPDEST
00000af0: POP
00000af1: POP
00000af2: SWAP2
00000af3: POP
00000af4: POP
00000af5: PUSH1 0x00
00000af7: PUSH1 0x40
00000af9: MLOAD
00000afa: DUP1
00000afb: DUP4
00000afc: SUB
00000afd: DUP2
00000afe: DUP6
00000aff: DUP8
00000b00: PUSH2 0x8502
00000b03: GAS
00000b04: SUB
00000b05: CALL
00000b06: POP
00000b07: POP
00000b08: POP
00000b09: PUSH1 0x00
00000b0b: DUP5
00000b0c: DUP2
00000b0d: MSTORE
00000b0e: PUSH2 0x0108
00000b11: PUSH1 0x20
00000b13: SWAP1
00000b14: DUP2
00000b15: MSTORE
00000b16: PUSH1 0x40
00000b18: SWAP2
00000b19: DUP3
00000b1a: SWAP1
00000b1b: KECCAK256
00000b1c: DUP1
00000b1d: SLOAD
00000b1e: PUSH1 0x01
00000b20: DUP1
00000b21: DUP4
00000b22: ADD
00000b23: SLOAD
00000b24: DUP6
00000b25: MLOAD
00000b26: CALLER
00000b27: PUSH1 0x01
00000b29: PUSH1 0xa0
00000b2b: PUSH1 0x02
00000b2d: EXP
00000b2e: SUB
00000b2f: DUP2
00000b30: DUP2
00000b31: AND
00000b32: DUP4
00000b33: MSTORE
00000b34: SWAP7
00000b35: DUP3
00000b36: ADD
00000b37: DUP13
00000b38: SWAP1
00000b39: MSTORE
00000b3a: SWAP7
00000b3b: DUP2
00000b3c: ADD
00000b3d: DUP3
00000b3e: SWAP1
00000b3f: MSTORE
00000b40: SWAP3
00000b41: SWAP1
00000b42: SWAP5
00000b43: AND
00000b44: PUSH1 0x60
00000b46: DUP4
00000b47: ADD
00000b48: DUP2
00000b49: SWAP1
00000b4a: MSTORE
00000b4b: PUSH1 0xa0
00000b4d: PUSH1 0x80
00000b4f: DUP5
00000b50: ADD
00000b51: DUP2
00000b52: DUP2
00000b53: MSTORE
00000b54: PUSH1 0x02
00000b56: SWAP6
00000b57: DUP7
00000b58: ADD
00000b59: DUP1
00000b5a: SLOAD
00000b5b: SWAP5
00000b5c: DUP6
00000b5d: AND
00000b5e: ISZERO
00000b5f: PUSH2 0x0100
00000b62: MUL
00000b63: PUSH1 0x00
00000b65: NOT
00000b66: ADD
00000b67: SWAP1
00000b68: SWAP5
00000b69: AND
00000b6a: SWAP6
00000b6b: SWAP1
00000b6c: SWAP6
00000b6d: DIV
00000b6e: SWAP1
00000b6f: DUP5
00000b70: ADD
00000b71: DUP2
00000b72: SWAP1
00000b73: MSTORE
00000b74: PUSH32 0xe7c957c06e9a662c1a6c77366179f5b702b97651dc28eee7d5bf1dff6e40bb4a
00000b95: SWAP8
00000b96: POP
00000b97: DUP11
00000b98: SWAP6
00000b99: SWAP5
00000b9a: SWAP2
00000b9b: SWAP4
00000b9c: SWAP2
00000b9d: SWAP1
00000b9e: PUSH1 0xc0
00000ba0: DUP4
00000ba1: ADD
00000ba2: SWAP1
00000ba3: DUP5
00000ba4: SWAP1
00000ba5: DUP1
00000ba6: ISZERO
00000ba7: PUSH2 0x0bf1
00000baa: JUMPI
00000bab: DUP1
00000bac: PUSH1 0x1f
00000bae: LT
00000baf: PUSH2 0x0bc6
00000bb2: JUMPI
00000bb3: PUSH2 0x0100
00000bb6: DUP1
00000bb7: DUP4
00000bb8: SLOAD
00000bb9: DIV
00000bba: MUL
00000bbb: DUP4
00000bbc: MSTORE
00000bbd: SWAP2
00000bbe: PUSH1 0x20
00000bc0: ADD
00000bc1: SWAP2
00000bc2: PUSH2 0x0bf1
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: DUP3
00000bc8: ADD
00000bc9: SWAP2
00000bca: SWAP1
00000bcb: PUSH1 0x00
00000bcd: MSTORE
00000bce: PUSH1 0x20
00000bd0: PUSH1 0x00
00000bd2: KECCAK256
00000bd3: SWAP1
00000bd4: JUMPDEST
00000bd5: DUP2
00000bd6: SLOAD
00000bd7: DUP2
00000bd8: MSTORE
00000bd9: SWAP1
00000bda: PUSH1 0x01
00000bdc: ADD
00000bdd: SWAP1
00000bde: PUSH1 0x20
00000be0: ADD
00000be1: DUP1
00000be2: DUP4
00000be3: GT
00000be4: PUSH2 0x0bd4
00000be7: JUMPI
00000be8: DUP3
00000be9: SWAP1
00000bea: SUB
00000beb: PUSH1 0x1f
00000bed: AND
00000bee: DUP3
00000bef: ADD
00000bf0: SWAP2
00000bf1: JUMPDEST
00000bf2: POP
00000bf3: POP
00000bf4: SWAP7
00000bf5: POP
00000bf6: POP
00000bf7: POP
00000bf8: POP
00000bf9: POP
00000bfa: POP
00000bfb: POP
00000bfc: PUSH1 0x40
00000bfe: MLOAD
00000bff: DUP1
00000c00: SWAP2
00000c01: SUB
00000c02: SWAP1
00000c03: LOG1
00000c04: PUSH1 0x00
00000c06: DUP4
00000c07: DUP2
00000c08: MSTORE
00000c09: PUSH2 0x0108
00000c0c: PUSH1 0x20
00000c0e: MSTORE
00000c0f: PUSH1 0x40
00000c11: DUP2
00000c12: KECCAK256
00000c13: DUP1
00000c14: SLOAD
00000c15: PUSH1 0x01
00000c17: PUSH1 0xa0
00000c19: PUSH1 0x02
00000c1b: EXP
00000c1c: SUB
00000c1d: NOT
00000c1e: AND
00000c1f: DUP2
00000c20: SSTORE
00000c21: PUSH1 0x01
00000c23: DUP2
00000c24: DUP2
00000c25: ADD
00000c26: DUP4
00000c27: SWAP1
00000c28: SSTORE
00000c29: PUSH1 0x02
00000c2b: DUP3
00000c2c: DUP2
00000c2d: ADD
00000c2e: DUP1
00000c2f: SLOAD
00000c30: DUP6
00000c31: DUP3
00000c32: SSTORE
00000c33: SWAP4
00000c34: SWAP5
00000c35: SWAP4
00000c36: SWAP1
00000c37: SWAP3
00000c38: DUP2
00000c39: AND
00000c3a: ISZERO
00000c3b: PUSH2 0x0100
00000c3e: MUL
00000c3f: PUSH1 0x00
00000c41: NOT
00000c42: ADD
00000c43: AND
00000c44: DIV
00000c45: PUSH1 0x1f
00000c47: DUP2
00000c48: SWAP1
00000c49: LT
00000c4a: PUSH2 0x0c5c
00000c4d: JUMPI
00000c4e: POP
00000c4f: JUMPDEST
00000c50: POP
00000c51: POP
00000c52: POP
00000c53: PUSH1 0x01
00000c55: SWAP2
00000c56: POP
00000c57: POP
00000c58: PUSH2 0x0182
00000c5b: JUMP
00000c5c: JUMPDEST
00000c5d: PUSH1 0x1f
00000c5f: ADD
00000c60: PUSH1 0x20
00000c62: SWAP1
00000c63: DIV
00000c64: SWAP1
00000c65: PUSH1 0x00
00000c67: MSTORE
00000c68: PUSH1 0x20
00000c6a: PUSH1 0x00
00000c6c: KECCAK256
00000c6d: SWAP1
00000c6e: DUP2
00000c6f: ADD
00000c70: SWAP1
00000c71: PUSH2 0x0c4f
00000c74: SWAP2
00000c75: SWAP1
00000c76: PUSH2 0x0965
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH1 0x00
00000c7d: DUP6
00000c7e: DUP2
00000c7f: MSTORE
00000c80: PUSH2 0x0103
00000c83: PUSH1 0x20
00000c85: MSTORE
00000c86: PUSH1 0x40
00000c88: DUP2
00000c89: KECCAK256
00000c8a: DUP1
00000c8b: SLOAD
00000c8c: SWAP1
00000c8d: SWAP4
00000c8e: POP
00000c8f: EQ
00000c90: ISZERO
00000c91: PUSH2 0x0d02
00000c94: JUMPI
00000c95: PUSH1 0x00
00000c97: DUP1
00000c98: SLOAD
00000c99: DUP4
00000c9a: SSTORE
00000c9b: PUSH1 0x01
00000c9d: DUP4
00000c9e: DUP2
00000c9f: ADD
00000ca0: SWAP2
00000ca1: SWAP1
00000ca2: SWAP2
00000ca3: SSTORE
00000ca4: PUSH2 0x0104
00000ca7: DUP1
00000ca8: SLOAD
00000ca9: SWAP2
00000caa: DUP3
00000cab: ADD
00000cac: DUP1
00000cad: DUP3
00000cae: SSTORE
00000caf: DUP3
00000cb0: DUP1
00000cb1: ISZERO
00000cb2: DUP3
00000cb3: SWAP1
00000cb4: GT
00000cb5: PUSH2 0x0cd1
00000cb8: JUMPI
00000cb9: DUP2
00000cba: DUP4
00000cbb: PUSH1 0x00
00000cbd: MSTORE
00000cbe: PUSH1 0x20
00000cc0: PUSH1 0x00
00000cc2: KECCAK256
00000cc3: SWAP2
00000cc4: DUP3
00000cc5: ADD
00000cc6: SWAP2
00000cc7: ADD
00000cc8: PUSH2 0x0cd1
00000ccb: SWAP2
00000ccc: SWAP1
00000ccd: PUSH2 0x0965
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: POP
00000cd3: POP
00000cd4: POP
00000cd5: PUSH1 0x02
00000cd7: DUP4
00000cd8: ADD
00000cd9: DUP2
00000cda: SWAP1
00000cdb: SSTORE
00000cdc: PUSH2 0x0104
00000cdf: DUP1
00000ce0: SLOAD
00000ce1: DUP8
00000ce2: SWAP3
00000ce3: SWAP1
00000ce4: DUP2
00000ce5: LT
00000ce6: ISZERO
00000ce7: PUSH2 0x0002
00000cea: JUMPI
00000ceb: PUSH1 0x00
00000ced: SWAP2
00000cee: SWAP1
00000cef: SWAP2
00000cf0: MSTORE
00000cf1: PUSH1 0x00
00000cf3: DUP1
00000cf4: MLOAD
00000cf5: PUSH1 0x20
00000cf7: PUSH2 0x0feb
00000cfa: DUP4
00000cfb: CODECOPY
00000cfc: DUP2
00000cfd: MLOAD
00000cfe: SWAP2
00000cff: MSTORE
00000d00: ADD
00000d01: SSTORE
00000d02: JUMPDEST
00000d03: POP
00000d04: PUSH1 0x01
00000d06: DUP2
00000d07: ADD
00000d08: SLOAD
00000d09: PUSH1 0x02
00000d0b: DUP4
00000d0c: SWAP1
00000d0d: EXP
00000d0e: SWAP1
00000d0f: DUP2
00000d10: AND
00000d11: PUSH1 0x00
00000d13: EQ
00000d14: ISZERO
00000d15: PUSH2 0x0dd3
00000d18: JUMPI
00000d19: PUSH1 0x40
00000d1b: DUP1
00000d1c: MLOAD
00000d1d: PUSH1 0x01
00000d1f: PUSH1 0xa0
00000d21: PUSH1 0x02
00000d23: EXP
00000d24: SUB
00000d25: CALLER
00000d26: AND
00000d27: DUP2
00000d28: MSTORE
00000d29: PUSH1 0x20
00000d2b: DUP2
00000d2c: ADD
00000d2d: DUP8
00000d2e: SWAP1
00000d2f: MSTORE
00000d30: DUP2
00000d31: MLOAD
00000d32: PUSH32 0xe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda
00000d53: SWAP3
00000d54: SWAP2
00000d55: DUP2
00000d56: SWAP1
00000d57: SUB
00000d58: SWAP1
00000d59: SWAP2
00000d5a: ADD
00000d5b: SWAP1
00000d5c: LOG1
00000d5d: DUP2
00000d5e: SLOAD
00000d5f: PUSH1 0x01
00000d61: SWAP1
00000d62: GT
00000d63: PUSH2 0x0dc0
00000d66: JUMPI
00000d67: PUSH1 0x00
00000d69: DUP6
00000d6a: DUP2
00000d6b: MSTORE
00000d6c: PUSH2 0x0103
00000d6f: PUSH1 0x20
00000d71: MSTORE
00000d72: PUSH1 0x40
00000d74: SWAP1
00000d75: KECCAK256
00000d76: PUSH1 0x02
00000d78: ADD
00000d79: SLOAD
00000d7a: PUSH2 0x0104
00000d7d: DUP1
00000d7e: SLOAD
00000d7f: SWAP1
00000d80: SWAP2
00000d81: SWAP1
00000d82: DUP2
00000d83: LT
00000d84: ISZERO
00000d85: PUSH2 0x0002
00000d88: JUMPI
00000d89: PUSH1 0x40
00000d8b: PUSH1 0x00
00000d8d: SWAP1
00000d8e: DUP2
00000d8f: KECCAK256
00000d90: PUSH1 0x00
00000d92: DUP1
00000d93: MLOAD
00000d94: PUSH1 0x20
00000d96: PUSH2 0x0feb
00000d99: DUP4
00000d9a: CODECOPY
00000d9b: DUP2
00000d9c: MLOAD
00000d9d: SWAP2
00000d9e: MSTORE
00000d9f: SWAP3
00000da0: SWAP1
00000da1: SWAP3
00000da2: ADD
00000da3: DUP2
00000da4: SWAP1
00000da5: SSTORE
00000da6: DUP1
00000da7: DUP3
00000da8: SSTORE
00000da9: PUSH1 0x01
00000dab: DUP3
00000dac: DUP2
00000dad: ADD
00000dae: DUP3
00000daf: SWAP1
00000db0: SSTORE
00000db1: PUSH1 0x02
00000db3: SWAP3
00000db4: SWAP1
00000db5: SWAP3
00000db6: ADD
00000db7: SSTORE
00000db8: SWAP5
00000db9: POP
00000dba: PUSH2 0x0dd3
00000dbd: SWAP1
00000dbe: POP
00000dbf: JUMP
00000dc0: JUMPDEST
00000dc1: DUP2
00000dc2: SLOAD
00000dc3: PUSH1 0x00
00000dc5: NOT
00000dc6: ADD
00000dc7: DUP3
00000dc8: SSTORE
00000dc9: PUSH1 0x01
00000dcb: DUP3
00000dcc: ADD
00000dcd: DUP1
00000dce: SLOAD
00000dcf: DUP3
00000dd0: OR
00000dd1: SWAP1
00000dd2: SSTORE
00000dd3: JUMPDEST
00000dd4: POP
00000dd5: POP
00000dd6: POP
00000dd7: SWAP2
00000dd8: SWAP1
00000dd9: POP
00000dda: JUMP
00000ddb: JUMPDEST
00000ddc: JUMPDEST
00000ddd: PUSH1 0x01
00000ddf: DUP1
00000de0: SLOAD
00000de1: GT
00000de2: DUP1
00000de3: ISZERO
00000de4: PUSH2 0x0dfe
00000de7: JUMPI
00000de8: POP
00000de9: PUSH1 0x01
00000deb: SLOAD
00000dec: PUSH1 0x02
00000dee: SWAP1
00000def: PUSH2 0x0100
00000df2: DUP2
00000df3: LT
00000df4: ISZERO
00000df5: PUSH2 0x0002
00000df8: JUMPI
00000df9: ADD
00000dfa: SLOAD
00000dfb: PUSH1 0x00
00000dfd: EQ
00000dfe: JUMPDEST
00000dff: ISZERO
00000e00: PUSH2 0x0e12
00000e03: JUMPI
00000e04: PUSH1 0x01
00000e06: DUP1
00000e07: SLOAD
00000e08: PUSH1 0x00
00000e0a: NOT
00000e0b: ADD
00000e0c: SWAP1
00000e0d: SSTORE
00000e0e: PUSH2 0x0ddc
00000e11: JUMP
00000e12: JUMPDEST
00000e13: PUSH1 0x01
00000e15: SLOAD
00000e16: DUP2
00000e17: LT
00000e18: DUP1
00000e19: ISZERO
00000e1a: PUSH2 0x0e35
00000e1d: JUMPI
00000e1e: POP
00000e1f: PUSH1 0x01
00000e21: SLOAD
00000e22: PUSH1 0x02
00000e24: SWAP1
00000e25: PUSH2 0x0100
00000e28: DUP2
00000e29: LT
00000e2a: ISZERO
00000e2b: PUSH2 0x0002
00000e2e: JUMPI
00000e2f: ADD
00000e30: SLOAD
00000e31: PUSH1 0x00
00000e33: EQ
00000e34: ISZERO
00000e35: JUMPDEST
00000e36: DUP1
00000e37: ISZERO
00000e38: PUSH2 0x0e4f
00000e3b: JUMPI
00000e3c: POP
00000e3d: PUSH1 0x02
00000e3f: DUP2
00000e40: PUSH2 0x0100
00000e43: DUP2
00000e44: LT
00000e45: ISZERO
00000e46: PUSH2 0x0002
00000e49: JUMPI
00000e4a: ADD
00000e4b: SLOAD
00000e4c: PUSH1 0x00
00000e4e: EQ
00000e4f: JUMPDEST
00000e50: ISZERO
00000e51: PUSH2 0x0eb0
00000e54: JUMPI
00000e55: PUSH1 0x01
00000e57: SLOAD
00000e58: PUSH1 0x02
00000e5a: SWAP1
00000e5b: PUSH2 0x0100
00000e5e: DUP2
00000e5f: LT
00000e60: ISZERO
00000e61: PUSH2 0x0002
00000e64: JUMPI
00000e65: DUP2
00000e66: ADD
00000e67: SLOAD
00000e68: SWAP1
00000e69: DUP3
00000e6a: PUSH2 0x0100
00000e6d: DUP2
00000e6e: LT
00000e6f: ISZERO
00000e70: PUSH2 0x0002
00000e73: JUMPI
00000e74: SWAP1
00000e75: SWAP1
00000e76: ADD
00000e77: PUSH1 0x00
00000e79: POP
00000e7a: SSTORE
00000e7b: DUP1
00000e7c: PUSH2 0x0102
00000e7f: PUSH1 0x00
00000e81: PUSH1 0x02
00000e83: DUP4
00000e84: PUSH2 0x0100
00000e87: DUP2
00000e88: LT
00000e89: ISZERO
00000e8a: PUSH2 0x0002
00000e8d: JUMPI
00000e8e: DUP2
00000e8f: ADD
00000e90: SLOAD
00000e91: DUP3
00000e92: MSTORE
00000e93: PUSH1 0x20
00000e95: SWAP3
00000e96: SWAP1
00000e97: SWAP3
00000e98: MSTORE
00000e99: PUSH1 0x40
00000e9b: DUP2
00000e9c: KECCAK256
00000e9d: SWAP3
00000e9e: SWAP1
00000e9f: SWAP3
00000ea0: SSTORE
00000ea1: PUSH1 0x01
00000ea3: SLOAD
00000ea4: PUSH2 0x0100
00000ea7: DUP2
00000ea8: LT
00000ea9: ISZERO
00000eaa: PUSH2 0x0002
00000ead: JUMPI
00000eae: ADD
00000eaf: SSTORE
00000eb0: JUMPDEST
00000eb1: PUSH2 0x0616
00000eb4: JUMP
00000eb5: JUMPDEST
00000eb6: ISZERO
00000eb7: PUSH2 0x0182
00000eba: JUMPI
00000ebb: PUSH2 0x0107
00000ebe: SLOAD
00000ebf: PUSH2 0x0ecb
00000ec2: JUMPDEST
00000ec3: PUSH3 0x015180
00000ec7: TIMESTAMP
00000ec8: DIV
00000ec9: SWAP1
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: GT
00000ecd: ISZERO
00000ece: PUSH2 0x0ee4
00000ed1: JUMPI
00000ed2: PUSH1 0x00
00000ed4: PUSH2 0x0106
00000ed7: SSTORE
00000ed8: PUSH2 0x0edf
00000edb: PUSH2 0x0ec2
00000ede: JUMP
00000edf: JUMPDEST
00000ee0: PUSH2 0x0107
00000ee3: SSTORE
00000ee4: JUMPDEST
00000ee5: PUSH2 0x0106
00000ee8: SLOAD
00000ee9: DUP1
00000eea: DUP4
00000eeb: ADD
00000eec: LT
00000eed: DUP1
00000eee: ISZERO
00000eef: SWAP1
00000ef0: PUSH2 0x0f00
00000ef3: JUMPI
00000ef4: POP
00000ef5: PUSH2 0x0105
00000ef8: SLOAD
00000ef9: PUSH2 0x0106
00000efc: SLOAD
00000efd: DUP4
00000efe: ADD
00000eff: LT
00000f00: JUMPDEST
00000f01: ISZERO
00000f02: PUSH2 0x0f16
00000f05: JUMPI
00000f06: POP
00000f07: PUSH2 0x0106
00000f0a: DUP1
00000f0b: SLOAD
00000f0c: DUP3
00000f0d: ADD
00000f0e: SWAP1
00000f0f: SSTORE
00000f10: PUSH1 0x01
00000f12: PUSH2 0x0182
00000f15: JUMP
00000f16: JUMPDEST
00000f17: POP
00000f18: PUSH1 0x00
00000f1a: PUSH2 0x0182
00000f1d: JUMP
00000f1e: JUMPDEST
00000f1f: PUSH2 0x05c1
00000f22: PUSH2 0x0104
00000f25: SLOAD
00000f26: PUSH1 0x00
00000f28: JUMPDEST
00000f29: DUP2
00000f2a: DUP2
00000f2b: LT
00000f2c: ISZERO
00000f2d: PUSH2 0x0fc1
00000f30: JUMPI
00000f31: PUSH2 0x0104
00000f34: DUP1
00000f35: SLOAD
00000f36: DUP3
00000f37: SWAP1
00000f38: DUP2
00000f39: LT
00000f3a: ISZERO
00000f3b: PUSH2 0x0002
00000f3e: JUMPI
00000f3f: PUSH1 0x00
00000f41: SWAP2
00000f42: DUP3
00000f43: MSTORE
00000f44: PUSH1 0x00
00000f46: DUP1
00000f47: MLOAD
00000f48: PUSH1 0x20
00000f4a: PUSH2 0x0feb
00000f4d: DUP4
00000f4e: CODECOPY
00000f4f: DUP2
00000f50: MLOAD
00000f51: SWAP2
00000f52: MSTORE
00000f53: ADD
00000f54: SLOAD
00000f55: EQ
00000f56: PUSH2 0x0f9b
00000f59: JUMPI
00000f5a: PUSH2 0x0104
00000f5d: DUP1
00000f5e: SLOAD
00000f5f: PUSH2 0x0103
00000f62: SWAP2
00000f63: PUSH1 0x00
00000f65: SWAP2
00000f66: DUP5
00000f67: SWAP1
00000f68: DUP2
00000f69: LT
00000f6a: ISZERO
00000f6b: PUSH2 0x0002
00000f6e: JUMPI
00000f6f: PUSH1 0x00
00000f71: DUP1
00000f72: MLOAD
00000f73: PUSH1 0x20
00000f75: PUSH2 0x0feb
00000f78: DUP4
00000f79: CODECOPY
00000f7a: DUP2
00000f7b: MLOAD
00000f7c: SWAP2
00000f7d: MSTORE
00000f7e: ADD
00000f7f: SLOAD
00000f80: DUP3
00000f81: MSTORE
00000f82: POP
00000f83: PUSH1 0x20
00000f85: SWAP2
00000f86: SWAP1
00000f87: SWAP2
00000f88: MSTORE
00000f89: PUSH1 0x40
00000f8b: DUP2
00000f8c: KECCAK256
00000f8d: DUP2
00000f8e: DUP2
00000f8f: SSTORE
00000f90: PUSH1 0x01
00000f92: DUP2
00000f93: ADD
00000f94: DUP3
00000f95: SWAP1
00000f96: SSTORE
00000f97: PUSH1 0x02
00000f99: ADD
00000f9a: SSTORE
00000f9b: JUMPDEST
00000f9c: PUSH1 0x01
00000f9e: ADD
00000f9f: PUSH2 0x0f28
00000fa2: JUMP
00000fa3: JUMPDEST
00000fa4: PUSH1 0x1f
00000fa6: ADD
00000fa7: PUSH1 0x20
00000fa9: SWAP1
00000faa: DIV
00000fab: SWAP1
00000fac: PUSH1 0x00
00000fae: MSTORE
00000faf: PUSH1 0x20
00000fb1: PUSH1 0x00
00000fb3: KECCAK256
00000fb4: SWAP1
00000fb5: DUP2
00000fb6: ADD
00000fb7: SWAP1
00000fb8: PUSH2 0x0537
00000fbb: SWAP2
00000fbc: SWAP1
00000fbd: PUSH2 0x0965
00000fc0: JUMP
00000fc1: JUMPDEST
00000fc2: PUSH2 0x0104
00000fc5: DUP1
00000fc6: SLOAD
00000fc7: PUSH1 0x00
00000fc9: DUP1
00000fca: DUP4
00000fcb: SSTORE
00000fcc: SWAP2
00000fcd: SWAP1
00000fce: SWAP2
00000fcf: MSTORE
00000fd0: PUSH2 0x046d
00000fd3: SWAP1
00000fd4: PUSH1 0x00
00000fd6: DUP1
00000fd7: MLOAD
00000fd8: PUSH1 0x20
00000fda: PUSH2 0x0feb
00000fdd: DUP4
00000fde: CODECOPY
00000fdf: DUP2
00000fe0: MLOAD
00000fe1: SWAP2
00000fe2: MSTORE
00000fe3: SWAP1
00000fe4: DUP2
00000fe5: ADD
00000fe6: SWAP1
00000fe7: PUSH2 0x0965
00000fea: JUMP
00000feb: UNKNOWN(0x4C)
00000fec: SIGNEXTEND
00000fed: UNKNOWN(0xE6)
00000fee: MUL
00000fef: STOP
00000ff0: STATICCALL
00000ff1: LOG2
00000ff2: SDIV
00000ff3: MSIZE
00000ff4: ADDRESS
00000ff5: DUP13
00000ff6: UNKNOWN(0xB7)
00000ff7: UNKNOWN(0xB5)
00000ff8: LOG1
00000ff9: UNKNOWN(0xBB)
00000ffa: ORIGIN
00000ffb: SSTORE
00000ffc: UNKNOWN(0xC1)
00000ffd: PUSH13 0xb1cab91f525b5ae7a03d02fabe

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 auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4090,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xb759e53c035bdaf0ca76ca7357eb2d9b5710cad5700ecf53e78fb130666d1807
call_targets: 0xda4a4626d3e16e094de3225a751aab7128e96526
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb759e53c035bdaf0ca76ca7357eb2d9b5710cad5700ecf53e78fb130666d1807",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xda4a4626d3e16e094de3225a751aab7128e96526"
    ],
    "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": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2179,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2821,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 4090,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xb759e53c035bdaf0ca76ca7357eb2d9b5710cad5700ecf53e78fb130666d1807
call_targets: 0xda4a4626d3e16e094de3225a751aab7128e96526
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb759e53c035bdaf0ca76ca7357eb2d9b5710cad5700ecf53e78fb130666d1807",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xda4a4626d3e16e094de3225a751aab7128e96526"
    ],
    "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": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2179,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2821,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 4090,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x89fbcc27660e95f6ca7518d8b17ee404e33d43f6e62f0361df4c9691c072d2d6
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 30,
    "trace_id": "0x89fbcc27660e95f6ca7518d8b17ee404e33d43f6e62f0361df4c9691c072d2d6",
    "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": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4123cb6b",
            "selector": "0x4123cb6b",
            "calldata_variants": [
                "0x4123cb6b",
                "0x4123cb6b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x5c52c2f5",
            "selector": "0x5c52c2f5",
            "calldata_variants": [
                "0x5c52c2f5",
                "0x5c52c2f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x746c9171",
            "selector": "0x746c9171",
            "calldata_variants": [
                "0x746c9171",
                "0x746c91710000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x797af627",
            "selector": "0x797af627",
            "calldata_variants": [
                "0x797af627",
                "0x797af6270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb20d30a9",
            "selector": "0xb20d30a9",
            "calldata_variants": [
                "0xb20d30a9",
                "0xb20d30a90000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4090,
            "type": "tx_origin_used"
        }
    ],
    "selfdestruct_count": 1
}