019be3d6-8547-735e-b929-04787b4987ad
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| 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 |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"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"]}]}
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
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 12
}
|