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

Analysis Run

019bb377-6988-7237-b1cc-14a9ae159ea2

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 6:28 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
39790 artifact.fetch complete 1 / 3 3 months ago
39791 proxy.resolve complete 1 / 3 3 months ago
39792 tool.cast_disasm complete 1 / 3 3 months ago
39793 analysis.bundle complete 1 / 3 3 months ago
39794 capability.graph complete 1 / 3 3 months ago
39795 detector.run complete 1 / 3 3 months ago
39796 validation.fork complete 1 / 3 3 months ago
39951 report.consolidate complete 1 / 6 3 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
1
No findings?
no
Summary
Bytecode shows multiple external CALLs to computed targets (some with non‑zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.
View stdout
{"no_findings":false,"summary":"Bytecode shows multiple external CALLs to computed targets (some with non‑zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.","findings":[{"severity":"medium","category":"other","title":"Computed-target CALLs with possible ETH value transfer","exploit_scenario":"If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control.","recommendation":"Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects‑before‑interactions.","evidence":"Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.","locations":["pc:0xE8","pc:0x20B","pc:0x559","pc:0x5C3","pc:0x66C"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-r4ob7ura
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb383-6834-71e0-b843-2b58299d863c
--------
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
**Reading BYTECODE_BUNDLE.json file**
exec
/bin/bash -lc ls in /tmp/codex-r4ob7ura succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-r4ob7ura succeeded in 6ms:
{
  "analysis_artifact": {
    "address": "0xee895136f60984ad428830eb622f9e1f91a13a45",
    "artifact_hash": "0x008ab4ecbe7c10bceba25cef3224dd894021afe0b41ba034cf580cb8609bc1da",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0xf47ff7d5391d54f9850297717da618d2b3dc432df9d6895ec8b78ca2b9a65730",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Analyzing bytecode for security patterns**
exec
/bin/bash -lc 'rg -n "storage|slot|selector|proxy|delegatecall|eip1967|beacon|implementation" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-r4ob7ura succeeded in 16ms:
6480:      "dispatcher_type": "selector_jump_table",
6484:          "selector": "0x2c00b718"
6488:          "selector": "0x90619853"
6492:          "selector": "0xa5518ac9"
6496:          "selector": "0xffffffff"
6505:          "selector": "0x2c00b718",
6508:            "delegatecall": 0,
6512:          "storage": {
6514:            "slots": [
6518:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6523:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6528:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6533:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6538:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6543:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
6548:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6553:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
6558:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6563:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6568:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"

thinking
**Checking storage and selector details**
exec
/bin/bash -lc "sed -n '6460,6925p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 17ms:
          "to": "bb:4259",
          "type": "control_flow"
        },
        {
          "from": "bb:4228",
          "to": "bb:4255",
          "type": "control_flow_fallthrough"
        },
        {
          "from": "bb:4267",
          "to": "bb:579",
          "type": "control_flow"
        },
        {
          "from": "bb:4267",
          "to": "bb:4284",
          "type": "control_flow_fallthrough"
        }
      ],
      "cfg_hash": "0xeed66c0f725a5ada0dc78f8b7871d48838ca336c6af199ee94f254024e14c860",



thinking
**Analyzing on-chain contract bytecode and behavior**

I'm examining the runtime bytecode to infer key functions and their interaction with Uniswap V2 pairs, noting owner checks via storage slot 0 and several external calls for token operations. The contract seems owner-restricted with no storage writes, potentially a router or aggregator interacting with tokens and pairs, paying special attention to possible reentrancy and untrusted calls despite the absence of state changes.
thinking
**Evaluating external calls and potential risks**

I’m carefully reviewing multiple external CALL instructions with computed targets and possible ETH transfer, weighing the presence of owner checks versus missing guard detection, and considering how untrusted inputs might enable arbitrary calls or reentrancy effects despite no storage writes. The uncertainty around access control and call target sources leads me to highlight these as cautious medium-to-low severity concerns.
thinking
**Reviewing analysis artifact for call evidence**
exec
/bin/bash -lc 'rg -n "evidence|callsites|callsite" BYTECODE_BUNDLE.json | head -n 100' in /tmp/codex-r4ob7ura succeeded in 14ms:
5008:      "callsites": [
6908:      "proxy_evidence": {
10377:          "type": "callsite"
10383:          "type": "callsite"
10389:          "type": "callsite"
10395:          "type": "callsite"
10401:          "type": "callsite"
10407:          "type": "callsite"
10413:          "type": "callsite"
10419:          "type": "callsite"
10425:          "type": "callsite"
10431:          "type": "callsite"
10437:          "type": "callsite"
10443:          "type": "callsite"
10449:          "type": "callsite"
10455:          "type": "callsite"
10461:          "type": "callsite"
10467:          "type": "callsite"
10511:      "evidence_json": {
10563:      "evidence_json": {
exec
/bin/bash -lc "sed -n '4980,5060p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 8ms:
            "CODECOPY",
            "OP_EF",
            "OP_E7",
            "XOR",
            "PUSH26",
            "STOP"
          ],
          "start_pc": 4289
        },
        {
          "end_pc": 4340,
          "hash": "0xa75c30fad7f1a5d71af1f114d952694ae9c6209ed5e36458e53670d7c5ccfcaa",
          "opcodes": [
            "SMOD",
            "ADD",
            "STOP"
          ],
          "start_pc": 4338
        },
        {
exec
/bin/bash -lc "sed -n '5060,5135p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 28ms:
          "pc": 1369,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1475,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 1644,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {

thinking
**Summarizing potential vulnerabilities and findings**

I’m organizing the main findings around untrusted external CALLs with computed targets and possible ETH value transfers, noting medium severity due to access control uncertainty. I'll include evidence from detector findings and specific program counters while acknowledging guard checks found in bytecode yet inconclusive for full coverage. The output will follow the JSON schema, combining details about exploit scenarios, recommendations, and context about absent proxy/upgrade patterns.
codex
{"no_findings":false,"summary":"Bytecode shows multiple external CALLs to computed targets (some with non‑zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.","findings":[{"severity":"medium","category":"other","title":"Computed-target CALLs with possible ETH value transfer","exploit_scenario":"If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control.","recommendation":"Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects‑before‑interactions.","evidence":"Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.","locations":["pc:0xE8","pc:0x20B","pc:0x559","pc:0x5C3","pc:0x66C"]}]}
tokens used
43,860
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T18:45:36.666744+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 8686,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows multiple external CALLs to computed targets (some with non\u2011zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.",
    "raw_final": {
        "summary": "Bytecode shows multiple external CALLs to computed targets (some with non\u2011zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.",
        "findings": [
            {
                "title": "Computed-target CALLs with possible ETH value transfer",
                "category": "other",
                "evidence": "Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.",
                "severity": "medium",
                "locations": [
                    "pc:0xE8",
                    "pc:0x20B",
                    "pc:0x559",
                    "pc:0x5C3",
                    "pc:0x66C"
                ],
                "recommendation": "Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects\u2011before\u2011interactions.",
                "exploit_scenario": "If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
15
Total opcodes
3093
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0034
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x2c00b718
00000019: EQ
0000001a: PUSH2 0x0039
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x90619853
00000024: EQ
00000025: PUSH2 0x0063
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xa5518ac9
0000002f: EQ
00000030: PUSH2 0x0085
00000033: JUMPI
00000034: JUMPDEST
00000035: PUSH1 0x00
00000037: DUP1
00000038: REVERT
00000039: JUMPDEST
0000003a: PUSH2 0x004c
0000003d: PUSH2 0x0047
00000040: CALLDATASIZE
00000041: PUSH1 0x04
00000043: PUSH2 0x0d7b
00000046: JUMP
00000047: JUMPDEST
00000048: PUSH2 0x00a5
0000004b: JUMP
0000004c: JUMPDEST
0000004d: PUSH1 0x40
0000004f: MLOAD
00000050: PUSH2 0x005a
00000053: SWAP3
00000054: SWAP2
00000055: SWAP1
00000056: PUSH2 0x0ee5
00000059: JUMP
0000005a: JUMPDEST
0000005b: PUSH1 0x40
0000005d: MLOAD
0000005e: DUP1
0000005f: SWAP2
00000060: SUB
00000061: SWAP1
00000062: RETURN
00000063: JUMPDEST
00000064: CALLVALUE
00000065: DUP1
00000066: ISZERO
00000067: PUSH2 0x006f
0000006a: JUMPI
0000006b: PUSH1 0x00
0000006d: DUP1
0000006e: REVERT
0000006f: JUMPDEST
00000070: POP
00000071: PUSH2 0x0083
00000074: PUSH2 0x007e
00000077: CALLDATASIZE
00000078: PUSH1 0x04
0000007a: PUSH2 0x0c38
0000007d: JUMP
0000007e: JUMPDEST
0000007f: PUSH2 0x012b
00000082: JUMP
00000083: JUMPDEST
00000084: STOP
00000085: JUMPDEST
00000086: CALLVALUE
00000087: DUP1
00000088: ISZERO
00000089: PUSH2 0x0091
0000008c: JUMPI
0000008d: PUSH1 0x00
0000008f: DUP1
00000090: REVERT
00000091: JUMPDEST
00000092: POP
00000093: PUSH2 0x0083
00000096: PUSH2 0x00a0
00000099: CALLDATASIZE
0000009a: PUSH1 0x04
0000009c: PUSH2 0x0dff
0000009f: JUMP
000000a0: JUMPDEST
000000a1: PUSH2 0x0246
000000a4: JUMP
000000a5: JUMPDEST
000000a6: PUSH1 0x00
000000a8: DUP1
000000a9: SLOAD
000000aa: PUSH1 0x60
000000ac: SWAP1
000000ad: PUSH1 0x01
000000af: PUSH1 0x01
000000b1: PUSH1 0xa0
000000b3: SHL
000000b4: SUB
000000b5: AND
000000b6: CALLER
000000b7: EQ
000000b8: PUSH2 0x00c0
000000bb: JUMPI
000000bc: PUSH1 0x00
000000be: DUP1
000000bf: REVERT
000000c0: JUMPDEST
000000c1: DUP5
000000c2: PUSH1 0x01
000000c4: PUSH1 0x01
000000c6: PUSH1 0xa0
000000c8: SHL
000000c9: SUB
000000ca: AND
000000cb: DUP7
000000cc: DUP6
000000cd: DUP6
000000ce: PUSH1 0x40
000000d0: MLOAD
000000d1: PUSH2 0x00db
000000d4: SWAP3
000000d5: SWAP2
000000d6: SWAP1
000000d7: PUSH2 0x0ea7
000000da: JUMP
000000db: JUMPDEST
000000dc: PUSH1 0x00
000000de: PUSH1 0x40
000000e0: MLOAD
000000e1: DUP1
000000e2: DUP4
000000e3: SUB
000000e4: DUP2
000000e5: DUP6
000000e6: DUP8
000000e7: GAS
000000e8: CALL
000000e9: SWAP3
000000ea: POP
000000eb: POP
000000ec: POP
000000ed: RETURNDATASIZE
000000ee: DUP1
000000ef: PUSH1 0x00
000000f1: DUP2
000000f2: EQ
000000f3: PUSH2 0x0118
000000f6: JUMPI
000000f7: PUSH1 0x40
000000f9: MLOAD
000000fa: SWAP2
000000fb: POP
000000fc: PUSH1 0x1f
000000fe: NOT
000000ff: PUSH1 0x3f
00000101: RETURNDATASIZE
00000102: ADD
00000103: AND
00000104: DUP3
00000105: ADD
00000106: PUSH1 0x40
00000108: MSTORE
00000109: RETURNDATASIZE
0000010a: DUP3
0000010b: MSTORE
0000010c: RETURNDATASIZE
0000010d: PUSH1 0x00
0000010f: PUSH1 0x20
00000111: DUP5
00000112: ADD
00000113: RETURNDATACOPY
00000114: PUSH2 0x011d
00000117: JUMP
00000118: JUMPDEST
00000119: PUSH1 0x60
0000011b: SWAP2
0000011c: POP
0000011d: JUMPDEST
0000011e: POP
0000011f: SWAP2
00000120: POP
00000121: SWAP2
00000122: POP
00000123: SWAP5
00000124: POP
00000125: SWAP5
00000126: SWAP3
00000127: POP
00000128: POP
00000129: POP
0000012a: JUMP
0000012b: JUMPDEST
0000012c: PUSH1 0x00
0000012e: SLOAD
0000012f: PUSH1 0x01
00000131: PUSH1 0x01
00000133: PUSH1 0xa0
00000135: SHL
00000136: SUB
00000137: AND
00000138: CALLER
00000139: EQ
0000013a: PUSH2 0x0142
0000013d: JUMPI
0000013e: PUSH1 0x00
00000140: DUP1
00000141: REVERT
00000142: JUMPDEST
00000143: PUSH1 0x40
00000145: MLOAD
00000146: PUSH4 0x70a08231
0000014b: PUSH1 0xe0
0000014d: SHL
0000014e: DUP2
0000014f: MSTORE
00000150: PUSH1 0x01
00000152: PUSH1 0x01
00000154: PUSH1 0xa0
00000156: SHL
00000157: SUB
00000158: DUP3
00000159: AND
0000015a: SWAP1
0000015b: PUSH4 0x70a08231
00000160: SWAP1
00000161: PUSH2 0x016e
00000164: SWAP1
00000165: DUP5
00000166: SWAP1
00000167: PUSH1 0x04
00000169: ADD
0000016a: PUSH2 0x0eb7
0000016d: JUMP
0000016e: JUMPDEST
0000016f: PUSH1 0x20
00000171: PUSH1 0x40
00000173: MLOAD
00000174: DUP1
00000175: DUP4
00000176: SUB
00000177: DUP2
00000178: DUP7
00000179: DUP1
0000017a: EXTCODESIZE
0000017b: ISZERO
0000017c: DUP1
0000017d: ISZERO
0000017e: PUSH2 0x0186
00000181: JUMPI
00000182: PUSH1 0x00
00000184: DUP1
00000185: REVERT
00000186: JUMPDEST
00000187: POP
00000188: GAS
00000189: STATICCALL
0000018a: ISZERO
0000018b: DUP1
0000018c: ISZERO
0000018d: PUSH2 0x019a
00000190: JUMPI
00000191: RETURNDATASIZE
00000192: PUSH1 0x00
00000194: DUP1
00000195: RETURNDATACOPY
00000196: RETURNDATASIZE
00000197: PUSH1 0x00
00000199: REVERT
0000019a: JUMPDEST
0000019b: POP
0000019c: POP
0000019d: POP
0000019e: POP
0000019f: PUSH1 0x40
000001a1: MLOAD
000001a2: RETURNDATASIZE
000001a3: PUSH1 0x1f
000001a5: NOT
000001a6: PUSH1 0x1f
000001a8: DUP3
000001a9: ADD
000001aa: AND
000001ab: DUP3
000001ac: ADD
000001ad: DUP1
000001ae: PUSH1 0x40
000001b0: MSTORE
000001b1: POP
000001b2: DUP2
000001b3: ADD
000001b4: SWAP1
000001b5: PUSH2 0x01be
000001b8: SWAP2
000001b9: SWAP1
000001ba: PUSH2 0x0d63
000001bd: JUMP
000001be: JUMPDEST
000001bf: ISZERO
000001c0: PUSH2 0x0243
000001c3: JUMPI
000001c4: PUSH1 0x40
000001c6: MLOAD
000001c7: PUSH4 0x226bf2d1
000001cc: PUSH1 0xe2
000001ce: SHL
000001cf: DUP2
000001d0: MSTORE
000001d1: PUSH1 0x01
000001d3: PUSH1 0x01
000001d5: PUSH1 0xa0
000001d7: SHL
000001d8: SUB
000001d9: DUP3
000001da: AND
000001db: SWAP1
000001dc: PUSH4 0x89afcb44
000001e1: SWAP1
000001e2: PUSH2 0x01ef
000001e5: SWAP1
000001e6: ADDRESS
000001e7: SWAP1
000001e8: PUSH1 0x04
000001ea: ADD
000001eb: PUSH2 0x0eb7
000001ee: JUMP
000001ef: JUMPDEST
000001f0: PUSH1 0x40
000001f2: DUP1
000001f3: MLOAD
000001f4: DUP1
000001f5: DUP4
000001f6: SUB
000001f7: DUP2
000001f8: PUSH1 0x00
000001fa: DUP8
000001fb: DUP1
000001fc: EXTCODESIZE
000001fd: ISZERO
000001fe: DUP1
000001ff: ISZERO
00000200: PUSH2 0x0208
00000203: JUMPI
00000204: PUSH1 0x00
00000206: DUP1
00000207: REVERT
00000208: JUMPDEST
00000209: POP
0000020a: GAS
0000020b: CALL
0000020c: ISZERO
0000020d: DUP1
0000020e: ISZERO
0000020f: PUSH2 0x021c
00000212: JUMPI
00000213: RETURNDATASIZE
00000214: PUSH1 0x00
00000216: DUP1
00000217: RETURNDATACOPY
00000218: RETURNDATASIZE
00000219: PUSH1 0x00
0000021b: REVERT
0000021c: JUMPDEST
0000021d: POP
0000021e: POP
0000021f: POP
00000220: POP
00000221: PUSH1 0x40
00000223: MLOAD
00000224: RETURNDATASIZE
00000225: PUSH1 0x1f
00000227: NOT
00000228: PUSH1 0x1f
0000022a: DUP3
0000022b: ADD
0000022c: AND
0000022d: DUP3
0000022e: ADD
0000022f: DUP1
00000230: PUSH1 0x40
00000232: MSTORE
00000233: POP
00000234: DUP2
00000235: ADD
00000236: SWAP1
00000237: PUSH2 0x0240
0000023a: SWAP2
0000023b: SWAP1
0000023c: PUSH2 0x0e39
0000023f: JUMP
00000240: JUMPDEST
00000241: POP
00000242: POP
00000243: JUMPDEST
00000244: POP
00000245: JUMP
00000246: JUMPDEST
00000247: PUSH1 0x00
00000249: SLOAD
0000024a: PUSH1 0x01
0000024c: PUSH1 0x01
0000024e: PUSH1 0xa0
00000250: SHL
00000251: SUB
00000252: AND
00000253: CALLER
00000254: EQ
00000255: PUSH2 0x025d
00000258: JUMPI
00000259: PUSH1 0x00
0000025b: DUP1
0000025c: REVERT
0000025d: JUMPDEST
0000025e: PUSH1 0x00
00000260: DUP1
00000261: DUP4
00000262: PUSH1 0x01
00000264: PUSH1 0x01
00000266: PUSH1 0xa0
00000268: SHL
00000269: SUB
0000026a: AND
0000026b: PUSH4 0x0902f1ac
00000270: PUSH1 0x40
00000272: MLOAD
00000273: DUP2
00000274: PUSH4 0xffffffff
00000279: AND
0000027a: PUSH1 0xe0
0000027c: SHL
0000027d: DUP2
0000027e: MSTORE
0000027f: PUSH1 0x04
00000281: ADD
00000282: PUSH1 0x60
00000284: PUSH1 0x40
00000286: MLOAD
00000287: DUP1
00000288: DUP4
00000289: SUB
0000028a: DUP2
0000028b: DUP7
0000028c: DUP1
0000028d: EXTCODESIZE
0000028e: ISZERO
0000028f: DUP1
00000290: ISZERO
00000291: PUSH2 0x0299
00000294: JUMPI
00000295: PUSH1 0x00
00000297: DUP1
00000298: REVERT
00000299: JUMPDEST
0000029a: POP
0000029b: GAS
0000029c: STATICCALL
0000029d: ISZERO
0000029e: DUP1
0000029f: ISZERO
000002a0: PUSH2 0x02ad
000002a3: JUMPI
000002a4: RETURNDATASIZE
000002a5: PUSH1 0x00
000002a7: DUP1
000002a8: RETURNDATACOPY
000002a9: RETURNDATASIZE
000002aa: PUSH1 0x00
000002ac: REVERT
000002ad: JUMPDEST
000002ae: POP
000002af: POP
000002b0: POP
000002b1: POP
000002b2: PUSH1 0x40
000002b4: MLOAD
000002b5: RETURNDATASIZE
000002b6: PUSH1 0x1f
000002b8: NOT
000002b9: PUSH1 0x1f
000002bb: DUP3
000002bc: ADD
000002bd: AND
000002be: DUP3
000002bf: ADD
000002c0: DUP1
000002c1: PUSH1 0x40
000002c3: MSTORE
000002c4: POP
000002c5: DUP2
000002c6: ADD
000002c7: SWAP1
000002c8: PUSH2 0x02d1
000002cb: SWAP2
000002cc: SWAP1
000002cd: PUSH2 0x0d13
000002d0: JUMP
000002d1: JUMPDEST
000002d2: POP
000002d3: SWAP1
000002d4: SWAP3
000002d5: POP
000002d6: SWAP1
000002d7: POP
000002d8: PUSH1 0x00
000002da: PUSH1 0x01
000002dc: DUP5
000002dd: ISZERO
000002de: ISZERO
000002df: EQ
000002e0: PUSH2 0x0359
000002e3: JUMPI
000002e4: DUP5
000002e5: PUSH1 0x01
000002e7: PUSH1 0x01
000002e9: PUSH1 0xa0
000002eb: SHL
000002ec: SUB
000002ed: AND
000002ee: PUSH4 0xd21220a7
000002f3: PUSH1 0x40
000002f5: MLOAD
000002f6: DUP2
000002f7: PUSH4 0xffffffff
000002fc: AND
000002fd: PUSH1 0xe0
000002ff: SHL
00000300: DUP2
00000301: MSTORE
00000302: PUSH1 0x04
00000304: ADD
00000305: PUSH1 0x20
00000307: PUSH1 0x40
00000309: MLOAD
0000030a: DUP1
0000030b: DUP4
0000030c: SUB
0000030d: DUP2
0000030e: DUP7
0000030f: DUP1
00000310: EXTCODESIZE
00000311: ISZERO
00000312: DUP1
00000313: ISZERO
00000314: PUSH2 0x031c
00000317: JUMPI
00000318: PUSH1 0x00
0000031a: DUP1
0000031b: REVERT
0000031c: JUMPDEST
0000031d: POP
0000031e: GAS
0000031f: STATICCALL
00000320: ISZERO
00000321: DUP1
00000322: ISZERO
00000323: PUSH2 0x0330
00000326: JUMPI
00000327: RETURNDATASIZE
00000328: PUSH1 0x00
0000032a: DUP1
0000032b: RETURNDATACOPY
0000032c: RETURNDATASIZE
0000032d: PUSH1 0x00
0000032f: REVERT
00000330: JUMPDEST
00000331: POP
00000332: POP
00000333: POP
00000334: POP
00000335: PUSH1 0x40
00000337: MLOAD
00000338: RETURNDATASIZE
00000339: PUSH1 0x1f
0000033b: NOT
0000033c: PUSH1 0x1f
0000033e: DUP3
0000033f: ADD
00000340: AND
00000341: DUP3
00000342: ADD
00000343: DUP1
00000344: PUSH1 0x40
00000346: MSTORE
00000347: POP
00000348: DUP2
00000349: ADD
0000034a: SWAP1
0000034b: PUSH2 0x0354
0000034e: SWAP2
0000034f: SWAP1
00000350: PUSH2 0x0c54
00000353: JUMP
00000354: JUMPDEST
00000355: PUSH2 0x03ca
00000358: JUMP
00000359: JUMPDEST
0000035a: DUP5
0000035b: PUSH1 0x01
0000035d: PUSH1 0x01
0000035f: PUSH1 0xa0
00000361: SHL
00000362: SUB
00000363: AND
00000364: PUSH4 0x0dfe1681
00000369: PUSH1 0x40
0000036b: MLOAD
0000036c: DUP2
0000036d: PUSH4 0xffffffff
00000372: AND
00000373: PUSH1 0xe0
00000375: SHL
00000376: DUP2
00000377: MSTORE
00000378: PUSH1 0x04
0000037a: ADD
0000037b: PUSH1 0x20
0000037d: PUSH1 0x40
0000037f: MLOAD
00000380: DUP1
00000381: DUP4
00000382: SUB
00000383: DUP2
00000384: DUP7
00000385: DUP1
00000386: EXTCODESIZE
00000387: ISZERO
00000388: DUP1
00000389: ISZERO
0000038a: PUSH2 0x0392
0000038d: JUMPI
0000038e: PUSH1 0x00
00000390: DUP1
00000391: REVERT
00000392: JUMPDEST
00000393: POP
00000394: GAS
00000395: STATICCALL
00000396: ISZERO
00000397: DUP1
00000398: ISZERO
00000399: PUSH2 0x03a6
0000039c: JUMPI
0000039d: RETURNDATASIZE
0000039e: PUSH1 0x00
000003a0: DUP1
000003a1: RETURNDATACOPY
000003a2: RETURNDATASIZE
000003a3: PUSH1 0x00
000003a5: REVERT
000003a6: JUMPDEST
000003a7: POP
000003a8: POP
000003a9: POP
000003aa: POP
000003ab: PUSH1 0x40
000003ad: MLOAD
000003ae: RETURNDATASIZE
000003af: PUSH1 0x1f
000003b1: NOT
000003b2: PUSH1 0x1f
000003b4: DUP3
000003b5: ADD
000003b6: AND
000003b7: DUP3
000003b8: ADD
000003b9: DUP1
000003ba: PUSH1 0x40
000003bc: MSTORE
000003bd: POP
000003be: DUP2
000003bf: ADD
000003c0: SWAP1
000003c1: PUSH2 0x03ca
000003c4: SWAP2
000003c5: SWAP1
000003c6: PUSH2 0x0c54
000003c9: JUMP
000003ca: JUMPDEST
000003cb: SWAP1
000003cc: POP
000003cd: PUSH1 0x00
000003cf: PUSH1 0x01
000003d1: DUP6
000003d2: ISZERO
000003d3: ISZERO
000003d4: EQ
000003d5: PUSH2 0x03de
000003d8: JUMPI
000003d9: DUP3
000003da: PUSH2 0x03e0
000003dd: JUMP
000003de: JUMPDEST
000003df: DUP4
000003e0: JUMPDEST
000003e1: SWAP1
000003e2: POP
000003e3: PUSH1 0x00
000003e5: DUP3
000003e6: PUSH1 0x01
000003e8: PUSH1 0x01
000003ea: PUSH1 0xa0
000003ec: SHL
000003ed: SUB
000003ee: AND
000003ef: PUSH4 0x70a08231
000003f4: DUP9
000003f5: PUSH1 0x40
000003f7: MLOAD
000003f8: DUP3
000003f9: PUSH4 0xffffffff
000003fe: AND
000003ff: PUSH1 0xe0
00000401: SHL
00000402: DUP2
00000403: MSTORE
00000404: PUSH1 0x04
00000406: ADD
00000407: PUSH2 0x0410
0000040a: SWAP2
0000040b: SWAP1
0000040c: PUSH2 0x0eb7
0000040f: JUMP
00000410: JUMPDEST
00000411: PUSH1 0x20
00000413: PUSH1 0x40
00000415: MLOAD
00000416: DUP1
00000417: DUP4
00000418: SUB
00000419: DUP2
0000041a: DUP7
0000041b: DUP1
0000041c: EXTCODESIZE
0000041d: ISZERO
0000041e: DUP1
0000041f: ISZERO
00000420: PUSH2 0x0428
00000423: JUMPI
00000424: PUSH1 0x00
00000426: DUP1
00000427: REVERT
00000428: JUMPDEST
00000429: POP
0000042a: GAS
0000042b: STATICCALL
0000042c: ISZERO
0000042d: DUP1
0000042e: ISZERO
0000042f: PUSH2 0x043c
00000432: JUMPI
00000433: RETURNDATASIZE
00000434: PUSH1 0x00
00000436: DUP1
00000437: RETURNDATACOPY
00000438: RETURNDATASIZE
00000439: PUSH1 0x00
0000043b: REVERT
0000043c: JUMPDEST
0000043d: POP
0000043e: POP
0000043f: POP
00000440: POP
00000441: PUSH1 0x40
00000443: MLOAD
00000444: RETURNDATASIZE
00000445: PUSH1 0x1f
00000447: NOT
00000448: PUSH1 0x1f
0000044a: DUP3
0000044b: ADD
0000044c: AND
0000044d: DUP3
0000044e: ADD
0000044f: DUP1
00000450: PUSH1 0x40
00000452: MSTORE
00000453: POP
00000454: DUP2
00000455: ADD
00000456: SWAP1
00000457: PUSH2 0x0460
0000045a: SWAP2
0000045b: SWAP1
0000045c: PUSH2 0x0d63
0000045f: JUMP
00000460: JUMPDEST
00000461: SWAP1
00000462: POP
00000463: DUP2
00000464: PUSH1 0x01
00000466: PUSH1 0x01
00000468: PUSH1 0x70
0000046a: SHL
0000046b: SUB
0000046c: AND
0000046d: DUP2
0000046e: GT
0000046f: PUSH2 0x047c
00000472: JUMPI
00000473: POP
00000474: POP
00000475: POP
00000476: POP
00000477: POP
00000478: PUSH2 0x0240
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH1 0x01
0000047f: SLOAD
00000480: PUSH1 0x01
00000482: PUSH1 0x01
00000484: PUSH1 0x70
00000486: SHL
00000487: SUB
00000488: DUP4
00000489: AND
0000048a: DUP3
0000048b: SUB
0000048c: SWAP1
0000048d: PUSH1 0x01
0000048f: PUSH1 0x01
00000491: PUSH1 0xa0
00000493: SHL
00000494: SUB
00000495: DUP6
00000496: DUP2
00000497: AND
00000498: SWAP2
00000499: AND
0000049a: EQ
0000049b: ISZERO
0000049c: PUSH2 0x04ca
0000049f: JUMPI
000004a0: DUP9
000004a1: DUP2
000004a2: LT
000004a3: ISZERO
000004a4: PUSH2 0x04b2
000004a7: JUMPI
000004a8: POP
000004a9: POP
000004aa: POP
000004ab: POP
000004ac: POP
000004ad: POP
000004ae: PUSH2 0x0240
000004b1: JUMP
000004b2: JUMPDEST
000004b3: PUSH2 0x04bf
000004b6: DUP9
000004b7: DUP9
000004b8: PUSH1 0x00
000004ba: DUP5
000004bb: PUSH2 0x04e2
000004be: JUMP
000004bf: JUMPDEST
000004c0: POP
000004c1: POP
000004c2: POP
000004c3: POP
000004c4: POP
000004c5: POP
000004c6: PUSH2 0x0240
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH2 0x04d7
000004ce: DUP5
000004cf: DUP3
000004d0: DUP11
000004d1: DUP11
000004d2: DUP14
000004d3: PUSH2 0x068a
000004d6: JUMP
000004d7: JUMPDEST
000004d8: POP
000004d9: POP
000004da: POP
000004db: POP
000004dc: POP
000004dd: POP
000004de: POP
000004df: POP
000004e0: POP
000004e1: JUMP
000004e2: JUMPDEST
000004e3: PUSH1 0x40
000004e5: DUP1
000004e6: MLOAD
000004e7: PUSH1 0x20
000004e9: DUP2
000004ea: ADD
000004eb: SWAP1
000004ec: SWAP2
000004ed: MSTORE
000004ee: PUSH1 0x00
000004f0: DUP2
000004f1: MSTORE
000004f2: PUSH1 0x64
000004f4: PUSH1 0x62
000004f6: DUP4
000004f7: MUL
000004f8: DIV
000004f9: SWAP1
000004fa: DUP5
000004fb: ISZERO
000004fc: ISZERO
000004fd: PUSH1 0x01
000004ff: EQ
00000500: ISZERO
00000501: PUSH2 0x05de
00000504: JUMPI
00000505: DUP4
00000506: PUSH2 0x0573
00000509: JUMPI
0000050a: PUSH1 0x40
0000050c: MLOAD
0000050d: PUSH4 0x022c0d9f
00000512: PUSH1 0xe0
00000514: SHL
00000515: DUP2
00000516: MSTORE
00000517: PUSH1 0x01
00000519: PUSH1 0x01
0000051b: PUSH1 0xa0
0000051d: SHL
0000051e: SUB
0000051f: DUP8
00000520: AND
00000521: SWAP1
00000522: PUSH4 0x022c0d9f
00000527: SWAP1
00000528: PUSH2 0x053c
0000052b: SWAP1
0000052c: DUP6
0000052d: SWAP1
0000052e: PUSH1 0x00
00000530: SWAP1
00000531: ADDRESS
00000532: SWAP1
00000533: DUP8
00000534: SWAP1
00000535: PUSH1 0x04
00000537: ADD
00000538: PUSH2 0x0f08
0000053b: JUMP
0000053c: JUMPDEST
0000053d: PUSH1 0x00
0000053f: PUSH1 0x40
00000541: MLOAD
00000542: DUP1
00000543: DUP4
00000544: SUB
00000545: DUP2
00000546: PUSH1 0x00
00000548: DUP8
00000549: DUP1
0000054a: EXTCODESIZE
0000054b: ISZERO
0000054c: DUP1
0000054d: ISZERO
0000054e: PUSH2 0x0556
00000551: JUMPI
00000552: PUSH1 0x00
00000554: DUP1
00000555: REVERT
00000556: JUMPDEST
00000557: POP
00000558: GAS
00000559: CALL
0000055a: ISZERO
0000055b: DUP1
0000055c: ISZERO
0000055d: PUSH2 0x056a
00000560: JUMPI
00000561: RETURNDATASIZE
00000562: PUSH1 0x00
00000564: DUP1
00000565: RETURNDATACOPY
00000566: RETURNDATASIZE
00000567: PUSH1 0x00
00000569: REVERT
0000056a: JUMPDEST
0000056b: POP
0000056c: POP
0000056d: POP
0000056e: POP
0000056f: PUSH2 0x05d9
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH1 0x40
00000576: MLOAD
00000577: PUSH4 0x022c0d9f
0000057c: PUSH1 0xe0
0000057e: SHL
0000057f: DUP2
00000580: MSTORE
00000581: PUSH1 0x01
00000583: PUSH1 0x01
00000585: PUSH1 0xa0
00000587: SHL
00000588: SUB
00000589: DUP8
0000058a: AND
0000058b: SWAP1
0000058c: PUSH4 0x022c0d9f
00000591: SWAP1
00000592: PUSH2 0x05a6
00000595: SWAP1
00000596: PUSH1 0x00
00000598: SWAP1
00000599: DUP7
0000059a: SWAP1
0000059b: ADDRESS
0000059c: SWAP1
0000059d: DUP8
0000059e: SWAP1
0000059f: PUSH1 0x04
000005a1: ADD
000005a2: PUSH2 0x0f08
000005a5: JUMP
000005a6: JUMPDEST
000005a7: PUSH1 0x00
000005a9: PUSH1 0x40
000005ab: MLOAD
000005ac: DUP1
000005ad: DUP4
000005ae: SUB
000005af: DUP2
000005b0: PUSH1 0x00
000005b2: DUP8
000005b3: DUP1
000005b4: EXTCODESIZE
000005b5: ISZERO
000005b6: DUP1
000005b7: ISZERO
000005b8: PUSH2 0x05c0
000005bb: JUMPI
000005bc: PUSH1 0x00
000005be: DUP1
000005bf: REVERT
000005c0: JUMPDEST
000005c1: POP
000005c2: GAS
000005c3: CALL
000005c4: ISZERO
000005c5: DUP1
000005c6: ISZERO
000005c7: PUSH2 0x05d4
000005ca: JUMPI
000005cb: RETURNDATASIZE
000005cc: PUSH1 0x00
000005ce: DUP1
000005cf: RETURNDATACOPY
000005d0: RETURNDATASIZE
000005d1: PUSH1 0x00
000005d3: REVERT
000005d4: JUMPDEST
000005d5: POP
000005d6: POP
000005d7: POP
000005d8: POP
000005d9: JUMPDEST
000005da: PUSH2 0x0682
000005dd: JUMP
000005de: JUMPDEST
000005df: PUSH1 0x01
000005e1: DUP5
000005e2: ISZERO
000005e3: ISZERO
000005e4: EQ
000005e5: ISZERO
000005e6: PUSH2 0x061c
000005e9: JUMPI
000005ea: PUSH1 0x40
000005ec: MLOAD
000005ed: PUSH4 0x022c0d9f
000005f2: PUSH1 0xe0
000005f4: SHL
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x01
000005f9: PUSH1 0x01
000005fb: PUSH1 0xa0
000005fd: SHL
000005fe: SUB
000005ff: DUP8
00000600: AND
00000601: SWAP1
00000602: PUSH4 0x022c0d9f
00000607: SWAP1
00000608: PUSH2 0x05a6
0000060b: SWAP1
0000060c: DUP6
0000060d: SWAP1
0000060e: PUSH1 0x00
00000610: SWAP1
00000611: ADDRESS
00000612: SWAP1
00000613: DUP8
00000614: SWAP1
00000615: PUSH1 0x04
00000617: ADD
00000618: PUSH2 0x0f08
0000061b: JUMP
0000061c: JUMPDEST
0000061d: PUSH1 0x40
0000061f: MLOAD
00000620: PUSH4 0x022c0d9f
00000625: PUSH1 0xe0
00000627: SHL
00000628: DUP2
00000629: MSTORE
0000062a: PUSH1 0x01
0000062c: PUSH1 0x01
0000062e: PUSH1 0xa0
00000630: SHL
00000631: SUB
00000632: DUP8
00000633: AND
00000634: SWAP1
00000635: PUSH4 0x022c0d9f
0000063a: SWAP1
0000063b: PUSH2 0x064f
0000063e: SWAP1
0000063f: PUSH1 0x00
00000641: SWAP1
00000642: DUP7
00000643: SWAP1
00000644: ADDRESS
00000645: SWAP1
00000646: DUP8
00000647: SWAP1
00000648: PUSH1 0x04
0000064a: ADD
0000064b: PUSH2 0x0f08
0000064e: JUMP
0000064f: JUMPDEST
00000650: PUSH1 0x00
00000652: PUSH1 0x40
00000654: MLOAD
00000655: DUP1
00000656: DUP4
00000657: SUB
00000658: DUP2
00000659: PUSH1 0x00
0000065b: DUP8
0000065c: DUP1
0000065d: EXTCODESIZE
0000065e: ISZERO
0000065f: DUP1
00000660: ISZERO
00000661: PUSH2 0x0669
00000664: JUMPI
00000665: PUSH1 0x00
00000667: DUP1
00000668: REVERT
00000669: JUMPDEST
0000066a: POP
0000066b: GAS
0000066c: CALL
0000066d: ISZERO
0000066e: DUP1
0000066f: ISZERO
00000670: PUSH2 0x067d
00000673: JUMPI
00000674: RETURNDATASIZE
00000675: PUSH1 0x00
00000677: DUP1
00000678: RETURNDATACOPY
00000679: RETURNDATASIZE
0000067a: PUSH1 0x00
0000067c: REVERT
0000067d: JUMPDEST
0000067e: POP
0000067f: POP
00000680: POP
00000681: POP
00000682: JUMPDEST
00000683: POP
00000684: POP
00000685: POP
00000686: POP
00000687: POP
00000688: POP
00000689: JUMP
0000068a: JUMPDEST
0000068b: PUSH1 0x00
0000068d: PUSH1 0x01
0000068f: DUP4
00000690: ISZERO
00000691: ISZERO
00000692: EQ
00000693: PUSH2 0x070c
00000696: JUMPI
00000697: DUP4
00000698: PUSH1 0x01
0000069a: PUSH1 0x01
0000069c: PUSH1 0xa0
0000069e: SHL
0000069f: SUB
000006a0: AND
000006a1: PUSH4 0x0dfe1681
000006a6: PUSH1 0x40
000006a8: MLOAD
000006a9: DUP2
000006aa: PUSH4 0xffffffff
000006af: AND
000006b0: PUSH1 0xe0
000006b2: SHL
000006b3: DUP2
000006b4: MSTORE
000006b5: PUSH1 0x04
000006b7: ADD
000006b8: PUSH1 0x20
000006ba: PUSH1 0x40
000006bc: MLOAD
000006bd: DUP1
000006be: DUP4
000006bf: SUB
000006c0: DUP2
000006c1: DUP7
000006c2: DUP1
000006c3: EXTCODESIZE
000006c4: ISZERO
000006c5: DUP1
000006c6: ISZERO
000006c7: PUSH2 0x06cf
000006ca: JUMPI
000006cb: PUSH1 0x00
000006cd: DUP1
000006ce: REVERT
000006cf: JUMPDEST
000006d0: POP
000006d1: GAS
000006d2: STATICCALL
000006d3: ISZERO
000006d4: DUP1
000006d5: ISZERO
000006d6: PUSH2 0x06e3
000006d9: JUMPI
000006da: RETURNDATASIZE
000006db: PUSH1 0x00
000006dd: DUP1
000006de: RETURNDATACOPY
000006df: RETURNDATASIZE
000006e0: PUSH1 0x00
000006e2: REVERT
000006e3: JUMPDEST
000006e4: POP
000006e5: POP
000006e6: POP
000006e7: POP
000006e8: PUSH1 0x40
000006ea: MLOAD
000006eb: RETURNDATASIZE
000006ec: PUSH1 0x1f
000006ee: NOT
000006ef: PUSH1 0x1f
000006f1: DUP3
000006f2: ADD
000006f3: AND
000006f4: DUP3
000006f5: ADD
000006f6: DUP1
000006f7: PUSH1 0x40
000006f9: MSTORE
000006fa: POP
000006fb: DUP2
000006fc: ADD
000006fd: SWAP1
000006fe: PUSH2 0x0707
00000701: SWAP2
00000702: SWAP1
00000703: PUSH2 0x0c54
00000706: JUMP
00000707: JUMPDEST
00000708: PUSH2 0x077d
0000070b: JUMP
0000070c: JUMPDEST
0000070d: DUP4
0000070e: PUSH1 0x01
00000710: PUSH1 0x01
00000712: PUSH1 0xa0
00000714: SHL
00000715: SUB
00000716: AND
00000717: PUSH4 0xd21220a7
0000071c: PUSH1 0x40
0000071e: MLOAD
0000071f: DUP2
00000720: PUSH4 0xffffffff
00000725: AND
00000726: PUSH1 0xe0
00000728: SHL
00000729: DUP2
0000072a: MSTORE
0000072b: PUSH1 0x04
0000072d: ADD
0000072e: PUSH1 0x20
00000730: PUSH1 0x40
00000732: MLOAD
00000733: DUP1
00000734: DUP4
00000735: SUB
00000736: DUP2
00000737: DUP7
00000738: DUP1
00000739: EXTCODESIZE
0000073a: ISZERO
0000073b: DUP1
0000073c: ISZERO
0000073d: PUSH2 0x0745
00000740: JUMPI
00000741: PUSH1 0x00
00000743: DUP1
00000744: REVERT
00000745: JUMPDEST
00000746: POP
00000747: GAS
00000748: STATICCALL
00000749: ISZERO
0000074a: DUP1
0000074b: ISZERO
0000074c: PUSH2 0x0759
0000074f: JUMPI
00000750: RETURNDATASIZE
00000751: PUSH1 0x00
00000753: DUP1
00000754: RETURNDATACOPY
00000755: RETURNDATASIZE
00000756: PUSH1 0x00
00000758: REVERT
00000759: JUMPDEST
0000075a: POP
0000075b: POP
0000075c: POP
0000075d: POP
0000075e: PUSH1 0x40
00000760: MLOAD
00000761: RETURNDATASIZE
00000762: PUSH1 0x1f
00000764: NOT
00000765: PUSH1 0x1f
00000767: DUP3
00000768: ADD
00000769: AND
0000076a: DUP3
0000076b: ADD
0000076c: DUP1
0000076d: PUSH1 0x40
0000076f: MSTORE
00000770: POP
00000771: DUP2
00000772: ADD
00000773: SWAP1
00000774: PUSH2 0x077d
00000777: SWAP2
00000778: SWAP1
00000779: PUSH2 0x0c54
0000077c: JUMP
0000077d: JUMPDEST
0000077e: SWAP1
0000077f: POP
00000780: PUSH1 0x00
00000782: DUP1
00000783: DUP1
00000784: DUP7
00000785: PUSH1 0x01
00000787: PUSH1 0x01
00000789: PUSH1 0xa0
0000078b: SHL
0000078c: SUB
0000078d: AND
0000078e: PUSH4 0x0902f1ac
00000793: PUSH1 0x40
00000795: MLOAD
00000796: DUP2
00000797: PUSH4 0xffffffff
0000079c: AND
0000079d: PUSH1 0xe0
0000079f: SHL
000007a0: DUP2
000007a1: MSTORE
000007a2: PUSH1 0x04
000007a4: ADD
000007a5: PUSH1 0x60
000007a7: PUSH1 0x40
000007a9: MLOAD
000007aa: DUP1
000007ab: DUP4
000007ac: SUB
000007ad: DUP2
000007ae: DUP7
000007af: DUP1
000007b0: EXTCODESIZE
000007b1: ISZERO
000007b2: DUP1
000007b3: ISZERO
000007b4: PUSH2 0x07bc
000007b7: JUMPI
000007b8: PUSH1 0x00
000007ba: DUP1
000007bb: REVERT
000007bc: JUMPDEST
000007bd: POP
000007be: GAS
000007bf: STATICCALL
000007c0: ISZERO
000007c1: DUP1
000007c2: ISZERO
000007c3: PUSH2 0x07d0
000007c6: JUMPI
000007c7: RETURNDATASIZE
000007c8: PUSH1 0x00
000007ca: DUP1
000007cb: RETURNDATACOPY
000007cc: RETURNDATASIZE
000007cd: PUSH1 0x00
000007cf: REVERT
000007d0: JUMPDEST
000007d1: POP
000007d2: POP
000007d3: POP
000007d4: POP
000007d5: PUSH1 0x40
000007d7: MLOAD
000007d8: RETURNDATASIZE
000007d9: PUSH1 0x1f
000007db: NOT
000007dc: PUSH1 0x1f
000007de: DUP3
000007df: ADD
000007e0: AND
000007e1: DUP3
000007e2: ADD
000007e3: DUP1
000007e4: PUSH1 0x40
000007e6: MSTORE
000007e7: POP
000007e8: DUP2
000007e9: ADD
000007ea: SWAP1
000007eb: PUSH2 0x07f4
000007ee: SWAP2
000007ef: SWAP1
000007f0: PUSH2 0x0d13
000007f3: JUMP
000007f4: JUMPDEST
000007f5: POP
000007f6: SWAP1
000007f7: SWAP3
000007f8: POP
000007f9: SWAP1
000007fa: POP
000007fb: PUSH1 0x01
000007fd: DUP7
000007fe: ISZERO
000007ff: ISZERO
00000800: EQ
00000801: ISZERO
00000802: PUSH2 0x0829
00000805: JUMPI
00000806: PUSH2 0x0822
00000809: DUP9
0000080a: DUP4
0000080b: PUSH1 0x01
0000080d: PUSH1 0x01
0000080f: PUSH1 0x70
00000811: SHL
00000812: SUB
00000813: AND
00000814: DUP4
00000815: PUSH1 0x01
00000817: PUSH1 0x01
00000819: PUSH1 0x70
0000081b: SHL
0000081c: SUB
0000081d: AND
0000081e: PUSH2 0x09ee
00000821: JUMP
00000822: JUMPDEST
00000823: SWAP3
00000824: POP
00000825: PUSH2 0x0849
00000828: JUMP
00000829: JUMPDEST
0000082a: PUSH2 0x0846
0000082d: DUP9
0000082e: DUP3
0000082f: PUSH1 0x01
00000831: PUSH1 0x01
00000833: PUSH1 0x70
00000835: SHL
00000836: SUB
00000837: AND
00000838: DUP5
00000839: PUSH1 0x01
0000083b: PUSH1 0x01
0000083d: PUSH1 0x70
0000083f: SHL
00000840: SUB
00000841: AND
00000842: PUSH2 0x09ee
00000845: JUMP
00000846: JUMPDEST
00000847: SWAP3
00000848: POP
00000849: JUMPDEST
0000084a: PUSH1 0x01
0000084c: SLOAD
0000084d: PUSH1 0x01
0000084f: PUSH1 0x01
00000851: PUSH1 0xa0
00000853: SHL
00000854: SUB
00000855: DUP6
00000856: DUP2
00000857: AND
00000858: SWAP2
00000859: AND
0000085a: EQ
0000085b: ISZERO
0000085c: PUSH2 0x0886
0000085f: JUMPI
00000860: DUP5
00000861: DUP4
00000862: LT
00000863: ISZERO
00000864: PUSH2 0x0870
00000867: JUMPI
00000868: POP
00000869: POP
0000086a: POP
0000086b: POP
0000086c: PUSH2 0x09e7
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH2 0x087d
00000874: DUP8
00000875: DUP8
00000876: PUSH1 0x01
00000878: DUP7
00000879: PUSH2 0x04e2
0000087c: JUMP
0000087d: JUMPDEST
0000087e: POP
0000087f: POP
00000880: POP
00000881: POP
00000882: PUSH2 0x09e7
00000885: JUMP
00000886: JUMPDEST
00000887: PUSH1 0x03
00000889: SLOAD
0000088a: PUSH1 0x01
0000088c: SLOAD
0000088d: PUSH1 0x40
0000088f: MLOAD
00000890: PUSH4 0xe6a43905
00000895: PUSH1 0xe0
00000897: SHL
00000898: DUP2
00000899: MSTORE
0000089a: PUSH1 0x00
0000089c: SWAP3
0000089d: PUSH1 0x01
0000089f: PUSH1 0x01
000008a1: PUSH1 0xa0
000008a3: SHL
000008a4: SUB
000008a5: SWAP1
000008a6: DUP2
000008a7: AND
000008a8: SWAP3
000008a9: PUSH4 0xe6a43905
000008ae: SWAP3
000008af: PUSH2 0x08be
000008b2: SWAP3
000008b3: DUP11
000008b4: SWAP3
000008b5: AND
000008b6: SWAP1
000008b7: PUSH1 0x04
000008b9: ADD
000008ba: PUSH2 0x0ecb
000008bd: JUMP
000008be: JUMPDEST
000008bf: PUSH1 0x20
000008c1: PUSH1 0x40
000008c3: MLOAD
000008c4: DUP1
000008c5: DUP4
000008c6: SUB
000008c7: DUP2
000008c8: DUP7
000008c9: DUP1
000008ca: EXTCODESIZE
000008cb: ISZERO
000008cc: DUP1
000008cd: ISZERO
000008ce: PUSH2 0x08d6
000008d1: JUMPI
000008d2: PUSH1 0x00
000008d4: DUP1
000008d5: REVERT
000008d6: JUMPDEST
000008d7: POP
000008d8: GAS
000008d9: STATICCALL
000008da: ISZERO
000008db: DUP1
000008dc: ISZERO
000008dd: PUSH2 0x08ea
000008e0: JUMPI
000008e1: RETURNDATASIZE
000008e2: PUSH1 0x00
000008e4: DUP1
000008e5: RETURNDATACOPY
000008e6: RETURNDATASIZE
000008e7: PUSH1 0x00
000008e9: REVERT
000008ea: JUMPDEST
000008eb: POP
000008ec: POP
000008ed: POP
000008ee: POP
000008ef: PUSH1 0x40
000008f1: MLOAD
000008f2: RETURNDATASIZE
000008f3: PUSH1 0x1f
000008f5: NOT
000008f6: PUSH1 0x1f
000008f8: DUP3
000008f9: ADD
000008fa: AND
000008fb: DUP3
000008fc: ADD
000008fd: DUP1
000008fe: PUSH1 0x40
00000900: MSTORE
00000901: POP
00000902: DUP2
00000903: ADD
00000904: SWAP1
00000905: PUSH2 0x090e
00000908: SWAP2
00000909: SWAP1
0000090a: PUSH2 0x0c54
0000090d: JUMP
0000090e: JUMPDEST
0000090f: PUSH1 0x01
00000911: PUSH1 0x01
00000913: PUSH1 0xa0
00000915: SHL
00000916: SUB
00000917: AND
00000918: EQ
00000919: PUSH2 0x0939
0000091c: JUMPI
0000091d: PUSH2 0x0927
00000920: DUP5
00000921: DUP5
00000922: DUP8
00000923: PUSH2 0x0a91
00000926: JUMP
00000927: JUMPDEST
00000928: ISZERO
00000929: PUSH2 0x087d
0000092c: JUMPI
0000092d: PUSH2 0x087d
00000930: DUP8
00000931: DUP8
00000932: PUSH1 0x01
00000934: DUP7
00000935: PUSH2 0x04e2
00000938: JUMP
00000939: JUMPDEST
0000093a: PUSH1 0x03
0000093c: SLOAD
0000093d: PUSH1 0x01
0000093f: SLOAD
00000940: PUSH1 0x40
00000942: MLOAD
00000943: PUSH4 0xe6a43905
00000948: PUSH1 0xe0
0000094a: SHL
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x00
0000094f: SWAP3
00000950: PUSH1 0x01
00000952: PUSH1 0x01
00000954: PUSH1 0xa0
00000956: SHL
00000957: SUB
00000958: SWAP1
00000959: DUP2
0000095a: AND
0000095b: SWAP3
0000095c: PUSH4 0xe6a43905
00000961: SWAP3
00000962: PUSH2 0x0971
00000965: SWAP3
00000966: DUP16
00000967: SWAP3
00000968: AND
00000969: SWAP1
0000096a: PUSH1 0x04
0000096c: ADD
0000096d: PUSH2 0x0ecb
00000970: JUMP
00000971: JUMPDEST
00000972: PUSH1 0x20
00000974: PUSH1 0x40
00000976: MLOAD
00000977: DUP1
00000978: DUP4
00000979: SUB
0000097a: DUP2
0000097b: DUP7
0000097c: DUP1
0000097d: EXTCODESIZE
0000097e: ISZERO
0000097f: DUP1
00000980: ISZERO
00000981: PUSH2 0x0989
00000984: JUMPI
00000985: PUSH1 0x00
00000987: DUP1
00000988: REVERT
00000989: JUMPDEST
0000098a: POP
0000098b: GAS
0000098c: STATICCALL
0000098d: ISZERO
0000098e: DUP1
0000098f: ISZERO
00000990: PUSH2 0x099d
00000993: JUMPI
00000994: RETURNDATASIZE
00000995: PUSH1 0x00
00000997: DUP1
00000998: RETURNDATACOPY
00000999: RETURNDATASIZE
0000099a: PUSH1 0x00
0000099c: REVERT
0000099d: JUMPDEST
0000099e: POP
0000099f: POP
000009a0: POP
000009a1: POP
000009a2: PUSH1 0x40
000009a4: MLOAD
000009a5: RETURNDATASIZE
000009a6: PUSH1 0x1f
000009a8: NOT
000009a9: PUSH1 0x1f
000009ab: DUP3
000009ac: ADD
000009ad: AND
000009ae: DUP3
000009af: ADD
000009b0: DUP1
000009b1: PUSH1 0x40
000009b3: MSTORE
000009b4: POP
000009b5: DUP2
000009b6: ADD
000009b7: SWAP1
000009b8: PUSH2 0x09c1
000009bb: SWAP2
000009bc: SWAP1
000009bd: PUSH2 0x0c54
000009c0: JUMP
000009c1: JUMPDEST
000009c2: PUSH1 0x01
000009c4: PUSH1 0x01
000009c6: PUSH1 0xa0
000009c8: SHL
000009c9: SUB
000009ca: AND
000009cb: EQ
000009cc: PUSH2 0x09da
000009cf: JUMPI
000009d0: PUSH2 0x0927
000009d3: DUP10
000009d4: DUP10
000009d5: DUP8
000009d6: PUSH2 0x0a91
000009d9: JUMP
000009da: JUMPDEST
000009db: PUSH2 0x04d7
000009de: DUP8
000009df: DUP8
000009e0: PUSH1 0x00
000009e2: DUP12
000009e3: PUSH2 0x04e2
000009e6: JUMP
000009e7: JUMPDEST
000009e8: POP
000009e9: POP
000009ea: POP
000009eb: POP
000009ec: POP
000009ed: JUMP
000009ee: JUMPDEST
000009ef: PUSH1 0x00
000009f1: DUP1
000009f2: DUP5
000009f3: GT
000009f4: PUSH2 0x0a18
000009f7: JUMPI
000009f8: PUSH1 0x40
000009fa: MLOAD
000009fb: PUSH3 0x461bcd
000009ff: PUSH1 0xe5
00000a01: SHL
00000a02: DUP2
00000a03: MSTORE
00000a04: PUSH1 0x04
00000a06: ADD
00000a07: PUSH2 0x0a0f
00000a0a: SWAP1
00000a0b: PUSH2 0x0fe3
00000a0e: JUMP
00000a0f: JUMPDEST
00000a10: PUSH1 0x40
00000a12: MLOAD
00000a13: DUP1
00000a14: SWAP2
00000a15: SUB
00000a16: SWAP1
00000a17: REVERT
00000a18: JUMPDEST
00000a19: PUSH1 0x00
00000a1b: DUP4
00000a1c: GT
00000a1d: DUP1
00000a1e: ISZERO
00000a1f: PUSH2 0x0a28
00000a22: JUMPI
00000a23: POP
00000a24: PUSH1 0x00
00000a26: DUP3
00000a27: GT
00000a28: JUMPDEST
00000a29: PUSH2 0x0a44
00000a2c: JUMPI
00000a2d: PUSH1 0x40
00000a2f: MLOAD
00000a30: PUSH3 0x461bcd
00000a34: PUSH1 0xe5
00000a36: SHL
00000a37: DUP2
00000a38: MSTORE
00000a39: PUSH1 0x04
00000a3b: ADD
00000a3c: PUSH2 0x0a0f
00000a3f: SWAP1
00000a40: PUSH2 0x0f9b
00000a43: JUMP
00000a44: JUMPDEST
00000a45: PUSH1 0x00
00000a47: PUSH2 0x0a52
00000a4a: DUP6
00000a4b: PUSH2 0x03e5
00000a4e: PUSH2 0x0bc1
00000a51: JUMP
00000a52: JUMPDEST
00000a53: SWAP1
00000a54: POP
00000a55: PUSH1 0x00
00000a57: PUSH2 0x0a60
00000a5a: DUP3
00000a5b: DUP6
00000a5c: PUSH2 0x0bc1
00000a5f: JUMP
00000a60: JUMPDEST
00000a61: SWAP1
00000a62: POP
00000a63: PUSH1 0x00
00000a65: PUSH2 0x0a7a
00000a68: DUP4
00000a69: PUSH2 0x0a74
00000a6c: DUP9
00000a6d: PUSH2 0x03e8
00000a70: PUSH2 0x0bc1
00000a73: JUMP
00000a74: JUMPDEST
00000a75: SWAP1
00000a76: PUSH2 0x0bfe
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: SWAP1
00000a7c: POP
00000a7d: DUP1
00000a7e: DUP3
00000a7f: DUP2
00000a80: PUSH2 0x0a85
00000a83: JUMPI
00000a84: INVALID
00000a85: JUMPDEST
00000a86: DIV
00000a87: SWAP8
00000a88: SWAP7
00000a89: POP
00000a8a: POP
00000a8b: POP
00000a8c: POP
00000a8d: POP
00000a8e: POP
00000a8f: POP
00000a90: JUMP
00000a91: JUMPDEST
00000a92: PUSH1 0x40
00000a94: DUP1
00000a95: MLOAD
00000a96: PUSH1 0x02
00000a98: DUP1
00000a99: DUP3
00000a9a: MSTORE
00000a9b: PUSH1 0x60
00000a9d: DUP1
00000a9e: DUP4
00000a9f: ADD
00000aa0: DUP5
00000aa1: MSTORE
00000aa2: PUSH1 0x00
00000aa4: SWAP4
00000aa5: SWAP1
00000aa6: SWAP3
00000aa7: SWAP2
00000aa8: SWAP1
00000aa9: PUSH1 0x20
00000aab: DUP4
00000aac: ADD
00000aad: SWAP1
00000aae: DUP1
00000aaf: CALLDATASIZE
00000ab0: DUP4
00000ab1: CALLDATACOPY
00000ab2: ADD
00000ab3: SWAP1
00000ab4: POP
00000ab5: POP
00000ab6: SWAP1
00000ab7: POP
00000ab8: DUP5
00000ab9: DUP2
00000aba: PUSH1 0x00
00000abc: DUP2
00000abd: MLOAD
00000abe: DUP2
00000abf: LT
00000ac0: PUSH2 0x0ac5
00000ac3: JUMPI
00000ac4: INVALID
00000ac5: JUMPDEST
00000ac6: PUSH1 0x01
00000ac8: PUSH1 0x01
00000aca: PUSH1 0xa0
00000acc: SHL
00000acd: SUB
00000ace: SWAP3
00000acf: DUP4
00000ad0: AND
00000ad1: PUSH1 0x20
00000ad3: SWAP2
00000ad4: DUP3
00000ad5: MUL
00000ad6: SWAP3
00000ad7: SWAP1
00000ad8: SWAP3
00000ad9: ADD
00000ada: ADD
00000adb: MSTORE
00000adc: PUSH1 0x01
00000ade: DUP1
00000adf: SLOAD
00000ae0: DUP4
00000ae1: MLOAD
00000ae2: SWAP3
00000ae3: AND
00000ae4: SWAP2
00000ae5: DUP4
00000ae6: SWAP2
00000ae7: SWAP1
00000ae8: DUP2
00000ae9: LT
00000aea: PUSH2 0x0aef
00000aed: JUMPI
00000aee: INVALID
00000aef: JUMPDEST
00000af0: PUSH1 0x01
00000af2: PUSH1 0x01
00000af4: PUSH1 0xa0
00000af6: SHL
00000af7: SUB
00000af8: SWAP3
00000af9: DUP4
00000afa: AND
00000afb: PUSH1 0x20
00000afd: SWAP2
00000afe: DUP3
00000aff: MUL
00000b00: SWAP3
00000b01: SWAP1
00000b02: SWAP3
00000b03: ADD
00000b04: ADD
00000b05: MSTORE
00000b06: PUSH1 0x02
00000b08: SLOAD
00000b09: PUSH1 0x40
00000b0b: MLOAD
00000b0c: PUSH4 0xd06ca61f
00000b11: PUSH1 0xe0
00000b13: SHL
00000b14: DUP2
00000b15: MSTORE
00000b16: PUSH1 0x60
00000b18: SWAP3
00000b19: SWAP2
00000b1a: SWAP1
00000b1b: SWAP2
00000b1c: AND
00000b1d: SWAP1
00000b1e: PUSH4 0xd06ca61f
00000b23: SWAP1
00000b24: PUSH2 0x0b33
00000b27: SWAP1
00000b28: DUP9
00000b29: SWAP1
00000b2a: DUP7
00000b2b: SWAP1
00000b2c: PUSH1 0x04
00000b2e: ADD
00000b2f: PUSH2 0x102e
00000b32: JUMP
00000b33: JUMPDEST
00000b34: PUSH1 0x00
00000b36: PUSH1 0x40
00000b38: MLOAD
00000b39: DUP1
00000b3a: DUP4
00000b3b: SUB
00000b3c: DUP2
00000b3d: DUP7
00000b3e: DUP1
00000b3f: EXTCODESIZE
00000b40: ISZERO
00000b41: DUP1
00000b42: ISZERO
00000b43: PUSH2 0x0b4b
00000b46: JUMPI
00000b47: PUSH1 0x00
00000b49: DUP1
00000b4a: REVERT
00000b4b: JUMPDEST
00000b4c: POP
00000b4d: GAS
00000b4e: STATICCALL
00000b4f: ISZERO
00000b50: DUP1
00000b51: ISZERO
00000b52: PUSH2 0x0b5f
00000b55: JUMPI
00000b56: RETURNDATASIZE
00000b57: PUSH1 0x00
00000b59: DUP1
00000b5a: RETURNDATACOPY
00000b5b: RETURNDATASIZE
00000b5c: PUSH1 0x00
00000b5e: REVERT
00000b5f: JUMPDEST
00000b60: POP
00000b61: POP
00000b62: POP
00000b63: POP
00000b64: PUSH1 0x40
00000b66: MLOAD
00000b67: RETURNDATASIZE
00000b68: PUSH1 0x00
00000b6a: DUP3
00000b6b: RETURNDATACOPY
00000b6c: PUSH1 0x1f
00000b6e: RETURNDATASIZE
00000b6f: SWAP1
00000b70: DUP2
00000b71: ADD
00000b72: PUSH1 0x1f
00000b74: NOT
00000b75: AND
00000b76: DUP3
00000b77: ADD
00000b78: PUSH1 0x40
00000b7a: MSTORE
00000b7b: PUSH2 0x0b87
00000b7e: SWAP2
00000b7f: SWAP1
00000b80: DUP2
00000b81: ADD
00000b82: SWAP1
00000b83: PUSH2 0x0c70
00000b86: JUMP
00000b87: JUMPDEST
00000b88: SWAP1
00000b89: POP
00000b8a: DUP4
00000b8b: DUP2
00000b8c: PUSH1 0x01
00000b8e: DUP4
00000b8f: MLOAD
00000b90: SUB
00000b91: DUP2
00000b92: MLOAD
00000b93: DUP2
00000b94: LT
00000b95: PUSH2 0x0b9a
00000b98: JUMPI
00000b99: INVALID
00000b9a: JUMPDEST
00000b9b: PUSH1 0x20
00000b9d: MUL
00000b9e: PUSH1 0x20
00000ba0: ADD
00000ba1: ADD
00000ba2: MLOAD
00000ba3: GT
00000ba4: ISZERO
00000ba5: PUSH2 0x0bb3
00000ba8: JUMPI
00000ba9: PUSH1 0x01
00000bab: SWAP3
00000bac: POP
00000bad: POP
00000bae: POP
00000baf: PUSH2 0x0bba
00000bb2: JUMP
00000bb3: JUMPDEST
00000bb4: PUSH1 0x00
00000bb6: SWAP3
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: JUMPDEST
00000bbb: SWAP4
00000bbc: SWAP3
00000bbd: POP
00000bbe: POP
00000bbf: POP
00000bc0: JUMP
00000bc1: JUMPDEST
00000bc2: PUSH1 0x00
00000bc4: DUP2
00000bc5: ISZERO
00000bc6: DUP1
00000bc7: PUSH2 0x0bdc
00000bca: JUMPI
00000bcb: POP
00000bcc: POP
00000bcd: DUP1
00000bce: DUP3
00000bcf: MUL
00000bd0: DUP3
00000bd1: DUP3
00000bd2: DUP3
00000bd3: DUP2
00000bd4: PUSH2 0x0bd9
00000bd7: JUMPI
00000bd8: INVALID
00000bd9: JUMPDEST
00000bda: DIV
00000bdb: EQ
00000bdc: JUMPDEST
00000bdd: PUSH2 0x0bf8
00000be0: JUMPI
00000be1: PUSH1 0x40
00000be3: MLOAD
00000be4: PUSH3 0x461bcd
00000be8: PUSH1 0xe5
00000bea: SHL
00000beb: DUP2
00000bec: MSTORE
00000bed: PUSH1 0x04
00000bef: ADD
00000bf0: PUSH2 0x0a0f
00000bf3: SWAP1
00000bf4: PUSH2 0x0f3f
00000bf7: JUMP
00000bf8: JUMPDEST
00000bf9: SWAP3
00000bfa: SWAP2
00000bfb: POP
00000bfc: POP
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: DUP1
00000c00: DUP3
00000c01: ADD
00000c02: DUP3
00000c03: DUP2
00000c04: LT
00000c05: ISZERO
00000c06: PUSH2 0x0bf8
00000c09: JUMPI
00000c0a: PUSH1 0x40
00000c0c: MLOAD
00000c0d: PUSH3 0x461bcd
00000c11: PUSH1 0xe5
00000c13: SHL
00000c14: DUP2
00000c15: MSTORE
00000c16: PUSH1 0x04
00000c18: ADD
00000c19: PUSH2 0x0a0f
00000c1c: SWAP1
00000c1d: PUSH2 0x0f6d
00000c20: JUMP
00000c21: JUMPDEST
00000c22: DUP1
00000c23: MLOAD
00000c24: PUSH1 0x01
00000c26: PUSH1 0x01
00000c28: PUSH1 0x70
00000c2a: SHL
00000c2b: SUB
00000c2c: DUP2
00000c2d: AND
00000c2e: DUP2
00000c2f: EQ
00000c30: PUSH2 0x0bf8
00000c33: JUMPI
00000c34: PUSH1 0x00
00000c36: DUP1
00000c37: REVERT
00000c38: JUMPDEST
00000c39: PUSH1 0x00
00000c3b: PUSH1 0x20
00000c3d: DUP3
00000c3e: DUP5
00000c3f: SUB
00000c40: SLT
00000c41: ISZERO
00000c42: PUSH2 0x0c49
00000c45: JUMPI
00000c46: DUP1
00000c47: DUP2
00000c48: REVERT
00000c49: JUMPDEST
00000c4a: DUP2
00000c4b: CALLDATALOAD
00000c4c: PUSH2 0x0bba
00000c4f: DUP2
00000c50: PUSH2 0x10ab
00000c53: JUMP
00000c54: JUMPDEST
00000c55: PUSH1 0x00
00000c57: PUSH1 0x20
00000c59: DUP3
00000c5a: DUP5
00000c5b: SUB
00000c5c: SLT
00000c5d: ISZERO
00000c5e: PUSH2 0x0c65
00000c61: JUMPI
00000c62: DUP1
00000c63: DUP2
00000c64: REVERT
00000c65: JUMPDEST
00000c66: DUP2
00000c67: MLOAD
00000c68: PUSH2 0x0bba
00000c6b: DUP2
00000c6c: PUSH2 0x10ab
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH1 0x00
00000c73: PUSH1 0x20
00000c75: DUP1
00000c76: DUP4
00000c77: DUP6
00000c78: SUB
00000c79: SLT
00000c7a: ISZERO
00000c7b: PUSH2 0x0c82
00000c7e: JUMPI
00000c7f: DUP2
00000c80: DUP3
00000c81: REVERT
00000c82: JUMPDEST
00000c83: DUP3
00000c84: MLOAD
00000c85: PUSH8 0xffffffffffffffff
00000c8e: DUP1
00000c8f: DUP3
00000c90: GT
00000c91: ISZERO
00000c92: PUSH2 0x0c99
00000c95: JUMPI
00000c96: DUP4
00000c97: DUP5
00000c98: REVERT
00000c99: JUMPDEST
00000c9a: DUP2
00000c9b: DUP6
00000c9c: ADD
00000c9d: SWAP2
00000c9e: POP
00000c9f: DUP6
00000ca0: PUSH1 0x1f
00000ca2: DUP4
00000ca3: ADD
00000ca4: SLT
00000ca5: PUSH2 0x0cac
00000ca8: JUMPI
00000ca9: DUP4
00000caa: DUP5
00000cab: REVERT
00000cac: JUMPDEST
00000cad: DUP2
00000cae: MLOAD
00000caf: DUP2
00000cb0: DUP2
00000cb1: GT
00000cb2: ISZERO
00000cb3: PUSH2 0x0cba
00000cb6: JUMPI
00000cb7: DUP5
00000cb8: DUP6
00000cb9: REVERT
00000cba: JUMPDEST
00000cbb: DUP4
00000cbc: DUP2
00000cbd: MUL
00000cbe: SWAP2
00000cbf: POP
00000cc0: PUSH2 0x0cca
00000cc3: DUP5
00000cc4: DUP4
00000cc5: ADD
00000cc6: PUSH2 0x1084
00000cc9: JUMP
00000cca: JUMPDEST
00000ccb: DUP2
00000ccc: DUP2
00000ccd: MSTORE
00000cce: DUP5
00000ccf: DUP2
00000cd0: ADD
00000cd1: SWAP1
00000cd2: DUP5
00000cd3: DUP7
00000cd4: ADD
00000cd5: DUP5
00000cd6: DUP7
00000cd7: ADD
00000cd8: DUP8
00000cd9: ADD
00000cda: DUP11
00000cdb: LT
00000cdc: ISZERO
00000cdd: PUSH2 0x0ce4
00000ce0: JUMPI
00000ce1: DUP8
00000ce2: DUP9
00000ce3: REVERT
00000ce4: JUMPDEST
00000ce5: DUP8
00000ce6: SWAP6
00000ce7: POP
00000ce8: JUMPDEST
00000ce9: DUP4
00000cea: DUP7
00000ceb: LT
00000cec: ISZERO
00000ced: PUSH2 0x0d06
00000cf0: JUMPI
00000cf1: DUP1
00000cf2: MLOAD
00000cf3: DUP4
00000cf4: MSTORE
00000cf5: PUSH1 0x01
00000cf7: SWAP6
00000cf8: SWAP1
00000cf9: SWAP6
00000cfa: ADD
00000cfb: SWAP5
00000cfc: SWAP2
00000cfd: DUP7
00000cfe: ADD
00000cff: SWAP2
00000d00: DUP7
00000d01: ADD
00000d02: PUSH2 0x0ce8
00000d05: JUMP
00000d06: JUMPDEST
00000d07: POP
00000d08: SWAP9
00000d09: SWAP8
00000d0a: POP
00000d0b: POP
00000d0c: POP
00000d0d: POP
00000d0e: POP
00000d0f: POP
00000d10: POP
00000d11: POP
00000d12: JUMP
00000d13: JUMPDEST
00000d14: PUSH1 0x00
00000d16: DUP1
00000d17: PUSH1 0x00
00000d19: PUSH1 0x60
00000d1b: DUP5
00000d1c: DUP7
00000d1d: SUB
00000d1e: SLT
00000d1f: ISZERO
00000d20: PUSH2 0x0d27
00000d23: JUMPI
00000d24: DUP2
00000d25: DUP3
00000d26: REVERT
00000d27: JUMPDEST
00000d28: PUSH2 0x0d31
00000d2b: DUP6
00000d2c: DUP6
00000d2d: PUSH2 0x0c21
00000d30: JUMP
00000d31: JUMPDEST
00000d32: SWAP3
00000d33: POP
00000d34: PUSH2 0x0d40
00000d37: DUP6
00000d38: PUSH1 0x20
00000d3a: DUP7
00000d3b: ADD
00000d3c: PUSH2 0x0c21
00000d3f: JUMP
00000d40: JUMPDEST
00000d41: SWAP2
00000d42: POP
00000d43: PUSH1 0x40
00000d45: DUP5
00000d46: ADD
00000d47: MLOAD
00000d48: PUSH4 0xffffffff
00000d4d: DUP2
00000d4e: AND
00000d4f: DUP2
00000d50: EQ
00000d51: PUSH2 0x0d58
00000d54: JUMPI
00000d55: DUP2
00000d56: DUP3
00000d57: REVERT
00000d58: JUMPDEST
00000d59: DUP1
00000d5a: SWAP2
00000d5b: POP
00000d5c: POP
00000d5d: SWAP3
00000d5e: POP
00000d5f: SWAP3
00000d60: POP
00000d61: SWAP3
00000d62: JUMP
00000d63: JUMPDEST
00000d64: PUSH1 0x00
00000d66: PUSH1 0x20
00000d68: DUP3
00000d69: DUP5
00000d6a: SUB
00000d6b: SLT
00000d6c: ISZERO
00000d6d: PUSH2 0x0d74
00000d70: JUMPI
00000d71: DUP1
00000d72: DUP2
00000d73: REVERT
00000d74: JUMPDEST
00000d75: POP
00000d76: MLOAD
00000d77: SWAP2
00000d78: SWAP1
00000d79: POP
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: PUSH1 0x00
00000d7e: DUP1
00000d7f: PUSH1 0x00
00000d81: DUP1
00000d82: PUSH1 0x60
00000d84: DUP6
00000d85: DUP8
00000d86: SUB
00000d87: SLT
00000d88: ISZERO
00000d89: PUSH2 0x0d90
00000d8c: JUMPI
00000d8d: DUP1
00000d8e: DUP2
00000d8f: REVERT
00000d90: JUMPDEST
00000d91: DUP5
00000d92: CALLDATALOAD
00000d93: SWAP4
00000d94: POP
00000d95: PUSH1 0x20
00000d97: DUP6
00000d98: ADD
00000d99: CALLDATALOAD
00000d9a: PUSH2 0x0da2
00000d9d: DUP2
00000d9e: PUSH2 0x10ab
00000da1: JUMP
00000da2: JUMPDEST
00000da3: SWAP3
00000da4: POP
00000da5: PUSH1 0x40
00000da7: DUP6
00000da8: ADD
00000da9: CALLDATALOAD
00000daa: PUSH8 0xffffffffffffffff
00000db3: DUP1
00000db4: DUP3
00000db5: GT
00000db6: ISZERO
00000db7: PUSH2 0x0dbe
00000dba: JUMPI
00000dbb: DUP3
00000dbc: DUP4
00000dbd: REVERT
00000dbe: JUMPDEST
00000dbf: DUP2
00000dc0: DUP8
00000dc1: ADD
00000dc2: SWAP2
00000dc3: POP
00000dc4: DUP8
00000dc5: PUSH1 0x1f
00000dc7: DUP4
00000dc8: ADD
00000dc9: SLT
00000dca: PUSH2 0x0dd1
00000dcd: JUMPI
00000dce: DUP3
00000dcf: DUP4
00000dd0: REVERT
00000dd1: JUMPDEST
00000dd2: DUP2
00000dd3: CALLDATALOAD
00000dd4: DUP2
00000dd5: DUP2
00000dd6: GT
00000dd7: ISZERO
00000dd8: PUSH2 0x0ddf
00000ddb: JUMPI
00000ddc: DUP4
00000ddd: DUP5
00000dde: REVERT
00000ddf: JUMPDEST
00000de0: DUP9
00000de1: PUSH1 0x20
00000de3: DUP3
00000de4: DUP6
00000de5: ADD
00000de6: ADD
00000de7: GT
00000de8: ISZERO
00000de9: PUSH2 0x0df0
00000dec: JUMPI
00000ded: DUP4
00000dee: DUP5
00000def: REVERT
00000df0: JUMPDEST
00000df1: SWAP6
00000df2: SWAP9
00000df3: SWAP5
00000df4: SWAP8
00000df5: POP
00000df6: POP
00000df7: PUSH1 0x20
00000df9: ADD
00000dfa: SWAP5
00000dfb: POP
00000dfc: POP
00000dfd: POP
00000dfe: JUMP
00000dff: JUMPDEST
00000e00: PUSH1 0x00
00000e02: DUP1
00000e03: PUSH1 0x00
00000e05: PUSH1 0x60
00000e07: DUP5
00000e08: DUP7
00000e09: SUB
00000e0a: SLT
00000e0b: ISZERO
00000e0c: PUSH2 0x0e13
00000e0f: JUMPI
00000e10: DUP3
00000e11: DUP4
00000e12: REVERT
00000e13: JUMPDEST
00000e14: DUP4
00000e15: CALLDATALOAD
00000e16: SWAP3
00000e17: POP
00000e18: PUSH1 0x20
00000e1a: DUP5
00000e1b: ADD
00000e1c: CALLDATALOAD
00000e1d: PUSH2 0x0e25
00000e20: DUP2
00000e21: PUSH2 0x10ab
00000e24: JUMP
00000e25: JUMPDEST
00000e26: SWAP2
00000e27: POP
00000e28: PUSH1 0x40
00000e2a: DUP5
00000e2b: ADD
00000e2c: CALLDATALOAD
00000e2d: DUP1
00000e2e: ISZERO
00000e2f: ISZERO
00000e30: DUP2
00000e31: EQ
00000e32: PUSH2 0x0d58
00000e35: JUMPI
00000e36: DUP2
00000e37: DUP3
00000e38: REVERT
00000e39: JUMPDEST
00000e3a: PUSH1 0x00
00000e3c: DUP1
00000e3d: PUSH1 0x40
00000e3f: DUP4
00000e40: DUP6
00000e41: SUB
00000e42: SLT
00000e43: ISZERO
00000e44: PUSH2 0x0e4b
00000e47: JUMPI
00000e48: DUP2
00000e49: DUP3
00000e4a: REVERT
00000e4b: JUMPDEST
00000e4c: POP
00000e4d: POP
00000e4e: DUP1
00000e4f: MLOAD
00000e50: PUSH1 0x20
00000e52: SWAP1
00000e53: SWAP2
00000e54: ADD
00000e55: MLOAD
00000e56: SWAP1
00000e57: SWAP3
00000e58: SWAP1
00000e59: SWAP2
00000e5a: POP
00000e5b: JUMP
00000e5c: JUMPDEST
00000e5d: PUSH1 0x00
00000e5f: DUP2
00000e60: MLOAD
00000e61: DUP1
00000e62: DUP5
00000e63: MSTORE
00000e64: DUP2
00000e65: JUMPDEST
00000e66: DUP2
00000e67: DUP2
00000e68: LT
00000e69: ISZERO
00000e6a: PUSH2 0x0e81
00000e6d: JUMPI
00000e6e: PUSH1 0x20
00000e70: DUP2
00000e71: DUP6
00000e72: ADD
00000e73: DUP2
00000e74: ADD
00000e75: MLOAD
00000e76: DUP7
00000e77: DUP4
00000e78: ADD
00000e79: DUP3
00000e7a: ADD
00000e7b: MSTORE
00000e7c: ADD
00000e7d: PUSH2 0x0e65
00000e80: JUMP
00000e81: JUMPDEST
00000e82: DUP2
00000e83: DUP2
00000e84: GT
00000e85: ISZERO
00000e86: PUSH2 0x0e92
00000e89: JUMPI
00000e8a: DUP3
00000e8b: PUSH1 0x20
00000e8d: DUP4
00000e8e: DUP8
00000e8f: ADD
00000e90: ADD
00000e91: MSTORE
00000e92: JUMPDEST
00000e93: POP
00000e94: PUSH1 0x1f
00000e96: ADD
00000e97: PUSH1 0x1f
00000e99: NOT
00000e9a: AND
00000e9b: SWAP3
00000e9c: SWAP1
00000e9d: SWAP3
00000e9e: ADD
00000e9f: PUSH1 0x20
00000ea1: ADD
00000ea2: SWAP3
00000ea3: SWAP2
00000ea4: POP
00000ea5: POP
00000ea6: JUMP
00000ea7: JUMPDEST
00000ea8: PUSH1 0x00
00000eaa: DUP3
00000eab: DUP5
00000eac: DUP4
00000ead: CALLDATACOPY
00000eae: SWAP2
00000eaf: ADD
00000eb0: SWAP1
00000eb1: DUP2
00000eb2: MSTORE
00000eb3: SWAP2
00000eb4: SWAP1
00000eb5: POP
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: PUSH1 0x01
00000eba: PUSH1 0x01
00000ebc: PUSH1 0xa0
00000ebe: SHL
00000ebf: SUB
00000ec0: SWAP2
00000ec1: SWAP1
00000ec2: SWAP2
00000ec3: AND
00000ec4: DUP2
00000ec5: MSTORE
00000ec6: PUSH1 0x20
00000ec8: ADD
00000ec9: SWAP1
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: PUSH1 0x01
00000ece: PUSH1 0x01
00000ed0: PUSH1 0xa0
00000ed2: SHL
00000ed3: SUB
00000ed4: SWAP3
00000ed5: DUP4
00000ed6: AND
00000ed7: DUP2
00000ed8: MSTORE
00000ed9: SWAP2
00000eda: AND
00000edb: PUSH1 0x20
00000edd: DUP3
00000ede: ADD
00000edf: MSTORE
00000ee0: PUSH1 0x40
00000ee2: ADD
00000ee3: SWAP1
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: PUSH1 0x00
00000ee8: DUP4
00000ee9: ISZERO
00000eea: ISZERO
00000eeb: DUP3
00000eec: MSTORE
00000eed: PUSH1 0x40
00000eef: PUSH1 0x20
00000ef1: DUP4
00000ef2: ADD
00000ef3: MSTORE
00000ef4: PUSH2 0x0f00
00000ef7: PUSH1 0x40
00000ef9: DUP4
00000efa: ADD
00000efb: DUP5
00000efc: PUSH2 0x0e5c
00000eff: JUMP
00000f00: JUMPDEST
00000f01: SWAP5
00000f02: SWAP4
00000f03: POP
00000f04: POP
00000f05: POP
00000f06: POP
00000f07: JUMP
00000f08: JUMPDEST
00000f09: PUSH1 0x00
00000f0b: DUP6
00000f0c: DUP3
00000f0d: MSTORE
00000f0e: DUP5
00000f0f: PUSH1 0x20
00000f11: DUP4
00000f12: ADD
00000f13: MSTORE
00000f14: PUSH1 0x01
00000f16: DUP1
00000f17: PUSH1 0xa0
00000f19: SHL
00000f1a: SUB
00000f1b: DUP5
00000f1c: AND
00000f1d: PUSH1 0x40
00000f1f: DUP4
00000f20: ADD
00000f21: MSTORE
00000f22: PUSH1 0x80
00000f24: PUSH1 0x60
00000f26: DUP4
00000f27: ADD
00000f28: MSTORE
00000f29: PUSH2 0x0f35
00000f2c: PUSH1 0x80
00000f2e: DUP4
00000f2f: ADD
00000f30: DUP5
00000f31: PUSH2 0x0e5c
00000f34: JUMP
00000f35: JUMPDEST
00000f36: SWAP7
00000f37: SWAP6
00000f38: POP
00000f39: POP
00000f3a: POP
00000f3b: POP
00000f3c: POP
00000f3d: POP
00000f3e: JUMP
00000f3f: JUMPDEST
00000f40: PUSH1 0x20
00000f42: DUP1
00000f43: DUP3
00000f44: MSTORE
00000f45: PUSH1 0x14
00000f47: SWAP1
00000f48: DUP3
00000f49: ADD
00000f4a: MSTORE
00000f4b: PUSH20 0x64732d6d6174682d6d756c2d6f766572666c6f77
00000f60: PUSH1 0x60
00000f62: SHL
00000f63: PUSH1 0x40
00000f65: DUP3
00000f66: ADD
00000f67: MSTORE
00000f68: PUSH1 0x60
00000f6a: ADD
00000f6b: SWAP1
00000f6c: JUMP
00000f6d: JUMPDEST
00000f6e: PUSH1 0x20
00000f70: DUP1
00000f71: DUP3
00000f72: MSTORE
00000f73: PUSH1 0x14
00000f75: SWAP1
00000f76: DUP3
00000f77: ADD
00000f78: MSTORE
00000f79: PUSH20 0x64732d6d6174682d6164642d6f766572666c6f77
00000f8e: PUSH1 0x60
00000f90: SHL
00000f91: PUSH1 0x40
00000f93: DUP3
00000f94: ADD
00000f95: MSTORE
00000f96: PUSH1 0x60
00000f98: ADD
00000f99: SWAP1
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: PUSH1 0x20
00000f9e: DUP1
00000f9f: DUP3
00000fa0: MSTORE
00000fa1: PUSH1 0x28
00000fa3: SWAP1
00000fa4: DUP3
00000fa5: ADD
00000fa6: MSTORE
00000fa7: PUSH32 0x556e697377617056324c6962726172793a20494e53554646494349454e545f4c
00000fc8: PUSH1 0x40
00000fca: DUP3
00000fcb: ADD
00000fcc: MSTORE
00000fcd: PUSH8 0x4951554944495459
00000fd6: PUSH1 0xc0
00000fd8: SHL
00000fd9: PUSH1 0x60
00000fdb: DUP3
00000fdc: ADD
00000fdd: MSTORE
00000fde: PUSH1 0x80
00000fe0: ADD
00000fe1: SWAP1
00000fe2: JUMP
00000fe3: JUMPDEST
00000fe4: PUSH1 0x20
00000fe6: DUP1
00000fe7: DUP3
00000fe8: MSTORE
00000fe9: PUSH1 0x2b
00000feb: SWAP1
00000fec: DUP3
00000fed: ADD
00000fee: MSTORE
00000fef: PUSH32 0x556e697377617056324c6962726172793a20494e53554646494349454e545f49
00001010: PUSH1 0x40
00001012: DUP3
00001013: ADD
00001014: MSTORE
00001015: PUSH11 0x1394155517d05353d55395
00001021: PUSH1 0xaa
00001023: SHL
00001024: PUSH1 0x60
00001026: DUP3
00001027: ADD
00001028: MSTORE
00001029: PUSH1 0x80
0000102b: ADD
0000102c: SWAP1
0000102d: JUMP
0000102e: JUMPDEST
0000102f: PUSH1 0x00
00001031: PUSH1 0x40
00001033: DUP3
00001034: ADD
00001035: DUP5
00001036: DUP4
00001037: MSTORE
00001038: PUSH1 0x20
0000103a: PUSH1 0x40
0000103c: DUP2
0000103d: DUP6
0000103e: ADD
0000103f: MSTORE
00001040: DUP2
00001041: DUP6
00001042: MLOAD
00001043: DUP1
00001044: DUP5
00001045: MSTORE
00001046: PUSH1 0x60
00001048: DUP7
00001049: ADD
0000104a: SWAP2
0000104b: POP
0000104c: DUP3
0000104d: DUP8
0000104e: ADD
0000104f: SWAP4
00001050: POP
00001051: DUP5
00001052: JUMPDEST
00001053: DUP2
00001054: DUP2
00001055: LT
00001056: ISZERO
00001057: PUSH2 0x1077
0000105a: JUMPI
0000105b: DUP5
0000105c: MLOAD
0000105d: PUSH1 0x01
0000105f: PUSH1 0x01
00001061: PUSH1 0xa0
00001063: SHL
00001064: SUB
00001065: AND
00001066: DUP4
00001067: MSTORE
00001068: SWAP4
00001069: DUP4
0000106a: ADD
0000106b: SWAP4
0000106c: SWAP2
0000106d: DUP4
0000106e: ADD
0000106f: SWAP2
00001070: PUSH1 0x01
00001072: ADD
00001073: PUSH2 0x1052
00001076: JUMP
00001077: JUMPDEST
00001078: POP
00001079: SWAP1
0000107a: SWAP8
0000107b: SWAP7
0000107c: POP
0000107d: POP
0000107e: POP
0000107f: POP
00001080: POP
00001081: POP
00001082: POP
00001083: JUMP
00001084: JUMPDEST
00001085: PUSH1 0x40
00001087: MLOAD
00001088: DUP2
00001089: DUP2
0000108a: ADD
0000108b: PUSH8 0xffffffffffffffff
00001094: DUP2
00001095: GT
00001096: DUP3
00001097: DUP3
00001098: LT
00001099: OR
0000109a: ISZERO
0000109b: PUSH2 0x10a3
0000109e: JUMPI
0000109f: PUSH1 0x00
000010a1: DUP1
000010a2: REVERT
000010a3: JUMPDEST
000010a4: PUSH1 0x40
000010a6: MSTORE
000010a7: SWAP2
000010a8: SWAP1
000010a9: POP
000010aa: JUMP
000010ab: JUMPDEST
000010ac: PUSH1 0x01
000010ae: PUSH1 0x01
000010b0: PUSH1 0xa0
000010b2: SHL
000010b3: SUB
000010b4: DUP2
000010b5: AND
000010b6: DUP2
000010b7: EQ
000010b8: PUSH2 0x0243
000010bb: JUMPI
000010bc: PUSH1 0x00
000010be: DUP1
000010bf: REVERT
000010c0: INVALID
000010c1: LOG2
000010c2: PUSH5 0x6970667358
000010c8: UNKNOWN(0x22)
000010c9: SLT
000010ca: KECCAK256
000010cb: SWAP15
000010cc: UNKNOWN(0xD9)
000010cd: UNKNOWN(0xC8)
000010ce: UNKNOWN(0xD1)
000010cf: UNKNOWN(0xD3)
000010d0: UNKNOWN(0xF8)
000010d1: DUP3
000010d2: CODECOPY
000010d3: UNKNOWN(0xEF)
000010d4: UNKNOWN(0xE7)
000010d5: XOR
000010d6: PUSH26 0x4a0d2c3bdf26760485698450f2956cffb3a35f8c64736f6c6343
000010f1: STOP
000010f2: SMOD
000010f3: ADD
000010f4: STOP
000010f5: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1
call_targets: 0xee895136f60984ad428830eb622f9e1f91a13a45
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xee895136f60984ad428830eb622f9e1f91a13a45"
    ],
    "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": "0x2c00b718",
            "selector": "0x2c00b718",
            "calldata_variants": [
                "0x2c00b718",
                "0x2c00b7180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90619853",
            "selector": "0x90619853",
            "calldata_variants": [
                "0x90619853",
                "0x906198530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa5518ac9",
            "selector": "0xa5518ac9",
            "calldata_variants": [
                "0xa5518ac9",
                "0xa5518ac90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 232,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 523,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1369,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1
call_targets: 0xee895136f60984ad428830eb622f9e1f91a13a45
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xee895136f60984ad428830eb622f9e1f91a13a45"
    ],
    "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": "0x2c00b718",
            "selector": "0x2c00b718",
            "calldata_variants": [
                "0x2c00b718",
                "0x2c00b7180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x90619853",
            "selector": "0x90619853",
            "calldata_variants": [
                "0x90619853",
                "0x906198530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa5518ac9",
            "selector": "0xa5518ac9",
            "calldata_variants": [
                "0xa5518ac9",
                "0xa5518ac90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 232,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 523,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1369,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
medium other codex Computed-target CALLs with possible ETH value transfer 75 no
view
evidence_json
{
    "evidence": "Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.",
    "locations": [
        "pc:0xE8",
        "pc:0x20B",
        "pc:0x559",
        "pc:0x5C3",
        "pc:0x66C"
    ],
    "recommendation": "Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects\u2011before\u2011interactions.",
    "exploit_scenario": "If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control."
}
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": 15
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 16
}