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

Analysis Run

019bab3c-509f-7157-9791-77edf365d19b

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 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
Authorization based on tx.origin
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
38964 artifact.fetch complete 1 / 3 3 months ago
38965 proxy.resolve complete 1 / 3 3 months ago
38966 tool.cast_disasm complete 1 / 3 3 months ago
38967 analysis.bundle complete 1 / 3 3 months ago
38968 capability.graph complete 1 / 3 3 months ago
38969 detector.run complete 1 / 3 3 months ago
38970 validation.fork complete 1 / 3 3 months ago
39234 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
3
No findings?
no
Summary
Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.
View stdout
{"no_findings":false,"summary":"Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.","findings":[{"severity":"medium","category":"auth","title":"Potential authorization using tx.origin","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action.","recommendation":"Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.","evidence":"Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.","locations":["pc:0x18C0","pc:0x18C7"]},{"severity":"low","category":"other","title":"CREATE2 opcode present and potentially reachable","exploit_scenario":"If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments.","recommendation":"Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.","evidence":"CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.","locations":["pc:0x17CE"]},{"severity":"low","category":"other","title":"CALLs with computed target/value; external-call risk unclear","exploit_scenario":"If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures.","recommendation":"Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.","evidence":"CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.","locations":["pc:0x0D34","pc:0x0DB0","pc:0x1212","pc:0x1709"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-gwiwdw2z
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac21-ad02-7780-bcdf-620a9c8af9e0
--------
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**
exec
/bin/bash -lc ls in /tmp/codex-gwiwdw2z succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-gwiwdw2z succeeded in 6ms:
{
  "analysis_artifact": {
    "address": "0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730",
    "artifact_hash": "0xc73524ecb85ae6c9eebee467f37af381374499c3b2b99ab3693c29b193351918",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 1872,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
          },
          {
            "pc": 2541,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
          },
          {
            "pc": 6336,
            "type": "tx_origin_used"

thinking
**Analyzing issue evidence and callsites**
exec
/bin/bash -lc "rg -n 'CREATE2|CREATE' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 7ms:
6225:            "CREATE2",
15361:        "sink": "CREATE"
15364:      "title": "CREATE/CREATE2 reachable",
15373:        "sink": "CREATE",

thinking
**Searching for CREATE2 instruction location**
exec
/bin/bash -lc "sed -n '6200,6245p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 9ms:
            "PUSH6",
            "OP_3A",
            "SHA3",
            "MSTORE",
            "PUSH6",
            "PUSH2",
            "PUSH22",
            "NUMBER",
            "ORIGIN",
            "ADDRESS",
            "OP_3A",
            "SHA3",
            "GASLIMIT",
            "MSTORE",
            "NUMBER",
            "ORIGIN",
            "ADDRESS",
            "SHA3",
            "PUSH16",
            "SHA3",

thinking
**Converting program counters to hex format**
exec
/bin/bash -lc "sed -n '6310,6365p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 7ms:
          "pc": 4847,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "n/a"
        },
        {
          "opcode": "STATICCALL",
          "pc": 5325,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "n/a"
        },
        {
          "opcode": "CALL",
          "pc": 5897,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],

thinking
**Searching for ORIGIN references**
exec
/bin/bash -lc "rg -n 'ORIGIN' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 27ms:
6208:            "ORIGIN",
6215:            "ORIGIN",

thinking
**Analyzing CALL and ORIGIN usage in contract**
exec
/bin/bash -lc "rg -n '\"pc\": 3380' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 34ms:
6282:          "pc": 3380,
15014:          "pc": 3380,
15219:            "pc": 3380,
15290:            "pc": 3380,

thinking
**Reviewing callsite range**
exec
/bin/bash -lc "sed -n '6260,6305p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 6ms:
          ],
          "start_pc": 6474
        },
        {
          "end_pc": 6477,
          "hash": "0xdebb61705144f82e0525b1dff363bd4b14cd2128224e286ab4eed00733f15dbd",
          "opcodes": [
            "CALLER"
          ],
          "start_pc": 6477
        }
      ],
      "callsites": [
        {
          "opcode": "STATICCALL",
          "pc": 2363,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "n/a"
        },

thinking
**Summarizing security findings and crafting JSON output**

I'll organize the key findings about tx.origin authorization, CREATE2 usage, and computed CALL targets with their severities and categories. Then I'll format this info into a concise JSON with summary and findings, carefully reflecting nuances and uncertainties to provide a clear and conservative report.
codex
{"no_findings":false,"summary":"Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.","findings":[{"severity":"medium","category":"auth","title":"Potential authorization using tx.origin","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action.","recommendation":"Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.","evidence":"Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.","locations":["pc:0x18C0","pc:0x18C7"]},{"severity":"low","category":"other","title":"CREATE2 opcode present and potentially reachable","exploit_scenario":"If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments.","recommendation":"Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.","evidence":"CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.","locations":["pc:0x17CE"]},{"severity":"low","category":"other","title":"CALLs with computed target/value; external-call risk unclear","exploit_scenario":"If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures.","recommendation":"Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.","evidence":"CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.","locations":["pc:0x0D34","pc:0x0DB0","pc:0x1212","pc:0x1709"]}]}
tokens used
21,622
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T08:18:55.829500+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 12958,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.",
    "raw_final": {
        "summary": "Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.",
        "findings": [
            {
                "title": "Potential authorization using tx.origin",
                "category": "auth",
                "evidence": "Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.",
                "severity": "medium",
                "locations": [
                    "pc:0x18C0",
                    "pc:0x18C7"
                ],
                "recommendation": "Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.",
                "exploit_scenario": "If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action."
            },
            {
                "title": "CREATE2 opcode present and potentially reachable",
                "category": "other",
                "evidence": "CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.",
                "severity": "low",
                "locations": [
                    "pc:0x17CE"
                ],
                "recommendation": "Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.",
                "exploit_scenario": "If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments."
            },
            {
                "title": "CALLs with computed target/value; external-call risk unclear",
                "category": "other",
                "evidence": "CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.",
                "severity": "low",
                "locations": [
                    "pc:0x0D34",
                    "pc:0x0DB0",
                    "pc:0x1212",
                    "pc:0x1709"
                ],
                "recommendation": "Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.",
                "exploit_scenario": "If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
8
EXT*/BALANCE
9
Total opcodes
3981
Flags
create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0116
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x85a336c5
00000026: GT
00000027: PUSH2 0x00a2
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xbfe0c27e
00000031: GT
00000032: PUSH2 0x0071
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xbfe0c27e
0000003c: EQ
0000003d: PUSH2 0x0344
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xcb915663
00000047: EQ
00000048: PUSH2 0x0368
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe5596e0b
00000052: EQ
00000053: PUSH2 0x0370
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf23149c6
0000005d: EQ
0000005e: PUSH2 0x0378
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xfe113801
00000068: EQ
00000069: PUSH2 0x0380
0000006c: JUMPI
0000006d: PUSH2 0x0116
00000070: JUMP
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0x85a336c5
00000078: EQ
00000079: PUSH2 0x02cd
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xa281e965
00000083: EQ
00000084: PUSH2 0x02f0
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xab8cd46c
0000008e: EQ
0000008f: PUSH2 0x02f8
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xb23e0aa1
00000099: EQ
0000009a: PUSH2 0x031e
0000009d: JUMPI
0000009e: PUSH2 0x0116
000000a1: JUMP
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x2e1a7d4d
000000a9: GT
000000aa: PUSH2 0x00e9
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x2e1a7d4d
000000b4: EQ
000000b5: PUSH2 0x01f3
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x61985506
000000bf: EQ
000000c0: PUSH2 0x0224
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x6ff7c94e
000000ca: EQ
000000cb: PUSH2 0x0260
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x763bf7dc
000000d5: EQ
000000d6: PUSH2 0x0293
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x7d61bf99
000000e0: EQ
000000e1: PUSH2 0x02c5
000000e4: JUMPI
000000e5: PUSH2 0x0116
000000e8: JUMP
000000e9: JUMPDEST
000000ea: DUP1
000000eb: PUSH4 0x0707a945
000000f0: EQ
000000f1: PUSH2 0x011b
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x0c08bf88
000000fb: EQ
000000fc: PUSH2 0x0154
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x0d13e1a1
00000106: EQ
00000107: PUSH2 0x015e
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0x102b198d
00000111: EQ
00000112: PUSH2 0x01c8
00000115: JUMPI
00000116: JUMPDEST
00000117: PUSH1 0x00
00000119: DUP1
0000011a: REVERT
0000011b: JUMPDEST
0000011c: PUSH2 0x013b
0000011f: PUSH1 0x04
00000121: DUP1
00000122: CALLDATASIZE
00000123: SUB
00000124: PUSH1 0x20
00000126: DUP2
00000127: LT
00000128: ISZERO
00000129: PUSH2 0x0131
0000012c: JUMPI
0000012d: PUSH1 0x00
0000012f: DUP1
00000130: REVERT
00000131: JUMPDEST
00000132: POP
00000133: CALLDATALOAD
00000134: PUSH1 0xff
00000136: AND
00000137: PUSH2 0x039c
0000013a: JUMP
0000013b: JUMPDEST
0000013c: PUSH1 0x40
0000013e: DUP1
0000013f: MLOAD
00000140: SWAP3
00000141: DUP4
00000142: MSTORE
00000143: PUSH1 0x20
00000145: DUP4
00000146: ADD
00000147: SWAP2
00000148: SWAP1
00000149: SWAP2
0000014a: MSTORE
0000014b: DUP1
0000014c: MLOAD
0000014d: SWAP2
0000014e: DUP3
0000014f: SWAP1
00000150: SUB
00000151: ADD
00000152: SWAP1
00000153: RETURN
00000154: JUMPDEST
00000155: PUSH2 0x015c
00000158: PUSH2 0x03c6
0000015b: JUMP
0000015c: JUMPDEST
0000015d: STOP
0000015e: JUMPDEST
0000015f: PUSH2 0x0166
00000162: PUSH2 0x04a9
00000165: JUMP
00000166: JUMPDEST
00000167: PUSH1 0x40
00000169: DUP1
0000016a: MLOAD
0000016b: PUSH1 0x01
0000016d: PUSH1 0x01
0000016f: PUSH1 0xa0
00000171: SHL
00000172: SUB
00000173: DUP1
00000174: DUP9
00000175: AND
00000176: DUP3
00000177: MSTORE
00000178: DUP7
00000179: AND
0000017a: PUSH1 0x20
0000017c: DUP3
0000017d: ADD
0000017e: MSTORE
0000017f: SWAP1
00000180: DUP2
00000181: ADD
00000182: DUP5
00000183: SWAP1
00000184: MSTORE
00000185: PUSH1 0x60
00000187: DUP2
00000188: ADD
00000189: DUP4
0000018a: SWAP1
0000018b: MSTORE
0000018c: PUSH1 0x80
0000018e: DUP1
0000018f: DUP3
00000190: ADD
00000191: SWAP1
00000192: DUP4
00000193: SWAP1
00000194: DUP1
00000195: DUP4
00000196: DUP4
00000197: PUSH1 0x00
00000199: JUMPDEST
0000019a: DUP4
0000019b: DUP2
0000019c: LT
0000019d: ISZERO
0000019e: PUSH2 0x01b1
000001a1: JUMPI
000001a2: DUP2
000001a3: DUP2
000001a4: ADD
000001a5: MLOAD
000001a6: DUP4
000001a7: DUP3
000001a8: ADD
000001a9: MSTORE
000001aa: PUSH1 0x20
000001ac: ADD
000001ad: PUSH2 0x0199
000001b0: JUMP
000001b1: JUMPDEST
000001b2: POP
000001b3: POP
000001b4: POP
000001b5: POP
000001b6: SWAP1
000001b7: POP
000001b8: ADD
000001b9: SWAP6
000001ba: POP
000001bb: POP
000001bc: POP
000001bd: POP
000001be: POP
000001bf: POP
000001c0: PUSH1 0x40
000001c2: MLOAD
000001c3: DUP1
000001c4: SWAP2
000001c5: SUB
000001c6: SWAP1
000001c7: RETURN
000001c8: JUMPDEST
000001c9: PUSH2 0x015c
000001cc: PUSH1 0x04
000001ce: DUP1
000001cf: CALLDATASIZE
000001d0: SUB
000001d1: PUSH1 0xa0
000001d3: DUP2
000001d4: LT
000001d5: ISZERO
000001d6: PUSH2 0x01de
000001d9: JUMPI
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: REVERT
000001de: JUMPDEST
000001df: POP
000001e0: PUSH1 0x01
000001e2: PUSH1 0x01
000001e4: PUSH1 0xa0
000001e6: SHL
000001e7: SUB
000001e8: DUP2
000001e9: CALLDATALOAD
000001ea: AND
000001eb: SWAP1
000001ec: PUSH1 0x20
000001ee: ADD
000001ef: PUSH2 0x051b
000001f2: JUMP
000001f3: JUMPDEST
000001f4: PUSH2 0x0210
000001f7: PUSH1 0x04
000001f9: DUP1
000001fa: CALLDATASIZE
000001fb: SUB
000001fc: PUSH1 0x20
000001fe: DUP2
000001ff: LT
00000200: ISZERO
00000201: PUSH2 0x0209
00000204: JUMPI
00000205: PUSH1 0x00
00000207: DUP1
00000208: REVERT
00000209: JUMPDEST
0000020a: POP
0000020b: CALLDATALOAD
0000020c: PUSH2 0x060f
0000020f: JUMP
00000210: JUMPDEST
00000211: PUSH1 0x40
00000213: DUP1
00000214: MLOAD
00000215: SWAP2
00000216: ISZERO
00000217: ISZERO
00000218: DUP3
00000219: MSTORE
0000021a: MLOAD
0000021b: SWAP1
0000021c: DUP2
0000021d: SWAP1
0000021e: SUB
0000021f: PUSH1 0x20
00000221: ADD
00000222: SWAP1
00000223: RETURN
00000224: JUMPDEST
00000225: PUSH2 0x0210
00000228: PUSH1 0x04
0000022a: DUP1
0000022b: CALLDATASIZE
0000022c: SUB
0000022d: PUSH1 0x80
0000022f: DUP2
00000230: LT
00000231: ISZERO
00000232: PUSH2 0x023a
00000235: JUMPI
00000236: PUSH1 0x00
00000238: DUP1
00000239: REVERT
0000023a: JUMPDEST
0000023b: POP
0000023c: PUSH1 0x01
0000023e: PUSH1 0x01
00000240: PUSH1 0xa0
00000242: SHL
00000243: SUB
00000244: DUP2
00000245: CALLDATALOAD
00000246: DUP2
00000247: AND
00000248: SWAP2
00000249: PUSH1 0x20
0000024b: DUP2
0000024c: ADD
0000024d: CALLDATALOAD
0000024e: SWAP1
0000024f: SWAP2
00000250: AND
00000251: SWAP1
00000252: PUSH1 0x40
00000254: DUP2
00000255: ADD
00000256: CALLDATALOAD
00000257: SWAP1
00000258: PUSH1 0x60
0000025a: ADD
0000025b: CALLDATALOAD
0000025c: PUSH2 0x0737
0000025f: JUMP
00000260: JUMPDEST
00000261: PUSH2 0x027d
00000264: PUSH1 0x04
00000266: DUP1
00000267: CALLDATASIZE
00000268: SUB
00000269: PUSH1 0x20
0000026b: DUP2
0000026c: LT
0000026d: ISZERO
0000026e: PUSH2 0x0276
00000271: JUMPI
00000272: PUSH1 0x00
00000274: DUP1
00000275: REVERT
00000276: JUMPDEST
00000277: POP
00000278: CALLDATALOAD
00000279: PUSH2 0x087e
0000027c: JUMP
0000027d: JUMPDEST
0000027e: PUSH1 0x40
00000280: DUP1
00000281: MLOAD
00000282: PUSH1 0xff
00000284: SWAP1
00000285: SWAP3
00000286: AND
00000287: DUP3
00000288: MSTORE
00000289: MLOAD
0000028a: SWAP1
0000028b: DUP2
0000028c: SWAP1
0000028d: SUB
0000028e: PUSH1 0x20
00000290: ADD
00000291: SWAP1
00000292: RETURN
00000293: JUMPDEST
00000294: PUSH2 0x02b3
00000297: PUSH1 0x04
00000299: DUP1
0000029a: CALLDATASIZE
0000029b: SUB
0000029c: PUSH1 0x20
0000029e: DUP2
0000029f: LT
000002a0: ISZERO
000002a1: PUSH2 0x02a9
000002a4: JUMPI
000002a5: PUSH1 0x00
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: POP
000002ab: CALLDATALOAD
000002ac: PUSH1 0xff
000002ae: AND
000002af: PUSH2 0x08b8
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH1 0x40
000002b6: DUP1
000002b7: MLOAD
000002b8: SWAP2
000002b9: DUP3
000002ba: MSTORE
000002bb: MLOAD
000002bc: SWAP1
000002bd: DUP2
000002be: SWAP1
000002bf: SUB
000002c0: PUSH1 0x20
000002c2: ADD
000002c3: SWAP1
000002c4: RETURN
000002c5: JUMPDEST
000002c6: PUSH2 0x02b3
000002c9: PUSH2 0x08d9
000002cc: JUMP
000002cd: JUMPDEST
000002ce: PUSH2 0x015c
000002d1: PUSH1 0x04
000002d3: DUP1
000002d4: CALLDATASIZE
000002d5: SUB
000002d6: PUSH1 0x40
000002d8: DUP2
000002d9: LT
000002da: ISZERO
000002db: PUSH2 0x02e3
000002de: JUMPI
000002df: PUSH1 0x00
000002e1: DUP1
000002e2: REVERT
000002e3: JUMPDEST
000002e4: POP
000002e5: DUP1
000002e6: CALLDATALOAD
000002e7: SWAP1
000002e8: PUSH1 0x20
000002ea: ADD
000002eb: CALLDATALOAD
000002ec: PUSH2 0x0969
000002ef: JUMP
000002f0: JUMPDEST
000002f1: PUSH2 0x015c
000002f4: PUSH2 0x09d6
000002f7: JUMP
000002f8: JUMPDEST
000002f9: PUSH2 0x0210
000002fc: PUSH1 0x04
000002fe: DUP1
000002ff: CALLDATASIZE
00000300: SUB
00000301: PUSH1 0x20
00000303: DUP2
00000304: LT
00000305: ISZERO
00000306: PUSH2 0x030e
00000309: JUMPI
0000030a: PUSH1 0x00
0000030c: DUP1
0000030d: REVERT
0000030e: JUMPDEST
0000030f: POP
00000310: CALLDATALOAD
00000311: PUSH1 0x01
00000313: PUSH1 0x01
00000315: PUSH1 0xa0
00000317: SHL
00000318: SUB
00000319: AND
0000031a: PUSH2 0x0ac0
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH2 0x0210
00000322: PUSH1 0x04
00000324: DUP1
00000325: CALLDATASIZE
00000326: SUB
00000327: PUSH1 0x40
00000329: DUP2
0000032a: LT
0000032b: ISZERO
0000032c: PUSH2 0x0334
0000032f: JUMPI
00000330: PUSH1 0x00
00000332: DUP1
00000333: REVERT
00000334: JUMPDEST
00000335: POP
00000336: DUP1
00000337: CALLDATALOAD
00000338: SWAP1
00000339: PUSH1 0x20
0000033b: ADD
0000033c: CALLDATALOAD
0000033d: PUSH1 0xff
0000033f: AND
00000340: PUSH2 0x0ade
00000343: JUMP
00000344: JUMPDEST
00000345: PUSH2 0x034c
00000348: PUSH2 0x0b86
0000034b: JUMP
0000034c: JUMPDEST
0000034d: PUSH1 0x40
0000034f: DUP1
00000350: MLOAD
00000351: PUSH1 0x01
00000353: PUSH1 0x01
00000355: PUSH1 0xa0
00000357: SHL
00000358: SUB
00000359: SWAP1
0000035a: SWAP3
0000035b: AND
0000035c: DUP3
0000035d: MSTORE
0000035e: MLOAD
0000035f: SWAP1
00000360: DUP2
00000361: SWAP1
00000362: SUB
00000363: PUSH1 0x20
00000365: ADD
00000366: SWAP1
00000367: RETURN
00000368: JUMPDEST
00000369: PUSH2 0x02b3
0000036c: PUSH2 0x0b9e
0000036f: JUMP
00000370: JUMPDEST
00000371: PUSH2 0x034c
00000374: PUSH2 0x0bc7
00000377: JUMP
00000378: JUMPDEST
00000379: PUSH2 0x034c
0000037c: PUSH2 0x0bdc
0000037f: JUMP
00000380: JUMPDEST
00000381: PUSH2 0x015c
00000384: PUSH1 0x04
00000386: DUP1
00000387: CALLDATASIZE
00000388: SUB
00000389: PUSH1 0x80
0000038b: DUP2
0000038c: LT
0000038d: ISZERO
0000038e: PUSH2 0x0396
00000391: JUMPI
00000392: PUSH1 0x00
00000394: DUP1
00000395: REVERT
00000396: JUMPDEST
00000397: POP
00000398: PUSH2 0x0bf4
0000039b: JUMP
0000039c: JUMPDEST
0000039d: PUSH1 0x00
0000039f: DUP1
000003a0: PUSH1 0x02
000003a2: DUP4
000003a3: PUSH1 0xff
000003a5: AND
000003a6: PUSH1 0x04
000003a8: DUP2
000003a9: LT
000003aa: PUSH2 0x03af
000003ad: JUMPI
000003ae: INVALID
000003af: JUMPDEST
000003b0: PUSH1 0x02
000003b2: MUL
000003b3: ADD
000003b4: SLOAD
000003b5: PUSH2 0x03bd
000003b8: DUP5
000003b9: PUSH2 0x08b8
000003bc: JUMP
000003bd: JUMPDEST
000003be: SWAP2
000003bf: POP
000003c0: SWAP2
000003c1: POP
000003c2: SWAP2
000003c3: POP
000003c4: SWAP2
000003c5: JUMP
000003c6: JUMPDEST
000003c7: PUSH1 0x00
000003c9: SLOAD
000003ca: PUSH3 0x010000
000003ce: SWAP1
000003cf: DIV
000003d0: PUSH1 0x01
000003d2: PUSH1 0x01
000003d4: PUSH1 0xa0
000003d6: SHL
000003d7: SUB
000003d8: AND
000003d9: CALLER
000003da: EQ
000003db: PUSH2 0x042b
000003de: JUMPI
000003df: PUSH1 0x40
000003e1: DUP1
000003e2: MLOAD
000003e3: PUSH3 0x461bcd
000003e7: PUSH1 0xe5
000003e9: SHL
000003ea: DUP2
000003eb: MSTORE
000003ec: PUSH1 0x20
000003ee: PUSH1 0x04
000003f0: DUP3
000003f1: ADD
000003f2: MSTORE
000003f3: PUSH1 0x1f
000003f5: PUSH1 0x24
000003f7: DUP3
000003f8: ADD
000003f9: MSTORE
000003fa: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400
0000041b: PUSH1 0x44
0000041d: DUP3
0000041e: ADD
0000041f: MSTORE
00000420: SWAP1
00000421: MLOAD
00000422: SWAP1
00000423: DUP2
00000424: SWAP1
00000425: SUB
00000426: PUSH1 0x64
00000428: ADD
00000429: SWAP1
0000042a: REVERT
0000042b: JUMPDEST
0000042c: PUSH1 0x00
0000042e: JUMPDEST
0000042f: PUSH1 0x04
00000431: DUP2
00000432: PUSH1 0xff
00000434: AND
00000435: LT
00000436: ISZERO
00000437: PUSH2 0x0459
0000043a: JUMPI
0000043b: PUSH1 0x00
0000043d: PUSH1 0x02
0000043f: DUP3
00000440: PUSH1 0xff
00000442: AND
00000443: PUSH1 0x04
00000445: DUP2
00000446: LT
00000447: PUSH2 0x044c
0000044a: JUMPI
0000044b: INVALID
0000044c: JUMPDEST
0000044d: PUSH1 0x02
0000044f: MUL
00000450: ADD
00000451: SSTORE
00000452: PUSH1 0x01
00000454: ADD
00000455: PUSH2 0x042e
00000458: JUMP
00000459: JUMPDEST
0000045a: POP
0000045b: PUSH2 0x0462
0000045e: PUSH2 0x0cda
00000461: JUMP
00000462: JUMPDEST
00000463: PUSH1 0x00
00000465: SLOAD
00000466: PUSH1 0x40
00000468: DUP1
00000469: MLOAD
0000046a: PUSH3 0x010000
0000046e: SWAP1
0000046f: SWAP3
00000470: DIV
00000471: PUSH1 0x01
00000473: PUSH1 0x01
00000475: PUSH1 0xa0
00000477: SHL
00000478: SUB
00000479: AND
0000047a: DUP3
0000047b: MSTORE
0000047c: MLOAD
0000047d: PUSH32 0x92698ab3db50e5d720fbf450469b8b710e60fb34d38b6c9ca483ed5d3c38f0bd
0000049e: SWAP2
0000049f: PUSH1 0x20
000004a1: SWAP1
000004a2: DUP3
000004a3: SWAP1
000004a4: SUB
000004a5: ADD
000004a6: SWAP1
000004a7: LOG1
000004a8: JUMP
000004a9: JUMPDEST
000004aa: PUSH1 0x00
000004ac: DUP1
000004ad: PUSH1 0x00
000004af: DUP1
000004b0: PUSH2 0x04b7
000004b3: PUSH2 0x17af
000004b6: JUMP
000004b7: JUMPDEST
000004b8: PUSH1 0x00
000004ba: SLOAD
000004bb: PUSH3 0x010000
000004bf: SWAP1
000004c0: DIV
000004c1: PUSH1 0x01
000004c3: PUSH1 0x01
000004c5: PUSH1 0xa0
000004c7: SHL
000004c8: SUB
000004c9: AND
000004ca: PUSH2 0x04d1
000004cd: PUSH2 0x0b86
000004d0: JUMP
000004d1: JUMPDEST
000004d2: PUSH2 0x04d9
000004d5: PUSH2 0x08d9
000004d8: JUMP
000004d9: JUMPDEST
000004da: PUSH2 0x04e1
000004dd: PUSH2 0x0b9e
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH1 0x40
000004e4: DUP1
000004e5: MLOAD
000004e6: PUSH1 0x80
000004e8: DUP2
000004e9: ADD
000004ea: DUP3
000004eb: MSTORE
000004ec: PUSH1 0x02
000004ee: SLOAD
000004ef: DUP2
000004f0: MSTORE
000004f1: PUSH1 0x04
000004f3: SLOAD
000004f4: PUSH1 0x20
000004f6: DUP3
000004f7: ADD
000004f8: MSTORE
000004f9: PUSH1 0x06
000004fb: SLOAD
000004fc: SWAP2
000004fd: DUP2
000004fe: ADD
000004ff: SWAP2
00000500: SWAP1
00000501: SWAP2
00000502: MSTORE
00000503: PUSH1 0x08
00000505: SLOAD
00000506: PUSH1 0x60
00000508: DUP3
00000509: ADD
0000050a: MSTORE
0000050b: SWAP4
0000050c: SWAP10
0000050d: SWAP3
0000050e: SWAP9
0000050f: POP
00000510: SWAP1
00000511: SWAP7
00000512: POP
00000513: SWAP5
00000514: POP
00000515: SWAP1
00000516: SWAP3
00000517: POP
00000518: SWAP1
00000519: POP
0000051a: JUMP
0000051b: JUMPDEST
0000051c: PUSH1 0x00
0000051e: SLOAD
0000051f: PUSH2 0x0100
00000522: SWAP1
00000523: DIV
00000524: PUSH1 0xff
00000526: AND
00000527: DUP1
00000528: PUSH2 0x0534
0000052b: JUMPI
0000052c: POP
0000052d: PUSH2 0x0534
00000530: PUSH2 0x0ee5
00000533: JUMP
00000534: JUMPDEST
00000535: DUP1
00000536: PUSH2 0x0542
00000539: JUMPI
0000053a: POP
0000053b: PUSH1 0x00
0000053d: SLOAD
0000053e: PUSH1 0xff
00000540: AND
00000541: ISZERO
00000542: JUMPDEST
00000543: PUSH2 0x057d
00000546: JUMPI
00000547: PUSH1 0x40
00000549: MLOAD
0000054a: PUSH3 0x461bcd
0000054e: PUSH1 0xe5
00000550: SHL
00000551: DUP2
00000552: MSTORE
00000553: PUSH1 0x04
00000555: ADD
00000556: DUP1
00000557: DUP1
00000558: PUSH1 0x20
0000055a: ADD
0000055b: DUP3
0000055c: DUP2
0000055d: SUB
0000055e: DUP3
0000055f: MSTORE
00000560: PUSH1 0x2e
00000562: DUP2
00000563: MSTORE
00000564: PUSH1 0x20
00000566: ADD
00000567: DUP1
00000568: PUSH2 0x1821
0000056b: PUSH1 0x2e
0000056d: SWAP2
0000056e: CODECOPY
0000056f: PUSH1 0x40
00000571: ADD
00000572: SWAP2
00000573: POP
00000574: POP
00000575: PUSH1 0x40
00000577: MLOAD
00000578: DUP1
00000579: SWAP2
0000057a: SUB
0000057b: SWAP1
0000057c: REVERT
0000057d: JUMPDEST
0000057e: PUSH1 0x00
00000580: SLOAD
00000581: PUSH2 0x0100
00000584: SWAP1
00000585: DIV
00000586: PUSH1 0xff
00000588: AND
00000589: ISZERO
0000058a: DUP1
0000058b: ISZERO
0000058c: PUSH2 0x05a8
0000058f: JUMPI
00000590: PUSH1 0x00
00000592: DUP1
00000593: SLOAD
00000594: PUSH1 0xff
00000596: NOT
00000597: PUSH2 0xff00
0000059a: NOT
0000059b: SWAP1
0000059c: SWAP2
0000059d: AND
0000059e: PUSH2 0x0100
000005a1: OR
000005a2: AND
000005a3: PUSH1 0x01
000005a5: OR
000005a6: SWAP1
000005a7: SSTORE
000005a8: JUMPDEST
000005a9: PUSH1 0x40
000005ab: DUP1
000005ac: MLOAD
000005ad: PUSH1 0x80
000005af: DUP2
000005b0: DUP2
000005b1: ADD
000005b2: SWAP1
000005b3: SWAP3
000005b4: MSTORE
000005b5: PUSH2 0x05d6
000005b8: SWAP2
000005b9: DUP5
000005ba: SWAP1
000005bb: PUSH1 0x04
000005bd: SWAP1
000005be: DUP4
000005bf: SWAP1
000005c0: DUP4
000005c1: SWAP1
000005c2: DUP1
000005c3: DUP3
000005c4: DUP5
000005c5: CALLDATACOPY
000005c6: PUSH1 0x00
000005c8: SWAP3
000005c9: ADD
000005ca: SWAP2
000005cb: SWAP1
000005cc: SWAP2
000005cd: MSTORE
000005ce: POP
000005cf: PUSH2 0x0eeb
000005d2: SWAP2
000005d3: POP
000005d4: POP
000005d5: JUMP
000005d6: JUMPDEST
000005d7: PUSH1 0x00
000005d9: DUP1
000005da: SLOAD
000005db: PUSH3 0x010000
000005df: PUSH1 0x01
000005e1: PUSH1 0xb0
000005e3: SHL
000005e4: SUB
000005e5: NOT
000005e6: AND
000005e7: PUSH3 0x010000
000005eb: PUSH1 0x01
000005ed: PUSH1 0x01
000005ef: PUSH1 0xa0
000005f1: SHL
000005f2: SUB
000005f3: DUP7
000005f4: AND
000005f5: MUL
000005f6: OR
000005f7: SWAP1
000005f8: SSTORE
000005f9: DUP1
000005fa: ISZERO
000005fb: PUSH2 0x060a
000005fe: JUMPI
000005ff: PUSH1 0x00
00000601: DUP1
00000602: SLOAD
00000603: PUSH2 0xff00
00000606: NOT
00000607: AND
00000608: SWAP1
00000609: SSTORE
0000060a: JUMPDEST
0000060b: POP
0000060c: POP
0000060d: POP
0000060e: JUMP
0000060f: JUMPDEST
00000610: PUSH1 0x00
00000612: DUP1
00000613: SLOAD
00000614: PUSH3 0x010000
00000618: SWAP1
00000619: DIV
0000061a: PUSH1 0x01
0000061c: PUSH1 0x01
0000061e: PUSH1 0xa0
00000620: SHL
00000621: SUB
00000622: AND
00000623: CALLER
00000624: EQ
00000625: PUSH2 0x0675
00000628: JUMPI
00000629: PUSH1 0x40
0000062b: DUP1
0000062c: MLOAD
0000062d: PUSH3 0x461bcd
00000631: PUSH1 0xe5
00000633: SHL
00000634: DUP2
00000635: MSTORE
00000636: PUSH1 0x20
00000638: PUSH1 0x04
0000063a: DUP3
0000063b: ADD
0000063c: MSTORE
0000063d: PUSH1 0x1f
0000063f: PUSH1 0x24
00000641: DUP3
00000642: ADD
00000643: MSTORE
00000644: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400
00000665: PUSH1 0x44
00000667: DUP3
00000668: ADD
00000669: MSTORE
0000066a: SWAP1
0000066b: MLOAD
0000066c: SWAP1
0000066d: DUP2
0000066e: SWAP1
0000066f: SUB
00000670: PUSH1 0x64
00000672: ADD
00000673: SWAP1
00000674: REVERT
00000675: JUMPDEST
00000676: PUSH1 0x00
00000678: PUSH2 0x067f
0000067b: PUSH2 0x08d9
0000067e: JUMP
0000067f: JUMPDEST
00000680: SWAP1
00000681: POP
00000682: DUP3
00000683: DUP2
00000684: LT
00000685: ISZERO
00000686: PUSH2 0x06d6
00000689: JUMPI
0000068a: PUSH1 0x40
0000068c: DUP1
0000068d: MLOAD
0000068e: PUSH3 0x461bcd
00000692: PUSH1 0xe5
00000694: SHL
00000695: DUP2
00000696: MSTORE
00000697: PUSH1 0x20
00000699: PUSH1 0x04
0000069b: DUP3
0000069c: ADD
0000069d: MSTORE
0000069e: PUSH1 0x1d
000006a0: PUSH1 0x24
000006a2: DUP3
000006a3: ADD
000006a4: MSTORE
000006a5: PUSH32 0x4372656469744649463a20496e73756666696369656e742066756e6473000000
000006c6: PUSH1 0x44
000006c8: DUP3
000006c9: ADD
000006ca: MSTORE
000006cb: SWAP1
000006cc: MLOAD
000006cd: SWAP1
000006ce: DUP2
000006cf: SWAP1
000006d0: SUB
000006d1: PUSH1 0x64
000006d3: ADD
000006d4: SWAP1
000006d5: REVERT
000006d6: JUMPDEST
000006d7: PUSH1 0x00
000006d9: SLOAD
000006da: PUSH2 0x06f2
000006dd: SWAP1
000006de: PUSH3 0x010000
000006e2: SWAP1
000006e3: DIV
000006e4: PUSH1 0x01
000006e6: PUSH1 0x01
000006e8: PUSH1 0xa0
000006ea: SHL
000006eb: SUB
000006ec: AND
000006ed: DUP5
000006ee: PUSH2 0x0f7d
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH1 0x40
000006f5: DUP1
000006f6: MLOAD
000006f7: DUP5
000006f8: DUP2
000006f9: MSTORE
000006fa: CALLER
000006fb: PUSH1 0x20
000006fd: DUP3
000006fe: ADD
000006ff: MSTORE
00000700: DUP2
00000701: MLOAD
00000702: PUSH32 0x8c7cdad0d12a8db3e23561b42da6f10c8137914c97beff202213a410e1f520a3
00000723: SWAP3
00000724: SWAP2
00000725: DUP2
00000726: SWAP1
00000727: SUB
00000728: SWAP1
00000729: SWAP2
0000072a: ADD
0000072b: SWAP1
0000072c: LOG1
0000072d: PUSH1 0x01
0000072f: SWAP2
00000730: POP
00000731: POP
00000732: JUMPDEST
00000733: SWAP2
00000734: SWAP1
00000735: POP
00000736: JUMP
00000737: JUMPDEST
00000738: PUSH1 0x00
0000073a: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28
0000074f: CALLER
00000750: EQ
00000751: PUSH2 0x078b
00000754: JUMPI
00000755: PUSH1 0x40
00000757: MLOAD
00000758: PUSH3 0x461bcd
0000075c: PUSH1 0xe5
0000075e: SHL
0000075f: DUP2
00000760: MSTORE
00000761: PUSH1 0x04
00000763: ADD
00000764: DUP1
00000765: DUP1
00000766: PUSH1 0x20
00000768: ADD
00000769: DUP3
0000076a: DUP2
0000076b: SUB
0000076c: DUP3
0000076d: MSTORE
0000076e: PUSH1 0x2e
00000770: DUP2
00000771: MSTORE
00000772: PUSH1 0x20
00000774: ADD
00000775: DUP1
00000776: PUSH2 0x17f3
00000779: PUSH1 0x2e
0000077b: SWAP2
0000077c: CODECOPY
0000077d: PUSH1 0x40
0000077f: ADD
00000780: SWAP2
00000781: POP
00000782: POP
00000783: PUSH1 0x40
00000785: MLOAD
00000786: DUP1
00000787: SWAP2
00000788: SUB
00000789: SWAP1
0000078a: REVERT
0000078b: JUMPDEST
0000078c: PUSH1 0x01
0000078e: PUSH1 0x01
00000790: PUSH1 0xa0
00000792: SHL
00000793: SUB
00000794: DUP6
00000795: AND
00000796: PUSH2 0x07e6
00000799: JUMPI
0000079a: PUSH1 0x40
0000079c: DUP1
0000079d: MLOAD
0000079e: PUSH3 0x461bcd
000007a2: PUSH1 0xe5
000007a4: SHL
000007a5: DUP2
000007a6: MSTORE
000007a7: PUSH1 0x20
000007a9: PUSH1 0x04
000007ab: DUP3
000007ac: ADD
000007ad: MSTORE
000007ae: PUSH1 0x1a
000007b0: PUSH1 0x24
000007b2: DUP3
000007b3: ADD
000007b4: MSTORE
000007b5: PUSH32 0x4372656469744649463a20496e76616c69642061646472657373000000000000
000007d6: PUSH1 0x44
000007d8: DUP3
000007d9: ADD
000007da: MSTORE
000007db: SWAP1
000007dc: MLOAD
000007dd: SWAP1
000007de: DUP2
000007df: SWAP1
000007e0: SUB
000007e1: PUSH1 0x64
000007e3: ADD
000007e4: SWAP1
000007e5: REVERT
000007e6: JUMPDEST
000007e7: PUSH1 0x00
000007e9: PUSH2 0x07f1
000007ec: DUP4
000007ed: PUSH2 0x087e
000007f0: JUMP
000007f1: JUMPDEST
000007f2: SWAP1
000007f3: POP
000007f4: PUSH2 0x07fd
000007f7: DUP5
000007f8: DUP3
000007f9: PUSH2 0x0ade
000007fc: JUMP
000007fd: JUMPDEST
000007fe: ISZERO
000007ff: ISZERO
00000800: PUSH1 0x01
00000802: EQ
00000803: PUSH2 0x0853
00000806: JUMPI
00000807: PUSH1 0x40
00000809: DUP1
0000080a: MLOAD
0000080b: PUSH3 0x461bcd
0000080f: PUSH1 0xe5
00000811: SHL
00000812: DUP2
00000813: MSTORE
00000814: PUSH1 0x20
00000816: PUSH1 0x04
00000818: DUP3
00000819: ADD
0000081a: DUP2
0000081b: SWAP1
0000081c: MSTORE
0000081d: PUSH1 0x24
0000081f: DUP3
00000820: ADD
00000821: MSTORE
00000822: PUSH32 0x4372656469744649463a204275636b65742066696c6c656420616c7265616479
00000843: PUSH1 0x44
00000845: DUP3
00000846: ADD
00000847: MSTORE
00000848: SWAP1
00000849: MLOAD
0000084a: SWAP1
0000084b: DUP2
0000084c: SWAP1
0000084d: SUB
0000084e: PUSH1 0x64
00000850: ADD
00000851: SWAP1
00000852: REVERT
00000853: JUMPDEST
00000854: PUSH2 0x085c
00000857: DUP6
00000858: PUSH2 0x0fa0
0000085b: JUMP
0000085c: JUMPDEST
0000085d: PUSH2 0x0866
00000860: DUP5
00000861: DUP5
00000862: PUSH2 0x0fea
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH2 0x0870
0000086a: DUP7
0000086b: DUP6
0000086c: PUSH2 0x0f7d
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH1 0x01
00000873: SWAP2
00000874: POP
00000875: POP
00000876: JUMPDEST
00000877: SWAP5
00000878: SWAP4
00000879: POP
0000087a: POP
0000087b: POP
0000087c: POP
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH1 0x00
00000881: PUSH1 0x0a
00000883: DUP3
00000884: GT
00000885: PUSH2 0x0890
00000888: JUMPI
00000889: POP
0000088a: PUSH1 0x00
0000088c: PUSH2 0x0732
0000088f: JUMP
00000890: JUMPDEST
00000891: PUSH1 0x1e
00000893: DUP3
00000894: GT
00000895: PUSH2 0x08a0
00000898: JUMPI
00000899: POP
0000089a: PUSH1 0x01
0000089c: PUSH2 0x0732
0000089f: JUMP
000008a0: JUMPDEST
000008a1: PUSH1 0x5a
000008a3: DUP3
000008a4: GT
000008a5: PUSH2 0x08b0
000008a8: JUMPI
000008a9: POP
000008aa: PUSH1 0x02
000008ac: PUSH2 0x0732
000008af: JUMP
000008b0: JUMPDEST
000008b1: POP
000008b2: PUSH1 0x03
000008b4: PUSH2 0x0732
000008b7: JUMP
000008b8: JUMPDEST
000008b9: PUSH1 0x00
000008bb: PUSH1 0x02
000008bd: DUP3
000008be: PUSH1 0xff
000008c0: AND
000008c1: PUSH1 0x04
000008c3: DUP2
000008c4: LT
000008c5: PUSH2 0x08ca
000008c8: JUMPI
000008c9: INVALID
000008ca: JUMPDEST
000008cb: PUSH1 0x02
000008cd: MUL
000008ce: ADD
000008cf: PUSH1 0x01
000008d1: ADD
000008d2: SLOAD
000008d3: SWAP1
000008d4: POP
000008d5: SWAP2
000008d6: SWAP1
000008d7: POP
000008d8: JUMP
000008d9: JUMPDEST
000008da: PUSH1 0x00
000008dc: PUSH2 0x08e3
000008df: PUSH2 0x0b86
000008e2: JUMP
000008e3: JUMPDEST
000008e4: PUSH1 0x01
000008e6: PUSH1 0x01
000008e8: PUSH1 0xa0
000008ea: SHL
000008eb: SUB
000008ec: AND
000008ed: PUSH4 0x70a08231
000008f2: ADDRESS
000008f3: PUSH1 0x40
000008f5: MLOAD
000008f6: DUP3
000008f7: PUSH4 0xffffffff
000008fc: AND
000008fd: PUSH1 0xe0
000008ff: SHL
00000900: DUP2
00000901: MSTORE
00000902: PUSH1 0x04
00000904: ADD
00000905: DUP1
00000906: DUP3
00000907: PUSH1 0x01
00000909: PUSH1 0x01
0000090b: PUSH1 0xa0
0000090d: SHL
0000090e: SUB
0000090f: AND
00000910: PUSH1 0x01
00000912: PUSH1 0x01
00000914: PUSH1 0xa0
00000916: SHL
00000917: SUB
00000918: AND
00000919: DUP2
0000091a: MSTORE
0000091b: PUSH1 0x20
0000091d: ADD
0000091e: SWAP2
0000091f: POP
00000920: POP
00000921: PUSH1 0x20
00000923: PUSH1 0x40
00000925: MLOAD
00000926: DUP1
00000927: DUP4
00000928: SUB
00000929: DUP2
0000092a: DUP7
0000092b: DUP1
0000092c: EXTCODESIZE
0000092d: ISZERO
0000092e: DUP1
0000092f: ISZERO
00000930: PUSH2 0x0938
00000933: JUMPI
00000934: PUSH1 0x00
00000936: DUP1
00000937: REVERT
00000938: JUMPDEST
00000939: POP
0000093a: GAS
0000093b: STATICCALL
0000093c: ISZERO
0000093d: DUP1
0000093e: ISZERO
0000093f: PUSH2 0x094c
00000942: JUMPI
00000943: RETURNDATASIZE
00000944: PUSH1 0x00
00000946: DUP1
00000947: RETURNDATACOPY
00000948: RETURNDATASIZE
00000949: PUSH1 0x00
0000094b: REVERT
0000094c: JUMPDEST
0000094d: POP
0000094e: POP
0000094f: POP
00000950: POP
00000951: PUSH1 0x40
00000953: MLOAD
00000954: RETURNDATASIZE
00000955: PUSH1 0x20
00000957: DUP2
00000958: LT
00000959: ISZERO
0000095a: PUSH2 0x0962
0000095d: JUMPI
0000095e: PUSH1 0x00
00000960: DUP1
00000961: REVERT
00000962: JUMPDEST
00000963: POP
00000964: MLOAD
00000965: SWAP1
00000966: POP
00000967: SWAP1
00000968: JUMP
00000969: JUMPDEST
0000096a: PUSH2 0x0972
0000096d: CALLER
0000096e: PUSH2 0x0ac0
00000971: JUMP
00000972: JUMPDEST
00000973: ISZERO
00000974: ISZERO
00000975: PUSH1 0x01
00000977: EQ
00000978: PUSH2 0x09c8
0000097b: JUMPI
0000097c: PUSH1 0x40
0000097e: DUP1
0000097f: MLOAD
00000980: PUSH3 0x461bcd
00000984: PUSH1 0xe5
00000986: SHL
00000987: DUP2
00000988: MSTORE
00000989: PUSH1 0x20
0000098b: PUSH1 0x04
0000098d: DUP3
0000098e: ADD
0000098f: MSTORE
00000990: PUSH1 0x1e
00000992: PUSH1 0x24
00000994: DUP3
00000995: ADD
00000996: MSTORE
00000997: PUSH32 0x4372656469744649463a20496e76616c696420637265646974206c696e650000
000009b8: PUSH1 0x44
000009ba: DUP3
000009bb: ADD
000009bc: MSTORE
000009bd: SWAP1
000009be: MLOAD
000009bf: SWAP1
000009c0: DUP2
000009c1: SWAP1
000009c2: SUB
000009c3: PUSH1 0x64
000009c5: ADD
000009c6: SWAP1
000009c7: REVERT
000009c8: JUMPDEST
000009c9: PUSH2 0x09d2
000009cc: DUP3
000009cd: DUP3
000009ce: PUSH2 0x1021
000009d1: JUMP
000009d2: JUMPDEST
000009d3: POP
000009d4: POP
000009d5: JUMP
000009d6: JUMPDEST
000009d7: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28
000009ec: CALLER
000009ed: EQ
000009ee: PUSH2 0x0a28
000009f1: JUMPI
000009f2: PUSH1 0x40
000009f4: MLOAD
000009f5: PUSH3 0x461bcd
000009f9: PUSH1 0xe5
000009fb: SHL
000009fc: DUP2
000009fd: MSTORE
000009fe: PUSH1 0x04
00000a00: ADD
00000a01: DUP1
00000a02: DUP1
00000a03: PUSH1 0x20
00000a05: ADD
00000a06: DUP3
00000a07: DUP2
00000a08: SUB
00000a09: DUP3
00000a0a: MSTORE
00000a0b: PUSH1 0x2e
00000a0d: DUP2
00000a0e: MSTORE
00000a0f: PUSH1 0x20
00000a11: ADD
00000a12: DUP1
00000a13: PUSH2 0x17f3
00000a16: PUSH1 0x2e
00000a18: SWAP2
00000a19: CODECOPY
00000a1a: PUSH1 0x40
00000a1c: ADD
00000a1d: SWAP2
00000a1e: POP
00000a1f: POP
00000a20: PUSH1 0x40
00000a22: MLOAD
00000a23: DUP1
00000a24: SWAP2
00000a25: SUB
00000a26: SWAP1
00000a27: REVERT
00000a28: JUMPDEST
00000a29: PUSH1 0x00
00000a2b: PUSH2 0x0a32
00000a2e: PUSH2 0x08d9
00000a31: JUMP
00000a32: JUMPDEST
00000a33: PUSH1 0x03
00000a35: SLOAD
00000a36: SWAP1
00000a37: SWAP2
00000a38: POP
00000a39: PUSH1 0x00
00000a3b: PUSH2 0x0a42
00000a3e: PUSH2 0x0b9e
00000a41: JUMP
00000a42: JUMPDEST
00000a43: SWAP1
00000a44: POP
00000a45: PUSH1 0x00
00000a47: PUSH2 0x0a73
00000a4a: PUSH1 0x64
00000a4c: PUSH2 0x0a67
00000a4f: PUSH2 0x0a5e
00000a52: DUP8
00000a53: DUP7
00000a54: PUSH4 0xffffffff
00000a59: PUSH2 0x1058
00000a5c: AND
00000a5d: JUMP
00000a5e: JUMPDEST
00000a5f: PUSH1 0x02
00000a61: SLOAD
00000a62: SWAP1
00000a63: PUSH2 0x10b9
00000a66: JUMP
00000a67: JUMPDEST
00000a68: SWAP1
00000a69: PUSH4 0xffffffff
00000a6e: PUSH2 0x1112
00000a71: AND
00000a72: JUMP
00000a73: JUMPDEST
00000a74: SWAP1
00000a75: POP
00000a76: DUP3
00000a77: DUP2
00000a78: GT
00000a79: ISZERO
00000a7a: PUSH2 0x0aba
00000a7d: JUMPI
00000a7e: PUSH1 0x00
00000a80: PUSH2 0x0a8f
00000a83: DUP3
00000a84: DUP6
00000a85: PUSH4 0xffffffff
00000a8a: PUSH2 0x1154
00000a8d: AND
00000a8e: JUMP
00000a8f: JUMPDEST
00000a90: SWAP1
00000a91: POP
00000a92: DUP5
00000a93: DUP2
00000a94: GT
00000a95: ISZERO
00000a96: PUSH2 0x0a9c
00000a99: JUMPI
00000a9a: POP
00000a9b: DUP4
00000a9c: JUMPDEST
00000a9d: PUSH2 0x0aac
00000aa0: DUP5
00000aa1: DUP3
00000aa2: PUSH4 0xffffffff
00000aa7: PUSH2 0x1058
00000aaa: AND
00000aab: JUMP
00000aac: JUMPDEST
00000aad: PUSH1 0x03
00000aaf: SSTORE
00000ab0: PUSH2 0x0ab8
00000ab3: DUP2
00000ab4: PUSH2 0x1196
00000ab7: JUMP
00000ab8: JUMPDEST
00000ab9: POP
00000aba: JUMPDEST
00000abb: POP
00000abc: POP
00000abd: POP
00000abe: POP
00000abf: JUMP
00000ac0: JUMPDEST
00000ac1: PUSH1 0x01
00000ac3: PUSH1 0x01
00000ac5: PUSH1 0xa0
00000ac7: SHL
00000ac8: SUB
00000ac9: AND
00000aca: PUSH1 0x00
00000acc: SWAP1
00000acd: DUP2
00000ace: MSTORE
00000acf: PUSH1 0x01
00000ad1: PUSH1 0x20
00000ad3: MSTORE
00000ad4: PUSH1 0x40
00000ad6: SWAP1
00000ad7: KECCAK256
00000ad8: SLOAD
00000ad9: PUSH1 0xff
00000adb: AND
00000adc: SWAP1
00000add: JUMP
00000ade: JUMPDEST
00000adf: PUSH1 0x00
00000ae1: DUP1
00000ae2: PUSH2 0x0ae9
00000ae5: PUSH2 0x08d9
00000ae8: JUMP
00000ae9: JUMPDEST
00000aea: SWAP1
00000aeb: POP
00000aec: DUP1
00000aed: DUP5
00000aee: GT
00000aef: ISZERO
00000af0: PUSH2 0x0afd
00000af3: JUMPI
00000af4: PUSH1 0x00
00000af6: SWAP2
00000af7: POP
00000af8: POP
00000af9: PUSH2 0x0b80
00000afc: JUMP
00000afd: JUMPDEST
00000afe: PUSH1 0x00
00000b00: PUSH2 0x0b08
00000b03: DUP5
00000b04: PUSH2 0x08b8
00000b07: JUMP
00000b08: JUMPDEST
00000b09: SWAP1
00000b0a: POP
00000b0b: PUSH1 0x00
00000b0d: PUSH2 0x0b14
00000b10: PUSH2 0x0b9e
00000b13: JUMP
00000b14: JUMPDEST
00000b15: SWAP1
00000b16: POP
00000b17: PUSH1 0x00
00000b19: PUSH2 0x0b4c
00000b1c: PUSH2 0x0b2b
00000b1f: DUP6
00000b20: DUP5
00000b21: PUSH4 0xffffffff
00000b26: PUSH2 0x1058
00000b29: AND
00000b2a: JUMP
00000b2b: JUMPDEST
00000b2c: PUSH2 0x0a67
00000b2f: PUSH1 0x64
00000b31: PUSH2 0x0b40
00000b34: DUP8
00000b35: DUP13
00000b36: PUSH4 0xffffffff
00000b3b: PUSH2 0x1058
00000b3e: AND
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: SWAP1
00000b42: PUSH4 0xffffffff
00000b47: PUSH2 0x10b9
00000b4a: AND
00000b4b: JUMP
00000b4c: JUMPDEST
00000b4d: SWAP1
00000b4e: POP
00000b4f: PUSH1 0x02
00000b51: DUP7
00000b52: PUSH1 0xff
00000b54: AND
00000b55: PUSH1 0x04
00000b57: DUP2
00000b58: LT
00000b59: PUSH2 0x0b5e
00000b5c: JUMPI
00000b5d: INVALID
00000b5e: JUMPDEST
00000b5f: PUSH1 0x02
00000b61: MUL
00000b62: ADD
00000b63: SLOAD
00000b64: DUP2
00000b65: GT
00000b66: ISZERO
00000b67: PUSH2 0x0b77
00000b6a: JUMPI
00000b6b: PUSH1 0x00
00000b6d: SWAP5
00000b6e: POP
00000b6f: POP
00000b70: POP
00000b71: POP
00000b72: POP
00000b73: PUSH2 0x0b80
00000b76: JUMP
00000b77: JUMPDEST
00000b78: PUSH1 0x01
00000b7a: SWAP5
00000b7b: POP
00000b7c: POP
00000b7d: POP
00000b7e: POP
00000b7f: POP
00000b80: JUMPDEST
00000b81: SWAP3
00000b82: SWAP2
00000b83: POP
00000b84: POP
00000b85: JUMP
00000b86: JUMPDEST
00000b87: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000b9c: SWAP1
00000b9d: JUMP
00000b9e: JUMPDEST
00000b9f: PUSH1 0x00
00000ba1: DUP1
00000ba2: JUMPDEST
00000ba3: PUSH1 0x04
00000ba5: DUP2
00000ba6: PUSH1 0xff
00000ba8: AND
00000ba9: LT
00000baa: ISZERO
00000bab: PUSH2 0x0bc3
00000bae: JUMPI
00000baf: PUSH2 0x0bb7
00000bb2: DUP2
00000bb3: PUSH2 0x08b8
00000bb6: JUMP
00000bb7: JUMPDEST
00000bb8: SWAP1
00000bb9: SWAP2
00000bba: ADD
00000bbb: SWAP1
00000bbc: PUSH1 0x01
00000bbe: ADD
00000bbf: PUSH2 0x0ba2
00000bc2: JUMP
00000bc3: JUMPDEST
00000bc4: POP
00000bc5: SWAP1
00000bc6: JUMP
00000bc7: JUMPDEST
00000bc8: PUSH1 0x00
00000bca: SLOAD
00000bcb: PUSH3 0x010000
00000bcf: SWAP1
00000bd0: DIV
00000bd1: PUSH1 0x01
00000bd3: PUSH1 0x01
00000bd5: PUSH1 0xa0
00000bd7: SHL
00000bd8: SUB
00000bd9: AND
00000bda: SWAP1
00000bdb: JUMP
00000bdc: JUMPDEST
00000bdd: PUSH20 0x39aa39c021dfbae8fac545936693ac917d5e7563
00000bf2: SWAP1
00000bf3: JUMP
00000bf4: JUMPDEST
00000bf5: PUSH1 0x00
00000bf7: SLOAD
00000bf8: PUSH3 0x010000
00000bfc: SWAP1
00000bfd: DIV
00000bfe: PUSH1 0x01
00000c00: PUSH1 0x01
00000c02: PUSH1 0xa0
00000c04: SHL
00000c05: SUB
00000c06: AND
00000c07: CALLER
00000c08: EQ
00000c09: PUSH2 0x0c59
00000c0c: JUMPI
00000c0d: PUSH1 0x40
00000c0f: DUP1
00000c10: MLOAD
00000c11: PUSH3 0x461bcd
00000c15: PUSH1 0xe5
00000c17: SHL
00000c18: DUP2
00000c19: MSTORE
00000c1a: PUSH1 0x20
00000c1c: PUSH1 0x04
00000c1e: DUP3
00000c1f: ADD
00000c20: MSTORE
00000c21: PUSH1 0x1f
00000c23: PUSH1 0x24
00000c25: DUP3
00000c26: ADD
00000c27: MSTORE
00000c28: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400
00000c49: PUSH1 0x44
00000c4b: DUP3
00000c4c: ADD
00000c4d: MSTORE
00000c4e: SWAP1
00000c4f: MLOAD
00000c50: SWAP1
00000c51: DUP2
00000c52: SWAP1
00000c53: SUB
00000c54: PUSH1 0x64
00000c56: ADD
00000c57: SWAP1
00000c58: REVERT
00000c59: JUMPDEST
00000c5a: PUSH1 0x40
00000c5c: DUP1
00000c5d: MLOAD
00000c5e: PUSH1 0x80
00000c60: DUP2
00000c61: DUP2
00000c62: ADD
00000c63: SWAP1
00000c64: SWAP3
00000c65: MSTORE
00000c66: PUSH2 0x0c87
00000c69: SWAP2
00000c6a: DUP4
00000c6b: SWAP1
00000c6c: PUSH1 0x04
00000c6e: SWAP1
00000c6f: DUP4
00000c70: SWAP1
00000c71: DUP4
00000c72: SWAP1
00000c73: DUP1
00000c74: DUP3
00000c75: DUP5
00000c76: CALLDATACOPY
00000c77: PUSH1 0x00
00000c79: SWAP3
00000c7a: ADD
00000c7b: SWAP2
00000c7c: SWAP1
00000c7d: SWAP2
00000c7e: MSTORE
00000c7f: POP
00000c80: PUSH2 0x0eeb
00000c83: SWAP2
00000c84: POP
00000c85: POP
00000c86: JUMP
00000c87: JUMPDEST
00000c88: PUSH1 0x40
00000c8a: DUP1
00000c8b: MLOAD
00000c8c: DUP3
00000c8d: CALLDATALOAD
00000c8e: DUP2
00000c8f: MSTORE
00000c90: PUSH1 0x20
00000c92: DUP1
00000c93: DUP5
00000c94: ADD
00000c95: CALLDATALOAD
00000c96: SWAP1
00000c97: DUP3
00000c98: ADD
00000c99: MSTORE
00000c9a: DUP2
00000c9b: DUP4
00000c9c: ADD
00000c9d: CALLDATALOAD
00000c9e: DUP2
00000c9f: DUP4
00000ca0: ADD
00000ca1: MSTORE
00000ca2: PUSH1 0x60
00000ca4: DUP1
00000ca5: DUP5
00000ca6: ADD
00000ca7: CALLDATALOAD
00000ca8: SWAP1
00000ca9: DUP3
00000caa: ADD
00000cab: MSTORE
00000cac: SWAP1
00000cad: MLOAD
00000cae: PUSH32 0x94e5b382c1f48774cbbcb88b099e6795b759b36a99a7872ccd66df0d4678f2ed
00000ccf: SWAP2
00000cd0: DUP2
00000cd1: SWAP1
00000cd2: SUB
00000cd3: PUSH1 0x80
00000cd5: ADD
00000cd6: SWAP1
00000cd7: LOG1
00000cd8: POP
00000cd9: JUMP
00000cda: JUMPDEST
00000cdb: PUSH1 0x00
00000cdd: PUSH2 0x0ce4
00000ce0: PUSH2 0x0bdc
00000ce3: JUMP
00000ce4: JUMPDEST
00000ce5: PUSH1 0x40
00000ce7: DUP1
00000ce8: MLOAD
00000ce9: PUSH4 0x3af9e669
00000cee: PUSH1 0xe0
00000cf0: SHL
00000cf1: DUP2
00000cf2: MSTORE
00000cf3: ADDRESS
00000cf4: PUSH1 0x04
00000cf6: DUP3
00000cf7: ADD
00000cf8: MSTORE
00000cf9: SWAP1
00000cfa: MLOAD
00000cfb: SWAP2
00000cfc: SWAP3
00000cfd: POP
00000cfe: PUSH1 0x00
00000d00: SWAP2
00000d01: PUSH1 0x01
00000d03: PUSH1 0x01
00000d05: PUSH1 0xa0
00000d07: SHL
00000d08: SUB
00000d09: DUP5
00000d0a: AND
00000d0b: SWAP2
00000d0c: PUSH4 0x3af9e669
00000d11: SWAP2
00000d12: PUSH1 0x24
00000d14: DUP1
00000d15: DUP4
00000d16: ADD
00000d17: SWAP3
00000d18: PUSH1 0x20
00000d1a: SWAP3
00000d1b: SWAP2
00000d1c: SWAP1
00000d1d: DUP3
00000d1e: SWAP1
00000d1f: SUB
00000d20: ADD
00000d21: DUP2
00000d22: DUP8
00000d23: DUP8
00000d24: DUP1
00000d25: EXTCODESIZE
00000d26: ISZERO
00000d27: DUP1
00000d28: ISZERO
00000d29: PUSH2 0x0d31
00000d2c: JUMPI
00000d2d: PUSH1 0x00
00000d2f: DUP1
00000d30: REVERT
00000d31: JUMPDEST
00000d32: POP
00000d33: GAS
00000d34: CALL
00000d35: ISZERO
00000d36: DUP1
00000d37: ISZERO
00000d38: PUSH2 0x0d45
00000d3b: JUMPI
00000d3c: RETURNDATASIZE
00000d3d: PUSH1 0x00
00000d3f: DUP1
00000d40: RETURNDATACOPY
00000d41: RETURNDATASIZE
00000d42: PUSH1 0x00
00000d44: REVERT
00000d45: JUMPDEST
00000d46: POP
00000d47: POP
00000d48: POP
00000d49: POP
00000d4a: PUSH1 0x40
00000d4c: MLOAD
00000d4d: RETURNDATASIZE
00000d4e: PUSH1 0x20
00000d50: DUP2
00000d51: LT
00000d52: ISZERO
00000d53: PUSH2 0x0d5b
00000d56: JUMPI
00000d57: PUSH1 0x00
00000d59: DUP1
00000d5a: REVERT
00000d5b: JUMPDEST
00000d5c: POP
00000d5d: MLOAD
00000d5e: SWAP1
00000d5f: POP
00000d60: DUP1
00000d61: ISZERO
00000d62: PUSH2 0x09d2
00000d65: JUMPI
00000d66: PUSH1 0x00
00000d68: DUP3
00000d69: PUSH1 0x01
00000d6b: PUSH1 0x01
00000d6d: PUSH1 0xa0
00000d6f: SHL
00000d70: SUB
00000d71: AND
00000d72: PUSH4 0x852a12e3
00000d77: DUP4
00000d78: PUSH1 0x40
00000d7a: MLOAD
00000d7b: DUP3
00000d7c: PUSH4 0xffffffff
00000d81: AND
00000d82: PUSH1 0xe0
00000d84: SHL
00000d85: DUP2
00000d86: MSTORE
00000d87: PUSH1 0x04
00000d89: ADD
00000d8a: DUP1
00000d8b: DUP3
00000d8c: DUP2
00000d8d: MSTORE
00000d8e: PUSH1 0x20
00000d90: ADD
00000d91: SWAP2
00000d92: POP
00000d93: POP
00000d94: PUSH1 0x20
00000d96: PUSH1 0x40
00000d98: MLOAD
00000d99: DUP1
00000d9a: DUP4
00000d9b: SUB
00000d9c: DUP2
00000d9d: PUSH1 0x00
00000d9f: DUP8
00000da0: DUP1
00000da1: EXTCODESIZE
00000da2: ISZERO
00000da3: DUP1
00000da4: ISZERO
00000da5: PUSH2 0x0dad
00000da8: JUMPI
00000da9: PUSH1 0x00
00000dab: DUP1
00000dac: REVERT
00000dad: JUMPDEST
00000dae: POP
00000daf: GAS
00000db0: CALL
00000db1: ISZERO
00000db2: DUP1
00000db3: ISZERO
00000db4: PUSH2 0x0dc1
00000db7: JUMPI
00000db8: RETURNDATASIZE
00000db9: PUSH1 0x00
00000dbb: DUP1
00000dbc: RETURNDATACOPY
00000dbd: RETURNDATASIZE
00000dbe: PUSH1 0x00
00000dc0: REVERT
00000dc1: JUMPDEST
00000dc2: POP
00000dc3: POP
00000dc4: POP
00000dc5: POP
00000dc6: PUSH1 0x40
00000dc8: MLOAD
00000dc9: RETURNDATASIZE
00000dca: PUSH1 0x20
00000dcc: DUP2
00000dcd: LT
00000dce: ISZERO
00000dcf: PUSH2 0x0dd7
00000dd2: JUMPI
00000dd3: PUSH1 0x00
00000dd5: DUP1
00000dd6: REVERT
00000dd7: JUMPDEST
00000dd8: POP
00000dd9: MLOAD
00000dda: SWAP1
00000ddb: POP
00000ddc: DUP1
00000ddd: ISZERO
00000dde: PUSH2 0x0e18
00000de1: JUMPI
00000de2: PUSH1 0x40
00000de4: MLOAD
00000de5: PUSH3 0x461bcd
00000de9: PUSH1 0xe5
00000deb: SHL
00000dec: DUP2
00000ded: MSTORE
00000dee: PUSH1 0x04
00000df0: ADD
00000df1: DUP1
00000df2: DUP1
00000df3: PUSH1 0x20
00000df5: ADD
00000df6: DUP3
00000df7: DUP2
00000df8: SUB
00000df9: DUP3
00000dfa: MSTORE
00000dfb: PUSH1 0x27
00000dfd: DUP2
00000dfe: MSTORE
00000dff: PUSH1 0x20
00000e01: ADD
00000e02: DUP1
00000e03: PUSH2 0x1892
00000e06: PUSH1 0x27
00000e08: SWAP2
00000e09: CODECOPY
00000e0a: PUSH1 0x40
00000e0c: ADD
00000e0d: SWAP2
00000e0e: POP
00000e0f: POP
00000e10: PUSH1 0x40
00000e12: MLOAD
00000e13: DUP1
00000e14: SWAP2
00000e15: SUB
00000e16: SWAP1
00000e17: REVERT
00000e18: JUMPDEST
00000e19: PUSH1 0x03
00000e1b: SLOAD
00000e1c: PUSH1 0x40
00000e1e: DUP1
00000e1f: MLOAD
00000e20: PUSH4 0x01a610e5
00000e25: PUSH1 0xe6
00000e27: SHL
00000e28: DUP2
00000e29: MSTORE
00000e2a: PUSH32 0x1be57b66523678295077340a3527d37915b8de6e1e3218c7e176ae2d1f922530
00000e4b: PUSH1 0x04
00000e4d: DUP3
00000e4e: ADD
00000e4f: MSTORE
00000e50: SWAP1
00000e51: MLOAD
00000e52: PUSH1 0x00
00000e54: SWAP3
00000e55: PUSH2 0x0ed5
00000e58: SWAP3
00000e59: PUSH2 0x2710
00000e5c: SWAP3
00000e5d: PUSH2 0x0a67
00000e60: SWAP3
00000e61: SWAP2
00000e62: PUSH20 0x550bf90cf0a0478a9b1f9b6d0b45a4c8268b1d86
00000e77: SWAP2
00000e78: PUSH4 0x69843940
00000e7d: SWAP2
00000e7e: PUSH1 0x24
00000e80: DUP1
00000e81: DUP3
00000e82: ADD
00000e83: SWAP3
00000e84: PUSH1 0x20
00000e86: SWAP3
00000e87: SWAP1
00000e88: SWAP2
00000e89: SWAP1
00000e8a: DUP3
00000e8b: SWAP1
00000e8c: SUB
00000e8d: ADD
00000e8e: DUP2
00000e8f: DUP7
00000e90: DUP1
00000e91: EXTCODESIZE
00000e92: ISZERO
00000e93: DUP1
00000e94: ISZERO
00000e95: PUSH2 0x0e9d
00000e98: JUMPI
00000e99: PUSH1 0x00
00000e9b: DUP1
00000e9c: REVERT
00000e9d: JUMPDEST
00000e9e: POP
00000e9f: GAS
00000ea0: STATICCALL
00000ea1: ISZERO
00000ea2: DUP1
00000ea3: ISZERO
00000ea4: PUSH2 0x0eb1
00000ea7: JUMPI
00000ea8: RETURNDATASIZE
00000ea9: PUSH1 0x00
00000eab: DUP1
00000eac: RETURNDATACOPY
00000ead: RETURNDATASIZE
00000eae: PUSH1 0x00
00000eb0: REVERT
00000eb1: JUMPDEST
00000eb2: POP
00000eb3: POP
00000eb4: POP
00000eb5: POP
00000eb6: PUSH1 0x40
00000eb8: MLOAD
00000eb9: RETURNDATASIZE
00000eba: PUSH1 0x20
00000ebc: DUP2
00000ebd: LT
00000ebe: ISZERO
00000ebf: PUSH2 0x0ec7
00000ec2: JUMPI
00000ec3: PUSH1 0x00
00000ec5: DUP1
00000ec6: REVERT
00000ec7: JUMPDEST
00000ec8: POP
00000ec9: MLOAD
00000eca: SWAP1
00000ecb: PUSH4 0xffffffff
00000ed0: PUSH2 0x10b9
00000ed3: AND
00000ed4: JUMP
00000ed5: JUMPDEST
00000ed6: PUSH1 0x00
00000ed8: PUSH1 0x03
00000eda: SSTORE
00000edb: SWAP1
00000edc: POP
00000edd: PUSH2 0x0aba
00000ee0: DUP2
00000ee1: PUSH2 0x1277
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: ADDRESS
00000ee7: EXTCODESIZE
00000ee8: ISZERO
00000ee9: SWAP1
00000eea: JUMP
00000eeb: JUMPDEST
00000eec: PUSH1 0x60
00000eee: DUP2
00000eef: ADD
00000ef0: MLOAD
00000ef1: PUSH1 0x40
00000ef3: DUP3
00000ef4: ADD
00000ef5: MLOAD
00000ef6: PUSH1 0x20
00000ef8: DUP4
00000ef9: ADD
00000efa: MLOAD
00000efb: DUP4
00000efc: MLOAD
00000efd: ADD
00000efe: ADD
00000eff: ADD
00000f00: PUSH1 0x64
00000f02: EQ
00000f03: PUSH2 0x0f3d
00000f06: JUMPI
00000f07: PUSH1 0x40
00000f09: MLOAD
00000f0a: PUSH3 0x461bcd
00000f0e: PUSH1 0xe5
00000f10: SHL
00000f11: DUP2
00000f12: MSTORE
00000f13: PUSH1 0x04
00000f15: ADD
00000f16: DUP1
00000f17: DUP1
00000f18: PUSH1 0x20
00000f1a: ADD
00000f1b: DUP3
00000f1c: DUP2
00000f1d: SUB
00000f1e: DUP3
00000f1f: MSTORE
00000f20: PUSH1 0x25
00000f22: DUP2
00000f23: MSTORE
00000f24: PUSH1 0x20
00000f26: ADD
00000f27: DUP1
00000f28: PUSH2 0x17ce
00000f2b: PUSH1 0x25
00000f2d: SWAP2
00000f2e: CODECOPY
00000f2f: PUSH1 0x40
00000f31: ADD
00000f32: SWAP2
00000f33: POP
00000f34: POP
00000f35: PUSH1 0x40
00000f37: MLOAD
00000f38: DUP1
00000f39: SWAP2
00000f3a: SUB
00000f3b: SWAP1
00000f3c: REVERT
00000f3d: JUMPDEST
00000f3e: PUSH1 0x00
00000f40: JUMPDEST
00000f41: PUSH1 0x04
00000f43: DUP2
00000f44: PUSH1 0xff
00000f46: AND
00000f47: LT
00000f48: ISZERO
00000f49: PUSH2 0x09d2
00000f4c: JUMPI
00000f4d: DUP2
00000f4e: DUP2
00000f4f: PUSH1 0xff
00000f51: AND
00000f52: PUSH1 0x04
00000f54: DUP2
00000f55: LT
00000f56: PUSH2 0x0f5b
00000f59: JUMPI
00000f5a: INVALID
00000f5b: JUMPDEST
00000f5c: PUSH1 0x20
00000f5e: MUL
00000f5f: ADD
00000f60: MLOAD
00000f61: PUSH1 0x02
00000f63: DUP3
00000f64: PUSH1 0xff
00000f66: AND
00000f67: PUSH1 0x04
00000f69: DUP2
00000f6a: LT
00000f6b: PUSH2 0x0f70
00000f6e: JUMPI
00000f6f: INVALID
00000f70: JUMPDEST
00000f71: PUSH1 0x02
00000f73: MUL
00000f74: ADD
00000f75: SSTORE
00000f76: PUSH1 0x01
00000f78: ADD
00000f79: PUSH2 0x0f40
00000f7c: JUMP
00000f7d: JUMPDEST
00000f7e: PUSH2 0x09d2
00000f81: DUP3
00000f82: DUP3
00000f83: PUSH2 0x0f8a
00000f86: PUSH2 0x0b86
00000f89: JUMP
00000f8a: JUMPDEST
00000f8b: PUSH1 0x01
00000f8d: PUSH1 0x01
00000f8f: PUSH1 0xa0
00000f91: SHL
00000f92: SUB
00000f93: AND
00000f94: SWAP2
00000f95: SWAP1
00000f96: PUSH4 0xffffffff
00000f9b: PUSH2 0x1324
00000f9e: AND
00000f9f: JUMP
00000fa0: JUMPDEST
00000fa1: PUSH1 0x01
00000fa3: PUSH1 0x01
00000fa5: PUSH1 0xa0
00000fa7: SHL
00000fa8: SUB
00000fa9: DUP2
00000faa: AND
00000fab: PUSH1 0x00
00000fad: SWAP1
00000fae: DUP2
00000faf: MSTORE
00000fb0: PUSH1 0x01
00000fb2: PUSH1 0x20
00000fb4: MSTORE
00000fb5: PUSH1 0x40
00000fb7: SWAP1
00000fb8: KECCAK256
00000fb9: SLOAD
00000fba: PUSH1 0xff
00000fbc: AND
00000fbd: PUSH2 0x0fe7
00000fc0: JUMPI
00000fc1: PUSH1 0x01
00000fc3: PUSH1 0x01
00000fc5: PUSH1 0xa0
00000fc7: SHL
00000fc8: SUB
00000fc9: DUP2
00000fca: AND
00000fcb: PUSH1 0x00
00000fcd: SWAP1
00000fce: DUP2
00000fcf: MSTORE
00000fd0: PUSH1 0x01
00000fd2: PUSH1 0x20
00000fd4: DUP2
00000fd5: SWAP1
00000fd6: MSTORE
00000fd7: PUSH1 0x40
00000fd9: SWAP1
00000fda: SWAP2
00000fdb: KECCAK256
00000fdc: DUP1
00000fdd: SLOAD
00000fde: PUSH1 0xff
00000fe0: NOT
00000fe1: AND
00000fe2: SWAP1
00000fe3: SWAP2
00000fe4: OR
00000fe5: SWAP1
00000fe6: SSTORE
00000fe7: JUMPDEST
00000fe8: POP
00000fe9: JUMP
00000fea: JUMPDEST
00000feb: PUSH1 0x00
00000fed: PUSH2 0x0ff5
00000ff0: DUP3
00000ff1: PUSH2 0x087e
00000ff4: JUMP
00000ff5: JUMPDEST
00000ff6: SWAP1
00000ff7: POP
00000ff8: DUP3
00000ff9: PUSH1 0x02
00000ffb: DUP3
00000ffc: PUSH1 0xff
00000ffe: AND
00000fff: PUSH1 0x04
00001001: DUP2
00001002: LT
00001003: PUSH2 0x1008
00001006: JUMPI
00001007: INVALID
00001008: JUMPDEST
00001009: PUSH1 0x02
0000100b: MUL
0000100c: ADD
0000100d: PUSH1 0x01
0000100f: ADD
00001010: PUSH1 0x00
00001012: DUP3
00001013: DUP3
00001014: SLOAD
00001015: ADD
00001016: SWAP3
00001017: POP
00001018: POP
00001019: DUP2
0000101a: SWAP1
0000101b: SSTORE
0000101c: POP
0000101d: POP
0000101e: POP
0000101f: POP
00001020: JUMP
00001021: JUMPDEST
00001022: PUSH1 0x00
00001024: PUSH2 0x102c
00001027: DUP3
00001028: PUSH2 0x087e
0000102b: JUMP
0000102c: JUMPDEST
0000102d: SWAP1
0000102e: POP
0000102f: DUP3
00001030: PUSH1 0x02
00001032: DUP3
00001033: PUSH1 0xff
00001035: AND
00001036: PUSH1 0x04
00001038: DUP2
00001039: LT
0000103a: PUSH2 0x103f
0000103d: JUMPI
0000103e: INVALID
0000103f: JUMPDEST
00001040: PUSH1 0x02
00001042: MUL
00001043: ADD
00001044: PUSH1 0x01
00001046: ADD
00001047: PUSH1 0x00
00001049: DUP3
0000104a: DUP3
0000104b: SLOAD
0000104c: SUB
0000104d: SWAP3
0000104e: POP
0000104f: POP
00001050: DUP2
00001051: SWAP1
00001052: SSTORE
00001053: POP
00001054: POP
00001055: POP
00001056: POP
00001057: JUMP
00001058: JUMPDEST
00001059: PUSH1 0x00
0000105b: DUP3
0000105c: DUP3
0000105d: ADD
0000105e: DUP4
0000105f: DUP2
00001060: LT
00001061: ISZERO
00001062: PUSH2 0x10b2
00001065: JUMPI
00001066: PUSH1 0x40
00001068: DUP1
00001069: MLOAD
0000106a: PUSH3 0x461bcd
0000106e: PUSH1 0xe5
00001070: SHL
00001071: DUP2
00001072: MSTORE
00001073: PUSH1 0x20
00001075: PUSH1 0x04
00001077: DUP3
00001078: ADD
00001079: MSTORE
0000107a: PUSH1 0x1b
0000107c: PUSH1 0x24
0000107e: DUP3
0000107f: ADD
00001080: MSTORE
00001081: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
000010a2: PUSH1 0x44
000010a4: DUP3
000010a5: ADD
000010a6: MSTORE
000010a7: SWAP1
000010a8: MLOAD
000010a9: SWAP1
000010aa: DUP2
000010ab: SWAP1
000010ac: SUB
000010ad: PUSH1 0x64
000010af: ADD
000010b0: SWAP1
000010b1: REVERT
000010b2: JUMPDEST
000010b3: SWAP4
000010b4: SWAP3
000010b5: POP
000010b6: POP
000010b7: POP
000010b8: JUMP
000010b9: JUMPDEST
000010ba: PUSH1 0x00
000010bc: DUP3
000010bd: PUSH2 0x10c8
000010c0: JUMPI
000010c1: POP
000010c2: PUSH1 0x00
000010c4: PUSH2 0x0b80
000010c7: JUMP
000010c8: JUMPDEST
000010c9: DUP3
000010ca: DUP3
000010cb: MUL
000010cc: DUP3
000010cd: DUP5
000010ce: DUP3
000010cf: DUP2
000010d0: PUSH2 0x10d5
000010d3: JUMPI
000010d4: INVALID
000010d5: JUMPDEST
000010d6: DIV
000010d7: EQ
000010d8: PUSH2 0x10b2
000010db: JUMPI
000010dc: PUSH1 0x40
000010de: MLOAD
000010df: PUSH3 0x461bcd
000010e3: PUSH1 0xe5
000010e5: SHL
000010e6: DUP2
000010e7: MSTORE
000010e8: PUSH1 0x04
000010ea: ADD
000010eb: DUP1
000010ec: DUP1
000010ed: PUSH1 0x20
000010ef: ADD
000010f0: DUP3
000010f1: DUP2
000010f2: SUB
000010f3: DUP3
000010f4: MSTORE
000010f5: PUSH1 0x21
000010f7: DUP2
000010f8: MSTORE
000010f9: PUSH1 0x20
000010fb: ADD
000010fc: DUP1
000010fd: PUSH2 0x184f
00001100: PUSH1 0x21
00001102: SWAP2
00001103: CODECOPY
00001104: PUSH1 0x40
00001106: ADD
00001107: SWAP2
00001108: POP
00001109: POP
0000110a: PUSH1 0x40
0000110c: MLOAD
0000110d: DUP1
0000110e: SWAP2
0000110f: SUB
00001110: SWAP1
00001111: REVERT
00001112: JUMPDEST
00001113: PUSH1 0x00
00001115: PUSH2 0x10b2
00001118: DUP4
00001119: DUP4
0000111a: PUSH1 0x40
0000111c: MLOAD
0000111d: DUP1
0000111e: PUSH1 0x40
00001120: ADD
00001121: PUSH1 0x40
00001123: MSTORE
00001124: DUP1
00001125: PUSH1 0x1a
00001127: DUP2
00001128: MSTORE
00001129: PUSH1 0x20
0000112b: ADD
0000112c: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
0000114d: DUP2
0000114e: MSTORE
0000114f: POP
00001150: PUSH2 0x1376
00001153: JUMP
00001154: JUMPDEST
00001155: PUSH1 0x00
00001157: PUSH2 0x10b2
0000115a: DUP4
0000115b: DUP4
0000115c: PUSH1 0x40
0000115e: MLOAD
0000115f: DUP1
00001160: PUSH1 0x40
00001162: ADD
00001163: PUSH1 0x40
00001165: MSTORE
00001166: DUP1
00001167: PUSH1 0x1e
00001169: DUP2
0000116a: MSTORE
0000116b: PUSH1 0x20
0000116d: ADD
0000116e: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
0000118f: DUP2
00001190: MSTORE
00001191: POP
00001192: PUSH2 0x1418
00001195: JUMP
00001196: JUMPDEST
00001197: PUSH1 0x00
00001199: PUSH2 0x11a0
0000119c: PUSH2 0x0b86
0000119f: JUMP
000011a0: JUMPDEST
000011a1: SWAP1
000011a2: POP
000011a3: PUSH1 0x00
000011a5: PUSH2 0x11ac
000011a8: PUSH2 0x0bdc
000011ab: JUMP
000011ac: JUMPDEST
000011ad: SWAP1
000011ae: POP
000011af: DUP1
000011b0: PUSH2 0x11c9
000011b3: PUSH1 0x01
000011b5: PUSH1 0x01
000011b7: PUSH1 0xa0
000011b9: SHL
000011ba: SUB
000011bb: DUP5
000011bc: AND
000011bd: DUP3
000011be: DUP7
000011bf: PUSH4 0xffffffff
000011c4: PUSH2 0x1472
000011c7: AND
000011c8: JUMP
000011c9: JUMPDEST
000011ca: DUP1
000011cb: PUSH1 0x01
000011cd: PUSH1 0x01
000011cf: PUSH1 0xa0
000011d1: SHL
000011d2: SUB
000011d3: AND
000011d4: PUSH4 0xa0712d68
000011d9: DUP6
000011da: PUSH1 0x40
000011dc: MLOAD
000011dd: DUP3
000011de: PUSH4 0xffffffff
000011e3: AND
000011e4: PUSH1 0xe0
000011e6: SHL
000011e7: DUP2
000011e8: MSTORE
000011e9: PUSH1 0x04
000011eb: ADD
000011ec: DUP1
000011ed: DUP3
000011ee: DUP2
000011ef: MSTORE
000011f0: PUSH1 0x20
000011f2: ADD
000011f3: SWAP2
000011f4: POP
000011f5: POP
000011f6: PUSH1 0x20
000011f8: PUSH1 0x40
000011fa: MLOAD
000011fb: DUP1
000011fc: DUP4
000011fd: SUB
000011fe: DUP2
000011ff: PUSH1 0x00
00001201: DUP8
00001202: DUP1
00001203: EXTCODESIZE
00001204: ISZERO
00001205: DUP1
00001206: ISZERO
00001207: PUSH2 0x120f
0000120a: JUMPI
0000120b: PUSH1 0x00
0000120d: DUP1
0000120e: REVERT
0000120f: JUMPDEST
00001210: POP
00001211: GAS
00001212: CALL
00001213: ISZERO
00001214: DUP1
00001215: ISZERO
00001216: PUSH2 0x1223
00001219: JUMPI
0000121a: RETURNDATASIZE
0000121b: PUSH1 0x00
0000121d: DUP1
0000121e: RETURNDATACOPY
0000121f: RETURNDATASIZE
00001220: PUSH1 0x00
00001222: REVERT
00001223: JUMPDEST
00001224: POP
00001225: POP
00001226: POP
00001227: POP
00001228: PUSH1 0x40
0000122a: MLOAD
0000122b: RETURNDATASIZE
0000122c: PUSH1 0x20
0000122e: DUP2
0000122f: LT
00001230: ISZERO
00001231: PUSH2 0x1239
00001234: JUMPI
00001235: PUSH1 0x00
00001237: DUP1
00001238: REVERT
00001239: JUMPDEST
0000123a: POP
0000123b: MLOAD
0000123c: ISZERO
0000123d: PUSH2 0x0aba
00001240: JUMPI
00001241: PUSH1 0x40
00001243: MLOAD
00001244: PUSH3 0x461bcd
00001248: PUSH1 0xe5
0000124a: SHL
0000124b: DUP2
0000124c: MSTORE
0000124d: PUSH1 0x04
0000124f: ADD
00001250: DUP1
00001251: DUP1
00001252: PUSH1 0x20
00001254: ADD
00001255: DUP3
00001256: DUP2
00001257: SUB
00001258: DUP3
00001259: MSTORE
0000125a: PUSH1 0x22
0000125c: DUP2
0000125d: MSTORE
0000125e: PUSH1 0x20
00001260: ADD
00001261: DUP1
00001262: PUSH2 0x1870
00001265: PUSH1 0x22
00001267: SWAP2
00001268: CODECOPY
00001269: PUSH1 0x40
0000126b: ADD
0000126c: SWAP2
0000126d: POP
0000126e: POP
0000126f: PUSH1 0x40
00001271: MLOAD
00001272: DUP1
00001273: SWAP2
00001274: SUB
00001275: SWAP1
00001276: REVERT
00001277: JUMPDEST
00001278: PUSH1 0x40
0000127a: DUP1
0000127b: MLOAD
0000127c: PUSH4 0x21f8a721
00001281: PUSH1 0xe0
00001283: SHL
00001284: DUP2
00001285: MSTORE
00001286: PUSH32 0xcbc3019154635bc9d83c4767ef7c360258e1886a6895b5091421f1f65aba8e96
000012a7: PUSH1 0x04
000012a9: DUP3
000012aa: ADD
000012ab: MSTORE
000012ac: SWAP1
000012ad: MLOAD
000012ae: PUSH1 0x00
000012b0: SWAP2
000012b1: PUSH20 0x550bf90cf0a0478a9b1f9b6d0b45a4c8268b1d86
000012c6: SWAP2
000012c7: PUSH4 0x21f8a721
000012cc: SWAP2
000012cd: PUSH1 0x24
000012cf: DUP1
000012d0: DUP3
000012d1: ADD
000012d2: SWAP3
000012d3: PUSH1 0x20
000012d5: SWAP3
000012d6: SWAP1
000012d7: SWAP2
000012d8: SWAP1
000012d9: DUP3
000012da: SWAP1
000012db: SUB
000012dc: ADD
000012dd: DUP2
000012de: DUP7
000012df: DUP1
000012e0: EXTCODESIZE
000012e1: ISZERO
000012e2: DUP1
000012e3: ISZERO
000012e4: PUSH2 0x12ec
000012e7: JUMPI
000012e8: PUSH1 0x00
000012ea: DUP1
000012eb: REVERT
000012ec: JUMPDEST
000012ed: POP
000012ee: GAS
000012ef: STATICCALL
000012f0: ISZERO
000012f1: DUP1
000012f2: ISZERO
000012f3: PUSH2 0x1300
000012f6: JUMPI
000012f7: RETURNDATASIZE
000012f8: PUSH1 0x00
000012fa: DUP1
000012fb: RETURNDATACOPY
000012fc: RETURNDATASIZE
000012fd: PUSH1 0x00
000012ff: REVERT
00001300: JUMPDEST
00001301: POP
00001302: POP
00001303: POP
00001304: POP
00001305: PUSH1 0x40
00001307: MLOAD
00001308: RETURNDATASIZE
00001309: PUSH1 0x20
0000130b: DUP2
0000130c: LT
0000130d: ISZERO
0000130e: PUSH2 0x1316
00001311: JUMPI
00001312: PUSH1 0x00
00001314: DUP1
00001315: REVERT
00001316: JUMPDEST
00001317: POP
00001318: MLOAD
00001319: SWAP1
0000131a: POP
0000131b: PUSH2 0x09d2
0000131e: DUP2
0000131f: DUP4
00001320: PUSH2 0x0f7d
00001323: JUMP
00001324: JUMPDEST
00001325: PUSH1 0x40
00001327: DUP1
00001328: MLOAD
00001329: PUSH1 0x01
0000132b: PUSH1 0x01
0000132d: PUSH1 0xa0
0000132f: SHL
00001330: SUB
00001331: DUP5
00001332: AND
00001333: PUSH1 0x24
00001335: DUP3
00001336: ADD
00001337: MSTORE
00001338: PUSH1 0x44
0000133a: DUP1
0000133b: DUP3
0000133c: ADD
0000133d: DUP5
0000133e: SWAP1
0000133f: MSTORE
00001340: DUP3
00001341: MLOAD
00001342: DUP1
00001343: DUP4
00001344: SUB
00001345: SWAP1
00001346: SWAP2
00001347: ADD
00001348: DUP2
00001349: MSTORE
0000134a: PUSH1 0x64
0000134c: SWAP1
0000134d: SWAP2
0000134e: ADD
0000134f: SWAP1
00001350: SWAP2
00001351: MSTORE
00001352: PUSH1 0x20
00001354: DUP2
00001355: ADD
00001356: DUP1
00001357: MLOAD
00001358: PUSH1 0x01
0000135a: PUSH1 0x01
0000135c: PUSH1 0xe0
0000135e: SHL
0000135f: SUB
00001360: AND
00001361: PUSH4 0xa9059cbb
00001366: PUSH1 0xe0
00001368: SHL
00001369: OR
0000136a: SWAP1
0000136b: MSTORE
0000136c: PUSH2 0x060a
0000136f: SWAP1
00001370: DUP5
00001371: SWAP1
00001372: PUSH2 0x1581
00001375: JUMP
00001376: JUMPDEST
00001377: PUSH1 0x00
00001379: DUP2
0000137a: DUP4
0000137b: PUSH2 0x1402
0000137e: JUMPI
0000137f: PUSH1 0x40
00001381: MLOAD
00001382: PUSH3 0x461bcd
00001386: PUSH1 0xe5
00001388: SHL
00001389: DUP2
0000138a: MSTORE
0000138b: PUSH1 0x04
0000138d: ADD
0000138e: DUP1
0000138f: DUP1
00001390: PUSH1 0x20
00001392: ADD
00001393: DUP3
00001394: DUP2
00001395: SUB
00001396: DUP3
00001397: MSTORE
00001398: DUP4
00001399: DUP2
0000139a: DUP2
0000139b: MLOAD
0000139c: DUP2
0000139d: MSTORE
0000139e: PUSH1 0x20
000013a0: ADD
000013a1: SWAP2
000013a2: POP
000013a3: DUP1
000013a4: MLOAD
000013a5: SWAP1
000013a6: PUSH1 0x20
000013a8: ADD
000013a9: SWAP1
000013aa: DUP1
000013ab: DUP4
000013ac: DUP4
000013ad: PUSH1 0x00
000013af: JUMPDEST
000013b0: DUP4
000013b1: DUP2
000013b2: LT
000013b3: ISZERO
000013b4: PUSH2 0x13c7
000013b7: JUMPI
000013b8: DUP2
000013b9: DUP2
000013ba: ADD
000013bb: MLOAD
000013bc: DUP4
000013bd: DUP3
000013be: ADD
000013bf: MSTORE
000013c0: PUSH1 0x20
000013c2: ADD
000013c3: PUSH2 0x13af
000013c6: JUMP
000013c7: JUMPDEST
000013c8: POP
000013c9: POP
000013ca: POP
000013cb: POP
000013cc: SWAP1
000013cd: POP
000013ce: SWAP1
000013cf: DUP2
000013d0: ADD
000013d1: SWAP1
000013d2: PUSH1 0x1f
000013d4: AND
000013d5: DUP1
000013d6: ISZERO
000013d7: PUSH2 0x13f4
000013da: JUMPI
000013db: DUP1
000013dc: DUP3
000013dd: SUB
000013de: DUP1
000013df: MLOAD
000013e0: PUSH1 0x01
000013e2: DUP4
000013e3: PUSH1 0x20
000013e5: SUB
000013e6: PUSH2 0x0100
000013e9: EXP
000013ea: SUB
000013eb: NOT
000013ec: AND
000013ed: DUP2
000013ee: MSTORE
000013ef: PUSH1 0x20
000013f1: ADD
000013f2: SWAP2
000013f3: POP
000013f4: JUMPDEST
000013f5: POP
000013f6: SWAP3
000013f7: POP
000013f8: POP
000013f9: POP
000013fa: PUSH1 0x40
000013fc: MLOAD
000013fd: DUP1
000013fe: SWAP2
000013ff: SUB
00001400: SWAP1
00001401: REVERT
00001402: JUMPDEST
00001403: POP
00001404: PUSH1 0x00
00001406: DUP4
00001407: DUP6
00001408: DUP2
00001409: PUSH2 0x140e
0000140c: JUMPI
0000140d: INVALID
0000140e: JUMPDEST
0000140f: DIV
00001410: SWAP6
00001411: SWAP5
00001412: POP
00001413: POP
00001414: POP
00001415: POP
00001416: POP
00001417: JUMP
00001418: JUMPDEST
00001419: PUSH1 0x00
0000141b: DUP2
0000141c: DUP5
0000141d: DUP5
0000141e: GT
0000141f: ISZERO
00001420: PUSH2 0x146a
00001423: JUMPI
00001424: PUSH1 0x40
00001426: MLOAD
00001427: PUSH3 0x461bcd
0000142b: PUSH1 0xe5
0000142d: SHL
0000142e: DUP2
0000142f: MSTORE
00001430: PUSH1 0x20
00001432: PUSH1 0x04
00001434: DUP3
00001435: ADD
00001436: DUP2
00001437: DUP2
00001438: MSTORE
00001439: DUP4
0000143a: MLOAD
0000143b: PUSH1 0x24
0000143d: DUP5
0000143e: ADD
0000143f: MSTORE
00001440: DUP4
00001441: MLOAD
00001442: SWAP1
00001443: SWAP3
00001444: DUP4
00001445: SWAP3
00001446: PUSH1 0x44
00001448: SWAP1
00001449: SWAP2
0000144a: ADD
0000144b: SWAP2
0000144c: SWAP1
0000144d: DUP6
0000144e: ADD
0000144f: SWAP1
00001450: DUP1
00001451: DUP4
00001452: DUP4
00001453: PUSH1 0x00
00001455: DUP4
00001456: ISZERO
00001457: PUSH2 0x13c7
0000145a: JUMPI
0000145b: DUP2
0000145c: DUP2
0000145d: ADD
0000145e: MLOAD
0000145f: DUP4
00001460: DUP3
00001461: ADD
00001462: MSTORE
00001463: PUSH1 0x20
00001465: ADD
00001466: PUSH2 0x13af
00001469: JUMP
0000146a: JUMPDEST
0000146b: POP
0000146c: POP
0000146d: POP
0000146e: SWAP1
0000146f: SUB
00001470: SWAP1
00001471: JUMP
00001472: JUMPDEST
00001473: DUP1
00001474: ISZERO
00001475: DUP1
00001476: PUSH2 0x14f8
00001479: JUMPI
0000147a: POP
0000147b: PUSH1 0x40
0000147d: DUP1
0000147e: MLOAD
0000147f: PUSH4 0x6eb1769f
00001484: PUSH1 0xe1
00001486: SHL
00001487: DUP2
00001488: MSTORE
00001489: ADDRESS
0000148a: PUSH1 0x04
0000148c: DUP3
0000148d: ADD
0000148e: MSTORE
0000148f: PUSH1 0x01
00001491: PUSH1 0x01
00001493: PUSH1 0xa0
00001495: SHL
00001496: SUB
00001497: DUP5
00001498: DUP2
00001499: AND
0000149a: PUSH1 0x24
0000149c: DUP4
0000149d: ADD
0000149e: MSTORE
0000149f: SWAP2
000014a0: MLOAD
000014a1: SWAP2
000014a2: DUP6
000014a3: AND
000014a4: SWAP2
000014a5: PUSH4 0xdd62ed3e
000014aa: SWAP2
000014ab: PUSH1 0x44
000014ad: DUP1
000014ae: DUP3
000014af: ADD
000014b0: SWAP3
000014b1: PUSH1 0x20
000014b3: SWAP3
000014b4: SWAP1
000014b5: SWAP2
000014b6: SWAP1
000014b7: DUP3
000014b8: SWAP1
000014b9: SUB
000014ba: ADD
000014bb: DUP2
000014bc: DUP7
000014bd: DUP1
000014be: EXTCODESIZE
000014bf: ISZERO
000014c0: DUP1
000014c1: ISZERO
000014c2: PUSH2 0x14ca
000014c5: JUMPI
000014c6: PUSH1 0x00
000014c8: DUP1
000014c9: REVERT
000014ca: JUMPDEST
000014cb: POP
000014cc: GAS
000014cd: STATICCALL
000014ce: ISZERO
000014cf: DUP1
000014d0: ISZERO
000014d1: PUSH2 0x14de
000014d4: JUMPI
000014d5: RETURNDATASIZE
000014d6: PUSH1 0x00
000014d8: DUP1
000014d9: RETURNDATACOPY
000014da: RETURNDATASIZE
000014db: PUSH1 0x00
000014dd: REVERT
000014de: JUMPDEST
000014df: POP
000014e0: POP
000014e1: POP
000014e2: POP
000014e3: PUSH1 0x40
000014e5: MLOAD
000014e6: RETURNDATASIZE
000014e7: PUSH1 0x20
000014e9: DUP2
000014ea: LT
000014eb: ISZERO
000014ec: PUSH2 0x14f4
000014ef: JUMPI
000014f0: PUSH1 0x00
000014f2: DUP1
000014f3: REVERT
000014f4: JUMPDEST
000014f5: POP
000014f6: MLOAD
000014f7: ISZERO
000014f8: JUMPDEST
000014f9: PUSH2 0x1533
000014fc: JUMPI
000014fd: PUSH1 0x40
000014ff: MLOAD
00001500: PUSH3 0x461bcd
00001504: PUSH1 0xe5
00001506: SHL
00001507: DUP2
00001508: MSTORE
00001509: PUSH1 0x04
0000150b: ADD
0000150c: DUP1
0000150d: DUP1
0000150e: PUSH1 0x20
00001510: ADD
00001511: DUP3
00001512: DUP2
00001513: SUB
00001514: DUP3
00001515: MSTORE
00001516: PUSH1 0x36
00001518: DUP2
00001519: MSTORE
0000151a: PUSH1 0x20
0000151c: ADD
0000151d: DUP1
0000151e: PUSH2 0x18e3
00001521: PUSH1 0x36
00001523: SWAP2
00001524: CODECOPY
00001525: PUSH1 0x40
00001527: ADD
00001528: SWAP2
00001529: POP
0000152a: POP
0000152b: PUSH1 0x40
0000152d: MLOAD
0000152e: DUP1
0000152f: SWAP2
00001530: SUB
00001531: SWAP1
00001532: REVERT
00001533: JUMPDEST
00001534: PUSH1 0x40
00001536: DUP1
00001537: MLOAD
00001538: PUSH1 0x01
0000153a: PUSH1 0x01
0000153c: PUSH1 0xa0
0000153e: SHL
0000153f: SUB
00001540: DUP5
00001541: AND
00001542: PUSH1 0x24
00001544: DUP3
00001545: ADD
00001546: MSTORE
00001547: PUSH1 0x44
00001549: DUP1
0000154a: DUP3
0000154b: ADD
0000154c: DUP5
0000154d: SWAP1
0000154e: MSTORE
0000154f: DUP3
00001550: MLOAD
00001551: DUP1
00001552: DUP4
00001553: SUB
00001554: SWAP1
00001555: SWAP2
00001556: ADD
00001557: DUP2
00001558: MSTORE
00001559: PUSH1 0x64
0000155b: SWAP1
0000155c: SWAP2
0000155d: ADD
0000155e: SWAP1
0000155f: SWAP2
00001560: MSTORE
00001561: PUSH1 0x20
00001563: DUP2
00001564: ADD
00001565: DUP1
00001566: MLOAD
00001567: PUSH1 0x01
00001569: PUSH1 0x01
0000156b: PUSH1 0xe0
0000156d: SHL
0000156e: SUB
0000156f: AND
00001570: PUSH4 0x095ea7b3
00001575: PUSH1 0xe0
00001577: SHL
00001578: OR
00001579: SWAP1
0000157a: MSTORE
0000157b: PUSH2 0x060a
0000157e: SWAP1
0000157f: DUP5
00001580: SWAP1
00001581: JUMPDEST
00001582: PUSH1 0x60
00001584: PUSH2 0x15d6
00001587: DUP3
00001588: PUSH1 0x40
0000158a: MLOAD
0000158b: DUP1
0000158c: PUSH1 0x40
0000158e: ADD
0000158f: PUSH1 0x40
00001591: MSTORE
00001592: DUP1
00001593: PUSH1 0x20
00001595: DUP2
00001596: MSTORE
00001597: PUSH1 0x20
00001599: ADD
0000159a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000015bb: DUP2
000015bc: MSTORE
000015bd: POP
000015be: DUP6
000015bf: PUSH1 0x01
000015c1: PUSH1 0x01
000015c3: PUSH1 0xa0
000015c5: SHL
000015c6: SUB
000015c7: AND
000015c8: PUSH2 0x1632
000015cb: SWAP1
000015cc: SWAP3
000015cd: SWAP2
000015ce: SWAP1
000015cf: PUSH4 0xffffffff
000015d4: AND
000015d5: JUMP
000015d6: JUMPDEST
000015d7: DUP1
000015d8: MLOAD
000015d9: SWAP1
000015da: SWAP2
000015db: POP
000015dc: ISZERO
000015dd: PUSH2 0x060a
000015e0: JUMPI
000015e1: DUP1
000015e2: DUP1
000015e3: PUSH1 0x20
000015e5: ADD
000015e6: SWAP1
000015e7: MLOAD
000015e8: PUSH1 0x20
000015ea: DUP2
000015eb: LT
000015ec: ISZERO
000015ed: PUSH2 0x15f5
000015f0: JUMPI
000015f1: PUSH1 0x00
000015f3: DUP1
000015f4: REVERT
000015f5: JUMPDEST
000015f6: POP
000015f7: MLOAD
000015f8: PUSH2 0x060a
000015fb: JUMPI
000015fc: PUSH1 0x40
000015fe: MLOAD
000015ff: PUSH3 0x461bcd
00001603: PUSH1 0xe5
00001605: SHL
00001606: DUP2
00001607: MSTORE
00001608: PUSH1 0x04
0000160a: ADD
0000160b: DUP1
0000160c: DUP1
0000160d: PUSH1 0x20
0000160f: ADD
00001610: DUP3
00001611: DUP2
00001612: SUB
00001613: DUP3
00001614: MSTORE
00001615: PUSH1 0x2a
00001617: DUP2
00001618: MSTORE
00001619: PUSH1 0x20
0000161b: ADD
0000161c: DUP1
0000161d: PUSH2 0x18b9
00001620: PUSH1 0x2a
00001622: SWAP2
00001623: CODECOPY
00001624: PUSH1 0x40
00001626: ADD
00001627: SWAP2
00001628: POP
00001629: POP
0000162a: PUSH1 0x40
0000162c: MLOAD
0000162d: DUP1
0000162e: SWAP2
0000162f: SUB
00001630: SWAP1
00001631: REVERT
00001632: JUMPDEST
00001633: PUSH1 0x60
00001635: PUSH2 0x0876
00001638: DUP5
00001639: DUP5
0000163a: PUSH1 0x00
0000163c: DUP6
0000163d: PUSH1 0x60
0000163f: PUSH2 0x1647
00001642: DUP6
00001643: PUSH2 0x17a9
00001646: JUMP
00001647: JUMPDEST
00001648: PUSH2 0x1698
0000164b: JUMPI
0000164c: PUSH1 0x40
0000164e: DUP1
0000164f: MLOAD
00001650: PUSH3 0x461bcd
00001654: PUSH1 0xe5
00001656: SHL
00001657: DUP2
00001658: MSTORE
00001659: PUSH1 0x20
0000165b: PUSH1 0x04
0000165d: DUP3
0000165e: ADD
0000165f: MSTORE
00001660: PUSH1 0x1d
00001662: PUSH1 0x24
00001664: DUP3
00001665: ADD
00001666: MSTORE
00001667: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001688: PUSH1 0x44
0000168a: DUP3
0000168b: ADD
0000168c: MSTORE
0000168d: SWAP1
0000168e: MLOAD
0000168f: SWAP1
00001690: DUP2
00001691: SWAP1
00001692: SUB
00001693: PUSH1 0x64
00001695: ADD
00001696: SWAP1
00001697: REVERT
00001698: JUMPDEST
00001699: PUSH1 0x00
0000169b: PUSH1 0x60
0000169d: DUP7
0000169e: PUSH1 0x01
000016a0: PUSH1 0x01
000016a2: PUSH1 0xa0
000016a4: SHL
000016a5: SUB
000016a6: AND
000016a7: DUP6
000016a8: DUP8
000016a9: PUSH1 0x40
000016ab: MLOAD
000016ac: DUP1
000016ad: DUP3
000016ae: DUP1
000016af: MLOAD
000016b0: SWAP1
000016b1: PUSH1 0x20
000016b3: ADD
000016b4: SWAP1
000016b5: DUP1
000016b6: DUP4
000016b7: DUP4
000016b8: JUMPDEST
000016b9: PUSH1 0x20
000016bb: DUP4
000016bc: LT
000016bd: PUSH2 0x16d7
000016c0: JUMPI
000016c1: DUP1
000016c2: MLOAD
000016c3: DUP3
000016c4: MSTORE
000016c5: PUSH1 0x1f
000016c7: NOT
000016c8: SWAP1
000016c9: SWAP3
000016ca: ADD
000016cb: SWAP2
000016cc: PUSH1 0x20
000016ce: SWAP2
000016cf: DUP3
000016d0: ADD
000016d1: SWAP2
000016d2: ADD
000016d3: PUSH2 0x16b8
000016d6: JUMP
000016d7: JUMPDEST
000016d8: PUSH1 0x01
000016da: DUP4
000016db: PUSH1 0x20
000016dd: SUB
000016de: PUSH2 0x0100
000016e1: EXP
000016e2: SUB
000016e3: DUP1
000016e4: NOT
000016e5: DUP3
000016e6: MLOAD
000016e7: AND
000016e8: DUP2
000016e9: DUP5
000016ea: MLOAD
000016eb: AND
000016ec: DUP1
000016ed: DUP3
000016ee: OR
000016ef: DUP6
000016f0: MSTORE
000016f1: POP
000016f2: POP
000016f3: POP
000016f4: POP
000016f5: POP
000016f6: POP
000016f7: SWAP1
000016f8: POP
000016f9: ADD
000016fa: SWAP2
000016fb: POP
000016fc: POP
000016fd: PUSH1 0x00
000016ff: PUSH1 0x40
00001701: MLOAD
00001702: DUP1
00001703: DUP4
00001704: SUB
00001705: DUP2
00001706: DUP6
00001707: DUP8
00001708: GAS
00001709: CALL
0000170a: SWAP3
0000170b: POP
0000170c: POP
0000170d: POP
0000170e: RETURNDATASIZE
0000170f: DUP1
00001710: PUSH1 0x00
00001712: DUP2
00001713: EQ
00001714: PUSH2 0x1739
00001717: JUMPI
00001718: PUSH1 0x40
0000171a: MLOAD
0000171b: SWAP2
0000171c: POP
0000171d: PUSH1 0x1f
0000171f: NOT
00001720: PUSH1 0x3f
00001722: RETURNDATASIZE
00001723: ADD
00001724: AND
00001725: DUP3
00001726: ADD
00001727: PUSH1 0x40
00001729: MSTORE
0000172a: RETURNDATASIZE
0000172b: DUP3
0000172c: MSTORE
0000172d: RETURNDATASIZE
0000172e: PUSH1 0x00
00001730: PUSH1 0x20
00001732: DUP5
00001733: ADD
00001734: RETURNDATACOPY
00001735: PUSH2 0x173e
00001738: JUMP
00001739: JUMPDEST
0000173a: PUSH1 0x60
0000173c: SWAP2
0000173d: POP
0000173e: JUMPDEST
0000173f: POP
00001740: SWAP2
00001741: POP
00001742: SWAP2
00001743: POP
00001744: DUP2
00001745: ISZERO
00001746: PUSH2 0x1752
00001749: JUMPI
0000174a: SWAP2
0000174b: POP
0000174c: PUSH2 0x0876
0000174f: SWAP1
00001750: POP
00001751: JUMP
00001752: JUMPDEST
00001753: DUP1
00001754: MLOAD
00001755: ISZERO
00001756: PUSH2 0x1762
00001759: JUMPI
0000175a: DUP1
0000175b: MLOAD
0000175c: DUP1
0000175d: DUP3
0000175e: PUSH1 0x20
00001760: ADD
00001761: REVERT
00001762: JUMPDEST
00001763: PUSH1 0x40
00001765: MLOAD
00001766: PUSH3 0x461bcd
0000176a: PUSH1 0xe5
0000176c: SHL
0000176d: DUP2
0000176e: MSTORE
0000176f: PUSH1 0x20
00001771: PUSH1 0x04
00001773: DUP3
00001774: ADD
00001775: DUP2
00001776: DUP2
00001777: MSTORE
00001778: DUP7
00001779: MLOAD
0000177a: PUSH1 0x24
0000177c: DUP5
0000177d: ADD
0000177e: MSTORE
0000177f: DUP7
00001780: MLOAD
00001781: DUP8
00001782: SWAP4
00001783: SWAP2
00001784: SWAP3
00001785: DUP4
00001786: SWAP3
00001787: PUSH1 0x44
00001789: ADD
0000178a: SWAP2
0000178b: SWAP1
0000178c: DUP6
0000178d: ADD
0000178e: SWAP1
0000178f: DUP1
00001790: DUP4
00001791: DUP4
00001792: PUSH1 0x00
00001794: DUP4
00001795: ISZERO
00001796: PUSH2 0x13c7
00001799: JUMPI
0000179a: DUP2
0000179b: DUP2
0000179c: ADD
0000179d: MLOAD
0000179e: DUP4
0000179f: DUP3
000017a0: ADD
000017a1: MSTORE
000017a2: PUSH1 0x20
000017a4: ADD
000017a5: PUSH2 0x13af
000017a8: JUMP
000017a9: JUMPDEST
000017aa: EXTCODESIZE
000017ab: ISZERO
000017ac: ISZERO
000017ad: SWAP1
000017ae: JUMP
000017af: JUMPDEST
000017b0: PUSH1 0x40
000017b2: MLOAD
000017b3: DUP1
000017b4: PUSH1 0x80
000017b6: ADD
000017b7: PUSH1 0x40
000017b9: MSTORE
000017ba: DUP1
000017bb: PUSH1 0x04
000017bd: SWAP1
000017be: PUSH1 0x20
000017c0: DUP3
000017c1: MUL
000017c2: DUP1
000017c3: CALLDATASIZE
000017c4: DUP4
000017c5: CALLDATACOPY
000017c6: POP
000017c7: SWAP2
000017c8: SWAP3
000017c9: SWAP2
000017ca: POP
000017cb: POP
000017cc: JUMP
000017cd: INVALID
000017ce: NUMBER
000017cf: PUSH19 0x656469744649463a2053756d2073686f756c64
000017e3: KECCAK256
000017e4: PUSH3 0x652065
000017e8: PUSH18 0x75616c20746f203130304372656469744649
000017fb: CHAINID
000017fc: GASPRICE
000017fd: KECCAK256
000017fe: NUMBER
000017ff: PUSH2 0x6c6c
00001802: PUSH6 0x72206d757374
00001809: KECCAK256
0000180a: PUSH3 0x652053
0000180e: PUSH14 0x61727443726564697420436f6e74
0000181d: PUSH19 0x616374496e697469616c697a61626c653a2063
00001831: PUSH16 0x6e747261637420697320616c72656164
00001842: PUSH26 0x20696e697469616c697a6564536166654d6174683a206d756c74
0000185d: PUSH10 0x706c69636174696f6e20
00001868: PUSH16 0x766572666c6f77437265646974464946
00001879: GASPRICE
0000187a: KECCAK256
0000187b: NUMBER
0000187c: PUSH16 0x6d706f756e6420636f6e747261637420
0000188d: PUSH6 0x72726f724372
00001894: PUSH6 0x646974464946
0000189b: GASPRICE
0000189c: KECCAK256
0000189d: MSTORE
0000189e: PUSH6 0x6465656d2046
000018a5: PUSH2 0x696c
000018a8: PUSH22 0x72652066726f6d20636f6d706f756e64536166654552
000018bf: NUMBER
000018c0: ORIGIN
000018c1: ADDRESS
000018c2: GASPRICE
000018c3: KECCAK256
000018c4: GASLIMIT
000018c5: MSTORE
000018c6: NUMBER
000018c7: ORIGIN
000018c8: ADDRESS
000018c9: KECCAK256
000018ca: PUSH16 0x7065726174696f6e20646964206e6f74
000018db: KECCAK256
000018dc: PUSH20 0x7563636565645361666545524332303a20617070
000018f1: PUSH19 0x6f76652066726f6d206e6f6e2d7a65726f2074
00001905: PUSH16 0x206e6f6e2d7a65726f20616c6c6f7761
00001916: PUSH15 0x6365a2646970667358221220f8ed59
00001926: UNKNOWN(0xC7)
00001927: CREATE2
00001928: UNKNOWN(0xD0)
00001929: UNKNOWN(0xAB)
0000192a: UNKNOWN(0xC1)
0000192b: UNKNOWN(0xB6)
0000192c: REVERT
0000192d: PUSH19 0x04a753d78cfacf3dd4fcf0f7a36d3e575d460f
00001941: UNKNOWN(0xCD)
00001942: JUMP
00001943: PUSH5 0x736f6c6343
00001949: STOP
0000194a: MOD
0000194b: MOD
0000194c: STOP
0000194d: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xbfe0c27e",
            "selector": "0xbfe0c27e",
            "calldata_variants": [
                "0xbfe0c27e",
                "0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb915663",
            "selector": "0xcb915663",
            "calldata_variants": [
                "0xcb915663",
                "0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5596e0b",
            "selector": "0xe5596e0b",
            "calldata_variants": [
                "0xe5596e0b",
                "0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf23149c6",
            "selector": "0xf23149c6",
            "calldata_variants": [
                "0xf23149c6",
                "0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe113801",
            "selector": "0xfe113801",
            "calldata_variants": [
                "0xfe113801",
                "0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x85a336c5",
            "selector": "0x85a336c5",
            "calldata_variants": [
                "0x85a336c5",
                "0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa281e965",
            "selector": "0xa281e965",
            "calldata_variants": [
                "0xa281e965",
                "0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xab8cd46c",
            "selector": "0xab8cd46c",
            "calldata_variants": [
                "0xab8cd46c",
                "0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1872,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 2541,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 6336,
            "type": "tx_origin_used"
        },
        {
            "pc": 6343,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xcab4c278428db6880c2d0dd4c02838f9f1185fa3241db1f4209d9695c3f7e466
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xcab4c278428db6880c2d0dd4c02838f9f1185fa3241db1f4209d9695c3f7e466",
    "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": "0xbfe0c27e",
            "selector": "0xbfe0c27e",
            "calldata_variants": [
                "0xbfe0c27e",
                "0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb915663",
            "selector": "0xcb915663",
            "calldata_variants": [
                "0xcb915663",
                "0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5596e0b",
            "selector": "0xe5596e0b",
            "calldata_variants": [
                "0xe5596e0b",
                "0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf23149c6",
            "selector": "0xf23149c6",
            "calldata_variants": [
                "0xf23149c6",
                "0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe113801",
            "selector": "0xfe113801",
            "calldata_variants": [
                "0xfe113801",
                "0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x85a336c5",
            "selector": "0x85a336c5",
            "calldata_variants": [
                "0x85a336c5",
                "0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa281e965",
            "selector": "0xa281e965",
            "calldata_variants": [
                "0xa281e965",
                "0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xab8cd46c",
            "selector": "0xab8cd46c",
            "calldata_variants": [
                "0xab8cd46c",
                "0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium auth codex Potential authorization using tx.origin 75 no
view
evidence_json
{
    "evidence": "Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.",
    "locations": [
        "pc:0x18C0",
        "pc:0x18C7"
    ],
    "recommendation": "Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.",
    "exploit_scenario": "If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08
call_targets: 0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730"
    ],
    "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": "0xbfe0c27e",
            "selector": "0xbfe0c27e",
            "calldata_variants": [
                "0xbfe0c27e",
                "0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb915663",
            "selector": "0xcb915663",
            "calldata_variants": [
                "0xcb915663",
                "0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5596e0b",
            "selector": "0xe5596e0b",
            "calldata_variants": [
                "0xe5596e0b",
                "0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf23149c6",
            "selector": "0xf23149c6",
            "calldata_variants": [
                "0xf23149c6",
                "0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe113801",
            "selector": "0xfe113801",
            "calldata_variants": [
                "0xfe113801",
                "0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x85a336c5",
            "selector": "0x85a336c5",
            "calldata_variants": [
                "0x85a336c5",
                "0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa281e965",
            "selector": "0xa281e965",
            "calldata_variants": [
                "0xa281e965",
                "0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xab8cd46c",
            "selector": "0xab8cd46c",
            "calldata_variants": [
                "0xab8cd46c",
                "0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3380,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3504,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4626,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 1872,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 2541,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 6336,
            "type": "tx_origin_used"
        },
        {
            "pc": 6343,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08
call_targets: 0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730"
    ],
    "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": "0xbfe0c27e",
            "selector": "0xbfe0c27e",
            "calldata_variants": [
                "0xbfe0c27e",
                "0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb915663",
            "selector": "0xcb915663",
            "calldata_variants": [
                "0xcb915663",
                "0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5596e0b",
            "selector": "0xe5596e0b",
            "calldata_variants": [
                "0xe5596e0b",
                "0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf23149c6",
            "selector": "0xf23149c6",
            "calldata_variants": [
                "0xf23149c6",
                "0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe113801",
            "selector": "0xfe113801",
            "calldata_variants": [
                "0xfe113801",
                "0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x85a336c5",
            "selector": "0x85a336c5",
            "calldata_variants": [
                "0x85a336c5",
                "0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa281e965",
            "selector": "0xa281e965",
            "calldata_variants": [
                "0xa281e965",
                "0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xab8cd46c",
            "selector": "0xab8cd46c",
            "calldata_variants": [
                "0xab8cd46c",
                "0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3380,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3504,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4626,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 1872,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 2541,
            "type": "msg_sender_eq_const",
            "value": 2.8389620141085504e+47
        },
        {
            "pc": 6336,
            "type": "tx_origin_used"
        },
        {
            "pc": 6343,
            "type": "tx_origin_used"
        }
    ]
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 1
}
low other codex CREATE2 opcode present and potentially reachable 65 no
view
evidence_json
{
    "evidence": "CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.",
    "locations": [
        "pc:0x17CE"
    ],
    "recommendation": "Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.",
    "exploit_scenario": "If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments."
}
low other codex CALLs with computed target/value; external-call risk unclear 65 no
view
evidence_json
{
    "evidence": "CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.",
    "locations": [
        "pc:0x0D34",
        "pc:0x0DB0",
        "pc:0x1212",
        "pc:0x1709"
    ],
    "recommendation": "Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.",
    "exploit_scenario": "If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures."
}
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": 9
}