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

Analysis Run

1e79ea57-b68d-4b31-b9b7-c90a256e7226

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 2:04 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31025 report.consolidate complete 1 / 1 3 months ago
75964 artifact.fetch complete 1 / 3 2 weeks ago
75965 tool.cast_disasm complete 1 / 3 2 weeks ago
75966 analysis.bundle complete 1 / 3 2 weeks ago
75967 capability.graph complete 1 / 3 2 weeks ago
75968 detector.run complete 1 / 3 2 weeks ago
75969 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.
View stderr
[codex:491615] OpenAI Codex v0.77.0 (research preview)
[codex:491615] --------
[codex:491615] workdir: /tmp/codex-multi-xqea5rr_
[codex:491615] model: gpt-5.2-codex
[codex:491615] provider: openai
[codex:491615] approval: never
[codex:491615] sandbox: read-only
[codex:491615] reasoning effort: xhigh
[codex:491615] reasoning summaries: auto
[codex:491615] session id: 019b79df-3459-7113-b35c-31b36686375f
[codex:491615] --------
[codex:491615] user
[codex:491615] 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:491615] 
[codex:491615] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:491615] 
[codex:491615] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:491615] - Gas inefficiency, code quality, or best practices
[codex:491615] - Theoretical vulnerabilities without a clear extraction path
[codex:491615] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:491615] - Issues requiring social engineering or off-chain coordination
[codex:491615] 
[codex:491615] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:491615] - CALL/DELEGATECALL with controllable destination or calldata
[codex:491615] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:491615] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:491615] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:491615] - External calls before state updates (reentrancy)
[codex:491615] - SELFDESTRUCT with controllable beneficiary
[codex:491615] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:491615] 
[codex:491615] For each finding, you MUST explain:
[codex:491615] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:491615] 2. The concrete sequence of transactions to extract value
[codex:491615] 3. Why you believe this is exploitable (not just suspicious)
[codex:491615] 
[codex:491615] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:491615] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:491615] 
[codex:491615] Output MUST be valid JSON matching the provided schema.
[codex:491615] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:491615] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:491615] mcp startup: no servers
[codex:491615] 
[codex:491615] thinking
[codex:491615] **Reading BYTECODE_BUNDLE.txt file**
[codex:491615] exec
[codex:491615] /bin/bash -lc ls in /tmp/codex-multi-xqea5rr_ succeeded in 6ms:
[codex:491615] BYTECODE_BUNDLE.txt
[codex:491615] codex-output-schema.json
[codex:491615] exec
[codex:491615] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-xqea5rr_ succeeded in 5ms:
[codex:491615] Runtime bytecode bundle for best-effort auditing.
[codex:491615] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:491615] 
[codex:491615] FILE: runtime_bytecode.hex
[codex:491615] 0x60003560001a600a811461002f57600b81146103c057600c81146103f9576001811461042a5760006000f36105c4565b5a605c36101561003f5760006000fd5b336110000154151561005b576001600052606f60205360216000fd5b600160601b6000806003823560011a10156100d5578260343504823560011a151561008857836020350490505b630902f1ac83526060836004601c845afa15156100a7573d83843e3d83fd5b5060405163ffffffff833560d01c161415156100cb57600182526074602052602182fd5b8151915060205190505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600160003560171a1615156100fe57600090505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600160003560191a16151561012757600090505b6101548385601a67ffffffffffffffff60003560901c168960483504878b6020350460003560161a610870565b6101728486601a84868b604835048c6034350460003560181a610870565b945067ffffffffffffffff60003560501c16851115610290576101af67ffffffffffffffff60003560901c1684886020350460003560171a61071f565b6101d98167ffffffffffffffff60003560901c1688604835048660003560161a8b602035046105ca565b6101f2818760483504886034350460003560191a61071f565b61020d858284896048350460003560181a8b603435046105ca565b600160003560191a1615156102565763d0e30db0600052600060006004601c8873c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515610255573d600060003e3d6000fd5b5b606f36111561028f57606f193601607060003760006000606f193601601c60008a605c35045af1151561028e573d600060003e3d6000fd5b5b5b50505050605e3614156103af576d4946c0e9f43f4dee607b0ef1fa1c9150600160e01b605c350463ff000000811615156102d7576eb3f879cb30fe243b4dfee438691c0492505b60006201000062ff00008316046002811461030e576003811461031a576001811461032657600081146103325760006000fd61033a565b63d8ccd0f3915061033a565b636366b936915061033a565b635f2e2b45915061033a565b63079d229f91505b5061a3db618f425a87030104801515156103ab578160005280602052602460026201000062ff0000861604101561038c5773a3c09e9715e5604f8151300cc95048452224435f60205281604052604490505b6000600082601c60008a5af115156103a9573d600060003e3d6000fd5b505b5050505b8060005250505060206000f36105c4565b3360005414156103ef5760163614156103ee5760003560151a6001600160a01b0360003560501c1661100001555b5b60006000f36105c4565b33600054141561042057601536141561041f576001600160a01b0360003560581c166000555b5b60006000f36105c4565b3360005414151561043b5760006000fd5b601460ff60003560f01c16026002013610156104575760006000fd5b600119600081601460ff833560f01c1602360301601460ff833560f01c1602600201823780815b60ff60003560f01c168110156105ad5781516000600481828460011a600081146104c1576001600160e01b038660101c1694506020935061ffff861692506104cc565b61ffff8660e01c1692505b5060028284018801601460ff60003560f01c160201013610156104f9576001600052606e60205360216000fd5b8460001a6000811461052c576001811461054c576000600084868b01600160601b60148c0260020135045afa9150610567565b6000600084868b0188600160601b60148d0260020135045af19150610567565b6000600084868b01600160601b60148c0260020135045af491505b5080151561057a573d600060003e3d6000fd5b503d60008989601460ff60003560f01c1602360301013e3d8701965080820186019550505050505b60018101905061047e565b50508082601460ff60003560f01c1602360301f350505b50610a12565b60008315156105d7578590505b8260008114610640576001811461069557600281146106d85760015480151561060a576001600052606460205360216000fd5b84610e0001600052856020528660405287606052600060006062601e845af4151561063a573d600060003e3d6000fd5b50610714565b6000888787111561065357899150600090505b63022c0d9f60005281602052806040525050306060526080608052600060a0526000600060a4601c85875af11515610690573d600060003e3d6000fd5b610714565b638201aa3f600052846020528660405285606052600060805260ff60f01b60a0526000600060a4601c85875af115156106d3573d600060003e3d6000fd5b610714565b63d5bcb9b56000528460205285604052866060526000608052600060a0526000600060a4601c85875af11515610713573d600060003e3d6000fd5b5b50505b505050505050565b8215801561078d57341580151561074a578534141515610749576001600052606d60205260216000fd5b5b801561078b576000632e1a7d4d81528660205280816024601c8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515610789573d81823e3d81fd5b505b505b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808514156107ef57341515156107ee5785341415156107cb576001600052606d60205260216000fd5b600063d0e30db0815280816004601c8a865af115156107ec573d81823e3d81fd5b505b5b50801515610868576002821615151561083157600063095ea7b3815283602052600160ff1b60405280816044601c84895af1151561082f573d81823e3d81fd5b505b6004821615151561086757600063a9059cbb8152836020528560405280816044601c84895af11515610865573d81823e3d81fd5b505b5b505b50505050565b600081600081146108de576001811461093b57600281146109d1576001548015156108a5576001600052606460205360216000fd5b600084610f000181528660205287604052886060526020816062601e84865af115156108d3573d81823e3d81fd5b805193505050610a04565b888a8a151561091057630902f1ac84526040846004601c895afa1515610906573d84853e3d84fd5b8351915060205190505b8787111561091f578091508a90505b6103e5808a026103e884020181838c0202049450505050610a04565b873561ffff600063f8b2cb4f815260208881528060406024601c8b5afa1515610966573d82833e3d82fd5b8981528060806024601c8b5afa1515610981573d82833e3d82fd5b63ba9530a681528360f01c606052828460e01c1660a0528a60b052655af3107a4000838560d01c160260c052808160c4603c8b5afa15156109c4573d82833e3d82fd5b8051955050505050610a04565b6000631e1401f881528560205286604052876060526020816064601c885afa15156109fe573d81823e3d81fd5b80519250505b505b98975050505050505050565b
[codex:491615] 
[codex:491615] thinking
[codex:491615] **Preparing JSON report with no findings**
[codex:491615] codex
[codex:491615] {"no_findings":true,"summary":"No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.","findings":[]}
[codex:491615] tokens used
[codex:491615] 7,603
[codex:491615] {"no_findings":true,"summary":"No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T14:04:00.020072+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.",
    "raw_final": {
        "summary": "No concrete, exploitable value extraction path could be determined from the provided bytecode bundle alone.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
19
EXT*/BALANCE
0
Total opcodes
1697
Flags
delegatecall_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x00
00000002: CALLDATALOAD
00000003: PUSH1 0x00
00000005: BYTE
00000006: PUSH1 0x0a
00000008: DUP2
00000009: EQ
0000000a: PUSH2 0x002f
0000000d: JUMPI
0000000e: PUSH1 0x0b
00000010: DUP2
00000011: EQ
00000012: PUSH2 0x03c0
00000015: JUMPI
00000016: PUSH1 0x0c
00000018: DUP2
00000019: EQ
0000001a: PUSH2 0x03f9
0000001d: JUMPI
0000001e: PUSH1 0x01
00000020: DUP2
00000021: EQ
00000022: PUSH2 0x042a
00000025: JUMPI
00000026: PUSH1 0x00
00000028: PUSH1 0x00
0000002a: RETURN
0000002b: PUSH2 0x05c4
0000002e: JUMP
0000002f: JUMPDEST
00000030: GAS
00000031: PUSH1 0x5c
00000033: CALLDATASIZE
00000034: LT
00000035: ISZERO
00000036: PUSH2 0x003f
00000039: JUMPI
0000003a: PUSH1 0x00
0000003c: PUSH1 0x00
0000003e: REVERT
0000003f: JUMPDEST
00000040: CALLER
00000041: PUSH2 0x1000
00000044: ADD
00000045: SLOAD
00000046: ISZERO
00000047: ISZERO
00000048: PUSH2 0x005b
0000004b: JUMPI
0000004c: PUSH1 0x01
0000004e: PUSH1 0x00
00000050: MSTORE
00000051: PUSH1 0x6f
00000053: PUSH1 0x20
00000055: MSTORE8
00000056: PUSH1 0x21
00000058: PUSH1 0x00
0000005a: REVERT
0000005b: JUMPDEST
0000005c: PUSH1 0x01
0000005e: PUSH1 0x60
00000060: SHL
00000061: PUSH1 0x00
00000063: DUP1
00000064: PUSH1 0x03
00000066: DUP3
00000067: CALLDATALOAD
00000068: PUSH1 0x01
0000006a: BYTE
0000006b: LT
0000006c: ISZERO
0000006d: PUSH2 0x00d5
00000070: JUMPI
00000071: DUP3
00000072: PUSH1 0x34
00000074: CALLDATALOAD
00000075: DIV
00000076: DUP3
00000077: CALLDATALOAD
00000078: PUSH1 0x01
0000007a: BYTE
0000007b: ISZERO
0000007c: ISZERO
0000007d: PUSH2 0x0088
00000080: JUMPI
00000081: DUP4
00000082: PUSH1 0x20
00000084: CALLDATALOAD
00000085: DIV
00000086: SWAP1
00000087: POP
00000088: JUMPDEST
00000089: PUSH4 0x0902f1ac
0000008e: DUP4
0000008f: MSTORE
00000090: PUSH1 0x60
00000092: DUP4
00000093: PUSH1 0x04
00000095: PUSH1 0x1c
00000097: DUP5
00000098: GAS
00000099: STATICCALL
0000009a: ISZERO
0000009b: ISZERO
0000009c: PUSH2 0x00a7
0000009f: JUMPI
000000a0: RETURNDATASIZE
000000a1: DUP4
000000a2: DUP5
000000a3: RETURNDATACOPY
000000a4: RETURNDATASIZE
000000a5: DUP4
000000a6: REVERT
000000a7: JUMPDEST
000000a8: POP
000000a9: PUSH1 0x40
000000ab: MLOAD
000000ac: PUSH4 0xffffffff
000000b1: DUP4
000000b2: CALLDATALOAD
000000b3: PUSH1 0xd0
000000b5: SHR
000000b6: AND
000000b7: EQ
000000b8: ISZERO
000000b9: ISZERO
000000ba: PUSH2 0x00cb
000000bd: JUMPI
000000be: PUSH1 0x01
000000c0: DUP3
000000c1: MSTORE
000000c2: PUSH1 0x74
000000c4: PUSH1 0x20
000000c6: MSTORE
000000c7: PUSH1 0x21
000000c9: DUP3
000000ca: REVERT
000000cb: JUMPDEST
000000cc: DUP2
000000cd: MLOAD
000000ce: SWAP2
000000cf: POP
000000d0: PUSH1 0x20
000000d2: MLOAD
000000d3: SWAP1
000000d4: POP
000000d5: JUMPDEST
000000d6: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000000eb: PUSH1 0x01
000000ed: PUSH1 0x00
000000ef: CALLDATALOAD
000000f0: PUSH1 0x17
000000f2: BYTE
000000f3: AND
000000f4: ISZERO
000000f5: ISZERO
000000f6: PUSH2 0x00fe
000000f9: JUMPI
000000fa: PUSH1 0x00
000000fc: SWAP1
000000fd: POP
000000fe: JUMPDEST
000000ff: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000114: PUSH1 0x01
00000116: PUSH1 0x00
00000118: CALLDATALOAD
00000119: PUSH1 0x19
0000011b: BYTE
0000011c: AND
0000011d: ISZERO
0000011e: ISZERO
0000011f: PUSH2 0x0127
00000122: JUMPI
00000123: PUSH1 0x00
00000125: SWAP1
00000126: POP
00000127: JUMPDEST
00000128: PUSH2 0x0154
0000012b: DUP4
0000012c: DUP6
0000012d: PUSH1 0x1a
0000012f: PUSH8 0xffffffffffffffff
00000138: PUSH1 0x00
0000013a: CALLDATALOAD
0000013b: PUSH1 0x90
0000013d: SHR
0000013e: AND
0000013f: DUP10
00000140: PUSH1 0x48
00000142: CALLDATALOAD
00000143: DIV
00000144: DUP8
00000145: DUP12
00000146: PUSH1 0x20
00000148: CALLDATALOAD
00000149: DIV
0000014a: PUSH1 0x00
0000014c: CALLDATALOAD
0000014d: PUSH1 0x16
0000014f: BYTE
00000150: PUSH2 0x0870
00000153: JUMP
00000154: JUMPDEST
00000155: PUSH2 0x0172
00000158: DUP5
00000159: DUP7
0000015a: PUSH1 0x1a
0000015c: DUP5
0000015d: DUP7
0000015e: DUP12
0000015f: PUSH1 0x48
00000161: CALLDATALOAD
00000162: DIV
00000163: DUP13
00000164: PUSH1 0x34
00000166: CALLDATALOAD
00000167: DIV
00000168: PUSH1 0x00
0000016a: CALLDATALOAD
0000016b: PUSH1 0x18
0000016d: BYTE
0000016e: PUSH2 0x0870
00000171: JUMP
00000172: JUMPDEST
00000173: SWAP5
00000174: POP
00000175: PUSH8 0xffffffffffffffff
0000017e: PUSH1 0x00
00000180: CALLDATALOAD
00000181: PUSH1 0x50
00000183: SHR
00000184: AND
00000185: DUP6
00000186: GT
00000187: ISZERO
00000188: PUSH2 0x0290
0000018b: JUMPI
0000018c: PUSH2 0x01af
0000018f: PUSH8 0xffffffffffffffff
00000198: PUSH1 0x00
0000019a: CALLDATALOAD
0000019b: PUSH1 0x90
0000019d: SHR
0000019e: AND
0000019f: DUP5
000001a0: DUP9
000001a1: PUSH1 0x20
000001a3: CALLDATALOAD
000001a4: DIV
000001a5: PUSH1 0x00
000001a7: CALLDATALOAD
000001a8: PUSH1 0x17
000001aa: BYTE
000001ab: PUSH2 0x071f
000001ae: JUMP
000001af: JUMPDEST
000001b0: PUSH2 0x01d9
000001b3: DUP2
000001b4: PUSH8 0xffffffffffffffff
000001bd: PUSH1 0x00
000001bf: CALLDATALOAD
000001c0: PUSH1 0x90
000001c2: SHR
000001c3: AND
000001c4: DUP9
000001c5: PUSH1 0x48
000001c7: CALLDATALOAD
000001c8: DIV
000001c9: DUP7
000001ca: PUSH1 0x00
000001cc: CALLDATALOAD
000001cd: PUSH1 0x16
000001cf: BYTE
000001d0: DUP12
000001d1: PUSH1 0x20
000001d3: CALLDATALOAD
000001d4: DIV
000001d5: PUSH2 0x05ca
000001d8: JUMP
000001d9: JUMPDEST
000001da: PUSH2 0x01f2
000001dd: DUP2
000001de: DUP8
000001df: PUSH1 0x48
000001e1: CALLDATALOAD
000001e2: DIV
000001e3: DUP9
000001e4: PUSH1 0x34
000001e6: CALLDATALOAD
000001e7: DIV
000001e8: PUSH1 0x00
000001ea: CALLDATALOAD
000001eb: PUSH1 0x19
000001ed: BYTE
000001ee: PUSH2 0x071f
000001f1: JUMP
000001f2: JUMPDEST
000001f3: PUSH2 0x020d
000001f6: DUP6
000001f7: DUP3
000001f8: DUP5
000001f9: DUP10
000001fa: PUSH1 0x48
000001fc: CALLDATALOAD
000001fd: DIV
000001fe: PUSH1 0x00
00000200: CALLDATALOAD
00000201: PUSH1 0x18
00000203: BYTE
00000204: DUP12
00000205: PUSH1 0x34
00000207: CALLDATALOAD
00000208: DIV
00000209: PUSH2 0x05ca
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH1 0x01
00000210: PUSH1 0x00
00000212: CALLDATALOAD
00000213: PUSH1 0x19
00000215: BYTE
00000216: AND
00000217: ISZERO
00000218: ISZERO
00000219: PUSH2 0x0256
0000021c: JUMPI
0000021d: PUSH4 0xd0e30db0
00000222: PUSH1 0x00
00000224: MSTORE
00000225: PUSH1 0x00
00000227: PUSH1 0x00
00000229: PUSH1 0x04
0000022b: PUSH1 0x1c
0000022d: DUP9
0000022e: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000243: GAS
00000244: CALL
00000245: ISZERO
00000246: ISZERO
00000247: PUSH2 0x0255
0000024a: JUMPI
0000024b: RETURNDATASIZE
0000024c: PUSH1 0x00
0000024e: PUSH1 0x00
00000250: RETURNDATACOPY
00000251: RETURNDATASIZE
00000252: PUSH1 0x00
00000254: REVERT
00000255: JUMPDEST
00000256: JUMPDEST
00000257: PUSH1 0x6f
00000259: CALLDATASIZE
0000025a: GT
0000025b: ISZERO
0000025c: PUSH2 0x028f
0000025f: JUMPI
00000260: PUSH1 0x6f
00000262: NOT
00000263: CALLDATASIZE
00000264: ADD
00000265: PUSH1 0x70
00000267: PUSH1 0x00
00000269: CALLDATACOPY
0000026a: PUSH1 0x00
0000026c: PUSH1 0x00
0000026e: PUSH1 0x6f
00000270: NOT
00000271: CALLDATASIZE
00000272: ADD
00000273: PUSH1 0x1c
00000275: PUSH1 0x00
00000277: DUP11
00000278: PUSH1 0x5c
0000027a: CALLDATALOAD
0000027b: DIV
0000027c: GAS
0000027d: CALL
0000027e: ISZERO
0000027f: ISZERO
00000280: PUSH2 0x028e
00000283: JUMPI
00000284: RETURNDATASIZE
00000285: PUSH1 0x00
00000287: PUSH1 0x00
00000289: RETURNDATACOPY
0000028a: RETURNDATASIZE
0000028b: PUSH1 0x00
0000028d: REVERT
0000028e: JUMPDEST
0000028f: JUMPDEST
00000290: JUMPDEST
00000291: POP
00000292: POP
00000293: POP
00000294: POP
00000295: PUSH1 0x5e
00000297: CALLDATASIZE
00000298: EQ
00000299: ISZERO
0000029a: PUSH2 0x03af
0000029d: JUMPI
0000029e: PUSH14 0x4946c0e9f43f4dee607b0ef1fa1c
000002ad: SWAP2
000002ae: POP
000002af: PUSH1 0x01
000002b1: PUSH1 0xe0
000002b3: SHL
000002b4: PUSH1 0x5c
000002b6: CALLDATALOAD
000002b7: DIV
000002b8: PUSH4 0xff000000
000002bd: DUP2
000002be: AND
000002bf: ISZERO
000002c0: ISZERO
000002c1: PUSH2 0x02d7
000002c4: JUMPI
000002c5: PUSH15 0xb3f879cb30fe243b4dfee438691c04
000002d5: SWAP3
000002d6: POP
000002d7: JUMPDEST
000002d8: PUSH1 0x00
000002da: PUSH3 0x010000
000002de: PUSH3 0xff0000
000002e2: DUP4
000002e3: AND
000002e4: DIV
000002e5: PUSH1 0x02
000002e7: DUP2
000002e8: EQ
000002e9: PUSH2 0x030e
000002ec: JUMPI
000002ed: PUSH1 0x03
000002ef: DUP2
000002f0: EQ
000002f1: PUSH2 0x031a
000002f4: JUMPI
000002f5: PUSH1 0x01
000002f7: DUP2
000002f8: EQ
000002f9: PUSH2 0x0326
000002fc: JUMPI
000002fd: PUSH1 0x00
000002ff: DUP2
00000300: EQ
00000301: PUSH2 0x0332
00000304: JUMPI
00000305: PUSH1 0x00
00000307: PUSH1 0x00
00000309: REVERT
0000030a: PUSH2 0x033a
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH4 0xd8ccd0f3
00000314: SWAP2
00000315: POP
00000316: PUSH2 0x033a
00000319: JUMP
0000031a: JUMPDEST
0000031b: PUSH4 0x6366b936
00000320: SWAP2
00000321: POP
00000322: PUSH2 0x033a
00000325: JUMP
00000326: JUMPDEST
00000327: PUSH4 0x5f2e2b45
0000032c: SWAP2
0000032d: POP
0000032e: PUSH2 0x033a
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH4 0x079d229f
00000338: SWAP2
00000339: POP
0000033a: JUMPDEST
0000033b: POP
0000033c: PUSH2 0xa3db
0000033f: PUSH2 0x8f42
00000342: GAS
00000343: DUP8
00000344: SUB
00000345: ADD
00000346: DIV
00000347: DUP1
00000348: ISZERO
00000349: ISZERO
0000034a: ISZERO
0000034b: PUSH2 0x03ab
0000034e: JUMPI
0000034f: DUP2
00000350: PUSH1 0x00
00000352: MSTORE
00000353: DUP1
00000354: PUSH1 0x20
00000356: MSTORE
00000357: PUSH1 0x24
00000359: PUSH1 0x02
0000035b: PUSH3 0x010000
0000035f: PUSH3 0xff0000
00000363: DUP7
00000364: AND
00000365: DIV
00000366: LT
00000367: ISZERO
00000368: PUSH2 0x038c
0000036b: JUMPI
0000036c: PUSH20 0xa3c09e9715e5604f8151300cc95048452224435f
00000381: PUSH1 0x20
00000383: MSTORE
00000384: DUP2
00000385: PUSH1 0x40
00000387: MSTORE
00000388: PUSH1 0x44
0000038a: SWAP1
0000038b: POP
0000038c: JUMPDEST
0000038d: PUSH1 0x00
0000038f: PUSH1 0x00
00000391: DUP3
00000392: PUSH1 0x1c
00000394: PUSH1 0x00
00000396: DUP11
00000397: GAS
00000398: CALL
00000399: ISZERO
0000039a: ISZERO
0000039b: PUSH2 0x03a9
0000039e: JUMPI
0000039f: RETURNDATASIZE
000003a0: PUSH1 0x00
000003a2: PUSH1 0x00
000003a4: RETURNDATACOPY
000003a5: RETURNDATASIZE
000003a6: PUSH1 0x00
000003a8: REVERT
000003a9: JUMPDEST
000003aa: POP
000003ab: JUMPDEST
000003ac: POP
000003ad: POP
000003ae: POP
000003af: JUMPDEST
000003b0: DUP1
000003b1: PUSH1 0x00
000003b3: MSTORE
000003b4: POP
000003b5: POP
000003b6: POP
000003b7: PUSH1 0x20
000003b9: PUSH1 0x00
000003bb: RETURN
000003bc: PUSH2 0x05c4
000003bf: JUMP
000003c0: JUMPDEST
000003c1: CALLER
000003c2: PUSH1 0x00
000003c4: SLOAD
000003c5: EQ
000003c6: ISZERO
000003c7: PUSH2 0x03ef
000003ca: JUMPI
000003cb: PUSH1 0x16
000003cd: CALLDATASIZE
000003ce: EQ
000003cf: ISZERO
000003d0: PUSH2 0x03ee
000003d3: JUMPI
000003d4: PUSH1 0x00
000003d6: CALLDATALOAD
000003d7: PUSH1 0x15
000003d9: BYTE
000003da: PUSH1 0x01
000003dc: PUSH1 0x01
000003de: PUSH1 0xa0
000003e0: SHL
000003e1: SUB
000003e2: PUSH1 0x00
000003e4: CALLDATALOAD
000003e5: PUSH1 0x50
000003e7: SHR
000003e8: AND
000003e9: PUSH2 0x1000
000003ec: ADD
000003ed: SSTORE
000003ee: JUMPDEST
000003ef: JUMPDEST
000003f0: PUSH1 0x00
000003f2: PUSH1 0x00
000003f4: RETURN
000003f5: PUSH2 0x05c4
000003f8: JUMP
000003f9: JUMPDEST
000003fa: CALLER
000003fb: PUSH1 0x00
000003fd: SLOAD
000003fe: EQ
000003ff: ISZERO
00000400: PUSH2 0x0420
00000403: JUMPI
00000404: PUSH1 0x15
00000406: CALLDATASIZE
00000407: EQ
00000408: ISZERO
00000409: PUSH2 0x041f
0000040c: JUMPI
0000040d: PUSH1 0x01
0000040f: PUSH1 0x01
00000411: PUSH1 0xa0
00000413: SHL
00000414: SUB
00000415: PUSH1 0x00
00000417: CALLDATALOAD
00000418: PUSH1 0x58
0000041a: SHR
0000041b: AND
0000041c: PUSH1 0x00
0000041e: SSTORE
0000041f: JUMPDEST
00000420: JUMPDEST
00000421: PUSH1 0x00
00000423: PUSH1 0x00
00000425: RETURN
00000426: PUSH2 0x05c4
00000429: JUMP
0000042a: JUMPDEST
0000042b: CALLER
0000042c: PUSH1 0x00
0000042e: SLOAD
0000042f: EQ
00000430: ISZERO
00000431: ISZERO
00000432: PUSH2 0x043b
00000435: JUMPI
00000436: PUSH1 0x00
00000438: PUSH1 0x00
0000043a: REVERT
0000043b: JUMPDEST
0000043c: PUSH1 0x14
0000043e: PUSH1 0xff
00000440: PUSH1 0x00
00000442: CALLDATALOAD
00000443: PUSH1 0xf0
00000445: SHR
00000446: AND
00000447: MUL
00000448: PUSH1 0x02
0000044a: ADD
0000044b: CALLDATASIZE
0000044c: LT
0000044d: ISZERO
0000044e: PUSH2 0x0457
00000451: JUMPI
00000452: PUSH1 0x00
00000454: PUSH1 0x00
00000456: REVERT
00000457: JUMPDEST
00000458: PUSH1 0x01
0000045a: NOT
0000045b: PUSH1 0x00
0000045d: DUP2
0000045e: PUSH1 0x14
00000460: PUSH1 0xff
00000462: DUP4
00000463: CALLDATALOAD
00000464: PUSH1 0xf0
00000466: SHR
00000467: AND
00000468: MUL
00000469: CALLDATASIZE
0000046a: SUB
0000046b: ADD
0000046c: PUSH1 0x14
0000046e: PUSH1 0xff
00000470: DUP4
00000471: CALLDATALOAD
00000472: PUSH1 0xf0
00000474: SHR
00000475: AND
00000476: MUL
00000477: PUSH1 0x02
00000479: ADD
0000047a: DUP3
0000047b: CALLDATACOPY
0000047c: DUP1
0000047d: DUP2
0000047e: JUMPDEST
0000047f: PUSH1 0xff
00000481: PUSH1 0x00
00000483: CALLDATALOAD
00000484: PUSH1 0xf0
00000486: SHR
00000487: AND
00000488: DUP2
00000489: LT
0000048a: ISZERO
0000048b: PUSH2 0x05ad
0000048e: JUMPI
0000048f: DUP2
00000490: MLOAD
00000491: PUSH1 0x00
00000493: PUSH1 0x04
00000495: DUP2
00000496: DUP3
00000497: DUP5
00000498: PUSH1 0x01
0000049a: BYTE
0000049b: PUSH1 0x00
0000049d: DUP2
0000049e: EQ
0000049f: PUSH2 0x04c1
000004a2: JUMPI
000004a3: PUSH1 0x01
000004a5: PUSH1 0x01
000004a7: PUSH1 0xe0
000004a9: SHL
000004aa: SUB
000004ab: DUP7
000004ac: PUSH1 0x10
000004ae: SHR
000004af: AND
000004b0: SWAP5
000004b1: POP
000004b2: PUSH1 0x20
000004b4: SWAP4
000004b5: POP
000004b6: PUSH2 0xffff
000004b9: DUP7
000004ba: AND
000004bb: SWAP3
000004bc: POP
000004bd: PUSH2 0x04cc
000004c0: JUMP
000004c1: JUMPDEST
000004c2: PUSH2 0xffff
000004c5: DUP7
000004c6: PUSH1 0xe0
000004c8: SHR
000004c9: AND
000004ca: SWAP3
000004cb: POP
000004cc: JUMPDEST
000004cd: POP
000004ce: PUSH1 0x02
000004d0: DUP3
000004d1: DUP5
000004d2: ADD
000004d3: DUP9
000004d4: ADD
000004d5: PUSH1 0x14
000004d7: PUSH1 0xff
000004d9: PUSH1 0x00
000004db: CALLDATALOAD
000004dc: PUSH1 0xf0
000004de: SHR
000004df: AND
000004e0: MUL
000004e1: ADD
000004e2: ADD
000004e3: CALLDATASIZE
000004e4: LT
000004e5: ISZERO
000004e6: PUSH2 0x04f9
000004e9: JUMPI
000004ea: PUSH1 0x01
000004ec: PUSH1 0x00
000004ee: MSTORE
000004ef: PUSH1 0x6e
000004f1: PUSH1 0x20
000004f3: MSTORE8
000004f4: PUSH1 0x21
000004f6: PUSH1 0x00
000004f8: REVERT
000004f9: JUMPDEST
000004fa: DUP5
000004fb: PUSH1 0x00
000004fd: BYTE
000004fe: PUSH1 0x00
00000500: DUP2
00000501: EQ
00000502: PUSH2 0x052c
00000505: JUMPI
00000506: PUSH1 0x01
00000508: DUP2
00000509: EQ
0000050a: PUSH2 0x054c
0000050d: JUMPI
0000050e: PUSH1 0x00
00000510: PUSH1 0x00
00000512: DUP5
00000513: DUP7
00000514: DUP12
00000515: ADD
00000516: PUSH1 0x01
00000518: PUSH1 0x60
0000051a: SHL
0000051b: PUSH1 0x14
0000051d: DUP13
0000051e: MUL
0000051f: PUSH1 0x02
00000521: ADD
00000522: CALLDATALOAD
00000523: DIV
00000524: GAS
00000525: STATICCALL
00000526: SWAP2
00000527: POP
00000528: PUSH2 0x0567
0000052b: JUMP
0000052c: JUMPDEST
0000052d: PUSH1 0x00
0000052f: PUSH1 0x00
00000531: DUP5
00000532: DUP7
00000533: DUP12
00000534: ADD
00000535: DUP9
00000536: PUSH1 0x01
00000538: PUSH1 0x60
0000053a: SHL
0000053b: PUSH1 0x14
0000053d: DUP14
0000053e: MUL
0000053f: PUSH1 0x02
00000541: ADD
00000542: CALLDATALOAD
00000543: DIV
00000544: GAS
00000545: CALL
00000546: SWAP2
00000547: POP
00000548: PUSH2 0x0567
0000054b: JUMP
0000054c: JUMPDEST
0000054d: PUSH1 0x00
0000054f: PUSH1 0x00
00000551: DUP5
00000552: DUP7
00000553: DUP12
00000554: ADD
00000555: PUSH1 0x01
00000557: PUSH1 0x60
00000559: SHL
0000055a: PUSH1 0x14
0000055c: DUP13
0000055d: MUL
0000055e: PUSH1 0x02
00000560: ADD
00000561: CALLDATALOAD
00000562: DIV
00000563: GAS
00000564: DELEGATECALL
00000565: SWAP2
00000566: POP
00000567: JUMPDEST
00000568: POP
00000569: DUP1
0000056a: ISZERO
0000056b: ISZERO
0000056c: PUSH2 0x057a
0000056f: JUMPI
00000570: RETURNDATASIZE
00000571: PUSH1 0x00
00000573: PUSH1 0x00
00000575: RETURNDATACOPY
00000576: RETURNDATASIZE
00000577: PUSH1 0x00
00000579: REVERT
0000057a: JUMPDEST
0000057b: POP
0000057c: RETURNDATASIZE
0000057d: PUSH1 0x00
0000057f: DUP10
00000580: DUP10
00000581: PUSH1 0x14
00000583: PUSH1 0xff
00000585: PUSH1 0x00
00000587: CALLDATALOAD
00000588: PUSH1 0xf0
0000058a: SHR
0000058b: AND
0000058c: MUL
0000058d: CALLDATASIZE
0000058e: SUB
0000058f: ADD
00000590: ADD
00000591: RETURNDATACOPY
00000592: RETURNDATASIZE
00000593: DUP8
00000594: ADD
00000595: SWAP7
00000596: POP
00000597: DUP1
00000598: DUP3
00000599: ADD
0000059a: DUP7
0000059b: ADD
0000059c: SWAP6
0000059d: POP
0000059e: POP
0000059f: POP
000005a0: POP
000005a1: POP
000005a2: JUMPDEST
000005a3: PUSH1 0x01
000005a5: DUP2
000005a6: ADD
000005a7: SWAP1
000005a8: POP
000005a9: PUSH2 0x047e
000005ac: JUMP
000005ad: JUMPDEST
000005ae: POP
000005af: POP
000005b0: DUP1
000005b1: DUP3
000005b2: PUSH1 0x14
000005b4: PUSH1 0xff
000005b6: PUSH1 0x00
000005b8: CALLDATALOAD
000005b9: PUSH1 0xf0
000005bb: SHR
000005bc: AND
000005bd: MUL
000005be: CALLDATASIZE
000005bf: SUB
000005c0: ADD
000005c1: RETURN
000005c2: POP
000005c3: POP
000005c4: JUMPDEST
000005c5: POP
000005c6: PUSH2 0x0a12
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH1 0x00
000005cd: DUP4
000005ce: ISZERO
000005cf: ISZERO
000005d0: PUSH2 0x05d7
000005d3: JUMPI
000005d4: DUP6
000005d5: SWAP1
000005d6: POP
000005d7: JUMPDEST
000005d8: DUP3
000005d9: PUSH1 0x00
000005db: DUP2
000005dc: EQ
000005dd: PUSH2 0x0640
000005e0: JUMPI
000005e1: PUSH1 0x01
000005e3: DUP2
000005e4: EQ
000005e5: PUSH2 0x0695
000005e8: JUMPI
000005e9: PUSH1 0x02
000005eb: DUP2
000005ec: EQ
000005ed: PUSH2 0x06d8
000005f0: JUMPI
000005f1: PUSH1 0x01
000005f3: SLOAD
000005f4: DUP1
000005f5: ISZERO
000005f6: ISZERO
000005f7: PUSH2 0x060a
000005fa: JUMPI
000005fb: PUSH1 0x01
000005fd: PUSH1 0x00
000005ff: MSTORE
00000600: PUSH1 0x64
00000602: PUSH1 0x20
00000604: MSTORE8
00000605: PUSH1 0x21
00000607: PUSH1 0x00
00000609: REVERT
0000060a: JUMPDEST
0000060b: DUP5
0000060c: PUSH2 0x0e00
0000060f: ADD
00000610: PUSH1 0x00
00000612: MSTORE
00000613: DUP6
00000614: PUSH1 0x20
00000616: MSTORE
00000617: DUP7
00000618: PUSH1 0x40
0000061a: MSTORE
0000061b: DUP8
0000061c: PUSH1 0x60
0000061e: MSTORE
0000061f: PUSH1 0x00
00000621: PUSH1 0x00
00000623: PUSH1 0x62
00000625: PUSH1 0x1e
00000627: DUP5
00000628: GAS
00000629: DELEGATECALL
0000062a: ISZERO
0000062b: ISZERO
0000062c: PUSH2 0x063a
0000062f: JUMPI
00000630: RETURNDATASIZE
00000631: PUSH1 0x00
00000633: PUSH1 0x00
00000635: RETURNDATACOPY
00000636: RETURNDATASIZE
00000637: PUSH1 0x00
00000639: REVERT
0000063a: JUMPDEST
0000063b: POP
0000063c: PUSH2 0x0714
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH1 0x00
00000643: DUP9
00000644: DUP8
00000645: DUP8
00000646: GT
00000647: ISZERO
00000648: PUSH2 0x0653
0000064b: JUMPI
0000064c: DUP10
0000064d: SWAP2
0000064e: POP
0000064f: PUSH1 0x00
00000651: SWAP1
00000652: POP
00000653: JUMPDEST
00000654: PUSH4 0x022c0d9f
00000659: PUSH1 0x00
0000065b: MSTORE
0000065c: DUP2
0000065d: PUSH1 0x20
0000065f: MSTORE
00000660: DUP1
00000661: PUSH1 0x40
00000663: MSTORE
00000664: POP
00000665: POP
00000666: ADDRESS
00000667: PUSH1 0x60
00000669: MSTORE
0000066a: PUSH1 0x80
0000066c: PUSH1 0x80
0000066e: MSTORE
0000066f: PUSH1 0x00
00000671: PUSH1 0xa0
00000673: MSTORE
00000674: PUSH1 0x00
00000676: PUSH1 0x00
00000678: PUSH1 0xa4
0000067a: PUSH1 0x1c
0000067c: DUP6
0000067d: DUP8
0000067e: GAS
0000067f: CALL
00000680: ISZERO
00000681: ISZERO
00000682: PUSH2 0x0690
00000685: JUMPI
00000686: RETURNDATASIZE
00000687: PUSH1 0x00
00000689: PUSH1 0x00
0000068b: RETURNDATACOPY
0000068c: RETURNDATASIZE
0000068d: PUSH1 0x00
0000068f: REVERT
00000690: JUMPDEST
00000691: PUSH2 0x0714
00000694: JUMP
00000695: JUMPDEST
00000696: PUSH4 0x8201aa3f
0000069b: PUSH1 0x00
0000069d: MSTORE
0000069e: DUP5
0000069f: PUSH1 0x20
000006a1: MSTORE
000006a2: DUP7
000006a3: PUSH1 0x40
000006a5: MSTORE
000006a6: DUP6
000006a7: PUSH1 0x60
000006a9: MSTORE
000006aa: PUSH1 0x00
000006ac: PUSH1 0x80
000006ae: MSTORE
000006af: PUSH1 0xff
000006b1: PUSH1 0xf0
000006b3: SHL
000006b4: PUSH1 0xa0
000006b6: MSTORE
000006b7: PUSH1 0x00
000006b9: PUSH1 0x00
000006bb: PUSH1 0xa4
000006bd: PUSH1 0x1c
000006bf: DUP6
000006c0: DUP8
000006c1: GAS
000006c2: CALL
000006c3: ISZERO
000006c4: ISZERO
000006c5: PUSH2 0x06d3
000006c8: JUMPI
000006c9: RETURNDATASIZE
000006ca: PUSH1 0x00
000006cc: PUSH1 0x00
000006ce: RETURNDATACOPY
000006cf: RETURNDATASIZE
000006d0: PUSH1 0x00
000006d2: REVERT
000006d3: JUMPDEST
000006d4: PUSH2 0x0714
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH4 0xd5bcb9b5
000006de: PUSH1 0x00
000006e0: MSTORE
000006e1: DUP5
000006e2: PUSH1 0x20
000006e4: MSTORE
000006e5: DUP6
000006e6: PUSH1 0x40
000006e8: MSTORE
000006e9: DUP7
000006ea: PUSH1 0x60
000006ec: MSTORE
000006ed: PUSH1 0x00
000006ef: PUSH1 0x80
000006f1: MSTORE
000006f2: PUSH1 0x00
000006f4: PUSH1 0xa0
000006f6: MSTORE
000006f7: PUSH1 0x00
000006f9: PUSH1 0x00
000006fb: PUSH1 0xa4
000006fd: PUSH1 0x1c
000006ff: DUP6
00000700: DUP8
00000701: GAS
00000702: CALL
00000703: ISZERO
00000704: ISZERO
00000705: PUSH2 0x0713
00000708: JUMPI
00000709: RETURNDATASIZE
0000070a: PUSH1 0x00
0000070c: PUSH1 0x00
0000070e: RETURNDATACOPY
0000070f: RETURNDATASIZE
00000710: PUSH1 0x00
00000712: REVERT
00000713: JUMPDEST
00000714: JUMPDEST
00000715: POP
00000716: POP
00000717: JUMPDEST
00000718: POP
00000719: POP
0000071a: POP
0000071b: POP
0000071c: POP
0000071d: POP
0000071e: JUMP
0000071f: JUMPDEST
00000720: DUP3
00000721: ISZERO
00000722: DUP1
00000723: ISZERO
00000724: PUSH2 0x078d
00000727: JUMPI
00000728: CALLVALUE
00000729: ISZERO
0000072a: DUP1
0000072b: ISZERO
0000072c: ISZERO
0000072d: PUSH2 0x074a
00000730: JUMPI
00000731: DUP6
00000732: CALLVALUE
00000733: EQ
00000734: ISZERO
00000735: ISZERO
00000736: PUSH2 0x0749
00000739: JUMPI
0000073a: PUSH1 0x01
0000073c: PUSH1 0x00
0000073e: MSTORE
0000073f: PUSH1 0x6d
00000741: PUSH1 0x20
00000743: MSTORE
00000744: PUSH1 0x21
00000746: PUSH1 0x00
00000748: REVERT
00000749: JUMPDEST
0000074a: JUMPDEST
0000074b: DUP1
0000074c: ISZERO
0000074d: PUSH2 0x078b
00000750: JUMPI
00000751: PUSH1 0x00
00000753: PUSH4 0x2e1a7d4d
00000758: DUP2
00000759: MSTORE
0000075a: DUP7
0000075b: PUSH1 0x20
0000075d: MSTORE
0000075e: DUP1
0000075f: DUP2
00000760: PUSH1 0x24
00000762: PUSH1 0x1c
00000764: DUP5
00000765: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000077a: GAS
0000077b: CALL
0000077c: ISZERO
0000077d: ISZERO
0000077e: PUSH2 0x0789
00000781: JUMPI
00000782: RETURNDATASIZE
00000783: DUP2
00000784: DUP3
00000785: RETURNDATACOPY
00000786: RETURNDATASIZE
00000787: DUP2
00000788: REVERT
00000789: JUMPDEST
0000078a: POP
0000078b: JUMPDEST
0000078c: POP
0000078d: JUMPDEST
0000078e: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000007a3: DUP1
000007a4: DUP6
000007a5: EQ
000007a6: ISZERO
000007a7: PUSH2 0x07ef
000007aa: JUMPI
000007ab: CALLVALUE
000007ac: ISZERO
000007ad: ISZERO
000007ae: ISZERO
000007af: PUSH2 0x07ee
000007b2: JUMPI
000007b3: DUP6
000007b4: CALLVALUE
000007b5: EQ
000007b6: ISZERO
000007b7: ISZERO
000007b8: PUSH2 0x07cb
000007bb: JUMPI
000007bc: PUSH1 0x01
000007be: PUSH1 0x00
000007c0: MSTORE
000007c1: PUSH1 0x6d
000007c3: PUSH1 0x20
000007c5: MSTORE
000007c6: PUSH1 0x21
000007c8: PUSH1 0x00
000007ca: REVERT
000007cb: JUMPDEST
000007cc: PUSH1 0x00
000007ce: PUSH4 0xd0e30db0
000007d3: DUP2
000007d4: MSTORE
000007d5: DUP1
000007d6: DUP2
000007d7: PUSH1 0x04
000007d9: PUSH1 0x1c
000007db: DUP11
000007dc: DUP7
000007dd: GAS
000007de: CALL
000007df: ISZERO
000007e0: ISZERO
000007e1: PUSH2 0x07ec
000007e4: JUMPI
000007e5: RETURNDATASIZE
000007e6: DUP2
000007e7: DUP3
000007e8: RETURNDATACOPY
000007e9: RETURNDATASIZE
000007ea: DUP2
000007eb: REVERT
000007ec: JUMPDEST
000007ed: POP
000007ee: JUMPDEST
000007ef: JUMPDEST
000007f0: POP
000007f1: DUP1
000007f2: ISZERO
000007f3: ISZERO
000007f4: PUSH2 0x0868
000007f7: JUMPI
000007f8: PUSH1 0x02
000007fa: DUP3
000007fb: AND
000007fc: ISZERO
000007fd: ISZERO
000007fe: ISZERO
000007ff: PUSH2 0x0831
00000802: JUMPI
00000803: PUSH1 0x00
00000805: PUSH4 0x095ea7b3
0000080a: DUP2
0000080b: MSTORE
0000080c: DUP4
0000080d: PUSH1 0x20
0000080f: MSTORE
00000810: PUSH1 0x01
00000812: PUSH1 0xff
00000814: SHL
00000815: PUSH1 0x40
00000817: MSTORE
00000818: DUP1
00000819: DUP2
0000081a: PUSH1 0x44
0000081c: PUSH1 0x1c
0000081e: DUP5
0000081f: DUP10
00000820: GAS
00000821: CALL
00000822: ISZERO
00000823: ISZERO
00000824: PUSH2 0x082f
00000827: JUMPI
00000828: RETURNDATASIZE
00000829: DUP2
0000082a: DUP3
0000082b: RETURNDATACOPY
0000082c: RETURNDATASIZE
0000082d: DUP2
0000082e: REVERT
0000082f: JUMPDEST
00000830: POP
00000831: JUMPDEST
00000832: PUSH1 0x04
00000834: DUP3
00000835: AND
00000836: ISZERO
00000837: ISZERO
00000838: ISZERO
00000839: PUSH2 0x0867
0000083c: JUMPI
0000083d: PUSH1 0x00
0000083f: PUSH4 0xa9059cbb
00000844: DUP2
00000845: MSTORE
00000846: DUP4
00000847: PUSH1 0x20
00000849: MSTORE
0000084a: DUP6
0000084b: PUSH1 0x40
0000084d: MSTORE
0000084e: DUP1
0000084f: DUP2
00000850: PUSH1 0x44
00000852: PUSH1 0x1c
00000854: DUP5
00000855: DUP10
00000856: GAS
00000857: CALL
00000858: ISZERO
00000859: ISZERO
0000085a: PUSH2 0x0865
0000085d: JUMPI
0000085e: RETURNDATASIZE
0000085f: DUP2
00000860: DUP3
00000861: RETURNDATACOPY
00000862: RETURNDATASIZE
00000863: DUP2
00000864: REVERT
00000865: JUMPDEST
00000866: POP
00000867: JUMPDEST
00000868: JUMPDEST
00000869: POP
0000086a: JUMPDEST
0000086b: POP
0000086c: POP
0000086d: POP
0000086e: POP
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH1 0x00
00000873: DUP2
00000874: PUSH1 0x00
00000876: DUP2
00000877: EQ
00000878: PUSH2 0x08de
0000087b: JUMPI
0000087c: PUSH1 0x01
0000087e: DUP2
0000087f: EQ
00000880: PUSH2 0x093b
00000883: JUMPI
00000884: PUSH1 0x02
00000886: DUP2
00000887: EQ
00000888: PUSH2 0x09d1
0000088b: JUMPI
0000088c: PUSH1 0x01
0000088e: SLOAD
0000088f: DUP1
00000890: ISZERO
00000891: ISZERO
00000892: PUSH2 0x08a5
00000895: JUMPI
00000896: PUSH1 0x01
00000898: PUSH1 0x00
0000089a: MSTORE
0000089b: PUSH1 0x64
0000089d: PUSH1 0x20
0000089f: MSTORE8
000008a0: PUSH1 0x21
000008a2: PUSH1 0x00
000008a4: REVERT
000008a5: JUMPDEST
000008a6: PUSH1 0x00
000008a8: DUP5
000008a9: PUSH2 0x0f00
000008ac: ADD
000008ad: DUP2
000008ae: MSTORE
000008af: DUP7
000008b0: PUSH1 0x20
000008b2: MSTORE
000008b3: DUP8
000008b4: PUSH1 0x40
000008b6: MSTORE
000008b7: DUP9
000008b8: PUSH1 0x60
000008ba: MSTORE
000008bb: PUSH1 0x20
000008bd: DUP2
000008be: PUSH1 0x62
000008c0: PUSH1 0x1e
000008c2: DUP5
000008c3: DUP7
000008c4: GAS
000008c5: CALL
000008c6: ISZERO
000008c7: ISZERO
000008c8: PUSH2 0x08d3
000008cb: JUMPI
000008cc: RETURNDATASIZE
000008cd: DUP2
000008ce: DUP3
000008cf: RETURNDATACOPY
000008d0: RETURNDATASIZE
000008d1: DUP2
000008d2: REVERT
000008d3: JUMPDEST
000008d4: DUP1
000008d5: MLOAD
000008d6: SWAP4
000008d7: POP
000008d8: POP
000008d9: POP
000008da: PUSH2 0x0a04
000008dd: JUMP
000008de: JUMPDEST
000008df: DUP9
000008e0: DUP11
000008e1: DUP11
000008e2: ISZERO
000008e3: ISZERO
000008e4: PUSH2 0x0910
000008e7: JUMPI
000008e8: PUSH4 0x0902f1ac
000008ed: DUP5
000008ee: MSTORE
000008ef: PUSH1 0x40
000008f1: DUP5
000008f2: PUSH1 0x04
000008f4: PUSH1 0x1c
000008f6: DUP10
000008f7: GAS
000008f8: STATICCALL
000008f9: ISZERO
000008fa: ISZERO
000008fb: PUSH2 0x0906
000008fe: JUMPI
000008ff: RETURNDATASIZE
00000900: DUP5
00000901: DUP6
00000902: RETURNDATACOPY
00000903: RETURNDATASIZE
00000904: DUP5
00000905: REVERT
00000906: JUMPDEST
00000907: DUP4
00000908: MLOAD
00000909: SWAP2
0000090a: POP
0000090b: PUSH1 0x20
0000090d: MLOAD
0000090e: SWAP1
0000090f: POP
00000910: JUMPDEST
00000911: DUP8
00000912: DUP8
00000913: GT
00000914: ISZERO
00000915: PUSH2 0x091f
00000918: JUMPI
00000919: DUP1
0000091a: SWAP2
0000091b: POP
0000091c: DUP11
0000091d: SWAP1
0000091e: POP
0000091f: JUMPDEST
00000920: PUSH2 0x03e5
00000923: DUP1
00000924: DUP11
00000925: MUL
00000926: PUSH2 0x03e8
00000929: DUP5
0000092a: MUL
0000092b: ADD
0000092c: DUP2
0000092d: DUP4
0000092e: DUP13
0000092f: MUL
00000930: MUL
00000931: DIV
00000932: SWAP5
00000933: POP
00000934: POP
00000935: POP
00000936: POP
00000937: PUSH2 0x0a04
0000093a: JUMP
0000093b: JUMPDEST
0000093c: DUP8
0000093d: CALLDATALOAD
0000093e: PUSH2 0xffff
00000941: PUSH1 0x00
00000943: PUSH4 0xf8b2cb4f
00000948: DUP2
00000949: MSTORE
0000094a: PUSH1 0x20
0000094c: DUP9
0000094d: DUP2
0000094e: MSTORE
0000094f: DUP1
00000950: PUSH1 0x40
00000952: PUSH1 0x24
00000954: PUSH1 0x1c
00000956: DUP12
00000957: GAS
00000958: STATICCALL
00000959: ISZERO
0000095a: ISZERO
0000095b: PUSH2 0x0966
0000095e: JUMPI
0000095f: RETURNDATASIZE
00000960: DUP3
00000961: DUP4
00000962: RETURNDATACOPY
00000963: RETURNDATASIZE
00000964: DUP3
00000965: REVERT
00000966: JUMPDEST
00000967: DUP10
00000968: DUP2
00000969: MSTORE
0000096a: DUP1
0000096b: PUSH1 0x80
0000096d: PUSH1 0x24
0000096f: PUSH1 0x1c
00000971: DUP12
00000972: GAS
00000973: STATICCALL
00000974: ISZERO
00000975: ISZERO
00000976: PUSH2 0x0981
00000979: JUMPI
0000097a: RETURNDATASIZE
0000097b: DUP3
0000097c: DUP4
0000097d: RETURNDATACOPY
0000097e: RETURNDATASIZE
0000097f: DUP3
00000980: REVERT
00000981: JUMPDEST
00000982: PUSH4 0xba9530a6
00000987: DUP2
00000988: MSTORE
00000989: DUP4
0000098a: PUSH1 0xf0
0000098c: SHR
0000098d: PUSH1 0x60
0000098f: MSTORE
00000990: DUP3
00000991: DUP5
00000992: PUSH1 0xe0
00000994: SHR
00000995: AND
00000996: PUSH1 0xa0
00000998: MSTORE
00000999: DUP11
0000099a: PUSH1 0xb0
0000099c: MSTORE
0000099d: PUSH6 0x5af3107a4000
000009a4: DUP4
000009a5: DUP6
000009a6: PUSH1 0xd0
000009a8: SHR
000009a9: AND
000009aa: MUL
000009ab: PUSH1 0xc0
000009ad: MSTORE
000009ae: DUP1
000009af: DUP2
000009b0: PUSH1 0xc4
000009b2: PUSH1 0x3c
000009b4: DUP12
000009b5: GAS
000009b6: STATICCALL
000009b7: ISZERO
000009b8: ISZERO
000009b9: PUSH2 0x09c4
000009bc: JUMPI
000009bd: RETURNDATASIZE
000009be: DUP3
000009bf: DUP4
000009c0: RETURNDATACOPY
000009c1: RETURNDATASIZE
000009c2: DUP3
000009c3: REVERT
000009c4: JUMPDEST
000009c5: DUP1
000009c6: MLOAD
000009c7: SWAP6
000009c8: POP
000009c9: POP
000009ca: POP
000009cb: POP
000009cc: POP
000009cd: PUSH2 0x0a04
000009d0: JUMP
000009d1: JUMPDEST
000009d2: PUSH1 0x00
000009d4: PUSH4 0x1e1401f8
000009d9: DUP2
000009da: MSTORE
000009db: DUP6
000009dc: PUSH1 0x20
000009de: MSTORE
000009df: DUP7
000009e0: PUSH1 0x40
000009e2: MSTORE
000009e3: DUP8
000009e4: PUSH1 0x60
000009e6: MSTORE
000009e7: PUSH1 0x20
000009e9: DUP2
000009ea: PUSH1 0x64
000009ec: PUSH1 0x1c
000009ee: DUP9
000009ef: GAS
000009f0: STATICCALL
000009f1: ISZERO
000009f2: ISZERO
000009f3: PUSH2 0x09fe
000009f6: JUMPI
000009f7: RETURNDATASIZE
000009f8: DUP2
000009f9: DUP3
000009fa: RETURNDATACOPY
000009fb: RETURNDATASIZE
000009fc: DUP2
000009fd: REVERT
000009fe: JUMPDEST
000009ff: DUP1
00000a00: MLOAD
00000a01: SWAP3
00000a02: POP
00000a03: POP
00000a04: JUMPDEST
00000a05: POP
00000a06: JUMPDEST
00000a07: SWAP9
00000a08: SWAP8
00000a09: POP
00000a0a: POP
00000a0b: POP
00000a0c: POP
00000a0d: POP
00000a0e: POP
00000a0f: POP
00000a10: POP
00000a11: JUMP
00000a12: JUMPDEST

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 10,
    "status": "unknown",
    "attempts": 11,
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1380,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1577,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 965,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1022,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1071,
            "type": "msg_sender_eq_storage"
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444
call_targets: 0x1adb8532b58aee3332ee070554051e9859734a34
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1adb8532b58aee3332ee070554051e9859734a34"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 637,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant_zero",
            "target_expression_category": "computed"
        },
        {
            "pc": 920,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1349,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [
        {
            "pc": 965,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1022,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1071,
            "type": "msg_sender_eq_storage"
        }
    ],
    "untrusted_call_count": 9
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444
call_targets: 0x1adb8532b58aee3332ee070554051e9859734a34
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x466b876767b74b73359e18d6125a47436163c5e95b7f6c0040b8fe821713e444",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1adb8532b58aee3332ee070554051e9859734a34"
    ],
    "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": "0x",
            "selector": "fallback",
            "calldata_variants": [
                "0x"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 920,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1349,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1730,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 965,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1022,
            "type": "msg_sender_eq_storage"
        },
        {
            "pc": 1071,
            "type": "msg_sender_eq_storage"
        }
    ]
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 19
}