019bab3c-509f-7157-9791-77edf365d19b
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 38964 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38965 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38966 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38967 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38968 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38969 | detector.run | complete | 1 / 3 | 3 months ago |
| 38970 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39234 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.","findings":[{"severity":"medium","category":"auth","title":"Potential authorization using tx.origin","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action.","recommendation":"Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.","evidence":"Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.","locations":["pc:0x18C0","pc:0x18C7"]},{"severity":"low","category":"other","title":"CREATE2 opcode present and potentially reachable","exploit_scenario":"If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments.","recommendation":"Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.","evidence":"CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.","locations":["pc:0x17CE"]},{"severity":"low","category":"other","title":"CALLs with computed target/value; external-call risk unclear","exploit_scenario":"If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures.","recommendation":"Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.","evidence":"CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.","locations":["pc:0x0D34","pc:0x0DB0","pc:0x1212","pc:0x1709"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-gwiwdw2z
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bac21-ad02-7780-bcdf-620a9c8af9e0
--------
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-gwiwdw2z succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-gwiwdw2z succeeded in 6ms:
{
"analysis_artifact": {
"address": "0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730",
"artifact_hash": "0xc73524ecb85ae6c9eebee467f37af381374499c3b2b99ab3693c29b193351918",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 1872,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 2541,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 6336,
"type": "tx_origin_used"
thinking
**Analyzing issue evidence and callsites**
exec
/bin/bash -lc "rg -n 'CREATE2|CREATE' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 7ms:
6225: "CREATE2",
15361: "sink": "CREATE"
15364: "title": "CREATE/CREATE2 reachable",
15373: "sink": "CREATE",
thinking
**Searching for CREATE2 instruction location**
exec
/bin/bash -lc "sed -n '6200,6245p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 9ms:
"PUSH6",
"OP_3A",
"SHA3",
"MSTORE",
"PUSH6",
"PUSH2",
"PUSH22",
"NUMBER",
"ORIGIN",
"ADDRESS",
"OP_3A",
"SHA3",
"GASLIMIT",
"MSTORE",
"NUMBER",
"ORIGIN",
"ADDRESS",
"SHA3",
"PUSH16",
"SHA3",
thinking
**Converting program counters to hex format**
exec
/bin/bash -lc "sed -n '6310,6365p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 7ms:
"pc": 4847,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "STATICCALL",
"pc": 5325,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
{
"opcode": "CALL",
"pc": 5897,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
}
],
thinking
**Searching for ORIGIN references**
exec
/bin/bash -lc "rg -n 'ORIGIN' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 27ms:
6208: "ORIGIN",
6215: "ORIGIN",
thinking
**Analyzing CALL and ORIGIN usage in contract**
exec
/bin/bash -lc "rg -n '\"pc\": 3380' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 34ms:
6282: "pc": 3380,
15014: "pc": 3380,
15219: "pc": 3380,
15290: "pc": 3380,
thinking
**Reviewing callsite range**
exec
/bin/bash -lc "sed -n '6260,6305p' BYTECODE_BUNDLE.json" in /tmp/codex-gwiwdw2z succeeded in 6ms:
],
"start_pc": 6474
},
{
"end_pc": 6477,
"hash": "0xdebb61705144f82e0525b1dff363bd4b14cd2128224e286ab4eed00733f15dbd",
"opcodes": [
"CALLER"
],
"start_pc": 6477
}
],
"callsites": [
{
"opcode": "STATICCALL",
"pc": 2363,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "n/a"
},
thinking
**Summarizing security findings and crafting JSON output**
I'll organize the key findings about tx.origin authorization, CREATE2 usage, and computed CALL targets with their severities and categories. Then I'll format this info into a concise JSON with summary and findings, carefully reflecting nuances and uncertainties to provide a clear and conservative report.
codex
{"no_findings":false,"summary":"Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.","findings":[{"severity":"medium","category":"auth","title":"Potential authorization using tx.origin","exploit_scenario":"If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action.","recommendation":"Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.","evidence":"Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.","locations":["pc:0x18C0","pc:0x18C7"]},{"severity":"low","category":"other","title":"CREATE2 opcode present and potentially reachable","exploit_scenario":"If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments.","recommendation":"Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.","evidence":"CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.","locations":["pc:0x17CE"]},{"severity":"low","category":"other","title":"CALLs with computed target/value; external-call risk unclear","exploit_scenario":"If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures.","recommendation":"Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.","evidence":"CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.","locations":["pc:0x0D34","pc:0x0DB0","pc:0x1212","pc:0x1709"]}]}
tokens used
21,622
{
"codex": {
"ran_at": "2026-01-11T08:18:55.829500+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 12958,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.",
"raw_final": {
"summary": "Potential tx.origin-based authorization and CREATE2 usage are present; CALL sites have computed targets/values but validation suggests self-calls, so external-call risk is uncertain.",
"findings": [
{
"title": "Potential authorization using tx.origin",
"category": "auth",
"evidence": "Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.",
"severity": "medium",
"locations": [
"pc:0x18C0",
"pc:0x18C7"
],
"recommendation": "Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.",
"exploit_scenario": "If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action."
},
{
"title": "CREATE2 opcode present and potentially reachable",
"category": "other",
"evidence": "CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.",
"severity": "low",
"locations": [
"pc:0x17CE"
],
"recommendation": "Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.",
"exploit_scenario": "If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments."
},
{
"title": "CALLs with computed target/value; external-call risk unclear",
"category": "other",
"evidence": "CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.",
"severity": "low",
"locations": [
"pc:0x0D34",
"pc:0x0DB0",
"pc:0x1212",
"pc:0x1709"
],
"recommendation": "Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.",
"exploit_scenario": "If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0116 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x85a336c5 00000026: GT 00000027: PUSH2 0x00a2 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xbfe0c27e 00000031: GT 00000032: PUSH2 0x0071 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xbfe0c27e 0000003c: EQ 0000003d: PUSH2 0x0344 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xcb915663 00000047: EQ 00000048: PUSH2 0x0368 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe5596e0b 00000052: EQ 00000053: PUSH2 0x0370 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf23149c6 0000005d: EQ 0000005e: PUSH2 0x0378 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfe113801 00000068: EQ 00000069: PUSH2 0x0380 0000006c: JUMPI 0000006d: PUSH2 0x0116 00000070: JUMP 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0x85a336c5 00000078: EQ 00000079: PUSH2 0x02cd 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xa281e965 00000083: EQ 00000084: PUSH2 0x02f0 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xab8cd46c 0000008e: EQ 0000008f: PUSH2 0x02f8 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xb23e0aa1 00000099: EQ 0000009a: PUSH2 0x031e 0000009d: JUMPI 0000009e: PUSH2 0x0116 000000a1: JUMP 000000a2: JUMPDEST 000000a3: DUP1 000000a4: PUSH4 0x2e1a7d4d 000000a9: GT 000000aa: PUSH2 0x00e9 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x2e1a7d4d 000000b4: EQ 000000b5: PUSH2 0x01f3 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x61985506 000000bf: EQ 000000c0: PUSH2 0x0224 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x6ff7c94e 000000ca: EQ 000000cb: PUSH2 0x0260 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x763bf7dc 000000d5: EQ 000000d6: PUSH2 0x0293 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x7d61bf99 000000e0: EQ 000000e1: PUSH2 0x02c5 000000e4: JUMPI 000000e5: PUSH2 0x0116 000000e8: JUMP 000000e9: JUMPDEST 000000ea: DUP1 000000eb: PUSH4 0x0707a945 000000f0: EQ 000000f1: PUSH2 0x011b 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x0c08bf88 000000fb: EQ 000000fc: PUSH2 0x0154 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0x0d13e1a1 00000106: EQ 00000107: PUSH2 0x015e 0000010a: JUMPI 0000010b: DUP1 0000010c: PUSH4 0x102b198d 00000111: EQ 00000112: PUSH2 0x01c8 00000115: JUMPI 00000116: JUMPDEST 00000117: PUSH1 0x00 00000119: DUP1 0000011a: REVERT 0000011b: JUMPDEST 0000011c: PUSH2 0x013b 0000011f: PUSH1 0x04 00000121: DUP1 00000122: CALLDATASIZE 00000123: SUB 00000124: PUSH1 0x20 00000126: DUP2 00000127: LT 00000128: ISZERO 00000129: PUSH2 0x0131 0000012c: JUMPI 0000012d: PUSH1 0x00 0000012f: DUP1 00000130: REVERT 00000131: JUMPDEST 00000132: POP 00000133: CALLDATALOAD 00000134: PUSH1 0xff 00000136: AND 00000137: PUSH2 0x039c 0000013a: JUMP 0000013b: JUMPDEST 0000013c: PUSH1 0x40 0000013e: DUP1 0000013f: MLOAD 00000140: SWAP3 00000141: DUP4 00000142: MSTORE 00000143: PUSH1 0x20 00000145: DUP4 00000146: ADD 00000147: SWAP2 00000148: SWAP1 00000149: SWAP2 0000014a: MSTORE 0000014b: DUP1 0000014c: MLOAD 0000014d: SWAP2 0000014e: DUP3 0000014f: SWAP1 00000150: SUB 00000151: ADD 00000152: SWAP1 00000153: RETURN 00000154: JUMPDEST 00000155: PUSH2 0x015c 00000158: PUSH2 0x03c6 0000015b: JUMP 0000015c: JUMPDEST 0000015d: STOP 0000015e: JUMPDEST 0000015f: PUSH2 0x0166 00000162: PUSH2 0x04a9 00000165: JUMP 00000166: JUMPDEST 00000167: PUSH1 0x40 00000169: DUP1 0000016a: MLOAD 0000016b: PUSH1 0x01 0000016d: PUSH1 0x01 0000016f: PUSH1 0xa0 00000171: SHL 00000172: SUB 00000173: DUP1 00000174: DUP9 00000175: AND 00000176: DUP3 00000177: MSTORE 00000178: DUP7 00000179: AND 0000017a: PUSH1 0x20 0000017c: DUP3 0000017d: ADD 0000017e: MSTORE 0000017f: SWAP1 00000180: DUP2 00000181: ADD 00000182: DUP5 00000183: SWAP1 00000184: MSTORE 00000185: PUSH1 0x60 00000187: DUP2 00000188: ADD 00000189: DUP4 0000018a: SWAP1 0000018b: MSTORE 0000018c: PUSH1 0x80 0000018e: DUP1 0000018f: DUP3 00000190: ADD 00000191: SWAP1 00000192: DUP4 00000193: SWAP1 00000194: DUP1 00000195: DUP4 00000196: DUP4 00000197: PUSH1 0x00 00000199: JUMPDEST 0000019a: DUP4 0000019b: DUP2 0000019c: LT 0000019d: ISZERO 0000019e: PUSH2 0x01b1 000001a1: JUMPI 000001a2: DUP2 000001a3: DUP2 000001a4: ADD 000001a5: MLOAD 000001a6: DUP4 000001a7: DUP3 000001a8: ADD 000001a9: MSTORE 000001aa: PUSH1 0x20 000001ac: ADD 000001ad: PUSH2 0x0199 000001b0: JUMP 000001b1: JUMPDEST 000001b2: POP 000001b3: POP 000001b4: POP 000001b5: POP 000001b6: SWAP1 000001b7: POP 000001b8: ADD 000001b9: SWAP6 000001ba: POP 000001bb: POP 000001bc: POP 000001bd: POP 000001be: POP 000001bf: POP 000001c0: PUSH1 0x40 000001c2: MLOAD 000001c3: DUP1 000001c4: SWAP2 000001c5: SUB 000001c6: SWAP1 000001c7: RETURN 000001c8: JUMPDEST 000001c9: PUSH2 0x015c 000001cc: PUSH1 0x04 000001ce: DUP1 000001cf: CALLDATASIZE 000001d0: SUB 000001d1: PUSH1 0xa0 000001d3: DUP2 000001d4: LT 000001d5: ISZERO 000001d6: PUSH2 0x01de 000001d9: JUMPI 000001da: PUSH1 0x00 000001dc: DUP1 000001dd: REVERT 000001de: JUMPDEST 000001df: POP 000001e0: PUSH1 0x01 000001e2: PUSH1 0x01 000001e4: PUSH1 0xa0 000001e6: SHL 000001e7: SUB 000001e8: DUP2 000001e9: CALLDATALOAD 000001ea: AND 000001eb: SWAP1 000001ec: PUSH1 0x20 000001ee: ADD 000001ef: PUSH2 0x051b 000001f2: JUMP 000001f3: JUMPDEST 000001f4: PUSH2 0x0210 000001f7: PUSH1 0x04 000001f9: DUP1 000001fa: CALLDATASIZE 000001fb: SUB 000001fc: PUSH1 0x20 000001fe: DUP2 000001ff: LT 00000200: ISZERO 00000201: PUSH2 0x0209 00000204: JUMPI 00000205: PUSH1 0x00 00000207: DUP1 00000208: REVERT 00000209: JUMPDEST 0000020a: POP 0000020b: CALLDATALOAD 0000020c: PUSH2 0x060f 0000020f: JUMP 00000210: JUMPDEST 00000211: PUSH1 0x40 00000213: DUP1 00000214: MLOAD 00000215: SWAP2 00000216: ISZERO 00000217: ISZERO 00000218: DUP3 00000219: MSTORE 0000021a: MLOAD 0000021b: SWAP1 0000021c: DUP2 0000021d: SWAP1 0000021e: SUB 0000021f: PUSH1 0x20 00000221: ADD 00000222: SWAP1 00000223: RETURN 00000224: JUMPDEST 00000225: PUSH2 0x0210 00000228: PUSH1 0x04 0000022a: DUP1 0000022b: CALLDATASIZE 0000022c: SUB 0000022d: PUSH1 0x80 0000022f: DUP2 00000230: LT 00000231: ISZERO 00000232: PUSH2 0x023a 00000235: JUMPI 00000236: PUSH1 0x00 00000238: DUP1 00000239: REVERT 0000023a: JUMPDEST 0000023b: POP 0000023c: PUSH1 0x01 0000023e: PUSH1 0x01 00000240: PUSH1 0xa0 00000242: SHL 00000243: SUB 00000244: DUP2 00000245: CALLDATALOAD 00000246: DUP2 00000247: AND 00000248: SWAP2 00000249: PUSH1 0x20 0000024b: DUP2 0000024c: ADD 0000024d: CALLDATALOAD 0000024e: SWAP1 0000024f: SWAP2 00000250: AND 00000251: SWAP1 00000252: PUSH1 0x40 00000254: DUP2 00000255: ADD 00000256: CALLDATALOAD 00000257: SWAP1 00000258: PUSH1 0x60 0000025a: ADD 0000025b: CALLDATALOAD 0000025c: PUSH2 0x0737 0000025f: JUMP 00000260: JUMPDEST 00000261: PUSH2 0x027d 00000264: PUSH1 0x04 00000266: DUP1 00000267: CALLDATASIZE 00000268: SUB 00000269: PUSH1 0x20 0000026b: DUP2 0000026c: LT 0000026d: ISZERO 0000026e: PUSH2 0x0276 00000271: JUMPI 00000272: PUSH1 0x00 00000274: DUP1 00000275: REVERT 00000276: JUMPDEST 00000277: POP 00000278: CALLDATALOAD 00000279: PUSH2 0x087e 0000027c: JUMP 0000027d: JUMPDEST 0000027e: PUSH1 0x40 00000280: DUP1 00000281: MLOAD 00000282: PUSH1 0xff 00000284: SWAP1 00000285: SWAP3 00000286: AND 00000287: DUP3 00000288: MSTORE 00000289: MLOAD 0000028a: SWAP1 0000028b: DUP2 0000028c: SWAP1 0000028d: SUB 0000028e: PUSH1 0x20 00000290: ADD 00000291: SWAP1 00000292: RETURN 00000293: JUMPDEST 00000294: PUSH2 0x02b3 00000297: PUSH1 0x04 00000299: DUP1 0000029a: CALLDATASIZE 0000029b: SUB 0000029c: PUSH1 0x20 0000029e: DUP2 0000029f: LT 000002a0: ISZERO 000002a1: PUSH2 0x02a9 000002a4: JUMPI 000002a5: PUSH1 0x00 000002a7: DUP1 000002a8: REVERT 000002a9: JUMPDEST 000002aa: POP 000002ab: CALLDATALOAD 000002ac: PUSH1 0xff 000002ae: AND 000002af: PUSH2 0x08b8 000002b2: JUMP 000002b3: JUMPDEST 000002b4: PUSH1 0x40 000002b6: DUP1 000002b7: MLOAD 000002b8: SWAP2 000002b9: DUP3 000002ba: MSTORE 000002bb: MLOAD 000002bc: SWAP1 000002bd: DUP2 000002be: SWAP1 000002bf: SUB 000002c0: PUSH1 0x20 000002c2: ADD 000002c3: SWAP1 000002c4: RETURN 000002c5: JUMPDEST 000002c6: PUSH2 0x02b3 000002c9: PUSH2 0x08d9 000002cc: JUMP 000002cd: JUMPDEST 000002ce: PUSH2 0x015c 000002d1: PUSH1 0x04 000002d3: DUP1 000002d4: CALLDATASIZE 000002d5: SUB 000002d6: PUSH1 0x40 000002d8: DUP2 000002d9: LT 000002da: ISZERO 000002db: PUSH2 0x02e3 000002de: JUMPI 000002df: PUSH1 0x00 000002e1: DUP1 000002e2: REVERT 000002e3: JUMPDEST 000002e4: POP 000002e5: DUP1 000002e6: CALLDATALOAD 000002e7: SWAP1 000002e8: PUSH1 0x20 000002ea: ADD 000002eb: CALLDATALOAD 000002ec: PUSH2 0x0969 000002ef: JUMP 000002f0: JUMPDEST 000002f1: PUSH2 0x015c 000002f4: PUSH2 0x09d6 000002f7: JUMP 000002f8: JUMPDEST 000002f9: PUSH2 0x0210 000002fc: PUSH1 0x04 000002fe: DUP1 000002ff: CALLDATASIZE 00000300: SUB 00000301: PUSH1 0x20 00000303: DUP2 00000304: LT 00000305: ISZERO 00000306: PUSH2 0x030e 00000309: JUMPI 0000030a: PUSH1 0x00 0000030c: DUP1 0000030d: REVERT 0000030e: JUMPDEST 0000030f: POP 00000310: CALLDATALOAD 00000311: PUSH1 0x01 00000313: PUSH1 0x01 00000315: PUSH1 0xa0 00000317: SHL 00000318: SUB 00000319: AND 0000031a: PUSH2 0x0ac0 0000031d: JUMP 0000031e: JUMPDEST 0000031f: PUSH2 0x0210 00000322: PUSH1 0x04 00000324: DUP1 00000325: CALLDATASIZE 00000326: SUB 00000327: PUSH1 0x40 00000329: DUP2 0000032a: LT 0000032b: ISZERO 0000032c: PUSH2 0x0334 0000032f: JUMPI 00000330: PUSH1 0x00 00000332: DUP1 00000333: REVERT 00000334: JUMPDEST 00000335: POP 00000336: DUP1 00000337: CALLDATALOAD 00000338: SWAP1 00000339: PUSH1 0x20 0000033b: ADD 0000033c: CALLDATALOAD 0000033d: PUSH1 0xff 0000033f: AND 00000340: PUSH2 0x0ade 00000343: JUMP 00000344: JUMPDEST 00000345: PUSH2 0x034c 00000348: PUSH2 0x0b86 0000034b: JUMP 0000034c: JUMPDEST 0000034d: PUSH1 0x40 0000034f: DUP1 00000350: MLOAD 00000351: PUSH1 0x01 00000353: PUSH1 0x01 00000355: PUSH1 0xa0 00000357: SHL 00000358: SUB 00000359: SWAP1 0000035a: SWAP3 0000035b: AND 0000035c: DUP3 0000035d: MSTORE 0000035e: MLOAD 0000035f: SWAP1 00000360: DUP2 00000361: SWAP1 00000362: SUB 00000363: PUSH1 0x20 00000365: ADD 00000366: SWAP1 00000367: RETURN 00000368: JUMPDEST 00000369: PUSH2 0x02b3 0000036c: PUSH2 0x0b9e 0000036f: JUMP 00000370: JUMPDEST 00000371: PUSH2 0x034c 00000374: PUSH2 0x0bc7 00000377: JUMP 00000378: JUMPDEST 00000379: PUSH2 0x034c 0000037c: PUSH2 0x0bdc 0000037f: JUMP 00000380: JUMPDEST 00000381: PUSH2 0x015c 00000384: PUSH1 0x04 00000386: DUP1 00000387: CALLDATASIZE 00000388: SUB 00000389: PUSH1 0x80 0000038b: DUP2 0000038c: LT 0000038d: ISZERO 0000038e: PUSH2 0x0396 00000391: JUMPI 00000392: PUSH1 0x00 00000394: DUP1 00000395: REVERT 00000396: JUMPDEST 00000397: POP 00000398: PUSH2 0x0bf4 0000039b: JUMP 0000039c: JUMPDEST 0000039d: PUSH1 0x00 0000039f: DUP1 000003a0: PUSH1 0x02 000003a2: DUP4 000003a3: PUSH1 0xff 000003a5: AND 000003a6: PUSH1 0x04 000003a8: DUP2 000003a9: LT 000003aa: PUSH2 0x03af 000003ad: JUMPI 000003ae: INVALID 000003af: JUMPDEST 000003b0: PUSH1 0x02 000003b2: MUL 000003b3: ADD 000003b4: SLOAD 000003b5: PUSH2 0x03bd 000003b8: DUP5 000003b9: PUSH2 0x08b8 000003bc: JUMP 000003bd: JUMPDEST 000003be: SWAP2 000003bf: POP 000003c0: SWAP2 000003c1: POP 000003c2: SWAP2 000003c3: POP 000003c4: SWAP2 000003c5: JUMP 000003c6: JUMPDEST 000003c7: PUSH1 0x00 000003c9: SLOAD 000003ca: PUSH3 0x010000 000003ce: SWAP1 000003cf: DIV 000003d0: PUSH1 0x01 000003d2: PUSH1 0x01 000003d4: PUSH1 0xa0 000003d6: SHL 000003d7: SUB 000003d8: AND 000003d9: CALLER 000003da: EQ 000003db: PUSH2 0x042b 000003de: JUMPI 000003df: PUSH1 0x40 000003e1: DUP1 000003e2: MLOAD 000003e3: PUSH3 0x461bcd 000003e7: PUSH1 0xe5 000003e9: SHL 000003ea: DUP2 000003eb: MSTORE 000003ec: PUSH1 0x20 000003ee: PUSH1 0x04 000003f0: DUP3 000003f1: ADD 000003f2: MSTORE 000003f3: PUSH1 0x1f 000003f5: PUSH1 0x24 000003f7: DUP3 000003f8: ADD 000003f9: MSTORE 000003fa: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400 0000041b: PUSH1 0x44 0000041d: DUP3 0000041e: ADD 0000041f: MSTORE 00000420: SWAP1 00000421: MLOAD 00000422: SWAP1 00000423: DUP2 00000424: SWAP1 00000425: SUB 00000426: PUSH1 0x64 00000428: ADD 00000429: SWAP1 0000042a: REVERT 0000042b: JUMPDEST 0000042c: PUSH1 0x00 0000042e: JUMPDEST 0000042f: PUSH1 0x04 00000431: DUP2 00000432: PUSH1 0xff 00000434: AND 00000435: LT 00000436: ISZERO 00000437: PUSH2 0x0459 0000043a: JUMPI 0000043b: PUSH1 0x00 0000043d: PUSH1 0x02 0000043f: DUP3 00000440: PUSH1 0xff 00000442: AND 00000443: PUSH1 0x04 00000445: DUP2 00000446: LT 00000447: PUSH2 0x044c 0000044a: JUMPI 0000044b: INVALID 0000044c: JUMPDEST 0000044d: PUSH1 0x02 0000044f: MUL 00000450: ADD 00000451: SSTORE 00000452: PUSH1 0x01 00000454: ADD 00000455: PUSH2 0x042e 00000458: JUMP 00000459: JUMPDEST 0000045a: POP 0000045b: PUSH2 0x0462 0000045e: PUSH2 0x0cda 00000461: JUMP 00000462: JUMPDEST 00000463: PUSH1 0x00 00000465: SLOAD 00000466: PUSH1 0x40 00000468: DUP1 00000469: MLOAD 0000046a: PUSH3 0x010000 0000046e: SWAP1 0000046f: SWAP3 00000470: DIV 00000471: PUSH1 0x01 00000473: PUSH1 0x01 00000475: PUSH1 0xa0 00000477: SHL 00000478: SUB 00000479: AND 0000047a: DUP3 0000047b: MSTORE 0000047c: MLOAD 0000047d: PUSH32 0x92698ab3db50e5d720fbf450469b8b710e60fb34d38b6c9ca483ed5d3c38f0bd 0000049e: SWAP2 0000049f: PUSH1 0x20 000004a1: SWAP1 000004a2: DUP3 000004a3: SWAP1 000004a4: SUB 000004a5: ADD 000004a6: SWAP1 000004a7: LOG1 000004a8: JUMP 000004a9: JUMPDEST 000004aa: PUSH1 0x00 000004ac: DUP1 000004ad: PUSH1 0x00 000004af: DUP1 000004b0: PUSH2 0x04b7 000004b3: PUSH2 0x17af 000004b6: JUMP 000004b7: JUMPDEST 000004b8: PUSH1 0x00 000004ba: SLOAD 000004bb: PUSH3 0x010000 000004bf: SWAP1 000004c0: DIV 000004c1: PUSH1 0x01 000004c3: PUSH1 0x01 000004c5: PUSH1 0xa0 000004c7: SHL 000004c8: SUB 000004c9: AND 000004ca: PUSH2 0x04d1 000004cd: PUSH2 0x0b86 000004d0: JUMP 000004d1: JUMPDEST 000004d2: PUSH2 0x04d9 000004d5: PUSH2 0x08d9 000004d8: JUMP 000004d9: JUMPDEST 000004da: PUSH2 0x04e1 000004dd: PUSH2 0x0b9e 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH1 0x40 000004e4: DUP1 000004e5: MLOAD 000004e6: PUSH1 0x80 000004e8: DUP2 000004e9: ADD 000004ea: DUP3 000004eb: MSTORE 000004ec: PUSH1 0x02 000004ee: SLOAD 000004ef: DUP2 000004f0: MSTORE 000004f1: PUSH1 0x04 000004f3: SLOAD 000004f4: PUSH1 0x20 000004f6: DUP3 000004f7: ADD 000004f8: MSTORE 000004f9: PUSH1 0x06 000004fb: SLOAD 000004fc: SWAP2 000004fd: DUP2 000004fe: ADD 000004ff: SWAP2 00000500: SWAP1 00000501: SWAP2 00000502: MSTORE 00000503: PUSH1 0x08 00000505: SLOAD 00000506: PUSH1 0x60 00000508: DUP3 00000509: ADD 0000050a: MSTORE 0000050b: SWAP4 0000050c: SWAP10 0000050d: SWAP3 0000050e: SWAP9 0000050f: POP 00000510: SWAP1 00000511: SWAP7 00000512: POP 00000513: SWAP5 00000514: POP 00000515: SWAP1 00000516: SWAP3 00000517: POP 00000518: SWAP1 00000519: POP 0000051a: JUMP 0000051b: JUMPDEST 0000051c: PUSH1 0x00 0000051e: SLOAD 0000051f: PUSH2 0x0100 00000522: SWAP1 00000523: DIV 00000524: PUSH1 0xff 00000526: AND 00000527: DUP1 00000528: PUSH2 0x0534 0000052b: JUMPI 0000052c: POP 0000052d: PUSH2 0x0534 00000530: PUSH2 0x0ee5 00000533: JUMP 00000534: JUMPDEST 00000535: DUP1 00000536: PUSH2 0x0542 00000539: JUMPI 0000053a: POP 0000053b: PUSH1 0x00 0000053d: SLOAD 0000053e: PUSH1 0xff 00000540: AND 00000541: ISZERO 00000542: JUMPDEST 00000543: PUSH2 0x057d 00000546: JUMPI 00000547: PUSH1 0x40 00000549: MLOAD 0000054a: PUSH3 0x461bcd 0000054e: PUSH1 0xe5 00000550: SHL 00000551: DUP2 00000552: MSTORE 00000553: PUSH1 0x04 00000555: ADD 00000556: DUP1 00000557: DUP1 00000558: PUSH1 0x20 0000055a: ADD 0000055b: DUP3 0000055c: DUP2 0000055d: SUB 0000055e: DUP3 0000055f: MSTORE 00000560: PUSH1 0x2e 00000562: DUP2 00000563: MSTORE 00000564: PUSH1 0x20 00000566: ADD 00000567: DUP1 00000568: PUSH2 0x1821 0000056b: PUSH1 0x2e 0000056d: SWAP2 0000056e: CODECOPY 0000056f: PUSH1 0x40 00000571: ADD 00000572: SWAP2 00000573: POP 00000574: POP 00000575: PUSH1 0x40 00000577: MLOAD 00000578: DUP1 00000579: SWAP2 0000057a: SUB 0000057b: SWAP1 0000057c: REVERT 0000057d: JUMPDEST 0000057e: PUSH1 0x00 00000580: SLOAD 00000581: PUSH2 0x0100 00000584: SWAP1 00000585: DIV 00000586: PUSH1 0xff 00000588: AND 00000589: ISZERO 0000058a: DUP1 0000058b: ISZERO 0000058c: PUSH2 0x05a8 0000058f: JUMPI 00000590: PUSH1 0x00 00000592: DUP1 00000593: SLOAD 00000594: PUSH1 0xff 00000596: NOT 00000597: PUSH2 0xff00 0000059a: NOT 0000059b: SWAP1 0000059c: SWAP2 0000059d: AND 0000059e: PUSH2 0x0100 000005a1: OR 000005a2: AND 000005a3: PUSH1 0x01 000005a5: OR 000005a6: SWAP1 000005a7: SSTORE 000005a8: JUMPDEST 000005a9: PUSH1 0x40 000005ab: DUP1 000005ac: MLOAD 000005ad: PUSH1 0x80 000005af: DUP2 000005b0: DUP2 000005b1: ADD 000005b2: SWAP1 000005b3: SWAP3 000005b4: MSTORE 000005b5: PUSH2 0x05d6 000005b8: SWAP2 000005b9: DUP5 000005ba: SWAP1 000005bb: PUSH1 0x04 000005bd: SWAP1 000005be: DUP4 000005bf: SWAP1 000005c0: DUP4 000005c1: SWAP1 000005c2: DUP1 000005c3: DUP3 000005c4: DUP5 000005c5: CALLDATACOPY 000005c6: PUSH1 0x00 000005c8: SWAP3 000005c9: ADD 000005ca: SWAP2 000005cb: SWAP1 000005cc: SWAP2 000005cd: MSTORE 000005ce: POP 000005cf: PUSH2 0x0eeb 000005d2: SWAP2 000005d3: POP 000005d4: POP 000005d5: JUMP 000005d6: JUMPDEST 000005d7: PUSH1 0x00 000005d9: DUP1 000005da: SLOAD 000005db: PUSH3 0x010000 000005df: PUSH1 0x01 000005e1: PUSH1 0xb0 000005e3: SHL 000005e4: SUB 000005e5: NOT 000005e6: AND 000005e7: PUSH3 0x010000 000005eb: PUSH1 0x01 000005ed: PUSH1 0x01 000005ef: PUSH1 0xa0 000005f1: SHL 000005f2: SUB 000005f3: DUP7 000005f4: AND 000005f5: MUL 000005f6: OR 000005f7: SWAP1 000005f8: SSTORE 000005f9: DUP1 000005fa: ISZERO 000005fb: PUSH2 0x060a 000005fe: JUMPI 000005ff: PUSH1 0x00 00000601: DUP1 00000602: SLOAD 00000603: PUSH2 0xff00 00000606: NOT 00000607: AND 00000608: SWAP1 00000609: SSTORE 0000060a: JUMPDEST 0000060b: POP 0000060c: POP 0000060d: POP 0000060e: JUMP 0000060f: JUMPDEST 00000610: PUSH1 0x00 00000612: DUP1 00000613: SLOAD 00000614: PUSH3 0x010000 00000618: SWAP1 00000619: DIV 0000061a: PUSH1 0x01 0000061c: PUSH1 0x01 0000061e: PUSH1 0xa0 00000620: SHL 00000621: SUB 00000622: AND 00000623: CALLER 00000624: EQ 00000625: PUSH2 0x0675 00000628: JUMPI 00000629: PUSH1 0x40 0000062b: DUP1 0000062c: MLOAD 0000062d: PUSH3 0x461bcd 00000631: PUSH1 0xe5 00000633: SHL 00000634: DUP2 00000635: MSTORE 00000636: PUSH1 0x20 00000638: PUSH1 0x04 0000063a: DUP3 0000063b: ADD 0000063c: MSTORE 0000063d: PUSH1 0x1f 0000063f: PUSH1 0x24 00000641: DUP3 00000642: ADD 00000643: MSTORE 00000644: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400 00000665: PUSH1 0x44 00000667: DUP3 00000668: ADD 00000669: MSTORE 0000066a: SWAP1 0000066b: MLOAD 0000066c: SWAP1 0000066d: DUP2 0000066e: SWAP1 0000066f: SUB 00000670: PUSH1 0x64 00000672: ADD 00000673: SWAP1 00000674: REVERT 00000675: JUMPDEST 00000676: PUSH1 0x00 00000678: PUSH2 0x067f 0000067b: PUSH2 0x08d9 0000067e: JUMP 0000067f: JUMPDEST 00000680: SWAP1 00000681: POP 00000682: DUP3 00000683: DUP2 00000684: LT 00000685: ISZERO 00000686: PUSH2 0x06d6 00000689: JUMPI 0000068a: PUSH1 0x40 0000068c: DUP1 0000068d: MLOAD 0000068e: PUSH3 0x461bcd 00000692: PUSH1 0xe5 00000694: SHL 00000695: DUP2 00000696: MSTORE 00000697: PUSH1 0x20 00000699: PUSH1 0x04 0000069b: DUP3 0000069c: ADD 0000069d: MSTORE 0000069e: PUSH1 0x1d 000006a0: PUSH1 0x24 000006a2: DUP3 000006a3: ADD 000006a4: MSTORE 000006a5: PUSH32 0x4372656469744649463a20496e73756666696369656e742066756e6473000000 000006c6: PUSH1 0x44 000006c8: DUP3 000006c9: ADD 000006ca: MSTORE 000006cb: SWAP1 000006cc: MLOAD 000006cd: SWAP1 000006ce: DUP2 000006cf: SWAP1 000006d0: SUB 000006d1: PUSH1 0x64 000006d3: ADD 000006d4: SWAP1 000006d5: REVERT 000006d6: JUMPDEST 000006d7: PUSH1 0x00 000006d9: SLOAD 000006da: PUSH2 0x06f2 000006dd: SWAP1 000006de: PUSH3 0x010000 000006e2: SWAP1 000006e3: DIV 000006e4: PUSH1 0x01 000006e6: PUSH1 0x01 000006e8: PUSH1 0xa0 000006ea: SHL 000006eb: SUB 000006ec: AND 000006ed: DUP5 000006ee: PUSH2 0x0f7d 000006f1: JUMP 000006f2: JUMPDEST 000006f3: PUSH1 0x40 000006f5: DUP1 000006f6: MLOAD 000006f7: DUP5 000006f8: DUP2 000006f9: MSTORE 000006fa: CALLER 000006fb: PUSH1 0x20 000006fd: DUP3 000006fe: ADD 000006ff: MSTORE 00000700: DUP2 00000701: MLOAD 00000702: PUSH32 0x8c7cdad0d12a8db3e23561b42da6f10c8137914c97beff202213a410e1f520a3 00000723: SWAP3 00000724: SWAP2 00000725: DUP2 00000726: SWAP1 00000727: SUB 00000728: SWAP1 00000729: SWAP2 0000072a: ADD 0000072b: SWAP1 0000072c: LOG1 0000072d: PUSH1 0x01 0000072f: SWAP2 00000730: POP 00000731: POP 00000732: JUMPDEST 00000733: SWAP2 00000734: SWAP1 00000735: POP 00000736: JUMP 00000737: JUMPDEST 00000738: PUSH1 0x00 0000073a: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28 0000074f: CALLER 00000750: EQ 00000751: PUSH2 0x078b 00000754: JUMPI 00000755: PUSH1 0x40 00000757: MLOAD 00000758: PUSH3 0x461bcd 0000075c: PUSH1 0xe5 0000075e: SHL 0000075f: DUP2 00000760: MSTORE 00000761: PUSH1 0x04 00000763: ADD 00000764: DUP1 00000765: DUP1 00000766: PUSH1 0x20 00000768: ADD 00000769: DUP3 0000076a: DUP2 0000076b: SUB 0000076c: DUP3 0000076d: MSTORE 0000076e: PUSH1 0x2e 00000770: DUP2 00000771: MSTORE 00000772: PUSH1 0x20 00000774: ADD 00000775: DUP1 00000776: PUSH2 0x17f3 00000779: PUSH1 0x2e 0000077b: SWAP2 0000077c: CODECOPY 0000077d: PUSH1 0x40 0000077f: ADD 00000780: SWAP2 00000781: POP 00000782: POP 00000783: PUSH1 0x40 00000785: MLOAD 00000786: DUP1 00000787: SWAP2 00000788: SUB 00000789: SWAP1 0000078a: REVERT 0000078b: JUMPDEST 0000078c: PUSH1 0x01 0000078e: PUSH1 0x01 00000790: PUSH1 0xa0 00000792: SHL 00000793: SUB 00000794: DUP6 00000795: AND 00000796: PUSH2 0x07e6 00000799: JUMPI 0000079a: PUSH1 0x40 0000079c: DUP1 0000079d: MLOAD 0000079e: PUSH3 0x461bcd 000007a2: PUSH1 0xe5 000007a4: SHL 000007a5: DUP2 000007a6: MSTORE 000007a7: PUSH1 0x20 000007a9: PUSH1 0x04 000007ab: DUP3 000007ac: ADD 000007ad: MSTORE 000007ae: PUSH1 0x1a 000007b0: PUSH1 0x24 000007b2: DUP3 000007b3: ADD 000007b4: MSTORE 000007b5: PUSH32 0x4372656469744649463a20496e76616c69642061646472657373000000000000 000007d6: PUSH1 0x44 000007d8: DUP3 000007d9: ADD 000007da: MSTORE 000007db: SWAP1 000007dc: MLOAD 000007dd: SWAP1 000007de: DUP2 000007df: SWAP1 000007e0: SUB 000007e1: PUSH1 0x64 000007e3: ADD 000007e4: SWAP1 000007e5: REVERT 000007e6: JUMPDEST 000007e7: PUSH1 0x00 000007e9: PUSH2 0x07f1 000007ec: DUP4 000007ed: PUSH2 0x087e 000007f0: JUMP 000007f1: JUMPDEST 000007f2: SWAP1 000007f3: POP 000007f4: PUSH2 0x07fd 000007f7: DUP5 000007f8: DUP3 000007f9: PUSH2 0x0ade 000007fc: JUMP 000007fd: JUMPDEST 000007fe: ISZERO 000007ff: ISZERO 00000800: PUSH1 0x01 00000802: EQ 00000803: PUSH2 0x0853 00000806: JUMPI 00000807: PUSH1 0x40 00000809: DUP1 0000080a: MLOAD 0000080b: PUSH3 0x461bcd 0000080f: PUSH1 0xe5 00000811: SHL 00000812: DUP2 00000813: MSTORE 00000814: PUSH1 0x20 00000816: PUSH1 0x04 00000818: DUP3 00000819: ADD 0000081a: DUP2 0000081b: SWAP1 0000081c: MSTORE 0000081d: PUSH1 0x24 0000081f: DUP3 00000820: ADD 00000821: MSTORE 00000822: PUSH32 0x4372656469744649463a204275636b65742066696c6c656420616c7265616479 00000843: PUSH1 0x44 00000845: DUP3 00000846: ADD 00000847: MSTORE 00000848: SWAP1 00000849: MLOAD 0000084a: SWAP1 0000084b: DUP2 0000084c: SWAP1 0000084d: SUB 0000084e: PUSH1 0x64 00000850: ADD 00000851: SWAP1 00000852: REVERT 00000853: JUMPDEST 00000854: PUSH2 0x085c 00000857: DUP6 00000858: PUSH2 0x0fa0 0000085b: JUMP 0000085c: JUMPDEST 0000085d: PUSH2 0x0866 00000860: DUP5 00000861: DUP5 00000862: PUSH2 0x0fea 00000865: JUMP 00000866: JUMPDEST 00000867: PUSH2 0x0870 0000086a: DUP7 0000086b: DUP6 0000086c: PUSH2 0x0f7d 0000086f: JUMP 00000870: JUMPDEST 00000871: PUSH1 0x01 00000873: SWAP2 00000874: POP 00000875: POP 00000876: JUMPDEST 00000877: SWAP5 00000878: SWAP4 00000879: POP 0000087a: POP 0000087b: POP 0000087c: POP 0000087d: JUMP 0000087e: JUMPDEST 0000087f: PUSH1 0x00 00000881: PUSH1 0x0a 00000883: DUP3 00000884: GT 00000885: PUSH2 0x0890 00000888: JUMPI 00000889: POP 0000088a: PUSH1 0x00 0000088c: PUSH2 0x0732 0000088f: JUMP 00000890: JUMPDEST 00000891: PUSH1 0x1e 00000893: DUP3 00000894: GT 00000895: PUSH2 0x08a0 00000898: JUMPI 00000899: POP 0000089a: PUSH1 0x01 0000089c: PUSH2 0x0732 0000089f: JUMP 000008a0: JUMPDEST 000008a1: PUSH1 0x5a 000008a3: DUP3 000008a4: GT 000008a5: PUSH2 0x08b0 000008a8: JUMPI 000008a9: POP 000008aa: PUSH1 0x02 000008ac: PUSH2 0x0732 000008af: JUMP 000008b0: JUMPDEST 000008b1: POP 000008b2: PUSH1 0x03 000008b4: PUSH2 0x0732 000008b7: JUMP 000008b8: JUMPDEST 000008b9: PUSH1 0x00 000008bb: PUSH1 0x02 000008bd: DUP3 000008be: PUSH1 0xff 000008c0: AND 000008c1: PUSH1 0x04 000008c3: DUP2 000008c4: LT 000008c5: PUSH2 0x08ca 000008c8: JUMPI 000008c9: INVALID 000008ca: JUMPDEST 000008cb: PUSH1 0x02 000008cd: MUL 000008ce: ADD 000008cf: PUSH1 0x01 000008d1: ADD 000008d2: SLOAD 000008d3: SWAP1 000008d4: POP 000008d5: SWAP2 000008d6: SWAP1 000008d7: POP 000008d8: JUMP 000008d9: JUMPDEST 000008da: PUSH1 0x00 000008dc: PUSH2 0x08e3 000008df: PUSH2 0x0b86 000008e2: JUMP 000008e3: JUMPDEST 000008e4: PUSH1 0x01 000008e6: PUSH1 0x01 000008e8: PUSH1 0xa0 000008ea: SHL 000008eb: SUB 000008ec: AND 000008ed: PUSH4 0x70a08231 000008f2: ADDRESS 000008f3: PUSH1 0x40 000008f5: MLOAD 000008f6: DUP3 000008f7: PUSH4 0xffffffff 000008fc: AND 000008fd: PUSH1 0xe0 000008ff: SHL 00000900: DUP2 00000901: MSTORE 00000902: PUSH1 0x04 00000904: ADD 00000905: DUP1 00000906: DUP3 00000907: PUSH1 0x01 00000909: PUSH1 0x01 0000090b: PUSH1 0xa0 0000090d: SHL 0000090e: SUB 0000090f: AND 00000910: PUSH1 0x01 00000912: PUSH1 0x01 00000914: PUSH1 0xa0 00000916: SHL 00000917: SUB 00000918: AND 00000919: DUP2 0000091a: MSTORE 0000091b: PUSH1 0x20 0000091d: ADD 0000091e: SWAP2 0000091f: POP 00000920: POP 00000921: PUSH1 0x20 00000923: PUSH1 0x40 00000925: MLOAD 00000926: DUP1 00000927: DUP4 00000928: SUB 00000929: DUP2 0000092a: DUP7 0000092b: DUP1 0000092c: EXTCODESIZE 0000092d: ISZERO 0000092e: DUP1 0000092f: ISZERO 00000930: PUSH2 0x0938 00000933: JUMPI 00000934: PUSH1 0x00 00000936: DUP1 00000937: REVERT 00000938: JUMPDEST 00000939: POP 0000093a: GAS 0000093b: STATICCALL 0000093c: ISZERO 0000093d: DUP1 0000093e: ISZERO 0000093f: PUSH2 0x094c 00000942: JUMPI 00000943: RETURNDATASIZE 00000944: PUSH1 0x00 00000946: DUP1 00000947: RETURNDATACOPY 00000948: RETURNDATASIZE 00000949: PUSH1 0x00 0000094b: REVERT 0000094c: JUMPDEST 0000094d: POP 0000094e: POP 0000094f: POP 00000950: POP 00000951: PUSH1 0x40 00000953: MLOAD 00000954: RETURNDATASIZE 00000955: PUSH1 0x20 00000957: DUP2 00000958: LT 00000959: ISZERO 0000095a: PUSH2 0x0962 0000095d: JUMPI 0000095e: PUSH1 0x00 00000960: DUP1 00000961: REVERT 00000962: JUMPDEST 00000963: POP 00000964: MLOAD 00000965: SWAP1 00000966: POP 00000967: SWAP1 00000968: JUMP 00000969: JUMPDEST 0000096a: PUSH2 0x0972 0000096d: CALLER 0000096e: PUSH2 0x0ac0 00000971: JUMP 00000972: JUMPDEST 00000973: ISZERO 00000974: ISZERO 00000975: PUSH1 0x01 00000977: EQ 00000978: PUSH2 0x09c8 0000097b: JUMPI 0000097c: PUSH1 0x40 0000097e: DUP1 0000097f: MLOAD 00000980: PUSH3 0x461bcd 00000984: PUSH1 0xe5 00000986: SHL 00000987: DUP2 00000988: MSTORE 00000989: PUSH1 0x20 0000098b: PUSH1 0x04 0000098d: DUP3 0000098e: ADD 0000098f: MSTORE 00000990: PUSH1 0x1e 00000992: PUSH1 0x24 00000994: DUP3 00000995: ADD 00000996: MSTORE 00000997: PUSH32 0x4372656469744649463a20496e76616c696420637265646974206c696e650000 000009b8: PUSH1 0x44 000009ba: DUP3 000009bb: ADD 000009bc: MSTORE 000009bd: SWAP1 000009be: MLOAD 000009bf: SWAP1 000009c0: DUP2 000009c1: SWAP1 000009c2: SUB 000009c3: PUSH1 0x64 000009c5: ADD 000009c6: SWAP1 000009c7: REVERT 000009c8: JUMPDEST 000009c9: PUSH2 0x09d2 000009cc: DUP3 000009cd: DUP3 000009ce: PUSH2 0x1021 000009d1: JUMP 000009d2: JUMPDEST 000009d3: POP 000009d4: POP 000009d5: JUMP 000009d6: JUMPDEST 000009d7: PUSH20 0x31ba589072278d82207212702de9a1c2b9d42c28 000009ec: CALLER 000009ed: EQ 000009ee: PUSH2 0x0a28 000009f1: JUMPI 000009f2: PUSH1 0x40 000009f4: MLOAD 000009f5: PUSH3 0x461bcd 000009f9: PUSH1 0xe5 000009fb: SHL 000009fc: DUP2 000009fd: MSTORE 000009fe: PUSH1 0x04 00000a00: ADD 00000a01: DUP1 00000a02: DUP1 00000a03: PUSH1 0x20 00000a05: ADD 00000a06: DUP3 00000a07: DUP2 00000a08: SUB 00000a09: DUP3 00000a0a: MSTORE 00000a0b: PUSH1 0x2e 00000a0d: DUP2 00000a0e: MSTORE 00000a0f: PUSH1 0x20 00000a11: ADD 00000a12: DUP1 00000a13: PUSH2 0x17f3 00000a16: PUSH1 0x2e 00000a18: SWAP2 00000a19: CODECOPY 00000a1a: PUSH1 0x40 00000a1c: ADD 00000a1d: SWAP2 00000a1e: POP 00000a1f: POP 00000a20: PUSH1 0x40 00000a22: MLOAD 00000a23: DUP1 00000a24: SWAP2 00000a25: SUB 00000a26: SWAP1 00000a27: REVERT 00000a28: JUMPDEST 00000a29: PUSH1 0x00 00000a2b: PUSH2 0x0a32 00000a2e: PUSH2 0x08d9 00000a31: JUMP 00000a32: JUMPDEST 00000a33: PUSH1 0x03 00000a35: SLOAD 00000a36: SWAP1 00000a37: SWAP2 00000a38: POP 00000a39: PUSH1 0x00 00000a3b: PUSH2 0x0a42 00000a3e: PUSH2 0x0b9e 00000a41: JUMP 00000a42: JUMPDEST 00000a43: SWAP1 00000a44: POP 00000a45: PUSH1 0x00 00000a47: PUSH2 0x0a73 00000a4a: PUSH1 0x64 00000a4c: PUSH2 0x0a67 00000a4f: PUSH2 0x0a5e 00000a52: DUP8 00000a53: DUP7 00000a54: PUSH4 0xffffffff 00000a59: PUSH2 0x1058 00000a5c: AND 00000a5d: JUMP 00000a5e: JUMPDEST 00000a5f: PUSH1 0x02 00000a61: SLOAD 00000a62: SWAP1 00000a63: PUSH2 0x10b9 00000a66: JUMP 00000a67: JUMPDEST 00000a68: SWAP1 00000a69: PUSH4 0xffffffff 00000a6e: PUSH2 0x1112 00000a71: AND 00000a72: JUMP 00000a73: JUMPDEST 00000a74: SWAP1 00000a75: POP 00000a76: DUP3 00000a77: DUP2 00000a78: GT 00000a79: ISZERO 00000a7a: PUSH2 0x0aba 00000a7d: JUMPI 00000a7e: PUSH1 0x00 00000a80: PUSH2 0x0a8f 00000a83: DUP3 00000a84: DUP6 00000a85: PUSH4 0xffffffff 00000a8a: PUSH2 0x1154 00000a8d: AND 00000a8e: JUMP 00000a8f: JUMPDEST 00000a90: SWAP1 00000a91: POP 00000a92: DUP5 00000a93: DUP2 00000a94: GT 00000a95: ISZERO 00000a96: PUSH2 0x0a9c 00000a99: JUMPI 00000a9a: POP 00000a9b: DUP4 00000a9c: JUMPDEST 00000a9d: PUSH2 0x0aac 00000aa0: DUP5 00000aa1: DUP3 00000aa2: PUSH4 0xffffffff 00000aa7: PUSH2 0x1058 00000aaa: AND 00000aab: JUMP 00000aac: JUMPDEST 00000aad: PUSH1 0x03 00000aaf: SSTORE 00000ab0: PUSH2 0x0ab8 00000ab3: DUP2 00000ab4: PUSH2 0x1196 00000ab7: JUMP 00000ab8: JUMPDEST 00000ab9: POP 00000aba: JUMPDEST 00000abb: POP 00000abc: POP 00000abd: POP 00000abe: POP 00000abf: JUMP 00000ac0: JUMPDEST 00000ac1: PUSH1 0x01 00000ac3: PUSH1 0x01 00000ac5: PUSH1 0xa0 00000ac7: SHL 00000ac8: SUB 00000ac9: AND 00000aca: PUSH1 0x00 00000acc: SWAP1 00000acd: DUP2 00000ace: MSTORE 00000acf: PUSH1 0x01 00000ad1: PUSH1 0x20 00000ad3: MSTORE 00000ad4: PUSH1 0x40 00000ad6: SWAP1 00000ad7: KECCAK256 00000ad8: SLOAD 00000ad9: PUSH1 0xff 00000adb: AND 00000adc: SWAP1 00000add: JUMP 00000ade: JUMPDEST 00000adf: PUSH1 0x00 00000ae1: DUP1 00000ae2: PUSH2 0x0ae9 00000ae5: PUSH2 0x08d9 00000ae8: JUMP 00000ae9: JUMPDEST 00000aea: SWAP1 00000aeb: POP 00000aec: DUP1 00000aed: DUP5 00000aee: GT 00000aef: ISZERO 00000af0: PUSH2 0x0afd 00000af3: JUMPI 00000af4: PUSH1 0x00 00000af6: SWAP2 00000af7: POP 00000af8: POP 00000af9: PUSH2 0x0b80 00000afc: JUMP 00000afd: JUMPDEST 00000afe: PUSH1 0x00 00000b00: PUSH2 0x0b08 00000b03: DUP5 00000b04: PUSH2 0x08b8 00000b07: JUMP 00000b08: JUMPDEST 00000b09: SWAP1 00000b0a: POP 00000b0b: PUSH1 0x00 00000b0d: PUSH2 0x0b14 00000b10: PUSH2 0x0b9e 00000b13: JUMP 00000b14: JUMPDEST 00000b15: SWAP1 00000b16: POP 00000b17: PUSH1 0x00 00000b19: PUSH2 0x0b4c 00000b1c: PUSH2 0x0b2b 00000b1f: DUP6 00000b20: DUP5 00000b21: PUSH4 0xffffffff 00000b26: PUSH2 0x1058 00000b29: AND 00000b2a: JUMP 00000b2b: JUMPDEST 00000b2c: PUSH2 0x0a67 00000b2f: PUSH1 0x64 00000b31: PUSH2 0x0b40 00000b34: DUP8 00000b35: DUP13 00000b36: PUSH4 0xffffffff 00000b3b: PUSH2 0x1058 00000b3e: AND 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: SWAP1 00000b42: PUSH4 0xffffffff 00000b47: PUSH2 0x10b9 00000b4a: AND 00000b4b: JUMP 00000b4c: JUMPDEST 00000b4d: SWAP1 00000b4e: POP 00000b4f: PUSH1 0x02 00000b51: DUP7 00000b52: PUSH1 0xff 00000b54: AND 00000b55: PUSH1 0x04 00000b57: DUP2 00000b58: LT 00000b59: PUSH2 0x0b5e 00000b5c: JUMPI 00000b5d: INVALID 00000b5e: JUMPDEST 00000b5f: PUSH1 0x02 00000b61: MUL 00000b62: ADD 00000b63: SLOAD 00000b64: DUP2 00000b65: GT 00000b66: ISZERO 00000b67: PUSH2 0x0b77 00000b6a: JUMPI 00000b6b: PUSH1 0x00 00000b6d: SWAP5 00000b6e: POP 00000b6f: POP 00000b70: POP 00000b71: POP 00000b72: POP 00000b73: PUSH2 0x0b80 00000b76: JUMP 00000b77: JUMPDEST 00000b78: PUSH1 0x01 00000b7a: SWAP5 00000b7b: POP 00000b7c: POP 00000b7d: POP 00000b7e: POP 00000b7f: POP 00000b80: JUMPDEST 00000b81: SWAP3 00000b82: SWAP2 00000b83: POP 00000b84: POP 00000b85: JUMP 00000b86: JUMPDEST 00000b87: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000b9c: SWAP1 00000b9d: JUMP 00000b9e: JUMPDEST 00000b9f: PUSH1 0x00 00000ba1: DUP1 00000ba2: JUMPDEST 00000ba3: PUSH1 0x04 00000ba5: DUP2 00000ba6: PUSH1 0xff 00000ba8: AND 00000ba9: LT 00000baa: ISZERO 00000bab: PUSH2 0x0bc3 00000bae: JUMPI 00000baf: PUSH2 0x0bb7 00000bb2: DUP2 00000bb3: PUSH2 0x08b8 00000bb6: JUMP 00000bb7: JUMPDEST 00000bb8: SWAP1 00000bb9: SWAP2 00000bba: ADD 00000bbb: SWAP1 00000bbc: PUSH1 0x01 00000bbe: ADD 00000bbf: PUSH2 0x0ba2 00000bc2: JUMP 00000bc3: JUMPDEST 00000bc4: POP 00000bc5: SWAP1 00000bc6: JUMP 00000bc7: JUMPDEST 00000bc8: PUSH1 0x00 00000bca: SLOAD 00000bcb: PUSH3 0x010000 00000bcf: SWAP1 00000bd0: DIV 00000bd1: PUSH1 0x01 00000bd3: PUSH1 0x01 00000bd5: PUSH1 0xa0 00000bd7: SHL 00000bd8: SUB 00000bd9: AND 00000bda: SWAP1 00000bdb: JUMP 00000bdc: JUMPDEST 00000bdd: PUSH20 0x39aa39c021dfbae8fac545936693ac917d5e7563 00000bf2: SWAP1 00000bf3: JUMP 00000bf4: JUMPDEST 00000bf5: PUSH1 0x00 00000bf7: SLOAD 00000bf8: PUSH3 0x010000 00000bfc: SWAP1 00000bfd: DIV 00000bfe: PUSH1 0x01 00000c00: PUSH1 0x01 00000c02: PUSH1 0xa0 00000c04: SHL 00000c05: SUB 00000c06: AND 00000c07: CALLER 00000c08: EQ 00000c09: PUSH2 0x0c59 00000c0c: JUMPI 00000c0d: PUSH1 0x40 00000c0f: DUP1 00000c10: MLOAD 00000c11: PUSH3 0x461bcd 00000c15: PUSH1 0xe5 00000c17: SHL 00000c18: DUP2 00000c19: MSTORE 00000c1a: PUSH1 0x20 00000c1c: PUSH1 0x04 00000c1e: DUP3 00000c1f: ADD 00000c20: MSTORE 00000c21: PUSH1 0x1f 00000c23: PUSH1 0x24 00000c25: DUP3 00000c26: ADD 00000c27: MSTORE 00000c28: PUSH32 0x4372656469744649463a20556e617574686f72697a6564207265717565737400 00000c49: PUSH1 0x44 00000c4b: DUP3 00000c4c: ADD 00000c4d: MSTORE 00000c4e: SWAP1 00000c4f: MLOAD 00000c50: SWAP1 00000c51: DUP2 00000c52: SWAP1 00000c53: SUB 00000c54: PUSH1 0x64 00000c56: ADD 00000c57: SWAP1 00000c58: REVERT 00000c59: JUMPDEST 00000c5a: PUSH1 0x40 00000c5c: DUP1 00000c5d: MLOAD 00000c5e: PUSH1 0x80 00000c60: DUP2 00000c61: DUP2 00000c62: ADD 00000c63: SWAP1 00000c64: SWAP3 00000c65: MSTORE 00000c66: PUSH2 0x0c87 00000c69: SWAP2 00000c6a: DUP4 00000c6b: SWAP1 00000c6c: PUSH1 0x04 00000c6e: SWAP1 00000c6f: DUP4 00000c70: SWAP1 00000c71: DUP4 00000c72: SWAP1 00000c73: DUP1 00000c74: DUP3 00000c75: DUP5 00000c76: CALLDATACOPY 00000c77: PUSH1 0x00 00000c79: SWAP3 00000c7a: ADD 00000c7b: SWAP2 00000c7c: SWAP1 00000c7d: SWAP2 00000c7e: MSTORE 00000c7f: POP 00000c80: PUSH2 0x0eeb 00000c83: SWAP2 00000c84: POP 00000c85: POP 00000c86: JUMP 00000c87: JUMPDEST 00000c88: PUSH1 0x40 00000c8a: DUP1 00000c8b: MLOAD 00000c8c: DUP3 00000c8d: CALLDATALOAD 00000c8e: DUP2 00000c8f: MSTORE 00000c90: PUSH1 0x20 00000c92: DUP1 00000c93: DUP5 00000c94: ADD 00000c95: CALLDATALOAD 00000c96: SWAP1 00000c97: DUP3 00000c98: ADD 00000c99: MSTORE 00000c9a: DUP2 00000c9b: DUP4 00000c9c: ADD 00000c9d: CALLDATALOAD 00000c9e: DUP2 00000c9f: DUP4 00000ca0: ADD 00000ca1: MSTORE 00000ca2: PUSH1 0x60 00000ca4: DUP1 00000ca5: DUP5 00000ca6: ADD 00000ca7: CALLDATALOAD 00000ca8: SWAP1 00000ca9: DUP3 00000caa: ADD 00000cab: MSTORE 00000cac: SWAP1 00000cad: MLOAD 00000cae: PUSH32 0x94e5b382c1f48774cbbcb88b099e6795b759b36a99a7872ccd66df0d4678f2ed 00000ccf: SWAP2 00000cd0: DUP2 00000cd1: SWAP1 00000cd2: SUB 00000cd3: PUSH1 0x80 00000cd5: ADD 00000cd6: SWAP1 00000cd7: LOG1 00000cd8: POP 00000cd9: JUMP 00000cda: JUMPDEST 00000cdb: PUSH1 0x00 00000cdd: PUSH2 0x0ce4 00000ce0: PUSH2 0x0bdc 00000ce3: JUMP 00000ce4: JUMPDEST 00000ce5: PUSH1 0x40 00000ce7: DUP1 00000ce8: MLOAD 00000ce9: PUSH4 0x3af9e669 00000cee: PUSH1 0xe0 00000cf0: SHL 00000cf1: DUP2 00000cf2: MSTORE 00000cf3: ADDRESS 00000cf4: PUSH1 0x04 00000cf6: DUP3 00000cf7: ADD 00000cf8: MSTORE 00000cf9: SWAP1 00000cfa: MLOAD 00000cfb: SWAP2 00000cfc: SWAP3 00000cfd: POP 00000cfe: PUSH1 0x00 00000d00: SWAP2 00000d01: PUSH1 0x01 00000d03: PUSH1 0x01 00000d05: PUSH1 0xa0 00000d07: SHL 00000d08: SUB 00000d09: DUP5 00000d0a: AND 00000d0b: SWAP2 00000d0c: PUSH4 0x3af9e669 00000d11: SWAP2 00000d12: PUSH1 0x24 00000d14: DUP1 00000d15: DUP4 00000d16: ADD 00000d17: SWAP3 00000d18: PUSH1 0x20 00000d1a: SWAP3 00000d1b: SWAP2 00000d1c: SWAP1 00000d1d: DUP3 00000d1e: SWAP1 00000d1f: SUB 00000d20: ADD 00000d21: DUP2 00000d22: DUP8 00000d23: DUP8 00000d24: DUP1 00000d25: EXTCODESIZE 00000d26: ISZERO 00000d27: DUP1 00000d28: ISZERO 00000d29: PUSH2 0x0d31 00000d2c: JUMPI 00000d2d: PUSH1 0x00 00000d2f: DUP1 00000d30: REVERT 00000d31: JUMPDEST 00000d32: POP 00000d33: GAS 00000d34: CALL 00000d35: ISZERO 00000d36: DUP1 00000d37: ISZERO 00000d38: PUSH2 0x0d45 00000d3b: JUMPI 00000d3c: RETURNDATASIZE 00000d3d: PUSH1 0x00 00000d3f: DUP1 00000d40: RETURNDATACOPY 00000d41: RETURNDATASIZE 00000d42: PUSH1 0x00 00000d44: REVERT 00000d45: JUMPDEST 00000d46: POP 00000d47: POP 00000d48: POP 00000d49: POP 00000d4a: PUSH1 0x40 00000d4c: MLOAD 00000d4d: RETURNDATASIZE 00000d4e: PUSH1 0x20 00000d50: DUP2 00000d51: LT 00000d52: ISZERO 00000d53: PUSH2 0x0d5b 00000d56: JUMPI 00000d57: PUSH1 0x00 00000d59: DUP1 00000d5a: REVERT 00000d5b: JUMPDEST 00000d5c: POP 00000d5d: MLOAD 00000d5e: SWAP1 00000d5f: POP 00000d60: DUP1 00000d61: ISZERO 00000d62: PUSH2 0x09d2 00000d65: JUMPI 00000d66: PUSH1 0x00 00000d68: DUP3 00000d69: PUSH1 0x01 00000d6b: PUSH1 0x01 00000d6d: PUSH1 0xa0 00000d6f: SHL 00000d70: SUB 00000d71: AND 00000d72: PUSH4 0x852a12e3 00000d77: DUP4 00000d78: PUSH1 0x40 00000d7a: MLOAD 00000d7b: DUP3 00000d7c: PUSH4 0xffffffff 00000d81: AND 00000d82: PUSH1 0xe0 00000d84: SHL 00000d85: DUP2 00000d86: MSTORE 00000d87: PUSH1 0x04 00000d89: ADD 00000d8a: DUP1 00000d8b: DUP3 00000d8c: DUP2 00000d8d: MSTORE 00000d8e: PUSH1 0x20 00000d90: ADD 00000d91: SWAP2 00000d92: POP 00000d93: POP 00000d94: PUSH1 0x20 00000d96: PUSH1 0x40 00000d98: MLOAD 00000d99: DUP1 00000d9a: DUP4 00000d9b: SUB 00000d9c: DUP2 00000d9d: PUSH1 0x00 00000d9f: DUP8 00000da0: DUP1 00000da1: EXTCODESIZE 00000da2: ISZERO 00000da3: DUP1 00000da4: ISZERO 00000da5: PUSH2 0x0dad 00000da8: JUMPI 00000da9: PUSH1 0x00 00000dab: DUP1 00000dac: REVERT 00000dad: JUMPDEST 00000dae: POP 00000daf: GAS 00000db0: CALL 00000db1: ISZERO 00000db2: DUP1 00000db3: ISZERO 00000db4: PUSH2 0x0dc1 00000db7: JUMPI 00000db8: RETURNDATASIZE 00000db9: PUSH1 0x00 00000dbb: DUP1 00000dbc: RETURNDATACOPY 00000dbd: RETURNDATASIZE 00000dbe: PUSH1 0x00 00000dc0: REVERT 00000dc1: JUMPDEST 00000dc2: POP 00000dc3: POP 00000dc4: POP 00000dc5: POP 00000dc6: PUSH1 0x40 00000dc8: MLOAD 00000dc9: RETURNDATASIZE 00000dca: PUSH1 0x20 00000dcc: DUP2 00000dcd: LT 00000dce: ISZERO 00000dcf: PUSH2 0x0dd7 00000dd2: JUMPI 00000dd3: PUSH1 0x00 00000dd5: DUP1 00000dd6: REVERT 00000dd7: JUMPDEST 00000dd8: POP 00000dd9: MLOAD 00000dda: SWAP1 00000ddb: POP 00000ddc: DUP1 00000ddd: ISZERO 00000dde: PUSH2 0x0e18 00000de1: JUMPI 00000de2: PUSH1 0x40 00000de4: MLOAD 00000de5: PUSH3 0x461bcd 00000de9: PUSH1 0xe5 00000deb: SHL 00000dec: DUP2 00000ded: MSTORE 00000dee: PUSH1 0x04 00000df0: ADD 00000df1: DUP1 00000df2: DUP1 00000df3: PUSH1 0x20 00000df5: ADD 00000df6: DUP3 00000df7: DUP2 00000df8: SUB 00000df9: DUP3 00000dfa: MSTORE 00000dfb: PUSH1 0x27 00000dfd: DUP2 00000dfe: MSTORE 00000dff: PUSH1 0x20 00000e01: ADD 00000e02: DUP1 00000e03: PUSH2 0x1892 00000e06: PUSH1 0x27 00000e08: SWAP2 00000e09: CODECOPY 00000e0a: PUSH1 0x40 00000e0c: ADD 00000e0d: SWAP2 00000e0e: POP 00000e0f: POP 00000e10: PUSH1 0x40 00000e12: MLOAD 00000e13: DUP1 00000e14: SWAP2 00000e15: SUB 00000e16: SWAP1 00000e17: REVERT 00000e18: JUMPDEST 00000e19: PUSH1 0x03 00000e1b: SLOAD 00000e1c: PUSH1 0x40 00000e1e: DUP1 00000e1f: MLOAD 00000e20: PUSH4 0x01a610e5 00000e25: PUSH1 0xe6 00000e27: SHL 00000e28: DUP2 00000e29: MSTORE 00000e2a: PUSH32 0x1be57b66523678295077340a3527d37915b8de6e1e3218c7e176ae2d1f922530 00000e4b: PUSH1 0x04 00000e4d: DUP3 00000e4e: ADD 00000e4f: MSTORE 00000e50: SWAP1 00000e51: MLOAD 00000e52: PUSH1 0x00 00000e54: SWAP3 00000e55: PUSH2 0x0ed5 00000e58: SWAP3 00000e59: PUSH2 0x2710 00000e5c: SWAP3 00000e5d: PUSH2 0x0a67 00000e60: SWAP3 00000e61: SWAP2 00000e62: PUSH20 0x550bf90cf0a0478a9b1f9b6d0b45a4c8268b1d86 00000e77: SWAP2 00000e78: PUSH4 0x69843940 00000e7d: SWAP2 00000e7e: PUSH1 0x24 00000e80: DUP1 00000e81: DUP3 00000e82: ADD 00000e83: SWAP3 00000e84: PUSH1 0x20 00000e86: SWAP3 00000e87: SWAP1 00000e88: SWAP2 00000e89: SWAP1 00000e8a: DUP3 00000e8b: SWAP1 00000e8c: SUB 00000e8d: ADD 00000e8e: DUP2 00000e8f: DUP7 00000e90: DUP1 00000e91: EXTCODESIZE 00000e92: ISZERO 00000e93: DUP1 00000e94: ISZERO 00000e95: PUSH2 0x0e9d 00000e98: JUMPI 00000e99: PUSH1 0x00 00000e9b: DUP1 00000e9c: REVERT 00000e9d: JUMPDEST 00000e9e: POP 00000e9f: GAS 00000ea0: STATICCALL 00000ea1: ISZERO 00000ea2: DUP1 00000ea3: ISZERO 00000ea4: PUSH2 0x0eb1 00000ea7: JUMPI 00000ea8: RETURNDATASIZE 00000ea9: PUSH1 0x00 00000eab: DUP1 00000eac: RETURNDATACOPY 00000ead: RETURNDATASIZE 00000eae: PUSH1 0x00 00000eb0: REVERT 00000eb1: JUMPDEST 00000eb2: POP 00000eb3: POP 00000eb4: POP 00000eb5: POP 00000eb6: PUSH1 0x40 00000eb8: MLOAD 00000eb9: RETURNDATASIZE 00000eba: PUSH1 0x20 00000ebc: DUP2 00000ebd: LT 00000ebe: ISZERO 00000ebf: PUSH2 0x0ec7 00000ec2: JUMPI 00000ec3: PUSH1 0x00 00000ec5: DUP1 00000ec6: REVERT 00000ec7: JUMPDEST 00000ec8: POP 00000ec9: MLOAD 00000eca: SWAP1 00000ecb: PUSH4 0xffffffff 00000ed0: PUSH2 0x10b9 00000ed3: AND 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: PUSH1 0x00 00000ed8: PUSH1 0x03 00000eda: SSTORE 00000edb: SWAP1 00000edc: POP 00000edd: PUSH2 0x0aba 00000ee0: DUP2 00000ee1: PUSH2 0x1277 00000ee4: JUMP 00000ee5: JUMPDEST 00000ee6: ADDRESS 00000ee7: EXTCODESIZE 00000ee8: ISZERO 00000ee9: SWAP1 00000eea: JUMP 00000eeb: JUMPDEST 00000eec: PUSH1 0x60 00000eee: DUP2 00000eef: ADD 00000ef0: MLOAD 00000ef1: PUSH1 0x40 00000ef3: DUP3 00000ef4: ADD 00000ef5: MLOAD 00000ef6: PUSH1 0x20 00000ef8: DUP4 00000ef9: ADD 00000efa: MLOAD 00000efb: DUP4 00000efc: MLOAD 00000efd: ADD 00000efe: ADD 00000eff: ADD 00000f00: PUSH1 0x64 00000f02: EQ 00000f03: PUSH2 0x0f3d 00000f06: JUMPI 00000f07: PUSH1 0x40 00000f09: MLOAD 00000f0a: PUSH3 0x461bcd 00000f0e: PUSH1 0xe5 00000f10: SHL 00000f11: DUP2 00000f12: MSTORE 00000f13: PUSH1 0x04 00000f15: ADD 00000f16: DUP1 00000f17: DUP1 00000f18: PUSH1 0x20 00000f1a: ADD 00000f1b: DUP3 00000f1c: DUP2 00000f1d: SUB 00000f1e: DUP3 00000f1f: MSTORE 00000f20: PUSH1 0x25 00000f22: DUP2 00000f23: MSTORE 00000f24: PUSH1 0x20 00000f26: ADD 00000f27: DUP1 00000f28: PUSH2 0x17ce 00000f2b: PUSH1 0x25 00000f2d: SWAP2 00000f2e: CODECOPY 00000f2f: PUSH1 0x40 00000f31: ADD 00000f32: SWAP2 00000f33: POP 00000f34: POP 00000f35: PUSH1 0x40 00000f37: MLOAD 00000f38: DUP1 00000f39: SWAP2 00000f3a: SUB 00000f3b: SWAP1 00000f3c: REVERT 00000f3d: JUMPDEST 00000f3e: PUSH1 0x00 00000f40: JUMPDEST 00000f41: PUSH1 0x04 00000f43: DUP2 00000f44: PUSH1 0xff 00000f46: AND 00000f47: LT 00000f48: ISZERO 00000f49: PUSH2 0x09d2 00000f4c: JUMPI 00000f4d: DUP2 00000f4e: DUP2 00000f4f: PUSH1 0xff 00000f51: AND 00000f52: PUSH1 0x04 00000f54: DUP2 00000f55: LT 00000f56: PUSH2 0x0f5b 00000f59: JUMPI 00000f5a: INVALID 00000f5b: JUMPDEST 00000f5c: PUSH1 0x20 00000f5e: MUL 00000f5f: ADD 00000f60: MLOAD 00000f61: PUSH1 0x02 00000f63: DUP3 00000f64: PUSH1 0xff 00000f66: AND 00000f67: PUSH1 0x04 00000f69: DUP2 00000f6a: LT 00000f6b: PUSH2 0x0f70 00000f6e: JUMPI 00000f6f: INVALID 00000f70: JUMPDEST 00000f71: PUSH1 0x02 00000f73: MUL 00000f74: ADD 00000f75: SSTORE 00000f76: PUSH1 0x01 00000f78: ADD 00000f79: PUSH2 0x0f40 00000f7c: JUMP 00000f7d: JUMPDEST 00000f7e: PUSH2 0x09d2 00000f81: DUP3 00000f82: DUP3 00000f83: PUSH2 0x0f8a 00000f86: PUSH2 0x0b86 00000f89: JUMP 00000f8a: JUMPDEST 00000f8b: PUSH1 0x01 00000f8d: PUSH1 0x01 00000f8f: PUSH1 0xa0 00000f91: SHL 00000f92: SUB 00000f93: AND 00000f94: SWAP2 00000f95: SWAP1 00000f96: PUSH4 0xffffffff 00000f9b: PUSH2 0x1324 00000f9e: AND 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: PUSH1 0x01 00000fa3: PUSH1 0x01 00000fa5: PUSH1 0xa0 00000fa7: SHL 00000fa8: SUB 00000fa9: DUP2 00000faa: AND 00000fab: PUSH1 0x00 00000fad: SWAP1 00000fae: DUP2 00000faf: MSTORE 00000fb0: PUSH1 0x01 00000fb2: PUSH1 0x20 00000fb4: MSTORE 00000fb5: PUSH1 0x40 00000fb7: SWAP1 00000fb8: KECCAK256 00000fb9: SLOAD 00000fba: PUSH1 0xff 00000fbc: AND 00000fbd: PUSH2 0x0fe7 00000fc0: JUMPI 00000fc1: PUSH1 0x01 00000fc3: PUSH1 0x01 00000fc5: PUSH1 0xa0 00000fc7: SHL 00000fc8: SUB 00000fc9: DUP2 00000fca: AND 00000fcb: PUSH1 0x00 00000fcd: SWAP1 00000fce: DUP2 00000fcf: MSTORE 00000fd0: PUSH1 0x01 00000fd2: PUSH1 0x20 00000fd4: DUP2 00000fd5: SWAP1 00000fd6: MSTORE 00000fd7: PUSH1 0x40 00000fd9: SWAP1 00000fda: SWAP2 00000fdb: KECCAK256 00000fdc: DUP1 00000fdd: SLOAD 00000fde: PUSH1 0xff 00000fe0: NOT 00000fe1: AND 00000fe2: SWAP1 00000fe3: SWAP2 00000fe4: OR 00000fe5: SWAP1 00000fe6: SSTORE 00000fe7: JUMPDEST 00000fe8: POP 00000fe9: JUMP 00000fea: JUMPDEST 00000feb: PUSH1 0x00 00000fed: PUSH2 0x0ff5 00000ff0: DUP3 00000ff1: PUSH2 0x087e 00000ff4: JUMP 00000ff5: JUMPDEST 00000ff6: SWAP1 00000ff7: POP 00000ff8: DUP3 00000ff9: PUSH1 0x02 00000ffb: DUP3 00000ffc: PUSH1 0xff 00000ffe: AND 00000fff: PUSH1 0x04 00001001: DUP2 00001002: LT 00001003: PUSH2 0x1008 00001006: JUMPI 00001007: INVALID 00001008: JUMPDEST 00001009: PUSH1 0x02 0000100b: MUL 0000100c: ADD 0000100d: PUSH1 0x01 0000100f: ADD 00001010: PUSH1 0x00 00001012: DUP3 00001013: DUP3 00001014: SLOAD 00001015: ADD 00001016: SWAP3 00001017: POP 00001018: POP 00001019: DUP2 0000101a: SWAP1 0000101b: SSTORE 0000101c: POP 0000101d: POP 0000101e: POP 0000101f: POP 00001020: JUMP 00001021: JUMPDEST 00001022: PUSH1 0x00 00001024: PUSH2 0x102c 00001027: DUP3 00001028: PUSH2 0x087e 0000102b: JUMP 0000102c: JUMPDEST 0000102d: SWAP1 0000102e: POP 0000102f: DUP3 00001030: PUSH1 0x02 00001032: DUP3 00001033: PUSH1 0xff 00001035: AND 00001036: PUSH1 0x04 00001038: DUP2 00001039: LT 0000103a: PUSH2 0x103f 0000103d: JUMPI 0000103e: INVALID 0000103f: JUMPDEST 00001040: PUSH1 0x02 00001042: MUL 00001043: ADD 00001044: PUSH1 0x01 00001046: ADD 00001047: PUSH1 0x00 00001049: DUP3 0000104a: DUP3 0000104b: SLOAD 0000104c: SUB 0000104d: SWAP3 0000104e: POP 0000104f: POP 00001050: DUP2 00001051: SWAP1 00001052: SSTORE 00001053: POP 00001054: POP 00001055: POP 00001056: POP 00001057: JUMP 00001058: JUMPDEST 00001059: PUSH1 0x00 0000105b: DUP3 0000105c: DUP3 0000105d: ADD 0000105e: DUP4 0000105f: DUP2 00001060: LT 00001061: ISZERO 00001062: PUSH2 0x10b2 00001065: JUMPI 00001066: PUSH1 0x40 00001068: DUP1 00001069: MLOAD 0000106a: PUSH3 0x461bcd 0000106e: PUSH1 0xe5 00001070: SHL 00001071: DUP2 00001072: MSTORE 00001073: PUSH1 0x20 00001075: PUSH1 0x04 00001077: DUP3 00001078: ADD 00001079: MSTORE 0000107a: PUSH1 0x1b 0000107c: PUSH1 0x24 0000107e: DUP3 0000107f: ADD 00001080: MSTORE 00001081: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 000010a2: PUSH1 0x44 000010a4: DUP3 000010a5: ADD 000010a6: MSTORE 000010a7: SWAP1 000010a8: MLOAD 000010a9: SWAP1 000010aa: DUP2 000010ab: SWAP1 000010ac: SUB 000010ad: PUSH1 0x64 000010af: ADD 000010b0: SWAP1 000010b1: REVERT 000010b2: JUMPDEST 000010b3: SWAP4 000010b4: SWAP3 000010b5: POP 000010b6: POP 000010b7: POP 000010b8: JUMP 000010b9: JUMPDEST 000010ba: PUSH1 0x00 000010bc: DUP3 000010bd: PUSH2 0x10c8 000010c0: JUMPI 000010c1: POP 000010c2: PUSH1 0x00 000010c4: PUSH2 0x0b80 000010c7: JUMP 000010c8: JUMPDEST 000010c9: DUP3 000010ca: DUP3 000010cb: MUL 000010cc: DUP3 000010cd: DUP5 000010ce: DUP3 000010cf: DUP2 000010d0: PUSH2 0x10d5 000010d3: JUMPI 000010d4: INVALID 000010d5: JUMPDEST 000010d6: DIV 000010d7: EQ 000010d8: PUSH2 0x10b2 000010db: JUMPI 000010dc: PUSH1 0x40 000010de: MLOAD 000010df: PUSH3 0x461bcd 000010e3: PUSH1 0xe5 000010e5: SHL 000010e6: DUP2 000010e7: MSTORE 000010e8: PUSH1 0x04 000010ea: ADD 000010eb: DUP1 000010ec: DUP1 000010ed: PUSH1 0x20 000010ef: ADD 000010f0: DUP3 000010f1: DUP2 000010f2: SUB 000010f3: DUP3 000010f4: MSTORE 000010f5: PUSH1 0x21 000010f7: DUP2 000010f8: MSTORE 000010f9: PUSH1 0x20 000010fb: ADD 000010fc: DUP1 000010fd: PUSH2 0x184f 00001100: PUSH1 0x21 00001102: SWAP2 00001103: CODECOPY 00001104: PUSH1 0x40 00001106: ADD 00001107: SWAP2 00001108: POP 00001109: POP 0000110a: PUSH1 0x40 0000110c: MLOAD 0000110d: DUP1 0000110e: SWAP2 0000110f: SUB 00001110: SWAP1 00001111: REVERT 00001112: JUMPDEST 00001113: PUSH1 0x00 00001115: PUSH2 0x10b2 00001118: DUP4 00001119: DUP4 0000111a: PUSH1 0x40 0000111c: MLOAD 0000111d: DUP1 0000111e: PUSH1 0x40 00001120: ADD 00001121: PUSH1 0x40 00001123: MSTORE 00001124: DUP1 00001125: PUSH1 0x1a 00001127: DUP2 00001128: MSTORE 00001129: PUSH1 0x20 0000112b: ADD 0000112c: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 0000114d: DUP2 0000114e: MSTORE 0000114f: POP 00001150: PUSH2 0x1376 00001153: JUMP 00001154: JUMPDEST 00001155: PUSH1 0x00 00001157: PUSH2 0x10b2 0000115a: DUP4 0000115b: DUP4 0000115c: PUSH1 0x40 0000115e: MLOAD 0000115f: DUP1 00001160: PUSH1 0x40 00001162: ADD 00001163: PUSH1 0x40 00001165: MSTORE 00001166: DUP1 00001167: PUSH1 0x1e 00001169: DUP2 0000116a: MSTORE 0000116b: PUSH1 0x20 0000116d: ADD 0000116e: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 0000118f: DUP2 00001190: MSTORE 00001191: POP 00001192: PUSH2 0x1418 00001195: JUMP 00001196: JUMPDEST 00001197: PUSH1 0x00 00001199: PUSH2 0x11a0 0000119c: PUSH2 0x0b86 0000119f: JUMP 000011a0: JUMPDEST 000011a1: SWAP1 000011a2: POP 000011a3: PUSH1 0x00 000011a5: PUSH2 0x11ac 000011a8: PUSH2 0x0bdc 000011ab: JUMP 000011ac: JUMPDEST 000011ad: SWAP1 000011ae: POP 000011af: DUP1 000011b0: PUSH2 0x11c9 000011b3: PUSH1 0x01 000011b5: PUSH1 0x01 000011b7: PUSH1 0xa0 000011b9: SHL 000011ba: SUB 000011bb: DUP5 000011bc: AND 000011bd: DUP3 000011be: DUP7 000011bf: PUSH4 0xffffffff 000011c4: PUSH2 0x1472 000011c7: AND 000011c8: JUMP 000011c9: JUMPDEST 000011ca: DUP1 000011cb: PUSH1 0x01 000011cd: PUSH1 0x01 000011cf: PUSH1 0xa0 000011d1: SHL 000011d2: SUB 000011d3: AND 000011d4: PUSH4 0xa0712d68 000011d9: DUP6 000011da: PUSH1 0x40 000011dc: MLOAD 000011dd: DUP3 000011de: PUSH4 0xffffffff 000011e3: AND 000011e4: PUSH1 0xe0 000011e6: SHL 000011e7: DUP2 000011e8: MSTORE 000011e9: PUSH1 0x04 000011eb: ADD 000011ec: DUP1 000011ed: DUP3 000011ee: DUP2 000011ef: MSTORE 000011f0: PUSH1 0x20 000011f2: ADD 000011f3: SWAP2 000011f4: POP 000011f5: POP 000011f6: PUSH1 0x20 000011f8: PUSH1 0x40 000011fa: MLOAD 000011fb: DUP1 000011fc: DUP4 000011fd: SUB 000011fe: DUP2 000011ff: PUSH1 0x00 00001201: DUP8 00001202: DUP1 00001203: EXTCODESIZE 00001204: ISZERO 00001205: DUP1 00001206: ISZERO 00001207: PUSH2 0x120f 0000120a: JUMPI 0000120b: PUSH1 0x00 0000120d: DUP1 0000120e: REVERT 0000120f: JUMPDEST 00001210: POP 00001211: GAS 00001212: CALL 00001213: ISZERO 00001214: DUP1 00001215: ISZERO 00001216: PUSH2 0x1223 00001219: JUMPI 0000121a: RETURNDATASIZE 0000121b: PUSH1 0x00 0000121d: DUP1 0000121e: RETURNDATACOPY 0000121f: RETURNDATASIZE 00001220: PUSH1 0x00 00001222: REVERT 00001223: JUMPDEST 00001224: POP 00001225: POP 00001226: POP 00001227: POP 00001228: PUSH1 0x40 0000122a: MLOAD 0000122b: RETURNDATASIZE 0000122c: PUSH1 0x20 0000122e: DUP2 0000122f: LT 00001230: ISZERO 00001231: PUSH2 0x1239 00001234: JUMPI 00001235: PUSH1 0x00 00001237: DUP1 00001238: REVERT 00001239: JUMPDEST 0000123a: POP 0000123b: MLOAD 0000123c: ISZERO 0000123d: PUSH2 0x0aba 00001240: JUMPI 00001241: PUSH1 0x40 00001243: MLOAD 00001244: PUSH3 0x461bcd 00001248: PUSH1 0xe5 0000124a: SHL 0000124b: DUP2 0000124c: MSTORE 0000124d: PUSH1 0x04 0000124f: ADD 00001250: DUP1 00001251: DUP1 00001252: PUSH1 0x20 00001254: ADD 00001255: DUP3 00001256: DUP2 00001257: SUB 00001258: DUP3 00001259: MSTORE 0000125a: PUSH1 0x22 0000125c: DUP2 0000125d: MSTORE 0000125e: PUSH1 0x20 00001260: ADD 00001261: DUP1 00001262: PUSH2 0x1870 00001265: PUSH1 0x22 00001267: SWAP2 00001268: CODECOPY 00001269: PUSH1 0x40 0000126b: ADD 0000126c: SWAP2 0000126d: POP 0000126e: POP 0000126f: PUSH1 0x40 00001271: MLOAD 00001272: DUP1 00001273: SWAP2 00001274: SUB 00001275: SWAP1 00001276: REVERT 00001277: JUMPDEST 00001278: PUSH1 0x40 0000127a: DUP1 0000127b: MLOAD 0000127c: PUSH4 0x21f8a721 00001281: PUSH1 0xe0 00001283: SHL 00001284: DUP2 00001285: MSTORE 00001286: PUSH32 0xcbc3019154635bc9d83c4767ef7c360258e1886a6895b5091421f1f65aba8e96 000012a7: PUSH1 0x04 000012a9: DUP3 000012aa: ADD 000012ab: MSTORE 000012ac: SWAP1 000012ad: MLOAD 000012ae: PUSH1 0x00 000012b0: SWAP2 000012b1: PUSH20 0x550bf90cf0a0478a9b1f9b6d0b45a4c8268b1d86 000012c6: SWAP2 000012c7: PUSH4 0x21f8a721 000012cc: SWAP2 000012cd: PUSH1 0x24 000012cf: DUP1 000012d0: DUP3 000012d1: ADD 000012d2: SWAP3 000012d3: PUSH1 0x20 000012d5: SWAP3 000012d6: SWAP1 000012d7: SWAP2 000012d8: SWAP1 000012d9: DUP3 000012da: SWAP1 000012db: SUB 000012dc: ADD 000012dd: DUP2 000012de: DUP7 000012df: DUP1 000012e0: EXTCODESIZE 000012e1: ISZERO 000012e2: DUP1 000012e3: ISZERO 000012e4: PUSH2 0x12ec 000012e7: JUMPI 000012e8: PUSH1 0x00 000012ea: DUP1 000012eb: REVERT 000012ec: JUMPDEST 000012ed: POP 000012ee: GAS 000012ef: STATICCALL 000012f0: ISZERO 000012f1: DUP1 000012f2: ISZERO 000012f3: PUSH2 0x1300 000012f6: JUMPI 000012f7: RETURNDATASIZE 000012f8: PUSH1 0x00 000012fa: DUP1 000012fb: RETURNDATACOPY 000012fc: RETURNDATASIZE 000012fd: PUSH1 0x00 000012ff: REVERT 00001300: JUMPDEST 00001301: POP 00001302: POP 00001303: POP 00001304: POP 00001305: PUSH1 0x40 00001307: MLOAD 00001308: RETURNDATASIZE 00001309: PUSH1 0x20 0000130b: DUP2 0000130c: LT 0000130d: ISZERO 0000130e: PUSH2 0x1316 00001311: JUMPI 00001312: PUSH1 0x00 00001314: DUP1 00001315: REVERT 00001316: JUMPDEST 00001317: POP 00001318: MLOAD 00001319: SWAP1 0000131a: POP 0000131b: PUSH2 0x09d2 0000131e: DUP2 0000131f: DUP4 00001320: PUSH2 0x0f7d 00001323: JUMP 00001324: JUMPDEST 00001325: PUSH1 0x40 00001327: DUP1 00001328: MLOAD 00001329: PUSH1 0x01 0000132b: PUSH1 0x01 0000132d: PUSH1 0xa0 0000132f: SHL 00001330: SUB 00001331: DUP5 00001332: AND 00001333: PUSH1 0x24 00001335: DUP3 00001336: ADD 00001337: MSTORE 00001338: PUSH1 0x44 0000133a: DUP1 0000133b: DUP3 0000133c: ADD 0000133d: DUP5 0000133e: SWAP1 0000133f: MSTORE 00001340: DUP3 00001341: MLOAD 00001342: DUP1 00001343: DUP4 00001344: SUB 00001345: SWAP1 00001346: SWAP2 00001347: ADD 00001348: DUP2 00001349: MSTORE 0000134a: PUSH1 0x64 0000134c: SWAP1 0000134d: SWAP2 0000134e: ADD 0000134f: SWAP1 00001350: SWAP2 00001351: MSTORE 00001352: PUSH1 0x20 00001354: DUP2 00001355: ADD 00001356: DUP1 00001357: MLOAD 00001358: PUSH1 0x01 0000135a: PUSH1 0x01 0000135c: PUSH1 0xe0 0000135e: SHL 0000135f: SUB 00001360: AND 00001361: PUSH4 0xa9059cbb 00001366: PUSH1 0xe0 00001368: SHL 00001369: OR 0000136a: SWAP1 0000136b: MSTORE 0000136c: PUSH2 0x060a 0000136f: SWAP1 00001370: DUP5 00001371: SWAP1 00001372: PUSH2 0x1581 00001375: JUMP 00001376: JUMPDEST 00001377: PUSH1 0x00 00001379: DUP2 0000137a: DUP4 0000137b: PUSH2 0x1402 0000137e: JUMPI 0000137f: PUSH1 0x40 00001381: MLOAD 00001382: PUSH3 0x461bcd 00001386: PUSH1 0xe5 00001388: SHL 00001389: DUP2 0000138a: MSTORE 0000138b: PUSH1 0x04 0000138d: ADD 0000138e: DUP1 0000138f: DUP1 00001390: PUSH1 0x20 00001392: ADD 00001393: DUP3 00001394: DUP2 00001395: SUB 00001396: DUP3 00001397: MSTORE 00001398: DUP4 00001399: DUP2 0000139a: DUP2 0000139b: MLOAD 0000139c: DUP2 0000139d: MSTORE 0000139e: PUSH1 0x20 000013a0: ADD 000013a1: SWAP2 000013a2: POP 000013a3: DUP1 000013a4: MLOAD 000013a5: SWAP1 000013a6: PUSH1 0x20 000013a8: ADD 000013a9: SWAP1 000013aa: DUP1 000013ab: DUP4 000013ac: DUP4 000013ad: PUSH1 0x00 000013af: JUMPDEST 000013b0: DUP4 000013b1: DUP2 000013b2: LT 000013b3: ISZERO 000013b4: PUSH2 0x13c7 000013b7: JUMPI 000013b8: DUP2 000013b9: DUP2 000013ba: ADD 000013bb: MLOAD 000013bc: DUP4 000013bd: DUP3 000013be: ADD 000013bf: MSTORE 000013c0: PUSH1 0x20 000013c2: ADD 000013c3: PUSH2 0x13af 000013c6: JUMP 000013c7: JUMPDEST 000013c8: POP 000013c9: POP 000013ca: POP 000013cb: POP 000013cc: SWAP1 000013cd: POP 000013ce: SWAP1 000013cf: DUP2 000013d0: ADD 000013d1: SWAP1 000013d2: PUSH1 0x1f 000013d4: AND 000013d5: DUP1 000013d6: ISZERO 000013d7: PUSH2 0x13f4 000013da: JUMPI 000013db: DUP1 000013dc: DUP3 000013dd: SUB 000013de: DUP1 000013df: MLOAD 000013e0: PUSH1 0x01 000013e2: DUP4 000013e3: PUSH1 0x20 000013e5: SUB 000013e6: PUSH2 0x0100 000013e9: EXP 000013ea: SUB 000013eb: NOT 000013ec: AND 000013ed: DUP2 000013ee: MSTORE 000013ef: PUSH1 0x20 000013f1: ADD 000013f2: SWAP2 000013f3: POP 000013f4: JUMPDEST 000013f5: POP 000013f6: SWAP3 000013f7: POP 000013f8: POP 000013f9: POP 000013fa: PUSH1 0x40 000013fc: MLOAD 000013fd: DUP1 000013fe: SWAP2 000013ff: SUB 00001400: SWAP1 00001401: REVERT 00001402: JUMPDEST 00001403: POP 00001404: PUSH1 0x00 00001406: DUP4 00001407: DUP6 00001408: DUP2 00001409: PUSH2 0x140e 0000140c: JUMPI 0000140d: INVALID 0000140e: JUMPDEST 0000140f: DIV 00001410: SWAP6 00001411: SWAP5 00001412: POP 00001413: POP 00001414: POP 00001415: POP 00001416: POP 00001417: JUMP 00001418: JUMPDEST 00001419: PUSH1 0x00 0000141b: DUP2 0000141c: DUP5 0000141d: DUP5 0000141e: GT 0000141f: ISZERO 00001420: PUSH2 0x146a 00001423: JUMPI 00001424: PUSH1 0x40 00001426: MLOAD 00001427: PUSH3 0x461bcd 0000142b: PUSH1 0xe5 0000142d: SHL 0000142e: DUP2 0000142f: MSTORE 00001430: PUSH1 0x20 00001432: PUSH1 0x04 00001434: DUP3 00001435: ADD 00001436: DUP2 00001437: DUP2 00001438: MSTORE 00001439: DUP4 0000143a: MLOAD 0000143b: PUSH1 0x24 0000143d: DUP5 0000143e: ADD 0000143f: MSTORE 00001440: DUP4 00001441: MLOAD 00001442: SWAP1 00001443: SWAP3 00001444: DUP4 00001445: SWAP3 00001446: PUSH1 0x44 00001448: SWAP1 00001449: SWAP2 0000144a: ADD 0000144b: SWAP2 0000144c: SWAP1 0000144d: DUP6 0000144e: ADD 0000144f: SWAP1 00001450: DUP1 00001451: DUP4 00001452: DUP4 00001453: PUSH1 0x00 00001455: DUP4 00001456: ISZERO 00001457: PUSH2 0x13c7 0000145a: JUMPI 0000145b: DUP2 0000145c: DUP2 0000145d: ADD 0000145e: MLOAD 0000145f: DUP4 00001460: DUP3 00001461: ADD 00001462: MSTORE 00001463: PUSH1 0x20 00001465: ADD 00001466: PUSH2 0x13af 00001469: JUMP 0000146a: JUMPDEST 0000146b: POP 0000146c: POP 0000146d: POP 0000146e: SWAP1 0000146f: SUB 00001470: SWAP1 00001471: JUMP 00001472: JUMPDEST 00001473: DUP1 00001474: ISZERO 00001475: DUP1 00001476: PUSH2 0x14f8 00001479: JUMPI 0000147a: POP 0000147b: PUSH1 0x40 0000147d: DUP1 0000147e: MLOAD 0000147f: PUSH4 0x6eb1769f 00001484: PUSH1 0xe1 00001486: SHL 00001487: DUP2 00001488: MSTORE 00001489: ADDRESS 0000148a: PUSH1 0x04 0000148c: DUP3 0000148d: ADD 0000148e: MSTORE 0000148f: PUSH1 0x01 00001491: PUSH1 0x01 00001493: PUSH1 0xa0 00001495: SHL 00001496: SUB 00001497: DUP5 00001498: DUP2 00001499: AND 0000149a: PUSH1 0x24 0000149c: DUP4 0000149d: ADD 0000149e: MSTORE 0000149f: SWAP2 000014a0: MLOAD 000014a1: SWAP2 000014a2: DUP6 000014a3: AND 000014a4: SWAP2 000014a5: PUSH4 0xdd62ed3e 000014aa: SWAP2 000014ab: PUSH1 0x44 000014ad: DUP1 000014ae: DUP3 000014af: ADD 000014b0: SWAP3 000014b1: PUSH1 0x20 000014b3: SWAP3 000014b4: SWAP1 000014b5: SWAP2 000014b6: SWAP1 000014b7: DUP3 000014b8: SWAP1 000014b9: SUB 000014ba: ADD 000014bb: DUP2 000014bc: DUP7 000014bd: DUP1 000014be: EXTCODESIZE 000014bf: ISZERO 000014c0: DUP1 000014c1: ISZERO 000014c2: PUSH2 0x14ca 000014c5: JUMPI 000014c6: PUSH1 0x00 000014c8: DUP1 000014c9: REVERT 000014ca: JUMPDEST 000014cb: POP 000014cc: GAS 000014cd: STATICCALL 000014ce: ISZERO 000014cf: DUP1 000014d0: ISZERO 000014d1: PUSH2 0x14de 000014d4: JUMPI 000014d5: RETURNDATASIZE 000014d6: PUSH1 0x00 000014d8: DUP1 000014d9: RETURNDATACOPY 000014da: RETURNDATASIZE 000014db: PUSH1 0x00 000014dd: REVERT 000014de: JUMPDEST 000014df: POP 000014e0: POP 000014e1: POP 000014e2: POP 000014e3: PUSH1 0x40 000014e5: MLOAD 000014e6: RETURNDATASIZE 000014e7: PUSH1 0x20 000014e9: DUP2 000014ea: LT 000014eb: ISZERO 000014ec: PUSH2 0x14f4 000014ef: JUMPI 000014f0: PUSH1 0x00 000014f2: DUP1 000014f3: REVERT 000014f4: JUMPDEST 000014f5: POP 000014f6: MLOAD 000014f7: ISZERO 000014f8: JUMPDEST 000014f9: PUSH2 0x1533 000014fc: JUMPI 000014fd: PUSH1 0x40 000014ff: MLOAD 00001500: PUSH3 0x461bcd 00001504: PUSH1 0xe5 00001506: SHL 00001507: DUP2 00001508: MSTORE 00001509: PUSH1 0x04 0000150b: ADD 0000150c: DUP1 0000150d: DUP1 0000150e: PUSH1 0x20 00001510: ADD 00001511: DUP3 00001512: DUP2 00001513: SUB 00001514: DUP3 00001515: MSTORE 00001516: PUSH1 0x36 00001518: DUP2 00001519: MSTORE 0000151a: PUSH1 0x20 0000151c: ADD 0000151d: DUP1 0000151e: PUSH2 0x18e3 00001521: PUSH1 0x36 00001523: SWAP2 00001524: CODECOPY 00001525: PUSH1 0x40 00001527: ADD 00001528: SWAP2 00001529: POP 0000152a: POP 0000152b: PUSH1 0x40 0000152d: MLOAD 0000152e: DUP1 0000152f: SWAP2 00001530: SUB 00001531: SWAP1 00001532: REVERT 00001533: JUMPDEST 00001534: PUSH1 0x40 00001536: DUP1 00001537: MLOAD 00001538: PUSH1 0x01 0000153a: PUSH1 0x01 0000153c: PUSH1 0xa0 0000153e: SHL 0000153f: SUB 00001540: DUP5 00001541: AND 00001542: PUSH1 0x24 00001544: DUP3 00001545: ADD 00001546: MSTORE 00001547: PUSH1 0x44 00001549: DUP1 0000154a: DUP3 0000154b: ADD 0000154c: DUP5 0000154d: SWAP1 0000154e: MSTORE 0000154f: DUP3 00001550: MLOAD 00001551: DUP1 00001552: DUP4 00001553: SUB 00001554: SWAP1 00001555: SWAP2 00001556: ADD 00001557: DUP2 00001558: MSTORE 00001559: PUSH1 0x64 0000155b: SWAP1 0000155c: SWAP2 0000155d: ADD 0000155e: SWAP1 0000155f: SWAP2 00001560: MSTORE 00001561: PUSH1 0x20 00001563: DUP2 00001564: ADD 00001565: DUP1 00001566: MLOAD 00001567: PUSH1 0x01 00001569: PUSH1 0x01 0000156b: PUSH1 0xe0 0000156d: SHL 0000156e: SUB 0000156f: AND 00001570: PUSH4 0x095ea7b3 00001575: PUSH1 0xe0 00001577: SHL 00001578: OR 00001579: SWAP1 0000157a: MSTORE 0000157b: PUSH2 0x060a 0000157e: SWAP1 0000157f: DUP5 00001580: SWAP1 00001581: JUMPDEST 00001582: PUSH1 0x60 00001584: PUSH2 0x15d6 00001587: DUP3 00001588: PUSH1 0x40 0000158a: MLOAD 0000158b: DUP1 0000158c: PUSH1 0x40 0000158e: ADD 0000158f: PUSH1 0x40 00001591: MSTORE 00001592: DUP1 00001593: PUSH1 0x20 00001595: DUP2 00001596: MSTORE 00001597: PUSH1 0x20 00001599: ADD 0000159a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000015bb: DUP2 000015bc: MSTORE 000015bd: POP 000015be: DUP6 000015bf: PUSH1 0x01 000015c1: PUSH1 0x01 000015c3: PUSH1 0xa0 000015c5: SHL 000015c6: SUB 000015c7: AND 000015c8: PUSH2 0x1632 000015cb: SWAP1 000015cc: SWAP3 000015cd: SWAP2 000015ce: SWAP1 000015cf: PUSH4 0xffffffff 000015d4: AND 000015d5: JUMP 000015d6: JUMPDEST 000015d7: DUP1 000015d8: MLOAD 000015d9: SWAP1 000015da: SWAP2 000015db: POP 000015dc: ISZERO 000015dd: PUSH2 0x060a 000015e0: JUMPI 000015e1: DUP1 000015e2: DUP1 000015e3: PUSH1 0x20 000015e5: ADD 000015e6: SWAP1 000015e7: MLOAD 000015e8: PUSH1 0x20 000015ea: DUP2 000015eb: LT 000015ec: ISZERO 000015ed: PUSH2 0x15f5 000015f0: JUMPI 000015f1: PUSH1 0x00 000015f3: DUP1 000015f4: REVERT 000015f5: JUMPDEST 000015f6: POP 000015f7: MLOAD 000015f8: PUSH2 0x060a 000015fb: JUMPI 000015fc: PUSH1 0x40 000015fe: MLOAD 000015ff: PUSH3 0x461bcd 00001603: PUSH1 0xe5 00001605: SHL 00001606: DUP2 00001607: MSTORE 00001608: PUSH1 0x04 0000160a: ADD 0000160b: DUP1 0000160c: DUP1 0000160d: PUSH1 0x20 0000160f: ADD 00001610: DUP3 00001611: DUP2 00001612: SUB 00001613: DUP3 00001614: MSTORE 00001615: PUSH1 0x2a 00001617: DUP2 00001618: MSTORE 00001619: PUSH1 0x20 0000161b: ADD 0000161c: DUP1 0000161d: PUSH2 0x18b9 00001620: PUSH1 0x2a 00001622: SWAP2 00001623: CODECOPY 00001624: PUSH1 0x40 00001626: ADD 00001627: SWAP2 00001628: POP 00001629: POP 0000162a: PUSH1 0x40 0000162c: MLOAD 0000162d: DUP1 0000162e: SWAP2 0000162f: SUB 00001630: SWAP1 00001631: REVERT 00001632: JUMPDEST 00001633: PUSH1 0x60 00001635: PUSH2 0x0876 00001638: DUP5 00001639: DUP5 0000163a: PUSH1 0x00 0000163c: DUP6 0000163d: PUSH1 0x60 0000163f: PUSH2 0x1647 00001642: DUP6 00001643: PUSH2 0x17a9 00001646: JUMP 00001647: JUMPDEST 00001648: PUSH2 0x1698 0000164b: JUMPI 0000164c: PUSH1 0x40 0000164e: DUP1 0000164f: MLOAD 00001650: PUSH3 0x461bcd 00001654: PUSH1 0xe5 00001656: SHL 00001657: DUP2 00001658: MSTORE 00001659: PUSH1 0x20 0000165b: PUSH1 0x04 0000165d: DUP3 0000165e: ADD 0000165f: MSTORE 00001660: PUSH1 0x1d 00001662: PUSH1 0x24 00001664: DUP3 00001665: ADD 00001666: MSTORE 00001667: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00001688: PUSH1 0x44 0000168a: DUP3 0000168b: ADD 0000168c: MSTORE 0000168d: SWAP1 0000168e: MLOAD 0000168f: SWAP1 00001690: DUP2 00001691: SWAP1 00001692: SUB 00001693: PUSH1 0x64 00001695: ADD 00001696: SWAP1 00001697: REVERT 00001698: JUMPDEST 00001699: PUSH1 0x00 0000169b: PUSH1 0x60 0000169d: DUP7 0000169e: PUSH1 0x01 000016a0: PUSH1 0x01 000016a2: PUSH1 0xa0 000016a4: SHL 000016a5: SUB 000016a6: AND 000016a7: DUP6 000016a8: DUP8 000016a9: PUSH1 0x40 000016ab: MLOAD 000016ac: DUP1 000016ad: DUP3 000016ae: DUP1 000016af: MLOAD 000016b0: SWAP1 000016b1: PUSH1 0x20 000016b3: ADD 000016b4: SWAP1 000016b5: DUP1 000016b6: DUP4 000016b7: DUP4 000016b8: JUMPDEST 000016b9: PUSH1 0x20 000016bb: DUP4 000016bc: LT 000016bd: PUSH2 0x16d7 000016c0: JUMPI 000016c1: DUP1 000016c2: MLOAD 000016c3: DUP3 000016c4: MSTORE 000016c5: PUSH1 0x1f 000016c7: NOT 000016c8: SWAP1 000016c9: SWAP3 000016ca: ADD 000016cb: SWAP2 000016cc: PUSH1 0x20 000016ce: SWAP2 000016cf: DUP3 000016d0: ADD 000016d1: SWAP2 000016d2: ADD 000016d3: PUSH2 0x16b8 000016d6: JUMP 000016d7: JUMPDEST 000016d8: PUSH1 0x01 000016da: DUP4 000016db: PUSH1 0x20 000016dd: SUB 000016de: PUSH2 0x0100 000016e1: EXP 000016e2: SUB 000016e3: DUP1 000016e4: NOT 000016e5: DUP3 000016e6: MLOAD 000016e7: AND 000016e8: DUP2 000016e9: DUP5 000016ea: MLOAD 000016eb: AND 000016ec: DUP1 000016ed: DUP3 000016ee: OR 000016ef: DUP6 000016f0: MSTORE 000016f1: POP 000016f2: POP 000016f3: POP 000016f4: POP 000016f5: POP 000016f6: POP 000016f7: SWAP1 000016f8: POP 000016f9: ADD 000016fa: SWAP2 000016fb: POP 000016fc: POP 000016fd: PUSH1 0x00 000016ff: PUSH1 0x40 00001701: MLOAD 00001702: DUP1 00001703: DUP4 00001704: SUB 00001705: DUP2 00001706: DUP6 00001707: DUP8 00001708: GAS 00001709: CALL 0000170a: SWAP3 0000170b: POP 0000170c: POP 0000170d: POP 0000170e: RETURNDATASIZE 0000170f: DUP1 00001710: PUSH1 0x00 00001712: DUP2 00001713: EQ 00001714: PUSH2 0x1739 00001717: JUMPI 00001718: PUSH1 0x40 0000171a: MLOAD 0000171b: SWAP2 0000171c: POP 0000171d: PUSH1 0x1f 0000171f: NOT 00001720: PUSH1 0x3f 00001722: RETURNDATASIZE 00001723: ADD 00001724: AND 00001725: DUP3 00001726: ADD 00001727: PUSH1 0x40 00001729: MSTORE 0000172a: RETURNDATASIZE 0000172b: DUP3 0000172c: MSTORE 0000172d: RETURNDATASIZE 0000172e: PUSH1 0x00 00001730: PUSH1 0x20 00001732: DUP5 00001733: ADD 00001734: RETURNDATACOPY 00001735: PUSH2 0x173e 00001738: JUMP 00001739: JUMPDEST 0000173a: PUSH1 0x60 0000173c: SWAP2 0000173d: POP 0000173e: JUMPDEST 0000173f: POP 00001740: SWAP2 00001741: POP 00001742: SWAP2 00001743: POP 00001744: DUP2 00001745: ISZERO 00001746: PUSH2 0x1752 00001749: JUMPI 0000174a: SWAP2 0000174b: POP 0000174c: PUSH2 0x0876 0000174f: SWAP1 00001750: POP 00001751: JUMP 00001752: JUMPDEST 00001753: DUP1 00001754: MLOAD 00001755: ISZERO 00001756: PUSH2 0x1762 00001759: JUMPI 0000175a: DUP1 0000175b: MLOAD 0000175c: DUP1 0000175d: DUP3 0000175e: PUSH1 0x20 00001760: ADD 00001761: REVERT 00001762: JUMPDEST 00001763: PUSH1 0x40 00001765: MLOAD 00001766: PUSH3 0x461bcd 0000176a: PUSH1 0xe5 0000176c: SHL 0000176d: DUP2 0000176e: MSTORE 0000176f: PUSH1 0x20 00001771: PUSH1 0x04 00001773: DUP3 00001774: ADD 00001775: DUP2 00001776: DUP2 00001777: MSTORE 00001778: DUP7 00001779: MLOAD 0000177a: PUSH1 0x24 0000177c: DUP5 0000177d: ADD 0000177e: MSTORE 0000177f: DUP7 00001780: MLOAD 00001781: DUP8 00001782: SWAP4 00001783: SWAP2 00001784: SWAP3 00001785: DUP4 00001786: SWAP3 00001787: PUSH1 0x44 00001789: ADD 0000178a: SWAP2 0000178b: SWAP1 0000178c: DUP6 0000178d: ADD 0000178e: SWAP1 0000178f: DUP1 00001790: DUP4 00001791: DUP4 00001792: PUSH1 0x00 00001794: DUP4 00001795: ISZERO 00001796: PUSH2 0x13c7 00001799: JUMPI 0000179a: DUP2 0000179b: DUP2 0000179c: ADD 0000179d: MLOAD 0000179e: DUP4 0000179f: DUP3 000017a0: ADD 000017a1: MSTORE 000017a2: PUSH1 0x20 000017a4: ADD 000017a5: PUSH2 0x13af 000017a8: JUMP 000017a9: JUMPDEST 000017aa: EXTCODESIZE 000017ab: ISZERO 000017ac: ISZERO 000017ad: SWAP1 000017ae: JUMP 000017af: JUMPDEST 000017b0: PUSH1 0x40 000017b2: MLOAD 000017b3: DUP1 000017b4: PUSH1 0x80 000017b6: ADD 000017b7: PUSH1 0x40 000017b9: MSTORE 000017ba: DUP1 000017bb: PUSH1 0x04 000017bd: SWAP1 000017be: PUSH1 0x20 000017c0: DUP3 000017c1: MUL 000017c2: DUP1 000017c3: CALLDATASIZE 000017c4: DUP4 000017c5: CALLDATACOPY 000017c6: POP 000017c7: SWAP2 000017c8: SWAP3 000017c9: SWAP2 000017ca: POP 000017cb: POP 000017cc: JUMP 000017cd: INVALID 000017ce: NUMBER 000017cf: PUSH19 0x656469744649463a2053756d2073686f756c64 000017e3: KECCAK256 000017e4: PUSH3 0x652065 000017e8: PUSH18 0x75616c20746f203130304372656469744649 000017fb: CHAINID 000017fc: GASPRICE 000017fd: KECCAK256 000017fe: NUMBER 000017ff: PUSH2 0x6c6c 00001802: PUSH6 0x72206d757374 00001809: KECCAK256 0000180a: PUSH3 0x652053 0000180e: PUSH14 0x61727443726564697420436f6e74 0000181d: PUSH19 0x616374496e697469616c697a61626c653a2063 00001831: PUSH16 0x6e747261637420697320616c72656164 00001842: PUSH26 0x20696e697469616c697a6564536166654d6174683a206d756c74 0000185d: PUSH10 0x706c69636174696f6e20 00001868: PUSH16 0x766572666c6f77437265646974464946 00001879: GASPRICE 0000187a: KECCAK256 0000187b: NUMBER 0000187c: PUSH16 0x6d706f756e6420636f6e747261637420 0000188d: PUSH6 0x72726f724372 00001894: PUSH6 0x646974464946 0000189b: GASPRICE 0000189c: KECCAK256 0000189d: MSTORE 0000189e: PUSH6 0x6465656d2046 000018a5: PUSH2 0x696c 000018a8: PUSH22 0x72652066726f6d20636f6d706f756e64536166654552 000018bf: NUMBER 000018c0: ORIGIN 000018c1: ADDRESS 000018c2: GASPRICE 000018c3: KECCAK256 000018c4: GASLIMIT 000018c5: MSTORE 000018c6: NUMBER 000018c7: ORIGIN 000018c8: ADDRESS 000018c9: KECCAK256 000018ca: PUSH16 0x7065726174696f6e20646964206e6f74 000018db: KECCAK256 000018dc: PUSH20 0x7563636565645361666545524332303a20617070 000018f1: PUSH19 0x6f76652066726f6d206e6f6e2d7a65726f2074 00001905: PUSH16 0x206e6f6e2d7a65726f20616c6c6f7761 00001916: PUSH15 0x6365a2646970667358221220f8ed59 00001926: UNKNOWN(0xC7) 00001927: CREATE2 00001928: UNKNOWN(0xD0) 00001929: UNKNOWN(0xAB) 0000192a: UNKNOWN(0xC1) 0000192b: UNKNOWN(0xB6) 0000192c: REVERT 0000192d: PUSH19 0x04a753d78cfacf3dd4fcf0f7a36d3e575d460f 00001941: UNKNOWN(0xCD) 00001942: JUMP 00001943: PUSH5 0x736f6c6343 00001949: STOP 0000194a: MOD 0000194b: MOD 0000194c: STOP 0000194d: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xbfe0c27e",
"selector": "0xbfe0c27e",
"calldata_variants": [
"0xbfe0c27e",
"0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb915663",
"selector": "0xcb915663",
"calldata_variants": [
"0xcb915663",
"0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5596e0b",
"selector": "0xe5596e0b",
"calldata_variants": [
"0xe5596e0b",
"0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23149c6",
"selector": "0xf23149c6",
"calldata_variants": [
"0xf23149c6",
"0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe113801",
"selector": "0xfe113801",
"calldata_variants": [
"0xfe113801",
"0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85a336c5",
"selector": "0x85a336c5",
"calldata_variants": [
"0x85a336c5",
"0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa281e965",
"selector": "0xa281e965",
"calldata_variants": [
"0xa281e965",
"0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab8cd46c",
"selector": "0xab8cd46c",
"calldata_variants": [
"0xab8cd46c",
"0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1872,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 2541,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 6336,
"type": "tx_origin_used"
},
{
"pc": 6343,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xcab4c278428db6880c2d0dd4c02838f9f1185fa3241db1f4209d9695c3f7e466
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xcab4c278428db6880c2d0dd4c02838f9f1185fa3241db1f4209d9695c3f7e466",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xbfe0c27e",
"selector": "0xbfe0c27e",
"calldata_variants": [
"0xbfe0c27e",
"0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb915663",
"selector": "0xcb915663",
"calldata_variants": [
"0xcb915663",
"0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5596e0b",
"selector": "0xe5596e0b",
"calldata_variants": [
"0xe5596e0b",
"0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23149c6",
"selector": "0xf23149c6",
"calldata_variants": [
"0xf23149c6",
"0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe113801",
"selector": "0xfe113801",
"calldata_variants": [
"0xfe113801",
"0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85a336c5",
"selector": "0x85a336c5",
"calldata_variants": [
"0x85a336c5",
"0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa281e965",
"selector": "0xa281e965",
"calldata_variants": [
"0xa281e965",
"0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab8cd46c",
"selector": "0xab8cd46c",
"calldata_variants": [
"0xab8cd46c",
"0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | auth | codex | Potential authorization using tx.origin | 75 | no | — |
viewevidence_json{
"evidence": "Detector flags tx_origin_used guards at pcs 6336 and 6343; no sink mapping was available, so usage is inferred.",
"locations": [
"pc:0x18C0",
"pc:0x18C7"
],
"recommendation": "Replace tx.origin checks with msg.sender or explicit allowlists; if meta-transactions are needed, use a trusted forwarder pattern (EIP-2771) instead of tx.origin.",
"exploit_scenario": "If a privileged path relies on tx.origin, an attacker can trick an EOA into calling a malicious contract that forwards the call, satisfying the tx.origin check and executing the privileged action."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08
call_targets:
0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730"
],
"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": "0xbfe0c27e",
"selector": "0xbfe0c27e",
"calldata_variants": [
"0xbfe0c27e",
"0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb915663",
"selector": "0xcb915663",
"calldata_variants": [
"0xcb915663",
"0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5596e0b",
"selector": "0xe5596e0b",
"calldata_variants": [
"0xe5596e0b",
"0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23149c6",
"selector": "0xf23149c6",
"calldata_variants": [
"0xf23149c6",
"0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe113801",
"selector": "0xfe113801",
"calldata_variants": [
"0xfe113801",
"0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85a336c5",
"selector": "0x85a336c5",
"calldata_variants": [
"0x85a336c5",
"0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa281e965",
"selector": "0xa281e965",
"calldata_variants": [
"0xa281e965",
"0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab8cd46c",
"selector": "0xab8cd46c",
"calldata_variants": [
"0xab8cd46c",
"0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3380,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3504,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4626,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [
{
"pc": 1872,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 2541,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 6336,
"type": "tx_origin_used"
},
{
"pc": 6343,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 4
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08
call_targets:
0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4dbba4380f21c4a6dca6e33a11569421d34efac367f5aca07c4c02306c236c08",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4b14ddc1b1b4bb3a89d574c2708c609d4e192730"
],
"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": "0xbfe0c27e",
"selector": "0xbfe0c27e",
"calldata_variants": [
"0xbfe0c27e",
"0xbfe0c27e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcb915663",
"selector": "0xcb915663",
"calldata_variants": [
"0xcb915663",
"0xcb9156630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5596e0b",
"selector": "0xe5596e0b",
"calldata_variants": [
"0xe5596e0b",
"0xe5596e0b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf23149c6",
"selector": "0xf23149c6",
"calldata_variants": [
"0xf23149c6",
"0xf23149c60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe113801",
"selector": "0xfe113801",
"calldata_variants": [
"0xfe113801",
"0xfe1138010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x85a336c5",
"selector": "0x85a336c5",
"calldata_variants": [
"0x85a336c5",
"0x85a336c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa281e965",
"selector": "0xa281e965",
"calldata_variants": [
"0xa281e965",
"0xa281e9650000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xab8cd46c",
"selector": "0xab8cd46c",
"calldata_variants": [
"0xab8cd46c",
"0xab8cd46c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3380,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3504,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4626,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": [
{
"pc": 1872,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 2541,
"type": "msg_sender_eq_const",
"value": 2.8389620141085504e+47
},
{
"pc": 6336,
"type": "tx_origin_used"
},
{
"pc": 6343,
"type": "tx_origin_used"
}
]
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| low | other | codex | CREATE2 opcode present and potentially reachable | 65 | no | — |
viewevidence_json{
"evidence": "CREATE2 appears in a basic block starting at pc 6094; detector marked CREATE/CREATE2 reachable but unvalidated.",
"locations": [
"pc:0x17CE"
],
"recommendation": "Ensure CREATE2 paths are restricted to trusted callers and validate init code/salt; document intended factory behavior.",
"exploit_scenario": "If any public entrypoint can reach CREATE2 with attacker-controlled init code/salt, an attacker could deploy arbitrary contracts or bypass assumptions about trusted deployments."
}
|
| low | other | codex | CALLs with computed target/value; external-call risk unclear | 65 | no | — |
viewevidence_json{
"evidence": "CALL callsites at pcs 3380/3504/4626/5897 use computed target/value and have unknown returndata checks; dynamic trace suggests a constant target to self, so impact is uncertain.",
"locations": [
"pc:0x0D34",
"pc:0x0DB0",
"pc:0x1212",
"pc:0x1709"
],
"recommendation": "Confirm CALL targets are trusted/constant; add explicit return checks and reentrancy guards if any CALL can reach untrusted contracts.",
"exploit_scenario": "If these CALLs can reach untrusted addresses, a malicious callee could reenter or cause unexpected behavior; missing explicit return-data checks could mask failures."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 9
}
|