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

Analysis Run

019b3836-4076-722b-8b7d-9857be4c7abf

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 19, 2025 8:03 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
2
Validated
2
Source
Bytecode only
Review Backing
Present
Best current signal
ETH value transfer possible
crit 0 high 2 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
5223 artifact.fetch complete 1 / 3 3 months ago
5224 tool.cast_disasm complete 1 / 3 3 months ago
48660 analysis.bundle complete 1 / 3 1 week ago
48661 capability.graph complete 1 / 3 1 week ago
48662 detector.run complete 1 / 3 1 week ago
48663 validation.fork complete 1 / 3 1 week ago
113293 report.consolidate complete 1 / 6 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode-only review found one medium-confidence accounting flaw in the approval/allowance flow and one low-severity callback/reentrancy risk in a custom approve-and-call style entrypoint. No proxy/delegatecall/selfdestruct behavior was evidenced in the bundle.
View stdout
{"no_findings":false,"summary":"Bytecode-only review found one medium-confidence accounting flaw in the approval/allowance flow and one low-severity callback/reentrancy risk in a custom approve-and-call style entrypoint. No proxy/delegatecall/selfdestruct behavior was evidenced in the bundle.","findings":[{"severity":"medium","category":"other","title":"Allowance accounting appears cumulative and is not reset on re-approval","exploit_scenario":"Best-effort selector inference indicates `selector:0xcae9ca51` is the only approval-like writer for the nested mapping at slot 0x06. It stores a fresh approved amount, but `selector:0x23b872dd` checks transfers against `spent + amount <= approved` using a second nested mapping at slot 0x07 and then increments that spent counter instead of decreasing the approved amount. If a spender has already used part or all of an approval, a later re-approval to the same nominal amount does not restore the expected remaining allowance. Example: approve 100, spend 100, approve 100 again; future `transferFrom` calls fail because historical spent remains 100. Integrations that read `selector:0xdd62ed3e` may also observe the raw approved amount rather than true remaining spendable capacity.","recommendation":"Use standard remaining-allowance semantics. Either decrement the allowance mapping directly during `transferFrom`, or if keeping separate approved/spent mappings, reset the spent counter whenever a new approval is written and have the public allowance getter return `approved - spent`. Add tests for partial spend, full spend, and re-approval to the same spender.","evidence":"At `pc:0x2c4` the approval-like function writes a nested mapping after building a slot with constant `0x06`. In `selector:0x23b872dd`, the block at `pc:0x48d` builds a slot with constant `0x06`, then another with constant `0x07`, and enforces a bound via `SLOAD(slot7) + amount <= SLOAD(slot6)` before proceeding. Later, at `pc:0x536` through `pc:0x580`, the code writes `SSTORE(slot7, SLOAD(slot7) + amount)`, showing cumulative spend tracking. The getter at `selector:0xdd62ed3e` (`pc:0x3bd` onward) reads the mapping keyed with constant `0x06`, not an obvious remaining-allowance calculation. This is a bytecode inference, but the slot usage pattern is consistent.","locations":["selector:0xcae9ca51","selector:0x23b872dd","selector:0xdd62ed3e","pc:0x2c4","pc:0x48d","pc:0x536","pc:0x580","pc:0x3bd"]},{"severity":"low","category":"reentrancy","title":"Custom approval path performs an unguarded external callback to a user-supplied contract","exploit_scenario":"The custom entrypoint at `selector:0xcae9ca51` writes approval-related state and then performs a `CALL` to the address supplied in calldata, with calldata shaped like `0x8f4ffcb1(...)` (consistent with an approve-and-call/receiveApproval pattern). A malicious callee can reenter public token functions before the original call returns. Because the target is user-chosen, this may be intentional behavior rather than a bug, but any integrator assuming a simple approval without synchronous execution can be surprised.","recommendation":"If this callback is intended, document it clearly as approve-and-call behavior and treat the callee as untrusted. Consider a reentrancy guard around stateful paths that should not be reentered, and validate callback success/expected interface more explicitly. If synchronous callbacks are not required, remove the external call and expose a plain approval flow instead.","evidence":"The bundle’s detector validated an untrusted `CALL` at `pc:0x385` with a computed target. Bytecode-level symbolic tracing of the block starting at `selector:0xcae9ca51` shows the target is the masked address loaded from `calldata[0x04]`, while `pc:0x2c4` has already updated approval-related storage. The earlier `CALL` at `pc:0x341` targets precompile `0x04` for memory copying, so the externally relevant callback is the later call at `pc:0x385`. No guard was detected in the analysis artifact. Returndata/interface checking is unclear from the bundle, so impact is conservatively rated low.","locations":["selector:0xcae9ca51","pc:0x2c4","pc:0x385"]}]}
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-wkeusirp
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5c35-728c-7281-bc17-df37988c0db9
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
exec
/bin/bash -lc 'rg --files' in /tmp/codex-wkeusirp
exec
/bin/bash -lc pwd in /tmp/codex-wkeusirp
 succeeded in 0ms:
BYTECODE_BUNDLE.json
codex-output-schema.json

 succeeded in 0ms:
/tmp/codex-wkeusirp

exec
/bin/bash -lc 'wc -c BYTECODE_BUNDLE.json codex-output-schema.json' in /tmp/codex-wkeusirp
 succeeded in 0ms:
101465 BYTECODE_BUNDLE.json
   815 codex-output-schema.json
102280 total

exec
/bin/bash -lc "sed -n '1,240p' codex-output-schema.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
exec
/bin/bash -lc "sed -n '1,260p' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "analysis_artifact": {
    "address": "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6",
    "artifact_hash": "0xff77a22f0fcb34af7ea5325e5258111792f6afb6eefe6864efbd5d35371f7292",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 10,
          "hash": "0xc590080b273074d852d07d86387bb692518eb6057284cadca88ac84fde6f0664",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "CALLDATASIZE",
            "ISZERO",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 0
        },
        {
          "end_pc": 30,
          "hash": "0x4db61c68c65e3aafb60d5980f9dbe93dfd98998da1cba601a06d76a8f1510248",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "EXP",
            "PUSH1",
            "CALLDATALOAD",
            "DIV",
            "PUSH4",
            "OP_81",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 11
        },
        {
          "end_pc": 41,
          "hash": "0x12cc4e8ed2fdd30122dfac48b782310710c9179137ddfc82c887c065a801b538",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 31
        },
        {
          "end_pc": 52,
          "hash": "0x4c296856393777328c11adf4a88cd725c352e0ff8b748e2cbe77f7d082a1d73c",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 42
        },
        {
          "end_pc": 63,
          "hash": "0x1fc51f3d6be0da89bc6938488db56fcc2cefd162968e4242adf170575f96f1a2",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 53
        },
        {
          "end_pc": 74,
          "hash": "0xe693856b391bfd2874967602ab2a71ee1552f8ffd147a93a96273594bde47bc0",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 64
        },
        {
          "end_pc": 85,
          "hash": "0x273f47041a78985996d31a122316d7cd4d00c9a6468a62dce547795791ce5ce8",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 75
        },
        {
          "end_pc": 96,
          "hash": "0x02cc38d89e9aedd0cb62694c3c2f76074e6e3c7faddb9f6851526dbdd16d7198",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 86
        },
        {
          "end_pc": 107,
          "hash": "0x2e7d94f9aab0358566009196c567ce053776d6a253790ce0b5ab068301731ed9",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 97
        },
        {
          "end_pc": 118,
          "hash": "0xee41d2f8eb040265f75e671bd78e34ad061d03f766f70446f6cc8d3a89530e7d",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 108
        },
        {
          "end_pc": 129,
          "hash": "0x6629e4f27300c3d03a41db89f956d36ff6308c4477dc9431c2a7df939b286b1c",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 119
        },
        {
          "end_pc": 140,
          "hash": "0x7568c9f5f6718e3d8dea4b1f67093ecabaab4fac1b5cac7859a1b89bcc5c4349",
          "opcodes": [
            "OP_80",
            "PUSH4",
            "EQ",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 130
        },
        {
          "end_pc": 148,
          "hash": "0x01c9cbeb31e8809b6ebc4aaaa3fa932054c629171654dec7c3a5870ef8f00be3",
          "opcodes": [
            "JUMPDEST",
            "PUSH2",
            "PUSH2",
            "JUMP"
          ],
          "start_pc": 141
        },
        {
          "end_pc": 214,
          "hash": "0x52861e116eb55f2549b78de50da53428f9fdadcfcca9d04a812677c13dba7608",
          "opcodes": [
            "JUMPDEST",
            "PUSH2",
            "PUSH1",
            "OP_80",
            "SLOAD",
            "PUSH1",
            "PUSH1",
            "PUSH1",
            "OP_83",
            "AND",
            "ISZERO",
            "PUSH2",
            "MUL",
            "PUSH1",
            "NOT",
            "ADD",
            "OP_90",
            "OP_92",
            "AND",
            "OP_91",
            "OP_90",
            "OP_91",
            "DIV",
            "PUSH1",
            "OP_81",
            "ADD",
            "OP_82",
            "OP_90",
            "DIV",
            "OP_90",
            "OP_91",
            "MUL",
            "PUSH1",
            "OP_90",
            "OP_81",
            "ADD",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "OP_82",
            "OP_81",
            "MSTORE",
            "OP_92",
            "OP_91",
            "OP_90",
            "OP_82",
            "OP_82",
            "OP_80",
            "ISZERO",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 149
        },
        {
          "end_pc": 222,
          "hash": "0x077ebfa1f9c2d20c800e0e55fa750b723269da7a7f8011c22b1b3bec9be4ea0d",
          "opcodes": [
            "OP_80",
            "PUSH1",
            "LT",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 215
        },
        {
          "end_pc": 241,
          "hash": "0x0350f3b9d4270218a0ad1b4ec46904c8ad61ffe1f7806c49e79ad3b0038b9884",
          "opcodes": [
            "PUSH2",
            "OP_80",
            "OP_83",
            "SLOAD",
            "DIV",
            "MUL",
            "OP_83",
            "MSTORE",
            "OP_91",
            "PUSH1",
            "ADD",
            "OP_91",
            "PUSH2",
            "JUMP"

exec
/bin/bash -lc "jq 'keys' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "analysis_artifact",
  "analysis_run",
  "artifact",
  "capability_graph",
  "detector_findings",
  "heuristics_summary"
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json | keys' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "auth",
  "basic_blocks",
  "callsites",
  "cfg_edges",
  "cfg_hash",
  "dispatcher_type",
  "function_entries",
  "functions",
  "selectors",
  "sinks",
  "storage",
  "version"
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.detectors' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
null

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.selectors' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "0x06fdde03",
  "0x18160ddd",
  "0x23b872dd",
  "0x313ce567",
  "0x54fd4d50",
  "0x70a08231",
  "0x95d89b41",
  "0xa9059cbb",
  "0xcae9ca51",
  "0xdc3080f2",
  "0xdd62ed3e"
]

exec
/bin/bash -lc "jq '.heuristics_summary' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "create2_count": 0,
  "delegatecall_count": 0,
  "flags": [],
  "selfdestruct_count": 0
}

exec
/bin/bash -lc "jq '.detector_findings' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  {
    "confidence": 55,
    "evidence_json": {
      "eth_value_calls": 3,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 833,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 901,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1050,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "guards_detected": []
    },
    "normalized_json": {
      "sink": "CALL",
      "value": "nonzero"
    },
    "severity": "high",
    "title": "ETH value transfer possible",
    "validated": true,
    "validation_json": {
      "attempts": 1,
      "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6"
      ],
      "classification": "target_varies",
      "confirmed": true,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "confirmed",
      "target_varies": true,
      "trace_id": "0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50",
      "trace_mode": "callTracer"
    }
  },
  {
    "confidence": 60,
    "evidence_json": {
      "call_count": 3,
      "examples": [
        {
          "opcode": "CALL",
          "pc": 833,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 901,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1050,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "guards_detected": [],
      "untrusted_call_count": 3
    },
    "normalized_json": {
      "sink": "CALL"
    },
    "severity": "high",
    "title": "Untrusted CALL target/value reachable",
    "validated": true,
    "validation_json": {
      "attempts": 1,
      "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6"
      ],
      "classification": "target_varies",
      "confirmed": true,
      "errors": 0,
      "matched_probe": null,
      "sink": "CALL",
      "status": "confirmed",
      "target_varies": true,
      "trace_id": "0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50",
      "trace_mode": "callTracer"
    }
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.function_entries' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  {
    "entry_pc": null,
    "selector": "0x06fdde03"
  },
  {
    "entry_pc": 599290589,
    "selector": "0x18160ddd"
  },
  {
    "entry_pc": 826074471,
    "selector": "0x23b872dd"
  },
  {
    "entry_pc": 1425886544,
    "selector": "0x313ce567"
  },
  {
    "entry_pc": 1889567281,
    "selector": "0x54fd4d50"
  },
  {
    "entry_pc": 2514000705,
    "selector": "0x70a08231"
  },
  {
    "entry_pc": 2835717307,
    "selector": "0x95d89b41"
  },
  {
    "entry_pc": 3404319313,
    "selector": "0xa9059cbb"
  },
  {
    "entry_pc": 3694166258,
    "selector": "0xcae9ca51"
  },
  {
    "entry_pc": 3714247998,
    "selector": "0xdc3080f2"
  },
  {
    "entry_pc": 994,
    "selector": "0xdd62ed3e"
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.callsites' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  {
    "opcode": "CALL",
    "pc": 833,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 901,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  },
  {
    "opcode": "CALL",
    "pc": 1050,
    "returndata_checked": null,
    "target_expression_category": "computed",
    "value_expression_category": "computed"
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.functions' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  {
    "auth": {
      "guards": []
    },
    "entry_pc": null,
    "selector": "0x06fdde03",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 599290589,
    "selector": "0x18160ddd",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 826074471,
    "selector": "0x23b872dd",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 1425886544,
    "selector": "0x313ce567",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 1889567281,
    "selector": "0x54fd4d50",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 2514000705,
    "selector": "0x70a08231",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 2835717307,
    "selector": "0x95d89b41",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3404319313,
    "selector": "0xa9059cbb",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3694166258,
    "selector": "0xcae9ca51",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 3714247998,
    "selector": "0xdc3080f2",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  },
  {
    "auth": {
      "guards": []
    },
    "entry_pc": 994,
    "selector": "0xdd62ed3e",
    "sinks": {
      "call": 3,
      "delegatecall": 0,
      "selfdestruct": 0,
      "staticcall": 0
    },
    "storage": {
      "reads": 23,
      "slots": [
        {
          "op": "SLOAD",
          "pc": 156,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        },
        {
          "op": "SLOAD",
          "pc": 228,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 248,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
        },
        {
          "op": "SLOAD",
          "pc": 307,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
        },
        {
          "op": "SLOAD",
          "pc": 320,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
        },
        {
          "op": "SLOAD",
          "pc": 389,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SLOAD",
          "pc": 434,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
        },
        {
          "op": "SLOAD",
          "pc": 505,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
        },
        {
          "op": "SSTORE",
          "pc": 708,
          "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
        }
      ],
      "writes": 6
    }
  }
]

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.sinks' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "call": 3,
  "create": 0,
  "create2": 0,
  "delegatecall": 0,
  "selfdestruct": 0,
  "staticcall": 0,
  "upgrade_slot_write_suspected": false
}

exec
/bin/bash -lc "jq '.analysis_artifact.artifact_json.storage' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "keccak_count": 22,
  "reads": 23,
  "slots": [
    {
      "op": "SLOAD",
      "pc": 156,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "op": "SLOAD",
      "pc": 228,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
    },
    {
      "op": "SLOAD",
      "pc": 248,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
    },
    {
      "op": "SLOAD",
      "pc": 307,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
    },
    {
      "op": "SLOAD",
      "pc": 320,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
    },
    {
      "op": "SLOAD",
      "pc": 389,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
    },
    {
      "op": "SLOAD",
      "pc": 434,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
    },
    {
      "op": "SLOAD",
      "pc": 505,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
    },
    {
      "op": "SSTORE",
      "pc": 708,
      "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
    }
  ],
  "writes": 6
}

exec
/bin/bash -lc "rg -n '\"pc\": (708|833|901|994|1050)|0xa9059cbb|0x23b872dd|0x54fd4d50|0xcae9ca51|0xdc3080f2' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
1656:          "pc": 833,
1663:          "pc": 901,
1670:          "pc": 1050,
1991:          "selector": "0x23b872dd"
1999:          "selector": "0x54fd4d50"
2011:          "selector": "0xa9059cbb"
2015:          "selector": "0xcae9ca51"
2019:          "selector": "0xdc3080f2"
2084:                "pc": 708,
2148:                "pc": 708,
2160:          "selector": "0x23b872dd",
2212:                "pc": 708,
2276:                "pc": 708,
2288:          "selector": "0x54fd4d50",
2340:                "pc": 708,
2404:                "pc": 708,
2468:                "pc": 708,
2480:          "selector": "0xa9059cbb",
2532:                "pc": 708,
2544:          "selector": "0xcae9ca51",
2596:                "pc": 708,
2608:          "selector": "0xdc3080f2",
2660:                "pc": 708,
2724:                "pc": 708,
2735:        "0x23b872dd",
2737:        "0x54fd4d50",
2740:        "0xa9059cbb",
2741:        "0xcae9ca51",
2742:        "0xdc3080f2",
2800:            "pc": 708,
3160:          "from": "fn:0x23b872dd",
3170:          "from": "fn:0x54fd4d50",
3185:          "from": "fn:0xa9059cbb",
3190:          "from": "fn:0xcae9ca51",
3195:          "from": "fn:0xdc3080f2",
3610:          "pc": 833,
3616:          "pc": 901,
3622:          "pc": 1050,
3643:          "id": "fn:0x23b872dd",
3644:          "selector": "0x23b872dd",
3655:          "id": "fn:0x54fd4d50",
3656:          "selector": "0x54fd4d50",
3673:          "id": "fn:0xa9059cbb",
3674:          "selector": "0xa9059cbb",
3679:          "id": "fn:0xcae9ca51",
3680:          "selector": "0xcae9ca51",
3685:          "id": "fn:0xdc3080f2",
3686:          "selector": "0xdc3080f2",
3710:            "pc": 833,
3717:            "pc": 901,
3724:            "pc": 1050,
3763:            "pc": 833,
3770:            "pc": 901,
3777:            "pc": 1050,

exec
/bin/bash -lc "jq '.artifact | keys' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "codehash",
  "compiler_json",
  "implementation_address",
  "is_proxy",
  "runtime_bytecode",
  "verified_source"
]

exec
/bin/bash -lc "jq '.capability_graph | keys' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "address",
  "block_number",
  "chain_id",
  "codehash",
  "created_at",
  "graph_hash",
  "graph_json",
  "id",
  "updated_at",
  "version"
]

exec
/bin/bash -lc "jq '.analysis_run | keys' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
[
  "address",
  "block_number",
  "chain_id",
  "child_links",
  "created_at",
  "id",
  "parent_links",
  "status",
  "updated_at"
]

exec
/bin/bash -lc "jq '.artifact | {is_proxy, implementation_address, verified_source, compiler_json}' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "is_proxy": false,
  "implementation_address": null,
  "verified_source": false,
  "compiler_json": {
    "etherscan": {
      "skipped": true
    }
  }
}

exec
/bin/bash -lc "jq '.capability_graph.graph_json' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "edges": [
    {
      "from": "bb:0",
      "to": "bb:141",
      "type": "control_flow"
    },
    {
      "from": "bb:0",
      "to": "bb:11",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:11",
      "to": "bb:149",
      "type": "control_flow"
    },
    {
      "from": "bb:11",
      "to": "bb:31",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:31",
      "to": "bb:242",
      "type": "control_flow"
    },
    {
      "from": "bb:31",
      "to": "bb:42",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:42",
      "to": "bb:251",
      "type": "control_flow"
    },
    {
      "from": "bb:42",
      "to": "bb:53",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:53",
      "to": "bb:301",
      "type": "control_flow"
    },
    {
      "from": "bb:53",
      "to": "bb:64",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:64",
      "to": "bb:313",
      "type": "control_flow"
    },
    {
      "from": "bb:64",
      "to": "bb:75",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:75",
      "to": "bb:403",
      "type": "control_flow"
    },
    {
      "from": "bb:75",
      "to": "bb:86",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:86",
      "to": "bb:427",
      "type": "control_flow"
    },
    {
      "from": "bb:86",
      "to": "bb:97",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:97",
      "to": "bb:519",
      "type": "control_flow"
    },
    {
      "from": "bb:97",
      "to": "bb:108",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:108",
      "to": "bb:566",
      "type": "control_flow"
    },
    {
      "from": "bb:108",
      "to": "bb:119",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:119",
      "to": "bb:920",
      "type": "control_flow"
    },
    {
      "from": "bb:119",
      "to": "bb:130",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:130",
      "to": "bb:957",
      "type": "control_flow"
    },
    {
      "from": "bb:130",
      "to": "bb:141",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:149",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:149",
      "to": "bb:215",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:215",
      "to": "bb:1494",
      "type": "control_flow"
    },
    {
      "from": "bb:215",
      "to": "bb:223",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:223",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:251",
      "to": "bb:1134",
      "type": "control_flow"
    },
    {
      "from": "bb:251",
      "to": "bb:297",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:313",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:313",
      "to": "bb:376",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:376",
      "to": "bb:1494",
      "type": "control_flow"
    },
    {
      "from": "bb:376",
      "to": "bb:384",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:384",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:427",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:427",
      "to": "bb:492",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:492",
      "to": "bb:1494",
      "type": "control_flow"
    },
    {
      "from": "bb:492",
      "to": "bb:500",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:500",
      "to": "bb:1537",
      "type": "control_flow"
    },
    {
      "from": "bb:519",
      "to": "bb:1545",
      "type": "control_flow"
    },
    {
      "from": "bb:519",
      "to": "bb:562",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:566",
      "to": "bb:875",
      "type": "control_flow"
    },
    {
      "from": "bb:566",
      "to": "bb:850",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:850",
      "to": "bb:875",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:875",
      "to": "bb:907",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:996",
      "to": "bb:1092",
      "type": "control_flow"
    },
    {
      "from": "bb:996",
      "to": "bb:1067",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1067",
      "to": "bb:1092",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1134",
      "to": "bb:1165",
      "type": "control_flow"
    },
    {
      "from": "bb:1134",
      "to": "bb:1161",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1165",
      "to": "bb:1239",
      "type": "control_flow"
    },
    {
      "from": "bb:1165",
      "to": "bb:1235",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1494",
      "to": "bb:1508",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1508",
      "to": "bb:1508",
      "type": "control_flow"
    },
    {
      "from": "bb:1508",
      "to": "bb:1528",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1528",
      "to": "bb:1537",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "bb:1545",
      "to": "bb:1579",
      "type": "control_flow"
    },
    {
      "from": "bb:1545",
      "to": "bb:1575",
      "type": "control_flow_fallthrough"
    },
    {
      "from": "fn:0x18160ddd",
      "to": "bb:599290589",
      "type": "entry"
    },
    {
      "from": "fn:0x23b872dd",
      "to": "bb:826074471",
      "type": "entry"
    },
    {
      "from": "fn:0x313ce567",
      "to": "bb:1425886544",
      "type": "entry"
    },
    {
      "from": "fn:0x54fd4d50",
      "to": "bb:1889567281",
      "type": "entry"
    },
    {
      "from": "fn:0x70a08231",
      "to": "bb:2514000705",
      "type": "entry"
    },
    {
      "from": "fn:0x95d89b41",
      "to": "bb:2835717307",
      "type": "entry"
    },
    {
      "from": "fn:0xa9059cbb",
      "to": "bb:3404319313",
      "type": "entry"
    },
    {
      "from": "fn:0xcae9ca51",
      "to": "bb:3694166258",
      "type": "entry"
    },
    {
      "from": "fn:0xdc3080f2",
      "to": "bb:3714247998",
      "type": "entry"
    },
    {
      "from": "fn:0xdd62ed3e",
      "to": "bb:994",
      "type": "entry"
    },
    {
      "from": "bb:566",
      "to": "call:833",
      "type": "contains"
    },
    {
      "from": "call:833",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:875",
      "to": "call:901",
      "type": "contains"
    },
    {
      "from": "call:901",
      "to": "sink:call",
      "type": "capability"
    },
    {
      "from": "bb:996",
      "to": "call:1050",
      "type": "contains"
    },
    {
      "from": "call:1050",
      "to": "sink:call",
      "type": "capability"
    }
  ],
  "nodes": [
    {
      "end_pc": 10,
      "hash": "0xc590080b273074d852d07d86387bb692518eb6057284cadca88ac84fde6f0664",
      "id": "bb:0",
      "start_pc": 0,
      "type": "basic_block"
    },
    {
      "end_pc": 30,
      "hash": "0x4db61c68c65e3aafb60d5980f9dbe93dfd98998da1cba601a06d76a8f1510248",
      "id": "bb:11",
      "start_pc": 11,
      "type": "basic_block"
    },
    {
      "end_pc": 41,
      "hash": "0x12cc4e8ed2fdd30122dfac48b782310710c9179137ddfc82c887c065a801b538",
      "id": "bb:31",
      "start_pc": 31,
      "type": "basic_block"
    },
    {
      "end_pc": 52,
      "hash": "0x4c296856393777328c11adf4a88cd725c352e0ff8b748e2cbe77f7d082a1d73c",
      "id": "bb:42",
      "start_pc": 42,
      "type": "basic_block"
    },
    {
      "end_pc": 63,
      "hash": "0x1fc51f3d6be0da89bc6938488db56fcc2cefd162968e4242adf170575f96f1a2",
      "id": "bb:53",
      "start_pc": 53,
      "type": "basic_block"
    },
    {
      "end_pc": 74,
      "hash": "0xe693856b391bfd2874967602ab2a71ee1552f8ffd147a93a96273594bde47bc0",
      "id": "bb:64",
      "start_pc": 64,
      "type": "basic_block"
    },
    {
      "end_pc": 85,
      "hash": "0x273f47041a78985996d31a122316d7cd4d00c9a6468a62dce547795791ce5ce8",
      "id": "bb:75",
      "start_pc": 75,
      "type": "basic_block"
    },
    {
      "end_pc": 96,
      "hash": "0x02cc38d89e9aedd0cb62694c3c2f76074e6e3c7faddb9f6851526dbdd16d7198",
      "id": "bb:86",
      "start_pc": 86,
      "type": "basic_block"
    },
    {
      "end_pc": 107,
      "hash": "0x2e7d94f9aab0358566009196c567ce053776d6a253790ce0b5ab068301731ed9",
      "id": "bb:97",
      "start_pc": 97,
      "type": "basic_block"
    },
    {
      "end_pc": 118,
      "hash": "0xee41d2f8eb040265f75e671bd78e34ad061d03f766f70446f6cc8d3a89530e7d",
      "id": "bb:108",
      "start_pc": 108,
      "type": "basic_block"
    },
    {
      "end_pc": 129,
      "hash": "0x6629e4f27300c3d03a41db89f956d36ff6308c4477dc9431c2a7df939b286b1c",
      "id": "bb:119",
      "start_pc": 119,
      "type": "basic_block"
    },
    {
      "end_pc": 140,
      "hash": "0x7568c9f5f6718e3d8dea4b1f67093ecabaab4fac1b5cac7859a1b89bcc5c4349",
      "id": "bb:130",
      "start_pc": 130,
      "type": "basic_block"
    },
    {
      "end_pc": 148,
      "hash": "0x01c9cbeb31e8809b6ebc4aaaa3fa932054c629171654dec7c3a5870ef8f00be3",
      "id": "bb:141",
      "start_pc": 141,
      "type": "basic_block"
    },
    {
      "end_pc": 214,
      "hash": "0x52861e116eb55f2549b78de50da53428f9fdadcfcca9d04a812677c13dba7608",
      "id": "bb:149",
      "start_pc": 149,
      "type": "basic_block"
    },
    {
      "end_pc": 222,
      "hash": "0x077ebfa1f9c2d20c800e0e55fa750b723269da7a7f8011c22b1b3bec9be4ea0d",
      "id": "bb:215",
      "start_pc": 215,
      "type": "basic_block"
    },
    {
      "end_pc": 241,
      "hash": "0x0350f3b9d4270218a0ad1b4ec46904c8ad61ffe1f7806c49e79ad3b0038b9884",
      "id": "bb:223",
      "start_pc": 223,
      "type": "basic_block"
    },
    {
      "end_pc": 250,
      "hash": "0x3a3669e009b49c0068eabc67adae73ab5360d61101f63d22efd34c572eabf879",
      "id": "bb:242",
      "start_pc": 242,
      "type": "basic_block"
    },
    {
      "end_pc": 296,
      "hash": "0xbd781e67b3b061d9b613393fb1cb1db1dc593270c907049d810ef540f6d96639",
      "id": "bb:251",
      "start_pc": 251,
      "type": "basic_block"
    },
    {
      "end_pc": 300,
      "hash": "0xd7fd16f2f78e22206387c4b4c199cc3784df86884d46b4e8dd4e28c06e9c719b",
      "id": "bb:297",
      "start_pc": 297,
      "type": "basic_block"
    },
    {
      "end_pc": 312,
      "hash": "0x54cdaef02fe32a41536f7b77cc4b8e1e29196b55e9e9c5c0b363a6a6aa9c99a4",
      "id": "bb:301",
      "start_pc": 301,
      "type": "basic_block"
    },
    {
      "end_pc": 375,
      "hash": "0xcb7f9de1a9aff3f6cd792aaac249e4b9470b36ed02df379d5e345d300245e40a",
      "id": "bb:313",
      "start_pc": 313,
      "type": "basic_block"
    },
    {
      "end_pc": 383,
      "hash": "0xe40ef11fe8c31d3583d5d5d783e1716b0eccbf0b4445f3c93188999b56a32696",
      "id": "bb:376",
      "start_pc": 376,
      "type": "basic_block"
    },
    {
      "end_pc": 402,
      "hash": "0x4cc9d9db2caa4a98d8c6e48756c9b479f57aec858fca5af75986a53bd4fc2d72",
      "id": "bb:384",
      "start_pc": 384,
      "type": "basic_block"
    },
    {
      "end_pc": 426,
      "hash": "0x6472e63b2c46d825395a5e8969cb8973555892225ea26d88bb52e23180f24c8f",
      "id": "bb:403",
      "start_pc": 403,
      "type": "basic_block"
    },
    {
      "end_pc": 491,
      "hash": "0x09b2b05782250da3b10c046da1b8d38a77c2a39dd1cee30c8578f1394e13f65b",
      "id": "bb:427",
      "start_pc": 427,
      "type": "basic_block"
    },
    {
      "end_pc": 499,
      "hash": "0xdf48cc08ba77aa9249942224308dcbe30f5f035da2a00bc97cdb4523e620ebd1",
      "id": "bb:492",
      "start_pc": 492,
      "type": "basic_block"
    },
    {
      "end_pc": 518,
      "hash": "0x70c8ab4d7c40a93cd4dc864a4cad39f60d5e8536d04cd58f87aad62a3779c313",
      "id": "bb:500",
      "start_pc": 500,
      "type": "basic_block"
    },
    {
      "end_pc": 561,
      "hash": "0xaeedd8bdcc909d20d5f367dad7524f2440382a817922adc39693e1012e358fd7",
      "id": "bb:519",
      "start_pc": 519,
      "type": "basic_block"
    },
    {
      "end_pc": 565,
      "hash": "0xa4a4ae061ef386f7d7486aaf3298058f26a9f17e111d4eb1ba437f6d2a947101",
      "id": "bb:562",
      "start_pc": 562,
      "type": "basic_block"
    },
    {
      "end_pc": 849,
      "hash": "0x63fec82cc0f41e798d0c39011f364e5f0e1428e47413786caf13f0a0fb1f1a52",
      "id": "bb:566",
      "start_pc": 566,
      "type": "basic_block"
    },
    {
      "end_pc": 874,
      "hash": "0x17f7deb342002d7b4a616129a837954148eb0171e6fa8c57aac90d77236f888b",
      "id": "bb:850",
      "start_pc": 850,
      "type": "basic_block"
    },
    {
      "end_pc": 906,
      "hash": "0x84229ca8d3771a6156324b47011bcdb0a683777a4d2a1f266849cf7ca40d8a04",
      "id": "bb:875",
      "start_pc": 875,
      "type": "basic_block"
    },
    {
      "end_pc": 919,
      "hash": "0xfa6321d1a087cb91c03b5652829eb3bd5f4d3c5a25f3637a26c05f6fbe498a43",
      "id": "bb:907",
      "start_pc": 907,
      "type": "basic_block"
    },
    {
      "end_pc": 956,
      "hash": "0x7e02ca16c778428ad3d0810dfc23c433b033732b606e505f38f6145112c184a8",
      "id": "bb:920",
      "start_pc": 920,
      "type": "basic_block"
    },
    {
      "end_pc": 993,
      "hash": "0x042c1afb96f235fc54f29cf1b2f30ed811fb81afeff6e474f6e7b29d53f24c7e",
      "id": "bb:957",
      "start_pc": 957,
      "type": "basic_block"
    },
    {
      "end_pc": 995,
      "hash": "0x0f692128e76a1124821e667bb073ac313d488f7fcdbc8d9fbbf13d26ceb31f0b",
      "id": "bb:994",
      "start_pc": 994,
      "type": "basic_block"
    },
    {
      "end_pc": 1066,
      "hash": "0x9aa34f2fb0626cb939c113c9be278794f8c988658f24ca2507bb497607223c81",
      "id": "bb:996",
      "start_pc": 996,
      "type": "basic_block"
    },
    {
      "end_pc": 1091,
      "hash": "0xfa2051631966675ac33e4879826a9d4b2735cb21b292a65e73b1461d671f1a28",
      "id": "bb:1067",
      "start_pc": 1067,
      "type": "basic_block"
    },
    {
      "end_pc": 1105,
      "hash": "0xed2e9a49cde9ace4b4babfac1c4ae1c15310169c3a36e4ec83145a57a85f40a9",
      "id": "bb:1092",
      "start_pc": 1092,
      "type": "basic_block"
    },
    {
      "end_pc": 1123,
      "hash": "0xa96f242abd52ace13a743ee9f25b502cd9acd559a9fab18eae38fca805ee16e2",
      "id": "bb:1106",
      "start_pc": 1106,
      "type": "basic_block"
    },
    {
      "end_pc": 1133,
      "hash": "0x773879341b32f5b6026d79ed82eef4857b55f8e358550abf4f6fb17e0034783d",
      "id": "bb:1124",
      "start_pc": 1124,
      "type": "basic_block"
    },
    {
      "end_pc": 1160,
      "hash": "0x27b02c7a508c8ef9b5dafce2cb47cfae33cae0493ef5eaa29816ab8355675871",
      "id": "bb:1134",
      "start_pc": 1134,
      "type": "basic_block"
    },
    {
      "end_pc": 1164,
      "hash": "0xb870c2451c872330e47a2f27febb9f221e0d95bb7acd53fea95092ef4a1fef81",
      "id": "bb:1161",
      "start_pc": 1161,
      "type": "basic_block"
    },
    {
      "end_pc": 1234,
      "hash": "0x6f1fe87986557c612b30fbc58565f6a70d96d26291dd484dd3c7f186f6e340f4",
      "id": "bb:1165",
      "start_pc": 1165,
      "type": "basic_block"
    },
    {
      "end_pc": 1238,
      "hash": "0xa2322d0f620061258f81b0badc511a723277818dc50ef6a3692e1698c4df3bb4",
      "id": "bb:1235",
      "start_pc": 1235,
      "type": "basic_block"
    },
    {
      "end_pc": 1493,
      "hash": "0x8aabb90779c205ca802c356bcdb37e5a64a765a37c42f5f51ff387dcd5c064d6",
      "id": "bb:1239",
      "start_pc": 1239,
      "type": "basic_block"
    },
    {
      "end_pc": 1507,
      "hash": "0xe29364775856bee6925d7cf64e9af2d323980a88adb4aa11164c677966a022c3",
      "id": "bb:1494",
      "start_pc": 1494,
      "type": "basic_block"
    },
    {
      "end_pc": 1527,
      "hash": "0x0244fd9037d4cd28697c125e9aec828866398d6055fb6700decd7e10d4f34b2b",
      "id": "bb:1508",
      "start_pc": 1508,
      "type": "basic_block"
    },
    {
      "end_pc": 1536,
      "hash": "0xd09b7139c6f2689a9b6a470591300d1369859ae005bd951fd4d53dffb3def30c",
      "id": "bb:1528",
      "start_pc": 1528,
      "type": "basic_block"
    },
    {
      "end_pc": 1544,
      "hash": "0x11b76a610eeb420f60cc87d7813cf316d452a9d3dad9447001e4465884d0982c",
      "id": "bb:1537",
      "start_pc": 1537,
      "type": "basic_block"
    },
    {
      "end_pc": 1574,
      "hash": "0x9b59d5dfbde39063b397638d02f908e20875b6ae1a1ece07f9e9d3862df39956",
      "id": "bb:1545",
      "start_pc": 1545,
      "type": "basic_block"
    },
    {
      "end_pc": 1578,
      "hash": "0x5e5705eaaa471c747e31d32d521d9df1abdd5d619c03e58b86d0ebec630efb96",
      "id": "bb:1575",
      "start_pc": 1575,
      "type": "basic_block"
    },
    {
      "end_pc": 1751,
      "hash": "0x70a3db40fa43d2ecf7b79f52905610ddae82b1a222f938ab41c073593f982940",
      "id": "bb:1579",
      "start_pc": 1579,
      "type": "basic_block"
    },
    {
      "id": "call:833",
      "opcode": "CALL",
      "pc": 833,
      "type": "callsite"
    },
    {
      "id": "call:901",
      "opcode": "CALL",
      "pc": 901,
      "type": "callsite"
    },
    {
      "id": "call:1050",
      "opcode": "CALL",
      "pc": 1050,
      "type": "callsite"
    },
    {
      "id": "sink:call",
      "type": "sink"
    },
    {
      "entry_pc": null,
      "id": "fn:0x06fdde03",
      "selector": "0x06fdde03",
      "type": "function"
    },
    {
      "entry_pc": 599290589,
      "id": "fn:0x18160ddd",
      "selector": "0x18160ddd",
      "type": "function"
    },
    {
      "entry_pc": 826074471,
      "id": "fn:0x23b872dd",
      "selector": "0x23b872dd",
      "type": "function"
    },
    {
      "entry_pc": 1425886544,
      "id": "fn:0x313ce567",
      "selector": "0x313ce567",
      "type": "function"
    },
    {
      "entry_pc": 1889567281,
      "id": "fn:0x54fd4d50",
      "selector": "0x54fd4d50",
      "type": "function"
    },
    {
      "entry_pc": 2514000705,
      "id": "fn:0x70a08231",
      "selector": "0x70a08231",
      "type": "function"
    },
    {
      "entry_pc": 2835717307,
      "id": "fn:0x95d89b41",
      "selector": "0x95d89b41",
      "type": "function"
    },
    {
      "entry_pc": 3404319313,
      "id": "fn:0xa9059cbb",
      "selector": "0xa9059cbb",
      "type": "function"
    },
    {
      "entry_pc": 3694166258,
      "id": "fn:0xcae9ca51",
      "selector": "0xcae9ca51",
      "type": "function"
    },
    {
      "entry_pc": 3714247998,
      "id": "fn:0xdc3080f2",
      "selector": "0xdc3080f2",
      "type": "function"
    },
    {
      "entry_pc": 994,
      "id": "fn:0xdd62ed3e",
      "selector": "0xdd62ed3e",
      "type": "function"
    }
  ],
  "version": "capability_graph_v1"
}

exec
/bin/bash -lc "jq -r '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | awk '{print length}'" in /tmp/codex-wkeusirp
 succeeded in 0ms:
1
3519
15
17
15
20
1

exec
/bin/bash -lc "jq -r '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | cut -c1-240" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
  "full": "0x6060604052361561008d5760e060020a600035046306fdde03811461009557806318160ddd146100f257806323b872dd146100fb578063313ce5671461012d57806354fd4d501461013957806370a082311461019357806395d89b41146101ab578063a9059cbb14610207578063cae9ca5
  "head": null,
  "length": 3506,
  "tail": null,
  "truncated": false
}

exec
/bin/bash -lc "jq -r '.artifact.runtime_bytecode' BYTECODE_BUNDLE.json | rev | cut -c1-240 | rev" in /tmp/codex-wkeusirp
 succeeded in 0ms:
{
600084600160a060020a0316815260200190815260200160002060008282825054019250508190555081600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056",
  "head": null,
  "length": 3506,
  "tail": null,
  "truncated": false
}

exec
/bin/bash -lc "sed -n '1960,2060p' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
          "type": "control_flow_fallthrough"
        },
        {
          "from": "bb:1528",
          "to": "bb:1537",
          "type": "control_flow_fallthrough"
        },
        {
          "from": "bb:1545",
          "to": "bb:1579",
          "type": "control_flow"
        },
        {
          "from": "bb:1545",
          "to": "bb:1575",
          "type": "control_flow_fallthrough"
        }
      ],
      "cfg_hash": "0x2d7113878c42918c536d45905e61b51cbcc7cf978f1f0deb30c3227f65d134dd",
      "dispatcher_type": "selector_jump_table",
      "function_entries": [
        {
          "entry_pc": null,
          "selector": "0x06fdde03"
        },
        {
          "entry_pc": 599290589,
          "selector": "0x18160ddd"
        },
        {
          "entry_pc": 826074471,
          "selector": "0x23b872dd"
        },
        {
          "entry_pc": 1425886544,
          "selector": "0x313ce567"
        },
        {
          "entry_pc": 1889567281,
          "selector": "0x54fd4d50"
        },
        {
          "entry_pc": 2514000705,
          "selector": "0x70a08231"
        },
        {
          "entry_pc": 2835717307,
          "selector": "0x95d89b41"
        },
        {
          "entry_pc": 3404319313,
          "selector": "0xa9059cbb"
        },
        {
          "entry_pc": 3694166258,
          "selector": "0xcae9ca51"
        },
        {
          "entry_pc": 3714247998,
          "selector": "0xdc3080f2"
        },
        {
          "entry_pc": 994,
          "selector": "0xdd62ed3e"
        }
      ],
      "functions": [
        {
          "auth": {
            "guards": []
          },
          "entry_pc": null,
          "selector": "0x06fdde03",
          "sinks": {
            "call": 3,
            "delegatecall": 0,
            "selfdestruct": 0,
            "staticcall": 0
          },
          "storage": {
            "reads": 23,
            "slots": [
              {
                "op": "SLOAD",
                "pc": 156,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "op": "SLOAD",
                "pc": 228,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SLOAD",
                "pc": 248,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
              },
              {
                "op": "SLOAD",
                "pc": 307,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"

exec
/bin/bash -lc "sed -n '2070,2168p' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SLOAD",
                "pc": 434,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
              },
              {
                "op": "SLOAD",
                "pc": 505,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SSTORE",
                "pc": 708,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              }
            ],
            "writes": 6
          }
        },
        {
          "auth": {
            "guards": []
          },
          "entry_pc": 599290589,
          "selector": "0x18160ddd",
          "sinks": {
            "call": 3,
            "delegatecall": 0,
            "selfdestruct": 0,
            "staticcall": 0
          },
          "storage": {
            "reads": 23,
            "slots": [
              {
                "op": "SLOAD",
                "pc": 156,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "op": "SLOAD",
                "pc": 228,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SLOAD",
                "pc": 248,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
              },
              {
                "op": "SLOAD",
                "pc": 307,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
              },
              {
                "op": "SLOAD",
                "pc": 320,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
              },
              {
                "op": "SLOAD",
                "pc": 389,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SLOAD",
                "pc": 434,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
              },
              {
                "op": "SLOAD",
                "pc": 505,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
              },
              {
                "op": "SSTORE",
                "pc": 708,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              }
            ],
            "writes": 6
          }
        },
        {
          "auth": {
            "guards": []
          },
          "entry_pc": 826074471,
          "selector": "0x23b872dd",
          "sinks": {
            "call": 3,
            "delegatecall": 0,
            "selfdestruct": 0,
            "staticcall": 0
          },
          "storage": {
            "reads": 23,

exec
/bin/bash -lc "sed -n '3150,3210p' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
          "from": "bb:1545",
          "to": "bb:1575",
          "type": "control_flow_fallthrough"
        },
        {
          "from": "fn:0x18160ddd",
          "to": "bb:599290589",
          "type": "entry"
        },
        {
          "from": "fn:0x23b872dd",
          "to": "bb:826074471",
          "type": "entry"
        },
        {
          "from": "fn:0x313ce567",
          "to": "bb:1425886544",
          "type": "entry"
        },
        {
          "from": "fn:0x54fd4d50",
          "to": "bb:1889567281",
          "type": "entry"
        },
        {
          "from": "fn:0x70a08231",
          "to": "bb:2514000705",
          "type": "entry"
        },
        {
          "from": "fn:0x95d89b41",
          "to": "bb:2835717307",
          "type": "entry"
        },
        {
          "from": "fn:0xa9059cbb",
          "to": "bb:3404319313",
          "type": "entry"
        },
        {
          "from": "fn:0xcae9ca51",
          "to": "bb:3694166258",
          "type": "entry"
        },
        {
          "from": "fn:0xdc3080f2",
          "to": "bb:3714247998",
          "type": "entry"
        },
        {
          "from": "fn:0xdd62ed3e",
          "to": "bb:994",
          "type": "entry"
        },
        {
          "from": "bb:566",
          "to": "call:833",
          "type": "contains"
        },
        {
          "from": "call:833",

exec
/bin/bash -lc "sed -n '3600,3785p' BYTECODE_BUNDLE.json" in /tmp/codex-wkeusirp
 succeeded in 0ms:
        {
          "end_pc": 1751,
          "hash": "0x70a3db40fa43d2ecf7b79f52905610ddae82b1a222f938ab41c073593f982940",
          "id": "bb:1579",
          "start_pc": 1579,
          "type": "basic_block"
        },
        {
          "id": "call:833",
          "opcode": "CALL",
          "pc": 833,
          "type": "callsite"
        },
        {
          "id": "call:901",
          "opcode": "CALL",
          "pc": 901,
          "type": "callsite"
        },
        {
          "id": "call:1050",
          "opcode": "CALL",
          "pc": 1050,
          "type": "callsite"
        },
        {
          "id": "sink:call",
          "type": "sink"
        },
        {
          "entry_pc": null,
          "id": "fn:0x06fdde03",
          "selector": "0x06fdde03",
          "type": "function"
        },
        {
          "entry_pc": 599290589,
          "id": "fn:0x18160ddd",
          "selector": "0x18160ddd",
          "type": "function"
        },
        {
          "entry_pc": 826074471,
          "id": "fn:0x23b872dd",
          "selector": "0x23b872dd",
          "type": "function"
        },
        {
          "entry_pc": 1425886544,
          "id": "fn:0x313ce567",
          "selector": "0x313ce567",
          "type": "function"
        },
        {
          "entry_pc": 1889567281,
          "id": "fn:0x54fd4d50",
          "selector": "0x54fd4d50",
          "type": "function"
        },
        {
          "entry_pc": 2514000705,
          "id": "fn:0x70a08231",
          "selector": "0x70a08231",
          "type": "function"
        },
        {
          "entry_pc": 2835717307,
          "id": "fn:0x95d89b41",
          "selector": "0x95d89b41",
          "type": "function"
        },
        {
          "entry_pc": 3404319313,
          "id": "fn:0xa9059cbb",
          "selector": "0xa9059cbb",
          "type": "function"
        },
        {
          "entry_pc": 3694166258,
          "id": "fn:0xcae9ca51",
          "selector": "0xcae9ca51",
          "type": "function"
        },
        {
          "entry_pc": 3714247998,
          "id": "fn:0xdc3080f2",
          "selector": "0xdc3080f2",
          "type": "function"
        },
        {
          "entry_pc": 994,
          "id": "fn:0xdd62ed3e",
          "selector": "0xdd62ed3e",
          "type": "function"
        }
      ],
      "version": "capability_graph_v1"
    },
    "id": 2664,
    "updated_at": "2026-04-04T19:59:07.000000Z",
    "version": "capability_graph_v1"
  },
  "detector_findings": [
    {
      "confidence": 55,
      "evidence_json": {
        "eth_value_calls": 3,
        "examples": [
          {
            "opcode": "CALL",
            "pc": 833,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          },
          {
            "opcode": "CALL",
            "pc": 901,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          },
          {
            "opcode": "CALL",
            "pc": 1050,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          }
        ],
        "guards_detected": []
      },
      "normalized_json": {
        "sink": "CALL",
        "value": "nonzero"
      },
      "severity": "high",
      "title": "ETH value transfer possible",
      "validated": true,
      "validation_json": {
        "attempts": 1,
        "call_targets": [
          "0x0000000000000000000000000000000000000004",
          "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6"
        ],
        "classification": "target_varies",
        "confirmed": true,
        "errors": 0,
        "matched_probe": null,
        "sink": "CALL",
        "status": "confirmed",
        "target_varies": true,
        "trace_id": "0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50",
        "trace_mode": "callTracer"
      }
    },
    {
      "confidence": 60,
      "evidence_json": {
        "call_count": 3,
        "examples": [
          {
            "opcode": "CALL",
            "pc": 833,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          },
          {
            "opcode": "CALL",
            "pc": 901,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          },
          {
            "opcode": "CALL",
            "pc": 1050,
            "returndata_checked": null,
            "target_expression_category": "computed",
            "value_expression_category": "computed"
          }
        ],
        "guards_detected": [],
        "untrusted_call_count": 3
      },

exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 104ms:
bytecode length 1752
[
  {
    "pc": 560,
    "op": "MULMOD"
  },
  {
    "pc": 561,
    "op": "JUMPI"
  },
  {
    "pc": 562,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 565,
    "op": "JUMP"
  },
  {
    "pc": 566,
    "op": "JUMPDEST"
  },
  {
    "pc": 567,
    "op": "PUSH1",
    "arg": "0x80"
  },
  {
    "pc": 569,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 571,
    "op": "PUSH1",
    "arg": "0x44"
  },
  {
    "pc": 573,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 574,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 576,
    "op": "DUP2"
  },
  {
    "pc": 577,
    "op": "DUP2"
  },
  {
    "pc": 578,
    "op": "ADD"
  },
  {
    "pc": 579,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 580,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 582,
    "op": "DUP2"
  },
  {
    "pc": 583,
    "op": "ADD"
  },
  {
    "pc": 584,
    "op": "DUP5"
  },
  {
    "pc": 585,
    "op": "SWAP1"
  },
  {
    "pc": 586,
    "op": "DIV"
  },
  {
    "pc": 587,
    "op": "SWAP1"
  },
  {
    "pc": 588,
    "op": "SWAP4"
  },
  {
    "pc": 589,
    "op": "MUL"
  },
  {
    "pc": 590,
    "op": "DUP5"
  },
  {
    "pc": 591,
    "op": "ADD"
  },
  {
    "pc": 592,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 594,
    "op": "MSTORE"
  },
  {
    "pc": 595,
    "op": "PUSH1",
    "arg": "0x60"
  },
  {
    "pc": 597,
    "op": "DUP4"
  },
  {
    "pc": 598,
    "op": "DUP2"
  },
  {
    "pc": 599,
    "op": "MSTORE"
  },
  {
    "pc": 600,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 603,
    "op": "SWAP5"
  },
  {
    "pc": 604,
    "op": "DUP3"
  },
  {
    "pc": 605,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 606,
    "op": "SWAP5"
  },
  {
    "pc": 607,
    "op": "PUSH1",
    "arg": "0x24"
  },
  {
    "pc": 609,
    "op": "DUP1"
  },
  {
    "pc": 610,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 611,
    "op": "SWAP6"
  },
  {
    "pc": 612,
    "op": "PUSH1",
    "arg": "0x64"
  },
  {
    "pc": 614,
    "op": "SWAP5"
  },
  {
    "pc": 615,
    "op": "SWAP4"
  },
  {
    "pc": 616,
    "op": "SWAP2"
  },
  {
    "pc": 617,
    "op": "ADD"
  },
  {
    "pc": 618,
    "op": "SWAP2"
  },
  {
    "pc": 619,
    "op": "SWAP1"
  },
  {
    "pc": 620,
    "op": "DUP2"
  },
  {
    "pc": 621,
    "op": "SWAP1"
  },
  {
    "pc": 622,
    "op": "DUP4"
  },
  {
    "pc": 623,
    "op": "DUP3"
  },
  {
    "pc": 624,
    "op": "DUP1"
  },
  {
    "pc": 625,
    "op": "DUP3"
  },
  {
    "pc": 626,
    "op": "DUP5"
  },
  {
    "pc": 627,
    "op": "CALLDATACOPY"
  },
  {
    "pc": 628,
    "op": "POP"
  },
  {
    "pc": 629,
    "op": "SWAP5"
  },
  {
    "pc": 630,
    "op": "SWAP7"
  },
  {
    "pc": 631,
    "op": "POP"
  },
  {
    "pc": 632,
    "op": "POP"
  },
  {
    "pc": 633,
    "op": "POP"
  },
  {
    "pc": 634,
    "op": "POP"
  },
  {
    "pc": 635,
    "op": "POP"
  },
  {
    "pc": 636,
    "op": "POP"
  },
  {
    "pc": 637,
    "op": "POP"
  },
  {
    "pc": 638,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 640,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 642,
    "op": "DUP4"
  },
  {
    "pc": 643,
    "op": "PUSH1",
    "arg": "0x06"
  },
  {
    "pc": 645,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 647,
    "op": "POP"
  },
  {
    "pc": 648,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 650,
    "op": "CALLER"
  },
  {
    "pc": 651,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 653,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 655,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 657,
    "op": "EXP"
  },
  {
    "pc": 658,
    "op": "SUB"
  },
  {
    "pc": 659,
    "op": "AND"
  },
  {
    "pc": 660,
    "op": "DUP2"
  },
  {
    "pc": 661,
    "op": "MSTORE"
  },
  {
    "pc": 662,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 664,
    "op": "ADD"
  },
  {
    "pc": 665,
    "op": "SWAP1"
  },
  {
    "pc": 666,
    "op": "DUP2"
  },
  {
    "pc": 667,
    "op": "MSTORE"
  },
  {
    "pc": 668,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 670,
    "op": "ADD"
  },
  {
    "pc": 671,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 673,
    "op": "SHA3"
  },
  {
    "pc": 674,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 676,
    "op": "POP"
  },
  {
    "pc": 677,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 679,
    "op": "DUP8"
  },
  {
    "pc": 680,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 682,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 684,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 686,
    "op": "EXP"
  },
  {
    "pc": 687,
    "op": "SUB"
  },
  {
    "pc": 688,
    "op": "AND"
  },
  {
    "pc": 689,
    "op": "DUP2"
  },
  {
    "pc": 690,
    "op": "MSTORE"
  },
  {
    "pc": 691,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 693,
    "op": "ADD"
  },
  {
    "pc": 694,
    "op": "SWAP1"
  },
  {
    "pc": 695,
    "op": "DUP2"
  },
  {
    "pc": 696,
    "op": "MSTORE"
  },
  {
    "pc": 697,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 699,
    "op": "ADD"
  },
  {
    "pc": 700,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 702,
    "op": "SHA3"
  },
  {
    "pc": 703,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 705,
    "op": "POP"
  },
  {
    "pc": 706,
    "op": "DUP2"
  },
  {
    "pc": 707,
    "op": "SWAP1"
  },
  {
    "pc": 708,
    "op": "SSTORE"
  },
  {
    "pc": 709,
    "op": "POP"
  },
  {
    "pc": 710,
    "op": "DUP5"
  },
  {
    "pc": 711,
    "op": "SWAP1"
  },
  {
    "pc": 712,
    "op": "POP"
  },
  {
    "pc": 713,
    "op": "DUP1"
  },
  {
    "pc": 714,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 716,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 718,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 720,
    "op": "EXP"
  },
  {
    "pc": 721,
    "op": "SUB"
  },
  {
    "pc": 722,
    "op": "AND"
  },
  {
    "pc": 723,
    "op": "PUSH4",
    "arg": "0x8f4ffcb1"
  },
  {
    "pc": 728,
    "op": "CALLER"
  },
  {
    "pc": 729,
    "op": "DUP7"
  },
  {
    "pc": 730,
    "op": "ADDRESS"
  },
  {
    "pc": 731,
    "op": "DUP8"
  },
  {
    "pc": 732,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 734,
    "op": "MLOAD"
  },
  {
    "pc": 735,
    "op": "DUP6"
  },
  {
    "pc": 736,
    "op": "PUSH1",
    "arg": "0xe0"
  },
  {
    "pc": 738,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 740,
    "op": "EXP"
  },
  {
    "pc": 741,
    "op": "MUL"
  },
  {
    "pc": 742,
    "op": "DUP2"
  },
  {
    "pc": 743,
    "op": "MSTORE"
  },
  {
    "pc": 744,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 746,
    "op": "ADD"
  },
  {
    "pc": 747,
    "op": "DUP1"
  },
  {
    "pc": 748,
    "op": "DUP6"
  },
  {
    "pc": 749,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 751,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 753,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 755,
    "op": "EXP"
  },
  {
    "pc": 756,
    "op": "SUB"
  },
  {
    "pc": 757,
    "op": "AND"
  },
  {
    "pc": 758,
    "op": "DUP2"
  },
  {
    "pc": 759,
    "op": "MSTORE"
  },
  {
    "pc": 760,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 762,
    "op": "ADD"
  },
  {
    "pc": 763,
    "op": "DUP5"
  },
  {
    "pc": 764,
    "op": "DUP2"
  },
  {
    "pc": 765,
    "op": "MSTORE"
  },
  {
    "pc": 766,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 768,
    "op": "ADD"
  },
  {
    "pc": 769,
    "op": "DUP4"
  },
  {
    "pc": 770,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 772,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 774,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 776,
    "op": "EXP"
  },
  {
    "pc": 777,
    "op": "SUB"
  },
  {
    "pc": 778,
    "op": "AND"
  },
  {
    "pc": 779,
    "op": "DUP2"
  },
  {
    "pc": 780,
    "op": "MSTORE"
  },
  {
    "pc": 781,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 783,
    "op": "ADD"
  },
  {
    "pc": 784,
    "op": "DUP1"
  },
  {
    "pc": 785,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 787,
    "op": "ADD"
  },
  {
    "pc": 788,
    "op": "DUP3"
  },
  {
    "pc": 789,
    "op": "DUP2"
  },
  {
    "pc": 790,
    "op": "SUB"
  },
  {
    "pc": 791,
    "op": "DUP3"
  },
  {
    "pc": 792,
    "op": "MSTORE"
  },
  {
    "pc": 793,
    "op": "DUP4"
  },
  {
    "pc": 794,
    "op": "DUP2"
  },
  {
    "pc": 795,
    "op": "DUP2"
  },
  {
    "pc": 796,
    "op": "MLOAD"
  },
  {
    "pc": 797,
    "op": "DUP2"
  },
  {
    "pc": 798,
    "op": "MSTORE"
  },
  {
    "pc": 799,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 801,
    "op": "ADD"
  },
  {
    "pc": 802,
    "op": "SWAP2"
  },
  {
    "pc": 803,
    "op": "POP"
  },
  {
    "pc": 804,
    "op": "DUP1"
  },
  {
    "pc": 805,
    "op": "MLOAD"
  },
  {
    "pc": 806,
    "op": "SWAP1"
  },
  {
    "pc": 807,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 809,
    "op": "ADD"
  },
  {
    "pc": 810,
    "op": "SWAP1"
  },
  {
    "pc": 811,
    "op": "DUP1"
  },
  {
    "pc": 812,
    "op": "DUP4"
  },
  {
    "pc": 813,
    "op": "DUP4"
  },
  {
    "pc": 814,
    "op": "DUP3"
  },
  {
    "pc": 815,
    "op": "SWAP1"
  },
  {
    "pc": 816,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 818,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 820,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 822,
    "op": "DUP5"
  },
  {
    "pc": 823,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 825,
    "op": "ADD"
  },
  {
    "pc": 826,
    "op": "DIV"
  },
  {
    "pc": 827,
    "op": "PUSH1",
    "arg": "0x0f"
  },
  {
    "pc": 829,
    "op": "MUL"
  },
  {
    "pc": 830,
    "op": "PUSH1",
    "arg": "0x03"
  },
  {
    "pc": 832,
    "op": "ADD"
  },
  {
    "pc": 833,
    "op": "CALL"
  },
  {
    "pc": 834,
    "op": "POP"
  },
  {
    "pc": 835,
    "op": "SWAP1"
  },
  {
    "pc": 836,
    "op": "POP"
  },
  {
    "pc": 837,
    "op": "SWAP1"
  },
  {
    "pc": 838,
    "op": "DUP2"
  },
  {
    "pc": 839,
    "op": "ADD"
  },
  {
    "pc": 840,
    "op": "SWAP1"
  },
  {
    "pc": 841,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 843,
    "op": "AND"
  },
  {
    "pc": 844,
    "op": "DUP1"
  },
  {
    "pc": 845,
    "op": "ISZERO"
  },
  {
    "pc": 846,
    "op": "PUSH2",
    "arg": "0x036b"
  },
  {
    "pc": 849,
    "op": "JUMPI"
  },
  {
    "pc": 850,
    "op": "DUP1"
  },
  {
    "pc": 851,
    "op": "DUP3"
  },
  {
    "pc": 852,
    "op": "SUB"
  },
  {
    "pc": 853,
    "op": "DUP1"
  },
  {
    "pc": 854,
    "op": "MLOAD"
  },
  {
    "pc": 855,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 857,
    "op": "DUP4"
  },
  {
    "pc": 858,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 860,
    "op": "SUB"
  },
  {
    "pc": 861,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 864,
    "op": "EXP"
  },
  {
    "pc": 865,
    "op": "SUB"
  },
  {
    "pc": 866,
    "op": "NOT"
  },
  {
    "pc": 867,
    "op": "AND"
  },
  {
    "pc": 868,
    "op": "DUP2"
  },
  {
    "pc": 869,
    "op": "MSTORE"
  },
  {
    "pc": 870,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 872,
    "op": "ADD"
  },
  {
    "pc": 873,
    "op": "SWAP2"
  },
  {
    "pc": 874,
    "op": "POP"
  },
  {
    "pc": 875,
    "op": "JUMPDEST"
  },
  {
    "pc": 876,
    "op": "POP"
  },
  {
    "pc": 877,
    "op": "SWAP6"
  },
  {
    "pc": 878,
    "op": "POP"
  },
  {
    "pc": 879,
    "op": "POP"
  },
  {
    "pc": 880,
    "op": "POP"
  },
  {
    "pc": 881,
    "op": "POP"
  },
  {
    "pc": 882,
    "op": "POP"
  },
  {
    "pc": 883,
    "op": "POP"
  },
  {
    "pc": 884,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 886,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 888,
    "op": "MLOAD"
  },
  {
    "pc": 889,
    "op": "DUP1"
  },
  {
    "pc": 890,
    "op": "DUP4"
  },
  {
    "pc": 891,
    "op": "SUB"
  },
  {
    "pc": 892,
    "op": "DUP2"
  },
  {
    "pc": 893,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 895,
    "op": "DUP8"
  },
  {
    "pc": 896,
    "op": "PUSH2",
    "arg": "0x61da"
  },
  {
    "pc": 899,
    "op": "GAS"
  },
  {
    "pc": 900,
    "op": "SUB"
  },
  {
    "pc": 901,
    "op": "CALL"
  },
  {
    "pc": 902,
    "op": "ISZERO"
  },
  {
    "pc": 903,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 906,
    "op": "JUMPI"
  },
  {
    "pc": 907,
    "op": "POP"
  },
  {
    "pc": 908,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 910,
    "op": "SWAP8"
  },
  {
    "pc": 911,
    "op": "SWAP7"
  },
  {
    "pc": 912,
    "op": "POP"
  },
  {
    "pc": 913,
    "op": "POP"
  },
  {
    "pc": 914,
    "op": "POP"
  },
  {
    "pc": 915,
    "op": "POP"
  },
  {
    "pc": 916,
    "op": "POP"
  },
  {
    "pc": 917,
    "op": "POP"
  },
  {
    "pc": 918,
    "op": "POP"
  },
  {
    "pc": 919,
    "op": "JUMP"
  },
  {
    "pc": 920,
    "op": "JUMPDEST"
  }
]
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 6ms:

== 0-160 ==
[
  {
    "pc": 0,
    "op": "PUSH1",
    "arg": "0x60"
  },
  {
    "pc": 2,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 4,
    "op": "MSTORE"
  },
  {
    "pc": 5,
    "op": "CALLDATASIZE"
  },
  {
    "pc": 6,
    "op": "ISZERO"
  },
  {
    "pc": 7,
    "op": "PUSH2",
    "arg": "0x008d"
  },
  {
    "pc": 10,
    "op": "JUMPI"
  },
  {
    "pc": 11,
    "op": "PUSH1",
    "arg": "0xe0"
  },
  {
    "pc": 13,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 15,
    "op": "EXP"
  },
  {
    "pc": 16,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 18,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 19,
    "op": "DIV"
  },
  {
    "pc": 20,
    "op": "PUSH4",
    "arg": "0x06fdde03"
  },
  {
    "pc": 25,
    "op": "DUP2"
  },
  {
    "pc": 26,
    "op": "EQ"
  },
  {
    "pc": 27,
    "op": "PUSH2",
    "arg": "0x0095"
  },
  {
    "pc": 30,
    "op": "JUMPI"
  },
  {
    "pc": 31,
    "op": "DUP1"
  },
  {
    "pc": 32,
    "op": "PUSH4",
    "arg": "0x18160ddd"
  },
  {
    "pc": 37,
    "op": "EQ"
  },
  {
    "pc": 38,
    "op": "PUSH2",
    "arg": "0x00f2"
  },
  {
    "pc": 41,
    "op": "JUMPI"
  },
  {
    "pc": 42,
    "op": "DUP1"
  },
  {
    "pc": 43,
    "op": "PUSH4",
    "arg": "0x23b872dd"
  },
  {
    "pc": 48,
    "op": "EQ"
  },
  {
    "pc": 49,
    "op": "PUSH2",
    "arg": "0x00fb"
  },
  {
    "pc": 52,
    "op": "JUMPI"
  },
  {
    "pc": 53,
    "op": "DUP1"
  },
  {
    "pc": 54,
    "op": "PUSH4",
    "arg": "0x313ce567"
  },
  {
    "pc": 59,
    "op": "EQ"
  },
  {
    "pc": 60,
    "op": "PUSH2",
    "arg": "0x012d"
  },
  {
    "pc": 63,
    "op": "JUMPI"
  },
  {
    "pc": 64,
    "op": "DUP1"
  },
  {
    "pc": 65,
    "op": "PUSH4",
    "arg": "0x54fd4d50"
  },
  {
    "pc": 70,
    "op": "EQ"
  },
  {
    "pc": 71,
    "op": "PUSH2",
    "arg": "0x0139"
  },
  {
    "pc": 74,
    "op": "JUMPI"
  },
  {
    "pc": 75,
    "op": "DUP1"
  },
  {
    "pc": 76,
    "op": "PUSH4",
    "arg": "0x70a08231"
  },
  {
    "pc": 81,
    "op": "EQ"
  },
  {
    "pc": 82,
    "op": "PUSH2",
    "arg": "0x0193"
  },
  {
    "pc": 85,
    "op": "JUMPI"
  },
  {
    "pc": 86,
    "op": "DUP1"
  },
  {
    "pc": 87,
    "op": "PUSH4",
    "arg": "0x95d89b41"
  },
  {
    "pc": 92,
    "op": "EQ"
  },
  {
    "pc": 93,
    "op": "PUSH2",
    "arg": "0x01ab"
  },
  {
    "pc": 96,
    "op": "JUMPI"
  },
  {
    "pc": 97,
    "op": "DUP1"
  },
  {
    "pc": 98,
    "op": "PUSH4",
    "arg": "0xa9059cbb"
  },
  {
    "pc": 103,
    "op": "EQ"
  },
  {
    "pc": 104,
    "op": "PUSH2",
    "arg": "0x0207"
  },
  {
    "pc": 107,
    "op": "JUMPI"
  },
  {
    "pc": 108,
    "op": "DUP1"
  },
  {
    "pc": 109,
    "op": "PUSH4",
    "arg": "0xcae9ca51"
  },
  {
    "pc": 114,
    "op": "EQ"
  },
  {
    "pc": 115,
    "op": "PUSH2",
    "arg": "0x0236"
  },
  {
    "pc": 118,
    "op": "JUMPI"
  },
  {
    "pc": 119,
    "op": "DUP1"
  },
  {
    "pc": 120,
    "op": "PUSH4",
    "arg": "0xdc3080f2"
  },
  {
    "pc": 125,
    "op": "EQ"
  },
  {
    "pc": 126,
    "op": "PUSH2",
    "arg": "0x0398"
  },
  {
    "pc": 129,
    "op": "JUMPI"
  },
  {
    "pc": 130,
    "op": "DUP1"
  },
  {
    "pc": 131,
    "op": "PUSH4",
    "arg": "0xdd62ed3e"
  },
  {
    "pc": 136,
    "op": "EQ"
  },
  {
    "pc": 137,
    "op": "PUSH2",
    "arg": "0x03bd"
  },
  {
    "pc": 140,
    "op": "JUMPI"
  },
  {
    "pc": 141,
    "op": "JUMPDEST"
  },
  {
    "pc": 142,
    "op": "PUSH2",
    "arg": "0x03e2"
  },
  {
    "pc": 145,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 148,
    "op": "JUMP"
  },
  {
    "pc": 149,
    "op": "JUMPDEST"
  },
  {
    "pc": 150,
    "op": "PUSH2",
    "arg": "0x03e4"
  },
  {
    "pc": 153,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 155,
    "op": "DUP1"
  },
  {
    "pc": 156,
    "op": "SLOAD"
  },
  {
    "pc": 157,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 159,
    "op": "PUSH1",
    "arg": "0x02"
  }
]

== 920-1125 ==
[
  {
    "pc": 920,
    "op": "JUMPDEST"
  },
  {
    "pc": 921,
    "op": "PUSH1",
    "arg": "0x07"
  },
  {
    "pc": 923,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 925,
    "op": "SWAP1"
  },
  {
    "pc": 926,
    "op": "DUP2"
  },
  {
    "pc": 927,
    "op": "MSTORE"
  },
  {
    "pc": 928,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 930,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 931,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 933,
    "op": "SWAP1"
  },
  {
    "pc": 934,
    "op": "DUP2"
  },
  {
    "pc": 935,
    "op": "MSTORE"
  },
  {
    "pc": 936,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 938,
    "op": "DUP1"
  },
  {
    "pc": 939,
    "op": "DUP3"
  },
  {
    "pc": 940,
    "op": "SHA3"
  },
  {
    "pc": 941,
    "op": "SWAP1"
  },
  {
    "pc": 942,
    "op": "SWAP3"
  },
  {
    "pc": 943,
    "op": "MSTORE"
  },
  {
    "pc": 944,
    "op": "PUSH1",
    "arg": "0x24"
  },
  {
    "pc": 946,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 947,
    "op": "DUP2"
  },
  {
    "pc": 948,
    "op": "MSTORE"
  },
  {
    "pc": 949,
    "op": "SHA3"
  },
  {
    "pc": 950,
    "op": "SLOAD"
  },
  {
    "pc": 951,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 954,
    "op": "SWAP1"
  },
  {
    "pc": 955,
    "op": "DUP2"
  },
  {
    "pc": 956,
    "op": "JUMP"
  },
  {
    "pc": 957,
    "op": "JUMPDEST"
  },
  {
    "pc": 958,
    "op": "PUSH1",
    "arg": "0x06"
  },
  {
    "pc": 960,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 962,
    "op": "SWAP1"
  },
  {
    "pc": 963,
    "op": "DUP2"
  },
  {
    "pc": 964,
    "op": "MSTORE"
  },
  {
    "pc": 965,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 967,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 968,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 970,
    "op": "SWAP1"
  },
  {
    "pc": 971,
    "op": "DUP2"
  },
  {
    "pc": 972,
    "op": "MSTORE"
  },
  {
    "pc": 973,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 975,
    "op": "DUP1"
  },
  {
    "pc": 976,
    "op": "DUP3"
  },
  {
    "pc": 977,
    "op": "SHA3"
  },
  {
    "pc": 978,
    "op": "SWAP1"
  },
  {
    "pc": 979,
    "op": "SWAP3"
  },
  {
    "pc": 980,
    "op": "MSTORE"
  },
  {
    "pc": 981,
    "op": "PUSH1",
    "arg": "0x24"
  },
  {
    "pc": 983,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 984,
    "op": "DUP2"
  },
  {
    "pc": 985,
    "op": "MSTORE"
  },
  {
    "pc": 986,
    "op": "SHA3"
  },
  {
    "pc": 987,
    "op": "SLOAD"
  },
  {
    "pc": 988,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 991,
    "op": "SWAP1"
  },
  {
    "pc": 992,
    "op": "DUP2"
  },
  {
    "pc": 993,
    "op": "JUMP"
  },
  {
    "pc": 994,
    "op": "JUMPDEST"
  },
  {
    "pc": 995,
    "op": "STOP"
  },
  {
    "pc": 996,
    "op": "JUMPDEST"
  },
  {
    "pc": 997,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 999,
    "op": "MLOAD"
  },
  {
    "pc": 1000,
    "op": "DUP1"
  },
  {
    "pc": 1001,
    "op": "DUP1"
  },
  {
    "pc": 1002,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1004,
    "op": "ADD"
  },
  {
    "pc": 1005,
    "op": "DUP3"
  },
  {
    "pc": 1006,
    "op": "DUP2"
  },
  {
    "pc": 1007,
    "op": "SUB"
  },
  {
    "pc": 1008,
    "op": "DUP3"
  },
  {
    "pc": 1009,
    "op": "MSTORE"
  },
  {
    "pc": 1010,
    "op": "DUP4"
  },
  {
    "pc": 1011,
    "op": "DUP2"
  },
  {
    "pc": 1012,
    "op": "DUP2"
  },
  {
    "pc": 1013,
    "op": "MLOAD"
  },
  {
    "pc": 1014,
    "op": "DUP2"
  },
  {
    "pc": 1015,
    "op": "MSTORE"
  },
  {
    "pc": 1016,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1018,
    "op": "ADD"
  },
  {
    "pc": 1019,
    "op": "SWAP2"
  },
  {
    "pc": 1020,
    "op": "POP"
  },
  {
    "pc": 1021,
    "op": "DUP1"
  },
  {
    "pc": 1022,
    "op": "MLOAD"
  },
  {
    "pc": 1023,
    "op": "SWAP1"
  },
  {
    "pc": 1024,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1026,
    "op": "ADD"
  },
  {
    "pc": 1027,
    "op": "SWAP1"
  },
  {
    "pc": 1028,
    "op": "DUP1"
  },
  {
    "pc": 1029,
    "op": "DUP4"
  },
  {
    "pc": 1030,
    "op": "DUP4"
  },
  {
    "pc": 1031,
    "op": "DUP3"
  },
  {
    "pc": 1032,
    "op": "SWAP1"
  },
  {
    "pc": 1033,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1035,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 1037,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1039,
    "op": "DUP5"
  },
  {
    "pc": 1040,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 1042,
    "op": "ADD"
  },
  {
    "pc": 1043,
    "op": "DIV"
  },
  {
    "pc": 1044,
    "op": "PUSH1",
    "arg": "0x0f"
  },
  {
    "pc": 1046,
    "op": "MUL"
  },
  {
    "pc": 1047,
    "op": "PUSH1",
    "arg": "0x03"
  },
  {
    "pc": 1049,
    "op": "ADD"
  },
  {
    "pc": 1050,
    "op": "CALL"
  },
  {
    "pc": 1051,
    "op": "POP"
  },
  {
    "pc": 1052,
    "op": "SWAP1"
  },
  {
    "pc": 1053,
    "op": "POP"
  },
  {
    "pc": 1054,
    "op": "SWAP1"
  },
  {
    "pc": 1055,
    "op": "DUP2"
  },
  {
    "pc": 1056,
    "op": "ADD"
  },
  {
    "pc": 1057,
    "op": "SWAP1"
  },
  {
    "pc": 1058,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 1060,
    "op": "AND"
  },
  {
    "pc": 1061,
    "op": "DUP1"
  },
  {
    "pc": 1062,
    "op": "ISZERO"
  },
  {
    "pc": 1063,
    "op": "PUSH2",
    "arg": "0x0444"
  },
  {
    "pc": 1066,
    "op": "JUMPI"
  },
  {
    "pc": 1067,
    "op": "DUP1"
  },
  {
    "pc": 1068,
    "op": "DUP3"
  },
  {
    "pc": 1069,
    "op": "SUB"
  },
  {
    "pc": 1070,
    "op": "DUP1"
  },
  {
    "pc": 1071,
    "op": "MLOAD"
  },
  {
    "pc": 1072,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1074,
    "op": "DUP4"
  },
  {
    "pc": 1075,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1077,
    "op": "SUB"
  },
  {
    "pc": 1078,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 1081,
    "op": "EXP"
  },
  {
    "pc": 1082,
    "op": "SUB"
  },
  {
    "pc": 1083,
    "op": "NOT"
  },
  {
    "pc": 1084,
    "op": "AND"
  },
  {
    "pc": 1085,
    "op": "DUP2"
  },
  {
    "pc": 1086,
    "op": "MSTORE"
  },
  {
    "pc": 1087,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1089,
    "op": "ADD"
  },
  {
    "pc": 1090,
    "op": "SWAP2"
  },
  {
    "pc": 1091,
    "op": "POP"
  },
  {
    "pc": 1092,
    "op": "JUMPDEST"
  },
  {
    "pc": 1093,
    "op": "POP"
  },
  {
    "pc": 1094,
    "op": "SWAP3"
  },
  {
    "pc": 1095,
    "op": "POP"
  },
  {
    "pc": 1096,
    "op": "POP"
  },
  {
    "pc": 1097,
    "op": "POP"
  },
  {
    "pc": 1098,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1100,
    "op": "MLOAD"
  },
  {
    "pc": 1101,
    "op": "DUP1"
  },
  {
    "pc": 1102,
    "op": "SWAP2"
  },
  {
    "pc": 1103,
    "op": "SUB"
  },
  {
    "pc": 1104,
    "op": "SWAP1"
  },
  {
    "pc": 1105,
    "op": "RETURN"
  },
  {
    "pc": 1106,
    "op": "JUMPDEST"
  },
  {
    "pc": 1107,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1109,
    "op": "DUP1"
  },
  {
    "pc": 1110,
    "op": "MLOAD"
  },
  {
    "pc": 1111,
    "op": "SWAP2"
  },
  {
    "pc": 1112,
    "op": "DUP3"
  },
  {
    "pc": 1113,
    "op": "MSTORE"
  },
  {
    "pc": 1114,
    "op": "MLOAD"
  },
  {
    "pc": 1115,
    "op": "SWAP1"
  },
  {
    "pc": 1116,
    "op": "DUP2"
  },
  {
    "pc": 1117,
    "op": "SWAP1"
  },
  {
    "pc": 1118,
    "op": "SUB"
  },
  {
    "pc": 1119,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1121,
    "op": "ADD"
  },
  {
    "pc": 1122,
    "op": "SWAP1"
  },
  {
    "pc": 1123,
    "op": "RETURN"
  },
  {
    "pc": 1124,
    "op": "JUMPDEST"
  },
  {
    "pc": 1125,
    "op": "PUSH1",
    "arg": "0x60"
  }
]

== 1494-1585 ==
[
  {
    "pc": 1494,
    "op": "JUMPDEST"
  },
  {
    "pc": 1495,
    "op": "DUP3"
  },
  {
    "pc": 1496,
    "op": "ADD"
  },
  {
    "pc": 1497,
    "op": "SWAP2"
  },
  {
    "pc": 1498,
    "op": "SWAP1"
  },
  {
    "pc": 1499,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1501,
    "op": "MSTORE"
  },
  {
    "pc": 1502,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1504,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1506,
    "op": "SHA3"
  },
  {
    "pc": 1507,
    "op": "SWAP1"
  },
  {
    "pc": 1508,
    "op": "JUMPDEST"
  },
  {
    "pc": 1509,
    "op": "DUP2"
  },
  {
    "pc": 1510,
    "op": "SLOAD"
  },
  {
    "pc": 1511,
    "op": "DUP2"
  },
  {
    "pc": 1512,
    "op": "MSTORE"
  },
  {
    "pc": 1513,
    "op": "SWAP1"
  },
  {
    "pc": 1514,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1516,
    "op": "ADD"
  },
  {
    "pc": 1517,
    "op": "SWAP1"
  },
  {
    "pc": 1518,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1520,
    "op": "ADD"
  },
  {
    "pc": 1521,
    "op": "DUP1"
  },
  {
    "pc": 1522,
    "op": "DUP4"
  },
  {
    "pc": 1523,
    "op": "GT"
  },
  {
    "pc": 1524,
    "op": "PUSH2",
    "arg": "0x05e4"
  },
  {
    "pc": 1527,
    "op": "JUMPI"
  },
  {
    "pc": 1528,
    "op": "DUP3"
  },
  {
    "pc": 1529,
    "op": "SWAP1"
  },
  {
    "pc": 1530,
    "op": "SUB"
  },
  {
    "pc": 1531,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 1533,
    "op": "AND"
  },
  {
    "pc": 1534,
    "op": "DUP3"
  },
  {
    "pc": 1535,
    "op": "ADD"
  },
  {
    "pc": 1536,
    "op": "SWAP2"
  },
  {
    "pc": 1537,
    "op": "JUMPDEST"
  },
  {
    "pc": 1538,
    "op": "POP"
  },
  {
    "pc": 1539,
    "op": "POP"
  },
  {
    "pc": 1540,
    "op": "POP"
  },
  {
    "pc": 1541,
    "op": "POP"
  },
  {
    "pc": 1542,
    "op": "POP"
  },
  {
    "pc": 1543,
    "op": "DUP2"
  },
  {
    "pc": 1544,
    "op": "JUMP"
  },
  {
    "pc": 1545,
    "op": "JUMPDEST"
  },
  {
    "pc": 1546,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1548,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1550,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1552,
    "op": "EXP"
  },
  {
    "pc": 1553,
    "op": "SUB"
  },
  {
    "pc": 1554,
    "op": "DUP3"
  },
  {
    "pc": 1555,
    "op": "AND"
  },
  {
    "pc": 1556,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1558,
    "op": "SWAP1"
  },
  {
    "pc": 1559,
    "op": "DUP2"
  },
  {
    "pc": 1560,
    "op": "MSTORE"
  },
  {
    "pc": 1561,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1563,
    "op": "SWAP1"
  },
  {
    "pc": 1564,
    "op": "SHA3"
  },
  {
    "pc": 1565,
    "op": "SLOAD"
  },
  {
    "pc": 1566,
    "op": "DUP1"
  },
  {
    "pc": 1567,
    "op": "DUP3"
  },
  {
    "pc": 1568,
    "op": "ADD"
  },
  {
    "pc": 1569,
    "op": "LT"
  },
  {
    "pc": 1570,
    "op": "ISZERO"
  },
  {
    "pc": 1571,
    "op": "PUSH2",
    "arg": "0x062b"
  },
  {
    "pc": 1574,
    "op": "JUMPI"
  },
  {
    "pc": 1575,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 1578,
    "op": "JUMP"
  },
  {
    "pc": 1579,
    "op": "JUMPDEST"
  },
  {
    "pc": 1580,
    "op": "DUP1"
  },
  {
    "pc": 1581,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 1583,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1585,
    "op": "POP"
  }
]
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 1ms:

== 1579-1751 ==
[
  {
    "pc": 1579,
    "op": "JUMPDEST"
  },
  {
    "pc": 1580,
    "op": "DUP1"
  },
  {
    "pc": 1581,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 1583,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1585,
    "op": "POP"
  },
  {
    "pc": 1586,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1588,
    "op": "CALLER"
  },
  {
    "pc": 1589,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1591,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1593,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1595,
    "op": "EXP"
  },
  {
    "pc": 1596,
    "op": "SUB"
  },
  {
    "pc": 1597,
    "op": "AND"
  },
  {
    "pc": 1598,
    "op": "DUP2"
  },
  {
    "pc": 1599,
    "op": "MSTORE"
  },
  {
    "pc": 1600,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1602,
    "op": "ADD"
  },
  {
    "pc": 1603,
    "op": "SWAP1"
  },
  {
    "pc": 1604,
    "op": "DUP2"
  },
  {
    "pc": 1605,
    "op": "MSTORE"
  },
  {
    "pc": 1606,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1608,
    "op": "ADD"
  },
  {
    "pc": 1609,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1611,
    "op": "SHA3"
  },
  {
    "pc": 1612,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1614,
    "op": "DUP3"
  },
  {
    "pc": 1615,
    "op": "DUP3"
  },
  {
    "pc": 1616,
    "op": "DUP3"
  },
  {
    "pc": 1617,
    "op": "POP"
  },
  {
    "pc": 1618,
    "op": "SLOAD"
  },
  {
    "pc": 1619,
    "op": "SUB"
  },
  {
    "pc": 1620,
    "op": "SWAP3"
  },
  {
    "pc": 1621,
    "op": "POP"
  },
  {
    "pc": 1622,
    "op": "POP"
  },
  {
    "pc": 1623,
    "op": "DUP2"
  },
  {
    "pc": 1624,
    "op": "SWAP1"
  },
  {
    "pc": 1625,
    "op": "SSTORE"
  },
  {
    "pc": 1626,
    "op": "POP"
  },
  {
    "pc": 1627,
    "op": "DUP1"
  },
  {
    "pc": 1628,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 1630,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1632,
    "op": "POP"
  },
  {
    "pc": 1633,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1635,
    "op": "DUP5"
  },
  {
    "pc": 1636,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1638,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1640,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1642,
    "op": "EXP"
  },
  {
    "pc": 1643,
    "op": "SUB"
  },
  {
    "pc": 1644,
    "op": "AND"
  },
  {
    "pc": 1645,
    "op": "DUP2"
  },
  {
    "pc": 1646,
    "op": "MSTORE"
  },
  {
    "pc": 1647,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1649,
    "op": "ADD"
  },
  {
    "pc": 1650,
    "op": "SWAP1"
  },
  {
    "pc": 1651,
    "op": "DUP2"
  },
  {
    "pc": 1652,
    "op": "MSTORE"
  },
  {
    "pc": 1653,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1655,
    "op": "ADD"
  },
  {
    "pc": 1656,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1658,
    "op": "SHA3"
  },
  {
    "pc": 1659,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1661,
    "op": "DUP3"
  },
  {
    "pc": 1662,
    "op": "DUP3"
  },
  {
    "pc": 1663,
    "op": "DUP3"
  },
  {
    "pc": 1664,
    "op": "POP"
  },
  {
    "pc": 1665,
    "op": "SLOAD"
  },
  {
    "pc": 1666,
    "op": "ADD"
  },
  {
    "pc": 1667,
    "op": "SWAP3"
  },
  {
    "pc": 1668,
    "op": "POP"
  },
  {
    "pc": 1669,
    "op": "POP"
  },
  {
    "pc": 1670,
    "op": "DUP2"
  },
  {
    "pc": 1671,
    "op": "SWAP1"
  },
  {
    "pc": 1672,
    "op": "SSTORE"
  },
  {
    "pc": 1673,
    "op": "POP"
  },
  {
    "pc": 1674,
    "op": "DUP2"
  },
  {
    "pc": 1675,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1677,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1679,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1681,
    "op": "EXP"
  },
  {
    "pc": 1682,
    "op": "SUB"
  },
  {
    "pc": 1683,
    "op": "AND"
  },
  {
    "pc": 1684,
    "op": "CALLER"
  },
  {
    "pc": 1685,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1687,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1689,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1691,
    "op": "EXP"
  },
  {
    "pc": 1692,
    "op": "SUB"
  },
  {
    "pc": 1693,
    "op": "AND"
  },
  {
    "pc": 1694,
    "op": "PUSH32",
    "arg": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
  },
  {
    "pc": 1727,
    "op": "DUP4"
  },
  {
    "pc": 1728,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1730,
    "op": "MLOAD"
  },
  {
    "pc": 1731,
    "op": "DUP1"
  },
  {
    "pc": 1732,
    "op": "DUP3"
  },
  {
    "pc": 1733,
    "op": "DUP2"
  },
  {
    "pc": 1734,
    "op": "MSTORE"
  },
  {
    "pc": 1735,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1737,
    "op": "ADD"
  },
  {
    "pc": 1738,
    "op": "SWAP2"
  },
  {
    "pc": 1739,
    "op": "POP"
  },
  {
    "pc": 1740,
    "op": "POP"
  },
  {
    "pc": 1741,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1743,
    "op": "MLOAD"
  },
  {
    "pc": 1744,
    "op": "DUP1"
  },
  {
    "pc": 1745,
    "op": "SWAP2"
  },
  {
    "pc": 1746,
    "op": "SUB"
  },
  {
    "pc": 1747,
    "op": "SWAP1"
  },
  {
    "pc": 1748,
    "op": "LOG3"
  },
  {
    "pc": 1749,
    "op": "POP"
  },
  {
    "pc": 1750,
    "op": "POP"
  },
  {
    "pc": 1751,
    "op": "JUMP"
  }
]
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 2ms:

== 242-565 ==
[
  {
    "pc": 242,
    "op": "JUMPDEST"
  },
  {
    "pc": 243,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 246,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 248,
    "op": "SLOAD"
  },
  {
    "pc": 249,
    "op": "DUP2"
  },
  {
    "pc": 250,
    "op": "JUMP"
  },
  {
    "pc": 251,
    "op": "JUMPDEST"
  },
  {
    "pc": 252,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 255,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 257,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 258,
    "op": "PUSH1",
    "arg": "0x24"
  },
  {
    "pc": 260,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 261,
    "op": "PUSH1",
    "arg": "0x44"
  },
  {
    "pc": 263,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 264,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 266,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 268,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 270,
    "op": "EXP"
  },
  {
    "pc": 271,
    "op": "SUB"
  },
  {
    "pc": 272,
    "op": "DUP4"
  },
  {
    "pc": 273,
    "op": "AND"
  },
  {
    "pc": 274,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 276,
    "op": "SWAP1"
  },
  {
    "pc": 277,
    "op": "DUP2"
  },
  {
    "pc": 278,
    "op": "MSTORE"
  },
  {
    "pc": 279,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 281,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 283,
    "op": "MSTORE"
  },
  {
    "pc": 284,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 286,
    "op": "DUP2"
  },
  {
    "pc": 287,
    "op": "SHA3"
  },
  {
    "pc": 288,
    "op": "SLOAD"
  },
  {
    "pc": 289,
    "op": "DUP3"
  },
  {
    "pc": 290,
    "op": "SWAP1"
  },
  {
    "pc": 291,
    "op": "LT"
  },
  {
    "pc": 292,
    "op": "ISZERO"
  },
  {
    "pc": 293,
    "op": "PUSH2",
    "arg": "0x046e"
  },
  {
    "pc": 296,
    "op": "JUMPI"
  },
  {
    "pc": 297,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 300,
    "op": "JUMP"
  },
  {
    "pc": 301,
    "op": "JUMPDEST"
  },
  {
    "pc": 302,
    "op": "PUSH2",
    "arg": "0x0464"
  },
  {
    "pc": 305,
    "op": "PUSH1",
    "arg": "0x03"
  },
  {
    "pc": 307,
    "op": "SLOAD"
  },
  {
    "pc": 308,
    "op": "PUSH1",
    "arg": "0xff"
  },
  {
    "pc": 310,
    "op": "AND"
  },
  {
    "pc": 311,
    "op": "DUP2"
  },
  {
    "pc": 312,
    "op": "JUMP"
  },
  {
    "pc": 313,
    "op": "JUMPDEST"
  },
  {
    "pc": 314,
    "op": "PUSH2",
    "arg": "0x03e4"
  },
  {
    "pc": 317,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 319,
    "op": "DUP1"
  },
  {
    "pc": 320,
    "op": "SLOAD"
  },
  {
    "pc": 321,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 323,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 325,
    "op": "DUP3"
  },
  {
    "pc": 326,
    "op": "AND"
  },
  {
    "pc": 327,
    "op": "ISZERO"
  },
  {
    "pc": 328,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 331,
    "op": "MUL"
  },
  {
    "pc": 332,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 334,
    "op": "NOT"
  },
  {
    "pc": 335,
    "op": "ADD"
  },
  {
    "pc": 336,
    "op": "SWAP1"
  },
  {
    "pc": 337,
    "op": "SWAP2"
  },
  {
    "pc": 338,
    "op": "AND"
  },
  {
    "pc": 339,
    "op": "DUP3"
  },
  {
    "pc": 340,
    "op": "SWAP1"
  },
  {
    "pc": 341,
    "op": "DIV"
  },
  {
    "pc": 342,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 344,
    "op": "DUP2"
  },
  {
    "pc": 345,
    "op": "ADD"
  },
  {
    "pc": 346,
    "op": "DUP3"
  },
  {
    "pc": 347,
    "op": "SWAP1"
  },
  {
    "pc": 348,
    "op": "DIV"
  },
  {
    "pc": 349,
    "op": "SWAP1"
  },
  {
    "pc": 350,
    "op": "SWAP2"
  },
  {
    "pc": 351,
    "op": "MUL"
  },
  {
    "pc": 352,
    "op": "PUSH1",
    "arg": "0x80"
  },
  {
    "pc": 354,
    "op": "SWAP1"
  },
  {
    "pc": 355,
    "op": "DUP2"
  },
  {
    "pc": 356,
    "op": "ADD"
  },
  {
    "pc": 357,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 359,
    "op": "MSTORE"
  },
  {
    "pc": 360,
    "op": "PUSH1",
    "arg": "0x60"
  },
  {
    "pc": 362,
    "op": "DUP3"
  },
  {
    "pc": 363,
    "op": "DUP2"
  },
  {
    "pc": 364,
    "op": "MSTORE"
  },
  {
    "pc": 365,
    "op": "SWAP3"
  },
  {
    "pc": 366,
    "op": "SWAP2"
  },
  {
    "pc": 367,
    "op": "SWAP1"
  },
  {
    "pc": 368,
    "op": "DUP3"
  },
  {
    "pc": 369,
    "op": "DUP3"
  },
  {
    "pc": 370,
    "op": "DUP1"
  },
  {
    "pc": 371,
    "op": "ISZERO"
  },
  {
    "pc": 372,
    "op": "PUSH2",
    "arg": "0x0601"
  },
  {
    "pc": 375,
    "op": "JUMPI"
  },
  {
    "pc": 376,
    "op": "DUP1"
  },
  {
    "pc": 377,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 379,
    "op": "LT"
  },
  {
    "pc": 380,
    "op": "PUSH2",
    "arg": "0x05d6"
  },
  {
    "pc": 383,
    "op": "JUMPI"
  },
  {
    "pc": 384,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 387,
    "op": "DUP1"
  },
  {
    "pc": 388,
    "op": "DUP4"
  },
  {
    "pc": 389,
    "op": "SLOAD"
  },
  {
    "pc": 390,
    "op": "DIV"
  },
  {
    "pc": 391,
    "op": "MUL"
  },
  {
    "pc": 392,
    "op": "DUP4"
  },
  {
    "pc": 393,
    "op": "MSTORE"
  },
  {
    "pc": 394,
    "op": "SWAP2"
  },
  {
    "pc": 395,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 397,
    "op": "ADD"
  },
  {
    "pc": 398,
    "op": "SWAP2"
  },
  {
    "pc": 399,
    "op": "PUSH2",
    "arg": "0x0601"
  },
  {
    "pc": 402,
    "op": "JUMP"
  },
  {
    "pc": 403,
    "op": "JUMPDEST"
  },
  {
    "pc": 404,
    "op": "PUSH2",
    "arg": "0x0452"
  },
  {
    "pc": 407,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 409,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 410,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 412,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 414,
    "op": "MSTORE"
  },
  {
    "pc": 415,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 417,
    "op": "SWAP1"
  },
  {
    "pc": 418,
    "op": "DUP2"
  },
  {
    "pc": 419,
    "op": "MSTORE"
  },
  {
    "pc": 420,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 422,
    "op": "SWAP1"
  },
  {
    "pc": 423,
    "op": "SHA3"
  },
  {
    "pc": 424,
    "op": "SLOAD"
  },
  {
    "pc": 425,
    "op": "DUP2"
  },
  {
    "pc": 426,
    "op": "JUMP"
  },
  {
    "pc": 427,
    "op": "JUMPDEST"
  },
  {
    "pc": 428,
    "op": "PUSH2",
    "arg": "0x03e4"
  },
  {
    "pc": 431,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 433,
    "op": "DUP1"
  },
  {
    "pc": 434,
    "op": "SLOAD"
  },
  {
    "pc": 435,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 437,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 439,
    "op": "DUP3"
  },
  {
    "pc": 440,
    "op": "DUP5"
  },
  {
    "pc": 441,
    "op": "AND"
  },
  {
    "pc": 442,
    "op": "ISZERO"
  },
  {
    "pc": 443,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 446,
    "op": "MUL"
  },
  {
    "pc": 447,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 449,
    "op": "NOT"
  },
  {
    "pc": 450,
    "op": "ADD"
  },
  {
    "pc": 451,
    "op": "SWAP1"
  },
  {
    "pc": 452,
    "op": "SWAP3"
  },
  {
    "pc": 453,
    "op": "AND"
  },
  {
    "pc": 454,
    "op": "SWAP2"
  },
  {
    "pc": 455,
    "op": "SWAP1"
  },
  {
    "pc": 456,
    "op": "SWAP2"
  },
  {
    "pc": 457,
    "op": "DIV"
  },
  {
    "pc": 458,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 460,
    "op": "DUP2"
  },
  {
    "pc": 461,
    "op": "ADD"
  },
  {
    "pc": 462,
    "op": "DUP3"
  },
  {
    "pc": 463,
    "op": "SWAP1"
  },
  {
    "pc": 464,
    "op": "DIV"
  },
  {
    "pc": 465,
    "op": "SWAP1"
  },
  {
    "pc": 466,
    "op": "SWAP2"
  },
  {
    "pc": 467,
    "op": "MUL"
  },
  {
    "pc": 468,
    "op": "PUSH1",
    "arg": "0x80"
  },
  {
    "pc": 470,
    "op": "SWAP1"
  },
  {
    "pc": 471,
    "op": "DUP2"
  },
  {
    "pc": 472,
    "op": "ADD"
  },
  {
    "pc": 473,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 475,
    "op": "MSTORE"
  },
  {
    "pc": 476,
    "op": "PUSH1",
    "arg": "0x60"
  },
  {
    "pc": 478,
    "op": "DUP3"
  },
  {
    "pc": 479,
    "op": "DUP2"
  },
  {
    "pc": 480,
    "op": "MSTORE"
  },
  {
    "pc": 481,
    "op": "SWAP3"
  },
  {
    "pc": 482,
    "op": "SWAP2"
  },
  {
    "pc": 483,
    "op": "SWAP1"
  },
  {
    "pc": 484,
    "op": "DUP3"
  },
  {
    "pc": 485,
    "op": "DUP3"
  },
  {
    "pc": 486,
    "op": "DUP1"
  },
  {
    "pc": 487,
    "op": "ISZERO"
  },
  {
    "pc": 488,
    "op": "PUSH2",
    "arg": "0x0601"
  },
  {
    "pc": 491,
    "op": "JUMPI"
  },
  {
    "pc": 492,
    "op": "DUP1"
  },
  {
    "pc": 493,
    "op": "PUSH1",
    "arg": "0x1f"
  },
  {
    "pc": 495,
    "op": "LT"
  },
  {
    "pc": 496,
    "op": "PUSH2",
    "arg": "0x05d6"
  },
  {
    "pc": 499,
    "op": "JUMPI"
  },
  {
    "pc": 500,
    "op": "PUSH2",
    "arg": "0x0100"
  },
  {
    "pc": 503,
    "op": "DUP1"
  },
  {
    "pc": 504,
    "op": "DUP4"
  },
  {
    "pc": 505,
    "op": "SLOAD"
  },
  {
    "pc": 506,
    "op": "DIV"
  },
  {
    "pc": 507,
    "op": "MUL"
  },
  {
    "pc": 508,
    "op": "DUP4"
  },
  {
    "pc": 509,
    "op": "MSTORE"
  },
  {
    "pc": 510,
    "op": "SWAP2"
  },
  {
    "pc": 511,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 513,
    "op": "ADD"
  },
  {
    "pc": 514,
    "op": "SWAP2"
  },
  {
    "pc": 515,
    "op": "PUSH2",
    "arg": "0x0601"
  },
  {
    "pc": 518,
    "op": "JUMP"
  },
  {
    "pc": 519,
    "op": "JUMPDEST"
  },
  {
    "pc": 520,
    "op": "PUSH2",
    "arg": "0x03e2"
  },
  {
    "pc": 523,
    "op": "PUSH1",
    "arg": "0x04"
  },
  {
    "pc": 525,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 526,
    "op": "PUSH1",
    "arg": "0x24"
  },
  {
    "pc": 528,
    "op": "CALLDATALOAD"
  },
  {
    "pc": 529,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 531,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 533,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 535,
    "op": "EXP"
  },
  {
    "pc": 536,
    "op": "SUB"
  },
  {
    "pc": 537,
    "op": "CALLER"
  },
  {
    "pc": 538,
    "op": "AND"
  },
  {
    "pc": 539,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 541,
    "op": "SWAP1"
  },
  {
    "pc": 542,
    "op": "DUP2"
  },
  {
    "pc": 543,
    "op": "MSTORE"
  },
  {
    "pc": 544,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 546,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 548,
    "op": "MSTORE"
  },
  {
    "pc": 549,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 551,
    "op": "SWAP1"
  },
  {
    "pc": 552,
    "op": "SHA3"
  },
  {
    "pc": 553,
    "op": "SLOAD"
  },
  {
    "pc": 554,
    "op": "DUP2"
  },
  {
    "pc": 555,
    "op": "SWAP1"
  },
  {
    "pc": 556,
    "op": "LT"
  },
  {
    "pc": 557,
    "op": "ISZERO"
  },
  {
    "pc": 558,
    "op": "PUSH2",
    "arg": "0x0609"
  },
  {
    "pc": 561,
    "op": "JUMPI"
  },
  {
    "pc": 562,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 565,
    "op": "JUMP"
  }
]
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 2ms:

== 1124-1493 ==
[
  {
    "pc": 1124,
    "op": "JUMPDEST"
  },
  {
    "pc": 1125,
    "op": "PUSH1",
    "arg": "0x60"
  },
  {
    "pc": 1127,
    "op": "SWAP1"
  },
  {
    "pc": 1128,
    "op": "DUP2"
  },
  {
    "pc": 1129,
    "op": "MSTORE"
  },
  {
    "pc": 1130,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1132,
    "op": "SWAP1"
  },
  {
    "pc": 1133,
    "op": "RETURN"
  },
  {
    "pc": 1134,
    "op": "JUMPDEST"
  },
  {
    "pc": 1135,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1137,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1139,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1141,
    "op": "EXP"
  },
  {
    "pc": 1142,
    "op": "SUB"
  },
  {
    "pc": 1143,
    "op": "DUP4"
  },
  {
    "pc": 1144,
    "op": "AND"
  },
  {
    "pc": 1145,
    "op": "DUP2"
  },
  {
    "pc": 1146,
    "op": "MSTORE"
  },
  {
    "pc": 1147,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1149,
    "op": "DUP2"
  },
  {
    "pc": 1150,
    "op": "SHA3"
  },
  {
    "pc": 1151,
    "op": "SLOAD"
  },
  {
    "pc": 1152,
    "op": "DUP1"
  },
  {
    "pc": 1153,
    "op": "DUP4"
  },
  {
    "pc": 1154,
    "op": "ADD"
  },
  {
    "pc": 1155,
    "op": "LT"
  },
  {
    "pc": 1156,
    "op": "ISZERO"
  },
  {
    "pc": 1157,
    "op": "PUSH2",
    "arg": "0x048d"
  },
  {
    "pc": 1160,
    "op": "JUMPI"
  },
  {
    "pc": 1161,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 1164,
    "op": "JUMP"
  },
  {
    "pc": 1165,
    "op": "JUMPDEST"
  },
  {
    "pc": 1166,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1168,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1170,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1172,
    "op": "EXP"
  },
  {
    "pc": 1173,
    "op": "SUB"
  },
  {
    "pc": 1174,
    "op": "DUP1"
  },
  {
    "pc": 1175,
    "op": "DUP6"
  },
  {
    "pc": 1176,
    "op": "AND"
  },
  {
    "pc": 1177,
    "op": "DUP1"
  },
  {
    "pc": 1178,
    "op": "DUP4"
  },
  {
    "pc": 1179,
    "op": "MSTORE"
  },
  {
    "pc": 1180,
    "op": "PUSH1",
    "arg": "0x06"
  },
  {
    "pc": 1182,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1184,
    "op": "SWAP1"
  },
  {
    "pc": 1185,
    "op": "DUP2"
  },
  {
    "pc": 1186,
    "op": "MSTORE"
  },
  {
    "pc": 1187,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1189,
    "op": "DUP1"
  },
  {
    "pc": 1190,
    "op": "DUP6"
  },
  {
    "pc": 1191,
    "op": "SHA3"
  },
  {
    "pc": 1192,
    "op": "CALLER"
  },
  {
    "pc": 1193,
    "op": "SWAP5"
  },
  {
    "pc": 1194,
    "op": "SWAP1"
  },
  {
    "pc": 1195,
    "op": "SWAP5"
  },
  {
    "pc": 1196,
    "op": "AND"
  },
  {
    "pc": 1197,
    "op": "DUP1"
  },
  {
    "pc": 1198,
    "op": "DUP7"
  },
  {
    "pc": 1199,
    "op": "MSTORE"
  },
  {
    "pc": 1200,
    "op": "SWAP4"
  },
  {
    "pc": 1201,
    "op": "DUP3"
  },
  {
    "pc": 1202,
    "op": "MSTORE"
  },
  {
    "pc": 1203,
    "op": "DUP1"
  },
  {
    "pc": 1204,
    "op": "DUP6"
  },
  {
    "pc": 1205,
    "op": "SHA3"
  },
  {
    "pc": 1206,
    "op": "SLOAD"
  },
  {
    "pc": 1207,
    "op": "SWAP3"
  },
  {
    "pc": 1208,
    "op": "DUP6"
  },
  {
    "pc": 1209,
    "op": "MSTORE"
  },
  {
    "pc": 1210,
    "op": "PUSH1",
    "arg": "0x07"
  },
  {
    "pc": 1212,
    "op": "DUP3"
  },
  {
    "pc": 1213,
    "op": "MSTORE"
  },
  {
    "pc": 1214,
    "op": "DUP1"
  },
  {
    "pc": 1215,
    "op": "DUP6"
  },
  {
    "pc": 1216,
    "op": "SHA3"
  },
  {
    "pc": 1217,
    "op": "SWAP4"
  },
  {
    "pc": 1218,
    "op": "DUP6"
  },
  {
    "pc": 1219,
    "op": "MSTORE"
  },
  {
    "pc": 1220,
    "op": "SWAP3"
  },
  {
    "pc": 1221,
    "op": "SWAP1"
  },
  {
    "pc": 1222,
    "op": "MSTORE"
  },
  {
    "pc": 1223,
    "op": "SWAP1"
  },
  {
    "pc": 1224,
    "op": "DUP3"
  },
  {
    "pc": 1225,
    "op": "SHA3"
  },
  {
    "pc": 1226,
    "op": "SLOAD"
  },
  {
    "pc": 1227,
    "op": "DUP4"
  },
  {
    "pc": 1228,
    "op": "ADD"
  },
  {
    "pc": 1229,
    "op": "GT"
  },
  {
    "pc": 1230,
    "op": "ISZERO"
  },
  {
    "pc": 1231,
    "op": "PUSH2",
    "arg": "0x04d7"
  },
  {
    "pc": 1234,
    "op": "JUMPI"
  },
  {
    "pc": 1235,
    "op": "PUSH2",
    "arg": "0x0002"
  },
  {
    "pc": 1238,
    "op": "JUMP"
  },
  {
    "pc": 1239,
    "op": "JUMPDEST"
  },
  {
    "pc": 1240,
    "op": "DUP2"
  },
  {
    "pc": 1241,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 1243,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1245,
    "op": "POP"
  },
  {
    "pc": 1246,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1248,
    "op": "DUP7"
  },
  {
    "pc": 1249,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1251,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1253,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1255,
    "op": "EXP"
  },
  {
    "pc": 1256,
    "op": "SUB"
  },
  {
    "pc": 1257,
    "op": "AND"
  },
  {
    "pc": 1258,
    "op": "DUP2"
  },
  {
    "pc": 1259,
    "op": "MSTORE"
  },
  {
    "pc": 1260,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1262,
    "op": "ADD"
  },
  {
    "pc": 1263,
    "op": "SWAP1"
  },
  {
    "pc": 1264,
    "op": "DUP2"
  },
  {
    "pc": 1265,
    "op": "MSTORE"
  },
  {
    "pc": 1266,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1268,
    "op": "ADD"
  },
  {
    "pc": 1269,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1271,
    "op": "SHA3"
  },
  {
    "pc": 1272,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1274,
    "op": "DUP3"
  },
  {
    "pc": 1275,
    "op": "DUP3"
  },
  {
    "pc": 1276,
    "op": "DUP3"
  },
  {
    "pc": 1277,
    "op": "POP"
  },
  {
    "pc": 1278,
    "op": "SLOAD"
  },
  {
    "pc": 1279,
    "op": "SUB"
  },
  {
    "pc": 1280,
    "op": "SWAP3"
  },
  {
    "pc": 1281,
    "op": "POP"
  },
  {
    "pc": 1282,
    "op": "POP"
  },
  {
    "pc": 1283,
    "op": "DUP2"
  },
  {
    "pc": 1284,
    "op": "SWAP1"
  },
  {
    "pc": 1285,
    "op": "SSTORE"
  },
  {
    "pc": 1286,
    "op": "POP"
  },
  {
    "pc": 1287,
    "op": "DUP2"
  },
  {
    "pc": 1288,
    "op": "PUSH1",
    "arg": "0x05"
  },
  {
    "pc": 1290,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1292,
    "op": "POP"
  },
  {
    "pc": 1293,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1295,
    "op": "DUP6"
  },
  {
    "pc": 1296,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1298,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1300,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1302,
    "op": "EXP"
  },
  {
    "pc": 1303,
    "op": "SUB"
  },
  {
    "pc": 1304,
    "op": "AND"
  },
  {
    "pc": 1305,
    "op": "DUP2"
  },
  {
    "pc": 1306,
    "op": "MSTORE"
  },
  {
    "pc": 1307,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1309,
    "op": "ADD"
  },
  {
    "pc": 1310,
    "op": "SWAP1"
  },
  {
    "pc": 1311,
    "op": "DUP2"
  },
  {
    "pc": 1312,
    "op": "MSTORE"
  },
  {
    "pc": 1313,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1315,
    "op": "ADD"
  },
  {
    "pc": 1316,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1318,
    "op": "SHA3"
  },
  {
    "pc": 1319,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1321,
    "op": "DUP3"
  },
  {
    "pc": 1322,
    "op": "DUP3"
  },
  {
    "pc": 1323,
    "op": "DUP3"
  },
  {
    "pc": 1324,
    "op": "POP"
  },
  {
    "pc": 1325,
    "op": "SLOAD"
  },
  {
    "pc": 1326,
    "op": "ADD"
  },
  {
    "pc": 1327,
    "op": "SWAP3"
  },
  {
    "pc": 1328,
    "op": "POP"
  },
  {
    "pc": 1329,
    "op": "POP"
  },
  {
    "pc": 1330,
    "op": "DUP2"
  },
  {
    "pc": 1331,
    "op": "SWAP1"
  },
  {
    "pc": 1332,
    "op": "SSTORE"
  },
  {
    "pc": 1333,
    "op": "POP"
  },
  {
    "pc": 1334,
    "op": "DUP2"
  },
  {
    "pc": 1335,
    "op": "PUSH1",
    "arg": "0x07"
  },
  {
    "pc": 1337,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1339,
    "op": "POP"
  },
  {
    "pc": 1340,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1342,
    "op": "DUP7"
  },
  {
    "pc": 1343,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1345,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1347,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1349,
    "op": "EXP"
  },
  {
    "pc": 1350,
    "op": "SUB"
  },
  {
    "pc": 1351,
    "op": "AND"
  },
  {
    "pc": 1352,
    "op": "DUP2"
  },
  {
    "pc": 1353,
    "op": "MSTORE"
  },
  {
    "pc": 1354,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1356,
    "op": "ADD"
  },
  {
    "pc": 1357,
    "op": "SWAP1"
  },
  {
    "pc": 1358,
    "op": "DUP2"
  },
  {
    "pc": 1359,
    "op": "MSTORE"
  },
  {
    "pc": 1360,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1362,
    "op": "ADD"
  },
  {
    "pc": 1363,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1365,
    "op": "SHA3"
  },
  {
    "pc": 1366,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1368,
    "op": "POP"
  },
  {
    "pc": 1369,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1371,
    "op": "CALLER"
  },
  {
    "pc": 1372,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1374,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1376,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1378,
    "op": "EXP"
  },
  {
    "pc": 1379,
    "op": "SUB"
  },
  {
    "pc": 1380,
    "op": "AND"
  },
  {
    "pc": 1381,
    "op": "DUP2"
  },
  {
    "pc": 1382,
    "op": "MSTORE"
  },
  {
    "pc": 1383,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1385,
    "op": "ADD"
  },
  {
    "pc": 1386,
    "op": "SWAP1"
  },
  {
    "pc": 1387,
    "op": "DUP2"
  },
  {
    "pc": 1388,
    "op": "MSTORE"
  },
  {
    "pc": 1389,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1391,
    "op": "ADD"
  },
  {
    "pc": 1392,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1394,
    "op": "SHA3"
  },
  {
    "pc": 1395,
    "op": "PUSH1",
    "arg": "0x00"
  },
  {
    "pc": 1397,
    "op": "DUP3"
  },
  {
    "pc": 1398,
    "op": "DUP3"
  },
  {
    "pc": 1399,
    "op": "DUP3"
  },
  {
    "pc": 1400,
    "op": "POP"
  },
  {
    "pc": 1401,
    "op": "SLOAD"
  },
  {
    "pc": 1402,
    "op": "ADD"
  },
  {
    "pc": 1403,
    "op": "SWAP3"
  },
  {
    "pc": 1404,
    "op": "POP"
  },
  {
    "pc": 1405,
    "op": "POP"
  },
  {
    "pc": 1406,
    "op": "DUP2"
  },
  {
    "pc": 1407,
    "op": "SWAP1"
  },
  {
    "pc": 1408,
    "op": "SSTORE"
  },
  {
    "pc": 1409,
    "op": "POP"
  },
  {
    "pc": 1410,
    "op": "DUP3"
  },
  {
    "pc": 1411,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1413,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1415,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1417,
    "op": "EXP"
  },
  {
    "pc": 1418,
    "op": "SUB"
  },
  {
    "pc": 1419,
    "op": "AND"
  },
  {
    "pc": 1420,
    "op": "DUP5"
  },
  {
    "pc": 1421,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1423,
    "op": "PUSH1",
    "arg": "0xa0"
  },
  {
    "pc": 1425,
    "op": "PUSH1",
    "arg": "0x02"
  },
  {
    "pc": 1427,
    "op": "EXP"
  },
  {
    "pc": 1428,
    "op": "SUB"
  },
  {
    "pc": 1429,
    "op": "AND"
  },
  {
    "pc": 1430,
    "op": "PUSH32",
    "arg": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
  },
  {
    "pc": 1463,
    "op": "DUP5"
  },
  {
    "pc": 1464,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1466,
    "op": "MLOAD"
  },
  {
    "pc": 1467,
    "op": "DUP1"
  },
  {
    "pc": 1468,
    "op": "DUP3"
  },
  {
    "pc": 1469,
    "op": "DUP2"
  },
  {
    "pc": 1470,
    "op": "MSTORE"
  },
  {
    "pc": 1471,
    "op": "PUSH1",
    "arg": "0x20"
  },
  {
    "pc": 1473,
    "op": "ADD"
  },
  {
    "pc": 1474,
    "op": "SWAP2"
  },
  {
    "pc": 1475,
    "op": "POP"
  },
  {
    "pc": 1476,
    "op": "POP"
  },
  {
    "pc": 1477,
    "op": "PUSH1",
    "arg": "0x40"
  },
  {
    "pc": 1479,
    "op": "MLOAD"
  },
  {
    "pc": 1480,
    "op": "DUP1"
  },
  {
    "pc": 1481,
    "op": "SWAP2"
  },
  {
    "pc": 1482,
    "op": "SUB"
  },
  {
    "pc": 1483,
    "op": "SWAP1"
  },
  {
    "pc": 1484,
    "op": "LOG3"
  },
  {
    "pc": 1485,
    "op": "POP"
  },
  {
    "pc": 1486,
    "op": "PUSH1",
    "arg": "0x01"
  },
  {
    "pc": 1488,
    "op": "SWAP4"
  },
  {
    "pc": 1489,
    "op": "SWAP3"
  },
  {
    "pc": 1490,
    "op": "POP"
  },
  {
    "pc": 1491,
    "op": "POP"
  },
  {
    "pc": 1492,
    "op": "POP"
  },
  {
    "pc": 1493,
    "op": "JUMP"
  }
]
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 18ms:
{
  "pc": 833,
  "op": "CALL",
  "before": [
    "(0x03+(0x0f*((0x1f+m[0x60])/0x20)))",
    "0x04",
    "0x00",
    "(0x20+0x60)",
    "m[0x60]",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "m[0x60]",
    "m[0x60]",
    "(0x20+0x60)",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "(0x20+(0x20+(0x20+(0x04+m[0x40]))))",
    "(0x04+m[0x40])"
  ],
  "call": {
    "to": "0x04",
    "value": "0x00",
    "inOff": "(0x20+0x60)",
    "inSize": "m[0x60]",
    "outOff": "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "outSize": "m[0x60]",
    "gas": "(0x03+(0x0f*((0x1f+m[0x60])/0x20)))"
  },
  "after": [
    "call(0x04,value=0x00,in=(0x20+0x60):m[0x60],out=(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))):m[0x60],gas=(0x03+(0x0f*((0x1f+m[0x60])/0x20))))",
    "m[0x60]",
    "(0x20+0x60)",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "(0x20+(0x20+(0x20+(0x04+m[0x40]))))",
    "(0x04+m[0x40])",
    "0x60",
    "address(this)",
    "cd[0x24]",
    "msg.sender",
    "0x8f4ffcb1",
    "(((0x02**0xa0)-0x01)&cd[0x04])"
  ]
}
---
{
  "pc": 901,
  "op": "CALL",
  "before": [
    "(gas-0x61da)",
    "?dup8",
    "0x00",
    "m[0x40]",
    "(len-m[0x40])",
    "m[0x40]",
    "0x00",
    "len"
  ],
  "call": {
    "to": "?dup8",
    "value": "0x00",
    "inOff": "m[0x40]",
    "inSize": "(len-m[0x40])",
    "outOff": "m[0x40]",
    "outSize": "0x00",
    "gas": "(gas-0x61da)"
  },
  "after": [
    "call(?dup8,value=0x00,in=m[0x40]:(len-m[0x40]),out=m[0x40]:0x00,gas=(gas-0x61da))",
    "len"
  ]
}
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 2ms:
{
  "pc": 833,
  "op": "CALL",
  "before": [
    "(0x03+(0x0f*((0x1f+m[0x60])/0x20)))",
    "0x04",
    "0x00",
    "(0x20+0x60)",
    "m[0x60]",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "m[0x60]",
    "m[0x60]",
    "(0x20+0x60)",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "(0x20+(0x20+(0x20+(0x04+m[0x40]))))",
    "(0x04+m[0x40])"
  ],
  "call": {
    "to": "0x04",
    "value": "0x00",
    "inOff": "(0x20+0x60)",
    "inSize": "m[0x60]",
    "outOff": "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "outSize": "m[0x60]",
    "gas": "(0x03+(0x0f*((0x1f+m[0x60])/0x20)))"
  },
  "after": [
    "call(0x04,value=0x00,in=(0x20+0x60):m[0x60],out=(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))):m[0x60],gas=(0x03+(0x0f*((0x1f+m[0x60])/0x20))))",
    "m[0x60]",
    "(0x20+0x60)",
    "(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40]))))))",
    "(0x20+(0x20+(0x20+(0x04+m[0x40]))))",
    "(0x04+m[0x40])",
    "0x60",
    "address(this)",
    "cd[0x24]",
    "msg.sender",
    "0x8f4ffcb1",
    "(((0x02**0xa0)-0x01)&cd[0x04])"
  ]
}
{
  "pc": 901,
  "op": "CALL",
  "before": [
    "(gas-0x61da)",
    "(((0x02**0xa0)-0x01)&cd[0x04])",
    "0x00",
    "m[0x40]",
    "((0x20+((m[0x60]+(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))))-(0x1f&m[0x60])))-m[0x40])",
    "m[0x40]",
    "0x00",
    "(0x20+((m[0x60]+(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))))-(0x1f&m[0x60])))",
    "0x8f4ffcb1",
    "(((0x02**0xa0)-0x01)&cd[0x04])",
    "cd[0x04]",
    "0x00"
  ],
  "call": {
    "to": "(((0x02**0xa0)-0x01)&cd[0x04])",
    "value": "0x00",
    "inOff": "m[0x40]",
    "inSize": "((0x20+((m[0x60]+(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))))-(0x1f&m[0x60])))-m[0x40])",
    "outOff": "m[0x40]",
    "outSize": "0x00",
    "gas": "(gas-0x61da)"
  },
  "after": [
    "call((((0x02**0xa0)-0x01)&cd[0x04]),value=0x00,in=m[0x40]:((0x20+((m[0x60]+(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))))-(0x1f&m[0x60])))-m[0x40]),out=m[0x40]:0x00,gas=(gas-0x61da))",
    "(0x20+((m[0x60]+(0x20+(0x20+(0x20+(0x20+(0x20+(0x04+m[0x40])))))))-(0x1f&m[0x60])))",
    "0x8f4ffcb1",
    "(((0x02**0xa0)-0x01)&cd[0x04])",
    "cd[0x04]",
    "0x00",
    "0x60",
    "cd[0x24]",
    "cd[0x04]",
    "0x0452",
    "JUMPDEST(sel)"
  ]
}
exec
js_repl in /tmp/codex-wkeusirp
 succeeded in 2ms:
{
  "pc": 1050,
  "op": "CALL",
  "before": [
    "(0x03+(0x0f*((0x1f+m[JUMPDEST(sel)])/0x20)))",
    "0x04",
    "0x00",
    "(0x20+JUMPDEST(sel))",
    "m[JUMPDEST(sel)]",
    "(0x20+(0x20+m[0x40]))",
    "m[JUMPDEST(sel)]",
    "m[JUMPDEST(sel)]",
    "(0x20+JUMPDEST(sel))",
    "(0x20+(0x20+m[0x40]))",
    "m[0x40]",
    "m[0x40]"
  ],
  "call": {
    "to": "0x04",
    "value": "0x00",
    "inOff": "(0x20+JUMPDEST(sel))",
    "inSize": "m[JUMPDEST(sel)]",
    "outOff": "(0x20+(0x20+m[0x40]))",
    "outSize": "m[JUMPDEST(sel)]",
    "gas": "(0x03+(0x0f*((0x1f+m[JUMPDEST(sel)])/0x20)))"
  },
  "after": [
    "call(0x04,value=0x00,in=(0x20+JUMPDEST(sel)):m[JUMPDEST(sel)],out=(0x20+(0x20+m[0x40])):m[JUMPDEST(sel)],gas=(0x03+(0x0f*((0x1f+m[JUMPDEST(sel)])/0x20))))",
    "m[JUMPDEST(sel)]",
    "(0x20+JUMPDEST(sel))",
    "(0x20+(0x20+m[0x40]))",
    "m[0x40]",
    "m[0x40]",
    "JUMPDEST(sel)"
  ]
}
codex
{"no_findings":false,"summary":"Bytecode-only review found one medium-confidence accounting flaw in the approval/allowance flow and one low-severity callback/reentrancy risk in a custom approve-and-call style entrypoint. No proxy/delegatecall/selfdestruct behavior was evidenced in the bundle.","findings":[{"severity":"medium","category":"other","title":"Allowance accounting appears cumulative and is not reset on re-approval","exploit_scenario":"Best-effort selector inference indicates `selector:0xcae9ca51` is the only approval-like writer for the nested mapping at slot 0x06. It stores a fresh approved amount, but `selector:0x23b872dd` checks transfers against `spent + amount <= approved` using a second nested mapping at slot 0x07 and then increments that spent counter instead of decreasing the approved amount. If a spender has already used part or all of an approval, a later re-approval to the same nominal amount does not restore the expected remaining allowance. Example: approve 100, spend 100, approve 100 again; future `transferFrom` calls fail because historical spent remains 100. Integrations that read `selector:0xdd62ed3e` may also observe the raw approved amount rather than true remaining spendable capacity.","recommendation":"Use standard remaining-allowance semantics. Either decrement the allowance mapping directly during `transferFrom`, or if keeping separate approved/spent mappings, reset the spent counter whenever a new approval is written and have the public allowance getter return `approved - spent`. Add tests for partial spend, full spend, and re-approval to the same spender.","evidence":"At `pc:0x2c4` the approval-like function writes a nested mapping after building a slot with constant `0x06`. In `selector:0x23b872dd`, the block at `pc:0x48d` builds a slot with constant `0x06`, then another with constant `0x07`, and enforces a bound via `SLOAD(slot7) + amount <= SLOAD(slot6)` before proceeding. Later, at `pc:0x536` through `pc:0x580`, the code writes `SSTORE(slot7, SLOAD(slot7) + amount)`, showing cumulative spend tracking. The getter at `selector:0xdd62ed3e` (`pc:0x3bd` onward) reads the mapping keyed with constant `0x06`, not an obvious remaining-allowance calculation. This is a bytecode inference, but the slot usage pattern is consistent.","locations":["selector:0xcae9ca51","selector:0x23b872dd","selector:0xdd62ed3e","pc:0x2c4","pc:0x48d","pc:0x536","pc:0x580","pc:0x3bd"]},{"severity":"low","category":"reentrancy","title":"Custom approval path performs an unguarded external callback to a user-supplied contract","exploit_scenario":"The custom entrypoint at `selector:0xcae9ca51` writes approval-related state and then performs a `CALL` to the address supplied in calldata, with calldata shaped like `0x8f4ffcb1(...)` (consistent with an approve-and-call/receiveApproval pattern). A malicious callee can reenter public token functions before the original call returns. Because the target is user-chosen, this may be intentional behavior rather than a bug, but any integrator assuming a simple approval without synchronous execution can be surprised.","recommendation":"If this callback is intended, document it clearly as approve-and-call behavior and treat the callee as untrusted. Consider a reentrancy guard around stateful paths that should not be reentered, and validate callback success/expected interface more explicitly. If synchronous callbacks are not required, remove the external call and expose a plain approval flow instead.","evidence":"The bundle’s detector validated an untrusted `CALL` at `pc:0x385` with a computed target. Bytecode-level symbolic tracing of the block starting at `selector:0xcae9ca51` shows the target is the masked address loaded from `calldata[0x04]`, while `pc:0x2c4` has already updated approval-related storage. The earlier `CALL` at `pc:0x341` targets precompile `0x04` for memory copying, so the externally relevant callback is the later call at `pc:0x385`. No guard was detected in the analysis artifact. Returndata/interface checking is unclear from the bundle, so impact is conservatively rated low.","locations":["selector:0xcae9ca51","pc:0x2c4","pc:0x385"]}]}
tokens used
93,962
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T05:58:50.017375+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 3506,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode-only review found one medium-confidence accounting flaw in the approval/allowance flow and one low-severity callback/reentrancy risk in a custom approve-and-call style entrypoint. No proxy/delegatecall/selfdestruct behavior was evidenced in the bundle.",
    "raw_final": {
        "summary": "Bytecode-only review found one medium-confidence accounting flaw in the approval/allowance flow and one low-severity callback/reentrancy risk in a custom approve-and-call style entrypoint. No proxy/delegatecall/selfdestruct behavior was evidenced in the bundle.",
        "findings": [
            {
                "title": "Allowance accounting appears cumulative and is not reset on re-approval",
                "category": "other",
                "evidence": "At `pc:0x2c4` the approval-like function writes a nested mapping after building a slot with constant `0x06`. In `selector:0x23b872dd`, the block at `pc:0x48d` builds a slot with constant `0x06`, then another with constant `0x07`, and enforces a bound via `SLOAD(slot7) + amount <= SLOAD(slot6)` before proceeding. Later, at `pc:0x536` through `pc:0x580`, the code writes `SSTORE(slot7, SLOAD(slot7) + amount)`, showing cumulative spend tracking. The getter at `selector:0xdd62ed3e` (`pc:0x3bd` onward) reads the mapping keyed with constant `0x06`, not an obvious remaining-allowance calculation. This is a bytecode inference, but the slot usage pattern is consistent.",
                "severity": "medium",
                "locations": [
                    "selector:0xcae9ca51",
                    "selector:0x23b872dd",
                    "selector:0xdd62ed3e",
                    "pc:0x2c4",
                    "pc:0x48d",
                    "pc:0x536",
                    "pc:0x580",
                    "pc:0x3bd"
                ],
                "recommendation": "Use standard remaining-allowance semantics. Either decrement the allowance mapping directly during `transferFrom`, or if keeping separate approved/spent mappings, reset the spent counter whenever a new approval is written and have the public allowance getter return `approved - spent`. Add tests for partial spend, full spend, and re-approval to the same spender.",
                "exploit_scenario": "Best-effort selector inference indicates `selector:0xcae9ca51` is the only approval-like writer for the nested mapping at slot 0x06. It stores a fresh approved amount, but `selector:0x23b872dd` checks transfers against `spent + amount <= approved` using a second nested mapping at slot 0x07 and then increments that spent counter instead of decreasing the approved amount. If a spender has already used part or all of an approval, a later re-approval to the same nominal amount does not restore the expected remaining allowance. Example: approve 100, spend 100, approve 100 again; future `transferFrom` calls fail because historical spent remains 100. Integrations that read `selector:0xdd62ed3e` may also observe the raw approved amount rather than true remaining spendable capacity."
            },
            {
                "title": "Custom approval path performs an unguarded external callback to a user-supplied contract",
                "category": "reentrancy",
                "evidence": "The bundle\u2019s detector validated an untrusted `CALL` at `pc:0x385` with a computed target. Bytecode-level symbolic tracing of the block starting at `selector:0xcae9ca51` shows the target is the masked address loaded from `calldata[0x04]`, while `pc:0x2c4` has already updated approval-related storage. The earlier `CALL` at `pc:0x341` targets precompile `0x04` for memory copying, so the externally relevant callback is the later call at `pc:0x385`. No guard was detected in the analysis artifact. Returndata/interface checking is unclear from the bundle, so impact is conservatively rated low.",
                "severity": "low",
                "locations": [
                    "selector:0xcae9ca51",
                    "pc:0x2c4",
                    "pc:0x385"
                ],
                "recommendation": "If this callback is intended, document it clearly as approve-and-call behavior and treat the callee as untrusted. Consider a reentrancy guard around stateful paths that should not be reentered, and validate callback success/expected interface more explicitly. If synchronous callbacks are not required, remove the external call and expose a plain approval flow instead.",
                "exploit_scenario": "The custom entrypoint at `selector:0xcae9ca51` writes approval-related state and then performs a `CALL` to the address supplied in calldata, with calldata shaped like `0x8f4ffcb1(...)` (consistent with an approve-and-call/receiveApproval pattern). A malicious callee can reenter public token functions before the original call returns. Because the target is user-chosen, this may be intentional behavior rather than a bug, but any integrator assuming a simple approval without synchronous execution can be surprised."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
0
Total opcodes
1271
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x008d
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x06fdde03
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0095
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x18160ddd
00000025: EQ
00000026: PUSH2 0x00f2
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x23b872dd
00000030: EQ
00000031: PUSH2 0x00fb
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x313ce567
0000003b: EQ
0000003c: PUSH2 0x012d
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x54fd4d50
00000046: EQ
00000047: PUSH2 0x0139
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x70a08231
00000051: EQ
00000052: PUSH2 0x0193
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x95d89b41
0000005c: EQ
0000005d: PUSH2 0x01ab
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0xa9059cbb
00000067: EQ
00000068: PUSH2 0x0207
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0xcae9ca51
00000072: EQ
00000073: PUSH2 0x0236
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0xdc3080f2
0000007d: EQ
0000007e: PUSH2 0x0398
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0xdd62ed3e
00000088: EQ
00000089: PUSH2 0x03bd
0000008c: JUMPI
0000008d: JUMPDEST
0000008e: PUSH2 0x03e2
00000091: PUSH2 0x0002
00000094: JUMP
00000095: JUMPDEST
00000096: PUSH2 0x03e4
00000099: PUSH1 0x00
0000009b: DUP1
0000009c: SLOAD
0000009d: PUSH1 0x20
0000009f: PUSH1 0x02
000000a1: PUSH1 0x01
000000a3: DUP4
000000a4: AND
000000a5: ISZERO
000000a6: PUSH2 0x0100
000000a9: MUL
000000aa: PUSH1 0x00
000000ac: NOT
000000ad: ADD
000000ae: SWAP1
000000af: SWAP3
000000b0: AND
000000b1: SWAP2
000000b2: SWAP1
000000b3: SWAP2
000000b4: DIV
000000b5: PUSH1 0x1f
000000b7: DUP2
000000b8: ADD
000000b9: DUP3
000000ba: SWAP1
000000bb: DIV
000000bc: SWAP1
000000bd: SWAP2
000000be: MUL
000000bf: PUSH1 0x80
000000c1: SWAP1
000000c2: DUP2
000000c3: ADD
000000c4: PUSH1 0x40
000000c6: MSTORE
000000c7: PUSH1 0x60
000000c9: DUP3
000000ca: DUP2
000000cb: MSTORE
000000cc: SWAP3
000000cd: SWAP2
000000ce: SWAP1
000000cf: DUP3
000000d0: DUP3
000000d1: DUP1
000000d2: ISZERO
000000d3: PUSH2 0x0601
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH1 0x1f
000000da: LT
000000db: PUSH2 0x05d6
000000de: JUMPI
000000df: PUSH2 0x0100
000000e2: DUP1
000000e3: DUP4
000000e4: SLOAD
000000e5: DIV
000000e6: MUL
000000e7: DUP4
000000e8: MSTORE
000000e9: SWAP2
000000ea: PUSH1 0x20
000000ec: ADD
000000ed: SWAP2
000000ee: PUSH2 0x0601
000000f1: JUMP
000000f2: JUMPDEST
000000f3: PUSH2 0x0452
000000f6: PUSH1 0x04
000000f8: SLOAD
000000f9: DUP2
000000fa: JUMP
000000fb: JUMPDEST
000000fc: PUSH2 0x0452
000000ff: PUSH1 0x04
00000101: CALLDATALOAD
00000102: PUSH1 0x24
00000104: CALLDATALOAD
00000105: PUSH1 0x44
00000107: CALLDATALOAD
00000108: PUSH1 0x01
0000010a: PUSH1 0xa0
0000010c: PUSH1 0x02
0000010e: EXP
0000010f: SUB
00000110: DUP4
00000111: AND
00000112: PUSH1 0x00
00000114: SWAP1
00000115: DUP2
00000116: MSTORE
00000117: PUSH1 0x05
00000119: PUSH1 0x20
0000011b: MSTORE
0000011c: PUSH1 0x40
0000011e: DUP2
0000011f: KECCAK256
00000120: SLOAD
00000121: DUP3
00000122: SWAP1
00000123: LT
00000124: ISZERO
00000125: PUSH2 0x046e
00000128: JUMPI
00000129: PUSH2 0x0002
0000012c: JUMP
0000012d: JUMPDEST
0000012e: PUSH2 0x0464
00000131: PUSH1 0x03
00000133: SLOAD
00000134: PUSH1 0xff
00000136: AND
00000137: DUP2
00000138: JUMP
00000139: JUMPDEST
0000013a: PUSH2 0x03e4
0000013d: PUSH1 0x02
0000013f: DUP1
00000140: SLOAD
00000141: PUSH1 0x20
00000143: PUSH1 0x01
00000145: DUP3
00000146: AND
00000147: ISZERO
00000148: PUSH2 0x0100
0000014b: MUL
0000014c: PUSH1 0x00
0000014e: NOT
0000014f: ADD
00000150: SWAP1
00000151: SWAP2
00000152: AND
00000153: DUP3
00000154: SWAP1
00000155: DIV
00000156: PUSH1 0x1f
00000158: DUP2
00000159: ADD
0000015a: DUP3
0000015b: SWAP1
0000015c: DIV
0000015d: SWAP1
0000015e: SWAP2
0000015f: MUL
00000160: PUSH1 0x80
00000162: SWAP1
00000163: DUP2
00000164: ADD
00000165: PUSH1 0x40
00000167: MSTORE
00000168: PUSH1 0x60
0000016a: DUP3
0000016b: DUP2
0000016c: MSTORE
0000016d: SWAP3
0000016e: SWAP2
0000016f: SWAP1
00000170: DUP3
00000171: DUP3
00000172: DUP1
00000173: ISZERO
00000174: PUSH2 0x0601
00000177: JUMPI
00000178: DUP1
00000179: PUSH1 0x1f
0000017b: LT
0000017c: PUSH2 0x05d6
0000017f: JUMPI
00000180: PUSH2 0x0100
00000183: DUP1
00000184: DUP4
00000185: SLOAD
00000186: DIV
00000187: MUL
00000188: DUP4
00000189: MSTORE
0000018a: SWAP2
0000018b: PUSH1 0x20
0000018d: ADD
0000018e: SWAP2
0000018f: PUSH2 0x0601
00000192: JUMP
00000193: JUMPDEST
00000194: PUSH2 0x0452
00000197: PUSH1 0x04
00000199: CALLDATALOAD
0000019a: PUSH1 0x05
0000019c: PUSH1 0x20
0000019e: MSTORE
0000019f: PUSH1 0x00
000001a1: SWAP1
000001a2: DUP2
000001a3: MSTORE
000001a4: PUSH1 0x40
000001a6: SWAP1
000001a7: KECCAK256
000001a8: SLOAD
000001a9: DUP2
000001aa: JUMP
000001ab: JUMPDEST
000001ac: PUSH2 0x03e4
000001af: PUSH1 0x01
000001b1: DUP1
000001b2: SLOAD
000001b3: PUSH1 0x20
000001b5: PUSH1 0x02
000001b7: DUP3
000001b8: DUP5
000001b9: AND
000001ba: ISZERO
000001bb: PUSH2 0x0100
000001be: MUL
000001bf: PUSH1 0x00
000001c1: NOT
000001c2: ADD
000001c3: SWAP1
000001c4: SWAP3
000001c5: AND
000001c6: SWAP2
000001c7: SWAP1
000001c8: SWAP2
000001c9: DIV
000001ca: PUSH1 0x1f
000001cc: DUP2
000001cd: ADD
000001ce: DUP3
000001cf: SWAP1
000001d0: DIV
000001d1: SWAP1
000001d2: SWAP2
000001d3: MUL
000001d4: PUSH1 0x80
000001d6: SWAP1
000001d7: DUP2
000001d8: ADD
000001d9: PUSH1 0x40
000001db: MSTORE
000001dc: PUSH1 0x60
000001de: DUP3
000001df: DUP2
000001e0: MSTORE
000001e1: SWAP3
000001e2: SWAP2
000001e3: SWAP1
000001e4: DUP3
000001e5: DUP3
000001e6: DUP1
000001e7: ISZERO
000001e8: PUSH2 0x0601
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH1 0x1f
000001ef: LT
000001f0: PUSH2 0x05d6
000001f3: JUMPI
000001f4: PUSH2 0x0100
000001f7: DUP1
000001f8: DUP4
000001f9: SLOAD
000001fa: DIV
000001fb: MUL
000001fc: DUP4
000001fd: MSTORE
000001fe: SWAP2
000001ff: PUSH1 0x20
00000201: ADD
00000202: SWAP2
00000203: PUSH2 0x0601
00000206: JUMP
00000207: JUMPDEST
00000208: PUSH2 0x03e2
0000020b: PUSH1 0x04
0000020d: CALLDATALOAD
0000020e: PUSH1 0x24
00000210: CALLDATALOAD
00000211: PUSH1 0x01
00000213: PUSH1 0xa0
00000215: PUSH1 0x02
00000217: EXP
00000218: SUB
00000219: CALLER
0000021a: AND
0000021b: PUSH1 0x00
0000021d: SWAP1
0000021e: DUP2
0000021f: MSTORE
00000220: PUSH1 0x05
00000222: PUSH1 0x20
00000224: MSTORE
00000225: PUSH1 0x40
00000227: SWAP1
00000228: KECCAK256
00000229: SLOAD
0000022a: DUP2
0000022b: SWAP1
0000022c: LT
0000022d: ISZERO
0000022e: PUSH2 0x0609
00000231: JUMPI
00000232: PUSH2 0x0002
00000235: JUMP
00000236: JUMPDEST
00000237: PUSH1 0x80
00000239: PUSH1 0x20
0000023b: PUSH1 0x44
0000023d: CALLDATALOAD
0000023e: PUSH1 0x04
00000240: DUP2
00000241: DUP2
00000242: ADD
00000243: CALLDATALOAD
00000244: PUSH1 0x1f
00000246: DUP2
00000247: ADD
00000248: DUP5
00000249: SWAP1
0000024a: DIV
0000024b: SWAP1
0000024c: SWAP4
0000024d: MUL
0000024e: DUP5
0000024f: ADD
00000250: PUSH1 0x40
00000252: MSTORE
00000253: PUSH1 0x60
00000255: DUP4
00000256: DUP2
00000257: MSTORE
00000258: PUSH2 0x0452
0000025b: SWAP5
0000025c: DUP3
0000025d: CALLDATALOAD
0000025e: SWAP5
0000025f: PUSH1 0x24
00000261: DUP1
00000262: CALLDATALOAD
00000263: SWAP6
00000264: PUSH1 0x64
00000266: SWAP5
00000267: SWAP4
00000268: SWAP2
00000269: ADD
0000026a: SWAP2
0000026b: SWAP1
0000026c: DUP2
0000026d: SWAP1
0000026e: DUP4
0000026f: DUP3
00000270: DUP1
00000271: DUP3
00000272: DUP5
00000273: CALLDATACOPY
00000274: POP
00000275: SWAP5
00000276: SWAP7
00000277: POP
00000278: POP
00000279: POP
0000027a: POP
0000027b: POP
0000027c: POP
0000027d: POP
0000027e: PUSH1 0x00
00000280: PUSH1 0x00
00000282: DUP4
00000283: PUSH1 0x06
00000285: PUSH1 0x00
00000287: POP
00000288: PUSH1 0x00
0000028a: CALLER
0000028b: PUSH1 0x01
0000028d: PUSH1 0xa0
0000028f: PUSH1 0x02
00000291: EXP
00000292: SUB
00000293: AND
00000294: DUP2
00000295: MSTORE
00000296: PUSH1 0x20
00000298: ADD
00000299: SWAP1
0000029a: DUP2
0000029b: MSTORE
0000029c: PUSH1 0x20
0000029e: ADD
0000029f: PUSH1 0x00
000002a1: KECCAK256
000002a2: PUSH1 0x00
000002a4: POP
000002a5: PUSH1 0x00
000002a7: DUP8
000002a8: PUSH1 0x01
000002aa: PUSH1 0xa0
000002ac: PUSH1 0x02
000002ae: EXP
000002af: SUB
000002b0: AND
000002b1: DUP2
000002b2: MSTORE
000002b3: PUSH1 0x20
000002b5: ADD
000002b6: SWAP1
000002b7: DUP2
000002b8: MSTORE
000002b9: PUSH1 0x20
000002bb: ADD
000002bc: PUSH1 0x00
000002be: KECCAK256
000002bf: PUSH1 0x00
000002c1: POP
000002c2: DUP2
000002c3: SWAP1
000002c4: SSTORE
000002c5: POP
000002c6: DUP5
000002c7: SWAP1
000002c8: POP
000002c9: DUP1
000002ca: PUSH1 0x01
000002cc: PUSH1 0xa0
000002ce: PUSH1 0x02
000002d0: EXP
000002d1: SUB
000002d2: AND
000002d3: PUSH4 0x8f4ffcb1
000002d8: CALLER
000002d9: DUP7
000002da: ADDRESS
000002db: DUP8
000002dc: PUSH1 0x40
000002de: MLOAD
000002df: DUP6
000002e0: PUSH1 0xe0
000002e2: PUSH1 0x02
000002e4: EXP
000002e5: MUL
000002e6: DUP2
000002e7: MSTORE
000002e8: PUSH1 0x04
000002ea: ADD
000002eb: DUP1
000002ec: DUP6
000002ed: PUSH1 0x01
000002ef: PUSH1 0xa0
000002f1: PUSH1 0x02
000002f3: EXP
000002f4: SUB
000002f5: AND
000002f6: DUP2
000002f7: MSTORE
000002f8: PUSH1 0x20
000002fa: ADD
000002fb: DUP5
000002fc: DUP2
000002fd: MSTORE
000002fe: PUSH1 0x20
00000300: ADD
00000301: DUP4
00000302: PUSH1 0x01
00000304: PUSH1 0xa0
00000306: PUSH1 0x02
00000308: EXP
00000309: SUB
0000030a: AND
0000030b: DUP2
0000030c: MSTORE
0000030d: PUSH1 0x20
0000030f: ADD
00000310: DUP1
00000311: PUSH1 0x20
00000313: ADD
00000314: DUP3
00000315: DUP2
00000316: SUB
00000317: DUP3
00000318: MSTORE
00000319: DUP4
0000031a: DUP2
0000031b: DUP2
0000031c: MLOAD
0000031d: DUP2
0000031e: MSTORE
0000031f: PUSH1 0x20
00000321: ADD
00000322: SWAP2
00000323: POP
00000324: DUP1
00000325: MLOAD
00000326: SWAP1
00000327: PUSH1 0x20
00000329: ADD
0000032a: SWAP1
0000032b: DUP1
0000032c: DUP4
0000032d: DUP4
0000032e: DUP3
0000032f: SWAP1
00000330: PUSH1 0x00
00000332: PUSH1 0x04
00000334: PUSH1 0x20
00000336: DUP5
00000337: PUSH1 0x1f
00000339: ADD
0000033a: DIV
0000033b: PUSH1 0x0f
0000033d: MUL
0000033e: PUSH1 0x03
00000340: ADD
00000341: CALL
00000342: POP
00000343: SWAP1
00000344: POP
00000345: SWAP1
00000346: DUP2
00000347: ADD
00000348: SWAP1
00000349: PUSH1 0x1f
0000034b: AND
0000034c: DUP1
0000034d: ISZERO
0000034e: PUSH2 0x036b
00000351: JUMPI
00000352: DUP1
00000353: DUP3
00000354: SUB
00000355: DUP1
00000356: MLOAD
00000357: PUSH1 0x01
00000359: DUP4
0000035a: PUSH1 0x20
0000035c: SUB
0000035d: PUSH2 0x0100
00000360: EXP
00000361: SUB
00000362: NOT
00000363: AND
00000364: DUP2
00000365: MSTORE
00000366: PUSH1 0x20
00000368: ADD
00000369: SWAP2
0000036a: POP
0000036b: JUMPDEST
0000036c: POP
0000036d: SWAP6
0000036e: POP
0000036f: POP
00000370: POP
00000371: POP
00000372: POP
00000373: POP
00000374: PUSH1 0x00
00000376: PUSH1 0x40
00000378: MLOAD
00000379: DUP1
0000037a: DUP4
0000037b: SUB
0000037c: DUP2
0000037d: PUSH1 0x00
0000037f: DUP8
00000380: PUSH2 0x61da
00000383: GAS
00000384: SUB
00000385: CALL
00000386: ISZERO
00000387: PUSH2 0x0002
0000038a: JUMPI
0000038b: POP
0000038c: PUSH1 0x01
0000038e: SWAP8
0000038f: SWAP7
00000390: POP
00000391: POP
00000392: POP
00000393: POP
00000394: POP
00000395: POP
00000396: POP
00000397: JUMP
00000398: JUMPDEST
00000399: PUSH1 0x07
0000039b: PUSH1 0x20
0000039d: SWAP1
0000039e: DUP2
0000039f: MSTORE
000003a0: PUSH1 0x04
000003a2: CALLDATALOAD
000003a3: PUSH1 0x00
000003a5: SWAP1
000003a6: DUP2
000003a7: MSTORE
000003a8: PUSH1 0x40
000003aa: DUP1
000003ab: DUP3
000003ac: KECCAK256
000003ad: SWAP1
000003ae: SWAP3
000003af: MSTORE
000003b0: PUSH1 0x24
000003b2: CALLDATALOAD
000003b3: DUP2
000003b4: MSTORE
000003b5: KECCAK256
000003b6: SLOAD
000003b7: PUSH2 0x0452
000003ba: SWAP1
000003bb: DUP2
000003bc: JUMP
000003bd: JUMPDEST
000003be: PUSH1 0x06
000003c0: PUSH1 0x20
000003c2: SWAP1
000003c3: DUP2
000003c4: MSTORE
000003c5: PUSH1 0x04
000003c7: CALLDATALOAD
000003c8: PUSH1 0x00
000003ca: SWAP1
000003cb: DUP2
000003cc: MSTORE
000003cd: PUSH1 0x40
000003cf: DUP1
000003d0: DUP3
000003d1: KECCAK256
000003d2: SWAP1
000003d3: SWAP3
000003d4: MSTORE
000003d5: PUSH1 0x24
000003d7: CALLDATALOAD
000003d8: DUP2
000003d9: MSTORE
000003da: KECCAK256
000003db: SLOAD
000003dc: PUSH2 0x0452
000003df: SWAP1
000003e0: DUP2
000003e1: JUMP
000003e2: JUMPDEST
000003e3: STOP
000003e4: JUMPDEST
000003e5: PUSH1 0x40
000003e7: MLOAD
000003e8: DUP1
000003e9: DUP1
000003ea: PUSH1 0x20
000003ec: ADD
000003ed: DUP3
000003ee: DUP2
000003ef: SUB
000003f0: DUP3
000003f1: MSTORE
000003f2: DUP4
000003f3: DUP2
000003f4: DUP2
000003f5: MLOAD
000003f6: DUP2
000003f7: MSTORE
000003f8: PUSH1 0x20
000003fa: ADD
000003fb: SWAP2
000003fc: POP
000003fd: DUP1
000003fe: MLOAD
000003ff: SWAP1
00000400: PUSH1 0x20
00000402: ADD
00000403: SWAP1
00000404: DUP1
00000405: DUP4
00000406: DUP4
00000407: DUP3
00000408: SWAP1
00000409: PUSH1 0x00
0000040b: PUSH1 0x04
0000040d: PUSH1 0x20
0000040f: DUP5
00000410: PUSH1 0x1f
00000412: ADD
00000413: DIV
00000414: PUSH1 0x0f
00000416: MUL
00000417: PUSH1 0x03
00000419: ADD
0000041a: CALL
0000041b: POP
0000041c: SWAP1
0000041d: POP
0000041e: SWAP1
0000041f: DUP2
00000420: ADD
00000421: SWAP1
00000422: PUSH1 0x1f
00000424: AND
00000425: DUP1
00000426: ISZERO
00000427: PUSH2 0x0444
0000042a: JUMPI
0000042b: DUP1
0000042c: DUP3
0000042d: SUB
0000042e: DUP1
0000042f: MLOAD
00000430: PUSH1 0x01
00000432: DUP4
00000433: PUSH1 0x20
00000435: SUB
00000436: PUSH2 0x0100
00000439: EXP
0000043a: SUB
0000043b: NOT
0000043c: AND
0000043d: DUP2
0000043e: MSTORE
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP2
00000443: POP
00000444: JUMPDEST
00000445: POP
00000446: SWAP3
00000447: POP
00000448: POP
00000449: POP
0000044a: PUSH1 0x40
0000044c: MLOAD
0000044d: DUP1
0000044e: SWAP2
0000044f: SUB
00000450: SWAP1
00000451: RETURN
00000452: JUMPDEST
00000453: PUSH1 0x40
00000455: DUP1
00000456: MLOAD
00000457: SWAP2
00000458: DUP3
00000459: MSTORE
0000045a: MLOAD
0000045b: SWAP1
0000045c: DUP2
0000045d: SWAP1
0000045e: SUB
0000045f: PUSH1 0x20
00000461: ADD
00000462: SWAP1
00000463: RETURN
00000464: JUMPDEST
00000465: PUSH1 0x60
00000467: SWAP1
00000468: DUP2
00000469: MSTORE
0000046a: PUSH1 0x20
0000046c: SWAP1
0000046d: RETURN
0000046e: JUMPDEST
0000046f: PUSH1 0x01
00000471: PUSH1 0xa0
00000473: PUSH1 0x02
00000475: EXP
00000476: SUB
00000477: DUP4
00000478: AND
00000479: DUP2
0000047a: MSTORE
0000047b: PUSH1 0x40
0000047d: DUP2
0000047e: KECCAK256
0000047f: SLOAD
00000480: DUP1
00000481: DUP4
00000482: ADD
00000483: LT
00000484: ISZERO
00000485: PUSH2 0x048d
00000488: JUMPI
00000489: PUSH2 0x0002
0000048c: JUMP
0000048d: JUMPDEST
0000048e: PUSH1 0x01
00000490: PUSH1 0xa0
00000492: PUSH1 0x02
00000494: EXP
00000495: SUB
00000496: DUP1
00000497: DUP6
00000498: AND
00000499: DUP1
0000049a: DUP4
0000049b: MSTORE
0000049c: PUSH1 0x06
0000049e: PUSH1 0x20
000004a0: SWAP1
000004a1: DUP2
000004a2: MSTORE
000004a3: PUSH1 0x40
000004a5: DUP1
000004a6: DUP6
000004a7: KECCAK256
000004a8: CALLER
000004a9: SWAP5
000004aa: SWAP1
000004ab: SWAP5
000004ac: AND
000004ad: DUP1
000004ae: DUP7
000004af: MSTORE
000004b0: SWAP4
000004b1: DUP3
000004b2: MSTORE
000004b3: DUP1
000004b4: DUP6
000004b5: KECCAK256
000004b6: SLOAD
000004b7: SWAP3
000004b8: DUP6
000004b9: MSTORE
000004ba: PUSH1 0x07
000004bc: DUP3
000004bd: MSTORE
000004be: DUP1
000004bf: DUP6
000004c0: KECCAK256
000004c1: SWAP4
000004c2: DUP6
000004c3: MSTORE
000004c4: SWAP3
000004c5: SWAP1
000004c6: MSTORE
000004c7: SWAP1
000004c8: DUP3
000004c9: KECCAK256
000004ca: SLOAD
000004cb: DUP4
000004cc: ADD
000004cd: GT
000004ce: ISZERO
000004cf: PUSH2 0x04d7
000004d2: JUMPI
000004d3: PUSH2 0x0002
000004d6: JUMP
000004d7: JUMPDEST
000004d8: DUP2
000004d9: PUSH1 0x05
000004db: PUSH1 0x00
000004dd: POP
000004de: PUSH1 0x00
000004e0: DUP7
000004e1: PUSH1 0x01
000004e3: PUSH1 0xa0
000004e5: PUSH1 0x02
000004e7: EXP
000004e8: SUB
000004e9: AND
000004ea: DUP2
000004eb: MSTORE
000004ec: PUSH1 0x20
000004ee: ADD
000004ef: SWAP1
000004f0: DUP2
000004f1: MSTORE
000004f2: PUSH1 0x20
000004f4: ADD
000004f5: PUSH1 0x00
000004f7: KECCAK256
000004f8: PUSH1 0x00
000004fa: DUP3
000004fb: DUP3
000004fc: DUP3
000004fd: POP
000004fe: SLOAD
000004ff: SUB
00000500: SWAP3
00000501: POP
00000502: POP
00000503: DUP2
00000504: SWAP1
00000505: SSTORE
00000506: POP
00000507: DUP2
00000508: PUSH1 0x05
0000050a: PUSH1 0x00
0000050c: POP
0000050d: PUSH1 0x00
0000050f: DUP6
00000510: PUSH1 0x01
00000512: PUSH1 0xa0
00000514: PUSH1 0x02
00000516: EXP
00000517: SUB
00000518: AND
00000519: DUP2
0000051a: MSTORE
0000051b: PUSH1 0x20
0000051d: ADD
0000051e: SWAP1
0000051f: DUP2
00000520: MSTORE
00000521: PUSH1 0x20
00000523: ADD
00000524: PUSH1 0x00
00000526: KECCAK256
00000527: PUSH1 0x00
00000529: DUP3
0000052a: DUP3
0000052b: DUP3
0000052c: POP
0000052d: SLOAD
0000052e: ADD
0000052f: SWAP3
00000530: POP
00000531: POP
00000532: DUP2
00000533: SWAP1
00000534: SSTORE
00000535: POP
00000536: DUP2
00000537: PUSH1 0x07
00000539: PUSH1 0x00
0000053b: POP
0000053c: PUSH1 0x00
0000053e: DUP7
0000053f: PUSH1 0x01
00000541: PUSH1 0xa0
00000543: PUSH1 0x02
00000545: EXP
00000546: SUB
00000547: AND
00000548: DUP2
00000549: MSTORE
0000054a: PUSH1 0x20
0000054c: ADD
0000054d: SWAP1
0000054e: DUP2
0000054f: MSTORE
00000550: PUSH1 0x20
00000552: ADD
00000553: PUSH1 0x00
00000555: KECCAK256
00000556: PUSH1 0x00
00000558: POP
00000559: PUSH1 0x00
0000055b: CALLER
0000055c: PUSH1 0x01
0000055e: PUSH1 0xa0
00000560: PUSH1 0x02
00000562: EXP
00000563: SUB
00000564: AND
00000565: DUP2
00000566: MSTORE
00000567: PUSH1 0x20
00000569: ADD
0000056a: SWAP1
0000056b: DUP2
0000056c: MSTORE
0000056d: PUSH1 0x20
0000056f: ADD
00000570: PUSH1 0x00
00000572: KECCAK256
00000573: PUSH1 0x00
00000575: DUP3
00000576: DUP3
00000577: DUP3
00000578: POP
00000579: SLOAD
0000057a: ADD
0000057b: SWAP3
0000057c: POP
0000057d: POP
0000057e: DUP2
0000057f: SWAP1
00000580: SSTORE
00000581: POP
00000582: DUP3
00000583: PUSH1 0x01
00000585: PUSH1 0xa0
00000587: PUSH1 0x02
00000589: EXP
0000058a: SUB
0000058b: AND
0000058c: DUP5
0000058d: PUSH1 0x01
0000058f: PUSH1 0xa0
00000591: PUSH1 0x02
00000593: EXP
00000594: SUB
00000595: AND
00000596: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000005b7: DUP5
000005b8: PUSH1 0x40
000005ba: MLOAD
000005bb: DUP1
000005bc: DUP3
000005bd: DUP2
000005be: MSTORE
000005bf: PUSH1 0x20
000005c1: ADD
000005c2: SWAP2
000005c3: POP
000005c4: POP
000005c5: PUSH1 0x40
000005c7: MLOAD
000005c8: DUP1
000005c9: SWAP2
000005ca: SUB
000005cb: SWAP1
000005cc: LOG3
000005cd: POP
000005ce: PUSH1 0x01
000005d0: SWAP4
000005d1: SWAP3
000005d2: POP
000005d3: POP
000005d4: POP
000005d5: JUMP
000005d6: JUMPDEST
000005d7: DUP3
000005d8: ADD
000005d9: SWAP2
000005da: SWAP1
000005db: PUSH1 0x00
000005dd: MSTORE
000005de: PUSH1 0x20
000005e0: PUSH1 0x00
000005e2: KECCAK256
000005e3: SWAP1
000005e4: JUMPDEST
000005e5: DUP2
000005e6: SLOAD
000005e7: DUP2
000005e8: MSTORE
000005e9: SWAP1
000005ea: PUSH1 0x01
000005ec: ADD
000005ed: SWAP1
000005ee: PUSH1 0x20
000005f0: ADD
000005f1: DUP1
000005f2: DUP4
000005f3: GT
000005f4: PUSH2 0x05e4
000005f7: JUMPI
000005f8: DUP3
000005f9: SWAP1
000005fa: SUB
000005fb: PUSH1 0x1f
000005fd: AND
000005fe: DUP3
000005ff: ADD
00000600: SWAP2
00000601: JUMPDEST
00000602: POP
00000603: POP
00000604: POP
00000605: POP
00000606: POP
00000607: DUP2
00000608: JUMP
00000609: JUMPDEST
0000060a: PUSH1 0x01
0000060c: PUSH1 0xa0
0000060e: PUSH1 0x02
00000610: EXP
00000611: SUB
00000612: DUP3
00000613: AND
00000614: PUSH1 0x00
00000616: SWAP1
00000617: DUP2
00000618: MSTORE
00000619: PUSH1 0x40
0000061b: SWAP1
0000061c: KECCAK256
0000061d: SLOAD
0000061e: DUP1
0000061f: DUP3
00000620: ADD
00000621: LT
00000622: ISZERO
00000623: PUSH2 0x062b
00000626: JUMPI
00000627: PUSH2 0x0002
0000062a: JUMP
0000062b: JUMPDEST
0000062c: DUP1
0000062d: PUSH1 0x05
0000062f: PUSH1 0x00
00000631: POP
00000632: PUSH1 0x00
00000634: CALLER
00000635: PUSH1 0x01
00000637: PUSH1 0xa0
00000639: PUSH1 0x02
0000063b: EXP
0000063c: SUB
0000063d: AND
0000063e: DUP2
0000063f: MSTORE
00000640: PUSH1 0x20
00000642: ADD
00000643: SWAP1
00000644: DUP2
00000645: MSTORE
00000646: PUSH1 0x20
00000648: ADD
00000649: PUSH1 0x00
0000064b: KECCAK256
0000064c: PUSH1 0x00
0000064e: DUP3
0000064f: DUP3
00000650: DUP3
00000651: POP
00000652: SLOAD
00000653: SUB
00000654: SWAP3
00000655: POP
00000656: POP
00000657: DUP2
00000658: SWAP1
00000659: SSTORE
0000065a: POP
0000065b: DUP1
0000065c: PUSH1 0x05
0000065e: PUSH1 0x00
00000660: POP
00000661: PUSH1 0x00
00000663: DUP5
00000664: PUSH1 0x01
00000666: PUSH1 0xa0
00000668: PUSH1 0x02
0000066a: EXP
0000066b: SUB
0000066c: AND
0000066d: DUP2
0000066e: MSTORE
0000066f: PUSH1 0x20
00000671: ADD
00000672: SWAP1
00000673: DUP2
00000674: MSTORE
00000675: PUSH1 0x20
00000677: ADD
00000678: PUSH1 0x00
0000067a: KECCAK256
0000067b: PUSH1 0x00
0000067d: DUP3
0000067e: DUP3
0000067f: DUP3
00000680: POP
00000681: SLOAD
00000682: ADD
00000683: SWAP3
00000684: POP
00000685: POP
00000686: DUP2
00000687: SWAP1
00000688: SSTORE
00000689: POP
0000068a: DUP2
0000068b: PUSH1 0x01
0000068d: PUSH1 0xa0
0000068f: PUSH1 0x02
00000691: EXP
00000692: SUB
00000693: AND
00000694: CALLER
00000695: PUSH1 0x01
00000697: PUSH1 0xa0
00000699: PUSH1 0x02
0000069b: EXP
0000069c: SUB
0000069d: AND
0000069e: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000006bf: DUP4
000006c0: PUSH1 0x40
000006c2: MLOAD
000006c3: DUP1
000006c4: DUP3
000006c5: DUP2
000006c6: MSTORE
000006c7: PUSH1 0x20
000006c9: ADD
000006ca: SWAP2
000006cb: POP
000006cc: POP
000006cd: PUSH1 0x40
000006cf: MLOAD
000006d0: DUP1
000006d1: SWAP2
000006d2: SUB
000006d3: SWAP1
000006d4: LOG3
000006d5: POP
000006d6: POP
000006d7: JUMP
View stderr
Warning: This is a nightly build of Foundry. It is recommended to use the latest stable version. To mute this warning set `FOUNDRY_DISABLE_NIGHTLY_WARNING` in your environment.

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector ETH value transfer possible 55 yes yes
view
trace_id: 0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50
call_targets: 0x0000000000000000000000000000000000000004, 0x13ec114ffdb980cdf470c45dcf45e544d15c4da6
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 833,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 901,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1050,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 yes yes
view
trace_id: 0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50
call_targets: 0x0000000000000000000000000000000000000004, 0x13ec114ffdb980cdf470c45dcf45e544d15c4da6
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 1,
    "trace_id": "0x77f0cab4ff0a7a4a710f82cfe5e1f3e3a98544aa13c2bde1d91748de0f474a50",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0000000000000000000000000000000000000004",
        "0x13ec114ffdb980cdf470c45dcf45e544d15c4da6"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54fd4d50",
            "selector": "0x54fd4d50",
            "calldata_variants": [
                "0x54fd4d50",
                "0x54fd4d500000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70a08231",
            "selector": "0x70a08231",
            "calldata_variants": [
                "0x70a08231",
                "0x70a082310000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 833,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 901,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1050,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
medium other codex Allowance accounting appears cumulative and is not reset on re-approval 75 no
view
evidence_json
{
    "evidence": "At `pc:0x2c4` the approval-like function writes a nested mapping after building a slot with constant `0x06`. In `selector:0x23b872dd`, the block at `pc:0x48d` builds a slot with constant `0x06`, then another with constant `0x07`, and enforces a bound via `SLOAD(slot7) + amount <= SLOAD(slot6)` before proceeding. Later, at `pc:0x536` through `pc:0x580`, the code writes `SSTORE(slot7, SLOAD(slot7) + amount)`, showing cumulative spend tracking. The getter at `selector:0xdd62ed3e` (`pc:0x3bd` onward) reads the mapping keyed with constant `0x06`, not an obvious remaining-allowance calculation. This is a bytecode inference, but the slot usage pattern is consistent.",
    "locations": [
        "selector:0xcae9ca51",
        "selector:0x23b872dd",
        "selector:0xdd62ed3e",
        "pc:0x2c4",
        "pc:0x48d",
        "pc:0x536",
        "pc:0x580",
        "pc:0x3bd"
    ],
    "recommendation": "Use standard remaining-allowance semantics. Either decrement the allowance mapping directly during `transferFrom`, or if keeping separate approved/spent mappings, reset the spent counter whenever a new approval is written and have the public allowance getter return `approved - spent`. Add tests for partial spend, full spend, and re-approval to the same spender.",
    "exploit_scenario": "Best-effort selector inference indicates `selector:0xcae9ca51` is the only approval-like writer for the nested mapping at slot 0x06. It stores a fresh approved amount, but `selector:0x23b872dd` checks transfers against `spent + amount <= approved` using a second nested mapping at slot 0x07 and then increments that spent counter instead of decreasing the approved amount. If a spender has already used part or all of an approval, a later re-approval to the same nominal amount does not restore the expected remaining allowance. Example: approve 100, spend 100, approve 100 again; future `transferFrom` calls fail because historical spent remains 100. Integrations that read `selector:0xdd62ed3e` may also observe the raw approved amount rather than true remaining spendable capacity."
}
low reentrancy codex Custom approval path performs an unguarded external callback to a user-supplied contract 65 no
view
evidence_json
{
    "evidence": "The bundle\u2019s detector validated an untrusted `CALL` at `pc:0x385` with a computed target. Bytecode-level symbolic tracing of the block starting at `selector:0xcae9ca51` shows the target is the masked address loaded from `calldata[0x04]`, while `pc:0x2c4` has already updated approval-related storage. The earlier `CALL` at `pc:0x341` targets precompile `0x04` for memory copying, so the externally relevant callback is the later call at `pc:0x385`. No guard was detected in the analysis artifact. Returndata/interface checking is unclear from the bundle, so impact is conservatively rated low.",
    "locations": [
        "selector:0xcae9ca51",
        "pc:0x2c4",
        "pc:0x385"
    ],
    "recommendation": "If this callback is intended, document it clearly as approve-and-call behavior and treat the callee as untrusted. Consider a reentrancy guard around stateful paths that should not be reentered, and validate callback success/expected interface more explicitly. If synchronous callbacks are not required, remove the external call and expose a plain approval flow instead.",
    "exploit_scenario": "The custom entrypoint at `selector:0xcae9ca51` writes approval-related state and then performs a `CALL` to the address supplied in calldata, with calldata shaped like `0x8f4ffcb1(...)` (consistent with an approve-and-call/receiveApproval pattern). A malicious callee can reenter public token functions before the original call returns. Because the target is user-chosen, this may be intentional behavior rather than a bug, but any integrator assuming a simple approval without synchronous execution can be surprised."
}