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

Analysis Run

019bab3b-ab1b-7086-bbe8-d2c9031cd737

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 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
Authorization based on tx.origin
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
38471 artifact.fetch complete 1 / 3 3 months ago
38472 proxy.resolve complete 1 / 3 3 months ago
38473 tool.cast_disasm complete 1 / 3 3 months ago
38474 analysis.bundle complete 1 / 3 3 months ago
38475 capability.graph complete 1 / 3 3 months ago
38476 detector.run complete 1 / 3 3 months ago
38477 validation.fork complete 1 / 3 3 months ago
39019 report.consolidate complete 1 / 6 3 months ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Bytecode analysis shows tx.origin-based authorization heuristics and a CALLCODE site with computed target/value; there are also multiple CALLs to computed targets/values, which may be untrusted depending on storage/control flow.
View stdout
{"no_findings":false,"summary":"Bytecode analysis shows tx.origin-based authorization heuristics and a CALLCODE site with computed target/value; there are also multiple CALLs to computed targets/values, which may be untrusted depending on storage/control flow.","findings":[{"severity":"medium","category":"auth","title":"tx.origin used in authorization path (phishing-prone access control)","exploit_scenario":"If a privileged check relies on tx.origin, a malicious contract can trick a privileged EOA into calling it and then forward execution so the check passes, enabling unauthorized actions. Because only bytecode is available, it’s unclear which functions rely on this guard, but the artifact flags tx.origin usage inside auth guards.","recommendation":"Replace tx.origin checks with msg.sender-based authorization and explicit role/owner checks. If tx.origin is used only for non-auth logic, remove it from authorization paths.","evidence":"Auth guard list contains type `tx_origin_used` at pc 9327, and the basic block at pc 9327 includes the ORIGIN opcode.","locations":["pc:9327"]},{"severity":"medium","category":"other","title":"CALLCODE usage with computed target/value","exploit_scenario":"CALLCODE executes code in the caller’s storage context (like DELEGATECALL). If the CALLCODE target or value can be influenced (e.g., via storage or calldata), an attacker could execute arbitrary code in the contract’s storage context, potentially overwriting critical slots or draining funds. The bytecode summary shows the CALLCODE target/value are computed, but the actual source of the target is not visible here.","recommendation":"Avoid CALLCODE; use DELEGATECALL only to trusted, immutable implementations. If dynamic targets are required, strictly constrain and validate them (e.g., immutable whitelist), and ensure upgrade paths are well-guarded.","evidence":"Callsite shows CALLCODE at pc 9314 with computed target/value; basic block starting at pc 9276 includes CALLCODE followed by SSTORE.","locations":["pc:9314","pc:9276"]},{"severity":"low","category":"reentrancy","title":"Multiple external CALLs to computed targets/values (possible untrusted-call surface)","exploit_scenario":"If any computed CALL target/value can be influenced by a user, those external calls can trigger reentrancy or arbitrary external interactions before internal state updates. The bundle indicates several CALL sites with computed targets/values; however, validation hints the target may be constant in at least one trace, so this may be benign.","recommendation":"Verify each CALL target is trusted/constant; apply checks-effects-interactions and/or a reentrancy guard where state mutations precede external calls. Ensure return values are handled appropriately.","evidence":"CALL sites at pcs 7330, 7441, 7980, 8443, 8750 show target_expression_category and value_expression_category as `computed` with no explicit returndata check in the artifact.","locations":["pc:7330","pc:7441","pc:7980","pc:8443","pc:8750"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-u9cdfekg
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab91-0861-7613-8920-3b034e408bd4
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.

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

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

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

thinking
**Reading BYTECODE_BUNDLE.json**
exec
/bin/bash -lc ls in /tmp/codex-u9cdfekg succeeded in 5ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-u9cdfekg succeeded in 6ms:
{
  "analysis_artifact": {
    "address": "0xcf7cdbd3de63764f6724f55f1de79a7054085eb9",
    "artifact_hash": "0xa9eb647bf9012dd89f894de1c7e15fcc8cf73be94a50d74054520da0efd52905",
    "artifact_json": {
      "auth": {
        "guards": [
          {
            "pc": 7652,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 7847,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
          },
          {
            "pc": 9327,
            "type": "tx_origin_used"

thinking
**Analyzing auth guards and callcode risks**
exec
/bin/bash -lc 'rg -n "call:9314|CALLCODE" BYTECODE_BUNDLE.json' in /tmp/codex-u9cdfekg succeeded in 22ms:
6209:            "CALLCODE",
6280:          "opcode": "CALLCODE",
14144:          "to": "call:9314",
14148:          "from": "call:9314",
16074:          "id": "call:9314",
16075:          "opcode": "CALLCODE",

thinking
**Checking code near call graph**
exec
/bin/bash -lc "sed -n '14090,14180p' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 11ms:
          "type": "capability"
        },
        {
          "from": "bb:7194",
          "to": "call:7330",
          "type": "contains"
        },
        {
          "from": "call:7330",
          "to": "sink:call",
          "type": "capability"
        },
        {
          "from": "bb:7351",
          "to": "call:7441",
          "type": "contains"
        },
        {
          "from": "call:7441",
          "to": "sink:call",

thinking
**Investigating basic block at PC 9276**
exec
/bin/bash -lc "rg -n '\"start_pc\": 9276' -n BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 12ms:
6215:          "start_pc": 9276
16020:          "start_pc": 9276,

thinking
**Searching for basic_blocks near line 6200**
exec
/bin/bash -lc "sed -n '6188,6245p' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 8ms:
        },
        {
          "end_pc": 9275,
          "hash": "0x24e2cb2120d869c3a9df8c7974beb2f75f1c92255cdfde3510fd36b1c2e8267c",
          "opcodes": [
            "INVALID"
          ],
          "start_pc": 9275
        },
        {
          "end_pc": 9323,
          "hash": "0x8b9e4e675205b975ef2a653e265508222ccd9ca3d2b09b7ce426bb92b32d2d48",
          "opcodes": [
            "OP_A2",
            "PUSH6",
            "SHA3",
            "OP_8C",
            "OP_DD",
            "POP",
            "PUSH24",

thinking
**Analyzing opcode security risks**

I'm examining the use of CALLCODE and tx.origin in the bytecode, noting that CALLCODE poses potential upgradeability or code execution risks if the target is user-controlled, though the target is unknown here. The presence of tx.origin-based authorization heuristics suggests medium severity for access control concerns. I’m also considering possible reentrancy risks from multiple external CALLs with computed targets, but due to limited evidence, I’ll mark that risk low and highlight the need for further analysis.
exec
/bin/bash -lc "rg -n 'storage' BYTECODE_BUNDLE.json | head" in /tmp/codex-u9cdfekg succeeded in 6ms:
7757:          "storage": {
8081:          "storage": {
8405:          "storage": {
8729:          "storage": {
9053:          "storage": {
9377:          "storage": {
9701:          "storage": {
10025:          "storage": {
10349:          "storage": {
10673:          "storage": {

thinking
**Checking evidence bundle storage**
exec
/bin/bash -lc "sed -n '7720,7765p' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 7ms:
        {
          "entry_pc": 762792293,
          "selector": "0x20f5e73a"
        },
        {
          "entry_pc": 0,
          "selector": "0x2d774965"
        }
      ],
      "functions": [
        {
          "auth": {
            "guards": [
              {
                "pc": 7652,
                "type": "msg_sender_eq_const",
                "value": "0xffffffffffffffffffffffffffffffffffffffff"
              },
              {
                "pc": 7847,

thinking
**Scrolling through content**
exec
/bin/bash -lc "sed -n '7765,7815p' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 29ms:
              {
                "op": "SLOAD",
                "pc": 1604,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
              },
              {
                "op": "SLOAD",
                "pc": 1676,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "op": "SLOAD",
                "pc": 1698,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
              },
              {
                "op": "SLOAD",
                "pc": 1868,
                "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
              },

thinking
**Analyzing functions and suspicious entry points**
exec
/bin/bash -lc "rg -n 'tx_origin|ORIGIN' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 8ms:
20:            "type": "tx_origin_used"
6231:            "ORIGIN"
7745:                "type": "tx_origin_used"
8069:                "type": "tx_origin_used"
8393:                "type": "tx_origin_used"
8717:                "type": "tx_origin_used"
9041:                "type": "tx_origin_used"
9365:                "type": "tx_origin_used"
9689:                "type": "tx_origin_used"
10013:                "type": "tx_origin_used"
10337:                "type": "tx_origin_used"
10661:                "type": "tx_origin_used"
10985:                "type": "tx_origin_used"
11309:                "type": "tx_origin_used"
11633:                "type": "tx_origin_used"
11957:                "type": "tx_origin_used"
16199:            "type": "tx_origin_used"
16254:            "type": "tx_origin_used"
16321:            "type": "tx_origin_used"

thinking
**Analyzing tx_origin_used guard usage**
exec
/bin/bash -lc "sed -n '6240,6325p' BYTECODE_BUNDLE.json" in /tmp/codex-u9cdfekg succeeded in 34ms:
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "n/a"
        },
        {
          "opcode": "CALL",
          "pc": 7330,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",
          "pc": 7441,
          "returndata_checked": null,
          "target_expression_category": "computed",
          "value_expression_category": "computed"
        },
        {
          "opcode": "CALL",

thinking
**Evaluating potential risks in callsites**
exec
/bin/bash -lc 'rg -n "360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" BYTECODE_BUNDLE.json' in /tmp/codex-u9cdfekg exited 1 in 10ms:


thinking
**Analyzing storage and callsite risks**

I'm gathering findings about tx.origin usage in authorization (marked high severity with evidence at pc 9327), CALLCODE risks for upgradeability (medium severity with evidence at pc 9314 followed by SSTORE), and multiple external CALLs with computed targets and values posing potential reentrancy risks (low severity with callsites at various pcs). I'll summarize these in a JSON-formatted output matching the requested schema, carefully citing callsite and opcode evidence and offering cautious recommendations.
codex
{"no_findings":false,"summary":"Bytecode analysis shows tx.origin-based authorization heuristics and a CALLCODE site with computed target/value; there are also multiple CALLs to computed targets/values, which may be untrusted depending on storage/control flow.","findings":[{"severity":"medium","category":"auth","title":"tx.origin used in authorization path (phishing-prone access control)","exploit_scenario":"If a privileged check relies on tx.origin, a malicious contract can trick a privileged EOA into calling it and then forward execution so the check passes, enabling unauthorized actions. Because only bytecode is available, it’s unclear which functions rely on this guard, but the artifact flags tx.origin usage inside auth guards.","recommendation":"Replace tx.origin checks with msg.sender-based authorization and explicit role/owner checks. If tx.origin is used only for non-auth logic, remove it from authorization paths.","evidence":"Auth guard list contains type `tx_origin_used` at pc 9327, and the basic block at pc 9327 includes the ORIGIN opcode.","locations":["pc:9327"]},{"severity":"medium","category":"other","title":"CALLCODE usage with computed target/value","exploit_scenario":"CALLCODE executes code in the caller’s storage context (like DELEGATECALL). If the CALLCODE target or value can be influenced (e.g., via storage or calldata), an attacker could execute arbitrary code in the contract’s storage context, potentially overwriting critical slots or draining funds. The bytecode summary shows the CALLCODE target/value are computed, but the actual source of the target is not visible here.","recommendation":"Avoid CALLCODE; use DELEGATECALL only to trusted, immutable implementations. If dynamic targets are required, strictly constrain and validate them (e.g., immutable whitelist), and ensure upgrade paths are well-guarded.","evidence":"Callsite shows CALLCODE at pc 9314 with computed target/value; basic block starting at pc 9276 includes CALLCODE followed by SSTORE.","locations":["pc:9314","pc:9276"]},{"severity":"low","category":"reentrancy","title":"Multiple external CALLs to computed targets/values (possible untrusted-call surface)","exploit_scenario":"If any computed CALL target/value can be influenced by a user, those external calls can trigger reentrancy or arbitrary external interactions before internal state updates. The bundle indicates several CALL sites with computed targets/values; however, validation hints the target may be constant in at least one trace, so this may be benign.","recommendation":"Verify each CALL target is trusted/constant; apply checks-effects-interactions and/or a reentrancy guard where state mutations precede external calls. Ensure return values are handled appropriately.","evidence":"CALL sites at pcs 7330, 7441, 7980, 8443, 8750 show target_expression_category and value_expression_category as `computed` with no explicit returndata check in the artifact.","locations":["pc:7330","pc:7441","pc:7980","pc:8443","pc:8750"]}]}
tokens used
48,970
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T05:41:15.952418+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 18658,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": "Bytecode analysis shows tx.origin-based authorization heuristics and a CALLCODE site with computed target/value; there are also multiple CALLs to computed targets/values, which may be untrusted depending on storage/control flow.",
    "raw_final": {
        "summary": "Bytecode analysis shows tx.origin-based authorization heuristics and a CALLCODE site with computed target/value; there are also multiple CALLs to computed targets/values, which may be untrusted depending on storage/control flow.",
        "findings": [
            {
                "title": "tx.origin used in authorization path (phishing-prone access control)",
                "category": "auth",
                "evidence": "Auth guard list contains type `tx_origin_used` at pc 9327, and the basic block at pc 9327 includes the ORIGIN opcode.",
                "severity": "medium",
                "locations": [
                    "pc:9327"
                ],
                "recommendation": "Replace tx.origin checks with msg.sender-based authorization and explicit role/owner checks. If tx.origin is used only for non-auth logic, remove it from authorization paths.",
                "exploit_scenario": "If a privileged check relies on tx.origin, a malicious contract can trick a privileged EOA into calling it and then forward execution so the check passes, enabling unauthorized actions. Because only bytecode is available, it\u2019s unclear which functions rely on this guard, but the artifact flags tx.origin usage inside auth guards."
            },
            {
                "title": "CALLCODE usage with computed target/value",
                "category": "other",
                "evidence": "Callsite shows CALLCODE at pc 9314 with computed target/value; basic block starting at pc 9276 includes CALLCODE followed by SSTORE.",
                "severity": "medium",
                "locations": [
                    "pc:9314",
                    "pc:9276"
                ],
                "recommendation": "Avoid CALLCODE; use DELEGATECALL only to trusted, immutable implementations. If dynamic targets are required, strictly constrain and validate them (e.g., immutable whitelist), and ensure upgrade paths are well-guarded.",
                "exploit_scenario": "CALLCODE executes code in the caller\u2019s storage context (like DELEGATECALL). If the CALLCODE target or value can be influenced (e.g., via storage or calldata), an attacker could execute arbitrary code in the contract\u2019s storage context, potentially overwriting critical slots or draining funds. The bytecode summary shows the CALLCODE target/value are computed, but the actual source of the target is not visible here."
            },
            {
                "title": "Multiple external CALLs to computed targets/values (possible untrusted-call surface)",
                "category": "reentrancy",
                "evidence": "CALL sites at pcs 7330, 7441, 7980, 8443, 8750 show target_expression_category and value_expression_category as `computed` with no explicit returndata check in the artifact.",
                "severity": "low",
                "locations": [
                    "pc:7330",
                    "pc:7441",
                    "pc:7980",
                    "pc:8443",
                    "pc:8750"
                ],
                "recommendation": "Verify each CALL target is trusted/constant; apply checks-effects-interactions and/or a reentrancy guard where state mutations precede external calls. Ensure return values are handled appropriately.",
                "exploit_scenario": "If any computed CALL target/value can be influenced by a user, those external calls can trigger reentrancy or arbitrary external interactions before internal state updates. The bundle indicates several CALL sites with computed targets/values; however, validation hints the target may be constant in at least one trace, so this may be benign."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
2
Total opcodes
4327
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00dd
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x6ec0c3a5
00000019: GT
0000001a: PUSH2 0x007f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x89b9abcc
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x89b9abcc
0000002f: EQ
00000030: PUSH2 0x042b
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x8de66295
0000003a: EQ
0000003b: PUSH2 0x047a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xa4aa17cb
00000045: EQ
00000046: PUSH2 0x04e3
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xc3be04fa
00000050: EQ
00000051: PUSH2 0x055e
00000054: JUMPI
00000055: PUSH2 0x00dd
00000058: JUMP
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x6ec0c3a5
00000060: EQ
00000061: PUSH2 0x039a
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0x70ed0ada
0000006b: EQ
0000006c: PUSH2 0x03b1
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x79378e30
00000076: EQ
00000077: PUSH2 0x03dc
0000007a: JUMPI
0000007b: PUSH2 0x00dd
0000007e: JUMP
0000007f: JUMPDEST
00000080: DUP1
00000081: PUSH4 0x3818fe3c
00000086: GT
00000087: PUSH2 0x00bb
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x3818fe3c
00000091: EQ
00000092: PUSH2 0x020e
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x3b967734
0000009c: EQ
0000009d: PUSH2 0x02bf
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x4a4baa8f
000000a7: EQ
000000a8: PUSH2 0x02ea
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x657c3927
000000b2: EQ
000000b3: PUSH2 0x0390
000000b6: JUMPI
000000b7: PUSH2 0x00dd
000000ba: JUMP
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x1c0d42aa
000000c2: EQ
000000c3: PUSH2 0x00e2
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x20f5e73a
000000cd: EQ
000000ce: PUSH2 0x0173
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x2d774965
000000d8: EQ
000000d9: PUSH2 0x017d
000000dc: JUMPI
000000dd: JUMPDEST
000000de: PUSH1 0x00
000000e0: DUP1
000000e1: REVERT
000000e2: JUMPDEST
000000e3: CALLVALUE
000000e4: DUP1
000000e5: ISZERO
000000e6: PUSH2 0x00ee
000000e9: JUMPI
000000ea: PUSH1 0x00
000000ec: DUP1
000000ed: REVERT
000000ee: JUMPDEST
000000ef: POP
000000f0: PUSH2 0x0131
000000f3: PUSH1 0x04
000000f5: DUP1
000000f6: CALLDATASIZE
000000f7: SUB
000000f8: PUSH1 0x20
000000fa: DUP2
000000fb: LT
000000fc: ISZERO
000000fd: PUSH2 0x0105
00000100: JUMPI
00000101: PUSH1 0x00
00000103: DUP1
00000104: REVERT
00000105: JUMPDEST
00000106: DUP2
00000107: ADD
00000108: SWAP1
00000109: DUP1
0000010a: DUP1
0000010b: CALLDATALOAD
0000010c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000121: AND
00000122: SWAP1
00000123: PUSH1 0x20
00000125: ADD
00000126: SWAP1
00000127: SWAP3
00000128: SWAP2
00000129: SWAP1
0000012a: POP
0000012b: POP
0000012c: POP
0000012d: PUSH2 0x05ad
00000130: JUMP
00000131: JUMPDEST
00000132: PUSH1 0x40
00000134: MLOAD
00000135: DUP1
00000136: DUP3
00000137: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014c: AND
0000014d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000162: AND
00000163: DUP2
00000164: MSTORE
00000165: PUSH1 0x20
00000167: ADD
00000168: SWAP2
00000169: POP
0000016a: POP
0000016b: PUSH1 0x40
0000016d: MLOAD
0000016e: DUP1
0000016f: SWAP2
00000170: SUB
00000171: SWAP1
00000172: RETURN
00000173: JUMPDEST
00000174: PUSH2 0x017b
00000177: PUSH2 0x111b
0000017a: JUMP
0000017b: JUMPDEST
0000017c: STOP
0000017d: JUMPDEST
0000017e: CALLVALUE
0000017f: DUP1
00000180: ISZERO
00000181: PUSH2 0x0189
00000184: JUMPI
00000185: PUSH1 0x00
00000187: DUP1
00000188: REVERT
00000189: JUMPDEST
0000018a: POP
0000018b: PUSH2 0x01cc
0000018e: PUSH1 0x04
00000190: DUP1
00000191: CALLDATASIZE
00000192: SUB
00000193: PUSH1 0x20
00000195: DUP2
00000196: LT
00000197: ISZERO
00000198: PUSH2 0x01a0
0000019b: JUMPI
0000019c: PUSH1 0x00
0000019e: DUP1
0000019f: REVERT
000001a0: JUMPDEST
000001a1: DUP2
000001a2: ADD
000001a3: SWAP1
000001a4: DUP1
000001a5: DUP1
000001a6: CALLDATALOAD
000001a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001bc: AND
000001bd: SWAP1
000001be: PUSH1 0x20
000001c0: ADD
000001c1: SWAP1
000001c2: SWAP3
000001c3: SWAP2
000001c4: SWAP1
000001c5: POP
000001c6: POP
000001c7: POP
000001c8: PUSH2 0x115c
000001cb: JUMP
000001cc: JUMPDEST
000001cd: PUSH1 0x40
000001cf: MLOAD
000001d0: DUP1
000001d1: DUP3
000001d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001e7: AND
000001e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001fd: AND
000001fe: DUP2
000001ff: MSTORE
00000200: PUSH1 0x20
00000202: ADD
00000203: SWAP2
00000204: POP
00000205: POP
00000206: PUSH1 0x40
00000208: MLOAD
00000209: DUP1
0000020a: SWAP2
0000020b: SUB
0000020c: SWAP1
0000020d: RETURN
0000020e: JUMPDEST
0000020f: CALLVALUE
00000210: DUP1
00000211: ISZERO
00000212: PUSH2 0x021a
00000215: JUMPI
00000216: PUSH1 0x00
00000218: DUP1
00000219: REVERT
0000021a: JUMPDEST
0000021b: POP
0000021c: PUSH2 0x025d
0000021f: PUSH1 0x04
00000221: DUP1
00000222: CALLDATASIZE
00000223: SUB
00000224: PUSH1 0x20
00000226: DUP2
00000227: LT
00000228: ISZERO
00000229: PUSH2 0x0231
0000022c: JUMPI
0000022d: PUSH1 0x00
0000022f: DUP1
00000230: REVERT
00000231: JUMPDEST
00000232: DUP2
00000233: ADD
00000234: SWAP1
00000235: DUP1
00000236: DUP1
00000237: CALLDATALOAD
00000238: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000024d: AND
0000024e: SWAP1
0000024f: PUSH1 0x20
00000251: ADD
00000252: SWAP1
00000253: SWAP3
00000254: SWAP2
00000255: SWAP1
00000256: POP
00000257: POP
00000258: POP
00000259: PUSH2 0x11c8
0000025c: JUMP
0000025d: JUMPDEST
0000025e: PUSH1 0x40
00000260: MLOAD
00000261: DUP1
00000262: DUP7
00000263: ISZERO
00000264: ISZERO
00000265: ISZERO
00000266: ISZERO
00000267: DUP2
00000268: MSTORE
00000269: PUSH1 0x20
0000026b: ADD
0000026c: DUP6
0000026d: DUP2
0000026e: MSTORE
0000026f: PUSH1 0x20
00000271: ADD
00000272: DUP5
00000273: DUP2
00000274: MSTORE
00000275: PUSH1 0x20
00000277: ADD
00000278: DUP4
00000279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000028e: AND
0000028f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002a4: AND
000002a5: DUP2
000002a6: MSTORE
000002a7: PUSH1 0x20
000002a9: ADD
000002aa: DUP3
000002ab: DUP2
000002ac: MSTORE
000002ad: PUSH1 0x20
000002af: ADD
000002b0: SWAP6
000002b1: POP
000002b2: POP
000002b3: POP
000002b4: POP
000002b5: POP
000002b6: POP
000002b7: PUSH1 0x40
000002b9: MLOAD
000002ba: DUP1
000002bb: SWAP2
000002bc: SUB
000002bd: SWAP1
000002be: RETURN
000002bf: JUMPDEST
000002c0: CALLVALUE
000002c1: DUP1
000002c2: ISZERO
000002c3: PUSH2 0x02cb
000002c6: JUMPI
000002c7: PUSH1 0x00
000002c9: DUP1
000002ca: REVERT
000002cb: JUMPDEST
000002cc: POP
000002cd: PUSH2 0x02d4
000002d0: PUSH2 0x122b
000002d3: JUMP
000002d4: JUMPDEST
000002d5: PUSH1 0x40
000002d7: MLOAD
000002d8: DUP1
000002d9: DUP3
000002da: DUP2
000002db: MSTORE
000002dc: PUSH1 0x20
000002de: ADD
000002df: SWAP2
000002e0: POP
000002e1: POP
000002e2: PUSH1 0x40
000002e4: MLOAD
000002e5: DUP1
000002e6: SWAP2
000002e7: SUB
000002e8: SWAP1
000002e9: RETURN
000002ea: JUMPDEST
000002eb: CALLVALUE
000002ec: DUP1
000002ed: ISZERO
000002ee: PUSH2 0x02f6
000002f1: JUMPI
000002f2: PUSH1 0x00
000002f4: DUP1
000002f5: REVERT
000002f6: JUMPDEST
000002f7: POP
000002f8: PUSH2 0x0339
000002fb: PUSH1 0x04
000002fd: DUP1
000002fe: CALLDATASIZE
000002ff: SUB
00000300: PUSH1 0x20
00000302: DUP2
00000303: LT
00000304: ISZERO
00000305: PUSH2 0x030d
00000308: JUMPI
00000309: PUSH1 0x00
0000030b: DUP1
0000030c: REVERT
0000030d: JUMPDEST
0000030e: DUP2
0000030f: ADD
00000310: SWAP1
00000311: DUP1
00000312: DUP1
00000313: CALLDATALOAD
00000314: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000329: AND
0000032a: SWAP1
0000032b: PUSH1 0x20
0000032d: ADD
0000032e: SWAP1
0000032f: SWAP3
00000330: SWAP2
00000331: SWAP1
00000332: POP
00000333: POP
00000334: POP
00000335: PUSH2 0x1231
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH1 0x40
0000033c: MLOAD
0000033d: DUP1
0000033e: DUP1
0000033f: PUSH1 0x20
00000341: ADD
00000342: DUP3
00000343: DUP2
00000344: SUB
00000345: DUP3
00000346: MSTORE
00000347: DUP4
00000348: DUP2
00000349: DUP2
0000034a: MLOAD
0000034b: DUP2
0000034c: MSTORE
0000034d: PUSH1 0x20
0000034f: ADD
00000350: SWAP2
00000351: POP
00000352: DUP1
00000353: MLOAD
00000354: SWAP1
00000355: PUSH1 0x20
00000357: ADD
00000358: SWAP1
00000359: PUSH1 0x20
0000035b: MUL
0000035c: DUP1
0000035d: DUP4
0000035e: DUP4
0000035f: PUSH1 0x00
00000361: JUMPDEST
00000362: DUP4
00000363: DUP2
00000364: LT
00000365: ISZERO
00000366: PUSH2 0x037c
00000369: JUMPI
0000036a: DUP1
0000036b: DUP3
0000036c: ADD
0000036d: MLOAD
0000036e: DUP2
0000036f: DUP5
00000370: ADD
00000371: MSTORE
00000372: PUSH1 0x20
00000374: DUP2
00000375: ADD
00000376: SWAP1
00000377: POP
00000378: PUSH2 0x0361
0000037b: JUMP
0000037c: JUMPDEST
0000037d: POP
0000037e: POP
0000037f: POP
00000380: POP
00000381: SWAP1
00000382: POP
00000383: ADD
00000384: SWAP3
00000385: POP
00000386: POP
00000387: POP
00000388: PUSH1 0x40
0000038a: MLOAD
0000038b: DUP1
0000038c: SWAP2
0000038d: SUB
0000038e: SWAP1
0000038f: RETURN
00000390: JUMPDEST
00000391: PUSH2 0x0398
00000394: PUSH2 0x1301
00000397: JUMP
00000398: JUMPDEST
00000399: STOP
0000039a: JUMPDEST
0000039b: CALLVALUE
0000039c: DUP1
0000039d: ISZERO
0000039e: PUSH2 0x03a6
000003a1: JUMPI
000003a2: PUSH1 0x00
000003a4: DUP1
000003a5: REVERT
000003a6: JUMPDEST
000003a7: POP
000003a8: PUSH2 0x03af
000003ab: PUSH2 0x1daa
000003ae: JUMP
000003af: JUMPDEST
000003b0: STOP
000003b1: JUMPDEST
000003b2: CALLVALUE
000003b3: DUP1
000003b4: ISZERO
000003b5: PUSH2 0x03bd
000003b8: JUMPI
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: REVERT
000003bd: JUMPDEST
000003be: POP
000003bf: PUSH2 0x03c6
000003c2: PUSH2 0x1f36
000003c5: JUMP
000003c6: JUMPDEST
000003c7: PUSH1 0x40
000003c9: MLOAD
000003ca: DUP1
000003cb: DUP3
000003cc: DUP2
000003cd: MSTORE
000003ce: PUSH1 0x20
000003d0: ADD
000003d1: SWAP2
000003d2: POP
000003d3: POP
000003d4: PUSH1 0x40
000003d6: MLOAD
000003d7: DUP1
000003d8: SWAP2
000003d9: SUB
000003da: SWAP1
000003db: RETURN
000003dc: JUMPDEST
000003dd: CALLVALUE
000003de: DUP1
000003df: ISZERO
000003e0: PUSH2 0x03e8
000003e3: JUMPI
000003e4: PUSH1 0x00
000003e6: DUP1
000003e7: REVERT
000003e8: JUMPDEST
000003e9: POP
000003ea: PUSH2 0x0415
000003ed: PUSH1 0x04
000003ef: DUP1
000003f0: CALLDATASIZE
000003f1: SUB
000003f2: PUSH1 0x20
000003f4: DUP2
000003f5: LT
000003f6: ISZERO
000003f7: PUSH2 0x03ff
000003fa: JUMPI
000003fb: PUSH1 0x00
000003fd: DUP1
000003fe: REVERT
000003ff: JUMPDEST
00000400: DUP2
00000401: ADD
00000402: SWAP1
00000403: DUP1
00000404: DUP1
00000405: CALLDATALOAD
00000406: SWAP1
00000407: PUSH1 0x20
00000409: ADD
0000040a: SWAP1
0000040b: SWAP3
0000040c: SWAP2
0000040d: SWAP1
0000040e: POP
0000040f: POP
00000410: POP
00000411: PUSH2 0x1f55
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH1 0x40
00000418: MLOAD
00000419: DUP1
0000041a: DUP3
0000041b: DUP2
0000041c: MSTORE
0000041d: PUSH1 0x20
0000041f: ADD
00000420: SWAP2
00000421: POP
00000422: POP
00000423: PUSH1 0x40
00000425: MLOAD
00000426: DUP1
00000427: SWAP2
00000428: SUB
00000429: SWAP1
0000042a: RETURN
0000042b: JUMPDEST
0000042c: CALLVALUE
0000042d: DUP1
0000042e: ISZERO
0000042f: PUSH2 0x0437
00000432: JUMPI
00000433: PUSH1 0x00
00000435: DUP1
00000436: REVERT
00000437: JUMPDEST
00000438: POP
00000439: PUSH2 0x0464
0000043c: PUSH1 0x04
0000043e: DUP1
0000043f: CALLDATASIZE
00000440: SUB
00000441: PUSH1 0x20
00000443: DUP2
00000444: LT
00000445: ISZERO
00000446: PUSH2 0x044e
00000449: JUMPI
0000044a: PUSH1 0x00
0000044c: DUP1
0000044d: REVERT
0000044e: JUMPDEST
0000044f: DUP2
00000450: ADD
00000451: SWAP1
00000452: DUP1
00000453: DUP1
00000454: CALLDATALOAD
00000455: SWAP1
00000456: PUSH1 0x20
00000458: ADD
00000459: SWAP1
0000045a: SWAP3
0000045b: SWAP2
0000045c: SWAP1
0000045d: POP
0000045e: POP
0000045f: POP
00000460: PUSH2 0x1f6d
00000463: JUMP
00000464: JUMPDEST
00000465: PUSH1 0x40
00000467: MLOAD
00000468: DUP1
00000469: DUP3
0000046a: DUP2
0000046b: MSTORE
0000046c: PUSH1 0x20
0000046e: ADD
0000046f: SWAP2
00000470: POP
00000471: POP
00000472: PUSH1 0x40
00000474: MLOAD
00000475: DUP1
00000476: SWAP2
00000477: SUB
00000478: SWAP1
00000479: RETURN
0000047a: JUMPDEST
0000047b: CALLVALUE
0000047c: DUP1
0000047d: ISZERO
0000047e: PUSH2 0x0486
00000481: JUMPI
00000482: PUSH1 0x00
00000484: DUP1
00000485: REVERT
00000486: JUMPDEST
00000487: POP
00000488: PUSH2 0x04c9
0000048b: PUSH1 0x04
0000048d: DUP1
0000048e: CALLDATASIZE
0000048f: SUB
00000490: PUSH1 0x20
00000492: DUP2
00000493: LT
00000494: ISZERO
00000495: PUSH2 0x049d
00000498: JUMPI
00000499: PUSH1 0x00
0000049b: DUP1
0000049c: REVERT
0000049d: JUMPDEST
0000049e: DUP2
0000049f: ADD
000004a0: SWAP1
000004a1: DUP1
000004a2: DUP1
000004a3: CALLDATALOAD
000004a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004b9: AND
000004ba: SWAP1
000004bb: PUSH1 0x20
000004bd: ADD
000004be: SWAP1
000004bf: SWAP3
000004c0: SWAP2
000004c1: SWAP1
000004c2: POP
000004c3: POP
000004c4: POP
000004c5: PUSH2 0x1f85
000004c8: JUMP
000004c9: JUMPDEST
000004ca: PUSH1 0x40
000004cc: MLOAD
000004cd: DUP1
000004ce: DUP3
000004cf: ISZERO
000004d0: ISZERO
000004d1: ISZERO
000004d2: ISZERO
000004d3: DUP2
000004d4: MSTORE
000004d5: PUSH1 0x20
000004d7: ADD
000004d8: SWAP2
000004d9: POP
000004da: POP
000004db: PUSH1 0x40
000004dd: MLOAD
000004de: DUP1
000004df: SWAP2
000004e0: SUB
000004e1: SWAP1
000004e2: RETURN
000004e3: JUMPDEST
000004e4: CALLVALUE
000004e5: DUP1
000004e6: ISZERO
000004e7: PUSH2 0x04ef
000004ea: JUMPI
000004eb: PUSH1 0x00
000004ed: DUP1
000004ee: REVERT
000004ef: JUMPDEST
000004f0: POP
000004f1: PUSH2 0x051c
000004f4: PUSH1 0x04
000004f6: DUP1
000004f7: CALLDATASIZE
000004f8: SUB
000004f9: PUSH1 0x20
000004fb: DUP2
000004fc: LT
000004fd: ISZERO
000004fe: PUSH2 0x0506
00000501: JUMPI
00000502: PUSH1 0x00
00000504: DUP1
00000505: REVERT
00000506: JUMPDEST
00000507: DUP2
00000508: ADD
00000509: SWAP1
0000050a: DUP1
0000050b: DUP1
0000050c: CALLDATALOAD
0000050d: SWAP1
0000050e: PUSH1 0x20
00000510: ADD
00000511: SWAP1
00000512: SWAP3
00000513: SWAP2
00000514: SWAP1
00000515: POP
00000516: POP
00000517: POP
00000518: PUSH2 0x1fde
0000051b: JUMP
0000051c: JUMPDEST
0000051d: PUSH1 0x40
0000051f: MLOAD
00000520: DUP1
00000521: DUP3
00000522: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000537: AND
00000538: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000054d: AND
0000054e: DUP2
0000054f: MSTORE
00000550: PUSH1 0x20
00000552: ADD
00000553: SWAP2
00000554: POP
00000555: POP
00000556: PUSH1 0x40
00000558: MLOAD
00000559: DUP1
0000055a: SWAP2
0000055b: SUB
0000055c: SWAP1
0000055d: RETURN
0000055e: JUMPDEST
0000055f: CALLVALUE
00000560: DUP1
00000561: ISZERO
00000562: PUSH2 0x056a
00000565: JUMPI
00000566: PUSH1 0x00
00000568: DUP1
00000569: REVERT
0000056a: JUMPDEST
0000056b: POP
0000056c: PUSH2 0x0597
0000056f: PUSH1 0x04
00000571: DUP1
00000572: CALLDATASIZE
00000573: SUB
00000574: PUSH1 0x20
00000576: DUP2
00000577: LT
00000578: ISZERO
00000579: PUSH2 0x0581
0000057c: JUMPI
0000057d: PUSH1 0x00
0000057f: DUP1
00000580: REVERT
00000581: JUMPDEST
00000582: DUP2
00000583: ADD
00000584: SWAP1
00000585: DUP1
00000586: DUP1
00000587: CALLDATALOAD
00000588: SWAP1
00000589: PUSH1 0x20
0000058b: ADD
0000058c: SWAP1
0000058d: SWAP3
0000058e: SWAP2
0000058f: SWAP1
00000590: POP
00000591: POP
00000592: POP
00000593: PUSH2 0x2011
00000596: JUMP
00000597: JUMPDEST
00000598: PUSH1 0x40
0000059a: MLOAD
0000059b: DUP1
0000059c: DUP3
0000059d: DUP2
0000059e: MSTORE
0000059f: PUSH1 0x20
000005a1: ADD
000005a2: SWAP2
000005a3: POP
000005a4: POP
000005a5: PUSH1 0x40
000005a7: MLOAD
000005a8: DUP1
000005a9: SWAP2
000005aa: SUB
000005ab: SWAP1
000005ac: RETURN
000005ad: JUMPDEST
000005ae: PUSH1 0x00
000005b0: PUSH1 0x02
000005b2: SLOAD
000005b3: PUSH1 0x06
000005b5: PUSH1 0x00
000005b7: DUP5
000005b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005cd: AND
000005ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005e3: AND
000005e4: DUP2
000005e5: MSTORE
000005e6: PUSH1 0x20
000005e8: ADD
000005e9: SWAP1
000005ea: DUP2
000005eb: MSTORE
000005ec: PUSH1 0x20
000005ee: ADD
000005ef: PUSH1 0x00
000005f1: KECCAK256
000005f2: PUSH1 0x03
000005f4: ADD
000005f5: DUP1
000005f6: SLOAD
000005f7: SWAP1
000005f8: POP
000005f9: LT
000005fa: ISZERO
000005fb: PUSH2 0x0606
000005fe: JUMPI
000005ff: DUP2
00000600: SWAP1
00000601: POP
00000602: PUSH2 0x1116
00000605: JUMP
00000606: JUMPDEST
00000607: PUSH1 0x60
00000609: PUSH2 0x017a
0000060c: PUSH1 0x40
0000060e: MLOAD
0000060f: SWAP1
00000610: DUP1
00000611: DUP3
00000612: MSTORE
00000613: DUP1
00000614: PUSH1 0x20
00000616: MUL
00000617: PUSH1 0x20
00000619: ADD
0000061a: DUP3
0000061b: ADD
0000061c: PUSH1 0x40
0000061e: MSTORE
0000061f: DUP1
00000620: ISZERO
00000621: PUSH2 0x0639
00000624: JUMPI
00000625: DUP2
00000626: PUSH1 0x20
00000628: ADD
00000629: PUSH1 0x20
0000062b: DUP3
0000062c: MUL
0000062d: DUP1
0000062e: CODESIZE
0000062f: DUP4
00000630: CODECOPY
00000631: DUP1
00000632: DUP3
00000633: ADD
00000634: SWAP2
00000635: POP
00000636: POP
00000637: SWAP1
00000638: POP
00000639: JUMPDEST
0000063a: POP
0000063b: SWAP1
0000063c: POP
0000063d: PUSH1 0x00
0000063f: DUP1
00000640: SWAP1
00000641: POP
00000642: PUSH1 0x08
00000644: SLOAD
00000645: SWAP1
00000646: POP
00000647: PUSH1 0x06
00000649: PUSH1 0x00
0000064b: DUP6
0000064c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000661: AND
00000662: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000677: AND
00000678: DUP2
00000679: MSTORE
0000067a: PUSH1 0x20
0000067c: ADD
0000067d: SWAP1
0000067e: DUP2
0000067f: MSTORE
00000680: PUSH1 0x20
00000682: ADD
00000683: PUSH1 0x00
00000685: KECCAK256
00000686: PUSH1 0x03
00000688: ADD
00000689: PUSH1 0x00
0000068b: DUP2
0000068c: SLOAD
0000068d: DUP2
0000068e: LT
0000068f: PUSH2 0x0694
00000692: JUMPI
00000693: INVALID
00000694: JUMPDEST
00000695: SWAP1
00000696: PUSH1 0x00
00000698: MSTORE
00000699: PUSH1 0x20
0000069b: PUSH1 0x00
0000069d: KECCAK256
0000069e: ADD
0000069f: PUSH1 0x00
000006a1: SWAP1
000006a2: SLOAD
000006a3: SWAP1
000006a4: PUSH2 0x0100
000006a7: EXP
000006a8: SWAP1
000006a9: DIV
000006aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006bf: AND
000006c0: DUP3
000006c1: PUSH1 0x00
000006c3: DUP2
000006c4: MLOAD
000006c5: DUP2
000006c6: LT
000006c7: PUSH2 0x06cc
000006ca: JUMPI
000006cb: INVALID
000006cc: JUMPDEST
000006cd: PUSH1 0x20
000006cf: MUL
000006d0: PUSH1 0x20
000006d2: ADD
000006d3: ADD
000006d4: SWAP1
000006d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006ea: AND
000006eb: SWAP1
000006ec: DUP2
000006ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000702: AND
00000703: DUP2
00000704: MSTORE
00000705: POP
00000706: POP
00000707: PUSH1 0x06
00000709: PUSH1 0x00
0000070b: DUP6
0000070c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000721: AND
00000722: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000737: AND
00000738: DUP2
00000739: MSTORE
0000073a: PUSH1 0x20
0000073c: ADD
0000073d: SWAP1
0000073e: DUP2
0000073f: MSTORE
00000740: PUSH1 0x20
00000742: ADD
00000743: PUSH1 0x00
00000745: KECCAK256
00000746: PUSH1 0x03
00000748: ADD
00000749: PUSH1 0x01
0000074b: DUP2
0000074c: SLOAD
0000074d: DUP2
0000074e: LT
0000074f: PUSH2 0x0754
00000752: JUMPI
00000753: INVALID
00000754: JUMPDEST
00000755: SWAP1
00000756: PUSH1 0x00
00000758: MSTORE
00000759: PUSH1 0x20
0000075b: PUSH1 0x00
0000075d: KECCAK256
0000075e: ADD
0000075f: PUSH1 0x00
00000761: SWAP1
00000762: SLOAD
00000763: SWAP1
00000764: PUSH2 0x0100
00000767: EXP
00000768: SWAP1
00000769: DIV
0000076a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000077f: AND
00000780: DUP3
00000781: PUSH1 0x01
00000783: DUP2
00000784: MLOAD
00000785: DUP2
00000786: LT
00000787: PUSH2 0x078c
0000078a: JUMPI
0000078b: INVALID
0000078c: JUMPDEST
0000078d: PUSH1 0x20
0000078f: MUL
00000790: PUSH1 0x20
00000792: ADD
00000793: ADD
00000794: SWAP1
00000795: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007aa: AND
000007ab: SWAP1
000007ac: DUP2
000007ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c2: AND
000007c3: DUP2
000007c4: MSTORE
000007c5: POP
000007c6: POP
000007c7: PUSH1 0x06
000007c9: PUSH1 0x00
000007cb: DUP6
000007cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e1: AND
000007e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007f7: AND
000007f8: DUP2
000007f9: MSTORE
000007fa: PUSH1 0x20
000007fc: ADD
000007fd: SWAP1
000007fe: DUP2
000007ff: MSTORE
00000800: PUSH1 0x20
00000802: ADD
00000803: PUSH1 0x00
00000805: KECCAK256
00000806: PUSH1 0x03
00000808: ADD
00000809: PUSH1 0x02
0000080b: DUP2
0000080c: SLOAD
0000080d: DUP2
0000080e: LT
0000080f: PUSH2 0x0814
00000812: JUMPI
00000813: INVALID
00000814: JUMPDEST
00000815: SWAP1
00000816: PUSH1 0x00
00000818: MSTORE
00000819: PUSH1 0x20
0000081b: PUSH1 0x00
0000081d: KECCAK256
0000081e: ADD
0000081f: PUSH1 0x00
00000821: SWAP1
00000822: SLOAD
00000823: SWAP1
00000824: PUSH2 0x0100
00000827: EXP
00000828: SWAP1
00000829: DIV
0000082a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000083f: AND
00000840: DUP3
00000841: PUSH1 0x02
00000843: DUP2
00000844: MLOAD
00000845: DUP2
00000846: LT
00000847: PUSH2 0x084c
0000084a: JUMPI
0000084b: INVALID
0000084c: JUMPDEST
0000084d: PUSH1 0x20
0000084f: MUL
00000850: PUSH1 0x20
00000852: ADD
00000853: ADD
00000854: SWAP1
00000855: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000086a: AND
0000086b: SWAP1
0000086c: DUP2
0000086d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000882: AND
00000883: DUP2
00000884: MSTORE
00000885: POP
00000886: POP
00000887: PUSH1 0x06
00000889: PUSH1 0x00
0000088b: DUP6
0000088c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008a1: AND
000008a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b7: AND
000008b8: DUP2
000008b9: MSTORE
000008ba: PUSH1 0x20
000008bc: ADD
000008bd: SWAP1
000008be: DUP2
000008bf: MSTORE
000008c0: PUSH1 0x20
000008c2: ADD
000008c3: PUSH1 0x00
000008c5: KECCAK256
000008c6: PUSH1 0x03
000008c8: ADD
000008c9: PUSH1 0x03
000008cb: DUP2
000008cc: SLOAD
000008cd: DUP2
000008ce: LT
000008cf: PUSH2 0x08d4
000008d2: JUMPI
000008d3: INVALID
000008d4: JUMPDEST
000008d5: SWAP1
000008d6: PUSH1 0x00
000008d8: MSTORE
000008d9: PUSH1 0x20
000008db: PUSH1 0x00
000008dd: KECCAK256
000008de: ADD
000008df: PUSH1 0x00
000008e1: SWAP1
000008e2: SLOAD
000008e3: SWAP1
000008e4: PUSH2 0x0100
000008e7: EXP
000008e8: SWAP1
000008e9: DIV
000008ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008ff: AND
00000900: DUP3
00000901: PUSH1 0x03
00000903: DUP2
00000904: MLOAD
00000905: DUP2
00000906: LT
00000907: PUSH2 0x090c
0000090a: JUMPI
0000090b: INVALID
0000090c: JUMPDEST
0000090d: PUSH1 0x20
0000090f: MUL
00000910: PUSH1 0x20
00000912: ADD
00000913: ADD
00000914: SWAP1
00000915: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000092a: AND
0000092b: SWAP1
0000092c: DUP2
0000092d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000942: AND
00000943: DUP2
00000944: MSTORE
00000945: POP
00000946: POP
00000947: PUSH1 0x06
00000949: PUSH1 0x00
0000094b: DUP6
0000094c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000961: AND
00000962: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000977: AND
00000978: DUP2
00000979: MSTORE
0000097a: PUSH1 0x20
0000097c: ADD
0000097d: SWAP1
0000097e: DUP2
0000097f: MSTORE
00000980: PUSH1 0x20
00000982: ADD
00000983: PUSH1 0x00
00000985: KECCAK256
00000986: PUSH1 0x03
00000988: ADD
00000989: PUSH1 0x04
0000098b: DUP2
0000098c: SLOAD
0000098d: DUP2
0000098e: LT
0000098f: PUSH2 0x0994
00000992: JUMPI
00000993: INVALID
00000994: JUMPDEST
00000995: SWAP1
00000996: PUSH1 0x00
00000998: MSTORE
00000999: PUSH1 0x20
0000099b: PUSH1 0x00
0000099d: KECCAK256
0000099e: ADD
0000099f: PUSH1 0x00
000009a1: SWAP1
000009a2: SLOAD
000009a3: SWAP1
000009a4: PUSH2 0x0100
000009a7: EXP
000009a8: SWAP1
000009a9: DIV
000009aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009bf: AND
000009c0: DUP3
000009c1: PUSH1 0x04
000009c3: DUP2
000009c4: MLOAD
000009c5: DUP2
000009c6: LT
000009c7: PUSH2 0x09cc
000009ca: JUMPI
000009cb: INVALID
000009cc: JUMPDEST
000009cd: PUSH1 0x20
000009cf: MUL
000009d0: PUSH1 0x20
000009d2: ADD
000009d3: ADD
000009d4: SWAP1
000009d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ea: AND
000009eb: SWAP1
000009ec: DUP2
000009ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a02: AND
00000a03: DUP2
00000a04: MSTORE
00000a05: POP
00000a06: POP
00000a07: PUSH1 0x06
00000a09: PUSH1 0x00
00000a0b: DUP6
00000a0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a21: AND
00000a22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a37: AND
00000a38: DUP2
00000a39: MSTORE
00000a3a: PUSH1 0x20
00000a3c: ADD
00000a3d: SWAP1
00000a3e: DUP2
00000a3f: MSTORE
00000a40: PUSH1 0x20
00000a42: ADD
00000a43: PUSH1 0x00
00000a45: KECCAK256
00000a46: PUSH1 0x03
00000a48: ADD
00000a49: PUSH1 0x05
00000a4b: DUP2
00000a4c: SLOAD
00000a4d: DUP2
00000a4e: LT
00000a4f: PUSH2 0x0a54
00000a52: JUMPI
00000a53: INVALID
00000a54: JUMPDEST
00000a55: SWAP1
00000a56: PUSH1 0x00
00000a58: MSTORE
00000a59: PUSH1 0x20
00000a5b: PUSH1 0x00
00000a5d: KECCAK256
00000a5e: ADD
00000a5f: PUSH1 0x00
00000a61: SWAP1
00000a62: SLOAD
00000a63: SWAP1
00000a64: PUSH2 0x0100
00000a67: EXP
00000a68: SWAP1
00000a69: DIV
00000a6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a7f: AND
00000a80: DUP3
00000a81: PUSH1 0x05
00000a83: DUP2
00000a84: MLOAD
00000a85: DUP2
00000a86: LT
00000a87: PUSH2 0x0a8c
00000a8a: JUMPI
00000a8b: INVALID
00000a8c: JUMPDEST
00000a8d: PUSH1 0x20
00000a8f: MUL
00000a90: PUSH1 0x20
00000a92: ADD
00000a93: ADD
00000a94: SWAP1
00000a95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aaa: AND
00000aab: SWAP1
00000aac: DUP2
00000aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ac2: AND
00000ac3: DUP2
00000ac4: MSTORE
00000ac5: POP
00000ac6: POP
00000ac7: PUSH1 0x00
00000ac9: DUP1
00000aca: PUSH1 0x01
00000acc: SWAP1
00000acd: POP
00000ace: PUSH1 0x00
00000ad0: DUP1
00000ad1: SWAP1
00000ad2: POP
00000ad3: JUMPDEST
00000ad4: PUSH2 0x017a
00000ad7: DUP2
00000ad8: LT
00000ad9: ISZERO
00000ada: PUSH2 0x1099
00000add: JUMPI
00000ade: PUSH1 0x02
00000ae0: SLOAD
00000ae1: PUSH1 0x06
00000ae3: PUSH1 0x00
00000ae5: DUP8
00000ae6: DUP5
00000ae7: DUP2
00000ae8: MLOAD
00000ae9: DUP2
00000aea: LT
00000aeb: PUSH2 0x0af0
00000aee: JUMPI
00000aef: INVALID
00000af0: JUMPDEST
00000af1: PUSH1 0x20
00000af3: MUL
00000af4: PUSH1 0x20
00000af6: ADD
00000af7: ADD
00000af8: MLOAD
00000af9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b0e: AND
00000b0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b24: AND
00000b25: DUP2
00000b26: MSTORE
00000b27: PUSH1 0x20
00000b29: ADD
00000b2a: SWAP1
00000b2b: DUP2
00000b2c: MSTORE
00000b2d: PUSH1 0x20
00000b2f: ADD
00000b30: PUSH1 0x00
00000b32: KECCAK256
00000b33: PUSH1 0x03
00000b35: ADD
00000b36: DUP1
00000b37: SLOAD
00000b38: SWAP1
00000b39: POP
00000b3a: EQ
00000b3b: ISZERO
00000b3c: PUSH2 0x106d
00000b3f: JUMPI
00000b40: PUSH1 0x3e
00000b42: DUP2
00000b43: LT
00000b44: ISZERO
00000b45: PUSH2 0x1068
00000b48: JUMPI
00000b49: PUSH1 0x06
00000b4b: PUSH1 0x00
00000b4d: DUP7
00000b4e: DUP4
00000b4f: DUP2
00000b50: MLOAD
00000b51: DUP2
00000b52: LT
00000b53: PUSH2 0x0b58
00000b56: JUMPI
00000b57: INVALID
00000b58: JUMPDEST
00000b59: PUSH1 0x20
00000b5b: MUL
00000b5c: PUSH1 0x20
00000b5e: ADD
00000b5f: ADD
00000b60: MLOAD
00000b61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b76: AND
00000b77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b8c: AND
00000b8d: DUP2
00000b8e: MSTORE
00000b8f: PUSH1 0x20
00000b91: ADD
00000b92: SWAP1
00000b93: DUP2
00000b94: MSTORE
00000b95: PUSH1 0x20
00000b97: ADD
00000b98: PUSH1 0x00
00000b9a: KECCAK256
00000b9b: PUSH1 0x03
00000b9d: ADD
00000b9e: PUSH1 0x00
00000ba0: DUP2
00000ba1: SLOAD
00000ba2: DUP2
00000ba3: LT
00000ba4: PUSH2 0x0ba9
00000ba7: JUMPI
00000ba8: INVALID
00000ba9: JUMPDEST
00000baa: SWAP1
00000bab: PUSH1 0x00
00000bad: MSTORE
00000bae: PUSH1 0x20
00000bb0: PUSH1 0x00
00000bb2: KECCAK256
00000bb3: ADD
00000bb4: PUSH1 0x00
00000bb6: SWAP1
00000bb7: SLOAD
00000bb8: SWAP1
00000bb9: PUSH2 0x0100
00000bbc: EXP
00000bbd: SWAP1
00000bbe: DIV
00000bbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd4: AND
00000bd5: DUP6
00000bd6: PUSH1 0x06
00000bd8: PUSH1 0x01
00000bda: DUP5
00000bdb: ADD
00000bdc: MUL
00000bdd: DUP2
00000bde: MLOAD
00000bdf: DUP2
00000be0: LT
00000be1: PUSH2 0x0be6
00000be4: JUMPI
00000be5: INVALID
00000be6: JUMPDEST
00000be7: PUSH1 0x20
00000be9: MUL
00000bea: PUSH1 0x20
00000bec: ADD
00000bed: ADD
00000bee: SWAP1
00000bef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c04: AND
00000c05: SWAP1
00000c06: DUP2
00000c07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c1c: AND
00000c1d: DUP2
00000c1e: MSTORE
00000c1f: POP
00000c20: POP
00000c21: PUSH1 0x06
00000c23: PUSH1 0x00
00000c25: DUP7
00000c26: DUP4
00000c27: DUP2
00000c28: MLOAD
00000c29: DUP2
00000c2a: LT
00000c2b: PUSH2 0x0c30
00000c2e: JUMPI
00000c2f: INVALID
00000c30: JUMPDEST
00000c31: PUSH1 0x20
00000c33: MUL
00000c34: PUSH1 0x20
00000c36: ADD
00000c37: ADD
00000c38: MLOAD
00000c39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c4e: AND
00000c4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c64: AND
00000c65: DUP2
00000c66: MSTORE
00000c67: PUSH1 0x20
00000c69: ADD
00000c6a: SWAP1
00000c6b: DUP2
00000c6c: MSTORE
00000c6d: PUSH1 0x20
00000c6f: ADD
00000c70: PUSH1 0x00
00000c72: KECCAK256
00000c73: PUSH1 0x03
00000c75: ADD
00000c76: PUSH1 0x01
00000c78: DUP2
00000c79: SLOAD
00000c7a: DUP2
00000c7b: LT
00000c7c: PUSH2 0x0c81
00000c7f: JUMPI
00000c80: INVALID
00000c81: JUMPDEST
00000c82: SWAP1
00000c83: PUSH1 0x00
00000c85: MSTORE
00000c86: PUSH1 0x20
00000c88: PUSH1 0x00
00000c8a: KECCAK256
00000c8b: ADD
00000c8c: PUSH1 0x00
00000c8e: SWAP1
00000c8f: SLOAD
00000c90: SWAP1
00000c91: PUSH2 0x0100
00000c94: EXP
00000c95: SWAP1
00000c96: DIV
00000c97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cac: AND
00000cad: DUP6
00000cae: PUSH1 0x01
00000cb0: PUSH1 0x06
00000cb2: PUSH1 0x01
00000cb4: DUP6
00000cb5: ADD
00000cb6: MUL
00000cb7: ADD
00000cb8: DUP2
00000cb9: MLOAD
00000cba: DUP2
00000cbb: LT
00000cbc: PUSH2 0x0cc1
00000cbf: JUMPI
00000cc0: INVALID
00000cc1: JUMPDEST
00000cc2: PUSH1 0x20
00000cc4: MUL
00000cc5: PUSH1 0x20
00000cc7: ADD
00000cc8: ADD
00000cc9: SWAP1
00000cca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cdf: AND
00000ce0: SWAP1
00000ce1: DUP2
00000ce2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf7: AND
00000cf8: DUP2
00000cf9: MSTORE
00000cfa: POP
00000cfb: POP
00000cfc: PUSH1 0x06
00000cfe: PUSH1 0x00
00000d00: DUP7
00000d01: DUP4
00000d02: DUP2
00000d03: MLOAD
00000d04: DUP2
00000d05: LT
00000d06: PUSH2 0x0d0b
00000d09: JUMPI
00000d0a: INVALID
00000d0b: JUMPDEST
00000d0c: PUSH1 0x20
00000d0e: MUL
00000d0f: PUSH1 0x20
00000d11: ADD
00000d12: ADD
00000d13: MLOAD
00000d14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d29: AND
00000d2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d3f: AND
00000d40: DUP2
00000d41: MSTORE
00000d42: PUSH1 0x20
00000d44: ADD
00000d45: SWAP1
00000d46: DUP2
00000d47: MSTORE
00000d48: PUSH1 0x20
00000d4a: ADD
00000d4b: PUSH1 0x00
00000d4d: KECCAK256
00000d4e: PUSH1 0x03
00000d50: ADD
00000d51: PUSH1 0x02
00000d53: DUP2
00000d54: SLOAD
00000d55: DUP2
00000d56: LT
00000d57: PUSH2 0x0d5c
00000d5a: JUMPI
00000d5b: INVALID
00000d5c: JUMPDEST
00000d5d: SWAP1
00000d5e: PUSH1 0x00
00000d60: MSTORE
00000d61: PUSH1 0x20
00000d63: PUSH1 0x00
00000d65: KECCAK256
00000d66: ADD
00000d67: PUSH1 0x00
00000d69: SWAP1
00000d6a: SLOAD
00000d6b: SWAP1
00000d6c: PUSH2 0x0100
00000d6f: EXP
00000d70: SWAP1
00000d71: DIV
00000d72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d87: AND
00000d88: DUP6
00000d89: PUSH1 0x02
00000d8b: PUSH1 0x06
00000d8d: PUSH1 0x01
00000d8f: DUP6
00000d90: ADD
00000d91: MUL
00000d92: ADD
00000d93: DUP2
00000d94: MLOAD
00000d95: DUP2
00000d96: LT
00000d97: PUSH2 0x0d9c
00000d9a: JUMPI
00000d9b: INVALID
00000d9c: JUMPDEST
00000d9d: PUSH1 0x20
00000d9f: MUL
00000da0: PUSH1 0x20
00000da2: ADD
00000da3: ADD
00000da4: SWAP1
00000da5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dba: AND
00000dbb: SWAP1
00000dbc: DUP2
00000dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dd2: AND
00000dd3: DUP2
00000dd4: MSTORE
00000dd5: POP
00000dd6: POP
00000dd7: PUSH1 0x06
00000dd9: PUSH1 0x00
00000ddb: DUP7
00000ddc: DUP4
00000ddd: DUP2
00000dde: MLOAD
00000ddf: DUP2
00000de0: LT
00000de1: PUSH2 0x0de6
00000de4: JUMPI
00000de5: INVALID
00000de6: JUMPDEST
00000de7: PUSH1 0x20
00000de9: MUL
00000dea: PUSH1 0x20
00000dec: ADD
00000ded: ADD
00000dee: MLOAD
00000def: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e04: AND
00000e05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e1a: AND
00000e1b: DUP2
00000e1c: MSTORE
00000e1d: PUSH1 0x20
00000e1f: ADD
00000e20: SWAP1
00000e21: DUP2
00000e22: MSTORE
00000e23: PUSH1 0x20
00000e25: ADD
00000e26: PUSH1 0x00
00000e28: KECCAK256
00000e29: PUSH1 0x03
00000e2b: ADD
00000e2c: PUSH1 0x03
00000e2e: DUP2
00000e2f: SLOAD
00000e30: DUP2
00000e31: LT
00000e32: PUSH2 0x0e37
00000e35: JUMPI
00000e36: INVALID
00000e37: JUMPDEST
00000e38: SWAP1
00000e39: PUSH1 0x00
00000e3b: MSTORE
00000e3c: PUSH1 0x20
00000e3e: PUSH1 0x00
00000e40: KECCAK256
00000e41: ADD
00000e42: PUSH1 0x00
00000e44: SWAP1
00000e45: SLOAD
00000e46: SWAP1
00000e47: PUSH2 0x0100
00000e4a: EXP
00000e4b: SWAP1
00000e4c: DIV
00000e4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e62: AND
00000e63: DUP6
00000e64: PUSH1 0x03
00000e66: PUSH1 0x06
00000e68: PUSH1 0x01
00000e6a: DUP6
00000e6b: ADD
00000e6c: MUL
00000e6d: ADD
00000e6e: DUP2
00000e6f: MLOAD
00000e70: DUP2
00000e71: LT
00000e72: PUSH2 0x0e77
00000e75: JUMPI
00000e76: INVALID
00000e77: JUMPDEST
00000e78: PUSH1 0x20
00000e7a: MUL
00000e7b: PUSH1 0x20
00000e7d: ADD
00000e7e: ADD
00000e7f: SWAP1
00000e80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e95: AND
00000e96: SWAP1
00000e97: DUP2
00000e98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ead: AND
00000eae: DUP2
00000eaf: MSTORE
00000eb0: POP
00000eb1: POP
00000eb2: PUSH1 0x06
00000eb4: PUSH1 0x00
00000eb6: DUP7
00000eb7: DUP4
00000eb8: DUP2
00000eb9: MLOAD
00000eba: DUP2
00000ebb: LT
00000ebc: PUSH2 0x0ec1
00000ebf: JUMPI
00000ec0: INVALID
00000ec1: JUMPDEST
00000ec2: PUSH1 0x20
00000ec4: MUL
00000ec5: PUSH1 0x20
00000ec7: ADD
00000ec8: ADD
00000ec9: MLOAD
00000eca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000edf: AND
00000ee0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ef5: AND
00000ef6: DUP2
00000ef7: MSTORE
00000ef8: PUSH1 0x20
00000efa: ADD
00000efb: SWAP1
00000efc: DUP2
00000efd: MSTORE
00000efe: PUSH1 0x20
00000f00: ADD
00000f01: PUSH1 0x00
00000f03: KECCAK256
00000f04: PUSH1 0x03
00000f06: ADD
00000f07: PUSH1 0x04
00000f09: DUP2
00000f0a: SLOAD
00000f0b: DUP2
00000f0c: LT
00000f0d: PUSH2 0x0f12
00000f10: JUMPI
00000f11: INVALID
00000f12: JUMPDEST
00000f13: SWAP1
00000f14: PUSH1 0x00
00000f16: MSTORE
00000f17: PUSH1 0x20
00000f19: PUSH1 0x00
00000f1b: KECCAK256
00000f1c: ADD
00000f1d: PUSH1 0x00
00000f1f: SWAP1
00000f20: SLOAD
00000f21: SWAP1
00000f22: PUSH2 0x0100
00000f25: EXP
00000f26: SWAP1
00000f27: DIV
00000f28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f3d: AND
00000f3e: DUP6
00000f3f: PUSH1 0x04
00000f41: PUSH1 0x06
00000f43: PUSH1 0x01
00000f45: DUP6
00000f46: ADD
00000f47: MUL
00000f48: ADD
00000f49: DUP2
00000f4a: MLOAD
00000f4b: DUP2
00000f4c: LT
00000f4d: PUSH2 0x0f52
00000f50: JUMPI
00000f51: INVALID
00000f52: JUMPDEST
00000f53: PUSH1 0x20
00000f55: MUL
00000f56: PUSH1 0x20
00000f58: ADD
00000f59: ADD
00000f5a: SWAP1
00000f5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f70: AND
00000f71: SWAP1
00000f72: DUP2
00000f73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f88: AND
00000f89: DUP2
00000f8a: MSTORE
00000f8b: POP
00000f8c: POP
00000f8d: PUSH1 0x06
00000f8f: PUSH1 0x00
00000f91: DUP7
00000f92: DUP4
00000f93: DUP2
00000f94: MLOAD
00000f95: DUP2
00000f96: LT
00000f97: PUSH2 0x0f9c
00000f9a: JUMPI
00000f9b: INVALID
00000f9c: JUMPDEST
00000f9d: PUSH1 0x20
00000f9f: MUL
00000fa0: PUSH1 0x20
00000fa2: ADD
00000fa3: ADD
00000fa4: MLOAD
00000fa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fba: AND
00000fbb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fd0: AND
00000fd1: DUP2
00000fd2: MSTORE
00000fd3: PUSH1 0x20
00000fd5: ADD
00000fd6: SWAP1
00000fd7: DUP2
00000fd8: MSTORE
00000fd9: PUSH1 0x20
00000fdb: ADD
00000fdc: PUSH1 0x00
00000fde: KECCAK256
00000fdf: PUSH1 0x03
00000fe1: ADD
00000fe2: PUSH1 0x05
00000fe4: DUP2
00000fe5: SLOAD
00000fe6: DUP2
00000fe7: LT
00000fe8: PUSH2 0x0fed
00000feb: JUMPI
00000fec: INVALID
00000fed: JUMPDEST
00000fee: SWAP1
00000fef: PUSH1 0x00
00000ff1: MSTORE
00000ff2: PUSH1 0x20
00000ff4: PUSH1 0x00
00000ff6: KECCAK256
00000ff7: ADD
00000ff8: PUSH1 0x00
00000ffa: SWAP1
00000ffb: SLOAD
00000ffc: SWAP1
00000ffd: PUSH2 0x0100
00001000: EXP
00001001: SWAP1
00001002: DIV
00001003: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001018: AND
00001019: DUP6
0000101a: PUSH1 0x05
0000101c: PUSH1 0x06
0000101e: PUSH1 0x01
00001020: DUP6
00001021: ADD
00001022: MUL
00001023: ADD
00001024: DUP2
00001025: MLOAD
00001026: DUP2
00001027: LT
00001028: PUSH2 0x102d
0000102b: JUMPI
0000102c: INVALID
0000102d: JUMPDEST
0000102e: PUSH1 0x20
00001030: MUL
00001031: PUSH1 0x20
00001033: ADD
00001034: ADD
00001035: SWAP1
00001036: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000104b: AND
0000104c: SWAP1
0000104d: DUP2
0000104e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001063: AND
00001064: DUP2
00001065: MSTORE
00001066: POP
00001067: POP
00001068: JUMPDEST
00001069: PUSH2 0x108c
0000106c: JUMP
0000106d: JUMPDEST
0000106e: PUSH1 0x00
00001070: SWAP2
00001071: POP
00001072: DUP5
00001073: DUP2
00001074: DUP2
00001075: MLOAD
00001076: DUP2
00001077: LT
00001078: PUSH2 0x107d
0000107b: JUMPI
0000107c: INVALID
0000107d: JUMPDEST
0000107e: PUSH1 0x20
00001080: MUL
00001081: PUSH1 0x20
00001083: ADD
00001084: ADD
00001085: MLOAD
00001086: SWAP3
00001087: POP
00001088: PUSH2 0x1099
0000108b: JUMP
0000108c: JUMPDEST
0000108d: DUP1
0000108e: DUP1
0000108f: PUSH1 0x01
00001091: ADD
00001092: SWAP2
00001093: POP
00001094: POP
00001095: PUSH2 0x0ad3
00001098: JUMP
00001099: JUMPDEST
0000109a: POP
0000109b: DUP1
0000109c: ISZERO
0000109d: PUSH2 0x110e
000010a0: JUMPI
000010a1: PUSH1 0x40
000010a3: MLOAD
000010a4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010c5: DUP2
000010c6: MSTORE
000010c7: PUSH1 0x04
000010c9: ADD
000010ca: DUP1
000010cb: DUP1
000010cc: PUSH1 0x20
000010ce: ADD
000010cf: DUP3
000010d0: DUP2
000010d1: SUB
000010d2: DUP3
000010d3: MSTORE
000010d4: PUSH1 0x10
000010d6: DUP2
000010d7: MSTORE
000010d8: PUSH1 0x20
000010da: ADD
000010db: DUP1
000010dc: PUSH32 0x4e6f204672656520526566657272657200000000000000000000000000000000
000010fd: DUP2
000010fe: MSTORE
000010ff: POP
00001100: PUSH1 0x20
00001102: ADD
00001103: SWAP2
00001104: POP
00001105: POP
00001106: PUSH1 0x40
00001108: MLOAD
00001109: DUP1
0000110a: SWAP2
0000110b: SUB
0000110c: SWAP1
0000110d: REVERT
0000110e: JUMPDEST
0000110f: DUP2
00001110: SWAP5
00001111: POP
00001112: POP
00001113: POP
00001114: POP
00001115: POP
00001116: JUMPDEST
00001117: SWAP2
00001118: SWAP1
00001119: POP
0000111a: JUMP
0000111b: JUMPDEST
0000111c: PUSH32 0x788751843d5b00335b64d8c05189e4a4d9dd9abad2a097ba42ddd0ba43b8cb5e
0000113d: CALLVALUE
0000113e: TIMESTAMP
0000113f: PUSH1 0x40
00001141: MLOAD
00001142: DUP1
00001143: DUP4
00001144: DUP2
00001145: MSTORE
00001146: PUSH1 0x20
00001148: ADD
00001149: DUP3
0000114a: DUP2
0000114b: MSTORE
0000114c: PUSH1 0x20
0000114e: ADD
0000114f: SWAP3
00001150: POP
00001151: POP
00001152: POP
00001153: PUSH1 0x40
00001155: MLOAD
00001156: DUP1
00001157: SWAP2
00001158: SUB
00001159: SWAP1
0000115a: LOG1
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH1 0x00
0000115f: PUSH1 0x06
00001161: PUSH1 0x00
00001163: DUP4
00001164: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001179: AND
0000117a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000118f: AND
00001190: DUP2
00001191: MSTORE
00001192: PUSH1 0x20
00001194: ADD
00001195: SWAP1
00001196: DUP2
00001197: MSTORE
00001198: PUSH1 0x20
0000119a: ADD
0000119b: PUSH1 0x00
0000119d: KECCAK256
0000119e: PUSH1 0x04
000011a0: ADD
000011a1: PUSH1 0x00
000011a3: SWAP1
000011a4: SLOAD
000011a5: SWAP1
000011a6: PUSH2 0x0100
000011a9: EXP
000011aa: SWAP1
000011ab: DIV
000011ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011c1: AND
000011c2: SWAP1
000011c3: POP
000011c4: SWAP2
000011c5: SWAP1
000011c6: POP
000011c7: JUMP
000011c8: JUMPDEST
000011c9: PUSH1 0x06
000011cb: PUSH1 0x20
000011cd: MSTORE
000011ce: DUP1
000011cf: PUSH1 0x00
000011d1: MSTORE
000011d2: PUSH1 0x40
000011d4: PUSH1 0x00
000011d6: KECCAK256
000011d7: PUSH1 0x00
000011d9: SWAP2
000011da: POP
000011db: SWAP1
000011dc: POP
000011dd: DUP1
000011de: PUSH1 0x00
000011e0: ADD
000011e1: PUSH1 0x00
000011e3: SWAP1
000011e4: SLOAD
000011e5: SWAP1
000011e6: PUSH2 0x0100
000011e9: EXP
000011ea: SWAP1
000011eb: DIV
000011ec: PUSH1 0xff
000011ee: AND
000011ef: SWAP1
000011f0: DUP1
000011f1: PUSH1 0x01
000011f3: ADD
000011f4: SLOAD
000011f5: SWAP1
000011f6: DUP1
000011f7: PUSH1 0x02
000011f9: ADD
000011fa: SLOAD
000011fb: SWAP1
000011fc: DUP1
000011fd: PUSH1 0x04
000011ff: ADD
00001200: PUSH1 0x00
00001202: SWAP1
00001203: SLOAD
00001204: SWAP1
00001205: PUSH2 0x0100
00001208: EXP
00001209: SWAP1
0000120a: DIV
0000120b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001220: AND
00001221: SWAP1
00001222: DUP1
00001223: PUSH1 0x05
00001225: ADD
00001226: SLOAD
00001227: SWAP1
00001228: POP
00001229: DUP6
0000122a: JUMP
0000122b: JUMPDEST
0000122c: PUSH1 0x08
0000122e: SLOAD
0000122f: DUP2
00001230: JUMP
00001231: JUMPDEST
00001232: PUSH1 0x60
00001234: PUSH1 0x06
00001236: PUSH1 0x00
00001238: DUP4
00001239: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000124e: AND
0000124f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001264: AND
00001265: DUP2
00001266: MSTORE
00001267: PUSH1 0x20
00001269: ADD
0000126a: SWAP1
0000126b: DUP2
0000126c: MSTORE
0000126d: PUSH1 0x20
0000126f: ADD
00001270: PUSH1 0x00
00001272: KECCAK256
00001273: PUSH1 0x03
00001275: ADD
00001276: DUP1
00001277: SLOAD
00001278: DUP1
00001279: PUSH1 0x20
0000127b: MUL
0000127c: PUSH1 0x20
0000127e: ADD
0000127f: PUSH1 0x40
00001281: MLOAD
00001282: SWAP1
00001283: DUP2
00001284: ADD
00001285: PUSH1 0x40
00001287: MSTORE
00001288: DUP1
00001289: SWAP3
0000128a: SWAP2
0000128b: SWAP1
0000128c: DUP2
0000128d: DUP2
0000128e: MSTORE
0000128f: PUSH1 0x20
00001291: ADD
00001292: DUP3
00001293: DUP1
00001294: SLOAD
00001295: DUP1
00001296: ISZERO
00001297: PUSH2 0x12f5
0000129a: JUMPI
0000129b: PUSH1 0x20
0000129d: MUL
0000129e: DUP3
0000129f: ADD
000012a0: SWAP2
000012a1: SWAP1
000012a2: PUSH1 0x00
000012a4: MSTORE
000012a5: PUSH1 0x20
000012a7: PUSH1 0x00
000012a9: KECCAK256
000012aa: SWAP1
000012ab: JUMPDEST
000012ac: DUP2
000012ad: PUSH1 0x00
000012af: SWAP1
000012b0: SLOAD
000012b1: SWAP1
000012b2: PUSH2 0x0100
000012b5: EXP
000012b6: SWAP1
000012b7: DIV
000012b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012cd: AND
000012ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012e3: AND
000012e4: DUP2
000012e5: MSTORE
000012e6: PUSH1 0x20
000012e8: ADD
000012e9: SWAP1
000012ea: PUSH1 0x01
000012ec: ADD
000012ed: SWAP1
000012ee: DUP1
000012ef: DUP4
000012f0: GT
000012f1: PUSH2 0x12ab
000012f4: JUMPI
000012f5: JUMPDEST
000012f6: POP
000012f7: POP
000012f8: POP
000012f9: POP
000012fa: POP
000012fb: SWAP1
000012fc: POP
000012fd: SWAP2
000012fe: SWAP1
000012ff: POP
00001300: JUMP
00001301: JUMPDEST
00001302: PUSH1 0x00
00001304: DUP1
00001305: PUSH1 0x00
00001307: SWAP1
00001308: SLOAD
00001309: SWAP1
0000130a: PUSH2 0x0100
0000130d: EXP
0000130e: SWAP1
0000130f: DIV
00001310: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001325: AND
00001326: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000133b: AND
0000133c: PUSH4 0x2d774965
00001341: CALLER
00001342: PUSH1 0x40
00001344: MLOAD
00001345: DUP3
00001346: PUSH4 0xffffffff
0000134b: AND
0000134c: PUSH1 0xe0
0000134e: SHL
0000134f: DUP2
00001350: MSTORE
00001351: PUSH1 0x04
00001353: ADD
00001354: DUP1
00001355: DUP3
00001356: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000136b: AND
0000136c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001381: AND
00001382: DUP2
00001383: MSTORE
00001384: PUSH1 0x20
00001386: ADD
00001387: SWAP2
00001388: POP
00001389: POP
0000138a: PUSH1 0x20
0000138c: PUSH1 0x40
0000138e: MLOAD
0000138f: DUP1
00001390: DUP4
00001391: SUB
00001392: DUP2
00001393: DUP7
00001394: DUP1
00001395: EXTCODESIZE
00001396: ISZERO
00001397: DUP1
00001398: ISZERO
00001399: PUSH2 0x13a1
0000139c: JUMPI
0000139d: PUSH1 0x00
0000139f: DUP1
000013a0: REVERT
000013a1: JUMPDEST
000013a2: POP
000013a3: GAS
000013a4: STATICCALL
000013a5: ISZERO
000013a6: DUP1
000013a7: ISZERO
000013a8: PUSH2 0x13b5
000013ab: JUMPI
000013ac: RETURNDATASIZE
000013ad: PUSH1 0x00
000013af: DUP1
000013b0: RETURNDATACOPY
000013b1: RETURNDATASIZE
000013b2: PUSH1 0x00
000013b4: REVERT
000013b5: JUMPDEST
000013b6: POP
000013b7: POP
000013b8: POP
000013b9: POP
000013ba: PUSH1 0x40
000013bc: MLOAD
000013bd: RETURNDATASIZE
000013be: PUSH1 0x20
000013c0: DUP2
000013c1: LT
000013c2: ISZERO
000013c3: PUSH2 0x13cb
000013c6: JUMPI
000013c7: PUSH1 0x00
000013c9: DUP1
000013ca: REVERT
000013cb: JUMPDEST
000013cc: DUP2
000013cd: ADD
000013ce: SWAP1
000013cf: DUP1
000013d0: DUP1
000013d1: MLOAD
000013d2: SWAP1
000013d3: PUSH1 0x20
000013d5: ADD
000013d6: SWAP1
000013d7: SWAP3
000013d8: SWAP2
000013d9: SWAP1
000013da: POP
000013db: POP
000013dc: POP
000013dd: SWAP1
000013de: POP
000013df: PUSH1 0x00
000013e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013f6: AND
000013f7: DUP2
000013f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000140d: AND
0000140e: EQ
0000140f: ISZERO
00001410: PUSH2 0x1481
00001413: JUMPI
00001414: PUSH1 0x40
00001416: MLOAD
00001417: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001438: DUP2
00001439: MSTORE
0000143a: PUSH1 0x04
0000143c: ADD
0000143d: DUP1
0000143e: DUP1
0000143f: PUSH1 0x20
00001441: ADD
00001442: DUP3
00001443: DUP2
00001444: SUB
00001445: DUP3
00001446: MSTORE
00001447: PUSH1 0x1c
00001449: DUP2
0000144a: MSTORE
0000144b: PUSH1 0x20
0000144d: ADD
0000144e: DUP1
0000144f: PUSH32 0x55736572206d757374206265206174204d617472697820352058203500000000
00001470: DUP2
00001471: MSTORE
00001472: POP
00001473: PUSH1 0x20
00001475: ADD
00001476: SWAP2
00001477: POP
00001478: POP
00001479: PUSH1 0x40
0000147b: MLOAD
0000147c: DUP1
0000147d: SWAP2
0000147e: SUB
0000147f: SWAP1
00001480: REVERT
00001481: JUMPDEST
00001482: PUSH1 0x06
00001484: PUSH1 0x00
00001486: CALLER
00001487: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000149c: AND
0000149d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b2: AND
000014b3: DUP2
000014b4: MSTORE
000014b5: PUSH1 0x20
000014b7: ADD
000014b8: SWAP1
000014b9: DUP2
000014ba: MSTORE
000014bb: PUSH1 0x20
000014bd: ADD
000014be: PUSH1 0x00
000014c0: KECCAK256
000014c1: PUSH1 0x00
000014c3: ADD
000014c4: PUSH1 0x00
000014c6: SWAP1
000014c7: SLOAD
000014c8: SWAP1
000014c9: PUSH2 0x0100
000014cc: EXP
000014cd: SWAP1
000014ce: DIV
000014cf: PUSH1 0xff
000014d1: AND
000014d2: ISZERO
000014d3: PUSH2 0x1544
000014d6: JUMPI
000014d7: PUSH1 0x40
000014d9: MLOAD
000014da: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014fb: DUP2
000014fc: MSTORE
000014fd: PUSH1 0x04
000014ff: ADD
00001500: DUP1
00001501: DUP1
00001502: PUSH1 0x20
00001504: ADD
00001505: DUP3
00001506: DUP2
00001507: SUB
00001508: DUP3
00001509: MSTORE
0000150a: PUSH1 0x0a
0000150c: DUP2
0000150d: MSTORE
0000150e: PUSH1 0x20
00001510: ADD
00001511: DUP1
00001512: PUSH32 0x5573657220657869737400000000000000000000000000000000000000000000
00001533: DUP2
00001534: MSTORE
00001535: POP
00001536: PUSH1 0x20
00001538: ADD
00001539: SWAP2
0000153a: POP
0000153b: POP
0000153c: PUSH1 0x40
0000153e: MLOAD
0000153f: DUP1
00001540: SWAP2
00001541: SUB
00001542: SWAP1
00001543: REVERT
00001544: JUMPDEST
00001545: PUSH1 0x04
00001547: PUSH1 0x00
00001549: PUSH1 0x06
0000154b: DUP2
0000154c: MSTORE
0000154d: PUSH1 0x20
0000154f: ADD
00001550: SWAP1
00001551: DUP2
00001552: MSTORE
00001553: PUSH1 0x20
00001555: ADD
00001556: PUSH1 0x00
00001558: KECCAK256
00001559: SLOAD
0000155a: CALLVALUE
0000155b: EQ
0000155c: PUSH2 0x15cd
0000155f: JUMPI
00001560: PUSH1 0x40
00001562: MLOAD
00001563: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001584: DUP2
00001585: MSTORE
00001586: PUSH1 0x04
00001588: ADD
00001589: DUP1
0000158a: DUP1
0000158b: PUSH1 0x20
0000158d: ADD
0000158e: DUP3
0000158f: DUP2
00001590: SUB
00001591: DUP3
00001592: MSTORE
00001593: PUSH1 0x0f
00001595: DUP2
00001596: MSTORE
00001597: PUSH1 0x20
00001599: ADD
0000159a: DUP1
0000159b: PUSH32 0x496e636f72726563742056616c75650000000000000000000000000000000000
000015bc: DUP2
000015bd: MSTORE
000015be: POP
000015bf: PUSH1 0x20
000015c1: ADD
000015c2: SWAP2
000015c3: POP
000015c4: POP
000015c5: PUSH1 0x40
000015c7: MLOAD
000015c8: DUP1
000015c9: SWAP2
000015ca: SUB
000015cb: SWAP1
000015cc: REVERT
000015cd: JUMPDEST
000015ce: PUSH1 0x00
000015d0: PUSH1 0x06
000015d2: PUSH1 0x00
000015d4: DUP4
000015d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ea: AND
000015eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001600: AND
00001601: DUP2
00001602: MSTORE
00001603: PUSH1 0x20
00001605: ADD
00001606: SWAP1
00001607: DUP2
00001608: MSTORE
00001609: PUSH1 0x20
0000160b: ADD
0000160c: PUSH1 0x00
0000160e: KECCAK256
0000160f: PUSH1 0x00
00001611: ADD
00001612: PUSH1 0x00
00001614: SWAP1
00001615: SLOAD
00001616: SWAP1
00001617: PUSH2 0x0100
0000161a: EXP
0000161b: SWAP1
0000161c: DIV
0000161d: PUSH1 0xff
0000161f: AND
00001620: ISZERO
00001621: PUSH2 0x1770
00001624: JUMPI
00001625: PUSH1 0x06
00001627: PUSH1 0x00
00001629: DUP4
0000162a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000163f: AND
00001640: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001655: AND
00001656: DUP2
00001657: MSTORE
00001658: PUSH1 0x20
0000165a: ADD
0000165b: SWAP1
0000165c: DUP2
0000165d: MSTORE
0000165e: PUSH1 0x20
00001660: ADD
00001661: PUSH1 0x00
00001663: KECCAK256
00001664: PUSH1 0x01
00001666: ADD
00001667: SLOAD
00001668: SWAP1
00001669: POP
0000166a: PUSH1 0x02
0000166c: SLOAD
0000166d: PUSH1 0x06
0000166f: PUSH1 0x00
00001671: PUSH1 0x07
00001673: PUSH1 0x00
00001675: DUP6
00001676: DUP2
00001677: MSTORE
00001678: PUSH1 0x20
0000167a: ADD
0000167b: SWAP1
0000167c: DUP2
0000167d: MSTORE
0000167e: PUSH1 0x20
00001680: ADD
00001681: PUSH1 0x00
00001683: KECCAK256
00001684: PUSH1 0x00
00001686: SWAP1
00001687: SLOAD
00001688: SWAP1
00001689: PUSH2 0x0100
0000168c: EXP
0000168d: SWAP1
0000168e: DIV
0000168f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016a4: AND
000016a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016ba: AND
000016bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016d0: AND
000016d1: DUP2
000016d2: MSTORE
000016d3: PUSH1 0x20
000016d5: ADD
000016d6: SWAP1
000016d7: DUP2
000016d8: MSTORE
000016d9: PUSH1 0x20
000016db: ADD
000016dc: PUSH1 0x00
000016de: KECCAK256
000016df: PUSH1 0x03
000016e1: ADD
000016e2: DUP1
000016e3: SLOAD
000016e4: SWAP1
000016e5: POP
000016e6: LT
000016e7: PUSH2 0x176b
000016ea: JUMPI
000016eb: PUSH1 0x06
000016ed: PUSH1 0x00
000016ef: PUSH2 0x172a
000016f2: PUSH1 0x07
000016f4: PUSH1 0x00
000016f6: DUP6
000016f7: DUP2
000016f8: MSTORE
000016f9: PUSH1 0x20
000016fb: ADD
000016fc: SWAP1
000016fd: DUP2
000016fe: MSTORE
000016ff: PUSH1 0x20
00001701: ADD
00001702: PUSH1 0x00
00001704: KECCAK256
00001705: PUSH1 0x00
00001707: SWAP1
00001708: SLOAD
00001709: SWAP1
0000170a: PUSH2 0x0100
0000170d: EXP
0000170e: SWAP1
0000170f: DIV
00001710: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001725: AND
00001726: PUSH2 0x05ad
00001729: JUMP
0000172a: JUMPDEST
0000172b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001740: AND
00001741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001756: AND
00001757: DUP2
00001758: MSTORE
00001759: PUSH1 0x20
0000175b: ADD
0000175c: SWAP1
0000175d: DUP2
0000175e: MSTORE
0000175f: PUSH1 0x20
00001761: ADD
00001762: PUSH1 0x00
00001764: KECCAK256
00001765: PUSH1 0x01
00001767: ADD
00001768: SLOAD
00001769: SWAP1
0000176a: POP
0000176b: JUMPDEST
0000176c: PUSH2 0x1877
0000176f: JUMP
00001770: JUMPDEST
00001771: PUSH1 0x01
00001773: SWAP1
00001774: POP
00001775: PUSH1 0x02
00001777: SLOAD
00001778: PUSH1 0x06
0000177a: PUSH1 0x00
0000177c: PUSH1 0x07
0000177e: PUSH1 0x00
00001780: DUP6
00001781: DUP2
00001782: MSTORE
00001783: PUSH1 0x20
00001785: ADD
00001786: SWAP1
00001787: DUP2
00001788: MSTORE
00001789: PUSH1 0x20
0000178b: ADD
0000178c: PUSH1 0x00
0000178e: KECCAK256
0000178f: PUSH1 0x00
00001791: SWAP1
00001792: SLOAD
00001793: SWAP1
00001794: PUSH2 0x0100
00001797: EXP
00001798: SWAP1
00001799: DIV
0000179a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017af: AND
000017b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c5: AND
000017c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017db: AND
000017dc: DUP2
000017dd: MSTORE
000017de: PUSH1 0x20
000017e0: ADD
000017e1: SWAP1
000017e2: DUP2
000017e3: MSTORE
000017e4: PUSH1 0x20
000017e6: ADD
000017e7: PUSH1 0x00
000017e9: KECCAK256
000017ea: PUSH1 0x03
000017ec: ADD
000017ed: DUP1
000017ee: SLOAD
000017ef: SWAP1
000017f0: POP
000017f1: LT
000017f2: PUSH2 0x1876
000017f5: JUMPI
000017f6: PUSH1 0x06
000017f8: PUSH1 0x00
000017fa: PUSH2 0x1835
000017fd: PUSH1 0x07
000017ff: PUSH1 0x00
00001801: DUP6
00001802: DUP2
00001803: MSTORE
00001804: PUSH1 0x20
00001806: ADD
00001807: SWAP1
00001808: DUP2
00001809: MSTORE
0000180a: PUSH1 0x20
0000180c: ADD
0000180d: PUSH1 0x00
0000180f: KECCAK256
00001810: PUSH1 0x00
00001812: SWAP1
00001813: SLOAD
00001814: SWAP1
00001815: PUSH2 0x0100
00001818: EXP
00001819: SWAP1
0000181a: DIV
0000181b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001830: AND
00001831: PUSH2 0x05ad
00001834: JUMP
00001835: JUMPDEST
00001836: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000184b: AND
0000184c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001861: AND
00001862: DUP2
00001863: MSTORE
00001864: PUSH1 0x20
00001866: ADD
00001867: SWAP1
00001868: DUP2
00001869: MSTORE
0000186a: PUSH1 0x20
0000186c: ADD
0000186d: PUSH1 0x00
0000186f: KECCAK256
00001870: PUSH1 0x01
00001872: ADD
00001873: SLOAD
00001874: SWAP1
00001875: POP
00001876: JUMPDEST
00001877: JUMPDEST
00001878: PUSH2 0x187f
0000187b: PUSH2 0x2320
0000187e: JUMP
0000187f: JUMPDEST
00001880: PUSH1 0x08
00001882: PUSH1 0x00
00001884: DUP2
00001885: SLOAD
00001886: DUP1
00001887: SWAP3
00001888: SWAP2
00001889: SWAP1
0000188a: PUSH1 0x01
0000188c: ADD
0000188d: SWAP2
0000188e: SWAP1
0000188f: POP
00001890: SSTORE
00001891: POP
00001892: PUSH1 0x40
00001894: MLOAD
00001895: DUP1
00001896: PUSH1 0xc0
00001898: ADD
00001899: PUSH1 0x40
0000189b: MSTORE
0000189c: DUP1
0000189d: PUSH1 0x01
0000189f: ISZERO
000018a0: ISZERO
000018a1: DUP2
000018a2: MSTORE
000018a3: PUSH1 0x20
000018a5: ADD
000018a6: PUSH1 0x08
000018a8: SLOAD
000018a9: DUP2
000018aa: MSTORE
000018ab: PUSH1 0x20
000018ad: ADD
000018ae: DUP4
000018af: DUP2
000018b0: MSTORE
000018b1: PUSH1 0x20
000018b3: ADD
000018b4: PUSH1 0x00
000018b6: PUSH1 0x40
000018b8: MLOAD
000018b9: SWAP1
000018ba: DUP1
000018bb: DUP3
000018bc: MSTORE
000018bd: DUP1
000018be: PUSH1 0x20
000018c0: MUL
000018c1: PUSH1 0x20
000018c3: ADD
000018c4: DUP3
000018c5: ADD
000018c6: PUSH1 0x40
000018c8: MSTORE
000018c9: DUP1
000018ca: ISZERO
000018cb: PUSH2 0x18e3
000018ce: JUMPI
000018cf: DUP2
000018d0: PUSH1 0x20
000018d2: ADD
000018d3: PUSH1 0x20
000018d5: DUP3
000018d6: MUL
000018d7: DUP1
000018d8: CODESIZE
000018d9: DUP4
000018da: CODECOPY
000018db: DUP1
000018dc: DUP3
000018dd: ADD
000018de: SWAP2
000018df: POP
000018e0: POP
000018e1: SWAP1
000018e2: POP
000018e3: JUMPDEST
000018e4: POP
000018e5: DUP2
000018e6: MSTORE
000018e7: PUSH1 0x20
000018e9: ADD
000018ea: DUP5
000018eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001900: AND
00001901: DUP2
00001902: MSTORE
00001903: PUSH1 0x20
00001905: ADD
00001906: PUSH1 0x00
00001908: DUP2
00001909: MSTORE
0000190a: POP
0000190b: SWAP1
0000190c: POP
0000190d: DUP1
0000190e: PUSH1 0x06
00001910: PUSH1 0x00
00001912: CALLER
00001913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001928: AND
00001929: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000193e: AND
0000193f: DUP2
00001940: MSTORE
00001941: PUSH1 0x20
00001943: ADD
00001944: SWAP1
00001945: DUP2
00001946: MSTORE
00001947: PUSH1 0x20
00001949: ADD
0000194a: PUSH1 0x00
0000194c: KECCAK256
0000194d: PUSH1 0x00
0000194f: DUP3
00001950: ADD
00001951: MLOAD
00001952: DUP2
00001953: PUSH1 0x00
00001955: ADD
00001956: PUSH1 0x00
00001958: PUSH2 0x0100
0000195b: EXP
0000195c: DUP2
0000195d: SLOAD
0000195e: DUP2
0000195f: PUSH1 0xff
00001961: MUL
00001962: NOT
00001963: AND
00001964: SWAP1
00001965: DUP4
00001966: ISZERO
00001967: ISZERO
00001968: MUL
00001969: OR
0000196a: SWAP1
0000196b: SSTORE
0000196c: POP
0000196d: PUSH1 0x20
0000196f: DUP3
00001970: ADD
00001971: MLOAD
00001972: DUP2
00001973: PUSH1 0x01
00001975: ADD
00001976: SSTORE
00001977: PUSH1 0x40
00001979: DUP3
0000197a: ADD
0000197b: MLOAD
0000197c: DUP2
0000197d: PUSH1 0x02
0000197f: ADD
00001980: SSTORE
00001981: PUSH1 0x60
00001983: DUP3
00001984: ADD
00001985: MLOAD
00001986: DUP2
00001987: PUSH1 0x03
00001989: ADD
0000198a: SWAP1
0000198b: DUP1
0000198c: MLOAD
0000198d: SWAP1
0000198e: PUSH1 0x20
00001990: ADD
00001991: SWAP1
00001992: PUSH2 0x199c
00001995: SWAP3
00001996: SWAP2
00001997: SWAP1
00001998: PUSH2 0x236e
0000199b: JUMP
0000199c: JUMPDEST
0000199d: POP
0000199e: PUSH1 0x80
000019a0: DUP3
000019a1: ADD
000019a2: MLOAD
000019a3: DUP2
000019a4: PUSH1 0x04
000019a6: ADD
000019a7: PUSH1 0x00
000019a9: PUSH2 0x0100
000019ac: EXP
000019ad: DUP2
000019ae: SLOAD
000019af: DUP2
000019b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019c5: MUL
000019c6: NOT
000019c7: AND
000019c8: SWAP1
000019c9: DUP4
000019ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019df: AND
000019e0: MUL
000019e1: OR
000019e2: SWAP1
000019e3: SSTORE
000019e4: POP
000019e5: PUSH1 0xa0
000019e7: DUP3
000019e8: ADD
000019e9: MLOAD
000019ea: DUP2
000019eb: PUSH1 0x05
000019ed: ADD
000019ee: SSTORE
000019ef: SWAP1
000019f0: POP
000019f1: POP
000019f2: CALLER
000019f3: PUSH1 0x07
000019f5: PUSH1 0x00
000019f7: PUSH1 0x08
000019f9: SLOAD
000019fa: DUP2
000019fb: MSTORE
000019fc: PUSH1 0x20
000019fe: ADD
000019ff: SWAP1
00001a00: DUP2
00001a01: MSTORE
00001a02: PUSH1 0x20
00001a04: ADD
00001a05: PUSH1 0x00
00001a07: KECCAK256
00001a08: PUSH1 0x00
00001a0a: PUSH2 0x0100
00001a0d: EXP
00001a0e: DUP2
00001a0f: SLOAD
00001a10: DUP2
00001a11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a26: MUL
00001a27: NOT
00001a28: AND
00001a29: SWAP1
00001a2a: DUP4
00001a2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a40: AND
00001a41: MUL
00001a42: OR
00001a43: SWAP1
00001a44: SSTORE
00001a45: POP
00001a46: PUSH1 0x06
00001a48: PUSH1 0x00
00001a4a: PUSH1 0x07
00001a4c: PUSH1 0x00
00001a4e: DUP6
00001a4f: DUP2
00001a50: MSTORE
00001a51: PUSH1 0x20
00001a53: ADD
00001a54: SWAP1
00001a55: DUP2
00001a56: MSTORE
00001a57: PUSH1 0x20
00001a59: ADD
00001a5a: PUSH1 0x00
00001a5c: KECCAK256
00001a5d: PUSH1 0x00
00001a5f: SWAP1
00001a60: SLOAD
00001a61: SWAP1
00001a62: PUSH2 0x0100
00001a65: EXP
00001a66: SWAP1
00001a67: DIV
00001a68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a7d: AND
00001a7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a93: AND
00001a94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aa9: AND
00001aaa: DUP2
00001aab: MSTORE
00001aac: PUSH1 0x20
00001aae: ADD
00001aaf: SWAP1
00001ab0: DUP2
00001ab1: MSTORE
00001ab2: PUSH1 0x20
00001ab4: ADD
00001ab5: PUSH1 0x00
00001ab7: KECCAK256
00001ab8: PUSH1 0x03
00001aba: ADD
00001abb: CALLER
00001abc: SWAP1
00001abd: DUP1
00001abe: PUSH1 0x01
00001ac0: DUP2
00001ac1: SLOAD
00001ac2: ADD
00001ac3: DUP1
00001ac4: DUP3
00001ac5: SSTORE
00001ac6: DUP1
00001ac7: SWAP2
00001ac8: POP
00001ac9: POP
00001aca: SWAP1
00001acb: PUSH1 0x01
00001acd: DUP3
00001ace: SUB
00001acf: SWAP1
00001ad0: PUSH1 0x00
00001ad2: MSTORE
00001ad3: PUSH1 0x20
00001ad5: PUSH1 0x00
00001ad7: KECCAK256
00001ad8: ADD
00001ad9: PUSH1 0x00
00001adb: SWAP1
00001adc: SWAP2
00001add: SWAP3
00001ade: SWAP1
00001adf: SWAP2
00001ae0: SWAP1
00001ae1: SWAP2
00001ae2: PUSH2 0x0100
00001ae5: EXP
00001ae6: DUP2
00001ae7: SLOAD
00001ae8: DUP2
00001ae9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001afe: MUL
00001aff: NOT
00001b00: AND
00001b01: SWAP1
00001b02: DUP4
00001b03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b18: AND
00001b19: MUL
00001b1a: OR
00001b1b: SWAP1
00001b1c: SSTORE
00001b1d: POP
00001b1e: POP
00001b1f: PUSH1 0x07
00001b21: PUSH1 0x00
00001b23: DUP4
00001b24: DUP2
00001b25: MSTORE
00001b26: PUSH1 0x20
00001b28: ADD
00001b29: SWAP1
00001b2a: DUP2
00001b2b: MSTORE
00001b2c: PUSH1 0x20
00001b2e: ADD
00001b2f: PUSH1 0x00
00001b31: KECCAK256
00001b32: PUSH1 0x00
00001b34: SWAP1
00001b35: SLOAD
00001b36: SWAP1
00001b37: PUSH2 0x0100
00001b3a: EXP
00001b3b: SWAP1
00001b3c: DIV
00001b3d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b52: AND
00001b53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b68: AND
00001b69: CALLER
00001b6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b7f: AND
00001b80: PUSH32 0x0c88ab673df7b82fb9cd3ae0ce2597b0af9d0c8a5a07c47651908a88568b9a04
00001ba1: TIMESTAMP
00001ba2: PUSH1 0x06
00001ba4: PUSH1 0x40
00001ba6: MLOAD
00001ba7: DUP1
00001ba8: DUP4
00001ba9: DUP2
00001baa: MSTORE
00001bab: PUSH1 0x20
00001bad: ADD
00001bae: DUP3
00001baf: DUP2
00001bb0: MSTORE
00001bb1: PUSH1 0x20
00001bb3: ADD
00001bb4: SWAP3
00001bb5: POP
00001bb6: POP
00001bb7: POP
00001bb8: PUSH1 0x40
00001bba: MLOAD
00001bbb: DUP1
00001bbc: SWAP2
00001bbd: SUB
00001bbe: SWAP1
00001bbf: LOG3
00001bc0: PUSH1 0x00
00001bc2: DUP1
00001bc3: SWAP1
00001bc4: POP
00001bc5: PUSH1 0x06
00001bc7: PUSH1 0x00
00001bc9: DUP6
00001bca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bdf: AND
00001be0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bf5: AND
00001bf6: DUP2
00001bf7: MSTORE
00001bf8: PUSH1 0x20
00001bfa: ADD
00001bfb: SWAP1
00001bfc: DUP2
00001bfd: MSTORE
00001bfe: PUSH1 0x20
00001c00: ADD
00001c01: PUSH1 0x00
00001c03: KECCAK256
00001c04: PUSH1 0x00
00001c06: ADD
00001c07: PUSH1 0x00
00001c09: SWAP1
00001c0a: SLOAD
00001c0b: SWAP1
00001c0c: PUSH2 0x0100
00001c0f: EXP
00001c10: SWAP1
00001c11: DIV
00001c12: PUSH1 0xff
00001c14: AND
00001c15: ISZERO
00001c16: PUSH2 0x1cb7
00001c19: JUMPI
00001c1a: PUSH1 0x01
00001c1c: PUSH1 0x06
00001c1e: PUSH1 0x00
00001c20: DUP7
00001c21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c36: AND
00001c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c4c: AND
00001c4d: DUP2
00001c4e: MSTORE
00001c4f: PUSH1 0x20
00001c51: ADD
00001c52: SWAP1
00001c53: DUP2
00001c54: MSTORE
00001c55: PUSH1 0x20
00001c57: ADD
00001c58: PUSH1 0x00
00001c5a: KECCAK256
00001c5b: PUSH1 0x05
00001c5d: ADD
00001c5e: PUSH1 0x00
00001c60: DUP3
00001c61: DUP3
00001c62: SLOAD
00001c63: ADD
00001c64: SWAP3
00001c65: POP
00001c66: POP
00001c67: DUP2
00001c68: SWAP1
00001c69: SSTORE
00001c6a: POP
00001c6b: DUP4
00001c6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c81: AND
00001c82: PUSH2 0x08fc
00001c85: PUSH8 0x02c68af0bb140000
00001c8e: SWAP1
00001c8f: DUP2
00001c90: ISZERO
00001c91: MUL
00001c92: SWAP1
00001c93: PUSH1 0x40
00001c95: MLOAD
00001c96: PUSH1 0x00
00001c98: PUSH1 0x40
00001c9a: MLOAD
00001c9b: DUP1
00001c9c: DUP4
00001c9d: SUB
00001c9e: DUP2
00001c9f: DUP6
00001ca0: DUP9
00001ca1: DUP9
00001ca2: CALL
00001ca3: SWAP4
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: POP
00001ca8: SWAP1
00001ca9: POP
00001caa: PUSH2 0x1cb2
00001cad: DUP5
00001cae: PUSH2 0x2029
00001cb1: JUMP
00001cb2: JUMPDEST
00001cb3: PUSH2 0x1d19
00001cb6: JUMP
00001cb7: JUMPDEST
00001cb8: PUSH1 0x01
00001cba: PUSH1 0x00
00001cbc: SWAP1
00001cbd: SLOAD
00001cbe: SWAP1
00001cbf: PUSH2 0x0100
00001cc2: EXP
00001cc3: SWAP1
00001cc4: DIV
00001cc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cda: AND
00001cdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cf0: AND
00001cf1: PUSH2 0x08fc
00001cf4: PUSH8 0x02c68af0bb140000
00001cfd: SWAP1
00001cfe: DUP2
00001cff: ISZERO
00001d00: MUL
00001d01: SWAP1
00001d02: PUSH1 0x40
00001d04: MLOAD
00001d05: PUSH1 0x00
00001d07: PUSH1 0x40
00001d09: MLOAD
00001d0a: DUP1
00001d0b: DUP4
00001d0c: SUB
00001d0d: DUP2
00001d0e: DUP6
00001d0f: DUP9
00001d10: DUP9
00001d11: CALL
00001d12: SWAP4
00001d13: POP
00001d14: POP
00001d15: POP
00001d16: POP
00001d17: SWAP1
00001d18: POP
00001d19: JUMPDEST
00001d1a: DUP1
00001d1b: ISZERO
00001d1c: PUSH2 0x1da4
00001d1f: JUMPI
00001d20: CALLER
00001d21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d36: AND
00001d37: DUP5
00001d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d4d: AND
00001d4e: PUSH32 0x48312df7d168f67e4d789b35dfb1e3246e9cf2b96d0af3b36134bf08cd3d728e
00001d6f: PUSH1 0x00
00001d71: TIMESTAMP
00001d72: PUSH1 0x06
00001d74: PUSH1 0x40
00001d76: MLOAD
00001d77: DUP1
00001d78: DUP5
00001d79: DUP2
00001d7a: MSTORE
00001d7b: PUSH1 0x20
00001d7d: ADD
00001d7e: DUP4
00001d7f: DUP2
00001d80: MSTORE
00001d81: PUSH1 0x20
00001d83: ADD
00001d84: DUP3
00001d85: DUP2
00001d86: MSTORE
00001d87: PUSH1 0x20
00001d89: ADD
00001d8a: SWAP4
00001d8b: POP
00001d8c: POP
00001d8d: POP
00001d8e: POP
00001d8f: PUSH1 0x40
00001d91: MLOAD
00001d92: DUP1
00001d93: SWAP2
00001d94: SUB
00001d95: SWAP1
00001d96: LOG3
00001d97: PUSH2 0x1da3
00001d9a: PUSH1 0x01
00001d9c: CALLER
00001d9d: PUSH1 0x06
00001d9f: PUSH2 0x216f
00001da2: JUMP
00001da3: JUMPDEST
00001da4: JUMPDEST
00001da5: POP
00001da6: POP
00001da7: POP
00001da8: POP
00001da9: JUMP
00001daa: JUMPDEST
00001dab: PUSH1 0x01
00001dad: PUSH1 0x00
00001daf: SWAP1
00001db0: SLOAD
00001db1: SWAP1
00001db2: PUSH2 0x0100
00001db5: EXP
00001db6: SWAP1
00001db7: DIV
00001db8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dcd: AND
00001dce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001de3: AND
00001de4: CALLER
00001de5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dfa: AND
00001dfb: EQ
00001dfc: PUSH2 0x1e6d
00001dff: JUMPI
00001e00: PUSH1 0x40
00001e02: MLOAD
00001e03: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e24: DUP2
00001e25: MSTORE
00001e26: PUSH1 0x04
00001e28: ADD
00001e29: DUP1
00001e2a: DUP1
00001e2b: PUSH1 0x20
00001e2d: ADD
00001e2e: DUP3
00001e2f: DUP2
00001e30: SUB
00001e31: DUP3
00001e32: MSTORE
00001e33: PUSH1 0x16
00001e35: DUP2
00001e36: MSTORE
00001e37: PUSH1 0x20
00001e39: ADD
00001e3a: DUP1
00001e3b: PUSH32 0x596f7520617265206e6f7420617574686f72697a656400000000000000000000
00001e5c: DUP2
00001e5d: MSTORE
00001e5e: POP
00001e5f: PUSH1 0x20
00001e61: ADD
00001e62: SWAP2
00001e63: POP
00001e64: POP
00001e65: PUSH1 0x40
00001e67: MLOAD
00001e68: DUP1
00001e69: SWAP2
00001e6a: SUB
00001e6b: SWAP1
00001e6c: REVERT
00001e6d: JUMPDEST
00001e6e: PUSH1 0x01
00001e70: PUSH1 0x00
00001e72: SWAP1
00001e73: SLOAD
00001e74: SWAP1
00001e75: PUSH2 0x0100
00001e78: EXP
00001e79: SWAP1
00001e7a: DIV
00001e7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e90: AND
00001e91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ea6: AND
00001ea7: CALLER
00001ea8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ebd: AND
00001ebe: EQ
00001ebf: ISZERO
00001ec0: PUSH2 0x1f34
00001ec3: JUMPI
00001ec4: PUSH1 0x00
00001ec6: PUSH2 0x1ecd
00001ec9: PUSH2 0x1f36
00001ecc: JUMP
00001ecd: JUMPDEST
00001ece: GT
00001ecf: ISZERO
00001ed0: PUSH2 0x1f33
00001ed3: JUMPI
00001ed4: PUSH1 0x01
00001ed6: PUSH1 0x00
00001ed8: SWAP1
00001ed9: SLOAD
00001eda: SWAP1
00001edb: PUSH2 0x0100
00001ede: EXP
00001edf: SWAP1
00001ee0: DIV
00001ee1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef6: AND
00001ef7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f0c: AND
00001f0d: PUSH2 0x08fc
00001f10: PUSH2 0x1f17
00001f13: PUSH2 0x1f36
00001f16: JUMP
00001f17: JUMPDEST
00001f18: SWAP1
00001f19: DUP2
00001f1a: ISZERO
00001f1b: MUL
00001f1c: SWAP1
00001f1d: PUSH1 0x40
00001f1f: MLOAD
00001f20: PUSH1 0x00
00001f22: PUSH1 0x40
00001f24: MLOAD
00001f25: DUP1
00001f26: DUP4
00001f27: SUB
00001f28: DUP2
00001f29: DUP6
00001f2a: DUP9
00001f2b: DUP9
00001f2c: CALL
00001f2d: SWAP4
00001f2e: POP
00001f2f: POP
00001f30: POP
00001f31: POP
00001f32: POP
00001f33: JUMPDEST
00001f34: JUMPDEST
00001f35: JUMP
00001f36: JUMPDEST
00001f37: PUSH1 0x00
00001f39: ADDRESS
00001f3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f4f: AND
00001f50: BALANCE
00001f51: SWAP1
00001f52: POP
00001f53: SWAP1
00001f54: JUMP
00001f55: JUMPDEST
00001f56: PUSH1 0x04
00001f58: PUSH1 0x20
00001f5a: MSTORE
00001f5b: DUP1
00001f5c: PUSH1 0x00
00001f5e: MSTORE
00001f5f: PUSH1 0x40
00001f61: PUSH1 0x00
00001f63: KECCAK256
00001f64: PUSH1 0x00
00001f66: SWAP2
00001f67: POP
00001f68: SWAP1
00001f69: POP
00001f6a: SLOAD
00001f6b: DUP2
00001f6c: JUMP
00001f6d: JUMPDEST
00001f6e: PUSH1 0x05
00001f70: PUSH1 0x20
00001f72: MSTORE
00001f73: DUP1
00001f74: PUSH1 0x00
00001f76: MSTORE
00001f77: PUSH1 0x40
00001f79: PUSH1 0x00
00001f7b: KECCAK256
00001f7c: PUSH1 0x00
00001f7e: SWAP2
00001f7f: POP
00001f80: SWAP1
00001f81: POP
00001f82: SLOAD
00001f83: DUP2
00001f84: JUMP
00001f85: JUMPDEST
00001f86: PUSH1 0x00
00001f88: PUSH1 0x06
00001f8a: PUSH1 0x00
00001f8c: DUP4
00001f8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa2: AND
00001fa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fb8: AND
00001fb9: DUP2
00001fba: MSTORE
00001fbb: PUSH1 0x20
00001fbd: ADD
00001fbe: SWAP1
00001fbf: DUP2
00001fc0: MSTORE
00001fc1: PUSH1 0x20
00001fc3: ADD
00001fc4: PUSH1 0x00
00001fc6: KECCAK256
00001fc7: PUSH1 0x00
00001fc9: ADD
00001fca: PUSH1 0x00
00001fcc: SWAP1
00001fcd: SLOAD
00001fce: SWAP1
00001fcf: PUSH2 0x0100
00001fd2: EXP
00001fd3: SWAP1
00001fd4: DIV
00001fd5: PUSH1 0xff
00001fd7: AND
00001fd8: SWAP1
00001fd9: POP
00001fda: SWAP2
00001fdb: SWAP1
00001fdc: POP
00001fdd: JUMP
00001fde: JUMPDEST
00001fdf: PUSH1 0x07
00001fe1: PUSH1 0x20
00001fe3: MSTORE
00001fe4: DUP1
00001fe5: PUSH1 0x00
00001fe7: MSTORE
00001fe8: PUSH1 0x40
00001fea: PUSH1 0x00
00001fec: KECCAK256
00001fed: PUSH1 0x00
00001fef: SWAP2
00001ff0: POP
00001ff1: SLOAD
00001ff2: SWAP1
00001ff3: PUSH2 0x0100
00001ff6: EXP
00001ff7: SWAP1
00001ff8: DIV
00001ff9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000200e: AND
0000200f: DUP2
00002010: JUMP
00002011: JUMPDEST
00002012: PUSH1 0x03
00002014: PUSH1 0x20
00002016: MSTORE
00002017: DUP1
00002018: PUSH1 0x00
0000201a: MSTORE
0000201b: PUSH1 0x40
0000201d: PUSH1 0x00
0000201f: KECCAK256
00002020: PUSH1 0x00
00002022: SWAP2
00002023: POP
00002024: SWAP1
00002025: POP
00002026: SLOAD
00002027: DUP2
00002028: JUMP
00002029: JUMPDEST
0000202a: PUSH1 0x00
0000202c: PUSH1 0x06
0000202e: PUSH1 0x00
00002030: DUP4
00002031: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002046: AND
00002047: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000205c: AND
0000205d: DUP2
0000205e: MSTORE
0000205f: PUSH1 0x20
00002061: ADD
00002062: SWAP1
00002063: DUP2
00002064: MSTORE
00002065: PUSH1 0x20
00002067: ADD
00002068: PUSH1 0x00
0000206a: KECCAK256
0000206b: PUSH1 0x05
0000206d: ADD
0000206e: SLOAD
0000206f: SWAP1
00002070: POP
00002071: PUSH1 0x00
00002073: DUP1
00002074: SWAP1
00002075: POP
00002076: PUSH1 0x05
00002078: DUP3
00002079: EQ
0000207a: ISZERO
0000207b: PUSH2 0x2083
0000207e: JUMPI
0000207f: PUSH1 0x01
00002081: SWAP1
00002082: POP
00002083: JUMPDEST
00002084: PUSH1 0x0f
00002086: DUP3
00002087: EQ
00002088: ISZERO
00002089: PUSH2 0x2091
0000208c: JUMPI
0000208d: PUSH1 0x02
0000208f: SWAP1
00002090: POP
00002091: JUMPDEST
00002092: PUSH1 0x19
00002094: DUP3
00002095: EQ
00002096: ISZERO
00002097: PUSH2 0x209f
0000209a: JUMPI
0000209b: PUSH1 0x03
0000209d: SWAP1
0000209e: POP
0000209f: JUMPDEST
000020a0: PUSH1 0x32
000020a2: DUP3
000020a3: EQ
000020a4: ISZERO
000020a5: PUSH2 0x20ad
000020a8: JUMPI
000020a9: PUSH1 0x04
000020ab: SWAP1
000020ac: POP
000020ad: JUMPDEST
000020ae: PUSH1 0x00
000020b0: DUP2
000020b1: GT
000020b2: ISZERO
000020b3: PUSH2 0x216a
000020b6: JUMPI
000020b7: PUSH1 0x00
000020b9: DUP4
000020ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020cf: AND
000020d0: PUSH2 0x08fc
000020d3: PUSH1 0x05
000020d5: PUSH1 0x00
000020d7: DUP6
000020d8: DUP2
000020d9: MSTORE
000020da: PUSH1 0x20
000020dc: ADD
000020dd: SWAP1
000020de: DUP2
000020df: MSTORE
000020e0: PUSH1 0x20
000020e2: ADD
000020e3: PUSH1 0x00
000020e5: KECCAK256
000020e6: SLOAD
000020e7: SWAP1
000020e8: DUP2
000020e9: ISZERO
000020ea: MUL
000020eb: SWAP1
000020ec: PUSH1 0x40
000020ee: MLOAD
000020ef: PUSH1 0x00
000020f1: PUSH1 0x40
000020f3: MLOAD
000020f4: DUP1
000020f5: DUP4
000020f6: SUB
000020f7: DUP2
000020f8: DUP6
000020f9: DUP9
000020fa: DUP9
000020fb: CALL
000020fc: SWAP4
000020fd: POP
000020fe: POP
000020ff: POP
00002100: POP
00002101: SWAP1
00002102: POP
00002103: DUP1
00002104: ISZERO
00002105: PUSH2 0x2168
00002108: JUMPI
00002109: DUP4
0000210a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000211f: AND
00002120: PUSH32 0xd62544fb5bfbdeb0d980cbea253f96b7293391ae1de4929651c0acd66b2d8d75
00002141: DUP4
00002142: TIMESTAMP
00002143: PUSH1 0x06
00002145: PUSH1 0x40
00002147: MLOAD
00002148: DUP1
00002149: DUP5
0000214a: DUP2
0000214b: MSTORE
0000214c: PUSH1 0x20
0000214e: ADD
0000214f: DUP4
00002150: DUP2
00002151: MSTORE
00002152: PUSH1 0x20
00002154: ADD
00002155: DUP3
00002156: DUP2
00002157: MSTORE
00002158: PUSH1 0x20
0000215a: ADD
0000215b: SWAP4
0000215c: POP
0000215d: POP
0000215e: POP
0000215f: POP
00002160: PUSH1 0x40
00002162: MLOAD
00002163: DUP1
00002164: SWAP2
00002165: SUB
00002166: SWAP1
00002167: LOG2
00002168: JUMPDEST
00002169: POP
0000216a: JUMPDEST
0000216b: POP
0000216c: POP
0000216d: POP
0000216e: JUMP
0000216f: JUMPDEST
00002170: PUSH1 0x00
00002172: PUSH1 0x07
00002174: PUSH1 0x00
00002176: PUSH1 0x06
00002178: PUSH1 0x00
0000217a: DUP7
0000217b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002190: AND
00002191: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021a6: AND
000021a7: DUP2
000021a8: MSTORE
000021a9: PUSH1 0x20
000021ab: ADD
000021ac: SWAP1
000021ad: DUP2
000021ae: MSTORE
000021af: PUSH1 0x20
000021b1: ADD
000021b2: PUSH1 0x00
000021b4: KECCAK256
000021b5: PUSH1 0x02
000021b7: ADD
000021b8: SLOAD
000021b9: DUP2
000021ba: MSTORE
000021bb: PUSH1 0x20
000021bd: ADD
000021be: SWAP1
000021bf: DUP2
000021c0: MSTORE
000021c1: PUSH1 0x20
000021c3: ADD
000021c4: PUSH1 0x00
000021c6: KECCAK256
000021c7: PUSH1 0x00
000021c9: SWAP1
000021ca: SLOAD
000021cb: SWAP1
000021cc: PUSH2 0x0100
000021cf: EXP
000021d0: SWAP1
000021d1: DIV
000021d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021e7: AND
000021e8: SWAP1
000021e9: POP
000021ea: PUSH1 0x00
000021ec: DUP2
000021ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002202: AND
00002203: PUSH2 0x08fc
00002206: PUSH1 0x03
00002208: PUSH1 0x00
0000220a: DUP9
0000220b: DUP2
0000220c: MSTORE
0000220d: PUSH1 0x20
0000220f: ADD
00002210: SWAP1
00002211: DUP2
00002212: MSTORE
00002213: PUSH1 0x20
00002215: ADD
00002216: PUSH1 0x00
00002218: KECCAK256
00002219: SLOAD
0000221a: SWAP1
0000221b: DUP2
0000221c: ISZERO
0000221d: MUL
0000221e: SWAP1
0000221f: PUSH1 0x40
00002221: MLOAD
00002222: PUSH1 0x00
00002224: PUSH1 0x40
00002226: MLOAD
00002227: DUP1
00002228: DUP4
00002229: SUB
0000222a: DUP2
0000222b: DUP6
0000222c: DUP9
0000222d: DUP9
0000222e: CALL
0000222f: SWAP4
00002230: POP
00002231: POP
00002232: POP
00002233: POP
00002234: SWAP1
00002235: POP
00002236: DUP1
00002237: ISZERO
00002238: PUSH2 0x2319
0000223b: JUMPI
0000223c: CALLER
0000223d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002252: AND
00002253: DUP3
00002254: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002269: AND
0000226a: PUSH32 0x48312df7d168f67e4d789b35dfb1e3246e9cf2b96d0af3b36134bf08cd3d728e
0000228b: DUP8
0000228c: TIMESTAMP
0000228d: DUP8
0000228e: PUSH1 0x40
00002290: MLOAD
00002291: DUP1
00002292: DUP5
00002293: DUP2
00002294: MSTORE
00002295: PUSH1 0x20
00002297: ADD
00002298: DUP4
00002299: DUP2
0000229a: MSTORE
0000229b: PUSH1 0x20
0000229d: ADD
0000229e: DUP3
0000229f: DUP2
000022a0: MSTORE
000022a1: PUSH1 0x20
000022a3: ADD
000022a4: SWAP4
000022a5: POP
000022a6: POP
000022a7: POP
000022a8: POP
000022a9: PUSH1 0x40
000022ab: MLOAD
000022ac: DUP1
000022ad: SWAP2
000022ae: SUB
000022af: SWAP1
000022b0: LOG3
000022b1: PUSH1 0x06
000022b3: DUP6
000022b4: LT
000022b5: DUP1
000022b6: ISZERO
000022b7: PUSH2 0x2303
000022ba: JUMPI
000022bb: POP
000022bc: PUSH1 0x01
000022be: PUSH1 0x06
000022c0: PUSH1 0x00
000022c2: DUP5
000022c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022d8: AND
000022d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ee: AND
000022ef: DUP2
000022f0: MSTORE
000022f1: PUSH1 0x20
000022f3: ADD
000022f4: SWAP1
000022f5: DUP2
000022f6: MSTORE
000022f7: PUSH1 0x20
000022f9: ADD
000022fa: PUSH1 0x00
000022fc: KECCAK256
000022fd: PUSH1 0x02
000022ff: ADD
00002300: SLOAD
00002301: LT
00002302: ISZERO
00002303: JUMPDEST
00002304: ISZERO
00002305: PUSH2 0x2318
00002308: JUMPI
00002309: PUSH2 0x2317
0000230c: PUSH1 0x01
0000230e: DUP7
0000230f: ADD
00002310: DUP4
00002311: PUSH1 0x06
00002313: PUSH2 0x216f
00002316: JUMP
00002317: JUMPDEST
00002318: JUMPDEST
00002319: JUMPDEST
0000231a: POP
0000231b: POP
0000231c: POP
0000231d: POP
0000231e: POP
0000231f: JUMP
00002320: JUMPDEST
00002321: PUSH1 0x40
00002323: MLOAD
00002324: DUP1
00002325: PUSH1 0xc0
00002327: ADD
00002328: PUSH1 0x40
0000232a: MSTORE
0000232b: DUP1
0000232c: PUSH1 0x00
0000232e: ISZERO
0000232f: ISZERO
00002330: DUP2
00002331: MSTORE
00002332: PUSH1 0x20
00002334: ADD
00002335: PUSH1 0x00
00002337: DUP2
00002338: MSTORE
00002339: PUSH1 0x20
0000233b: ADD
0000233c: PUSH1 0x00
0000233e: DUP2
0000233f: MSTORE
00002340: PUSH1 0x20
00002342: ADD
00002343: PUSH1 0x60
00002345: DUP2
00002346: MSTORE
00002347: PUSH1 0x20
00002349: ADD
0000234a: PUSH1 0x00
0000234c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002361: AND
00002362: DUP2
00002363: MSTORE
00002364: PUSH1 0x20
00002366: ADD
00002367: PUSH1 0x00
00002369: DUP2
0000236a: MSTORE
0000236b: POP
0000236c: SWAP1
0000236d: JUMP
0000236e: JUMPDEST
0000236f: DUP3
00002370: DUP1
00002371: SLOAD
00002372: DUP3
00002373: DUP3
00002374: SSTORE
00002375: SWAP1
00002376: PUSH1 0x00
00002378: MSTORE
00002379: PUSH1 0x20
0000237b: PUSH1 0x00
0000237d: KECCAK256
0000237e: SWAP1
0000237f: DUP2
00002380: ADD
00002381: SWAP3
00002382: DUP3
00002383: ISZERO
00002384: PUSH2 0x23e7
00002387: JUMPI
00002388: SWAP2
00002389: PUSH1 0x20
0000238b: MUL
0000238c: DUP3
0000238d: ADD
0000238e: JUMPDEST
0000238f: DUP3
00002390: DUP2
00002391: GT
00002392: ISZERO
00002393: PUSH2 0x23e6
00002396: JUMPI
00002397: DUP3
00002398: MLOAD
00002399: DUP3
0000239a: PUSH1 0x00
0000239c: PUSH2 0x0100
0000239f: EXP
000023a0: DUP2
000023a1: SLOAD
000023a2: DUP2
000023a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023b8: MUL
000023b9: NOT
000023ba: AND
000023bb: SWAP1
000023bc: DUP4
000023bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023d2: AND
000023d3: MUL
000023d4: OR
000023d5: SWAP1
000023d6: SSTORE
000023d7: POP
000023d8: SWAP2
000023d9: PUSH1 0x20
000023db: ADD
000023dc: SWAP2
000023dd: SWAP1
000023de: PUSH1 0x01
000023e0: ADD
000023e1: SWAP1
000023e2: PUSH2 0x238e
000023e5: JUMP
000023e6: JUMPDEST
000023e7: JUMPDEST
000023e8: POP
000023e9: SWAP1
000023ea: POP
000023eb: PUSH2 0x23f4
000023ee: SWAP2
000023ef: SWAP1
000023f0: PUSH2 0x23f8
000023f3: JUMP
000023f4: JUMPDEST
000023f5: POP
000023f6: SWAP1
000023f7: JUMP
000023f8: JUMPDEST
000023f9: PUSH2 0x2438
000023fc: SWAP2
000023fd: SWAP1
000023fe: JUMPDEST
000023ff: DUP1
00002400: DUP3
00002401: GT
00002402: ISZERO
00002403: PUSH2 0x2434
00002406: JUMPI
00002407: PUSH1 0x00
00002409: DUP2
0000240a: DUP2
0000240b: PUSH2 0x0100
0000240e: EXP
0000240f: DUP2
00002410: SLOAD
00002411: SWAP1
00002412: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002427: MUL
00002428: NOT
00002429: AND
0000242a: SWAP1
0000242b: SSTORE
0000242c: POP
0000242d: PUSH1 0x01
0000242f: ADD
00002430: PUSH2 0x23fe
00002433: JUMP
00002434: JUMPDEST
00002435: POP
00002436: SWAP1
00002437: JUMP
00002438: JUMPDEST
00002439: SWAP1
0000243a: JUMP
0000243b: INVALID
0000243c: LOG2
0000243d: PUSH6 0x627a7a723158
00002444: KECCAK256
00002445: DUP13
00002446: UNKNOWN(0xDD)
00002447: POP
00002448: PUSH24 0xc48bf4c54559101c99084b47077d644da8422d25d4f992a5
00002461: SWAP16
00002462: CALLCODE
00002463: BLOBHASH
00002464: SSTORE
00002465: PUSH5 0x736f6c6343
0000246b: STOP
0000246c: SDIV
0000246d: SIGNEXTEND
0000246e: STOP
0000246f: ORIGIN

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x89b9abcc",
            "selector": "0x89b9abcc",
            "calldata_variants": [
                "0x89b9abcc",
                "0x89b9abcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8de66295",
            "selector": "0x8de66295",
            "calldata_variants": [
                "0x8de66295",
                "0x8de662950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4aa17cb",
            "selector": "0xa4aa17cb",
            "calldata_variants": [
                "0xa4aa17cb",
                "0xa4aa17cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc3be04fa",
            "selector": "0xc3be04fa",
            "calldata_variants": [
                "0xc3be04fa",
                "0xc3be04fa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ec0c3a5",
            "selector": "0x6ec0c3a5",
            "calldata_variants": [
                "0x6ec0c3a5",
                "0x6ec0c3a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70ed0ada",
            "selector": "0x70ed0ada",
            "calldata_variants": [
                "0x70ed0ada",
                "0x70ed0ada0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x79378e30",
            "selector": "0x79378e30",
            "calldata_variants": [
                "0x79378e30",
                "0x79378e300000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3818fe3c",
            "selector": "0x3818fe3c",
            "calldata_variants": [
                "0x3818fe3c",
                "0x3818fe3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 7652,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7847,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9327,
            "type": "tx_origin_used"
        }
    ]
}
medium auth codex tx.origin used in authorization path (phishing-prone access control) 75 no
view
evidence_json
{
    "evidence": "Auth guard list contains type `tx_origin_used` at pc 9327, and the basic block at pc 9327 includes the ORIGIN opcode.",
    "locations": [
        "pc:9327"
    ],
    "recommendation": "Replace tx.origin checks with msg.sender-based authorization and explicit role/owner checks. If tx.origin is used only for non-auth logic, remove it from authorization paths.",
    "exploit_scenario": "If a privileged check relies on tx.origin, a malicious contract can trick a privileged EOA into calling it and then forward execution so the check passes, enabling unauthorized actions. Because only bytecode is available, it\u2019s unclear which functions rely on this guard, but the artifact flags tx.origin usage inside auth guards."
}
medium other codex CALLCODE usage with computed target/value 75 no
view
evidence_json
{
    "evidence": "Callsite shows CALLCODE at pc 9314 with computed target/value; basic block starting at pc 9276 includes CALLCODE followed by SSTORE.",
    "locations": [
        "pc:9314",
        "pc:9276"
    ],
    "recommendation": "Avoid CALLCODE; use DELEGATECALL only to trusted, immutable implementations. If dynamic targets are required, strictly constrain and validate them (e.g., immutable whitelist), and ensure upgrade paths are well-guarded.",
    "exploit_scenario": "CALLCODE executes code in the caller\u2019s storage context (like DELEGATECALL). If the CALLCODE target or value can be influenced (e.g., via storage or calldata), an attacker could execute arbitrary code in the contract\u2019s storage context, potentially overwriting critical slots or draining funds. The bytecode summary shows the CALLCODE target/value are computed, but the actual source of the target is not visible here."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x38d6b41a15e69dfc17dd12b80ca0a3a7569a7d3044205f708fcc92d7b662ecc6
call_targets: 0xcf7cdbd3de63764f6724f55f1de79a7054085eb9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x38d6b41a15e69dfc17dd12b80ca0a3a7569a7d3044205f708fcc92d7b662ecc6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xcf7cdbd3de63764f6724f55f1de79a7054085eb9"
    ],
    "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": "0x89b9abcc",
            "selector": "0x89b9abcc",
            "calldata_variants": [
                "0x89b9abcc",
                "0x89b9abcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8de66295",
            "selector": "0x8de66295",
            "calldata_variants": [
                "0x8de66295",
                "0x8de662950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4aa17cb",
            "selector": "0xa4aa17cb",
            "calldata_variants": [
                "0xa4aa17cb",
                "0xa4aa17cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc3be04fa",
            "selector": "0xc3be04fa",
            "calldata_variants": [
                "0xc3be04fa",
                "0xc3be04fa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ec0c3a5",
            "selector": "0x6ec0c3a5",
            "calldata_variants": [
                "0x6ec0c3a5",
                "0x6ec0c3a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70ed0ada",
            "selector": "0x70ed0ada",
            "calldata_variants": [
                "0x70ed0ada",
                "0x70ed0ada0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x79378e30",
            "selector": "0x79378e30",
            "calldata_variants": [
                "0x79378e30",
                "0x79378e300000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3818fe3c",
            "selector": "0x3818fe3c",
            "calldata_variants": [
                "0x3818fe3c",
                "0x3818fe3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7330,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7441,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7980,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [
        {
            "pc": 7652,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7847,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9327,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 6
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x38d6b41a15e69dfc17dd12b80ca0a3a7569a7d3044205f708fcc92d7b662ecc6
call_targets: 0xcf7cdbd3de63764f6724f55f1de79a7054085eb9
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x38d6b41a15e69dfc17dd12b80ca0a3a7569a7d3044205f708fcc92d7b662ecc6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xcf7cdbd3de63764f6724f55f1de79a7054085eb9"
    ],
    "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": "0x89b9abcc",
            "selector": "0x89b9abcc",
            "calldata_variants": [
                "0x89b9abcc",
                "0x89b9abcc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8de66295",
            "selector": "0x8de66295",
            "calldata_variants": [
                "0x8de66295",
                "0x8de662950000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa4aa17cb",
            "selector": "0xa4aa17cb",
            "calldata_variants": [
                "0xa4aa17cb",
                "0xa4aa17cb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc3be04fa",
            "selector": "0xc3be04fa",
            "calldata_variants": [
                "0xc3be04fa",
                "0xc3be04fa0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6ec0c3a5",
            "selector": "0x6ec0c3a5",
            "calldata_variants": [
                "0x6ec0c3a5",
                "0x6ec0c3a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x70ed0ada",
            "selector": "0x70ed0ada",
            "calldata_variants": [
                "0x70ed0ada",
                "0x70ed0ada0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x79378e30",
            "selector": "0x79378e30",
            "calldata_variants": [
                "0x79378e30",
                "0x79378e300000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3818fe3c",
            "selector": "0x3818fe3c",
            "calldata_variants": [
                "0x3818fe3c",
                "0x3818fe3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7330,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7441,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7980,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": [
        {
            "pc": 7652,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7847,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9327,
            "type": "tx_origin_used"
        }
    ]
}
low reentrancy codex Multiple external CALLs to computed targets/values (possible untrusted-call surface) 65 no
view
evidence_json
{
    "evidence": "CALL sites at pcs 7330, 7441, 7980, 8443, 8750 show target_expression_category and value_expression_category as `computed` with no explicit returndata check in the artifact.",
    "locations": [
        "pc:7330",
        "pc:7441",
        "pc:7980",
        "pc:8443",
        "pc:8750"
    ],
    "recommendation": "Verify each CALL target is trusted/constant; apply checks-effects-interactions and/or a reentrancy guard where state mutations precede external calls. Ensure return values are handled appropriately.",
    "exploit_scenario": "If any computed CALL target/value can be influenced by a user, those external calls can trigger reentrancy or arbitrary external interactions before internal state updates. The bundle indicates several CALL sites with computed targets/values; however, validation hints the target may be constant in at least one trace, so this may be benign."
}