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

Analysis Run

019c0ea9-0907-7184-aaf7-3f9385a0e75c

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41970 artifact.fetch complete 1 / 3 2 months ago
41971 proxy.resolve complete 1 / 3 2 months ago
41972 tool.cast_disasm complete 1 / 3 2 months ago
41973 analysis.bundle complete 1 / 3 2 months ago
41974 capability.graph complete 1 / 3 2 months ago
41975 detector.run complete 1 / 3 2 months ago
41976 validation.fork complete 1 / 3 2 months ago
42378 report.consolidate complete 1 / 6 2 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode shows multiple CALLs with computed target/value (including ETH value transfers) and a CALLCODE instruction in an apparently unreachable tail section; access control and reentrancy protections are unclear from bytecode-only analysis.
View stdout
{"no_findings":false,"summary":"Bytecode shows multiple CALLs with computed target/value (including ETH value transfers) and a CALLCODE instruction in an apparently unreachable tail section; access control and reentrancy protections are unclear from bytecode-only analysis.","findings":[{"severity":"medium","category":"other","title":"Potentially user-influenced external CALLs with ETH value","exploit_scenario":"If any externally callable function allows a user to influence the call target and/or value (via calldata or mutable storage), an attacker could force the contract to call arbitrary contracts or transfer ETH, potentially triggering reentrancy or unintended fund movements. This is uncertain because a validation trace observed a constant target (self) for one path, but the bytecode analysis still classifies these callsites as computed-target/value with no detected guards.","recommendation":"Confirm which functions reach these CALL sites and enforce strict access control or target allowlists. If user input affects target/value, add validation and consider reentrancy protection around value-bearing calls. Ensure call success is checked and failures revert consistently.","evidence":"detector_findings[0]/[1] report 11 CALL sites with computed target/value and no guards detected; callsites list shows CALL at pcs 3308, 4406, 4841, 5506, 5586, 5755, 7174, 7314, 7433, 7988. Validation trace notes constant_target=self but not confirmed, so exposure is uncertain.","locations":["pc:0xcec","pc:0x1136","pc:0x12e9","pc:0x1582","pc:0x15d2","pc:0x167b","pc:0x1c06","pc:0x1c92","pc:0x1d09","pc:0x1f34"]},{"severity":"low","category":"other","title":"CALLCODE present in unreachable tail code (if reachable, executes in caller storage)","exploit_scenario":"If control flow could reach the CALLCODE at pc 8127, a computed target would execute in the caller’s storage context, enabling arbitrary storage writes and fund theft. CFG shows no incoming edges to the CALLCODE block, suggesting it is likely unreachable metadata, but reachability is uncertain in bytecode-only analysis.","recommendation":"Verify the tail section is truly unreachable. If any path can reach it, remove the CALLCODE or replace with safer patterns under strict access control.","evidence":"Basic block at start_pc 8092 contains CALLCODE with computed target/value (callsites list: pc 8127). CFG has zero incoming edges to bb:8092, indicating likely unreachable code.","locations":["pc:0x1fbf"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-aisphg45
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f4e-3aa2-70c2-85f8-7581f919f500
--------
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
exec
/bin/bash -lc ls in /tmp/codex-aisphg45 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-aisphg45 succeeded in 8ms:
{
  "analysis_artifact": {
    "address": "0xeba02cfc36c01acbe10f6bcb909b76749e54956a",
    "artifact_hash": "0xc6b58b7eddb9bd8c65bfe36f5552388593b5a55e03bad3f8c62b21c4fed4f8de",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0x07e7c3ea33014c182f15c30c4172f6859f69a18a6d3425e1e670540ee5856d46",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",
exec
/bin/bash -lc 'rg -n "storage|slot|proxy|delegatecall|DELEGATECALL|callcode|CALLCODE|selfdestruct" BYTECODE_BUNDLE.json' in /tmp/codex-aisphg45 succeeded in 15ms:
7475:            "CALLCODE",
7566:          "opcode": "CALLCODE",
9645:            "delegatecall": 0,
9646:            "selfdestruct": 0,
9649:          "storage": {
9651:            "slots": [
9655:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9660:                "slot": "0x000000000000000000000000000000000000000000000000000000000000002b"
9665:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9670:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9675:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
9680:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000028"
9685:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9690:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000026"
9695:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9700:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9705:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9710:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9715:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
9720:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
exec
/bin/bash -lc 'rg -n "CALLCODE" -n BYTECODE_BUNDLE.json' in /tmp/codex-aisphg45 succeeded in 7ms:
7475:            "CALLCODE",
7566:          "opcode": "CALLCODE",
24781:          "opcode": "CALLCODE",
exec
/bin/bash -lc "sed -n '7440,7605p' BYTECODE_BUNDLE.json" in /tmp/codex-aisphg45 succeeded in 8ms:
        },
        {
          "end_pc": 8027,
          "hash": "0x8bc5e8c5e7afdbdd040937f38fc3f16b12fdb7973d7a9711729e7beb203b2c39",
          "opcodes": [
            "STOP"
          ],
          "start_pc": 8027
        },
        {
          "end_pc": 8091,
          "hash": "0xa50f325bf7465a4446057d3a75b9ca7b03aa9f77c8d2362a3b3421c4c48af19e",
          "opcodes": [
            "GASLIMIT",
            "PUSH8",
            "PUSH22",
            "PUSH6",
            "PUSH22",
            "STOP"
          ],
exec
/bin/bash -lc "python - <<'PY'
import json
import re
from pathlib import Path
path = Path('BYTECODE_BUNDLE.json')
data = json.loads(path.read_text())
blocks = data['analysis_artifact']['artifact_json']['basic_blocks']
print('blocks', len(blocks))
# find blocks with CALL or CALLCODE
for b in blocks:
    ops = b.get('opcodes', [])
    if 'CALL' in ops or 'CALLCODE' in ops or 'DELEGATECALL' in ops:
        print('block', b['start_pc'], b['end_pc'], ops)
PY" in /tmp/codex-aisphg45 succeeded in 47ms:
blocks 384
block 3305 3315 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 4403 4413 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 4804 4853 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_90', 'OP_91', 'AND', 'OP_91', 'ADDRESS', 'BALANCE', 'OP_80', 'ISZERO', 'PUSH2', 'MUL', 'OP_92', 'OP_90', 'OP_91', 'OP_81', 'OP_81', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 5482 5518 ['PUSH1', 'MLOAD', 'CALLER', 'OP_90', 'CALLVALUE', 'OP_85', 'OP_90', 'SUB', 'OP_80', 'ISZERO', 'PUSH2', 'MUL', 'OP_91', 'PUSH1', 'OP_81', 'OP_81', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 5568 5591 ['JUMPDEST', 'PUSH1', 'MLOAD', 'OP_81', 'ISZERO', 'OP_90', 'OP_92', 'MUL', 'OP_91', 'PUSH1', 'OP_81', 'OP_81', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'POP', 'POP', 'POP', 'POP', 'POP']
block 5752 5762 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 7171 7181 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 7311 7321 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 7430 7440 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 7985 7995 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 8092 8133 ['OP_A1', 'PUSH6', 'SHA3', 'OP_85', 'LT', 'PUSH11', 'OP_B3', 'OP_BA', 'PUSH9', 'CALLCODE', 'MSIZE', 'OP_CC', 'BALANCE', 'SLT', 'OP_89', 'STOP']
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
import itertools

path = Path('BYTECODE_BUNDLE.json')
data = json.loads(path.read_text())
blocks = data['analysis_artifact']['artifact_json']['basic_blocks']
# map start_pc to block
for b in blocks:
    if 'SSTORE' in b.get('opcodes', []):
        print('SSTORE block', b['start_pc'], b['end_pc'], b['opcodes'])
PY" in /tmp/codex-aisphg45 succeeded in 47ms:
SSTORE block 1823 1827 ['JUMPDEST', 'PUSH1', 'SSTORE', 'JUMP']
SSTORE block 1938 1984 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 2193 2197 ['JUMPDEST', 'PUSH1', 'SSTORE', 'JUMP']
SSTORE block 2631 2701 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH21', 'NOT', 'AND', 'OP_81', 'SSTORE', 'PUSH1', 'MLOAD', 'PUSH32', 'OP_91', 'OP_90', 'OP_A1', 'JUMP']
SSTORE block 3065 3139 ['JUMPDEST', 'PUSH1', 'OP_83', 'OP_81', 'MSTORE', 'PUSH1', 'PUSH1', 'MSTORE', 'PUSH1', 'OP_80', 'OP_82', 'SHA3', 'OP_80', 'SLOAD', 'PUSH1', 'NOT', 'AND', 'PUSH1', 'OR', 'OP_90', 'SSTORE', 'MLOAD', 'OP_84', 'OP_91', 'PUSH32', 'OP_91', 'OP_A2', 'PUSH1', 'OP_90', 'OP_91', 'ADD', 'OP_90', 'PUSH2', 'JUMP']
SSTORE block 3435 3481 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 3567 3651 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_90', 'OP_91', 'AND', 'OP_91', 'PUSH32', 'OP_91', 'OP_A2', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 3941 4017 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH21', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'EXP', 'OR', 'OP_81', 'SSTORE', 'PUSH1', 'MLOAD', 'PUSH32', 'OP_91', 'OP_90', 'OP_A1', 'JUMP']
SSTORE block 5304 5379 ['JUMPDEST', 'OP_80', 'OP_85', 'SSTORE', 'TIMESTAMP', 'PUSH1', 'OP_86', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'PUSH1', 'OP_80', 'MLOAD', 'OP_92', 'OP_83', 'MSTORE', 'PUSH1', 'OP_83', 'ADD', 'OP_91', 'OP_90', 'OP_91', 'MSTORE', 'OP_80', 'MLOAD', 'OP_8A', 'OP_92', 'PUSH32', 'OP_92', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_90', 'OP_A2', 'PUSH2', 'JUMP']
SSTORE block 5380 5472 ['JUMPDEST', 'PUSH1', 'OP_88', 'OP_81', 'MSTORE', 'PUSH1', 'PUSH1', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'OP_80', 'OP_83', 'SHA3', 'OP_83', 'OP_81', 'SSTORE', 'PUSH1', 'ADD', 'OP_83', 'OP_90', 'SSTORE', 'PUSH1', 'OP_82', 'MSTORE', 'OP_91', 'OP_82', 'OP_90', 'SHA3', 'OP_80', 'SLOAD', 'PUSH1', 'NOT', 'AND', 'OP_90', 'SSTORE', 'OP_81', 'MLOAD', 'OP_85', 'OP_81', 'MSTORE', 'OP_91', 'MLOAD', 'OP_8A', 'OP_92', 'PUSH32', 'OP_92', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_90', 'OP_A2']
SSTORE block 5882 5928 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 6168 6249 ['JUMPDEST', 'OP_83', 'OP_81', 'SSTORE', 'TIMESTAMP', 'PUSH1', 'OP_82', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'PUSH1', 'OP_80', 'MLOAD', 'OP_86', 'OP_81', 'MSTORE', 'PUSH1', 'OP_81', 'ADD', 'OP_92', 'OP_90', 'OP_92', 'MSTORE', 'OP_80', 'MLOAD', 'OP_85', 'OP_92', 'PUSH32', 'OP_92', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_90', 'OP_A2', 'PUSH1', 'OP_90', 'OP_91', 'ADD', 'OP_90', 'PUSH2', 'JUMP']
SSTORE block 6345 6391 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 6605 6709 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_91', 'OP_82', 'AND', 'OP_92', 'OP_91', 'OP_84', 'AND', 'OP_91', 'PUSH32', 'OP_91', 'OP_A3', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP']
SSTORE block 6983 7057 ['JUMPDEST', 'PUSH1', 'OP_82', 'OP_81', 'MSTORE', 'PUSH1', 'PUSH1', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'OP_91', 'OP_82', 'OP_90', 'SHA3', 'OP_83', 'OP_90', 'SSTORE', 'OP_81', 'MLOAD', 'OP_83', 'OP_81', 'MSTORE', 'OP_91', 'MLOAD', 'OP_84', 'OP_92', 'PUSH32', 'OP_92', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_90', 'OP_A2', 'POP', 'POP', 'JUMP']
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
blocks = data['analysis_artifact']['artifact_json']['basic_blocks']
# map id by start_pc
start_to_id = {}
for b in blocks:
    if 'start_pc' in b:
        start_to_id[b['start_pc']] = f\"bb:{b['start_pc']}\"
# find bb id for 8092
bbid = start_to_id.get(8092)
print('bbid', bbid)
# check cfg edges to it
edges = data['analysis_artifact']['artifact_json']['cfg_edges']
inc = [e for e in edges if e['to'] == bbid]
print('incoming edges', len(inc))
if inc:
    print(inc[:10])
PY" in /tmp/codex-aisphg45 succeeded in 45ms:
bbid bb:8092
incoming edges 0
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
print(data.keys())
PY" in /tmp/codex-aisphg45 succeeded in 35ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
for k in ['analysis_run','artifact','capability_graph']:
    print('==', k)
    if k in data:
        if isinstance(data[k], dict):
            print(list(data[k].keys())[:20])
        else:
            print(type(data[k]))
PY" in /tmp/codex-aisphg45 succeeded in 35ms:
== analysis_run
['address', 'block_number', 'chain_id', 'child_links', 'created_at', 'id', 'parent_links', 'status', 'updated_at']
== artifact
['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source']
== capability_graph
['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version']
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
 cg = data['capability_graph']['graph_json']
print(cg.keys())
print('functions', len(cg.get('functions', [])))
print('callsites', len(cg.get('callsites', [])))
print('storage slots', len(cg.get('storage', {}).get('slots', [])))
PY" in /tmp/codex-aisphg45 exited 1 in 27ms:
  File "<stdin>", line 5
    cg = data['capability_graph']['graph_json']
IndentationError: unexpected indent
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cg = data['capability_graph']['graph_json']
print(cg.keys())
print('functions', len(cg.get('functions', [])))
print('callsites', len(cg.get('callsites', [])))
print('storage slots', len(cg.get('storage', {}).get('slots', [])))
PY" in /tmp/codex-aisphg45 succeeded in 83ms:
dict_keys(['edges', 'nodes', 'version'])
functions 0
callsites 0
storage slots 0
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
callsites = data['analysis_artifact']['artifact_json']['callsites']
for cs in callsites:
    print(cs)
PY" in /tmp/codex-aisphg45 succeeded in 38ms:
{'opcode': 'CALL', 'pc': 3308, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 4406, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 4841, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 5506, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 5586, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 5755, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 7174, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 7314, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 7433, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 7988, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALLCODE', 'pc': 8127, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
blocks = data['analysis_artifact']['artifact_json']['basic_blocks']
for b in blocks:
    ops = b.get('opcodes', [])
    if 'CALLER' in ops and 'EQ' in ops:
        print('block', b['start_pc'], b['end_pc'], ops)
PY" in /tmp/codex-aisphg45 succeeded in 46ms:
block 454 468 ['POP', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ']
block 1589 1607 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 1743 1761 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 1858 1876 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 1985 2003 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 2452 2470 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 2707 2730 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'OP_81', 'OP_90', 'OP_81', 'OP_90', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 3163 3181 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 3487 3505 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 3763 3781 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 4155 4167 ['POP', 'CALLER', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_84', 'AND', 'EQ']
block 4724 4742 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 5179 5201 ['JUMPDEST', 'OP_91', 'POP', 'PUSH1', 'OP_90', 'POP', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_87', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 5610 5628 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 5934 5957 ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'OP_81', 'OP_90', 'OP_81', 'OP_90', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 6265 6283 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
block 6392 6410 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
blocks = data['analysis_artifact']['artifact_json']['basic_blocks']
edges = data['analysis_artifact']['artifact_json']['cfg_edges']
# map bb id to block
id_to_block = {}
for b in blocks:
    if 'start_pc' in b:
        id_to_block[f\"bb:{b['start_pc']}\"] = b

# list call blocks
call_blocks = [b for b in blocks if 'CALL' in b.get('opcodes', [])]

# function to get preds
from collections import defaultdict
preds = defaultdict(list)
for e in edges:
    preds[e['to']].append(e['from'])

for b in call_blocks:
    bbid = f\"bb:{b['start_pc']}\"
    p = preds.get(bbid, [])
    print('call block', b['start_pc'], 'preds', [int(x.split(':')[1]) for x in p])
    for pid in p:
        pb = id_to_block.get(pid)
        if pb and 'CALLER' in pb.get('opcodes', []) and 'EQ' in pb.get('opcodes', []):
            print('  pred has CALLER EQ', pb['start_pc'])
PY" in /tmp/codex-aisphg45 succeeded in 48ms:
call block 3305 preds [3243]
call block 4403 preds [4292]
call block 4804 preds [4724]
  pred has CALLER EQ 4724
call block 5482 preds [5473]
call block 5568 preds []
call block 5752 preds [5690]
call block 7171 preds [7068]
call block 7311 preds [7213]
call block 7430 preds [7353]
call block 7985 preds [7878]
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

data = json.loads(Path('BYTECODE_BUNDLE.json').read_text())
blocks = {b['start_pc']: b for b in data['analysis_artifact']['artifact_json']['basic_blocks'] if 'start_pc' in b}
# call blocks and their preds
edges = data['analysis_artifact']['artifact_json']['cfg_edges']
from collections import defaultdict
preds = defaultdict(list)
for e in edges:
    preds[e['to']].append(e['from'])

call_block_starts = [b['start_pc'] for b in data['analysis_artifact']['artifact_json']['basic_blocks'] if 'CALL' in b.get('opcodes', [])]
for start in call_block_starts:
    bbid = f\"bb:{start}\"
    p = preds.get(bbid, [])
    print('\\ncall block', start)
    for pid in p:
        pstart = int(pid.split(':')[1])
        pb = blocks.get(pstart)
        print(' pred', pstart, pb.get('opcodes'))
PY" in /tmp/codex-aisphg45 succeeded in 41ms:

call block 3305
 pred 3243 ['JUMPDEST', 'OP_80', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'PUSH4', 'PUSH1', 'MLOAD', 'OP_81', 'PUSH4', 'AND', 'PUSH1', 'PUSH1', 'EXP', 'MUL', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'PUSH1', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']

call block 4403
 pred 4292 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_88', 'OP_81', 'AND', 'PUSH1', 'OP_83', 'ADD', 'MSTORE', 'PUSH1', 'PUSH1', 'OP_83', 'ADD', 'MSTORE', 'OP_91', 'MLOAD', 'OP_91', 'OP_90', 'OP_92', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_83', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'PUSH1', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']

call block 4804
 pred 4724 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI']

call block 5482
 pred 5473 ['JUMPDEST', 'OP_82', 'CALLVALUE', 'GT', 'ISZERO', 'PUSH2', 'JUMPI']

call block 5568

call block 5752
 pred 5690 ['JUMPDEST', 'OP_80', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'PUSH4', 'PUSH1', 'MLOAD', 'OP_81', 'PUSH4', 'AND', 'PUSH1', 'PUSH1', 'EXP', 'MUL', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'PUSH1', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']

call block 7171
 pred 7068 ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'OP_90', 'MLOAD', 'PUSH1', 'OP_92', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'OP_83', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_83', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'OP_89', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
exec
/bin/bash -lc "python - <<'PY'
print(hex(8127))
print(hex(3308))
print(hex(4406))
print(hex(4841))
print(hex(5506))
print(hex(5586))
print(hex(5755))
print(hex(7174))
print(hex(7314))
print(hex(7433))
print(hex(7988))
PY" in /tmp/codex-aisphg45 succeeded in 45ms:
0x1fbf
0xcec
0x1136
0x12e9
0x1582
0x15d2
0x167b
0x1c06
0x1c92
0x1d09
0x1f34
codex
{"no_findings":false,"summary":"Bytecode shows multiple CALLs with computed target/value (including ETH value transfers) and a CALLCODE instruction in an apparently unreachable tail section; access control and reentrancy protections are unclear from bytecode-only analysis.","findings":[{"severity":"medium","category":"other","title":"Potentially user-influenced external CALLs with ETH value","exploit_scenario":"If any externally callable function allows a user to influence the call target and/or value (via calldata or mutable storage), an attacker could force the contract to call arbitrary contracts or transfer ETH, potentially triggering reentrancy or unintended fund movements. This is uncertain because a validation trace observed a constant target (self) for one path, but the bytecode analysis still classifies these callsites as computed-target/value with no detected guards.","recommendation":"Confirm which functions reach these CALL sites and enforce strict access control or target allowlists. If user input affects target/value, add validation and consider reentrancy protection around value-bearing calls. Ensure call success is checked and failures revert consistently.","evidence":"detector_findings[0]/[1] report 11 CALL sites with computed target/value and no guards detected; callsites list shows CALL at pcs 3308, 4406, 4841, 5506, 5586, 5755, 7174, 7314, 7433, 7988. Validation trace notes constant_target=self but not confirmed, so exposure is uncertain.","locations":["pc:0xcec","pc:0x1136","pc:0x12e9","pc:0x1582","pc:0x15d2","pc:0x167b","pc:0x1c06","pc:0x1c92","pc:0x1d09","pc:0x1f34"]},{"severity":"low","category":"other","title":"CALLCODE present in unreachable tail code (if reachable, executes in caller storage)","exploit_scenario":"If control flow could reach the CALLCODE at pc 8127, a computed target would execute in the caller’s storage context, enabling arbitrary storage writes and fund theft. CFG shows no incoming edges to the CALLCODE block, suggesting it is likely unreachable metadata, but reachability is uncertain in bytecode-only analysis.","recommendation":"Verify the tail section is truly unreachable. If any path can reach it, remove the CALLCODE or replace with safer patterns under strict access control.","evidence":"Basic block at start_pc 8092 contains CALLCODE with computed target/value (callsites list: pc 8127). CFG has zero incoming edges to bb:8092, indicating likely unreachable code.","locations":["pc:0x1fbf"]}]}
tokens used
54,545
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T14:32:06.562537+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 16272,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows multiple CALLs with computed target/value (including ETH value transfers) and a CALLCODE instruction in an apparently unreachable tail section; access control and reentrancy protections are unclear from bytecode-only analysis.",
    "raw_final": {
        "summary": "Bytecode shows multiple CALLs with computed target/value (including ETH value transfers) and a CALLCODE instruction in an apparently unreachable tail section; access control and reentrancy protections are unclear from bytecode-only analysis.",
        "findings": [
            {
                "title": "Potentially user-influenced external CALLs with ETH value",
                "category": "other",
                "evidence": "detector_findings[0]/[1] report 11 CALL sites with computed target/value and no guards detected; callsites list shows CALL at pcs 3308, 4406, 4841, 5506, 5586, 5755, 7174, 7314, 7433, 7988. Validation trace notes constant_target=self but not confirmed, so exposure is uncertain.",
                "severity": "medium",
                "locations": [
                    "pc:0xcec",
                    "pc:0x1136",
                    "pc:0x12e9",
                    "pc:0x1582",
                    "pc:0x15d2",
                    "pc:0x167b",
                    "pc:0x1c06",
                    "pc:0x1c92",
                    "pc:0x1d09",
                    "pc:0x1f34"
                ],
                "recommendation": "Confirm which functions reach these CALL sites and enforce strict access control or target allowlists. If user input affects target/value, add validation and consider reentrancy protection around value-bearing calls. Ensure call success is checked and failures revert consistently.",
                "exploit_scenario": "If any externally callable function allows a user to influence the call target and/or value (via calldata or mutable storage), an attacker could force the contract to call arbitrary contracts or transfer ETH, potentially triggering reentrancy or unintended fund movements. This is uncertain because a validation trace observed a constant target (self) for one path, but the bytecode analysis still classifies these callsites as computed-target/value with no detected guards."
            },
            {
                "title": "CALLCODE present in unreachable tail code (if reachable, executes in caller storage)",
                "category": "other",
                "evidence": "Basic block at start_pc 8092 contains CALLCODE with computed target/value (callsites list: pc 8127). CFG has zero incoming edges to bb:8092, indicating likely unreachable code.",
                "severity": "low",
                "locations": [
                    "pc:0x1fbf"
                ],
                "recommendation": "Verify the tail section is truly unreachable. If any path can reach it, remove the CALLCODE or replace with safer patterns under strict access control.",
                "exploit_scenario": "If control flow could reach the CALLCODE at pc 8127, a computed target would execute in the caller\u2019s storage context, enabling arbitrary storage writes and fund theft. CFG shows no incoming edges to the CALLCODE block, suggesting it is likely unreachable metadata, but reachability is uncertain in bytecode-only analysis."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
11
EXT*/BALANCE
9
Total opcodes
4795
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01be
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH1 0xe0
00000014: PUSH1 0x02
00000016: EXP
00000017: PUSH1 0x00
00000019: CALLDATALOAD
0000001a: DIV
0000001b: AND
0000001c: PUSH4 0x0bfd3439
00000021: DUP2
00000022: EQ
00000023: PUSH2 0x0253
00000026: JUMPI
00000027: DUP1
00000028: PUSH4 0x17449224
0000002d: EQ
0000002e: PUSH2 0x027a
00000031: JUMPI
00000032: DUP1
00000033: PUSH4 0x197f4ba0
00000038: EQ
00000039: PUSH2 0x02a1
0000003c: JUMPI
0000003d: DUP1
0000003e: PUSH4 0x1bc84a94
00000043: EQ
00000044: PUSH2 0x02b9
00000047: JUMPI
00000048: DUP1
00000049: PUSH4 0x1bff28cb
0000004e: EQ
0000004f: PUSH2 0x02ea
00000052: JUMPI
00000053: DUP1
00000054: PUSH4 0x1e7bef65
00000059: EQ
0000005a: PUSH2 0x02ff
0000005d: JUMPI
0000005e: DUP1
0000005f: PUSH4 0x203d4f20
00000064: EQ
00000065: PUSH2 0x0320
00000068: JUMPI
00000069: DUP1
0000006a: PUSH4 0x28ec06aa
0000006f: EQ
00000070: PUSH2 0x0338
00000073: JUMPI
00000074: DUP1
00000075: PUSH4 0x29b3d523
0000007a: EQ
0000007b: PUSH2 0x0350
0000007e: JUMPI
0000007f: DUP1
00000080: PUSH4 0x2f181be2
00000085: EQ
00000086: PUSH2 0x037c
00000089: JUMPI
0000008a: DUP1
0000008b: PUSH4 0x34d17861
00000090: EQ
00000091: PUSH2 0x0391
00000094: JUMPI
00000095: DUP1
00000096: PUSH4 0x37554982
0000009b: EQ
0000009c: PUSH2 0x03a6
0000009f: JUMPI
000000a0: DUP1
000000a1: PUSH4 0x3f4ba83a
000000a6: EQ
000000a7: PUSH2 0x03d7
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x4868cd5a
000000b1: EQ
000000b2: PUSH2 0x03ec
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x5165a8d4
000000bc: EQ
000000bd: PUSH2 0x0391
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0x5513bb7d
000000c7: EQ
000000c8: PUSH2 0x0401
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x5c975abb
000000d2: EQ
000000d3: PUSH2 0x0421
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0x6c2e6478
000000dd: EQ
000000de: PUSH2 0x0436
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x6e30f640
000000e8: EQ
000000e9: PUSH2 0x0457
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x715018a6
000000f3: EQ
000000f4: PUSH2 0x046c
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x75eb8825
000000fe: EQ
000000ff: PUSH2 0x0481
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x8456cb59
00000109: EQ
0000010a: PUSH2 0x0499
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x8da5cb5b
00000114: EQ
00000115: PUSH2 0x04ae
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x8f4ffcb1
0000011f: EQ
00000120: PUSH2 0x04c3
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x965a8a0f
0000012a: EQ
0000012b: PUSH2 0x04fb
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x9e6d239a
00000135: EQ
00000136: PUSH2 0x0510
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x9f727c27
00000140: EQ
00000141: PUSH2 0x0528
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0xa5524e11
0000014b: EQ
0000014c: PUSH2 0x053d
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0xae161f4e
00000156: EQ
00000157: PUSH2 0x0554
0000015a: JUMPI
0000015b: DUP1
0000015c: PUSH4 0xb6432fa3
00000161: EQ
00000162: PUSH2 0x037c
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0xc1856aad
0000016c: EQ
0000016d: PUSH2 0x0569
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0xd0bc7e56
00000177: EQ
00000178: PUSH2 0x058a
0000017b: JUMPI
0000017c: DUP1
0000017d: PUSH4 0xd7941474
00000182: EQ
00000183: PUSH2 0x059f
00000186: JUMPI
00000187: DUP1
00000188: PUSH4 0xdcb177c2
0000018d: EQ
0000018e: PUSH2 0x05c3
00000191: JUMPI
00000192: DUP1
00000193: PUSH4 0xdd6eff87
00000198: EQ
00000199: PUSH2 0x05d8
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH4 0xed8248d7
000001a3: EQ
000001a4: PUSH2 0x0391
000001a7: JUMPI
000001a8: DUP1
000001a9: PUSH4 0xf2fde38b
000001ae: EQ
000001af: PUSH2 0x05f9
000001b2: JUMPI
000001b3: DUP1
000001b4: PUSH4 0xf6a56281
000001b9: EQ
000001ba: PUSH2 0x061a
000001bd: JUMPI
000001be: JUMPDEST
000001bf: CALLVALUE
000001c0: ISZERO
000001c1: DUP1
000001c2: PUSH2 0x01d5
000001c5: JUMPI
000001c6: POP
000001c7: PUSH1 0x00
000001c9: SLOAD
000001ca: PUSH1 0x01
000001cc: PUSH1 0xa0
000001ce: PUSH1 0x02
000001d0: EXP
000001d1: SUB
000001d2: AND
000001d3: CALLER
000001d4: EQ
000001d5: JUMPDEST
000001d6: ISZERO
000001d7: ISZERO
000001d8: PUSH2 0x0251
000001db: JUMPI
000001dc: PUSH1 0x40
000001de: DUP1
000001df: MLOAD
000001e0: PUSH1 0xe5
000001e2: PUSH1 0x02
000001e4: EXP
000001e5: PUSH3 0x461bcd
000001e9: MUL
000001ea: DUP2
000001eb: MSTORE
000001ec: PUSH1 0x20
000001ee: PUSH1 0x04
000001f0: DUP3
000001f1: ADD
000001f2: MSTORE
000001f3: PUSH1 0x34
000001f5: PUSH1 0x24
000001f7: DUP3
000001f8: ADD
000001f9: MSTORE
000001fa: PUSH32 0x4e6f2045746865722069732061636365707465642066726f6d206f6e6573206f
0000021b: PUSH1 0x44
0000021d: DUP3
0000021e: ADD
0000021f: MSTORE
00000220: PUSH32 0x74686572207468616e20746865206f776e65722e000000000000000000000000
00000241: PUSH1 0x64
00000243: DUP3
00000244: ADD
00000245: MSTORE
00000246: SWAP1
00000247: MLOAD
00000248: SWAP1
00000249: DUP2
0000024a: SWAP1
0000024b: SUB
0000024c: PUSH1 0x84
0000024e: ADD
0000024f: SWAP1
00000250: REVERT
00000251: JUMPDEST
00000252: STOP
00000253: JUMPDEST
00000254: CALLVALUE
00000255: DUP1
00000256: ISZERO
00000257: PUSH2 0x025f
0000025a: JUMPI
0000025b: PUSH1 0x00
0000025d: DUP1
0000025e: REVERT
0000025f: JUMPDEST
00000260: POP
00000261: PUSH2 0x0268
00000264: PUSH2 0x062f
00000267: JUMP
00000268: JUMPDEST
00000269: PUSH1 0x40
0000026b: DUP1
0000026c: MLOAD
0000026d: SWAP2
0000026e: DUP3
0000026f: MSTORE
00000270: MLOAD
00000271: SWAP1
00000272: DUP2
00000273: SWAP1
00000274: SUB
00000275: PUSH1 0x20
00000277: ADD
00000278: SWAP1
00000279: RETURN
0000027a: JUMPDEST
0000027b: CALLVALUE
0000027c: DUP1
0000027d: ISZERO
0000027e: PUSH2 0x0286
00000281: JUMPI
00000282: PUSH1 0x00
00000284: DUP1
00000285: REVERT
00000286: JUMPDEST
00000287: POP
00000288: PUSH2 0x0251
0000028b: PUSH1 0x04
0000028d: CALLDATALOAD
0000028e: PUSH1 0x24
00000290: CALLDATALOAD
00000291: PUSH1 0x44
00000293: CALLDATALOAD
00000294: PUSH1 0x64
00000296: CALLDATALOAD
00000297: PUSH1 0x84
00000299: CALLDATALOAD
0000029a: PUSH1 0xa4
0000029c: CALLDATALOAD
0000029d: PUSH2 0x0635
000002a0: JUMP
000002a1: JUMPDEST
000002a2: CALLVALUE
000002a3: DUP1
000002a4: ISZERO
000002a5: PUSH2 0x02ad
000002a8: JUMPI
000002a9: PUSH1 0x00
000002ab: DUP1
000002ac: REVERT
000002ad: JUMPDEST
000002ae: POP
000002af: PUSH2 0x0251
000002b2: PUSH1 0x04
000002b4: CALLDATALOAD
000002b5: PUSH2 0x06cf
000002b8: JUMP
000002b9: JUMPDEST
000002ba: CALLVALUE
000002bb: DUP1
000002bc: ISZERO
000002bd: PUSH2 0x02c5
000002c0: JUMPI
000002c1: PUSH1 0x00
000002c3: DUP1
000002c4: REVERT
000002c5: JUMPDEST
000002c6: POP
000002c7: PUSH2 0x02ce
000002ca: PUSH2 0x0724
000002cd: JUMP
000002ce: JUMPDEST
000002cf: PUSH1 0x40
000002d1: DUP1
000002d2: MLOAD
000002d3: PUSH1 0x01
000002d5: PUSH1 0xa0
000002d7: PUSH1 0x02
000002d9: EXP
000002da: SUB
000002db: SWAP1
000002dc: SWAP3
000002dd: AND
000002de: DUP3
000002df: MSTORE
000002e0: MLOAD
000002e1: SWAP1
000002e2: DUP2
000002e3: SWAP1
000002e4: SUB
000002e5: PUSH1 0x20
000002e7: ADD
000002e8: SWAP1
000002e9: RETURN
000002ea: JUMPDEST
000002eb: CALLVALUE
000002ec: DUP1
000002ed: ISZERO
000002ee: PUSH2 0x02f6
000002f1: JUMPI
000002f2: PUSH1 0x00
000002f4: DUP1
000002f5: REVERT
000002f6: JUMPDEST
000002f7: POP
000002f8: PUSH2 0x02ce
000002fb: PUSH2 0x0733
000002fe: JUMP
000002ff: JUMPDEST
00000300: CALLVALUE
00000301: DUP1
00000302: ISZERO
00000303: PUSH2 0x030b
00000306: JUMPI
00000307: PUSH1 0x00
00000309: DUP1
0000030a: REVERT
0000030b: JUMPDEST
0000030c: POP
0000030d: PUSH2 0x0251
00000310: PUSH1 0x01
00000312: PUSH1 0xa0
00000314: PUSH1 0x02
00000316: EXP
00000317: SUB
00000318: PUSH1 0x04
0000031a: CALLDATALOAD
0000031b: AND
0000031c: PUSH2 0x0742
0000031f: JUMP
00000320: JUMPDEST
00000321: CALLVALUE
00000322: DUP1
00000323: ISZERO
00000324: PUSH2 0x032c
00000327: JUMPI
00000328: PUSH1 0x00
0000032a: DUP1
0000032b: REVERT
0000032c: JUMPDEST
0000032d: POP
0000032e: PUSH2 0x0251
00000331: PUSH1 0x04
00000333: CALLDATALOAD
00000334: PUSH2 0x07c1
00000337: JUMP
00000338: JUMPDEST
00000339: CALLVALUE
0000033a: DUP1
0000033b: ISZERO
0000033c: PUSH2 0x0344
0000033f: JUMPI
00000340: PUSH1 0x00
00000342: DUP1
00000343: REVERT
00000344: JUMPDEST
00000345: POP
00000346: PUSH2 0x0268
00000349: PUSH1 0x04
0000034b: CALLDATALOAD
0000034c: PUSH2 0x0896
0000034f: JUMP
00000350: JUMPDEST
00000351: CALLVALUE
00000352: DUP1
00000353: ISZERO
00000354: PUSH2 0x035c
00000357: JUMPI
00000358: PUSH1 0x00
0000035a: DUP1
0000035b: REVERT
0000035c: JUMPDEST
0000035d: POP
0000035e: PUSH2 0x0368
00000361: PUSH1 0x04
00000363: CALLDATALOAD
00000364: PUSH2 0x095c
00000367: JUMP
00000368: JUMPDEST
00000369: PUSH1 0x40
0000036b: DUP1
0000036c: MLOAD
0000036d: SWAP2
0000036e: ISZERO
0000036f: ISZERO
00000370: DUP3
00000371: MSTORE
00000372: MLOAD
00000373: SWAP1
00000374: DUP2
00000375: SWAP1
00000376: SUB
00000377: PUSH1 0x20
00000379: ADD
0000037a: SWAP1
0000037b: RETURN
0000037c: JUMPDEST
0000037d: CALLVALUE
0000037e: DUP1
0000037f: ISZERO
00000380: PUSH2 0x0388
00000383: JUMPI
00000384: PUSH1 0x00
00000386: DUP1
00000387: REVERT
00000388: JUMPDEST
00000389: POP
0000038a: PUSH2 0x0268
0000038d: PUSH2 0x0971
00000390: JUMP
00000391: JUMPDEST
00000392: CALLVALUE
00000393: DUP1
00000394: ISZERO
00000395: PUSH2 0x039d
00000398: JUMPI
00000399: PUSH1 0x00
0000039b: DUP1
0000039c: REVERT
0000039d: JUMPDEST
0000039e: POP
0000039f: PUSH2 0x0268
000003a2: PUSH2 0x0976
000003a5: JUMP
000003a6: JUMPDEST
000003a7: CALLVALUE
000003a8: DUP1
000003a9: ISZERO
000003aa: PUSH2 0x03b2
000003ad: JUMPI
000003ae: PUSH1 0x00
000003b0: DUP1
000003b1: REVERT
000003b2: JUMPDEST
000003b3: POP
000003b4: PUSH2 0x03be
000003b7: PUSH1 0x04
000003b9: CALLDATALOAD
000003ba: PUSH2 0x097b
000003bd: JUMP
000003be: JUMPDEST
000003bf: PUSH1 0x40
000003c1: DUP1
000003c2: MLOAD
000003c3: SWAP3
000003c4: DUP4
000003c5: MSTORE
000003c6: PUSH1 0x20
000003c8: DUP4
000003c9: ADD
000003ca: SWAP2
000003cb: SWAP1
000003cc: SWAP2
000003cd: MSTORE
000003ce: DUP1
000003cf: MLOAD
000003d0: SWAP2
000003d1: DUP3
000003d2: SWAP1
000003d3: SUB
000003d4: ADD
000003d5: SWAP1
000003d6: RETURN
000003d7: JUMPDEST
000003d8: CALLVALUE
000003d9: DUP1
000003da: ISZERO
000003db: PUSH2 0x03e3
000003de: JUMPI
000003df: PUSH1 0x00
000003e1: DUP1
000003e2: REVERT
000003e3: JUMPDEST
000003e4: POP
000003e5: PUSH2 0x0251
000003e8: PUSH2 0x0994
000003eb: JUMP
000003ec: JUMPDEST
000003ed: CALLVALUE
000003ee: DUP1
000003ef: ISZERO
000003f0: PUSH2 0x03f8
000003f3: JUMPI
000003f4: PUSH1 0x00
000003f6: DUP1
000003f7: REVERT
000003f8: JUMPDEST
000003f9: POP
000003fa: PUSH2 0x0268
000003fd: PUSH2 0x0a8e
00000400: JUMP
00000401: JUMPDEST
00000402: CALLVALUE
00000403: DUP1
00000404: ISZERO
00000405: PUSH2 0x040d
00000408: JUMPI
00000409: PUSH1 0x00
0000040b: DUP1
0000040c: REVERT
0000040d: JUMPDEST
0000040e: POP
0000040f: PUSH2 0x0251
00000412: PUSH1 0x04
00000414: DUP1
00000415: CALLDATALOAD
00000416: PUSH1 0x24
00000418: DUP2
00000419: ADD
0000041a: SWAP2
0000041b: ADD
0000041c: CALLDATALOAD
0000041d: PUSH2 0x0a93
00000420: JUMP
00000421: JUMPDEST
00000422: CALLVALUE
00000423: DUP1
00000424: ISZERO
00000425: PUSH2 0x042d
00000428: JUMPI
00000429: PUSH1 0x00
0000042b: DUP1
0000042c: REVERT
0000042d: JUMPDEST
0000042e: POP
0000042f: PUSH2 0x0368
00000432: PUSH2 0x0c4b
00000435: JUMP
00000436: JUMPDEST
00000437: CALLVALUE
00000438: DUP1
00000439: ISZERO
0000043a: PUSH2 0x0442
0000043d: JUMPI
0000043e: PUSH1 0x00
00000440: DUP1
00000441: REVERT
00000442: JUMPDEST
00000443: POP
00000444: PUSH2 0x0251
00000447: PUSH1 0x01
00000449: PUSH1 0xa0
0000044b: PUSH1 0x02
0000044d: EXP
0000044e: SUB
0000044f: PUSH1 0x04
00000451: CALLDATALOAD
00000452: AND
00000453: PUSH2 0x0c5b
00000456: JUMP
00000457: JUMPDEST
00000458: CALLVALUE
00000459: DUP1
0000045a: ISZERO
0000045b: PUSH2 0x0463
0000045e: JUMPI
0000045f: PUSH1 0x00
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: POP
00000465: PUSH2 0x0268
00000468: PUSH2 0x0d9a
0000046b: JUMP
0000046c: JUMPDEST
0000046d: CALLVALUE
0000046e: DUP1
0000046f: ISZERO
00000470: PUSH2 0x0478
00000473: JUMPI
00000474: PUSH1 0x00
00000476: DUP1
00000477: REVERT
00000478: JUMPDEST
00000479: POP
0000047a: PUSH2 0x0251
0000047d: PUSH2 0x0d9f
00000480: JUMP
00000481: JUMPDEST
00000482: CALLVALUE
00000483: DUP1
00000484: ISZERO
00000485: PUSH2 0x048d
00000488: JUMPI
00000489: PUSH1 0x00
0000048b: DUP1
0000048c: REVERT
0000048d: JUMPDEST
0000048e: POP
0000048f: PUSH2 0x03be
00000492: PUSH1 0x04
00000494: CALLDATALOAD
00000495: PUSH2 0x0e44
00000498: JUMP
00000499: JUMPDEST
0000049a: CALLVALUE
0000049b: DUP1
0000049c: ISZERO
0000049d: PUSH2 0x04a5
000004a0: JUMPI
000004a1: PUSH1 0x00
000004a3: DUP1
000004a4: REVERT
000004a5: JUMPDEST
000004a6: POP
000004a7: PUSH2 0x0251
000004aa: PUSH2 0x0eb3
000004ad: JUMP
000004ae: JUMPDEST
000004af: CALLVALUE
000004b0: DUP1
000004b1: ISZERO
000004b2: PUSH2 0x04ba
000004b5: JUMPI
000004b6: PUSH1 0x00
000004b8: DUP1
000004b9: REVERT
000004ba: JUMPDEST
000004bb: POP
000004bc: PUSH2 0x02ce
000004bf: PUSH2 0x0fb2
000004c2: JUMP
000004c3: JUMPDEST
000004c4: CALLVALUE
000004c5: DUP1
000004c6: ISZERO
000004c7: PUSH2 0x04cf
000004ca: JUMPI
000004cb: PUSH1 0x00
000004cd: DUP1
000004ce: REVERT
000004cf: JUMPDEST
000004d0: POP
000004d1: PUSH2 0x0251
000004d4: PUSH1 0x04
000004d6: DUP1
000004d7: CALLDATALOAD
000004d8: PUSH1 0x01
000004da: PUSH1 0xa0
000004dc: PUSH1 0x02
000004de: EXP
000004df: SUB
000004e0: SWAP1
000004e1: DUP2
000004e2: AND
000004e3: SWAP2
000004e4: PUSH1 0x24
000004e6: DUP1
000004e7: CALLDATALOAD
000004e8: SWAP3
000004e9: PUSH1 0x44
000004eb: CALLDATALOAD
000004ec: AND
000004ed: SWAP2
000004ee: PUSH1 0x64
000004f0: CALLDATALOAD
000004f1: SWAP2
000004f2: DUP3
000004f3: ADD
000004f4: SWAP2
000004f5: ADD
000004f6: CALLDATALOAD
000004f7: PUSH2 0x0fc1
000004fa: JUMP
000004fb: JUMPDEST
000004fc: CALLVALUE
000004fd: DUP1
000004fe: ISZERO
000004ff: PUSH2 0x0507
00000502: JUMPI
00000503: PUSH1 0x00
00000505: DUP1
00000506: REVERT
00000507: JUMPDEST
00000508: POP
00000509: PUSH2 0x02ce
0000050c: PUSH2 0x11fa
0000050f: JUMP
00000510: JUMPDEST
00000511: CALLVALUE
00000512: DUP1
00000513: ISZERO
00000514: PUSH2 0x051c
00000517: JUMPI
00000518: PUSH1 0x00
0000051a: DUP1
0000051b: REVERT
0000051c: JUMPDEST
0000051d: POP
0000051e: PUSH2 0x0268
00000521: PUSH1 0x04
00000523: CALLDATALOAD
00000524: PUSH2 0x1209
00000527: JUMP
00000528: JUMPDEST
00000529: CALLVALUE
0000052a: DUP1
0000052b: ISZERO
0000052c: PUSH2 0x0534
0000052f: JUMPI
00000530: PUSH1 0x00
00000532: DUP1
00000533: REVERT
00000534: JUMPDEST
00000535: POP
00000536: PUSH2 0x0251
00000539: PUSH2 0x1274
0000053c: JUMP
0000053d: JUMPDEST
0000053e: PUSH2 0x03be
00000541: PUSH1 0x04
00000543: CALLDATALOAD
00000544: PUSH1 0x01
00000546: PUSH1 0xa0
00000548: PUSH1 0x02
0000054a: EXP
0000054b: SUB
0000054c: PUSH1 0x24
0000054e: CALLDATALOAD
0000054f: AND
00000550: PUSH2 0x1302
00000553: JUMP
00000554: JUMPDEST
00000555: CALLVALUE
00000556: DUP1
00000557: ISZERO
00000558: PUSH2 0x0560
0000055b: JUMPI
0000055c: PUSH1 0x00
0000055e: DUP1
0000055f: REVERT
00000560: JUMPDEST
00000561: POP
00000562: PUSH2 0x0268
00000565: PUSH2 0x15e4
00000568: JUMP
00000569: JUMPDEST
0000056a: CALLVALUE
0000056b: DUP1
0000056c: ISZERO
0000056d: PUSH2 0x0575
00000570: JUMPI
00000571: PUSH1 0x00
00000573: DUP1
00000574: REVERT
00000575: JUMPDEST
00000576: POP
00000577: PUSH2 0x0251
0000057a: PUSH1 0x01
0000057c: PUSH1 0xa0
0000057e: PUSH1 0x02
00000580: EXP
00000581: SUB
00000582: PUSH1 0x04
00000584: CALLDATALOAD
00000585: AND
00000586: PUSH2 0x15ea
00000589: JUMP
0000058a: JUMPDEST
0000058b: CALLVALUE
0000058c: DUP1
0000058d: ISZERO
0000058e: PUSH2 0x0596
00000591: JUMPI
00000592: PUSH1 0x00
00000594: DUP1
00000595: REVERT
00000596: JUMPDEST
00000597: POP
00000598: PUSH2 0x0268
0000059b: PUSH2 0x1729
0000059e: JUMP
0000059f: JUMPDEST
000005a0: CALLVALUE
000005a1: DUP1
000005a2: ISZERO
000005a3: PUSH2 0x05ab
000005a6: JUMPI
000005a7: PUSH1 0x00
000005a9: DUP1
000005aa: REVERT
000005ab: JUMPDEST
000005ac: POP
000005ad: PUSH2 0x0251
000005b0: PUSH1 0x24
000005b2: PUSH1 0x04
000005b4: DUP1
000005b5: CALLDATALOAD
000005b6: DUP3
000005b7: DUP2
000005b8: ADD
000005b9: SWAP3
000005ba: SWAP2
000005bb: ADD
000005bc: CALLDATALOAD
000005bd: SWAP1
000005be: CALLDATALOAD
000005bf: PUSH2 0x172e
000005c2: JUMP
000005c3: JUMPDEST
000005c4: CALLVALUE
000005c5: DUP1
000005c6: ISZERO
000005c7: PUSH2 0x05cf
000005ca: JUMPI
000005cb: PUSH1 0x00
000005cd: DUP1
000005ce: REVERT
000005cf: JUMPDEST
000005d0: POP
000005d1: PUSH2 0x02ce
000005d4: PUSH2 0x186a
000005d7: JUMP
000005d8: JUMPDEST
000005d9: CALLVALUE
000005da: DUP1
000005db: ISZERO
000005dc: PUSH2 0x05e4
000005df: JUMPI
000005e0: PUSH1 0x00
000005e2: DUP1
000005e3: REVERT
000005e4: JUMPDEST
000005e5: POP
000005e6: PUSH2 0x0251
000005e9: PUSH1 0x01
000005eb: PUSH1 0xa0
000005ed: PUSH1 0x02
000005ef: EXP
000005f0: SUB
000005f1: PUSH1 0x04
000005f3: CALLDATALOAD
000005f4: AND
000005f5: PUSH2 0x1879
000005f8: JUMP
000005f9: JUMPDEST
000005fa: CALLVALUE
000005fb: DUP1
000005fc: ISZERO
000005fd: PUSH2 0x0605
00000600: JUMPI
00000601: PUSH1 0x00
00000603: DUP1
00000604: REVERT
00000605: JUMPDEST
00000606: POP
00000607: PUSH2 0x0251
0000060a: PUSH1 0x01
0000060c: PUSH1 0xa0
0000060e: PUSH1 0x02
00000610: EXP
00000611: SUB
00000612: PUSH1 0x04
00000614: CALLDATALOAD
00000615: AND
00000616: PUSH2 0x18f8
00000619: JUMP
0000061a: JUMPDEST
0000061b: CALLVALUE
0000061c: DUP1
0000061d: ISZERO
0000061e: PUSH2 0x0626
00000621: JUMPI
00000622: PUSH1 0x00
00000624: DUP1
00000625: REVERT
00000626: JUMPDEST
00000627: POP
00000628: PUSH2 0x0268
0000062b: PUSH2 0x1a36
0000062e: JUMP
0000062f: JUMPDEST
00000630: PUSH1 0x2b
00000632: SLOAD
00000633: DUP2
00000634: JUMP
00000635: JUMPDEST
00000636: PUSH1 0x00
00000638: SLOAD
00000639: PUSH1 0x01
0000063b: PUSH1 0xa0
0000063d: PUSH1 0x02
0000063f: EXP
00000640: SUB
00000641: AND
00000642: CALLER
00000643: EQ
00000644: PUSH2 0x0685
00000647: JUMPI
00000648: PUSH1 0x40
0000064a: DUP1
0000064b: MLOAD
0000064c: PUSH1 0xe5
0000064e: PUSH1 0x02
00000650: EXP
00000651: PUSH3 0x461bcd
00000655: MUL
00000656: DUP2
00000657: MSTORE
00000658: PUSH1 0x20
0000065a: PUSH1 0x04
0000065c: DUP3
0000065d: ADD
0000065e: MSTORE
0000065f: PUSH1 0x15
00000661: PUSH1 0x24
00000663: DUP3
00000664: ADD
00000665: MSTORE
00000666: PUSH1 0x00
00000668: DUP1
00000669: MLOAD
0000066a: PUSH1 0x20
0000066c: PUSH2 0x1f7c
0000066f: DUP4
00000670: CODECOPY
00000671: DUP2
00000672: MLOAD
00000673: SWAP2
00000674: MSTORE
00000675: PUSH1 0x44
00000677: DUP3
00000678: ADD
00000679: MSTORE
0000067a: SWAP1
0000067b: MLOAD
0000067c: SWAP1
0000067d: DUP2
0000067e: SWAP1
0000067f: SUB
00000680: PUSH1 0x64
00000682: ADD
00000683: SWAP1
00000684: REVERT
00000685: JUMPDEST
00000686: PUSH2 0x0690
00000689: PUSH1 0x00
0000068b: DUP8
0000068c: PUSH2 0x1a3b
0000068f: JUMP
00000690: JUMPDEST
00000691: PUSH2 0x069b
00000694: PUSH1 0x01
00000696: DUP7
00000697: PUSH2 0x1a3b
0000069a: JUMP
0000069b: JUMPDEST
0000069c: PUSH2 0x06a6
0000069f: PUSH1 0x02
000006a1: DUP6
000006a2: PUSH2 0x1a3b
000006a5: JUMP
000006a6: JUMPDEST
000006a7: PUSH2 0x06b1
000006aa: PUSH1 0x03
000006ac: DUP5
000006ad: PUSH2 0x1a3b
000006b0: JUMP
000006b1: JUMPDEST
000006b2: PUSH2 0x06bc
000006b5: PUSH1 0x04
000006b7: DUP4
000006b8: PUSH2 0x1a3b
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH2 0x06c7
000006c0: PUSH1 0x05
000006c2: DUP3
000006c3: PUSH2 0x1a3b
000006c6: JUMP
000006c7: JUMPDEST
000006c8: POP
000006c9: POP
000006ca: POP
000006cb: POP
000006cc: POP
000006cd: POP
000006ce: JUMP
000006cf: JUMPDEST
000006d0: PUSH1 0x00
000006d2: SLOAD
000006d3: PUSH1 0x01
000006d5: PUSH1 0xa0
000006d7: PUSH1 0x02
000006d9: EXP
000006da: SUB
000006db: AND
000006dc: CALLER
000006dd: EQ
000006de: PUSH2 0x071f
000006e1: JUMPI
000006e2: PUSH1 0x40
000006e4: DUP1
000006e5: MLOAD
000006e6: PUSH1 0xe5
000006e8: PUSH1 0x02
000006ea: EXP
000006eb: PUSH3 0x461bcd
000006ef: MUL
000006f0: DUP2
000006f1: MSTORE
000006f2: PUSH1 0x20
000006f4: PUSH1 0x04
000006f6: DUP3
000006f7: ADD
000006f8: MSTORE
000006f9: PUSH1 0x15
000006fb: PUSH1 0x24
000006fd: DUP3
000006fe: ADD
000006ff: MSTORE
00000700: PUSH1 0x00
00000702: DUP1
00000703: MLOAD
00000704: PUSH1 0x20
00000706: PUSH2 0x1f7c
00000709: DUP4
0000070a: CODECOPY
0000070b: DUP2
0000070c: MLOAD
0000070d: SWAP2
0000070e: MSTORE
0000070f: PUSH1 0x44
00000711: DUP3
00000712: ADD
00000713: MSTORE
00000714: SWAP1
00000715: MLOAD
00000716: SWAP1
00000717: DUP2
00000718: SWAP1
00000719: SUB
0000071a: PUSH1 0x64
0000071c: ADD
0000071d: SWAP1
0000071e: REVERT
0000071f: JUMPDEST
00000720: PUSH1 0x03
00000722: SSTORE
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH1 0x01
00000727: SLOAD
00000728: PUSH1 0x01
0000072a: PUSH1 0xa0
0000072c: PUSH1 0x02
0000072e: EXP
0000072f: SUB
00000730: AND
00000731: DUP2
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x28
00000736: SLOAD
00000737: PUSH1 0x01
00000739: PUSH1 0xa0
0000073b: PUSH1 0x02
0000073d: EXP
0000073e: SUB
0000073f: AND
00000740: DUP2
00000741: JUMP
00000742: JUMPDEST
00000743: PUSH1 0x00
00000745: SLOAD
00000746: PUSH1 0x01
00000748: PUSH1 0xa0
0000074a: PUSH1 0x02
0000074c: EXP
0000074d: SUB
0000074e: AND
0000074f: CALLER
00000750: EQ
00000751: PUSH2 0x0792
00000754: JUMPI
00000755: PUSH1 0x40
00000757: DUP1
00000758: MLOAD
00000759: PUSH1 0xe5
0000075b: PUSH1 0x02
0000075d: EXP
0000075e: PUSH3 0x461bcd
00000762: MUL
00000763: DUP2
00000764: MSTORE
00000765: PUSH1 0x20
00000767: PUSH1 0x04
00000769: DUP3
0000076a: ADD
0000076b: MSTORE
0000076c: PUSH1 0x15
0000076e: PUSH1 0x24
00000770: DUP3
00000771: ADD
00000772: MSTORE
00000773: PUSH1 0x00
00000775: DUP1
00000776: MLOAD
00000777: PUSH1 0x20
00000779: PUSH2 0x1f7c
0000077c: DUP4
0000077d: CODECOPY
0000077e: DUP2
0000077f: MLOAD
00000780: SWAP2
00000781: MSTORE
00000782: PUSH1 0x44
00000784: DUP3
00000785: ADD
00000786: MSTORE
00000787: SWAP1
00000788: MLOAD
00000789: SWAP1
0000078a: DUP2
0000078b: SWAP1
0000078c: SUB
0000078d: PUSH1 0x64
0000078f: ADD
00000790: SWAP1
00000791: REVERT
00000792: JUMPDEST
00000793: PUSH1 0x26
00000795: DUP1
00000796: SLOAD
00000797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ac: NOT
000007ad: AND
000007ae: PUSH1 0x01
000007b0: PUSH1 0xa0
000007b2: PUSH1 0x02
000007b4: EXP
000007b5: SUB
000007b6: SWAP3
000007b7: SWAP1
000007b8: SWAP3
000007b9: AND
000007ba: SWAP2
000007bb: SWAP1
000007bc: SWAP2
000007bd: OR
000007be: SWAP1
000007bf: SSTORE
000007c0: JUMP
000007c1: JUMPDEST
000007c2: PUSH1 0x00
000007c4: SLOAD
000007c5: PUSH1 0x01
000007c7: PUSH1 0xa0
000007c9: PUSH1 0x02
000007cb: EXP
000007cc: SUB
000007cd: AND
000007ce: CALLER
000007cf: EQ
000007d0: PUSH2 0x0811
000007d3: JUMPI
000007d4: PUSH1 0x40
000007d6: DUP1
000007d7: MLOAD
000007d8: PUSH1 0xe5
000007da: PUSH1 0x02
000007dc: EXP
000007dd: PUSH3 0x461bcd
000007e1: MUL
000007e2: DUP2
000007e3: MSTORE
000007e4: PUSH1 0x20
000007e6: PUSH1 0x04
000007e8: DUP3
000007e9: ADD
000007ea: MSTORE
000007eb: PUSH1 0x15
000007ed: PUSH1 0x24
000007ef: DUP3
000007f0: ADD
000007f1: MSTORE
000007f2: PUSH1 0x00
000007f4: DUP1
000007f5: MLOAD
000007f6: PUSH1 0x20
000007f8: PUSH2 0x1f7c
000007fb: DUP4
000007fc: CODECOPY
000007fd: DUP2
000007fe: MLOAD
000007ff: SWAP2
00000800: MSTORE
00000801: PUSH1 0x44
00000803: DUP3
00000804: ADD
00000805: MSTORE
00000806: SWAP1
00000807: MLOAD
00000808: SWAP1
00000809: DUP2
0000080a: SWAP1
0000080b: SUB
0000080c: PUSH1 0x64
0000080e: ADD
0000080f: SWAP1
00000810: REVERT
00000811: JUMPDEST
00000812: PUSH2 0x2904
00000815: DUP2
00000816: LT
00000817: ISZERO
00000818: PUSH2 0x0891
0000081b: JUMPI
0000081c: PUSH1 0x40
0000081e: DUP1
0000081f: MLOAD
00000820: PUSH1 0xe5
00000822: PUSH1 0x02
00000824: EXP
00000825: PUSH3 0x461bcd
00000829: MUL
0000082a: DUP2
0000082b: MSTORE
0000082c: PUSH1 0x20
0000082e: PUSH1 0x04
00000830: DUP3
00000831: ADD
00000832: MSTORE
00000833: PUSH1 0x3b
00000835: PUSH1 0x24
00000837: DUP3
00000838: ADD
00000839: MSTORE
0000083a: PUSH32 0x546865206e657874206567672070726963652073686f756c6420626520617420
0000085b: PUSH1 0x44
0000085d: DUP3
0000085e: ADD
0000085f: MSTORE
00000860: PUSH32 0x6c656173742031303525206f66207468652070726576696f75732e0000000000
00000881: PUSH1 0x64
00000883: DUP3
00000884: ADD
00000885: MSTORE
00000886: SWAP1
00000887: MLOAD
00000888: SWAP1
00000889: DUP2
0000088a: SWAP1
0000088b: SUB
0000088c: PUSH1 0x84
0000088e: ADD
0000088f: SWAP1
00000890: REVERT
00000891: JUMPDEST
00000892: PUSH1 0x2b
00000894: SSTORE
00000895: JUMP
00000896: JUMPDEST
00000897: PUSH1 0x00
00000899: DUP1
0000089a: DUP3
0000089b: LT
0000089c: ISZERO
0000089d: PUSH2 0x08f0
000008a0: JUMPI
000008a1: PUSH1 0x40
000008a3: DUP1
000008a4: MLOAD
000008a5: PUSH1 0xe5
000008a7: PUSH1 0x02
000008a9: EXP
000008aa: PUSH3 0x461bcd
000008ae: MUL
000008af: DUP2
000008b0: MSTORE
000008b1: PUSH1 0x20
000008b3: PUSH1 0x04
000008b5: DUP3
000008b6: ADD
000008b7: MSTORE
000008b8: PUSH1 0x10
000008ba: PUSH1 0x24
000008bc: DUP3
000008bd: ADD
000008be: MSTORE
000008bf: PUSH32 0x52616e6b20697320746f6f206c6f772e00000000000000000000000000000000
000008e0: PUSH1 0x44
000008e2: DUP3
000008e3: ADD
000008e4: MSTORE
000008e5: SWAP1
000008e6: MLOAD
000008e7: SWAP1
000008e8: DUP2
000008e9: SWAP1
000008ea: SUB
000008eb: PUSH1 0x64
000008ed: ADD
000008ee: SWAP1
000008ef: REVERT
000008f0: JUMPDEST
000008f1: PUSH1 0x05
000008f3: DUP3
000008f4: GT
000008f5: ISZERO
000008f6: PUSH2 0x0949
000008f9: JUMPI
000008fa: PUSH1 0x40
000008fc: DUP1
000008fd: MLOAD
000008fe: PUSH1 0xe5
00000900: PUSH1 0x02
00000902: EXP
00000903: PUSH3 0x461bcd
00000907: MUL
00000908: DUP2
00000909: MSTORE
0000090a: PUSH1 0x20
0000090c: PUSH1 0x04
0000090e: DUP3
0000090f: ADD
00000910: MSTORE
00000911: PUSH1 0x11
00000913: PUSH1 0x24
00000915: DUP3
00000916: ADD
00000917: MSTORE
00000918: PUSH32 0x52616e6b20697320746f6f20686967682e000000000000000000000000000000
00000939: PUSH1 0x44
0000093b: DUP3
0000093c: ADD
0000093d: MSTORE
0000093e: SWAP1
0000093f: MLOAD
00000940: SWAP1
00000941: DUP2
00000942: SWAP1
00000943: SUB
00000944: PUSH1 0x64
00000946: ADD
00000947: SWAP1
00000948: REVERT
00000949: JUMPDEST
0000094a: POP
0000094b: PUSH1 0x00
0000094d: SWAP1
0000094e: DUP2
0000094f: MSTORE
00000950: PUSH1 0x02
00000952: PUSH1 0x20
00000954: MSTORE
00000955: PUSH1 0x40
00000957: SWAP1
00000958: KECCAK256
00000959: SLOAD
0000095a: SWAP1
0000095b: JUMP
0000095c: JUMPDEST
0000095d: PUSH1 0x2a
0000095f: PUSH1 0x20
00000961: MSTORE
00000962: PUSH1 0x00
00000964: SWAP1
00000965: DUP2
00000966: MSTORE
00000967: PUSH1 0x40
00000969: SWAP1
0000096a: KECCAK256
0000096b: SLOAD
0000096c: PUSH1 0xff
0000096e: AND
0000096f: DUP2
00000970: JUMP
00000971: JUMPDEST
00000972: PUSH1 0x00
00000974: DUP2
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH1 0x05
00000979: DUP2
0000097a: JUMP
0000097b: JUMPDEST
0000097c: PUSH1 0x29
0000097e: PUSH1 0x20
00000980: MSTORE
00000981: PUSH1 0x00
00000983: SWAP1
00000984: DUP2
00000985: MSTORE
00000986: PUSH1 0x40
00000988: SWAP1
00000989: KECCAK256
0000098a: DUP1
0000098b: SLOAD
0000098c: PUSH1 0x01
0000098e: SWAP1
0000098f: SWAP2
00000990: ADD
00000991: SLOAD
00000992: DUP3
00000993: JUMP
00000994: JUMPDEST
00000995: PUSH1 0x00
00000997: SLOAD
00000998: PUSH1 0x01
0000099a: PUSH1 0xa0
0000099c: PUSH1 0x02
0000099e: EXP
0000099f: SUB
000009a0: AND
000009a1: CALLER
000009a2: EQ
000009a3: PUSH2 0x09e4
000009a6: JUMPI
000009a7: PUSH1 0x40
000009a9: DUP1
000009aa: MLOAD
000009ab: PUSH1 0xe5
000009ad: PUSH1 0x02
000009af: EXP
000009b0: PUSH3 0x461bcd
000009b4: MUL
000009b5: DUP2
000009b6: MSTORE
000009b7: PUSH1 0x20
000009b9: PUSH1 0x04
000009bb: DUP3
000009bc: ADD
000009bd: MSTORE
000009be: PUSH1 0x15
000009c0: PUSH1 0x24
000009c2: DUP3
000009c3: ADD
000009c4: MSTORE
000009c5: PUSH1 0x00
000009c7: DUP1
000009c8: MLOAD
000009c9: PUSH1 0x20
000009cb: PUSH2 0x1f7c
000009ce: DUP4
000009cf: CODECOPY
000009d0: DUP2
000009d1: MLOAD
000009d2: SWAP2
000009d3: MSTORE
000009d4: PUSH1 0x44
000009d6: DUP3
000009d7: ADD
000009d8: MSTORE
000009d9: SWAP1
000009da: MLOAD
000009db: SWAP1
000009dc: DUP2
000009dd: SWAP1
000009de: SUB
000009df: PUSH1 0x64
000009e1: ADD
000009e2: SWAP1
000009e3: REVERT
000009e4: JUMPDEST
000009e5: PUSH1 0x00
000009e7: SLOAD
000009e8: PUSH1 0xa0
000009ea: PUSH1 0x02
000009ec: EXP
000009ed: SWAP1
000009ee: DIV
000009ef: PUSH1 0xff
000009f1: AND
000009f2: ISZERO
000009f3: ISZERO
000009f4: PUSH2 0x0a47
000009f7: JUMPI
000009f8: PUSH1 0x40
000009fa: DUP1
000009fb: MLOAD
000009fc: PUSH1 0xe5
000009fe: PUSH1 0x02
00000a00: EXP
00000a01: PUSH3 0x461bcd
00000a05: MUL
00000a06: DUP2
00000a07: MSTORE
00000a08: PUSH1 0x20
00000a0a: PUSH1 0x04
00000a0c: DUP3
00000a0d: ADD
00000a0e: MSTORE
00000a0f: PUSH1 0x1b
00000a11: PUSH1 0x24
00000a13: DUP3
00000a14: ADD
00000a15: MSTORE
00000a16: PUSH32 0x54686520636f6e7472616374206973206e6f74207061757365642e0000000000
00000a37: PUSH1 0x44
00000a39: DUP3
00000a3a: ADD
00000a3b: MSTORE
00000a3c: SWAP1
00000a3d: MLOAD
00000a3e: SWAP1
00000a3f: DUP2
00000a40: SWAP1
00000a41: SUB
00000a42: PUSH1 0x64
00000a44: ADD
00000a45: SWAP1
00000a46: REVERT
00000a47: JUMPDEST
00000a48: PUSH1 0x00
00000a4a: DUP1
00000a4b: SLOAD
00000a4c: PUSH21 0xff0000000000000000000000000000000000000000
00000a62: NOT
00000a63: AND
00000a64: DUP2
00000a65: SSTORE
00000a66: PUSH1 0x40
00000a68: MLOAD
00000a69: PUSH32 0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33
00000a8a: SWAP2
00000a8b: SWAP1
00000a8c: LOG1
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: PUSH1 0x01
00000a91: DUP2
00000a92: JUMP
00000a93: JUMPDEST
00000a94: PUSH1 0x00
00000a96: DUP1
00000a97: SLOAD
00000a98: DUP2
00000a99: SWAP1
00000a9a: DUP2
00000a9b: SWAP1
00000a9c: PUSH1 0x01
00000a9e: PUSH1 0xa0
00000aa0: PUSH1 0x02
00000aa2: EXP
00000aa3: SUB
00000aa4: AND
00000aa5: CALLER
00000aa6: EQ
00000aa7: PUSH2 0x0ae8
00000aaa: JUMPI
00000aab: PUSH1 0x40
00000aad: DUP1
00000aae: MLOAD
00000aaf: PUSH1 0xe5
00000ab1: PUSH1 0x02
00000ab3: EXP
00000ab4: PUSH3 0x461bcd
00000ab8: MUL
00000ab9: DUP2
00000aba: MSTORE
00000abb: PUSH1 0x20
00000abd: PUSH1 0x04
00000abf: DUP3
00000ac0: ADD
00000ac1: MSTORE
00000ac2: PUSH1 0x15
00000ac4: PUSH1 0x24
00000ac6: DUP3
00000ac7: ADD
00000ac8: MSTORE
00000ac9: PUSH1 0x00
00000acb: DUP1
00000acc: MLOAD
00000acd: PUSH1 0x20
00000acf: PUSH2 0x1f7c
00000ad2: DUP4
00000ad3: CODECOPY
00000ad4: DUP2
00000ad5: MLOAD
00000ad6: SWAP2
00000ad7: MSTORE
00000ad8: PUSH1 0x44
00000ada: DUP3
00000adb: ADD
00000adc: MSTORE
00000add: SWAP1
00000ade: MLOAD
00000adf: SWAP1
00000ae0: DUP2
00000ae1: SWAP1
00000ae2: SUB
00000ae3: PUSH1 0x64
00000ae5: ADD
00000ae6: SWAP1
00000ae7: REVERT
00000ae8: JUMPDEST
00000ae9: PUSH1 0x00
00000aeb: SWAP2
00000aec: POP
00000aed: JUMPDEST
00000aee: DUP4
00000aef: DUP3
00000af0: LT
00000af1: ISZERO
00000af2: PUSH2 0x0c44
00000af5: JUMPI
00000af6: DUP5
00000af7: DUP5
00000af8: DUP4
00000af9: DUP2
00000afa: DUP2
00000afb: LT
00000afc: PUSH2 0x0b01
00000aff: JUMPI
00000b00: INVALID
00000b01: JUMPDEST
00000b02: SWAP1
00000b03: POP
00000b04: PUSH1 0x20
00000b06: MUL
00000b07: ADD
00000b08: CALLDATALOAD
00000b09: SWAP3
00000b0a: POP
00000b0b: PUSH1 0x29
00000b0d: PUSH1 0x00
00000b0f: DUP5
00000b10: DUP2
00000b11: MSTORE
00000b12: PUSH1 0x20
00000b14: ADD
00000b15: SWAP1
00000b16: DUP2
00000b17: MSTORE
00000b18: PUSH1 0x20
00000b1a: ADD
00000b1b: PUSH1 0x00
00000b1d: KECCAK256
00000b1e: SWAP1
00000b1f: POP
00000b20: PUSH2 0x0b28
00000b23: DUP2
00000b24: PUSH2 0x1b92
00000b27: JUMP
00000b28: JUMPDEST
00000b29: ISZERO
00000b2a: ISZERO
00000b2b: PUSH2 0x0b6c
00000b2e: JUMPI
00000b2f: PUSH1 0x40
00000b31: DUP1
00000b32: MLOAD
00000b33: PUSH1 0xe5
00000b35: PUSH1 0x02
00000b37: EXP
00000b38: PUSH3 0x461bcd
00000b3c: MUL
00000b3d: DUP2
00000b3e: MSTORE
00000b3f: PUSH1 0x20
00000b41: PUSH1 0x04
00000b43: DUP3
00000b44: ADD
00000b45: DUP2
00000b46: SWAP1
00000b47: MSTORE
00000b48: PUSH1 0x24
00000b4a: DUP3
00000b4b: ADD
00000b4c: MSTORE
00000b4d: PUSH1 0x00
00000b4f: DUP1
00000b50: MLOAD
00000b51: PUSH1 0x20
00000b53: PUSH2 0x1f5c
00000b56: DUP4
00000b57: CODECOPY
00000b58: DUP2
00000b59: MLOAD
00000b5a: SWAP2
00000b5b: MSTORE
00000b5c: PUSH1 0x44
00000b5e: DUP3
00000b5f: ADD
00000b60: MSTORE
00000b61: SWAP1
00000b62: MLOAD
00000b63: SWAP1
00000b64: DUP2
00000b65: SWAP1
00000b66: SUB
00000b67: PUSH1 0x64
00000b69: ADD
00000b6a: SWAP1
00000b6b: REVERT
00000b6c: JUMPDEST
00000b6d: PUSH1 0x00
00000b6f: DUP4
00000b70: DUP2
00000b71: MSTORE
00000b72: PUSH1 0x2a
00000b74: PUSH1 0x20
00000b76: MSTORE
00000b77: PUSH1 0x40
00000b79: SWAP1
00000b7a: KECCAK256
00000b7b: SLOAD
00000b7c: PUSH1 0xff
00000b7e: AND
00000b7f: ISZERO
00000b80: PUSH2 0x0bf9
00000b83: JUMPI
00000b84: PUSH1 0x40
00000b86: DUP1
00000b87: MLOAD
00000b88: PUSH1 0xe5
00000b8a: PUSH1 0x02
00000b8c: EXP
00000b8d: PUSH3 0x461bcd
00000b91: MUL
00000b92: DUP2
00000b93: MSTORE
00000b94: PUSH1 0x20
00000b96: PUSH1 0x04
00000b98: DUP3
00000b99: ADD
00000b9a: MSTORE
00000b9b: PUSH1 0x2d
00000b9d: PUSH1 0x24
00000b9f: DUP3
00000ba0: ADD
00000ba1: MSTORE
00000ba2: PUSH32 0x4567672073616c65206d757374206e6f74206265207375626d69747465642066
00000bc3: PUSH1 0x44
00000bc5: DUP3
00000bc6: ADD
00000bc7: MSTORE
00000bc8: PUSH32 0x6f7220636c6f7365207965742e00000000000000000000000000000000000000
00000be9: PUSH1 0x64
00000beb: DUP3
00000bec: ADD
00000bed: MSTORE
00000bee: SWAP1
00000bef: MLOAD
00000bf0: SWAP1
00000bf1: DUP2
00000bf2: SWAP1
00000bf3: SUB
00000bf4: PUSH1 0x84
00000bf6: ADD
00000bf7: SWAP1
00000bf8: REVERT
00000bf9: JUMPDEST
00000bfa: PUSH1 0x00
00000bfc: DUP4
00000bfd: DUP2
00000bfe: MSTORE
00000bff: PUSH1 0x2a
00000c01: PUSH1 0x20
00000c03: MSTORE
00000c04: PUSH1 0x40
00000c06: DUP1
00000c07: DUP3
00000c08: KECCAK256
00000c09: DUP1
00000c0a: SLOAD
00000c0b: PUSH1 0xff
00000c0d: NOT
00000c0e: AND
00000c0f: PUSH1 0x01
00000c11: OR
00000c12: SWAP1
00000c13: SSTORE
00000c14: MLOAD
00000c15: DUP5
00000c16: SWAP2
00000c17: PUSH32 0xbf5e89964d71104d51ffd5132b84817c7262a4edb5c02701cc8b69b9c3d04036
00000c38: SWAP2
00000c39: LOG2
00000c3a: PUSH1 0x01
00000c3c: SWAP1
00000c3d: SWAP2
00000c3e: ADD
00000c3f: SWAP1
00000c40: PUSH2 0x0aed
00000c43: JUMP
00000c44: JUMPDEST
00000c45: POP
00000c46: POP
00000c47: POP
00000c48: POP
00000c49: POP
00000c4a: JUMP
00000c4b: JUMPDEST
00000c4c: PUSH1 0x00
00000c4e: SLOAD
00000c4f: PUSH1 0xa0
00000c51: PUSH1 0x02
00000c53: EXP
00000c54: SWAP1
00000c55: DIV
00000c56: PUSH1 0xff
00000c58: AND
00000c59: DUP2
00000c5a: JUMP
00000c5b: JUMPDEST
00000c5c: PUSH1 0x00
00000c5e: SLOAD
00000c5f: PUSH1 0x01
00000c61: PUSH1 0xa0
00000c63: PUSH1 0x02
00000c65: EXP
00000c66: SUB
00000c67: AND
00000c68: CALLER
00000c69: EQ
00000c6a: PUSH2 0x0cab
00000c6d: JUMPI
00000c6e: PUSH1 0x40
00000c70: DUP1
00000c71: MLOAD
00000c72: PUSH1 0xe5
00000c74: PUSH1 0x02
00000c76: EXP
00000c77: PUSH3 0x461bcd
00000c7b: MUL
00000c7c: DUP2
00000c7d: MSTORE
00000c7e: PUSH1 0x20
00000c80: PUSH1 0x04
00000c82: DUP3
00000c83: ADD
00000c84: MSTORE
00000c85: PUSH1 0x15
00000c87: PUSH1 0x24
00000c89: DUP3
00000c8a: ADD
00000c8b: MSTORE
00000c8c: PUSH1 0x00
00000c8e: DUP1
00000c8f: MLOAD
00000c90: PUSH1 0x20
00000c92: PUSH2 0x1f7c
00000c95: DUP4
00000c96: CODECOPY
00000c97: DUP2
00000c98: MLOAD
00000c99: SWAP2
00000c9a: MSTORE
00000c9b: PUSH1 0x44
00000c9d: DUP3
00000c9e: ADD
00000c9f: MSTORE
00000ca0: SWAP1
00000ca1: MLOAD
00000ca2: SWAP1
00000ca3: DUP2
00000ca4: SWAP1
00000ca5: SUB
00000ca6: PUSH1 0x64
00000ca8: ADD
00000ca9: SWAP1
00000caa: REVERT
00000cab: JUMPDEST
00000cac: DUP1
00000cad: PUSH1 0x01
00000caf: PUSH1 0xa0
00000cb1: PUSH1 0x02
00000cb3: EXP
00000cb4: SUB
00000cb5: AND
00000cb6: PUSH4 0xd19524a7
00000cbb: PUSH1 0x40
00000cbd: MLOAD
00000cbe: DUP2
00000cbf: PUSH4 0xffffffff
00000cc4: AND
00000cc5: PUSH1 0xe0
00000cc7: PUSH1 0x02
00000cc9: EXP
00000cca: MUL
00000ccb: DUP2
00000ccc: MSTORE
00000ccd: PUSH1 0x04
00000ccf: ADD
00000cd0: PUSH1 0x20
00000cd2: PUSH1 0x40
00000cd4: MLOAD
00000cd5: DUP1
00000cd6: DUP4
00000cd7: SUB
00000cd8: DUP2
00000cd9: PUSH1 0x00
00000cdb: DUP8
00000cdc: DUP1
00000cdd: EXTCODESIZE
00000cde: ISZERO
00000cdf: DUP1
00000ce0: ISZERO
00000ce1: PUSH2 0x0ce9
00000ce4: JUMPI
00000ce5: PUSH1 0x00
00000ce7: DUP1
00000ce8: REVERT
00000ce9: JUMPDEST
00000cea: POP
00000ceb: GAS
00000cec: CALL
00000ced: ISZERO
00000cee: DUP1
00000cef: ISZERO
00000cf0: PUSH2 0x0cfd
00000cf3: JUMPI
00000cf4: RETURNDATASIZE
00000cf5: PUSH1 0x00
00000cf7: DUP1
00000cf8: RETURNDATACOPY
00000cf9: RETURNDATASIZE
00000cfa: PUSH1 0x00
00000cfc: REVERT
00000cfd: JUMPDEST
00000cfe: POP
00000cff: POP
00000d00: POP
00000d01: POP
00000d02: PUSH1 0x40
00000d04: MLOAD
00000d05: RETURNDATASIZE
00000d06: PUSH1 0x20
00000d08: DUP2
00000d09: LT
00000d0a: ISZERO
00000d0b: PUSH2 0x0d13
00000d0e: JUMPI
00000d0f: PUSH1 0x00
00000d11: DUP1
00000d12: REVERT
00000d13: JUMPDEST
00000d14: POP
00000d15: MLOAD
00000d16: ISZERO
00000d17: ISZERO
00000d18: PUSH2 0x0d6b
00000d1b: JUMPI
00000d1c: PUSH1 0x40
00000d1e: DUP1
00000d1f: MLOAD
00000d20: PUSH1 0xe5
00000d22: PUSH1 0x02
00000d24: EXP
00000d25: PUSH3 0x461bcd
00000d29: MUL
00000d2a: DUP2
00000d2b: MSTORE
00000d2c: PUSH1 0x20
00000d2e: PUSH1 0x04
00000d30: DUP3
00000d31: ADD
00000d32: MSTORE
00000d33: PUSH1 0x1b
00000d35: PUSH1 0x24
00000d37: DUP3
00000d38: ADD
00000d39: MSTORE
00000d3a: PUSH32 0x496e76616c696420616666696c696174652072656769737472792e0000000000
00000d5b: PUSH1 0x44
00000d5d: DUP3
00000d5e: ADD
00000d5f: MSTORE
00000d60: SWAP1
00000d61: MLOAD
00000d62: SWAP1
00000d63: DUP2
00000d64: SWAP1
00000d65: SUB
00000d66: PUSH1 0x64
00000d68: ADD
00000d69: SWAP1
00000d6a: REVERT
00000d6b: JUMPDEST
00000d6c: PUSH1 0x01
00000d6e: DUP1
00000d6f: SLOAD
00000d70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d85: NOT
00000d86: AND
00000d87: PUSH1 0x01
00000d89: PUSH1 0xa0
00000d8b: PUSH1 0x02
00000d8d: EXP
00000d8e: SUB
00000d8f: SWAP3
00000d90: SWAP1
00000d91: SWAP3
00000d92: AND
00000d93: SWAP2
00000d94: SWAP1
00000d95: SWAP2
00000d96: OR
00000d97: SWAP1
00000d98: SSTORE
00000d99: JUMP
00000d9a: JUMPDEST
00000d9b: PUSH1 0x02
00000d9d: DUP2
00000d9e: JUMP
00000d9f: JUMPDEST
00000da0: PUSH1 0x00
00000da2: SLOAD
00000da3: PUSH1 0x01
00000da5: PUSH1 0xa0
00000da7: PUSH1 0x02
00000da9: EXP
00000daa: SUB
00000dab: AND
00000dac: CALLER
00000dad: EQ
00000dae: PUSH2 0x0def
00000db1: JUMPI
00000db2: PUSH1 0x40
00000db4: DUP1
00000db5: MLOAD
00000db6: PUSH1 0xe5
00000db8: PUSH1 0x02
00000dba: EXP
00000dbb: PUSH3 0x461bcd
00000dbf: MUL
00000dc0: DUP2
00000dc1: MSTORE
00000dc2: PUSH1 0x20
00000dc4: PUSH1 0x04
00000dc6: DUP3
00000dc7: ADD
00000dc8: MSTORE
00000dc9: PUSH1 0x15
00000dcb: PUSH1 0x24
00000dcd: DUP3
00000dce: ADD
00000dcf: MSTORE
00000dd0: PUSH1 0x00
00000dd2: DUP1
00000dd3: MLOAD
00000dd4: PUSH1 0x20
00000dd6: PUSH2 0x1f7c
00000dd9: DUP4
00000dda: CODECOPY
00000ddb: DUP2
00000ddc: MLOAD
00000ddd: SWAP2
00000dde: MSTORE
00000ddf: PUSH1 0x44
00000de1: DUP3
00000de2: ADD
00000de3: MSTORE
00000de4: SWAP1
00000de5: MLOAD
00000de6: SWAP1
00000de7: DUP2
00000de8: SWAP1
00000de9: SUB
00000dea: PUSH1 0x64
00000dec: ADD
00000ded: SWAP1
00000dee: REVERT
00000def: JUMPDEST
00000df0: PUSH1 0x00
00000df2: DUP1
00000df3: SLOAD
00000df4: PUSH1 0x40
00000df6: MLOAD
00000df7: PUSH1 0x01
00000df9: PUSH1 0xa0
00000dfb: PUSH1 0x02
00000dfd: EXP
00000dfe: SUB
00000dff: SWAP1
00000e00: SWAP2
00000e01: AND
00000e02: SWAP2
00000e03: PUSH32 0xf8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c64820
00000e24: SWAP2
00000e25: LOG2
00000e26: PUSH1 0x00
00000e28: DUP1
00000e29: SLOAD
00000e2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e3f: NOT
00000e40: AND
00000e41: SWAP1
00000e42: SSTORE
00000e43: JUMP
00000e44: JUMPDEST
00000e45: PUSH1 0x00
00000e47: DUP2
00000e48: DUP2
00000e49: MSTORE
00000e4a: PUSH1 0x29
00000e4c: PUSH1 0x20
00000e4e: MSTORE
00000e4f: PUSH1 0x40
00000e51: DUP2
00000e52: KECCAK256
00000e53: DUP2
00000e54: SWAP1
00000e55: PUSH2 0x0e5d
00000e58: DUP2
00000e59: PUSH2 0x1b92
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: ISZERO
00000e5f: ISZERO
00000e60: PUSH2 0x0ea1
00000e63: JUMPI
00000e64: PUSH1 0x40
00000e66: DUP1
00000e67: MLOAD
00000e68: PUSH1 0xe5
00000e6a: PUSH1 0x02
00000e6c: EXP
00000e6d: PUSH3 0x461bcd
00000e71: MUL
00000e72: DUP2
00000e73: MSTORE
00000e74: PUSH1 0x20
00000e76: PUSH1 0x04
00000e78: DUP3
00000e79: ADD
00000e7a: DUP2
00000e7b: SWAP1
00000e7c: MSTORE
00000e7d: PUSH1 0x24
00000e7f: DUP3
00000e80: ADD
00000e81: MSTORE
00000e82: PUSH1 0x00
00000e84: DUP1
00000e85: MLOAD
00000e86: PUSH1 0x20
00000e88: PUSH2 0x1f5c
00000e8b: DUP4
00000e8c: CODECOPY
00000e8d: DUP2
00000e8e: MLOAD
00000e8f: SWAP2
00000e90: MSTORE
00000e91: PUSH1 0x44
00000e93: DUP3
00000e94: ADD
00000e95: MSTORE
00000e96: SWAP1
00000e97: MLOAD
00000e98: SWAP1
00000e99: DUP2
00000e9a: SWAP1
00000e9b: SUB
00000e9c: PUSH1 0x64
00000e9e: ADD
00000e9f: SWAP1
00000ea0: REVERT
00000ea1: JUMPDEST
00000ea2: DUP1
00000ea3: SLOAD
00000ea4: PUSH1 0x01
00000ea6: DUP3
00000ea7: ADD
00000ea8: SLOAD
00000ea9: SWAP1
00000eaa: SWAP4
00000eab: POP
00000eac: SWAP2
00000ead: POP
00000eae: POP
00000eaf: SWAP2
00000eb0: POP
00000eb1: SWAP2
00000eb2: JUMP
00000eb3: JUMPDEST
00000eb4: PUSH1 0x00
00000eb6: SLOAD
00000eb7: PUSH1 0x01
00000eb9: PUSH1 0xa0
00000ebb: PUSH1 0x02
00000ebd: EXP
00000ebe: SUB
00000ebf: AND
00000ec0: CALLER
00000ec1: EQ
00000ec2: PUSH2 0x0f03
00000ec5: JUMPI
00000ec6: PUSH1 0x40
00000ec8: DUP1
00000ec9: MLOAD
00000eca: PUSH1 0xe5
00000ecc: PUSH1 0x02
00000ece: EXP
00000ecf: PUSH3 0x461bcd
00000ed3: MUL
00000ed4: DUP2
00000ed5: MSTORE
00000ed6: PUSH1 0x20
00000ed8: PUSH1 0x04
00000eda: DUP3
00000edb: ADD
00000edc: MSTORE
00000edd: PUSH1 0x15
00000edf: PUSH1 0x24
00000ee1: DUP3
00000ee2: ADD
00000ee3: MSTORE
00000ee4: PUSH1 0x00
00000ee6: DUP1
00000ee7: MLOAD
00000ee8: PUSH1 0x20
00000eea: PUSH2 0x1f7c
00000eed: DUP4
00000eee: CODECOPY
00000eef: DUP2
00000ef0: MLOAD
00000ef1: SWAP2
00000ef2: MSTORE
00000ef3: PUSH1 0x44
00000ef5: DUP3
00000ef6: ADD
00000ef7: MSTORE
00000ef8: SWAP1
00000ef9: MLOAD
00000efa: SWAP1
00000efb: DUP2
00000efc: SWAP1
00000efd: SUB
00000efe: PUSH1 0x64
00000f00: ADD
00000f01: SWAP1
00000f02: REVERT
00000f03: JUMPDEST
00000f04: PUSH1 0x00
00000f06: SLOAD
00000f07: PUSH1 0xa0
00000f09: PUSH1 0x02
00000f0b: EXP
00000f0c: SWAP1
00000f0d: DIV
00000f0e: PUSH1 0xff
00000f10: AND
00000f11: ISZERO
00000f12: PUSH2 0x0f65
00000f15: JUMPI
00000f16: PUSH1 0x40
00000f18: DUP1
00000f19: MLOAD
00000f1a: PUSH1 0xe5
00000f1c: PUSH1 0x02
00000f1e: EXP
00000f1f: PUSH3 0x461bcd
00000f23: MUL
00000f24: DUP2
00000f25: MSTORE
00000f26: PUSH1 0x20
00000f28: PUSH1 0x04
00000f2a: DUP3
00000f2b: ADD
00000f2c: MSTORE
00000f2d: PUSH1 0x17
00000f2f: PUSH1 0x24
00000f31: DUP3
00000f32: ADD
00000f33: MSTORE
00000f34: PUSH32 0x54686520636f6e7472616374206973207061757365642e000000000000000000
00000f55: PUSH1 0x44
00000f57: DUP3
00000f58: ADD
00000f59: MSTORE
00000f5a: SWAP1
00000f5b: MLOAD
00000f5c: SWAP1
00000f5d: DUP2
00000f5e: SWAP1
00000f5f: SUB
00000f60: PUSH1 0x64
00000f62: ADD
00000f63: SWAP1
00000f64: REVERT
00000f65: JUMPDEST
00000f66: PUSH1 0x00
00000f68: DUP1
00000f69: SLOAD
00000f6a: PUSH21 0xff0000000000000000000000000000000000000000
00000f80: NOT
00000f81: AND
00000f82: PUSH1 0xa0
00000f84: PUSH1 0x02
00000f86: EXP
00000f87: OR
00000f88: DUP2
00000f89: SSTORE
00000f8a: PUSH1 0x40
00000f8c: MLOAD
00000f8d: PUSH32 0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625
00000fae: SWAP2
00000faf: SWAP1
00000fb0: LOG1
00000fb1: JUMP
00000fb2: JUMPDEST
00000fb3: PUSH1 0x00
00000fb5: SLOAD
00000fb6: PUSH1 0x01
00000fb8: PUSH1 0xa0
00000fba: PUSH1 0x02
00000fbc: EXP
00000fbd: SUB
00000fbe: AND
00000fbf: DUP2
00000fc0: JUMP
00000fc1: JUMPDEST
00000fc2: PUSH1 0x00
00000fc4: SLOAD
00000fc5: PUSH1 0xa0
00000fc7: PUSH1 0x02
00000fc9: EXP
00000fca: SWAP1
00000fcb: DIV
00000fcc: PUSH1 0xff
00000fce: AND
00000fcf: ISZERO
00000fd0: PUSH2 0x1023
00000fd3: JUMPI
00000fd4: PUSH1 0x40
00000fd6: DUP1
00000fd7: MLOAD
00000fd8: PUSH1 0xe5
00000fda: PUSH1 0x02
00000fdc: EXP
00000fdd: PUSH3 0x461bcd
00000fe1: MUL
00000fe2: DUP2
00000fe3: MSTORE
00000fe4: PUSH1 0x20
00000fe6: PUSH1 0x04
00000fe8: DUP3
00000fe9: ADD
00000fea: MSTORE
00000feb: PUSH1 0x17
00000fed: PUSH1 0x24
00000fef: DUP3
00000ff0: ADD
00000ff1: MSTORE
00000ff2: PUSH32 0x54686520636f6e7472616374206973207061757365642e000000000000000000
00001013: PUSH1 0x44
00001015: DUP3
00001016: ADD
00001017: MSTORE
00001018: SWAP1
00001019: MLOAD
0000101a: SWAP1
0000101b: DUP2
0000101c: SWAP1
0000101d: SUB
0000101e: PUSH1 0x64
00001020: ADD
00001021: SWAP1
00001022: REVERT
00001023: JUMPDEST
00001024: PUSH1 0x28
00001026: SLOAD
00001027: PUSH1 0x01
00001029: PUSH1 0xa0
0000102b: PUSH1 0x02
0000102d: EXP
0000102e: SUB
0000102f: DUP5
00001030: DUP2
00001031: AND
00001032: SWAP2
00001033: AND
00001034: EQ
00001035: DUP1
00001036: ISZERO
00001037: PUSH2 0x1048
0000103a: JUMPI
0000103b: POP
0000103c: CALLER
0000103d: PUSH1 0x01
0000103f: PUSH1 0xa0
00001041: PUSH1 0x02
00001043: EXP
00001044: SUB
00001045: DUP5
00001046: AND
00001047: EQ
00001048: JUMPDEST
00001049: ISZERO
0000104a: ISZERO
0000104b: PUSH2 0x10c4
0000104e: JUMPI
0000104f: PUSH1 0x40
00001051: DUP1
00001052: MLOAD
00001053: PUSH1 0xe5
00001055: PUSH1 0x02
00001057: EXP
00001058: PUSH3 0x461bcd
0000105c: MUL
0000105d: DUP2
0000105e: MSTORE
0000105f: PUSH1 0x20
00001061: PUSH1 0x04
00001063: DUP3
00001064: ADD
00001065: MSTORE
00001066: PUSH1 0x27
00001068: PUSH1 0x24
0000106a: DUP3
0000106b: ADD
0000106c: MSTORE
0000106d: PUSH32 0x4f6e6c79207468652065676720636f696e20636f6e7472616374206973206163
0000108e: PUSH1 0x44
00001090: DUP3
00001091: ADD
00001092: MSTORE
00001093: PUSH32 0x6365707465642e00000000000000000000000000000000000000000000000000
000010b4: PUSH1 0x64
000010b6: DUP3
000010b7: ADD
000010b8: MSTORE
000010b9: SWAP1
000010ba: MLOAD
000010bb: SWAP1
000010bc: DUP2
000010bd: SWAP1
000010be: SUB
000010bf: PUSH1 0x84
000010c1: ADD
000010c2: SWAP1
000010c3: REVERT
000010c4: JUMPDEST
000010c5: PUSH1 0x28
000010c7: SLOAD
000010c8: PUSH1 0x40
000010ca: DUP1
000010cb: MLOAD
000010cc: PUSH32 0x79cc679000000000000000000000000000000000000000000000000000000000
000010ed: DUP2
000010ee: MSTORE
000010ef: PUSH1 0x01
000010f1: PUSH1 0xa0
000010f3: PUSH1 0x02
000010f5: EXP
000010f6: SUB
000010f7: DUP9
000010f8: DUP2
000010f9: AND
000010fa: PUSH1 0x04
000010fc: DUP4
000010fd: ADD
000010fe: MSTORE
000010ff: PUSH1 0x05
00001101: PUSH1 0x24
00001103: DUP4
00001104: ADD
00001105: MSTORE
00001106: SWAP2
00001107: MLOAD
00001108: SWAP2
00001109: SWAP1
0000110a: SWAP3
0000110b: AND
0000110c: SWAP2
0000110d: PUSH4 0x79cc6790
00001112: SWAP2
00001113: PUSH1 0x44
00001115: DUP1
00001116: DUP4
00001117: ADD
00001118: SWAP3
00001119: PUSH1 0x20
0000111b: SWAP3
0000111c: SWAP2
0000111d: SWAP1
0000111e: DUP3
0000111f: SWAP1
00001120: SUB
00001121: ADD
00001122: DUP2
00001123: PUSH1 0x00
00001125: DUP8
00001126: DUP1
00001127: EXTCODESIZE
00001128: ISZERO
00001129: DUP1
0000112a: ISZERO
0000112b: PUSH2 0x1133
0000112e: JUMPI
0000112f: PUSH1 0x00
00001131: DUP1
00001132: REVERT
00001133: JUMPDEST
00001134: POP
00001135: GAS
00001136: CALL
00001137: ISZERO
00001138: DUP1
00001139: ISZERO
0000113a: PUSH2 0x1147
0000113d: JUMPI
0000113e: RETURNDATASIZE
0000113f: PUSH1 0x00
00001141: DUP1
00001142: RETURNDATACOPY
00001143: RETURNDATASIZE
00001144: PUSH1 0x00
00001146: REVERT
00001147: JUMPDEST
00001148: POP
00001149: POP
0000114a: POP
0000114b: POP
0000114c: PUSH1 0x40
0000114e: MLOAD
0000114f: RETURNDATASIZE
00001150: PUSH1 0x20
00001152: DUP2
00001153: LT
00001154: ISZERO
00001155: PUSH2 0x115d
00001158: JUMPI
00001159: PUSH1 0x00
0000115b: DUP1
0000115c: REVERT
0000115d: JUMPDEST
0000115e: POP
0000115f: MLOAD
00001160: ISZERO
00001161: ISZERO
00001162: PUSH2 0x11b5
00001165: JUMPI
00001166: PUSH1 0x40
00001168: DUP1
00001169: MLOAD
0000116a: PUSH1 0xe5
0000116c: PUSH1 0x02
0000116e: EXP
0000116f: PUSH3 0x461bcd
00001173: MUL
00001174: DUP2
00001175: MSTORE
00001176: PUSH1 0x20
00001178: PUSH1 0x04
0000117a: DUP3
0000117b: ADD
0000117c: MSTORE
0000117d: PUSH1 0x19
0000117f: PUSH1 0x24
00001181: DUP3
00001182: ADD
00001183: MSTORE
00001184: PUSH32 0x4275726e696e672065676720636f696e73206661696c65642e00000000000000
000011a5: PUSH1 0x44
000011a7: DUP3
000011a8: ADD
000011a9: MSTORE
000011aa: SWAP1
000011ab: MLOAD
000011ac: SWAP1
000011ad: DUP2
000011ae: SWAP1
000011af: SUB
000011b0: PUSH1 0x64
000011b2: ADD
000011b3: SWAP1
000011b4: REVERT
000011b5: JUMPDEST
000011b6: PUSH2 0x11be
000011b9: DUP6
000011ba: PUSH2 0x1b9c
000011bd: JUMP
000011be: JUMPDEST
000011bf: POP
000011c0: PUSH1 0x40
000011c2: MLOAD
000011c3: PUSH1 0x01
000011c5: PUSH1 0xa0
000011c7: PUSH1 0x02
000011c9: EXP
000011ca: SUB
000011cb: DUP7
000011cc: AND
000011cd: SWAP1
000011ce: PUSH32 0xfa22aee9a544b2e293f1a9e0d8d3934ada708bc2ef7683e5bc786dd440fd91af
000011ef: SWAP1
000011f0: PUSH1 0x00
000011f2: SWAP1
000011f3: LOG2
000011f4: POP
000011f5: POP
000011f6: POP
000011f7: POP
000011f8: POP
000011f9: JUMP
000011fa: JUMPDEST
000011fb: PUSH1 0x27
000011fd: SLOAD
000011fe: PUSH1 0x01
00001200: PUSH1 0xa0
00001202: PUSH1 0x02
00001204: EXP
00001205: SUB
00001206: AND
00001207: DUP2
00001208: JUMP
00001209: JUMPDEST
0000120a: PUSH1 0x00
0000120c: DUP2
0000120d: DUP2
0000120e: MSTORE
0000120f: PUSH1 0x29
00001211: PUSH1 0x20
00001213: MSTORE
00001214: PUSH1 0x40
00001216: DUP2
00001217: KECCAK256
00001218: PUSH2 0x1220
0000121b: DUP2
0000121c: PUSH2 0x1b92
0000121f: JUMP
00001220: JUMPDEST
00001221: ISZERO
00001222: ISZERO
00001223: PUSH2 0x1264
00001226: JUMPI
00001227: PUSH1 0x40
00001229: DUP1
0000122a: MLOAD
0000122b: PUSH1 0xe5
0000122d: PUSH1 0x02
0000122f: EXP
00001230: PUSH3 0x461bcd
00001234: MUL
00001235: DUP2
00001236: MSTORE
00001237: PUSH1 0x20
00001239: PUSH1 0x04
0000123b: DUP3
0000123c: ADD
0000123d: DUP2
0000123e: SWAP1
0000123f: MSTORE
00001240: PUSH1 0x24
00001242: DUP3
00001243: ADD
00001244: MSTORE
00001245: PUSH1 0x00
00001247: DUP1
00001248: MLOAD
00001249: PUSH1 0x20
0000124b: PUSH2 0x1f5c
0000124e: DUP4
0000124f: CODECOPY
00001250: DUP2
00001251: MLOAD
00001252: SWAP2
00001253: MSTORE
00001254: PUSH1 0x44
00001256: DUP3
00001257: ADD
00001258: MSTORE
00001259: SWAP1
0000125a: MLOAD
0000125b: SWAP1
0000125c: DUP2
0000125d: SWAP1
0000125e: SUB
0000125f: PUSH1 0x64
00001261: ADD
00001262: SWAP1
00001263: REVERT
00001264: JUMPDEST
00001265: PUSH2 0x126d
00001268: DUP2
00001269: PUSH2 0x1d39
0000126c: JUMP
0000126d: JUMPDEST
0000126e: SWAP4
0000126f: SWAP3
00001270: POP
00001271: POP
00001272: POP
00001273: JUMP
00001274: JUMPDEST
00001275: PUSH1 0x00
00001277: SLOAD
00001278: PUSH1 0x01
0000127a: PUSH1 0xa0
0000127c: PUSH1 0x02
0000127e: EXP
0000127f: SUB
00001280: AND
00001281: CALLER
00001282: EQ
00001283: PUSH2 0x12c4
00001286: JUMPI
00001287: PUSH1 0x40
00001289: DUP1
0000128a: MLOAD
0000128b: PUSH1 0xe5
0000128d: PUSH1 0x02
0000128f: EXP
00001290: PUSH3 0x461bcd
00001294: MUL
00001295: DUP2
00001296: MSTORE
00001297: PUSH1 0x20
00001299: PUSH1 0x04
0000129b: DUP3
0000129c: ADD
0000129d: MSTORE
0000129e: PUSH1 0x15
000012a0: PUSH1 0x24
000012a2: DUP3
000012a3: ADD
000012a4: MSTORE
000012a5: PUSH1 0x00
000012a7: DUP1
000012a8: MLOAD
000012a9: PUSH1 0x20
000012ab: PUSH2 0x1f7c
000012ae: DUP4
000012af: CODECOPY
000012b0: DUP2
000012b1: MLOAD
000012b2: SWAP2
000012b3: MSTORE
000012b4: PUSH1 0x44
000012b6: DUP3
000012b7: ADD
000012b8: MSTORE
000012b9: SWAP1
000012ba: MLOAD
000012bb: SWAP1
000012bc: DUP2
000012bd: SWAP1
000012be: SUB
000012bf: PUSH1 0x64
000012c1: ADD
000012c2: SWAP1
000012c3: REVERT
000012c4: JUMPDEST
000012c5: PUSH1 0x00
000012c7: DUP1
000012c8: SLOAD
000012c9: PUSH1 0x40
000012cb: MLOAD
000012cc: PUSH1 0x01
000012ce: PUSH1 0xa0
000012d0: PUSH1 0x02
000012d2: EXP
000012d3: SUB
000012d4: SWAP1
000012d5: SWAP2
000012d6: AND
000012d7: SWAP2
000012d8: ADDRESS
000012d9: BALANCE
000012da: DUP1
000012db: ISZERO
000012dc: PUSH2 0x08fc
000012df: MUL
000012e0: SWAP3
000012e1: SWAP1
000012e2: SWAP2
000012e3: DUP2
000012e4: DUP2
000012e5: DUP2
000012e6: DUP6
000012e7: DUP9
000012e8: DUP9
000012e9: CALL
000012ea: SWAP4
000012eb: POP
000012ec: POP
000012ed: POP
000012ee: POP
000012ef: ISZERO
000012f0: DUP1
000012f1: ISZERO
000012f2: PUSH2 0x12ff
000012f5: JUMPI
000012f6: RETURNDATASIZE
000012f7: PUSH1 0x00
000012f9: DUP1
000012fa: RETURNDATACOPY
000012fb: RETURNDATASIZE
000012fc: PUSH1 0x00
000012fe: REVERT
000012ff: JUMPDEST
00001300: POP
00001301: JUMP
00001302: JUMPDEST
00001303: PUSH1 0x00
00001305: DUP1
00001306: PUSH1 0x00
00001308: DUP1
00001309: PUSH1 0x00
0000130b: DUP1
0000130c: PUSH1 0x00
0000130e: PUSH1 0x14
00001310: SWAP1
00001311: SLOAD
00001312: SWAP1
00001313: PUSH2 0x0100
00001316: EXP
00001317: SWAP1
00001318: DIV
00001319: PUSH1 0xff
0000131b: AND
0000131c: ISZERO
0000131d: ISZERO
0000131e: ISZERO
0000131f: PUSH2 0x1372
00001322: JUMPI
00001323: PUSH1 0x40
00001325: DUP1
00001326: MLOAD
00001327: PUSH1 0xe5
00001329: PUSH1 0x02
0000132b: EXP
0000132c: PUSH3 0x461bcd
00001330: MUL
00001331: DUP2
00001332: MSTORE
00001333: PUSH1 0x20
00001335: PUSH1 0x04
00001337: DUP3
00001338: ADD
00001339: MSTORE
0000133a: PUSH1 0x17
0000133c: PUSH1 0x24
0000133e: DUP3
0000133f: ADD
00001340: MSTORE
00001341: PUSH32 0x54686520636f6e7472616374206973207061757365642e000000000000000000
00001362: PUSH1 0x44
00001364: DUP3
00001365: ADD
00001366: MSTORE
00001367: SWAP1
00001368: MLOAD
00001369: SWAP1
0000136a: DUP2
0000136b: SWAP1
0000136c: SUB
0000136d: PUSH1 0x64
0000136f: ADD
00001370: SWAP1
00001371: REVERT
00001372: JUMPDEST
00001373: PUSH1 0x00
00001375: DUP9
00001376: DUP2
00001377: MSTORE
00001378: PUSH1 0x29
0000137a: PUSH1 0x20
0000137c: MSTORE
0000137d: PUSH1 0x40
0000137f: SWAP1
00001380: KECCAK256
00001381: SWAP4
00001382: POP
00001383: PUSH2 0x138b
00001386: DUP5
00001387: PUSH2 0x1b92
0000138a: JUMP
0000138b: JUMPDEST
0000138c: ISZERO
0000138d: ISZERO
0000138e: PUSH2 0x13cf
00001391: JUMPI
00001392: PUSH1 0x40
00001394: DUP1
00001395: MLOAD
00001396: PUSH1 0xe5
00001398: PUSH1 0x02
0000139a: EXP
0000139b: PUSH3 0x461bcd
0000139f: MUL
000013a0: DUP2
000013a1: MSTORE
000013a2: PUSH1 0x20
000013a4: PUSH1 0x04
000013a6: DUP3
000013a7: ADD
000013a8: DUP2
000013a9: SWAP1
000013aa: MSTORE
000013ab: PUSH1 0x24
000013ad: DUP3
000013ae: ADD
000013af: MSTORE
000013b0: PUSH1 0x00
000013b2: DUP1
000013b3: MLOAD
000013b4: PUSH1 0x20
000013b6: PUSH2 0x1f5c
000013b9: DUP4
000013ba: CODECOPY
000013bb: DUP2
000013bc: MLOAD
000013bd: SWAP2
000013be: MSTORE
000013bf: PUSH1 0x44
000013c1: DUP3
000013c2: ADD
000013c3: MSTORE
000013c4: SWAP1
000013c5: MLOAD
000013c6: SWAP1
000013c7: DUP2
000013c8: SWAP1
000013c9: SUB
000013ca: PUSH1 0x64
000013cc: ADD
000013cd: SWAP1
000013ce: REVERT
000013cf: JUMPDEST
000013d0: PUSH2 0x13d8
000013d3: DUP5
000013d4: PUSH2 0x1d39
000013d7: JUMP
000013d8: JUMPDEST
000013d9: SWAP3
000013da: POP
000013db: CALLVALUE
000013dc: DUP4
000013dd: GT
000013de: ISZERO
000013df: PUSH2 0x1432
000013e2: JUMPI
000013e3: PUSH1 0x40
000013e5: DUP1
000013e6: MLOAD
000013e7: PUSH1 0xe5
000013e9: PUSH1 0x02
000013eb: EXP
000013ec: PUSH3 0x461bcd
000013f0: MUL
000013f1: DUP2
000013f2: MSTORE
000013f3: PUSH1 0x20
000013f5: PUSH1 0x04
000013f7: DUP3
000013f8: ADD
000013f9: MSTORE
000013fa: PUSH1 0x15
000013fc: PUSH1 0x24
000013fe: DUP3
000013ff: ADD
00001400: MSTORE
00001401: PUSH32 0x496e73756666696369656e74207061796d656e742e0000000000000000000000
00001422: PUSH1 0x44
00001424: DUP3
00001425: ADD
00001426: MSTORE
00001427: SWAP1
00001428: MLOAD
00001429: SWAP1
0000142a: DUP2
0000142b: SWAP1
0000142c: SUB
0000142d: PUSH1 0x64
0000142f: ADD
00001430: SWAP1
00001431: REVERT
00001432: JUMPDEST
00001433: PUSH2 0x143b
00001436: CALLER
00001437: PUSH2 0x1b9c
0000143a: JUMP
0000143b: JUMPDEST
0000143c: SWAP2
0000143d: POP
0000143e: PUSH1 0x00
00001440: SWAP1
00001441: POP
00001442: PUSH1 0x01
00001444: PUSH1 0xa0
00001446: PUSH1 0x02
00001448: EXP
00001449: SUB
0000144a: DUP8
0000144b: AND
0000144c: CALLER
0000144d: EQ
0000144e: PUSH2 0x1454
00001451: JUMPI
00001452: POP
00001453: DUP6
00001454: JUMPDEST
00001455: PUSH1 0x40
00001457: DUP1
00001458: MLOAD
00001459: DUP5
0000145a: DUP2
0000145b: MSTORE
0000145c: SWAP1
0000145d: MLOAD
0000145e: PUSH1 0x01
00001460: PUSH1 0xa0
00001462: PUSH1 0x02
00001464: EXP
00001465: SUB
00001466: DUP4
00001467: AND
00001468: SWAP2
00001469: CALLER
0000146a: SWAP2
0000146b: DUP12
0000146c: SWAP2
0000146d: PUSH32 0x2132e244e3c403323dcdc6ab686745c3b6435a28e866d63da7485a34bb0d07c9
0000148e: SWAP2
0000148f: SWAP1
00001490: DUP2
00001491: SWAP1
00001492: SUB
00001493: PUSH1 0x20
00001495: ADD
00001496: SWAP1
00001497: LOG4
00001498: PUSH1 0x00
0000149a: DUP9
0000149b: DUP2
0000149c: MSTORE
0000149d: PUSH1 0x2a
0000149f: PUSH1 0x20
000014a1: MSTORE
000014a2: PUSH1 0x40
000014a4: SWAP1
000014a5: KECCAK256
000014a6: SLOAD
000014a7: PUSH1 0xff
000014a9: AND
000014aa: ISZERO
000014ab: ISZERO
000014ac: PUSH2 0x1504
000014af: JUMPI
000014b0: PUSH2 0x14b8
000014b3: DUP4
000014b4: PUSH2 0x1d74
000014b7: JUMP
000014b8: JUMPDEST
000014b9: DUP1
000014ba: DUP6
000014bb: SSTORE
000014bc: TIMESTAMP
000014bd: PUSH1 0x01
000014bf: DUP7
000014c0: ADD
000014c1: DUP2
000014c2: SWAP1
000014c3: SSTORE
000014c4: PUSH1 0x40
000014c6: DUP1
000014c7: MLOAD
000014c8: SWAP3
000014c9: DUP4
000014ca: MSTORE
000014cb: PUSH1 0x20
000014cd: DUP4
000014ce: ADD
000014cf: SWAP2
000014d0: SWAP1
000014d1: SWAP2
000014d2: MSTORE
000014d3: DUP1
000014d4: MLOAD
000014d5: DUP11
000014d6: SWAP3
000014d7: PUSH32 0xa1cd90ce96b065801c3c8f2bd0d0ca0f8a29b00961445eaa26fb9a341d179f26
000014f8: SWAP3
000014f9: SWAP1
000014fa: DUP3
000014fb: SWAP1
000014fc: SUB
000014fd: ADD
000014fe: SWAP1
000014ff: LOG2
00001500: PUSH2 0x1561
00001503: JUMP
00001504: JUMPDEST
00001505: PUSH1 0x00
00001507: DUP9
00001508: DUP2
00001509: MSTORE
0000150a: PUSH1 0x29
0000150c: PUSH1 0x20
0000150e: SWAP1
0000150f: DUP2
00001510: MSTORE
00001511: PUSH1 0x40
00001513: DUP1
00001514: DUP4
00001515: KECCAK256
00001516: DUP4
00001517: DUP2
00001518: SSTORE
00001519: PUSH1 0x01
0000151b: ADD
0000151c: DUP4
0000151d: SWAP1
0000151e: SSTORE
0000151f: PUSH1 0x2a
00001521: DUP3
00001522: MSTORE
00001523: SWAP2
00001524: DUP3
00001525: SWAP1
00001526: KECCAK256
00001527: DUP1
00001528: SLOAD
00001529: PUSH1 0xff
0000152b: NOT
0000152c: AND
0000152d: SWAP1
0000152e: SSTORE
0000152f: DUP2
00001530: MLOAD
00001531: DUP6
00001532: DUP2
00001533: MSTORE
00001534: SWAP2
00001535: MLOAD
00001536: DUP11
00001537: SWAP3
00001538: PUSH32 0x6eb84e2c77d1609e6a2944eb7e3de1e751cf9881a9645ec64407ff39cae98bb9
00001559: SWAP3
0000155a: SWAP1
0000155b: DUP3
0000155c: SWAP1
0000155d: SUB
0000155e: ADD
0000155f: SWAP1
00001560: LOG2
00001561: JUMPDEST
00001562: DUP3
00001563: CALLVALUE
00001564: GT
00001565: ISZERO
00001566: PUSH2 0x159a
00001569: JUMPI
0000156a: PUSH1 0x40
0000156c: MLOAD
0000156d: CALLER
0000156e: SWAP1
0000156f: CALLVALUE
00001570: DUP6
00001571: SWAP1
00001572: SUB
00001573: DUP1
00001574: ISZERO
00001575: PUSH2 0x08fc
00001578: MUL
00001579: SWAP2
0000157a: PUSH1 0x00
0000157c: DUP2
0000157d: DUP2
0000157e: DUP2
0000157f: DUP6
00001580: DUP9
00001581: DUP9
00001582: CALL
00001583: SWAP4
00001584: POP
00001585: POP
00001586: POP
00001587: POP
00001588: ISZERO
00001589: DUP1
0000158a: ISZERO
0000158b: PUSH2 0x1598
0000158e: JUMPI
0000158f: RETURNDATASIZE
00001590: PUSH1 0x00
00001592: DUP1
00001593: RETURNDATACOPY
00001594: RETURNDATASIZE
00001595: PUSH1 0x00
00001597: REVERT
00001598: JUMPDEST
00001599: POP
0000159a: JUMPDEST
0000159b: PUSH1 0x01
0000159d: PUSH1 0xa0
0000159f: PUSH1 0x02
000015a1: EXP
000015a2: SUB
000015a3: DUP2
000015a4: AND
000015a5: ISZERO
000015a6: PUSH2 0x15d8
000015a9: JUMPI
000015aa: DUP1
000015ab: PUSH1 0x01
000015ad: PUSH1 0xa0
000015af: PUSH1 0x02
000015b1: EXP
000015b2: SUB
000015b3: AND
000015b4: PUSH2 0x08fc
000015b7: PUSH2 0x15c0
000015ba: DUP4
000015bb: DUP7
000015bc: PUSH2 0x1d97
000015bf: JUMP
000015c0: JUMPDEST
000015c1: PUSH1 0x40
000015c3: MLOAD
000015c4: DUP2
000015c5: ISZERO
000015c6: SWAP1
000015c7: SWAP3
000015c8: MUL
000015c9: SWAP2
000015ca: PUSH1 0x00
000015cc: DUP2
000015cd: DUP2
000015ce: DUP2
000015cf: DUP6
000015d0: DUP9
000015d1: DUP9
000015d2: CALL
000015d3: POP
000015d4: POP
000015d5: POP
000015d6: POP
000015d7: POP
000015d8: JUMPDEST
000015d9: POP
000015da: SWAP7
000015db: SWAP1
000015dc: SWAP6
000015dd: POP
000015de: SWAP4
000015df: POP
000015e0: POP
000015e1: POP
000015e2: POP
000015e3: JUMP
000015e4: JUMPDEST
000015e5: PUSH1 0x03
000015e7: SLOAD
000015e8: DUP2
000015e9: JUMP
000015ea: JUMPDEST
000015eb: PUSH1 0x00
000015ed: SLOAD
000015ee: PUSH1 0x01
000015f0: PUSH1 0xa0
000015f2: PUSH1 0x02
000015f4: EXP
000015f5: SUB
000015f6: AND
000015f7: CALLER
000015f8: EQ
000015f9: PUSH2 0x163a
000015fc: JUMPI
000015fd: PUSH1 0x40
000015ff: DUP1
00001600: MLOAD
00001601: PUSH1 0xe5
00001603: PUSH1 0x02
00001605: EXP
00001606: PUSH3 0x461bcd
0000160a: MUL
0000160b: DUP2
0000160c: MSTORE
0000160d: PUSH1 0x20
0000160f: PUSH1 0x04
00001611: DUP3
00001612: ADD
00001613: MSTORE
00001614: PUSH1 0x15
00001616: PUSH1 0x24
00001618: DUP3
00001619: ADD
0000161a: MSTORE
0000161b: PUSH1 0x00
0000161d: DUP1
0000161e: MLOAD
0000161f: PUSH1 0x20
00001621: PUSH2 0x1f7c
00001624: DUP4
00001625: CODECOPY
00001626: DUP2
00001627: MLOAD
00001628: SWAP2
00001629: MSTORE
0000162a: PUSH1 0x44
0000162c: DUP3
0000162d: ADD
0000162e: MSTORE
0000162f: SWAP1
00001630: MLOAD
00001631: SWAP1
00001632: DUP2
00001633: SWAP1
00001634: SUB
00001635: PUSH1 0x64
00001637: ADD
00001638: SWAP1
00001639: REVERT
0000163a: JUMPDEST
0000163b: DUP1
0000163c: PUSH1 0x01
0000163e: PUSH1 0xa0
00001640: PUSH1 0x02
00001642: EXP
00001643: SUB
00001644: AND
00001645: PUSH4 0xc8b5189b
0000164a: PUSH1 0x40
0000164c: MLOAD
0000164d: DUP2
0000164e: PUSH4 0xffffffff
00001653: AND
00001654: PUSH1 0xe0
00001656: PUSH1 0x02
00001658: EXP
00001659: MUL
0000165a: DUP2
0000165b: MSTORE
0000165c: PUSH1 0x04
0000165e: ADD
0000165f: PUSH1 0x20
00001661: PUSH1 0x40
00001663: MLOAD
00001664: DUP1
00001665: DUP4
00001666: SUB
00001667: DUP2
00001668: PUSH1 0x00
0000166a: DUP8
0000166b: DUP1
0000166c: EXTCODESIZE
0000166d: ISZERO
0000166e: DUP1
0000166f: ISZERO
00001670: PUSH2 0x1678
00001673: JUMPI
00001674: PUSH1 0x00
00001676: DUP1
00001677: REVERT
00001678: JUMPDEST
00001679: POP
0000167a: GAS
0000167b: CALL
0000167c: ISZERO
0000167d: DUP1
0000167e: ISZERO
0000167f: PUSH2 0x168c
00001682: JUMPI
00001683: RETURNDATASIZE
00001684: PUSH1 0x00
00001686: DUP1
00001687: RETURNDATACOPY
00001688: RETURNDATASIZE
00001689: PUSH1 0x00
0000168b: REVERT
0000168c: JUMPDEST
0000168d: POP
0000168e: POP
0000168f: POP
00001690: POP
00001691: PUSH1 0x40
00001693: MLOAD
00001694: RETURNDATASIZE
00001695: PUSH1 0x20
00001697: DUP2
00001698: LT
00001699: ISZERO
0000169a: PUSH2 0x16a2
0000169d: JUMPI
0000169e: PUSH1 0x00
000016a0: DUP1
000016a1: REVERT
000016a2: JUMPDEST
000016a3: POP
000016a4: MLOAD
000016a5: ISZERO
000016a6: ISZERO
000016a7: PUSH2 0x16fa
000016aa: JUMPI
000016ab: PUSH1 0x40
000016ad: DUP1
000016ae: MLOAD
000016af: PUSH1 0xe5
000016b1: PUSH1 0x02
000016b3: EXP
000016b4: PUSH3 0x461bcd
000016b8: MUL
000016b9: DUP2
000016ba: MSTORE
000016bb: PUSH1 0x20
000016bd: PUSH1 0x04
000016bf: DUP3
000016c0: ADD
000016c1: MSTORE
000016c2: PUSH1 0x16
000016c4: PUSH1 0x24
000016c6: DUP3
000016c7: ADD
000016c8: MSTORE
000016c9: PUSH32 0x496e76616c6964206567672067656e6520706f6f6c2e00000000000000000000
000016ea: PUSH1 0x44
000016ec: DUP3
000016ed: ADD
000016ee: MSTORE
000016ef: SWAP1
000016f0: MLOAD
000016f1: SWAP1
000016f2: DUP2
000016f3: SWAP1
000016f4: SUB
000016f5: PUSH1 0x64
000016f7: ADD
000016f8: SWAP1
000016f9: REVERT
000016fa: JUMPDEST
000016fb: PUSH1 0x27
000016fd: DUP1
000016fe: SLOAD
000016ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001714: NOT
00001715: AND
00001716: PUSH1 0x01
00001718: PUSH1 0xa0
0000171a: PUSH1 0x02
0000171c: EXP
0000171d: SUB
0000171e: SWAP3
0000171f: SWAP1
00001720: SWAP3
00001721: AND
00001722: SWAP2
00001723: SWAP1
00001724: SWAP2
00001725: OR
00001726: SWAP1
00001727: SSTORE
00001728: JUMP
00001729: JUMPDEST
0000172a: PUSH1 0x03
0000172c: DUP2
0000172d: JUMP
0000172e: JUMPDEST
0000172f: PUSH1 0x00
00001731: DUP1
00001732: SLOAD
00001733: DUP2
00001734: SWAP1
00001735: DUP2
00001736: SWAP1
00001737: PUSH1 0x01
00001739: PUSH1 0xa0
0000173b: PUSH1 0x02
0000173d: EXP
0000173e: SUB
0000173f: AND
00001740: CALLER
00001741: EQ
00001742: PUSH2 0x1783
00001745: JUMPI
00001746: PUSH1 0x40
00001748: DUP1
00001749: MLOAD
0000174a: PUSH1 0xe5
0000174c: PUSH1 0x02
0000174e: EXP
0000174f: PUSH3 0x461bcd
00001753: MUL
00001754: DUP2
00001755: MSTORE
00001756: PUSH1 0x20
00001758: PUSH1 0x04
0000175a: DUP3
0000175b: ADD
0000175c: MSTORE
0000175d: PUSH1 0x15
0000175f: PUSH1 0x24
00001761: DUP3
00001762: ADD
00001763: MSTORE
00001764: PUSH1 0x00
00001766: DUP1
00001767: MLOAD
00001768: PUSH1 0x20
0000176a: PUSH2 0x1f7c
0000176d: DUP4
0000176e: CODECOPY
0000176f: DUP2
00001770: MLOAD
00001771: SWAP2
00001772: MSTORE
00001773: PUSH1 0x44
00001775: DUP3
00001776: ADD
00001777: MSTORE
00001778: SWAP1
00001779: MLOAD
0000177a: SWAP1
0000177b: DUP2
0000177c: SWAP1
0000177d: SUB
0000177e: PUSH1 0x64
00001780: ADD
00001781: SWAP1
00001782: REVERT
00001783: JUMPDEST
00001784: PUSH1 0x00
00001786: SWAP2
00001787: POP
00001788: JUMPDEST
00001789: DUP5
0000178a: DUP3
0000178b: LT
0000178c: ISZERO
0000178d: PUSH2 0x06c7
00001790: JUMPI
00001791: DUP6
00001792: DUP6
00001793: DUP4
00001794: DUP2
00001795: DUP2
00001796: LT
00001797: PUSH2 0x179c
0000179a: JUMPI
0000179b: INVALID
0000179c: JUMPDEST
0000179d: SWAP1
0000179e: POP
0000179f: PUSH1 0x20
000017a1: MUL
000017a2: ADD
000017a3: CALLDATALOAD
000017a4: SWAP3
000017a5: POP
000017a6: PUSH1 0x29
000017a8: PUSH1 0x00
000017aa: DUP5
000017ab: DUP2
000017ac: MSTORE
000017ad: PUSH1 0x20
000017af: ADD
000017b0: SWAP1
000017b1: DUP2
000017b2: MSTORE
000017b3: PUSH1 0x20
000017b5: ADD
000017b6: PUSH1 0x00
000017b8: KECCAK256
000017b9: SWAP1
000017ba: POP
000017bb: PUSH2 0x17c3
000017be: DUP2
000017bf: PUSH2 0x1b92
000017c2: JUMP
000017c3: JUMPDEST
000017c4: ISZERO
000017c5: PUSH2 0x1818
000017c8: JUMPI
000017c9: PUSH1 0x40
000017cb: DUP1
000017cc: MLOAD
000017cd: PUSH1 0xe5
000017cf: PUSH1 0x02
000017d1: EXP
000017d2: PUSH3 0x461bcd
000017d6: MUL
000017d7: DUP2
000017d8: MSTORE
000017d9: PUSH1 0x20
000017db: PUSH1 0x04
000017dd: DUP3
000017de: ADD
000017df: DUP2
000017e0: SWAP1
000017e1: MSTORE
000017e2: PUSH1 0x24
000017e4: DUP3
000017e5: ADD
000017e6: MSTORE
000017e7: PUSH32 0x4567672073616c65206d757374206e6f74206265206f70656e6564207965742e
00001808: PUSH1 0x44
0000180a: DUP3
0000180b: ADD
0000180c: MSTORE
0000180d: SWAP1
0000180e: MLOAD
0000180f: SWAP1
00001810: DUP2
00001811: SWAP1
00001812: SUB
00001813: PUSH1 0x64
00001815: ADD
00001816: SWAP1
00001817: REVERT
00001818: JUMPDEST
00001819: DUP4
0000181a: DUP2
0000181b: SSTORE
0000181c: TIMESTAMP
0000181d: PUSH1 0x01
0000181f: DUP3
00001820: ADD
00001821: DUP2
00001822: SWAP1
00001823: SSTORE
00001824: PUSH1 0x40
00001826: DUP1
00001827: MLOAD
00001828: DUP7
00001829: DUP2
0000182a: MSTORE
0000182b: PUSH1 0x20
0000182d: DUP2
0000182e: ADD
0000182f: SWAP3
00001830: SWAP1
00001831: SWAP3
00001832: MSTORE
00001833: DUP1
00001834: MLOAD
00001835: DUP6
00001836: SWAP3
00001837: PUSH32 0xa1cd90ce96b065801c3c8f2bd0d0ca0f8a29b00961445eaa26fb9a341d179f26
00001858: SWAP3
00001859: SWAP1
0000185a: DUP3
0000185b: SWAP1
0000185c: SUB
0000185d: ADD
0000185e: SWAP1
0000185f: LOG2
00001860: PUSH1 0x01
00001862: SWAP1
00001863: SWAP2
00001864: ADD
00001865: SWAP1
00001866: PUSH2 0x1788
00001869: JUMP
0000186a: JUMPDEST
0000186b: PUSH1 0x26
0000186d: SLOAD
0000186e: PUSH1 0x01
00001870: PUSH1 0xa0
00001872: PUSH1 0x02
00001874: EXP
00001875: SUB
00001876: AND
00001877: DUP2
00001878: JUMP
00001879: JUMPDEST
0000187a: PUSH1 0x00
0000187c: SLOAD
0000187d: PUSH1 0x01
0000187f: PUSH1 0xa0
00001881: PUSH1 0x02
00001883: EXP
00001884: SUB
00001885: AND
00001886: CALLER
00001887: EQ
00001888: PUSH2 0x18c9
0000188b: JUMPI
0000188c: PUSH1 0x40
0000188e: DUP1
0000188f: MLOAD
00001890: PUSH1 0xe5
00001892: PUSH1 0x02
00001894: EXP
00001895: PUSH3 0x461bcd
00001899: MUL
0000189a: DUP2
0000189b: MSTORE
0000189c: PUSH1 0x20
0000189e: PUSH1 0x04
000018a0: DUP3
000018a1: ADD
000018a2: MSTORE
000018a3: PUSH1 0x15
000018a5: PUSH1 0x24
000018a7: DUP3
000018a8: ADD
000018a9: MSTORE
000018aa: PUSH1 0x00
000018ac: DUP1
000018ad: MLOAD
000018ae: PUSH1 0x20
000018b0: PUSH2 0x1f7c
000018b3: DUP4
000018b4: CODECOPY
000018b5: DUP2
000018b6: MLOAD
000018b7: SWAP2
000018b8: MSTORE
000018b9: PUSH1 0x44
000018bb: DUP3
000018bc: ADD
000018bd: MSTORE
000018be: SWAP1
000018bf: MLOAD
000018c0: SWAP1
000018c1: DUP2
000018c2: SWAP1
000018c3: SUB
000018c4: PUSH1 0x64
000018c6: ADD
000018c7: SWAP1
000018c8: REVERT
000018c9: JUMPDEST
000018ca: PUSH1 0x28
000018cc: DUP1
000018cd: SLOAD
000018ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018e3: NOT
000018e4: AND
000018e5: PUSH1 0x01
000018e7: PUSH1 0xa0
000018e9: PUSH1 0x02
000018eb: EXP
000018ec: SUB
000018ed: SWAP3
000018ee: SWAP1
000018ef: SWAP3
000018f0: AND
000018f1: SWAP2
000018f2: SWAP1
000018f3: SWAP2
000018f4: OR
000018f5: SWAP1
000018f6: SSTORE
000018f7: JUMP
000018f8: JUMPDEST
000018f9: PUSH1 0x00
000018fb: SLOAD
000018fc: PUSH1 0x01
000018fe: PUSH1 0xa0
00001900: PUSH1 0x02
00001902: EXP
00001903: SUB
00001904: AND
00001905: CALLER
00001906: EQ
00001907: PUSH2 0x1948
0000190a: JUMPI
0000190b: PUSH1 0x40
0000190d: DUP1
0000190e: MLOAD
0000190f: PUSH1 0xe5
00001911: PUSH1 0x02
00001913: EXP
00001914: PUSH3 0x461bcd
00001918: MUL
00001919: DUP2
0000191a: MSTORE
0000191b: PUSH1 0x20
0000191d: PUSH1 0x04
0000191f: DUP3
00001920: ADD
00001921: MSTORE
00001922: PUSH1 0x15
00001924: PUSH1 0x24
00001926: DUP3
00001927: ADD
00001928: MSTORE
00001929: PUSH1 0x00
0000192b: DUP1
0000192c: MLOAD
0000192d: PUSH1 0x20
0000192f: PUSH2 0x1f7c
00001932: DUP4
00001933: CODECOPY
00001934: DUP2
00001935: MLOAD
00001936: SWAP2
00001937: MSTORE
00001938: PUSH1 0x44
0000193a: DUP3
0000193b: ADD
0000193c: MSTORE
0000193d: SWAP1
0000193e: MLOAD
0000193f: SWAP1
00001940: DUP2
00001941: SWAP1
00001942: SUB
00001943: PUSH1 0x64
00001945: ADD
00001946: SWAP1
00001947: REVERT
00001948: JUMPDEST
00001949: PUSH1 0x01
0000194b: PUSH1 0xa0
0000194d: PUSH1 0x02
0000194f: EXP
00001950: SUB
00001951: DUP2
00001952: AND
00001953: ISZERO
00001954: ISZERO
00001955: PUSH2 0x19cd
00001958: JUMPI
00001959: PUSH1 0x40
0000195b: DUP1
0000195c: MLOAD
0000195d: PUSH1 0xe5
0000195f: PUSH1 0x02
00001961: EXP
00001962: PUSH3 0x461bcd
00001966: MUL
00001967: DUP2
00001968: MSTORE
00001969: PUSH1 0x20
0000196b: PUSH1 0x04
0000196d: DUP3
0000196e: ADD
0000196f: MSTORE
00001970: PUSH1 0x24
00001972: DUP1
00001973: DUP3
00001974: ADD
00001975: MSTORE
00001976: PUSH32 0x4e6577206f776e657227732061646472657373206d757374206e6f7420626520
00001997: PUSH1 0x44
00001999: DUP3
0000199a: ADD
0000199b: MSTORE
0000199c: PUSH32 0x3078302e00000000000000000000000000000000000000000000000000000000
000019bd: PUSH1 0x64
000019bf: DUP3
000019c0: ADD
000019c1: MSTORE
000019c2: SWAP1
000019c3: MLOAD
000019c4: SWAP1
000019c5: DUP2
000019c6: SWAP1
000019c7: SUB
000019c8: PUSH1 0x84
000019ca: ADD
000019cb: SWAP1
000019cc: REVERT
000019cd: JUMPDEST
000019ce: PUSH1 0x00
000019d0: DUP1
000019d1: SLOAD
000019d2: PUSH1 0x40
000019d4: MLOAD
000019d5: PUSH1 0x01
000019d7: PUSH1 0xa0
000019d9: PUSH1 0x02
000019db: EXP
000019dc: SUB
000019dd: SWAP2
000019de: DUP3
000019df: AND
000019e0: SWAP3
000019e1: SWAP2
000019e2: DUP5
000019e3: AND
000019e4: SWAP2
000019e5: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001a06: SWAP2
00001a07: LOG3
00001a08: PUSH1 0x00
00001a0a: DUP1
00001a0b: SLOAD
00001a0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a21: NOT
00001a22: AND
00001a23: PUSH1 0x01
00001a25: PUSH1 0xa0
00001a27: PUSH1 0x02
00001a29: EXP
00001a2a: SUB
00001a2b: SWAP3
00001a2c: SWAP1
00001a2d: SWAP3
00001a2e: AND
00001a2f: SWAP2
00001a30: SWAP1
00001a31: SWAP2
00001a32: OR
00001a33: SWAP1
00001a34: SSTORE
00001a35: JUMP
00001a36: JUMPDEST
00001a37: PUSH1 0x04
00001a39: DUP2
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: PUSH1 0x00
00001a3e: DUP3
00001a3f: LT
00001a40: ISZERO
00001a41: PUSH2 0x1a94
00001a44: JUMPI
00001a45: PUSH1 0x40
00001a47: DUP1
00001a48: MLOAD
00001a49: PUSH1 0xe5
00001a4b: PUSH1 0x02
00001a4d: EXP
00001a4e: PUSH3 0x461bcd
00001a52: MUL
00001a53: DUP2
00001a54: MSTORE
00001a55: PUSH1 0x20
00001a57: PUSH1 0x04
00001a59: DUP3
00001a5a: ADD
00001a5b: MSTORE
00001a5c: PUSH1 0x10
00001a5e: PUSH1 0x24
00001a60: DUP3
00001a61: ADD
00001a62: MSTORE
00001a63: PUSH32 0x52616e6b20697320746f6f206c6f772e00000000000000000000000000000000
00001a84: PUSH1 0x44
00001a86: DUP3
00001a87: ADD
00001a88: MSTORE
00001a89: SWAP1
00001a8a: MLOAD
00001a8b: SWAP1
00001a8c: DUP2
00001a8d: SWAP1
00001a8e: SUB
00001a8f: PUSH1 0x64
00001a91: ADD
00001a92: SWAP1
00001a93: REVERT
00001a94: JUMPDEST
00001a95: PUSH1 0x05
00001a97: DUP3
00001a98: GT
00001a99: ISZERO
00001a9a: PUSH2 0x1aed
00001a9d: JUMPI
00001a9e: PUSH1 0x40
00001aa0: DUP1
00001aa1: MLOAD
00001aa2: PUSH1 0xe5
00001aa4: PUSH1 0x02
00001aa6: EXP
00001aa7: PUSH3 0x461bcd
00001aab: MUL
00001aac: DUP2
00001aad: MSTORE
00001aae: PUSH1 0x20
00001ab0: PUSH1 0x04
00001ab2: DUP3
00001ab3: ADD
00001ab4: MSTORE
00001ab5: PUSH1 0x11
00001ab7: PUSH1 0x24
00001ab9: DUP3
00001aba: ADD
00001abb: MSTORE
00001abc: PUSH32 0x52616e6b20697320746f6f20686967682e000000000000000000000000000000
00001add: PUSH1 0x44
00001adf: DUP3
00001ae0: ADD
00001ae1: MSTORE
00001ae2: SWAP1
00001ae3: MLOAD
00001ae4: SWAP1
00001ae5: DUP2
00001ae6: SWAP1
00001ae7: SUB
00001ae8: PUSH1 0x64
00001aea: ADD
00001aeb: SWAP1
00001aec: REVERT
00001aed: JUMPDEST
00001aee: PUSH2 0x2710
00001af1: DUP2
00001af2: GT
00001af3: ISZERO
00001af4: PUSH2 0x1b47
00001af7: JUMPI
00001af8: PUSH1 0x40
00001afa: DUP1
00001afb: MLOAD
00001afc: PUSH1 0xe5
00001afe: PUSH1 0x02
00001b00: EXP
00001b01: PUSH3 0x461bcd
00001b05: MUL
00001b06: DUP2
00001b07: MSTORE
00001b08: PUSH1 0x20
00001b0a: PUSH1 0x04
00001b0c: DUP3
00001b0d: ADD
00001b0e: MSTORE
00001b0f: PUSH1 0x13
00001b11: PUSH1 0x24
00001b13: DUP3
00001b14: ADD
00001b15: MSTORE
00001b16: PUSH32 0x496e76616c69642070657263656e746167652e00000000000000000000000000
00001b37: PUSH1 0x44
00001b39: DUP3
00001b3a: ADD
00001b3b: MSTORE
00001b3c: SWAP1
00001b3d: MLOAD
00001b3e: SWAP1
00001b3f: DUP2
00001b40: SWAP1
00001b41: SUB
00001b42: PUSH1 0x64
00001b44: ADD
00001b45: SWAP1
00001b46: REVERT
00001b47: JUMPDEST
00001b48: PUSH1 0x00
00001b4a: DUP3
00001b4b: DUP2
00001b4c: MSTORE
00001b4d: PUSH1 0x02
00001b4f: PUSH1 0x20
00001b51: SWAP1
00001b52: DUP2
00001b53: MSTORE
00001b54: PUSH1 0x40
00001b56: SWAP2
00001b57: DUP3
00001b58: SWAP1
00001b59: KECCAK256
00001b5a: DUP4
00001b5b: SWAP1
00001b5c: SSTORE
00001b5d: DUP2
00001b5e: MLOAD
00001b5f: DUP4
00001b60: DUP2
00001b61: MSTORE
00001b62: SWAP2
00001b63: MLOAD
00001b64: DUP5
00001b65: SWAP3
00001b66: PUSH32 0xd968a3cc702265c3ab67356df15ca21d50167b011f198b963e2a868e04e3d5e0
00001b87: SWAP3
00001b88: SWAP1
00001b89: DUP3
00001b8a: SWAP1
00001b8b: SUB
00001b8c: ADD
00001b8d: SWAP1
00001b8e: LOG2
00001b8f: POP
00001b90: POP
00001b91: JUMP
00001b92: JUMPDEST
00001b93: PUSH1 0x01
00001b95: ADD
00001b96: SLOAD
00001b97: PUSH1 0x00
00001b99: LT
00001b9a: SWAP1
00001b9b: JUMP
00001b9c: JUMPDEST
00001b9d: PUSH1 0x26
00001b9f: SLOAD
00001ba0: PUSH1 0x40
00001ba2: DUP1
00001ba3: MLOAD
00001ba4: PUSH32 0xc69cd09d00000000000000000000000000000000000000000000000000000000
00001bc5: DUP2
00001bc6: MSTORE
00001bc7: SWAP1
00001bc8: MLOAD
00001bc9: PUSH1 0x00
00001bcb: SWAP3
00001bcc: PUSH1 0x01
00001bce: PUSH1 0xa0
00001bd0: PUSH1 0x02
00001bd2: EXP
00001bd3: SUB
00001bd4: AND
00001bd5: SWAP2
00001bd6: PUSH4 0xf3c0632b
00001bdb: SWAP2
00001bdc: DUP4
00001bdd: SWAP2
00001bde: PUSH4 0xc69cd09d
00001be3: SWAP2
00001be4: PUSH1 0x04
00001be6: DUP1
00001be7: DUP4
00001be8: ADD
00001be9: SWAP3
00001bea: PUSH1 0x20
00001bec: SWAP3
00001bed: SWAP2
00001bee: SWAP1
00001bef: DUP3
00001bf0: SWAP1
00001bf1: SUB
00001bf2: ADD
00001bf3: DUP2
00001bf4: DUP10
00001bf5: DUP8
00001bf6: DUP1
00001bf7: EXTCODESIZE
00001bf8: ISZERO
00001bf9: DUP1
00001bfa: ISZERO
00001bfb: PUSH2 0x1c03
00001bfe: JUMPI
00001bff: PUSH1 0x00
00001c01: DUP1
00001c02: REVERT
00001c03: JUMPDEST
00001c04: POP
00001c05: GAS
00001c06: CALL
00001c07: ISZERO
00001c08: DUP1
00001c09: ISZERO
00001c0a: PUSH2 0x1c17
00001c0d: JUMPI
00001c0e: RETURNDATASIZE
00001c0f: PUSH1 0x00
00001c11: DUP1
00001c12: RETURNDATACOPY
00001c13: RETURNDATASIZE
00001c14: PUSH1 0x00
00001c16: REVERT
00001c17: JUMPDEST
00001c18: POP
00001c19: POP
00001c1a: POP
00001c1b: POP
00001c1c: PUSH1 0x40
00001c1e: MLOAD
00001c1f: RETURNDATASIZE
00001c20: PUSH1 0x20
00001c22: DUP2
00001c23: LT
00001c24: ISZERO
00001c25: PUSH2 0x1c2d
00001c28: JUMPI
00001c29: PUSH1 0x00
00001c2b: DUP1
00001c2c: REVERT
00001c2d: JUMPDEST
00001c2e: POP
00001c2f: MLOAD
00001c30: PUSH1 0x27
00001c32: SLOAD
00001c33: PUSH1 0x40
00001c35: DUP1
00001c36: MLOAD
00001c37: PUSH32 0x21ffdd3000000000000000000000000000000000000000000000000000000000
00001c58: DUP2
00001c59: MSTORE
00001c5a: SWAP1
00001c5b: MLOAD
00001c5c: PUSH1 0x01
00001c5e: PUSH1 0xa0
00001c60: PUSH1 0x02
00001c62: EXP
00001c63: SUB
00001c64: SWAP1
00001c65: SWAP3
00001c66: AND
00001c67: SWAP2
00001c68: PUSH4 0x21ffdd30
00001c6d: SWAP2
00001c6e: PUSH1 0x04
00001c70: DUP1
00001c71: DUP3
00001c72: ADD
00001c73: SWAP3
00001c74: PUSH1 0x20
00001c76: SWAP3
00001c77: SWAP1
00001c78: SWAP2
00001c79: SWAP1
00001c7a: DUP3
00001c7b: SWAP1
00001c7c: SUB
00001c7d: ADD
00001c7e: DUP2
00001c7f: PUSH1 0x00
00001c81: DUP8
00001c82: DUP1
00001c83: EXTCODESIZE
00001c84: ISZERO
00001c85: DUP1
00001c86: ISZERO
00001c87: PUSH2 0x1c8f
00001c8a: JUMPI
00001c8b: PUSH1 0x00
00001c8d: DUP1
00001c8e: REVERT
00001c8f: JUMPDEST
00001c90: POP
00001c91: GAS
00001c92: CALL
00001c93: ISZERO
00001c94: DUP1
00001c95: ISZERO
00001c96: PUSH2 0x1ca3
00001c99: JUMPI
00001c9a: RETURNDATASIZE
00001c9b: PUSH1 0x00
00001c9d: DUP1
00001c9e: RETURNDATACOPY
00001c9f: RETURNDATASIZE
00001ca0: PUSH1 0x00
00001ca2: REVERT
00001ca3: JUMPDEST
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: POP
00001ca8: PUSH1 0x40
00001caa: MLOAD
00001cab: RETURNDATASIZE
00001cac: PUSH1 0x20
00001cae: DUP2
00001caf: LT
00001cb0: ISZERO
00001cb1: PUSH2 0x1cb9
00001cb4: JUMPI
00001cb5: PUSH1 0x00
00001cb7: DUP1
00001cb8: REVERT
00001cb9: JUMPDEST
00001cba: POP
00001cbb: MLOAD
00001cbc: PUSH1 0x40
00001cbe: DUP1
00001cbf: MLOAD
00001cc0: PUSH1 0xe0
00001cc2: PUSH1 0x02
00001cc4: EXP
00001cc5: PUSH4 0xffffffff
00001cca: DUP7
00001ccb: AND
00001ccc: MUL
00001ccd: DUP2
00001cce: MSTORE
00001ccf: PUSH1 0x04
00001cd1: DUP2
00001cd2: ADD
00001cd3: SWAP3
00001cd4: SWAP1
00001cd5: SWAP3
00001cd6: MSTORE
00001cd7: PUSH1 0x01
00001cd9: PUSH1 0xa0
00001cdb: PUSH1 0x02
00001cdd: EXP
00001cde: SUB
00001cdf: DUP8
00001ce0: AND
00001ce1: PUSH1 0x24
00001ce3: DUP4
00001ce4: ADD
00001ce5: MSTORE
00001ce6: MLOAD
00001ce7: PUSH1 0x44
00001ce9: DUP1
00001cea: DUP4
00001ceb: ADD
00001cec: SWAP3
00001ced: PUSH1 0x20
00001cef: SWAP3
00001cf0: SWAP2
00001cf1: SWAP1
00001cf2: DUP3
00001cf3: SWAP1
00001cf4: SUB
00001cf5: ADD
00001cf6: DUP2
00001cf7: DUP6
00001cf8: DUP9
00001cf9: DUP1
00001cfa: EXTCODESIZE
00001cfb: ISZERO
00001cfc: DUP1
00001cfd: ISZERO
00001cfe: PUSH2 0x1d06
00001d01: JUMPI
00001d02: PUSH1 0x00
00001d04: DUP1
00001d05: REVERT
00001d06: JUMPDEST
00001d07: POP
00001d08: GAS
00001d09: CALL
00001d0a: ISZERO
00001d0b: DUP1
00001d0c: ISZERO
00001d0d: PUSH2 0x1d1a
00001d10: JUMPI
00001d11: RETURNDATASIZE
00001d12: PUSH1 0x00
00001d14: DUP1
00001d15: RETURNDATACOPY
00001d16: RETURNDATASIZE
00001d17: PUSH1 0x00
00001d19: REVERT
00001d1a: JUMPDEST
00001d1b: POP
00001d1c: POP
00001d1d: POP
00001d1e: POP
00001d1f: POP
00001d20: PUSH1 0x40
00001d22: MLOAD
00001d23: RETURNDATASIZE
00001d24: PUSH1 0x20
00001d26: DUP2
00001d27: LT
00001d28: ISZERO
00001d29: PUSH2 0x1d31
00001d2c: JUMPI
00001d2d: PUSH1 0x00
00001d2f: DUP1
00001d30: REVERT
00001d31: JUMPDEST
00001d32: POP
00001d33: MLOAD
00001d34: SWAP3
00001d35: SWAP2
00001d36: POP
00001d37: POP
00001d38: JUMP
00001d39: JUMPDEST
00001d3a: PUSH1 0x00
00001d3c: DUP1
00001d3d: PUSH2 0x1d64
00001d40: PUSH1 0x3c
00001d42: PUSH2 0x1d58
00001d45: DUP6
00001d46: PUSH1 0x01
00001d48: ADD
00001d49: SLOAD
00001d4a: TIMESTAMP
00001d4b: PUSH2 0x1dcd
00001d4e: SWAP1
00001d4f: SWAP2
00001d50: SWAP1
00001d51: PUSH4 0xffffffff
00001d56: AND
00001d57: JUMP
00001d58: JUMPDEST
00001d59: SWAP1
00001d5a: PUSH4 0xffffffff
00001d5f: PUSH2 0x1ddf
00001d62: AND
00001d63: JUMP
00001d64: JUMPDEST
00001d65: SWAP1
00001d66: POP
00001d67: PUSH2 0x126d
00001d6a: DUP4
00001d6b: PUSH1 0x00
00001d6d: ADD
00001d6e: SLOAD
00001d6f: DUP3
00001d70: PUSH2 0x1df4
00001d73: JUMP
00001d74: JUMPDEST
00001d75: PUSH1 0x00
00001d77: PUSH2 0x1d91
00001d7a: PUSH2 0x2710
00001d7d: PUSH2 0x1d58
00001d80: PUSH1 0x2b
00001d82: SLOAD
00001d83: DUP6
00001d84: PUSH2 0x1e9d
00001d87: SWAP1
00001d88: SWAP2
00001d89: SWAP1
00001d8a: PUSH4 0xffffffff
00001d8f: AND
00001d90: JUMP
00001d91: JUMPDEST
00001d92: SWAP3
00001d93: SWAP2
00001d94: POP
00001d95: POP
00001d96: JUMP
00001d97: JUMPDEST
00001d98: PUSH1 0x00
00001d9a: PUSH2 0x126d
00001d9d: PUSH2 0x2710
00001da0: PUSH2 0x1d58
00001da3: PUSH1 0x02
00001da5: PUSH1 0x00
00001da7: PUSH2 0x1daf
00001daa: DUP9
00001dab: PUSH2 0x1ec6
00001dae: JUMP
00001daf: JUMPDEST
00001db0: DUP2
00001db1: MSTORE
00001db2: PUSH1 0x20
00001db4: ADD
00001db5: SWAP1
00001db6: DUP2
00001db7: MSTORE
00001db8: PUSH1 0x20
00001dba: ADD
00001dbb: PUSH1 0x00
00001dbd: KECCAK256
00001dbe: SLOAD
00001dbf: DUP6
00001dc0: PUSH2 0x1e9d
00001dc3: SWAP1
00001dc4: SWAP2
00001dc5: SWAP1
00001dc6: PUSH4 0xffffffff
00001dcb: AND
00001dcc: JUMP
00001dcd: JUMPDEST
00001dce: PUSH1 0x00
00001dd0: DUP3
00001dd1: DUP3
00001dd2: GT
00001dd3: ISZERO
00001dd4: PUSH2 0x1dd9
00001dd7: JUMPI
00001dd8: INVALID
00001dd9: JUMPDEST
00001dda: POP
00001ddb: SWAP1
00001ddc: SUB
00001ddd: SWAP1
00001dde: JUMP
00001ddf: JUMPDEST
00001de0: PUSH1 0x00
00001de2: DUP2
00001de3: DUP4
00001de4: DUP2
00001de5: ISZERO
00001de6: ISZERO
00001de7: PUSH2 0x1dec
00001dea: JUMPI
00001deb: INVALID
00001dec: JUMPDEST
00001ded: DIV
00001dee: SWAP4
00001def: SWAP3
00001df0: POP
00001df1: POP
00001df2: POP
00001df3: JUMP
00001df4: JUMPDEST
00001df5: PUSH1 0x00
00001df7: DUP1
00001df8: DUP1
00001df9: PUSH3 0x020000
00001dfd: DUP5
00001dfe: DIV
00001dff: DUP2
00001e00: LT
00001e01: ISZERO
00001e02: PUSH2 0x1e0f
00001e05: JUMPI
00001e06: PUSH1 0x03
00001e08: SLOAD
00001e09: SWAP3
00001e0a: POP
00001e0b: PUSH2 0x1e95
00001e0e: JUMP
00001e0f: JUMPDEST
00001e10: POP
00001e11: DUP4
00001e12: SWAP1
00001e13: POP
00001e14: PUSH1 0x00
00001e16: JUMPDEST
00001e17: PUSH1 0x11
00001e19: DUP2
00001e1a: LT
00001e1b: ISZERO
00001e1c: PUSH2 0x1e7f
00001e1f: JUMPI
00001e20: PUSH1 0x00
00001e22: PUSH1 0x01
00001e24: PUSH1 0x02
00001e26: DUP4
00001e27: SWAP1
00001e28: EXP
00001e29: DUP7
00001e2a: DIV
00001e2b: AND
00001e2c: GT
00001e2d: ISZERO
00001e2e: PUSH2 0x1e77
00001e31: JUMPI
00001e32: PUSH2 0x1e74
00001e35: PUSH1 0x15
00001e37: DUP3
00001e38: PUSH1 0x11
00001e3a: DUP2
00001e3b: LT
00001e3c: PUSH2 0x1e41
00001e3f: JUMPI
00001e40: INVALID
00001e41: JUMPDEST
00001e42: ADD
00001e43: SLOAD
00001e44: PUSH1 0x0a
00001e46: EXP
00001e47: PUSH2 0x1d58
00001e4a: PUSH13 0x01000000000000000000000000
00001e58: DUP2
00001e59: PUSH1 0x04
00001e5b: DUP7
00001e5c: PUSH1 0x11
00001e5e: DUP2
00001e5f: LT
00001e60: PUSH2 0x1e65
00001e63: JUMPI
00001e64: INVALID
00001e65: JUMPDEST
00001e66: ADD
00001e67: SLOAD
00001e68: DUP8
00001e69: SWAP1
00001e6a: PUSH4 0xffffffff
00001e6f: PUSH2 0x1e9d
00001e72: AND
00001e73: JUMP
00001e74: JUMPDEST
00001e75: SWAP2
00001e76: POP
00001e77: JUMPDEST
00001e78: PUSH1 0x01
00001e7a: ADD
00001e7b: PUSH2 0x1e16
00001e7e: JUMP
00001e7f: JUMPDEST
00001e80: PUSH1 0x03
00001e82: SLOAD
00001e83: DUP3
00001e84: GT
00001e85: PUSH2 0x1e90
00001e88: JUMPI
00001e89: PUSH1 0x03
00001e8b: SLOAD
00001e8c: PUSH2 0x1e92
00001e8f: JUMP
00001e90: JUMPDEST
00001e91: DUP2
00001e92: JUMPDEST
00001e93: SWAP3
00001e94: POP
00001e95: JUMPDEST
00001e96: POP
00001e97: POP
00001e98: SWAP3
00001e99: SWAP2
00001e9a: POP
00001e9b: POP
00001e9c: JUMP
00001e9d: JUMPDEST
00001e9e: PUSH1 0x00
00001ea0: DUP3
00001ea1: ISZERO
00001ea2: ISZERO
00001ea3: PUSH2 0x1eae
00001ea6: JUMPI
00001ea7: POP
00001ea8: PUSH1 0x00
00001eaa: PUSH2 0x1d91
00001ead: JUMP
00001eae: JUMPDEST
00001eaf: POP
00001eb0: DUP2
00001eb1: DUP2
00001eb2: MUL
00001eb3: DUP2
00001eb4: DUP4
00001eb5: DUP3
00001eb6: DUP2
00001eb7: ISZERO
00001eb8: ISZERO
00001eb9: PUSH2 0x1ebe
00001ebc: JUMPI
00001ebd: INVALID
00001ebe: JUMPDEST
00001ebf: DIV
00001ec0: EQ
00001ec1: PUSH2 0x1d91
00001ec4: JUMPI
00001ec5: INVALID
00001ec6: JUMPDEST
00001ec7: PUSH1 0x01
00001ec9: SLOAD
00001eca: PUSH1 0x40
00001ecc: DUP1
00001ecd: MLOAD
00001ece: PUSH32 0x548c0ef400000000000000000000000000000000000000000000000000000000
00001eef: DUP2
00001ef0: MSTORE
00001ef1: PUSH1 0x01
00001ef3: PUSH1 0xa0
00001ef5: PUSH1 0x02
00001ef7: EXP
00001ef8: SUB
00001ef9: DUP5
00001efa: DUP2
00001efb: AND
00001efc: PUSH1 0x04
00001efe: DUP4
00001eff: ADD
00001f00: MSTORE
00001f01: SWAP2
00001f02: MLOAD
00001f03: PUSH1 0x00
00001f05: SWAP4
00001f06: SWAP3
00001f07: SWAP1
00001f08: SWAP3
00001f09: AND
00001f0a: SWAP2
00001f0b: PUSH4 0x548c0ef4
00001f10: SWAP2
00001f11: PUSH1 0x24
00001f13: DUP1
00001f14: DUP3
00001f15: ADD
00001f16: SWAP3
00001f17: PUSH1 0x20
00001f19: SWAP3
00001f1a: SWAP1
00001f1b: SWAP2
00001f1c: SWAP1
00001f1d: DUP3
00001f1e: SWAP1
00001f1f: SUB
00001f20: ADD
00001f21: DUP2
00001f22: DUP8
00001f23: DUP8
00001f24: DUP1
00001f25: EXTCODESIZE
00001f26: ISZERO
00001f27: DUP1
00001f28: ISZERO
00001f29: PUSH2 0x1f31
00001f2c: JUMPI
00001f2d: PUSH1 0x00
00001f2f: DUP1
00001f30: REVERT
00001f31: JUMPDEST
00001f32: POP
00001f33: GAS
00001f34: CALL
00001f35: ISZERO
00001f36: DUP1
00001f37: ISZERO
00001f38: PUSH2 0x1f45
00001f3b: JUMPI
00001f3c: RETURNDATASIZE
00001f3d: PUSH1 0x00
00001f3f: DUP1
00001f40: RETURNDATACOPY
00001f41: RETURNDATASIZE
00001f42: PUSH1 0x00
00001f44: REVERT
00001f45: JUMPDEST
00001f46: POP
00001f47: POP
00001f48: POP
00001f49: POP
00001f4a: PUSH1 0x40
00001f4c: MLOAD
00001f4d: RETURNDATASIZE
00001f4e: PUSH1 0x20
00001f50: DUP2
00001f51: LT
00001f52: ISZERO
00001f53: PUSH2 0x1d31
00001f56: JUMPI
00001f57: PUSH1 0x00
00001f59: DUP1
00001f5a: REVERT
00001f5b: STOP
00001f5c: GASLIMIT
00001f5d: PUSH8 0x672073616c65206d
00001f66: PUSH22 0x7374206265206f70656e656420616c72656164792e53
00001f7d: PUSH6 0x6e646572206d
00001f84: PUSH22 0x7374206265206f776e65722e00000000000000000000
00001f9b: STOP
00001f9c: LOG1
00001f9d: PUSH6 0x627a7a723058
00001fa4: KECCAK256
00001fa5: DUP6
00001fa6: LT
00001fa7: PUSH11 0x4fbef12d9dc86fdb4b2a56
00001fb3: UNKNOWN(0xB3)
00001fb4: UNKNOWN(0xBA)
00001fb5: PUSH9 0xaeac9261690300cef8
00001fbf: CALLCODE
00001fc0: MSIZE
00001fc1: UNKNOWN(0xCC)
00001fc2: BALANCE
00001fc3: SLT
00001fc4: DUP10
00001fc5: STOP
00001fc6: UNKNOWN(0x29)

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xb67ee5381285321928ec7b1584b7eec786547afaeec2cd01e9fb7fbd298fff39
call_targets: 0xeba02cfc36c01acbe10f6bcb909b76749e54956a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb67ee5381285321928ec7b1584b7eec786547afaeec2cd01e9fb7fbd298fff39",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeba02cfc36c01acbe10f6bcb909b76749e54956a"
    ],
    "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": "0x0bfd3439",
            "selector": "0x0bfd3439",
            "calldata_variants": [
                "0x0bfd3439",
                "0x0bfd34390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x17449224",
            "selector": "0x17449224",
            "calldata_variants": [
                "0x17449224",
                "0x174492240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x197f4ba0",
            "selector": "0x197f4ba0",
            "calldata_variants": [
                "0x197f4ba0",
                "0x197f4ba00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bc84a94",
            "selector": "0x1bc84a94",
            "calldata_variants": [
                "0x1bc84a94",
                "0x1bc84a940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bff28cb",
            "selector": "0x1bff28cb",
            "calldata_variants": [
                "0x1bff28cb",
                "0x1bff28cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e7bef65",
            "selector": "0x1e7bef65",
            "calldata_variants": [
                "0x1e7bef65",
                "0x1e7bef650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203d4f20",
            "selector": "0x203d4f20",
            "calldata_variants": [
                "0x203d4f20",
                "0x203d4f200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28ec06aa",
            "selector": "0x28ec06aa",
            "calldata_variants": [
                "0x28ec06aa",
                "0x28ec06aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3308,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4406,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4841,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [],
    "untrusted_call_count": 11
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xb67ee5381285321928ec7b1584b7eec786547afaeec2cd01e9fb7fbd298fff39
call_targets: 0xeba02cfc36c01acbe10f6bcb909b76749e54956a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb67ee5381285321928ec7b1584b7eec786547afaeec2cd01e9fb7fbd298fff39",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xeba02cfc36c01acbe10f6bcb909b76749e54956a"
    ],
    "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": "0x0bfd3439",
            "selector": "0x0bfd3439",
            "calldata_variants": [
                "0x0bfd3439",
                "0x0bfd34390000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x17449224",
            "selector": "0x17449224",
            "calldata_variants": [
                "0x17449224",
                "0x174492240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x197f4ba0",
            "selector": "0x197f4ba0",
            "calldata_variants": [
                "0x197f4ba0",
                "0x197f4ba00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bc84a94",
            "selector": "0x1bc84a94",
            "calldata_variants": [
                "0x1bc84a94",
                "0x1bc84a940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1bff28cb",
            "selector": "0x1bff28cb",
            "calldata_variants": [
                "0x1bff28cb",
                "0x1bff28cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e7bef65",
            "selector": "0x1e7bef65",
            "calldata_variants": [
                "0x1e7bef65",
                "0x1e7bef650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x203d4f20",
            "selector": "0x203d4f20",
            "calldata_variants": [
                "0x203d4f20",
                "0x203d4f200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x28ec06aa",
            "selector": "0x28ec06aa",
            "calldata_variants": [
                "0x28ec06aa",
                "0x28ec06aa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3308,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4406,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4841,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": []
}
medium other codex Potentially user-influenced external CALLs with ETH value 75 no
view
evidence_json
{
    "evidence": "detector_findings[0]/[1] report 11 CALL sites with computed target/value and no guards detected; callsites list shows CALL at pcs 3308, 4406, 4841, 5506, 5586, 5755, 7174, 7314, 7433, 7988. Validation trace notes constant_target=self but not confirmed, so exposure is uncertain.",
    "locations": [
        "pc:0xcec",
        "pc:0x1136",
        "pc:0x12e9",
        "pc:0x1582",
        "pc:0x15d2",
        "pc:0x167b",
        "pc:0x1c06",
        "pc:0x1c92",
        "pc:0x1d09",
        "pc:0x1f34"
    ],
    "recommendation": "Confirm which functions reach these CALL sites and enforce strict access control or target allowlists. If user input affects target/value, add validation and consider reentrancy protection around value-bearing calls. Ensure call success is checked and failures revert consistently.",
    "exploit_scenario": "If any externally callable function allows a user to influence the call target and/or value (via calldata or mutable storage), an attacker could force the contract to call arbitrary contracts or transfer ETH, potentially triggering reentrancy or unintended fund movements. This is uncertain because a validation trace observed a constant target (self) for one path, but the bytecode analysis still classifies these callsites as computed-target/value with no detected guards."
}
low other codex CALLCODE present in unreachable tail code (if reachable, executes in caller storage) 65 no
view
evidence_json
{
    "evidence": "Basic block at start_pc 8092 contains CALLCODE with computed target/value (callsites list: pc 8127). CFG has zero incoming edges to bb:8092, indicating likely unreachable code.",
    "locations": [
        "pc:0x1fbf"
    ],
    "recommendation": "Verify the tail section is truly unreachable. If any path can reach it, remove the CALLCODE or replace with safer patterns under strict access control.",
    "exploit_scenario": "If control flow could reach the CALLCODE at pc 8127, a computed target would execute in the caller\u2019s storage context, enabling arbitrary storage writes and fund theft. CFG shows no incoming edges to the CALLCODE block, suggesting it is likely unreachable metadata, but reachability is uncertain in bytecode-only analysis."
}
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
}