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

Analysis Run

019bab3b-aab8-7367-9218-8babaed6813f

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
SELFDESTRUCT present
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
38380 artifact.fetch complete 1 / 3 3 months ago
38381 proxy.resolve complete 1 / 3 3 months ago
38382 tool.cast_disasm complete 1 / 3 3 months ago
38383 analysis.bundle complete 1 / 3 3 months ago
38384 capability.graph complete 1 / 3 3 months ago
38385 detector.run complete 1 / 3 3 months ago
38386 validation.fork complete 1 / 3 3 months ago
38977 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Bytecode analysis shows potentially dangerous opcodes (SELFDESTRUCT, CREATE/CREATE2) with unclear access control and several computed CALLs with value and unchecked returndata; evidence is heuristic-only so confidence is low to medium.
View stdout
{"no_findings":false,"summary":"Bytecode analysis shows potentially dangerous opcodes (SELFDESTRUCT, CREATE/CREATE2) with unclear access control and several computed CALLs with value and unchecked returndata; evidence is heuristic-only so confidence is low to medium.","findings":[{"severity":"medium","category":"access_control","title":"SELFDESTRUCT reachable with unclear access control","exploit_scenario":"If the SELFDESTRUCT path is callable by an unprivileged user (e.g., via a fallback or unguarded selector), an attacker could permanently destroy the contract and force-send its ETH balance to a beneficiary address. Guard detection is heuristic only and shows a suspicious msg.sender == 0xffff... pattern, so access control cannot be confirmed from bytecode.","recommendation":"Locate the function that leads to SELFDESTRUCT and ensure it is protected by a robust authorization check (e.g., owner/admin in storage), and consider removing SELFDESTRUCT entirely if not strictly required.","evidence":"Detector flagged SELFDESTRUCT reachable; basic block contains SELFDESTRUCT at pc 12151. Guards reported are heuristic and compare msg.sender to 0xffff... which may be a false positive.","locations":["pc:0x2f77"]},{"severity":"low","category":"access_control","title":"CREATE/CREATE2 opcodes reachable; deployment control unclear","exploit_scenario":"If the CREATE/CREATE2 path is accessible to arbitrary callers, they could deploy arbitrary contracts through this contract (potentially using its balance), or abuse metamorphic deployment patterns. This may be intended if the contract is a factory, but access control cannot be confirmed from bytecode alone.","recommendation":"Confirm that contract creation is gated to trusted roles or constrained by fixed init code and salt; if not intended, remove CREATE/CREATE2 usage.","evidence":"Heuristics report CREATE and CREATE2 present; basic block shows CREATE2 then CREATE at pc 12164 with no obvious local guard in the same block.","locations":["pc:0x2f84"]},{"severity":"low","category":"reentrancy","title":"Computed CALLs with value and unchecked returndata","exploit_scenario":"Multiple CALL sites use computed targets and values with no visible returndata checks. If any of these targets are user-controlled and state updates occur after the CALL, this could enable reentrancy or silent failures. A validation trace observed the target as the contract itself, but this was not confirmed across all paths.","recommendation":"Audit each CALL site to ensure targets are trusted, consider using checks-effects-interactions ordering or reentrancy guards, and verify return values where appropriate.","evidence":"Eight CALL sites have computed target/value and returndata_checked=null; detector flagged untrusted CALL and ETH value transfer as reachable, but not confirmed across all paths.","locations":["pc:0x0e26","pc:0x1307","pc:0x14c2","pc:0x19d7","pc:0x1c44","pc:0x2053","pc:0x282e","pc:0x2d72"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-k3l70mss
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab75-b0c3-7f81-a1d0-e69bb3fc456e
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers

thinking
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-k3l70mss succeeded in 11ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-k3l70mss succeeded in 19ms:
{
  "analysis_artifact": {
    "address": "0xd1901bd2063d2c8f649bf31b6df6d0f853a6bda3",
    "artifact_hash": "0xa50a24ec28307579c2fc0f51c5507681e3539c212b87c65f17118fcbac30b73d",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 2979,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 4552,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 5416,
            "type": "msg_sender_eq_const",

thinking
**Analyzing callsites and access control heuristics**
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-k3l70mss succeeded in 31ms:
12588:          "storage": {
13003:          "storage": {
13418:          "storage": {
13833:          "storage": {
14248:          "storage": {
14663:          "storage": {
15078:          "storage": {
15493:          "storage": {
15908:          "storage": {
16323:          "storage": {
16738:          "storage": {
17153:          "storage": {
17568:          "storage": {
17983:          "storage": {
18398:          "storage": {
18813:          "storage": {
19228:          "storage": {
19643:          "storage": {
20058:          "storage": {
20473:          "storage": {

thinking
**Investigating storage structure in JSON**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
print(data.keys())
print(data['analysis_artifact'].keys())
print(data['analysis_artifact']['artifact_json'].keys())
PY" in /tmp/codex-k3l70mss succeeded in 30ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
dict_keys(['address', 'artifact_hash', 'artifact_json', 'block_number', 'chain_id', 'codehash', 'created_at', 'id', 'updated_at', 'version'])
dict_keys(['auth', 'basic_blocks', 'callsites', 'cfg_edges', 'cfg_hash', 'dispatcher_type', 'function_entries', 'functions', 'selectors', 'sinks', 'storage', 'version'])

thinking
**Inspecting artifact_json.storage details**
exec
/bin/bash -lc "python - <<'PY'
import json, textwrap
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
storage=data['analysis_artifact']['artifact_json'].get('storage')
print(type(storage))
if isinstance(storage, dict):
    print(storage.keys())
    # show small subset
    for k in list(storage.keys())[:10]:
        print(k, storage[k])
PY" in /tmp/codex-k3l70mss succeeded in 34ms:
<class 'dict'>
dict_keys(['keccak_count', 'reads', 'slots', 'writes'])
keccak_count 20
reads 119
slots [{'op': 'SLOAD', 'pc': 2927, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3108, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3138, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3347, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3376, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3939, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 4333, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 4422, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000100'}, {'op': 'SLOAD', 'pc': 4490, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 4500, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4592, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4653, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4899, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 5356, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 5364, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5456, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5626, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5656, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5795, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 5820, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5877, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 5947, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 5973, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6059, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 6120, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6190, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6216, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6302, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 6381, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6445, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6722, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6752, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6961, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6990, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 7553, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 7946, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7956, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8048, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8109, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8311, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8331, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8436, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000a'}, {'op': 'SLOAD', 'pc': 8444, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8536, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8636, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9296, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9326, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9465, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 9491, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9548, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9618, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9644, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9730, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 9791, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9861, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9887, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9973, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 10052, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 10116, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 10732, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 10985, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 10988, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 11029, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000a'}, {'op': 'SLOAD', 'pc': 11089, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 11305, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 11315, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 11407, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 11468, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 11662, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SSTORE', 'pc': 12134, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}]
writes 50

thinking
**Analyzing function selectors and callsites**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
cs=data['analysis_artifact']['artifact_json'].get('callsites', [])
print('callsites', len(cs))
for c in cs:
    print(c)
PY" in /tmp/codex-k3l70mss succeeded in 32ms:
callsites 8
{'opcode': 'CALL', 'pc': 3622, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 4871, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 5314, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 6615, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 7236, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 8275, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 10286, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 11634, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}

thinking
**Analyzing potential contract vulnerabilities**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
print(data['analysis_artifact']['artifact_json'].get('sinks'))
PY" in /tmp/codex-k3l70mss succeeded in 54ms:
{'call': 8, 'create': 1, 'create2': 1, 'delegatecall': 0, 'selfdestruct': 1, 'staticcall': 0, 'upgrade_slot_write_suspected': False}

thinking
**Scanning basic blocks for SELFDESTRUCT**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
blocks=data['analysis_artifact']['artifact_json'].get('basic_blocks', [])
locs=[]
for b in blocks:
    if any(op=='SELFDESTRUCT' for op in b.get('opcodes', [])):
        locs.append((b['start_pc'], b['end_pc']))
print(locs)
PY" in /tmp/codex-k3l70mss succeeded in 29ms:
[(12151, 12163)]

thinking
**Converting decimal to hex**
exec
/bin/bash -lc "python - <<'PY'
print(hex(12151))
print(hex(12163))
PY" in /tmp/codex-k3l70mss succeeded in 17ms:
0x2f77
0x2f83

thinking
**Searching for CREATE/CREATE2 opcodes**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
blocks=data['analysis_artifact']['artifact_json'].get('basic_blocks', [])
locs=[]
for b in blocks:
    if any(op in ('CREATE','CREATE2') for op in b.get('opcodes', [])):
        locs.append((b['start_pc'], b['end_pc'], [op for op in b.get('opcodes', []) if op in ('CREATE','CREATE2')]))
print(locs)
PY" in /tmp/codex-k3l70mss succeeded in 62ms:
[(12164, 12168, ['CREATE2', 'CREATE'])]

thinking
**Converting addresses to hex notation**
exec
/bin/bash -lc "python - <<'PY'
pcs=[3622,4871,5314,6615,7236,8275,10286,11634]
print([hex(p) for p in pcs])
PY" in /tmp/codex-k3l70mss succeeded in 17ms:
['0xe26', '0x1307', '0x14c2', '0x19d7', '0x1c44', '0x2053', '0x282e', '0x2d72']

thinking
**Evaluating access control and external calls**

I'm analyzing the presence of access control, ownership functions, and external call patterns. The guard detection looks unreliable, so I remain cautious about access control coverage. I’m also reviewing low-level CALLs with value transfers lacking return-data checks, potential selfdestruct and create opcodes, and upgradeability indicators, aiming to identify any security risks or findings with appropriate severity.
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
func_entries=data['analysis_artifact']['artifact_json'].get('function_entries')
print('function_entries', type(func_entries), len(func_entries))
print(func_entries[:5])
PY" in /tmp/codex-k3l70mss succeeded in 45ms:
function_entries <class 'list'> 28
[{'entry_pc': 356, 'selector': '0xffffffff'}, {'entry_pc': 112116998, 'selector': '0x02bb744c'}, {'entry_pc': 117300739, 'selector': '0x06aec506'}, {'entry_pc': 207978160, 'selector': '0x06fdde03'}, {'entry_pc': 374979563, 'selector': '0x0c657eb0'}]

thinking
**Analyzing entry points and guards**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
blocks=data['analysis_artifact']['artifact_json'].get('basic_blocks', [])
for b in blocks:
    if b.get('start_pc')==12151:
        print(b)
    if b.get('start_pc')==12164:
        print(b)
PY" in /tmp/codex-k3l70mss succeeded in 33ms:
{'end_pc': 12163, 'hash': '0x76a55669ae1edecef07b2ce6cd69362b3bd6ef3c2edb39f2bcb31792346c3f8b', 'opcodes': ['OP_A1', 'PUSH6', 'SHA3', 'OP_96', 'OP_81', 'MSTORE8', 'SELFDESTRUCT'], 'start_pc': 12151}
{'end_pc': 12168, 'hash': '0x93a968ce761009b7f996f4e90fe2929b3d655a1add52daf243f540182c3dddb8', 'opcodes': ['CREATE2', 'EXTCODECOPY', 'SUB', 'CREATE', 'REVERT'], 'start_pc': 12164}

thinking
**Analyzing potential bytecode vulnerabilities**

I'm gathering potential findings about selfdestruct, create opcodes, and computed calls in bytecode with unclear access control. I’ll emphasize uncertainties, possible exploit scenarios, severities, and evidence, then prepare a structured JSON response summarizing these risks.
codex
{"no_findings":false,"summary":"Bytecode analysis shows potentially dangerous opcodes (SELFDESTRUCT, CREATE/CREATE2) with unclear access control and several computed CALLs with value and unchecked returndata; evidence is heuristic-only so confidence is low to medium.","findings":[{"severity":"medium","category":"access_control","title":"SELFDESTRUCT reachable with unclear access control","exploit_scenario":"If the SELFDESTRUCT path is callable by an unprivileged user (e.g., via a fallback or unguarded selector), an attacker could permanently destroy the contract and force-send its ETH balance to a beneficiary address. Guard detection is heuristic only and shows a suspicious msg.sender == 0xffff... pattern, so access control cannot be confirmed from bytecode.","recommendation":"Locate the function that leads to SELFDESTRUCT and ensure it is protected by a robust authorization check (e.g., owner/admin in storage), and consider removing SELFDESTRUCT entirely if not strictly required.","evidence":"Detector flagged SELFDESTRUCT reachable; basic block contains SELFDESTRUCT at pc 12151. Guards reported are heuristic and compare msg.sender to 0xffff... which may be a false positive.","locations":["pc:0x2f77"]},{"severity":"low","category":"access_control","title":"CREATE/CREATE2 opcodes reachable; deployment control unclear","exploit_scenario":"If the CREATE/CREATE2 path is accessible to arbitrary callers, they could deploy arbitrary contracts through this contract (potentially using its balance), or abuse metamorphic deployment patterns. This may be intended if the contract is a factory, but access control cannot be confirmed from bytecode alone.","recommendation":"Confirm that contract creation is gated to trusted roles or constrained by fixed init code and salt; if not intended, remove CREATE/CREATE2 usage.","evidence":"Heuristics report CREATE and CREATE2 present; basic block shows CREATE2 then CREATE at pc 12164 with no obvious local guard in the same block.","locations":["pc:0x2f84"]},{"severity":"low","category":"reentrancy","title":"Computed CALLs with value and unchecked returndata","exploit_scenario":"Multiple CALL sites use computed targets and values with no visible returndata checks. If any of these targets are user-controlled and state updates occur after the CALL, this could enable reentrancy or silent failures. A validation trace observed the target as the contract itself, but this was not confirmed across all paths.","recommendation":"Audit each CALL site to ensure targets are trusted, consider using checks-effects-interactions ordering or reentrancy guards, and verify return values where appropriate.","evidence":"Eight CALL sites have computed target/value and returndata_checked=null; detector flagged untrusted CALL and ETH value transfer as reachable, but not confirmed across all paths.","locations":["pc:0x0e26","pc:0x1307","pc:0x14c2","pc:0x19d7","pc:0x1c44","pc:0x2053","pc:0x282e","pc:0x2d72"]}]}
tokens used
35,791
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T05:11:35.347032+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 24390,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode analysis shows potentially dangerous opcodes (SELFDESTRUCT, CREATE/CREATE2) with unclear access control and several computed CALLs with value and unchecked returndata; evidence is heuristic-only so confidence is low to medium.",
    "raw_final": {
        "summary": "Bytecode analysis shows potentially dangerous opcodes (SELFDESTRUCT, CREATE/CREATE2) with unclear access control and several computed CALLs with value and unchecked returndata; evidence is heuristic-only so confidence is low to medium.",
        "findings": [
            {
                "title": "SELFDESTRUCT reachable with unclear access control",
                "category": "access_control",
                "evidence": "Detector flagged SELFDESTRUCT reachable; basic block contains SELFDESTRUCT at pc 12151. Guards reported are heuristic and compare msg.sender to 0xffff... which may be a false positive.",
                "severity": "medium",
                "locations": [
                    "pc:0x2f77"
                ],
                "recommendation": "Locate the function that leads to SELFDESTRUCT and ensure it is protected by a robust authorization check (e.g., owner/admin in storage), and consider removing SELFDESTRUCT entirely if not strictly required.",
                "exploit_scenario": "If the SELFDESTRUCT path is callable by an unprivileged user (e.g., via a fallback or unguarded selector), an attacker could permanently destroy the contract and force-send its ETH balance to a beneficiary address. Guard detection is heuristic only and shows a suspicious msg.sender == 0xffff... pattern, so access control cannot be confirmed from bytecode."
            },
            {
                "title": "CREATE/CREATE2 opcodes reachable; deployment control unclear",
                "category": "access_control",
                "evidence": "Heuristics report CREATE and CREATE2 present; basic block shows CREATE2 then CREATE at pc 12164 with no obvious local guard in the same block.",
                "severity": "low",
                "locations": [
                    "pc:0x2f84"
                ],
                "recommendation": "Confirm that contract creation is gated to trusted roles or constrained by fixed init code and salt; if not intended, remove CREATE/CREATE2 usage.",
                "exploit_scenario": "If the CREATE/CREATE2 path is accessible to arbitrary callers, they could deploy arbitrary contracts through this contract (potentially using its balance), or abuse metamorphic deployment patterns. This may be intended if the contract is a factory, but access control cannot be confirmed from bytecode alone."
            },
            {
                "title": "Computed CALLs with value and unchecked returndata",
                "category": "reentrancy",
                "evidence": "Eight CALL sites have computed target/value and returndata_checked=null; detector flagged untrusted CALL and ETH value transfer as reachable, but not confirmed across all paths.",
                "severity": "low",
                "locations": [
                    "pc:0x0e26",
                    "pc:0x1307",
                    "pc:0x14c2",
                    "pc:0x19d7",
                    "pc:0x1c44",
                    "pc:0x2053",
                    "pc:0x282e",
                    "pc:0x2d72"
                ],
                "recommendation": "Audit each CALL site to ensure targets are trusted, consider using checks-effects-interactions ordering or reentrancy guards, and verify return values where appropriate.",
                "exploit_scenario": "Multiple CALL sites use computed targets and values with no visible returndata checks. If any of these targets are user-controlled and state updates occur after the CALL, this could enable reentrancy or silent failures. A validation trace observed the target as the contract itself, but this was not confirmed across all paths."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
1
CALL-family (heavy)
8
EXT*/BALANCE
8
Total opcodes
7364
Flags
selfdestruct_present create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x015f
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x02bb744c
0000003c: EQ
0000003d: PUSH2 0x0164
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x06aec506
00000047: EQ
00000048: PUSH2 0x01a9
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x06fdde03
00000052: EQ
00000053: PUSH2 0x02aa
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x0c657eb0
0000005d: EQ
0000005e: PUSH2 0x033a
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x1659bbeb
00000068: EQ
00000069: PUSH2 0x0365
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x19045a25
00000073: EQ
00000074: PUSH2 0x03aa
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x313ce567
0000007e: EQ
0000007f: PUSH2 0x0461
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x3f4ba83a
00000089: EQ
0000008a: PUSH2 0x048c
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x460c79c1
00000094: EQ
00000095: PUSH2 0x04a3
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x4e0d6e18
0000009f: EQ
000000a0: PUSH2 0x0516
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x54fd4d50
000000aa: EQ
000000ab: PUSH2 0x0617
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x560b65f7
000000b5: EQ
000000b6: PUSH2 0x0642
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x5c975abb
000000c0: EQ
000000c1: PUSH2 0x0687
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0x71061b0e
000000cb: EQ
000000cc: PUSH2 0x06b6
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0x736a3b64
000000d6: EQ
000000d7: PUSH2 0x06fb
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0x8456cb59
000000e1: EQ
000000e2: PUSH2 0x0726
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0x8da5cb5b
000000ec: EQ
000000ed: PUSH2 0x073d
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0xabf163b5
000000f7: EQ
000000f8: PUSH2 0x0794
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xb05345e4
00000102: EQ
00000103: PUSH2 0x07ef
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xba7b33ad
0000010d: EQ
0000010e: PUSH2 0x0844
00000111: JUMPI
00000112: DUP1
00000113: PUSH4 0xd0038c71
00000118: EQ
00000119: PUSH2 0x08fb
0000011c: JUMPI
0000011d: DUP1
0000011e: PUSH4 0xd1c554ea
00000123: EQ
00000124: PUSH2 0x096e
00000127: JUMPI
00000128: DUP1
00000129: PUSH4 0xd1f8ad91
0000012e: EQ
0000012f: PUSH2 0x0a25
00000132: JUMPI
00000133: DUP1
00000134: PUSH4 0xea6579dc
00000139: EQ
0000013a: PUSH2 0x0a74
0000013d: JUMPI
0000013e: DUP1
0000013f: PUSH4 0xf2fde38b
00000144: EQ
00000145: PUSH2 0x0ab5
00000148: JUMPI
00000149: DUP1
0000014a: PUSH4 0xf3309707
0000014f: EQ
00000150: PUSH2 0x0af8
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0xfbfb122c
0000015a: EQ
0000015b: PUSH2 0x0b23
0000015e: JUMPI
0000015f: JUMPDEST
00000160: PUSH1 0x00
00000162: DUP1
00000163: REVERT
00000164: JUMPDEST
00000165: CALLVALUE
00000166: DUP1
00000167: ISZERO
00000168: PUSH2 0x0170
0000016b: JUMPI
0000016c: PUSH1 0x00
0000016e: DUP1
0000016f: REVERT
00000170: JUMPDEST
00000171: POP
00000172: PUSH2 0x018f
00000175: PUSH1 0x04
00000177: DUP1
00000178: CALLDATASIZE
00000179: SUB
0000017a: DUP2
0000017b: ADD
0000017c: SWAP1
0000017d: DUP1
0000017e: DUP1
0000017f: CALLDATALOAD
00000180: SWAP1
00000181: PUSH1 0x20
00000183: ADD
00000184: SWAP1
00000185: SWAP3
00000186: SWAP2
00000187: SWAP1
00000188: POP
00000189: POP
0000018a: POP
0000018b: PUSH2 0x0b68
0000018e: JUMP
0000018f: JUMPDEST
00000190: PUSH1 0x40
00000192: MLOAD
00000193: DUP1
00000194: DUP3
00000195: ISZERO
00000196: ISZERO
00000197: ISZERO
00000198: ISZERO
00000199: DUP2
0000019a: MSTORE
0000019b: PUSH1 0x20
0000019d: ADD
0000019e: SWAP2
0000019f: POP
000001a0: POP
000001a1: PUSH1 0x40
000001a3: MLOAD
000001a4: DUP1
000001a5: SWAP2
000001a6: SUB
000001a7: SWAP1
000001a8: RETURN
000001a9: JUMPDEST
000001aa: CALLVALUE
000001ab: DUP1
000001ac: ISZERO
000001ad: PUSH2 0x01b5
000001b0: JUMPI
000001b1: PUSH1 0x00
000001b3: DUP1
000001b4: REVERT
000001b5: JUMPDEST
000001b6: POP
000001b7: PUSH2 0x02a8
000001ba: PUSH1 0x04
000001bc: DUP1
000001bd: CALLDATASIZE
000001be: SUB
000001bf: DUP2
000001c0: ADD
000001c1: SWAP1
000001c2: DUP1
000001c3: DUP1
000001c4: CALLDATALOAD
000001c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001da: AND
000001db: SWAP1
000001dc: PUSH1 0x20
000001de: ADD
000001df: SWAP1
000001e0: SWAP3
000001e1: SWAP2
000001e2: SWAP1
000001e3: DUP1
000001e4: CALLDATALOAD
000001e5: SWAP1
000001e6: PUSH1 0x20
000001e8: ADD
000001e9: SWAP1
000001ea: DUP3
000001eb: ADD
000001ec: DUP1
000001ed: CALLDATALOAD
000001ee: SWAP1
000001ef: PUSH1 0x20
000001f1: ADD
000001f2: SWAP1
000001f3: DUP1
000001f4: DUP1
000001f5: PUSH1 0x1f
000001f7: ADD
000001f8: PUSH1 0x20
000001fa: DUP1
000001fb: SWAP2
000001fc: DIV
000001fd: MUL
000001fe: PUSH1 0x20
00000200: ADD
00000201: PUSH1 0x40
00000203: MLOAD
00000204: SWAP1
00000205: DUP2
00000206: ADD
00000207: PUSH1 0x40
00000209: MSTORE
0000020a: DUP1
0000020b: SWAP4
0000020c: SWAP3
0000020d: SWAP2
0000020e: SWAP1
0000020f: DUP2
00000210: DUP2
00000211: MSTORE
00000212: PUSH1 0x20
00000214: ADD
00000215: DUP4
00000216: DUP4
00000217: DUP1
00000218: DUP3
00000219: DUP5
0000021a: CALLDATACOPY
0000021b: DUP3
0000021c: ADD
0000021d: SWAP2
0000021e: POP
0000021f: POP
00000220: POP
00000221: POP
00000222: POP
00000223: POP
00000224: SWAP2
00000225: SWAP3
00000226: SWAP2
00000227: SWAP3
00000228: SWAP1
00000229: DUP1
0000022a: CALLDATALOAD
0000022b: SWAP1
0000022c: PUSH1 0x20
0000022e: ADD
0000022f: SWAP1
00000230: SWAP3
00000231: SWAP2
00000232: SWAP1
00000233: DUP1
00000234: CALLDATALOAD
00000235: SWAP1
00000236: PUSH1 0x20
00000238: ADD
00000239: SWAP1
0000023a: SWAP3
0000023b: SWAP2
0000023c: SWAP1
0000023d: DUP1
0000023e: CALLDATALOAD
0000023f: SWAP1
00000240: PUSH1 0x20
00000242: ADD
00000243: SWAP1
00000244: SWAP3
00000245: SWAP2
00000246: SWAP1
00000247: DUP1
00000248: CALLDATALOAD
00000249: SWAP1
0000024a: PUSH1 0x20
0000024c: ADD
0000024d: SWAP1
0000024e: SWAP3
0000024f: SWAP2
00000250: SWAP1
00000251: DUP1
00000252: CALLDATALOAD
00000253: SWAP1
00000254: PUSH1 0x20
00000256: ADD
00000257: SWAP1
00000258: SWAP3
00000259: SWAP2
0000025a: SWAP1
0000025b: DUP1
0000025c: CALLDATALOAD
0000025d: SWAP1
0000025e: PUSH1 0x20
00000260: ADD
00000261: SWAP1
00000262: DUP3
00000263: ADD
00000264: DUP1
00000265: CALLDATALOAD
00000266: SWAP1
00000267: PUSH1 0x20
00000269: ADD
0000026a: SWAP1
0000026b: DUP1
0000026c: DUP1
0000026d: PUSH1 0x1f
0000026f: ADD
00000270: PUSH1 0x20
00000272: DUP1
00000273: SWAP2
00000274: DIV
00000275: MUL
00000276: PUSH1 0x20
00000278: ADD
00000279: PUSH1 0x40
0000027b: MLOAD
0000027c: SWAP1
0000027d: DUP2
0000027e: ADD
0000027f: PUSH1 0x40
00000281: MSTORE
00000282: DUP1
00000283: SWAP4
00000284: SWAP3
00000285: SWAP2
00000286: SWAP1
00000287: DUP2
00000288: DUP2
00000289: MSTORE
0000028a: PUSH1 0x20
0000028c: ADD
0000028d: DUP4
0000028e: DUP4
0000028f: DUP1
00000290: DUP3
00000291: DUP5
00000292: CALLDATACOPY
00000293: DUP3
00000294: ADD
00000295: SWAP2
00000296: POP
00000297: POP
00000298: POP
00000299: POP
0000029a: POP
0000029b: POP
0000029c: SWAP2
0000029d: SWAP3
0000029e: SWAP2
0000029f: SWAP3
000002a0: SWAP1
000002a1: POP
000002a2: POP
000002a3: POP
000002a4: PUSH2 0x0bd5
000002a7: JUMP
000002a8: JUMPDEST
000002a9: STOP
000002aa: JUMPDEST
000002ab: CALLVALUE
000002ac: DUP1
000002ad: ISZERO
000002ae: PUSH2 0x02b6
000002b1: JUMPI
000002b2: PUSH1 0x00
000002b4: DUP1
000002b5: REVERT
000002b6: JUMPDEST
000002b7: POP
000002b8: PUSH2 0x02bf
000002bb: PUSH2 0x10e9
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH1 0x40
000002c2: MLOAD
000002c3: DUP1
000002c4: DUP1
000002c5: PUSH1 0x20
000002c7: ADD
000002c8: DUP3
000002c9: DUP2
000002ca: SUB
000002cb: DUP3
000002cc: MSTORE
000002cd: DUP4
000002ce: DUP2
000002cf: DUP2
000002d0: MLOAD
000002d1: DUP2
000002d2: MSTORE
000002d3: PUSH1 0x20
000002d5: ADD
000002d6: SWAP2
000002d7: POP
000002d8: DUP1
000002d9: MLOAD
000002da: SWAP1
000002db: PUSH1 0x20
000002dd: ADD
000002de: SWAP1
000002df: DUP1
000002e0: DUP4
000002e1: DUP4
000002e2: PUSH1 0x00
000002e4: JUMPDEST
000002e5: DUP4
000002e6: DUP2
000002e7: LT
000002e8: ISZERO
000002e9: PUSH2 0x02ff
000002ec: JUMPI
000002ed: DUP1
000002ee: DUP3
000002ef: ADD
000002f0: MLOAD
000002f1: DUP2
000002f2: DUP5
000002f3: ADD
000002f4: MSTORE
000002f5: PUSH1 0x20
000002f7: DUP2
000002f8: ADD
000002f9: SWAP1
000002fa: POP
000002fb: PUSH2 0x02e4
000002fe: JUMP
000002ff: JUMPDEST
00000300: POP
00000301: POP
00000302: POP
00000303: POP
00000304: SWAP1
00000305: POP
00000306: SWAP1
00000307: DUP2
00000308: ADD
00000309: SWAP1
0000030a: PUSH1 0x1f
0000030c: AND
0000030d: DUP1
0000030e: ISZERO
0000030f: PUSH2 0x032c
00000312: JUMPI
00000313: DUP1
00000314: DUP3
00000315: SUB
00000316: DUP1
00000317: MLOAD
00000318: PUSH1 0x01
0000031a: DUP4
0000031b: PUSH1 0x20
0000031d: SUB
0000031e: PUSH2 0x0100
00000321: EXP
00000322: SUB
00000323: NOT
00000324: AND
00000325: DUP2
00000326: MSTORE
00000327: PUSH1 0x20
00000329: ADD
0000032a: SWAP2
0000032b: POP
0000032c: JUMPDEST
0000032d: POP
0000032e: SWAP3
0000032f: POP
00000330: POP
00000331: POP
00000332: PUSH1 0x40
00000334: MLOAD
00000335: DUP1
00000336: SWAP2
00000337: SUB
00000338: SWAP1
00000339: RETURN
0000033a: JUMPDEST
0000033b: CALLVALUE
0000033c: DUP1
0000033d: ISZERO
0000033e: PUSH2 0x0346
00000341: JUMPI
00000342: PUSH1 0x00
00000344: DUP1
00000345: REVERT
00000346: JUMPDEST
00000347: POP
00000348: PUSH2 0x034f
0000034b: PUSH2 0x1187
0000034e: JUMP
0000034f: JUMPDEST
00000350: PUSH1 0x40
00000352: MLOAD
00000353: DUP1
00000354: DUP3
00000355: DUP2
00000356: MSTORE
00000357: PUSH1 0x20
00000359: ADD
0000035a: SWAP2
0000035b: POP
0000035c: POP
0000035d: PUSH1 0x40
0000035f: MLOAD
00000360: DUP1
00000361: SWAP2
00000362: SUB
00000363: SWAP1
00000364: RETURN
00000365: JUMPDEST
00000366: CALLVALUE
00000367: DUP1
00000368: ISZERO
00000369: PUSH2 0x0371
0000036c: JUMPI
0000036d: PUSH1 0x00
0000036f: DUP1
00000370: REVERT
00000371: JUMPDEST
00000372: POP
00000373: PUSH2 0x0390
00000376: PUSH1 0x04
00000378: DUP1
00000379: CALLDATASIZE
0000037a: SUB
0000037b: DUP2
0000037c: ADD
0000037d: SWAP1
0000037e: DUP1
0000037f: DUP1
00000380: CALLDATALOAD
00000381: SWAP1
00000382: PUSH1 0x20
00000384: ADD
00000385: SWAP1
00000386: SWAP3
00000387: SWAP2
00000388: SWAP1
00000389: POP
0000038a: POP
0000038b: POP
0000038c: PUSH2 0x118d
0000038f: JUMP
00000390: JUMPDEST
00000391: PUSH1 0x40
00000393: MLOAD
00000394: DUP1
00000395: DUP3
00000396: ISZERO
00000397: ISZERO
00000398: ISZERO
00000399: ISZERO
0000039a: DUP2
0000039b: MSTORE
0000039c: PUSH1 0x20
0000039e: ADD
0000039f: SWAP2
000003a0: POP
000003a1: POP
000003a2: PUSH1 0x40
000003a4: MLOAD
000003a5: DUP1
000003a6: SWAP2
000003a7: SUB
000003a8: SWAP1
000003a9: RETURN
000003aa: JUMPDEST
000003ab: CALLVALUE
000003ac: DUP1
000003ad: ISZERO
000003ae: PUSH2 0x03b6
000003b1: JUMPI
000003b2: PUSH1 0x00
000003b4: DUP1
000003b5: REVERT
000003b6: JUMPDEST
000003b7: POP
000003b8: PUSH2 0x041f
000003bb: PUSH1 0x04
000003bd: DUP1
000003be: CALLDATASIZE
000003bf: SUB
000003c0: DUP2
000003c1: ADD
000003c2: SWAP1
000003c3: DUP1
000003c4: DUP1
000003c5: CALLDATALOAD
000003c6: PUSH1 0x00
000003c8: NOT
000003c9: AND
000003ca: SWAP1
000003cb: PUSH1 0x20
000003cd: ADD
000003ce: SWAP1
000003cf: SWAP3
000003d0: SWAP2
000003d1: SWAP1
000003d2: DUP1
000003d3: CALLDATALOAD
000003d4: SWAP1
000003d5: PUSH1 0x20
000003d7: ADD
000003d8: SWAP1
000003d9: DUP3
000003da: ADD
000003db: DUP1
000003dc: CALLDATALOAD
000003dd: SWAP1
000003de: PUSH1 0x20
000003e0: ADD
000003e1: SWAP1
000003e2: DUP1
000003e3: DUP1
000003e4: PUSH1 0x1f
000003e6: ADD
000003e7: PUSH1 0x20
000003e9: DUP1
000003ea: SWAP2
000003eb: DIV
000003ec: MUL
000003ed: PUSH1 0x20
000003ef: ADD
000003f0: PUSH1 0x40
000003f2: MLOAD
000003f3: SWAP1
000003f4: DUP2
000003f5: ADD
000003f6: PUSH1 0x40
000003f8: MSTORE
000003f9: DUP1
000003fa: SWAP4
000003fb: SWAP3
000003fc: SWAP2
000003fd: SWAP1
000003fe: DUP2
000003ff: DUP2
00000400: MSTORE
00000401: PUSH1 0x20
00000403: ADD
00000404: DUP4
00000405: DUP4
00000406: DUP1
00000407: DUP3
00000408: DUP5
00000409: CALLDATACOPY
0000040a: DUP3
0000040b: ADD
0000040c: SWAP2
0000040d: POP
0000040e: POP
0000040f: POP
00000410: POP
00000411: POP
00000412: POP
00000413: SWAP2
00000414: SWAP3
00000415: SWAP2
00000416: SWAP3
00000417: SWAP1
00000418: POP
00000419: POP
0000041a: POP
0000041b: PUSH2 0x1340
0000041e: JUMP
0000041f: JUMPDEST
00000420: PUSH1 0x40
00000422: MLOAD
00000423: DUP1
00000424: DUP3
00000425: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043a: AND
0000043b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000450: AND
00000451: DUP2
00000452: MSTORE
00000453: PUSH1 0x20
00000455: ADD
00000456: SWAP2
00000457: POP
00000458: POP
00000459: PUSH1 0x40
0000045b: MLOAD
0000045c: DUP1
0000045d: SWAP2
0000045e: SUB
0000045f: SWAP1
00000460: RETURN
00000461: JUMPDEST
00000462: CALLVALUE
00000463: DUP1
00000464: ISZERO
00000465: PUSH2 0x046d
00000468: JUMPI
00000469: PUSH1 0x00
0000046b: DUP1
0000046c: REVERT
0000046d: JUMPDEST
0000046e: POP
0000046f: PUSH2 0x0476
00000472: PUSH2 0x14e9
00000475: JUMP
00000476: JUMPDEST
00000477: PUSH1 0x40
00000479: MLOAD
0000047a: DUP1
0000047b: DUP3
0000047c: DUP2
0000047d: MSTORE
0000047e: PUSH1 0x20
00000480: ADD
00000481: SWAP2
00000482: POP
00000483: POP
00000484: PUSH1 0x40
00000486: MLOAD
00000487: DUP1
00000488: SWAP2
00000489: SUB
0000048a: SWAP1
0000048b: RETURN
0000048c: JUMPDEST
0000048d: CALLVALUE
0000048e: DUP1
0000048f: ISZERO
00000490: PUSH2 0x0498
00000493: JUMPI
00000494: PUSH1 0x00
00000496: DUP1
00000497: REVERT
00000498: JUMPDEST
00000499: POP
0000049a: PUSH2 0x04a1
0000049d: PUSH2 0x14ef
000004a0: JUMP
000004a1: JUMPDEST
000004a2: STOP
000004a3: JUMPDEST
000004a4: CALLVALUE
000004a5: DUP1
000004a6: ISZERO
000004a7: PUSH2 0x04af
000004aa: JUMPI
000004ab: PUSH1 0x00
000004ad: DUP1
000004ae: REVERT
000004af: JUMPDEST
000004b0: POP
000004b1: PUSH2 0x0514
000004b4: PUSH1 0x04
000004b6: DUP1
000004b7: CALLDATASIZE
000004b8: SUB
000004b9: DUP2
000004ba: ADD
000004bb: SWAP1
000004bc: DUP1
000004bd: DUP1
000004be: CALLDATALOAD
000004bf: SWAP1
000004c0: PUSH1 0x20
000004c2: ADD
000004c3: SWAP1
000004c4: DUP3
000004c5: ADD
000004c6: DUP1
000004c7: CALLDATALOAD
000004c8: SWAP1
000004c9: PUSH1 0x20
000004cb: ADD
000004cc: SWAP1
000004cd: DUP1
000004ce: DUP1
000004cf: PUSH1 0x1f
000004d1: ADD
000004d2: PUSH1 0x20
000004d4: DUP1
000004d5: SWAP2
000004d6: DIV
000004d7: MUL
000004d8: PUSH1 0x20
000004da: ADD
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: SWAP1
000004df: DUP2
000004e0: ADD
000004e1: PUSH1 0x40
000004e3: MSTORE
000004e4: DUP1
000004e5: SWAP4
000004e6: SWAP3
000004e7: SWAP2
000004e8: SWAP1
000004e9: DUP2
000004ea: DUP2
000004eb: MSTORE
000004ec: PUSH1 0x20
000004ee: ADD
000004ef: DUP4
000004f0: DUP4
000004f1: DUP1
000004f2: DUP3
000004f3: DUP5
000004f4: CALLDATACOPY
000004f5: DUP3
000004f6: ADD
000004f7: SWAP2
000004f8: POP
000004f9: POP
000004fa: POP
000004fb: POP
000004fc: POP
000004fd: POP
000004fe: SWAP2
000004ff: SWAP3
00000500: SWAP2
00000501: SWAP3
00000502: SWAP1
00000503: DUP1
00000504: CALLDATALOAD
00000505: SWAP1
00000506: PUSH1 0x20
00000508: ADD
00000509: SWAP1
0000050a: SWAP3
0000050b: SWAP2
0000050c: SWAP1
0000050d: POP
0000050e: POP
0000050f: POP
00000510: PUSH2 0x15ae
00000513: JUMP
00000514: JUMPDEST
00000515: STOP
00000516: JUMPDEST
00000517: CALLVALUE
00000518: DUP1
00000519: ISZERO
0000051a: PUSH2 0x0522
0000051d: JUMPI
0000051e: PUSH1 0x00
00000520: DUP1
00000521: REVERT
00000522: JUMPDEST
00000523: POP
00000524: PUSH2 0x0615
00000527: PUSH1 0x04
00000529: DUP1
0000052a: CALLDATASIZE
0000052b: SUB
0000052c: DUP2
0000052d: ADD
0000052e: SWAP1
0000052f: DUP1
00000530: DUP1
00000531: CALLDATALOAD
00000532: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000547: AND
00000548: SWAP1
00000549: PUSH1 0x20
0000054b: ADD
0000054c: SWAP1
0000054d: SWAP3
0000054e: SWAP2
0000054f: SWAP1
00000550: DUP1
00000551: CALLDATALOAD
00000552: SWAP1
00000553: PUSH1 0x20
00000555: ADD
00000556: SWAP1
00000557: DUP3
00000558: ADD
00000559: DUP1
0000055a: CALLDATALOAD
0000055b: SWAP1
0000055c: PUSH1 0x20
0000055e: ADD
0000055f: SWAP1
00000560: DUP1
00000561: DUP1
00000562: PUSH1 0x1f
00000564: ADD
00000565: PUSH1 0x20
00000567: DUP1
00000568: SWAP2
00000569: DIV
0000056a: MUL
0000056b: PUSH1 0x20
0000056d: ADD
0000056e: PUSH1 0x40
00000570: MLOAD
00000571: SWAP1
00000572: DUP2
00000573: ADD
00000574: PUSH1 0x40
00000576: MSTORE
00000577: DUP1
00000578: SWAP4
00000579: SWAP3
0000057a: SWAP2
0000057b: SWAP1
0000057c: DUP2
0000057d: DUP2
0000057e: MSTORE
0000057f: PUSH1 0x20
00000581: ADD
00000582: DUP4
00000583: DUP4
00000584: DUP1
00000585: DUP3
00000586: DUP5
00000587: CALLDATACOPY
00000588: DUP3
00000589: ADD
0000058a: SWAP2
0000058b: POP
0000058c: POP
0000058d: POP
0000058e: POP
0000058f: POP
00000590: POP
00000591: SWAP2
00000592: SWAP3
00000593: SWAP2
00000594: SWAP3
00000595: SWAP1
00000596: DUP1
00000597: CALLDATALOAD
00000598: SWAP1
00000599: PUSH1 0x20
0000059b: ADD
0000059c: SWAP1
0000059d: SWAP3
0000059e: SWAP2
0000059f: SWAP1
000005a0: DUP1
000005a1: CALLDATALOAD
000005a2: SWAP1
000005a3: PUSH1 0x20
000005a5: ADD
000005a6: SWAP1
000005a7: SWAP3
000005a8: SWAP2
000005a9: SWAP1
000005aa: DUP1
000005ab: CALLDATALOAD
000005ac: SWAP1
000005ad: PUSH1 0x20
000005af: ADD
000005b0: SWAP1
000005b1: SWAP3
000005b2: SWAP2
000005b3: SWAP1
000005b4: DUP1
000005b5: CALLDATALOAD
000005b6: SWAP1
000005b7: PUSH1 0x20
000005b9: ADD
000005ba: SWAP1
000005bb: SWAP3
000005bc: SWAP2
000005bd: SWAP1
000005be: DUP1
000005bf: CALLDATALOAD
000005c0: SWAP1
000005c1: PUSH1 0x20
000005c3: ADD
000005c4: SWAP1
000005c5: SWAP3
000005c6: SWAP2
000005c7: SWAP1
000005c8: DUP1
000005c9: CALLDATALOAD
000005ca: SWAP1
000005cb: PUSH1 0x20
000005cd: ADD
000005ce: SWAP1
000005cf: DUP3
000005d0: ADD
000005d1: DUP1
000005d2: CALLDATALOAD
000005d3: SWAP1
000005d4: PUSH1 0x20
000005d6: ADD
000005d7: SWAP1
000005d8: DUP1
000005d9: DUP1
000005da: PUSH1 0x1f
000005dc: ADD
000005dd: PUSH1 0x20
000005df: DUP1
000005e0: SWAP2
000005e1: DIV
000005e2: MUL
000005e3: PUSH1 0x20
000005e5: ADD
000005e6: PUSH1 0x40
000005e8: MLOAD
000005e9: SWAP1
000005ea: DUP2
000005eb: ADD
000005ec: PUSH1 0x40
000005ee: MSTORE
000005ef: DUP1
000005f0: SWAP4
000005f1: SWAP3
000005f2: SWAP2
000005f3: SWAP1
000005f4: DUP2
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x20
000005f9: ADD
000005fa: DUP4
000005fb: DUP4
000005fc: DUP1
000005fd: DUP3
000005fe: DUP5
000005ff: CALLDATACOPY
00000600: DUP3
00000601: ADD
00000602: SWAP2
00000603: POP
00000604: POP
00000605: POP
00000606: POP
00000607: POP
00000608: POP
00000609: SWAP2
0000060a: SWAP3
0000060b: SWAP2
0000060c: SWAP3
0000060d: SWAP1
0000060e: POP
0000060f: POP
00000610: POP
00000611: PUSH2 0x19f3
00000614: JUMP
00000615: JUMPDEST
00000616: STOP
00000617: JUMPDEST
00000618: CALLVALUE
00000619: DUP1
0000061a: ISZERO
0000061b: PUSH2 0x0623
0000061e: JUMPI
0000061f: PUSH1 0x00
00000621: DUP1
00000622: REVERT
00000623: JUMPDEST
00000624: POP
00000625: PUSH2 0x062c
00000628: PUSH2 0x1f07
0000062b: JUMP
0000062c: JUMPDEST
0000062d: PUSH1 0x40
0000062f: MLOAD
00000630: DUP1
00000631: DUP3
00000632: DUP2
00000633: MSTORE
00000634: PUSH1 0x20
00000636: ADD
00000637: SWAP2
00000638: POP
00000639: POP
0000063a: PUSH1 0x40
0000063c: MLOAD
0000063d: DUP1
0000063e: SWAP2
0000063f: SUB
00000640: SWAP1
00000641: RETURN
00000642: JUMPDEST
00000643: CALLVALUE
00000644: DUP1
00000645: ISZERO
00000646: PUSH2 0x064e
00000649: JUMPI
0000064a: PUSH1 0x00
0000064c: DUP1
0000064d: REVERT
0000064e: JUMPDEST
0000064f: POP
00000650: PUSH2 0x066d
00000653: PUSH1 0x04
00000655: DUP1
00000656: CALLDATASIZE
00000657: SUB
00000658: DUP2
00000659: ADD
0000065a: SWAP1
0000065b: DUP1
0000065c: DUP1
0000065d: CALLDATALOAD
0000065e: SWAP1
0000065f: PUSH1 0x20
00000661: ADD
00000662: SWAP1
00000663: SWAP3
00000664: SWAP2
00000665: SWAP1
00000666: POP
00000667: POP
00000668: POP
00000669: PUSH2 0x1f0d
0000066c: JUMP
0000066d: JUMPDEST
0000066e: PUSH1 0x40
00000670: MLOAD
00000671: DUP1
00000672: DUP3
00000673: ISZERO
00000674: ISZERO
00000675: ISZERO
00000676: ISZERO
00000677: DUP2
00000678: MSTORE
00000679: PUSH1 0x20
0000067b: ADD
0000067c: SWAP2
0000067d: POP
0000067e: POP
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: DUP1
00000683: SWAP2
00000684: SUB
00000685: SWAP1
00000686: RETURN
00000687: JUMPDEST
00000688: CALLVALUE
00000689: DUP1
0000068a: ISZERO
0000068b: PUSH2 0x0693
0000068e: JUMPI
0000068f: PUSH1 0x00
00000691: DUP1
00000692: REVERT
00000693: JUMPDEST
00000694: POP
00000695: PUSH2 0x069c
00000698: PUSH2 0x2071
0000069b: JUMP
0000069c: JUMPDEST
0000069d: PUSH1 0x40
0000069f: MLOAD
000006a0: DUP1
000006a1: DUP3
000006a2: ISZERO
000006a3: ISZERO
000006a4: ISZERO
000006a5: ISZERO
000006a6: DUP2
000006a7: MSTORE
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: SWAP2
000006ac: POP
000006ad: POP
000006ae: PUSH1 0x40
000006b0: MLOAD
000006b1: DUP1
000006b2: SWAP2
000006b3: SUB
000006b4: SWAP1
000006b5: RETURN
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: DUP1
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: POP
000006c4: PUSH2 0x06e1
000006c7: PUSH1 0x04
000006c9: DUP1
000006ca: CALLDATASIZE
000006cb: SUB
000006cc: DUP2
000006cd: ADD
000006ce: SWAP1
000006cf: DUP1
000006d0: DUP1
000006d1: CALLDATALOAD
000006d2: SWAP1
000006d3: PUSH1 0x20
000006d5: ADD
000006d6: SWAP1
000006d7: SWAP3
000006d8: SWAP2
000006d9: SWAP1
000006da: POP
000006db: POP
000006dc: POP
000006dd: PUSH2 0x2084
000006e0: JUMP
000006e1: JUMPDEST
000006e2: PUSH1 0x40
000006e4: MLOAD
000006e5: DUP1
000006e6: DUP3
000006e7: ISZERO
000006e8: ISZERO
000006e9: ISZERO
000006ea: ISZERO
000006eb: DUP2
000006ec: MSTORE
000006ed: PUSH1 0x20
000006ef: ADD
000006f0: SWAP2
000006f1: POP
000006f2: POP
000006f3: PUSH1 0x40
000006f5: MLOAD
000006f6: DUP1
000006f7: SWAP2
000006f8: SUB
000006f9: SWAP1
000006fa: RETURN
000006fb: JUMPDEST
000006fc: CALLVALUE
000006fd: DUP1
000006fe: ISZERO
000006ff: PUSH2 0x0707
00000702: JUMPI
00000703: PUSH1 0x00
00000705: DUP1
00000706: REVERT
00000707: JUMPDEST
00000708: POP
00000709: PUSH2 0x0710
0000070c: PUSH2 0x20f1
0000070f: JUMP
00000710: JUMPDEST
00000711: PUSH1 0x40
00000713: MLOAD
00000714: DUP1
00000715: DUP3
00000716: DUP2
00000717: MSTORE
00000718: PUSH1 0x20
0000071a: ADD
0000071b: SWAP2
0000071c: POP
0000071d: POP
0000071e: PUSH1 0x40
00000720: MLOAD
00000721: DUP1
00000722: SWAP2
00000723: SUB
00000724: SWAP1
00000725: RETURN
00000726: JUMPDEST
00000727: CALLVALUE
00000728: DUP1
00000729: ISZERO
0000072a: PUSH2 0x0732
0000072d: JUMPI
0000072e: PUSH1 0x00
00000730: DUP1
00000731: REVERT
00000732: JUMPDEST
00000733: POP
00000734: PUSH2 0x073b
00000737: PUSH2 0x20f7
0000073a: JUMP
0000073b: JUMPDEST
0000073c: STOP
0000073d: JUMPDEST
0000073e: CALLVALUE
0000073f: DUP1
00000740: ISZERO
00000741: PUSH2 0x0749
00000744: JUMPI
00000745: PUSH1 0x00
00000747: DUP1
00000748: REVERT
00000749: JUMPDEST
0000074a: POP
0000074b: PUSH2 0x0752
0000074e: PUSH2 0x21b7
00000751: JUMP
00000752: JUMPDEST
00000753: PUSH1 0x40
00000755: MLOAD
00000756: DUP1
00000757: DUP3
00000758: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076d: AND
0000076e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000783: AND
00000784: DUP2
00000785: MSTORE
00000786: PUSH1 0x20
00000788: ADD
00000789: SWAP2
0000078a: POP
0000078b: POP
0000078c: PUSH1 0x40
0000078e: MLOAD
0000078f: DUP1
00000790: SWAP2
00000791: SUB
00000792: SWAP1
00000793: RETURN
00000794: JUMPDEST
00000795: CALLVALUE
00000796: DUP1
00000797: ISZERO
00000798: PUSH2 0x07a0
0000079b: JUMPI
0000079c: PUSH1 0x00
0000079e: DUP1
0000079f: REVERT
000007a0: JUMPDEST
000007a1: POP
000007a2: PUSH2 0x07d5
000007a5: PUSH1 0x04
000007a7: DUP1
000007a8: CALLDATASIZE
000007a9: SUB
000007aa: DUP2
000007ab: ADD
000007ac: SWAP1
000007ad: DUP1
000007ae: DUP1
000007af: CALLDATALOAD
000007b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c5: AND
000007c6: SWAP1
000007c7: PUSH1 0x20
000007c9: ADD
000007ca: SWAP1
000007cb: SWAP3
000007cc: SWAP2
000007cd: SWAP1
000007ce: POP
000007cf: POP
000007d0: POP
000007d1: PUSH2 0x21dc
000007d4: JUMP
000007d5: JUMPDEST
000007d6: PUSH1 0x40
000007d8: MLOAD
000007d9: DUP1
000007da: DUP3
000007db: ISZERO
000007dc: ISZERO
000007dd: ISZERO
000007de: ISZERO
000007df: DUP2
000007e0: MSTORE
000007e1: PUSH1 0x20
000007e3: ADD
000007e4: SWAP2
000007e5: POP
000007e6: POP
000007e7: PUSH1 0x40
000007e9: MLOAD
000007ea: DUP1
000007eb: SWAP2
000007ec: SUB
000007ed: SWAP1
000007ee: RETURN
000007ef: JUMPDEST
000007f0: CALLVALUE
000007f1: DUP1
000007f2: ISZERO
000007f3: PUSH2 0x07fb
000007f6: JUMPI
000007f7: PUSH1 0x00
000007f9: DUP1
000007fa: REVERT
000007fb: JUMPDEST
000007fc: POP
000007fd: PUSH2 0x082e
00000800: PUSH1 0x04
00000802: DUP1
00000803: CALLDATASIZE
00000804: SUB
00000805: DUP2
00000806: ADD
00000807: SWAP1
00000808: DUP1
00000809: DUP1
0000080a: CALLDATALOAD
0000080b: SWAP1
0000080c: PUSH1 0x20
0000080e: ADD
0000080f: SWAP1
00000810: SWAP3
00000811: SWAP2
00000812: SWAP1
00000813: DUP1
00000814: CALLDATALOAD
00000815: SWAP1
00000816: PUSH1 0x20
00000818: ADD
00000819: SWAP1
0000081a: SWAP3
0000081b: SWAP2
0000081c: SWAP1
0000081d: DUP1
0000081e: CALLDATALOAD
0000081f: SWAP1
00000820: PUSH1 0x20
00000822: ADD
00000823: SWAP1
00000824: SWAP3
00000825: SWAP2
00000826: SWAP1
00000827: POP
00000828: POP
00000829: POP
0000082a: PUSH2 0x21fc
0000082d: JUMP
0000082e: JUMPDEST
0000082f: PUSH1 0x40
00000831: MLOAD
00000832: DUP1
00000833: DUP3
00000834: DUP2
00000835: MSTORE
00000836: PUSH1 0x20
00000838: ADD
00000839: SWAP2
0000083a: POP
0000083b: POP
0000083c: PUSH1 0x40
0000083e: MLOAD
0000083f: DUP1
00000840: SWAP2
00000841: SUB
00000842: SWAP1
00000843: RETURN
00000844: JUMPDEST
00000845: CALLVALUE
00000846: DUP1
00000847: ISZERO
00000848: PUSH2 0x0850
0000084b: JUMPI
0000084c: PUSH1 0x00
0000084e: DUP1
0000084f: REVERT
00000850: JUMPDEST
00000851: POP
00000852: PUSH2 0x08dd
00000855: PUSH1 0x04
00000857: DUP1
00000858: CALLDATASIZE
00000859: SUB
0000085a: DUP2
0000085b: ADD
0000085c: SWAP1
0000085d: DUP1
0000085e: DUP1
0000085f: CALLDATALOAD
00000860: SWAP1
00000861: PUSH1 0x20
00000863: ADD
00000864: SWAP1
00000865: DUP3
00000866: ADD
00000867: DUP1
00000868: CALLDATALOAD
00000869: SWAP1
0000086a: PUSH1 0x20
0000086c: ADD
0000086d: SWAP1
0000086e: DUP1
0000086f: DUP1
00000870: PUSH1 0x1f
00000872: ADD
00000873: PUSH1 0x20
00000875: DUP1
00000876: SWAP2
00000877: DIV
00000878: MUL
00000879: PUSH1 0x20
0000087b: ADD
0000087c: PUSH1 0x40
0000087e: MLOAD
0000087f: SWAP1
00000880: DUP2
00000881: ADD
00000882: PUSH1 0x40
00000884: MSTORE
00000885: DUP1
00000886: SWAP4
00000887: SWAP3
00000888: SWAP2
00000889: SWAP1
0000088a: DUP2
0000088b: DUP2
0000088c: MSTORE
0000088d: PUSH1 0x20
0000088f: ADD
00000890: DUP4
00000891: DUP4
00000892: DUP1
00000893: DUP3
00000894: DUP5
00000895: CALLDATACOPY
00000896: DUP3
00000897: ADD
00000898: SWAP2
00000899: POP
0000089a: POP
0000089b: POP
0000089c: POP
0000089d: POP
0000089e: POP
0000089f: SWAP2
000008a0: SWAP3
000008a1: SWAP2
000008a2: SWAP3
000008a3: SWAP1
000008a4: DUP1
000008a5: CALLDATALOAD
000008a6: SWAP1
000008a7: PUSH1 0x20
000008a9: ADD
000008aa: SWAP1
000008ab: SWAP3
000008ac: SWAP2
000008ad: SWAP1
000008ae: DUP1
000008af: CALLDATALOAD
000008b0: SWAP1
000008b1: PUSH1 0x20
000008b3: ADD
000008b4: SWAP1
000008b5: SWAP3
000008b6: SWAP2
000008b7: SWAP1
000008b8: DUP1
000008b9: CALLDATALOAD
000008ba: SWAP1
000008bb: PUSH1 0x20
000008bd: ADD
000008be: SWAP1
000008bf: SWAP3
000008c0: SWAP2
000008c1: SWAP1
000008c2: DUP1
000008c3: CALLDATALOAD
000008c4: SWAP1
000008c5: PUSH1 0x20
000008c7: ADD
000008c8: SWAP1
000008c9: SWAP3
000008ca: SWAP2
000008cb: SWAP1
000008cc: DUP1
000008cd: CALLDATALOAD
000008ce: SWAP1
000008cf: PUSH1 0x20
000008d1: ADD
000008d2: SWAP1
000008d3: SWAP3
000008d4: SWAP2
000008d5: SWAP1
000008d6: POP
000008d7: POP
000008d8: POP
000008d9: PUSH2 0x2267
000008dc: JUMP
000008dd: JUMPDEST
000008de: PUSH1 0x40
000008e0: MLOAD
000008e1: DUP1
000008e2: DUP3
000008e3: PUSH1 0x00
000008e5: NOT
000008e6: AND
000008e7: PUSH1 0x00
000008e9: NOT
000008ea: AND
000008eb: DUP2
000008ec: MSTORE
000008ed: PUSH1 0x20
000008ef: ADD
000008f0: SWAP2
000008f1: POP
000008f2: POP
000008f3: PUSH1 0x40
000008f5: MLOAD
000008f6: DUP1
000008f7: SWAP2
000008f8: SUB
000008f9: SWAP1
000008fa: RETURN
000008fb: JUMPDEST
000008fc: CALLVALUE
000008fd: DUP1
000008fe: ISZERO
000008ff: PUSH2 0x0907
00000902: JUMPI
00000903: PUSH1 0x00
00000905: DUP1
00000906: REVERT
00000907: JUMPDEST
00000908: POP
00000909: PUSH2 0x096c
0000090c: PUSH1 0x04
0000090e: DUP1
0000090f: CALLDATASIZE
00000910: SUB
00000911: DUP2
00000912: ADD
00000913: SWAP1
00000914: DUP1
00000915: DUP1
00000916: CALLDATALOAD
00000917: SWAP1
00000918: PUSH1 0x20
0000091a: ADD
0000091b: SWAP1
0000091c: DUP3
0000091d: ADD
0000091e: DUP1
0000091f: CALLDATALOAD
00000920: SWAP1
00000921: PUSH1 0x20
00000923: ADD
00000924: SWAP1
00000925: DUP1
00000926: DUP1
00000927: PUSH1 0x1f
00000929: ADD
0000092a: PUSH1 0x20
0000092c: DUP1
0000092d: SWAP2
0000092e: DIV
0000092f: MUL
00000930: PUSH1 0x20
00000932: ADD
00000933: PUSH1 0x40
00000935: MLOAD
00000936: SWAP1
00000937: DUP2
00000938: ADD
00000939: PUSH1 0x40
0000093b: MSTORE
0000093c: DUP1
0000093d: SWAP4
0000093e: SWAP3
0000093f: SWAP2
00000940: SWAP1
00000941: DUP2
00000942: DUP2
00000943: MSTORE
00000944: PUSH1 0x20
00000946: ADD
00000947: DUP4
00000948: DUP4
00000949: DUP1
0000094a: DUP3
0000094b: DUP5
0000094c: CALLDATACOPY
0000094d: DUP3
0000094e: ADD
0000094f: SWAP2
00000950: POP
00000951: POP
00000952: POP
00000953: POP
00000954: POP
00000955: POP
00000956: SWAP2
00000957: SWAP3
00000958: SWAP2
00000959: SWAP3
0000095a: SWAP1
0000095b: DUP1
0000095c: CALLDATALOAD
0000095d: SWAP1
0000095e: PUSH1 0x20
00000960: ADD
00000961: SWAP1
00000962: SWAP3
00000963: SWAP2
00000964: SWAP1
00000965: POP
00000966: POP
00000967: POP
00000968: PUSH2 0x2404
0000096b: JUMP
0000096c: JUMPDEST
0000096d: STOP
0000096e: JUMPDEST
0000096f: CALLVALUE
00000970: DUP1
00000971: ISZERO
00000972: PUSH2 0x097a
00000975: JUMPI
00000976: PUSH1 0x00
00000978: DUP1
00000979: REVERT
0000097a: JUMPDEST
0000097b: POP
0000097c: PUSH2 0x0a07
0000097f: PUSH1 0x04
00000981: DUP1
00000982: CALLDATASIZE
00000983: SUB
00000984: DUP2
00000985: ADD
00000986: SWAP1
00000987: DUP1
00000988: DUP1
00000989: CALLDATALOAD
0000098a: SWAP1
0000098b: PUSH1 0x20
0000098d: ADD
0000098e: SWAP1
0000098f: DUP3
00000990: ADD
00000991: DUP1
00000992: CALLDATALOAD
00000993: SWAP1
00000994: PUSH1 0x20
00000996: ADD
00000997: SWAP1
00000998: DUP1
00000999: DUP1
0000099a: PUSH1 0x1f
0000099c: ADD
0000099d: PUSH1 0x20
0000099f: DUP1
000009a0: SWAP2
000009a1: DIV
000009a2: MUL
000009a3: PUSH1 0x20
000009a5: ADD
000009a6: PUSH1 0x40
000009a8: MLOAD
000009a9: SWAP1
000009aa: DUP2
000009ab: ADD
000009ac: PUSH1 0x40
000009ae: MSTORE
000009af: DUP1
000009b0: SWAP4
000009b1: SWAP3
000009b2: SWAP2
000009b3: SWAP1
000009b4: DUP2
000009b5: DUP2
000009b6: MSTORE
000009b7: PUSH1 0x20
000009b9: ADD
000009ba: DUP4
000009bb: DUP4
000009bc: DUP1
000009bd: DUP3
000009be: DUP5
000009bf: CALLDATACOPY
000009c0: DUP3
000009c1: ADD
000009c2: SWAP2
000009c3: POP
000009c4: POP
000009c5: POP
000009c6: POP
000009c7: POP
000009c8: POP
000009c9: SWAP2
000009ca: SWAP3
000009cb: SWAP2
000009cc: SWAP3
000009cd: SWAP1
000009ce: DUP1
000009cf: CALLDATALOAD
000009d0: SWAP1
000009d1: PUSH1 0x20
000009d3: ADD
000009d4: SWAP1
000009d5: SWAP3
000009d6: SWAP2
000009d7: SWAP1
000009d8: DUP1
000009d9: CALLDATALOAD
000009da: SWAP1
000009db: PUSH1 0x20
000009dd: ADD
000009de: SWAP1
000009df: SWAP3
000009e0: SWAP2
000009e1: SWAP1
000009e2: DUP1
000009e3: CALLDATALOAD
000009e4: SWAP1
000009e5: PUSH1 0x20
000009e7: ADD
000009e8: SWAP1
000009e9: SWAP3
000009ea: SWAP2
000009eb: SWAP1
000009ec: DUP1
000009ed: CALLDATALOAD
000009ee: SWAP1
000009ef: PUSH1 0x20
000009f1: ADD
000009f2: SWAP1
000009f3: SWAP3
000009f4: SWAP2
000009f5: SWAP1
000009f6: DUP1
000009f7: CALLDATALOAD
000009f8: SWAP1
000009f9: PUSH1 0x20
000009fb: ADD
000009fc: SWAP1
000009fd: SWAP3
000009fe: SWAP2
000009ff: SWAP1
00000a00: POP
00000a01: POP
00000a02: POP
00000a03: PUSH2 0x284a
00000a06: JUMP
00000a07: JUMPDEST
00000a08: PUSH1 0x40
00000a0a: MLOAD
00000a0b: DUP1
00000a0c: DUP3
00000a0d: PUSH1 0x00
00000a0f: NOT
00000a10: AND
00000a11: PUSH1 0x00
00000a13: NOT
00000a14: AND
00000a15: DUP2
00000a16: MSTORE
00000a17: PUSH1 0x20
00000a19: ADD
00000a1a: SWAP2
00000a1b: POP
00000a1c: POP
00000a1d: PUSH1 0x40
00000a1f: MLOAD
00000a20: DUP1
00000a21: SWAP2
00000a22: SUB
00000a23: SWAP1
00000a24: RETURN
00000a25: JUMPDEST
00000a26: CALLVALUE
00000a27: DUP1
00000a28: ISZERO
00000a29: PUSH2 0x0a31
00000a2c: JUMPI
00000a2d: PUSH1 0x00
00000a2f: DUP1
00000a30: REVERT
00000a31: JUMPDEST
00000a32: POP
00000a33: PUSH2 0x0a72
00000a36: PUSH1 0x04
00000a38: DUP1
00000a39: CALLDATASIZE
00000a3a: SUB
00000a3b: DUP2
00000a3c: ADD
00000a3d: SWAP1
00000a3e: DUP1
00000a3f: DUP1
00000a40: CALLDATALOAD
00000a41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a56: AND
00000a57: SWAP1
00000a58: PUSH1 0x20
00000a5a: ADD
00000a5b: SWAP1
00000a5c: SWAP3
00000a5d: SWAP2
00000a5e: SWAP1
00000a5f: DUP1
00000a60: CALLDATALOAD
00000a61: ISZERO
00000a62: ISZERO
00000a63: SWAP1
00000a64: PUSH1 0x20
00000a66: ADD
00000a67: SWAP1
00000a68: SWAP3
00000a69: SWAP2
00000a6a: SWAP1
00000a6b: POP
00000a6c: POP
00000a6d: POP
00000a6e: PUSH2 0x29e7
00000a71: JUMP
00000a72: JUMPDEST
00000a73: STOP
00000a74: JUMPDEST
00000a75: CALLVALUE
00000a76: DUP1
00000a77: ISZERO
00000a78: PUSH2 0x0a80
00000a7b: JUMPI
00000a7c: PUSH1 0x00
00000a7e: DUP1
00000a7f: REVERT
00000a80: JUMPDEST
00000a81: POP
00000a82: PUSH2 0x0a9f
00000a85: PUSH1 0x04
00000a87: DUP1
00000a88: CALLDATASIZE
00000a89: SUB
00000a8a: DUP2
00000a8b: ADD
00000a8c: SWAP1
00000a8d: DUP1
00000a8e: DUP1
00000a8f: CALLDATALOAD
00000a90: SWAP1
00000a91: PUSH1 0x20
00000a93: ADD
00000a94: SWAP1
00000a95: SWAP3
00000a96: SWAP2
00000a97: SWAP1
00000a98: POP
00000a99: POP
00000a9a: POP
00000a9b: PUSH2 0x2ad9
00000a9e: JUMP
00000a9f: JUMPDEST
00000aa0: PUSH1 0x40
00000aa2: MLOAD
00000aa3: DUP1
00000aa4: DUP3
00000aa5: DUP2
00000aa6: MSTORE
00000aa7: PUSH1 0x20
00000aa9: ADD
00000aaa: SWAP2
00000aab: POP
00000aac: POP
00000aad: PUSH1 0x40
00000aaf: MLOAD
00000ab0: DUP1
00000ab1: SWAP2
00000ab2: SUB
00000ab3: SWAP1
00000ab4: RETURN
00000ab5: JUMPDEST
00000ab6: CALLVALUE
00000ab7: DUP1
00000ab8: ISZERO
00000ab9: PUSH2 0x0ac1
00000abc: JUMPI
00000abd: PUSH1 0x00
00000abf: DUP1
00000ac0: REVERT
00000ac1: JUMPDEST
00000ac2: POP
00000ac3: PUSH2 0x0af6
00000ac6: PUSH1 0x04
00000ac8: DUP1
00000ac9: CALLDATASIZE
00000aca: SUB
00000acb: DUP2
00000acc: ADD
00000acd: SWAP1
00000ace: DUP1
00000acf: DUP1
00000ad0: CALLDATALOAD
00000ad1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ae6: AND
00000ae7: SWAP1
00000ae8: PUSH1 0x20
00000aea: ADD
00000aeb: SWAP1
00000aec: SWAP3
00000aed: SWAP2
00000aee: SWAP1
00000aef: POP
00000af0: POP
00000af1: POP
00000af2: PUSH2 0x2b4c
00000af5: JUMP
00000af6: JUMPDEST
00000af7: STOP
00000af8: JUMPDEST
00000af9: CALLVALUE
00000afa: DUP1
00000afb: ISZERO
00000afc: PUSH2 0x0b04
00000aff: JUMPI
00000b00: PUSH1 0x00
00000b02: DUP1
00000b03: REVERT
00000b04: JUMPDEST
00000b05: POP
00000b06: PUSH2 0x0b0d
00000b09: PUSH2 0x2c26
00000b0c: JUMP
00000b0d: JUMPDEST
00000b0e: PUSH1 0x40
00000b10: MLOAD
00000b11: DUP1
00000b12: DUP3
00000b13: DUP2
00000b14: MSTORE
00000b15: PUSH1 0x20
00000b17: ADD
00000b18: SWAP2
00000b19: POP
00000b1a: POP
00000b1b: PUSH1 0x40
00000b1d: MLOAD
00000b1e: DUP1
00000b1f: SWAP2
00000b20: SUB
00000b21: SWAP1
00000b22: RETURN
00000b23: JUMPDEST
00000b24: CALLVALUE
00000b25: DUP1
00000b26: ISZERO
00000b27: PUSH2 0x0b2f
00000b2a: JUMPI
00000b2b: PUSH1 0x00
00000b2d: DUP1
00000b2e: REVERT
00000b2f: JUMPDEST
00000b30: POP
00000b31: PUSH2 0x0b4e
00000b34: PUSH1 0x04
00000b36: DUP1
00000b37: CALLDATASIZE
00000b38: SUB
00000b39: DUP2
00000b3a: ADD
00000b3b: SWAP1
00000b3c: DUP1
00000b3d: DUP1
00000b3e: CALLDATALOAD
00000b3f: SWAP1
00000b40: PUSH1 0x20
00000b42: ADD
00000b43: SWAP1
00000b44: SWAP3
00000b45: SWAP2
00000b46: SWAP1
00000b47: POP
00000b48: POP
00000b49: POP
00000b4a: PUSH2 0x2c2c
00000b4d: JUMP
00000b4e: JUMPDEST
00000b4f: PUSH1 0x40
00000b51: MLOAD
00000b52: DUP1
00000b53: DUP3
00000b54: ISZERO
00000b55: ISZERO
00000b56: ISZERO
00000b57: ISZERO
00000b58: DUP2
00000b59: MSTORE
00000b5a: PUSH1 0x20
00000b5c: ADD
00000b5d: SWAP2
00000b5e: POP
00000b5f: POP
00000b60: PUSH1 0x40
00000b62: MLOAD
00000b63: DUP1
00000b64: SWAP2
00000b65: SUB
00000b66: SWAP1
00000b67: RETURN
00000b68: JUMPDEST
00000b69: PUSH1 0x00
00000b6b: DUP1
00000b6c: PUSH1 0x00
00000b6e: SWAP1
00000b6f: SLOAD
00000b70: SWAP1
00000b71: PUSH2 0x0100
00000b74: EXP
00000b75: SWAP1
00000b76: DIV
00000b77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b8c: AND
00000b8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba2: AND
00000ba3: CALLER
00000ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bb9: AND
00000bba: EQ
00000bbb: ISZERO
00000bbc: ISZERO
00000bbd: PUSH2 0x0bc5
00000bc0: JUMPI
00000bc1: PUSH1 0x00
00000bc3: DUP1
00000bc4: REVERT
00000bc5: JUMPDEST
00000bc6: DUP2
00000bc7: PUSH1 0x0a
00000bc9: DUP2
00000bca: SWAP1
00000bcb: SSTORE
00000bcc: POP
00000bcd: PUSH1 0x01
00000bcf: SWAP1
00000bd0: POP
00000bd1: SWAP2
00000bd2: SWAP1
00000bd3: POP
00000bd4: JUMP
00000bd5: JUMPDEST
00000bd6: PUSH2 0x0bdd
00000bd9: PUSH2 0x2e55
00000bdc: JUMP
00000bdd: JUMPDEST
00000bde: PUSH1 0x01
00000be0: ISZERO
00000be1: ISZERO
00000be2: PUSH1 0x01
00000be4: PUSH1 0x00
00000be6: CALLER
00000be7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bfc: AND
00000bfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c12: AND
00000c13: DUP2
00000c14: MSTORE
00000c15: PUSH1 0x20
00000c17: ADD
00000c18: SWAP1
00000c19: DUP2
00000c1a: MSTORE
00000c1b: PUSH1 0x20
00000c1d: ADD
00000c1e: PUSH1 0x00
00000c20: KECCAK256
00000c21: PUSH1 0x00
00000c23: SWAP1
00000c24: SLOAD
00000c25: SWAP1
00000c26: PUSH2 0x0100
00000c29: EXP
00000c2a: SWAP1
00000c2b: DIV
00000c2c: PUSH1 0xff
00000c2e: AND
00000c2f: ISZERO
00000c30: ISZERO
00000c31: EQ
00000c32: ISZERO
00000c33: ISZERO
00000c34: PUSH2 0x0c3c
00000c37: JUMPI
00000c38: PUSH1 0x00
00000c3a: DUP1
00000c3b: REVERT
00000c3c: JUMPDEST
00000c3d: PUSH1 0x02
00000c3f: PUSH1 0x00
00000c41: SWAP1
00000c42: SLOAD
00000c43: SWAP1
00000c44: PUSH2 0x0100
00000c47: EXP
00000c48: SWAP1
00000c49: DIV
00000c4a: PUSH1 0xff
00000c4c: AND
00000c4d: ISZERO
00000c4e: ISZERO
00000c4f: ISZERO
00000c50: PUSH2 0x0c58
00000c53: JUMPI
00000c54: PUSH1 0x00
00000c56: DUP1
00000c57: REVERT
00000c58: JUMPDEST
00000c59: PUSH2 0x0c6f
00000c5c: PUSH2 0x0c69
00000c5f: DUP10
00000c60: DUP10
00000c61: DUP9
00000c62: DUP9
00000c63: DUP12
00000c64: DUP10
00000c65: PUSH2 0x2267
00000c68: JUMP
00000c69: JUMPDEST
00000c6a: DUP4
00000c6b: PUSH2 0x1340
00000c6e: JUMP
00000c6f: JUMPDEST
00000c70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c85: AND
00000c86: DUP10
00000c87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c9c: AND
00000c9d: EQ
00000c9e: DUP1
00000c9f: ISZERO
00000ca0: PUSH2 0x0d1f
00000ca3: JUMPI
00000ca4: POP
00000ca5: PUSH1 0x08
00000ca7: DUP3
00000ca8: PUSH1 0x40
00000caa: MLOAD
00000cab: DUP1
00000cac: DUP3
00000cad: DUP1
00000cae: MLOAD
00000caf: SWAP1
00000cb0: PUSH1 0x20
00000cb2: ADD
00000cb3: SWAP1
00000cb4: DUP1
00000cb5: DUP4
00000cb6: DUP4
00000cb7: JUMPDEST
00000cb8: PUSH1 0x20
00000cba: DUP4
00000cbb: LT
00000cbc: ISZERO
00000cbd: ISZERO
00000cbe: PUSH2 0x0cdc
00000cc1: JUMPI
00000cc2: DUP1
00000cc3: MLOAD
00000cc4: DUP3
00000cc5: MSTORE
00000cc6: PUSH1 0x20
00000cc8: DUP3
00000cc9: ADD
00000cca: SWAP2
00000ccb: POP
00000ccc: PUSH1 0x20
00000cce: DUP2
00000ccf: ADD
00000cd0: SWAP1
00000cd1: POP
00000cd2: PUSH1 0x20
00000cd4: DUP4
00000cd5: SUB
00000cd6: SWAP3
00000cd7: POP
00000cd8: PUSH2 0x0cb7
00000cdb: JUMP
00000cdc: JUMPDEST
00000cdd: PUSH1 0x01
00000cdf: DUP4
00000ce0: PUSH1 0x20
00000ce2: SUB
00000ce3: PUSH2 0x0100
00000ce6: EXP
00000ce7: SUB
00000ce8: DUP1
00000ce9: NOT
00000cea: DUP3
00000ceb: MLOAD
00000cec: AND
00000ced: DUP2
00000cee: DUP5
00000cef: MLOAD
00000cf0: AND
00000cf1: DUP1
00000cf2: DUP3
00000cf3: OR
00000cf4: DUP6
00000cf5: MSTORE
00000cf6: POP
00000cf7: POP
00000cf8: POP
00000cf9: POP
00000cfa: POP
00000cfb: POP
00000cfc: SWAP1
00000cfd: POP
00000cfe: ADD
00000cff: SWAP2
00000d00: POP
00000d01: POP
00000d02: SWAP1
00000d03: DUP2
00000d04: MSTORE
00000d05: PUSH1 0x20
00000d07: ADD
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: DUP1
00000d0c: SWAP2
00000d0d: SUB
00000d0e: SWAP1
00000d0f: KECCAK256
00000d10: PUSH1 0x00
00000d12: SWAP1
00000d13: SLOAD
00000d14: SWAP1
00000d15: PUSH2 0x0100
00000d18: EXP
00000d19: SWAP1
00000d1a: DIV
00000d1b: PUSH1 0xff
00000d1d: AND
00000d1e: ISZERO
00000d1f: JUMPDEST
00000d20: ISZERO
00000d21: ISZERO
00000d22: PUSH2 0x0d2a
00000d25: JUMPI
00000d26: PUSH1 0x00
00000d28: DUP1
00000d29: REVERT
00000d2a: JUMPDEST
00000d2b: PUSH1 0x0c
00000d2d: PUSH1 0x00
00000d2f: SWAP1
00000d30: SLOAD
00000d31: SWAP1
00000d32: PUSH2 0x0100
00000d35: EXP
00000d36: SWAP1
00000d37: DIV
00000d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d4d: AND
00000d4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d63: AND
00000d64: PUSH4 0x23b872dd
00000d69: DUP11
00000d6a: ADDRESS
00000d6b: DUP11
00000d6c: PUSH1 0x40
00000d6e: MLOAD
00000d6f: DUP5
00000d70: PUSH4 0xffffffff
00000d75: AND
00000d76: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000d94: MUL
00000d95: DUP2
00000d96: MSTORE
00000d97: PUSH1 0x04
00000d99: ADD
00000d9a: DUP1
00000d9b: DUP5
00000d9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000db1: AND
00000db2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dc7: AND
00000dc8: DUP2
00000dc9: MSTORE
00000dca: PUSH1 0x20
00000dcc: ADD
00000dcd: DUP4
00000dce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de3: AND
00000de4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000df9: AND
00000dfa: DUP2
00000dfb: MSTORE
00000dfc: PUSH1 0x20
00000dfe: ADD
00000dff: DUP3
00000e00: DUP2
00000e01: MSTORE
00000e02: PUSH1 0x20
00000e04: ADD
00000e05: SWAP4
00000e06: POP
00000e07: POP
00000e08: POP
00000e09: POP
00000e0a: PUSH1 0x00
00000e0c: PUSH1 0x40
00000e0e: MLOAD
00000e0f: DUP1
00000e10: DUP4
00000e11: SUB
00000e12: DUP2
00000e13: PUSH1 0x00
00000e15: DUP8
00000e16: DUP1
00000e17: EXTCODESIZE
00000e18: ISZERO
00000e19: DUP1
00000e1a: ISZERO
00000e1b: PUSH2 0x0e23
00000e1e: JUMPI
00000e1f: PUSH1 0x00
00000e21: DUP1
00000e22: REVERT
00000e23: JUMPDEST
00000e24: POP
00000e25: GAS
00000e26: CALL
00000e27: ISZERO
00000e28: DUP1
00000e29: ISZERO
00000e2a: PUSH2 0x0e37
00000e2d: JUMPI
00000e2e: RETURNDATASIZE
00000e2f: PUSH1 0x00
00000e31: DUP1
00000e32: RETURNDATACOPY
00000e33: RETURNDATASIZE
00000e34: PUSH1 0x00
00000e36: REVERT
00000e37: JUMPDEST
00000e38: POP
00000e39: POP
00000e3a: POP
00000e3b: POP
00000e3c: DUP9
00000e3d: DUP2
00000e3e: PUSH1 0x00
00000e40: ADD
00000e41: SWAP1
00000e42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e57: AND
00000e58: SWAP1
00000e59: DUP2
00000e5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e6f: AND
00000e70: DUP2
00000e71: MSTORE
00000e72: POP
00000e73: POP
00000e74: DUP8
00000e75: DUP2
00000e76: PUSH1 0x20
00000e78: ADD
00000e79: DUP2
00000e7a: SWAP1
00000e7b: MSTORE
00000e7c: POP
00000e7d: DUP6
00000e7e: DUP2
00000e7f: PUSH1 0x40
00000e81: ADD
00000e82: DUP2
00000e83: DUP2
00000e84: MSTORE
00000e85: POP
00000e86: POP
00000e87: DUP3
00000e88: DUP2
00000e89: PUSH1 0x60
00000e8b: ADD
00000e8c: DUP2
00000e8d: DUP2
00000e8e: MSTORE
00000e8f: POP
00000e90: POP
00000e91: DUP5
00000e92: DUP2
00000e93: PUSH2 0x0100
00000e96: ADD
00000e97: DUP2
00000e98: DUP2
00000e99: MSTORE
00000e9a: POP
00000e9b: POP
00000e9c: DUP4
00000e9d: DUP2
00000e9e: PUSH2 0x0120
00000ea1: ADD
00000ea2: DUP2
00000ea3: DUP2
00000ea4: MSTORE
00000ea5: POP
00000ea6: POP
00000ea7: DUP7
00000ea8: DUP2
00000ea9: PUSH1 0xa0
00000eab: ADD
00000eac: DUP2
00000ead: DUP2
00000eae: MSTORE
00000eaf: POP
00000eb0: POP
00000eb1: PUSH1 0x00
00000eb3: DUP2
00000eb4: PUSH2 0x0160
00000eb7: ADD
00000eb8: SWAP1
00000eb9: ISZERO
00000eba: ISZERO
00000ebb: SWAP1
00000ebc: DUP2
00000ebd: ISZERO
00000ebe: ISZERO
00000ebf: DUP2
00000ec0: MSTORE
00000ec1: POP
00000ec2: POP
00000ec3: PUSH2 0x0ecb
00000ec6: DUP8
00000ec7: PUSH2 0x2ad9
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: DUP2
00000ecd: PUSH1 0xe0
00000ecf: ADD
00000ed0: DUP2
00000ed1: DUP2
00000ed2: MSTORE
00000ed3: POP
00000ed4: POP
00000ed5: PUSH1 0x01
00000ed7: PUSH1 0x08
00000ed9: DUP4
00000eda: PUSH1 0x40
00000edc: MLOAD
00000edd: DUP1
00000ede: DUP3
00000edf: DUP1
00000ee0: MLOAD
00000ee1: SWAP1
00000ee2: PUSH1 0x20
00000ee4: ADD
00000ee5: SWAP1
00000ee6: DUP1
00000ee7: DUP4
00000ee8: DUP4
00000ee9: JUMPDEST
00000eea: PUSH1 0x20
00000eec: DUP4
00000eed: LT
00000eee: ISZERO
00000eef: ISZERO
00000ef0: PUSH2 0x0f0e
00000ef3: JUMPI
00000ef4: DUP1
00000ef5: MLOAD
00000ef6: DUP3
00000ef7: MSTORE
00000ef8: PUSH1 0x20
00000efa: DUP3
00000efb: ADD
00000efc: SWAP2
00000efd: POP
00000efe: PUSH1 0x20
00000f00: DUP2
00000f01: ADD
00000f02: SWAP1
00000f03: POP
00000f04: PUSH1 0x20
00000f06: DUP4
00000f07: SUB
00000f08: SWAP3
00000f09: POP
00000f0a: PUSH2 0x0ee9
00000f0d: JUMP
00000f0e: JUMPDEST
00000f0f: PUSH1 0x01
00000f11: DUP4
00000f12: PUSH1 0x20
00000f14: SUB
00000f15: PUSH2 0x0100
00000f18: EXP
00000f19: SUB
00000f1a: DUP1
00000f1b: NOT
00000f1c: DUP3
00000f1d: MLOAD
00000f1e: AND
00000f1f: DUP2
00000f20: DUP5
00000f21: MLOAD
00000f22: AND
00000f23: DUP1
00000f24: DUP3
00000f25: OR
00000f26: DUP6
00000f27: MSTORE
00000f28: POP
00000f29: POP
00000f2a: POP
00000f2b: POP
00000f2c: POP
00000f2d: POP
00000f2e: SWAP1
00000f2f: POP
00000f30: ADD
00000f31: SWAP2
00000f32: POP
00000f33: POP
00000f34: SWAP1
00000f35: DUP2
00000f36: MSTORE
00000f37: PUSH1 0x20
00000f39: ADD
00000f3a: PUSH1 0x40
00000f3c: MLOAD
00000f3d: DUP1
00000f3e: SWAP2
00000f3f: SUB
00000f40: SWAP1
00000f41: KECCAK256
00000f42: PUSH1 0x00
00000f44: PUSH2 0x0100
00000f47: EXP
00000f48: DUP2
00000f49: SLOAD
00000f4a: DUP2
00000f4b: PUSH1 0xff
00000f4d: MUL
00000f4e: NOT
00000f4f: AND
00000f50: SWAP1
00000f51: DUP4
00000f52: ISZERO
00000f53: ISZERO
00000f54: MUL
00000f55: OR
00000f56: SWAP1
00000f57: SSTORE
00000f58: POP
00000f59: PUSH2 0x0f71
00000f5c: DUP2
00000f5d: PUSH1 0xe0
00000f5f: ADD
00000f60: MLOAD
00000f61: PUSH1 0x09
00000f63: SLOAD
00000f64: PUSH2 0x2dab
00000f67: SWAP1
00000f68: SWAP2
00000f69: SWAP1
00000f6a: PUSH4 0xffffffff
00000f6f: AND
00000f70: JUMP
00000f71: JUMPDEST
00000f72: PUSH1 0x09
00000f74: DUP2
00000f75: SWAP1
00000f76: SSTORE
00000f77: POP
00000f78: DUP1
00000f79: PUSH1 0x07
00000f7b: DUP4
00000f7c: PUSH1 0x40
00000f7e: MLOAD
00000f7f: DUP1
00000f80: DUP3
00000f81: DUP1
00000f82: MLOAD
00000f83: SWAP1
00000f84: PUSH1 0x20
00000f86: ADD
00000f87: SWAP1
00000f88: DUP1
00000f89: DUP4
00000f8a: DUP4
00000f8b: JUMPDEST
00000f8c: PUSH1 0x20
00000f8e: DUP4
00000f8f: LT
00000f90: ISZERO
00000f91: ISZERO
00000f92: PUSH2 0x0fb0
00000f95: JUMPI
00000f96: DUP1
00000f97: MLOAD
00000f98: DUP3
00000f99: MSTORE
00000f9a: PUSH1 0x20
00000f9c: DUP3
00000f9d: ADD
00000f9e: SWAP2
00000f9f: POP
00000fa0: PUSH1 0x20
00000fa2: DUP2
00000fa3: ADD
00000fa4: SWAP1
00000fa5: POP
00000fa6: PUSH1 0x20
00000fa8: DUP4
00000fa9: SUB
00000faa: SWAP3
00000fab: POP
00000fac: PUSH2 0x0f8b
00000faf: JUMP
00000fb0: JUMPDEST
00000fb1: PUSH1 0x01
00000fb3: DUP4
00000fb4: PUSH1 0x20
00000fb6: SUB
00000fb7: PUSH2 0x0100
00000fba: EXP
00000fbb: SUB
00000fbc: DUP1
00000fbd: NOT
00000fbe: DUP3
00000fbf: MLOAD
00000fc0: AND
00000fc1: DUP2
00000fc2: DUP5
00000fc3: MLOAD
00000fc4: AND
00000fc5: DUP1
00000fc6: DUP3
00000fc7: OR
00000fc8: DUP6
00000fc9: MSTORE
00000fca: POP
00000fcb: POP
00000fcc: POP
00000fcd: POP
00000fce: POP
00000fcf: POP
00000fd0: SWAP1
00000fd1: POP
00000fd2: ADD
00000fd3: SWAP2
00000fd4: POP
00000fd5: POP
00000fd6: SWAP1
00000fd7: DUP2
00000fd8: MSTORE
00000fd9: PUSH1 0x20
00000fdb: ADD
00000fdc: PUSH1 0x40
00000fde: MLOAD
00000fdf: DUP1
00000fe0: SWAP2
00000fe1: SUB
00000fe2: SWAP1
00000fe3: KECCAK256
00000fe4: PUSH1 0x00
00000fe6: DUP3
00000fe7: ADD
00000fe8: MLOAD
00000fe9: DUP2
00000fea: PUSH1 0x00
00000fec: ADD
00000fed: PUSH1 0x00
00000fef: PUSH2 0x0100
00000ff2: EXP
00000ff3: DUP2
00000ff4: SLOAD
00000ff5: DUP2
00000ff6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000100b: MUL
0000100c: NOT
0000100d: AND
0000100e: SWAP1
0000100f: DUP4
00001010: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001025: AND
00001026: MUL
00001027: OR
00001028: SWAP1
00001029: SSTORE
0000102a: POP
0000102b: PUSH1 0x20
0000102d: DUP3
0000102e: ADD
0000102f: MLOAD
00001030: DUP2
00001031: PUSH1 0x01
00001033: ADD
00001034: SWAP1
00001035: DUP1
00001036: MLOAD
00001037: SWAP1
00001038: PUSH1 0x20
0000103a: ADD
0000103b: SWAP1
0000103c: PUSH2 0x1046
0000103f: SWAP3
00001040: SWAP2
00001041: SWAP1
00001042: PUSH2 0x2ed1
00001045: JUMP
00001046: JUMPDEST
00001047: POP
00001048: PUSH1 0x40
0000104a: DUP3
0000104b: ADD
0000104c: MLOAD
0000104d: DUP2
0000104e: PUSH1 0x02
00001050: ADD
00001051: SSTORE
00001052: PUSH1 0x60
00001054: DUP3
00001055: ADD
00001056: MLOAD
00001057: DUP2
00001058: PUSH1 0x03
0000105a: ADD
0000105b: SSTORE
0000105c: PUSH1 0x80
0000105e: DUP3
0000105f: ADD
00001060: MLOAD
00001061: DUP2
00001062: PUSH1 0x04
00001064: ADD
00001065: SSTORE
00001066: PUSH1 0xa0
00001068: DUP3
00001069: ADD
0000106a: MLOAD
0000106b: DUP2
0000106c: PUSH1 0x05
0000106e: ADD
0000106f: SSTORE
00001070: PUSH1 0xc0
00001072: DUP3
00001073: ADD
00001074: MLOAD
00001075: DUP2
00001076: PUSH1 0x06
00001078: ADD
00001079: SSTORE
0000107a: PUSH1 0xe0
0000107c: DUP3
0000107d: ADD
0000107e: MLOAD
0000107f: DUP2
00001080: PUSH1 0x07
00001082: ADD
00001083: SSTORE
00001084: PUSH2 0x0100
00001087: DUP3
00001088: ADD
00001089: MLOAD
0000108a: DUP2
0000108b: PUSH1 0x08
0000108d: ADD
0000108e: SSTORE
0000108f: PUSH2 0x0120
00001092: DUP3
00001093: ADD
00001094: MLOAD
00001095: DUP2
00001096: PUSH1 0x09
00001098: ADD
00001099: SSTORE
0000109a: PUSH2 0x0140
0000109d: DUP3
0000109e: ADD
0000109f: MLOAD
000010a0: DUP2
000010a1: PUSH1 0x0a
000010a3: ADD
000010a4: PUSH1 0x00
000010a6: PUSH2 0x0100
000010a9: EXP
000010aa: DUP2
000010ab: SLOAD
000010ac: DUP2
000010ad: PUSH1 0xff
000010af: MUL
000010b0: NOT
000010b1: AND
000010b2: SWAP1
000010b3: DUP4
000010b4: ISZERO
000010b5: ISZERO
000010b6: MUL
000010b7: OR
000010b8: SWAP1
000010b9: SSTORE
000010ba: POP
000010bb: PUSH2 0x0160
000010be: DUP3
000010bf: ADD
000010c0: MLOAD
000010c1: DUP2
000010c2: PUSH1 0x0a
000010c4: ADD
000010c5: PUSH1 0x01
000010c7: PUSH2 0x0100
000010ca: EXP
000010cb: DUP2
000010cc: SLOAD
000010cd: DUP2
000010ce: PUSH1 0xff
000010d0: MUL
000010d1: NOT
000010d2: AND
000010d3: SWAP1
000010d4: DUP4
000010d5: ISZERO
000010d6: ISZERO
000010d7: MUL
000010d8: OR
000010d9: SWAP1
000010da: SSTORE
000010db: POP
000010dc: SWAP1
000010dd: POP
000010de: POP
000010df: POP
000010e0: POP
000010e1: POP
000010e2: POP
000010e3: POP
000010e4: POP
000010e5: POP
000010e6: POP
000010e7: POP
000010e8: JUMP
000010e9: JUMPDEST
000010ea: PUSH1 0x03
000010ec: DUP1
000010ed: SLOAD
000010ee: PUSH1 0x01
000010f0: DUP2
000010f1: PUSH1 0x01
000010f3: AND
000010f4: ISZERO
000010f5: PUSH2 0x0100
000010f8: MUL
000010f9: SUB
000010fa: AND
000010fb: PUSH1 0x02
000010fd: SWAP1
000010fe: DIV
000010ff: DUP1
00001100: PUSH1 0x1f
00001102: ADD
00001103: PUSH1 0x20
00001105: DUP1
00001106: SWAP2
00001107: DIV
00001108: MUL
00001109: PUSH1 0x20
0000110b: ADD
0000110c: PUSH1 0x40
0000110e: MLOAD
0000110f: SWAP1
00001110: DUP2
00001111: ADD
00001112: PUSH1 0x40
00001114: MSTORE
00001115: DUP1
00001116: SWAP3
00001117: SWAP2
00001118: SWAP1
00001119: DUP2
0000111a: DUP2
0000111b: MSTORE
0000111c: PUSH1 0x20
0000111e: ADD
0000111f: DUP3
00001120: DUP1
00001121: SLOAD
00001122: PUSH1 0x01
00001124: DUP2
00001125: PUSH1 0x01
00001127: AND
00001128: ISZERO
00001129: PUSH2 0x0100
0000112c: MUL
0000112d: SUB
0000112e: AND
0000112f: PUSH1 0x02
00001131: SWAP1
00001132: DIV
00001133: DUP1
00001134: ISZERO
00001135: PUSH2 0x117f
00001138: JUMPI
00001139: DUP1
0000113a: PUSH1 0x1f
0000113c: LT
0000113d: PUSH2 0x1154
00001140: JUMPI
00001141: PUSH2 0x0100
00001144: DUP1
00001145: DUP4
00001146: SLOAD
00001147: DIV
00001148: MUL
00001149: DUP4
0000114a: MSTORE
0000114b: SWAP2
0000114c: PUSH1 0x20
0000114e: ADD
0000114f: SWAP2
00001150: PUSH2 0x117f
00001153: JUMP
00001154: JUMPDEST
00001155: DUP3
00001156: ADD
00001157: SWAP2
00001158: SWAP1
00001159: PUSH1 0x00
0000115b: MSTORE
0000115c: PUSH1 0x20
0000115e: PUSH1 0x00
00001160: KECCAK256
00001161: SWAP1
00001162: JUMPDEST
00001163: DUP2
00001164: SLOAD
00001165: DUP2
00001166: MSTORE
00001167: SWAP1
00001168: PUSH1 0x01
0000116a: ADD
0000116b: SWAP1
0000116c: PUSH1 0x20
0000116e: ADD
0000116f: DUP1
00001170: DUP4
00001171: GT
00001172: PUSH2 0x1162
00001175: JUMPI
00001176: DUP3
00001177: SWAP1
00001178: SUB
00001179: PUSH1 0x1f
0000117b: AND
0000117c: DUP3
0000117d: ADD
0000117e: SWAP2
0000117f: JUMPDEST
00001180: POP
00001181: POP
00001182: POP
00001183: POP
00001184: POP
00001185: DUP2
00001186: JUMP
00001187: JUMPDEST
00001188: PUSH1 0x09
0000118a: SLOAD
0000118b: DUP2
0000118c: JUMP
0000118d: JUMPDEST
0000118e: PUSH1 0x00
00001190: DUP1
00001191: PUSH1 0x00
00001193: SWAP1
00001194: SLOAD
00001195: SWAP1
00001196: PUSH2 0x0100
00001199: EXP
0000119a: SWAP1
0000119b: DIV
0000119c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011b1: AND
000011b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011c7: AND
000011c8: CALLER
000011c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011de: AND
000011df: EQ
000011e0: ISZERO
000011e1: ISZERO
000011e2: PUSH2 0x11ea
000011e5: JUMPI
000011e6: PUSH1 0x00
000011e8: DUP1
000011e9: REVERT
000011ea: JUMPDEST
000011eb: PUSH1 0x0c
000011ed: PUSH1 0x00
000011ef: SWAP1
000011f0: SLOAD
000011f1: SWAP1
000011f2: PUSH2 0x0100
000011f5: EXP
000011f6: SWAP1
000011f7: DIV
000011f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000120d: AND
0000120e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001223: AND
00001224: PUSH4 0x23b872dd
00001229: PUSH1 0x00
0000122b: DUP1
0000122c: SWAP1
0000122d: SLOAD
0000122e: SWAP1
0000122f: PUSH2 0x0100
00001232: EXP
00001233: SWAP1
00001234: DIV
00001235: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000124a: AND
0000124b: ADDRESS
0000124c: DUP6
0000124d: PUSH1 0x40
0000124f: MLOAD
00001250: DUP5
00001251: PUSH4 0xffffffff
00001256: AND
00001257: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001275: MUL
00001276: DUP2
00001277: MSTORE
00001278: PUSH1 0x04
0000127a: ADD
0000127b: DUP1
0000127c: DUP5
0000127d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001292: AND
00001293: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012a8: AND
000012a9: DUP2
000012aa: MSTORE
000012ab: PUSH1 0x20
000012ad: ADD
000012ae: DUP4
000012af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c4: AND
000012c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012da: AND
000012db: DUP2
000012dc: MSTORE
000012dd: PUSH1 0x20
000012df: ADD
000012e0: DUP3
000012e1: DUP2
000012e2: MSTORE
000012e3: PUSH1 0x20
000012e5: ADD
000012e6: SWAP4
000012e7: POP
000012e8: POP
000012e9: POP
000012ea: POP
000012eb: PUSH1 0x00
000012ed: PUSH1 0x40
000012ef: MLOAD
000012f0: DUP1
000012f1: DUP4
000012f2: SUB
000012f3: DUP2
000012f4: PUSH1 0x00
000012f6: DUP8
000012f7: DUP1
000012f8: EXTCODESIZE
000012f9: ISZERO
000012fa: DUP1
000012fb: ISZERO
000012fc: PUSH2 0x1304
000012ff: JUMPI
00001300: PUSH1 0x00
00001302: DUP1
00001303: REVERT
00001304: JUMPDEST
00001305: POP
00001306: GAS
00001307: CALL
00001308: ISZERO
00001309: DUP1
0000130a: ISZERO
0000130b: PUSH2 0x1318
0000130e: JUMPI
0000130f: RETURNDATASIZE
00001310: PUSH1 0x00
00001312: DUP1
00001313: RETURNDATACOPY
00001314: RETURNDATASIZE
00001315: PUSH1 0x00
00001317: REVERT
00001318: JUMPDEST
00001319: POP
0000131a: POP
0000131b: POP
0000131c: POP
0000131d: PUSH2 0x1331
00001320: DUP3
00001321: PUSH1 0x09
00001323: SLOAD
00001324: PUSH2 0x2dcc
00001327: SWAP1
00001328: SWAP2
00001329: SWAP1
0000132a: PUSH4 0xffffffff
0000132f: AND
00001330: JUMP
00001331: JUMPDEST
00001332: PUSH1 0x09
00001334: DUP2
00001335: SWAP1
00001336: SSTORE
00001337: POP
00001338: PUSH1 0x01
0000133a: SWAP1
0000133b: POP
0000133c: SWAP2
0000133d: SWAP1
0000133e: POP
0000133f: JUMP
00001340: JUMPDEST
00001341: PUSH1 0x00
00001343: DUP1
00001344: PUSH1 0x00
00001346: DUP1
00001347: PUSH1 0x41
00001349: DUP6
0000134a: MLOAD
0000134b: EQ
0000134c: ISZERO
0000134d: ISZERO
0000134e: PUSH2 0x135a
00001351: JUMPI
00001352: PUSH1 0x00
00001354: SWAP4
00001355: POP
00001356: PUSH2 0x14e0
00001359: JUMP
0000135a: JUMPDEST
0000135b: PUSH1 0x20
0000135d: DUP6
0000135e: ADD
0000135f: MLOAD
00001360: SWAP3
00001361: POP
00001362: PUSH1 0x40
00001364: DUP6
00001365: ADD
00001366: MLOAD
00001367: SWAP2
00001368: POP
00001369: PUSH1 0x60
0000136b: DUP6
0000136c: ADD
0000136d: MLOAD
0000136e: PUSH1 0x00
00001370: BYTE
00001371: SWAP1
00001372: POP
00001373: PUSH1 0x1b
00001375: DUP2
00001376: PUSH1 0xff
00001378: AND
00001379: LT
0000137a: ISZERO
0000137b: PUSH2 0x1385
0000137e: JUMPI
0000137f: PUSH1 0x1b
00001381: DUP2
00001382: ADD
00001383: SWAP1
00001384: POP
00001385: JUMPDEST
00001386: PUSH1 0x1b
00001388: DUP2
00001389: PUSH1 0xff
0000138b: AND
0000138c: EQ
0000138d: ISZERO
0000138e: DUP1
0000138f: ISZERO
00001390: PUSH2 0x139d
00001393: JUMPI
00001394: POP
00001395: PUSH1 0x1c
00001397: DUP2
00001398: PUSH1 0xff
0000139a: AND
0000139b: EQ
0000139c: ISZERO
0000139d: JUMPDEST
0000139e: ISZERO
0000139f: PUSH2 0x13ab
000013a2: JUMPI
000013a3: PUSH1 0x00
000013a5: SWAP4
000013a6: POP
000013a7: PUSH2 0x14e0
000013aa: JUMP
000013ab: JUMPDEST
000013ac: PUSH1 0x01
000013ae: DUP7
000013af: PUSH1 0x40
000013b1: MLOAD
000013b2: PUSH1 0x20
000013b4: ADD
000013b5: DUP1
000013b6: DUP1
000013b7: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
000013d8: DUP2
000013d9: MSTORE
000013da: POP
000013db: PUSH1 0x1c
000013dd: ADD
000013de: DUP3
000013df: PUSH1 0x00
000013e1: NOT
000013e2: AND
000013e3: PUSH1 0x00
000013e5: NOT
000013e6: AND
000013e7: DUP2
000013e8: MSTORE
000013e9: PUSH1 0x20
000013eb: ADD
000013ec: SWAP2
000013ed: POP
000013ee: POP
000013ef: PUSH1 0x40
000013f1: MLOAD
000013f2: PUSH1 0x20
000013f4: DUP2
000013f5: DUP4
000013f6: SUB
000013f7: SUB
000013f8: DUP2
000013f9: MSTORE
000013fa: SWAP1
000013fb: PUSH1 0x40
000013fd: MSTORE
000013fe: PUSH1 0x40
00001400: MLOAD
00001401: DUP1
00001402: DUP3
00001403: DUP1
00001404: MLOAD
00001405: SWAP1
00001406: PUSH1 0x20
00001408: ADD
00001409: SWAP1
0000140a: DUP1
0000140b: DUP4
0000140c: DUP4
0000140d: JUMPDEST
0000140e: PUSH1 0x20
00001410: DUP4
00001411: LT
00001412: ISZERO
00001413: ISZERO
00001414: PUSH2 0x1432
00001417: JUMPI
00001418: DUP1
00001419: MLOAD
0000141a: DUP3
0000141b: MSTORE
0000141c: PUSH1 0x20
0000141e: DUP3
0000141f: ADD
00001420: SWAP2
00001421: POP
00001422: PUSH1 0x20
00001424: DUP2
00001425: ADD
00001426: SWAP1
00001427: POP
00001428: PUSH1 0x20
0000142a: DUP4
0000142b: SUB
0000142c: SWAP3
0000142d: POP
0000142e: PUSH2 0x140d
00001431: JUMP
00001432: JUMPDEST
00001433: PUSH1 0x01
00001435: DUP4
00001436: PUSH1 0x20
00001438: SUB
00001439: PUSH2 0x0100
0000143c: EXP
0000143d: SUB
0000143e: DUP1
0000143f: NOT
00001440: DUP3
00001441: MLOAD
00001442: AND
00001443: DUP2
00001444: DUP5
00001445: MLOAD
00001446: AND
00001447: DUP1
00001448: DUP3
00001449: OR
0000144a: DUP6
0000144b: MSTORE
0000144c: POP
0000144d: POP
0000144e: POP
0000144f: POP
00001450: POP
00001451: POP
00001452: SWAP1
00001453: POP
00001454: ADD
00001455: SWAP2
00001456: POP
00001457: POP
00001458: PUSH1 0x40
0000145a: MLOAD
0000145b: DUP1
0000145c: SWAP2
0000145d: SUB
0000145e: SWAP1
0000145f: KECCAK256
00001460: DUP3
00001461: DUP6
00001462: DUP6
00001463: PUSH1 0x40
00001465: MLOAD
00001466: PUSH1 0x00
00001468: DUP2
00001469: MSTORE
0000146a: PUSH1 0x20
0000146c: ADD
0000146d: PUSH1 0x40
0000146f: MSTORE
00001470: PUSH1 0x40
00001472: MLOAD
00001473: DUP1
00001474: DUP6
00001475: PUSH1 0x00
00001477: NOT
00001478: AND
00001479: PUSH1 0x00
0000147b: NOT
0000147c: AND
0000147d: DUP2
0000147e: MSTORE
0000147f: PUSH1 0x20
00001481: ADD
00001482: DUP5
00001483: PUSH1 0xff
00001485: AND
00001486: PUSH1 0xff
00001488: AND
00001489: DUP2
0000148a: MSTORE
0000148b: PUSH1 0x20
0000148d: ADD
0000148e: DUP4
0000148f: PUSH1 0x00
00001491: NOT
00001492: AND
00001493: PUSH1 0x00
00001495: NOT
00001496: AND
00001497: DUP2
00001498: MSTORE
00001499: PUSH1 0x20
0000149b: ADD
0000149c: DUP3
0000149d: PUSH1 0x00
0000149f: NOT
000014a0: AND
000014a1: PUSH1 0x00
000014a3: NOT
000014a4: AND
000014a5: DUP2
000014a6: MSTORE
000014a7: PUSH1 0x20
000014a9: ADD
000014aa: SWAP5
000014ab: POP
000014ac: POP
000014ad: POP
000014ae: POP
000014af: POP
000014b0: PUSH1 0x20
000014b2: PUSH1 0x40
000014b4: MLOAD
000014b5: PUSH1 0x20
000014b7: DUP2
000014b8: SUB
000014b9: SWAP1
000014ba: DUP1
000014bb: DUP5
000014bc: SUB
000014bd: SWAP1
000014be: PUSH1 0x00
000014c0: DUP7
000014c1: GAS
000014c2: CALL
000014c3: ISZERO
000014c4: DUP1
000014c5: ISZERO
000014c6: PUSH2 0x14d3
000014c9: JUMPI
000014ca: RETURNDATASIZE
000014cb: PUSH1 0x00
000014cd: DUP1
000014ce: RETURNDATACOPY
000014cf: RETURNDATASIZE
000014d0: PUSH1 0x00
000014d2: REVERT
000014d3: JUMPDEST
000014d4: POP
000014d5: POP
000014d6: POP
000014d7: PUSH1 0x20
000014d9: PUSH1 0x40
000014db: MLOAD
000014dc: SUB
000014dd: MLOAD
000014de: SWAP4
000014df: POP
000014e0: JUMPDEST
000014e1: POP
000014e2: POP
000014e3: POP
000014e4: SWAP3
000014e5: SWAP2
000014e6: POP
000014e7: POP
000014e8: JUMP
000014e9: JUMPDEST
000014ea: PUSH1 0x05
000014ec: SLOAD
000014ed: DUP2
000014ee: JUMP
000014ef: JUMPDEST
000014f0: PUSH1 0x00
000014f2: DUP1
000014f3: SWAP1
000014f4: SLOAD
000014f5: SWAP1
000014f6: PUSH2 0x0100
000014f9: EXP
000014fa: SWAP1
000014fb: DIV
000014fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001511: AND
00001512: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001527: AND
00001528: CALLER
00001529: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000153e: AND
0000153f: EQ
00001540: ISZERO
00001541: ISZERO
00001542: PUSH2 0x154a
00001545: JUMPI
00001546: PUSH1 0x00
00001548: DUP1
00001549: REVERT
0000154a: JUMPDEST
0000154b: PUSH1 0x02
0000154d: PUSH1 0x00
0000154f: SWAP1
00001550: SLOAD
00001551: SWAP1
00001552: PUSH2 0x0100
00001555: EXP
00001556: SWAP1
00001557: DIV
00001558: PUSH1 0xff
0000155a: AND
0000155b: ISZERO
0000155c: ISZERO
0000155d: PUSH2 0x1565
00001560: JUMPI
00001561: PUSH1 0x00
00001563: DUP1
00001564: REVERT
00001565: JUMPDEST
00001566: PUSH1 0x00
00001568: PUSH1 0x02
0000156a: PUSH1 0x00
0000156c: PUSH2 0x0100
0000156f: EXP
00001570: DUP2
00001571: SLOAD
00001572: DUP2
00001573: PUSH1 0xff
00001575: MUL
00001576: NOT
00001577: AND
00001578: SWAP1
00001579: DUP4
0000157a: ISZERO
0000157b: ISZERO
0000157c: MUL
0000157d: OR
0000157e: SWAP1
0000157f: SSTORE
00001580: POP
00001581: PUSH32 0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33
000015a2: PUSH1 0x40
000015a4: MLOAD
000015a5: PUSH1 0x40
000015a7: MLOAD
000015a8: DUP1
000015a9: SWAP2
000015aa: SUB
000015ab: SWAP1
000015ac: LOG1
000015ad: JUMP
000015ae: JUMPDEST
000015af: PUSH1 0x00
000015b1: DUP1
000015b2: PUSH1 0x00
000015b4: PUSH1 0x01
000015b6: ISZERO
000015b7: ISZERO
000015b8: PUSH1 0x01
000015ba: PUSH1 0x00
000015bc: CALLER
000015bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015d2: AND
000015d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015e8: AND
000015e9: DUP2
000015ea: MSTORE
000015eb: PUSH1 0x20
000015ed: ADD
000015ee: SWAP1
000015ef: DUP2
000015f0: MSTORE
000015f1: PUSH1 0x20
000015f3: ADD
000015f4: PUSH1 0x00
000015f6: KECCAK256
000015f7: PUSH1 0x00
000015f9: SWAP1
000015fa: SLOAD
000015fb: SWAP1
000015fc: PUSH2 0x0100
000015ff: EXP
00001600: SWAP1
00001601: DIV
00001602: PUSH1 0xff
00001604: AND
00001605: ISZERO
00001606: ISZERO
00001607: EQ
00001608: ISZERO
00001609: ISZERO
0000160a: PUSH2 0x1612
0000160d: JUMPI
0000160e: PUSH1 0x00
00001610: DUP1
00001611: REVERT
00001612: JUMPDEST
00001613: PUSH1 0x02
00001615: PUSH1 0x00
00001617: SWAP1
00001618: SLOAD
00001619: SWAP1
0000161a: PUSH2 0x0100
0000161d: EXP
0000161e: SWAP1
0000161f: DIV
00001620: PUSH1 0xff
00001622: AND
00001623: ISZERO
00001624: ISZERO
00001625: ISZERO
00001626: PUSH2 0x162e
00001629: JUMPI
0000162a: PUSH1 0x00
0000162c: DUP1
0000162d: REVERT
0000162e: JUMPDEST
0000162f: PUSH1 0x07
00001631: DUP6
00001632: PUSH1 0x40
00001634: MLOAD
00001635: DUP1
00001636: DUP3
00001637: DUP1
00001638: MLOAD
00001639: SWAP1
0000163a: PUSH1 0x20
0000163c: ADD
0000163d: SWAP1
0000163e: DUP1
0000163f: DUP4
00001640: DUP4
00001641: JUMPDEST
00001642: PUSH1 0x20
00001644: DUP4
00001645: LT
00001646: ISZERO
00001647: ISZERO
00001648: PUSH2 0x1666
0000164b: JUMPI
0000164c: DUP1
0000164d: MLOAD
0000164e: DUP3
0000164f: MSTORE
00001650: PUSH1 0x20
00001652: DUP3
00001653: ADD
00001654: SWAP2
00001655: POP
00001656: PUSH1 0x20
00001658: DUP2
00001659: ADD
0000165a: SWAP1
0000165b: POP
0000165c: PUSH1 0x20
0000165e: DUP4
0000165f: SUB
00001660: SWAP3
00001661: POP
00001662: PUSH2 0x1641
00001665: JUMP
00001666: JUMPDEST
00001667: PUSH1 0x01
00001669: DUP4
0000166a: PUSH1 0x20
0000166c: SUB
0000166d: PUSH2 0x0100
00001670: EXP
00001671: SUB
00001672: DUP1
00001673: NOT
00001674: DUP3
00001675: MLOAD
00001676: AND
00001677: DUP2
00001678: DUP5
00001679: MLOAD
0000167a: AND
0000167b: DUP1
0000167c: DUP3
0000167d: OR
0000167e: DUP6
0000167f: MSTORE
00001680: POP
00001681: POP
00001682: POP
00001683: POP
00001684: POP
00001685: POP
00001686: SWAP1
00001687: POP
00001688: ADD
00001689: SWAP2
0000168a: POP
0000168b: POP
0000168c: SWAP1
0000168d: DUP2
0000168e: MSTORE
0000168f: PUSH1 0x20
00001691: ADD
00001692: PUSH1 0x40
00001694: MLOAD
00001695: DUP1
00001696: SWAP2
00001697: SUB
00001698: SWAP1
00001699: KECCAK256
0000169a: SWAP3
0000169b: POP
0000169c: DUP3
0000169d: PUSH1 0x0a
0000169f: ADD
000016a0: PUSH1 0x01
000016a2: SWAP1
000016a3: SLOAD
000016a4: SWAP1
000016a5: PUSH2 0x0100
000016a8: EXP
000016a9: SWAP1
000016aa: DIV
000016ab: PUSH1 0xff
000016ad: AND
000016ae: DUP1
000016af: ISZERO
000016b0: PUSH2 0x16c8
000016b3: JUMPI
000016b4: POP
000016b5: DUP3
000016b6: PUSH1 0x0a
000016b8: ADD
000016b9: PUSH1 0x00
000016bb: SWAP1
000016bc: SLOAD
000016bd: SWAP1
000016be: PUSH2 0x0100
000016c1: EXP
000016c2: SWAP1
000016c3: DIV
000016c4: PUSH1 0xff
000016c6: AND
000016c7: ISZERO
000016c8: JUMPDEST
000016c9: ISZERO
000016ca: ISZERO
000016cb: PUSH2 0x16d3
000016ce: JUMPI
000016cf: PUSH1 0x00
000016d1: DUP1
000016d2: REVERT
000016d3: JUMPDEST
000016d4: DUP3
000016d5: PUSH1 0x03
000016d7: ADD
000016d8: SLOAD
000016d9: DUP5
000016da: GT
000016db: ISZERO
000016dc: PUSH2 0x17d2
000016df: JUMPI
000016e0: PUSH2 0x1736
000016e3: DUP4
000016e4: PUSH1 0x02
000016e6: ADD
000016e7: SLOAD
000016e8: PUSH2 0x1728
000016eb: DUP6
000016ec: PUSH1 0x03
000016ee: ADD
000016ef: SLOAD
000016f0: PUSH2 0x171a
000016f3: PUSH1 0x06
000016f5: SLOAD
000016f6: PUSH2 0x170c
000016f9: DUP10
000016fa: PUSH1 0x03
000016fc: ADD
000016fd: SLOAD
000016fe: DUP12
000016ff: PUSH2 0x2dab
00001702: SWAP1
00001703: SWAP2
00001704: SWAP1
00001705: PUSH4 0xffffffff
0000170a: AND
0000170b: JUMP
0000170c: JUMPDEST
0000170d: PUSH2 0x2ded
00001710: SWAP1
00001711: SWAP2
00001712: SWAP1
00001713: PUSH4 0xffffffff
00001718: AND
00001719: JUMP
0000171a: JUMPDEST
0000171b: PUSH2 0x2e2b
0000171e: SWAP1
0000171f: SWAP2
00001720: SWAP1
00001721: PUSH4 0xffffffff
00001726: AND
00001727: JUMP
00001728: JUMPDEST
00001729: PUSH2 0x2ded
0000172c: SWAP1
0000172d: SWAP2
0000172e: SWAP1
0000172f: PUSH4 0xffffffff
00001734: AND
00001735: JUMP
00001736: JUMPDEST
00001737: SWAP2
00001738: POP
00001739: PUSH1 0x06
0000173b: SLOAD
0000173c: DUP3
0000173d: LT
0000173e: ISZERO
0000173f: ISZERO
00001740: PUSH2 0x174f
00001743: JUMPI
00001744: DUP3
00001745: PUSH1 0x05
00001747: ADD
00001748: SLOAD
00001749: SWAP1
0000174a: POP
0000174b: PUSH2 0x177d
0000174e: JUMP
0000174f: JUMPDEST
00001750: PUSH2 0x177a
00001753: PUSH1 0x06
00001755: SLOAD
00001756: PUSH2 0x176c
00001759: DUP5
0000175a: DUP7
0000175b: PUSH1 0x05
0000175d: ADD
0000175e: SLOAD
0000175f: PUSH2 0x2ded
00001762: SWAP1
00001763: SWAP2
00001764: SWAP1
00001765: PUSH4 0xffffffff
0000176a: AND
0000176b: JUMP
0000176c: JUMPDEST
0000176d: PUSH2 0x2e2b
00001770: SWAP1
00001771: SWAP2
00001772: SWAP1
00001773: PUSH4 0xffffffff
00001778: AND
00001779: JUMP
0000177a: JUMPDEST
0000177b: SWAP1
0000177c: POP
0000177d: JUMPDEST
0000177e: PUSH2 0x1794
00001781: DUP2
00001782: DUP5
00001783: PUSH1 0x05
00001785: ADD
00001786: SLOAD
00001787: PUSH2 0x2dab
0000178a: SWAP1
0000178b: SWAP2
0000178c: SWAP1
0000178d: PUSH4 0xffffffff
00001792: AND
00001793: JUMP
00001794: JUMPDEST
00001795: DUP4
00001796: PUSH1 0x06
00001798: ADD
00001799: DUP2
0000179a: SWAP1
0000179b: SSTORE
0000179c: POP
0000179d: PUSH2 0x17c7
000017a0: DUP2
000017a1: PUSH2 0x17b9
000017a4: DUP6
000017a5: PUSH1 0x07
000017a7: ADD
000017a8: SLOAD
000017a9: PUSH1 0x09
000017ab: SLOAD
000017ac: PUSH2 0x2dcc
000017af: SWAP1
000017b0: SWAP2
000017b1: SWAP1
000017b2: PUSH4 0xffffffff
000017b7: AND
000017b8: JUMP
000017b9: JUMPDEST
000017ba: PUSH2 0x2dcc
000017bd: SWAP1
000017be: SWAP2
000017bf: SWAP1
000017c0: PUSH4 0xffffffff
000017c5: AND
000017c6: JUMP
000017c7: JUMPDEST
000017c8: PUSH1 0x09
000017ca: DUP2
000017cb: SWAP1
000017cc: SSTORE
000017cd: POP
000017ce: PUSH2 0x18c1
000017d1: JUMP
000017d2: JUMPDEST
000017d3: PUSH2 0x1829
000017d6: DUP4
000017d7: PUSH1 0x02
000017d9: ADD
000017da: SLOAD
000017db: PUSH2 0x181b
000017de: DUP6
000017df: PUSH1 0x03
000017e1: ADD
000017e2: SLOAD
000017e3: PUSH2 0x180d
000017e6: PUSH1 0x06
000017e8: SLOAD
000017e9: PUSH2 0x17ff
000017ec: DUP11
000017ed: DUP11
000017ee: PUSH1 0x03
000017f0: ADD
000017f1: SLOAD
000017f2: PUSH2 0x2dab
000017f5: SWAP1
000017f6: SWAP2
000017f7: SWAP1
000017f8: PUSH4 0xffffffff
000017fd: AND
000017fe: JUMP
000017ff: JUMPDEST
00001800: PUSH2 0x2ded
00001803: SWAP1
00001804: SWAP2
00001805: SWAP1
00001806: PUSH4 0xffffffff
0000180b: AND
0000180c: JUMP
0000180d: JUMPDEST
0000180e: PUSH2 0x2e2b
00001811: SWAP1
00001812: SWAP2
00001813: SWAP1
00001814: PUSH4 0xffffffff
00001819: AND
0000181a: JUMP
0000181b: JUMPDEST
0000181c: PUSH2 0x2ded
0000181f: SWAP1
00001820: SWAP2
00001821: SWAP1
00001822: PUSH4 0xffffffff
00001827: AND
00001828: JUMP
00001829: JUMPDEST
0000182a: SWAP2
0000182b: POP
0000182c: PUSH1 0x06
0000182e: SLOAD
0000182f: DUP3
00001830: LT
00001831: ISZERO
00001832: ISZERO
00001833: PUSH2 0x1842
00001836: JUMPI
00001837: DUP3
00001838: PUSH1 0x07
0000183a: ADD
0000183b: SLOAD
0000183c: SWAP1
0000183d: POP
0000183e: PUSH2 0x1870
00001841: JUMP
00001842: JUMPDEST
00001843: PUSH2 0x186d
00001846: PUSH1 0x06
00001848: SLOAD
00001849: PUSH2 0x185f
0000184c: DUP5
0000184d: DUP7
0000184e: PUSH1 0x07
00001850: ADD
00001851: SLOAD
00001852: PUSH2 0x2ded
00001855: SWAP1
00001856: SWAP2
00001857: SWAP1
00001858: PUSH4 0xffffffff
0000185d: AND
0000185e: JUMP
0000185f: JUMPDEST
00001860: PUSH2 0x2e2b
00001863: SWAP1
00001864: SWAP2
00001865: SWAP1
00001866: PUSH4 0xffffffff
0000186b: AND
0000186c: JUMP
0000186d: JUMPDEST
0000186e: SWAP1
0000186f: POP
00001870: JUMPDEST
00001871: PUSH2 0x1887
00001874: DUP2
00001875: DUP5
00001876: PUSH1 0x05
00001878: ADD
00001879: SLOAD
0000187a: PUSH2 0x2dcc
0000187d: SWAP1
0000187e: SWAP2
0000187f: SWAP1
00001880: PUSH4 0xffffffff
00001885: AND
00001886: JUMP
00001887: JUMPDEST
00001888: DUP4
00001889: PUSH1 0x06
0000188b: ADD
0000188c: DUP2
0000188d: SWAP1
0000188e: SSTORE
0000188f: POP
00001890: PUSH2 0x18ba
00001893: DUP2
00001894: PUSH2 0x18ac
00001897: DUP6
00001898: PUSH1 0x07
0000189a: ADD
0000189b: SLOAD
0000189c: PUSH1 0x09
0000189e: SLOAD
0000189f: PUSH2 0x2dcc
000018a2: SWAP1
000018a3: SWAP2
000018a4: SWAP1
000018a5: PUSH4 0xffffffff
000018aa: AND
000018ab: JUMP
000018ac: JUMPDEST
000018ad: PUSH2 0x2dab
000018b0: SWAP1
000018b1: SWAP2
000018b2: SWAP1
000018b3: PUSH4 0xffffffff
000018b8: AND
000018b9: JUMP
000018ba: JUMPDEST
000018bb: PUSH1 0x09
000018bd: DUP2
000018be: SWAP1
000018bf: SSTORE
000018c0: POP
000018c1: JUMPDEST
000018c2: PUSH1 0x01
000018c4: DUP4
000018c5: PUSH1 0x0a
000018c7: ADD
000018c8: PUSH1 0x00
000018ca: PUSH2 0x0100
000018cd: EXP
000018ce: DUP2
000018cf: SLOAD
000018d0: DUP2
000018d1: PUSH1 0xff
000018d3: MUL
000018d4: NOT
000018d5: AND
000018d6: SWAP1
000018d7: DUP4
000018d8: ISZERO
000018d9: ISZERO
000018da: MUL
000018db: OR
000018dc: SWAP1
000018dd: SSTORE
000018de: POP
000018df: DUP4
000018e0: DUP4
000018e1: PUSH1 0x04
000018e3: ADD
000018e4: DUP2
000018e5: SWAP1
000018e6: SSTORE
000018e7: POP
000018e8: PUSH1 0x0c
000018ea: PUSH1 0x00
000018ec: SWAP1
000018ed: SLOAD
000018ee: SWAP1
000018ef: PUSH2 0x0100
000018f2: EXP
000018f3: SWAP1
000018f4: DIV
000018f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190a: AND
0000190b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001920: AND
00001921: PUSH4 0xa9059cbb
00001926: DUP5
00001927: PUSH1 0x00
00001929: ADD
0000192a: PUSH1 0x00
0000192c: SWAP1
0000192d: SLOAD
0000192e: SWAP1
0000192f: PUSH2 0x0100
00001932: EXP
00001933: SWAP1
00001934: DIV
00001935: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000194a: AND
0000194b: DUP6
0000194c: PUSH1 0x06
0000194e: ADD
0000194f: SLOAD
00001950: PUSH1 0x40
00001952: MLOAD
00001953: DUP4
00001954: PUSH4 0xffffffff
00001959: AND
0000195a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001978: MUL
00001979: DUP2
0000197a: MSTORE
0000197b: PUSH1 0x04
0000197d: ADD
0000197e: DUP1
0000197f: DUP4
00001980: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001995: AND
00001996: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ab: AND
000019ac: DUP2
000019ad: MSTORE
000019ae: PUSH1 0x20
000019b0: ADD
000019b1: DUP3
000019b2: DUP2
000019b3: MSTORE
000019b4: PUSH1 0x20
000019b6: ADD
000019b7: SWAP3
000019b8: POP
000019b9: POP
000019ba: POP
000019bb: PUSH1 0x00
000019bd: PUSH1 0x40
000019bf: MLOAD
000019c0: DUP1
000019c1: DUP4
000019c2: SUB
000019c3: DUP2
000019c4: PUSH1 0x00
000019c6: DUP8
000019c7: DUP1
000019c8: EXTCODESIZE
000019c9: ISZERO
000019ca: DUP1
000019cb: ISZERO
000019cc: PUSH2 0x19d4
000019cf: JUMPI
000019d0: PUSH1 0x00
000019d2: DUP1
000019d3: REVERT
000019d4: JUMPDEST
000019d5: POP
000019d6: GAS
000019d7: CALL
000019d8: ISZERO
000019d9: DUP1
000019da: ISZERO
000019db: PUSH2 0x19e8
000019de: JUMPI
000019df: RETURNDATASIZE
000019e0: PUSH1 0x00
000019e2: DUP1
000019e3: RETURNDATACOPY
000019e4: RETURNDATASIZE
000019e5: PUSH1 0x00
000019e7: REVERT
000019e8: JUMPDEST
000019e9: POP
000019ea: POP
000019eb: POP
000019ec: POP
000019ed: POP
000019ee: POP
000019ef: POP
000019f0: POP
000019f1: POP
000019f2: JUMP
000019f3: JUMPDEST
000019f4: PUSH2 0x19fb
000019f7: PUSH2 0x2e55
000019fa: JUMP
000019fb: JUMPDEST
000019fc: PUSH1 0x01
000019fe: ISZERO
000019ff: ISZERO
00001a00: PUSH1 0x01
00001a02: PUSH1 0x00
00001a04: CALLER
00001a05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a1a: AND
00001a1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a30: AND
00001a31: DUP2
00001a32: MSTORE
00001a33: PUSH1 0x20
00001a35: ADD
00001a36: SWAP1
00001a37: DUP2
00001a38: MSTORE
00001a39: PUSH1 0x20
00001a3b: ADD
00001a3c: PUSH1 0x00
00001a3e: KECCAK256
00001a3f: PUSH1 0x00
00001a41: SWAP1
00001a42: SLOAD
00001a43: SWAP1
00001a44: PUSH2 0x0100
00001a47: EXP
00001a48: SWAP1
00001a49: DIV
00001a4a: PUSH1 0xff
00001a4c: AND
00001a4d: ISZERO
00001a4e: ISZERO
00001a4f: EQ
00001a50: ISZERO
00001a51: ISZERO
00001a52: PUSH2 0x1a5a
00001a55: JUMPI
00001a56: PUSH1 0x00
00001a58: DUP1
00001a59: REVERT
00001a5a: JUMPDEST
00001a5b: PUSH1 0x02
00001a5d: PUSH1 0x00
00001a5f: SWAP1
00001a60: SLOAD
00001a61: SWAP1
00001a62: PUSH2 0x0100
00001a65: EXP
00001a66: SWAP1
00001a67: DIV
00001a68: PUSH1 0xff
00001a6a: AND
00001a6b: ISZERO
00001a6c: ISZERO
00001a6d: ISZERO
00001a6e: PUSH2 0x1a76
00001a71: JUMPI
00001a72: PUSH1 0x00
00001a74: DUP1
00001a75: REVERT
00001a76: JUMPDEST
00001a77: PUSH2 0x1a8d
00001a7a: PUSH2 0x1a87
00001a7d: DUP10
00001a7e: DUP10
00001a7f: DUP9
00001a80: DUP9
00001a81: DUP12
00001a82: DUP10
00001a83: PUSH2 0x284a
00001a86: JUMP
00001a87: JUMPDEST
00001a88: DUP4
00001a89: PUSH2 0x1340
00001a8c: JUMP
00001a8d: JUMPDEST
00001a8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aa3: AND
00001aa4: DUP10
00001aa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aba: AND
00001abb: EQ
00001abc: DUP1
00001abd: ISZERO
00001abe: PUSH2 0x1b3d
00001ac1: JUMPI
00001ac2: POP
00001ac3: PUSH1 0x08
00001ac5: DUP3
00001ac6: PUSH1 0x40
00001ac8: MLOAD
00001ac9: DUP1
00001aca: DUP3
00001acb: DUP1
00001acc: MLOAD
00001acd: SWAP1
00001ace: PUSH1 0x20
00001ad0: ADD
00001ad1: SWAP1
00001ad2: DUP1
00001ad3: DUP4
00001ad4: DUP4
00001ad5: JUMPDEST
00001ad6: PUSH1 0x20
00001ad8: DUP4
00001ad9: LT
00001ada: ISZERO
00001adb: ISZERO
00001adc: PUSH2 0x1afa
00001adf: JUMPI
00001ae0: DUP1
00001ae1: MLOAD
00001ae2: DUP3
00001ae3: MSTORE
00001ae4: PUSH1 0x20
00001ae6: DUP3
00001ae7: ADD
00001ae8: SWAP2
00001ae9: POP
00001aea: PUSH1 0x20
00001aec: DUP2
00001aed: ADD
00001aee: SWAP1
00001aef: POP
00001af0: PUSH1 0x20
00001af2: DUP4
00001af3: SUB
00001af4: SWAP3
00001af5: POP
00001af6: PUSH2 0x1ad5
00001af9: JUMP
00001afa: JUMPDEST
00001afb: PUSH1 0x01
00001afd: DUP4
00001afe: PUSH1 0x20
00001b00: SUB
00001b01: PUSH2 0x0100
00001b04: EXP
00001b05: SUB
00001b06: DUP1
00001b07: NOT
00001b08: DUP3
00001b09: MLOAD
00001b0a: AND
00001b0b: DUP2
00001b0c: DUP5
00001b0d: MLOAD
00001b0e: AND
00001b0f: DUP1
00001b10: DUP3
00001b11: OR
00001b12: DUP6
00001b13: MSTORE
00001b14: POP
00001b15: POP
00001b16: POP
00001b17: POP
00001b18: POP
00001b19: POP
00001b1a: SWAP1
00001b1b: POP
00001b1c: ADD
00001b1d: SWAP2
00001b1e: POP
00001b1f: POP
00001b20: SWAP1
00001b21: DUP2
00001b22: MSTORE
00001b23: PUSH1 0x20
00001b25: ADD
00001b26: PUSH1 0x40
00001b28: MLOAD
00001b29: DUP1
00001b2a: SWAP2
00001b2b: SUB
00001b2c: SWAP1
00001b2d: KECCAK256
00001b2e: PUSH1 0x00
00001b30: SWAP1
00001b31: SLOAD
00001b32: SWAP1
00001b33: PUSH2 0x0100
00001b36: EXP
00001b37: SWAP1
00001b38: DIV
00001b39: PUSH1 0xff
00001b3b: AND
00001b3c: ISZERO
00001b3d: JUMPDEST
00001b3e: ISZERO
00001b3f: ISZERO
00001b40: PUSH2 0x1b48
00001b43: JUMPI
00001b44: PUSH1 0x00
00001b46: DUP1
00001b47: REVERT
00001b48: JUMPDEST
00001b49: PUSH1 0x0c
00001b4b: PUSH1 0x00
00001b4d: SWAP1
00001b4e: SLOAD
00001b4f: SWAP1
00001b50: PUSH2 0x0100
00001b53: EXP
00001b54: SWAP1
00001b55: DIV
00001b56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b6b: AND
00001b6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b81: AND
00001b82: PUSH4 0x23b872dd
00001b87: DUP11
00001b88: ADDRESS
00001b89: DUP11
00001b8a: PUSH1 0x40
00001b8c: MLOAD
00001b8d: DUP5
00001b8e: PUSH4 0xffffffff
00001b93: AND
00001b94: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001bb2: MUL
00001bb3: DUP2
00001bb4: MSTORE
00001bb5: PUSH1 0x04
00001bb7: ADD
00001bb8: DUP1
00001bb9: DUP5
00001bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bcf: AND
00001bd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001be5: AND
00001be6: DUP2
00001be7: MSTORE
00001be8: PUSH1 0x20
00001bea: ADD
00001beb: DUP4
00001bec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c01: AND
00001c02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c17: AND
00001c18: DUP2
00001c19: MSTORE
00001c1a: PUSH1 0x20
00001c1c: ADD
00001c1d: DUP3
00001c1e: DUP2
00001c1f: MSTORE
00001c20: PUSH1 0x20
00001c22: ADD
00001c23: SWAP4
00001c24: POP
00001c25: POP
00001c26: POP
00001c27: POP
00001c28: PUSH1 0x00
00001c2a: PUSH1 0x40
00001c2c: MLOAD
00001c2d: DUP1
00001c2e: DUP4
00001c2f: SUB
00001c30: DUP2
00001c31: PUSH1 0x00
00001c33: DUP8
00001c34: DUP1
00001c35: EXTCODESIZE
00001c36: ISZERO
00001c37: DUP1
00001c38: ISZERO
00001c39: PUSH2 0x1c41
00001c3c: JUMPI
00001c3d: PUSH1 0x00
00001c3f: DUP1
00001c40: REVERT
00001c41: JUMPDEST
00001c42: POP
00001c43: GAS
00001c44: CALL
00001c45: ISZERO
00001c46: DUP1
00001c47: ISZERO
00001c48: PUSH2 0x1c55
00001c4b: JUMPI
00001c4c: RETURNDATASIZE
00001c4d: PUSH1 0x00
00001c4f: DUP1
00001c50: RETURNDATACOPY
00001c51: RETURNDATASIZE
00001c52: PUSH1 0x00
00001c54: REVERT
00001c55: JUMPDEST
00001c56: POP
00001c57: POP
00001c58: POP
00001c59: POP
00001c5a: DUP9
00001c5b: DUP2
00001c5c: PUSH1 0x00
00001c5e: ADD
00001c5f: SWAP1
00001c60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c75: AND
00001c76: SWAP1
00001c77: DUP2
00001c78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c8d: AND
00001c8e: DUP2
00001c8f: MSTORE
00001c90: POP
00001c91: POP
00001c92: DUP8
00001c93: DUP2
00001c94: PUSH1 0x20
00001c96: ADD
00001c97: DUP2
00001c98: SWAP1
00001c99: MSTORE
00001c9a: POP
00001c9b: DUP6
00001c9c: DUP2
00001c9d: PUSH1 0x40
00001c9f: ADD
00001ca0: DUP2
00001ca1: DUP2
00001ca2: MSTORE
00001ca3: POP
00001ca4: POP
00001ca5: DUP3
00001ca6: DUP2
00001ca7: PUSH1 0x60
00001ca9: ADD
00001caa: DUP2
00001cab: DUP2
00001cac: MSTORE
00001cad: POP
00001cae: POP
00001caf: DUP5
00001cb0: DUP2
00001cb1: PUSH2 0x0100
00001cb4: ADD
00001cb5: DUP2
00001cb6: DUP2
00001cb7: MSTORE
00001cb8: POP
00001cb9: POP
00001cba: DUP4
00001cbb: DUP2
00001cbc: PUSH2 0x0120
00001cbf: ADD
00001cc0: DUP2
00001cc1: DUP2
00001cc2: MSTORE
00001cc3: POP
00001cc4: POP
00001cc5: DUP7
00001cc6: DUP2
00001cc7: PUSH1 0xa0
00001cc9: ADD
00001cca: DUP2
00001ccb: DUP2
00001ccc: MSTORE
00001ccd: POP
00001cce: POP
00001ccf: PUSH1 0x01
00001cd1: DUP2
00001cd2: PUSH2 0x0160
00001cd5: ADD
00001cd6: SWAP1
00001cd7: ISZERO
00001cd8: ISZERO
00001cd9: SWAP1
00001cda: DUP2
00001cdb: ISZERO
00001cdc: ISZERO
00001cdd: DUP2
00001cde: MSTORE
00001cdf: POP
00001ce0: POP
00001ce1: PUSH2 0x1ce9
00001ce4: DUP8
00001ce5: PUSH2 0x2ad9
00001ce8: JUMP
00001ce9: JUMPDEST
00001cea: DUP2
00001ceb: PUSH1 0xe0
00001ced: ADD
00001cee: DUP2
00001cef: DUP2
00001cf0: MSTORE
00001cf1: POP
00001cf2: POP
00001cf3: PUSH1 0x01
00001cf5: PUSH1 0x08
00001cf7: DUP4
00001cf8: PUSH1 0x40
00001cfa: MLOAD
00001cfb: DUP1
00001cfc: DUP3
00001cfd: DUP1
00001cfe: MLOAD
00001cff: SWAP1
00001d00: PUSH1 0x20
00001d02: ADD
00001d03: SWAP1
00001d04: DUP1
00001d05: DUP4
00001d06: DUP4
00001d07: JUMPDEST
00001d08: PUSH1 0x20
00001d0a: DUP4
00001d0b: LT
00001d0c: ISZERO
00001d0d: ISZERO
00001d0e: PUSH2 0x1d2c
00001d11: JUMPI
00001d12: DUP1
00001d13: MLOAD
00001d14: DUP3
00001d15: MSTORE
00001d16: PUSH1 0x20
00001d18: DUP3
00001d19: ADD
00001d1a: SWAP2
00001d1b: POP
00001d1c: PUSH1 0x20
00001d1e: DUP2
00001d1f: ADD
00001d20: SWAP1
00001d21: POP
00001d22: PUSH1 0x20
00001d24: DUP4
00001d25: SUB
00001d26: SWAP3
00001d27: POP
00001d28: PUSH2 0x1d07
00001d2b: JUMP
00001d2c: JUMPDEST
00001d2d: PUSH1 0x01
00001d2f: DUP4
00001d30: PUSH1 0x20
00001d32: SUB
00001d33: PUSH2 0x0100
00001d36: EXP
00001d37: SUB
00001d38: DUP1
00001d39: NOT
00001d3a: DUP3
00001d3b: MLOAD
00001d3c: AND
00001d3d: DUP2
00001d3e: DUP5
00001d3f: MLOAD
00001d40: AND
00001d41: DUP1
00001d42: DUP3
00001d43: OR
00001d44: DUP6
00001d45: MSTORE
00001d46: POP
00001d47: POP
00001d48: POP
00001d49: POP
00001d4a: POP
00001d4b: POP
00001d4c: SWAP1
00001d4d: POP
00001d4e: ADD
00001d4f: SWAP2
00001d50: POP
00001d51: POP
00001d52: SWAP1
00001d53: DUP2
00001d54: MSTORE
00001d55: PUSH1 0x20
00001d57: ADD
00001d58: PUSH1 0x40
00001d5a: MLOAD
00001d5b: DUP1
00001d5c: SWAP2
00001d5d: SUB
00001d5e: SWAP1
00001d5f: KECCAK256
00001d60: PUSH1 0x00
00001d62: PUSH2 0x0100
00001d65: EXP
00001d66: DUP2
00001d67: SLOAD
00001d68: DUP2
00001d69: PUSH1 0xff
00001d6b: MUL
00001d6c: NOT
00001d6d: AND
00001d6e: SWAP1
00001d6f: DUP4
00001d70: ISZERO
00001d71: ISZERO
00001d72: MUL
00001d73: OR
00001d74: SWAP1
00001d75: SSTORE
00001d76: POP
00001d77: PUSH2 0x1d8f
00001d7a: DUP2
00001d7b: PUSH1 0xe0
00001d7d: ADD
00001d7e: MLOAD
00001d7f: PUSH1 0x09
00001d81: SLOAD
00001d82: PUSH2 0x2dab
00001d85: SWAP1
00001d86: SWAP2
00001d87: SWAP1
00001d88: PUSH4 0xffffffff
00001d8d: AND
00001d8e: JUMP
00001d8f: JUMPDEST
00001d90: PUSH1 0x09
00001d92: DUP2
00001d93: SWAP1
00001d94: SSTORE
00001d95: POP
00001d96: DUP1
00001d97: PUSH1 0x07
00001d99: DUP4
00001d9a: PUSH1 0x40
00001d9c: MLOAD
00001d9d: DUP1
00001d9e: DUP3
00001d9f: DUP1
00001da0: MLOAD
00001da1: SWAP1
00001da2: PUSH1 0x20
00001da4: ADD
00001da5: SWAP1
00001da6: DUP1
00001da7: DUP4
00001da8: DUP4
00001da9: JUMPDEST
00001daa: PUSH1 0x20
00001dac: DUP4
00001dad: LT
00001dae: ISZERO
00001daf: ISZERO
00001db0: PUSH2 0x1dce
00001db3: JUMPI
00001db4: DUP1
00001db5: MLOAD
00001db6: DUP3
00001db7: MSTORE
00001db8: PUSH1 0x20
00001dba: DUP3
00001dbb: ADD
00001dbc: SWAP2
00001dbd: POP
00001dbe: PUSH1 0x20
00001dc0: DUP2
00001dc1: ADD
00001dc2: SWAP1
00001dc3: POP
00001dc4: PUSH1 0x20
00001dc6: DUP4
00001dc7: SUB
00001dc8: SWAP3
00001dc9: POP
00001dca: PUSH2 0x1da9
00001dcd: JUMP
00001dce: JUMPDEST
00001dcf: PUSH1 0x01
00001dd1: DUP4
00001dd2: PUSH1 0x20
00001dd4: SUB
00001dd5: PUSH2 0x0100
00001dd8: EXP
00001dd9: SUB
00001dda: DUP1
00001ddb: NOT
00001ddc: DUP3
00001ddd: MLOAD
00001dde: AND
00001ddf: DUP2
00001de0: DUP5
00001de1: MLOAD
00001de2: AND
00001de3: DUP1
00001de4: DUP3
00001de5: OR
00001de6: DUP6
00001de7: MSTORE
00001de8: POP
00001de9: POP
00001dea: POP
00001deb: POP
00001dec: POP
00001ded: POP
00001dee: SWAP1
00001def: POP
00001df0: ADD
00001df1: SWAP2
00001df2: POP
00001df3: POP
00001df4: SWAP1
00001df5: DUP2
00001df6: MSTORE
00001df7: PUSH1 0x20
00001df9: ADD
00001dfa: PUSH1 0x40
00001dfc: MLOAD
00001dfd: DUP1
00001dfe: SWAP2
00001dff: SUB
00001e00: SWAP1
00001e01: KECCAK256
00001e02: PUSH1 0x00
00001e04: DUP3
00001e05: ADD
00001e06: MLOAD
00001e07: DUP2
00001e08: PUSH1 0x00
00001e0a: ADD
00001e0b: PUSH1 0x00
00001e0d: PUSH2 0x0100
00001e10: EXP
00001e11: DUP2
00001e12: SLOAD
00001e13: DUP2
00001e14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e29: MUL
00001e2a: NOT
00001e2b: AND
00001e2c: SWAP1
00001e2d: DUP4
00001e2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e43: AND
00001e44: MUL
00001e45: OR
00001e46: SWAP1
00001e47: SSTORE
00001e48: POP
00001e49: PUSH1 0x20
00001e4b: DUP3
00001e4c: ADD
00001e4d: MLOAD
00001e4e: DUP2
00001e4f: PUSH1 0x01
00001e51: ADD
00001e52: SWAP1
00001e53: DUP1
00001e54: MLOAD
00001e55: SWAP1
00001e56: PUSH1 0x20
00001e58: ADD
00001e59: SWAP1
00001e5a: PUSH2 0x1e64
00001e5d: SWAP3
00001e5e: SWAP2
00001e5f: SWAP1
00001e60: PUSH2 0x2ed1
00001e63: JUMP
00001e64: JUMPDEST
00001e65: POP
00001e66: PUSH1 0x40
00001e68: DUP3
00001e69: ADD
00001e6a: MLOAD
00001e6b: DUP2
00001e6c: PUSH1 0x02
00001e6e: ADD
00001e6f: SSTORE
00001e70: PUSH1 0x60
00001e72: DUP3
00001e73: ADD
00001e74: MLOAD
00001e75: DUP2
00001e76: PUSH1 0x03
00001e78: ADD
00001e79: SSTORE
00001e7a: PUSH1 0x80
00001e7c: DUP3
00001e7d: ADD
00001e7e: MLOAD
00001e7f: DUP2
00001e80: PUSH1 0x04
00001e82: ADD
00001e83: SSTORE
00001e84: PUSH1 0xa0
00001e86: DUP3
00001e87: ADD
00001e88: MLOAD
00001e89: DUP2
00001e8a: PUSH1 0x05
00001e8c: ADD
00001e8d: SSTORE
00001e8e: PUSH1 0xc0
00001e90: DUP3
00001e91: ADD
00001e92: MLOAD
00001e93: DUP2
00001e94: PUSH1 0x06
00001e96: ADD
00001e97: SSTORE
00001e98: PUSH1 0xe0
00001e9a: DUP3
00001e9b: ADD
00001e9c: MLOAD
00001e9d: DUP2
00001e9e: PUSH1 0x07
00001ea0: ADD
00001ea1: SSTORE
00001ea2: PUSH2 0x0100
00001ea5: DUP3
00001ea6: ADD
00001ea7: MLOAD
00001ea8: DUP2
00001ea9: PUSH1 0x08
00001eab: ADD
00001eac: SSTORE
00001ead: PUSH2 0x0120
00001eb0: DUP3
00001eb1: ADD
00001eb2: MLOAD
00001eb3: DUP2
00001eb4: PUSH1 0x09
00001eb6: ADD
00001eb7: SSTORE
00001eb8: PUSH2 0x0140
00001ebb: DUP3
00001ebc: ADD
00001ebd: MLOAD
00001ebe: DUP2
00001ebf: PUSH1 0x0a
00001ec1: ADD
00001ec2: PUSH1 0x00
00001ec4: PUSH2 0x0100
00001ec7: EXP
00001ec8: DUP2
00001ec9: SLOAD
00001eca: DUP2
00001ecb: PUSH1 0xff
00001ecd: MUL
00001ece: NOT
00001ecf: AND
00001ed0: SWAP1
00001ed1: DUP4
00001ed2: ISZERO
00001ed3: ISZERO
00001ed4: MUL
00001ed5: OR
00001ed6: SWAP1
00001ed7: SSTORE
00001ed8: POP
00001ed9: PUSH2 0x0160
00001edc: DUP3
00001edd: ADD
00001ede: MLOAD
00001edf: DUP2
00001ee0: PUSH1 0x0a
00001ee2: ADD
00001ee3: PUSH1 0x01
00001ee5: PUSH2 0x0100
00001ee8: EXP
00001ee9: DUP2
00001eea: SLOAD
00001eeb: DUP2
00001eec: PUSH1 0xff
00001eee: MUL
00001eef: NOT
00001ef0: AND
00001ef1: SWAP1
00001ef2: DUP4
00001ef3: ISZERO
00001ef4: ISZERO
00001ef5: MUL
00001ef6: OR
00001ef7: SWAP1
00001ef8: SSTORE
00001ef9: POP
00001efa: SWAP1
00001efb: POP
00001efc: POP
00001efd: POP
00001efe: POP
00001eff: POP
00001f00: POP
00001f01: POP
00001f02: POP
00001f03: POP
00001f04: POP
00001f05: POP
00001f06: JUMP
00001f07: JUMPDEST
00001f08: PUSH1 0x04
00001f0a: SLOAD
00001f0b: DUP2
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: PUSH1 0x00
00001f10: DUP1
00001f11: PUSH1 0x00
00001f13: SWAP1
00001f14: SLOAD
00001f15: SWAP1
00001f16: PUSH2 0x0100
00001f19: EXP
00001f1a: SWAP1
00001f1b: DIV
00001f1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f31: AND
00001f32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f47: AND
00001f48: CALLER
00001f49: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f5e: AND
00001f5f: EQ
00001f60: ISZERO
00001f61: ISZERO
00001f62: PUSH2 0x1f6a
00001f65: JUMPI
00001f66: PUSH1 0x00
00001f68: DUP1
00001f69: REVERT
00001f6a: JUMPDEST
00001f6b: PUSH1 0x0c
00001f6d: PUSH1 0x00
00001f6f: SWAP1
00001f70: SLOAD
00001f71: SWAP1
00001f72: PUSH2 0x0100
00001f75: EXP
00001f76: SWAP1
00001f77: DIV
00001f78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f8d: AND
00001f8e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa3: AND
00001fa4: PUSH4 0xa9059cbb
00001fa9: PUSH1 0x00
00001fab: DUP1
00001fac: SWAP1
00001fad: SLOAD
00001fae: SWAP1
00001faf: PUSH2 0x0100
00001fb2: EXP
00001fb3: SWAP1
00001fb4: DIV
00001fb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fca: AND
00001fcb: DUP5
00001fcc: PUSH1 0x40
00001fce: MLOAD
00001fcf: DUP4
00001fd0: PUSH4 0xffffffff
00001fd5: AND
00001fd6: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001ff4: MUL
00001ff5: DUP2
00001ff6: MSTORE
00001ff7: PUSH1 0x04
00001ff9: ADD
00001ffa: DUP1
00001ffb: DUP4
00001ffc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002011: AND
00002012: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002027: AND
00002028: DUP2
00002029: MSTORE
0000202a: PUSH1 0x20
0000202c: ADD
0000202d: DUP3
0000202e: DUP2
0000202f: MSTORE
00002030: PUSH1 0x20
00002032: ADD
00002033: SWAP3
00002034: POP
00002035: POP
00002036: POP
00002037: PUSH1 0x00
00002039: PUSH1 0x40
0000203b: MLOAD
0000203c: DUP1
0000203d: DUP4
0000203e: SUB
0000203f: DUP2
00002040: PUSH1 0x00
00002042: DUP8
00002043: DUP1
00002044: EXTCODESIZE
00002045: ISZERO
00002046: DUP1
00002047: ISZERO
00002048: PUSH2 0x2050
0000204b: JUMPI
0000204c: PUSH1 0x00
0000204e: DUP1
0000204f: REVERT
00002050: JUMPDEST
00002051: POP
00002052: GAS
00002053: CALL
00002054: ISZERO
00002055: DUP1
00002056: ISZERO
00002057: PUSH2 0x2064
0000205a: JUMPI
0000205b: RETURNDATASIZE
0000205c: PUSH1 0x00
0000205e: DUP1
0000205f: RETURNDATACOPY
00002060: RETURNDATASIZE
00002061: PUSH1 0x00
00002063: REVERT
00002064: JUMPDEST
00002065: POP
00002066: POP
00002067: POP
00002068: POP
00002069: PUSH1 0x01
0000206b: SWAP1
0000206c: POP
0000206d: SWAP2
0000206e: SWAP1
0000206f: POP
00002070: JUMP
00002071: JUMPDEST
00002072: PUSH1 0x02
00002074: PUSH1 0x00
00002076: SWAP1
00002077: SLOAD
00002078: SWAP1
00002079: PUSH2 0x0100
0000207c: EXP
0000207d: SWAP1
0000207e: DIV
0000207f: PUSH1 0xff
00002081: AND
00002082: DUP2
00002083: JUMP
00002084: JUMPDEST
00002085: PUSH1 0x00
00002087: DUP1
00002088: PUSH1 0x00
0000208a: SWAP1
0000208b: SLOAD
0000208c: SWAP1
0000208d: PUSH2 0x0100
00002090: EXP
00002091: SWAP1
00002092: DIV
00002093: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020a8: AND
000020a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020be: AND
000020bf: CALLER
000020c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020d5: AND
000020d6: EQ
000020d7: ISZERO
000020d8: ISZERO
000020d9: PUSH2 0x20e1
000020dc: JUMPI
000020dd: PUSH1 0x00
000020df: DUP1
000020e0: REVERT
000020e1: JUMPDEST
000020e2: DUP2
000020e3: PUSH1 0x0b
000020e5: DUP2
000020e6: SWAP1
000020e7: SSTORE
000020e8: POP
000020e9: PUSH1 0x01
000020eb: SWAP1
000020ec: POP
000020ed: SWAP2
000020ee: SWAP1
000020ef: POP
000020f0: JUMP
000020f1: JUMPDEST
000020f2: PUSH1 0x0a
000020f4: SLOAD
000020f5: DUP2
000020f6: JUMP
000020f7: JUMPDEST
000020f8: PUSH1 0x00
000020fa: DUP1
000020fb: SWAP1
000020fc: SLOAD
000020fd: SWAP1
000020fe: PUSH2 0x0100
00002101: EXP
00002102: SWAP1
00002103: DIV
00002104: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002119: AND
0000211a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000212f: AND
00002130: CALLER
00002131: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002146: AND
00002147: EQ
00002148: ISZERO
00002149: ISZERO
0000214a: PUSH2 0x2152
0000214d: JUMPI
0000214e: PUSH1 0x00
00002150: DUP1
00002151: REVERT
00002152: JUMPDEST
00002153: PUSH1 0x02
00002155: PUSH1 0x00
00002157: SWAP1
00002158: SLOAD
00002159: SWAP1
0000215a: PUSH2 0x0100
0000215d: EXP
0000215e: SWAP1
0000215f: DIV
00002160: PUSH1 0xff
00002162: AND
00002163: ISZERO
00002164: ISZERO
00002165: ISZERO
00002166: PUSH2 0x216e
00002169: JUMPI
0000216a: PUSH1 0x00
0000216c: DUP1
0000216d: REVERT
0000216e: JUMPDEST
0000216f: PUSH1 0x01
00002171: PUSH1 0x02
00002173: PUSH1 0x00
00002175: PUSH2 0x0100
00002178: EXP
00002179: DUP2
0000217a: SLOAD
0000217b: DUP2
0000217c: PUSH1 0xff
0000217e: MUL
0000217f: NOT
00002180: AND
00002181: SWAP1
00002182: DUP4
00002183: ISZERO
00002184: ISZERO
00002185: MUL
00002186: OR
00002187: SWAP1
00002188: SSTORE
00002189: POP
0000218a: PUSH32 0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625
000021ab: PUSH1 0x40
000021ad: MLOAD
000021ae: PUSH1 0x40
000021b0: MLOAD
000021b1: DUP1
000021b2: SWAP2
000021b3: SUB
000021b4: SWAP1
000021b5: LOG1
000021b6: JUMP
000021b7: JUMPDEST
000021b8: PUSH1 0x00
000021ba: DUP1
000021bb: SWAP1
000021bc: SLOAD
000021bd: SWAP1
000021be: PUSH2 0x0100
000021c1: EXP
000021c2: SWAP1
000021c3: DIV
000021c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021d9: AND
000021da: DUP2
000021db: JUMP
000021dc: JUMPDEST
000021dd: PUSH1 0x01
000021df: PUSH1 0x20
000021e1: MSTORE
000021e2: DUP1
000021e3: PUSH1 0x00
000021e5: MSTORE
000021e6: PUSH1 0x40
000021e8: PUSH1 0x00
000021ea: KECCAK256
000021eb: PUSH1 0x00
000021ed: SWAP2
000021ee: POP
000021ef: SLOAD
000021f0: SWAP1
000021f1: PUSH2 0x0100
000021f4: EXP
000021f5: SWAP1
000021f6: DIV
000021f7: PUSH1 0xff
000021f9: AND
000021fa: DUP2
000021fb: JUMP
000021fc: JUMPDEST
000021fd: PUSH1 0x00
000021ff: DUP2
00002200: DUP4
00002201: GT
00002202: ISZERO
00002203: PUSH2 0x2235
00002206: JUMPI
00002207: PUSH2 0x222e
0000220a: PUSH2 0x221c
0000220d: DUP4
0000220e: DUP6
0000220f: PUSH2 0x2dab
00002212: SWAP1
00002213: SWAP2
00002214: SWAP1
00002215: PUSH4 0xffffffff
0000221a: AND
0000221b: JUMP
0000221c: JUMPDEST
0000221d: PUSH1 0x0a
0000221f: EXP
00002220: DUP6
00002221: PUSH2 0x2e2b
00002224: SWAP1
00002225: SWAP2
00002226: SWAP1
00002227: PUSH4 0xffffffff
0000222c: AND
0000222d: JUMP
0000222e: JUMPDEST
0000222f: SWAP1
00002230: POP
00002231: PUSH2 0x2260
00002234: JUMP
00002235: JUMPDEST
00002236: PUSH2 0x225d
00002239: PUSH2 0x224b
0000223c: DUP5
0000223d: DUP5
0000223e: PUSH2 0x2dab
00002241: SWAP1
00002242: SWAP2
00002243: SWAP1
00002244: PUSH4 0xffffffff
00002249: AND
0000224a: JUMP
0000224b: JUMPDEST
0000224c: PUSH1 0x0a
0000224e: EXP
0000224f: DUP6
00002250: PUSH2 0x2ded
00002253: SWAP1
00002254: SWAP2
00002255: SWAP1
00002256: PUSH4 0xffffffff
0000225b: AND
0000225c: JUMP
0000225d: JUMPDEST
0000225e: SWAP1
0000225f: POP
00002260: JUMPDEST
00002261: SWAP4
00002262: SWAP3
00002263: POP
00002264: POP
00002265: POP
00002266: JUMP
00002267: JUMPDEST
00002268: PUSH1 0x00
0000226a: PUSH4 0xf9ac7c0e
0000226f: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000228d: MUL
0000228e: DUP8
0000228f: DUP8
00002290: PUSH1 0x00
00002292: DUP9
00002293: DUP9
00002294: DUP9
00002295: DUP9
00002296: PUSH1 0x40
00002298: MLOAD
00002299: PUSH1 0x20
0000229b: ADD
0000229c: DUP1
0000229d: DUP10
0000229e: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000022bb: NOT
000022bc: AND
000022bd: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000022da: NOT
000022db: AND
000022dc: DUP2
000022dd: MSTORE
000022de: PUSH1 0x04
000022e0: ADD
000022e1: DUP9
000022e2: DUP1
000022e3: MLOAD
000022e4: SWAP1
000022e5: PUSH1 0x20
000022e7: ADD
000022e8: SWAP1
000022e9: DUP1
000022ea: DUP4
000022eb: DUP4
000022ec: JUMPDEST
000022ed: PUSH1 0x20
000022ef: DUP4
000022f0: LT
000022f1: ISZERO
000022f2: ISZERO
000022f3: PUSH2 0x2311
000022f6: JUMPI
000022f7: DUP1
000022f8: MLOAD
000022f9: DUP3
000022fa: MSTORE
000022fb: PUSH1 0x20
000022fd: DUP3
000022fe: ADD
000022ff: SWAP2
00002300: POP
00002301: PUSH1 0x20
00002303: DUP2
00002304: ADD
00002305: SWAP1
00002306: POP
00002307: PUSH1 0x20
00002309: DUP4
0000230a: SUB
0000230b: SWAP3
0000230c: POP
0000230d: PUSH2 0x22ec
00002310: JUMP
00002311: JUMPDEST
00002312: PUSH1 0x01
00002314: DUP4
00002315: PUSH1 0x20
00002317: SUB
00002318: PUSH2 0x0100
0000231b: EXP
0000231c: SUB
0000231d: DUP1
0000231e: NOT
0000231f: DUP3
00002320: MLOAD
00002321: AND
00002322: DUP2
00002323: DUP5
00002324: MLOAD
00002325: AND
00002326: DUP1
00002327: DUP3
00002328: OR
00002329: DUP6
0000232a: MSTORE
0000232b: POP
0000232c: POP
0000232d: POP
0000232e: POP
0000232f: POP
00002330: POP
00002331: SWAP1
00002332: POP
00002333: ADD
00002334: DUP8
00002335: DUP2
00002336: MSTORE
00002337: PUSH1 0x20
00002339: ADD
0000233a: DUP7
0000233b: ISZERO
0000233c: ISZERO
0000233d: ISZERO
0000233e: ISZERO
0000233f: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00002360: MUL
00002361: DUP2
00002362: MSTORE
00002363: PUSH1 0x01
00002365: ADD
00002366: DUP6
00002367: DUP2
00002368: MSTORE
00002369: PUSH1 0x20
0000236b: ADD
0000236c: DUP5
0000236d: DUP2
0000236e: MSTORE
0000236f: PUSH1 0x20
00002371: ADD
00002372: DUP4
00002373: DUP2
00002374: MSTORE
00002375: PUSH1 0x20
00002377: ADD
00002378: DUP3
00002379: DUP2
0000237a: MSTORE
0000237b: PUSH1 0x20
0000237d: ADD
0000237e: SWAP9
0000237f: POP
00002380: POP
00002381: POP
00002382: POP
00002383: POP
00002384: POP
00002385: POP
00002386: POP
00002387: POP
00002388: PUSH1 0x40
0000238a: MLOAD
0000238b: PUSH1 0x20
0000238d: DUP2
0000238e: DUP4
0000238f: SUB
00002390: SUB
00002391: DUP2
00002392: MSTORE
00002393: SWAP1
00002394: PUSH1 0x40
00002396: MSTORE
00002397: PUSH1 0x40
00002399: MLOAD
0000239a: DUP1
0000239b: DUP3
0000239c: DUP1
0000239d: MLOAD
0000239e: SWAP1
0000239f: PUSH1 0x20
000023a1: ADD
000023a2: SWAP1
000023a3: DUP1
000023a4: DUP4
000023a5: DUP4
000023a6: JUMPDEST
000023a7: PUSH1 0x20
000023a9: DUP4
000023aa: LT
000023ab: ISZERO
000023ac: ISZERO
000023ad: PUSH2 0x23cb
000023b0: JUMPI
000023b1: DUP1
000023b2: MLOAD
000023b3: DUP3
000023b4: MSTORE
000023b5: PUSH1 0x20
000023b7: DUP3
000023b8: ADD
000023b9: SWAP2
000023ba: POP
000023bb: PUSH1 0x20
000023bd: DUP2
000023be: ADD
000023bf: SWAP1
000023c0: POP
000023c1: PUSH1 0x20
000023c3: DUP4
000023c4: SUB
000023c5: SWAP3
000023c6: POP
000023c7: PUSH2 0x23a6
000023ca: JUMP
000023cb: JUMPDEST
000023cc: PUSH1 0x01
000023ce: DUP4
000023cf: PUSH1 0x20
000023d1: SUB
000023d2: PUSH2 0x0100
000023d5: EXP
000023d6: SUB
000023d7: DUP1
000023d8: NOT
000023d9: DUP3
000023da: MLOAD
000023db: AND
000023dc: DUP2
000023dd: DUP5
000023de: MLOAD
000023df: AND
000023e0: DUP1
000023e1: DUP3
000023e2: OR
000023e3: DUP6
000023e4: MSTORE
000023e5: POP
000023e6: POP
000023e7: POP
000023e8: POP
000023e9: POP
000023ea: POP
000023eb: SWAP1
000023ec: POP
000023ed: ADD
000023ee: SWAP2
000023ef: POP
000023f0: POP
000023f1: PUSH1 0x40
000023f3: MLOAD
000023f4: DUP1
000023f5: SWAP2
000023f6: SUB
000023f7: SWAP1
000023f8: KECCAK256
000023f9: SWAP1
000023fa: POP
000023fb: SWAP7
000023fc: SWAP6
000023fd: POP
000023fe: POP
000023ff: POP
00002400: POP
00002401: POP
00002402: POP
00002403: JUMP
00002404: JUMPDEST
00002405: PUSH1 0x00
00002407: DUP1
00002408: PUSH1 0x00
0000240a: PUSH1 0x01
0000240c: ISZERO
0000240d: ISZERO
0000240e: PUSH1 0x01
00002410: PUSH1 0x00
00002412: CALLER
00002413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002428: AND
00002429: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000243e: AND
0000243f: DUP2
00002440: MSTORE
00002441: PUSH1 0x20
00002443: ADD
00002444: SWAP1
00002445: DUP2
00002446: MSTORE
00002447: PUSH1 0x20
00002449: ADD
0000244a: PUSH1 0x00
0000244c: KECCAK256
0000244d: PUSH1 0x00
0000244f: SWAP1
00002450: SLOAD
00002451: SWAP1
00002452: PUSH2 0x0100
00002455: EXP
00002456: SWAP1
00002457: DIV
00002458: PUSH1 0xff
0000245a: AND
0000245b: ISZERO
0000245c: ISZERO
0000245d: EQ
0000245e: ISZERO
0000245f: ISZERO
00002460: PUSH2 0x2468
00002463: JUMPI
00002464: PUSH1 0x00
00002466: DUP1
00002467: REVERT
00002468: JUMPDEST
00002469: PUSH1 0x02
0000246b: PUSH1 0x00
0000246d: SWAP1
0000246e: SLOAD
0000246f: SWAP1
00002470: PUSH2 0x0100
00002473: EXP
00002474: SWAP1
00002475: DIV
00002476: PUSH1 0xff
00002478: AND
00002479: ISZERO
0000247a: ISZERO
0000247b: ISZERO
0000247c: PUSH2 0x2484
0000247f: JUMPI
00002480: PUSH1 0x00
00002482: DUP1
00002483: REVERT
00002484: JUMPDEST
00002485: PUSH1 0x07
00002487: DUP6
00002488: PUSH1 0x40
0000248a: MLOAD
0000248b: DUP1
0000248c: DUP3
0000248d: DUP1
0000248e: MLOAD
0000248f: SWAP1
00002490: PUSH1 0x20
00002492: ADD
00002493: SWAP1
00002494: DUP1
00002495: DUP4
00002496: DUP4
00002497: JUMPDEST
00002498: PUSH1 0x20
0000249a: DUP4
0000249b: LT
0000249c: ISZERO
0000249d: ISZERO
0000249e: PUSH2 0x24bc
000024a1: JUMPI
000024a2: DUP1
000024a3: MLOAD
000024a4: DUP3
000024a5: MSTORE
000024a6: PUSH1 0x20
000024a8: DUP3
000024a9: ADD
000024aa: SWAP2
000024ab: POP
000024ac: PUSH1 0x20
000024ae: DUP2
000024af: ADD
000024b0: SWAP1
000024b1: POP
000024b2: PUSH1 0x20
000024b4: DUP4
000024b5: SUB
000024b6: SWAP3
000024b7: POP
000024b8: PUSH2 0x2497
000024bb: JUMP
000024bc: JUMPDEST
000024bd: PUSH1 0x01
000024bf: DUP4
000024c0: PUSH1 0x20
000024c2: SUB
000024c3: PUSH2 0x0100
000024c6: EXP
000024c7: SUB
000024c8: DUP1
000024c9: NOT
000024ca: DUP3
000024cb: MLOAD
000024cc: AND
000024cd: DUP2
000024ce: DUP5
000024cf: MLOAD
000024d0: AND
000024d1: DUP1
000024d2: DUP3
000024d3: OR
000024d4: DUP6
000024d5: MSTORE
000024d6: POP
000024d7: POP
000024d8: POP
000024d9: POP
000024da: POP
000024db: POP
000024dc: SWAP1
000024dd: POP
000024de: ADD
000024df: SWAP2
000024e0: POP
000024e1: POP
000024e2: SWAP1
000024e3: DUP2
000024e4: MSTORE
000024e5: PUSH1 0x20
000024e7: ADD
000024e8: PUSH1 0x40
000024ea: MLOAD
000024eb: DUP1
000024ec: SWAP2
000024ed: SUB
000024ee: SWAP1
000024ef: KECCAK256
000024f0: SWAP3
000024f1: POP
000024f2: DUP3
000024f3: PUSH1 0x0a
000024f5: ADD
000024f6: PUSH1 0x01
000024f8: SWAP1
000024f9: SLOAD
000024fa: SWAP1
000024fb: PUSH2 0x0100
000024fe: EXP
000024ff: SWAP1
00002500: DIV
00002501: PUSH1 0xff
00002503: AND
00002504: ISZERO
00002505: DUP1
00002506: ISZERO
00002507: PUSH2 0x251f
0000250a: JUMPI
0000250b: POP
0000250c: DUP3
0000250d: PUSH1 0x0a
0000250f: ADD
00002510: PUSH1 0x00
00002512: SWAP1
00002513: SLOAD
00002514: SWAP1
00002515: PUSH2 0x0100
00002518: EXP
00002519: SWAP1
0000251a: DIV
0000251b: PUSH1 0xff
0000251d: AND
0000251e: ISZERO
0000251f: JUMPDEST
00002520: ISZERO
00002521: ISZERO
00002522: PUSH2 0x252a
00002525: JUMPI
00002526: PUSH1 0x00
00002528: DUP1
00002529: REVERT
0000252a: JUMPDEST
0000252b: DUP4
0000252c: DUP4
0000252d: PUSH1 0x03
0000252f: ADD
00002530: SLOAD
00002531: GT
00002532: ISZERO
00002533: PUSH2 0x2629
00002536: JUMPI
00002537: PUSH2 0x258d
0000253a: DUP4
0000253b: PUSH1 0x02
0000253d: ADD
0000253e: SLOAD
0000253f: PUSH2 0x257f
00002542: DUP6
00002543: PUSH1 0x03
00002545: ADD
00002546: SLOAD
00002547: PUSH2 0x2571
0000254a: PUSH1 0x06
0000254c: SLOAD
0000254d: PUSH2 0x2563
00002550: DUP11
00002551: DUP11
00002552: PUSH1 0x03
00002554: ADD
00002555: SLOAD
00002556: PUSH2 0x2dab
00002559: SWAP1
0000255a: SWAP2
0000255b: SWAP1
0000255c: PUSH4 0xffffffff
00002561: AND
00002562: JUMP
00002563: JUMPDEST
00002564: PUSH2 0x2ded
00002567: SWAP1
00002568: SWAP2
00002569: SWAP1
0000256a: PUSH4 0xffffffff
0000256f: AND
00002570: JUMP
00002571: JUMPDEST
00002572: PUSH2 0x2e2b
00002575: SWAP1
00002576: SWAP2
00002577: SWAP1
00002578: PUSH4 0xffffffff
0000257d: AND
0000257e: JUMP
0000257f: JUMPDEST
00002580: PUSH2 0x2ded
00002583: SWAP1
00002584: SWAP2
00002585: SWAP1
00002586: PUSH4 0xffffffff
0000258b: AND
0000258c: JUMP
0000258d: JUMPDEST
0000258e: SWAP2
0000258f: POP
00002590: PUSH1 0x06
00002592: SLOAD
00002593: DUP3
00002594: LT
00002595: ISZERO
00002596: ISZERO
00002597: PUSH2 0x25a6
0000259a: JUMPI
0000259b: DUP3
0000259c: PUSH1 0x05
0000259e: ADD
0000259f: SLOAD
000025a0: SWAP1
000025a1: POP
000025a2: PUSH2 0x25d4
000025a5: JUMP
000025a6: JUMPDEST
000025a7: PUSH2 0x25d1
000025aa: PUSH1 0x06
000025ac: SLOAD
000025ad: PUSH2 0x25c3
000025b0: DUP5
000025b1: DUP7
000025b2: PUSH1 0x05
000025b4: ADD
000025b5: SLOAD
000025b6: PUSH2 0x2ded
000025b9: SWAP1
000025ba: SWAP2
000025bb: SWAP1
000025bc: PUSH4 0xffffffff
000025c1: AND
000025c2: JUMP
000025c3: JUMPDEST
000025c4: PUSH2 0x2e2b
000025c7: SWAP1
000025c8: SWAP2
000025c9: SWAP1
000025ca: PUSH4 0xffffffff
000025cf: AND
000025d0: JUMP
000025d1: JUMPDEST
000025d2: SWAP1
000025d3: POP
000025d4: JUMPDEST
000025d5: PUSH2 0x25eb
000025d8: DUP2
000025d9: DUP5
000025da: PUSH1 0x05
000025dc: ADD
000025dd: SLOAD
000025de: PUSH2 0x2dab
000025e1: SWAP1
000025e2: SWAP2
000025e3: SWAP1
000025e4: PUSH4 0xffffffff
000025e9: AND
000025ea: JUMP
000025eb: JUMPDEST
000025ec: DUP4
000025ed: PUSH1 0x06
000025ef: ADD
000025f0: DUP2
000025f1: SWAP1
000025f2: SSTORE
000025f3: POP
000025f4: PUSH2 0x261e
000025f7: DUP2
000025f8: PUSH2 0x2610
000025fb: DUP6
000025fc: PUSH1 0x07
000025fe: ADD
000025ff: SLOAD
00002600: PUSH1 0x09
00002602: SLOAD
00002603: PUSH2 0x2dcc
00002606: SWAP1
00002607: SWAP2
00002608: SWAP1
00002609: PUSH4 0xffffffff
0000260e: AND
0000260f: JUMP
00002610: JUMPDEST
00002611: PUSH2 0x2dcc
00002614: SWAP1
00002615: SWAP2
00002616: SWAP1
00002617: PUSH4 0xffffffff
0000261c: AND
0000261d: JUMP
0000261e: JUMPDEST
0000261f: PUSH1 0x09
00002621: DUP2
00002622: SWAP1
00002623: SSTORE
00002624: POP
00002625: PUSH2 0x2718
00002628: JUMP
00002629: JUMPDEST
0000262a: PUSH2 0x2680
0000262d: DUP4
0000262e: PUSH1 0x02
00002630: ADD
00002631: SLOAD
00002632: PUSH2 0x2672
00002635: DUP6
00002636: PUSH1 0x03
00002638: ADD
00002639: SLOAD
0000263a: PUSH2 0x2664
0000263d: PUSH1 0x06
0000263f: SLOAD
00002640: PUSH2 0x2656
00002643: DUP10
00002644: PUSH1 0x03
00002646: ADD
00002647: SLOAD
00002648: DUP12
00002649: PUSH2 0x2dab
0000264c: SWAP1
0000264d: SWAP2
0000264e: SWAP1
0000264f: PUSH4 0xffffffff
00002654: AND
00002655: JUMP
00002656: JUMPDEST
00002657: PUSH2 0x2ded
0000265a: SWAP1
0000265b: SWAP2
0000265c: SWAP1
0000265d: PUSH4 0xffffffff
00002662: AND
00002663: JUMP
00002664: JUMPDEST
00002665: PUSH2 0x2e2b
00002668: SWAP1
00002669: SWAP2
0000266a: SWAP1
0000266b: PUSH4 0xffffffff
00002670: AND
00002671: JUMP
00002672: JUMPDEST
00002673: PUSH2 0x2ded
00002676: SWAP1
00002677: SWAP2
00002678: SWAP1
00002679: PUSH4 0xffffffff
0000267e: AND
0000267f: JUMP
00002680: JUMPDEST
00002681: SWAP2
00002682: POP
00002683: PUSH1 0x06
00002685: SLOAD
00002686: DUP3
00002687: LT
00002688: ISZERO
00002689: ISZERO
0000268a: PUSH2 0x2699
0000268d: JUMPI
0000268e: DUP3
0000268f: PUSH1 0x07
00002691: ADD
00002692: SLOAD
00002693: SWAP1
00002694: POP
00002695: PUSH2 0x26c7
00002698: JUMP
00002699: JUMPDEST
0000269a: PUSH2 0x26c4
0000269d: PUSH1 0x06
0000269f: SLOAD
000026a0: PUSH2 0x26b6
000026a3: DUP5
000026a4: DUP7
000026a5: PUSH1 0x07
000026a7: ADD
000026a8: SLOAD
000026a9: PUSH2 0x2ded
000026ac: SWAP1
000026ad: SWAP2
000026ae: SWAP1
000026af: PUSH4 0xffffffff
000026b4: AND
000026b5: JUMP
000026b6: JUMPDEST
000026b7: PUSH2 0x2e2b
000026ba: SWAP1
000026bb: SWAP2
000026bc: SWAP1
000026bd: PUSH4 0xffffffff
000026c2: AND
000026c3: JUMP
000026c4: JUMPDEST
000026c5: SWAP1
000026c6: POP
000026c7: JUMPDEST
000026c8: PUSH2 0x26de
000026cb: DUP2
000026cc: DUP5
000026cd: PUSH1 0x05
000026cf: ADD
000026d0: SLOAD
000026d1: PUSH2 0x2dcc
000026d4: SWAP1
000026d5: SWAP2
000026d6: SWAP1
000026d7: PUSH4 0xffffffff
000026dc: AND
000026dd: JUMP
000026de: JUMPDEST
000026df: DUP4
000026e0: PUSH1 0x06
000026e2: ADD
000026e3: DUP2
000026e4: SWAP1
000026e5: SSTORE
000026e6: POP
000026e7: PUSH2 0x2711
000026ea: DUP2
000026eb: PUSH2 0x2703
000026ee: DUP6
000026ef: PUSH1 0x07
000026f1: ADD
000026f2: SLOAD
000026f3: PUSH1 0x09
000026f5: SLOAD
000026f6: PUSH2 0x2dcc
000026f9: SWAP1
000026fa: SWAP2
000026fb: SWAP1
000026fc: PUSH4 0xffffffff
00002701: AND
00002702: JUMP
00002703: JUMPDEST
00002704: PUSH2 0x2dab
00002707: SWAP1
00002708: SWAP2
00002709: SWAP1
0000270a: PUSH4 0xffffffff
0000270f: AND
00002710: JUMP
00002711: JUMPDEST
00002712: PUSH1 0x09
00002714: DUP2
00002715: SWAP1
00002716: SSTORE
00002717: POP
00002718: JUMPDEST
00002719: PUSH1 0x01
0000271b: DUP4
0000271c: PUSH1 0x0a
0000271e: ADD
0000271f: PUSH1 0x00
00002721: PUSH2 0x0100
00002724: EXP
00002725: DUP2
00002726: SLOAD
00002727: DUP2
00002728: PUSH1 0xff
0000272a: MUL
0000272b: NOT
0000272c: AND
0000272d: SWAP1
0000272e: DUP4
0000272f: ISZERO
00002730: ISZERO
00002731: MUL
00002732: OR
00002733: SWAP1
00002734: SSTORE
00002735: POP
00002736: DUP4
00002737: DUP4
00002738: PUSH1 0x04
0000273a: ADD
0000273b: DUP2
0000273c: SWAP1
0000273d: SSTORE
0000273e: POP
0000273f: PUSH1 0x0c
00002741: PUSH1 0x00
00002743: SWAP1
00002744: SLOAD
00002745: SWAP1
00002746: PUSH2 0x0100
00002749: EXP
0000274a: SWAP1
0000274b: DIV
0000274c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002761: AND
00002762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002777: AND
00002778: PUSH4 0xa9059cbb
0000277d: DUP5
0000277e: PUSH1 0x00
00002780: ADD
00002781: PUSH1 0x00
00002783: SWAP1
00002784: SLOAD
00002785: SWAP1
00002786: PUSH2 0x0100
00002789: EXP
0000278a: SWAP1
0000278b: DIV
0000278c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027a1: AND
000027a2: DUP6
000027a3: PUSH1 0x06
000027a5: ADD
000027a6: SLOAD
000027a7: PUSH1 0x40
000027a9: MLOAD
000027aa: DUP4
000027ab: PUSH4 0xffffffff
000027b0: AND
000027b1: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000027cf: MUL
000027d0: DUP2
000027d1: MSTORE
000027d2: PUSH1 0x04
000027d4: ADD
000027d5: DUP1
000027d6: DUP4
000027d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ec: AND
000027ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002802: AND
00002803: DUP2
00002804: MSTORE
00002805: PUSH1 0x20
00002807: ADD
00002808: DUP3
00002809: DUP2
0000280a: MSTORE
0000280b: PUSH1 0x20
0000280d: ADD
0000280e: SWAP3
0000280f: POP
00002810: POP
00002811: POP
00002812: PUSH1 0x00
00002814: PUSH1 0x40
00002816: MLOAD
00002817: DUP1
00002818: DUP4
00002819: SUB
0000281a: DUP2
0000281b: PUSH1 0x00
0000281d: DUP8
0000281e: DUP1
0000281f: EXTCODESIZE
00002820: ISZERO
00002821: DUP1
00002822: ISZERO
00002823: PUSH2 0x282b
00002826: JUMPI
00002827: PUSH1 0x00
00002829: DUP1
0000282a: REVERT
0000282b: JUMPDEST
0000282c: POP
0000282d: GAS
0000282e: CALL
0000282f: ISZERO
00002830: DUP1
00002831: ISZERO
00002832: PUSH2 0x283f
00002835: JUMPI
00002836: RETURNDATASIZE
00002837: PUSH1 0x00
00002839: DUP1
0000283a: RETURNDATACOPY
0000283b: RETURNDATASIZE
0000283c: PUSH1 0x00
0000283e: REVERT
0000283f: JUMPDEST
00002840: POP
00002841: POP
00002842: POP
00002843: POP
00002844: POP
00002845: POP
00002846: POP
00002847: POP
00002848: POP
00002849: JUMP
0000284a: JUMPDEST
0000284b: PUSH1 0x00
0000284d: PUSH4 0xf9ac7c0e
00002852: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00002870: MUL
00002871: DUP8
00002872: DUP8
00002873: PUSH1 0x01
00002875: DUP9
00002876: DUP9
00002877: DUP9
00002878: DUP9
00002879: PUSH1 0x40
0000287b: MLOAD
0000287c: PUSH1 0x20
0000287e: ADD
0000287f: DUP1
00002880: DUP10
00002881: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000289e: NOT
0000289f: AND
000028a0: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000028bd: NOT
000028be: AND
000028bf: DUP2
000028c0: MSTORE
000028c1: PUSH1 0x04
000028c3: ADD
000028c4: DUP9
000028c5: DUP1
000028c6: MLOAD
000028c7: SWAP1
000028c8: PUSH1 0x20
000028ca: ADD
000028cb: SWAP1
000028cc: DUP1
000028cd: DUP4
000028ce: DUP4
000028cf: JUMPDEST
000028d0: PUSH1 0x20
000028d2: DUP4
000028d3: LT
000028d4: ISZERO
000028d5: ISZERO
000028d6: PUSH2 0x28f4
000028d9: JUMPI
000028da: DUP1
000028db: MLOAD
000028dc: DUP3
000028dd: MSTORE
000028de: PUSH1 0x20
000028e0: DUP3
000028e1: ADD
000028e2: SWAP2
000028e3: POP
000028e4: PUSH1 0x20
000028e6: DUP2
000028e7: ADD
000028e8: SWAP1
000028e9: POP
000028ea: PUSH1 0x20
000028ec: DUP4
000028ed: SUB
000028ee: SWAP3
000028ef: POP
000028f0: PUSH2 0x28cf
000028f3: JUMP
000028f4: JUMPDEST
000028f5: PUSH1 0x01
000028f7: DUP4
000028f8: PUSH1 0x20
000028fa: SUB
000028fb: PUSH2 0x0100
000028fe: EXP
000028ff: SUB
00002900: DUP1
00002901: NOT
00002902: DUP3
00002903: MLOAD
00002904: AND
00002905: DUP2
00002906: DUP5
00002907: MLOAD
00002908: AND
00002909: DUP1
0000290a: DUP3
0000290b: OR
0000290c: DUP6
0000290d: MSTORE
0000290e: POP
0000290f: POP
00002910: POP
00002911: POP
00002912: POP
00002913: POP
00002914: SWAP1
00002915: POP
00002916: ADD
00002917: DUP8
00002918: DUP2
00002919: MSTORE
0000291a: PUSH1 0x20
0000291c: ADD
0000291d: DUP7
0000291e: ISZERO
0000291f: ISZERO
00002920: ISZERO
00002921: ISZERO
00002922: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00002943: MUL
00002944: DUP2
00002945: MSTORE
00002946: PUSH1 0x01
00002948: ADD
00002949: DUP6
0000294a: DUP2
0000294b: MSTORE
0000294c: PUSH1 0x20
0000294e: ADD
0000294f: DUP5
00002950: DUP2
00002951: MSTORE
00002952: PUSH1 0x20
00002954: ADD
00002955: DUP4
00002956: DUP2
00002957: MSTORE
00002958: PUSH1 0x20
0000295a: ADD
0000295b: DUP3
0000295c: DUP2
0000295d: MSTORE
0000295e: PUSH1 0x20
00002960: ADD
00002961: SWAP9
00002962: POP
00002963: POP
00002964: POP
00002965: POP
00002966: POP
00002967: POP
00002968: POP
00002969: POP
0000296a: POP
0000296b: PUSH1 0x40
0000296d: MLOAD
0000296e: PUSH1 0x20
00002970: DUP2
00002971: DUP4
00002972: SUB
00002973: SUB
00002974: DUP2
00002975: MSTORE
00002976: SWAP1
00002977: PUSH1 0x40
00002979: MSTORE
0000297a: PUSH1 0x40
0000297c: MLOAD
0000297d: DUP1
0000297e: DUP3
0000297f: DUP1
00002980: MLOAD
00002981: SWAP1
00002982: PUSH1 0x20
00002984: ADD
00002985: SWAP1
00002986: DUP1
00002987: DUP4
00002988: DUP4
00002989: JUMPDEST
0000298a: PUSH1 0x20
0000298c: DUP4
0000298d: LT
0000298e: ISZERO
0000298f: ISZERO
00002990: PUSH2 0x29ae
00002993: JUMPI
00002994: DUP1
00002995: MLOAD
00002996: DUP3
00002997: MSTORE
00002998: PUSH1 0x20
0000299a: DUP3
0000299b: ADD
0000299c: SWAP2
0000299d: POP
0000299e: PUSH1 0x20
000029a0: DUP2
000029a1: ADD
000029a2: SWAP1
000029a3: POP
000029a4: PUSH1 0x20
000029a6: DUP4
000029a7: SUB
000029a8: SWAP3
000029a9: POP
000029aa: PUSH2 0x2989
000029ad: JUMP
000029ae: JUMPDEST
000029af: PUSH1 0x01
000029b1: DUP4
000029b2: PUSH1 0x20
000029b4: SUB
000029b5: PUSH2 0x0100
000029b8: EXP
000029b9: SUB
000029ba: DUP1
000029bb: NOT
000029bc: DUP3
000029bd: MLOAD
000029be: AND
000029bf: DUP2
000029c0: DUP5
000029c1: MLOAD
000029c2: AND
000029c3: DUP1
000029c4: DUP3
000029c5: OR
000029c6: DUP6
000029c7: MSTORE
000029c8: POP
000029c9: POP
000029ca: POP
000029cb: POP
000029cc: POP
000029cd: POP
000029ce: SWAP1
000029cf: POP
000029d0: ADD
000029d1: SWAP2
000029d2: POP
000029d3: POP
000029d4: PUSH1 0x40
000029d6: MLOAD
000029d7: DUP1
000029d8: SWAP2
000029d9: SUB
000029da: SWAP1
000029db: KECCAK256
000029dc: SWAP1
000029dd: POP
000029de: SWAP7
000029df: SWAP6
000029e0: POP
000029e1: POP
000029e2: POP
000029e3: POP
000029e4: POP
000029e5: POP
000029e6: JUMP
000029e7: JUMPDEST
000029e8: PUSH1 0x00
000029ea: DUP1
000029eb: SWAP1
000029ec: SLOAD
000029ed: SWAP1
000029ee: PUSH2 0x0100
000029f1: EXP
000029f2: SWAP1
000029f3: DIV
000029f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a09: AND
00002a0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a1f: AND
00002a20: CALLER
00002a21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a36: AND
00002a37: EQ
00002a38: ISZERO
00002a39: ISZERO
00002a3a: PUSH2 0x2a42
00002a3d: JUMPI
00002a3e: PUSH1 0x00
00002a40: DUP1
00002a41: REVERT
00002a42: JUMPDEST
00002a43: PUSH1 0x00
00002a45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a5a: AND
00002a5b: DUP3
00002a5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a71: AND
00002a72: EQ
00002a73: ISZERO
00002a74: ISZERO
00002a75: ISZERO
00002a76: PUSH2 0x2a7e
00002a79: JUMPI
00002a7a: PUSH1 0x00
00002a7c: DUP1
00002a7d: REVERT
00002a7e: JUMPDEST
00002a7f: DUP1
00002a80: PUSH1 0x01
00002a82: PUSH1 0x00
00002a84: DUP5
00002a85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a9a: AND
00002a9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ab0: AND
00002ab1: DUP2
00002ab2: MSTORE
00002ab3: PUSH1 0x20
00002ab5: ADD
00002ab6: SWAP1
00002ab7: DUP2
00002ab8: MSTORE
00002ab9: PUSH1 0x20
00002abb: ADD
00002abc: PUSH1 0x00
00002abe: KECCAK256
00002abf: PUSH1 0x00
00002ac1: PUSH2 0x0100
00002ac4: EXP
00002ac5: DUP2
00002ac6: SLOAD
00002ac7: DUP2
00002ac8: PUSH1 0xff
00002aca: MUL
00002acb: NOT
00002acc: AND
00002acd: SWAP1
00002ace: DUP4
00002acf: ISZERO
00002ad0: ISZERO
00002ad1: MUL
00002ad2: OR
00002ad3: SWAP1
00002ad4: SSTORE
00002ad5: POP
00002ad6: POP
00002ad7: POP
00002ad8: JUMP
00002ad9: JUMPDEST
00002ada: PUSH1 0x00
00002adc: DUP1
00002add: PUSH1 0x00
00002adf: PUSH2 0x2b08
00002ae2: PUSH1 0x64
00002ae4: PUSH2 0x2afa
00002ae7: PUSH1 0x0b
00002ae9: SLOAD
00002aea: PUSH1 0x09
00002aec: SLOAD
00002aed: PUSH2 0x2ded
00002af0: SWAP1
00002af1: SWAP2
00002af2: SWAP1
00002af3: PUSH4 0xffffffff
00002af8: AND
00002af9: JUMP
00002afa: JUMPDEST
00002afb: PUSH2 0x2e2b
00002afe: SWAP1
00002aff: SWAP2
00002b00: SWAP1
00002b01: PUSH4 0xffffffff
00002b06: AND
00002b07: JUMP
00002b08: JUMPDEST
00002b09: SWAP2
00002b0a: POP
00002b0b: PUSH2 0x2b32
00002b0e: PUSH1 0x64
00002b10: PUSH2 0x2b24
00002b13: PUSH1 0x0a
00002b15: SLOAD
00002b16: DUP8
00002b17: PUSH2 0x2ded
00002b1a: SWAP1
00002b1b: SWAP2
00002b1c: SWAP1
00002b1d: PUSH4 0xffffffff
00002b22: AND
00002b23: JUMP
00002b24: JUMPDEST
00002b25: PUSH2 0x2e2b
00002b28: SWAP1
00002b29: SWAP2
00002b2a: SWAP1
00002b2b: PUSH4 0xffffffff
00002b30: AND
00002b31: JUMP
00002b32: JUMPDEST
00002b33: SWAP1
00002b34: POP
00002b35: DUP2
00002b36: DUP2
00002b37: GT
00002b38: PUSH2 0x2b41
00002b3b: JUMPI
00002b3c: DUP1
00002b3d: PUSH2 0x2b43
00002b40: JUMP
00002b41: JUMPDEST
00002b42: DUP2
00002b43: JUMPDEST
00002b44: SWAP3
00002b45: POP
00002b46: POP
00002b47: POP
00002b48: SWAP2
00002b49: SWAP1
00002b4a: POP
00002b4b: JUMP
00002b4c: JUMPDEST
00002b4d: PUSH1 0x00
00002b4f: DUP1
00002b50: SWAP1
00002b51: SLOAD
00002b52: SWAP1
00002b53: PUSH2 0x0100
00002b56: EXP
00002b57: SWAP1
00002b58: DIV
00002b59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b6e: AND
00002b6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b84: AND
00002b85: CALLER
00002b86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b9b: AND
00002b9c: EQ
00002b9d: ISZERO
00002b9e: ISZERO
00002b9f: PUSH2 0x2ba7
00002ba2: JUMPI
00002ba3: PUSH1 0x00
00002ba5: DUP1
00002ba6: REVERT
00002ba7: JUMPDEST
00002ba8: PUSH1 0x00
00002baa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bbf: AND
00002bc0: DUP2
00002bc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bd6: AND
00002bd7: EQ
00002bd8: ISZERO
00002bd9: ISZERO
00002bda: ISZERO
00002bdb: PUSH2 0x2be3
00002bde: JUMPI
00002bdf: PUSH1 0x00
00002be1: DUP1
00002be2: REVERT
00002be3: JUMPDEST
00002be4: DUP1
00002be5: PUSH1 0x00
00002be7: DUP1
00002be8: PUSH2 0x0100
00002beb: EXP
00002bec: DUP2
00002bed: SLOAD
00002bee: DUP2
00002bef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c04: MUL
00002c05: NOT
00002c06: AND
00002c07: SWAP1
00002c08: DUP4
00002c09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c1e: AND
00002c1f: MUL
00002c20: OR
00002c21: SWAP1
00002c22: SSTORE
00002c23: POP
00002c24: POP
00002c25: JUMP
00002c26: JUMPDEST
00002c27: PUSH1 0x0b
00002c29: SLOAD
00002c2a: DUP2
00002c2b: JUMP
00002c2c: JUMPDEST
00002c2d: PUSH1 0x00
00002c2f: DUP1
00002c30: PUSH1 0x00
00002c32: SWAP1
00002c33: SLOAD
00002c34: SWAP1
00002c35: PUSH2 0x0100
00002c38: EXP
00002c39: SWAP1
00002c3a: DIV
00002c3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c50: AND
00002c51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c66: AND
00002c67: CALLER
00002c68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c7d: AND
00002c7e: EQ
00002c7f: ISZERO
00002c80: ISZERO
00002c81: PUSH2 0x2c89
00002c84: JUMPI
00002c85: PUSH1 0x00
00002c87: DUP1
00002c88: REVERT
00002c89: JUMPDEST
00002c8a: PUSH1 0x0c
00002c8c: PUSH1 0x00
00002c8e: SWAP1
00002c8f: SLOAD
00002c90: SWAP1
00002c91: PUSH2 0x0100
00002c94: EXP
00002c95: SWAP1
00002c96: DIV
00002c97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cac: AND
00002cad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002cc2: AND
00002cc3: PUSH4 0xa9059cbb
00002cc8: PUSH1 0x00
00002cca: DUP1
00002ccb: SWAP1
00002ccc: SLOAD
00002ccd: SWAP1
00002cce: PUSH2 0x0100
00002cd1: EXP
00002cd2: SWAP1
00002cd3: DIV
00002cd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ce9: AND
00002cea: DUP5
00002ceb: PUSH1 0x40
00002ced: MLOAD
00002cee: DUP4
00002cef: PUSH4 0xffffffff
00002cf4: AND
00002cf5: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00002d13: MUL
00002d14: DUP2
00002d15: MSTORE
00002d16: PUSH1 0x04
00002d18: ADD
00002d19: DUP1
00002d1a: DUP4
00002d1b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d30: AND
00002d31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d46: AND
00002d47: DUP2
00002d48: MSTORE
00002d49: PUSH1 0x20
00002d4b: ADD
00002d4c: DUP3
00002d4d: DUP2
00002d4e: MSTORE
00002d4f: PUSH1 0x20
00002d51: ADD
00002d52: SWAP3
00002d53: POP
00002d54: POP
00002d55: POP
00002d56: PUSH1 0x00
00002d58: PUSH1 0x40
00002d5a: MLOAD
00002d5b: DUP1
00002d5c: DUP4
00002d5d: SUB
00002d5e: DUP2
00002d5f: PUSH1 0x00
00002d61: DUP8
00002d62: DUP1
00002d63: EXTCODESIZE
00002d64: ISZERO
00002d65: DUP1
00002d66: ISZERO
00002d67: PUSH2 0x2d6f
00002d6a: JUMPI
00002d6b: PUSH1 0x00
00002d6d: DUP1
00002d6e: REVERT
00002d6f: JUMPDEST
00002d70: POP
00002d71: GAS
00002d72: CALL
00002d73: ISZERO
00002d74: DUP1
00002d75: ISZERO
00002d76: PUSH2 0x2d83
00002d79: JUMPI
00002d7a: RETURNDATASIZE
00002d7b: PUSH1 0x00
00002d7d: DUP1
00002d7e: RETURNDATACOPY
00002d7f: RETURNDATASIZE
00002d80: PUSH1 0x00
00002d82: REVERT
00002d83: JUMPDEST
00002d84: POP
00002d85: POP
00002d86: POP
00002d87: POP
00002d88: PUSH2 0x2d9c
00002d8b: DUP3
00002d8c: PUSH1 0x09
00002d8e: SLOAD
00002d8f: PUSH2 0x2dab
00002d92: SWAP1
00002d93: SWAP2
00002d94: SWAP1
00002d95: PUSH4 0xffffffff
00002d9a: AND
00002d9b: JUMP
00002d9c: JUMPDEST
00002d9d: PUSH1 0x09
00002d9f: DUP2
00002da0: SWAP1
00002da1: SSTORE
00002da2: POP
00002da3: PUSH1 0x01
00002da5: SWAP1
00002da6: POP
00002da7: SWAP2
00002da8: SWAP1
00002da9: POP
00002daa: JUMP
00002dab: JUMPDEST
00002dac: PUSH1 0x00
00002dae: DUP1
00002daf: DUP4
00002db0: DUP4
00002db1: GT
00002db2: ISZERO
00002db3: ISZERO
00002db4: ISZERO
00002db5: PUSH2 0x2dbd
00002db8: JUMPI
00002db9: PUSH1 0x00
00002dbb: DUP1
00002dbc: REVERT
00002dbd: JUMPDEST
00002dbe: DUP3
00002dbf: DUP5
00002dc0: SUB
00002dc1: SWAP1
00002dc2: POP
00002dc3: DUP1
00002dc4: SWAP2
00002dc5: POP
00002dc6: POP
00002dc7: SWAP3
00002dc8: SWAP2
00002dc9: POP
00002dca: POP
00002dcb: JUMP
00002dcc: JUMPDEST
00002dcd: PUSH1 0x00
00002dcf: DUP1
00002dd0: DUP3
00002dd1: DUP5
00002dd2: ADD
00002dd3: SWAP1
00002dd4: POP
00002dd5: DUP4
00002dd6: DUP2
00002dd7: LT
00002dd8: ISZERO
00002dd9: ISZERO
00002dda: ISZERO
00002ddb: PUSH2 0x2de3
00002dde: JUMPI
00002ddf: PUSH1 0x00
00002de1: DUP1
00002de2: REVERT
00002de3: JUMPDEST
00002de4: DUP1
00002de5: SWAP2
00002de6: POP
00002de7: POP
00002de8: SWAP3
00002de9: SWAP2
00002dea: POP
00002deb: POP
00002dec: JUMP
00002ded: JUMPDEST
00002dee: PUSH1 0x00
00002df0: DUP1
00002df1: PUSH1 0x00
00002df3: DUP5
00002df4: EQ
00002df5: ISZERO
00002df6: PUSH2 0x2e02
00002df9: JUMPI
00002dfa: PUSH1 0x00
00002dfc: SWAP2
00002dfd: POP
00002dfe: PUSH2 0x2e24
00002e01: JUMP
00002e02: JUMPDEST
00002e03: DUP3
00002e04: DUP5
00002e05: MUL
00002e06: SWAP1
00002e07: POP
00002e08: DUP3
00002e09: DUP5
00002e0a: DUP3
00002e0b: DUP2
00002e0c: ISZERO
00002e0d: ISZERO
00002e0e: PUSH2 0x2e13
00002e11: JUMPI
00002e12: INVALID
00002e13: JUMPDEST
00002e14: DIV
00002e15: EQ
00002e16: ISZERO
00002e17: ISZERO
00002e18: PUSH2 0x2e20
00002e1b: JUMPI
00002e1c: PUSH1 0x00
00002e1e: DUP1
00002e1f: REVERT
00002e20: JUMPDEST
00002e21: DUP1
00002e22: SWAP2
00002e23: POP
00002e24: JUMPDEST
00002e25: POP
00002e26: SWAP3
00002e27: SWAP2
00002e28: POP
00002e29: POP
00002e2a: JUMP
00002e2b: JUMPDEST
00002e2c: PUSH1 0x00
00002e2e: DUP1
00002e2f: PUSH1 0x00
00002e31: DUP4
00002e32: GT
00002e33: ISZERO
00002e34: ISZERO
00002e35: PUSH2 0x2e3d
00002e38: JUMPI
00002e39: PUSH1 0x00
00002e3b: DUP1
00002e3c: REVERT
00002e3d: JUMPDEST
00002e3e: DUP3
00002e3f: DUP5
00002e40: DUP2
00002e41: ISZERO
00002e42: ISZERO
00002e43: PUSH2 0x2e48
00002e46: JUMPI
00002e47: INVALID
00002e48: JUMPDEST
00002e49: DIV
00002e4a: SWAP1
00002e4b: POP
00002e4c: DUP1
00002e4d: SWAP2
00002e4e: POP
00002e4f: POP
00002e50: SWAP3
00002e51: SWAP2
00002e52: POP
00002e53: POP
00002e54: JUMP
00002e55: JUMPDEST
00002e56: PUSH2 0x0180
00002e59: PUSH1 0x40
00002e5b: MLOAD
00002e5c: SWAP1
00002e5d: DUP2
00002e5e: ADD
00002e5f: PUSH1 0x40
00002e61: MSTORE
00002e62: DUP1
00002e63: PUSH1 0x00
00002e65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e7a: AND
00002e7b: DUP2
00002e7c: MSTORE
00002e7d: PUSH1 0x20
00002e7f: ADD
00002e80: PUSH1 0x60
00002e82: DUP2
00002e83: MSTORE
00002e84: PUSH1 0x20
00002e86: ADD
00002e87: PUSH1 0x00
00002e89: DUP2
00002e8a: MSTORE
00002e8b: PUSH1 0x20
00002e8d: ADD
00002e8e: PUSH1 0x00
00002e90: DUP2
00002e91: MSTORE
00002e92: PUSH1 0x20
00002e94: ADD
00002e95: PUSH1 0x00
00002e97: DUP2
00002e98: MSTORE
00002e99: PUSH1 0x20
00002e9b: ADD
00002e9c: PUSH1 0x00
00002e9e: DUP2
00002e9f: MSTORE
00002ea0: PUSH1 0x20
00002ea2: ADD
00002ea3: PUSH1 0x00
00002ea5: DUP2
00002ea6: MSTORE
00002ea7: PUSH1 0x20
00002ea9: ADD
00002eaa: PUSH1 0x00
00002eac: DUP2
00002ead: MSTORE
00002eae: PUSH1 0x20
00002eb0: ADD
00002eb1: PUSH1 0x00
00002eb3: DUP2
00002eb4: MSTORE
00002eb5: PUSH1 0x20
00002eb7: ADD
00002eb8: PUSH1 0x00
00002eba: DUP2
00002ebb: MSTORE
00002ebc: PUSH1 0x20
00002ebe: ADD
00002ebf: PUSH1 0x00
00002ec1: ISZERO
00002ec2: ISZERO
00002ec3: DUP2
00002ec4: MSTORE
00002ec5: PUSH1 0x20
00002ec7: ADD
00002ec8: PUSH1 0x00
00002eca: ISZERO
00002ecb: ISZERO
00002ecc: DUP2
00002ecd: MSTORE
00002ece: POP
00002ecf: SWAP1
00002ed0: JUMP
00002ed1: JUMPDEST
00002ed2: DUP3
00002ed3: DUP1
00002ed4: SLOAD
00002ed5: PUSH1 0x01
00002ed7: DUP2
00002ed8: PUSH1 0x01
00002eda: AND
00002edb: ISZERO
00002edc: PUSH2 0x0100
00002edf: MUL
00002ee0: SUB
00002ee1: AND
00002ee2: PUSH1 0x02
00002ee4: SWAP1
00002ee5: DIV
00002ee6: SWAP1
00002ee7: PUSH1 0x00
00002ee9: MSTORE
00002eea: PUSH1 0x20
00002eec: PUSH1 0x00
00002eee: KECCAK256
00002eef: SWAP1
00002ef0: PUSH1 0x1f
00002ef2: ADD
00002ef3: PUSH1 0x20
00002ef5: SWAP1
00002ef6: DIV
00002ef7: DUP2
00002ef8: ADD
00002ef9: SWAP3
00002efa: DUP3
00002efb: PUSH1 0x1f
00002efd: LT
00002efe: PUSH2 0x2f12
00002f01: JUMPI
00002f02: DUP1
00002f03: MLOAD
00002f04: PUSH1 0xff
00002f06: NOT
00002f07: AND
00002f08: DUP4
00002f09: DUP1
00002f0a: ADD
00002f0b: OR
00002f0c: DUP6
00002f0d: SSTORE
00002f0e: PUSH2 0x2f40
00002f11: JUMP
00002f12: JUMPDEST
00002f13: DUP3
00002f14: DUP1
00002f15: ADD
00002f16: PUSH1 0x01
00002f18: ADD
00002f19: DUP6
00002f1a: SSTORE
00002f1b: DUP3
00002f1c: ISZERO
00002f1d: PUSH2 0x2f40
00002f20: JUMPI
00002f21: SWAP2
00002f22: DUP3
00002f23: ADD
00002f24: JUMPDEST
00002f25: DUP3
00002f26: DUP2
00002f27: GT
00002f28: ISZERO
00002f29: PUSH2 0x2f3f
00002f2c: JUMPI
00002f2d: DUP3
00002f2e: MLOAD
00002f2f: DUP3
00002f30: SSTORE
00002f31: SWAP2
00002f32: PUSH1 0x20
00002f34: ADD
00002f35: SWAP2
00002f36: SWAP1
00002f37: PUSH1 0x01
00002f39: ADD
00002f3a: SWAP1
00002f3b: PUSH2 0x2f24
00002f3e: JUMP
00002f3f: JUMPDEST
00002f40: JUMPDEST
00002f41: POP
00002f42: SWAP1
00002f43: POP
00002f44: PUSH2 0x2f4d
00002f47: SWAP2
00002f48: SWAP1
00002f49: PUSH2 0x2f51
00002f4c: JUMP
00002f4d: JUMPDEST
00002f4e: POP
00002f4f: SWAP1
00002f50: JUMP
00002f51: JUMPDEST
00002f52: PUSH2 0x2f73
00002f55: SWAP2
00002f56: SWAP1
00002f57: JUMPDEST
00002f58: DUP1
00002f59: DUP3
00002f5a: GT
00002f5b: ISZERO
00002f5c: PUSH2 0x2f6f
00002f5f: JUMPI
00002f60: PUSH1 0x00
00002f62: DUP2
00002f63: PUSH1 0x00
00002f65: SWAP1
00002f66: SSTORE
00002f67: POP
00002f68: PUSH1 0x01
00002f6a: ADD
00002f6b: PUSH2 0x2f57
00002f6e: JUMP
00002f6f: JUMPDEST
00002f70: POP
00002f71: SWAP1
00002f72: JUMP
00002f73: JUMPDEST
00002f74: SWAP1
00002f75: JUMP
00002f76: STOP
00002f77: LOG1
00002f78: PUSH6 0x627a7a723058
00002f7f: KECCAK256
00002f80: SWAP7
00002f81: DUP2
00002f82: MSTORE8
00002f83: SELFDESTRUCT
00002f84: CREATE2
00002f85: EXTCODECOPY
00002f86: SUB
00002f87: CREATE
00002f88: REVERT
00002f89: GT
00002f8a: DUP10
00002f8b: DUP13
00002f8c: UNKNOWN(0xA9)
00002f8d: PUSH30

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x540c431809d09f4cb4b6a264de06687cdad03af3800e7cd74d4365c4cf52b37b
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x540c431809d09f4cb4b6a264de06687cdad03af3800e7cd74d4365c4cf52b37b",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02bb744c",
            "selector": "0x02bb744c",
            "calldata_variants": [
                "0x02bb744c",
                "0x02bb744c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06aec506",
            "selector": "0x06aec506",
            "calldata_variants": [
                "0x06aec506",
                "0x06aec5060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c657eb0",
            "selector": "0x0c657eb0",
            "calldata_variants": [
                "0x0c657eb0",
                "0x0c657eb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19045a25",
            "selector": "0x19045a25",
            "calldata_variants": [
                "0x19045a25",
                "0x19045a250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x9b5b8d149b8d4d1f72a52dab6666e6c45b7a50cd01a419e3753471f22e53657d
call_targets: 0xd1901bd2063d2c8f649bf31b6df6d0f853a6bda3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9b5b8d149b8d4d1f72a52dab6666e6c45b7a50cd01a419e3753471f22e53657d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd1901bd2063d2c8f649bf31b6df6d0f853a6bda3"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02bb744c",
            "selector": "0x02bb744c",
            "calldata_variants": [
                "0x02bb744c",
                "0x02bb744c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06aec506",
            "selector": "0x06aec506",
            "calldata_variants": [
                "0x06aec506",
                "0x06aec5060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c657eb0",
            "selector": "0x0c657eb0",
            "calldata_variants": [
                "0x0c657eb0",
                "0x0c657eb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19045a25",
            "selector": "0x19045a25",
            "calldata_variants": [
                "0x19045a25",
                "0x19045a250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3622,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4871,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5314,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 2979,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4552,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5416,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8008,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8383,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8496,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10784,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11367,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 8
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x540c431809d09f4cb4b6a264de06687cdad03af3800e7cd74d4365c4cf52b37b
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x540c431809d09f4cb4b6a264de06687cdad03af3800e7cd74d4365c4cf52b37b",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02bb744c",
            "selector": "0x02bb744c",
            "calldata_variants": [
                "0x02bb744c",
                "0x02bb744c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06aec506",
            "selector": "0x06aec506",
            "calldata_variants": [
                "0x06aec506",
                "0x06aec5060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c657eb0",
            "selector": "0x0c657eb0",
            "calldata_variants": [
                "0x0c657eb0",
                "0x0c657eb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19045a25",
            "selector": "0x19045a25",
            "calldata_variants": [
                "0x19045a25",
                "0x19045a250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2979,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4552,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5416,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8008,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8383,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8496,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10784,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11367,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x9b5b8d149b8d4d1f72a52dab6666e6c45b7a50cd01a419e3753471f22e53657d
call_targets: 0xd1901bd2063d2c8f649bf31b6df6d0f853a6bda3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9b5b8d149b8d4d1f72a52dab6666e6c45b7a50cd01a419e3753471f22e53657d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd1901bd2063d2c8f649bf31b6df6d0f853a6bda3"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02bb744c",
            "selector": "0x02bb744c",
            "calldata_variants": [
                "0x02bb744c",
                "0x02bb744c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06aec506",
            "selector": "0x06aec506",
            "calldata_variants": [
                "0x06aec506",
                "0x06aec5060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c657eb0",
            "selector": "0x0c657eb0",
            "calldata_variants": [
                "0x0c657eb0",
                "0x0c657eb00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19045a25",
            "selector": "0x19045a25",
            "calldata_variants": [
                "0x19045a25",
                "0x19045a250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x313ce567",
            "selector": "0x313ce567",
            "calldata_variants": [
                "0x313ce567",
                "0x313ce5670000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3622,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4871,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5314,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 2979,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4552,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5416,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8008,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8383,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 8496,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10784,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11141,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11367,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium access_control codex SELFDESTRUCT reachable with unclear access control 75 no
view
evidence_json
{
    "evidence": "Detector flagged SELFDESTRUCT reachable; basic block contains SELFDESTRUCT at pc 12151. Guards reported are heuristic and compare msg.sender to 0xffff... which may be a false positive.",
    "locations": [
        "pc:0x2f77"
    ],
    "recommendation": "Locate the function that leads to SELFDESTRUCT and ensure it is protected by a robust authorization check (e.g., owner/admin in storage), and consider removing SELFDESTRUCT entirely if not strictly required.",
    "exploit_scenario": "If the SELFDESTRUCT path is callable by an unprivileged user (e.g., via a fallback or unguarded selector), an attacker could permanently destroy the contract and force-send its ETH balance to a beneficiary address. Guard detection is heuristic only and shows a suspicious msg.sender == 0xffff... pattern, so access control cannot be confirmed from bytecode."
}
low access_control codex CREATE/CREATE2 opcodes reachable; deployment control unclear 65 no
view
evidence_json
{
    "evidence": "Heuristics report CREATE and CREATE2 present; basic block shows CREATE2 then CREATE at pc 12164 with no obvious local guard in the same block.",
    "locations": [
        "pc:0x2f84"
    ],
    "recommendation": "Confirm that contract creation is gated to trusted roles or constrained by fixed init code and salt; if not intended, remove CREATE/CREATE2 usage.",
    "exploit_scenario": "If the CREATE/CREATE2 path is accessible to arbitrary callers, they could deploy arbitrary contracts through this contract (potentially using its balance), or abuse metamorphic deployment patterns. This may be intended if the contract is a factory, but access control cannot be confirmed from bytecode alone."
}
low reentrancy codex Computed CALLs with value and unchecked returndata 65 no
view
evidence_json
{
    "evidence": "Eight CALL sites have computed target/value and returndata_checked=null; detector flagged untrusted CALL and ETH value transfer as reachable, but not confirmed across all paths.",
    "locations": [
        "pc:0x0e26",
        "pc:0x1307",
        "pc:0x14c2",
        "pc:0x19d7",
        "pc:0x1c44",
        "pc:0x2053",
        "pc:0x282e",
        "pc:0x2d72"
    ],
    "recommendation": "Audit each CALL site to ensure targets are trusted, consider using checks-effects-interactions ordering or reentrancy guards, and verify return values where appropriate.",
    "exploit_scenario": "Multiple CALL sites use computed targets and values with no visible returndata checks. If any of these targets are user-controlled and state updates occur after the CALL, this could enable reentrancy or silent failures. A validation trace observed the target as the contract itself, but this was not confirmed across all paths."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 1
}
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": 8
}