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

Analysis Run

019ba9e0-be62-7229-9471-8381484dc66b

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 9:47 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38145 artifact.fetch complete 1 / 3 3 months ago
38146 proxy.resolve complete 1 / 3 3 months ago
38147 tool.cast_disasm complete 1 / 3 3 months ago
38148 analysis.bundle complete 1 / 3 3 months ago
38149 capability.graph complete 1 / 3 3 months ago
38150 detector.run complete 1 / 3 3 months ago
38151 validation.fork complete 1 / 3 3 months ago
38197 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Bytecode indicates 7 low-level CALL sites with computed target/value and multiple msg.sender==0xffff… guards; no delegatecall or proxy patterns observed, but external-call safety and hardcoded access control deserve review.
View stdout
{"no_findings":false,"summary":"Bytecode indicates 7 low-level CALL sites with computed target/value and multiple msg.sender==0xffff… guards; no delegatecall or proxy patterns observed, but external-call safety and hardcoded access control deserve review.","findings":[{"severity":"low","category":"reentrancy","title":"Potential untrusted external CALL surface (computed target/value) with uncertain return-data handling","exploit_scenario":"If any CALL target can be influenced by users or points to an untrusted contract, a malicious callee could reenter or otherwise manipulate state around the call. The bytecode shows low-level CALLs with computed target/value, and return-data handling is not clearly evidenced; this can enable reentrancy or silent failure patterns depending on the surrounding state updates.","recommendation":"Restrict/whitelist call targets and add explicit reentrancy protection (checks-effects-interactions or a guard) around state-changing logic. If these are token calls, decode and validate return data instead of relying only on CALL success.","evidence":"Calls listed at pc 2117/2741/3335/3778/3999/4811/5439 with target/value marked computed; detector notes 7 CALLs and returndata_checked=null. Validation suggests constant target, so untrusted reachability is uncertain.","locations":["pc:0x845","pc:0xab5","pc:0xd07","pc:0xec2","pc:0xf9f","pc:0x12cb","pc:0x153f"]},{"severity":"low","category":"access_control","title":"Hardcoded msg.sender==0xffff… guards may lock privileged actions or rely on an unreachable admin","exploit_scenario":"Guards compare msg.sender to the constant 0xffff… address. If these gates protect admin-only functions (e.g., ownership/withdrawal), access could be permanently locked, preventing emergency actions. Conversely, if that address is ever controlled, it would gain privileged access. The intent is unclear from bytecode alone.","recommendation":"Ensure privileged checks reference a configurable storage owner/admin rather than a hardcoded constant, or explicitly document that admin is permanently renounced. If renounced, verify no critical functionality depends on these paths.","evidence":"Auth guards detected as msg_sender_eq_const with value 0xffffffffffffffffffffffffffffffffffffffff at multiple PCs.","locations":["pc:0x727","pc:0x8bd","pc:0x9aa","pc:0xb25","pc:0x1028","pc:0x113c","pc:0x133d","pc:0x1419"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-hy7zeyfd
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa7b-d0f9-7b02-95b0-aa6800d7ade5
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

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

thinking
**Preparing to read BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-hy7zeyfd succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-hy7zeyfd succeeded in 7ms:
{
  "analysis_artifact": {
    "address": "0xd0eabb5164c9dba0a2ee508f7e8d91d4d485637c",
    "artifact_hash": "0x411f9ce1748beb8cc08a2c2a12130fc3373385f12ec5cb5566ae5d96e4675997",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 1831,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 2237,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 2474,
            "type": "msg_sender_eq_const",

thinking
**Examining call behavior and sender guards**

I'm analyzing the bytecode to understand call targets and sender checks. It looks like there are self-calls that might affect msg.sender and guard conditions checking against an unusual constant address 0xffff... that could act as a sentinel or placeholder. I want to dig into storage slots next to clarify ownership or freezing mechanisms.
exec
/bin/bash -lc 'rg -n "storage|slot|eip|proxy|delegate" BYTECODE_BUNDLE.json' in /tmp/codex-hy7zeyfd succeeded in 8ms:
5615:            "delegatecall": 0,
5619:          "storage": {
5621:            "slots": [
5625:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
5630:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
5635:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5640:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5645:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
5650:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
5655:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5660:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5665:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
5670:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5675:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5680:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5685:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5690:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5695:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
5700:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
5705:                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"

thinking
**Inspecting callsites in analysis artifact**
exec
/bin/bash -lc 'rg -n "callsites|callsite" BYTECODE_BUNDLE.json' in /tmp/codex-hy7zeyfd succeeded in 6ms:
4439:      "callsites": [
13721:          "type": "callsite"
13727:          "type": "callsite"
13733:          "type": "callsite"
13739:          "type": "callsite"
13745:          "type": "callsite"
13751:          "type": "callsite"
13757:          "type": "callsite"
exec
/bin/bash -lc "sed -n '4400,4505p' BYTECODE_BUNDLE.json" in /tmp/codex-hy7zeyfd succeeded in 6ms:
          "hash": "0x0e90b851130210d1b76e08720bbeddf32ef4a304fb801268755a911a13f80e15",
          "opcodes": [
            "STOP"
          ],
          "start_pc": 5639
        },
        {
          "end_pc": 5670,
          "hash": "0xb3090db133538977eafa188f115e679ed3aceae1c4e86ddfddf20dfb0d91f15b",
          "opcodes": [
            "OP_A1",
            "PUSH6",
            "SHA3",
            "SIGNEXTEND",
            "OP_84",
            "OP_28",
            "OP_DF",
            "OP_B7",
            "CALLDATACOPY",
            "ISZERO",

thinking
**Investigating callsites and evidence references**
exec
/bin/bash -lc 'rg -n "evidence|bundle|trace|returndata|return" BYTECODE_BUNDLE.json' in /tmp/codex-hy7zeyfd succeeded in 22ms:
4443:          "returndata_checked": null,
4450:          "returndata_checked": null,
4457:          "returndata_checked": null,
4464:          "returndata_checked": null,
4471:          "returndata_checked": null,
4478:          "returndata_checked": null,
4485:          "returndata_checked": null,
10970:      "proxy_evidence": {
13899:      "evidence_json": {
13905:            "returndata_checked": null,
13912:            "returndata_checked": null,
13919:            "returndata_checked": null,
13986:        "trace_id": "0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192",
13987:        "trace_mode": "callTracer"
13992:      "evidence_json": {
13998:            "returndata_checked": null,
14005:            "returndata_checked": null,
14012:            "returndata_checked": null,
14079:        "trace_id": "0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192",
14080:        "trace_mode": "callTracer"

thinking
**Analyzing contract security artifacts**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
p=Path('BYTECODE_BUNDLE.json')
obj=json.loads(p.read_text())
blocks=obj['analysis_artifact']['artifact_json']['basic_blocks']
call_blocks=[b for b in blocks if 'CALL' in b.get('opcodes',[])]
print('call_blocks',len(call_blocks))
for b in call_blocks:
    print(b['start_pc'],b['end_pc'],b['opcodes'])
PY" in /tmp/codex-hy7zeyfd succeeded in 39ms:
call_blocks 7
2114 2124 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
2738 2748 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
3332 3342 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
3775 3785 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
3996 4006 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
4808 4818 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
5436 5446 ['JUMPDEST', 'POP', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']

thinking
**Analyzing external CALL patterns and risks**
exec
/bin/bash -lc "python - <<'PY'
pcs=[2117,2741,3335,3778,3999,4811,5439]
print([hex(p) for p in pcs])
PY" in /tmp/codex-hy7zeyfd succeeded in 24ms:
['0x845', '0xab5', '0xd07', '0xec2', '0xf9f', '0x12cb', '0x153f']

thinking
**Converting guard program counters**
exec
/bin/bash -lc "python - <<'PY'
pcs=[1831,2237,2474,2853,4136,4412,4925,5145]
print([hex(p) for p in pcs])
PY" in /tmp/codex-hy7zeyfd succeeded in 18ms:
['0x727', '0x8bd', '0x9aa', '0xb25', '0x1028', '0x113c', '0x133d', '0x1419']

thinking
**Composing detailed findings and summary**

I'm putting together detailed findings with severity and categories like access_control and reentrancy, including evidence referencing specific call locations and detectors. I’m also crafting a concise summary of bytecode behavior with CALLs and msg.sender guards, ensuring the final JSON output matches the required schema and uses precise double-quoted strings without trailing commas.
codex
{"no_findings":false,"summary":"Bytecode indicates 7 low-level CALL sites with computed target/value and multiple msg.sender==0xffff… guards; no delegatecall or proxy patterns observed, but external-call safety and hardcoded access control deserve review.","findings":[{"severity":"low","category":"reentrancy","title":"Potential untrusted external CALL surface (computed target/value) with uncertain return-data handling","exploit_scenario":"If any CALL target can be influenced by users or points to an untrusted contract, a malicious callee could reenter or otherwise manipulate state around the call. The bytecode shows low-level CALLs with computed target/value, and return-data handling is not clearly evidenced; this can enable reentrancy or silent failure patterns depending on the surrounding state updates.","recommendation":"Restrict/whitelist call targets and add explicit reentrancy protection (checks-effects-interactions or a guard) around state-changing logic. If these are token calls, decode and validate return data instead of relying only on CALL success.","evidence":"Calls listed at pc 2117/2741/3335/3778/3999/4811/5439 with target/value marked computed; detector notes 7 CALLs and returndata_checked=null. Validation suggests constant target, so untrusted reachability is uncertain.","locations":["pc:0x845","pc:0xab5","pc:0xd07","pc:0xec2","pc:0xf9f","pc:0x12cb","pc:0x153f"]},{"severity":"low","category":"access_control","title":"Hardcoded msg.sender==0xffff… guards may lock privileged actions or rely on an unreachable admin","exploit_scenario":"Guards compare msg.sender to the constant 0xffff… address. If these gates protect admin-only functions (e.g., ownership/withdrawal), access could be permanently locked, preventing emergency actions. Conversely, if that address is ever controlled, it would gain privileged access. The intent is unclear from bytecode alone.","recommendation":"Ensure privileged checks reference a configurable storage owner/admin rather than a hardcoded constant, or explicitly document that admin is permanently renounced. If renounced, verify no critical functionality depends on these paths.","evidence":"Auth guards detected as msg_sender_eq_const with value 0xffffffffffffffffffffffffffffffffffffffff at multiple PCs.","locations":["pc:0x727","pc:0x8bd","pc:0x9aa","pc:0xb25","pc:0x1028","pc:0x113c","pc:0x133d","pc:0x1419"]}]}
tokens used
90,270
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T00:38:41.408010+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 11368,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode indicates 7 low-level CALL sites with computed target/value and multiple msg.sender==0xffff\u2026 guards; no delegatecall or proxy patterns observed, but external-call safety and hardcoded access control deserve review.",
    "raw_final": {
        "summary": "Bytecode indicates 7 low-level CALL sites with computed target/value and multiple msg.sender==0xffff\u2026 guards; no delegatecall or proxy patterns observed, but external-call safety and hardcoded access control deserve review.",
        "findings": [
            {
                "title": "Potential untrusted external CALL surface (computed target/value) with uncertain return-data handling",
                "category": "reentrancy",
                "evidence": "Calls listed at pc 2117/2741/3335/3778/3999/4811/5439 with target/value marked computed; detector notes 7 CALLs and returndata_checked=null. Validation suggests constant target, so untrusted reachability is uncertain.",
                "severity": "low",
                "locations": [
                    "pc:0x845",
                    "pc:0xab5",
                    "pc:0xd07",
                    "pc:0xec2",
                    "pc:0xf9f",
                    "pc:0x12cb",
                    "pc:0x153f"
                ],
                "recommendation": "Restrict/whitelist call targets and add explicit reentrancy protection (checks-effects-interactions or a guard) around state-changing logic. If these are token calls, decode and validate return data instead of relying only on CALL success.",
                "exploit_scenario": "If any CALL target can be influenced by users or points to an untrusted contract, a malicious callee could reenter or otherwise manipulate state around the call. The bytecode shows low-level CALLs with computed target/value, and return-data handling is not clearly evidenced; this can enable reentrancy or silent failure patterns depending on the surrounding state updates."
            },
            {
                "title": "Hardcoded msg.sender==0xffff\u2026 guards may lock privileged actions or rely on an unreachable admin",
                "category": "access_control",
                "evidence": "Auth guards detected as msg_sender_eq_const with value 0xffffffffffffffffffffffffffffffffffffffff at multiple PCs.",
                "severity": "low",
                "locations": [
                    "pc:0x727",
                    "pc:0x8bd",
                    "pc:0x9aa",
                    "pc:0xb25",
                    "pc:0x1028",
                    "pc:0x113c",
                    "pc:0x133d",
                    "pc:0x1419"
                ],
                "recommendation": "Ensure privileged checks reference a configurable storage owner/admin rather than a hardcoded constant, or explicitly document that admin is permanently renounced. If renounced, verify no critical functionality depends on these paths.",
                "exploit_scenario": "Guards compare msg.sender to the constant 0xffff\u2026 address. If these gates protect admin-only functions (e.g., ownership/withdrawal), access could be permanently locked, preventing emergency actions. Conversely, if that address is ever controlled, it would gain privileged access. The intent is unclear from bytecode alone."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
7
Total opcodes
2826
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0112
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x06fdde03
0000003c: EQ
0000003d: PUSH2 0x0117
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x1659bbeb
00000047: EQ
00000048: PUSH2 0x01a7
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x3e118dbe
00000052: EQ
00000053: PUSH2 0x01ec
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x3f4ba83a
0000005d: EQ
0000005e: PUSH2 0x0217
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x41e61ad1
00000068: EQ
00000069: PUSH2 0x022e
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x543fcf03
00000073: EQ
00000074: PUSH2 0x0259
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x560b65f7
0000007e: EQ
0000007f: PUSH2 0x02b0
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x5c975abb
00000089: EQ
0000008a: PUSH2 0x02f5
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x6c672842
00000094: EQ
00000095: PUSH2 0x0324
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x8456cb59
0000009f: EQ
000000a0: PUSH2 0x034f
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x899de21a
000000aa: EQ
000000ab: PUSH2 0x0366
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x8da5cb5b
000000b5: EQ
000000b6: PUSH2 0x03ab
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x946ca295
000000c0: EQ
000000c1: PUSH2 0x0402
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0xcf947f9f
000000cb: EQ
000000cc: PUSH2 0x0467
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0xd7d0a094
000000d6: EQ
000000d7: PUSH2 0x0492
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0xdead610a
000000e1: EQ
000000e2: PUSH2 0x04e1
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0xe571c1ac
000000ec: EQ
000000ed: PUSH2 0x053c
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0xef50d4a2
000000f7: EQ
000000f8: PUSH2 0x0581
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xf2fde38b
00000102: EQ
00000103: PUSH2 0x05c6
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xfbfb122c
0000010d: EQ
0000010e: PUSH2 0x0609
00000111: JUMPI
00000112: JUMPDEST
00000113: PUSH1 0x00
00000115: DUP1
00000116: REVERT
00000117: JUMPDEST
00000118: CALLVALUE
00000119: DUP1
0000011a: ISZERO
0000011b: PUSH2 0x0123
0000011e: JUMPI
0000011f: PUSH1 0x00
00000121: DUP1
00000122: REVERT
00000123: JUMPDEST
00000124: POP
00000125: PUSH2 0x012c
00000128: PUSH2 0x064e
0000012b: JUMP
0000012c: JUMPDEST
0000012d: PUSH1 0x40
0000012f: MLOAD
00000130: DUP1
00000131: DUP1
00000132: PUSH1 0x20
00000134: ADD
00000135: DUP3
00000136: DUP2
00000137: SUB
00000138: DUP3
00000139: MSTORE
0000013a: DUP4
0000013b: DUP2
0000013c: DUP2
0000013d: MLOAD
0000013e: DUP2
0000013f: MSTORE
00000140: PUSH1 0x20
00000142: ADD
00000143: SWAP2
00000144: POP
00000145: DUP1
00000146: MLOAD
00000147: SWAP1
00000148: PUSH1 0x20
0000014a: ADD
0000014b: SWAP1
0000014c: DUP1
0000014d: DUP4
0000014e: DUP4
0000014f: PUSH1 0x00
00000151: JUMPDEST
00000152: DUP4
00000153: DUP2
00000154: LT
00000155: ISZERO
00000156: PUSH2 0x016c
00000159: JUMPI
0000015a: DUP1
0000015b: DUP3
0000015c: ADD
0000015d: MLOAD
0000015e: DUP2
0000015f: DUP5
00000160: ADD
00000161: MSTORE
00000162: PUSH1 0x20
00000164: DUP2
00000165: ADD
00000166: SWAP1
00000167: POP
00000168: PUSH2 0x0151
0000016b: JUMP
0000016c: JUMPDEST
0000016d: POP
0000016e: POP
0000016f: POP
00000170: POP
00000171: SWAP1
00000172: POP
00000173: SWAP1
00000174: DUP2
00000175: ADD
00000176: SWAP1
00000177: PUSH1 0x1f
00000179: AND
0000017a: DUP1
0000017b: ISZERO
0000017c: PUSH2 0x0199
0000017f: JUMPI
00000180: DUP1
00000181: DUP3
00000182: SUB
00000183: DUP1
00000184: MLOAD
00000185: PUSH1 0x01
00000187: DUP4
00000188: PUSH1 0x20
0000018a: SUB
0000018b: PUSH2 0x0100
0000018e: EXP
0000018f: SUB
00000190: NOT
00000191: AND
00000192: DUP2
00000193: MSTORE
00000194: PUSH1 0x20
00000196: ADD
00000197: SWAP2
00000198: POP
00000199: JUMPDEST
0000019a: POP
0000019b: SWAP3
0000019c: POP
0000019d: POP
0000019e: POP
0000019f: PUSH1 0x40
000001a1: MLOAD
000001a2: DUP1
000001a3: SWAP2
000001a4: SUB
000001a5: SWAP1
000001a6: RETURN
000001a7: JUMPDEST
000001a8: CALLVALUE
000001a9: DUP1
000001aa: ISZERO
000001ab: PUSH2 0x01b3
000001ae: JUMPI
000001af: PUSH1 0x00
000001b1: DUP1
000001b2: REVERT
000001b3: JUMPDEST
000001b4: POP
000001b5: PUSH2 0x01d2
000001b8: PUSH1 0x04
000001ba: DUP1
000001bb: CALLDATASIZE
000001bc: SUB
000001bd: DUP2
000001be: ADD
000001bf: SWAP1
000001c0: DUP1
000001c1: DUP1
000001c2: CALLDATALOAD
000001c3: SWAP1
000001c4: PUSH1 0x20
000001c6: ADD
000001c7: SWAP1
000001c8: SWAP3
000001c9: SWAP2
000001ca: SWAP1
000001cb: POP
000001cc: POP
000001cd: POP
000001ce: PUSH2 0x06ec
000001d1: JUMP
000001d2: JUMPDEST
000001d3: PUSH1 0x40
000001d5: MLOAD
000001d6: DUP1
000001d7: DUP3
000001d8: ISZERO
000001d9: ISZERO
000001da: ISZERO
000001db: ISZERO
000001dc: DUP2
000001dd: MSTORE
000001de: PUSH1 0x20
000001e0: ADD
000001e1: SWAP2
000001e2: POP
000001e3: POP
000001e4: PUSH1 0x40
000001e6: MLOAD
000001e7: DUP1
000001e8: SWAP2
000001e9: SUB
000001ea: SWAP1
000001eb: RETURN
000001ec: JUMPDEST
000001ed: CALLVALUE
000001ee: DUP1
000001ef: ISZERO
000001f0: PUSH2 0x01f8
000001f3: JUMPI
000001f4: PUSH1 0x00
000001f6: DUP1
000001f7: REVERT
000001f8: JUMPDEST
000001f9: POP
000001fa: PUSH2 0x0201
000001fd: PUSH2 0x087e
00000200: JUMP
00000201: JUMPDEST
00000202: PUSH1 0x40
00000204: MLOAD
00000205: DUP1
00000206: DUP3
00000207: DUP2
00000208: MSTORE
00000209: PUSH1 0x20
0000020b: ADD
0000020c: SWAP2
0000020d: POP
0000020e: POP
0000020f: PUSH1 0x40
00000211: MLOAD
00000212: DUP1
00000213: SWAP2
00000214: SUB
00000215: SWAP1
00000216: RETURN
00000217: JUMPDEST
00000218: CALLVALUE
00000219: DUP1
0000021a: ISZERO
0000021b: PUSH2 0x0223
0000021e: JUMPI
0000021f: PUSH1 0x00
00000221: DUP1
00000222: REVERT
00000223: JUMPDEST
00000224: POP
00000225: PUSH2 0x022c
00000228: PUSH2 0x0884
0000022b: JUMP
0000022c: JUMPDEST
0000022d: STOP
0000022e: JUMPDEST
0000022f: CALLVALUE
00000230: DUP1
00000231: ISZERO
00000232: PUSH2 0x023a
00000235: JUMPI
00000236: PUSH1 0x00
00000238: DUP1
00000239: REVERT
0000023a: JUMPDEST
0000023b: POP
0000023c: PUSH2 0x0243
0000023f: PUSH2 0x0943
00000242: JUMP
00000243: JUMPDEST
00000244: PUSH1 0x40
00000246: MLOAD
00000247: DUP1
00000248: DUP3
00000249: DUP2
0000024a: MSTORE
0000024b: PUSH1 0x20
0000024d: ADD
0000024e: SWAP2
0000024f: POP
00000250: POP
00000251: PUSH1 0x40
00000253: MLOAD
00000254: DUP1
00000255: SWAP2
00000256: SUB
00000257: SWAP1
00000258: RETURN
00000259: JUMPDEST
0000025a: CALLVALUE
0000025b: DUP1
0000025c: ISZERO
0000025d: PUSH2 0x0265
00000260: JUMPI
00000261: PUSH1 0x00
00000263: DUP1
00000264: REVERT
00000265: JUMPDEST
00000266: POP
00000267: PUSH2 0x026e
0000026a: PUSH2 0x0949
0000026d: JUMP
0000026e: JUMPDEST
0000026f: PUSH1 0x40
00000271: MLOAD
00000272: DUP1
00000273: DUP3
00000274: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000289: AND
0000028a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000029f: AND
000002a0: DUP2
000002a1: MSTORE
000002a2: PUSH1 0x20
000002a4: ADD
000002a5: SWAP2
000002a6: POP
000002a7: POP
000002a8: PUSH1 0x40
000002aa: MLOAD
000002ab: DUP1
000002ac: SWAP2
000002ad: SUB
000002ae: SWAP1
000002af: RETURN
000002b0: JUMPDEST
000002b1: CALLVALUE
000002b2: DUP1
000002b3: ISZERO
000002b4: PUSH2 0x02bc
000002b7: JUMPI
000002b8: PUSH1 0x00
000002ba: DUP1
000002bb: REVERT
000002bc: JUMPDEST
000002bd: POP
000002be: PUSH2 0x02db
000002c1: PUSH1 0x04
000002c3: DUP1
000002c4: CALLDATASIZE
000002c5: SUB
000002c6: DUP2
000002c7: ADD
000002c8: SWAP1
000002c9: DUP1
000002ca: DUP1
000002cb: CALLDATALOAD
000002cc: SWAP1
000002cd: PUSH1 0x20
000002cf: ADD
000002d0: SWAP1
000002d1: SWAP3
000002d2: SWAP2
000002d3: SWAP1
000002d4: POP
000002d5: POP
000002d6: POP
000002d7: PUSH2 0x096f
000002da: JUMP
000002db: JUMPDEST
000002dc: PUSH1 0x40
000002de: MLOAD
000002df: DUP1
000002e0: DUP3
000002e1: ISZERO
000002e2: ISZERO
000002e3: ISZERO
000002e4: ISZERO
000002e5: DUP2
000002e6: MSTORE
000002e7: PUSH1 0x20
000002e9: ADD
000002ea: SWAP2
000002eb: POP
000002ec: POP
000002ed: PUSH1 0x40
000002ef: MLOAD
000002f0: DUP1
000002f1: SWAP2
000002f2: SUB
000002f3: SWAP1
000002f4: RETURN
000002f5: JUMPDEST
000002f6: CALLVALUE
000002f7: DUP1
000002f8: ISZERO
000002f9: PUSH2 0x0301
000002fc: JUMPI
000002fd: PUSH1 0x00
000002ff: DUP1
00000300: REVERT
00000301: JUMPDEST
00000302: POP
00000303: PUSH2 0x030a
00000306: PUSH2 0x0ad3
00000309: JUMP
0000030a: JUMPDEST
0000030b: PUSH1 0x40
0000030d: MLOAD
0000030e: DUP1
0000030f: DUP3
00000310: ISZERO
00000311: ISZERO
00000312: ISZERO
00000313: ISZERO
00000314: DUP2
00000315: MSTORE
00000316: PUSH1 0x20
00000318: ADD
00000319: SWAP2
0000031a: POP
0000031b: POP
0000031c: PUSH1 0x40
0000031e: MLOAD
0000031f: DUP1
00000320: SWAP2
00000321: SUB
00000322: SWAP1
00000323: RETURN
00000324: JUMPDEST
00000325: CALLVALUE
00000326: DUP1
00000327: ISZERO
00000328: PUSH2 0x0330
0000032b: JUMPI
0000032c: PUSH1 0x00
0000032e: DUP1
0000032f: REVERT
00000330: JUMPDEST
00000331: POP
00000332: PUSH2 0x0339
00000335: PUSH2 0x0ae6
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH1 0x40
0000033c: MLOAD
0000033d: DUP1
0000033e: DUP3
0000033f: DUP2
00000340: MSTORE
00000341: PUSH1 0x20
00000343: ADD
00000344: SWAP2
00000345: POP
00000346: POP
00000347: PUSH1 0x40
00000349: MLOAD
0000034a: DUP1
0000034b: SWAP2
0000034c: SUB
0000034d: SWAP1
0000034e: RETURN
0000034f: JUMPDEST
00000350: CALLVALUE
00000351: DUP1
00000352: ISZERO
00000353: PUSH2 0x035b
00000356: JUMPI
00000357: PUSH1 0x00
00000359: DUP1
0000035a: REVERT
0000035b: JUMPDEST
0000035c: POP
0000035d: PUSH2 0x0364
00000360: PUSH2 0x0aec
00000363: JUMP
00000364: JUMPDEST
00000365: STOP
00000366: JUMPDEST
00000367: CALLVALUE
00000368: DUP1
00000369: ISZERO
0000036a: PUSH2 0x0372
0000036d: JUMPI
0000036e: PUSH1 0x00
00000370: DUP1
00000371: REVERT
00000372: JUMPDEST
00000373: POP
00000374: PUSH2 0x0391
00000377: PUSH1 0x04
00000379: DUP1
0000037a: CALLDATASIZE
0000037b: SUB
0000037c: DUP2
0000037d: ADD
0000037e: SWAP1
0000037f: DUP1
00000380: DUP1
00000381: CALLDATALOAD
00000382: SWAP1
00000383: PUSH1 0x20
00000385: ADD
00000386: SWAP1
00000387: SWAP3
00000388: SWAP2
00000389: SWAP1
0000038a: POP
0000038b: POP
0000038c: POP
0000038d: PUSH2 0x0bac
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH1 0x40
00000394: MLOAD
00000395: DUP1
00000396: DUP3
00000397: ISZERO
00000398: ISZERO
00000399: ISZERO
0000039a: ISZERO
0000039b: DUP2
0000039c: MSTORE
0000039d: PUSH1 0x20
0000039f: ADD
000003a0: SWAP2
000003a1: POP
000003a2: POP
000003a3: PUSH1 0x40
000003a5: MLOAD
000003a6: DUP1
000003a7: SWAP2
000003a8: SUB
000003a9: SWAP1
000003aa: RETURN
000003ab: JUMPDEST
000003ac: CALLVALUE
000003ad: DUP1
000003ae: ISZERO
000003af: PUSH2 0x03b7
000003b2: JUMPI
000003b3: PUSH1 0x00
000003b5: DUP1
000003b6: REVERT
000003b7: JUMPDEST
000003b8: POP
000003b9: PUSH2 0x03c0
000003bc: PUSH2 0x0d40
000003bf: JUMP
000003c0: JUMPDEST
000003c1: PUSH1 0x40
000003c3: MLOAD
000003c4: DUP1
000003c5: DUP3
000003c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003db: AND
000003dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003f1: AND
000003f2: DUP2
000003f3: MSTORE
000003f4: PUSH1 0x20
000003f6: ADD
000003f7: SWAP2
000003f8: POP
000003f9: POP
000003fa: PUSH1 0x40
000003fc: MLOAD
000003fd: DUP1
000003fe: SWAP2
000003ff: SUB
00000400: SWAP1
00000401: RETURN
00000402: JUMPDEST
00000403: CALLVALUE
00000404: DUP1
00000405: ISZERO
00000406: PUSH2 0x040e
00000409: JUMPI
0000040a: PUSH1 0x00
0000040c: DUP1
0000040d: REVERT
0000040e: JUMPDEST
0000040f: POP
00000410: PUSH2 0x044d
00000413: PUSH1 0x04
00000415: DUP1
00000416: CALLDATASIZE
00000417: SUB
00000418: DUP2
00000419: ADD
0000041a: SWAP1
0000041b: DUP1
0000041c: DUP1
0000041d: CALLDATALOAD
0000041e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000433: AND
00000434: SWAP1
00000435: PUSH1 0x20
00000437: ADD
00000438: SWAP1
00000439: SWAP3
0000043a: SWAP2
0000043b: SWAP1
0000043c: DUP1
0000043d: CALLDATALOAD
0000043e: SWAP1
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP1
00000443: SWAP3
00000444: SWAP2
00000445: SWAP1
00000446: POP
00000447: POP
00000448: POP
00000449: PUSH2 0x0d65
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH1 0x40
00000450: MLOAD
00000451: DUP1
00000452: DUP3
00000453: ISZERO
00000454: ISZERO
00000455: ISZERO
00000456: ISZERO
00000457: DUP2
00000458: MSTORE
00000459: PUSH1 0x20
0000045b: ADD
0000045c: SWAP2
0000045d: POP
0000045e: POP
0000045f: PUSH1 0x40
00000461: MLOAD
00000462: DUP1
00000463: SWAP2
00000464: SUB
00000465: SWAP1
00000466: RETURN
00000467: JUMPDEST
00000468: CALLVALUE
00000469: DUP1
0000046a: ISZERO
0000046b: PUSH2 0x0473
0000046e: JUMPI
0000046f: PUSH1 0x00
00000471: DUP1
00000472: REVERT
00000473: JUMPDEST
00000474: POP
00000475: PUSH2 0x047c
00000478: PUSH2 0x0fbe
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: DUP1
00000481: DUP3
00000482: DUP2
00000483: MSTORE
00000484: PUSH1 0x20
00000486: ADD
00000487: SWAP2
00000488: POP
00000489: POP
0000048a: PUSH1 0x40
0000048c: MLOAD
0000048d: DUP1
0000048e: SWAP2
0000048f: SUB
00000490: SWAP1
00000491: RETURN
00000492: JUMPDEST
00000493: CALLVALUE
00000494: DUP1
00000495: ISZERO
00000496: PUSH2 0x049e
00000499: JUMPI
0000049a: PUSH1 0x00
0000049c: DUP1
0000049d: REVERT
0000049e: JUMPDEST
0000049f: POP
000004a0: PUSH2 0x04df
000004a3: PUSH1 0x04
000004a5: DUP1
000004a6: CALLDATASIZE
000004a7: SUB
000004a8: DUP2
000004a9: ADD
000004aa: SWAP1
000004ab: DUP1
000004ac: DUP1
000004ad: CALLDATALOAD
000004ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c3: AND
000004c4: SWAP1
000004c5: PUSH1 0x20
000004c7: ADD
000004c8: SWAP1
000004c9: SWAP3
000004ca: SWAP2
000004cb: SWAP1
000004cc: DUP1
000004cd: CALLDATALOAD
000004ce: ISZERO
000004cf: ISZERO
000004d0: SWAP1
000004d1: PUSH1 0x20
000004d3: ADD
000004d4: SWAP1
000004d5: SWAP3
000004d6: SWAP2
000004d7: SWAP1
000004d8: POP
000004d9: POP
000004da: POP
000004db: PUSH2 0x0fef
000004de: JUMP
000004df: JUMPDEST
000004e0: STOP
000004e1: JUMPDEST
000004e2: CALLVALUE
000004e3: DUP1
000004e4: ISZERO
000004e5: PUSH2 0x04ed
000004e8: JUMPI
000004e9: PUSH1 0x00
000004eb: DUP1
000004ec: REVERT
000004ed: JUMPDEST
000004ee: POP
000004ef: PUSH2 0x0522
000004f2: PUSH1 0x04
000004f4: DUP1
000004f5: CALLDATASIZE
000004f6: SUB
000004f7: DUP2
000004f8: ADD
000004f9: SWAP1
000004fa: DUP1
000004fb: DUP1
000004fc: CALLDATALOAD
000004fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000512: AND
00000513: SWAP1
00000514: PUSH1 0x20
00000516: ADD
00000517: SWAP1
00000518: SWAP3
00000519: SWAP2
0000051a: SWAP1
0000051b: POP
0000051c: POP
0000051d: POP
0000051e: PUSH2 0x10e1
00000521: JUMP
00000522: JUMPDEST
00000523: PUSH1 0x40
00000525: MLOAD
00000526: DUP1
00000527: DUP3
00000528: ISZERO
00000529: ISZERO
0000052a: ISZERO
0000052b: ISZERO
0000052c: DUP2
0000052d: MSTORE
0000052e: PUSH1 0x20
00000530: ADD
00000531: SWAP2
00000532: POP
00000533: POP
00000534: PUSH1 0x40
00000536: MLOAD
00000537: DUP1
00000538: SWAP2
00000539: SUB
0000053a: SWAP1
0000053b: RETURN
0000053c: JUMPDEST
0000053d: CALLVALUE
0000053e: DUP1
0000053f: ISZERO
00000540: PUSH2 0x0548
00000543: JUMPI
00000544: PUSH1 0x00
00000546: DUP1
00000547: REVERT
00000548: JUMPDEST
00000549: POP
0000054a: PUSH2 0x0567
0000054d: PUSH1 0x04
0000054f: DUP1
00000550: CALLDATASIZE
00000551: SUB
00000552: DUP2
00000553: ADD
00000554: SWAP1
00000555: DUP1
00000556: DUP1
00000557: CALLDATALOAD
00000558: SWAP1
00000559: PUSH1 0x20
0000055b: ADD
0000055c: SWAP1
0000055d: SWAP3
0000055e: SWAP2
0000055f: SWAP1
00000560: POP
00000561: POP
00000562: POP
00000563: PUSH2 0x1101
00000566: JUMP
00000567: JUMPDEST
00000568: PUSH1 0x40
0000056a: MLOAD
0000056b: DUP1
0000056c: DUP3
0000056d: ISZERO
0000056e: ISZERO
0000056f: ISZERO
00000570: ISZERO
00000571: DUP2
00000572: MSTORE
00000573: PUSH1 0x20
00000575: ADD
00000576: SWAP2
00000577: POP
00000578: POP
00000579: PUSH1 0x40
0000057b: MLOAD
0000057c: DUP1
0000057d: SWAP2
0000057e: SUB
0000057f: SWAP1
00000580: RETURN
00000581: JUMPDEST
00000582: CALLVALUE
00000583: DUP1
00000584: ISZERO
00000585: PUSH2 0x058d
00000588: JUMPI
00000589: PUSH1 0x00
0000058b: DUP1
0000058c: REVERT
0000058d: JUMPDEST
0000058e: POP
0000058f: PUSH2 0x05ac
00000592: PUSH1 0x04
00000594: DUP1
00000595: CALLDATASIZE
00000596: SUB
00000597: DUP2
00000598: ADD
00000599: SWAP1
0000059a: DUP1
0000059b: DUP1
0000059c: CALLDATALOAD
0000059d: SWAP1
0000059e: PUSH1 0x20
000005a0: ADD
000005a1: SWAP1
000005a2: SWAP3
000005a3: SWAP2
000005a4: SWAP1
000005a5: POP
000005a6: POP
000005a7: POP
000005a8: PUSH2 0x116e
000005ab: JUMP
000005ac: JUMPDEST
000005ad: PUSH1 0x40
000005af: MLOAD
000005b0: DUP1
000005b1: DUP3
000005b2: ISZERO
000005b3: ISZERO
000005b4: ISZERO
000005b5: ISZERO
000005b6: DUP2
000005b7: MSTORE
000005b8: PUSH1 0x20
000005ba: ADD
000005bb: SWAP2
000005bc: POP
000005bd: POP
000005be: PUSH1 0x40
000005c0: MLOAD
000005c1: DUP1
000005c2: SWAP2
000005c3: SUB
000005c4: SWAP1
000005c5: RETURN
000005c6: JUMPDEST
000005c7: CALLVALUE
000005c8: DUP1
000005c9: ISZERO
000005ca: PUSH2 0x05d2
000005cd: JUMPI
000005ce: PUSH1 0x00
000005d0: DUP1
000005d1: REVERT
000005d2: JUMPDEST
000005d3: POP
000005d4: PUSH2 0x0607
000005d7: PUSH1 0x04
000005d9: DUP1
000005da: CALLDATASIZE
000005db: SUB
000005dc: DUP2
000005dd: ADD
000005de: SWAP1
000005df: DUP1
000005e0: DUP1
000005e1: CALLDATALOAD
000005e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005f7: AND
000005f8: SWAP1
000005f9: PUSH1 0x20
000005fb: ADD
000005fc: SWAP1
000005fd: SWAP3
000005fe: SWAP2
000005ff: SWAP1
00000600: POP
00000601: POP
00000602: POP
00000603: PUSH2 0x1304
00000606: JUMP
00000607: JUMPDEST
00000608: STOP
00000609: JUMPDEST
0000060a: CALLVALUE
0000060b: DUP1
0000060c: ISZERO
0000060d: PUSH2 0x0615
00000610: JUMPI
00000611: PUSH1 0x00
00000613: DUP1
00000614: REVERT
00000615: JUMPDEST
00000616: POP
00000617: PUSH2 0x0634
0000061a: PUSH1 0x04
0000061c: DUP1
0000061d: CALLDATASIZE
0000061e: SUB
0000061f: DUP2
00000620: ADD
00000621: SWAP1
00000622: DUP1
00000623: DUP1
00000624: CALLDATALOAD
00000625: SWAP1
00000626: PUSH1 0x20
00000628: ADD
00000629: SWAP1
0000062a: SWAP3
0000062b: SWAP2
0000062c: SWAP1
0000062d: POP
0000062e: POP
0000062f: POP
00000630: PUSH2 0x13de
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH1 0x40
00000637: MLOAD
00000638: DUP1
00000639: DUP3
0000063a: ISZERO
0000063b: ISZERO
0000063c: ISZERO
0000063d: ISZERO
0000063e: DUP2
0000063f: MSTORE
00000640: PUSH1 0x20
00000642: ADD
00000643: SWAP2
00000644: POP
00000645: POP
00000646: PUSH1 0x40
00000648: MLOAD
00000649: DUP1
0000064a: SWAP2
0000064b: SUB
0000064c: SWAP1
0000064d: RETURN
0000064e: JUMPDEST
0000064f: PUSH1 0x03
00000651: DUP1
00000652: SLOAD
00000653: PUSH1 0x01
00000655: DUP2
00000656: PUSH1 0x01
00000658: AND
00000659: ISZERO
0000065a: PUSH2 0x0100
0000065d: MUL
0000065e: SUB
0000065f: AND
00000660: PUSH1 0x02
00000662: SWAP1
00000663: DIV
00000664: DUP1
00000665: PUSH1 0x1f
00000667: ADD
00000668: PUSH1 0x20
0000066a: DUP1
0000066b: SWAP2
0000066c: DIV
0000066d: MUL
0000066e: PUSH1 0x20
00000670: ADD
00000671: PUSH1 0x40
00000673: MLOAD
00000674: SWAP1
00000675: DUP2
00000676: ADD
00000677: PUSH1 0x40
00000679: MSTORE
0000067a: DUP1
0000067b: SWAP3
0000067c: SWAP2
0000067d: SWAP1
0000067e: DUP2
0000067f: DUP2
00000680: MSTORE
00000681: PUSH1 0x20
00000683: ADD
00000684: DUP3
00000685: DUP1
00000686: SLOAD
00000687: PUSH1 0x01
00000689: DUP2
0000068a: PUSH1 0x01
0000068c: AND
0000068d: ISZERO
0000068e: PUSH2 0x0100
00000691: MUL
00000692: SUB
00000693: AND
00000694: PUSH1 0x02
00000696: SWAP1
00000697: DIV
00000698: DUP1
00000699: ISZERO
0000069a: PUSH2 0x06e4
0000069d: JUMPI
0000069e: DUP1
0000069f: PUSH1 0x1f
000006a1: LT
000006a2: PUSH2 0x06b9
000006a5: JUMPI
000006a6: PUSH2 0x0100
000006a9: DUP1
000006aa: DUP4
000006ab: SLOAD
000006ac: DIV
000006ad: MUL
000006ae: DUP4
000006af: MSTORE
000006b0: SWAP2
000006b1: PUSH1 0x20
000006b3: ADD
000006b4: SWAP2
000006b5: PUSH2 0x06e4
000006b8: JUMP
000006b9: JUMPDEST
000006ba: DUP3
000006bb: ADD
000006bc: SWAP2
000006bd: SWAP1
000006be: PUSH1 0x00
000006c0: MSTORE
000006c1: PUSH1 0x20
000006c3: PUSH1 0x00
000006c5: KECCAK256
000006c6: SWAP1
000006c7: JUMPDEST
000006c8: DUP2
000006c9: SLOAD
000006ca: DUP2
000006cb: MSTORE
000006cc: SWAP1
000006cd: PUSH1 0x01
000006cf: ADD
000006d0: SWAP1
000006d1: PUSH1 0x20
000006d3: ADD
000006d4: DUP1
000006d5: DUP4
000006d6: GT
000006d7: PUSH2 0x06c7
000006da: JUMPI
000006db: DUP3
000006dc: SWAP1
000006dd: SUB
000006de: PUSH1 0x1f
000006e0: AND
000006e1: DUP3
000006e2: ADD
000006e3: SWAP2
000006e4: JUMPDEST
000006e5: POP
000006e6: POP
000006e7: POP
000006e8: POP
000006e9: POP
000006ea: DUP2
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH1 0x00
000006ef: DUP1
000006f0: PUSH1 0x00
000006f2: SWAP1
000006f3: SLOAD
000006f4: SWAP1
000006f5: PUSH2 0x0100
000006f8: EXP
000006f9: SWAP1
000006fa: DIV
000006fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000710: AND
00000711: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000726: AND
00000727: CALLER
00000728: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000073d: AND
0000073e: EQ
0000073f: ISZERO
00000740: ISZERO
00000741: PUSH2 0x0749
00000744: JUMPI
00000745: PUSH1 0x00
00000747: DUP1
00000748: REVERT
00000749: JUMPDEST
0000074a: PUSH1 0x08
0000074c: PUSH1 0x00
0000074e: SWAP1
0000074f: SLOAD
00000750: SWAP1
00000751: PUSH2 0x0100
00000754: EXP
00000755: SWAP1
00000756: DIV
00000757: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000076c: AND
0000076d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000782: AND
00000783: PUSH4 0x23b872dd
00000788: CALLER
00000789: ADDRESS
0000078a: DUP6
0000078b: PUSH1 0x40
0000078d: MLOAD
0000078e: DUP5
0000078f: PUSH4 0xffffffff
00000794: AND
00000795: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000007b3: MUL
000007b4: DUP2
000007b5: MSTORE
000007b6: PUSH1 0x04
000007b8: ADD
000007b9: DUP1
000007ba: DUP5
000007bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007d0: AND
000007d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e6: AND
000007e7: DUP2
000007e8: MSTORE
000007e9: PUSH1 0x20
000007eb: ADD
000007ec: DUP4
000007ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000802: AND
00000803: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000818: AND
00000819: DUP2
0000081a: MSTORE
0000081b: PUSH1 0x20
0000081d: ADD
0000081e: DUP3
0000081f: DUP2
00000820: MSTORE
00000821: PUSH1 0x20
00000823: ADD
00000824: SWAP4
00000825: POP
00000826: POP
00000827: POP
00000828: POP
00000829: PUSH1 0x00
0000082b: PUSH1 0x40
0000082d: MLOAD
0000082e: DUP1
0000082f: DUP4
00000830: SUB
00000831: DUP2
00000832: PUSH1 0x00
00000834: DUP8
00000835: DUP1
00000836: EXTCODESIZE
00000837: ISZERO
00000838: DUP1
00000839: ISZERO
0000083a: PUSH2 0x0842
0000083d: JUMPI
0000083e: PUSH1 0x00
00000840: DUP1
00000841: REVERT
00000842: JUMPDEST
00000843: POP
00000844: GAS
00000845: CALL
00000846: ISZERO
00000847: DUP1
00000848: ISZERO
00000849: PUSH2 0x0856
0000084c: JUMPI
0000084d: RETURNDATASIZE
0000084e: PUSH1 0x00
00000850: DUP1
00000851: RETURNDATACOPY
00000852: RETURNDATASIZE
00000853: PUSH1 0x00
00000855: REVERT
00000856: JUMPDEST
00000857: POP
00000858: POP
00000859: POP
0000085a: POP
0000085b: PUSH2 0x086f
0000085e: DUP3
0000085f: PUSH1 0x04
00000861: SLOAD
00000862: PUSH2 0x155d
00000865: SWAP1
00000866: SWAP2
00000867: SWAP1
00000868: PUSH4 0xffffffff
0000086d: AND
0000086e: JUMP
0000086f: JUMPDEST
00000870: PUSH1 0x04
00000872: DUP2
00000873: SWAP1
00000874: SSTORE
00000875: POP
00000876: PUSH1 0x01
00000878: SWAP1
00000879: POP
0000087a: SWAP2
0000087b: SWAP1
0000087c: POP
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH1 0x06
00000881: SLOAD
00000882: DUP2
00000883: JUMP
00000884: JUMPDEST
00000885: PUSH1 0x00
00000887: DUP1
00000888: SWAP1
00000889: SLOAD
0000088a: SWAP1
0000088b: PUSH2 0x0100
0000088e: EXP
0000088f: SWAP1
00000890: DIV
00000891: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008a6: AND
000008a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008bc: AND
000008bd: CALLER
000008be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d3: AND
000008d4: EQ
000008d5: ISZERO
000008d6: ISZERO
000008d7: PUSH2 0x08df
000008da: JUMPI
000008db: PUSH1 0x00
000008dd: DUP1
000008de: REVERT
000008df: JUMPDEST
000008e0: PUSH1 0x02
000008e2: PUSH1 0x00
000008e4: SWAP1
000008e5: SLOAD
000008e6: SWAP1
000008e7: PUSH2 0x0100
000008ea: EXP
000008eb: SWAP1
000008ec: DIV
000008ed: PUSH1 0xff
000008ef: AND
000008f0: ISZERO
000008f1: ISZERO
000008f2: PUSH2 0x08fa
000008f5: JUMPI
000008f6: PUSH1 0x00
000008f8: DUP1
000008f9: REVERT
000008fa: JUMPDEST
000008fb: PUSH1 0x00
000008fd: PUSH1 0x02
000008ff: PUSH1 0x00
00000901: PUSH2 0x0100
00000904: EXP
00000905: DUP2
00000906: SLOAD
00000907: DUP2
00000908: PUSH1 0xff
0000090a: MUL
0000090b: NOT
0000090c: AND
0000090d: SWAP1
0000090e: DUP4
0000090f: ISZERO
00000910: ISZERO
00000911: MUL
00000912: OR
00000913: SWAP1
00000914: SSTORE
00000915: POP
00000916: PUSH32 0x7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b33
00000937: PUSH1 0x40
00000939: MLOAD
0000093a: PUSH1 0x40
0000093c: MLOAD
0000093d: DUP1
0000093e: SWAP2
0000093f: SUB
00000940: SWAP1
00000941: LOG1
00000942: JUMP
00000943: JUMPDEST
00000944: PUSH1 0x04
00000946: SLOAD
00000947: DUP2
00000948: JUMP
00000949: JUMPDEST
0000094a: PUSH1 0x07
0000094c: PUSH1 0x00
0000094e: SWAP1
0000094f: SLOAD
00000950: SWAP1
00000951: PUSH2 0x0100
00000954: EXP
00000955: SWAP1
00000956: DIV
00000957: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096c: AND
0000096d: DUP2
0000096e: JUMP
0000096f: JUMPDEST
00000970: PUSH1 0x00
00000972: DUP1
00000973: PUSH1 0x00
00000975: SWAP1
00000976: SLOAD
00000977: SWAP1
00000978: PUSH2 0x0100
0000097b: EXP
0000097c: SWAP1
0000097d: DIV
0000097e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000993: AND
00000994: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009a9: AND
000009aa: CALLER
000009ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c0: AND
000009c1: EQ
000009c2: ISZERO
000009c3: ISZERO
000009c4: PUSH2 0x09cc
000009c7: JUMPI
000009c8: PUSH1 0x00
000009ca: DUP1
000009cb: REVERT
000009cc: JUMPDEST
000009cd: PUSH1 0x08
000009cf: PUSH1 0x00
000009d1: SWAP1
000009d2: SLOAD
000009d3: SWAP1
000009d4: PUSH2 0x0100
000009d7: EXP
000009d8: SWAP1
000009d9: DIV
000009da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ef: AND
000009f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a05: AND
00000a06: PUSH4 0xa9059cbb
00000a0b: PUSH1 0x00
00000a0d: DUP1
00000a0e: SWAP1
00000a0f: SLOAD
00000a10: SWAP1
00000a11: PUSH2 0x0100
00000a14: EXP
00000a15: SWAP1
00000a16: DIV
00000a17: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a2c: AND
00000a2d: DUP5
00000a2e: PUSH1 0x40
00000a30: MLOAD
00000a31: DUP4
00000a32: PUSH4 0xffffffff
00000a37: AND
00000a38: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000a56: MUL
00000a57: DUP2
00000a58: MSTORE
00000a59: PUSH1 0x04
00000a5b: ADD
00000a5c: DUP1
00000a5d: DUP4
00000a5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a73: AND
00000a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a89: AND
00000a8a: DUP2
00000a8b: MSTORE
00000a8c: PUSH1 0x20
00000a8e: ADD
00000a8f: DUP3
00000a90: DUP2
00000a91: MSTORE
00000a92: PUSH1 0x20
00000a94: ADD
00000a95: SWAP3
00000a96: POP
00000a97: POP
00000a98: POP
00000a99: PUSH1 0x00
00000a9b: PUSH1 0x40
00000a9d: MLOAD
00000a9e: DUP1
00000a9f: DUP4
00000aa0: SUB
00000aa1: DUP2
00000aa2: PUSH1 0x00
00000aa4: DUP8
00000aa5: DUP1
00000aa6: EXTCODESIZE
00000aa7: ISZERO
00000aa8: DUP1
00000aa9: ISZERO
00000aaa: PUSH2 0x0ab2
00000aad: JUMPI
00000aae: PUSH1 0x00
00000ab0: DUP1
00000ab1: REVERT
00000ab2: JUMPDEST
00000ab3: POP
00000ab4: GAS
00000ab5: CALL
00000ab6: ISZERO
00000ab7: DUP1
00000ab8: ISZERO
00000ab9: PUSH2 0x0ac6
00000abc: JUMPI
00000abd: RETURNDATASIZE
00000abe: PUSH1 0x00
00000ac0: DUP1
00000ac1: RETURNDATACOPY
00000ac2: RETURNDATASIZE
00000ac3: PUSH1 0x00
00000ac5: REVERT
00000ac6: JUMPDEST
00000ac7: POP
00000ac8: POP
00000ac9: POP
00000aca: POP
00000acb: PUSH1 0x01
00000acd: SWAP1
00000ace: POP
00000acf: SWAP2
00000ad0: SWAP1
00000ad1: POP
00000ad2: JUMP
00000ad3: JUMPDEST
00000ad4: PUSH1 0x02
00000ad6: PUSH1 0x00
00000ad8: SWAP1
00000ad9: SLOAD
00000ada: SWAP1
00000adb: PUSH2 0x0100
00000ade: EXP
00000adf: SWAP1
00000ae0: DIV
00000ae1: PUSH1 0xff
00000ae3: AND
00000ae4: DUP2
00000ae5: JUMP
00000ae6: JUMPDEST
00000ae7: PUSH1 0x05
00000ae9: SLOAD
00000aea: DUP2
00000aeb: JUMP
00000aec: JUMPDEST
00000aed: PUSH1 0x00
00000aef: DUP1
00000af0: SWAP1
00000af1: SLOAD
00000af2: SWAP1
00000af3: PUSH2 0x0100
00000af6: EXP
00000af7: SWAP1
00000af8: DIV
00000af9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b0e: AND
00000b0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b24: AND
00000b25: CALLER
00000b26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b3b: AND
00000b3c: EQ
00000b3d: ISZERO
00000b3e: ISZERO
00000b3f: PUSH2 0x0b47
00000b42: JUMPI
00000b43: PUSH1 0x00
00000b45: DUP1
00000b46: REVERT
00000b47: JUMPDEST
00000b48: PUSH1 0x02
00000b4a: PUSH1 0x00
00000b4c: SWAP1
00000b4d: SLOAD
00000b4e: SWAP1
00000b4f: PUSH2 0x0100
00000b52: EXP
00000b53: SWAP1
00000b54: DIV
00000b55: PUSH1 0xff
00000b57: AND
00000b58: ISZERO
00000b59: ISZERO
00000b5a: ISZERO
00000b5b: PUSH2 0x0b63
00000b5e: JUMPI
00000b5f: PUSH1 0x00
00000b61: DUP1
00000b62: REVERT
00000b63: JUMPDEST
00000b64: PUSH1 0x01
00000b66: PUSH1 0x02
00000b68: PUSH1 0x00
00000b6a: PUSH2 0x0100
00000b6d: EXP
00000b6e: DUP2
00000b6f: SLOAD
00000b70: DUP2
00000b71: PUSH1 0xff
00000b73: MUL
00000b74: NOT
00000b75: AND
00000b76: SWAP1
00000b77: DUP4
00000b78: ISZERO
00000b79: ISZERO
00000b7a: MUL
00000b7b: OR
00000b7c: SWAP1
00000b7d: SSTORE
00000b7e: POP
00000b7f: PUSH32 0x6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff625
00000ba0: PUSH1 0x40
00000ba2: MLOAD
00000ba3: PUSH1 0x40
00000ba5: MLOAD
00000ba6: DUP1
00000ba7: SWAP2
00000ba8: SUB
00000ba9: SWAP1
00000baa: LOG1
00000bab: JUMP
00000bac: JUMPDEST
00000bad: PUSH1 0x00
00000baf: PUSH1 0x01
00000bb1: ISZERO
00000bb2: ISZERO
00000bb3: PUSH1 0x01
00000bb5: PUSH1 0x00
00000bb7: CALLER
00000bb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bcd: AND
00000bce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000be3: AND
00000be4: DUP2
00000be5: MSTORE
00000be6: PUSH1 0x20
00000be8: ADD
00000be9: SWAP1
00000bea: DUP2
00000beb: MSTORE
00000bec: PUSH1 0x20
00000bee: ADD
00000bef: PUSH1 0x00
00000bf1: KECCAK256
00000bf2: PUSH1 0x00
00000bf4: SWAP1
00000bf5: SLOAD
00000bf6: SWAP1
00000bf7: PUSH2 0x0100
00000bfa: EXP
00000bfb: SWAP1
00000bfc: DIV
00000bfd: PUSH1 0xff
00000bff: AND
00000c00: ISZERO
00000c01: ISZERO
00000c02: EQ
00000c03: ISZERO
00000c04: ISZERO
00000c05: PUSH2 0x0c0d
00000c08: JUMPI
00000c09: PUSH1 0x00
00000c0b: DUP1
00000c0c: REVERT
00000c0d: JUMPDEST
00000c0e: PUSH1 0x02
00000c10: PUSH1 0x00
00000c12: SWAP1
00000c13: SLOAD
00000c14: SWAP1
00000c15: PUSH2 0x0100
00000c18: EXP
00000c19: SWAP1
00000c1a: DIV
00000c1b: PUSH1 0xff
00000c1d: AND
00000c1e: ISZERO
00000c1f: ISZERO
00000c20: ISZERO
00000c21: PUSH2 0x0c29
00000c24: JUMPI
00000c25: PUSH1 0x00
00000c27: DUP1
00000c28: REVERT
00000c29: JUMPDEST
00000c2a: PUSH2 0x0c31
00000c2d: PUSH2 0x0fbe
00000c30: JUMP
00000c31: JUMPDEST
00000c32: DUP3
00000c33: GT
00000c34: ISZERO
00000c35: ISZERO
00000c36: ISZERO
00000c37: PUSH2 0x0c3f
00000c3a: JUMPI
00000c3b: PUSH1 0x00
00000c3d: DUP1
00000c3e: REVERT
00000c3f: JUMPDEST
00000c40: PUSH1 0x08
00000c42: PUSH1 0x00
00000c44: SWAP1
00000c45: SLOAD
00000c46: SWAP1
00000c47: PUSH2 0x0100
00000c4a: EXP
00000c4b: SWAP1
00000c4c: DIV
00000c4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c62: AND
00000c63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c78: AND
00000c79: PUSH4 0xa9059cbb
00000c7e: CALLER
00000c7f: DUP5
00000c80: PUSH1 0x40
00000c82: MLOAD
00000c83: DUP4
00000c84: PUSH4 0xffffffff
00000c89: AND
00000c8a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000ca8: MUL
00000ca9: DUP2
00000caa: MSTORE
00000cab: PUSH1 0x04
00000cad: ADD
00000cae: DUP1
00000caf: DUP4
00000cb0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cc5: AND
00000cc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cdb: AND
00000cdc: DUP2
00000cdd: MSTORE
00000cde: PUSH1 0x20
00000ce0: ADD
00000ce1: DUP3
00000ce2: DUP2
00000ce3: MSTORE
00000ce4: PUSH1 0x20
00000ce6: ADD
00000ce7: SWAP3
00000ce8: POP
00000ce9: POP
00000cea: POP
00000ceb: PUSH1 0x00
00000ced: PUSH1 0x40
00000cef: MLOAD
00000cf0: DUP1
00000cf1: DUP4
00000cf2: SUB
00000cf3: DUP2
00000cf4: PUSH1 0x00
00000cf6: DUP8
00000cf7: DUP1
00000cf8: EXTCODESIZE
00000cf9: ISZERO
00000cfa: DUP1
00000cfb: ISZERO
00000cfc: PUSH2 0x0d04
00000cff: JUMPI
00000d00: PUSH1 0x00
00000d02: DUP1
00000d03: REVERT
00000d04: JUMPDEST
00000d05: POP
00000d06: GAS
00000d07: CALL
00000d08: ISZERO
00000d09: DUP1
00000d0a: ISZERO
00000d0b: PUSH2 0x0d18
00000d0e: JUMPI
00000d0f: RETURNDATASIZE
00000d10: PUSH1 0x00
00000d12: DUP1
00000d13: RETURNDATACOPY
00000d14: RETURNDATASIZE
00000d15: PUSH1 0x00
00000d17: REVERT
00000d18: JUMPDEST
00000d19: POP
00000d1a: POP
00000d1b: POP
00000d1c: POP
00000d1d: PUSH2 0x0d31
00000d20: DUP3
00000d21: PUSH1 0x04
00000d23: SLOAD
00000d24: PUSH2 0x157e
00000d27: SWAP1
00000d28: SWAP2
00000d29: SWAP1
00000d2a: PUSH4 0xffffffff
00000d2f: AND
00000d30: JUMP
00000d31: JUMPDEST
00000d32: PUSH1 0x04
00000d34: DUP2
00000d35: SWAP1
00000d36: SSTORE
00000d37: POP
00000d38: PUSH1 0x01
00000d3a: SWAP1
00000d3b: POP
00000d3c: SWAP2
00000d3d: SWAP1
00000d3e: POP
00000d3f: JUMP
00000d40: JUMPDEST
00000d41: PUSH1 0x00
00000d43: DUP1
00000d44: SWAP1
00000d45: SLOAD
00000d46: SWAP1
00000d47: PUSH2 0x0100
00000d4a: EXP
00000d4b: SWAP1
00000d4c: DIV
00000d4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d62: AND
00000d63: DUP2
00000d64: JUMP
00000d65: JUMPDEST
00000d66: PUSH1 0x00
00000d68: PUSH1 0x01
00000d6a: ISZERO
00000d6b: ISZERO
00000d6c: PUSH1 0x01
00000d6e: PUSH1 0x00
00000d70: CALLER
00000d71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d86: AND
00000d87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d9c: AND
00000d9d: DUP2
00000d9e: MSTORE
00000d9f: PUSH1 0x20
00000da1: ADD
00000da2: SWAP1
00000da3: DUP2
00000da4: MSTORE
00000da5: PUSH1 0x20
00000da7: ADD
00000da8: PUSH1 0x00
00000daa: KECCAK256
00000dab: PUSH1 0x00
00000dad: SWAP1
00000dae: SLOAD
00000daf: SWAP1
00000db0: PUSH2 0x0100
00000db3: EXP
00000db4: SWAP1
00000db5: DIV
00000db6: PUSH1 0xff
00000db8: AND
00000db9: ISZERO
00000dba: ISZERO
00000dbb: EQ
00000dbc: ISZERO
00000dbd: ISZERO
00000dbe: PUSH2 0x0dc6
00000dc1: JUMPI
00000dc2: PUSH1 0x00
00000dc4: DUP1
00000dc5: REVERT
00000dc6: JUMPDEST
00000dc7: PUSH1 0x08
00000dc9: PUSH1 0x00
00000dcb: SWAP1
00000dcc: SLOAD
00000dcd: SWAP1
00000dce: PUSH2 0x0100
00000dd1: EXP
00000dd2: SWAP1
00000dd3: DIV
00000dd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de9: AND
00000dea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dff: AND
00000e00: PUSH4 0x23b872dd
00000e05: DUP5
00000e06: ADDRESS
00000e07: DUP6
00000e08: PUSH1 0x40
00000e0a: MLOAD
00000e0b: DUP5
00000e0c: PUSH4 0xffffffff
00000e11: AND
00000e12: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000e30: MUL
00000e31: DUP2
00000e32: MSTORE
00000e33: PUSH1 0x04
00000e35: ADD
00000e36: DUP1
00000e37: DUP5
00000e38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e4d: AND
00000e4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e63: AND
00000e64: DUP2
00000e65: MSTORE
00000e66: PUSH1 0x20
00000e68: ADD
00000e69: DUP4
00000e6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e7f: AND
00000e80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e95: AND
00000e96: DUP2
00000e97: MSTORE
00000e98: PUSH1 0x20
00000e9a: ADD
00000e9b: DUP3
00000e9c: DUP2
00000e9d: MSTORE
00000e9e: PUSH1 0x20
00000ea0: ADD
00000ea1: SWAP4
00000ea2: POP
00000ea3: POP
00000ea4: POP
00000ea5: POP
00000ea6: PUSH1 0x00
00000ea8: PUSH1 0x40
00000eaa: MLOAD
00000eab: DUP1
00000eac: DUP4
00000ead: SUB
00000eae: DUP2
00000eaf: PUSH1 0x00
00000eb1: DUP8
00000eb2: DUP1
00000eb3: EXTCODESIZE
00000eb4: ISZERO
00000eb5: DUP1
00000eb6: ISZERO
00000eb7: PUSH2 0x0ebf
00000eba: JUMPI
00000ebb: PUSH1 0x00
00000ebd: DUP1
00000ebe: REVERT
00000ebf: JUMPDEST
00000ec0: POP
00000ec1: GAS
00000ec2: CALL
00000ec3: ISZERO
00000ec4: DUP1
00000ec5: ISZERO
00000ec6: PUSH2 0x0ed3
00000ec9: JUMPI
00000eca: RETURNDATASIZE
00000ecb: PUSH1 0x00
00000ecd: DUP1
00000ece: RETURNDATACOPY
00000ecf: RETURNDATASIZE
00000ed0: PUSH1 0x00
00000ed2: REVERT
00000ed3: JUMPDEST
00000ed4: POP
00000ed5: POP
00000ed6: POP
00000ed7: POP
00000ed8: PUSH1 0x08
00000eda: PUSH1 0x00
00000edc: SWAP1
00000edd: SLOAD
00000ede: SWAP1
00000edf: PUSH2 0x0100
00000ee2: EXP
00000ee3: SWAP1
00000ee4: DIV
00000ee5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000efa: AND
00000efb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f10: AND
00000f11: PUSH4 0xa9059cbb
00000f16: CALLER
00000f17: DUP5
00000f18: PUSH1 0x40
00000f1a: MLOAD
00000f1b: DUP4
00000f1c: PUSH4 0xffffffff
00000f21: AND
00000f22: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000f40: MUL
00000f41: DUP2
00000f42: MSTORE
00000f43: PUSH1 0x04
00000f45: ADD
00000f46: DUP1
00000f47: DUP4
00000f48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f5d: AND
00000f5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f73: AND
00000f74: DUP2
00000f75: MSTORE
00000f76: PUSH1 0x20
00000f78: ADD
00000f79: DUP3
00000f7a: DUP2
00000f7b: MSTORE
00000f7c: PUSH1 0x20
00000f7e: ADD
00000f7f: SWAP3
00000f80: POP
00000f81: POP
00000f82: POP
00000f83: PUSH1 0x00
00000f85: PUSH1 0x40
00000f87: MLOAD
00000f88: DUP1
00000f89: DUP4
00000f8a: SUB
00000f8b: DUP2
00000f8c: PUSH1 0x00
00000f8e: DUP8
00000f8f: DUP1
00000f90: EXTCODESIZE
00000f91: ISZERO
00000f92: DUP1
00000f93: ISZERO
00000f94: PUSH2 0x0f9c
00000f97: JUMPI
00000f98: PUSH1 0x00
00000f9a: DUP1
00000f9b: REVERT
00000f9c: JUMPDEST
00000f9d: POP
00000f9e: GAS
00000f9f: CALL
00000fa0: ISZERO
00000fa1: DUP1
00000fa2: ISZERO
00000fa3: PUSH2 0x0fb0
00000fa6: JUMPI
00000fa7: RETURNDATASIZE
00000fa8: PUSH1 0x00
00000faa: DUP1
00000fab: RETURNDATACOPY
00000fac: RETURNDATASIZE
00000fad: PUSH1 0x00
00000faf: REVERT
00000fb0: JUMPDEST
00000fb1: POP
00000fb2: POP
00000fb3: POP
00000fb4: POP
00000fb5: PUSH1 0x01
00000fb7: SWAP1
00000fb8: POP
00000fb9: SWAP3
00000fba: SWAP2
00000fbb: POP
00000fbc: POP
00000fbd: JUMP
00000fbe: JUMPDEST
00000fbf: PUSH1 0x00
00000fc1: PUSH2 0x0fea
00000fc4: PUSH1 0x64
00000fc6: PUSH2 0x0fdc
00000fc9: PUSH1 0x05
00000fcb: SLOAD
00000fcc: PUSH1 0x04
00000fce: SLOAD
00000fcf: PUSH2 0x159f
00000fd2: SWAP1
00000fd3: SWAP2
00000fd4: SWAP1
00000fd5: PUSH4 0xffffffff
00000fda: AND
00000fdb: JUMP
00000fdc: JUMPDEST
00000fdd: PUSH2 0x15dd
00000fe0: SWAP1
00000fe1: SWAP2
00000fe2: SWAP1
00000fe3: PUSH4 0xffffffff
00000fe8: AND
00000fe9: JUMP
00000fea: JUMPDEST
00000feb: SWAP1
00000fec: POP
00000fed: SWAP1
00000fee: JUMP
00000fef: JUMPDEST
00000ff0: PUSH1 0x00
00000ff2: DUP1
00000ff3: SWAP1
00000ff4: SLOAD
00000ff5: SWAP1
00000ff6: PUSH2 0x0100
00000ff9: EXP
00000ffa: SWAP1
00000ffb: DIV
00000ffc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001011: AND
00001012: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001027: AND
00001028: CALLER
00001029: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000103e: AND
0000103f: EQ
00001040: ISZERO
00001041: ISZERO
00001042: PUSH2 0x104a
00001045: JUMPI
00001046: PUSH1 0x00
00001048: DUP1
00001049: REVERT
0000104a: JUMPDEST
0000104b: PUSH1 0x00
0000104d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001062: AND
00001063: DUP3
00001064: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001079: AND
0000107a: EQ
0000107b: ISZERO
0000107c: ISZERO
0000107d: ISZERO
0000107e: PUSH2 0x1086
00001081: JUMPI
00001082: PUSH1 0x00
00001084: DUP1
00001085: REVERT
00001086: JUMPDEST
00001087: DUP1
00001088: PUSH1 0x01
0000108a: PUSH1 0x00
0000108c: DUP5
0000108d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010a2: AND
000010a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010b8: AND
000010b9: DUP2
000010ba: MSTORE
000010bb: PUSH1 0x20
000010bd: ADD
000010be: SWAP1
000010bf: DUP2
000010c0: MSTORE
000010c1: PUSH1 0x20
000010c3: ADD
000010c4: PUSH1 0x00
000010c6: KECCAK256
000010c7: PUSH1 0x00
000010c9: PUSH2 0x0100
000010cc: EXP
000010cd: DUP2
000010ce: SLOAD
000010cf: DUP2
000010d0: PUSH1 0xff
000010d2: MUL
000010d3: NOT
000010d4: AND
000010d5: SWAP1
000010d6: DUP4
000010d7: ISZERO
000010d8: ISZERO
000010d9: MUL
000010da: OR
000010db: SWAP1
000010dc: SSTORE
000010dd: POP
000010de: POP
000010df: POP
000010e0: JUMP
000010e1: JUMPDEST
000010e2: PUSH1 0x01
000010e4: PUSH1 0x20
000010e6: MSTORE
000010e7: DUP1
000010e8: PUSH1 0x00
000010ea: MSTORE
000010eb: PUSH1 0x40
000010ed: PUSH1 0x00
000010ef: KECCAK256
000010f0: PUSH1 0x00
000010f2: SWAP2
000010f3: POP
000010f4: SLOAD
000010f5: SWAP1
000010f6: PUSH2 0x0100
000010f9: EXP
000010fa: SWAP1
000010fb: DIV
000010fc: PUSH1 0xff
000010fe: AND
000010ff: DUP2
00001100: JUMP
00001101: JUMPDEST
00001102: PUSH1 0x00
00001104: DUP1
00001105: PUSH1 0x00
00001107: SWAP1
00001108: SLOAD
00001109: SWAP1
0000110a: PUSH2 0x0100
0000110d: EXP
0000110e: SWAP1
0000110f: DIV
00001110: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001125: AND
00001126: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000113b: AND
0000113c: CALLER
0000113d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001152: AND
00001153: EQ
00001154: ISZERO
00001155: ISZERO
00001156: PUSH2 0x115e
00001159: JUMPI
0000115a: PUSH1 0x00
0000115c: DUP1
0000115d: REVERT
0000115e: JUMPDEST
0000115f: DUP2
00001160: PUSH1 0x05
00001162: DUP2
00001163: SWAP1
00001164: SSTORE
00001165: POP
00001166: PUSH1 0x01
00001168: SWAP1
00001169: POP
0000116a: SWAP2
0000116b: SWAP1
0000116c: POP
0000116d: JUMP
0000116e: JUMPDEST
0000116f: PUSH1 0x00
00001171: PUSH1 0x01
00001173: ISZERO
00001174: ISZERO
00001175: PUSH1 0x01
00001177: PUSH1 0x00
00001179: CALLER
0000117a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000118f: AND
00001190: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a5: AND
000011a6: DUP2
000011a7: MSTORE
000011a8: PUSH1 0x20
000011aa: ADD
000011ab: SWAP1
000011ac: DUP2
000011ad: MSTORE
000011ae: PUSH1 0x20
000011b0: ADD
000011b1: PUSH1 0x00
000011b3: KECCAK256
000011b4: PUSH1 0x00
000011b6: SWAP1
000011b7: SLOAD
000011b8: SWAP1
000011b9: PUSH2 0x0100
000011bc: EXP
000011bd: SWAP1
000011be: DIV
000011bf: PUSH1 0xff
000011c1: AND
000011c2: ISZERO
000011c3: ISZERO
000011c4: EQ
000011c5: ISZERO
000011c6: ISZERO
000011c7: PUSH2 0x11cf
000011ca: JUMPI
000011cb: PUSH1 0x00
000011cd: DUP1
000011ce: REVERT
000011cf: JUMPDEST
000011d0: PUSH1 0x08
000011d2: PUSH1 0x00
000011d4: SWAP1
000011d5: SLOAD
000011d6: SWAP1
000011d7: PUSH2 0x0100
000011da: EXP
000011db: SWAP1
000011dc: DIV
000011dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011f2: AND
000011f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001208: AND
00001209: PUSH4 0x23b872dd
0000120e: CALLER
0000120f: ADDRESS
00001210: DUP6
00001211: PUSH1 0x40
00001213: MLOAD
00001214: DUP5
00001215: PUSH4 0xffffffff
0000121a: AND
0000121b: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001239: MUL
0000123a: DUP2
0000123b: MSTORE
0000123c: PUSH1 0x04
0000123e: ADD
0000123f: DUP1
00001240: DUP5
00001241: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001256: AND
00001257: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000126c: AND
0000126d: DUP2
0000126e: MSTORE
0000126f: PUSH1 0x20
00001271: ADD
00001272: DUP4
00001273: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001288: AND
00001289: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000129e: AND
0000129f: DUP2
000012a0: MSTORE
000012a1: PUSH1 0x20
000012a3: ADD
000012a4: DUP3
000012a5: DUP2
000012a6: MSTORE
000012a7: PUSH1 0x20
000012a9: ADD
000012aa: SWAP4
000012ab: POP
000012ac: POP
000012ad: POP
000012ae: POP
000012af: PUSH1 0x00
000012b1: PUSH1 0x40
000012b3: MLOAD
000012b4: DUP1
000012b5: DUP4
000012b6: SUB
000012b7: DUP2
000012b8: PUSH1 0x00
000012ba: DUP8
000012bb: DUP1
000012bc: EXTCODESIZE
000012bd: ISZERO
000012be: DUP1
000012bf: ISZERO
000012c0: PUSH2 0x12c8
000012c3: JUMPI
000012c4: PUSH1 0x00
000012c6: DUP1
000012c7: REVERT
000012c8: JUMPDEST
000012c9: POP
000012ca: GAS
000012cb: CALL
000012cc: ISZERO
000012cd: DUP1
000012ce: ISZERO
000012cf: PUSH2 0x12dc
000012d2: JUMPI
000012d3: RETURNDATASIZE
000012d4: PUSH1 0x00
000012d6: DUP1
000012d7: RETURNDATACOPY
000012d8: RETURNDATASIZE
000012d9: PUSH1 0x00
000012db: REVERT
000012dc: JUMPDEST
000012dd: POP
000012de: POP
000012df: POP
000012e0: POP
000012e1: PUSH2 0x12f5
000012e4: DUP3
000012e5: PUSH1 0x04
000012e7: SLOAD
000012e8: PUSH2 0x155d
000012eb: SWAP1
000012ec: SWAP2
000012ed: SWAP1
000012ee: PUSH4 0xffffffff
000012f3: AND
000012f4: JUMP
000012f5: JUMPDEST
000012f6: PUSH1 0x04
000012f8: DUP2
000012f9: SWAP1
000012fa: SSTORE
000012fb: POP
000012fc: PUSH1 0x01
000012fe: SWAP1
000012ff: POP
00001300: SWAP2
00001301: SWAP1
00001302: POP
00001303: JUMP
00001304: JUMPDEST
00001305: PUSH1 0x00
00001307: DUP1
00001308: SWAP1
00001309: SLOAD
0000130a: SWAP1
0000130b: PUSH2 0x0100
0000130e: EXP
0000130f: SWAP1
00001310: DIV
00001311: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001326: AND
00001327: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000133c: AND
0000133d: CALLER
0000133e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001353: AND
00001354: EQ
00001355: ISZERO
00001356: ISZERO
00001357: PUSH2 0x135f
0000135a: JUMPI
0000135b: PUSH1 0x00
0000135d: DUP1
0000135e: REVERT
0000135f: JUMPDEST
00001360: PUSH1 0x00
00001362: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001377: AND
00001378: DUP2
00001379: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000138e: AND
0000138f: EQ
00001390: ISZERO
00001391: ISZERO
00001392: ISZERO
00001393: PUSH2 0x139b
00001396: JUMPI
00001397: PUSH1 0x00
00001399: DUP1
0000139a: REVERT
0000139b: JUMPDEST
0000139c: DUP1
0000139d: PUSH1 0x00
0000139f: DUP1
000013a0: PUSH2 0x0100
000013a3: EXP
000013a4: DUP2
000013a5: SLOAD
000013a6: DUP2
000013a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013bc: MUL
000013bd: NOT
000013be: AND
000013bf: SWAP1
000013c0: DUP4
000013c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013d6: AND
000013d7: MUL
000013d8: OR
000013d9: SWAP1
000013da: SSTORE
000013db: POP
000013dc: POP
000013dd: JUMP
000013de: JUMPDEST
000013df: PUSH1 0x00
000013e1: DUP1
000013e2: PUSH1 0x00
000013e4: SWAP1
000013e5: SLOAD
000013e6: SWAP1
000013e7: PUSH2 0x0100
000013ea: EXP
000013eb: SWAP1
000013ec: DIV
000013ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001402: AND
00001403: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001418: AND
00001419: CALLER
0000141a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000142f: AND
00001430: EQ
00001431: ISZERO
00001432: ISZERO
00001433: PUSH2 0x143b
00001436: JUMPI
00001437: PUSH1 0x00
00001439: DUP1
0000143a: REVERT
0000143b: JUMPDEST
0000143c: PUSH2 0x1450
0000143f: DUP3
00001440: PUSH1 0x04
00001442: SLOAD
00001443: PUSH2 0x157e
00001446: SWAP1
00001447: SWAP2
00001448: SWAP1
00001449: PUSH4 0xffffffff
0000144e: AND
0000144f: JUMP
00001450: JUMPDEST
00001451: PUSH1 0x04
00001453: DUP2
00001454: SWAP1
00001455: SSTORE
00001456: POP
00001457: PUSH1 0x08
00001459: PUSH1 0x00
0000145b: SWAP1
0000145c: SLOAD
0000145d: SWAP1
0000145e: PUSH2 0x0100
00001461: EXP
00001462: SWAP1
00001463: DIV
00001464: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001479: AND
0000147a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000148f: AND
00001490: PUSH4 0xa9059cbb
00001495: PUSH1 0x00
00001497: DUP1
00001498: SWAP1
00001499: SLOAD
0000149a: SWAP1
0000149b: PUSH2 0x0100
0000149e: EXP
0000149f: SWAP1
000014a0: DIV
000014a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b6: AND
000014b7: DUP5
000014b8: PUSH1 0x40
000014ba: MLOAD
000014bb: DUP4
000014bc: PUSH4 0xffffffff
000014c1: AND
000014c2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
000014e0: MUL
000014e1: DUP2
000014e2: MSTORE
000014e3: PUSH1 0x04
000014e5: ADD
000014e6: DUP1
000014e7: DUP4
000014e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014fd: AND
000014fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001513: AND
00001514: DUP2
00001515: MSTORE
00001516: PUSH1 0x20
00001518: ADD
00001519: DUP3
0000151a: DUP2
0000151b: MSTORE
0000151c: PUSH1 0x20
0000151e: ADD
0000151f: SWAP3
00001520: POP
00001521: POP
00001522: POP
00001523: PUSH1 0x00
00001525: PUSH1 0x40
00001527: MLOAD
00001528: DUP1
00001529: DUP4
0000152a: SUB
0000152b: DUP2
0000152c: PUSH1 0x00
0000152e: DUP8
0000152f: DUP1
00001530: EXTCODESIZE
00001531: ISZERO
00001532: DUP1
00001533: ISZERO
00001534: PUSH2 0x153c
00001537: JUMPI
00001538: PUSH1 0x00
0000153a: DUP1
0000153b: REVERT
0000153c: JUMPDEST
0000153d: POP
0000153e: GAS
0000153f: CALL
00001540: ISZERO
00001541: DUP1
00001542: ISZERO
00001543: PUSH2 0x1550
00001546: JUMPI
00001547: RETURNDATASIZE
00001548: PUSH1 0x00
0000154a: DUP1
0000154b: RETURNDATACOPY
0000154c: RETURNDATASIZE
0000154d: PUSH1 0x00
0000154f: REVERT
00001550: JUMPDEST
00001551: POP
00001552: POP
00001553: POP
00001554: POP
00001555: PUSH1 0x01
00001557: SWAP1
00001558: POP
00001559: SWAP2
0000155a: SWAP1
0000155b: POP
0000155c: JUMP
0000155d: JUMPDEST
0000155e: PUSH1 0x00
00001560: DUP1
00001561: DUP3
00001562: DUP5
00001563: ADD
00001564: SWAP1
00001565: POP
00001566: DUP4
00001567: DUP2
00001568: LT
00001569: ISZERO
0000156a: ISZERO
0000156b: ISZERO
0000156c: PUSH2 0x1574
0000156f: JUMPI
00001570: PUSH1 0x00
00001572: DUP1
00001573: REVERT
00001574: JUMPDEST
00001575: DUP1
00001576: SWAP2
00001577: POP
00001578: POP
00001579: SWAP3
0000157a: SWAP2
0000157b: POP
0000157c: POP
0000157d: JUMP
0000157e: JUMPDEST
0000157f: PUSH1 0x00
00001581: DUP1
00001582: DUP4
00001583: DUP4
00001584: GT
00001585: ISZERO
00001586: ISZERO
00001587: ISZERO
00001588: PUSH2 0x1590
0000158b: JUMPI
0000158c: PUSH1 0x00
0000158e: DUP1
0000158f: REVERT
00001590: JUMPDEST
00001591: DUP3
00001592: DUP5
00001593: SUB
00001594: SWAP1
00001595: POP
00001596: DUP1
00001597: SWAP2
00001598: POP
00001599: POP
0000159a: SWAP3
0000159b: SWAP2
0000159c: POP
0000159d: POP
0000159e: JUMP
0000159f: JUMPDEST
000015a0: PUSH1 0x00
000015a2: DUP1
000015a3: PUSH1 0x00
000015a5: DUP5
000015a6: EQ
000015a7: ISZERO
000015a8: PUSH2 0x15b4
000015ab: JUMPI
000015ac: PUSH1 0x00
000015ae: SWAP2
000015af: POP
000015b0: PUSH2 0x15d6
000015b3: JUMP
000015b4: JUMPDEST
000015b5: DUP3
000015b6: DUP5
000015b7: MUL
000015b8: SWAP1
000015b9: POP
000015ba: DUP3
000015bb: DUP5
000015bc: DUP3
000015bd: DUP2
000015be: ISZERO
000015bf: ISZERO
000015c0: PUSH2 0x15c5
000015c3: JUMPI
000015c4: INVALID
000015c5: JUMPDEST
000015c6: DIV
000015c7: EQ
000015c8: ISZERO
000015c9: ISZERO
000015ca: PUSH2 0x15d2
000015cd: JUMPI
000015ce: PUSH1 0x00
000015d0: DUP1
000015d1: REVERT
000015d2: JUMPDEST
000015d3: DUP1
000015d4: SWAP2
000015d5: POP
000015d6: JUMPDEST
000015d7: POP
000015d8: SWAP3
000015d9: SWAP2
000015da: POP
000015db: POP
000015dc: JUMP
000015dd: JUMPDEST
000015de: PUSH1 0x00
000015e0: DUP1
000015e1: PUSH1 0x00
000015e3: DUP4
000015e4: GT
000015e5: ISZERO
000015e6: ISZERO
000015e7: PUSH2 0x15ef
000015ea: JUMPI
000015eb: PUSH1 0x00
000015ed: DUP1
000015ee: REVERT
000015ef: JUMPDEST
000015f0: DUP3
000015f1: DUP5
000015f2: DUP2
000015f3: ISZERO
000015f4: ISZERO
000015f5: PUSH2 0x15fa
000015f8: JUMPI
000015f9: INVALID
000015fa: JUMPDEST
000015fb: DIV
000015fc: SWAP1
000015fd: POP
000015fe: DUP1
000015ff: SWAP2
00001600: POP
00001601: POP
00001602: SWAP3
00001603: SWAP2
00001604: POP
00001605: POP
00001606: JUMP
00001607: STOP
00001608: LOG1
00001609: PUSH6 0x627a7a723058
00001610: KECCAK256
00001611: SIGNEXTEND
00001612: DUP5
00001613: UNKNOWN(0x28)
00001614: UNKNOWN(0xDF)
00001615: UNKNOWN(0xB7)
00001616: CALLDATACOPY
00001617: ISZERO
00001618: CALLDATALOAD
00001619: UNKNOWN(0xDF)
0000161a: BYTE
0000161b: UNKNOWN(0xBF)
0000161c: UNKNOWN(0xC4)
0000161d: UNKNOWN(0xE5)
0000161e: DUP14
0000161f: DUP8
00001620: UNKNOWN(0xB2)
00001621: COINBASE
00001622: UNKNOWN(0xE9)
00001623: MSTORE8
00001624: LOG1
00001625: SWAP11
00001626: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192
call_targets: 0xd0eabb5164c9dba0a2ee508f7e8d91d4d485637c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd0eabb5164c9dba0a2ee508f7e8d91d4d485637c"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3e118dbe",
            "selector": "0x3e118dbe",
            "calldata_variants": [
                "0x3e118dbe",
                "0x3e118dbe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3f4ba83a",
            "selector": "0x3f4ba83a",
            "calldata_variants": [
                "0x3f4ba83a",
                "0x3f4ba83a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41e61ad1",
            "selector": "0x41e61ad1",
            "calldata_variants": [
                "0x41e61ad1",
                "0x41e61ad10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x543fcf03",
            "selector": "0x543fcf03",
            "calldata_variants": [
                "0x543fcf03",
                "0x543fcf030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x560b65f7",
            "selector": "0x560b65f7",
            "calldata_variants": [
                "0x560b65f7",
                "0x560b65f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2741,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3335,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 7,
    "guards_detected": [
        {
            "pc": 1831,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2237,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2474,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2853,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4136,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4412,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4925,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5145,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 7
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192
call_targets: 0xd0eabb5164c9dba0a2ee508f7e8d91d4d485637c
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xbee36ade5f62e6428c55bfff05d2e42a73a070cc5e1b1e9bd66c8644934eb192",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xd0eabb5164c9dba0a2ee508f7e8d91d4d485637c"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1659bbeb",
            "selector": "0x1659bbeb",
            "calldata_variants": [
                "0x1659bbeb",
                "0x1659bbeb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3e118dbe",
            "selector": "0x3e118dbe",
            "calldata_variants": [
                "0x3e118dbe",
                "0x3e118dbe0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3f4ba83a",
            "selector": "0x3f4ba83a",
            "calldata_variants": [
                "0x3f4ba83a",
                "0x3f4ba83a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x41e61ad1",
            "selector": "0x41e61ad1",
            "calldata_variants": [
                "0x41e61ad1",
                "0x41e61ad10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x543fcf03",
            "selector": "0x543fcf03",
            "calldata_variants": [
                "0x543fcf03",
                "0x543fcf030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x560b65f7",
            "selector": "0x560b65f7",
            "calldata_variants": [
                "0x560b65f7",
                "0x560b65f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2741,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3335,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 7,
    "guards_detected": [
        {
            "pc": 1831,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2237,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2474,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 2853,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4136,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4412,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4925,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5145,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
low reentrancy codex Potential untrusted external CALL surface (computed target/value) with uncertain return-data handling 65 no
view
evidence_json
{
    "evidence": "Calls listed at pc 2117/2741/3335/3778/3999/4811/5439 with target/value marked computed; detector notes 7 CALLs and returndata_checked=null. Validation suggests constant target, so untrusted reachability is uncertain.",
    "locations": [
        "pc:0x845",
        "pc:0xab5",
        "pc:0xd07",
        "pc:0xec2",
        "pc:0xf9f",
        "pc:0x12cb",
        "pc:0x153f"
    ],
    "recommendation": "Restrict/whitelist call targets and add explicit reentrancy protection (checks-effects-interactions or a guard) around state-changing logic. If these are token calls, decode and validate return data instead of relying only on CALL success.",
    "exploit_scenario": "If any CALL target can be influenced by users or points to an untrusted contract, a malicious callee could reenter or otherwise manipulate state around the call. The bytecode shows low-level CALLs with computed target/value, and return-data handling is not clearly evidenced; this can enable reentrancy or silent failure patterns depending on the surrounding state updates."
}
low access_control codex Hardcoded msg.sender==0xffff… guards may lock privileged actions or rely on an unreachable admin 65 no
view
evidence_json
{
    "evidence": "Auth guards detected as msg_sender_eq_const with value 0xffffffffffffffffffffffffffffffffffffffff at multiple PCs.",
    "locations": [
        "pc:0x727",
        "pc:0x8bd",
        "pc:0x9aa",
        "pc:0xb25",
        "pc:0x1028",
        "pc:0x113c",
        "pc:0x133d",
        "pc:0x1419"
    ],
    "recommendation": "Ensure privileged checks reference a configurable storage owner/admin rather than a hardcoded constant, or explicitly document that admin is permanently renounced. If renounced, verify no critical functionality depends on these paths.",
    "exploit_scenario": "Guards compare msg.sender to the constant 0xffff\u2026 address. If these gates protect admin-only functions (e.g., ownership/withdrawal), access could be permanently locked, preventing emergency actions. Conversely, if that address is ever controlled, it would gain privileged access. The intent is unclear from bytecode alone."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 7
}