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

Analysis Run

019c0ea9-0881-7272-8ad3-993262b19dcd

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

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41844 artifact.fetch complete 1 / 3 2 months ago
41845 proxy.resolve complete 1 / 3 2 months ago
41846 tool.cast_disasm complete 1 / 3 2 months ago
41847 analysis.bundle complete 1 / 3 2 months ago
41848 capability.graph complete 1 / 3 2 months ago
41849 detector.run complete 1 / 3 2 months ago
41850 validation.fork complete 1 / 3 2 months ago
42342 report.consolidate complete 1 / 6 2 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best‑effort and function context is unknown from bytecode alone.
View stdout
{"no_findings":false,"summary":"Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best‑effort and function context is unknown from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)","exploit_scenario":"If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths.","recommendation":"Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.","evidence":"Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.","locations":["pc:5097"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-gts4u8u4
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f38-a765-77f1-b59e-0f2a3f6390ed
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
exec
/bin/bash -lc ls in /tmp/codex-gts4u8u4 succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 8ms:
{
  "analysis_artifact": {
    "address": "0x44664edd1785266e8c5c23492dc73836136866bc",
    "artifact_hash": "0x328f0806459de1692818905a4b56e40bd5b063bb4deb9a4b2a440c1d32ecd408",
    "artifact_json": {
      "auth": {
        "guards": []
      },
      "basic_blocks": [
        {
          "end_pc": 10,
          "hash": "0xdaaf7f03b4bc1e2628a224b9877f2a550687bbd69e1f4f355d3c48d3632d09ee",
          "opcodes": [
            "PUSH1",
            "PUSH1",
            "MSTORE",
            "CALLDATASIZE",
            "ISZERO",
            "PUSH2",
            "JUMPI"
exec
/bin/bash -lc 'rg -n "5097" BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 6ms:
1232:          "hash": "0xb40b9d3c75088f06a41efa7c95f36f900fb5c8c205210f509791c5244763d97e",
6998:          "pc": 5097,
16019:          "to": "call:5097",
16023:          "from": "call:5097",
16598:          "hash": "0xb40b9d3c75088f06a41efa7c95f36f900fb5c8c205210f509791c5244763d97e",
18935:          "id": "call:5097",
18937:          "pc": 5097,
19085:            "pc": 5097,
19123:            "pc": 5097,
exec
/bin/bash -lc "sed -n '18780,19060p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 32ms:
        {
          "end_pc": 5537,
          "hash": "0x015a5df4bb5be033dd7434207ef8fcc9ead61d87a26675fe01558fffd18de5cc",
          "id": "bb:5524",
          "start_pc": 5524,
          "type": "basic_block"
        },
        {
          "end_pc": 5559,
          "hash": "0xd63474fdfa1dba1c94c0177384196a4e1a4c526e70c1bc2a115efbedcdf0077c",
          "id": "bb:5538",
          "start_pc": 5538,
          "type": "basic_block"
        },
        {
          "end_pc": 5560,
          "hash": "0xf03d6c102acc781df11d731f2d916c1c004bab6b97877910e5d125663e7f6116",
          "id": "bb:5560",
          "start_pc": 5560,
          "type": "basic_block"
exec
/bin/bash -lc "sed -n '15960,16120p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 18ms:
          "type": "entry"
        },
        {
          "from": "fn:0x9ace38c2",
          "to": "bb:2699460139",
          "type": "entry"
        },
        {
          "from": "fn:0xa0e67e2b",
          "to": "bb:2829837978",
          "type": "entry"
        },
        {
          "from": "fn:0xa8abe69a",
          "to": "bb:3051110595",
          "type": "entry"
        },
        {
          "from": "fn:0xb5dc40c3",
          "to": "bb:3078354432",
exec
/bin/bash -lc 'rg -n "start_pc": 5075 BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 exited 2 in 9ms:
rg: 5075: No such file or directory (os error 2)
exec
/bin/bash -lc "rg -n '\"start_pc\": 5075' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 6ms:
6260:          "start_pc": 5075
18651:          "start_pc": 5075,
exec
/bin/bash -lc "sed -n '6200,6325p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 10ms:
            "OP_90",
            "PUSH1",
            "ADD",
            "OP_90",
            "PUSH1",
            "ADD",
            "OP_80",
            "OP_83",
            "GT",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 5046
        },
        {
          "end_pc": 5074,
          "hash": "0x585dc291c76c9b990f6142d2dd0d39e59fd6ff5259292d654f07a7bcabec7cfb",
          "opcodes": [
            "OP_82",
            "OP_90",
exec
/bin/bash -lc 'rg -n "storage" BYTECODE_BUNDLE.json' in /tmp/codex-gts4u8u4 succeeded in 9ms:
9292:          "storage": {
9491:          "storage": {
9690:          "storage": {
9889:          "storage": {
10088:          "storage": {
10287:          "storage": {
10486:          "storage": {
10685:          "storage": {
10884:          "storage": {
11083:          "storage": {
11282:          "storage": {
11481:          "storage": {
11680:          "storage": {
11879:          "storage": {
12078:          "storage": {
12277:          "storage": {
12476:          "storage": {
12675:          "storage": {
12874:          "storage": {
13073:          "storage": {
exec
/bin/bash -lc "sed -n '13470,13540p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 6ms:
        "0x9ace38c2",
        "0xa0e67e2b",
        "0xa8abe69a",
        "0xb5dc40c3",
        "0xb77bf600",
        "0xba51a6df",
        "0xc01a8c84",
        "0xc6427474",
        "0xd74f8edd",
        "0xdc8452cd",
        "0xe20056e6",
        "0xee22610b"
      ],
      "sinks": {
        "call": 1,
        "create": 0,
        "create2": 0,
        "delegatecall": 0,
        "selfdestruct": 0,
        "staticcall": 0,
exec
/bin/bash -lc "sed -n '13540,13680p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 7ms:
          },
          {
            "op": "SLOAD",
            "pc": 2002,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2360,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
          },
          {
            "op": "SLOAD",
            "pc": 2562,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
          },
          {
            "op": "SLOAD",
            "pc": 2570,
            "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
exec
/bin/bash -lc "sed -n '4960,5115p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 9ms:
            "JUMPI"
          ],
          "start_pc": 3899
        },
        {
          "end_pc": 3930,
          "hash": "0x536462a8a085fae195ebcae8517987db7fd33107e2c549a4247cb80db9a5ea5a",
          "opcodes": [
            "PUSH1",
            "OP_80",
            "REVERT"
          ],
          "start_pc": 3927
        },
        {
          "end_pc": 3944,
          "hash": "0x010d8d1e10d95154cde49477ad0ae5c7be6668d7f4734d67f2f23dcfd21928fe",
          "opcodes": [
            "JUMPDEST",
            "PUSH1",
exec
/bin/bash -lc "sed -n '6120,6220p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 8ms:
            "SLOAD",
            "PUSH1",
            "OP_81",
            "PUSH1",
            "AND",
            "ISZERO",
            "PUSH2",
            "MUL",
            "SUB",
            "AND",
            "PUSH1",
            "OP_90",
            "DIV",
            "OP_80",
            "ISZERO",
            "PUSH2",
            "JUMPI"
          ],
          "start_pc": 4919
        },
exec
/bin/bash -lc "sed -n '18900,19060p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 10ms:
          "end_pc": 5754,
          "hash": "0x3940718c5d36b25c1ea86d89fb42ed5f9cdb42f3964e1aea42ef20a70574c091",
          "id": "bb:5744",
          "start_pc": 5744,
          "type": "basic_block"
        },
        {
          "end_pc": 5758,
          "hash": "0xc7c0d613ab4b4eff6214cced075ba7954569fd720f8052a8ed25ca204db5ebca",
          "id": "bb:5755",
          "start_pc": 5755,
          "type": "basic_block"
        },
        {
          "end_pc": 5761,
          "hash": "0x419dafc0563dc4cf0d9ae5320d9b1fd39bad4fc24c1d41045d8b8e55556d287a",
          "id": "bb:5759",
          "start_pc": 5759,
          "type": "basic_block"
        },
exec
/bin/bash -lc "sed -n '19060,19160p' BYTECODE_BUNDLE.json" in /tmp/codex-gts4u8u4 succeeded in 7ms:
          "id": "fn:0xe20056e6",
          "selector": "0xe20056e6",
          "type": "function"
        },
        {
          "entry_pc": null,
          "id": "fn:0xee22610b",
          "selector": "0xee22610b",
          "type": "function"
        }
      ],
      "version": "capability_graph_v1"
    },
    "id": 1288,
    "updated_at": "2026-01-30T11:29:54.000000Z",
    "version": "capability_graph_v1"
  },
  "detector_findings": [
    {
      "confidence": 60,
codex
{"no_findings":false,"summary":"Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best‑effort and function context is unknown from bytecode alone.","findings":[{"severity":"medium","category":"other","title":"Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)","exploit_scenario":"If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths.","recommendation":"Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.","evidence":"Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.","locations":["pc:5097"]}]}
tokens used
40,542
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T14:07:01.310140+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 11614,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best\u2011effort and function context is unknown from bytecode alone.",
    "raw_final": {
        "summary": "Bytecode shows a single CALL (pc:5097) with computed target/value. Detectors flag it as untrusted and potentially value-bearing; validation only observed self-call, so impact depends on whether the target/value can vary at runtime. Selector inference is best\u2011effort and function context is unknown from bytecode alone.",
        "findings": [
            {
                "title": "Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear)",
                "category": "other",
                "evidence": "Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.",
                "severity": "medium",
                "locations": [
                    "pc:5097"
                ],
                "recommendation": "Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.",
                "exploit_scenario": "If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
0
Total opcodes
4079
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x011a
0000000a: JUMPI
0000000b: PUSH4 0xffffffff
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: PUSH1 0x00
00000030: CALLDATALOAD
00000031: DIV
00000032: AND
00000033: PUSH4 0x025e7c27
00000038: DUP2
00000039: EQ
0000003a: PUSH2 0x0165
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0x173825d9
00000044: EQ
00000045: PUSH2 0x0197
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0x20ea8d86
0000004f: EQ
00000050: PUSH2 0x01b8
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0x2f54bf6e
0000005a: EQ
0000005b: PUSH2 0x01d0
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0x3411c81c
00000065: EQ
00000066: PUSH2 0x0203
00000069: JUMPI
0000006a: DUP1
0000006b: PUSH4 0x54741525
00000070: EQ
00000071: PUSH2 0x0239
00000074: JUMPI
00000075: DUP1
00000076: PUSH4 0x7065cb48
0000007b: EQ
0000007c: PUSH2 0x0268
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x784547a7
00000086: EQ
00000087: PUSH2 0x0289
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x8b51d13f
00000091: EQ
00000092: PUSH2 0x02b3
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x9ace38c2
0000009c: EQ
0000009d: PUSH2 0x02db
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xa0e67e2b
000000a7: EQ
000000a8: PUSH2 0x039a
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xa8abe69a
000000b2: EQ
000000b3: PUSH2 0x0401
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xb5dc40c3
000000bd: EQ
000000be: PUSH2 0x0478
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xb77bf600
000000c8: EQ
000000c9: PUSH2 0x04e2
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xba51a6df
000000d3: EQ
000000d4: PUSH2 0x0507
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0xc01a8c84
000000de: EQ
000000df: PUSH2 0x051f
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0xc6427474
000000e9: EQ
000000ea: PUSH2 0x0537
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0xd74f8edd
000000f4: EQ
000000f5: PUSH2 0x05ae
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0xdc8452cd
000000ff: EQ
00000100: PUSH2 0x05d3
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0xe20056e6
0000010a: EQ
0000010b: PUSH2 0x05f8
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0xee22610b
00000115: EQ
00000116: PUSH2 0x061f
00000119: JUMPI
0000011a: JUMPDEST
0000011b: JUMPDEST
0000011c: PUSH1 0x00
0000011e: CALLVALUE
0000011f: GT
00000120: ISZERO
00000121: PUSH2 0x0162
00000124: JUMPI
00000125: CALLER
00000126: PUSH1 0x01
00000128: PUSH1 0xa0
0000012a: PUSH1 0x02
0000012c: EXP
0000012d: SUB
0000012e: AND
0000012f: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
00000150: CALLVALUE
00000151: PUSH1 0x40
00000153: MLOAD
00000154: SWAP1
00000155: DUP2
00000156: MSTORE
00000157: PUSH1 0x20
00000159: ADD
0000015a: PUSH1 0x40
0000015c: MLOAD
0000015d: DUP1
0000015e: SWAP2
0000015f: SUB
00000160: SWAP1
00000161: LOG2
00000162: JUMPDEST
00000163: JUMPDEST
00000164: STOP
00000165: JUMPDEST
00000166: CALLVALUE
00000167: ISZERO
00000168: PUSH2 0x0170
0000016b: JUMPI
0000016c: PUSH1 0x00
0000016e: DUP1
0000016f: REVERT
00000170: JUMPDEST
00000171: PUSH2 0x017b
00000174: PUSH1 0x04
00000176: CALLDATALOAD
00000177: PUSH2 0x0637
0000017a: JUMP
0000017b: JUMPDEST
0000017c: PUSH1 0x40
0000017e: MLOAD
0000017f: PUSH1 0x01
00000181: PUSH1 0xa0
00000183: PUSH1 0x02
00000185: EXP
00000186: SUB
00000187: SWAP1
00000188: SWAP2
00000189: AND
0000018a: DUP2
0000018b: MSTORE
0000018c: PUSH1 0x20
0000018e: ADD
0000018f: PUSH1 0x40
00000191: MLOAD
00000192: DUP1
00000193: SWAP2
00000194: SUB
00000195: SWAP1
00000196: RETURN
00000197: JUMPDEST
00000198: CALLVALUE
00000199: ISZERO
0000019a: PUSH2 0x01a2
0000019d: JUMPI
0000019e: PUSH1 0x00
000001a0: DUP1
000001a1: REVERT
000001a2: JUMPDEST
000001a3: PUSH2 0x0162
000001a6: PUSH1 0x01
000001a8: PUSH1 0xa0
000001aa: PUSH1 0x02
000001ac: EXP
000001ad: SUB
000001ae: PUSH1 0x04
000001b0: CALLDATALOAD
000001b1: AND
000001b2: PUSH2 0x0669
000001b5: JUMP
000001b6: JUMPDEST
000001b7: STOP
000001b8: JUMPDEST
000001b9: CALLVALUE
000001ba: ISZERO
000001bb: PUSH2 0x01c3
000001be: JUMPI
000001bf: PUSH1 0x00
000001c1: DUP1
000001c2: REVERT
000001c3: JUMPDEST
000001c4: PUSH2 0x0162
000001c7: PUSH1 0x04
000001c9: CALLDATALOAD
000001ca: PUSH2 0x081a
000001cd: JUMP
000001ce: JUMPDEST
000001cf: STOP
000001d0: JUMPDEST
000001d1: CALLVALUE
000001d2: ISZERO
000001d3: PUSH2 0x01db
000001d6: JUMPI
000001d7: PUSH1 0x00
000001d9: DUP1
000001da: REVERT
000001db: JUMPDEST
000001dc: PUSH2 0x01ef
000001df: PUSH1 0x01
000001e1: PUSH1 0xa0
000001e3: PUSH1 0x02
000001e5: EXP
000001e6: SUB
000001e7: PUSH1 0x04
000001e9: CALLDATALOAD
000001ea: AND
000001eb: PUSH2 0x08fc
000001ee: JUMP
000001ef: JUMPDEST
000001f0: PUSH1 0x40
000001f2: MLOAD
000001f3: SWAP1
000001f4: ISZERO
000001f5: ISZERO
000001f6: DUP2
000001f7: MSTORE
000001f8: PUSH1 0x20
000001fa: ADD
000001fb: PUSH1 0x40
000001fd: MLOAD
000001fe: DUP1
000001ff: SWAP2
00000200: SUB
00000201: SWAP1
00000202: RETURN
00000203: JUMPDEST
00000204: CALLVALUE
00000205: ISZERO
00000206: PUSH2 0x020e
00000209: JUMPI
0000020a: PUSH1 0x00
0000020c: DUP1
0000020d: REVERT
0000020e: JUMPDEST
0000020f: PUSH2 0x01ef
00000212: PUSH1 0x04
00000214: CALLDATALOAD
00000215: PUSH1 0x01
00000217: PUSH1 0xa0
00000219: PUSH1 0x02
0000021b: EXP
0000021c: SUB
0000021d: PUSH1 0x24
0000021f: CALLDATALOAD
00000220: AND
00000221: PUSH2 0x0911
00000224: JUMP
00000225: JUMPDEST
00000226: PUSH1 0x40
00000228: MLOAD
00000229: SWAP1
0000022a: ISZERO
0000022b: ISZERO
0000022c: DUP2
0000022d: MSTORE
0000022e: PUSH1 0x20
00000230: ADD
00000231: PUSH1 0x40
00000233: MLOAD
00000234: DUP1
00000235: SWAP2
00000236: SUB
00000237: SWAP1
00000238: RETURN
00000239: JUMPDEST
0000023a: CALLVALUE
0000023b: ISZERO
0000023c: PUSH2 0x0244
0000023f: JUMPI
00000240: PUSH1 0x00
00000242: DUP1
00000243: REVERT
00000244: JUMPDEST
00000245: PUSH2 0x0256
00000248: PUSH1 0x04
0000024a: CALLDATALOAD
0000024b: ISZERO
0000024c: ISZERO
0000024d: PUSH1 0x24
0000024f: CALLDATALOAD
00000250: ISZERO
00000251: ISZERO
00000252: PUSH2 0x0931
00000255: JUMP
00000256: JUMPDEST
00000257: PUSH1 0x40
00000259: MLOAD
0000025a: SWAP1
0000025b: DUP2
0000025c: MSTORE
0000025d: PUSH1 0x20
0000025f: ADD
00000260: PUSH1 0x40
00000262: MLOAD
00000263: DUP1
00000264: SWAP2
00000265: SUB
00000266: SWAP1
00000267: RETURN
00000268: JUMPDEST
00000269: CALLVALUE
0000026a: ISZERO
0000026b: PUSH2 0x0273
0000026e: JUMPI
0000026f: PUSH1 0x00
00000271: DUP1
00000272: REVERT
00000273: JUMPDEST
00000274: PUSH2 0x0162
00000277: PUSH1 0x01
00000279: PUSH1 0xa0
0000027b: PUSH1 0x02
0000027d: EXP
0000027e: SUB
0000027f: PUSH1 0x04
00000281: CALLDATALOAD
00000282: AND
00000283: PUSH2 0x09a0
00000286: JUMP
00000287: JUMPDEST
00000288: STOP
00000289: JUMPDEST
0000028a: CALLVALUE
0000028b: ISZERO
0000028c: PUSH2 0x0294
0000028f: JUMPI
00000290: PUSH1 0x00
00000292: DUP1
00000293: REVERT
00000294: JUMPDEST
00000295: PUSH2 0x01ef
00000298: PUSH1 0x04
0000029a: CALLDATALOAD
0000029b: PUSH2 0x0ad5
0000029e: JUMP
0000029f: JUMPDEST
000002a0: PUSH1 0x40
000002a2: MLOAD
000002a3: SWAP1
000002a4: ISZERO
000002a5: ISZERO
000002a6: DUP2
000002a7: MSTORE
000002a8: PUSH1 0x20
000002aa: ADD
000002ab: PUSH1 0x40
000002ad: MLOAD
000002ae: DUP1
000002af: SWAP2
000002b0: SUB
000002b1: SWAP1
000002b2: RETURN
000002b3: JUMPDEST
000002b4: CALLVALUE
000002b5: ISZERO
000002b6: PUSH2 0x02be
000002b9: JUMPI
000002ba: PUSH1 0x00
000002bc: DUP1
000002bd: REVERT
000002be: JUMPDEST
000002bf: PUSH2 0x0256
000002c2: PUSH1 0x04
000002c4: CALLDATALOAD
000002c5: PUSH2 0x0b69
000002c8: JUMP
000002c9: JUMPDEST
000002ca: PUSH1 0x40
000002cc: MLOAD
000002cd: SWAP1
000002ce: DUP2
000002cf: MSTORE
000002d0: PUSH1 0x20
000002d2: ADD
000002d3: PUSH1 0x40
000002d5: MLOAD
000002d6: DUP1
000002d7: SWAP2
000002d8: SUB
000002d9: SWAP1
000002da: RETURN
000002db: JUMPDEST
000002dc: CALLVALUE
000002dd: ISZERO
000002de: PUSH2 0x02e6
000002e1: JUMPI
000002e2: PUSH1 0x00
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: PUSH2 0x02f1
000002ea: PUSH1 0x04
000002ec: CALLDATALOAD
000002ed: PUSH2 0x0be8
000002f0: JUMP
000002f1: JUMPDEST
000002f2: PUSH1 0x40
000002f4: MLOAD
000002f5: PUSH1 0x01
000002f7: PUSH1 0xa0
000002f9: PUSH1 0x02
000002fb: EXP
000002fc: SUB
000002fd: DUP6
000002fe: AND
000002ff: DUP2
00000300: MSTORE
00000301: PUSH1 0x20
00000303: DUP2
00000304: ADD
00000305: DUP5
00000306: SWAP1
00000307: MSTORE
00000308: DUP2
00000309: ISZERO
0000030a: ISZERO
0000030b: PUSH1 0x60
0000030d: DUP3
0000030e: ADD
0000030f: MSTORE
00000310: PUSH1 0x80
00000312: PUSH1 0x40
00000314: DUP3
00000315: ADD
00000316: DUP2
00000317: DUP2
00000318: MSTORE
00000319: DUP5
0000031a: SLOAD
0000031b: PUSH1 0x02
0000031d: PUSH1 0x00
0000031f: NOT
00000320: PUSH2 0x0100
00000323: PUSH1 0x01
00000325: DUP5
00000326: AND
00000327: ISZERO
00000328: MUL
00000329: ADD
0000032a: SWAP1
0000032b: SWAP2
0000032c: AND
0000032d: DIV
0000032e: SWAP2
0000032f: DUP4
00000330: ADD
00000331: DUP3
00000332: SWAP1
00000333: MSTORE
00000334: SWAP1
00000335: PUSH1 0xa0
00000337: DUP4
00000338: ADD
00000339: SWAP1
0000033a: DUP6
0000033b: SWAP1
0000033c: DUP1
0000033d: ISZERO
0000033e: PUSH2 0x0388
00000341: JUMPI
00000342: DUP1
00000343: PUSH1 0x1f
00000345: LT
00000346: PUSH2 0x035d
00000349: JUMPI
0000034a: PUSH2 0x0100
0000034d: DUP1
0000034e: DUP4
0000034f: SLOAD
00000350: DIV
00000351: MUL
00000352: DUP4
00000353: MSTORE
00000354: SWAP2
00000355: PUSH1 0x20
00000357: ADD
00000358: SWAP2
00000359: PUSH2 0x0388
0000035c: JUMP
0000035d: JUMPDEST
0000035e: DUP3
0000035f: ADD
00000360: SWAP2
00000361: SWAP1
00000362: PUSH1 0x00
00000364: MSTORE
00000365: PUSH1 0x20
00000367: PUSH1 0x00
00000369: KECCAK256
0000036a: SWAP1
0000036b: JUMPDEST
0000036c: DUP2
0000036d: SLOAD
0000036e: DUP2
0000036f: MSTORE
00000370: SWAP1
00000371: PUSH1 0x01
00000373: ADD
00000374: SWAP1
00000375: PUSH1 0x20
00000377: ADD
00000378: DUP1
00000379: DUP4
0000037a: GT
0000037b: PUSH2 0x036b
0000037e: JUMPI
0000037f: DUP3
00000380: SWAP1
00000381: SUB
00000382: PUSH1 0x1f
00000384: AND
00000385: DUP3
00000386: ADD
00000387: SWAP2
00000388: JUMPDEST
00000389: POP
0000038a: POP
0000038b: SWAP6
0000038c: POP
0000038d: POP
0000038e: POP
0000038f: POP
00000390: POP
00000391: POP
00000392: PUSH1 0x40
00000394: MLOAD
00000395: DUP1
00000396: SWAP2
00000397: SUB
00000398: SWAP1
00000399: RETURN
0000039a: JUMPDEST
0000039b: CALLVALUE
0000039c: ISZERO
0000039d: PUSH2 0x03a5
000003a0: JUMPI
000003a1: PUSH1 0x00
000003a3: DUP1
000003a4: REVERT
000003a5: JUMPDEST
000003a6: PUSH2 0x03ad
000003a9: PUSH2 0x0c1c
000003ac: JUMP
000003ad: JUMPDEST
000003ae: PUSH1 0x40
000003b0: MLOAD
000003b1: PUSH1 0x20
000003b3: DUP1
000003b4: DUP3
000003b5: MSTORE
000003b6: DUP2
000003b7: SWAP1
000003b8: DUP2
000003b9: ADD
000003ba: DUP4
000003bb: DUP2
000003bc: DUP2
000003bd: MLOAD
000003be: DUP2
000003bf: MSTORE
000003c0: PUSH1 0x20
000003c2: ADD
000003c3: SWAP2
000003c4: POP
000003c5: DUP1
000003c6: MLOAD
000003c7: SWAP1
000003c8: PUSH1 0x20
000003ca: ADD
000003cb: SWAP1
000003cc: PUSH1 0x20
000003ce: MUL
000003cf: DUP1
000003d0: DUP4
000003d1: DUP4
000003d2: PUSH1 0x00
000003d4: JUMPDEST
000003d5: DUP4
000003d6: DUP2
000003d7: LT
000003d8: ISZERO
000003d9: PUSH2 0x03ed
000003dc: JUMPI
000003dd: DUP1
000003de: DUP3
000003df: ADD
000003e0: MLOAD
000003e1: DUP2
000003e2: DUP5
000003e3: ADD
000003e4: MSTORE
000003e5: JUMPDEST
000003e6: PUSH1 0x20
000003e8: ADD
000003e9: PUSH2 0x03d4
000003ec: JUMP
000003ed: JUMPDEST
000003ee: POP
000003ef: POP
000003f0: POP
000003f1: POP
000003f2: SWAP1
000003f3: POP
000003f4: ADD
000003f5: SWAP3
000003f6: POP
000003f7: POP
000003f8: POP
000003f9: PUSH1 0x40
000003fb: MLOAD
000003fc: DUP1
000003fd: SWAP2
000003fe: SUB
000003ff: SWAP1
00000400: RETURN
00000401: JUMPDEST
00000402: CALLVALUE
00000403: ISZERO
00000404: PUSH2 0x040c
00000407: JUMPI
00000408: PUSH1 0x00
0000040a: DUP1
0000040b: REVERT
0000040c: JUMPDEST
0000040d: PUSH2 0x03ad
00000410: PUSH1 0x04
00000412: CALLDATALOAD
00000413: PUSH1 0x24
00000415: CALLDATALOAD
00000416: PUSH1 0x44
00000418: CALLDATALOAD
00000419: ISZERO
0000041a: ISZERO
0000041b: PUSH1 0x64
0000041d: CALLDATALOAD
0000041e: ISZERO
0000041f: ISZERO
00000420: PUSH2 0x0c85
00000423: JUMP
00000424: JUMPDEST
00000425: PUSH1 0x40
00000427: MLOAD
00000428: PUSH1 0x20
0000042a: DUP1
0000042b: DUP3
0000042c: MSTORE
0000042d: DUP2
0000042e: SWAP1
0000042f: DUP2
00000430: ADD
00000431: DUP4
00000432: DUP2
00000433: DUP2
00000434: MLOAD
00000435: DUP2
00000436: MSTORE
00000437: PUSH1 0x20
00000439: ADD
0000043a: SWAP2
0000043b: POP
0000043c: DUP1
0000043d: MLOAD
0000043e: SWAP1
0000043f: PUSH1 0x20
00000441: ADD
00000442: SWAP1
00000443: PUSH1 0x20
00000445: MUL
00000446: DUP1
00000447: DUP4
00000448: DUP4
00000449: PUSH1 0x00
0000044b: JUMPDEST
0000044c: DUP4
0000044d: DUP2
0000044e: LT
0000044f: ISZERO
00000450: PUSH2 0x03ed
00000453: JUMPI
00000454: DUP1
00000455: DUP3
00000456: ADD
00000457: MLOAD
00000458: DUP2
00000459: DUP5
0000045a: ADD
0000045b: MSTORE
0000045c: JUMPDEST
0000045d: PUSH1 0x20
0000045f: ADD
00000460: PUSH2 0x03d4
00000463: JUMP
00000464: JUMPDEST
00000465: POP
00000466: POP
00000467: POP
00000468: POP
00000469: SWAP1
0000046a: POP
0000046b: ADD
0000046c: SWAP3
0000046d: POP
0000046e: POP
0000046f: POP
00000470: PUSH1 0x40
00000472: MLOAD
00000473: DUP1
00000474: SWAP2
00000475: SUB
00000476: SWAP1
00000477: RETURN
00000478: JUMPDEST
00000479: CALLVALUE
0000047a: ISZERO
0000047b: PUSH2 0x0483
0000047e: JUMPI
0000047f: PUSH1 0x00
00000481: DUP1
00000482: REVERT
00000483: JUMPDEST
00000484: PUSH2 0x03ad
00000487: PUSH1 0x04
00000489: CALLDATALOAD
0000048a: PUSH2 0x0db3
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH1 0x40
00000491: MLOAD
00000492: PUSH1 0x20
00000494: DUP1
00000495: DUP3
00000496: MSTORE
00000497: DUP2
00000498: SWAP1
00000499: DUP2
0000049a: ADD
0000049b: DUP4
0000049c: DUP2
0000049d: DUP2
0000049e: MLOAD
0000049f: DUP2
000004a0: MSTORE
000004a1: PUSH1 0x20
000004a3: ADD
000004a4: SWAP2
000004a5: POP
000004a6: DUP1
000004a7: MLOAD
000004a8: SWAP1
000004a9: PUSH1 0x20
000004ab: ADD
000004ac: SWAP1
000004ad: PUSH1 0x20
000004af: MUL
000004b0: DUP1
000004b1: DUP4
000004b2: DUP4
000004b3: PUSH1 0x00
000004b5: JUMPDEST
000004b6: DUP4
000004b7: DUP2
000004b8: LT
000004b9: ISZERO
000004ba: PUSH2 0x03ed
000004bd: JUMPI
000004be: DUP1
000004bf: DUP3
000004c0: ADD
000004c1: MLOAD
000004c2: DUP2
000004c3: DUP5
000004c4: ADD
000004c5: MSTORE
000004c6: JUMPDEST
000004c7: PUSH1 0x20
000004c9: ADD
000004ca: PUSH2 0x03d4
000004cd: JUMP
000004ce: JUMPDEST
000004cf: POP
000004d0: POP
000004d1: POP
000004d2: POP
000004d3: SWAP1
000004d4: POP
000004d5: ADD
000004d6: SWAP3
000004d7: POP
000004d8: POP
000004d9: POP
000004da: PUSH1 0x40
000004dc: MLOAD
000004dd: DUP1
000004de: SWAP2
000004df: SUB
000004e0: SWAP1
000004e1: RETURN
000004e2: JUMPDEST
000004e3: CALLVALUE
000004e4: ISZERO
000004e5: PUSH2 0x04ed
000004e8: JUMPI
000004e9: PUSH1 0x00
000004eb: DUP1
000004ec: REVERT
000004ed: JUMPDEST
000004ee: PUSH2 0x0256
000004f1: PUSH2 0x0f35
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH1 0x40
000004f8: MLOAD
000004f9: SWAP1
000004fa: DUP2
000004fb: MSTORE
000004fc: PUSH1 0x20
000004fe: ADD
000004ff: PUSH1 0x40
00000501: MLOAD
00000502: DUP1
00000503: SWAP2
00000504: SUB
00000505: SWAP1
00000506: RETURN
00000507: JUMPDEST
00000508: CALLVALUE
00000509: ISZERO
0000050a: PUSH2 0x0512
0000050d: JUMPI
0000050e: PUSH1 0x00
00000510: DUP1
00000511: REVERT
00000512: JUMPDEST
00000513: PUSH2 0x0162
00000516: PUSH1 0x04
00000518: CALLDATALOAD
00000519: PUSH2 0x0f3b
0000051c: JUMP
0000051d: JUMPDEST
0000051e: STOP
0000051f: JUMPDEST
00000520: CALLVALUE
00000521: ISZERO
00000522: PUSH2 0x052a
00000525: JUMPI
00000526: PUSH1 0x00
00000528: DUP1
00000529: REVERT
0000052a: JUMPDEST
0000052b: PUSH2 0x0162
0000052e: PUSH1 0x04
00000530: CALLDATALOAD
00000531: PUSH2 0x0fc9
00000534: JUMP
00000535: JUMPDEST
00000536: STOP
00000537: JUMPDEST
00000538: CALLVALUE
00000539: ISZERO
0000053a: PUSH2 0x0542
0000053d: JUMPI
0000053e: PUSH1 0x00
00000540: DUP1
00000541: REVERT
00000542: JUMPDEST
00000543: PUSH2 0x0256
00000546: PUSH1 0x04
00000548: DUP1
00000549: CALLDATALOAD
0000054a: PUSH1 0x01
0000054c: PUSH1 0xa0
0000054e: PUSH1 0x02
00000550: EXP
00000551: SUB
00000552: AND
00000553: SWAP1
00000554: PUSH1 0x24
00000556: DUP1
00000557: CALLDATALOAD
00000558: SWAP2
00000559: SWAP1
0000055a: PUSH1 0x64
0000055c: SWAP1
0000055d: PUSH1 0x44
0000055f: CALLDATALOAD
00000560: SWAP1
00000561: DUP2
00000562: ADD
00000563: SWAP1
00000564: DUP4
00000565: ADD
00000566: CALLDATALOAD
00000567: DUP1
00000568: PUSH1 0x20
0000056a: PUSH1 0x1f
0000056c: DUP3
0000056d: ADD
0000056e: DUP2
0000056f: SWAP1
00000570: DIV
00000571: DUP2
00000572: MUL
00000573: ADD
00000574: PUSH1 0x40
00000576: MLOAD
00000577: SWAP1
00000578: DUP2
00000579: ADD
0000057a: PUSH1 0x40
0000057c: MSTORE
0000057d: DUP2
0000057e: DUP2
0000057f: MSTORE
00000580: SWAP3
00000581: SWAP2
00000582: SWAP1
00000583: PUSH1 0x20
00000585: DUP5
00000586: ADD
00000587: DUP4
00000588: DUP4
00000589: DUP1
0000058a: DUP3
0000058b: DUP5
0000058c: CALLDATACOPY
0000058d: POP
0000058e: SWAP5
0000058f: SWAP7
00000590: POP
00000591: PUSH2 0x10bb
00000594: SWAP6
00000595: POP
00000596: POP
00000597: POP
00000598: POP
00000599: POP
0000059a: POP
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH1 0x40
0000059f: MLOAD
000005a0: SWAP1
000005a1: DUP2
000005a2: MSTORE
000005a3: PUSH1 0x20
000005a5: ADD
000005a6: PUSH1 0x40
000005a8: MLOAD
000005a9: DUP1
000005aa: SWAP2
000005ab: SUB
000005ac: SWAP1
000005ad: RETURN
000005ae: JUMPDEST
000005af: CALLVALUE
000005b0: ISZERO
000005b1: PUSH2 0x05b9
000005b4: JUMPI
000005b5: PUSH1 0x00
000005b7: DUP1
000005b8: REVERT
000005b9: JUMPDEST
000005ba: PUSH2 0x0256
000005bd: PUSH2 0x10db
000005c0: JUMP
000005c1: JUMPDEST
000005c2: PUSH1 0x40
000005c4: MLOAD
000005c5: SWAP1
000005c6: DUP2
000005c7: MSTORE
000005c8: PUSH1 0x20
000005ca: ADD
000005cb: PUSH1 0x40
000005cd: MLOAD
000005ce: DUP1
000005cf: SWAP2
000005d0: SUB
000005d1: SWAP1
000005d2: RETURN
000005d3: JUMPDEST
000005d4: CALLVALUE
000005d5: ISZERO
000005d6: PUSH2 0x05de
000005d9: JUMPI
000005da: PUSH1 0x00
000005dc: DUP1
000005dd: REVERT
000005de: JUMPDEST
000005df: PUSH2 0x0256
000005e2: PUSH2 0x10e0
000005e5: JUMP
000005e6: JUMPDEST
000005e7: PUSH1 0x40
000005e9: MLOAD
000005ea: SWAP1
000005eb: DUP2
000005ec: MSTORE
000005ed: PUSH1 0x20
000005ef: ADD
000005f0: PUSH1 0x40
000005f2: MLOAD
000005f3: DUP1
000005f4: SWAP2
000005f5: SUB
000005f6: SWAP1
000005f7: RETURN
000005f8: JUMPDEST
000005f9: CALLVALUE
000005fa: ISZERO
000005fb: PUSH2 0x0603
000005fe: JUMPI
000005ff: PUSH1 0x00
00000601: DUP1
00000602: REVERT
00000603: JUMPDEST
00000604: PUSH2 0x0162
00000607: PUSH1 0x01
00000609: PUSH1 0xa0
0000060b: PUSH1 0x02
0000060d: EXP
0000060e: SUB
0000060f: PUSH1 0x04
00000611: CALLDATALOAD
00000612: DUP2
00000613: AND
00000614: SWAP1
00000615: PUSH1 0x24
00000617: CALLDATALOAD
00000618: AND
00000619: PUSH2 0x10e6
0000061c: JUMP
0000061d: JUMPDEST
0000061e: STOP
0000061f: JUMPDEST
00000620: CALLVALUE
00000621: ISZERO
00000622: PUSH2 0x062a
00000625: JUMPI
00000626: PUSH1 0x00
00000628: DUP1
00000629: REVERT
0000062a: JUMPDEST
0000062b: PUSH2 0x0162
0000062e: PUSH1 0x04
00000630: CALLDATALOAD
00000631: PUSH2 0x12a7
00000634: JUMP
00000635: JUMPDEST
00000636: STOP
00000637: JUMPDEST
00000638: PUSH1 0x03
0000063a: DUP1
0000063b: SLOAD
0000063c: DUP3
0000063d: SWAP1
0000063e: DUP2
0000063f: LT
00000640: PUSH2 0x0645
00000643: JUMPI
00000644: INVALID
00000645: JUMPDEST
00000646: SWAP1
00000647: PUSH1 0x00
00000649: MSTORE
0000064a: PUSH1 0x20
0000064c: PUSH1 0x00
0000064e: KECCAK256
0000064f: SWAP1
00000650: ADD
00000651: PUSH1 0x00
00000653: JUMPDEST
00000654: SWAP2
00000655: POP
00000656: SLOAD
00000657: SWAP1
00000658: PUSH2 0x0100
0000065b: EXP
0000065c: SWAP1
0000065d: DIV
0000065e: PUSH1 0x01
00000660: PUSH1 0xa0
00000662: PUSH1 0x02
00000664: EXP
00000665: SUB
00000666: AND
00000667: DUP2
00000668: JUMP
00000669: JUMPDEST
0000066a: PUSH1 0x00
0000066c: ADDRESS
0000066d: PUSH1 0x01
0000066f: PUSH1 0xa0
00000671: PUSH1 0x02
00000673: EXP
00000674: SUB
00000675: AND
00000676: CALLER
00000677: PUSH1 0x01
00000679: PUSH1 0xa0
0000067b: PUSH1 0x02
0000067d: EXP
0000067e: SUB
0000067f: AND
00000680: EQ
00000681: ISZERO
00000682: ISZERO
00000683: PUSH2 0x068b
00000686: JUMPI
00000687: PUSH1 0x00
00000689: DUP1
0000068a: REVERT
0000068b: JUMPDEST
0000068c: PUSH1 0x01
0000068e: PUSH1 0xa0
00000690: PUSH1 0x02
00000692: EXP
00000693: SUB
00000694: DUP3
00000695: AND
00000696: PUSH1 0x00
00000698: SWAP1
00000699: DUP2
0000069a: MSTORE
0000069b: PUSH1 0x02
0000069d: PUSH1 0x20
0000069f: MSTORE
000006a0: PUSH1 0x40
000006a2: SWAP1
000006a3: KECCAK256
000006a4: SLOAD
000006a5: DUP3
000006a6: SWAP1
000006a7: PUSH1 0xff
000006a9: AND
000006aa: ISZERO
000006ab: ISZERO
000006ac: PUSH2 0x06b4
000006af: JUMPI
000006b0: PUSH1 0x00
000006b2: DUP1
000006b3: REVERT
000006b4: JUMPDEST
000006b5: PUSH1 0x01
000006b7: PUSH1 0xa0
000006b9: PUSH1 0x02
000006bb: EXP
000006bc: SUB
000006bd: DUP4
000006be: AND
000006bf: PUSH1 0x00
000006c1: SWAP1
000006c2: DUP2
000006c3: MSTORE
000006c4: PUSH1 0x02
000006c6: PUSH1 0x20
000006c8: MSTORE
000006c9: PUSH1 0x40
000006cb: DUP2
000006cc: KECCAK256
000006cd: DUP1
000006ce: SLOAD
000006cf: PUSH1 0xff
000006d1: NOT
000006d2: AND
000006d3: SWAP1
000006d4: SSTORE
000006d5: SWAP2
000006d6: POP
000006d7: JUMPDEST
000006d8: PUSH1 0x03
000006da: SLOAD
000006db: PUSH1 0x00
000006dd: NOT
000006de: ADD
000006df: DUP3
000006e0: LT
000006e1: ISZERO
000006e2: PUSH2 0x07af
000006e5: JUMPI
000006e6: DUP3
000006e7: PUSH1 0x01
000006e9: PUSH1 0xa0
000006eb: PUSH1 0x02
000006ed: EXP
000006ee: SUB
000006ef: AND
000006f0: PUSH1 0x03
000006f2: DUP4
000006f3: DUP2
000006f4: SLOAD
000006f5: DUP2
000006f6: LT
000006f7: ISZERO
000006f8: ISZERO
000006f9: PUSH2 0x06fe
000006fc: JUMPI
000006fd: INVALID
000006fe: JUMPDEST
000006ff: SWAP1
00000700: PUSH1 0x00
00000702: MSTORE
00000703: PUSH1 0x20
00000705: PUSH1 0x00
00000707: KECCAK256
00000708: SWAP1
00000709: ADD
0000070a: PUSH1 0x00
0000070c: JUMPDEST
0000070d: SWAP1
0000070e: SLOAD
0000070f: SWAP1
00000710: PUSH2 0x0100
00000713: EXP
00000714: SWAP1
00000715: DIV
00000716: PUSH1 0x01
00000718: PUSH1 0xa0
0000071a: PUSH1 0x02
0000071c: EXP
0000071d: SUB
0000071e: AND
0000071f: PUSH1 0x01
00000721: PUSH1 0xa0
00000723: PUSH1 0x02
00000725: EXP
00000726: SUB
00000727: AND
00000728: EQ
00000729: ISZERO
0000072a: PUSH2 0x07a3
0000072d: JUMPI
0000072e: PUSH1 0x03
00000730: DUP1
00000731: SLOAD
00000732: PUSH1 0x00
00000734: NOT
00000735: DUP2
00000736: ADD
00000737: SWAP1
00000738: DUP2
00000739: LT
0000073a: PUSH2 0x073f
0000073d: JUMPI
0000073e: INVALID
0000073f: JUMPDEST
00000740: SWAP1
00000741: PUSH1 0x00
00000743: MSTORE
00000744: PUSH1 0x20
00000746: PUSH1 0x00
00000748: KECCAK256
00000749: SWAP1
0000074a: ADD
0000074b: PUSH1 0x00
0000074d: JUMPDEST
0000074e: SWAP1
0000074f: SLOAD
00000750: SWAP1
00000751: PUSH2 0x0100
00000754: EXP
00000755: SWAP1
00000756: DIV
00000757: PUSH1 0x01
00000759: PUSH1 0xa0
0000075b: PUSH1 0x02
0000075d: EXP
0000075e: SUB
0000075f: AND
00000760: PUSH1 0x03
00000762: DUP4
00000763: DUP2
00000764: SLOAD
00000765: DUP2
00000766: LT
00000767: ISZERO
00000768: ISZERO
00000769: PUSH2 0x076e
0000076c: JUMPI
0000076d: INVALID
0000076e: JUMPDEST
0000076f: SWAP1
00000770: PUSH1 0x00
00000772: MSTORE
00000773: PUSH1 0x20
00000775: PUSH1 0x00
00000777: KECCAK256
00000778: SWAP1
00000779: ADD
0000077a: PUSH1 0x00
0000077c: JUMPDEST
0000077d: PUSH2 0x0100
00000780: EXP
00000781: DUP2
00000782: SLOAD
00000783: DUP2
00000784: PUSH1 0x01
00000786: PUSH1 0xa0
00000788: PUSH1 0x02
0000078a: EXP
0000078b: SUB
0000078c: MUL
0000078d: NOT
0000078e: AND
0000078f: SWAP1
00000790: DUP4
00000791: PUSH1 0x01
00000793: PUSH1 0xa0
00000795: PUSH1 0x02
00000797: EXP
00000798: SUB
00000799: AND
0000079a: MUL
0000079b: OR
0000079c: SWAP1
0000079d: SSTORE
0000079e: POP
0000079f: PUSH2 0x07af
000007a2: JUMP
000007a3: JUMPDEST
000007a4: JUMPDEST
000007a5: PUSH1 0x01
000007a7: SWAP1
000007a8: SWAP2
000007a9: ADD
000007aa: SWAP1
000007ab: PUSH2 0x06d7
000007ae: JUMP
000007af: JUMPDEST
000007b0: PUSH1 0x03
000007b2: DUP1
000007b3: SLOAD
000007b4: PUSH1 0x00
000007b6: NOT
000007b7: ADD
000007b8: SWAP1
000007b9: PUSH2 0x07c2
000007bc: SWAP1
000007bd: DUP3
000007be: PUSH2 0x156a
000007c1: JUMP
000007c2: JUMPDEST
000007c3: POP
000007c4: PUSH1 0x03
000007c6: SLOAD
000007c7: PUSH1 0x04
000007c9: SLOAD
000007ca: GT
000007cb: ISZERO
000007cc: PUSH2 0x07db
000007cf: JUMPI
000007d0: PUSH1 0x03
000007d2: SLOAD
000007d3: PUSH2 0x07db
000007d6: SWAP1
000007d7: PUSH2 0x0f3b
000007da: JUMP
000007db: JUMPDEST
000007dc: JUMPDEST
000007dd: DUP3
000007de: PUSH1 0x01
000007e0: PUSH1 0xa0
000007e2: PUSH1 0x02
000007e4: EXP
000007e5: SUB
000007e6: AND
000007e7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00000808: PUSH1 0x40
0000080a: MLOAD
0000080b: PUSH1 0x40
0000080d: MLOAD
0000080e: DUP1
0000080f: SWAP2
00000810: SUB
00000811: SWAP1
00000812: LOG2
00000813: JUMPDEST
00000814: JUMPDEST
00000815: POP
00000816: JUMPDEST
00000817: POP
00000818: POP
00000819: JUMP
0000081a: JUMPDEST
0000081b: CALLER
0000081c: PUSH1 0x01
0000081e: PUSH1 0xa0
00000820: PUSH1 0x02
00000822: EXP
00000823: SUB
00000824: DUP2
00000825: AND
00000826: PUSH1 0x00
00000828: SWAP1
00000829: DUP2
0000082a: MSTORE
0000082b: PUSH1 0x02
0000082d: PUSH1 0x20
0000082f: MSTORE
00000830: PUSH1 0x40
00000832: SWAP1
00000833: KECCAK256
00000834: SLOAD
00000835: PUSH1 0xff
00000837: AND
00000838: ISZERO
00000839: ISZERO
0000083a: PUSH2 0x0842
0000083d: JUMPI
0000083e: PUSH1 0x00
00000840: DUP1
00000841: REVERT
00000842: JUMPDEST
00000843: PUSH1 0x00
00000845: DUP3
00000846: DUP2
00000847: MSTORE
00000848: PUSH1 0x01
0000084a: PUSH1 0x20
0000084c: SWAP1
0000084d: DUP2
0000084e: MSTORE
0000084f: PUSH1 0x40
00000851: DUP1
00000852: DUP4
00000853: KECCAK256
00000854: CALLER
00000855: PUSH1 0x01
00000857: PUSH1 0xa0
00000859: PUSH1 0x02
0000085b: EXP
0000085c: SUB
0000085d: DUP2
0000085e: AND
0000085f: DUP6
00000860: MSTORE
00000861: SWAP3
00000862: MSTORE
00000863: SWAP1
00000864: SWAP2
00000865: KECCAK256
00000866: SLOAD
00000867: DUP4
00000868: SWAP2
00000869: SWAP1
0000086a: PUSH1 0xff
0000086c: AND
0000086d: ISZERO
0000086e: ISZERO
0000086f: PUSH2 0x0877
00000872: JUMPI
00000873: PUSH1 0x00
00000875: DUP1
00000876: REVERT
00000877: JUMPDEST
00000878: PUSH1 0x00
0000087a: DUP5
0000087b: DUP2
0000087c: MSTORE
0000087d: PUSH1 0x20
0000087f: DUP2
00000880: SWAP1
00000881: MSTORE
00000882: PUSH1 0x40
00000884: SWAP1
00000885: KECCAK256
00000886: PUSH1 0x03
00000888: ADD
00000889: SLOAD
0000088a: DUP5
0000088b: SWAP1
0000088c: PUSH1 0xff
0000088e: AND
0000088f: ISZERO
00000890: PUSH2 0x0898
00000893: JUMPI
00000894: PUSH1 0x00
00000896: DUP1
00000897: REVERT
00000898: JUMPDEST
00000899: PUSH1 0x00
0000089b: DUP6
0000089c: DUP2
0000089d: MSTORE
0000089e: PUSH1 0x01
000008a0: PUSH1 0x20
000008a2: SWAP1
000008a3: DUP2
000008a4: MSTORE
000008a5: PUSH1 0x40
000008a7: DUP1
000008a8: DUP4
000008a9: KECCAK256
000008aa: PUSH1 0x01
000008ac: PUSH1 0xa0
000008ae: PUSH1 0x02
000008b0: EXP
000008b1: SUB
000008b2: CALLER
000008b3: AND
000008b4: DUP1
000008b5: DUP6
000008b6: MSTORE
000008b7: SWAP3
000008b8: MSTORE
000008b9: SWAP2
000008ba: DUP3
000008bb: SWAP1
000008bc: KECCAK256
000008bd: DUP1
000008be: SLOAD
000008bf: PUSH1 0xff
000008c1: NOT
000008c2: AND
000008c3: SWAP1
000008c4: SSTORE
000008c5: DUP7
000008c6: SWAP2
000008c7: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
000008e8: SWAP1
000008e9: MLOAD
000008ea: PUSH1 0x40
000008ec: MLOAD
000008ed: DUP1
000008ee: SWAP2
000008ef: SUB
000008f0: SWAP1
000008f1: LOG3
000008f2: JUMPDEST
000008f3: JUMPDEST
000008f4: POP
000008f5: JUMPDEST
000008f6: POP
000008f7: POP
000008f8: JUMPDEST
000008f9: POP
000008fa: POP
000008fb: JUMP
000008fc: JUMPDEST
000008fd: PUSH1 0x02
000008ff: PUSH1 0x20
00000901: MSTORE
00000902: PUSH1 0x00
00000904: SWAP1
00000905: DUP2
00000906: MSTORE
00000907: PUSH1 0x40
00000909: SWAP1
0000090a: KECCAK256
0000090b: SLOAD
0000090c: PUSH1 0xff
0000090e: AND
0000090f: DUP2
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH1 0x01
00000914: PUSH1 0x20
00000916: SWAP1
00000917: DUP2
00000918: MSTORE
00000919: PUSH1 0x00
0000091b: SWAP3
0000091c: DUP4
0000091d: MSTORE
0000091e: PUSH1 0x40
00000920: DUP1
00000921: DUP5
00000922: KECCAK256
00000923: SWAP1
00000924: SWAP2
00000925: MSTORE
00000926: SWAP1
00000927: DUP3
00000928: MSTORE
00000929: SWAP1
0000092a: KECCAK256
0000092b: SLOAD
0000092c: PUSH1 0xff
0000092e: AND
0000092f: DUP2
00000930: JUMP
00000931: JUMPDEST
00000932: PUSH1 0x00
00000934: DUP1
00000935: JUMPDEST
00000936: PUSH1 0x05
00000938: SLOAD
00000939: DUP2
0000093a: LT
0000093b: ISZERO
0000093c: PUSH2 0x0998
0000093f: JUMPI
00000940: DUP4
00000941: DUP1
00000942: ISZERO
00000943: PUSH2 0x095e
00000946: JUMPI
00000947: POP
00000948: PUSH1 0x00
0000094a: DUP2
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x20
0000094f: DUP2
00000950: SWAP1
00000951: MSTORE
00000952: PUSH1 0x40
00000954: SWAP1
00000955: KECCAK256
00000956: PUSH1 0x03
00000958: ADD
00000959: SLOAD
0000095a: PUSH1 0xff
0000095c: AND
0000095d: ISZERO
0000095e: JUMPDEST
0000095f: DUP1
00000960: PUSH2 0x0982
00000963: JUMPI
00000964: POP
00000965: DUP3
00000966: DUP1
00000967: ISZERO
00000968: PUSH2 0x0982
0000096b: JUMPI
0000096c: POP
0000096d: PUSH1 0x00
0000096f: DUP2
00000970: DUP2
00000971: MSTORE
00000972: PUSH1 0x20
00000974: DUP2
00000975: SWAP1
00000976: MSTORE
00000977: PUSH1 0x40
00000979: SWAP1
0000097a: KECCAK256
0000097b: PUSH1 0x03
0000097d: ADD
0000097e: SLOAD
0000097f: PUSH1 0xff
00000981: AND
00000982: JUMPDEST
00000983: JUMPDEST
00000984: ISZERO
00000985: PUSH2 0x098f
00000988: JUMPI
00000989: PUSH1 0x01
0000098b: DUP3
0000098c: ADD
0000098d: SWAP2
0000098e: POP
0000098f: JUMPDEST
00000990: JUMPDEST
00000991: PUSH1 0x01
00000993: ADD
00000994: PUSH2 0x0935
00000997: JUMP
00000998: JUMPDEST
00000999: JUMPDEST
0000099a: POP
0000099b: SWAP3
0000099c: SWAP2
0000099d: POP
0000099e: POP
0000099f: JUMP
000009a0: JUMPDEST
000009a1: ADDRESS
000009a2: PUSH1 0x01
000009a4: PUSH1 0xa0
000009a6: PUSH1 0x02
000009a8: EXP
000009a9: SUB
000009aa: AND
000009ab: CALLER
000009ac: PUSH1 0x01
000009ae: PUSH1 0xa0
000009b0: PUSH1 0x02
000009b2: EXP
000009b3: SUB
000009b4: AND
000009b5: EQ
000009b6: ISZERO
000009b7: ISZERO
000009b8: PUSH2 0x09c0
000009bb: JUMPI
000009bc: PUSH1 0x00
000009be: DUP1
000009bf: REVERT
000009c0: JUMPDEST
000009c1: PUSH1 0x01
000009c3: PUSH1 0xa0
000009c5: PUSH1 0x02
000009c7: EXP
000009c8: SUB
000009c9: DUP2
000009ca: AND
000009cb: PUSH1 0x00
000009cd: SWAP1
000009ce: DUP2
000009cf: MSTORE
000009d0: PUSH1 0x02
000009d2: PUSH1 0x20
000009d4: MSTORE
000009d5: PUSH1 0x40
000009d7: SWAP1
000009d8: KECCAK256
000009d9: SLOAD
000009da: DUP2
000009db: SWAP1
000009dc: PUSH1 0xff
000009de: AND
000009df: ISZERO
000009e0: PUSH2 0x09e8
000009e3: JUMPI
000009e4: PUSH1 0x00
000009e6: DUP1
000009e7: REVERT
000009e8: JUMPDEST
000009e9: DUP2
000009ea: PUSH1 0x01
000009ec: PUSH1 0xa0
000009ee: PUSH1 0x02
000009f0: EXP
000009f1: SUB
000009f2: DUP2
000009f3: AND
000009f4: ISZERO
000009f5: ISZERO
000009f6: PUSH2 0x09fe
000009f9: JUMPI
000009fa: PUSH1 0x00
000009fc: DUP1
000009fd: REVERT
000009fe: JUMPDEST
000009ff: PUSH1 0x03
00000a01: DUP1
00000a02: SLOAD
00000a03: SWAP1
00000a04: POP
00000a05: PUSH1 0x01
00000a07: ADD
00000a08: PUSH1 0x04
00000a0a: SLOAD
00000a0b: PUSH1 0x32
00000a0d: DUP3
00000a0e: GT
00000a0f: DUP1
00000a10: PUSH2 0x0a18
00000a13: JUMPI
00000a14: POP
00000a15: DUP2
00000a16: DUP2
00000a17: GT
00000a18: JUMPDEST
00000a19: DUP1
00000a1a: PUSH2 0x0a21
00000a1d: JUMPI
00000a1e: POP
00000a1f: DUP1
00000a20: ISZERO
00000a21: JUMPDEST
00000a22: DUP1
00000a23: PUSH2 0x0a2a
00000a26: JUMPI
00000a27: POP
00000a28: DUP2
00000a29: ISZERO
00000a2a: JUMPDEST
00000a2b: ISZERO
00000a2c: PUSH2 0x0a34
00000a2f: JUMPI
00000a30: PUSH1 0x00
00000a32: DUP1
00000a33: REVERT
00000a34: JUMPDEST
00000a35: PUSH1 0x01
00000a37: PUSH1 0xa0
00000a39: PUSH1 0x02
00000a3b: EXP
00000a3c: SUB
00000a3d: DUP6
00000a3e: AND
00000a3f: PUSH1 0x00
00000a41: SWAP1
00000a42: DUP2
00000a43: MSTORE
00000a44: PUSH1 0x02
00000a46: PUSH1 0x20
00000a48: MSTORE
00000a49: PUSH1 0x40
00000a4b: SWAP1
00000a4c: KECCAK256
00000a4d: DUP1
00000a4e: SLOAD
00000a4f: PUSH1 0xff
00000a51: NOT
00000a52: AND
00000a53: PUSH1 0x01
00000a55: SWAP1
00000a56: DUP2
00000a57: OR
00000a58: SWAP1
00000a59: SWAP2
00000a5a: SSTORE
00000a5b: PUSH1 0x03
00000a5d: DUP1
00000a5e: SLOAD
00000a5f: SWAP1
00000a60: SWAP2
00000a61: DUP2
00000a62: ADD
00000a63: PUSH2 0x0a6c
00000a66: DUP4
00000a67: DUP3
00000a68: PUSH2 0x156a
00000a6b: JUMP
00000a6c: JUMPDEST
00000a6d: SWAP2
00000a6e: PUSH1 0x00
00000a70: MSTORE
00000a71: PUSH1 0x20
00000a73: PUSH1 0x00
00000a75: KECCAK256
00000a76: SWAP1
00000a77: ADD
00000a78: PUSH1 0x00
00000a7a: JUMPDEST
00000a7b: DUP2
00000a7c: SLOAD
00000a7d: PUSH1 0x01
00000a7f: PUSH1 0xa0
00000a81: PUSH1 0x02
00000a83: EXP
00000a84: SUB
00000a85: DUP1
00000a86: DUP11
00000a87: AND
00000a88: PUSH2 0x0100
00000a8b: SWAP4
00000a8c: SWAP1
00000a8d: SWAP4
00000a8e: EXP
00000a8f: DUP4
00000a90: DUP2
00000a91: MUL
00000a92: SWAP2
00000a93: MUL
00000a94: NOT
00000a95: SWAP1
00000a96: SWAP2
00000a97: AND
00000a98: OR
00000a99: SWAP1
00000a9a: SWAP2
00000a9b: SSTORE
00000a9c: SWAP1
00000a9d: POP
00000a9e: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00000abf: PUSH1 0x40
00000ac1: MLOAD
00000ac2: PUSH1 0x40
00000ac4: MLOAD
00000ac5: DUP1
00000ac6: SWAP2
00000ac7: SUB
00000ac8: SWAP1
00000ac9: LOG2
00000aca: JUMPDEST
00000acb: JUMPDEST
00000acc: POP
00000acd: POP
00000ace: JUMPDEST
00000acf: POP
00000ad0: JUMPDEST
00000ad1: POP
00000ad2: JUMPDEST
00000ad3: POP
00000ad4: JUMP
00000ad5: JUMPDEST
00000ad6: PUSH1 0x00
00000ad8: DUP1
00000ad9: DUP1
00000ada: JUMPDEST
00000adb: PUSH1 0x03
00000add: SLOAD
00000ade: DUP2
00000adf: LT
00000ae0: ISZERO
00000ae1: PUSH2 0x0b61
00000ae4: JUMPI
00000ae5: PUSH1 0x00
00000ae7: DUP5
00000ae8: DUP2
00000ae9: MSTORE
00000aea: PUSH1 0x01
00000aec: PUSH1 0x20
00000aee: MSTORE
00000aef: PUSH1 0x40
00000af1: DUP2
00000af2: KECCAK256
00000af3: PUSH1 0x03
00000af5: DUP1
00000af6: SLOAD
00000af7: SWAP2
00000af8: SWAP3
00000af9: SWAP2
00000afa: DUP5
00000afb: SWAP1
00000afc: DUP2
00000afd: LT
00000afe: PUSH2 0x0b03
00000b01: JUMPI
00000b02: INVALID
00000b03: JUMPDEST
00000b04: SWAP1
00000b05: PUSH1 0x00
00000b07: MSTORE
00000b08: PUSH1 0x20
00000b0a: PUSH1 0x00
00000b0c: KECCAK256
00000b0d: SWAP1
00000b0e: ADD
00000b0f: PUSH1 0x00
00000b11: JUMPDEST
00000b12: SWAP1
00000b13: SLOAD
00000b14: PUSH1 0x01
00000b16: PUSH1 0xa0
00000b18: PUSH1 0x02
00000b1a: EXP
00000b1b: SUB
00000b1c: PUSH2 0x0100
00000b1f: SWAP3
00000b20: SWAP1
00000b21: SWAP3
00000b22: EXP
00000b23: SWAP1
00000b24: DIV
00000b25: AND
00000b26: DUP2
00000b27: MSTORE
00000b28: PUSH1 0x20
00000b2a: DUP2
00000b2b: ADD
00000b2c: SWAP2
00000b2d: SWAP1
00000b2e: SWAP2
00000b2f: MSTORE
00000b30: PUSH1 0x40
00000b32: ADD
00000b33: PUSH1 0x00
00000b35: KECCAK256
00000b36: SLOAD
00000b37: PUSH1 0xff
00000b39: AND
00000b3a: ISZERO
00000b3b: PUSH2 0x0b45
00000b3e: JUMPI
00000b3f: PUSH1 0x01
00000b41: DUP3
00000b42: ADD
00000b43: SWAP2
00000b44: POP
00000b45: JUMPDEST
00000b46: PUSH1 0x04
00000b48: SLOAD
00000b49: DUP3
00000b4a: EQ
00000b4b: ISZERO
00000b4c: PUSH2 0x0b58
00000b4f: JUMPI
00000b50: PUSH1 0x01
00000b52: SWAP3
00000b53: POP
00000b54: PUSH2 0x0b61
00000b57: JUMP
00000b58: JUMPDEST
00000b59: JUMPDEST
00000b5a: PUSH1 0x01
00000b5c: ADD
00000b5d: PUSH2 0x0ada
00000b60: JUMP
00000b61: JUMPDEST
00000b62: JUMPDEST
00000b63: POP
00000b64: POP
00000b65: SWAP2
00000b66: SWAP1
00000b67: POP
00000b68: JUMP
00000b69: JUMPDEST
00000b6a: PUSH1 0x00
00000b6c: DUP1
00000b6d: JUMPDEST
00000b6e: PUSH1 0x03
00000b70: SLOAD
00000b71: DUP2
00000b72: LT
00000b73: ISZERO
00000b74: PUSH2 0x0be1
00000b77: JUMPI
00000b78: PUSH1 0x00
00000b7a: DUP4
00000b7b: DUP2
00000b7c: MSTORE
00000b7d: PUSH1 0x01
00000b7f: PUSH1 0x20
00000b81: MSTORE
00000b82: PUSH1 0x40
00000b84: DUP2
00000b85: KECCAK256
00000b86: PUSH1 0x03
00000b88: DUP1
00000b89: SLOAD
00000b8a: SWAP2
00000b8b: SWAP3
00000b8c: SWAP2
00000b8d: DUP5
00000b8e: SWAP1
00000b8f: DUP2
00000b90: LT
00000b91: PUSH2 0x0b96
00000b94: JUMPI
00000b95: INVALID
00000b96: JUMPDEST
00000b97: SWAP1
00000b98: PUSH1 0x00
00000b9a: MSTORE
00000b9b: PUSH1 0x20
00000b9d: PUSH1 0x00
00000b9f: KECCAK256
00000ba0: SWAP1
00000ba1: ADD
00000ba2: PUSH1 0x00
00000ba4: JUMPDEST
00000ba5: SWAP1
00000ba6: SLOAD
00000ba7: PUSH1 0x01
00000ba9: PUSH1 0xa0
00000bab: PUSH1 0x02
00000bad: EXP
00000bae: SUB
00000baf: PUSH2 0x0100
00000bb2: SWAP3
00000bb3: SWAP1
00000bb4: SWAP3
00000bb5: EXP
00000bb6: SWAP1
00000bb7: DIV
00000bb8: AND
00000bb9: DUP2
00000bba: MSTORE
00000bbb: PUSH1 0x20
00000bbd: DUP2
00000bbe: ADD
00000bbf: SWAP2
00000bc0: SWAP1
00000bc1: SWAP2
00000bc2: MSTORE
00000bc3: PUSH1 0x40
00000bc5: ADD
00000bc6: PUSH1 0x00
00000bc8: KECCAK256
00000bc9: SLOAD
00000bca: PUSH1 0xff
00000bcc: AND
00000bcd: ISZERO
00000bce: PUSH2 0x0bd8
00000bd1: JUMPI
00000bd2: PUSH1 0x01
00000bd4: DUP3
00000bd5: ADD
00000bd6: SWAP2
00000bd7: POP
00000bd8: JUMPDEST
00000bd9: JUMPDEST
00000bda: PUSH1 0x01
00000bdc: ADD
00000bdd: PUSH2 0x0b6d
00000be0: JUMP
00000be1: JUMPDEST
00000be2: JUMPDEST
00000be3: POP
00000be4: SWAP2
00000be5: SWAP1
00000be6: POP
00000be7: JUMP
00000be8: JUMPDEST
00000be9: PUSH1 0x00
00000beb: PUSH1 0x20
00000bed: DUP2
00000bee: SWAP1
00000bef: MSTORE
00000bf0: SWAP1
00000bf1: DUP2
00000bf2: MSTORE
00000bf3: PUSH1 0x40
00000bf5: SWAP1
00000bf6: KECCAK256
00000bf7: DUP1
00000bf8: SLOAD
00000bf9: PUSH1 0x01
00000bfb: DUP3
00000bfc: ADD
00000bfd: SLOAD
00000bfe: PUSH1 0x03
00000c00: DUP4
00000c01: ADD
00000c02: SLOAD
00000c03: PUSH1 0x01
00000c05: PUSH1 0xa0
00000c07: PUSH1 0x02
00000c09: EXP
00000c0a: SUB
00000c0b: SWAP1
00000c0c: SWAP3
00000c0d: AND
00000c0e: SWAP3
00000c0f: SWAP1
00000c10: SWAP2
00000c11: PUSH1 0x02
00000c13: SWAP1
00000c14: SWAP2
00000c15: ADD
00000c16: SWAP1
00000c17: PUSH1 0xff
00000c19: AND
00000c1a: DUP5
00000c1b: JUMP
00000c1c: JUMPDEST
00000c1d: PUSH2 0x0c24
00000c20: PUSH2 0x15be
00000c23: JUMP
00000c24: JUMPDEST
00000c25: PUSH1 0x03
00000c27: DUP1
00000c28: SLOAD
00000c29: DUP1
00000c2a: PUSH1 0x20
00000c2c: MUL
00000c2d: PUSH1 0x20
00000c2f: ADD
00000c30: PUSH1 0x40
00000c32: MLOAD
00000c33: SWAP1
00000c34: DUP2
00000c35: ADD
00000c36: PUSH1 0x40
00000c38: MSTORE
00000c39: DUP1
00000c3a: SWAP3
00000c3b: SWAP2
00000c3c: SWAP1
00000c3d: DUP2
00000c3e: DUP2
00000c3f: MSTORE
00000c40: PUSH1 0x20
00000c42: ADD
00000c43: DUP3
00000c44: DUP1
00000c45: SLOAD
00000c46: DUP1
00000c47: ISZERO
00000c48: PUSH2 0x0c7a
00000c4b: JUMPI
00000c4c: PUSH1 0x20
00000c4e: MUL
00000c4f: DUP3
00000c50: ADD
00000c51: SWAP2
00000c52: SWAP1
00000c53: PUSH1 0x00
00000c55: MSTORE
00000c56: PUSH1 0x20
00000c58: PUSH1 0x00
00000c5a: KECCAK256
00000c5b: SWAP1
00000c5c: JUMPDEST
00000c5d: DUP2
00000c5e: SLOAD
00000c5f: PUSH1 0x01
00000c61: PUSH1 0xa0
00000c63: PUSH1 0x02
00000c65: EXP
00000c66: SUB
00000c67: AND
00000c68: DUP2
00000c69: MSTORE
00000c6a: PUSH1 0x01
00000c6c: SWAP1
00000c6d: SWAP2
00000c6e: ADD
00000c6f: SWAP1
00000c70: PUSH1 0x20
00000c72: ADD
00000c73: DUP1
00000c74: DUP4
00000c75: GT
00000c76: PUSH2 0x0c5c
00000c79: JUMPI
00000c7a: JUMPDEST
00000c7b: POP
00000c7c: POP
00000c7d: POP
00000c7e: POP
00000c7f: POP
00000c80: SWAP1
00000c81: POP
00000c82: JUMPDEST
00000c83: SWAP1
00000c84: JUMP
00000c85: JUMPDEST
00000c86: PUSH2 0x0c8d
00000c89: PUSH2 0x15be
00000c8c: JUMP
00000c8d: JUMPDEST
00000c8e: PUSH2 0x0c95
00000c91: PUSH2 0x15be
00000c94: JUMP
00000c95: JUMPDEST
00000c96: PUSH1 0x00
00000c98: DUP1
00000c99: PUSH1 0x05
00000c9b: SLOAD
00000c9c: PUSH1 0x40
00000c9e: MLOAD
00000c9f: DUP1
00000ca0: MSIZE
00000ca1: LT
00000ca2: PUSH2 0x0ca8
00000ca5: JUMPI
00000ca6: POP
00000ca7: MSIZE
00000ca8: JUMPDEST
00000ca9: SWAP1
00000caa: DUP1
00000cab: DUP3
00000cac: MSTORE
00000cad: DUP1
00000cae: PUSH1 0x20
00000cb0: MUL
00000cb1: PUSH1 0x20
00000cb3: ADD
00000cb4: DUP3
00000cb5: ADD
00000cb6: PUSH1 0x40
00000cb8: MSTORE
00000cb9: JUMPDEST
00000cba: POP
00000cbb: SWAP3
00000cbc: POP
00000cbd: PUSH1 0x00
00000cbf: SWAP2
00000cc0: POP
00000cc1: PUSH1 0x00
00000cc3: SWAP1
00000cc4: POP
00000cc5: JUMPDEST
00000cc6: PUSH1 0x05
00000cc8: SLOAD
00000cc9: DUP2
00000cca: LT
00000ccb: ISZERO
00000ccc: PUSH2 0x0d40
00000ccf: JUMPI
00000cd0: DUP6
00000cd1: DUP1
00000cd2: ISZERO
00000cd3: PUSH2 0x0cee
00000cd6: JUMPI
00000cd7: POP
00000cd8: PUSH1 0x00
00000cda: DUP2
00000cdb: DUP2
00000cdc: MSTORE
00000cdd: PUSH1 0x20
00000cdf: DUP2
00000ce0: SWAP1
00000ce1: MSTORE
00000ce2: PUSH1 0x40
00000ce4: SWAP1
00000ce5: KECCAK256
00000ce6: PUSH1 0x03
00000ce8: ADD
00000ce9: SLOAD
00000cea: PUSH1 0xff
00000cec: AND
00000ced: ISZERO
00000cee: JUMPDEST
00000cef: DUP1
00000cf0: PUSH2 0x0d12
00000cf3: JUMPI
00000cf4: POP
00000cf5: DUP5
00000cf6: DUP1
00000cf7: ISZERO
00000cf8: PUSH2 0x0d12
00000cfb: JUMPI
00000cfc: POP
00000cfd: PUSH1 0x00
00000cff: DUP2
00000d00: DUP2
00000d01: MSTORE
00000d02: PUSH1 0x20
00000d04: DUP2
00000d05: SWAP1
00000d06: MSTORE
00000d07: PUSH1 0x40
00000d09: SWAP1
00000d0a: KECCAK256
00000d0b: PUSH1 0x03
00000d0d: ADD
00000d0e: SLOAD
00000d0f: PUSH1 0xff
00000d11: AND
00000d12: JUMPDEST
00000d13: JUMPDEST
00000d14: ISZERO
00000d15: PUSH2 0x0d37
00000d18: JUMPI
00000d19: DUP1
00000d1a: DUP4
00000d1b: DUP4
00000d1c: DUP2
00000d1d: MLOAD
00000d1e: DUP2
00000d1f: LT
00000d20: PUSH2 0x0d25
00000d23: JUMPI
00000d24: INVALID
00000d25: JUMPDEST
00000d26: PUSH1 0x20
00000d28: SWAP1
00000d29: DUP2
00000d2a: MUL
00000d2b: SWAP1
00000d2c: SWAP2
00000d2d: ADD
00000d2e: ADD
00000d2f: MSTORE
00000d30: PUSH1 0x01
00000d32: SWAP2
00000d33: SWAP1
00000d34: SWAP2
00000d35: ADD
00000d36: SWAP1
00000d37: JUMPDEST
00000d38: JUMPDEST
00000d39: PUSH1 0x01
00000d3b: ADD
00000d3c: PUSH2 0x0cc5
00000d3f: JUMP
00000d40: JUMPDEST
00000d41: DUP8
00000d42: DUP8
00000d43: SUB
00000d44: PUSH1 0x40
00000d46: MLOAD
00000d47: DUP1
00000d48: MSIZE
00000d49: LT
00000d4a: PUSH2 0x0d50
00000d4d: JUMPI
00000d4e: POP
00000d4f: MSIZE
00000d50: JUMPDEST
00000d51: SWAP1
00000d52: DUP1
00000d53: DUP3
00000d54: MSTORE
00000d55: DUP1
00000d56: PUSH1 0x20
00000d58: MUL
00000d59: PUSH1 0x20
00000d5b: ADD
00000d5c: DUP3
00000d5d: ADD
00000d5e: PUSH1 0x40
00000d60: MSTORE
00000d61: JUMPDEST
00000d62: POP
00000d63: SWAP4
00000d64: POP
00000d65: DUP8
00000d66: SWAP1
00000d67: POP
00000d68: JUMPDEST
00000d69: DUP7
00000d6a: DUP2
00000d6b: LT
00000d6c: ISZERO
00000d6d: PUSH2 0x0da7
00000d70: JUMPI
00000d71: DUP3
00000d72: DUP2
00000d73: DUP2
00000d74: MLOAD
00000d75: DUP2
00000d76: LT
00000d77: PUSH2 0x0d7c
00000d7a: JUMPI
00000d7b: INVALID
00000d7c: JUMPDEST
00000d7d: SWAP1
00000d7e: PUSH1 0x20
00000d80: ADD
00000d81: SWAP1
00000d82: PUSH1 0x20
00000d84: MUL
00000d85: ADD
00000d86: MLOAD
00000d87: DUP5
00000d88: DUP10
00000d89: DUP4
00000d8a: SUB
00000d8b: DUP2
00000d8c: MLOAD
00000d8d: DUP2
00000d8e: LT
00000d8f: PUSH2 0x0d94
00000d92: JUMPI
00000d93: INVALID
00000d94: JUMPDEST
00000d95: PUSH1 0x20
00000d97: SWAP1
00000d98: DUP2
00000d99: MUL
00000d9a: SWAP1
00000d9b: SWAP2
00000d9c: ADD
00000d9d: ADD
00000d9e: MSTORE
00000d9f: JUMPDEST
00000da0: PUSH1 0x01
00000da2: ADD
00000da3: PUSH2 0x0d68
00000da6: JUMP
00000da7: JUMPDEST
00000da8: JUMPDEST
00000da9: POP
00000daa: POP
00000dab: POP
00000dac: SWAP5
00000dad: SWAP4
00000dae: POP
00000daf: POP
00000db0: POP
00000db1: POP
00000db2: JUMP
00000db3: JUMPDEST
00000db4: PUSH2 0x0dbb
00000db7: PUSH2 0x15be
00000dba: JUMP
00000dbb: JUMPDEST
00000dbc: PUSH2 0x0dc3
00000dbf: PUSH2 0x15be
00000dc2: JUMP
00000dc3: JUMPDEST
00000dc4: PUSH1 0x03
00000dc6: SLOAD
00000dc7: PUSH1 0x00
00000dc9: SWAP1
00000dca: DUP2
00000dcb: SWAP1
00000dcc: PUSH1 0x40
00000dce: MLOAD
00000dcf: DUP1
00000dd0: MSIZE
00000dd1: LT
00000dd2: PUSH2 0x0dd8
00000dd5: JUMPI
00000dd6: POP
00000dd7: MSIZE
00000dd8: JUMPDEST
00000dd9: SWAP1
00000dda: DUP1
00000ddb: DUP3
00000ddc: MSTORE
00000ddd: DUP1
00000dde: PUSH1 0x20
00000de0: MUL
00000de1: PUSH1 0x20
00000de3: ADD
00000de4: DUP3
00000de5: ADD
00000de6: PUSH1 0x40
00000de8: MSTORE
00000de9: JUMPDEST
00000dea: POP
00000deb: SWAP3
00000dec: POP
00000ded: PUSH1 0x00
00000def: SWAP2
00000df0: POP
00000df1: PUSH1 0x00
00000df3: SWAP1
00000df4: POP
00000df5: JUMPDEST
00000df6: PUSH1 0x03
00000df8: SLOAD
00000df9: DUP2
00000dfa: LT
00000dfb: ISZERO
00000dfc: PUSH2 0x0ebb
00000dff: JUMPI
00000e00: PUSH1 0x00
00000e02: DUP6
00000e03: DUP2
00000e04: MSTORE
00000e05: PUSH1 0x01
00000e07: PUSH1 0x20
00000e09: MSTORE
00000e0a: PUSH1 0x40
00000e0c: DUP2
00000e0d: KECCAK256
00000e0e: PUSH1 0x03
00000e10: DUP1
00000e11: SLOAD
00000e12: SWAP2
00000e13: SWAP3
00000e14: SWAP2
00000e15: DUP5
00000e16: SWAP1
00000e17: DUP2
00000e18: LT
00000e19: PUSH2 0x0e1e
00000e1c: JUMPI
00000e1d: INVALID
00000e1e: JUMPDEST
00000e1f: SWAP1
00000e20: PUSH1 0x00
00000e22: MSTORE
00000e23: PUSH1 0x20
00000e25: PUSH1 0x00
00000e27: KECCAK256
00000e28: SWAP1
00000e29: ADD
00000e2a: PUSH1 0x00
00000e2c: JUMPDEST
00000e2d: SWAP1
00000e2e: SLOAD
00000e2f: PUSH1 0x01
00000e31: PUSH1 0xa0
00000e33: PUSH1 0x02
00000e35: EXP
00000e36: SUB
00000e37: PUSH2 0x0100
00000e3a: SWAP3
00000e3b: SWAP1
00000e3c: SWAP3
00000e3d: EXP
00000e3e: SWAP1
00000e3f: DIV
00000e40: AND
00000e41: DUP2
00000e42: MSTORE
00000e43: PUSH1 0x20
00000e45: DUP2
00000e46: ADD
00000e47: SWAP2
00000e48: SWAP1
00000e49: SWAP2
00000e4a: MSTORE
00000e4b: PUSH1 0x40
00000e4d: ADD
00000e4e: PUSH1 0x00
00000e50: KECCAK256
00000e51: SLOAD
00000e52: PUSH1 0xff
00000e54: AND
00000e55: ISZERO
00000e56: PUSH2 0x0eb2
00000e59: JUMPI
00000e5a: PUSH1 0x03
00000e5c: DUP1
00000e5d: SLOAD
00000e5e: DUP3
00000e5f: SWAP1
00000e60: DUP2
00000e61: LT
00000e62: PUSH2 0x0e67
00000e65: JUMPI
00000e66: INVALID
00000e67: JUMPDEST
00000e68: SWAP1
00000e69: PUSH1 0x00
00000e6b: MSTORE
00000e6c: PUSH1 0x20
00000e6e: PUSH1 0x00
00000e70: KECCAK256
00000e71: SWAP1
00000e72: ADD
00000e73: PUSH1 0x00
00000e75: JUMPDEST
00000e76: SWAP1
00000e77: SLOAD
00000e78: SWAP1
00000e79: PUSH2 0x0100
00000e7c: EXP
00000e7d: SWAP1
00000e7e: DIV
00000e7f: PUSH1 0x01
00000e81: PUSH1 0xa0
00000e83: PUSH1 0x02
00000e85: EXP
00000e86: SUB
00000e87: AND
00000e88: DUP4
00000e89: DUP4
00000e8a: DUP2
00000e8b: MLOAD
00000e8c: DUP2
00000e8d: LT
00000e8e: PUSH2 0x0e93
00000e91: JUMPI
00000e92: INVALID
00000e93: JUMPDEST
00000e94: PUSH1 0x01
00000e96: PUSH1 0xa0
00000e98: PUSH1 0x02
00000e9a: EXP
00000e9b: SUB
00000e9c: SWAP1
00000e9d: SWAP3
00000e9e: AND
00000e9f: PUSH1 0x20
00000ea1: SWAP3
00000ea2: DUP4
00000ea3: MUL
00000ea4: SWAP1
00000ea5: SWAP2
00000ea6: ADD
00000ea7: SWAP1
00000ea8: SWAP2
00000ea9: ADD
00000eaa: MSTORE
00000eab: PUSH1 0x01
00000ead: SWAP2
00000eae: SWAP1
00000eaf: SWAP2
00000eb0: ADD
00000eb1: SWAP1
00000eb2: JUMPDEST
00000eb3: JUMPDEST
00000eb4: PUSH1 0x01
00000eb6: ADD
00000eb7: PUSH2 0x0df5
00000eba: JUMP
00000ebb: JUMPDEST
00000ebc: DUP2
00000ebd: PUSH1 0x40
00000ebf: MLOAD
00000ec0: DUP1
00000ec1: MSIZE
00000ec2: LT
00000ec3: PUSH2 0x0ec9
00000ec6: JUMPI
00000ec7: POP
00000ec8: MSIZE
00000ec9: JUMPDEST
00000eca: SWAP1
00000ecb: DUP1
00000ecc: DUP3
00000ecd: MSTORE
00000ece: DUP1
00000ecf: PUSH1 0x20
00000ed1: MUL
00000ed2: PUSH1 0x20
00000ed4: ADD
00000ed5: DUP3
00000ed6: ADD
00000ed7: PUSH1 0x40
00000ed9: MSTORE
00000eda: JUMPDEST
00000edb: POP
00000edc: SWAP4
00000edd: POP
00000ede: PUSH1 0x00
00000ee0: SWAP1
00000ee1: POP
00000ee2: JUMPDEST
00000ee3: DUP2
00000ee4: DUP2
00000ee5: LT
00000ee6: ISZERO
00000ee7: PUSH2 0x0f2c
00000eea: JUMPI
00000eeb: DUP3
00000eec: DUP2
00000eed: DUP2
00000eee: MLOAD
00000eef: DUP2
00000ef0: LT
00000ef1: PUSH2 0x0ef6
00000ef4: JUMPI
00000ef5: INVALID
00000ef6: JUMPDEST
00000ef7: SWAP1
00000ef8: PUSH1 0x20
00000efa: ADD
00000efb: SWAP1
00000efc: PUSH1 0x20
00000efe: MUL
00000eff: ADD
00000f00: MLOAD
00000f01: DUP5
00000f02: DUP3
00000f03: DUP2
00000f04: MLOAD
00000f05: DUP2
00000f06: LT
00000f07: PUSH2 0x0f0c
00000f0a: JUMPI
00000f0b: INVALID
00000f0c: JUMPDEST
00000f0d: PUSH1 0x01
00000f0f: PUSH1 0xa0
00000f11: PUSH1 0x02
00000f13: EXP
00000f14: SUB
00000f15: SWAP1
00000f16: SWAP3
00000f17: AND
00000f18: PUSH1 0x20
00000f1a: SWAP3
00000f1b: DUP4
00000f1c: MUL
00000f1d: SWAP1
00000f1e: SWAP2
00000f1f: ADD
00000f20: SWAP1
00000f21: SWAP2
00000f22: ADD
00000f23: MSTORE
00000f24: JUMPDEST
00000f25: PUSH1 0x01
00000f27: ADD
00000f28: PUSH2 0x0ee2
00000f2b: JUMP
00000f2c: JUMPDEST
00000f2d: JUMPDEST
00000f2e: POP
00000f2f: POP
00000f30: POP
00000f31: SWAP2
00000f32: SWAP1
00000f33: POP
00000f34: JUMP
00000f35: JUMPDEST
00000f36: PUSH1 0x05
00000f38: SLOAD
00000f39: DUP2
00000f3a: JUMP
00000f3b: JUMPDEST
00000f3c: ADDRESS
00000f3d: PUSH1 0x01
00000f3f: PUSH1 0xa0
00000f41: PUSH1 0x02
00000f43: EXP
00000f44: SUB
00000f45: AND
00000f46: CALLER
00000f47: PUSH1 0x01
00000f49: PUSH1 0xa0
00000f4b: PUSH1 0x02
00000f4d: EXP
00000f4e: SUB
00000f4f: AND
00000f50: EQ
00000f51: ISZERO
00000f52: ISZERO
00000f53: PUSH2 0x0f5b
00000f56: JUMPI
00000f57: PUSH1 0x00
00000f59: DUP1
00000f5a: REVERT
00000f5b: JUMPDEST
00000f5c: PUSH1 0x03
00000f5e: SLOAD
00000f5f: DUP2
00000f60: PUSH1 0x32
00000f62: DUP3
00000f63: GT
00000f64: DUP1
00000f65: PUSH2 0x0f6d
00000f68: JUMPI
00000f69: POP
00000f6a: DUP2
00000f6b: DUP2
00000f6c: GT
00000f6d: JUMPDEST
00000f6e: DUP1
00000f6f: PUSH2 0x0f76
00000f72: JUMPI
00000f73: POP
00000f74: DUP1
00000f75: ISZERO
00000f76: JUMPDEST
00000f77: DUP1
00000f78: PUSH2 0x0f7f
00000f7b: JUMPI
00000f7c: POP
00000f7d: DUP2
00000f7e: ISZERO
00000f7f: JUMPDEST
00000f80: ISZERO
00000f81: PUSH2 0x0f89
00000f84: JUMPI
00000f85: PUSH1 0x00
00000f87: DUP1
00000f88: REVERT
00000f89: JUMPDEST
00000f8a: PUSH1 0x04
00000f8c: DUP4
00000f8d: SWAP1
00000f8e: SSTORE
00000f8f: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
00000fb0: DUP4
00000fb1: PUSH1 0x40
00000fb3: MLOAD
00000fb4: SWAP1
00000fb5: DUP2
00000fb6: MSTORE
00000fb7: PUSH1 0x20
00000fb9: ADD
00000fba: PUSH1 0x40
00000fbc: MLOAD
00000fbd: DUP1
00000fbe: SWAP2
00000fbf: SUB
00000fc0: SWAP1
00000fc1: LOG1
00000fc2: JUMPDEST
00000fc3: JUMPDEST
00000fc4: POP
00000fc5: POP
00000fc6: JUMPDEST
00000fc7: POP
00000fc8: JUMP
00000fc9: JUMPDEST
00000fca: CALLER
00000fcb: PUSH1 0x01
00000fcd: PUSH1 0xa0
00000fcf: PUSH1 0x02
00000fd1: EXP
00000fd2: SUB
00000fd3: DUP2
00000fd4: AND
00000fd5: PUSH1 0x00
00000fd7: SWAP1
00000fd8: DUP2
00000fd9: MSTORE
00000fda: PUSH1 0x02
00000fdc: PUSH1 0x20
00000fde: MSTORE
00000fdf: PUSH1 0x40
00000fe1: SWAP1
00000fe2: KECCAK256
00000fe3: SLOAD
00000fe4: PUSH1 0xff
00000fe6: AND
00000fe7: ISZERO
00000fe8: ISZERO
00000fe9: PUSH2 0x0ff1
00000fec: JUMPI
00000fed: PUSH1 0x00
00000fef: DUP1
00000ff0: REVERT
00000ff1: JUMPDEST
00000ff2: PUSH1 0x00
00000ff4: DUP3
00000ff5: DUP2
00000ff6: MSTORE
00000ff7: PUSH1 0x20
00000ff9: DUP2
00000ffa: SWAP1
00000ffb: MSTORE
00000ffc: PUSH1 0x40
00000ffe: SWAP1
00000fff: KECCAK256
00001000: SLOAD
00001001: DUP3
00001002: SWAP1
00001003: PUSH1 0x01
00001005: PUSH1 0xa0
00001007: PUSH1 0x02
00001009: EXP
0000100a: SUB
0000100b: AND
0000100c: ISZERO
0000100d: ISZERO
0000100e: PUSH2 0x1016
00001011: JUMPI
00001012: PUSH1 0x00
00001014: DUP1
00001015: REVERT
00001016: JUMPDEST
00001017: PUSH1 0x00
00001019: DUP4
0000101a: DUP2
0000101b: MSTORE
0000101c: PUSH1 0x01
0000101e: PUSH1 0x20
00001020: SWAP1
00001021: DUP2
00001022: MSTORE
00001023: PUSH1 0x40
00001025: DUP1
00001026: DUP4
00001027: KECCAK256
00001028: CALLER
00001029: PUSH1 0x01
0000102b: PUSH1 0xa0
0000102d: PUSH1 0x02
0000102f: EXP
00001030: SUB
00001031: DUP2
00001032: AND
00001033: DUP6
00001034: MSTORE
00001035: SWAP3
00001036: MSTORE
00001037: SWAP1
00001038: SWAP2
00001039: KECCAK256
0000103a: SLOAD
0000103b: DUP5
0000103c: SWAP2
0000103d: SWAP1
0000103e: PUSH1 0xff
00001040: AND
00001041: ISZERO
00001042: PUSH2 0x104a
00001045: JUMPI
00001046: PUSH1 0x00
00001048: DUP1
00001049: REVERT
0000104a: JUMPDEST
0000104b: PUSH1 0x00
0000104d: DUP6
0000104e: DUP2
0000104f: MSTORE
00001050: PUSH1 0x01
00001052: PUSH1 0x20
00001054: DUP2
00001055: DUP2
00001056: MSTORE
00001057: PUSH1 0x40
00001059: DUP1
0000105a: DUP5
0000105b: KECCAK256
0000105c: PUSH1 0x01
0000105e: PUSH1 0xa0
00001060: PUSH1 0x02
00001062: EXP
00001063: SUB
00001064: CALLER
00001065: AND
00001066: DUP1
00001067: DUP7
00001068: MSTORE
00001069: SWAP3
0000106a: MSTORE
0000106b: SWAP3
0000106c: DUP4
0000106d: SWAP1
0000106e: KECCAK256
0000106f: DUP1
00001070: SLOAD
00001071: PUSH1 0xff
00001073: NOT
00001074: AND
00001075: SWAP1
00001076: SWAP3
00001077: OR
00001078: SWAP1
00001079: SWAP2
0000107a: SSTORE
0000107b: DUP7
0000107c: SWAP2
0000107d: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
0000109e: SWAP1
0000109f: MLOAD
000010a0: PUSH1 0x40
000010a2: MLOAD
000010a3: DUP1
000010a4: SWAP2
000010a5: SUB
000010a6: SWAP1
000010a7: LOG3
000010a8: PUSH2 0x08f2
000010ab: DUP6
000010ac: PUSH2 0x12a7
000010af: JUMP
000010b0: JUMPDEST
000010b1: JUMPDEST
000010b2: JUMPDEST
000010b3: POP
000010b4: POP
000010b5: JUMPDEST
000010b6: POP
000010b7: JUMPDEST
000010b8: POP
000010b9: POP
000010ba: JUMP
000010bb: JUMPDEST
000010bc: PUSH1 0x00
000010be: PUSH2 0x10c8
000010c1: DUP5
000010c2: DUP5
000010c3: DUP5
000010c4: PUSH2 0x146b
000010c7: JUMP
000010c8: JUMPDEST
000010c9: SWAP1
000010ca: POP
000010cb: PUSH2 0x10d3
000010ce: DUP2
000010cf: PUSH2 0x0fc9
000010d2: JUMP
000010d3: JUMPDEST
000010d4: JUMPDEST
000010d5: SWAP4
000010d6: SWAP3
000010d7: POP
000010d8: POP
000010d9: POP
000010da: JUMP
000010db: JUMPDEST
000010dc: PUSH1 0x32
000010de: DUP2
000010df: JUMP
000010e0: JUMPDEST
000010e1: PUSH1 0x04
000010e3: SLOAD
000010e4: DUP2
000010e5: JUMP
000010e6: JUMPDEST
000010e7: PUSH1 0x00
000010e9: ADDRESS
000010ea: PUSH1 0x01
000010ec: PUSH1 0xa0
000010ee: PUSH1 0x02
000010f0: EXP
000010f1: SUB
000010f2: AND
000010f3: CALLER
000010f4: PUSH1 0x01
000010f6: PUSH1 0xa0
000010f8: PUSH1 0x02
000010fa: EXP
000010fb: SUB
000010fc: AND
000010fd: EQ
000010fe: ISZERO
000010ff: ISZERO
00001100: PUSH2 0x1108
00001103: JUMPI
00001104: PUSH1 0x00
00001106: DUP1
00001107: REVERT
00001108: JUMPDEST
00001109: PUSH1 0x01
0000110b: PUSH1 0xa0
0000110d: PUSH1 0x02
0000110f: EXP
00001110: SUB
00001111: DUP4
00001112: AND
00001113: PUSH1 0x00
00001115: SWAP1
00001116: DUP2
00001117: MSTORE
00001118: PUSH1 0x02
0000111a: PUSH1 0x20
0000111c: MSTORE
0000111d: PUSH1 0x40
0000111f: SWAP1
00001120: KECCAK256
00001121: SLOAD
00001122: DUP4
00001123: SWAP1
00001124: PUSH1 0xff
00001126: AND
00001127: ISZERO
00001128: ISZERO
00001129: PUSH2 0x1131
0000112c: JUMPI
0000112d: PUSH1 0x00
0000112f: DUP1
00001130: REVERT
00001131: JUMPDEST
00001132: PUSH1 0x01
00001134: PUSH1 0xa0
00001136: PUSH1 0x02
00001138: EXP
00001139: SUB
0000113a: DUP4
0000113b: AND
0000113c: PUSH1 0x00
0000113e: SWAP1
0000113f: DUP2
00001140: MSTORE
00001141: PUSH1 0x02
00001143: PUSH1 0x20
00001145: MSTORE
00001146: PUSH1 0x40
00001148: SWAP1
00001149: KECCAK256
0000114a: SLOAD
0000114b: DUP4
0000114c: SWAP1
0000114d: PUSH1 0xff
0000114f: AND
00001150: ISZERO
00001151: PUSH2 0x1159
00001154: JUMPI
00001155: PUSH1 0x00
00001157: DUP1
00001158: REVERT
00001159: JUMPDEST
0000115a: PUSH1 0x00
0000115c: SWAP3
0000115d: POP
0000115e: JUMPDEST
0000115f: PUSH1 0x03
00001161: SLOAD
00001162: DUP4
00001163: LT
00001164: ISZERO
00001165: PUSH2 0x1201
00001168: JUMPI
00001169: DUP5
0000116a: PUSH1 0x01
0000116c: PUSH1 0xa0
0000116e: PUSH1 0x02
00001170: EXP
00001171: SUB
00001172: AND
00001173: PUSH1 0x03
00001175: DUP5
00001176: DUP2
00001177: SLOAD
00001178: DUP2
00001179: LT
0000117a: ISZERO
0000117b: ISZERO
0000117c: PUSH2 0x1181
0000117f: JUMPI
00001180: INVALID
00001181: JUMPDEST
00001182: SWAP1
00001183: PUSH1 0x00
00001185: MSTORE
00001186: PUSH1 0x20
00001188: PUSH1 0x00
0000118a: KECCAK256
0000118b: SWAP1
0000118c: ADD
0000118d: PUSH1 0x00
0000118f: JUMPDEST
00001190: SWAP1
00001191: SLOAD
00001192: SWAP1
00001193: PUSH2 0x0100
00001196: EXP
00001197: SWAP1
00001198: DIV
00001199: PUSH1 0x01
0000119b: PUSH1 0xa0
0000119d: PUSH1 0x02
0000119f: EXP
000011a0: SUB
000011a1: AND
000011a2: PUSH1 0x01
000011a4: PUSH1 0xa0
000011a6: PUSH1 0x02
000011a8: EXP
000011a9: SUB
000011aa: AND
000011ab: EQ
000011ac: ISZERO
000011ad: PUSH2 0x11f5
000011b0: JUMPI
000011b1: DUP4
000011b2: PUSH1 0x03
000011b4: DUP5
000011b5: DUP2
000011b6: SLOAD
000011b7: DUP2
000011b8: LT
000011b9: ISZERO
000011ba: ISZERO
000011bb: PUSH2 0x11c0
000011be: JUMPI
000011bf: INVALID
000011c0: JUMPDEST
000011c1: SWAP1
000011c2: PUSH1 0x00
000011c4: MSTORE
000011c5: PUSH1 0x20
000011c7: PUSH1 0x00
000011c9: KECCAK256
000011ca: SWAP1
000011cb: ADD
000011cc: PUSH1 0x00
000011ce: JUMPDEST
000011cf: PUSH2 0x0100
000011d2: EXP
000011d3: DUP2
000011d4: SLOAD
000011d5: DUP2
000011d6: PUSH1 0x01
000011d8: PUSH1 0xa0
000011da: PUSH1 0x02
000011dc: EXP
000011dd: SUB
000011de: MUL
000011df: NOT
000011e0: AND
000011e1: SWAP1
000011e2: DUP4
000011e3: PUSH1 0x01
000011e5: PUSH1 0xa0
000011e7: PUSH1 0x02
000011e9: EXP
000011ea: SUB
000011eb: AND
000011ec: MUL
000011ed: OR
000011ee: SWAP1
000011ef: SSTORE
000011f0: POP
000011f1: PUSH2 0x1201
000011f4: JUMP
000011f5: JUMPDEST
000011f6: JUMPDEST
000011f7: PUSH1 0x01
000011f9: SWAP1
000011fa: SWAP3
000011fb: ADD
000011fc: SWAP2
000011fd: PUSH2 0x115e
00001200: JUMP
00001201: JUMPDEST
00001202: PUSH1 0x01
00001204: PUSH1 0xa0
00001206: PUSH1 0x02
00001208: EXP
00001209: SUB
0000120a: DUP1
0000120b: DUP7
0000120c: AND
0000120d: PUSH1 0x00
0000120f: DUP2
00001210: DUP2
00001211: MSTORE
00001212: PUSH1 0x02
00001214: PUSH1 0x20
00001216: MSTORE
00001217: PUSH1 0x40
00001219: DUP1
0000121a: DUP3
0000121b: KECCAK256
0000121c: DUP1
0000121d: SLOAD
0000121e: PUSH1 0xff
00001220: NOT
00001221: SWAP1
00001222: DUP2
00001223: AND
00001224: SWAP1
00001225: SWAP2
00001226: SSTORE
00001227: SWAP4
00001228: DUP9
00001229: AND
0000122a: DUP3
0000122b: MSTORE
0000122c: SWAP1
0000122d: DUP2
0000122e: SWAP1
0000122f: KECCAK256
00001230: DUP1
00001231: SLOAD
00001232: SWAP1
00001233: SWAP4
00001234: AND
00001235: PUSH1 0x01
00001237: OR
00001238: SWAP1
00001239: SWAP3
0000123a: SSTORE
0000123b: SWAP1
0000123c: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
0000125d: SWAP1
0000125e: MLOAD
0000125f: PUSH1 0x40
00001261: MLOAD
00001262: DUP1
00001263: SWAP2
00001264: SUB
00001265: SWAP1
00001266: LOG2
00001267: DUP4
00001268: PUSH1 0x01
0000126a: PUSH1 0xa0
0000126c: PUSH1 0x02
0000126e: EXP
0000126f: SUB
00001270: AND
00001271: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001292: PUSH1 0x40
00001294: MLOAD
00001295: PUSH1 0x40
00001297: MLOAD
00001298: DUP1
00001299: SWAP2
0000129a: SUB
0000129b: SWAP1
0000129c: LOG2
0000129d: JUMPDEST
0000129e: JUMPDEST
0000129f: POP
000012a0: JUMPDEST
000012a1: POP
000012a2: JUMPDEST
000012a3: POP
000012a4: POP
000012a5: POP
000012a6: JUMP
000012a7: JUMPDEST
000012a8: CALLER
000012a9: PUSH1 0x01
000012ab: PUSH1 0xa0
000012ad: PUSH1 0x02
000012af: EXP
000012b0: SUB
000012b1: DUP2
000012b2: AND
000012b3: PUSH1 0x00
000012b5: SWAP1
000012b6: DUP2
000012b7: MSTORE
000012b8: PUSH1 0x02
000012ba: PUSH1 0x20
000012bc: MSTORE
000012bd: PUSH1 0x40
000012bf: DUP2
000012c0: KECCAK256
000012c1: SLOAD
000012c2: SWAP1
000012c3: SWAP2
000012c4: SWAP1
000012c5: PUSH1 0xff
000012c7: AND
000012c8: ISZERO
000012c9: ISZERO
000012ca: PUSH2 0x12d2
000012cd: JUMPI
000012ce: PUSH1 0x00
000012d0: DUP1
000012d1: REVERT
000012d2: JUMPDEST
000012d3: PUSH1 0x00
000012d5: DUP4
000012d6: DUP2
000012d7: MSTORE
000012d8: PUSH1 0x01
000012da: PUSH1 0x20
000012dc: SWAP1
000012dd: DUP2
000012de: MSTORE
000012df: PUSH1 0x40
000012e1: DUP1
000012e2: DUP4
000012e3: KECCAK256
000012e4: CALLER
000012e5: PUSH1 0x01
000012e7: PUSH1 0xa0
000012e9: PUSH1 0x02
000012eb: EXP
000012ec: SUB
000012ed: DUP2
000012ee: AND
000012ef: DUP6
000012f0: MSTORE
000012f1: SWAP3
000012f2: MSTORE
000012f3: SWAP1
000012f4: SWAP2
000012f5: KECCAK256
000012f6: SLOAD
000012f7: DUP5
000012f8: SWAP2
000012f9: SWAP1
000012fa: PUSH1 0xff
000012fc: AND
000012fd: ISZERO
000012fe: ISZERO
000012ff: PUSH2 0x1307
00001302: JUMPI
00001303: PUSH1 0x00
00001305: DUP1
00001306: REVERT
00001307: JUMPDEST
00001308: PUSH1 0x00
0000130a: DUP6
0000130b: DUP2
0000130c: MSTORE
0000130d: PUSH1 0x20
0000130f: DUP2
00001310: SWAP1
00001311: MSTORE
00001312: PUSH1 0x40
00001314: SWAP1
00001315: KECCAK256
00001316: PUSH1 0x03
00001318: ADD
00001319: SLOAD
0000131a: DUP6
0000131b: SWAP1
0000131c: PUSH1 0xff
0000131e: AND
0000131f: ISZERO
00001320: PUSH2 0x1328
00001323: JUMPI
00001324: PUSH1 0x00
00001326: DUP1
00001327: REVERT
00001328: JUMPDEST
00001329: PUSH2 0x1331
0000132c: DUP7
0000132d: PUSH2 0x0ad5
00001330: JUMP
00001331: JUMPDEST
00001332: ISZERO
00001333: PUSH2 0x145e
00001336: JUMPI
00001337: PUSH1 0x00
00001339: DUP7
0000133a: DUP2
0000133b: MSTORE
0000133c: PUSH1 0x20
0000133e: DUP2
0000133f: SWAP1
00001340: MSTORE
00001341: PUSH1 0x40
00001343: SWAP1
00001344: DUP2
00001345: SWAP1
00001346: KECCAK256
00001347: PUSH1 0x03
00001349: DUP2
0000134a: ADD
0000134b: DUP1
0000134c: SLOAD
0000134d: PUSH1 0xff
0000134f: NOT
00001350: AND
00001351: PUSH1 0x01
00001353: SWAP1
00001354: DUP2
00001355: OR
00001356: SWAP1
00001357: SWAP2
00001358: SSTORE
00001359: DUP2
0000135a: SLOAD
0000135b: SWAP1
0000135c: DUP3
0000135d: ADD
0000135e: SLOAD
0000135f: SWAP2
00001360: SWAP8
00001361: POP
00001362: PUSH1 0x01
00001364: PUSH1 0xa0
00001366: PUSH1 0x02
00001368: EXP
00001369: SUB
0000136a: AND
0000136b: SWAP2
0000136c: PUSH1 0x02
0000136e: DUP9
0000136f: ADD
00001370: SWAP1
00001371: MLOAD
00001372: DUP1
00001373: DUP3
00001374: DUP1
00001375: SLOAD
00001376: PUSH1 0x01
00001378: DUP2
00001379: PUSH1 0x01
0000137b: AND
0000137c: ISZERO
0000137d: PUSH2 0x0100
00001380: MUL
00001381: SUB
00001382: AND
00001383: PUSH1 0x02
00001385: SWAP1
00001386: DIV
00001387: DUP1
00001388: ISZERO
00001389: PUSH2 0x13d3
0000138c: JUMPI
0000138d: DUP1
0000138e: PUSH1 0x1f
00001390: LT
00001391: PUSH2 0x13a8
00001394: JUMPI
00001395: PUSH2 0x0100
00001398: DUP1
00001399: DUP4
0000139a: SLOAD
0000139b: DIV
0000139c: MUL
0000139d: DUP4
0000139e: MSTORE
0000139f: SWAP2
000013a0: PUSH1 0x20
000013a2: ADD
000013a3: SWAP2
000013a4: PUSH2 0x13d3
000013a7: JUMP
000013a8: JUMPDEST
000013a9: DUP3
000013aa: ADD
000013ab: SWAP2
000013ac: SWAP1
000013ad: PUSH1 0x00
000013af: MSTORE
000013b0: PUSH1 0x20
000013b2: PUSH1 0x00
000013b4: KECCAK256
000013b5: SWAP1
000013b6: JUMPDEST
000013b7: DUP2
000013b8: SLOAD
000013b9: DUP2
000013ba: MSTORE
000013bb: SWAP1
000013bc: PUSH1 0x01
000013be: ADD
000013bf: SWAP1
000013c0: PUSH1 0x20
000013c2: ADD
000013c3: DUP1
000013c4: DUP4
000013c5: GT
000013c6: PUSH2 0x13b6
000013c9: JUMPI
000013ca: DUP3
000013cb: SWAP1
000013cc: SUB
000013cd: PUSH1 0x1f
000013cf: AND
000013d0: DUP3
000013d1: ADD
000013d2: SWAP2
000013d3: JUMPDEST
000013d4: POP
000013d5: POP
000013d6: SWAP2
000013d7: POP
000013d8: POP
000013d9: PUSH1 0x00
000013db: PUSH1 0x40
000013dd: MLOAD
000013de: DUP1
000013df: DUP4
000013e0: SUB
000013e1: DUP2
000013e2: DUP6
000013e3: DUP8
000013e4: PUSH2 0x8796
000013e7: GAS
000013e8: SUB
000013e9: CALL
000013ea: SWAP3
000013eb: POP
000013ec: POP
000013ed: POP
000013ee: ISZERO
000013ef: PUSH2 0x1424
000013f2: JUMPI
000013f3: DUP6
000013f4: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
00001415: PUSH1 0x40
00001417: MLOAD
00001418: PUSH1 0x40
0000141a: MLOAD
0000141b: DUP1
0000141c: SWAP2
0000141d: SUB
0000141e: SWAP1
0000141f: LOG2
00001420: PUSH2 0x145e
00001423: JUMP
00001424: JUMPDEST
00001425: DUP6
00001426: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
00001447: PUSH1 0x40
00001449: MLOAD
0000144a: PUSH1 0x40
0000144c: MLOAD
0000144d: DUP1
0000144e: SWAP2
0000144f: SUB
00001450: SWAP1
00001451: LOG2
00001452: PUSH1 0x03
00001454: DUP6
00001455: ADD
00001456: DUP1
00001457: SLOAD
00001458: PUSH1 0xff
0000145a: NOT
0000145b: AND
0000145c: SWAP1
0000145d: SSTORE
0000145e: JUMPDEST
0000145f: JUMPDEST
00001460: JUMPDEST
00001461: JUMPDEST
00001462: POP
00001463: JUMPDEST
00001464: POP
00001465: POP
00001466: JUMPDEST
00001467: POP
00001468: POP
00001469: POP
0000146a: JUMP
0000146b: JUMPDEST
0000146c: PUSH1 0x00
0000146e: DUP4
0000146f: PUSH1 0x01
00001471: PUSH1 0xa0
00001473: PUSH1 0x02
00001475: EXP
00001476: SUB
00001477: DUP2
00001478: AND
00001479: ISZERO
0000147a: ISZERO
0000147b: PUSH2 0x1483
0000147e: JUMPI
0000147f: PUSH1 0x00
00001481: DUP1
00001482: REVERT
00001483: JUMPDEST
00001484: PUSH1 0x05
00001486: SLOAD
00001487: SWAP2
00001488: POP
00001489: PUSH1 0x80
0000148b: PUSH1 0x40
0000148d: MLOAD
0000148e: SWAP1
0000148f: DUP2
00001490: ADD
00001491: PUSH1 0x40
00001493: SWAP1
00001494: DUP2
00001495: MSTORE
00001496: PUSH1 0x01
00001498: PUSH1 0xa0
0000149a: PUSH1 0x02
0000149c: EXP
0000149d: SUB
0000149e: DUP8
0000149f: AND
000014a0: DUP3
000014a1: MSTORE
000014a2: PUSH1 0x20
000014a4: DUP1
000014a5: DUP4
000014a6: ADD
000014a7: DUP8
000014a8: SWAP1
000014a9: MSTORE
000014aa: DUP2
000014ab: DUP4
000014ac: ADD
000014ad: DUP7
000014ae: SWAP1
000014af: MSTORE
000014b0: PUSH1 0x00
000014b2: PUSH1 0x60
000014b4: DUP5
000014b5: ADD
000014b6: DUP2
000014b7: SWAP1
000014b8: MSTORE
000014b9: DUP6
000014ba: DUP2
000014bb: MSTORE
000014bc: SWAP1
000014bd: DUP2
000014be: SWAP1
000014bf: MSTORE
000014c0: KECCAK256
000014c1: DUP2
000014c2: MLOAD
000014c3: DUP2
000014c4: SLOAD
000014c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014da: NOT
000014db: AND
000014dc: PUSH1 0x01
000014de: PUSH1 0xa0
000014e0: PUSH1 0x02
000014e2: EXP
000014e3: SUB
000014e4: SWAP2
000014e5: SWAP1
000014e6: SWAP2
000014e7: AND
000014e8: OR
000014e9: DUP2
000014ea: SSTORE
000014eb: PUSH1 0x20
000014ed: DUP3
000014ee: ADD
000014ef: MLOAD
000014f0: DUP2
000014f1: PUSH1 0x01
000014f3: ADD
000014f4: SSTORE
000014f5: PUSH1 0x40
000014f7: DUP3
000014f8: ADD
000014f9: MLOAD
000014fa: DUP2
000014fb: PUSH1 0x02
000014fd: ADD
000014fe: SWAP1
000014ff: DUP1
00001500: MLOAD
00001501: PUSH2 0x150e
00001504: SWAP3
00001505: SWAP2
00001506: PUSH1 0x20
00001508: ADD
00001509: SWAP1
0000150a: PUSH2 0x15e2
0000150d: JUMP
0000150e: JUMPDEST
0000150f: POP
00001510: PUSH1 0x60
00001512: DUP3
00001513: ADD
00001514: MLOAD
00001515: PUSH1 0x03
00001517: SWAP2
00001518: SWAP1
00001519: SWAP2
0000151a: ADD
0000151b: DUP1
0000151c: SLOAD
0000151d: PUSH1 0xff
0000151f: NOT
00001520: AND
00001521: SWAP2
00001522: ISZERO
00001523: ISZERO
00001524: SWAP2
00001525: SWAP1
00001526: SWAP2
00001527: OR
00001528: SWAP1
00001529: SSTORE
0000152a: POP
0000152b: PUSH1 0x05
0000152d: DUP1
0000152e: SLOAD
0000152f: PUSH1 0x01
00001531: ADD
00001532: SWAP1
00001533: SSTORE
00001534: DUP2
00001535: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
00001556: PUSH1 0x40
00001558: MLOAD
00001559: PUSH1 0x40
0000155b: MLOAD
0000155c: DUP1
0000155d: SWAP2
0000155e: SUB
0000155f: SWAP1
00001560: LOG2
00001561: JUMPDEST
00001562: JUMPDEST
00001563: POP
00001564: SWAP4
00001565: SWAP3
00001566: POP
00001567: POP
00001568: POP
00001569: JUMP
0000156a: JUMPDEST
0000156b: DUP2
0000156c: SLOAD
0000156d: DUP2
0000156e: DUP4
0000156f: SSTORE
00001570: DUP2
00001571: DUP2
00001572: ISZERO
00001573: GT
00001574: PUSH2 0x0813
00001577: JUMPI
00001578: PUSH1 0x00
0000157a: DUP4
0000157b: DUP2
0000157c: MSTORE
0000157d: PUSH1 0x20
0000157f: SWAP1
00001580: KECCAK256
00001581: PUSH2 0x0813
00001584: SWAP2
00001585: DUP2
00001586: ADD
00001587: SWAP1
00001588: DUP4
00001589: ADD
0000158a: PUSH2 0x1661
0000158d: JUMP
0000158e: JUMPDEST
0000158f: JUMPDEST
00001590: POP
00001591: POP
00001592: POP
00001593: JUMP
00001594: JUMPDEST
00001595: DUP2
00001596: SLOAD
00001597: DUP2
00001598: DUP4
00001599: SSTORE
0000159a: DUP2
0000159b: DUP2
0000159c: ISZERO
0000159d: GT
0000159e: PUSH2 0x0813
000015a1: JUMPI
000015a2: PUSH1 0x00
000015a4: DUP4
000015a5: DUP2
000015a6: MSTORE
000015a7: PUSH1 0x20
000015a9: SWAP1
000015aa: KECCAK256
000015ab: PUSH2 0x0813
000015ae: SWAP2
000015af: DUP2
000015b0: ADD
000015b1: SWAP1
000015b2: DUP4
000015b3: ADD
000015b4: PUSH2 0x1661
000015b7: JUMP
000015b8: JUMPDEST
000015b9: JUMPDEST
000015ba: POP
000015bb: POP
000015bc: POP
000015bd: JUMP
000015be: JUMPDEST
000015bf: PUSH1 0x20
000015c1: PUSH1 0x40
000015c3: MLOAD
000015c4: SWAP1
000015c5: DUP2
000015c6: ADD
000015c7: PUSH1 0x40
000015c9: MSTORE
000015ca: PUSH1 0x00
000015cc: DUP2
000015cd: MSTORE
000015ce: SWAP1
000015cf: JUMP
000015d0: JUMPDEST
000015d1: PUSH1 0x20
000015d3: PUSH1 0x40
000015d5: MLOAD
000015d6: SWAP1
000015d7: DUP2
000015d8: ADD
000015d9: PUSH1 0x40
000015db: MSTORE
000015dc: PUSH1 0x00
000015de: DUP2
000015df: MSTORE
000015e0: SWAP1
000015e1: JUMP
000015e2: JUMPDEST
000015e3: DUP3
000015e4: DUP1
000015e5: SLOAD
000015e6: PUSH1 0x01
000015e8: DUP2
000015e9: PUSH1 0x01
000015eb: AND
000015ec: ISZERO
000015ed: PUSH2 0x0100
000015f0: MUL
000015f1: SUB
000015f2: AND
000015f3: PUSH1 0x02
000015f5: SWAP1
000015f6: DIV
000015f7: SWAP1
000015f8: PUSH1 0x00
000015fa: MSTORE
000015fb: PUSH1 0x20
000015fd: PUSH1 0x00
000015ff: KECCAK256
00001600: SWAP1
00001601: PUSH1 0x1f
00001603: ADD
00001604: PUSH1 0x20
00001606: SWAP1
00001607: DIV
00001608: DUP2
00001609: ADD
0000160a: SWAP3
0000160b: DUP3
0000160c: PUSH1 0x1f
0000160e: LT
0000160f: PUSH2 0x1623
00001612: JUMPI
00001613: DUP1
00001614: MLOAD
00001615: PUSH1 0xff
00001617: NOT
00001618: AND
00001619: DUP4
0000161a: DUP1
0000161b: ADD
0000161c: OR
0000161d: DUP6
0000161e: SSTORE
0000161f: PUSH2 0x1650
00001622: JUMP
00001623: JUMPDEST
00001624: DUP3
00001625: DUP1
00001626: ADD
00001627: PUSH1 0x01
00001629: ADD
0000162a: DUP6
0000162b: SSTORE
0000162c: DUP3
0000162d: ISZERO
0000162e: PUSH2 0x1650
00001631: JUMPI
00001632: SWAP2
00001633: DUP3
00001634: ADD
00001635: JUMPDEST
00001636: DUP3
00001637: DUP2
00001638: GT
00001639: ISZERO
0000163a: PUSH2 0x1650
0000163d: JUMPI
0000163e: DUP3
0000163f: MLOAD
00001640: DUP3
00001641: SSTORE
00001642: SWAP2
00001643: PUSH1 0x20
00001645: ADD
00001646: SWAP2
00001647: SWAP1
00001648: PUSH1 0x01
0000164a: ADD
0000164b: SWAP1
0000164c: PUSH2 0x1635
0000164f: JUMP
00001650: JUMPDEST
00001651: JUMPDEST
00001652: POP
00001653: PUSH2 0x165d
00001656: SWAP3
00001657: SWAP2
00001658: POP
00001659: PUSH2 0x1661
0000165c: JUMP
0000165d: JUMPDEST
0000165e: POP
0000165f: SWAP1
00001660: JUMP
00001661: JUMPDEST
00001662: PUSH2 0x0c82
00001665: SWAP2
00001666: SWAP1
00001667: JUMPDEST
00001668: DUP1
00001669: DUP3
0000166a: GT
0000166b: ISZERO
0000166c: PUSH2 0x165d
0000166f: JUMPI
00001670: PUSH1 0x00
00001672: DUP2
00001673: SSTORE
00001674: PUSH1 0x01
00001676: ADD
00001677: PUSH2 0x1667
0000167a: JUMP
0000167b: JUMPDEST
0000167c: POP
0000167d: SWAP1
0000167e: JUMP
0000167f: JUMPDEST
00001680: SWAP1
00001681: JUMP
00001682: STOP
00001683: LOG1
00001684: PUSH6 0x627a7a723058
0000168b: KECCAK256
0000168c: PUSH5 0xa93bd78a48
00001692: UNKNOWN(0xA8)
00001693: UNKNOWN(0xD6)
00001694: SWAP9
00001695: BLOBHASH
00001696: DUP12
00001697: SDIV
00001698: CHAINID
00001699: UNKNOWN(0xAD)
0000169a: LOG4
0000169b: UNKNOWN(0xB8)
0000169c: KECCAK256
0000169d: UNKNOWN(0x4F)
0000169e: PUSH26

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140
call_targets: 0x44664edd1785266e8c5c23492dc73836136866bc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x44664edd1785266e8c5c23492dc73836136866bc"
    ],
    "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": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x784547a7",
            "selector": "0x784547a7",
            "calldata_variants": [
                "0x784547a7",
                "0x784547a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5097,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140
call_targets: 0x44664edd1785266e8c5c23492dc73836136866bc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x87af7b960e49853d1b70a2fa4a44e954d7c6accdbcda66130bd725c42a832140",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x44664edd1785266e8c5c23492dc73836136866bc"
    ],
    "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": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x784547a7",
            "selector": "0x784547a7",
            "calldata_variants": [
                "0x784547a7",
                "0x784547a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5097,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
medium other codex Computed CALL target/value allows potential arbitrary call/ETH transfer (context unclear) 75 no
view
evidence_json
{
    "evidence": "Detector findings report a CALL at pc:5097 with computed target/value and possible ETH transfer; validation observed target = this contract (0x44664edd1785266e8c5c23492dc73836136866bc) but did not confirm exclusivity.",
    "locations": [
        "pc:5097"
    ],
    "recommendation": "Confirm whether the CALL target/value are truly fixed to self. If arbitrary targets are intended, enforce strict access control, cap or disallow ETH value, and add reentrancy protection around state changes. If only self-calls are intended, consider using internal calls instead of CALL to avoid external-call semantics.",
    "exploit_scenario": "If an external caller can reach the CALL at pc:5097 and influence the target/value or calldata, they could trigger arbitrary external calls and/or ETH transfers, possibly enabling reentrancy before state is finalized. The validation trace only observed a self-call, so the practical impact hinges on whether the target/value can vary beyond self in other paths."
}