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

Analysis Run

019be3d6-82d3-72f2-8366-aba489c5ca7b

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
40729 artifact.fetch complete 1 / 3 2 months ago
40730 proxy.resolve complete 1 / 3 2 months ago
40731 tool.cast_disasm complete 1 / 3 2 months ago
40732 analysis.bundle complete 1 / 3 2 months ago
40733 capability.graph complete 1 / 3 2 months ago
40734 detector.run complete 1 / 3 2 months ago
40735 validation.fork complete 1 / 3 2 months ago
41292 report.consolidate complete 1 / 6 2 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: no
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.
View stdout
{"no_findings":false,"summary":"Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.","findings":[{"severity":"medium","category":"access_control","title":"Computed external CALLs with potential value transfer and no detected access control","exploit_scenario":"If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths.","recommendation":"Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.","evidence":"Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).","locations":["pc:0x1ab","pc:0x25a","pc:0x62f","pc:0x7a6","pc:0x971","pc:0xa57","pc:0xaae"]},{"severity":"low","category":"other","title":"CALLCODE opcode present (reachability uncertain)","exploit_scenario":"If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller’s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable.","recommendation":"Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.","evidence":"Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.","locations":["pc:0x14ca"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-4siurl7r
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be424-2c7f-7042-bef7-b7ce273aba57
--------
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.
mcp startup: no servers

thinking
**Planning to read bytecode bundle**

I'm preparing to read the BYTECODE_BUNDLE.json file by using shell commands like cat or ripgrep for reading, noting that the sandbox is read-only.
exec
/bin/bash -lc ls in /tmp/codex-4siurl7r succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 7ms:
{
  "analysis_artifact": {
    "address": "0x6f4dca180149a0b3b4df532054a7f0fecbb96170",
    "artifact_hash": "0x95c1f2737ecfc7553afb1699c807a97cbfcc2f5280e172f5b831b845e48c4bb8",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0x094776e5365522299caff3a5824d90a1a3558c3cd8bfd6018c1db87447d4706f",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Planning targeted searches for storage**

I'm preparing to use rg to locate relevant storage-related code sections like detectors, selectors, and slots to focus parsing efforts on those key areas.
exec
/bin/bash -lc 'rg -n "storage|slot" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 7ms:
8361:          "storage": {
8363:            "slots": [
8367:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8372:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8377:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8382:                "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8400:          "storage": {
8402:            "slots": [
8406:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8411:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8416:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8421:                "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8439:          "storage": {
8441:            "slots": [
8445:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8450:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
8455:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
8460:                "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
8478:          "storage": {
8480:            "slots": [

thinking
**Identifying evidence structure**

I'm focusing on the storage section around line 8300 to clarify how "evidence_bundle" and related data are structured for better understanding.
exec
/bin/bash -lc "sed -n '8320,8425p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 8ms:
          "entry_pc": 1925612431,
          "selector": "0x5ec181fb"
        },
        {
          "entry_pc": null,
          "selector": "0x72c6838f"
        },
        {
          "entry_pc": 44597990,
          "selector": "0x01ffc9a7"
        },
        {
          "entry_pc": 421133891,
          "selector": "0x02a882e6"
        },
        {
          "entry_pc": 613063843,
          "selector": "0x1919fe43"
        },
        {

thinking
**Identifying risky call usage**

I'm focusing on detecting dangerous calls like callcode and delegatecall by searching for those terms to find evidence and relevant issues around untrusted calls and ETH value handling.
exec
/bin/bash -lc 'rg -n "CALLCODE|DELEGATECALL" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 6ms:
6207:            "CALLCODE",
6315:          "opcode": "CALLCODE",
14145:          "opcode": "CALLCODE",
exec
/bin/bash -lc "sed -n '6170,6245p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 6ms:
            "OP_81",
            "PUSH2",
            "JUMP"
          ],
          "start_pc": 5291
        },
        {
          "end_pc": 5298,
          "hash": "0x97c86bf609725de3d8fed95983da43cc8577bf758c6bbe0d1003dfae7fe03c40",
          "opcodes": [
            "INVALID"
          ],
          "start_pc": 5298
        },
        {
          "end_pc": 5312,
          "hash": "0x34d12160e10f3cf85f65205581391c2d9db98bf2912e5362f619cf4485ce21e3",
          "opcodes": [
            "OP_DB",
            "OP_EB",


thinking
**Flagging uncertain CALLCODE presence**

Noted potential CALLCODE near code end likely in data or metadata region, making its execution uncertain; will treat as low-severity with caution given lack of strong evidence and focus on delegatecall instead.
thinking
**Clarifying untrusted call ambiguity**

Initial signs of unguarded calls with computed targets suggest potential risk, but further validation shows calls target the contract itself, indicating likely safe internal calls; avoiding flagging untrusted call vulnerability without stronger evidence.
exec
/bin/bash -lc 'rg -n "callsites|callsite" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 8ms:
6257:      "callsites": [
14099:          "type": "callsite"
14105:          "type": "callsite"
14111:          "type": "callsite"
14117:          "type": "callsite"
14123:          "type": "callsite"
14129:          "type": "callsite"
14135:          "type": "callsite"
14141:          "type": "callsite"
14147:          "type": "callsite"
exec
/bin/bash -lc "sed -n '6240,6325p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 9ms:
          "hash": "0xf5d7f06969970f440cb00268c4f8509e5a0bafb579dde929cbe098f7a1770aee",
          "opcodes": [
            "ADDMOD",
            "BYTE",
            "STOP"
          ],
          "start_pc": 5380
        },
        {
          "end_pc": 5383,
          "hash": "0x68a76c33e481a80de967dcfdc2c9c9cf1e80320ad16029944c822ee06cd8a14e",
          "opcodes": [
            "CALLER"
          ],
          "start_pc": 5383
        }
      ],
      "callsites": [
        {
          "opcode": "CALL",

thinking
**Investigating function sink calls**

I'm checking which functions contain call instructions by reviewing the sinks list and planning to map callsite addresses to selectors within function bodies.
exec
/bin/bash -lc 'rg -n "sinks" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 9ms:
8355:          "sinks": {
8394:          "sinks": {
8433:          "sinks": {
8472:          "sinks": {
8511:          "sinks": {
8550:          "sinks": {
8589:          "sinks": {
8628:          "sinks": {
8667:          "sinks": {
8706:          "sinks": {
8745:          "sinks": {
8784:          "sinks": {
8823:          "sinks": {
8862:          "sinks": {
8901:          "sinks": {
8940:          "sinks": {
8979:          "sinks": {
9018:          "sinks": {
9057:          "sinks": {
9096:          "sinks": {
exec
/bin/bash -lc "sed -n '8340,8420p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 17ms:
          "entry_pc": null,
          "selector": "0x248a9ca3"
        },
        {
          "entry_pc": 1667,
          "selector": "0x7965db0b"
        }
      ],
      "functions": [
        {
          "auth": {
            "guards": []
          },
          "entry_pc": 3060021157,
          "selector": "0xb66437a5",
          "sinks": {
            "call": 8,
            "delegatecall": 0,
            "selfdestruct": 0,
            "staticcall": 1

thinking
**Planning to identify functions without sinks**

I'm preparing to check another code segment to find functions that might not have any sinks, aiming to understand their behavior better.
exec
/bin/bash -lc "sed -n '8420,8525p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 6ms:
                "pc": 5308,
                "slot": "0x00000000000000000000000000000000000000000000000000007137b1822b3d"
              }
            ],
            "writes": 7
          }
        },
        {
          "auth": {
            "guards": []
          },
          "entry_pc": 3921380546,
          "selector": "0xd547741f",
          "sinks": {
            "call": 8,
            "delegatecall": 0,
            "selfdestruct": 0,
            "staticcall": 1
          },
          "storage": {


thinking
**Identifying proxy and selector insights**

The contract likely isn’t an upgradeable proxy based on storage heuristics, but presence of WETH-related selectors suggests it interacts with WETH or acts like a vault handling WETH deposits and withdrawals.
thinking
**Analyzing reentrancy guard indications**

The contract shows SSTORE to storage slot 1 near CALLs with jump checks, likely implementing a reentrancy guard. Function entry points seem unreliable, but evidence hints at guard patterns typical for preventing reentrancy vulnerabilities.
exec
/bin/bash -lc 'rg -n "SSTORE" BYTECODE_BUNDLE.json' in /tmp/codex-4siurl7r succeeded in 30ms:
573:            "SSTORE",
690:            "SSTORE",
2679:            "SSTORE",
2942:            "SSTORE",
3267:            "SSTORE",
3385:            "SSTORE",
3538:            "SSTORE",
8365:                "op": "SSTORE",
8404:                "op": "SSTORE",
8443:                "op": "SSTORE",
8482:                "op": "SSTORE",
8521:                "op": "SSTORE",
8560:                "op": "SSTORE",
8599:                "op": "SSTORE",
8638:                "op": "SSTORE",
8677:                "op": "SSTORE",
8716:                "op": "SSTORE",
8755:                "op": "SSTORE",
8794:                "op": "SSTORE",
8833:                "op": "SSTORE",

thinking
**Planning context extraction around SSTORE**
exec
/bin/bash -lc "sed -n '520,740p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 8ms:
            "POP",
            "OP_95",
            "POP",
            "OP_95",
            "POP",
            "OP_95",
            "POP",
            "PUSH0",
            "PUSH2",
            "OP_87",
            "PUSH2",
            "JUMP"
          ],
          "start_pc": 480
        },
        {
          "end_pc": 517,
          "hash": "0x870a58593b7af1108a4e3827fe86c2d63affdb94b9c937ca5f7ba10580833f09",
          "opcodes": [
            "JUMPDEST",


thinking
**Identifying potential but ambiguous reentrancy guard**

There’s a write before and after the external call that resembles a reentrancy lock pattern, but it’s not formally detected as such, leaving reentrancy risk uncertain; this signals a need to flag external calls surrounded by state changes even if guards aren’t recognized.
thinking
**Analyzing ambiguous contract role and external calls**

The contract shows selectors for deposit and withdraw resembling WETH patterns but also includes multiple external calls with computed targets and no detected access control, suggesting possible arbitrary calls without confirmed authorization; reentrancy guard presence is ambiguous due to unrecognized but suggestive state writes before and after calls.
exec
/bin/bash -lc "sed -n '1500,1625p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 7ms:
          "end_pc": 1257,
          "hash": "0x3766c60894f912461f9782ded693944d206890f1719429101868a63a13724bf2",
          "opcodes": [
            "JUMPDEST",
            "POP",
            "PUSH2",
            "PUSH32",
            "OP_81",
            "JUMP"
          ],
          "start_pc": 1218
        },
        {
          "end_pc": 1265,
          "hash": "0x8fcb6ac26c3993e57f43f27c6ae076c137e5b3866b339db2388b69858a1755f7",
          "opcodes": [
            "JUMPDEST",
            "PUSH2",
            "PUSH2",
            "JUMP"

thinking
**Searching for upgrade-related clues**
exec
/bin/bash -lc "sed -n '9140,9185p' BYTECODE_BUNDLE.json" in /tmp/codex-4siurl7r succeeded in 13ms:
        "0xb59b1176",
        "0x2e1a7d4d",
        "0x2f2ff15d",
        "0x36568abe",
        "0x5ec181fb",
        "0x72c6838f",
        "0x01ffc9a7",
        "0x02a882e6",
        "0x1919fe43",
        "0x248a9ca3",
        "0x7965db0b"
      ],
      "sinks": {
        "call": 8,
        "create": 1,
        "create2": 0,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 1,
        "upgrade_slot_write_suspected": false


thinking
**Summarizing security findings with uncertainties**

I've identified a medium-risk unguarded external CALL with computed target/value suggesting potential arbitrary calls and ETH transfer, though with uncertainty about reachability and constant targets. Also noted a low-risk possible CALLCODE presence likely unreachable, flagged for upgradeability concerns.
thinking
**Refining findings with detailed evidence and categories**

I'm defining two findings: a medium-severity access control issue from computed external CALLs with no guards detected, including detailed evidence and uncertainty; and a low-severity "other" category finding for CALLCODE opcode presence with uncertain reachability, recommending removal or strict controls. I'll produce JSON matching the schema accordingly.
codex
{"no_findings":false,"summary":"Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.","findings":[{"severity":"medium","category":"access_control","title":"Computed external CALLs with potential value transfer and no detected access control","exploit_scenario":"If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths.","recommendation":"Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.","evidence":"Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).","locations":["pc:0x1ab","pc:0x25a","pc:0x62f","pc:0x7a6","pc:0x971","pc:0xa57","pc:0xaae"]},{"severity":"low","category":"other","title":"CALLCODE opcode present (reachability uncertain)","exploit_scenario":"If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller’s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable.","recommendation":"Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.","evidence":"Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.","locations":["pc:0x14ca"]}]}
tokens used
38,943
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T05:21:50.413227+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 10770,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.",
    "raw_final": {
        "summary": "Bytecode shows multiple computed CALLs (some with value) and no detected access-control guards; a CALLCODE opcode also appears in the runtime bytecode but may be in an unreachable data/metadata region.",
        "findings": [
            {
                "title": "Computed external CALLs with potential value transfer and no detected access control",
                "category": "access_control",
                "evidence": "Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).",
                "severity": "medium",
                "locations": [
                    "pc:0x1ab",
                    "pc:0x25a",
                    "pc:0x62f",
                    "pc:0x7a6",
                    "pc:0x971",
                    "pc:0xa57",
                    "pc:0xaae"
                ],
                "recommendation": "Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.",
                "exploit_scenario": "If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths."
            },
            {
                "title": "CALLCODE opcode present (reachability uncertain)",
                "category": "other",
                "evidence": "Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.",
                "severity": "low",
                "locations": [
                    "pc:0x14ca"
                ],
                "recommendation": "Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.",
                "exploit_scenario": "If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller\u2019s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
6
Total opcodes
3509
Flags
create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0117
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x75b238fc
00000018: GT
00000019: PUSH2 0x009f
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xb66437a5
00000023: GT
00000024: PUSH2 0x0063
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xb66437a5
0000002e: EQ
0000002f: PUSH2 0x04b7
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xd0e30db0
00000039: EQ
0000003a: PUSH2 0x04ea
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xd547741f
00000044: EQ
00000045: PUSH2 0x04f2
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xe9bb84c2
0000004f: EQ
00000050: PUSH2 0x0511
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xffa1ad74
0000005a: EQ
0000005b: PUSH2 0x0530
0000005e: JUMPI
0000005f: PUSH2 0x011e
00000062: JUMP
00000063: JUMPDEST
00000064: DUP1
00000065: PUSH4 0x75b238fc
0000006a: EQ
0000006b: PUSH2 0x0447
0000006e: JUMPI
0000006f: DUP1
00000070: PUSH4 0x91d14854
00000075: EQ
00000076: PUSH2 0x045a
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0xa217fddf
00000080: EQ
00000081: PUSH2 0x0447
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0xa9212b5b
0000008b: EQ
0000008c: PUSH2 0x0479
0000008f: JUMPI
00000090: DUP1
00000091: PUSH4 0xb59b1176
00000096: EQ
00000097: PUSH2 0x0498
0000009a: JUMPI
0000009b: PUSH2 0x011e
0000009e: JUMP
0000009f: JUMPDEST
000000a0: DUP1
000000a1: PUSH4 0x2e1a7d4d
000000a6: GT
000000a7: PUSH2 0x00e6
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x2e1a7d4d
000000b1: EQ
000000b2: PUSH2 0x038a
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x2f2ff15d
000000bc: EQ
000000bd: PUSH2 0x03a9
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0x36568abe
000000c7: EQ
000000c8: PUSH2 0x03c8
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x5ec181fb
000000d2: EQ
000000d3: PUSH2 0x03e7
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0x72c6838f
000000dd: EQ
000000de: PUSH2 0x0406
000000e1: JUMPI
000000e2: PUSH2 0x011e
000000e5: JUMP
000000e6: JUMPDEST
000000e7: DUP1
000000e8: PUSH4 0x01ffc9a7
000000ed: EQ
000000ee: PUSH2 0x02db
000000f1: JUMPI
000000f2: DUP1
000000f3: PUSH4 0x02a882e6
000000f8: EQ
000000f9: PUSH2 0x0310
000000fc: JUMPI
000000fd: DUP1
000000fe: PUSH4 0x1919fe43
00000103: EQ
00000104: PUSH2 0x033d
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x248a9ca3
0000010e: EQ
0000010f: PUSH2 0x035c
00000112: JUMPI
00000113: PUSH2 0x011e
00000116: JUMP
00000117: JUMPDEST
00000118: CALLDATASIZE
00000119: PUSH2 0x011e
0000011c: JUMPI
0000011d: STOP
0000011e: JUMPDEST
0000011f: PUSH2 0x0148
00000122: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442
00000143: CALLER
00000144: PUSH2 0x0544
00000147: JUMP
00000148: JUMPDEST
00000149: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000016a: CALLVALUE
0000016b: ISZERO
0000016c: PUSH2 0x01c0
0000016f: JUMPI
00000170: DUP1
00000171: PUSH1 0x01
00000173: PUSH1 0x01
00000175: PUSH1 0xa0
00000177: SHL
00000178: SUB
00000179: AND
0000017a: PUSH4 0xd0e30db0
0000017f: CALLVALUE
00000180: PUSH1 0x40
00000182: MLOAD
00000183: DUP3
00000184: PUSH4 0xffffffff
00000189: AND
0000018a: PUSH1 0xe0
0000018c: SHL
0000018d: DUP2
0000018e: MSTORE
0000018f: PUSH1 0x04
00000191: ADD
00000192: PUSH0
00000193: PUSH1 0x40
00000195: MLOAD
00000196: DUP1
00000197: DUP4
00000198: SUB
00000199: DUP2
0000019a: DUP6
0000019b: DUP9
0000019c: DUP1
0000019d: EXTCODESIZE
0000019e: ISZERO
0000019f: DUP1
000001a0: ISZERO
000001a1: PUSH2 0x01a8
000001a4: JUMPI
000001a5: PUSH0
000001a6: DUP1
000001a7: REVERT
000001a8: JUMPDEST
000001a9: POP
000001aa: GAS
000001ab: CALL
000001ac: ISZERO
000001ad: DUP1
000001ae: ISZERO
000001af: PUSH2 0x01ba
000001b2: JUMPI
000001b3: RETURNDATASIZE
000001b4: PUSH0
000001b5: DUP1
000001b6: RETURNDATACOPY
000001b7: RETURNDATASIZE
000001b8: PUSH0
000001b9: REVERT
000001ba: JUMPDEST
000001bb: POP
000001bc: POP
000001bd: POP
000001be: POP
000001bf: POP
000001c0: JUMPDEST
000001c1: PUSH0
000001c2: DUP1
000001c3: DUP1
000001c4: DUP1
000001c5: DUP1
000001c6: DUP1
000001c7: PUSH2 0x01d3
000001ca: CALLDATASIZE
000001cb: PUSH1 0x04
000001cd: DUP2
000001ce: DUP5
000001cf: PUSH2 0x0c9b
000001d2: JUMP
000001d3: JUMPDEST
000001d4: DUP2
000001d5: ADD
000001d6: SWAP1
000001d7: PUSH2 0x01e0
000001da: SWAP2
000001db: SWAP1
000001dc: PUSH2 0x0fd9
000001df: JUMP
000001e0: JUMPDEST
000001e1: SWAP6
000001e2: POP
000001e3: SWAP6
000001e4: POP
000001e5: SWAP6
000001e6: POP
000001e7: SWAP6
000001e8: POP
000001e9: SWAP6
000001ea: POP
000001eb: SWAP6
000001ec: POP
000001ed: PUSH0
000001ee: PUSH2 0x01f6
000001f1: DUP8
000001f2: PUSH2 0x0573
000001f5: JUMP
000001f6: JUMPDEST
000001f7: DUP6
000001f8: MLOAD
000001f9: DUP6
000001fa: MLOAD
000001fb: SWAP2
000001fc: SWAP3
000001fd: POP
000001fe: PUSH2 0x0206
00000201: SWAP2
00000202: PUSH2 0x10c3
00000205: JUMP
00000206: JUMPDEST
00000207: PUSH2 0x0216
0000020a: SWAP1
0000020b: PUSH6 0x5af3107a4000
00000212: PUSH2 0x10e2
00000215: JUMP
00000216: JUMPDEST
00000217: PUSH1 0x01
00000219: SSTORE
0000021a: PUSH1 0x40
0000021c: MLOAD
0000021d: PUSH4 0x48a13b53
00000222: PUSH1 0xe0
00000224: SHL
00000225: DUP2
00000226: MSTORE
00000227: PUSH0
00000228: SWAP1
00000229: PUSH1 0x01
0000022b: PUSH1 0x01
0000022d: PUSH1 0xa0
0000022f: SHL
00000230: SUB
00000231: DUP4
00000232: AND
00000233: SWAP1
00000234: PUSH4 0x48a13b53
00000239: SWAP1
0000023a: PUSH2 0x024d
0000023d: SWAP1
0000023e: DUP11
0000023f: SWAP1
00000240: DUP11
00000241: SWAP1
00000242: DUP11
00000243: SWAP1
00000244: DUP10
00000245: SWAP1
00000246: PUSH1 0x04
00000248: ADD
00000249: PUSH2 0x1248
0000024c: JUMP
0000024d: JUMPDEST
0000024e: PUSH1 0x20
00000250: PUSH1 0x40
00000252: MLOAD
00000253: DUP1
00000254: DUP4
00000255: SUB
00000256: DUP2
00000257: PUSH0
00000258: DUP8
00000259: GAS
0000025a: CALL
0000025b: ISZERO
0000025c: DUP1
0000025d: ISZERO
0000025e: PUSH2 0x0269
00000261: JUMPI
00000262: RETURNDATASIZE
00000263: PUSH0
00000264: DUP1
00000265: RETURNDATACOPY
00000266: RETURNDATASIZE
00000267: PUSH0
00000268: REVERT
00000269: JUMPDEST
0000026a: POP
0000026b: POP
0000026c: POP
0000026d: POP
0000026e: PUSH1 0x40
00000270: MLOAD
00000271: RETURNDATASIZE
00000272: PUSH1 0x1f
00000274: NOT
00000275: PUSH1 0x1f
00000277: DUP3
00000278: ADD
00000279: AND
0000027a: DUP3
0000027b: ADD
0000027c: DUP1
0000027d: PUSH1 0x40
0000027f: MSTORE
00000280: POP
00000281: DUP2
00000282: ADD
00000283: SWAP1
00000284: PUSH2 0x028d
00000287: SWAP2
00000288: SWAP1
00000289: PUSH2 0x12a5
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH0
0000028f: PUSH1 0x01
00000291: SSTORE
00000292: DUP5
00000293: MLOAD
00000294: SWAP1
00000295: SWAP2
00000296: POP
00000297: DUP2
00000298: LT
00000299: ISZERO
0000029a: PUSH2 0x02c3
0000029d: JUMPI
0000029e: DUP4
0000029f: MLOAD
000002a0: PUSH1 0x40
000002a2: MLOAD
000002a3: PUSH4 0x52880093
000002a8: PUSH1 0xe1
000002aa: SHL
000002ab: DUP2
000002ac: MSTORE
000002ad: PUSH2 0x02ba
000002b0: SWAP2
000002b1: DUP4
000002b2: SWAP2
000002b3: PUSH1 0x04
000002b5: ADD
000002b6: PUSH2 0x12c3
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH1 0x40
000002bd: MLOAD
000002be: DUP1
000002bf: SWAP2
000002c0: SUB
000002c1: SWAP1
000002c2: REVERT
000002c3: JUMPDEST
000002c4: PUSH2 0x02d9
000002c7: DUP10
000002c8: DUP6
000002c9: PUSH1 0x20
000002cb: ADD
000002cc: MLOAD
000002cd: DUP4
000002ce: DUP10
000002cf: MLOAD
000002d0: DUP9
000002d1: PUSH1 0x40
000002d3: ADD
000002d4: MLOAD
000002d5: PUSH2 0x05af
000002d8: JUMP
000002d9: JUMPDEST
000002da: STOP
000002db: JUMPDEST
000002dc: CALLVALUE
000002dd: DUP1
000002de: ISZERO
000002df: PUSH2 0x02e6
000002e2: JUMPI
000002e3: PUSH0
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: POP
000002e8: PUSH2 0x02fa
000002eb: PUSH2 0x02f5
000002ee: CALLDATASIZE
000002ef: PUSH1 0x04
000002f1: PUSH2 0x1300
000002f4: JUMP
000002f5: JUMPDEST
000002f6: PUSH2 0x0653
000002f9: JUMP
000002fa: JUMPDEST
000002fb: PUSH1 0x40
000002fd: MLOAD
000002fe: PUSH2 0x0307
00000301: SWAP2
00000302: SWAP1
00000303: PUSH2 0x131e
00000306: JUMP
00000307: JUMPDEST
00000308: PUSH1 0x40
0000030a: MLOAD
0000030b: DUP1
0000030c: SWAP2
0000030d: SUB
0000030e: SWAP1
0000030f: RETURN
00000310: JUMPDEST
00000311: CALLVALUE
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x031b
00000317: JUMPI
00000318: PUSH0
00000319: DUP1
0000031a: REVERT
0000031b: JUMPDEST
0000031c: POP
0000031d: PUSH2 0x0330
00000320: PUSH0
00000321: DUP1
00000322: MLOAD
00000323: PUSH1 0x20
00000325: PUSH2 0x14b3
00000328: DUP4
00000329: CODECOPY
0000032a: DUP2
0000032b: MLOAD
0000032c: SWAP2
0000032d: MSTORE
0000032e: DUP2
0000032f: JUMP
00000330: JUMPDEST
00000331: PUSH1 0x40
00000333: MLOAD
00000334: PUSH2 0x0307
00000337: SWAP2
00000338: SWAP1
00000339: PUSH2 0x132c
0000033c: JUMP
0000033d: JUMPDEST
0000033e: CALLVALUE
0000033f: DUP1
00000340: ISZERO
00000341: PUSH2 0x0348
00000344: JUMPI
00000345: PUSH0
00000346: DUP1
00000347: REVERT
00000348: JUMPDEST
00000349: POP
0000034a: PUSH2 0x02d9
0000034d: PUSH2 0x0357
00000350: CALLDATASIZE
00000351: PUSH1 0x04
00000353: PUSH2 0x133a
00000356: JUMP
00000357: JUMPDEST
00000358: PUSH2 0x0689
0000035b: JUMP
0000035c: JUMPDEST
0000035d: CALLVALUE
0000035e: DUP1
0000035f: ISZERO
00000360: PUSH2 0x0367
00000363: JUMPI
00000364: PUSH0
00000365: DUP1
00000366: REVERT
00000367: JUMPDEST
00000368: POP
00000369: PUSH2 0x0330
0000036c: PUSH2 0x0376
0000036f: CALLDATASIZE
00000370: PUSH1 0x04
00000372: PUSH2 0x1358
00000375: JUMP
00000376: JUMPDEST
00000377: PUSH0
00000378: SWAP1
00000379: DUP2
0000037a: MSTORE
0000037b: PUSH1 0x20
0000037d: DUP2
0000037e: SWAP1
0000037f: MSTORE
00000380: PUSH1 0x40
00000382: SWAP1
00000383: KECCAK256
00000384: PUSH1 0x01
00000386: ADD
00000387: SLOAD
00000388: SWAP1
00000389: JUMP
0000038a: JUMPDEST
0000038b: CALLVALUE
0000038c: DUP1
0000038d: ISZERO
0000038e: PUSH2 0x0395
00000391: JUMPI
00000392: PUSH0
00000393: DUP1
00000394: REVERT
00000395: JUMPDEST
00000396: POP
00000397: PUSH2 0x02d9
0000039a: PUSH2 0x03a4
0000039d: CALLDATASIZE
0000039e: PUSH1 0x04
000003a0: PUSH2 0x1358
000003a3: JUMP
000003a4: JUMPDEST
000003a5: PUSH2 0x0693
000003a8: JUMP
000003a9: JUMPDEST
000003aa: CALLVALUE
000003ab: DUP1
000003ac: ISZERO
000003ad: PUSH2 0x03b4
000003b0: JUMPI
000003b1: PUSH0
000003b2: DUP1
000003b3: REVERT
000003b4: JUMPDEST
000003b5: POP
000003b6: PUSH2 0x02d9
000003b9: PUSH2 0x03c3
000003bc: CALLDATASIZE
000003bd: PUSH1 0x04
000003bf: PUSH2 0x1376
000003c2: JUMP
000003c3: JUMPDEST
000003c4: PUSH2 0x07c8
000003c7: JUMP
000003c8: JUMPDEST
000003c9: CALLVALUE
000003ca: DUP1
000003cb: ISZERO
000003cc: PUSH2 0x03d3
000003cf: JUMPI
000003d0: PUSH0
000003d1: DUP1
000003d2: REVERT
000003d3: JUMPDEST
000003d4: POP
000003d5: PUSH2 0x02d9
000003d8: PUSH2 0x03e2
000003db: CALLDATASIZE
000003dc: PUSH1 0x04
000003de: PUSH2 0x1376
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x07f2
000003e6: JUMP
000003e7: JUMPDEST
000003e8: CALLVALUE
000003e9: DUP1
000003ea: ISZERO
000003eb: PUSH2 0x03f2
000003ee: JUMPI
000003ef: PUSH0
000003f0: DUP1
000003f1: REVERT
000003f2: JUMPDEST
000003f3: POP
000003f4: PUSH2 0x02d9
000003f7: PUSH2 0x0401
000003fa: CALLDATASIZE
000003fb: PUSH1 0x04
000003fd: PUSH2 0x13b0
00000400: JUMP
00000401: JUMPDEST
00000402: PUSH2 0x0825
00000405: JUMP
00000406: JUMPDEST
00000407: CALLVALUE
00000408: DUP1
00000409: ISZERO
0000040a: PUSH2 0x0411
0000040d: JUMPI
0000040e: PUSH0
0000040f: DUP1
00000410: REVERT
00000411: JUMPDEST
00000412: POP
00000413: PUSH2 0x043a
00000416: PUSH2 0x0420
00000419: CALLDATASIZE
0000041a: PUSH1 0x04
0000041c: PUSH2 0x1358
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH1 0x02
00000423: PUSH1 0x20
00000425: MSTORE
00000426: PUSH0
00000427: SWAP1
00000428: DUP2
00000429: MSTORE
0000042a: PUSH1 0x40
0000042c: SWAP1
0000042d: KECCAK256
0000042e: SLOAD
0000042f: PUSH1 0x01
00000431: PUSH1 0x01
00000433: PUSH1 0xa0
00000435: SHL
00000436: SUB
00000437: AND
00000438: DUP2
00000439: JUMP
0000043a: JUMPDEST
0000043b: PUSH1 0x40
0000043d: MLOAD
0000043e: PUSH2 0x0307
00000441: SWAP2
00000442: SWAP1
00000443: PUSH2 0x13e8
00000446: JUMP
00000447: JUMPDEST
00000448: CALLVALUE
00000449: DUP1
0000044a: ISZERO
0000044b: PUSH2 0x0452
0000044e: JUMPI
0000044f: PUSH0
00000450: DUP1
00000451: REVERT
00000452: JUMPDEST
00000453: POP
00000454: PUSH2 0x0330
00000457: PUSH0
00000458: DUP2
00000459: JUMP
0000045a: JUMPDEST
0000045b: CALLVALUE
0000045c: DUP1
0000045d: ISZERO
0000045e: PUSH2 0x0465
00000461: JUMPI
00000462: PUSH0
00000463: DUP1
00000464: REVERT
00000465: JUMPDEST
00000466: POP
00000467: PUSH2 0x02fa
0000046a: PUSH2 0x0474
0000046d: CALLDATASIZE
0000046e: PUSH1 0x04
00000470: PUSH2 0x1376
00000473: JUMP
00000474: JUMPDEST
00000475: PUSH2 0x0888
00000478: JUMP
00000479: JUMPDEST
0000047a: CALLVALUE
0000047b: DUP1
0000047c: ISZERO
0000047d: PUSH2 0x0484
00000480: JUMPI
00000481: PUSH0
00000482: DUP1
00000483: REVERT
00000484: JUMPDEST
00000485: POP
00000486: PUSH2 0x02d9
00000489: PUSH2 0x0493
0000048c: CALLDATASIZE
0000048d: PUSH1 0x04
0000048f: PUSH2 0x1376
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH2 0x08b0
00000497: JUMP
00000498: JUMPDEST
00000499: CALLVALUE
0000049a: DUP1
0000049b: ISZERO
0000049c: PUSH2 0x04a3
0000049f: JUMPI
000004a0: PUSH0
000004a1: DUP1
000004a2: REVERT
000004a3: JUMPDEST
000004a4: POP
000004a5: PUSH2 0x02d9
000004a8: PUSH2 0x04b2
000004ab: CALLDATASIZE
000004ac: PUSH1 0x04
000004ae: PUSH2 0x1358
000004b1: JUMP
000004b2: JUMPDEST
000004b3: PUSH2 0x08c4
000004b6: JUMP
000004b7: JUMPDEST
000004b8: CALLVALUE
000004b9: DUP1
000004ba: ISZERO
000004bb: PUSH2 0x04c2
000004be: JUMPI
000004bf: PUSH0
000004c0: DUP1
000004c1: REVERT
000004c2: JUMPDEST
000004c3: POP
000004c4: PUSH2 0x0330
000004c7: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442
000004e8: DUP2
000004e9: JUMP
000004ea: JUMPDEST
000004eb: PUSH2 0x02d9
000004ee: PUSH2 0x090b
000004f1: JUMP
000004f2: JUMPDEST
000004f3: CALLVALUE
000004f4: DUP1
000004f5: ISZERO
000004f6: PUSH2 0x04fd
000004f9: JUMPI
000004fa: PUSH0
000004fb: DUP1
000004fc: REVERT
000004fd: JUMPDEST
000004fe: POP
000004ff: PUSH2 0x02d9
00000502: PUSH2 0x050c
00000505: CALLDATASIZE
00000506: PUSH1 0x04
00000508: PUSH2 0x1376
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH2 0x0988
00000510: JUMP
00000511: JUMPDEST
00000512: CALLVALUE
00000513: DUP1
00000514: ISZERO
00000515: PUSH2 0x051c
00000518: JUMPI
00000519: PUSH0
0000051a: DUP1
0000051b: REVERT
0000051c: JUMPDEST
0000051d: POP
0000051e: PUSH2 0x02d9
00000521: PUSH2 0x052b
00000524: CALLDATASIZE
00000525: PUSH1 0x04
00000527: PUSH2 0x13f6
0000052a: JUMP
0000052b: JUMPDEST
0000052c: PUSH2 0x09ac
0000052f: JUMP
00000530: JUMPDEST
00000531: CALLVALUE
00000532: DUP1
00000533: ISZERO
00000534: PUSH2 0x053b
00000537: JUMPI
00000538: PUSH0
00000539: DUP1
0000053a: REVERT
0000053b: JUMPDEST
0000053c: POP
0000053d: PUSH2 0x0330
00000540: PUSH1 0x01
00000542: DUP2
00000543: JUMP
00000544: JUMPDEST
00000545: PUSH2 0x054e
00000548: DUP3
00000549: DUP3
0000054a: PUSH2 0x0888
0000054d: JUMP
0000054e: JUMPDEST
0000054f: PUSH2 0x056f
00000552: JUMPI
00000553: DUP1
00000554: DUP3
00000555: PUSH1 0x40
00000557: MLOAD
00000558: PUSH4 0xe2517d3f
0000055d: PUSH1 0xe0
0000055f: SHL
00000560: DUP2
00000561: MSTORE
00000562: PUSH1 0x04
00000564: ADD
00000565: PUSH2 0x02ba
00000568: SWAP3
00000569: SWAP2
0000056a: SWAP1
0000056b: PUSH2 0x1426
0000056e: JUMP
0000056f: JUMPDEST
00000570: POP
00000571: POP
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH0
00000575: DUP2
00000576: DUP2
00000577: MSTORE
00000578: PUSH1 0x02
0000057a: PUSH1 0x20
0000057c: MSTORE
0000057d: PUSH1 0x40
0000057f: SWAP1
00000580: KECCAK256
00000581: SLOAD
00000582: PUSH1 0x01
00000584: PUSH1 0x01
00000586: PUSH1 0xa0
00000588: SHL
00000589: SUB
0000058a: AND
0000058b: DUP1
0000058c: PUSH2 0x05aa
0000058f: JUMPI
00000590: DUP2
00000591: PUSH1 0x40
00000593: MLOAD
00000594: PUSH4 0x201e4ee7
00000599: PUSH1 0xe0
0000059b: SHL
0000059c: DUP2
0000059d: MSTORE
0000059e: PUSH1 0x04
000005a0: ADD
000005a1: PUSH2 0x02ba
000005a4: SWAP2
000005a5: SWAP1
000005a6: PUSH2 0x132c
000005a9: JUMP
000005aa: JUMPDEST
000005ab: SWAP2
000005ac: SWAP1
000005ad: POP
000005ae: JUMP
000005af: JUMPDEST
000005b0: DUP4
000005b1: ISZERO
000005b2: DUP1
000005b3: PUSH2 0x05ba
000005b6: JUMPI
000005b7: POP
000005b8: DUP3
000005b9: ISZERO
000005ba: JUMPDEST
000005bb: PUSH2 0x064c
000005be: JUMPI
000005bf: DUP2
000005c0: DUP4
000005c1: GT
000005c2: ISZERO
000005c3: PUSH2 0x05ca
000005c6: JUMPI
000005c7: DUP2
000005c8: SWAP3
000005c9: POP
000005ca: JUMPDEST
000005cb: DUP1
000005cc: ISZERO
000005cd: PUSH2 0x05e9
000005d0: JUMPI
000005d1: PUSH2 0x05da
000005d4: DUP4
000005d5: DUP6
000005d6: PUSH2 0x10c3
000005d9: JUMP
000005da: JUMPDEST
000005db: SWAP4
000005dc: POP
000005dd: PUSH2 0x05e6
000005e0: DUP3
000005e1: DUP6
000005e2: PUSH2 0x1448
000005e5: JUMP
000005e6: JUMPDEST
000005e7: SWAP4
000005e8: POP
000005e9: JUMPDEST
000005ea: PUSH1 0x40
000005ec: MLOAD
000005ed: PUSH4 0x2e1a7d4d
000005f2: PUSH1 0xe0
000005f4: SHL
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x01
000005f9: PUSH1 0x01
000005fb: PUSH1 0xa0
000005fd: SHL
000005fe: SUB
000005ff: DUP7
00000600: AND
00000601: SWAP1
00000602: PUSH4 0x2e1a7d4d
00000607: SWAP1
00000608: PUSH2 0x0615
0000060b: SWAP1
0000060c: DUP8
0000060d: SWAP1
0000060e: PUSH1 0x04
00000610: ADD
00000611: PUSH2 0x132c
00000614: JUMP
00000615: JUMPDEST
00000616: PUSH0
00000617: PUSH1 0x40
00000619: MLOAD
0000061a: DUP1
0000061b: DUP4
0000061c: SUB
0000061d: DUP2
0000061e: PUSH0
0000061f: DUP8
00000620: DUP1
00000621: EXTCODESIZE
00000622: ISZERO
00000623: DUP1
00000624: ISZERO
00000625: PUSH2 0x062c
00000628: JUMPI
00000629: PUSH0
0000062a: DUP1
0000062b: REVERT
0000062c: JUMPDEST
0000062d: POP
0000062e: GAS
0000062f: CALL
00000630: ISZERO
00000631: DUP1
00000632: ISZERO
00000633: PUSH2 0x063e
00000636: JUMPI
00000637: RETURNDATASIZE
00000638: PUSH0
00000639: DUP1
0000063a: RETURNDATACOPY
0000063b: RETURNDATASIZE
0000063c: PUSH0
0000063d: REVERT
0000063e: JUMPDEST
0000063f: POP
00000640: POP
00000641: POP
00000642: POP
00000643: PUSH2 0x064c
00000646: COINBASE
00000647: DUP6
00000648: PUSH2 0x0a8a
0000064b: JUMP
0000064c: JUMPDEST
0000064d: POP
0000064e: POP
0000064f: POP
00000650: POP
00000651: POP
00000652: JUMP
00000653: JUMPDEST
00000654: PUSH0
00000655: PUSH1 0x01
00000657: PUSH1 0x01
00000659: PUSH1 0xe0
0000065b: SHL
0000065c: SUB
0000065d: NOT
0000065e: DUP3
0000065f: AND
00000660: PUSH4 0x7965db0b
00000665: PUSH1 0xe0
00000667: SHL
00000668: EQ
00000669: DUP1
0000066a: PUSH2 0x0683
0000066d: JUMPI
0000066e: POP
0000066f: PUSH4 0x01ffc9a7
00000674: PUSH1 0xe0
00000676: SHL
00000677: PUSH1 0x01
00000679: PUSH1 0x01
0000067b: PUSH1 0xe0
0000067d: SHL
0000067e: SUB
0000067f: NOT
00000680: DUP4
00000681: AND
00000682: EQ
00000683: JUMPDEST
00000684: SWAP3
00000685: SWAP2
00000686: POP
00000687: POP
00000688: JUMP
00000689: JUMPDEST
0000068a: PUSH0
0000068b: PUSH2 0x056f
0000068e: DUP2
0000068f: PUSH2 0x0b03
00000692: JUMP
00000693: JUMPDEST
00000694: PUSH0
00000695: PUSH2 0x069d
00000698: DUP2
00000699: PUSH2 0x0b03
0000069c: JUMP
0000069d: JUMPDEST
0000069e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000006bf: PUSH0
000006c0: DUP4
000006c1: SWAP1
000006c2: SUB
000006c3: PUSH2 0x0734
000006c6: JUMPI
000006c7: PUSH1 0x40
000006c9: MLOAD
000006ca: PUSH4 0x70a08231
000006cf: PUSH1 0xe0
000006d1: SHL
000006d2: DUP2
000006d3: MSTORE
000006d4: PUSH1 0x01
000006d6: PUSH1 0x01
000006d8: PUSH1 0xa0
000006da: SHL
000006db: SUB
000006dc: DUP3
000006dd: AND
000006de: SWAP1
000006df: PUSH4 0x70a08231
000006e4: SWAP1
000006e5: PUSH2 0x06f2
000006e8: SWAP1
000006e9: ADDRESS
000006ea: SWAP1
000006eb: PUSH1 0x04
000006ed: ADD
000006ee: PUSH2 0x13e8
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH1 0x20
000006f5: PUSH1 0x40
000006f7: MLOAD
000006f8: DUP1
000006f9: DUP4
000006fa: SUB
000006fb: DUP2
000006fc: DUP7
000006fd: GAS
000006fe: STATICCALL
000006ff: ISZERO
00000700: DUP1
00000701: ISZERO
00000702: PUSH2 0x070d
00000705: JUMPI
00000706: RETURNDATASIZE
00000707: PUSH0
00000708: DUP1
00000709: RETURNDATACOPY
0000070a: RETURNDATASIZE
0000070b: PUSH0
0000070c: REVERT
0000070d: JUMPDEST
0000070e: POP
0000070f: POP
00000710: POP
00000711: POP
00000712: PUSH1 0x40
00000714: MLOAD
00000715: RETURNDATASIZE
00000716: PUSH1 0x1f
00000718: NOT
00000719: PUSH1 0x1f
0000071b: DUP3
0000071c: ADD
0000071d: AND
0000071e: DUP3
0000071f: ADD
00000720: DUP1
00000721: PUSH1 0x40
00000723: MSTORE
00000724: POP
00000725: DUP2
00000726: ADD
00000727: SWAP1
00000728: PUSH2 0x0731
0000072b: SWAP2
0000072c: SWAP1
0000072d: PUSH2 0x12a5
00000730: JUMP
00000731: JUMPDEST
00000732: SWAP3
00000733: POP
00000734: JUMPDEST
00000735: DUP3
00000736: PUSH0
00000737: SUB
00000738: PUSH2 0x0740
0000073b: JUMPI
0000073c: POP
0000073d: POP
0000073e: POP
0000073f: JUMP
00000740: JUMPDEST
00000741: PUSH1 0x40
00000743: MLOAD
00000744: PUSH4 0x2e1a7d4d
00000749: PUSH1 0xe0
0000074b: SHL
0000074c: DUP2
0000074d: MSTORE
0000074e: PUSH1 0x01
00000750: PUSH1 0x01
00000752: PUSH1 0xa0
00000754: SHL
00000755: SUB
00000756: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000777: AND
00000778: SWAP1
00000779: PUSH4 0x2e1a7d4d
0000077e: SWAP1
0000077f: PUSH2 0x078c
00000782: SWAP1
00000783: DUP7
00000784: SWAP1
00000785: PUSH1 0x04
00000787: ADD
00000788: PUSH2 0x132c
0000078b: JUMP
0000078c: JUMPDEST
0000078d: PUSH0
0000078e: PUSH1 0x40
00000790: MLOAD
00000791: DUP1
00000792: DUP4
00000793: SUB
00000794: DUP2
00000795: PUSH0
00000796: DUP8
00000797: DUP1
00000798: EXTCODESIZE
00000799: ISZERO
0000079a: DUP1
0000079b: ISZERO
0000079c: PUSH2 0x07a3
0000079f: JUMPI
000007a0: PUSH0
000007a1: DUP1
000007a2: REVERT
000007a3: JUMPDEST
000007a4: POP
000007a5: GAS
000007a6: CALL
000007a7: ISZERO
000007a8: DUP1
000007a9: ISZERO
000007aa: PUSH2 0x07b5
000007ad: JUMPI
000007ae: RETURNDATASIZE
000007af: PUSH0
000007b0: DUP1
000007b1: RETURNDATACOPY
000007b2: RETURNDATASIZE
000007b3: PUSH0
000007b4: REVERT
000007b5: JUMPDEST
000007b6: POP
000007b7: POP
000007b8: POP
000007b9: POP
000007ba: PUSH2 0x07c3
000007bd: CALLER
000007be: DUP5
000007bf: PUSH2 0x0a8a
000007c2: JUMP
000007c3: JUMPDEST
000007c4: POP
000007c5: POP
000007c6: POP
000007c7: JUMP
000007c8: JUMPDEST
000007c9: PUSH0
000007ca: DUP3
000007cb: DUP2
000007cc: MSTORE
000007cd: PUSH1 0x20
000007cf: DUP2
000007d0: SWAP1
000007d1: MSTORE
000007d2: PUSH1 0x40
000007d4: SWAP1
000007d5: KECCAK256
000007d6: PUSH1 0x01
000007d8: ADD
000007d9: SLOAD
000007da: PUSH2 0x07e2
000007dd: DUP2
000007de: PUSH2 0x0b03
000007e1: JUMP
000007e2: JUMPDEST
000007e3: PUSH2 0x07ec
000007e6: DUP4
000007e7: DUP4
000007e8: PUSH2 0x0b10
000007eb: JUMP
000007ec: JUMPDEST
000007ed: POP
000007ee: POP
000007ef: POP
000007f0: POP
000007f1: JUMP
000007f2: JUMPDEST
000007f3: PUSH1 0x01
000007f5: PUSH1 0x01
000007f7: PUSH1 0xa0
000007f9: SHL
000007fa: SUB
000007fb: DUP2
000007fc: AND
000007fd: CALLER
000007fe: EQ
000007ff: PUSH2 0x081b
00000802: JUMPI
00000803: PUSH1 0x40
00000805: MLOAD
00000806: PUSH4 0x334bd919
0000080b: PUSH1 0xe1
0000080d: SHL
0000080e: DUP2
0000080f: MSTORE
00000810: PUSH1 0x04
00000812: ADD
00000813: PUSH1 0x40
00000815: MLOAD
00000816: DUP1
00000817: SWAP2
00000818: SUB
00000819: SWAP1
0000081a: REVERT
0000081b: JUMPDEST
0000081c: PUSH2 0x07c3
0000081f: DUP3
00000820: DUP3
00000821: PUSH2 0x0b9f
00000824: JUMP
00000825: JUMPDEST
00000826: PUSH0
00000827: PUSH2 0x082f
0000082a: DUP2
0000082b: PUSH2 0x0b03
0000082e: JUMP
0000082f: JUMPDEST
00000830: DUP2
00000831: MLOAD
00000832: PUSH32 0xcad6d1a2298b8fe675ee5c5b6ae9e25f35e079d7c862db237f1f20200f9ea442
00000853: PUSH0
00000854: JUMPDEST
00000855: DUP3
00000856: DUP2
00000857: LT
00000858: ISZERO
00000859: PUSH2 0x064c
0000085c: JUMPI
0000085d: PUSH2 0x087f
00000860: DUP3
00000861: DUP7
00000862: DUP4
00000863: DUP2
00000864: MLOAD
00000865: DUP2
00000866: LT
00000867: PUSH2 0x0872
0000086a: JUMPI
0000086b: PUSH2 0x0872
0000086e: PUSH2 0x145b
00000871: JUMP
00000872: JUMPDEST
00000873: PUSH1 0x20
00000875: MUL
00000876: PUSH1 0x20
00000878: ADD
00000879: ADD
0000087a: MLOAD
0000087b: PUSH2 0x0b10
0000087e: JUMP
0000087f: JUMPDEST
00000880: POP
00000881: PUSH1 0x01
00000883: ADD
00000884: PUSH2 0x0854
00000887: JUMP
00000888: JUMPDEST
00000889: PUSH0
0000088a: SWAP2
0000088b: DUP3
0000088c: MSTORE
0000088d: PUSH1 0x20
0000088f: DUP3
00000890: DUP2
00000891: MSTORE
00000892: PUSH1 0x40
00000894: DUP1
00000895: DUP5
00000896: KECCAK256
00000897: PUSH1 0x01
00000899: PUSH1 0x01
0000089b: PUSH1 0xa0
0000089d: SHL
0000089e: SUB
0000089f: SWAP4
000008a0: SWAP1
000008a1: SWAP4
000008a2: AND
000008a3: DUP5
000008a4: MSTORE
000008a5: SWAP2
000008a6: SWAP1
000008a7: MSTORE
000008a8: SWAP1
000008a9: KECCAK256
000008aa: SLOAD
000008ab: PUSH1 0xff
000008ad: AND
000008ae: SWAP1
000008af: JUMP
000008b0: JUMPDEST
000008b1: PUSH0
000008b2: PUSH2 0x08ba
000008b5: DUP2
000008b6: PUSH2 0x0b03
000008b9: JUMP
000008ba: JUMPDEST
000008bb: PUSH2 0x07c3
000008be: DUP4
000008bf: DUP4
000008c0: PUSH2 0x0c08
000008c3: JUMP
000008c4: JUMPDEST
000008c5: PUSH0
000008c6: PUSH2 0x08ce
000008c9: DUP2
000008ca: PUSH2 0x0b03
000008cd: JUMP
000008ce: JUMPDEST
000008cf: PUSH0
000008d0: DUP3
000008d1: DUP2
000008d2: MSTORE
000008d3: PUSH1 0x02
000008d5: PUSH1 0x20
000008d7: MSTORE
000008d8: PUSH1 0x40
000008da: SWAP1
000008db: KECCAK256
000008dc: DUP1
000008dd: SLOAD
000008de: PUSH1 0x01
000008e0: PUSH1 0x01
000008e2: PUSH1 0xa0
000008e4: SHL
000008e5: SUB
000008e6: NOT
000008e7: DUP2
000008e8: AND
000008e9: SWAP1
000008ea: SWAP2
000008eb: SSTORE
000008ec: PUSH1 0x01
000008ee: PUSH1 0x01
000008f0: PUSH1 0xa0
000008f2: SHL
000008f3: SUB
000008f4: AND
000008f5: PUSH2 0x07ec
000008f8: PUSH0
000008f9: DUP1
000008fa: MLOAD
000008fb: PUSH1 0x20
000008fd: PUSH2 0x14b3
00000900: DUP4
00000901: CODECOPY
00000902: DUP2
00000903: MLOAD
00000904: SWAP2
00000905: MSTORE
00000906: DUP3
00000907: PUSH2 0x0b9f
0000090a: JUMP
0000090b: JUMPDEST
0000090c: PUSH0
0000090d: PUSH2 0x0915
00000910: DUP2
00000911: PUSH2 0x0b03
00000914: JUMP
00000915: JUMPDEST
00000916: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000937: PUSH1 0x01
00000939: PUSH1 0x01
0000093b: PUSH1 0xa0
0000093d: SHL
0000093e: SUB
0000093f: AND
00000940: PUSH4 0xd0e30db0
00000945: CALLVALUE
00000946: PUSH1 0x40
00000948: MLOAD
00000949: DUP3
0000094a: PUSH4 0xffffffff
0000094f: AND
00000950: PUSH1 0xe0
00000952: SHL
00000953: DUP2
00000954: MSTORE
00000955: PUSH1 0x04
00000957: ADD
00000958: PUSH0
00000959: PUSH1 0x40
0000095b: MLOAD
0000095c: DUP1
0000095d: DUP4
0000095e: SUB
0000095f: DUP2
00000960: DUP6
00000961: DUP9
00000962: DUP1
00000963: EXTCODESIZE
00000964: ISZERO
00000965: DUP1
00000966: ISZERO
00000967: PUSH2 0x096e
0000096a: JUMPI
0000096b: PUSH0
0000096c: DUP1
0000096d: REVERT
0000096e: JUMPDEST
0000096f: POP
00000970: GAS
00000971: CALL
00000972: ISZERO
00000973: DUP1
00000974: ISZERO
00000975: PUSH2 0x0980
00000978: JUMPI
00000979: RETURNDATASIZE
0000097a: PUSH0
0000097b: DUP1
0000097c: RETURNDATACOPY
0000097d: RETURNDATASIZE
0000097e: PUSH0
0000097f: REVERT
00000980: JUMPDEST
00000981: POP
00000982: POP
00000983: POP
00000984: POP
00000985: POP
00000986: POP
00000987: JUMP
00000988: JUMPDEST
00000989: PUSH0
0000098a: DUP3
0000098b: DUP2
0000098c: MSTORE
0000098d: PUSH1 0x20
0000098f: DUP2
00000990: SWAP1
00000991: MSTORE
00000992: PUSH1 0x40
00000994: SWAP1
00000995: KECCAK256
00000996: PUSH1 0x01
00000998: ADD
00000999: SLOAD
0000099a: PUSH2 0x09a2
0000099d: DUP2
0000099e: PUSH2 0x0b03
000009a1: JUMP
000009a2: JUMPDEST
000009a3: PUSH2 0x07ec
000009a6: DUP4
000009a7: DUP4
000009a8: PUSH2 0x0b9f
000009ab: JUMP
000009ac: JUMPDEST
000009ad: PUSH0
000009ae: DUP1
000009af: MLOAD
000009b0: PUSH1 0x20
000009b2: PUSH2 0x14b3
000009b5: DUP4
000009b6: CODECOPY
000009b7: DUP2
000009b8: MLOAD
000009b9: SWAP2
000009ba: MSTORE
000009bb: PUSH2 0x09c3
000009be: DUP2
000009bf: PUSH2 0x0b03
000009c2: JUMP
000009c3: JUMPDEST
000009c4: DUP2
000009c5: PUSH1 0x01
000009c7: SLOAD
000009c8: LT
000009c9: ISZERO
000009ca: PUSH2 0x09e6
000009cd: JUMPI
000009ce: PUSH1 0x40
000009d0: MLOAD
000009d1: PUSH4 0x25cdf54f
000009d6: PUSH1 0xe2
000009d8: SHL
000009d9: DUP2
000009da: MSTORE
000009db: PUSH1 0x04
000009dd: ADD
000009de: PUSH1 0x40
000009e0: MLOAD
000009e1: DUP1
000009e2: SWAP2
000009e3: SUB
000009e4: SWAP1
000009e5: REVERT
000009e6: JUMPDEST
000009e7: DUP2
000009e8: PUSH1 0x01
000009ea: PUSH0
000009eb: DUP3
000009ec: DUP3
000009ed: SLOAD
000009ee: PUSH2 0x09f7
000009f1: SWAP2
000009f2: SWAP1
000009f3: PUSH2 0x146f
000009f6: JUMP
000009f7: JUMPDEST
000009f8: SWAP1
000009f9: SWAP2
000009fa: SSTORE
000009fb: POP
000009fc: POP
000009fd: PUSH1 0x40
000009ff: MLOAD
00000a00: PUSH4 0xa9059cbb
00000a05: PUSH1 0xe0
00000a07: SHL
00000a08: DUP2
00000a09: MSTORE
00000a0a: PUSH1 0x01
00000a0c: PUSH1 0x01
00000a0e: PUSH1 0xa0
00000a10: SHL
00000a11: SUB
00000a12: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000a33: AND
00000a34: SWAP1
00000a35: PUSH4 0xa9059cbb
00000a3a: SWAP1
00000a3b: PUSH2 0x0a4a
00000a3e: SWAP1
00000a3f: DUP7
00000a40: SWAP1
00000a41: DUP7
00000a42: SWAP1
00000a43: PUSH1 0x04
00000a45: ADD
00000a46: PUSH2 0x1426
00000a49: JUMP
00000a4a: JUMPDEST
00000a4b: PUSH1 0x20
00000a4d: PUSH1 0x40
00000a4f: MLOAD
00000a50: DUP1
00000a51: DUP4
00000a52: SUB
00000a53: DUP2
00000a54: PUSH0
00000a55: DUP8
00000a56: GAS
00000a57: CALL
00000a58: ISZERO
00000a59: DUP1
00000a5a: ISZERO
00000a5b: PUSH2 0x0a66
00000a5e: JUMPI
00000a5f: RETURNDATASIZE
00000a60: PUSH0
00000a61: DUP1
00000a62: RETURNDATACOPY
00000a63: RETURNDATASIZE
00000a64: PUSH0
00000a65: REVERT
00000a66: JUMPDEST
00000a67: POP
00000a68: POP
00000a69: POP
00000a6a: POP
00000a6b: PUSH1 0x40
00000a6d: MLOAD
00000a6e: RETURNDATASIZE
00000a6f: PUSH1 0x1f
00000a71: NOT
00000a72: PUSH1 0x1f
00000a74: DUP3
00000a75: ADD
00000a76: AND
00000a77: DUP3
00000a78: ADD
00000a79: DUP1
00000a7a: PUSH1 0x40
00000a7c: MSTORE
00000a7d: POP
00000a7e: DUP2
00000a7f: ADD
00000a80: SWAP1
00000a81: PUSH2 0x07ec
00000a84: SWAP2
00000a85: SWAP1
00000a86: PUSH2 0x148d
00000a89: JUMP
00000a8a: JUMPDEST
00000a8b: PUSH0
00000a8c: DUP3
00000a8d: PUSH1 0x01
00000a8f: PUSH1 0x01
00000a91: PUSH1 0xa0
00000a93: SHL
00000a94: SUB
00000a95: AND
00000a96: DUP3
00000a97: PUSH1 0x40
00000a99: MLOAD
00000a9a: PUSH2 0x0aa2
00000a9d: SWAP1
00000a9e: PUSH2 0x14ab
00000aa1: JUMP
00000aa2: JUMPDEST
00000aa3: PUSH0
00000aa4: PUSH1 0x40
00000aa6: MLOAD
00000aa7: DUP1
00000aa8: DUP4
00000aa9: SUB
00000aaa: DUP2
00000aab: DUP6
00000aac: DUP8
00000aad: GAS
00000aae: CALL
00000aaf: SWAP3
00000ab0: POP
00000ab1: POP
00000ab2: POP
00000ab3: RETURNDATASIZE
00000ab4: DUP1
00000ab5: PUSH0
00000ab6: DUP2
00000ab7: EQ
00000ab8: PUSH2 0x0adc
00000abb: JUMPI
00000abc: PUSH1 0x40
00000abe: MLOAD
00000abf: SWAP2
00000ac0: POP
00000ac1: PUSH1 0x1f
00000ac3: NOT
00000ac4: PUSH1 0x3f
00000ac6: RETURNDATASIZE
00000ac7: ADD
00000ac8: AND
00000ac9: DUP3
00000aca: ADD
00000acb: PUSH1 0x40
00000acd: MSTORE
00000ace: RETURNDATASIZE
00000acf: DUP3
00000ad0: MSTORE
00000ad1: RETURNDATASIZE
00000ad2: PUSH0
00000ad3: PUSH1 0x20
00000ad5: DUP5
00000ad6: ADD
00000ad7: RETURNDATACOPY
00000ad8: PUSH2 0x0ae1
00000adb: JUMP
00000adc: JUMPDEST
00000add: PUSH1 0x60
00000adf: SWAP2
00000ae0: POP
00000ae1: JUMPDEST
00000ae2: POP
00000ae3: POP
00000ae4: SWAP1
00000ae5: POP
00000ae6: DUP1
00000ae7: PUSH2 0x07c3
00000aea: JUMPI
00000aeb: PUSH1 0x40
00000aed: MLOAD
00000aee: PUSH4 0x0db2c7f1
00000af3: PUSH1 0xe3
00000af5: SHL
00000af6: DUP2
00000af7: MSTORE
00000af8: PUSH1 0x04
00000afa: ADD
00000afb: PUSH1 0x40
00000afd: MLOAD
00000afe: DUP1
00000aff: SWAP2
00000b00: SUB
00000b01: SWAP1
00000b02: REVERT
00000b03: JUMPDEST
00000b04: PUSH2 0x0b0d
00000b07: DUP2
00000b08: CALLER
00000b09: PUSH2 0x0544
00000b0c: JUMP
00000b0d: JUMPDEST
00000b0e: POP
00000b0f: JUMP
00000b10: JUMPDEST
00000b11: PUSH0
00000b12: PUSH2 0x0b1b
00000b15: DUP4
00000b16: DUP4
00000b17: PUSH2 0x0888
00000b1a: JUMP
00000b1b: JUMPDEST
00000b1c: PUSH2 0x0b98
00000b1f: JUMPI
00000b20: PUSH0
00000b21: DUP4
00000b22: DUP2
00000b23: MSTORE
00000b24: PUSH1 0x20
00000b26: DUP2
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x40
00000b2b: DUP1
00000b2c: DUP4
00000b2d: KECCAK256
00000b2e: PUSH1 0x01
00000b30: PUSH1 0x01
00000b32: PUSH1 0xa0
00000b34: SHL
00000b35: SUB
00000b36: DUP7
00000b37: AND
00000b38: DUP5
00000b39: MSTORE
00000b3a: SWAP1
00000b3b: SWAP2
00000b3c: MSTORE
00000b3d: SWAP1
00000b3e: KECCAK256
00000b3f: DUP1
00000b40: SLOAD
00000b41: PUSH1 0xff
00000b43: NOT
00000b44: AND
00000b45: PUSH1 0x01
00000b47: OR
00000b48: SWAP1
00000b49: SSTORE
00000b4a: PUSH2 0x0b50
00000b4d: CALLER
00000b4e: SWAP1
00000b4f: JUMP
00000b50: JUMPDEST
00000b51: PUSH1 0x01
00000b53: PUSH1 0x01
00000b55: PUSH1 0xa0
00000b57: SHL
00000b58: SUB
00000b59: AND
00000b5a: DUP3
00000b5b: PUSH1 0x01
00000b5d: PUSH1 0x01
00000b5f: PUSH1 0xa0
00000b61: SHL
00000b62: SUB
00000b63: AND
00000b64: DUP5
00000b65: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00000b86: PUSH1 0x40
00000b88: MLOAD
00000b89: PUSH1 0x40
00000b8b: MLOAD
00000b8c: DUP1
00000b8d: SWAP2
00000b8e: SUB
00000b8f: SWAP1
00000b90: LOG4
00000b91: POP
00000b92: PUSH1 0x01
00000b94: PUSH2 0x0683
00000b97: JUMP
00000b98: JUMPDEST
00000b99: POP
00000b9a: PUSH0
00000b9b: PUSH2 0x0683
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: PUSH0
00000ba1: PUSH2 0x0baa
00000ba4: DUP4
00000ba5: DUP4
00000ba6: PUSH2 0x0888
00000ba9: JUMP
00000baa: JUMPDEST
00000bab: ISZERO
00000bac: PUSH2 0x0b98
00000baf: JUMPI
00000bb0: PUSH0
00000bb1: DUP4
00000bb2: DUP2
00000bb3: MSTORE
00000bb4: PUSH1 0x20
00000bb6: DUP2
00000bb7: DUP2
00000bb8: MSTORE
00000bb9: PUSH1 0x40
00000bbb: DUP1
00000bbc: DUP4
00000bbd: KECCAK256
00000bbe: PUSH1 0x01
00000bc0: PUSH1 0x01
00000bc2: PUSH1 0xa0
00000bc4: SHL
00000bc5: SUB
00000bc6: DUP7
00000bc7: AND
00000bc8: DUP1
00000bc9: DUP6
00000bca: MSTORE
00000bcb: SWAP3
00000bcc: MSTORE
00000bcd: DUP1
00000bce: DUP4
00000bcf: KECCAK256
00000bd0: DUP1
00000bd1: SLOAD
00000bd2: PUSH1 0xff
00000bd4: NOT
00000bd5: AND
00000bd6: SWAP1
00000bd7: SSTORE
00000bd8: MLOAD
00000bd9: CALLER
00000bda: SWAP3
00000bdb: DUP7
00000bdc: SWAP2
00000bdd: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
00000bfe: SWAP2
00000bff: SWAP1
00000c00: LOG4
00000c01: POP
00000c02: PUSH1 0x01
00000c04: PUSH2 0x0683
00000c07: JUMP
00000c08: JUMPDEST
00000c09: PUSH0
00000c0a: DUP3
00000c0b: DUP2
00000c0c: MSTORE
00000c0d: PUSH1 0x02
00000c0f: PUSH1 0x20
00000c11: MSTORE
00000c12: PUSH1 0x40
00000c14: SWAP1
00000c15: KECCAK256
00000c16: SLOAD
00000c17: PUSH1 0x01
00000c19: PUSH1 0x01
00000c1b: PUSH1 0xa0
00000c1d: SHL
00000c1e: SUB
00000c1f: AND
00000c20: PUSH0
00000c21: DUP1
00000c22: MLOAD
00000c23: PUSH1 0x20
00000c25: PUSH2 0x14b3
00000c28: DUP4
00000c29: CODECOPY
00000c2a: DUP2
00000c2b: MLOAD
00000c2c: SWAP2
00000c2d: MSTORE
00000c2e: DUP2
00000c2f: ISZERO
00000c30: PUSH2 0x0c3f
00000c33: JUMPI
00000c34: PUSH2 0x0c3d
00000c37: DUP2
00000c38: DUP4
00000c39: PUSH2 0x0b9f
00000c3c: JUMP
00000c3d: JUMPDEST
00000c3e: POP
00000c3f: JUMPDEST
00000c40: DUP3
00000c41: PUSH1 0x01
00000c43: PUSH1 0x01
00000c45: PUSH1 0xa0
00000c47: SHL
00000c48: SUB
00000c49: AND
00000c4a: EXTCODESIZE
00000c4b: PUSH0
00000c4c: SUB
00000c4d: PUSH2 0x0c6b
00000c50: JUMPI
00000c51: DUP3
00000c52: PUSH1 0x40
00000c54: MLOAD
00000c55: PUSH4 0x3283c86d
00000c5a: PUSH1 0xe2
00000c5c: SHL
00000c5d: DUP2
00000c5e: MSTORE
00000c5f: PUSH1 0x04
00000c61: ADD
00000c62: PUSH2 0x02ba
00000c65: SWAP2
00000c66: SWAP1
00000c67: PUSH2 0x13e8
00000c6a: JUMP
00000c6b: JUMPDEST
00000c6c: PUSH0
00000c6d: DUP5
00000c6e: DUP2
00000c6f: MSTORE
00000c70: PUSH1 0x02
00000c72: PUSH1 0x20
00000c74: MSTORE
00000c75: PUSH1 0x40
00000c77: SWAP1
00000c78: KECCAK256
00000c79: DUP1
00000c7a: SLOAD
00000c7b: PUSH1 0x01
00000c7d: PUSH1 0x01
00000c7f: PUSH1 0xa0
00000c81: SHL
00000c82: SUB
00000c83: NOT
00000c84: AND
00000c85: PUSH1 0x01
00000c87: PUSH1 0x01
00000c89: PUSH1 0xa0
00000c8b: SHL
00000c8c: SUB
00000c8d: DUP6
00000c8e: AND
00000c8f: OR
00000c90: SWAP1
00000c91: SSTORE
00000c92: PUSH2 0x064c
00000c95: DUP2
00000c96: DUP5
00000c97: PUSH2 0x0b10
00000c9a: JUMP
00000c9b: JUMPDEST
00000c9c: PUSH0
00000c9d: DUP1
00000c9e: DUP6
00000c9f: DUP6
00000ca0: GT
00000ca1: ISZERO
00000ca2: PUSH2 0x0cac
00000ca5: JUMPI
00000ca6: PUSH2 0x0cac
00000ca9: PUSH0
00000caa: DUP1
00000cab: REVERT
00000cac: JUMPDEST
00000cad: DUP4
00000cae: DUP7
00000caf: GT
00000cb0: ISZERO
00000cb1: PUSH2 0x0cbb
00000cb4: JUMPI
00000cb5: PUSH2 0x0cbb
00000cb8: PUSH0
00000cb9: DUP1
00000cba: REVERT
00000cbb: JUMPDEST
00000cbc: POP
00000cbd: POP
00000cbe: DUP3
00000cbf: ADD
00000cc0: SWAP4
00000cc1: SWAP2
00000cc2: SWAP1
00000cc3: SWAP3
00000cc4: SUB
00000cc5: SWAP2
00000cc6: POP
00000cc7: JUMP
00000cc8: JUMPDEST
00000cc9: DUP1
00000cca: JUMPDEST
00000ccb: DUP2
00000ccc: EQ
00000ccd: PUSH2 0x0b0d
00000cd0: JUMPI
00000cd1: PUSH0
00000cd2: DUP1
00000cd3: REVERT
00000cd4: JUMPDEST
00000cd5: DUP1
00000cd6: CALLDATALOAD
00000cd7: PUSH2 0x0683
00000cda: DUP2
00000cdb: PUSH2 0x0cc8
00000cde: JUMP
00000cdf: JUMPDEST
00000ce0: PUSH4 0x4e487b71
00000ce5: PUSH1 0xe0
00000ce7: SHL
00000ce8: PUSH0
00000ce9: MSTORE
00000cea: PUSH1 0x41
00000cec: PUSH1 0x04
00000cee: MSTORE
00000cef: PUSH1 0x24
00000cf1: PUSH0
00000cf2: REVERT
00000cf3: JUMPDEST
00000cf4: PUSH1 0x1f
00000cf6: NOT
00000cf7: PUSH1 0x1f
00000cf9: DUP4
00000cfa: ADD
00000cfb: AND
00000cfc: DUP2
00000cfd: ADD
00000cfe: DUP2
00000cff: DUP2
00000d00: LT
00000d01: PUSH8 0xffffffffffffffff
00000d0a: DUP3
00000d0b: GT
00000d0c: OR
00000d0d: ISZERO
00000d0e: PUSH2 0x0d19
00000d11: JUMPI
00000d12: PUSH2 0x0d19
00000d15: PUSH2 0x0cdf
00000d18: JUMP
00000d19: JUMPDEST
00000d1a: PUSH1 0x40
00000d1c: MSTORE
00000d1d: POP
00000d1e: POP
00000d1f: JUMP
00000d20: JUMPDEST
00000d21: PUSH0
00000d22: PUSH2 0x0d2a
00000d25: PUSH1 0x40
00000d27: MLOAD
00000d28: SWAP1
00000d29: JUMP
00000d2a: JUMPDEST
00000d2b: SWAP1
00000d2c: POP
00000d2d: PUSH2 0x05aa
00000d30: DUP3
00000d31: DUP3
00000d32: PUSH2 0x0cf3
00000d35: JUMP
00000d36: JUMPDEST
00000d37: PUSH0
00000d38: PUSH8 0xffffffffffffffff
00000d41: DUP3
00000d42: GT
00000d43: ISZERO
00000d44: PUSH2 0x0d4f
00000d47: JUMPI
00000d48: PUSH2 0x0d4f
00000d4b: PUSH2 0x0cdf
00000d4e: JUMP
00000d4f: JUMPDEST
00000d50: PUSH1 0x1f
00000d52: NOT
00000d53: PUSH1 0x1f
00000d55: DUP4
00000d56: ADD
00000d57: AND
00000d58: PUSH1 0x20
00000d5a: ADD
00000d5b: SWAP3
00000d5c: SWAP2
00000d5d: POP
00000d5e: POP
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: DUP3
00000d62: DUP2
00000d63: DUP4
00000d64: CALLDATACOPY
00000d65: POP
00000d66: PUSH0
00000d67: SWAP2
00000d68: ADD
00000d69: MSTORE
00000d6a: JUMP
00000d6b: JUMPDEST
00000d6c: PUSH0
00000d6d: PUSH2 0x0d7d
00000d70: PUSH2 0x0d78
00000d73: DUP5
00000d74: PUSH2 0x0d36
00000d77: JUMP
00000d78: JUMPDEST
00000d79: PUSH2 0x0d20
00000d7c: JUMP
00000d7d: JUMPDEST
00000d7e: SWAP1
00000d7f: POP
00000d80: DUP3
00000d81: DUP2
00000d82: MSTORE
00000d83: PUSH1 0x20
00000d85: DUP2
00000d86: ADD
00000d87: DUP5
00000d88: DUP5
00000d89: DUP5
00000d8a: ADD
00000d8b: GT
00000d8c: ISZERO
00000d8d: PUSH2 0x0d97
00000d90: JUMPI
00000d91: PUSH2 0x0d97
00000d94: PUSH0
00000d95: DUP1
00000d96: REVERT
00000d97: JUMPDEST
00000d98: PUSH2 0x0da2
00000d9b: DUP5
00000d9c: DUP3
00000d9d: DUP6
00000d9e: PUSH2 0x0d60
00000da1: JUMP
00000da2: JUMPDEST
00000da3: POP
00000da4: SWAP4
00000da5: SWAP3
00000da6: POP
00000da7: POP
00000da8: POP
00000da9: JUMP
00000daa: JUMPDEST
00000dab: PUSH0
00000dac: DUP3
00000dad: PUSH1 0x1f
00000daf: DUP4
00000db0: ADD
00000db1: SLT
00000db2: PUSH2 0x0dbc
00000db5: JUMPI
00000db6: PUSH2 0x0dbc
00000db9: PUSH0
00000dba: DUP1
00000dbb: REVERT
00000dbc: JUMPDEST
00000dbd: DUP2
00000dbe: CALLDATALOAD
00000dbf: PUSH2 0x0dcc
00000dc2: DUP5
00000dc3: DUP3
00000dc4: PUSH1 0x20
00000dc6: DUP7
00000dc7: ADD
00000dc8: PUSH2 0x0d6b
00000dcb: JUMP
00000dcc: JUMPDEST
00000dcd: SWAP5
00000dce: SWAP4
00000dcf: POP
00000dd0: POP
00000dd1: POP
00000dd2: POP
00000dd3: JUMP
00000dd4: JUMPDEST
00000dd5: PUSH0
00000dd6: PUSH8 0xffffffffffffffff
00000ddf: DUP3
00000de0: GT
00000de1: ISZERO
00000de2: PUSH2 0x0ded
00000de5: JUMPI
00000de6: PUSH2 0x0ded
00000de9: PUSH2 0x0cdf
00000dec: JUMP
00000ded: JUMPDEST
00000dee: POP
00000def: PUSH1 0x20
00000df1: SWAP1
00000df2: DUP2
00000df3: MUL
00000df4: ADD
00000df5: SWAP1
00000df6: JUMP
00000df7: JUMPDEST
00000df8: PUSH0
00000df9: PUSH1 0x01
00000dfb: PUSH1 0x01
00000dfd: PUSH1 0xa0
00000dff: SHL
00000e00: SUB
00000e01: DUP3
00000e02: AND
00000e03: PUSH2 0x0683
00000e06: JUMP
00000e07: JUMPDEST
00000e08: PUSH2 0x0cca
00000e0b: DUP2
00000e0c: PUSH2 0x0df7
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: DUP1
00000e12: CALLDATALOAD
00000e13: PUSH2 0x0683
00000e16: DUP2
00000e17: PUSH2 0x0e07
00000e1a: JUMP
00000e1b: JUMPDEST
00000e1c: PUSH0
00000e1d: PUSH2 0x0e28
00000e20: PUSH2 0x0d78
00000e23: DUP5
00000e24: PUSH2 0x0dd4
00000e27: JUMP
00000e28: JUMPDEST
00000e29: DUP4
00000e2a: DUP2
00000e2b: MSTORE
00000e2c: SWAP1
00000e2d: POP
00000e2e: PUSH1 0x20
00000e30: DUP1
00000e31: DUP3
00000e32: ADD
00000e33: SWAP1
00000e34: DUP5
00000e35: MUL
00000e36: DUP4
00000e37: ADD
00000e38: DUP6
00000e39: DUP2
00000e3a: GT
00000e3b: ISZERO
00000e3c: PUSH2 0x0e46
00000e3f: JUMPI
00000e40: PUSH2 0x0e46
00000e43: PUSH0
00000e44: DUP1
00000e45: REVERT
00000e46: JUMPDEST
00000e47: DUP4
00000e48: JUMPDEST
00000e49: DUP2
00000e4a: DUP2
00000e4b: LT
00000e4c: ISZERO
00000e4d: PUSH2 0x0e6a
00000e50: JUMPI
00000e51: DUP1
00000e52: PUSH2 0x0e5b
00000e55: DUP9
00000e56: DUP3
00000e57: PUSH2 0x0e10
00000e5a: JUMP
00000e5b: JUMPDEST
00000e5c: DUP5
00000e5d: MSTORE
00000e5e: POP
00000e5f: PUSH1 0x20
00000e61: SWAP3
00000e62: DUP4
00000e63: ADD
00000e64: SWAP3
00000e65: ADD
00000e66: PUSH2 0x0e48
00000e69: JUMP
00000e6a: JUMPDEST
00000e6b: POP
00000e6c: POP
00000e6d: POP
00000e6e: SWAP4
00000e6f: SWAP3
00000e70: POP
00000e71: POP
00000e72: POP
00000e73: JUMP
00000e74: JUMPDEST
00000e75: PUSH0
00000e76: DUP3
00000e77: PUSH1 0x1f
00000e79: DUP4
00000e7a: ADD
00000e7b: SLT
00000e7c: PUSH2 0x0e86
00000e7f: JUMPI
00000e80: PUSH2 0x0e86
00000e83: PUSH0
00000e84: DUP1
00000e85: REVERT
00000e86: JUMPDEST
00000e87: DUP2
00000e88: CALLDATALOAD
00000e89: PUSH2 0x0dcc
00000e8c: DUP5
00000e8d: DUP3
00000e8e: PUSH1 0x20
00000e90: DUP7
00000e91: ADD
00000e92: PUSH2 0x0e1b
00000e95: JUMP
00000e96: JUMPDEST
00000e97: PUSH1 0xff
00000e99: DUP2
00000e9a: AND
00000e9b: PUSH2 0x0cca
00000e9e: JUMP
00000e9f: JUMPDEST
00000ea0: DUP1
00000ea1: CALLDATALOAD
00000ea2: PUSH2 0x0683
00000ea5: DUP2
00000ea6: PUSH2 0x0e96
00000ea9: JUMP
00000eaa: JUMPDEST
00000eab: DUP1
00000eac: ISZERO
00000ead: ISZERO
00000eae: PUSH2 0x0cca
00000eb1: JUMP
00000eb2: JUMPDEST
00000eb3: DUP1
00000eb4: CALLDATALOAD
00000eb5: PUSH2 0x0683
00000eb8: DUP2
00000eb9: PUSH2 0x0eaa
00000ebc: JUMP
00000ebd: JUMPDEST
00000ebe: PUSH0
00000ebf: PUSH2 0x0100
00000ec2: DUP3
00000ec3: DUP5
00000ec4: SUB
00000ec5: SLT
00000ec6: ISZERO
00000ec7: PUSH2 0x0ed1
00000eca: JUMPI
00000ecb: PUSH2 0x0ed1
00000ece: PUSH0
00000ecf: DUP1
00000ed0: REVERT
00000ed1: JUMPDEST
00000ed2: PUSH2 0x0edc
00000ed5: PUSH2 0x0100
00000ed8: PUSH2 0x0d20
00000edb: JUMP
00000edc: JUMPDEST
00000edd: SWAP1
00000ede: POP
00000edf: PUSH0
00000ee0: PUSH2 0x0ee9
00000ee3: DUP5
00000ee4: DUP5
00000ee5: PUSH2 0x0cd4
00000ee8: JUMP
00000ee9: JUMPDEST
00000eea: DUP3
00000eeb: MSTORE
00000eec: POP
00000eed: PUSH1 0x20
00000eef: PUSH2 0x0efa
00000ef2: DUP5
00000ef3: DUP5
00000ef4: DUP4
00000ef5: ADD
00000ef6: PUSH2 0x0cd4
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x20
00000efd: DUP4
00000efe: ADD
00000eff: MSTORE
00000f00: POP
00000f01: PUSH1 0x40
00000f03: PUSH2 0x0f0e
00000f06: DUP5
00000f07: DUP3
00000f08: DUP6
00000f09: ADD
00000f0a: PUSH2 0x0cd4
00000f0d: JUMP
00000f0e: JUMPDEST
00000f0f: PUSH1 0x40
00000f11: DUP4
00000f12: ADD
00000f13: MSTORE
00000f14: POP
00000f15: PUSH1 0x60
00000f17: PUSH2 0x0f22
00000f1a: DUP5
00000f1b: DUP3
00000f1c: DUP6
00000f1d: ADD
00000f1e: PUSH2 0x0cd4
00000f21: JUMP
00000f22: JUMPDEST
00000f23: PUSH1 0x60
00000f25: DUP4
00000f26: ADD
00000f27: MSTORE
00000f28: POP
00000f29: PUSH1 0x80
00000f2b: PUSH2 0x0f36
00000f2e: DUP5
00000f2f: DUP3
00000f30: DUP6
00000f31: ADD
00000f32: PUSH2 0x0cd4
00000f35: JUMP
00000f36: JUMPDEST
00000f37: PUSH1 0x80
00000f39: DUP4
00000f3a: ADD
00000f3b: MSTORE
00000f3c: POP
00000f3d: PUSH1 0xa0
00000f3f: PUSH2 0x0f4a
00000f42: DUP5
00000f43: DUP3
00000f44: DUP6
00000f45: ADD
00000f46: PUSH2 0x0e9f
00000f49: JUMP
00000f4a: JUMPDEST
00000f4b: PUSH1 0xa0
00000f4d: DUP4
00000f4e: ADD
00000f4f: MSTORE
00000f50: POP
00000f51: PUSH1 0xc0
00000f53: PUSH2 0x0f5e
00000f56: DUP5
00000f57: DUP3
00000f58: DUP6
00000f59: ADD
00000f5a: PUSH2 0x0e9f
00000f5d: JUMP
00000f5e: JUMPDEST
00000f5f: PUSH1 0xc0
00000f61: DUP4
00000f62: ADD
00000f63: MSTORE
00000f64: POP
00000f65: PUSH1 0xe0
00000f67: PUSH2 0x0f72
00000f6a: DUP5
00000f6b: DUP3
00000f6c: DUP6
00000f6d: ADD
00000f6e: PUSH2 0x0eb2
00000f71: JUMP
00000f72: JUMPDEST
00000f73: PUSH1 0xe0
00000f75: DUP4
00000f76: ADD
00000f77: MSTORE
00000f78: POP
00000f79: SWAP3
00000f7a: SWAP2
00000f7b: POP
00000f7c: POP
00000f7d: JUMP
00000f7e: JUMPDEST
00000f7f: PUSH0
00000f80: PUSH1 0x60
00000f82: DUP3
00000f83: DUP5
00000f84: SUB
00000f85: SLT
00000f86: ISZERO
00000f87: PUSH2 0x0f91
00000f8a: JUMPI
00000f8b: PUSH2 0x0f91
00000f8e: PUSH0
00000f8f: DUP1
00000f90: REVERT
00000f91: JUMPDEST
00000f92: PUSH2 0x0f9b
00000f95: PUSH1 0x60
00000f97: PUSH2 0x0d20
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: SWAP1
00000f9d: POP
00000f9e: PUSH0
00000f9f: PUSH2 0x0fa8
00000fa2: DUP5
00000fa3: DUP5
00000fa4: PUSH2 0x0cd4
00000fa7: JUMP
00000fa8: JUMPDEST
00000fa9: DUP3
00000faa: MSTORE
00000fab: POP
00000fac: PUSH1 0x20
00000fae: PUSH2 0x0fb9
00000fb1: DUP5
00000fb2: DUP5
00000fb3: DUP4
00000fb4: ADD
00000fb5: PUSH2 0x0cd4
00000fb8: JUMP
00000fb9: JUMPDEST
00000fba: PUSH1 0x20
00000fbc: DUP4
00000fbd: ADD
00000fbe: MSTORE
00000fbf: POP
00000fc0: PUSH1 0x40
00000fc2: PUSH2 0x0fcd
00000fc5: DUP5
00000fc6: DUP3
00000fc7: DUP6
00000fc8: ADD
00000fc9: PUSH2 0x0eb2
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: PUSH1 0x40
00000fd0: DUP4
00000fd1: ADD
00000fd2: MSTORE
00000fd3: POP
00000fd4: SWAP3
00000fd5: SWAP2
00000fd6: POP
00000fd7: POP
00000fd8: JUMP
00000fd9: JUMPDEST
00000fda: PUSH0
00000fdb: DUP1
00000fdc: PUSH0
00000fdd: DUP1
00000fde: PUSH0
00000fdf: DUP1
00000fe0: PUSH2 0x01e0
00000fe3: DUP8
00000fe4: DUP10
00000fe5: SUB
00000fe6: SLT
00000fe7: ISZERO
00000fe8: PUSH2 0x0ff2
00000feb: JUMPI
00000fec: PUSH2 0x0ff2
00000fef: PUSH0
00000ff0: DUP1
00000ff1: REVERT
00000ff2: JUMPDEST
00000ff3: PUSH0
00000ff4: PUSH2 0x0ffd
00000ff7: DUP10
00000ff8: DUP10
00000ff9: PUSH2 0x0cd4
00000ffc: JUMP
00000ffd: JUMPDEST
00000ffe: SWAP7
00000fff: POP
00001000: POP
00001001: PUSH1 0x20
00001003: DUP8
00001004: ADD
00001005: CALLDATALOAD
00001006: PUSH8 0xffffffffffffffff
0000100f: DUP2
00001010: GT
00001011: ISZERO
00001012: PUSH2 0x101c
00001015: JUMPI
00001016: PUSH2 0x101c
00001019: PUSH0
0000101a: DUP1
0000101b: REVERT
0000101c: JUMPDEST
0000101d: PUSH2 0x1028
00001020: DUP10
00001021: DUP3
00001022: DUP11
00001023: ADD
00001024: PUSH2 0x0daa
00001027: JUMP
00001028: JUMPDEST
00001029: SWAP6
0000102a: POP
0000102b: POP
0000102c: PUSH1 0x40
0000102e: DUP8
0000102f: ADD
00001030: CALLDATALOAD
00001031: PUSH8 0xffffffffffffffff
0000103a: DUP2
0000103b: GT
0000103c: ISZERO
0000103d: PUSH2 0x1047
00001040: JUMPI
00001041: PUSH2 0x1047
00001044: PUSH0
00001045: DUP1
00001046: REVERT
00001047: JUMPDEST
00001048: PUSH2 0x1053
0000104b: DUP10
0000104c: DUP3
0000104d: DUP11
0000104e: ADD
0000104f: PUSH2 0x0e74
00001052: JUMP
00001053: JUMPDEST
00001054: SWAP5
00001055: POP
00001056: POP
00001057: PUSH1 0x60
00001059: PUSH2 0x1064
0000105c: DUP10
0000105d: DUP3
0000105e: DUP11
0000105f: ADD
00001060: PUSH2 0x0ebd
00001063: JUMP
00001064: JUMPDEST
00001065: SWAP4
00001066: POP
00001067: POP
00001068: PUSH2 0x0160
0000106b: PUSH2 0x1076
0000106e: DUP10
0000106f: DUP3
00001070: DUP11
00001071: ADD
00001072: PUSH2 0x0f7e
00001075: JUMP
00001076: JUMPDEST
00001077: SWAP3
00001078: POP
00001079: POP
0000107a: PUSH2 0x01c0
0000107d: DUP8
0000107e: ADD
0000107f: CALLDATALOAD
00001080: PUSH8 0xffffffffffffffff
00001089: DUP2
0000108a: GT
0000108b: ISZERO
0000108c: PUSH2 0x1096
0000108f: JUMPI
00001090: PUSH2 0x1096
00001093: PUSH0
00001094: DUP1
00001095: REVERT
00001096: JUMPDEST
00001097: PUSH2 0x10a2
0000109a: DUP10
0000109b: DUP3
0000109c: DUP11
0000109d: ADD
0000109e: PUSH2 0x0daa
000010a1: JUMP
000010a2: JUMPDEST
000010a3: SWAP2
000010a4: POP
000010a5: POP
000010a6: SWAP3
000010a7: SWAP6
000010a8: POP
000010a9: SWAP3
000010aa: SWAP6
000010ab: POP
000010ac: SWAP3
000010ad: SWAP6
000010ae: JUMP
000010af: JUMPDEST
000010b0: PUSH4 0x4e487b71
000010b5: PUSH1 0xe0
000010b7: SHL
000010b8: PUSH0
000010b9: MSTORE
000010ba: PUSH1 0x11
000010bc: PUSH1 0x04
000010be: MSTORE
000010bf: PUSH1 0x24
000010c1: PUSH0
000010c2: REVERT
000010c3: JUMPDEST
000010c4: DUP2
000010c5: DUP2
000010c6: MUL
000010c7: DUP1
000010c8: DUP3
000010c9: ISZERO
000010ca: DUP4
000010cb: DUP3
000010cc: DIV
000010cd: DUP6
000010ce: EQ
000010cf: OR
000010d0: PUSH2 0x10db
000010d3: JUMPI
000010d4: PUSH2 0x10db
000010d7: PUSH2 0x10af
000010da: JUMP
000010db: JUMPDEST
000010dc: POP
000010dd: SWAP3
000010de: SWAP2
000010df: POP
000010e0: POP
000010e1: JUMP
000010e2: JUMPDEST
000010e3: DUP1
000010e4: DUP3
000010e5: ADD
000010e6: DUP1
000010e7: DUP3
000010e8: GT
000010e9: ISZERO
000010ea: PUSH2 0x0683
000010ed: JUMPI
000010ee: PUSH2 0x0683
000010f1: PUSH2 0x10af
000010f4: JUMP
000010f5: JUMPDEST
000010f6: DUP3
000010f7: DUP2
000010f8: DUP4
000010f9: MCOPY
000010fa: POP
000010fb: PUSH0
000010fc: SWAP2
000010fd: ADD
000010fe: MSTORE
000010ff: JUMP
00001100: JUMPDEST
00001101: PUSH0
00001102: PUSH2 0x1109
00001105: DUP3
00001106: MLOAD
00001107: SWAP1
00001108: JUMP
00001109: JUMPDEST
0000110a: DUP1
0000110b: DUP5
0000110c: MSTORE
0000110d: PUSH1 0x20
0000110f: DUP5
00001110: ADD
00001111: SWAP4
00001112: POP
00001113: PUSH2 0x1120
00001116: DUP2
00001117: DUP6
00001118: PUSH1 0x20
0000111a: DUP7
0000111b: ADD
0000111c: PUSH2 0x10f5
0000111f: JUMP
00001120: JUMPDEST
00001121: PUSH1 0x1f
00001123: ADD
00001124: PUSH1 0x1f
00001126: NOT
00001127: AND
00001128: SWAP3
00001129: SWAP1
0000112a: SWAP3
0000112b: ADD
0000112c: SWAP3
0000112d: SWAP2
0000112e: POP
0000112f: POP
00001130: JUMP
00001131: JUMPDEST
00001132: PUSH2 0x113a
00001135: DUP2
00001136: PUSH2 0x0df7
00001139: JUMP
0000113a: JUMPDEST
0000113b: DUP3
0000113c: MSTORE
0000113d: POP
0000113e: POP
0000113f: JUMP
00001140: JUMPDEST
00001141: PUSH0
00001142: PUSH2 0x114b
00001145: DUP4
00001146: DUP4
00001147: PUSH2 0x1131
0000114a: JUMP
0000114b: JUMPDEST
0000114c: POP
0000114d: POP
0000114e: PUSH1 0x20
00001150: ADD
00001151: SWAP1
00001152: JUMP
00001153: JUMPDEST
00001154: PUSH0
00001155: PUSH2 0x115c
00001158: DUP3
00001159: MLOAD
0000115a: SWAP1
0000115b: JUMP
0000115c: JUMPDEST
0000115d: DUP1
0000115e: DUP5
0000115f: MSTORE
00001160: PUSH1 0x20
00001162: SWAP4
00001163: DUP5
00001164: ADD
00001165: SWAP4
00001166: DUP4
00001167: ADD
00001168: DUP1
00001169: PUSH0
0000116a: JUMPDEST
0000116b: DUP4
0000116c: DUP2
0000116d: LT
0000116e: ISZERO
0000116f: PUSH2 0x118f
00001172: JUMPI
00001173: DUP2
00001174: MLOAD
00001175: PUSH2 0x117e
00001178: DUP9
00001179: DUP3
0000117a: PUSH2 0x1140
0000117d: JUMP
0000117e: JUMPDEST
0000117f: SWAP8
00001180: POP
00001181: PUSH1 0x20
00001183: DUP4
00001184: ADD
00001185: SWAP3
00001186: POP
00001187: POP
00001188: PUSH1 0x01
0000118a: ADD
0000118b: PUSH2 0x116a
0000118e: JUMP
0000118f: JUMPDEST
00001190: POP
00001191: SWAP5
00001192: SWAP6
00001193: SWAP5
00001194: POP
00001195: POP
00001196: POP
00001197: POP
00001198: POP
00001199: JUMP
0000119a: JUMPDEST
0000119b: DUP1
0000119c: PUSH2 0x113a
0000119f: JUMP
000011a0: JUMPDEST
000011a1: PUSH1 0xff
000011a3: DUP2
000011a4: AND
000011a5: PUSH2 0x113a
000011a8: JUMP
000011a9: JUMPDEST
000011aa: DUP1
000011ab: ISZERO
000011ac: ISZERO
000011ad: PUSH2 0x113a
000011b0: JUMP
000011b1: JUMPDEST
000011b2: DUP1
000011b3: MLOAD
000011b4: PUSH2 0x0100
000011b7: DUP4
000011b8: ADD
000011b9: SWAP1
000011ba: PUSH2 0x11c3
000011bd: DUP5
000011be: DUP3
000011bf: PUSH2 0x119a
000011c2: JUMP
000011c3: JUMPDEST
000011c4: POP
000011c5: PUSH1 0x20
000011c7: DUP3
000011c8: ADD
000011c9: MLOAD
000011ca: PUSH2 0x11d6
000011cd: PUSH1 0x20
000011cf: DUP6
000011d0: ADD
000011d1: DUP3
000011d2: PUSH2 0x119a
000011d5: JUMP
000011d6: JUMPDEST
000011d7: POP
000011d8: PUSH1 0x40
000011da: DUP3
000011db: ADD
000011dc: MLOAD
000011dd: PUSH2 0x11e9
000011e0: PUSH1 0x40
000011e2: DUP6
000011e3: ADD
000011e4: DUP3
000011e5: PUSH2 0x119a
000011e8: JUMP
000011e9: JUMPDEST
000011ea: POP
000011eb: PUSH1 0x60
000011ed: DUP3
000011ee: ADD
000011ef: MLOAD
000011f0: PUSH2 0x11fc
000011f3: PUSH1 0x60
000011f5: DUP6
000011f6: ADD
000011f7: DUP3
000011f8: PUSH2 0x119a
000011fb: JUMP
000011fc: JUMPDEST
000011fd: POP
000011fe: PUSH1 0x80
00001200: DUP3
00001201: ADD
00001202: MLOAD
00001203: PUSH2 0x120f
00001206: PUSH1 0x80
00001208: DUP6
00001209: ADD
0000120a: DUP3
0000120b: PUSH2 0x119a
0000120e: JUMP
0000120f: JUMPDEST
00001210: POP
00001211: PUSH1 0xa0
00001213: DUP3
00001214: ADD
00001215: MLOAD
00001216: PUSH2 0x1222
00001219: PUSH1 0xa0
0000121b: DUP6
0000121c: ADD
0000121d: DUP3
0000121e: PUSH2 0x11a0
00001221: JUMP
00001222: JUMPDEST
00001223: POP
00001224: PUSH1 0xc0
00001226: DUP3
00001227: ADD
00001228: MLOAD
00001229: PUSH2 0x1235
0000122c: PUSH1 0xc0
0000122e: DUP6
0000122f: ADD
00001230: DUP3
00001231: PUSH2 0x11a0
00001234: JUMP
00001235: JUMPDEST
00001236: POP
00001237: PUSH1 0xe0
00001239: DUP3
0000123a: ADD
0000123b: MLOAD
0000123c: PUSH2 0x07ec
0000123f: PUSH1 0xe0
00001241: DUP6
00001242: ADD
00001243: DUP3
00001244: PUSH2 0x11a9
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH2 0x0160
0000124c: DUP1
0000124d: DUP3
0000124e: MSTORE
0000124f: DUP2
00001250: ADD
00001251: PUSH2 0x125a
00001254: DUP2
00001255: DUP8
00001256: PUSH2 0x1100
00001259: JUMP
0000125a: JUMPDEST
0000125b: SWAP1
0000125c: POP
0000125d: DUP2
0000125e: DUP2
0000125f: SUB
00001260: PUSH1 0x20
00001262: DUP4
00001263: ADD
00001264: MSTORE
00001265: PUSH2 0x126e
00001268: DUP2
00001269: DUP7
0000126a: PUSH2 0x1153
0000126d: JUMP
0000126e: JUMPDEST
0000126f: SWAP1
00001270: POP
00001271: PUSH2 0x127d
00001274: PUSH1 0x40
00001276: DUP4
00001277: ADD
00001278: DUP6
00001279: PUSH2 0x11b1
0000127c: JUMP
0000127d: JUMPDEST
0000127e: DUP2
0000127f: DUP2
00001280: SUB
00001281: PUSH2 0x0140
00001284: DUP4
00001285: ADD
00001286: MSTORE
00001287: PUSH2 0x1290
0000128a: DUP2
0000128b: DUP5
0000128c: PUSH2 0x1100
0000128f: JUMP
00001290: JUMPDEST
00001291: SWAP7
00001292: SWAP6
00001293: POP
00001294: POP
00001295: POP
00001296: POP
00001297: POP
00001298: POP
00001299: JUMP
0000129a: JUMPDEST
0000129b: DUP1
0000129c: MLOAD
0000129d: PUSH2 0x0683
000012a0: DUP2
000012a1: PUSH2 0x0cc8
000012a4: JUMP
000012a5: JUMPDEST
000012a6: PUSH0
000012a7: PUSH1 0x20
000012a9: DUP3
000012aa: DUP5
000012ab: SUB
000012ac: SLT
000012ad: ISZERO
000012ae: PUSH2 0x12b8
000012b1: JUMPI
000012b2: PUSH2 0x12b8
000012b5: PUSH0
000012b6: DUP1
000012b7: REVERT
000012b8: JUMPDEST
000012b9: PUSH0
000012ba: PUSH2 0x0dcc
000012bd: DUP5
000012be: DUP5
000012bf: PUSH2 0x129a
000012c2: JUMP
000012c3: JUMPDEST
000012c4: PUSH1 0x40
000012c6: DUP2
000012c7: ADD
000012c8: PUSH2 0x12d1
000012cb: DUP3
000012cc: DUP6
000012cd: PUSH2 0x119a
000012d0: JUMP
000012d1: JUMPDEST
000012d2: PUSH2 0x12de
000012d5: PUSH1 0x20
000012d7: DUP4
000012d8: ADD
000012d9: DUP5
000012da: PUSH2 0x119a
000012dd: JUMP
000012de: JUMPDEST
000012df: SWAP4
000012e0: SWAP3
000012e1: POP
000012e2: POP
000012e3: POP
000012e4: JUMP
000012e5: JUMPDEST
000012e6: PUSH1 0x01
000012e8: PUSH1 0x01
000012ea: PUSH1 0xe0
000012ec: SHL
000012ed: SUB
000012ee: NOT
000012ef: DUP2
000012f0: AND
000012f1: PUSH2 0x0cca
000012f4: JUMP
000012f5: JUMPDEST
000012f6: DUP1
000012f7: CALLDATALOAD
000012f8: PUSH2 0x0683
000012fb: DUP2
000012fc: PUSH2 0x12e5
000012ff: JUMP
00001300: JUMPDEST
00001301: PUSH0
00001302: PUSH1 0x20
00001304: DUP3
00001305: DUP5
00001306: SUB
00001307: SLT
00001308: ISZERO
00001309: PUSH2 0x1313
0000130c: JUMPI
0000130d: PUSH2 0x1313
00001310: PUSH0
00001311: DUP1
00001312: REVERT
00001313: JUMPDEST
00001314: PUSH0
00001315: PUSH2 0x0dcc
00001318: DUP5
00001319: DUP5
0000131a: PUSH2 0x12f5
0000131d: JUMP
0000131e: JUMPDEST
0000131f: PUSH1 0x20
00001321: DUP2
00001322: ADD
00001323: PUSH2 0x0683
00001326: DUP3
00001327: DUP5
00001328: PUSH2 0x11a9
0000132b: JUMP
0000132c: JUMPDEST
0000132d: PUSH1 0x20
0000132f: DUP2
00001330: ADD
00001331: PUSH2 0x0683
00001334: DUP3
00001335: DUP5
00001336: PUSH2 0x119a
00001339: JUMP
0000133a: JUMPDEST
0000133b: PUSH0
0000133c: PUSH1 0x60
0000133e: DUP3
0000133f: DUP5
00001340: SUB
00001341: SLT
00001342: ISZERO
00001343: PUSH2 0x134d
00001346: JUMPI
00001347: PUSH2 0x134d
0000134a: PUSH0
0000134b: DUP1
0000134c: REVERT
0000134d: JUMPDEST
0000134e: PUSH0
0000134f: PUSH2 0x0dcc
00001352: DUP5
00001353: DUP5
00001354: PUSH2 0x0f7e
00001357: JUMP
00001358: JUMPDEST
00001359: PUSH0
0000135a: PUSH1 0x20
0000135c: DUP3
0000135d: DUP5
0000135e: SUB
0000135f: SLT
00001360: ISZERO
00001361: PUSH2 0x136b
00001364: JUMPI
00001365: PUSH2 0x136b
00001368: PUSH0
00001369: DUP1
0000136a: REVERT
0000136b: JUMPDEST
0000136c: PUSH0
0000136d: PUSH2 0x0dcc
00001370: DUP5
00001371: DUP5
00001372: PUSH2 0x0cd4
00001375: JUMP
00001376: JUMPDEST
00001377: PUSH0
00001378: DUP1
00001379: PUSH1 0x40
0000137b: DUP4
0000137c: DUP6
0000137d: SUB
0000137e: SLT
0000137f: ISZERO
00001380: PUSH2 0x138a
00001383: JUMPI
00001384: PUSH2 0x138a
00001387: PUSH0
00001388: DUP1
00001389: REVERT
0000138a: JUMPDEST
0000138b: PUSH0
0000138c: PUSH2 0x1395
0000138f: DUP6
00001390: DUP6
00001391: PUSH2 0x0cd4
00001394: JUMP
00001395: JUMPDEST
00001396: SWAP3
00001397: POP
00001398: POP
00001399: PUSH1 0x20
0000139b: PUSH2 0x13a6
0000139e: DUP6
0000139f: DUP3
000013a0: DUP7
000013a1: ADD
000013a2: PUSH2 0x0e10
000013a5: JUMP
000013a6: JUMPDEST
000013a7: SWAP2
000013a8: POP
000013a9: POP
000013aa: SWAP3
000013ab: POP
000013ac: SWAP3
000013ad: SWAP1
000013ae: POP
000013af: JUMP
000013b0: JUMPDEST
000013b1: PUSH0
000013b2: PUSH1 0x20
000013b4: DUP3
000013b5: DUP5
000013b6: SUB
000013b7: SLT
000013b8: ISZERO
000013b9: PUSH2 0x13c3
000013bc: JUMPI
000013bd: PUSH2 0x13c3
000013c0: PUSH0
000013c1: DUP1
000013c2: REVERT
000013c3: JUMPDEST
000013c4: DUP2
000013c5: CALLDATALOAD
000013c6: PUSH8 0xffffffffffffffff
000013cf: DUP2
000013d0: GT
000013d1: ISZERO
000013d2: PUSH2 0x13dc
000013d5: JUMPI
000013d6: PUSH2 0x13dc
000013d9: PUSH0
000013da: DUP1
000013db: REVERT
000013dc: JUMPDEST
000013dd: PUSH2 0x0dcc
000013e0: DUP5
000013e1: DUP3
000013e2: DUP6
000013e3: ADD
000013e4: PUSH2 0x0e74
000013e7: JUMP
000013e8: JUMPDEST
000013e9: PUSH1 0x20
000013eb: DUP2
000013ec: ADD
000013ed: PUSH2 0x0683
000013f0: DUP3
000013f1: DUP5
000013f2: PUSH2 0x1131
000013f5: JUMP
000013f6: JUMPDEST
000013f7: PUSH0
000013f8: DUP1
000013f9: PUSH1 0x40
000013fb: DUP4
000013fc: DUP6
000013fd: SUB
000013fe: SLT
000013ff: ISZERO
00001400: PUSH2 0x140a
00001403: JUMPI
00001404: PUSH2 0x140a
00001407: PUSH0
00001408: DUP1
00001409: REVERT
0000140a: JUMPDEST
0000140b: PUSH0
0000140c: PUSH2 0x1415
0000140f: DUP6
00001410: DUP6
00001411: PUSH2 0x0e10
00001414: JUMP
00001415: JUMPDEST
00001416: SWAP3
00001417: POP
00001418: POP
00001419: PUSH1 0x20
0000141b: PUSH2 0x13a6
0000141e: DUP6
0000141f: DUP3
00001420: DUP7
00001421: ADD
00001422: PUSH2 0x0cd4
00001425: JUMP
00001426: JUMPDEST
00001427: PUSH1 0x40
00001429: DUP2
0000142a: ADD
0000142b: PUSH2 0x12d1
0000142e: DUP3
0000142f: DUP6
00001430: PUSH2 0x1131
00001433: JUMP
00001434: JUMPDEST
00001435: PUSH4 0x4e487b71
0000143a: PUSH1 0xe0
0000143c: SHL
0000143d: PUSH0
0000143e: MSTORE
0000143f: PUSH1 0x12
00001441: PUSH1 0x04
00001443: MSTORE
00001444: PUSH1 0x24
00001446: PUSH0
00001447: REVERT
00001448: JUMPDEST
00001449: PUSH0
0000144a: DUP3
0000144b: PUSH2 0x1456
0000144e: JUMPI
0000144f: PUSH2 0x1456
00001452: PUSH2 0x1434
00001455: JUMP
00001456: JUMPDEST
00001457: POP
00001458: DIV
00001459: SWAP1
0000145a: JUMP
0000145b: JUMPDEST
0000145c: PUSH4 0x4e487b71
00001461: PUSH1 0xe0
00001463: SHL
00001464: PUSH0
00001465: MSTORE
00001466: PUSH1 0x32
00001468: PUSH1 0x04
0000146a: MSTORE
0000146b: PUSH1 0x24
0000146d: PUSH0
0000146e: REVERT
0000146f: JUMPDEST
00001470: DUP2
00001471: DUP2
00001472: SUB
00001473: DUP2
00001474: DUP2
00001475: GT
00001476: ISZERO
00001477: PUSH2 0x0683
0000147a: JUMPI
0000147b: PUSH2 0x0683
0000147e: PUSH2 0x10af
00001481: JUMP
00001482: JUMPDEST
00001483: DUP1
00001484: MLOAD
00001485: PUSH2 0x0683
00001488: DUP2
00001489: PUSH2 0x0eaa
0000148c: JUMP
0000148d: JUMPDEST
0000148e: PUSH0
0000148f: PUSH1 0x20
00001491: DUP3
00001492: DUP5
00001493: SUB
00001494: SLT
00001495: ISZERO
00001496: PUSH2 0x14a0
00001499: JUMPI
0000149a: PUSH2 0x14a0
0000149d: PUSH0
0000149e: DUP1
0000149f: REVERT
000014a0: JUMPDEST
000014a1: PUSH0
000014a2: PUSH2 0x0dcc
000014a5: DUP5
000014a6: DUP5
000014a7: PUSH2 0x1482
000014aa: JUMP
000014ab: JUMPDEST
000014ac: PUSH0
000014ad: DUP2
000014ae: PUSH2 0x0683
000014b1: JUMP
000014b2: INVALID
000014b3: UNKNOWN(0xDB)
000014b4: UNKNOWN(0xEB)
000014b5: PUSH6 0x7137b1822b3d
000014bc: SLOAD
000014bd: XOR
000014be: UNKNOWN(0xBE)
000014bf: UNKNOWN(0xA6)
000014c0: REVERT
000014c1: PUSH5 0x1226d964b4
000014c7: UNKNOWN(0xC3)
000014c8: DUP8
000014c9: CLZ
000014ca: CALLCODE
000014cb: CALLDATALOAD
000014cc: CHAINID
000014cd: UNKNOWN(0xDB)
000014ce: UNKNOWN(0x26)
000014cf: UNKNOWN(0x22)
000014d0: UNKNOWN(0x25)
000014d1: DUP9
000014d2: PUSH18 0xa2646970667358221220e840ea2c69aad9f1
000014e5: DUP5
000014e6: DUP4
000014e7: UNKNOWN(0x1F)
000014e8: UNKNOWN(0xEB)
000014e9: UNKNOWN(0xBF)
000014ea: EXTCODEHASH
000014eb: CREATE
000014ec: UNKNOWN(0xDA)
000014ed: DUP13
000014ee: UNKNOWN(0xBD)
000014ef: DUP3
000014f0: UNKNOWN(0xC2)
000014f1: BLOBHASH
000014f2: CODESIZE
000014f3: UNKNOWN(0xE4)
000014f4: PUSH7 0xd6f64a5325fd92
000014fc: UNKNOWN(0xE5)
000014fd: PUSH5 0x736f6c6343
00001503: STOP
00001504: ADDMOD
00001505: BYTE
00001506: STOP
00001507: CALLER

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 no no
view
trace_id: 0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd
call_targets: 0x6f4dca180149a0b3b4df532054a7f0fecbb96170
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6f4dca180149a0b3b4df532054a7f0fecbb96170"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb66437a5",
            "selector": "0xb66437a5",
            "calldata_variants": [
                "0xb66437a5",
                "0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e30db0",
            "selector": "0xd0e30db0",
            "calldata_variants": [
                "0xd0e30db0",
                "0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9bb84c2",
            "selector": "0xe9bb84c2",
            "calldata_variants": [
                "0xe9bb84c2",
                "0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffa1ad74",
            "selector": "0xffa1ad74",
            "calldata_variants": [
                "0xffa1ad74",
                "0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75b238fc",
            "selector": "0x75b238fc",
            "calldata_variants": [
                "0x75b238fc",
                "0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 427,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 602,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1583,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd
call_targets: 0x6f4dca180149a0b3b4df532054a7f0fecbb96170
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x7fadc194c4e87368abf9dd8450b011e4a0f9fee5379bbed6ef75b7454ac56bbd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6f4dca180149a0b3b4df532054a7f0fecbb96170"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb66437a5",
            "selector": "0xb66437a5",
            "calldata_variants": [
                "0xb66437a5",
                "0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e30db0",
            "selector": "0xd0e30db0",
            "calldata_variants": [
                "0xd0e30db0",
                "0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9bb84c2",
            "selector": "0xe9bb84c2",
            "calldata_variants": [
                "0xe9bb84c2",
                "0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffa1ad74",
            "selector": "0xffa1ad74",
            "calldata_variants": [
                "0xffa1ad74",
                "0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75b238fc",
            "selector": "0x75b238fc",
            "calldata_variants": [
                "0x75b238fc",
                "0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 427,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 602,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1583,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [],
    "untrusted_call_count": 8
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x291c27dc51bd30e0148d2f91753fc15c0bf2f1fd98b402e2e9a1f2ab1b94032f
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x291c27dc51bd30e0148d2f91753fc15c0bf2f1fd98b402e2e9a1f2ab1b94032f",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb66437a5",
            "selector": "0xb66437a5",
            "calldata_variants": [
                "0xb66437a5",
                "0xb66437a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd0e30db0",
            "selector": "0xd0e30db0",
            "calldata_variants": [
                "0xd0e30db0",
                "0xd0e30db00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9bb84c2",
            "selector": "0xe9bb84c2",
            "calldata_variants": [
                "0xe9bb84c2",
                "0xe9bb84c20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffa1ad74",
            "selector": "0xffa1ad74",
            "calldata_variants": [
                "0xffa1ad74",
                "0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x75b238fc",
            "selector": "0x75b238fc",
            "calldata_variants": [
                "0x75b238fc",
                "0x75b238fc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91d14854",
            "selector": "0x91d14854",
            "calldata_variants": [
                "0x91d14854",
                "0x91d148540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa217fddf",
            "selector": "0xa217fddf",
            "calldata_variants": [
                "0xa217fddf",
                "0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
medium access_control codex Computed external CALLs with potential value transfer and no detected access control 75 no
view
evidence_json
{
    "evidence": "Detector findings report untrusted CALL target/value reachable with guards_detected=[] and computed target/value; callsites list CALL at pc 427, 602, 1583, 1958, 2417, 2647, 2734. Validation did not confirm target variance (constant self-target observed in one trace).",
    "locations": [
        "pc:0x1ab",
        "pc:0x25a",
        "pc:0x62f",
        "pc:0x7a6",
        "pc:0x971",
        "pc:0xa57",
        "pc:0xaae"
    ],
    "recommendation": "Review all externally reachable functions that lead to the CALL sites and ensure strict access control/whitelisting of targets and values. If these are intended forwarding helpers, limit usage to authorized callers and consider reentrancy protections around state changes. Document the expected target set and enforce it on-chain.",
    "exploit_scenario": "If any publicly reachable function lets a caller influence the CALL target/value/calldata (as suggested by computed target/value at multiple callsites), an attacker could route contract balance to arbitrary destinations or trigger external side effects; reentrancy could also be possible depending on surrounding state updates. This is uncertain because one trace validation observed a constant self-target, but it did not confirm target variance across all paths."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
low other codex CALLCODE opcode present (reachability uncertain) 65 no
view
evidence_json
{
    "evidence": "Callsides list includes CALLCODE at pc 5322; nearby basic block (start_pc 5313) contains CALLCODE/CREATE/STOP/INVALID-like bytes suggesting a non-executable data section, so reachability is unclear.",
    "locations": [
        "pc:0x14ca"
    ],
    "recommendation": "Confirm the CALLCODE site is unreachable; if reachable, remove it or restrict access tightly. Prefer DELEGATECALL only when absolutely necessary and with strict input/target validation.",
    "exploit_scenario": "If the CALLCODE site is reachable from a public entrypoint, it executes callee code in the caller\u2019s storage context, enabling arbitrary storage mutation and potential fund theft similar to delegatecall. However, the surrounding bytes look like a data/metadata region (INVALID/STOP nearby), so this may be unreachable."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 6
}