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

Analysis Run

019c0ea9-0984-7238-bcd4-f122b4ccad2e

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
42096 artifact.fetch complete 1 / 3 2 months ago
42097 proxy.resolve complete 1 / 3 2 months ago
42098 tool.cast_disasm complete 1 / 3 2 months ago
42099 analysis.bundle complete 1 / 3 2 months ago
42100 capability.graph complete 1 / 3 2 months ago
42101 detector.run complete 1 / 3 2 months ago
42102 validation.fork complete 1 / 3 2 months ago
42452 report.consolidate complete 1 / 6 2 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.
View stdout
{"no_findings":false,"summary":"Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)","exploit_scenario":"If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime.","recommendation":"Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.","evidence":"Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.","locations":["pc:0x9ec","pc:0xa95","pc:0xc60","pc:0xdb0","pc:0xdeb"]},{"severity":"low","category":"reentrancy","title":"External calls can occur before storage updates along CFG path","exploit_scenario":"A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized.","recommendation":"Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.","evidence":"CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.","locations":["pc:0x9ec","pc:0xa95","pc:0xae0"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-n8t3es3h
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f82-efcc-7fd0-a8c9-10e9645854df
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-n8t3es3h succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-n8t3es3h succeeded in 10ms:
{
  "analysis_artifact": {
    "address": "0x2c79e1a51e25fffff54c3becadbf1554841a8fc8",
    "artifact_hash": "0xbc710be83dafefcd35b9767907ce96bc7afce9f32a640d998737975a8700c2ee",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 12,
          "hash": "0x15197bb2acdb6c15e0a4e410caa58df40c017197bd531df62fe765005fc0fb7d",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "PUSH1",
            "CALLDATASIZE",
            "LT",
            "PUSH2",
exec
/bin/bash -lc 'rg -n "storage|evidence|callsite|proxy|delegatecall|upgrade|slot|admin" BYTECODE_BUNDLE.json | head -n 50' in /tmp/codex-n8t3es3h succeeded in 9ms:
11040:      "callsites": [
14333:            "delegatecall": 0,
14337:          "storage": {
14339:            "slots": [
14343:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14348:                "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14353:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14358:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
14363:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
14368:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14373:                "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14378:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
14383:                "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14388:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14393:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14398:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
14403:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
14408:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14413:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14418:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json','r') as f:
    data=json.load(f)
print(data.keys())
print('analysis_artifact keys',data['analysis_artifact'].keys())
print('artifact_json keys',data['analysis_artifact']['artifact_json'].keys())
print('detector_findings',len(data.get('detector_findings',[])))
print('heuristics_summary',data.get('heuristics_summary'))
PY" in /tmp/codex-n8t3es3h succeeded in 40ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
analysis_artifact keys dict_keys(['address', 'artifact_hash', 'artifact_json', 'block_number', 'chain_id', 'codehash', 'created_at', 'id', 'updated_at', 'version'])
artifact_json keys dict_keys(['auth', 'basic_blocks', 'callsites', 'cfg_edges', 'cfg_hash', 'dispatcher_type', 'function_entries', 'functions', 'selectors', 'sinks', 'storage', 'version'])
detector_findings 2
heuristics_summary {'create2_count': 0, 'delegatecall_count': 0, 'flags': ['heavy_ext_balance_usage', 'call_family_heavy'], 'selfdestruct_count': 0}
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json','r') as f:
    data=json.load(f)
print('analysis_run keys',data['analysis_run'].keys())
print('artifact keys',data['artifact'].keys())
print('capability_graph keys',data['capability_graph'].keys())
PY" in /tmp/codex-n8t3es3h succeeded in 79ms:
analysis_run keys dict_keys(['address', 'block_number', 'chain_id', 'child_links', 'created_at', 'id', 'parent_links', 'status', 'updated_at'])
artifact keys dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])
capability_graph keys dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
print('artifact:')
pp = pprint
pp(data['artifact'])
PY" in /tmp/codex-n8t3es3h succeeded in 59ms:
artifact:
{'codehash': '0x3dc042a2d247e6ae82fa9b8373ab82369ab2c97f2bbaed66813f1cbc8e8baa7b',
 'compiler_json': {'compiler_version': None,
                   'etherscan': {'contract_name': None,
                                 'implementation': None,
                                 'license': 'Unknown',
                                 'proxy': '0',
                                 'swarm_source': None},
                   'optimizer_enabled': False,
                   'optimizer_runs': 0,
                   'proxy_evidence': {'status': 'not_proxy'}},
 'implementation_address': None,
 'is_proxy': False,
 'runtime_bytecode': {'full': '0x6080604052600436106101f5576000357c0100000000000000000000000000000000000000000000000000000000900480637a66a4dc1161011f578063c7e9ba8b116100b2578063ee07242611610081578063ee07242614610765578063f851a44014610798578063f8821efa146107ad578063fb0f97a814610839576101f5565b8063c7e9ba8b146105ef578063d77366a414610638578063dd53d6571461064d578063ed2cdeff14610750576101f5565b8063a888c2cd116100ee578063a888c2cd14610521578063aad3e5cc14610592578063aca85118146105a7578063b63c154d146105bc576101f5565b80637a66a4dc146104ac5780638a87b5c5146104e25780638da5cb5b146104f7578063989c8f5e1461050c576101f5565b80635f238402116101975780636dc7a627116101665780636dc7a627146103db578063704b6c02146103f0578063705c4bff14610423578063764f025d14610453576101f5565b80635f2384021461038757806360795d801461039c5780636621ebfb146103b15780636d2b5fd5146103c6576101f5565b8063405b8453116101d3578063405b8453146102ec5780634e71d92d1461030157806351cff8d914610316578063520e9f701461035d576101f5565b80631562c4911461020e5780633c22d7d5146102945780633fc8cef3146102bb575b600354600160a060020a0316331461020c57600080fd5b005b34801561021a57600080fd5b50610267600480360360c081101561023157600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a0013561087c565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b3480156102a057600080fd5b506102a96108d1565b60408051918252519081900360200190f35b3480156102c757600080fd5b506102d06108d7565b60408051600160a060020a039092168252519081900360200190f35b3480156102f857600080fd5b506102a96108e6565b34801561030d57600080fd5b5061020c6108ec565b34801561032257600080fd5b506103496004803603602081101561033957600080fd5b5035600160a060020a0316610b47565b604080519115158252519081900360200190f35b34801561036957600080fd5b5061020c6004803603602081101561038057600080fd5b5035610cdd565b34801561039357600080fd5b506102a9610cf9565b3480156103a857600080fd5b5061020c610cff565b3480156103bd57600080fd5b506102d0610e40565b3480156103d257600080fd5b506102a9610e4f565b3480156103e757600080fd5b50610349610e55565b3480156103fc57600080fd5b5061020c6004803603602081101561041357600080fd5b5035600160a060020a0316610f38565b34801561042f57600080fd5b5061020c6004803603604081101561044657600080fd5b5080359060200135610f7e565b34801561045f57600080fd5b5061020c600480360360c081101561047657600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a00135610fa0565b6102a9600480360360608110156104c257600080fd5b50600160a060020a0381358116916020810135909116906040013561171e565b3480156104ee57600080fd5b506102a96118a5565b34801561050357600080fd5b506102d06118ab565b34801561051857600080fd5b506103496118ba565b34801561052d57600080fd5b5061054b6004803603602081101561054457600080fd5b5035611968565b60408051978852600160a060020a03968716602089015294861687860152929094166060860152608085015260a084019290925260c0830191909152519081900360e00190f35b34801561059e57600080fd5b506102d06119b3565b3480156105b357600080fd5b506102a96119c2565b3480156105c857600080fd5b5061020c600480360360208110156105df57600080fd5b5035600160a060020a03166119c8565b3480156105fb57600080fd5b506102a96004803603608081101561061257600080fd5b50803590600160a060020a03602082013581169160408101359160609091013516611b75565b34801561064457600080fd5b506102d0611d0b565b6106cd6004803603604081101561066357600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561068e57600080fd5b8201836020820111156106a057600080fd5b803590602001918460018302840111640100000000831117156106c257600080fd5b509092509050611d1a565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107145781810151838201526020016106fc565b50505050905090810190601f1680156107415780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561075c57600080fd5b5061020c611da7565b34801561077157600080fd5b5061020c6004803603602081101561078857600080fd5b5035600160a060020a0316611dd9565b3480156107a457600080fd5b506102d0611f41565b3480156107b957600080fd5b50610806600480360360c08110156107d057600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a00135611f50565b604080519687529415156020870152858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561084557600080fd5b506103496004803603606081101561085c57600080fd5b50600160a060020a03813581169160208101359091169060400135611fab565b600080600080600061088c6128f6565b61089a8c8c8c8c8c8c6120c6565b90508060c001518160e001518261010001518361012001518461014001519550955095509550955050965096509650965096915050565b600b5481565b600354600160a060020a031681565b60075481565b600554600160a060020a031633148061090f5750600454600160a060020a031633145b151561091a57600080fd5b610922610e55565b151561092d57600080fd5b600b546000908152600a602052604080822080546001820154600283015460038401546004808601546005870154600690970154895489517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a0397881694810185905295871660248701819052306044880152606487018990528a51989b949a9099958816989397959692959091169263b029385092608480820193929182900301818787803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b505050506040513d6040811015610a1357600080fd5b505190506000811115610ae05760008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152602482018690529151919092169263f3fef3a392604480820193602093909283900390910190829087803b158015610a9257600080fd5b505af1158015610aa6573d6000803e3d6000fd5b505050506040513d6020811015610abc57600080fd5b5050600160a060020a0387811690861614610ae057610add82888389612731565b90505b600b8054600101905560408051858152848301602082015242818301529051600160a060020a038088169289821692918b16917f63a011bd552b9d37485a9e07c03f4a7c6598446a9c07775c60aa9f53f58fd16f9181900360600190a45050505050505050565b600454600090600160a060020a03163314610b6157600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038516916370a0823191602480820192602092909190829003018186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529051919250600091600160a060020a0386169163a9059cbb91604480830192602092919082900301818787803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190508015610cd457604080518381524260208201528151600160a060020a038716927fdf273cb619d95419a9cd0ec88123a0538c85064229baa6363788f743fff90deb928290030190a25b9150505b919050565b600454600160a060020a03163314610cf457600080fd5b600855565b60095481565b600554600160a060020a0316331480610d225750600454600160a060020a031633145b1515610d2d57600080fd5b610d356118ba565b1515610d4057600080fd5b42600955600354600854604080517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015610dad57600080fd5b505af1158015610dc1573d6000803e3d6000fd5b5050600554600854604051600160a060020a03909216935080156108fc029250906000818181858888f19350505050158015610e01573d6000803e3d6000fd5b506008546040805191825242602083015280517f56de51cbdd1f93c35c25fc73e49ecf0a9dd691ebb5f421e29b37a42bc2ed76079281900390910190a1565b600054600160a060020a031681565b600c5481565b6000600c54600b541415610e6b57506000610f35565b600b546000908152600a6020908152604080832080546001820154600290920154855484517f14584a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0394851660048201819052928516602482018190529551939792969294909116926314584a9d92604480840193919291829003018186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d6020811015610f2857600080fd5b5051939093141593505050505b90565b600454600160a060020a03163314610f4f57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454600160a060020a03163314610f9557600080fd5b600691909155600755565b600554600160a060020a0316331480610fc35750600454600160a060020a031633145b1515610fce57600080fd5b610fd66128f6565b610fe48787878787876120c6565b9050806101400151151561104d5784600160a060020a031686600160a060020a031688600160a060020a03167fc1531feda6d23335db09b299c543c38f3d381e9d0f188d620a2bfaa6b2a740b7426040518082815260200191505060405180910390a450611716565b60008086600160a060020a031689600160a060020a031614156113195761107b848a8561010001518b612731565b60008054604080517f47e7ef24000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301526024820186905291519496509116926347e7ef2492604480840193602093929083900390910190829087803b1580156110ee57600080fd5b505af1158015611102573d6000803e3d6000fd5b505050506040513d602081101561111857600080fd5b5050600080548451604080517f5e7f22c2000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015260448201939093526064810187905290519190921692635e7f22c292608480820193602093909283900390910190829087803b15801561119e57600080fd5b505af11580156111b2573d6000803e3d6000fd5b505050506040513d60208110156111c857600080fd5b5050600080548451604080517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015230604483015260648201939093528151929093169363b02938509360848082019492918390030190829087803b15801561124857600080fd5b505af115801561125c573d6000803e3d6000fd5b505050506040513d604081101561127257600080fd5b505160008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015260248201869052915194955091169263f3fef3a392604480840193602093929083900390910190829087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050506040513d602081101561131157600080fd5b506115cd9050565b60008054610100850151604080517f47e7ef24000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301526024820193909352905191909216926347e7ef2492604480820193602093909283900390910190829087803b15801561139257600080fd5b505af11580156113a6573d6000803e3d6000fd5b505050506040513d60208110156113bc57600080fd5b5050600080548451610100860151604080517f5e7f22c2000000000000000000000000000000000000000000000000000000008152600160a060020a038f811660048301528e8116602483015260448201949094526064810192909252519190921692635e7f22c292608480820193602093909283900390910190829087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b505050506040513d602081101561147257600080fd5b5050600080548451604080517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015230604483015260648201939093528151929093169363b02938509360848082019492918390030190829087803b1580156114f257600080fd5b505af1158015611506573d6000803e3d6000fd5b505050506040513d604081101561151c57600080fd5b505160008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015260248201869052915194965091169263f3fef3a392604480840193602093929083900390910190829087803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b506115ca9050848a848b612731565b90505b8260000151600a6000600c5481526020019081526020016000206000018190555088600a6000600c54815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a0316021790555087600a6000600c54815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a0316021790555086600a6000600c54815260200190815260200160002060030160006101000a815481600160a060020a030219169083600160a060020a03160217905550826101000151600a6000600c5481526020019081526020016000206004018190555080600a6000600c5481526020019081526020016000206005018190555083600a6000600c548152602001908152602001600020600601819055506001600c600082825401925050819055505050505b505050505050565b600454600090600160a060020a0316331461173857600080fd5b611741846119c8565b61174a836119c8565b600360009054906101000a9004600160a060020a0316600160a060020a031663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b5050600354600160a060020a0388811691161415925061183791505057600354604080513481524260208201528151600160a060020a03909316927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15929181900390910190a2503461189e565b600354600090611853908490600160a060020a03163488612731565b604080518281524260208201528151929350600160a060020a038816927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15929181900390910190a290505b9392505050565b60085481565b600454600160a060020a031681565b600854600354604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009392600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561192257600080fd5b505afa158015611936573d6000803e3d6000fd5b505050506040513d602081101561194c57600080fd5b505110801590611963575062015180600954420310155b905090565b600a6020526000908152604090208054600182015460028301546003840154600485015460058601546006909601549495600160a060020a0394851695938516949092169290919087565b600154600160a060020a031681565b60065481565b600454600160a060020a031633146119df57600080fd5b600080546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519184169263095ea7b3926044808401936020939083900390910190829087803b158015611a3a57600080fd5b505af1158015611a4e573d6000803e3d6000fd5b505050506040513d6020811015611a6457600080fd5b50506001546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519183169163095ea7b3916044808201926020929091908290030181600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b505050506040513d6020811015611aea57600080fd5b50506002546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519183169163095ea7b3916044808201926020929091908290030181600087803b158015611b4657600080fd5b505af1158015611b5a573d6000803e3d6000fd5b505050506040513d6020811015611b7057600080fd5b505050565b6000841515611c4357600154604080517f144a2752000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528781166024830152604482018790529151600093929092169163144a275291606480820192602092909190829003018186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50519050611c3b611c3582620186a0612876565b85612898565b915050611d03565b6001851415611cfe57600254604080517f809a9e55000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301528581166024830152604482018790528251600094919091169263809a9e559260648082019391829003018186803b158015611cc057600080fd5b505afa158015611cd4573d6000803e3d6000fd5b505050506040513d6040811015611cea57600080fd5b50516509184e72a00090049150611d039050565b600080fd5b949350505050565b600254600160a060020a031681565b600454600090606090600160a060020a03163314611d3757600080fd5b84600160a060020a0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114611d95576040519150601f19603f3d011682016040523d82523d6000602084013e611d9a565b606091505b5091509150935093915050565b600454600160a060020a03163314611dbe57600080fd5b600c54600b5410611dce57600080fd5b600b80546001019055565b600454600160a060020a03163314611df057600080fd5b600080546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519184169263095ea7b39260448084019382900301818387803b158015611e4457600080fd5b505af1158015611e58573d6000803e3d6000fd5b50506001546040805160e060020a63095ea7b3028152600160a060020a03928316600482015260001960248201529051918516935063095ea7b3925060448082019260009290919082900301818387803b158015611eb557600080fd5b505af1158015611ec9573d6000803e3d6000fd5b50506002546040805160e060020a63095ea7b3028152600160a060020a03928316600482015260001960248201529051918516935063095ea7b3925060448082019260009290919082900301818387803b158015611f2657600080fd5b505af1158015611f3a573d6000803e3d6000fd5b5050505050565b600554600160a060020a031681565b600080600080600080611f616128f6565b611f6f8d8d8d8d8d8d6120c6565b9050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505096509650965096509650969050565b600454600090600160a060020a03163314611fc557600080fd5b611fce846119c8565b611fd7836119c8565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600091600160a060020a038716916323b872dd9160648082019260209290919082900301818787803b15801561204857600080fd5b505af115801561205c573d6000803e3d6000fd5b505050506040513d602081101561207257600080fd5b505190508015611d0357604080518481524260208201528151600160a060020a038816927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a2949350505050565b6120ce6128f6565b600054604080517f14584a9d000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301528981166024830152915191909216916314584a9d916044808301926020929190829003018186803b15801561213c57600080fd5b505afa158015612150573d6000803e3d6000fd5b505050506040513d602081101561216657600080fd5b50518152600054604080517fdae595e5000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301529151919092169163dae595e5916044808301926020929190829003018186803b1580156121d857600080fd5b505afa1580156121ec573d6000803e3d6000fd5b505050506040513d602081101561220257600080fd5b505160408083019190915260008054835183517febcc0de1000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301526044820192909252845193948594929093169263ebcc0de192606480840193829003018186803b15801561228357600080fd5b505afa158015612297573d6000803e3d6000fd5b505050506040513d60408110156122ad57600080fd5b50805160209182015160019286018390526040860151919450925014156122d657600060208401525b82604001514210156122ea57600060208401525b80156122f857600060208401525b600054604080517fb64c4905000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301529151919092169163b64c4905916044808301926020929190829003018186803b15801561236657600080fd5b505afa15801561237a573d6000803e3d6000fd5b505050506040513d602081101561239057600080fd5b50516060840152600054604080517fb8beafd6000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301529151919092169163b8beafd6916044808301926020929190829003018186803b15801561240557600080fd5b505afa158015612419573d6000803e3d6000fd5b505050506040513d602081101561242f57600080fd5b505160808401526000548351604080517ffdab1b7b000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301528c8116602483015260448201939093528151929093169263fdab1b7b9260648083019392829003018186803b1580156124aa57600080fd5b505afa1580156124be573d6000803e3d6000fd5b505050506040513d60408110156124d457600080fd5b5080516020909101519092509050600160a060020a0389811690881614156125255761251b61251061250a856080015184612876565b84612898565b8460600151036128bc565b60a084015261254a565b612544836080015161253e61250a866060015186612876565b036128bc565b60a08401525b61256061255a83620186a0612876565b82612898565b60c084015260a08301516125809061257990605f612876565b6064612898565b610100840152604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038a16916370a0823191602480820192602092909190829003018186803b1580156125e957600080fd5b505afa1580156125fd573d6000803e3d6000fd5b505050506040513d602081101561261357600080fd5b505161010085015190915081101561262e5761010084018190525b60008685610100015110151561269b5788600160a060020a03168b600160a060020a0316141561267057612669868a8761010001518b611b75565b905061269b565b612682611c3586610100015185612876565b61012086018190526126989087908a908c611b75565b90505b6126b26126aa82600654612876565b600754612898565b60e08601526001610140860152602085015115156126d35760006101408601525b60c085015115806126e6575060e0850151155b156126f45760006101408601525b8460e001518560c00151111561270d5760006101408601525b8685610100015110156127235760006101408601525b505050509695505050505050565b60008415156127ed57600154604080517f0621b4f6000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905285811660448301526000606483018190529251931692630621b4f692608480840193602093929083900390910190829087803b1580156127ba57600080fd5b505af11580156127ce573d6000803e3d6000fd5b505050506040513d60208110156127e457600080fd5b50519050611d03565b6001851415611cfe57600254604080517f7409e2eb000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905285811660448301526000606483018190529251931692637409e2eb92608480840193602093929083900390910190829087803b1580156127ba57600080fd5b600061288283836128d5565b151561288d57600080fd5b508181025b92915050565b60008115156128a957506000612892565b81838115156128b457fe5b049050612892565b6000808212156128ce57506000610cd8565b5080610cd8565b600081158061189e575082828385028115156128ed57fe5b04149392505050565b61016060405190810160405280600081526020016000151581526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fea165627a7a723058205abb1f9ff1ccca012e2e4c46071cd5ed46634153c9745d7ed207639f0580f8cd0029',
                      'head': None,
                      'length': 21252,
                      'tail': None,
                      'truncated': False},
 'verified_source': False}
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
store=data['analysis_artifact']['artifact_json'].get('storage')
print(type(store))
print(store.keys())
print('slots count',len(store.get('slots',[])))
print('example slots:',store.get('slots',[])[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 52ms:
<class 'dict'>
dict_keys(['keccak_count', 'reads', 'slots', 'writes'])
slots count 85
example slots: [{'op': 'SLOAD', 'pc': 504, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2260, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2266, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2281, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 2287, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}]
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
selectors=data['analysis_artifact']['artifact_json'].get('selectors')
print('selectors count',len(selectors))
print(selectors[:30])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
selectors count 31
['0xee072426', '0xf851a440', '0xf8821efa', '0xfb0f97a8', '0xc7e9ba8b', '0xd77366a4', '0xdd53d657', '0xed2cdeff', '0xa888c2cd', '0xaad3e5cc', '0xaca85118', '0xb63c154d', '0x7a66a4dc', '0x8a87b5c5', '0x8da5cb5b', '0x989c8f5e', '0x6dc7a627', '0x704b6c02', '0x705c4bff', '0x764f025d', '0x5f238402', '0x60795d80', '0x6621ebfb', '0x6d2b5fd5', '0x405b8453', '0x4e71d92d', '0x51cff8d9', '0x520e9f70', '0x1562c491', '0x3c22d7d5']
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
keys=data['capability_graph']['graph_json'].keys()
print(keys)
PY" in /tmp/codex-n8t3es3h succeeded in 49ms:
dict_keys(['edges', 'nodes', 'version'])
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
cs=data['analysis_artifact']['artifact_json'].get('callsites')
print('callsites',len(cs))
print(cs[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 54ms:
callsites 36
[{'opcode': 'CALL', 'pc': 2540, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 2709, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'STATICCALL', 'pc': 3015, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'CALL', 'pc': 3168, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 3504, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 3563, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'STATICCALL', 'pc': 3841, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'CALL', 'pc': 4337, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 4513, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 4683, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
fe=data['analysis_artifact']['artifact_json'].get('function_entries')
print('function_entries count',len(fe))
print(fe[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 55ms:
function_entries count 31
[{'entry_pc': 3993445414, 'selector': '0xee072426'}, {'entry_pc': 4169277178, 'selector': '0xf851a440'}, {'entry_pc': 4212103080, 'selector': '0xf8821efa'}, {'entry_pc': None, 'selector': '0xfb0f97a8'}, {'entry_pc': 3614664356, 'selector': '0xc7e9ba8b'}, {'entry_pc': 3713259095, 'selector': '0xd77366a4'}, {'entry_pc': 3979140863, 'selector': '0xdd53d657'}, {'entry_pc': None, 'selector': '0xed2cdeff'}, {'entry_pc': 2827535053, 'selector': '0xa888c2cd'}, {'entry_pc': 2896711960, 'selector': '0xaad3e5cc'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
store=data['analysis_artifact']['artifact_json']['storage']
print('reads count',len(store.get('reads',[])))
print('writes count',len(store.get('writes',[])))
print('first writes:')
pprint(store['writes'][:10])
PY" in /tmp/codex-n8t3es3h exited 1 in 58ms:
Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
TypeError: object of type 'int' has no len()
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
store=data['analysis_artifact']['artifact_json']['storage']
print(store)
PY" in /tmp/codex-n8t3es3h succeeded in 63ms:
{'keccak_count': 11, 'reads': 107, 'slots': [{'op': 'SLOAD', 'pc': 504, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2260, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2266, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2281, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 2287, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 2307, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 2352, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2596, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 2788, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2890, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3296, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3324, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 3330, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3350, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3399, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 3402, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3526, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3529, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3589, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3651, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3666, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 3674, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 3677, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 3694, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 3899, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3923, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3969, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 4003, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 4023, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 4223, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4382, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4558, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4728, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4893, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5058, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5240, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5410, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5593, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5622, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5683, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5744, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5810, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5839, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5868, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5898, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5921, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 5968, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6095, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6122, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6202, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6312, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 6318, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 6333, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 6336, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6494, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 6582, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 6597, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6603, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 6627, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6761, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 6895, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7041, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 7247, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7438, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7453, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7594, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7617, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 7620, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 7634, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 7644, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7668, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 7773, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 7886, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 8004, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 8110, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 8401, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8557, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8721, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8955, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9114, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9273, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9893, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9901, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 10045, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 10233, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}], 'writes': 15}
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
# find blocks with SSTORE
sstore_blocks=[b for b in blocks if any(op=='SSTORE' for op in b.get('opcodes',[]))]
print('sstore_blocks',len(sstore_blocks))
print(sstore_blocks[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
sstore_blocks 7
[{'end_pc': 2886, 'hash': '0x22d85533771557fdb406f50b5bbb6a09cb5dc42c92b4007aa0e37fc720d974fa', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'ADD', 'OP_90', 'SSTORE', 'PUSH1', 'OP_80', 'MLOAD', 'OP_85', 'OP_81', 'MSTORE', 'OP_84', 'OP_83', 'ADD', 'PUSH1', 'OP_82', 'ADD', 'MSTORE', 'TIMESTAMP', 'OP_81', 'OP_83', 'ADD', 'MSTORE', 'OP_90', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_80', 'OP_88', 'AND', 'OP_92', 'OP_89', 'OP_82', 'AND', 'OP_92', 'OP_91', 'OP_8B', 'AND', 'OP_91', 'PUSH32', 'OP_91', 'OP_81', 'OP_90', 'SUB', 'PUSH1', 'ADD', 'OP_90', 'OP_A4', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'JUMP'], 'start_pc': 2784}, {'end_pc': 3320, 'hash': '0x9f6a2a22475cc3ef49118eda215c9a76d7ebab9359ee096563b11a5ba8249b11', 'opcodes': ['JUMPDEST', 'PUSH1', 'SSTORE', 'JUMP'], 'start_pc': 3316}, {'end_pc': 3496, 'hash': '0x110364d7465773d28878eb24af3d97811a6cf55be8cd85fba5ffdbb8c1994fc5', 'opcodes': ['JUMPDEST', 'TIMESTAMP', 'PUSH1', 'SSTORE', 'PUSH1', 'SLOAD', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'PUSH1', 'OP_81', 'ADD', 'OP_92', 'OP_90', 'OP_92', 'MSTORE', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_90', 'OP_92', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_82', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_90', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'OP_83', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI'], 'start_pc': 3392}, {'end_pc': 3965, 'hash': '0x3d0b773919667c2ff4fa4c26a75b1e3411b564e398f77ed3db6c37628a645a1a', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP'], 'start_pc': 3919}, {'end_pc': 3999, 'hash': '0x6f99b5972db58a44741812cde9056b7991e7941a8c91a7069ecb19055b7aea04', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_91', 'OP_90', 'OP_91', 'SSTORE', 'PUSH1', 'SSTORE', 'JUMP'], 'start_pc': 3989}, {'end_pc': 5909, 'hash': '0x1f2e3191c461db3ad05c601978f7ec6c4a7942b8ed954ee2d1bd57713d0540cf', 'opcodes': ['JUMPDEST', 'OP_82', 'PUSH1', 'ADD', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_88', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_87', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_86', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_82', 'PUSH2', 'ADD', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_80', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'PUSH1', 'PUSH1', 'PUSH1', 'OP_82', 'OP_82', 'SLOAD', 'ADD', 'OP_92', 'POP', 'POP', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'POP', 'POP', 'POP'], 'start_pc': 5581}, {'end_pc': 7640, 'hash': '0x06a604d009c8294f9ee8d21f5f8c5d1a16d5523dfe4bc73426ec0022059887ce', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'ADD', 'OP_90', 'SSTORE', 'JUMP'], 'start_pc': 7630}]
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
caller_blocks=[b for b in blocks if 'CALLER' in b.get('opcodes',[])]
print('caller_blocks',len(caller_blocks))
print('first few:',caller_blocks[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
caller_blocks 19
first few: [{'end_pc': 519, 'hash': '0x93d72d33df857abf6397978671420fb6116e13891891abb7eef077bbec909d86', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI'], 'start_pc': 501}, {'end_pc': 2303, 'hash': '0xc695d093c069dd421962cecdd5be977d3355ed60d9bde93995934025b85321dd', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'OP_80', 'PUSH2', 'JUMPI'], 'start_pc': 2284}, {'end_pc': 2318, 'hash': '0x500df9d578faca5660362c4a10f7c170d01460e49d2738d7f1ee0af1c18e287e', 'opcodes': ['POP', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ'], 'start_pc': 2304}, {'end_pc': 2908, 'hash': '0xbdb83e5fedaa2ef16da588729cf7eaa63aac69aad3792231e0258ca018d3daef', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_90', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI'], 'start_pc': 2887}, {'end_pc': 3160, 'hash': '0x3f417ffcbf56c820d99d924676b9a519e36846d50d7cd6d316c767117f304f3c', 'opcodes': ['JUMPDEST', 'POP', 'MLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'CALLER', 'PUSH1', 'OP_82', 'ADD', 'MSTORE', 'PUSH1', 'OP_81', 'ADD', 'OP_83', 'OP_90', 'MSTORE', 'OP_90', 'MLOAD', 'OP_91', 'OP_92', 'POP', 'PUSH1', 'OP_91', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_86', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_83', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'OP_87', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI'], 'start_pc': 3054}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
nodes=data['capability_graph']['graph_json']['nodes']
print('nodes count',len(nodes))
# list node types
cnt=Counter(n.get('type') for n in nodes)
print(cnt)
print('sample nodes',nodes[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
nodes count 625
Counter({'basic_block': 556, 'callsite': 36, 'function': 31, 'sink': 2})
sample nodes [{'end_pc': 12, 'hash': '0x15197bb2acdb6c15e0a4e410caa58df40c017197bd531df62fe765005fc0fb7d', 'id': 'bb:0', 'start_pc': 0, 'type': 'basic_block'}, {'end_pc': 58, 'hash': '0x2550186f9e2a21d47d3cb81bcf464e1b2ef42d11d569c43df4dbdaec1000cc38', 'id': 'bb:13', 'start_pc': 13, 'type': 'basic_block'}, {'end_pc': 69, 'hash': '0x8c9d9186c60a1b875a398fd218170b4b84f179efc2dbe1d6ee098856d10978c7', 'id': 'bb:59', 'start_pc': 59, 'type': 'basic_block'}, {'end_pc': 80, 'hash': '0x2350a7c9b2c418b80f61b43751e8f8c26aa6fdaa13c8495c8331ae795f435ab1', 'id': 'bb:70', 'start_pc': 70, 'type': 'basic_block'}, {'end_pc': 91, 'hash': '0xa666d3a5fbeddab49ba60d72327decf2f62f59b3db719627507e96556d08b897', 'id': 'bb:81', 'start_pc': 81, 'type': 'basic_block'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edges=data['capability_graph']['graph_json']['edges']
# build adjacency
in_edges=defaultdict(list)
for e in edges:
    in_edges[e['to']].append(e)
# show in-edges for callsites
callsites=[n for n in data['capability_graph']['graph_json']['nodes'] if n.get('type')=='callsite']
print('callsites',len(callsites))
# show one callsite
cs=callsites[0]
print('sample callsite',cs)
print('incoming edges',in_edges.get(cs['id'],[])[:5])
# see if any edges from function nodes to callsites directly
func_to_call=[]
for e in edges:
    if e['to'].startswith('call:'):
        func_to_call.append(e)
print('edges to callsites',len(func_to_call))
print('sample edges to callsite',func_to_call[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
callsites 36
sample callsite {'id': 'call:2540', 'opcode': 'CALL', 'pc': 2540, 'type': 'callsite'}
incoming edges [{'from': 'bb:2537', 'to': 'call:2540', 'type': 'contains'}]
edges to callsites 36
sample edges to callsite [{'from': 'bb:2537', 'to': 'call:2540', 'type': 'contains'}, {'from': 'bb:2706', 'to': 'call:2709', 'type': 'contains'}, {'from': 'bb:3012', 'to': 'call:3015', 'type': 'contains'}, {'from': 'bb:3165', 'to': 'call:3168', 'type': 'contains'}, {'from': 'bb:3501', 'to': 'call:3504', 'type': 'contains'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict, deque
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
# build cfg graph from artifact_json cfg_edges
edges=data['analysis_artifact']['artifact_json'].get('cfg_edges',[])
# edges likely have from/to as block ids (hash?). Let's inspect sample
print('cfg_edges count',len(edges))
print('sample',edges[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
cfg_edges count 580
sample [{'from': 'bb:0', 'to': 'bb:501', 'type': 'control_flow'}, {'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}, {'from': 'bb:13', 'to': 'bb:287', 'type': 'control_flow'}, {'from': 'bb:13', 'to': 'bb:59', 'type': 'control_flow_fallthrough'}, {'from': 'bb:59', 'to': 'bb:178', 'type': 'control_flow'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict, deque
with open('BYTECODE_BUNDLE.json') as f:
    data=json.load(f)
edges=data['analysis_artifact']['artifact_json'].get('cfg_edges',[])
# build adjacency
adj=defaultdict(list)
for e in edges:
    if e['type'].startswith('control_flow'):
        adj[e['from']].append(e['to'])

# BFS from bb:2537 to bb:2784
start='bb:2537'
target='bb:2784'
visited=set([start])
q=deque([start])
found=False
while q:
    n=q.popleft()
    if n==target:
        found=True
        break
    for m in adj.get(n,[]):
        if m not in visited:
            visited.add(m); q.append(m)
print('path bb:2537 -> bb:2784',found)
# Try bb:2706 to bb:2784
start='bb:2706'; target='bb:2784'
visited=set([start]); q=deque([start]); found=False
while q:
    n=q.popleft()
    if n==target:
        found=True; break
    for m in adj.get(n,[]):
        if m not in visited:
            visited.add(m); q.append(m)
print('path bb:2706 -> bb:2784',found)
PY" in /tmp/codex-n8t3es3h succeeded in 37ms:
path bb:2537 -> bb:2784 True
path bb:2706 -> bb:2784 True
exec
/bin/bash -lc "python - <<'PY'
for pc in [2540,2709,2784,3168,3504,3563,6073]:
    print(pc, hex(pc))
PY" in /tmp/codex-n8t3es3h succeeded in 22ms:
2540 0x9ec
2709 0xa95
2784 0xae0
3168 0xc60
3504 0xdb0
3563 0xdeb
6073 0x17b9
codex
{"no_findings":false,"summary":"Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)","exploit_scenario":"If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime.","recommendation":"Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.","evidence":"Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.","locations":["pc:0x9ec","pc:0xa95","pc:0xc60","pc:0xdb0","pc:0xdeb"]},{"severity":"low","category":"reentrancy","title":"External calls can occur before storage updates along CFG path","exploit_scenario":"A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized.","recommendation":"Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.","evidence":"CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.","locations":["pc:0x9ec","pc:0xa95","pc:0xae0"]}]}
tokens used
62,732
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T15:30:08.812326+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 21252,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.",
    "raw_final": {
        "summary": "Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.",
        "findings": [
            {
                "title": "Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)",
                "category": "other",
                "evidence": "Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.",
                "severity": "medium",
                "locations": [
                    "pc:0x9ec",
                    "pc:0xa95",
                    "pc:0xc60",
                    "pc:0xdb0",
                    "pc:0xdeb"
                ],
                "recommendation": "Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.",
                "exploit_scenario": "If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime."
            },
            {
                "title": "External calls can occur before storage updates along CFG path",
                "category": "reentrancy",
                "evidence": "CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.",
                "severity": "low",
                "locations": [
                    "pc:0x9ec",
                    "pc:0xa95",
                    "pc:0xae0"
                ],
                "recommendation": "Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.",
                "exploit_scenario": "A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
36
EXT*/BALANCE
34
Total opcodes
7137
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01f5
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: DUP1
00000031: PUSH4 0x7a66a4dc
00000036: GT
00000037: PUSH2 0x011f
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0xc7e9ba8b
00000041: GT
00000042: PUSH2 0x00b2
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0xee072426
0000004c: GT
0000004d: PUSH2 0x0081
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0xee072426
00000057: EQ
00000058: PUSH2 0x0765
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0xf851a440
00000062: EQ
00000063: PUSH2 0x0798
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0xf8821efa
0000006d: EQ
0000006e: PUSH2 0x07ad
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xfb0f97a8
00000078: EQ
00000079: PUSH2 0x0839
0000007c: JUMPI
0000007d: PUSH2 0x01f5
00000080: JUMP
00000081: JUMPDEST
00000082: DUP1
00000083: PUSH4 0xc7e9ba8b
00000088: EQ
00000089: PUSH2 0x05ef
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xd77366a4
00000093: EQ
00000094: PUSH2 0x0638
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xdd53d657
0000009e: EQ
0000009f: PUSH2 0x064d
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xed2cdeff
000000a9: EQ
000000aa: PUSH2 0x0750
000000ad: JUMPI
000000ae: PUSH2 0x01f5
000000b1: JUMP
000000b2: JUMPDEST
000000b3: DUP1
000000b4: PUSH4 0xa888c2cd
000000b9: GT
000000ba: PUSH2 0x00ee
000000bd: JUMPI
000000be: DUP1
000000bf: PUSH4 0xa888c2cd
000000c4: EQ
000000c5: PUSH2 0x0521
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0xaad3e5cc
000000cf: EQ
000000d0: PUSH2 0x0592
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0xaca85118
000000da: EQ
000000db: PUSH2 0x05a7
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0xb63c154d
000000e5: EQ
000000e6: PUSH2 0x05bc
000000e9: JUMPI
000000ea: PUSH2 0x01f5
000000ed: JUMP
000000ee: JUMPDEST
000000ef: DUP1
000000f0: PUSH4 0x7a66a4dc
000000f5: EQ
000000f6: PUSH2 0x04ac
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x8a87b5c5
00000100: EQ
00000101: PUSH2 0x04e2
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x8da5cb5b
0000010b: EQ
0000010c: PUSH2 0x04f7
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x989c8f5e
00000116: EQ
00000117: PUSH2 0x050c
0000011a: JUMPI
0000011b: PUSH2 0x01f5
0000011e: JUMP
0000011f: JUMPDEST
00000120: DUP1
00000121: PUSH4 0x5f238402
00000126: GT
00000127: PUSH2 0x0197
0000012a: JUMPI
0000012b: DUP1
0000012c: PUSH4 0x6dc7a627
00000131: GT
00000132: PUSH2 0x0166
00000135: JUMPI
00000136: DUP1
00000137: PUSH4 0x6dc7a627
0000013c: EQ
0000013d: PUSH2 0x03db
00000140: JUMPI
00000141: DUP1
00000142: PUSH4 0x704b6c02
00000147: EQ
00000148: PUSH2 0x03f0
0000014b: JUMPI
0000014c: DUP1
0000014d: PUSH4 0x705c4bff
00000152: EQ
00000153: PUSH2 0x0423
00000156: JUMPI
00000157: DUP1
00000158: PUSH4 0x764f025d
0000015d: EQ
0000015e: PUSH2 0x0453
00000161: JUMPI
00000162: PUSH2 0x01f5
00000165: JUMP
00000166: JUMPDEST
00000167: DUP1
00000168: PUSH4 0x5f238402
0000016d: EQ
0000016e: PUSH2 0x0387
00000171: JUMPI
00000172: DUP1
00000173: PUSH4 0x60795d80
00000178: EQ
00000179: PUSH2 0x039c
0000017c: JUMPI
0000017d: DUP1
0000017e: PUSH4 0x6621ebfb
00000183: EQ
00000184: PUSH2 0x03b1
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x6d2b5fd5
0000018e: EQ
0000018f: PUSH2 0x03c6
00000192: JUMPI
00000193: PUSH2 0x01f5
00000196: JUMP
00000197: JUMPDEST
00000198: DUP1
00000199: PUSH4 0x405b8453
0000019e: GT
0000019f: PUSH2 0x01d3
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0x405b8453
000001a9: EQ
000001aa: PUSH2 0x02ec
000001ad: JUMPI
000001ae: DUP1
000001af: PUSH4 0x4e71d92d
000001b4: EQ
000001b5: PUSH2 0x0301
000001b8: JUMPI
000001b9: DUP1
000001ba: PUSH4 0x51cff8d9
000001bf: EQ
000001c0: PUSH2 0x0316
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0x520e9f70
000001ca: EQ
000001cb: PUSH2 0x035d
000001ce: JUMPI
000001cf: PUSH2 0x01f5
000001d2: JUMP
000001d3: JUMPDEST
000001d4: DUP1
000001d5: PUSH4 0x1562c491
000001da: EQ
000001db: PUSH2 0x020e
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0x3c22d7d5
000001e5: EQ
000001e6: PUSH2 0x0294
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x3fc8cef3
000001f0: EQ
000001f1: PUSH2 0x02bb
000001f4: JUMPI
000001f5: JUMPDEST
000001f6: PUSH1 0x03
000001f8: SLOAD
000001f9: PUSH1 0x01
000001fb: PUSH1 0xa0
000001fd: PUSH1 0x02
000001ff: EXP
00000200: SUB
00000201: AND
00000202: CALLER
00000203: EQ
00000204: PUSH2 0x020c
00000207: JUMPI
00000208: PUSH1 0x00
0000020a: DUP1
0000020b: REVERT
0000020c: JUMPDEST
0000020d: STOP
0000020e: JUMPDEST
0000020f: CALLVALUE
00000210: DUP1
00000211: ISZERO
00000212: PUSH2 0x021a
00000215: JUMPI
00000216: PUSH1 0x00
00000218: DUP1
00000219: REVERT
0000021a: JUMPDEST
0000021b: POP
0000021c: PUSH2 0x0267
0000021f: PUSH1 0x04
00000221: DUP1
00000222: CALLDATASIZE
00000223: SUB
00000224: PUSH1 0xc0
00000226: DUP2
00000227: LT
00000228: ISZERO
00000229: PUSH2 0x0231
0000022c: JUMPI
0000022d: PUSH1 0x00
0000022f: DUP1
00000230: REVERT
00000231: JUMPDEST
00000232: POP
00000233: PUSH1 0x01
00000235: PUSH1 0xa0
00000237: PUSH1 0x02
00000239: EXP
0000023a: SUB
0000023b: DUP2
0000023c: CALLDATALOAD
0000023d: DUP2
0000023e: AND
0000023f: SWAP2
00000240: PUSH1 0x20
00000242: DUP2
00000243: ADD
00000244: CALLDATALOAD
00000245: DUP3
00000246: AND
00000247: SWAP2
00000248: PUSH1 0x40
0000024a: DUP3
0000024b: ADD
0000024c: CALLDATALOAD
0000024d: DUP2
0000024e: AND
0000024f: SWAP2
00000250: PUSH1 0x60
00000252: DUP2
00000253: ADD
00000254: CALLDATALOAD
00000255: SWAP1
00000256: SWAP2
00000257: AND
00000258: SWAP1
00000259: PUSH1 0x80
0000025b: DUP2
0000025c: ADD
0000025d: CALLDATALOAD
0000025e: SWAP1
0000025f: PUSH1 0xa0
00000261: ADD
00000262: CALLDATALOAD
00000263: PUSH2 0x087c
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH1 0x40
0000026a: DUP1
0000026b: MLOAD
0000026c: SWAP6
0000026d: DUP7
0000026e: MSTORE
0000026f: PUSH1 0x20
00000271: DUP7
00000272: ADD
00000273: SWAP5
00000274: SWAP1
00000275: SWAP5
00000276: MSTORE
00000277: DUP5
00000278: DUP5
00000279: ADD
0000027a: SWAP3
0000027b: SWAP1
0000027c: SWAP3
0000027d: MSTORE
0000027e: PUSH1 0x60
00000280: DUP5
00000281: ADD
00000282: MSTORE
00000283: ISZERO
00000284: ISZERO
00000285: PUSH1 0x80
00000287: DUP4
00000288: ADD
00000289: MSTORE
0000028a: MLOAD
0000028b: SWAP1
0000028c: DUP2
0000028d: SWAP1
0000028e: SUB
0000028f: PUSH1 0xa0
00000291: ADD
00000292: SWAP1
00000293: RETURN
00000294: JUMPDEST
00000295: CALLVALUE
00000296: DUP1
00000297: ISZERO
00000298: PUSH2 0x02a0
0000029b: JUMPI
0000029c: PUSH1 0x00
0000029e: DUP1
0000029f: REVERT
000002a0: JUMPDEST
000002a1: POP
000002a2: PUSH2 0x02a9
000002a5: PUSH2 0x08d1
000002a8: JUMP
000002a9: JUMPDEST
000002aa: PUSH1 0x40
000002ac: DUP1
000002ad: MLOAD
000002ae: SWAP2
000002af: DUP3
000002b0: MSTORE
000002b1: MLOAD
000002b2: SWAP1
000002b3: DUP2
000002b4: SWAP1
000002b5: SUB
000002b6: PUSH1 0x20
000002b8: ADD
000002b9: SWAP1
000002ba: RETURN
000002bb: JUMPDEST
000002bc: CALLVALUE
000002bd: DUP1
000002be: ISZERO
000002bf: PUSH2 0x02c7
000002c2: JUMPI
000002c3: PUSH1 0x00
000002c5: DUP1
000002c6: REVERT
000002c7: JUMPDEST
000002c8: POP
000002c9: PUSH2 0x02d0
000002cc: PUSH2 0x08d7
000002cf: JUMP
000002d0: JUMPDEST
000002d1: PUSH1 0x40
000002d3: DUP1
000002d4: MLOAD
000002d5: PUSH1 0x01
000002d7: PUSH1 0xa0
000002d9: PUSH1 0x02
000002db: EXP
000002dc: SUB
000002dd: SWAP1
000002de: SWAP3
000002df: AND
000002e0: DUP3
000002e1: MSTORE
000002e2: MLOAD
000002e3: SWAP1
000002e4: DUP2
000002e5: SWAP1
000002e6: SUB
000002e7: PUSH1 0x20
000002e9: ADD
000002ea: SWAP1
000002eb: RETURN
000002ec: JUMPDEST
000002ed: CALLVALUE
000002ee: DUP1
000002ef: ISZERO
000002f0: PUSH2 0x02f8
000002f3: JUMPI
000002f4: PUSH1 0x00
000002f6: DUP1
000002f7: REVERT
000002f8: JUMPDEST
000002f9: POP
000002fa: PUSH2 0x02a9
000002fd: PUSH2 0x08e6
00000300: JUMP
00000301: JUMPDEST
00000302: CALLVALUE
00000303: DUP1
00000304: ISZERO
00000305: PUSH2 0x030d
00000308: JUMPI
00000309: PUSH1 0x00
0000030b: DUP1
0000030c: REVERT
0000030d: JUMPDEST
0000030e: POP
0000030f: PUSH2 0x020c
00000312: PUSH2 0x08ec
00000315: JUMP
00000316: JUMPDEST
00000317: CALLVALUE
00000318: DUP1
00000319: ISZERO
0000031a: PUSH2 0x0322
0000031d: JUMPI
0000031e: PUSH1 0x00
00000320: DUP1
00000321: REVERT
00000322: JUMPDEST
00000323: POP
00000324: PUSH2 0x0349
00000327: PUSH1 0x04
00000329: DUP1
0000032a: CALLDATASIZE
0000032b: SUB
0000032c: PUSH1 0x20
0000032e: DUP2
0000032f: LT
00000330: ISZERO
00000331: PUSH2 0x0339
00000334: JUMPI
00000335: PUSH1 0x00
00000337: DUP1
00000338: REVERT
00000339: JUMPDEST
0000033a: POP
0000033b: CALLDATALOAD
0000033c: PUSH1 0x01
0000033e: PUSH1 0xa0
00000340: PUSH1 0x02
00000342: EXP
00000343: SUB
00000344: AND
00000345: PUSH2 0x0b47
00000348: JUMP
00000349: JUMPDEST
0000034a: PUSH1 0x40
0000034c: DUP1
0000034d: MLOAD
0000034e: SWAP2
0000034f: ISZERO
00000350: ISZERO
00000351: DUP3
00000352: MSTORE
00000353: MLOAD
00000354: SWAP1
00000355: DUP2
00000356: SWAP1
00000357: SUB
00000358: PUSH1 0x20
0000035a: ADD
0000035b: SWAP1
0000035c: RETURN
0000035d: JUMPDEST
0000035e: CALLVALUE
0000035f: DUP1
00000360: ISZERO
00000361: PUSH2 0x0369
00000364: JUMPI
00000365: PUSH1 0x00
00000367: DUP1
00000368: REVERT
00000369: JUMPDEST
0000036a: POP
0000036b: PUSH2 0x020c
0000036e: PUSH1 0x04
00000370: DUP1
00000371: CALLDATASIZE
00000372: SUB
00000373: PUSH1 0x20
00000375: DUP2
00000376: LT
00000377: ISZERO
00000378: PUSH2 0x0380
0000037b: JUMPI
0000037c: PUSH1 0x00
0000037e: DUP1
0000037f: REVERT
00000380: JUMPDEST
00000381: POP
00000382: CALLDATALOAD
00000383: PUSH2 0x0cdd
00000386: JUMP
00000387: JUMPDEST
00000388: CALLVALUE
00000389: DUP1
0000038a: ISZERO
0000038b: PUSH2 0x0393
0000038e: JUMPI
0000038f: PUSH1 0x00
00000391: DUP1
00000392: REVERT
00000393: JUMPDEST
00000394: POP
00000395: PUSH2 0x02a9
00000398: PUSH2 0x0cf9
0000039b: JUMP
0000039c: JUMPDEST
0000039d: CALLVALUE
0000039e: DUP1
0000039f: ISZERO
000003a0: PUSH2 0x03a8
000003a3: JUMPI
000003a4: PUSH1 0x00
000003a6: DUP1
000003a7: REVERT
000003a8: JUMPDEST
000003a9: POP
000003aa: PUSH2 0x020c
000003ad: PUSH2 0x0cff
000003b0: JUMP
000003b1: JUMPDEST
000003b2: CALLVALUE
000003b3: DUP1
000003b4: ISZERO
000003b5: PUSH2 0x03bd
000003b8: JUMPI
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: REVERT
000003bd: JUMPDEST
000003be: POP
000003bf: PUSH2 0x02d0
000003c2: PUSH2 0x0e40
000003c5: JUMP
000003c6: JUMPDEST
000003c7: CALLVALUE
000003c8: DUP1
000003c9: ISZERO
000003ca: PUSH2 0x03d2
000003cd: JUMPI
000003ce: PUSH1 0x00
000003d0: DUP1
000003d1: REVERT
000003d2: JUMPDEST
000003d3: POP
000003d4: PUSH2 0x02a9
000003d7: PUSH2 0x0e4f
000003da: JUMP
000003db: JUMPDEST
000003dc: CALLVALUE
000003dd: DUP1
000003de: ISZERO
000003df: PUSH2 0x03e7
000003e2: JUMPI
000003e3: PUSH1 0x00
000003e5: DUP1
000003e6: REVERT
000003e7: JUMPDEST
000003e8: POP
000003e9: PUSH2 0x0349
000003ec: PUSH2 0x0e55
000003ef: JUMP
000003f0: JUMPDEST
000003f1: CALLVALUE
000003f2: DUP1
000003f3: ISZERO
000003f4: PUSH2 0x03fc
000003f7: JUMPI
000003f8: PUSH1 0x00
000003fa: DUP1
000003fb: REVERT
000003fc: JUMPDEST
000003fd: POP
000003fe: PUSH2 0x020c
00000401: PUSH1 0x04
00000403: DUP1
00000404: CALLDATASIZE
00000405: SUB
00000406: PUSH1 0x20
00000408: DUP2
00000409: LT
0000040a: ISZERO
0000040b: PUSH2 0x0413
0000040e: JUMPI
0000040f: PUSH1 0x00
00000411: DUP1
00000412: REVERT
00000413: JUMPDEST
00000414: POP
00000415: CALLDATALOAD
00000416: PUSH1 0x01
00000418: PUSH1 0xa0
0000041a: PUSH1 0x02
0000041c: EXP
0000041d: SUB
0000041e: AND
0000041f: PUSH2 0x0f38
00000422: JUMP
00000423: JUMPDEST
00000424: CALLVALUE
00000425: DUP1
00000426: ISZERO
00000427: PUSH2 0x042f
0000042a: JUMPI
0000042b: PUSH1 0x00
0000042d: DUP1
0000042e: REVERT
0000042f: JUMPDEST
00000430: POP
00000431: PUSH2 0x020c
00000434: PUSH1 0x04
00000436: DUP1
00000437: CALLDATASIZE
00000438: SUB
00000439: PUSH1 0x40
0000043b: DUP2
0000043c: LT
0000043d: ISZERO
0000043e: PUSH2 0x0446
00000441: JUMPI
00000442: PUSH1 0x00
00000444: DUP1
00000445: REVERT
00000446: JUMPDEST
00000447: POP
00000448: DUP1
00000449: CALLDATALOAD
0000044a: SWAP1
0000044b: PUSH1 0x20
0000044d: ADD
0000044e: CALLDATALOAD
0000044f: PUSH2 0x0f7e
00000452: JUMP
00000453: JUMPDEST
00000454: CALLVALUE
00000455: DUP1
00000456: ISZERO
00000457: PUSH2 0x045f
0000045a: JUMPI
0000045b: PUSH1 0x00
0000045d: DUP1
0000045e: REVERT
0000045f: JUMPDEST
00000460: POP
00000461: PUSH2 0x020c
00000464: PUSH1 0x04
00000466: DUP1
00000467: CALLDATASIZE
00000468: SUB
00000469: PUSH1 0xc0
0000046b: DUP2
0000046c: LT
0000046d: ISZERO
0000046e: PUSH2 0x0476
00000471: JUMPI
00000472: PUSH1 0x00
00000474: DUP1
00000475: REVERT
00000476: JUMPDEST
00000477: POP
00000478: PUSH1 0x01
0000047a: PUSH1 0xa0
0000047c: PUSH1 0x02
0000047e: EXP
0000047f: SUB
00000480: DUP2
00000481: CALLDATALOAD
00000482: DUP2
00000483: AND
00000484: SWAP2
00000485: PUSH1 0x20
00000487: DUP2
00000488: ADD
00000489: CALLDATALOAD
0000048a: DUP3
0000048b: AND
0000048c: SWAP2
0000048d: PUSH1 0x40
0000048f: DUP3
00000490: ADD
00000491: CALLDATALOAD
00000492: DUP2
00000493: AND
00000494: SWAP2
00000495: PUSH1 0x60
00000497: DUP2
00000498: ADD
00000499: CALLDATALOAD
0000049a: SWAP1
0000049b: SWAP2
0000049c: AND
0000049d: SWAP1
0000049e: PUSH1 0x80
000004a0: DUP2
000004a1: ADD
000004a2: CALLDATALOAD
000004a3: SWAP1
000004a4: PUSH1 0xa0
000004a6: ADD
000004a7: CALLDATALOAD
000004a8: PUSH2 0x0fa0
000004ab: JUMP
000004ac: JUMPDEST
000004ad: PUSH2 0x02a9
000004b0: PUSH1 0x04
000004b2: DUP1
000004b3: CALLDATASIZE
000004b4: SUB
000004b5: PUSH1 0x60
000004b7: DUP2
000004b8: LT
000004b9: ISZERO
000004ba: PUSH2 0x04c2
000004bd: JUMPI
000004be: PUSH1 0x00
000004c0: DUP1
000004c1: REVERT
000004c2: JUMPDEST
000004c3: POP
000004c4: PUSH1 0x01
000004c6: PUSH1 0xa0
000004c8: PUSH1 0x02
000004ca: EXP
000004cb: SUB
000004cc: DUP2
000004cd: CALLDATALOAD
000004ce: DUP2
000004cf: AND
000004d0: SWAP2
000004d1: PUSH1 0x20
000004d3: DUP2
000004d4: ADD
000004d5: CALLDATALOAD
000004d6: SWAP1
000004d7: SWAP2
000004d8: AND
000004d9: SWAP1
000004da: PUSH1 0x40
000004dc: ADD
000004dd: CALLDATALOAD
000004de: PUSH2 0x171e
000004e1: JUMP
000004e2: JUMPDEST
000004e3: CALLVALUE
000004e4: DUP1
000004e5: ISZERO
000004e6: PUSH2 0x04ee
000004e9: JUMPI
000004ea: PUSH1 0x00
000004ec: DUP1
000004ed: REVERT
000004ee: JUMPDEST
000004ef: POP
000004f0: PUSH2 0x02a9
000004f3: PUSH2 0x18a5
000004f6: JUMP
000004f7: JUMPDEST
000004f8: CALLVALUE
000004f9: DUP1
000004fa: ISZERO
000004fb: PUSH2 0x0503
000004fe: JUMPI
000004ff: PUSH1 0x00
00000501: DUP1
00000502: REVERT
00000503: JUMPDEST
00000504: POP
00000505: PUSH2 0x02d0
00000508: PUSH2 0x18ab
0000050b: JUMP
0000050c: JUMPDEST
0000050d: CALLVALUE
0000050e: DUP1
0000050f: ISZERO
00000510: PUSH2 0x0518
00000513: JUMPI
00000514: PUSH1 0x00
00000516: DUP1
00000517: REVERT
00000518: JUMPDEST
00000519: POP
0000051a: PUSH2 0x0349
0000051d: PUSH2 0x18ba
00000520: JUMP
00000521: JUMPDEST
00000522: CALLVALUE
00000523: DUP1
00000524: ISZERO
00000525: PUSH2 0x052d
00000528: JUMPI
00000529: PUSH1 0x00
0000052b: DUP1
0000052c: REVERT
0000052d: JUMPDEST
0000052e: POP
0000052f: PUSH2 0x054b
00000532: PUSH1 0x04
00000534: DUP1
00000535: CALLDATASIZE
00000536: SUB
00000537: PUSH1 0x20
00000539: DUP2
0000053a: LT
0000053b: ISZERO
0000053c: PUSH2 0x0544
0000053f: JUMPI
00000540: PUSH1 0x00
00000542: DUP1
00000543: REVERT
00000544: JUMPDEST
00000545: POP
00000546: CALLDATALOAD
00000547: PUSH2 0x1968
0000054a: JUMP
0000054b: JUMPDEST
0000054c: PUSH1 0x40
0000054e: DUP1
0000054f: MLOAD
00000550: SWAP8
00000551: DUP9
00000552: MSTORE
00000553: PUSH1 0x01
00000555: PUSH1 0xa0
00000557: PUSH1 0x02
00000559: EXP
0000055a: SUB
0000055b: SWAP7
0000055c: DUP8
0000055d: AND
0000055e: PUSH1 0x20
00000560: DUP10
00000561: ADD
00000562: MSTORE
00000563: SWAP5
00000564: DUP7
00000565: AND
00000566: DUP8
00000567: DUP7
00000568: ADD
00000569: MSTORE
0000056a: SWAP3
0000056b: SWAP1
0000056c: SWAP5
0000056d: AND
0000056e: PUSH1 0x60
00000570: DUP7
00000571: ADD
00000572: MSTORE
00000573: PUSH1 0x80
00000575: DUP6
00000576: ADD
00000577: MSTORE
00000578: PUSH1 0xa0
0000057a: DUP5
0000057b: ADD
0000057c: SWAP3
0000057d: SWAP1
0000057e: SWAP3
0000057f: MSTORE
00000580: PUSH1 0xc0
00000582: DUP4
00000583: ADD
00000584: SWAP2
00000585: SWAP1
00000586: SWAP2
00000587: MSTORE
00000588: MLOAD
00000589: SWAP1
0000058a: DUP2
0000058b: SWAP1
0000058c: SUB
0000058d: PUSH1 0xe0
0000058f: ADD
00000590: SWAP1
00000591: RETURN
00000592: JUMPDEST
00000593: CALLVALUE
00000594: DUP1
00000595: ISZERO
00000596: PUSH2 0x059e
00000599: JUMPI
0000059a: PUSH1 0x00
0000059c: DUP1
0000059d: REVERT
0000059e: JUMPDEST
0000059f: POP
000005a0: PUSH2 0x02d0
000005a3: PUSH2 0x19b3
000005a6: JUMP
000005a7: JUMPDEST
000005a8: CALLVALUE
000005a9: DUP1
000005aa: ISZERO
000005ab: PUSH2 0x05b3
000005ae: JUMPI
000005af: PUSH1 0x00
000005b1: DUP1
000005b2: REVERT
000005b3: JUMPDEST
000005b4: POP
000005b5: PUSH2 0x02a9
000005b8: PUSH2 0x19c2
000005bb: JUMP
000005bc: JUMPDEST
000005bd: CALLVALUE
000005be: DUP1
000005bf: ISZERO
000005c0: PUSH2 0x05c8
000005c3: JUMPI
000005c4: PUSH1 0x00
000005c6: DUP1
000005c7: REVERT
000005c8: JUMPDEST
000005c9: POP
000005ca: PUSH2 0x020c
000005cd: PUSH1 0x04
000005cf: DUP1
000005d0: CALLDATASIZE
000005d1: SUB
000005d2: PUSH1 0x20
000005d4: DUP2
000005d5: LT
000005d6: ISZERO
000005d7: PUSH2 0x05df
000005da: JUMPI
000005db: PUSH1 0x00
000005dd: DUP1
000005de: REVERT
000005df: JUMPDEST
000005e0: POP
000005e1: CALLDATALOAD
000005e2: PUSH1 0x01
000005e4: PUSH1 0xa0
000005e6: PUSH1 0x02
000005e8: EXP
000005e9: SUB
000005ea: AND
000005eb: PUSH2 0x19c8
000005ee: JUMP
000005ef: JUMPDEST
000005f0: CALLVALUE
000005f1: DUP1
000005f2: ISZERO
000005f3: PUSH2 0x05fb
000005f6: JUMPI
000005f7: PUSH1 0x00
000005f9: DUP1
000005fa: REVERT
000005fb: JUMPDEST
000005fc: POP
000005fd: PUSH2 0x02a9
00000600: PUSH1 0x04
00000602: DUP1
00000603: CALLDATASIZE
00000604: SUB
00000605: PUSH1 0x80
00000607: DUP2
00000608: LT
00000609: ISZERO
0000060a: PUSH2 0x0612
0000060d: JUMPI
0000060e: PUSH1 0x00
00000610: DUP1
00000611: REVERT
00000612: JUMPDEST
00000613: POP
00000614: DUP1
00000615: CALLDATALOAD
00000616: SWAP1
00000617: PUSH1 0x01
00000619: PUSH1 0xa0
0000061b: PUSH1 0x02
0000061d: EXP
0000061e: SUB
0000061f: PUSH1 0x20
00000621: DUP3
00000622: ADD
00000623: CALLDATALOAD
00000624: DUP2
00000625: AND
00000626: SWAP2
00000627: PUSH1 0x40
00000629: DUP2
0000062a: ADD
0000062b: CALLDATALOAD
0000062c: SWAP2
0000062d: PUSH1 0x60
0000062f: SWAP1
00000630: SWAP2
00000631: ADD
00000632: CALLDATALOAD
00000633: AND
00000634: PUSH2 0x1b75
00000637: JUMP
00000638: JUMPDEST
00000639: CALLVALUE
0000063a: DUP1
0000063b: ISZERO
0000063c: PUSH2 0x0644
0000063f: JUMPI
00000640: PUSH1 0x00
00000642: DUP1
00000643: REVERT
00000644: JUMPDEST
00000645: POP
00000646: PUSH2 0x02d0
00000649: PUSH2 0x1d0b
0000064c: JUMP
0000064d: JUMPDEST
0000064e: PUSH2 0x06cd
00000651: PUSH1 0x04
00000653: DUP1
00000654: CALLDATASIZE
00000655: SUB
00000656: PUSH1 0x40
00000658: DUP2
00000659: LT
0000065a: ISZERO
0000065b: PUSH2 0x0663
0000065e: JUMPI
0000065f: PUSH1 0x00
00000661: DUP1
00000662: REVERT
00000663: JUMPDEST
00000664: PUSH1 0x01
00000666: PUSH1 0xa0
00000668: PUSH1 0x02
0000066a: EXP
0000066b: SUB
0000066c: DUP3
0000066d: CALLDATALOAD
0000066e: AND
0000066f: SWAP2
00000670: SWAP1
00000671: DUP2
00000672: ADD
00000673: SWAP1
00000674: PUSH1 0x40
00000676: DUP2
00000677: ADD
00000678: PUSH1 0x20
0000067a: DUP3
0000067b: ADD
0000067c: CALLDATALOAD
0000067d: PUSH5 0x0100000000
00000683: DUP2
00000684: GT
00000685: ISZERO
00000686: PUSH2 0x068e
00000689: JUMPI
0000068a: PUSH1 0x00
0000068c: DUP1
0000068d: REVERT
0000068e: JUMPDEST
0000068f: DUP3
00000690: ADD
00000691: DUP4
00000692: PUSH1 0x20
00000694: DUP3
00000695: ADD
00000696: GT
00000697: ISZERO
00000698: PUSH2 0x06a0
0000069b: JUMPI
0000069c: PUSH1 0x00
0000069e: DUP1
0000069f: REVERT
000006a0: JUMPDEST
000006a1: DUP1
000006a2: CALLDATALOAD
000006a3: SWAP1
000006a4: PUSH1 0x20
000006a6: ADD
000006a7: SWAP2
000006a8: DUP5
000006a9: PUSH1 0x01
000006ab: DUP4
000006ac: MUL
000006ad: DUP5
000006ae: ADD
000006af: GT
000006b0: PUSH5 0x0100000000
000006b6: DUP4
000006b7: GT
000006b8: OR
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: POP
000006c4: SWAP1
000006c5: SWAP3
000006c6: POP
000006c7: SWAP1
000006c8: POP
000006c9: PUSH2 0x1d1a
000006cc: JUMP
000006cd: JUMPDEST
000006ce: PUSH1 0x40
000006d0: MLOAD
000006d1: DUP1
000006d2: DUP4
000006d3: ISZERO
000006d4: ISZERO
000006d5: ISZERO
000006d6: ISZERO
000006d7: DUP2
000006d8: MSTORE
000006d9: PUSH1 0x20
000006db: ADD
000006dc: DUP1
000006dd: PUSH1 0x20
000006df: ADD
000006e0: DUP3
000006e1: DUP2
000006e2: SUB
000006e3: DUP3
000006e4: MSTORE
000006e5: DUP4
000006e6: DUP2
000006e7: DUP2
000006e8: MLOAD
000006e9: DUP2
000006ea: MSTORE
000006eb: PUSH1 0x20
000006ed: ADD
000006ee: SWAP2
000006ef: POP
000006f0: DUP1
000006f1: MLOAD
000006f2: SWAP1
000006f3: PUSH1 0x20
000006f5: ADD
000006f6: SWAP1
000006f7: DUP1
000006f8: DUP4
000006f9: DUP4
000006fa: PUSH1 0x00
000006fc: JUMPDEST
000006fd: DUP4
000006fe: DUP2
000006ff: LT
00000700: ISZERO
00000701: PUSH2 0x0714
00000704: JUMPI
00000705: DUP2
00000706: DUP2
00000707: ADD
00000708: MLOAD
00000709: DUP4
0000070a: DUP3
0000070b: ADD
0000070c: MSTORE
0000070d: PUSH1 0x20
0000070f: ADD
00000710: PUSH2 0x06fc
00000713: JUMP
00000714: JUMPDEST
00000715: POP
00000716: POP
00000717: POP
00000718: POP
00000719: SWAP1
0000071a: POP
0000071b: SWAP1
0000071c: DUP2
0000071d: ADD
0000071e: SWAP1
0000071f: PUSH1 0x1f
00000721: AND
00000722: DUP1
00000723: ISZERO
00000724: PUSH2 0x0741
00000727: JUMPI
00000728: DUP1
00000729: DUP3
0000072a: SUB
0000072b: DUP1
0000072c: MLOAD
0000072d: PUSH1 0x01
0000072f: DUP4
00000730: PUSH1 0x20
00000732: SUB
00000733: PUSH2 0x0100
00000736: EXP
00000737: SUB
00000738: NOT
00000739: AND
0000073a: DUP2
0000073b: MSTORE
0000073c: PUSH1 0x20
0000073e: ADD
0000073f: SWAP2
00000740: POP
00000741: JUMPDEST
00000742: POP
00000743: SWAP4
00000744: POP
00000745: POP
00000746: POP
00000747: POP
00000748: PUSH1 0x40
0000074a: MLOAD
0000074b: DUP1
0000074c: SWAP2
0000074d: SUB
0000074e: SWAP1
0000074f: RETURN
00000750: JUMPDEST
00000751: CALLVALUE
00000752: DUP1
00000753: ISZERO
00000754: PUSH2 0x075c
00000757: JUMPI
00000758: PUSH1 0x00
0000075a: DUP1
0000075b: REVERT
0000075c: JUMPDEST
0000075d: POP
0000075e: PUSH2 0x020c
00000761: PUSH2 0x1da7
00000764: JUMP
00000765: JUMPDEST
00000766: CALLVALUE
00000767: DUP1
00000768: ISZERO
00000769: PUSH2 0x0771
0000076c: JUMPI
0000076d: PUSH1 0x00
0000076f: DUP1
00000770: REVERT
00000771: JUMPDEST
00000772: POP
00000773: PUSH2 0x020c
00000776: PUSH1 0x04
00000778: DUP1
00000779: CALLDATASIZE
0000077a: SUB
0000077b: PUSH1 0x20
0000077d: DUP2
0000077e: LT
0000077f: ISZERO
00000780: PUSH2 0x0788
00000783: JUMPI
00000784: PUSH1 0x00
00000786: DUP1
00000787: REVERT
00000788: JUMPDEST
00000789: POP
0000078a: CALLDATALOAD
0000078b: PUSH1 0x01
0000078d: PUSH1 0xa0
0000078f: PUSH1 0x02
00000791: EXP
00000792: SUB
00000793: AND
00000794: PUSH2 0x1dd9
00000797: JUMP
00000798: JUMPDEST
00000799: CALLVALUE
0000079a: DUP1
0000079b: ISZERO
0000079c: PUSH2 0x07a4
0000079f: JUMPI
000007a0: PUSH1 0x00
000007a2: DUP1
000007a3: REVERT
000007a4: JUMPDEST
000007a5: POP
000007a6: PUSH2 0x02d0
000007a9: PUSH2 0x1f41
000007ac: JUMP
000007ad: JUMPDEST
000007ae: CALLVALUE
000007af: DUP1
000007b0: ISZERO
000007b1: PUSH2 0x07b9
000007b4: JUMPI
000007b5: PUSH1 0x00
000007b7: DUP1
000007b8: REVERT
000007b9: JUMPDEST
000007ba: POP
000007bb: PUSH2 0x0806
000007be: PUSH1 0x04
000007c0: DUP1
000007c1: CALLDATASIZE
000007c2: SUB
000007c3: PUSH1 0xc0
000007c5: DUP2
000007c6: LT
000007c7: ISZERO
000007c8: PUSH2 0x07d0
000007cb: JUMPI
000007cc: PUSH1 0x00
000007ce: DUP1
000007cf: REVERT
000007d0: JUMPDEST
000007d1: POP
000007d2: PUSH1 0x01
000007d4: PUSH1 0xa0
000007d6: PUSH1 0x02
000007d8: EXP
000007d9: SUB
000007da: DUP2
000007db: CALLDATALOAD
000007dc: DUP2
000007dd: AND
000007de: SWAP2
000007df: PUSH1 0x20
000007e1: DUP2
000007e2: ADD
000007e3: CALLDATALOAD
000007e4: DUP3
000007e5: AND
000007e6: SWAP2
000007e7: PUSH1 0x40
000007e9: DUP3
000007ea: ADD
000007eb: CALLDATALOAD
000007ec: DUP2
000007ed: AND
000007ee: SWAP2
000007ef: PUSH1 0x60
000007f1: DUP2
000007f2: ADD
000007f3: CALLDATALOAD
000007f4: SWAP1
000007f5: SWAP2
000007f6: AND
000007f7: SWAP1
000007f8: PUSH1 0x80
000007fa: DUP2
000007fb: ADD
000007fc: CALLDATALOAD
000007fd: SWAP1
000007fe: PUSH1 0xa0
00000800: ADD
00000801: CALLDATALOAD
00000802: PUSH2 0x1f50
00000805: JUMP
00000806: JUMPDEST
00000807: PUSH1 0x40
00000809: DUP1
0000080a: MLOAD
0000080b: SWAP7
0000080c: DUP8
0000080d: MSTORE
0000080e: SWAP5
0000080f: ISZERO
00000810: ISZERO
00000811: PUSH1 0x20
00000813: DUP8
00000814: ADD
00000815: MSTORE
00000816: DUP6
00000817: DUP6
00000818: ADD
00000819: SWAP4
0000081a: SWAP1
0000081b: SWAP4
0000081c: MSTORE
0000081d: PUSH1 0x60
0000081f: DUP6
00000820: ADD
00000821: SWAP2
00000822: SWAP1
00000823: SWAP2
00000824: MSTORE
00000825: PUSH1 0x80
00000827: DUP5
00000828: ADD
00000829: MSTORE
0000082a: PUSH1 0xa0
0000082c: DUP4
0000082d: ADD
0000082e: MSTORE
0000082f: MLOAD
00000830: SWAP1
00000831: DUP2
00000832: SWAP1
00000833: SUB
00000834: PUSH1 0xc0
00000836: ADD
00000837: SWAP1
00000838: RETURN
00000839: JUMPDEST
0000083a: CALLVALUE
0000083b: DUP1
0000083c: ISZERO
0000083d: PUSH2 0x0845
00000840: JUMPI
00000841: PUSH1 0x00
00000843: DUP1
00000844: REVERT
00000845: JUMPDEST
00000846: POP
00000847: PUSH2 0x0349
0000084a: PUSH1 0x04
0000084c: DUP1
0000084d: CALLDATASIZE
0000084e: SUB
0000084f: PUSH1 0x60
00000851: DUP2
00000852: LT
00000853: ISZERO
00000854: PUSH2 0x085c
00000857: JUMPI
00000858: PUSH1 0x00
0000085a: DUP1
0000085b: REVERT
0000085c: JUMPDEST
0000085d: POP
0000085e: PUSH1 0x01
00000860: PUSH1 0xa0
00000862: PUSH1 0x02
00000864: EXP
00000865: SUB
00000866: DUP2
00000867: CALLDATALOAD
00000868: DUP2
00000869: AND
0000086a: SWAP2
0000086b: PUSH1 0x20
0000086d: DUP2
0000086e: ADD
0000086f: CALLDATALOAD
00000870: SWAP1
00000871: SWAP2
00000872: AND
00000873: SWAP1
00000874: PUSH1 0x40
00000876: ADD
00000877: CALLDATALOAD
00000878: PUSH2 0x1fab
0000087b: JUMP
0000087c: JUMPDEST
0000087d: PUSH1 0x00
0000087f: DUP1
00000880: PUSH1 0x00
00000882: DUP1
00000883: PUSH1 0x00
00000885: PUSH2 0x088c
00000888: PUSH2 0x28f6
0000088b: JUMP
0000088c: JUMPDEST
0000088d: PUSH2 0x089a
00000890: DUP13
00000891: DUP13
00000892: DUP13
00000893: DUP13
00000894: DUP13
00000895: DUP13
00000896: PUSH2 0x20c6
00000899: JUMP
0000089a: JUMPDEST
0000089b: SWAP1
0000089c: POP
0000089d: DUP1
0000089e: PUSH1 0xc0
000008a0: ADD
000008a1: MLOAD
000008a2: DUP2
000008a3: PUSH1 0xe0
000008a5: ADD
000008a6: MLOAD
000008a7: DUP3
000008a8: PUSH2 0x0100
000008ab: ADD
000008ac: MLOAD
000008ad: DUP4
000008ae: PUSH2 0x0120
000008b1: ADD
000008b2: MLOAD
000008b3: DUP5
000008b4: PUSH2 0x0140
000008b7: ADD
000008b8: MLOAD
000008b9: SWAP6
000008ba: POP
000008bb: SWAP6
000008bc: POP
000008bd: SWAP6
000008be: POP
000008bf: SWAP6
000008c0: POP
000008c1: SWAP6
000008c2: POP
000008c3: POP
000008c4: SWAP7
000008c5: POP
000008c6: SWAP7
000008c7: POP
000008c8: SWAP7
000008c9: POP
000008ca: SWAP7
000008cb: POP
000008cc: SWAP7
000008cd: SWAP2
000008ce: POP
000008cf: POP
000008d0: JUMP
000008d1: JUMPDEST
000008d2: PUSH1 0x0b
000008d4: SLOAD
000008d5: DUP2
000008d6: JUMP
000008d7: JUMPDEST
000008d8: PUSH1 0x03
000008da: SLOAD
000008db: PUSH1 0x01
000008dd: PUSH1 0xa0
000008df: PUSH1 0x02
000008e1: EXP
000008e2: SUB
000008e3: AND
000008e4: DUP2
000008e5: JUMP
000008e6: JUMPDEST
000008e7: PUSH1 0x07
000008e9: SLOAD
000008ea: DUP2
000008eb: JUMP
000008ec: JUMPDEST
000008ed: PUSH1 0x05
000008ef: SLOAD
000008f0: PUSH1 0x01
000008f2: PUSH1 0xa0
000008f4: PUSH1 0x02
000008f6: EXP
000008f7: SUB
000008f8: AND
000008f9: CALLER
000008fa: EQ
000008fb: DUP1
000008fc: PUSH2 0x090f
000008ff: JUMPI
00000900: POP
00000901: PUSH1 0x04
00000903: SLOAD
00000904: PUSH1 0x01
00000906: PUSH1 0xa0
00000908: PUSH1 0x02
0000090a: EXP
0000090b: SUB
0000090c: AND
0000090d: CALLER
0000090e: EQ
0000090f: JUMPDEST
00000910: ISZERO
00000911: ISZERO
00000912: PUSH2 0x091a
00000915: JUMPI
00000916: PUSH1 0x00
00000918: DUP1
00000919: REVERT
0000091a: JUMPDEST
0000091b: PUSH2 0x0922
0000091e: PUSH2 0x0e55
00000921: JUMP
00000922: JUMPDEST
00000923: ISZERO
00000924: ISZERO
00000925: PUSH2 0x092d
00000928: JUMPI
00000929: PUSH1 0x00
0000092b: DUP1
0000092c: REVERT
0000092d: JUMPDEST
0000092e: PUSH1 0x0b
00000930: SLOAD
00000931: PUSH1 0x00
00000933: SWAP1
00000934: DUP2
00000935: MSTORE
00000936: PUSH1 0x0a
00000938: PUSH1 0x20
0000093a: MSTORE
0000093b: PUSH1 0x40
0000093d: DUP1
0000093e: DUP3
0000093f: KECCAK256
00000940: DUP1
00000941: SLOAD
00000942: PUSH1 0x01
00000944: DUP3
00000945: ADD
00000946: SLOAD
00000947: PUSH1 0x02
00000949: DUP4
0000094a: ADD
0000094b: SLOAD
0000094c: PUSH1 0x03
0000094e: DUP5
0000094f: ADD
00000950: SLOAD
00000951: PUSH1 0x04
00000953: DUP1
00000954: DUP7
00000955: ADD
00000956: SLOAD
00000957: PUSH1 0x05
00000959: DUP8
0000095a: ADD
0000095b: SLOAD
0000095c: PUSH1 0x06
0000095e: SWAP1
0000095f: SWAP8
00000960: ADD
00000961: SLOAD
00000962: DUP10
00000963: SLOAD
00000964: DUP10
00000965: MLOAD
00000966: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000
00000987: DUP2
00000988: MSTORE
00000989: PUSH1 0x01
0000098b: PUSH1 0xa0
0000098d: PUSH1 0x02
0000098f: EXP
00000990: SUB
00000991: SWAP8
00000992: DUP9
00000993: AND
00000994: SWAP5
00000995: DUP2
00000996: ADD
00000997: DUP6
00000998: SWAP1
00000999: MSTORE
0000099a: SWAP6
0000099b: DUP8
0000099c: AND
0000099d: PUSH1 0x24
0000099f: DUP8
000009a0: ADD
000009a1: DUP2
000009a2: SWAP1
000009a3: MSTORE
000009a4: ADDRESS
000009a5: PUSH1 0x44
000009a7: DUP9
000009a8: ADD
000009a9: MSTORE
000009aa: PUSH1 0x64
000009ac: DUP8
000009ad: ADD
000009ae: DUP10
000009af: SWAP1
000009b0: MSTORE
000009b1: DUP11
000009b2: MLOAD
000009b3: SWAP9
000009b4: SWAP12
000009b5: SWAP5
000009b6: SWAP11
000009b7: SWAP1
000009b8: SWAP10
000009b9: SWAP6
000009ba: DUP9
000009bb: AND
000009bc: SWAP9
000009bd: SWAP4
000009be: SWAP8
000009bf: SWAP6
000009c0: SWAP7
000009c1: SWAP3
000009c2: SWAP6
000009c3: SWAP1
000009c4: SWAP2
000009c5: AND
000009c6: SWAP3
000009c7: PUSH4 0xb0293850
000009cc: SWAP3
000009cd: PUSH1 0x84
000009cf: DUP1
000009d0: DUP3
000009d1: ADD
000009d2: SWAP4
000009d3: SWAP3
000009d4: SWAP2
000009d5: DUP3
000009d6: SWAP1
000009d7: SUB
000009d8: ADD
000009d9: DUP2
000009da: DUP8
000009db: DUP8
000009dc: DUP1
000009dd: EXTCODESIZE
000009de: ISZERO
000009df: DUP1
000009e0: ISZERO
000009e1: PUSH2 0x09e9
000009e4: JUMPI
000009e5: PUSH1 0x00
000009e7: DUP1
000009e8: REVERT
000009e9: JUMPDEST
000009ea: POP
000009eb: GAS
000009ec: CALL
000009ed: ISZERO
000009ee: DUP1
000009ef: ISZERO
000009f0: PUSH2 0x09fd
000009f3: JUMPI
000009f4: RETURNDATASIZE
000009f5: PUSH1 0x00
000009f7: DUP1
000009f8: RETURNDATACOPY
000009f9: RETURNDATASIZE
000009fa: PUSH1 0x00
000009fc: REVERT
000009fd: JUMPDEST
000009fe: POP
000009ff: POP
00000a00: POP
00000a01: POP
00000a02: PUSH1 0x40
00000a04: MLOAD
00000a05: RETURNDATASIZE
00000a06: PUSH1 0x40
00000a08: DUP2
00000a09: LT
00000a0a: ISZERO
00000a0b: PUSH2 0x0a13
00000a0e: JUMPI
00000a0f: PUSH1 0x00
00000a11: DUP1
00000a12: REVERT
00000a13: JUMPDEST
00000a14: POP
00000a15: MLOAD
00000a16: SWAP1
00000a17: POP
00000a18: PUSH1 0x00
00000a1a: DUP2
00000a1b: GT
00000a1c: ISZERO
00000a1d: PUSH2 0x0ae0
00000a20: JUMPI
00000a21: PUSH1 0x00
00000a23: DUP1
00000a24: SLOAD
00000a25: PUSH1 0x40
00000a27: DUP1
00000a28: MLOAD
00000a29: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000
00000a4a: DUP2
00000a4b: MSTORE
00000a4c: PUSH1 0x01
00000a4e: PUSH1 0xa0
00000a50: PUSH1 0x02
00000a52: EXP
00000a53: SUB
00000a54: DUP12
00000a55: DUP2
00000a56: AND
00000a57: PUSH1 0x04
00000a59: DUP4
00000a5a: ADD
00000a5b: MSTORE
00000a5c: PUSH1 0x24
00000a5e: DUP3
00000a5f: ADD
00000a60: DUP7
00000a61: SWAP1
00000a62: MSTORE
00000a63: SWAP2
00000a64: MLOAD
00000a65: SWAP2
00000a66: SWAP1
00000a67: SWAP3
00000a68: AND
00000a69: SWAP3
00000a6a: PUSH4 0xf3fef3a3
00000a6f: SWAP3
00000a70: PUSH1 0x44
00000a72: DUP1
00000a73: DUP3
00000a74: ADD
00000a75: SWAP4
00000a76: PUSH1 0x20
00000a78: SWAP4
00000a79: SWAP1
00000a7a: SWAP3
00000a7b: DUP4
00000a7c: SWAP1
00000a7d: SUB
00000a7e: SWAP1
00000a7f: SWAP2
00000a80: ADD
00000a81: SWAP1
00000a82: DUP3
00000a83: SWAP1
00000a84: DUP8
00000a85: DUP1
00000a86: EXTCODESIZE
00000a87: ISZERO
00000a88: DUP1
00000a89: ISZERO
00000a8a: PUSH2 0x0a92
00000a8d: JUMPI
00000a8e: PUSH1 0x00
00000a90: DUP1
00000a91: REVERT
00000a92: JUMPDEST
00000a93: POP
00000a94: GAS
00000a95: CALL
00000a96: ISZERO
00000a97: DUP1
00000a98: ISZERO
00000a99: PUSH2 0x0aa6
00000a9c: JUMPI
00000a9d: RETURNDATASIZE
00000a9e: PUSH1 0x00
00000aa0: DUP1
00000aa1: RETURNDATACOPY
00000aa2: RETURNDATASIZE
00000aa3: PUSH1 0x00
00000aa5: REVERT
00000aa6: JUMPDEST
00000aa7: POP
00000aa8: POP
00000aa9: POP
00000aaa: POP
00000aab: PUSH1 0x40
00000aad: MLOAD
00000aae: RETURNDATASIZE
00000aaf: PUSH1 0x20
00000ab1: DUP2
00000ab2: LT
00000ab3: ISZERO
00000ab4: PUSH2 0x0abc
00000ab7: JUMPI
00000ab8: PUSH1 0x00
00000aba: DUP1
00000abb: REVERT
00000abc: JUMPDEST
00000abd: POP
00000abe: POP
00000abf: PUSH1 0x01
00000ac1: PUSH1 0xa0
00000ac3: PUSH1 0x02
00000ac5: EXP
00000ac6: SUB
00000ac7: DUP8
00000ac8: DUP2
00000ac9: AND
00000aca: SWAP1
00000acb: DUP7
00000acc: AND
00000acd: EQ
00000ace: PUSH2 0x0ae0
00000ad1: JUMPI
00000ad2: PUSH2 0x0add
00000ad5: DUP3
00000ad6: DUP9
00000ad7: DUP4
00000ad8: DUP10
00000ad9: PUSH2 0x2731
00000adc: JUMP
00000add: JUMPDEST
00000ade: SWAP1
00000adf: POP
00000ae0: JUMPDEST
00000ae1: PUSH1 0x0b
00000ae3: DUP1
00000ae4: SLOAD
00000ae5: PUSH1 0x01
00000ae7: ADD
00000ae8: SWAP1
00000ae9: SSTORE
00000aea: PUSH1 0x40
00000aec: DUP1
00000aed: MLOAD
00000aee: DUP6
00000aef: DUP2
00000af0: MSTORE
00000af1: DUP5
00000af2: DUP4
00000af3: ADD
00000af4: PUSH1 0x20
00000af6: DUP3
00000af7: ADD
00000af8: MSTORE
00000af9: TIMESTAMP
00000afa: DUP2
00000afb: DUP4
00000afc: ADD
00000afd: MSTORE
00000afe: SWAP1
00000aff: MLOAD
00000b00: PUSH1 0x01
00000b02: PUSH1 0xa0
00000b04: PUSH1 0x02
00000b06: EXP
00000b07: SUB
00000b08: DUP1
00000b09: DUP9
00000b0a: AND
00000b0b: SWAP3
00000b0c: DUP10
00000b0d: DUP3
00000b0e: AND
00000b0f: SWAP3
00000b10: SWAP2
00000b11: DUP12
00000b12: AND
00000b13: SWAP2
00000b14: PUSH32 0x63a011bd552b9d37485a9e07c03f4a7c6598446a9c07775c60aa9f53f58fd16f
00000b35: SWAP2
00000b36: DUP2
00000b37: SWAP1
00000b38: SUB
00000b39: PUSH1 0x60
00000b3b: ADD
00000b3c: SWAP1
00000b3d: LOG4
00000b3e: POP
00000b3f: POP
00000b40: POP
00000b41: POP
00000b42: POP
00000b43: POP
00000b44: POP
00000b45: POP
00000b46: JUMP
00000b47: JUMPDEST
00000b48: PUSH1 0x04
00000b4a: SLOAD
00000b4b: PUSH1 0x00
00000b4d: SWAP1
00000b4e: PUSH1 0x01
00000b50: PUSH1 0xa0
00000b52: PUSH1 0x02
00000b54: EXP
00000b55: SUB
00000b56: AND
00000b57: CALLER
00000b58: EQ
00000b59: PUSH2 0x0b61
00000b5c: JUMPI
00000b5d: PUSH1 0x00
00000b5f: DUP1
00000b60: REVERT
00000b61: JUMPDEST
00000b62: PUSH1 0x40
00000b64: DUP1
00000b65: MLOAD
00000b66: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000b87: DUP2
00000b88: MSTORE
00000b89: ADDRESS
00000b8a: PUSH1 0x04
00000b8c: DUP3
00000b8d: ADD
00000b8e: MSTORE
00000b8f: SWAP1
00000b90: MLOAD
00000b91: PUSH1 0x00
00000b93: SWAP2
00000b94: PUSH1 0x01
00000b96: PUSH1 0xa0
00000b98: PUSH1 0x02
00000b9a: EXP
00000b9b: SUB
00000b9c: DUP6
00000b9d: AND
00000b9e: SWAP2
00000b9f: PUSH4 0x70a08231
00000ba4: SWAP2
00000ba5: PUSH1 0x24
00000ba7: DUP1
00000ba8: DUP3
00000ba9: ADD
00000baa: SWAP3
00000bab: PUSH1 0x20
00000bad: SWAP3
00000bae: SWAP1
00000baf: SWAP2
00000bb0: SWAP1
00000bb1: DUP3
00000bb2: SWAP1
00000bb3: SUB
00000bb4: ADD
00000bb5: DUP2
00000bb6: DUP7
00000bb7: DUP1
00000bb8: EXTCODESIZE
00000bb9: ISZERO
00000bba: DUP1
00000bbb: ISZERO
00000bbc: PUSH2 0x0bc4
00000bbf: JUMPI
00000bc0: PUSH1 0x00
00000bc2: DUP1
00000bc3: REVERT
00000bc4: JUMPDEST
00000bc5: POP
00000bc6: GAS
00000bc7: STATICCALL
00000bc8: ISZERO
00000bc9: DUP1
00000bca: ISZERO
00000bcb: PUSH2 0x0bd8
00000bce: JUMPI
00000bcf: RETURNDATASIZE
00000bd0: PUSH1 0x00
00000bd2: DUP1
00000bd3: RETURNDATACOPY
00000bd4: RETURNDATASIZE
00000bd5: PUSH1 0x00
00000bd7: REVERT
00000bd8: JUMPDEST
00000bd9: POP
00000bda: POP
00000bdb: POP
00000bdc: POP
00000bdd: PUSH1 0x40
00000bdf: MLOAD
00000be0: RETURNDATASIZE
00000be1: PUSH1 0x20
00000be3: DUP2
00000be4: LT
00000be5: ISZERO
00000be6: PUSH2 0x0bee
00000be9: JUMPI
00000bea: PUSH1 0x00
00000bec: DUP1
00000bed: REVERT
00000bee: JUMPDEST
00000bef: POP
00000bf0: MLOAD
00000bf1: PUSH1 0x40
00000bf3: DUP1
00000bf4: MLOAD
00000bf5: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000c16: DUP2
00000c17: MSTORE
00000c18: CALLER
00000c19: PUSH1 0x04
00000c1b: DUP3
00000c1c: ADD
00000c1d: MSTORE
00000c1e: PUSH1 0x24
00000c20: DUP2
00000c21: ADD
00000c22: DUP4
00000c23: SWAP1
00000c24: MSTORE
00000c25: SWAP1
00000c26: MLOAD
00000c27: SWAP2
00000c28: SWAP3
00000c29: POP
00000c2a: PUSH1 0x00
00000c2c: SWAP2
00000c2d: PUSH1 0x01
00000c2f: PUSH1 0xa0
00000c31: PUSH1 0x02
00000c33: EXP
00000c34: SUB
00000c35: DUP7
00000c36: AND
00000c37: SWAP2
00000c38: PUSH4 0xa9059cbb
00000c3d: SWAP2
00000c3e: PUSH1 0x44
00000c40: DUP1
00000c41: DUP4
00000c42: ADD
00000c43: SWAP3
00000c44: PUSH1 0x20
00000c46: SWAP3
00000c47: SWAP2
00000c48: SWAP1
00000c49: DUP3
00000c4a: SWAP1
00000c4b: SUB
00000c4c: ADD
00000c4d: DUP2
00000c4e: DUP8
00000c4f: DUP8
00000c50: DUP1
00000c51: EXTCODESIZE
00000c52: ISZERO
00000c53: DUP1
00000c54: ISZERO
00000c55: PUSH2 0x0c5d
00000c58: JUMPI
00000c59: PUSH1 0x00
00000c5b: DUP1
00000c5c: REVERT
00000c5d: JUMPDEST
00000c5e: POP
00000c5f: GAS
00000c60: CALL
00000c61: ISZERO
00000c62: DUP1
00000c63: ISZERO
00000c64: PUSH2 0x0c71
00000c67: JUMPI
00000c68: RETURNDATASIZE
00000c69: PUSH1 0x00
00000c6b: DUP1
00000c6c: RETURNDATACOPY
00000c6d: RETURNDATASIZE
00000c6e: PUSH1 0x00
00000c70: REVERT
00000c71: JUMPDEST
00000c72: POP
00000c73: POP
00000c74: POP
00000c75: POP
00000c76: PUSH1 0x40
00000c78: MLOAD
00000c79: RETURNDATASIZE
00000c7a: PUSH1 0x20
00000c7c: DUP2
00000c7d: LT
00000c7e: ISZERO
00000c7f: PUSH2 0x0c87
00000c82: JUMPI
00000c83: PUSH1 0x00
00000c85: DUP1
00000c86: REVERT
00000c87: JUMPDEST
00000c88: POP
00000c89: MLOAD
00000c8a: SWAP1
00000c8b: POP
00000c8c: DUP1
00000c8d: ISZERO
00000c8e: PUSH2 0x0cd4
00000c91: JUMPI
00000c92: PUSH1 0x40
00000c94: DUP1
00000c95: MLOAD
00000c96: DUP4
00000c97: DUP2
00000c98: MSTORE
00000c99: TIMESTAMP
00000c9a: PUSH1 0x20
00000c9c: DUP3
00000c9d: ADD
00000c9e: MSTORE
00000c9f: DUP2
00000ca0: MLOAD
00000ca1: PUSH1 0x01
00000ca3: PUSH1 0xa0
00000ca5: PUSH1 0x02
00000ca7: EXP
00000ca8: SUB
00000ca9: DUP8
00000caa: AND
00000cab: SWAP3
00000cac: PUSH32 0xdf273cb619d95419a9cd0ec88123a0538c85064229baa6363788f743fff90deb
00000ccd: SWAP3
00000cce: DUP3
00000ccf: SWAP1
00000cd0: SUB
00000cd1: ADD
00000cd2: SWAP1
00000cd3: LOG2
00000cd4: JUMPDEST
00000cd5: SWAP2
00000cd6: POP
00000cd7: POP
00000cd8: JUMPDEST
00000cd9: SWAP2
00000cda: SWAP1
00000cdb: POP
00000cdc: JUMP
00000cdd: JUMPDEST
00000cde: PUSH1 0x04
00000ce0: SLOAD
00000ce1: PUSH1 0x01
00000ce3: PUSH1 0xa0
00000ce5: PUSH1 0x02
00000ce7: EXP
00000ce8: SUB
00000ce9: AND
00000cea: CALLER
00000ceb: EQ
00000cec: PUSH2 0x0cf4
00000cef: JUMPI
00000cf0: PUSH1 0x00
00000cf2: DUP1
00000cf3: REVERT
00000cf4: JUMPDEST
00000cf5: PUSH1 0x08
00000cf7: SSTORE
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: PUSH1 0x09
00000cfc: SLOAD
00000cfd: DUP2
00000cfe: JUMP
00000cff: JUMPDEST
00000d00: PUSH1 0x05
00000d02: SLOAD
00000d03: PUSH1 0x01
00000d05: PUSH1 0xa0
00000d07: PUSH1 0x02
00000d09: EXP
00000d0a: SUB
00000d0b: AND
00000d0c: CALLER
00000d0d: EQ
00000d0e: DUP1
00000d0f: PUSH2 0x0d22
00000d12: JUMPI
00000d13: POP
00000d14: PUSH1 0x04
00000d16: SLOAD
00000d17: PUSH1 0x01
00000d19: PUSH1 0xa0
00000d1b: PUSH1 0x02
00000d1d: EXP
00000d1e: SUB
00000d1f: AND
00000d20: CALLER
00000d21: EQ
00000d22: JUMPDEST
00000d23: ISZERO
00000d24: ISZERO
00000d25: PUSH2 0x0d2d
00000d28: JUMPI
00000d29: PUSH1 0x00
00000d2b: DUP1
00000d2c: REVERT
00000d2d: JUMPDEST
00000d2e: PUSH2 0x0d35
00000d31: PUSH2 0x18ba
00000d34: JUMP
00000d35: JUMPDEST
00000d36: ISZERO
00000d37: ISZERO
00000d38: PUSH2 0x0d40
00000d3b: JUMPI
00000d3c: PUSH1 0x00
00000d3e: DUP1
00000d3f: REVERT
00000d40: JUMPDEST
00000d41: TIMESTAMP
00000d42: PUSH1 0x09
00000d44: SSTORE
00000d45: PUSH1 0x03
00000d47: SLOAD
00000d48: PUSH1 0x08
00000d4a: SLOAD
00000d4b: PUSH1 0x40
00000d4d: DUP1
00000d4e: MLOAD
00000d4f: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
00000d70: DUP2
00000d71: MSTORE
00000d72: PUSH1 0x04
00000d74: DUP2
00000d75: ADD
00000d76: SWAP3
00000d77: SWAP1
00000d78: SWAP3
00000d79: MSTORE
00000d7a: MLOAD
00000d7b: PUSH1 0x01
00000d7d: PUSH1 0xa0
00000d7f: PUSH1 0x02
00000d81: EXP
00000d82: SUB
00000d83: SWAP1
00000d84: SWAP3
00000d85: AND
00000d86: SWAP2
00000d87: PUSH4 0x2e1a7d4d
00000d8c: SWAP2
00000d8d: PUSH1 0x24
00000d8f: DUP1
00000d90: DUP3
00000d91: ADD
00000d92: SWAP3
00000d93: PUSH1 0x00
00000d95: SWAP3
00000d96: SWAP1
00000d97: SWAP2
00000d98: SWAP1
00000d99: DUP3
00000d9a: SWAP1
00000d9b: SUB
00000d9c: ADD
00000d9d: DUP2
00000d9e: DUP4
00000d9f: DUP8
00000da0: DUP1
00000da1: EXTCODESIZE
00000da2: ISZERO
00000da3: DUP1
00000da4: ISZERO
00000da5: PUSH2 0x0dad
00000da8: JUMPI
00000da9: PUSH1 0x00
00000dab: DUP1
00000dac: REVERT
00000dad: JUMPDEST
00000dae: POP
00000daf: GAS
00000db0: CALL
00000db1: ISZERO
00000db2: DUP1
00000db3: ISZERO
00000db4: PUSH2 0x0dc1
00000db7: JUMPI
00000db8: RETURNDATASIZE
00000db9: PUSH1 0x00
00000dbb: DUP1
00000dbc: RETURNDATACOPY
00000dbd: RETURNDATASIZE
00000dbe: PUSH1 0x00
00000dc0: REVERT
00000dc1: JUMPDEST
00000dc2: POP
00000dc3: POP
00000dc4: PUSH1 0x05
00000dc6: SLOAD
00000dc7: PUSH1 0x08
00000dc9: SLOAD
00000dca: PUSH1 0x40
00000dcc: MLOAD
00000dcd: PUSH1 0x01
00000dcf: PUSH1 0xa0
00000dd1: PUSH1 0x02
00000dd3: EXP
00000dd4: SUB
00000dd5: SWAP1
00000dd6: SWAP3
00000dd7: AND
00000dd8: SWAP4
00000dd9: POP
00000dda: DUP1
00000ddb: ISZERO
00000ddc: PUSH2 0x08fc
00000ddf: MUL
00000de0: SWAP3
00000de1: POP
00000de2: SWAP1
00000de3: PUSH1 0x00
00000de5: DUP2
00000de6: DUP2
00000de7: DUP2
00000de8: DUP6
00000de9: DUP9
00000dea: DUP9
00000deb: CALL
00000dec: SWAP4
00000ded: POP
00000dee: POP
00000def: POP
00000df0: POP
00000df1: ISZERO
00000df2: DUP1
00000df3: ISZERO
00000df4: PUSH2 0x0e01
00000df7: JUMPI
00000df8: RETURNDATASIZE
00000df9: PUSH1 0x00
00000dfb: DUP1
00000dfc: RETURNDATACOPY
00000dfd: RETURNDATASIZE
00000dfe: PUSH1 0x00
00000e00: REVERT
00000e01: JUMPDEST
00000e02: POP
00000e03: PUSH1 0x08
00000e05: SLOAD
00000e06: PUSH1 0x40
00000e08: DUP1
00000e09: MLOAD
00000e0a: SWAP2
00000e0b: DUP3
00000e0c: MSTORE
00000e0d: TIMESTAMP
00000e0e: PUSH1 0x20
00000e10: DUP4
00000e11: ADD
00000e12: MSTORE
00000e13: DUP1
00000e14: MLOAD
00000e15: PUSH32 0x56de51cbdd1f93c35c25fc73e49ecf0a9dd691ebb5f421e29b37a42bc2ed7607
00000e36: SWAP3
00000e37: DUP2
00000e38: SWAP1
00000e39: SUB
00000e3a: SWAP1
00000e3b: SWAP2
00000e3c: ADD
00000e3d: SWAP1
00000e3e: LOG1
00000e3f: JUMP
00000e40: JUMPDEST
00000e41: PUSH1 0x00
00000e43: SLOAD
00000e44: PUSH1 0x01
00000e46: PUSH1 0xa0
00000e48: PUSH1 0x02
00000e4a: EXP
00000e4b: SUB
00000e4c: AND
00000e4d: DUP2
00000e4e: JUMP
00000e4f: JUMPDEST
00000e50: PUSH1 0x0c
00000e52: SLOAD
00000e53: DUP2
00000e54: JUMP
00000e55: JUMPDEST
00000e56: PUSH1 0x00
00000e58: PUSH1 0x0c
00000e5a: SLOAD
00000e5b: PUSH1 0x0b
00000e5d: SLOAD
00000e5e: EQ
00000e5f: ISZERO
00000e60: PUSH2 0x0e6b
00000e63: JUMPI
00000e64: POP
00000e65: PUSH1 0x00
00000e67: PUSH2 0x0f35
00000e6a: JUMP
00000e6b: JUMPDEST
00000e6c: PUSH1 0x0b
00000e6e: SLOAD
00000e6f: PUSH1 0x00
00000e71: SWAP1
00000e72: DUP2
00000e73: MSTORE
00000e74: PUSH1 0x0a
00000e76: PUSH1 0x20
00000e78: SWAP1
00000e79: DUP2
00000e7a: MSTORE
00000e7b: PUSH1 0x40
00000e7d: DUP1
00000e7e: DUP4
00000e7f: KECCAK256
00000e80: DUP1
00000e81: SLOAD
00000e82: PUSH1 0x01
00000e84: DUP3
00000e85: ADD
00000e86: SLOAD
00000e87: PUSH1 0x02
00000e89: SWAP1
00000e8a: SWAP3
00000e8b: ADD
00000e8c: SLOAD
00000e8d: DUP6
00000e8e: SLOAD
00000e8f: DUP5
00000e90: MLOAD
00000e91: PUSH32 0x14584a9d00000000000000000000000000000000000000000000000000000000
00000eb2: DUP2
00000eb3: MSTORE
00000eb4: PUSH1 0x01
00000eb6: PUSH1 0xa0
00000eb8: PUSH1 0x02
00000eba: EXP
00000ebb: SUB
00000ebc: SWAP5
00000ebd: DUP6
00000ebe: AND
00000ebf: PUSH1 0x04
00000ec1: DUP3
00000ec2: ADD
00000ec3: DUP2
00000ec4: SWAP1
00000ec5: MSTORE
00000ec6: SWAP3
00000ec7: DUP6
00000ec8: AND
00000ec9: PUSH1 0x24
00000ecb: DUP3
00000ecc: ADD
00000ecd: DUP2
00000ece: SWAP1
00000ecf: MSTORE
00000ed0: SWAP6
00000ed1: MLOAD
00000ed2: SWAP4
00000ed3: SWAP8
00000ed4: SWAP3
00000ed5: SWAP7
00000ed6: SWAP3
00000ed7: SWAP5
00000ed8: SWAP1
00000ed9: SWAP2
00000eda: AND
00000edb: SWAP3
00000edc: PUSH4 0x14584a9d
00000ee1: SWAP3
00000ee2: PUSH1 0x44
00000ee4: DUP1
00000ee5: DUP5
00000ee6: ADD
00000ee7: SWAP4
00000ee8: SWAP2
00000ee9: SWAP3
00000eea: SWAP2
00000eeb: DUP3
00000eec: SWAP1
00000eed: SUB
00000eee: ADD
00000eef: DUP2
00000ef0: DUP7
00000ef1: DUP1
00000ef2: EXTCODESIZE
00000ef3: ISZERO
00000ef4: DUP1
00000ef5: ISZERO
00000ef6: PUSH2 0x0efe
00000ef9: JUMPI
00000efa: PUSH1 0x00
00000efc: DUP1
00000efd: REVERT
00000efe: JUMPDEST
00000eff: POP
00000f00: GAS
00000f01: STATICCALL
00000f02: ISZERO
00000f03: DUP1
00000f04: ISZERO
00000f05: PUSH2 0x0f12
00000f08: JUMPI
00000f09: RETURNDATASIZE
00000f0a: PUSH1 0x00
00000f0c: DUP1
00000f0d: RETURNDATACOPY
00000f0e: RETURNDATASIZE
00000f0f: PUSH1 0x00
00000f11: REVERT
00000f12: JUMPDEST
00000f13: POP
00000f14: POP
00000f15: POP
00000f16: POP
00000f17: PUSH1 0x40
00000f19: MLOAD
00000f1a: RETURNDATASIZE
00000f1b: PUSH1 0x20
00000f1d: DUP2
00000f1e: LT
00000f1f: ISZERO
00000f20: PUSH2 0x0f28
00000f23: JUMPI
00000f24: PUSH1 0x00
00000f26: DUP1
00000f27: REVERT
00000f28: JUMPDEST
00000f29: POP
00000f2a: MLOAD
00000f2b: SWAP4
00000f2c: SWAP1
00000f2d: SWAP4
00000f2e: EQ
00000f2f: ISZERO
00000f30: SWAP4
00000f31: POP
00000f32: POP
00000f33: POP
00000f34: POP
00000f35: JUMPDEST
00000f36: SWAP1
00000f37: JUMP
00000f38: JUMPDEST
00000f39: PUSH1 0x04
00000f3b: SLOAD
00000f3c: PUSH1 0x01
00000f3e: PUSH1 0xa0
00000f40: PUSH1 0x02
00000f42: EXP
00000f43: SUB
00000f44: AND
00000f45: CALLER
00000f46: EQ
00000f47: PUSH2 0x0f4f
00000f4a: JUMPI
00000f4b: PUSH1 0x00
00000f4d: DUP1
00000f4e: REVERT
00000f4f: JUMPDEST
00000f50: PUSH1 0x05
00000f52: DUP1
00000f53: SLOAD
00000f54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f69: NOT
00000f6a: AND
00000f6b: PUSH1 0x01
00000f6d: PUSH1 0xa0
00000f6f: PUSH1 0x02
00000f71: EXP
00000f72: SUB
00000f73: SWAP3
00000f74: SWAP1
00000f75: SWAP3
00000f76: AND
00000f77: SWAP2
00000f78: SWAP1
00000f79: SWAP2
00000f7a: OR
00000f7b: SWAP1
00000f7c: SSTORE
00000f7d: JUMP
00000f7e: JUMPDEST
00000f7f: PUSH1 0x04
00000f81: SLOAD
00000f82: PUSH1 0x01
00000f84: PUSH1 0xa0
00000f86: PUSH1 0x02
00000f88: EXP
00000f89: SUB
00000f8a: AND
00000f8b: CALLER
00000f8c: EQ
00000f8d: PUSH2 0x0f95
00000f90: JUMPI
00000f91: PUSH1 0x00
00000f93: DUP1
00000f94: REVERT
00000f95: JUMPDEST
00000f96: PUSH1 0x06
00000f98: SWAP2
00000f99: SWAP1
00000f9a: SWAP2
00000f9b: SSTORE
00000f9c: PUSH1 0x07
00000f9e: SSTORE
00000f9f: JUMP
00000fa0: JUMPDEST
00000fa1: PUSH1 0x05
00000fa3: SLOAD
00000fa4: PUSH1 0x01
00000fa6: PUSH1 0xa0
00000fa8: PUSH1 0x02
00000faa: EXP
00000fab: SUB
00000fac: AND
00000fad: CALLER
00000fae: EQ
00000faf: DUP1
00000fb0: PUSH2 0x0fc3
00000fb3: JUMPI
00000fb4: POP
00000fb5: PUSH1 0x04
00000fb7: SLOAD
00000fb8: PUSH1 0x01
00000fba: PUSH1 0xa0
00000fbc: PUSH1 0x02
00000fbe: EXP
00000fbf: SUB
00000fc0: AND
00000fc1: CALLER
00000fc2: EQ
00000fc3: JUMPDEST
00000fc4: ISZERO
00000fc5: ISZERO
00000fc6: PUSH2 0x0fce
00000fc9: JUMPI
00000fca: PUSH1 0x00
00000fcc: DUP1
00000fcd: REVERT
00000fce: JUMPDEST
00000fcf: PUSH2 0x0fd6
00000fd2: PUSH2 0x28f6
00000fd5: JUMP
00000fd6: JUMPDEST
00000fd7: PUSH2 0x0fe4
00000fda: DUP8
00000fdb: DUP8
00000fdc: DUP8
00000fdd: DUP8
00000fde: DUP8
00000fdf: DUP8
00000fe0: PUSH2 0x20c6
00000fe3: JUMP
00000fe4: JUMPDEST
00000fe5: SWAP1
00000fe6: POP
00000fe7: DUP1
00000fe8: PUSH2 0x0140
00000feb: ADD
00000fec: MLOAD
00000fed: ISZERO
00000fee: ISZERO
00000fef: PUSH2 0x104d
00000ff2: JUMPI
00000ff3: DUP5
00000ff4: PUSH1 0x01
00000ff6: PUSH1 0xa0
00000ff8: PUSH1 0x02
00000ffa: EXP
00000ffb: SUB
00000ffc: AND
00000ffd: DUP7
00000ffe: PUSH1 0x01
00001000: PUSH1 0xa0
00001002: PUSH1 0x02
00001004: EXP
00001005: SUB
00001006: AND
00001007: DUP9
00001008: PUSH1 0x01
0000100a: PUSH1 0xa0
0000100c: PUSH1 0x02
0000100e: EXP
0000100f: SUB
00001010: AND
00001011: PUSH32 0xc1531feda6d23335db09b299c543c38f3d381e9d0f188d620a2bfaa6b2a740b7
00001032: TIMESTAMP
00001033: PUSH1 0x40
00001035: MLOAD
00001036: DUP1
00001037: DUP3
00001038: DUP2
00001039: MSTORE
0000103a: PUSH1 0x20
0000103c: ADD
0000103d: SWAP2
0000103e: POP
0000103f: POP
00001040: PUSH1 0x40
00001042: MLOAD
00001043: DUP1
00001044: SWAP2
00001045: SUB
00001046: SWAP1
00001047: LOG4
00001048: POP
00001049: PUSH2 0x1716
0000104c: JUMP
0000104d: JUMPDEST
0000104e: PUSH1 0x00
00001050: DUP1
00001051: DUP7
00001052: PUSH1 0x01
00001054: PUSH1 0xa0
00001056: PUSH1 0x02
00001058: EXP
00001059: SUB
0000105a: AND
0000105b: DUP10
0000105c: PUSH1 0x01
0000105e: PUSH1 0xa0
00001060: PUSH1 0x02
00001062: EXP
00001063: SUB
00001064: AND
00001065: EQ
00001066: ISZERO
00001067: PUSH2 0x1319
0000106a: JUMPI
0000106b: PUSH2 0x107b
0000106e: DUP5
0000106f: DUP11
00001070: DUP6
00001071: PUSH2 0x0100
00001074: ADD
00001075: MLOAD
00001076: DUP12
00001077: PUSH2 0x2731
0000107a: JUMP
0000107b: JUMPDEST
0000107c: PUSH1 0x00
0000107e: DUP1
0000107f: SLOAD
00001080: PUSH1 0x40
00001082: DUP1
00001083: MLOAD
00001084: PUSH32 0x47e7ef2400000000000000000000000000000000000000000000000000000000
000010a5: DUP2
000010a6: MSTORE
000010a7: PUSH1 0x01
000010a9: PUSH1 0xa0
000010ab: PUSH1 0x02
000010ad: EXP
000010ae: SUB
000010af: DUP14
000010b0: DUP2
000010b1: AND
000010b2: PUSH1 0x04
000010b4: DUP4
000010b5: ADD
000010b6: MSTORE
000010b7: PUSH1 0x24
000010b9: DUP3
000010ba: ADD
000010bb: DUP7
000010bc: SWAP1
000010bd: MSTORE
000010be: SWAP2
000010bf: MLOAD
000010c0: SWAP5
000010c1: SWAP7
000010c2: POP
000010c3: SWAP2
000010c4: AND
000010c5: SWAP3
000010c6: PUSH4 0x47e7ef24
000010cb: SWAP3
000010cc: PUSH1 0x44
000010ce: DUP1
000010cf: DUP5
000010d0: ADD
000010d1: SWAP4
000010d2: PUSH1 0x20
000010d4: SWAP4
000010d5: SWAP3
000010d6: SWAP1
000010d7: DUP4
000010d8: SWAP1
000010d9: SUB
000010da: SWAP1
000010db: SWAP2
000010dc: ADD
000010dd: SWAP1
000010de: DUP3
000010df: SWAP1
000010e0: DUP8
000010e1: DUP1
000010e2: EXTCODESIZE
000010e3: ISZERO
000010e4: DUP1
000010e5: ISZERO
000010e6: PUSH2 0x10ee
000010e9: JUMPI
000010ea: PUSH1 0x00
000010ec: DUP1
000010ed: REVERT
000010ee: JUMPDEST
000010ef: POP
000010f0: GAS
000010f1: CALL
000010f2: ISZERO
000010f3: DUP1
000010f4: ISZERO
000010f5: PUSH2 0x1102
000010f8: JUMPI
000010f9: RETURNDATASIZE
000010fa: PUSH1 0x00
000010fc: DUP1
000010fd: RETURNDATACOPY
000010fe: RETURNDATASIZE
000010ff: PUSH1 0x00
00001101: REVERT
00001102: JUMPDEST
00001103: POP
00001104: POP
00001105: POP
00001106: POP
00001107: PUSH1 0x40
00001109: MLOAD
0000110a: RETURNDATASIZE
0000110b: PUSH1 0x20
0000110d: DUP2
0000110e: LT
0000110f: ISZERO
00001110: PUSH2 0x1118
00001113: JUMPI
00001114: PUSH1 0x00
00001116: DUP1
00001117: REVERT
00001118: JUMPDEST
00001119: POP
0000111a: POP
0000111b: PUSH1 0x00
0000111d: DUP1
0000111e: SLOAD
0000111f: DUP5
00001120: MLOAD
00001121: PUSH1 0x40
00001123: DUP1
00001124: MLOAD
00001125: PUSH32 0x5e7f22c200000000000000000000000000000000000000000000000000000000
00001146: DUP2
00001147: MSTORE
00001148: PUSH1 0x01
0000114a: PUSH1 0xa0
0000114c: PUSH1 0x02
0000114e: EXP
0000114f: SUB
00001150: DUP15
00001151: DUP2
00001152: AND
00001153: PUSH1 0x04
00001155: DUP4
00001156: ADD
00001157: MSTORE
00001158: DUP14
00001159: DUP2
0000115a: AND
0000115b: PUSH1 0x24
0000115d: DUP4
0000115e: ADD
0000115f: MSTORE
00001160: PUSH1 0x44
00001162: DUP3
00001163: ADD
00001164: SWAP4
00001165: SWAP1
00001166: SWAP4
00001167: MSTORE
00001168: PUSH1 0x64
0000116a: DUP2
0000116b: ADD
0000116c: DUP8
0000116d: SWAP1
0000116e: MSTORE
0000116f: SWAP1
00001170: MLOAD
00001171: SWAP2
00001172: SWAP1
00001173: SWAP3
00001174: AND
00001175: SWAP3
00001176: PUSH4 0x5e7f22c2
0000117b: SWAP3
0000117c: PUSH1 0x84
0000117e: DUP1
0000117f: DUP3
00001180: ADD
00001181: SWAP4
00001182: PUSH1 0x20
00001184: SWAP4
00001185: SWAP1
00001186: SWAP3
00001187: DUP4
00001188: SWAP1
00001189: SUB
0000118a: SWAP1
0000118b: SWAP2
0000118c: ADD
0000118d: SWAP1
0000118e: DUP3
0000118f: SWAP1
00001190: DUP8
00001191: DUP1
00001192: EXTCODESIZE
00001193: ISZERO
00001194: DUP1
00001195: ISZERO
00001196: PUSH2 0x119e
00001199: JUMPI
0000119a: PUSH1 0x00
0000119c: DUP1
0000119d: REVERT
0000119e: JUMPDEST
0000119f: POP
000011a0: GAS
000011a1: CALL
000011a2: ISZERO
000011a3: DUP1
000011a4: ISZERO
000011a5: PUSH2 0x11b2
000011a8: JUMPI
000011a9: RETURNDATASIZE
000011aa: PUSH1 0x00
000011ac: DUP1
000011ad: RETURNDATACOPY
000011ae: RETURNDATASIZE
000011af: PUSH1 0x00
000011b1: REVERT
000011b2: JUMPDEST
000011b3: POP
000011b4: POP
000011b5: POP
000011b6: POP
000011b7: PUSH1 0x40
000011b9: MLOAD
000011ba: RETURNDATASIZE
000011bb: PUSH1 0x20
000011bd: DUP2
000011be: LT
000011bf: ISZERO
000011c0: PUSH2 0x11c8
000011c3: JUMPI
000011c4: PUSH1 0x00
000011c6: DUP1
000011c7: REVERT
000011c8: JUMPDEST
000011c9: POP
000011ca: POP
000011cb: PUSH1 0x00
000011cd: DUP1
000011ce: SLOAD
000011cf: DUP5
000011d0: MLOAD
000011d1: PUSH1 0x40
000011d3: DUP1
000011d4: MLOAD
000011d5: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000
000011f6: DUP2
000011f7: MSTORE
000011f8: PUSH1 0x01
000011fa: PUSH1 0xa0
000011fc: PUSH1 0x02
000011fe: EXP
000011ff: SUB
00001200: DUP15
00001201: DUP2
00001202: AND
00001203: PUSH1 0x04
00001205: DUP4
00001206: ADD
00001207: MSTORE
00001208: DUP14
00001209: DUP2
0000120a: AND
0000120b: PUSH1 0x24
0000120d: DUP4
0000120e: ADD
0000120f: MSTORE
00001210: ADDRESS
00001211: PUSH1 0x44
00001213: DUP4
00001214: ADD
00001215: MSTORE
00001216: PUSH1 0x64
00001218: DUP3
00001219: ADD
0000121a: SWAP4
0000121b: SWAP1
0000121c: SWAP4
0000121d: MSTORE
0000121e: DUP2
0000121f: MLOAD
00001220: SWAP3
00001221: SWAP1
00001222: SWAP4
00001223: AND
00001224: SWAP4
00001225: PUSH4 0xb0293850
0000122a: SWAP4
0000122b: PUSH1 0x84
0000122d: DUP1
0000122e: DUP3
0000122f: ADD
00001230: SWAP5
00001231: SWAP3
00001232: SWAP2
00001233: DUP4
00001234: SWAP1
00001235: SUB
00001236: ADD
00001237: SWAP1
00001238: DUP3
00001239: SWAP1
0000123a: DUP8
0000123b: DUP1
0000123c: EXTCODESIZE
0000123d: ISZERO
0000123e: DUP1
0000123f: ISZERO
00001240: PUSH2 0x1248
00001243: JUMPI
00001244: PUSH1 0x00
00001246: DUP1
00001247: REVERT
00001248: JUMPDEST
00001249: POP
0000124a: GAS
0000124b: CALL
0000124c: ISZERO
0000124d: DUP1
0000124e: ISZERO
0000124f: PUSH2 0x125c
00001252: JUMPI
00001253: RETURNDATASIZE
00001254: PUSH1 0x00
00001256: DUP1
00001257: RETURNDATACOPY
00001258: RETURNDATASIZE
00001259: PUSH1 0x00
0000125b: REVERT
0000125c: JUMPDEST
0000125d: POP
0000125e: POP
0000125f: POP
00001260: POP
00001261: PUSH1 0x40
00001263: MLOAD
00001264: RETURNDATASIZE
00001265: PUSH1 0x40
00001267: DUP2
00001268: LT
00001269: ISZERO
0000126a: PUSH2 0x1272
0000126d: JUMPI
0000126e: PUSH1 0x00
00001270: DUP1
00001271: REVERT
00001272: JUMPDEST
00001273: POP
00001274: MLOAD
00001275: PUSH1 0x00
00001277: DUP1
00001278: SLOAD
00001279: PUSH1 0x40
0000127b: DUP1
0000127c: MLOAD
0000127d: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000
0000129e: DUP2
0000129f: MSTORE
000012a0: PUSH1 0x01
000012a2: PUSH1 0xa0
000012a4: PUSH1 0x02
000012a6: EXP
000012a7: SUB
000012a8: DUP15
000012a9: DUP2
000012aa: AND
000012ab: PUSH1 0x04
000012ad: DUP4
000012ae: ADD
000012af: MSTORE
000012b0: PUSH1 0x24
000012b2: DUP3
000012b3: ADD
000012b4: DUP7
000012b5: SWAP1
000012b6: MSTORE
000012b7: SWAP2
000012b8: MLOAD
000012b9: SWAP5
000012ba: SWAP6
000012bb: POP
000012bc: SWAP2
000012bd: AND
000012be: SWAP3
000012bf: PUSH4 0xf3fef3a3
000012c4: SWAP3
000012c5: PUSH1 0x44
000012c7: DUP1
000012c8: DUP5
000012c9: ADD
000012ca: SWAP4
000012cb: PUSH1 0x20
000012cd: SWAP4
000012ce: SWAP3
000012cf: SWAP1
000012d0: DUP4
000012d1: SWAP1
000012d2: SUB
000012d3: SWAP1
000012d4: SWAP2
000012d5: ADD
000012d6: SWAP1
000012d7: DUP3
000012d8: SWAP1
000012d9: DUP8
000012da: DUP1
000012db: EXTCODESIZE
000012dc: ISZERO
000012dd: DUP1
000012de: ISZERO
000012df: PUSH2 0x12e7
000012e2: JUMPI
000012e3: PUSH1 0x00
000012e5: DUP1
000012e6: REVERT
000012e7: JUMPDEST
000012e8: POP
000012e9: GAS
000012ea: CALL
000012eb: ISZERO
000012ec: DUP1
000012ed: ISZERO
000012ee: PUSH2 0x12fb
000012f1: JUMPI
000012f2: RETURNDATASIZE
000012f3: PUSH1 0x00
000012f5: DUP1
000012f6: RETURNDATACOPY
000012f7: RETURNDATASIZE
000012f8: PUSH1 0x00
000012fa: REVERT
000012fb: JUMPDEST
000012fc: POP
000012fd: POP
000012fe: POP
000012ff: POP
00001300: PUSH1 0x40
00001302: MLOAD
00001303: RETURNDATASIZE
00001304: PUSH1 0x20
00001306: DUP2
00001307: LT
00001308: ISZERO
00001309: PUSH2 0x1311
0000130c: JUMPI
0000130d: PUSH1 0x00
0000130f: DUP1
00001310: REVERT
00001311: JUMPDEST
00001312: POP
00001313: PUSH2 0x15cd
00001316: SWAP1
00001317: POP
00001318: JUMP
00001319: JUMPDEST
0000131a: PUSH1 0x00
0000131c: DUP1
0000131d: SLOAD
0000131e: PUSH2 0x0100
00001321: DUP6
00001322: ADD
00001323: MLOAD
00001324: PUSH1 0x40
00001326: DUP1
00001327: MLOAD
00001328: PUSH32 0x47e7ef2400000000000000000000000000000000000000000000000000000000
00001349: DUP2
0000134a: MSTORE
0000134b: PUSH1 0x01
0000134d: PUSH1 0xa0
0000134f: PUSH1 0x02
00001351: EXP
00001352: SUB
00001353: DUP14
00001354: DUP2
00001355: AND
00001356: PUSH1 0x04
00001358: DUP4
00001359: ADD
0000135a: MSTORE
0000135b: PUSH1 0x24
0000135d: DUP3
0000135e: ADD
0000135f: SWAP4
00001360: SWAP1
00001361: SWAP4
00001362: MSTORE
00001363: SWAP1
00001364: MLOAD
00001365: SWAP2
00001366: SWAP1
00001367: SWAP3
00001368: AND
00001369: SWAP3
0000136a: PUSH4 0x47e7ef24
0000136f: SWAP3
00001370: PUSH1 0x44
00001372: DUP1
00001373: DUP3
00001374: ADD
00001375: SWAP4
00001376: PUSH1 0x20
00001378: SWAP4
00001379: SWAP1
0000137a: SWAP3
0000137b: DUP4
0000137c: SWAP1
0000137d: SUB
0000137e: SWAP1
0000137f: SWAP2
00001380: ADD
00001381: SWAP1
00001382: DUP3
00001383: SWAP1
00001384: DUP8
00001385: DUP1
00001386: EXTCODESIZE
00001387: ISZERO
00001388: DUP1
00001389: ISZERO
0000138a: PUSH2 0x1392
0000138d: JUMPI
0000138e: PUSH1 0x00
00001390: DUP1
00001391: REVERT
00001392: JUMPDEST
00001393: POP
00001394: GAS
00001395: CALL
00001396: ISZERO
00001397: DUP1
00001398: ISZERO
00001399: PUSH2 0x13a6
0000139c: JUMPI
0000139d: RETURNDATASIZE
0000139e: PUSH1 0x00
000013a0: DUP1
000013a1: RETURNDATACOPY
000013a2: RETURNDATASIZE
000013a3: PUSH1 0x00
000013a5: REVERT
000013a6: JUMPDEST
000013a7: POP
000013a8: POP
000013a9: POP
000013aa: POP
000013ab: PUSH1 0x40
000013ad: MLOAD
000013ae: RETURNDATASIZE
000013af: PUSH1 0x20
000013b1: DUP2
000013b2: LT
000013b3: ISZERO
000013b4: PUSH2 0x13bc
000013b7: JUMPI
000013b8: PUSH1 0x00
000013ba: DUP1
000013bb: REVERT
000013bc: JUMPDEST
000013bd: POP
000013be: POP
000013bf: PUSH1 0x00
000013c1: DUP1
000013c2: SLOAD
000013c3: DUP5
000013c4: MLOAD
000013c5: PUSH2 0x0100
000013c8: DUP7
000013c9: ADD
000013ca: MLOAD
000013cb: PUSH1 0x40
000013cd: DUP1
000013ce: MLOAD
000013cf: PUSH32 0x5e7f22c200000000000000000000000000000000000000000000000000000000
000013f0: DUP2
000013f1: MSTORE
000013f2: PUSH1 0x01
000013f4: PUSH1 0xa0
000013f6: PUSH1 0x02
000013f8: EXP
000013f9: SUB
000013fa: DUP16
000013fb: DUP2
000013fc: AND
000013fd: PUSH1 0x04
000013ff: DUP4
00001400: ADD
00001401: MSTORE
00001402: DUP15
00001403: DUP2
00001404: AND
00001405: PUSH1 0x24
00001407: DUP4
00001408: ADD
00001409: MSTORE
0000140a: PUSH1 0x44
0000140c: DUP3
0000140d: ADD
0000140e: SWAP5
0000140f: SWAP1
00001410: SWAP5
00001411: MSTORE
00001412: PUSH1 0x64
00001414: DUP2
00001415: ADD
00001416: SWAP3
00001417: SWAP1
00001418: SWAP3
00001419: MSTORE
0000141a: MLOAD
0000141b: SWAP2
0000141c: SWAP1
0000141d: SWAP3
0000141e: AND
0000141f: SWAP3
00001420: PUSH4 0x5e7f22c2
00001425: SWAP3
00001426: PUSH1 0x84
00001428: DUP1
00001429: DUP3
0000142a: ADD
0000142b: SWAP4
0000142c: PUSH1 0x20
0000142e: SWAP4
0000142f: SWAP1
00001430: SWAP3
00001431: DUP4
00001432: SWAP1
00001433: SUB
00001434: SWAP1
00001435: SWAP2
00001436: ADD
00001437: SWAP1
00001438: DUP3
00001439: SWAP1
0000143a: DUP8
0000143b: DUP1
0000143c: EXTCODESIZE
0000143d: ISZERO
0000143e: DUP1
0000143f: ISZERO
00001440: PUSH2 0x1448
00001443: JUMPI
00001444: PUSH1 0x00
00001446: DUP1
00001447: REVERT
00001448: JUMPDEST
00001449: POP
0000144a: GAS
0000144b: CALL
0000144c: ISZERO
0000144d: DUP1
0000144e: ISZERO
0000144f: PUSH2 0x145c
00001452: JUMPI
00001453: RETURNDATASIZE
00001454: PUSH1 0x00
00001456: DUP1
00001457: RETURNDATACOPY
00001458: RETURNDATASIZE
00001459: PUSH1 0x00
0000145b: REVERT
0000145c: JUMPDEST
0000145d: POP
0000145e: POP
0000145f: POP
00001460: POP
00001461: PUSH1 0x40
00001463: MLOAD
00001464: RETURNDATASIZE
00001465: PUSH1 0x20
00001467: DUP2
00001468: LT
00001469: ISZERO
0000146a: PUSH2 0x1472
0000146d: JUMPI
0000146e: PUSH1 0x00
00001470: DUP1
00001471: REVERT
00001472: JUMPDEST
00001473: POP
00001474: POP
00001475: PUSH1 0x00
00001477: DUP1
00001478: SLOAD
00001479: DUP5
0000147a: MLOAD
0000147b: PUSH1 0x40
0000147d: DUP1
0000147e: MLOAD
0000147f: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000
000014a0: DUP2
000014a1: MSTORE
000014a2: PUSH1 0x01
000014a4: PUSH1 0xa0
000014a6: PUSH1 0x02
000014a8: EXP
000014a9: SUB
000014aa: DUP15
000014ab: DUP2
000014ac: AND
000014ad: PUSH1 0x04
000014af: DUP4
000014b0: ADD
000014b1: MSTORE
000014b2: DUP14
000014b3: DUP2
000014b4: AND
000014b5: PUSH1 0x24
000014b7: DUP4
000014b8: ADD
000014b9: MSTORE
000014ba: ADDRESS
000014bb: PUSH1 0x44
000014bd: DUP4
000014be: ADD
000014bf: MSTORE
000014c0: PUSH1 0x64
000014c2: DUP3
000014c3: ADD
000014c4: SWAP4
000014c5: SWAP1
000014c6: SWAP4
000014c7: MSTORE
000014c8: DUP2
000014c9: MLOAD
000014ca: SWAP3
000014cb: SWAP1
000014cc: SWAP4
000014cd: AND
000014ce: SWAP4
000014cf: PUSH4 0xb0293850
000014d4: SWAP4
000014d5: PUSH1 0x84
000014d7: DUP1
000014d8: DUP3
000014d9: ADD
000014da: SWAP5
000014db: SWAP3
000014dc: SWAP2
000014dd: DUP4
000014de: SWAP1
000014df: SUB
000014e0: ADD
000014e1: SWAP1
000014e2: DUP3
000014e3: SWAP1
000014e4: DUP8
000014e5: DUP1
000014e6: EXTCODESIZE
000014e7: ISZERO
000014e8: DUP1
000014e9: ISZERO
000014ea: PUSH2 0x14f2
000014ed: JUMPI
000014ee: PUSH1 0x00
000014f0: DUP1
000014f1: REVERT
000014f2: JUMPDEST
000014f3: POP
000014f4: GAS
000014f5: CALL
000014f6: ISZERO
000014f7: DUP1
000014f8: ISZERO
000014f9: PUSH2 0x1506
000014fc: JUMPI
000014fd: RETURNDATASIZE
000014fe: PUSH1 0x00
00001500: DUP1
00001501: RETURNDATACOPY
00001502: RETURNDATASIZE
00001503: PUSH1 0x00
00001505: REVERT
00001506: JUMPDEST
00001507: POP
00001508: POP
00001509: POP
0000150a: POP
0000150b: PUSH1 0x40
0000150d: MLOAD
0000150e: RETURNDATASIZE
0000150f: PUSH1 0x40
00001511: DUP2
00001512: LT
00001513: ISZERO
00001514: PUSH2 0x151c
00001517: JUMPI
00001518: PUSH1 0x00
0000151a: DUP1
0000151b: REVERT
0000151c: JUMPDEST
0000151d: POP
0000151e: MLOAD
0000151f: PUSH1 0x00
00001521: DUP1
00001522: SLOAD
00001523: PUSH1 0x40
00001525: DUP1
00001526: MLOAD
00001527: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000
00001548: DUP2
00001549: MSTORE
0000154a: PUSH1 0x01
0000154c: PUSH1 0xa0
0000154e: PUSH1 0x02
00001550: EXP
00001551: SUB
00001552: DUP15
00001553: DUP2
00001554: AND
00001555: PUSH1 0x04
00001557: DUP4
00001558: ADD
00001559: MSTORE
0000155a: PUSH1 0x24
0000155c: DUP3
0000155d: ADD
0000155e: DUP7
0000155f: SWAP1
00001560: MSTORE
00001561: SWAP2
00001562: MLOAD
00001563: SWAP5
00001564: SWAP7
00001565: POP
00001566: SWAP2
00001567: AND
00001568: SWAP3
00001569: PUSH4 0xf3fef3a3
0000156e: SWAP3
0000156f: PUSH1 0x44
00001571: DUP1
00001572: DUP5
00001573: ADD
00001574: SWAP4
00001575: PUSH1 0x20
00001577: SWAP4
00001578: SWAP3
00001579: SWAP1
0000157a: DUP4
0000157b: SWAP1
0000157c: SUB
0000157d: SWAP1
0000157e: SWAP2
0000157f: ADD
00001580: SWAP1
00001581: DUP3
00001582: SWAP1
00001583: DUP8
00001584: DUP1
00001585: EXTCODESIZE
00001586: ISZERO
00001587: DUP1
00001588: ISZERO
00001589: PUSH2 0x1591
0000158c: JUMPI
0000158d: PUSH1 0x00
0000158f: DUP1
00001590: REVERT
00001591: JUMPDEST
00001592: POP
00001593: GAS
00001594: CALL
00001595: ISZERO
00001596: DUP1
00001597: ISZERO
00001598: PUSH2 0x15a5
0000159b: JUMPI
0000159c: RETURNDATASIZE
0000159d: PUSH1 0x00
0000159f: DUP1
000015a0: RETURNDATACOPY
000015a1: RETURNDATASIZE
000015a2: PUSH1 0x00
000015a4: REVERT
000015a5: JUMPDEST
000015a6: POP
000015a7: POP
000015a8: POP
000015a9: POP
000015aa: PUSH1 0x40
000015ac: MLOAD
000015ad: RETURNDATASIZE
000015ae: PUSH1 0x20
000015b0: DUP2
000015b1: LT
000015b2: ISZERO
000015b3: PUSH2 0x15bb
000015b6: JUMPI
000015b7: PUSH1 0x00
000015b9: DUP1
000015ba: REVERT
000015bb: JUMPDEST
000015bc: POP
000015bd: PUSH2 0x15ca
000015c0: SWAP1
000015c1: POP
000015c2: DUP5
000015c3: DUP11
000015c4: DUP5
000015c5: DUP12
000015c6: PUSH2 0x2731
000015c9: JUMP
000015ca: JUMPDEST
000015cb: SWAP1
000015cc: POP
000015cd: JUMPDEST
000015ce: DUP3
000015cf: PUSH1 0x00
000015d1: ADD
000015d2: MLOAD
000015d3: PUSH1 0x0a
000015d5: PUSH1 0x00
000015d7: PUSH1 0x0c
000015d9: SLOAD
000015da: DUP2
000015db: MSTORE
000015dc: PUSH1 0x20
000015de: ADD
000015df: SWAP1
000015e0: DUP2
000015e1: MSTORE
000015e2: PUSH1 0x20
000015e4: ADD
000015e5: PUSH1 0x00
000015e7: KECCAK256
000015e8: PUSH1 0x00
000015ea: ADD
000015eb: DUP2
000015ec: SWAP1
000015ed: SSTORE
000015ee: POP
000015ef: DUP9
000015f0: PUSH1 0x0a
000015f2: PUSH1 0x00
000015f4: PUSH1 0x0c
000015f6: SLOAD
000015f7: DUP2
000015f8: MSTORE
000015f9: PUSH1 0x20
000015fb: ADD
000015fc: SWAP1
000015fd: DUP2
000015fe: MSTORE
000015ff: PUSH1 0x20
00001601: ADD
00001602: PUSH1 0x00
00001604: KECCAK256
00001605: PUSH1 0x01
00001607: ADD
00001608: PUSH1 0x00
0000160a: PUSH2 0x0100
0000160d: EXP
0000160e: DUP2
0000160f: SLOAD
00001610: DUP2
00001611: PUSH1 0x01
00001613: PUSH1 0xa0
00001615: PUSH1 0x02
00001617: EXP
00001618: SUB
00001619: MUL
0000161a: NOT
0000161b: AND
0000161c: SWAP1
0000161d: DUP4
0000161e: PUSH1 0x01
00001620: PUSH1 0xa0
00001622: PUSH1 0x02
00001624: EXP
00001625: SUB
00001626: AND
00001627: MUL
00001628: OR
00001629: SWAP1
0000162a: SSTORE
0000162b: POP
0000162c: DUP8
0000162d: PUSH1 0x0a
0000162f: PUSH1 0x00
00001631: PUSH1 0x0c
00001633: SLOAD
00001634: DUP2
00001635: MSTORE
00001636: PUSH1 0x20
00001638: ADD
00001639: SWAP1
0000163a: DUP2
0000163b: MSTORE
0000163c: PUSH1 0x20
0000163e: ADD
0000163f: PUSH1 0x00
00001641: KECCAK256
00001642: PUSH1 0x02
00001644: ADD
00001645: PUSH1 0x00
00001647: PUSH2 0x0100
0000164a: EXP
0000164b: DUP2
0000164c: SLOAD
0000164d: DUP2
0000164e: PUSH1 0x01
00001650: PUSH1 0xa0
00001652: PUSH1 0x02
00001654: EXP
00001655: SUB
00001656: MUL
00001657: NOT
00001658: AND
00001659: SWAP1
0000165a: DUP4
0000165b: PUSH1 0x01
0000165d: PUSH1 0xa0
0000165f: PUSH1 0x02
00001661: EXP
00001662: SUB
00001663: AND
00001664: MUL
00001665: OR
00001666: SWAP1
00001667: SSTORE
00001668: POP
00001669: DUP7
0000166a: PUSH1 0x0a
0000166c: PUSH1 0x00
0000166e: PUSH1 0x0c
00001670: SLOAD
00001671: DUP2
00001672: MSTORE
00001673: PUSH1 0x20
00001675: ADD
00001676: SWAP1
00001677: DUP2
00001678: MSTORE
00001679: PUSH1 0x20
0000167b: ADD
0000167c: PUSH1 0x00
0000167e: KECCAK256
0000167f: PUSH1 0x03
00001681: ADD
00001682: PUSH1 0x00
00001684: PUSH2 0x0100
00001687: EXP
00001688: DUP2
00001689: SLOAD
0000168a: DUP2
0000168b: PUSH1 0x01
0000168d: PUSH1 0xa0
0000168f: PUSH1 0x02
00001691: EXP
00001692: SUB
00001693: MUL
00001694: NOT
00001695: AND
00001696: SWAP1
00001697: DUP4
00001698: PUSH1 0x01
0000169a: PUSH1 0xa0
0000169c: PUSH1 0x02
0000169e: EXP
0000169f: SUB
000016a0: AND
000016a1: MUL
000016a2: OR
000016a3: SWAP1
000016a4: SSTORE
000016a5: POP
000016a6: DUP3
000016a7: PUSH2 0x0100
000016aa: ADD
000016ab: MLOAD
000016ac: PUSH1 0x0a
000016ae: PUSH1 0x00
000016b0: PUSH1 0x0c
000016b2: SLOAD
000016b3: DUP2
000016b4: MSTORE
000016b5: PUSH1 0x20
000016b7: ADD
000016b8: SWAP1
000016b9: DUP2
000016ba: MSTORE
000016bb: PUSH1 0x20
000016bd: ADD
000016be: PUSH1 0x00
000016c0: KECCAK256
000016c1: PUSH1 0x04
000016c3: ADD
000016c4: DUP2
000016c5: SWAP1
000016c6: SSTORE
000016c7: POP
000016c8: DUP1
000016c9: PUSH1 0x0a
000016cb: PUSH1 0x00
000016cd: PUSH1 0x0c
000016cf: SLOAD
000016d0: DUP2
000016d1: MSTORE
000016d2: PUSH1 0x20
000016d4: ADD
000016d5: SWAP1
000016d6: DUP2
000016d7: MSTORE
000016d8: PUSH1 0x20
000016da: ADD
000016db: PUSH1 0x00
000016dd: KECCAK256
000016de: PUSH1 0x05
000016e0: ADD
000016e1: DUP2
000016e2: SWAP1
000016e3: SSTORE
000016e4: POP
000016e5: DUP4
000016e6: PUSH1 0x0a
000016e8: PUSH1 0x00
000016ea: PUSH1 0x0c
000016ec: SLOAD
000016ed: DUP2
000016ee: MSTORE
000016ef: PUSH1 0x20
000016f1: ADD
000016f2: SWAP1
000016f3: DUP2
000016f4: MSTORE
000016f5: PUSH1 0x20
000016f7: ADD
000016f8: PUSH1 0x00
000016fa: KECCAK256
000016fb: PUSH1 0x06
000016fd: ADD
000016fe: DUP2
000016ff: SWAP1
00001700: SSTORE
00001701: POP
00001702: PUSH1 0x01
00001704: PUSH1 0x0c
00001706: PUSH1 0x00
00001708: DUP3
00001709: DUP3
0000170a: SLOAD
0000170b: ADD
0000170c: SWAP3
0000170d: POP
0000170e: POP
0000170f: DUP2
00001710: SWAP1
00001711: SSTORE
00001712: POP
00001713: POP
00001714: POP
00001715: POP
00001716: JUMPDEST
00001717: POP
00001718: POP
00001719: POP
0000171a: POP
0000171b: POP
0000171c: POP
0000171d: JUMP
0000171e: JUMPDEST
0000171f: PUSH1 0x04
00001721: SLOAD
00001722: PUSH1 0x00
00001724: SWAP1
00001725: PUSH1 0x01
00001727: PUSH1 0xa0
00001729: PUSH1 0x02
0000172b: EXP
0000172c: SUB
0000172d: AND
0000172e: CALLER
0000172f: EQ
00001730: PUSH2 0x1738
00001733: JUMPI
00001734: PUSH1 0x00
00001736: DUP1
00001737: REVERT
00001738: JUMPDEST
00001739: PUSH2 0x1741
0000173c: DUP5
0000173d: PUSH2 0x19c8
00001740: JUMP
00001741: JUMPDEST
00001742: PUSH2 0x174a
00001745: DUP4
00001746: PUSH2 0x19c8
00001749: JUMP
0000174a: JUMPDEST
0000174b: PUSH1 0x03
0000174d: PUSH1 0x00
0000174f: SWAP1
00001750: SLOAD
00001751: SWAP1
00001752: PUSH2 0x0100
00001755: EXP
00001756: SWAP1
00001757: DIV
00001758: PUSH1 0x01
0000175a: PUSH1 0xa0
0000175c: PUSH1 0x02
0000175e: EXP
0000175f: SUB
00001760: AND
00001761: PUSH1 0x01
00001763: PUSH1 0xa0
00001765: PUSH1 0x02
00001767: EXP
00001768: SUB
00001769: AND
0000176a: PUSH4 0xd0e30db0
0000176f: CALLVALUE
00001770: PUSH1 0x40
00001772: MLOAD
00001773: DUP3
00001774: PUSH4 0xffffffff
00001779: AND
0000177a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001798: MUL
00001799: DUP2
0000179a: MSTORE
0000179b: PUSH1 0x04
0000179d: ADD
0000179e: PUSH1 0x00
000017a0: PUSH1 0x40
000017a2: MLOAD
000017a3: DUP1
000017a4: DUP4
000017a5: SUB
000017a6: DUP2
000017a7: DUP6
000017a8: DUP9
000017a9: DUP1
000017aa: EXTCODESIZE
000017ab: ISZERO
000017ac: DUP1
000017ad: ISZERO
000017ae: PUSH2 0x17b6
000017b1: JUMPI
000017b2: PUSH1 0x00
000017b4: DUP1
000017b5: REVERT
000017b6: JUMPDEST
000017b7: POP
000017b8: GAS
000017b9: CALL
000017ba: ISZERO
000017bb: DUP1
000017bc: ISZERO
000017bd: PUSH2 0x17ca
000017c0: JUMPI
000017c1: RETURNDATASIZE
000017c2: PUSH1 0x00
000017c4: DUP1
000017c5: RETURNDATACOPY
000017c6: RETURNDATASIZE
000017c7: PUSH1 0x00
000017c9: REVERT
000017ca: JUMPDEST
000017cb: POP
000017cc: POP
000017cd: PUSH1 0x03
000017cf: SLOAD
000017d0: PUSH1 0x01
000017d2: PUSH1 0xa0
000017d4: PUSH1 0x02
000017d6: EXP
000017d7: SUB
000017d8: DUP9
000017d9: DUP2
000017da: AND
000017db: SWAP2
000017dc: AND
000017dd: EQ
000017de: ISZERO
000017df: SWAP3
000017e0: POP
000017e1: PUSH2 0x1837
000017e4: SWAP2
000017e5: POP
000017e6: POP
000017e7: JUMPI
000017e8: PUSH1 0x03
000017ea: SLOAD
000017eb: PUSH1 0x40
000017ed: DUP1
000017ee: MLOAD
000017ef: CALLVALUE
000017f0: DUP2
000017f1: MSTORE
000017f2: TIMESTAMP
000017f3: PUSH1 0x20
000017f5: DUP3
000017f6: ADD
000017f7: MSTORE
000017f8: DUP2
000017f9: MLOAD
000017fa: PUSH1 0x01
000017fc: PUSH1 0xa0
000017fe: PUSH1 0x02
00001800: EXP
00001801: SUB
00001802: SWAP1
00001803: SWAP4
00001804: AND
00001805: SWAP3
00001806: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15
00001827: SWAP3
00001828: SWAP2
00001829: DUP2
0000182a: SWAP1
0000182b: SUB
0000182c: SWAP1
0000182d: SWAP2
0000182e: ADD
0000182f: SWAP1
00001830: LOG2
00001831: POP
00001832: CALLVALUE
00001833: PUSH2 0x189e
00001836: JUMP
00001837: JUMPDEST
00001838: PUSH1 0x03
0000183a: SLOAD
0000183b: PUSH1 0x00
0000183d: SWAP1
0000183e: PUSH2 0x1853
00001841: SWAP1
00001842: DUP5
00001843: SWAP1
00001844: PUSH1 0x01
00001846: PUSH1 0xa0
00001848: PUSH1 0x02
0000184a: EXP
0000184b: SUB
0000184c: AND
0000184d: CALLVALUE
0000184e: DUP9
0000184f: PUSH2 0x2731
00001852: JUMP
00001853: JUMPDEST
00001854: PUSH1 0x40
00001856: DUP1
00001857: MLOAD
00001858: DUP3
00001859: DUP2
0000185a: MSTORE
0000185b: TIMESTAMP
0000185c: PUSH1 0x20
0000185e: DUP3
0000185f: ADD
00001860: MSTORE
00001861: DUP2
00001862: MLOAD
00001863: SWAP3
00001864: SWAP4
00001865: POP
00001866: PUSH1 0x01
00001868: PUSH1 0xa0
0000186a: PUSH1 0x02
0000186c: EXP
0000186d: SUB
0000186e: DUP9
0000186f: AND
00001870: SWAP3
00001871: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15
00001892: SWAP3
00001893: SWAP2
00001894: DUP2
00001895: SWAP1
00001896: SUB
00001897: SWAP1
00001898: SWAP2
00001899: ADD
0000189a: SWAP1
0000189b: LOG2
0000189c: SWAP1
0000189d: POP
0000189e: JUMPDEST
0000189f: SWAP4
000018a0: SWAP3
000018a1: POP
000018a2: POP
000018a3: POP
000018a4: JUMP
000018a5: JUMPDEST
000018a6: PUSH1 0x08
000018a8: SLOAD
000018a9: DUP2
000018aa: JUMP
000018ab: JUMPDEST
000018ac: PUSH1 0x04
000018ae: SLOAD
000018af: PUSH1 0x01
000018b1: PUSH1 0xa0
000018b3: PUSH1 0x02
000018b5: EXP
000018b6: SUB
000018b7: AND
000018b8: DUP2
000018b9: JUMP
000018ba: JUMPDEST
000018bb: PUSH1 0x08
000018bd: SLOAD
000018be: PUSH1 0x03
000018c0: SLOAD
000018c1: PUSH1 0x40
000018c3: DUP1
000018c4: MLOAD
000018c5: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000018e6: DUP2
000018e7: MSTORE
000018e8: ADDRESS
000018e9: PUSH1 0x04
000018eb: DUP3
000018ec: ADD
000018ed: MSTORE
000018ee: SWAP1
000018ef: MLOAD
000018f0: PUSH1 0x00
000018f2: SWAP4
000018f3: SWAP3
000018f4: PUSH1 0x01
000018f6: PUSH1 0xa0
000018f8: PUSH1 0x02
000018fa: EXP
000018fb: SUB
000018fc: AND
000018fd: SWAP2
000018fe: PUSH4 0x70a08231
00001903: SWAP2
00001904: PUSH1 0x24
00001906: DUP1
00001907: DUP4
00001908: ADD
00001909: SWAP3
0000190a: PUSH1 0x20
0000190c: SWAP3
0000190d: SWAP2
0000190e: SWAP1
0000190f: DUP3
00001910: SWAP1
00001911: SUB
00001912: ADD
00001913: DUP2
00001914: DUP7
00001915: DUP1
00001916: EXTCODESIZE
00001917: ISZERO
00001918: DUP1
00001919: ISZERO
0000191a: PUSH2 0x1922
0000191d: JUMPI
0000191e: PUSH1 0x00
00001920: DUP1
00001921: REVERT
00001922: JUMPDEST
00001923: POP
00001924: GAS
00001925: STATICCALL
00001926: ISZERO
00001927: DUP1
00001928: ISZERO
00001929: PUSH2 0x1936
0000192c: JUMPI
0000192d: RETURNDATASIZE
0000192e: PUSH1 0x00
00001930: DUP1
00001931: RETURNDATACOPY
00001932: RETURNDATASIZE
00001933: PUSH1 0x00
00001935: REVERT
00001936: JUMPDEST
00001937: POP
00001938: POP
00001939: POP
0000193a: POP
0000193b: PUSH1 0x40
0000193d: MLOAD
0000193e: RETURNDATASIZE
0000193f: PUSH1 0x20
00001941: DUP2
00001942: LT
00001943: ISZERO
00001944: PUSH2 0x194c
00001947: JUMPI
00001948: PUSH1 0x00
0000194a: DUP1
0000194b: REVERT
0000194c: JUMPDEST
0000194d: POP
0000194e: MLOAD
0000194f: LT
00001950: DUP1
00001951: ISZERO
00001952: SWAP1
00001953: PUSH2 0x1963
00001956: JUMPI
00001957: POP
00001958: PUSH3 0x015180
0000195c: PUSH1 0x09
0000195e: SLOAD
0000195f: TIMESTAMP
00001960: SUB
00001961: LT
00001962: ISZERO
00001963: JUMPDEST
00001964: SWAP1
00001965: POP
00001966: SWAP1
00001967: JUMP
00001968: JUMPDEST
00001969: PUSH1 0x0a
0000196b: PUSH1 0x20
0000196d: MSTORE
0000196e: PUSH1 0x00
00001970: SWAP1
00001971: DUP2
00001972: MSTORE
00001973: PUSH1 0x40
00001975: SWAP1
00001976: KECCAK256
00001977: DUP1
00001978: SLOAD
00001979: PUSH1 0x01
0000197b: DUP3
0000197c: ADD
0000197d: SLOAD
0000197e: PUSH1 0x02
00001980: DUP4
00001981: ADD
00001982: SLOAD
00001983: PUSH1 0x03
00001985: DUP5
00001986: ADD
00001987: SLOAD
00001988: PUSH1 0x04
0000198a: DUP6
0000198b: ADD
0000198c: SLOAD
0000198d: PUSH1 0x05
0000198f: DUP7
00001990: ADD
00001991: SLOAD
00001992: PUSH1 0x06
00001994: SWAP1
00001995: SWAP7
00001996: ADD
00001997: SLOAD
00001998: SWAP5
00001999: SWAP6
0000199a: PUSH1 0x01
0000199c: PUSH1 0xa0
0000199e: PUSH1 0x02
000019a0: EXP
000019a1: SUB
000019a2: SWAP5
000019a3: DUP6
000019a4: AND
000019a5: SWAP6
000019a6: SWAP4
000019a7: DUP6
000019a8: AND
000019a9: SWAP5
000019aa: SWAP1
000019ab: SWAP3
000019ac: AND
000019ad: SWAP3
000019ae: SWAP1
000019af: SWAP2
000019b0: SWAP1
000019b1: DUP8
000019b2: JUMP
000019b3: JUMPDEST
000019b4: PUSH1 0x01
000019b6: SLOAD
000019b7: PUSH1 0x01
000019b9: PUSH1 0xa0
000019bb: PUSH1 0x02
000019bd: EXP
000019be: SUB
000019bf: AND
000019c0: DUP2
000019c1: JUMP
000019c2: JUMPDEST
000019c3: PUSH1 0x06
000019c5: SLOAD
000019c6: DUP2
000019c7: JUMP
000019c8: JUMPDEST
000019c9: PUSH1 0x04
000019cb: SLOAD
000019cc: PUSH1 0x01
000019ce: PUSH1 0xa0
000019d0: PUSH1 0x02
000019d2: EXP
000019d3: SUB
000019d4: AND
000019d5: CALLER
000019d6: EQ
000019d7: PUSH2 0x19df
000019da: JUMPI
000019db: PUSH1 0x00
000019dd: DUP1
000019de: REVERT
000019df: JUMPDEST
000019e0: PUSH1 0x00
000019e2: DUP1
000019e3: SLOAD
000019e4: PUSH1 0x40
000019e6: DUP1
000019e7: MLOAD
000019e8: PUSH1 0xe0
000019ea: PUSH1 0x02
000019ec: EXP
000019ed: PUSH4 0x095ea7b3
000019f2: MUL
000019f3: DUP2
000019f4: MSTORE
000019f5: PUSH1 0x01
000019f7: PUSH1 0xa0
000019f9: PUSH1 0x02
000019fb: EXP
000019fc: SUB
000019fd: SWAP3
000019fe: DUP4
000019ff: AND
00001a00: PUSH1 0x04
00001a02: DUP3
00001a03: ADD
00001a04: MSTORE
00001a05: PUSH1 0x00
00001a07: NOT
00001a08: PUSH1 0x24
00001a0a: DUP3
00001a0b: ADD
00001a0c: MSTORE
00001a0d: SWAP1
00001a0e: MLOAD
00001a0f: SWAP2
00001a10: DUP5
00001a11: AND
00001a12: SWAP3
00001a13: PUSH4 0x095ea7b3
00001a18: SWAP3
00001a19: PUSH1 0x44
00001a1b: DUP1
00001a1c: DUP5
00001a1d: ADD
00001a1e: SWAP4
00001a1f: PUSH1 0x20
00001a21: SWAP4
00001a22: SWAP1
00001a23: DUP4
00001a24: SWAP1
00001a25: SUB
00001a26: SWAP1
00001a27: SWAP2
00001a28: ADD
00001a29: SWAP1
00001a2a: DUP3
00001a2b: SWAP1
00001a2c: DUP8
00001a2d: DUP1
00001a2e: EXTCODESIZE
00001a2f: ISZERO
00001a30: DUP1
00001a31: ISZERO
00001a32: PUSH2 0x1a3a
00001a35: JUMPI
00001a36: PUSH1 0x00
00001a38: DUP1
00001a39: REVERT
00001a3a: JUMPDEST
00001a3b: POP
00001a3c: GAS
00001a3d: CALL
00001a3e: ISZERO
00001a3f: DUP1
00001a40: ISZERO
00001a41: PUSH2 0x1a4e
00001a44: JUMPI
00001a45: RETURNDATASIZE
00001a46: PUSH1 0x00
00001a48: DUP1
00001a49: RETURNDATACOPY
00001a4a: RETURNDATASIZE
00001a4b: PUSH1 0x00
00001a4d: REVERT
00001a4e: JUMPDEST
00001a4f: POP
00001a50: POP
00001a51: POP
00001a52: POP
00001a53: PUSH1 0x40
00001a55: MLOAD
00001a56: RETURNDATASIZE
00001a57: PUSH1 0x20
00001a59: DUP2
00001a5a: LT
00001a5b: ISZERO
00001a5c: PUSH2 0x1a64
00001a5f: JUMPI
00001a60: PUSH1 0x00
00001a62: DUP1
00001a63: REVERT
00001a64: JUMPDEST
00001a65: POP
00001a66: POP
00001a67: PUSH1 0x01
00001a69: SLOAD
00001a6a: PUSH1 0x40
00001a6c: DUP1
00001a6d: MLOAD
00001a6e: PUSH1 0xe0
00001a70: PUSH1 0x02
00001a72: EXP
00001a73: PUSH4 0x095ea7b3
00001a78: MUL
00001a79: DUP2
00001a7a: MSTORE
00001a7b: PUSH1 0x01
00001a7d: PUSH1 0xa0
00001a7f: PUSH1 0x02
00001a81: EXP
00001a82: SUB
00001a83: SWAP3
00001a84: DUP4
00001a85: AND
00001a86: PUSH1 0x04
00001a88: DUP3
00001a89: ADD
00001a8a: MSTORE
00001a8b: PUSH1 0x00
00001a8d: NOT
00001a8e: PUSH1 0x24
00001a90: DUP3
00001a91: ADD
00001a92: MSTORE
00001a93: SWAP1
00001a94: MLOAD
00001a95: SWAP2
00001a96: DUP4
00001a97: AND
00001a98: SWAP2
00001a99: PUSH4 0x095ea7b3
00001a9e: SWAP2
00001a9f: PUSH1 0x44
00001aa1: DUP1
00001aa2: DUP3
00001aa3: ADD
00001aa4: SWAP3
00001aa5: PUSH1 0x20
00001aa7: SWAP3
00001aa8: SWAP1
00001aa9: SWAP2
00001aaa: SWAP1
00001aab: DUP3
00001aac: SWAP1
00001aad: SUB
00001aae: ADD
00001aaf: DUP2
00001ab0: PUSH1 0x00
00001ab2: DUP8
00001ab3: DUP1
00001ab4: EXTCODESIZE
00001ab5: ISZERO
00001ab6: DUP1
00001ab7: ISZERO
00001ab8: PUSH2 0x1ac0
00001abb: JUMPI
00001abc: PUSH1 0x00
00001abe: DUP1
00001abf: REVERT
00001ac0: JUMPDEST
00001ac1: POP
00001ac2: GAS
00001ac3: CALL
00001ac4: ISZERO
00001ac5: DUP1
00001ac6: ISZERO
00001ac7: PUSH2 0x1ad4
00001aca: JUMPI
00001acb: RETURNDATASIZE
00001acc: PUSH1 0x00
00001ace: DUP1
00001acf: RETURNDATACOPY
00001ad0: RETURNDATASIZE
00001ad1: PUSH1 0x00
00001ad3: REVERT
00001ad4: JUMPDEST
00001ad5: POP
00001ad6: POP
00001ad7: POP
00001ad8: POP
00001ad9: PUSH1 0x40
00001adb: MLOAD
00001adc: RETURNDATASIZE
00001add: PUSH1 0x20
00001adf: DUP2
00001ae0: LT
00001ae1: ISZERO
00001ae2: PUSH2 0x1aea
00001ae5: JUMPI
00001ae6: PUSH1 0x00
00001ae8: DUP1
00001ae9: REVERT
00001aea: JUMPDEST
00001aeb: POP
00001aec: POP
00001aed: PUSH1 0x02
00001aef: SLOAD
00001af0: PUSH1 0x40
00001af2: DUP1
00001af3: MLOAD
00001af4: PUSH1 0xe0
00001af6: PUSH1 0x02
00001af8: EXP
00001af9: PUSH4 0x095ea7b3
00001afe: MUL
00001aff: DUP2
00001b00: MSTORE
00001b01: PUSH1 0x01
00001b03: PUSH1 0xa0
00001b05: PUSH1 0x02
00001b07: EXP
00001b08: SUB
00001b09: SWAP3
00001b0a: DUP4
00001b0b: AND
00001b0c: PUSH1 0x04
00001b0e: DUP3
00001b0f: ADD
00001b10: MSTORE
00001b11: PUSH1 0x00
00001b13: NOT
00001b14: PUSH1 0x24
00001b16: DUP3
00001b17: ADD
00001b18: MSTORE
00001b19: SWAP1
00001b1a: MLOAD
00001b1b: SWAP2
00001b1c: DUP4
00001b1d: AND
00001b1e: SWAP2
00001b1f: PUSH4 0x095ea7b3
00001b24: SWAP2
00001b25: PUSH1 0x44
00001b27: DUP1
00001b28: DUP3
00001b29: ADD
00001b2a: SWAP3
00001b2b: PUSH1 0x20
00001b2d: SWAP3
00001b2e: SWAP1
00001b2f: SWAP2
00001b30: SWAP1
00001b31: DUP3
00001b32: SWAP1
00001b33: SUB
00001b34: ADD
00001b35: DUP2
00001b36: PUSH1 0x00
00001b38: DUP8
00001b39: DUP1
00001b3a: EXTCODESIZE
00001b3b: ISZERO
00001b3c: DUP1
00001b3d: ISZERO
00001b3e: PUSH2 0x1b46
00001b41: JUMPI
00001b42: PUSH1 0x00
00001b44: DUP1
00001b45: REVERT
00001b46: JUMPDEST
00001b47: POP
00001b48: GAS
00001b49: CALL
00001b4a: ISZERO
00001b4b: DUP1
00001b4c: ISZERO
00001b4d: PUSH2 0x1b5a
00001b50: JUMPI
00001b51: RETURNDATASIZE
00001b52: PUSH1 0x00
00001b54: DUP1
00001b55: RETURNDATACOPY
00001b56: RETURNDATASIZE
00001b57: PUSH1 0x00
00001b59: REVERT
00001b5a: JUMPDEST
00001b5b: POP
00001b5c: POP
00001b5d: POP
00001b5e: POP
00001b5f: PUSH1 0x40
00001b61: MLOAD
00001b62: RETURNDATASIZE
00001b63: PUSH1 0x20
00001b65: DUP2
00001b66: LT
00001b67: ISZERO
00001b68: PUSH2 0x1b70
00001b6b: JUMPI
00001b6c: PUSH1 0x00
00001b6e: DUP1
00001b6f: REVERT
00001b70: JUMPDEST
00001b71: POP
00001b72: POP
00001b73: POP
00001b74: JUMP
00001b75: JUMPDEST
00001b76: PUSH1 0x00
00001b78: DUP5
00001b79: ISZERO
00001b7a: ISZERO
00001b7b: PUSH2 0x1c43
00001b7e: JUMPI
00001b7f: PUSH1 0x01
00001b81: SLOAD
00001b82: PUSH1 0x40
00001b84: DUP1
00001b85: MLOAD
00001b86: PUSH32 0x144a275200000000000000000000000000000000000000000000000000000000
00001ba7: DUP2
00001ba8: MSTORE
00001ba9: PUSH1 0x01
00001bab: PUSH1 0xa0
00001bad: PUSH1 0x02
00001baf: EXP
00001bb0: SUB
00001bb1: DUP6
00001bb2: DUP2
00001bb3: AND
00001bb4: PUSH1 0x04
00001bb6: DUP4
00001bb7: ADD
00001bb8: MSTORE
00001bb9: DUP8
00001bba: DUP2
00001bbb: AND
00001bbc: PUSH1 0x24
00001bbe: DUP4
00001bbf: ADD
00001bc0: MSTORE
00001bc1: PUSH1 0x44
00001bc3: DUP3
00001bc4: ADD
00001bc5: DUP8
00001bc6: SWAP1
00001bc7: MSTORE
00001bc8: SWAP2
00001bc9: MLOAD
00001bca: PUSH1 0x00
00001bcc: SWAP4
00001bcd: SWAP3
00001bce: SWAP1
00001bcf: SWAP3
00001bd0: AND
00001bd1: SWAP2
00001bd2: PUSH4 0x144a2752
00001bd7: SWAP2
00001bd8: PUSH1 0x64
00001bda: DUP1
00001bdb: DUP3
00001bdc: ADD
00001bdd: SWAP3
00001bde: PUSH1 0x20
00001be0: SWAP3
00001be1: SWAP1
00001be2: SWAP2
00001be3: SWAP1
00001be4: DUP3
00001be5: SWAP1
00001be6: SUB
00001be7: ADD
00001be8: DUP2
00001be9: DUP7
00001bea: DUP1
00001beb: EXTCODESIZE
00001bec: ISZERO
00001bed: DUP1
00001bee: ISZERO
00001bef: PUSH2 0x1bf7
00001bf2: JUMPI
00001bf3: PUSH1 0x00
00001bf5: DUP1
00001bf6: REVERT
00001bf7: JUMPDEST
00001bf8: POP
00001bf9: GAS
00001bfa: STATICCALL
00001bfb: ISZERO
00001bfc: DUP1
00001bfd: ISZERO
00001bfe: PUSH2 0x1c0b
00001c01: JUMPI
00001c02: RETURNDATASIZE
00001c03: PUSH1 0x00
00001c05: DUP1
00001c06: RETURNDATACOPY
00001c07: RETURNDATASIZE
00001c08: PUSH1 0x00
00001c0a: REVERT
00001c0b: JUMPDEST
00001c0c: POP
00001c0d: POP
00001c0e: POP
00001c0f: POP
00001c10: PUSH1 0x40
00001c12: MLOAD
00001c13: RETURNDATASIZE
00001c14: PUSH1 0x20
00001c16: DUP2
00001c17: LT
00001c18: ISZERO
00001c19: PUSH2 0x1c21
00001c1c: JUMPI
00001c1d: PUSH1 0x00
00001c1f: DUP1
00001c20: REVERT
00001c21: JUMPDEST
00001c22: POP
00001c23: MLOAD
00001c24: SWAP1
00001c25: POP
00001c26: PUSH2 0x1c3b
00001c29: PUSH2 0x1c35
00001c2c: DUP3
00001c2d: PUSH3 0x0186a0
00001c31: PUSH2 0x2876
00001c34: JUMP
00001c35: JUMPDEST
00001c36: DUP6
00001c37: PUSH2 0x2898
00001c3a: JUMP
00001c3b: JUMPDEST
00001c3c: SWAP2
00001c3d: POP
00001c3e: POP
00001c3f: PUSH2 0x1d03
00001c42: JUMP
00001c43: JUMPDEST
00001c44: PUSH1 0x01
00001c46: DUP6
00001c47: EQ
00001c48: ISZERO
00001c49: PUSH2 0x1cfe
00001c4c: JUMPI
00001c4d: PUSH1 0x02
00001c4f: SLOAD
00001c50: PUSH1 0x40
00001c52: DUP1
00001c53: MLOAD
00001c54: PUSH32 0x809a9e5500000000000000000000000000000000000000000000000000000000
00001c75: DUP2
00001c76: MSTORE
00001c77: PUSH1 0x01
00001c79: PUSH1 0xa0
00001c7b: PUSH1 0x02
00001c7d: EXP
00001c7e: SUB
00001c7f: DUP8
00001c80: DUP2
00001c81: AND
00001c82: PUSH1 0x04
00001c84: DUP4
00001c85: ADD
00001c86: MSTORE
00001c87: DUP6
00001c88: DUP2
00001c89: AND
00001c8a: PUSH1 0x24
00001c8c: DUP4
00001c8d: ADD
00001c8e: MSTORE
00001c8f: PUSH1 0x44
00001c91: DUP3
00001c92: ADD
00001c93: DUP8
00001c94: SWAP1
00001c95: MSTORE
00001c96: DUP3
00001c97: MLOAD
00001c98: PUSH1 0x00
00001c9a: SWAP5
00001c9b: SWAP2
00001c9c: SWAP1
00001c9d: SWAP2
00001c9e: AND
00001c9f: SWAP3
00001ca0: PUSH4 0x809a9e55
00001ca5: SWAP3
00001ca6: PUSH1 0x64
00001ca8: DUP1
00001ca9: DUP3
00001caa: ADD
00001cab: SWAP4
00001cac: SWAP2
00001cad: DUP3
00001cae: SWAP1
00001caf: SUB
00001cb0: ADD
00001cb1: DUP2
00001cb2: DUP7
00001cb3: DUP1
00001cb4: EXTCODESIZE
00001cb5: ISZERO
00001cb6: DUP1
00001cb7: ISZERO
00001cb8: PUSH2 0x1cc0
00001cbb: JUMPI
00001cbc: PUSH1 0x00
00001cbe: DUP1
00001cbf: REVERT
00001cc0: JUMPDEST
00001cc1: POP
00001cc2: GAS
00001cc3: STATICCALL
00001cc4: ISZERO
00001cc5: DUP1
00001cc6: ISZERO
00001cc7: PUSH2 0x1cd4
00001cca: JUMPI
00001ccb: RETURNDATASIZE
00001ccc: PUSH1 0x00
00001cce: DUP1
00001ccf: RETURNDATACOPY
00001cd0: RETURNDATASIZE
00001cd1: PUSH1 0x00
00001cd3: REVERT
00001cd4: JUMPDEST
00001cd5: POP
00001cd6: POP
00001cd7: POP
00001cd8: POP
00001cd9: PUSH1 0x40
00001cdb: MLOAD
00001cdc: RETURNDATASIZE
00001cdd: PUSH1 0x40
00001cdf: DUP2
00001ce0: LT
00001ce1: ISZERO
00001ce2: PUSH2 0x1cea
00001ce5: JUMPI
00001ce6: PUSH1 0x00
00001ce8: DUP1
00001ce9: REVERT
00001cea: JUMPDEST
00001ceb: POP
00001cec: MLOAD
00001ced: PUSH6 0x09184e72a000
00001cf4: SWAP1
00001cf5: DIV
00001cf6: SWAP2
00001cf7: POP
00001cf8: PUSH2 0x1d03
00001cfb: SWAP1
00001cfc: POP
00001cfd: JUMP
00001cfe: JUMPDEST
00001cff: PUSH1 0x00
00001d01: DUP1
00001d02: REVERT
00001d03: JUMPDEST
00001d04: SWAP5
00001d05: SWAP4
00001d06: POP
00001d07: POP
00001d08: POP
00001d09: POP
00001d0a: JUMP
00001d0b: JUMPDEST
00001d0c: PUSH1 0x02
00001d0e: SLOAD
00001d0f: PUSH1 0x01
00001d11: PUSH1 0xa0
00001d13: PUSH1 0x02
00001d15: EXP
00001d16: SUB
00001d17: AND
00001d18: DUP2
00001d19: JUMP
00001d1a: JUMPDEST
00001d1b: PUSH1 0x04
00001d1d: SLOAD
00001d1e: PUSH1 0x00
00001d20: SWAP1
00001d21: PUSH1 0x60
00001d23: SWAP1
00001d24: PUSH1 0x01
00001d26: PUSH1 0xa0
00001d28: PUSH1 0x02
00001d2a: EXP
00001d2b: SUB
00001d2c: AND
00001d2d: CALLER
00001d2e: EQ
00001d2f: PUSH2 0x1d37
00001d32: JUMPI
00001d33: PUSH1 0x00
00001d35: DUP1
00001d36: REVERT
00001d37: JUMPDEST
00001d38: DUP5
00001d39: PUSH1 0x01
00001d3b: PUSH1 0xa0
00001d3d: PUSH1 0x02
00001d3f: EXP
00001d40: SUB
00001d41: AND
00001d42: CALLVALUE
00001d43: DUP6
00001d44: DUP6
00001d45: PUSH1 0x40
00001d47: MLOAD
00001d48: DUP1
00001d49: DUP4
00001d4a: DUP4
00001d4b: DUP1
00001d4c: DUP3
00001d4d: DUP5
00001d4e: CALLDATACOPY
00001d4f: PUSH1 0x40
00001d51: MLOAD
00001d52: SWAP3
00001d53: ADD
00001d54: SWAP5
00001d55: POP
00001d56: PUSH1 0x00
00001d58: SWAP4
00001d59: POP
00001d5a: SWAP1
00001d5b: SWAP2
00001d5c: POP
00001d5d: POP
00001d5e: DUP1
00001d5f: DUP4
00001d60: SUB
00001d61: DUP2
00001d62: DUP6
00001d63: DUP8
00001d64: GAS
00001d65: CALL
00001d66: SWAP3
00001d67: POP
00001d68: POP
00001d69: POP
00001d6a: RETURNDATASIZE
00001d6b: DUP1
00001d6c: PUSH1 0x00
00001d6e: DUP2
00001d6f: EQ
00001d70: PUSH2 0x1d95
00001d73: JUMPI
00001d74: PUSH1 0x40
00001d76: MLOAD
00001d77: SWAP2
00001d78: POP
00001d79: PUSH1 0x1f
00001d7b: NOT
00001d7c: PUSH1 0x3f
00001d7e: RETURNDATASIZE
00001d7f: ADD
00001d80: AND
00001d81: DUP3
00001d82: ADD
00001d83: PUSH1 0x40
00001d85: MSTORE
00001d86: RETURNDATASIZE
00001d87: DUP3
00001d88: MSTORE
00001d89: RETURNDATASIZE
00001d8a: PUSH1 0x00
00001d8c: PUSH1 0x20
00001d8e: DUP5
00001d8f: ADD
00001d90: RETURNDATACOPY
00001d91: PUSH2 0x1d9a
00001d94: JUMP
00001d95: JUMPDEST
00001d96: PUSH1 0x60
00001d98: SWAP2
00001d99: POP
00001d9a: JUMPDEST
00001d9b: POP
00001d9c: SWAP2
00001d9d: POP
00001d9e: SWAP2
00001d9f: POP
00001da0: SWAP4
00001da1: POP
00001da2: SWAP4
00001da3: SWAP2
00001da4: POP
00001da5: POP
00001da6: JUMP
00001da7: JUMPDEST
00001da8: PUSH1 0x04
00001daa: SLOAD
00001dab: PUSH1 0x01
00001dad: PUSH1 0xa0
00001daf: PUSH1 0x02
00001db1: EXP
00001db2: SUB
00001db3: AND
00001db4: CALLER
00001db5: EQ
00001db6: PUSH2 0x1dbe
00001db9: JUMPI
00001dba: PUSH1 0x00
00001dbc: DUP1
00001dbd: REVERT
00001dbe: JUMPDEST
00001dbf: PUSH1 0x0c
00001dc1: SLOAD
00001dc2: PUSH1 0x0b
00001dc4: SLOAD
00001dc5: LT
00001dc6: PUSH2 0x1dce
00001dc9: JUMPI
00001dca: PUSH1 0x00
00001dcc: DUP1
00001dcd: REVERT
00001dce: JUMPDEST
00001dcf: PUSH1 0x0b
00001dd1: DUP1
00001dd2: SLOAD
00001dd3: PUSH1 0x01
00001dd5: ADD
00001dd6: SWAP1
00001dd7: SSTORE
00001dd8: JUMP
00001dd9: JUMPDEST
00001dda: PUSH1 0x04
00001ddc: SLOAD
00001ddd: PUSH1 0x01
00001ddf: PUSH1 0xa0
00001de1: PUSH1 0x02
00001de3: EXP
00001de4: SUB
00001de5: AND
00001de6: CALLER
00001de7: EQ
00001de8: PUSH2 0x1df0
00001deb: JUMPI
00001dec: PUSH1 0x00
00001dee: DUP1
00001def: REVERT
00001df0: JUMPDEST
00001df1: PUSH1 0x00
00001df3: DUP1
00001df4: SLOAD
00001df5: PUSH1 0x40
00001df7: DUP1
00001df8: MLOAD
00001df9: PUSH1 0xe0
00001dfb: PUSH1 0x02
00001dfd: EXP
00001dfe: PUSH4 0x095ea7b3
00001e03: MUL
00001e04: DUP2
00001e05: MSTORE
00001e06: PUSH1 0x01
00001e08: PUSH1 0xa0
00001e0a: PUSH1 0x02
00001e0c: EXP
00001e0d: SUB
00001e0e: SWAP3
00001e0f: DUP4
00001e10: AND
00001e11: PUSH1 0x04
00001e13: DUP3
00001e14: ADD
00001e15: MSTORE
00001e16: PUSH1 0x00
00001e18: NOT
00001e19: PUSH1 0x24
00001e1b: DUP3
00001e1c: ADD
00001e1d: MSTORE
00001e1e: SWAP1
00001e1f: MLOAD
00001e20: SWAP2
00001e21: DUP5
00001e22: AND
00001e23: SWAP3
00001e24: PUSH4 0x095ea7b3
00001e29: SWAP3
00001e2a: PUSH1 0x44
00001e2c: DUP1
00001e2d: DUP5
00001e2e: ADD
00001e2f: SWAP4
00001e30: DUP3
00001e31: SWAP1
00001e32: SUB
00001e33: ADD
00001e34: DUP2
00001e35: DUP4
00001e36: DUP8
00001e37: DUP1
00001e38: EXTCODESIZE
00001e39: ISZERO
00001e3a: DUP1
00001e3b: ISZERO
00001e3c: PUSH2 0x1e44
00001e3f: JUMPI
00001e40: PUSH1 0x00
00001e42: DUP1
00001e43: REVERT
00001e44: JUMPDEST
00001e45: POP
00001e46: GAS
00001e47: CALL
00001e48: ISZERO
00001e49: DUP1
00001e4a: ISZERO
00001e4b: PUSH2 0x1e58
00001e4e: JUMPI
00001e4f: RETURNDATASIZE
00001e50: PUSH1 0x00
00001e52: DUP1
00001e53: RETURNDATACOPY
00001e54: RETURNDATASIZE
00001e55: PUSH1 0x00
00001e57: REVERT
00001e58: JUMPDEST
00001e59: POP
00001e5a: POP
00001e5b: PUSH1 0x01
00001e5d: SLOAD
00001e5e: PUSH1 0x40
00001e60: DUP1
00001e61: MLOAD
00001e62: PUSH1 0xe0
00001e64: PUSH1 0x02
00001e66: EXP
00001e67: PUSH4 0x095ea7b3
00001e6c: MUL
00001e6d: DUP2
00001e6e: MSTORE
00001e6f: PUSH1 0x01
00001e71: PUSH1 0xa0
00001e73: PUSH1 0x02
00001e75: EXP
00001e76: SUB
00001e77: SWAP3
00001e78: DUP4
00001e79: AND
00001e7a: PUSH1 0x04
00001e7c: DUP3
00001e7d: ADD
00001e7e: MSTORE
00001e7f: PUSH1 0x00
00001e81: NOT
00001e82: PUSH1 0x24
00001e84: DUP3
00001e85: ADD
00001e86: MSTORE
00001e87: SWAP1
00001e88: MLOAD
00001e89: SWAP2
00001e8a: DUP6
00001e8b: AND
00001e8c: SWAP4
00001e8d: POP
00001e8e: PUSH4 0x095ea7b3
00001e93: SWAP3
00001e94: POP
00001e95: PUSH1 0x44
00001e97: DUP1
00001e98: DUP3
00001e99: ADD
00001e9a: SWAP3
00001e9b: PUSH1 0x00
00001e9d: SWAP3
00001e9e: SWAP1
00001e9f: SWAP2
00001ea0: SWAP1
00001ea1: DUP3
00001ea2: SWAP1
00001ea3: SUB
00001ea4: ADD
00001ea5: DUP2
00001ea6: DUP4
00001ea7: DUP8
00001ea8: DUP1
00001ea9: EXTCODESIZE
00001eaa: ISZERO
00001eab: DUP1
00001eac: ISZERO
00001ead: PUSH2 0x1eb5
00001eb0: JUMPI
00001eb1: PUSH1 0x00
00001eb3: DUP1
00001eb4: REVERT
00001eb5: JUMPDEST
00001eb6: POP
00001eb7: GAS
00001eb8: CALL
00001eb9: ISZERO
00001eba: DUP1
00001ebb: ISZERO
00001ebc: PUSH2 0x1ec9
00001ebf: JUMPI
00001ec0: RETURNDATASIZE
00001ec1: PUSH1 0x00
00001ec3: DUP1
00001ec4: RETURNDATACOPY
00001ec5: RETURNDATASIZE
00001ec6: PUSH1 0x00
00001ec8: REVERT
00001ec9: JUMPDEST
00001eca: POP
00001ecb: POP
00001ecc: PUSH1 0x02
00001ece: SLOAD
00001ecf: PUSH1 0x40
00001ed1: DUP1
00001ed2: MLOAD
00001ed3: PUSH1 0xe0
00001ed5: PUSH1 0x02
00001ed7: EXP
00001ed8: PUSH4 0x095ea7b3
00001edd: MUL
00001ede: DUP2
00001edf: MSTORE
00001ee0: PUSH1 0x01
00001ee2: PUSH1 0xa0
00001ee4: PUSH1 0x02
00001ee6: EXP
00001ee7: SUB
00001ee8: SWAP3
00001ee9: DUP4
00001eea: AND
00001eeb: PUSH1 0x04
00001eed: DUP3
00001eee: ADD
00001eef: MSTORE
00001ef0: PUSH1 0x00
00001ef2: NOT
00001ef3: PUSH1 0x24
00001ef5: DUP3
00001ef6: ADD
00001ef7: MSTORE
00001ef8: SWAP1
00001ef9: MLOAD
00001efa: SWAP2
00001efb: DUP6
00001efc: AND
00001efd: SWAP4
00001efe: POP
00001eff: PUSH4 0x095ea7b3
00001f04: SWAP3
00001f05: POP
00001f06: PUSH1 0x44
00001f08: DUP1
00001f09: DUP3
00001f0a: ADD
00001f0b: SWAP3
00001f0c: PUSH1 0x00
00001f0e: SWAP3
00001f0f: SWAP1
00001f10: SWAP2
00001f11: SWAP1
00001f12: DUP3
00001f13: SWAP1
00001f14: SUB
00001f15: ADD
00001f16: DUP2
00001f17: DUP4
00001f18: DUP8
00001f19: DUP1
00001f1a: EXTCODESIZE
00001f1b: ISZERO
00001f1c: DUP1
00001f1d: ISZERO
00001f1e: PUSH2 0x1f26
00001f21: JUMPI
00001f22: PUSH1 0x00
00001f24: DUP1
00001f25: REVERT
00001f26: JUMPDEST
00001f27: POP
00001f28: GAS
00001f29: CALL
00001f2a: ISZERO
00001f2b: DUP1
00001f2c: ISZERO
00001f2d: PUSH2 0x1f3a
00001f30: JUMPI
00001f31: RETURNDATASIZE
00001f32: PUSH1 0x00
00001f34: DUP1
00001f35: RETURNDATACOPY
00001f36: RETURNDATASIZE
00001f37: PUSH1 0x00
00001f39: REVERT
00001f3a: JUMPDEST
00001f3b: POP
00001f3c: POP
00001f3d: POP
00001f3e: POP
00001f3f: POP
00001f40: JUMP
00001f41: JUMPDEST
00001f42: PUSH1 0x05
00001f44: SLOAD
00001f45: PUSH1 0x01
00001f47: PUSH1 0xa0
00001f49: PUSH1 0x02
00001f4b: EXP
00001f4c: SUB
00001f4d: AND
00001f4e: DUP2
00001f4f: JUMP
00001f50: JUMPDEST
00001f51: PUSH1 0x00
00001f53: DUP1
00001f54: PUSH1 0x00
00001f56: DUP1
00001f57: PUSH1 0x00
00001f59: DUP1
00001f5a: PUSH2 0x1f61
00001f5d: PUSH2 0x28f6
00001f60: JUMP
00001f61: JUMPDEST
00001f62: PUSH2 0x1f6f
00001f65: DUP14
00001f66: DUP14
00001f67: DUP14
00001f68: DUP14
00001f69: DUP14
00001f6a: DUP14
00001f6b: PUSH2 0x20c6
00001f6e: JUMP
00001f6f: JUMPDEST
00001f70: SWAP1
00001f71: POP
00001f72: DUP1
00001f73: PUSH1 0x00
00001f75: ADD
00001f76: MLOAD
00001f77: DUP2
00001f78: PUSH1 0x20
00001f7a: ADD
00001f7b: MLOAD
00001f7c: DUP3
00001f7d: PUSH1 0x40
00001f7f: ADD
00001f80: MLOAD
00001f81: DUP4
00001f82: PUSH1 0x60
00001f84: ADD
00001f85: MLOAD
00001f86: DUP5
00001f87: PUSH1 0x80
00001f89: ADD
00001f8a: MLOAD
00001f8b: DUP6
00001f8c: PUSH1 0xa0
00001f8e: ADD
00001f8f: MLOAD
00001f90: SWAP7
00001f91: POP
00001f92: SWAP7
00001f93: POP
00001f94: SWAP7
00001f95: POP
00001f96: SWAP7
00001f97: POP
00001f98: SWAP7
00001f99: POP
00001f9a: SWAP7
00001f9b: POP
00001f9c: POP
00001f9d: SWAP7
00001f9e: POP
00001f9f: SWAP7
00001fa0: POP
00001fa1: SWAP7
00001fa2: POP
00001fa3: SWAP7
00001fa4: POP
00001fa5: SWAP7
00001fa6: POP
00001fa7: SWAP7
00001fa8: SWAP1
00001fa9: POP
00001faa: JUMP
00001fab: JUMPDEST
00001fac: PUSH1 0x04
00001fae: SLOAD
00001faf: PUSH1 0x00
00001fb1: SWAP1
00001fb2: PUSH1 0x01
00001fb4: PUSH1 0xa0
00001fb6: PUSH1 0x02
00001fb8: EXP
00001fb9: SUB
00001fba: AND
00001fbb: CALLER
00001fbc: EQ
00001fbd: PUSH2 0x1fc5
00001fc0: JUMPI
00001fc1: PUSH1 0x00
00001fc3: DUP1
00001fc4: REVERT
00001fc5: JUMPDEST
00001fc6: PUSH2 0x1fce
00001fc9: DUP5
00001fca: PUSH2 0x19c8
00001fcd: JUMP
00001fce: JUMPDEST
00001fcf: PUSH2 0x1fd7
00001fd2: DUP4
00001fd3: PUSH2 0x19c8
00001fd6: JUMP
00001fd7: JUMPDEST
00001fd8: PUSH1 0x40
00001fda: DUP1
00001fdb: MLOAD
00001fdc: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00001ffd: DUP2
00001ffe: MSTORE
00001fff: CALLER
00002000: PUSH1 0x04
00002002: DUP3
00002003: ADD
00002004: MSTORE
00002005: ADDRESS
00002006: PUSH1 0x24
00002008: DUP3
00002009: ADD
0000200a: MSTORE
0000200b: PUSH1 0x44
0000200d: DUP2
0000200e: ADD
0000200f: DUP5
00002010: SWAP1
00002011: MSTORE
00002012: SWAP1
00002013: MLOAD
00002014: PUSH1 0x00
00002016: SWAP2
00002017: PUSH1 0x01
00002019: PUSH1 0xa0
0000201b: PUSH1 0x02
0000201d: EXP
0000201e: SUB
0000201f: DUP8
00002020: AND
00002021: SWAP2
00002022: PUSH4 0x23b872dd
00002027: SWAP2
00002028: PUSH1 0x64
0000202a: DUP1
0000202b: DUP3
0000202c: ADD
0000202d: SWAP3
0000202e: PUSH1 0x20
00002030: SWAP3
00002031: SWAP1
00002032: SWAP2
00002033: SWAP1
00002034: DUP3
00002035: SWAP1
00002036: SUB
00002037: ADD
00002038: DUP2
00002039: DUP8
0000203a: DUP8
0000203b: DUP1
0000203c: EXTCODESIZE
0000203d: ISZERO
0000203e: DUP1
0000203f: ISZERO
00002040: PUSH2 0x2048
00002043: JUMPI
00002044: PUSH1 0x00
00002046: DUP1
00002047: REVERT
00002048: JUMPDEST
00002049: POP
0000204a: GAS
0000204b: CALL
0000204c: ISZERO
0000204d: DUP1
0000204e: ISZERO
0000204f: PUSH2 0x205c
00002052: JUMPI
00002053: RETURNDATASIZE
00002054: PUSH1 0x00
00002056: DUP1
00002057: RETURNDATACOPY
00002058: RETURNDATASIZE
00002059: PUSH1 0x00
0000205b: REVERT
0000205c: JUMPDEST
0000205d: POP
0000205e: POP
0000205f: POP
00002060: POP
00002061: PUSH1 0x40
00002063: MLOAD
00002064: RETURNDATASIZE
00002065: PUSH1 0x20
00002067: DUP2
00002068: LT
00002069: ISZERO
0000206a: PUSH2 0x2072
0000206d: JUMPI
0000206e: PUSH1 0x00
00002070: DUP1
00002071: REVERT
00002072: JUMPDEST
00002073: POP
00002074: MLOAD
00002075: SWAP1
00002076: POP
00002077: DUP1
00002078: ISZERO
00002079: PUSH2 0x1d03
0000207c: JUMPI
0000207d: PUSH1 0x40
0000207f: DUP1
00002080: MLOAD
00002081: DUP5
00002082: DUP2
00002083: MSTORE
00002084: TIMESTAMP
00002085: PUSH1 0x20
00002087: DUP3
00002088: ADD
00002089: MSTORE
0000208a: DUP2
0000208b: MLOAD
0000208c: PUSH1 0x01
0000208e: PUSH1 0xa0
00002090: PUSH1 0x02
00002092: EXP
00002093: SUB
00002094: DUP9
00002095: AND
00002096: SWAP3
00002097: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15
000020b8: SWAP3
000020b9: DUP3
000020ba: SWAP1
000020bb: SUB
000020bc: ADD
000020bd: SWAP1
000020be: LOG2
000020bf: SWAP5
000020c0: SWAP4
000020c1: POP
000020c2: POP
000020c3: POP
000020c4: POP
000020c5: JUMP
000020c6: JUMPDEST
000020c7: PUSH2 0x20ce
000020ca: PUSH2 0x28f6
000020cd: JUMP
000020ce: JUMPDEST
000020cf: PUSH1 0x00
000020d1: SLOAD
000020d2: PUSH1 0x40
000020d4: DUP1
000020d5: MLOAD
000020d6: PUSH32 0x14584a9d00000000000000000000000000000000000000000000000000000000
000020f7: DUP2
000020f8: MSTORE
000020f9: PUSH1 0x01
000020fb: PUSH1 0xa0
000020fd: PUSH1 0x02
000020ff: EXP
00002100: SUB
00002101: DUP11
00002102: DUP2
00002103: AND
00002104: PUSH1 0x04
00002106: DUP4
00002107: ADD
00002108: MSTORE
00002109: DUP10
0000210a: DUP2
0000210b: AND
0000210c: PUSH1 0x24
0000210e: DUP4
0000210f: ADD
00002110: MSTORE
00002111: SWAP2
00002112: MLOAD
00002113: SWAP2
00002114: SWAP1
00002115: SWAP3
00002116: AND
00002117: SWAP2
00002118: PUSH4 0x14584a9d
0000211d: SWAP2
0000211e: PUSH1 0x44
00002120: DUP1
00002121: DUP4
00002122: ADD
00002123: SWAP3
00002124: PUSH1 0x20
00002126: SWAP3
00002127: SWAP2
00002128: SWAP1
00002129: DUP3
0000212a: SWAP1
0000212b: SUB
0000212c: ADD
0000212d: DUP2
0000212e: DUP7
0000212f: DUP1
00002130: EXTCODESIZE
00002131: ISZERO
00002132: DUP1
00002133: ISZERO
00002134: PUSH2 0x213c
00002137: JUMPI
00002138: PUSH1 0x00
0000213a: DUP1
0000213b: REVERT
0000213c: JUMPDEST
0000213d: POP
0000213e: GAS
0000213f: STATICCALL
00002140: ISZERO
00002141: DUP1
00002142: ISZERO
00002143: PUSH2 0x2150
00002146: JUMPI
00002147: RETURNDATASIZE
00002148: PUSH1 0x00
0000214a: DUP1
0000214b: RETURNDATACOPY
0000214c: RETURNDATASIZE
0000214d: PUSH1 0x00
0000214f: REVERT
00002150: JUMPDEST
00002151: POP
00002152: POP
00002153: POP
00002154: POP
00002155: PUSH1 0x40
00002157: MLOAD
00002158: RETURNDATASIZE
00002159: PUSH1 0x20
0000215b: DUP2
0000215c: LT
0000215d: ISZERO
0000215e: PUSH2 0x2166
00002161: JUMPI
00002162: PUSH1 0x00
00002164: DUP1
00002165: REVERT
00002166: JUMPDEST
00002167: POP
00002168: MLOAD
00002169: DUP2
0000216a: MSTORE
0000216b: PUSH1 0x00
0000216d: SLOAD
0000216e: PUSH1 0x40
00002170: DUP1
00002171: MLOAD
00002172: PUSH32 0xdae595e500000000000000000000000000000000000000000000000000000000
00002193: DUP2
00002194: MSTORE
00002195: PUSH1 0x01
00002197: PUSH1 0xa0
00002199: PUSH1 0x02
0000219b: EXP
0000219c: SUB
0000219d: DUP11
0000219e: DUP2
0000219f: AND
000021a0: PUSH1 0x04
000021a2: DUP4
000021a3: ADD
000021a4: MSTORE
000021a5: DUP10
000021a6: DUP2
000021a7: AND
000021a8: PUSH1 0x24
000021aa: DUP4
000021ab: ADD
000021ac: MSTORE
000021ad: SWAP2
000021ae: MLOAD
000021af: SWAP2
000021b0: SWAP1
000021b1: SWAP3
000021b2: AND
000021b3: SWAP2
000021b4: PUSH4 0xdae595e5
000021b9: SWAP2
000021ba: PUSH1 0x44
000021bc: DUP1
000021bd: DUP4
000021be: ADD
000021bf: SWAP3
000021c0: PUSH1 0x20
000021c2: SWAP3
000021c3: SWAP2
000021c4: SWAP1
000021c5: DUP3
000021c6: SWAP1
000021c7: SUB
000021c8: ADD
000021c9: DUP2
000021ca: DUP7
000021cb: DUP1
000021cc: EXTCODESIZE
000021cd: ISZERO
000021ce: DUP1
000021cf: ISZERO
000021d0: PUSH2 0x21d8
000021d3: JUMPI
000021d4: PUSH1 0x00
000021d6: DUP1
000021d7: REVERT
000021d8: JUMPDEST
000021d9: POP
000021da: GAS
000021db: STATICCALL
000021dc: ISZERO
000021dd: DUP1
000021de: ISZERO
000021df: PUSH2 0x21ec
000021e2: JUMPI
000021e3: RETURNDATASIZE
000021e4: PUSH1 0x00
000021e6: DUP1
000021e7: RETURNDATACOPY
000021e8: RETURNDATASIZE
000021e9: PUSH1 0x00
000021eb: REVERT
000021ec: JUMPDEST
000021ed: POP
000021ee: POP
000021ef: POP
000021f0: POP
000021f1: PUSH1 0x40
000021f3: MLOAD
000021f4: RETURNDATASIZE
000021f5: PUSH1 0x20
000021f7: DUP2
000021f8: LT
000021f9: ISZERO
000021fa: PUSH2 0x2202
000021fd: JUMPI
000021fe: PUSH1 0x00
00002200: DUP1
00002201: REVERT
00002202: JUMPDEST
00002203: POP
00002204: MLOAD
00002205: PUSH1 0x40
00002207: DUP1
00002208: DUP4
00002209: ADD
0000220a: SWAP2
0000220b: SWAP1
0000220c: SWAP2
0000220d: MSTORE
0000220e: PUSH1 0x00
00002210: DUP1
00002211: SLOAD
00002212: DUP4
00002213: MLOAD
00002214: DUP4
00002215: MLOAD
00002216: PUSH32 0xebcc0de100000000000000000000000000000000000000000000000000000000
00002237: DUP2
00002238: MSTORE
00002239: PUSH1 0x01
0000223b: PUSH1 0xa0
0000223d: PUSH1 0x02
0000223f: EXP
00002240: SUB
00002241: DUP13
00002242: DUP2
00002243: AND
00002244: PUSH1 0x04
00002246: DUP4
00002247: ADD
00002248: MSTORE
00002249: DUP12
0000224a: DUP2
0000224b: AND
0000224c: PUSH1 0x24
0000224e: DUP4
0000224f: ADD
00002250: MSTORE
00002251: PUSH1 0x44
00002253: DUP3
00002254: ADD
00002255: SWAP3
00002256: SWAP1
00002257: SWAP3
00002258: MSTORE
00002259: DUP5
0000225a: MLOAD
0000225b: SWAP4
0000225c: SWAP5
0000225d: DUP6
0000225e: SWAP5
0000225f: SWAP3
00002260: SWAP1
00002261: SWAP4
00002262: AND
00002263: SWAP3
00002264: PUSH4 0xebcc0de1
00002269: SWAP3
0000226a: PUSH1 0x64
0000226c: DUP1
0000226d: DUP5
0000226e: ADD
0000226f: SWAP4
00002270: DUP3
00002271: SWAP1
00002272: SUB
00002273: ADD
00002274: DUP2
00002275: DUP7
00002276: DUP1
00002277: EXTCODESIZE
00002278: ISZERO
00002279: DUP1
0000227a: ISZERO
0000227b: PUSH2 0x2283
0000227e: JUMPI
0000227f: PUSH1 0x00
00002281: DUP1
00002282: REVERT
00002283: JUMPDEST
00002284: POP
00002285: GAS
00002286: STATICCALL
00002287: ISZERO
00002288: DUP1
00002289: ISZERO
0000228a: PUSH2 0x2297
0000228d: JUMPI
0000228e: RETURNDATASIZE
0000228f: PUSH1 0x00
00002291: DUP1
00002292: RETURNDATACOPY
00002293: RETURNDATASIZE
00002294: PUSH1 0x00
00002296: REVERT
00002297: JUMPDEST
00002298: POP
00002299: POP
0000229a: POP
0000229b: POP
0000229c: PUSH1 0x40
0000229e: MLOAD
0000229f: RETURNDATASIZE
000022a0: PUSH1 0x40
000022a2: DUP2
000022a3: LT
000022a4: ISZERO
000022a5: PUSH2 0x22ad
000022a8: JUMPI
000022a9: PUSH1 0x00
000022ab: DUP1
000022ac: REVERT
000022ad: JUMPDEST
000022ae: POP
000022af: DUP1
000022b0: MLOAD
000022b1: PUSH1 0x20
000022b3: SWAP2
000022b4: DUP3
000022b5: ADD
000022b6: MLOAD
000022b7: PUSH1 0x01
000022b9: SWAP3
000022ba: DUP7
000022bb: ADD
000022bc: DUP4
000022bd: SWAP1
000022be: MSTORE
000022bf: PUSH1 0x40
000022c1: DUP7
000022c2: ADD
000022c3: MLOAD
000022c4: SWAP2
000022c5: SWAP5
000022c6: POP
000022c7: SWAP3
000022c8: POP
000022c9: EQ
000022ca: ISZERO
000022cb: PUSH2 0x22d6
000022ce: JUMPI
000022cf: PUSH1 0x00
000022d1: PUSH1 0x20
000022d3: DUP5
000022d4: ADD
000022d5: MSTORE
000022d6: JUMPDEST
000022d7: DUP3
000022d8: PUSH1 0x40
000022da: ADD
000022db: MLOAD
000022dc: TIMESTAMP
000022dd: LT
000022de: ISZERO
000022df: PUSH2 0x22ea
000022e2: JUMPI
000022e3: PUSH1 0x00
000022e5: PUSH1 0x20
000022e7: DUP5
000022e8: ADD
000022e9: MSTORE
000022ea: JUMPDEST
000022eb: DUP1
000022ec: ISZERO
000022ed: PUSH2 0x22f8
000022f0: JUMPI
000022f1: PUSH1 0x00
000022f3: PUSH1 0x20
000022f5: DUP5
000022f6: ADD
000022f7: MSTORE
000022f8: JUMPDEST
000022f9: PUSH1 0x00
000022fb: SLOAD
000022fc: PUSH1 0x40
000022fe: DUP1
000022ff: MLOAD
00002300: PUSH32 0xb64c490500000000000000000000000000000000000000000000000000000000
00002321: DUP2
00002322: MSTORE
00002323: PUSH1 0x01
00002325: PUSH1 0xa0
00002327: PUSH1 0x02
00002329: EXP
0000232a: SUB
0000232b: DUP13
0000232c: DUP2
0000232d: AND
0000232e: PUSH1 0x04
00002330: DUP4
00002331: ADD
00002332: MSTORE
00002333: DUP12
00002334: DUP2
00002335: AND
00002336: PUSH1 0x24
00002338: DUP4
00002339: ADD
0000233a: MSTORE
0000233b: SWAP2
0000233c: MLOAD
0000233d: SWAP2
0000233e: SWAP1
0000233f: SWAP3
00002340: AND
00002341: SWAP2
00002342: PUSH4 0xb64c4905
00002347: SWAP2
00002348: PUSH1 0x44
0000234a: DUP1
0000234b: DUP4
0000234c: ADD
0000234d: SWAP3
0000234e: PUSH1 0x20
00002350: SWAP3
00002351: SWAP2
00002352: SWAP1
00002353: DUP3
00002354: SWAP1
00002355: SUB
00002356: ADD
00002357: DUP2
00002358: DUP7
00002359: DUP1
0000235a: EXTCODESIZE
0000235b: ISZERO
0000235c: DUP1
0000235d: ISZERO
0000235e: PUSH2 0x2366
00002361: JUMPI
00002362: PUSH1 0x00
00002364: DUP1
00002365: REVERT
00002366: JUMPDEST
00002367: POP
00002368: GAS
00002369: STATICCALL
0000236a: ISZERO
0000236b: DUP1
0000236c: ISZERO
0000236d: PUSH2 0x237a
00002370: JUMPI
00002371: RETURNDATASIZE
00002372: PUSH1 0x00
00002374: DUP1
00002375: RETURNDATACOPY
00002376: RETURNDATASIZE
00002377: PUSH1 0x00
00002379: REVERT
0000237a: JUMPDEST
0000237b: POP
0000237c: POP
0000237d: POP
0000237e: POP
0000237f: PUSH1 0x40
00002381: MLOAD
00002382: RETURNDATASIZE
00002383: PUSH1 0x20
00002385: DUP2
00002386: LT
00002387: ISZERO
00002388: PUSH2 0x2390
0000238b: JUMPI
0000238c: PUSH1 0x00
0000238e: DUP1
0000238f: REVERT
00002390: JUMPDEST
00002391: POP
00002392: MLOAD
00002393: PUSH1 0x60
00002395: DUP5
00002396: ADD
00002397: MSTORE
00002398: PUSH1 0x00
0000239a: SLOAD
0000239b: PUSH1 0x40
0000239d: DUP1
0000239e: MLOAD
0000239f: PUSH32 0xb8beafd600000000000000000000000000000000000000000000000000000000
000023c0: DUP2
000023c1: MSTORE
000023c2: PUSH1 0x01
000023c4: PUSH1 0xa0
000023c6: PUSH1 0x02
000023c8: EXP
000023c9: SUB
000023ca: DUP13
000023cb: DUP2
000023cc: AND
000023cd: PUSH1 0x04
000023cf: DUP4
000023d0: ADD
000023d1: MSTORE
000023d2: DUP12
000023d3: DUP2
000023d4: AND
000023d5: PUSH1 0x24
000023d7: DUP4
000023d8: ADD
000023d9: MSTORE
000023da: SWAP2
000023db: MLOAD
000023dc: SWAP2
000023dd: SWAP1
000023de: SWAP3
000023df: AND
000023e0: SWAP2
000023e1: PUSH4 0xb8beafd6
000023e6: SWAP2
000023e7: PUSH1 0x44
000023e9: DUP1
000023ea: DUP4
000023eb: ADD
000023ec: SWAP3
000023ed: PUSH1 0x20
000023ef: SWAP3
000023f0: SWAP2
000023f1: SWAP1
000023f2: DUP3
000023f3: SWAP1
000023f4: SUB
000023f5: ADD
000023f6: DUP2
000023f7: DUP7
000023f8: DUP1
000023f9: EXTCODESIZE
000023fa: ISZERO
000023fb: DUP1
000023fc: ISZERO
000023fd: PUSH2 0x2405
00002400: JUMPI
00002401: PUSH1 0x00
00002403: DUP1
00002404: REVERT
00002405: JUMPDEST
00002406: POP
00002407: GAS
00002408: STATICCALL
00002409: ISZERO
0000240a: DUP1
0000240b: ISZERO
0000240c: PUSH2 0x2419
0000240f: JUMPI
00002410: RETURNDATASIZE
00002411: PUSH1 0x00
00002413: DUP1
00002414: RETURNDATACOPY
00002415: RETURNDATASIZE
00002416: PUSH1 0x00
00002418: REVERT
00002419: JUMPDEST
0000241a: POP
0000241b: POP
0000241c: POP
0000241d: POP
0000241e: PUSH1 0x40
00002420: MLOAD
00002421: RETURNDATASIZE
00002422: PUSH1 0x20
00002424: DUP2
00002425: LT
00002426: ISZERO
00002427: PUSH2 0x242f
0000242a: JUMPI
0000242b: PUSH1 0x00
0000242d: DUP1
0000242e: REVERT
0000242f: JUMPDEST
00002430: POP
00002431: MLOAD
00002432: PUSH1 0x80
00002434: DUP5
00002435: ADD
00002436: MSTORE
00002437: PUSH1 0x00
00002439: SLOAD
0000243a: DUP4
0000243b: MLOAD
0000243c: PUSH1 0x40
0000243e: DUP1
0000243f: MLOAD
00002440: PUSH32 0xfdab1b7b00000000000000000000000000000000000000000000000000000000
00002461: DUP2
00002462: MSTORE
00002463: PUSH1 0x01
00002465: PUSH1 0xa0
00002467: PUSH1 0x02
00002469: EXP
0000246a: SUB
0000246b: DUP14
0000246c: DUP2
0000246d: AND
0000246e: PUSH1 0x04
00002470: DUP4
00002471: ADD
00002472: MSTORE
00002473: DUP13
00002474: DUP2
00002475: AND
00002476: PUSH1 0x24
00002478: DUP4
00002479: ADD
0000247a: MSTORE
0000247b: PUSH1 0x44
0000247d: DUP3
0000247e: ADD
0000247f: SWAP4
00002480: SWAP1
00002481: SWAP4
00002482: MSTORE
00002483: DUP2
00002484: MLOAD
00002485: SWAP3
00002486: SWAP1
00002487: SWAP4
00002488: AND
00002489: SWAP3
0000248a: PUSH4 0xfdab1b7b
0000248f: SWAP3
00002490: PUSH1 0x64
00002492: DUP1
00002493: DUP4
00002494: ADD
00002495: SWAP4
00002496: SWAP3
00002497: DUP3
00002498: SWAP1
00002499: SUB
0000249a: ADD
0000249b: DUP2
0000249c: DUP7
0000249d: DUP1
0000249e: EXTCODESIZE
0000249f: ISZERO
000024a0: DUP1
000024a1: ISZERO
000024a2: PUSH2 0x24aa
000024a5: JUMPI
000024a6: PUSH1 0x00
000024a8: DUP1
000024a9: REVERT
000024aa: JUMPDEST
000024ab: POP
000024ac: GAS
000024ad: STATICCALL
000024ae: ISZERO
000024af: DUP1
000024b0: ISZERO
000024b1: PUSH2 0x24be
000024b4: JUMPI
000024b5: RETURNDATASIZE
000024b6: PUSH1 0x00
000024b8: DUP1
000024b9: RETURNDATACOPY
000024ba: RETURNDATASIZE
000024bb: PUSH1 0x00
000024bd: REVERT
000024be: JUMPDEST
000024bf: POP
000024c0: POP
000024c1: POP
000024c2: POP
000024c3: PUSH1 0x40
000024c5: MLOAD
000024c6: RETURNDATASIZE
000024c7: PUSH1 0x40
000024c9: DUP2
000024ca: LT
000024cb: ISZERO
000024cc: PUSH2 0x24d4
000024cf: JUMPI
000024d0: PUSH1 0x00
000024d2: DUP1
000024d3: REVERT
000024d4: JUMPDEST
000024d5: POP
000024d6: DUP1
000024d7: MLOAD
000024d8: PUSH1 0x20
000024da: SWAP1
000024db: SWAP2
000024dc: ADD
000024dd: MLOAD
000024de: SWAP1
000024df: SWAP3
000024e0: POP
000024e1: SWAP1
000024e2: POP
000024e3: PUSH1 0x01
000024e5: PUSH1 0xa0
000024e7: PUSH1 0x02
000024e9: EXP
000024ea: SUB
000024eb: DUP10
000024ec: DUP2
000024ed: AND
000024ee: SWAP1
000024ef: DUP9
000024f0: AND
000024f1: EQ
000024f2: ISZERO
000024f3: PUSH2 0x2525
000024f6: JUMPI
000024f7: PUSH2 0x251b
000024fa: PUSH2 0x2510
000024fd: PUSH2 0x250a
00002500: DUP6
00002501: PUSH1 0x80
00002503: ADD
00002504: MLOAD
00002505: DUP5
00002506: PUSH2 0x2876
00002509: JUMP
0000250a: JUMPDEST
0000250b: DUP5
0000250c: PUSH2 0x2898
0000250f: JUMP
00002510: JUMPDEST
00002511: DUP5
00002512: PUSH1 0x60
00002514: ADD
00002515: MLOAD
00002516: SUB
00002517: PUSH2 0x28bc
0000251a: JUMP
0000251b: JUMPDEST
0000251c: PUSH1 0xa0
0000251e: DUP5
0000251f: ADD
00002520: MSTORE
00002521: PUSH2 0x254a
00002524: JUMP
00002525: JUMPDEST
00002526: PUSH2 0x2544
00002529: DUP4
0000252a: PUSH1 0x80
0000252c: ADD
0000252d: MLOAD
0000252e: PUSH2 0x253e
00002531: PUSH2 0x250a
00002534: DUP7
00002535: PUSH1 0x60
00002537: ADD
00002538: MLOAD
00002539: DUP7
0000253a: PUSH2 0x2876
0000253d: JUMP
0000253e: JUMPDEST
0000253f: SUB
00002540: PUSH2 0x28bc
00002543: JUMP
00002544: JUMPDEST
00002545: PUSH1 0xa0
00002547: DUP5
00002548: ADD
00002549: MSTORE
0000254a: JUMPDEST
0000254b: PUSH2 0x2560
0000254e: PUSH2 0x255a
00002551: DUP4
00002552: PUSH3 0x0186a0
00002556: PUSH2 0x2876
00002559: JUMP
0000255a: JUMPDEST
0000255b: DUP3
0000255c: PUSH2 0x2898
0000255f: JUMP
00002560: JUMPDEST
00002561: PUSH1 0xc0
00002563: DUP5
00002564: ADD
00002565: MSTORE
00002566: PUSH1 0xa0
00002568: DUP4
00002569: ADD
0000256a: MLOAD
0000256b: PUSH2 0x2580
0000256e: SWAP1
0000256f: PUSH2 0x2579
00002572: SWAP1
00002573: PUSH1 0x5f
00002575: PUSH2 0x2876
00002578: JUMP
00002579: JUMPDEST
0000257a: PUSH1 0x64
0000257c: PUSH2 0x2898
0000257f: JUMP
00002580: JUMPDEST
00002581: PUSH2 0x0100
00002584: DUP5
00002585: ADD
00002586: MSTORE
00002587: PUSH1 0x40
00002589: DUP1
0000258a: MLOAD
0000258b: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000025ac: DUP2
000025ad: MSTORE
000025ae: ADDRESS
000025af: PUSH1 0x04
000025b1: DUP3
000025b2: ADD
000025b3: MSTORE
000025b4: SWAP1
000025b5: MLOAD
000025b6: PUSH1 0x00
000025b8: SWAP2
000025b9: PUSH1 0x01
000025bb: PUSH1 0xa0
000025bd: PUSH1 0x02
000025bf: EXP
000025c0: SUB
000025c1: DUP11
000025c2: AND
000025c3: SWAP2
000025c4: PUSH4 0x70a08231
000025c9: SWAP2
000025ca: PUSH1 0x24
000025cc: DUP1
000025cd: DUP3
000025ce: ADD
000025cf: SWAP3
000025d0: PUSH1 0x20
000025d2: SWAP3
000025d3: SWAP1
000025d4: SWAP2
000025d5: SWAP1
000025d6: DUP3
000025d7: SWAP1
000025d8: SUB
000025d9: ADD
000025da: DUP2
000025db: DUP7
000025dc: DUP1
000025dd: EXTCODESIZE
000025de: ISZERO
000025df: DUP1
000025e0: ISZERO
000025e1: PUSH2 0x25e9
000025e4: JUMPI
000025e5: PUSH1 0x00
000025e7: DUP1
000025e8: REVERT
000025e9: JUMPDEST
000025ea: POP
000025eb: GAS
000025ec: STATICCALL
000025ed: ISZERO
000025ee: DUP1
000025ef: ISZERO
000025f0: PUSH2 0x25fd
000025f3: JUMPI
000025f4: RETURNDATASIZE
000025f5: PUSH1 0x00
000025f7: DUP1
000025f8: RETURNDATACOPY
000025f9: RETURNDATASIZE
000025fa: PUSH1 0x00
000025fc: REVERT
000025fd: JUMPDEST
000025fe: POP
000025ff: POP
00002600: POP
00002601: POP
00002602: PUSH1 0x40
00002604: MLOAD
00002605: RETURNDATASIZE
00002606: PUSH1 0x20
00002608: DUP2
00002609: LT
0000260a: ISZERO
0000260b: PUSH2 0x2613
0000260e: JUMPI
0000260f: PUSH1 0x00
00002611: DUP1
00002612: REVERT
00002613: JUMPDEST
00002614: POP
00002615: MLOAD
00002616: PUSH2 0x0100
00002619: DUP6
0000261a: ADD
0000261b: MLOAD
0000261c: SWAP1
0000261d: SWAP2
0000261e: POP
0000261f: DUP2
00002620: LT
00002621: ISZERO
00002622: PUSH2 0x262e
00002625: JUMPI
00002626: PUSH2 0x0100
00002629: DUP5
0000262a: ADD
0000262b: DUP2
0000262c: SWAP1
0000262d: MSTORE
0000262e: JUMPDEST
0000262f: PUSH1 0x00
00002631: DUP7
00002632: DUP6
00002633: PUSH2 0x0100
00002636: ADD
00002637: MLOAD
00002638: LT
00002639: ISZERO
0000263a: ISZERO
0000263b: PUSH2 0x269b
0000263e: JUMPI
0000263f: DUP9
00002640: PUSH1 0x01
00002642: PUSH1 0xa0
00002644: PUSH1 0x02
00002646: EXP
00002647: SUB
00002648: AND
00002649: DUP12
0000264a: PUSH1 0x01
0000264c: PUSH1 0xa0
0000264e: PUSH1 0x02
00002650: EXP
00002651: SUB
00002652: AND
00002653: EQ
00002654: ISZERO
00002655: PUSH2 0x2670
00002658: JUMPI
00002659: PUSH2 0x2669
0000265c: DUP7
0000265d: DUP11
0000265e: DUP8
0000265f: PUSH2 0x0100
00002662: ADD
00002663: MLOAD
00002664: DUP12
00002665: PUSH2 0x1b75
00002668: JUMP
00002669: JUMPDEST
0000266a: SWAP1
0000266b: POP
0000266c: PUSH2 0x269b
0000266f: JUMP
00002670: JUMPDEST
00002671: PUSH2 0x2682
00002674: PUSH2 0x1c35
00002677: DUP7
00002678: PUSH2 0x0100
0000267b: ADD
0000267c: MLOAD
0000267d: DUP6
0000267e: PUSH2 0x2876
00002681: JUMP
00002682: JUMPDEST
00002683: PUSH2 0x0120
00002686: DUP7
00002687: ADD
00002688: DUP2
00002689: SWAP1
0000268a: MSTORE
0000268b: PUSH2 0x2698
0000268e: SWAP1
0000268f: DUP8
00002690: SWAP1
00002691: DUP11
00002692: SWAP1
00002693: DUP13
00002694: PUSH2 0x1b75
00002697: JUMP
00002698: JUMPDEST
00002699: SWAP1
0000269a: POP
0000269b: JUMPDEST
0000269c: PUSH2 0x26b2
0000269f: PUSH2 0x26aa
000026a2: DUP3
000026a3: PUSH1 0x06
000026a5: SLOAD
000026a6: PUSH2 0x2876
000026a9: JUMP
000026aa: JUMPDEST
000026ab: PUSH1 0x07
000026ad: SLOAD
000026ae: PUSH2 0x2898
000026b1: JUMP
000026b2: JUMPDEST
000026b3: PUSH1 0xe0
000026b5: DUP7
000026b6: ADD
000026b7: MSTORE
000026b8: PUSH1 0x01
000026ba: PUSH2 0x0140
000026bd: DUP7
000026be: ADD
000026bf: MSTORE
000026c0: PUSH1 0x20
000026c2: DUP6
000026c3: ADD
000026c4: MLOAD
000026c5: ISZERO
000026c6: ISZERO
000026c7: PUSH2 0x26d3
000026ca: JUMPI
000026cb: PUSH1 0x00
000026cd: PUSH2 0x0140
000026d0: DUP7
000026d1: ADD
000026d2: MSTORE
000026d3: JUMPDEST
000026d4: PUSH1 0xc0
000026d6: DUP6
000026d7: ADD
000026d8: MLOAD
000026d9: ISZERO
000026da: DUP1
000026db: PUSH2 0x26e6
000026de: JUMPI
000026df: POP
000026e0: PUSH1 0xe0
000026e2: DUP6
000026e3: ADD
000026e4: MLOAD
000026e5: ISZERO
000026e6: JUMPDEST
000026e7: ISZERO
000026e8: PUSH2 0x26f4
000026eb: JUMPI
000026ec: PUSH1 0x00
000026ee: PUSH2 0x0140
000026f1: DUP7
000026f2: ADD
000026f3: MSTORE
000026f4: JUMPDEST
000026f5: DUP5
000026f6: PUSH1 0xe0
000026f8: ADD
000026f9: MLOAD
000026fa: DUP6
000026fb: PUSH1 0xc0
000026fd: ADD
000026fe: MLOAD
000026ff: GT
00002700: ISZERO
00002701: PUSH2 0x270d
00002704: JUMPI
00002705: PUSH1 0x00
00002707: PUSH2 0x0140
0000270a: DUP7
0000270b: ADD
0000270c: MSTORE
0000270d: JUMPDEST
0000270e: DUP7
0000270f: DUP6
00002710: PUSH2 0x0100
00002713: ADD
00002714: MLOAD
00002715: LT
00002716: ISZERO
00002717: PUSH2 0x2723
0000271a: JUMPI
0000271b: PUSH1 0x00
0000271d: PUSH2 0x0140
00002720: DUP7
00002721: ADD
00002722: MSTORE
00002723: JUMPDEST
00002724: POP
00002725: POP
00002726: POP
00002727: POP
00002728: SWAP7
00002729: SWAP6
0000272a: POP
0000272b: POP
0000272c: POP
0000272d: POP
0000272e: POP
0000272f: POP
00002730: JUMP
00002731: JUMPDEST
00002732: PUSH1 0x00
00002734: DUP5
00002735: ISZERO
00002736: ISZERO
00002737: PUSH2 0x27ed
0000273a: JUMPI
0000273b: PUSH1 0x01
0000273d: SLOAD
0000273e: PUSH1 0x40
00002740: DUP1
00002741: MLOAD
00002742: PUSH32 0x0621b4f600000000000000000000000000000000000000000000000000000000
00002763: DUP2
00002764: MSTORE
00002765: PUSH1 0x01
00002767: PUSH1 0xa0
00002769: PUSH1 0x02
0000276b: EXP
0000276c: SUB
0000276d: DUP8
0000276e: DUP2
0000276f: AND
00002770: PUSH1 0x04
00002772: DUP4
00002773: ADD
00002774: MSTORE
00002775: PUSH1 0x24
00002777: DUP3
00002778: ADD
00002779: DUP8
0000277a: SWAP1
0000277b: MSTORE
0000277c: DUP6
0000277d: DUP2
0000277e: AND
0000277f: PUSH1 0x44
00002781: DUP4
00002782: ADD
00002783: MSTORE
00002784: PUSH1 0x00
00002786: PUSH1 0x64
00002788: DUP4
00002789: ADD
0000278a: DUP2
0000278b: SWAP1
0000278c: MSTORE
0000278d: SWAP3
0000278e: MLOAD
0000278f: SWAP4
00002790: AND
00002791: SWAP3
00002792: PUSH4 0x0621b4f6
00002797: SWAP3
00002798: PUSH1 0x84
0000279a: DUP1
0000279b: DUP5
0000279c: ADD
0000279d: SWAP4
0000279e: PUSH1 0x20
000027a0: SWAP4
000027a1: SWAP3
000027a2: SWAP1
000027a3: DUP4
000027a4: SWAP1
000027a5: SUB
000027a6: SWAP1
000027a7: SWAP2
000027a8: ADD
000027a9: SWAP1
000027aa: DUP3
000027ab: SWAP1
000027ac: DUP8
000027ad: DUP1
000027ae: EXTCODESIZE
000027af: ISZERO
000027b0: DUP1
000027b1: ISZERO
000027b2: PUSH2 0x27ba
000027b5: JUMPI
000027b6: PUSH1 0x00
000027b8: DUP1
000027b9: REVERT
000027ba: JUMPDEST
000027bb: POP
000027bc: GAS
000027bd: CALL
000027be: ISZERO
000027bf: DUP1
000027c0: ISZERO
000027c1: PUSH2 0x27ce
000027c4: JUMPI
000027c5: RETURNDATASIZE
000027c6: PUSH1 0x00
000027c8: DUP1
000027c9: RETURNDATACOPY
000027ca: RETURNDATASIZE
000027cb: PUSH1 0x00
000027cd: REVERT
000027ce: JUMPDEST
000027cf: POP
000027d0: POP
000027d1: POP
000027d2: POP
000027d3: PUSH1 0x40
000027d5: MLOAD
000027d6: RETURNDATASIZE
000027d7: PUSH1 0x20
000027d9: DUP2
000027da: LT
000027db: ISZERO
000027dc: PUSH2 0x27e4
000027df: JUMPI
000027e0: PUSH1 0x00
000027e2: DUP1
000027e3: REVERT
000027e4: JUMPDEST
000027e5: POP
000027e6: MLOAD
000027e7: SWAP1
000027e8: POP
000027e9: PUSH2 0x1d03
000027ec: JUMP
000027ed: JUMPDEST
000027ee: PUSH1 0x01
000027f0: DUP6
000027f1: EQ
000027f2: ISZERO
000027f3: PUSH2 0x1cfe
000027f6: JUMPI
000027f7: PUSH1 0x02
000027f9: SLOAD
000027fa: PUSH1 0x40
000027fc: DUP1
000027fd: MLOAD
000027fe: PUSH32 0x7409e2eb00000000000000000000000000000000000000000000000000000000
0000281f: DUP2
00002820: MSTORE
00002821: PUSH1 0x01
00002823: PUSH1 0xa0
00002825: PUSH1 0x02
00002827: EXP
00002828: SUB
00002829: DUP8
0000282a: DUP2
0000282b: AND
0000282c: PUSH1 0x04
0000282e: DUP4
0000282f: ADD
00002830: MSTORE
00002831: PUSH1 0x24
00002833: DUP3
00002834: ADD
00002835: DUP8
00002836: SWAP1
00002837: MSTORE
00002838: DUP6
00002839: DUP2
0000283a: AND
0000283b: PUSH1 0x44
0000283d: DUP4
0000283e: ADD
0000283f: MSTORE
00002840: PUSH1 0x00
00002842: PUSH1 0x64
00002844: DUP4
00002845: ADD
00002846: DUP2
00002847: SWAP1
00002848: MSTORE
00002849: SWAP3
0000284a: MLOAD
0000284b: SWAP4
0000284c: AND
0000284d: SWAP3
0000284e: PUSH4 0x7409e2eb
00002853: SWAP3
00002854: PUSH1 0x84
00002856: DUP1
00002857: DUP5
00002858: ADD
00002859: SWAP4
0000285a: PUSH1 0x20
0000285c: SWAP4
0000285d: SWAP3
0000285e: SWAP1
0000285f: DUP4
00002860: SWAP1
00002861: SUB
00002862: SWAP1
00002863: SWAP2
00002864: ADD
00002865: SWAP1
00002866: DUP3
00002867: SWAP1
00002868: DUP8
00002869: DUP1
0000286a: EXTCODESIZE
0000286b: ISZERO
0000286c: DUP1
0000286d: ISZERO
0000286e: PUSH2 0x27ba
00002871: JUMPI
00002872: PUSH1 0x00
00002874: DUP1
00002875: REVERT
00002876: JUMPDEST
00002877: PUSH1 0x00
00002879: PUSH2 0x2882
0000287c: DUP4
0000287d: DUP4
0000287e: PUSH2 0x28d5
00002881: JUMP
00002882: JUMPDEST
00002883: ISZERO
00002884: ISZERO
00002885: PUSH2 0x288d
00002888: JUMPI
00002889: PUSH1 0x00
0000288b: DUP1
0000288c: REVERT
0000288d: JUMPDEST
0000288e: POP
0000288f: DUP2
00002890: DUP2
00002891: MUL
00002892: JUMPDEST
00002893: SWAP3
00002894: SWAP2
00002895: POP
00002896: POP
00002897: JUMP
00002898: JUMPDEST
00002899: PUSH1 0x00
0000289b: DUP2
0000289c: ISZERO
0000289d: ISZERO
0000289e: PUSH2 0x28a9
000028a1: JUMPI
000028a2: POP
000028a3: PUSH1 0x00
000028a5: PUSH2 0x2892
000028a8: JUMP
000028a9: JUMPDEST
000028aa: DUP2
000028ab: DUP4
000028ac: DUP2
000028ad: ISZERO
000028ae: ISZERO
000028af: PUSH2 0x28b4
000028b2: JUMPI
000028b3: INVALID
000028b4: JUMPDEST
000028b5: DIV
000028b6: SWAP1
000028b7: POP
000028b8: PUSH2 0x2892
000028bb: JUMP
000028bc: JUMPDEST
000028bd: PUSH1 0x00
000028bf: DUP1
000028c0: DUP3
000028c1: SLT
000028c2: ISZERO
000028c3: PUSH2 0x28ce
000028c6: JUMPI
000028c7: POP
000028c8: PUSH1 0x00
000028ca: PUSH2 0x0cd8
000028cd: JUMP
000028ce: JUMPDEST
000028cf: POP
000028d0: DUP1
000028d1: PUSH2 0x0cd8
000028d4: JUMP
000028d5: JUMPDEST
000028d6: PUSH1 0x00
000028d8: DUP2
000028d9: ISZERO
000028da: DUP1
000028db: PUSH2 0x189e
000028de: JUMPI
000028df: POP
000028e0: DUP3
000028e1: DUP3
000028e2: DUP4
000028e3: DUP6
000028e4: MUL
000028e5: DUP2
000028e6: ISZERO
000028e7: ISZERO
000028e8: PUSH2 0x28ed
000028eb: JUMPI
000028ec: INVALID
000028ed: JUMPDEST
000028ee: DIV
000028ef: EQ
000028f0: SWAP4
000028f1: SWAP3
000028f2: POP
000028f3: POP
000028f4: POP
000028f5: JUMP
000028f6: JUMPDEST
000028f7: PUSH2 0x0160
000028fa: PUSH1 0x40
000028fc: MLOAD
000028fd: SWAP1
000028fe: DUP2
000028ff: ADD
00002900: PUSH1 0x40
00002902: MSTORE
00002903: DUP1
00002904: PUSH1 0x00
00002906: DUP2
00002907: MSTORE
00002908: PUSH1 0x20
0000290a: ADD
0000290b: PUSH1 0x00
0000290d: ISZERO
0000290e: ISZERO
0000290f: DUP2
00002910: MSTORE
00002911: PUSH1 0x20
00002913: ADD
00002914: PUSH1 0x00
00002916: DUP2
00002917: MSTORE
00002918: PUSH1 0x20
0000291a: ADD
0000291b: PUSH1 0x00
0000291d: DUP2
0000291e: MSTORE
0000291f: PUSH1 0x20
00002921: ADD
00002922: PUSH1 0x00
00002924: DUP2
00002925: MSTORE
00002926: PUSH1 0x20
00002928: ADD
00002929: PUSH1 0x00
0000292b: DUP2
0000292c: MSTORE
0000292d: PUSH1 0x20
0000292f: ADD
00002930: PUSH1 0x00
00002932: DUP2
00002933: MSTORE
00002934: PUSH1 0x20
00002936: ADD
00002937: PUSH1 0x00
00002939: DUP2
0000293a: MSTORE
0000293b: PUSH1 0x20
0000293d: ADD
0000293e: PUSH1 0x00
00002940: DUP2
00002941: MSTORE
00002942: PUSH1 0x20
00002944: ADD
00002945: PUSH1 0x00
00002947: DUP2
00002948: MSTORE
00002949: PUSH1 0x20
0000294b: ADD
0000294c: PUSH1 0x00
0000294e: ISZERO
0000294f: ISZERO
00002950: DUP2
00002951: MSTORE
00002952: POP
00002953: SWAP1
00002954: JUMP
00002955: INVALID
00002956: LOG1
00002957: PUSH6 0x627a7a723058
0000295e: KECCAK256
0000295f: GAS
00002960: UNKNOWN(0xBB)
00002961: UNKNOWN(0x1F)
00002962: SWAP16
00002963: CALL
00002964: UNKNOWN(0xCC)
00002965: UNKNOWN(0xCA)
00002966: ADD
00002967: UNKNOWN(0x2E)
00002968: UNKNOWN(0x2E)
00002969: UNKNOWN(0x4C)
0000296a: CHAINID
0000296b: SMOD
0000296c: SHR
0000296d: UNKNOWN(0xD5)
0000296e: UNKNOWN(0xED)
0000296f: CHAINID
00002970: PUSH4 0x4153c974
00002975: TSTORE
00002976: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4
call_targets: 0x2c79e1a51e25fffff54c3becadbf1554841a8fc8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2c79e1a51e25fffff54c3becadbf1554841a8fc8"
    ],
    "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": "0xee072426",
            "selector": "0xee072426",
            "calldata_variants": [
                "0xee072426",
                "0xee0724260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8821efa",
            "selector": "0xf8821efa",
            "calldata_variants": [
                "0xf8821efa",
                "0xf8821efa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb0f97a8",
            "selector": "0xfb0f97a8",
            "calldata_variants": [
                "0xfb0f97a8",
                "0xfb0f97a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7e9ba8b",
            "selector": "0xc7e9ba8b",
            "calldata_variants": [
                "0xc7e9ba8b",
                "0xc7e9ba8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd77366a4",
            "selector": "0xd77366a4",
            "calldata_variants": [
                "0xd77366a4",
                "0xd77366a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd53d657",
            "selector": "0xdd53d657",
            "calldata_variants": [
                "0xdd53d657",
                "0xdd53d6570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed2cdeff",
            "selector": "0xed2cdeff",
            "calldata_variants": [
                "0xed2cdeff",
                "0xed2cdeff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2540,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2709,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3168,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 24,
    "guards_detected": [],
    "untrusted_call_count": 24
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4
call_targets: 0x2c79e1a51e25fffff54c3becadbf1554841a8fc8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2c79e1a51e25fffff54c3becadbf1554841a8fc8"
    ],
    "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": "0xee072426",
            "selector": "0xee072426",
            "calldata_variants": [
                "0xee072426",
                "0xee0724260000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8821efa",
            "selector": "0xf8821efa",
            "calldata_variants": [
                "0xf8821efa",
                "0xf8821efa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb0f97a8",
            "selector": "0xfb0f97a8",
            "calldata_variants": [
                "0xfb0f97a8",
                "0xfb0f97a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7e9ba8b",
            "selector": "0xc7e9ba8b",
            "calldata_variants": [
                "0xc7e9ba8b",
                "0xc7e9ba8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd77366a4",
            "selector": "0xd77366a4",
            "calldata_variants": [
                "0xd77366a4",
                "0xd77366a40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd53d657",
            "selector": "0xdd53d657",
            "calldata_variants": [
                "0xdd53d657",
                "0xdd53d6570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed2cdeff",
            "selector": "0xed2cdeff",
            "calldata_variants": [
                "0xed2cdeff",
                "0xed2cdeff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2540,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2709,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3168,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 24,
    "guards_detected": []
}
medium other codex Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled) 75 no
view
evidence_json
{
    "evidence": "Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.",
    "locations": [
        "pc:0x9ec",
        "pc:0xa95",
        "pc:0xc60",
        "pc:0xdb0",
        "pc:0xdeb"
    ],
    "recommendation": "Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.",
    "exploit_scenario": "If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime."
}
low reentrancy codex External calls can occur before storage updates along CFG path 65 no
view
evidence_json
{
    "evidence": "CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.",
    "locations": [
        "pc:0x9ec",
        "pc:0xa95",
        "pc:0xae0"
    ],
    "recommendation": "Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.",
    "exploit_scenario": "A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized."
}
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": 34
}
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": 36
}