019bb491-abe0-7015-aafa-7b767eaf03d1
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 |
|---|---|---|---|---|
| 40250 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40251 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40252 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40253 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40254 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40255 | detector.run | complete | 1 / 3 | 3 months ago |
| 40256 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40274 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows multiple low-level CALLs with computed targets/values and no detected guard patterns; no delegatecall/proxy patterns are present in this runtime artifact.","findings":[{"severity":"medium","category":"other","title":"Computed external CALLs (some with ETH value) can be dangerous if target is attacker-controlled","exploit_scenario":"If any call target is derived from user input or a privileged storage slot that can be mis-set (e.g., token/recipient address), an attacker can point it to a malicious contract and trigger the CALL sites to execute arbitrary code and potentially reenter or drain ETH before state is finalized.","recommendation":"Constrain call targets to trusted/allowlisted addresses, make critical targets immutable or tightly access-controlled, and add reentrancy guards around state-changing flows that execute low-level CALLs with value. Also validate return data where applicable (e.g., ERC20 calls).","evidence":"Detector reports 5 CALL sites with computed targets/values and no guards detected. CALL sites at pc 3992, 4695, 4872, 4948, 6009; `returndata_checked` is null. Validation trace did not confirm a varying target (classified constant_target, confirmed=false), so attacker control is uncertain.","locations":["pc:3992","pc:4695","pc:4872","pc:4948","pc:6009"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-a1eev65g
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb4d2-e50e-7a21-904e-6842e5bdf762
--------
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-a1eev65g succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-a1eev65g succeeded in 6ms:
{
"analysis_artifact": {
"address": "0xc186e6f0163e21be057e95aa135edd52508d14d3",
"artifact_hash": "0xe89224d20e3e5313c1e93c60154ecc190f900624dae94604f3303a540eeb9aab",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0xee9b7a008adde9eceacb0e9b1b218268e62be2482c6626c86a298ad72e5335c2",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Searching for evidence bundles**
exec
/bin/bash -lc 'rg -n "evidence|callsite|storage|proxy|delegatecall|selector" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-a1eev65g succeeded in 8ms:
7550: "callsites": [
9288: "dispatcher_type": "selector_jump_table",
9292: "selector": "0xe2787405"
9296: "selector": "0xec58f4b8"
9300: "selector": "0xfc22290b"
9304: "selector": "0xfeb9bf89"
9308: "selector": "0xd547741f"
9312: "selector": "0xdb5c0f79"
9316: "selector": "0xe086e5ec"
9320: "selector": "0xa217fddf"
9324: "selector": "0xc471b10b"
9328: "selector": "0xc4fd5002"
9332: "selector": "0xc59d5633"
9336: "selector": "0xca15c873"
9340: "selector": "0xcd3293de"
9344: "selector": "0x4f01f6f1"
9348: "selector": "0x6b7cd7c8"
9352: "selector": "0x8f29f0fe"
9356: "selector": "0x9010d07c"
9360: "selector": "0x91d14854"
thinking
**Inspecting callsites for evidence_bundle**
exec
/bin/bash -lc "sed -n '7480,7645p' BYTECODE_BUNDLE.json" in /tmp/codex-a1eev65g succeeded in 12ms:
"PUSH16",
"PUSH6",
"PUSH14",
"PUSH13",
"PUSH2",
"SHA3",
"PUSH17",
"PUSH5",
"PUSH4",
"PUSH16",
"PUSH20",
"PUSH16",
"PUSH10",
"PUSH16",
"PUSH10",
"PUSH20",
"PUSH13",
"PUSH15",
"PUSH9",
"PUSH19",
thinking
**Analyzing callsite and proxy evidence**
I'm gathering more data on function callsites, especially around dispatchers and security—looking for proxy usage, delegatecall absence, and whether external calls handle return data properly. The evidence suggests calls target the contract itself, which might lower untrusted call risks, but I'll need to review evidence bundles closely to clarify.
exec
/bin/bash -lc "sed -n '9280,9750p' BYTECODE_BUNDLE.json" in /tmp/codex-a1eev65g succeeded in 7ms:
},
{
"from": "bb:8269",
"to": "bb:8275",
"type": "control_flow_fallthrough"
}
],
"cfg_hash": "0x2d3295b2f9c769ab9c3a96879994053ae8ee5ab7a8c2a9e9ec672e502918fff7",
"dispatcher_type": "selector_jump_table",
"function_entries": [
{
"entry_pc": 3799544837,
"selector": "0xe2787405"
},
{
"entry_pc": 4230097163,
"selector": "0xec58f4b8"
},
{
"entry_pc": 4273586057,
thinking
**Analyzing function list with unusual entries**
exec
/bin/bash -lc "sed -n '13320,13780p' BYTECODE_BUNDLE.json" in /tmp/codex-a1eev65g succeeded in 7ms:
"op": "SLOAD",
"pc": 7964,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
}
],
"writes": 20
}
},
{
"auth": {
"guards": []
},
"entry_pc": 0,
"selector": "0x485cc955",
"sinks": {
"call": 5,
"delegatecall": 0,
"selfdestruct": 0,
"staticcall": 4
},
thinking
**Analyzing bytecode for external calls and reentrancy**
exec
/bin/bash -lc 'rg -n "pc": 3992 -n BYTECODE_BUNDLE.json' in /tmp/codex-a1eev65g exited 2 in 9ms:
rg: 3992: No such file or directory (os error 2)
thinking
**Correcting search command syntax**
exec
/bin/bash -lc "rg -n \"\\\"pc\\\": 3992\" BYTECODE_BUNDLE.json" in /tmp/codex-a1eev65g succeeded in 7ms:
7560: "pc": 3992,
18418: "pc": 3992,
18636: "pc": 3992,
18688: "pc": 3992,
thinking
**Preparing to extract opcode blocks**
exec
/bin/bash -lc "python - <<'PY'
import json
import sys
pc_targets=[2197,3992,4252,4695,4872,4948,5092,5300,6009]
with open('BYTECODE_BUNDLE.json','r') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
# Some basic blocks entries near end may be truncated? but we have list
for pc in pc_targets:
blk=None
for b in blocks:
if b['start_pc']<=pc<=b['end_pc']:
blk=b
break
print('pc',pc,'block',blk['start_pc'] if blk else None, blk['end_pc'] if blk else None)
if blk:
ops=blk['opcodes']
print('ops:',ops)
PY" in /tmp/codex-a1eev65g succeeded in 30ms:
pc 2197 block 2194 2204
ops: ['JUMPDEST', 'POP', 'GAS', 'STATICCALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 3992 block 3989 3999
ops: ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 4252 block 4249 4259
ops: ['JUMPDEST', 'POP', 'GAS', 'STATICCALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 4695 block 4692 4702
ops: ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 4872 block 4869 4879
ops: ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 4948 block 4901 4960
ops: ['JUMPDEST', 'PUSH20', 'AND', 'PUSH2', 'OP_82', 'OP_90', 'OP_81', 'ISZERO', 'MUL', 'OP_90', 'PUSH1', 'MLOAD', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 5092 block 5089 5099
ops: ['JUMPDEST', 'POP', 'GAS', 'STATICCALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 5300 block 5297 5307
ops: ['JUMPDEST', 'POP', 'GAS', 'STATICCALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
pc 6009 block 5988 6021
ops: ['JUMPDEST', 'OP_90', 'OP_81', 'ISZERO', 'MUL', 'OP_90', 'PUSH1', 'MLOAD', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
thinking
**Analyzing external call patterns and reentrancy risks**
I'm examining the bytecode around external CALL instructions to understand how call success and return data are handled, searching for possible reentrancy vulnerabilities. Noticing standard revert-on-failure patterns and calls to stored token addresses, I'm investigating if state changes happen before or after these calls and checking if return values from token transfers are adequately verified. The contract is an implementation behind a proxy with initializer logic, so I’m also considering upgrade and initialization risks while mapping control flow and opcode edges to clarify callsite behavior.
exec
/bin/bash -lc "python - <<'PY'
import json
pc_targets=[3992,4695,4872,4948,6009]
with open('BYTECODE_BUNDLE.json','r') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
# map id by start_pc? In blocks list maybe no id? But we have start_pc. We'll define label 'bb:<start_pc>' maybe? Actually in edges list, IDs are 'bb:<start>'
# Determine edges from cfg
edges=data['analysis_artifact']['artifact_json']['cfg_edges']
# Build mapping from bb id to edges
from collections import defaultdict
out=defaultdict(list)
for e in edges:
out[e['from']].append(e)
# map start_pc to block
block_by_start={b['start_pc']:b for b in blocks}
# find block covering pc and show outgoing edges and next block ops
for pc in pc_targets:
blk=None
for b in blocks:
if b['start_pc']<=pc<=b['end_pc']:
blk=b
break
if not blk:
print('pc',pc,'block not found')
continue
bid=f\"bb:{blk['start_pc']}\"
print('\\npc',pc,'block',bid,'range',blk['start_pc'],blk['end_pc'])
print('ops',blk['opcodes'])
print('edges',out.get(bid))
# show dest blocks ops summary
for e in out.get(bid,[]):
dest=e['to']
if dest.startswith('bb:'):
start=int(dest.split(':')[1])
b2=block_by_start.get(start)
if b2:
print(' dest ops start',start,'ops',b2['opcodes'][:10])
PY" in /tmp/codex-a1eev65g succeeded in 35ms:
pc 3992 block bb:3989 range 3989 3999
ops ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
edges [{'from': 'bb:3989', 'to': 'bb:4009', 'type': 'control_flow'}, {'from': 'bb:3989', 'to': 'bb:4000', 'type': 'control_flow_fallthrough'}]
dest ops start 4009 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'CALLVALUE', 'OP_90', 'POP', 'OP_91', 'OP_90']
dest ops start 4000 ops ['RETURNDATASIZE', 'PUSH1', 'OP_80', 'RETURNDATACOPY', 'RETURNDATASIZE', 'PUSH1', 'REVERT']
pc 4695 block bb:4692 range 4692 4702
ops ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
edges [{'from': 'bb:4692', 'to': 'bb:4712', 'type': 'control_flow'}, {'from': 'bb:4692', 'to': 'bb:4703', 'type': 'control_flow_fallthrough'}]
dest ops start 4712 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'PUSH1', 'MLOAD', 'RETURNDATASIZE', 'PUSH1', 'OP_81']
dest ops start 4703 ops ['RETURNDATASIZE', 'PUSH1', 'OP_80', 'RETURNDATACOPY', 'RETURNDATASIZE', 'PUSH1', 'REVERT']
pc 4872 block bb:4869 range 4869 4879
ops ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
edges [{'from': 'bb:4869', 'to': 'bb:4889', 'type': 'control_flow'}, {'from': 'bb:4869', 'to': 'bb:4880', 'type': 'control_flow_fallthrough'}]
dest ops start 4889 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'PUSH2', 'PUSH2', 'JUMP']
dest ops start 4880 ops ['RETURNDATASIZE', 'PUSH1', 'OP_80', 'RETURNDATACOPY', 'RETURNDATASIZE', 'PUSH1', 'REVERT']
pc 4948 block bb:4901 range 4901 4960
thinking
**Analyzing call return value checks**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
block_by_start={b['start_pc']:b for b in blocks}
edges=data['analysis_artifact']['artifact_json']['cfg_edges']
from collections import defaultdict
out=defaultdict(list)
for e in edges:
out[e['from']].append(e)
def show(start,depth=2,visited=None):
if visited is None: visited=set()
if start in visited: return
visited.add(start)
b=block_by_start.get(start)
print('block',start,'ops',b['opcodes'])
if depth<=0: return
for e in out.get(f'bb:{start}',[]):
dest=e['to']
if dest.startswith('bb:'):
show(int(dest.split(':')[1]), depth-1, visited)
for s in [4009,4712,4889,4970,6031]:
print('\\n=== from',s)
show(s,depth=2)
PY" in /tmp/codex-a1eev65g succeeded in 51ms:
=== from 4009
block 4009 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'CALLVALUE', 'OP_90', 'POP', 'OP_91', 'OP_90', 'POP', 'JUMP']
=== from 4712
block 4712 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'PUSH1', 'MLOAD', 'RETURNDATASIZE', 'PUSH1', 'OP_81', 'LT', 'ISZERO', 'PUSH2', 'JUMPI']
block 4734 ops ['JUMPDEST', 'OP_81', 'ADD', 'OP_90', 'OP_80', 'OP_80', 'MLOAD', 'OP_90', 'PUSH1', 'ADD', 'OP_90', 'OP_92', 'OP_91', 'OP_90', 'POP', 'POP', 'POP', 'POP', 'PUSH1', 'PUSH1', 'OP_90', 'SLOAD', 'OP_90', 'PUSH2', 'EXP', 'OP_90', 'DIV', 'PUSH20', 'AND', 'PUSH20', 'AND', 'PUSH4', 'OP_84', 'PUSH1', 'MLOAD', 'OP_82', 'PUSH4', 'AND', 'PUSH1', 'SHL', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_80', 'OP_82', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_91', 'POP', 'POP', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'PUSH1', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 4869 ops ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
block 4865 ops ['PUSH1', 'OP_80', 'REVERT']
block 4730 ops ['PUSH1', 'OP_80', 'REVERT']
=== from 4889
block 4889 ops ['JUMPDEST', 'POP', 'POP', 'POP', 'POP', 'PUSH2', 'PUSH2', 'JUMP']
block 6591 ops ['JUMPDEST', 'PUSH1', 'CALLER', 'OP_90', 'POP', 'OP_90', 'JUMP']
=== from 4970
block 4970 ops ['JUMPDEST', 'POP', 'OP_80', 'OP_91', 'POP', 'POP', 'OP_91', 'OP_90', 'POP', 'JUMP']
=== from 6031
block 6031 ops ['JUMPDEST', 'POP', 'JUMP']
thinking
**Analyzing external calls and reentrancy risks**
thinking
**Summarizing untrusted external calls and reentrancy risk**
I'll produce a detailed JSON with one combined finding about multiple low-level CALLs to computed targets (some with ETH value) that may allow reentrancy or arbitrary external calls if those targets can be controlled by an attacker. I'll include evidence about callsites, lack of detected guards, and mention proxy implementation context while noting some uncertainty.
codex
{"no_findings":false,"summary":"Bytecode shows multiple low-level CALLs with computed targets/values and no detected guard patterns; no delegatecall/proxy patterns are present in this runtime artifact.","findings":[{"severity":"medium","category":"other","title":"Computed external CALLs (some with ETH value) can be dangerous if target is attacker-controlled","exploit_scenario":"If any call target is derived from user input or a privileged storage slot that can be mis-set (e.g., token/recipient address), an attacker can point it to a malicious contract and trigger the CALL sites to execute arbitrary code and potentially reenter or drain ETH before state is finalized.","recommendation":"Constrain call targets to trusted/allowlisted addresses, make critical targets immutable or tightly access-controlled, and add reentrancy guards around state-changing flows that execute low-level CALLs with value. Also validate return data where applicable (e.g., ERC20 calls).","evidence":"Detector reports 5 CALL sites with computed targets/values and no guards detected. CALL sites at pc 3992, 4695, 4872, 4948, 6009; `returndata_checked` is null. Validation trace did not confirm a varying target (classified constant_target, confirmed=false), so attacker control is uncertain.","locations":["pc:3992","pc:4695","pc:4872","pc:4948","pc:6009"]}]}
tokens used
79,550
{
"codex": {
"ran_at": "2026-01-13T00:51:26.368109+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 17444,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows multiple low-level CALLs with computed targets/values and no detected guard patterns; no delegatecall/proxy patterns are present in this runtime artifact.",
"raw_final": {
"summary": "Bytecode shows multiple low-level CALLs with computed targets/values and no detected guard patterns; no delegatecall/proxy patterns are present in this runtime artifact.",
"findings": [
{
"title": "Computed external CALLs (some with ETH value) can be dangerous if target is attacker-controlled",
"category": "other",
"evidence": "Detector reports 5 CALL sites with computed targets/values and no guards detected. CALL sites at pc 3992, 4695, 4872, 4948, 6009; `returndata_checked` is null. Validation trace did not confirm a varying target (classified constant_target, confirmed=false), so attacker control is uncertain.",
"severity": "medium",
"locations": [
"pc:3992",
"pc:4695",
"pc:4872",
"pc:4948",
"pc:6009"
],
"recommendation": "Constrain call targets to trusted/allowlisted addresses, make critical targets immutable or tightly access-controlled, and add reentrancy guards around state-changing flows that execute low-level CALLs with value. Also validate return data where applicable (e.g., ERC20 calls).",
"exploit_scenario": "If any call target is derived from user input or a privileged storage slot that can be mis-set (e.g., token/recipient address), an attacker can point it to a malicious contract and trigger the CALL sites to execute arbitrary code and potentially reenter or drain ETH before state is finalized."
}
],
"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 0x0166 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0xa217fddf 00000019: GT 0000001a: PUSH2 0x00d1 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xd547741f 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe2787405 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe2787405 0000003a: EQ 0000003b: PUSH2 0x06fc 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xec58f4b8 00000045: EQ 00000046: PUSH2 0x0727 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xfc22290b 00000050: EQ 00000051: PUSH2 0x0790 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfeb9bf89 0000005b: EQ 0000005c: PUSH2 0x07bb 0000005f: JUMPI 00000060: PUSH2 0x0166 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xd547741f 0000006b: EQ 0000006c: PUSH2 0x0680 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xdb5c0f79 00000076: EQ 00000077: PUSH2 0x06db 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xe086e5ec 00000081: EQ 00000082: PUSH2 0x06e5 00000085: JUMPI 00000086: PUSH2 0x0166 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xa217fddf 00000091: EQ 00000092: PUSH2 0x04ee 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xc471b10b 0000009c: EQ 0000009d: PUSH2 0x0519 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xc4fd5002 000000a7: EQ 000000a8: PUSH2 0x0568 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xc59d5633 000000b2: EQ 000000b3: PUSH2 0x05b7 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xca15c873 000000bd: EQ 000000be: PUSH2 0x0606 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0xcd3293de 000000c8: EQ 000000c9: PUSH2 0x0655 000000cc: JUMPI 000000cd: PUSH2 0x0166 000000d0: JUMP 000000d1: JUMPDEST 000000d2: DUP1 000000d3: PUSH4 0x4f01f6f1 000000d8: GT 000000d9: PUSH2 0x0123 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x4f01f6f1 000000e3: EQ 000000e4: PUSH2 0x0337 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x6b7cd7c8 000000ee: EQ 000000ef: PUSH2 0x034e 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x8f29f0fe 000000f9: EQ 000000fa: PUSH2 0x0379 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x9010d07c 00000104: EQ 00000105: PUSH2 0x03b4 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x91d14854 0000010f: EQ 00000110: PUSH2 0x0439 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0xa0296215 0000011a: EQ 0000011b: PUSH2 0x04ac 0000011e: JUMPI 0000011f: PUSH2 0x0166 00000122: JUMP 00000123: JUMPDEST 00000124: DUP1 00000125: PUSH4 0x22b93266 0000012a: EQ 0000012b: PUSH2 0x016b 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0x248a9ca3 00000135: EQ 00000136: PUSH2 0x0196 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x27a28f68 00000140: EQ 00000141: PUSH2 0x01e5 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0x2f2ff15d 0000014b: EQ 0000014c: PUSH2 0x0210 0000014f: JUMPI 00000150: DUP1 00000151: PUSH4 0x36568abe 00000156: EQ 00000157: PUSH2 0x026b 0000015a: JUMPI 0000015b: DUP1 0000015c: PUSH4 0x485cc955 00000161: EQ 00000162: PUSH2 0x02c6 00000165: JUMPI 00000166: JUMPDEST 00000167: PUSH1 0x00 00000169: DUP1 0000016a: REVERT 0000016b: JUMPDEST 0000016c: CALLVALUE 0000016d: DUP1 0000016e: ISZERO 0000016f: PUSH2 0x0177 00000172: JUMPI 00000173: PUSH1 0x00 00000175: DUP1 00000176: REVERT 00000177: JUMPDEST 00000178: POP 00000179: PUSH2 0x0180 0000017c: PUSH2 0x07e6 0000017f: JUMP 00000180: JUMPDEST 00000181: PUSH1 0x40 00000183: MLOAD 00000184: DUP1 00000185: DUP3 00000186: DUP2 00000187: MSTORE 00000188: PUSH1 0x20 0000018a: ADD 0000018b: SWAP2 0000018c: POP 0000018d: POP 0000018e: PUSH1 0x40 00000190: MLOAD 00000191: DUP1 00000192: SWAP2 00000193: SUB 00000194: SWAP1 00000195: RETURN 00000196: JUMPDEST 00000197: CALLVALUE 00000198: DUP1 00000199: ISZERO 0000019a: PUSH2 0x01a2 0000019d: JUMPI 0000019e: PUSH1 0x00 000001a0: DUP1 000001a1: REVERT 000001a2: JUMPDEST 000001a3: POP 000001a4: PUSH2 0x01cf 000001a7: PUSH1 0x04 000001a9: DUP1 000001aa: CALLDATASIZE 000001ab: SUB 000001ac: PUSH1 0x20 000001ae: DUP2 000001af: LT 000001b0: ISZERO 000001b1: PUSH2 0x01b9 000001b4: JUMPI 000001b5: PUSH1 0x00 000001b7: DUP1 000001b8: REVERT 000001b9: JUMPDEST 000001ba: DUP2 000001bb: ADD 000001bc: SWAP1 000001bd: DUP1 000001be: DUP1 000001bf: CALLDATALOAD 000001c0: SWAP1 000001c1: PUSH1 0x20 000001c3: ADD 000001c4: SWAP1 000001c5: SWAP3 000001c6: SWAP2 000001c7: SWAP1 000001c8: POP 000001c9: POP 000001ca: POP 000001cb: PUSH2 0x07ec 000001ce: JUMP 000001cf: JUMPDEST 000001d0: PUSH1 0x40 000001d2: MLOAD 000001d3: DUP1 000001d4: DUP3 000001d5: DUP2 000001d6: MSTORE 000001d7: PUSH1 0x20 000001d9: ADD 000001da: SWAP2 000001db: POP 000001dc: POP 000001dd: PUSH1 0x40 000001df: MLOAD 000001e0: DUP1 000001e1: SWAP2 000001e2: SUB 000001e3: SWAP1 000001e4: RETURN 000001e5: JUMPDEST 000001e6: CALLVALUE 000001e7: DUP1 000001e8: ISZERO 000001e9: PUSH2 0x01f1 000001ec: JUMPI 000001ed: PUSH1 0x00 000001ef: DUP1 000001f0: REVERT 000001f1: JUMPDEST 000001f2: POP 000001f3: PUSH2 0x01fa 000001f6: PUSH2 0x080c 000001f9: JUMP 000001fa: JUMPDEST 000001fb: PUSH1 0x40 000001fd: MLOAD 000001fe: DUP1 000001ff: DUP3 00000200: DUP2 00000201: MSTORE 00000202: PUSH1 0x20 00000204: ADD 00000205: SWAP2 00000206: POP 00000207: POP 00000208: PUSH1 0x40 0000020a: MLOAD 0000020b: DUP1 0000020c: SWAP2 0000020d: SUB 0000020e: SWAP1 0000020f: RETURN 00000210: JUMPDEST 00000211: CALLVALUE 00000212: DUP1 00000213: ISZERO 00000214: PUSH2 0x021c 00000217: JUMPI 00000218: PUSH1 0x00 0000021a: DUP1 0000021b: REVERT 0000021c: JUMPDEST 0000021d: POP 0000021e: PUSH2 0x0269 00000221: PUSH1 0x04 00000223: DUP1 00000224: CALLDATASIZE 00000225: SUB 00000226: PUSH1 0x40 00000228: DUP2 00000229: LT 0000022a: ISZERO 0000022b: PUSH2 0x0233 0000022e: JUMPI 0000022f: PUSH1 0x00 00000231: DUP1 00000232: REVERT 00000233: JUMPDEST 00000234: DUP2 00000235: ADD 00000236: SWAP1 00000237: DUP1 00000238: DUP1 00000239: CALLDATALOAD 0000023a: SWAP1 0000023b: PUSH1 0x20 0000023d: ADD 0000023e: SWAP1 0000023f: SWAP3 00000240: SWAP2 00000241: SWAP1 00000242: DUP1 00000243: CALLDATALOAD 00000244: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000259: AND 0000025a: SWAP1 0000025b: PUSH1 0x20 0000025d: ADD 0000025e: SWAP1 0000025f: SWAP3 00000260: SWAP2 00000261: SWAP1 00000262: POP 00000263: POP 00000264: POP 00000265: PUSH2 0x0908 00000268: JUMP 00000269: JUMPDEST 0000026a: STOP 0000026b: JUMPDEST 0000026c: CALLVALUE 0000026d: DUP1 0000026e: ISZERO 0000026f: PUSH2 0x0277 00000272: JUMPI 00000273: PUSH1 0x00 00000275: DUP1 00000276: REVERT 00000277: JUMPDEST 00000278: POP 00000279: PUSH2 0x02c4 0000027c: PUSH1 0x04 0000027e: DUP1 0000027f: CALLDATASIZE 00000280: SUB 00000281: PUSH1 0x40 00000283: DUP2 00000284: LT 00000285: ISZERO 00000286: PUSH2 0x028e 00000289: JUMPI 0000028a: PUSH1 0x00 0000028c: DUP1 0000028d: REVERT 0000028e: JUMPDEST 0000028f: DUP2 00000290: ADD 00000291: SWAP1 00000292: DUP1 00000293: DUP1 00000294: CALLDATALOAD 00000295: SWAP1 00000296: PUSH1 0x20 00000298: ADD 00000299: SWAP1 0000029a: SWAP3 0000029b: SWAP2 0000029c: SWAP1 0000029d: DUP1 0000029e: CALLDATALOAD 0000029f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002b4: AND 000002b5: SWAP1 000002b6: PUSH1 0x20 000002b8: ADD 000002b9: SWAP1 000002ba: SWAP3 000002bb: SWAP2 000002bc: SWAP1 000002bd: POP 000002be: POP 000002bf: POP 000002c0: PUSH2 0x0992 000002c3: JUMP 000002c4: JUMPDEST 000002c5: STOP 000002c6: JUMPDEST 000002c7: CALLVALUE 000002c8: DUP1 000002c9: ISZERO 000002ca: PUSH2 0x02d2 000002cd: JUMPI 000002ce: PUSH1 0x00 000002d0: DUP1 000002d1: REVERT 000002d2: JUMPDEST 000002d3: POP 000002d4: PUSH2 0x0335 000002d7: PUSH1 0x04 000002d9: DUP1 000002da: CALLDATASIZE 000002db: SUB 000002dc: PUSH1 0x40 000002de: DUP2 000002df: LT 000002e0: ISZERO 000002e1: PUSH2 0x02e9 000002e4: JUMPI 000002e5: PUSH1 0x00 000002e7: DUP1 000002e8: REVERT 000002e9: JUMPDEST 000002ea: DUP2 000002eb: ADD 000002ec: SWAP1 000002ed: DUP1 000002ee: DUP1 000002ef: CALLDATALOAD 000002f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000305: AND 00000306: SWAP1 00000307: PUSH1 0x20 00000309: ADD 0000030a: SWAP1 0000030b: SWAP3 0000030c: SWAP2 0000030d: SWAP1 0000030e: DUP1 0000030f: CALLDATALOAD 00000310: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000325: AND 00000326: SWAP1 00000327: PUSH1 0x20 00000329: ADD 0000032a: SWAP1 0000032b: SWAP3 0000032c: SWAP2 0000032d: SWAP1 0000032e: POP 0000032f: POP 00000330: POP 00000331: PUSH2 0x0a2b 00000334: JUMP 00000335: JUMPDEST 00000336: STOP 00000337: JUMPDEST 00000338: CALLVALUE 00000339: DUP1 0000033a: ISZERO 0000033b: PUSH2 0x0343 0000033e: JUMPI 0000033f: PUSH1 0x00 00000341: DUP1 00000342: REVERT 00000343: JUMPDEST 00000344: POP 00000345: PUSH2 0x034c 00000348: PUSH2 0x0d15 0000034b: JUMP 0000034c: JUMPDEST 0000034d: STOP 0000034e: JUMPDEST 0000034f: CALLVALUE 00000350: DUP1 00000351: ISZERO 00000352: PUSH2 0x035a 00000355: JUMPI 00000356: PUSH1 0x00 00000358: DUP1 00000359: REVERT 0000035a: JUMPDEST 0000035b: POP 0000035c: PUSH2 0x0363 0000035f: PUSH2 0x0d2e 00000362: JUMP 00000363: JUMPDEST 00000364: PUSH1 0x40 00000366: MLOAD 00000367: DUP1 00000368: DUP3 00000369: DUP2 0000036a: MSTORE 0000036b: PUSH1 0x20 0000036d: ADD 0000036e: SWAP2 0000036f: POP 00000370: POP 00000371: PUSH1 0x40 00000373: MLOAD 00000374: DUP1 00000375: SWAP2 00000376: SUB 00000377: SWAP1 00000378: RETURN 00000379: JUMPDEST 0000037a: CALLVALUE 0000037b: DUP1 0000037c: ISZERO 0000037d: PUSH2 0x0385 00000380: JUMPI 00000381: PUSH1 0x00 00000383: DUP1 00000384: REVERT 00000385: JUMPDEST 00000386: POP 00000387: PUSH2 0x03b2 0000038a: PUSH1 0x04 0000038c: DUP1 0000038d: CALLDATASIZE 0000038e: SUB 0000038f: PUSH1 0x20 00000391: DUP2 00000392: LT 00000393: ISZERO 00000394: PUSH2 0x039c 00000397: JUMPI 00000398: PUSH1 0x00 0000039a: DUP1 0000039b: REVERT 0000039c: JUMPDEST 0000039d: DUP2 0000039e: ADD 0000039f: SWAP1 000003a0: DUP1 000003a1: DUP1 000003a2: CALLDATALOAD 000003a3: SWAP1 000003a4: PUSH1 0x20 000003a6: ADD 000003a7: SWAP1 000003a8: SWAP3 000003a9: SWAP2 000003aa: SWAP1 000003ab: POP 000003ac: POP 000003ad: POP 000003ae: PUSH2 0x0d67 000003b1: JUMP 000003b2: JUMPDEST 000003b3: STOP 000003b4: JUMPDEST 000003b5: CALLVALUE 000003b6: DUP1 000003b7: ISZERO 000003b8: PUSH2 0x03c0 000003bb: JUMPI 000003bc: PUSH1 0x00 000003be: DUP1 000003bf: REVERT 000003c0: JUMPDEST 000003c1: POP 000003c2: PUSH2 0x03f7 000003c5: PUSH1 0x04 000003c7: DUP1 000003c8: CALLDATASIZE 000003c9: SUB 000003ca: PUSH1 0x40 000003cc: DUP2 000003cd: LT 000003ce: ISZERO 000003cf: PUSH2 0x03d7 000003d2: JUMPI 000003d3: PUSH1 0x00 000003d5: DUP1 000003d6: REVERT 000003d7: JUMPDEST 000003d8: DUP2 000003d9: ADD 000003da: SWAP1 000003db: DUP1 000003dc: DUP1 000003dd: CALLDATALOAD 000003de: SWAP1 000003df: PUSH1 0x20 000003e1: ADD 000003e2: SWAP1 000003e3: SWAP3 000003e4: SWAP2 000003e5: SWAP1 000003e6: DUP1 000003e7: CALLDATALOAD 000003e8: SWAP1 000003e9: PUSH1 0x20 000003eb: ADD 000003ec: SWAP1 000003ed: SWAP3 000003ee: SWAP2 000003ef: SWAP1 000003f0: POP 000003f1: POP 000003f2: POP 000003f3: PUSH2 0x0dda 000003f6: JUMP 000003f7: JUMPDEST 000003f8: PUSH1 0x40 000003fa: MLOAD 000003fb: DUP1 000003fc: DUP3 000003fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000412: AND 00000413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000428: AND 00000429: DUP2 0000042a: MSTORE 0000042b: PUSH1 0x20 0000042d: ADD 0000042e: SWAP2 0000042f: POP 00000430: POP 00000431: PUSH1 0x40 00000433: MLOAD 00000434: DUP1 00000435: SWAP2 00000436: SUB 00000437: SWAP1 00000438: RETURN 00000439: JUMPDEST 0000043a: CALLVALUE 0000043b: DUP1 0000043c: ISZERO 0000043d: PUSH2 0x0445 00000440: JUMPI 00000441: PUSH1 0x00 00000443: DUP1 00000444: REVERT 00000445: JUMPDEST 00000446: POP 00000447: PUSH2 0x0492 0000044a: PUSH1 0x04 0000044c: DUP1 0000044d: CALLDATASIZE 0000044e: SUB 0000044f: PUSH1 0x40 00000451: DUP2 00000452: LT 00000453: ISZERO 00000454: PUSH2 0x045c 00000457: JUMPI 00000458: PUSH1 0x00 0000045a: DUP1 0000045b: REVERT 0000045c: JUMPDEST 0000045d: DUP2 0000045e: ADD 0000045f: SWAP1 00000460: DUP1 00000461: DUP1 00000462: CALLDATALOAD 00000463: SWAP1 00000464: PUSH1 0x20 00000466: ADD 00000467: SWAP1 00000468: SWAP3 00000469: SWAP2 0000046a: SWAP1 0000046b: DUP1 0000046c: CALLDATALOAD 0000046d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000482: AND 00000483: SWAP1 00000484: PUSH1 0x20 00000486: ADD 00000487: SWAP1 00000488: SWAP3 00000489: SWAP2 0000048a: SWAP1 0000048b: POP 0000048c: POP 0000048d: POP 0000048e: PUSH2 0x0e0c 00000491: JUMP 00000492: JUMPDEST 00000493: PUSH1 0x40 00000495: MLOAD 00000496: DUP1 00000497: DUP3 00000498: ISZERO 00000499: ISZERO 0000049a: ISZERO 0000049b: ISZERO 0000049c: DUP2 0000049d: MSTORE 0000049e: PUSH1 0x20 000004a0: ADD 000004a1: SWAP2 000004a2: POP 000004a3: POP 000004a4: PUSH1 0x40 000004a6: MLOAD 000004a7: DUP1 000004a8: SWAP2 000004a9: SUB 000004aa: SWAP1 000004ab: RETURN 000004ac: JUMPDEST 000004ad: PUSH2 0x04d8 000004b0: PUSH1 0x04 000004b2: DUP1 000004b3: CALLDATASIZE 000004b4: SUB 000004b5: PUSH1 0x20 000004b7: DUP2 000004b8: LT 000004b9: ISZERO 000004ba: PUSH2 0x04c2 000004bd: JUMPI 000004be: PUSH1 0x00 000004c0: DUP1 000004c1: REVERT 000004c2: JUMPDEST 000004c3: DUP2 000004c4: ADD 000004c5: SWAP1 000004c6: DUP1 000004c7: DUP1 000004c8: CALLDATALOAD 000004c9: SWAP1 000004ca: PUSH1 0x20 000004cc: ADD 000004cd: SWAP1 000004ce: SWAP3 000004cf: SWAP2 000004d0: SWAP1 000004d1: POP 000004d2: POP 000004d3: POP 000004d4: PUSH2 0x0e3e 000004d7: JUMP 000004d8: JUMPDEST 000004d9: PUSH1 0x40 000004db: MLOAD 000004dc: DUP1 000004dd: DUP3 000004de: DUP2 000004df: MSTORE 000004e0: PUSH1 0x20 000004e2: ADD 000004e3: SWAP2 000004e4: POP 000004e5: POP 000004e6: PUSH1 0x40 000004e8: MLOAD 000004e9: DUP1 000004ea: SWAP2 000004eb: SUB 000004ec: SWAP1 000004ed: RETURN 000004ee: JUMPDEST 000004ef: CALLVALUE 000004f0: DUP1 000004f1: ISZERO 000004f2: PUSH2 0x04fa 000004f5: JUMPI 000004f6: PUSH1 0x00 000004f8: DUP1 000004f9: REVERT 000004fa: JUMPDEST 000004fb: POP 000004fc: PUSH2 0x0503 000004ff: PUSH2 0x0fb5 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH1 0x40 00000506: MLOAD 00000507: DUP1 00000508: DUP3 00000509: DUP2 0000050a: MSTORE 0000050b: PUSH1 0x20 0000050d: ADD 0000050e: SWAP2 0000050f: POP 00000510: POP 00000511: PUSH1 0x40 00000513: MLOAD 00000514: DUP1 00000515: SWAP2 00000516: SUB 00000517: SWAP1 00000518: RETURN 00000519: JUMPDEST 0000051a: CALLVALUE 0000051b: DUP1 0000051c: ISZERO 0000051d: PUSH2 0x0525 00000520: JUMPI 00000521: PUSH1 0x00 00000523: DUP1 00000524: REVERT 00000525: JUMPDEST 00000526: POP 00000527: PUSH2 0x0552 0000052a: PUSH1 0x04 0000052c: DUP1 0000052d: CALLDATASIZE 0000052e: SUB 0000052f: PUSH1 0x20 00000531: DUP2 00000532: LT 00000533: ISZERO 00000534: PUSH2 0x053c 00000537: JUMPI 00000538: PUSH1 0x00 0000053a: DUP1 0000053b: REVERT 0000053c: JUMPDEST 0000053d: DUP2 0000053e: ADD 0000053f: SWAP1 00000540: DUP1 00000541: DUP1 00000542: CALLDATALOAD 00000543: SWAP1 00000544: PUSH1 0x20 00000546: ADD 00000547: SWAP1 00000548: SWAP3 00000549: SWAP2 0000054a: SWAP1 0000054b: POP 0000054c: POP 0000054d: POP 0000054e: PUSH2 0x0fbc 00000551: JUMP 00000552: JUMPDEST 00000553: PUSH1 0x40 00000555: MLOAD 00000556: DUP1 00000557: DUP3 00000558: DUP2 00000559: MSTORE 0000055a: PUSH1 0x20 0000055c: ADD 0000055d: SWAP2 0000055e: POP 0000055f: POP 00000560: PUSH1 0x40 00000562: MLOAD 00000563: DUP1 00000564: SWAP2 00000565: SUB 00000566: SWAP1 00000567: RETURN 00000568: JUMPDEST 00000569: CALLVALUE 0000056a: DUP1 0000056b: ISZERO 0000056c: PUSH2 0x0574 0000056f: JUMPI 00000570: PUSH1 0x00 00000572: DUP1 00000573: REVERT 00000574: JUMPDEST 00000575: POP 00000576: PUSH2 0x05a1 00000579: PUSH1 0x04 0000057b: DUP1 0000057c: CALLDATASIZE 0000057d: SUB 0000057e: PUSH1 0x20 00000580: DUP2 00000581: LT 00000582: ISZERO 00000583: PUSH2 0x058b 00000586: JUMPI 00000587: PUSH1 0x00 00000589: DUP1 0000058a: REVERT 0000058b: JUMPDEST 0000058c: DUP2 0000058d: ADD 0000058e: SWAP1 0000058f: DUP1 00000590: DUP1 00000591: CALLDATALOAD 00000592: SWAP1 00000593: PUSH1 0x20 00000595: ADD 00000596: SWAP1 00000597: SWAP3 00000598: SWAP2 00000599: SWAP1 0000059a: POP 0000059b: POP 0000059c: POP 0000059d: PUSH2 0x1374 000005a0: JUMP 000005a1: JUMPDEST 000005a2: PUSH1 0x40 000005a4: MLOAD 000005a5: DUP1 000005a6: DUP3 000005a7: DUP2 000005a8: MSTORE 000005a9: PUSH1 0x20 000005ab: ADD 000005ac: SWAP2 000005ad: POP 000005ae: POP 000005af: PUSH1 0x40 000005b1: MLOAD 000005b2: DUP1 000005b3: SWAP2 000005b4: SUB 000005b5: SWAP1 000005b6: RETURN 000005b7: JUMPDEST 000005b8: CALLVALUE 000005b9: DUP1 000005ba: ISZERO 000005bb: PUSH2 0x05c3 000005be: JUMPI 000005bf: PUSH1 0x00 000005c1: DUP1 000005c2: REVERT 000005c3: JUMPDEST 000005c4: POP 000005c5: PUSH2 0x05f0 000005c8: PUSH1 0x04 000005ca: DUP1 000005cb: CALLDATASIZE 000005cc: SUB 000005cd: PUSH1 0x20 000005cf: DUP2 000005d0: LT 000005d1: ISZERO 000005d2: PUSH2 0x05da 000005d5: JUMPI 000005d6: PUSH1 0x00 000005d8: DUP1 000005d9: REVERT 000005da: JUMPDEST 000005db: DUP2 000005dc: ADD 000005dd: SWAP1 000005de: DUP1 000005df: DUP1 000005e0: CALLDATALOAD 000005e1: SWAP1 000005e2: PUSH1 0x20 000005e4: ADD 000005e5: SWAP1 000005e6: SWAP3 000005e7: SWAP2 000005e8: SWAP1 000005e9: POP 000005ea: POP 000005eb: POP 000005ec: PUSH2 0x1446 000005ef: JUMP 000005f0: JUMPDEST 000005f1: PUSH1 0x40 000005f3: MLOAD 000005f4: DUP1 000005f5: DUP3 000005f6: DUP2 000005f7: MSTORE 000005f8: PUSH1 0x20 000005fa: ADD 000005fb: SWAP2 000005fc: POP 000005fd: POP 000005fe: PUSH1 0x40 00000600: MLOAD 00000601: DUP1 00000602: SWAP2 00000603: SUB 00000604: SWAP1 00000605: RETURN 00000606: JUMPDEST 00000607: CALLVALUE 00000608: DUP1 00000609: ISZERO 0000060a: PUSH2 0x0612 0000060d: JUMPI 0000060e: PUSH1 0x00 00000610: DUP1 00000611: REVERT 00000612: JUMPDEST 00000613: POP 00000614: PUSH2 0x063f 00000617: PUSH1 0x04 00000619: DUP1 0000061a: CALLDATASIZE 0000061b: SUB 0000061c: PUSH1 0x20 0000061e: DUP2 0000061f: LT 00000620: ISZERO 00000621: PUSH2 0x0629 00000624: JUMPI 00000625: PUSH1 0x00 00000627: DUP1 00000628: REVERT 00000629: JUMPDEST 0000062a: DUP2 0000062b: ADD 0000062c: SWAP1 0000062d: DUP1 0000062e: DUP1 0000062f: CALLDATALOAD 00000630: SWAP1 00000631: PUSH1 0x20 00000633: ADD 00000634: SWAP1 00000635: SWAP3 00000636: SWAP2 00000637: SWAP1 00000638: POP 00000639: POP 0000063a: POP 0000063b: PUSH2 0x15da 0000063e: JUMP 0000063f: JUMPDEST 00000640: PUSH1 0x40 00000642: MLOAD 00000643: DUP1 00000644: DUP3 00000645: DUP2 00000646: MSTORE 00000647: PUSH1 0x20 00000649: ADD 0000064a: SWAP2 0000064b: POP 0000064c: POP 0000064d: PUSH1 0x40 0000064f: MLOAD 00000650: DUP1 00000651: SWAP2 00000652: SUB 00000653: SWAP1 00000654: RETURN 00000655: JUMPDEST 00000656: CALLVALUE 00000657: DUP1 00000658: ISZERO 00000659: PUSH2 0x0661 0000065c: JUMPI 0000065d: PUSH1 0x00 0000065f: DUP1 00000660: REVERT 00000661: JUMPDEST 00000662: POP 00000663: PUSH2 0x066a 00000666: PUSH2 0x1601 00000669: JUMP 0000066a: JUMPDEST 0000066b: PUSH1 0x40 0000066d: MLOAD 0000066e: DUP1 0000066f: DUP3 00000670: DUP2 00000671: MSTORE 00000672: PUSH1 0x20 00000674: ADD 00000675: SWAP2 00000676: POP 00000677: POP 00000678: PUSH1 0x40 0000067a: MLOAD 0000067b: DUP1 0000067c: SWAP2 0000067d: SUB 0000067e: SWAP1 0000067f: RETURN 00000680: JUMPDEST 00000681: CALLVALUE 00000682: DUP1 00000683: ISZERO 00000684: PUSH2 0x068c 00000687: JUMPI 00000688: PUSH1 0x00 0000068a: DUP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: POP 0000068e: PUSH2 0x06d9 00000691: PUSH1 0x04 00000693: DUP1 00000694: CALLDATASIZE 00000695: SUB 00000696: PUSH1 0x40 00000698: DUP2 00000699: LT 0000069a: ISZERO 0000069b: PUSH2 0x06a3 0000069e: JUMPI 0000069f: PUSH1 0x00 000006a1: DUP1 000006a2: REVERT 000006a3: JUMPDEST 000006a4: DUP2 000006a5: ADD 000006a6: SWAP1 000006a7: DUP1 000006a8: DUP1 000006a9: CALLDATALOAD 000006aa: SWAP1 000006ab: PUSH1 0x20 000006ad: ADD 000006ae: SWAP1 000006af: SWAP3 000006b0: SWAP2 000006b1: SWAP1 000006b2: DUP1 000006b3: CALLDATALOAD 000006b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c9: AND 000006ca: SWAP1 000006cb: PUSH1 0x20 000006cd: ADD 000006ce: SWAP1 000006cf: SWAP3 000006d0: SWAP2 000006d1: SWAP1 000006d2: POP 000006d3: POP 000006d4: POP 000006d5: PUSH2 0x1607 000006d8: JUMP 000006d9: JUMPDEST 000006da: STOP 000006db: JUMPDEST 000006dc: PUSH2 0x06e3 000006df: PUSH2 0x1691 000006e2: JUMP 000006e3: JUMPDEST 000006e4: STOP 000006e5: JUMPDEST 000006e6: CALLVALUE 000006e7: DUP1 000006e8: ISZERO 000006e9: PUSH2 0x06f1 000006ec: JUMPI 000006ed: PUSH1 0x00 000006ef: DUP1 000006f0: REVERT 000006f1: JUMPDEST 000006f2: POP 000006f3: PUSH2 0x06fa 000006f6: PUSH2 0x16ae 000006f9: JUMP 000006fa: JUMPDEST 000006fb: STOP 000006fc: JUMPDEST 000006fd: CALLVALUE 000006fe: DUP1 000006ff: ISZERO 00000700: PUSH2 0x0708 00000703: JUMPI 00000704: PUSH1 0x00 00000706: DUP1 00000707: REVERT 00000708: JUMPDEST 00000709: POP 0000070a: PUSH2 0x0711 0000070d: PUSH2 0x1792 00000710: JUMP 00000711: JUMPDEST 00000712: PUSH1 0x40 00000714: MLOAD 00000715: DUP1 00000716: DUP3 00000717: DUP2 00000718: MSTORE 00000719: PUSH1 0x20 0000071b: ADD 0000071c: SWAP2 0000071d: POP 0000071e: POP 0000071f: PUSH1 0x40 00000721: MLOAD 00000722: DUP1 00000723: SWAP2 00000724: SUB 00000725: SWAP1 00000726: RETURN 00000727: JUMPDEST 00000728: CALLVALUE 00000729: DUP1 0000072a: ISZERO 0000072b: PUSH2 0x0733 0000072e: JUMPI 0000072f: PUSH1 0x00 00000731: DUP1 00000732: REVERT 00000733: JUMPDEST 00000734: POP 00000735: PUSH2 0x0776 00000738: PUSH1 0x04 0000073a: DUP1 0000073b: CALLDATASIZE 0000073c: SUB 0000073d: PUSH1 0x20 0000073f: DUP2 00000740: LT 00000741: ISZERO 00000742: PUSH2 0x074a 00000745: JUMPI 00000746: PUSH1 0x00 00000748: DUP1 00000749: REVERT 0000074a: JUMPDEST 0000074b: DUP2 0000074c: ADD 0000074d: SWAP1 0000074e: DUP1 0000074f: DUP1 00000750: CALLDATALOAD 00000751: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000766: AND 00000767: SWAP1 00000768: PUSH1 0x20 0000076a: ADD 0000076b: SWAP1 0000076c: SWAP3 0000076d: SWAP2 0000076e: SWAP1 0000076f: POP 00000770: POP 00000771: POP 00000772: PUSH2 0x17cb 00000775: JUMP 00000776: JUMPDEST 00000777: PUSH1 0x40 00000779: MLOAD 0000077a: DUP1 0000077b: DUP3 0000077c: ISZERO 0000077d: ISZERO 0000077e: ISZERO 0000077f: ISZERO 00000780: DUP2 00000781: MSTORE 00000782: PUSH1 0x20 00000784: ADD 00000785: SWAP2 00000786: POP 00000787: POP 00000788: PUSH1 0x40 0000078a: MLOAD 0000078b: DUP1 0000078c: SWAP2 0000078d: SUB 0000078e: SWAP1 0000078f: RETURN 00000790: JUMPDEST 00000791: CALLVALUE 00000792: DUP1 00000793: ISZERO 00000794: PUSH2 0x079c 00000797: JUMPI 00000798: PUSH1 0x00 0000079a: DUP1 0000079b: REVERT 0000079c: JUMPDEST 0000079d: POP 0000079e: PUSH2 0x07a5 000007a1: PUSH2 0x18b0 000007a4: JUMP 000007a5: JUMPDEST 000007a6: PUSH1 0x40 000007a8: MLOAD 000007a9: DUP1 000007aa: DUP3 000007ab: DUP2 000007ac: MSTORE 000007ad: PUSH1 0x20 000007af: ADD 000007b0: SWAP2 000007b1: POP 000007b2: POP 000007b3: PUSH1 0x40 000007b5: MLOAD 000007b6: DUP1 000007b7: SWAP2 000007b8: SUB 000007b9: SWAP1 000007ba: RETURN 000007bb: JUMPDEST 000007bc: CALLVALUE 000007bd: DUP1 000007be: ISZERO 000007bf: PUSH2 0x07c7 000007c2: JUMPI 000007c3: PUSH1 0x00 000007c5: DUP1 000007c6: REVERT 000007c7: JUMPDEST 000007c8: POP 000007c9: PUSH2 0x07d0 000007cc: PUSH2 0x18b6 000007cf: JUMP 000007d0: JUMPDEST 000007d1: PUSH1 0x40 000007d3: MLOAD 000007d4: DUP1 000007d5: DUP3 000007d6: DUP2 000007d7: MSTORE 000007d8: PUSH1 0x20 000007da: ADD 000007db: SWAP2 000007dc: POP 000007dd: POP 000007de: PUSH1 0x40 000007e0: MLOAD 000007e1: DUP1 000007e2: SWAP2 000007e3: SUB 000007e4: SWAP1 000007e5: RETURN 000007e6: JUMPDEST 000007e7: PUSH1 0x99 000007e9: SLOAD 000007ea: DUP2 000007eb: JUMP 000007ec: JUMPDEST 000007ed: PUSH1 0x00 000007ef: PUSH1 0x65 000007f1: PUSH1 0x00 000007f3: DUP4 000007f4: DUP2 000007f5: MSTORE 000007f6: PUSH1 0x20 000007f8: ADD 000007f9: SWAP1 000007fa: DUP2 000007fb: MSTORE 000007fc: PUSH1 0x20 000007fe: ADD 000007ff: PUSH1 0x00 00000801: KECCAK256 00000802: PUSH1 0x02 00000804: ADD 00000805: SLOAD 00000806: SWAP1 00000807: POP 00000808: SWAP2 00000809: SWAP1 0000080a: POP 0000080b: JUMP 0000080c: JUMPDEST 0000080d: PUSH1 0x00 0000080f: PUSH2 0x0903 00000812: PUSH2 0x0827 00000815: PUSH1 0xc8 00000817: PUSH1 0x9a 00000819: SLOAD 0000081a: PUSH2 0x18ef 0000081d: SWAP1 0000081e: SWAP2 0000081f: SWAP1 00000820: PUSH4 0xffffffff 00000825: AND 00000826: JUMP 00000827: JUMPDEST 00000828: PUSH2 0x08f5 0000082b: PUSH1 0x97 0000082d: PUSH1 0x00 0000082f: SWAP1 00000830: SLOAD 00000831: SWAP1 00000832: PUSH2 0x0100 00000835: EXP 00000836: SWAP1 00000837: DIV 00000838: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000084d: AND 0000084e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000863: AND 00000864: PUSH4 0x18160ddd 00000869: PUSH1 0x40 0000086b: MLOAD 0000086c: DUP2 0000086d: PUSH4 0xffffffff 00000872: AND 00000873: PUSH1 0xe0 00000875: SHL 00000876: DUP2 00000877: MSTORE 00000878: PUSH1 0x04 0000087a: ADD 0000087b: PUSH1 0x20 0000087d: PUSH1 0x40 0000087f: MLOAD 00000880: DUP1 00000881: DUP4 00000882: SUB 00000883: DUP2 00000884: DUP7 00000885: DUP1 00000886: EXTCODESIZE 00000887: ISZERO 00000888: DUP1 00000889: ISZERO 0000088a: PUSH2 0x0892 0000088d: JUMPI 0000088e: PUSH1 0x00 00000890: DUP1 00000891: REVERT 00000892: JUMPDEST 00000893: POP 00000894: GAS 00000895: STATICCALL 00000896: ISZERO 00000897: DUP1 00000898: ISZERO 00000899: PUSH2 0x08a6 0000089c: JUMPI 0000089d: RETURNDATASIZE 0000089e: PUSH1 0x00 000008a0: DUP1 000008a1: RETURNDATACOPY 000008a2: RETURNDATASIZE 000008a3: PUSH1 0x00 000008a5: REVERT 000008a6: JUMPDEST 000008a7: POP 000008a8: POP 000008a9: POP 000008aa: POP 000008ab: PUSH1 0x40 000008ad: MLOAD 000008ae: RETURNDATASIZE 000008af: PUSH1 0x20 000008b1: DUP2 000008b2: LT 000008b3: ISZERO 000008b4: PUSH2 0x08bc 000008b7: JUMPI 000008b8: PUSH1 0x00 000008ba: DUP1 000008bb: REVERT 000008bc: JUMPDEST 000008bd: DUP2 000008be: ADD 000008bf: SWAP1 000008c0: DUP1 000008c1: DUP1 000008c2: MLOAD 000008c3: SWAP1 000008c4: PUSH1 0x20 000008c6: ADD 000008c7: SWAP1 000008c8: SWAP3 000008c9: SWAP2 000008ca: SWAP1 000008cb: POP 000008cc: POP 000008cd: POP 000008ce: PUSH2 0x08e7 000008d1: PUSH1 0x98 000008d3: SLOAD 000008d4: PUSH1 0x64 000008d6: SUB 000008d7: PUSH1 0x99 000008d9: SLOAD 000008da: PUSH2 0x18ef 000008dd: SWAP1 000008de: SWAP2 000008df: SWAP1 000008e0: PUSH4 0xffffffff 000008e5: AND 000008e6: JUMP 000008e7: JUMPDEST 000008e8: PUSH2 0x18ef 000008eb: SWAP1 000008ec: SWAP2 000008ed: SWAP1 000008ee: PUSH4 0xffffffff 000008f3: AND 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH2 0x1975 000008f9: SWAP1 000008fa: SWAP2 000008fb: SWAP1 000008fc: PUSH4 0xffffffff 00000901: AND 00000902: JUMP 00000903: JUMPDEST 00000904: SWAP1 00000905: POP 00000906: SWAP1 00000907: JUMP 00000908: JUMPDEST 00000909: PUSH2 0x092f 0000090c: PUSH1 0x65 0000090e: PUSH1 0x00 00000910: DUP5 00000911: DUP2 00000912: MSTORE 00000913: PUSH1 0x20 00000915: ADD 00000916: SWAP1 00000917: DUP2 00000918: MSTORE 00000919: PUSH1 0x20 0000091b: ADD 0000091c: PUSH1 0x00 0000091e: KECCAK256 0000091f: PUSH1 0x02 00000921: ADD 00000922: SLOAD 00000923: PUSH2 0x092a 00000926: PUSH2 0x19bf 00000929: JUMP 0000092a: JUMPDEST 0000092b: PUSH2 0x0e0c 0000092e: JUMP 0000092f: JUMPDEST 00000930: PUSH2 0x0984 00000933: JUMPI 00000934: PUSH1 0x40 00000936: MLOAD 00000937: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000958: DUP2 00000959: MSTORE 0000095a: PUSH1 0x04 0000095c: ADD 0000095d: DUP1 0000095e: DUP1 0000095f: PUSH1 0x20 00000961: ADD 00000962: DUP3 00000963: DUP2 00000964: SUB 00000965: DUP3 00000966: MSTORE 00000967: PUSH1 0x2f 00000969: DUP2 0000096a: MSTORE 0000096b: PUSH1 0x20 0000096d: ADD 0000096e: DUP1 0000096f: PUSH2 0x207c 00000972: PUSH1 0x2f 00000974: SWAP2 00000975: CODECOPY 00000976: PUSH1 0x40 00000978: ADD 00000979: SWAP2 0000097a: POP 0000097b: POP 0000097c: PUSH1 0x40 0000097e: MLOAD 0000097f: DUP1 00000980: SWAP2 00000981: SUB 00000982: SWAP1 00000983: REVERT 00000984: JUMPDEST 00000985: PUSH2 0x098e 00000988: DUP3 00000989: DUP3 0000098a: PUSH2 0x19c7 0000098d: JUMP 0000098e: JUMPDEST 0000098f: POP 00000990: POP 00000991: JUMP 00000992: JUMPDEST 00000993: PUSH2 0x099a 00000996: PUSH2 0x19bf 00000999: JUMP 0000099a: JUMPDEST 0000099b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009b0: AND 000009b1: DUP2 000009b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009c7: AND 000009c8: EQ 000009c9: PUSH2 0x0a1d 000009cc: JUMPI 000009cd: PUSH1 0x40 000009cf: MLOAD 000009d0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000009f1: DUP2 000009f2: MSTORE 000009f3: PUSH1 0x04 000009f5: ADD 000009f6: DUP1 000009f7: DUP1 000009f8: PUSH1 0x20 000009fa: ADD 000009fb: DUP3 000009fc: DUP2 000009fd: SUB 000009fe: DUP3 000009ff: MSTORE 00000a00: PUSH1 0x2f 00000a02: DUP2 00000a03: MSTORE 00000a04: PUSH1 0x20 00000a06: ADD 00000a07: DUP1 00000a08: PUSH2 0x21ad 00000a0b: PUSH1 0x2f 00000a0d: SWAP2 00000a0e: CODECOPY 00000a0f: PUSH1 0x40 00000a11: ADD 00000a12: SWAP2 00000a13: POP 00000a14: POP 00000a15: PUSH1 0x40 00000a17: MLOAD 00000a18: DUP1 00000a19: SWAP2 00000a1a: SUB 00000a1b: SWAP1 00000a1c: REVERT 00000a1d: JUMPDEST 00000a1e: PUSH2 0x0a27 00000a21: DUP3 00000a22: DUP3 00000a23: PUSH2 0x1a5b 00000a26: JUMP 00000a27: JUMPDEST 00000a28: POP 00000a29: POP 00000a2a: JUMP 00000a2b: JUMPDEST 00000a2c: PUSH1 0x00 00000a2e: PUSH1 0x01 00000a30: SWAP1 00000a31: SLOAD 00000a32: SWAP1 00000a33: PUSH2 0x0100 00000a36: EXP 00000a37: SWAP1 00000a38: DIV 00000a39: PUSH1 0xff 00000a3b: AND 00000a3c: DUP1 00000a3d: PUSH2 0x0a4a 00000a40: JUMPI 00000a41: POP 00000a42: PUSH2 0x0a49 00000a45: PUSH2 0x1aef 00000a48: JUMP 00000a49: JUMPDEST 00000a4a: JUMPDEST 00000a4b: DUP1 00000a4c: PUSH2 0x0a61 00000a4f: JUMPI 00000a50: POP 00000a51: PUSH1 0x00 00000a53: DUP1 00000a54: SWAP1 00000a55: SLOAD 00000a56: SWAP1 00000a57: PUSH2 0x0100 00000a5a: EXP 00000a5b: SWAP1 00000a5c: DIV 00000a5d: PUSH1 0xff 00000a5f: AND 00000a60: ISZERO 00000a61: JUMPDEST 00000a62: PUSH2 0x0ab6 00000a65: JUMPI 00000a66: PUSH1 0x40 00000a68: MLOAD 00000a69: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a8a: DUP2 00000a8b: MSTORE 00000a8c: PUSH1 0x04 00000a8e: ADD 00000a8f: DUP1 00000a90: DUP1 00000a91: PUSH1 0x20 00000a93: ADD 00000a94: DUP3 00000a95: DUP2 00000a96: SUB 00000a97: DUP3 00000a98: MSTORE 00000a99: PUSH1 0x2e 00000a9b: DUP2 00000a9c: MSTORE 00000a9d: PUSH1 0x20 00000a9f: ADD 00000aa0: DUP1 00000aa1: PUSH2 0x2127 00000aa4: PUSH1 0x2e 00000aa6: SWAP2 00000aa7: CODECOPY 00000aa8: PUSH1 0x40 00000aaa: ADD 00000aab: SWAP2 00000aac: POP 00000aad: POP 00000aae: PUSH1 0x40 00000ab0: MLOAD 00000ab1: DUP1 00000ab2: SWAP2 00000ab3: SUB 00000ab4: SWAP1 00000ab5: REVERT 00000ab6: JUMPDEST 00000ab7: PUSH1 0x00 00000ab9: DUP1 00000aba: PUSH1 0x01 00000abc: SWAP1 00000abd: SLOAD 00000abe: SWAP1 00000abf: PUSH2 0x0100 00000ac2: EXP 00000ac3: SWAP1 00000ac4: DIV 00000ac5: PUSH1 0xff 00000ac7: AND 00000ac8: ISZERO 00000ac9: SWAP1 00000aca: POP 00000acb: DUP1 00000acc: ISZERO 00000acd: PUSH2 0x0b06 00000ad0: JUMPI 00000ad1: PUSH1 0x01 00000ad3: PUSH1 0x00 00000ad5: PUSH1 0x01 00000ad7: PUSH2 0x0100 00000ada: EXP 00000adb: DUP2 00000adc: SLOAD 00000add: DUP2 00000ade: PUSH1 0xff 00000ae0: MUL 00000ae1: NOT 00000ae2: AND 00000ae3: SWAP1 00000ae4: DUP4 00000ae5: ISZERO 00000ae6: ISZERO 00000ae7: MUL 00000ae8: OR 00000ae9: SWAP1 00000aea: SSTORE 00000aeb: POP 00000aec: PUSH1 0x01 00000aee: PUSH1 0x00 00000af0: DUP1 00000af1: PUSH2 0x0100 00000af4: EXP 00000af5: DUP2 00000af6: SLOAD 00000af7: DUP2 00000af8: PUSH1 0xff 00000afa: MUL 00000afb: NOT 00000afc: AND 00000afd: SWAP1 00000afe: DUP4 00000aff: ISZERO 00000b00: ISZERO 00000b01: MUL 00000b02: OR 00000b03: SWAP1 00000b04: SSTORE 00000b05: POP 00000b06: JUMPDEST 00000b07: DUP3 00000b08: PUSH1 0x97 00000b0a: PUSH1 0x00 00000b0c: PUSH2 0x0100 00000b0f: EXP 00000b10: DUP2 00000b11: SLOAD 00000b12: DUP2 00000b13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b28: MUL 00000b29: NOT 00000b2a: AND 00000b2b: SWAP1 00000b2c: DUP4 00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b42: AND 00000b43: MUL 00000b44: OR 00000b45: SWAP1 00000b46: SSTORE 00000b47: POP 00000b48: PUSH1 0x00 00000b4a: PUSH1 0x9a 00000b4c: DUP2 00000b4d: SWAP1 00000b4e: SSTORE 00000b4f: POP 00000b50: PUSH2 0x0b57 00000b53: PUSH2 0x0d15 00000b56: JUMP 00000b57: JUMPDEST 00000b58: PUSH2 0x0b64 00000b5b: PUSH1 0x00 00000b5d: DUP1 00000b5e: SHL 00000b5f: DUP4 00000b60: PUSH2 0x1b06 00000b63: JUMP 00000b64: JUMPDEST 00000b65: PUSH2 0x0b78 00000b68: PUSH1 0x00 00000b6a: DUP1 00000b6b: SHL 00000b6c: PUSH2 0x0b73 00000b6f: PUSH2 0x19bf 00000b72: JUMP 00000b73: JUMPDEST 00000b74: PUSH2 0x1b06 00000b77: JUMP 00000b78: JUMPDEST 00000b79: PUSH2 0x0bb7 00000b7c: PUSH1 0x40 00000b7e: MLOAD 00000b7f: DUP1 00000b80: DUP1 00000b81: PUSH32 0x534f4c5645520000000000000000000000000000000000000000000000000000 00000ba2: DUP2 00000ba3: MSTORE 00000ba4: POP 00000ba5: PUSH1 0x06 00000ba7: ADD 00000ba8: SWAP1 00000ba9: POP 00000baa: PUSH1 0x40 00000bac: MLOAD 00000bad: DUP1 00000bae: SWAP2 00000baf: SUB 00000bb0: SWAP1 00000bb1: KECCAK256 00000bb2: DUP4 00000bb3: PUSH2 0x1b06 00000bb6: JUMP 00000bb7: JUMPDEST 00000bb8: PUSH2 0x0bf6 00000bbb: PUSH1 0x40 00000bbd: MLOAD 00000bbe: DUP1 00000bbf: DUP1 00000bc0: PUSH32 0x534f4c5645525f41444d494e0000000000000000000000000000000000000000 00000be1: DUP2 00000be2: MSTORE 00000be3: POP 00000be4: PUSH1 0x0c 00000be6: ADD 00000be7: SWAP1 00000be8: POP 00000be9: PUSH1 0x40 00000beb: MLOAD 00000bec: DUP1 00000bed: SWAP2 00000bee: SUB 00000bef: SWAP1 00000bf0: KECCAK256 00000bf1: DUP4 00000bf2: PUSH2 0x1b06 00000bf5: JUMP 00000bf6: JUMPDEST 00000bf7: PUSH2 0x0c35 00000bfa: PUSH1 0x40 00000bfc: MLOAD 00000bfd: DUP1 00000bfe: DUP1 00000bff: PUSH32 0x495046535f41444d494e00000000000000000000000000000000000000000000 00000c20: DUP2 00000c21: MSTORE 00000c22: POP 00000c23: PUSH1 0x0a 00000c25: ADD 00000c26: SWAP1 00000c27: POP 00000c28: PUSH1 0x40 00000c2a: MLOAD 00000c2b: DUP1 00000c2c: SWAP2 00000c2d: SUB 00000c2e: SWAP1 00000c2f: KECCAK256 00000c30: DUP4 00000c31: PUSH2 0x1b06 00000c34: JUMP 00000c35: JUMPDEST 00000c36: PUSH2 0x0c7b 00000c39: PUSH1 0x40 00000c3b: MLOAD 00000c3c: DUP1 00000c3d: DUP1 00000c3e: PUSH32 0x495046535f41444d494e00000000000000000000000000000000000000000000 00000c5f: DUP2 00000c60: MSTORE 00000c61: POP 00000c62: PUSH1 0x0a 00000c64: ADD 00000c65: SWAP1 00000c66: POP 00000c67: PUSH1 0x40 00000c69: MLOAD 00000c6a: DUP1 00000c6b: SWAP2 00000c6c: SUB 00000c6d: SWAP1 00000c6e: KECCAK256 00000c6f: PUSH2 0x0c76 00000c72: PUSH2 0x19bf 00000c75: JUMP 00000c76: JUMPDEST 00000c77: PUSH2 0x1b06 00000c7a: JUMP 00000c7b: JUMPDEST 00000c7c: PUSH2 0x0cef 00000c7f: PUSH1 0x40 00000c81: MLOAD 00000c82: DUP1 00000c83: DUP1 00000c84: PUSH32 0x534f4c5645520000000000000000000000000000000000000000000000000000 00000ca5: DUP2 00000ca6: MSTORE 00000ca7: POP 00000ca8: PUSH1 0x06 00000caa: ADD 00000cab: SWAP1 00000cac: POP 00000cad: PUSH1 0x40 00000caf: MLOAD 00000cb0: DUP1 00000cb1: SWAP2 00000cb2: SUB 00000cb3: SWAP1 00000cb4: KECCAK256 00000cb5: PUSH1 0x40 00000cb7: MLOAD 00000cb8: DUP1 00000cb9: DUP1 00000cba: PUSH32 0x534f4c5645525f41444d494e0000000000000000000000000000000000000000 00000cdb: DUP2 00000cdc: MSTORE 00000cdd: POP 00000cde: PUSH1 0x0c 00000ce0: ADD 00000ce1: SWAP1 00000ce2: POP 00000ce3: PUSH1 0x40 00000ce5: MLOAD 00000ce6: DUP1 00000ce7: SWAP2 00000ce8: SUB 00000ce9: SWAP1 00000cea: KECCAK256 00000ceb: PUSH2 0x1b14 00000cee: JUMP 00000cef: JUMPDEST 00000cf0: DUP1 00000cf1: ISZERO 00000cf2: PUSH2 0x0d10 00000cf5: JUMPI 00000cf6: PUSH1 0x00 00000cf8: DUP1 00000cf9: PUSH1 0x01 00000cfb: PUSH2 0x0100 00000cfe: EXP 00000cff: DUP2 00000d00: SLOAD 00000d01: DUP2 00000d02: PUSH1 0xff 00000d04: MUL 00000d05: NOT 00000d06: AND 00000d07: SWAP1 00000d08: DUP4 00000d09: ISZERO 00000d0a: ISZERO 00000d0b: MUL 00000d0c: OR 00000d0d: SWAP1 00000d0e: SSTORE 00000d0f: POP 00000d10: JUMPDEST 00000d11: POP 00000d12: POP 00000d13: POP 00000d14: JUMP 00000d15: JUMPDEST 00000d16: PUSH1 0x4b 00000d18: PUSH1 0x98 00000d1a: DUP2 00000d1b: SWAP1 00000d1c: SSTORE 00000d1d: POP 00000d1e: PUSH8 0x02c68af0bb140000 00000d27: PUSH1 0x99 00000d29: DUP2 00000d2a: SWAP1 00000d2b: SSTORE 00000d2c: POP 00000d2d: JUMP 00000d2e: JUMPDEST 00000d2f: PUSH1 0x40 00000d31: MLOAD 00000d32: DUP1 00000d33: DUP1 00000d34: PUSH32 0x534f4c5645520000000000000000000000000000000000000000000000000000 00000d55: DUP2 00000d56: MSTORE 00000d57: POP 00000d58: PUSH1 0x06 00000d5a: ADD 00000d5b: SWAP1 00000d5c: POP 00000d5d: PUSH1 0x40 00000d5f: MLOAD 00000d60: DUP1 00000d61: SWAP2 00000d62: SUB 00000d63: SWAP1 00000d64: KECCAK256 00000d65: DUP2 00000d66: JUMP 00000d67: JUMPDEST 00000d68: PUSH2 0x0d7b 00000d6b: PUSH1 0x00 00000d6d: DUP1 00000d6e: SHL 00000d6f: PUSH2 0x0d76 00000d72: PUSH2 0x19bf 00000d75: JUMP 00000d76: JUMPDEST 00000d77: PUSH2 0x0e0c 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: PUSH2 0x0dd0 00000d7f: JUMPI 00000d80: PUSH1 0x40 00000d82: MLOAD 00000d83: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000da4: DUP2 00000da5: MSTORE 00000da6: PUSH1 0x04 00000da8: ADD 00000da9: DUP1 00000daa: DUP1 00000dab: PUSH1 0x20 00000dad: ADD 00000dae: DUP3 00000daf: DUP2 00000db0: SUB 00000db1: DUP3 00000db2: MSTORE 00000db3: PUSH1 0x2b 00000db5: DUP2 00000db6: MSTORE 00000db7: PUSH1 0x20 00000db9: ADD 00000dba: DUP1 00000dbb: PUSH2 0x20ab 00000dbe: PUSH1 0x2b 00000dc0: SWAP2 00000dc1: CODECOPY 00000dc2: PUSH1 0x40 00000dc4: ADD 00000dc5: SWAP2 00000dc6: POP 00000dc7: POP 00000dc8: PUSH1 0x40 00000dca: MLOAD 00000dcb: DUP1 00000dcc: SWAP2 00000dcd: SUB 00000dce: SWAP1 00000dcf: REVERT 00000dd0: JUMPDEST 00000dd1: DUP1 00000dd2: PUSH1 0x99 00000dd4: DUP2 00000dd5: SWAP1 00000dd6: SSTORE 00000dd7: POP 00000dd8: POP 00000dd9: JUMP 00000dda: JUMPDEST 00000ddb: PUSH1 0x00 00000ddd: PUSH2 0x0e04 00000de0: DUP3 00000de1: PUSH1 0x65 00000de3: PUSH1 0x00 00000de5: DUP7 00000de6: DUP2 00000de7: MSTORE 00000de8: PUSH1 0x20 00000dea: ADD 00000deb: SWAP1 00000dec: DUP2 00000ded: MSTORE 00000dee: PUSH1 0x20 00000df0: ADD 00000df1: PUSH1 0x00 00000df3: KECCAK256 00000df4: PUSH1 0x00 00000df6: ADD 00000df7: PUSH2 0x1b33 00000dfa: SWAP1 00000dfb: SWAP2 00000dfc: SWAP1 00000dfd: PUSH4 0xffffffff 00000e02: AND 00000e03: JUMP 00000e04: JUMPDEST 00000e05: SWAP1 00000e06: POP 00000e07: SWAP3 00000e08: SWAP2 00000e09: POP 00000e0a: POP 00000e0b: JUMP 00000e0c: JUMPDEST 00000e0d: PUSH1 0x00 00000e0f: PUSH2 0x0e36 00000e12: DUP3 00000e13: PUSH1 0x65 00000e15: PUSH1 0x00 00000e17: DUP7 00000e18: DUP2 00000e19: MSTORE 00000e1a: PUSH1 0x20 00000e1c: ADD 00000e1d: SWAP1 00000e1e: DUP2 00000e1f: MSTORE 00000e20: PUSH1 0x20 00000e22: ADD 00000e23: PUSH1 0x00 00000e25: KECCAK256 00000e26: PUSH1 0x00 00000e28: ADD 00000e29: PUSH2 0x1b4d 00000e2c: SWAP1 00000e2d: SWAP2 00000e2e: SWAP1 00000e2f: PUSH4 0xffffffff 00000e34: AND 00000e35: JUMP 00000e36: JUMPDEST 00000e37: SWAP1 00000e38: POP 00000e39: SWAP3 00000e3a: SWAP2 00000e3b: POP 00000e3c: POP 00000e3d: JUMP 00000e3e: JUMPDEST 00000e3f: PUSH1 0x00 00000e41: PUSH2 0x0e49 00000e44: DUP3 00000e45: PUSH2 0x1446 00000e48: JUMP 00000e49: JUMPDEST 00000e4a: CALLVALUE 00000e4b: EQ 00000e4c: PUSH2 0x0ea0 00000e4f: JUMPI 00000e50: PUSH1 0x40 00000e52: MLOAD 00000e53: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e74: DUP2 00000e75: MSTORE 00000e76: PUSH1 0x04 00000e78: ADD 00000e79: DUP1 00000e7a: DUP1 00000e7b: PUSH1 0x20 00000e7d: ADD 00000e7e: DUP3 00000e7f: DUP2 00000e80: SUB 00000e81: DUP3 00000e82: MSTORE 00000e83: PUSH1 0x24 00000e85: DUP2 00000e86: MSTORE 00000e87: PUSH1 0x20 00000e89: ADD 00000e8a: DUP1 00000e8b: PUSH2 0x2155 00000e8e: PUSH1 0x24 00000e90: SWAP2 00000e91: CODECOPY 00000e92: PUSH1 0x40 00000e94: ADD 00000e95: SWAP2 00000e96: POP 00000e97: POP 00000e98: PUSH1 0x40 00000e9a: MLOAD 00000e9b: DUP1 00000e9c: SWAP2 00000e9d: SUB 00000e9e: SWAP1 00000e9f: REVERT 00000ea0: JUMPDEST 00000ea1: PUSH2 0x0edf 00000ea4: PUSH2 0x0ece 00000ea7: PUSH1 0x64 00000ea9: PUSH2 0x0ec0 00000eac: PUSH1 0x98 00000eae: SLOAD 00000eaf: PUSH1 0x64 00000eb1: SUB 00000eb2: CALLVALUE 00000eb3: PUSH2 0x18ef 00000eb6: SWAP1 00000eb7: SWAP2 00000eb8: SWAP1 00000eb9: PUSH4 0xffffffff 00000ebe: AND 00000ebf: JUMP 00000ec0: JUMPDEST 00000ec1: PUSH2 0x1975 00000ec4: SWAP1 00000ec5: SWAP2 00000ec6: SWAP1 00000ec7: PUSH4 0xffffffff 00000ecc: AND 00000ecd: JUMP 00000ece: JUMPDEST 00000ecf: PUSH1 0x9a 00000ed1: SLOAD 00000ed2: PUSH2 0x1b7d 00000ed5: SWAP1 00000ed6: SWAP2 00000ed7: SWAP1 00000ed8: PUSH4 0xffffffff 00000edd: AND 00000ede: JUMP 00000edf: JUMPDEST 00000ee0: PUSH1 0x9a 00000ee2: DUP2 00000ee3: SWAP1 00000ee4: SSTORE 00000ee5: POP 00000ee6: PUSH1 0x97 00000ee8: PUSH1 0x00 00000eea: SWAP1 00000eeb: SLOAD 00000eec: SWAP1 00000eed: PUSH2 0x0100 00000ef0: EXP 00000ef1: SWAP1 00000ef2: DIV 00000ef3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f08: AND 00000f09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f1e: AND 00000f1f: PUSH4 0x40c10f19 00000f24: PUSH2 0x0f2b 00000f27: PUSH2 0x19bf 00000f2a: JUMP 00000f2b: JUMPDEST 00000f2c: DUP5 00000f2d: PUSH1 0x40 00000f2f: MLOAD 00000f30: DUP4 00000f31: PUSH4 0xffffffff 00000f36: AND 00000f37: PUSH1 0xe0 00000f39: SHL 00000f3a: DUP2 00000f3b: MSTORE 00000f3c: PUSH1 0x04 00000f3e: ADD 00000f3f: DUP1 00000f40: DUP4 00000f41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f56: AND 00000f57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6c: AND 00000f6d: DUP2 00000f6e: MSTORE 00000f6f: PUSH1 0x20 00000f71: ADD 00000f72: DUP3 00000f73: DUP2 00000f74: MSTORE 00000f75: PUSH1 0x20 00000f77: ADD 00000f78: SWAP3 00000f79: POP 00000f7a: POP 00000f7b: POP 00000f7c: PUSH1 0x00 00000f7e: PUSH1 0x40 00000f80: MLOAD 00000f81: DUP1 00000f82: DUP4 00000f83: SUB 00000f84: DUP2 00000f85: PUSH1 0x00 00000f87: DUP8 00000f88: DUP1 00000f89: EXTCODESIZE 00000f8a: ISZERO 00000f8b: DUP1 00000f8c: ISZERO 00000f8d: PUSH2 0x0f95 00000f90: JUMPI 00000f91: PUSH1 0x00 00000f93: DUP1 00000f94: REVERT 00000f95: JUMPDEST 00000f96: POP 00000f97: GAS 00000f98: CALL 00000f99: ISZERO 00000f9a: DUP1 00000f9b: ISZERO 00000f9c: PUSH2 0x0fa9 00000f9f: JUMPI 00000fa0: RETURNDATASIZE 00000fa1: PUSH1 0x00 00000fa3: DUP1 00000fa4: RETURNDATACOPY 00000fa5: RETURNDATASIZE 00000fa6: PUSH1 0x00 00000fa8: REVERT 00000fa9: JUMPDEST 00000faa: POP 00000fab: POP 00000fac: POP 00000fad: POP 00000fae: CALLVALUE 00000faf: SWAP1 00000fb0: POP 00000fb1: SWAP2 00000fb2: SWAP1 00000fb3: POP 00000fb4: JUMP 00000fb5: JUMPDEST 00000fb6: PUSH1 0x00 00000fb8: DUP1 00000fb9: SHL 00000fba: DUP2 00000fbb: JUMP 00000fbc: JUMPDEST 00000fbd: PUSH1 0x00 00000fbf: DUP2 00000fc0: PUSH1 0x97 00000fc2: PUSH1 0x00 00000fc4: SWAP1 00000fc5: SLOAD 00000fc6: SWAP1 00000fc7: PUSH2 0x0100 00000fca: EXP 00000fcb: SWAP1 00000fcc: DIV 00000fcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe2: AND 00000fe3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff8: AND 00000ff9: PUSH4 0xdd62ed3e 00000ffe: PUSH2 0x1005 00001001: PUSH2 0x19bf 00001004: JUMP 00001005: JUMPDEST 00001006: ADDRESS 00001007: PUSH1 0x40 00001009: MLOAD 0000100a: DUP4 0000100b: PUSH4 0xffffffff 00001010: AND 00001011: PUSH1 0xe0 00001013: SHL 00001014: DUP2 00001015: MSTORE 00001016: PUSH1 0x04 00001018: ADD 00001019: DUP1 0000101a: DUP4 0000101b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001030: AND 00001031: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001046: AND 00001047: DUP2 00001048: MSTORE 00001049: PUSH1 0x20 0000104b: ADD 0000104c: DUP3 0000104d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001062: AND 00001063: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001078: AND 00001079: DUP2 0000107a: MSTORE 0000107b: PUSH1 0x20 0000107d: ADD 0000107e: SWAP3 0000107f: POP 00001080: POP 00001081: POP 00001082: PUSH1 0x20 00001084: PUSH1 0x40 00001086: MLOAD 00001087: DUP1 00001088: DUP4 00001089: SUB 0000108a: DUP2 0000108b: DUP7 0000108c: DUP1 0000108d: EXTCODESIZE 0000108e: ISZERO 0000108f: DUP1 00001090: ISZERO 00001091: PUSH2 0x1099 00001094: JUMPI 00001095: PUSH1 0x00 00001097: DUP1 00001098: REVERT 00001099: JUMPDEST 0000109a: POP 0000109b: GAS 0000109c: STATICCALL 0000109d: ISZERO 0000109e: DUP1 0000109f: ISZERO 000010a0: PUSH2 0x10ad 000010a3: JUMPI 000010a4: RETURNDATASIZE 000010a5: PUSH1 0x00 000010a7: DUP1 000010a8: RETURNDATACOPY 000010a9: RETURNDATASIZE 000010aa: PUSH1 0x00 000010ac: REVERT 000010ad: JUMPDEST 000010ae: POP 000010af: POP 000010b0: POP 000010b1: POP 000010b2: PUSH1 0x40 000010b4: MLOAD 000010b5: RETURNDATASIZE 000010b6: PUSH1 0x20 000010b8: DUP2 000010b9: LT 000010ba: ISZERO 000010bb: PUSH2 0x10c3 000010be: JUMPI 000010bf: PUSH1 0x00 000010c1: DUP1 000010c2: REVERT 000010c3: JUMPDEST 000010c4: DUP2 000010c5: ADD 000010c6: SWAP1 000010c7: DUP1 000010c8: DUP1 000010c9: MLOAD 000010ca: SWAP1 000010cb: PUSH1 0x20 000010cd: ADD 000010ce: SWAP1 000010cf: SWAP3 000010d0: SWAP2 000010d1: SWAP1 000010d2: POP 000010d3: POP 000010d4: POP 000010d5: LT 000010d6: ISZERO 000010d7: PUSH2 0x1148 000010da: JUMPI 000010db: PUSH1 0x40 000010dd: MLOAD 000010de: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000010ff: DUP2 00001100: MSTORE 00001101: PUSH1 0x04 00001103: ADD 00001104: DUP1 00001105: DUP1 00001106: PUSH1 0x20 00001108: ADD 00001109: DUP3 0000110a: DUP2 0000110b: SUB 0000110c: DUP3 0000110d: MSTORE 0000110e: PUSH1 0x1a 00001110: DUP2 00001111: MSTORE 00001112: PUSH1 0x20 00001114: ADD 00001115: DUP1 00001116: PUSH32 0x496e73756666696369656e742054525520616c6c6f77616e6365000000000000 00001137: DUP2 00001138: MSTORE 00001139: POP 0000113a: PUSH1 0x20 0000113c: ADD 0000113d: SWAP2 0000113e: POP 0000113f: POP 00001140: PUSH1 0x40 00001142: MLOAD 00001143: DUP1 00001144: SWAP2 00001145: SUB 00001146: SWAP1 00001147: REVERT 00001148: JUMPDEST 00001149: PUSH1 0x00 0000114b: PUSH2 0x1153 0000114e: DUP4 0000114f: PUSH2 0x1374 00001152: JUMP 00001153: JUMPDEST 00001154: SWAP1 00001155: POP 00001156: PUSH2 0x116a 00001159: DUP2 0000115a: PUSH1 0x9a 0000115c: SLOAD 0000115d: PUSH2 0x1c05 00001160: SWAP1 00001161: SWAP2 00001162: SWAP1 00001163: PUSH4 0xffffffff 00001168: AND 00001169: JUMP 0000116a: JUMPDEST 0000116b: PUSH1 0x9a 0000116d: DUP2 0000116e: SWAP1 0000116f: SSTORE 00001170: POP 00001171: PUSH1 0x97 00001173: PUSH1 0x00 00001175: SWAP1 00001176: SLOAD 00001177: SWAP1 00001178: PUSH2 0x0100 0000117b: EXP 0000117c: SWAP1 0000117d: DIV 0000117e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001193: AND 00001194: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011a9: AND 000011aa: PUSH4 0x23b872dd 000011af: PUSH2 0x11b6 000011b2: PUSH2 0x19bf 000011b5: JUMP 000011b6: JUMPDEST 000011b7: ADDRESS 000011b8: DUP7 000011b9: PUSH1 0x40 000011bb: MLOAD 000011bc: DUP5 000011bd: PUSH4 0xffffffff 000011c2: AND 000011c3: PUSH1 0xe0 000011c5: SHL 000011c6: DUP2 000011c7: MSTORE 000011c8: PUSH1 0x04 000011ca: ADD 000011cb: DUP1 000011cc: DUP5 000011cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011e2: AND 000011e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011f8: AND 000011f9: DUP2 000011fa: MSTORE 000011fb: PUSH1 0x20 000011fd: ADD 000011fe: DUP4 000011ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001214: AND 00001215: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000122a: AND 0000122b: DUP2 0000122c: MSTORE 0000122d: PUSH1 0x20 0000122f: ADD 00001230: DUP3 00001231: DUP2 00001232: MSTORE 00001233: PUSH1 0x20 00001235: ADD 00001236: SWAP4 00001237: POP 00001238: POP 00001239: POP 0000123a: POP 0000123b: PUSH1 0x20 0000123d: PUSH1 0x40 0000123f: MLOAD 00001240: DUP1 00001241: DUP4 00001242: SUB 00001243: DUP2 00001244: PUSH1 0x00 00001246: DUP8 00001247: DUP1 00001248: EXTCODESIZE 00001249: ISZERO 0000124a: DUP1 0000124b: ISZERO 0000124c: PUSH2 0x1254 0000124f: JUMPI 00001250: PUSH1 0x00 00001252: DUP1 00001253: REVERT 00001254: JUMPDEST 00001255: POP 00001256: GAS 00001257: CALL 00001258: ISZERO 00001259: DUP1 0000125a: ISZERO 0000125b: PUSH2 0x1268 0000125e: JUMPI 0000125f: RETURNDATASIZE 00001260: PUSH1 0x00 00001262: DUP1 00001263: RETURNDATACOPY 00001264: RETURNDATASIZE 00001265: PUSH1 0x00 00001267: REVERT 00001268: JUMPDEST 00001269: POP 0000126a: POP 0000126b: POP 0000126c: POP 0000126d: PUSH1 0x40 0000126f: MLOAD 00001270: RETURNDATASIZE 00001271: PUSH1 0x20 00001273: DUP2 00001274: LT 00001275: ISZERO 00001276: PUSH2 0x127e 00001279: JUMPI 0000127a: PUSH1 0x00 0000127c: DUP1 0000127d: REVERT 0000127e: JUMPDEST 0000127f: DUP2 00001280: ADD 00001281: SWAP1 00001282: DUP1 00001283: DUP1 00001284: MLOAD 00001285: SWAP1 00001286: PUSH1 0x20 00001288: ADD 00001289: SWAP1 0000128a: SWAP3 0000128b: SWAP2 0000128c: SWAP1 0000128d: POP 0000128e: POP 0000128f: POP 00001290: POP 00001291: PUSH1 0x97 00001293: PUSH1 0x00 00001295: SWAP1 00001296: SLOAD 00001297: SWAP1 00001298: PUSH2 0x0100 0000129b: EXP 0000129c: SWAP1 0000129d: DIV 0000129e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b3: AND 000012b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c9: AND 000012ca: PUSH4 0x42966c68 000012cf: DUP5 000012d0: PUSH1 0x40 000012d2: MLOAD 000012d3: DUP3 000012d4: PUSH4 0xffffffff 000012d9: AND 000012da: PUSH1 0xe0 000012dc: SHL 000012dd: DUP2 000012de: MSTORE 000012df: PUSH1 0x04 000012e1: ADD 000012e2: DUP1 000012e3: DUP3 000012e4: DUP2 000012e5: MSTORE 000012e6: PUSH1 0x20 000012e8: ADD 000012e9: SWAP2 000012ea: POP 000012eb: POP 000012ec: PUSH1 0x00 000012ee: PUSH1 0x40 000012f0: MLOAD 000012f1: DUP1 000012f2: DUP4 000012f3: SUB 000012f4: DUP2 000012f5: PUSH1 0x00 000012f7: DUP8 000012f8: DUP1 000012f9: EXTCODESIZE 000012fa: ISZERO 000012fb: DUP1 000012fc: ISZERO 000012fd: PUSH2 0x1305 00001300: JUMPI 00001301: PUSH1 0x00 00001303: DUP1 00001304: REVERT 00001305: JUMPDEST 00001306: POP 00001307: GAS 00001308: CALL 00001309: ISZERO 0000130a: DUP1 0000130b: ISZERO 0000130c: PUSH2 0x1319 0000130f: JUMPI 00001310: RETURNDATASIZE 00001311: PUSH1 0x00 00001313: DUP1 00001314: RETURNDATACOPY 00001315: RETURNDATASIZE 00001316: PUSH1 0x00 00001318: REVERT 00001319: JUMPDEST 0000131a: POP 0000131b: POP 0000131c: POP 0000131d: POP 0000131e: PUSH2 0x1325 00001321: PUSH2 0x19bf 00001324: JUMP 00001325: JUMPDEST 00001326: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000133b: AND 0000133c: PUSH2 0x08fc 0000133f: DUP3 00001340: SWAP1 00001341: DUP2 00001342: ISZERO 00001343: MUL 00001344: SWAP1 00001345: PUSH1 0x40 00001347: MLOAD 00001348: PUSH1 0x00 0000134a: PUSH1 0x40 0000134c: MLOAD 0000134d: DUP1 0000134e: DUP4 0000134f: SUB 00001350: DUP2 00001351: DUP6 00001352: DUP9 00001353: DUP9 00001354: CALL 00001355: SWAP4 00001356: POP 00001357: POP 00001358: POP 00001359: POP 0000135a: ISZERO 0000135b: DUP1 0000135c: ISZERO 0000135d: PUSH2 0x136a 00001360: JUMPI 00001361: RETURNDATASIZE 00001362: PUSH1 0x00 00001364: DUP1 00001365: RETURNDATACOPY 00001366: RETURNDATASIZE 00001367: PUSH1 0x00 00001369: REVERT 0000136a: JUMPDEST 0000136b: POP 0000136c: DUP1 0000136d: SWAP2 0000136e: POP 0000136f: POP 00001370: SWAP2 00001371: SWAP1 00001372: POP 00001373: JUMP 00001374: JUMPDEST 00001375: PUSH1 0x00 00001377: PUSH2 0x143f 0000137a: PUSH1 0x97 0000137c: PUSH1 0x00 0000137e: SWAP1 0000137f: SLOAD 00001380: SWAP1 00001381: PUSH2 0x0100 00001384: EXP 00001385: SWAP1 00001386: DIV 00001387: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000139c: AND 0000139d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013b2: AND 000013b3: PUSH4 0x18160ddd 000013b8: PUSH1 0x40 000013ba: MLOAD 000013bb: DUP2 000013bc: PUSH4 0xffffffff 000013c1: AND 000013c2: PUSH1 0xe0 000013c4: SHL 000013c5: DUP2 000013c6: MSTORE 000013c7: PUSH1 0x04 000013c9: ADD 000013ca: PUSH1 0x20 000013cc: PUSH1 0x40 000013ce: MLOAD 000013cf: DUP1 000013d0: DUP4 000013d1: SUB 000013d2: DUP2 000013d3: DUP7 000013d4: DUP1 000013d5: EXTCODESIZE 000013d6: ISZERO 000013d7: DUP1 000013d8: ISZERO 000013d9: PUSH2 0x13e1 000013dc: JUMPI 000013dd: PUSH1 0x00 000013df: DUP1 000013e0: REVERT 000013e1: JUMPDEST 000013e2: POP 000013e3: GAS 000013e4: STATICCALL 000013e5: ISZERO 000013e6: DUP1 000013e7: ISZERO 000013e8: PUSH2 0x13f5 000013eb: JUMPI 000013ec: RETURNDATASIZE 000013ed: PUSH1 0x00 000013ef: DUP1 000013f0: RETURNDATACOPY 000013f1: RETURNDATASIZE 000013f2: PUSH1 0x00 000013f4: REVERT 000013f5: JUMPDEST 000013f6: POP 000013f7: POP 000013f8: POP 000013f9: POP 000013fa: PUSH1 0x40 000013fc: MLOAD 000013fd: RETURNDATASIZE 000013fe: PUSH1 0x20 00001400: DUP2 00001401: LT 00001402: ISZERO 00001403: PUSH2 0x140b 00001406: JUMPI 00001407: PUSH1 0x00 00001409: DUP1 0000140a: REVERT 0000140b: JUMPDEST 0000140c: DUP2 0000140d: ADD 0000140e: SWAP1 0000140f: DUP1 00001410: DUP1 00001411: MLOAD 00001412: SWAP1 00001413: PUSH1 0x20 00001415: ADD 00001416: SWAP1 00001417: SWAP3 00001418: SWAP2 00001419: SWAP1 0000141a: POP 0000141b: POP 0000141c: POP 0000141d: PUSH2 0x1431 00001420: PUSH1 0x9a 00001422: SLOAD 00001423: DUP6 00001424: PUSH2 0x18ef 00001427: SWAP1 00001428: SWAP2 00001429: SWAP1 0000142a: PUSH4 0xffffffff 0000142f: AND 00001430: JUMP 00001431: JUMPDEST 00001432: PUSH2 0x1975 00001435: SWAP1 00001436: SWAP2 00001437: SWAP1 00001438: PUSH4 0xffffffff 0000143d: AND 0000143e: JUMP 0000143f: JUMPDEST 00001440: SWAP1 00001441: POP 00001442: SWAP2 00001443: SWAP1 00001444: POP 00001445: JUMP 00001446: JUMPDEST 00001447: PUSH1 0x00 00001449: DUP1 0000144a: PUSH1 0x97 0000144c: PUSH1 0x00 0000144e: SWAP1 0000144f: SLOAD 00001450: SWAP1 00001451: PUSH2 0x0100 00001454: EXP 00001455: SWAP1 00001456: DIV 00001457: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000146c: AND 0000146d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001482: AND 00001483: PUSH4 0x18160ddd 00001488: PUSH1 0x40 0000148a: MLOAD 0000148b: DUP2 0000148c: PUSH4 0xffffffff 00001491: AND 00001492: PUSH1 0xe0 00001494: SHL 00001495: DUP2 00001496: MSTORE 00001497: PUSH1 0x04 00001499: ADD 0000149a: PUSH1 0x20 0000149c: PUSH1 0x40 0000149e: MLOAD 0000149f: DUP1 000014a0: DUP4 000014a1: SUB 000014a2: DUP2 000014a3: DUP7 000014a4: DUP1 000014a5: EXTCODESIZE 000014a6: ISZERO 000014a7: DUP1 000014a8: ISZERO 000014a9: PUSH2 0x14b1 000014ac: JUMPI 000014ad: PUSH1 0x00 000014af: DUP1 000014b0: REVERT 000014b1: JUMPDEST 000014b2: POP 000014b3: GAS 000014b4: STATICCALL 000014b5: ISZERO 000014b6: DUP1 000014b7: ISZERO 000014b8: PUSH2 0x14c5 000014bb: JUMPI 000014bc: RETURNDATASIZE 000014bd: PUSH1 0x00 000014bf: DUP1 000014c0: RETURNDATACOPY 000014c1: RETURNDATASIZE 000014c2: PUSH1 0x00 000014c4: REVERT 000014c5: JUMPDEST 000014c6: POP 000014c7: POP 000014c8: POP 000014c9: POP 000014ca: PUSH1 0x40 000014cc: MLOAD 000014cd: RETURNDATASIZE 000014ce: PUSH1 0x20 000014d0: DUP2 000014d1: LT 000014d2: ISZERO 000014d3: PUSH2 0x14db 000014d6: JUMPI 000014d7: PUSH1 0x00 000014d9: DUP1 000014da: REVERT 000014db: JUMPDEST 000014dc: DUP2 000014dd: ADD 000014de: SWAP1 000014df: DUP1 000014e0: DUP1 000014e1: MLOAD 000014e2: SWAP1 000014e3: PUSH1 0x20 000014e5: ADD 000014e6: SWAP1 000014e7: SWAP3 000014e8: SWAP2 000014e9: SWAP1 000014ea: POP 000014eb: POP 000014ec: POP 000014ed: SWAP1 000014ee: POP 000014ef: PUSH2 0x15d2 000014f2: PUSH2 0x154f 000014f5: PUSH2 0x151b 000014f8: PUSH1 0x98 000014fa: SLOAD 000014fb: PUSH2 0x150d 000014fe: DUP6 000014ff: DUP7 00001500: PUSH2 0x18ef 00001503: SWAP1 00001504: SWAP2 00001505: SWAP1 00001506: PUSH4 0xffffffff 0000150b: AND 0000150c: JUMP 0000150d: JUMPDEST 0000150e: PUSH2 0x18ef 00001511: SWAP1 00001512: SWAP2 00001513: SWAP1 00001514: PUSH4 0xffffffff 00001519: AND 0000151a: JUMP 0000151b: JUMPDEST 0000151c: PUSH2 0x1541 0000151f: PUSH1 0x64 00001521: PUSH2 0x1533 00001524: DUP7 00001525: DUP8 00001526: PUSH2 0x18ef 00001529: SWAP1 0000152a: SWAP2 0000152b: SWAP1 0000152c: PUSH4 0xffffffff 00001531: AND 00001532: JUMP 00001533: JUMPDEST 00001534: PUSH2 0x18ef 00001537: SWAP1 00001538: SWAP2 00001539: SWAP1 0000153a: PUSH4 0xffffffff 0000153f: AND 00001540: JUMP 00001541: JUMPDEST 00001542: PUSH2 0x1c05 00001545: SWAP1 00001546: SWAP2 00001547: SWAP1 00001548: PUSH4 0xffffffff 0000154d: AND 0000154e: JUMP 0000154f: JUMPDEST 00001550: PUSH2 0x1589 00001553: PUSH1 0xc8 00001555: PUSH2 0x157b 00001558: DUP6 00001559: PUSH2 0x156d 0000155c: DUP10 0000155d: PUSH1 0x9a 0000155f: SLOAD 00001560: PUSH2 0x18ef 00001563: SWAP1 00001564: SWAP2 00001565: SWAP1 00001566: PUSH4 0xffffffff 0000156b: AND 0000156c: JUMP 0000156d: JUMPDEST 0000156e: PUSH2 0x18ef 00001571: SWAP1 00001572: SWAP2 00001573: SWAP1 00001574: PUSH4 0xffffffff 00001579: AND 0000157a: JUMP 0000157b: JUMPDEST 0000157c: PUSH2 0x18ef 0000157f: SWAP1 00001580: SWAP2 00001581: SWAP1 00001582: PUSH4 0xffffffff 00001587: AND 00001588: JUMP 00001589: JUMPDEST 0000158a: PUSH2 0x15c3 0000158d: PUSH1 0x64 0000158f: PUSH2 0x15b5 00001592: DUP9 00001593: PUSH2 0x15a7 00001596: DUP11 00001597: PUSH1 0x9a 00001599: SLOAD 0000159a: PUSH2 0x18ef 0000159d: SWAP1 0000159e: SWAP2 0000159f: SWAP1 000015a0: PUSH4 0xffffffff 000015a5: AND 000015a6: JUMP 000015a7: JUMPDEST 000015a8: PUSH2 0x18ef 000015ab: SWAP1 000015ac: SWAP2 000015ad: SWAP1 000015ae: PUSH4 0xffffffff 000015b3: AND 000015b4: JUMP 000015b5: JUMPDEST 000015b6: PUSH2 0x18ef 000015b9: SWAP1 000015ba: SWAP2 000015bb: SWAP1 000015bc: PUSH4 0xffffffff 000015c1: AND 000015c2: JUMP 000015c3: JUMPDEST 000015c4: ADD 000015c5: PUSH2 0x1975 000015c8: SWAP1 000015c9: SWAP2 000015ca: SWAP1 000015cb: PUSH4 0xffffffff 000015d0: AND 000015d1: JUMP 000015d2: JUMPDEST 000015d3: SWAP2 000015d4: POP 000015d5: POP 000015d6: SWAP2 000015d7: SWAP1 000015d8: POP 000015d9: JUMP 000015da: JUMPDEST 000015db: PUSH1 0x00 000015dd: PUSH2 0x15fa 000015e0: PUSH1 0x65 000015e2: PUSH1 0x00 000015e4: DUP5 000015e5: DUP2 000015e6: MSTORE 000015e7: PUSH1 0x20 000015e9: ADD 000015ea: SWAP1 000015eb: DUP2 000015ec: MSTORE 000015ed: PUSH1 0x20 000015ef: ADD 000015f0: PUSH1 0x00 000015f2: KECCAK256 000015f3: PUSH1 0x00 000015f5: ADD 000015f6: PUSH2 0x1c4f 000015f9: JUMP 000015fa: JUMPDEST 000015fb: SWAP1 000015fc: POP 000015fd: SWAP2 000015fe: SWAP1 000015ff: POP 00001600: JUMP 00001601: JUMPDEST 00001602: PUSH1 0x9a 00001604: SLOAD 00001605: DUP2 00001606: JUMP 00001607: JUMPDEST 00001608: PUSH2 0x162e 0000160b: PUSH1 0x65 0000160d: PUSH1 0x00 0000160f: DUP5 00001610: DUP2 00001611: MSTORE 00001612: PUSH1 0x20 00001614: ADD 00001615: SWAP1 00001616: DUP2 00001617: MSTORE 00001618: PUSH1 0x20 0000161a: ADD 0000161b: PUSH1 0x00 0000161d: KECCAK256 0000161e: PUSH1 0x02 00001620: ADD 00001621: SLOAD 00001622: PUSH2 0x1629 00001625: PUSH2 0x19bf 00001628: JUMP 00001629: JUMPDEST 0000162a: PUSH2 0x0e0c 0000162d: JUMP 0000162e: JUMPDEST 0000162f: PUSH2 0x1683 00001632: JUMPI 00001633: PUSH1 0x40 00001635: MLOAD 00001636: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001657: DUP2 00001658: MSTORE 00001659: PUSH1 0x04 0000165b: ADD 0000165c: DUP1 0000165d: DUP1 0000165e: PUSH1 0x20 00001660: ADD 00001661: DUP3 00001662: DUP2 00001663: SUB 00001664: DUP3 00001665: MSTORE 00001666: PUSH1 0x30 00001668: DUP2 00001669: MSTORE 0000166a: PUSH1 0x20 0000166c: ADD 0000166d: DUP1 0000166e: PUSH2 0x20d6 00001671: PUSH1 0x30 00001673: SWAP2 00001674: CODECOPY 00001675: PUSH1 0x40 00001677: ADD 00001678: SWAP2 00001679: POP 0000167a: POP 0000167b: PUSH1 0x40 0000167d: MLOAD 0000167e: DUP1 0000167f: SWAP2 00001680: SUB 00001681: SWAP1 00001682: REVERT 00001683: JUMPDEST 00001684: PUSH2 0x168d 00001687: DUP3 00001688: DUP3 00001689: PUSH2 0x1a5b 0000168c: JUMP 0000168d: JUMPDEST 0000168e: POP 0000168f: POP 00001690: JUMP 00001691: JUMPDEST 00001692: PUSH2 0x16a6 00001695: CALLVALUE 00001696: PUSH1 0x9a 00001698: SLOAD 00001699: PUSH2 0x1b7d 0000169c: SWAP1 0000169d: SWAP2 0000169e: SWAP1 0000169f: PUSH4 0xffffffff 000016a4: AND 000016a5: JUMP 000016a6: JUMPDEST 000016a7: PUSH1 0x9a 000016a9: DUP2 000016aa: SWAP1 000016ab: SSTORE 000016ac: POP 000016ad: JUMP 000016ae: JUMPDEST 000016af: PUSH2 0x16c2 000016b2: PUSH1 0x00 000016b4: DUP1 000016b5: SHL 000016b6: PUSH2 0x16bd 000016b9: PUSH2 0x19bf 000016bc: JUMP 000016bd: JUMPDEST 000016be: PUSH2 0x0e0c 000016c1: JUMP 000016c2: JUMPDEST 000016c3: PUSH2 0x1717 000016c6: JUMPI 000016c7: PUSH1 0x40 000016c9: MLOAD 000016ca: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000016eb: DUP2 000016ec: MSTORE 000016ed: PUSH1 0x04 000016ef: ADD 000016f0: DUP1 000016f1: DUP1 000016f2: PUSH1 0x20 000016f4: ADD 000016f5: DUP3 000016f6: DUP2 000016f7: SUB 000016f8: DUP3 000016f9: MSTORE 000016fa: PUSH1 0x2b 000016fc: DUP2 000016fd: MSTORE 000016fe: PUSH1 0x20 00001700: ADD 00001701: DUP1 00001702: PUSH2 0x20ab 00001705: PUSH1 0x2b 00001707: SWAP2 00001708: CODECOPY 00001709: PUSH1 0x40 0000170b: ADD 0000170c: SWAP2 0000170d: POP 0000170e: POP 0000170f: PUSH1 0x40 00001711: MLOAD 00001712: DUP1 00001713: SWAP2 00001714: SUB 00001715: SWAP1 00001716: REVERT 00001717: JUMPDEST 00001718: PUSH2 0x171f 0000171b: PUSH2 0x19bf 0000171e: JUMP 0000171f: JUMPDEST 00001720: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001735: AND 00001736: PUSH2 0x08fc 00001739: PUSH2 0x1764 0000173c: PUSH1 0x9a 0000173e: SLOAD 0000173f: ADDRESS 00001740: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001755: AND 00001756: BALANCE 00001757: PUSH2 0x1c05 0000175a: SWAP1 0000175b: SWAP2 0000175c: SWAP1 0000175d: PUSH4 0xffffffff 00001762: AND 00001763: JUMP 00001764: JUMPDEST 00001765: SWAP1 00001766: DUP2 00001767: ISZERO 00001768: MUL 00001769: SWAP1 0000176a: PUSH1 0x40 0000176c: MLOAD 0000176d: PUSH1 0x00 0000176f: PUSH1 0x40 00001771: MLOAD 00001772: DUP1 00001773: DUP4 00001774: SUB 00001775: DUP2 00001776: DUP6 00001777: DUP9 00001778: DUP9 00001779: CALL 0000177a: SWAP4 0000177b: POP 0000177c: POP 0000177d: POP 0000177e: POP 0000177f: ISZERO 00001780: DUP1 00001781: ISZERO 00001782: PUSH2 0x178f 00001785: JUMPI 00001786: RETURNDATASIZE 00001787: PUSH1 0x00 00001789: DUP1 0000178a: RETURNDATACOPY 0000178b: RETURNDATASIZE 0000178c: PUSH1 0x00 0000178e: REVERT 0000178f: JUMPDEST 00001790: POP 00001791: JUMP 00001792: JUMPDEST 00001793: PUSH1 0x40 00001795: MLOAD 00001796: DUP1 00001797: DUP1 00001798: PUSH32 0x495046535f41444d494e00000000000000000000000000000000000000000000 000017b9: DUP2 000017ba: MSTORE 000017bb: POP 000017bc: PUSH1 0x0a 000017be: ADD 000017bf: SWAP1 000017c0: POP 000017c1: PUSH1 0x40 000017c3: MLOAD 000017c4: DUP1 000017c5: SWAP2 000017c6: SUB 000017c7: SWAP1 000017c8: KECCAK256 000017c9: DUP2 000017ca: JUMP 000017cb: JUMPDEST 000017cc: PUSH1 0x00 000017ce: PUSH2 0x1813 000017d1: PUSH1 0x40 000017d3: MLOAD 000017d4: DUP1 000017d5: DUP1 000017d6: PUSH32 0x534f4c5645525f41444d494e0000000000000000000000000000000000000000 000017f7: DUP2 000017f8: MSTORE 000017f9: POP 000017fa: PUSH1 0x0c 000017fc: ADD 000017fd: SWAP1 000017fe: POP 000017ff: PUSH1 0x40 00001801: MLOAD 00001802: DUP1 00001803: SWAP2 00001804: SUB 00001805: SWAP1 00001806: KECCAK256 00001807: PUSH2 0x180e 0000180a: PUSH2 0x19bf 0000180d: JUMP 0000180e: JUMPDEST 0000180f: PUSH2 0x0e0c 00001812: JUMP 00001813: JUMPDEST 00001814: PUSH2 0x1868 00001817: JUMPI 00001818: PUSH1 0x40 0000181a: MLOAD 0000181b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000183c: DUP2 0000183d: MSTORE 0000183e: PUSH1 0x04 00001840: ADD 00001841: DUP1 00001842: DUP1 00001843: PUSH1 0x20 00001845: ADD 00001846: DUP3 00001847: DUP2 00001848: SUB 00001849: DUP3 0000184a: MSTORE 0000184b: PUSH1 0x34 0000184d: DUP2 0000184e: MSTORE 0000184f: PUSH1 0x20 00001851: ADD 00001852: DUP1 00001853: PUSH2 0x2179 00001856: PUSH1 0x34 00001858: SWAP2 00001859: CODECOPY 0000185a: PUSH1 0x40 0000185c: ADD 0000185d: SWAP2 0000185e: POP 0000185f: POP 00001860: PUSH1 0x40 00001862: MLOAD 00001863: DUP1 00001864: SWAP2 00001865: SUB 00001866: SWAP1 00001867: REVERT 00001868: JUMPDEST 00001869: PUSH2 0x18a7 0000186c: PUSH1 0x40 0000186e: MLOAD 0000186f: DUP1 00001870: DUP1 00001871: PUSH32 0x534f4c5645520000000000000000000000000000000000000000000000000000 00001892: DUP2 00001893: MSTORE 00001894: POP 00001895: PUSH1 0x06 00001897: ADD 00001898: SWAP1 00001899: POP 0000189a: PUSH1 0x40 0000189c: MLOAD 0000189d: DUP1 0000189e: SWAP2 0000189f: SUB 000018a0: SWAP1 000018a1: KECCAK256 000018a2: DUP4 000018a3: PUSH2 0x0908 000018a6: JUMP 000018a7: JUMPDEST 000018a8: PUSH1 0x01 000018aa: SWAP1 000018ab: POP 000018ac: SWAP2 000018ad: SWAP1 000018ae: POP 000018af: JUMP 000018b0: JUMPDEST 000018b1: PUSH1 0x98 000018b3: SLOAD 000018b4: DUP2 000018b5: JUMP 000018b6: JUMPDEST 000018b7: PUSH1 0x40 000018b9: MLOAD 000018ba: DUP1 000018bb: DUP1 000018bc: PUSH32 0x534f4c5645525f41444d494e0000000000000000000000000000000000000000 000018dd: DUP2 000018de: MSTORE 000018df: POP 000018e0: PUSH1 0x0c 000018e2: ADD 000018e3: SWAP1 000018e4: POP 000018e5: PUSH1 0x40 000018e7: MLOAD 000018e8: DUP1 000018e9: SWAP2 000018ea: SUB 000018eb: SWAP1 000018ec: KECCAK256 000018ed: DUP2 000018ee: JUMP 000018ef: JUMPDEST 000018f0: PUSH1 0x00 000018f2: DUP1 000018f3: DUP4 000018f4: EQ 000018f5: ISZERO 000018f6: PUSH2 0x1902 000018f9: JUMPI 000018fa: PUSH1 0x00 000018fc: SWAP1 000018fd: POP 000018fe: PUSH2 0x196f 00001901: JUMP 00001902: JUMPDEST 00001903: PUSH1 0x00 00001905: DUP3 00001906: DUP5 00001907: MUL 00001908: SWAP1 00001909: POP 0000190a: DUP3 0000190b: DUP5 0000190c: DUP3 0000190d: DUP2 0000190e: PUSH2 0x1913 00001911: JUMPI 00001912: INVALID 00001913: JUMPDEST 00001914: DIV 00001915: EQ 00001916: PUSH2 0x196a 00001919: JUMPI 0000191a: PUSH1 0x40 0000191c: MLOAD 0000191d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000193e: DUP2 0000193f: MSTORE 00001940: PUSH1 0x04 00001942: ADD 00001943: DUP1 00001944: DUP1 00001945: PUSH1 0x20 00001947: ADD 00001948: DUP3 00001949: DUP2 0000194a: SUB 0000194b: DUP3 0000194c: MSTORE 0000194d: PUSH1 0x21 0000194f: DUP2 00001950: MSTORE 00001951: PUSH1 0x20 00001953: ADD 00001954: DUP1 00001955: PUSH2 0x2106 00001958: PUSH1 0x21 0000195a: SWAP2 0000195b: CODECOPY 0000195c: PUSH1 0x40 0000195e: ADD 0000195f: SWAP2 00001960: POP 00001961: POP 00001962: PUSH1 0x40 00001964: MLOAD 00001965: DUP1 00001966: SWAP2 00001967: SUB 00001968: SWAP1 00001969: REVERT 0000196a: JUMPDEST 0000196b: DUP1 0000196c: SWAP2 0000196d: POP 0000196e: POP 0000196f: JUMPDEST 00001970: SWAP3 00001971: SWAP2 00001972: POP 00001973: POP 00001974: JUMP 00001975: JUMPDEST 00001976: PUSH1 0x00 00001978: PUSH2 0x19b7 0000197b: DUP4 0000197c: DUP4 0000197d: PUSH1 0x40 0000197f: MLOAD 00001980: DUP1 00001981: PUSH1 0x40 00001983: ADD 00001984: PUSH1 0x40 00001986: MSTORE 00001987: DUP1 00001988: PUSH1 0x1a 0000198a: DUP2 0000198b: MSTORE 0000198c: PUSH1 0x20 0000198e: ADD 0000198f: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 000019b0: DUP2 000019b1: MSTORE 000019b2: POP 000019b3: PUSH2 0x1c64 000019b6: JUMP 000019b7: JUMPDEST 000019b8: SWAP1 000019b9: POP 000019ba: SWAP3 000019bb: SWAP2 000019bc: POP 000019bd: POP 000019be: JUMP 000019bf: JUMPDEST 000019c0: PUSH1 0x00 000019c2: CALLER 000019c3: SWAP1 000019c4: POP 000019c5: SWAP1 000019c6: JUMP 000019c7: JUMPDEST 000019c8: PUSH2 0x19ef 000019cb: DUP2 000019cc: PUSH1 0x65 000019ce: PUSH1 0x00 000019d0: DUP6 000019d1: DUP2 000019d2: MSTORE 000019d3: PUSH1 0x20 000019d5: ADD 000019d6: SWAP1 000019d7: DUP2 000019d8: MSTORE 000019d9: PUSH1 0x20 000019db: ADD 000019dc: PUSH1 0x00 000019de: KECCAK256 000019df: PUSH1 0x00 000019e1: ADD 000019e2: PUSH2 0x1d2a 000019e5: SWAP1 000019e6: SWAP2 000019e7: SWAP1 000019e8: PUSH4 0xffffffff 000019ed: AND 000019ee: JUMP 000019ef: JUMPDEST 000019f0: ISZERO 000019f1: PUSH2 0x1a57 000019f4: JUMPI 000019f5: PUSH2 0x19fc 000019f8: PUSH2 0x19bf 000019fb: JUMP 000019fc: JUMPDEST 000019fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a12: AND 00001a13: DUP2 00001a14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a29: AND 00001a2a: DUP4 00001a2b: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 00001a4c: PUSH1 0x40 00001a4e: MLOAD 00001a4f: PUSH1 0x40 00001a51: MLOAD 00001a52: DUP1 00001a53: SWAP2 00001a54: SUB 00001a55: SWAP1 00001a56: LOG4 00001a57: JUMPDEST 00001a58: POP 00001a59: POP 00001a5a: JUMP 00001a5b: JUMPDEST 00001a5c: PUSH2 0x1a83 00001a5f: DUP2 00001a60: PUSH1 0x65 00001a62: PUSH1 0x00 00001a64: DUP6 00001a65: DUP2 00001a66: MSTORE 00001a67: PUSH1 0x20 00001a69: ADD 00001a6a: SWAP1 00001a6b: DUP2 00001a6c: MSTORE 00001a6d: PUSH1 0x20 00001a6f: ADD 00001a70: PUSH1 0x00 00001a72: KECCAK256 00001a73: PUSH1 0x00 00001a75: ADD 00001a76: PUSH2 0x1d5a 00001a79: SWAP1 00001a7a: SWAP2 00001a7b: SWAP1 00001a7c: PUSH4 0xffffffff 00001a81: AND 00001a82: JUMP 00001a83: JUMPDEST 00001a84: ISZERO 00001a85: PUSH2 0x1aeb 00001a88: JUMPI 00001a89: PUSH2 0x1a90 00001a8c: PUSH2 0x19bf 00001a8f: JUMP 00001a90: JUMPDEST 00001a91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001aa6: AND 00001aa7: DUP2 00001aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001abd: AND 00001abe: DUP4 00001abf: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 00001ae0: PUSH1 0x40 00001ae2: MLOAD 00001ae3: PUSH1 0x40 00001ae5: MLOAD 00001ae6: DUP1 00001ae7: SWAP2 00001ae8: SUB 00001ae9: SWAP1 00001aea: LOG4 00001aeb: JUMPDEST 00001aec: POP 00001aed: POP 00001aee: JUMP 00001aef: JUMPDEST 00001af0: PUSH1 0x00 00001af2: DUP1 00001af3: ADDRESS 00001af4: SWAP1 00001af5: POP 00001af6: PUSH1 0x00 00001af8: DUP2 00001af9: EXTCODESIZE 00001afa: SWAP1 00001afb: POP 00001afc: PUSH1 0x00 00001afe: DUP2 00001aff: EQ 00001b00: SWAP3 00001b01: POP 00001b02: POP 00001b03: POP 00001b04: SWAP1 00001b05: JUMP 00001b06: JUMPDEST 00001b07: PUSH2 0x1b10 00001b0a: DUP3 00001b0b: DUP3 00001b0c: PUSH2 0x19c7 00001b0f: JUMP 00001b10: JUMPDEST 00001b11: POP 00001b12: POP 00001b13: JUMP 00001b14: JUMPDEST 00001b15: DUP1 00001b16: PUSH1 0x65 00001b18: PUSH1 0x00 00001b1a: DUP5 00001b1b: DUP2 00001b1c: MSTORE 00001b1d: PUSH1 0x20 00001b1f: ADD 00001b20: SWAP1 00001b21: DUP2 00001b22: MSTORE 00001b23: PUSH1 0x20 00001b25: ADD 00001b26: PUSH1 0x00 00001b28: KECCAK256 00001b29: PUSH1 0x02 00001b2b: ADD 00001b2c: DUP2 00001b2d: SWAP1 00001b2e: SSTORE 00001b2f: POP 00001b30: POP 00001b31: POP 00001b32: JUMP 00001b33: JUMPDEST 00001b34: PUSH1 0x00 00001b36: PUSH2 0x1b42 00001b39: DUP4 00001b3a: PUSH1 0x00 00001b3c: ADD 00001b3d: DUP4 00001b3e: PUSH2 0x1d8a 00001b41: JUMP 00001b42: JUMPDEST 00001b43: PUSH1 0x00 00001b45: SHR 00001b46: SWAP1 00001b47: POP 00001b48: SWAP3 00001b49: SWAP2 00001b4a: POP 00001b4b: POP 00001b4c: JUMP 00001b4d: JUMPDEST 00001b4e: PUSH1 0x00 00001b50: PUSH2 0x1b75 00001b53: DUP4 00001b54: PUSH1 0x00 00001b56: ADD 00001b57: DUP4 00001b58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b6d: AND 00001b6e: PUSH1 0x00 00001b70: SHL 00001b71: PUSH2 0x1e0d 00001b74: JUMP 00001b75: JUMPDEST 00001b76: SWAP1 00001b77: POP 00001b78: SWAP3 00001b79: SWAP2 00001b7a: POP 00001b7b: POP 00001b7c: JUMP 00001b7d: JUMPDEST 00001b7e: PUSH1 0x00 00001b80: DUP1 00001b81: DUP3 00001b82: DUP5 00001b83: ADD 00001b84: SWAP1 00001b85: POP 00001b86: DUP4 00001b87: DUP2 00001b88: LT 00001b89: ISZERO 00001b8a: PUSH2 0x1bfb 00001b8d: JUMPI 00001b8e: PUSH1 0x40 00001b90: MLOAD 00001b91: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001bb2: DUP2 00001bb3: MSTORE 00001bb4: PUSH1 0x04 00001bb6: ADD 00001bb7: DUP1 00001bb8: DUP1 00001bb9: PUSH1 0x20 00001bbb: ADD 00001bbc: DUP3 00001bbd: DUP2 00001bbe: SUB 00001bbf: DUP3 00001bc0: MSTORE 00001bc1: PUSH1 0x1b 00001bc3: DUP2 00001bc4: MSTORE 00001bc5: PUSH1 0x20 00001bc7: ADD 00001bc8: DUP1 00001bc9: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00001bea: DUP2 00001beb: MSTORE 00001bec: POP 00001bed: PUSH1 0x20 00001bef: ADD 00001bf0: SWAP2 00001bf1: POP 00001bf2: POP 00001bf3: PUSH1 0x40 00001bf5: MLOAD 00001bf6: DUP1 00001bf7: SWAP2 00001bf8: SUB 00001bf9: SWAP1 00001bfa: REVERT 00001bfb: JUMPDEST 00001bfc: DUP1 00001bfd: SWAP2 00001bfe: POP 00001bff: POP 00001c00: SWAP3 00001c01: SWAP2 00001c02: POP 00001c03: POP 00001c04: JUMP 00001c05: JUMPDEST 00001c06: PUSH1 0x00 00001c08: PUSH2 0x1c47 00001c0b: DUP4 00001c0c: DUP4 00001c0d: PUSH1 0x40 00001c0f: MLOAD 00001c10: DUP1 00001c11: PUSH1 0x40 00001c13: ADD 00001c14: PUSH1 0x40 00001c16: MSTORE 00001c17: DUP1 00001c18: PUSH1 0x1e 00001c1a: DUP2 00001c1b: MSTORE 00001c1c: PUSH1 0x20 00001c1e: ADD 00001c1f: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 00001c40: DUP2 00001c41: MSTORE 00001c42: POP 00001c43: PUSH2 0x1e30 00001c46: JUMP 00001c47: JUMPDEST 00001c48: SWAP1 00001c49: POP 00001c4a: SWAP3 00001c4b: SWAP2 00001c4c: POP 00001c4d: POP 00001c4e: JUMP 00001c4f: JUMPDEST 00001c50: PUSH1 0x00 00001c52: PUSH2 0x1c5d 00001c55: DUP3 00001c56: PUSH1 0x00 00001c58: ADD 00001c59: PUSH2 0x1ef0 00001c5c: JUMP 00001c5d: JUMPDEST 00001c5e: SWAP1 00001c5f: POP 00001c60: SWAP2 00001c61: SWAP1 00001c62: POP 00001c63: JUMP 00001c64: JUMPDEST 00001c65: PUSH1 0x00 00001c67: DUP1 00001c68: DUP4 00001c69: GT 00001c6a: DUP3 00001c6b: SWAP1 00001c6c: PUSH2 0x1d10 00001c6f: JUMPI 00001c70: PUSH1 0x40 00001c72: MLOAD 00001c73: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c94: DUP2 00001c95: MSTORE 00001c96: PUSH1 0x04 00001c98: ADD 00001c99: DUP1 00001c9a: DUP1 00001c9b: PUSH1 0x20 00001c9d: ADD 00001c9e: DUP3 00001c9f: DUP2 00001ca0: SUB 00001ca1: DUP3 00001ca2: MSTORE 00001ca3: DUP4 00001ca4: DUP2 00001ca5: DUP2 00001ca6: MLOAD 00001ca7: DUP2 00001ca8: MSTORE 00001ca9: PUSH1 0x20 00001cab: ADD 00001cac: SWAP2 00001cad: POP 00001cae: DUP1 00001caf: MLOAD 00001cb0: SWAP1 00001cb1: PUSH1 0x20 00001cb3: ADD 00001cb4: SWAP1 00001cb5: DUP1 00001cb6: DUP4 00001cb7: DUP4 00001cb8: PUSH1 0x00 00001cba: JUMPDEST 00001cbb: DUP4 00001cbc: DUP2 00001cbd: LT 00001cbe: ISZERO 00001cbf: PUSH2 0x1cd5 00001cc2: JUMPI 00001cc3: DUP1 00001cc4: DUP3 00001cc5: ADD 00001cc6: MLOAD 00001cc7: DUP2 00001cc8: DUP5 00001cc9: ADD 00001cca: MSTORE 00001ccb: PUSH1 0x20 00001ccd: DUP2 00001cce: ADD 00001ccf: SWAP1 00001cd0: POP 00001cd1: PUSH2 0x1cba 00001cd4: JUMP 00001cd5: JUMPDEST 00001cd6: POP 00001cd7: POP 00001cd8: POP 00001cd9: POP 00001cda: SWAP1 00001cdb: POP 00001cdc: SWAP1 00001cdd: DUP2 00001cde: ADD 00001cdf: SWAP1 00001ce0: PUSH1 0x1f 00001ce2: AND 00001ce3: DUP1 00001ce4: ISZERO 00001ce5: PUSH2 0x1d02 00001ce8: JUMPI 00001ce9: DUP1 00001cea: DUP3 00001ceb: SUB 00001cec: DUP1 00001ced: MLOAD 00001cee: PUSH1 0x01 00001cf0: DUP4 00001cf1: PUSH1 0x20 00001cf3: SUB 00001cf4: PUSH2 0x0100 00001cf7: EXP 00001cf8: SUB 00001cf9: NOT 00001cfa: AND 00001cfb: DUP2 00001cfc: MSTORE 00001cfd: PUSH1 0x20 00001cff: ADD 00001d00: SWAP2 00001d01: POP 00001d02: JUMPDEST 00001d03: POP 00001d04: SWAP3 00001d05: POP 00001d06: POP 00001d07: POP 00001d08: PUSH1 0x40 00001d0a: MLOAD 00001d0b: DUP1 00001d0c: SWAP2 00001d0d: SUB 00001d0e: SWAP1 00001d0f: REVERT 00001d10: JUMPDEST 00001d11: POP 00001d12: PUSH1 0x00 00001d14: DUP4 00001d15: DUP6 00001d16: DUP2 00001d17: PUSH2 0x1d1c 00001d1a: JUMPI 00001d1b: INVALID 00001d1c: JUMPDEST 00001d1d: DIV 00001d1e: SWAP1 00001d1f: POP 00001d20: DUP1 00001d21: SWAP2 00001d22: POP 00001d23: POP 00001d24: SWAP4 00001d25: SWAP3 00001d26: POP 00001d27: POP 00001d28: POP 00001d29: JUMP 00001d2a: JUMPDEST 00001d2b: PUSH1 0x00 00001d2d: PUSH2 0x1d52 00001d30: DUP4 00001d31: PUSH1 0x00 00001d33: ADD 00001d34: DUP4 00001d35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d4a: AND 00001d4b: PUSH1 0x00 00001d4d: SHL 00001d4e: PUSH2 0x1f01 00001d51: JUMP 00001d52: JUMPDEST 00001d53: SWAP1 00001d54: POP 00001d55: SWAP3 00001d56: SWAP2 00001d57: POP 00001d58: POP 00001d59: JUMP 00001d5a: JUMPDEST 00001d5b: PUSH1 0x00 00001d5d: PUSH2 0x1d82 00001d60: DUP4 00001d61: PUSH1 0x00 00001d63: ADD 00001d64: DUP4 00001d65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d7a: AND 00001d7b: PUSH1 0x00 00001d7d: SHL 00001d7e: PUSH2 0x1f71 00001d81: JUMP 00001d82: JUMPDEST 00001d83: SWAP1 00001d84: POP 00001d85: SWAP3 00001d86: SWAP2 00001d87: POP 00001d88: POP 00001d89: JUMP 00001d8a: JUMPDEST 00001d8b: PUSH1 0x00 00001d8d: DUP2 00001d8e: DUP4 00001d8f: PUSH1 0x00 00001d91: ADD 00001d92: DUP1 00001d93: SLOAD 00001d94: SWAP1 00001d95: POP 00001d96: GT 00001d97: PUSH2 0x1deb 00001d9a: JUMPI 00001d9b: PUSH1 0x40 00001d9d: MLOAD 00001d9e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001dbf: DUP2 00001dc0: MSTORE 00001dc1: PUSH1 0x04 00001dc3: ADD 00001dc4: DUP1 00001dc5: DUP1 00001dc6: PUSH1 0x20 00001dc8: ADD 00001dc9: DUP3 00001dca: DUP2 00001dcb: SUB 00001dcc: DUP3 00001dcd: MSTORE 00001dce: PUSH1 0x22 00001dd0: DUP2 00001dd1: MSTORE 00001dd2: PUSH1 0x20 00001dd4: ADD 00001dd5: DUP1 00001dd6: PUSH2 0x205a 00001dd9: PUSH1 0x22 00001ddb: SWAP2 00001ddc: CODECOPY 00001ddd: PUSH1 0x40 00001ddf: ADD 00001de0: SWAP2 00001de1: POP 00001de2: POP 00001de3: PUSH1 0x40 00001de5: MLOAD 00001de6: DUP1 00001de7: SWAP2 00001de8: SUB 00001de9: SWAP1 00001dea: REVERT 00001deb: JUMPDEST 00001dec: DUP3 00001ded: PUSH1 0x00 00001def: ADD 00001df0: DUP3 00001df1: DUP2 00001df2: SLOAD 00001df3: DUP2 00001df4: LT 00001df5: PUSH2 0x1dfa 00001df8: JUMPI 00001df9: INVALID 00001dfa: JUMPDEST 00001dfb: SWAP1 00001dfc: PUSH1 0x00 00001dfe: MSTORE 00001dff: PUSH1 0x20 00001e01: PUSH1 0x00 00001e03: KECCAK256 00001e04: ADD 00001e05: SLOAD 00001e06: SWAP1 00001e07: POP 00001e08: SWAP3 00001e09: SWAP2 00001e0a: POP 00001e0b: POP 00001e0c: JUMP 00001e0d: JUMPDEST 00001e0e: PUSH1 0x00 00001e10: DUP1 00001e11: DUP4 00001e12: PUSH1 0x01 00001e14: ADD 00001e15: PUSH1 0x00 00001e17: DUP5 00001e18: DUP2 00001e19: MSTORE 00001e1a: PUSH1 0x20 00001e1c: ADD 00001e1d: SWAP1 00001e1e: DUP2 00001e1f: MSTORE 00001e20: PUSH1 0x20 00001e22: ADD 00001e23: PUSH1 0x00 00001e25: KECCAK256 00001e26: SLOAD 00001e27: EQ 00001e28: ISZERO 00001e29: SWAP1 00001e2a: POP 00001e2b: SWAP3 00001e2c: SWAP2 00001e2d: POP 00001e2e: POP 00001e2f: JUMP 00001e30: JUMPDEST 00001e31: PUSH1 0x00 00001e33: DUP4 00001e34: DUP4 00001e35: GT 00001e36: ISZERO 00001e37: DUP3 00001e38: SWAP1 00001e39: PUSH2 0x1edd 00001e3c: JUMPI 00001e3d: PUSH1 0x40 00001e3f: MLOAD 00001e40: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e61: DUP2 00001e62: MSTORE 00001e63: PUSH1 0x04 00001e65: ADD 00001e66: DUP1 00001e67: DUP1 00001e68: PUSH1 0x20 00001e6a: ADD 00001e6b: DUP3 00001e6c: DUP2 00001e6d: SUB 00001e6e: DUP3 00001e6f: MSTORE 00001e70: DUP4 00001e71: DUP2 00001e72: DUP2 00001e73: MLOAD 00001e74: DUP2 00001e75: MSTORE 00001e76: PUSH1 0x20 00001e78: ADD 00001e79: SWAP2 00001e7a: POP 00001e7b: DUP1 00001e7c: MLOAD 00001e7d: SWAP1 00001e7e: PUSH1 0x20 00001e80: ADD 00001e81: SWAP1 00001e82: DUP1 00001e83: DUP4 00001e84: DUP4 00001e85: PUSH1 0x00 00001e87: JUMPDEST 00001e88: DUP4 00001e89: DUP2 00001e8a: LT 00001e8b: ISZERO 00001e8c: PUSH2 0x1ea2 00001e8f: JUMPI 00001e90: DUP1 00001e91: DUP3 00001e92: ADD 00001e93: MLOAD 00001e94: DUP2 00001e95: DUP5 00001e96: ADD 00001e97: MSTORE 00001e98: PUSH1 0x20 00001e9a: DUP2 00001e9b: ADD 00001e9c: SWAP1 00001e9d: POP 00001e9e: PUSH2 0x1e87 00001ea1: JUMP 00001ea2: JUMPDEST 00001ea3: POP 00001ea4: POP 00001ea5: POP 00001ea6: POP 00001ea7: SWAP1 00001ea8: POP 00001ea9: SWAP1 00001eaa: DUP2 00001eab: ADD 00001eac: SWAP1 00001ead: PUSH1 0x1f 00001eaf: AND 00001eb0: DUP1 00001eb1: ISZERO 00001eb2: PUSH2 0x1ecf 00001eb5: JUMPI 00001eb6: DUP1 00001eb7: DUP3 00001eb8: SUB 00001eb9: DUP1 00001eba: MLOAD 00001ebb: PUSH1 0x01 00001ebd: DUP4 00001ebe: PUSH1 0x20 00001ec0: SUB 00001ec1: PUSH2 0x0100 00001ec4: EXP 00001ec5: SUB 00001ec6: NOT 00001ec7: AND 00001ec8: DUP2 00001ec9: MSTORE 00001eca: PUSH1 0x20 00001ecc: ADD 00001ecd: SWAP2 00001ece: POP 00001ecf: JUMPDEST 00001ed0: POP 00001ed1: SWAP3 00001ed2: POP 00001ed3: POP 00001ed4: POP 00001ed5: PUSH1 0x40 00001ed7: MLOAD 00001ed8: DUP1 00001ed9: SWAP2 00001eda: SUB 00001edb: SWAP1 00001edc: REVERT 00001edd: JUMPDEST 00001ede: POP 00001edf: PUSH1 0x00 00001ee1: DUP4 00001ee2: DUP6 00001ee3: SUB 00001ee4: SWAP1 00001ee5: POP 00001ee6: DUP1 00001ee7: SWAP2 00001ee8: POP 00001ee9: POP 00001eea: SWAP4 00001eeb: SWAP3 00001eec: POP 00001eed: POP 00001eee: POP 00001eef: JUMP 00001ef0: JUMPDEST 00001ef1: PUSH1 0x00 00001ef3: DUP2 00001ef4: PUSH1 0x00 00001ef6: ADD 00001ef7: DUP1 00001ef8: SLOAD 00001ef9: SWAP1 00001efa: POP 00001efb: SWAP1 00001efc: POP 00001efd: SWAP2 00001efe: SWAP1 00001eff: POP 00001f00: JUMP 00001f01: JUMPDEST 00001f02: PUSH1 0x00 00001f04: PUSH2 0x1f0d 00001f07: DUP4 00001f08: DUP4 00001f09: PUSH2 0x1e0d 00001f0c: JUMP 00001f0d: JUMPDEST 00001f0e: PUSH2 0x1f66 00001f11: JUMPI 00001f12: DUP3 00001f13: PUSH1 0x00 00001f15: ADD 00001f16: DUP3 00001f17: SWAP1 00001f18: DUP1 00001f19: PUSH1 0x01 00001f1b: DUP2 00001f1c: SLOAD 00001f1d: ADD 00001f1e: DUP1 00001f1f: DUP3 00001f20: SSTORE 00001f21: DUP1 00001f22: SWAP2 00001f23: POP 00001f24: POP 00001f25: PUSH1 0x01 00001f27: SWAP1 00001f28: SUB 00001f29: SWAP1 00001f2a: PUSH1 0x00 00001f2c: MSTORE 00001f2d: PUSH1 0x20 00001f2f: PUSH1 0x00 00001f31: KECCAK256 00001f32: ADD 00001f33: PUSH1 0x00 00001f35: SWAP1 00001f36: SWAP2 00001f37: SWAP1 00001f38: SWAP2 00001f39: SWAP1 00001f3a: SWAP2 00001f3b: POP 00001f3c: SSTORE 00001f3d: DUP3 00001f3e: PUSH1 0x00 00001f40: ADD 00001f41: DUP1 00001f42: SLOAD 00001f43: SWAP1 00001f44: POP 00001f45: DUP4 00001f46: PUSH1 0x01 00001f48: ADD 00001f49: PUSH1 0x00 00001f4b: DUP5 00001f4c: DUP2 00001f4d: MSTORE 00001f4e: PUSH1 0x20 00001f50: ADD 00001f51: SWAP1 00001f52: DUP2 00001f53: MSTORE 00001f54: PUSH1 0x20 00001f56: ADD 00001f57: PUSH1 0x00 00001f59: KECCAK256 00001f5a: DUP2 00001f5b: SWAP1 00001f5c: SSTORE 00001f5d: POP 00001f5e: PUSH1 0x01 00001f60: SWAP1 00001f61: POP 00001f62: PUSH2 0x1f6b 00001f65: JUMP 00001f66: JUMPDEST 00001f67: PUSH1 0x00 00001f69: SWAP1 00001f6a: POP 00001f6b: JUMPDEST 00001f6c: SWAP3 00001f6d: SWAP2 00001f6e: POP 00001f6f: POP 00001f70: JUMP 00001f71: JUMPDEST 00001f72: PUSH1 0x00 00001f74: DUP1 00001f75: DUP4 00001f76: PUSH1 0x01 00001f78: ADD 00001f79: PUSH1 0x00 00001f7b: DUP5 00001f7c: DUP2 00001f7d: MSTORE 00001f7e: PUSH1 0x20 00001f80: ADD 00001f81: SWAP1 00001f82: DUP2 00001f83: MSTORE 00001f84: PUSH1 0x20 00001f86: ADD 00001f87: PUSH1 0x00 00001f89: KECCAK256 00001f8a: SLOAD 00001f8b: SWAP1 00001f8c: POP 00001f8d: PUSH1 0x00 00001f8f: DUP2 00001f90: EQ 00001f91: PUSH2 0x204d 00001f94: JUMPI 00001f95: PUSH1 0x00 00001f97: PUSH1 0x01 00001f99: DUP3 00001f9a: SUB 00001f9b: SWAP1 00001f9c: POP 00001f9d: PUSH1 0x00 00001f9f: PUSH1 0x01 00001fa1: DUP7 00001fa2: PUSH1 0x00 00001fa4: ADD 00001fa5: DUP1 00001fa6: SLOAD 00001fa7: SWAP1 00001fa8: POP 00001fa9: SUB 00001faa: SWAP1 00001fab: POP 00001fac: PUSH1 0x00 00001fae: DUP7 00001faf: PUSH1 0x00 00001fb1: ADD 00001fb2: DUP3 00001fb3: DUP2 00001fb4: SLOAD 00001fb5: DUP2 00001fb6: LT 00001fb7: PUSH2 0x1fbc 00001fba: JUMPI 00001fbb: INVALID 00001fbc: JUMPDEST 00001fbd: SWAP1 00001fbe: PUSH1 0x00 00001fc0: MSTORE 00001fc1: PUSH1 0x20 00001fc3: PUSH1 0x00 00001fc5: KECCAK256 00001fc6: ADD 00001fc7: SLOAD 00001fc8: SWAP1 00001fc9: POP 00001fca: DUP1 00001fcb: DUP8 00001fcc: PUSH1 0x00 00001fce: ADD 00001fcf: DUP5 00001fd0: DUP2 00001fd1: SLOAD 00001fd2: DUP2 00001fd3: LT 00001fd4: PUSH2 0x1fd9 00001fd7: JUMPI 00001fd8: INVALID 00001fd9: JUMPDEST 00001fda: SWAP1 00001fdb: PUSH1 0x00 00001fdd: MSTORE 00001fde: PUSH1 0x20 00001fe0: PUSH1 0x00 00001fe2: KECCAK256 00001fe3: ADD 00001fe4: DUP2 00001fe5: SWAP1 00001fe6: SSTORE 00001fe7: POP 00001fe8: PUSH1 0x01 00001fea: DUP4 00001feb: ADD 00001fec: DUP8 00001fed: PUSH1 0x01 00001fef: ADD 00001ff0: PUSH1 0x00 00001ff2: DUP4 00001ff3: DUP2 00001ff4: MSTORE 00001ff5: PUSH1 0x20 00001ff7: ADD 00001ff8: SWAP1 00001ff9: DUP2 00001ffa: MSTORE 00001ffb: PUSH1 0x20 00001ffd: ADD 00001ffe: PUSH1 0x00 00002000: KECCAK256 00002001: DUP2 00002002: SWAP1 00002003: SSTORE 00002004: POP 00002005: DUP7 00002006: PUSH1 0x00 00002008: ADD 00002009: DUP1 0000200a: SLOAD 0000200b: DUP1 0000200c: PUSH2 0x2011 0000200f: JUMPI 00002010: INVALID 00002011: JUMPDEST 00002012: PUSH1 0x01 00002014: SWAP1 00002015: SUB 00002016: DUP2 00002017: DUP2 00002018: SWAP1 00002019: PUSH1 0x00 0000201b: MSTORE 0000201c: PUSH1 0x20 0000201e: PUSH1 0x00 00002020: KECCAK256 00002021: ADD 00002022: PUSH1 0x00 00002024: SWAP1 00002025: SSTORE 00002026: SWAP1 00002027: SSTORE 00002028: DUP7 00002029: PUSH1 0x01 0000202b: ADD 0000202c: PUSH1 0x00 0000202e: DUP8 0000202f: DUP2 00002030: MSTORE 00002031: PUSH1 0x20 00002033: ADD 00002034: SWAP1 00002035: DUP2 00002036: MSTORE 00002037: PUSH1 0x20 00002039: ADD 0000203a: PUSH1 0x00 0000203c: KECCAK256 0000203d: PUSH1 0x00 0000203f: SWAP1 00002040: SSTORE 00002041: PUSH1 0x01 00002043: SWAP5 00002044: POP 00002045: POP 00002046: POP 00002047: POP 00002048: POP 00002049: PUSH2 0x2053 0000204c: JUMP 0000204d: JUMPDEST 0000204e: PUSH1 0x00 00002050: SWAP2 00002051: POP 00002052: POP 00002053: JUMPDEST 00002054: SWAP3 00002055: SWAP2 00002056: POP 00002057: POP 00002058: JUMP 00002059: INVALID 0000205a: GASLIMIT 0000205b: PUSH15 0x756d657261626c655365743a20696e 0000206b: PUSH5 0x6578206f75 00002071: PUSH21 0x206f6620626f756e6473416363657373436f6e7472 00002087: PUSH16 0x6c3a2073656e646572206d7573742062 00002098: PUSH6 0x20616e206164 0000209f: PUSH14 0x696e20746f206772616e7443616c 000020ae: PUSH13 0x657220646f6573206e6f742068 000020bc: PUSH2 0x7665 000020bf: KECCAK256 000020c0: PUSH17 0x65726d697373696f6e20746f2077697468 000020d2: PUSH5 0x7261774163 000020d8: PUSH4 0x65737343 000020dd: PUSH16 0x6e74726f6c3a2073656e646572206d75 000020ee: PUSH20 0x7420626520616e2061646d696e20746f20726576 00002103: PUSH16 0x6b65536166654d6174683a206d756c74 00002114: PUSH10 0x706c69636174696f6e20 0000211f: PUSH16 0x766572666c6f77436f6e747261637420 00002130: PUSH10 0x6e7374616e6365206861 0000213b: PUSH20 0x20616c7265616479206265656e20696e69746961 00002150: PUSH13 0x697a6564455448207061796d65 0000215e: PUSH15 0x7420646f6573206e6f74206d617463 0000216e: PUSH9 0x20545255206f726465 00002178: PUSH19 0x43616c6c657220646f6573206e6f7420686176 0000218c: PUSH6 0x207065726d69 00002193: PUSH20 0x73696f6e20746f2077686974656c69737420536f 000021a8: PUSH13 0x76657273416363657373436f6e 000021b6: PUSH21 0x726f6c3a2063616e206f6e6c792072656e6f756e63 000021cc: PUSH6 0x20726f6c6573 000021d3: KECCAK256 000021d4: PUSH7 0x6f722073656c66 000021dc: LOG2 000021dd: PUSH5 0x6970667358 000021e3: UNKNOWN(0x22) 000021e4: SLT 000021e5: KECCAK256 000021e6: UNKNOWN(0xC0) 000021e7: CALLDATASIZE 000021e8: UNKNOWN(0xD8) 000021e9: RETURNDATASIZE 000021ea: STOP 000021eb: UNKNOWN(0xC8) 000021ec: UNKNOWN(0xDA) 000021ed: LOG0 000021ee: PUSH6 0xd4906d007d15 000021f5: UNKNOWN(0x2E) 000021f6: UNKNOWN(0xF7) 000021f7: UNKNOWN(0xAD) 000021f8: SUB 000021f9: SLOAD 000021fa: DUP1 000021fb: MSTORE8 000021fc: PUSH13 0x8f7786883661e1e85964736f6c 0000220a: PUSH4 0x4300060a 0000220f: STOP 00002210: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x14580b525f8a62672e38aff425bf0b3e281faa410d3704903e5cd512e9b39be4
call_targets:
0xc186e6f0163e21be057e95aa135edd52508d14d3
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x14580b525f8a62672e38aff425bf0b3e281faa410d3704903e5cd512e9b39be4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc186e6f0163e21be057e95aa135edd52508d14d3"
],
"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": "0xe2787405",
"selector": "0xe2787405",
"calldata_variants": [
"0xe2787405",
"0xe27874050000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec58f4b8",
"selector": "0xec58f4b8",
"calldata_variants": [
"0xec58f4b8",
"0xec58f4b80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc22290b",
"selector": "0xfc22290b",
"calldata_variants": [
"0xfc22290b",
"0xfc22290b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeb9bf89",
"selector": "0xfeb9bf89",
"calldata_variants": [
"0xfeb9bf89",
"0xfeb9bf890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdb5c0f79",
"selector": "0xdb5c0f79",
"calldata_variants": [
"0xdb5c0f79",
"0xdb5c0f790000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3992,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4695,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4872,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x14580b525f8a62672e38aff425bf0b3e281faa410d3704903e5cd512e9b39be4
call_targets:
0xc186e6f0163e21be057e95aa135edd52508d14d3
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x14580b525f8a62672e38aff425bf0b3e281faa410d3704903e5cd512e9b39be4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc186e6f0163e21be057e95aa135edd52508d14d3"
],
"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": "0xe2787405",
"selector": "0xe2787405",
"calldata_variants": [
"0xe2787405",
"0xe27874050000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec58f4b8",
"selector": "0xec58f4b8",
"calldata_variants": [
"0xec58f4b8",
"0xec58f4b80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc22290b",
"selector": "0xfc22290b",
"calldata_variants": [
"0xfc22290b",
"0xfc22290b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeb9bf89",
"selector": "0xfeb9bf89",
"calldata_variants": [
"0xfeb9bf89",
"0xfeb9bf890000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdb5c0f79",
"selector": "0xdb5c0f79",
"calldata_variants": [
"0xdb5c0f79",
"0xdb5c0f790000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe086e5ec",
"selector": "0xe086e5ec",
"calldata_variants": [
"0xe086e5ec",
"0xe086e5ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa217fddf",
"selector": "0xa217fddf",
"calldata_variants": [
"0xa217fddf",
"0xa217fddf0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3992,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4695,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4872,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| medium | other | codex | Computed external CALLs (some with ETH value) can be dangerous if target is attacker-controlled | 75 | no | — |
viewevidence_json{
"evidence": "Detector reports 5 CALL sites with computed targets/values and no guards detected. CALL sites at pc 3992, 4695, 4872, 4948, 6009; `returndata_checked` is null. Validation trace did not confirm a varying target (classified constant_target, confirmed=false), so attacker control is uncertain.",
"locations": [
"pc:3992",
"pc:4695",
"pc:4872",
"pc:4948",
"pc:6009"
],
"recommendation": "Constrain call targets to trusted/allowlisted addresses, make critical targets immutable or tightly access-controlled, and add reentrancy guards around state-changing flows that execute low-level CALLs with value. Also validate return data where applicable (e.g., ERC20 calls).",
"exploit_scenario": "If any call target is derived from user input or a privileged storage slot that can be mis-set (e.g., token/recipient address), an attacker can point it to a malicious contract and trigger the CALL sites to execute arbitrary code and potentially reenter or drain ETH before state is finalized."
}
|
| 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": 9
}
|