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

Analysis Run

019bb377-695b-732c-9a5c-db637f2ff0d1

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

What survived the funnel

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

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
ETH value transfer possible
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
39762 artifact.fetch complete 1 / 3 3 months ago
39763 proxy.resolve complete 1 / 3 3 months ago
39764 tool.cast_disasm complete 1 / 3 3 months ago
39765 analysis.bundle complete 1 / 3 3 months ago
39766 capability.graph complete 1 / 3 3 months ago
39767 detector.run complete 1 / 3 3 months ago
39768 validation.fork complete 1 / 3 3 months ago
39937 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Bytecode shows several external CALL sites (computed targets/value), block-property-based randomness, and a storage-length loop that performs external calls. Proxy/delegatecall not detected. Analysis is bytecode-only; selector/guard inference is heuristic.
View stdout
{"no_findings":false,"summary":"Bytecode shows several external CALL sites (computed targets/value), block-property-based randomness, and a storage-length loop that performs external calls. Proxy/delegatecall not detected. Analysis is bytecode-only; selector/guard inference is heuristic.","findings":[{"severity":"medium","category":"reentrancy","title":"External CALLs with computed targets/value and no reentrancy guard detected","exploit_scenario":"If a called token/router/recipient is malicious, it can reenter before state updates and manipulate participant lists or drain funds, especially where ETH value transfer is possible. Guard detection is heuristic, so this is a conservative risk call.","recommendation":"Add a reentrancy guard around functions that perform external calls and update state before interacting. Consider allowlisting call targets and using pull-based withdrawals for ETH.","evidence":"BYTECODE_BUNDLE.json callsites list 7 CALLs with computed target/value and returndata_checked=null (pc 1347, 1574, 1809, 2273, 3204, 3332, 7190). Detector findings: 'Untrusted CALL target/value reachable' and 'ETH value transfer possible' with guards_detected=[]; auth.guards is empty.","locations":["pc:0x543","pc:0x626","pc:0x711","pc:0x8e1","pc:0xc84","pc:0xd04","pc:0x1c16"]},{"severity":"medium","category":"oracle","title":"Randomness derived from block properties (TIMESTAMP/PREVRANDAO)","exploit_scenario":"If this randomness drives shuffling/winner selection, validators can bias block properties to influence outcomes (e.g., reorder or include transactions in favorable blocks).","recommendation":"Use a verifiable randomness source (VRF) or a commit-reveal scheme if fairness matters.","evidence":"Disassembly around pc 3589-3595 shows DIFFICULTY/PREVRANDAO (0x44) and TIMESTAMP (0x42) fed into hashing logic, consistent with on-chain randomness generation.","locations":["pc:0xe05","pc:0xe0b"]},{"severity":"low","category":"other","title":"Potential gas-DoS from unbounded loop with external calls","exploit_scenario":"A loop appears to iterate over a storage length (slot 0x02) and perform external CALLs. If the list grows, the loop can exceed the block gas limit, preventing completion of the function and locking funds/state transitions.","recommendation":"Cap list sizes, add batching/checkpointing, or allow partial processing across calls.","evidence":"Bytecode shows SLOAD of slot 0x02 used as a loop bound with JUMPI backedge and external CALLs inside the loop (e.g., pc 1127 for SLOAD and pc 1347 for CALL).","locations":["pc:0x467","pc:0x543"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-bhf1sj52
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb378-2d29-7d72-8781-ae7eafe5d184
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

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

thinking
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-bhf1sj52 succeeded in 10ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-bhf1sj52 succeeded in 16ms:
{
  "analysis_artifact": {
    "address": "0x7e57ac0cc9251a5ac8a4ba2f138793bef8e47fcd",
    "artifact_hash": "0x8cc9f26542c24fa7ddc534eb4e637bf7328a97352496096e73d61115b4c6797e",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0xfbaac425d57b212961f8249cf9efdc10806af7c6a6311840c650a905a4b967cb",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Searching for critical terms in large file**
exec
/bin/bash -lc 'rg -n "storage|evidence|detector|callsite|delegatecall|proxy|implementation|eip1967|beacon|admin" BYTECODE_BUNDLE.json' in /tmp/codex-bhf1sj52 succeeded in 16ms:
9569:      "callsites": [
11932:            "delegatecall": 0,
11936:          "storage": {
12156:            "delegatecall": 0,
12160:          "storage": {
12380:            "delegatecall": 0,
12384:          "storage": {
12604:            "delegatecall": 0,
12608:          "storage": {
12828:            "delegatecall": 0,
12832:          "storage": {
13052:            "delegatecall": 0,
13056:          "storage": {
13276:            "delegatecall": 0,
13280:          "storage": {
13500:            "delegatecall": 0,
13504:          "storage": {
13724:            "delegatecall": 0,
13728:          "storage": {
13948:            "delegatecall": 0,

thinking
**Searching for relevant code sections**
exec
/bin/bash -lc "sed -n '9520,9625p' BYTECODE_BUNDLE.json" in /tmp/codex-bhf1sj52 succeeded in 7ms:
          "end_pc": 8662,
          "hash": "0x2eb0d745eb489141990398a0e2bf2471423ecfeb06c1fe604edf7580b34f82db",
          "opcodes": [
            "OP_A2",
            "PUSH5",
            "OP_22",
            "SLT",
            "SHA3",
            "OP_B0",
            "OP_5C",
            "MLOAD",
            "PUSH12",
            "OP_BA",
            "OP_EC",
            "OP_DD",
            "PUSH31",
            "SLT",
            "SHA3",
            "OP_A2",
            "OP_BC",
exec
/bin/bash -lc "sed -n '9625,9725p' BYTECODE_BUNDLE.json" in /tmp/codex-bhf1sj52 succeeded in 7ms:
        },
        {
          "opcode": "CALL",
          "pc": 3332,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 7190,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        }
      ],
      "cfg_edges": [
        {
          "from": "bb:0",
          "to": "bb:220",

thinking
**Locating storage and proxy details**
exec
/bin/bash -lc "sed -n '17300,17620p' BYTECODE_BUNDLE.json" in /tmp/codex-bhf1sj52 succeeded in 32ms:
      ],
      "selectors": [
        "0x95d89b41",
        "0xc31c9c07",
        "0xc9e0ab68",
        "0xf2fde38b",
        "0x6998ec23",
        "0x715018a6",
        "0x8da5cb5b",
        "0x4782f779",
        "0x4f1c7f8c",
        "0x5a446215",
        "0x5e35359e",
        "0x06fdde03",
        "0x1a695230",
        "0x41cb87fc",
        "0xa9059cbb",
        "0xdd62ed3e",
        "0xfc0c546a",
        "0x70a08231",


thinking
**Analyzing contract bytecode and potential risks**

This contract seems to combine an ERC20 token with a shuffle or raffle mechanism, including external token transfers, ETH withdrawals, and deploying a secondary contract via CREATE. I'm parsing bytecode selectors, callsites, and storage to spot security concerns like untrusted external calls, reentrancy, and access control gaps—especially around ETH or token transfers and contract creation. There’s evidence of owner-only restrictions on key functions, but some calls with value and CREATE usage deserve careful scrutiny given the complex embedded runtime code.
thinking
**Mapping functions and evaluating combined bytecode**

I’m matching function selectors to bytecode offsets to clarify which routines belong to the main contract versus the embedded ERC20 deployed contract. The selectors list includes ERC20 functions due to the embedded creation code, so I’m focusing findings on the main runtime. I’m also examining external calls within loops, owner checks, and potential risks from untrusted calls, contract creation, and complex interactions like token swaps and transfers. This helps tease apart the contract’s true capabilities and attack surface despite the tangled bytecode.
exec
/bin/bash -lc "python - <<'PY'
import json, textwrap
import re
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
# extract runtime bytecode and maybe disassemble around create/call? We'll just search for opcode f0 and call.
hexcode=data['artifact']['runtime_bytecode']['full'][2:]
# find positions of opcode f0 (CREATE) in bytecode
bytes_code=bytes.fromhex(hexcode)
create_positions=[i for i,b in enumerate(bytes_code) if b==0xf0]
call_positions=[i for i,b in enumerate(bytes_code) if b==0xf1]
print('len',len(bytes_code),'create',create_positions[:10],'call',call_positions[:10])
print('num_calls',len(call_positions))
# print context for create
for pos in create_positions[:3]:
    start=max(0,pos-20); end=min(len(bytes_code),pos+20)
    print(pos, bytes_code[start:end].hex())

PY" in /tmp/codex-bhf1sj52 succeeded in 45ms:
len 8667 create [1881, 2279, 8597] call [1347, 1574, 1809, 2273, 2554, 2795, 3204, 3332, 3529, 6486]
num_calls 14
1881 07509493929190611298565b604051809103905ff080158015610769573d5f803e3d5ffd5b506002
2279 44016020604051808303815f875af11580156108f0573d5f803e3d5ffd5b505050506040513d601f
8597 3418f9b0a3a7763760cabaecdd7e3cb6dada81dbf0bddb7d7acc64736f6c63430008190033a26469

thinking
**Analyzing potential create opcode positions**
exec
/bin/bash -lc "python - <<'PY'
import json
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
hexcode=data['artifact']['runtime_bytecode']['full'][2:]
code=bytes.fromhex(hexcode)
# print bytes around position 1870-1895
pos=1881
print(pos, code[pos-10:pos+10].hex())
print('byte at pos',code[pos])
# decode opcodes around pos for a few bytes
ops = {
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'
}

pos=1870
end=1895
# simple disassembly printing opcodes with offsets
pc=pos
while pc<end:
    b=code[pc]
    op=ops.get(b,hex(b))
    if 0x60 <= b <= 0x7f:
        n=b-0x5f
        data=code[pc+1:pc+1+n]
        print(f'{pc}: {op} {data.hex()}')
        pc+=1+n
    else:
        print(f'{pc}: {op}')
        pc+=1
PY" in /tmp/codex-bhf1sj52 succeeded in 36ms:
1881 565b604051809103905ff080158015610769573d
byte at pos 240
1870: SWAP9
1871: JUMP
1872: JUMPDEST
1873: PUSH1 40
1875: MLOAD
1876: DUP1
1877: SWAP2
1878: SUB
1879: SWAP1
1880: PUSH0
1881: CREATE
1882: DUP1
1883: ISZERO
1884: DUP1
1885: ISZERO
1886: PUSH2 0769
1889: JUMPI
1890: RETURNDATASIZE

thinking
**Analyzing CALL instruction positions**
exec
/bin/bash -lc "python - <<'PY'
import json
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
ops={
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'
}

def disasm(start, end):
    pc=start
    while pc<end:
        b=code[pc]
        op=ops.get(b,hex(b))
        if 0x60 <= b <= 0x7f:
            n=b-0x5f
            data=code[pc+1:pc+1+n]
            print(f'{pc}: {op} {data.hex()}')
            pc+=1+n
        else:
            print(f'{pc}: {op}')
            pc+=1

for pos in [1347,1574,1809,2273,3204,3332,7190]:
    print('\\n-- around',pos)
    disasm(pos-20,pos+20)
PY" in /tmp/codex-bhf1sj52 succeeded in 33ms:

-- around 1347
1327: DUP2
1328: ADD
1329: DUP6
1330: SWAP1
1331: MSTORE
1332: PUSH1 44
1334: ADD
1335: PUSH1 20
1337: PUSH1 40
1339: MLOAD
1340: DUP1
1341: DUP4
1342: SUB
1343: DUP2
1344: PUSH0
1345: DUP8
1346: GAS
1347: CALL

thinking
**Analyzing CALL targets, value, and randomness use**

I'm piecing together how CALL instructions handle their gas, target, and value parameters, especially since value is computed rather than immediate. I want to assess potential reentrancy risks due to unchecked external calls and look deeper at how the contract uses block variables like TIMESTAMP and DIFFICULTY for randomness, which might be exploitable for functions like shuffling or lotteries. It feels like there are layers here on how ETH transfers and randomness interplay with contract security.
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
# find occurrences of opcode 0x44 (DIFFICULTY/PREVRANDAO) and 0x42 (TIMESTAMP)
occ_44=[i for i,b in enumerate(code) if b==0x44]
occ_42=[i for i,b in enumerate(code) if b==0x42]
print('0x44 count',len(occ_44),'0x42 count',len(occ_42))
# print a few contexts where 0x44 and 0x42 are near each other
for pos in occ_44:
    if any(abs(pos-p)<50 for p in occ_42):
        start=max(0,pos-20); end=min(len(code),pos+60)
        print('context around',pos)
        print(code[start:end].hex())
        break
PY" in /tmp/codex-bhf1sj52 succeeded in 37ms:
0x44 count 25 0x42 count 3
context around 3589
611509565b90915550506002546003546040805144602082015242918101919091526060810192909252608082015260a001604051602081830303815290604052805190602001205f1c905090565b5f

thinking
**Analyzing function context near address 3589**
exec
/bin/bash -lc "python - <<'PY'
import json
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
ops={
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'
}

def disasm(start,end):
    pc=start
    while pc<end:
        b=code[pc]
        op=ops.get(b,hex(b))
        if 0x60<=b<=0x7f:
            n=b-0x5f
            data=code[pc+1:pc+1+n]
            print(f'{pc}: {op} {data.hex()}')
            pc+=1+n
        else:
            print(f'{pc}: {op}')
            pc+=1

# disassemble around 3565-3615
start=3565
end=3625
print('disasm around',start)
disasm(start,end)
PY" in /tmp/codex-bhf1sj52 succeeded in 39ms:
disasm around 3565
3565: PUSH2 0df5
3568: DUP4
3569: PUSH2 1509
3572: JUMP
3573: JUMPDEST
3574: SWAP1
3575: SWAP2
3576: SSTORE
3577: POP
3578: POP
3579: PUSH1 02
3581: SLOAD
3582: PUSH1 03
3584: SLOAD
3585: PUSH1 40
3587: DUP1
3588: MLOAD
3589: DIFFICULTY
3590: PUSH1 20

thinking
**Analyzing contract randomness and loop risks**

I'm piecing together evidence that the contract uses block properties for randomness, which could be exploited to bias participant selection. Also, I see hints of an unbounded loop over participants that might cause gas DoS, so I'll check the disassembly around PC 0x0464 to confirm loop details and clarify the associated risks.
exec
/bin/bash -lc "python - <<'PY'
import json
path='BYTECODE_BUNDLE.json'
with open(path) as f:
    data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])

ops={
0x5b:'JUMPDEST',0xf1:'CALL',0xfa:'STATICCALL',0xf0:'CREATE',0xfd:'REVERT',0x56:'JUMP',0x57:'JUMPI',0x54:'SLOAD',0x55:'SSTORE',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',
}

# disasm around 0x0460-0x0475 (decimal 1120-1141)?
start=0x0450
end=0x0480
pc=start
while pc<end:
    b=code[pc]
    op=ops.get(b,hex(b))
    if 0x60<=b<=0x7f:
        n=b-0x5f
        data=code[pc+1:pc+1+n]
        print(f'{pc}: {op} {data.hex()}')
        pc+=1+n
    else:
        print(f'{pc}: {op}')
        pc+=1
PY" in /tmp/codex-bhf1sj52 succeeded in 48ms:
1104: PUSH2 01e7
1107: 0x83
1108: PUSH8 0de0b6b3a7640000
1117: PUSH2 11fb
1120: JUMP
1121: JUMPDEST
1122: 0x5f
1123: 0x80
1124: JUMPDEST
1125: PUSH1 02
1127: SLOAD
1128: 0x81
1129: 0x10
1130: 0x15
1131: PUSH2 0669
1134: JUMPI
1135: 0x5f
1136: PUSH2 0911
1139: PUSH2 047a
1142: PUSH2 0de5

thinking
**Summarizing security findings for bytecode analysis**

I'll organize key findings into a JSON summary highlighting medium-severity reentrancy risks due to multiple external calls without guards, low/medium severity oracle risks from on-chain randomness, and low-severity potential DoS from unbounded loops with external calls; I'll gather relevant evidence from bytecode callsites and recommend safeguards accordingly.
exec
/bin/bash -lc "python - <<'PY'
pcs=[1347,1574,1809,2273,3204,3332,7190,3589,3595,1127]
for pc in pcs:
    print(pc, hex(pc))
PY" in /tmp/codex-bhf1sj52 succeeded in 33ms:
1347 0x543
1574 0x626
1809 0x711
2273 0x8e1
3204 0xc84
3332 0xd04
7190 0x1c16
3589 0xe05
3595 0xe0b
1127 0x467

thinking
**Composing detailed vulnerability findings**
codex
{"no_findings":false,"summary":"Bytecode shows several external CALL sites (computed targets/value), block-property-based randomness, and a storage-length loop that performs external calls. Proxy/delegatecall not detected. Analysis is bytecode-only; selector/guard inference is heuristic.","findings":[{"severity":"medium","category":"reentrancy","title":"External CALLs with computed targets/value and no reentrancy guard detected","exploit_scenario":"If a called token/router/recipient is malicious, it can reenter before state updates and manipulate participant lists or drain funds, especially where ETH value transfer is possible. Guard detection is heuristic, so this is a conservative risk call.","recommendation":"Add a reentrancy guard around functions that perform external calls and update state before interacting. Consider allowlisting call targets and using pull-based withdrawals for ETH.","evidence":"BYTECODE_BUNDLE.json callsites list 7 CALLs with computed target/value and returndata_checked=null (pc 1347, 1574, 1809, 2273, 3204, 3332, 7190). Detector findings: 'Untrusted CALL target/value reachable' and 'ETH value transfer possible' with guards_detected=[]; auth.guards is empty.","locations":["pc:0x543","pc:0x626","pc:0x711","pc:0x8e1","pc:0xc84","pc:0xd04","pc:0x1c16"]},{"severity":"medium","category":"oracle","title":"Randomness derived from block properties (TIMESTAMP/PREVRANDAO)","exploit_scenario":"If this randomness drives shuffling/winner selection, validators can bias block properties to influence outcomes (e.g., reorder or include transactions in favorable blocks).","recommendation":"Use a verifiable randomness source (VRF) or a commit-reveal scheme if fairness matters.","evidence":"Disassembly around pc 3589-3595 shows DIFFICULTY/PREVRANDAO (0x44) and TIMESTAMP (0x42) fed into hashing logic, consistent with on-chain randomness generation.","locations":["pc:0xe05","pc:0xe0b"]},{"severity":"low","category":"other","title":"Potential gas-DoS from unbounded loop with external calls","exploit_scenario":"A loop appears to iterate over a storage length (slot 0x02) and perform external CALLs. If the list grows, the loop can exceed the block gas limit, preventing completion of the function and locking funds/state transitions.","recommendation":"Cap list sizes, add batching/checkpointing, or allow partial processing across calls.","evidence":"Bytecode shows SLOAD of slot 0x02 used as a loop bound with JUMPI backedge and external CALLs inside the loop (e.g., pc 1127 for SLOAD and pc 1347 for CALL).","locations":["pc:0x467","pc:0x543"]}]}
tokens used
63,244
Metadata
{
    "codex": {
        "ran_at": "2026-01-12T18:35:12.338962+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 17336,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows several external CALL sites (computed targets/value), block-property-based randomness, and a storage-length loop that performs external calls. Proxy/delegatecall not detected. Analysis is bytecode-only; selector/guard inference is heuristic.",
    "raw_final": {
        "summary": "Bytecode shows several external CALL sites (computed targets/value), block-property-based randomness, and a storage-length loop that performs external calls. Proxy/delegatecall not detected. Analysis is bytecode-only; selector/guard inference is heuristic.",
        "findings": [
            {
                "title": "External CALLs with computed targets/value and no reentrancy guard detected",
                "category": "reentrancy",
                "evidence": "BYTECODE_BUNDLE.json callsites list 7 CALLs with computed target/value and returndata_checked=null (pc 1347, 1574, 1809, 2273, 3204, 3332, 7190). Detector findings: 'Untrusted CALL target/value reachable' and 'ETH value transfer possible' with guards_detected=[]; auth.guards is empty.",
                "severity": "medium",
                "locations": [
                    "pc:0x543",
                    "pc:0x626",
                    "pc:0x711",
                    "pc:0x8e1",
                    "pc:0xc84",
                    "pc:0xd04",
                    "pc:0x1c16"
                ],
                "recommendation": "Add a reentrancy guard around functions that perform external calls and update state before interacting. Consider allowlisting call targets and using pull-based withdrawals for ETH.",
                "exploit_scenario": "If a called token/router/recipient is malicious, it can reenter before state updates and manipulate participant lists or drain funds, especially where ETH value transfer is possible. Guard detection is heuristic, so this is a conservative risk call."
            },
            {
                "title": "Randomness derived from block properties (TIMESTAMP/PREVRANDAO)",
                "category": "oracle",
                "evidence": "Disassembly around pc 3589-3595 shows DIFFICULTY/PREVRANDAO (0x44) and TIMESTAMP (0x42) fed into hashing logic, consistent with on-chain randomness generation.",
                "severity": "medium",
                "locations": [
                    "pc:0xe05",
                    "pc:0xe0b"
                ],
                "recommendation": "Use a verifiable randomness source (VRF) or a commit-reveal scheme if fairness matters.",
                "exploit_scenario": "If this randomness drives shuffling/winner selection, validators can bias block properties to influence outcomes (e.g., reorder or include transactions in favorable blocks)."
            },
            {
                "title": "Potential gas-DoS from unbounded loop with external calls",
                "category": "other",
                "evidence": "Bytecode shows SLOAD of slot 0x02 used as a loop bound with JUMPI backedge and external CALLs inside the loop (e.g., pc 1127 for SLOAD and pc 1347 for CALL).",
                "severity": "low",
                "locations": [
                    "pc:0x467",
                    "pc:0x543"
                ],
                "recommendation": "Cap list sizes, add batching/checkpointing, or allow partial processing across calls.",
                "exploit_scenario": "A loop appears to iterate over a storage length (slot 0x02) and perform external CALLs. If the list grows, the loop can exceed the block gas limit, preventing completion of the function and locking funds/state transitions."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
10
EXT*/BALANCE
1
Total opcodes
5764
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00dc
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x6998ec23
00000018: GT
00000019: PUSH2 0x007c
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x95d89b41
00000023: GT
00000024: PUSH2 0x0057
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0x95d89b41
0000002e: EQ
0000002f: PUSH2 0x0230
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xc31c9c07
00000039: EQ
0000003a: PUSH2 0x0244
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xc9e0ab68
00000044: EQ
00000045: PUSH2 0x0263
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf2fde38b
0000004f: EQ
00000050: PUSH2 0x0282
00000053: JUMPI
00000054: PUSH0
00000055: DUP1
00000056: REVERT
00000057: JUMPDEST
00000058: DUP1
00000059: PUSH4 0x6998ec23
0000005e: EQ
0000005f: PUSH2 0x01cd
00000062: JUMPI
00000063: DUP1
00000064: PUSH4 0x715018a6
00000069: EQ
0000006a: PUSH2 0x01ec
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0x8da5cb5b
00000074: EQ
00000075: PUSH2 0x0200
00000078: JUMPI
00000079: PUSH0
0000007a: DUP1
0000007b: REVERT
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0x4782f779
00000083: GT
00000084: PUSH2 0x00b7
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0x4782f779
0000008e: EQ
0000008f: PUSH2 0x0151
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0x4f1c7f8c
00000099: EQ
0000009a: PUSH2 0x0170
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0x5a446215
000000a4: EQ
000000a5: PUSH2 0x018f
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0x5e35359e
000000af: EQ
000000b0: PUSH2 0x01ae
000000b3: JUMPI
000000b4: PUSH0
000000b5: DUP1
000000b6: REVERT
000000b7: JUMPDEST
000000b8: DUP1
000000b9: PUSH4 0x06fdde03
000000be: EQ
000000bf: PUSH2 0x00e7
000000c2: JUMPI
000000c3: DUP1
000000c4: PUSH4 0x1a695230
000000c9: EQ
000000ca: PUSH2 0x0111
000000cd: JUMPI
000000ce: DUP1
000000cf: PUSH4 0x41cb87fc
000000d4: EQ
000000d5: PUSH2 0x0132
000000d8: JUMPI
000000d9: PUSH0
000000da: DUP1
000000db: REVERT
000000dc: JUMPDEST
000000dd: CALLDATASIZE
000000de: PUSH2 0x00e3
000000e1: JUMPI
000000e2: STOP
000000e3: JUMPDEST
000000e4: PUSH0
000000e5: DUP1
000000e6: REVERT
000000e7: JUMPDEST
000000e8: CALLVALUE
000000e9: DUP1
000000ea: ISZERO
000000eb: PUSH2 0x00f2
000000ee: JUMPI
000000ef: PUSH0
000000f0: DUP1
000000f1: REVERT
000000f2: JUMPDEST
000000f3: POP
000000f4: PUSH2 0x00fb
000000f7: PUSH2 0x02a1
000000fa: JUMP
000000fb: JUMPDEST
000000fc: PUSH1 0x40
000000fe: MLOAD
000000ff: PUSH2 0x0108
00000102: SWAP2
00000103: SWAP1
00000104: PUSH2 0x0f03
00000107: JUMP
00000108: JUMPDEST
00000109: PUSH1 0x40
0000010b: MLOAD
0000010c: DUP1
0000010d: SWAP2
0000010e: SUB
0000010f: SWAP1
00000110: RETURN
00000111: JUMPDEST
00000112: CALLVALUE
00000113: DUP1
00000114: ISZERO
00000115: PUSH2 0x011c
00000118: JUMPI
00000119: PUSH0
0000011a: DUP1
0000011b: REVERT
0000011c: JUMPDEST
0000011d: POP
0000011e: PUSH2 0x0130
00000121: PUSH2 0x012b
00000124: CALLDATASIZE
00000125: PUSH1 0x04
00000127: PUSH2 0x0f30
0000012a: JUMP
0000012b: JUMPDEST
0000012c: PUSH2 0x0331
0000012f: JUMP
00000130: JUMPDEST
00000131: STOP
00000132: JUMPDEST
00000133: CALLVALUE
00000134: DUP1
00000135: ISZERO
00000136: PUSH2 0x013d
00000139: JUMPI
0000013a: PUSH0
0000013b: DUP1
0000013c: REVERT
0000013d: JUMPDEST
0000013e: POP
0000013f: PUSH2 0x0130
00000142: PUSH2 0x014c
00000145: CALLDATASIZE
00000146: PUSH1 0x04
00000148: PUSH2 0x0f30
0000014b: JUMP
0000014c: JUMPDEST
0000014d: PUSH2 0x0670
00000150: JUMP
00000151: JUMPDEST
00000152: CALLVALUE
00000153: DUP1
00000154: ISZERO
00000155: PUSH2 0x015c
00000158: JUMPI
00000159: PUSH0
0000015a: DUP1
0000015b: REVERT
0000015c: JUMPDEST
0000015d: POP
0000015e: PUSH2 0x0130
00000161: PUSH2 0x016b
00000164: CALLDATASIZE
00000165: PUSH1 0x04
00000167: PUSH2 0x0f4b
0000016a: JUMP
0000016b: JUMPDEST
0000016c: PUSH2 0x069a
0000016f: JUMP
00000170: JUMPDEST
00000171: CALLVALUE
00000172: DUP1
00000173: ISZERO
00000174: PUSH2 0x017b
00000177: JUMPI
00000178: PUSH0
00000179: DUP1
0000017a: REVERT
0000017b: JUMPDEST
0000017c: POP
0000017d: PUSH2 0x0130
00000180: PUSH2 0x018a
00000183: CALLDATASIZE
00000184: PUSH1 0x04
00000186: PUSH2 0x1026
00000189: JUMP
0000018a: JUMPDEST
0000018b: PUSH2 0x072a
0000018e: JUMP
0000018f: JUMPDEST
00000190: CALLVALUE
00000191: DUP1
00000192: ISZERO
00000193: PUSH2 0x019a
00000196: JUMPI
00000197: PUSH0
00000198: DUP1
00000199: REVERT
0000019a: JUMPDEST
0000019b: POP
0000019c: PUSH2 0x0130
0000019f: PUSH2 0x01a9
000001a2: CALLDATASIZE
000001a3: PUSH1 0x04
000001a5: PUSH2 0x10aa
000001a8: JUMP
000001a9: JUMPDEST
000001aa: PUSH2 0x07c0
000001ad: JUMP
000001ae: JUMPDEST
000001af: CALLVALUE
000001b0: DUP1
000001b1: ISZERO
000001b2: PUSH2 0x01b9
000001b5: JUMPI
000001b6: PUSH0
000001b7: DUP1
000001b8: REVERT
000001b9: JUMPDEST
000001ba: POP
000001bb: PUSH2 0x0130
000001be: PUSH2 0x01c8
000001c1: CALLDATASIZE
000001c2: PUSH1 0x04
000001c4: PUSH2 0x110a
000001c7: JUMP
000001c8: JUMPDEST
000001c9: PUSH2 0x07e1
000001cc: JUMP
000001cd: JUMPDEST
000001ce: CALLVALUE
000001cf: DUP1
000001d0: ISZERO
000001d1: PUSH2 0x01d8
000001d4: JUMPI
000001d5: PUSH0
000001d6: DUP1
000001d7: REVERT
000001d8: JUMPDEST
000001d9: POP
000001da: PUSH2 0x0130
000001dd: PUSH2 0x01e7
000001e0: CALLDATASIZE
000001e1: PUSH1 0x04
000001e3: PUSH2 0x0f4b
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH2 0x0963
000001eb: JUMP
000001ec: JUMPDEST
000001ed: CALLVALUE
000001ee: DUP1
000001ef: ISZERO
000001f0: PUSH2 0x01f7
000001f3: JUMPI
000001f4: PUSH0
000001f5: DUP1
000001f6: REVERT
000001f7: JUMPDEST
000001f8: POP
000001f9: PUSH2 0x0130
000001fc: PUSH2 0x0ae0
000001ff: JUMP
00000200: JUMPDEST
00000201: CALLVALUE
00000202: DUP1
00000203: ISZERO
00000204: PUSH2 0x020b
00000207: JUMPI
00000208: PUSH0
00000209: DUP1
0000020a: REVERT
0000020b: JUMPDEST
0000020c: POP
0000020d: PUSH0
0000020e: SLOAD
0000020f: PUSH1 0x01
00000211: PUSH1 0x01
00000213: PUSH1 0xa0
00000215: SHL
00000216: SUB
00000217: AND
00000218: JUMPDEST
00000219: PUSH1 0x40
0000021b: MLOAD
0000021c: PUSH1 0x01
0000021e: PUSH1 0x01
00000220: PUSH1 0xa0
00000222: SHL
00000223: SUB
00000224: SWAP1
00000225: SWAP2
00000226: AND
00000227: DUP2
00000228: MSTORE
00000229: PUSH1 0x20
0000022b: ADD
0000022c: PUSH2 0x0108
0000022f: JUMP
00000230: JUMPDEST
00000231: CALLVALUE
00000232: DUP1
00000233: ISZERO
00000234: PUSH2 0x023b
00000237: JUMPI
00000238: PUSH0
00000239: DUP1
0000023a: REVERT
0000023b: JUMPDEST
0000023c: POP
0000023d: PUSH2 0x00fb
00000240: PUSH2 0x0af3
00000243: JUMP
00000244: JUMPDEST
00000245: CALLVALUE
00000246: DUP1
00000247: ISZERO
00000248: PUSH2 0x024f
0000024b: JUMPI
0000024c: PUSH0
0000024d: DUP1
0000024e: REVERT
0000024f: JUMPDEST
00000250: POP
00000251: PUSH1 0x01
00000253: SLOAD
00000254: PUSH2 0x0218
00000257: SWAP1
00000258: PUSH1 0x01
0000025a: PUSH1 0x01
0000025c: PUSH1 0xa0
0000025e: SHL
0000025f: SUB
00000260: AND
00000261: DUP2
00000262: JUMP
00000263: JUMPDEST
00000264: CALLVALUE
00000265: DUP1
00000266: ISZERO
00000267: PUSH2 0x026e
0000026a: JUMPI
0000026b: PUSH0
0000026c: DUP1
0000026d: REVERT
0000026e: JUMPDEST
0000026f: POP
00000270: PUSH2 0x0130
00000273: PUSH2 0x027d
00000276: CALLDATASIZE
00000277: PUSH1 0x04
00000279: PUSH2 0x1148
0000027c: JUMP
0000027d: JUMPDEST
0000027e: PUSH2 0x0b02
00000281: JUMP
00000282: JUMPDEST
00000283: CALLVALUE
00000284: DUP1
00000285: ISZERO
00000286: PUSH2 0x028d
00000289: JUMPI
0000028a: PUSH0
0000028b: DUP1
0000028c: REVERT
0000028d: JUMPDEST
0000028e: POP
0000028f: PUSH2 0x0130
00000292: PUSH2 0x029c
00000295: CALLDATASIZE
00000296: PUSH1 0x04
00000298: PUSH2 0x0f30
0000029b: JUMP
0000029c: JUMPDEST
0000029d: PUSH2 0x0d43
000002a0: JUMP
000002a1: JUMPDEST
000002a2: PUSH1 0x60
000002a4: PUSH1 0x04
000002a6: DUP1
000002a7: SLOAD
000002a8: PUSH2 0x02b0
000002ab: SWAP1
000002ac: PUSH2 0x1198
000002af: JUMP
000002b0: JUMPDEST
000002b1: DUP1
000002b2: PUSH1 0x1f
000002b4: ADD
000002b5: PUSH1 0x20
000002b7: DUP1
000002b8: SWAP2
000002b9: DIV
000002ba: MUL
000002bb: PUSH1 0x20
000002bd: ADD
000002be: PUSH1 0x40
000002c0: MLOAD
000002c1: SWAP1
000002c2: DUP2
000002c3: ADD
000002c4: PUSH1 0x40
000002c6: MSTORE
000002c7: DUP1
000002c8: SWAP3
000002c9: SWAP2
000002ca: SWAP1
000002cb: DUP2
000002cc: DUP2
000002cd: MSTORE
000002ce: PUSH1 0x20
000002d0: ADD
000002d1: DUP3
000002d2: DUP1
000002d3: SLOAD
000002d4: PUSH2 0x02dc
000002d7: SWAP1
000002d8: PUSH2 0x1198
000002db: JUMP
000002dc: JUMPDEST
000002dd: DUP1
000002de: ISZERO
000002df: PUSH2 0x0327
000002e2: JUMPI
000002e3: DUP1
000002e4: PUSH1 0x1f
000002e6: LT
000002e7: PUSH2 0x02fe
000002ea: JUMPI
000002eb: PUSH2 0x0100
000002ee: DUP1
000002ef: DUP4
000002f0: SLOAD
000002f1: DIV
000002f2: MUL
000002f3: DUP4
000002f4: MSTORE
000002f5: SWAP2
000002f6: PUSH1 0x20
000002f8: ADD
000002f9: SWAP2
000002fa: PUSH2 0x0327
000002fd: JUMP
000002fe: JUMPDEST
000002ff: DUP3
00000300: ADD
00000301: SWAP2
00000302: SWAP1
00000303: PUSH0
00000304: MSTORE
00000305: PUSH1 0x20
00000307: PUSH0
00000308: KECCAK256
00000309: SWAP1
0000030a: JUMPDEST
0000030b: DUP2
0000030c: SLOAD
0000030d: DUP2
0000030e: MSTORE
0000030f: SWAP1
00000310: PUSH1 0x01
00000312: ADD
00000313: SWAP1
00000314: PUSH1 0x20
00000316: ADD
00000317: DUP1
00000318: DUP4
00000319: GT
0000031a: PUSH2 0x030a
0000031d: JUMPI
0000031e: DUP3
0000031f: SWAP1
00000320: SUB
00000321: PUSH1 0x1f
00000323: AND
00000324: DUP3
00000325: ADD
00000326: SWAP2
00000327: JUMPDEST
00000328: POP
00000329: POP
0000032a: POP
0000032b: POP
0000032c: POP
0000032d: SWAP1
0000032e: POP
0000032f: SWAP1
00000330: JUMP
00000331: JUMPDEST
00000332: PUSH2 0x0339
00000335: PUSH2 0x0db9
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH1 0x02
0000033c: SLOAD
0000033d: DUP2
0000033e: SWAP1
0000033f: PUSH1 0x01
00000341: LT
00000342: PUSH2 0x0392
00000345: JUMPI
00000346: PUSH1 0x40
00000348: MLOAD
00000349: PUSH3 0x461bcd
0000034d: PUSH1 0xe5
0000034f: SHL
00000350: DUP2
00000351: MSTORE
00000352: PUSH1 0x20
00000354: PUSH1 0x04
00000356: DUP3
00000357: ADD
00000358: MSTORE
00000359: PUSH1 0x1e
0000035b: PUSH1 0x24
0000035d: DUP3
0000035e: ADD
0000035f: MSTORE
00000360: PUSH32 0x4e656564206174206c656173742074776f207061727469636970616e74730000
00000381: PUSH1 0x44
00000383: DUP3
00000384: ADD
00000385: MSTORE
00000386: PUSH1 0x64
00000388: ADD
00000389: JUMPDEST
0000038a: PUSH1 0x40
0000038c: MLOAD
0000038d: DUP1
0000038e: SWAP2
0000038f: SUB
00000390: SWAP1
00000391: REVERT
00000392: JUMPDEST
00000393: PUSH1 0x40
00000395: MLOAD
00000396: PUSH4 0x70a08231
0000039b: PUSH1 0xe0
0000039d: SHL
0000039e: DUP2
0000039f: MSTORE
000003a0: ADDRESS
000003a1: PUSH1 0x04
000003a3: DUP3
000003a4: ADD
000003a5: MSTORE
000003a6: PUSH0
000003a7: SWAP1
000003a8: PUSH1 0x01
000003aa: PUSH1 0x01
000003ac: PUSH1 0xa0
000003ae: SHL
000003af: SUB
000003b0: DUP4
000003b1: AND
000003b2: SWAP1
000003b3: PUSH4 0x70a08231
000003b8: SWAP1
000003b9: PUSH1 0x24
000003bb: ADD
000003bc: PUSH1 0x20
000003be: PUSH1 0x40
000003c0: MLOAD
000003c1: DUP1
000003c2: DUP4
000003c3: SUB
000003c4: DUP2
000003c5: DUP7
000003c6: GAS
000003c7: STATICCALL
000003c8: ISZERO
000003c9: DUP1
000003ca: ISZERO
000003cb: PUSH2 0x03d6
000003ce: JUMPI
000003cf: RETURNDATASIZE
000003d0: PUSH0
000003d1: DUP1
000003d2: RETURNDATACOPY
000003d3: RETURNDATASIZE
000003d4: PUSH0
000003d5: REVERT
000003d6: JUMPDEST
000003d7: POP
000003d8: POP
000003d9: POP
000003da: POP
000003db: PUSH1 0x40
000003dd: MLOAD
000003de: RETURNDATASIZE
000003df: PUSH1 0x1f
000003e1: NOT
000003e2: PUSH1 0x1f
000003e4: DUP3
000003e5: ADD
000003e6: AND
000003e7: DUP3
000003e8: ADD
000003e9: DUP1
000003ea: PUSH1 0x40
000003ec: MSTORE
000003ed: POP
000003ee: DUP2
000003ef: ADD
000003f0: SWAP1
000003f1: PUSH2 0x03fa
000003f4: SWAP2
000003f5: SWAP1
000003f6: PUSH2 0x11d0
000003f9: JUMP
000003fa: JUMPDEST
000003fb: SWAP1
000003fc: POP
000003fd: PUSH0
000003fe: DUP2
000003ff: GT
00000400: PUSH2 0x044b
00000403: JUMPI
00000404: PUSH1 0x40
00000406: MLOAD
00000407: PUSH3 0x461bcd
0000040b: PUSH1 0xe5
0000040d: SHL
0000040e: DUP2
0000040f: MSTORE
00000410: PUSH1 0x20
00000412: PUSH1 0x04
00000414: DUP3
00000415: ADD
00000416: MSTORE
00000417: PUSH1 0x14
00000419: PUSH1 0x24
0000041b: DUP3
0000041c: ADD
0000041d: MSTORE
0000041e: PUSH32 0x4e6f20746f6b656e7320746f2073687566666c65000000000000000000000000
0000043f: PUSH1 0x44
00000441: DUP3
00000442: ADD
00000443: MSTORE
00000444: PUSH1 0x64
00000446: ADD
00000447: PUSH2 0x0389
0000044a: JUMP
0000044b: JUMPDEST
0000044c: PUSH2 0x0461
0000044f: DUP4
00000450: PUSH2 0x01e7
00000453: DUP4
00000454: PUSH8 0x0de0b6b3a7640000
0000045d: PUSH2 0x11fb
00000460: JUMP
00000461: JUMPDEST
00000462: PUSH0
00000463: DUP1
00000464: JUMPDEST
00000465: PUSH1 0x02
00000467: SLOAD
00000468: DUP2
00000469: LT
0000046a: ISZERO
0000046b: PUSH2 0x0669
0000046e: JUMPI
0000046f: PUSH0
00000470: PUSH2 0x0911
00000473: PUSH2 0x047a
00000476: PUSH2 0x0de5
00000479: JUMP
0000047a: JUMPDEST
0000047b: PUSH2 0x0484
0000047e: SWAP2
0000047f: SWAP1
00000480: PUSH2 0x122c
00000483: JUMP
00000484: JUMPDEST
00000485: PUSH2 0x0490
00000488: SWAP1
00000489: PUSH2 0x0244
0000048c: PUSH2 0x123f
0000048f: JUMP
00000490: JUMPDEST
00000491: SWAP1
00000492: POP
00000493: PUSH0
00000494: PUSH2 0x04a5
00000497: DUP3
00000498: PUSH8 0x0de0b6b3a7640000
000004a1: PUSH2 0x11fb
000004a4: JUMP
000004a5: JUMPDEST
000004a6: SWAP1
000004a7: POP
000004a8: PUSH2 0x04b1
000004ab: DUP8
000004ac: DUP3
000004ad: PUSH2 0x0963
000004b0: JUMP
000004b1: JUMPDEST
000004b2: DUP1
000004b3: DUP6
000004b4: LT
000004b5: PUSH2 0x065f
000004b8: JUMPI
000004b9: PUSH2 0x04c2
000004bc: DUP8
000004bd: DUP3
000004be: PUSH2 0x0963
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH0
000004c4: DUP7
000004c5: PUSH1 0x01
000004c7: PUSH1 0x01
000004c9: PUSH1 0xa0
000004cb: SHL
000004cc: SUB
000004cd: AND
000004ce: PUSH4 0xa9059cbb
000004d3: PUSH1 0x02
000004d5: DUP7
000004d6: DUP2
000004d7: SLOAD
000004d8: DUP2
000004d9: LT
000004da: PUSH2 0x04e5
000004dd: JUMPI
000004de: PUSH2 0x04e5
000004e1: PUSH2 0x1252
000004e4: JUMP
000004e5: JUMPDEST
000004e6: PUSH0
000004e7: SWAP2
000004e8: DUP3
000004e9: MSTORE
000004ea: PUSH1 0x20
000004ec: SWAP1
000004ed: SWAP2
000004ee: KECCAK256
000004ef: ADD
000004f0: SLOAD
000004f1: PUSH1 0x40
000004f3: MLOAD
000004f4: PUSH1 0xe0
000004f6: DUP4
000004f7: SWAP1
000004f8: SHL
000004f9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000051a: AND
0000051b: DUP2
0000051c: MSTORE
0000051d: PUSH1 0x01
0000051f: PUSH1 0x01
00000521: PUSH1 0xa0
00000523: SHL
00000524: SUB
00000525: SWAP1
00000526: SWAP2
00000527: AND
00000528: PUSH1 0x04
0000052a: DUP3
0000052b: ADD
0000052c: MSTORE
0000052d: PUSH1 0x24
0000052f: DUP2
00000530: ADD
00000531: DUP6
00000532: SWAP1
00000533: MSTORE
00000534: PUSH1 0x44
00000536: ADD
00000537: PUSH1 0x20
00000539: PUSH1 0x40
0000053b: MLOAD
0000053c: DUP1
0000053d: DUP4
0000053e: SUB
0000053f: DUP2
00000540: PUSH0
00000541: DUP8
00000542: GAS
00000543: CALL
00000544: ISZERO
00000545: DUP1
00000546: ISZERO
00000547: PUSH2 0x0552
0000054a: JUMPI
0000054b: RETURNDATASIZE
0000054c: PUSH0
0000054d: DUP1
0000054e: RETURNDATACOPY
0000054f: RETURNDATASIZE
00000550: PUSH0
00000551: REVERT
00000552: JUMPDEST
00000553: POP
00000554: POP
00000555: POP
00000556: POP
00000557: PUSH1 0x40
00000559: MLOAD
0000055a: RETURNDATASIZE
0000055b: PUSH1 0x1f
0000055d: NOT
0000055e: PUSH1 0x1f
00000560: DUP3
00000561: ADD
00000562: AND
00000563: DUP3
00000564: ADD
00000565: DUP1
00000566: PUSH1 0x40
00000568: MSTORE
00000569: POP
0000056a: DUP2
0000056b: ADD
0000056c: SWAP1
0000056d: PUSH2 0x0576
00000570: SWAP2
00000571: SWAP1
00000572: PUSH2 0x1266
00000575: JUMP
00000576: JUMPDEST
00000577: SWAP1
00000578: POP
00000579: DUP1
0000057a: PUSH2 0x05c5
0000057d: JUMPI
0000057e: PUSH1 0x40
00000580: MLOAD
00000581: PUSH3 0x461bcd
00000585: PUSH1 0xe5
00000587: SHL
00000588: DUP2
00000589: MSTORE
0000058a: PUSH1 0x20
0000058c: PUSH1 0x04
0000058e: DUP3
0000058f: ADD
00000590: MSTORE
00000591: PUSH1 0x15
00000593: PUSH1 0x24
00000595: DUP3
00000596: ADD
00000597: MSTORE
00000598: PUSH32 0x546f6b656e207472616e73666572206661696c65640000000000000000000000
000005b9: PUSH1 0x44
000005bb: DUP3
000005bc: ADD
000005bd: MSTORE
000005be: PUSH1 0x64
000005c0: ADD
000005c1: PUSH2 0x0389
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH1 0x02
000005c8: DUP5
000005c9: DUP2
000005ca: SLOAD
000005cb: DUP2
000005cc: LT
000005cd: PUSH2 0x05d8
000005d0: JUMPI
000005d1: PUSH2 0x05d8
000005d4: PUSH2 0x1252
000005d7: JUMP
000005d8: JUMPDEST
000005d9: PUSH0
000005da: SWAP2
000005db: DUP3
000005dc: MSTORE
000005dd: PUSH1 0x20
000005df: SWAP1
000005e0: SWAP2
000005e1: KECCAK256
000005e2: ADD
000005e3: SLOAD
000005e4: PUSH1 0x40
000005e6: MLOAD
000005e7: PUSH4 0x2270e6b5
000005ec: PUSH1 0xe2
000005ee: SHL
000005ef: DUP2
000005f0: MSTORE
000005f1: PUSH1 0x04
000005f3: DUP2
000005f4: ADD
000005f5: DUP5
000005f6: SWAP1
000005f7: MSTORE
000005f8: PUSH1 0x01
000005fa: PUSH1 0x01
000005fc: PUSH1 0xa0
000005fe: SHL
000005ff: SUB
00000600: SWAP1
00000601: SWAP2
00000602: AND
00000603: SWAP1
00000604: PUSH4 0x89c39ad4
00000609: SWAP1
0000060a: PUSH1 0x24
0000060c: ADD
0000060d: PUSH0
0000060e: PUSH1 0x40
00000610: MLOAD
00000611: DUP1
00000612: DUP4
00000613: SUB
00000614: DUP2
00000615: PUSH0
00000616: DUP8
00000617: DUP1
00000618: EXTCODESIZE
00000619: ISZERO
0000061a: DUP1
0000061b: ISZERO
0000061c: PUSH2 0x0623
0000061f: JUMPI
00000620: PUSH0
00000621: DUP1
00000622: REVERT
00000623: JUMPDEST
00000624: POP
00000625: GAS
00000626: CALL
00000627: ISZERO
00000628: DUP1
00000629: ISZERO
0000062a: PUSH2 0x0635
0000062d: JUMPI
0000062e: RETURNDATASIZE
0000062f: PUSH0
00000630: DUP1
00000631: RETURNDATACOPY
00000632: RETURNDATASIZE
00000633: PUSH0
00000634: REVERT
00000635: JUMPDEST
00000636: POP
00000637: POP
00000638: POP
00000639: POP
0000063a: DUP2
0000063b: DUP7
0000063c: PUSH2 0x0645
0000063f: SWAP2
00000640: SWAP1
00000641: PUSH2 0x1285
00000644: JUMP
00000645: JUMPDEST
00000646: SWAP6
00000647: POP
00000648: PUSH2 0x0651
0000064b: DUP3
0000064c: DUP7
0000064d: PUSH2 0x123f
00000650: JUMP
00000651: JUMPDEST
00000652: SWAP5
00000653: POP
00000654: PUSH2 0x065d
00000657: DUP9
00000658: DUP4
00000659: PUSH2 0x0963
0000065c: JUMP
0000065d: JUMPDEST
0000065e: POP
0000065f: JUMPDEST
00000660: POP
00000661: POP
00000662: PUSH1 0x01
00000664: ADD
00000665: PUSH2 0x0464
00000668: JUMP
00000669: JUMPDEST
0000066a: POP
0000066b: POP
0000066c: POP
0000066d: POP
0000066e: POP
0000066f: JUMP
00000670: JUMPDEST
00000671: PUSH2 0x0678
00000674: PUSH2 0x0db9
00000677: JUMP
00000678: JUMPDEST
00000679: PUSH1 0x01
0000067b: DUP1
0000067c: SLOAD
0000067d: PUSH1 0x01
0000067f: PUSH1 0x01
00000681: PUSH1 0xa0
00000683: SHL
00000684: SUB
00000685: NOT
00000686: AND
00000687: PUSH1 0x01
00000689: PUSH1 0x01
0000068b: PUSH1 0xa0
0000068d: SHL
0000068e: SUB
0000068f: SWAP3
00000690: SWAP1
00000691: SWAP3
00000692: AND
00000693: SWAP2
00000694: SWAP1
00000695: SWAP2
00000696: OR
00000697: SWAP1
00000698: SSTORE
00000699: JUMP
0000069a: JUMPDEST
0000069b: PUSH2 0x06a2
0000069e: PUSH2 0x0db9
000006a1: JUMP
000006a2: JUMPDEST
000006a3: DUP1
000006a4: SELFBALANCE
000006a5: LT
000006a6: ISZERO
000006a7: PUSH2 0x06f2
000006aa: JUMPI
000006ab: PUSH1 0x40
000006ad: MLOAD
000006ae: PUSH3 0x461bcd
000006b2: PUSH1 0xe5
000006b4: SHL
000006b5: DUP2
000006b6: MSTORE
000006b7: PUSH1 0x20
000006b9: PUSH1 0x04
000006bb: DUP3
000006bc: ADD
000006bd: MSTORE
000006be: PUSH1 0x18
000006c0: PUSH1 0x24
000006c2: DUP3
000006c3: ADD
000006c4: MSTORE
000006c5: PUSH32 0x496e73756666696369656e74204554482062616c616e63650000000000000000
000006e6: PUSH1 0x44
000006e8: DUP3
000006e9: ADD
000006ea: MSTORE
000006eb: PUSH1 0x64
000006ed: ADD
000006ee: PUSH2 0x0389
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH1 0x40
000006f5: MLOAD
000006f6: PUSH1 0x01
000006f8: PUSH1 0x01
000006fa: PUSH1 0xa0
000006fc: SHL
000006fd: SUB
000006fe: DUP4
000006ff: AND
00000700: SWAP1
00000701: DUP3
00000702: ISZERO
00000703: PUSH2 0x08fc
00000706: MUL
00000707: SWAP1
00000708: DUP4
00000709: SWAP1
0000070a: PUSH0
0000070b: DUP2
0000070c: DUP2
0000070d: DUP2
0000070e: DUP6
0000070f: DUP9
00000710: DUP9
00000711: CALL
00000712: SWAP4
00000713: POP
00000714: POP
00000715: POP
00000716: POP
00000717: ISZERO
00000718: DUP1
00000719: ISZERO
0000071a: PUSH2 0x0725
0000071d: JUMPI
0000071e: RETURNDATASIZE
0000071f: PUSH0
00000720: DUP1
00000721: RETURNDATACOPY
00000722: RETURNDATASIZE
00000723: PUSH0
00000724: REVERT
00000725: JUMPDEST
00000726: POP
00000727: POP
00000728: POP
00000729: JUMP
0000072a: JUMPDEST
0000072b: PUSH2 0x0732
0000072e: PUSH2 0x0db9
00000731: JUMP
00000732: JUMPDEST
00000733: PUSH0
00000734: DUP5
00000735: DUP5
00000736: DUP5
00000737: DUP5
00000738: PUSH1 0x40
0000073a: MLOAD
0000073b: PUSH2 0x0743
0000073e: SWAP1
0000073f: PUSH2 0x0ec8
00000742: JUMP
00000743: JUMPDEST
00000744: PUSH2 0x0750
00000747: SWAP5
00000748: SWAP4
00000749: SWAP3
0000074a: SWAP2
0000074b: SWAP1
0000074c: PUSH2 0x1298
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH1 0x40
00000753: MLOAD
00000754: DUP1
00000755: SWAP2
00000756: SUB
00000757: SWAP1
00000758: PUSH0
00000759: CREATE
0000075a: DUP1
0000075b: ISZERO
0000075c: DUP1
0000075d: ISZERO
0000075e: PUSH2 0x0769
00000761: JUMPI
00000762: RETURNDATASIZE
00000763: PUSH0
00000764: DUP1
00000765: RETURNDATACOPY
00000766: RETURNDATASIZE
00000767: PUSH0
00000768: REVERT
00000769: JUMPDEST
0000076a: POP
0000076b: PUSH1 0x02
0000076d: DUP1
0000076e: SLOAD
0000076f: PUSH1 0x01
00000771: DUP2
00000772: ADD
00000773: DUP3
00000774: SSTORE
00000775: PUSH0
00000776: SWAP2
00000777: SWAP1
00000778: SWAP2
00000779: MSTORE
0000077a: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace
0000079b: ADD
0000079c: DUP1
0000079d: SLOAD
0000079e: PUSH1 0x01
000007a0: PUSH1 0x01
000007a2: PUSH1 0xa0
000007a4: SHL
000007a5: SUB
000007a6: NOT
000007a7: AND
000007a8: PUSH1 0x01
000007aa: PUSH1 0x01
000007ac: PUSH1 0xa0
000007ae: SHL
000007af: SUB
000007b0: SWAP3
000007b1: SWAP1
000007b2: SWAP3
000007b3: AND
000007b4: SWAP2
000007b5: SWAP1
000007b6: SWAP2
000007b7: OR
000007b8: SWAP1
000007b9: SSTORE
000007ba: POP
000007bb: POP
000007bc: POP
000007bd: POP
000007be: POP
000007bf: JUMP
000007c0: JUMPDEST
000007c1: PUSH2 0x07c8
000007c4: PUSH2 0x0db9
000007c7: JUMP
000007c8: JUMPDEST
000007c9: PUSH1 0x04
000007cb: PUSH2 0x07d4
000007ce: DUP4
000007cf: DUP3
000007d0: PUSH2 0x1324
000007d3: JUMP
000007d4: JUMPDEST
000007d5: POP
000007d6: PUSH1 0x05
000007d8: PUSH2 0x0725
000007db: DUP3
000007dc: DUP3
000007dd: PUSH2 0x1324
000007e0: JUMP
000007e1: JUMPDEST
000007e2: PUSH2 0x07e9
000007e5: PUSH2 0x0db9
000007e8: JUMP
000007e9: JUMPDEST
000007ea: PUSH1 0x40
000007ec: MLOAD
000007ed: PUSH4 0x70a08231
000007f2: PUSH1 0xe0
000007f4: SHL
000007f5: DUP2
000007f6: MSTORE
000007f7: ADDRESS
000007f8: PUSH1 0x04
000007fa: DUP3
000007fb: ADD
000007fc: MSTORE
000007fd: DUP4
000007fe: SWAP1
000007ff: DUP3
00000800: SWAP1
00000801: PUSH1 0x01
00000803: PUSH1 0x01
00000805: PUSH1 0xa0
00000807: SHL
00000808: SUB
00000809: DUP4
0000080a: AND
0000080b: SWAP1
0000080c: PUSH4 0x70a08231
00000811: SWAP1
00000812: PUSH1 0x24
00000814: ADD
00000815: PUSH1 0x20
00000817: PUSH1 0x40
00000819: MLOAD
0000081a: DUP1
0000081b: DUP4
0000081c: SUB
0000081d: DUP2
0000081e: DUP7
0000081f: GAS
00000820: STATICCALL
00000821: ISZERO
00000822: DUP1
00000823: ISZERO
00000824: PUSH2 0x082f
00000827: JUMPI
00000828: RETURNDATASIZE
00000829: PUSH0
0000082a: DUP1
0000082b: RETURNDATACOPY
0000082c: RETURNDATASIZE
0000082d: PUSH0
0000082e: REVERT
0000082f: JUMPDEST
00000830: POP
00000831: POP
00000832: POP
00000833: POP
00000834: PUSH1 0x40
00000836: MLOAD
00000837: RETURNDATASIZE
00000838: PUSH1 0x1f
0000083a: NOT
0000083b: PUSH1 0x1f
0000083d: DUP3
0000083e: ADD
0000083f: AND
00000840: DUP3
00000841: ADD
00000842: DUP1
00000843: PUSH1 0x40
00000845: MSTORE
00000846: POP
00000847: DUP2
00000848: ADD
00000849: SWAP1
0000084a: PUSH2 0x0853
0000084d: SWAP2
0000084e: SWAP1
0000084f: PUSH2 0x11d0
00000852: JUMP
00000853: JUMPDEST
00000854: LT
00000855: ISZERO
00000856: PUSH2 0x08a1
00000859: JUMPI
0000085a: PUSH1 0x40
0000085c: MLOAD
0000085d: PUSH3 0x461bcd
00000861: PUSH1 0xe5
00000863: SHL
00000864: DUP2
00000865: MSTORE
00000866: PUSH1 0x20
00000868: PUSH1 0x04
0000086a: DUP3
0000086b: ADD
0000086c: MSTORE
0000086d: PUSH1 0x1a
0000086f: PUSH1 0x24
00000871: DUP3
00000872: ADD
00000873: MSTORE
00000874: PUSH32 0x496e73756666696369656e7420746f6b656e2062616c616e6365000000000000
00000895: PUSH1 0x44
00000897: DUP3
00000898: ADD
00000899: MSTORE
0000089a: PUSH1 0x64
0000089c: ADD
0000089d: PUSH2 0x0389
000008a0: JUMP
000008a1: JUMPDEST
000008a2: PUSH1 0x40
000008a4: MLOAD
000008a5: PUSH4 0xa9059cbb
000008aa: PUSH1 0xe0
000008ac: SHL
000008ad: DUP2
000008ae: MSTORE
000008af: PUSH1 0x01
000008b1: PUSH1 0x01
000008b3: PUSH1 0xa0
000008b5: SHL
000008b6: SUB
000008b7: DUP5
000008b8: DUP2
000008b9: AND
000008ba: PUSH1 0x04
000008bc: DUP4
000008bd: ADD
000008be: MSTORE
000008bf: PUSH1 0x24
000008c1: DUP3
000008c2: ADD
000008c3: DUP5
000008c4: SWAP1
000008c5: MSTORE
000008c6: PUSH0
000008c7: SWAP2
000008c8: SWAP1
000008c9: DUP4
000008ca: AND
000008cb: SWAP1
000008cc: PUSH4 0xa9059cbb
000008d1: SWAP1
000008d2: PUSH1 0x44
000008d4: ADD
000008d5: PUSH1 0x20
000008d7: PUSH1 0x40
000008d9: MLOAD
000008da: DUP1
000008db: DUP4
000008dc: SUB
000008dd: DUP2
000008de: PUSH0
000008df: DUP8
000008e0: GAS
000008e1: CALL
000008e2: ISZERO
000008e3: DUP1
000008e4: ISZERO
000008e5: PUSH2 0x08f0
000008e8: JUMPI
000008e9: RETURNDATASIZE
000008ea: PUSH0
000008eb: DUP1
000008ec: RETURNDATACOPY
000008ed: RETURNDATASIZE
000008ee: PUSH0
000008ef: REVERT
000008f0: JUMPDEST
000008f1: POP
000008f2: POP
000008f3: POP
000008f4: POP
000008f5: PUSH1 0x40
000008f7: MLOAD
000008f8: RETURNDATASIZE
000008f9: PUSH1 0x1f
000008fb: NOT
000008fc: PUSH1 0x1f
000008fe: DUP3
000008ff: ADD
00000900: AND
00000901: DUP3
00000902: ADD
00000903: DUP1
00000904: PUSH1 0x40
00000906: MSTORE
00000907: POP
00000908: DUP2
00000909: ADD
0000090a: SWAP1
0000090b: PUSH2 0x0914
0000090e: SWAP2
0000090f: SWAP1
00000910: PUSH2 0x1266
00000913: JUMP
00000914: JUMPDEST
00000915: SWAP1
00000916: POP
00000917: DUP1
00000918: PUSH2 0x0669
0000091b: JUMPI
0000091c: PUSH1 0x40
0000091e: MLOAD
0000091f: PUSH3 0x461bcd
00000923: PUSH1 0xe5
00000925: SHL
00000926: DUP2
00000927: MSTORE
00000928: PUSH1 0x20
0000092a: PUSH1 0x04
0000092c: DUP3
0000092d: ADD
0000092e: MSTORE
0000092f: PUSH1 0x15
00000931: PUSH1 0x24
00000933: DUP3
00000934: ADD
00000935: MSTORE
00000936: PUSH32 0x546f6b656e207472616e73666572206661696c65640000000000000000000000
00000957: PUSH1 0x44
00000959: DUP3
0000095a: ADD
0000095b: MSTORE
0000095c: PUSH1 0x64
0000095e: ADD
0000095f: PUSH2 0x0389
00000962: JUMP
00000963: JUMPDEST
00000964: PUSH2 0x096b
00000967: PUSH2 0x0db9
0000096a: JUMP
0000096b: JUMPDEST
0000096c: PUSH1 0x02
0000096e: SLOAD
0000096f: PUSH2 0x09cc
00000972: JUMPI
00000973: PUSH1 0x40
00000975: MLOAD
00000976: PUSH3 0x461bcd
0000097a: PUSH1 0xe5
0000097c: SHL
0000097d: DUP2
0000097e: MSTORE
0000097f: PUSH1 0x20
00000981: PUSH1 0x04
00000983: DUP3
00000984: ADD
00000985: MSTORE
00000986: PUSH1 0x29
00000988: PUSH1 0x24
0000098a: DUP3
0000098b: ADD
0000098c: MSTORE
0000098d: PUSH32 0x4e656564206174206c65617374206f6e65207061727469636970616e7420746f
000009ae: PUSH1 0x44
000009b0: DUP3
000009b1: ADD
000009b2: MSTORE
000009b3: PUSH9 0x2073696d756c617465
000009bd: PUSH1 0xb8
000009bf: SHL
000009c0: PUSH1 0x64
000009c2: DUP3
000009c3: ADD
000009c4: MSTORE
000009c5: PUSH1 0x84
000009c7: ADD
000009c8: PUSH2 0x0389
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH1 0x02
000009cf: SLOAD
000009d0: PUSH0
000009d1: SWAP1
000009d2: PUSH2 0x09d9
000009d5: PUSH2 0x0de5
000009d8: JUMP
000009d9: JUMPDEST
000009da: PUSH2 0x09e3
000009dd: SWAP2
000009de: SWAP1
000009df: PUSH2 0x122c
000009e2: JUMP
000009e3: JUMPDEST
000009e4: SWAP1
000009e5: POP
000009e6: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00000a07: ADDRESS
00000a08: PUSH1 0x02
00000a0a: DUP4
00000a0b: DUP2
00000a0c: SLOAD
00000a0d: DUP2
00000a0e: LT
00000a0f: PUSH2 0x0a1a
00000a12: JUMPI
00000a13: PUSH2 0x0a1a
00000a16: PUSH2 0x1252
00000a19: JUMP
00000a1a: JUMPDEST
00000a1b: PUSH0
00000a1c: SWAP2
00000a1d: DUP3
00000a1e: MSTORE
00000a1f: PUSH1 0x20
00000a21: SWAP1
00000a22: SWAP2
00000a23: KECCAK256
00000a24: ADD
00000a25: SLOAD
00000a26: PUSH1 0x01
00000a28: PUSH1 0x01
00000a2a: PUSH1 0xa0
00000a2c: SHL
00000a2d: SUB
00000a2e: AND
00000a2f: PUSH2 0x0a40
00000a32: PUSH8 0x0de0b6b3a7640000
00000a3b: DUP7
00000a3c: PUSH2 0x13e4
00000a3f: JUMP
00000a40: JUMPDEST
00000a41: PUSH1 0x40
00000a43: DUP1
00000a44: MLOAD
00000a45: PUSH1 0x01
00000a47: PUSH1 0x01
00000a49: PUSH1 0xa0
00000a4b: SHL
00000a4c: SUB
00000a4d: SWAP5
00000a4e: DUP6
00000a4f: AND
00000a50: DUP2
00000a51: MSTORE
00000a52: SWAP4
00000a53: SWAP1
00000a54: SWAP3
00000a55: AND
00000a56: PUSH1 0x20
00000a58: DUP5
00000a59: ADD
00000a5a: MSTORE
00000a5b: SWAP1
00000a5c: DUP3
00000a5d: ADD
00000a5e: MSTORE
00000a5f: PUSH1 0x60
00000a61: ADD
00000a62: PUSH1 0x40
00000a64: MLOAD
00000a65: DUP1
00000a66: SWAP2
00000a67: SUB
00000a68: SWAP1
00000a69: LOG1
00000a6a: PUSH1 0x02
00000a6c: DUP2
00000a6d: DUP2
00000a6e: SLOAD
00000a6f: DUP2
00000a70: LT
00000a71: PUSH2 0x0a7c
00000a74: JUMPI
00000a75: PUSH2 0x0a7c
00000a78: PUSH2 0x1252
00000a7b: JUMP
00000a7c: JUMPDEST
00000a7d: PUSH0
00000a7e: SWAP2
00000a7f: DUP3
00000a80: MSTORE
00000a81: PUSH1 0x20
00000a83: SWAP1
00000a84: SWAP2
00000a85: KECCAK256
00000a86: ADD
00000a87: SLOAD
00000a88: PUSH1 0x01
00000a8a: PUSH1 0x01
00000a8c: PUSH1 0xa0
00000a8e: SHL
00000a8f: SUB
00000a90: SWAP1
00000a91: DUP2
00000a92: AND
00000a93: SWAP1
00000a94: ADDRESS
00000a95: SWAP1
00000a96: DUP6
00000a97: AND
00000a98: PUSH32 0x23ba3c795283d9e649ab6ed4f30e023fbbb705d323e2a68e645e30a5c90e3c18
00000ab9: PUSH2 0x0aca
00000abc: PUSH8 0x0de0b6b3a7640000
00000ac5: DUP8
00000ac6: PUSH2 0x13e4
00000ac9: JUMP
00000aca: JUMPDEST
00000acb: PUSH1 0x40
00000acd: MLOAD
00000ace: SWAP1
00000acf: DUP2
00000ad0: MSTORE
00000ad1: PUSH1 0x20
00000ad3: ADD
00000ad4: PUSH1 0x40
00000ad6: MLOAD
00000ad7: DUP1
00000ad8: SWAP2
00000ad9: SUB
00000ada: SWAP1
00000adb: LOG4
00000adc: POP
00000add: POP
00000ade: POP
00000adf: JUMP
00000ae0: JUMPDEST
00000ae1: PUSH2 0x0ae8
00000ae4: PUSH2 0x0db9
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: PUSH2 0x0af1
00000aec: PUSH0
00000aed: PUSH2 0x0e3f
00000af0: JUMP
00000af1: JUMPDEST
00000af2: JUMP
00000af3: JUMPDEST
00000af4: PUSH1 0x60
00000af6: PUSH1 0x05
00000af8: DUP1
00000af9: SLOAD
00000afa: PUSH2 0x02b0
00000afd: SWAP1
00000afe: PUSH2 0x1198
00000b01: JUMP
00000b02: JUMPDEST
00000b03: PUSH2 0x0b0a
00000b06: PUSH2 0x0db9
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: PUSH1 0x40
00000b0d: MLOAD
00000b0e: PUSH4 0x70a08231
00000b13: PUSH1 0xe0
00000b15: SHL
00000b16: DUP2
00000b17: MSTORE
00000b18: ADDRESS
00000b19: PUSH1 0x04
00000b1b: DUP3
00000b1c: ADD
00000b1d: MSTORE
00000b1e: DUP5
00000b1f: SWAP1
00000b20: DUP4
00000b21: SWAP1
00000b22: PUSH1 0x01
00000b24: PUSH1 0x01
00000b26: PUSH1 0xa0
00000b28: SHL
00000b29: SUB
00000b2a: DUP4
00000b2b: AND
00000b2c: SWAP1
00000b2d: PUSH4 0x70a08231
00000b32: SWAP1
00000b33: PUSH1 0x24
00000b35: ADD
00000b36: PUSH1 0x20
00000b38: PUSH1 0x40
00000b3a: MLOAD
00000b3b: DUP1
00000b3c: DUP4
00000b3d: SUB
00000b3e: DUP2
00000b3f: DUP7
00000b40: GAS
00000b41: STATICCALL
00000b42: ISZERO
00000b43: DUP1
00000b44: ISZERO
00000b45: PUSH2 0x0b50
00000b48: JUMPI
00000b49: RETURNDATASIZE
00000b4a: PUSH0
00000b4b: DUP1
00000b4c: RETURNDATACOPY
00000b4d: RETURNDATASIZE
00000b4e: PUSH0
00000b4f: REVERT
00000b50: JUMPDEST
00000b51: POP
00000b52: POP
00000b53: POP
00000b54: POP
00000b55: PUSH1 0x40
00000b57: MLOAD
00000b58: RETURNDATASIZE
00000b59: PUSH1 0x1f
00000b5b: NOT
00000b5c: PUSH1 0x1f
00000b5e: DUP3
00000b5f: ADD
00000b60: AND
00000b61: DUP3
00000b62: ADD
00000b63: DUP1
00000b64: PUSH1 0x40
00000b66: MSTORE
00000b67: POP
00000b68: DUP2
00000b69: ADD
00000b6a: SWAP1
00000b6b: PUSH2 0x0b74
00000b6e: SWAP2
00000b6f: SWAP1
00000b70: PUSH2 0x11d0
00000b73: JUMP
00000b74: JUMPDEST
00000b75: LT
00000b76: ISZERO
00000b77: PUSH2 0x0bce
00000b7a: JUMPI
00000b7b: PUSH1 0x40
00000b7d: MLOAD
00000b7e: PUSH3 0x461bcd
00000b82: PUSH1 0xe5
00000b84: SHL
00000b85: DUP2
00000b86: MSTORE
00000b87: PUSH1 0x20
00000b89: PUSH1 0x04
00000b8b: DUP3
00000b8c: ADD
00000b8d: MSTORE
00000b8e: PUSH1 0x23
00000b90: PUSH1 0x24
00000b92: DUP3
00000b93: ADD
00000b94: MSTORE
00000b95: PUSH32 0x496e73756666696369656e7420746f6b656e2062616c616e636520666f722073
00000bb6: PUSH1 0x44
00000bb8: DUP3
00000bb9: ADD
00000bba: MSTORE
00000bbb: PUSH3 0x077617
00000bbf: PUSH1 0xec
00000bc1: SHL
00000bc2: PUSH1 0x64
00000bc4: DUP3
00000bc5: ADD
00000bc6: MSTORE
00000bc7: PUSH1 0x84
00000bc9: ADD
00000bca: PUSH2 0x0389
00000bcd: JUMP
00000bce: JUMPDEST
00000bcf: PUSH1 0x40
00000bd1: DUP1
00000bd2: MLOAD
00000bd3: PUSH1 0x02
00000bd5: DUP1
00000bd6: DUP3
00000bd7: MSTORE
00000bd8: PUSH1 0x60
00000bda: DUP3
00000bdb: ADD
00000bdc: DUP4
00000bdd: MSTORE
00000bde: PUSH0
00000bdf: SWAP3
00000be0: PUSH1 0x20
00000be2: DUP4
00000be3: ADD
00000be4: SWAP1
00000be5: DUP1
00000be6: CALLDATASIZE
00000be7: DUP4
00000be8: CALLDATACOPY
00000be9: ADD
00000bea: SWAP1
00000beb: POP
00000bec: POP
00000bed: SWAP1
00000bee: POP
00000bef: DUP6
00000bf0: DUP2
00000bf1: PUSH0
00000bf2: DUP2
00000bf3: MLOAD
00000bf4: DUP2
00000bf5: LT
00000bf6: PUSH2 0x0c01
00000bf9: JUMPI
00000bfa: PUSH2 0x0c01
00000bfd: PUSH2 0x1252
00000c00: JUMP
00000c01: JUMPDEST
00000c02: PUSH1 0x20
00000c04: MUL
00000c05: PUSH1 0x20
00000c07: ADD
00000c08: ADD
00000c09: SWAP1
00000c0a: PUSH1 0x01
00000c0c: PUSH1 0x01
00000c0e: PUSH1 0xa0
00000c10: SHL
00000c11: SUB
00000c12: AND
00000c13: SWAP1
00000c14: DUP2
00000c15: PUSH1 0x01
00000c17: PUSH1 0x01
00000c19: PUSH1 0xa0
00000c1b: SHL
00000c1c: SUB
00000c1d: AND
00000c1e: DUP2
00000c1f: MSTORE
00000c20: POP
00000c21: POP
00000c22: DUP5
00000c23: DUP2
00000c24: PUSH1 0x01
00000c26: DUP2
00000c27: MLOAD
00000c28: DUP2
00000c29: LT
00000c2a: PUSH2 0x0c35
00000c2d: JUMPI
00000c2e: PUSH2 0x0c35
00000c31: PUSH2 0x1252
00000c34: JUMP
00000c35: JUMPDEST
00000c36: PUSH1 0x01
00000c38: PUSH1 0x01
00000c3a: PUSH1 0xa0
00000c3c: SHL
00000c3d: SUB
00000c3e: SWAP3
00000c3f: DUP4
00000c40: AND
00000c41: PUSH1 0x20
00000c43: SWAP2
00000c44: DUP3
00000c45: MUL
00000c46: SWAP3
00000c47: SWAP1
00000c48: SWAP3
00000c49: ADD
00000c4a: ADD
00000c4b: MSTORE
00000c4c: PUSH1 0x01
00000c4e: SLOAD
00000c4f: PUSH1 0x40
00000c51: MLOAD
00000c52: PUSH4 0x095ea7b3
00000c57: PUSH1 0xe0
00000c59: SHL
00000c5a: DUP2
00000c5b: MSTORE
00000c5c: SWAP1
00000c5d: DUP3
00000c5e: AND
00000c5f: PUSH1 0x04
00000c61: DUP3
00000c62: ADD
00000c63: MSTORE
00000c64: PUSH1 0x24
00000c66: DUP2
00000c67: ADD
00000c68: DUP7
00000c69: SWAP1
00000c6a: MSTORE
00000c6b: SWAP1
00000c6c: DUP4
00000c6d: AND
00000c6e: SWAP1
00000c6f: PUSH4 0x095ea7b3
00000c74: SWAP1
00000c75: PUSH1 0x44
00000c77: ADD
00000c78: PUSH1 0x20
00000c7a: PUSH1 0x40
00000c7c: MLOAD
00000c7d: DUP1
00000c7e: DUP4
00000c7f: SUB
00000c80: DUP2
00000c81: PUSH0
00000c82: DUP8
00000c83: GAS
00000c84: CALL
00000c85: ISZERO
00000c86: DUP1
00000c87: ISZERO
00000c88: PUSH2 0x0c93
00000c8b: JUMPI
00000c8c: RETURNDATASIZE
00000c8d: PUSH0
00000c8e: DUP1
00000c8f: RETURNDATACOPY
00000c90: RETURNDATASIZE
00000c91: PUSH0
00000c92: REVERT
00000c93: JUMPDEST
00000c94: POP
00000c95: POP
00000c96: POP
00000c97: POP
00000c98: PUSH1 0x40
00000c9a: MLOAD
00000c9b: RETURNDATASIZE
00000c9c: PUSH1 0x1f
00000c9e: NOT
00000c9f: PUSH1 0x1f
00000ca1: DUP3
00000ca2: ADD
00000ca3: AND
00000ca4: DUP3
00000ca5: ADD
00000ca6: DUP1
00000ca7: PUSH1 0x40
00000ca9: MSTORE
00000caa: POP
00000cab: DUP2
00000cac: ADD
00000cad: SWAP1
00000cae: PUSH2 0x0cb7
00000cb1: SWAP2
00000cb2: SWAP1
00000cb3: PUSH2 0x1266
00000cb6: JUMP
00000cb7: JUMPDEST
00000cb8: POP
00000cb9: PUSH1 0x01
00000cbb: SLOAD
00000cbc: PUSH1 0x01
00000cbe: PUSH1 0x01
00000cc0: PUSH1 0xa0
00000cc2: SHL
00000cc3: SUB
00000cc4: AND
00000cc5: PUSH4 0x38ed1739
00000cca: DUP6
00000ccb: PUSH0
00000ccc: DUP5
00000ccd: DUP8
00000cce: PUSH2 0x0cd8
00000cd1: TIMESTAMP
00000cd2: PUSH1 0xc8
00000cd4: PUSH2 0x123f
00000cd7: JUMP
00000cd8: JUMPDEST
00000cd9: PUSH1 0x40
00000cdb: MLOAD
00000cdc: DUP7
00000cdd: PUSH4 0xffffffff
00000ce2: AND
00000ce3: PUSH1 0xe0
00000ce5: SHL
00000ce6: DUP2
00000ce7: MSTORE
00000ce8: PUSH1 0x04
00000cea: ADD
00000ceb: PUSH2 0x0cf8
00000cee: SWAP6
00000cef: SWAP5
00000cf0: SWAP4
00000cf1: SWAP3
00000cf2: SWAP2
00000cf3: SWAP1
00000cf4: PUSH2 0x13f7
00000cf7: JUMP
00000cf8: JUMPDEST
00000cf9: PUSH0
00000cfa: PUSH1 0x40
00000cfc: MLOAD
00000cfd: DUP1
00000cfe: DUP4
00000cff: SUB
00000d00: DUP2
00000d01: PUSH0
00000d02: DUP8
00000d03: GAS
00000d04: CALL
00000d05: ISZERO
00000d06: DUP1
00000d07: ISZERO
00000d08: PUSH2 0x0d13
00000d0b: JUMPI
00000d0c: RETURNDATASIZE
00000d0d: PUSH0
00000d0e: DUP1
00000d0f: RETURNDATACOPY
00000d10: RETURNDATASIZE
00000d11: PUSH0
00000d12: REVERT
00000d13: JUMPDEST
00000d14: POP
00000d15: POP
00000d16: POP
00000d17: POP
00000d18: PUSH1 0x40
00000d1a: MLOAD
00000d1b: RETURNDATASIZE
00000d1c: PUSH0
00000d1d: DUP3
00000d1e: RETURNDATACOPY
00000d1f: PUSH1 0x1f
00000d21: RETURNDATASIZE
00000d22: SWAP1
00000d23: DUP2
00000d24: ADD
00000d25: PUSH1 0x1f
00000d27: NOT
00000d28: AND
00000d29: DUP3
00000d2a: ADD
00000d2b: PUSH1 0x40
00000d2d: MSTORE
00000d2e: PUSH2 0x0d3a
00000d31: SWAP2
00000d32: SWAP1
00000d33: DUP2
00000d34: ADD
00000d35: SWAP1
00000d36: PUSH2 0x1468
00000d39: JUMP
00000d3a: JUMPDEST
00000d3b: POP
00000d3c: POP
00000d3d: POP
00000d3e: POP
00000d3f: POP
00000d40: POP
00000d41: POP
00000d42: JUMP
00000d43: JUMPDEST
00000d44: PUSH2 0x0d4b
00000d47: PUSH2 0x0db9
00000d4a: JUMP
00000d4b: JUMPDEST
00000d4c: PUSH1 0x01
00000d4e: PUSH1 0x01
00000d50: PUSH1 0xa0
00000d52: SHL
00000d53: SUB
00000d54: DUP2
00000d55: AND
00000d56: PUSH2 0x0dad
00000d59: JUMPI
00000d5a: PUSH1 0x40
00000d5c: MLOAD
00000d5d: PUSH3 0x461bcd
00000d61: PUSH1 0xe5
00000d63: SHL
00000d64: DUP2
00000d65: MSTORE
00000d66: PUSH1 0x20
00000d68: PUSH1 0x04
00000d6a: DUP3
00000d6b: ADD
00000d6c: MSTORE
00000d6d: PUSH1 0x24
00000d6f: DUP1
00000d70: DUP3
00000d71: ADD
00000d72: MSTORE
00000d73: PUSH32 0x4e6577206f776e65722063616e6e6f7420626520746865207a65726f20616464
00000d94: PUSH1 0x44
00000d96: DUP3
00000d97: ADD
00000d98: MSTORE
00000d99: PUSH4 0x72657373
00000d9e: PUSH1 0xe0
00000da0: SHL
00000da1: PUSH1 0x64
00000da3: DUP3
00000da4: ADD
00000da5: MSTORE
00000da6: PUSH1 0x84
00000da8: ADD
00000da9: PUSH2 0x0389
00000dac: JUMP
00000dad: JUMPDEST
00000dae: PUSH2 0x0db6
00000db1: DUP2
00000db2: PUSH2 0x0e8e
00000db5: JUMP
00000db6: JUMPDEST
00000db7: POP
00000db8: JUMP
00000db9: JUMPDEST
00000dba: PUSH0
00000dbb: SLOAD
00000dbc: PUSH1 0x01
00000dbe: PUSH1 0x01
00000dc0: PUSH1 0xa0
00000dc2: SHL
00000dc3: SUB
00000dc4: AND
00000dc5: CALLER
00000dc6: EQ
00000dc7: PUSH2 0x0af1
00000dca: JUMPI
00000dcb: PUSH1 0x40
00000dcd: MLOAD
00000dce: PUSH4 0x118cdaa7
00000dd3: PUSH1 0xe0
00000dd5: SHL
00000dd6: DUP2
00000dd7: MSTORE
00000dd8: CALLER
00000dd9: PUSH1 0x04
00000ddb: DUP3
00000ddc: ADD
00000ddd: MSTORE
00000dde: PUSH1 0x24
00000de0: ADD
00000de1: PUSH2 0x0389
00000de4: JUMP
00000de5: JUMPDEST
00000de6: PUSH1 0x03
00000de8: DUP1
00000de9: SLOAD
00000dea: PUSH0
00000deb: SWAP2
00000dec: DUP3
00000ded: PUSH2 0x0df5
00000df0: DUP4
00000df1: PUSH2 0x1509
00000df4: JUMP
00000df5: JUMPDEST
00000df6: SWAP1
00000df7: SWAP2
00000df8: SSTORE
00000df9: POP
00000dfa: POP
00000dfb: PUSH1 0x02
00000dfd: SLOAD
00000dfe: PUSH1 0x03
00000e00: SLOAD
00000e01: PUSH1 0x40
00000e03: DUP1
00000e04: MLOAD
00000e05: DIFFICULTY
00000e06: PUSH1 0x20
00000e08: DUP3
00000e09: ADD
00000e0a: MSTORE
00000e0b: TIMESTAMP
00000e0c: SWAP2
00000e0d: DUP2
00000e0e: ADD
00000e0f: SWAP2
00000e10: SWAP1
00000e11: SWAP2
00000e12: MSTORE
00000e13: PUSH1 0x60
00000e15: DUP2
00000e16: ADD
00000e17: SWAP3
00000e18: SWAP1
00000e19: SWAP3
00000e1a: MSTORE
00000e1b: PUSH1 0x80
00000e1d: DUP3
00000e1e: ADD
00000e1f: MSTORE
00000e20: PUSH1 0xa0
00000e22: ADD
00000e23: PUSH1 0x40
00000e25: MLOAD
00000e26: PUSH1 0x20
00000e28: DUP2
00000e29: DUP4
00000e2a: SUB
00000e2b: SUB
00000e2c: DUP2
00000e2d: MSTORE
00000e2e: SWAP1
00000e2f: PUSH1 0x40
00000e31: MSTORE
00000e32: DUP1
00000e33: MLOAD
00000e34: SWAP1
00000e35: PUSH1 0x20
00000e37: ADD
00000e38: KECCAK256
00000e39: PUSH0
00000e3a: SHR
00000e3b: SWAP1
00000e3c: POP
00000e3d: SWAP1
00000e3e: JUMP
00000e3f: JUMPDEST
00000e40: PUSH0
00000e41: DUP1
00000e42: SLOAD
00000e43: PUSH1 0x01
00000e45: PUSH1 0x01
00000e47: PUSH1 0xa0
00000e49: SHL
00000e4a: SUB
00000e4b: DUP4
00000e4c: DUP2
00000e4d: AND
00000e4e: PUSH1 0x01
00000e50: PUSH1 0x01
00000e52: PUSH1 0xa0
00000e54: SHL
00000e55: SUB
00000e56: NOT
00000e57: DUP4
00000e58: AND
00000e59: DUP2
00000e5a: OR
00000e5b: DUP5
00000e5c: SSTORE
00000e5d: PUSH1 0x40
00000e5f: MLOAD
00000e60: SWAP2
00000e61: SWAP1
00000e62: SWAP3
00000e63: AND
00000e64: SWAP3
00000e65: DUP4
00000e66: SWAP2
00000e67: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000e88: SWAP2
00000e89: SWAP1
00000e8a: LOG3
00000e8b: POP
00000e8c: POP
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH2 0x0e96
00000e92: PUSH2 0x0db9
00000e95: JUMP
00000e96: JUMPDEST
00000e97: PUSH1 0x01
00000e99: PUSH1 0x01
00000e9b: PUSH1 0xa0
00000e9d: SHL
00000e9e: SUB
00000e9f: DUP2
00000ea0: AND
00000ea1: PUSH2 0x0ebf
00000ea4: JUMPI
00000ea5: PUSH1 0x40
00000ea7: MLOAD
00000ea8: PUSH4 0x1e4fbdf7
00000ead: PUSH1 0xe0
00000eaf: SHL
00000eb0: DUP2
00000eb1: MSTORE
00000eb2: PUSH0
00000eb3: PUSH1 0x04
00000eb5: DUP3
00000eb6: ADD
00000eb7: MSTORE
00000eb8: PUSH1 0x24
00000eba: ADD
00000ebb: PUSH2 0x0389
00000ebe: JUMP
00000ebf: JUMPDEST
00000ec0: PUSH2 0x0db6
00000ec3: DUP2
00000ec4: PUSH2 0x0e3f
00000ec7: JUMP
00000ec8: JUMPDEST
00000ec9: PUSH2 0x0c84
00000ecc: DUP1
00000ecd: PUSH2 0x1522
00000ed0: DUP4
00000ed1: CODECOPY
00000ed2: ADD
00000ed3: SWAP1
00000ed4: JUMP
00000ed5: JUMPDEST
00000ed6: PUSH0
00000ed7: DUP2
00000ed8: MLOAD
00000ed9: DUP1
00000eda: DUP5
00000edb: MSTORE
00000edc: DUP1
00000edd: PUSH1 0x20
00000edf: DUP5
00000ee0: ADD
00000ee1: PUSH1 0x20
00000ee3: DUP7
00000ee4: ADD
00000ee5: MCOPY
00000ee6: PUSH0
00000ee7: PUSH1 0x20
00000ee9: DUP3
00000eea: DUP7
00000eeb: ADD
00000eec: ADD
00000eed: MSTORE
00000eee: PUSH1 0x20
00000ef0: PUSH1 0x1f
00000ef2: NOT
00000ef3: PUSH1 0x1f
00000ef5: DUP4
00000ef6: ADD
00000ef7: AND
00000ef8: DUP6
00000ef9: ADD
00000efa: ADD
00000efb: SWAP2
00000efc: POP
00000efd: POP
00000efe: SWAP3
00000eff: SWAP2
00000f00: POP
00000f01: POP
00000f02: JUMP
00000f03: JUMPDEST
00000f04: PUSH1 0x20
00000f06: DUP2
00000f07: MSTORE
00000f08: PUSH0
00000f09: PUSH2 0x0f15
00000f0c: PUSH1 0x20
00000f0e: DUP4
00000f0f: ADD
00000f10: DUP5
00000f11: PUSH2 0x0ed5
00000f14: JUMP
00000f15: JUMPDEST
00000f16: SWAP4
00000f17: SWAP3
00000f18: POP
00000f19: POP
00000f1a: POP
00000f1b: JUMP
00000f1c: JUMPDEST
00000f1d: PUSH1 0x01
00000f1f: PUSH1 0x01
00000f21: PUSH1 0xa0
00000f23: SHL
00000f24: SUB
00000f25: DUP2
00000f26: AND
00000f27: DUP2
00000f28: EQ
00000f29: PUSH2 0x0db6
00000f2c: JUMPI
00000f2d: PUSH0
00000f2e: DUP1
00000f2f: REVERT
00000f30: JUMPDEST
00000f31: PUSH0
00000f32: PUSH1 0x20
00000f34: DUP3
00000f35: DUP5
00000f36: SUB
00000f37: SLT
00000f38: ISZERO
00000f39: PUSH2 0x0f40
00000f3c: JUMPI
00000f3d: PUSH0
00000f3e: DUP1
00000f3f: REVERT
00000f40: JUMPDEST
00000f41: DUP2
00000f42: CALLDATALOAD
00000f43: PUSH2 0x0f15
00000f46: DUP2
00000f47: PUSH2 0x0f1c
00000f4a: JUMP
00000f4b: JUMPDEST
00000f4c: PUSH0
00000f4d: DUP1
00000f4e: PUSH1 0x40
00000f50: DUP4
00000f51: DUP6
00000f52: SUB
00000f53: SLT
00000f54: ISZERO
00000f55: PUSH2 0x0f5c
00000f58: JUMPI
00000f59: PUSH0
00000f5a: DUP1
00000f5b: REVERT
00000f5c: JUMPDEST
00000f5d: DUP3
00000f5e: CALLDATALOAD
00000f5f: PUSH2 0x0f67
00000f62: DUP2
00000f63: PUSH2 0x0f1c
00000f66: JUMP
00000f67: JUMPDEST
00000f68: SWAP5
00000f69: PUSH1 0x20
00000f6b: SWAP4
00000f6c: SWAP1
00000f6d: SWAP4
00000f6e: ADD
00000f6f: CALLDATALOAD
00000f70: SWAP4
00000f71: POP
00000f72: POP
00000f73: POP
00000f74: JUMP
00000f75: JUMPDEST
00000f76: PUSH4 0x4e487b71
00000f7b: PUSH1 0xe0
00000f7d: SHL
00000f7e: PUSH0
00000f7f: MSTORE
00000f80: PUSH1 0x41
00000f82: PUSH1 0x04
00000f84: MSTORE
00000f85: PUSH1 0x24
00000f87: PUSH0
00000f88: REVERT
00000f89: JUMPDEST
00000f8a: PUSH1 0x40
00000f8c: MLOAD
00000f8d: PUSH1 0x1f
00000f8f: DUP3
00000f90: ADD
00000f91: PUSH1 0x1f
00000f93: NOT
00000f94: AND
00000f95: DUP2
00000f96: ADD
00000f97: PUSH8 0xffffffffffffffff
00000fa0: DUP2
00000fa1: GT
00000fa2: DUP3
00000fa3: DUP3
00000fa4: LT
00000fa5: OR
00000fa6: ISZERO
00000fa7: PUSH2 0x0fb2
00000faa: JUMPI
00000fab: PUSH2 0x0fb2
00000fae: PUSH2 0x0f75
00000fb1: JUMP
00000fb2: JUMPDEST
00000fb3: PUSH1 0x40
00000fb5: MSTORE
00000fb6: SWAP2
00000fb7: SWAP1
00000fb8: POP
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: PUSH0
00000fbc: DUP3
00000fbd: PUSH1 0x1f
00000fbf: DUP4
00000fc0: ADD
00000fc1: SLT
00000fc2: PUSH2 0x0fc9
00000fc5: JUMPI
00000fc6: PUSH0
00000fc7: DUP1
00000fc8: REVERT
00000fc9: JUMPDEST
00000fca: DUP2
00000fcb: CALLDATALOAD
00000fcc: PUSH8 0xffffffffffffffff
00000fd5: DUP2
00000fd6: GT
00000fd7: ISZERO
00000fd8: PUSH2 0x0fe3
00000fdb: JUMPI
00000fdc: PUSH2 0x0fe3
00000fdf: PUSH2 0x0f75
00000fe2: JUMP
00000fe3: JUMPDEST
00000fe4: PUSH2 0x0ff6
00000fe7: PUSH1 0x1f
00000fe9: DUP3
00000fea: ADD
00000feb: PUSH1 0x1f
00000fed: NOT
00000fee: AND
00000fef: PUSH1 0x20
00000ff1: ADD
00000ff2: PUSH2 0x0f89
00000ff5: JUMP
00000ff6: JUMPDEST
00000ff7: DUP2
00000ff8: DUP2
00000ff9: MSTORE
00000ffa: DUP5
00000ffb: PUSH1 0x20
00000ffd: DUP4
00000ffe: DUP7
00000fff: ADD
00001000: ADD
00001001: GT
00001002: ISZERO
00001003: PUSH2 0x100a
00001006: JUMPI
00001007: PUSH0
00001008: DUP1
00001009: REVERT
0000100a: JUMPDEST
0000100b: DUP2
0000100c: PUSH1 0x20
0000100e: DUP6
0000100f: ADD
00001010: PUSH1 0x20
00001012: DUP4
00001013: ADD
00001014: CALLDATACOPY
00001015: PUSH0
00001016: SWAP2
00001017: DUP2
00001018: ADD
00001019: PUSH1 0x20
0000101b: ADD
0000101c: SWAP2
0000101d: SWAP1
0000101e: SWAP2
0000101f: MSTORE
00001020: SWAP4
00001021: SWAP3
00001022: POP
00001023: POP
00001024: POP
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH0
00001028: DUP1
00001029: PUSH0
0000102a: DUP1
0000102b: PUSH1 0x80
0000102d: DUP6
0000102e: DUP8
0000102f: SUB
00001030: SLT
00001031: ISZERO
00001032: PUSH2 0x1039
00001035: JUMPI
00001036: PUSH0
00001037: DUP1
00001038: REVERT
00001039: JUMPDEST
0000103a: DUP5
0000103b: CALLDATALOAD
0000103c: PUSH2 0x1044
0000103f: DUP2
00001040: PUSH2 0x0f1c
00001043: JUMP
00001044: JUMPDEST
00001045: SWAP4
00001046: POP
00001047: PUSH1 0x20
00001049: DUP6
0000104a: ADD
0000104b: CALLDATALOAD
0000104c: PUSH2 0x1054
0000104f: DUP2
00001050: PUSH2 0x0f1c
00001053: JUMP
00001054: JUMPDEST
00001055: SWAP3
00001056: POP
00001057: PUSH1 0x40
00001059: DUP6
0000105a: ADD
0000105b: CALLDATALOAD
0000105c: PUSH8 0xffffffffffffffff
00001065: DUP1
00001066: DUP3
00001067: GT
00001068: ISZERO
00001069: PUSH2 0x1070
0000106c: JUMPI
0000106d: PUSH0
0000106e: DUP1
0000106f: REVERT
00001070: JUMPDEST
00001071: PUSH2 0x107c
00001074: DUP9
00001075: DUP4
00001076: DUP10
00001077: ADD
00001078: PUSH2 0x0fba
0000107b: JUMP
0000107c: JUMPDEST
0000107d: SWAP4
0000107e: POP
0000107f: PUSH1 0x60
00001081: DUP8
00001082: ADD
00001083: CALLDATALOAD
00001084: SWAP2
00001085: POP
00001086: DUP1
00001087: DUP3
00001088: GT
00001089: ISZERO
0000108a: PUSH2 0x1091
0000108d: JUMPI
0000108e: PUSH0
0000108f: DUP1
00001090: REVERT
00001091: JUMPDEST
00001092: POP
00001093: PUSH2 0x109e
00001096: DUP8
00001097: DUP3
00001098: DUP9
00001099: ADD
0000109a: PUSH2 0x0fba
0000109d: JUMP
0000109e: JUMPDEST
0000109f: SWAP2
000010a0: POP
000010a1: POP
000010a2: SWAP3
000010a3: SWAP6
000010a4: SWAP2
000010a5: SWAP5
000010a6: POP
000010a7: SWAP3
000010a8: POP
000010a9: JUMP
000010aa: JUMPDEST
000010ab: PUSH0
000010ac: DUP1
000010ad: PUSH1 0x40
000010af: DUP4
000010b0: DUP6
000010b1: SUB
000010b2: SLT
000010b3: ISZERO
000010b4: PUSH2 0x10bb
000010b7: JUMPI
000010b8: PUSH0
000010b9: DUP1
000010ba: REVERT
000010bb: JUMPDEST
000010bc: DUP3
000010bd: CALLDATALOAD
000010be: PUSH8 0xffffffffffffffff
000010c7: DUP1
000010c8: DUP3
000010c9: GT
000010ca: ISZERO
000010cb: PUSH2 0x10d2
000010ce: JUMPI
000010cf: PUSH0
000010d0: DUP1
000010d1: REVERT
000010d2: JUMPDEST
000010d3: PUSH2 0x10de
000010d6: DUP7
000010d7: DUP4
000010d8: DUP8
000010d9: ADD
000010da: PUSH2 0x0fba
000010dd: JUMP
000010de: JUMPDEST
000010df: SWAP4
000010e0: POP
000010e1: PUSH1 0x20
000010e3: DUP6
000010e4: ADD
000010e5: CALLDATALOAD
000010e6: SWAP2
000010e7: POP
000010e8: DUP1
000010e9: DUP3
000010ea: GT
000010eb: ISZERO
000010ec: PUSH2 0x10f3
000010ef: JUMPI
000010f0: PUSH0
000010f1: DUP1
000010f2: REVERT
000010f3: JUMPDEST
000010f4: POP
000010f5: PUSH2 0x1100
000010f8: DUP6
000010f9: DUP3
000010fa: DUP7
000010fb: ADD
000010fc: PUSH2 0x0fba
000010ff: JUMP
00001100: JUMPDEST
00001101: SWAP2
00001102: POP
00001103: POP
00001104: SWAP3
00001105: POP
00001106: SWAP3
00001107: SWAP1
00001108: POP
00001109: JUMP
0000110a: JUMPDEST
0000110b: PUSH0
0000110c: DUP1
0000110d: PUSH0
0000110e: PUSH1 0x60
00001110: DUP5
00001111: DUP7
00001112: SUB
00001113: SLT
00001114: ISZERO
00001115: PUSH2 0x111c
00001118: JUMPI
00001119: PUSH0
0000111a: DUP1
0000111b: REVERT
0000111c: JUMPDEST
0000111d: DUP4
0000111e: CALLDATALOAD
0000111f: PUSH2 0x1127
00001122: DUP2
00001123: PUSH2 0x0f1c
00001126: JUMP
00001127: JUMPDEST
00001128: SWAP3
00001129: POP
0000112a: PUSH1 0x20
0000112c: DUP5
0000112d: ADD
0000112e: CALLDATALOAD
0000112f: PUSH2 0x1137
00001132: DUP2
00001133: PUSH2 0x0f1c
00001136: JUMP
00001137: JUMPDEST
00001138: SWAP3
00001139: SWAP6
0000113a: SWAP3
0000113b: SWAP5
0000113c: POP
0000113d: POP
0000113e: POP
0000113f: PUSH1 0x40
00001141: SWAP2
00001142: SWAP1
00001143: SWAP2
00001144: ADD
00001145: CALLDATALOAD
00001146: SWAP1
00001147: JUMP
00001148: JUMPDEST
00001149: PUSH0
0000114a: DUP1
0000114b: PUSH0
0000114c: DUP1
0000114d: PUSH1 0x80
0000114f: DUP6
00001150: DUP8
00001151: SUB
00001152: SLT
00001153: ISZERO
00001154: PUSH2 0x115b
00001157: JUMPI
00001158: PUSH0
00001159: DUP1
0000115a: REVERT
0000115b: JUMPDEST
0000115c: DUP5
0000115d: CALLDATALOAD
0000115e: PUSH2 0x1166
00001161: DUP2
00001162: PUSH2 0x0f1c
00001165: JUMP
00001166: JUMPDEST
00001167: SWAP4
00001168: POP
00001169: PUSH1 0x20
0000116b: DUP6
0000116c: ADD
0000116d: CALLDATALOAD
0000116e: PUSH2 0x1176
00001171: DUP2
00001172: PUSH2 0x0f1c
00001175: JUMP
00001176: JUMPDEST
00001177: SWAP3
00001178: POP
00001179: PUSH1 0x40
0000117b: DUP6
0000117c: ADD
0000117d: CALLDATALOAD
0000117e: SWAP2
0000117f: POP
00001180: PUSH1 0x60
00001182: DUP6
00001183: ADD
00001184: CALLDATALOAD
00001185: PUSH2 0x118d
00001188: DUP2
00001189: PUSH2 0x0f1c
0000118c: JUMP
0000118d: JUMPDEST
0000118e: SWAP4
0000118f: SWAP7
00001190: SWAP3
00001191: SWAP6
00001192: POP
00001193: SWAP1
00001194: SWAP4
00001195: POP
00001196: POP
00001197: JUMP
00001198: JUMPDEST
00001199: PUSH1 0x01
0000119b: DUP2
0000119c: DUP2
0000119d: SHR
0000119e: SWAP1
0000119f: DUP3
000011a0: AND
000011a1: DUP1
000011a2: PUSH2 0x11ac
000011a5: JUMPI
000011a6: PUSH1 0x7f
000011a8: DUP3
000011a9: AND
000011aa: SWAP2
000011ab: POP
000011ac: JUMPDEST
000011ad: PUSH1 0x20
000011af: DUP3
000011b0: LT
000011b1: DUP2
000011b2: SUB
000011b3: PUSH2 0x11ca
000011b6: JUMPI
000011b7: PUSH4 0x4e487b71
000011bc: PUSH1 0xe0
000011be: SHL
000011bf: PUSH0
000011c0: MSTORE
000011c1: PUSH1 0x22
000011c3: PUSH1 0x04
000011c5: MSTORE
000011c6: PUSH1 0x24
000011c8: PUSH0
000011c9: REVERT
000011ca: JUMPDEST
000011cb: POP
000011cc: SWAP2
000011cd: SWAP1
000011ce: POP
000011cf: JUMP
000011d0: JUMPDEST
000011d1: PUSH0
000011d2: PUSH1 0x20
000011d4: DUP3
000011d5: DUP5
000011d6: SUB
000011d7: SLT
000011d8: ISZERO
000011d9: PUSH2 0x11e0
000011dc: JUMPI
000011dd: PUSH0
000011de: DUP1
000011df: REVERT
000011e0: JUMPDEST
000011e1: POP
000011e2: MLOAD
000011e3: SWAP2
000011e4: SWAP1
000011e5: POP
000011e6: JUMP
000011e7: JUMPDEST
000011e8: PUSH4 0x4e487b71
000011ed: PUSH1 0xe0
000011ef: SHL
000011f0: PUSH0
000011f1: MSTORE
000011f2: PUSH1 0x11
000011f4: PUSH1 0x04
000011f6: MSTORE
000011f7: PUSH1 0x24
000011f9: PUSH0
000011fa: REVERT
000011fb: JUMPDEST
000011fc: DUP1
000011fd: DUP3
000011fe: MUL
000011ff: DUP2
00001200: ISZERO
00001201: DUP3
00001202: DUP3
00001203: DIV
00001204: DUP5
00001205: EQ
00001206: OR
00001207: PUSH2 0x1212
0000120a: JUMPI
0000120b: PUSH2 0x1212
0000120e: PUSH2 0x11e7
00001211: JUMP
00001212: JUMPDEST
00001213: SWAP3
00001214: SWAP2
00001215: POP
00001216: POP
00001217: JUMP
00001218: JUMPDEST
00001219: PUSH4 0x4e487b71
0000121e: PUSH1 0xe0
00001220: SHL
00001221: PUSH0
00001222: MSTORE
00001223: PUSH1 0x12
00001225: PUSH1 0x04
00001227: MSTORE
00001228: PUSH1 0x24
0000122a: PUSH0
0000122b: REVERT
0000122c: JUMPDEST
0000122d: PUSH0
0000122e: DUP3
0000122f: PUSH2 0x123a
00001232: JUMPI
00001233: PUSH2 0x123a
00001236: PUSH2 0x1218
00001239: JUMP
0000123a: JUMPDEST
0000123b: POP
0000123c: MOD
0000123d: SWAP1
0000123e: JUMP
0000123f: JUMPDEST
00001240: DUP1
00001241: DUP3
00001242: ADD
00001243: DUP1
00001244: DUP3
00001245: GT
00001246: ISZERO
00001247: PUSH2 0x1212
0000124a: JUMPI
0000124b: PUSH2 0x1212
0000124e: PUSH2 0x11e7
00001251: JUMP
00001252: JUMPDEST
00001253: PUSH4 0x4e487b71
00001258: PUSH1 0xe0
0000125a: SHL
0000125b: PUSH0
0000125c: MSTORE
0000125d: PUSH1 0x32
0000125f: PUSH1 0x04
00001261: MSTORE
00001262: PUSH1 0x24
00001264: PUSH0
00001265: REVERT
00001266: JUMPDEST
00001267: PUSH0
00001268: PUSH1 0x20
0000126a: DUP3
0000126b: DUP5
0000126c: SUB
0000126d: SLT
0000126e: ISZERO
0000126f: PUSH2 0x1276
00001272: JUMPI
00001273: PUSH0
00001274: DUP1
00001275: REVERT
00001276: JUMPDEST
00001277: DUP2
00001278: MLOAD
00001279: DUP1
0000127a: ISZERO
0000127b: ISZERO
0000127c: DUP2
0000127d: EQ
0000127e: PUSH2 0x0f15
00001281: JUMPI
00001282: PUSH0
00001283: DUP1
00001284: REVERT
00001285: JUMPDEST
00001286: DUP2
00001287: DUP2
00001288: SUB
00001289: DUP2
0000128a: DUP2
0000128b: GT
0000128c: ISZERO
0000128d: PUSH2 0x1212
00001290: JUMPI
00001291: PUSH2 0x1212
00001294: PUSH2 0x11e7
00001297: JUMP
00001298: JUMPDEST
00001299: PUSH0
0000129a: PUSH1 0x01
0000129c: PUSH1 0x01
0000129e: PUSH1 0xa0
000012a0: SHL
000012a1: SUB
000012a2: DUP1
000012a3: DUP8
000012a4: AND
000012a5: DUP4
000012a6: MSTORE
000012a7: DUP1
000012a8: DUP7
000012a9: AND
000012aa: PUSH1 0x20
000012ac: DUP5
000012ad: ADD
000012ae: MSTORE
000012af: POP
000012b0: PUSH1 0x80
000012b2: PUSH1 0x40
000012b4: DUP4
000012b5: ADD
000012b6: MSTORE
000012b7: PUSH2 0x12c3
000012ba: PUSH1 0x80
000012bc: DUP4
000012bd: ADD
000012be: DUP6
000012bf: PUSH2 0x0ed5
000012c2: JUMP
000012c3: JUMPDEST
000012c4: DUP3
000012c5: DUP2
000012c6: SUB
000012c7: PUSH1 0x60
000012c9: DUP5
000012ca: ADD
000012cb: MSTORE
000012cc: PUSH2 0x12d5
000012cf: DUP2
000012d0: DUP6
000012d1: PUSH2 0x0ed5
000012d4: JUMP
000012d5: JUMPDEST
000012d6: SWAP8
000012d7: SWAP7
000012d8: POP
000012d9: POP
000012da: POP
000012db: POP
000012dc: POP
000012dd: POP
000012de: POP
000012df: JUMP
000012e0: JUMPDEST
000012e1: PUSH1 0x1f
000012e3: DUP3
000012e4: GT
000012e5: ISZERO
000012e6: PUSH2 0x0725
000012e9: JUMPI
000012ea: DUP1
000012eb: PUSH0
000012ec: MSTORE
000012ed: PUSH1 0x20
000012ef: PUSH0
000012f0: KECCAK256
000012f1: PUSH1 0x1f
000012f3: DUP5
000012f4: ADD
000012f5: PUSH1 0x05
000012f7: SHR
000012f8: DUP2
000012f9: ADD
000012fa: PUSH1 0x20
000012fc: DUP6
000012fd: LT
000012fe: ISZERO
000012ff: PUSH2 0x1305
00001302: JUMPI
00001303: POP
00001304: DUP1
00001305: JUMPDEST
00001306: PUSH1 0x1f
00001308: DUP5
00001309: ADD
0000130a: PUSH1 0x05
0000130c: SHR
0000130d: DUP3
0000130e: ADD
0000130f: SWAP2
00001310: POP
00001311: JUMPDEST
00001312: DUP2
00001313: DUP2
00001314: LT
00001315: ISZERO
00001316: PUSH2 0x0669
00001319: JUMPI
0000131a: PUSH0
0000131b: DUP2
0000131c: SSTORE
0000131d: PUSH1 0x01
0000131f: ADD
00001320: PUSH2 0x1311
00001323: JUMP
00001324: JUMPDEST
00001325: DUP2
00001326: MLOAD
00001327: PUSH8 0xffffffffffffffff
00001330: DUP2
00001331: GT
00001332: ISZERO
00001333: PUSH2 0x133e
00001336: JUMPI
00001337: PUSH2 0x133e
0000133a: PUSH2 0x0f75
0000133d: JUMP
0000133e: JUMPDEST
0000133f: PUSH2 0x1352
00001342: DUP2
00001343: PUSH2 0x134c
00001346: DUP5
00001347: SLOAD
00001348: PUSH2 0x1198
0000134b: JUMP
0000134c: JUMPDEST
0000134d: DUP5
0000134e: PUSH2 0x12e0
00001351: JUMP
00001352: JUMPDEST
00001353: PUSH1 0x20
00001355: DUP1
00001356: PUSH1 0x1f
00001358: DUP4
00001359: GT
0000135a: PUSH1 0x01
0000135c: DUP2
0000135d: EQ
0000135e: PUSH2 0x1385
00001361: JUMPI
00001362: PUSH0
00001363: DUP5
00001364: ISZERO
00001365: PUSH2 0x136e
00001368: JUMPI
00001369: POP
0000136a: DUP6
0000136b: DUP4
0000136c: ADD
0000136d: MLOAD
0000136e: JUMPDEST
0000136f: PUSH0
00001370: NOT
00001371: PUSH1 0x03
00001373: DUP7
00001374: SWAP1
00001375: SHL
00001376: SHR
00001377: NOT
00001378: AND
00001379: PUSH1 0x01
0000137b: DUP6
0000137c: SWAP1
0000137d: SHL
0000137e: OR
0000137f: DUP6
00001380: SSTORE
00001381: PUSH2 0x13dc
00001384: JUMP
00001385: JUMPDEST
00001386: PUSH0
00001387: DUP6
00001388: DUP2
00001389: MSTORE
0000138a: PUSH1 0x20
0000138c: DUP2
0000138d: KECCAK256
0000138e: PUSH1 0x1f
00001390: NOT
00001391: DUP7
00001392: AND
00001393: SWAP2
00001394: JUMPDEST
00001395: DUP3
00001396: DUP2
00001397: LT
00001398: ISZERO
00001399: PUSH2 0x13b3
0000139c: JUMPI
0000139d: DUP9
0000139e: DUP7
0000139f: ADD
000013a0: MLOAD
000013a1: DUP3
000013a2: SSTORE
000013a3: SWAP5
000013a4: DUP5
000013a5: ADD
000013a6: SWAP5
000013a7: PUSH1 0x01
000013a9: SWAP1
000013aa: SWAP2
000013ab: ADD
000013ac: SWAP1
000013ad: DUP5
000013ae: ADD
000013af: PUSH2 0x1394
000013b2: JUMP
000013b3: JUMPDEST
000013b4: POP
000013b5: DUP6
000013b6: DUP3
000013b7: LT
000013b8: ISZERO
000013b9: PUSH2 0x13d0
000013bc: JUMPI
000013bd: DUP8
000013be: DUP6
000013bf: ADD
000013c0: MLOAD
000013c1: PUSH0
000013c2: NOT
000013c3: PUSH1 0x03
000013c5: DUP9
000013c6: SWAP1
000013c7: SHL
000013c8: PUSH1 0xf8
000013ca: AND
000013cb: SHR
000013cc: NOT
000013cd: AND
000013ce: DUP2
000013cf: SSTORE
000013d0: JUMPDEST
000013d1: POP
000013d2: POP
000013d3: PUSH1 0x01
000013d5: DUP5
000013d6: PUSH1 0x01
000013d8: SHL
000013d9: ADD
000013da: DUP6
000013db: SSTORE
000013dc: JUMPDEST
000013dd: POP
000013de: POP
000013df: POP
000013e0: POP
000013e1: POP
000013e2: POP
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH0
000013e6: DUP3
000013e7: PUSH2 0x13f2
000013ea: JUMPI
000013eb: PUSH2 0x13f2
000013ee: PUSH2 0x1218
000013f1: JUMP
000013f2: JUMPDEST
000013f3: POP
000013f4: DIV
000013f5: SWAP1
000013f6: JUMP
000013f7: JUMPDEST
000013f8: PUSH0
000013f9: PUSH1 0xa0
000013fb: DUP3
000013fc: ADD
000013fd: DUP8
000013fe: DUP4
000013ff: MSTORE
00001400: PUSH1 0x20
00001402: DUP8
00001403: PUSH1 0x20
00001405: DUP6
00001406: ADD
00001407: MSTORE
00001408: PUSH1 0xa0
0000140a: PUSH1 0x40
0000140c: DUP6
0000140d: ADD
0000140e: MSTORE
0000140f: DUP2
00001410: DUP8
00001411: MLOAD
00001412: DUP1
00001413: DUP5
00001414: MSTORE
00001415: PUSH1 0xc0
00001417: DUP7
00001418: ADD
00001419: SWAP2
0000141a: POP
0000141b: PUSH1 0x20
0000141d: DUP10
0000141e: ADD
0000141f: SWAP4
00001420: POP
00001421: PUSH0
00001422: JUMPDEST
00001423: DUP2
00001424: DUP2
00001425: LT
00001426: ISZERO
00001427: PUSH2 0x1447
0000142a: JUMPI
0000142b: DUP5
0000142c: MLOAD
0000142d: PUSH1 0x01
0000142f: PUSH1 0x01
00001431: PUSH1 0xa0
00001433: SHL
00001434: SUB
00001435: AND
00001436: DUP4
00001437: MSTORE
00001438: SWAP4
00001439: DUP4
0000143a: ADD
0000143b: SWAP4
0000143c: SWAP2
0000143d: DUP4
0000143e: ADD
0000143f: SWAP2
00001440: PUSH1 0x01
00001442: ADD
00001443: PUSH2 0x1422
00001446: JUMP
00001447: JUMPDEST
00001448: POP
00001449: POP
0000144a: PUSH1 0x01
0000144c: PUSH1 0x01
0000144e: PUSH1 0xa0
00001450: SHL
00001451: SUB
00001452: SWAP7
00001453: SWAP1
00001454: SWAP7
00001455: AND
00001456: PUSH1 0x60
00001458: DUP6
00001459: ADD
0000145a: MSTORE
0000145b: POP
0000145c: POP
0000145d: POP
0000145e: PUSH1 0x80
00001460: ADD
00001461: MSTORE
00001462: SWAP4
00001463: SWAP3
00001464: POP
00001465: POP
00001466: POP
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH0
0000146a: PUSH1 0x20
0000146c: DUP1
0000146d: DUP4
0000146e: DUP6
0000146f: SUB
00001470: SLT
00001471: ISZERO
00001472: PUSH2 0x1479
00001475: JUMPI
00001476: PUSH0
00001477: DUP1
00001478: REVERT
00001479: JUMPDEST
0000147a: DUP3
0000147b: MLOAD
0000147c: PUSH8 0xffffffffffffffff
00001485: DUP1
00001486: DUP3
00001487: GT
00001488: ISZERO
00001489: PUSH2 0x1490
0000148c: JUMPI
0000148d: PUSH0
0000148e: DUP1
0000148f: REVERT
00001490: JUMPDEST
00001491: DUP2
00001492: DUP6
00001493: ADD
00001494: SWAP2
00001495: POP
00001496: DUP6
00001497: PUSH1 0x1f
00001499: DUP4
0000149a: ADD
0000149b: SLT
0000149c: PUSH2 0x14a3
0000149f: JUMPI
000014a0: PUSH0
000014a1: DUP1
000014a2: REVERT
000014a3: JUMPDEST
000014a4: DUP2
000014a5: MLOAD
000014a6: DUP2
000014a7: DUP2
000014a8: GT
000014a9: ISZERO
000014aa: PUSH2 0x14b5
000014ad: JUMPI
000014ae: PUSH2 0x14b5
000014b1: PUSH2 0x0f75
000014b4: JUMP
000014b5: JUMPDEST
000014b6: DUP1
000014b7: PUSH1 0x05
000014b9: SHL
000014ba: SWAP2
000014bb: POP
000014bc: PUSH2 0x14c6
000014bf: DUP5
000014c0: DUP4
000014c1: ADD
000014c2: PUSH2 0x0f89
000014c5: JUMP
000014c6: JUMPDEST
000014c7: DUP2
000014c8: DUP2
000014c9: MSTORE
000014ca: SWAP2
000014cb: DUP4
000014cc: ADD
000014cd: DUP5
000014ce: ADD
000014cf: SWAP2
000014d0: DUP5
000014d1: DUP2
000014d2: ADD
000014d3: SWAP1
000014d4: DUP9
000014d5: DUP5
000014d6: GT
000014d7: ISZERO
000014d8: PUSH2 0x14df
000014db: JUMPI
000014dc: PUSH0
000014dd: DUP1
000014de: REVERT
000014df: JUMPDEST
000014e0: SWAP4
000014e1: DUP6
000014e2: ADD
000014e3: SWAP4
000014e4: JUMPDEST
000014e5: DUP4
000014e6: DUP6
000014e7: LT
000014e8: ISZERO
000014e9: PUSH2 0x14fd
000014ec: JUMPI
000014ed: DUP5
000014ee: MLOAD
000014ef: DUP3
000014f0: MSTORE
000014f1: SWAP4
000014f2: DUP6
000014f3: ADD
000014f4: SWAP4
000014f5: SWAP1
000014f6: DUP6
000014f7: ADD
000014f8: SWAP1
000014f9: PUSH2 0x14e4
000014fc: JUMP
000014fd: JUMPDEST
000014fe: SWAP9
000014ff: SWAP8
00001500: POP
00001501: POP
00001502: POP
00001503: POP
00001504: POP
00001505: POP
00001506: POP
00001507: POP
00001508: JUMP
00001509: JUMPDEST
0000150a: PUSH0
0000150b: PUSH1 0x01
0000150d: DUP3
0000150e: ADD
0000150f: PUSH2 0x151a
00001512: JUMPI
00001513: PUSH2 0x151a
00001516: PUSH2 0x11e7
00001519: JUMP
0000151a: JUMPDEST
0000151b: POP
0000151c: PUSH1 0x01
0000151e: ADD
0000151f: SWAP1
00001520: JUMP
00001521: INVALID
00001522: PUSH1 0x80
00001524: PUSH1 0x40
00001526: MSTORE
00001527: PUSH0
00001528: PUSH1 0x07
0000152a: SSTORE
0000152b: CALLVALUE
0000152c: DUP1
0000152d: ISZERO
0000152e: PUSH2 0x0013
00001531: JUMPI
00001532: PUSH0
00001533: DUP1
00001534: REVERT
00001535: JUMPDEST
00001536: POP
00001537: PUSH1 0x40
00001539: MLOAD
0000153a: PUSH2 0x0c84
0000153d: CODESIZE
0000153e: SUB
0000153f: DUP1
00001540: PUSH2 0x0c84
00001543: DUP4
00001544: CODECOPY
00001545: DUP2
00001546: ADD
00001547: PUSH1 0x40
00001549: DUP2
0000154a: SWAP1
0000154b: MSTORE
0000154c: PUSH2 0x0032
0000154f: SWAP2
00001550: PUSH2 0x01a2
00001553: JUMP
00001554: JUMPDEST
00001555: DUP2
00001556: DUP2
00001557: PUSH1 0x03
00001559: PUSH2 0x0040
0000155c: DUP4
0000155d: DUP3
0000155e: PUSH2 0x02a6
00001561: JUMP
00001562: JUMPDEST
00001563: POP
00001564: PUSH1 0x04
00001566: PUSH2 0x004d
00001569: DUP3
0000156a: DUP3
0000156b: PUSH2 0x02a6
0000156e: JUMP
0000156f: JUMPDEST
00001570: POP
00001571: POP
00001572: POP
00001573: PUSH1 0x01
00001575: PUSH1 0x01
00001577: PUSH1 0xa0
00001579: SHL
0000157a: SUB
0000157b: DUP5
0000157c: AND
0000157d: PUSH2 0x00b8
00001580: JUMPI
00001581: PUSH1 0x40
00001583: MLOAD
00001584: PUSH3 0x461bcd
00001588: PUSH1 0xe5
0000158a: SHL
0000158b: DUP2
0000158c: MSTORE
0000158d: PUSH1 0x20
0000158f: PUSH1 0x04
00001591: DUP3
00001592: ADD
00001593: MSTORE
00001594: PUSH1 0x25
00001596: PUSH1 0x24
00001598: DUP3
00001599: ADD
0000159a: MSTORE
0000159b: PUSH32 0x4e65787420666f7277617264657220616464726573732063616e6e6f74206265
000015bc: PUSH1 0x44
000015be: DUP3
000015bf: ADD
000015c0: MSTORE
000015c1: PUSH5 0x207a65726f
000015c7: PUSH1 0xd8
000015c9: SHL
000015ca: PUSH1 0x64
000015cc: DUP3
000015cd: ADD
000015ce: MSTORE
000015cf: PUSH1 0x84
000015d1: ADD
000015d2: PUSH1 0x40
000015d4: MLOAD
000015d5: DUP1
000015d6: SWAP2
000015d7: SUB
000015d8: SWAP1
000015d9: REVERT
000015da: JUMPDEST
000015db: POP
000015dc: POP
000015dd: PUSH1 0x05
000015df: DUP1
000015e0: SLOAD
000015e1: PUSH1 0x01
000015e3: PUSH1 0x01
000015e5: PUSH1 0xa0
000015e7: SHL
000015e8: SUB
000015e9: SWAP4
000015ea: DUP5
000015eb: AND
000015ec: PUSH1 0x01
000015ee: PUSH1 0x01
000015f0: PUSH1 0xa0
000015f2: SHL
000015f3: SUB
000015f4: NOT
000015f5: SWAP2
000015f6: DUP3
000015f7: AND
000015f8: OR
000015f9: SWAP1
000015fa: SWAP2
000015fb: SSTORE
000015fc: PUSH1 0x06
000015fe: DUP1
000015ff: SLOAD
00001600: SWAP3
00001601: SWAP1
00001602: SWAP4
00001603: AND
00001604: SWAP2
00001605: AND
00001606: OR
00001607: SWAP1
00001608: SSTORE
00001609: PUSH2 0x0365
0000160c: JUMP
0000160d: JUMPDEST
0000160e: DUP1
0000160f: MLOAD
00001610: PUSH1 0x01
00001612: PUSH1 0x01
00001614: PUSH1 0xa0
00001616: SHL
00001617: SUB
00001618: DUP2
00001619: AND
0000161a: DUP2
0000161b: EQ
0000161c: PUSH2 0x0101
0000161f: JUMPI
00001620: PUSH0
00001621: DUP1
00001622: REVERT
00001623: JUMPDEST
00001624: SWAP2
00001625: SWAP1
00001626: POP
00001627: JUMP
00001628: JUMPDEST
00001629: PUSH4 0x4e487b71
0000162e: PUSH1 0xe0
00001630: SHL
00001631: PUSH0
00001632: MSTORE
00001633: PUSH1 0x41
00001635: PUSH1 0x04
00001637: MSTORE
00001638: PUSH1 0x24
0000163a: PUSH0
0000163b: REVERT
0000163c: JUMPDEST
0000163d: PUSH0
0000163e: DUP3
0000163f: PUSH1 0x1f
00001641: DUP4
00001642: ADD
00001643: SLT
00001644: PUSH2 0x0129
00001647: JUMPI
00001648: PUSH0
00001649: DUP1
0000164a: REVERT
0000164b: JUMPDEST
0000164c: DUP2
0000164d: MLOAD
0000164e: PUSH1 0x01
00001650: PUSH1 0x01
00001652: PUSH1 0x40
00001654: SHL
00001655: SUB
00001656: DUP1
00001657: DUP3
00001658: GT
00001659: ISZERO
0000165a: PUSH2 0x0143
0000165d: JUMPI
0000165e: PUSH2 0x0143
00001661: PUSH2 0x0106
00001664: JUMP
00001665: JUMPDEST
00001666: PUSH1 0x40
00001668: MLOAD
00001669: PUSH1 0x1f
0000166b: DUP4
0000166c: ADD
0000166d: PUSH1 0x1f
0000166f: NOT
00001670: SWAP1
00001671: DUP2
00001672: AND
00001673: PUSH1 0x3f
00001675: ADD
00001676: AND
00001677: DUP2
00001678: ADD
00001679: SWAP1
0000167a: DUP3
0000167b: DUP3
0000167c: GT
0000167d: DUP2
0000167e: DUP4
0000167f: LT
00001680: OR
00001681: ISZERO
00001682: PUSH2 0x016b
00001685: JUMPI
00001686: PUSH2 0x016b
00001689: PUSH2 0x0106
0000168c: JUMP
0000168d: JUMPDEST
0000168e: DUP2
0000168f: PUSH1 0x40
00001691: MSTORE
00001692: DUP4
00001693: DUP2
00001694: MSTORE
00001695: DUP7
00001696: PUSH1 0x20
00001698: DUP6
00001699: DUP9
0000169a: ADD
0000169b: ADD
0000169c: GT
0000169d: ISZERO
0000169e: PUSH2 0x0183
000016a1: JUMPI
000016a2: PUSH0
000016a3: DUP1
000016a4: REVERT
000016a5: JUMPDEST
000016a6: DUP4
000016a7: PUSH1 0x20
000016a9: DUP8
000016aa: ADD
000016ab: PUSH1 0x20
000016ad: DUP4
000016ae: ADD
000016af: MCOPY
000016b0: PUSH0
000016b1: PUSH1 0x20
000016b3: DUP6
000016b4: DUP4
000016b5: ADD
000016b6: ADD
000016b7: MSTORE
000016b8: DUP1
000016b9: SWAP5
000016ba: POP
000016bb: POP
000016bc: POP
000016bd: POP
000016be: POP
000016bf: SWAP3
000016c0: SWAP2
000016c1: POP
000016c2: POP
000016c3: JUMP
000016c4: JUMPDEST
000016c5: PUSH0
000016c6: DUP1
000016c7: PUSH0
000016c8: DUP1
000016c9: PUSH1 0x80
000016cb: DUP6
000016cc: DUP8
000016cd: SUB
000016ce: SLT
000016cf: ISZERO
000016d0: PUSH2 0x01b5
000016d3: JUMPI
000016d4: PUSH0
000016d5: DUP1
000016d6: REVERT
000016d7: JUMPDEST
000016d8: PUSH2 0x01be
000016db: DUP6
000016dc: PUSH2 0x00eb
000016df: JUMP
000016e0: JUMPDEST
000016e1: SWAP4
000016e2: POP
000016e3: PUSH2 0x01cc
000016e6: PUSH1 0x20
000016e8: DUP7
000016e9: ADD
000016ea: PUSH2 0x00eb
000016ed: JUMP
000016ee: JUMPDEST
000016ef: PUSH1 0x40
000016f1: DUP7
000016f2: ADD
000016f3: MLOAD
000016f4: SWAP1
000016f5: SWAP4
000016f6: POP
000016f7: PUSH1 0x01
000016f9: PUSH1 0x01
000016fb: PUSH1 0x40
000016fd: SHL
000016fe: SUB
000016ff: DUP1
00001700: DUP3
00001701: GT
00001702: ISZERO
00001703: PUSH2 0x01e8
00001706: JUMPI
00001707: PUSH0
00001708: DUP1
00001709: REVERT
0000170a: JUMPDEST
0000170b: PUSH2 0x01f4
0000170e: DUP9
0000170f: DUP4
00001710: DUP10
00001711: ADD
00001712: PUSH2 0x011a
00001715: JUMP
00001716: JUMPDEST
00001717: SWAP4
00001718: POP
00001719: PUSH1 0x60
0000171b: DUP8
0000171c: ADD
0000171d: MLOAD
0000171e: SWAP2
0000171f: POP
00001720: DUP1
00001721: DUP3
00001722: GT
00001723: ISZERO
00001724: PUSH2 0x0209
00001727: JUMPI
00001728: PUSH0
00001729: DUP1
0000172a: REVERT
0000172b: JUMPDEST
0000172c: POP
0000172d: PUSH2 0x0216
00001730: DUP8
00001731: DUP3
00001732: DUP9
00001733: ADD
00001734: PUSH2 0x011a
00001737: JUMP
00001738: JUMPDEST
00001739: SWAP2
0000173a: POP
0000173b: POP
0000173c: SWAP3
0000173d: SWAP6
0000173e: SWAP2
0000173f: SWAP5
00001740: POP
00001741: SWAP3
00001742: POP
00001743: JUMP
00001744: JUMPDEST
00001745: PUSH1 0x01
00001747: DUP2
00001748: DUP2
00001749: SHR
0000174a: SWAP1
0000174b: DUP3
0000174c: AND
0000174d: DUP1
0000174e: PUSH2 0x0236
00001751: JUMPI
00001752: PUSH1 0x7f
00001754: DUP3
00001755: AND
00001756: SWAP2
00001757: POP
00001758: JUMPDEST
00001759: PUSH1 0x20
0000175b: DUP3
0000175c: LT
0000175d: DUP2
0000175e: SUB
0000175f: PUSH2 0x0254
00001762: JUMPI
00001763: PUSH4 0x4e487b71
00001768: PUSH1 0xe0
0000176a: SHL
0000176b: PUSH0
0000176c: MSTORE
0000176d: PUSH1 0x22
0000176f: PUSH1 0x04
00001771: MSTORE
00001772: PUSH1 0x24
00001774: PUSH0
00001775: REVERT
00001776: JUMPDEST
00001777: POP
00001778: SWAP2
00001779: SWAP1
0000177a: POP
0000177b: JUMP
0000177c: JUMPDEST
0000177d: PUSH1 0x1f
0000177f: DUP3
00001780: GT
00001781: ISZERO
00001782: PUSH2 0x02a1
00001785: JUMPI
00001786: DUP1
00001787: PUSH0
00001788: MSTORE
00001789: PUSH1 0x20
0000178b: PUSH0
0000178c: KECCAK256
0000178d: PUSH1 0x1f
0000178f: DUP5
00001790: ADD
00001791: PUSH1 0x05
00001793: SHR
00001794: DUP2
00001795: ADD
00001796: PUSH1 0x20
00001798: DUP6
00001799: LT
0000179a: ISZERO
0000179b: PUSH2 0x027f
0000179e: JUMPI
0000179f: POP
000017a0: DUP1
000017a1: JUMPDEST
000017a2: PUSH1 0x1f
000017a4: DUP5
000017a5: ADD
000017a6: PUSH1 0x05
000017a8: SHR
000017a9: DUP3
000017aa: ADD
000017ab: SWAP2
000017ac: POP
000017ad: JUMPDEST
000017ae: DUP2
000017af: DUP2
000017b0: LT
000017b1: ISZERO
000017b2: PUSH2 0x029e
000017b5: JUMPI
000017b6: PUSH0
000017b7: DUP2
000017b8: SSTORE
000017b9: PUSH1 0x01
000017bb: ADD
000017bc: PUSH2 0x028b
000017bf: JUMP
000017c0: JUMPDEST
000017c1: POP
000017c2: POP
000017c3: JUMPDEST
000017c4: POP
000017c5: POP
000017c6: POP
000017c7: JUMP
000017c8: JUMPDEST
000017c9: DUP2
000017ca: MLOAD
000017cb: PUSH1 0x01
000017cd: PUSH1 0x01
000017cf: PUSH1 0x40
000017d1: SHL
000017d2: SUB
000017d3: DUP2
000017d4: GT
000017d5: ISZERO
000017d6: PUSH2 0x02bf
000017d9: JUMPI
000017da: PUSH2 0x02bf
000017dd: PUSH2 0x0106
000017e0: JUMP
000017e1: JUMPDEST
000017e2: PUSH2 0x02d3
000017e5: DUP2
000017e6: PUSH2 0x02cd
000017e9: DUP5
000017ea: SLOAD
000017eb: PUSH2 0x0222
000017ee: JUMP
000017ef: JUMPDEST
000017f0: DUP5
000017f1: PUSH2 0x025a
000017f4: JUMP
000017f5: JUMPDEST
000017f6: PUSH1 0x20
000017f8: DUP1
000017f9: PUSH1 0x1f
000017fb: DUP4
000017fc: GT
000017fd: PUSH1 0x01
000017ff: DUP2
00001800: EQ
00001801: PUSH2 0x0306
00001804: JUMPI
00001805: PUSH0
00001806: DUP5
00001807: ISZERO
00001808: PUSH2 0x02ef
0000180b: JUMPI
0000180c: POP
0000180d: DUP6
0000180e: DUP4
0000180f: ADD
00001810: MLOAD
00001811: JUMPDEST
00001812: PUSH0
00001813: NOT
00001814: PUSH1 0x03
00001816: DUP7
00001817: SWAP1
00001818: SHL
00001819: SHR
0000181a: NOT
0000181b: AND
0000181c: PUSH1 0x01
0000181e: DUP6
0000181f: SWAP1
00001820: SHL
00001821: OR
00001822: DUP6
00001823: SSTORE
00001824: PUSH2 0x035d
00001827: JUMP
00001828: JUMPDEST
00001829: PUSH0
0000182a: DUP6
0000182b: DUP2
0000182c: MSTORE
0000182d: PUSH1 0x20
0000182f: DUP2
00001830: KECCAK256
00001831: PUSH1 0x1f
00001833: NOT
00001834: DUP7
00001835: AND
00001836: SWAP2
00001837: JUMPDEST
00001838: DUP3
00001839: DUP2
0000183a: LT
0000183b: ISZERO
0000183c: PUSH2 0x0334
0000183f: JUMPI
00001840: DUP9
00001841: DUP7
00001842: ADD
00001843: MLOAD
00001844: DUP3
00001845: SSTORE
00001846: SWAP5
00001847: DUP5
00001848: ADD
00001849: SWAP5
0000184a: PUSH1 0x01
0000184c: SWAP1
0000184d: SWAP2
0000184e: ADD
0000184f: SWAP1
00001850: DUP5
00001851: ADD
00001852: PUSH2 0x0315
00001855: JUMP
00001856: JUMPDEST
00001857: POP
00001858: DUP6
00001859: DUP3
0000185a: LT
0000185b: ISZERO
0000185c: PUSH2 0x0351
0000185f: JUMPI
00001860: DUP8
00001861: DUP6
00001862: ADD
00001863: MLOAD
00001864: PUSH0
00001865: NOT
00001866: PUSH1 0x03
00001868: DUP9
00001869: SWAP1
0000186a: SHL
0000186b: PUSH1 0xf8
0000186d: AND
0000186e: SHR
0000186f: NOT
00001870: AND
00001871: DUP2
00001872: SSTORE
00001873: JUMPDEST
00001874: POP
00001875: POP
00001876: PUSH1 0x01
00001878: DUP5
00001879: PUSH1 0x01
0000187b: SHL
0000187c: ADD
0000187d: DUP6
0000187e: SSTORE
0000187f: JUMPDEST
00001880: POP
00001881: POP
00001882: POP
00001883: POP
00001884: POP
00001885: POP
00001886: JUMP
00001887: JUMPDEST
00001888: PUSH2 0x0912
0000188b: DUP1
0000188c: PUSH2 0x0372
0000188f: PUSH0
00001890: CODECOPY
00001891: PUSH0
00001892: RETURN
00001893: INVALID
00001894: PUSH1 0x80
00001896: PUSH1 0x40
00001898: MSTORE
00001899: CALLVALUE
0000189a: DUP1
0000189b: ISZERO
0000189c: PUSH2 0x000f
0000189f: JUMPI
000018a0: PUSH0
000018a1: DUP1
000018a2: REVERT
000018a3: JUMPDEST
000018a4: POP
000018a5: PUSH1 0x04
000018a7: CALLDATASIZE
000018a8: LT
000018a9: PUSH2 0x00cf
000018ac: JUMPI
000018ad: PUSH0
000018ae: CALLDATALOAD
000018af: PUSH1 0xe0
000018b1: SHR
000018b2: DUP1
000018b3: PUSH4 0x70a08231
000018b8: GT
000018b9: PUSH2 0x007d
000018bc: JUMPI
000018bd: DUP1
000018be: PUSH4 0xa9059cbb
000018c3: GT
000018c4: PUSH2 0x0058
000018c7: JUMPI
000018c8: DUP1
000018c9: PUSH4 0xa9059cbb
000018ce: EQ
000018cf: PUSH2 0x01b8
000018d2: JUMPI
000018d3: DUP1
000018d4: PUSH4 0xdd62ed3e
000018d9: EQ
000018da: PUSH2 0x01cb
000018dd: JUMPI
000018de: DUP1
000018df: PUSH4 0xfc0c546a
000018e4: EQ
000018e5: PUSH2 0x0203
000018e8: JUMPI
000018e9: PUSH0
000018ea: DUP1
000018eb: REVERT
000018ec: JUMPDEST
000018ed: DUP1
000018ee: PUSH4 0x70a08231
000018f3: EQ
000018f4: PUSH2 0x0173
000018f7: JUMPI
000018f8: DUP1
000018f9: PUSH4 0x89c39ad4
000018fe: EQ
000018ff: PUSH2 0x019b
00001902: JUMPI
00001903: DUP1
00001904: PUSH4 0x95d89b41
00001909: EQ
0000190a: PUSH2 0x01b0
0000190d: JUMPI
0000190e: PUSH0
0000190f: DUP1
00001910: REVERT
00001911: JUMPDEST
00001912: DUP1
00001913: PUSH4 0x23b872dd
00001918: GT
00001919: PUSH2 0x00ad
0000191c: JUMPI
0000191d: DUP1
0000191e: PUSH4 0x23b872dd
00001923: EQ
00001924: PUSH2 0x0126
00001927: JUMPI
00001928: DUP1
00001929: PUSH4 0x313ce567
0000192e: EQ
0000192f: PUSH2 0x0139
00001932: JUMPI
00001933: DUP1
00001934: PUSH4 0x53dc45bb
00001939: EQ
0000193a: PUSH2 0x0148
0000193d: JUMPI
0000193e: PUSH0
0000193f: DUP1
00001940: REVERT
00001941: JUMPDEST
00001942: DUP1
00001943: PUSH4 0x06fdde03
00001948: EQ
00001949: PUSH2 0x00d3
0000194c: JUMPI
0000194d: DUP1
0000194e: PUSH4 0x095ea7b3
00001953: EQ
00001954: PUSH2 0x00f1
00001957: JUMPI
00001958: DUP1
00001959: PUSH4 0x18160ddd
0000195e: EQ
0000195f: PUSH2 0x0114
00001962: JUMPI
00001963: JUMPDEST
00001964: PUSH0
00001965: DUP1
00001966: REVERT
00001967: JUMPDEST
00001968: PUSH2 0x00db
0000196b: PUSH2 0x0216
0000196e: JUMP
0000196f: JUMPDEST
00001970: PUSH1 0x40
00001972: MLOAD
00001973: PUSH2 0x00e8
00001976: SWAP2
00001977: SWAP1
00001978: PUSH2 0x074d
0000197b: JUMP
0000197c: JUMPDEST
0000197d: PUSH1 0x40
0000197f: MLOAD
00001980: DUP1
00001981: SWAP2
00001982: SUB
00001983: SWAP1
00001984: RETURN
00001985: JUMPDEST
00001986: PUSH2 0x0104
00001989: PUSH2 0x00ff
0000198c: CALLDATASIZE
0000198d: PUSH1 0x04
0000198f: PUSH2 0x079d
00001992: JUMP
00001993: JUMPDEST
00001994: PUSH2 0x02a6
00001997: JUMP
00001998: JUMPDEST
00001999: PUSH1 0x40
0000199b: MLOAD
0000199c: SWAP1
0000199d: ISZERO
0000199e: ISZERO
0000199f: DUP2
000019a0: MSTORE
000019a1: PUSH1 0x20
000019a3: ADD
000019a4: PUSH2 0x00e8
000019a7: JUMP
000019a8: JUMPDEST
000019a9: PUSH1 0x07
000019ab: SLOAD
000019ac: JUMPDEST
000019ad: PUSH1 0x40
000019af: MLOAD
000019b0: SWAP1
000019b1: DUP2
000019b2: MSTORE
000019b3: PUSH1 0x20
000019b5: ADD
000019b6: PUSH2 0x00e8
000019b9: JUMP
000019ba: JUMPDEST
000019bb: PUSH2 0x0104
000019be: PUSH2 0x0134
000019c1: CALLDATASIZE
000019c2: PUSH1 0x04
000019c4: PUSH2 0x07c5
000019c7: JUMP
000019c8: JUMPDEST
000019c9: PUSH2 0x02bf
000019cc: JUMP
000019cd: JUMPDEST
000019ce: PUSH1 0x40
000019d0: MLOAD
000019d1: PUSH1 0x12
000019d3: DUP2
000019d4: MSTORE
000019d5: PUSH1 0x20
000019d7: ADD
000019d8: PUSH2 0x00e8
000019db: JUMP
000019dc: JUMPDEST
000019dd: PUSH1 0x05
000019df: SLOAD
000019e0: PUSH2 0x015b
000019e3: SWAP1
000019e4: PUSH1 0x01
000019e6: PUSH1 0x01
000019e8: PUSH1 0xa0
000019ea: SHL
000019eb: SUB
000019ec: AND
000019ed: DUP2
000019ee: JUMP
000019ef: JUMPDEST
000019f0: PUSH1 0x40
000019f2: MLOAD
000019f3: PUSH1 0x01
000019f5: PUSH1 0x01
000019f7: PUSH1 0xa0
000019f9: SHL
000019fa: SUB
000019fb: SWAP1
000019fc: SWAP2
000019fd: AND
000019fe: DUP2
000019ff: MSTORE
00001a00: PUSH1 0x20
00001a02: ADD
00001a03: PUSH2 0x00e8
00001a06: JUMP
00001a07: JUMPDEST
00001a08: PUSH2 0x0118
00001a0b: PUSH2 0x0181
00001a0e: CALLDATASIZE
00001a0f: PUSH1 0x04
00001a11: PUSH2 0x07fe
00001a14: JUMP
00001a15: JUMPDEST
00001a16: PUSH1 0x01
00001a18: PUSH1 0x01
00001a1a: PUSH1 0xa0
00001a1c: SHL
00001a1d: SUB
00001a1e: AND
00001a1f: PUSH0
00001a20: SWAP1
00001a21: DUP2
00001a22: MSTORE
00001a23: PUSH1 0x20
00001a25: DUP2
00001a26: SWAP1
00001a27: MSTORE
00001a28: PUSH1 0x40
00001a2a: SWAP1
00001a2b: KECCAK256
00001a2c: SLOAD
00001a2d: SWAP1
00001a2e: JUMP
00001a2f: JUMPDEST
00001a30: PUSH2 0x01ae
00001a33: PUSH2 0x01a9
00001a36: CALLDATASIZE
00001a37: PUSH1 0x04
00001a39: PUSH2 0x081e
00001a3c: JUMP
00001a3d: JUMPDEST
00001a3e: PUSH2 0x02e2
00001a41: JUMP
00001a42: JUMPDEST
00001a43: STOP
00001a44: JUMPDEST
00001a45: PUSH2 0x00db
00001a48: PUSH2 0x0417
00001a4b: JUMP
00001a4c: JUMPDEST
00001a4d: PUSH2 0x0104
00001a50: PUSH2 0x01c6
00001a53: CALLDATASIZE
00001a54: PUSH1 0x04
00001a56: PUSH2 0x079d
00001a59: JUMP
00001a5a: JUMPDEST
00001a5b: PUSH2 0x0426
00001a5e: JUMP
00001a5f: JUMPDEST
00001a60: PUSH2 0x0118
00001a63: PUSH2 0x01d9
00001a66: CALLDATASIZE
00001a67: PUSH1 0x04
00001a69: PUSH2 0x0835
00001a6c: JUMP
00001a6d: JUMPDEST
00001a6e: PUSH1 0x01
00001a70: PUSH1 0x01
00001a72: PUSH1 0xa0
00001a74: SHL
00001a75: SUB
00001a76: SWAP2
00001a77: DUP3
00001a78: AND
00001a79: PUSH0
00001a7a: SWAP1
00001a7b: DUP2
00001a7c: MSTORE
00001a7d: PUSH1 0x01
00001a7f: PUSH1 0x20
00001a81: SWAP1
00001a82: DUP2
00001a83: MSTORE
00001a84: PUSH1 0x40
00001a86: DUP1
00001a87: DUP4
00001a88: KECCAK256
00001a89: SWAP4
00001a8a: SWAP1
00001a8b: SWAP5
00001a8c: AND
00001a8d: DUP3
00001a8e: MSTORE
00001a8f: SWAP2
00001a90: SWAP1
00001a91: SWAP2
00001a92: MSTORE
00001a93: KECCAK256
00001a94: SLOAD
00001a95: SWAP1
00001a96: JUMP
00001a97: JUMPDEST
00001a98: PUSH1 0x06
00001a9a: SLOAD
00001a9b: PUSH2 0x015b
00001a9e: SWAP1
00001a9f: PUSH1 0x01
00001aa1: PUSH1 0x01
00001aa3: PUSH1 0xa0
00001aa5: SHL
00001aa6: SUB
00001aa7: AND
00001aa8: DUP2
00001aa9: JUMP
00001aaa: JUMPDEST
00001aab: PUSH1 0x60
00001aad: PUSH1 0x03
00001aaf: DUP1
00001ab0: SLOAD
00001ab1: PUSH2 0x0225
00001ab4: SWAP1
00001ab5: PUSH2 0x0866
00001ab8: JUMP
00001ab9: JUMPDEST
00001aba: DUP1
00001abb: PUSH1 0x1f
00001abd: ADD
00001abe: PUSH1 0x20
00001ac0: DUP1
00001ac1: SWAP2
00001ac2: DIV
00001ac3: MUL
00001ac4: PUSH1 0x20
00001ac6: ADD
00001ac7: PUSH1 0x40
00001ac9: MLOAD
00001aca: SWAP1
00001acb: DUP2
00001acc: ADD
00001acd: PUSH1 0x40
00001acf: MSTORE
00001ad0: DUP1
00001ad1: SWAP3
00001ad2: SWAP2
00001ad3: SWAP1
00001ad4: DUP2
00001ad5: DUP2
00001ad6: MSTORE
00001ad7: PUSH1 0x20
00001ad9: ADD
00001ada: DUP3
00001adb: DUP1
00001adc: SLOAD
00001add: PUSH2 0x0251
00001ae0: SWAP1
00001ae1: PUSH2 0x0866
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: DUP1
00001ae7: ISZERO
00001ae8: PUSH2 0x029c
00001aeb: JUMPI
00001aec: DUP1
00001aed: PUSH1 0x1f
00001aef: LT
00001af0: PUSH2 0x0273
00001af3: JUMPI
00001af4: PUSH2 0x0100
00001af7: DUP1
00001af8: DUP4
00001af9: SLOAD
00001afa: DIV
00001afb: MUL
00001afc: DUP4
00001afd: MSTORE
00001afe: SWAP2
00001aff: PUSH1 0x20
00001b01: ADD
00001b02: SWAP2
00001b03: PUSH2 0x029c
00001b06: JUMP
00001b07: JUMPDEST
00001b08: DUP3
00001b09: ADD
00001b0a: SWAP2
00001b0b: SWAP1
00001b0c: PUSH0
00001b0d: MSTORE
00001b0e: PUSH1 0x20
00001b10: PUSH0
00001b11: KECCAK256
00001b12: SWAP1
00001b13: JUMPDEST
00001b14: DUP2
00001b15: SLOAD
00001b16: DUP2
00001b17: MSTORE
00001b18: SWAP1
00001b19: PUSH1 0x01
00001b1b: ADD
00001b1c: SWAP1
00001b1d: PUSH1 0x20
00001b1f: ADD
00001b20: DUP1
00001b21: DUP4
00001b22: GT
00001b23: PUSH2 0x027f
00001b26: JUMPI
00001b27: DUP3
00001b28: SWAP1
00001b29: SUB
00001b2a: PUSH1 0x1f
00001b2c: AND
00001b2d: DUP3
00001b2e: ADD
00001b2f: SWAP2
00001b30: JUMPDEST
00001b31: POP
00001b32: POP
00001b33: POP
00001b34: POP
00001b35: POP
00001b36: SWAP1
00001b37: POP
00001b38: SWAP1
00001b39: JUMP
00001b3a: JUMPDEST
00001b3b: PUSH0
00001b3c: CALLER
00001b3d: PUSH2 0x02b3
00001b40: DUP2
00001b41: DUP6
00001b42: DUP6
00001b43: PUSH2 0x0433
00001b46: JUMP
00001b47: JUMPDEST
00001b48: PUSH1 0x01
00001b4a: SWAP2
00001b4b: POP
00001b4c: POP
00001b4d: JUMPDEST
00001b4e: SWAP3
00001b4f: SWAP2
00001b50: POP
00001b51: POP
00001b52: JUMP
00001b53: JUMPDEST
00001b54: PUSH0
00001b55: CALLER
00001b56: PUSH2 0x02cc
00001b59: DUP6
00001b5a: DUP3
00001b5b: DUP6
00001b5c: PUSH2 0x0445
00001b5f: JUMP
00001b60: JUMPDEST
00001b61: PUSH2 0x02d7
00001b64: DUP6
00001b65: DUP6
00001b66: DUP6
00001b67: PUSH2 0x04c0
00001b6a: JUMP
00001b6b: JUMPDEST
00001b6c: POP
00001b6d: PUSH1 0x01
00001b6f: SWAP5
00001b70: SWAP4
00001b71: POP
00001b72: POP
00001b73: POP
00001b74: POP
00001b75: JUMP
00001b76: JUMPDEST
00001b77: PUSH1 0x05
00001b79: SLOAD
00001b7a: PUSH1 0x01
00001b7c: PUSH1 0x01
00001b7e: PUSH1 0xa0
00001b80: SHL
00001b81: SUB
00001b82: AND
00001b83: PUSH2 0x033f
00001b86: JUMPI
00001b87: PUSH1 0x40
00001b89: MLOAD
00001b8a: PUSH3 0x461bcd
00001b8e: PUSH1 0xe5
00001b90: SHL
00001b91: DUP2
00001b92: MSTORE
00001b93: PUSH1 0x20
00001b95: PUSH1 0x04
00001b97: DUP3
00001b98: ADD
00001b99: MSTORE
00001b9a: PUSH1 0x15
00001b9c: PUSH1 0x24
00001b9e: DUP3
00001b9f: ADD
00001ba0: MSTORE
00001ba1: PUSH32 0x4e6f206e65787420666f72776172646572207365740000000000000000000000
00001bc2: PUSH1 0x44
00001bc4: DUP3
00001bc5: ADD
00001bc6: MSTORE
00001bc7: PUSH1 0x64
00001bc9: ADD
00001bca: JUMPDEST
00001bcb: PUSH1 0x40
00001bcd: MLOAD
00001bce: DUP1
00001bcf: SWAP2
00001bd0: SUB
00001bd1: SWAP1
00001bd2: REVERT
00001bd3: JUMPDEST
00001bd4: PUSH1 0x06
00001bd6: SLOAD
00001bd7: PUSH1 0x05
00001bd9: SLOAD
00001bda: PUSH1 0x40
00001bdc: MLOAD
00001bdd: PUSH4 0xa9059cbb
00001be2: PUSH1 0xe0
00001be4: SHL
00001be5: DUP2
00001be6: MSTORE
00001be7: PUSH1 0x01
00001be9: PUSH1 0x01
00001beb: PUSH1 0xa0
00001bed: SHL
00001bee: SUB
00001bef: SWAP2
00001bf0: DUP3
00001bf1: AND
00001bf2: PUSH1 0x04
00001bf4: DUP3
00001bf5: ADD
00001bf6: MSTORE
00001bf7: PUSH1 0x24
00001bf9: DUP2
00001bfa: ADD
00001bfb: DUP5
00001bfc: SWAP1
00001bfd: MSTORE
00001bfe: SWAP2
00001bff: AND
00001c00: SWAP1
00001c01: PUSH4 0xa9059cbb
00001c06: SWAP1
00001c07: PUSH1 0x44
00001c09: ADD
00001c0a: PUSH1 0x20
00001c0c: PUSH1 0x40
00001c0e: MLOAD
00001c0f: DUP1
00001c10: DUP4
00001c11: SUB
00001c12: DUP2
00001c13: PUSH0
00001c14: DUP8
00001c15: GAS
00001c16: CALL
00001c17: ISZERO
00001c18: DUP1
00001c19: ISZERO
00001c1a: PUSH2 0x0391
00001c1d: JUMPI
00001c1e: RETURNDATASIZE
00001c1f: PUSH0
00001c20: DUP1
00001c21: RETURNDATACOPY
00001c22: RETURNDATASIZE
00001c23: PUSH0
00001c24: REVERT
00001c25: JUMPDEST
00001c26: POP
00001c27: POP
00001c28: POP
00001c29: POP
00001c2a: PUSH1 0x40
00001c2c: MLOAD
00001c2d: RETURNDATASIZE
00001c2e: PUSH1 0x1f
00001c30: NOT
00001c31: PUSH1 0x1f
00001c33: DUP3
00001c34: ADD
00001c35: AND
00001c36: DUP3
00001c37: ADD
00001c38: DUP1
00001c39: PUSH1 0x40
00001c3b: MSTORE
00001c3c: POP
00001c3d: DUP2
00001c3e: ADD
00001c3f: SWAP1
00001c40: PUSH2 0x03b5
00001c43: SWAP2
00001c44: SWAP1
00001c45: PUSH2 0x089e
00001c48: JUMP
00001c49: JUMPDEST
00001c4a: POP
00001c4b: PUSH1 0x05
00001c4d: SLOAD
00001c4e: PUSH2 0x03cc
00001c51: SWAP1
00001c52: PUSH1 0x01
00001c54: PUSH1 0x01
00001c56: PUSH1 0xa0
00001c58: SHL
00001c59: SUB
00001c5a: AND
00001c5b: DUP3
00001c5c: PUSH2 0x051d
00001c5f: JUMP
00001c60: JUMPDEST
00001c61: PUSH0
00001c62: PUSH1 0x07
00001c64: SSTORE
00001c65: PUSH1 0x05
00001c67: SLOAD
00001c68: PUSH1 0x40
00001c6a: MLOAD
00001c6b: DUP3
00001c6c: DUP2
00001c6d: MSTORE
00001c6e: PUSH1 0x01
00001c70: PUSH1 0x01
00001c72: PUSH1 0xa0
00001c74: SHL
00001c75: SUB
00001c76: SWAP1
00001c77: SWAP2
00001c78: AND
00001c79: SWAP1
00001c7a: ADDRESS
00001c7b: SWAP1
00001c7c: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001c9d: SWAP1
00001c9e: PUSH1 0x20
00001ca0: ADD
00001ca1: PUSH1 0x40
00001ca3: MLOAD
00001ca4: DUP1
00001ca5: SWAP2
00001ca6: SUB
00001ca7: SWAP1
00001ca8: LOG3
00001ca9: POP
00001caa: JUMP
00001cab: JUMPDEST
00001cac: PUSH1 0x60
00001cae: PUSH1 0x04
00001cb0: DUP1
00001cb1: SLOAD
00001cb2: PUSH2 0x0225
00001cb5: SWAP1
00001cb6: PUSH2 0x0866
00001cb9: JUMP
00001cba: JUMPDEST
00001cbb: PUSH0
00001cbc: CALLER
00001cbd: PUSH2 0x02b3
00001cc0: DUP2
00001cc1: DUP6
00001cc2: DUP6
00001cc3: PUSH2 0x04c0
00001cc6: JUMP
00001cc7: JUMPDEST
00001cc8: PUSH2 0x0440
00001ccb: DUP4
00001ccc: DUP4
00001ccd: DUP4
00001cce: PUSH1 0x01
00001cd0: PUSH2 0x0555
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: POP
00001cd6: POP
00001cd7: POP
00001cd8: JUMP
00001cd9: JUMPDEST
00001cda: PUSH1 0x01
00001cdc: PUSH1 0x01
00001cde: PUSH1 0xa0
00001ce0: SHL
00001ce1: SUB
00001ce2: DUP4
00001ce3: DUP2
00001ce4: AND
00001ce5: PUSH0
00001ce6: SWAP1
00001ce7: DUP2
00001ce8: MSTORE
00001ce9: PUSH1 0x01
00001ceb: PUSH1 0x20
00001ced: SWAP1
00001cee: DUP2
00001cef: MSTORE
00001cf0: PUSH1 0x40
00001cf2: DUP1
00001cf3: DUP4
00001cf4: KECCAK256
00001cf5: SWAP4
00001cf6: DUP7
00001cf7: AND
00001cf8: DUP4
00001cf9: MSTORE
00001cfa: SWAP3
00001cfb: SWAP1
00001cfc: MSTORE
00001cfd: KECCAK256
00001cfe: SLOAD
00001cff: PUSH0
00001d00: NOT
00001d01: DUP2
00001d02: EQ
00001d03: PUSH2 0x04ba
00001d06: JUMPI
00001d07: DUP2
00001d08: DUP2
00001d09: LT
00001d0a: ISZERO
00001d0b: PUSH2 0x04ac
00001d0e: JUMPI
00001d0f: PUSH1 0x40
00001d11: MLOAD
00001d12: PUSH4 0x7dc7a0d9
00001d17: PUSH1 0xe1
00001d19: SHL
00001d1a: DUP2
00001d1b: MSTORE
00001d1c: PUSH1 0x01
00001d1e: PUSH1 0x01
00001d20: PUSH1 0xa0
00001d22: SHL
00001d23: SUB
00001d24: DUP5
00001d25: AND
00001d26: PUSH1 0x04
00001d28: DUP3
00001d29: ADD
00001d2a: MSTORE
00001d2b: PUSH1 0x24
00001d2d: DUP2
00001d2e: ADD
00001d2f: DUP3
00001d30: SWAP1
00001d31: MSTORE
00001d32: PUSH1 0x44
00001d34: DUP2
00001d35: ADD
00001d36: DUP4
00001d37: SWAP1
00001d38: MSTORE
00001d39: PUSH1 0x64
00001d3b: ADD
00001d3c: PUSH2 0x0336
00001d3f: JUMP
00001d40: JUMPDEST
00001d41: PUSH2 0x04ba
00001d44: DUP5
00001d45: DUP5
00001d46: DUP5
00001d47: DUP5
00001d48: SUB
00001d49: PUSH0
00001d4a: PUSH2 0x0555
00001d4d: JUMP
00001d4e: JUMPDEST
00001d4f: POP
00001d50: POP
00001d51: POP
00001d52: POP
00001d53: JUMP
00001d54: JUMPDEST
00001d55: PUSH1 0x01
00001d57: PUSH1 0x01
00001d59: PUSH1 0xa0
00001d5b: SHL
00001d5c: SUB
00001d5d: DUP4
00001d5e: AND
00001d5f: PUSH2 0x04e9
00001d62: JUMPI
00001d63: PUSH1 0x40
00001d65: MLOAD
00001d66: PUSH4 0x4b637e8f
00001d6b: PUSH1 0xe1
00001d6d: SHL
00001d6e: DUP2
00001d6f: MSTORE
00001d70: PUSH0
00001d71: PUSH1 0x04
00001d73: DUP3
00001d74: ADD
00001d75: MSTORE
00001d76: PUSH1 0x24
00001d78: ADD
00001d79: PUSH2 0x0336
00001d7c: JUMP
00001d7d: JUMPDEST
00001d7e: PUSH1 0x01
00001d80: PUSH1 0x01
00001d82: PUSH1 0xa0
00001d84: SHL
00001d85: SUB
00001d86: DUP3
00001d87: AND
00001d88: PUSH2 0x0512
00001d8b: JUMPI
00001d8c: PUSH1 0x40
00001d8e: MLOAD
00001d8f: PUSH4 0xec442f05
00001d94: PUSH1 0xe0
00001d96: SHL
00001d97: DUP2
00001d98: MSTORE
00001d99: PUSH0
00001d9a: PUSH1 0x04
00001d9c: DUP3
00001d9d: ADD
00001d9e: MSTORE
00001d9f: PUSH1 0x24
00001da1: ADD
00001da2: PUSH2 0x0336
00001da5: JUMP
00001da6: JUMPDEST
00001da7: PUSH2 0x0440
00001daa: DUP4
00001dab: DUP4
00001dac: DUP4
00001dad: PUSH2 0x0627
00001db0: JUMP
00001db1: JUMPDEST
00001db2: PUSH1 0x01
00001db4: PUSH1 0x01
00001db6: PUSH1 0xa0
00001db8: SHL
00001db9: SUB
00001dba: DUP3
00001dbb: AND
00001dbc: PUSH2 0x0546
00001dbf: JUMPI
00001dc0: PUSH1 0x40
00001dc2: MLOAD
00001dc3: PUSH4 0xec442f05
00001dc8: PUSH1 0xe0
00001dca: SHL
00001dcb: DUP2
00001dcc: MSTORE
00001dcd: PUSH0
00001dce: PUSH1 0x04
00001dd0: DUP3
00001dd1: ADD
00001dd2: MSTORE
00001dd3: PUSH1 0x24
00001dd5: ADD
00001dd6: PUSH2 0x0336
00001dd9: JUMP
00001dda: JUMPDEST
00001ddb: PUSH2 0x0551
00001dde: PUSH0
00001ddf: DUP4
00001de0: DUP4
00001de1: PUSH2 0x0627
00001de4: JUMP
00001de5: JUMPDEST
00001de6: POP
00001de7: POP
00001de8: JUMP
00001de9: JUMPDEST
00001dea: PUSH1 0x01
00001dec: PUSH1 0x01
00001dee: PUSH1 0xa0
00001df0: SHL
00001df1: SUB
00001df2: DUP5
00001df3: AND
00001df4: PUSH2 0x057e
00001df7: JUMPI
00001df8: PUSH1 0x40
00001dfa: MLOAD
00001dfb: PUSH4 0xe602df05
00001e00: PUSH1 0xe0
00001e02: SHL
00001e03: DUP2
00001e04: MSTORE
00001e05: PUSH0
00001e06: PUSH1 0x04
00001e08: DUP3
00001e09: ADD
00001e0a: MSTORE
00001e0b: PUSH1 0x24
00001e0d: ADD
00001e0e: PUSH2 0x0336
00001e11: JUMP
00001e12: JUMPDEST
00001e13: PUSH1 0x01
00001e15: PUSH1 0x01
00001e17: PUSH1 0xa0
00001e19: SHL
00001e1a: SUB
00001e1b: DUP4
00001e1c: AND
00001e1d: PUSH2 0x05a7
00001e20: JUMPI
00001e21: PUSH1 0x40
00001e23: MLOAD
00001e24: PUSH4 0x4a1406b1
00001e29: PUSH1 0xe1
00001e2b: SHL
00001e2c: DUP2
00001e2d: MSTORE
00001e2e: PUSH0
00001e2f: PUSH1 0x04
00001e31: DUP3
00001e32: ADD
00001e33: MSTORE
00001e34: PUSH1 0x24
00001e36: ADD
00001e37: PUSH2 0x0336
00001e3a: JUMP
00001e3b: JUMPDEST
00001e3c: PUSH1 0x01
00001e3e: PUSH1 0x01
00001e40: PUSH1 0xa0
00001e42: SHL
00001e43: SUB
00001e44: DUP1
00001e45: DUP6
00001e46: AND
00001e47: PUSH0
00001e48: SWAP1
00001e49: DUP2
00001e4a: MSTORE
00001e4b: PUSH1 0x01
00001e4d: PUSH1 0x20
00001e4f: SWAP1
00001e50: DUP2
00001e51: MSTORE
00001e52: PUSH1 0x40
00001e54: DUP1
00001e55: DUP4
00001e56: KECCAK256
00001e57: SWAP4
00001e58: DUP8
00001e59: AND
00001e5a: DUP4
00001e5b: MSTORE
00001e5c: SWAP3
00001e5d: SWAP1
00001e5e: MSTORE
00001e5f: KECCAK256
00001e60: DUP3
00001e61: SWAP1
00001e62: SSTORE
00001e63: DUP1
00001e64: ISZERO
00001e65: PUSH2 0x04ba
00001e68: JUMPI
00001e69: DUP3
00001e6a: PUSH1 0x01
00001e6c: PUSH1 0x01
00001e6e: PUSH1 0xa0
00001e70: SHL
00001e71: SUB
00001e72: AND
00001e73: DUP5
00001e74: PUSH1 0x01
00001e76: PUSH1 0x01
00001e78: PUSH1 0xa0
00001e7a: SHL
00001e7b: SUB
00001e7c: AND
00001e7d: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00001e9e: DUP5
00001e9f: PUSH1 0x40
00001ea1: MLOAD
00001ea2: PUSH2 0x0619
00001ea5: SWAP2
00001ea6: DUP2
00001ea7: MSTORE
00001ea8: PUSH1 0x20
00001eaa: ADD
00001eab: SWAP1
00001eac: JUMP
00001ead: JUMPDEST
00001eae: PUSH1 0x40
00001eb0: MLOAD
00001eb1: DUP1
00001eb2: SWAP2
00001eb3: SUB
00001eb4: SWAP1
00001eb5: LOG3
00001eb6: POP
00001eb7: POP
00001eb8: POP
00001eb9: POP
00001eba: JUMP
00001ebb: JUMPDEST
00001ebc: PUSH1 0x01
00001ebe: PUSH1 0x01
00001ec0: PUSH1 0xa0
00001ec2: SHL
00001ec3: SUB
00001ec4: DUP4
00001ec5: AND
00001ec6: PUSH2 0x0651
00001ec9: JUMPI
00001eca: DUP1
00001ecb: PUSH1 0x02
00001ecd: PUSH0
00001ece: DUP3
00001ecf: DUP3
00001ed0: SLOAD
00001ed1: PUSH2 0x0646
00001ed4: SWAP2
00001ed5: SWAP1
00001ed6: PUSH2 0x08bd
00001ed9: JUMP
00001eda: JUMPDEST
00001edb: SWAP1
00001edc: SWAP2
00001edd: SSTORE
00001ede: POP
00001edf: PUSH2 0x06c1
00001ee2: SWAP1
00001ee3: POP
00001ee4: JUMP
00001ee5: JUMPDEST
00001ee6: PUSH1 0x01
00001ee8: PUSH1 0x01
00001eea: PUSH1 0xa0
00001eec: SHL
00001eed: SUB
00001eee: DUP4
00001eef: AND
00001ef0: PUSH0
00001ef1: SWAP1
00001ef2: DUP2
00001ef3: MSTORE
00001ef4: PUSH1 0x20
00001ef6: DUP2
00001ef7: SWAP1
00001ef8: MSTORE
00001ef9: PUSH1 0x40
00001efb: SWAP1
00001efc: KECCAK256
00001efd: SLOAD
00001efe: DUP2
00001eff: DUP2
00001f00: LT
00001f01: ISZERO
00001f02: PUSH2 0x06a3
00001f05: JUMPI
00001f06: PUSH1 0x40
00001f08: MLOAD
00001f09: PUSH4 0x391434e3
00001f0e: PUSH1 0xe2
00001f10: SHL
00001f11: DUP2
00001f12: MSTORE
00001f13: PUSH1 0x01
00001f15: PUSH1 0x01
00001f17: PUSH1 0xa0
00001f19: SHL
00001f1a: SUB
00001f1b: DUP6
00001f1c: AND
00001f1d: PUSH1 0x04
00001f1f: DUP3
00001f20: ADD
00001f21: MSTORE
00001f22: PUSH1 0x24
00001f24: DUP2
00001f25: ADD
00001f26: DUP3
00001f27: SWAP1
00001f28: MSTORE
00001f29: PUSH1 0x44
00001f2b: DUP2
00001f2c: ADD
00001f2d: DUP4
00001f2e: SWAP1
00001f2f: MSTORE
00001f30: PUSH1 0x64
00001f32: ADD
00001f33: PUSH2 0x0336
00001f36: JUMP
00001f37: JUMPDEST
00001f38: PUSH1 0x01
00001f3a: PUSH1 0x01
00001f3c: PUSH1 0xa0
00001f3e: SHL
00001f3f: SUB
00001f40: DUP5
00001f41: AND
00001f42: PUSH0
00001f43: SWAP1
00001f44: DUP2
00001f45: MSTORE
00001f46: PUSH1 0x20
00001f48: DUP2
00001f49: SWAP1
00001f4a: MSTORE
00001f4b: PUSH1 0x40
00001f4d: SWAP1
00001f4e: KECCAK256
00001f4f: SWAP1
00001f50: DUP3
00001f51: SWAP1
00001f52: SUB
00001f53: SWAP1
00001f54: SSTORE
00001f55: JUMPDEST
00001f56: PUSH1 0x01
00001f58: PUSH1 0x01
00001f5a: PUSH1 0xa0
00001f5c: SHL
00001f5d: SUB
00001f5e: DUP3
00001f5f: AND
00001f60: PUSH2 0x06dd
00001f63: JUMPI
00001f64: PUSH1 0x02
00001f66: DUP1
00001f67: SLOAD
00001f68: DUP3
00001f69: SWAP1
00001f6a: SUB
00001f6b: SWAP1
00001f6c: SSTORE
00001f6d: PUSH2 0x06fb
00001f70: JUMP
00001f71: JUMPDEST
00001f72: PUSH1 0x01
00001f74: PUSH1 0x01
00001f76: PUSH1 0xa0
00001f78: SHL
00001f79: SUB
00001f7a: DUP3
00001f7b: AND
00001f7c: PUSH0
00001f7d: SWAP1
00001f7e: DUP2
00001f7f: MSTORE
00001f80: PUSH1 0x20
00001f82: DUP2
00001f83: SWAP1
00001f84: MSTORE
00001f85: PUSH1 0x40
00001f87: SWAP1
00001f88: KECCAK256
00001f89: DUP1
00001f8a: SLOAD
00001f8b: DUP3
00001f8c: ADD
00001f8d: SWAP1
00001f8e: SSTORE
00001f8f: JUMPDEST
00001f90: DUP2
00001f91: PUSH1 0x01
00001f93: PUSH1 0x01
00001f95: PUSH1 0xa0
00001f97: SHL
00001f98: SUB
00001f99: AND
00001f9a: DUP4
00001f9b: PUSH1 0x01
00001f9d: PUSH1 0x01
00001f9f: PUSH1 0xa0
00001fa1: SHL
00001fa2: SUB
00001fa3: AND
00001fa4: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001fc5: DUP4
00001fc6: PUSH1 0x40
00001fc8: MLOAD
00001fc9: PUSH2 0x0740
00001fcc: SWAP2
00001fcd: DUP2
00001fce: MSTORE
00001fcf: PUSH1 0x20
00001fd1: ADD
00001fd2: SWAP1
00001fd3: JUMP
00001fd4: JUMPDEST
00001fd5: PUSH1 0x40
00001fd7: MLOAD
00001fd8: DUP1
00001fd9: SWAP2
00001fda: SUB
00001fdb: SWAP1
00001fdc: LOG3
00001fdd: POP
00001fde: POP
00001fdf: POP
00001fe0: JUMP
00001fe1: JUMPDEST
00001fe2: PUSH1 0x20
00001fe4: DUP2
00001fe5: MSTORE
00001fe6: PUSH0
00001fe7: DUP3
00001fe8: MLOAD
00001fe9: DUP1
00001fea: PUSH1 0x20
00001fec: DUP5
00001fed: ADD
00001fee: MSTORE
00001fef: DUP1
00001ff0: PUSH1 0x20
00001ff2: DUP6
00001ff3: ADD
00001ff4: PUSH1 0x40
00001ff6: DUP6
00001ff7: ADD
00001ff8: MCOPY
00001ff9: PUSH0
00001ffa: PUSH1 0x40
00001ffc: DUP3
00001ffd: DUP6
00001ffe: ADD
00001fff: ADD
00002000: MSTORE
00002001: PUSH1 0x40
00002003: PUSH1 0x1f
00002005: NOT
00002006: PUSH1 0x1f
00002008: DUP4
00002009: ADD
0000200a: AND
0000200b: DUP5
0000200c: ADD
0000200d: ADD
0000200e: SWAP2
0000200f: POP
00002010: POP
00002011: SWAP3
00002012: SWAP2
00002013: POP
00002014: POP
00002015: JUMP
00002016: JUMPDEST
00002017: DUP1
00002018: CALLDATALOAD
00002019: PUSH1 0x01
0000201b: PUSH1 0x01
0000201d: PUSH1 0xa0
0000201f: SHL
00002020: SUB
00002021: DUP2
00002022: AND
00002023: DUP2
00002024: EQ
00002025: PUSH2 0x0798
00002028: JUMPI
00002029: PUSH0
0000202a: DUP1
0000202b: REVERT
0000202c: JUMPDEST
0000202d: SWAP2
0000202e: SWAP1
0000202f: POP
00002030: JUMP
00002031: JUMPDEST
00002032: PUSH0
00002033: DUP1
00002034: PUSH1 0x40
00002036: DUP4
00002037: DUP6
00002038: SUB
00002039: SLT
0000203a: ISZERO
0000203b: PUSH2 0x07ae
0000203e: JUMPI
0000203f: PUSH0
00002040: DUP1
00002041: REVERT
00002042: JUMPDEST
00002043: PUSH2 0x07b7
00002046: DUP4
00002047: PUSH2 0x0782
0000204a: JUMP
0000204b: JUMPDEST
0000204c: SWAP5
0000204d: PUSH1 0x20
0000204f: SWAP4
00002050: SWAP1
00002051: SWAP4
00002052: ADD
00002053: CALLDATALOAD
00002054: SWAP4
00002055: POP
00002056: POP
00002057: POP
00002058: JUMP
00002059: JUMPDEST
0000205a: PUSH0
0000205b: DUP1
0000205c: PUSH0
0000205d: PUSH1 0x60
0000205f: DUP5
00002060: DUP7
00002061: SUB
00002062: SLT
00002063: ISZERO
00002064: PUSH2 0x07d7
00002067: JUMPI
00002068: PUSH0
00002069: DUP1
0000206a: REVERT
0000206b: JUMPDEST
0000206c: PUSH2 0x07e0
0000206f: DUP5
00002070: PUSH2 0x0782
00002073: JUMP
00002074: JUMPDEST
00002075: SWAP3
00002076: POP
00002077: PUSH2 0x07ee
0000207a: PUSH1 0x20
0000207c: DUP6
0000207d: ADD
0000207e: PUSH2 0x0782
00002081: JUMP
00002082: JUMPDEST
00002083: SWAP2
00002084: POP
00002085: PUSH1 0x40
00002087: DUP5
00002088: ADD
00002089: CALLDATALOAD
0000208a: SWAP1
0000208b: POP
0000208c: SWAP3
0000208d: POP
0000208e: SWAP3
0000208f: POP
00002090: SWAP3
00002091: JUMP
00002092: JUMPDEST
00002093: PUSH0
00002094: PUSH1 0x20
00002096: DUP3
00002097: DUP5
00002098: SUB
00002099: SLT
0000209a: ISZERO
0000209b: PUSH2 0x080e
0000209e: JUMPI
0000209f: PUSH0
000020a0: DUP1
000020a1: REVERT
000020a2: JUMPDEST
000020a3: PUSH2 0x0817
000020a6: DUP3
000020a7: PUSH2 0x0782
000020aa: JUMP
000020ab: JUMPDEST
000020ac: SWAP4
000020ad: SWAP3
000020ae: POP
000020af: POP
000020b0: POP
000020b1: JUMP
000020b2: JUMPDEST
000020b3: PUSH0
000020b4: PUSH1 0x20
000020b6: DUP3
000020b7: DUP5
000020b8: SUB
000020b9: SLT
000020ba: ISZERO
000020bb: PUSH2 0x082e
000020be: JUMPI
000020bf: PUSH0
000020c0: DUP1
000020c1: REVERT
000020c2: JUMPDEST
000020c3: POP
000020c4: CALLDATALOAD
000020c5: SWAP2
000020c6: SWAP1
000020c7: POP
000020c8: JUMP
000020c9: JUMPDEST
000020ca: PUSH0
000020cb: DUP1
000020cc: PUSH1 0x40
000020ce: DUP4
000020cf: DUP6
000020d0: SUB
000020d1: SLT
000020d2: ISZERO
000020d3: PUSH2 0x0846
000020d6: JUMPI
000020d7: PUSH0
000020d8: DUP1
000020d9: REVERT
000020da: JUMPDEST
000020db: PUSH2 0x084f
000020de: DUP4
000020df: PUSH2 0x0782
000020e2: JUMP
000020e3: JUMPDEST
000020e4: SWAP2
000020e5: POP
000020e6: PUSH2 0x085d
000020e9: PUSH1 0x20
000020eb: DUP5
000020ec: ADD
000020ed: PUSH2 0x0782
000020f0: JUMP
000020f1: JUMPDEST
000020f2: SWAP1
000020f3: POP
000020f4: SWAP3
000020f5: POP
000020f6: SWAP3
000020f7: SWAP1
000020f8: POP
000020f9: JUMP
000020fa: JUMPDEST
000020fb: PUSH1 0x01
000020fd: DUP2
000020fe: DUP2
000020ff: SHR
00002100: SWAP1
00002101: DUP3
00002102: AND
00002103: DUP1
00002104: PUSH2 0x087a
00002107: JUMPI
00002108: PUSH1 0x7f
0000210a: DUP3
0000210b: AND
0000210c: SWAP2
0000210d: POP
0000210e: JUMPDEST
0000210f: PUSH1 0x20
00002111: DUP3
00002112: LT
00002113: DUP2
00002114: SUB
00002115: PUSH2 0x0898
00002118: JUMPI
00002119: PUSH4 0x4e487b71
0000211e: PUSH1 0xe0
00002120: SHL
00002121: PUSH0
00002122: MSTORE
00002123: PUSH1 0x22
00002125: PUSH1 0x04
00002127: MSTORE
00002128: PUSH1 0x24
0000212a: PUSH0
0000212b: REVERT
0000212c: JUMPDEST
0000212d: POP
0000212e: SWAP2
0000212f: SWAP1
00002130: POP
00002131: JUMP
00002132: JUMPDEST
00002133: PUSH0
00002134: PUSH1 0x20
00002136: DUP3
00002137: DUP5
00002138: SUB
00002139: SLT
0000213a: ISZERO
0000213b: PUSH2 0x08ae
0000213e: JUMPI
0000213f: PUSH0
00002140: DUP1
00002141: REVERT
00002142: JUMPDEST
00002143: DUP2
00002144: MLOAD
00002145: DUP1
00002146: ISZERO
00002147: ISZERO
00002148: DUP2
00002149: EQ
0000214a: PUSH2 0x0817
0000214d: JUMPI
0000214e: PUSH0
0000214f: DUP1
00002150: REVERT
00002151: JUMPDEST
00002152: DUP1
00002153: DUP3
00002154: ADD
00002155: DUP1
00002156: DUP3
00002157: GT
00002158: ISZERO
00002159: PUSH2 0x02b9
0000215c: JUMPI
0000215d: PUSH4 0x4e487b71
00002162: PUSH1 0xe0
00002164: SHL
00002165: PUSH0
00002166: MSTORE
00002167: PUSH1 0x11
00002169: PUSH1 0x04
0000216b: MSTORE
0000216c: PUSH1 0x24
0000216e: PUSH0
0000216f: REVERT
00002170: INVALID
00002171: LOG2
00002172: PUSH5 0x6970667358
00002178: UNKNOWN(0x22)
00002179: SLT
0000217a: KECCAK256
0000217b: UNKNOWN(0xB0)
0000217c: TLOAD
0000217d: MLOAD
0000217e: PUSH12 0xf1103418f9b0a3a7763760ca
0000218b: UNKNOWN(0xBA)
0000218c: UNKNOWN(0xEC)
0000218d: UNKNOWN(0xDD)
0000218e: PUSH31 0x3cb6dada81dbf0bddb7d7acc64736f6c63430008190033a264697066735822
000021ae: SLT
000021af: KECCAK256
000021b0: LOG2
000021b1: UNKNOWN(0xBC)
000021b2: UNKNOWN(0xDF)
000021b3: GASPRICE
000021b4: UNKNOWN(0x0D)
000021b5: PUSH9 0x25fef92cac9c6881f3
000021bf: PUSH16 0x46789dc6864ea3dade1a8f25fb60f817
000021d0: PUSH5 0x736f6c6343
000021d6: STOP
000021d7: ADDMOD
000021d8: NOT
000021d9: STOP
000021da: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x5971fa189576d56c99bcbaccd3b9d13624e101bbd814d09a0b43b1c793c2058a
call_targets: 0x7e57ac0cc9251a5ac8a4ba2f138793bef8e47fcd
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5971fa189576d56c99bcbaccd3b9d13624e101bbd814d09a0b43b1c793c2058a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7e57ac0cc9251a5ac8a4ba2f138793bef8e47fcd"
    ],
    "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": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc31c9c07",
            "selector": "0xc31c9c07",
            "calldata_variants": [
                "0xc31c9c07",
                "0xc31c9c070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9e0ab68",
            "selector": "0xc9e0ab68",
            "calldata_variants": [
                "0xc9e0ab68",
                "0xc9e0ab680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6998ec23",
            "selector": "0x6998ec23",
            "calldata_variants": [
                "0x6998ec23",
                "0x6998ec230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4782f779",
            "selector": "0x4782f779",
            "calldata_variants": [
                "0x4782f779",
                "0x4782f7790000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1347,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1574,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1809,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x5971fa189576d56c99bcbaccd3b9d13624e101bbd814d09a0b43b1c793c2058a
call_targets: 0x7e57ac0cc9251a5ac8a4ba2f138793bef8e47fcd
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x5971fa189576d56c99bcbaccd3b9d13624e101bbd814d09a0b43b1c793c2058a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x7e57ac0cc9251a5ac8a4ba2f138793bef8e47fcd"
    ],
    "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": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc31c9c07",
            "selector": "0xc31c9c07",
            "calldata_variants": [
                "0xc31c9c07",
                "0xc31c9c070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9e0ab68",
            "selector": "0xc9e0ab68",
            "calldata_variants": [
                "0xc9e0ab68",
                "0xc9e0ab680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6998ec23",
            "selector": "0x6998ec23",
            "calldata_variants": [
                "0x6998ec23",
                "0x6998ec230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4782f779",
            "selector": "0x4782f779",
            "calldata_variants": [
                "0x4782f779",
                "0x4782f7790000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1347,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1574,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1809,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [],
    "untrusted_call_count": 7
}
medium reentrancy codex External CALLs with computed targets/value and no reentrancy guard detected 75 no
view
evidence_json
{
    "evidence": "BYTECODE_BUNDLE.json callsites list 7 CALLs with computed target/value and returndata_checked=null (pc 1347, 1574, 1809, 2273, 3204, 3332, 7190). Detector findings: 'Untrusted CALL target/value reachable' and 'ETH value transfer possible' with guards_detected=[]; auth.guards is empty.",
    "locations": [
        "pc:0x543",
        "pc:0x626",
        "pc:0x711",
        "pc:0x8e1",
        "pc:0xc84",
        "pc:0xd04",
        "pc:0x1c16"
    ],
    "recommendation": "Add a reentrancy guard around functions that perform external calls and update state before interacting. Consider allowlisting call targets and using pull-based withdrawals for ETH.",
    "exploit_scenario": "If a called token/router/recipient is malicious, it can reenter before state updates and manipulate participant lists or drain funds, especially where ETH value transfer is possible. Guard detection is heuristic, so this is a conservative risk call."
}
medium oracle codex Randomness derived from block properties (TIMESTAMP/PREVRANDAO) 75 no
view
evidence_json
{
    "evidence": "Disassembly around pc 3589-3595 shows DIFFICULTY/PREVRANDAO (0x44) and TIMESTAMP (0x42) fed into hashing logic, consistent with on-chain randomness generation.",
    "locations": [
        "pc:0xe05",
        "pc:0xe0b"
    ],
    "recommendation": "Use a verifiable randomness source (VRF) or a commit-reveal scheme if fairness matters.",
    "exploit_scenario": "If this randomness drives shuffling/winner selection, validators can bias block properties to influence outcomes (e.g., reorder or include transactions in favorable blocks)."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xb54f2367a8a61007841b614f8017888cff9307504ba115bff691725f380fbe17
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xb54f2367a8a61007841b614f8017888cff9307504ba115bff691725f380fbe17",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x95d89b41",
            "selector": "0x95d89b41",
            "calldata_variants": [
                "0x95d89b41",
                "0x95d89b410000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc31c9c07",
            "selector": "0xc31c9c07",
            "calldata_variants": [
                "0xc31c9c07",
                "0xc31c9c070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc9e0ab68",
            "selector": "0xc9e0ab68",
            "calldata_variants": [
                "0xc9e0ab68",
                "0xc9e0ab680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6998ec23",
            "selector": "0x6998ec23",
            "calldata_variants": [
                "0x6998ec23",
                "0x6998ec230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4782f779",
            "selector": "0x4782f779",
            "calldata_variants": [
                "0x4782f779",
                "0x4782f7790000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
low other codex Potential gas-DoS from unbounded loop with external calls 65 no
view
evidence_json
{
    "evidence": "Bytecode shows SLOAD of slot 0x02 used as a loop bound with JUMPI backedge and external CALLs inside the loop (e.g., pc 1127 for SLOAD and pc 1347 for CALL).",
    "locations": [
        "pc:0x467",
        "pc:0x543"
    ],
    "recommendation": "Cap list sizes, add batching/checkpointing, or allow partial processing across calls.",
    "exploit_scenario": "A loop appears to iterate over a storage length (slot 0x02) and perform external CALLs. If the list grows, the loop can exceed the block gas limit, preventing completion of the function and locking funds/state transitions."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}