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

Analysis Run

019bab3b-ab41-7206-bacf-aa21d1411cf4

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38506 artifact.fetch complete 1 / 3 3 months ago
38507 proxy.resolve complete 1 / 3 3 months ago
38508 tool.cast_disasm complete 1 / 3 3 months ago
38509 analysis.bundle complete 1 / 3 3 months ago
38510 capability.graph complete 1 / 3 3 months ago
38511 detector.run complete 1 / 3 3 months ago
38512 validation.fork complete 1 / 3 3 months ago
39042 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.
View stdout
{"no_findings":false,"summary":"Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled","exploit_scenario":"If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls.","recommendation":"Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.","evidence":"Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report “Untrusted CALL target/value reachable” and “ETH value transfer possible” with 16 examples and no guards detected.","locations":["pc:0x7ec","pc:0x1812","pc:0x192f","pc:0x1d07","pc:0x1da3","pc:0x1fb3","pc:0x204f","pc:0x2147","pc:0x241a","pc:0x2535","pc:0x2c98","pc:0x2d70","pc:0x2f43","pc:0x2fdf","pc:0x30d7","pc:0x3946"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ztduy_r0
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab95-65a2-7743-82c3-401e7962720e
--------
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**
exec
/bin/bash -lc ls in /tmp/codex-ztduy_r0 succeeded in 11ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 8ms:
{
  "analysis_artifact": {
    "address": "0x705ec547b17ff8c4a2996f47fdfc399604163606",
    "artifact_hash": "0x3afb33d2d64a142e3c0865e549aae346173639ddc5332ac8ba99bf58f00d1b6d",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0xa9c960451d6444af8ed0eaf34a16d8740166d65cde3b43dfed465ff46c4393bd",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Searching for relevant keywords in large JSON**
exec
/bin/bash -lc 'rg -n "storage|slot|proxy|delegatecall|eip-1967|beacon|minimal proxy|implementation|upgrade" BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 12ms:
21760:            "delegatecall": 0,
21764:          "storage": {
21766:            "slots": [
21770:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21775:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21780:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21785:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21790:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21795:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21800:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21805:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21810:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21815:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21820:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21825:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21830:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21835:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21840:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21845:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21850:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"

thinking
**Extracting proxy sections from rg output**
exec
/bin/bash -lc "sed -n '30690,30740p' BYTECODE_BUNDLE.json" in /tmp/codex-ztduy_r0 succeeded in 10ms:
  },
  "analysis_run": {
    "address": "0x705ec547b17ff8c4a2996f47fdfc399604163606",
    "block_number": null,
    "chain_id": 1,
    "child_links": [],
    "created_at": "2026-01-11T04:06:13.000000Z",
    "id": "019bab3b-ab41-7206-bacf-aa21d1411cf4",
    "parent_links": [],
    "status": "running",
    "updated_at": "2026-01-11T04:07:35.000000Z"
  },
  "artifact": {
    "codehash": "0xe55f19dbc0489dad7e194c67332983cf2a4ec38d9c1fd8cbf37f83024b61a263",
    "compiler_json": {
      "compiler_version": null,
      "etherscan": {
        "contract_name": null,
        "implementation": null,
        "license": "Unknown",

thinking
**Analyzing bytecode for security clues**
exec
/bin/bash -lc 'rg -n "evidence|callsites|callsite|returndata|guard|untrusted|reentrancy" BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 26ms:
7:        "guards": []
16968:      "callsites": [
16972:          "returndata_checked": null,
16979:          "returndata_checked": null,
16986:          "returndata_checked": null,
16993:          "returndata_checked": null,
17000:          "returndata_checked": null,
17007:          "returndata_checked": null,
17014:          "returndata_checked": null,
17021:          "returndata_checked": null,
17028:          "returndata_checked": null,
17035:          "returndata_checked": null,
17042:          "returndata_checked": null,
17049:          "returndata_checked": null,
17056:          "returndata_checked": null,
17063:          "returndata_checked": null,
17070:          "returndata_checked": null,
17077:          "returndata_checked": null,
17084:          "returndata_checked": null,
17091:          "returndata_checked": null,

thinking
**Checking callsites section**
exec
/bin/bash -lc "sed -n '16940,17140p' BYTECODE_BUNDLE.json" in /tmp/codex-ztduy_r0 succeeded in 8ms:
            "OP_C9",
            "PUSH24",
            "GT",
            "CODECOPY",
            "PUSH5",
            "STOP"
          ],
          "start_pc": 19099
        },
        {
          "end_pc": 19139,
          "hash": "0xfb6843edb63d551cf8c07f6c307ae49ddcc353dded437c67154b940b8d123055",
          "opcodes": [
            "ADDMOD",
            "NOT",
            "STOP"
          ],
          "start_pc": 19137
        },
        {

thinking
**Analyzing external calls and security risks**

I'll focus on identifying external calls in the bytecode related to Uniswap routers and token transfers, looking for potential untrusted calls, missing reentrancy guards, and access controls. Since I have the bytecode and artifact data, I'll use Python to parse JSON evidence about callsites, storage patterns, and revert strings to understand security risks better.
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
print(data.keys())
PY" in /tmp/codex-ztduy_r0 succeeded in 46ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])

thinking
**Inspecting capability_graph keys**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
print(data['capability_graph'].keys())
print(data['capability_graph']['graph_json'].keys())
PY" in /tmp/codex-ztduy_r0 succeeded in 68ms:
dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
dict_keys(['edges', 'nodes', 'version'])

thinking
**Examining node types**
exec
/bin/bash -lc "python - <<'PY'
import json, collections
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
node_types=collections.Counter(n.get('type') for n in data['capability_graph']['graph_json']['nodes'])
print(node_types)
PY" in /tmp/codex-ztduy_r0 succeeded in 87ms:
Counter({'basic_block': 893, 'callsite': 19, 'function': 18, 'sink': 2})

thinking
**Analyzing callsite relationships**
exec
/bin/bash -lc "python - <<'PY'
import json
from itertools import islice
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edges=data['capability_graph']['graph_json']['edges']
for e in islice(edges, 20):
    print(e)
PY" in /tmp/codex-ztduy_r0 succeeded in 78ms:
{'from': 'bb:0', 'to': 'bb:268', 'type': 'control_flow'}
{'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}
{'from': 'bb:13', 'to': 'bb:148', 'type': 'control_flow'}
{'from': 'bb:13', 'to': 'bb:29', 'type': 'control_flow_fallthrough'}
{'from': 'bb:29', 'to': 'bb:99', 'type': 'control_flow'}
{'from': 'bb:29', 'to': 'bb:40', 'type': 'control_flow_fallthrough'}
{'from': 'bb:40', 'to': 'bb:735', 'type': 'control_flow'}
{'from': 'bb:40', 'to': 'bb:51', 'type': 'control_flow_fallthrough'}
{'from': 'bb:51', 'to': 'bb:775', 'type': 'control_flow'}
{'from': 'bb:51', 'to': 'bb:62', 'type': 'control_flow_fallthrough'}
{'from': 'bb:62', 'to': 'bb:797', 'type': 'control_flow'}
{'from': 'bb:62', 'to': 'bb:73', 'type': 'control_flow_fallthrough'}
{'from': 'bb:73', 'to': 'bb:839', 'type': 'control_flow'}
{'from': 'bb:73', 'to': 'bb:84', 'type': 'control_flow_fallthrough'}
{'from': 'bb:84', 'to': 'bb:879', 'type': 'control_flow'}
{'from': 'bb:84', 'to': 'bb:95', 'type': 'control_flow_fallthrough'}
{'from': 'bb:95', 'to': 'bb:275', 'type': 'control_flow'}
{'from': 'bb:99', 'to': 'bb:627', 'type': 'control_flow'}
{'from': 'bb:99', 'to': 'bb:111', 'type': 'control_flow_fallthrough'}
{'from': 'bb:111', 'to': 'bb:669', 'type': 'control_flow'}

thinking
**Checking edge types for calls**
exec
/bin/bash -lc "python - <<'PY'
import json, collections
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edge_types=collections.Counter(e['type'] for e in data['capability_graph']['graph_json']['edges'])
print(edge_types)
PY" in /tmp/codex-ztduy_r0 succeeded in 82ms:
Counter({'control_flow': 566, 'control_flow_fallthrough': 348, 'contains': 19, 'capability': 19, 'entry': 14})

thinking
**Inspecting edge types**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edges=[e for e in data['capability_graph']['graph_json']['edges'] if e['type']=='contains']
print(edges[:10])
PY" in /tmp/codex-ztduy_r0 succeeded in 58ms:
[{'from': 'bb:1206', 'to': 'call:1300', 'type': 'contains'}, {'from': 'bb:1982', 'to': 'call:2028', 'type': 'contains'}, {'from': 'bb:2286', 'to': 'call:2298', 'type': 'contains'}, {'from': 'bb:6150', 'to': 'call:6162', 'type': 'contains'}, {'from': 'bb:6435', 'to': 'call:6447', 'type': 'contains'}, {'from': 'bb:7418', 'to': 'call:7431', 'type': 'contains'}, {'from': 'bb:7584', 'to': 'call:7587', 'type': 'contains'}, {'from': 'bb:8102', 'to': 'call:8115', 'type': 'contains'}, {'from': 'bb:8268', 'to': 'call:8271', 'type': 'contains'}, {'from': 'bb:8507', 'to': 'call:8519', 'type': 'contains'}]

thinking
**Inspecting function entry edges**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edges=[e for e in data['capability_graph']['graph_json']['edges'] if e['type']=='entry']
print(edges[:20])
PY" in /tmp/codex-ztduy_r0 succeeded in 32ms:
[{'from': 'fn:0xc5675be4', 'to': 'bb:3311885284', 'type': 'entry'}, {'from': 'fn:0xd382d503', 'to': 'bb:3813942948', 'type': 'entry'}, {'from': 'fn:0xe35426a4', 'to': 'bb:3828503255', 'type': 'entry'}, {'from': 'fn:0xe43252d7', 'to': 'bb:3888809924', 'type': 'entry'}, {'from': 'fn:0xb631e80b', 'to': 'bb:3066220224', 'type': 'entry'}, {'from': 'fn:0xb6c2cec0', 'to': 'bb:3135045156', 'type': 'entry'}, {'from': 'fn:0xbadcfe24', 'to': 'bb:3256539841', 'type': 'entry'}, {'from': 'fn:0x6619dc55', 'to': 'bb:1712970837', 'type': 'entry'}, {'from': 'fn:0x7ebd1b30', 'to': 'bb:2192620073', 'type': 'entry'}, {'from': 'fn:0x82b0ba29', 'to': 'bb:2326910593', 'type': 'entry'}, {'from': 'fn:0x8ab1d681', 'to': 'bb:2360927584', 'type': 'entry'}, {'from': 'fn:0x023f4bc3', 'to': 'bb:1020253707', 'type': 'entry'}, {'from': 'fn:0x3ccfd60b', 'to': 'bb:1275262510', 'type': 'entry'}, {'from': 'fn:0x4c02f62e', 'to': 'bb:1491353935', 'type': 'entry'}]

thinking
**Analyzing basic block and PC mapping**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
# find node bb:1982
node = next(n for n in data['capability_graph']['graph_json']['nodes'] if n.get('id')=='bb:1982')
print(node)
PY" in /tmp/codex-ztduy_r0 succeeded in 53ms:
{'end_pc': 2040, 'hash': '0x53094ba41248458ae1695f9455c79be3d6c348d92299fa9cfb249ba33f5899eb', 'id': 'bb:1982', 'start_pc': 1982, 'type': 'basic_block'}

thinking
**Evaluating callsite identification methods**
exec
/bin/bash -lc 'which evm || true' in /tmp/codex-ztduy_r0 succeeded in 6ms:


thinking
**Preparing EVM disassembler script**
exec
/bin/bash -lc "python - <<'PY'
import json

# EVM opcode mapping
opcodes = {i: f'OP_{i:02x}' for i in range(256)}
# populate known opcodes
names = {
    0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
    0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
    0x20:'SHA3',
    0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
    0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
    0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
    0x5f:'PUSH0',
    0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
    0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
    0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
    0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
    0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
    opcodes[k]=v

with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
bytecode = data['artifact']['runtime_bytecode']['full']
if bytecode.startswith('0x'):
    bytecode = bytecode[2:]
code_bytes = bytes.fromhex(bytecode)

# disassemble
instrs=[]
pc=0
while pc < len(code_bytes):
    op = code_bytes[pc]
    name = opcodes.get(op, f'OP_{op:02x}')
    imm = b''
    if 0x60 <= op <= 0x7f:
        size = op - 0x5f
        imm = code_bytes[pc+1:pc+1+size]
        instrs.append((pc,name,imm.hex()))
        pc += 1 + size
    else:
        instrs.append((pc,name,''))
        pc += 1

# map pc to index
pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}

def dump_around(target_pc, window=12):
    i = pc_to_index.get(target_pc)
    if i is None:
        # find nearest
        nearest = min(instrs, key=lambda x: abs(x[0]-target_pc))
        i = pc_to_index[nearest[0]]
    start = max(0, i-window)
    end = min(len(instrs), i+window+1)
    print(f\"\\n=== around pc {target_pc} (showing {instrs[i][0]} as center) ===\")
    for pc,name,imm in instrs[start:end]:
        if imm:
            print(f\"{pc:6d}: {name} 0x{imm}\")
        else:
            print(f\"{pc:6d}: {name}\")

for target in [2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]:
    dump_around(target, window=10)
PY" in /tmp/codex-ztduy_r0 succeeded in 96ms:

=== around pc 2028 (showing 2028 as center) ===
  2017: PUSH0
  2018: PUSH1 0x40
  2020: MLOAD
  2021: DUP1
  2022: DUP4
  2023: SUB
  2024: DUP2
  2025: DUP6
  2026: DUP9
  2027: DUP9
  2028: CALL
  2029: SWAP4
  2030: POP
  2031: POP
  2032: POP
  2033: POP
  2034: ISZERO
  2035: DUP1

thinking
**Analyzing call-return patterns**
exec
/bin/bash -lc "python - <<'PY'
import json
# use same disassembler as before quickly
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
    0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
    0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
    0x20:'SHA3',
    0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
    0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
    0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
    0x5f:'PUSH0',
    0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
    0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
    0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
    0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
    0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
    opcodes[k]=v

with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
bytecode = data['artifact']['runtime_bytecode']['full']
if bytecode.startswith('0x'):
    bytecode = bytecode[2:]
code_bytes = bytes.fromhex(bytecode)

instrs=[]
pc=0
while pc < len(code_bytes):
    op=code_bytes[pc]
    name=opcodes.get(op,f'OP_{op:02x}')
    imm=b''
    if 0x60<=op<=0x7f:
        size=op-0x5f
        imm=code_bytes[pc+1:pc+1+size]
        instrs.append((pc,name,imm.hex()))
        pc+=1+size
    else:
        instrs.append((pc,name,''))
        pc+=1

pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}

def dump(target_pc, window=12):
    i=pc_to_index.get(target_pc)
    if i is None:
        nearest=min(instrs, key=lambda x: abs(x[0]-target_pc))
        i=pc_to_index[nearest[0]]
    start=max(0,i-window)
    end=min(len(instrs),i+window+1)
    print(f\"\\n=== around pc {target_pc} (center {instrs[i][0]}) ===\")
    for pc,name,imm in instrs[start:end]:
        if imm:
            print(f\"{pc:6d}: {name} 0x{imm}\")
        else:
            print(f\"{pc:6d}: {name}\")

for t in [1300,2298,10213]:
    dump(t)
PY" in /tmp/codex-ztduy_r0 succeeded in 65ms:

=== around pc 1300 (center 1300) ===
  1285: MSTORE
  1286: PUSH1 0x04
  1288: ADD
  1289: PUSH1 0x20
  1291: PUSH1 0x40
  1293: MLOAD
  1294: DUP1
  1295: DUP4
  1296: SUB
  1297: DUP2
  1298: DUP7
  1299: GAS
  1300: STATICCALL
  1301: ISZERO
  1302: DUP1
  1303: ISZERO
  1304: PUSH2 0x0523
  1307: JUMPI

thinking
**Analyzing external CALLs and ETH transfers**

I'm inspecting the bytecode patterns around CALL instructions to determine if ETH value is sent during calls and if access controls are properly enforced. There’s evidence of external calls with computed targets and values that could be risky without clear guard detection. I’m weighing potential reentrancy and fund loss concerns alongside some existing whitelist checks, while also assessing whether return data checks and access controls are sufficient or absent. This deep dive aims to clarify risks around untrusted external calls and ETH transfer behavior.
exec
/bin/bash -lc "python - <<'PY'
import json
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
    0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
    0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
    0x20:'SHA3',
    0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
    0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
    0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
    0x5f:'PUSH0',
    0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
    0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
    0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
    0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
    0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
    opcodes[k]=v

with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
code_hex=data['artifact']['runtime_bytecode']['full'][2:]
code=bytes.fromhex(code_hex)

instrs=[]
pc=0
while pc < len(code):
    op=code[pc]
    name=opcodes.get(op,f'OP_{op:02x}')
    imm=b''
    if 0x60<=op<=0x7f:
        size=op-0x5f
        imm=code[pc+1:pc+1+size]
        instrs.append((pc,name,imm.hex()))
        pc+=1+size
    else:
        instrs.append((pc,name,''))
        pc+=1

pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}

def dump(target_pc, window=40):
    i=pc_to_index.get(target_pc)
    if i is None:
        nearest=min(instrs, key=lambda x: abs(x[0]-target_pc))
        i=pc_to_index[nearest[0]]
    start=max(0,i-window)
    end=min(len(instrs),i+window+1)
    print(f\"\\n=== around pc {target_pc} (center {instrs[i][0]}) ===\")
    for pc,name,imm in instrs[start:end]:
        if imm:
            print(f\"{pc:6d}: {name} 0x{imm}\")
        else:
            print(f\"{pc:6d}: {name}\")

# pick a call that might target router: maybe 7587 or 8271? We'll dump 120 instructions around 7587.
for t in [7587,8271,11632,12255]:
    dump(t, window=30)
PY" in /tmp/codex-ztduy_r0 succeeded in 69ms:

=== around pc 7587 (center 7587) ===
  7548: PUSH4 0xffffffff
  7553: AND
  7554: PUSH1 0xe0
  7556: SHL
  7557: DUP2
  7558: MSTORE
  7559: PUSH1 0x04
  7561: ADD
  7562: PUSH0
  7563: PUSH1 0x40
  7565: MLOAD
  7566: DUP1
  7567: DUP4
  7568: SUB
  7569: DUP2
  7570: PUSH0
  7571: DUP8
  7572: DUP1

thinking
**Analyzing contract calls and addresses**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
addr=bytes.fromhex('68b3465833fb72a70ecdf485e0e4c7bd8665fc45')
idx=code.find(addr)
print('index', idx)
# show surrounding bytes/opcodes near addr
start=max(0, idx-10)
end=min(len(code), idx+len(addr)+10)
print(code[start:end].hex())
PY" in /tmp/codex-ztduy_r0 succeeded in 90ms:
index 5725
0000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4581565b5f805b60208054

thinking
**Analyzing bytecode near program counter**
exec
/bin/bash -lc "python - <<'PY'
import json
# disassemble similar
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
    0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
    0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
    0x20:'SHA3',
    0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
    0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
    0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
    0x5f:'PUSH0',
    0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
    0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
    0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
    0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
    0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
    opcodes[k]=v

with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])

instrs=[]
pc=0
while pc < len(code):
    op=code[pc]
    name=opcodes.get(op,f'OP_{op:02x}')
    imm=b''
    if 0x60<=op<=0x7f:
        size=op-0x5f
        imm=code[pc+1:pc+1+size]
        instrs.append((pc,name,imm.hex()))
        pc+=1+size
    else:
        instrs.append((pc,name,''))
        pc+=1

# find instruction containing that address immediate
for pc,name,imm in instrs:
    if imm and '68b3465833fb72a70ecdf485e0e4c7bd8665fc45' in imm:
        print('found', pc, name, imm)
        # dump nearby
        idx = [i for i,(p,_,_) in enumerate(instrs) if p==pc][0]
        for p,n,im in instrs[idx-5:idx+6]:
            if im:
                print(f\"{p:6d}: {n} 0x{im}\")
            else:
                print(f\"{p:6d}: {n}\")
        break
PY" in /tmp/codex-ztduy_r0 succeeded in 95ms:
found 5712 PUSH32 00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
  5707: POP
  5708: POP
  5709: SWAP1
  5710: JUMP
  5711: JUMPDEST
  5712: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
  5745: DUP2
  5746: JUMP
  5747: JUMPDEST
  5748: PUSH0
  5749: DUP1

thinking
**Analyzing external call risks and access control**
exec
/bin/bash -lc "python - <<'PY'
pcs=[2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]
print([hex(p) for p in pcs])
PY" in /tmp/codex-ztduy_r0 succeeded in 56ms:
['0x7ec', '0x1812', '0x192f', '0x1d07', '0x1da3', '0x1fb3', '0x204f', '0x2147', '0x241a', '0x2535', '0x2c98', '0x2d70', '0x2f43', '0x2fdf', '0x30d7', '0x3946']

thinking
**Analyzing callsites and reentrancy risks**
exec
/bin/bash -lc "python - <<'PY'
import json
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
    0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
    0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
    0x20:'SHA3',
    0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
    0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
    0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
    0x5f:'PUSH0',
    0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
    0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
    0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
    0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
    0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
    opcodes[k]=v

with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])

instrs=[]
pc=0
while pc < len(code):
    op=code[pc]
    name=opcodes.get(op,f'OP_{op:02x}')
    imm=b''
    if 0x60<=op<=0x7f:
        size=op-0x5f
        imm=code[pc+1:pc+1+size]
        instrs.append((pc,name,imm.hex()))
        pc+=1+size
    else:
        instrs.append((pc,name,''))
        pc+=1

pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}

calls=[2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]

for c in calls:
    i=pc_to_index[c]
    # check for SSTORE within next 80 instructions
    window=80
    has_sstore=False
    for pc,name,imm in instrs[i+1:i+1+window]:
        if name=='SSTORE':
            has_sstore=True
            break
    if has_sstore:
        print('call at', c, 'has SSTORE within', window)
PY" in /tmp/codex-ztduy_r0 succeeded in 54ms:


thinking
**Summarizing potential external call issues**

I’m gathering evidence that the contract has multiple computed CALL sites with possible ETH value transfers and no detected access control or reentrancy guards, which could allow arbitrary external calls if user-controlled. Since guard detection heuristics find none but revert strings show some controls, I’m noting uncertainty and recommending verifying access restrictions, call target validation, and reentrancy protections with references to callsite locations.
codex
{"no_findings":false,"summary":"Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled","exploit_scenario":"If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls.","recommendation":"Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.","evidence":"Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report “Untrusted CALL target/value reachable” and “ETH value transfer possible” with 16 examples and no guards detected.","locations":["pc:0x7ec","pc:0x1812","pc:0x192f","pc:0x1d07","pc:0x1da3","pc:0x1fb3","pc:0x204f","pc:0x2147","pc:0x241a","pc:0x2535","pc:0x2c98","pc:0x2d70","pc:0x2f43","pc:0x2fdf","pc:0x30d7","pc:0x3946"]}]}
tokens used
161,660
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T05:50:10.948852+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 38284,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.",
    "raw_final": {
        "summary": "Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.",
        "findings": [
            {
                "title": "Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled",
                "category": "other",
                "evidence": "Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report \u201cUntrusted CALL target/value reachable\u201d and \u201cETH value transfer possible\u201d with 16 examples and no guards detected.",
                "severity": "medium",
                "locations": [
                    "pc:0x7ec",
                    "pc:0x1812",
                    "pc:0x192f",
                    "pc:0x1d07",
                    "pc:0x1da3",
                    "pc:0x1fb3",
                    "pc:0x204f",
                    "pc:0x2147",
                    "pc:0x241a",
                    "pc:0x2535",
                    "pc:0x2c98",
                    "pc:0x2d70",
                    "pc:0x2f43",
                    "pc:0x2fdf",
                    "pc:0x30d7",
                    "pc:0x3946"
                ],
                "recommendation": "Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.",
                "exploit_scenario": "If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
19
EXT*/BALANCE
4
Total opcodes
10706
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x010c
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0xb631e80b
00000018: GT
00000019: PUSH2 0x0094
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xc5675be4
00000023: GT
00000024: PUSH2 0x0063
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xc5675be4
0000002e: EQ
0000002f: PUSH2 0x02df
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xd382d503
00000039: EQ
0000003a: PUSH2 0x0307
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xe35426a4
00000044: EQ
00000045: PUSH2 0x031d
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xe43252d7
0000004f: EQ
00000050: PUSH2 0x0347
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xe7ca87c4
0000005a: EQ
0000005b: PUSH2 0x036f
0000005e: JUMPI
0000005f: PUSH2 0x0113
00000062: JUMP
00000063: JUMPDEST
00000064: DUP1
00000065: PUSH4 0xb631e80b
0000006a: EQ
0000006b: PUSH2 0x0273
0000006e: JUMPI
0000006f: DUP1
00000070: PUSH4 0xb6c2cec0
00000075: EQ
00000076: PUSH2 0x029d
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0xbadcfe24
00000080: EQ
00000081: PUSH2 0x02b3
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0xc21adac1
0000008b: EQ
0000008c: PUSH2 0x02c9
0000008f: JUMPI
00000090: PUSH2 0x0113
00000093: JUMP
00000094: JUMPDEST
00000095: DUP1
00000096: PUSH4 0x6619dc55
0000009b: GT
0000009c: PUSH2 0x00db
0000009f: JUMPI
000000a0: DUP1
000000a1: PUSH4 0x6619dc55
000000a6: EQ
000000a7: PUSH2 0x0193
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x7ebd1b30
000000b1: EQ
000000b2: PUSH2 0x01bb
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x82b0ba29
000000bc: EQ
000000bd: PUSH2 0x01f7
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0x8ab1d681
000000c7: EQ
000000c8: PUSH2 0x0221
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x8cb8e560
000000d2: EQ
000000d3: PUSH2 0x0249
000000d6: JUMPI
000000d7: PUSH2 0x0113
000000da: JUMP
000000db: JUMPDEST
000000dc: DUP1
000000dd: PUSH4 0x023f4bc3
000000e2: EQ
000000e3: PUSH2 0x0115
000000e6: JUMPI
000000e7: DUP1
000000e8: PUSH4 0x3ccfd60b
000000ed: EQ
000000ee: PUSH2 0x013d
000000f1: JUMPI
000000f2: DUP1
000000f3: PUSH4 0x4c02f62e
000000f8: EQ
000000f9: PUSH2 0x0153
000000fc: JUMPI
000000fd: DUP1
000000fe: PUSH4 0x58e4414f
00000103: EQ
00000104: PUSH2 0x0169
00000107: JUMPI
00000108: PUSH2 0x0113
0000010b: JUMP
0000010c: JUMPDEST
0000010d: CALLDATASIZE
0000010e: PUSH2 0x0113
00000111: JUMPI
00000112: STOP
00000113: JUMPDEST
00000114: STOP
00000115: JUMPDEST
00000116: CALLVALUE
00000117: DUP1
00000118: ISZERO
00000119: PUSH2 0x0120
0000011c: JUMPI
0000011d: PUSH0
0000011e: DUP1
0000011f: REVERT
00000120: JUMPDEST
00000121: POP
00000122: PUSH2 0x013b
00000125: PUSH1 0x04
00000127: DUP1
00000128: CALLDATASIZE
00000129: SUB
0000012a: DUP2
0000012b: ADD
0000012c: SWAP1
0000012d: PUSH2 0x0136
00000130: SWAP2
00000131: SWAP1
00000132: PUSH2 0x3cc4
00000135: JUMP
00000136: JUMPDEST
00000137: PUSH2 0x0397
0000013a: JUMP
0000013b: JUMPDEST
0000013c: STOP
0000013d: JUMPDEST
0000013e: CALLVALUE
0000013f: DUP1
00000140: ISZERO
00000141: PUSH2 0x0148
00000144: JUMPI
00000145: PUSH0
00000146: DUP1
00000147: REVERT
00000148: JUMPDEST
00000149: POP
0000014a: PUSH2 0x0151
0000014d: PUSH2 0x0722
00000150: JUMP
00000151: JUMPDEST
00000152: STOP
00000153: JUMPDEST
00000154: CALLVALUE
00000155: DUP1
00000156: ISZERO
00000157: PUSH2 0x015e
0000015a: JUMPI
0000015b: PUSH0
0000015c: DUP1
0000015d: REVERT
0000015e: JUMPDEST
0000015f: POP
00000160: PUSH2 0x0167
00000163: PUSH2 0x0805
00000166: JUMP
00000167: JUMPDEST
00000168: STOP
00000169: JUMPDEST
0000016a: CALLVALUE
0000016b: DUP1
0000016c: ISZERO
0000016d: PUSH2 0x0174
00000170: JUMPI
00000171: PUSH0
00000172: DUP1
00000173: REVERT
00000174: JUMPDEST
00000175: POP
00000176: PUSH2 0x017d
00000179: PUSH2 0x0965
0000017c: JUMP
0000017d: JUMPDEST
0000017e: PUSH1 0x40
00000180: MLOAD
00000181: PUSH2 0x018a
00000184: SWAP2
00000185: SWAP1
00000186: PUSH2 0x3ed4
00000189: JUMP
0000018a: JUMPDEST
0000018b: PUSH1 0x40
0000018d: MLOAD
0000018e: DUP1
0000018f: SWAP2
00000190: SUB
00000191: SWAP1
00000192: RETURN
00000193: JUMPDEST
00000194: CALLVALUE
00000195: DUP1
00000196: ISZERO
00000197: PUSH2 0x019e
0000019a: JUMPI
0000019b: PUSH0
0000019c: DUP1
0000019d: REVERT
0000019e: JUMPDEST
0000019f: POP
000001a0: PUSH2 0x01b9
000001a3: PUSH1 0x04
000001a5: DUP1
000001a6: CALLDATASIZE
000001a7: SUB
000001a8: DUP2
000001a9: ADD
000001aa: SWAP1
000001ab: PUSH2 0x01b4
000001ae: SWAP2
000001af: SWAP1
000001b0: PUSH2 0x3cc4
000001b3: JUMP
000001b4: JUMPDEST
000001b5: PUSH2 0x0be7
000001b8: JUMP
000001b9: JUMPDEST
000001ba: STOP
000001bb: JUMPDEST
000001bc: CALLVALUE
000001bd: DUP1
000001be: ISZERO
000001bf: PUSH2 0x01c6
000001c2: JUMPI
000001c3: PUSH0
000001c4: DUP1
000001c5: REVERT
000001c6: JUMPDEST
000001c7: POP
000001c8: PUSH2 0x01e1
000001cb: PUSH1 0x04
000001cd: DUP1
000001ce: CALLDATASIZE
000001cf: SUB
000001d0: DUP2
000001d1: ADD
000001d2: SWAP1
000001d3: PUSH2 0x01dc
000001d6: SWAP2
000001d7: SWAP1
000001d8: PUSH2 0x3ef4
000001db: JUMP
000001dc: JUMPDEST
000001dd: PUSH2 0x0f04
000001e0: JUMP
000001e1: JUMPDEST
000001e2: PUSH1 0x40
000001e4: MLOAD
000001e5: PUSH2 0x01ee
000001e8: SWAP2
000001e9: SWAP1
000001ea: PUSH2 0x3f2e
000001ed: JUMP
000001ee: JUMPDEST
000001ef: PUSH1 0x40
000001f1: MLOAD
000001f2: DUP1
000001f3: SWAP2
000001f4: SUB
000001f5: SWAP1
000001f6: RETURN
000001f7: JUMPDEST
000001f8: CALLVALUE
000001f9: DUP1
000001fa: ISZERO
000001fb: PUSH2 0x0202
000001fe: JUMPI
000001ff: PUSH0
00000200: DUP1
00000201: REVERT
00000202: JUMPDEST
00000203: POP
00000204: PUSH2 0x020b
00000207: PUSH2 0x0f3f
0000020a: JUMP
0000020b: JUMPDEST
0000020c: PUSH1 0x40
0000020e: MLOAD
0000020f: PUSH2 0x0218
00000212: SWAP2
00000213: SWAP1
00000214: PUSH2 0x3fe7
00000217: JUMP
00000218: JUMPDEST
00000219: PUSH1 0x40
0000021b: MLOAD
0000021c: DUP1
0000021d: SWAP2
0000021e: SUB
0000021f: SWAP1
00000220: RETURN
00000221: JUMPDEST
00000222: CALLVALUE
00000223: DUP1
00000224: ISZERO
00000225: PUSH2 0x022c
00000228: JUMPI
00000229: PUSH0
0000022a: DUP1
0000022b: REVERT
0000022c: JUMPDEST
0000022d: POP
0000022e: PUSH2 0x0247
00000231: PUSH1 0x04
00000233: DUP1
00000234: CALLDATASIZE
00000235: SUB
00000236: DUP2
00000237: ADD
00000238: SWAP1
00000239: PUSH2 0x0242
0000023c: SWAP2
0000023d: SWAP1
0000023e: PUSH2 0x4007
00000241: JUMP
00000242: JUMPDEST
00000243: PUSH2 0x11c1
00000246: JUMP
00000247: JUMPDEST
00000248: STOP
00000249: JUMPDEST
0000024a: CALLVALUE
0000024b: DUP1
0000024c: ISZERO
0000024d: PUSH2 0x0254
00000250: JUMPI
00000251: PUSH0
00000252: DUP1
00000253: REVERT
00000254: JUMPDEST
00000255: POP
00000256: PUSH2 0x025d
00000259: PUSH2 0x13cd
0000025c: JUMP
0000025d: JUMPDEST
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: PUSH2 0x026a
00000264: SWAP2
00000265: SWAP1
00000266: PUSH2 0x40d2
00000269: JUMP
0000026a: JUMPDEST
0000026b: PUSH1 0x40
0000026d: MLOAD
0000026e: DUP1
0000026f: SWAP2
00000270: SUB
00000271: SWAP1
00000272: RETURN
00000273: JUMPDEST
00000274: CALLVALUE
00000275: DUP1
00000276: ISZERO
00000277: PUSH2 0x027e
0000027a: JUMPI
0000027b: PUSH0
0000027c: DUP1
0000027d: REVERT
0000027e: JUMPDEST
0000027f: POP
00000280: PUSH2 0x0287
00000283: PUSH2 0x164f
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH1 0x40
0000028a: MLOAD
0000028b: PUSH2 0x0294
0000028e: SWAP2
0000028f: SWAP1
00000290: PUSH2 0x414d
00000293: JUMP
00000294: JUMPDEST
00000295: PUSH1 0x40
00000297: MLOAD
00000298: DUP1
00000299: SWAP2
0000029a: SUB
0000029b: SWAP1
0000029c: RETURN
0000029d: JUMPDEST
0000029e: CALLVALUE
0000029f: DUP1
000002a0: ISZERO
000002a1: PUSH2 0x02a8
000002a4: JUMPI
000002a5: PUSH0
000002a6: DUP1
000002a7: REVERT
000002a8: JUMPDEST
000002a9: POP
000002aa: PUSH2 0x02b1
000002ad: PUSH2 0x1673
000002b0: JUMP
000002b1: JUMPDEST
000002b2: STOP
000002b3: JUMPDEST
000002b4: CALLVALUE
000002b5: DUP1
000002b6: ISZERO
000002b7: PUSH2 0x02be
000002ba: JUMPI
000002bb: PUSH0
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: POP
000002c0: PUSH2 0x02c7
000002c3: PUSH2 0x1a62
000002c6: JUMP
000002c7: JUMPDEST
000002c8: STOP
000002c9: JUMPDEST
000002ca: CALLVALUE
000002cb: DUP1
000002cc: ISZERO
000002cd: PUSH2 0x02d4
000002d0: JUMPI
000002d1: PUSH0
000002d2: DUP1
000002d3: REVERT
000002d4: JUMPDEST
000002d5: POP
000002d6: PUSH2 0x02dd
000002d9: PUSH2 0x227b
000002dc: JUMP
000002dd: JUMPDEST
000002de: STOP
000002df: JUMPDEST
000002e0: CALLVALUE
000002e1: DUP1
000002e2: ISZERO
000002e3: PUSH2 0x02ea
000002e6: JUMPI
000002e7: PUSH0
000002e8: DUP1
000002e9: REVERT
000002ea: JUMPDEST
000002eb: POP
000002ec: PUSH2 0x0305
000002ef: PUSH1 0x04
000002f1: DUP1
000002f2: CALLDATASIZE
000002f3: SUB
000002f4: DUP2
000002f5: ADD
000002f6: SWAP1
000002f7: PUSH2 0x0300
000002fa: SWAP2
000002fb: SWAP1
000002fc: PUSH2 0x3cc4
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH2 0x2668
00000304: JUMP
00000305: JUMPDEST
00000306: STOP
00000307: JUMPDEST
00000308: CALLVALUE
00000309: DUP1
0000030a: ISZERO
0000030b: PUSH2 0x0312
0000030e: JUMPI
0000030f: PUSH0
00000310: DUP1
00000311: REVERT
00000312: JUMPDEST
00000313: POP
00000314: PUSH2 0x031b
00000317: PUSH2 0x29f3
0000031a: JUMP
0000031b: JUMPDEST
0000031c: STOP
0000031d: JUMPDEST
0000031e: CALLVALUE
0000031f: DUP1
00000320: ISZERO
00000321: PUSH2 0x0328
00000324: JUMPI
00000325: PUSH0
00000326: DUP1
00000327: REVERT
00000328: JUMPDEST
00000329: POP
0000032a: PUSH2 0x0331
0000032d: PUSH2 0x320b
00000330: JUMP
00000331: JUMPDEST
00000332: PUSH1 0x40
00000334: MLOAD
00000335: PUSH2 0x033e
00000338: SWAP2
00000339: SWAP1
0000033a: PUSH2 0x4206
0000033d: JUMP
0000033e: JUMPDEST
0000033f: PUSH1 0x40
00000341: MLOAD
00000342: DUP1
00000343: SWAP2
00000344: SUB
00000345: SWAP1
00000346: RETURN
00000347: JUMPDEST
00000348: CALLVALUE
00000349: DUP1
0000034a: ISZERO
0000034b: PUSH2 0x0352
0000034e: JUMPI
0000034f: PUSH0
00000350: DUP1
00000351: REVERT
00000352: JUMPDEST
00000353: POP
00000354: PUSH2 0x036d
00000357: PUSH1 0x04
00000359: DUP1
0000035a: CALLDATASIZE
0000035b: SUB
0000035c: DUP2
0000035d: ADD
0000035e: SWAP1
0000035f: PUSH2 0x0368
00000362: SWAP2
00000363: SWAP1
00000364: PUSH2 0x4007
00000367: JUMP
00000368: JUMPDEST
00000369: PUSH2 0x348d
0000036c: JUMP
0000036d: JUMPDEST
0000036e: STOP
0000036f: JUMPDEST
00000370: CALLVALUE
00000371: DUP1
00000372: ISZERO
00000373: PUSH2 0x037a
00000376: JUMPI
00000377: PUSH0
00000378: DUP1
00000379: REVERT
0000037a: JUMPDEST
0000037b: POP
0000037c: PUSH2 0x0395
0000037f: PUSH1 0x04
00000381: DUP1
00000382: CALLDATASIZE
00000383: SUB
00000384: DUP2
00000385: ADD
00000386: SWAP1
00000387: PUSH2 0x0390
0000038a: SWAP2
0000038b: SWAP1
0000038c: PUSH2 0x3cc4
0000038f: JUMP
00000390: JUMPDEST
00000391: PUSH2 0x357f
00000394: JUMP
00000395: JUMPDEST
00000396: STOP
00000397: JUMPDEST
00000398: PUSH0
00000399: DUP1
0000039a: JUMPDEST
0000039b: PUSH1 0x20
0000039d: DUP1
0000039e: SLOAD
0000039f: SWAP1
000003a0: POP
000003a1: DUP2
000003a2: LT
000003a3: ISZERO
000003a4: PUSH2 0x042b
000003a7: JUMPI
000003a8: CALLER
000003a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003be: AND
000003bf: PUSH1 0x20
000003c1: DUP3
000003c2: DUP2
000003c3: SLOAD
000003c4: DUP2
000003c5: LT
000003c6: PUSH2 0x03d2
000003c9: JUMPI
000003ca: PUSH2 0x03d1
000003cd: PUSH2 0x4226
000003d0: JUMP
000003d1: JUMPDEST
000003d2: JUMPDEST
000003d3: SWAP1
000003d4: PUSH0
000003d5: MSTORE
000003d6: PUSH1 0x20
000003d8: PUSH0
000003d9: KECCAK256
000003da: ADD
000003db: PUSH0
000003dc: SWAP1
000003dd: SLOAD
000003de: SWAP1
000003df: PUSH2 0x0100
000003e2: EXP
000003e3: SWAP1
000003e4: DIV
000003e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003fa: AND
000003fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000410: AND
00000411: SUB
00000412: PUSH2 0x041e
00000415: JUMPI
00000416: PUSH1 0x01
00000418: SWAP2
00000419: POP
0000041a: PUSH2 0x042b
0000041d: JUMP
0000041e: JUMPDEST
0000041f: DUP1
00000420: DUP1
00000421: PUSH1 0x01
00000423: ADD
00000424: SWAP2
00000425: POP
00000426: POP
00000427: PUSH2 0x039a
0000042a: JUMP
0000042b: JUMPDEST
0000042c: POP
0000042d: DUP1
0000042e: PUSH2 0x046c
00000431: JUMPI
00000432: PUSH1 0x40
00000434: MLOAD
00000435: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000456: DUP2
00000457: MSTORE
00000458: PUSH1 0x04
0000045a: ADD
0000045b: PUSH2 0x0463
0000045e: SWAP1
0000045f: PUSH2 0x42ad
00000462: JUMP
00000463: JUMPDEST
00000464: PUSH1 0x40
00000466: MLOAD
00000467: DUP1
00000468: SWAP2
00000469: SUB
0000046a: SWAP1
0000046b: REVERT
0000046c: JUMPDEST
0000046d: PUSH0
0000046e: PUSH1 0x02
00000470: PUSH8 0xffffffffffffffff
00000479: DUP2
0000047a: GT
0000047b: ISZERO
0000047c: PUSH2 0x0488
0000047f: JUMPI
00000480: PUSH2 0x0487
00000483: PUSH2 0x42cb
00000486: JUMP
00000487: JUMPDEST
00000488: JUMPDEST
00000489: PUSH1 0x40
0000048b: MLOAD
0000048c: SWAP1
0000048d: DUP1
0000048e: DUP3
0000048f: MSTORE
00000490: DUP1
00000491: PUSH1 0x20
00000493: MUL
00000494: PUSH1 0x20
00000496: ADD
00000497: DUP3
00000498: ADD
00000499: PUSH1 0x40
0000049b: MSTORE
0000049c: DUP1
0000049d: ISZERO
0000049e: PUSH2 0x04b6
000004a1: JUMPI
000004a2: DUP2
000004a3: PUSH1 0x20
000004a5: ADD
000004a6: PUSH1 0x20
000004a8: DUP3
000004a9: MUL
000004aa: DUP1
000004ab: CALLDATASIZE
000004ac: DUP4
000004ad: CALLDATACOPY
000004ae: DUP1
000004af: DUP3
000004b0: ADD
000004b1: SWAP2
000004b2: POP
000004b3: POP
000004b4: SWAP1
000004b5: POP
000004b6: JUMPDEST
000004b7: POP
000004b8: SWAP1
000004b9: POP
000004ba: PUSH1 0x03
000004bc: PUSH0
000004bd: SWAP1
000004be: SLOAD
000004bf: SWAP1
000004c0: PUSH2 0x0100
000004c3: EXP
000004c4: SWAP1
000004c5: DIV
000004c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004db: AND
000004dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004f1: AND
000004f2: PUSH4 0xad5c4648
000004f7: PUSH1 0x40
000004f9: MLOAD
000004fa: DUP2
000004fb: PUSH4 0xffffffff
00000500: AND
00000501: PUSH1 0xe0
00000503: SHL
00000504: DUP2
00000505: MSTORE
00000506: PUSH1 0x04
00000508: ADD
00000509: PUSH1 0x20
0000050b: PUSH1 0x40
0000050d: MLOAD
0000050e: DUP1
0000050f: DUP4
00000510: SUB
00000511: DUP2
00000512: DUP7
00000513: GAS
00000514: STATICCALL
00000515: ISZERO
00000516: DUP1
00000517: ISZERO
00000518: PUSH2 0x0523
0000051b: JUMPI
0000051c: RETURNDATASIZE
0000051d: PUSH0
0000051e: DUP1
0000051f: RETURNDATACOPY
00000520: RETURNDATASIZE
00000521: PUSH0
00000522: REVERT
00000523: JUMPDEST
00000524: POP
00000525: POP
00000526: POP
00000527: POP
00000528: PUSH1 0x40
0000052a: MLOAD
0000052b: RETURNDATASIZE
0000052c: PUSH1 0x1f
0000052e: NOT
0000052f: PUSH1 0x1f
00000531: DUP3
00000532: ADD
00000533: AND
00000534: DUP3
00000535: ADD
00000536: DUP1
00000537: PUSH1 0x40
00000539: MSTORE
0000053a: POP
0000053b: DUP2
0000053c: ADD
0000053d: SWAP1
0000053e: PUSH2 0x0547
00000541: SWAP2
00000542: SWAP1
00000543: PUSH2 0x430c
00000546: JUMP
00000547: JUMPDEST
00000548: DUP2
00000549: PUSH0
0000054a: DUP2
0000054b: MLOAD
0000054c: DUP2
0000054d: LT
0000054e: PUSH2 0x055a
00000551: JUMPI
00000552: PUSH2 0x0559
00000555: PUSH2 0x4226
00000558: JUMP
00000559: JUMPDEST
0000055a: JUMPDEST
0000055b: PUSH1 0x20
0000055d: MUL
0000055e: PUSH1 0x20
00000560: ADD
00000561: ADD
00000562: SWAP1
00000563: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000578: AND
00000579: SWAP1
0000057a: DUP2
0000057b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000590: AND
00000591: DUP2
00000592: MSTORE
00000593: POP
00000594: POP
00000595: DUP7
00000596: DUP2
00000597: PUSH1 0x01
00000599: DUP2
0000059a: MLOAD
0000059b: DUP2
0000059c: LT
0000059d: PUSH2 0x05a9
000005a0: JUMPI
000005a1: PUSH2 0x05a8
000005a4: PUSH2 0x4226
000005a7: JUMP
000005a8: JUMPDEST
000005a9: JUMPDEST
000005aa: PUSH1 0x20
000005ac: MUL
000005ad: PUSH1 0x20
000005af: ADD
000005b0: ADD
000005b1: SWAP1
000005b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c7: AND
000005c8: SWAP1
000005c9: DUP2
000005ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005df: AND
000005e0: DUP2
000005e1: MSTORE
000005e2: POP
000005e3: POP
000005e4: PUSH1 0x40
000005e6: MLOAD
000005e7: DUP1
000005e8: PUSH1 0xe0
000005ea: ADD
000005eb: PUSH1 0x40
000005ed: MSTORE
000005ee: DUP1
000005ef: DUP11
000005f0: DUP11
000005f1: DUP1
000005f2: DUP1
000005f3: PUSH1 0x20
000005f5: MUL
000005f6: PUSH1 0x20
000005f8: ADD
000005f9: PUSH1 0x40
000005fb: MLOAD
000005fc: SWAP1
000005fd: DUP2
000005fe: ADD
000005ff: PUSH1 0x40
00000601: MSTORE
00000602: DUP1
00000603: SWAP4
00000604: SWAP3
00000605: SWAP2
00000606: SWAP1
00000607: DUP2
00000608: DUP2
00000609: MSTORE
0000060a: PUSH1 0x20
0000060c: ADD
0000060d: DUP4
0000060e: DUP4
0000060f: PUSH1 0x20
00000611: MUL
00000612: DUP1
00000613: DUP3
00000614: DUP5
00000615: CALLDATACOPY
00000616: PUSH0
00000617: DUP2
00000618: DUP5
00000619: ADD
0000061a: MSTORE
0000061b: PUSH1 0x1f
0000061d: NOT
0000061e: PUSH1 0x1f
00000620: DUP3
00000621: ADD
00000622: AND
00000623: SWAP1
00000624: POP
00000625: DUP1
00000626: DUP4
00000627: ADD
00000628: SWAP3
00000629: POP
0000062a: POP
0000062b: POP
0000062c: POP
0000062d: POP
0000062e: POP
0000062f: POP
00000630: DUP2
00000631: MSTORE
00000632: PUSH1 0x20
00000634: ADD
00000635: DUP9
00000636: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000064b: AND
0000064c: DUP2
0000064d: MSTORE
0000064e: PUSH1 0x20
00000650: ADD
00000651: DUP8
00000652: DUP2
00000653: MSTORE
00000654: PUSH1 0x20
00000656: ADD
00000657: DUP7
00000658: DUP2
00000659: MSTORE
0000065a: PUSH1 0x20
0000065c: ADD
0000065d: DUP6
0000065e: DUP2
0000065f: MSTORE
00000660: PUSH1 0x20
00000662: ADD
00000663: DUP3
00000664: DUP2
00000665: MSTORE
00000666: PUSH1 0x20
00000668: ADD
00000669: DUP5
0000066a: DUP2
0000066b: MSTORE
0000066c: POP
0000066d: PUSH1 0x0b
0000066f: PUSH0
00000670: DUP3
00000671: ADD
00000672: MLOAD
00000673: DUP2
00000674: PUSH0
00000675: ADD
00000676: SWAP1
00000677: DUP1
00000678: MLOAD
00000679: SWAP1
0000067a: PUSH1 0x20
0000067c: ADD
0000067d: SWAP1
0000067e: PUSH2 0x0688
00000681: SWAP3
00000682: SWAP2
00000683: SWAP1
00000684: PUSH2 0x39eb
00000687: JUMP
00000688: JUMPDEST
00000689: POP
0000068a: PUSH1 0x20
0000068c: DUP3
0000068d: ADD
0000068e: MLOAD
0000068f: DUP2
00000690: PUSH1 0x01
00000692: ADD
00000693: PUSH0
00000694: PUSH2 0x0100
00000697: EXP
00000698: DUP2
00000699: SLOAD
0000069a: DUP2
0000069b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006b0: MUL
000006b1: NOT
000006b2: AND
000006b3: SWAP1
000006b4: DUP4
000006b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ca: AND
000006cb: MUL
000006cc: OR
000006cd: SWAP1
000006ce: SSTORE
000006cf: POP
000006d0: PUSH1 0x40
000006d2: DUP3
000006d3: ADD
000006d4: MLOAD
000006d5: DUP2
000006d6: PUSH1 0x02
000006d8: ADD
000006d9: SSTORE
000006da: PUSH1 0x60
000006dc: DUP3
000006dd: ADD
000006de: MLOAD
000006df: DUP2
000006e0: PUSH1 0x03
000006e2: ADD
000006e3: SSTORE
000006e4: PUSH1 0x80
000006e6: DUP3
000006e7: ADD
000006e8: MLOAD
000006e9: DUP2
000006ea: PUSH1 0x04
000006ec: ADD
000006ed: SSTORE
000006ee: PUSH1 0xa0
000006f0: DUP3
000006f1: ADD
000006f2: MLOAD
000006f3: DUP2
000006f4: PUSH1 0x05
000006f6: ADD
000006f7: SWAP1
000006f8: DUP1
000006f9: MLOAD
000006fa: SWAP1
000006fb: PUSH1 0x20
000006fd: ADD
000006fe: SWAP1
000006ff: PUSH2 0x0709
00000702: SWAP3
00000703: SWAP2
00000704: SWAP1
00000705: PUSH2 0x39eb
00000708: JUMP
00000709: JUMPDEST
0000070a: POP
0000070b: PUSH1 0xc0
0000070d: DUP3
0000070e: ADD
0000070f: MLOAD
00000710: DUP2
00000711: PUSH1 0x06
00000713: ADD
00000714: SSTORE
00000715: SWAP1
00000716: POP
00000717: POP
00000718: POP
00000719: POP
0000071a: POP
0000071b: POP
0000071c: POP
0000071d: POP
0000071e: POP
0000071f: POP
00000720: POP
00000721: JUMP
00000722: JUMPDEST
00000723: CALLER
00000724: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000739: AND
0000073a: PUSH1 0x21
0000073c: PUSH0
0000073d: SWAP1
0000073e: SLOAD
0000073f: SWAP1
00000740: PUSH2 0x0100
00000743: EXP
00000744: SWAP1
00000745: DIV
00000746: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000075b: AND
0000075c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000771: AND
00000772: EQ
00000773: PUSH2 0x07b1
00000776: JUMPI
00000777: PUSH1 0x40
00000779: MLOAD
0000077a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000079b: DUP2
0000079c: MSTORE
0000079d: PUSH1 0x04
0000079f: ADD
000007a0: PUSH2 0x07a8
000007a3: SWAP1
000007a4: PUSH2 0x4381
000007a7: JUMP
000007a8: JUMPDEST
000007a9: PUSH1 0x40
000007ab: MLOAD
000007ac: DUP1
000007ad: SWAP2
000007ae: SUB
000007af: SWAP1
000007b0: REVERT
000007b1: JUMPDEST
000007b2: PUSH0
000007b3: SELFBALANCE
000007b4: SWAP1
000007b5: POP
000007b6: PUSH0
000007b7: DUP2
000007b8: GT
000007b9: ISZERO
000007ba: PUSH2 0x0802
000007bd: JUMPI
000007be: CALLER
000007bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d4: AND
000007d5: PUSH2 0x08fc
000007d8: DUP3
000007d9: SWAP1
000007da: DUP2
000007db: ISZERO
000007dc: MUL
000007dd: SWAP1
000007de: PUSH1 0x40
000007e0: MLOAD
000007e1: PUSH0
000007e2: PUSH1 0x40
000007e4: MLOAD
000007e5: DUP1
000007e6: DUP4
000007e7: SUB
000007e8: DUP2
000007e9: DUP6
000007ea: DUP9
000007eb: DUP9
000007ec: CALL
000007ed: SWAP4
000007ee: POP
000007ef: POP
000007f0: POP
000007f1: POP
000007f2: ISZERO
000007f3: DUP1
000007f4: ISZERO
000007f5: PUSH2 0x0800
000007f8: JUMPI
000007f9: RETURNDATASIZE
000007fa: PUSH0
000007fb: DUP1
000007fc: RETURNDATACOPY
000007fd: RETURNDATASIZE
000007fe: PUSH0
000007ff: REVERT
00000800: JUMPDEST
00000801: POP
00000802: JUMPDEST
00000803: POP
00000804: JUMP
00000805: JUMPDEST
00000806: CALLER
00000807: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000081c: AND
0000081d: PUSH1 0x21
0000081f: PUSH0
00000820: SWAP1
00000821: SLOAD
00000822: SWAP1
00000823: PUSH2 0x0100
00000826: EXP
00000827: SWAP1
00000828: DIV
00000829: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000083e: AND
0000083f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000854: AND
00000855: EQ
00000856: PUSH2 0x0894
00000859: JUMPI
0000085a: PUSH1 0x40
0000085c: MLOAD
0000085d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000087e: DUP2
0000087f: MSTORE
00000880: PUSH1 0x04
00000882: ADD
00000883: PUSH2 0x088b
00000886: SWAP1
00000887: PUSH2 0x4381
0000088a: JUMP
0000088b: JUMPDEST
0000088c: PUSH1 0x40
0000088e: MLOAD
0000088f: DUP1
00000890: SWAP2
00000891: SUB
00000892: SWAP1
00000893: REVERT
00000894: JUMPDEST
00000895: PUSH0
00000896: DUP1
00000897: PUSH0
00000898: SWAP1
00000899: SLOAD
0000089a: SWAP1
0000089b: PUSH2 0x0100
0000089e: EXP
0000089f: SWAP1
000008a0: DIV
000008a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b6: AND
000008b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008cc: AND
000008cd: PUSH4 0x70a08231
000008d2: ADDRESS
000008d3: PUSH1 0x40
000008d5: MLOAD
000008d6: DUP3
000008d7: PUSH4 0xffffffff
000008dc: AND
000008dd: PUSH1 0xe0
000008df: SHL
000008e0: DUP2
000008e1: MSTORE
000008e2: PUSH1 0x04
000008e4: ADD
000008e5: PUSH2 0x08ee
000008e8: SWAP2
000008e9: SWAP1
000008ea: PUSH2 0x3f2e
000008ed: JUMP
000008ee: JUMPDEST
000008ef: PUSH1 0x20
000008f1: PUSH1 0x40
000008f3: MLOAD
000008f4: DUP1
000008f5: DUP4
000008f6: SUB
000008f7: DUP2
000008f8: DUP7
000008f9: GAS
000008fa: STATICCALL
000008fb: ISZERO
000008fc: DUP1
000008fd: ISZERO
000008fe: PUSH2 0x0909
00000901: JUMPI
00000902: RETURNDATASIZE
00000903: PUSH0
00000904: DUP1
00000905: RETURNDATACOPY
00000906: RETURNDATASIZE
00000907: PUSH0
00000908: REVERT
00000909: JUMPDEST
0000090a: POP
0000090b: POP
0000090c: POP
0000090d: POP
0000090e: PUSH1 0x40
00000910: MLOAD
00000911: RETURNDATASIZE
00000912: PUSH1 0x1f
00000914: NOT
00000915: PUSH1 0x1f
00000917: DUP3
00000918: ADD
00000919: AND
0000091a: DUP3
0000091b: ADD
0000091c: DUP1
0000091d: PUSH1 0x40
0000091f: MSTORE
00000920: POP
00000921: DUP2
00000922: ADD
00000923: SWAP1
00000924: PUSH2 0x092d
00000927: SWAP2
00000928: SWAP1
00000929: PUSH2 0x43b3
0000092c: JUMP
0000092d: JUMPDEST
0000092e: SWAP1
0000092f: POP
00000930: PUSH0
00000931: DUP2
00000932: GT
00000933: ISZERO
00000934: PUSH2 0x0962
00000937: JUMPI
00000938: PUSH2 0x0961
0000093b: PUSH0
0000093c: DUP1
0000093d: SLOAD
0000093e: SWAP1
0000093f: PUSH2 0x0100
00000942: EXP
00000943: SWAP1
00000944: DIV
00000945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000095a: AND
0000095b: CALLER
0000095c: DUP4
0000095d: PUSH2 0x389c
00000960: JUMP
00000961: JUMPDEST
00000962: JUMPDEST
00000963: POP
00000964: JUMP
00000965: JUMPDEST
00000966: PUSH2 0x096d
00000969: PUSH2 0x3a72
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH0
0000096f: DUP1
00000970: JUMPDEST
00000971: PUSH1 0x20
00000973: DUP1
00000974: SLOAD
00000975: SWAP1
00000976: POP
00000977: DUP2
00000978: LT
00000979: ISZERO
0000097a: PUSH2 0x0a01
0000097d: JUMPI
0000097e: CALLER
0000097f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000994: AND
00000995: PUSH1 0x20
00000997: DUP3
00000998: DUP2
00000999: SLOAD
0000099a: DUP2
0000099b: LT
0000099c: PUSH2 0x09a8
0000099f: JUMPI
000009a0: PUSH2 0x09a7
000009a3: PUSH2 0x4226
000009a6: JUMP
000009a7: JUMPDEST
000009a8: JUMPDEST
000009a9: SWAP1
000009aa: PUSH0
000009ab: MSTORE
000009ac: PUSH1 0x20
000009ae: PUSH0
000009af: KECCAK256
000009b0: ADD
000009b1: PUSH0
000009b2: SWAP1
000009b3: SLOAD
000009b4: SWAP1
000009b5: PUSH2 0x0100
000009b8: EXP
000009b9: SWAP1
000009ba: DIV
000009bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009d0: AND
000009d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009e6: AND
000009e7: SUB
000009e8: PUSH2 0x09f4
000009eb: JUMPI
000009ec: PUSH1 0x01
000009ee: SWAP2
000009ef: POP
000009f0: PUSH2 0x0a01
000009f3: JUMP
000009f4: JUMPDEST
000009f5: DUP1
000009f6: DUP1
000009f7: PUSH1 0x01
000009f9: ADD
000009fa: SWAP2
000009fb: POP
000009fc: POP
000009fd: PUSH2 0x0970
00000a00: JUMP
00000a01: JUMPDEST
00000a02: POP
00000a03: DUP1
00000a04: PUSH2 0x0a42
00000a07: JUMPI
00000a08: PUSH1 0x40
00000a0a: MLOAD
00000a0b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a2c: DUP2
00000a2d: MSTORE
00000a2e: PUSH1 0x04
00000a30: ADD
00000a31: PUSH2 0x0a39
00000a34: SWAP1
00000a35: PUSH2 0x42ad
00000a38: JUMP
00000a39: JUMPDEST
00000a3a: PUSH1 0x40
00000a3c: MLOAD
00000a3d: DUP1
00000a3e: SWAP2
00000a3f: SUB
00000a40: SWAP1
00000a41: REVERT
00000a42: JUMPDEST
00000a43: PUSH1 0x04
00000a45: PUSH1 0x40
00000a47: MLOAD
00000a48: DUP1
00000a49: PUSH1 0xe0
00000a4b: ADD
00000a4c: PUSH1 0x40
00000a4e: MSTORE
00000a4f: SWAP1
00000a50: DUP2
00000a51: PUSH0
00000a52: DUP3
00000a53: ADD
00000a54: DUP1
00000a55: SLOAD
00000a56: DUP1
00000a57: PUSH1 0x20
00000a59: MUL
00000a5a: PUSH1 0x20
00000a5c: ADD
00000a5d: PUSH1 0x40
00000a5f: MLOAD
00000a60: SWAP1
00000a61: DUP2
00000a62: ADD
00000a63: PUSH1 0x40
00000a65: MSTORE
00000a66: DUP1
00000a67: SWAP3
00000a68: SWAP2
00000a69: SWAP1
00000a6a: DUP2
00000a6b: DUP2
00000a6c: MSTORE
00000a6d: PUSH1 0x20
00000a6f: ADD
00000a70: DUP3
00000a71: DUP1
00000a72: SLOAD
00000a73: DUP1
00000a74: ISZERO
00000a75: PUSH2 0x0ad0
00000a78: JUMPI
00000a79: PUSH1 0x20
00000a7b: MUL
00000a7c: DUP3
00000a7d: ADD
00000a7e: SWAP2
00000a7f: SWAP1
00000a80: PUSH0
00000a81: MSTORE
00000a82: PUSH1 0x20
00000a84: PUSH0
00000a85: KECCAK256
00000a86: SWAP1
00000a87: JUMPDEST
00000a88: DUP2
00000a89: PUSH0
00000a8a: SWAP1
00000a8b: SLOAD
00000a8c: SWAP1
00000a8d: PUSH2 0x0100
00000a90: EXP
00000a91: SWAP1
00000a92: DIV
00000a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aa8: AND
00000aa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000abe: AND
00000abf: DUP2
00000ac0: MSTORE
00000ac1: PUSH1 0x20
00000ac3: ADD
00000ac4: SWAP1
00000ac5: PUSH1 0x01
00000ac7: ADD
00000ac8: SWAP1
00000ac9: DUP1
00000aca: DUP4
00000acb: GT
00000acc: PUSH2 0x0a87
00000acf: JUMPI
00000ad0: JUMPDEST
00000ad1: POP
00000ad2: POP
00000ad3: POP
00000ad4: POP
00000ad5: POP
00000ad6: DUP2
00000ad7: MSTORE
00000ad8: PUSH1 0x20
00000ada: ADD
00000adb: PUSH1 0x01
00000add: DUP3
00000ade: ADD
00000adf: PUSH0
00000ae0: SWAP1
00000ae1: SLOAD
00000ae2: SWAP1
00000ae3: PUSH2 0x0100
00000ae6: EXP
00000ae7: SWAP1
00000ae8: DIV
00000ae9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000afe: AND
00000aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b14: AND
00000b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b2a: AND
00000b2b: DUP2
00000b2c: MSTORE
00000b2d: PUSH1 0x20
00000b2f: ADD
00000b30: PUSH1 0x02
00000b32: DUP3
00000b33: ADD
00000b34: SLOAD
00000b35: DUP2
00000b36: MSTORE
00000b37: PUSH1 0x20
00000b39: ADD
00000b3a: PUSH1 0x03
00000b3c: DUP3
00000b3d: ADD
00000b3e: SLOAD
00000b3f: DUP2
00000b40: MSTORE
00000b41: PUSH1 0x20
00000b43: ADD
00000b44: PUSH1 0x04
00000b46: DUP3
00000b47: ADD
00000b48: SLOAD
00000b49: DUP2
00000b4a: MSTORE
00000b4b: PUSH1 0x20
00000b4d: ADD
00000b4e: PUSH1 0x05
00000b50: DUP3
00000b51: ADD
00000b52: DUP1
00000b53: SLOAD
00000b54: DUP1
00000b55: PUSH1 0x20
00000b57: MUL
00000b58: PUSH1 0x20
00000b5a: ADD
00000b5b: PUSH1 0x40
00000b5d: MLOAD
00000b5e: SWAP1
00000b5f: DUP2
00000b60: ADD
00000b61: PUSH1 0x40
00000b63: MSTORE
00000b64: DUP1
00000b65: SWAP3
00000b66: SWAP2
00000b67: SWAP1
00000b68: DUP2
00000b69: DUP2
00000b6a: MSTORE
00000b6b: PUSH1 0x20
00000b6d: ADD
00000b6e: DUP3
00000b6f: DUP1
00000b70: SLOAD
00000b71: DUP1
00000b72: ISZERO
00000b73: PUSH2 0x0bce
00000b76: JUMPI
00000b77: PUSH1 0x20
00000b79: MUL
00000b7a: DUP3
00000b7b: ADD
00000b7c: SWAP2
00000b7d: SWAP1
00000b7e: PUSH0
00000b7f: MSTORE
00000b80: PUSH1 0x20
00000b82: PUSH0
00000b83: KECCAK256
00000b84: SWAP1
00000b85: JUMPDEST
00000b86: DUP2
00000b87: PUSH0
00000b88: SWAP1
00000b89: SLOAD
00000b8a: SWAP1
00000b8b: PUSH2 0x0100
00000b8e: EXP
00000b8f: SWAP1
00000b90: DIV
00000b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba6: AND
00000ba7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bbc: AND
00000bbd: DUP2
00000bbe: MSTORE
00000bbf: PUSH1 0x20
00000bc1: ADD
00000bc2: SWAP1
00000bc3: PUSH1 0x01
00000bc5: ADD
00000bc6: SWAP1
00000bc7: DUP1
00000bc8: DUP4
00000bc9: GT
00000bca: PUSH2 0x0b85
00000bcd: JUMPI
00000bce: JUMPDEST
00000bcf: POP
00000bd0: POP
00000bd1: POP
00000bd2: POP
00000bd3: POP
00000bd4: DUP2
00000bd5: MSTORE
00000bd6: PUSH1 0x20
00000bd8: ADD
00000bd9: PUSH1 0x06
00000bdb: DUP3
00000bdc: ADD
00000bdd: SLOAD
00000bde: DUP2
00000bdf: MSTORE
00000be0: POP
00000be1: POP
00000be2: SWAP2
00000be3: POP
00000be4: POP
00000be5: SWAP1
00000be6: JUMP
00000be7: JUMPDEST
00000be8: PUSH0
00000be9: DUP1
00000bea: JUMPDEST
00000beb: PUSH1 0x20
00000bed: DUP1
00000bee: SLOAD
00000bef: SWAP1
00000bf0: POP
00000bf1: DUP2
00000bf2: LT
00000bf3: ISZERO
00000bf4: PUSH2 0x0c7b
00000bf7: JUMPI
00000bf8: CALLER
00000bf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c0e: AND
00000c0f: PUSH1 0x20
00000c11: DUP3
00000c12: DUP2
00000c13: SLOAD
00000c14: DUP2
00000c15: LT
00000c16: PUSH2 0x0c22
00000c19: JUMPI
00000c1a: PUSH2 0x0c21
00000c1d: PUSH2 0x4226
00000c20: JUMP
00000c21: JUMPDEST
00000c22: JUMPDEST
00000c23: SWAP1
00000c24: PUSH0
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: PUSH0
00000c29: KECCAK256
00000c2a: ADD
00000c2b: PUSH0
00000c2c: SWAP1
00000c2d: SLOAD
00000c2e: SWAP1
00000c2f: PUSH2 0x0100
00000c32: EXP
00000c33: SWAP1
00000c34: DIV
00000c35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c4a: AND
00000c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c60: AND
00000c61: SUB
00000c62: PUSH2 0x0c6e
00000c65: JUMPI
00000c66: PUSH1 0x01
00000c68: SWAP2
00000c69: POP
00000c6a: PUSH2 0x0c7b
00000c6d: JUMP
00000c6e: JUMPDEST
00000c6f: DUP1
00000c70: DUP1
00000c71: PUSH1 0x01
00000c73: ADD
00000c74: SWAP2
00000c75: POP
00000c76: POP
00000c77: PUSH2 0x0bea
00000c7a: JUMP
00000c7b: JUMPDEST
00000c7c: POP
00000c7d: DUP1
00000c7e: PUSH2 0x0cbc
00000c81: JUMPI
00000c82: PUSH1 0x40
00000c84: MLOAD
00000c85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ca6: DUP2
00000ca7: MSTORE
00000ca8: PUSH1 0x04
00000caa: ADD
00000cab: PUSH2 0x0cb3
00000cae: SWAP1
00000caf: PUSH2 0x42ad
00000cb2: JUMP
00000cb3: JUMPDEST
00000cb4: PUSH1 0x40
00000cb6: MLOAD
00000cb7: DUP1
00000cb8: SWAP2
00000cb9: SUB
00000cba: SWAP1
00000cbb: REVERT
00000cbc: JUMPDEST
00000cbd: PUSH0
00000cbe: PUSH1 0x02
00000cc0: PUSH8 0xffffffffffffffff
00000cc9: DUP2
00000cca: GT
00000ccb: ISZERO
00000ccc: PUSH2 0x0cd8
00000ccf: JUMPI
00000cd0: PUSH2 0x0cd7
00000cd3: PUSH2 0x42cb
00000cd6: JUMP
00000cd7: JUMPDEST
00000cd8: JUMPDEST
00000cd9: PUSH1 0x40
00000cdb: MLOAD
00000cdc: SWAP1
00000cdd: DUP1
00000cde: DUP3
00000cdf: MSTORE
00000ce0: DUP1
00000ce1: PUSH1 0x20
00000ce3: MUL
00000ce4: PUSH1 0x20
00000ce6: ADD
00000ce7: DUP3
00000ce8: ADD
00000ce9: PUSH1 0x40
00000ceb: MSTORE
00000cec: DUP1
00000ced: ISZERO
00000cee: PUSH2 0x0d06
00000cf1: JUMPI
00000cf2: DUP2
00000cf3: PUSH1 0x20
00000cf5: ADD
00000cf6: PUSH1 0x20
00000cf8: DUP3
00000cf9: MUL
00000cfa: DUP1
00000cfb: CALLDATASIZE
00000cfc: DUP4
00000cfd: CALLDATACOPY
00000cfe: DUP1
00000cff: DUP3
00000d00: ADD
00000d01: SWAP2
00000d02: POP
00000d03: POP
00000d04: SWAP1
00000d05: POP
00000d06: JUMPDEST
00000d07: POP
00000d08: SWAP1
00000d09: POP
00000d0a: PUSH0
00000d0b: DUP1
00000d0c: SLOAD
00000d0d: SWAP1
00000d0e: PUSH2 0x0100
00000d11: EXP
00000d12: SWAP1
00000d13: DIV
00000d14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d29: AND
00000d2a: DUP2
00000d2b: PUSH0
00000d2c: DUP2
00000d2d: MLOAD
00000d2e: DUP2
00000d2f: LT
00000d30: PUSH2 0x0d3c
00000d33: JUMPI
00000d34: PUSH2 0x0d3b
00000d37: PUSH2 0x4226
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: JUMPDEST
00000d3d: PUSH1 0x20
00000d3f: MUL
00000d40: PUSH1 0x20
00000d42: ADD
00000d43: ADD
00000d44: SWAP1
00000d45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d5a: AND
00000d5b: SWAP1
00000d5c: DUP2
00000d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d72: AND
00000d73: DUP2
00000d74: MSTORE
00000d75: POP
00000d76: POP
00000d77: DUP7
00000d78: DUP2
00000d79: PUSH1 0x01
00000d7b: DUP2
00000d7c: MLOAD
00000d7d: DUP2
00000d7e: LT
00000d7f: PUSH2 0x0d8b
00000d82: JUMPI
00000d83: PUSH2 0x0d8a
00000d86: PUSH2 0x4226
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: JUMPDEST
00000d8c: PUSH1 0x20
00000d8e: MUL
00000d8f: PUSH1 0x20
00000d91: ADD
00000d92: ADD
00000d93: SWAP1
00000d94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000da9: AND
00000daa: SWAP1
00000dab: DUP2
00000dac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dc1: AND
00000dc2: DUP2
00000dc3: MSTORE
00000dc4: POP
00000dc5: POP
00000dc6: PUSH1 0x40
00000dc8: MLOAD
00000dc9: DUP1
00000dca: PUSH1 0xe0
00000dcc: ADD
00000dcd: PUSH1 0x40
00000dcf: MSTORE
00000dd0: DUP1
00000dd1: DUP11
00000dd2: DUP11
00000dd3: DUP1
00000dd4: DUP1
00000dd5: PUSH1 0x20
00000dd7: MUL
00000dd8: PUSH1 0x20
00000dda: ADD
00000ddb: PUSH1 0x40
00000ddd: MLOAD
00000dde: SWAP1
00000ddf: DUP2
00000de0: ADD
00000de1: PUSH1 0x40
00000de3: MSTORE
00000de4: DUP1
00000de5: SWAP4
00000de6: SWAP3
00000de7: SWAP2
00000de8: SWAP1
00000de9: DUP2
00000dea: DUP2
00000deb: MSTORE
00000dec: PUSH1 0x20
00000dee: ADD
00000def: DUP4
00000df0: DUP4
00000df1: PUSH1 0x20
00000df3: MUL
00000df4: DUP1
00000df5: DUP3
00000df6: DUP5
00000df7: CALLDATACOPY
00000df8: PUSH0
00000df9: DUP2
00000dfa: DUP5
00000dfb: ADD
00000dfc: MSTORE
00000dfd: PUSH1 0x1f
00000dff: NOT
00000e00: PUSH1 0x1f
00000e02: DUP3
00000e03: ADD
00000e04: AND
00000e05: SWAP1
00000e06: POP
00000e07: DUP1
00000e08: DUP4
00000e09: ADD
00000e0a: SWAP3
00000e0b: POP
00000e0c: POP
00000e0d: POP
00000e0e: POP
00000e0f: POP
00000e10: POP
00000e11: POP
00000e12: DUP2
00000e13: MSTORE
00000e14: PUSH1 0x20
00000e16: ADD
00000e17: DUP9
00000e18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e2d: AND
00000e2e: DUP2
00000e2f: MSTORE
00000e30: PUSH1 0x20
00000e32: ADD
00000e33: DUP8
00000e34: DUP2
00000e35: MSTORE
00000e36: PUSH1 0x20
00000e38: ADD
00000e39: DUP7
00000e3a: DUP2
00000e3b: MSTORE
00000e3c: PUSH1 0x20
00000e3e: ADD
00000e3f: DUP6
00000e40: DUP2
00000e41: MSTORE
00000e42: PUSH1 0x20
00000e44: ADD
00000e45: DUP3
00000e46: DUP2
00000e47: MSTORE
00000e48: PUSH1 0x20
00000e4a: ADD
00000e4b: DUP5
00000e4c: DUP2
00000e4d: MSTORE
00000e4e: POP
00000e4f: PUSH1 0x12
00000e51: PUSH0
00000e52: DUP3
00000e53: ADD
00000e54: MLOAD
00000e55: DUP2
00000e56: PUSH0
00000e57: ADD
00000e58: SWAP1
00000e59: DUP1
00000e5a: MLOAD
00000e5b: SWAP1
00000e5c: PUSH1 0x20
00000e5e: ADD
00000e5f: SWAP1
00000e60: PUSH2 0x0e6a
00000e63: SWAP3
00000e64: SWAP2
00000e65: SWAP1
00000e66: PUSH2 0x39eb
00000e69: JUMP
00000e6a: JUMPDEST
00000e6b: POP
00000e6c: PUSH1 0x20
00000e6e: DUP3
00000e6f: ADD
00000e70: MLOAD
00000e71: DUP2
00000e72: PUSH1 0x01
00000e74: ADD
00000e75: PUSH0
00000e76: PUSH2 0x0100
00000e79: EXP
00000e7a: DUP2
00000e7b: SLOAD
00000e7c: DUP2
00000e7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e92: MUL
00000e93: NOT
00000e94: AND
00000e95: SWAP1
00000e96: DUP4
00000e97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eac: AND
00000ead: MUL
00000eae: OR
00000eaf: SWAP1
00000eb0: SSTORE
00000eb1: POP
00000eb2: PUSH1 0x40
00000eb4: DUP3
00000eb5: ADD
00000eb6: MLOAD
00000eb7: DUP2
00000eb8: PUSH1 0x02
00000eba: ADD
00000ebb: SSTORE
00000ebc: PUSH1 0x60
00000ebe: DUP3
00000ebf: ADD
00000ec0: MLOAD
00000ec1: DUP2
00000ec2: PUSH1 0x03
00000ec4: ADD
00000ec5: SSTORE
00000ec6: PUSH1 0x80
00000ec8: DUP3
00000ec9: ADD
00000eca: MLOAD
00000ecb: DUP2
00000ecc: PUSH1 0x04
00000ece: ADD
00000ecf: SSTORE
00000ed0: PUSH1 0xa0
00000ed2: DUP3
00000ed3: ADD
00000ed4: MLOAD
00000ed5: DUP2
00000ed6: PUSH1 0x05
00000ed8: ADD
00000ed9: SWAP1
00000eda: DUP1
00000edb: MLOAD
00000edc: SWAP1
00000edd: PUSH1 0x20
00000edf: ADD
00000ee0: SWAP1
00000ee1: PUSH2 0x0eeb
00000ee4: SWAP3
00000ee5: SWAP2
00000ee6: SWAP1
00000ee7: PUSH2 0x39eb
00000eea: JUMP
00000eeb: JUMPDEST
00000eec: POP
00000eed: PUSH1 0xc0
00000eef: DUP3
00000ef0: ADD
00000ef1: MLOAD
00000ef2: DUP2
00000ef3: PUSH1 0x06
00000ef5: ADD
00000ef6: SSTORE
00000ef7: SWAP1
00000ef8: POP
00000ef9: POP
00000efa: POP
00000efb: POP
00000efc: POP
00000efd: POP
00000efe: POP
00000eff: POP
00000f00: POP
00000f01: POP
00000f02: POP
00000f03: JUMP
00000f04: JUMPDEST
00000f05: PUSH1 0x20
00000f07: DUP2
00000f08: DUP2
00000f09: SLOAD
00000f0a: DUP2
00000f0b: LT
00000f0c: PUSH2 0x0f13
00000f0f: JUMPI
00000f10: PUSH0
00000f11: DUP1
00000f12: REVERT
00000f13: JUMPDEST
00000f14: SWAP1
00000f15: PUSH0
00000f16: MSTORE
00000f17: PUSH1 0x20
00000f19: PUSH0
00000f1a: KECCAK256
00000f1b: ADD
00000f1c: PUSH0
00000f1d: SWAP2
00000f1e: POP
00000f1f: SLOAD
00000f20: SWAP1
00000f21: PUSH2 0x0100
00000f24: EXP
00000f25: SWAP1
00000f26: DIV
00000f27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f3c: AND
00000f3d: DUP2
00000f3e: JUMP
00000f3f: JUMPDEST
00000f40: PUSH2 0x0f47
00000f43: PUSH2 0x3ac0
00000f46: JUMP
00000f47: JUMPDEST
00000f48: PUSH0
00000f49: DUP1
00000f4a: JUMPDEST
00000f4b: PUSH1 0x20
00000f4d: DUP1
00000f4e: SLOAD
00000f4f: SWAP1
00000f50: POP
00000f51: DUP2
00000f52: LT
00000f53: ISZERO
00000f54: PUSH2 0x0fdb
00000f57: JUMPI
00000f58: CALLER
00000f59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f6e: AND
00000f6f: PUSH1 0x20
00000f71: DUP3
00000f72: DUP2
00000f73: SLOAD
00000f74: DUP2
00000f75: LT
00000f76: PUSH2 0x0f82
00000f79: JUMPI
00000f7a: PUSH2 0x0f81
00000f7d: PUSH2 0x4226
00000f80: JUMP
00000f81: JUMPDEST
00000f82: JUMPDEST
00000f83: SWAP1
00000f84: PUSH0
00000f85: MSTORE
00000f86: PUSH1 0x20
00000f88: PUSH0
00000f89: KECCAK256
00000f8a: ADD
00000f8b: PUSH0
00000f8c: SWAP1
00000f8d: SLOAD
00000f8e: SWAP1
00000f8f: PUSH2 0x0100
00000f92: EXP
00000f93: SWAP1
00000f94: DIV
00000f95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000faa: AND
00000fab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fc0: AND
00000fc1: SUB
00000fc2: PUSH2 0x0fce
00000fc5: JUMPI
00000fc6: PUSH1 0x01
00000fc8: SWAP2
00000fc9: POP
00000fca: PUSH2 0x0fdb
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: DUP1
00000fd0: DUP1
00000fd1: PUSH1 0x01
00000fd3: ADD
00000fd4: SWAP2
00000fd5: POP
00000fd6: POP
00000fd7: PUSH2 0x0f4a
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: POP
00000fdd: DUP1
00000fde: PUSH2 0x101c
00000fe1: JUMPI
00000fe2: PUSH1 0x40
00000fe4: MLOAD
00000fe5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001006: DUP2
00001007: MSTORE
00001008: PUSH1 0x04
0000100a: ADD
0000100b: PUSH2 0x1013
0000100e: SWAP1
0000100f: PUSH2 0x42ad
00001012: JUMP
00001013: JUMPDEST
00001014: PUSH1 0x40
00001016: MLOAD
00001017: DUP1
00001018: SWAP2
00001019: SUB
0000101a: SWAP1
0000101b: REVERT
0000101c: JUMPDEST
0000101d: PUSH1 0x0b
0000101f: PUSH1 0x40
00001021: MLOAD
00001022: DUP1
00001023: PUSH1 0xe0
00001025: ADD
00001026: PUSH1 0x40
00001028: MSTORE
00001029: SWAP1
0000102a: DUP2
0000102b: PUSH0
0000102c: DUP3
0000102d: ADD
0000102e: DUP1
0000102f: SLOAD
00001030: DUP1
00001031: PUSH1 0x20
00001033: MUL
00001034: PUSH1 0x20
00001036: ADD
00001037: PUSH1 0x40
00001039: MLOAD
0000103a: SWAP1
0000103b: DUP2
0000103c: ADD
0000103d: PUSH1 0x40
0000103f: MSTORE
00001040: DUP1
00001041: SWAP3
00001042: SWAP2
00001043: SWAP1
00001044: DUP2
00001045: DUP2
00001046: MSTORE
00001047: PUSH1 0x20
00001049: ADD
0000104a: DUP3
0000104b: DUP1
0000104c: SLOAD
0000104d: DUP1
0000104e: ISZERO
0000104f: PUSH2 0x10aa
00001052: JUMPI
00001053: PUSH1 0x20
00001055: MUL
00001056: DUP3
00001057: ADD
00001058: SWAP2
00001059: SWAP1
0000105a: PUSH0
0000105b: MSTORE
0000105c: PUSH1 0x20
0000105e: PUSH0
0000105f: KECCAK256
00001060: SWAP1
00001061: JUMPDEST
00001062: DUP2
00001063: PUSH0
00001064: SWAP1
00001065: SLOAD
00001066: SWAP1
00001067: PUSH2 0x0100
0000106a: EXP
0000106b: SWAP1
0000106c: DIV
0000106d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001082: AND
00001083: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001098: AND
00001099: DUP2
0000109a: MSTORE
0000109b: PUSH1 0x20
0000109d: ADD
0000109e: SWAP1
0000109f: PUSH1 0x01
000010a1: ADD
000010a2: SWAP1
000010a3: DUP1
000010a4: DUP4
000010a5: GT
000010a6: PUSH2 0x1061
000010a9: JUMPI
000010aa: JUMPDEST
000010ab: POP
000010ac: POP
000010ad: POP
000010ae: POP
000010af: POP
000010b0: DUP2
000010b1: MSTORE
000010b2: PUSH1 0x20
000010b4: ADD
000010b5: PUSH1 0x01
000010b7: DUP3
000010b8: ADD
000010b9: PUSH0
000010ba: SWAP1
000010bb: SLOAD
000010bc: SWAP1
000010bd: PUSH2 0x0100
000010c0: EXP
000010c1: SWAP1
000010c2: DIV
000010c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010d8: AND
000010d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ee: AND
000010ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001104: AND
00001105: DUP2
00001106: MSTORE
00001107: PUSH1 0x20
00001109: ADD
0000110a: PUSH1 0x02
0000110c: DUP3
0000110d: ADD
0000110e: SLOAD
0000110f: DUP2
00001110: MSTORE
00001111: PUSH1 0x20
00001113: ADD
00001114: PUSH1 0x03
00001116: DUP3
00001117: ADD
00001118: SLOAD
00001119: DUP2
0000111a: MSTORE
0000111b: PUSH1 0x20
0000111d: ADD
0000111e: PUSH1 0x04
00001120: DUP3
00001121: ADD
00001122: SLOAD
00001123: DUP2
00001124: MSTORE
00001125: PUSH1 0x20
00001127: ADD
00001128: PUSH1 0x05
0000112a: DUP3
0000112b: ADD
0000112c: DUP1
0000112d: SLOAD
0000112e: DUP1
0000112f: PUSH1 0x20
00001131: MUL
00001132: PUSH1 0x20
00001134: ADD
00001135: PUSH1 0x40
00001137: MLOAD
00001138: SWAP1
00001139: DUP2
0000113a: ADD
0000113b: PUSH1 0x40
0000113d: MSTORE
0000113e: DUP1
0000113f: SWAP3
00001140: SWAP2
00001141: SWAP1
00001142: DUP2
00001143: DUP2
00001144: MSTORE
00001145: PUSH1 0x20
00001147: ADD
00001148: DUP3
00001149: DUP1
0000114a: SLOAD
0000114b: DUP1
0000114c: ISZERO
0000114d: PUSH2 0x11a8
00001150: JUMPI
00001151: PUSH1 0x20
00001153: MUL
00001154: DUP3
00001155: ADD
00001156: SWAP2
00001157: SWAP1
00001158: PUSH0
00001159: MSTORE
0000115a: PUSH1 0x20
0000115c: PUSH0
0000115d: KECCAK256
0000115e: SWAP1
0000115f: JUMPDEST
00001160: DUP2
00001161: PUSH0
00001162: SWAP1
00001163: SLOAD
00001164: SWAP1
00001165: PUSH2 0x0100
00001168: EXP
00001169: SWAP1
0000116a: DIV
0000116b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001180: AND
00001181: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001196: AND
00001197: DUP2
00001198: MSTORE
00001199: PUSH1 0x20
0000119b: ADD
0000119c: SWAP1
0000119d: PUSH1 0x01
0000119f: ADD
000011a0: SWAP1
000011a1: DUP1
000011a2: DUP4
000011a3: GT
000011a4: PUSH2 0x115f
000011a7: JUMPI
000011a8: JUMPDEST
000011a9: POP
000011aa: POP
000011ab: POP
000011ac: POP
000011ad: POP
000011ae: DUP2
000011af: MSTORE
000011b0: PUSH1 0x20
000011b2: ADD
000011b3: PUSH1 0x06
000011b5: DUP3
000011b6: ADD
000011b7: SLOAD
000011b8: DUP2
000011b9: MSTORE
000011ba: POP
000011bb: POP
000011bc: SWAP2
000011bd: POP
000011be: POP
000011bf: SWAP1
000011c0: JUMP
000011c1: JUMPDEST
000011c2: CALLER
000011c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d8: AND
000011d9: PUSH1 0x21
000011db: PUSH0
000011dc: SWAP1
000011dd: SLOAD
000011de: SWAP1
000011df: PUSH2 0x0100
000011e2: EXP
000011e3: SWAP1
000011e4: DIV
000011e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011fa: AND
000011fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001210: AND
00001211: EQ
00001212: PUSH2 0x1250
00001215: JUMPI
00001216: PUSH1 0x40
00001218: MLOAD
00001219: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000123a: DUP2
0000123b: MSTORE
0000123c: PUSH1 0x04
0000123e: ADD
0000123f: PUSH2 0x1247
00001242: SWAP1
00001243: PUSH2 0x4381
00001246: JUMP
00001247: JUMPDEST
00001248: PUSH1 0x40
0000124a: MLOAD
0000124b: DUP1
0000124c: SWAP2
0000124d: SUB
0000124e: SWAP1
0000124f: REVERT
00001250: JUMPDEST
00001251: PUSH0
00001252: JUMPDEST
00001253: PUSH1 0x20
00001255: DUP1
00001256: SLOAD
00001257: SWAP1
00001258: POP
00001259: DUP2
0000125a: LT
0000125b: ISZERO
0000125c: PUSH2 0x13c9
0000125f: JUMPI
00001260: DUP2
00001261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001276: AND
00001277: PUSH1 0x20
00001279: DUP3
0000127a: DUP2
0000127b: SLOAD
0000127c: DUP2
0000127d: LT
0000127e: PUSH2 0x128a
00001281: JUMPI
00001282: PUSH2 0x1289
00001285: PUSH2 0x4226
00001288: JUMP
00001289: JUMPDEST
0000128a: JUMPDEST
0000128b: SWAP1
0000128c: PUSH0
0000128d: MSTORE
0000128e: PUSH1 0x20
00001290: PUSH0
00001291: KECCAK256
00001292: ADD
00001293: PUSH0
00001294: SWAP1
00001295: SLOAD
00001296: SWAP1
00001297: PUSH2 0x0100
0000129a: EXP
0000129b: SWAP1
0000129c: DIV
0000129d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b2: AND
000012b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c8: AND
000012c9: SUB
000012ca: PUSH2 0x13bc
000012cd: JUMPI
000012ce: PUSH1 0x20
000012d0: PUSH1 0x01
000012d2: PUSH1 0x20
000012d4: DUP1
000012d5: SLOAD
000012d6: SWAP1
000012d7: POP
000012d8: PUSH2 0x12e1
000012db: SWAP2
000012dc: SWAP1
000012dd: PUSH2 0x440b
000012e0: JUMP
000012e1: JUMPDEST
000012e2: DUP2
000012e3: SLOAD
000012e4: DUP2
000012e5: LT
000012e6: PUSH2 0x12f2
000012e9: JUMPI
000012ea: PUSH2 0x12f1
000012ed: PUSH2 0x4226
000012f0: JUMP
000012f1: JUMPDEST
000012f2: JUMPDEST
000012f3: SWAP1
000012f4: PUSH0
000012f5: MSTORE
000012f6: PUSH1 0x20
000012f8: PUSH0
000012f9: KECCAK256
000012fa: ADD
000012fb: PUSH0
000012fc: SWAP1
000012fd: SLOAD
000012fe: SWAP1
000012ff: PUSH2 0x0100
00001302: EXP
00001303: SWAP1
00001304: DIV
00001305: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000131a: AND
0000131b: PUSH1 0x20
0000131d: DUP3
0000131e: DUP2
0000131f: SLOAD
00001320: DUP2
00001321: LT
00001322: PUSH2 0x132e
00001325: JUMPI
00001326: PUSH2 0x132d
00001329: PUSH2 0x4226
0000132c: JUMP
0000132d: JUMPDEST
0000132e: JUMPDEST
0000132f: SWAP1
00001330: PUSH0
00001331: MSTORE
00001332: PUSH1 0x20
00001334: PUSH0
00001335: KECCAK256
00001336: ADD
00001337: PUSH0
00001338: PUSH2 0x0100
0000133b: EXP
0000133c: DUP2
0000133d: SLOAD
0000133e: DUP2
0000133f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001354: MUL
00001355: NOT
00001356: AND
00001357: SWAP1
00001358: DUP4
00001359: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000136e: AND
0000136f: MUL
00001370: OR
00001371: SWAP1
00001372: SSTORE
00001373: POP
00001374: PUSH1 0x20
00001376: DUP1
00001377: SLOAD
00001378: DUP1
00001379: PUSH2 0x1385
0000137c: JUMPI
0000137d: PUSH2 0x1384
00001380: PUSH2 0x443e
00001383: JUMP
00001384: JUMPDEST
00001385: JUMPDEST
00001386: PUSH1 0x01
00001388: SWAP1
00001389: SUB
0000138a: DUP2
0000138b: DUP2
0000138c: SWAP1
0000138d: PUSH0
0000138e: MSTORE
0000138f: PUSH1 0x20
00001391: PUSH0
00001392: KECCAK256
00001393: ADD
00001394: PUSH0
00001395: PUSH2 0x0100
00001398: EXP
00001399: DUP2
0000139a: SLOAD
0000139b: SWAP1
0000139c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b1: MUL
000013b2: NOT
000013b3: AND
000013b4: SWAP1
000013b5: SSTORE
000013b6: SWAP1
000013b7: SSTORE
000013b8: PUSH2 0x13c9
000013bb: JUMP
000013bc: JUMPDEST
000013bd: DUP1
000013be: DUP1
000013bf: PUSH1 0x01
000013c1: ADD
000013c2: SWAP2
000013c3: POP
000013c4: POP
000013c5: PUSH2 0x1252
000013c8: JUMP
000013c9: JUMPDEST
000013ca: POP
000013cb: POP
000013cc: JUMP
000013cd: JUMPDEST
000013ce: PUSH2 0x13d5
000013d1: PUSH2 0x3b0e
000013d4: JUMP
000013d5: JUMPDEST
000013d6: PUSH0
000013d7: DUP1
000013d8: JUMPDEST
000013d9: PUSH1 0x20
000013db: DUP1
000013dc: SLOAD
000013dd: SWAP1
000013de: POP
000013df: DUP2
000013e0: LT
000013e1: ISZERO
000013e2: PUSH2 0x1469
000013e5: JUMPI
000013e6: CALLER
000013e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013fc: AND
000013fd: PUSH1 0x20
000013ff: DUP3
00001400: DUP2
00001401: SLOAD
00001402: DUP2
00001403: LT
00001404: PUSH2 0x1410
00001407: JUMPI
00001408: PUSH2 0x140f
0000140b: PUSH2 0x4226
0000140e: JUMP
0000140f: JUMPDEST
00001410: JUMPDEST
00001411: SWAP1
00001412: PUSH0
00001413: MSTORE
00001414: PUSH1 0x20
00001416: PUSH0
00001417: KECCAK256
00001418: ADD
00001419: PUSH0
0000141a: SWAP1
0000141b: SLOAD
0000141c: SWAP1
0000141d: PUSH2 0x0100
00001420: EXP
00001421: SWAP1
00001422: DIV
00001423: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001438: AND
00001439: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000144e: AND
0000144f: SUB
00001450: PUSH2 0x145c
00001453: JUMPI
00001454: PUSH1 0x01
00001456: SWAP2
00001457: POP
00001458: PUSH2 0x1469
0000145b: JUMP
0000145c: JUMPDEST
0000145d: DUP1
0000145e: DUP1
0000145f: PUSH1 0x01
00001461: ADD
00001462: SWAP2
00001463: POP
00001464: POP
00001465: PUSH2 0x13d8
00001468: JUMP
00001469: JUMPDEST
0000146a: POP
0000146b: DUP1
0000146c: PUSH2 0x14aa
0000146f: JUMPI
00001470: PUSH1 0x40
00001472: MLOAD
00001473: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001494: DUP2
00001495: MSTORE
00001496: PUSH1 0x04
00001498: ADD
00001499: PUSH2 0x14a1
0000149c: SWAP1
0000149d: PUSH2 0x42ad
000014a0: JUMP
000014a1: JUMPDEST
000014a2: PUSH1 0x40
000014a4: MLOAD
000014a5: DUP1
000014a6: SWAP2
000014a7: SUB
000014a8: SWAP1
000014a9: REVERT
000014aa: JUMPDEST
000014ab: PUSH1 0x19
000014ad: PUSH1 0x40
000014af: MLOAD
000014b0: DUP1
000014b1: PUSH1 0xe0
000014b3: ADD
000014b4: PUSH1 0x40
000014b6: MSTORE
000014b7: SWAP1
000014b8: DUP2
000014b9: PUSH0
000014ba: DUP3
000014bb: ADD
000014bc: DUP1
000014bd: SLOAD
000014be: DUP1
000014bf: PUSH1 0x20
000014c1: MUL
000014c2: PUSH1 0x20
000014c4: ADD
000014c5: PUSH1 0x40
000014c7: MLOAD
000014c8: SWAP1
000014c9: DUP2
000014ca: ADD
000014cb: PUSH1 0x40
000014cd: MSTORE
000014ce: DUP1
000014cf: SWAP3
000014d0: SWAP2
000014d1: SWAP1
000014d2: DUP2
000014d3: DUP2
000014d4: MSTORE
000014d5: PUSH1 0x20
000014d7: ADD
000014d8: DUP3
000014d9: DUP1
000014da: SLOAD
000014db: DUP1
000014dc: ISZERO
000014dd: PUSH2 0x1538
000014e0: JUMPI
000014e1: PUSH1 0x20
000014e3: MUL
000014e4: DUP3
000014e5: ADD
000014e6: SWAP2
000014e7: SWAP1
000014e8: PUSH0
000014e9: MSTORE
000014ea: PUSH1 0x20
000014ec: PUSH0
000014ed: KECCAK256
000014ee: SWAP1
000014ef: JUMPDEST
000014f0: DUP2
000014f1: PUSH0
000014f2: SWAP1
000014f3: SLOAD
000014f4: SWAP1
000014f5: PUSH2 0x0100
000014f8: EXP
000014f9: SWAP1
000014fa: DIV
000014fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001510: AND
00001511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001526: AND
00001527: DUP2
00001528: MSTORE
00001529: PUSH1 0x20
0000152b: ADD
0000152c: SWAP1
0000152d: PUSH1 0x01
0000152f: ADD
00001530: SWAP1
00001531: DUP1
00001532: DUP4
00001533: GT
00001534: PUSH2 0x14ef
00001537: JUMPI
00001538: JUMPDEST
00001539: POP
0000153a: POP
0000153b: POP
0000153c: POP
0000153d: POP
0000153e: DUP2
0000153f: MSTORE
00001540: PUSH1 0x20
00001542: ADD
00001543: PUSH1 0x01
00001545: DUP3
00001546: ADD
00001547: PUSH0
00001548: SWAP1
00001549: SLOAD
0000154a: SWAP1
0000154b: PUSH2 0x0100
0000154e: EXP
0000154f: SWAP1
00001550: DIV
00001551: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001566: AND
00001567: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000157c: AND
0000157d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001592: AND
00001593: DUP2
00001594: MSTORE
00001595: PUSH1 0x20
00001597: ADD
00001598: PUSH1 0x02
0000159a: DUP3
0000159b: ADD
0000159c: SLOAD
0000159d: DUP2
0000159e: MSTORE
0000159f: PUSH1 0x20
000015a1: ADD
000015a2: PUSH1 0x03
000015a4: DUP3
000015a5: ADD
000015a6: SLOAD
000015a7: DUP2
000015a8: MSTORE
000015a9: PUSH1 0x20
000015ab: ADD
000015ac: PUSH1 0x04
000015ae: DUP3
000015af: ADD
000015b0: SLOAD
000015b1: DUP2
000015b2: MSTORE
000015b3: PUSH1 0x20
000015b5: ADD
000015b6: PUSH1 0x05
000015b8: DUP3
000015b9: ADD
000015ba: DUP1
000015bb: SLOAD
000015bc: DUP1
000015bd: PUSH1 0x20
000015bf: MUL
000015c0: PUSH1 0x20
000015c2: ADD
000015c3: PUSH1 0x40
000015c5: MLOAD
000015c6: SWAP1
000015c7: DUP2
000015c8: ADD
000015c9: PUSH1 0x40
000015cb: MSTORE
000015cc: DUP1
000015cd: SWAP3
000015ce: SWAP2
000015cf: SWAP1
000015d0: DUP2
000015d1: DUP2
000015d2: MSTORE
000015d3: PUSH1 0x20
000015d5: ADD
000015d6: DUP3
000015d7: DUP1
000015d8: SLOAD
000015d9: DUP1
000015da: ISZERO
000015db: PUSH2 0x1636
000015de: JUMPI
000015df: PUSH1 0x20
000015e1: MUL
000015e2: DUP3
000015e3: ADD
000015e4: SWAP2
000015e5: SWAP1
000015e6: PUSH0
000015e7: MSTORE
000015e8: PUSH1 0x20
000015ea: PUSH0
000015eb: KECCAK256
000015ec: SWAP1
000015ed: JUMPDEST
000015ee: DUP2
000015ef: PUSH0
000015f0: SWAP1
000015f1: SLOAD
000015f2: SWAP1
000015f3: PUSH2 0x0100
000015f6: EXP
000015f7: SWAP1
000015f8: DIV
000015f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000160e: AND
0000160f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001624: AND
00001625: DUP2
00001626: MSTORE
00001627: PUSH1 0x20
00001629: ADD
0000162a: SWAP1
0000162b: PUSH1 0x01
0000162d: ADD
0000162e: SWAP1
0000162f: DUP1
00001630: DUP4
00001631: GT
00001632: PUSH2 0x15ed
00001635: JUMPI
00001636: JUMPDEST
00001637: POP
00001638: POP
00001639: POP
0000163a: POP
0000163b: POP
0000163c: DUP2
0000163d: MSTORE
0000163e: PUSH1 0x20
00001640: ADD
00001641: PUSH1 0x06
00001643: DUP3
00001644: ADD
00001645: SLOAD
00001646: DUP2
00001647: MSTORE
00001648: POP
00001649: POP
0000164a: SWAP2
0000164b: POP
0000164c: POP
0000164d: SWAP1
0000164e: JUMP
0000164f: JUMPDEST
00001650: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00001671: DUP2
00001672: JUMP
00001673: JUMPDEST
00001674: PUSH0
00001675: DUP1
00001676: JUMPDEST
00001677: PUSH1 0x20
00001679: DUP1
0000167a: SLOAD
0000167b: SWAP1
0000167c: POP
0000167d: DUP2
0000167e: LT
0000167f: ISZERO
00001680: PUSH2 0x1707
00001683: JUMPI
00001684: CALLER
00001685: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000169a: AND
0000169b: PUSH1 0x20
0000169d: DUP3
0000169e: DUP2
0000169f: SLOAD
000016a0: DUP2
000016a1: LT
000016a2: PUSH2 0x16ae
000016a5: JUMPI
000016a6: PUSH2 0x16ad
000016a9: PUSH2 0x4226
000016ac: JUMP
000016ad: JUMPDEST
000016ae: JUMPDEST
000016af: SWAP1
000016b0: PUSH0
000016b1: MSTORE
000016b2: PUSH1 0x20
000016b4: PUSH0
000016b5: KECCAK256
000016b6: ADD
000016b7: PUSH0
000016b8: SWAP1
000016b9: SLOAD
000016ba: SWAP1
000016bb: PUSH2 0x0100
000016be: EXP
000016bf: SWAP1
000016c0: DIV
000016c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016d6: AND
000016d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016ec: AND
000016ed: SUB
000016ee: PUSH2 0x16fa
000016f1: JUMPI
000016f2: PUSH1 0x01
000016f4: SWAP2
000016f5: POP
000016f6: PUSH2 0x1707
000016f9: JUMP
000016fa: JUMPDEST
000016fb: DUP1
000016fc: DUP1
000016fd: PUSH1 0x01
000016ff: ADD
00001700: SWAP2
00001701: POP
00001702: POP
00001703: PUSH2 0x1676
00001706: JUMP
00001707: JUMPDEST
00001708: POP
00001709: DUP1
0000170a: PUSH2 0x1748
0000170d: JUMPI
0000170e: PUSH1 0x40
00001710: MLOAD
00001711: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001732: DUP2
00001733: MSTORE
00001734: PUSH1 0x04
00001736: ADD
00001737: PUSH2 0x173f
0000173a: SWAP1
0000173b: PUSH2 0x42ad
0000173e: JUMP
0000173f: JUMPDEST
00001740: PUSH1 0x40
00001742: MLOAD
00001743: DUP1
00001744: SWAP2
00001745: SUB
00001746: SWAP1
00001747: REVERT
00001748: JUMPDEST
00001749: PUSH0
0000174a: JUMPDEST
0000174b: PUSH1 0x0b
0000174d: PUSH0
0000174e: ADD
0000174f: DUP1
00001750: SLOAD
00001751: SWAP1
00001752: POP
00001753: DUP2
00001754: LT
00001755: ISZERO
00001756: PUSH2 0x1857
00001759: JUMPI
0000175a: PUSH1 0x03
0000175c: PUSH0
0000175d: SWAP1
0000175e: SLOAD
0000175f: SWAP1
00001760: PUSH2 0x0100
00001763: EXP
00001764: SWAP1
00001765: DIV
00001766: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000177b: AND
0000177c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001791: AND
00001792: PUSH4 0x8803dbee
00001797: PUSH1 0x0b
00001799: PUSH1 0x02
0000179b: ADD
0000179c: SLOAD
0000179d: PUSH1 0x0b
0000179f: PUSH1 0x03
000017a1: ADD
000017a2: SLOAD
000017a3: PUSH1 0x0b
000017a5: PUSH1 0x05
000017a7: ADD
000017a8: PUSH1 0x0b
000017aa: PUSH0
000017ab: ADD
000017ac: DUP7
000017ad: DUP2
000017ae: SLOAD
000017af: DUP2
000017b0: LT
000017b1: PUSH2 0x17bd
000017b4: JUMPI
000017b5: PUSH2 0x17bc
000017b8: PUSH2 0x4226
000017bb: JUMP
000017bc: JUMPDEST
000017bd: JUMPDEST
000017be: SWAP1
000017bf: PUSH0
000017c0: MSTORE
000017c1: PUSH1 0x20
000017c3: PUSH0
000017c4: KECCAK256
000017c5: ADD
000017c6: PUSH0
000017c7: SWAP1
000017c8: SLOAD
000017c9: SWAP1
000017ca: PUSH2 0x0100
000017cd: EXP
000017ce: SWAP1
000017cf: DIV
000017d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017e5: AND
000017e6: TIMESTAMP
000017e7: PUSH1 0x40
000017e9: MLOAD
000017ea: DUP7
000017eb: PUSH4 0xffffffff
000017f0: AND
000017f1: PUSH1 0xe0
000017f3: SHL
000017f4: DUP2
000017f5: MSTORE
000017f6: PUSH1 0x04
000017f8: ADD
000017f9: PUSH2 0x1806
000017fc: SWAP6
000017fd: SWAP5
000017fe: SWAP4
000017ff: SWAP3
00001800: SWAP2
00001801: SWAP1
00001802: PUSH2 0x456a
00001805: JUMP
00001806: JUMPDEST
00001807: PUSH0
00001808: PUSH1 0x40
0000180a: MLOAD
0000180b: DUP1
0000180c: DUP4
0000180d: SUB
0000180e: DUP2
0000180f: PUSH0
00001810: DUP8
00001811: GAS
00001812: CALL
00001813: SWAP3
00001814: POP
00001815: POP
00001816: POP
00001817: DUP1
00001818: ISZERO
00001819: PUSH2 0x1844
0000181c: JUMPI
0000181d: POP
0000181e: PUSH1 0x40
00001820: MLOAD
00001821: RETURNDATASIZE
00001822: PUSH0
00001823: DUP3
00001824: RETURNDATACOPY
00001825: RETURNDATASIZE
00001826: PUSH1 0x1f
00001828: NOT
00001829: PUSH1 0x1f
0000182b: DUP3
0000182c: ADD
0000182d: AND
0000182e: DUP3
0000182f: ADD
00001830: DUP1
00001831: PUSH1 0x40
00001833: MSTORE
00001834: POP
00001835: DUP2
00001836: ADD
00001837: SWAP1
00001838: PUSH2 0x1841
0000183b: SWAP2
0000183c: SWAP1
0000183d: PUSH2 0x46dd
00001840: JUMP
00001841: JUMPDEST
00001842: PUSH1 0x01
00001844: JUMPDEST
00001845: ISZERO
00001846: PUSH2 0x1857
00001849: JUMPI
0000184a: POP
0000184b: DUP1
0000184c: DUP1
0000184d: PUSH1 0x01
0000184f: ADD
00001850: SWAP2
00001851: POP
00001852: POP
00001853: PUSH2 0x174a
00001856: JUMP
00001857: JUMPDEST
00001858: PUSH1 0x0b
0000185a: PUSH1 0x06
0000185c: ADD
0000185d: SLOAD
0000185e: DUP2
0000185f: LT
00001860: ISZERO
00001861: PUSH2 0x189f
00001864: JUMPI
00001865: PUSH1 0x40
00001867: MLOAD
00001868: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001889: DUP2
0000188a: MSTORE
0000188b: PUSH1 0x04
0000188d: ADD
0000188e: PUSH2 0x1896
00001891: SWAP1
00001892: PUSH2 0x476e
00001895: JUMP
00001896: JUMPDEST
00001897: PUSH1 0x40
00001899: MLOAD
0000189a: DUP1
0000189b: SWAP2
0000189c: SUB
0000189d: SWAP1
0000189e: REVERT
0000189f: JUMPDEST
000018a0: PUSH0
000018a1: PUSH1 0x0b
000018a3: PUSH1 0x04
000018a5: ADD
000018a6: SLOAD
000018a7: GT
000018a8: ISZERO
000018a9: PUSH2 0x1966
000018ac: JUMPI
000018ad: COINBASE
000018ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c3: AND
000018c4: PUSH1 0x0b
000018c6: PUSH1 0x04
000018c8: ADD
000018c9: SLOAD
000018ca: PUSH0
000018cb: PUSH8 0xffffffffffffffff
000018d4: DUP2
000018d5: GT
000018d6: ISZERO
000018d7: PUSH2 0x18e3
000018da: JUMPI
000018db: PUSH2 0x18e2
000018de: PUSH2 0x42cb
000018e1: JUMP
000018e2: JUMPDEST
000018e3: JUMPDEST
000018e4: PUSH1 0x40
000018e6: MLOAD
000018e7: SWAP1
000018e8: DUP1
000018e9: DUP3
000018ea: MSTORE
000018eb: DUP1
000018ec: PUSH1 0x1f
000018ee: ADD
000018ef: PUSH1 0x1f
000018f1: NOT
000018f2: AND
000018f3: PUSH1 0x20
000018f5: ADD
000018f6: DUP3
000018f7: ADD
000018f8: PUSH1 0x40
000018fa: MSTORE
000018fb: DUP1
000018fc: ISZERO
000018fd: PUSH2 0x1915
00001900: JUMPI
00001901: DUP2
00001902: PUSH1 0x20
00001904: ADD
00001905: PUSH1 0x01
00001907: DUP3
00001908: MUL
00001909: DUP1
0000190a: CALLDATASIZE
0000190b: DUP4
0000190c: CALLDATACOPY
0000190d: DUP1
0000190e: DUP3
0000190f: ADD
00001910: SWAP2
00001911: POP
00001912: POP
00001913: SWAP1
00001914: POP
00001915: JUMPDEST
00001916: POP
00001917: PUSH1 0x40
00001919: MLOAD
0000191a: PUSH2 0x1923
0000191d: SWAP2
0000191e: SWAP1
0000191f: PUSH2 0x47de
00001922: JUMP
00001923: JUMPDEST
00001924: PUSH0
00001925: PUSH1 0x40
00001927: MLOAD
00001928: DUP1
00001929: DUP4
0000192a: SUB
0000192b: DUP2
0000192c: DUP6
0000192d: DUP8
0000192e: GAS
0000192f: CALL
00001930: SWAP3
00001931: POP
00001932: POP
00001933: POP
00001934: RETURNDATASIZE
00001935: DUP1
00001936: PUSH0
00001937: DUP2
00001938: EQ
00001939: PUSH2 0x195d
0000193c: JUMPI
0000193d: PUSH1 0x40
0000193f: MLOAD
00001940: SWAP2
00001941: POP
00001942: PUSH1 0x1f
00001944: NOT
00001945: PUSH1 0x3f
00001947: RETURNDATASIZE
00001948: ADD
00001949: AND
0000194a: DUP3
0000194b: ADD
0000194c: PUSH1 0x40
0000194e: MSTORE
0000194f: RETURNDATASIZE
00001950: DUP3
00001951: MSTORE
00001952: RETURNDATASIZE
00001953: PUSH0
00001954: PUSH1 0x20
00001956: DUP5
00001957: ADD
00001958: RETURNDATACOPY
00001959: PUSH2 0x1962
0000195c: JUMP
0000195d: JUMPDEST
0000195e: PUSH1 0x60
00001960: SWAP2
00001961: POP
00001962: JUMPDEST
00001963: POP
00001964: POP
00001965: POP
00001966: JUMPDEST
00001967: PUSH1 0x60
00001969: PUSH1 0x40
0000196b: MLOAD
0000196c: DUP1
0000196d: PUSH1 0xe0
0000196f: ADD
00001970: PUSH1 0x40
00001972: MSTORE
00001973: DUP1
00001974: DUP3
00001975: DUP2
00001976: MSTORE
00001977: PUSH1 0x20
00001979: ADD
0000197a: PUSH0
0000197b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001990: AND
00001991: DUP2
00001992: MSTORE
00001993: PUSH1 0x20
00001995: ADD
00001996: PUSH0
00001997: DUP2
00001998: MSTORE
00001999: PUSH1 0x20
0000199b: ADD
0000199c: PUSH0
0000199d: DUP2
0000199e: MSTORE
0000199f: PUSH1 0x20
000019a1: ADD
000019a2: PUSH0
000019a3: DUP2
000019a4: MSTORE
000019a5: PUSH1 0x20
000019a7: ADD
000019a8: DUP3
000019a9: DUP2
000019aa: MSTORE
000019ab: PUSH1 0x20
000019ad: ADD
000019ae: PUSH1 0x01
000019b0: DUP2
000019b1: MSTORE
000019b2: POP
000019b3: PUSH1 0x0b
000019b5: PUSH0
000019b6: DUP3
000019b7: ADD
000019b8: MLOAD
000019b9: DUP2
000019ba: PUSH0
000019bb: ADD
000019bc: SWAP1
000019bd: DUP1
000019be: MLOAD
000019bf: SWAP1
000019c0: PUSH1 0x20
000019c2: ADD
000019c3: SWAP1
000019c4: PUSH2 0x19ce
000019c7: SWAP3
000019c8: SWAP2
000019c9: SWAP1
000019ca: PUSH2 0x39eb
000019cd: JUMP
000019ce: JUMPDEST
000019cf: POP
000019d0: PUSH1 0x20
000019d2: DUP3
000019d3: ADD
000019d4: MLOAD
000019d5: DUP2
000019d6: PUSH1 0x01
000019d8: ADD
000019d9: PUSH0
000019da: PUSH2 0x0100
000019dd: EXP
000019de: DUP2
000019df: SLOAD
000019e0: DUP2
000019e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019f6: MUL
000019f7: NOT
000019f8: AND
000019f9: SWAP1
000019fa: DUP4
000019fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a10: AND
00001a11: MUL
00001a12: OR
00001a13: SWAP1
00001a14: SSTORE
00001a15: POP
00001a16: PUSH1 0x40
00001a18: DUP3
00001a19: ADD
00001a1a: MLOAD
00001a1b: DUP2
00001a1c: PUSH1 0x02
00001a1e: ADD
00001a1f: SSTORE
00001a20: PUSH1 0x60
00001a22: DUP3
00001a23: ADD
00001a24: MLOAD
00001a25: DUP2
00001a26: PUSH1 0x03
00001a28: ADD
00001a29: SSTORE
00001a2a: PUSH1 0x80
00001a2c: DUP3
00001a2d: ADD
00001a2e: MLOAD
00001a2f: DUP2
00001a30: PUSH1 0x04
00001a32: ADD
00001a33: SSTORE
00001a34: PUSH1 0xa0
00001a36: DUP3
00001a37: ADD
00001a38: MLOAD
00001a39: DUP2
00001a3a: PUSH1 0x05
00001a3c: ADD
00001a3d: SWAP1
00001a3e: DUP1
00001a3f: MLOAD
00001a40: SWAP1
00001a41: PUSH1 0x20
00001a43: ADD
00001a44: SWAP1
00001a45: PUSH2 0x1a4f
00001a48: SWAP3
00001a49: SWAP2
00001a4a: SWAP1
00001a4b: PUSH2 0x39eb
00001a4e: JUMP
00001a4f: JUMPDEST
00001a50: POP
00001a51: PUSH1 0xc0
00001a53: DUP3
00001a54: ADD
00001a55: MLOAD
00001a56: DUP2
00001a57: PUSH1 0x06
00001a59: ADD
00001a5a: SSTORE
00001a5b: SWAP1
00001a5c: POP
00001a5d: POP
00001a5e: POP
00001a5f: POP
00001a60: POP
00001a61: JUMP
00001a62: JUMPDEST
00001a63: PUSH0
00001a64: DUP1
00001a65: JUMPDEST
00001a66: PUSH1 0x20
00001a68: DUP1
00001a69: SLOAD
00001a6a: SWAP1
00001a6b: POP
00001a6c: DUP2
00001a6d: LT
00001a6e: ISZERO
00001a6f: PUSH2 0x1af6
00001a72: JUMPI
00001a73: CALLER
00001a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a89: AND
00001a8a: PUSH1 0x20
00001a8c: DUP3
00001a8d: DUP2
00001a8e: SLOAD
00001a8f: DUP2
00001a90: LT
00001a91: PUSH2 0x1a9d
00001a94: JUMPI
00001a95: PUSH2 0x1a9c
00001a98: PUSH2 0x4226
00001a9b: JUMP
00001a9c: JUMPDEST
00001a9d: JUMPDEST
00001a9e: SWAP1
00001a9f: PUSH0
00001aa0: MSTORE
00001aa1: PUSH1 0x20
00001aa3: PUSH0
00001aa4: KECCAK256
00001aa5: ADD
00001aa6: PUSH0
00001aa7: SWAP1
00001aa8: SLOAD
00001aa9: SWAP1
00001aaa: PUSH2 0x0100
00001aad: EXP
00001aae: SWAP1
00001aaf: DIV
00001ab0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ac5: AND
00001ac6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001adb: AND
00001adc: SUB
00001add: PUSH2 0x1ae9
00001ae0: JUMPI
00001ae1: PUSH1 0x01
00001ae3: SWAP2
00001ae4: POP
00001ae5: PUSH2 0x1af6
00001ae8: JUMP
00001ae9: JUMPDEST
00001aea: DUP1
00001aeb: DUP1
00001aec: PUSH1 0x01
00001aee: ADD
00001aef: SWAP2
00001af0: POP
00001af1: POP
00001af2: PUSH2 0x1a65
00001af5: JUMP
00001af6: JUMPDEST
00001af7: POP
00001af8: DUP1
00001af9: PUSH2 0x1b37
00001afc: JUMPI
00001afd: PUSH1 0x40
00001aff: MLOAD
00001b00: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001b21: DUP2
00001b22: MSTORE
00001b23: PUSH1 0x04
00001b25: ADD
00001b26: PUSH2 0x1b2e
00001b29: SWAP1
00001b2a: PUSH2 0x42ad
00001b2d: JUMP
00001b2e: JUMPDEST
00001b2f: PUSH1 0x40
00001b31: MLOAD
00001b32: DUP1
00001b33: SWAP2
00001b34: SUB
00001b35: SWAP1
00001b36: REVERT
00001b37: JUMPDEST
00001b38: PUSH0
00001b39: DUP1
00001b3a: JUMPDEST
00001b3b: PUSH1 0x22
00001b3d: DUP1
00001b3e: SLOAD
00001b3f: SWAP1
00001b40: POP
00001b41: DUP2
00001b42: PUSH2 0xffff
00001b45: AND
00001b46: LT
00001b47: ISZERO
00001b48: PUSH2 0x1e0e
00001b4b: JUMPI
00001b4c: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00001b6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b82: AND
00001b83: PUSH4 0x04e45aaf
00001b88: PUSH1 0x40
00001b8a: MLOAD
00001b8b: DUP1
00001b8c: PUSH1 0xe0
00001b8e: ADD
00001b8f: PUSH1 0x40
00001b91: MSTORE
00001b92: DUP1
00001b93: PUSH0
00001b94: DUP1
00001b95: SLOAD
00001b96: SWAP1
00001b97: PUSH2 0x0100
00001b9a: EXP
00001b9b: SWAP1
00001b9c: DIV
00001b9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bb2: AND
00001bb3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bc8: AND
00001bc9: DUP2
00001bca: MSTORE
00001bcb: PUSH1 0x20
00001bcd: ADD
00001bce: PUSH1 0x12
00001bd0: PUSH1 0x01
00001bd2: ADD
00001bd3: PUSH0
00001bd4: SWAP1
00001bd5: SLOAD
00001bd6: SWAP1
00001bd7: PUSH2 0x0100
00001bda: EXP
00001bdb: SWAP1
00001bdc: DIV
00001bdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf2: AND
00001bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c08: AND
00001c09: DUP2
00001c0a: MSTORE
00001c0b: PUSH1 0x20
00001c0d: ADD
00001c0e: PUSH1 0x22
00001c10: DUP6
00001c11: PUSH2 0xffff
00001c14: AND
00001c15: DUP2
00001c16: SLOAD
00001c17: DUP2
00001c18: LT
00001c19: PUSH2 0x1c25
00001c1c: JUMPI
00001c1d: PUSH2 0x1c24
00001c20: PUSH2 0x4226
00001c23: JUMP
00001c24: JUMPDEST
00001c25: JUMPDEST
00001c26: SWAP1
00001c27: PUSH0
00001c28: MSTORE
00001c29: PUSH1 0x20
00001c2b: PUSH0
00001c2c: KECCAK256
00001c2d: SWAP1
00001c2e: PUSH1 0x10
00001c30: SWAP2
00001c31: DUP3
00001c32: DUP3
00001c33: DIV
00001c34: ADD
00001c35: SWAP2
00001c36: SWAP1
00001c37: MOD
00001c38: PUSH1 0x02
00001c3a: MUL
00001c3b: SWAP1
00001c3c: SLOAD
00001c3d: SWAP1
00001c3e: PUSH2 0x0100
00001c41: EXP
00001c42: SWAP1
00001c43: DIV
00001c44: PUSH2 0xffff
00001c47: AND
00001c48: PUSH2 0xffff
00001c4b: AND
00001c4c: PUSH3 0xffffff
00001c50: AND
00001c51: DUP2
00001c52: MSTORE
00001c53: PUSH1 0x20
00001c55: ADD
00001c56: PUSH1 0x12
00001c58: PUSH0
00001c59: ADD
00001c5a: PUSH0
00001c5b: DUP2
00001c5c: SLOAD
00001c5d: DUP2
00001c5e: LT
00001c5f: PUSH2 0x1c6b
00001c62: JUMPI
00001c63: PUSH2 0x1c6a
00001c66: PUSH2 0x4226
00001c69: JUMP
00001c6a: JUMPDEST
00001c6b: JUMPDEST
00001c6c: SWAP1
00001c6d: PUSH0
00001c6e: MSTORE
00001c6f: PUSH1 0x20
00001c71: PUSH0
00001c72: KECCAK256
00001c73: ADD
00001c74: PUSH0
00001c75: SWAP1
00001c76: SLOAD
00001c77: SWAP1
00001c78: PUSH2 0x0100
00001c7b: EXP
00001c7c: SWAP1
00001c7d: DIV
00001c7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c93: AND
00001c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ca9: AND
00001caa: DUP2
00001cab: MSTORE
00001cac: PUSH1 0x20
00001cae: ADD
00001caf: PUSH1 0x12
00001cb1: PUSH1 0x02
00001cb3: ADD
00001cb4: SLOAD
00001cb5: DUP2
00001cb6: MSTORE
00001cb7: PUSH1 0x20
00001cb9: ADD
00001cba: PUSH1 0x12
00001cbc: PUSH1 0x03
00001cbe: ADD
00001cbf: SLOAD
00001cc0: DUP2
00001cc1: MSTORE
00001cc2: PUSH1 0x20
00001cc4: ADD
00001cc5: PUSH0
00001cc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cdb: AND
00001cdc: DUP2
00001cdd: MSTORE
00001cde: POP
00001cdf: PUSH1 0x40
00001ce1: MLOAD
00001ce2: DUP3
00001ce3: PUSH4 0xffffffff
00001ce8: AND
00001ce9: PUSH1 0xe0
00001ceb: SHL
00001cec: DUP2
00001ced: MSTORE
00001cee: PUSH1 0x04
00001cf0: ADD
00001cf1: PUSH2 0x1cfa
00001cf4: SWAP2
00001cf5: SWAP1
00001cf6: PUSH2 0x48ac
00001cf9: JUMP
00001cfa: JUMPDEST
00001cfb: PUSH1 0x20
00001cfd: PUSH1 0x40
00001cff: MLOAD
00001d00: DUP1
00001d01: DUP4
00001d02: SUB
00001d03: DUP2
00001d04: PUSH0
00001d05: DUP8
00001d06: GAS
00001d07: CALL
00001d08: SWAP3
00001d09: POP
00001d0a: POP
00001d0b: POP
00001d0c: DUP1
00001d0d: ISZERO
00001d0e: PUSH2 0x1d35
00001d11: JUMPI
00001d12: POP
00001d13: PUSH1 0x40
00001d15: MLOAD
00001d16: RETURNDATASIZE
00001d17: PUSH1 0x1f
00001d19: NOT
00001d1a: PUSH1 0x1f
00001d1c: DUP3
00001d1d: ADD
00001d1e: AND
00001d1f: DUP3
00001d20: ADD
00001d21: DUP1
00001d22: PUSH1 0x40
00001d24: MSTORE
00001d25: POP
00001d26: DUP2
00001d27: ADD
00001d28: SWAP1
00001d29: PUSH2 0x1d32
00001d2c: SWAP2
00001d2d: SWAP1
00001d2e: PUSH2 0x43b3
00001d31: JUMP
00001d32: JUMPDEST
00001d33: PUSH1 0x01
00001d35: JUMPDEST
00001d36: ISZERO
00001d37: PUSH2 0x1dfb
00001d3a: JUMPI
00001d3b: POP
00001d3c: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00001d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d72: AND
00001d73: PUSH4 0x12210e8a
00001d78: PUSH1 0x40
00001d7a: MLOAD
00001d7b: DUP2
00001d7c: PUSH4 0xffffffff
00001d81: AND
00001d82: PUSH1 0xe0
00001d84: SHL
00001d85: DUP2
00001d86: MSTORE
00001d87: PUSH1 0x04
00001d89: ADD
00001d8a: PUSH0
00001d8b: PUSH1 0x40
00001d8d: MLOAD
00001d8e: DUP1
00001d8f: DUP4
00001d90: SUB
00001d91: DUP2
00001d92: PUSH0
00001d93: DUP8
00001d94: DUP1
00001d95: EXTCODESIZE
00001d96: ISZERO
00001d97: DUP1
00001d98: ISZERO
00001d99: PUSH2 0x1da0
00001d9c: JUMPI
00001d9d: PUSH0
00001d9e: DUP1
00001d9f: REVERT
00001da0: JUMPDEST
00001da1: POP
00001da2: GAS
00001da3: CALL
00001da4: ISZERO
00001da5: DUP1
00001da6: ISZERO
00001da7: PUSH2 0x1db2
00001daa: JUMPI
00001dab: RETURNDATASIZE
00001dac: PUSH0
00001dad: DUP1
00001dae: RETURNDATACOPY
00001daf: RETURNDATASIZE
00001db0: PUSH0
00001db1: REVERT
00001db2: JUMPDEST
00001db3: POP
00001db4: POP
00001db5: POP
00001db6: POP
00001db7: PUSH1 0x22
00001db9: DUP2
00001dba: PUSH2 0xffff
00001dbd: AND
00001dbe: DUP2
00001dbf: SLOAD
00001dc0: DUP2
00001dc1: LT
00001dc2: PUSH2 0x1dce
00001dc5: JUMPI
00001dc6: PUSH2 0x1dcd
00001dc9: PUSH2 0x4226
00001dcc: JUMP
00001dcd: JUMPDEST
00001dce: JUMPDEST
00001dcf: SWAP1
00001dd0: PUSH0
00001dd1: MSTORE
00001dd2: PUSH1 0x20
00001dd4: PUSH0
00001dd5: KECCAK256
00001dd6: SWAP1
00001dd7: PUSH1 0x10
00001dd9: SWAP2
00001dda: DUP3
00001ddb: DUP3
00001ddc: DIV
00001ddd: ADD
00001dde: SWAP2
00001ddf: SWAP1
00001de0: MOD
00001de1: PUSH1 0x02
00001de3: MUL
00001de4: SWAP1
00001de5: SLOAD
00001de6: SWAP1
00001de7: PUSH2 0x0100
00001dea: EXP
00001deb: SWAP1
00001dec: DIV
00001ded: PUSH2 0xffff
00001df0: AND
00001df1: PUSH2 0xffff
00001df4: AND
00001df5: SWAP2
00001df6: POP
00001df7: PUSH2 0x1e0e
00001dfa: JUMP
00001dfb: JUMPDEST
00001dfc: DUP1
00001dfd: DUP1
00001dfe: PUSH2 0x1e06
00001e01: SWAP1
00001e02: PUSH2 0x48d2
00001e05: JUMP
00001e06: JUMPDEST
00001e07: SWAP2
00001e08: POP
00001e09: POP
00001e0a: PUSH2 0x1b3a
00001e0d: JUMP
00001e0e: JUMPDEST
00001e0f: POP
00001e10: PUSH0
00001e11: DUP2
00001e12: PUSH3 0xffffff
00001e16: AND
00001e17: SUB
00001e18: PUSH2 0x1e1f
00001e1b: JUMPI
00001e1c: PUSH0
00001e1d: DUP1
00001e1e: REVERT
00001e1f: JUMPDEST
00001e20: PUSH0
00001e21: PUSH1 0x01
00001e23: SWAP1
00001e24: POP
00001e25: JUMPDEST
00001e26: PUSH1 0x12
00001e28: PUSH0
00001e29: ADD
00001e2a: DUP1
00001e2b: SLOAD
00001e2c: SWAP1
00001e2d: POP
00001e2e: DUP2
00001e2f: LT
00001e30: ISZERO
00001e31: PUSH2 0x206f
00001e34: JUMPI
00001e35: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00001e56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e6b: AND
00001e6c: PUSH4 0x04e45aaf
00001e71: PUSH1 0x40
00001e73: MLOAD
00001e74: DUP1
00001e75: PUSH1 0xe0
00001e77: ADD
00001e78: PUSH1 0x40
00001e7a: MSTORE
00001e7b: DUP1
00001e7c: PUSH0
00001e7d: DUP1
00001e7e: SLOAD
00001e7f: SWAP1
00001e80: PUSH2 0x0100
00001e83: EXP
00001e84: SWAP1
00001e85: DIV
00001e86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e9b: AND
00001e9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eb1: AND
00001eb2: DUP2
00001eb3: MSTORE
00001eb4: PUSH1 0x20
00001eb6: ADD
00001eb7: PUSH1 0x12
00001eb9: PUSH1 0x01
00001ebb: ADD
00001ebc: PUSH0
00001ebd: SWAP1
00001ebe: SLOAD
00001ebf: SWAP1
00001ec0: PUSH2 0x0100
00001ec3: EXP
00001ec4: SWAP1
00001ec5: DIV
00001ec6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001edb: AND
00001edc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef1: AND
00001ef2: DUP2
00001ef3: MSTORE
00001ef4: PUSH1 0x20
00001ef6: ADD
00001ef7: DUP6
00001ef8: PUSH3 0xffffff
00001efc: AND
00001efd: DUP2
00001efe: MSTORE
00001eff: PUSH1 0x20
00001f01: ADD
00001f02: PUSH1 0x12
00001f04: PUSH0
00001f05: ADD
00001f06: DUP6
00001f07: DUP2
00001f08: SLOAD
00001f09: DUP2
00001f0a: LT
00001f0b: PUSH2 0x1f17
00001f0e: JUMPI
00001f0f: PUSH2 0x1f16
00001f12: PUSH2 0x4226
00001f15: JUMP
00001f16: JUMPDEST
00001f17: JUMPDEST
00001f18: SWAP1
00001f19: PUSH0
00001f1a: MSTORE
00001f1b: PUSH1 0x20
00001f1d: PUSH0
00001f1e: KECCAK256
00001f1f: ADD
00001f20: PUSH0
00001f21: SWAP1
00001f22: SLOAD
00001f23: SWAP1
00001f24: PUSH2 0x0100
00001f27: EXP
00001f28: SWAP1
00001f29: DIV
00001f2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f3f: AND
00001f40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f55: AND
00001f56: DUP2
00001f57: MSTORE
00001f58: PUSH1 0x20
00001f5a: ADD
00001f5b: PUSH1 0x12
00001f5d: PUSH1 0x02
00001f5f: ADD
00001f60: SLOAD
00001f61: DUP2
00001f62: MSTORE
00001f63: PUSH1 0x20
00001f65: ADD
00001f66: PUSH1 0x12
00001f68: PUSH1 0x03
00001f6a: ADD
00001f6b: SLOAD
00001f6c: DUP2
00001f6d: MSTORE
00001f6e: PUSH1 0x20
00001f70: ADD
00001f71: PUSH0
00001f72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f87: AND
00001f88: DUP2
00001f89: MSTORE
00001f8a: POP
00001f8b: PUSH1 0x40
00001f8d: MLOAD
00001f8e: DUP3
00001f8f: PUSH4 0xffffffff
00001f94: AND
00001f95: PUSH1 0xe0
00001f97: SHL
00001f98: DUP2
00001f99: MSTORE
00001f9a: PUSH1 0x04
00001f9c: ADD
00001f9d: PUSH2 0x1fa6
00001fa0: SWAP2
00001fa1: SWAP1
00001fa2: PUSH2 0x48ac
00001fa5: JUMP
00001fa6: JUMPDEST
00001fa7: PUSH1 0x20
00001fa9: PUSH1 0x40
00001fab: MLOAD
00001fac: DUP1
00001fad: DUP4
00001fae: SUB
00001faf: DUP2
00001fb0: PUSH0
00001fb1: DUP8
00001fb2: GAS
00001fb3: CALL
00001fb4: SWAP3
00001fb5: POP
00001fb6: POP
00001fb7: POP
00001fb8: DUP1
00001fb9: ISZERO
00001fba: PUSH2 0x1fe1
00001fbd: JUMPI
00001fbe: POP
00001fbf: PUSH1 0x40
00001fc1: MLOAD
00001fc2: RETURNDATASIZE
00001fc3: PUSH1 0x1f
00001fc5: NOT
00001fc6: PUSH1 0x1f
00001fc8: DUP3
00001fc9: ADD
00001fca: AND
00001fcb: DUP3
00001fcc: ADD
00001fcd: DUP1
00001fce: PUSH1 0x40
00001fd0: MSTORE
00001fd1: POP
00001fd2: DUP2
00001fd3: ADD
00001fd4: SWAP1
00001fd5: PUSH2 0x1fde
00001fd8: SWAP2
00001fd9: SWAP1
00001fda: PUSH2 0x43b3
00001fdd: JUMP
00001fde: JUMPDEST
00001fdf: PUSH1 0x01
00001fe1: JUMPDEST
00001fe2: ISZERO
00001fe3: PUSH2 0x206f
00001fe6: JUMPI
00001fe7: POP
00001fe8: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00002009: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000201e: AND
0000201f: PUSH4 0x12210e8a
00002024: PUSH1 0x40
00002026: MLOAD
00002027: DUP2
00002028: PUSH4 0xffffffff
0000202d: AND
0000202e: PUSH1 0xe0
00002030: SHL
00002031: DUP2
00002032: MSTORE
00002033: PUSH1 0x04
00002035: ADD
00002036: PUSH0
00002037: PUSH1 0x40
00002039: MLOAD
0000203a: DUP1
0000203b: DUP4
0000203c: SUB
0000203d: DUP2
0000203e: PUSH0
0000203f: DUP8
00002040: DUP1
00002041: EXTCODESIZE
00002042: ISZERO
00002043: DUP1
00002044: ISZERO
00002045: PUSH2 0x204c
00002048: JUMPI
00002049: PUSH0
0000204a: DUP1
0000204b: REVERT
0000204c: JUMPDEST
0000204d: POP
0000204e: GAS
0000204f: CALL
00002050: ISZERO
00002051: DUP1
00002052: ISZERO
00002053: PUSH2 0x205e
00002056: JUMPI
00002057: RETURNDATASIZE
00002058: PUSH0
00002059: DUP1
0000205a: RETURNDATACOPY
0000205b: RETURNDATASIZE
0000205c: PUSH0
0000205d: REVERT
0000205e: JUMPDEST
0000205f: POP
00002060: POP
00002061: POP
00002062: POP
00002063: DUP1
00002064: DUP1
00002065: PUSH1 0x01
00002067: ADD
00002068: SWAP2
00002069: POP
0000206a: POP
0000206b: PUSH2 0x1e25
0000206e: JUMP
0000206f: JUMPDEST
00002070: PUSH1 0x12
00002072: PUSH1 0x06
00002074: ADD
00002075: SLOAD
00002076: DUP2
00002077: LT
00002078: ISZERO
00002079: PUSH2 0x20b7
0000207c: JUMPI
0000207d: PUSH1 0x40
0000207f: MLOAD
00002080: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000020a1: DUP2
000020a2: MSTORE
000020a3: PUSH1 0x04
000020a5: ADD
000020a6: PUSH2 0x20ae
000020a9: SWAP1
000020aa: PUSH2 0x476e
000020ad: JUMP
000020ae: JUMPDEST
000020af: PUSH1 0x40
000020b1: MLOAD
000020b2: DUP1
000020b3: SWAP2
000020b4: SUB
000020b5: SWAP1
000020b6: REVERT
000020b7: JUMPDEST
000020b8: PUSH0
000020b9: PUSH1 0x12
000020bb: PUSH1 0x04
000020bd: ADD
000020be: SLOAD
000020bf: GT
000020c0: ISZERO
000020c1: PUSH2 0x217e
000020c4: JUMPI
000020c5: COINBASE
000020c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020db: AND
000020dc: PUSH1 0x12
000020de: PUSH1 0x04
000020e0: ADD
000020e1: SLOAD
000020e2: PUSH0
000020e3: PUSH8 0xffffffffffffffff
000020ec: DUP2
000020ed: GT
000020ee: ISZERO
000020ef: PUSH2 0x20fb
000020f2: JUMPI
000020f3: PUSH2 0x20fa
000020f6: PUSH2 0x42cb
000020f9: JUMP
000020fa: JUMPDEST
000020fb: JUMPDEST
000020fc: PUSH1 0x40
000020fe: MLOAD
000020ff: SWAP1
00002100: DUP1
00002101: DUP3
00002102: MSTORE
00002103: DUP1
00002104: PUSH1 0x1f
00002106: ADD
00002107: PUSH1 0x1f
00002109: NOT
0000210a: AND
0000210b: PUSH1 0x20
0000210d: ADD
0000210e: DUP3
0000210f: ADD
00002110: PUSH1 0x40
00002112: MSTORE
00002113: DUP1
00002114: ISZERO
00002115: PUSH2 0x212d
00002118: JUMPI
00002119: DUP2
0000211a: PUSH1 0x20
0000211c: ADD
0000211d: PUSH1 0x01
0000211f: DUP3
00002120: MUL
00002121: DUP1
00002122: CALLDATASIZE
00002123: DUP4
00002124: CALLDATACOPY
00002125: DUP1
00002126: DUP3
00002127: ADD
00002128: SWAP2
00002129: POP
0000212a: POP
0000212b: SWAP1
0000212c: POP
0000212d: JUMPDEST
0000212e: POP
0000212f: PUSH1 0x40
00002131: MLOAD
00002132: PUSH2 0x213b
00002135: SWAP2
00002136: SWAP1
00002137: PUSH2 0x47de
0000213a: JUMP
0000213b: JUMPDEST
0000213c: PUSH0
0000213d: PUSH1 0x40
0000213f: MLOAD
00002140: DUP1
00002141: DUP4
00002142: SUB
00002143: DUP2
00002144: DUP6
00002145: DUP8
00002146: GAS
00002147: CALL
00002148: SWAP3
00002149: POP
0000214a: POP
0000214b: POP
0000214c: RETURNDATASIZE
0000214d: DUP1
0000214e: PUSH0
0000214f: DUP2
00002150: EQ
00002151: PUSH2 0x2175
00002154: JUMPI
00002155: PUSH1 0x40
00002157: MLOAD
00002158: SWAP2
00002159: POP
0000215a: PUSH1 0x1f
0000215c: NOT
0000215d: PUSH1 0x3f
0000215f: RETURNDATASIZE
00002160: ADD
00002161: AND
00002162: DUP3
00002163: ADD
00002164: PUSH1 0x40
00002166: MSTORE
00002167: RETURNDATASIZE
00002168: DUP3
00002169: MSTORE
0000216a: RETURNDATASIZE
0000216b: PUSH0
0000216c: PUSH1 0x20
0000216e: DUP5
0000216f: ADD
00002170: RETURNDATACOPY
00002171: PUSH2 0x217a
00002174: JUMP
00002175: JUMPDEST
00002176: PUSH1 0x60
00002178: SWAP2
00002179: POP
0000217a: JUMPDEST
0000217b: POP
0000217c: POP
0000217d: POP
0000217e: JUMPDEST
0000217f: PUSH1 0x60
00002181: PUSH1 0x40
00002183: MLOAD
00002184: DUP1
00002185: PUSH1 0xe0
00002187: ADD
00002188: PUSH1 0x40
0000218a: MSTORE
0000218b: DUP1
0000218c: DUP3
0000218d: DUP2
0000218e: MSTORE
0000218f: PUSH1 0x20
00002191: ADD
00002192: PUSH0
00002193: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021a8: AND
000021a9: DUP2
000021aa: MSTORE
000021ab: PUSH1 0x20
000021ad: ADD
000021ae: PUSH0
000021af: DUP2
000021b0: MSTORE
000021b1: PUSH1 0x20
000021b3: ADD
000021b4: PUSH0
000021b5: DUP2
000021b6: MSTORE
000021b7: PUSH1 0x20
000021b9: ADD
000021ba: PUSH0
000021bb: DUP2
000021bc: MSTORE
000021bd: PUSH1 0x20
000021bf: ADD
000021c0: DUP3
000021c1: DUP2
000021c2: MSTORE
000021c3: PUSH1 0x20
000021c5: ADD
000021c6: PUSH1 0x01
000021c8: DUP2
000021c9: MSTORE
000021ca: POP
000021cb: PUSH1 0x12
000021cd: PUSH0
000021ce: DUP3
000021cf: ADD
000021d0: MLOAD
000021d1: DUP2
000021d2: PUSH0
000021d3: ADD
000021d4: SWAP1
000021d5: DUP1
000021d6: MLOAD
000021d7: SWAP1
000021d8: PUSH1 0x20
000021da: ADD
000021db: SWAP1
000021dc: PUSH2 0x21e6
000021df: SWAP3
000021e0: SWAP2
000021e1: SWAP1
000021e2: PUSH2 0x39eb
000021e5: JUMP
000021e6: JUMPDEST
000021e7: POP
000021e8: PUSH1 0x20
000021ea: DUP3
000021eb: ADD
000021ec: MLOAD
000021ed: DUP2
000021ee: PUSH1 0x01
000021f0: ADD
000021f1: PUSH0
000021f2: PUSH2 0x0100
000021f5: EXP
000021f6: DUP2
000021f7: SLOAD
000021f8: DUP2
000021f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000220e: MUL
0000220f: NOT
00002210: AND
00002211: SWAP1
00002212: DUP4
00002213: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002228: AND
00002229: MUL
0000222a: OR
0000222b: SWAP1
0000222c: SSTORE
0000222d: POP
0000222e: PUSH1 0x40
00002230: DUP3
00002231: ADD
00002232: MLOAD
00002233: DUP2
00002234: PUSH1 0x02
00002236: ADD
00002237: SSTORE
00002238: PUSH1 0x60
0000223a: DUP3
0000223b: ADD
0000223c: MLOAD
0000223d: DUP2
0000223e: PUSH1 0x03
00002240: ADD
00002241: SSTORE
00002242: PUSH1 0x80
00002244: DUP3
00002245: ADD
00002246: MLOAD
00002247: DUP2
00002248: PUSH1 0x04
0000224a: ADD
0000224b: SSTORE
0000224c: PUSH1 0xa0
0000224e: DUP3
0000224f: ADD
00002250: MLOAD
00002251: DUP2
00002252: PUSH1 0x05
00002254: ADD
00002255: SWAP1
00002256: DUP1
00002257: MLOAD
00002258: SWAP1
00002259: PUSH1 0x20
0000225b: ADD
0000225c: SWAP1
0000225d: PUSH2 0x2267
00002260: SWAP3
00002261: SWAP2
00002262: SWAP1
00002263: PUSH2 0x39eb
00002266: JUMP
00002267: JUMPDEST
00002268: POP
00002269: PUSH1 0xc0
0000226b: DUP3
0000226c: ADD
0000226d: MLOAD
0000226e: DUP2
0000226f: PUSH1 0x06
00002271: ADD
00002272: SSTORE
00002273: SWAP1
00002274: POP
00002275: POP
00002276: POP
00002277: POP
00002278: POP
00002279: POP
0000227a: JUMP
0000227b: JUMPDEST
0000227c: PUSH0
0000227d: DUP1
0000227e: JUMPDEST
0000227f: PUSH1 0x20
00002281: DUP1
00002282: SLOAD
00002283: SWAP1
00002284: POP
00002285: DUP2
00002286: LT
00002287: ISZERO
00002288: PUSH2 0x230f
0000228b: JUMPI
0000228c: CALLER
0000228d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022a2: AND
000022a3: PUSH1 0x20
000022a5: DUP3
000022a6: DUP2
000022a7: SLOAD
000022a8: DUP2
000022a9: LT
000022aa: PUSH2 0x22b6
000022ad: JUMPI
000022ae: PUSH2 0x22b5
000022b1: PUSH2 0x4226
000022b4: JUMP
000022b5: JUMPDEST
000022b6: JUMPDEST
000022b7: SWAP1
000022b8: PUSH0
000022b9: MSTORE
000022ba: PUSH1 0x20
000022bc: PUSH0
000022bd: KECCAK256
000022be: ADD
000022bf: PUSH0
000022c0: SWAP1
000022c1: SLOAD
000022c2: SWAP1
000022c3: PUSH2 0x0100
000022c6: EXP
000022c7: SWAP1
000022c8: DIV
000022c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022de: AND
000022df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022f4: AND
000022f5: SUB
000022f6: PUSH2 0x2302
000022f9: JUMPI
000022fa: PUSH1 0x01
000022fc: SWAP2
000022fd: POP
000022fe: PUSH2 0x230f
00002301: JUMP
00002302: JUMPDEST
00002303: DUP1
00002304: DUP1
00002305: PUSH1 0x01
00002307: ADD
00002308: SWAP2
00002309: POP
0000230a: POP
0000230b: PUSH2 0x227e
0000230e: JUMP
0000230f: JUMPDEST
00002310: POP
00002311: DUP1
00002312: PUSH2 0x2350
00002315: JUMPI
00002316: PUSH1 0x40
00002318: MLOAD
00002319: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000233a: DUP2
0000233b: MSTORE
0000233c: PUSH1 0x04
0000233e: ADD
0000233f: PUSH2 0x2347
00002342: SWAP1
00002343: PUSH2 0x42ad
00002346: JUMP
00002347: JUMPDEST
00002348: PUSH1 0x40
0000234a: MLOAD
0000234b: DUP1
0000234c: SWAP2
0000234d: SUB
0000234e: SWAP1
0000234f: REVERT
00002350: JUMPDEST
00002351: PUSH0
00002352: JUMPDEST
00002353: PUSH1 0x04
00002355: PUSH0
00002356: ADD
00002357: DUP1
00002358: SLOAD
00002359: SWAP1
0000235a: POP
0000235b: DUP2
0000235c: LT
0000235d: ISZERO
0000235e: PUSH2 0x245f
00002361: JUMPI
00002362: PUSH1 0x03
00002364: PUSH0
00002365: SWAP1
00002366: SLOAD
00002367: SWAP1
00002368: PUSH2 0x0100
0000236b: EXP
0000236c: SWAP1
0000236d: DIV
0000236e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002383: AND
00002384: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002399: AND
0000239a: PUSH4 0x38ed1739
0000239f: PUSH1 0x04
000023a1: PUSH1 0x02
000023a3: ADD
000023a4: SLOAD
000023a5: PUSH1 0x04
000023a7: PUSH1 0x03
000023a9: ADD
000023aa: SLOAD
000023ab: PUSH1 0x04
000023ad: PUSH1 0x05
000023af: ADD
000023b0: PUSH1 0x04
000023b2: PUSH0
000023b3: ADD
000023b4: DUP7
000023b5: DUP2
000023b6: SLOAD
000023b7: DUP2
000023b8: LT
000023b9: PUSH2 0x23c5
000023bc: JUMPI
000023bd: PUSH2 0x23c4
000023c0: PUSH2 0x4226
000023c3: JUMP
000023c4: JUMPDEST
000023c5: JUMPDEST
000023c6: SWAP1
000023c7: PUSH0
000023c8: MSTORE
000023c9: PUSH1 0x20
000023cb: PUSH0
000023cc: KECCAK256
000023cd: ADD
000023ce: PUSH0
000023cf: SWAP1
000023d0: SLOAD
000023d1: SWAP1
000023d2: PUSH2 0x0100
000023d5: EXP
000023d6: SWAP1
000023d7: DIV
000023d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023ed: AND
000023ee: TIMESTAMP
000023ef: PUSH1 0x40
000023f1: MLOAD
000023f2: DUP7
000023f3: PUSH4 0xffffffff
000023f8: AND
000023f9: PUSH1 0xe0
000023fb: SHL
000023fc: DUP2
000023fd: MSTORE
000023fe: PUSH1 0x04
00002400: ADD
00002401: PUSH2 0x240e
00002404: SWAP6
00002405: SWAP5
00002406: SWAP4
00002407: SWAP3
00002408: SWAP2
00002409: SWAP1
0000240a: PUSH2 0x456a
0000240d: JUMP
0000240e: JUMPDEST
0000240f: PUSH0
00002410: PUSH1 0x40
00002412: MLOAD
00002413: DUP1
00002414: DUP4
00002415: SUB
00002416: DUP2
00002417: PUSH0
00002418: DUP8
00002419: GAS
0000241a: CALL
0000241b: SWAP3
0000241c: POP
0000241d: POP
0000241e: POP
0000241f: DUP1
00002420: ISZERO
00002421: PUSH2 0x244c
00002424: JUMPI
00002425: POP
00002426: PUSH1 0x40
00002428: MLOAD
00002429: RETURNDATASIZE
0000242a: PUSH0
0000242b: DUP3
0000242c: RETURNDATACOPY
0000242d: RETURNDATASIZE
0000242e: PUSH1 0x1f
00002430: NOT
00002431: PUSH1 0x1f
00002433: DUP3
00002434: ADD
00002435: AND
00002436: DUP3
00002437: ADD
00002438: DUP1
00002439: PUSH1 0x40
0000243b: MSTORE
0000243c: POP
0000243d: DUP2
0000243e: ADD
0000243f: SWAP1
00002440: PUSH2 0x2449
00002443: SWAP2
00002444: SWAP1
00002445: PUSH2 0x46dd
00002448: JUMP
00002449: JUMPDEST
0000244a: PUSH1 0x01
0000244c: JUMPDEST
0000244d: ISZERO
0000244e: PUSH2 0x245f
00002451: JUMPI
00002452: POP
00002453: DUP1
00002454: DUP1
00002455: PUSH1 0x01
00002457: ADD
00002458: SWAP2
00002459: POP
0000245a: POP
0000245b: PUSH2 0x2352
0000245e: JUMP
0000245f: JUMPDEST
00002460: PUSH1 0x04
00002462: PUSH1 0x06
00002464: ADD
00002465: SLOAD
00002466: DUP2
00002467: LT
00002468: ISZERO
00002469: PUSH2 0x24a7
0000246c: JUMPI
0000246d: PUSH1 0x40
0000246f: MLOAD
00002470: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002491: DUP2
00002492: MSTORE
00002493: PUSH1 0x04
00002495: ADD
00002496: PUSH2 0x249e
00002499: SWAP1
0000249a: PUSH2 0x476e
0000249d: JUMP
0000249e: JUMPDEST
0000249f: PUSH1 0x40
000024a1: MLOAD
000024a2: DUP1
000024a3: SWAP2
000024a4: SUB
000024a5: SWAP1
000024a6: REVERT
000024a7: JUMPDEST
000024a8: PUSH0
000024a9: PUSH1 0x04
000024ab: DUP1
000024ac: ADD
000024ad: SLOAD
000024ae: GT
000024af: ISZERO
000024b0: PUSH2 0x256c
000024b3: JUMPI
000024b4: COINBASE
000024b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024ca: AND
000024cb: PUSH1 0x04
000024cd: DUP1
000024ce: ADD
000024cf: SLOAD
000024d0: PUSH0
000024d1: PUSH8 0xffffffffffffffff
000024da: DUP2
000024db: GT
000024dc: ISZERO
000024dd: PUSH2 0x24e9
000024e0: JUMPI
000024e1: PUSH2 0x24e8
000024e4: PUSH2 0x42cb
000024e7: JUMP
000024e8: JUMPDEST
000024e9: JUMPDEST
000024ea: PUSH1 0x40
000024ec: MLOAD
000024ed: SWAP1
000024ee: DUP1
000024ef: DUP3
000024f0: MSTORE
000024f1: DUP1
000024f2: PUSH1 0x1f
000024f4: ADD
000024f5: PUSH1 0x1f
000024f7: NOT
000024f8: AND
000024f9: PUSH1 0x20
000024fb: ADD
000024fc: DUP3
000024fd: ADD
000024fe: PUSH1 0x40
00002500: MSTORE
00002501: DUP1
00002502: ISZERO
00002503: PUSH2 0x251b
00002506: JUMPI
00002507: DUP2
00002508: PUSH1 0x20
0000250a: ADD
0000250b: PUSH1 0x01
0000250d: DUP3
0000250e: MUL
0000250f: DUP1
00002510: CALLDATASIZE
00002511: DUP4
00002512: CALLDATACOPY
00002513: DUP1
00002514: DUP3
00002515: ADD
00002516: SWAP2
00002517: POP
00002518: POP
00002519: SWAP1
0000251a: POP
0000251b: JUMPDEST
0000251c: POP
0000251d: PUSH1 0x40
0000251f: MLOAD
00002520: PUSH2 0x2529
00002523: SWAP2
00002524: SWAP1
00002525: PUSH2 0x47de
00002528: JUMP
00002529: JUMPDEST
0000252a: PUSH0
0000252b: PUSH1 0x40
0000252d: MLOAD
0000252e: DUP1
0000252f: DUP4
00002530: SUB
00002531: DUP2
00002532: DUP6
00002533: DUP8
00002534: GAS
00002535: CALL
00002536: SWAP3
00002537: POP
00002538: POP
00002539: POP
0000253a: RETURNDATASIZE
0000253b: DUP1
0000253c: PUSH0
0000253d: DUP2
0000253e: EQ
0000253f: PUSH2 0x2563
00002542: JUMPI
00002543: PUSH1 0x40
00002545: MLOAD
00002546: SWAP2
00002547: POP
00002548: PUSH1 0x1f
0000254a: NOT
0000254b: PUSH1 0x3f
0000254d: RETURNDATASIZE
0000254e: ADD
0000254f: AND
00002550: DUP3
00002551: ADD
00002552: PUSH1 0x40
00002554: MSTORE
00002555: RETURNDATASIZE
00002556: DUP3
00002557: MSTORE
00002558: RETURNDATASIZE
00002559: PUSH0
0000255a: PUSH1 0x20
0000255c: DUP5
0000255d: ADD
0000255e: RETURNDATACOPY
0000255f: PUSH2 0x2568
00002562: JUMP
00002563: JUMPDEST
00002564: PUSH1 0x60
00002566: SWAP2
00002567: POP
00002568: JUMPDEST
00002569: POP
0000256a: POP
0000256b: POP
0000256c: JUMPDEST
0000256d: PUSH1 0x60
0000256f: PUSH1 0x40
00002571: MLOAD
00002572: DUP1
00002573: PUSH1 0xe0
00002575: ADD
00002576: PUSH1 0x40
00002578: MSTORE
00002579: DUP1
0000257a: DUP3
0000257b: DUP2
0000257c: MSTORE
0000257d: PUSH1 0x20
0000257f: ADD
00002580: PUSH0
00002581: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002596: AND
00002597: DUP2
00002598: MSTORE
00002599: PUSH1 0x20
0000259b: ADD
0000259c: PUSH0
0000259d: DUP2
0000259e: MSTORE
0000259f: PUSH1 0x20
000025a1: ADD
000025a2: PUSH0
000025a3: DUP2
000025a4: MSTORE
000025a5: PUSH1 0x20
000025a7: ADD
000025a8: PUSH0
000025a9: DUP2
000025aa: MSTORE
000025ab: PUSH1 0x20
000025ad: ADD
000025ae: DUP3
000025af: DUP2
000025b0: MSTORE
000025b1: PUSH1 0x20
000025b3: ADD
000025b4: PUSH1 0x01
000025b6: DUP2
000025b7: MSTORE
000025b8: POP
000025b9: PUSH1 0x04
000025bb: PUSH0
000025bc: DUP3
000025bd: ADD
000025be: MLOAD
000025bf: DUP2
000025c0: PUSH0
000025c1: ADD
000025c2: SWAP1
000025c3: DUP1
000025c4: MLOAD
000025c5: SWAP1
000025c6: PUSH1 0x20
000025c8: ADD
000025c9: SWAP1
000025ca: PUSH2 0x25d4
000025cd: SWAP3
000025ce: SWAP2
000025cf: SWAP1
000025d0: PUSH2 0x39eb
000025d3: JUMP
000025d4: JUMPDEST
000025d5: POP
000025d6: PUSH1 0x20
000025d8: DUP3
000025d9: ADD
000025da: MLOAD
000025db: DUP2
000025dc: PUSH1 0x01
000025de: ADD
000025df: PUSH0
000025e0: PUSH2 0x0100
000025e3: EXP
000025e4: DUP2
000025e5: SLOAD
000025e6: DUP2
000025e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025fc: MUL
000025fd: NOT
000025fe: AND
000025ff: SWAP1
00002600: DUP4
00002601: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002616: AND
00002617: MUL
00002618: OR
00002619: SWAP1
0000261a: SSTORE
0000261b: POP
0000261c: PUSH1 0x40
0000261e: DUP3
0000261f: ADD
00002620: MLOAD
00002621: DUP2
00002622: PUSH1 0x02
00002624: ADD
00002625: SSTORE
00002626: PUSH1 0x60
00002628: DUP3
00002629: ADD
0000262a: MLOAD
0000262b: DUP2
0000262c: PUSH1 0x03
0000262e: ADD
0000262f: SSTORE
00002630: PUSH1 0x80
00002632: DUP3
00002633: ADD
00002634: MLOAD
00002635: DUP2
00002636: PUSH1 0x04
00002638: ADD
00002639: SSTORE
0000263a: PUSH1 0xa0
0000263c: DUP3
0000263d: ADD
0000263e: MLOAD
0000263f: DUP2
00002640: PUSH1 0x05
00002642: ADD
00002643: SWAP1
00002644: DUP1
00002645: MLOAD
00002646: SWAP1
00002647: PUSH1 0x20
00002649: ADD
0000264a: SWAP1
0000264b: PUSH2 0x2655
0000264e: SWAP3
0000264f: SWAP2
00002650: SWAP1
00002651: PUSH2 0x39eb
00002654: JUMP
00002655: JUMPDEST
00002656: POP
00002657: PUSH1 0xc0
00002659: DUP3
0000265a: ADD
0000265b: MLOAD
0000265c: DUP2
0000265d: PUSH1 0x06
0000265f: ADD
00002660: SSTORE
00002661: SWAP1
00002662: POP
00002663: POP
00002664: POP
00002665: POP
00002666: POP
00002667: JUMP
00002668: JUMPDEST
00002669: PUSH0
0000266a: DUP1
0000266b: JUMPDEST
0000266c: PUSH1 0x20
0000266e: DUP1
0000266f: SLOAD
00002670: SWAP1
00002671: POP
00002672: DUP2
00002673: LT
00002674: ISZERO
00002675: PUSH2 0x26fc
00002678: JUMPI
00002679: CALLER
0000267a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000268f: AND
00002690: PUSH1 0x20
00002692: DUP3
00002693: DUP2
00002694: SLOAD
00002695: DUP2
00002696: LT
00002697: PUSH2 0x26a3
0000269a: JUMPI
0000269b: PUSH2 0x26a2
0000269e: PUSH2 0x4226
000026a1: JUMP
000026a2: JUMPDEST
000026a3: JUMPDEST
000026a4: SWAP1
000026a5: PUSH0
000026a6: MSTORE
000026a7: PUSH1 0x20
000026a9: PUSH0
000026aa: KECCAK256
000026ab: ADD
000026ac: PUSH0
000026ad: SWAP1
000026ae: SLOAD
000026af: SWAP1
000026b0: PUSH2 0x0100
000026b3: EXP
000026b4: SWAP1
000026b5: DIV
000026b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026cb: AND
000026cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026e1: AND
000026e2: SUB
000026e3: PUSH2 0x26ef
000026e6: JUMPI
000026e7: PUSH1 0x01
000026e9: SWAP2
000026ea: POP
000026eb: PUSH2 0x26fc
000026ee: JUMP
000026ef: JUMPDEST
000026f0: DUP1
000026f1: DUP1
000026f2: PUSH1 0x01
000026f4: ADD
000026f5: SWAP2
000026f6: POP
000026f7: POP
000026f8: PUSH2 0x266b
000026fb: JUMP
000026fc: JUMPDEST
000026fd: POP
000026fe: DUP1
000026ff: PUSH2 0x273d
00002702: JUMPI
00002703: PUSH1 0x40
00002705: MLOAD
00002706: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002727: DUP2
00002728: MSTORE
00002729: PUSH1 0x04
0000272b: ADD
0000272c: PUSH2 0x2734
0000272f: SWAP1
00002730: PUSH2 0x42ad
00002733: JUMP
00002734: JUMPDEST
00002735: PUSH1 0x40
00002737: MLOAD
00002738: DUP1
00002739: SWAP2
0000273a: SUB
0000273b: SWAP1
0000273c: REVERT
0000273d: JUMPDEST
0000273e: PUSH0
0000273f: PUSH1 0x02
00002741: PUSH8 0xffffffffffffffff
0000274a: DUP2
0000274b: GT
0000274c: ISZERO
0000274d: PUSH2 0x2759
00002750: JUMPI
00002751: PUSH2 0x2758
00002754: PUSH2 0x42cb
00002757: JUMP
00002758: JUMPDEST
00002759: JUMPDEST
0000275a: PUSH1 0x40
0000275c: MLOAD
0000275d: SWAP1
0000275e: DUP1
0000275f: DUP3
00002760: MSTORE
00002761: DUP1
00002762: PUSH1 0x20
00002764: MUL
00002765: PUSH1 0x20
00002767: ADD
00002768: DUP3
00002769: ADD
0000276a: PUSH1 0x40
0000276c: MSTORE
0000276d: DUP1
0000276e: ISZERO
0000276f: PUSH2 0x2787
00002772: JUMPI
00002773: DUP2
00002774: PUSH1 0x20
00002776: ADD
00002777: PUSH1 0x20
00002779: DUP3
0000277a: MUL
0000277b: DUP1
0000277c: CALLDATASIZE
0000277d: DUP4
0000277e: CALLDATACOPY
0000277f: DUP1
00002780: DUP3
00002781: ADD
00002782: SWAP2
00002783: POP
00002784: POP
00002785: SWAP1
00002786: POP
00002787: JUMPDEST
00002788: POP
00002789: SWAP1
0000278a: POP
0000278b: PUSH1 0x03
0000278d: PUSH0
0000278e: SWAP1
0000278f: SLOAD
00002790: SWAP1
00002791: PUSH2 0x0100
00002794: EXP
00002795: SWAP1
00002796: DIV
00002797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ac: AND
000027ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027c2: AND
000027c3: PUSH4 0xad5c4648
000027c8: PUSH1 0x40
000027ca: MLOAD
000027cb: DUP2
000027cc: PUSH4 0xffffffff
000027d1: AND
000027d2: PUSH1 0xe0
000027d4: SHL
000027d5: DUP2
000027d6: MSTORE
000027d7: PUSH1 0x04
000027d9: ADD
000027da: PUSH1 0x20
000027dc: PUSH1 0x40
000027de: MLOAD
000027df: DUP1
000027e0: DUP4
000027e1: SUB
000027e2: DUP2
000027e3: DUP7
000027e4: GAS
000027e5: STATICCALL
000027e6: ISZERO
000027e7: DUP1
000027e8: ISZERO
000027e9: PUSH2 0x27f4
000027ec: JUMPI
000027ed: RETURNDATASIZE
000027ee: PUSH0
000027ef: DUP1
000027f0: RETURNDATACOPY
000027f1: RETURNDATASIZE
000027f2: PUSH0
000027f3: REVERT
000027f4: JUMPDEST
000027f5: POP
000027f6: POP
000027f7: POP
000027f8: POP
000027f9: PUSH1 0x40
000027fb: MLOAD
000027fc: RETURNDATASIZE
000027fd: PUSH1 0x1f
000027ff: NOT
00002800: PUSH1 0x1f
00002802: DUP3
00002803: ADD
00002804: AND
00002805: DUP3
00002806: ADD
00002807: DUP1
00002808: PUSH1 0x40
0000280a: MSTORE
0000280b: POP
0000280c: DUP2
0000280d: ADD
0000280e: SWAP1
0000280f: PUSH2 0x2818
00002812: SWAP2
00002813: SWAP1
00002814: PUSH2 0x430c
00002817: JUMP
00002818: JUMPDEST
00002819: DUP2
0000281a: PUSH0
0000281b: DUP2
0000281c: MLOAD
0000281d: DUP2
0000281e: LT
0000281f: PUSH2 0x282b
00002822: JUMPI
00002823: PUSH2 0x282a
00002826: PUSH2 0x4226
00002829: JUMP
0000282a: JUMPDEST
0000282b: JUMPDEST
0000282c: PUSH1 0x20
0000282e: MUL
0000282f: PUSH1 0x20
00002831: ADD
00002832: ADD
00002833: SWAP1
00002834: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002849: AND
0000284a: SWAP1
0000284b: DUP2
0000284c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002861: AND
00002862: DUP2
00002863: MSTORE
00002864: POP
00002865: POP
00002866: DUP7
00002867: DUP2
00002868: PUSH1 0x01
0000286a: DUP2
0000286b: MLOAD
0000286c: DUP2
0000286d: LT
0000286e: PUSH2 0x287a
00002871: JUMPI
00002872: PUSH2 0x2879
00002875: PUSH2 0x4226
00002878: JUMP
00002879: JUMPDEST
0000287a: JUMPDEST
0000287b: PUSH1 0x20
0000287d: MUL
0000287e: PUSH1 0x20
00002880: ADD
00002881: ADD
00002882: SWAP1
00002883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002898: AND
00002899: SWAP1
0000289a: DUP2
0000289b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028b0: AND
000028b1: DUP2
000028b2: MSTORE
000028b3: POP
000028b4: POP
000028b5: PUSH1 0x40
000028b7: MLOAD
000028b8: DUP1
000028b9: PUSH1 0xe0
000028bb: ADD
000028bc: PUSH1 0x40
000028be: MSTORE
000028bf: DUP1
000028c0: DUP11
000028c1: DUP11
000028c2: DUP1
000028c3: DUP1
000028c4: PUSH1 0x20
000028c6: MUL
000028c7: PUSH1 0x20
000028c9: ADD
000028ca: PUSH1 0x40
000028cc: MLOAD
000028cd: SWAP1
000028ce: DUP2
000028cf: ADD
000028d0: PUSH1 0x40
000028d2: MSTORE
000028d3: DUP1
000028d4: SWAP4
000028d5: SWAP3
000028d6: SWAP2
000028d7: SWAP1
000028d8: DUP2
000028d9: DUP2
000028da: MSTORE
000028db: PUSH1 0x20
000028dd: ADD
000028de: DUP4
000028df: DUP4
000028e0: PUSH1 0x20
000028e2: MUL
000028e3: DUP1
000028e4: DUP3
000028e5: DUP5
000028e6: CALLDATACOPY
000028e7: PUSH0
000028e8: DUP2
000028e9: DUP5
000028ea: ADD
000028eb: MSTORE
000028ec: PUSH1 0x1f
000028ee: NOT
000028ef: PUSH1 0x1f
000028f1: DUP3
000028f2: ADD
000028f3: AND
000028f4: SWAP1
000028f5: POP
000028f6: DUP1
000028f7: DUP4
000028f8: ADD
000028f9: SWAP3
000028fa: POP
000028fb: POP
000028fc: POP
000028fd: POP
000028fe: POP
000028ff: POP
00002900: POP
00002901: DUP2
00002902: MSTORE
00002903: PUSH1 0x20
00002905: ADD
00002906: DUP9
00002907: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000291c: AND
0000291d: DUP2
0000291e: MSTORE
0000291f: PUSH1 0x20
00002921: ADD
00002922: DUP8
00002923: DUP2
00002924: MSTORE
00002925: PUSH1 0x20
00002927: ADD
00002928: DUP7
00002929: DUP2
0000292a: MSTORE
0000292b: PUSH1 0x20
0000292d: ADD
0000292e: DUP6
0000292f: DUP2
00002930: MSTORE
00002931: PUSH1 0x20
00002933: ADD
00002934: DUP3
00002935: DUP2
00002936: MSTORE
00002937: PUSH1 0x20
00002939: ADD
0000293a: DUP5
0000293b: DUP2
0000293c: MSTORE
0000293d: POP
0000293e: PUSH1 0x04
00002940: PUSH0
00002941: DUP3
00002942: ADD
00002943: MLOAD
00002944: DUP2
00002945: PUSH0
00002946: ADD
00002947: SWAP1
00002948: DUP1
00002949: MLOAD
0000294a: SWAP1
0000294b: PUSH1 0x20
0000294d: ADD
0000294e: SWAP1
0000294f: PUSH2 0x2959
00002952: SWAP3
00002953: SWAP2
00002954: SWAP1
00002955: PUSH2 0x39eb
00002958: JUMP
00002959: JUMPDEST
0000295a: POP
0000295b: PUSH1 0x20
0000295d: DUP3
0000295e: ADD
0000295f: MLOAD
00002960: DUP2
00002961: PUSH1 0x01
00002963: ADD
00002964: PUSH0
00002965: PUSH2 0x0100
00002968: EXP
00002969: DUP2
0000296a: SLOAD
0000296b: DUP2
0000296c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002981: MUL
00002982: NOT
00002983: AND
00002984: SWAP1
00002985: DUP4
00002986: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000299b: AND
0000299c: MUL
0000299d: OR
0000299e: SWAP1
0000299f: SSTORE
000029a0: POP
000029a1: PUSH1 0x40
000029a3: DUP3
000029a4: ADD
000029a5: MLOAD
000029a6: DUP2
000029a7: PUSH1 0x02
000029a9: ADD
000029aa: SSTORE
000029ab: PUSH1 0x60
000029ad: DUP3
000029ae: ADD
000029af: MLOAD
000029b0: DUP2
000029b1: PUSH1 0x03
000029b3: ADD
000029b4: SSTORE
000029b5: PUSH1 0x80
000029b7: DUP3
000029b8: ADD
000029b9: MLOAD
000029ba: DUP2
000029bb: PUSH1 0x04
000029bd: ADD
000029be: SSTORE
000029bf: PUSH1 0xa0
000029c1: DUP3
000029c2: ADD
000029c3: MLOAD
000029c4: DUP2
000029c5: PUSH1 0x05
000029c7: ADD
000029c8: SWAP1
000029c9: DUP1
000029ca: MLOAD
000029cb: SWAP1
000029cc: PUSH1 0x20
000029ce: ADD
000029cf: SWAP1
000029d0: PUSH2 0x29da
000029d3: SWAP3
000029d4: SWAP2
000029d5: SWAP1
000029d6: PUSH2 0x39eb
000029d9: JUMP
000029da: JUMPDEST
000029db: POP
000029dc: PUSH1 0xc0
000029de: DUP3
000029df: ADD
000029e0: MLOAD
000029e1: DUP2
000029e2: PUSH1 0x06
000029e4: ADD
000029e5: SSTORE
000029e6: SWAP1
000029e7: POP
000029e8: POP
000029e9: POP
000029ea: POP
000029eb: POP
000029ec: POP
000029ed: POP
000029ee: POP
000029ef: POP
000029f0: POP
000029f1: POP
000029f2: JUMP
000029f3: JUMPDEST
000029f4: PUSH0
000029f5: DUP1
000029f6: JUMPDEST
000029f7: PUSH1 0x20
000029f9: DUP1
000029fa: SLOAD
000029fb: SWAP1
000029fc: POP
000029fd: DUP2
000029fe: LT
000029ff: ISZERO
00002a00: PUSH2 0x2a87
00002a03: JUMPI
00002a04: CALLER
00002a05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a1a: AND
00002a1b: PUSH1 0x20
00002a1d: DUP3
00002a1e: DUP2
00002a1f: SLOAD
00002a20: DUP2
00002a21: LT
00002a22: PUSH2 0x2a2e
00002a25: JUMPI
00002a26: PUSH2 0x2a2d
00002a29: PUSH2 0x4226
00002a2c: JUMP
00002a2d: JUMPDEST
00002a2e: JUMPDEST
00002a2f: SWAP1
00002a30: PUSH0
00002a31: MSTORE
00002a32: PUSH1 0x20
00002a34: PUSH0
00002a35: KECCAK256
00002a36: ADD
00002a37: PUSH0
00002a38: SWAP1
00002a39: SLOAD
00002a3a: SWAP1
00002a3b: PUSH2 0x0100
00002a3e: EXP
00002a3f: SWAP1
00002a40: DIV
00002a41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a56: AND
00002a57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a6c: AND
00002a6d: SUB
00002a6e: PUSH2 0x2a7a
00002a71: JUMPI
00002a72: PUSH1 0x01
00002a74: SWAP2
00002a75: POP
00002a76: PUSH2 0x2a87
00002a79: JUMP
00002a7a: JUMPDEST
00002a7b: DUP1
00002a7c: DUP1
00002a7d: PUSH1 0x01
00002a7f: ADD
00002a80: SWAP2
00002a81: POP
00002a82: POP
00002a83: PUSH2 0x29f6
00002a86: JUMP
00002a87: JUMPDEST
00002a88: POP
00002a89: DUP1
00002a8a: PUSH2 0x2ac8
00002a8d: JUMPI
00002a8e: PUSH1 0x40
00002a90: MLOAD
00002a91: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002ab2: DUP2
00002ab3: MSTORE
00002ab4: PUSH1 0x04
00002ab6: ADD
00002ab7: PUSH2 0x2abf
00002aba: SWAP1
00002abb: PUSH2 0x42ad
00002abe: JUMP
00002abf: JUMPDEST
00002ac0: PUSH1 0x40
00002ac2: MLOAD
00002ac3: DUP1
00002ac4: SWAP2
00002ac5: SUB
00002ac6: SWAP1
00002ac7: REVERT
00002ac8: JUMPDEST
00002ac9: PUSH0
00002aca: DUP1
00002acb: JUMPDEST
00002acc: PUSH1 0x22
00002ace: DUP1
00002acf: SLOAD
00002ad0: SWAP1
00002ad1: POP
00002ad2: DUP2
00002ad3: PUSH2 0xffff
00002ad6: AND
00002ad7: LT
00002ad8: ISZERO
00002ad9: PUSH2 0x2d9b
00002adc: JUMPI
00002add: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00002afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b13: AND
00002b14: PUSH4 0x5023b4df
00002b19: PUSH1 0x40
00002b1b: MLOAD
00002b1c: DUP1
00002b1d: PUSH1 0xe0
00002b1f: ADD
00002b20: PUSH1 0x40
00002b22: MSTORE
00002b23: DUP1
00002b24: PUSH0
00002b25: DUP1
00002b26: SLOAD
00002b27: SWAP1
00002b28: PUSH2 0x0100
00002b2b: EXP
00002b2c: SWAP1
00002b2d: DIV
00002b2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b43: AND
00002b44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b59: AND
00002b5a: DUP2
00002b5b: MSTORE
00002b5c: PUSH1 0x20
00002b5e: ADD
00002b5f: PUSH1 0x19
00002b61: PUSH1 0x01
00002b63: ADD
00002b64: PUSH0
00002b65: SWAP1
00002b66: SLOAD
00002b67: SWAP1
00002b68: PUSH2 0x0100
00002b6b: EXP
00002b6c: SWAP1
00002b6d: DIV
00002b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b83: AND
00002b84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b99: AND
00002b9a: DUP2
00002b9b: MSTORE
00002b9c: PUSH1 0x20
00002b9e: ADD
00002b9f: PUSH1 0x22
00002ba1: DUP6
00002ba2: PUSH2 0xffff
00002ba5: AND
00002ba6: DUP2
00002ba7: SLOAD
00002ba8: DUP2
00002ba9: LT
00002baa: PUSH2 0x2bb6
00002bad: JUMPI
00002bae: PUSH2 0x2bb5
00002bb1: PUSH2 0x4226
00002bb4: JUMP
00002bb5: JUMPDEST
00002bb6: JUMPDEST
00002bb7: SWAP1
00002bb8: PUSH0
00002bb9: MSTORE
00002bba: PUSH1 0x20
00002bbc: PUSH0
00002bbd: KECCAK256
00002bbe: SWAP1
00002bbf: PUSH1 0x10
00002bc1: SWAP2
00002bc2: DUP3
00002bc3: DUP3
00002bc4: DIV
00002bc5: ADD
00002bc6: SWAP2
00002bc7: SWAP1
00002bc8: MOD
00002bc9: PUSH1 0x02
00002bcb: MUL
00002bcc: SWAP1
00002bcd: SLOAD
00002bce: SWAP1
00002bcf: PUSH2 0x0100
00002bd2: EXP
00002bd3: SWAP1
00002bd4: DIV
00002bd5: PUSH2 0xffff
00002bd8: AND
00002bd9: PUSH2 0xffff
00002bdc: AND
00002bdd: PUSH3 0xffffff
00002be1: AND
00002be2: DUP2
00002be3: MSTORE
00002be4: PUSH1 0x20
00002be6: ADD
00002be7: PUSH1 0x19
00002be9: PUSH0
00002bea: ADD
00002beb: PUSH0
00002bec: DUP2
00002bed: SLOAD
00002bee: DUP2
00002bef: LT
00002bf0: PUSH2 0x2bfc
00002bf3: JUMPI
00002bf4: PUSH2 0x2bfb
00002bf7: PUSH2 0x4226
00002bfa: JUMP
00002bfb: JUMPDEST
00002bfc: JUMPDEST
00002bfd: SWAP1
00002bfe: PUSH0
00002bff: MSTORE
00002c00: PUSH1 0x20
00002c02: PUSH0
00002c03: KECCAK256
00002c04: ADD
00002c05: PUSH0
00002c06: SWAP1
00002c07: SLOAD
00002c08: SWAP1
00002c09: PUSH2 0x0100
00002c0c: EXP
00002c0d: SWAP1
00002c0e: DIV
00002c0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c24: AND
00002c25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c3a: AND
00002c3b: DUP2
00002c3c: MSTORE
00002c3d: PUSH1 0x20
00002c3f: ADD
00002c40: PUSH1 0x19
00002c42: PUSH1 0x03
00002c44: ADD
00002c45: SLOAD
00002c46: DUP2
00002c47: MSTORE
00002c48: PUSH1 0x20
00002c4a: ADD
00002c4b: PUSH1 0x19
00002c4d: PUSH1 0x02
00002c4f: ADD
00002c50: SLOAD
00002c51: DUP2
00002c52: MSTORE
00002c53: PUSH1 0x20
00002c55: ADD
00002c56: PUSH0
00002c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c6c: AND
00002c6d: DUP2
00002c6e: MSTORE
00002c6f: POP
00002c70: PUSH1 0x40
00002c72: MLOAD
00002c73: DUP3
00002c74: PUSH4 0xffffffff
00002c79: AND
00002c7a: PUSH1 0xe0
00002c7c: SHL
00002c7d: DUP2
00002c7e: MSTORE
00002c7f: PUSH1 0x04
00002c81: ADD
00002c82: PUSH2 0x2c8b
00002c85: SWAP2
00002c86: SWAP1
00002c87: PUSH2 0x4987
00002c8a: JUMP
00002c8b: JUMPDEST
00002c8c: PUSH1 0x20
00002c8e: PUSH1 0x40
00002c90: MLOAD
00002c91: DUP1
00002c92: DUP4
00002c93: SUB
00002c94: DUP2
00002c95: PUSH0
00002c96: DUP8
00002c97: GAS
00002c98: CALL
00002c99: SWAP3
00002c9a: POP
00002c9b: POP
00002c9c: POP
00002c9d: DUP1
00002c9e: ISZERO
00002c9f: PUSH2 0x2cc6
00002ca2: JUMPI
00002ca3: POP
00002ca4: PUSH1 0x40
00002ca6: MLOAD
00002ca7: RETURNDATASIZE
00002ca8: PUSH1 0x1f
00002caa: NOT
00002cab: PUSH1 0x1f
00002cad: DUP3
00002cae: ADD
00002caf: AND
00002cb0: DUP3
00002cb1: ADD
00002cb2: DUP1
00002cb3: PUSH1 0x40
00002cb5: MSTORE
00002cb6: POP
00002cb7: DUP2
00002cb8: ADD
00002cb9: SWAP1
00002cba: PUSH2 0x2cc3
00002cbd: SWAP2
00002cbe: SWAP1
00002cbf: PUSH2 0x43b3
00002cc2: JUMP
00002cc3: JUMPDEST
00002cc4: PUSH1 0x01
00002cc6: JUMPDEST
00002cc7: ISZERO
00002cc8: PUSH2 0x2d88
00002ccb: JUMPI
00002ccc: POP
00002ccd: PUSH1 0x22
00002ccf: DUP2
00002cd0: PUSH2 0xffff
00002cd3: AND
00002cd4: DUP2
00002cd5: SLOAD
00002cd6: DUP2
00002cd7: LT
00002cd8: PUSH2 0x2ce4
00002cdb: JUMPI
00002cdc: PUSH2 0x2ce3
00002cdf: PUSH2 0x4226
00002ce2: JUMP
00002ce3: JUMPDEST
00002ce4: JUMPDEST
00002ce5: SWAP1
00002ce6: PUSH0
00002ce7: MSTORE
00002ce8: PUSH1 0x20
00002cea: PUSH0
00002ceb: KECCAK256
00002cec: SWAP1
00002ced: PUSH1 0x10
00002cef: SWAP2
00002cf0: DUP3
00002cf1: DUP3
00002cf2: DIV
00002cf3: ADD
00002cf4: SWAP2
00002cf5: SWAP1
00002cf6: MOD
00002cf7: PUSH1 0x02
00002cf9: MUL
00002cfa: SWAP1
00002cfb: SLOAD
00002cfc: SWAP1
00002cfd: PUSH2 0x0100
00002d00: EXP
00002d01: SWAP1
00002d02: DIV
00002d03: PUSH2 0xffff
00002d06: AND
00002d07: SWAP2
00002d08: POP
00002d09: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00002d2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d3f: AND
00002d40: PUSH4 0x12210e8a
00002d45: PUSH1 0x40
00002d47: MLOAD
00002d48: DUP2
00002d49: PUSH4 0xffffffff
00002d4e: AND
00002d4f: PUSH1 0xe0
00002d51: SHL
00002d52: DUP2
00002d53: MSTORE
00002d54: PUSH1 0x04
00002d56: ADD
00002d57: PUSH0
00002d58: PUSH1 0x40
00002d5a: MLOAD
00002d5b: DUP1
00002d5c: DUP4
00002d5d: SUB
00002d5e: DUP2
00002d5f: PUSH0
00002d60: DUP8
00002d61: DUP1
00002d62: EXTCODESIZE
00002d63: ISZERO
00002d64: DUP1
00002d65: ISZERO
00002d66: PUSH2 0x2d6d
00002d69: JUMPI
00002d6a: PUSH0
00002d6b: DUP1
00002d6c: REVERT
00002d6d: JUMPDEST
00002d6e: POP
00002d6f: GAS
00002d70: CALL
00002d71: ISZERO
00002d72: DUP1
00002d73: ISZERO
00002d74: PUSH2 0x2d7f
00002d77: JUMPI
00002d78: RETURNDATASIZE
00002d79: PUSH0
00002d7a: DUP1
00002d7b: RETURNDATACOPY
00002d7c: RETURNDATASIZE
00002d7d: PUSH0
00002d7e: REVERT
00002d7f: JUMPDEST
00002d80: POP
00002d81: POP
00002d82: POP
00002d83: POP
00002d84: PUSH2 0x2d9b
00002d87: JUMP
00002d88: JUMPDEST
00002d89: DUP1
00002d8a: DUP1
00002d8b: PUSH2 0x2d93
00002d8e: SWAP1
00002d8f: PUSH2 0x48d2
00002d92: JUMP
00002d93: JUMPDEST
00002d94: SWAP2
00002d95: POP
00002d96: POP
00002d97: PUSH2 0x2acb
00002d9a: JUMP
00002d9b: JUMPDEST
00002d9c: POP
00002d9d: PUSH0
00002d9e: DUP2
00002d9f: PUSH2 0xffff
00002da2: AND
00002da3: SUB
00002da4: PUSH2 0x2dab
00002da7: JUMPI
00002da8: PUSH0
00002da9: DUP1
00002daa: REVERT
00002dab: JUMPDEST
00002dac: PUSH0
00002dad: PUSH1 0x01
00002daf: SWAP1
00002db0: POP
00002db1: JUMPDEST
00002db2: PUSH1 0x19
00002db4: PUSH0
00002db5: ADD
00002db6: DUP1
00002db7: SLOAD
00002db8: SWAP1
00002db9: POP
00002dba: DUP2
00002dbb: LT
00002dbc: ISZERO
00002dbd: PUSH2 0x2fff
00002dc0: JUMPI
00002dc1: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00002de2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002df7: AND
00002df8: PUSH4 0x5023b4df
00002dfd: PUSH1 0x40
00002dff: MLOAD
00002e00: DUP1
00002e01: PUSH1 0xe0
00002e03: ADD
00002e04: PUSH1 0x40
00002e06: MSTORE
00002e07: DUP1
00002e08: PUSH0
00002e09: DUP1
00002e0a: SLOAD
00002e0b: SWAP1
00002e0c: PUSH2 0x0100
00002e0f: EXP
00002e10: SWAP1
00002e11: DIV
00002e12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e27: AND
00002e28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e3d: AND
00002e3e: DUP2
00002e3f: MSTORE
00002e40: PUSH1 0x20
00002e42: ADD
00002e43: PUSH1 0x19
00002e45: PUSH1 0x01
00002e47: ADD
00002e48: PUSH0
00002e49: SWAP1
00002e4a: SLOAD
00002e4b: SWAP1
00002e4c: PUSH2 0x0100
00002e4f: EXP
00002e50: SWAP1
00002e51: DIV
00002e52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e67: AND
00002e68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e7d: AND
00002e7e: DUP2
00002e7f: MSTORE
00002e80: PUSH1 0x20
00002e82: ADD
00002e83: DUP6
00002e84: PUSH2 0xffff
00002e87: AND
00002e88: PUSH3 0xffffff
00002e8c: AND
00002e8d: DUP2
00002e8e: MSTORE
00002e8f: PUSH1 0x20
00002e91: ADD
00002e92: PUSH1 0x19
00002e94: PUSH0
00002e95: ADD
00002e96: DUP6
00002e97: DUP2
00002e98: SLOAD
00002e99: DUP2
00002e9a: LT
00002e9b: PUSH2 0x2ea7
00002e9e: JUMPI
00002e9f: PUSH2 0x2ea6
00002ea2: PUSH2 0x4226
00002ea5: JUMP
00002ea6: JUMPDEST
00002ea7: JUMPDEST
00002ea8: SWAP1
00002ea9: PUSH0
00002eaa: MSTORE
00002eab: PUSH1 0x20
00002ead: PUSH0
00002eae: KECCAK256
00002eaf: ADD
00002eb0: PUSH0
00002eb1: SWAP1
00002eb2: SLOAD
00002eb3: SWAP1
00002eb4: PUSH2 0x0100
00002eb7: EXP
00002eb8: SWAP1
00002eb9: DIV
00002eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ecf: AND
00002ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ee5: AND
00002ee6: DUP2
00002ee7: MSTORE
00002ee8: PUSH1 0x20
00002eea: ADD
00002eeb: PUSH1 0x19
00002eed: PUSH1 0x03
00002eef: ADD
00002ef0: SLOAD
00002ef1: DUP2
00002ef2: MSTORE
00002ef3: PUSH1 0x20
00002ef5: ADD
00002ef6: PUSH1 0x19
00002ef8: PUSH1 0x02
00002efa: ADD
00002efb: SLOAD
00002efc: DUP2
00002efd: MSTORE
00002efe: PUSH1 0x20
00002f00: ADD
00002f01: PUSH0
00002f02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f17: AND
00002f18: DUP2
00002f19: MSTORE
00002f1a: POP
00002f1b: PUSH1 0x40
00002f1d: MLOAD
00002f1e: DUP3
00002f1f: PUSH4 0xffffffff
00002f24: AND
00002f25: PUSH1 0xe0
00002f27: SHL
00002f28: DUP2
00002f29: MSTORE
00002f2a: PUSH1 0x04
00002f2c: ADD
00002f2d: PUSH2 0x2f36
00002f30: SWAP2
00002f31: SWAP1
00002f32: PUSH2 0x4987
00002f35: JUMP
00002f36: JUMPDEST
00002f37: PUSH1 0x20
00002f39: PUSH1 0x40
00002f3b: MLOAD
00002f3c: DUP1
00002f3d: DUP4
00002f3e: SUB
00002f3f: DUP2
00002f40: PUSH0
00002f41: DUP8
00002f42: GAS
00002f43: CALL
00002f44: SWAP3
00002f45: POP
00002f46: POP
00002f47: POP
00002f48: DUP1
00002f49: ISZERO
00002f4a: PUSH2 0x2f71
00002f4d: JUMPI
00002f4e: POP
00002f4f: PUSH1 0x40
00002f51: MLOAD
00002f52: RETURNDATASIZE
00002f53: PUSH1 0x1f
00002f55: NOT
00002f56: PUSH1 0x1f
00002f58: DUP3
00002f59: ADD
00002f5a: AND
00002f5b: DUP3
00002f5c: ADD
00002f5d: DUP1
00002f5e: PUSH1 0x40
00002f60: MSTORE
00002f61: POP
00002f62: DUP2
00002f63: ADD
00002f64: SWAP1
00002f65: PUSH2 0x2f6e
00002f68: SWAP2
00002f69: SWAP1
00002f6a: PUSH2 0x43b3
00002f6d: JUMP
00002f6e: JUMPDEST
00002f6f: PUSH1 0x01
00002f71: JUMPDEST
00002f72: ISZERO
00002f73: PUSH2 0x2fff
00002f76: JUMPI
00002f77: POP
00002f78: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
00002f99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fae: AND
00002faf: PUSH4 0x12210e8a
00002fb4: PUSH1 0x40
00002fb6: MLOAD
00002fb7: DUP2
00002fb8: PUSH4 0xffffffff
00002fbd: AND
00002fbe: PUSH1 0xe0
00002fc0: SHL
00002fc1: DUP2
00002fc2: MSTORE
00002fc3: PUSH1 0x04
00002fc5: ADD
00002fc6: PUSH0
00002fc7: PUSH1 0x40
00002fc9: MLOAD
00002fca: DUP1
00002fcb: DUP4
00002fcc: SUB
00002fcd: DUP2
00002fce: PUSH0
00002fcf: DUP8
00002fd0: DUP1
00002fd1: EXTCODESIZE
00002fd2: ISZERO
00002fd3: DUP1
00002fd4: ISZERO
00002fd5: PUSH2 0x2fdc
00002fd8: JUMPI
00002fd9: PUSH0
00002fda: DUP1
00002fdb: REVERT
00002fdc: JUMPDEST
00002fdd: POP
00002fde: GAS
00002fdf: CALL
00002fe0: ISZERO
00002fe1: DUP1
00002fe2: ISZERO
00002fe3: PUSH2 0x2fee
00002fe6: JUMPI
00002fe7: RETURNDATASIZE
00002fe8: PUSH0
00002fe9: DUP1
00002fea: RETURNDATACOPY
00002feb: RETURNDATASIZE
00002fec: PUSH0
00002fed: REVERT
00002fee: JUMPDEST
00002fef: POP
00002ff0: POP
00002ff1: POP
00002ff2: POP
00002ff3: DUP1
00002ff4: DUP1
00002ff5: PUSH1 0x01
00002ff7: ADD
00002ff8: SWAP2
00002ff9: POP
00002ffa: POP
00002ffb: PUSH2 0x2db1
00002ffe: JUMP
00002fff: JUMPDEST
00003000: PUSH1 0x19
00003002: PUSH1 0x06
00003004: ADD
00003005: SLOAD
00003006: DUP2
00003007: LT
00003008: ISZERO
00003009: PUSH2 0x3047
0000300c: JUMPI
0000300d: PUSH1 0x40
0000300f: MLOAD
00003010: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003031: DUP2
00003032: MSTORE
00003033: PUSH1 0x04
00003035: ADD
00003036: PUSH2 0x303e
00003039: SWAP1
0000303a: PUSH2 0x476e
0000303d: JUMP
0000303e: JUMPDEST
0000303f: PUSH1 0x40
00003041: MLOAD
00003042: DUP1
00003043: SWAP2
00003044: SUB
00003045: SWAP1
00003046: REVERT
00003047: JUMPDEST
00003048: PUSH0
00003049: PUSH1 0x19
0000304b: PUSH1 0x04
0000304d: ADD
0000304e: SLOAD
0000304f: GT
00003050: ISZERO
00003051: PUSH2 0x310e
00003054: JUMPI
00003055: COINBASE
00003056: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000306b: AND
0000306c: PUSH1 0x19
0000306e: PUSH1 0x04
00003070: ADD
00003071: SLOAD
00003072: PUSH0
00003073: PUSH8 0xffffffffffffffff
0000307c: DUP2
0000307d: GT
0000307e: ISZERO
0000307f: PUSH2 0x308b
00003082: JUMPI
00003083: PUSH2 0x308a
00003086: PUSH2 0x42cb
00003089: JUMP
0000308a: JUMPDEST
0000308b: JUMPDEST
0000308c: PUSH1 0x40
0000308e: MLOAD
0000308f: SWAP1
00003090: DUP1
00003091: DUP3
00003092: MSTORE
00003093: DUP1
00003094: PUSH1 0x1f
00003096: ADD
00003097: PUSH1 0x1f
00003099: NOT
0000309a: AND
0000309b: PUSH1 0x20
0000309d: ADD
0000309e: DUP3
0000309f: ADD
000030a0: PUSH1 0x40
000030a2: MSTORE
000030a3: DUP1
000030a4: ISZERO
000030a5: PUSH2 0x30bd
000030a8: JUMPI
000030a9: DUP2
000030aa: PUSH1 0x20
000030ac: ADD
000030ad: PUSH1 0x01
000030af: DUP3
000030b0: MUL
000030b1: DUP1
000030b2: CALLDATASIZE
000030b3: DUP4
000030b4: CALLDATACOPY
000030b5: DUP1
000030b6: DUP3
000030b7: ADD
000030b8: SWAP2
000030b9: POP
000030ba: POP
000030bb: SWAP1
000030bc: POP
000030bd: JUMPDEST
000030be: POP
000030bf: PUSH1 0x40
000030c1: MLOAD
000030c2: PUSH2 0x30cb
000030c5: SWAP2
000030c6: SWAP1
000030c7: PUSH2 0x47de
000030ca: JUMP
000030cb: JUMPDEST
000030cc: PUSH0
000030cd: PUSH1 0x40
000030cf: MLOAD
000030d0: DUP1
000030d1: DUP4
000030d2: SUB
000030d3: DUP2
000030d4: DUP6
000030d5: DUP8
000030d6: GAS
000030d7: CALL
000030d8: SWAP3
000030d9: POP
000030da: POP
000030db: POP
000030dc: RETURNDATASIZE
000030dd: DUP1
000030de: PUSH0
000030df: DUP2
000030e0: EQ
000030e1: PUSH2 0x3105
000030e4: JUMPI
000030e5: PUSH1 0x40
000030e7: MLOAD
000030e8: SWAP2
000030e9: POP
000030ea: PUSH1 0x1f
000030ec: NOT
000030ed: PUSH1 0x3f
000030ef: RETURNDATASIZE
000030f0: ADD
000030f1: AND
000030f2: DUP3
000030f3: ADD
000030f4: PUSH1 0x40
000030f6: MSTORE
000030f7: RETURNDATASIZE
000030f8: DUP3
000030f9: MSTORE
000030fa: RETURNDATASIZE
000030fb: PUSH0
000030fc: PUSH1 0x20
000030fe: DUP5
000030ff: ADD
00003100: RETURNDATACOPY
00003101: PUSH2 0x310a
00003104: JUMP
00003105: JUMPDEST
00003106: PUSH1 0x60
00003108: SWAP2
00003109: POP
0000310a: JUMPDEST
0000310b: POP
0000310c: POP
0000310d: POP
0000310e: JUMPDEST
0000310f: PUSH1 0x60
00003111: PUSH1 0x40
00003113: MLOAD
00003114: DUP1
00003115: PUSH1 0xe0
00003117: ADD
00003118: PUSH1 0x40
0000311a: MSTORE
0000311b: DUP1
0000311c: DUP3
0000311d: DUP2
0000311e: MSTORE
0000311f: PUSH1 0x20
00003121: ADD
00003122: PUSH0
00003123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003138: AND
00003139: DUP2
0000313a: MSTORE
0000313b: PUSH1 0x20
0000313d: ADD
0000313e: PUSH0
0000313f: DUP2
00003140: MSTORE
00003141: PUSH1 0x20
00003143: ADD
00003144: PUSH0
00003145: DUP2
00003146: MSTORE
00003147: PUSH1 0x20
00003149: ADD
0000314a: PUSH0
0000314b: DUP2
0000314c: MSTORE
0000314d: PUSH1 0x20
0000314f: ADD
00003150: DUP3
00003151: DUP2
00003152: MSTORE
00003153: PUSH1 0x20
00003155: ADD
00003156: PUSH1 0x01
00003158: DUP2
00003159: MSTORE
0000315a: POP
0000315b: PUSH1 0x19
0000315d: PUSH0
0000315e: DUP3
0000315f: ADD
00003160: MLOAD
00003161: DUP2
00003162: PUSH0
00003163: ADD
00003164: SWAP1
00003165: DUP1
00003166: MLOAD
00003167: SWAP1
00003168: PUSH1 0x20
0000316a: ADD
0000316b: SWAP1
0000316c: PUSH2 0x3176
0000316f: SWAP3
00003170: SWAP2
00003171: SWAP1
00003172: PUSH2 0x39eb
00003175: JUMP
00003176: JUMPDEST
00003177: POP
00003178: PUSH1 0x20
0000317a: DUP3
0000317b: ADD
0000317c: MLOAD
0000317d: DUP2
0000317e: PUSH1 0x01
00003180: ADD
00003181: PUSH0
00003182: PUSH2 0x0100
00003185: EXP
00003186: DUP2
00003187: SLOAD
00003188: DUP2
00003189: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000319e: MUL
0000319f: NOT
000031a0: AND
000031a1: SWAP1
000031a2: DUP4
000031a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031b8: AND
000031b9: MUL
000031ba: OR
000031bb: SWAP1
000031bc: SSTORE
000031bd: POP
000031be: PUSH1 0x40
000031c0: DUP3
000031c1: ADD
000031c2: MLOAD
000031c3: DUP2
000031c4: PUSH1 0x02
000031c6: ADD
000031c7: SSTORE
000031c8: PUSH1 0x60
000031ca: DUP3
000031cb: ADD
000031cc: MLOAD
000031cd: DUP2
000031ce: PUSH1 0x03
000031d0: ADD
000031d1: SSTORE
000031d2: PUSH1 0x80
000031d4: DUP3
000031d5: ADD
000031d6: MLOAD
000031d7: DUP2
000031d8: PUSH1 0x04
000031da: ADD
000031db: SSTORE
000031dc: PUSH1 0xa0
000031de: DUP3
000031df: ADD
000031e0: MLOAD
000031e1: DUP2
000031e2: PUSH1 0x05
000031e4: ADD
000031e5: SWAP1
000031e6: DUP1
000031e7: MLOAD
000031e8: SWAP1
000031e9: PUSH1 0x20
000031eb: ADD
000031ec: SWAP1
000031ed: PUSH2 0x31f7
000031f0: SWAP3
000031f1: SWAP2
000031f2: SWAP1
000031f3: PUSH2 0x39eb
000031f6: JUMP
000031f7: JUMPDEST
000031f8: POP
000031f9: PUSH1 0xc0
000031fb: DUP3
000031fc: ADD
000031fd: MLOAD
000031fe: DUP2
000031ff: PUSH1 0x06
00003201: ADD
00003202: SSTORE
00003203: SWAP1
00003204: POP
00003205: POP
00003206: POP
00003207: POP
00003208: POP
00003209: POP
0000320a: JUMP
0000320b: JUMPDEST
0000320c: PUSH2 0x3213
0000320f: PUSH2 0x3b5c
00003212: JUMP
00003213: JUMPDEST
00003214: PUSH0
00003215: DUP1
00003216: JUMPDEST
00003217: PUSH1 0x20
00003219: DUP1
0000321a: SLOAD
0000321b: SWAP1
0000321c: POP
0000321d: DUP2
0000321e: LT
0000321f: ISZERO
00003220: PUSH2 0x32a7
00003223: JUMPI
00003224: CALLER
00003225: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000323a: AND
0000323b: PUSH1 0x20
0000323d: DUP3
0000323e: DUP2
0000323f: SLOAD
00003240: DUP2
00003241: LT
00003242: PUSH2 0x324e
00003245: JUMPI
00003246: PUSH2 0x324d
00003249: PUSH2 0x4226
0000324c: JUMP
0000324d: JUMPDEST
0000324e: JUMPDEST
0000324f: SWAP1
00003250: PUSH0
00003251: MSTORE
00003252: PUSH1 0x20
00003254: PUSH0
00003255: KECCAK256
00003256: ADD
00003257: PUSH0
00003258: SWAP1
00003259: SLOAD
0000325a: SWAP1
0000325b: PUSH2 0x0100
0000325e: EXP
0000325f: SWAP1
00003260: DIV
00003261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003276: AND
00003277: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000328c: AND
0000328d: SUB
0000328e: PUSH2 0x329a
00003291: JUMPI
00003292: PUSH1 0x01
00003294: SWAP2
00003295: POP
00003296: PUSH2 0x32a7
00003299: JUMP
0000329a: JUMPDEST
0000329b: DUP1
0000329c: DUP1
0000329d: PUSH1 0x01
0000329f: ADD
000032a0: SWAP2
000032a1: POP
000032a2: POP
000032a3: PUSH2 0x3216
000032a6: JUMP
000032a7: JUMPDEST
000032a8: POP
000032a9: DUP1
000032aa: PUSH2 0x32e8
000032ad: JUMPI
000032ae: PUSH1 0x40
000032b0: MLOAD
000032b1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000032d2: DUP2
000032d3: MSTORE
000032d4: PUSH1 0x04
000032d6: ADD
000032d7: PUSH2 0x32df
000032da: SWAP1
000032db: PUSH2 0x42ad
000032de: JUMP
000032df: JUMPDEST
000032e0: PUSH1 0x40
000032e2: MLOAD
000032e3: DUP1
000032e4: SWAP2
000032e5: SUB
000032e6: SWAP1
000032e7: REVERT
000032e8: JUMPDEST
000032e9: PUSH1 0x12
000032eb: PUSH1 0x40
000032ed: MLOAD
000032ee: DUP1
000032ef: PUSH1 0xe0
000032f1: ADD
000032f2: PUSH1 0x40
000032f4: MSTORE
000032f5: SWAP1
000032f6: DUP2
000032f7: PUSH0
000032f8: DUP3
000032f9: ADD
000032fa: DUP1
000032fb: SLOAD
000032fc: DUP1
000032fd: PUSH1 0x20
000032ff: MUL
00003300: PUSH1 0x20
00003302: ADD
00003303: PUSH1 0x40
00003305: MLOAD
00003306: SWAP1
00003307: DUP2
00003308: ADD
00003309: PUSH1 0x40
0000330b: MSTORE
0000330c: DUP1
0000330d: SWAP3
0000330e: SWAP2
0000330f: SWAP1
00003310: DUP2
00003311: DUP2
00003312: MSTORE
00003313: PUSH1 0x20
00003315: ADD
00003316: DUP3
00003317: DUP1
00003318: SLOAD
00003319: DUP1
0000331a: ISZERO
0000331b: PUSH2 0x3376
0000331e: JUMPI
0000331f: PUSH1 0x20
00003321: MUL
00003322: DUP3
00003323: ADD
00003324: SWAP2
00003325: SWAP1
00003326: PUSH0
00003327: MSTORE
00003328: PUSH1 0x20
0000332a: PUSH0
0000332b: KECCAK256
0000332c: SWAP1
0000332d: JUMPDEST
0000332e: DUP2
0000332f: PUSH0
00003330: SWAP1
00003331: SLOAD
00003332: SWAP1
00003333: PUSH2 0x0100
00003336: EXP
00003337: SWAP1
00003338: DIV
00003339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000334e: AND
0000334f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003364: AND
00003365: DUP2
00003366: MSTORE
00003367: PUSH1 0x20
00003369: ADD
0000336a: SWAP1
0000336b: PUSH1 0x01
0000336d: ADD
0000336e: SWAP1
0000336f: DUP1
00003370: DUP4
00003371: GT
00003372: PUSH2 0x332d
00003375: JUMPI
00003376: JUMPDEST
00003377: POP
00003378: POP
00003379: POP
0000337a: POP
0000337b: POP
0000337c: DUP2
0000337d: MSTORE
0000337e: PUSH1 0x20
00003380: ADD
00003381: PUSH1 0x01
00003383: DUP3
00003384: ADD
00003385: PUSH0
00003386: SWAP1
00003387: SLOAD
00003388: SWAP1
00003389: PUSH2 0x0100
0000338c: EXP
0000338d: SWAP1
0000338e: DIV
0000338f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033a4: AND
000033a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033ba: AND
000033bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033d0: AND
000033d1: DUP2
000033d2: MSTORE
000033d3: PUSH1 0x20
000033d5: ADD
000033d6: PUSH1 0x02
000033d8: DUP3
000033d9: ADD
000033da: SLOAD
000033db: DUP2
000033dc: MSTORE
000033dd: PUSH1 0x20
000033df: ADD
000033e0: PUSH1 0x03
000033e2: DUP3
000033e3: ADD
000033e4: SLOAD
000033e5: DUP2
000033e6: MSTORE
000033e7: PUSH1 0x20
000033e9: ADD
000033ea: PUSH1 0x04
000033ec: DUP3
000033ed: ADD
000033ee: SLOAD
000033ef: DUP2
000033f0: MSTORE
000033f1: PUSH1 0x20
000033f3: ADD
000033f4: PUSH1 0x05
000033f6: DUP3
000033f7: ADD
000033f8: DUP1
000033f9: SLOAD
000033fa: DUP1
000033fb: PUSH1 0x20
000033fd: MUL
000033fe: PUSH1 0x20
00003400: ADD
00003401: PUSH1 0x40
00003403: MLOAD
00003404: SWAP1
00003405: DUP2
00003406: ADD
00003407: PUSH1 0x40
00003409: MSTORE
0000340a: DUP1
0000340b: SWAP3
0000340c: SWAP2
0000340d: SWAP1
0000340e: DUP2
0000340f: DUP2
00003410: MSTORE
00003411: PUSH1 0x20
00003413: ADD
00003414: DUP3
00003415: DUP1
00003416: SLOAD
00003417: DUP1
00003418: ISZERO
00003419: PUSH2 0x3474
0000341c: JUMPI
0000341d: PUSH1 0x20
0000341f: MUL
00003420: DUP3
00003421: ADD
00003422: SWAP2
00003423: SWAP1
00003424: PUSH0
00003425: MSTORE
00003426: PUSH1 0x20
00003428: PUSH0
00003429: KECCAK256
0000342a: SWAP1
0000342b: JUMPDEST
0000342c: DUP2
0000342d: PUSH0
0000342e: SWAP1
0000342f: SLOAD
00003430: SWAP1
00003431: PUSH2 0x0100
00003434: EXP
00003435: SWAP1
00003436: DIV
00003437: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000344c: AND
0000344d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003462: AND
00003463: DUP2
00003464: MSTORE
00003465: PUSH1 0x20
00003467: ADD
00003468: SWAP1
00003469: PUSH1 0x01
0000346b: ADD
0000346c: SWAP1
0000346d: DUP1
0000346e: DUP4
0000346f: GT
00003470: PUSH2 0x342b
00003473: JUMPI
00003474: JUMPDEST
00003475: POP
00003476: POP
00003477: POP
00003478: POP
00003479: POP
0000347a: DUP2
0000347b: MSTORE
0000347c: PUSH1 0x20
0000347e: ADD
0000347f: PUSH1 0x06
00003481: DUP3
00003482: ADD
00003483: SLOAD
00003484: DUP2
00003485: MSTORE
00003486: POP
00003487: POP
00003488: SWAP2
00003489: POP
0000348a: POP
0000348b: SWAP1
0000348c: JUMP
0000348d: JUMPDEST
0000348e: CALLER
0000348f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034a4: AND
000034a5: PUSH1 0x21
000034a7: PUSH0
000034a8: SWAP1
000034a9: SLOAD
000034aa: SWAP1
000034ab: PUSH2 0x0100
000034ae: EXP
000034af: SWAP1
000034b0: DIV
000034b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034c6: AND
000034c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034dc: AND
000034dd: EQ
000034de: PUSH2 0x351c
000034e1: JUMPI
000034e2: PUSH1 0x40
000034e4: MLOAD
000034e5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003506: DUP2
00003507: MSTORE
00003508: PUSH1 0x04
0000350a: ADD
0000350b: PUSH2 0x3513
0000350e: SWAP1
0000350f: PUSH2 0x4381
00003512: JUMP
00003513: JUMPDEST
00003514: PUSH1 0x40
00003516: MLOAD
00003517: DUP1
00003518: SWAP2
00003519: SUB
0000351a: SWAP1
0000351b: REVERT
0000351c: JUMPDEST
0000351d: PUSH1 0x20
0000351f: DUP2
00003520: SWAP1
00003521: DUP1
00003522: PUSH1 0x01
00003524: DUP2
00003525: SLOAD
00003526: ADD
00003527: DUP1
00003528: DUP3
00003529: SSTORE
0000352a: DUP1
0000352b: SWAP2
0000352c: POP
0000352d: POP
0000352e: PUSH1 0x01
00003530: SWAP1
00003531: SUB
00003532: SWAP1
00003533: PUSH0
00003534: MSTORE
00003535: PUSH1 0x20
00003537: PUSH0
00003538: KECCAK256
00003539: ADD
0000353a: PUSH0
0000353b: SWAP1
0000353c: SWAP2
0000353d: SWAP1
0000353e: SWAP2
0000353f: SWAP1
00003540: SWAP2
00003541: PUSH2 0x0100
00003544: EXP
00003545: DUP2
00003546: SLOAD
00003547: DUP2
00003548: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000355d: MUL
0000355e: NOT
0000355f: AND
00003560: SWAP1
00003561: DUP4
00003562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003577: AND
00003578: MUL
00003579: OR
0000357a: SWAP1
0000357b: SSTORE
0000357c: POP
0000357d: POP
0000357e: JUMP
0000357f: JUMPDEST
00003580: PUSH0
00003581: DUP1
00003582: JUMPDEST
00003583: PUSH1 0x20
00003585: DUP1
00003586: SLOAD
00003587: SWAP1
00003588: POP
00003589: DUP2
0000358a: LT
0000358b: ISZERO
0000358c: PUSH2 0x3613
0000358f: JUMPI
00003590: CALLER
00003591: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035a6: AND
000035a7: PUSH1 0x20
000035a9: DUP3
000035aa: DUP2
000035ab: SLOAD
000035ac: DUP2
000035ad: LT
000035ae: PUSH2 0x35ba
000035b1: JUMPI
000035b2: PUSH2 0x35b9
000035b5: PUSH2 0x4226
000035b8: JUMP
000035b9: JUMPDEST
000035ba: JUMPDEST
000035bb: SWAP1
000035bc: PUSH0
000035bd: MSTORE
000035be: PUSH1 0x20
000035c0: PUSH0
000035c1: KECCAK256
000035c2: ADD
000035c3: PUSH0
000035c4: SWAP1
000035c5: SLOAD
000035c6: SWAP1
000035c7: PUSH2 0x0100
000035ca: EXP
000035cb: SWAP1
000035cc: DIV
000035cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035e2: AND
000035e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035f8: AND
000035f9: SUB
000035fa: PUSH2 0x3606
000035fd: JUMPI
000035fe: PUSH1 0x01
00003600: SWAP2
00003601: POP
00003602: PUSH2 0x3613
00003605: JUMP
00003606: JUMPDEST
00003607: DUP1
00003608: DUP1
00003609: PUSH1 0x01
0000360b: ADD
0000360c: SWAP2
0000360d: POP
0000360e: POP
0000360f: PUSH2 0x3582
00003612: JUMP
00003613: JUMPDEST
00003614: POP
00003615: DUP1
00003616: PUSH2 0x3654
00003619: JUMPI
0000361a: PUSH1 0x40
0000361c: MLOAD
0000361d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000363e: DUP2
0000363f: MSTORE
00003640: PUSH1 0x04
00003642: ADD
00003643: PUSH2 0x364b
00003646: SWAP1
00003647: PUSH2 0x42ad
0000364a: JUMP
0000364b: JUMPDEST
0000364c: PUSH1 0x40
0000364e: MLOAD
0000364f: DUP1
00003650: SWAP2
00003651: SUB
00003652: SWAP1
00003653: REVERT
00003654: JUMPDEST
00003655: PUSH0
00003656: PUSH1 0x02
00003658: PUSH8 0xffffffffffffffff
00003661: DUP2
00003662: GT
00003663: ISZERO
00003664: PUSH2 0x3670
00003667: JUMPI
00003668: PUSH2 0x366f
0000366b: PUSH2 0x42cb
0000366e: JUMP
0000366f: JUMPDEST
00003670: JUMPDEST
00003671: PUSH1 0x40
00003673: MLOAD
00003674: SWAP1
00003675: DUP1
00003676: DUP3
00003677: MSTORE
00003678: DUP1
00003679: PUSH1 0x20
0000367b: MUL
0000367c: PUSH1 0x20
0000367e: ADD
0000367f: DUP3
00003680: ADD
00003681: PUSH1 0x40
00003683: MSTORE
00003684: DUP1
00003685: ISZERO
00003686: PUSH2 0x369e
00003689: JUMPI
0000368a: DUP2
0000368b: PUSH1 0x20
0000368d: ADD
0000368e: PUSH1 0x20
00003690: DUP3
00003691: MUL
00003692: DUP1
00003693: CALLDATASIZE
00003694: DUP4
00003695: CALLDATACOPY
00003696: DUP1
00003697: DUP3
00003698: ADD
00003699: SWAP2
0000369a: POP
0000369b: POP
0000369c: SWAP1
0000369d: POP
0000369e: JUMPDEST
0000369f: POP
000036a0: SWAP1
000036a1: POP
000036a2: PUSH0
000036a3: DUP1
000036a4: SLOAD
000036a5: SWAP1
000036a6: PUSH2 0x0100
000036a9: EXP
000036aa: SWAP1
000036ab: DIV
000036ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036c1: AND
000036c2: DUP2
000036c3: PUSH0
000036c4: DUP2
000036c5: MLOAD
000036c6: DUP2
000036c7: LT
000036c8: PUSH2 0x36d4
000036cb: JUMPI
000036cc: PUSH2 0x36d3
000036cf: PUSH2 0x4226
000036d2: JUMP
000036d3: JUMPDEST
000036d4: JUMPDEST
000036d5: PUSH1 0x20
000036d7: MUL
000036d8: PUSH1 0x20
000036da: ADD
000036db: ADD
000036dc: SWAP1
000036dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036f2: AND
000036f3: SWAP1
000036f4: DUP2
000036f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000370a: AND
0000370b: DUP2
0000370c: MSTORE
0000370d: POP
0000370e: POP
0000370f: DUP7
00003710: DUP2
00003711: PUSH1 0x01
00003713: DUP2
00003714: MLOAD
00003715: DUP2
00003716: LT
00003717: PUSH2 0x3723
0000371a: JUMPI
0000371b: PUSH2 0x3722
0000371e: PUSH2 0x4226
00003721: JUMP
00003722: JUMPDEST
00003723: JUMPDEST
00003724: PUSH1 0x20
00003726: MUL
00003727: PUSH1 0x20
00003729: ADD
0000372a: ADD
0000372b: SWAP1
0000372c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003741: AND
00003742: SWAP1
00003743: DUP2
00003744: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003759: AND
0000375a: DUP2
0000375b: MSTORE
0000375c: POP
0000375d: POP
0000375e: PUSH1 0x40
00003760: MLOAD
00003761: DUP1
00003762: PUSH1 0xe0
00003764: ADD
00003765: PUSH1 0x40
00003767: MSTORE
00003768: DUP1
00003769: DUP11
0000376a: DUP11
0000376b: DUP1
0000376c: DUP1
0000376d: PUSH1 0x20
0000376f: MUL
00003770: PUSH1 0x20
00003772: ADD
00003773: PUSH1 0x40
00003775: MLOAD
00003776: SWAP1
00003777: DUP2
00003778: ADD
00003779: PUSH1 0x40
0000377b: MSTORE
0000377c: DUP1
0000377d: SWAP4
0000377e: SWAP3
0000377f: SWAP2
00003780: SWAP1
00003781: DUP2
00003782: DUP2
00003783: MSTORE
00003784: PUSH1 0x20
00003786: ADD
00003787: DUP4
00003788: DUP4
00003789: PUSH1 0x20
0000378b: MUL
0000378c: DUP1
0000378d: DUP3
0000378e: DUP5
0000378f: CALLDATACOPY
00003790: PUSH0
00003791: DUP2
00003792: DUP5
00003793: ADD
00003794: MSTORE
00003795: PUSH1 0x1f
00003797: NOT
00003798: PUSH1 0x1f
0000379a: DUP3
0000379b: ADD
0000379c: AND
0000379d: SWAP1
0000379e: POP
0000379f: DUP1
000037a0: DUP4
000037a1: ADD
000037a2: SWAP3
000037a3: POP
000037a4: POP
000037a5: POP
000037a6: POP
000037a7: POP
000037a8: POP
000037a9: POP
000037aa: DUP2
000037ab: MSTORE
000037ac: PUSH1 0x20
000037ae: ADD
000037af: DUP9
000037b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037c5: AND
000037c6: DUP2
000037c7: MSTORE
000037c8: PUSH1 0x20
000037ca: ADD
000037cb: DUP8
000037cc: DUP2
000037cd: MSTORE
000037ce: PUSH1 0x20
000037d0: ADD
000037d1: DUP7
000037d2: DUP2
000037d3: MSTORE
000037d4: PUSH1 0x20
000037d6: ADD
000037d7: DUP6
000037d8: DUP2
000037d9: MSTORE
000037da: PUSH1 0x20
000037dc: ADD
000037dd: DUP3
000037de: DUP2
000037df: MSTORE
000037e0: PUSH1 0x20
000037e2: ADD
000037e3: DUP5
000037e4: DUP2
000037e5: MSTORE
000037e6: POP
000037e7: PUSH1 0x19
000037e9: PUSH0
000037ea: DUP3
000037eb: ADD
000037ec: MLOAD
000037ed: DUP2
000037ee: PUSH0
000037ef: ADD
000037f0: SWAP1
000037f1: DUP1
000037f2: MLOAD
000037f3: SWAP1
000037f4: PUSH1 0x20
000037f6: ADD
000037f7: SWAP1
000037f8: PUSH2 0x3802
000037fb: SWAP3
000037fc: SWAP2
000037fd: SWAP1
000037fe: PUSH2 0x39eb
00003801: JUMP
00003802: JUMPDEST
00003803: POP
00003804: PUSH1 0x20
00003806: DUP3
00003807: ADD
00003808: MLOAD
00003809: DUP2
0000380a: PUSH1 0x01
0000380c: ADD
0000380d: PUSH0
0000380e: PUSH2 0x0100
00003811: EXP
00003812: DUP2
00003813: SLOAD
00003814: DUP2
00003815: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000382a: MUL
0000382b: NOT
0000382c: AND
0000382d: SWAP1
0000382e: DUP4
0000382f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003844: AND
00003845: MUL
00003846: OR
00003847: SWAP1
00003848: SSTORE
00003849: POP
0000384a: PUSH1 0x40
0000384c: DUP3
0000384d: ADD
0000384e: MLOAD
0000384f: DUP2
00003850: PUSH1 0x02
00003852: ADD
00003853: SSTORE
00003854: PUSH1 0x60
00003856: DUP3
00003857: ADD
00003858: MLOAD
00003859: DUP2
0000385a: PUSH1 0x03
0000385c: ADD
0000385d: SSTORE
0000385e: PUSH1 0x80
00003860: DUP3
00003861: ADD
00003862: MLOAD
00003863: DUP2
00003864: PUSH1 0x04
00003866: ADD
00003867: SSTORE
00003868: PUSH1 0xa0
0000386a: DUP3
0000386b: ADD
0000386c: MLOAD
0000386d: DUP2
0000386e: PUSH1 0x05
00003870: ADD
00003871: SWAP1
00003872: DUP1
00003873: MLOAD
00003874: SWAP1
00003875: PUSH1 0x20
00003877: ADD
00003878: SWAP1
00003879: PUSH2 0x3883
0000387c: SWAP3
0000387d: SWAP2
0000387e: SWAP1
0000387f: PUSH2 0x39eb
00003882: JUMP
00003883: JUMPDEST
00003884: POP
00003885: PUSH1 0xc0
00003887: DUP3
00003888: ADD
00003889: MLOAD
0000388a: DUP2
0000388b: PUSH1 0x06
0000388d: ADD
0000388e: SSTORE
0000388f: SWAP1
00003890: POP
00003891: POP
00003892: POP
00003893: POP
00003894: POP
00003895: POP
00003896: POP
00003897: POP
00003898: POP
00003899: POP
0000389a: POP
0000389b: JUMP
0000389c: JUMPDEST
0000389d: PUSH0
0000389e: DUP1
0000389f: DUP5
000038a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038b5: AND
000038b6: PUSH4 0xa9059cbb
000038bb: PUSH1 0xe0
000038bd: SHL
000038be: DUP6
000038bf: DUP6
000038c0: PUSH1 0x40
000038c2: MLOAD
000038c3: PUSH1 0x24
000038c5: ADD
000038c6: PUSH2 0x38d0
000038c9: SWAP3
000038ca: SWAP2
000038cb: SWAP1
000038cc: PUSH2 0x49a0
000038cf: JUMP
000038d0: JUMPDEST
000038d1: PUSH1 0x40
000038d3: MLOAD
000038d4: PUSH1 0x20
000038d6: DUP2
000038d7: DUP4
000038d8: SUB
000038d9: SUB
000038da: DUP2
000038db: MSTORE
000038dc: SWAP1
000038dd: PUSH1 0x40
000038df: MSTORE
000038e0: SWAP1
000038e1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000038fe: NOT
000038ff: AND
00003900: PUSH1 0x20
00003902: DUP3
00003903: ADD
00003904: DUP1
00003905: MLOAD
00003906: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003923: DUP4
00003924: DUP2
00003925: DUP4
00003926: AND
00003927: OR
00003928: DUP4
00003929: MSTORE
0000392a: POP
0000392b: POP
0000392c: POP
0000392d: POP
0000392e: PUSH1 0x40
00003930: MLOAD
00003931: PUSH2 0x393a
00003934: SWAP2
00003935: SWAP1
00003936: PUSH2 0x47de
00003939: JUMP
0000393a: JUMPDEST
0000393b: PUSH0
0000393c: PUSH1 0x40
0000393e: MLOAD
0000393f: DUP1
00003940: DUP4
00003941: SUB
00003942: DUP2
00003943: PUSH0
00003944: DUP7
00003945: GAS
00003946: CALL
00003947: SWAP2
00003948: POP
00003949: POP
0000394a: RETURNDATASIZE
0000394b: DUP1
0000394c: PUSH0
0000394d: DUP2
0000394e: EQ
0000394f: PUSH2 0x3973
00003952: JUMPI
00003953: PUSH1 0x40
00003955: MLOAD
00003956: SWAP2
00003957: POP
00003958: PUSH1 0x1f
0000395a: NOT
0000395b: PUSH1 0x3f
0000395d: RETURNDATASIZE
0000395e: ADD
0000395f: AND
00003960: DUP3
00003961: ADD
00003962: PUSH1 0x40
00003964: MSTORE
00003965: RETURNDATASIZE
00003966: DUP3
00003967: MSTORE
00003968: RETURNDATASIZE
00003969: PUSH0
0000396a: PUSH1 0x20
0000396c: DUP5
0000396d: ADD
0000396e: RETURNDATACOPY
0000396f: PUSH2 0x3978
00003972: JUMP
00003973: JUMPDEST
00003974: PUSH1 0x60
00003976: SWAP2
00003977: POP
00003978: JUMPDEST
00003979: POP
0000397a: SWAP2
0000397b: POP
0000397c: SWAP2
0000397d: POP
0000397e: DUP2
0000397f: DUP1
00003980: ISZERO
00003981: PUSH2 0x39a5
00003984: JUMPI
00003985: POP
00003986: PUSH0
00003987: DUP2
00003988: MLOAD
00003989: EQ
0000398a: DUP1
0000398b: PUSH2 0x39a4
0000398e: JUMPI
0000398f: POP
00003990: DUP1
00003991: DUP1
00003992: PUSH1 0x20
00003994: ADD
00003995: SWAP1
00003996: MLOAD
00003997: DUP2
00003998: ADD
00003999: SWAP1
0000399a: PUSH2 0x39a3
0000399d: SWAP2
0000399e: SWAP1
0000399f: PUSH2 0x49fc
000039a2: JUMP
000039a3: JUMPDEST
000039a4: JUMPDEST
000039a5: JUMPDEST
000039a6: PUSH2 0x39e4
000039a9: JUMPI
000039aa: PUSH1 0x40
000039ac: MLOAD
000039ad: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000039ce: DUP2
000039cf: MSTORE
000039d0: PUSH1 0x04
000039d2: ADD
000039d3: PUSH2 0x39db
000039d6: SWAP1
000039d7: PUSH2 0x4a71
000039da: JUMP
000039db: JUMPDEST
000039dc: PUSH1 0x40
000039de: MLOAD
000039df: DUP1
000039e0: SWAP2
000039e1: SUB
000039e2: SWAP1
000039e3: REVERT
000039e4: JUMPDEST
000039e5: POP
000039e6: POP
000039e7: POP
000039e8: POP
000039e9: POP
000039ea: JUMP
000039eb: JUMPDEST
000039ec: DUP3
000039ed: DUP1
000039ee: SLOAD
000039ef: DUP3
000039f0: DUP3
000039f1: SSTORE
000039f2: SWAP1
000039f3: PUSH0
000039f4: MSTORE
000039f5: PUSH1 0x20
000039f7: PUSH0
000039f8: KECCAK256
000039f9: SWAP1
000039fa: DUP2
000039fb: ADD
000039fc: SWAP3
000039fd: DUP3
000039fe: ISZERO
000039ff: PUSH2 0x3a61
00003a02: JUMPI
00003a03: SWAP2
00003a04: PUSH1 0x20
00003a06: MUL
00003a07: DUP3
00003a08: ADD
00003a09: JUMPDEST
00003a0a: DUP3
00003a0b: DUP2
00003a0c: GT
00003a0d: ISZERO
00003a0e: PUSH2 0x3a60
00003a11: JUMPI
00003a12: DUP3
00003a13: MLOAD
00003a14: DUP3
00003a15: PUSH0
00003a16: PUSH2 0x0100
00003a19: EXP
00003a1a: DUP2
00003a1b: SLOAD
00003a1c: DUP2
00003a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a32: MUL
00003a33: NOT
00003a34: AND
00003a35: SWAP1
00003a36: DUP4
00003a37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a4c: AND
00003a4d: MUL
00003a4e: OR
00003a4f: SWAP1
00003a50: SSTORE
00003a51: POP
00003a52: SWAP2
00003a53: PUSH1 0x20
00003a55: ADD
00003a56: SWAP2
00003a57: SWAP1
00003a58: PUSH1 0x01
00003a5a: ADD
00003a5b: SWAP1
00003a5c: PUSH2 0x3a09
00003a5f: JUMP
00003a60: JUMPDEST
00003a61: JUMPDEST
00003a62: POP
00003a63: SWAP1
00003a64: POP
00003a65: PUSH2 0x3a6e
00003a68: SWAP2
00003a69: SWAP1
00003a6a: PUSH2 0x3baa
00003a6d: JUMP
00003a6e: JUMPDEST
00003a6f: POP
00003a70: SWAP1
00003a71: JUMP
00003a72: JUMPDEST
00003a73: PUSH1 0x40
00003a75: MLOAD
00003a76: DUP1
00003a77: PUSH1 0xe0
00003a79: ADD
00003a7a: PUSH1 0x40
00003a7c: MSTORE
00003a7d: DUP1
00003a7e: PUSH1 0x60
00003a80: DUP2
00003a81: MSTORE
00003a82: PUSH1 0x20
00003a84: ADD
00003a85: PUSH0
00003a86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a9b: AND
00003a9c: DUP2
00003a9d: MSTORE
00003a9e: PUSH1 0x20
00003aa0: ADD
00003aa1: PUSH0
00003aa2: DUP2
00003aa3: MSTORE
00003aa4: PUSH1 0x20
00003aa6: ADD
00003aa7: PUSH0
00003aa8: DUP2
00003aa9: MSTORE
00003aaa: PUSH1 0x20
00003aac: ADD
00003aad: PUSH0
00003aae: DUP2
00003aaf: MSTORE
00003ab0: PUSH1 0x20
00003ab2: ADD
00003ab3: PUSH1 0x60
00003ab5: DUP2
00003ab6: MSTORE
00003ab7: PUSH1 0x20
00003ab9: ADD
00003aba: PUSH0
00003abb: DUP2
00003abc: MSTORE
00003abd: POP
00003abe: SWAP1
00003abf: JUMP
00003ac0: JUMPDEST
00003ac1: PUSH1 0x40
00003ac3: MLOAD
00003ac4: DUP1
00003ac5: PUSH1 0xe0
00003ac7: ADD
00003ac8: PUSH1 0x40
00003aca: MSTORE
00003acb: DUP1
00003acc: PUSH1 0x60
00003ace: DUP2
00003acf: MSTORE
00003ad0: PUSH1 0x20
00003ad2: ADD
00003ad3: PUSH0
00003ad4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ae9: AND
00003aea: DUP2
00003aeb: MSTORE
00003aec: PUSH1 0x20
00003aee: ADD
00003aef: PUSH0
00003af0: DUP2
00003af1: MSTORE
00003af2: PUSH1 0x20
00003af4: ADD
00003af5: PUSH0
00003af6: DUP2
00003af7: MSTORE
00003af8: PUSH1 0x20
00003afa: ADD
00003afb: PUSH0
00003afc: DUP2
00003afd: MSTORE
00003afe: PUSH1 0x20
00003b00: ADD
00003b01: PUSH1 0x60
00003b03: DUP2
00003b04: MSTORE
00003b05: PUSH1 0x20
00003b07: ADD
00003b08: PUSH0
00003b09: DUP2
00003b0a: MSTORE
00003b0b: POP
00003b0c: SWAP1
00003b0d: JUMP
00003b0e: JUMPDEST
00003b0f: PUSH1 0x40
00003b11: MLOAD
00003b12: DUP1
00003b13: PUSH1 0xe0
00003b15: ADD
00003b16: PUSH1 0x40
00003b18: MSTORE
00003b19: DUP1
00003b1a: PUSH1 0x60
00003b1c: DUP2
00003b1d: MSTORE
00003b1e: PUSH1 0x20
00003b20: ADD
00003b21: PUSH0
00003b22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b37: AND
00003b38: DUP2
00003b39: MSTORE
00003b3a: PUSH1 0x20
00003b3c: ADD
00003b3d: PUSH0
00003b3e: DUP2
00003b3f: MSTORE
00003b40: PUSH1 0x20
00003b42: ADD
00003b43: PUSH0
00003b44: DUP2
00003b45: MSTORE
00003b46: PUSH1 0x20
00003b48: ADD
00003b49: PUSH0
00003b4a: DUP2
00003b4b: MSTORE
00003b4c: PUSH1 0x20
00003b4e: ADD
00003b4f: PUSH1 0x60
00003b51: DUP2
00003b52: MSTORE
00003b53: PUSH1 0x20
00003b55: ADD
00003b56: PUSH0
00003b57: DUP2
00003b58: MSTORE
00003b59: POP
00003b5a: SWAP1
00003b5b: JUMP
00003b5c: JUMPDEST
00003b5d: PUSH1 0x40
00003b5f: MLOAD
00003b60: DUP1
00003b61: PUSH1 0xe0
00003b63: ADD
00003b64: PUSH1 0x40
00003b66: MSTORE
00003b67: DUP1
00003b68: PUSH1 0x60
00003b6a: DUP2
00003b6b: MSTORE
00003b6c: PUSH1 0x20
00003b6e: ADD
00003b6f: PUSH0
00003b70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b85: AND
00003b86: DUP2
00003b87: MSTORE
00003b88: PUSH1 0x20
00003b8a: ADD
00003b8b: PUSH0
00003b8c: DUP2
00003b8d: MSTORE
00003b8e: PUSH1 0x20
00003b90: ADD
00003b91: PUSH0
00003b92: DUP2
00003b93: MSTORE
00003b94: PUSH1 0x20
00003b96: ADD
00003b97: PUSH0
00003b98: DUP2
00003b99: MSTORE
00003b9a: PUSH1 0x20
00003b9c: ADD
00003b9d: PUSH1 0x60
00003b9f: DUP2
00003ba0: MSTORE
00003ba1: PUSH1 0x20
00003ba3: ADD
00003ba4: PUSH0
00003ba5: DUP2
00003ba6: MSTORE
00003ba7: POP
00003ba8: SWAP1
00003ba9: JUMP
00003baa: JUMPDEST
00003bab: JUMPDEST
00003bac: DUP1
00003bad: DUP3
00003bae: GT
00003baf: ISZERO
00003bb0: PUSH2 0x3bc1
00003bb3: JUMPI
00003bb4: PUSH0
00003bb5: DUP2
00003bb6: PUSH0
00003bb7: SWAP1
00003bb8: SSTORE
00003bb9: POP
00003bba: PUSH1 0x01
00003bbc: ADD
00003bbd: PUSH2 0x3bab
00003bc0: JUMP
00003bc1: JUMPDEST
00003bc2: POP
00003bc3: SWAP1
00003bc4: JUMP
00003bc5: JUMPDEST
00003bc6: PUSH0
00003bc7: PUSH1 0x40
00003bc9: MLOAD
00003bca: SWAP1
00003bcb: POP
00003bcc: SWAP1
00003bcd: JUMP
00003bce: JUMPDEST
00003bcf: PUSH0
00003bd0: DUP1
00003bd1: REVERT
00003bd2: JUMPDEST
00003bd3: PUSH0
00003bd4: DUP1
00003bd5: REVERT
00003bd6: JUMPDEST
00003bd7: PUSH0
00003bd8: DUP1
00003bd9: REVERT
00003bda: JUMPDEST
00003bdb: PUSH0
00003bdc: DUP1
00003bdd: REVERT
00003bde: JUMPDEST
00003bdf: PUSH0
00003be0: DUP1
00003be1: REVERT
00003be2: JUMPDEST
00003be3: PUSH0
00003be4: DUP1
00003be5: DUP4
00003be6: PUSH1 0x1f
00003be8: DUP5
00003be9: ADD
00003bea: SLT
00003beb: PUSH2 0x3bf7
00003bee: JUMPI
00003bef: PUSH2 0x3bf6
00003bf2: PUSH2 0x3bd6
00003bf5: JUMP
00003bf6: JUMPDEST
00003bf7: JUMPDEST
00003bf8: DUP3
00003bf9: CALLDATALOAD
00003bfa: SWAP1
00003bfb: POP
00003bfc: PUSH8 0xffffffffffffffff
00003c05: DUP2
00003c06: GT
00003c07: ISZERO
00003c08: PUSH2 0x3c14
00003c0b: JUMPI
00003c0c: PUSH2 0x3c13
00003c0f: PUSH2 0x3bda
00003c12: JUMP
00003c13: JUMPDEST
00003c14: JUMPDEST
00003c15: PUSH1 0x20
00003c17: DUP4
00003c18: ADD
00003c19: SWAP2
00003c1a: POP
00003c1b: DUP4
00003c1c: PUSH1 0x20
00003c1e: DUP3
00003c1f: MUL
00003c20: DUP4
00003c21: ADD
00003c22: GT
00003c23: ISZERO
00003c24: PUSH2 0x3c30
00003c27: JUMPI
00003c28: PUSH2 0x3c2f
00003c2b: PUSH2 0x3bde
00003c2e: JUMP
00003c2f: JUMPDEST
00003c30: JUMPDEST
00003c31: SWAP3
00003c32: POP
00003c33: SWAP3
00003c34: SWAP1
00003c35: POP
00003c36: JUMP
00003c37: JUMPDEST
00003c38: PUSH0
00003c39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c4e: DUP3
00003c4f: AND
00003c50: SWAP1
00003c51: POP
00003c52: SWAP2
00003c53: SWAP1
00003c54: POP
00003c55: JUMP
00003c56: JUMPDEST
00003c57: PUSH0
00003c58: PUSH2 0x3c60
00003c5b: DUP3
00003c5c: PUSH2 0x3c37
00003c5f: JUMP
00003c60: JUMPDEST
00003c61: SWAP1
00003c62: POP
00003c63: SWAP2
00003c64: SWAP1
00003c65: POP
00003c66: JUMP
00003c67: JUMPDEST
00003c68: PUSH2 0x3c70
00003c6b: DUP2
00003c6c: PUSH2 0x3c56
00003c6f: JUMP
00003c70: JUMPDEST
00003c71: DUP2
00003c72: EQ
00003c73: PUSH2 0x3c7a
00003c76: JUMPI
00003c77: PUSH0
00003c78: DUP1
00003c79: REVERT
00003c7a: JUMPDEST
00003c7b: POP
00003c7c: JUMP
00003c7d: JUMPDEST
00003c7e: PUSH0
00003c7f: DUP2
00003c80: CALLDATALOAD
00003c81: SWAP1
00003c82: POP
00003c83: PUSH2 0x3c8b
00003c86: DUP2
00003c87: PUSH2 0x3c67
00003c8a: JUMP
00003c8b: JUMPDEST
00003c8c: SWAP3
00003c8d: SWAP2
00003c8e: POP
00003c8f: POP
00003c90: JUMP
00003c91: JUMPDEST
00003c92: PUSH0
00003c93: DUP2
00003c94: SWAP1
00003c95: POP
00003c96: SWAP2
00003c97: SWAP1
00003c98: POP
00003c99: JUMP
00003c9a: JUMPDEST
00003c9b: PUSH2 0x3ca3
00003c9e: DUP2
00003c9f: PUSH2 0x3c91
00003ca2: JUMP
00003ca3: JUMPDEST
00003ca4: DUP2
00003ca5: EQ
00003ca6: PUSH2 0x3cad
00003ca9: JUMPI
00003caa: PUSH0
00003cab: DUP1
00003cac: REVERT
00003cad: JUMPDEST
00003cae: POP
00003caf: JUMP
00003cb0: JUMPDEST
00003cb1: PUSH0
00003cb2: DUP2
00003cb3: CALLDATALOAD
00003cb4: SWAP1
00003cb5: POP
00003cb6: PUSH2 0x3cbe
00003cb9: DUP2
00003cba: PUSH2 0x3c9a
00003cbd: JUMP
00003cbe: JUMPDEST
00003cbf: SWAP3
00003cc0: SWAP2
00003cc1: POP
00003cc2: POP
00003cc3: JUMP
00003cc4: JUMPDEST
00003cc5: PUSH0
00003cc6: DUP1
00003cc7: PUSH0
00003cc8: DUP1
00003cc9: PUSH0
00003cca: DUP1
00003ccb: PUSH0
00003ccc: PUSH1 0xc0
00003cce: DUP9
00003ccf: DUP11
00003cd0: SUB
00003cd1: SLT
00003cd2: ISZERO
00003cd3: PUSH2 0x3cdf
00003cd6: JUMPI
00003cd7: PUSH2 0x3cde
00003cda: PUSH2 0x3bce
00003cdd: JUMP
00003cde: JUMPDEST
00003cdf: JUMPDEST
00003ce0: PUSH0
00003ce1: DUP9
00003ce2: ADD
00003ce3: CALLDATALOAD
00003ce4: PUSH8 0xffffffffffffffff
00003ced: DUP2
00003cee: GT
00003cef: ISZERO
00003cf0: PUSH2 0x3cfc
00003cf3: JUMPI
00003cf4: PUSH2 0x3cfb
00003cf7: PUSH2 0x3bd2
00003cfa: JUMP
00003cfb: JUMPDEST
00003cfc: JUMPDEST
00003cfd: PUSH2 0x3d08
00003d00: DUP11
00003d01: DUP3
00003d02: DUP12
00003d03: ADD
00003d04: PUSH2 0x3be2
00003d07: JUMP
00003d08: JUMPDEST
00003d09: SWAP8
00003d0a: POP
00003d0b: SWAP8
00003d0c: POP
00003d0d: POP
00003d0e: PUSH1 0x20
00003d10: PUSH2 0x3d1b
00003d13: DUP11
00003d14: DUP3
00003d15: DUP12
00003d16: ADD
00003d17: PUSH2 0x3c7d
00003d1a: JUMP
00003d1b: JUMPDEST
00003d1c: SWAP6
00003d1d: POP
00003d1e: POP
00003d1f: PUSH1 0x40
00003d21: PUSH2 0x3d2c
00003d24: DUP11
00003d25: DUP3
00003d26: DUP12
00003d27: ADD
00003d28: PUSH2 0x3cb0
00003d2b: JUMP
00003d2c: JUMPDEST
00003d2d: SWAP5
00003d2e: POP
00003d2f: POP
00003d30: PUSH1 0x60
00003d32: PUSH2 0x3d3d
00003d35: DUP11
00003d36: DUP3
00003d37: DUP12
00003d38: ADD
00003d39: PUSH2 0x3cb0
00003d3c: JUMP
00003d3d: JUMPDEST
00003d3e: SWAP4
00003d3f: POP
00003d40: POP
00003d41: PUSH1 0x80
00003d43: PUSH2 0x3d4e
00003d46: DUP11
00003d47: DUP3
00003d48: DUP12
00003d49: ADD
00003d4a: PUSH2 0x3cb0
00003d4d: JUMP
00003d4e: JUMPDEST
00003d4f: SWAP3
00003d50: POP
00003d51: POP
00003d52: PUSH1 0xa0
00003d54: PUSH2 0x3d5f
00003d57: DUP11
00003d58: DUP3
00003d59: DUP12
00003d5a: ADD
00003d5b: PUSH2 0x3cb0
00003d5e: JUMP
00003d5f: JUMPDEST
00003d60: SWAP2
00003d61: POP
00003d62: POP
00003d63: SWAP3
00003d64: SWAP6
00003d65: SWAP9
00003d66: SWAP2
00003d67: SWAP5
00003d68: SWAP8
00003d69: POP
00003d6a: SWAP3
00003d6b: SWAP6
00003d6c: POP
00003d6d: JUMP
00003d6e: JUMPDEST
00003d6f: PUSH0
00003d70: DUP2
00003d71: MLOAD
00003d72: SWAP1
00003d73: POP
00003d74: SWAP2
00003d75: SWAP1
00003d76: POP
00003d77: JUMP
00003d78: JUMPDEST
00003d79: PUSH0
00003d7a: DUP3
00003d7b: DUP3
00003d7c: MSTORE
00003d7d: PUSH1 0x20
00003d7f: DUP3
00003d80: ADD
00003d81: SWAP1
00003d82: POP
00003d83: SWAP3
00003d84: SWAP2
00003d85: POP
00003d86: POP
00003d87: JUMP
00003d88: JUMPDEST
00003d89: PUSH0
00003d8a: DUP2
00003d8b: SWAP1
00003d8c: POP
00003d8d: PUSH1 0x20
00003d8f: DUP3
00003d90: ADD
00003d91: SWAP1
00003d92: POP
00003d93: SWAP2
00003d94: SWAP1
00003d95: POP
00003d96: JUMP
00003d97: JUMPDEST
00003d98: PUSH2 0x3da0
00003d9b: DUP2
00003d9c: PUSH2 0x3c56
00003d9f: JUMP
00003da0: JUMPDEST
00003da1: DUP3
00003da2: MSTORE
00003da3: POP
00003da4: POP
00003da5: JUMP
00003da6: JUMPDEST
00003da7: PUSH0
00003da8: PUSH2 0x3db1
00003dab: DUP4
00003dac: DUP4
00003dad: PUSH2 0x3d97
00003db0: JUMP
00003db1: JUMPDEST
00003db2: PUSH1 0x20
00003db4: DUP4
00003db5: ADD
00003db6: SWAP1
00003db7: POP
00003db8: SWAP3
00003db9: SWAP2
00003dba: POP
00003dbb: POP
00003dbc: JUMP
00003dbd: JUMPDEST
00003dbe: PUSH0
00003dbf: PUSH1 0x20
00003dc1: DUP3
00003dc2: ADD
00003dc3: SWAP1
00003dc4: POP
00003dc5: SWAP2
00003dc6: SWAP1
00003dc7: POP
00003dc8: JUMP
00003dc9: JUMPDEST
00003dca: PUSH0
00003dcb: PUSH2 0x3dd3
00003dce: DUP3
00003dcf: PUSH2 0x3d6e
00003dd2: JUMP
00003dd3: JUMPDEST
00003dd4: PUSH2 0x3ddd
00003dd7: DUP2
00003dd8: DUP6
00003dd9: PUSH2 0x3d78
00003ddc: JUMP
00003ddd: JUMPDEST
00003dde: SWAP4
00003ddf: POP
00003de0: PUSH2 0x3de8
00003de3: DUP4
00003de4: PUSH2 0x3d88
00003de7: JUMP
00003de8: JUMPDEST
00003de9: DUP1
00003dea: PUSH0
00003deb: JUMPDEST
00003dec: DUP4
00003ded: DUP2
00003dee: LT
00003def: ISZERO
00003df0: PUSH2 0x3e18
00003df3: JUMPI
00003df4: DUP2
00003df5: MLOAD
00003df6: PUSH2 0x3dff
00003df9: DUP9
00003dfa: DUP3
00003dfb: PUSH2 0x3da6
00003dfe: JUMP
00003dff: JUMPDEST
00003e00: SWAP8
00003e01: POP
00003e02: PUSH2 0x3e0a
00003e05: DUP4
00003e06: PUSH2 0x3dbd
00003e09: JUMP
00003e0a: JUMPDEST
00003e0b: SWAP3
00003e0c: POP
00003e0d: POP
00003e0e: PUSH1 0x01
00003e10: DUP2
00003e11: ADD
00003e12: SWAP1
00003e13: POP
00003e14: PUSH2 0x3deb
00003e17: JUMP
00003e18: JUMPDEST
00003e19: POP
00003e1a: DUP6
00003e1b: SWAP4
00003e1c: POP
00003e1d: POP
00003e1e: POP
00003e1f: POP
00003e20: SWAP3
00003e21: SWAP2
00003e22: POP
00003e23: POP
00003e24: JUMP
00003e25: JUMPDEST
00003e26: PUSH2 0x3e2e
00003e29: DUP2
00003e2a: PUSH2 0x3c91
00003e2d: JUMP
00003e2e: JUMPDEST
00003e2f: DUP3
00003e30: MSTORE
00003e31: POP
00003e32: POP
00003e33: JUMP
00003e34: JUMPDEST
00003e35: PUSH0
00003e36: PUSH1 0xe0
00003e38: DUP4
00003e39: ADD
00003e3a: PUSH0
00003e3b: DUP4
00003e3c: ADD
00003e3d: MLOAD
00003e3e: DUP5
00003e3f: DUP3
00003e40: SUB
00003e41: PUSH0
00003e42: DUP7
00003e43: ADD
00003e44: MSTORE
00003e45: PUSH2 0x3e4e
00003e48: DUP3
00003e49: DUP3
00003e4a: PUSH2 0x3dc9
00003e4d: JUMP
00003e4e: JUMPDEST
00003e4f: SWAP2
00003e50: POP
00003e51: POP
00003e52: PUSH1 0x20
00003e54: DUP4
00003e55: ADD
00003e56: MLOAD
00003e57: PUSH2 0x3e63
00003e5a: PUSH1 0x20
00003e5c: DUP7
00003e5d: ADD
00003e5e: DUP3
00003e5f: PUSH2 0x3d97
00003e62: JUMP
00003e63: JUMPDEST
00003e64: POP
00003e65: PUSH1 0x40
00003e67: DUP4
00003e68: ADD
00003e69: MLOAD
00003e6a: PUSH2 0x3e76
00003e6d: PUSH1 0x40
00003e6f: DUP7
00003e70: ADD
00003e71: DUP3
00003e72: PUSH2 0x3e25
00003e75: JUMP
00003e76: JUMPDEST
00003e77: POP
00003e78: PUSH1 0x60
00003e7a: DUP4
00003e7b: ADD
00003e7c: MLOAD
00003e7d: PUSH2 0x3e89
00003e80: PUSH1 0x60
00003e82: DUP7
00003e83: ADD
00003e84: DUP3
00003e85: PUSH2 0x3e25
00003e88: JUMP
00003e89: JUMPDEST
00003e8a: POP
00003e8b: PUSH1 0x80
00003e8d: DUP4
00003e8e: ADD
00003e8f: MLOAD
00003e90: PUSH2 0x3e9c
00003e93: PUSH1 0x80
00003e95: DUP7
00003e96: ADD
00003e97: DUP3
00003e98: PUSH2 0x3e25
00003e9b: JUMP
00003e9c: JUMPDEST
00003e9d: POP
00003e9e: PUSH1 0xa0
00003ea0: DUP4
00003ea1: ADD
00003ea2: MLOAD
00003ea3: DUP5
00003ea4: DUP3
00003ea5: SUB
00003ea6: PUSH1 0xa0
00003ea8: DUP7
00003ea9: ADD
00003eaa: MSTORE
00003eab: PUSH2 0x3eb4
00003eae: DUP3
00003eaf: DUP3
00003eb0: PUSH2 0x3dc9
00003eb3: JUMP
00003eb4: JUMPDEST
00003eb5: SWAP2
00003eb6: POP
00003eb7: POP
00003eb8: PUSH1 0xc0
00003eba: DUP4
00003ebb: ADD
00003ebc: MLOAD
00003ebd: PUSH2 0x3ec9
00003ec0: PUSH1 0xc0
00003ec2: DUP7
00003ec3: ADD
00003ec4: DUP3
00003ec5: PUSH2 0x3e25
00003ec8: JUMP
00003ec9: JUMPDEST
00003eca: POP
00003ecb: DUP1
00003ecc: SWAP2
00003ecd: POP
00003ece: POP
00003ecf: SWAP3
00003ed0: SWAP2
00003ed1: POP
00003ed2: POP
00003ed3: JUMP
00003ed4: JUMPDEST
00003ed5: PUSH0
00003ed6: PUSH1 0x20
00003ed8: DUP3
00003ed9: ADD
00003eda: SWAP1
00003edb: POP
00003edc: DUP2
00003edd: DUP2
00003ede: SUB
00003edf: PUSH0
00003ee0: DUP4
00003ee1: ADD
00003ee2: MSTORE
00003ee3: PUSH2 0x3eec
00003ee6: DUP2
00003ee7: DUP5
00003ee8: PUSH2 0x3e34
00003eeb: JUMP
00003eec: JUMPDEST
00003eed: SWAP1
00003eee: POP
00003eef: SWAP3
00003ef0: SWAP2
00003ef1: POP
00003ef2: POP
00003ef3: JUMP
00003ef4: JUMPDEST
00003ef5: PUSH0
00003ef6: PUSH1 0x20
00003ef8: DUP3
00003ef9: DUP5
00003efa: SUB
00003efb: SLT
00003efc: ISZERO
00003efd: PUSH2 0x3f09
00003f00: JUMPI
00003f01: PUSH2 0x3f08
00003f04: PUSH2 0x3bce
00003f07: JUMP
00003f08: JUMPDEST
00003f09: JUMPDEST
00003f0a: PUSH0
00003f0b: PUSH2 0x3f16
00003f0e: DUP5
00003f0f: DUP3
00003f10: DUP6
00003f11: ADD
00003f12: PUSH2 0x3cb0
00003f15: JUMP
00003f16: JUMPDEST
00003f17: SWAP2
00003f18: POP
00003f19: POP
00003f1a: SWAP3
00003f1b: SWAP2
00003f1c: POP
00003f1d: POP
00003f1e: JUMP
00003f1f: JUMPDEST
00003f20: PUSH2 0x3f28
00003f23: DUP2
00003f24: PUSH2 0x3c56
00003f27: JUMP
00003f28: JUMPDEST
00003f29: DUP3
00003f2a: MSTORE
00003f2b: POP
00003f2c: POP
00003f2d: JUMP
00003f2e: JUMPDEST
00003f2f: PUSH0
00003f30: PUSH1 0x20
00003f32: DUP3
00003f33: ADD
00003f34: SWAP1
00003f35: POP
00003f36: PUSH2 0x3f41
00003f39: PUSH0
00003f3a: DUP4
00003f3b: ADD
00003f3c: DUP5
00003f3d: PUSH2 0x3f1f
00003f40: JUMP
00003f41: JUMPDEST
00003f42: SWAP3
00003f43: SWAP2
00003f44: POP
00003f45: POP
00003f46: JUMP
00003f47: JUMPDEST
00003f48: PUSH0
00003f49: PUSH1 0xe0
00003f4b: DUP4
00003f4c: ADD
00003f4d: PUSH0
00003f4e: DUP4
00003f4f: ADD
00003f50: MLOAD
00003f51: DUP5
00003f52: DUP3
00003f53: SUB
00003f54: PUSH0
00003f55: DUP7
00003f56: ADD
00003f57: MSTORE
00003f58: PUSH2 0x3f61
00003f5b: DUP3
00003f5c: DUP3
00003f5d: PUSH2 0x3dc9
00003f60: JUMP
00003f61: JUMPDEST
00003f62: SWAP2
00003f63: POP
00003f64: POP
00003f65: PUSH1 0x20
00003f67: DUP4
00003f68: ADD
00003f69: MLOAD
00003f6a: PUSH2 0x3f76
00003f6d: PUSH1 0x20
00003f6f: DUP7
00003f70: ADD
00003f71: DUP3
00003f72: PUSH2 0x3d97
00003f75: JUMP
00003f76: JUMPDEST
00003f77: POP
00003f78: PUSH1 0x40
00003f7a: DUP4
00003f7b: ADD
00003f7c: MLOAD
00003f7d: PUSH2 0x3f89
00003f80: PUSH1 0x40
00003f82: DUP7
00003f83: ADD
00003f84: DUP3
00003f85: PUSH2 0x3e25
00003f88: JUMP
00003f89: JUMPDEST
00003f8a: POP
00003f8b: PUSH1 0x60
00003f8d: DUP4
00003f8e: ADD
00003f8f: MLOAD
00003f90: PUSH2 0x3f9c
00003f93: PUSH1 0x60
00003f95: DUP7
00003f96: ADD
00003f97: DUP3
00003f98: PUSH2 0x3e25
00003f9b: JUMP
00003f9c: JUMPDEST
00003f9d: POP
00003f9e: PUSH1 0x80
00003fa0: DUP4
00003fa1: ADD
00003fa2: MLOAD
00003fa3: PUSH2 0x3faf
00003fa6: PUSH1 0x80
00003fa8: DUP7
00003fa9: ADD
00003faa: DUP3
00003fab: PUSH2 0x3e25
00003fae: JUMP
00003faf: JUMPDEST
00003fb0: POP
00003fb1: PUSH1 0xa0
00003fb3: DUP4
00003fb4: ADD
00003fb5: MLOAD
00003fb6: DUP5
00003fb7: DUP3
00003fb8: SUB
00003fb9: PUSH1 0xa0
00003fbb: DUP7
00003fbc: ADD
00003fbd: MSTORE
00003fbe: PUSH2 0x3fc7
00003fc1: DUP3
00003fc2: DUP3
00003fc3: PUSH2 0x3dc9
00003fc6: JUMP
00003fc7: JUMPDEST
00003fc8: SWAP2
00003fc9: POP
00003fca: POP
00003fcb: PUSH1 0xc0
00003fcd: DUP4
00003fce: ADD
00003fcf: MLOAD
00003fd0: PUSH2 0x3fdc
00003fd3: PUSH1 0xc0
00003fd5: DUP7
00003fd6: ADD
00003fd7: DUP3
00003fd8: PUSH2 0x3e25
00003fdb: JUMP
00003fdc: JUMPDEST
00003fdd: POP
00003fde: DUP1
00003fdf: SWAP2
00003fe0: POP
00003fe1: POP
00003fe2: SWAP3
00003fe3: SWAP2
00003fe4: POP
00003fe5: POP
00003fe6: JUMP
00003fe7: JUMPDEST
00003fe8: PUSH0
00003fe9: PUSH1 0x20
00003feb: DUP3
00003fec: ADD
00003fed: SWAP1
00003fee: POP
00003fef: DUP2
00003ff0: DUP2
00003ff1: SUB
00003ff2: PUSH0
00003ff3: DUP4
00003ff4: ADD
00003ff5: MSTORE
00003ff6: PUSH2 0x3fff
00003ff9: DUP2
00003ffa: DUP5
00003ffb: PUSH2 0x3f47
00003ffe: JUMP
00003fff: JUMPDEST
00004000: SWAP1
00004001: POP
00004002: SWAP3
00004003: SWAP2
00004004: POP
00004005: POP
00004006: JUMP
00004007: JUMPDEST
00004008: PUSH0
00004009: PUSH1 0x20
0000400b: DUP3
0000400c: DUP5
0000400d: SUB
0000400e: SLT
0000400f: ISZERO
00004010: PUSH2 0x401c
00004013: JUMPI
00004014: PUSH2 0x401b
00004017: PUSH2 0x3bce
0000401a: JUMP
0000401b: JUMPDEST
0000401c: JUMPDEST
0000401d: PUSH0
0000401e: PUSH2 0x4029
00004021: DUP5
00004022: DUP3
00004023: DUP6
00004024: ADD
00004025: PUSH2 0x3c7d
00004028: JUMP
00004029: JUMPDEST
0000402a: SWAP2
0000402b: POP
0000402c: POP
0000402d: SWAP3
0000402e: SWAP2
0000402f: POP
00004030: POP
00004031: JUMP
00004032: JUMPDEST
00004033: PUSH0
00004034: PUSH1 0xe0
00004036: DUP4
00004037: ADD
00004038: PUSH0
00004039: DUP4
0000403a: ADD
0000403b: MLOAD
0000403c: DUP5
0000403d: DUP3
0000403e: SUB
0000403f: PUSH0
00004040: DUP7
00004041: ADD
00004042: MSTORE
00004043: PUSH2 0x404c
00004046: DUP3
00004047: DUP3
00004048: PUSH2 0x3dc9
0000404b: JUMP
0000404c: JUMPDEST
0000404d: SWAP2
0000404e: POP
0000404f: POP
00004050: PUSH1 0x20
00004052: DUP4
00004053: ADD
00004054: MLOAD
00004055: PUSH2 0x4061
00004058: PUSH1 0x20
0000405a: DUP7
0000405b: ADD
0000405c: DUP3
0000405d: PUSH2 0x3d97
00004060: JUMP
00004061: JUMPDEST
00004062: POP
00004063: PUSH1 0x40
00004065: DUP4
00004066: ADD
00004067: MLOAD
00004068: PUSH2 0x4074
0000406b: PUSH1 0x40
0000406d: DUP7
0000406e: ADD
0000406f: DUP3
00004070: PUSH2 0x3e25
00004073: JUMP
00004074: JUMPDEST
00004075: POP
00004076: PUSH1 0x60
00004078: DUP4
00004079: ADD
0000407a: MLOAD
0000407b: PUSH2 0x4087
0000407e: PUSH1 0x60
00004080: DUP7
00004081: ADD
00004082: DUP3
00004083: PUSH2 0x3e25
00004086: JUMP
00004087: JUMPDEST
00004088: POP
00004089: PUSH1 0x80
0000408b: DUP4
0000408c: ADD
0000408d: MLOAD
0000408e: PUSH2 0x409a
00004091: PUSH1 0x80
00004093: DUP7
00004094: ADD
00004095: DUP3
00004096: PUSH2 0x3e25
00004099: JUMP
0000409a: JUMPDEST
0000409b: POP
0000409c: PUSH1 0xa0
0000409e: DUP4
0000409f: ADD
000040a0: MLOAD
000040a1: DUP5
000040a2: DUP3
000040a3: SUB
000040a4: PUSH1 0xa0
000040a6: DUP7
000040a7: ADD
000040a8: MSTORE
000040a9: PUSH2 0x40b2
000040ac: DUP3
000040ad: DUP3
000040ae: PUSH2 0x3dc9
000040b1: JUMP
000040b2: JUMPDEST
000040b3: SWAP2
000040b4: POP
000040b5: POP
000040b6: PUSH1 0xc0
000040b8: DUP4
000040b9: ADD
000040ba: MLOAD
000040bb: PUSH2 0x40c7
000040be: PUSH1 0xc0
000040c0: DUP7
000040c1: ADD
000040c2: DUP3
000040c3: PUSH2 0x3e25
000040c6: JUMP
000040c7: JUMPDEST
000040c8: POP
000040c9: DUP1
000040ca: SWAP2
000040cb: POP
000040cc: POP
000040cd: SWAP3
000040ce: SWAP2
000040cf: POP
000040d0: POP
000040d1: JUMP
000040d2: JUMPDEST
000040d3: PUSH0
000040d4: PUSH1 0x20
000040d6: DUP3
000040d7: ADD
000040d8: SWAP1
000040d9: POP
000040da: DUP2
000040db: DUP2
000040dc: SUB
000040dd: PUSH0
000040de: DUP4
000040df: ADD
000040e0: MSTORE
000040e1: PUSH2 0x40ea
000040e4: DUP2
000040e5: DUP5
000040e6: PUSH2 0x4032
000040e9: JUMP
000040ea: JUMPDEST
000040eb: SWAP1
000040ec: POP
000040ed: SWAP3
000040ee: SWAP2
000040ef: POP
000040f0: POP
000040f1: JUMP
000040f2: JUMPDEST
000040f3: PUSH0
000040f4: DUP2
000040f5: SWAP1
000040f6: POP
000040f7: SWAP2
000040f8: SWAP1
000040f9: POP
000040fa: JUMP
000040fb: JUMPDEST
000040fc: PUSH0
000040fd: PUSH2 0x4115
00004100: PUSH2 0x4110
00004103: PUSH2 0x410b
00004106: DUP5
00004107: PUSH2 0x3c37
0000410a: JUMP
0000410b: JUMPDEST
0000410c: PUSH2 0x40f2
0000410f: JUMP
00004110: JUMPDEST
00004111: PUSH2 0x3c37
00004114: JUMP
00004115: JUMPDEST
00004116: SWAP1
00004117: POP
00004118: SWAP2
00004119: SWAP1
0000411a: POP
0000411b: JUMP
0000411c: JUMPDEST
0000411d: PUSH0
0000411e: PUSH2 0x4126
00004121: DUP3
00004122: PUSH2 0x40fb
00004125: JUMP
00004126: JUMPDEST
00004127: SWAP1
00004128: POP
00004129: SWAP2
0000412a: SWAP1
0000412b: POP
0000412c: JUMP
0000412d: JUMPDEST
0000412e: PUSH0
0000412f: PUSH2 0x4137
00004132: DUP3
00004133: PUSH2 0x411c
00004136: JUMP
00004137: JUMPDEST
00004138: SWAP1
00004139: POP
0000413a: SWAP2
0000413b: SWAP1
0000413c: POP
0000413d: JUMP
0000413e: JUMPDEST
0000413f: PUSH2 0x4147
00004142: DUP2
00004143: PUSH2 0x412d
00004146: JUMP
00004147: JUMPDEST
00004148: DUP3
00004149: MSTORE
0000414a: POP
0000414b: POP
0000414c: JUMP
0000414d: JUMPDEST
0000414e: PUSH0
0000414f: PUSH1 0x20
00004151: DUP3
00004152: ADD
00004153: SWAP1
00004154: POP
00004155: PUSH2 0x4160
00004158: PUSH0
00004159: DUP4
0000415a: ADD
0000415b: DUP5
0000415c: PUSH2 0x413e
0000415f: JUMP
00004160: JUMPDEST
00004161: SWAP3
00004162: SWAP2
00004163: POP
00004164: POP
00004165: JUMP
00004166: JUMPDEST
00004167: PUSH0
00004168: PUSH1 0xe0
0000416a: DUP4
0000416b: ADD
0000416c: PUSH0
0000416d: DUP4
0000416e: ADD
0000416f: MLOAD
00004170: DUP5
00004171: DUP3
00004172: SUB
00004173: PUSH0
00004174: DUP7
00004175: ADD
00004176: MSTORE
00004177: PUSH2 0x4180
0000417a: DUP3
0000417b: DUP3
0000417c: PUSH2 0x3dc9
0000417f: JUMP
00004180: JUMPDEST
00004181: SWAP2
00004182: POP
00004183: POP
00004184: PUSH1 0x20
00004186: DUP4
00004187: ADD
00004188: MLOAD
00004189: PUSH2 0x4195
0000418c: PUSH1 0x20
0000418e: DUP7
0000418f: ADD
00004190: DUP3
00004191: PUSH2 0x3d97
00004194: JUMP
00004195: JUMPDEST
00004196: POP
00004197: PUSH1 0x40
00004199: DUP4
0000419a: ADD
0000419b: MLOAD
0000419c: PUSH2 0x41a8
0000419f: PUSH1 0x40
000041a1: DUP7
000041a2: ADD
000041a3: DUP3
000041a4: PUSH2 0x3e25
000041a7: JUMP
000041a8: JUMPDEST
000041a9: POP
000041aa: PUSH1 0x60
000041ac: DUP4
000041ad: ADD
000041ae: MLOAD
000041af: PUSH2 0x41bb
000041b2: PUSH1 0x60
000041b4: DUP7
000041b5: ADD
000041b6: DUP3
000041b7: PUSH2 0x3e25
000041ba: JUMP
000041bb: JUMPDEST
000041bc: POP
000041bd: PUSH1 0x80
000041bf: DUP4
000041c0: ADD
000041c1: MLOAD
000041c2: PUSH2 0x41ce
000041c5: PUSH1 0x80
000041c7: DUP7
000041c8: ADD
000041c9: DUP3
000041ca: PUSH2 0x3e25
000041cd: JUMP
000041ce: JUMPDEST
000041cf: POP
000041d0: PUSH1 0xa0
000041d2: DUP4
000041d3: ADD
000041d4: MLOAD
000041d5: DUP5
000041d6: DUP3
000041d7: SUB
000041d8: PUSH1 0xa0
000041da: DUP7
000041db: ADD
000041dc: MSTORE
000041dd: PUSH2 0x41e6
000041e0: DUP3
000041e1: DUP3
000041e2: PUSH2 0x3dc9
000041e5: JUMP
000041e6: JUMPDEST
000041e7: SWAP2
000041e8: POP
000041e9: POP
000041ea: PUSH1 0xc0
000041ec: DUP4
000041ed: ADD
000041ee: MLOAD
000041ef: PUSH2 0x41fb
000041f2: PUSH1 0xc0
000041f4: DUP7
000041f5: ADD
000041f6: DUP3
000041f7: PUSH2 0x3e25
000041fa: JUMP
000041fb: JUMPDEST
000041fc: POP
000041fd: DUP1
000041fe: SWAP2
000041ff: POP
00004200: POP
00004201: SWAP3
00004202: SWAP2
00004203: POP
00004204: POP
00004205: JUMP
00004206: JUMPDEST
00004207: PUSH0
00004208: PUSH1 0x20
0000420a: DUP3
0000420b: ADD
0000420c: SWAP1
0000420d: POP
0000420e: DUP2
0000420f: DUP2
00004210: SUB
00004211: PUSH0
00004212: DUP4
00004213: ADD
00004214: MSTORE
00004215: PUSH2 0x421e
00004218: DUP2
00004219: DUP5
0000421a: PUSH2 0x4166
0000421d: JUMP
0000421e: JUMPDEST
0000421f: SWAP1
00004220: POP
00004221: SWAP3
00004222: SWAP2
00004223: POP
00004224: POP
00004225: JUMP
00004226: JUMPDEST
00004227: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004248: PUSH0
00004249: MSTORE
0000424a: PUSH1 0x32
0000424c: PUSH1 0x04
0000424e: MSTORE
0000424f: PUSH1 0x24
00004251: PUSH0
00004252: REVERT
00004253: JUMPDEST
00004254: PUSH0
00004255: DUP3
00004256: DUP3
00004257: MSTORE
00004258: PUSH1 0x20
0000425a: DUP3
0000425b: ADD
0000425c: SWAP1
0000425d: POP
0000425e: SWAP3
0000425f: SWAP2
00004260: POP
00004261: POP
00004262: JUMP
00004263: JUMPDEST
00004264: PUSH32 0x53656e646572206973206e6f742077686974656c697374656400000000000000
00004285: PUSH0
00004286: DUP3
00004287: ADD
00004288: MSTORE
00004289: POP
0000428a: JUMP
0000428b: JUMPDEST
0000428c: PUSH0
0000428d: PUSH2 0x4297
00004290: PUSH1 0x19
00004292: DUP4
00004293: PUSH2 0x4253
00004296: JUMP
00004297: JUMPDEST
00004298: SWAP2
00004299: POP
0000429a: PUSH2 0x42a2
0000429d: DUP3
0000429e: PUSH2 0x4263
000042a1: JUMP
000042a2: JUMPDEST
000042a3: PUSH1 0x20
000042a5: DUP3
000042a6: ADD
000042a7: SWAP1
000042a8: POP
000042a9: SWAP2
000042aa: SWAP1
000042ab: POP
000042ac: JUMP
000042ad: JUMPDEST
000042ae: PUSH0
000042af: PUSH1 0x20
000042b1: DUP3
000042b2: ADD
000042b3: SWAP1
000042b4: POP
000042b5: DUP2
000042b6: DUP2
000042b7: SUB
000042b8: PUSH0
000042b9: DUP4
000042ba: ADD
000042bb: MSTORE
000042bc: PUSH2 0x42c4
000042bf: DUP2
000042c0: PUSH2 0x428b
000042c3: JUMP
000042c4: JUMPDEST
000042c5: SWAP1
000042c6: POP
000042c7: SWAP2
000042c8: SWAP1
000042c9: POP
000042ca: JUMP
000042cb: JUMPDEST
000042cc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000042ed: PUSH0
000042ee: MSTORE
000042ef: PUSH1 0x41
000042f1: PUSH1 0x04
000042f3: MSTORE
000042f4: PUSH1 0x24
000042f6: PUSH0
000042f7: REVERT
000042f8: JUMPDEST
000042f9: PUSH0
000042fa: DUP2
000042fb: MLOAD
000042fc: SWAP1
000042fd: POP
000042fe: PUSH2 0x4306
00004301: DUP2
00004302: PUSH2 0x3c67
00004305: JUMP
00004306: JUMPDEST
00004307: SWAP3
00004308: SWAP2
00004309: POP
0000430a: POP
0000430b: JUMP
0000430c: JUMPDEST
0000430d: PUSH0
0000430e: PUSH1 0x20
00004310: DUP3
00004311: DUP5
00004312: SUB
00004313: SLT
00004314: ISZERO
00004315: PUSH2 0x4321
00004318: JUMPI
00004319: PUSH2 0x4320
0000431c: PUSH2 0x3bce
0000431f: JUMP
00004320: JUMPDEST
00004321: JUMPDEST
00004322: PUSH0
00004323: PUSH2 0x432e
00004326: DUP5
00004327: DUP3
00004328: DUP6
00004329: ADD
0000432a: PUSH2 0x42f8
0000432d: JUMP
0000432e: JUMPDEST
0000432f: SWAP2
00004330: POP
00004331: POP
00004332: SWAP3
00004333: SWAP2
00004334: POP
00004335: POP
00004336: JUMP
00004337: JUMPDEST
00004338: PUSH32 0x53656e646572206973206e6f74206f776e657200000000000000000000000000
00004359: PUSH0
0000435a: DUP3
0000435b: ADD
0000435c: MSTORE
0000435d: POP
0000435e: JUMP
0000435f: JUMPDEST
00004360: PUSH0
00004361: PUSH2 0x436b
00004364: PUSH1 0x13
00004366: DUP4
00004367: PUSH2 0x4253
0000436a: JUMP
0000436b: JUMPDEST
0000436c: SWAP2
0000436d: POP
0000436e: PUSH2 0x4376
00004371: DUP3
00004372: PUSH2 0x4337
00004375: JUMP
00004376: JUMPDEST
00004377: PUSH1 0x20
00004379: DUP3
0000437a: ADD
0000437b: SWAP1
0000437c: POP
0000437d: SWAP2
0000437e: SWAP1
0000437f: POP
00004380: JUMP
00004381: JUMPDEST
00004382: PUSH0
00004383: PUSH1 0x20
00004385: DUP3
00004386: ADD
00004387: SWAP1
00004388: POP
00004389: DUP2
0000438a: DUP2
0000438b: SUB
0000438c: PUSH0
0000438d: DUP4
0000438e: ADD
0000438f: MSTORE
00004390: PUSH2 0x4398
00004393: DUP2
00004394: PUSH2 0x435f
00004397: JUMP
00004398: JUMPDEST
00004399: SWAP1
0000439a: POP
0000439b: SWAP2
0000439c: SWAP1
0000439d: POP
0000439e: JUMP
0000439f: JUMPDEST
000043a0: PUSH0
000043a1: DUP2
000043a2: MLOAD
000043a3: SWAP1
000043a4: POP
000043a5: PUSH2 0x43ad
000043a8: DUP2
000043a9: PUSH2 0x3c9a
000043ac: JUMP
000043ad: JUMPDEST
000043ae: SWAP3
000043af: SWAP2
000043b0: POP
000043b1: POP
000043b2: JUMP
000043b3: JUMPDEST
000043b4: PUSH0
000043b5: PUSH1 0x20
000043b7: DUP3
000043b8: DUP5
000043b9: SUB
000043ba: SLT
000043bb: ISZERO
000043bc: PUSH2 0x43c8
000043bf: JUMPI
000043c0: PUSH2 0x43c7
000043c3: PUSH2 0x3bce
000043c6: JUMP
000043c7: JUMPDEST
000043c8: JUMPDEST
000043c9: PUSH0
000043ca: PUSH2 0x43d5
000043cd: DUP5
000043ce: DUP3
000043cf: DUP6
000043d0: ADD
000043d1: PUSH2 0x439f
000043d4: JUMP
000043d5: JUMPDEST
000043d6: SWAP2
000043d7: POP
000043d8: POP
000043d9: SWAP3
000043da: SWAP2
000043db: POP
000043dc: POP
000043dd: JUMP
000043de: JUMPDEST
000043df: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004400: PUSH0
00004401: MSTORE
00004402: PUSH1 0x11
00004404: PUSH1 0x04
00004406: MSTORE
00004407: PUSH1 0x24
00004409: PUSH0
0000440a: REVERT
0000440b: JUMPDEST
0000440c: PUSH0
0000440d: PUSH2 0x4415
00004410: DUP3
00004411: PUSH2 0x3c91
00004414: JUMP
00004415: JUMPDEST
00004416: SWAP2
00004417: POP
00004418: PUSH2 0x4420
0000441b: DUP4
0000441c: PUSH2 0x3c91
0000441f: JUMP
00004420: JUMPDEST
00004421: SWAP3
00004422: POP
00004423: DUP3
00004424: DUP3
00004425: SUB
00004426: SWAP1
00004427: POP
00004428: DUP2
00004429: DUP2
0000442a: GT
0000442b: ISZERO
0000442c: PUSH2 0x4438
0000442f: JUMPI
00004430: PUSH2 0x4437
00004433: PUSH2 0x43de
00004436: JUMP
00004437: JUMPDEST
00004438: JUMPDEST
00004439: SWAP3
0000443a: SWAP2
0000443b: POP
0000443c: POP
0000443d: JUMP
0000443e: JUMPDEST
0000443f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004460: PUSH0
00004461: MSTORE
00004462: PUSH1 0x31
00004464: PUSH1 0x04
00004466: MSTORE
00004467: PUSH1 0x24
00004469: PUSH0
0000446a: REVERT
0000446b: JUMPDEST
0000446c: PUSH2 0x4474
0000446f: DUP2
00004470: PUSH2 0x3c91
00004473: JUMP
00004474: JUMPDEST
00004475: DUP3
00004476: MSTORE
00004477: POP
00004478: POP
00004479: JUMP
0000447a: JUMPDEST
0000447b: PUSH0
0000447c: DUP2
0000447d: SLOAD
0000447e: SWAP1
0000447f: POP
00004480: SWAP2
00004481: SWAP1
00004482: POP
00004483: JUMP
00004484: JUMPDEST
00004485: PUSH0
00004486: DUP3
00004487: DUP3
00004488: MSTORE
00004489: PUSH1 0x20
0000448b: DUP3
0000448c: ADD
0000448d: SWAP1
0000448e: POP
0000448f: SWAP3
00004490: SWAP2
00004491: POP
00004492: POP
00004493: JUMP
00004494: JUMPDEST
00004495: PUSH0
00004496: DUP2
00004497: SWAP1
00004498: POP
00004499: DUP2
0000449a: PUSH0
0000449b: MSTORE
0000449c: PUSH1 0x20
0000449e: PUSH0
0000449f: KECCAK256
000044a0: SWAP1
000044a1: POP
000044a2: SWAP2
000044a3: SWAP1
000044a4: POP
000044a5: JUMP
000044a6: JUMPDEST
000044a7: PUSH0
000044a8: DUP2
000044a9: PUSH0
000044aa: SHR
000044ab: SWAP1
000044ac: POP
000044ad: SWAP2
000044ae: SWAP1
000044af: POP
000044b0: JUMP
000044b1: JUMPDEST
000044b2: PUSH0
000044b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044c8: DUP3
000044c9: AND
000044ca: SWAP1
000044cb: POP
000044cc: SWAP2
000044cd: SWAP1
000044ce: POP
000044cf: JUMP
000044d0: JUMPDEST
000044d1: PUSH0
000044d2: PUSH2 0x44e2
000044d5: PUSH2 0x44dd
000044d8: DUP4
000044d9: PUSH2 0x44a6
000044dc: JUMP
000044dd: JUMPDEST
000044de: PUSH2 0x44b1
000044e1: JUMP
000044e2: JUMPDEST
000044e3: SWAP1
000044e4: POP
000044e5: SWAP2
000044e6: SWAP1
000044e7: POP
000044e8: JUMP
000044e9: JUMPDEST
000044ea: PUSH0
000044eb: PUSH2 0x44f4
000044ee: DUP3
000044ef: SLOAD
000044f0: PUSH2 0x44d0
000044f3: JUMP
000044f4: JUMPDEST
000044f5: SWAP1
000044f6: POP
000044f7: SWAP2
000044f8: SWAP1
000044f9: POP
000044fa: JUMP
000044fb: JUMPDEST
000044fc: PUSH0
000044fd: PUSH1 0x01
000044ff: DUP3
00004500: ADD
00004501: SWAP1
00004502: POP
00004503: SWAP2
00004504: SWAP1
00004505: POP
00004506: JUMP
00004507: JUMPDEST
00004508: PUSH0
00004509: PUSH2 0x4511
0000450c: DUP3
0000450d: PUSH2 0x447a
00004510: JUMP
00004511: JUMPDEST
00004512: PUSH2 0x451b
00004515: DUP2
00004516: DUP6
00004517: PUSH2 0x4484
0000451a: JUMP
0000451b: JUMPDEST
0000451c: SWAP4
0000451d: POP
0000451e: PUSH2 0x4526
00004521: DUP4
00004522: PUSH2 0x4494
00004525: JUMP
00004526: JUMPDEST
00004527: DUP1
00004528: PUSH0
00004529: JUMPDEST
0000452a: DUP4
0000452b: DUP2
0000452c: LT
0000452d: ISZERO
0000452e: PUSH2 0x455d
00004531: JUMPI
00004532: PUSH2 0x453a
00004535: DUP3
00004536: PUSH2 0x44e9
00004539: JUMP
0000453a: JUMPDEST
0000453b: PUSH2 0x4544
0000453e: DUP9
0000453f: DUP3
00004540: PUSH2 0x3da6
00004543: JUMP
00004544: JUMPDEST
00004545: SWAP8
00004546: POP
00004547: PUSH2 0x454f
0000454a: DUP4
0000454b: PUSH2 0x44fb
0000454e: JUMP
0000454f: JUMPDEST
00004550: SWAP3
00004551: POP
00004552: POP
00004553: PUSH1 0x01
00004555: DUP2
00004556: ADD
00004557: SWAP1
00004558: POP
00004559: PUSH2 0x4529
0000455c: JUMP
0000455d: JUMPDEST
0000455e: POP
0000455f: DUP6
00004560: SWAP4
00004561: POP
00004562: POP
00004563: POP
00004564: POP
00004565: SWAP3
00004566: SWAP2
00004567: POP
00004568: POP
00004569: JUMP
0000456a: JUMPDEST
0000456b: PUSH0
0000456c: PUSH1 0xa0
0000456e: DUP3
0000456f: ADD
00004570: SWAP1
00004571: POP
00004572: PUSH2 0x457d
00004575: PUSH0
00004576: DUP4
00004577: ADD
00004578: DUP9
00004579: PUSH2 0x446b
0000457c: JUMP
0000457d: JUMPDEST
0000457e: PUSH2 0x458a
00004581: PUSH1 0x20
00004583: DUP4
00004584: ADD
00004585: DUP8
00004586: PUSH2 0x446b
00004589: JUMP
0000458a: JUMPDEST
0000458b: DUP2
0000458c: DUP2
0000458d: SUB
0000458e: PUSH1 0x40
00004590: DUP4
00004591: ADD
00004592: MSTORE
00004593: PUSH2 0x459c
00004596: DUP2
00004597: DUP7
00004598: PUSH2 0x4507
0000459b: JUMP
0000459c: JUMPDEST
0000459d: SWAP1
0000459e: POP
0000459f: PUSH2 0x45ab
000045a2: PUSH1 0x60
000045a4: DUP4
000045a5: ADD
000045a6: DUP6
000045a7: PUSH2 0x3f1f
000045aa: JUMP
000045ab: JUMPDEST
000045ac: PUSH2 0x45b8
000045af: PUSH1 0x80
000045b1: DUP4
000045b2: ADD
000045b3: DUP5
000045b4: PUSH2 0x446b
000045b7: JUMP
000045b8: JUMPDEST
000045b9: SWAP7
000045ba: SWAP6
000045bb: POP
000045bc: POP
000045bd: POP
000045be: POP
000045bf: POP
000045c0: POP
000045c1: JUMP
000045c2: JUMPDEST
000045c3: PUSH0
000045c4: PUSH1 0x1f
000045c6: NOT
000045c7: PUSH1 0x1f
000045c9: DUP4
000045ca: ADD
000045cb: AND
000045cc: SWAP1
000045cd: POP
000045ce: SWAP2
000045cf: SWAP1
000045d0: POP
000045d1: JUMP
000045d2: JUMPDEST
000045d3: PUSH2 0x45db
000045d6: DUP3
000045d7: PUSH2 0x45c2
000045da: JUMP
000045db: JUMPDEST
000045dc: DUP2
000045dd: ADD
000045de: DUP2
000045df: DUP2
000045e0: LT
000045e1: PUSH8 0xffffffffffffffff
000045ea: DUP3
000045eb: GT
000045ec: OR
000045ed: ISZERO
000045ee: PUSH2 0x45fa
000045f1: JUMPI
000045f2: PUSH2 0x45f9
000045f5: PUSH2 0x42cb
000045f8: JUMP
000045f9: JUMPDEST
000045fa: JUMPDEST
000045fb: DUP1
000045fc: PUSH1 0x40
000045fe: MSTORE
000045ff: POP
00004600: POP
00004601: POP
00004602: JUMP
00004603: JUMPDEST
00004604: PUSH0
00004605: PUSH2 0x460c
00004608: PUSH2 0x3bc5
0000460b: JUMP
0000460c: JUMPDEST
0000460d: SWAP1
0000460e: POP
0000460f: PUSH2 0x4618
00004612: DUP3
00004613: DUP3
00004614: PUSH2 0x45d2
00004617: JUMP
00004618: JUMPDEST
00004619: SWAP2
0000461a: SWAP1
0000461b: POP
0000461c: JUMP
0000461d: JUMPDEST
0000461e: PUSH0
0000461f: PUSH8 0xffffffffffffffff
00004628: DUP3
00004629: GT
0000462a: ISZERO
0000462b: PUSH2 0x4637
0000462e: JUMPI
0000462f: PUSH2 0x4636
00004632: PUSH2 0x42cb
00004635: JUMP
00004636: JUMPDEST
00004637: JUMPDEST
00004638: PUSH1 0x20
0000463a: DUP3
0000463b: MUL
0000463c: SWAP1
0000463d: POP
0000463e: PUSH1 0x20
00004640: DUP2
00004641: ADD
00004642: SWAP1
00004643: POP
00004644: SWAP2
00004645: SWAP1
00004646: POP
00004647: JUMP
00004648: JUMPDEST
00004649: PUSH0
0000464a: PUSH2 0x465a
0000464d: PUSH2 0x4655
00004650: DUP5
00004651: PUSH2 0x461d
00004654: JUMP
00004655: JUMPDEST
00004656: PUSH2 0x4603
00004659: JUMP
0000465a: JUMPDEST
0000465b: SWAP1
0000465c: POP
0000465d: DUP1
0000465e: DUP4
0000465f: DUP3
00004660: MSTORE
00004661: PUSH1 0x20
00004663: DUP3
00004664: ADD
00004665: SWAP1
00004666: POP
00004667: PUSH1 0x20
00004669: DUP5
0000466a: MUL
0000466b: DUP4
0000466c: ADD
0000466d: DUP6
0000466e: DUP2
0000466f: GT
00004670: ISZERO
00004671: PUSH2 0x467d
00004674: JUMPI
00004675: PUSH2 0x467c
00004678: PUSH2 0x3bde
0000467b: JUMP
0000467c: JUMPDEST
0000467d: JUMPDEST
0000467e: DUP4
0000467f: JUMPDEST
00004680: DUP2
00004681: DUP2
00004682: LT
00004683: ISZERO
00004684: PUSH2 0x46a6
00004687: JUMPI
00004688: DUP1
00004689: PUSH2 0x4692
0000468c: DUP9
0000468d: DUP3
0000468e: PUSH2 0x439f
00004691: JUMP
00004692: JUMPDEST
00004693: DUP5
00004694: MSTORE
00004695: PUSH1 0x20
00004697: DUP5
00004698: ADD
00004699: SWAP4
0000469a: POP
0000469b: POP
0000469c: PUSH1 0x20
0000469e: DUP2
0000469f: ADD
000046a0: SWAP1
000046a1: POP
000046a2: PUSH2 0x467f
000046a5: JUMP
000046a6: JUMPDEST
000046a7: POP
000046a8: POP
000046a9: POP
000046aa: SWAP4
000046ab: SWAP3
000046ac: POP
000046ad: POP
000046ae: POP
000046af: JUMP
000046b0: JUMPDEST
000046b1: PUSH0
000046b2: DUP3
000046b3: PUSH1 0x1f
000046b5: DUP4
000046b6: ADD
000046b7: SLT
000046b8: PUSH2 0x46c4
000046bb: JUMPI
000046bc: PUSH2 0x46c3
000046bf: PUSH2 0x3bd6
000046c2: JUMP
000046c3: JUMPDEST
000046c4: JUMPDEST
000046c5: DUP2
000046c6: MLOAD
000046c7: PUSH2 0x46d4
000046ca: DUP5
000046cb: DUP3
000046cc: PUSH1 0x20
000046ce: DUP7
000046cf: ADD
000046d0: PUSH2 0x4648
000046d3: JUMP
000046d4: JUMPDEST
000046d5: SWAP2
000046d6: POP
000046d7: POP
000046d8: SWAP3
000046d9: SWAP2
000046da: POP
000046db: POP
000046dc: JUMP
000046dd: JUMPDEST
000046de: PUSH0
000046df: PUSH1 0x20
000046e1: DUP3
000046e2: DUP5
000046e3: SUB
000046e4: SLT
000046e5: ISZERO
000046e6: PUSH2 0x46f2
000046e9: JUMPI
000046ea: PUSH2 0x46f1
000046ed: PUSH2 0x3bce
000046f0: JUMP
000046f1: JUMPDEST
000046f2: JUMPDEST
000046f3: PUSH0
000046f4: DUP3
000046f5: ADD
000046f6: MLOAD
000046f7: PUSH8 0xffffffffffffffff
00004700: DUP2
00004701: GT
00004702: ISZERO
00004703: PUSH2 0x470f
00004706: JUMPI
00004707: PUSH2 0x470e
0000470a: PUSH2 0x3bd2
0000470d: JUMP
0000470e: JUMPDEST
0000470f: JUMPDEST
00004710: PUSH2 0x471b
00004713: DUP5
00004714: DUP3
00004715: DUP6
00004716: ADD
00004717: PUSH2 0x46b0
0000471a: JUMP
0000471b: JUMPDEST
0000471c: SWAP2
0000471d: POP
0000471e: POP
0000471f: SWAP3
00004720: SWAP2
00004721: POP
00004722: POP
00004723: JUMP
00004724: JUMPDEST
00004725: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
00004746: PUSH0
00004747: DUP3
00004748: ADD
00004749: MSTORE
0000474a: POP
0000474b: JUMP
0000474c: JUMPDEST
0000474d: PUSH0
0000474e: PUSH2 0x4758
00004751: PUSH1 0x01
00004753: DUP4
00004754: PUSH2 0x4253
00004757: JUMP
00004758: JUMPDEST
00004759: SWAP2
0000475a: POP
0000475b: PUSH2 0x4763
0000475e: DUP3
0000475f: PUSH2 0x4724
00004762: JUMP
00004763: JUMPDEST
00004764: PUSH1 0x20
00004766: DUP3
00004767: ADD
00004768: SWAP1
00004769: POP
0000476a: SWAP2
0000476b: SWAP1
0000476c: POP
0000476d: JUMP
0000476e: JUMPDEST
0000476f: PUSH0
00004770: PUSH1 0x20
00004772: DUP3
00004773: ADD
00004774: SWAP1
00004775: POP
00004776: DUP2
00004777: DUP2
00004778: SUB
00004779: PUSH0
0000477a: DUP4
0000477b: ADD
0000477c: MSTORE
0000477d: PUSH2 0x4785
00004780: DUP2
00004781: PUSH2 0x474c
00004784: JUMP
00004785: JUMPDEST
00004786: SWAP1
00004787: POP
00004788: SWAP2
00004789: SWAP1
0000478a: POP
0000478b: JUMP
0000478c: JUMPDEST
0000478d: PUSH0
0000478e: DUP2
0000478f: MLOAD
00004790: SWAP1
00004791: POP
00004792: SWAP2
00004793: SWAP1
00004794: POP
00004795: JUMP
00004796: JUMPDEST
00004797: PUSH0
00004798: DUP2
00004799: SWAP1
0000479a: POP
0000479b: SWAP3
0000479c: SWAP2
0000479d: POP
0000479e: POP
0000479f: JUMP
000047a0: JUMPDEST
000047a1: DUP3
000047a2: DUP2
000047a3: DUP4
000047a4: MCOPY
000047a5: PUSH0
000047a6: DUP4
000047a7: DUP4
000047a8: ADD
000047a9: MSTORE
000047aa: POP
000047ab: POP
000047ac: POP
000047ad: JUMP
000047ae: JUMPDEST
000047af: PUSH0
000047b0: PUSH2 0x47b8
000047b3: DUP3
000047b4: PUSH2 0x478c
000047b7: JUMP
000047b8: JUMPDEST
000047b9: PUSH2 0x47c2
000047bc: DUP2
000047bd: DUP6
000047be: PUSH2 0x4796
000047c1: JUMP
000047c2: JUMPDEST
000047c3: SWAP4
000047c4: POP
000047c5: PUSH2 0x47d2
000047c8: DUP2
000047c9: DUP6
000047ca: PUSH1 0x20
000047cc: DUP7
000047cd: ADD
000047ce: PUSH2 0x47a0
000047d1: JUMP
000047d2: JUMPDEST
000047d3: DUP1
000047d4: DUP5
000047d5: ADD
000047d6: SWAP2
000047d7: POP
000047d8: POP
000047d9: SWAP3
000047da: SWAP2
000047db: POP
000047dc: POP
000047dd: JUMP
000047de: JUMPDEST
000047df: PUSH0
000047e0: PUSH2 0x47e9
000047e3: DUP3
000047e4: DUP5
000047e5: PUSH2 0x47ae
000047e8: JUMP
000047e9: JUMPDEST
000047ea: SWAP2
000047eb: POP
000047ec: DUP2
000047ed: SWAP1
000047ee: POP
000047ef: SWAP3
000047f0: SWAP2
000047f1: POP
000047f2: POP
000047f3: JUMP
000047f4: JUMPDEST
000047f5: PUSH0
000047f6: PUSH3 0xffffff
000047fa: DUP3
000047fb: AND
000047fc: SWAP1
000047fd: POP
000047fe: SWAP2
000047ff: SWAP1
00004800: POP
00004801: JUMP
00004802: JUMPDEST
00004803: PUSH2 0x480b
00004806: DUP2
00004807: PUSH2 0x47f4
0000480a: JUMP
0000480b: JUMPDEST
0000480c: DUP3
0000480d: MSTORE
0000480e: POP
0000480f: POP
00004810: JUMP
00004811: JUMPDEST
00004812: PUSH2 0x481a
00004815: DUP2
00004816: PUSH2 0x3c37
00004819: JUMP
0000481a: JUMPDEST
0000481b: DUP3
0000481c: MSTORE
0000481d: POP
0000481e: POP
0000481f: JUMP
00004820: JUMPDEST
00004821: PUSH1 0xe0
00004823: DUP3
00004824: ADD
00004825: PUSH0
00004826: DUP3
00004827: ADD
00004828: MLOAD
00004829: PUSH2 0x4834
0000482c: PUSH0
0000482d: DUP6
0000482e: ADD
0000482f: DUP3
00004830: PUSH2 0x3d97
00004833: JUMP
00004834: JUMPDEST
00004835: POP
00004836: PUSH1 0x20
00004838: DUP3
00004839: ADD
0000483a: MLOAD
0000483b: PUSH2 0x4847
0000483e: PUSH1 0x20
00004840: DUP6
00004841: ADD
00004842: DUP3
00004843: PUSH2 0x3d97
00004846: JUMP
00004847: JUMPDEST
00004848: POP
00004849: PUSH1 0x40
0000484b: DUP3
0000484c: ADD
0000484d: MLOAD
0000484e: PUSH2 0x485a
00004851: PUSH1 0x40
00004853: DUP6
00004854: ADD
00004855: DUP3
00004856: PUSH2 0x4802
00004859: JUMP
0000485a: JUMPDEST
0000485b: POP
0000485c: PUSH1 0x60
0000485e: DUP3
0000485f: ADD
00004860: MLOAD
00004861: PUSH2 0x486d
00004864: PUSH1 0x60
00004866: DUP6
00004867: ADD
00004868: DUP3
00004869: PUSH2 0x3d97
0000486c: JUMP
0000486d: JUMPDEST
0000486e: POP
0000486f: PUSH1 0x80
00004871: DUP3
00004872: ADD
00004873: MLOAD
00004874: PUSH2 0x4880
00004877: PUSH1 0x80
00004879: DUP6
0000487a: ADD
0000487b: DUP3
0000487c: PUSH2 0x3e25
0000487f: JUMP
00004880: JUMPDEST
00004881: POP
00004882: PUSH1 0xa0
00004884: DUP3
00004885: ADD
00004886: MLOAD
00004887: PUSH2 0x4893
0000488a: PUSH1 0xa0
0000488c: DUP6
0000488d: ADD
0000488e: DUP3
0000488f: PUSH2 0x3e25
00004892: JUMP
00004893: JUMPDEST
00004894: POP
00004895: PUSH1 0xc0
00004897: DUP3
00004898: ADD
00004899: MLOAD
0000489a: PUSH2 0x48a6
0000489d: PUSH1 0xc0
0000489f: DUP6
000048a0: ADD
000048a1: DUP3
000048a2: PUSH2 0x4811
000048a5: JUMP
000048a6: JUMPDEST
000048a7: POP
000048a8: POP
000048a9: POP
000048aa: POP
000048ab: JUMP
000048ac: JUMPDEST
000048ad: PUSH0
000048ae: PUSH1 0xe0
000048b0: DUP3
000048b1: ADD
000048b2: SWAP1
000048b3: POP
000048b4: PUSH2 0x48bf
000048b7: PUSH0
000048b8: DUP4
000048b9: ADD
000048ba: DUP5
000048bb: PUSH2 0x4820
000048be: JUMP
000048bf: JUMPDEST
000048c0: SWAP3
000048c1: SWAP2
000048c2: POP
000048c3: POP
000048c4: JUMP
000048c5: JUMPDEST
000048c6: PUSH0
000048c7: PUSH2 0xffff
000048ca: DUP3
000048cb: AND
000048cc: SWAP1
000048cd: POP
000048ce: SWAP2
000048cf: SWAP1
000048d0: POP
000048d1: JUMP
000048d2: JUMPDEST
000048d3: PUSH0
000048d4: PUSH2 0x48dc
000048d7: DUP3
000048d8: PUSH2 0x48c5
000048db: JUMP
000048dc: JUMPDEST
000048dd: SWAP2
000048de: POP
000048df: PUSH2 0xffff
000048e2: DUP3
000048e3: SUB
000048e4: PUSH2 0x48f0
000048e7: JUMPI
000048e8: PUSH2 0x48ef
000048eb: PUSH2 0x43de
000048ee: JUMP
000048ef: JUMPDEST
000048f0: JUMPDEST
000048f1: PUSH1 0x01
000048f3: DUP3
000048f4: ADD
000048f5: SWAP1
000048f6: POP
000048f7: SWAP2
000048f8: SWAP1
000048f9: POP
000048fa: JUMP
000048fb: JUMPDEST
000048fc: PUSH1 0xe0
000048fe: DUP3
000048ff: ADD
00004900: PUSH0
00004901: DUP3
00004902: ADD
00004903: MLOAD
00004904: PUSH2 0x490f
00004907: PUSH0
00004908: DUP6
00004909: ADD
0000490a: DUP3
0000490b: PUSH2 0x3d97
0000490e: JUMP
0000490f: JUMPDEST
00004910: POP
00004911: PUSH1 0x20
00004913: DUP3
00004914: ADD
00004915: MLOAD
00004916: PUSH2 0x4922
00004919: PUSH1 0x20
0000491b: DUP6
0000491c: ADD
0000491d: DUP3
0000491e: PUSH2 0x3d97
00004921: JUMP
00004922: JUMPDEST
00004923: POP
00004924: PUSH1 0x40
00004926: DUP3
00004927: ADD
00004928: MLOAD
00004929: PUSH2 0x4935
0000492c: PUSH1 0x40
0000492e: DUP6
0000492f: ADD
00004930: DUP3
00004931: PUSH2 0x4802
00004934: JUMP
00004935: JUMPDEST
00004936: POP
00004937: PUSH1 0x60
00004939: DUP3
0000493a: ADD
0000493b: MLOAD
0000493c: PUSH2 0x4948
0000493f: PUSH1 0x60
00004941: DUP6
00004942: ADD
00004943: DUP3
00004944: PUSH2 0x3d97
00004947: JUMP
00004948: JUMPDEST
00004949: POP
0000494a: PUSH1 0x80
0000494c: DUP3
0000494d: ADD
0000494e: MLOAD
0000494f: PUSH2 0x495b
00004952: PUSH1 0x80
00004954: DUP6
00004955: ADD
00004956: DUP3
00004957: PUSH2 0x3e25
0000495a: JUMP
0000495b: JUMPDEST
0000495c: POP
0000495d: PUSH1 0xa0
0000495f: DUP3
00004960: ADD
00004961: MLOAD
00004962: PUSH2 0x496e
00004965: PUSH1 0xa0
00004967: DUP6
00004968: ADD
00004969: DUP3
0000496a: PUSH2 0x3e25
0000496d: JUMP
0000496e: JUMPDEST
0000496f: POP
00004970: PUSH1 0xc0
00004972: DUP3
00004973: ADD
00004974: MLOAD
00004975: PUSH2 0x4981
00004978: PUSH1 0xc0
0000497a: DUP6
0000497b: ADD
0000497c: DUP3
0000497d: PUSH2 0x4811
00004980: JUMP
00004981: JUMPDEST
00004982: POP
00004983: POP
00004984: POP
00004985: POP
00004986: JUMP
00004987: JUMPDEST
00004988: PUSH0
00004989: PUSH1 0xe0
0000498b: DUP3
0000498c: ADD
0000498d: SWAP1
0000498e: POP
0000498f: PUSH2 0x499a
00004992: PUSH0
00004993: DUP4
00004994: ADD
00004995: DUP5
00004996: PUSH2 0x48fb
00004999: JUMP
0000499a: JUMPDEST
0000499b: SWAP3
0000499c: SWAP2
0000499d: POP
0000499e: POP
0000499f: JUMP
000049a0: JUMPDEST
000049a1: PUSH0
000049a2: PUSH1 0x40
000049a4: DUP3
000049a5: ADD
000049a6: SWAP1
000049a7: POP
000049a8: PUSH2 0x49b3
000049ab: PUSH0
000049ac: DUP4
000049ad: ADD
000049ae: DUP6
000049af: PUSH2 0x3f1f
000049b2: JUMP
000049b3: JUMPDEST
000049b4: PUSH2 0x49c0
000049b7: PUSH1 0x20
000049b9: DUP4
000049ba: ADD
000049bb: DUP5
000049bc: PUSH2 0x446b
000049bf: JUMP
000049c0: JUMPDEST
000049c1: SWAP4
000049c2: SWAP3
000049c3: POP
000049c4: POP
000049c5: POP
000049c6: JUMP
000049c7: JUMPDEST
000049c8: PUSH0
000049c9: DUP2
000049ca: ISZERO
000049cb: ISZERO
000049cc: SWAP1
000049cd: POP
000049ce: SWAP2
000049cf: SWAP1
000049d0: POP
000049d1: JUMP
000049d2: JUMPDEST
000049d3: PUSH2 0x49db
000049d6: DUP2
000049d7: PUSH2 0x49c7
000049da: JUMP
000049db: JUMPDEST
000049dc: DUP2
000049dd: EQ
000049de: PUSH2 0x49e5
000049e1: JUMPI
000049e2: PUSH0
000049e3: DUP1
000049e4: REVERT
000049e5: JUMPDEST
000049e6: POP
000049e7: JUMP
000049e8: JUMPDEST
000049e9: PUSH0
000049ea: DUP2
000049eb: MLOAD
000049ec: SWAP1
000049ed: POP
000049ee: PUSH2 0x49f6
000049f1: DUP2
000049f2: PUSH2 0x49d2
000049f5: JUMP
000049f6: JUMPDEST
000049f7: SWAP3
000049f8: SWAP2
000049f9: POP
000049fa: POP
000049fb: JUMP
000049fc: JUMPDEST
000049fd: PUSH0
000049fe: PUSH1 0x20
00004a00: DUP3
00004a01: DUP5
00004a02: SUB
00004a03: SLT
00004a04: ISZERO
00004a05: PUSH2 0x4a11
00004a08: JUMPI
00004a09: PUSH2 0x4a10
00004a0c: PUSH2 0x3bce
00004a0f: JUMP
00004a10: JUMPDEST
00004a11: JUMPDEST
00004a12: PUSH0
00004a13: PUSH2 0x4a1e
00004a16: DUP5
00004a17: DUP3
00004a18: DUP6
00004a19: ADD
00004a1a: PUSH2 0x49e8
00004a1d: JUMP
00004a1e: JUMPDEST
00004a1f: SWAP2
00004a20: POP
00004a21: POP
00004a22: SWAP3
00004a23: SWAP2
00004a24: POP
00004a25: POP
00004a26: JUMP
00004a27: JUMPDEST
00004a28: PUSH32 0x5354000000000000000000000000000000000000000000000000000000000000
00004a49: PUSH0
00004a4a: DUP3
00004a4b: ADD
00004a4c: MSTORE
00004a4d: POP
00004a4e: JUMP
00004a4f: JUMPDEST
00004a50: PUSH0
00004a51: PUSH2 0x4a5b
00004a54: PUSH1 0x02
00004a56: DUP4
00004a57: PUSH2 0x4253
00004a5a: JUMP
00004a5b: JUMPDEST
00004a5c: SWAP2
00004a5d: POP
00004a5e: PUSH2 0x4a66
00004a61: DUP3
00004a62: PUSH2 0x4a27
00004a65: JUMP
00004a66: JUMPDEST
00004a67: PUSH1 0x20
00004a69: DUP3
00004a6a: ADD
00004a6b: SWAP1
00004a6c: POP
00004a6d: SWAP2
00004a6e: SWAP1
00004a6f: POP
00004a70: JUMP
00004a71: JUMPDEST
00004a72: PUSH0
00004a73: PUSH1 0x20
00004a75: DUP3
00004a76: ADD
00004a77: SWAP1
00004a78: POP
00004a79: DUP2
00004a7a: DUP2
00004a7b: SUB
00004a7c: PUSH0
00004a7d: DUP4
00004a7e: ADD
00004a7f: MSTORE
00004a80: PUSH2 0x4a88
00004a83: DUP2
00004a84: PUSH2 0x4a4f
00004a87: JUMP
00004a88: JUMPDEST
00004a89: SWAP1
00004a8a: POP
00004a8b: SWAP2
00004a8c: SWAP1
00004a8d: POP
00004a8e: JUMP
00004a8f: INVALID
00004a90: LOG2
00004a91: PUSH5 0x6970667358
00004a97: UNKNOWN(0x22)
00004a98: SLT
00004a99: KECCAK256
00004a9a: UNKNOWN(0x2D)
00004a9b: JUMPDEST
00004a9c: UNKNOWN(0xC0)
00004a9d: UNKNOWN(0xDE)
00004a9e: UNKNOWN(0xC9)
00004a9f: PUSH24 0x2608598d690bb4461643dfd72e59423f7efeef2cdb8aa21c
00004ab8: GT
00004ab9: CODECOPY
00004aba: PUSH5 0x736f6c6343
00004ac0: STOP
00004ac1: ADDMOD
00004ac2: NOT
00004ac3: STOP
00004ac4: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe
call_targets: 0x705ec547b17ff8c4a2996f47fdfc399604163606
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x705ec547b17ff8c4a2996f47fdfc399604163606"
    ],
    "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": "0xc5675be4",
            "selector": "0xc5675be4",
            "calldata_variants": [
                "0xc5675be4",
                "0xc5675be40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd382d503",
            "selector": "0xd382d503",
            "calldata_variants": [
                "0xd382d503",
                "0xd382d5030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe35426a4",
            "selector": "0xe35426a4",
            "calldata_variants": [
                "0xe35426a4",
                "0xe35426a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe43252d7",
            "selector": "0xe43252d7",
            "calldata_variants": [
                "0xe43252d7",
                "0xe43252d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe7ca87c4",
            "selector": "0xe7ca87c4",
            "calldata_variants": [
                "0xe7ca87c4",
                "0xe7ca87c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb631e80b",
            "selector": "0xb631e80b",
            "calldata_variants": [
                "0xb631e80b",
                "0xb631e80b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6c2cec0",
            "selector": "0xb6c2cec0",
            "calldata_variants": [
                "0xb6c2cec0",
                "0xb6c2cec00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbadcfe24",
            "selector": "0xbadcfe24",
            "calldata_variants": [
                "0xbadcfe24",
                "0xbadcfe240000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2028,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6162,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6447,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 16,
    "guards_detected": [],
    "untrusted_call_count": 16
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe
call_targets: 0x705ec547b17ff8c4a2996f47fdfc399604163606
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x705ec547b17ff8c4a2996f47fdfc399604163606"
    ],
    "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": "0xc5675be4",
            "selector": "0xc5675be4",
            "calldata_variants": [
                "0xc5675be4",
                "0xc5675be40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd382d503",
            "selector": "0xd382d503",
            "calldata_variants": [
                "0xd382d503",
                "0xd382d5030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe35426a4",
            "selector": "0xe35426a4",
            "calldata_variants": [
                "0xe35426a4",
                "0xe35426a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe43252d7",
            "selector": "0xe43252d7",
            "calldata_variants": [
                "0xe43252d7",
                "0xe43252d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe7ca87c4",
            "selector": "0xe7ca87c4",
            "calldata_variants": [
                "0xe7ca87c4",
                "0xe7ca87c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb631e80b",
            "selector": "0xb631e80b",
            "calldata_variants": [
                "0xb631e80b",
                "0xb631e80b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6c2cec0",
            "selector": "0xb6c2cec0",
            "calldata_variants": [
                "0xb6c2cec0",
                "0xb6c2cec00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbadcfe24",
            "selector": "0xbadcfe24",
            "calldata_variants": [
                "0xbadcfe24",
                "0xbadcfe240000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2028,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6162,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6447,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 16,
    "guards_detected": []
}
medium other codex Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled 75 no
view
evidence_json
{
    "evidence": "Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report \u201cUntrusted CALL target/value reachable\u201d and \u201cETH value transfer possible\u201d with 16 examples and no guards detected.",
    "locations": [
        "pc:0x7ec",
        "pc:0x1812",
        "pc:0x192f",
        "pc:0x1d07",
        "pc:0x1da3",
        "pc:0x1fb3",
        "pc:0x204f",
        "pc:0x2147",
        "pc:0x241a",
        "pc:0x2535",
        "pc:0x2c98",
        "pc:0x2d70",
        "pc:0x2f43",
        "pc:0x2fdf",
        "pc:0x30d7",
        "pc:0x3946"
    ],
    "recommendation": "Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.",
    "exploit_scenario": "If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 19
}