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

Analysis Run

fd3f4d05-929d-48ff-ba19-76e54f216f03

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31144 report.consolidate complete 1 / 1 3 months ago
76678 artifact.fetch complete 1 / 3 2 weeks ago
76679 tool.cast_disasm complete 1 / 3 2 weeks ago
76680 analysis.bundle complete 1 / 3 2 weeks ago
76681 capability.graph complete 1 / 3 2 weeks ago
76682 detector.run complete 1 / 3 2 weeks ago
76683 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
Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.
View stderr
[codex:3740] OpenAI Codex v0.77.0 (research preview)
[codex:3740] --------
[codex:3740] workdir: /tmp/codex-multi-ow0dxn4k
[codex:3740] model: gpt-5.2-codex
[codex:3740] provider: openai
[codex:3740] approval: never
[codex:3740] sandbox: read-only
[codex:3740] reasoning effort: xhigh
[codex:3740] reasoning summaries: auto
[codex:3740] session id: 019b7b7c-dcc2-7d72-948e-63bb0e49da1d
[codex:3740] --------
[codex:3740] user
[codex:3740] 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:3740] 
[codex:3740] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:3740] 
[codex:3740] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:3740] - Gas inefficiency, code quality, or best practices
[codex:3740] - Theoretical vulnerabilities without a clear extraction path
[codex:3740] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:3740] - Issues requiring social engineering or off-chain coordination
[codex:3740] 
[codex:3740] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:3740] - CALL/DELEGATECALL with controllable destination or calldata
[codex:3740] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:3740] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:3740] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:3740] - External calls before state updates (reentrancy)
[codex:3740] - SELFDESTRUCT with controllable beneficiary
[codex:3740] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:3740] 
[codex:3740] For each finding, you MUST explain:
[codex:3740] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:3740] 2. The concrete sequence of transactions to extract value
[codex:3740] 3. Why you believe this is exploitable (not just suspicious)
[codex:3740] 
[codex:3740] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:3740] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:3740] 
[codex:3740] Output MUST be valid JSON matching the provided schema.
[codex:3740] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:3740] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:3740] mcp startup: no servers
[codex:3740] 
[codex:3740] thinking
[codex:3740] **Reviewing bytecode file**
[codex:3740] exec
[codex:3740] /bin/bash -lc ls in /tmp/codex-multi-ow0dxn4k succeeded in 6ms:
[codex:3740] BYTECODE_BUNDLE.txt
[codex:3740] codex-output-schema.json
[codex:3740] exec
[codex:3740] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-ow0dxn4k succeeded in 6ms:
[codex:3740] Runtime bytecode bundle for best-effort auditing.
[codex:3740] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:3740] 
[codex:3740] FILE: runtime_bytecode.hex
[codex:3740] 0x6060604052361561008a576000357c010000000000000000000000000000000000000000000000000000000090048063095ea7b3146100b857806318160ddd146100ed57806323b872dd146101105780632e1a7d4d1461014e57806370a082311461017a578063a9059cbb146101a6578063d0e30db0146101db578063dd62ed3e146101fe5761008a565b6100a25b60006100986108f7565b905061009f565b90565b6040518082815260200191505060405180910390f35b6100d7600480803590602001909190803590602001909190505061061a565b6040518082815260200191505060405180910390f35b6100fa6004805050610757565b6040518082815260200191505060405180910390f35b61013860048080359060200190919080359060200190919080359060200190919050506103df565b6040518082815260200191505060405180910390f35b610164600480803590602001909190505061077b565b6040518082815260200191505060405180910390f35b6101906004808035906020019091905050610233565b6040518082815260200191505060405180910390f35b6101c56004808035906020019091908035906020019091905050610271565b6040518082815260200191505060405180910390f35b6101e860048050506108f7565b6040518082815260200191505060405180910390f35b61021d60048080359060200190919080359060200190919050506106ee565b6040518082815260200191505060405180910390f35b6000600060005060008373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054905061026c565b919050565b600081600060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000505410156102af57610002565b6102e8600060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050548361098f565b15156102f357610002565b81600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190506103d9565b92915050565b600081600060005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101561041d57610002565b81600160005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054101561048357610002565b6104bc600060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050548361098f565b15156104c757610002565b81600160005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282825054039250508190555081600060005060008573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610613565b9392505050565b600081600160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190506106e8565b92915050565b6000600160005060008473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005060008373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050549050610751565b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff16319050610778565b90565b60006107b6600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054836109cb565b600060005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055503373ffffffffffffffffffffffffffffffffffffffff168260405180905060006040518083038185876185025a03f1925050501561087c573373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65836040518082815260200191505060405180910390a2600190506108f2566108e9565b6108b5600060005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005054836109a4565b600060005060003373ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600050819055505b600090506108f2565b919050565b600034600060005060003373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828282505401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a26001905061098c565b90565b6000828284011015905061099e565b92915050565b60006109b0838361098f565b15156109bb57610002565b81830190506109c5565b92915050565b60006109d783836109f2565b15156109e257610002565b81830390506109ec565b92915050565b60008282111590506109ff565b9291505056
[codex:3740] 
[codex:3740] thinking
[codex:3740] **Examining bytecode for vulnerabilities**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'which evm || which disasm || which ethdasm || which forge' in /tmp/codex-multi-ow0dxn4k succeeded in 10ms:
[codex:3740] /home/noahkuhn/.foundry/bin/forge
[codex:3740] 
[codex:3740] thinking
[codex:3740] **Checking forge versus cast**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'which cast' in /tmp/codex-multi-ow0dxn4k succeeded in 7ms:
[codex:3740] /home/noahkuhn/.foundry/bin/cast
[codex:3740] 
[codex:3740] thinking
[codex:3740] **Confirming cast's disassemble capability**
[codex:3740] exec
[codex:3740] /bin/bash -lc 'cast disassemble $(cat BYTECODE_BUNDLE.txt | sed -n '"'s/"'^0x//p'"' | head -n 1)" in /tmp/codex-multi-ow0dxn4k succeeded in 27ms:
[codex:3740] 00000000: PUSH1 0x60
[codex:3740] 00000002: PUSH1 0x40
[codex:3740] 00000004: MSTORE
[codex:3740] 00000005: CALLDATASIZE
[codex:3740] 00000006: ISZERO
[codex:3740] 00000007: PUSH2 0x008a
[codex:3740] 0000000a: JUMPI
[codex:3740] 0000000b: PUSH1 0x00
[codex:3740] 0000000d: CALLDATALOAD
[codex:3740] 0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
[codex:3740] 0000002c: SWAP1
[codex:3740] 0000002d: DIV
[codex:3740] 0000002e: DUP1
[codex:3740] 0000002f: PUSH4 0x095ea7b3
[codex:3740] 00000034: EQ
[codex:3740] 00000035: PUSH2 0x00b8
[codex:3740] 00000038: JUMPI
[codex:3740] 00000039: DUP1
[codex:3740] 0000003a: PUSH4 0x18160ddd
[codex:3740] 0000003f: EQ
[codex:3740] 
[codex:3740] 
[codex:3740] 
[codex:3740] thinking
[codex:3740] **Analyzing potential vulnerabilities in token contract**
[codex:3740] thinking
[codex:3740] **Tracing stack and safe math calls in withdraw function**
[codex:3740] 
[codex:3740] I’m carefully mapping the stack and internal jumps around the withdraw function, focusing on how arguments and return addresses flow through nested safeSub and safeAdd calls to verify arithmetic correctness and avoid underflow or overflow errors. This close look helps me confirm that balance updates and safety checks align as expected in the contract logic.
[codex:3740] thinking
[codex:3740] **Analyzing detailed stack behavior and safeSub logic**
[codex:3740] 
[codex:3740] I’m carefully tracing stack positions and instructions inside the safeSub function, confirming the correct logic for preventing underflow by checking that amount is not greater than balance. This detailed walkthrough reassures me that arithmetic checks and stack manipulations comply with expected safe math patterns.
[codex:3740] codex
[codex:3740] {"no_findings":true,"summary":"Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.","findings":[]}
[codex:3740] tokens used
[codex:3740] 29,317
[codex:3740] {"no_findings":true,"summary":"Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T21:39:42.051664+00:00",
        "returncode": 0
    },
    "summary": "Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.",
    "raw_final": {
        "summary": "Reviewed the runtime bytecode; it matches a standard WETH-style ERC20 (deposit/withdraw/transfer/approve) with balance/allowance checks and state updates before external calls. No concrete profit-extraction path is identifiable from the bytecode alone.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
1
Total opcodes
1328
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x008a
0000000a: JUMPI
0000000b: PUSH1 0x00
0000000d: CALLDATALOAD
0000000e: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002c: SWAP1
0000002d: DIV
0000002e: DUP1
0000002f: PUSH4 0x095ea7b3
00000034: EQ
00000035: PUSH2 0x00b8
00000038: JUMPI
00000039: DUP1
0000003a: PUSH4 0x18160ddd
0000003f: EQ
00000040: PUSH2 0x00ed
00000043: JUMPI
00000044: DUP1
00000045: PUSH4 0x23b872dd
0000004a: EQ
0000004b: PUSH2 0x0110
0000004e: JUMPI
0000004f: DUP1
00000050: PUSH4 0x2e1a7d4d
00000055: EQ
00000056: PUSH2 0x014e
00000059: JUMPI
0000005a: DUP1
0000005b: PUSH4 0x70a08231
00000060: EQ
00000061: PUSH2 0x017a
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xa9059cbb
0000006b: EQ
0000006c: PUSH2 0x01a6
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xd0e30db0
00000076: EQ
00000077: PUSH2 0x01db
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xdd62ed3e
00000081: EQ
00000082: PUSH2 0x01fe
00000085: JUMPI
00000086: PUSH2 0x008a
00000089: JUMP
0000008a: JUMPDEST
0000008b: PUSH2 0x00a2
0000008e: JUMPDEST
0000008f: PUSH1 0x00
00000091: PUSH2 0x0098
00000094: PUSH2 0x08f7
00000097: JUMP
00000098: JUMPDEST
00000099: SWAP1
0000009a: POP
0000009b: PUSH2 0x009f
0000009e: JUMP
0000009f: JUMPDEST
000000a0: SWAP1
000000a1: JUMP
000000a2: JUMPDEST
000000a3: PUSH1 0x40
000000a5: MLOAD
000000a6: DUP1
000000a7: DUP3
000000a8: DUP2
000000a9: MSTORE
000000aa: PUSH1 0x20
000000ac: ADD
000000ad: SWAP2
000000ae: POP
000000af: POP
000000b0: PUSH1 0x40
000000b2: MLOAD
000000b3: DUP1
000000b4: SWAP2
000000b5: SUB
000000b6: SWAP1
000000b7: RETURN
000000b8: JUMPDEST
000000b9: PUSH2 0x00d7
000000bc: PUSH1 0x04
000000be: DUP1
000000bf: DUP1
000000c0: CALLDATALOAD
000000c1: SWAP1
000000c2: PUSH1 0x20
000000c4: ADD
000000c5: SWAP1
000000c6: SWAP2
000000c7: SWAP1
000000c8: DUP1
000000c9: CALLDATALOAD
000000ca: SWAP1
000000cb: PUSH1 0x20
000000cd: ADD
000000ce: SWAP1
000000cf: SWAP2
000000d0: SWAP1
000000d1: POP
000000d2: POP
000000d3: PUSH2 0x061a
000000d6: JUMP
000000d7: JUMPDEST
000000d8: PUSH1 0x40
000000da: MLOAD
000000db: DUP1
000000dc: DUP3
000000dd: DUP2
000000de: MSTORE
000000df: PUSH1 0x20
000000e1: ADD
000000e2: SWAP2
000000e3: POP
000000e4: POP
000000e5: PUSH1 0x40
000000e7: MLOAD
000000e8: DUP1
000000e9: SWAP2
000000ea: SUB
000000eb: SWAP1
000000ec: RETURN
000000ed: JUMPDEST
000000ee: PUSH2 0x00fa
000000f1: PUSH1 0x04
000000f3: DUP1
000000f4: POP
000000f5: POP
000000f6: PUSH2 0x0757
000000f9: JUMP
000000fa: JUMPDEST
000000fb: PUSH1 0x40
000000fd: MLOAD
000000fe: DUP1
000000ff: DUP3
00000100: DUP2
00000101: MSTORE
00000102: PUSH1 0x20
00000104: ADD
00000105: SWAP2
00000106: POP
00000107: POP
00000108: PUSH1 0x40
0000010a: MLOAD
0000010b: DUP1
0000010c: SWAP2
0000010d: SUB
0000010e: SWAP1
0000010f: RETURN
00000110: JUMPDEST
00000111: PUSH2 0x0138
00000114: PUSH1 0x04
00000116: DUP1
00000117: DUP1
00000118: CALLDATALOAD
00000119: SWAP1
0000011a: PUSH1 0x20
0000011c: ADD
0000011d: SWAP1
0000011e: SWAP2
0000011f: SWAP1
00000120: DUP1
00000121: CALLDATALOAD
00000122: SWAP1
00000123: PUSH1 0x20
00000125: ADD
00000126: SWAP1
00000127: SWAP2
00000128: SWAP1
00000129: DUP1
0000012a: CALLDATALOAD
0000012b: SWAP1
0000012c: PUSH1 0x20
0000012e: ADD
0000012f: SWAP1
00000130: SWAP2
00000131: SWAP1
00000132: POP
00000133: POP
00000134: PUSH2 0x03df
00000137: JUMP
00000138: JUMPDEST
00000139: PUSH1 0x40
0000013b: MLOAD
0000013c: DUP1
0000013d: DUP3
0000013e: DUP2
0000013f: MSTORE
00000140: PUSH1 0x20
00000142: ADD
00000143: SWAP2
00000144: POP
00000145: POP
00000146: PUSH1 0x40
00000148: MLOAD
00000149: DUP1
0000014a: SWAP2
0000014b: SUB
0000014c: SWAP1
0000014d: RETURN
0000014e: JUMPDEST
0000014f: PUSH2 0x0164
00000152: PUSH1 0x04
00000154: DUP1
00000155: DUP1
00000156: CALLDATALOAD
00000157: SWAP1
00000158: PUSH1 0x20
0000015a: ADD
0000015b: SWAP1
0000015c: SWAP2
0000015d: SWAP1
0000015e: POP
0000015f: POP
00000160: PUSH2 0x077b
00000163: JUMP
00000164: JUMPDEST
00000165: PUSH1 0x40
00000167: MLOAD
00000168: DUP1
00000169: DUP3
0000016a: DUP2
0000016b: MSTORE
0000016c: PUSH1 0x20
0000016e: ADD
0000016f: SWAP2
00000170: POP
00000171: POP
00000172: PUSH1 0x40
00000174: MLOAD
00000175: DUP1
00000176: SWAP2
00000177: SUB
00000178: SWAP1
00000179: RETURN
0000017a: JUMPDEST
0000017b: PUSH2 0x0190
0000017e: PUSH1 0x04
00000180: DUP1
00000181: DUP1
00000182: CALLDATALOAD
00000183: SWAP1
00000184: PUSH1 0x20
00000186: ADD
00000187: SWAP1
00000188: SWAP2
00000189: SWAP1
0000018a: POP
0000018b: POP
0000018c: PUSH2 0x0233
0000018f: JUMP
00000190: JUMPDEST
00000191: PUSH1 0x40
00000193: MLOAD
00000194: DUP1
00000195: DUP3
00000196: DUP2
00000197: MSTORE
00000198: PUSH1 0x20
0000019a: ADD
0000019b: SWAP2
0000019c: POP
0000019d: POP
0000019e: PUSH1 0x40
000001a0: MLOAD
000001a1: DUP1
000001a2: SWAP2
000001a3: SUB
000001a4: SWAP1
000001a5: RETURN
000001a6: JUMPDEST
000001a7: PUSH2 0x01c5
000001aa: PUSH1 0x04
000001ac: DUP1
000001ad: DUP1
000001ae: CALLDATALOAD
000001af: SWAP1
000001b0: PUSH1 0x20
000001b2: ADD
000001b3: SWAP1
000001b4: SWAP2
000001b5: SWAP1
000001b6: DUP1
000001b7: CALLDATALOAD
000001b8: SWAP1
000001b9: PUSH1 0x20
000001bb: ADD
000001bc: SWAP1
000001bd: SWAP2
000001be: SWAP1
000001bf: POP
000001c0: POP
000001c1: PUSH2 0x0271
000001c4: JUMP
000001c5: JUMPDEST
000001c6: PUSH1 0x40
000001c8: MLOAD
000001c9: DUP1
000001ca: DUP3
000001cb: DUP2
000001cc: MSTORE
000001cd: PUSH1 0x20
000001cf: ADD
000001d0: SWAP2
000001d1: POP
000001d2: POP
000001d3: PUSH1 0x40
000001d5: MLOAD
000001d6: DUP1
000001d7: SWAP2
000001d8: SUB
000001d9: SWAP1
000001da: RETURN
000001db: JUMPDEST
000001dc: PUSH2 0x01e8
000001df: PUSH1 0x04
000001e1: DUP1
000001e2: POP
000001e3: POP
000001e4: PUSH2 0x08f7
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH1 0x40
000001eb: MLOAD
000001ec: DUP1
000001ed: DUP3
000001ee: DUP2
000001ef: MSTORE
000001f0: PUSH1 0x20
000001f2: ADD
000001f3: SWAP2
000001f4: POP
000001f5: POP
000001f6: PUSH1 0x40
000001f8: MLOAD
000001f9: DUP1
000001fa: SWAP2
000001fb: SUB
000001fc: SWAP1
000001fd: RETURN
000001fe: JUMPDEST
000001ff: PUSH2 0x021d
00000202: PUSH1 0x04
00000204: DUP1
00000205: DUP1
00000206: CALLDATALOAD
00000207: SWAP1
00000208: PUSH1 0x20
0000020a: ADD
0000020b: SWAP1
0000020c: SWAP2
0000020d: SWAP1
0000020e: DUP1
0000020f: CALLDATALOAD
00000210: SWAP1
00000211: PUSH1 0x20
00000213: ADD
00000214: SWAP1
00000215: SWAP2
00000216: SWAP1
00000217: POP
00000218: POP
00000219: PUSH2 0x06ee
0000021c: JUMP
0000021d: JUMPDEST
0000021e: PUSH1 0x40
00000220: MLOAD
00000221: DUP1
00000222: DUP3
00000223: DUP2
00000224: MSTORE
00000225: PUSH1 0x20
00000227: ADD
00000228: SWAP2
00000229: POP
0000022a: POP
0000022b: PUSH1 0x40
0000022d: MLOAD
0000022e: DUP1
0000022f: SWAP2
00000230: SUB
00000231: SWAP1
00000232: RETURN
00000233: JUMPDEST
00000234: PUSH1 0x00
00000236: PUSH1 0x00
00000238: PUSH1 0x00
0000023a: POP
0000023b: PUSH1 0x00
0000023d: DUP4
0000023e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000253: AND
00000254: DUP2
00000255: MSTORE
00000256: PUSH1 0x20
00000258: ADD
00000259: SWAP1
0000025a: DUP2
0000025b: MSTORE
0000025c: PUSH1 0x20
0000025e: ADD
0000025f: PUSH1 0x00
00000261: KECCAK256
00000262: PUSH1 0x00
00000264: POP
00000265: SLOAD
00000266: SWAP1
00000267: POP
00000268: PUSH2 0x026c
0000026b: JUMP
0000026c: JUMPDEST
0000026d: SWAP2
0000026e: SWAP1
0000026f: POP
00000270: JUMP
00000271: JUMPDEST
00000272: PUSH1 0x00
00000274: DUP2
00000275: PUSH1 0x00
00000277: PUSH1 0x00
00000279: POP
0000027a: PUSH1 0x00
0000027c: CALLER
0000027d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000292: AND
00000293: DUP2
00000294: MSTORE
00000295: PUSH1 0x20
00000297: ADD
00000298: SWAP1
00000299: DUP2
0000029a: MSTORE
0000029b: PUSH1 0x20
0000029d: ADD
0000029e: PUSH1 0x00
000002a0: KECCAK256
000002a1: PUSH1 0x00
000002a3: POP
000002a4: SLOAD
000002a5: LT
000002a6: ISZERO
000002a7: PUSH2 0x02af
000002aa: JUMPI
000002ab: PUSH2 0x0002
000002ae: JUMP
000002af: JUMPDEST
000002b0: PUSH2 0x02e8
000002b3: PUSH1 0x00
000002b5: PUSH1 0x00
000002b7: POP
000002b8: PUSH1 0x00
000002ba: DUP6
000002bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002d0: AND
000002d1: DUP2
000002d2: MSTORE
000002d3: PUSH1 0x20
000002d5: ADD
000002d6: SWAP1
000002d7: DUP2
000002d8: MSTORE
000002d9: PUSH1 0x20
000002db: ADD
000002dc: PUSH1 0x00
000002de: KECCAK256
000002df: PUSH1 0x00
000002e1: POP
000002e2: SLOAD
000002e3: DUP4
000002e4: PUSH2 0x098f
000002e7: JUMP
000002e8: JUMPDEST
000002e9: ISZERO
000002ea: ISZERO
000002eb: PUSH2 0x02f3
000002ee: JUMPI
000002ef: PUSH2 0x0002
000002f2: JUMP
000002f3: JUMPDEST
000002f4: DUP2
000002f5: PUSH1 0x00
000002f7: PUSH1 0x00
000002f9: POP
000002fa: PUSH1 0x00
000002fc: CALLER
000002fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000312: AND
00000313: DUP2
00000314: MSTORE
00000315: PUSH1 0x20
00000317: ADD
00000318: SWAP1
00000319: DUP2
0000031a: MSTORE
0000031b: PUSH1 0x20
0000031d: ADD
0000031e: PUSH1 0x00
00000320: KECCAK256
00000321: PUSH1 0x00
00000323: DUP3
00000324: DUP3
00000325: DUP3
00000326: POP
00000327: SLOAD
00000328: SUB
00000329: SWAP3
0000032a: POP
0000032b: POP
0000032c: DUP2
0000032d: SWAP1
0000032e: SSTORE
0000032f: POP
00000330: DUP2
00000331: PUSH1 0x00
00000333: PUSH1 0x00
00000335: POP
00000336: PUSH1 0x00
00000338: DUP6
00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034e: AND
0000034f: DUP2
00000350: MSTORE
00000351: PUSH1 0x20
00000353: ADD
00000354: SWAP1
00000355: DUP2
00000356: MSTORE
00000357: PUSH1 0x20
00000359: ADD
0000035a: PUSH1 0x00
0000035c: KECCAK256
0000035d: PUSH1 0x00
0000035f: DUP3
00000360: DUP3
00000361: DUP3
00000362: POP
00000363: SLOAD
00000364: ADD
00000365: SWAP3
00000366: POP
00000367: POP
00000368: DUP2
00000369: SWAP1
0000036a: SSTORE
0000036b: POP
0000036c: DUP3
0000036d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000382: AND
00000383: CALLER
00000384: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000399: AND
0000039a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000003bb: DUP5
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: DUP1
000003c0: DUP3
000003c1: DUP2
000003c2: MSTORE
000003c3: PUSH1 0x20
000003c5: ADD
000003c6: SWAP2
000003c7: POP
000003c8: POP
000003c9: PUSH1 0x40
000003cb: MLOAD
000003cc: DUP1
000003cd: SWAP2
000003ce: SUB
000003cf: SWAP1
000003d0: LOG3
000003d1: PUSH1 0x01
000003d3: SWAP1
000003d4: POP
000003d5: PUSH2 0x03d9
000003d8: JUMP
000003d9: JUMPDEST
000003da: SWAP3
000003db: SWAP2
000003dc: POP
000003dd: POP
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH1 0x00
000003e2: DUP2
000003e3: PUSH1 0x00
000003e5: PUSH1 0x00
000003e7: POP
000003e8: PUSH1 0x00
000003ea: DUP7
000003eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000400: AND
00000401: DUP2
00000402: MSTORE
00000403: PUSH1 0x20
00000405: ADD
00000406: SWAP1
00000407: DUP2
00000408: MSTORE
00000409: PUSH1 0x20
0000040b: ADD
0000040c: PUSH1 0x00
0000040e: KECCAK256
0000040f: PUSH1 0x00
00000411: POP
00000412: SLOAD
00000413: LT
00000414: ISZERO
00000415: PUSH2 0x041d
00000418: JUMPI
00000419: PUSH2 0x0002
0000041c: JUMP
0000041d: JUMPDEST
0000041e: DUP2
0000041f: PUSH1 0x01
00000421: PUSH1 0x00
00000423: POP
00000424: PUSH1 0x00
00000426: DUP7
00000427: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043c: AND
0000043d: DUP2
0000043e: MSTORE
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP1
00000443: DUP2
00000444: MSTORE
00000445: PUSH1 0x20
00000447: ADD
00000448: PUSH1 0x00
0000044a: KECCAK256
0000044b: PUSH1 0x00
0000044d: POP
0000044e: PUSH1 0x00
00000450: CALLER
00000451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000466: AND
00000467: DUP2
00000468: MSTORE
00000469: PUSH1 0x20
0000046b: ADD
0000046c: SWAP1
0000046d: DUP2
0000046e: MSTORE
0000046f: PUSH1 0x20
00000471: ADD
00000472: PUSH1 0x00
00000474: KECCAK256
00000475: PUSH1 0x00
00000477: POP
00000478: SLOAD
00000479: LT
0000047a: ISZERO
0000047b: PUSH2 0x0483
0000047e: JUMPI
0000047f: PUSH2 0x0002
00000482: JUMP
00000483: JUMPDEST
00000484: PUSH2 0x04bc
00000487: PUSH1 0x00
00000489: PUSH1 0x00
0000048b: POP
0000048c: PUSH1 0x00
0000048e: DUP6
0000048f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004a4: AND
000004a5: DUP2
000004a6: MSTORE
000004a7: PUSH1 0x20
000004a9: ADD
000004aa: SWAP1
000004ab: DUP2
000004ac: MSTORE
000004ad: PUSH1 0x20
000004af: ADD
000004b0: PUSH1 0x00
000004b2: KECCAK256
000004b3: PUSH1 0x00
000004b5: POP
000004b6: SLOAD
000004b7: DUP4
000004b8: PUSH2 0x098f
000004bb: JUMP
000004bc: JUMPDEST
000004bd: ISZERO
000004be: ISZERO
000004bf: PUSH2 0x04c7
000004c2: JUMPI
000004c3: PUSH2 0x0002
000004c6: JUMP
000004c7: JUMPDEST
000004c8: DUP2
000004c9: PUSH1 0x01
000004cb: PUSH1 0x00
000004cd: POP
000004ce: PUSH1 0x00
000004d0: DUP7
000004d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e6: AND
000004e7: DUP2
000004e8: MSTORE
000004e9: PUSH1 0x20
000004eb: ADD
000004ec: SWAP1
000004ed: DUP2
000004ee: MSTORE
000004ef: PUSH1 0x20
000004f1: ADD
000004f2: PUSH1 0x00
000004f4: KECCAK256
000004f5: PUSH1 0x00
000004f7: POP
000004f8: PUSH1 0x00
000004fa: CALLER
000004fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000510: AND
00000511: DUP2
00000512: MSTORE
00000513: PUSH1 0x20
00000515: ADD
00000516: SWAP1
00000517: DUP2
00000518: MSTORE
00000519: PUSH1 0x20
0000051b: ADD
0000051c: PUSH1 0x00
0000051e: KECCAK256
0000051f: PUSH1 0x00
00000521: DUP3
00000522: DUP3
00000523: DUP3
00000524: POP
00000525: SLOAD
00000526: SUB
00000527: SWAP3
00000528: POP
00000529: POP
0000052a: DUP2
0000052b: SWAP1
0000052c: SSTORE
0000052d: POP
0000052e: DUP2
0000052f: PUSH1 0x00
00000531: PUSH1 0x00
00000533: POP
00000534: PUSH1 0x00
00000536: DUP7
00000537: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000054c: AND
0000054d: DUP2
0000054e: MSTORE
0000054f: PUSH1 0x20
00000551: ADD
00000552: SWAP1
00000553: DUP2
00000554: MSTORE
00000555: PUSH1 0x20
00000557: ADD
00000558: PUSH1 0x00
0000055a: KECCAK256
0000055b: PUSH1 0x00
0000055d: DUP3
0000055e: DUP3
0000055f: DUP3
00000560: POP
00000561: SLOAD
00000562: SUB
00000563: SWAP3
00000564: POP
00000565: POP
00000566: DUP2
00000567: SWAP1
00000568: SSTORE
00000569: POP
0000056a: DUP2
0000056b: PUSH1 0x00
0000056d: PUSH1 0x00
0000056f: POP
00000570: PUSH1 0x00
00000572: DUP6
00000573: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000588: AND
00000589: DUP2
0000058a: MSTORE
0000058b: PUSH1 0x20
0000058d: ADD
0000058e: SWAP1
0000058f: DUP2
00000590: MSTORE
00000591: PUSH1 0x20
00000593: ADD
00000594: PUSH1 0x00
00000596: KECCAK256
00000597: PUSH1 0x00
00000599: DUP3
0000059a: DUP3
0000059b: DUP3
0000059c: POP
0000059d: SLOAD
0000059e: ADD
0000059f: SWAP3
000005a0: POP
000005a1: POP
000005a2: DUP2
000005a3: SWAP1
000005a4: SSTORE
000005a5: POP
000005a6: DUP3
000005a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005bc: AND
000005bd: DUP5
000005be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005d3: AND
000005d4: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000005f5: DUP5
000005f6: PUSH1 0x40
000005f8: MLOAD
000005f9: DUP1
000005fa: DUP3
000005fb: DUP2
000005fc: MSTORE
000005fd: PUSH1 0x20
000005ff: ADD
00000600: SWAP2
00000601: POP
00000602: POP
00000603: PUSH1 0x40
00000605: MLOAD
00000606: DUP1
00000607: SWAP2
00000608: SUB
00000609: SWAP1
0000060a: LOG3
0000060b: PUSH1 0x01
0000060d: SWAP1
0000060e: POP
0000060f: PUSH2 0x0613
00000612: JUMP
00000613: JUMPDEST
00000614: SWAP4
00000615: SWAP3
00000616: POP
00000617: POP
00000618: POP
00000619: JUMP
0000061a: JUMPDEST
0000061b: PUSH1 0x00
0000061d: DUP2
0000061e: PUSH1 0x01
00000620: PUSH1 0x00
00000622: POP
00000623: PUSH1 0x00
00000625: CALLER
00000626: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000063b: AND
0000063c: DUP2
0000063d: MSTORE
0000063e: PUSH1 0x20
00000640: ADD
00000641: SWAP1
00000642: DUP2
00000643: MSTORE
00000644: PUSH1 0x20
00000646: ADD
00000647: PUSH1 0x00
00000649: KECCAK256
0000064a: PUSH1 0x00
0000064c: POP
0000064d: PUSH1 0x00
0000064f: DUP6
00000650: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000665: AND
00000666: DUP2
00000667: MSTORE
00000668: PUSH1 0x20
0000066a: ADD
0000066b: SWAP1
0000066c: DUP2
0000066d: MSTORE
0000066e: PUSH1 0x20
00000670: ADD
00000671: PUSH1 0x00
00000673: KECCAK256
00000674: PUSH1 0x00
00000676: POP
00000677: DUP2
00000678: SWAP1
00000679: SSTORE
0000067a: POP
0000067b: DUP3
0000067c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000691: AND
00000692: CALLER
00000693: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006a8: AND
000006a9: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000006ca: DUP5
000006cb: PUSH1 0x40
000006cd: MLOAD
000006ce: DUP1
000006cf: DUP3
000006d0: DUP2
000006d1: MSTORE
000006d2: PUSH1 0x20
000006d4: ADD
000006d5: SWAP2
000006d6: POP
000006d7: POP
000006d8: PUSH1 0x40
000006da: MLOAD
000006db: DUP1
000006dc: SWAP2
000006dd: SUB
000006de: SWAP1
000006df: LOG3
000006e0: PUSH1 0x01
000006e2: SWAP1
000006e3: POP
000006e4: PUSH2 0x06e8
000006e7: JUMP
000006e8: JUMPDEST
000006e9: SWAP3
000006ea: SWAP2
000006eb: POP
000006ec: POP
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH1 0x00
000006f1: PUSH1 0x01
000006f3: PUSH1 0x00
000006f5: POP
000006f6: PUSH1 0x00
000006f8: DUP5
000006f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000070e: AND
0000070f: DUP2
00000710: MSTORE
00000711: PUSH1 0x20
00000713: ADD
00000714: SWAP1
00000715: DUP2
00000716: MSTORE
00000717: PUSH1 0x20
00000719: ADD
0000071a: PUSH1 0x00
0000071c: KECCAK256
0000071d: PUSH1 0x00
0000071f: POP
00000720: PUSH1 0x00
00000722: DUP4
00000723: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000738: AND
00000739: DUP2
0000073a: MSTORE
0000073b: PUSH1 0x20
0000073d: ADD
0000073e: SWAP1
0000073f: DUP2
00000740: MSTORE
00000741: PUSH1 0x20
00000743: ADD
00000744: PUSH1 0x00
00000746: KECCAK256
00000747: PUSH1 0x00
00000749: POP
0000074a: SLOAD
0000074b: SWAP1
0000074c: POP
0000074d: PUSH2 0x0751
00000750: JUMP
00000751: JUMPDEST
00000752: SWAP3
00000753: SWAP2
00000754: POP
00000755: POP
00000756: JUMP
00000757: JUMPDEST
00000758: PUSH1 0x00
0000075a: ADDRESS
0000075b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000770: AND
00000771: BALANCE
00000772: SWAP1
00000773: POP
00000774: PUSH2 0x0778
00000777: JUMP
00000778: JUMPDEST
00000779: SWAP1
0000077a: JUMP
0000077b: JUMPDEST
0000077c: PUSH1 0x00
0000077e: PUSH2 0x07b6
00000781: PUSH1 0x00
00000783: PUSH1 0x00
00000785: POP
00000786: PUSH1 0x00
00000788: CALLER
00000789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000079e: AND
0000079f: DUP2
000007a0: MSTORE
000007a1: PUSH1 0x20
000007a3: ADD
000007a4: SWAP1
000007a5: DUP2
000007a6: MSTORE
000007a7: PUSH1 0x20
000007a9: ADD
000007aa: PUSH1 0x00
000007ac: KECCAK256
000007ad: PUSH1 0x00
000007af: POP
000007b0: SLOAD
000007b1: DUP4
000007b2: PUSH2 0x09cb
000007b5: JUMP
000007b6: JUMPDEST
000007b7: PUSH1 0x00
000007b9: PUSH1 0x00
000007bb: POP
000007bc: PUSH1 0x00
000007be: CALLER
000007bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d4: AND
000007d5: DUP2
000007d6: MSTORE
000007d7: PUSH1 0x20
000007d9: ADD
000007da: SWAP1
000007db: DUP2
000007dc: MSTORE
000007dd: PUSH1 0x20
000007df: ADD
000007e0: PUSH1 0x00
000007e2: KECCAK256
000007e3: PUSH1 0x00
000007e5: POP
000007e6: DUP2
000007e7: SWAP1
000007e8: SSTORE
000007e9: POP
000007ea: CALLER
000007eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000800: AND
00000801: DUP3
00000802: PUSH1 0x40
00000804: MLOAD
00000805: DUP1
00000806: SWAP1
00000807: POP
00000808: PUSH1 0x00
0000080a: PUSH1 0x40
0000080c: MLOAD
0000080d: DUP1
0000080e: DUP4
0000080f: SUB
00000810: DUP2
00000811: DUP6
00000812: DUP8
00000813: PUSH2 0x8502
00000816: GAS
00000817: SUB
00000818: CALL
00000819: SWAP3
0000081a: POP
0000081b: POP
0000081c: POP
0000081d: ISZERO
0000081e: PUSH2 0x087c
00000821: JUMPI
00000822: CALLER
00000823: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000838: AND
00000839: PUSH32 0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65
0000085a: DUP4
0000085b: PUSH1 0x40
0000085d: MLOAD
0000085e: DUP1
0000085f: DUP3
00000860: DUP2
00000861: MSTORE
00000862: PUSH1 0x20
00000864: ADD
00000865: SWAP2
00000866: POP
00000867: POP
00000868: PUSH1 0x40
0000086a: MLOAD
0000086b: DUP1
0000086c: SWAP2
0000086d: SUB
0000086e: SWAP1
0000086f: LOG2
00000870: PUSH1 0x01
00000872: SWAP1
00000873: POP
00000874: PUSH2 0x08f2
00000877: JUMP
00000878: PUSH2 0x08e9
0000087b: JUMP
0000087c: JUMPDEST
0000087d: PUSH2 0x08b5
00000880: PUSH1 0x00
00000882: PUSH1 0x00
00000884: POP
00000885: PUSH1 0x00
00000887: CALLER
00000888: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000089d: AND
0000089e: DUP2
0000089f: MSTORE
000008a0: PUSH1 0x20
000008a2: ADD
000008a3: SWAP1
000008a4: DUP2
000008a5: MSTORE
000008a6: PUSH1 0x20
000008a8: ADD
000008a9: PUSH1 0x00
000008ab: KECCAK256
000008ac: PUSH1 0x00
000008ae: POP
000008af: SLOAD
000008b0: DUP4
000008b1: PUSH2 0x09a4
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH1 0x00
000008b8: PUSH1 0x00
000008ba: POP
000008bb: PUSH1 0x00
000008bd: CALLER
000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d3: AND
000008d4: DUP2
000008d5: MSTORE
000008d6: PUSH1 0x20
000008d8: ADD
000008d9: SWAP1
000008da: DUP2
000008db: MSTORE
000008dc: PUSH1 0x20
000008de: ADD
000008df: PUSH1 0x00
000008e1: KECCAK256
000008e2: PUSH1 0x00
000008e4: POP
000008e5: DUP2
000008e6: SWAP1
000008e7: SSTORE
000008e8: POP
000008e9: JUMPDEST
000008ea: PUSH1 0x00
000008ec: SWAP1
000008ed: POP
000008ee: PUSH2 0x08f2
000008f1: JUMP
000008f2: JUMPDEST
000008f3: SWAP2
000008f4: SWAP1
000008f5: POP
000008f6: JUMP
000008f7: JUMPDEST
000008f8: PUSH1 0x00
000008fa: CALLVALUE
000008fb: PUSH1 0x00
000008fd: PUSH1 0x00
000008ff: POP
00000900: PUSH1 0x00
00000902: CALLER
00000903: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000918: AND
00000919: DUP2
0000091a: MSTORE
0000091b: PUSH1 0x20
0000091d: ADD
0000091e: SWAP1
0000091f: DUP2
00000920: MSTORE
00000921: PUSH1 0x20
00000923: ADD
00000924: PUSH1 0x00
00000926: KECCAK256
00000927: PUSH1 0x00
00000929: DUP3
0000092a: DUP3
0000092b: DUP3
0000092c: POP
0000092d: SLOAD
0000092e: ADD
0000092f: SWAP3
00000930: POP
00000931: POP
00000932: DUP2
00000933: SWAP1
00000934: SSTORE
00000935: POP
00000936: CALLER
00000937: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000094c: AND
0000094d: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
0000096e: CALLVALUE
0000096f: PUSH1 0x40
00000971: MLOAD
00000972: DUP1
00000973: DUP3
00000974: DUP2
00000975: MSTORE
00000976: PUSH1 0x20
00000978: ADD
00000979: SWAP2
0000097a: POP
0000097b: POP
0000097c: PUSH1 0x40
0000097e: MLOAD
0000097f: DUP1
00000980: SWAP2
00000981: SUB
00000982: SWAP1
00000983: LOG2
00000984: PUSH1 0x01
00000986: SWAP1
00000987: POP
00000988: PUSH2 0x098c
0000098b: JUMP
0000098c: JUMPDEST
0000098d: SWAP1
0000098e: JUMP
0000098f: JUMPDEST
00000990: PUSH1 0x00
00000992: DUP3
00000993: DUP3
00000994: DUP5
00000995: ADD
00000996: LT
00000997: ISZERO
00000998: SWAP1
00000999: POP
0000099a: PUSH2 0x099e
0000099d: JUMP
0000099e: JUMPDEST
0000099f: SWAP3
000009a0: SWAP2
000009a1: POP
000009a2: POP
000009a3: JUMP
000009a4: JUMPDEST
000009a5: PUSH1 0x00
000009a7: PUSH2 0x09b0
000009aa: DUP4
000009ab: DUP4
000009ac: PUSH2 0x098f
000009af: JUMP
000009b0: JUMPDEST
000009b1: ISZERO
000009b2: ISZERO
000009b3: PUSH2 0x09bb
000009b6: JUMPI
000009b7: PUSH2 0x0002
000009ba: JUMP
000009bb: JUMPDEST
000009bc: DUP2
000009bd: DUP4
000009be: ADD
000009bf: SWAP1
000009c0: POP
000009c1: PUSH2 0x09c5
000009c4: JUMP
000009c5: JUMPDEST
000009c6: SWAP3
000009c7: SWAP2
000009c8: POP
000009c9: POP
000009ca: JUMP
000009cb: JUMPDEST
000009cc: PUSH1 0x00
000009ce: PUSH2 0x09d7
000009d1: DUP4
000009d2: DUP4
000009d3: PUSH2 0x09f2
000009d6: JUMP
000009d7: JUMPDEST
000009d8: ISZERO
000009d9: ISZERO
000009da: PUSH2 0x09e2
000009dd: JUMPI
000009de: PUSH2 0x0002
000009e1: JUMP
000009e2: JUMPDEST
000009e3: DUP2
000009e4: DUP4
000009e5: SUB
000009e6: SWAP1
000009e7: POP
000009e8: PUSH2 0x09ec
000009eb: JUMP
000009ec: JUMPDEST
000009ed: SWAP3
000009ee: SWAP2
000009ef: POP
000009f0: POP
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH1 0x00
000009f5: DUP3
000009f6: DUP3
000009f7: GT
000009f8: ISZERO
000009f9: SWAP1
000009fa: POP
000009fb: PUSH2 0x09ff
000009fe: JUMP
000009ff: JUMPDEST
00000a00: SWAP3
00000a01: SWAP2
00000a02: POP
00000a03: POP
00000a04: JUMP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229
call_targets: 0xecf8f87f810ecf450940c9f60066b4a7a501d6a7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xecf8f87f810ecf450940c9f60066b4a7a501d6a7"
    ],
    "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": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e30db0",
            "selector": "0xd0e30db0",
            "calldata_variants": [
                "0xd0e30db0",
                "0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2072,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229
call_targets: 0xecf8f87f810ecf450940c9f60066b4a7a501d6a7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5e4b58fbeafbf959102d2e96ec2b4b393433fa23829ec20d4e30166b9604b229",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xecf8f87f810ecf450940c9f60066b4a7a501d6a7"
    ],
    "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": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e30db0",
            "selector": "0xd0e30db0",
            "calldata_variants": [
                "0xd0e30db0",
                "0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2072,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}