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

Analysis Run

019bab3b-abb6-709a-a874-ab08c52922a5

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

What survived the funnel

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

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
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
38618 artifact.fetch complete 1 / 3 3 months ago
38619 proxy.resolve complete 1 / 3 3 months ago
38620 tool.cast_disasm complete 1 / 3 3 months ago
38621 analysis.bundle complete 1 / 3 3 months ago
38622 capability.graph complete 1 / 3 3 months ago
38623 detector.run complete 1 / 3 3 months ago
38624 validation.fork complete 1 / 3 3 months ago
39090 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 heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.
View stdout
{"no_findings":false,"summary":"Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.","findings":[{"severity":"medium","category":"reentrancy","title":"External call occurs before storage update on at least one path","exploit_scenario":"If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path.","recommendation":"Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.","evidence":"Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).","locations":["pc:11632","pc:11762"]},{"severity":"medium","category":"other","title":"Computed CALL targets and values enable arbitrary external calls if user-controlled","exploit_scenario":"Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability.","recommendation":"Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.","evidence":"`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).","locations":["pc:3271","pc:3474","pc:3955","pc:4075","pc:4189"]},{"severity":"low","category":"other","title":"Return-data handling for external calls is unclear","exploit_scenario":"If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain.","recommendation":"Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.","evidence":"`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.","locations":["pc:3271","pc:3474","pc:11101"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-kwm9pvz6
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019babbe-892a-78a1-9797-88c2c1b0c2ee
--------
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
**Preparing to read BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-kwm9pvz6 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json

thinking
**Reading bundle**
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 9ms:
{
  "analysis_artifact": {
    "address": "0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1",
    "artifact_hash": "0x9ddf05245d1689cfce20721ec2e48bf41696903a1565c20bcf2677d5a2f9baa4",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0x3fd0931de1db5e239099371326be3152d2c67b610e8ed3caaf844eee83d1610c",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",

thinking
**Investigating callsites and contract data**
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 22ms:
19017:          "storage": {
19196:          "storage": {
19375:          "storage": {
19554:          "storage": {
19733:          "storage": {
19912:          "storage": {
20091:          "storage": {
20270:          "storage": {
20449:          "storage": {
20628:          "storage": {
20807:          "storage": {
20986:          "storage": {
21165:          "storage": {
21344:          "storage": {
21523:          "storage": {
21702:          "storage": {
21881:          "storage": {
22060:          "storage": {
22239:          "storage": {
22418:          "storage": {

thinking
**Inspecting code context with sed/rg**
exec
/bin/bash -lc "sed -n '18980,19080p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 33ms:
          "entry_pc": 3504541104,
          "selector": "0xa9cc4718"
        },
        {
          "entry_pc": 3552888016,
          "selector": "0xd0e30db0"
        },
        {
          "entry_pc": 3740822715,
          "selector": "0xd3c4c4d0"
        },
        {
          "entry_pc": 3835743791,
          "selector": "0xdef86cbb"
        },
        {
          "entry_pc": 4294858914,
          "selector": "0xe4a0ce2f"
        },
        {

thinking
**Analyzing function vulnerabilities**
exec
/bin/bash -lc 'rg -n "reentr|re-entr" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 exited 1 in 7ms:


thinking
**Searching for storage write references**
exec
/bin/bash -lc 'rg -n "writes" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 12ms:
19181:            "writes": 76
19360:            "writes": 76
19539:            "writes": 76
19718:            "writes": 76
19897:            "writes": 76
20076:            "writes": 76
20255:            "writes": 76
20434:            "writes": 76
20613:            "writes": 76
20792:            "writes": 76
20971:            "writes": 76
21150:            "writes": 76
21329:            "writes": 76
21508:            "writes": 76
21687:            "writes": 76
21866:            "writes": 76
22045:            "writes": 76
22224:            "writes": 76
22403:            "writes": 76
22582:            "writes": 76

thinking
**Investigating repeated storage writes**
exec
/bin/bash -lc "sed -n '19140,19230p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 7ms:
              {
                "op": "SLOAD",
                "pc": 5241,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
              },
              {
                "op": "SLOAD",
                "pc": 7526,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
              },
              {
                "op": "SLOAD",
                "pc": 7551,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
              },
              {
                "op": "SLOAD",
                "pc": 7720,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
              },

thinking
**Analyzing function selectors and contract behavior**
exec
/bin/bash -lc 'rg -n "signature|name" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 8ms:
22990:        "contract_name": null,

thinking
**Checking for evidence bundle or selectors summary**
exec
/bin/bash -lc "sed -n '22880,23060p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 35ms:
          },
          {
            "op": "SLOAD",
            "pc": 2288,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
          },
          {
            "op": "SLOAD",
            "pc": 2368,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000013"
          },
          {
            "op": "SLOAD",
            "pc": 2553,
            "slot": "0x000000000000000000000000000000000000000000000000000000000000000f"
          },
          {
            "op": "SLOAD",
            "pc": 2943,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"

thinking
**Analyzing runtime bytecode for vulnerabilities**

I’m carefully parsing the bytecode to identify external token calls, access controls, and reentrancy guards, weighing potential risks like unchecked calls, missing authorization, and state changes without guards, trying to piece together where vulnerabilities might hide based on observed call patterns and storage checks.
exec
/bin/bash -lc 'rg -n "callsite|callsites|call_sites" BYTECODE_BUNDLE.json' in /tmp/codex-kwm9pvz6 succeeded in 35ms:
14956:      "callsites": [
32012:          "type": "callsite"
32018:          "type": "callsite"
32024:          "type": "callsite"
32030:          "type": "callsite"
32036:          "type": "callsite"
32042:          "type": "callsite"
32048:          "type": "callsite"
32054:          "type": "callsite"
32060:          "type": "callsite"
32066:          "type": "callsite"
32072:          "type": "callsite"
32078:          "type": "callsite"
32084:          "type": "callsite"
32090:          "type": "callsite"
32096:          "type": "callsite"
32102:          "type": "callsite"
32108:          "type": "callsite"
32114:          "type": "callsite"
32120:          "type": "callsite"

thinking
**Inspecting callsites section**
exec
/bin/bash -lc "sed -n '14880,15060p' BYTECODE_BUNDLE.json" in /tmp/codex-kwm9pvz6 succeeded in 12ms:
            "PUSH1",
            "EXP",
            "SUB",
            "OP_90",
            "OP_91",
            "AND",
            "OP_81",
            "MSTORE",
            "PUSH1",
            "ADD",
            "PUSH1",
            "MLOAD",
            "OP_80",
            "OP_91",
            "SUB",
            "OP_90",
            "OP_A1",
            "POP",
            "POP",
            "JUMP"

thinking
**Analyzing complex external call patterns**

I’m working through runtime bytecode clues to understand external calls with computed targets and values, assessing risks like reentrancy and arbitrary calls. There's evidence of potential reentrancy guards but limited coverage, and return data checks appear uncertain. I’m preparing to disassemble around callsites to clarify these patterns and support measured findings.
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path

with open('BYTECODE_BUNDLE.json','r') as f:
    data=json.load(f)
code=data['artifact']['runtime_bytecode']['full']
if code.startswith('0x'):
    code=code[2:]
bytecode=bytes.fromhex(code)

# opcode map
opcodes={
    **{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
    **{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
    **{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
    **{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}
# fill main opcodes
names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
    opcodes.setdefault(k,(v,0))

instrs=[]
pc=0
while pc<len(bytecode):
    op=bytecode[pc]
    name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
    arg=None
    if name.startswith('PUSH'):
        pushlen=int(name[4:])
    if pushlen:
        arg=bytecode[pc+1:pc+1+pushlen]
        pc_next=pc+1+pushlen
    else:
        pc_next=pc+1
    instrs.append((pc,name,arg))
    pc=pc_next

# Build map
instr_by_pc={pc:(name,arg) for pc,name,arg in instrs}

# callsites from detector list
call_pcs=[3271,3474,3955,4075,4189,4552,4666,5212,5577,5747,5894,6080,6200,6497,6606,6742,6898,7180,7362,7891,10317,11101,11466,11632,12068,12770,12927,13235]

# print around first few callsites
for call_pc in call_pcs[:5]:
    # show 8 instr before and after
    # find index
    idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
    start=max(0,idx-8)
    end=min(len(instrs),idx+9)
    print(f'--- around CALL at pc {call_pc} ---')
    for pc,name,arg in instrs[start:end]:
        if arg is not None:
            aval=arg.hex()
            print(f'{pc:5d} {name} 0x{aval}')
        else:
            print(f'{pc:5d} {name}')

PY" in /tmp/codex-kwm9pvz6 succeeded in 57ms:
--- around CALL at pc 3271 ---
 3260 ISZERO
 3261 PUSH2 0x0cc5
 3264 JUMPI
 3265 PUSH1 0x00
 3267 DUP1
 3268 REVERT
 3269 JUMPDEST
 3270 GAS
 3271 CALL
 3272 ISZERO
 3273 ISZERO
 3274 PUSH2 0x0cd2
 3277 JUMPI
 3278 PUSH1 0x00
 3280 DUP1
 3281 REVERT
 3282 JUMPDEST
--- around CALL at pc 3474 ---
 3466 MLOAD

thinking
**Inspecting CALL instruction behavior**
exec
/bin/bash -lc "python - <<'PY'
import json

data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)

opcodes={
    **{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
    **{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
    **{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
    **{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}

names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
    opcodes.setdefault(k,(v,0))

instrs=[]
pc=0
while pc<len(bytecode):
    op=bytecode[pc]
    name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
    if name.startswith('PUSH'):
        pushlen=int(name[4:])
    arg=None
    if pushlen:
        arg=bytecode[pc+1:pc+1+pushlen]
        pc_next=pc+1+pushlen
    else:
        pc_next=pc+1
    instrs.append((pc,name,arg))
    pc=pc_next

call_pcs=[11101,11466,11632,12068,12770,12927,13235]

for call_pc in call_pcs:
    idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
    start=max(0,idx-12)
    end=min(len(instrs),idx+13)
    print(f'--- around CALL at pc {call_pc} ---')
    for pc,name,arg in instrs[start:end]:
        if arg is not None:
            print(f'{pc:5d} {name} 0x{arg.hex()}')
        else:
            print(f'{pc:5d} {name}')

PY" in /tmp/codex-kwm9pvz6 succeeded in 48ms:
--- around CALL at pc 11101 ---
11086 DUP8
11087 DUP1
11088 EXTCODESIZE
11089 ISZERO
11090 ISZERO
11091 PUSH2 0x2b5b
11094 JUMPI
11095 PUSH1 0x00
11097 DUP1
11098 REVERT
11099 JUMPDEST
11100 GAS
11101 CALL
11102 ISZERO
11103 ISZERO
11104 PUSH2 0x2b68
11107 JUMPI
11108 PUSH1 0x00
11110 DUP1

thinking
**Analyzing external call usage and risks**
exec
/bin/bash -lc "python - <<'PY'
import json

data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)

opcodes={
    **{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
    **{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
    **{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
    **{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}

names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
    opcodes.setdefault(k,(v,0))

instrs=[]
pc=0
while pc<len(bytecode):
    op=bytecode[pc]
    name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
    if name.startswith('PUSH'):
        pushlen=int(name[4:])
    arg=None
    if pushlen:
        arg=bytecode[pc+1:pc+1+pushlen]
        pc_next=pc+1+pushlen
    else:
        pc_next=pc+1
    instrs.append((pc,name,arg))
    pc=pc_next

# Print larger window around 11632
call_pc=11632
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-40)
end=min(len(instrs),idx+80)
for pc,name,arg in instrs[start:end]:
    if arg is not None:
        print(f'{pc:5d} {name} 0x{arg.hex()}')
    else:
        print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 54ms:
11577 PUSH4 0xffffffff
11582 DUP5
11583 AND
11584 MUL
11585 DUP2
11586 MSTORE
11587 PUSH1 0x01
11589 PUSH1 0xa0
11591 PUSH1 0x02
11593 EXP
11594 SUB
11595 SWAP1
11596 SWAP2
11597 AND
11598 PUSH1 0x04
11600 DUP3
11601 ADD
11602 MSTORE
11603 PUSH1 0x24
11605 ADD

thinking
**Analyzing potential reentrancy risk**
exec
/bin/bash -lc "python - <<'PY'
import json

data=json.load(open('BYTECODE_BUNDLE.json'))
code=data['artifact']['runtime_bytecode']['full'][2:]
bytecode=bytes.fromhex(code)

opcodes={
    **{i: ('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)},
    **{i: ('DUP'+str(i-0x7f),0) for i in range(0x80,0x90)},
    **{i: ('SWAP'+str(i-0x8f),0) for i in range(0x90,0xa0)},
    **{i: ('LOG'+str(i-0xa0),0) for i in range(0xa0,0xa5)},
}

names={
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
    opcodes.setdefault(k,(v,0))

instrs=[]
pc=0
while pc<len(bytecode):
    op=bytecode[pc]
    name,pushlen=opcodes.get(op,(f'OP_{op:02x}',0))
    if name.startswith('PUSH'):
        pushlen=int(name[4:])
    arg=None
    if pushlen:
        arg=bytecode[pc+1:pc+1+pushlen]
        pc_next=pc+1+pushlen
    else:
        pc_next=pc+1
    instrs.append((pc,name,arg))
    pc=pc_next

# find around call pc 3474 with wider window
call_pc=3474
idx=next(i for i,(pc,_,_) in enumerate(instrs) if pc==call_pc)
start=max(0,idx-40)
end=min(len(instrs),idx+40)
for pc,name,arg in instrs[start:end]:
    if arg is not None:
        print(f'{pc:5d} {name} 0x{arg.hex()}')
    else:
        print(f'{pc:5d} {name}')
PY" in /tmp/codex-kwm9pvz6 succeeded in 57ms:
 3424 SWAP3
 3425 AND
 3426 PUSH1 0x60
 3428 DUP3
 3429 ADD
 3430 MSTORE
 3431 PUSH1 0x80
 3433 ADD
 3434 SWAP1
 3435 MLOAD
 3436 DUP1
 3437 SWAP2
 3438 SUB
 3439 SWAP1
 3440 LOG1
 3441 PUSH1 0x01
 3443 PUSH1 0xa0
 3445 PUSH1 0x02
 3447 EXP
 3448 SUB

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

I’m outlining potential reentrancy and untrusted external call risks based on call and storage update pcs, noting the lack of clear reentrancy guards and uncertain return data checks for external token calls. I’m drafting a JSON report with three findings covering reentrancy (medium severity), untrusted calls with ETH (medium/low severity), and unclear return data validation (low severity), including evidence and exploit scenarios while pointing out uncertainties due to bytecode-only analysis.
codex
{"no_findings":false,"summary":"Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.","findings":[{"severity":"medium","category":"reentrancy","title":"External call occurs before storage update on at least one path","exploit_scenario":"If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path.","recommendation":"Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.","evidence":"Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).","locations":["pc:11632","pc:11762"]},{"severity":"medium","category":"other","title":"Computed CALL targets and values enable arbitrary external calls if user-controlled","exploit_scenario":"Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability.","recommendation":"Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.","evidence":"`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).","locations":["pc:3271","pc:3474","pc:3955","pc:4075","pc:4189"]},{"severity":"low","category":"other","title":"Return-data handling for external calls is unclear","exploit_scenario":"If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain.","recommendation":"Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.","evidence":"`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.","locations":["pc:3271","pc:3474","pc:11101"]}]}
tokens used
77,837
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T06:33:05.869426+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 28530,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.",
    "raw_final": {
        "summary": "Bytecode shows heavy external call usage with computed targets/values and at least one call-before-state-update pattern; risks depend on whether call targets are user-controlled and whether reentrancy guards cover those paths.",
        "findings": [
            {
                "title": "External call occurs before storage update on at least one path",
                "category": "reentrancy",
                "evidence": "Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).",
                "severity": "medium",
                "locations": [
                    "pc:11632",
                    "pc:11762"
                ],
                "recommendation": "Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.",
                "exploit_scenario": "If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path."
            },
            {
                "title": "Computed CALL targets and values enable arbitrary external calls if user-controlled",
                "category": "other",
                "evidence": "`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).",
                "severity": "medium",
                "locations": [
                    "pc:3271",
                    "pc:3474",
                    "pc:3955",
                    "pc:4075",
                    "pc:4189"
                ],
                "recommendation": "Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.",
                "exploit_scenario": "Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability."
            },
            {
                "title": "Return-data handling for external calls is unclear",
                "category": "other",
                "evidence": "`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.",
                "severity": "low",
                "locations": [
                    "pc:3271",
                    "pc:3474",
                    "pc:11101"
                ],
                "recommendation": "Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.",
                "exploit_scenario": "If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
28
EXT*/BALANCE
24
Total opcodes
10101
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0103
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH1 0xe0
00000014: PUSH1 0x02
00000016: EXP
00000017: PUSH1 0x00
00000019: CALLDATALOAD
0000001a: DIV
0000001b: AND
0000001c: PUSH4 0x14614af9
00000021: DUP2
00000022: EQ
00000023: PUSH2 0x010f
00000026: JUMPI
00000027: DUP1
00000028: PUSH4 0x17f708fb
0000002d: EQ
0000002e: PUSH2 0x012d
00000031: JUMPI
00000032: DUP1
00000033: PUSH4 0x19f363bc
00000038: EQ
00000039: PUSH2 0x0140
0000003c: JUMPI
0000003d: DUP1
0000003e: PUSH4 0x2618e6e9
00000043: EQ
00000044: PUSH2 0x0157
00000047: JUMPI
00000048: DUP1
00000049: PUSH4 0x2b55b792
0000004e: EQ
0000004f: PUSH2 0x02e9
00000052: JUMPI
00000053: DUP1
00000054: PUSH4 0x2bc2b71a
00000059: EQ
0000005a: PUSH2 0x0308
0000005d: JUMPI
0000005e: DUP1
0000005f: PUSH4 0x2d923501
00000064: EQ
00000065: PUSH2 0x032d
00000068: JUMPI
00000069: DUP1
0000006a: PUSH4 0x2e1a7d4d
0000006f: EQ
00000070: PUSH2 0x0358
00000073: JUMPI
00000074: DUP1
00000075: PUSH4 0x4d5a8e10
0000007a: EQ
0000007b: PUSH2 0x036e
0000007e: JUMPI
0000007f: DUP1
00000080: PUSH4 0x52c790ee
00000085: EQ
00000086: PUSH2 0x039d
00000089: JUMPI
0000008a: DUP1
0000008b: PUSH4 0x6cae9070
00000090: EQ
00000091: PUSH2 0x03bc
00000094: JUMPI
00000095: DUP1
00000096: PUSH4 0x71bdce55
0000009b: EQ
0000009c: PUSH2 0x03e4
0000009f: JUMPI
000000a0: DUP1
000000a1: PUSH4 0x7c422f1d
000000a6: EQ
000000a7: PUSH2 0x0442
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x853828b6
000000b1: EQ
000000b2: PUSH2 0x0475
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x9aae82c1
000000bc: EQ
000000bd: PUSH2 0x0488
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0xa9cc4718
000000c7: EQ
000000c8: PUSH2 0x04a7
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0xd0e30db0
000000d2: EQ
000000d3: PUSH2 0x04ba
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0xd3c4c4d0
000000dd: EQ
000000de: PUSH2 0x04c2
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0xdef86cbb
000000e8: EQ
000000e9: PUSH2 0x04ec
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xe4a0ce2f
000000f3: EQ
000000f4: PUSH2 0x0516
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xfffe58a2
000000fe: EQ
000000ff: PUSH2 0x05a4
00000102: JUMPI
00000103: JUMPDEST
00000104: PUSH2 0x010d
00000107: PUSH1 0x00
00000109: PUSH2 0x05c2
0000010c: JUMP
0000010d: JUMPDEST
0000010e: STOP
0000010f: JUMPDEST
00000110: PUSH2 0x010d
00000113: PUSH1 0x01
00000115: PUSH1 0xa0
00000117: PUSH1 0x02
00000119: EXP
0000011a: SUB
0000011b: PUSH1 0x04
0000011d: CALLDATALOAD
0000011e: DUP2
0000011f: AND
00000120: SWAP1
00000121: PUSH1 0x24
00000123: CALLDATALOAD
00000124: SWAP1
00000125: PUSH1 0x44
00000127: CALLDATALOAD
00000128: AND
00000129: PUSH2 0x0631
0000012c: JUMP
0000012d: JUMPDEST
0000012e: CALLVALUE
0000012f: ISZERO
00000130: PUSH2 0x0138
00000133: JUMPI
00000134: PUSH1 0x00
00000136: DUP1
00000137: REVERT
00000138: JUMPDEST
00000139: PUSH2 0x010d
0000013c: PUSH2 0x0649
0000013f: JUMP
00000140: JUMPDEST
00000141: PUSH2 0x010d
00000144: PUSH1 0x04
00000146: CALLDATALOAD
00000147: PUSH1 0x01
00000149: PUSH1 0xa0
0000014b: PUSH1 0x02
0000014d: EXP
0000014e: SUB
0000014f: PUSH1 0x24
00000151: CALLDATALOAD
00000152: AND
00000153: PUSH2 0x0655
00000156: JUMP
00000157: JUMPDEST
00000158: CALLVALUE
00000159: ISZERO
0000015a: PUSH2 0x0162
0000015d: JUMPI
0000015e: PUSH1 0x00
00000160: DUP1
00000161: REVERT
00000162: JUMPDEST
00000163: PUSH2 0x016a
00000166: PUSH2 0x066b
00000169: JUMP
0000016a: JUMPDEST
0000016b: PUSH1 0x40
0000016d: MLOAD
0000016e: DUP1
0000016f: DUP12
00000170: PUSH1 0x03
00000172: DUP2
00000173: GT
00000174: ISZERO
00000175: PUSH2 0x017a
00000178: JUMPI
00000179: INVALID
0000017a: JUMPDEST
0000017b: PUSH1 0xff
0000017d: AND
0000017e: DUP2
0000017f: MSTORE
00000180: PUSH1 0x20
00000182: ADD
00000183: DUP11
00000184: DUP2
00000185: MSTORE
00000186: PUSH1 0x20
00000188: ADD
00000189: DUP10
0000018a: DUP2
0000018b: MSTORE
0000018c: PUSH1 0x20
0000018e: ADD
0000018f: DUP9
00000190: DUP2
00000191: MSTORE
00000192: PUSH1 0x20
00000194: ADD
00000195: DUP8
00000196: PUSH1 0x01
00000198: PUSH1 0xa0
0000019a: PUSH1 0x02
0000019c: EXP
0000019d: SUB
0000019e: AND
0000019f: PUSH1 0x01
000001a1: PUSH1 0xa0
000001a3: PUSH1 0x02
000001a5: EXP
000001a6: SUB
000001a7: AND
000001a8: DUP2
000001a9: MSTORE
000001aa: PUSH1 0x20
000001ac: ADD
000001ad: DUP7
000001ae: PUSH1 0x01
000001b0: PUSH1 0xa0
000001b2: PUSH1 0x02
000001b4: EXP
000001b5: SUB
000001b6: AND
000001b7: PUSH1 0x01
000001b9: PUSH1 0xa0
000001bb: PUSH1 0x02
000001bd: EXP
000001be: SUB
000001bf: AND
000001c0: DUP2
000001c1: MSTORE
000001c2: PUSH1 0x20
000001c4: ADD
000001c5: DUP1
000001c6: PUSH1 0x20
000001c8: ADD
000001c9: DUP1
000001ca: PUSH1 0x20
000001cc: ADD
000001cd: DUP1
000001ce: PUSH1 0x20
000001d0: ADD
000001d1: DUP1
000001d2: PUSH1 0x20
000001d4: ADD
000001d5: DUP6
000001d6: DUP2
000001d7: SUB
000001d8: DUP6
000001d9: MSTORE
000001da: DUP10
000001db: DUP2
000001dc: DUP2
000001dd: MLOAD
000001de: DUP2
000001df: MSTORE
000001e0: PUSH1 0x20
000001e2: ADD
000001e3: SWAP2
000001e4: POP
000001e5: DUP1
000001e6: MLOAD
000001e7: SWAP1
000001e8: PUSH1 0x20
000001ea: ADD
000001eb: SWAP1
000001ec: PUSH1 0x20
000001ee: MUL
000001ef: DUP1
000001f0: DUP4
000001f1: DUP4
000001f2: PUSH1 0x00
000001f4: JUMPDEST
000001f5: DUP4
000001f6: DUP2
000001f7: LT
000001f8: ISZERO
000001f9: PUSH2 0x020c
000001fc: JUMPI
000001fd: DUP1
000001fe: DUP3
000001ff: ADD
00000200: MLOAD
00000201: DUP4
00000202: DUP3
00000203: ADD
00000204: MSTORE
00000205: PUSH1 0x20
00000207: ADD
00000208: PUSH2 0x01f4
0000020b: JUMP
0000020c: JUMPDEST
0000020d: POP
0000020e: POP
0000020f: POP
00000210: POP
00000211: SWAP1
00000212: POP
00000213: ADD
00000214: DUP6
00000215: DUP2
00000216: SUB
00000217: DUP5
00000218: MSTORE
00000219: DUP9
0000021a: DUP2
0000021b: DUP2
0000021c: MLOAD
0000021d: DUP2
0000021e: MSTORE
0000021f: PUSH1 0x20
00000221: ADD
00000222: SWAP2
00000223: POP
00000224: DUP1
00000225: MLOAD
00000226: SWAP1
00000227: PUSH1 0x20
00000229: ADD
0000022a: SWAP1
0000022b: PUSH1 0x20
0000022d: MUL
0000022e: DUP1
0000022f: DUP4
00000230: DUP4
00000231: PUSH1 0x00
00000233: JUMPDEST
00000234: DUP4
00000235: DUP2
00000236: LT
00000237: ISZERO
00000238: PUSH2 0x024b
0000023b: JUMPI
0000023c: DUP1
0000023d: DUP3
0000023e: ADD
0000023f: MLOAD
00000240: DUP4
00000241: DUP3
00000242: ADD
00000243: MSTORE
00000244: PUSH1 0x20
00000246: ADD
00000247: PUSH2 0x0233
0000024a: JUMP
0000024b: JUMPDEST
0000024c: POP
0000024d: POP
0000024e: POP
0000024f: POP
00000250: SWAP1
00000251: POP
00000252: ADD
00000253: DUP6
00000254: DUP2
00000255: SUB
00000256: DUP4
00000257: MSTORE
00000258: DUP8
00000259: DUP2
0000025a: DUP2
0000025b: MLOAD
0000025c: DUP2
0000025d: MSTORE
0000025e: PUSH1 0x20
00000260: ADD
00000261: SWAP2
00000262: POP
00000263: DUP1
00000264: MLOAD
00000265: SWAP1
00000266: PUSH1 0x20
00000268: ADD
00000269: SWAP1
0000026a: PUSH1 0x20
0000026c: MUL
0000026d: DUP1
0000026e: DUP4
0000026f: DUP4
00000270: PUSH1 0x00
00000272: JUMPDEST
00000273: DUP4
00000274: DUP2
00000275: LT
00000276: ISZERO
00000277: PUSH2 0x028a
0000027a: JUMPI
0000027b: DUP1
0000027c: DUP3
0000027d: ADD
0000027e: MLOAD
0000027f: DUP4
00000280: DUP3
00000281: ADD
00000282: MSTORE
00000283: PUSH1 0x20
00000285: ADD
00000286: PUSH2 0x0272
00000289: JUMP
0000028a: JUMPDEST
0000028b: POP
0000028c: POP
0000028d: POP
0000028e: POP
0000028f: SWAP1
00000290: POP
00000291: ADD
00000292: DUP6
00000293: DUP2
00000294: SUB
00000295: DUP3
00000296: MSTORE
00000297: DUP7
00000298: DUP2
00000299: DUP2
0000029a: MLOAD
0000029b: DUP2
0000029c: MSTORE
0000029d: PUSH1 0x20
0000029f: ADD
000002a0: SWAP2
000002a1: POP
000002a2: DUP1
000002a3: MLOAD
000002a4: SWAP1
000002a5: PUSH1 0x20
000002a7: ADD
000002a8: SWAP1
000002a9: PUSH1 0x20
000002ab: MUL
000002ac: DUP1
000002ad: DUP4
000002ae: DUP4
000002af: PUSH1 0x00
000002b1: JUMPDEST
000002b2: DUP4
000002b3: DUP2
000002b4: LT
000002b5: ISZERO
000002b6: PUSH2 0x02c9
000002b9: JUMPI
000002ba: DUP1
000002bb: DUP3
000002bc: ADD
000002bd: MLOAD
000002be: DUP4
000002bf: DUP3
000002c0: ADD
000002c1: MSTORE
000002c2: PUSH1 0x20
000002c4: ADD
000002c5: PUSH2 0x02b1
000002c8: JUMP
000002c9: JUMPDEST
000002ca: POP
000002cb: POP
000002cc: POP
000002cd: POP
000002ce: SWAP1
000002cf: POP
000002d0: ADD
000002d1: SWAP15
000002d2: POP
000002d3: POP
000002d4: POP
000002d5: POP
000002d6: POP
000002d7: POP
000002d8: POP
000002d9: POP
000002da: POP
000002db: POP
000002dc: POP
000002dd: POP
000002de: POP
000002df: POP
000002e0: POP
000002e1: PUSH1 0x40
000002e3: MLOAD
000002e4: DUP1
000002e5: SWAP2
000002e6: SUB
000002e7: SWAP1
000002e8: RETURN
000002e9: JUMPDEST
000002ea: CALLVALUE
000002eb: ISZERO
000002ec: PUSH2 0x02f4
000002ef: JUMPI
000002f0: PUSH1 0x00
000002f2: DUP1
000002f3: REVERT
000002f4: JUMPDEST
000002f5: PUSH2 0x010d
000002f8: PUSH1 0x01
000002fa: PUSH1 0xa0
000002fc: PUSH1 0x02
000002fe: EXP
000002ff: SUB
00000300: PUSH1 0x04
00000302: CALLDATALOAD
00000303: AND
00000304: PUSH2 0x087f
00000307: JUMP
00000308: JUMPDEST
00000309: CALLVALUE
0000030a: ISZERO
0000030b: PUSH2 0x0313
0000030e: JUMPI
0000030f: PUSH1 0x00
00000311: DUP1
00000312: REVERT
00000313: JUMPDEST
00000314: PUSH2 0x031b
00000317: PUSH2 0x08ba
0000031a: JUMP
0000031b: JUMPDEST
0000031c: PUSH1 0x40
0000031e: MLOAD
0000031f: SWAP1
00000320: DUP2
00000321: MSTORE
00000322: PUSH1 0x20
00000324: ADD
00000325: PUSH1 0x40
00000327: MLOAD
00000328: DUP1
00000329: SWAP2
0000032a: SUB
0000032b: SWAP1
0000032c: RETURN
0000032d: JUMPDEST
0000032e: CALLVALUE
0000032f: ISZERO
00000330: PUSH2 0x0338
00000333: JUMPI
00000334: PUSH1 0x00
00000336: DUP1
00000337: REVERT
00000338: JUMPDEST
00000339: PUSH2 0x010d
0000033c: PUSH1 0x04
0000033e: DUP1
0000033f: CALLDATALOAD
00000340: PUSH1 0x01
00000342: PUSH1 0xa0
00000344: PUSH1 0x02
00000346: EXP
00000347: SUB
00000348: AND
00000349: SWAP1
0000034a: PUSH1 0x24
0000034c: DUP1
0000034d: CALLDATALOAD
0000034e: SWAP1
0000034f: DUP2
00000350: ADD
00000351: SWAP2
00000352: ADD
00000353: CALLDATALOAD
00000354: PUSH2 0x08dc
00000357: JUMP
00000358: JUMPDEST
00000359: CALLVALUE
0000035a: ISZERO
0000035b: PUSH2 0x0363
0000035e: JUMPI
0000035f: PUSH1 0x00
00000361: DUP1
00000362: REVERT
00000363: JUMPDEST
00000364: PUSH2 0x010d
00000367: PUSH1 0x04
00000369: CALLDATALOAD
0000036a: PUSH2 0x0949
0000036d: JUMP
0000036e: JUMPDEST
0000036f: CALLVALUE
00000370: ISZERO
00000371: PUSH2 0x0379
00000374: JUMPI
00000375: PUSH1 0x00
00000377: DUP1
00000378: REVERT
00000379: JUMPDEST
0000037a: PUSH2 0x010d
0000037d: PUSH1 0x04
0000037f: DUP1
00000380: CALLDATALOAD
00000381: PUSH1 0x01
00000383: PUSH1 0xa0
00000385: PUSH1 0x02
00000387: EXP
00000388: SUB
00000389: AND
0000038a: SWAP1
0000038b: PUSH1 0x24
0000038d: DUP1
0000038e: CALLDATALOAD
0000038f: SWAP2
00000390: PUSH1 0x44
00000392: CALLDATALOAD
00000393: SWAP2
00000394: DUP3
00000395: ADD
00000396: SWAP2
00000397: ADD
00000398: CALLDATALOAD
00000399: PUSH2 0x095d
0000039c: JUMP
0000039d: JUMPDEST
0000039e: CALLVALUE
0000039f: ISZERO
000003a0: PUSH2 0x03a8
000003a3: JUMPI
000003a4: PUSH1 0x00
000003a6: DUP1
000003a7: REVERT
000003a8: JUMPDEST
000003a9: PUSH2 0x010d
000003ac: PUSH1 0x01
000003ae: PUSH1 0xa0
000003b0: PUSH1 0x02
000003b2: EXP
000003b3: SUB
000003b4: PUSH1 0x04
000003b6: CALLDATALOAD
000003b7: AND
000003b8: PUSH2 0x09a9
000003bb: JUMP
000003bc: JUMPDEST
000003bd: CALLVALUE
000003be: ISZERO
000003bf: PUSH2 0x03c7
000003c2: JUMPI
000003c3: PUSH1 0x00
000003c5: DUP1
000003c6: REVERT
000003c7: JUMPDEST
000003c8: PUSH2 0x010d
000003cb: PUSH1 0x01
000003cd: PUSH1 0xa0
000003cf: PUSH1 0x02
000003d1: EXP
000003d2: SUB
000003d3: PUSH1 0x04
000003d5: CALLDATALOAD
000003d6: DUP2
000003d7: AND
000003d8: SWAP1
000003d9: PUSH1 0x24
000003db: CALLDATALOAD
000003dc: AND
000003dd: PUSH1 0x44
000003df: CALLDATALOAD
000003e0: PUSH2 0x09ba
000003e3: JUMP
000003e4: JUMPDEST
000003e5: CALLVALUE
000003e6: ISZERO
000003e7: PUSH2 0x03ef
000003ea: JUMPI
000003eb: PUSH1 0x00
000003ed: DUP1
000003ee: REVERT
000003ef: JUMPDEST
000003f0: PUSH2 0x0403
000003f3: PUSH1 0x01
000003f5: PUSH1 0xa0
000003f7: PUSH1 0x02
000003f9: EXP
000003fa: SUB
000003fb: PUSH1 0x04
000003fd: CALLDATALOAD
000003fe: AND
000003ff: PUSH2 0x09cd
00000402: JUMP
00000403: JUMPDEST
00000404: PUSH1 0x40
00000406: MLOAD
00000407: SWAP6
00000408: DUP7
00000409: MSTORE
0000040a: PUSH1 0x20
0000040c: DUP7
0000040d: ADD
0000040e: SWAP5
0000040f: SWAP1
00000410: SWAP5
00000411: MSTORE
00000412: SWAP2
00000413: ISZERO
00000414: ISZERO
00000415: PUSH1 0x40
00000417: DUP1
00000418: DUP7
00000419: ADD
0000041a: SWAP2
0000041b: SWAP1
0000041c: SWAP2
0000041d: MSTORE
0000041e: SWAP1
0000041f: ISZERO
00000420: ISZERO
00000421: PUSH1 0x60
00000423: DUP6
00000424: ADD
00000425: MSTORE
00000426: SWAP1
00000427: ISZERO
00000428: ISZERO
00000429: PUSH1 0x80
0000042b: DUP5
0000042c: ADD
0000042d: MSTORE
0000042e: PUSH1 0xa0
00000430: DUP4
00000431: ADD
00000432: SWAP2
00000433: SWAP1
00000434: SWAP2
00000435: MSTORE
00000436: PUSH1 0xc0
00000438: SWAP1
00000439: SWAP2
0000043a: ADD
0000043b: SWAP1
0000043c: MLOAD
0000043d: DUP1
0000043e: SWAP2
0000043f: SUB
00000440: SWAP1
00000441: RETURN
00000442: JUMPDEST
00000443: CALLVALUE
00000444: ISZERO
00000445: PUSH2 0x044d
00000448: JUMPI
00000449: PUSH1 0x00
0000044b: DUP1
0000044c: REVERT
0000044d: JUMPDEST
0000044e: PUSH2 0x010d
00000451: PUSH1 0x04
00000453: DUP1
00000454: CALLDATALOAD
00000455: PUSH1 0x01
00000457: PUSH1 0xa0
00000459: PUSH1 0x02
0000045b: EXP
0000045c: SUB
0000045d: AND
0000045e: SWAP1
0000045f: PUSH1 0x24
00000461: DUP1
00000462: CALLDATALOAD
00000463: SWAP2
00000464: PUSH1 0x44
00000466: CALLDATALOAD
00000467: SWAP2
00000468: PUSH1 0x64
0000046a: CALLDATALOAD
0000046b: SWAP1
0000046c: DUP2
0000046d: ADD
0000046e: SWAP2
0000046f: ADD
00000470: CALLDATALOAD
00000471: PUSH2 0x0a2f
00000474: JUMP
00000475: JUMPDEST
00000476: CALLVALUE
00000477: ISZERO
00000478: PUSH2 0x0480
0000047b: JUMPI
0000047c: PUSH1 0x00
0000047e: DUP1
0000047f: REVERT
00000480: JUMPDEST
00000481: PUSH2 0x010d
00000484: PUSH2 0x0a7e
00000487: JUMP
00000488: JUMPDEST
00000489: CALLVALUE
0000048a: ISZERO
0000048b: PUSH2 0x0493
0000048e: JUMPI
0000048f: PUSH1 0x00
00000491: DUP1
00000492: REVERT
00000493: JUMPDEST
00000494: PUSH2 0x010d
00000497: PUSH1 0x01
00000499: PUSH1 0xa0
0000049b: PUSH1 0x02
0000049d: EXP
0000049e: SUB
0000049f: PUSH1 0x04
000004a1: CALLDATALOAD
000004a2: AND
000004a3: PUSH2 0x0a88
000004a6: JUMP
000004a7: JUMPDEST
000004a8: CALLVALUE
000004a9: ISZERO
000004aa: PUSH2 0x04b2
000004ad: JUMPI
000004ae: PUSH1 0x00
000004b0: DUP1
000004b1: REVERT
000004b2: JUMPDEST
000004b3: PUSH2 0x010d
000004b6: PUSH2 0x0a99
000004b9: JUMP
000004ba: JUMPDEST
000004bb: PUSH2 0x010d
000004be: PUSH2 0x0aa3
000004c1: JUMP
000004c2: JUMPDEST
000004c3: CALLVALUE
000004c4: ISZERO
000004c5: PUSH2 0x04cd
000004c8: JUMPI
000004c9: PUSH1 0x00
000004cb: DUP1
000004cc: REVERT
000004cd: JUMPDEST
000004ce: PUSH2 0x010d
000004d1: PUSH1 0x04
000004d3: DUP1
000004d4: CALLDATALOAD
000004d5: SWAP1
000004d6: PUSH1 0x24
000004d8: DUP1
000004d9: CALLDATALOAD
000004da: SWAP2
000004db: PUSH1 0x44
000004dd: CALLDATALOAD
000004de: SWAP2
000004df: PUSH1 0x64
000004e1: CALLDATALOAD
000004e2: SWAP1
000004e3: DUP2
000004e4: ADD
000004e5: SWAP2
000004e6: ADD
000004e7: CALLDATALOAD
000004e8: PUSH2 0x0aad
000004eb: JUMP
000004ec: JUMPDEST
000004ed: CALLVALUE
000004ee: ISZERO
000004ef: PUSH2 0x04f7
000004f2: JUMPI
000004f3: PUSH1 0x00
000004f5: DUP1
000004f6: REVERT
000004f7: JUMPDEST
000004f8: PUSH2 0x010d
000004fb: PUSH1 0x24
000004fd: PUSH1 0x04
000004ff: DUP1
00000500: CALLDATALOAD
00000501: DUP3
00000502: DUP2
00000503: ADD
00000504: SWAP3
00000505: SWAP1
00000506: DUP3
00000507: ADD
00000508: CALLDATALOAD
00000509: SWAP2
0000050a: DUP2
0000050b: CALLDATALOAD
0000050c: SWAP2
0000050d: DUP3
0000050e: ADD
0000050f: SWAP2
00000510: ADD
00000511: CALLDATALOAD
00000512: PUSH2 0x0af3
00000515: JUMP
00000516: JUMPDEST
00000517: CALLVALUE
00000518: ISZERO
00000519: PUSH2 0x0521
0000051c: JUMPI
0000051d: PUSH1 0x00
0000051f: DUP1
00000520: REVERT
00000521: JUMPDEST
00000522: PUSH2 0x0529
00000525: PUSH2 0x0b64
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH1 0x40
0000052c: MLOAD
0000052d: DUP1
0000052e: DUP8
0000052f: DUP2
00000530: MSTORE
00000531: PUSH1 0x20
00000533: ADD
00000534: DUP7
00000535: DUP2
00000536: MSTORE
00000537: PUSH1 0x20
00000539: ADD
0000053a: DUP6
0000053b: DUP2
0000053c: MSTORE
0000053d: PUSH1 0x20
0000053f: ADD
00000540: DUP5
00000541: DUP2
00000542: MSTORE
00000543: PUSH1 0x20
00000545: ADD
00000546: DUP1
00000547: PUSH1 0x20
00000549: ADD
0000054a: DUP4
0000054b: ISZERO
0000054c: ISZERO
0000054d: ISZERO
0000054e: ISZERO
0000054f: DUP2
00000550: MSTORE
00000551: PUSH1 0x20
00000553: ADD
00000554: DUP3
00000555: DUP2
00000556: SUB
00000557: DUP3
00000558: MSTORE
00000559: DUP5
0000055a: DUP2
0000055b: DUP2
0000055c: MLOAD
0000055d: DUP2
0000055e: MSTORE
0000055f: PUSH1 0x20
00000561: ADD
00000562: SWAP2
00000563: POP
00000564: DUP1
00000565: MLOAD
00000566: SWAP1
00000567: PUSH1 0x20
00000569: ADD
0000056a: SWAP1
0000056b: PUSH1 0x20
0000056d: MUL
0000056e: DUP1
0000056f: DUP4
00000570: DUP4
00000571: PUSH1 0x00
00000573: JUMPDEST
00000574: DUP4
00000575: DUP2
00000576: LT
00000577: ISZERO
00000578: PUSH2 0x058b
0000057b: JUMPI
0000057c: DUP1
0000057d: DUP3
0000057e: ADD
0000057f: MLOAD
00000580: DUP4
00000581: DUP3
00000582: ADD
00000583: MSTORE
00000584: PUSH1 0x20
00000586: ADD
00000587: PUSH2 0x0573
0000058a: JUMP
0000058b: JUMPDEST
0000058c: POP
0000058d: POP
0000058e: POP
0000058f: POP
00000590: SWAP1
00000591: POP
00000592: ADD
00000593: SWAP8
00000594: POP
00000595: POP
00000596: POP
00000597: POP
00000598: POP
00000599: POP
0000059a: POP
0000059b: POP
0000059c: PUSH1 0x40
0000059e: MLOAD
0000059f: DUP1
000005a0: SWAP2
000005a1: SUB
000005a2: SWAP1
000005a3: RETURN
000005a4: JUMPDEST
000005a5: CALLVALUE
000005a6: ISZERO
000005a7: PUSH2 0x05af
000005aa: JUMPI
000005ab: PUSH1 0x00
000005ad: DUP1
000005ae: REVERT
000005af: JUMPDEST
000005b0: PUSH2 0x010d
000005b3: PUSH1 0x04
000005b5: DUP1
000005b6: CALLDATALOAD
000005b7: PUSH1 0x24
000005b9: DUP2
000005ba: ADD
000005bb: SWAP2
000005bc: ADD
000005bd: CALLDATALOAD
000005be: PUSH2 0x0c00
000005c1: JUMP
000005c2: JUMPDEST
000005c3: PUSH2 0x05cd
000005c6: DUP2
000005c7: PUSH1 0x03
000005c9: PUSH2 0x0c40
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH1 0x0b
000005d0: DUP2
000005d1: ADD
000005d2: SLOAD
000005d3: CALLER
000005d4: PUSH1 0x01
000005d6: PUSH1 0xa0
000005d8: PUSH1 0x02
000005da: EXP
000005db: SUB
000005dc: SWAP1
000005dd: DUP2
000005de: AND
000005df: SWAP2
000005e0: AND
000005e1: EQ
000005e2: PUSH2 0x05ea
000005e5: JUMPI
000005e6: PUSH1 0x00
000005e8: DUP1
000005e9: REVERT
000005ea: JUMPDEST
000005eb: PUSH32 0xe3f8f3d12883a82a6719d9abdecb63746f22f15debeef9703c9acf75103baaaf
0000060c: CALLER
0000060d: CALLVALUE
0000060e: PUSH1 0x40
00000610: MLOAD
00000611: PUSH1 0x01
00000613: PUSH1 0xa0
00000615: PUSH1 0x02
00000617: EXP
00000618: SUB
00000619: SWAP1
0000061a: SWAP3
0000061b: AND
0000061c: DUP3
0000061d: MSTORE
0000061e: PUSH1 0x20
00000620: DUP3
00000621: ADD
00000622: MSTORE
00000623: PUSH1 0x40
00000625: SWAP1
00000626: DUP2
00000627: ADD
00000628: SWAP1
00000629: MLOAD
0000062a: DUP1
0000062b: SWAP2
0000062c: SUB
0000062d: SWAP1
0000062e: LOG1
0000062f: POP
00000630: JUMP
00000631: JUMPDEST
00000632: PUSH2 0x0644
00000635: PUSH1 0x00
00000637: DUP5
00000638: DUP5
00000639: DUP5
0000063a: PUSH4 0xffffffff
0000063f: PUSH2 0x0c66
00000642: AND
00000643: JUMP
00000644: JUMPDEST
00000645: POP
00000646: POP
00000647: POP
00000648: JUMP
00000649: JUMPDEST
0000064a: PUSH2 0x0653
0000064d: PUSH1 0x00
0000064f: PUSH2 0x0daa
00000652: JUMP
00000653: JUMPDEST
00000654: JUMP
00000655: JUMPDEST
00000656: PUSH2 0x0667
00000659: PUSH1 0x00
0000065b: DUP4
0000065c: DUP4
0000065d: PUSH4 0xffffffff
00000662: PUSH2 0x0eb8
00000665: AND
00000666: JUMP
00000667: JUMPDEST
00000668: POP
00000669: POP
0000066a: JUMP
0000066b: JUMPDEST
0000066c: PUSH1 0x00
0000066e: DUP1
0000066f: PUSH1 0x00
00000671: DUP1
00000672: PUSH1 0x00
00000674: DUP1
00000675: PUSH2 0x067c
00000678: PUSH2 0x32ce
0000067b: JUMP
0000067c: JUMPDEST
0000067d: PUSH2 0x0684
00000680: PUSH2 0x32ce
00000683: JUMP
00000684: JUMPDEST
00000685: PUSH2 0x068c
00000688: PUSH2 0x32ce
0000068b: JUMP
0000068c: JUMPDEST
0000068d: PUSH2 0x0694
00000690: PUSH2 0x32ce
00000693: JUMP
00000694: JUMPDEST
00000695: PUSH2 0x069c
00000698: PUSH2 0x32ce
0000069b: JUMP
0000069c: JUMPDEST
0000069d: PUSH2 0x06a4
000006a0: PUSH2 0x32ce
000006a3: JUMP
000006a4: JUMPDEST
000006a5: PUSH2 0x06ac
000006a8: PUSH2 0x32ce
000006ab: JUMP
000006ac: JUMPDEST
000006ad: PUSH1 0x05
000006af: SLOAD
000006b0: PUSH1 0x00
000006b2: SWAP1
000006b3: DUP2
000006b4: SWAP1
000006b5: PUSH1 0x40
000006b7: MLOAD
000006b8: DUP1
000006b9: MSIZE
000006ba: LT
000006bb: PUSH2 0x06c1
000006be: JUMPI
000006bf: POP
000006c0: MSIZE
000006c1: JUMPDEST
000006c2: SWAP1
000006c3: DUP1
000006c4: DUP3
000006c5: MSTORE
000006c6: DUP1
000006c7: PUSH1 0x20
000006c9: MUL
000006ca: PUSH1 0x20
000006cc: ADD
000006cd: DUP3
000006ce: ADD
000006cf: PUSH1 0x40
000006d1: MSTORE
000006d2: POP
000006d3: PUSH1 0x05
000006d5: SLOAD
000006d6: SWAP1
000006d7: SWAP6
000006d8: POP
000006d9: PUSH1 0x40
000006db: MLOAD
000006dc: DUP1
000006dd: MSIZE
000006de: LT
000006df: PUSH2 0x06e5
000006e2: JUMPI
000006e3: POP
000006e4: MSIZE
000006e5: JUMPDEST
000006e6: SWAP1
000006e7: DUP1
000006e8: DUP3
000006e9: MSTORE
000006ea: DUP1
000006eb: PUSH1 0x20
000006ed: MUL
000006ee: PUSH1 0x20
000006f0: ADD
000006f1: DUP3
000006f2: ADD
000006f3: PUSH1 0x40
000006f5: MSTORE
000006f6: POP
000006f7: PUSH1 0x05
000006f9: SLOAD
000006fa: SWAP1
000006fb: SWAP5
000006fc: POP
000006fd: PUSH1 0x40
000006ff: MLOAD
00000700: DUP1
00000701: MSIZE
00000702: LT
00000703: PUSH2 0x0709
00000706: JUMPI
00000707: POP
00000708: MSIZE
00000709: JUMPDEST
0000070a: SWAP1
0000070b: DUP1
0000070c: DUP3
0000070d: MSTORE
0000070e: DUP1
0000070f: PUSH1 0x20
00000711: MUL
00000712: PUSH1 0x20
00000714: ADD
00000715: DUP3
00000716: ADD
00000717: PUSH1 0x40
00000719: MSTORE
0000071a: POP
0000071b: SWAP3
0000071c: POP
0000071d: PUSH1 0x00
0000071f: SWAP2
00000720: POP
00000721: JUMPDEST
00000722: PUSH1 0x05
00000724: SLOAD
00000725: DUP3
00000726: LT
00000727: ISZERO
00000728: PUSH2 0x07cd
0000072b: JUMPI
0000072c: PUSH1 0x05
0000072e: DUP1
0000072f: SLOAD
00000730: PUSH1 0x07
00000732: SWAP2
00000733: PUSH1 0x00
00000735: SWAP2
00000736: DUP6
00000737: SWAP1
00000738: DUP2
00000739: LT
0000073a: PUSH2 0x073f
0000073d: JUMPI
0000073e: INVALID
0000073f: JUMPDEST
00000740: PUSH1 0x00
00000742: SWAP2
00000743: DUP3
00000744: MSTORE
00000745: PUSH1 0x20
00000747: DUP1
00000748: DUP4
00000749: KECCAK256
0000074a: SWAP1
0000074b: SWAP2
0000074c: ADD
0000074d: SLOAD
0000074e: PUSH1 0x01
00000750: PUSH1 0xa0
00000752: PUSH1 0x02
00000754: EXP
00000755: SUB
00000756: AND
00000757: DUP4
00000758: MSTORE
00000759: DUP3
0000075a: ADD
0000075b: SWAP3
0000075c: SWAP1
0000075d: SWAP3
0000075e: MSTORE
0000075f: PUSH1 0x40
00000761: ADD
00000762: SWAP1
00000763: KECCAK256
00000764: DUP1
00000765: SLOAD
00000766: SWAP1
00000767: SWAP2
00000768: POP
00000769: DUP6
0000076a: DUP4
0000076b: DUP2
0000076c: MLOAD
0000076d: DUP2
0000076e: LT
0000076f: PUSH2 0x0774
00000772: JUMPI
00000773: INVALID
00000774: JUMPDEST
00000775: PUSH1 0x20
00000777: SWAP1
00000778: DUP2
00000779: MUL
0000077a: SWAP1
0000077b: SWAP2
0000077c: ADD
0000077d: ADD
0000077e: MSTORE
0000077f: PUSH1 0x01
00000781: DUP2
00000782: ADD
00000783: SLOAD
00000784: DUP5
00000785: DUP4
00000786: DUP2
00000787: MLOAD
00000788: DUP2
00000789: LT
0000078a: PUSH2 0x078f
0000078d: JUMPI
0000078e: INVALID
0000078f: JUMPDEST
00000790: PUSH1 0x20
00000792: SWAP1
00000793: DUP2
00000794: MUL
00000795: SWAP1
00000796: SWAP2
00000797: ADD
00000798: ADD
00000799: MSTORE
0000079a: PUSH1 0x02
0000079c: DUP2
0000079d: ADD
0000079e: SLOAD
0000079f: PUSH1 0xff
000007a1: PUSH2 0x0100
000007a4: SWAP1
000007a5: SWAP2
000007a6: DIV
000007a7: AND
000007a8: DUP4
000007a9: DUP4
000007aa: DUP2
000007ab: MLOAD
000007ac: DUP2
000007ad: LT
000007ae: PUSH2 0x07b3
000007b1: JUMPI
000007b2: INVALID
000007b3: JUMPDEST
000007b4: SWAP2
000007b5: ISZERO
000007b6: ISZERO
000007b7: PUSH1 0x20
000007b9: SWAP3
000007ba: DUP4
000007bb: MUL
000007bc: SWAP1
000007bd: SWAP2
000007be: ADD
000007bf: SWAP1
000007c0: SWAP2
000007c1: ADD
000007c2: MSTORE
000007c3: PUSH1 0x01
000007c5: SWAP1
000007c6: SWAP2
000007c7: ADD
000007c8: SWAP1
000007c9: PUSH2 0x0721
000007cc: JUMP
000007cd: JUMPDEST
000007ce: PUSH1 0x00
000007d0: SLOAD
000007d1: PUSH1 0x08
000007d3: SLOAD
000007d4: PUSH1 0x0a
000007d6: SLOAD
000007d7: PUSH1 0x0f
000007d9: SLOAD
000007da: PUSH1 0x0b
000007dc: SLOAD
000007dd: PUSH1 0x05
000007df: DUP1
000007e0: SLOAD
000007e1: PUSH1 0xff
000007e3: SWAP1
000007e4: SWAP7
000007e5: AND
000007e6: SWAP6
000007e7: PUSH1 0x01
000007e9: PUSH1 0xa0
000007eb: PUSH1 0x02
000007ed: EXP
000007ee: SUB
000007ef: ADDRESS
000007f0: DUP2
000007f1: AND
000007f2: BALANCE
000007f3: SWAP6
000007f4: SWAP5
000007f5: DUP2
000007f6: AND
000007f7: SWAP4
000007f8: AND
000007f9: SWAP2
000007fa: SWAP1
000007fb: DUP13
000007fc: SWAP1
000007fd: DUP13
000007fe: SWAP1
000007ff: DUP13
00000800: SWAP1
00000801: DUP5
00000802: SWAP1
00000803: PUSH1 0x20
00000805: DUP1
00000806: DUP3
00000807: MUL
00000808: ADD
00000809: PUSH1 0x40
0000080b: MLOAD
0000080c: SWAP1
0000080d: DUP2
0000080e: ADD
0000080f: PUSH1 0x40
00000811: MSTORE
00000812: DUP1
00000813: SWAP3
00000814: SWAP2
00000815: SWAP1
00000816: DUP2
00000817: DUP2
00000818: MSTORE
00000819: PUSH1 0x20
0000081b: ADD
0000081c: DUP3
0000081d: DUP1
0000081e: SLOAD
0000081f: DUP1
00000820: ISZERO
00000821: PUSH2 0x0853
00000824: JUMPI
00000825: PUSH1 0x20
00000827: MUL
00000828: DUP3
00000829: ADD
0000082a: SWAP2
0000082b: SWAP1
0000082c: PUSH1 0x00
0000082e: MSTORE
0000082f: PUSH1 0x20
00000831: PUSH1 0x00
00000833: KECCAK256
00000834: SWAP1
00000835: JUMPDEST
00000836: DUP2
00000837: SLOAD
00000838: PUSH1 0x01
0000083a: PUSH1 0xa0
0000083c: PUSH1 0x02
0000083e: EXP
0000083f: SUB
00000840: AND
00000841: DUP2
00000842: MSTORE
00000843: PUSH1 0x01
00000845: SWAP1
00000846: SWAP2
00000847: ADD
00000848: SWAP1
00000849: PUSH1 0x20
0000084b: ADD
0000084c: DUP1
0000084d: DUP4
0000084e: GT
0000084f: PUSH2 0x0835
00000852: JUMPI
00000853: JUMPDEST
00000854: POP
00000855: POP
00000856: POP
00000857: POP
00000858: POP
00000859: SWAP4
0000085a: POP
0000085b: SWAP15
0000085c: POP
0000085d: SWAP15
0000085e: POP
0000085f: SWAP15
00000860: POP
00000861: SWAP15
00000862: POP
00000863: SWAP15
00000864: POP
00000865: SWAP15
00000866: POP
00000867: SWAP15
00000868: POP
00000869: SWAP15
0000086a: POP
0000086b: SWAP15
0000086c: POP
0000086d: SWAP15
0000086e: POP
0000086f: POP
00000870: POP
00000871: POP
00000872: POP
00000873: POP
00000874: SWAP1
00000875: SWAP2
00000876: SWAP3
00000877: SWAP4
00000878: SWAP5
00000879: SWAP6
0000087a: SWAP7
0000087b: SWAP8
0000087c: SWAP9
0000087d: SWAP10
0000087e: JUMP
0000087f: JUMPDEST
00000880: PUSH1 0x13
00000882: SLOAD
00000883: PUSH1 0xff
00000885: AND
00000886: ISZERO
00000887: PUSH2 0x088f
0000088a: JUMPI
0000088b: PUSH1 0x00
0000088d: DUP1
0000088e: REVERT
0000088f: JUMPDEST
00000890: PUSH1 0x13
00000892: DUP1
00000893: SLOAD
00000894: PUSH1 0xff
00000896: NOT
00000897: AND
00000898: PUSH1 0x01
0000089a: OR
0000089b: SWAP1
0000089c: SSTORE
0000089d: PUSH2 0x08ad
000008a0: PUSH1 0x00
000008a2: DUP3
000008a3: PUSH4 0xffffffff
000008a8: PUSH2 0x0f83
000008ab: AND
000008ac: JUMP
000008ad: JUMPDEST
000008ae: POP
000008af: PUSH1 0x13
000008b1: DUP1
000008b2: SLOAD
000008b3: PUSH1 0xff
000008b5: NOT
000008b6: AND
000008b7: SWAP1
000008b8: SSTORE
000008b9: JUMP
000008ba: JUMPDEST
000008bb: PUSH1 0x0f
000008bd: SLOAD
000008be: PUSH1 0x01
000008c0: PUSH1 0xa0
000008c2: PUSH1 0x02
000008c4: EXP
000008c5: SUB
000008c6: AND
000008c7: PUSH1 0x00
000008c9: SWAP1
000008ca: DUP2
000008cb: MSTORE
000008cc: PUSH1 0x0e
000008ce: PUSH1 0x20
000008d0: MSTORE
000008d1: PUSH1 0x40
000008d3: SWAP1
000008d4: KECCAK256
000008d5: PUSH1 0x01
000008d7: ADD
000008d8: SLOAD
000008d9: JUMPDEST
000008da: SWAP1
000008db: JUMP
000008dc: JUMPDEST
000008dd: PUSH1 0x13
000008df: SLOAD
000008e0: PUSH1 0xff
000008e2: AND
000008e3: ISZERO
000008e4: PUSH2 0x08ec
000008e7: JUMPI
000008e8: PUSH1 0x00
000008ea: DUP1
000008eb: REVERT
000008ec: JUMPDEST
000008ed: PUSH1 0x13
000008ef: DUP1
000008f0: SLOAD
000008f1: PUSH1 0xff
000008f3: NOT
000008f4: AND
000008f5: PUSH1 0x01
000008f7: OR
000008f8: SWAP1
000008f9: SSTORE
000008fa: PUSH2 0x093a
000008fd: DUP4
000008fe: DUP4
000008ff: DUP4
00000900: DUP1
00000901: PUSH1 0x20
00000903: DUP1
00000904: DUP3
00000905: MUL
00000906: ADD
00000907: PUSH1 0x40
00000909: MLOAD
0000090a: SWAP1
0000090b: DUP2
0000090c: ADD
0000090d: PUSH1 0x40
0000090f: MSTORE
00000910: DUP1
00000911: SWAP4
00000912: SWAP3
00000913: SWAP2
00000914: SWAP1
00000915: DUP2
00000916: DUP2
00000917: MSTORE
00000918: PUSH1 0x20
0000091a: ADD
0000091b: DUP4
0000091c: DUP4
0000091d: PUSH1 0x20
0000091f: MUL
00000920: DUP1
00000921: DUP3
00000922: DUP5
00000923: CALLDATACOPY
00000924: POP
00000925: PUSH1 0x00
00000927: SWAP7
00000928: SWAP6
00000929: SWAP5
0000092a: POP
0000092b: POP
0000092c: PUSH4 0xffffffff
00000931: PUSH2 0x1160
00000934: AND
00000935: SWAP3
00000936: POP
00000937: POP
00000938: POP
00000939: JUMP
0000093a: JUMPDEST
0000093b: POP
0000093c: POP
0000093d: PUSH1 0x13
0000093f: DUP1
00000940: SLOAD
00000941: PUSH1 0xff
00000943: NOT
00000944: AND
00000945: SWAP1
00000946: SSTORE
00000947: POP
00000948: JUMP
00000949: JUMPDEST
0000094a: PUSH2 0x095a
0000094d: PUSH1 0x00
0000094f: DUP3
00000950: PUSH4 0xffffffff
00000955: PUSH2 0x132f
00000958: AND
00000959: JUMP
0000095a: JUMPDEST
0000095b: POP
0000095c: JUMP
0000095d: JUMPDEST
0000095e: PUSH2 0x09a3
00000961: DUP5
00000962: DUP5
00000963: DUP5
00000964: DUP5
00000965: DUP1
00000966: DUP1
00000967: PUSH1 0x1f
00000969: ADD
0000096a: PUSH1 0x20
0000096c: DUP1
0000096d: SWAP2
0000096e: DIV
0000096f: MUL
00000970: PUSH1 0x20
00000972: ADD
00000973: PUSH1 0x40
00000975: MLOAD
00000976: SWAP1
00000977: DUP2
00000978: ADD
00000979: PUSH1 0x40
0000097b: MSTORE
0000097c: DUP2
0000097d: DUP2
0000097e: MSTORE
0000097f: SWAP3
00000980: SWAP2
00000981: SWAP1
00000982: PUSH1 0x20
00000984: DUP5
00000985: ADD
00000986: DUP4
00000987: DUP4
00000988: DUP1
00000989: DUP3
0000098a: DUP5
0000098b: CALLDATACOPY
0000098c: POP
0000098d: PUSH1 0x00
0000098f: SWAP8
00000990: SWAP7
00000991: SWAP6
00000992: SWAP5
00000993: POP
00000994: POP
00000995: PUSH4 0xffffffff
0000099a: PUSH2 0x146c
0000099d: AND
0000099e: SWAP3
0000099f: POP
000009a0: POP
000009a1: POP
000009a2: JUMP
000009a3: JUMPDEST
000009a4: POP
000009a5: POP
000009a6: POP
000009a7: POP
000009a8: JUMP
000009a9: JUMPDEST
000009aa: PUSH2 0x095a
000009ad: PUSH1 0x00
000009af: DUP3
000009b0: PUSH4 0xffffffff
000009b5: PUSH2 0x15d9
000009b8: AND
000009b9: JUMP
000009ba: JUMPDEST
000009bb: PUSH2 0x0644
000009be: PUSH1 0x00
000009c0: DUP5
000009c1: DUP5
000009c2: DUP5
000009c3: PUSH4 0xffffffff
000009c8: PUSH2 0x1745
000009cb: AND
000009cc: JUMP
000009cd: JUMPDEST
000009ce: PUSH1 0x01
000009d0: PUSH1 0xa0
000009d2: PUSH1 0x02
000009d4: EXP
000009d5: SUB
000009d6: SWAP1
000009d7: DUP2
000009d8: AND
000009d9: PUSH1 0x00
000009db: DUP2
000009dc: DUP2
000009dd: MSTORE
000009de: PUSH1 0x07
000009e0: PUSH1 0x20
000009e2: SWAP1
000009e3: DUP2
000009e4: MSTORE
000009e5: PUSH1 0x40
000009e7: DUP1
000009e8: DUP4
000009e9: KECCAK256
000009ea: DUP1
000009eb: SLOAD
000009ec: PUSH1 0x01
000009ee: DUP3
000009ef: ADD
000009f0: SLOAD
000009f1: PUSH1 0x02
000009f3: SWAP1
000009f4: SWAP3
000009f5: ADD
000009f6: SLOAD
000009f7: PUSH1 0x0f
000009f9: SLOAD
000009fa: SWAP1
000009fb: SWAP8
000009fc: AND
000009fd: DUP6
000009fe: MSTORE
000009ff: PUSH1 0x0e
00000a01: DUP5
00000a02: MSTORE
00000a03: DUP3
00000a04: DUP6
00000a05: KECCAK256
00000a06: SWAP6
00000a07: DUP6
00000a08: MSTORE
00000a09: SWAP5
00000a0a: SWAP1
00000a0b: SWAP3
00000a0c: MSTORE
00000a0d: SWAP1
00000a0e: SWAP2
00000a0f: KECCAK256
00000a10: SLOAD
00000a11: SWAP2
00000a12: SWAP4
00000a13: SWAP1
00000a14: SWAP3
00000a15: PUSH1 0xff
00000a17: DUP1
00000a18: DUP3
00000a19: AND
00000a1a: SWAP4
00000a1b: PUSH2 0x0100
00000a1e: DUP4
00000a1f: DIV
00000a20: DUP3
00000a21: AND
00000a22: SWAP4
00000a23: PUSH3 0x010000
00000a27: SWAP1
00000a28: SWAP4
00000a29: DIV
00000a2a: SWAP1
00000a2b: SWAP2
00000a2c: AND
00000a2d: SWAP2
00000a2e: JUMP
00000a2f: JUMPDEST
00000a30: PUSH2 0x0a77
00000a33: DUP6
00000a34: DUP6
00000a35: DUP6
00000a36: DUP6
00000a37: DUP6
00000a38: DUP1
00000a39: DUP1
00000a3a: PUSH1 0x1f
00000a3c: ADD
00000a3d: PUSH1 0x20
00000a3f: DUP1
00000a40: SWAP2
00000a41: DIV
00000a42: MUL
00000a43: PUSH1 0x20
00000a45: ADD
00000a46: PUSH1 0x40
00000a48: MLOAD
00000a49: SWAP1
00000a4a: DUP2
00000a4b: ADD
00000a4c: PUSH1 0x40
00000a4e: MSTORE
00000a4f: DUP2
00000a50: DUP2
00000a51: MSTORE
00000a52: SWAP3
00000a53: SWAP2
00000a54: SWAP1
00000a55: PUSH1 0x20
00000a57: DUP5
00000a58: ADD
00000a59: DUP4
00000a5a: DUP4
00000a5b: DUP1
00000a5c: DUP3
00000a5d: DUP5
00000a5e: CALLDATACOPY
00000a5f: POP
00000a60: PUSH1 0x00
00000a62: SWAP9
00000a63: SWAP8
00000a64: SWAP7
00000a65: SWAP6
00000a66: SWAP5
00000a67: POP
00000a68: POP
00000a69: PUSH4 0xffffffff
00000a6e: PUSH2 0x18af
00000a71: AND
00000a72: SWAP3
00000a73: POP
00000a74: POP
00000a75: POP
00000a76: JUMP
00000a77: JUMPDEST
00000a78: POP
00000a79: POP
00000a7a: POP
00000a7b: POP
00000a7c: POP
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: PUSH2 0x0653
00000a82: PUSH1 0x00
00000a84: PUSH2 0x1b0b
00000a87: JUMP
00000a88: JUMPDEST
00000a89: PUSH2 0x095a
00000a8c: PUSH1 0x00
00000a8e: DUP3
00000a8f: PUSH4 0xffffffff
00000a94: PUSH2 0x1d59
00000a97: AND
00000a98: JUMP
00000a99: JUMPDEST
00000a9a: PUSH2 0x0653
00000a9d: PUSH1 0x00
00000a9f: PUSH2 0x1e47
00000aa2: JUMP
00000aa3: JUMPDEST
00000aa4: PUSH2 0x0653
00000aa7: PUSH1 0x00
00000aa9: PUSH2 0x1ee3
00000aac: JUMP
00000aad: JUMPDEST
00000aae: PUSH2 0x0a77
00000ab1: DUP6
00000ab2: DUP6
00000ab3: DUP6
00000ab4: DUP6
00000ab5: DUP6
00000ab6: DUP1
00000ab7: DUP1
00000ab8: PUSH1 0x20
00000aba: MUL
00000abb: PUSH1 0x20
00000abd: ADD
00000abe: PUSH1 0x40
00000ac0: MLOAD
00000ac1: SWAP1
00000ac2: DUP2
00000ac3: ADD
00000ac4: PUSH1 0x40
00000ac6: MSTORE
00000ac7: DUP1
00000ac8: SWAP4
00000ac9: SWAP3
00000aca: SWAP2
00000acb: SWAP1
00000acc: DUP2
00000acd: DUP2
00000ace: MSTORE
00000acf: PUSH1 0x20
00000ad1: ADD
00000ad2: DUP4
00000ad3: DUP4
00000ad4: PUSH1 0x20
00000ad6: MUL
00000ad7: DUP1
00000ad8: DUP3
00000ad9: DUP5
00000ada: CALLDATACOPY
00000adb: POP
00000adc: PUSH1 0x00
00000ade: SWAP9
00000adf: SWAP8
00000ae0: SWAP7
00000ae1: SWAP6
00000ae2: SWAP5
00000ae3: POP
00000ae4: POP
00000ae5: PUSH4 0xffffffff
00000aea: PUSH2 0x2068
00000aed: AND
00000aee: SWAP3
00000aef: POP
00000af0: POP
00000af1: POP
00000af2: JUMP
00000af3: JUMPDEST
00000af4: PUSH2 0x09a3
00000af7: DUP5
00000af8: DUP5
00000af9: DUP1
00000afa: DUP1
00000afb: PUSH1 0x20
00000afd: MUL
00000afe: PUSH1 0x20
00000b00: ADD
00000b01: PUSH1 0x40
00000b03: MLOAD
00000b04: SWAP1
00000b05: DUP2
00000b06: ADD
00000b07: PUSH1 0x40
00000b09: MSTORE
00000b0a: DUP1
00000b0b: SWAP4
00000b0c: SWAP3
00000b0d: SWAP2
00000b0e: SWAP1
00000b0f: DUP2
00000b10: DUP2
00000b11: MSTORE
00000b12: PUSH1 0x20
00000b14: ADD
00000b15: DUP4
00000b16: DUP4
00000b17: PUSH1 0x20
00000b19: MUL
00000b1a: DUP1
00000b1b: DUP3
00000b1c: DUP5
00000b1d: CALLDATACOPY
00000b1e: DUP3
00000b1f: ADD
00000b20: SWAP2
00000b21: POP
00000b22: POP
00000b23: POP
00000b24: POP
00000b25: POP
00000b26: POP
00000b27: DUP4
00000b28: DUP4
00000b29: DUP1
00000b2a: DUP1
00000b2b: PUSH1 0x20
00000b2d: MUL
00000b2e: PUSH1 0x20
00000b30: ADD
00000b31: PUSH1 0x40
00000b33: MLOAD
00000b34: SWAP1
00000b35: DUP2
00000b36: ADD
00000b37: PUSH1 0x40
00000b39: MSTORE
00000b3a: DUP1
00000b3b: SWAP4
00000b3c: SWAP3
00000b3d: SWAP2
00000b3e: SWAP1
00000b3f: DUP2
00000b40: DUP2
00000b41: MSTORE
00000b42: PUSH1 0x20
00000b44: ADD
00000b45: DUP4
00000b46: DUP4
00000b47: PUSH1 0x20
00000b49: MUL
00000b4a: DUP1
00000b4b: DUP3
00000b4c: DUP5
00000b4d: CALLDATACOPY
00000b4e: POP
00000b4f: PUSH1 0x00
00000b51: SWAP7
00000b52: SWAP6
00000b53: SWAP5
00000b54: POP
00000b55: POP
00000b56: PUSH4 0xffffffff
00000b5b: PUSH2 0x24ed
00000b5e: AND
00000b5f: SWAP3
00000b60: POP
00000b61: POP
00000b62: POP
00000b63: JUMP
00000b64: JUMPDEST
00000b65: PUSH1 0x00
00000b67: DUP1
00000b68: PUSH1 0x00
00000b6a: DUP1
00000b6b: PUSH2 0x0b72
00000b6e: PUSH2 0x32ce
00000b71: JUMP
00000b72: JUMPDEST
00000b73: PUSH1 0x00
00000b75: PUSH2 0x0b7c
00000b78: PUSH2 0x279a
00000b7b: JUMP
00000b7c: JUMPDEST
00000b7d: PUSH1 0x04
00000b7f: SLOAD
00000b80: PUSH1 0x03
00000b82: SLOAD
00000b83: PUSH1 0x02
00000b85: SLOAD
00000b86: PUSH1 0x06
00000b88: SLOAD
00000b89: PUSH1 0x01
00000b8b: DUP1
00000b8c: SLOAD
00000b8d: SWAP1
00000b8e: SWAP2
00000b8f: PUSH1 0xff
00000b91: AND
00000b92: SWAP1
00000b93: DUP3
00000b94: SWAP1
00000b95: PUSH1 0x20
00000b97: DUP1
00000b98: DUP3
00000b99: MUL
00000b9a: ADD
00000b9b: PUSH1 0x40
00000b9d: MLOAD
00000b9e: SWAP1
00000b9f: DUP2
00000ba0: ADD
00000ba1: PUSH1 0x40
00000ba3: MSTORE
00000ba4: DUP1
00000ba5: SWAP3
00000ba6: SWAP2
00000ba7: SWAP1
00000ba8: DUP2
00000ba9: DUP2
00000baa: MSTORE
00000bab: PUSH1 0x20
00000bad: ADD
00000bae: DUP3
00000baf: DUP1
00000bb0: SLOAD
00000bb1: DUP1
00000bb2: ISZERO
00000bb3: PUSH2 0x0be5
00000bb6: JUMPI
00000bb7: PUSH1 0x20
00000bb9: MUL
00000bba: DUP3
00000bbb: ADD
00000bbc: SWAP2
00000bbd: SWAP1
00000bbe: PUSH1 0x00
00000bc0: MSTORE
00000bc1: PUSH1 0x20
00000bc3: PUSH1 0x00
00000bc5: KECCAK256
00000bc6: SWAP1
00000bc7: JUMPDEST
00000bc8: DUP2
00000bc9: SLOAD
00000bca: PUSH1 0x01
00000bcc: PUSH1 0xa0
00000bce: PUSH1 0x02
00000bd0: EXP
00000bd1: SUB
00000bd2: AND
00000bd3: DUP2
00000bd4: MSTORE
00000bd5: PUSH1 0x01
00000bd7: SWAP1
00000bd8: SWAP2
00000bd9: ADD
00000bda: SWAP1
00000bdb: PUSH1 0x20
00000bdd: ADD
00000bde: DUP1
00000bdf: DUP4
00000be0: GT
00000be1: PUSH2 0x0bc7
00000be4: JUMPI
00000be5: JUMPDEST
00000be6: POP
00000be7: POP
00000be8: POP
00000be9: POP
00000bea: POP
00000beb: SWAP2
00000bec: POP
00000bed: SWAP6
00000bee: POP
00000bef: SWAP6
00000bf0: POP
00000bf1: SWAP6
00000bf2: POP
00000bf3: SWAP6
00000bf4: POP
00000bf5: SWAP6
00000bf6: POP
00000bf7: SWAP6
00000bf8: POP
00000bf9: SWAP1
00000bfa: SWAP2
00000bfb: SWAP3
00000bfc: SWAP4
00000bfd: SWAP5
00000bfe: SWAP6
00000bff: JUMP
00000c00: JUMPDEST
00000c01: PUSH2 0x0667
00000c04: DUP3
00000c05: DUP3
00000c06: DUP1
00000c07: DUP1
00000c08: PUSH1 0x20
00000c0a: MUL
00000c0b: PUSH1 0x20
00000c0d: ADD
00000c0e: PUSH1 0x40
00000c10: MLOAD
00000c11: SWAP1
00000c12: DUP2
00000c13: ADD
00000c14: PUSH1 0x40
00000c16: MSTORE
00000c17: DUP1
00000c18: SWAP4
00000c19: SWAP3
00000c1a: SWAP2
00000c1b: SWAP1
00000c1c: DUP2
00000c1d: DUP2
00000c1e: MSTORE
00000c1f: PUSH1 0x20
00000c21: ADD
00000c22: DUP4
00000c23: DUP4
00000c24: PUSH1 0x20
00000c26: MUL
00000c27: DUP1
00000c28: DUP3
00000c29: DUP5
00000c2a: CALLDATACOPY
00000c2b: POP
00000c2c: PUSH1 0x00
00000c2e: SWAP6
00000c2f: SWAP5
00000c30: POP
00000c31: POP
00000c32: PUSH4 0xffffffff
00000c37: PUSH2 0x279f
00000c3a: AND
00000c3b: SWAP3
00000c3c: POP
00000c3d: POP
00000c3e: POP
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: DUP1
00000c42: PUSH1 0x03
00000c44: DUP2
00000c45: GT
00000c46: ISZERO
00000c47: PUSH2 0x0c4c
00000c4a: JUMPI
00000c4b: INVALID
00000c4c: JUMPDEST
00000c4d: DUP3
00000c4e: SLOAD
00000c4f: PUSH1 0xff
00000c51: AND
00000c52: PUSH1 0x03
00000c54: DUP2
00000c55: GT
00000c56: ISZERO
00000c57: PUSH2 0x0c5c
00000c5a: JUMPI
00000c5b: INVALID
00000c5c: JUMPDEST
00000c5d: EQ
00000c5e: PUSH2 0x0667
00000c61: JUMPI
00000c62: PUSH1 0x00
00000c64: DUP1
00000c65: REVERT
00000c66: JUMPDEST
00000c67: PUSH1 0x00
00000c69: DUP1
00000c6a: PUSH2 0x0c72
00000c6d: DUP7
00000c6e: PUSH2 0x2904
00000c71: JUMP
00000c72: JUMPDEST
00000c73: DUP5
00000c74: SWAP2
00000c75: POP
00000c76: PUSH1 0x00
00000c78: DUP3
00000c79: PUSH1 0x01
00000c7b: PUSH1 0xa0
00000c7d: PUSH1 0x02
00000c7f: EXP
00000c80: SUB
00000c81: AND
00000c82: PUSH4 0x70a08231
00000c87: ADDRESS
00000c88: PUSH1 0x40
00000c8a: MLOAD
00000c8b: PUSH1 0xe0
00000c8d: PUSH1 0x02
00000c8f: EXP
00000c90: PUSH4 0xffffffff
00000c95: DUP5
00000c96: AND
00000c97: MUL
00000c98: DUP2
00000c99: MSTORE
00000c9a: PUSH1 0x01
00000c9c: PUSH1 0xa0
00000c9e: PUSH1 0x02
00000ca0: EXP
00000ca1: SUB
00000ca2: SWAP1
00000ca3: SWAP2
00000ca4: AND
00000ca5: PUSH1 0x04
00000ca7: DUP3
00000ca8: ADD
00000ca9: MSTORE
00000caa: PUSH1 0x24
00000cac: ADD
00000cad: PUSH1 0x20
00000caf: PUSH1 0x40
00000cb1: MLOAD
00000cb2: DUP1
00000cb3: DUP4
00000cb4: SUB
00000cb5: DUP2
00000cb6: PUSH1 0x00
00000cb8: DUP8
00000cb9: DUP1
00000cba: EXTCODESIZE
00000cbb: ISZERO
00000cbc: ISZERO
00000cbd: PUSH2 0x0cc5
00000cc0: JUMPI
00000cc1: PUSH1 0x00
00000cc3: DUP1
00000cc4: REVERT
00000cc5: JUMPDEST
00000cc6: GAS
00000cc7: CALL
00000cc8: ISZERO
00000cc9: ISZERO
00000cca: PUSH2 0x0cd2
00000ccd: JUMPI
00000cce: PUSH1 0x00
00000cd0: DUP1
00000cd1: REVERT
00000cd2: JUMPDEST
00000cd3: POP
00000cd4: POP
00000cd5: POP
00000cd6: PUSH1 0x40
00000cd8: MLOAD
00000cd9: DUP1
00000cda: MLOAD
00000cdb: SWAP1
00000cdc: POP
00000cdd: GT
00000cde: ISZERO
00000cdf: ISZERO
00000ce0: PUSH2 0x0ce8
00000ce3: JUMPI
00000ce4: PUSH1 0x00
00000ce6: DUP1
00000ce7: REVERT
00000ce8: JUMPDEST
00000ce9: PUSH2 0x0cf8
00000cec: DUP5
00000ced: DUP8
00000cee: PUSH1 0x0a
00000cf0: ADD
00000cf1: SLOAD
00000cf2: PUSH1 0x01
00000cf4: PUSH2 0x293a
00000cf7: JUMP
00000cf8: JUMPDEST
00000cf9: SWAP1
00000cfa: POP
00000cfb: DUP1
00000cfc: CALLVALUE
00000cfd: LT
00000cfe: ISZERO
00000cff: DUP1
00000d00: ISZERO
00000d01: PUSH2 0x0d0d
00000d04: JUMPI
00000d05: POP
00000d06: DUP1
00000d07: PUSH1 0x02
00000d09: MUL
00000d0a: CALLVALUE
00000d0b: GT
00000d0c: ISZERO
00000d0d: JUMPDEST
00000d0e: ISZERO
00000d0f: ISZERO
00000d10: PUSH2 0x0d18
00000d13: JUMPI
00000d14: PUSH1 0x00
00000d16: DUP1
00000d17: REVERT
00000d18: JUMPDEST
00000d19: PUSH32 0x70cd12aef5c419109781e38e3bf90678ad137598b84b95214d85828545b8f8d3
00000d3a: CALLER
00000d3b: DUP7
00000d3c: DUP7
00000d3d: DUP7
00000d3e: PUSH1 0x40
00000d40: MLOAD
00000d41: PUSH1 0x01
00000d43: PUSH1 0xa0
00000d45: PUSH1 0x02
00000d47: EXP
00000d48: SUB
00000d49: SWAP5
00000d4a: DUP6
00000d4b: AND
00000d4c: DUP2
00000d4d: MSTORE
00000d4e: SWAP3
00000d4f: DUP5
00000d50: AND
00000d51: PUSH1 0x20
00000d53: DUP5
00000d54: ADD
00000d55: MSTORE
00000d56: PUSH1 0x40
00000d58: DUP1
00000d59: DUP5
00000d5a: ADD
00000d5b: SWAP3
00000d5c: SWAP1
00000d5d: SWAP3
00000d5e: MSTORE
00000d5f: SWAP1
00000d60: SWAP3
00000d61: AND
00000d62: PUSH1 0x60
00000d64: DUP3
00000d65: ADD
00000d66: MSTORE
00000d67: PUSH1 0x80
00000d69: ADD
00000d6a: SWAP1
00000d6b: MLOAD
00000d6c: DUP1
00000d6d: SWAP2
00000d6e: SUB
00000d6f: SWAP1
00000d70: LOG1
00000d71: PUSH1 0x01
00000d73: PUSH1 0xa0
00000d75: PUSH1 0x02
00000d77: EXP
00000d78: SUB
00000d79: DUP4
00000d7a: AND
00000d7b: CALLVALUE
00000d7c: DUP1
00000d7d: ISZERO
00000d7e: PUSH2 0x08fc
00000d81: MUL
00000d82: SWAP1
00000d83: PUSH1 0x40
00000d85: MLOAD
00000d86: PUSH1 0x00
00000d88: PUSH1 0x40
00000d8a: MLOAD
00000d8b: DUP1
00000d8c: DUP4
00000d8d: SUB
00000d8e: DUP2
00000d8f: DUP6
00000d90: DUP9
00000d91: DUP9
00000d92: CALL
00000d93: SWAP4
00000d94: POP
00000d95: POP
00000d96: POP
00000d97: POP
00000d98: ISZERO
00000d99: ISZERO
00000d9a: PUSH2 0x0da2
00000d9d: JUMPI
00000d9e: PUSH1 0x00
00000da0: DUP1
00000da1: REVERT
00000da2: JUMPDEST
00000da3: POP
00000da4: POP
00000da5: POP
00000da6: POP
00000da7: POP
00000da8: POP
00000da9: JUMP
00000daa: JUMPDEST
00000dab: PUSH1 0x00
00000dad: DUP1
00000dae: PUSH1 0x00
00000db0: DUP1
00000db1: PUSH1 0x00
00000db3: DUP1
00000db4: PUSH1 0x00
00000db6: PUSH2 0x0dbe
00000db9: DUP9
00000dba: PUSH2 0x2945
00000dbd: JUMP
00000dbe: JUMPDEST
00000dbf: PUSH2 0x0dc9
00000dc2: DUP9
00000dc3: PUSH1 0x00
00000dc5: PUSH2 0x0c40
00000dc8: JUMP
00000dc9: JUMPDEST
00000dca: PUSH1 0x06
00000dcc: DUP9
00000dcd: ADD
00000dce: SLOAD
00000dcf: PUSH1 0xff
00000dd1: AND
00000dd2: ISZERO
00000dd3: ISZERO
00000dd4: PUSH2 0x0ddc
00000dd7: JUMPI
00000dd8: PUSH1 0x00
00000dda: DUP1
00000ddb: REVERT
00000ddc: JUMPDEST
00000ddd: PUSH1 0x06
00000ddf: DUP9
00000de0: ADD
00000de1: DUP1
00000de2: SLOAD
00000de3: PUSH1 0xff
00000de5: NOT
00000de6: AND
00000de7: SWAP1
00000de8: SSTORE
00000de9: PUSH32 0x212c6e1d3045c9581ef0adf2504dbb1d137f52f38162ccf77a16c69d14eba5c3
00000e0a: PUSH1 0x40
00000e0c: MLOAD
00000e0d: PUSH1 0x40
00000e0f: MLOAD
00000e10: DUP1
00000e11: SWAP2
00000e12: SUB
00000e13: SWAP1
00000e14: LOG1
00000e15: DUP8
00000e16: PUSH1 0x02
00000e18: ADD
00000e19: SLOAD
00000e1a: SWAP7
00000e1b: POP
00000e1c: DUP8
00000e1d: PUSH1 0x03
00000e1f: ADD
00000e20: SLOAD
00000e21: SWAP6
00000e22: POP
00000e23: DUP8
00000e24: PUSH1 0x04
00000e26: ADD
00000e27: SLOAD
00000e28: SWAP5
00000e29: POP
00000e2a: DUP8
00000e2b: PUSH1 0x08
00000e2d: ADD
00000e2e: SLOAD
00000e2f: SWAP4
00000e30: POP
00000e31: DUP8
00000e32: PUSH1 0x0a
00000e34: ADD
00000e35: SLOAD
00000e36: SWAP3
00000e37: POP
00000e38: PUSH1 0x00
00000e3a: SWAP2
00000e3b: POP
00000e3c: JUMPDEST
00000e3d: PUSH1 0x05
00000e3f: DUP9
00000e40: ADD
00000e41: SLOAD
00000e42: DUP3
00000e43: LT
00000e44: ISZERO
00000e45: PUSH2 0x0ea0
00000e48: JUMPI
00000e49: PUSH1 0x05
00000e4b: DUP9
00000e4c: ADD
00000e4d: DUP1
00000e4e: SLOAD
00000e4f: DUP4
00000e50: SWAP1
00000e51: DUP2
00000e52: LT
00000e53: PUSH2 0x0e58
00000e56: JUMPI
00000e57: INVALID
00000e58: JUMPDEST
00000e59: PUSH1 0x00
00000e5b: SWAP2
00000e5c: DUP3
00000e5d: MSTORE
00000e5e: PUSH1 0x20
00000e60: DUP1
00000e61: DUP4
00000e62: KECCAK256
00000e63: SWAP1
00000e64: SWAP2
00000e65: ADD
00000e66: SLOAD
00000e67: PUSH1 0x01
00000e69: PUSH1 0xa0
00000e6b: PUSH1 0x02
00000e6d: EXP
00000e6e: SUB
00000e6f: AND
00000e70: DUP1
00000e71: DUP4
00000e72: MSTORE
00000e73: PUSH1 0x07
00000e75: DUP12
00000e76: ADD
00000e77: SWAP1
00000e78: SWAP2
00000e79: MSTORE
00000e7a: PUSH1 0x40
00000e7c: SWAP1
00000e7d: SWAP2
00000e7e: KECCAK256
00000e7f: SWAP1
00000e80: SWAP2
00000e81: POP
00000e82: PUSH2 0x0e90
00000e85: SWAP1
00000e86: DUP3
00000e87: DUP10
00000e88: DUP10
00000e89: DUP10
00000e8a: DUP10
00000e8b: DUP10
00000e8c: PUSH2 0x2971
00000e8f: JUMP
00000e90: JUMPDEST
00000e91: SWAP1
00000e92: SWAP5
00000e93: POP
00000e94: SWAP3
00000e95: POP
00000e96: PUSH1 0x01
00000e98: SWAP1
00000e99: SWAP2
00000e9a: ADD
00000e9b: SWAP1
00000e9c: PUSH2 0x0e3c
00000e9f: JUMP
00000ea0: JUMPDEST
00000ea1: POP
00000ea2: POP
00000ea3: PUSH1 0x08
00000ea5: DUP7
00000ea6: ADD
00000ea7: SWAP2
00000ea8: SWAP1
00000ea9: SWAP2
00000eaa: SSTORE
00000eab: PUSH1 0x0a
00000ead: SWAP1
00000eae: SWAP5
00000eaf: ADD
00000eb0: SWAP4
00000eb1: SWAP1
00000eb2: SWAP4
00000eb3: SSTORE
00000eb4: POP
00000eb5: POP
00000eb6: POP
00000eb7: JUMP
00000eb8: JUMPDEST
00000eb9: PUSH1 0x00
00000ebb: CALLVALUE
00000ebc: DUP2
00000ebd: SWAP1
00000ebe: GT
00000ebf: PUSH2 0x0ec7
00000ec2: JUMPI
00000ec3: PUSH1 0x00
00000ec5: DUP1
00000ec6: REVERT
00000ec7: JUMPDEST
00000ec8: PUSH2 0x0ed0
00000ecb: DUP5
00000ecc: PUSH2 0x2904
00000ecf: JUMP
00000ed0: JUMPDEST
00000ed1: PUSH2 0x0ee0
00000ed4: DUP4
00000ed5: DUP6
00000ed6: PUSH1 0x0a
00000ed8: ADD
00000ed9: SLOAD
00000eda: PUSH1 0x01
00000edc: PUSH2 0x293a
00000edf: JUMP
00000ee0: JUMPDEST
00000ee1: SWAP1
00000ee2: POP
00000ee3: CALLVALUE
00000ee4: DUP2
00000ee5: SWAP1
00000ee6: GT
00000ee7: PUSH2 0x0eef
00000eea: JUMPI
00000eeb: PUSH1 0x00
00000eed: DUP1
00000eee: REVERT
00000eef: JUMPDEST
00000ef0: PUSH32 0xa1e26bbfa2b962c7b4bca4ae7b3167f389194598f5c76faaac1ff9ab676e94a9
00000f11: CALLER
00000f12: DUP3
00000f13: CALLVALUE
00000f14: SUB
00000f15: DUP6
00000f16: DUP6
00000f17: PUSH1 0x40
00000f19: MLOAD
00000f1a: PUSH1 0x01
00000f1c: PUSH1 0xa0
00000f1e: PUSH1 0x02
00000f20: EXP
00000f21: SUB
00000f22: SWAP5
00000f23: DUP6
00000f24: AND
00000f25: DUP2
00000f26: MSTORE
00000f27: PUSH1 0x20
00000f29: DUP2
00000f2a: ADD
00000f2b: SWAP4
00000f2c: SWAP1
00000f2d: SWAP4
00000f2e: MSTORE
00000f2f: PUSH1 0x40
00000f31: DUP1
00000f32: DUP5
00000f33: ADD
00000f34: SWAP3
00000f35: SWAP1
00000f36: SWAP3
00000f37: MSTORE
00000f38: SWAP1
00000f39: SWAP3
00000f3a: AND
00000f3b: PUSH1 0x60
00000f3d: DUP3
00000f3e: ADD
00000f3f: MSTORE
00000f40: PUSH1 0x80
00000f42: ADD
00000f43: SWAP1
00000f44: MLOAD
00000f45: DUP1
00000f46: SWAP2
00000f47: SUB
00000f48: SWAP1
00000f49: LOG1
00000f4a: PUSH1 0x00
00000f4c: DUP4
00000f4d: GT
00000f4e: ISZERO
00000f4f: PUSH2 0x09a3
00000f52: JUMPI
00000f53: PUSH1 0x01
00000f55: PUSH1 0xa0
00000f57: PUSH1 0x02
00000f59: EXP
00000f5a: SUB
00000f5b: DUP3
00000f5c: AND
00000f5d: DUP2
00000f5e: ISZERO
00000f5f: PUSH2 0x08fc
00000f62: MUL
00000f63: DUP3
00000f64: PUSH1 0x40
00000f66: MLOAD
00000f67: PUSH1 0x00
00000f69: PUSH1 0x40
00000f6b: MLOAD
00000f6c: DUP1
00000f6d: DUP4
00000f6e: SUB
00000f6f: DUP2
00000f70: DUP6
00000f71: DUP9
00000f72: DUP9
00000f73: CALL
00000f74: SWAP4
00000f75: POP
00000f76: POP
00000f77: POP
00000f78: POP
00000f79: ISZERO
00000f7a: ISZERO
00000f7b: PUSH2 0x09a3
00000f7e: JUMPI
00000f7f: PUSH1 0x00
00000f81: DUP1
00000f82: REVERT
00000f83: JUMPDEST
00000f84: PUSH1 0x00
00000f86: DUP1
00000f87: PUSH1 0x00
00000f89: DUP1
00000f8a: PUSH1 0x00
00000f8c: DUP1
00000f8d: PUSH1 0x00
00000f8f: DUP1
00000f90: PUSH1 0x00
00000f92: DUP1
00000f93: PUSH2 0x0f9b
00000f96: DUP13
00000f97: PUSH2 0x2904
00000f9a: JUMP
00000f9b: JUMPDEST
00000f9c: DUP11
00000f9d: PUSH1 0x01
00000f9f: PUSH1 0xa0
00000fa1: PUSH1 0x02
00000fa3: EXP
00000fa4: SUB
00000fa5: AND
00000fa6: PUSH4 0x70a08231
00000fab: ADDRESS
00000fac: PUSH1 0x40
00000fae: MLOAD
00000faf: PUSH1 0xe0
00000fb1: PUSH1 0x02
00000fb3: EXP
00000fb4: PUSH4 0xffffffff
00000fb9: DUP5
00000fba: AND
00000fbb: MUL
00000fbc: DUP2
00000fbd: MSTORE
00000fbe: PUSH1 0x01
00000fc0: PUSH1 0xa0
00000fc2: PUSH1 0x02
00000fc4: EXP
00000fc5: SUB
00000fc6: SWAP1
00000fc7: SWAP2
00000fc8: AND
00000fc9: PUSH1 0x04
00000fcb: DUP3
00000fcc: ADD
00000fcd: MSTORE
00000fce: PUSH1 0x24
00000fd0: ADD
00000fd1: PUSH1 0x20
00000fd3: PUSH1 0x40
00000fd5: MLOAD
00000fd6: DUP1
00000fd7: DUP4
00000fd8: SUB
00000fd9: DUP2
00000fda: PUSH1 0x00
00000fdc: DUP8
00000fdd: DUP1
00000fde: EXTCODESIZE
00000fdf: ISZERO
00000fe0: ISZERO
00000fe1: PUSH2 0x0fe9
00000fe4: JUMPI
00000fe5: PUSH1 0x00
00000fe7: DUP1
00000fe8: REVERT
00000fe9: JUMPDEST
00000fea: GAS
00000feb: CALL
00000fec: ISZERO
00000fed: ISZERO
00000fee: PUSH2 0x0ff6
00000ff1: JUMPI
00000ff2: PUSH1 0x00
00000ff4: DUP1
00000ff5: REVERT
00000ff6: JUMPDEST
00000ff7: POP
00000ff8: POP
00000ff9: POP
00000ffa: PUSH1 0x40
00000ffc: MLOAD
00000ffd: DUP1
00000ffe: MLOAD
00000fff: SWAP1
00001000: POP
00001001: SWAP10
00001002: POP
00001003: PUSH2 0x1017
00001006: PUSH5 0x09502f9000
0000100c: PUSH1 0x01
0000100e: DUP15
0000100f: PUSH1 0x11
00001011: ADD
00001012: SLOAD
00001013: PUSH2 0x293a
00001016: JUMP
00001017: JUMPDEST
00001018: PUSH1 0x10
0000101a: DUP14
0000101b: ADD
0000101c: SLOAD
0000101d: SWAP1
0000101e: SWAP10
0000101f: POP
00001020: PUSH1 0x01
00001022: PUSH1 0xa0
00001024: PUSH1 0x02
00001026: EXP
00001027: SUB
00001028: AND
00001029: PUSH4 0x9592619c
0000102e: PUSH1 0x40
00001030: MLOAD
00001031: DUP2
00001032: PUSH4 0xffffffff
00001037: AND
00001038: PUSH1 0xe0
0000103a: PUSH1 0x02
0000103c: EXP
0000103d: MUL
0000103e: DUP2
0000103f: MSTORE
00001040: PUSH1 0x04
00001042: ADD
00001043: PUSH1 0x20
00001045: PUSH1 0x40
00001047: MLOAD
00001048: DUP1
00001049: DUP4
0000104a: SUB
0000104b: DUP2
0000104c: PUSH1 0x00
0000104e: DUP8
0000104f: DUP1
00001050: EXTCODESIZE
00001051: ISZERO
00001052: ISZERO
00001053: PUSH2 0x105b
00001056: JUMPI
00001057: PUSH1 0x00
00001059: DUP1
0000105a: REVERT
0000105b: JUMPDEST
0000105c: GAS
0000105d: CALL
0000105e: ISZERO
0000105f: ISZERO
00001060: PUSH2 0x1068
00001063: JUMPI
00001064: PUSH1 0x00
00001066: DUP1
00001067: REVERT
00001068: JUMPDEST
00001069: POP
0000106a: POP
0000106b: POP
0000106c: PUSH1 0x40
0000106e: MLOAD
0000106f: DUP1
00001070: MLOAD
00001071: PUSH1 0x08
00001073: DUP15
00001074: ADD
00001075: SLOAD
00001076: SWAP1
00001077: SWAP10
00001078: POP
00001079: SWAP8
0000107a: POP
0000107b: PUSH8 0x0de0b6b3a7640000
00001084: SWAP1
00001085: POP
00001086: DUP8
00001087: DUP10
00001088: MUL
00001089: DIV
0000108a: SWAP6
0000108b: POP
0000108c: DUP9
0000108d: DUP13
0000108e: PUSH1 0x0a
00001090: ADD
00001091: SLOAD
00001092: MUL
00001093: DUP7
00001094: DUP9
00001095: SUB
00001096: SUB
00001097: SWAP5
00001098: POP
00001099: DUP12
0000109a: PUSH1 0x0e
0000109c: ADD
0000109d: PUSH1 0x00
0000109f: DUP13
000010a0: PUSH1 0x01
000010a2: PUSH1 0xa0
000010a4: PUSH1 0x02
000010a6: EXP
000010a7: SUB
000010a8: AND
000010a9: PUSH1 0x01
000010ab: PUSH1 0xa0
000010ad: PUSH1 0x02
000010af: EXP
000010b0: SUB
000010b1: AND
000010b2: DUP2
000010b3: MSTORE
000010b4: PUSH1 0x20
000010b6: ADD
000010b7: SWAP1
000010b8: DUP2
000010b9: MSTORE
000010ba: PUSH1 0x20
000010bc: ADD
000010bd: PUSH1 0x00
000010bf: KECCAK256
000010c0: SWAP4
000010c1: POP
000010c2: PUSH1 0x00
000010c4: SWAP3
000010c5: POP
000010c6: JUMPDEST
000010c7: PUSH1 0x05
000010c9: DUP13
000010ca: ADD
000010cb: SLOAD
000010cc: DUP4
000010cd: LT
000010ce: ISZERO
000010cf: PUSH2 0x1152
000010d2: JUMPI
000010d3: PUSH1 0x05
000010d5: DUP13
000010d6: ADD
000010d7: DUP1
000010d8: SLOAD
000010d9: DUP5
000010da: SWAP1
000010db: DUP2
000010dc: LT
000010dd: PUSH2 0x10e2
000010e0: JUMPI
000010e1: INVALID
000010e2: JUMPDEST
000010e3: PUSH1 0x00
000010e5: SWAP2
000010e6: DUP3
000010e7: MSTORE
000010e8: PUSH1 0x20
000010ea: DUP3
000010eb: KECCAK256
000010ec: ADD
000010ed: SLOAD
000010ee: PUSH1 0x01
000010f0: PUSH1 0xa0
000010f2: PUSH1 0x02
000010f4: EXP
000010f5: SUB
000010f6: AND
000010f7: SWAP3
000010f8: POP
000010f9: DUP11
000010fa: GT
000010fb: ISZERO
000010fc: PUSH2 0x113d
000010ff: JUMPI
00001100: PUSH1 0x01
00001102: PUSH1 0xa0
00001104: PUSH1 0x02
00001106: EXP
00001107: SUB
00001108: DUP3
00001109: AND
0000110a: PUSH1 0x00
0000110c: SWAP1
0000110d: DUP2
0000110e: MSTORE
0000110f: PUSH1 0x07
00001111: DUP14
00001112: ADD
00001113: PUSH1 0x20
00001115: MSTORE
00001116: PUSH1 0x40
00001118: SWAP1
00001119: KECCAK256
0000111a: SLOAD
0000111b: PUSH2 0x112b
0000111e: SWAP1
0000111f: DUP6
00001120: SWAP1
00001121: DUP5
00001122: SWAP1
00001123: DUP12
00001124: DUP14
00001125: DUP16
00001126: DUP12
00001127: PUSH2 0x2a90
0000112a: JUMP
0000112b: JUMPDEST
0000112c: SWAP1
0000112d: POP
0000112e: PUSH2 0x113a
00001131: DUP5
00001132: DUP13
00001133: DUP5
00001134: DUP5
00001135: DUP15
00001136: PUSH2 0x2af6
00001139: JUMP
0000113a: JUMPDEST
0000113b: SWAP10
0000113c: POP
0000113d: JUMPDEST
0000113e: PUSH2 0x1147
00001141: DUP13
00001142: DUP4
00001143: PUSH2 0x2bfe
00001146: JUMP
00001147: JUMPDEST
00001148: PUSH1 0x01
0000114a: SWAP1
0000114b: SWAP3
0000114c: ADD
0000114d: SWAP2
0000114e: PUSH2 0x10c6
00001151: JUMP
00001152: JUMPDEST
00001153: POP
00001154: POP
00001155: POP
00001156: POP
00001157: POP
00001158: POP
00001159: POP
0000115a: POP
0000115b: POP
0000115c: POP
0000115d: POP
0000115e: POP
0000115f: JUMP
00001160: JUMPDEST
00001161: PUSH1 0x00
00001163: DUP1
00001164: PUSH1 0x00
00001166: DUP1
00001167: PUSH1 0x00
00001169: DUP1
0000116a: PUSH1 0x00
0000116c: DUP1
0000116d: PUSH1 0x00
0000116f: DUP1
00001170: PUSH2 0x1178
00001173: DUP14
00001174: PUSH2 0x2904
00001177: JUMP
00001178: JUMPDEST
00001179: DUP12
0000117a: PUSH1 0x01
0000117c: PUSH1 0xa0
0000117e: PUSH1 0x02
00001180: EXP
00001181: SUB
00001182: AND
00001183: PUSH4 0x70a08231
00001188: ADDRESS
00001189: PUSH1 0x40
0000118b: MLOAD
0000118c: PUSH1 0xe0
0000118e: PUSH1 0x02
00001190: EXP
00001191: PUSH4 0xffffffff
00001196: DUP5
00001197: AND
00001198: MUL
00001199: DUP2
0000119a: MSTORE
0000119b: PUSH1 0x01
0000119d: PUSH1 0xa0
0000119f: PUSH1 0x02
000011a1: EXP
000011a2: SUB
000011a3: SWAP1
000011a4: SWAP2
000011a5: AND
000011a6: PUSH1 0x04
000011a8: DUP3
000011a9: ADD
000011aa: MSTORE
000011ab: PUSH1 0x24
000011ad: ADD
000011ae: PUSH1 0x20
000011b0: PUSH1 0x40
000011b2: MLOAD
000011b3: DUP1
000011b4: DUP4
000011b5: SUB
000011b6: DUP2
000011b7: PUSH1 0x00
000011b9: DUP8
000011ba: DUP1
000011bb: EXTCODESIZE
000011bc: ISZERO
000011bd: ISZERO
000011be: PUSH2 0x11c6
000011c1: JUMPI
000011c2: PUSH1 0x00
000011c4: DUP1
000011c5: REVERT
000011c6: JUMPDEST
000011c7: GAS
000011c8: CALL
000011c9: ISZERO
000011ca: ISZERO
000011cb: PUSH2 0x11d3
000011ce: JUMPI
000011cf: PUSH1 0x00
000011d1: DUP1
000011d2: REVERT
000011d3: JUMPDEST
000011d4: POP
000011d5: POP
000011d6: POP
000011d7: PUSH1 0x40
000011d9: MLOAD
000011da: DUP1
000011db: MLOAD
000011dc: SWAP1
000011dd: POP
000011de: SWAP10
000011df: POP
000011e0: PUSH2 0x11f4
000011e3: PUSH5 0x09502f9000
000011e9: PUSH1 0x01
000011eb: DUP16
000011ec: PUSH1 0x11
000011ee: ADD
000011ef: SLOAD
000011f0: PUSH2 0x293a
000011f3: JUMP
000011f4: JUMPDEST
000011f5: PUSH1 0x10
000011f7: DUP15
000011f8: ADD
000011f9: SLOAD
000011fa: SWAP1
000011fb: SWAP10
000011fc: POP
000011fd: PUSH1 0x01
000011ff: PUSH1 0xa0
00001201: PUSH1 0x02
00001203: EXP
00001204: SUB
00001205: AND
00001206: PUSH4 0x9592619c
0000120b: PUSH1 0x40
0000120d: MLOAD
0000120e: DUP2
0000120f: PUSH4 0xffffffff
00001214: AND
00001215: PUSH1 0xe0
00001217: PUSH1 0x02
00001219: EXP
0000121a: MUL
0000121b: DUP2
0000121c: MSTORE
0000121d: PUSH1 0x04
0000121f: ADD
00001220: PUSH1 0x20
00001222: PUSH1 0x40
00001224: MLOAD
00001225: DUP1
00001226: DUP4
00001227: SUB
00001228: DUP2
00001229: PUSH1 0x00
0000122b: DUP8
0000122c: DUP1
0000122d: EXTCODESIZE
0000122e: ISZERO
0000122f: ISZERO
00001230: PUSH2 0x1238
00001233: JUMPI
00001234: PUSH1 0x00
00001236: DUP1
00001237: REVERT
00001238: JUMPDEST
00001239: GAS
0000123a: CALL
0000123b: ISZERO
0000123c: ISZERO
0000123d: PUSH2 0x1245
00001240: JUMPI
00001241: PUSH1 0x00
00001243: DUP1
00001244: REVERT
00001245: JUMPDEST
00001246: POP
00001247: POP
00001248: POP
00001249: PUSH1 0x40
0000124b: MLOAD
0000124c: DUP1
0000124d: MLOAD
0000124e: PUSH1 0x08
00001250: DUP16
00001251: ADD
00001252: SLOAD
00001253: SWAP1
00001254: SWAP10
00001255: POP
00001256: SWAP8
00001257: POP
00001258: PUSH8 0x0de0b6b3a7640000
00001261: SWAP1
00001262: POP
00001263: DUP8
00001264: DUP10
00001265: MUL
00001266: DIV
00001267: SWAP6
00001268: POP
00001269: DUP9
0000126a: DUP14
0000126b: PUSH1 0x0a
0000126d: ADD
0000126e: SLOAD
0000126f: MUL
00001270: DUP7
00001271: DUP9
00001272: SUB
00001273: SUB
00001274: SWAP5
00001275: POP
00001276: DUP13
00001277: PUSH1 0x0e
00001279: ADD
0000127a: PUSH1 0x00
0000127c: DUP14
0000127d: PUSH1 0x01
0000127f: PUSH1 0xa0
00001281: PUSH1 0x02
00001283: EXP
00001284: SUB
00001285: AND
00001286: PUSH1 0x01
00001288: PUSH1 0xa0
0000128a: PUSH1 0x02
0000128c: EXP
0000128d: SUB
0000128e: AND
0000128f: DUP2
00001290: MSTORE
00001291: PUSH1 0x20
00001293: ADD
00001294: SWAP1
00001295: DUP2
00001296: MSTORE
00001297: PUSH1 0x20
00001299: ADD
0000129a: PUSH1 0x00
0000129c: KECCAK256
0000129d: SWAP4
0000129e: POP
0000129f: PUSH1 0x00
000012a1: SWAP3
000012a2: POP
000012a3: JUMPDEST
000012a4: DUP11
000012a5: MLOAD
000012a6: DUP4
000012a7: LT
000012a8: ISZERO
000012a9: PUSH2 0x1320
000012ac: JUMPI
000012ad: DUP11
000012ae: DUP4
000012af: DUP2
000012b0: MLOAD
000012b1: DUP2
000012b2: LT
000012b3: PUSH2 0x12b8
000012b6: JUMPI
000012b7: INVALID
000012b8: JUMPDEST
000012b9: SWAP1
000012ba: PUSH1 0x20
000012bc: ADD
000012bd: SWAP1
000012be: PUSH1 0x20
000012c0: MUL
000012c1: ADD
000012c2: MLOAD
000012c3: SWAP2
000012c4: POP
000012c5: PUSH1 0x00
000012c7: DUP11
000012c8: GT
000012c9: ISZERO
000012ca: PUSH2 0x130b
000012cd: JUMPI
000012ce: PUSH1 0x01
000012d0: PUSH1 0xa0
000012d2: PUSH1 0x02
000012d4: EXP
000012d5: SUB
000012d6: DUP3
000012d7: AND
000012d8: PUSH1 0x00
000012da: SWAP1
000012db: DUP2
000012dc: MSTORE
000012dd: PUSH1 0x07
000012df: DUP15
000012e0: ADD
000012e1: PUSH1 0x20
000012e3: MSTORE
000012e4: PUSH1 0x40
000012e6: SWAP1
000012e7: KECCAK256
000012e8: SLOAD
000012e9: PUSH2 0x12f9
000012ec: SWAP1
000012ed: DUP6
000012ee: SWAP1
000012ef: DUP5
000012f0: SWAP1
000012f1: DUP12
000012f2: DUP14
000012f3: DUP16
000012f4: DUP12
000012f5: PUSH2 0x2a90
000012f8: JUMP
000012f9: JUMPDEST
000012fa: SWAP1
000012fb: POP
000012fc: PUSH2 0x1308
000012ff: DUP5
00001300: DUP14
00001301: DUP5
00001302: DUP5
00001303: DUP15
00001304: PUSH2 0x2af6
00001307: JUMP
00001308: JUMPDEST
00001309: SWAP10
0000130a: POP
0000130b: JUMPDEST
0000130c: PUSH2 0x1315
0000130f: DUP14
00001310: DUP4
00001311: PUSH2 0x2bfe
00001314: JUMP
00001315: JUMPDEST
00001316: PUSH1 0x01
00001318: SWAP1
00001319: SWAP3
0000131a: ADD
0000131b: SWAP2
0000131c: PUSH2 0x12a3
0000131f: JUMP
00001320: JUMPDEST
00001321: POP
00001322: POP
00001323: POP
00001324: POP
00001325: POP
00001326: POP
00001327: POP
00001328: POP
00001329: POP
0000132a: POP
0000132b: POP
0000132c: POP
0000132d: POP
0000132e: JUMP
0000132f: JUMPDEST
00001330: PUSH1 0x00
00001332: DUP1
00001333: PUSH1 0x00
00001335: PUSH2 0x133f
00001338: DUP6
00001339: PUSH1 0x00
0000133b: PUSH2 0x0c40
0000133e: JUMP
0000133f: JUMPDEST
00001340: PUSH1 0x01
00001342: PUSH1 0xa0
00001344: PUSH1 0x02
00001346: EXP
00001347: SUB
00001348: CALLER
00001349: AND
0000134a: PUSH1 0x00
0000134c: SWAP1
0000134d: DUP2
0000134e: MSTORE
0000134f: PUSH1 0x07
00001351: DUP7
00001352: ADD
00001353: PUSH1 0x20
00001355: MSTORE
00001356: PUSH1 0x40
00001358: SWAP1
00001359: KECCAK256
0000135a: DUP1
0000135b: SLOAD
0000135c: PUSH1 0x01
0000135e: DUP3
0000135f: ADD
00001360: SLOAD
00001361: SWAP2
00001362: SWAP5
00001363: POP
00001364: ADD
00001365: SWAP2
00001366: POP
00001367: DUP4
00001368: DUP3
00001369: LT
0000136a: DUP1
0000136b: ISZERO
0000136c: SWAP1
0000136d: PUSH2 0x137a
00001370: JUMPI
00001371: POP
00001372: DUP3
00001373: PUSH1 0x01
00001375: ADD
00001376: SLOAD
00001377: DUP5
00001378: LT
00001379: ISZERO
0000137a: JUMPDEST
0000137b: ISZERO
0000137c: ISZERO
0000137d: PUSH2 0x1385
00001380: JUMPI
00001381: PUSH1 0x00
00001383: DUP1
00001384: REVERT
00001385: JUMPDEST
00001386: POP
00001387: PUSH1 0x01
00001389: DUP3
0000138a: ADD
0000138b: DUP1
0000138c: SLOAD
0000138d: PUSH1 0x00
0000138f: SWAP2
00001390: DUP3
00001391: SWAP1
00001392: SSTORE
00001393: DUP5
00001394: SUB
00001395: SWAP1
00001396: DUP2
00001397: GT
00001398: ISZERO
00001399: PUSH2 0x13e1
0000139c: JUMPI
0000139d: DUP3
0000139e: SLOAD
0000139f: DUP2
000013a0: SWAP1
000013a1: SUB
000013a2: DUP4
000013a3: SSTORE
000013a4: PUSH1 0x08
000013a6: DUP6
000013a7: ADD
000013a8: DUP1
000013a9: SLOAD
000013aa: DUP3
000013ab: SWAP1
000013ac: SUB
000013ad: SWAP1
000013ae: SSTORE
000013af: PUSH1 0x02
000013b1: DUP6
000013b2: ADD
000013b3: SLOAD
000013b4: DUP4
000013b5: SLOAD
000013b6: LT
000013b7: ISZERO
000013b8: DUP1
000013b9: PUSH2 0x13c1
000013bc: JUMPI
000013bd: POP
000013be: DUP3
000013bf: SLOAD
000013c0: ISZERO
000013c1: JUMPDEST
000013c2: ISZERO
000013c3: ISZERO
000013c4: PUSH2 0x13cc
000013c7: JUMPI
000013c8: PUSH1 0x00
000013ca: DUP1
000013cb: REVERT
000013cc: JUMPDEST
000013cd: DUP3
000013ce: SLOAD
000013cf: ISZERO
000013d0: ISZERO
000013d1: PUSH2 0x13e1
000013d4: JUMPI
000013d5: PUSH1 0x0a
000013d7: DUP6
000013d8: ADD
000013d9: DUP1
000013da: SLOAD
000013db: PUSH1 0x00
000013dd: NOT
000013de: ADD
000013df: SWAP1
000013e0: SSTORE
000013e1: JUMPDEST
000013e2: PUSH1 0x00
000013e4: DUP1
000013e5: MLOAD
000013e6: PUSH1 0x20
000013e8: PUSH2 0x374d
000013eb: DUP4
000013ec: CODECOPY
000013ed: DUP2
000013ee: MLOAD
000013ef: SWAP2
000013f0: MSTORE
000013f1: CALLER
000013f2: DUP6
000013f3: DUP6
000013f4: PUSH1 0x01
000013f6: ADD
000013f7: SLOAD
000013f8: DUP7
000013f9: PUSH1 0x00
000013fb: ADD
000013fc: SLOAD
000013fd: DUP10
000013fe: PUSH1 0x08
00001400: ADD
00001401: SLOAD
00001402: PUSH1 0x40
00001404: MLOAD
00001405: PUSH1 0x01
00001407: PUSH1 0xa0
00001409: PUSH1 0x02
0000140b: EXP
0000140c: SUB
0000140d: SWAP1
0000140e: SWAP6
0000140f: AND
00001410: DUP6
00001411: MSTORE
00001412: PUSH1 0x20
00001414: DUP6
00001415: ADD
00001416: SWAP4
00001417: SWAP1
00001418: SWAP4
00001419: MSTORE
0000141a: PUSH1 0x40
0000141c: DUP1
0000141d: DUP6
0000141e: ADD
0000141f: SWAP3
00001420: SWAP1
00001421: SWAP3
00001422: MSTORE
00001423: PUSH1 0x60
00001425: DUP5
00001426: ADD
00001427: MSTORE
00001428: PUSH1 0x80
0000142a: DUP4
0000142b: ADD
0000142c: SWAP2
0000142d: SWAP1
0000142e: SWAP2
0000142f: MSTORE
00001430: PUSH1 0xa0
00001432: SWAP1
00001433: SWAP2
00001434: ADD
00001435: SWAP1
00001436: MLOAD
00001437: DUP1
00001438: SWAP2
00001439: SUB
0000143a: SWAP1
0000143b: LOG1
0000143c: PUSH1 0x01
0000143e: PUSH1 0xa0
00001440: PUSH1 0x02
00001442: EXP
00001443: SUB
00001444: CALLER
00001445: AND
00001446: DUP5
00001447: ISZERO
00001448: PUSH2 0x08fc
0000144b: MUL
0000144c: DUP6
0000144d: PUSH1 0x40
0000144f: MLOAD
00001450: PUSH1 0x00
00001452: PUSH1 0x40
00001454: MLOAD
00001455: DUP1
00001456: DUP4
00001457: SUB
00001458: DUP2
00001459: DUP6
0000145a: DUP9
0000145b: DUP9
0000145c: CALL
0000145d: SWAP4
0000145e: POP
0000145f: POP
00001460: POP
00001461: POP
00001462: ISZERO
00001463: ISZERO
00001464: PUSH2 0x0a77
00001467: JUMPI
00001468: PUSH1 0x00
0000146a: DUP1
0000146b: REVERT
0000146c: JUMPDEST
0000146d: PUSH2 0x1475
00001470: DUP5
00001471: PUSH2 0x2945
00001474: JUMP
00001475: JUMPDEST
00001476: PUSH1 0x01
00001478: DUP5
00001479: SLOAD
0000147a: PUSH1 0xff
0000147c: AND
0000147d: PUSH1 0x03
0000147f: DUP2
00001480: GT
00001481: ISZERO
00001482: PUSH2 0x1487
00001485: JUMPI
00001486: INVALID
00001487: JUMPDEST
00001488: EQ
00001489: ISZERO
0000148a: PUSH2 0x1492
0000148d: JUMPI
0000148e: PUSH1 0x00
00001490: DUP1
00001491: REVERT
00001492: JUMPDEST
00001493: PUSH32 0xa0e077e8034536720615071128f620b2aab26957d300cae0f11734d1e2c4ea74
000014b4: DUP4
000014b5: DUP4
000014b6: DUP4
000014b7: PUSH1 0x40
000014b9: MLOAD
000014ba: PUSH1 0x01
000014bc: PUSH1 0xa0
000014be: PUSH1 0x02
000014c0: EXP
000014c1: SUB
000014c2: DUP5
000014c3: AND
000014c4: DUP2
000014c5: MSTORE
000014c6: PUSH1 0x20
000014c8: DUP2
000014c9: ADD
000014ca: DUP4
000014cb: SWAP1
000014cc: MSTORE
000014cd: PUSH1 0x60
000014cf: PUSH1 0x40
000014d1: DUP3
000014d2: ADD
000014d3: DUP2
000014d4: DUP2
000014d5: MSTORE
000014d6: SWAP1
000014d7: DUP3
000014d8: ADD
000014d9: DUP4
000014da: DUP2
000014db: DUP2
000014dc: MLOAD
000014dd: DUP2
000014de: MSTORE
000014df: PUSH1 0x20
000014e1: ADD
000014e2: SWAP2
000014e3: POP
000014e4: DUP1
000014e5: MLOAD
000014e6: SWAP1
000014e7: PUSH1 0x20
000014e9: ADD
000014ea: SWAP1
000014eb: DUP1
000014ec: DUP4
000014ed: DUP4
000014ee: PUSH1 0x00
000014f0: JUMPDEST
000014f1: DUP4
000014f2: DUP2
000014f3: LT
000014f4: ISZERO
000014f5: PUSH2 0x1508
000014f8: JUMPI
000014f9: DUP1
000014fa: DUP3
000014fb: ADD
000014fc: MLOAD
000014fd: DUP4
000014fe: DUP3
000014ff: ADD
00001500: MSTORE
00001501: PUSH1 0x20
00001503: ADD
00001504: PUSH2 0x14f0
00001507: JUMP
00001508: JUMPDEST
00001509: POP
0000150a: POP
0000150b: POP
0000150c: POP
0000150d: SWAP1
0000150e: POP
0000150f: SWAP1
00001510: DUP2
00001511: ADD
00001512: SWAP1
00001513: PUSH1 0x1f
00001515: AND
00001516: DUP1
00001517: ISZERO
00001518: PUSH2 0x1535
0000151b: JUMPI
0000151c: DUP1
0000151d: DUP3
0000151e: SUB
0000151f: DUP1
00001520: MLOAD
00001521: PUSH1 0x01
00001523: DUP4
00001524: PUSH1 0x20
00001526: SUB
00001527: PUSH2 0x0100
0000152a: EXP
0000152b: SUB
0000152c: NOT
0000152d: AND
0000152e: DUP2
0000152f: MSTORE
00001530: PUSH1 0x20
00001532: ADD
00001533: SWAP2
00001534: POP
00001535: JUMPDEST
00001536: POP
00001537: SWAP5
00001538: POP
00001539: POP
0000153a: POP
0000153b: POP
0000153c: POP
0000153d: PUSH1 0x40
0000153f: MLOAD
00001540: DUP1
00001541: SWAP2
00001542: SUB
00001543: SWAP1
00001544: LOG1
00001545: DUP3
00001546: PUSH1 0x01
00001548: PUSH1 0xa0
0000154a: PUSH1 0x02
0000154c: EXP
0000154d: SUB
0000154e: AND
0000154f: PUSH1 0x00
00001551: DUP4
00001552: GT
00001553: PUSH2 0x155c
00001556: JUMPI
00001557: GAS
00001558: PUSH2 0x155e
0000155b: JUMP
0000155c: JUMPDEST
0000155d: DUP3
0000155e: JUMPDEST
0000155f: PUSH1 0x00
00001561: DUP4
00001562: PUSH1 0x40
00001564: MLOAD
00001565: DUP1
00001566: DUP3
00001567: DUP1
00001568: MLOAD
00001569: SWAP1
0000156a: PUSH1 0x20
0000156c: ADD
0000156d: SWAP1
0000156e: DUP1
0000156f: DUP4
00001570: DUP4
00001571: PUSH1 0x00
00001573: JUMPDEST
00001574: DUP4
00001575: DUP2
00001576: LT
00001577: ISZERO
00001578: PUSH2 0x158b
0000157b: JUMPI
0000157c: DUP1
0000157d: DUP3
0000157e: ADD
0000157f: MLOAD
00001580: DUP4
00001581: DUP3
00001582: ADD
00001583: MSTORE
00001584: PUSH1 0x20
00001586: ADD
00001587: PUSH2 0x1573
0000158a: JUMP
0000158b: JUMPDEST
0000158c: POP
0000158d: POP
0000158e: POP
0000158f: POP
00001590: SWAP1
00001591: POP
00001592: SWAP1
00001593: DUP2
00001594: ADD
00001595: SWAP1
00001596: PUSH1 0x1f
00001598: AND
00001599: DUP1
0000159a: ISZERO
0000159b: PUSH2 0x15b8
0000159e: JUMPI
0000159f: DUP1
000015a0: DUP3
000015a1: SUB
000015a2: DUP1
000015a3: MLOAD
000015a4: PUSH1 0x01
000015a6: DUP4
000015a7: PUSH1 0x20
000015a9: SUB
000015aa: PUSH2 0x0100
000015ad: EXP
000015ae: SUB
000015af: NOT
000015b0: AND
000015b1: DUP2
000015b2: MSTORE
000015b3: PUSH1 0x20
000015b5: ADD
000015b6: SWAP2
000015b7: POP
000015b8: JUMPDEST
000015b9: POP
000015ba: SWAP2
000015bb: POP
000015bc: POP
000015bd: PUSH1 0x00
000015bf: PUSH1 0x40
000015c1: MLOAD
000015c2: DUP1
000015c3: DUP4
000015c4: SUB
000015c5: DUP2
000015c6: DUP6
000015c7: DUP9
000015c8: DUP9
000015c9: CALL
000015ca: SWAP4
000015cb: POP
000015cc: POP
000015cd: POP
000015ce: POP
000015cf: ISZERO
000015d0: ISZERO
000015d1: PUSH2 0x09a3
000015d4: JUMPI
000015d5: PUSH1 0x00
000015d7: DUP1
000015d8: REVERT
000015d9: JUMPDEST
000015da: PUSH1 0x00
000015dc: PUSH2 0x15e4
000015df: DUP4
000015e0: PUSH2 0x2945
000015e3: JUMP
000015e4: JUMPDEST
000015e5: PUSH2 0x15ef
000015e8: DUP4
000015e9: PUSH1 0x02
000015eb: PUSH2 0x0c40
000015ee: JUMP
000015ef: JUMPDEST
000015f0: PUSH1 0x0f
000015f2: DUP4
000015f3: ADD
000015f4: SLOAD
000015f5: PUSH1 0x01
000015f7: PUSH1 0xa0
000015f9: PUSH1 0x02
000015fb: EXP
000015fc: SUB
000015fd: AND
000015fe: ISZERO
000015ff: PUSH2 0x1607
00001602: JUMPI
00001603: PUSH1 0x00
00001605: DUP1
00001606: REVERT
00001607: JUMPDEST
00001608: POP
00001609: PUSH1 0x0f
0000160b: DUP3
0000160c: ADD
0000160d: DUP1
0000160e: SLOAD
0000160f: PUSH1 0x01
00001611: PUSH1 0xa0
00001613: PUSH1 0x02
00001615: EXP
00001616: SUB
00001617: NOT
00001618: AND
00001619: PUSH1 0x01
0000161b: PUSH1 0xa0
0000161d: PUSH1 0x02
0000161f: EXP
00001620: SUB
00001621: DUP4
00001622: AND
00001623: SWAP1
00001624: DUP2
00001625: OR
00001626: SWAP1
00001627: SWAP2
00001628: SSTORE
00001629: DUP2
0000162a: SWAP1
0000162b: PUSH1 0x00
0000162d: SWAP1
0000162e: PUSH4 0x70a08231
00001633: ADDRESS
00001634: PUSH1 0x40
00001636: MLOAD
00001637: PUSH1 0xe0
00001639: PUSH1 0x02
0000163b: EXP
0000163c: PUSH4 0xffffffff
00001641: DUP5
00001642: AND
00001643: MUL
00001644: DUP2
00001645: MSTORE
00001646: PUSH1 0x01
00001648: PUSH1 0xa0
0000164a: PUSH1 0x02
0000164c: EXP
0000164d: SUB
0000164e: SWAP1
0000164f: SWAP2
00001650: AND
00001651: PUSH1 0x04
00001653: DUP3
00001654: ADD
00001655: MSTORE
00001656: PUSH1 0x24
00001658: ADD
00001659: PUSH1 0x20
0000165b: PUSH1 0x40
0000165d: MLOAD
0000165e: DUP1
0000165f: DUP4
00001660: SUB
00001661: DUP2
00001662: PUSH1 0x00
00001664: DUP8
00001665: DUP1
00001666: EXTCODESIZE
00001667: ISZERO
00001668: ISZERO
00001669: PUSH2 0x1671
0000166c: JUMPI
0000166d: PUSH1 0x00
0000166f: DUP1
00001670: REVERT
00001671: JUMPDEST
00001672: GAS
00001673: CALL
00001674: ISZERO
00001675: ISZERO
00001676: PUSH2 0x167e
00001679: JUMPI
0000167a: PUSH1 0x00
0000167c: DUP1
0000167d: REVERT
0000167e: JUMPDEST
0000167f: POP
00001680: POP
00001681: POP
00001682: PUSH1 0x40
00001684: MLOAD
00001685: DUP1
00001686: MLOAD
00001687: SWAP1
00001688: POP
00001689: GT
0000168a: ISZERO
0000168b: ISZERO
0000168c: PUSH2 0x1694
0000168f: JUMPI
00001690: PUSH1 0x00
00001692: DUP1
00001693: REVERT
00001694: JUMPDEST
00001695: PUSH32 0x9a1420fc4e534098b8e9a9bec50c7b29c37ec78ea16728935c808fa246bde354
000016b6: DUP3
000016b7: DUP3
000016b8: PUSH1 0x01
000016ba: PUSH1 0xa0
000016bc: PUSH1 0x02
000016be: EXP
000016bf: SUB
000016c0: AND
000016c1: PUSH4 0x70a08231
000016c6: ADDRESS
000016c7: PUSH1 0x40
000016c9: MLOAD
000016ca: PUSH1 0xe0
000016cc: PUSH1 0x02
000016ce: EXP
000016cf: PUSH4 0xffffffff
000016d4: DUP5
000016d5: AND
000016d6: MUL
000016d7: DUP2
000016d8: MSTORE
000016d9: PUSH1 0x01
000016db: PUSH1 0xa0
000016dd: PUSH1 0x02
000016df: EXP
000016e0: SUB
000016e1: SWAP1
000016e2: SWAP2
000016e3: AND
000016e4: PUSH1 0x04
000016e6: DUP3
000016e7: ADD
000016e8: MSTORE
000016e9: PUSH1 0x24
000016eb: ADD
000016ec: PUSH1 0x20
000016ee: PUSH1 0x40
000016f0: MLOAD
000016f1: DUP1
000016f2: DUP4
000016f3: SUB
000016f4: DUP2
000016f5: PUSH1 0x00
000016f7: DUP8
000016f8: DUP1
000016f9: EXTCODESIZE
000016fa: ISZERO
000016fb: ISZERO
000016fc: PUSH2 0x1704
000016ff: JUMPI
00001700: PUSH1 0x00
00001702: DUP1
00001703: REVERT
00001704: JUMPDEST
00001705: GAS
00001706: CALL
00001707: ISZERO
00001708: ISZERO
00001709: PUSH2 0x1711
0000170c: JUMPI
0000170d: PUSH1 0x00
0000170f: DUP1
00001710: REVERT
00001711: JUMPDEST
00001712: POP
00001713: POP
00001714: POP
00001715: PUSH1 0x40
00001717: MLOAD
00001718: DUP1
00001719: MLOAD
0000171a: SWAP1
0000171b: POP
0000171c: PUSH1 0x40
0000171e: MLOAD
0000171f: PUSH1 0x01
00001721: PUSH1 0xa0
00001723: PUSH1 0x02
00001725: EXP
00001726: SUB
00001727: SWAP1
00001728: SWAP3
00001729: AND
0000172a: DUP3
0000172b: MSTORE
0000172c: PUSH1 0x20
0000172e: DUP3
0000172f: ADD
00001730: MSTORE
00001731: PUSH1 0x40
00001733: SWAP1
00001734: DUP2
00001735: ADD
00001736: SWAP1
00001737: MLOAD
00001738: DUP1
00001739: SWAP2
0000173a: SUB
0000173b: SWAP1
0000173c: LOG1
0000173d: PUSH2 0x0644
00001740: DUP4
00001741: PUSH2 0x2cda
00001744: JUMP
00001745: JUMPDEST
00001746: PUSH1 0x00
00001748: PUSH2 0x1750
0000174b: DUP6
0000174c: PUSH2 0x2945
0000174f: JUMP
00001750: JUMPDEST
00001751: PUSH1 0x0f
00001753: DUP6
00001754: ADD
00001755: SLOAD
00001756: PUSH1 0x01
00001758: PUSH1 0xa0
0000175a: PUSH1 0x02
0000175c: EXP
0000175d: SUB
0000175e: DUP6
0000175f: DUP2
00001760: AND
00001761: SWAP2
00001762: AND
00001763: EQ
00001764: ISZERO
00001765: PUSH2 0x176d
00001768: JUMPI
00001769: PUSH1 0x00
0000176b: DUP1
0000176c: REVERT
0000176d: JUMPDEST
0000176e: POP
0000176f: DUP3
00001770: DUP2
00001771: PUSH1 0x01
00001773: PUSH1 0xa0
00001775: PUSH1 0x02
00001777: EXP
00001778: SUB
00001779: DUP3
0000177a: AND
0000177b: PUSH4 0x70a08231
00001780: ADDRESS
00001781: PUSH1 0x40
00001783: MLOAD
00001784: PUSH1 0xe0
00001786: PUSH1 0x02
00001788: EXP
00001789: PUSH4 0xffffffff
0000178e: DUP5
0000178f: AND
00001790: MUL
00001791: DUP2
00001792: MSTORE
00001793: PUSH1 0x01
00001795: PUSH1 0xa0
00001797: PUSH1 0x02
00001799: EXP
0000179a: SUB
0000179b: SWAP1
0000179c: SWAP2
0000179d: AND
0000179e: PUSH1 0x04
000017a0: DUP3
000017a1: ADD
000017a2: MSTORE
000017a3: PUSH1 0x24
000017a5: ADD
000017a6: PUSH1 0x20
000017a8: PUSH1 0x40
000017aa: MLOAD
000017ab: DUP1
000017ac: DUP4
000017ad: SUB
000017ae: DUP2
000017af: PUSH1 0x00
000017b1: DUP8
000017b2: DUP1
000017b3: EXTCODESIZE
000017b4: ISZERO
000017b5: ISZERO
000017b6: PUSH2 0x17be
000017b9: JUMPI
000017ba: PUSH1 0x00
000017bc: DUP1
000017bd: REVERT
000017be: JUMPDEST
000017bf: GAS
000017c0: CALL
000017c1: ISZERO
000017c2: ISZERO
000017c3: PUSH2 0x17cb
000017c6: JUMPI
000017c7: PUSH1 0x00
000017c9: DUP1
000017ca: REVERT
000017cb: JUMPDEST
000017cc: POP
000017cd: POP
000017ce: POP
000017cf: PUSH1 0x40
000017d1: MLOAD
000017d2: DUP1
000017d3: MLOAD
000017d4: SWAP1
000017d5: POP
000017d6: LT
000017d7: ISZERO
000017d8: ISZERO
000017d9: ISZERO
000017da: PUSH2 0x17e2
000017dd: JUMPI
000017de: PUSH1 0x00
000017e0: DUP1
000017e1: REVERT
000017e2: JUMPDEST
000017e3: DUP1
000017e4: PUSH1 0x01
000017e6: PUSH1 0xa0
000017e8: PUSH1 0x02
000017ea: EXP
000017eb: SUB
000017ec: AND
000017ed: PUSH4 0xa9059cbb
000017f2: DUP5
000017f3: DUP5
000017f4: PUSH1 0x40
000017f6: MLOAD
000017f7: PUSH1 0xe0
000017f9: PUSH1 0x02
000017fb: EXP
000017fc: PUSH4 0xffffffff
00001801: DUP6
00001802: AND
00001803: MUL
00001804: DUP2
00001805: MSTORE
00001806: PUSH1 0x01
00001808: PUSH1 0xa0
0000180a: PUSH1 0x02
0000180c: EXP
0000180d: SUB
0000180e: SWAP1
0000180f: SWAP3
00001810: AND
00001811: PUSH1 0x04
00001813: DUP4
00001814: ADD
00001815: MSTORE
00001816: PUSH1 0x24
00001818: DUP3
00001819: ADD
0000181a: MSTORE
0000181b: PUSH1 0x44
0000181d: ADD
0000181e: PUSH1 0x20
00001820: PUSH1 0x40
00001822: MLOAD
00001823: DUP1
00001824: DUP4
00001825: SUB
00001826: DUP2
00001827: PUSH1 0x00
00001829: DUP8
0000182a: DUP1
0000182b: EXTCODESIZE
0000182c: ISZERO
0000182d: ISZERO
0000182e: PUSH2 0x1836
00001831: JUMPI
00001832: PUSH1 0x00
00001834: DUP1
00001835: REVERT
00001836: JUMPDEST
00001837: GAS
00001838: CALL
00001839: ISZERO
0000183a: ISZERO
0000183b: PUSH2 0x1843
0000183e: JUMPI
0000183f: PUSH1 0x00
00001841: DUP1
00001842: REVERT
00001843: JUMPDEST
00001844: POP
00001845: POP
00001846: POP
00001847: PUSH1 0x40
00001849: MLOAD
0000184a: DUP1
0000184b: MLOAD
0000184c: SWAP1
0000184d: POP
0000184e: ISZERO
0000184f: ISZERO
00001850: PUSH2 0x1858
00001853: JUMPI
00001854: PUSH1 0x00
00001856: DUP1
00001857: REVERT
00001858: JUMPDEST
00001859: PUSH32 0x0b991e94bce4cba63aaf2220cd02cab7340fc182afe176ab5a60ebd8f0598e14
0000187a: DUP5
0000187b: DUP5
0000187c: DUP5
0000187d: PUSH1 0x40
0000187f: MLOAD
00001880: PUSH1 0x01
00001882: PUSH1 0xa0
00001884: PUSH1 0x02
00001886: EXP
00001887: SUB
00001888: SWAP4
00001889: DUP5
0000188a: AND
0000188b: DUP2
0000188c: MSTORE
0000188d: SWAP2
0000188e: SWAP1
0000188f: SWAP3
00001890: AND
00001891: PUSH1 0x20
00001893: DUP3
00001894: ADD
00001895: MSTORE
00001896: PUSH1 0x40
00001898: DUP1
00001899: DUP3
0000189a: ADD
0000189b: SWAP3
0000189c: SWAP1
0000189d: SWAP3
0000189e: MSTORE
0000189f: PUSH1 0x60
000018a1: ADD
000018a2: SWAP1
000018a3: MLOAD
000018a4: DUP1
000018a5: SWAP2
000018a6: SUB
000018a7: SWAP1
000018a8: LOG1
000018a9: POP
000018aa: POP
000018ab: POP
000018ac: POP
000018ad: POP
000018ae: JUMP
000018af: JUMPDEST
000018b0: PUSH1 0x00
000018b2: DUP1
000018b3: PUSH2 0x18bb
000018b6: DUP8
000018b7: PUSH2 0x2945
000018ba: JUMP
000018bb: JUMPDEST
000018bc: PUSH2 0x18c6
000018bf: DUP8
000018c0: PUSH1 0x00
000018c2: PUSH2 0x0c40
000018c5: JUMP
000018c6: JUMPDEST
000018c7: PUSH1 0x08
000018c9: DUP8
000018ca: ADD
000018cb: SLOAD
000018cc: PUSH1 0x00
000018ce: SWAP1
000018cf: GT
000018d0: PUSH2 0x18d8
000018d3: JUMPI
000018d4: PUSH1 0x00
000018d6: DUP1
000018d7: REVERT
000018d8: JUMPDEST
000018d9: PUSH1 0x08
000018db: DUP8
000018dc: ADD
000018dd: SLOAD
000018de: DUP6
000018df: SWAP1
000018e0: LT
000018e1: ISZERO
000018e2: PUSH2 0x18ea
000018e5: JUMPI
000018e6: PUSH1 0x00
000018e8: DUP1
000018e9: REVERT
000018ea: JUMPDEST
000018eb: PUSH1 0x08
000018ed: DUP8
000018ee: ADD
000018ef: SLOAD
000018f0: PUSH1 0x01
000018f2: PUSH1 0xa0
000018f4: PUSH1 0x02
000018f6: EXP
000018f7: SUB
000018f8: ADDRESS
000018f9: AND
000018fa: BALANCE
000018fb: LT
000018fc: ISZERO
000018fd: PUSH2 0x1902
00001900: JUMPI
00001901: INVALID
00001902: JUMPDEST
00001903: PUSH2 0x190d
00001906: DUP8
00001907: PUSH1 0x02
00001909: PUSH2 0x2d7b
0000190c: JUMP
0000190d: JUMPDEST
0000190e: PUSH1 0x10
00001910: DUP8
00001911: ADD
00001912: SLOAD
00001913: PUSH1 0x0a
00001915: DUP9
00001916: ADD
00001917: SLOAD
00001918: PUSH1 0x01
0000191a: PUSH1 0xa0
0000191c: PUSH1 0x02
0000191e: EXP
0000191f: SUB
00001920: SWAP1
00001921: SWAP2
00001922: AND
00001923: SWAP1
00001924: PUSH4 0x66caf97d
00001929: SWAP1
0000192a: PUSH1 0x40
0000192c: MLOAD
0000192d: PUSH1 0xe0
0000192f: PUSH1 0x02
00001931: EXP
00001932: PUSH4 0xffffffff
00001937: DUP5
00001938: AND
00001939: MUL
0000193a: DUP2
0000193b: MSTORE
0000193c: PUSH1 0x04
0000193e: DUP2
0000193f: ADD
00001940: SWAP2
00001941: SWAP1
00001942: SWAP2
00001943: MSTORE
00001944: PUSH1 0x24
00001946: ADD
00001947: PUSH1 0x20
00001949: PUSH1 0x40
0000194b: MLOAD
0000194c: DUP1
0000194d: DUP4
0000194e: SUB
0000194f: DUP2
00001950: PUSH1 0x00
00001952: DUP8
00001953: DUP1
00001954: EXTCODESIZE
00001955: ISZERO
00001956: ISZERO
00001957: PUSH2 0x195f
0000195a: JUMPI
0000195b: PUSH1 0x00
0000195d: DUP1
0000195e: REVERT
0000195f: JUMPDEST
00001960: GAS
00001961: CALL
00001962: ISZERO
00001963: ISZERO
00001964: PUSH2 0x196c
00001967: JUMPI
00001968: PUSH1 0x00
0000196a: DUP1
0000196b: REVERT
0000196c: JUMPDEST
0000196d: POP
0000196e: POP
0000196f: POP
00001970: PUSH1 0x40
00001972: MLOAD
00001973: DUP1
00001974: MLOAD
00001975: SWAP1
00001976: POP
00001977: ISZERO
00001978: ISZERO
00001979: PUSH2 0x1981
0000197c: JUMPI
0000197d: PUSH1 0x00
0000197f: DUP1
00001980: REVERT
00001981: JUMPDEST
00001982: PUSH1 0x10
00001984: DUP8
00001985: ADD
00001986: SLOAD
00001987: PUSH8 0x0de0b6b3a7640000
00001990: SWAP1
00001991: PUSH1 0x01
00001993: PUSH1 0xa0
00001995: PUSH1 0x02
00001997: EXP
00001998: SUB
00001999: AND
0000199a: PUSH4 0x9592619c
0000199f: PUSH1 0x40
000019a1: MLOAD
000019a2: DUP2
000019a3: PUSH4 0xffffffff
000019a8: AND
000019a9: PUSH1 0xe0
000019ab: PUSH1 0x02
000019ad: EXP
000019ae: MUL
000019af: DUP2
000019b0: MSTORE
000019b1: PUSH1 0x04
000019b3: ADD
000019b4: PUSH1 0x20
000019b6: PUSH1 0x40
000019b8: MLOAD
000019b9: DUP1
000019ba: DUP4
000019bb: SUB
000019bc: DUP2
000019bd: PUSH1 0x00
000019bf: DUP8
000019c0: DUP1
000019c1: EXTCODESIZE
000019c2: ISZERO
000019c3: ISZERO
000019c4: PUSH2 0x19cc
000019c7: JUMPI
000019c8: PUSH1 0x00
000019ca: DUP1
000019cb: REVERT
000019cc: JUMPDEST
000019cd: GAS
000019ce: CALL
000019cf: ISZERO
000019d0: ISZERO
000019d1: PUSH2 0x19d9
000019d4: JUMPI
000019d5: PUSH1 0x00
000019d7: DUP1
000019d8: REVERT
000019d9: JUMPDEST
000019da: POP
000019db: POP
000019dc: POP
000019dd: PUSH1 0x40
000019df: MLOAD
000019e0: DUP1
000019e1: MLOAD
000019e2: SWAP1
000019e3: POP
000019e4: DUP9
000019e5: PUSH1 0x08
000019e7: ADD
000019e8: SLOAD
000019e9: MUL
000019ea: DUP2
000019eb: ISZERO
000019ec: ISZERO
000019ed: PUSH2 0x19f2
000019f0: JUMPI
000019f1: INVALID
000019f2: JUMPDEST
000019f3: DIV
000019f4: SWAP2
000019f5: POP
000019f6: DUP7
000019f7: PUSH1 0x08
000019f9: ADD
000019fa: SLOAD
000019fb: ADDRESS
000019fc: PUSH1 0x01
000019fe: PUSH1 0xa0
00001a00: PUSH1 0x02
00001a02: EXP
00001a03: SUB
00001a04: AND
00001a05: BALANCE
00001a06: SUB
00001a07: DUP8
00001a08: PUSH1 0x09
00001a0a: ADD
00001a0b: DUP2
00001a0c: SWAP1
00001a0d: SSTORE
00001a0e: POP
00001a0f: PUSH2 0x1a26
00001a12: PUSH5 0x09502f9000
00001a18: DUP9
00001a19: PUSH1 0x0a
00001a1b: ADD
00001a1c: SLOAD
00001a1d: DUP10
00001a1e: PUSH1 0x11
00001a20: ADD
00001a21: SLOAD
00001a22: PUSH2 0x293a
00001a25: JUMP
00001a26: JUMPDEST
00001a27: SWAP1
00001a28: POP
00001a29: PUSH1 0x00
00001a2b: DUP2
00001a2c: GT
00001a2d: ISZERO
00001a2e: PUSH2 0x1a66
00001a31: JUMPI
00001a32: PUSH1 0x12
00001a34: DUP8
00001a35: ADD
00001a36: SLOAD
00001a37: PUSH1 0x01
00001a39: PUSH1 0xa0
00001a3b: PUSH1 0x02
00001a3d: EXP
00001a3e: SUB
00001a3f: AND
00001a40: DUP2
00001a41: ISZERO
00001a42: PUSH2 0x08fc
00001a45: MUL
00001a46: DUP3
00001a47: PUSH1 0x40
00001a49: MLOAD
00001a4a: PUSH1 0x00
00001a4c: PUSH1 0x40
00001a4e: MLOAD
00001a4f: DUP1
00001a50: DUP4
00001a51: SUB
00001a52: DUP2
00001a53: DUP6
00001a54: DUP9
00001a55: DUP9
00001a56: CALL
00001a57: SWAP4
00001a58: POP
00001a59: POP
00001a5a: POP
00001a5b: POP
00001a5c: ISZERO
00001a5d: ISZERO
00001a5e: PUSH2 0x1a66
00001a61: JUMPI
00001a62: PUSH1 0x00
00001a64: DUP1
00001a65: REVERT
00001a66: JUMPDEST
00001a67: DUP6
00001a68: PUSH1 0x01
00001a6a: PUSH1 0xa0
00001a6c: PUSH1 0x02
00001a6e: EXP
00001a6f: SUB
00001a70: AND
00001a71: PUSH1 0x00
00001a73: DUP6
00001a74: GT
00001a75: PUSH2 0x1a7e
00001a78: JUMPI
00001a79: GAS
00001a7a: PUSH2 0x1a80
00001a7d: JUMP
00001a7e: JUMPDEST
00001a7f: DUP5
00001a80: JUMPDEST
00001a81: DUP3
00001a82: DUP5
00001a83: DUP11
00001a84: PUSH1 0x08
00001a86: ADD
00001a87: SLOAD
00001a88: SUB
00001a89: SUB
00001a8a: DUP6
00001a8b: PUSH1 0x40
00001a8d: MLOAD
00001a8e: DUP1
00001a8f: DUP3
00001a90: DUP1
00001a91: MLOAD
00001a92: SWAP1
00001a93: PUSH1 0x20
00001a95: ADD
00001a96: SWAP1
00001a97: DUP1
00001a98: DUP4
00001a99: DUP4
00001a9a: PUSH1 0x00
00001a9c: JUMPDEST
00001a9d: DUP4
00001a9e: DUP2
00001a9f: LT
00001aa0: ISZERO
00001aa1: PUSH2 0x1ab4
00001aa4: JUMPI
00001aa5: DUP1
00001aa6: DUP3
00001aa7: ADD
00001aa8: MLOAD
00001aa9: DUP4
00001aaa: DUP3
00001aab: ADD
00001aac: MSTORE
00001aad: PUSH1 0x20
00001aaf: ADD
00001ab0: PUSH2 0x1a9c
00001ab3: JUMP
00001ab4: JUMPDEST
00001ab5: POP
00001ab6: POP
00001ab7: POP
00001ab8: POP
00001ab9: SWAP1
00001aba: POP
00001abb: SWAP1
00001abc: DUP2
00001abd: ADD
00001abe: SWAP1
00001abf: PUSH1 0x1f
00001ac1: AND
00001ac2: DUP1
00001ac3: ISZERO
00001ac4: PUSH2 0x1ae1
00001ac7: JUMPI
00001ac8: DUP1
00001ac9: DUP3
00001aca: SUB
00001acb: DUP1
00001acc: MLOAD
00001acd: PUSH1 0x01
00001acf: DUP4
00001ad0: PUSH1 0x20
00001ad2: SUB
00001ad3: PUSH2 0x0100
00001ad6: EXP
00001ad7: SUB
00001ad8: NOT
00001ad9: AND
00001ada: DUP2
00001adb: MSTORE
00001adc: PUSH1 0x20
00001ade: ADD
00001adf: SWAP2
00001ae0: POP
00001ae1: JUMPDEST
00001ae2: POP
00001ae3: SWAP2
00001ae4: POP
00001ae5: POP
00001ae6: PUSH1 0x00
00001ae8: PUSH1 0x40
00001aea: MLOAD
00001aeb: DUP1
00001aec: DUP4
00001aed: SUB
00001aee: DUP2
00001aef: DUP6
00001af0: DUP9
00001af1: DUP9
00001af2: CALL
00001af3: SWAP4
00001af4: POP
00001af5: POP
00001af6: POP
00001af7: POP
00001af8: ISZERO
00001af9: ISZERO
00001afa: PUSH2 0x1b02
00001afd: JUMPI
00001afe: PUSH1 0x00
00001b00: DUP1
00001b01: REVERT
00001b02: JUMPDEST
00001b03: POP
00001b04: POP
00001b05: POP
00001b06: POP
00001b07: POP
00001b08: POP
00001b09: POP
00001b0a: JUMP
00001b0b: JUMPDEST
00001b0c: DUP1
00001b0d: SLOAD
00001b0e: PUSH1 0xff
00001b10: AND
00001b11: PUSH1 0x00
00001b13: DUP1
00001b14: DUP1
00001b15: DUP1
00001b16: DUP1
00001b17: DUP1
00001b18: DUP1
00001b19: DUP1
00001b1a: DUP1
00001b1b: DUP10
00001b1c: PUSH1 0x03
00001b1e: DUP2
00001b1f: GT
00001b20: ISZERO
00001b21: PUSH2 0x1b26
00001b24: JUMPI
00001b25: INVALID
00001b26: JUMPDEST
00001b27: EQ
00001b28: ISZERO
00001b29: PUSH2 0x1c21
00001b2c: JUMPI
00001b2d: PUSH1 0x01
00001b2f: PUSH1 0xa0
00001b31: PUSH1 0x02
00001b33: EXP
00001b34: SUB
00001b35: CALLER
00001b36: AND
00001b37: PUSH1 0x00
00001b39: SWAP1
00001b3a: DUP2
00001b3b: MSTORE
00001b3c: PUSH1 0x07
00001b3e: DUP12
00001b3f: ADD
00001b40: PUSH1 0x20
00001b42: MSTORE
00001b43: PUSH1 0x40
00001b45: SWAP1
00001b46: KECCAK256
00001b47: PUSH1 0x01
00001b49: DUP2
00001b4a: ADD
00001b4b: SLOAD
00001b4c: DUP2
00001b4d: SLOAD
00001b4e: SWAP2
00001b4f: SWAP10
00001b50: POP
00001b51: SWAP8
00001b52: POP
00001b53: DUP8
00001b54: ADD
00001b55: ISZERO
00001b56: ISZERO
00001b57: PUSH2 0x1b5f
00001b5a: JUMPI
00001b5b: PUSH2 0x1d4d
00001b5e: JUMP
00001b5f: JUMPDEST
00001b60: DUP8
00001b61: SLOAD
00001b62: PUSH1 0x00
00001b64: SWAP1
00001b65: GT
00001b66: ISZERO
00001b67: PUSH2 0x1b7e
00001b6a: JUMPI
00001b6b: PUSH1 0x0a
00001b6d: DUP11
00001b6e: ADD
00001b6f: DUP1
00001b70: SLOAD
00001b71: PUSH1 0x00
00001b73: NOT
00001b74: ADD
00001b75: SWAP1
00001b76: SSTORE
00001b77: DUP8
00001b78: SLOAD
00001b79: SWAP7
00001b7a: SWAP1
00001b7b: SWAP7
00001b7c: ADD
00001b7d: SWAP6
00001b7e: JUMPDEST
00001b7f: DUP8
00001b80: SLOAD
00001b81: PUSH1 0x08
00001b83: DUP12
00001b84: ADD
00001b85: DUP1
00001b86: SLOAD
00001b87: SWAP2
00001b88: SWAP1
00001b89: SWAP2
00001b8a: SUB
00001b8b: DUP2
00001b8c: SSTORE
00001b8d: PUSH1 0x00
00001b8f: DUP1
00001b90: DUP11
00001b91: SSTORE
00001b92: SWAP1
00001b93: SLOAD
00001b94: PUSH1 0x00
00001b96: DUP1
00001b97: MLOAD
00001b98: PUSH1 0x20
00001b9a: PUSH2 0x374d
00001b9d: DUP4
00001b9e: CODECOPY
00001b9f: DUP2
00001ba0: MLOAD
00001ba1: SWAP2
00001ba2: MSTORE
00001ba3: SWAP2
00001ba4: CALLER
00001ba5: SWAP2
00001ba6: DUP11
00001ba7: SWAP2
00001ba8: SWAP1
00001ba9: DUP2
00001baa: SWAP1
00001bab: PUSH1 0x40
00001bad: MLOAD
00001bae: PUSH1 0x01
00001bb0: PUSH1 0xa0
00001bb2: PUSH1 0x02
00001bb4: EXP
00001bb5: SUB
00001bb6: SWAP1
00001bb7: SWAP6
00001bb8: AND
00001bb9: DUP6
00001bba: MSTORE
00001bbb: PUSH1 0x20
00001bbd: DUP6
00001bbe: ADD
00001bbf: SWAP4
00001bc0: SWAP1
00001bc1: SWAP4
00001bc2: MSTORE
00001bc3: PUSH1 0x40
00001bc5: DUP1
00001bc6: DUP6
00001bc7: ADD
00001bc8: SWAP3
00001bc9: SWAP1
00001bca: SWAP3
00001bcb: MSTORE
00001bcc: PUSH1 0x60
00001bce: DUP5
00001bcf: ADD
00001bd0: MSTORE
00001bd1: PUSH1 0x80
00001bd3: DUP4
00001bd4: ADD
00001bd5: SWAP2
00001bd6: SWAP1
00001bd7: SWAP2
00001bd8: MSTORE
00001bd9: PUSH1 0xa0
00001bdb: SWAP1
00001bdc: SWAP2
00001bdd: ADD
00001bde: SWAP1
00001bdf: MLOAD
00001be0: DUP1
00001be1: SWAP2
00001be2: SUB
00001be3: SWAP1
00001be4: LOG1
00001be5: PUSH1 0x00
00001be7: PUSH1 0x01
00001be9: DUP10
00001bea: ADD
00001beb: SSTORE
00001bec: PUSH1 0x01
00001bee: PUSH1 0xa0
00001bf0: PUSH1 0x02
00001bf2: EXP
00001bf3: SUB
00001bf4: CALLER
00001bf5: AND
00001bf6: DUP8
00001bf7: ISZERO
00001bf8: PUSH2 0x08fc
00001bfb: MUL
00001bfc: DUP9
00001bfd: PUSH1 0x40
00001bff: MLOAD
00001c00: PUSH1 0x00
00001c02: PUSH1 0x40
00001c04: MLOAD
00001c05: DUP1
00001c06: DUP4
00001c07: SUB
00001c08: DUP2
00001c09: DUP6
00001c0a: DUP9
00001c0b: DUP9
00001c0c: CALL
00001c0d: SWAP4
00001c0e: POP
00001c0f: POP
00001c10: POP
00001c11: POP
00001c12: ISZERO
00001c13: ISZERO
00001c14: PUSH2 0x1c1c
00001c17: JUMPI
00001c18: PUSH1 0x00
00001c1a: DUP1
00001c1b: REVERT
00001c1c: JUMPDEST
00001c1d: PUSH2 0x1d4d
00001c20: JUMP
00001c21: JUMPDEST
00001c22: PUSH1 0x03
00001c24: DUP10
00001c25: PUSH1 0x03
00001c27: DUP2
00001c28: GT
00001c29: ISZERO
00001c2a: PUSH2 0x1c2f
00001c2d: JUMPI
00001c2e: INVALID
00001c2f: JUMPDEST
00001c30: EQ
00001c31: DUP1
00001c32: PUSH2 0x1c46
00001c35: JUMPI
00001c36: POP
00001c37: PUSH1 0x01
00001c39: DUP10
00001c3a: PUSH1 0x03
00001c3c: DUP2
00001c3d: GT
00001c3e: ISZERO
00001c3f: PUSH2 0x1c44
00001c42: JUMPI
00001c43: INVALID
00001c44: JUMPDEST
00001c45: EQ
00001c46: JUMPDEST
00001c47: DUP1
00001c48: PUSH2 0x1c5c
00001c4b: JUMPI
00001c4c: POP
00001c4d: PUSH1 0x02
00001c4f: DUP10
00001c50: PUSH1 0x03
00001c52: DUP2
00001c53: GT
00001c54: ISZERO
00001c55: PUSH2 0x1c5a
00001c58: JUMPI
00001c59: INVALID
00001c5a: JUMPDEST
00001c5b: EQ
00001c5c: JUMPDEST
00001c5d: ISZERO
00001c5e: ISZERO
00001c5f: PUSH2 0x1c67
00001c62: JUMPI
00001c63: PUSH1 0x00
00001c65: DUP1
00001c66: REVERT
00001c67: JUMPDEST
00001c68: PUSH1 0x00
00001c6a: SWAP6
00001c6b: POP
00001c6c: PUSH1 0x02
00001c6e: DUP10
00001c6f: PUSH1 0x03
00001c71: DUP2
00001c72: GT
00001c73: ISZERO
00001c74: PUSH2 0x1c79
00001c77: JUMPI
00001c78: INVALID
00001c79: JUMPDEST
00001c7a: EQ
00001c7b: ISZERO
00001c7c: PUSH2 0x1cd9
00001c7f: JUMPI
00001c80: PUSH1 0x10
00001c82: DUP11
00001c83: ADD
00001c84: SLOAD
00001c85: PUSH1 0x01
00001c87: PUSH1 0xa0
00001c89: PUSH1 0x02
00001c8b: EXP
00001c8c: SUB
00001c8d: AND
00001c8e: PUSH4 0x9592619c
00001c93: PUSH1 0x40
00001c95: MLOAD
00001c96: DUP2
00001c97: PUSH4 0xffffffff
00001c9c: AND
00001c9d: PUSH1 0xe0
00001c9f: PUSH1 0x02
00001ca1: EXP
00001ca2: MUL
00001ca3: DUP2
00001ca4: MSTORE
00001ca5: PUSH1 0x04
00001ca7: ADD
00001ca8: PUSH1 0x20
00001caa: PUSH1 0x40
00001cac: MLOAD
00001cad: DUP1
00001cae: DUP4
00001caf: SUB
00001cb0: DUP2
00001cb1: PUSH1 0x00
00001cb3: DUP8
00001cb4: DUP1
00001cb5: EXTCODESIZE
00001cb6: ISZERO
00001cb7: ISZERO
00001cb8: PUSH2 0x1cc0
00001cbb: JUMPI
00001cbc: PUSH1 0x00
00001cbe: DUP1
00001cbf: REVERT
00001cc0: JUMPDEST
00001cc1: GAS
00001cc2: CALL
00001cc3: ISZERO
00001cc4: ISZERO
00001cc5: PUSH2 0x1ccd
00001cc8: JUMPI
00001cc9: PUSH1 0x00
00001ccb: DUP1
00001ccc: REVERT
00001ccd: JUMPDEST
00001cce: POP
00001ccf: POP
00001cd0: POP
00001cd1: PUSH1 0x40
00001cd3: MLOAD
00001cd4: DUP1
00001cd5: MLOAD
00001cd6: SWAP7
00001cd7: POP
00001cd8: POP
00001cd9: JUMPDEST
00001cda: PUSH2 0x1cee
00001cdd: PUSH5 0x09502f9000
00001ce3: PUSH1 0x01
00001ce5: DUP13
00001ce6: PUSH1 0x11
00001ce8: ADD
00001ce9: SLOAD
00001cea: PUSH2 0x293a
00001ced: JUMP
00001cee: JUMPDEST
00001cef: PUSH1 0x08
00001cf1: DUP12
00001cf2: ADD
00001cf3: SLOAD
00001cf4: PUSH1 0x0a
00001cf6: DUP13
00001cf7: ADD
00001cf8: SLOAD
00001cf9: PUSH1 0x09
00001cfb: DUP14
00001cfc: ADD
00001cfd: SLOAD
00001cfe: PUSH1 0x0f
00001d00: DUP15
00001d01: ADD
00001d02: SLOAD
00001d03: SWAP4
00001d04: SWAP9
00001d05: POP
00001d06: SWAP2
00001d07: SWAP7
00001d08: POP
00001d09: PUSH8 0x0de0b6b3a7640000
00001d12: DUP10
00001d13: DUP9
00001d14: MUL
00001d15: DIV
00001d16: SWAP6
00001d17: POP
00001d18: DUP8
00001d19: MUL
00001d1a: DUP6
00001d1b: DUP8
00001d1c: SUB
00001d1d: SUB
00001d1e: SWAP4
00001d1f: POP
00001d20: SWAP2
00001d21: POP
00001d22: PUSH1 0x01
00001d24: PUSH1 0xa0
00001d26: PUSH1 0x02
00001d28: EXP
00001d29: SUB
00001d2a: AND
00001d2b: ISZERO
00001d2c: ISZERO
00001d2d: PUSH2 0x1d33
00001d30: JUMPI
00001d31: DUP3
00001d32: ADD
00001d33: JUMPDEST
00001d34: PUSH2 0x1d4d
00001d37: DUP11
00001d38: CALLER
00001d39: DUP9
00001d3a: DUP9
00001d3b: DUP6
00001d3c: ADDRESS
00001d3d: PUSH1 0x01
00001d3f: PUSH1 0xa0
00001d41: PUSH1 0x02
00001d43: EXP
00001d44: SUB
00001d45: AND
00001d46: BALANCE
00001d47: SUB
00001d48: DUP8
00001d49: PUSH2 0x2df7
00001d4c: JUMP
00001d4d: JUMPDEST
00001d4e: POP
00001d4f: POP
00001d50: POP
00001d51: POP
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: POP
00001d57: POP
00001d58: JUMP
00001d59: JUMPDEST
00001d5a: PUSH2 0x1d62
00001d5d: DUP3
00001d5e: PUSH2 0x2945
00001d61: JUMP
00001d62: JUMPDEST
00001d63: PUSH1 0x02
00001d65: DUP3
00001d66: SLOAD
00001d67: PUSH1 0xff
00001d69: AND
00001d6a: PUSH1 0x03
00001d6c: DUP2
00001d6d: GT
00001d6e: ISZERO
00001d6f: PUSH2 0x1d74
00001d72: JUMPI
00001d73: INVALID
00001d74: JUMPDEST
00001d75: EQ
00001d76: DUP1
00001d77: PUSH2 0x1d8f
00001d7a: JUMPI
00001d7b: POP
00001d7c: PUSH1 0x03
00001d7e: DUP3
00001d7f: SLOAD
00001d80: PUSH1 0xff
00001d82: AND
00001d83: PUSH1 0x03
00001d85: DUP2
00001d86: GT
00001d87: ISZERO
00001d88: PUSH2 0x1d8d
00001d8b: JUMPI
00001d8c: INVALID
00001d8d: JUMPDEST
00001d8e: EQ
00001d8f: JUMPDEST
00001d90: ISZERO
00001d91: ISZERO
00001d92: PUSH2 0x1d9a
00001d95: JUMPI
00001d96: PUSH1 0x00
00001d98: DUP1
00001d99: REVERT
00001d9a: JUMPDEST
00001d9b: PUSH1 0x0f
00001d9d: DUP3
00001d9e: ADD
00001d9f: SLOAD
00001da0: PUSH1 0x01
00001da2: PUSH1 0xa0
00001da4: PUSH1 0x02
00001da6: EXP
00001da7: SUB
00001da8: AND
00001da9: ISZERO
00001daa: PUSH2 0x1db2
00001dad: JUMPI
00001dae: PUSH1 0x00
00001db0: DUP1
00001db1: REVERT
00001db2: JUMPDEST
00001db3: PUSH1 0x0b
00001db5: DUP3
00001db6: ADD
00001db7: SLOAD
00001db8: PUSH1 0x01
00001dba: PUSH1 0xa0
00001dbc: PUSH1 0x02
00001dbe: EXP
00001dbf: SUB
00001dc0: DUP3
00001dc1: DUP2
00001dc2: AND
00001dc3: SWAP2
00001dc4: AND
00001dc5: EQ
00001dc6: PUSH2 0x1e24
00001dc9: JUMPI
00001dca: PUSH1 0x0b
00001dcc: DUP3
00001dcd: ADD
00001dce: DUP1
00001dcf: SLOAD
00001dd0: PUSH1 0x01
00001dd2: PUSH1 0xa0
00001dd4: PUSH1 0x02
00001dd6: EXP
00001dd7: SUB
00001dd8: NOT
00001dd9: AND
00001dda: PUSH1 0x01
00001ddc: PUSH1 0xa0
00001dde: PUSH1 0x02
00001de0: EXP
00001de1: SUB
00001de2: DUP4
00001de3: AND
00001de4: OR
00001de5: SWAP1
00001de6: SSTORE
00001de7: PUSH32 0xac140301f2bddbabdc6ee045fb15f29d6f070b8d470ed982696c1b6d4e475fea
00001e08: DUP2
00001e09: PUSH1 0x40
00001e0b: MLOAD
00001e0c: PUSH1 0x01
00001e0e: PUSH1 0xa0
00001e10: PUSH1 0x02
00001e12: EXP
00001e13: SUB
00001e14: SWAP1
00001e15: SWAP2
00001e16: AND
00001e17: DUP2
00001e18: MSTORE
00001e19: PUSH1 0x20
00001e1b: ADD
00001e1c: PUSH1 0x40
00001e1e: MLOAD
00001e1f: DUP1
00001e20: SWAP2
00001e21: SUB
00001e22: SWAP1
00001e23: LOG1
00001e24: JUMPDEST
00001e25: PUSH1 0x02
00001e27: DUP3
00001e28: SLOAD
00001e29: PUSH1 0xff
00001e2b: AND
00001e2c: PUSH1 0x03
00001e2e: DUP2
00001e2f: GT
00001e30: ISZERO
00001e31: PUSH2 0x1e36
00001e34: JUMPI
00001e35: INVALID
00001e36: JUMPDEST
00001e37: EQ
00001e38: ISZERO
00001e39: PUSH2 0x0667
00001e3c: JUMPI
00001e3d: PUSH2 0x0667
00001e40: DUP3
00001e41: PUSH1 0x03
00001e43: PUSH2 0x2d7b
00001e46: JUMP
00001e47: JUMPDEST
00001e48: PUSH1 0x00
00001e4a: PUSH2 0x1e52
00001e4d: DUP3
00001e4e: PUSH2 0x2945
00001e51: JUMP
00001e52: JUMPDEST
00001e53: PUSH2 0x1e5d
00001e56: DUP3
00001e57: PUSH1 0x00
00001e59: PUSH2 0x0c40
00001e5c: JUMP
00001e5d: JUMPDEST
00001e5e: PUSH2 0x1e68
00001e61: DUP3
00001e62: PUSH1 0x01
00001e64: PUSH2 0x2d7b
00001e67: JUMP
00001e68: JUMPDEST
00001e69: PUSH1 0x08
00001e6b: DUP3
00001e6c: ADD
00001e6d: SLOAD
00001e6e: PUSH1 0x01
00001e70: PUSH1 0xa0
00001e72: PUSH1 0x02
00001e74: EXP
00001e75: SUB
00001e76: ADDRESS
00001e77: AND
00001e78: BALANCE
00001e79: SUB
00001e7a: PUSH1 0x09
00001e7c: DUP4
00001e7d: ADD
00001e7e: SSTORE
00001e7f: PUSH1 0x11
00001e81: DUP3
00001e82: ADD
00001e83: SLOAD
00001e84: PUSH1 0x00
00001e86: SWAP1
00001e87: GT
00001e88: ISZERO
00001e89: PUSH2 0x0667
00001e8c: JUMPI
00001e8d: PUSH1 0x01
00001e8f: DUP3
00001e90: PUSH1 0x11
00001e92: ADD
00001e93: DUP2
00001e94: SWAP1
00001e95: SSTORE
00001e96: POP
00001e97: PUSH2 0x1eab
00001e9a: PUSH5 0x09502f9000
00001ea0: DUP4
00001ea1: PUSH1 0x0a
00001ea3: ADD
00001ea4: SLOAD
00001ea5: PUSH1 0x01
00001ea7: PUSH2 0x293a
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: PUSH1 0x12
00001eae: DUP4
00001eaf: ADD
00001eb0: SLOAD
00001eb1: SWAP1
00001eb2: SWAP2
00001eb3: POP
00001eb4: PUSH1 0x01
00001eb6: PUSH1 0xa0
00001eb8: PUSH1 0x02
00001eba: EXP
00001ebb: SUB
00001ebc: AND
00001ebd: DUP2
00001ebe: ISZERO
00001ebf: PUSH2 0x08fc
00001ec2: MUL
00001ec3: DUP3
00001ec4: PUSH1 0x40
00001ec6: MLOAD
00001ec7: PUSH1 0x00
00001ec9: PUSH1 0x40
00001ecb: MLOAD
00001ecc: DUP1
00001ecd: DUP4
00001ece: SUB
00001ecf: DUP2
00001ed0: DUP6
00001ed1: DUP9
00001ed2: DUP9
00001ed3: CALL
00001ed4: SWAP4
00001ed5: POP
00001ed6: POP
00001ed7: POP
00001ed8: POP
00001ed9: ISZERO
00001eda: ISZERO
00001edb: PUSH2 0x0667
00001ede: JUMPI
00001edf: PUSH1 0x00
00001ee1: DUP1
00001ee2: REVERT
00001ee3: JUMPDEST
00001ee4: PUSH1 0x00
00001ee6: DUP1
00001ee7: PUSH1 0x00
00001ee9: PUSH2 0x1ef3
00001eec: DUP5
00001eed: PUSH1 0x00
00001eef: PUSH2 0x0c40
00001ef2: JUMP
00001ef3: JUMPDEST
00001ef4: PUSH1 0x00
00001ef6: CALLVALUE
00001ef7: GT
00001ef8: PUSH2 0x1f00
00001efb: JUMPI
00001efc: PUSH1 0x00
00001efe: DUP1
00001eff: REVERT
00001f00: JUMPDEST
00001f01: PUSH1 0x01
00001f03: PUSH1 0xa0
00001f05: PUSH1 0x02
00001f07: EXP
00001f08: SUB
00001f09: CALLER
00001f0a: AND
00001f0b: PUSH1 0x00
00001f0d: SWAP1
00001f0e: DUP2
00001f0f: MSTORE
00001f10: PUSH1 0x07
00001f12: DUP6
00001f13: ADD
00001f14: PUSH1 0x20
00001f16: MSTORE
00001f17: PUSH1 0x40
00001f19: SWAP1
00001f1a: KECCAK256
00001f1b: SWAP3
00001f1c: POP
00001f1d: PUSH2 0x1f26
00001f20: DUP5
00001f21: DUP5
00001f22: PUSH2 0x2f3f
00001f25: JUMP
00001f26: JUMPDEST
00001f27: ISZERO
00001f28: ISZERO
00001f29: PUSH2 0x1f31
00001f2c: JUMPI
00001f2d: PUSH1 0x00
00001f2f: DUP1
00001f30: REVERT
00001f31: JUMPDEST
00001f32: PUSH2 0x1f4f
00001f35: DUP5
00001f36: PUSH1 0x02
00001f38: ADD
00001f39: SLOAD
00001f3a: DUP6
00001f3b: PUSH1 0x03
00001f3d: ADD
00001f3e: SLOAD
00001f3f: DUP7
00001f40: PUSH1 0x04
00001f42: ADD
00001f43: SLOAD
00001f44: DUP8
00001f45: PUSH1 0x08
00001f47: ADD
00001f48: SLOAD
00001f49: DUP8
00001f4a: CALLVALUE
00001f4b: PUSH2 0x2f68
00001f4e: JUMP
00001f4f: JUMPDEST
00001f50: SWAP1
00001f51: SWAP3
00001f52: POP
00001f53: SWAP1
00001f54: POP
00001f55: DUP1
00001f56: ISZERO
00001f57: PUSH2 0x1f5f
00001f5a: JUMPI
00001f5b: PUSH1 0x00
00001f5d: DUP1
00001f5e: REVERT
00001f5f: JUMPDEST
00001f60: DUP3
00001f61: SLOAD
00001f62: ISZERO
00001f63: ISZERO
00001f64: PUSH2 0x1f73
00001f67: JUMPI
00001f68: PUSH1 0x0a
00001f6a: DUP5
00001f6b: ADD
00001f6c: DUP1
00001f6d: SLOAD
00001f6e: PUSH1 0x01
00001f70: ADD
00001f71: SWAP1
00001f72: SSTORE
00001f73: JUMPDEST
00001f74: DUP3
00001f75: SLOAD
00001f76: PUSH1 0x08
00001f78: DUP6
00001f79: ADD
00001f7a: DUP1
00001f7b: SLOAD
00001f7c: SWAP2
00001f7d: SWAP1
00001f7e: SWAP2
00001f7f: SUB
00001f80: DUP4
00001f81: ADD
00001f82: SWAP1
00001f83: SSTORE
00001f84: PUSH1 0x01
00001f86: DUP4
00001f87: ADD
00001f88: DUP2
00001f89: SWAP1
00001f8a: SSTORE
00001f8b: DUP2
00001f8c: DUP4
00001f8d: SSTORE
00001f8e: PUSH1 0x02
00001f90: DUP4
00001f91: ADD
00001f92: SLOAD
00001f93: PUSH3 0x010000
00001f97: SWAP1
00001f98: DIV
00001f99: PUSH1 0xff
00001f9b: AND
00001f9c: ISZERO
00001f9d: ISZERO
00001f9e: PUSH2 0x1ff9
00001fa1: JUMPI
00001fa2: PUSH1 0x02
00001fa4: DUP4
00001fa5: ADD
00001fa6: DUP1
00001fa7: SLOAD
00001fa8: PUSH3 0xff0000
00001fac: NOT
00001fad: PUSH2 0xff00
00001fb0: NOT
00001fb1: SWAP1
00001fb2: SWAP2
00001fb3: AND
00001fb4: PUSH2 0x0100
00001fb7: OR
00001fb8: AND
00001fb9: PUSH3 0x010000
00001fbd: OR
00001fbe: SWAP1
00001fbf: SSTORE
00001fc0: PUSH1 0x05
00001fc2: DUP5
00001fc3: ADD
00001fc4: DUP1
00001fc5: SLOAD
00001fc6: PUSH1 0x01
00001fc8: DUP2
00001fc9: ADD
00001fca: PUSH2 0x1fd3
00001fcd: DUP4
00001fce: DUP3
00001fcf: PUSH2 0x32e0
00001fd2: JUMP
00001fd3: JUMPDEST
00001fd4: POP
00001fd5: PUSH1 0x00
00001fd7: SWAP2
00001fd8: DUP3
00001fd9: MSTORE
00001fda: PUSH1 0x20
00001fdc: SWAP1
00001fdd: SWAP2
00001fde: KECCAK256
00001fdf: ADD
00001fe0: DUP1
00001fe1: SLOAD
00001fe2: PUSH1 0x01
00001fe4: PUSH1 0xa0
00001fe6: PUSH1 0x02
00001fe8: EXP
00001fe9: SUB
00001fea: NOT
00001feb: AND
00001fec: CALLER
00001fed: PUSH1 0x01
00001fef: PUSH1 0xa0
00001ff1: PUSH1 0x02
00001ff3: EXP
00001ff4: SUB
00001ff5: AND
00001ff6: OR
00001ff7: SWAP1
00001ff8: SSTORE
00001ff9: JUMPDEST
00001ffa: PUSH32 0x36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e
0000201b: CALLER
0000201c: CALLVALUE
0000201d: DUP6
0000201e: PUSH1 0x00
00002020: ADD
00002021: SLOAD
00002022: DUP8
00002023: PUSH1 0x08
00002025: ADD
00002026: SLOAD
00002027: PUSH1 0x40
00002029: MLOAD
0000202a: DUP1
0000202b: DUP6
0000202c: PUSH1 0x01
0000202e: PUSH1 0xa0
00002030: PUSH1 0x02
00002032: EXP
00002033: SUB
00002034: AND
00002035: PUSH1 0x01
00002037: PUSH1 0xa0
00002039: PUSH1 0x02
0000203b: EXP
0000203c: SUB
0000203d: AND
0000203e: DUP2
0000203f: MSTORE
00002040: PUSH1 0x20
00002042: ADD
00002043: DUP5
00002044: DUP2
00002045: MSTORE
00002046: PUSH1 0x20
00002048: ADD
00002049: DUP4
0000204a: DUP2
0000204b: MSTORE
0000204c: PUSH1 0x20
0000204e: ADD
0000204f: DUP3
00002050: DUP2
00002051: MSTORE
00002052: PUSH1 0x20
00002054: ADD
00002055: SWAP5
00002056: POP
00002057: POP
00002058: POP
00002059: POP
0000205a: POP
0000205b: PUSH1 0x40
0000205d: MLOAD
0000205e: DUP1
0000205f: SWAP2
00002060: SUB
00002061: SWAP1
00002062: LOG1
00002063: POP
00002064: POP
00002065: POP
00002066: POP
00002067: JUMP
00002068: JUMPDEST
00002069: PUSH1 0x00
0000206b: DUP1
0000206c: PUSH1 0x00
0000206e: DUP1
0000206f: PUSH1 0x00
00002071: DUP1
00002072: PUSH1 0x00
00002074: DUP1
00002075: PUSH1 0x00
00002077: DUP1
00002078: PUSH2 0x2080
0000207b: DUP16
0000207c: PUSH2 0x2945
0000207f: JUMP
00002080: JUMPDEST
00002081: PUSH2 0x208b
00002084: DUP16
00002085: PUSH1 0x00
00002087: PUSH2 0x0c40
0000208a: JUMP
0000208b: JUMPDEST
0000208c: DUP14
0000208d: DUP16
0000208e: PUSH1 0x02
00002090: ADD
00002091: SLOAD
00002092: LT
00002093: DUP1
00002094: PUSH2 0x20a0
00002097: JUMPI
00002098: POP
00002099: DUP13
0000209a: DUP16
0000209b: PUSH1 0x03
0000209d: ADD
0000209e: SLOAD
0000209f: GT
000020a0: JUMPDEST
000020a1: SWAP10
000020a2: POP
000020a3: DUP14
000020a4: DUP16
000020a5: PUSH1 0x02
000020a7: ADD
000020a8: DUP2
000020a9: SWAP1
000020aa: SSTORE
000020ab: POP
000020ac: DUP13
000020ad: DUP16
000020ae: PUSH1 0x03
000020b0: ADD
000020b1: DUP2
000020b2: SWAP1
000020b3: SSTORE
000020b4: POP
000020b5: DUP12
000020b6: DUP16
000020b7: PUSH1 0x04
000020b9: ADD
000020ba: DUP2
000020bb: SWAP1
000020bc: SSTORE
000020bd: POP
000020be: PUSH2 0x20c6
000020c1: DUP16
000020c2: PUSH2 0x2fd3
000020c5: JUMP
000020c6: JUMPDEST
000020c7: PUSH32 0x81ed9d12804616ac7f219b046f48081f6f704a4bab03d58f911cc5c37d285fd9
000020e8: DUP15
000020e9: DUP15
000020ea: DUP15
000020eb: PUSH1 0x40
000020ed: MLOAD
000020ee: DUP1
000020ef: DUP5
000020f0: DUP2
000020f1: MSTORE
000020f2: PUSH1 0x20
000020f4: ADD
000020f5: DUP4
000020f6: DUP2
000020f7: MSTORE
000020f8: PUSH1 0x20
000020fa: ADD
000020fb: DUP3
000020fc: DUP2
000020fd: MSTORE
000020fe: PUSH1 0x20
00002100: ADD
00002101: SWAP4
00002102: POP
00002103: POP
00002104: POP
00002105: POP
00002106: PUSH1 0x40
00002108: MLOAD
00002109: DUP1
0000210a: SWAP2
0000210b: SUB
0000210c: SWAP1
0000210d: LOG1
0000210e: DUP10
0000210f: ISZERO
00002110: PUSH2 0x223c
00002113: JUMPI
00002114: PUSH1 0x00
00002116: SWAP9
00002117: POP
00002118: JUMPDEST
00002119: PUSH1 0x05
0000211b: DUP16
0000211c: ADD
0000211d: SLOAD
0000211e: DUP10
0000211f: LT
00002120: ISZERO
00002121: PUSH2 0x2237
00002124: JUMPI
00002125: PUSH1 0x05
00002127: DUP16
00002128: ADD
00002129: DUP1
0000212a: SLOAD
0000212b: DUP11
0000212c: SWAP1
0000212d: DUP2
0000212e: LT
0000212f: PUSH2 0x2134
00002132: JUMPI
00002133: INVALID
00002134: JUMPDEST
00002135: SWAP1
00002136: PUSH1 0x00
00002138: MSTORE
00002139: PUSH1 0x20
0000213b: PUSH1 0x00
0000213d: KECCAK256
0000213e: SWAP1
0000213f: ADD
00002140: PUSH1 0x00
00002142: SWAP1
00002143: SLOAD
00002144: SWAP1
00002145: PUSH2 0x0100
00002148: EXP
00002149: SWAP1
0000214a: DIV
0000214b: PUSH1 0x01
0000214d: PUSH1 0xa0
0000214f: PUSH1 0x02
00002151: EXP
00002152: SUB
00002153: AND
00002154: SWAP8
00002155: POP
00002156: DUP15
00002157: PUSH1 0x07
00002159: ADD
0000215a: PUSH1 0x00
0000215c: DUP10
0000215d: PUSH1 0x01
0000215f: PUSH1 0xa0
00002161: PUSH1 0x02
00002163: EXP
00002164: SUB
00002165: AND
00002166: PUSH1 0x01
00002168: PUSH1 0xa0
0000216a: PUSH1 0x02
0000216c: EXP
0000216d: SUB
0000216e: AND
0000216f: DUP2
00002170: MSTORE
00002171: PUSH1 0x20
00002173: ADD
00002174: SWAP1
00002175: DUP2
00002176: MSTORE
00002177: PUSH1 0x20
00002179: ADD
0000217a: PUSH1 0x00
0000217c: KECCAK256
0000217d: SWAP5
0000217e: POP
0000217f: DUP5
00002180: PUSH1 0x00
00002182: ADD
00002183: SLOAD
00002184: PUSH1 0x00
00002186: EQ
00002187: ISZERO
00002188: PUSH2 0x2190
0000218b: JUMPI
0000218c: PUSH2 0x222c
0000218f: JUMP
00002190: JUMPDEST
00002191: DUP5
00002192: SLOAD
00002193: PUSH1 0x01
00002195: DUP7
00002196: ADD
00002197: DUP1
00002198: SLOAD
00002199: SWAP1
0000219a: SWAP2
0000219b: ADD
0000219c: SWAP1
0000219d: SSTORE
0000219e: PUSH1 0x00
000021a0: DUP1
000021a1: DUP7
000021a2: SSTORE
000021a3: PUSH2 0x21b5
000021a6: SWAP1
000021a7: DUP16
000021a8: SWAP1
000021a9: DUP16
000021aa: SWAP1
000021ab: DUP16
000021ac: SWAP1
000021ad: DUP12
000021ae: SWAP1
000021af: DUP11
000021b0: SWAP1
000021b1: PUSH2 0x2f68
000021b4: JUMP
000021b5: JUMPDEST
000021b6: PUSH1 0x01
000021b8: DUP8
000021b9: ADD
000021ba: SSTORE
000021bb: DUP1
000021bc: DUP7
000021bd: SSTORE
000021be: PUSH1 0x00
000021c0: SWAP1
000021c1: GT
000021c2: ISZERO
000021c3: PUSH2 0x21d4
000021c6: JUMPI
000021c7: DUP5
000021c8: SLOAD
000021c9: SWAP7
000021ca: SWAP1
000021cb: SWAP7
000021cc: ADD
000021cd: SWAP6
000021ce: PUSH1 0x01
000021d0: SWAP1
000021d1: SWAP6
000021d2: ADD
000021d3: SWAP5
000021d4: JUMPDEST
000021d5: PUSH1 0x00
000021d7: DUP1
000021d8: MLOAD
000021d9: PUSH1 0x20
000021db: PUSH2 0x376d
000021de: DUP4
000021df: CODECOPY
000021e0: DUP2
000021e1: MLOAD
000021e2: SWAP2
000021e3: MSTORE
000021e4: DUP9
000021e5: DUP7
000021e6: PUSH1 0x01
000021e8: ADD
000021e9: SLOAD
000021ea: DUP8
000021eb: PUSH1 0x00
000021ed: ADD
000021ee: SLOAD
000021ef: DUP11
000021f0: PUSH1 0x40
000021f2: MLOAD
000021f3: DUP1
000021f4: DUP6
000021f5: PUSH1 0x01
000021f7: PUSH1 0xa0
000021f9: PUSH1 0x02
000021fb: EXP
000021fc: SUB
000021fd: AND
000021fe: PUSH1 0x01
00002200: PUSH1 0xa0
00002202: PUSH1 0x02
00002204: EXP
00002205: SUB
00002206: AND
00002207: DUP2
00002208: MSTORE
00002209: PUSH1 0x20
0000220b: ADD
0000220c: DUP5
0000220d: DUP2
0000220e: MSTORE
0000220f: PUSH1 0x20
00002211: ADD
00002212: DUP4
00002213: DUP2
00002214: MSTORE
00002215: PUSH1 0x20
00002217: ADD
00002218: DUP3
00002219: DUP2
0000221a: MSTORE
0000221b: PUSH1 0x20
0000221d: ADD
0000221e: SWAP5
0000221f: POP
00002220: POP
00002221: POP
00002222: POP
00002223: POP
00002224: PUSH1 0x40
00002226: MLOAD
00002227: DUP1
00002228: SWAP2
00002229: SUB
0000222a: SWAP1
0000222b: LOG1
0000222c: JUMPDEST
0000222d: PUSH1 0x01
0000222f: SWAP1
00002230: SWAP9
00002231: ADD
00002232: SWAP8
00002233: PUSH2 0x2118
00002236: JUMP
00002237: JUMPDEST
00002238: PUSH2 0x24ce
0000223b: JUMP
0000223c: JUMPDEST
0000223d: DUP15
0000223e: PUSH1 0x04
00002240: ADD
00002241: SLOAD
00002242: DUP16
00002243: PUSH1 0x08
00002245: ADD
00002246: SLOAD
00002247: GT
00002248: ISZERO
00002249: PUSH2 0x239f
0000224c: JUMPI
0000224d: DUP15
0000224e: PUSH1 0x08
00002250: ADD
00002251: SLOAD
00002252: SWAP7
00002253: POP
00002254: DUP15
00002255: PUSH1 0x0a
00002257: ADD
00002258: SLOAD
00002259: SWAP6
0000225a: POP
0000225b: PUSH1 0x01
0000225d: DUP16
0000225e: PUSH1 0x05
00002260: ADD
00002261: DUP1
00002262: SLOAD
00002263: SWAP1
00002264: POP
00002265: SUB
00002266: SWAP9
00002267: POP
00002268: JUMPDEST
00002269: PUSH1 0x00
0000226b: DUP10
0000226c: LT
0000226d: ISZERO
0000226e: DUP1
0000226f: ISZERO
00002270: PUSH2 0x2278
00002273: JUMPI
00002274: POP
00002275: DUP12
00002276: DUP8
00002277: GT
00002278: JUMPDEST
00002279: ISZERO
0000227a: PUSH2 0x2237
0000227d: JUMPI
0000227e: PUSH1 0x05
00002280: DUP16
00002281: ADD
00002282: DUP1
00002283: SLOAD
00002284: DUP11
00002285: SWAP1
00002286: DUP2
00002287: LT
00002288: PUSH2 0x228d
0000228b: JUMPI
0000228c: INVALID
0000228d: JUMPDEST
0000228e: SWAP1
0000228f: PUSH1 0x00
00002291: MSTORE
00002292: PUSH1 0x20
00002294: PUSH1 0x00
00002296: KECCAK256
00002297: SWAP1
00002298: ADD
00002299: PUSH1 0x00
0000229b: SWAP1
0000229c: SLOAD
0000229d: SWAP1
0000229e: PUSH2 0x0100
000022a1: EXP
000022a2: SWAP1
000022a3: DIV
000022a4: PUSH1 0x01
000022a6: PUSH1 0xa0
000022a8: PUSH1 0x02
000022aa: EXP
000022ab: SUB
000022ac: AND
000022ad: SWAP8
000022ae: POP
000022af: DUP15
000022b0: PUSH1 0x07
000022b2: ADD
000022b3: PUSH1 0x00
000022b5: DUP10
000022b6: PUSH1 0x01
000022b8: PUSH1 0xa0
000022ba: PUSH1 0x02
000022bc: EXP
000022bd: SUB
000022be: AND
000022bf: PUSH1 0x01
000022c1: PUSH1 0xa0
000022c3: PUSH1 0x02
000022c5: EXP
000022c6: SUB
000022c7: AND
000022c8: DUP2
000022c9: MSTORE
000022ca: PUSH1 0x20
000022cc: ADD
000022cd: SWAP1
000022ce: DUP2
000022cf: MSTORE
000022d0: PUSH1 0x20
000022d2: ADD
000022d3: PUSH1 0x00
000022d5: KECCAK256
000022d6: SWAP4
000022d7: POP
000022d8: DUP4
000022d9: PUSH1 0x00
000022db: ADD
000022dc: SLOAD
000022dd: PUSH1 0x00
000022df: EQ
000022e0: ISZERO
000022e1: PUSH2 0x22e9
000022e4: JUMPI
000022e5: PUSH2 0x2393
000022e8: JUMP
000022e9: JUMPDEST
000022ea: DUP4
000022eb: SLOAD
000022ec: PUSH1 0x01
000022ee: DUP6
000022ef: ADD
000022f0: DUP1
000022f1: SLOAD
000022f2: DUP3
000022f3: ADD
000022f4: SWAP1
000022f5: SSTORE
000022f6: PUSH1 0x00
000022f8: DUP6
000022f9: SSTORE
000022fa: SWAP1
000022fb: SWAP7
000022fc: SUB
000022fd: SWAP6
000022fe: PUSH1 0x00
00002300: NOT
00002301: SWAP6
00002302: SWAP1
00002303: SWAP6
00002304: ADD
00002305: SWAP5
00002306: DUP12
00002307: DUP8
00002308: LT
00002309: ISZERO
0000230a: PUSH2 0x233b
0000230d: JUMPI
0000230e: PUSH2 0x231c
00002311: DUP15
00002312: DUP15
00002313: DUP15
00002314: DUP11
00002315: DUP9
00002316: PUSH1 0x00
00002318: PUSH2 0x2f68
0000231b: JUMP
0000231c: JUMPDEST
0000231d: PUSH1 0x01
0000231f: DUP7
00002320: ADD
00002321: SSTORE
00002322: DUP1
00002323: DUP6
00002324: SSTORE
00002325: PUSH1 0x00
00002327: SWAP1
00002328: GT
00002329: ISZERO
0000232a: PUSH2 0x233b
0000232d: JUMPI
0000232e: DUP4
0000232f: SLOAD
00002330: SWAP7
00002331: SWAP1
00002332: SWAP7
00002333: ADD
00002334: SWAP6
00002335: PUSH1 0x01
00002337: SWAP1
00002338: SWAP6
00002339: ADD
0000233a: SWAP5
0000233b: JUMPDEST
0000233c: PUSH1 0x00
0000233e: DUP1
0000233f: MLOAD
00002340: PUSH1 0x20
00002342: PUSH2 0x376d
00002345: DUP4
00002346: CODECOPY
00002347: DUP2
00002348: MLOAD
00002349: SWAP2
0000234a: MSTORE
0000234b: DUP9
0000234c: DUP6
0000234d: PUSH1 0x01
0000234f: ADD
00002350: SLOAD
00002351: DUP7
00002352: PUSH1 0x00
00002354: ADD
00002355: SLOAD
00002356: DUP11
00002357: PUSH1 0x40
00002359: MLOAD
0000235a: DUP1
0000235b: DUP6
0000235c: PUSH1 0x01
0000235e: PUSH1 0xa0
00002360: PUSH1 0x02
00002362: EXP
00002363: SUB
00002364: AND
00002365: PUSH1 0x01
00002367: PUSH1 0xa0
00002369: PUSH1 0x02
0000236b: EXP
0000236c: SUB
0000236d: AND
0000236e: DUP2
0000236f: MSTORE
00002370: PUSH1 0x20
00002372: ADD
00002373: DUP5
00002374: DUP2
00002375: MSTORE
00002376: PUSH1 0x20
00002378: ADD
00002379: DUP4
0000237a: DUP2
0000237b: MSTORE
0000237c: PUSH1 0x20
0000237e: ADD
0000237f: DUP3
00002380: DUP2
00002381: MSTORE
00002382: PUSH1 0x20
00002384: ADD
00002385: SWAP5
00002386: POP
00002387: POP
00002388: POP
00002389: POP
0000238a: POP
0000238b: PUSH1 0x40
0000238d: MLOAD
0000238e: DUP1
0000238f: SWAP2
00002390: SUB
00002391: SWAP1
00002392: LOG1
00002393: JUMPDEST
00002394: PUSH1 0x00
00002396: NOT
00002397: SWAP1
00002398: SWAP9
00002399: ADD
0000239a: SWAP8
0000239b: PUSH2 0x2268
0000239e: JUMP
0000239f: JUMPDEST
000023a0: DUP15
000023a1: PUSH1 0x08
000023a3: ADD
000023a4: SLOAD
000023a5: SWAP7
000023a6: POP
000023a7: DUP15
000023a8: PUSH1 0x0a
000023aa: ADD
000023ab: SLOAD
000023ac: SWAP6
000023ad: POP
000023ae: PUSH1 0x00
000023b0: SWAP9
000023b1: POP
000023b2: JUMPDEST
000023b3: DUP11
000023b4: MLOAD
000023b5: DUP10
000023b6: LT
000023b7: ISZERO
000023b8: PUSH2 0x24ce
000023bb: JUMPI
000023bc: DUP11
000023bd: DUP10
000023be: DUP2
000023bf: MLOAD
000023c0: DUP2
000023c1: LT
000023c2: PUSH2 0x23c7
000023c5: JUMPI
000023c6: INVALID
000023c7: JUMPDEST
000023c8: SWAP1
000023c9: PUSH1 0x20
000023cb: ADD
000023cc: SWAP1
000023cd: PUSH1 0x20
000023cf: MUL
000023d0: ADD
000023d1: MLOAD
000023d2: SWAP8
000023d3: POP
000023d4: DUP15
000023d5: PUSH1 0x07
000023d7: ADD
000023d8: PUSH1 0x00
000023da: DUP10
000023db: PUSH1 0x01
000023dd: PUSH1 0xa0
000023df: PUSH1 0x02
000023e1: EXP
000023e2: SUB
000023e3: AND
000023e4: PUSH1 0x01
000023e6: PUSH1 0xa0
000023e8: PUSH1 0x02
000023ea: EXP
000023eb: SUB
000023ec: AND
000023ed: DUP2
000023ee: MSTORE
000023ef: PUSH1 0x20
000023f1: ADD
000023f2: SWAP1
000023f3: DUP2
000023f4: MSTORE
000023f5: PUSH1 0x20
000023f7: ADD
000023f8: PUSH1 0x00
000023fa: KECCAK256
000023fb: SWAP3
000023fc: POP
000023fd: PUSH2 0x2406
00002400: DUP16
00002401: DUP5
00002402: PUSH2 0x2f3f
00002405: JUMP
00002406: JUMPDEST
00002407: ISZERO
00002408: ISZERO
00002409: PUSH2 0x2411
0000240c: JUMPI
0000240d: PUSH2 0x24c3
00002410: JUMP
00002411: JUMPDEST
00002412: PUSH2 0x2420
00002415: DUP15
00002416: DUP15
00002417: DUP15
00002418: DUP11
00002419: DUP8
0000241a: PUSH1 0x00
0000241c: PUSH2 0x2f68
0000241f: JUMP
00002420: JUMPDEST
00002421: DUP5
00002422: SLOAD
00002423: SWAP1
00002424: SWAP9
00002425: SUB
00002426: DUP2
00002427: ADD
00002428: SWAP8
00002429: SWAP1
0000242a: SWAP3
0000242b: POP
0000242c: SWAP1
0000242d: POP
0000242e: PUSH1 0x00
00002430: DUP3
00002431: GT
00002432: DUP1
00002433: ISZERO
00002434: PUSH2 0x243c
00002437: JUMPI
00002438: POP
00002439: DUP3
0000243a: SLOAD
0000243b: ISZERO
0000243c: JUMPDEST
0000243d: ISZERO
0000243e: PUSH2 0x244c
00002441: JUMPI
00002442: PUSH1 0x01
00002444: SWAP1
00002445: SWAP6
00002446: ADD
00002447: SWAP5
00002448: PUSH2 0x2469
0000244b: JUMP
0000244c: JUMPDEST
0000244d: DUP2
0000244e: ISZERO
0000244f: DUP1
00002450: ISZERO
00002451: PUSH2 0x245c
00002454: JUMPI
00002455: POP
00002456: DUP3
00002457: SLOAD
00002458: PUSH1 0x00
0000245a: SWAP1
0000245b: GT
0000245c: JUMPDEST
0000245d: ISZERO
0000245e: PUSH2 0x2469
00002461: JUMPI
00002462: PUSH1 0x00
00002464: NOT
00002465: SWAP1
00002466: SWAP6
00002467: ADD
00002468: SWAP5
00002469: JUMPDEST
0000246a: PUSH1 0x01
0000246c: DUP4
0000246d: ADD
0000246e: DUP2
0000246f: SWAP1
00002470: SSTORE
00002471: DUP2
00002472: DUP4
00002473: SSTORE
00002474: PUSH1 0x00
00002476: DUP1
00002477: MLOAD
00002478: PUSH1 0x20
0000247a: PUSH2 0x376d
0000247d: DUP4
0000247e: CODECOPY
0000247f: DUP2
00002480: MLOAD
00002481: SWAP2
00002482: MSTORE
00002483: DUP9
00002484: DUP3
00002485: DUP5
00002486: DUP11
00002487: PUSH1 0x40
00002489: MLOAD
0000248a: DUP1
0000248b: DUP6
0000248c: PUSH1 0x01
0000248e: PUSH1 0xa0
00002490: PUSH1 0x02
00002492: EXP
00002493: SUB
00002494: AND
00002495: PUSH1 0x01
00002497: PUSH1 0xa0
00002499: PUSH1 0x02
0000249b: EXP
0000249c: SUB
0000249d: AND
0000249e: DUP2
0000249f: MSTORE
000024a0: PUSH1 0x20
000024a2: ADD
000024a3: DUP5
000024a4: DUP2
000024a5: MSTORE
000024a6: PUSH1 0x20
000024a8: ADD
000024a9: DUP4
000024aa: DUP2
000024ab: MSTORE
000024ac: PUSH1 0x20
000024ae: ADD
000024af: DUP3
000024b0: DUP2
000024b1: MSTORE
000024b2: PUSH1 0x20
000024b4: ADD
000024b5: SWAP5
000024b6: POP
000024b7: POP
000024b8: POP
000024b9: POP
000024ba: POP
000024bb: PUSH1 0x40
000024bd: MLOAD
000024be: DUP1
000024bf: SWAP2
000024c0: SUB
000024c1: SWAP1
000024c2: LOG1
000024c3: JUMPDEST
000024c4: PUSH1 0x01
000024c6: SWAP1
000024c7: SWAP9
000024c8: ADD
000024c9: SWAP8
000024ca: PUSH2 0x23b2
000024cd: JUMP
000024ce: JUMPDEST
000024cf: POP
000024d0: POP
000024d1: POP
000024d2: POP
000024d3: PUSH1 0x08
000024d5: DUP12
000024d6: ADD
000024d7: SWAP3
000024d8: SWAP1
000024d9: SWAP3
000024da: SSTORE
000024db: PUSH1 0x0a
000024dd: SWAP1
000024de: SWAP10
000024df: ADD
000024e0: SWAP9
000024e1: SWAP1
000024e2: SWAP9
000024e3: SSTORE
000024e4: POP
000024e5: POP
000024e6: POP
000024e7: POP
000024e8: POP
000024e9: POP
000024ea: POP
000024eb: POP
000024ec: JUMP
000024ed: JUMPDEST
000024ee: PUSH1 0x00
000024f0: DUP1
000024f1: PUSH1 0x00
000024f3: DUP1
000024f4: PUSH1 0x00
000024f6: DUP1
000024f7: PUSH1 0x00
000024f9: DUP1
000024fa: PUSH1 0x00
000024fc: PUSH2 0x2504
000024ff: DUP13
00002500: PUSH2 0x2945
00002503: JUMP
00002504: JUMPDEST
00002505: PUSH2 0x250f
00002508: DUP13
00002509: PUSH1 0x00
0000250b: PUSH2 0x0c40
0000250e: JUMP
0000250f: JUMPDEST
00002510: PUSH1 0x06
00002512: DUP13
00002513: ADD
00002514: SLOAD
00002515: PUSH1 0xff
00002517: AND
00002518: ISZERO
00002519: ISZERO
0000251a: PUSH2 0x2559
0000251d: JUMPI
0000251e: PUSH32 0xe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c37434
0000253f: PUSH1 0x40
00002541: MLOAD
00002542: PUSH1 0x40
00002544: MLOAD
00002545: DUP1
00002546: SWAP2
00002547: SUB
00002548: SWAP1
00002549: LOG1
0000254a: PUSH1 0x06
0000254c: DUP13
0000254d: ADD
0000254e: DUP1
0000254f: SLOAD
00002550: PUSH1 0xff
00002552: NOT
00002553: AND
00002554: PUSH1 0x01
00002556: OR
00002557: SWAP1
00002558: SSTORE
00002559: JUMPDEST
0000255a: DUP12
0000255b: PUSH1 0x02
0000255d: ADD
0000255e: SLOAD
0000255f: SWAP8
00002560: POP
00002561: DUP12
00002562: PUSH1 0x03
00002564: ADD
00002565: SLOAD
00002566: SWAP7
00002567: POP
00002568: DUP12
00002569: PUSH1 0x04
0000256b: ADD
0000256c: SLOAD
0000256d: SWAP6
0000256e: POP
0000256f: DUP12
00002570: PUSH1 0x08
00002572: ADD
00002573: SLOAD
00002574: SWAP5
00002575: POP
00002576: DUP12
00002577: PUSH1 0x0a
00002579: ADD
0000257a: SLOAD
0000257b: SWAP4
0000257c: POP
0000257d: PUSH1 0x00
0000257f: SWAP9
00002580: POP
00002581: JUMPDEST
00002582: DUP10
00002583: MLOAD
00002584: DUP10
00002585: LT
00002586: ISZERO
00002587: PUSH2 0x26a1
0000258a: JUMPI
0000258b: DUP10
0000258c: DUP10
0000258d: DUP2
0000258e: MLOAD
0000258f: DUP2
00002590: LT
00002591: PUSH2 0x2596
00002594: JUMPI
00002595: INVALID
00002596: JUMPDEST
00002597: SWAP1
00002598: PUSH1 0x20
0000259a: ADD
0000259b: SWAP1
0000259c: PUSH1 0x20
0000259e: MUL
0000259f: ADD
000025a0: MLOAD
000025a1: PUSH1 0x01
000025a3: PUSH1 0xa0
000025a5: PUSH1 0x02
000025a7: EXP
000025a8: SUB
000025a9: DUP2
000025aa: AND
000025ab: PUSH1 0x00
000025ad: SWAP1
000025ae: DUP2
000025af: MSTORE
000025b0: PUSH1 0x07
000025b2: DUP15
000025b3: ADD
000025b4: PUSH1 0x20
000025b6: MSTORE
000025b7: PUSH1 0x40
000025b9: SWAP1
000025ba: KECCAK256
000025bb: PUSH1 0x02
000025bd: DUP2
000025be: ADD
000025bf: SLOAD
000025c0: SWAP2
000025c1: SWAP5
000025c2: POP
000025c3: SWAP3
000025c4: POP
000025c5: PUSH2 0x0100
000025c8: SWAP1
000025c9: DIV
000025ca: PUSH1 0xff
000025cc: AND
000025cd: ISZERO
000025ce: PUSH2 0x2696
000025d1: JUMPI
000025d2: PUSH1 0x02
000025d4: DUP3
000025d5: ADD
000025d6: DUP1
000025d7: SLOAD
000025d8: PUSH2 0xff00
000025db: NOT
000025dc: AND
000025dd: SWAP1
000025de: SSTORE
000025df: PUSH32 0xcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df757
00002600: DUP4
00002601: PUSH1 0x40
00002603: MLOAD
00002604: PUSH1 0x01
00002606: PUSH1 0xa0
00002608: PUSH1 0x02
0000260a: EXP
0000260b: SUB
0000260c: SWAP1
0000260d: SWAP2
0000260e: AND
0000260f: DUP2
00002610: MSTORE
00002611: PUSH1 0x20
00002613: ADD
00002614: PUSH1 0x40
00002616: MLOAD
00002617: DUP1
00002618: SWAP2
00002619: SUB
0000261a: SWAP1
0000261b: LOG1
0000261c: DUP2
0000261d: SLOAD
0000261e: PUSH1 0x00
00002620: SWAP1
00002621: GT
00002622: ISZERO
00002623: PUSH2 0x2696
00002626: JUMPI
00002627: DUP2
00002628: SLOAD
00002629: PUSH1 0x01
0000262b: DUP4
0000262c: ADD
0000262d: DUP1
0000262e: SLOAD
0000262f: DUP3
00002630: ADD
00002631: SWAP1
00002632: DUP2
00002633: SWAP1
00002634: SSTORE
00002635: PUSH1 0x00
00002637: DUP1
00002638: DUP6
00002639: SSTORE
0000263a: SWAP2
0000263b: SWAP1
0000263c: SWAP7
0000263d: SUB
0000263e: SWAP6
0000263f: PUSH1 0x00
00002641: NOT
00002642: SWAP1
00002643: SWAP6
00002644: ADD
00002645: SWAP5
00002646: PUSH1 0x00
00002648: DUP1
00002649: MLOAD
0000264a: PUSH1 0x20
0000264c: PUSH2 0x376d
0000264f: DUP4
00002650: CODECOPY
00002651: DUP2
00002652: MLOAD
00002653: SWAP2
00002654: MSTORE
00002655: SWAP2
00002656: DUP6
00002657: SWAP2
00002658: SWAP1
00002659: DUP9
0000265a: PUSH1 0x40
0000265c: MLOAD
0000265d: DUP1
0000265e: DUP6
0000265f: PUSH1 0x01
00002661: PUSH1 0xa0
00002663: PUSH1 0x02
00002665: EXP
00002666: SUB
00002667: AND
00002668: PUSH1 0x01
0000266a: PUSH1 0xa0
0000266c: PUSH1 0x02
0000266e: EXP
0000266f: SUB
00002670: AND
00002671: DUP2
00002672: MSTORE
00002673: PUSH1 0x20
00002675: ADD
00002676: DUP5
00002677: DUP2
00002678: MSTORE
00002679: PUSH1 0x20
0000267b: ADD
0000267c: DUP4
0000267d: DUP2
0000267e: MSTORE
0000267f: PUSH1 0x20
00002681: ADD
00002682: DUP3
00002683: DUP2
00002684: MSTORE
00002685: PUSH1 0x20
00002687: ADD
00002688: SWAP5
00002689: POP
0000268a: POP
0000268b: POP
0000268c: POP
0000268d: POP
0000268e: PUSH1 0x40
00002690: MLOAD
00002691: DUP1
00002692: SWAP2
00002693: SUB
00002694: SWAP1
00002695: LOG1
00002696: JUMPDEST
00002697: PUSH1 0x01
00002699: SWAP1
0000269a: SWAP9
0000269b: ADD
0000269c: SWAP8
0000269d: PUSH2 0x2581
000026a0: JUMP
000026a1: JUMPDEST
000026a2: PUSH1 0x00
000026a4: SWAP9
000026a5: POP
000026a6: JUMPDEST
000026a7: DUP11
000026a8: MLOAD
000026a9: DUP10
000026aa: LT
000026ab: ISZERO
000026ac: PUSH2 0x277e
000026af: JUMPI
000026b0: DUP11
000026b1: DUP10
000026b2: DUP2
000026b3: MLOAD
000026b4: DUP2
000026b5: LT
000026b6: PUSH2 0x26bb
000026b9: JUMPI
000026ba: INVALID
000026bb: JUMPDEST
000026bc: SWAP1
000026bd: PUSH1 0x20
000026bf: ADD
000026c0: SWAP1
000026c1: PUSH1 0x20
000026c3: MUL
000026c4: ADD
000026c5: MLOAD
000026c6: PUSH1 0x01
000026c8: PUSH1 0xa0
000026ca: PUSH1 0x02
000026cc: EXP
000026cd: SUB
000026ce: DUP2
000026cf: AND
000026d0: PUSH1 0x00
000026d2: SWAP1
000026d3: DUP2
000026d4: MSTORE
000026d5: PUSH1 0x07
000026d7: DUP15
000026d8: ADD
000026d9: PUSH1 0x20
000026db: MSTORE
000026dc: PUSH1 0x40
000026de: SWAP1
000026df: KECCAK256
000026e0: PUSH1 0x02
000026e2: DUP2
000026e3: ADD
000026e4: SLOAD
000026e5: SWAP2
000026e6: SWAP5
000026e7: POP
000026e8: SWAP2
000026e9: POP
000026ea: PUSH3 0x010000
000026ee: SWAP1
000026ef: DIV
000026f0: PUSH1 0xff
000026f2: AND
000026f3: ISZERO
000026f4: ISZERO
000026f5: PUSH2 0x2745
000026f8: JUMPI
000026f9: PUSH1 0x02
000026fb: DUP2
000026fc: ADD
000026fd: DUP1
000026fe: SLOAD
000026ff: PUSH3 0xff0000
00002703: NOT
00002704: AND
00002705: PUSH3 0x010000
00002709: OR
0000270a: SWAP1
0000270b: SSTORE
0000270c: PUSH1 0x05
0000270e: DUP13
0000270f: ADD
00002710: DUP1
00002711: SLOAD
00002712: PUSH1 0x01
00002714: DUP2
00002715: ADD
00002716: PUSH2 0x271f
00002719: DUP4
0000271a: DUP3
0000271b: PUSH2 0x32e0
0000271e: JUMP
0000271f: JUMPDEST
00002720: POP
00002721: PUSH1 0x00
00002723: SWAP2
00002724: DUP3
00002725: MSTORE
00002726: PUSH1 0x20
00002728: SWAP1
00002729: SWAP2
0000272a: KECCAK256
0000272b: ADD
0000272c: DUP1
0000272d: SLOAD
0000272e: PUSH1 0x01
00002730: PUSH1 0xa0
00002732: PUSH1 0x02
00002734: EXP
00002735: SUB
00002736: NOT
00002737: AND
00002738: PUSH1 0x01
0000273a: PUSH1 0xa0
0000273c: PUSH1 0x02
0000273e: EXP
0000273f: SUB
00002740: DUP6
00002741: AND
00002742: OR
00002743: SWAP1
00002744: SSTORE
00002745: JUMPDEST
00002746: PUSH1 0x01
00002748: PUSH1 0xa0
0000274a: PUSH1 0x02
0000274c: EXP
0000274d: SUB
0000274e: DUP4
0000274f: AND
00002750: PUSH1 0x00
00002752: SWAP1
00002753: DUP2
00002754: MSTORE
00002755: PUSH1 0x07
00002757: DUP14
00002758: ADD
00002759: PUSH1 0x20
0000275b: MSTORE
0000275c: PUSH1 0x40
0000275e: SWAP1
0000275f: KECCAK256
00002760: PUSH2 0x276e
00002763: SWAP1
00002764: DUP5
00002765: DUP11
00002766: DUP11
00002767: DUP11
00002768: DUP11
00002769: DUP11
0000276a: PUSH2 0x2971
0000276d: JUMP
0000276e: JUMPDEST
0000276f: PUSH1 0x01
00002771: SWAP1
00002772: SWAP11
00002773: ADD
00002774: SWAP10
00002775: SWAP1
00002776: SWAP6
00002777: POP
00002778: SWAP4
00002779: POP
0000277a: PUSH2 0x26a6
0000277d: JUMP
0000277e: JUMPDEST
0000277f: POP
00002780: POP
00002781: POP
00002782: PUSH1 0x08
00002784: DUP10
00002785: ADD
00002786: SWAP2
00002787: SWAP1
00002788: SWAP2
00002789: SSTORE
0000278a: PUSH1 0x0a
0000278c: SWAP1
0000278d: SWAP8
0000278e: ADD
0000278f: SWAP7
00002790: SWAP1
00002791: SWAP7
00002792: SSTORE
00002793: POP
00002794: POP
00002795: POP
00002796: POP
00002797: POP
00002798: POP
00002799: JUMP
0000279a: JUMPDEST
0000279b: PUSH1 0x64
0000279d: SWAP1
0000279e: JUMP
0000279f: JUMPDEST
000027a0: DUP2
000027a1: SLOAD
000027a2: PUSH1 0xff
000027a4: AND
000027a5: PUSH1 0x00
000027a7: DUP1
000027a8: DUP1
000027a9: DUP1
000027aa: DUP1
000027ab: DUP1
000027ac: DUP1
000027ad: PUSH1 0x03
000027af: DUP9
000027b0: PUSH1 0x03
000027b2: DUP2
000027b3: GT
000027b4: ISZERO
000027b5: PUSH2 0x27ba
000027b8: JUMPI
000027b9: INVALID
000027ba: JUMPDEST
000027bb: EQ
000027bc: DUP1
000027bd: PUSH2 0x27d1
000027c0: JUMPI
000027c1: POP
000027c2: PUSH1 0x01
000027c4: DUP9
000027c5: PUSH1 0x03
000027c7: DUP2
000027c8: GT
000027c9: ISZERO
000027ca: PUSH2 0x27cf
000027cd: JUMPI
000027ce: INVALID
000027cf: JUMPDEST
000027d0: EQ
000027d1: JUMPDEST
000027d2: DUP1
000027d3: PUSH2 0x27e7
000027d6: JUMPI
000027d7: POP
000027d8: PUSH1 0x02
000027da: DUP9
000027db: PUSH1 0x03
000027dd: DUP2
000027de: GT
000027df: ISZERO
000027e0: PUSH2 0x27e5
000027e3: JUMPI
000027e4: INVALID
000027e5: JUMPDEST
000027e6: EQ
000027e7: JUMPDEST
000027e8: ISZERO
000027e9: ISZERO
000027ea: PUSH2 0x27f2
000027ed: JUMPI
000027ee: PUSH1 0x00
000027f0: DUP1
000027f1: REVERT
000027f2: JUMPDEST
000027f3: PUSH1 0x00
000027f5: SWAP7
000027f6: POP
000027f7: PUSH1 0x02
000027f9: DUP9
000027fa: PUSH1 0x03
000027fc: DUP2
000027fd: GT
000027fe: ISZERO
000027ff: PUSH2 0x2804
00002802: JUMPI
00002803: INVALID
00002804: JUMPDEST
00002805: EQ
00002806: ISZERO
00002807: PUSH2 0x2864
0000280a: JUMPI
0000280b: PUSH1 0x10
0000280d: DUP11
0000280e: ADD
0000280f: SLOAD
00002810: PUSH1 0x01
00002812: PUSH1 0xa0
00002814: PUSH1 0x02
00002816: EXP
00002817: SUB
00002818: AND
00002819: PUSH4 0x9592619c
0000281e: PUSH1 0x40
00002820: MLOAD
00002821: DUP2
00002822: PUSH4 0xffffffff
00002827: AND
00002828: PUSH1 0xe0
0000282a: PUSH1 0x02
0000282c: EXP
0000282d: MUL
0000282e: DUP2
0000282f: MSTORE
00002830: PUSH1 0x04
00002832: ADD
00002833: PUSH1 0x20
00002835: PUSH1 0x40
00002837: MLOAD
00002838: DUP1
00002839: DUP4
0000283a: SUB
0000283b: DUP2
0000283c: PUSH1 0x00
0000283e: DUP8
0000283f: DUP1
00002840: EXTCODESIZE
00002841: ISZERO
00002842: ISZERO
00002843: PUSH2 0x284b
00002846: JUMPI
00002847: PUSH1 0x00
00002849: DUP1
0000284a: REVERT
0000284b: JUMPDEST
0000284c: GAS
0000284d: CALL
0000284e: ISZERO
0000284f: ISZERO
00002850: PUSH2 0x2858
00002853: JUMPI
00002854: PUSH1 0x00
00002856: DUP1
00002857: REVERT
00002858: JUMPDEST
00002859: POP
0000285a: POP
0000285b: POP
0000285c: PUSH1 0x40
0000285e: MLOAD
0000285f: DUP1
00002860: MLOAD
00002861: SWAP8
00002862: POP
00002863: POP
00002864: JUMPDEST
00002865: PUSH2 0x2879
00002868: PUSH5 0x09502f9000
0000286e: PUSH1 0x01
00002870: DUP13
00002871: PUSH1 0x11
00002873: ADD
00002874: SLOAD
00002875: PUSH2 0x293a
00002878: JUMP
00002879: JUMPDEST
0000287a: PUSH1 0x08
0000287c: DUP12
0000287d: ADD
0000287e: SLOAD
0000287f: PUSH1 0x0a
00002881: DUP13
00002882: ADD
00002883: SLOAD
00002884: PUSH1 0x09
00002886: DUP14
00002887: ADD
00002888: SLOAD
00002889: PUSH1 0x0f
0000288b: DUP15
0000288c: ADD
0000288d: SLOAD
0000288e: SWAP4
0000288f: SWAP10
00002890: POP
00002891: SWAP2
00002892: SWAP8
00002893: POP
00002894: PUSH8 0x0de0b6b3a7640000
0000289d: DUP11
0000289e: DUP10
0000289f: MUL
000028a0: DIV
000028a1: SWAP7
000028a2: POP
000028a3: DUP9
000028a4: MUL
000028a5: DUP7
000028a6: DUP9
000028a7: SUB
000028a8: SUB
000028a9: SWAP5
000028aa: POP
000028ab: SWAP3
000028ac: POP
000028ad: PUSH1 0x01
000028af: PUSH1 0xa0
000028b1: PUSH1 0x02
000028b3: EXP
000028b4: SUB
000028b5: AND
000028b6: ISZERO
000028b7: ISZERO
000028b8: PUSH2 0x28c0
000028bb: JUMPI
000028bc: SWAP1
000028bd: DUP4
000028be: ADD
000028bf: SWAP1
000028c0: JUMPDEST
000028c1: POP
000028c2: PUSH1 0x00
000028c4: JUMPDEST
000028c5: DUP9
000028c6: MLOAD
000028c7: DUP2
000028c8: LT
000028c9: ISZERO
000028ca: PUSH2 0x1d4d
000028cd: JUMPI
000028ce: PUSH2 0x28fc
000028d1: DUP11
000028d2: DUP11
000028d3: DUP4
000028d4: DUP2
000028d5: MLOAD
000028d6: DUP2
000028d7: LT
000028d8: PUSH2 0x28dd
000028db: JUMPI
000028dc: INVALID
000028dd: JUMPDEST
000028de: SWAP1
000028df: PUSH1 0x20
000028e1: ADD
000028e2: SWAP1
000028e3: PUSH1 0x20
000028e5: MUL
000028e6: ADD
000028e7: MLOAD
000028e8: DUP10
000028e9: DUP10
000028ea: DUP7
000028eb: ADDRESS
000028ec: PUSH1 0x01
000028ee: PUSH1 0xa0
000028f0: PUSH1 0x02
000028f2: EXP
000028f3: SUB
000028f4: AND
000028f5: BALANCE
000028f6: SUB
000028f7: DUP9
000028f8: PUSH2 0x2df7
000028fb: JUMP
000028fc: JUMPDEST
000028fd: PUSH1 0x01
000028ff: ADD
00002900: PUSH2 0x28c4
00002903: JUMP
00002904: JUMPDEST
00002905: PUSH1 0x02
00002907: DUP2
00002908: SLOAD
00002909: PUSH1 0xff
0000290b: AND
0000290c: PUSH1 0x03
0000290e: DUP2
0000290f: GT
00002910: ISZERO
00002911: PUSH2 0x2916
00002914: JUMPI
00002915: INVALID
00002916: JUMPDEST
00002917: EQ
00002918: DUP1
00002919: ISZERO
0000291a: PUSH2 0x292f
0000291d: JUMPI
0000291e: POP
0000291f: PUSH1 0x0f
00002921: DUP2
00002922: ADD
00002923: SLOAD
00002924: PUSH1 0x01
00002926: PUSH1 0xa0
00002928: PUSH1 0x02
0000292a: EXP
0000292b: SUB
0000292c: AND
0000292d: ISZERO
0000292e: ISZERO
0000292f: JUMPDEST
00002930: ISZERO
00002931: ISZERO
00002932: PUSH2 0x095a
00002935: JUMPI
00002936: PUSH1 0x00
00002938: DUP1
00002939: REVERT
0000293a: JUMPDEST
0000293b: SWAP2
0000293c: MUL
0000293d: MUL
0000293e: PUSH3 0x0249f0
00002942: MUL
00002943: SWAP1
00002944: JUMP
00002945: JUMPDEST
00002946: PUSH1 0x01
00002948: PUSH1 0xa0
0000294a: PUSH1 0x02
0000294c: EXP
0000294d: SUB
0000294e: CALLER
0000294f: AND
00002950: PUSH1 0x00
00002952: SWAP1
00002953: DUP2
00002954: MSTORE
00002955: PUSH1 0x07
00002957: DUP3
00002958: ADD
00002959: PUSH1 0x20
0000295b: MSTORE
0000295c: PUSH1 0x40
0000295e: SWAP1
0000295f: KECCAK256
00002960: PUSH1 0x02
00002962: ADD
00002963: SLOAD
00002964: PUSH1 0xff
00002966: AND
00002967: ISZERO
00002968: ISZERO
00002969: PUSH2 0x095a
0000296c: JUMPI
0000296d: PUSH1 0x00
0000296f: DUP1
00002970: REVERT
00002971: JUMPDEST
00002972: PUSH1 0x02
00002974: DUP8
00002975: ADD
00002976: SLOAD
00002977: PUSH1 0x00
00002979: SWAP1
0000297a: DUP2
0000297b: SWAP1
0000297c: DUP5
0000297d: SWAP1
0000297e: DUP5
0000297f: SWAP1
00002980: PUSH2 0x0100
00002983: SWAP1
00002984: DIV
00002985: PUSH1 0xff
00002987: AND
00002988: ISZERO
00002989: PUSH2 0x2997
0000298c: JUMPI
0000298d: DUP2
0000298e: DUP2
0000298f: SWAP4
00002990: POP
00002991: SWAP4
00002992: POP
00002993: PUSH2 0x2a82
00002996: JUMP
00002997: JUMPDEST
00002998: PUSH1 0x02
0000299a: DUP12
0000299b: ADD
0000299c: DUP1
0000299d: SLOAD
0000299e: PUSH2 0xff00
000029a1: NOT
000029a2: AND
000029a3: PUSH2 0x0100
000029a6: OR
000029a7: SWAP1
000029a8: SSTORE
000029a9: PUSH32 0x674271b83e1561ba88b26ca5a95180118599dc82d6471b22c805590ef85924e8
000029ca: DUP11
000029cb: PUSH1 0x40
000029cd: MLOAD
000029ce: PUSH1 0x01
000029d0: PUSH1 0xa0
000029d2: PUSH1 0x02
000029d4: EXP
000029d5: SUB
000029d6: SWAP1
000029d7: SWAP2
000029d8: AND
000029d9: DUP2
000029da: MSTORE
000029db: PUSH1 0x20
000029dd: ADD
000029de: PUSH1 0x40
000029e0: MLOAD
000029e1: DUP1
000029e2: SWAP2
000029e3: SUB
000029e4: SWAP1
000029e5: LOG1
000029e6: PUSH1 0x01
000029e8: DUP12
000029e9: ADD
000029ea: SLOAD
000029eb: ISZERO
000029ec: ISZERO
000029ed: PUSH2 0x29fb
000029f0: JUMPI
000029f1: DUP2
000029f2: DUP2
000029f3: SWAP4
000029f4: POP
000029f5: SWAP4
000029f6: POP
000029f7: PUSH2 0x2a82
000029fa: JUMP
000029fb: JUMPDEST
000029fc: PUSH2 0x2a0a
000029ff: DUP10
00002a00: DUP10
00002a01: DUP10
00002a02: DUP6
00002a03: DUP16
00002a04: PUSH1 0x00
00002a06: PUSH2 0x2f68
00002a09: JUMP
00002a0a: JUMPDEST
00002a0b: PUSH1 0x01
00002a0d: DUP14
00002a0e: ADD
00002a0f: SSTORE
00002a10: DUP1
00002a11: DUP13
00002a12: SSTORE
00002a13: PUSH1 0x00
00002a15: SWAP1
00002a16: GT
00002a17: ISZERO
00002a18: PUSH2 0x2a7b
00002a1b: JUMPI
00002a1c: DUP11
00002a1d: SLOAD
00002a1e: PUSH1 0x01
00002a20: DUP13
00002a21: DUP2
00002a22: ADD
00002a23: SLOAD
00002a24: SWAP4
00002a25: DUP3
00002a26: ADD
00002a27: SWAP4
00002a28: SWAP3
00002a29: ADD
00002a2a: SWAP2
00002a2b: PUSH1 0x00
00002a2d: DUP1
00002a2e: MLOAD
00002a2f: PUSH1 0x20
00002a31: PUSH2 0x376d
00002a34: DUP4
00002a35: CODECOPY
00002a36: DUP2
00002a37: MLOAD
00002a38: SWAP2
00002a39: MSTORE
00002a3a: SWAP2
00002a3b: DUP13
00002a3c: SWAP2
00002a3d: SWAP1
00002a3e: DUP6
00002a3f: PUSH1 0x40
00002a41: MLOAD
00002a42: DUP1
00002a43: DUP6
00002a44: PUSH1 0x01
00002a46: PUSH1 0xa0
00002a48: PUSH1 0x02
00002a4a: EXP
00002a4b: SUB
00002a4c: AND
00002a4d: PUSH1 0x01
00002a4f: PUSH1 0xa0
00002a51: PUSH1 0x02
00002a53: EXP
00002a54: SUB
00002a55: AND
00002a56: DUP2
00002a57: MSTORE
00002a58: PUSH1 0x20
00002a5a: ADD
00002a5b: DUP5
00002a5c: DUP2
00002a5d: MSTORE
00002a5e: PUSH1 0x20
00002a60: ADD
00002a61: DUP4
00002a62: DUP2
00002a63: MSTORE
00002a64: PUSH1 0x20
00002a66: ADD
00002a67: DUP3
00002a68: DUP2
00002a69: MSTORE
00002a6a: PUSH1 0x20
00002a6c: ADD
00002a6d: SWAP5
00002a6e: POP
00002a6f: POP
00002a70: POP
00002a71: POP
00002a72: POP
00002a73: PUSH1 0x40
00002a75: MLOAD
00002a76: DUP1
00002a77: SWAP2
00002a78: SUB
00002a79: SWAP1
00002a7a: LOG1
00002a7b: JUMPDEST
00002a7c: DUP2
00002a7d: DUP2
00002a7e: SWAP4
00002a7f: POP
00002a80: SWAP4
00002a81: POP
00002a82: JUMPDEST
00002a83: POP
00002a84: POP
00002a85: SWAP8
00002a86: POP
00002a87: SWAP8
00002a88: SWAP6
00002a89: POP
00002a8a: POP
00002a8b: POP
00002a8c: POP
00002a8d: POP
00002a8e: POP
00002a8f: JUMP
00002a90: JUMPDEST
00002a91: PUSH1 0x00
00002a93: DUP6
00002a94: DUP1
00002a95: ISZERO
00002a96: ISZERO
00002a97: PUSH2 0x2aa3
00002a9a: JUMPI
00002a9b: PUSH1 0x00
00002a9d: SWAP2
00002a9e: POP
00002a9f: PUSH2 0x2aea
00002aa2: JUMP
00002aa3: JUMPDEST
00002aa4: PUSH1 0x00
00002aa6: DUP7
00002aa7: GT
00002aa8: ISZERO
00002aa9: PUSH2 0x2abc
00002aac: JUMPI
00002aad: PUSH8 0x0de0b6b3a7640000
00002ab6: DUP2
00002ab7: DUP8
00002ab8: MUL
00002ab9: DIV
00002aba: SWAP1
00002abb: SUB
00002abc: JUMPDEST
00002abd: DUP5
00002abe: SWAP1
00002abf: SUB
00002ac0: PUSH2 0x2ae7
00002ac3: DUP9
00002ac4: DUP6
00002ac5: PUSH1 0x40
00002ac7: DUP1
00002ac8: MLOAD
00002ac9: SWAP1
00002aca: DUP2
00002acb: ADD
00002acc: PUSH1 0x40
00002ace: MSTORE
00002acf: DUP5
00002ad0: DUP2
00002ad1: MSTORE
00002ad2: PUSH1 0x20
00002ad4: DUP2
00002ad5: ADD
00002ad6: DUP8
00002ad7: SWAP1
00002ad8: MSTORE
00002ad9: DUP13
00002ada: SWAP3
00002adb: SWAP2
00002adc: SWAP1
00002add: PUSH4 0xffffffff
00002ae2: PUSH2 0x305a
00002ae5: AND
00002ae6: JUMP
00002ae7: JUMPDEST
00002ae8: SWAP2
00002ae9: POP
00002aea: JUMPDEST
00002aeb: POP
00002aec: SWAP8
00002aed: SWAP7
00002aee: POP
00002aef: POP
00002af0: POP
00002af1: POP
00002af2: POP
00002af3: POP
00002af4: POP
00002af5: JUMP
00002af6: JUMPDEST
00002af7: PUSH1 0x00
00002af9: DUP2
00002afa: DUP2
00002afb: DUP1
00002afc: DUP6
00002afd: GT
00002afe: ISZERO
00002aff: PUSH2 0x2bf3
00002b02: JUMPI
00002b03: DUP5
00002b04: DUP3
00002b05: SUB
00002b06: SWAP2
00002b07: POP
00002b08: DUP7
00002b09: PUSH1 0x01
00002b0b: PUSH1 0xa0
00002b0d: PUSH1 0x02
00002b0f: EXP
00002b10: SUB
00002b11: AND
00002b12: PUSH4 0xa9059cbb
00002b17: DUP8
00002b18: DUP8
00002b19: PUSH1 0x40
00002b1b: MLOAD
00002b1c: PUSH1 0xe0
00002b1e: PUSH1 0x02
00002b20: EXP
00002b21: PUSH4 0xffffffff
00002b26: DUP6
00002b27: AND
00002b28: MUL
00002b29: DUP2
00002b2a: MSTORE
00002b2b: PUSH1 0x01
00002b2d: PUSH1 0xa0
00002b2f: PUSH1 0x02
00002b31: EXP
00002b32: SUB
00002b33: SWAP1
00002b34: SWAP3
00002b35: AND
00002b36: PUSH1 0x04
00002b38: DUP4
00002b39: ADD
00002b3a: MSTORE
00002b3b: PUSH1 0x24
00002b3d: DUP3
00002b3e: ADD
00002b3f: MSTORE
00002b40: PUSH1 0x44
00002b42: ADD
00002b43: PUSH1 0x20
00002b45: PUSH1 0x40
00002b47: MLOAD
00002b48: DUP1
00002b49: DUP4
00002b4a: SUB
00002b4b: DUP2
00002b4c: PUSH1 0x00
00002b4e: DUP8
00002b4f: DUP1
00002b50: EXTCODESIZE
00002b51: ISZERO
00002b52: ISZERO
00002b53: PUSH2 0x2b5b
00002b56: JUMPI
00002b57: PUSH1 0x00
00002b59: DUP1
00002b5a: REVERT
00002b5b: JUMPDEST
00002b5c: GAS
00002b5d: CALL
00002b5e: ISZERO
00002b5f: ISZERO
00002b60: PUSH2 0x2b68
00002b63: JUMPI
00002b64: PUSH1 0x00
00002b66: DUP1
00002b67: REVERT
00002b68: JUMPDEST
00002b69: POP
00002b6a: POP
00002b6b: POP
00002b6c: PUSH1 0x40
00002b6e: MLOAD
00002b6f: DUP1
00002b70: MLOAD
00002b71: SWAP2
00002b72: POP
00002b73: POP
00002b74: DUP1
00002b75: ISZERO
00002b76: ISZERO
00002b77: PUSH2 0x2b91
00002b7a: JUMPI
00002b7b: PUSH2 0x2b8b
00002b7e: DUP9
00002b7f: DUP8
00002b80: DUP8
00002b81: PUSH4 0xffffffff
00002b86: PUSH2 0x30d8
00002b89: AND
00002b8a: JUMP
00002b8b: JUMPDEST
00002b8c: POP
00002b8d: SWAP1
00002b8e: DUP5
00002b8f: ADD
00002b90: SWAP1
00002b91: JUMPDEST
00002b92: PUSH32 0x92f60d5ba7fa0cbaae3ecdbd464cc4c53e7fc7d32c0086dc39b86da20e262a67
00002bb3: DUP8
00002bb4: DUP8
00002bb5: DUP8
00002bb6: DUP5
00002bb7: DUP7
00002bb8: PUSH1 0x40
00002bba: MLOAD
00002bbb: PUSH1 0x01
00002bbd: PUSH1 0xa0
00002bbf: PUSH1 0x02
00002bc1: EXP
00002bc2: SUB
00002bc3: SWAP6
00002bc4: DUP7
00002bc5: AND
00002bc6: DUP2
00002bc7: MSTORE
00002bc8: SWAP4
00002bc9: SWAP1
00002bca: SWAP5
00002bcb: AND
00002bcc: PUSH1 0x20
00002bce: DUP5
00002bcf: ADD
00002bd0: MSTORE
00002bd1: PUSH1 0x40
00002bd3: DUP1
00002bd4: DUP5
00002bd5: ADD
00002bd6: SWAP3
00002bd7: SWAP1
00002bd8: SWAP3
00002bd9: MSTORE
00002bda: ISZERO
00002bdb: ISZERO
00002bdc: PUSH1 0x60
00002bde: DUP4
00002bdf: ADD
00002be0: MSTORE
00002be1: PUSH1 0x80
00002be3: DUP3
00002be4: ADD
00002be5: SWAP3
00002be6: SWAP1
00002be7: SWAP3
00002be8: MSTORE
00002be9: PUSH1 0xa0
00002beb: ADD
00002bec: SWAP1
00002bed: MLOAD
00002bee: DUP1
00002bef: SWAP2
00002bf0: SUB
00002bf1: SWAP1
00002bf2: LOG1
00002bf3: JUMPDEST
00002bf4: POP
00002bf5: SWAP7
00002bf6: SWAP6
00002bf7: POP
00002bf8: POP
00002bf9: POP
00002bfa: POP
00002bfb: POP
00002bfc: POP
00002bfd: JUMP
00002bfe: JUMPDEST
00002bff: PUSH1 0x00
00002c01: DUP1
00002c02: DUP4
00002c03: PUSH1 0x09
00002c05: ADD
00002c06: SLOAD
00002c07: PUSH1 0x00
00002c09: EQ
00002c0a: ISZERO
00002c0b: PUSH2 0x2c13
00002c0e: JUMPI
00002c0f: PUSH2 0x09a3
00002c12: JUMP
00002c13: JUMPDEST
00002c14: POP
00002c15: POP
00002c16: PUSH1 0x01
00002c18: PUSH1 0xa0
00002c1a: PUSH1 0x02
00002c1c: EXP
00002c1d: SUB
00002c1e: DUP2
00002c1f: AND
00002c20: PUSH1 0x00
00002c22: SWAP1
00002c23: DUP2
00002c24: MSTORE
00002c25: PUSH1 0x07
00002c27: DUP4
00002c28: ADD
00002c29: PUSH1 0x20
00002c2b: MSTORE
00002c2c: PUSH1 0x40
00002c2e: SWAP1
00002c2f: KECCAK256
00002c30: PUSH1 0x01
00002c32: DUP2
00002c33: ADD
00002c34: SLOAD
00002c35: DUP1
00002c36: ISZERO
00002c37: ISZERO
00002c38: PUSH2 0x2c40
00002c3b: JUMPI
00002c3c: PUSH2 0x09a3
00002c3f: JUMP
00002c40: JUMPDEST
00002c41: PUSH1 0x00
00002c43: DUP1
00002c44: MLOAD
00002c45: PUSH1 0x20
00002c47: PUSH2 0x374d
00002c4a: DUP4
00002c4b: CODECOPY
00002c4c: DUP2
00002c4d: MLOAD
00002c4e: SWAP2
00002c4f: MSTORE
00002c50: DUP4
00002c51: DUP3
00002c52: PUSH1 0x00
00002c54: DUP6
00002c55: PUSH1 0x00
00002c57: ADD
00002c58: SLOAD
00002c59: DUP9
00002c5a: PUSH1 0x08
00002c5c: ADD
00002c5d: SLOAD
00002c5e: PUSH1 0x40
00002c60: MLOAD
00002c61: PUSH1 0x01
00002c63: PUSH1 0xa0
00002c65: PUSH1 0x02
00002c67: EXP
00002c68: SUB
00002c69: SWAP1
00002c6a: SWAP6
00002c6b: AND
00002c6c: DUP6
00002c6d: MSTORE
00002c6e: PUSH1 0x20
00002c70: DUP6
00002c71: ADD
00002c72: SWAP4
00002c73: SWAP1
00002c74: SWAP4
00002c75: MSTORE
00002c76: PUSH1 0x40
00002c78: DUP1
00002c79: DUP6
00002c7a: ADD
00002c7b: SWAP3
00002c7c: SWAP1
00002c7d: SWAP3
00002c7e: MSTORE
00002c7f: PUSH1 0x60
00002c81: DUP5
00002c82: ADD
00002c83: MSTORE
00002c84: PUSH1 0x80
00002c86: DUP4
00002c87: ADD
00002c88: SWAP2
00002c89: SWAP1
00002c8a: SWAP2
00002c8b: MSTORE
00002c8c: PUSH1 0xa0
00002c8e: SWAP1
00002c8f: SWAP2
00002c90: ADD
00002c91: SWAP1
00002c92: MLOAD
00002c93: DUP1
00002c94: SWAP2
00002c95: SUB
00002c96: SWAP1
00002c97: LOG1
00002c98: PUSH1 0x09
00002c9a: DUP5
00002c9b: ADD
00002c9c: DUP1
00002c9d: SLOAD
00002c9e: DUP3
00002c9f: SWAP1
00002ca0: SUB
00002ca1: SWAP1
00002ca2: SSTORE
00002ca3: PUSH1 0x00
00002ca5: PUSH1 0x01
00002ca7: DUP4
00002ca8: ADD
00002ca9: SSTORE
00002caa: PUSH1 0x01
00002cac: PUSH1 0xa0
00002cae: PUSH1 0x02
00002cb0: EXP
00002cb1: SUB
00002cb2: DUP4
00002cb3: AND
00002cb4: DUP2
00002cb5: ISZERO
00002cb6: PUSH2 0x08fc
00002cb9: MUL
00002cba: DUP3
00002cbb: PUSH1 0x40
00002cbd: MLOAD
00002cbe: PUSH1 0x00
00002cc0: PUSH1 0x40
00002cc2: MLOAD
00002cc3: DUP1
00002cc4: DUP4
00002cc5: SUB
00002cc6: DUP2
00002cc7: DUP6
00002cc8: DUP9
00002cc9: DUP9
00002cca: CALL
00002ccb: SWAP4
00002ccc: POP
00002ccd: POP
00002cce: POP
00002ccf: POP
00002cd0: ISZERO
00002cd1: ISZERO
00002cd2: PUSH2 0x09a3
00002cd5: JUMPI
00002cd6: PUSH1 0x00
00002cd8: DUP1
00002cd9: REVERT
00002cda: JUMPDEST
00002cdb: PUSH1 0x00
00002cdd: PUSH2 0x2ce5
00002ce0: DUP3
00002ce1: PUSH2 0x312b
00002ce4: JUMP
00002ce5: JUMPDEST
00002ce6: SWAP1
00002ce7: POP
00002ce8: PUSH1 0x00
00002cea: DUP2
00002ceb: GT
00002cec: ISZERO
00002ced: PUSH2 0x0667
00002cf0: JUMPI
00002cf1: PUSH32 0xedf65eaee3dbef3a7958f7552630d21d9acdcf3f7ba543fba28952a9109ba735
00002d12: PUSH1 0x40
00002d14: MLOAD
00002d15: PUSH1 0x40
00002d17: MLOAD
00002d18: DUP1
00002d19: SWAP2
00002d1a: SUB
00002d1b: SWAP1
00002d1c: LOG1
00002d1d: PUSH1 0x10
00002d1f: DUP3
00002d20: ADD
00002d21: SLOAD
00002d22: PUSH1 0x01
00002d24: PUSH1 0xa0
00002d26: PUSH1 0x02
00002d28: EXP
00002d29: SUB
00002d2a: AND
00002d2b: PUSH4 0x9413f25c
00002d30: ADDRESS
00002d31: PUSH1 0x40
00002d33: MLOAD
00002d34: PUSH1 0xe0
00002d36: PUSH1 0x02
00002d38: EXP
00002d39: PUSH4 0xffffffff
00002d3e: DUP5
00002d3f: AND
00002d40: MUL
00002d41: DUP2
00002d42: MSTORE
00002d43: PUSH1 0x01
00002d45: PUSH1 0xa0
00002d47: PUSH1 0x02
00002d49: EXP
00002d4a: SUB
00002d4b: SWAP1
00002d4c: SWAP2
00002d4d: AND
00002d4e: PUSH1 0x04
00002d50: DUP3
00002d51: ADD
00002d52: MSTORE
00002d53: PUSH1 0x24
00002d55: ADD
00002d56: PUSH1 0x00
00002d58: PUSH1 0x40
00002d5a: MLOAD
00002d5b: DUP1
00002d5c: DUP4
00002d5d: SUB
00002d5e: DUP2
00002d5f: PUSH1 0x00
00002d61: DUP8
00002d62: DUP1
00002d63: EXTCODESIZE
00002d64: ISZERO
00002d65: ISZERO
00002d66: PUSH2 0x2d6e
00002d69: JUMPI
00002d6a: PUSH1 0x00
00002d6c: DUP1
00002d6d: REVERT
00002d6e: JUMPDEST
00002d6f: GAS
00002d70: CALL
00002d71: ISZERO
00002d72: ISZERO
00002d73: PUSH2 0x0a77
00002d76: JUMPI
00002d77: PUSH1 0x00
00002d79: DUP1
00002d7a: REVERT
00002d7b: JUMPDEST
00002d7c: DUP2
00002d7d: SLOAD
00002d7e: PUSH32 0xfa441dfe95ea7994c16c2c9120482b6fe0888963d94853674dde4d7a7c105827
00002d9f: SWAP1
00002da0: PUSH1 0xff
00002da2: AND
00002da3: PUSH1 0x03
00002da5: DUP2
00002da6: GT
00002da7: ISZERO
00002da8: PUSH2 0x2dad
00002dab: JUMPI
00002dac: INVALID
00002dad: JUMPDEST
00002dae: DUP3
00002daf: PUSH1 0x03
00002db1: DUP2
00002db2: GT
00002db3: ISZERO
00002db4: PUSH2 0x2db9
00002db7: JUMPI
00002db8: INVALID
00002db9: JUMPDEST
00002dba: PUSH1 0x40
00002dbc: MLOAD
00002dbd: PUSH1 0xff
00002dbf: SWAP3
00002dc0: DUP4
00002dc1: AND
00002dc2: DUP2
00002dc3: MSTORE
00002dc4: SWAP2
00002dc5: AND
00002dc6: PUSH1 0x20
00002dc8: DUP3
00002dc9: ADD
00002dca: MSTORE
00002dcb: PUSH1 0x40
00002dcd: SWAP1
00002dce: DUP2
00002dcf: ADD
00002dd0: SWAP1
00002dd1: MLOAD
00002dd2: DUP1
00002dd3: SWAP2
00002dd4: SUB
00002dd5: SWAP1
00002dd6: LOG1
00002dd7: DUP2
00002dd8: SLOAD
00002dd9: DUP2
00002dda: SWAP1
00002ddb: DUP4
00002ddc: SWAP1
00002ddd: PUSH1 0xff
00002ddf: NOT
00002de0: AND
00002de1: PUSH1 0x01
00002de3: DUP4
00002de4: PUSH1 0x03
00002de6: DUP2
00002de7: GT
00002de8: ISZERO
00002de9: PUSH2 0x2dee
00002dec: JUMPI
00002ded: INVALID
00002dee: JUMPDEST
00002def: MUL
00002df0: OR
00002df1: SWAP1
00002df2: SSTORE
00002df3: POP
00002df4: POP
00002df5: POP
00002df6: JUMP
00002df7: JUMPDEST
00002df8: PUSH1 0x01
00002dfa: PUSH1 0xa0
00002dfc: PUSH1 0x02
00002dfe: EXP
00002dff: SUB
00002e00: DUP6
00002e01: AND
00002e02: PUSH1 0x00
00002e04: SWAP1
00002e05: DUP2
00002e06: MSTORE
00002e07: PUSH1 0x07
00002e09: DUP8
00002e0a: ADD
00002e0b: PUSH1 0x20
00002e0d: MSTORE
00002e0e: PUSH1 0x40
00002e10: DUP2
00002e11: KECCAK256
00002e12: PUSH1 0x01
00002e14: DUP2
00002e15: ADD
00002e16: SLOAD
00002e17: DUP2
00002e18: SLOAD
00002e19: SWAP2
00002e1a: SWAP3
00002e1b: SWAP1
00002e1c: SWAP2
00002e1d: PUSH2 0x2e30
00002e20: SWAP1
00002e21: PUSH1 0x0c
00002e23: DUP12
00002e24: ADD
00002e25: SWAP1
00002e26: DUP11
00002e27: SWAP1
00002e28: DUP11
00002e29: DUP11
00002e2a: DUP11
00002e2b: DUP11
00002e2c: PUSH2 0x2a90
00002e2f: JUMP
00002e30: JUMPDEST
00002e31: SWAP1
00002e32: POP
00002e33: DUP1
00002e34: ISZERO
00002e35: DUP1
00002e36: ISZERO
00002e37: PUSH2 0x2e3e
00002e3a: JUMPI
00002e3b: POP
00002e3c: DUP2
00002e3d: ISZERO
00002e3e: JUMPDEST
00002e3f: ISZERO
00002e40: PUSH2 0x2e48
00002e43: JUMPI
00002e44: PUSH2 0x2f34
00002e47: JUMP
00002e48: JUMPDEST
00002e49: PUSH1 0x00
00002e4b: DUP1
00002e4c: MLOAD
00002e4d: PUSH1 0x20
00002e4f: PUSH2 0x374d
00002e52: DUP4
00002e53: CODECOPY
00002e54: DUP2
00002e55: MLOAD
00002e56: SWAP2
00002e57: MSTORE
00002e58: DUP9
00002e59: DUP4
00002e5a: PUSH1 0x00
00002e5c: DUP7
00002e5d: PUSH1 0x00
00002e5f: ADD
00002e60: SLOAD
00002e61: DUP14
00002e62: PUSH1 0x08
00002e64: ADD
00002e65: SLOAD
00002e66: PUSH1 0x40
00002e68: MLOAD
00002e69: PUSH1 0x01
00002e6b: PUSH1 0xa0
00002e6d: PUSH1 0x02
00002e6f: EXP
00002e70: SUB
00002e71: SWAP1
00002e72: SWAP6
00002e73: AND
00002e74: DUP6
00002e75: MSTORE
00002e76: PUSH1 0x20
00002e78: DUP6
00002e79: ADD
00002e7a: SWAP4
00002e7b: SWAP1
00002e7c: SWAP4
00002e7d: MSTORE
00002e7e: PUSH1 0x40
00002e80: DUP1
00002e81: DUP6
00002e82: ADD
00002e83: SWAP3
00002e84: SWAP1
00002e85: SWAP3
00002e86: MSTORE
00002e87: PUSH1 0x60
00002e89: DUP5
00002e8a: ADD
00002e8b: MSTORE
00002e8c: PUSH1 0x80
00002e8e: DUP4
00002e8f: ADD
00002e90: SWAP2
00002e91: SWAP1
00002e92: SWAP2
00002e93: MSTORE
00002e94: PUSH1 0xa0
00002e96: SWAP1
00002e97: SWAP2
00002e98: ADD
00002e99: SWAP1
00002e9a: MLOAD
00002e9b: DUP1
00002e9c: SWAP2
00002e9d: SUB
00002e9e: SWAP1
00002e9f: LOG1
00002ea0: PUSH32 0x358fe4192934d3bf28ae181feda1f4bd08ca67f5e2fad55582cce5eb67304ae9
00002ec1: DUP9
00002ec2: DUP3
00002ec3: PUSH1 0x40
00002ec5: MLOAD
00002ec6: PUSH1 0x01
00002ec8: PUSH1 0xa0
00002eca: PUSH1 0x02
00002ecc: EXP
00002ecd: SUB
00002ece: SWAP1
00002ecf: SWAP3
00002ed0: AND
00002ed1: DUP3
00002ed2: MSTORE
00002ed3: PUSH1 0x20
00002ed5: DUP3
00002ed6: ADD
00002ed7: MSTORE
00002ed8: PUSH1 0x40
00002eda: SWAP1
00002edb: DUP2
00002edc: ADD
00002edd: SWAP1
00002ede: MLOAD
00002edf: DUP1
00002ee0: SWAP2
00002ee1: SUB
00002ee2: SWAP1
00002ee3: LOG1
00002ee4: PUSH1 0x00
00002ee6: DUP3
00002ee7: GT
00002ee8: ISZERO
00002ee9: PUSH2 0x2eff
00002eec: JUMPI
00002eed: PUSH1 0x09
00002eef: DUP10
00002ef0: ADD
00002ef1: DUP1
00002ef2: SLOAD
00002ef3: DUP4
00002ef4: SWAP1
00002ef5: SUB
00002ef6: SWAP1
00002ef7: SSTORE
00002ef8: PUSH1 0x00
00002efa: PUSH1 0x01
00002efc: DUP5
00002efd: ADD
00002efe: SSTORE
00002eff: JUMPDEST
00002f00: SWAP1
00002f01: DUP2
00002f02: ADD
00002f03: SWAP1
00002f04: PUSH1 0x01
00002f06: PUSH1 0xa0
00002f08: PUSH1 0x02
00002f0a: EXP
00002f0b: SUB
00002f0c: DUP9
00002f0d: AND
00002f0e: DUP3
00002f0f: ISZERO
00002f10: PUSH2 0x08fc
00002f13: MUL
00002f14: DUP4
00002f15: PUSH1 0x40
00002f17: MLOAD
00002f18: PUSH1 0x00
00002f1a: PUSH1 0x40
00002f1c: MLOAD
00002f1d: DUP1
00002f1e: DUP4
00002f1f: SUB
00002f20: DUP2
00002f21: DUP6
00002f22: DUP9
00002f23: DUP9
00002f24: CALL
00002f25: SWAP4
00002f26: POP
00002f27: POP
00002f28: POP
00002f29: POP
00002f2a: ISZERO
00002f2b: ISZERO
00002f2c: PUSH2 0x2f34
00002f2f: JUMPI
00002f30: PUSH1 0x00
00002f32: DUP1
00002f33: REVERT
00002f34: JUMPDEST
00002f35: POP
00002f36: POP
00002f37: POP
00002f38: POP
00002f39: POP
00002f3a: POP
00002f3b: POP
00002f3c: POP
00002f3d: POP
00002f3e: JUMP
00002f3f: JUMPDEST
00002f40: PUSH1 0x06
00002f42: DUP3
00002f43: ADD
00002f44: SLOAD
00002f45: PUSH1 0x00
00002f47: SWAP1
00002f48: PUSH1 0xff
00002f4a: AND
00002f4b: ISZERO
00002f4c: DUP1
00002f4d: PUSH2 0x2f5f
00002f50: JUMPI
00002f51: POP
00002f52: PUSH1 0x02
00002f54: DUP3
00002f55: ADD
00002f56: SLOAD
00002f57: PUSH2 0x0100
00002f5a: SWAP1
00002f5b: DIV
00002f5c: PUSH1 0xff
00002f5e: AND
00002f5f: JUMPDEST
00002f60: SWAP1
00002f61: POP
00002f62: JUMPDEST
00002f63: SWAP3
00002f64: SWAP2
00002f65: POP
00002f66: POP
00002f67: JUMP
00002f68: JUMPDEST
00002f69: DUP2
00002f6a: SLOAD
00002f6b: PUSH1 0x01
00002f6d: DUP4
00002f6e: ADD
00002f6f: SLOAD
00002f70: PUSH1 0x02
00002f72: DUP5
00002f73: ADD
00002f74: SLOAD
00002f75: PUSH1 0x00
00002f77: SWAP3
00002f78: DUP4
00002f79: SWAP3
00002f7a: ADD
00002f7b: DUP5
00002f7c: ADD
00002f7d: SWAP1
00002f7e: DUP2
00002f7f: SWAP1
00002f80: PUSH1 0xff
00002f82: AND
00002f83: ISZERO
00002f84: ISZERO
00002f85: PUSH2 0x2f95
00002f88: JUMPI
00002f89: PUSH2 0x2f92
00002f8c: DUP10
00002f8d: DUP3
00002f8e: PUSH2 0x329b
00002f91: JUMP
00002f92: JUMPDEST
00002f93: SWAP1
00002f94: POP
00002f95: JUMPDEST
00002f96: DUP6
00002f97: SLOAD
00002f98: PUSH2 0x2fa5
00002f9b: SWAP1
00002f9c: DUP9
00002f9d: DUP11
00002f9e: SUB
00002f9f: ADD
00002fa0: DUP3
00002fa1: PUSH2 0x329b
00002fa4: JUMP
00002fa5: JUMPDEST
00002fa6: SWAP1
00002fa7: POP
00002fa8: DUP10
00002fa9: DUP2
00002faa: LT
00002fab: ISZERO
00002fac: PUSH2 0x2fbd
00002faf: JUMPI
00002fb0: PUSH1 0x00
00002fb2: SWAP4
00002fb3: POP
00002fb4: SWAP1
00002fb5: SWAP2
00002fb6: POP
00002fb7: DUP2
00002fb8: SWAP1
00002fb9: PUSH2 0x2fc6
00002fbc: JUMP
00002fbd: JUMPDEST
00002fbe: DUP1
00002fbf: DUP2
00002fc0: DUP4
00002fc1: SUB
00002fc2: SWAP4
00002fc3: POP
00002fc4: SWAP4
00002fc5: POP
00002fc6: JUMPDEST
00002fc7: POP
00002fc8: POP
00002fc9: SWAP7
00002fca: POP
00002fcb: SWAP7
00002fcc: SWAP5
00002fcd: POP
00002fce: POP
00002fcf: POP
00002fd0: POP
00002fd1: POP
00002fd2: JUMP
00002fd3: JUMPDEST
00002fd4: PUSH1 0x00
00002fd6: PUSH1 0x0a
00002fd8: DUP3
00002fd9: PUSH1 0x11
00002fdb: ADD
00002fdc: SLOAD
00002fdd: GT
00002fde: ISZERO
00002fdf: DUP1
00002fe0: ISZERO
00002fe1: PUSH2 0x2ff2
00002fe4: JUMPI
00002fe5: POP
00002fe6: DUP2
00002fe7: PUSH1 0x03
00002fe9: ADD
00002fea: SLOAD
00002feb: DUP3
00002fec: PUSH1 0x02
00002fee: ADD
00002fef: SLOAD
00002ff0: GT
00002ff1: ISZERO
00002ff2: JUMPDEST
00002ff3: DUP1
00002ff4: ISZERO
00002ff5: PUSH2 0x3006
00002ff8: JUMPI
00002ff9: POP
00002ffa: DUP2
00002ffb: PUSH1 0x04
00002ffd: ADD
00002ffe: SLOAD
00002fff: DUP3
00003000: PUSH1 0x03
00003002: ADD
00003003: SLOAD
00003004: GT
00003005: ISZERO
00003006: JUMPDEST
00003007: DUP1
00003008: ISZERO
00003009: PUSH2 0x3022
0000300c: JUMPI
0000300d: POP
0000300e: PUSH12 0x033b2e3c9fd0803ce8000000
0000301b: DUP3
0000301c: PUSH1 0x04
0000301e: ADD
0000301f: SLOAD
00003020: GT
00003021: ISZERO
00003022: JUMPDEST
00003023: ISZERO
00003024: ISZERO
00003025: PUSH2 0x302d
00003028: JUMPI
00003029: PUSH1 0x00
0000302b: DUP1
0000302c: REVERT
0000302d: JUMPDEST
0000302e: PUSH2 0x3042
00003031: PUSH5 0x09502f9000
00003037: PUSH1 0x01
00003039: DUP5
0000303a: PUSH1 0x11
0000303c: ADD
0000303d: SLOAD
0000303e: PUSH2 0x293a
00003041: JUMP
00003042: JUMPDEST
00003043: SWAP1
00003044: POP
00003045: DUP1
00003046: PUSH1 0x02
00003048: MUL
00003049: DUP3
0000304a: PUSH1 0x02
0000304c: ADD
0000304d: SLOAD
0000304e: LT
0000304f: ISZERO
00003050: ISZERO
00003051: ISZERO
00003052: PUSH2 0x0667
00003055: JUMPI
00003056: PUSH1 0x00
00003058: DUP1
00003059: REVERT
0000305a: JUMPDEST
0000305b: PUSH1 0x00
0000305d: DUP1
0000305e: PUSH1 0x00
00003060: DUP1
00003061: PUSH2 0x3079
00003064: DUP9
00003065: PUSH1 0x01
00003067: ADD
00003068: SLOAD
00003069: DUP8
0000306a: ADD
0000306b: DUP7
0000306c: PUSH2 0x32b2
0000306f: SWAP1
00003070: SWAP2
00003071: SWAP1
00003072: PUSH4 0xffffffff
00003077: AND
00003078: JUMP
00003079: JUMPDEST
0000307a: PUSH1 0x01
0000307c: PUSH1 0xa0
0000307e: PUSH1 0x02
00003080: EXP
00003081: SUB
00003082: DUP9
00003083: AND
00003084: PUSH1 0x00
00003086: SWAP1
00003087: DUP2
00003088: MSTORE
00003089: PUSH1 0x20
0000308b: DUP11
0000308c: SWAP1
0000308d: MSTORE
0000308e: PUSH1 0x40
00003090: SWAP1
00003091: KECCAK256
00003092: SLOAD
00003093: SWAP1
00003094: SWAP4
00003095: POP
00003096: SWAP2
00003097: POP
00003098: DUP3
00003099: DUP3
0000309a: GT
0000309b: ISZERO
0000309c: PUSH2 0x30a1
0000309f: JUMPI
000030a0: INVALID
000030a1: JUMPDEST
000030a2: POP
000030a3: PUSH1 0x01
000030a5: PUSH1 0xa0
000030a7: PUSH1 0x02
000030a9: EXP
000030aa: SUB
000030ab: SWAP6
000030ac: SWAP1
000030ad: SWAP6
000030ae: AND
000030af: PUSH1 0x00
000030b1: SWAP1
000030b2: DUP2
000030b3: MSTORE
000030b4: PUSH1 0x20
000030b6: DUP8
000030b7: SWAP1
000030b8: MSTORE
000030b9: PUSH1 0x40
000030bb: SWAP1
000030bc: KECCAK256
000030bd: DUP1
000030be: SLOAD
000030bf: SWAP6
000030c0: SWAP1
000030c1: SWAP2
000030c2: SUB
000030c3: SWAP5
000030c4: DUP6
000030c5: ADD
000030c6: SWAP1
000030c7: SSTORE
000030c8: POP
000030c9: POP
000030ca: POP
000030cb: PUSH1 0x01
000030cd: SWAP1
000030ce: SWAP2
000030cf: ADD
000030d0: DUP1
000030d1: SLOAD
000030d2: DUP3
000030d3: ADD
000030d4: SWAP1
000030d5: SSTORE
000030d6: SWAP1
000030d7: JUMP
000030d8: JUMPDEST
000030d9: PUSH1 0x01
000030db: PUSH1 0xa0
000030dd: PUSH1 0x02
000030df: EXP
000030e0: SUB
000030e1: DUP3
000030e2: AND
000030e3: PUSH1 0x00
000030e5: SWAP1
000030e6: DUP2
000030e7: MSTORE
000030e8: PUSH1 0x20
000030ea: DUP5
000030eb: SWAP1
000030ec: MSTORE
000030ed: PUSH1 0x40
000030ef: DUP2
000030f0: KECCAK256
000030f1: SLOAD
000030f2: DUP3
000030f3: GT
000030f4: ISZERO
000030f5: PUSH2 0x30fa
000030f8: JUMPI
000030f9: INVALID
000030fa: JUMPDEST
000030fb: PUSH1 0x01
000030fd: PUSH1 0xa0
000030ff: PUSH1 0x02
00003101: EXP
00003102: SUB
00003103: SWAP1
00003104: SWAP3
00003105: AND
00003106: PUSH1 0x00
00003108: SWAP1
00003109: DUP2
0000310a: MSTORE
0000310b: PUSH1 0x20
0000310d: DUP5
0000310e: SWAP1
0000310f: MSTORE
00003110: PUSH1 0x40
00003112: SWAP1
00003113: KECCAK256
00003114: DUP1
00003115: SLOAD
00003116: DUP3
00003117: SWAP1
00003118: SUB
00003119: SWAP1
0000311a: SSTORE
0000311b: PUSH1 0x01
0000311d: SWAP1
0000311e: SWAP3
0000311f: ADD
00003120: DUP1
00003121: SLOAD
00003122: SWAP3
00003123: SWAP1
00003124: SWAP3
00003125: SUB
00003126: SWAP1
00003127: SWAP2
00003128: SSTORE
00003129: SWAP1
0000312a: JUMP
0000312b: JUMPDEST
0000312c: PUSH1 0x00
0000312e: DUP1
0000312f: PUSH2 0x3137
00003132: DUP4
00003133: PUSH2 0x2904
00003136: JUMP
00003137: JUMPDEST
00003138: PUSH1 0x10
0000313a: DUP4
0000313b: ADD
0000313c: SLOAD
0000313d: PUSH21 0x010000000000000000000000000000000000000000
00003153: SWAP1
00003154: DIV
00003155: PUSH1 0xff
00003157: AND
00003158: ISZERO
00003159: PUSH2 0x3161
0000315c: JUMPI
0000315d: PUSH1 0x00
0000315f: DUP1
00003160: REVERT
00003161: JUMPDEST
00003162: PUSH1 0x10
00003164: DUP4
00003165: ADD
00003166: DUP1
00003167: SLOAD
00003168: PUSH21 0xff0000000000000000000000000000000000000000
0000317e: NOT
0000317f: AND
00003180: PUSH21 0x010000000000000000000000000000000000000000
00003196: OR
00003197: SWAP1
00003198: DUP2
00003199: SWAP1
0000319a: SSTORE
0000319b: PUSH8 0x0de0b6b3a7640000
000031a4: SWAP1
000031a5: PUSH1 0x01
000031a7: PUSH1 0xa0
000031a9: PUSH1 0x02
000031ab: EXP
000031ac: SUB
000031ad: AND
000031ae: PUSH4 0x9592619c
000031b3: PUSH1 0x40
000031b5: MLOAD
000031b6: DUP2
000031b7: PUSH4 0xffffffff
000031bc: AND
000031bd: PUSH1 0xe0
000031bf: PUSH1 0x02
000031c1: EXP
000031c2: MUL
000031c3: DUP2
000031c4: MSTORE
000031c5: PUSH1 0x04
000031c7: ADD
000031c8: PUSH1 0x20
000031ca: PUSH1 0x40
000031cc: MLOAD
000031cd: DUP1
000031ce: DUP4
000031cf: SUB
000031d0: DUP2
000031d1: PUSH1 0x00
000031d3: DUP8
000031d4: DUP1
000031d5: EXTCODESIZE
000031d6: ISZERO
000031d7: ISZERO
000031d8: PUSH2 0x31e0
000031db: JUMPI
000031dc: PUSH1 0x00
000031de: DUP1
000031df: REVERT
000031e0: JUMPDEST
000031e1: GAS
000031e2: CALL
000031e3: ISZERO
000031e4: ISZERO
000031e5: PUSH2 0x31ed
000031e8: JUMPI
000031e9: PUSH1 0x00
000031eb: DUP1
000031ec: REVERT
000031ed: JUMPDEST
000031ee: POP
000031ef: POP
000031f0: POP
000031f1: PUSH1 0x40
000031f3: MLOAD
000031f4: DUP1
000031f5: MLOAD
000031f6: SWAP1
000031f7: POP
000031f8: DUP5
000031f9: PUSH1 0x08
000031fb: ADD
000031fc: SLOAD
000031fd: MUL
000031fe: DUP2
000031ff: ISZERO
00003200: ISZERO
00003201: PUSH2 0x3206
00003204: JUMPI
00003205: INVALID
00003206: JUMPDEST
00003207: DIV
00003208: SWAP1
00003209: POP
0000320a: PUSH32 0x7a845d9ff115a67119400d0d4fb3a54b18d744a32c3180ecb8e2f15d14af63ef
0000322b: DUP2
0000322c: PUSH1 0x40
0000322e: MLOAD
0000322f: SWAP1
00003230: DUP2
00003231: MSTORE
00003232: PUSH1 0x20
00003234: ADD
00003235: PUSH1 0x40
00003237: MLOAD
00003238: DUP1
00003239: SWAP2
0000323a: SUB
0000323b: SWAP1
0000323c: LOG1
0000323d: PUSH1 0x10
0000323f: DUP4
00003240: ADD
00003241: SLOAD
00003242: PUSH1 0x01
00003244: PUSH1 0xa0
00003246: PUSH1 0x02
00003248: EXP
00003249: SUB
0000324a: AND
0000324b: PUSH4 0xdff90b5b
00003250: DUP3
00003251: PUSH1 0x40
00003253: MLOAD
00003254: DUP3
00003255: PUSH4 0xffffffff
0000325a: AND
0000325b: PUSH1 0xe0
0000325d: PUSH1 0x02
0000325f: EXP
00003260: MUL
00003261: DUP2
00003262: MSTORE
00003263: PUSH1 0x04
00003265: ADD
00003266: PUSH1 0x20
00003268: PUSH1 0x40
0000326a: MLOAD
0000326b: DUP1
0000326c: DUP4
0000326d: SUB
0000326e: DUP2
0000326f: DUP6
00003270: DUP9
00003271: DUP1
00003272: EXTCODESIZE
00003273: ISZERO
00003274: ISZERO
00003275: PUSH2 0x327d
00003278: JUMPI
00003279: PUSH1 0x00
0000327b: DUP1
0000327c: REVERT
0000327d: JUMPDEST
0000327e: GAS
0000327f: CALL
00003280: ISZERO
00003281: ISZERO
00003282: PUSH2 0x328a
00003285: JUMPI
00003286: PUSH1 0x00
00003288: DUP1
00003289: REVERT
0000328a: JUMPDEST
0000328b: POP
0000328c: POP
0000328d: POP
0000328e: POP
0000328f: PUSH1 0x40
00003291: MLOAD
00003292: DUP1
00003293: MLOAD
00003294: SWAP5
00003295: SWAP4
00003296: POP
00003297: POP
00003298: POP
00003299: POP
0000329a: JUMP
0000329b: JUMPDEST
0000329c: PUSH1 0x00
0000329e: DUP2
0000329f: DUP4
000032a0: LT
000032a1: ISZERO
000032a2: PUSH2 0x32ac
000032a5: JUMPI
000032a6: POP
000032a7: DUP2
000032a8: PUSH2 0x2f62
000032ab: JUMP
000032ac: JUMPDEST
000032ad: POP
000032ae: SWAP2
000032af: SWAP1
000032b0: POP
000032b1: JUMP
000032b2: JUMPDEST
000032b3: PUSH1 0x00
000032b5: PUSH1 0x20
000032b7: DUP4
000032b8: ADD
000032b9: MLOAD
000032ba: DUP4
000032bb: MLOAD
000032bc: DUP4
000032bd: MUL
000032be: DUP2
000032bf: ISZERO
000032c0: ISZERO
000032c1: PUSH2 0x32c6
000032c4: JUMPI
000032c5: INVALID
000032c6: JUMPDEST
000032c7: DIV
000032c8: SWAP4
000032c9: SWAP3
000032ca: POP
000032cb: POP
000032cc: POP
000032cd: JUMP
000032ce: JUMPDEST
000032cf: PUSH1 0x20
000032d1: PUSH1 0x40
000032d3: MLOAD
000032d4: SWAP1
000032d5: DUP2
000032d6: ADD
000032d7: PUSH1 0x40
000032d9: MSTORE
000032da: PUSH1 0x00
000032dc: DUP2
000032dd: MSTORE
000032de: SWAP1
000032df: JUMP
000032e0: JUMPDEST
000032e1: DUP2
000032e2: SLOAD
000032e3: DUP2
000032e4: DUP4
000032e5: SSTORE
000032e6: DUP2
000032e7: DUP2
000032e8: ISZERO
000032e9: GT
000032ea: PUSH2 0x0644
000032ed: JUMPI
000032ee: PUSH1 0x00
000032f0: DUP4
000032f1: DUP2
000032f2: MSTORE
000032f3: PUSH1 0x20
000032f5: SWAP1
000032f6: KECCAK256
000032f7: PUSH2 0x0644
000032fa: SWAP2
000032fb: DUP2
000032fc: ADD
000032fd: SWAP1
000032fe: DUP4
000032ff: ADD
00003300: PUSH2 0x08d9
00003303: SWAP2
00003304: SWAP1
00003305: JUMPDEST
00003306: DUP1
00003307: DUP3
00003308: GT
00003309: ISZERO
0000330a: PUSH2 0x3319
0000330d: JUMPI
0000330e: PUSH1 0x00
00003310: DUP2
00003311: SSTORE
00003312: PUSH1 0x01
00003314: ADD
00003315: PUSH2 0x3305
00003318: JUMP
00003319: JUMPDEST
0000331a: POP
0000331b: SWAP1
0000331c: JUMP
0000331d: JUMPDEST
0000331e: PUSH1 0x10
00003320: DUP12
00003321: ADD
00003322: DUP1
00003323: SLOAD
00003324: PUSH1 0x01
00003326: PUSH1 0xa0
00003328: PUSH1 0x02
0000332a: EXP
0000332b: SUB
0000332c: NOT
0000332d: AND
0000332e: PUSH1 0x01
00003330: PUSH1 0xa0
00003332: PUSH1 0x02
00003334: EXP
00003335: SUB
00003336: DUP12
00003337: DUP2
00003338: AND
00003339: SWAP2
0000333a: SWAP1
0000333b: SWAP2
0000333c: OR
0000333d: SWAP2
0000333e: DUP3
0000333f: SWAP1
00003340: SSTORE
00003341: PUSH1 0x00
00003343: SWAP2
00003344: PUSH32 0x6130bfcaaf8b3b739938e61c16e58e88c5e6d262f2990a8979ce811a1bc001e3
00003365: SWAP2
00003366: AND
00003367: PUSH4 0xf01fe692
0000336c: DUP12
0000336d: DUP15
0000336e: PUSH1 0x40
00003370: MLOAD
00003371: PUSH1 0xe0
00003373: PUSH1 0x02
00003375: EXP
00003376: PUSH4 0xffffffff
0000337b: DUP6
0000337c: AND
0000337d: MUL
0000337e: DUP2
0000337f: MSTORE
00003380: PUSH1 0x04
00003382: DUP2
00003383: ADD
00003384: SWAP3
00003385: SWAP1
00003386: SWAP3
00003387: MSTORE
00003388: PUSH1 0x01
0000338a: PUSH1 0xa0
0000338c: PUSH1 0x02
0000338e: EXP
0000338f: SUB
00003390: AND
00003391: PUSH1 0x24
00003393: DUP3
00003394: ADD
00003395: MSTORE
00003396: PUSH1 0x44
00003398: ADD
00003399: PUSH1 0x20
0000339b: PUSH1 0x40
0000339d: MLOAD
0000339e: DUP1
0000339f: DUP4
000033a0: SUB
000033a1: DUP2
000033a2: PUSH1 0x00
000033a4: DUP8
000033a5: DUP1
000033a6: EXTCODESIZE
000033a7: ISZERO
000033a8: ISZERO
000033a9: PUSH2 0x33b1
000033ac: JUMPI
000033ad: PUSH1 0x00
000033af: DUP1
000033b0: REVERT
000033b1: JUMPDEST
000033b2: GAS
000033b3: CALL
000033b4: ISZERO
000033b5: ISZERO
000033b6: PUSH2 0x33be
000033b9: JUMPI
000033ba: PUSH1 0x00
000033bc: DUP1
000033bd: REVERT
000033be: JUMPDEST
000033bf: POP
000033c0: POP
000033c1: POP
000033c2: PUSH1 0x40
000033c4: MLOAD
000033c5: DUP1
000033c6: MLOAD
000033c7: SWAP1
000033c8: POP
000033c9: DUP11
000033ca: DUP13
000033cb: PUSH1 0x40
000033cd: MLOAD
000033ce: SWAP3
000033cf: DUP4
000033d0: MSTORE
000033d1: PUSH1 0x20
000033d3: DUP4
000033d4: ADD
000033d5: SWAP2
000033d6: SWAP1
000033d7: SWAP2
000033d8: MSTORE
000033d9: PUSH1 0x01
000033db: PUSH1 0xa0
000033dd: PUSH1 0x02
000033df: EXP
000033e0: SUB
000033e1: AND
000033e2: PUSH1 0x40
000033e4: DUP1
000033e5: DUP4
000033e6: ADD
000033e7: SWAP2
000033e8: SWAP1
000033e9: SWAP2
000033ea: MSTORE
000033eb: PUSH1 0x60
000033ed: SWAP1
000033ee: SWAP2
000033ef: ADD
000033f0: SWAP1
000033f1: MLOAD
000033f2: DUP1
000033f3: SWAP2
000033f4: SUB
000033f5: SWAP1
000033f6: LOG1
000033f7: DUP12
000033f8: SLOAD
000033f9: PUSH1 0xff
000033fb: NOT
000033fc: AND
000033fd: DUP13
000033fe: SSTORE
000033ff: PUSH1 0x11
00003401: DUP13
00003402: ADD
00003403: DUP4
00003404: SWAP1
00003405: SSTORE
00003406: PUSH1 0x12
00003408: DUP13
00003409: ADD
0000340a: DUP1
0000340b: SLOAD
0000340c: PUSH1 0x01
0000340e: PUSH1 0xa0
00003410: PUSH1 0x02
00003412: EXP
00003413: SUB
00003414: NOT
00003415: AND
00003416: PUSH1 0x01
00003418: PUSH1 0xa0
0000341a: PUSH1 0x02
0000341c: EXP
0000341d: SUB
0000341e: DUP5
0000341f: AND
00003420: OR
00003421: SWAP1
00003422: SSTORE
00003423: PUSH32 0x0f1caba0e437aee0eeb41d25343a768a6a1c8873b9db0b979723c4dbc6d568ec
00003444: PUSH5 0x09502f9000
0000344a: DUP5
0000344b: DUP5
0000344c: PUSH1 0x40
0000344e: MLOAD
0000344f: SWAP3
00003450: DUP4
00003451: MSTORE
00003452: PUSH1 0x20
00003454: DUP4
00003455: ADD
00003456: SWAP2
00003457: SWAP1
00003458: SWAP2
00003459: MSTORE
0000345a: PUSH1 0x01
0000345c: PUSH1 0xa0
0000345e: PUSH1 0x02
00003460: EXP
00003461: SUB
00003462: AND
00003463: PUSH1 0x40
00003465: DUP1
00003466: DUP4
00003467: ADD
00003468: SWAP2
00003469: SWAP1
0000346a: SWAP2
0000346b: MSTORE
0000346c: PUSH1 0x60
0000346e: SWAP1
0000346f: SWAP2
00003470: ADD
00003471: SWAP1
00003472: MLOAD
00003473: DUP1
00003474: SWAP2
00003475: SUB
00003476: SWAP1
00003477: LOG1
00003478: PUSH1 0x02
0000347a: DUP13
0000347b: ADD
0000347c: DUP9
0000347d: SWAP1
0000347e: SSTORE
0000347f: PUSH1 0x03
00003481: DUP13
00003482: ADD
00003483: DUP8
00003484: SWAP1
00003485: SSTORE
00003486: PUSH1 0x04
00003488: DUP13
00003489: ADD
0000348a: DUP7
0000348b: SWAP1
0000348c: SSTORE
0000348d: PUSH2 0x3495
00003490: DUP13
00003491: PUSH2 0x2fd3
00003494: JUMP
00003495: JUMPDEST
00003496: PUSH32 0x81ed9d12804616ac7f219b046f48081f6f704a4bab03d58f911cc5c37d285fd9
000034b7: DUP9
000034b8: DUP9
000034b9: DUP9
000034ba: PUSH1 0x40
000034bc: MLOAD
000034bd: DUP1
000034be: DUP5
000034bf: DUP2
000034c0: MSTORE
000034c1: PUSH1 0x20
000034c3: ADD
000034c4: DUP4
000034c5: DUP2
000034c6: MSTORE
000034c7: PUSH1 0x20
000034c9: ADD
000034ca: DUP3
000034cb: DUP2
000034cc: MSTORE
000034cd: PUSH1 0x20
000034cf: ADD
000034d0: SWAP4
000034d1: POP
000034d2: POP
000034d3: POP
000034d4: POP
000034d5: PUSH1 0x40
000034d7: MLOAD
000034d8: DUP1
000034d9: SWAP2
000034da: SUB
000034db: SWAP1
000034dc: LOG1
000034dd: DUP4
000034de: ISZERO
000034df: PUSH2 0x351e
000034e2: JUMPI
000034e3: PUSH1 0x06
000034e5: DUP13
000034e6: ADD
000034e7: DUP1
000034e8: SLOAD
000034e9: PUSH1 0xff
000034eb: NOT
000034ec: AND
000034ed: PUSH1 0x01
000034ef: OR
000034f0: SWAP1
000034f1: SSTORE
000034f2: PUSH32 0xe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c37434
00003513: PUSH1 0x40
00003515: MLOAD
00003516: PUSH1 0x40
00003518: MLOAD
00003519: DUP1
0000351a: SWAP2
0000351b: SUB
0000351c: SWAP1
0000351d: LOG1
0000351e: JUMPDEST
0000351f: POP
00003520: PUSH1 0x00
00003522: JUMPDEST
00003523: DUP5
00003524: MLOAD
00003525: DUP2
00003526: LT
00003527: ISZERO
00003528: PUSH2 0x35da
0000352b: JUMPI
0000352c: PUSH2 0x354d
0000352f: DUP13
00003530: PUSH1 0x01
00003532: ADD
00003533: DUP7
00003534: DUP4
00003535: DUP2
00003536: MLOAD
00003537: DUP2
00003538: LT
00003539: PUSH2 0x353e
0000353c: JUMPI
0000353d: INVALID
0000353e: JUMPDEST
0000353f: SWAP1
00003540: PUSH1 0x20
00003542: ADD
00003543: SWAP1
00003544: PUSH1 0x20
00003546: MUL
00003547: ADD
00003548: MLOAD
00003549: PUSH2 0x3632
0000354c: JUMP
0000354d: JUMPDEST
0000354e: ISZERO
0000354f: ISZERO
00003550: PUSH2 0x35d2
00003553: JUMPI
00003554: DUP12
00003555: PUSH1 0x01
00003557: ADD
00003558: DUP1
00003559: SLOAD
0000355a: DUP1
0000355b: PUSH1 0x01
0000355d: ADD
0000355e: DUP3
0000355f: DUP2
00003560: PUSH2 0x3569
00003563: SWAP2
00003564: SWAP1
00003565: PUSH2 0x32e0
00003568: JUMP
00003569: JUMPDEST
0000356a: SWAP2
0000356b: PUSH1 0x00
0000356d: MSTORE
0000356e: PUSH1 0x20
00003570: PUSH1 0x00
00003572: KECCAK256
00003573: SWAP1
00003574: ADD
00003575: PUSH1 0x00
00003577: DUP8
00003578: DUP5
00003579: DUP2
0000357a: MLOAD
0000357b: DUP2
0000357c: LT
0000357d: PUSH2 0x3582
00003580: JUMPI
00003581: INVALID
00003582: JUMPDEST
00003583: SWAP1
00003584: PUSH1 0x20
00003586: ADD
00003587: SWAP1
00003588: PUSH1 0x20
0000358a: MUL
0000358b: ADD
0000358c: MLOAD
0000358d: SWAP1
0000358e: SWAP2
0000358f: SWAP1
00003590: SWAP2
00003591: PUSH2 0x0100
00003594: EXP
00003595: DUP2
00003596: SLOAD
00003597: DUP2
00003598: PUSH1 0x01
0000359a: PUSH1 0xa0
0000359c: PUSH1 0x02
0000359e: EXP
0000359f: SUB
000035a0: MUL
000035a1: NOT
000035a2: AND
000035a3: SWAP1
000035a4: DUP4
000035a5: PUSH1 0x01
000035a7: PUSH1 0xa0
000035a9: PUSH1 0x02
000035ab: EXP
000035ac: SUB
000035ad: AND
000035ae: MUL
000035af: OR
000035b0: SWAP1
000035b1: SSTORE
000035b2: POP
000035b3: POP
000035b4: PUSH2 0x35d2
000035b7: DUP13
000035b8: DUP7
000035b9: DUP4
000035ba: DUP2
000035bb: MLOAD
000035bc: DUP2
000035bd: LT
000035be: PUSH2 0x35c3
000035c1: JUMPI
000035c2: INVALID
000035c3: JUMPDEST
000035c4: SWAP1
000035c5: PUSH1 0x20
000035c7: ADD
000035c8: SWAP1
000035c9: PUSH1 0x20
000035cb: MUL
000035cc: ADD
000035cd: MLOAD
000035ce: PUSH2 0x368f
000035d1: JUMP
000035d2: JUMPDEST
000035d3: PUSH1 0x01
000035d5: ADD
000035d6: PUSH2 0x3522
000035d9: JUMP
000035da: JUMPDEST
000035db: PUSH2 0x35e7
000035de: DUP13
000035df: PUSH1 0x01
000035e1: ADD
000035e2: DUP13
000035e3: PUSH2 0x3632
000035e6: JUMP
000035e7: JUMPDEST
000035e8: ISZERO
000035e9: ISZERO
000035ea: PUSH2 0x1152
000035ed: JUMPI
000035ee: DUP12
000035ef: PUSH1 0x01
000035f1: ADD
000035f2: DUP1
000035f3: SLOAD
000035f4: DUP1
000035f5: PUSH1 0x01
000035f7: ADD
000035f8: DUP3
000035f9: DUP2
000035fa: PUSH2 0x3603
000035fd: SWAP2
000035fe: SWAP1
000035ff: PUSH2 0x32e0
00003602: JUMP
00003603: JUMPDEST
00003604: POP
00003605: PUSH1 0x00
00003607: SWAP2
00003608: DUP3
00003609: MSTORE
0000360a: PUSH1 0x20
0000360c: SWAP1
0000360d: SWAP2
0000360e: KECCAK256
0000360f: ADD
00003610: DUP1
00003611: SLOAD
00003612: PUSH1 0x01
00003614: PUSH1 0xa0
00003616: PUSH1 0x02
00003618: EXP
00003619: SUB
0000361a: NOT
0000361b: AND
0000361c: PUSH1 0x01
0000361e: PUSH1 0xa0
00003620: PUSH1 0x02
00003622: EXP
00003623: SUB
00003624: DUP14
00003625: AND
00003626: OR
00003627: SWAP1
00003628: SSTORE
00003629: PUSH2 0x1152
0000362c: DUP13
0000362d: DUP13
0000362e: PUSH2 0x368f
00003631: JUMP
00003632: JUMPDEST
00003633: PUSH1 0x00
00003635: DUP1
00003636: JUMPDEST
00003637: DUP4
00003638: SLOAD
00003639: DUP2
0000363a: LT
0000363b: ISZERO
0000363c: PUSH2 0x3683
0000363f: JUMPI
00003640: DUP3
00003641: PUSH1 0x01
00003643: PUSH1 0xa0
00003645: PUSH1 0x02
00003647: EXP
00003648: SUB
00003649: AND
0000364a: DUP5
0000364b: DUP3
0000364c: DUP2
0000364d: SLOAD
0000364e: DUP2
0000364f: LT
00003650: ISZERO
00003651: ISZERO
00003652: PUSH2 0x3657
00003655: JUMPI
00003656: INVALID
00003657: JUMPDEST
00003658: PUSH1 0x00
0000365a: SWAP2
0000365b: DUP3
0000365c: MSTORE
0000365d: PUSH1 0x20
0000365f: SWAP1
00003660: SWAP2
00003661: KECCAK256
00003662: ADD
00003663: SLOAD
00003664: PUSH1 0x01
00003666: PUSH1 0xa0
00003668: PUSH1 0x02
0000366a: EXP
0000366b: SUB
0000366c: AND
0000366d: EQ
0000366e: ISZERO
0000366f: PUSH2 0x367b
00003672: JUMPI
00003673: PUSH1 0x01
00003675: SWAP2
00003676: POP
00003677: PUSH2 0x3688
0000367a: JUMP
0000367b: JUMPDEST
0000367c: PUSH1 0x01
0000367e: ADD
0000367f: PUSH2 0x3636
00003682: JUMP
00003683: JUMPDEST
00003684: PUSH1 0x00
00003686: SWAP2
00003687: POP
00003688: JUMPDEST
00003689: POP
0000368a: SWAP3
0000368b: SWAP2
0000368c: POP
0000368d: POP
0000368e: JUMP
0000368f: JUMPDEST
00003690: PUSH1 0x01
00003692: PUSH1 0xa0
00003694: PUSH1 0x02
00003696: EXP
00003697: SUB
00003698: DUP2
00003699: AND
0000369a: PUSH1 0x00
0000369c: SWAP1
0000369d: DUP2
0000369e: MSTORE
0000369f: PUSH1 0x07
000036a1: DUP4
000036a2: ADD
000036a3: PUSH1 0x20
000036a5: MSTORE
000036a6: PUSH1 0x40
000036a8: SWAP1
000036a9: KECCAK256
000036aa: PUSH1 0x02
000036ac: ADD
000036ad: DUP1
000036ae: SLOAD
000036af: PUSH3 0x010000
000036b3: PUSH1 0x01
000036b5: PUSH2 0x0100
000036b8: PUSH2 0xff00
000036bb: NOT
000036bc: SWAP1
000036bd: SWAP4
000036be: AND
000036bf: SWAP3
000036c0: SWAP1
000036c1: SWAP3
000036c2: OR
000036c3: PUSH1 0xff
000036c5: NOT
000036c6: AND
000036c7: DUP3
000036c8: OR
000036c9: PUSH3 0xff0000
000036cd: NOT
000036ce: AND
000036cf: OR
000036d0: SWAP1
000036d1: SWAP2
000036d2: SSTORE
000036d3: PUSH1 0x05
000036d5: DUP4
000036d6: ADD
000036d7: DUP1
000036d8: SLOAD
000036d9: SWAP1
000036da: SWAP2
000036db: DUP2
000036dc: ADD
000036dd: PUSH2 0x36e6
000036e0: DUP4
000036e1: DUP3
000036e2: PUSH2 0x32e0
000036e5: JUMP
000036e6: JUMPDEST
000036e7: POP
000036e8: PUSH1 0x00
000036ea: SWAP2
000036eb: DUP3
000036ec: MSTORE
000036ed: PUSH1 0x20
000036ef: SWAP1
000036f0: SWAP2
000036f1: KECCAK256
000036f2: ADD
000036f3: DUP1
000036f4: SLOAD
000036f5: PUSH1 0x01
000036f7: PUSH1 0xa0
000036f9: PUSH1 0x02
000036fb: EXP
000036fc: SUB
000036fd: NOT
000036fe: AND
000036ff: PUSH1 0x01
00003701: PUSH1 0xa0
00003703: PUSH1 0x02
00003705: EXP
00003706: SUB
00003707: DUP4
00003708: AND
00003709: OR
0000370a: SWAP1
0000370b: SSTORE
0000370c: PUSH32 0xad6de4452a631e641cb59902236607946ce9272b9b981f2f80e8d129cb9084ba
0000372d: DUP2
0000372e: PUSH1 0x40
00003730: MLOAD
00003731: PUSH1 0x01
00003733: PUSH1 0xa0
00003735: PUSH1 0x02
00003737: EXP
00003738: SUB
00003739: SWAP1
0000373a: SWAP2
0000373b: AND
0000373c: DUP2
0000373d: MSTORE
0000373e: PUSH1 0x20
00003740: ADD
00003741: PUSH1 0x40
00003743: MLOAD
00003744: DUP1
00003745: SWAP2
00003746: SUB
00003747: SWAP1
00003748: LOG1
00003749: POP
0000374a: POP
0000374b: JUMP
0000374c: STOP
0000374d: DUP9
0000374e: PUSH31 0x73c01568cecc3fe477a39c098f6599306a7592db9c8941dfc71ff9046d06b5
0000376e: UNKNOWN(0xB7)
0000376f: UNKNOWN(0xAF)
00003770: UNKNOWN(0xD1)
00003771: SWAP2
00003772: KECCAK256
00003773: UNKNOWN(0xE2)
00003774: REVERT
00003775: UNKNOWN(0xCC)
00003776: AND
00003777: CALLDATALOAD
00003778: SWAP8
00003779: UNKNOWN(0xA8)
0000377a: PUSH16 0xbe89ae50e622014b66e53de941c87eec
0000378b: ADDMOD
0000378c: UNKNOWN(0x22)
0000378d: LOG1
0000378e: PUSH6 0x627a7a723058
00003795: KECCAK256
00003796: DUP5
00003797: DUP6
00003798: LT
00003799: UNKNOWN(0xC1)
0000379a: UNKNOWN(0xCA)
0000379b: DUP6
0000379c: SGT
0000379d: UNKNOWN(0xE1)
0000379e: ADDMOD
0000379f: PUSH29

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: 0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94
call_targets: 0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1"
    ],
    "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": "0x14614af9",
            "selector": "0x14614af9",
            "calldata_variants": [
                "0x14614af9",
                "0x14614af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x17f708fb",
            "selector": "0x17f708fb",
            "calldata_variants": [
                "0x17f708fb",
                "0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19f363bc",
            "selector": "0x19f363bc",
            "calldata_variants": [
                "0x19f363bc",
                "0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2618e6e9",
            "selector": "0x2618e6e9",
            "calldata_variants": [
                "0x2618e6e9",
                "0x2618e6e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b55b792",
            "selector": "0x2b55b792",
            "calldata_variants": [
                "0x2b55b792",
                "0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2bc2b71a",
            "selector": "0x2bc2b71a",
            "calldata_variants": [
                "0x2bc2b71a",
                "0x2bc2b71a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d923501",
            "selector": "0x2d923501",
            "calldata_variants": [
                "0x2d923501",
                "0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3271,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3474,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3955,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 28,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94
call_targets: 0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xda3be6c750bd6c3b1929e798daaf36a14db497cf014a853aeeb7789ebd73fc94",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x887910314a3bfbe7b6ea0c5fbf3b9fd2fcac89d1"
    ],
    "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": "0x14614af9",
            "selector": "0x14614af9",
            "calldata_variants": [
                "0x14614af9",
                "0x14614af90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x17f708fb",
            "selector": "0x17f708fb",
            "calldata_variants": [
                "0x17f708fb",
                "0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19f363bc",
            "selector": "0x19f363bc",
            "calldata_variants": [
                "0x19f363bc",
                "0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2618e6e9",
            "selector": "0x2618e6e9",
            "calldata_variants": [
                "0x2618e6e9",
                "0x2618e6e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b55b792",
            "selector": "0x2b55b792",
            "calldata_variants": [
                "0x2b55b792",
                "0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2bc2b71a",
            "selector": "0x2bc2b71a",
            "calldata_variants": [
                "0x2bc2b71a",
                "0x2bc2b71a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d923501",
            "selector": "0x2d923501",
            "calldata_variants": [
                "0x2d923501",
                "0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3271,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3474,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3955,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 28,
    "guards_detected": [],
    "untrusted_call_count": 28
}
medium reentrancy codex External call occurs before storage update on at least one path 75 no
view
evidence_json
{
    "evidence": "Disassembly shows CALL at pc 11632 followed by SLOAD/SSTORE operations, with the first SSTORE at pc 11762; analysis_artifact.auth.guards is empty (no explicit guard detected).",
    "locations": [
        "pc:11632",
        "pc:11762"
    ],
    "recommendation": "Move state updates before external calls (checks-effects-interactions) or wrap the affected entrypoints with a reentrancy guard; consider using pull-based payouts for value transfers.",
    "exploit_scenario": "If the CALL target at pc 11632 is attacker-controlled (or can reenter via a callback), it can reenter before the state update at pc 11762 and potentially repeat state-changing actions or violate invariants. This is bytecode-only; I could not confirm whether a reentrancy guard covers this path."
}
medium other codex Computed CALL targets and values enable arbitrary external calls if user-controlled 75 no
view
evidence_json
{
    "evidence": "`callsites` list 28 CALLs with `target_expression_category` and `value_expression_category` set to `computed`; detector_findings flag untrusted CALL target/value reachable and ETH value transfer possible. The CALL at pc 3474 appears to forward `CALLVALUE` (seen in nearby opcodes).",
    "locations": [
        "pc:3271",
        "pc:3474",
        "pc:3955",
        "pc:4075",
        "pc:4189"
    ],
    "recommendation": "Constrain call targets via allowlists or immutable addresses, validate input addresses, and enforce access control for functions that initiate external calls with value.",
    "exploit_scenario": "Multiple CALLs use computed targets/values; if any target is derived from calldata or user-influenced storage, a caller could redirect the contract to call arbitrary external contracts and potentially transfer ETH or trigger unexpected callbacks. Detector validation was inconclusive (reported constant target but unconfirmed), so treat this as conditional on target controllability."
}
low other codex Return-data handling for external calls is unclear 65 no
view
evidence_json
{
    "evidence": "`returndata_checked` is null for all callsites; disassembly around pc 3271 shows only CALL success checks (`ISZERO`/`ISZERO`) without explicit RETURNDATACOPY/RETURNDATASIZE handling.",
    "locations": [
        "pc:3271",
        "pc:3474",
        "pc:11101"
    ],
    "recommendation": "Use a safe-call pattern that validates return data (e.g., require either empty return data or decoded true) for token transfers and approvals.",
    "exploit_scenario": "If these CALLs interact with ERC20 tokens or other contracts that return false instead of reverting, checking only the CALL success flag may treat failed operations as successful, leading to accounting inconsistencies. The evidence does not show explicit returndata decoding, so this is uncertain."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 28
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 24
}