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

Analysis Run

019be3d6-8547-735e-b929-04787b4987ad

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:54 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41198 artifact.fetch complete 1 / 3 2 months ago
41199 proxy.resolve complete 1 / 3 2 months ago
41200 tool.cast_disasm complete 1 / 3 2 months ago
41201 analysis.bundle complete 1 / 3 2 months ago
41202 capability.graph complete 1 / 3 2 months ago
41203 detector.run complete 1 / 3 2 months ago
41204 validation.fork complete 1 / 3 2 months ago
41451 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
3
No findings?
no
Summary
Bytecode shows multiple computed external CALLs (including ETH value) and no detected guard/returndata checks; if these paths are callable without strict access control, they create arbitrary-call and reentrancy surface. No delegatecall or proxy patterns were detected in the bundle.
View stdout
{"no_findings":false,"summary":"Bytecode shows multiple computed external CALLs (including ETH value) and no detected guard/returndata checks; if these paths are callable without strict access control, they create arbitrary-call and reentrancy surface. No delegatecall or proxy patterns were detected in the bundle.","findings":[{"severity":"medium","category":"other","title":"Computed external CALLs with possible ETH value transfer (access control unclear)","exploit_scenario":"If any user-accessible function allows callers to influence CALL target/value, an attacker could route ETH or invoke arbitrary external calls through this contract. This is especially risky if the contract holds ETH/tokens or is expected to be a trusted router. Guard detection is heuristic and may miss checks, so this is a potential risk unless access controls/allowlists are confirmed.","recommendation":"Confirm which entrypoints reach these CALLs and enforce strict access control or target/recipient allowlists. Cap or block ETH value where not required. Consider reentrancy protections where state changes surround external calls.","evidence":"BYTECODE_BUNDLE.json callsites show 10 CALLs with computed targets/values and no detected guards; detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with untrusted_call_count=10. proxy_evidence reports not_proxy; delegatecall_count=0.","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603"]},{"severity":"low","category":"reentrancy","title":"Reentrancy surface from multiple external calls (guard not detected)","exploit_scenario":"The contract performs multiple external CALLs (some with ETH value). If any of these functions update sensitive state after the call, a malicious callee could reenter and manipulate state. The analysis shows no detected reentrancy guard, but this is heuristic and may miss custom protections.","recommendation":"Review call paths for state updates around external calls; apply checks-effects-interactions and/or a reentrancy guard on functions that can be reentered.","evidence":"callsites list multiple CALLs with computed targets; auth.guards and detector guards_detected are empty in the bundle (heuristic).","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603"]},{"severity":"low","category":"other","title":"External call return data not verified (heuristic)","exploit_scenario":"If any external call expects a boolean return (e.g., ERC20 transfer/approve), failing to inspect return data can let a call that returns false be treated as success, leading to accounting errors or missed transfers. The analysis marks returndatasize checking as unknown for these callsites.","recommendation":"For ERC20 interactions, use a SafeERC20-style check that requires either empty return data or a decoded true value; otherwise bubble up failure.","evidence":"callsites entries indicate `returndata_checked: null` for CALL/STATICCALLs in the bundle, implying no verified returndata handling was detected.","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603","pc:7739","pc:7889"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-v6zojk3n
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be4b7-6d80-7353-bccb-f10c25114f8d
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

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

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

thinking
**Clarifying untrusted call evidence**

The detector shows untrusted calls reachable, but call targets appear constant to the contract itself, raising uncertainty about actual untrusted interactions. Next, I'll investigate the evidence bundle for deeper details like storage slots and callsites to clarify this.
exec
/bin/bash -lc 'rg -n "storage|slot|eip-1967|delegatecall|proxy|upgrade" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-v6zojk3n succeeded in 23ms:
12527:            "delegatecall": 0,
12531:          "storage": {
12533:            "slots": [
12537:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12542:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12547:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12552:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12557:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12562:                "slot": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"
12567:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12572:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12577:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12582:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12587:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12601:            "delegatecall": 0,
12605:          "storage": {
12607:            "slots": [
12611:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12616:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
12621:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"

thinking
**Investigating storage slot identities**

I'm clarifying that the slot 0x8be0079c... doesn't match standard EIP-1967 admin, implementation, or beacon slots, so I'll inspect nearby storage data for contextual clues.
exec
/bin/bash -lc "sed -n '12480,12680p' BYTECODE_BUNDLE.json" in /tmp/codex-v6zojk3n succeeded in 8ms:
        },
        {
          "entry_pc": 1992795079,
          "selector": "0x715018a6"
        },
        {
          "entry_pc": null,
          "selector": "0x76c7a3c7"
        },
        {
          "entry_pc": 925635249,
          "selector": "0x372c12b1"
        },
        {
          "entry_pc": 1578124780,
          "selector": "0x39745791"
        },
        {
          "entry_pc": null,
          "selector": "0x5e1045ec"


thinking
**Analyzing storage slots for proxy admin**

The slot 0x8be0... being written likely corresponds to EIP-1967's proxy admin slot, which is defined as keccak256("eip1967.proxy.admin") minus 1; slot 0 appears to hold the Ownable owner, supported by frequent SLOADs there.
thinking
**Clarifying EIP-1967 slot constants**

Verified that 0xb531... is the standard proxy admin slot (keccak256("eip1967.proxy.admin") - 1), while 0x8be0... does not match known EIP-1967 slots and might reference an older or different proxy admin slot variant, prompting further verification via hashing.
exec
/bin/bash -lc "python - <<'PY'
import hashlib
s=b'eip1967.proxy.admin'
print(hashlib.sha3_256(s).hexdigest())
print(hex(int(hashlib.sha3_256(s).hexdigest(),16)-1))

s=b'eip1967.proxy.implementation'
print(hashlib.sha3_256(s).hexdigest())
print(hex(int(hashlib.sha3_256(s).hexdigest(),16)-1))

s=b'eip1967.proxy.beacon'
print(hashlib.sha3_256(s).hexdigest())
print(hex(int(hashlib.sha3_256(s).hexdigest(),16)-1))

s=b'org.zeppelinos.proxy.admin'
print(hashlib.sha3_256(s).hexdigest())
print(hex(int(hashlib.sha3_256(s).hexdigest(),16)-1))
PY" in /tmp/codex-v6zojk3n succeeded in 28ms:
5846d050da0e75d43b6055ae3cd6c2c65e1941ccb45afff84b891ff0c7a8e50f
0x5846d050da0e75d43b6055ae3cd6c2c65e1941ccb45afff84b891ff0c7a8e50e
169aa7877a62aec264f92a4c78812101abc42f65cbb20781a5cb4084c2d639d8
0x169aa7877a62aec264f92a4c78812101abc42f65cbb20781a5cb4084c2d639d7
79d0e26f0ed6a26bf96d37944c615e11aedbfafe56e064339e13dad9525cda32
0x79d0e26f0ed6a26bf96d37944c615e11aedbfafe56e064339e13dad9525cda31
e59ed60ca6e4e7df6bd875f45f3199fa50d18f9f8eab0cbc73f528c3bf38189d
0xe59ed60ca6e4e7df6bd875f45f3199fa50d18f9f8eab0cbc73f528c3bf38189c

thinking
**Identifying hash mismatch due to SHA3 vs Keccak difference**

The Python hashlib.sha3_256 uses NIST SHA3, not the Keccak-256 variant used by EVM, explaining the mismatch. I'll try using the `sha3` module or other libraries to compute Keccak-256 correctly.
exec
/bin/bash -lc "python - <<'PY'
try:
    import sha3
    def keccak(x):
        k=sha3.keccak_256(); k.update(x); return k.hexdigest()
    s=b'eip1967.proxy.admin'
    print(keccak(s))
    print(hex(int(keccak(s),16)-1))
    s=b'eip1967.proxy.implementation'
    print(keccak(s))
    print(hex(int(keccak(s),16)-1))
    s=b'eip1967.proxy.beacon'
    print(keccak(s))
    print(hex(int(keccak(s),16)-1))
    s=b'org.zeppelinos.proxy.admin'
    print(keccak(s))
    print(hex(int(keccak(s),16)-1))
except Exception as e:
    print('err',e)
PY" in /tmp/codex-v6zojk3n succeeded in 62ms:
err No module named 'sha3'

thinking
**Testing alternative hashing with pycryptodome**
exec
/bin/bash -lc "python - <<'PY'
try:
    from Crypto.Hash import keccak
    def keccak256(x):
        k=keccak.new(digest_bits=256); k.update(x); return k.hexdigest()
    for s in [b'eip1967.proxy.admin',b'eip1967.proxy.implementation',b'eip1967.proxy.beacon',b'org.zeppelinos.proxy.admin']:
        h=keccak256(s)
        print(s, h, hex(int(h,16)-1))
except Exception as e:
    print('err',e)
PY" in /tmp/codex-v6zojk3n succeeded in 56ms:
b'eip1967.proxy.admin' b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
b'eip1967.proxy.implementation' 360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
b'eip1967.proxy.beacon' a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50
b'org.zeppelinos.proxy.admin' 10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390a

thinking
**Verifying storage slot hash**

I'm checking if the 0x8be0... prefix corresponds to the keccak256 hash of "eip1967.proxy.rollback" to identify the right storage slot key.
exec
/bin/bash -lc "python - <<'PY'
from Crypto.Hash import keccak

def k(x):
    h=keccak.new(digest_bits=256); h.update(x); return h.hexdigest()
for s in [b'eip1967.proxy.rollback', b'eip1967.proxy.beacon', b'openzeppelin.proxy.admin', b'openzeppelin.proxy.implementation', b'proxy.admin', b'proxy.implementation', b'owner', b'admin']:
    h=k(s)
    print(s, h)
PY" in /tmp/codex-v6zojk3n succeeded in 42ms:
b'eip1967.proxy.rollback' 4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9144
b'eip1967.proxy.beacon' a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51
b'openzeppelin.proxy.admin' bf38c2d0adc3d0542057581afa111c0e6947b2baf81b0cbd692e26f5a31c0559
b'openzeppelin.proxy.implementation' 06e912bb1f432ca2174e7bccc7902357e764a28b016c94758cf09808c8359a4a
b'proxy.admin' b361eaf08109ac4e837850c52399e285128fdaa6c1699e4864dd655f97ca6fd8
b'proxy.implementation' 24ed44ee9374370fd3aa7c8b1abf58827504c20f65246b17d2b9e7e1aef77847
b'owner' 02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0
b'admin' f23ec0bb4210edd5cba85afd05127efcd2fc6a781bfed49188da1081670b22d8

thinking
**Verifying known storage slot hashes**

I'm double-checking if 0x8be0... corresponds to keccak256("eip1967.proxy.admin") or related variants but so far the computed keccak hashes don't match this slot value.
exec
/bin/bash -lc "python - <<'PY'
from Crypto.Hash import keccak

def k(x):
    h=keccak.new(digest_bits=256); h.update(x); return h.hexdigest()
words=[b'eip1967.proxy.owner',b'eip1967.proxy.admin.slot',b'eip1967.proxy.admin.1',b'eip1967.proxy.admins',b'proxy.owner',b'beacon',b'implementation',b'admin',b'rollBack',b'uups.rollback']
for s in words:
    h=k(s)
    if h.startswith('8be0079c'):
        print('match',s,h)
    # print some
print('computed')
PY" in /tmp/codex-v6zojk3n succeeded in 39ms:
computed

thinking
**Verifying proxiableUUID value**

I'm checking if the slot equals the keccak256 hash of "PROXIABLE" as used in UUPS proxies, recalling the expected value starts with 0x182df0 and preparing to compute it for confirmation.
exec
/bin/bash -lc "python - <<'PY'
from Crypto.Hash import keccak

def k(s):
    h=keccak.new(digest_bits=256); h.update(s); return h.hexdigest()
for s in [b'PROXIABLE', b'proxiableUUID', b'ERC1967.proxy.admin', b'ERC1967.proxy.implementation', b'ERC1967.proxy.admin', b'eip1967.proxy.admin', b'eip1967.proxy.admin']:
    h=k(s)
    print(s, h)
PY" in /tmp/codex-v6zojk3n succeeded in 75ms:
b'PROXIABLE' c5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7
b'proxiableUUID' d3687ab60bcb0240133c8082a516d7096d22c7ab2f400ffae5a400230f966e98
b'ERC1967.proxy.admin' 94bbcac2131e3a606ee92e51f96fc3a7ff72e26da7ac5e6220453abfd35802ef
b'ERC1967.proxy.implementation' 6c7adbb3f65038716c41f5e26b47e9d687a22e439e9d7270de3fa78a47ca7366
b'ERC1967.proxy.admin' 94bbcac2131e3a606ee92e51f96fc3a7ff72e26da7ac5e6220453abfd35802ef
b'eip1967.proxy.admin' b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104
b'eip1967.proxy.admin' b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104


thinking
**Analyzing large storage slot usage**

Identified that the large 256-bit storage slot likely corresponds to an unstructured storage pattern constant, similar to OpenZeppelin's EIP-1967 or StorageSlotUpgradeable usage, where fixed slot keys hold admin or implementation addresses rather than typical sequential storage slots.
thinking
**Confirming Ownable storage and slot discrepancies**

Confirmed the contract has Ownable functions with expected selectors, showing owner reads mostly from slot 0, but writes targeting the large constant slot suggest another purpose—likely upgradeability-related storage or a proxy admin slot despite no delegatecalls. Next, I'll check callsites to assess potential unguarded external calls.
exec
/bin/bash -lc 'rg -n "callsites|callsite|call_targets|untrusted" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-v6zojk3n succeeded in 9ms:
9403:      "callsites": [
21746:          "type": "callsite"
21752:          "type": "callsite"
21758:          "type": "callsite"
21764:          "type": "callsite"
21770:          "type": "callsite"
21776:          "type": "callsite"
21782:          "type": "callsite"
21788:          "type": "callsite"
21794:          "type": "callsite"
21800:          "type": "callsite"
21806:          "type": "callsite"
21812:          "type": "callsite"
22020:        "untrusted_call_count": 10
22030:        "call_targets": [
22082:        "call_targets": [

thinking
**Reviewing callsites block**

I'm examining lines 9300-9800 to understand the context and usage of the "callsites" section found near line 9403.
exec
/bin/bash -lc "sed -n '9360,9525p' BYTECODE_BUNDLE.json" in /tmp/codex-v6zojk3n succeeded in 7ms:
          "hash": "0x2c2dd4a5eef945bf35a6e071a90ffea9abe43e9b3f05ca3edff9af84de465f4d",
          "opcodes": [
            "OP_A2",
            "PUSH5",
            "OP_22",
            "SLT",
            "SHA3",
            "OP_D8",
            "OP_C5",
            "OP_FC",
            "MOD",
            "PUSH13",
            "OP_5E",
            "ADD",
            "OP_BD",
            "OP_B0",
            "MSTORE8",
            "PUSH7",
            "OP_96",
            "PUSH5",


thinking
**Analyzing external call risks and guard detection limits**

The call analysis shows computed targets, values, and return data checks, but missing access control detections may be heuristic gaps rather than true absences; presence of ownership functions suggests some control exists. I'll highlight risks around external calls without clear reentrancy guards and note possible false negatives in guard detection, especially given potential multicall or proxy patterns.
thinking
**Highlighting uncertain access control and external call risks**

The analysis confirms multiple external calls with nonzero ETH value and missing return data checks but no confirmed access control guards due to heuristic detection gaps. I'll report potential medium-severity risks from arbitrary external calls and unchecked return values while noting ownership functions exist but guard verification is inconclusive.
exec
/bin/bash -lc 'rg -n "evidence" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-v6zojk3n succeeded in 9ms:
14652:      "proxy_evidence": {
21994:      "evidence_json": {
22046:      "evidence_json": {

thinking
**Inspecting proxy evidence around offset 14600**
exec
/bin/bash -lc "sed -n '14580,14740p' BYTECODE_BUNDLE.json" in /tmp/codex-v6zojk3n succeeded in 26ms:
          {
            "op": "SLOAD",
            "pc": 2365,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SSTORE",
            "pc": 2401,
            "slot": "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0"
          },
          {
            "op": "SLOAD",
            "pc": 2444,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },
          {
            "op": "SLOAD",
            "pc": 2690,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
          },


thinking
**Analyzing runtime bytecode reveals access control and token swap logic**

The runtime includes multiple access control checks evidenced by "Ownable: caller is not the owner" errors, confirming guarded functions. It performs token transfers and approvals with several external calls, suggesting it implements a swap or aggregator involving token routing and sender restrictions.
thinking
**Confirming external call success checks and assessing reentrancy signals**

The runtime bytecode shows external calls with success checked via `CALL` status and `returndatasize` verification, matching common safe-call patterns. There's no evidence of delegatecall or explicit reentrancy guards yet, though presence of the `OwnershipTransferred` event topic suggests owner state tracking which may relate to access or reentrancy protections.
exec
/bin/bash -lc "python - <<'PY'
from Crypto.Hash import keccak

def k(s):
    h=keccak.new(digest_bits=256); h.update(s); return h.hexdigest()
print(k(b'OwnershipTransferred(address,address)'))
print(k(b'OwnershipTransferred(address,address)')=='8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0')
PY" in /tmp/codex-v6zojk3n succeeded in 42ms:
8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
True


thinking
**Clarifying event signature versus storage slot**

I confirmed the 0x8be0079c value is the OwnershipTransferred event signature used in LOG instructions, not a storage slot despite being flagged in analysis; actual storage slot 0 holds the owner, confirming the contract uses Ownable and implements access control.
thinking
**Summarizing bytecode vulnerability analysis**

I analyzed runtime bytecode and found multiple computed external calls with possible ETH value transfers and no detected access controls or reentrancy guards, posing potential arbitrary-call and reentrancy risks; there’s also heuristic evidence of missing ERC20 return data checks, while no delegatecall or proxy patterns were detected.
codex
{"no_findings":false,"summary":"Bytecode shows multiple computed external CALLs (including ETH value) and no detected guard/returndata checks; if these paths are callable without strict access control, they create arbitrary-call and reentrancy surface. No delegatecall or proxy patterns were detected in the bundle.","findings":[{"severity":"medium","category":"other","title":"Computed external CALLs with possible ETH value transfer (access control unclear)","exploit_scenario":"If any user-accessible function allows callers to influence CALL target/value, an attacker could route ETH or invoke arbitrary external calls through this contract. This is especially risky if the contract holds ETH/tokens or is expected to be a trusted router. Guard detection is heuristic and may miss checks, so this is a potential risk unless access controls/allowlists are confirmed.","recommendation":"Confirm which entrypoints reach these CALLs and enforce strict access control or target/recipient allowlists. Cap or block ETH value where not required. Consider reentrancy protections where state changes surround external calls.","evidence":"BYTECODE_BUNDLE.json callsites show 10 CALLs with computed targets/values and no detected guards; detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with untrusted_call_count=10. proxy_evidence reports not_proxy; delegatecall_count=0.","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603"]},{"severity":"low","category":"reentrancy","title":"Reentrancy surface from multiple external calls (guard not detected)","exploit_scenario":"The contract performs multiple external CALLs (some with ETH value). If any of these functions update sensitive state after the call, a malicious callee could reenter and manipulate state. The analysis shows no detected reentrancy guard, but this is heuristic and may miss custom protections.","recommendation":"Review call paths for state updates around external calls; apply checks-effects-interactions and/or a reentrancy guard on functions that can be reentered.","evidence":"callsites list multiple CALLs with computed targets; auth.guards and detector guards_detected are empty in the bundle (heuristic).","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603"]},{"severity":"low","category":"other","title":"External call return data not verified (heuristic)","exploit_scenario":"If any external call expects a boolean return (e.g., ERC20 transfer/approve), failing to inspect return data can let a call that returns false be treated as success, leading to accounting errors or missed transfers. The analysis marks returndatasize checking as unknown for these callsites.","recommendation":"For ERC20 interactions, use a SafeERC20-style check that requires either empty return data or a decoded true value; otherwise bubble up failure.","evidence":"callsites entries indicate `returndata_checked: null` for CALL/STATICCALLs in the bundle, implying no verified returndata handling was detected.","locations":["pc:3206","pc:3965","pc:4159","pc:4463","pc:4816","pc:5465","pc:7168","pc:7313","pc:7458","pc:7603","pc:7739","pc:7889"]}]}
tokens used
100,226
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T08:03:43.456730+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 17666,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows multiple computed external CALLs (including ETH value) and no detected guard/returndata checks; if these paths are callable without strict access control, they create arbitrary-call and reentrancy surface. No delegatecall or proxy patterns were detected in the bundle.",
    "raw_final": {
        "summary": "Bytecode shows multiple computed external CALLs (including ETH value) and no detected guard/returndata checks; if these paths are callable without strict access control, they create arbitrary-call and reentrancy surface. No delegatecall or proxy patterns were detected in the bundle.",
        "findings": [
            {
                "title": "Computed external CALLs with possible ETH value transfer (access control unclear)",
                "category": "other",
                "evidence": "BYTECODE_BUNDLE.json callsites show 10 CALLs with computed targets/values and no detected guards; detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with untrusted_call_count=10. proxy_evidence reports not_proxy; delegatecall_count=0.",
                "severity": "medium",
                "locations": [
                    "pc:3206",
                    "pc:3965",
                    "pc:4159",
                    "pc:4463",
                    "pc:4816",
                    "pc:5465",
                    "pc:7168",
                    "pc:7313",
                    "pc:7458",
                    "pc:7603"
                ],
                "recommendation": "Confirm which entrypoints reach these CALLs and enforce strict access control or target/recipient allowlists. Cap or block ETH value where not required. Consider reentrancy protections where state changes surround external calls.",
                "exploit_scenario": "If any user-accessible function allows callers to influence CALL target/value, an attacker could route ETH or invoke arbitrary external calls through this contract. This is especially risky if the contract holds ETH/tokens or is expected to be a trusted router. Guard detection is heuristic and may miss checks, so this is a potential risk unless access controls/allowlists are confirmed."
            },
            {
                "title": "Reentrancy surface from multiple external calls (guard not detected)",
                "category": "reentrancy",
                "evidence": "callsites list multiple CALLs with computed targets; auth.guards and detector guards_detected are empty in the bundle (heuristic).",
                "severity": "low",
                "locations": [
                    "pc:3206",
                    "pc:3965",
                    "pc:4159",
                    "pc:4463",
                    "pc:4816",
                    "pc:5465",
                    "pc:7168",
                    "pc:7313",
                    "pc:7458",
                    "pc:7603"
                ],
                "recommendation": "Review call paths for state updates around external calls; apply checks-effects-interactions and/or a reentrancy guard on functions that can be reentered.",
                "exploit_scenario": "The contract performs multiple external CALLs (some with ETH value). If any of these functions update sensitive state after the call, a malicious callee could reenter and manipulate state. The analysis shows no detected reentrancy guard, but this is heuristic and may miss custom protections."
            },
            {
                "title": "External call return data not verified (heuristic)",
                "category": "other",
                "evidence": "callsites entries indicate `returndata_checked: null` for CALL/STATICCALLs in the bundle, implying no verified returndata handling was detected.",
                "severity": "low",
                "locations": [
                    "pc:3206",
                    "pc:3965",
                    "pc:4159",
                    "pc:4463",
                    "pc:4816",
                    "pc:5465",
                    "pc:7168",
                    "pc:7313",
                    "pc:7458",
                    "pc:7603",
                    "pc:7739",
                    "pc:7889"
                ],
                "recommendation": "For ERC20 interactions, use a SafeERC20-style check that requires either empty return data or a decoded true value; otherwise bubble up failure.",
                "exploit_scenario": "If any external call expects a boolean return (e.g., ERC20 transfer/approve), failing to inspect return data can let a call that returns false be treated as success, leading to accounting errors or missed transfers. The analysis marks returndatasize checking as unknown for these callsites."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
12
EXT*/BALANCE
12
Total opcodes
5458
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 0x01c2
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: DUP1
00000031: PUSH4 0xb03b929f
00000036: GT
00000037: PUSH2 0x00fe
0000003a: JUMPI
0000003b: DUP1
0000003c: PUSH4 0xc36596a6
00000041: GT
00000042: PUSH2 0x00a7
00000045: JUMPI
00000046: DUP1
00000047: PUSH4 0xec093021
0000004c: GT
0000004d: PUSH2 0x0081
00000050: JUMPI
00000051: DUP1
00000052: PUSH4 0xec093021
00000057: EQ
00000058: PUSH2 0x04f0
0000005b: JUMPI
0000005c: DUP1
0000005d: PUSH4 0xf2fde38b
00000062: EQ
00000063: PUSH2 0x0505
00000066: JUMPI
00000067: DUP1
00000068: PUSH4 0xf3fef3a3
0000006d: EQ
0000006e: PUSH2 0x0538
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xfb77e411
00000078: EQ
00000079: PUSH2 0x0571
0000007c: JUMPI
0000007d: PUSH2 0x01c9
00000080: JUMP
00000081: JUMPDEST
00000082: DUP1
00000083: PUSH4 0xc36596a6
00000088: EQ
00000089: PUSH2 0x0207
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0xc6580d12
00000093: EQ
00000094: PUSH2 0x04db
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0xe4a28a52
0000009e: EQ
0000009f: PUSH2 0x01cb
000000a2: JUMPI
000000a3: PUSH2 0x01c9
000000a6: JUMP
000000a7: JUMPDEST
000000a8: DUP1
000000a9: PUSH4 0xba019dab
000000ae: GT
000000af: PUSH2 0x00d8
000000b2: JUMPI
000000b3: DUP1
000000b4: PUSH4 0xba019dab
000000b9: EQ
000000ba: PUSH2 0x049c
000000bd: JUMPI
000000be: DUP1
000000bf: PUSH4 0xbc063e1a
000000c4: EQ
000000c5: PUSH2 0x04b1
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0xbc694ea2
000000cf: EQ
000000d0: PUSH2 0x04c6
000000d3: JUMPI
000000d4: PUSH2 0x01c9
000000d7: JUMP
000000d8: JUMPDEST
000000d9: DUP1
000000da: PUSH4 0xb03b929f
000000df: EQ
000000e0: PUSH2 0x042a
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0xb0e0d136
000000ea: EQ
000000eb: PUSH2 0x0472
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0xb7b800a4
000000f5: EQ
000000f6: PUSH2 0x0487
000000f9: JUMPI
000000fa: PUSH2 0x01c9
000000fd: JUMP
000000fe: JUMPDEST
000000ff: DUP1
00000100: PUSH4 0x669b8f20
00000105: GT
00000106: PUSH2 0x016b
00000109: JUMPI
0000010a: DUP1
0000010b: PUSH4 0x867378c5
00000110: GT
00000111: PUSH2 0x0145
00000114: JUMPI
00000115: DUP1
00000116: PUSH4 0x867378c5
0000011b: EQ
0000011c: PUSH2 0x03ba
0000011f: JUMPI
00000120: DUP1
00000121: PUSH4 0x8da5cb5b
00000126: EQ
00000127: PUSH2 0x03cf
0000012a: JUMPI
0000012b: DUP1
0000012c: PUSH4 0x9381cd2b
00000131: EQ
00000132: PUSH2 0x0400
00000135: JUMPI
00000136: DUP1
00000137: PUSH4 0x992e2a92
0000013c: EQ
0000013d: PUSH2 0x0415
00000140: JUMPI
00000141: PUSH2 0x01c9
00000144: JUMP
00000145: JUMPDEST
00000146: DUP1
00000147: PUSH4 0x669b8f20
0000014c: EQ
0000014d: PUSH2 0x035d
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x715018a6
00000157: EQ
00000158: PUSH2 0x0390
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x76c7a3c7
00000162: EQ
00000163: PUSH2 0x03a5
00000166: JUMPI
00000167: PUSH2 0x01c9
0000016a: JUMP
0000016b: JUMPDEST
0000016c: DUP1
0000016d: PUSH4 0x372c12b1
00000172: GT
00000173: PUSH2 0x019c
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x372c12b1
0000017d: EQ
0000017e: PUSH2 0x021c
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x39745791
00000188: EQ
00000189: PUSH2 0x0263
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x5e1045ec
00000193: EQ
00000194: PUSH2 0x02e0
00000197: JUMPI
00000198: PUSH2 0x01c9
0000019b: JUMP
0000019c: JUMPDEST
0000019d: DUP1
0000019e: PUSH4 0x09a3bbe4
000001a3: EQ
000001a4: PUSH2 0x01cb
000001a7: JUMPI
000001a8: DUP1
000001a9: PUSH4 0x189d00ca
000001ae: EQ
000001af: PUSH2 0x01f2
000001b2: JUMPI
000001b3: DUP1
000001b4: PUSH4 0x218b5382
000001b9: EQ
000001ba: PUSH2 0x0207
000001bd: JUMPI
000001be: PUSH2 0x01c9
000001c1: JUMP
000001c2: JUMPDEST
000001c3: CALLDATASIZE
000001c4: PUSH2 0x01c9
000001c7: JUMPI
000001c8: STOP
000001c9: JUMPDEST
000001ca: STOP
000001cb: JUMPDEST
000001cc: CALLVALUE
000001cd: DUP1
000001ce: ISZERO
000001cf: PUSH2 0x01d7
000001d2: JUMPI
000001d3: PUSH1 0x00
000001d5: DUP1
000001d6: REVERT
000001d7: JUMPDEST
000001d8: POP
000001d9: PUSH2 0x01e0
000001dc: PUSH2 0x069b
000001df: JUMP
000001e0: JUMPDEST
000001e1: PUSH1 0x40
000001e3: DUP1
000001e4: MLOAD
000001e5: SWAP2
000001e6: DUP3
000001e7: MSTORE
000001e8: MLOAD
000001e9: SWAP1
000001ea: DUP2
000001eb: SWAP1
000001ec: SUB
000001ed: PUSH1 0x20
000001ef: ADD
000001f0: SWAP1
000001f1: RETURN
000001f2: JUMPDEST
000001f3: CALLVALUE
000001f4: DUP1
000001f5: ISZERO
000001f6: PUSH2 0x01fe
000001f9: JUMPI
000001fa: PUSH1 0x00
000001fc: DUP1
000001fd: REVERT
000001fe: JUMPDEST
000001ff: POP
00000200: PUSH2 0x01e0
00000203: PUSH2 0x06a8
00000206: JUMP
00000207: JUMPDEST
00000208: CALLVALUE
00000209: DUP1
0000020a: ISZERO
0000020b: PUSH2 0x0213
0000020e: JUMPI
0000020f: PUSH1 0x00
00000211: DUP1
00000212: REVERT
00000213: JUMPDEST
00000214: POP
00000215: PUSH2 0x01e0
00000218: PUSH2 0x06bc
0000021b: JUMP
0000021c: JUMPDEST
0000021d: CALLVALUE
0000021e: DUP1
0000021f: ISZERO
00000220: PUSH2 0x0228
00000223: JUMPI
00000224: PUSH1 0x00
00000226: DUP1
00000227: REVERT
00000228: JUMPDEST
00000229: POP
0000022a: PUSH2 0x024f
0000022d: PUSH1 0x04
0000022f: DUP1
00000230: CALLDATASIZE
00000231: SUB
00000232: PUSH1 0x20
00000234: DUP2
00000235: LT
00000236: ISZERO
00000237: PUSH2 0x023f
0000023a: JUMPI
0000023b: PUSH1 0x00
0000023d: DUP1
0000023e: REVERT
0000023f: JUMPDEST
00000240: POP
00000241: CALLDATALOAD
00000242: PUSH1 0x01
00000244: PUSH1 0xa0
00000246: PUSH1 0x02
00000248: EXP
00000249: SUB
0000024a: AND
0000024b: PUSH2 0x06c8
0000024e: JUMP
0000024f: JUMPDEST
00000250: PUSH1 0x40
00000252: DUP1
00000253: MLOAD
00000254: SWAP2
00000255: ISZERO
00000256: ISZERO
00000257: DUP3
00000258: MSTORE
00000259: MLOAD
0000025a: SWAP1
0000025b: DUP2
0000025c: SWAP1
0000025d: SUB
0000025e: PUSH1 0x20
00000260: ADD
00000261: SWAP1
00000262: RETURN
00000263: JUMPDEST
00000264: CALLVALUE
00000265: DUP1
00000266: ISZERO
00000267: PUSH2 0x026f
0000026a: JUMPI
0000026b: PUSH1 0x00
0000026d: DUP1
0000026e: REVERT
0000026f: JUMPDEST
00000270: POP
00000271: PUSH2 0x01c9
00000274: PUSH1 0x04
00000276: DUP1
00000277: CALLDATASIZE
00000278: SUB
00000279: PUSH1 0x20
0000027b: DUP2
0000027c: LT
0000027d: ISZERO
0000027e: PUSH2 0x0286
00000281: JUMPI
00000282: PUSH1 0x00
00000284: DUP1
00000285: REVERT
00000286: JUMPDEST
00000287: DUP2
00000288: ADD
00000289: SWAP1
0000028a: PUSH1 0x20
0000028c: DUP2
0000028d: ADD
0000028e: DUP2
0000028f: CALLDATALOAD
00000290: PUSH5 0x0100000000
00000296: DUP2
00000297: GT
00000298: ISZERO
00000299: PUSH2 0x02a1
0000029c: JUMPI
0000029d: PUSH1 0x00
0000029f: DUP1
000002a0: REVERT
000002a1: JUMPDEST
000002a2: DUP3
000002a3: ADD
000002a4: DUP4
000002a5: PUSH1 0x20
000002a7: DUP3
000002a8: ADD
000002a9: GT
000002aa: ISZERO
000002ab: PUSH2 0x02b3
000002ae: JUMPI
000002af: PUSH1 0x00
000002b1: DUP1
000002b2: REVERT
000002b3: JUMPDEST
000002b4: DUP1
000002b5: CALLDATALOAD
000002b6: SWAP1
000002b7: PUSH1 0x20
000002b9: ADD
000002ba: SWAP2
000002bb: DUP5
000002bc: PUSH1 0x20
000002be: DUP4
000002bf: MUL
000002c0: DUP5
000002c1: ADD
000002c2: GT
000002c3: PUSH5 0x0100000000
000002c9: DUP4
000002ca: GT
000002cb: OR
000002cc: ISZERO
000002cd: PUSH2 0x02d5
000002d0: JUMPI
000002d1: PUSH1 0x00
000002d3: DUP1
000002d4: REVERT
000002d5: JUMPDEST
000002d6: POP
000002d7: SWAP1
000002d8: SWAP3
000002d9: POP
000002da: SWAP1
000002db: POP
000002dc: PUSH2 0x06dd
000002df: JUMP
000002e0: JUMPDEST
000002e1: CALLVALUE
000002e2: DUP1
000002e3: ISZERO
000002e4: PUSH2 0x02ec
000002e7: JUMPI
000002e8: PUSH1 0x00
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: POP
000002ee: PUSH2 0x01c9
000002f1: PUSH1 0x04
000002f3: DUP1
000002f4: CALLDATASIZE
000002f5: SUB
000002f6: PUSH1 0x20
000002f8: DUP2
000002f9: LT
000002fa: ISZERO
000002fb: PUSH2 0x0303
000002fe: JUMPI
000002ff: PUSH1 0x00
00000301: DUP1
00000302: REVERT
00000303: JUMPDEST
00000304: DUP2
00000305: ADD
00000306: SWAP1
00000307: PUSH1 0x20
00000309: DUP2
0000030a: ADD
0000030b: DUP2
0000030c: CALLDATALOAD
0000030d: PUSH5 0x0100000000
00000313: DUP2
00000314: GT
00000315: ISZERO
00000316: PUSH2 0x031e
00000319: JUMPI
0000031a: PUSH1 0x00
0000031c: DUP1
0000031d: REVERT
0000031e: JUMPDEST
0000031f: DUP3
00000320: ADD
00000321: DUP4
00000322: PUSH1 0x20
00000324: DUP3
00000325: ADD
00000326: GT
00000327: ISZERO
00000328: PUSH2 0x0330
0000032b: JUMPI
0000032c: PUSH1 0x00
0000032e: DUP1
0000032f: REVERT
00000330: JUMPDEST
00000331: DUP1
00000332: CALLDATALOAD
00000333: SWAP1
00000334: PUSH1 0x20
00000336: ADD
00000337: SWAP2
00000338: DUP5
00000339: PUSH1 0x20
0000033b: DUP4
0000033c: MUL
0000033d: DUP5
0000033e: ADD
0000033f: GT
00000340: PUSH5 0x0100000000
00000346: DUP4
00000347: GT
00000348: OR
00000349: ISZERO
0000034a: PUSH2 0x0352
0000034d: JUMPI
0000034e: PUSH1 0x00
00000350: DUP1
00000351: REVERT
00000352: JUMPDEST
00000353: POP
00000354: SWAP1
00000355: SWAP3
00000356: POP
00000357: SWAP1
00000358: POP
00000359: PUSH2 0x07aa
0000035c: JUMP
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 0x024f
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: PUSH1 0x01
00000385: PUSH1 0xa0
00000387: PUSH1 0x02
00000389: EXP
0000038a: SUB
0000038b: AND
0000038c: PUSH2 0x0871
0000038f: JUMP
00000390: JUMPDEST
00000391: CALLVALUE
00000392: DUP1
00000393: ISZERO
00000394: PUSH2 0x039c
00000397: JUMPI
00000398: PUSH1 0x00
0000039a: DUP1
0000039b: REVERT
0000039c: JUMPDEST
0000039d: POP
0000039e: PUSH2 0x01c9
000003a1: PUSH2 0x088f
000003a4: JUMP
000003a5: JUMPDEST
000003a6: CALLVALUE
000003a7: DUP1
000003a8: ISZERO
000003a9: PUSH2 0x03b1
000003ac: JUMPI
000003ad: PUSH1 0x00
000003af: DUP1
000003b0: REVERT
000003b1: JUMPDEST
000003b2: POP
000003b3: PUSH2 0x01e0
000003b6: PUSH2 0x0963
000003b9: JUMP
000003ba: JUMPDEST
000003bb: CALLVALUE
000003bc: DUP1
000003bd: ISZERO
000003be: PUSH2 0x03c6
000003c1: JUMPI
000003c2: PUSH1 0x00
000003c4: DUP1
000003c5: REVERT
000003c6: JUMPDEST
000003c7: POP
000003c8: PUSH2 0x01e0
000003cb: PUSH2 0x0975
000003ce: JUMP
000003cf: JUMPDEST
000003d0: CALLVALUE
000003d1: DUP1
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: POP
000003dd: PUSH2 0x03e4
000003e0: PUSH2 0x0989
000003e3: JUMP
000003e4: JUMPDEST
000003e5: PUSH1 0x40
000003e7: DUP1
000003e8: MLOAD
000003e9: PUSH1 0x01
000003eb: PUSH1 0xa0
000003ed: PUSH1 0x02
000003ef: EXP
000003f0: SUB
000003f1: SWAP1
000003f2: SWAP3
000003f3: AND
000003f4: DUP3
000003f5: MSTORE
000003f6: MLOAD
000003f7: SWAP1
000003f8: DUP2
000003f9: SWAP1
000003fa: SUB
000003fb: PUSH1 0x20
000003fd: ADD
000003fe: SWAP1
000003ff: RETURN
00000400: JUMPDEST
00000401: CALLVALUE
00000402: DUP1
00000403: ISZERO
00000404: PUSH2 0x040c
00000407: JUMPI
00000408: PUSH1 0x00
0000040a: DUP1
0000040b: REVERT
0000040c: JUMPDEST
0000040d: POP
0000040e: PUSH2 0x01e0
00000411: PUSH2 0x0998
00000414: JUMP
00000415: JUMPDEST
00000416: CALLVALUE
00000417: DUP1
00000418: ISZERO
00000419: PUSH2 0x0421
0000041c: JUMPI
0000041d: PUSH1 0x00
0000041f: DUP1
00000420: REVERT
00000421: JUMPDEST
00000422: POP
00000423: PUSH2 0x01e0
00000426: PUSH2 0x09a5
00000429: JUMP
0000042a: JUMPDEST
0000042b: CALLVALUE
0000042c: DUP1
0000042d: ISZERO
0000042e: PUSH2 0x0436
00000431: JUMPI
00000432: PUSH1 0x00
00000434: DUP1
00000435: REVERT
00000436: JUMPDEST
00000437: POP
00000438: PUSH2 0x01e0
0000043b: PUSH1 0x04
0000043d: DUP1
0000043e: CALLDATASIZE
0000043f: SUB
00000440: PUSH1 0xc0
00000442: DUP2
00000443: LT
00000444: ISZERO
00000445: PUSH2 0x044d
00000448: JUMPI
00000449: PUSH1 0x00
0000044b: DUP1
0000044c: REVERT
0000044d: JUMPDEST
0000044e: POP
0000044f: DUP1
00000450: CALLDATALOAD
00000451: SWAP1
00000452: PUSH1 0x20
00000454: DUP2
00000455: ADD
00000456: CALLDATALOAD
00000457: SWAP1
00000458: PUSH1 0x40
0000045a: DUP2
0000045b: ADD
0000045c: CALLDATALOAD
0000045d: SWAP1
0000045e: PUSH1 0x60
00000460: DUP2
00000461: ADD
00000462: CALLDATALOAD
00000463: SWAP1
00000464: PUSH1 0x80
00000466: DUP2
00000467: ADD
00000468: CALLDATALOAD
00000469: SWAP1
0000046a: PUSH1 0xa0
0000046c: ADD
0000046d: CALLDATALOAD
0000046e: PUSH2 0x09b1
00000471: JUMP
00000472: JUMPDEST
00000473: CALLVALUE
00000474: DUP1
00000475: ISZERO
00000476: PUSH2 0x047e
00000479: JUMPI
0000047a: PUSH1 0x00
0000047c: DUP1
0000047d: REVERT
0000047e: JUMPDEST
0000047f: POP
00000480: PUSH2 0x01e0
00000483: PUSH2 0x0a37
00000486: JUMP
00000487: JUMPDEST
00000488: CALLVALUE
00000489: DUP1
0000048a: ISZERO
0000048b: PUSH2 0x0493
0000048e: JUMPI
0000048f: PUSH1 0x00
00000491: DUP1
00000492: REVERT
00000493: JUMPDEST
00000494: POP
00000495: PUSH2 0x01e0
00000498: PUSH2 0x0a3c
0000049b: JUMP
0000049c: JUMPDEST
0000049d: CALLVALUE
0000049e: DUP1
0000049f: ISZERO
000004a0: PUSH2 0x04a8
000004a3: JUMPI
000004a4: PUSH1 0x00
000004a6: DUP1
000004a7: REVERT
000004a8: JUMPDEST
000004a9: POP
000004aa: PUSH2 0x01e0
000004ad: PUSH2 0x0a41
000004b0: JUMP
000004b1: JUMPDEST
000004b2: CALLVALUE
000004b3: DUP1
000004b4: ISZERO
000004b5: PUSH2 0x04bd
000004b8: JUMPI
000004b9: PUSH1 0x00
000004bb: DUP1
000004bc: REVERT
000004bd: JUMPDEST
000004be: POP
000004bf: PUSH2 0x01e0
000004c2: PUSH2 0x0a46
000004c5: JUMP
000004c6: JUMPDEST
000004c7: CALLVALUE
000004c8: DUP1
000004c9: ISZERO
000004ca: PUSH2 0x04d2
000004cd: JUMPI
000004ce: PUSH1 0x00
000004d0: DUP1
000004d1: REVERT
000004d2: JUMPDEST
000004d3: POP
000004d4: PUSH2 0x01e0
000004d7: PUSH2 0x0a56
000004da: JUMP
000004db: JUMPDEST
000004dc: CALLVALUE
000004dd: DUP1
000004de: ISZERO
000004df: PUSH2 0x04e7
000004e2: JUMPI
000004e3: PUSH1 0x00
000004e5: DUP1
000004e6: REVERT
000004e7: JUMPDEST
000004e8: POP
000004e9: PUSH2 0x01e0
000004ec: PUSH2 0x0a62
000004ef: JUMP
000004f0: JUMPDEST
000004f1: CALLVALUE
000004f2: DUP1
000004f3: ISZERO
000004f4: PUSH2 0x04fc
000004f7: JUMPI
000004f8: PUSH1 0x00
000004fa: DUP1
000004fb: REVERT
000004fc: JUMPDEST
000004fd: POP
000004fe: PUSH2 0x01e0
00000501: PUSH2 0x0a67
00000504: JUMP
00000505: JUMPDEST
00000506: CALLVALUE
00000507: DUP1
00000508: ISZERO
00000509: PUSH2 0x0511
0000050c: JUMPI
0000050d: PUSH1 0x00
0000050f: DUP1
00000510: REVERT
00000511: JUMPDEST
00000512: POP
00000513: PUSH2 0x01c9
00000516: PUSH1 0x04
00000518: DUP1
00000519: CALLDATASIZE
0000051a: SUB
0000051b: PUSH1 0x20
0000051d: DUP2
0000051e: LT
0000051f: ISZERO
00000520: PUSH2 0x0528
00000523: JUMPI
00000524: PUSH1 0x00
00000526: DUP1
00000527: REVERT
00000528: JUMPDEST
00000529: POP
0000052a: CALLDATALOAD
0000052b: PUSH1 0x01
0000052d: PUSH1 0xa0
0000052f: PUSH1 0x02
00000531: EXP
00000532: SUB
00000533: AND
00000534: PUSH2 0x0a77
00000537: JUMP
00000538: JUMPDEST
00000539: CALLVALUE
0000053a: DUP1
0000053b: ISZERO
0000053c: PUSH2 0x0544
0000053f: JUMPI
00000540: PUSH1 0x00
00000542: DUP1
00000543: REVERT
00000544: JUMPDEST
00000545: POP
00000546: PUSH2 0x01c9
00000549: PUSH1 0x04
0000054b: DUP1
0000054c: CALLDATASIZE
0000054d: SUB
0000054e: PUSH1 0x40
00000550: DUP2
00000551: LT
00000552: ISZERO
00000553: PUSH2 0x055b
00000556: JUMPI
00000557: PUSH1 0x00
00000559: DUP1
0000055a: REVERT
0000055b: JUMPDEST
0000055c: POP
0000055d: PUSH1 0x01
0000055f: PUSH1 0xa0
00000561: PUSH1 0x02
00000563: EXP
00000564: SUB
00000565: DUP2
00000566: CALLDATALOAD
00000567: AND
00000568: SWAP1
00000569: PUSH1 0x20
0000056b: ADD
0000056c: CALLDATALOAD
0000056d: PUSH2 0x0ba9
00000570: JUMP
00000571: JUMPDEST
00000572: PUSH2 0x01c9
00000575: PUSH1 0x04
00000577: DUP1
00000578: CALLDATASIZE
00000579: SUB
0000057a: PUSH1 0xc0
0000057c: DUP2
0000057d: LT
0000057e: ISZERO
0000057f: PUSH2 0x0587
00000582: JUMPI
00000583: PUSH1 0x00
00000585: DUP1
00000586: REVERT
00000587: JUMPDEST
00000588: DUP2
00000589: CALLDATALOAD
0000058a: SWAP2
0000058b: SWAP1
0000058c: DUP2
0000058d: ADD
0000058e: SWAP1
0000058f: PUSH1 0x40
00000591: DUP2
00000592: ADD
00000593: PUSH1 0x20
00000595: DUP3
00000596: ADD
00000597: CALLDATALOAD
00000598: PUSH5 0x0100000000
0000059e: DUP2
0000059f: GT
000005a0: ISZERO
000005a1: PUSH2 0x05a9
000005a4: JUMPI
000005a5: PUSH1 0x00
000005a7: DUP1
000005a8: REVERT
000005a9: JUMPDEST
000005aa: DUP3
000005ab: ADD
000005ac: DUP4
000005ad: PUSH1 0x20
000005af: DUP3
000005b0: ADD
000005b1: GT
000005b2: ISZERO
000005b3: PUSH2 0x05bb
000005b6: JUMPI
000005b7: PUSH1 0x00
000005b9: DUP1
000005ba: REVERT
000005bb: JUMPDEST
000005bc: DUP1
000005bd: CALLDATALOAD
000005be: SWAP1
000005bf: PUSH1 0x20
000005c1: ADD
000005c2: SWAP2
000005c3: DUP5
000005c4: PUSH1 0x20
000005c6: DUP4
000005c7: MUL
000005c8: DUP5
000005c9: ADD
000005ca: GT
000005cb: PUSH5 0x0100000000
000005d1: DUP4
000005d2: GT
000005d3: OR
000005d4: ISZERO
000005d5: PUSH2 0x05dd
000005d8: JUMPI
000005d9: PUSH1 0x00
000005db: DUP1
000005dc: REVERT
000005dd: JUMPDEST
000005de: SWAP2
000005df: SWAP4
000005e0: SWAP1
000005e1: SWAP3
000005e2: SWAP1
000005e3: SWAP2
000005e4: PUSH1 0x20
000005e6: DUP2
000005e7: ADD
000005e8: SWAP1
000005e9: CALLDATALOAD
000005ea: PUSH5 0x0100000000
000005f0: DUP2
000005f1: GT
000005f2: ISZERO
000005f3: PUSH2 0x05fb
000005f6: JUMPI
000005f7: PUSH1 0x00
000005f9: DUP1
000005fa: REVERT
000005fb: JUMPDEST
000005fc: DUP3
000005fd: ADD
000005fe: DUP4
000005ff: PUSH1 0x20
00000601: DUP3
00000602: ADD
00000603: GT
00000604: ISZERO
00000605: PUSH2 0x060d
00000608: JUMPI
00000609: PUSH1 0x00
0000060b: DUP1
0000060c: REVERT
0000060d: JUMPDEST
0000060e: DUP1
0000060f: CALLDATALOAD
00000610: SWAP1
00000611: PUSH1 0x20
00000613: ADD
00000614: SWAP2
00000615: DUP5
00000616: PUSH1 0x20
00000618: DUP4
00000619: MUL
0000061a: DUP5
0000061b: ADD
0000061c: GT
0000061d: PUSH5 0x0100000000
00000623: DUP4
00000624: GT
00000625: OR
00000626: ISZERO
00000627: PUSH2 0x062f
0000062a: JUMPI
0000062b: PUSH1 0x00
0000062d: DUP1
0000062e: REVERT
0000062f: JUMPDEST
00000630: SWAP2
00000631: SWAP4
00000632: SWAP1
00000633: SWAP3
00000634: SWAP1
00000635: SWAP2
00000636: PUSH1 0x20
00000638: DUP2
00000639: ADD
0000063a: SWAP1
0000063b: CALLDATALOAD
0000063c: PUSH5 0x0100000000
00000642: DUP2
00000643: GT
00000644: ISZERO
00000645: PUSH2 0x064d
00000648: JUMPI
00000649: PUSH1 0x00
0000064b: DUP1
0000064c: REVERT
0000064d: JUMPDEST
0000064e: DUP3
0000064f: ADD
00000650: DUP4
00000651: PUSH1 0x20
00000653: DUP3
00000654: ADD
00000655: GT
00000656: ISZERO
00000657: PUSH2 0x065f
0000065a: JUMPI
0000065b: PUSH1 0x00
0000065d: DUP1
0000065e: REVERT
0000065f: JUMPDEST
00000660: DUP1
00000661: CALLDATALOAD
00000662: SWAP1
00000663: PUSH1 0x20
00000665: ADD
00000666: SWAP2
00000667: DUP5
00000668: PUSH1 0x20
0000066a: DUP4
0000066b: MUL
0000066c: DUP5
0000066d: ADD
0000066e: GT
0000066f: PUSH5 0x0100000000
00000675: DUP4
00000676: GT
00000677: OR
00000678: ISZERO
00000679: PUSH2 0x0681
0000067c: JUMPI
0000067d: PUSH1 0x00
0000067f: DUP1
00000680: REVERT
00000681: JUMPDEST
00000682: SWAP2
00000683: SWAP4
00000684: POP
00000685: SWAP2
00000686: POP
00000687: PUSH1 0x01
00000689: PUSH1 0xa0
0000068b: PUSH1 0x02
0000068d: EXP
0000068e: SUB
0000068f: DUP2
00000690: CALLDATALOAD
00000691: AND
00000692: SWAP1
00000693: PUSH1 0x20
00000695: ADD
00000696: CALLDATALOAD
00000697: PUSH2 0x0cb3
0000069a: JUMP
0000069b: JUMPDEST
0000069c: PUSH9 0x02b5e3af16b1880000
000006a6: DUP2
000006a7: JUMP
000006a8: JUMPDEST
000006a9: PUSH5 0x02540be400
000006af: PUSH8 0x0de0b6b3a7640000
000006b8: JUMPDEST
000006b9: DIV
000006ba: DUP2
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH8 0x0de0b6b3a7640000
000006c6: DUP2
000006c7: JUMP
000006c8: JUMPDEST
000006c9: PUSH1 0x01
000006cb: PUSH1 0x20
000006cd: MSTORE
000006ce: PUSH1 0x00
000006d0: SWAP1
000006d1: DUP2
000006d2: MSTORE
000006d3: PUSH1 0x40
000006d5: SWAP1
000006d6: KECCAK256
000006d7: SLOAD
000006d8: PUSH1 0xff
000006da: AND
000006db: DUP2
000006dc: JUMP
000006dd: JUMPDEST
000006de: PUSH2 0x06e5
000006e1: PUSH2 0x172b
000006e4: JUMP
000006e5: JUMPDEST
000006e6: PUSH1 0x00
000006e8: SLOAD
000006e9: PUSH1 0x01
000006eb: PUSH1 0xa0
000006ed: PUSH1 0x02
000006ef: EXP
000006f0: SUB
000006f1: SWAP1
000006f2: DUP2
000006f3: AND
000006f4: SWAP2
000006f5: AND
000006f6: EQ
000006f7: PUSH2 0x074f
000006fa: JUMPI
000006fb: PUSH1 0x40
000006fd: DUP1
000006fe: MLOAD
000006ff: PUSH1 0x00
00000701: DUP1
00000702: MLOAD
00000703: PUSH1 0x20
00000705: PUSH2 0x222b
00000708: DUP4
00000709: CODECOPY
0000070a: DUP2
0000070b: MLOAD
0000070c: SWAP2
0000070d: MSTORE
0000070e: DUP2
0000070f: MSTORE
00000710: PUSH1 0x20
00000712: PUSH1 0x04
00000714: DUP3
00000715: ADD
00000716: DUP2
00000717: SWAP1
00000718: MSTORE
00000719: PUSH1 0x24
0000071b: DUP3
0000071c: ADD
0000071d: MSTORE
0000071e: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000073f: PUSH1 0x44
00000741: DUP3
00000742: ADD
00000743: MSTORE
00000744: SWAP1
00000745: MLOAD
00000746: SWAP1
00000747: DUP2
00000748: SWAP1
00000749: SUB
0000074a: PUSH1 0x64
0000074c: ADD
0000074d: SWAP1
0000074e: REVERT
0000074f: JUMPDEST
00000750: PUSH1 0x00
00000752: JUMPDEST
00000753: DUP2
00000754: DUP2
00000755: LT
00000756: ISZERO
00000757: PUSH2 0x07a5
0000075a: JUMPI
0000075b: PUSH1 0x00
0000075d: PUSH1 0x01
0000075f: PUSH1 0x00
00000761: DUP6
00000762: DUP6
00000763: DUP6
00000764: DUP2
00000765: DUP2
00000766: LT
00000767: PUSH2 0x076c
0000076a: JUMPI
0000076b: INVALID
0000076c: JUMPDEST
0000076d: PUSH1 0x20
0000076f: SWAP1
00000770: DUP2
00000771: MUL
00000772: SWAP3
00000773: SWAP1
00000774: SWAP3
00000775: ADD
00000776: CALLDATALOAD
00000777: PUSH1 0x01
00000779: PUSH1 0xa0
0000077b: PUSH1 0x02
0000077d: EXP
0000077e: SUB
0000077f: AND
00000780: DUP4
00000781: MSTORE
00000782: POP
00000783: DUP2
00000784: ADD
00000785: SWAP2
00000786: SWAP1
00000787: SWAP2
00000788: MSTORE
00000789: PUSH1 0x40
0000078b: ADD
0000078c: PUSH1 0x00
0000078e: KECCAK256
0000078f: DUP1
00000790: SLOAD
00000791: PUSH1 0xff
00000793: NOT
00000794: AND
00000795: SWAP2
00000796: ISZERO
00000797: ISZERO
00000798: SWAP2
00000799: SWAP1
0000079a: SWAP2
0000079b: OR
0000079c: SWAP1
0000079d: SSTORE
0000079e: PUSH1 0x01
000007a0: ADD
000007a1: PUSH2 0x0752
000007a4: JUMP
000007a5: JUMPDEST
000007a6: POP
000007a7: POP
000007a8: POP
000007a9: JUMP
000007aa: JUMPDEST
000007ab: PUSH2 0x07b2
000007ae: PUSH2 0x172b
000007b1: JUMP
000007b2: JUMPDEST
000007b3: PUSH1 0x00
000007b5: SLOAD
000007b6: PUSH1 0x01
000007b8: PUSH1 0xa0
000007ba: PUSH1 0x02
000007bc: EXP
000007bd: SUB
000007be: SWAP1
000007bf: DUP2
000007c0: AND
000007c1: SWAP2
000007c2: AND
000007c3: EQ
000007c4: PUSH2 0x081c
000007c7: JUMPI
000007c8: PUSH1 0x40
000007ca: DUP1
000007cb: MLOAD
000007cc: PUSH1 0x00
000007ce: DUP1
000007cf: MLOAD
000007d0: PUSH1 0x20
000007d2: PUSH2 0x222b
000007d5: DUP4
000007d6: CODECOPY
000007d7: DUP2
000007d8: MLOAD
000007d9: SWAP2
000007da: MSTORE
000007db: DUP2
000007dc: MSTORE
000007dd: PUSH1 0x20
000007df: PUSH1 0x04
000007e1: DUP3
000007e2: ADD
000007e3: DUP2
000007e4: SWAP1
000007e5: MSTORE
000007e6: PUSH1 0x24
000007e8: DUP3
000007e9: ADD
000007ea: MSTORE
000007eb: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000080c: PUSH1 0x44
0000080e: DUP3
0000080f: ADD
00000810: MSTORE
00000811: SWAP1
00000812: MLOAD
00000813: SWAP1
00000814: DUP2
00000815: SWAP1
00000816: SUB
00000817: PUSH1 0x64
00000819: ADD
0000081a: SWAP1
0000081b: REVERT
0000081c: JUMPDEST
0000081d: PUSH1 0x00
0000081f: JUMPDEST
00000820: DUP2
00000821: DUP2
00000822: LT
00000823: ISZERO
00000824: PUSH2 0x07a5
00000827: JUMPI
00000828: PUSH1 0x01
0000082a: DUP1
0000082b: PUSH1 0x00
0000082d: DUP6
0000082e: DUP6
0000082f: DUP6
00000830: DUP2
00000831: DUP2
00000832: LT
00000833: PUSH2 0x0838
00000836: JUMPI
00000837: INVALID
00000838: JUMPDEST
00000839: PUSH1 0x20
0000083b: SWAP1
0000083c: DUP2
0000083d: MUL
0000083e: SWAP3
0000083f: SWAP1
00000840: SWAP3
00000841: ADD
00000842: CALLDATALOAD
00000843: PUSH1 0x01
00000845: PUSH1 0xa0
00000847: PUSH1 0x02
00000849: EXP
0000084a: SUB
0000084b: AND
0000084c: DUP4
0000084d: MSTORE
0000084e: POP
0000084f: DUP2
00000850: ADD
00000851: SWAP2
00000852: SWAP1
00000853: SWAP2
00000854: MSTORE
00000855: PUSH1 0x40
00000857: ADD
00000858: PUSH1 0x00
0000085a: KECCAK256
0000085b: DUP1
0000085c: SLOAD
0000085d: PUSH1 0xff
0000085f: NOT
00000860: AND
00000861: SWAP2
00000862: ISZERO
00000863: ISZERO
00000864: SWAP2
00000865: SWAP1
00000866: SWAP2
00000867: OR
00000868: SWAP1
00000869: SSTORE
0000086a: PUSH1 0x01
0000086c: ADD
0000086d: PUSH2 0x081f
00000870: JUMP
00000871: JUMPDEST
00000872: PUSH1 0x01
00000874: PUSH1 0xa0
00000876: PUSH1 0x02
00000878: EXP
00000879: SUB
0000087a: AND
0000087b: PUSH1 0x00
0000087d: SWAP1
0000087e: DUP2
0000087f: MSTORE
00000880: PUSH1 0x01
00000882: PUSH1 0x20
00000884: MSTORE
00000885: PUSH1 0x40
00000887: SWAP1
00000888: KECCAK256
00000889: SLOAD
0000088a: PUSH1 0xff
0000088c: AND
0000088d: SWAP1
0000088e: JUMP
0000088f: JUMPDEST
00000890: PUSH2 0x0897
00000893: PUSH2 0x172b
00000896: JUMP
00000897: JUMPDEST
00000898: PUSH1 0x00
0000089a: SLOAD
0000089b: PUSH1 0x01
0000089d: PUSH1 0xa0
0000089f: PUSH1 0x02
000008a1: EXP
000008a2: SUB
000008a3: SWAP1
000008a4: DUP2
000008a5: AND
000008a6: SWAP2
000008a7: AND
000008a8: EQ
000008a9: PUSH2 0x0901
000008ac: JUMPI
000008ad: PUSH1 0x40
000008af: DUP1
000008b0: MLOAD
000008b1: PUSH1 0x00
000008b3: DUP1
000008b4: MLOAD
000008b5: PUSH1 0x20
000008b7: PUSH2 0x222b
000008ba: DUP4
000008bb: CODECOPY
000008bc: DUP2
000008bd: MLOAD
000008be: SWAP2
000008bf: MSTORE
000008c0: DUP2
000008c1: MSTORE
000008c2: PUSH1 0x20
000008c4: PUSH1 0x04
000008c6: DUP3
000008c7: ADD
000008c8: DUP2
000008c9: SWAP1
000008ca: MSTORE
000008cb: PUSH1 0x24
000008cd: DUP3
000008ce: ADD
000008cf: MSTORE
000008d0: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000008f1: PUSH1 0x44
000008f3: DUP3
000008f4: ADD
000008f5: MSTORE
000008f6: SWAP1
000008f7: MLOAD
000008f8: SWAP1
000008f9: DUP2
000008fa: SWAP1
000008fb: SUB
000008fc: PUSH1 0x64
000008fe: ADD
000008ff: SWAP1
00000900: REVERT
00000901: JUMPDEST
00000902: PUSH1 0x00
00000904: DUP1
00000905: SLOAD
00000906: PUSH1 0x40
00000908: MLOAD
00000909: PUSH1 0x01
0000090b: PUSH1 0xa0
0000090d: PUSH1 0x02
0000090f: EXP
00000910: SUB
00000911: SWAP1
00000912: SWAP2
00000913: AND
00000914: SWAP1
00000915: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000936: SWAP1
00000937: DUP4
00000938: SWAP1
00000939: LOG3
0000093a: PUSH1 0x00
0000093c: DUP1
0000093d: SLOAD
0000093e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000095f: AND
00000960: SWAP1
00000961: SSTORE
00000962: JUMP
00000963: JUMPDEST
00000964: PUSH3 0x0f4240
00000968: PUSH8 0x0de0b6b3a7640000
00000971: PUSH2 0x06b8
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH5 0xe8d4a51000
0000097c: PUSH8 0x0de0b6b3a7640000
00000985: PUSH2 0x06b8
00000988: JUMP
00000989: JUMPDEST
0000098a: PUSH1 0x00
0000098c: SLOAD
0000098d: PUSH1 0x01
0000098f: PUSH1 0xa0
00000991: PUSH1 0x02
00000993: EXP
00000994: SUB
00000995: AND
00000996: SWAP1
00000997: JUMP
00000998: JUMPDEST
00000999: PUSH9 0x056bc75e2d63100000
000009a3: DUP2
000009a4: JUMP
000009a5: JUMPDEST
000009a6: PUSH8 0x04a03ce68d215556
000009af: DUP2
000009b0: JUMP
000009b1: JUMPDEST
000009b2: PUSH1 0x00
000009b4: DUP1
000009b5: PUSH2 0x09be
000009b8: DUP8
000009b9: DUP7
000009ba: PUSH2 0x172f
000009bd: JUMP
000009be: JUMPDEST
000009bf: SWAP1
000009c0: POP
000009c1: PUSH1 0x00
000009c3: PUSH2 0x09d4
000009c6: PUSH8 0x0de0b6b3a7640000
000009cf: DUP6
000009d0: PUSH2 0x1887
000009d3: JUMP
000009d4: JUMPDEST
000009d5: SWAP1
000009d6: POP
000009d7: PUSH2 0x09e0
000009da: DUP6
000009db: DUP3
000009dc: PUSH2 0x18fd
000009df: JUMP
000009e0: JUMPDEST
000009e1: SWAP1
000009e2: POP
000009e3: PUSH1 0x00
000009e5: PUSH2 0x09f7
000009e8: DUP11
000009e9: PUSH2 0x09f2
000009ec: DUP13
000009ed: DUP6
000009ee: PUSH2 0x19e9
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH2 0x172f
000009f6: JUMP
000009f7: JUMPDEST
000009f8: SWAP1
000009f9: POP
000009fa: PUSH1 0x00
000009fc: PUSH2 0x0a05
000009ff: DUP3
00000a00: DUP6
00000a01: PUSH2 0x1a52
00000a04: JUMP
00000a05: JUMPDEST
00000a06: SWAP1
00000a07: POP
00000a08: PUSH1 0x00
00000a0a: PUSH2 0x0a1b
00000a0d: PUSH8 0x0de0b6b3a7640000
00000a16: DUP4
00000a17: PUSH2 0x1887
00000a1a: JUMP
00000a1b: JUMPDEST
00000a1c: SWAP1
00000a1d: POP
00000a1e: PUSH2 0x0a27
00000a21: DUP11
00000a22: DUP3
00000a23: PUSH2 0x18fd
00000a26: JUMP
00000a27: JUMPDEST
00000a28: SWAP13
00000a29: SWAP12
00000a2a: POP
00000a2b: POP
00000a2c: POP
00000a2d: POP
00000a2e: POP
00000a2f: POP
00000a30: POP
00000a31: POP
00000a32: POP
00000a33: POP
00000a34: POP
00000a35: POP
00000a36: JUMP
00000a37: JUMPDEST
00000a38: PUSH1 0x08
00000a3a: DUP2
00000a3b: JUMP
00000a3c: JUMPDEST
00000a3d: PUSH1 0x02
00000a3f: DUP2
00000a40: JUMP
00000a41: JUMPDEST
00000a42: PUSH1 0x01
00000a44: DUP2
00000a45: JUMP
00000a46: JUMPDEST
00000a47: PUSH1 0x0a
00000a49: PUSH8 0x0de0b6b3a7640000
00000a52: PUSH2 0x06b8
00000a55: JUMP
00000a56: JUMPDEST
00000a57: PUSH8 0x1bc16d674ec7ffff
00000a60: DUP2
00000a61: JUMP
00000a62: JUMPDEST
00000a63: PUSH1 0x00
00000a65: DUP2
00000a66: JUMP
00000a67: JUMPDEST
00000a68: PUSH1 0x02
00000a6a: PUSH8 0x0de0b6b3a7640000
00000a73: PUSH2 0x06b8
00000a76: JUMP
00000a77: JUMPDEST
00000a78: PUSH2 0x0a7f
00000a7b: PUSH2 0x172b
00000a7e: JUMP
00000a7f: JUMPDEST
00000a80: PUSH1 0x00
00000a82: SLOAD
00000a83: PUSH1 0x01
00000a85: PUSH1 0xa0
00000a87: PUSH1 0x02
00000a89: EXP
00000a8a: SUB
00000a8b: SWAP1
00000a8c: DUP2
00000a8d: AND
00000a8e: SWAP2
00000a8f: AND
00000a90: EQ
00000a91: PUSH2 0x0ae9
00000a94: JUMPI
00000a95: PUSH1 0x40
00000a97: DUP1
00000a98: MLOAD
00000a99: PUSH1 0x00
00000a9b: DUP1
00000a9c: MLOAD
00000a9d: PUSH1 0x20
00000a9f: PUSH2 0x222b
00000aa2: DUP4
00000aa3: CODECOPY
00000aa4: DUP2
00000aa5: MLOAD
00000aa6: SWAP2
00000aa7: MSTORE
00000aa8: DUP2
00000aa9: MSTORE
00000aaa: PUSH1 0x20
00000aac: PUSH1 0x04
00000aae: DUP3
00000aaf: ADD
00000ab0: DUP2
00000ab1: SWAP1
00000ab2: MSTORE
00000ab3: PUSH1 0x24
00000ab5: DUP3
00000ab6: ADD
00000ab7: MSTORE
00000ab8: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000ad9: PUSH1 0x44
00000adb: DUP3
00000adc: ADD
00000add: MSTORE
00000ade: SWAP1
00000adf: MLOAD
00000ae0: SWAP1
00000ae1: DUP2
00000ae2: SWAP1
00000ae3: SUB
00000ae4: PUSH1 0x64
00000ae6: ADD
00000ae7: SWAP1
00000ae8: REVERT
00000ae9: JUMPDEST
00000aea: PUSH1 0x01
00000aec: PUSH1 0xa0
00000aee: PUSH1 0x02
00000af0: EXP
00000af1: SUB
00000af2: DUP2
00000af3: AND
00000af4: PUSH2 0x0b36
00000af7: JUMPI
00000af8: PUSH1 0x40
00000afa: MLOAD
00000afb: PUSH1 0x00
00000afd: DUP1
00000afe: MLOAD
00000aff: PUSH1 0x20
00000b01: PUSH2 0x222b
00000b04: DUP4
00000b05: CODECOPY
00000b06: DUP2
00000b07: MLOAD
00000b08: SWAP2
00000b09: MSTORE
00000b0a: DUP2
00000b0b: MSTORE
00000b0c: PUSH1 0x04
00000b0e: ADD
00000b0f: DUP1
00000b10: DUP1
00000b11: PUSH1 0x20
00000b13: ADD
00000b14: DUP3
00000b15: DUP2
00000b16: SUB
00000b17: DUP3
00000b18: MSTORE
00000b19: PUSH1 0x26
00000b1b: DUP2
00000b1c: MSTORE
00000b1d: PUSH1 0x20
00000b1f: ADD
00000b20: DUP1
00000b21: PUSH2 0x2205
00000b24: PUSH1 0x26
00000b26: SWAP2
00000b27: CODECOPY
00000b28: PUSH1 0x40
00000b2a: ADD
00000b2b: SWAP2
00000b2c: POP
00000b2d: POP
00000b2e: PUSH1 0x40
00000b30: MLOAD
00000b31: DUP1
00000b32: SWAP2
00000b33: SUB
00000b34: SWAP1
00000b35: REVERT
00000b36: JUMPDEST
00000b37: PUSH1 0x00
00000b39: DUP1
00000b3a: SLOAD
00000b3b: PUSH1 0x40
00000b3d: MLOAD
00000b3e: PUSH1 0x01
00000b40: PUSH1 0xa0
00000b42: PUSH1 0x02
00000b44: EXP
00000b45: SUB
00000b46: DUP1
00000b47: DUP6
00000b48: AND
00000b49: SWAP4
00000b4a: SWAP3
00000b4b: AND
00000b4c: SWAP2
00000b4d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000b6e: SWAP2
00000b6f: LOG3
00000b70: PUSH1 0x00
00000b72: DUP1
00000b73: SLOAD
00000b74: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000b95: AND
00000b96: PUSH1 0x01
00000b98: PUSH1 0xa0
00000b9a: PUSH1 0x02
00000b9c: EXP
00000b9d: SUB
00000b9e: SWAP3
00000b9f: SWAP1
00000ba0: SWAP3
00000ba1: AND
00000ba2: SWAP2
00000ba3: SWAP1
00000ba4: SWAP2
00000ba5: OR
00000ba6: SWAP1
00000ba7: SSTORE
00000ba8: JUMP
00000ba9: JUMPDEST
00000baa: PUSH2 0x0bb1
00000bad: PUSH2 0x172b
00000bb0: JUMP
00000bb1: JUMPDEST
00000bb2: PUSH1 0x00
00000bb4: SLOAD
00000bb5: PUSH1 0x01
00000bb7: PUSH1 0xa0
00000bb9: PUSH1 0x02
00000bbb: EXP
00000bbc: SUB
00000bbd: SWAP1
00000bbe: DUP2
00000bbf: AND
00000bc0: SWAP2
00000bc1: AND
00000bc2: EQ
00000bc3: PUSH2 0x0c1b
00000bc6: JUMPI
00000bc7: PUSH1 0x40
00000bc9: DUP1
00000bca: MLOAD
00000bcb: PUSH1 0x00
00000bcd: DUP1
00000bce: MLOAD
00000bcf: PUSH1 0x20
00000bd1: PUSH2 0x222b
00000bd4: DUP4
00000bd5: CODECOPY
00000bd6: DUP2
00000bd7: MLOAD
00000bd8: SWAP2
00000bd9: MSTORE
00000bda: DUP2
00000bdb: MSTORE
00000bdc: PUSH1 0x20
00000bde: PUSH1 0x04
00000be0: DUP3
00000be1: ADD
00000be2: DUP2
00000be3: SWAP1
00000be4: MSTORE
00000be5: PUSH1 0x24
00000be7: DUP3
00000be8: ADD
00000be9: MSTORE
00000bea: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000c0b: PUSH1 0x44
00000c0d: DUP3
00000c0e: ADD
00000c0f: MSTORE
00000c10: SWAP1
00000c11: MLOAD
00000c12: SWAP1
00000c13: DUP2
00000c14: SWAP1
00000c15: SUB
00000c16: PUSH1 0x64
00000c18: ADD
00000c19: SWAP1
00000c1a: REVERT
00000c1b: JUMPDEST
00000c1c: PUSH1 0x40
00000c1e: DUP1
00000c1f: MLOAD
00000c20: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00000c41: DUP2
00000c42: MSTORE
00000c43: CALLER
00000c44: PUSH1 0x04
00000c46: DUP3
00000c47: ADD
00000c48: MSTORE
00000c49: PUSH1 0x24
00000c4b: DUP2
00000c4c: ADD
00000c4d: DUP4
00000c4e: SWAP1
00000c4f: MSTORE
00000c50: SWAP1
00000c51: MLOAD
00000c52: PUSH1 0x01
00000c54: PUSH1 0xa0
00000c56: PUSH1 0x02
00000c58: EXP
00000c59: SUB
00000c5a: DUP5
00000c5b: AND
00000c5c: SWAP2
00000c5d: PUSH4 0xa9059cbb
00000c62: SWAP2
00000c63: PUSH1 0x44
00000c65: DUP1
00000c66: DUP4
00000c67: ADD
00000c68: SWAP3
00000c69: PUSH1 0x20
00000c6b: SWAP3
00000c6c: SWAP2
00000c6d: SWAP1
00000c6e: DUP3
00000c6f: SWAP1
00000c70: SUB
00000c71: ADD
00000c72: DUP2
00000c73: PUSH1 0x00
00000c75: DUP8
00000c76: DUP1
00000c77: EXTCODESIZE
00000c78: ISZERO
00000c79: DUP1
00000c7a: ISZERO
00000c7b: PUSH2 0x0c83
00000c7e: JUMPI
00000c7f: PUSH1 0x00
00000c81: DUP1
00000c82: REVERT
00000c83: JUMPDEST
00000c84: POP
00000c85: GAS
00000c86: CALL
00000c87: ISZERO
00000c88: DUP1
00000c89: ISZERO
00000c8a: PUSH2 0x0c97
00000c8d: JUMPI
00000c8e: RETURNDATASIZE
00000c8f: PUSH1 0x00
00000c91: DUP1
00000c92: RETURNDATACOPY
00000c93: RETURNDATASIZE
00000c94: PUSH1 0x00
00000c96: REVERT
00000c97: JUMPDEST
00000c98: POP
00000c99: POP
00000c9a: POP
00000c9b: POP
00000c9c: PUSH1 0x40
00000c9e: MLOAD
00000c9f: RETURNDATASIZE
00000ca0: PUSH1 0x20
00000ca2: DUP2
00000ca3: LT
00000ca4: ISZERO
00000ca5: PUSH2 0x0cad
00000ca8: JUMPI
00000ca9: PUSH1 0x00
00000cab: DUP1
00000cac: REVERT
00000cad: JUMPDEST
00000cae: POP
00000caf: POP
00000cb0: POP
00000cb1: POP
00000cb2: JUMP
00000cb3: JUMPDEST
00000cb4: CALLER
00000cb5: PUSH1 0x00
00000cb7: SWAP1
00000cb8: DUP2
00000cb9: MSTORE
00000cba: PUSH1 0x01
00000cbc: PUSH1 0x20
00000cbe: MSTORE
00000cbf: PUSH1 0x40
00000cc1: SWAP1
00000cc2: KECCAK256
00000cc3: SLOAD
00000cc4: PUSH1 0xff
00000cc6: AND
00000cc7: DUP1
00000cc8: PUSH2 0x0ce9
00000ccb: JUMPI
00000ccc: POP
00000ccd: PUSH2 0x0cd4
00000cd0: PUSH2 0x0989
00000cd3: JUMP
00000cd4: JUMPDEST
00000cd5: PUSH1 0x01
00000cd7: PUSH1 0xa0
00000cd9: PUSH1 0x02
00000cdb: EXP
00000cdc: SUB
00000cdd: AND
00000cde: CALLER
00000cdf: PUSH1 0x01
00000ce1: PUSH1 0xa0
00000ce3: PUSH1 0x02
00000ce5: EXP
00000ce6: SUB
00000ce7: AND
00000ce8: EQ
00000ce9: JUMPDEST
00000cea: PUSH2 0x0d42
00000ced: JUMPI
00000cee: PUSH1 0x40
00000cf0: DUP1
00000cf1: MLOAD
00000cf2: PUSH1 0x00
00000cf4: DUP1
00000cf5: MLOAD
00000cf6: PUSH1 0x20
00000cf8: PUSH2 0x222b
00000cfb: DUP4
00000cfc: CODECOPY
00000cfd: DUP2
00000cfe: MLOAD
00000cff: SWAP2
00000d00: MSTORE
00000d01: DUP2
00000d02: MSTORE
00000d03: PUSH1 0x20
00000d05: PUSH1 0x04
00000d07: DUP3
00000d08: ADD
00000d09: MSTORE
00000d0a: PUSH1 0x13
00000d0c: PUSH1 0x24
00000d0e: DUP3
00000d0f: ADD
00000d10: MSTORE
00000d11: PUSH32 0x73656e64657220697320666f7262696464656e00000000000000000000000000
00000d32: PUSH1 0x44
00000d34: DUP3
00000d35: ADD
00000d36: MSTORE
00000d37: SWAP1
00000d38: MLOAD
00000d39: SWAP1
00000d3a: DUP2
00000d3b: SWAP1
00000d3c: SUB
00000d3d: PUSH1 0x64
00000d3f: ADD
00000d40: SWAP1
00000d41: REVERT
00000d42: JUMPDEST
00000d43: PUSH1 0x60
00000d45: DUP6
00000d46: PUSH8 0xffffffffffffffff
00000d4f: DUP2
00000d50: GT
00000d51: DUP1
00000d52: ISZERO
00000d53: PUSH2 0x0d5b
00000d56: JUMPI
00000d57: PUSH1 0x00
00000d59: DUP1
00000d5a: REVERT
00000d5b: JUMPDEST
00000d5c: POP
00000d5d: PUSH1 0x40
00000d5f: MLOAD
00000d60: SWAP1
00000d61: DUP1
00000d62: DUP3
00000d63: MSTORE
00000d64: DUP1
00000d65: PUSH1 0x20
00000d67: MUL
00000d68: PUSH1 0x20
00000d6a: ADD
00000d6b: DUP3
00000d6c: ADD
00000d6d: PUSH1 0x40
00000d6f: MSTORE
00000d70: DUP1
00000d71: ISZERO
00000d72: PUSH2 0x0d85
00000d75: JUMPI
00000d76: DUP2
00000d77: PUSH1 0x20
00000d79: ADD
00000d7a: PUSH1 0x20
00000d7c: DUP3
00000d7d: MUL
00000d7e: DUP1
00000d7f: CALLDATASIZE
00000d80: DUP4
00000d81: CALLDATACOPY
00000d82: ADD
00000d83: SWAP1
00000d84: POP
00000d85: JUMPDEST
00000d86: POP
00000d87: SWAP1
00000d88: POP
00000d89: PUSH1 0x00
00000d8b: DUP1
00000d8c: JUMPDEST
00000d8d: DUP8
00000d8e: DUP2
00000d8f: LT
00000d90: ISZERO
00000d91: PUSH2 0x0e47
00000d94: JUMPI
00000d95: PUSH2 0x0e25
00000d98: DUP10
00000d99: DUP10
00000d9a: DUP4
00000d9b: DUP2
00000d9c: DUP2
00000d9d: LT
00000d9e: PUSH2 0x0da3
00000da1: JUMPI
00000da2: INVALID
00000da3: JUMPDEST
00000da4: SWAP1
00000da5: POP
00000da6: PUSH1 0x20
00000da8: MUL
00000da9: ADD
00000daa: CALLDATALOAD
00000dab: PUSH1 0x01
00000dad: PUSH1 0xa0
00000daf: PUSH1 0x02
00000db1: EXP
00000db2: SUB
00000db3: AND
00000db4: DUP3
00000db5: PUSH1 0x00
00000db7: EQ
00000db8: PUSH2 0x0ddf
00000dbb: JUMPI
00000dbc: DUP9
00000dbd: DUP9
00000dbe: PUSH1 0x01
00000dc0: DUP6
00000dc1: SUB
00000dc2: DUP2
00000dc3: DUP2
00000dc4: LT
00000dc5: PUSH2 0x0dca
00000dc8: JUMPI
00000dc9: INVALID
00000dca: JUMPDEST
00000dcb: SWAP1
00000dcc: POP
00000dcd: PUSH1 0x20
00000dcf: MUL
00000dd0: ADD
00000dd1: CALLDATALOAD
00000dd2: PUSH1 0x01
00000dd4: PUSH1 0xa0
00000dd6: PUSH1 0x02
00000dd8: EXP
00000dd9: SUB
00000dda: AND
00000ddb: PUSH2 0x0de1
00000dde: JUMP
00000ddf: JUMPDEST
00000de0: DUP7
00000de1: JUMPDEST
00000de2: DUP10
00000de3: DUP10
00000de4: DUP6
00000de5: DUP2
00000de6: DUP2
00000de7: LT
00000de8: PUSH2 0x0ded
00000deb: JUMPI
00000dec: INVALID
00000ded: JUMPDEST
00000dee: SWAP1
00000def: POP
00000df0: PUSH1 0x20
00000df2: MUL
00000df3: ADD
00000df4: CALLDATALOAD
00000df5: PUSH1 0x01
00000df7: PUSH1 0xa0
00000df9: PUSH1 0x02
00000dfb: EXP
00000dfc: SUB
00000dfd: AND
00000dfe: DUP5
00000dff: PUSH1 0x00
00000e01: EQ
00000e02: PUSH2 0x0e0b
00000e05: JUMPI
00000e06: DUP6
00000e07: PUSH2 0x0e0d
00000e0a: JUMP
00000e0b: JUMPDEST
00000e0c: DUP8
00000e0d: JUMPDEST
00000e0e: DUP16
00000e0f: DUP16
00000e10: DUP8
00000e11: DUP2
00000e12: DUP2
00000e13: LT
00000e14: PUSH2 0x0e19
00000e17: JUMPI
00000e18: INVALID
00000e19: JUMPDEST
00000e1a: SWAP1
00000e1b: POP
00000e1c: PUSH1 0x20
00000e1e: MUL
00000e1f: ADD
00000e20: CALLDATALOAD
00000e21: PUSH2 0x1b7f
00000e24: JUMP
00000e25: JUMPDEST
00000e26: SWAP2
00000e27: POP
00000e28: DUP2
00000e29: DUP4
00000e2a: DUP3
00000e2b: DUP2
00000e2c: MLOAD
00000e2d: DUP2
00000e2e: LT
00000e2f: PUSH2 0x0e34
00000e32: JUMPI
00000e33: INVALID
00000e34: JUMPDEST
00000e35: PUSH1 0x20
00000e37: SWAP1
00000e38: DUP2
00000e39: MUL
00000e3a: SWAP2
00000e3b: SWAP1
00000e3c: SWAP2
00000e3d: ADD
00000e3e: ADD
00000e3f: MSTORE
00000e40: PUSH1 0x01
00000e42: ADD
00000e43: PUSH2 0x0d8c
00000e46: JUMP
00000e47: JUMPDEST
00000e48: POP
00000e49: POP
00000e4a: DUP10
00000e4b: DUP2
00000e4c: PUSH1 0x01
00000e4e: DUP10
00000e4f: DUP10
00000e50: SWAP1
00000e51: POP
00000e52: SUB
00000e53: DUP2
00000e54: MLOAD
00000e55: DUP2
00000e56: LT
00000e57: PUSH2 0x0e5c
00000e5a: JUMPI
00000e5b: INVALID
00000e5c: JUMPDEST
00000e5d: PUSH1 0x20
00000e5f: MUL
00000e60: PUSH1 0x20
00000e62: ADD
00000e63: ADD
00000e64: MLOAD
00000e65: LT
00000e66: PUSH2 0x16b8
00000e69: JUMPI
00000e6a: PUSH1 0x00
00000e6c: JUMPDEST
00000e6d: DUP7
00000e6e: DUP2
00000e6f: LT
00000e70: ISZERO
00000e71: PUSH2 0x157a
00000e74: JUMPI
00000e75: PUSH1 0x00
00000e77: DUP2
00000e78: ISZERO
00000e79: PUSH2 0x0ea0
00000e7c: JUMPI
00000e7d: DUP7
00000e7e: DUP7
00000e7f: PUSH1 0x01
00000e81: DUP5
00000e82: SUB
00000e83: DUP2
00000e84: DUP2
00000e85: LT
00000e86: PUSH2 0x0e8b
00000e89: JUMPI
00000e8a: INVALID
00000e8b: JUMPDEST
00000e8c: SWAP1
00000e8d: POP
00000e8e: PUSH1 0x20
00000e90: MUL
00000e91: ADD
00000e92: CALLDATALOAD
00000e93: PUSH1 0x01
00000e95: PUSH1 0xa0
00000e97: PUSH1 0x02
00000e99: EXP
00000e9a: SUB
00000e9b: AND
00000e9c: PUSH2 0x0ea2
00000e9f: JUMP
00000ea0: JUMPDEST
00000ea1: DUP5
00000ea2: JUMPDEST
00000ea3: SWAP1
00000ea4: POP
00000ea5: DUP11
00000ea6: DUP11
00000ea7: DUP4
00000ea8: DUP2
00000ea9: DUP2
00000eaa: LT
00000eab: PUSH2 0x0eb0
00000eae: JUMPI
00000eaf: INVALID
00000eb0: JUMPDEST
00000eb1: SWAP1
00000eb2: POP
00000eb3: PUSH1 0x20
00000eb5: MUL
00000eb6: ADD
00000eb7: CALLDATALOAD
00000eb8: PUSH1 0x02
00000eba: EQ
00000ebb: ISZERO
00000ebc: PUSH2 0x119e
00000ebf: JUMPI
00000ec0: DUP2
00000ec1: ISZERO
00000ec2: PUSH2 0x0ee1
00000ec5: JUMPI
00000ec6: DUP3
00000ec7: PUSH1 0x01
00000ec9: DUP4
00000eca: SUB
00000ecb: DUP2
00000ecc: MLOAD
00000ecd: DUP2
00000ece: LT
00000ecf: PUSH2 0x0ed4
00000ed2: JUMPI
00000ed3: INVALID
00000ed4: JUMPDEST
00000ed5: PUSH1 0x20
00000ed7: MUL
00000ed8: PUSH1 0x20
00000eda: ADD
00000edb: ADD
00000edc: MLOAD
00000edd: PUSH2 0x0ee3
00000ee0: JUMP
00000ee1: JUMPDEST
00000ee2: DUP4
00000ee3: JUMPDEST
00000ee4: DUP2
00000ee5: PUSH1 0x01
00000ee7: PUSH1 0xa0
00000ee9: PUSH1 0x02
00000eeb: EXP
00000eec: SUB
00000eed: AND
00000eee: PUSH4 0xdd62ed3e
00000ef3: ADDRESS
00000ef4: DUP13
00000ef5: DUP13
00000ef6: DUP8
00000ef7: DUP2
00000ef8: DUP2
00000ef9: LT
00000efa: PUSH2 0x0eff
00000efd: JUMPI
00000efe: INVALID
00000eff: JUMPDEST
00000f00: SWAP1
00000f01: POP
00000f02: PUSH1 0x20
00000f04: MUL
00000f05: ADD
00000f06: CALLDATALOAD
00000f07: PUSH1 0x01
00000f09: PUSH1 0xa0
00000f0b: PUSH1 0x02
00000f0d: EXP
00000f0e: SUB
00000f0f: AND
00000f10: PUSH1 0x40
00000f12: MLOAD
00000f13: DUP4
00000f14: PUSH4 0xffffffff
00000f19: AND
00000f1a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000f38: MUL
00000f39: DUP2
00000f3a: MSTORE
00000f3b: PUSH1 0x04
00000f3d: ADD
00000f3e: DUP1
00000f3f: DUP4
00000f40: PUSH1 0x01
00000f42: PUSH1 0xa0
00000f44: PUSH1 0x02
00000f46: EXP
00000f47: SUB
00000f48: AND
00000f49: DUP2
00000f4a: MSTORE
00000f4b: PUSH1 0x20
00000f4d: ADD
00000f4e: DUP3
00000f4f: PUSH1 0x01
00000f51: PUSH1 0xa0
00000f53: PUSH1 0x02
00000f55: EXP
00000f56: SUB
00000f57: AND
00000f58: DUP2
00000f59: MSTORE
00000f5a: PUSH1 0x20
00000f5c: ADD
00000f5d: SWAP3
00000f5e: POP
00000f5f: POP
00000f60: POP
00000f61: PUSH1 0x20
00000f63: PUSH1 0x40
00000f65: MLOAD
00000f66: DUP1
00000f67: DUP4
00000f68: SUB
00000f69: DUP2
00000f6a: PUSH1 0x00
00000f6c: DUP8
00000f6d: DUP1
00000f6e: EXTCODESIZE
00000f6f: ISZERO
00000f70: DUP1
00000f71: ISZERO
00000f72: PUSH2 0x0f7a
00000f75: JUMPI
00000f76: PUSH1 0x00
00000f78: DUP1
00000f79: REVERT
00000f7a: JUMPDEST
00000f7b: POP
00000f7c: GAS
00000f7d: CALL
00000f7e: ISZERO
00000f7f: DUP1
00000f80: ISZERO
00000f81: PUSH2 0x0f8e
00000f84: JUMPI
00000f85: RETURNDATASIZE
00000f86: PUSH1 0x00
00000f88: DUP1
00000f89: RETURNDATACOPY
00000f8a: RETURNDATASIZE
00000f8b: PUSH1 0x00
00000f8d: REVERT
00000f8e: JUMPDEST
00000f8f: POP
00000f90: POP
00000f91: POP
00000f92: POP
00000f93: PUSH1 0x40
00000f95: MLOAD
00000f96: RETURNDATASIZE
00000f97: PUSH1 0x20
00000f99: DUP2
00000f9a: LT
00000f9b: ISZERO
00000f9c: PUSH2 0x0fa4
00000f9f: JUMPI
00000fa0: PUSH1 0x00
00000fa2: DUP1
00000fa3: REVERT
00000fa4: JUMPDEST
00000fa5: POP
00000fa6: MLOAD
00000fa7: LT
00000fa8: ISZERO
00000fa9: PUSH2 0x1069
00000fac: JUMPI
00000fad: DUP1
00000fae: PUSH1 0x01
00000fb0: PUSH1 0xa0
00000fb2: PUSH1 0x02
00000fb4: EXP
00000fb5: SUB
00000fb6: AND
00000fb7: PUSH4 0x095ea7b3
00000fbc: DUP11
00000fbd: DUP11
00000fbe: DUP6
00000fbf: DUP2
00000fc0: DUP2
00000fc1: LT
00000fc2: PUSH2 0x0fc7
00000fc5: JUMPI
00000fc6: INVALID
00000fc7: JUMPDEST
00000fc8: SWAP1
00000fc9: POP
00000fca: PUSH1 0x20
00000fcc: MUL
00000fcd: ADD
00000fce: CALLDATALOAD
00000fcf: PUSH1 0x01
00000fd1: PUSH1 0xa0
00000fd3: PUSH1 0x02
00000fd5: EXP
00000fd6: SUB
00000fd7: AND
00000fd8: PUSH1 0x00
00000fda: NOT
00000fdb: PUSH1 0x40
00000fdd: MLOAD
00000fde: DUP4
00000fdf: PUSH4 0xffffffff
00000fe4: AND
00000fe5: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001003: MUL
00001004: DUP2
00001005: MSTORE
00001006: PUSH1 0x04
00001008: ADD
00001009: DUP1
0000100a: DUP4
0000100b: PUSH1 0x01
0000100d: PUSH1 0xa0
0000100f: PUSH1 0x02
00001011: EXP
00001012: SUB
00001013: AND
00001014: DUP2
00001015: MSTORE
00001016: PUSH1 0x20
00001018: ADD
00001019: DUP3
0000101a: DUP2
0000101b: MSTORE
0000101c: PUSH1 0x20
0000101e: ADD
0000101f: SWAP3
00001020: POP
00001021: POP
00001022: POP
00001023: PUSH1 0x20
00001025: PUSH1 0x40
00001027: MLOAD
00001028: DUP1
00001029: DUP4
0000102a: SUB
0000102b: DUP2
0000102c: PUSH1 0x00
0000102e: DUP8
0000102f: DUP1
00001030: EXTCODESIZE
00001031: ISZERO
00001032: DUP1
00001033: ISZERO
00001034: PUSH2 0x103c
00001037: JUMPI
00001038: PUSH1 0x00
0000103a: DUP1
0000103b: REVERT
0000103c: JUMPDEST
0000103d: POP
0000103e: GAS
0000103f: CALL
00001040: ISZERO
00001041: DUP1
00001042: ISZERO
00001043: PUSH2 0x1050
00001046: JUMPI
00001047: RETURNDATASIZE
00001048: PUSH1 0x00
0000104a: DUP1
0000104b: RETURNDATACOPY
0000104c: RETURNDATASIZE
0000104d: PUSH1 0x00
0000104f: REVERT
00001050: JUMPDEST
00001051: POP
00001052: POP
00001053: POP
00001054: POP
00001055: PUSH1 0x40
00001057: MLOAD
00001058: RETURNDATASIZE
00001059: PUSH1 0x20
0000105b: DUP2
0000105c: LT
0000105d: ISZERO
0000105e: PUSH2 0x1066
00001061: JUMPI
00001062: PUSH1 0x00
00001064: DUP1
00001065: REVERT
00001066: JUMPDEST
00001067: POP
00001068: POP
00001069: JUMPDEST
0000106a: DUP9
0000106b: DUP9
0000106c: DUP4
0000106d: DUP2
0000106e: DUP2
0000106f: LT
00001070: PUSH2 0x1075
00001073: JUMPI
00001074: INVALID
00001075: JUMPDEST
00001076: SWAP1
00001077: POP
00001078: PUSH1 0x20
0000107a: MUL
0000107b: ADD
0000107c: CALLDATALOAD
0000107d: PUSH1 0x01
0000107f: PUSH1 0xa0
00001081: PUSH1 0x02
00001083: EXP
00001084: SUB
00001085: AND
00001086: PUSH1 0x01
00001088: PUSH1 0xa0
0000108a: PUSH1 0x02
0000108c: EXP
0000108d: SUB
0000108e: AND
0000108f: PUSH4 0x8201aa3f
00001094: DUP3
00001095: DUP5
00001096: PUSH1 0x00
00001098: EQ
00001099: PUSH2 0x10b8
0000109c: JUMPI
0000109d: DUP6
0000109e: PUSH1 0x01
000010a0: DUP7
000010a1: SUB
000010a2: DUP2
000010a3: MLOAD
000010a4: DUP2
000010a5: LT
000010a6: PUSH2 0x10ab
000010a9: JUMPI
000010aa: INVALID
000010ab: JUMPDEST
000010ac: PUSH1 0x20
000010ae: MUL
000010af: PUSH1 0x20
000010b1: ADD
000010b2: ADD
000010b3: MLOAD
000010b4: PUSH2 0x10ba
000010b7: JUMP
000010b8: JUMPDEST
000010b9: DUP7
000010ba: JUMPDEST
000010bb: DUP11
000010bc: DUP11
000010bd: DUP8
000010be: DUP2
000010bf: DUP2
000010c0: LT
000010c1: PUSH2 0x10c6
000010c4: JUMPI
000010c5: INVALID
000010c6: JUMPDEST
000010c7: SWAP1
000010c8: POP
000010c9: PUSH1 0x20
000010cb: MUL
000010cc: ADD
000010cd: CALLDATALOAD
000010ce: PUSH1 0x01
000010d0: PUSH1 0xa0
000010d2: PUSH1 0x02
000010d4: EXP
000010d5: SUB
000010d6: AND
000010d7: DUP8
000010d8: DUP8
000010d9: DUP2
000010da: MLOAD
000010db: DUP2
000010dc: LT
000010dd: PUSH2 0x10e2
000010e0: JUMPI
000010e1: INVALID
000010e2: JUMPDEST
000010e3: PUSH1 0x20
000010e5: MUL
000010e6: PUSH1 0x20
000010e8: ADD
000010e9: ADD
000010ea: MLOAD
000010eb: PUSH1 0x00
000010ed: NOT
000010ee: PUSH1 0x40
000010f0: MLOAD
000010f1: DUP7
000010f2: PUSH4 0xffffffff
000010f7: AND
000010f8: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001116: MUL
00001117: DUP2
00001118: MSTORE
00001119: PUSH1 0x04
0000111b: ADD
0000111c: DUP1
0000111d: DUP7
0000111e: PUSH1 0x01
00001120: PUSH1 0xa0
00001122: PUSH1 0x02
00001124: EXP
00001125: SUB
00001126: AND
00001127: DUP2
00001128: MSTORE
00001129: PUSH1 0x20
0000112b: ADD
0000112c: DUP6
0000112d: DUP2
0000112e: MSTORE
0000112f: PUSH1 0x20
00001131: ADD
00001132: DUP5
00001133: PUSH1 0x01
00001135: PUSH1 0xa0
00001137: PUSH1 0x02
00001139: EXP
0000113a: SUB
0000113b: AND
0000113c: DUP2
0000113d: MSTORE
0000113e: PUSH1 0x20
00001140: ADD
00001141: DUP4
00001142: DUP2
00001143: MSTORE
00001144: PUSH1 0x20
00001146: ADD
00001147: DUP3
00001148: DUP2
00001149: MSTORE
0000114a: PUSH1 0x20
0000114c: ADD
0000114d: SWAP6
0000114e: POP
0000114f: POP
00001150: POP
00001151: POP
00001152: POP
00001153: POP
00001154: PUSH1 0x40
00001156: DUP1
00001157: MLOAD
00001158: DUP1
00001159: DUP4
0000115a: SUB
0000115b: DUP2
0000115c: PUSH1 0x00
0000115e: DUP8
0000115f: DUP1
00001160: EXTCODESIZE
00001161: ISZERO
00001162: DUP1
00001163: ISZERO
00001164: PUSH2 0x116c
00001167: JUMPI
00001168: PUSH1 0x00
0000116a: DUP1
0000116b: REVERT
0000116c: JUMPDEST
0000116d: POP
0000116e: GAS
0000116f: CALL
00001170: ISZERO
00001171: DUP1
00001172: ISZERO
00001173: PUSH2 0x1180
00001176: JUMPI
00001177: RETURNDATASIZE
00001178: PUSH1 0x00
0000117a: DUP1
0000117b: RETURNDATACOPY
0000117c: RETURNDATASIZE
0000117d: PUSH1 0x00
0000117f: REVERT
00001180: JUMPDEST
00001181: POP
00001182: POP
00001183: POP
00001184: POP
00001185: PUSH1 0x40
00001187: MLOAD
00001188: RETURNDATASIZE
00001189: PUSH1 0x40
0000118b: DUP2
0000118c: LT
0000118d: ISZERO
0000118e: PUSH2 0x1196
00001191: JUMPI
00001192: PUSH1 0x00
00001194: DUP1
00001195: REVERT
00001196: JUMPDEST
00001197: POP
00001198: PUSH2 0x1571
0000119b: SWAP1
0000119c: POP
0000119d: JUMP
0000119e: JUMPDEST
0000119f: DUP2
000011a0: ISZERO
000011a1: DUP1
000011a2: PUSH2 0x11c0
000011a5: JUMPI
000011a6: POP
000011a7: DUP11
000011a8: DUP11
000011a9: PUSH1 0x01
000011ab: DUP5
000011ac: SUB
000011ad: DUP2
000011ae: DUP2
000011af: LT
000011b0: PUSH2 0x11b5
000011b3: JUMPI
000011b4: INVALID
000011b5: JUMPDEST
000011b6: SWAP1
000011b7: POP
000011b8: PUSH1 0x20
000011ba: MUL
000011bb: ADD
000011bc: CALLDATALOAD
000011bd: PUSH1 0x02
000011bf: EQ
000011c0: JUMPDEST
000011c1: DUP1
000011c2: PUSH2 0x1215
000011c5: JUMPI
000011c6: POP
000011c7: DUP9
000011c8: DUP9
000011c9: PUSH1 0x01
000011cb: DUP5
000011cc: SUB
000011cd: DUP2
000011ce: DUP2
000011cf: LT
000011d0: PUSH2 0x11d5
000011d3: JUMPI
000011d4: INVALID
000011d5: JUMPDEST
000011d6: SWAP1
000011d7: POP
000011d8: PUSH1 0x20
000011da: MUL
000011db: ADD
000011dc: CALLDATALOAD
000011dd: PUSH1 0x01
000011df: PUSH1 0xa0
000011e1: PUSH1 0x02
000011e3: EXP
000011e4: SUB
000011e5: AND
000011e6: PUSH1 0x01
000011e8: PUSH1 0xa0
000011ea: PUSH1 0x02
000011ec: EXP
000011ed: SUB
000011ee: AND
000011ef: DUP10
000011f0: DUP10
000011f1: DUP5
000011f2: DUP2
000011f3: DUP2
000011f4: LT
000011f5: PUSH2 0x11fa
000011f8: JUMPI
000011f9: INVALID
000011fa: JUMPDEST
000011fb: SWAP1
000011fc: POP
000011fd: PUSH1 0x20
000011ff: MUL
00001200: ADD
00001201: CALLDATALOAD
00001202: PUSH1 0x01
00001204: PUSH1 0xa0
00001206: PUSH1 0x02
00001208: EXP
00001209: SUB
0000120a: AND
0000120b: PUSH1 0x01
0000120d: PUSH1 0xa0
0000120f: PUSH1 0x02
00001211: EXP
00001212: SUB
00001213: AND
00001214: EQ
00001215: JUMPDEST
00001216: ISZERO
00001217: PUSH2 0x12fa
0000121a: JUMPI
0000121b: DUP1
0000121c: PUSH1 0x01
0000121e: PUSH1 0xa0
00001220: PUSH1 0x02
00001222: EXP
00001223: SUB
00001224: AND
00001225: PUSH4 0xa9059cbb
0000122a: DUP11
0000122b: DUP11
0000122c: DUP6
0000122d: DUP2
0000122e: DUP2
0000122f: LT
00001230: PUSH2 0x1235
00001233: JUMPI
00001234: INVALID
00001235: JUMPDEST
00001236: SWAP1
00001237: POP
00001238: PUSH1 0x20
0000123a: MUL
0000123b: ADD
0000123c: CALLDATALOAD
0000123d: PUSH1 0x01
0000123f: PUSH1 0xa0
00001241: PUSH1 0x02
00001243: EXP
00001244: SUB
00001245: AND
00001246: DUP5
00001247: PUSH1 0x00
00001249: EQ
0000124a: PUSH2 0x1269
0000124d: JUMPI
0000124e: DUP6
0000124f: PUSH1 0x01
00001251: DUP7
00001252: SUB
00001253: DUP2
00001254: MLOAD
00001255: DUP2
00001256: LT
00001257: PUSH2 0x125c
0000125a: JUMPI
0000125b: INVALID
0000125c: JUMPDEST
0000125d: PUSH1 0x20
0000125f: MUL
00001260: PUSH1 0x20
00001262: ADD
00001263: ADD
00001264: MLOAD
00001265: PUSH2 0x126b
00001268: JUMP
00001269: JUMPDEST
0000126a: DUP7
0000126b: JUMPDEST
0000126c: PUSH1 0x40
0000126e: MLOAD
0000126f: DUP4
00001270: PUSH4 0xffffffff
00001275: AND
00001276: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001294: MUL
00001295: DUP2
00001296: MSTORE
00001297: PUSH1 0x04
00001299: ADD
0000129a: DUP1
0000129b: DUP4
0000129c: PUSH1 0x01
0000129e: PUSH1 0xa0
000012a0: PUSH1 0x02
000012a2: EXP
000012a3: SUB
000012a4: AND
000012a5: DUP2
000012a6: MSTORE
000012a7: PUSH1 0x20
000012a9: ADD
000012aa: DUP3
000012ab: DUP2
000012ac: MSTORE
000012ad: PUSH1 0x20
000012af: ADD
000012b0: SWAP3
000012b1: POP
000012b2: POP
000012b3: POP
000012b4: PUSH1 0x20
000012b6: PUSH1 0x40
000012b8: MLOAD
000012b9: DUP1
000012ba: DUP4
000012bb: SUB
000012bc: DUP2
000012bd: PUSH1 0x00
000012bf: DUP8
000012c0: DUP1
000012c1: EXTCODESIZE
000012c2: ISZERO
000012c3: DUP1
000012c4: ISZERO
000012c5: PUSH2 0x12cd
000012c8: JUMPI
000012c9: PUSH1 0x00
000012cb: DUP1
000012cc: REVERT
000012cd: JUMPDEST
000012ce: POP
000012cf: GAS
000012d0: CALL
000012d1: ISZERO
000012d2: DUP1
000012d3: ISZERO
000012d4: PUSH2 0x12e1
000012d7: JUMPI
000012d8: RETURNDATASIZE
000012d9: PUSH1 0x00
000012db: DUP1
000012dc: RETURNDATACOPY
000012dd: RETURNDATASIZE
000012de: PUSH1 0x00
000012e0: REVERT
000012e1: JUMPDEST
000012e2: POP
000012e3: POP
000012e4: POP
000012e5: POP
000012e6: PUSH1 0x40
000012e8: MLOAD
000012e9: RETURNDATASIZE
000012ea: PUSH1 0x20
000012ec: DUP2
000012ed: LT
000012ee: ISZERO
000012ef: PUSH2 0x12f7
000012f2: JUMPI
000012f3: PUSH1 0x00
000012f5: DUP1
000012f6: REVERT
000012f7: JUMPDEST
000012f8: POP
000012f9: POP
000012fa: JUMPDEST
000012fb: ADDRESS
000012fc: PUSH1 0x00
000012fe: NOT
000012ff: DUP10
00001300: ADD
00001301: DUP4
00001302: LT
00001303: DUP1
00001304: ISZERO
00001305: PUSH2 0x1324
00001308: JUMPI
00001309: POP
0000130a: DUP12
0000130b: DUP12
0000130c: DUP5
0000130d: PUSH1 0x01
0000130f: ADD
00001310: DUP2
00001311: DUP2
00001312: LT
00001313: PUSH2 0x1318
00001316: JUMPI
00001317: INVALID
00001318: JUMPDEST
00001319: SWAP1
0000131a: POP
0000131b: PUSH1 0x20
0000131d: MUL
0000131e: ADD
0000131f: CALLDATALOAD
00001320: PUSH1 0x02
00001322: EQ
00001323: ISZERO
00001324: JUMPDEST
00001325: DUP1
00001326: ISZERO
00001327: PUSH2 0x137b
0000132a: JUMPI
0000132b: POP
0000132c: DUP10
0000132d: DUP10
0000132e: DUP5
0000132f: PUSH1 0x01
00001331: ADD
00001332: DUP2
00001333: DUP2
00001334: LT
00001335: PUSH2 0x133a
00001338: JUMPI
00001339: INVALID
0000133a: JUMPDEST
0000133b: SWAP1
0000133c: POP
0000133d: PUSH1 0x20
0000133f: MUL
00001340: ADD
00001341: CALLDATALOAD
00001342: PUSH1 0x01
00001344: PUSH1 0xa0
00001346: PUSH1 0x02
00001348: EXP
00001349: SUB
0000134a: AND
0000134b: PUSH1 0x01
0000134d: PUSH1 0xa0
0000134f: PUSH1 0x02
00001351: EXP
00001352: SUB
00001353: AND
00001354: DUP11
00001355: DUP11
00001356: DUP6
00001357: DUP2
00001358: DUP2
00001359: LT
0000135a: PUSH2 0x135f
0000135d: JUMPI
0000135e: INVALID
0000135f: JUMPDEST
00001360: SWAP1
00001361: POP
00001362: PUSH1 0x20
00001364: MUL
00001365: ADD
00001366: CALLDATALOAD
00001367: PUSH1 0x01
00001369: PUSH1 0xa0
0000136b: PUSH1 0x02
0000136d: EXP
0000136e: SUB
0000136f: AND
00001370: PUSH1 0x01
00001372: PUSH1 0xa0
00001374: PUSH1 0x02
00001376: EXP
00001377: SUB
00001378: AND
00001379: EQ
0000137a: ISZERO
0000137b: JUMPDEST
0000137c: ISZERO
0000137d: PUSH2 0x13a2
00001380: JUMPI
00001381: DUP10
00001382: DUP10
00001383: DUP5
00001384: PUSH1 0x01
00001386: ADD
00001387: DUP2
00001388: DUP2
00001389: LT
0000138a: PUSH2 0x138f
0000138d: JUMPI
0000138e: INVALID
0000138f: JUMPDEST
00001390: SWAP1
00001391: POP
00001392: PUSH1 0x20
00001394: MUL
00001395: ADD
00001396: CALLDATALOAD
00001397: PUSH1 0x01
00001399: PUSH1 0xa0
0000139b: PUSH1 0x02
0000139d: EXP
0000139e: SUB
0000139f: AND
000013a0: SWAP1
000013a1: POP
000013a2: JUMPDEST
000013a3: PUSH1 0x00
000013a5: DUP11
000013a6: DUP11
000013a7: DUP6
000013a8: DUP2
000013a9: DUP2
000013aa: LT
000013ab: PUSH2 0x13b0
000013ae: JUMPI
000013af: INVALID
000013b0: JUMPDEST
000013b1: SWAP1
000013b2: POP
000013b3: PUSH1 0x20
000013b5: MUL
000013b6: ADD
000013b7: CALLDATALOAD
000013b8: PUSH1 0x01
000013ba: PUSH1 0xa0
000013bc: PUSH1 0x02
000013be: EXP
000013bf: SUB
000013c0: AND
000013c1: SWAP1
000013c2: POP
000013c3: DUP1
000013c4: PUSH1 0x01
000013c6: PUSH1 0xa0
000013c8: PUSH1 0x02
000013ca: EXP
000013cb: SUB
000013cc: AND
000013cd: PUSH4 0x022c0d9f
000013d2: DUP11
000013d3: DUP11
000013d4: DUP8
000013d5: DUP2
000013d6: DUP2
000013d7: LT
000013d8: PUSH2 0x13dd
000013db: JUMPI
000013dc: INVALID
000013dd: JUMPDEST
000013de: SWAP1
000013df: POP
000013e0: PUSH1 0x20
000013e2: MUL
000013e3: ADD
000013e4: CALLDATALOAD
000013e5: PUSH1 0x01
000013e7: PUSH1 0xa0
000013e9: PUSH1 0x02
000013eb: EXP
000013ec: SUB
000013ed: AND
000013ee: PUSH1 0x01
000013f0: PUSH1 0xa0
000013f2: PUSH1 0x02
000013f4: EXP
000013f5: SUB
000013f6: AND
000013f7: DUP6
000013f8: PUSH1 0x01
000013fa: PUSH1 0xa0
000013fc: PUSH1 0x02
000013fe: EXP
000013ff: SUB
00001400: AND
00001401: LT
00001402: PUSH2 0x141e
00001405: JUMPI
00001406: DUP7
00001407: DUP7
00001408: DUP2
00001409: MLOAD
0000140a: DUP2
0000140b: LT
0000140c: PUSH2 0x1411
0000140f: JUMPI
00001410: INVALID
00001411: JUMPDEST
00001412: PUSH1 0x20
00001414: MUL
00001415: PUSH1 0x20
00001417: ADD
00001418: ADD
00001419: MLOAD
0000141a: PUSH2 0x1421
0000141d: JUMP
0000141e: JUMPDEST
0000141f: PUSH1 0x00
00001421: JUMPDEST
00001422: DUP12
00001423: DUP12
00001424: DUP9
00001425: DUP2
00001426: DUP2
00001427: LT
00001428: PUSH2 0x142d
0000142b: JUMPI
0000142c: INVALID
0000142d: JUMPDEST
0000142e: SWAP1
0000142f: POP
00001430: PUSH1 0x20
00001432: MUL
00001433: ADD
00001434: CALLDATALOAD
00001435: PUSH1 0x01
00001437: PUSH1 0xa0
00001439: PUSH1 0x02
0000143b: EXP
0000143c: SUB
0000143d: AND
0000143e: PUSH1 0x01
00001440: PUSH1 0xa0
00001442: PUSH1 0x02
00001444: EXP
00001445: SUB
00001446: AND
00001447: DUP7
00001448: PUSH1 0x01
0000144a: PUSH1 0xa0
0000144c: PUSH1 0x02
0000144e: EXP
0000144f: SUB
00001450: AND
00001451: LT
00001452: PUSH2 0x145c
00001455: JUMPI
00001456: PUSH1 0x00
00001458: PUSH2 0x1471
0000145b: JUMP
0000145c: JUMPDEST
0000145d: DUP8
0000145e: DUP8
0000145f: DUP2
00001460: MLOAD
00001461: DUP2
00001462: LT
00001463: PUSH2 0x1468
00001466: JUMPI
00001467: INVALID
00001468: JUMPDEST
00001469: PUSH1 0x20
0000146b: MUL
0000146c: PUSH1 0x20
0000146e: ADD
0000146f: ADD
00001470: MLOAD
00001471: JUMPDEST
00001472: PUSH1 0x40
00001474: DUP1
00001475: MLOAD
00001476: PUSH1 0x00
00001478: DUP1
00001479: DUP3
0000147a: MSTORE
0000147b: PUSH1 0x20
0000147d: DUP3
0000147e: ADD
0000147f: SWAP1
00001480: SWAP3
00001481: MSTORE
00001482: DUP8
00001483: SWAP2
00001484: POP
00001485: PUSH1 0x40
00001487: MLOAD
00001488: DUP6
00001489: PUSH4 0xffffffff
0000148e: AND
0000148f: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000014ad: MUL
000014ae: DUP2
000014af: MSTORE
000014b0: PUSH1 0x04
000014b2: ADD
000014b3: DUP1
000014b4: DUP6
000014b5: DUP2
000014b6: MSTORE
000014b7: PUSH1 0x20
000014b9: ADD
000014ba: DUP5
000014bb: DUP2
000014bc: MSTORE
000014bd: PUSH1 0x20
000014bf: ADD
000014c0: DUP4
000014c1: PUSH1 0x01
000014c3: PUSH1 0xa0
000014c5: PUSH1 0x02
000014c7: EXP
000014c8: SUB
000014c9: AND
000014ca: DUP2
000014cb: MSTORE
000014cc: PUSH1 0x20
000014ce: ADD
000014cf: DUP1
000014d0: PUSH1 0x20
000014d2: ADD
000014d3: DUP3
000014d4: DUP2
000014d5: SUB
000014d6: DUP3
000014d7: MSTORE
000014d8: DUP4
000014d9: DUP2
000014da: DUP2
000014db: MLOAD
000014dc: DUP2
000014dd: MSTORE
000014de: PUSH1 0x20
000014e0: ADD
000014e1: SWAP2
000014e2: POP
000014e3: DUP1
000014e4: MLOAD
000014e5: SWAP1
000014e6: PUSH1 0x20
000014e8: ADD
000014e9: SWAP1
000014ea: DUP1
000014eb: DUP4
000014ec: DUP4
000014ed: PUSH1 0x00
000014ef: JUMPDEST
000014f0: DUP4
000014f1: DUP2
000014f2: LT
000014f3: ISZERO
000014f4: PUSH2 0x1507
000014f7: JUMPI
000014f8: DUP2
000014f9: DUP2
000014fa: ADD
000014fb: MLOAD
000014fc: DUP4
000014fd: DUP3
000014fe: ADD
000014ff: MSTORE
00001500: PUSH1 0x20
00001502: ADD
00001503: PUSH2 0x14ef
00001506: JUMP
00001507: JUMPDEST
00001508: POP
00001509: POP
0000150a: POP
0000150b: POP
0000150c: SWAP1
0000150d: POP
0000150e: SWAP1
0000150f: DUP2
00001510: ADD
00001511: SWAP1
00001512: PUSH1 0x1f
00001514: AND
00001515: DUP1
00001516: ISZERO
00001517: PUSH2 0x1534
0000151a: JUMPI
0000151b: DUP1
0000151c: DUP3
0000151d: SUB
0000151e: DUP1
0000151f: MLOAD
00001520: PUSH1 0x01
00001522: DUP4
00001523: PUSH1 0x20
00001525: SUB
00001526: PUSH2 0x0100
00001529: EXP
0000152a: SUB
0000152b: NOT
0000152c: AND
0000152d: DUP2
0000152e: MSTORE
0000152f: PUSH1 0x20
00001531: ADD
00001532: SWAP2
00001533: POP
00001534: JUMPDEST
00001535: POP
00001536: SWAP6
00001537: POP
00001538: POP
00001539: POP
0000153a: POP
0000153b: POP
0000153c: POP
0000153d: PUSH1 0x00
0000153f: PUSH1 0x40
00001541: MLOAD
00001542: DUP1
00001543: DUP4
00001544: SUB
00001545: DUP2
00001546: PUSH1 0x00
00001548: DUP8
00001549: DUP1
0000154a: EXTCODESIZE
0000154b: ISZERO
0000154c: DUP1
0000154d: ISZERO
0000154e: PUSH2 0x1556
00001551: JUMPI
00001552: PUSH1 0x00
00001554: DUP1
00001555: REVERT
00001556: JUMPDEST
00001557: POP
00001558: GAS
00001559: CALL
0000155a: ISZERO
0000155b: DUP1
0000155c: ISZERO
0000155d: PUSH2 0x156a
00001560: JUMPI
00001561: RETURNDATASIZE
00001562: PUSH1 0x00
00001564: DUP1
00001565: RETURNDATACOPY
00001566: RETURNDATASIZE
00001567: PUSH1 0x00
00001569: REVERT
0000156a: JUMPDEST
0000156b: POP
0000156c: POP
0000156d: POP
0000156e: POP
0000156f: POP
00001570: POP
00001571: JUMPDEST
00001572: POP
00001573: PUSH1 0x01
00001575: ADD
00001576: PUSH2 0x0e6c
00001579: JUMP
0000157a: JUMPDEST
0000157b: POP
0000157c: PUSH1 0x01
0000157e: PUSH1 0xa0
00001580: PUSH1 0x02
00001582: EXP
00001583: SUB
00001584: DUP4
00001585: AND
00001586: DUP6
00001587: DUP6
00001588: PUSH1 0x00
0000158a: NOT
0000158b: DUP2
0000158c: ADD
0000158d: DUP2
0000158e: DUP2
0000158f: LT
00001590: PUSH2 0x1595
00001593: JUMPI
00001594: INVALID
00001595: JUMPDEST
00001596: SWAP1
00001597: POP
00001598: PUSH1 0x20
0000159a: MUL
0000159b: ADD
0000159c: CALLDATALOAD
0000159d: PUSH1 0x01
0000159f: PUSH1 0xa0
000015a1: PUSH1 0x02
000015a3: EXP
000015a4: SUB
000015a5: AND
000015a6: PUSH1 0x01
000015a8: PUSH1 0xa0
000015aa: PUSH1 0x02
000015ac: EXP
000015ad: SUB
000015ae: AND
000015af: EQ
000015b0: ISZERO
000015b1: PUSH2 0x163d
000015b4: JUMPI
000015b5: DUP2
000015b6: DUP11
000015b7: GT
000015b8: PUSH2 0x15c1
000015bb: JUMPI
000015bc: DUP10
000015bd: PUSH2 0x15c3
000015c0: JUMP
000015c1: JUMPDEST
000015c2: DUP2
000015c3: JUMPDEST
000015c4: DUP2
000015c5: MLOAD
000015c6: DUP3
000015c7: SWAP1
000015c8: PUSH1 0x00
000015ca: NOT
000015cb: DUP10
000015cc: ADD
000015cd: SWAP1
000015ce: DUP2
000015cf: LT
000015d0: PUSH2 0x15d5
000015d3: JUMPI
000015d4: INVALID
000015d5: JUMPDEST
000015d6: PUSH1 0x20
000015d8: MUL
000015d9: PUSH1 0x20
000015db: ADD
000015dc: ADD
000015dd: MLOAD
000015de: LT
000015df: ISZERO
000015e0: PUSH2 0x1638
000015e3: JUMPI
000015e4: PUSH1 0x40
000015e6: DUP1
000015e7: MLOAD
000015e8: PUSH1 0x00
000015ea: DUP1
000015eb: MLOAD
000015ec: PUSH1 0x20
000015ee: PUSH2 0x222b
000015f1: DUP4
000015f2: CODECOPY
000015f3: DUP2
000015f4: MLOAD
000015f5: SWAP2
000015f6: MSTORE
000015f7: DUP2
000015f8: MSTORE
000015f9: PUSH1 0x20
000015fb: PUSH1 0x04
000015fd: DUP3
000015fe: ADD
000015ff: MSTORE
00001600: PUSH1 0x0e
00001602: PUSH1 0x24
00001604: DUP3
00001605: ADD
00001606: MSTORE
00001607: PUSH32 0x6e6f7420616c6c6f772073776170000000000000000000000000000000000000
00001628: PUSH1 0x44
0000162a: DUP3
0000162b: ADD
0000162c: MSTORE
0000162d: SWAP1
0000162e: MLOAD
0000162f: SWAP1
00001630: DUP2
00001631: SWAP1
00001632: SUB
00001633: PUSH1 0x64
00001635: ADD
00001636: SWAP1
00001637: REVERT
00001638: JUMPDEST
00001639: PUSH2 0x16b3
0000163c: JUMP
0000163d: JUMPDEST
0000163e: DUP10
0000163f: DUP2
00001640: PUSH1 0x01
00001642: DUP10
00001643: DUP10
00001644: SWAP1
00001645: POP
00001646: SUB
00001647: DUP2
00001648: MLOAD
00001649: DUP2
0000164a: LT
0000164b: PUSH2 0x1650
0000164e: JUMPI
0000164f: INVALID
00001650: JUMPDEST
00001651: PUSH1 0x20
00001653: MUL
00001654: PUSH1 0x20
00001656: ADD
00001657: ADD
00001658: MLOAD
00001659: LT
0000165a: ISZERO
0000165b: PUSH2 0x16b3
0000165e: JUMPI
0000165f: PUSH1 0x40
00001661: DUP1
00001662: MLOAD
00001663: PUSH1 0x00
00001665: DUP1
00001666: MLOAD
00001667: PUSH1 0x20
00001669: PUSH2 0x222b
0000166c: DUP4
0000166d: CODECOPY
0000166e: DUP2
0000166f: MLOAD
00001670: SWAP2
00001671: MSTORE
00001672: DUP2
00001673: MSTORE
00001674: PUSH1 0x20
00001676: PUSH1 0x04
00001678: DUP3
00001679: ADD
0000167a: MSTORE
0000167b: PUSH1 0x0e
0000167d: PUSH1 0x24
0000167f: DUP3
00001680: ADD
00001681: MSTORE
00001682: PUSH32 0x6e6f7420616c6c6f772073776170000000000000000000000000000000000000
000016a3: PUSH1 0x44
000016a5: DUP3
000016a6: ADD
000016a7: MSTORE
000016a8: SWAP1
000016a9: MLOAD
000016aa: SWAP1
000016ab: DUP2
000016ac: SWAP1
000016ad: SUB
000016ae: PUSH1 0x64
000016b0: ADD
000016b1: SWAP1
000016b2: REVERT
000016b3: JUMPDEST
000016b4: PUSH2 0x171f
000016b7: JUMP
000016b8: JUMPDEST
000016b9: CALLER
000016ba: PUSH1 0x01
000016bc: PUSH1 0xa0
000016be: PUSH1 0x02
000016c0: EXP
000016c1: SUB
000016c2: AND
000016c3: PUSH32 0xd8238999036fd5f75dc23e3aede93d753e40de3c40f116d34e1df77b06e5914e
000016e4: PUSH1 0x01
000016e6: DUP4
000016e7: PUSH1 0x01
000016e9: DUP12
000016ea: DUP12
000016eb: SWAP1
000016ec: POP
000016ed: SUB
000016ee: DUP2
000016ef: MLOAD
000016f0: DUP2
000016f1: LT
000016f2: PUSH2 0x16f7
000016f5: JUMPI
000016f6: INVALID
000016f7: JUMPDEST
000016f8: PUSH1 0x20
000016fa: SWAP1
000016fb: DUP2
000016fc: MUL
000016fd: SWAP2
000016fe: SWAP1
000016ff: SWAP2
00001700: ADD
00001701: DUP2
00001702: ADD
00001703: MLOAD
00001704: PUSH1 0x40
00001706: DUP1
00001707: MLOAD
00001708: SWAP4
00001709: DUP5
0000170a: MSTORE
0000170b: SWAP2
0000170c: DUP4
0000170d: ADD
0000170e: MSTORE
0000170f: DUP2
00001710: DUP2
00001711: ADD
00001712: DUP15
00001713: SWAP1
00001714: MSTORE
00001715: MLOAD
00001716: SWAP1
00001717: DUP2
00001718: SWAP1
00001719: SUB
0000171a: PUSH1 0x60
0000171c: ADD
0000171d: SWAP1
0000171e: LOG2
0000171f: JUMPDEST
00001720: POP
00001721: POP
00001722: POP
00001723: POP
00001724: POP
00001725: POP
00001726: POP
00001727: POP
00001728: POP
00001729: POP
0000172a: JUMP
0000172b: JUMPDEST
0000172c: CALLER
0000172d: SWAP1
0000172e: JUMP
0000172f: JUMPDEST
00001730: PUSH1 0x00
00001732: DUP2
00001733: PUSH2 0x178b
00001736: JUMPI
00001737: PUSH1 0x40
00001739: DUP1
0000173a: MLOAD
0000173b: PUSH1 0x00
0000173d: DUP1
0000173e: MLOAD
0000173f: PUSH1 0x20
00001741: PUSH2 0x222b
00001744: DUP4
00001745: CODECOPY
00001746: DUP2
00001747: MLOAD
00001748: SWAP2
00001749: MSTORE
0000174a: DUP2
0000174b: MSTORE
0000174c: PUSH1 0x20
0000174e: PUSH1 0x04
00001750: DUP3
00001751: ADD
00001752: MSTORE
00001753: PUSH1 0x0c
00001755: PUSH1 0x24
00001757: DUP3
00001758: ADD
00001759: MSTORE
0000175a: PUSH32 0x4552525f4449565f5a45524f0000000000000000000000000000000000000000
0000177b: PUSH1 0x44
0000177d: DUP3
0000177e: ADD
0000177f: MSTORE
00001780: SWAP1
00001781: MLOAD
00001782: SWAP1
00001783: DUP2
00001784: SWAP1
00001785: SUB
00001786: PUSH1 0x64
00001788: ADD
00001789: SWAP1
0000178a: REVERT
0000178b: JUMPDEST
0000178c: PUSH8 0x0de0b6b3a7640000
00001795: DUP4
00001796: MUL
00001797: DUP4
00001798: ISZERO
00001799: DUP1
0000179a: PUSH2 0x17b3
0000179d: JUMPI
0000179e: POP
0000179f: PUSH8 0x0de0b6b3a7640000
000017a8: DUP5
000017a9: DUP3
000017aa: DUP2
000017ab: PUSH2 0x17b0
000017ae: JUMPI
000017af: INVALID
000017b0: JUMPDEST
000017b1: DIV
000017b2: EQ
000017b3: JUMPDEST
000017b4: PUSH2 0x180c
000017b7: JUMPI
000017b8: PUSH1 0x40
000017ba: DUP1
000017bb: MLOAD
000017bc: PUSH1 0x00
000017be: DUP1
000017bf: MLOAD
000017c0: PUSH1 0x20
000017c2: PUSH2 0x222b
000017c5: DUP4
000017c6: CODECOPY
000017c7: DUP2
000017c8: MLOAD
000017c9: SWAP2
000017ca: MSTORE
000017cb: DUP2
000017cc: MSTORE
000017cd: PUSH1 0x20
000017cf: PUSH1 0x04
000017d1: DUP3
000017d2: ADD
000017d3: MSTORE
000017d4: PUSH1 0x10
000017d6: PUSH1 0x24
000017d8: DUP3
000017d9: ADD
000017da: MSTORE
000017db: PUSH32 0x4552525f4449565f494e5445524e414c00000000000000000000000000000000
000017fc: PUSH1 0x44
000017fe: DUP3
000017ff: ADD
00001800: MSTORE
00001801: SWAP1
00001802: MLOAD
00001803: SWAP1
00001804: DUP2
00001805: SWAP1
00001806: SUB
00001807: PUSH1 0x64
00001809: ADD
0000180a: SWAP1
0000180b: REVERT
0000180c: JUMPDEST
0000180d: PUSH1 0x02
0000180f: DUP4
00001810: DIV
00001811: DUP2
00001812: ADD
00001813: DUP2
00001814: DUP2
00001815: LT
00001816: ISZERO
00001817: PUSH2 0x186f
0000181a: JUMPI
0000181b: PUSH1 0x40
0000181d: DUP1
0000181e: MLOAD
0000181f: PUSH1 0x00
00001821: DUP1
00001822: MLOAD
00001823: PUSH1 0x20
00001825: PUSH2 0x222b
00001828: DUP4
00001829: CODECOPY
0000182a: DUP2
0000182b: MLOAD
0000182c: SWAP2
0000182d: MSTORE
0000182e: DUP2
0000182f: MSTORE
00001830: PUSH1 0x20
00001832: PUSH1 0x04
00001834: DUP3
00001835: ADD
00001836: MSTORE
00001837: PUSH1 0x10
00001839: PUSH1 0x24
0000183b: DUP3
0000183c: ADD
0000183d: MSTORE
0000183e: PUSH32 0x4552525f4449565f494e5445524e414c00000000000000000000000000000000
0000185f: PUSH1 0x44
00001861: DUP3
00001862: ADD
00001863: MSTORE
00001864: SWAP1
00001865: MLOAD
00001866: SWAP1
00001867: DUP2
00001868: SWAP1
00001869: SUB
0000186a: PUSH1 0x64
0000186c: ADD
0000186d: SWAP1
0000186e: REVERT
0000186f: JUMPDEST
00001870: PUSH1 0x00
00001872: DUP5
00001873: DUP3
00001874: DUP2
00001875: PUSH2 0x187a
00001878: JUMPI
00001879: INVALID
0000187a: JUMPDEST
0000187b: DIV
0000187c: SWAP4
0000187d: POP
0000187e: POP
0000187f: POP
00001880: POP
00001881: JUMPDEST
00001882: SWAP3
00001883: SWAP2
00001884: POP
00001885: POP
00001886: JUMP
00001887: JUMPDEST
00001888: PUSH1 0x00
0000188a: DUP1
0000188b: PUSH1 0x00
0000188d: PUSH2 0x1896
00001890: DUP6
00001891: DUP6
00001892: PUSH2 0x1f5a
00001895: JUMP
00001896: JUMPDEST
00001897: SWAP2
00001898: POP
00001899: SWAP2
0000189a: POP
0000189b: DUP1
0000189c: ISZERO
0000189d: PUSH2 0x18f5
000018a0: JUMPI
000018a1: PUSH1 0x40
000018a3: DUP1
000018a4: MLOAD
000018a5: PUSH1 0x00
000018a7: DUP1
000018a8: MLOAD
000018a9: PUSH1 0x20
000018ab: PUSH2 0x222b
000018ae: DUP4
000018af: CODECOPY
000018b0: DUP2
000018b1: MLOAD
000018b2: SWAP2
000018b3: MSTORE
000018b4: DUP2
000018b5: MSTORE
000018b6: PUSH1 0x20
000018b8: PUSH1 0x04
000018ba: DUP3
000018bb: ADD
000018bc: MSTORE
000018bd: PUSH1 0x11
000018bf: PUSH1 0x24
000018c1: DUP3
000018c2: ADD
000018c3: MSTORE
000018c4: PUSH32 0x4552525f5355425f554e444552464c4f57000000000000000000000000000000
000018e5: PUSH1 0x44
000018e7: DUP3
000018e8: ADD
000018e9: MSTORE
000018ea: SWAP1
000018eb: MLOAD
000018ec: SWAP1
000018ed: DUP2
000018ee: SWAP1
000018ef: SUB
000018f0: PUSH1 0x64
000018f2: ADD
000018f3: SWAP1
000018f4: REVERT
000018f5: JUMPDEST
000018f6: POP
000018f7: SWAP4
000018f8: SWAP3
000018f9: POP
000018fa: POP
000018fb: POP
000018fc: JUMP
000018fd: JUMPDEST
000018fe: PUSH1 0x00
00001900: DUP3
00001901: DUP3
00001902: MUL
00001903: DUP4
00001904: ISZERO
00001905: DUP1
00001906: PUSH2 0x1917
00001909: JUMPI
0000190a: POP
0000190b: DUP3
0000190c: DUP5
0000190d: DUP3
0000190e: DUP2
0000190f: PUSH2 0x1914
00001912: JUMPI
00001913: INVALID
00001914: JUMPDEST
00001915: DIV
00001916: EQ
00001917: JUMPDEST
00001918: PUSH2 0x1970
0000191b: JUMPI
0000191c: PUSH1 0x40
0000191e: DUP1
0000191f: MLOAD
00001920: PUSH1 0x00
00001922: DUP1
00001923: MLOAD
00001924: PUSH1 0x20
00001926: PUSH2 0x222b
00001929: DUP4
0000192a: CODECOPY
0000192b: DUP2
0000192c: MLOAD
0000192d: SWAP2
0000192e: MSTORE
0000192f: DUP2
00001930: MSTORE
00001931: PUSH1 0x20
00001933: PUSH1 0x04
00001935: DUP3
00001936: ADD
00001937: MSTORE
00001938: PUSH1 0x10
0000193a: PUSH1 0x24
0000193c: DUP3
0000193d: ADD
0000193e: MSTORE
0000193f: PUSH32 0x4552525f4d554c5f4f564552464c4f5700000000000000000000000000000000
00001960: PUSH1 0x44
00001962: DUP3
00001963: ADD
00001964: MSTORE
00001965: SWAP1
00001966: MLOAD
00001967: SWAP1
00001968: DUP2
00001969: SWAP1
0000196a: SUB
0000196b: PUSH1 0x64
0000196d: ADD
0000196e: SWAP1
0000196f: REVERT
00001970: JUMPDEST
00001971: PUSH8 0x06f05b59d3b20000
0000197a: DUP2
0000197b: ADD
0000197c: DUP2
0000197d: DUP2
0000197e: LT
0000197f: ISZERO
00001980: PUSH2 0x19d8
00001983: JUMPI
00001984: PUSH1 0x40
00001986: DUP1
00001987: MLOAD
00001988: PUSH1 0x00
0000198a: DUP1
0000198b: MLOAD
0000198c: PUSH1 0x20
0000198e: PUSH2 0x222b
00001991: DUP4
00001992: CODECOPY
00001993: DUP2
00001994: MLOAD
00001995: SWAP2
00001996: MSTORE
00001997: DUP2
00001998: MSTORE
00001999: PUSH1 0x20
0000199b: PUSH1 0x04
0000199d: DUP3
0000199e: ADD
0000199f: MSTORE
000019a0: PUSH1 0x10
000019a2: PUSH1 0x24
000019a4: DUP3
000019a5: ADD
000019a6: MSTORE
000019a7: PUSH32 0x4552525f4d554c5f4f564552464c4f5700000000000000000000000000000000
000019c8: PUSH1 0x44
000019ca: DUP3
000019cb: ADD
000019cc: MSTORE
000019cd: SWAP1
000019ce: MLOAD
000019cf: SWAP1
000019d0: DUP2
000019d1: SWAP1
000019d2: SUB
000019d3: PUSH1 0x64
000019d5: ADD
000019d6: SWAP1
000019d7: REVERT
000019d8: JUMPDEST
000019d9: PUSH1 0x00
000019db: PUSH8 0x0de0b6b3a7640000
000019e4: DUP3
000019e5: PUSH2 0x187a
000019e8: JUMP
000019e9: JUMPDEST
000019ea: PUSH1 0x00
000019ec: DUP3
000019ed: DUP3
000019ee: ADD
000019ef: DUP4
000019f0: DUP2
000019f1: LT
000019f2: ISZERO
000019f3: PUSH2 0x1a4b
000019f6: JUMPI
000019f7: PUSH1 0x40
000019f9: DUP1
000019fa: MLOAD
000019fb: PUSH1 0x00
000019fd: DUP1
000019fe: MLOAD
000019ff: PUSH1 0x20
00001a01: PUSH2 0x222b
00001a04: DUP4
00001a05: CODECOPY
00001a06: DUP2
00001a07: MLOAD
00001a08: SWAP2
00001a09: MSTORE
00001a0a: DUP2
00001a0b: MSTORE
00001a0c: PUSH1 0x20
00001a0e: PUSH1 0x04
00001a10: DUP3
00001a11: ADD
00001a12: MSTORE
00001a13: PUSH1 0x10
00001a15: PUSH1 0x24
00001a17: DUP3
00001a18: ADD
00001a19: MSTORE
00001a1a: PUSH32 0x4552525f4144445f4f564552464c4f5700000000000000000000000000000000
00001a3b: PUSH1 0x44
00001a3d: DUP3
00001a3e: ADD
00001a3f: MSTORE
00001a40: SWAP1
00001a41: MLOAD
00001a42: SWAP1
00001a43: DUP2
00001a44: SWAP1
00001a45: SUB
00001a46: PUSH1 0x64
00001a48: ADD
00001a49: SWAP1
00001a4a: REVERT
00001a4b: JUMPDEST
00001a4c: SWAP4
00001a4d: SWAP3
00001a4e: POP
00001a4f: POP
00001a50: POP
00001a51: JUMP
00001a52: JUMPDEST
00001a53: PUSH1 0x00
00001a55: PUSH1 0x01
00001a57: DUP4
00001a58: LT
00001a59: ISZERO
00001a5a: PUSH2 0x1ab2
00001a5d: JUMPI
00001a5e: PUSH1 0x40
00001a60: DUP1
00001a61: MLOAD
00001a62: PUSH1 0x00
00001a64: DUP1
00001a65: MLOAD
00001a66: PUSH1 0x20
00001a68: PUSH2 0x222b
00001a6b: DUP4
00001a6c: CODECOPY
00001a6d: DUP2
00001a6e: MLOAD
00001a6f: SWAP2
00001a70: MSTORE
00001a71: DUP2
00001a72: MSTORE
00001a73: PUSH1 0x20
00001a75: PUSH1 0x04
00001a77: DUP3
00001a78: ADD
00001a79: MSTORE
00001a7a: PUSH1 0x15
00001a7c: PUSH1 0x24
00001a7e: DUP3
00001a7f: ADD
00001a80: MSTORE
00001a81: PUSH32 0x4552525f42504f575f424153455f544f4f5f4c4f570000000000000000000000
00001aa2: PUSH1 0x44
00001aa4: DUP3
00001aa5: ADD
00001aa6: MSTORE
00001aa7: SWAP1
00001aa8: MLOAD
00001aa9: SWAP1
00001aaa: DUP2
00001aab: SWAP1
00001aac: SUB
00001aad: PUSH1 0x64
00001aaf: ADD
00001ab0: SWAP1
00001ab1: REVERT
00001ab2: JUMPDEST
00001ab3: PUSH8 0x1bc16d674ec7ffff
00001abc: DUP4
00001abd: GT
00001abe: ISZERO
00001abf: PUSH2 0x1b17
00001ac2: JUMPI
00001ac3: PUSH1 0x40
00001ac5: DUP1
00001ac6: MLOAD
00001ac7: PUSH1 0x00
00001ac9: DUP1
00001aca: MLOAD
00001acb: PUSH1 0x20
00001acd: PUSH2 0x222b
00001ad0: DUP4
00001ad1: CODECOPY
00001ad2: DUP2
00001ad3: MLOAD
00001ad4: SWAP2
00001ad5: MSTORE
00001ad6: DUP2
00001ad7: MSTORE
00001ad8: PUSH1 0x20
00001ada: PUSH1 0x04
00001adc: DUP3
00001add: ADD
00001ade: MSTORE
00001adf: PUSH1 0x16
00001ae1: PUSH1 0x24
00001ae3: DUP3
00001ae4: ADD
00001ae5: MSTORE
00001ae6: PUSH32 0x4552525f42504f575f424153455f544f4f5f4849474800000000000000000000
00001b07: PUSH1 0x44
00001b09: DUP3
00001b0a: ADD
00001b0b: MSTORE
00001b0c: SWAP1
00001b0d: MLOAD
00001b0e: SWAP1
00001b0f: DUP2
00001b10: SWAP1
00001b11: SUB
00001b12: PUSH1 0x64
00001b14: ADD
00001b15: SWAP1
00001b16: REVERT
00001b17: JUMPDEST
00001b18: PUSH1 0x00
00001b1a: PUSH2 0x1b22
00001b1d: DUP4
00001b1e: PUSH2 0x1f7f
00001b21: JUMP
00001b22: JUMPDEST
00001b23: SWAP1
00001b24: POP
00001b25: PUSH1 0x00
00001b27: PUSH2 0x1b30
00001b2a: DUP5
00001b2b: DUP4
00001b2c: PUSH2 0x1887
00001b2f: JUMP
00001b30: JUMPDEST
00001b31: SWAP1
00001b32: POP
00001b33: PUSH1 0x00
00001b35: PUSH2 0x1b46
00001b38: DUP7
00001b39: PUSH2 0x1b41
00001b3c: DUP6
00001b3d: PUSH2 0x1f9a
00001b40: JUMP
00001b41: JUMPDEST
00001b42: PUSH2 0x1fa8
00001b45: JUMP
00001b46: JUMPDEST
00001b47: SWAP1
00001b48: POP
00001b49: DUP2
00001b4a: PUSH2 0x1b57
00001b4d: JUMPI
00001b4e: SWAP3
00001b4f: POP
00001b50: PUSH2 0x1881
00001b53: SWAP2
00001b54: POP
00001b55: POP
00001b56: JUMP
00001b57: JUMPDEST
00001b58: PUSH1 0x00
00001b5a: PUSH2 0x1b68
00001b5d: DUP8
00001b5e: DUP5
00001b5f: PUSH4 0x05f5e100
00001b64: PUSH2 0x1fff
00001b67: JUMP
00001b68: JUMPDEST
00001b69: SWAP1
00001b6a: POP
00001b6b: PUSH2 0x1b74
00001b6e: DUP3
00001b6f: DUP3
00001b70: PUSH2 0x18fd
00001b73: JUMP
00001b74: JUMPDEST
00001b75: SWAP8
00001b76: SWAP7
00001b77: POP
00001b78: POP
00001b79: POP
00001b7a: POP
00001b7b: POP
00001b7c: POP
00001b7d: POP
00001b7e: JUMP
00001b7f: JUMPDEST
00001b80: PUSH1 0x00
00001b82: DUP2
00001b83: PUSH1 0x02
00001b85: EQ
00001b86: ISZERO
00001b87: PUSH2 0x1e71
00001b8a: JUMPI
00001b8b: PUSH1 0x00
00001b8d: DUP7
00001b8e: SWAP1
00001b8f: POP
00001b90: PUSH2 0x1e69
00001b93: DUP2
00001b94: PUSH1 0x01
00001b96: PUSH1 0xa0
00001b98: PUSH1 0x02
00001b9a: EXP
00001b9b: SUB
00001b9c: AND
00001b9d: PUSH4 0xf8b2cb4f
00001ba2: DUP9
00001ba3: PUSH1 0x40
00001ba5: MLOAD
00001ba6: DUP3
00001ba7: PUSH4 0xffffffff
00001bac: AND
00001bad: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001bcb: MUL
00001bcc: DUP2
00001bcd: MSTORE
00001bce: PUSH1 0x04
00001bd0: ADD
00001bd1: DUP1
00001bd2: DUP3
00001bd3: PUSH1 0x01
00001bd5: PUSH1 0xa0
00001bd7: PUSH1 0x02
00001bd9: EXP
00001bda: SUB
00001bdb: AND
00001bdc: DUP2
00001bdd: MSTORE
00001bde: PUSH1 0x20
00001be0: ADD
00001be1: SWAP2
00001be2: POP
00001be3: POP
00001be4: PUSH1 0x20
00001be6: PUSH1 0x40
00001be8: MLOAD
00001be9: DUP1
00001bea: DUP4
00001beb: SUB
00001bec: DUP2
00001bed: PUSH1 0x00
00001bef: DUP8
00001bf0: DUP1
00001bf1: EXTCODESIZE
00001bf2: ISZERO
00001bf3: DUP1
00001bf4: ISZERO
00001bf5: PUSH2 0x1bfd
00001bf8: JUMPI
00001bf9: PUSH1 0x00
00001bfb: DUP1
00001bfc: REVERT
00001bfd: JUMPDEST
00001bfe: POP
00001bff: GAS
00001c00: CALL
00001c01: ISZERO
00001c02: DUP1
00001c03: ISZERO
00001c04: PUSH2 0x1c11
00001c07: JUMPI
00001c08: RETURNDATASIZE
00001c09: PUSH1 0x00
00001c0b: DUP1
00001c0c: RETURNDATACOPY
00001c0d: RETURNDATASIZE
00001c0e: PUSH1 0x00
00001c10: REVERT
00001c11: JUMPDEST
00001c12: POP
00001c13: POP
00001c14: POP
00001c15: POP
00001c16: PUSH1 0x40
00001c18: MLOAD
00001c19: RETURNDATASIZE
00001c1a: PUSH1 0x20
00001c1c: DUP2
00001c1d: LT
00001c1e: ISZERO
00001c1f: PUSH2 0x1c27
00001c22: JUMPI
00001c23: PUSH1 0x00
00001c25: DUP1
00001c26: REVERT
00001c27: JUMPDEST
00001c28: POP
00001c29: MLOAD
00001c2a: PUSH1 0x40
00001c2c: DUP1
00001c2d: MLOAD
00001c2e: PUSH32 0xf1b8a9b700000000000000000000000000000000000000000000000000000000
00001c4f: DUP2
00001c50: MSTORE
00001c51: PUSH1 0x01
00001c53: PUSH1 0xa0
00001c55: PUSH1 0x02
00001c57: EXP
00001c58: SUB
00001c59: DUP11
00001c5a: DUP2
00001c5b: AND
00001c5c: PUSH1 0x04
00001c5e: DUP4
00001c5f: ADD
00001c60: MSTORE
00001c61: SWAP2
00001c62: MLOAD
00001c63: SWAP2
00001c64: DUP6
00001c65: AND
00001c66: SWAP2
00001c67: PUSH4 0xf1b8a9b7
00001c6c: SWAP2
00001c6d: PUSH1 0x24
00001c6f: DUP1
00001c70: DUP3
00001c71: ADD
00001c72: SWAP3
00001c73: PUSH1 0x20
00001c75: SWAP3
00001c76: SWAP1
00001c77: SWAP2
00001c78: SWAP1
00001c79: DUP3
00001c7a: SWAP1
00001c7b: SUB
00001c7c: ADD
00001c7d: DUP2
00001c7e: PUSH1 0x00
00001c80: DUP8
00001c81: DUP1
00001c82: EXTCODESIZE
00001c83: ISZERO
00001c84: DUP1
00001c85: ISZERO
00001c86: PUSH2 0x1c8e
00001c89: JUMPI
00001c8a: PUSH1 0x00
00001c8c: DUP1
00001c8d: REVERT
00001c8e: JUMPDEST
00001c8f: POP
00001c90: GAS
00001c91: CALL
00001c92: ISZERO
00001c93: DUP1
00001c94: ISZERO
00001c95: PUSH2 0x1ca2
00001c98: JUMPI
00001c99: RETURNDATASIZE
00001c9a: PUSH1 0x00
00001c9c: DUP1
00001c9d: RETURNDATACOPY
00001c9e: RETURNDATASIZE
00001c9f: PUSH1 0x00
00001ca1: REVERT
00001ca2: JUMPDEST
00001ca3: POP
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: PUSH1 0x40
00001ca9: MLOAD
00001caa: RETURNDATASIZE
00001cab: PUSH1 0x20
00001cad: DUP2
00001cae: LT
00001caf: ISZERO
00001cb0: PUSH2 0x1cb8
00001cb3: JUMPI
00001cb4: PUSH1 0x00
00001cb6: DUP1
00001cb7: REVERT
00001cb8: JUMPDEST
00001cb9: POP
00001cba: MLOAD
00001cbb: PUSH1 0x40
00001cbd: DUP1
00001cbe: MLOAD
00001cbf: PUSH32 0xf8b2cb4f00000000000000000000000000000000000000000000000000000000
00001ce0: DUP2
00001ce1: MSTORE
00001ce2: PUSH1 0x01
00001ce4: PUSH1 0xa0
00001ce6: PUSH1 0x02
00001ce8: EXP
00001ce9: SUB
00001cea: DUP11
00001ceb: DUP2
00001cec: AND
00001ced: PUSH1 0x04
00001cef: DUP4
00001cf0: ADD
00001cf1: MSTORE
00001cf2: SWAP2
00001cf3: MLOAD
00001cf4: SWAP2
00001cf5: DUP7
00001cf6: AND
00001cf7: SWAP2
00001cf8: PUSH4 0xf8b2cb4f
00001cfd: SWAP2
00001cfe: PUSH1 0x24
00001d00: DUP1
00001d01: DUP3
00001d02: ADD
00001d03: SWAP3
00001d04: PUSH1 0x20
00001d06: SWAP3
00001d07: SWAP1
00001d08: SWAP2
00001d09: SWAP1
00001d0a: DUP3
00001d0b: SWAP1
00001d0c: SUB
00001d0d: ADD
00001d0e: DUP2
00001d0f: PUSH1 0x00
00001d11: DUP8
00001d12: DUP1
00001d13: EXTCODESIZE
00001d14: ISZERO
00001d15: DUP1
00001d16: ISZERO
00001d17: PUSH2 0x1d1f
00001d1a: JUMPI
00001d1b: PUSH1 0x00
00001d1d: DUP1
00001d1e: REVERT
00001d1f: JUMPDEST
00001d20: POP
00001d21: GAS
00001d22: CALL
00001d23: ISZERO
00001d24: DUP1
00001d25: ISZERO
00001d26: PUSH2 0x1d33
00001d29: JUMPI
00001d2a: RETURNDATASIZE
00001d2b: PUSH1 0x00
00001d2d: DUP1
00001d2e: RETURNDATACOPY
00001d2f: RETURNDATASIZE
00001d30: PUSH1 0x00
00001d32: REVERT
00001d33: JUMPDEST
00001d34: POP
00001d35: POP
00001d36: POP
00001d37: POP
00001d38: PUSH1 0x40
00001d3a: MLOAD
00001d3b: RETURNDATASIZE
00001d3c: PUSH1 0x20
00001d3e: DUP2
00001d3f: LT
00001d40: ISZERO
00001d41: PUSH2 0x1d49
00001d44: JUMPI
00001d45: PUSH1 0x00
00001d47: DUP1
00001d48: REVERT
00001d49: JUMPDEST
00001d4a: POP
00001d4b: MLOAD
00001d4c: PUSH1 0x40
00001d4e: DUP1
00001d4f: MLOAD
00001d50: PUSH32 0xf1b8a9b700000000000000000000000000000000000000000000000000000000
00001d71: DUP2
00001d72: MSTORE
00001d73: PUSH1 0x01
00001d75: PUSH1 0xa0
00001d77: PUSH1 0x02
00001d79: EXP
00001d7a: SUB
00001d7b: DUP12
00001d7c: DUP2
00001d7d: AND
00001d7e: PUSH1 0x04
00001d80: DUP4
00001d81: ADD
00001d82: MSTORE
00001d83: SWAP2
00001d84: MLOAD
00001d85: SWAP2
00001d86: DUP8
00001d87: AND
00001d88: SWAP2
00001d89: PUSH4 0xf1b8a9b7
00001d8e: SWAP2
00001d8f: PUSH1 0x24
00001d91: DUP1
00001d92: DUP3
00001d93: ADD
00001d94: SWAP3
00001d95: PUSH1 0x20
00001d97: SWAP3
00001d98: SWAP1
00001d99: SWAP2
00001d9a: SWAP1
00001d9b: DUP3
00001d9c: SWAP1
00001d9d: SUB
00001d9e: ADD
00001d9f: DUP2
00001da0: PUSH1 0x00
00001da2: DUP8
00001da3: DUP1
00001da4: EXTCODESIZE
00001da5: ISZERO
00001da6: DUP1
00001da7: ISZERO
00001da8: PUSH2 0x1db0
00001dab: JUMPI
00001dac: PUSH1 0x00
00001dae: DUP1
00001daf: REVERT
00001db0: JUMPDEST
00001db1: POP
00001db2: GAS
00001db3: CALL
00001db4: ISZERO
00001db5: DUP1
00001db6: ISZERO
00001db7: PUSH2 0x1dc4
00001dba: JUMPI
00001dbb: RETURNDATASIZE
00001dbc: PUSH1 0x00
00001dbe: DUP1
00001dbf: RETURNDATACOPY
00001dc0: RETURNDATASIZE
00001dc1: PUSH1 0x00
00001dc3: REVERT
00001dc4: JUMPDEST
00001dc5: POP
00001dc6: POP
00001dc7: POP
00001dc8: POP
00001dc9: PUSH1 0x40
00001dcb: MLOAD
00001dcc: RETURNDATASIZE
00001dcd: PUSH1 0x20
00001dcf: DUP2
00001dd0: LT
00001dd1: ISZERO
00001dd2: PUSH2 0x1dda
00001dd5: JUMPI
00001dd6: PUSH1 0x00
00001dd8: DUP1
00001dd9: REVERT
00001dda: JUMPDEST
00001ddb: POP
00001ddc: MLOAD
00001ddd: PUSH1 0x40
00001ddf: DUP1
00001de0: MLOAD
00001de1: PUSH32 0xd4cadf6800000000000000000000000000000000000000000000000000000000
00001e02: DUP2
00001e03: MSTORE
00001e04: SWAP1
00001e05: MLOAD
00001e06: DUP11
00001e07: SWAP2
00001e08: PUSH1 0x01
00001e0a: PUSH1 0xa0
00001e0c: PUSH1 0x02
00001e0e: EXP
00001e0f: SUB
00001e10: DUP10
00001e11: AND
00001e12: SWAP2
00001e13: PUSH4 0xd4cadf68
00001e18: SWAP2
00001e19: PUSH1 0x04
00001e1b: DUP1
00001e1c: DUP3
00001e1d: ADD
00001e1e: SWAP3
00001e1f: PUSH1 0x20
00001e21: SWAP3
00001e22: SWAP1
00001e23: SWAP2
00001e24: SWAP1
00001e25: DUP3
00001e26: SWAP1
00001e27: SUB
00001e28: ADD
00001e29: DUP2
00001e2a: DUP7
00001e2b: DUP1
00001e2c: EXTCODESIZE
00001e2d: ISZERO
00001e2e: DUP1
00001e2f: ISZERO
00001e30: PUSH2 0x1e38
00001e33: JUMPI
00001e34: PUSH1 0x00
00001e36: DUP1
00001e37: REVERT
00001e38: JUMPDEST
00001e39: POP
00001e3a: GAS
00001e3b: STATICCALL
00001e3c: ISZERO
00001e3d: DUP1
00001e3e: ISZERO
00001e3f: PUSH2 0x1e4c
00001e42: JUMPI
00001e43: RETURNDATASIZE
00001e44: PUSH1 0x00
00001e46: DUP1
00001e47: RETURNDATACOPY
00001e48: RETURNDATASIZE
00001e49: PUSH1 0x00
00001e4b: REVERT
00001e4c: JUMPDEST
00001e4d: POP
00001e4e: POP
00001e4f: POP
00001e50: POP
00001e51: PUSH1 0x40
00001e53: MLOAD
00001e54: RETURNDATASIZE
00001e55: PUSH1 0x20
00001e57: DUP2
00001e58: LT
00001e59: ISZERO
00001e5a: PUSH2 0x1e62
00001e5d: JUMPI
00001e5e: PUSH1 0x00
00001e60: DUP1
00001e61: REVERT
00001e62: JUMPDEST
00001e63: POP
00001e64: MLOAD
00001e65: PUSH2 0x09b1
00001e68: JUMP
00001e69: JUMPDEST
00001e6a: SWAP2
00001e6b: POP
00001e6c: POP
00001e6d: PUSH2 0x1f51
00001e70: JUMP
00001e71: JUMPDEST
00001e72: PUSH1 0x00
00001e74: DUP7
00001e75: SWAP1
00001e76: POP
00001e77: PUSH1 0x00
00001e79: DUP1
00001e7a: DUP3
00001e7b: PUSH1 0x01
00001e7d: PUSH1 0xa0
00001e7f: PUSH1 0x02
00001e81: EXP
00001e82: SUB
00001e83: AND
00001e84: PUSH4 0x0902f1ac
00001e89: PUSH1 0x40
00001e8b: MLOAD
00001e8c: DUP2
00001e8d: PUSH4 0xffffffff
00001e92: AND
00001e93: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001eb1: MUL
00001eb2: DUP2
00001eb3: MSTORE
00001eb4: PUSH1 0x04
00001eb6: ADD
00001eb7: PUSH1 0x60
00001eb9: PUSH1 0x40
00001ebb: MLOAD
00001ebc: DUP1
00001ebd: DUP4
00001ebe: SUB
00001ebf: DUP2
00001ec0: DUP7
00001ec1: DUP1
00001ec2: EXTCODESIZE
00001ec3: ISZERO
00001ec4: DUP1
00001ec5: ISZERO
00001ec6: PUSH2 0x1ece
00001ec9: JUMPI
00001eca: PUSH1 0x00
00001ecc: DUP1
00001ecd: REVERT
00001ece: JUMPDEST
00001ecf: POP
00001ed0: GAS
00001ed1: STATICCALL
00001ed2: ISZERO
00001ed3: DUP1
00001ed4: ISZERO
00001ed5: PUSH2 0x1ee2
00001ed8: JUMPI
00001ed9: RETURNDATASIZE
00001eda: PUSH1 0x00
00001edc: DUP1
00001edd: RETURNDATACOPY
00001ede: RETURNDATASIZE
00001edf: PUSH1 0x00
00001ee1: REVERT
00001ee2: JUMPDEST
00001ee3: POP
00001ee4: POP
00001ee5: POP
00001ee6: POP
00001ee7: PUSH1 0x40
00001ee9: MLOAD
00001eea: RETURNDATASIZE
00001eeb: PUSH1 0x60
00001eed: DUP2
00001eee: LT
00001eef: ISZERO
00001ef0: PUSH2 0x1ef8
00001ef3: JUMPI
00001ef4: PUSH1 0x00
00001ef6: DUP1
00001ef7: REVERT
00001ef8: JUMPDEST
00001ef9: POP
00001efa: DUP1
00001efb: MLOAD
00001efc: PUSH1 0x20
00001efe: SWAP1
00001eff: SWAP2
00001f00: ADD
00001f01: MLOAD
00001f02: PUSH14 0xffffffffffffffffffffffffffff
00001f11: SWAP2
00001f12: DUP3
00001f13: AND
00001f14: SWAP4
00001f15: POP
00001f16: AND
00001f17: SWAP1
00001f18: POP
00001f19: PUSH1 0x01
00001f1b: PUSH1 0xa0
00001f1d: PUSH1 0x02
00001f1f: EXP
00001f20: SUB
00001f21: DUP1
00001f22: DUP9
00001f23: AND
00001f24: SWAP1
00001f25: DUP10
00001f26: AND
00001f27: LT
00001f28: PUSH2 0x1f4a
00001f2b: DUP8
00001f2c: DUP3
00001f2d: PUSH2 0x1f36
00001f30: JUMPI
00001f31: DUP4
00001f32: PUSH2 0x1f38
00001f35: JUMP
00001f36: JUMPDEST
00001f37: DUP5
00001f38: JUMPDEST
00001f39: DUP4
00001f3a: PUSH2 0x1f43
00001f3d: JUMPI
00001f3e: DUP6
00001f3f: PUSH2 0x1f45
00001f42: JUMP
00001f43: JUMPDEST
00001f44: DUP5
00001f45: JUMPDEST
00001f46: PUSH2 0x20e2
00001f49: JUMP
00001f4a: JUMPDEST
00001f4b: SWAP5
00001f4c: POP
00001f4d: POP
00001f4e: POP
00001f4f: POP
00001f50: POP
00001f51: JUMPDEST
00001f52: SWAP6
00001f53: SWAP5
00001f54: POP
00001f55: POP
00001f56: POP
00001f57: POP
00001f58: POP
00001f59: JUMP
00001f5a: JUMPDEST
00001f5b: PUSH1 0x00
00001f5d: DUP1
00001f5e: DUP3
00001f5f: DUP5
00001f60: LT
00001f61: PUSH2 0x1f70
00001f64: JUMPI
00001f65: POP
00001f66: POP
00001f67: DUP1
00001f68: DUP3
00001f69: SUB
00001f6a: PUSH1 0x00
00001f6c: PUSH2 0x1f78
00001f6f: JUMP
00001f70: JUMPDEST
00001f71: POP
00001f72: POP
00001f73: DUP2
00001f74: DUP2
00001f75: SUB
00001f76: PUSH1 0x01
00001f78: JUMPDEST
00001f79: SWAP3
00001f7a: POP
00001f7b: SWAP3
00001f7c: SWAP1
00001f7d: POP
00001f7e: JUMP
00001f7f: JUMPDEST
00001f80: PUSH1 0x00
00001f82: PUSH8 0x0de0b6b3a7640000
00001f8b: PUSH2 0x1f93
00001f8e: DUP4
00001f8f: PUSH2 0x1f9a
00001f92: JUMP
00001f93: JUMPDEST
00001f94: MUL
00001f95: SWAP3
00001f96: SWAP2
00001f97: POP
00001f98: POP
00001f99: JUMP
00001f9a: JUMPDEST
00001f9b: PUSH8 0x0de0b6b3a7640000
00001fa4: SWAP1
00001fa5: DIV
00001fa6: SWAP1
00001fa7: JUMP
00001fa8: JUMPDEST
00001fa9: PUSH1 0x00
00001fab: DUP1
00001fac: PUSH1 0x02
00001fae: DUP4
00001faf: MOD
00001fb0: PUSH2 0x1fc1
00001fb3: JUMPI
00001fb4: PUSH8 0x0de0b6b3a7640000
00001fbd: PUSH2 0x1fc3
00001fc0: JUMP
00001fc1: JUMPDEST
00001fc2: DUP4
00001fc3: JUMPDEST
00001fc4: SWAP1
00001fc5: POP
00001fc6: PUSH1 0x02
00001fc8: DUP4
00001fc9: DIV
00001fca: SWAP3
00001fcb: POP
00001fcc: JUMPDEST
00001fcd: DUP3
00001fce: ISZERO
00001fcf: PUSH2 0x1a4b
00001fd2: JUMPI
00001fd3: PUSH2 0x1fdc
00001fd6: DUP5
00001fd7: DUP6
00001fd8: PUSH2 0x18fd
00001fdb: JUMP
00001fdc: JUMPDEST
00001fdd: SWAP4
00001fde: POP
00001fdf: PUSH1 0x02
00001fe1: DUP4
00001fe2: MOD
00001fe3: ISZERO
00001fe4: PUSH2 0x1ff4
00001fe7: JUMPI
00001fe8: PUSH2 0x1ff1
00001feb: DUP2
00001fec: DUP6
00001fed: PUSH2 0x18fd
00001ff0: JUMP
00001ff1: JUMPDEST
00001ff2: SWAP1
00001ff3: POP
00001ff4: JUMPDEST
00001ff5: PUSH1 0x02
00001ff7: DUP4
00001ff8: DIV
00001ff9: SWAP3
00001ffa: POP
00001ffb: PUSH2 0x1fcc
00001ffe: JUMP
00001fff: JUMPDEST
00002000: PUSH1 0x00
00002002: DUP3
00002003: DUP2
00002004: DUP1
00002005: PUSH2 0x2016
00002008: DUP8
00002009: PUSH8 0x0de0b6b3a7640000
00002012: PUSH2 0x1f5a
00002015: JUMP
00002016: JUMPDEST
00002017: SWAP1
00002018: SWAP3
00002019: POP
0000201a: SWAP1
0000201b: POP
0000201c: PUSH8 0x0de0b6b3a7640000
00002025: DUP1
00002026: PUSH1 0x00
00002028: PUSH1 0x01
0000202a: JUMPDEST
0000202b: DUP9
0000202c: DUP5
0000202d: LT
0000202e: PUSH2 0x20d3
00002031: JUMPI
00002032: PUSH1 0x00
00002034: PUSH8 0x0de0b6b3a7640000
0000203d: DUP3
0000203e: MUL
0000203f: SWAP1
00002040: POP
00002041: PUSH1 0x00
00002043: DUP1
00002044: PUSH2 0x205e
00002047: DUP11
00002048: PUSH2 0x2059
0000204b: DUP6
0000204c: PUSH8 0x0de0b6b3a7640000
00002055: PUSH2 0x1887
00002058: JUMP
00002059: JUMPDEST
0000205a: PUSH2 0x1f5a
0000205d: JUMP
0000205e: JUMPDEST
0000205f: SWAP2
00002060: POP
00002061: SWAP2
00002062: POP
00002063: PUSH2 0x2075
00002066: DUP8
00002067: PUSH2 0x2070
0000206a: DUP5
0000206b: DUP13
0000206c: PUSH2 0x18fd
0000206f: JUMP
00002070: JUMPDEST
00002071: PUSH2 0x18fd
00002074: JUMP
00002075: JUMPDEST
00002076: SWAP7
00002077: POP
00002078: PUSH2 0x2081
0000207b: DUP8
0000207c: DUP5
0000207d: PUSH2 0x172f
00002080: JUMP
00002081: JUMPDEST
00002082: SWAP7
00002083: POP
00002084: DUP7
00002085: PUSH2 0x2090
00002088: JUMPI
00002089: POP
0000208a: POP
0000208b: POP
0000208c: PUSH2 0x20d3
0000208f: JUMP
00002090: JUMPDEST
00002091: DUP8
00002092: ISZERO
00002093: PUSH2 0x209a
00002096: JUMPI
00002097: SWAP4
00002098: ISZERO
00002099: SWAP4
0000209a: JUMPDEST
0000209b: DUP1
0000209c: ISZERO
0000209d: PUSH2 0x20a4
000020a0: JUMPI
000020a1: SWAP4
000020a2: ISZERO
000020a3: SWAP4
000020a4: JUMPDEST
000020a5: DUP5
000020a6: ISZERO
000020a7: PUSH2 0x20bb
000020aa: JUMPI
000020ab: PUSH2 0x20b4
000020ae: DUP7
000020af: DUP9
000020b0: PUSH2 0x1887
000020b3: JUMP
000020b4: JUMPDEST
000020b5: SWAP6
000020b6: POP
000020b7: PUSH2 0x20c8
000020ba: JUMP
000020bb: JUMPDEST
000020bc: PUSH2 0x20c5
000020bf: DUP7
000020c0: DUP9
000020c1: PUSH2 0x19e9
000020c4: JUMP
000020c5: JUMPDEST
000020c6: SWAP6
000020c7: POP
000020c8: JUMPDEST
000020c9: POP
000020ca: POP
000020cb: POP
000020cc: PUSH1 0x01
000020ce: ADD
000020cf: PUSH2 0x202a
000020d2: JUMP
000020d3: JUMPDEST
000020d4: POP
000020d5: SWAP1
000020d6: SWAP10
000020d7: SWAP9
000020d8: POP
000020d9: POP
000020da: POP
000020db: POP
000020dc: POP
000020dd: POP
000020de: POP
000020df: POP
000020e0: POP
000020e1: JUMP
000020e2: JUMPDEST
000020e3: PUSH1 0x00
000020e5: DUP1
000020e6: PUSH2 0x20f1
000020e9: DUP6
000020ea: PUSH2 0x03e5
000020ed: PUSH2 0x2130
000020f0: JUMP
000020f1: JUMPDEST
000020f2: SWAP1
000020f3: POP
000020f4: PUSH1 0x00
000020f6: PUSH2 0x20ff
000020f9: DUP3
000020fa: DUP6
000020fb: PUSH2 0x2130
000020fe: JUMP
000020ff: JUMPDEST
00002100: SWAP1
00002101: POP
00002102: PUSH1 0x00
00002104: PUSH2 0x2119
00002107: DUP4
00002108: PUSH2 0x2113
0000210b: DUP9
0000210c: PUSH2 0x03e8
0000210f: PUSH2 0x2130
00002112: JUMP
00002113: JUMPDEST
00002114: SWAP1
00002115: PUSH2 0x21a4
00002118: JUMP
00002119: JUMPDEST
0000211a: SWAP1
0000211b: POP
0000211c: DUP1
0000211d: DUP3
0000211e: DUP2
0000211f: PUSH2 0x2124
00002122: JUMPI
00002123: INVALID
00002124: JUMPDEST
00002125: DIV
00002126: SWAP8
00002127: SWAP7
00002128: POP
00002129: POP
0000212a: POP
0000212b: POP
0000212c: POP
0000212d: POP
0000212e: POP
0000212f: JUMP
00002130: JUMPDEST
00002131: PUSH1 0x00
00002133: DUP2
00002134: ISZERO
00002135: DUP1
00002136: PUSH2 0x214b
00002139: JUMPI
0000213a: POP
0000213b: POP
0000213c: DUP1
0000213d: DUP3
0000213e: MUL
0000213f: DUP3
00002140: DUP3
00002141: DUP3
00002142: DUP2
00002143: PUSH2 0x2148
00002146: JUMPI
00002147: INVALID
00002148: JUMPDEST
00002149: DIV
0000214a: EQ
0000214b: JUMPDEST
0000214c: PUSH2 0x1881
0000214f: JUMPI
00002150: PUSH1 0x40
00002152: DUP1
00002153: MLOAD
00002154: PUSH1 0x00
00002156: DUP1
00002157: MLOAD
00002158: PUSH1 0x20
0000215a: PUSH2 0x222b
0000215d: DUP4
0000215e: CODECOPY
0000215f: DUP2
00002160: MLOAD
00002161: SWAP2
00002162: MSTORE
00002163: DUP2
00002164: MSTORE
00002165: PUSH1 0x20
00002167: PUSH1 0x04
00002169: DUP3
0000216a: ADD
0000216b: MSTORE
0000216c: PUSH1 0x14
0000216e: PUSH1 0x24
00002170: DUP3
00002171: ADD
00002172: MSTORE
00002173: PUSH32 0x64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000
00002194: PUSH1 0x44
00002196: DUP3
00002197: ADD
00002198: MSTORE
00002199: SWAP1
0000219a: MLOAD
0000219b: SWAP1
0000219c: DUP2
0000219d: SWAP1
0000219e: SUB
0000219f: PUSH1 0x64
000021a1: ADD
000021a2: SWAP1
000021a3: REVERT
000021a4: JUMPDEST
000021a5: DUP1
000021a6: DUP3
000021a7: ADD
000021a8: DUP3
000021a9: DUP2
000021aa: LT
000021ab: ISZERO
000021ac: PUSH2 0x1881
000021af: JUMPI
000021b0: PUSH1 0x40
000021b2: DUP1
000021b3: MLOAD
000021b4: PUSH1 0x00
000021b6: DUP1
000021b7: MLOAD
000021b8: PUSH1 0x20
000021ba: PUSH2 0x222b
000021bd: DUP4
000021be: CODECOPY
000021bf: DUP2
000021c0: MLOAD
000021c1: SWAP2
000021c2: MSTORE
000021c3: DUP2
000021c4: MSTORE
000021c5: PUSH1 0x20
000021c7: PUSH1 0x04
000021c9: DUP3
000021ca: ADD
000021cb: MSTORE
000021cc: PUSH1 0x14
000021ce: PUSH1 0x24
000021d0: DUP3
000021d1: ADD
000021d2: MSTORE
000021d3: PUSH32 0x64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000
000021f4: PUSH1 0x44
000021f6: DUP3
000021f7: ADD
000021f8: MSTORE
000021f9: SWAP1
000021fa: MLOAD
000021fb: SWAP1
000021fc: DUP2
000021fd: SWAP1
000021fe: SUB
000021ff: PUSH1 0x64
00002201: ADD
00002202: SWAP1
00002203: REVERT
00002204: INVALID
00002205: UNKNOWN(0x4F)
00002206: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
0000221f: PUSH27 0x65726f206164647265737308c379a0000000000000000000000000
0000223b: STOP
0000223c: STOP
0000223d: STOP
0000223e: STOP
0000223f: STOP
00002240: STOP
00002241: STOP
00002242: STOP
00002243: STOP
00002244: STOP
00002245: STOP
00002246: STOP
00002247: STOP
00002248: STOP
00002249: STOP
0000224a: STOP
0000224b: LOG2
0000224c: PUSH5 0x6970667358
00002252: UNKNOWN(0x22)
00002253: SLT
00002254: KECCAK256
00002255: UNKNOWN(0xD8)
00002256: UNKNOWN(0xC5)
00002257: UNKNOWN(0xFC)
00002258: MOD
00002259: PUSH13 0x4adbfeeaf5759dcd3a273ff83b
00002267: MCOPY
00002268: ADD
00002269: UNKNOWN(0xBD)
0000226a: UNKNOWN(0xB0)
0000226b: MSTORE8
0000226c: PUSH7 0x35df8e10c68772
00002274: SWAP7
00002275: PUSH5 0x736f6c6343
0000227b: STOP
0000227c: MOD
0000227d: UNKNOWN(0x0C)
0000227e: STOP
0000227f: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x6b724e298df757d1ed2a770a8229533c2000c2d6e7e328aeed0f240aa76e86c9
call_targets: 0x5525bfd977249c60df28176ebe3230c157ac4825
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6b724e298df757d1ed2a770a8229533c2000c2d6e7e328aeed0f240aa76e86c9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5525bfd977249c60df28176ebe3230c157ac4825"
    ],
    "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": "0xec093021",
            "selector": "0xec093021",
            "calldata_variants": [
                "0xec093021",
                "0xec0930210000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb77e411",
            "selector": "0xfb77e411",
            "calldata_variants": [
                "0xfb77e411",
                "0xfb77e4110000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc36596a6",
            "selector": "0xc36596a6",
            "calldata_variants": [
                "0xc36596a6",
                "0xc36596a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6580d12",
            "selector": "0xc6580d12",
            "calldata_variants": [
                "0xc6580d12",
                "0xc6580d120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe4a28a52",
            "selector": "0xe4a28a52",
            "calldata_variants": [
                "0xe4a28a52",
                "0xe4a28a520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba019dab",
            "selector": "0xba019dab",
            "calldata_variants": [
                "0xba019dab",
                "0xba019dab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3206,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3965,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 10,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x6b724e298df757d1ed2a770a8229533c2000c2d6e7e328aeed0f240aa76e86c9
call_targets: 0x5525bfd977249c60df28176ebe3230c157ac4825
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x6b724e298df757d1ed2a770a8229533c2000c2d6e7e328aeed0f240aa76e86c9",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x5525bfd977249c60df28176ebe3230c157ac4825"
    ],
    "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": "0xec093021",
            "selector": "0xec093021",
            "calldata_variants": [
                "0xec093021",
                "0xec0930210000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfb77e411",
            "selector": "0xfb77e411",
            "calldata_variants": [
                "0xfb77e411",
                "0xfb77e4110000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc36596a6",
            "selector": "0xc36596a6",
            "calldata_variants": [
                "0xc36596a6",
                "0xc36596a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6580d12",
            "selector": "0xc6580d12",
            "calldata_variants": [
                "0xc6580d12",
                "0xc6580d120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe4a28a52",
            "selector": "0xe4a28a52",
            "calldata_variants": [
                "0xe4a28a52",
                "0xe4a28a520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba019dab",
            "selector": "0xba019dab",
            "calldata_variants": [
                "0xba019dab",
                "0xba019dab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3206,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3965,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4159,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 10,
    "guards_detected": [],
    "untrusted_call_count": 10
}
medium other codex Computed external CALLs with possible ETH value transfer (access control unclear) 75 no
view
evidence_json
{
    "evidence": "BYTECODE_BUNDLE.json callsites show 10 CALLs with computed targets/values and no detected guards; detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with untrusted_call_count=10. proxy_evidence reports not_proxy; delegatecall_count=0.",
    "locations": [
        "pc:3206",
        "pc:3965",
        "pc:4159",
        "pc:4463",
        "pc:4816",
        "pc:5465",
        "pc:7168",
        "pc:7313",
        "pc:7458",
        "pc:7603"
    ],
    "recommendation": "Confirm which entrypoints reach these CALLs and enforce strict access control or target/recipient allowlists. Cap or block ETH value where not required. Consider reentrancy protections where state changes surround external calls.",
    "exploit_scenario": "If any user-accessible function allows callers to influence CALL target/value, an attacker could route ETH or invoke arbitrary external calls through this contract. This is especially risky if the contract holds ETH/tokens or is expected to be a trusted router. Guard detection is heuristic and may miss checks, so this is a potential risk unless access controls/allowlists are confirmed."
}
low other codex External call return data not verified (heuristic) 65 no
view
evidence_json
{
    "evidence": "callsites entries indicate `returndata_checked: null` for CALL/STATICCALLs in the bundle, implying no verified returndata handling was detected.",
    "locations": [
        "pc:3206",
        "pc:3965",
        "pc:4159",
        "pc:4463",
        "pc:4816",
        "pc:5465",
        "pc:7168",
        "pc:7313",
        "pc:7458",
        "pc:7603",
        "pc:7739",
        "pc:7889"
    ],
    "recommendation": "For ERC20 interactions, use a SafeERC20-style check that requires either empty return data or a decoded true value; otherwise bubble up failure.",
    "exploit_scenario": "If any external call expects a boolean return (e.g., ERC20 transfer/approve), failing to inspect return data can let a call that returns false be treated as success, leading to accounting errors or missed transfers. The analysis marks returndatasize checking as unknown for these callsites."
}
low reentrancy codex Reentrancy surface from multiple external calls (guard not detected) 65 no
view
evidence_json
{
    "evidence": "callsites list multiple CALLs with computed targets; auth.guards and detector guards_detected are empty in the bundle (heuristic).",
    "locations": [
        "pc:3206",
        "pc:3965",
        "pc:4159",
        "pc:4463",
        "pc:4816",
        "pc:5465",
        "pc:7168",
        "pc:7313",
        "pc:7458",
        "pc:7603"
    ],
    "recommendation": "Review call paths for state updates around external calls; apply checks-effects-interactions and/or a reentrancy guard on functions that can be reentered.",
    "exploit_scenario": "The contract performs multiple external CALLs (some with ETH value). If any of these functions update sensitive state after the call, a malicious callee could reenter and manipulate state. The analysis shows no detected reentrancy guard, but this is heuristic and may miss custom protections."
}
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": 12
}
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": 12
}