019bb377-6988-7237-b1cc-14a9ae159ea2
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 |
|---|---|---|---|---|
| 39790 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 39791 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 39792 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 39793 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 39794 | capability.graph | complete | 1 / 3 | 3 months ago |
| 39795 | detector.run | complete | 1 / 3 | 3 months ago |
| 39796 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39951 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows multiple external CALLs to computed targets (some with non‑zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.","findings":[{"severity":"medium","category":"other","title":"Computed-target CALLs with possible ETH value transfer","exploit_scenario":"If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control.","recommendation":"Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects‑before‑interactions.","evidence":"Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.","locations":["pc:0xE8","pc:0x20B","pc:0x559","pc:0x5C3","pc:0x66C"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-r4ob7ura
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb383-6834-71e0-b843-2b58299d863c
--------
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 file**
exec
/bin/bash -lc ls in /tmp/codex-r4ob7ura succeeded in 6ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-r4ob7ura succeeded in 6ms:
{
"analysis_artifact": {
"address": "0xee895136f60984ad428830eb622f9e1f91a13a45",
"artifact_hash": "0x008ab4ecbe7c10bceba25cef3224dd894021afe0b41ba034cf580cb8609bc1da",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0xf47ff7d5391d54f9850297717da618d2b3dc432df9d6895ec8b78ca2b9a65730",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Analyzing bytecode for security patterns**
exec
/bin/bash -lc 'rg -n "storage|slot|selector|proxy|delegatecall|eip1967|beacon|implementation" BYTECODE_BUNDLE.json | head -n 200' in /tmp/codex-r4ob7ura succeeded in 16ms:
6480: "dispatcher_type": "selector_jump_table",
6484: "selector": "0x2c00b718"
6488: "selector": "0x90619853"
6492: "selector": "0xa5518ac9"
6496: "selector": "0xffffffff"
6505: "selector": "0x2c00b718",
6508: "delegatecall": 0,
6512: "storage": {
6514: "slots": [
6518: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6523: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6528: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
6533: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6538: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6543: "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
6548: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6553: "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
6558: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6563: "slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
6568: "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
thinking
**Checking storage and selector details**
exec
/bin/bash -lc "sed -n '6460,6925p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 17ms:
"to": "bb:4259",
"type": "control_flow"
},
{
"from": "bb:4228",
"to": "bb:4255",
"type": "control_flow_fallthrough"
},
{
"from": "bb:4267",
"to": "bb:579",
"type": "control_flow"
},
{
"from": "bb:4267",
"to": "bb:4284",
"type": "control_flow_fallthrough"
}
],
"cfg_hash": "0xeed66c0f725a5ada0dc78f8b7871d48838ca336c6af199ee94f254024e14c860",
thinking
**Analyzing on-chain contract bytecode and behavior**
I'm examining the runtime bytecode to infer key functions and their interaction with Uniswap V2 pairs, noting owner checks via storage slot 0 and several external calls for token operations. The contract seems owner-restricted with no storage writes, potentially a router or aggregator interacting with tokens and pairs, paying special attention to possible reentrancy and untrusted calls despite the absence of state changes.
thinking
**Evaluating external calls and potential risks**
I’m carefully reviewing multiple external CALL instructions with computed targets and possible ETH transfer, weighing the presence of owner checks versus missing guard detection, and considering how untrusted inputs might enable arbitrary calls or reentrancy effects despite no storage writes. The uncertainty around access control and call target sources leads me to highlight these as cautious medium-to-low severity concerns.
thinking
**Reviewing analysis artifact for call evidence**
exec
/bin/bash -lc 'rg -n "evidence|callsites|callsite" BYTECODE_BUNDLE.json | head -n 100' in /tmp/codex-r4ob7ura succeeded in 14ms:
5008: "callsites": [
6908: "proxy_evidence": {
10377: "type": "callsite"
10383: "type": "callsite"
10389: "type": "callsite"
10395: "type": "callsite"
10401: "type": "callsite"
10407: "type": "callsite"
10413: "type": "callsite"
10419: "type": "callsite"
10425: "type": "callsite"
10431: "type": "callsite"
10437: "type": "callsite"
10443: "type": "callsite"
10449: "type": "callsite"
10455: "type": "callsite"
10461: "type": "callsite"
10467: "type": "callsite"
10511: "evidence_json": {
10563: "evidence_json": {
exec
/bin/bash -lc "sed -n '4980,5060p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 8ms:
"CODECOPY",
"OP_EF",
"OP_E7",
"XOR",
"PUSH26",
"STOP"
],
"start_pc": 4289
},
{
"end_pc": 4340,
"hash": "0xa75c30fad7f1a5d71af1f114d952694ae9c6209ed5e36458e53670d7c5ccfcaa",
"opcodes": [
"SMOD",
"ADD",
"STOP"
],
"start_pc": 4338
},
{
exec
/bin/bash -lc "sed -n '5060,5135p' BYTECODE_BUNDLE.json" in /tmp/codex-r4ob7ura succeeded in 28ms:
"pc": 1369,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1475,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
"opcode": "CALL",
"pc": 1644,
"returndata_checked": null,
"target_expression_category": "computed",
"value_expression_category": "computed"
},
{
thinking
**Summarizing potential vulnerabilities and findings**
I’m organizing the main findings around untrusted external CALLs with computed targets and possible ETH value transfers, noting medium severity due to access control uncertainty. I'll include evidence from detector findings and specific program counters while acknowledging guard checks found in bytecode yet inconclusive for full coverage. The output will follow the JSON schema, combining details about exploit scenarios, recommendations, and context about absent proxy/upgrade patterns.
codex
{"no_findings":false,"summary":"Bytecode shows multiple external CALLs to computed targets (some with non‑zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.","findings":[{"severity":"medium","category":"other","title":"Computed-target CALLs with possible ETH value transfer","exploit_scenario":"If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control.","recommendation":"Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects‑before‑interactions.","evidence":"Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.","locations":["pc:0xE8","pc:0x20B","pc:0x559","pc:0x5C3","pc:0x66C"]}]}
tokens used
43,860
{
"codex": {
"ran_at": "2026-01-12T18:45:36.666744+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 8686,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows multiple external CALLs to computed targets (some with non\u2011zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.",
"raw_final": {
"summary": "Bytecode shows multiple external CALLs to computed targets (some with non\u2011zero value possible). No delegatecall or proxy pattern detected. Access-control heuristics are inconclusive; owner-style checks appear in bytecode but are not confirmed by the detector, so reachability of these CALLs is uncertain.",
"findings": [
{
"title": "Computed-target CALLs with possible ETH value transfer",
"category": "other",
"evidence": "Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.",
"severity": "medium",
"locations": [
"pc:0xE8",
"pc:0x20B",
"pc:0x559",
"pc:0x5C3",
"pc:0x66C"
],
"recommendation": "Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects\u2011before\u2011interactions.",
"exploit_scenario": "If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0034 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x2c00b718 00000019: EQ 0000001a: PUSH2 0x0039 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x90619853 00000024: EQ 00000025: PUSH2 0x0063 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xa5518ac9 0000002f: EQ 00000030: PUSH2 0x0085 00000033: JUMPI 00000034: JUMPDEST 00000035: PUSH1 0x00 00000037: DUP1 00000038: REVERT 00000039: JUMPDEST 0000003a: PUSH2 0x004c 0000003d: PUSH2 0x0047 00000040: CALLDATASIZE 00000041: PUSH1 0x04 00000043: PUSH2 0x0d7b 00000046: JUMP 00000047: JUMPDEST 00000048: PUSH2 0x00a5 0000004b: JUMP 0000004c: JUMPDEST 0000004d: PUSH1 0x40 0000004f: MLOAD 00000050: PUSH2 0x005a 00000053: SWAP3 00000054: SWAP2 00000055: SWAP1 00000056: PUSH2 0x0ee5 00000059: JUMP 0000005a: JUMPDEST 0000005b: PUSH1 0x40 0000005d: MLOAD 0000005e: DUP1 0000005f: SWAP2 00000060: SUB 00000061: SWAP1 00000062: RETURN 00000063: JUMPDEST 00000064: CALLVALUE 00000065: DUP1 00000066: ISZERO 00000067: PUSH2 0x006f 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: POP 00000071: PUSH2 0x0083 00000074: PUSH2 0x007e 00000077: CALLDATASIZE 00000078: PUSH1 0x04 0000007a: PUSH2 0x0c38 0000007d: JUMP 0000007e: JUMPDEST 0000007f: PUSH2 0x012b 00000082: JUMP 00000083: JUMPDEST 00000084: STOP 00000085: JUMPDEST 00000086: CALLVALUE 00000087: DUP1 00000088: ISZERO 00000089: PUSH2 0x0091 0000008c: JUMPI 0000008d: PUSH1 0x00 0000008f: DUP1 00000090: REVERT 00000091: JUMPDEST 00000092: POP 00000093: PUSH2 0x0083 00000096: PUSH2 0x00a0 00000099: CALLDATASIZE 0000009a: PUSH1 0x04 0000009c: PUSH2 0x0dff 0000009f: JUMP 000000a0: JUMPDEST 000000a1: PUSH2 0x0246 000000a4: JUMP 000000a5: JUMPDEST 000000a6: PUSH1 0x00 000000a8: DUP1 000000a9: SLOAD 000000aa: PUSH1 0x60 000000ac: SWAP1 000000ad: PUSH1 0x01 000000af: PUSH1 0x01 000000b1: PUSH1 0xa0 000000b3: SHL 000000b4: SUB 000000b5: AND 000000b6: CALLER 000000b7: EQ 000000b8: PUSH2 0x00c0 000000bb: JUMPI 000000bc: PUSH1 0x00 000000be: DUP1 000000bf: REVERT 000000c0: JUMPDEST 000000c1: DUP5 000000c2: PUSH1 0x01 000000c4: PUSH1 0x01 000000c6: PUSH1 0xa0 000000c8: SHL 000000c9: SUB 000000ca: AND 000000cb: DUP7 000000cc: DUP6 000000cd: DUP6 000000ce: PUSH1 0x40 000000d0: MLOAD 000000d1: PUSH2 0x00db 000000d4: SWAP3 000000d5: SWAP2 000000d6: SWAP1 000000d7: PUSH2 0x0ea7 000000da: JUMP 000000db: JUMPDEST 000000dc: PUSH1 0x00 000000de: PUSH1 0x40 000000e0: MLOAD 000000e1: DUP1 000000e2: DUP4 000000e3: SUB 000000e4: DUP2 000000e5: DUP6 000000e6: DUP8 000000e7: GAS 000000e8: CALL 000000e9: SWAP3 000000ea: POP 000000eb: POP 000000ec: POP 000000ed: RETURNDATASIZE 000000ee: DUP1 000000ef: PUSH1 0x00 000000f1: DUP2 000000f2: EQ 000000f3: PUSH2 0x0118 000000f6: JUMPI 000000f7: PUSH1 0x40 000000f9: MLOAD 000000fa: SWAP2 000000fb: POP 000000fc: PUSH1 0x1f 000000fe: NOT 000000ff: PUSH1 0x3f 00000101: RETURNDATASIZE 00000102: ADD 00000103: AND 00000104: DUP3 00000105: ADD 00000106: PUSH1 0x40 00000108: MSTORE 00000109: RETURNDATASIZE 0000010a: DUP3 0000010b: MSTORE 0000010c: RETURNDATASIZE 0000010d: PUSH1 0x00 0000010f: PUSH1 0x20 00000111: DUP5 00000112: ADD 00000113: RETURNDATACOPY 00000114: PUSH2 0x011d 00000117: JUMP 00000118: JUMPDEST 00000119: PUSH1 0x60 0000011b: SWAP2 0000011c: POP 0000011d: JUMPDEST 0000011e: POP 0000011f: SWAP2 00000120: POP 00000121: SWAP2 00000122: POP 00000123: SWAP5 00000124: POP 00000125: SWAP5 00000126: SWAP3 00000127: POP 00000128: POP 00000129: POP 0000012a: JUMP 0000012b: JUMPDEST 0000012c: PUSH1 0x00 0000012e: SLOAD 0000012f: PUSH1 0x01 00000131: PUSH1 0x01 00000133: PUSH1 0xa0 00000135: SHL 00000136: SUB 00000137: AND 00000138: CALLER 00000139: EQ 0000013a: PUSH2 0x0142 0000013d: JUMPI 0000013e: PUSH1 0x00 00000140: DUP1 00000141: REVERT 00000142: JUMPDEST 00000143: PUSH1 0x40 00000145: MLOAD 00000146: PUSH4 0x70a08231 0000014b: PUSH1 0xe0 0000014d: SHL 0000014e: DUP2 0000014f: MSTORE 00000150: PUSH1 0x01 00000152: PUSH1 0x01 00000154: PUSH1 0xa0 00000156: SHL 00000157: SUB 00000158: DUP3 00000159: AND 0000015a: SWAP1 0000015b: PUSH4 0x70a08231 00000160: SWAP1 00000161: PUSH2 0x016e 00000164: SWAP1 00000165: DUP5 00000166: SWAP1 00000167: PUSH1 0x04 00000169: ADD 0000016a: PUSH2 0x0eb7 0000016d: JUMP 0000016e: JUMPDEST 0000016f: PUSH1 0x20 00000171: PUSH1 0x40 00000173: MLOAD 00000174: DUP1 00000175: DUP4 00000176: SUB 00000177: DUP2 00000178: DUP7 00000179: DUP1 0000017a: EXTCODESIZE 0000017b: ISZERO 0000017c: DUP1 0000017d: ISZERO 0000017e: PUSH2 0x0186 00000181: JUMPI 00000182: PUSH1 0x00 00000184: DUP1 00000185: REVERT 00000186: JUMPDEST 00000187: POP 00000188: GAS 00000189: STATICCALL 0000018a: ISZERO 0000018b: DUP1 0000018c: ISZERO 0000018d: PUSH2 0x019a 00000190: JUMPI 00000191: RETURNDATASIZE 00000192: PUSH1 0x00 00000194: DUP1 00000195: RETURNDATACOPY 00000196: RETURNDATASIZE 00000197: PUSH1 0x00 00000199: REVERT 0000019a: JUMPDEST 0000019b: POP 0000019c: POP 0000019d: POP 0000019e: POP 0000019f: PUSH1 0x40 000001a1: MLOAD 000001a2: RETURNDATASIZE 000001a3: PUSH1 0x1f 000001a5: NOT 000001a6: PUSH1 0x1f 000001a8: DUP3 000001a9: ADD 000001aa: AND 000001ab: DUP3 000001ac: ADD 000001ad: DUP1 000001ae: PUSH1 0x40 000001b0: MSTORE 000001b1: POP 000001b2: DUP2 000001b3: ADD 000001b4: SWAP1 000001b5: PUSH2 0x01be 000001b8: SWAP2 000001b9: SWAP1 000001ba: PUSH2 0x0d63 000001bd: JUMP 000001be: JUMPDEST 000001bf: ISZERO 000001c0: PUSH2 0x0243 000001c3: JUMPI 000001c4: PUSH1 0x40 000001c6: MLOAD 000001c7: PUSH4 0x226bf2d1 000001cc: PUSH1 0xe2 000001ce: SHL 000001cf: DUP2 000001d0: MSTORE 000001d1: PUSH1 0x01 000001d3: PUSH1 0x01 000001d5: PUSH1 0xa0 000001d7: SHL 000001d8: SUB 000001d9: DUP3 000001da: AND 000001db: SWAP1 000001dc: PUSH4 0x89afcb44 000001e1: SWAP1 000001e2: PUSH2 0x01ef 000001e5: SWAP1 000001e6: ADDRESS 000001e7: SWAP1 000001e8: PUSH1 0x04 000001ea: ADD 000001eb: PUSH2 0x0eb7 000001ee: JUMP 000001ef: JUMPDEST 000001f0: PUSH1 0x40 000001f2: DUP1 000001f3: MLOAD 000001f4: DUP1 000001f5: DUP4 000001f6: SUB 000001f7: DUP2 000001f8: PUSH1 0x00 000001fa: DUP8 000001fb: DUP1 000001fc: EXTCODESIZE 000001fd: ISZERO 000001fe: DUP1 000001ff: ISZERO 00000200: PUSH2 0x0208 00000203: JUMPI 00000204: PUSH1 0x00 00000206: DUP1 00000207: REVERT 00000208: JUMPDEST 00000209: POP 0000020a: GAS 0000020b: CALL 0000020c: ISZERO 0000020d: DUP1 0000020e: ISZERO 0000020f: PUSH2 0x021c 00000212: JUMPI 00000213: RETURNDATASIZE 00000214: PUSH1 0x00 00000216: DUP1 00000217: RETURNDATACOPY 00000218: RETURNDATASIZE 00000219: PUSH1 0x00 0000021b: REVERT 0000021c: JUMPDEST 0000021d: POP 0000021e: POP 0000021f: POP 00000220: POP 00000221: PUSH1 0x40 00000223: MLOAD 00000224: RETURNDATASIZE 00000225: PUSH1 0x1f 00000227: NOT 00000228: PUSH1 0x1f 0000022a: DUP3 0000022b: ADD 0000022c: AND 0000022d: DUP3 0000022e: ADD 0000022f: DUP1 00000230: PUSH1 0x40 00000232: MSTORE 00000233: POP 00000234: DUP2 00000235: ADD 00000236: SWAP1 00000237: PUSH2 0x0240 0000023a: SWAP2 0000023b: SWAP1 0000023c: PUSH2 0x0e39 0000023f: JUMP 00000240: JUMPDEST 00000241: POP 00000242: POP 00000243: JUMPDEST 00000244: POP 00000245: JUMP 00000246: JUMPDEST 00000247: PUSH1 0x00 00000249: SLOAD 0000024a: PUSH1 0x01 0000024c: PUSH1 0x01 0000024e: PUSH1 0xa0 00000250: SHL 00000251: SUB 00000252: AND 00000253: CALLER 00000254: EQ 00000255: PUSH2 0x025d 00000258: JUMPI 00000259: PUSH1 0x00 0000025b: DUP1 0000025c: REVERT 0000025d: JUMPDEST 0000025e: PUSH1 0x00 00000260: DUP1 00000261: DUP4 00000262: PUSH1 0x01 00000264: PUSH1 0x01 00000266: PUSH1 0xa0 00000268: SHL 00000269: SUB 0000026a: AND 0000026b: PUSH4 0x0902f1ac 00000270: PUSH1 0x40 00000272: MLOAD 00000273: DUP2 00000274: PUSH4 0xffffffff 00000279: AND 0000027a: PUSH1 0xe0 0000027c: SHL 0000027d: DUP2 0000027e: MSTORE 0000027f: PUSH1 0x04 00000281: ADD 00000282: PUSH1 0x60 00000284: PUSH1 0x40 00000286: MLOAD 00000287: DUP1 00000288: DUP4 00000289: SUB 0000028a: DUP2 0000028b: DUP7 0000028c: DUP1 0000028d: EXTCODESIZE 0000028e: ISZERO 0000028f: DUP1 00000290: ISZERO 00000291: PUSH2 0x0299 00000294: JUMPI 00000295: PUSH1 0x00 00000297: DUP1 00000298: REVERT 00000299: JUMPDEST 0000029a: POP 0000029b: GAS 0000029c: STATICCALL 0000029d: ISZERO 0000029e: DUP1 0000029f: ISZERO 000002a0: PUSH2 0x02ad 000002a3: JUMPI 000002a4: RETURNDATASIZE 000002a5: PUSH1 0x00 000002a7: DUP1 000002a8: RETURNDATACOPY 000002a9: RETURNDATASIZE 000002aa: PUSH1 0x00 000002ac: REVERT 000002ad: JUMPDEST 000002ae: POP 000002af: POP 000002b0: POP 000002b1: POP 000002b2: PUSH1 0x40 000002b4: MLOAD 000002b5: RETURNDATASIZE 000002b6: PUSH1 0x1f 000002b8: NOT 000002b9: PUSH1 0x1f 000002bb: DUP3 000002bc: ADD 000002bd: AND 000002be: DUP3 000002bf: ADD 000002c0: DUP1 000002c1: PUSH1 0x40 000002c3: MSTORE 000002c4: POP 000002c5: DUP2 000002c6: ADD 000002c7: SWAP1 000002c8: PUSH2 0x02d1 000002cb: SWAP2 000002cc: SWAP1 000002cd: PUSH2 0x0d13 000002d0: JUMP 000002d1: JUMPDEST 000002d2: POP 000002d3: SWAP1 000002d4: SWAP3 000002d5: POP 000002d6: SWAP1 000002d7: POP 000002d8: PUSH1 0x00 000002da: PUSH1 0x01 000002dc: DUP5 000002dd: ISZERO 000002de: ISZERO 000002df: EQ 000002e0: PUSH2 0x0359 000002e3: JUMPI 000002e4: DUP5 000002e5: PUSH1 0x01 000002e7: PUSH1 0x01 000002e9: PUSH1 0xa0 000002eb: SHL 000002ec: SUB 000002ed: AND 000002ee: PUSH4 0xd21220a7 000002f3: PUSH1 0x40 000002f5: MLOAD 000002f6: DUP2 000002f7: PUSH4 0xffffffff 000002fc: AND 000002fd: PUSH1 0xe0 000002ff: SHL 00000300: DUP2 00000301: MSTORE 00000302: PUSH1 0x04 00000304: ADD 00000305: PUSH1 0x20 00000307: PUSH1 0x40 00000309: MLOAD 0000030a: DUP1 0000030b: DUP4 0000030c: SUB 0000030d: DUP2 0000030e: DUP7 0000030f: DUP1 00000310: EXTCODESIZE 00000311: ISZERO 00000312: DUP1 00000313: ISZERO 00000314: PUSH2 0x031c 00000317: JUMPI 00000318: PUSH1 0x00 0000031a: DUP1 0000031b: REVERT 0000031c: JUMPDEST 0000031d: POP 0000031e: GAS 0000031f: STATICCALL 00000320: ISZERO 00000321: DUP1 00000322: ISZERO 00000323: PUSH2 0x0330 00000326: JUMPI 00000327: RETURNDATASIZE 00000328: PUSH1 0x00 0000032a: DUP1 0000032b: RETURNDATACOPY 0000032c: RETURNDATASIZE 0000032d: PUSH1 0x00 0000032f: REVERT 00000330: JUMPDEST 00000331: POP 00000332: POP 00000333: POP 00000334: POP 00000335: PUSH1 0x40 00000337: MLOAD 00000338: RETURNDATASIZE 00000339: PUSH1 0x1f 0000033b: NOT 0000033c: PUSH1 0x1f 0000033e: DUP3 0000033f: ADD 00000340: AND 00000341: DUP3 00000342: ADD 00000343: DUP1 00000344: PUSH1 0x40 00000346: MSTORE 00000347: POP 00000348: DUP2 00000349: ADD 0000034a: SWAP1 0000034b: PUSH2 0x0354 0000034e: SWAP2 0000034f: SWAP1 00000350: PUSH2 0x0c54 00000353: JUMP 00000354: JUMPDEST 00000355: PUSH2 0x03ca 00000358: JUMP 00000359: JUMPDEST 0000035a: DUP5 0000035b: PUSH1 0x01 0000035d: PUSH1 0x01 0000035f: PUSH1 0xa0 00000361: SHL 00000362: SUB 00000363: AND 00000364: PUSH4 0x0dfe1681 00000369: PUSH1 0x40 0000036b: MLOAD 0000036c: DUP2 0000036d: PUSH4 0xffffffff 00000372: AND 00000373: PUSH1 0xe0 00000375: SHL 00000376: DUP2 00000377: MSTORE 00000378: PUSH1 0x04 0000037a: ADD 0000037b: PUSH1 0x20 0000037d: PUSH1 0x40 0000037f: MLOAD 00000380: DUP1 00000381: DUP4 00000382: SUB 00000383: DUP2 00000384: DUP7 00000385: DUP1 00000386: EXTCODESIZE 00000387: ISZERO 00000388: DUP1 00000389: ISZERO 0000038a: PUSH2 0x0392 0000038d: JUMPI 0000038e: PUSH1 0x00 00000390: DUP1 00000391: REVERT 00000392: JUMPDEST 00000393: POP 00000394: GAS 00000395: STATICCALL 00000396: ISZERO 00000397: DUP1 00000398: ISZERO 00000399: PUSH2 0x03a6 0000039c: JUMPI 0000039d: RETURNDATASIZE 0000039e: PUSH1 0x00 000003a0: DUP1 000003a1: RETURNDATACOPY 000003a2: RETURNDATASIZE 000003a3: PUSH1 0x00 000003a5: REVERT 000003a6: JUMPDEST 000003a7: POP 000003a8: POP 000003a9: POP 000003aa: POP 000003ab: PUSH1 0x40 000003ad: MLOAD 000003ae: RETURNDATASIZE 000003af: PUSH1 0x1f 000003b1: NOT 000003b2: PUSH1 0x1f 000003b4: DUP3 000003b5: ADD 000003b6: AND 000003b7: DUP3 000003b8: ADD 000003b9: DUP1 000003ba: PUSH1 0x40 000003bc: MSTORE 000003bd: POP 000003be: DUP2 000003bf: ADD 000003c0: SWAP1 000003c1: PUSH2 0x03ca 000003c4: SWAP2 000003c5: SWAP1 000003c6: PUSH2 0x0c54 000003c9: JUMP 000003ca: JUMPDEST 000003cb: SWAP1 000003cc: POP 000003cd: PUSH1 0x00 000003cf: PUSH1 0x01 000003d1: DUP6 000003d2: ISZERO 000003d3: ISZERO 000003d4: EQ 000003d5: PUSH2 0x03de 000003d8: JUMPI 000003d9: DUP3 000003da: PUSH2 0x03e0 000003dd: JUMP 000003de: JUMPDEST 000003df: DUP4 000003e0: JUMPDEST 000003e1: SWAP1 000003e2: POP 000003e3: PUSH1 0x00 000003e5: DUP3 000003e6: PUSH1 0x01 000003e8: PUSH1 0x01 000003ea: PUSH1 0xa0 000003ec: SHL 000003ed: SUB 000003ee: AND 000003ef: PUSH4 0x70a08231 000003f4: DUP9 000003f5: PUSH1 0x40 000003f7: MLOAD 000003f8: DUP3 000003f9: PUSH4 0xffffffff 000003fe: AND 000003ff: PUSH1 0xe0 00000401: SHL 00000402: DUP2 00000403: MSTORE 00000404: PUSH1 0x04 00000406: ADD 00000407: PUSH2 0x0410 0000040a: SWAP2 0000040b: SWAP1 0000040c: PUSH2 0x0eb7 0000040f: JUMP 00000410: JUMPDEST 00000411: PUSH1 0x20 00000413: PUSH1 0x40 00000415: MLOAD 00000416: DUP1 00000417: DUP4 00000418: SUB 00000419: DUP2 0000041a: DUP7 0000041b: DUP1 0000041c: EXTCODESIZE 0000041d: ISZERO 0000041e: DUP1 0000041f: ISZERO 00000420: PUSH2 0x0428 00000423: JUMPI 00000424: PUSH1 0x00 00000426: DUP1 00000427: REVERT 00000428: JUMPDEST 00000429: POP 0000042a: GAS 0000042b: STATICCALL 0000042c: ISZERO 0000042d: DUP1 0000042e: ISZERO 0000042f: PUSH2 0x043c 00000432: JUMPI 00000433: RETURNDATASIZE 00000434: PUSH1 0x00 00000436: DUP1 00000437: RETURNDATACOPY 00000438: RETURNDATASIZE 00000439: PUSH1 0x00 0000043b: REVERT 0000043c: JUMPDEST 0000043d: POP 0000043e: POP 0000043f: POP 00000440: POP 00000441: PUSH1 0x40 00000443: MLOAD 00000444: RETURNDATASIZE 00000445: PUSH1 0x1f 00000447: NOT 00000448: PUSH1 0x1f 0000044a: DUP3 0000044b: ADD 0000044c: AND 0000044d: DUP3 0000044e: ADD 0000044f: DUP1 00000450: PUSH1 0x40 00000452: MSTORE 00000453: POP 00000454: DUP2 00000455: ADD 00000456: SWAP1 00000457: PUSH2 0x0460 0000045a: SWAP2 0000045b: SWAP1 0000045c: PUSH2 0x0d63 0000045f: JUMP 00000460: JUMPDEST 00000461: SWAP1 00000462: POP 00000463: DUP2 00000464: PUSH1 0x01 00000466: PUSH1 0x01 00000468: PUSH1 0x70 0000046a: SHL 0000046b: SUB 0000046c: AND 0000046d: DUP2 0000046e: GT 0000046f: PUSH2 0x047c 00000472: JUMPI 00000473: POP 00000474: POP 00000475: POP 00000476: POP 00000477: POP 00000478: PUSH2 0x0240 0000047b: JUMP 0000047c: JUMPDEST 0000047d: PUSH1 0x01 0000047f: SLOAD 00000480: PUSH1 0x01 00000482: PUSH1 0x01 00000484: PUSH1 0x70 00000486: SHL 00000487: SUB 00000488: DUP4 00000489: AND 0000048a: DUP3 0000048b: SUB 0000048c: SWAP1 0000048d: PUSH1 0x01 0000048f: PUSH1 0x01 00000491: PUSH1 0xa0 00000493: SHL 00000494: SUB 00000495: DUP6 00000496: DUP2 00000497: AND 00000498: SWAP2 00000499: AND 0000049a: EQ 0000049b: ISZERO 0000049c: PUSH2 0x04ca 0000049f: JUMPI 000004a0: DUP9 000004a1: DUP2 000004a2: LT 000004a3: ISZERO 000004a4: PUSH2 0x04b2 000004a7: JUMPI 000004a8: POP 000004a9: POP 000004aa: POP 000004ab: POP 000004ac: POP 000004ad: POP 000004ae: PUSH2 0x0240 000004b1: JUMP 000004b2: JUMPDEST 000004b3: PUSH2 0x04bf 000004b6: DUP9 000004b7: DUP9 000004b8: PUSH1 0x00 000004ba: DUP5 000004bb: PUSH2 0x04e2 000004be: JUMP 000004bf: JUMPDEST 000004c0: POP 000004c1: POP 000004c2: POP 000004c3: POP 000004c4: POP 000004c5: POP 000004c6: PUSH2 0x0240 000004c9: JUMP 000004ca: JUMPDEST 000004cb: PUSH2 0x04d7 000004ce: DUP5 000004cf: DUP3 000004d0: DUP11 000004d1: DUP11 000004d2: DUP14 000004d3: PUSH2 0x068a 000004d6: JUMP 000004d7: JUMPDEST 000004d8: POP 000004d9: POP 000004da: POP 000004db: POP 000004dc: POP 000004dd: POP 000004de: POP 000004df: POP 000004e0: POP 000004e1: JUMP 000004e2: JUMPDEST 000004e3: PUSH1 0x40 000004e5: DUP1 000004e6: MLOAD 000004e7: PUSH1 0x20 000004e9: DUP2 000004ea: ADD 000004eb: SWAP1 000004ec: SWAP2 000004ed: MSTORE 000004ee: PUSH1 0x00 000004f0: DUP2 000004f1: MSTORE 000004f2: PUSH1 0x64 000004f4: PUSH1 0x62 000004f6: DUP4 000004f7: MUL 000004f8: DIV 000004f9: SWAP1 000004fa: DUP5 000004fb: ISZERO 000004fc: ISZERO 000004fd: PUSH1 0x01 000004ff: EQ 00000500: ISZERO 00000501: PUSH2 0x05de 00000504: JUMPI 00000505: DUP4 00000506: PUSH2 0x0573 00000509: JUMPI 0000050a: PUSH1 0x40 0000050c: MLOAD 0000050d: PUSH4 0x022c0d9f 00000512: PUSH1 0xe0 00000514: SHL 00000515: DUP2 00000516: MSTORE 00000517: PUSH1 0x01 00000519: PUSH1 0x01 0000051b: PUSH1 0xa0 0000051d: SHL 0000051e: SUB 0000051f: DUP8 00000520: AND 00000521: SWAP1 00000522: PUSH4 0x022c0d9f 00000527: SWAP1 00000528: PUSH2 0x053c 0000052b: SWAP1 0000052c: DUP6 0000052d: SWAP1 0000052e: PUSH1 0x00 00000530: SWAP1 00000531: ADDRESS 00000532: SWAP1 00000533: DUP8 00000534: SWAP1 00000535: PUSH1 0x04 00000537: ADD 00000538: PUSH2 0x0f08 0000053b: JUMP 0000053c: JUMPDEST 0000053d: PUSH1 0x00 0000053f: PUSH1 0x40 00000541: MLOAD 00000542: DUP1 00000543: DUP4 00000544: SUB 00000545: DUP2 00000546: PUSH1 0x00 00000548: DUP8 00000549: DUP1 0000054a: EXTCODESIZE 0000054b: ISZERO 0000054c: DUP1 0000054d: ISZERO 0000054e: PUSH2 0x0556 00000551: JUMPI 00000552: PUSH1 0x00 00000554: DUP1 00000555: REVERT 00000556: JUMPDEST 00000557: POP 00000558: GAS 00000559: CALL 0000055a: ISZERO 0000055b: DUP1 0000055c: ISZERO 0000055d: PUSH2 0x056a 00000560: JUMPI 00000561: RETURNDATASIZE 00000562: PUSH1 0x00 00000564: DUP1 00000565: RETURNDATACOPY 00000566: RETURNDATASIZE 00000567: PUSH1 0x00 00000569: REVERT 0000056a: JUMPDEST 0000056b: POP 0000056c: POP 0000056d: POP 0000056e: POP 0000056f: PUSH2 0x05d9 00000572: JUMP 00000573: JUMPDEST 00000574: PUSH1 0x40 00000576: MLOAD 00000577: PUSH4 0x022c0d9f 0000057c: PUSH1 0xe0 0000057e: SHL 0000057f: DUP2 00000580: MSTORE 00000581: PUSH1 0x01 00000583: PUSH1 0x01 00000585: PUSH1 0xa0 00000587: SHL 00000588: SUB 00000589: DUP8 0000058a: AND 0000058b: SWAP1 0000058c: PUSH4 0x022c0d9f 00000591: SWAP1 00000592: PUSH2 0x05a6 00000595: SWAP1 00000596: PUSH1 0x00 00000598: SWAP1 00000599: DUP7 0000059a: SWAP1 0000059b: ADDRESS 0000059c: SWAP1 0000059d: DUP8 0000059e: SWAP1 0000059f: PUSH1 0x04 000005a1: ADD 000005a2: PUSH2 0x0f08 000005a5: JUMP 000005a6: JUMPDEST 000005a7: PUSH1 0x00 000005a9: PUSH1 0x40 000005ab: MLOAD 000005ac: DUP1 000005ad: DUP4 000005ae: SUB 000005af: DUP2 000005b0: PUSH1 0x00 000005b2: DUP8 000005b3: DUP1 000005b4: EXTCODESIZE 000005b5: ISZERO 000005b6: DUP1 000005b7: ISZERO 000005b8: PUSH2 0x05c0 000005bb: JUMPI 000005bc: PUSH1 0x00 000005be: DUP1 000005bf: REVERT 000005c0: JUMPDEST 000005c1: POP 000005c2: GAS 000005c3: CALL 000005c4: ISZERO 000005c5: DUP1 000005c6: ISZERO 000005c7: PUSH2 0x05d4 000005ca: JUMPI 000005cb: RETURNDATASIZE 000005cc: PUSH1 0x00 000005ce: DUP1 000005cf: RETURNDATACOPY 000005d0: RETURNDATASIZE 000005d1: PUSH1 0x00 000005d3: REVERT 000005d4: JUMPDEST 000005d5: POP 000005d6: POP 000005d7: POP 000005d8: POP 000005d9: JUMPDEST 000005da: PUSH2 0x0682 000005dd: JUMP 000005de: JUMPDEST 000005df: PUSH1 0x01 000005e1: DUP5 000005e2: ISZERO 000005e3: ISZERO 000005e4: EQ 000005e5: ISZERO 000005e6: PUSH2 0x061c 000005e9: JUMPI 000005ea: PUSH1 0x40 000005ec: MLOAD 000005ed: PUSH4 0x022c0d9f 000005f2: PUSH1 0xe0 000005f4: SHL 000005f5: DUP2 000005f6: MSTORE 000005f7: PUSH1 0x01 000005f9: PUSH1 0x01 000005fb: PUSH1 0xa0 000005fd: SHL 000005fe: SUB 000005ff: DUP8 00000600: AND 00000601: SWAP1 00000602: PUSH4 0x022c0d9f 00000607: SWAP1 00000608: PUSH2 0x05a6 0000060b: SWAP1 0000060c: DUP6 0000060d: SWAP1 0000060e: PUSH1 0x00 00000610: SWAP1 00000611: ADDRESS 00000612: SWAP1 00000613: DUP8 00000614: SWAP1 00000615: PUSH1 0x04 00000617: ADD 00000618: PUSH2 0x0f08 0000061b: JUMP 0000061c: JUMPDEST 0000061d: PUSH1 0x40 0000061f: MLOAD 00000620: PUSH4 0x022c0d9f 00000625: PUSH1 0xe0 00000627: SHL 00000628: DUP2 00000629: MSTORE 0000062a: PUSH1 0x01 0000062c: PUSH1 0x01 0000062e: PUSH1 0xa0 00000630: SHL 00000631: SUB 00000632: DUP8 00000633: AND 00000634: SWAP1 00000635: PUSH4 0x022c0d9f 0000063a: SWAP1 0000063b: PUSH2 0x064f 0000063e: SWAP1 0000063f: PUSH1 0x00 00000641: SWAP1 00000642: DUP7 00000643: SWAP1 00000644: ADDRESS 00000645: SWAP1 00000646: DUP8 00000647: SWAP1 00000648: PUSH1 0x04 0000064a: ADD 0000064b: PUSH2 0x0f08 0000064e: JUMP 0000064f: JUMPDEST 00000650: PUSH1 0x00 00000652: PUSH1 0x40 00000654: MLOAD 00000655: DUP1 00000656: DUP4 00000657: SUB 00000658: DUP2 00000659: PUSH1 0x00 0000065b: DUP8 0000065c: DUP1 0000065d: EXTCODESIZE 0000065e: ISZERO 0000065f: DUP1 00000660: ISZERO 00000661: PUSH2 0x0669 00000664: JUMPI 00000665: PUSH1 0x00 00000667: DUP1 00000668: REVERT 00000669: JUMPDEST 0000066a: POP 0000066b: GAS 0000066c: CALL 0000066d: ISZERO 0000066e: DUP1 0000066f: ISZERO 00000670: PUSH2 0x067d 00000673: JUMPI 00000674: RETURNDATASIZE 00000675: PUSH1 0x00 00000677: DUP1 00000678: RETURNDATACOPY 00000679: RETURNDATASIZE 0000067a: PUSH1 0x00 0000067c: REVERT 0000067d: JUMPDEST 0000067e: POP 0000067f: POP 00000680: POP 00000681: POP 00000682: JUMPDEST 00000683: POP 00000684: POP 00000685: POP 00000686: POP 00000687: POP 00000688: POP 00000689: JUMP 0000068a: JUMPDEST 0000068b: PUSH1 0x00 0000068d: PUSH1 0x01 0000068f: DUP4 00000690: ISZERO 00000691: ISZERO 00000692: EQ 00000693: PUSH2 0x070c 00000696: JUMPI 00000697: DUP4 00000698: PUSH1 0x01 0000069a: PUSH1 0x01 0000069c: PUSH1 0xa0 0000069e: SHL 0000069f: SUB 000006a0: AND 000006a1: PUSH4 0x0dfe1681 000006a6: PUSH1 0x40 000006a8: MLOAD 000006a9: DUP2 000006aa: PUSH4 0xffffffff 000006af: AND 000006b0: PUSH1 0xe0 000006b2: SHL 000006b3: DUP2 000006b4: MSTORE 000006b5: PUSH1 0x04 000006b7: ADD 000006b8: PUSH1 0x20 000006ba: PUSH1 0x40 000006bc: MLOAD 000006bd: DUP1 000006be: DUP4 000006bf: SUB 000006c0: DUP2 000006c1: DUP7 000006c2: DUP1 000006c3: EXTCODESIZE 000006c4: ISZERO 000006c5: DUP1 000006c6: ISZERO 000006c7: PUSH2 0x06cf 000006ca: JUMPI 000006cb: PUSH1 0x00 000006cd: DUP1 000006ce: REVERT 000006cf: JUMPDEST 000006d0: POP 000006d1: GAS 000006d2: STATICCALL 000006d3: ISZERO 000006d4: DUP1 000006d5: ISZERO 000006d6: PUSH2 0x06e3 000006d9: JUMPI 000006da: RETURNDATASIZE 000006db: PUSH1 0x00 000006dd: DUP1 000006de: RETURNDATACOPY 000006df: RETURNDATASIZE 000006e0: PUSH1 0x00 000006e2: REVERT 000006e3: JUMPDEST 000006e4: POP 000006e5: POP 000006e6: POP 000006e7: POP 000006e8: PUSH1 0x40 000006ea: MLOAD 000006eb: RETURNDATASIZE 000006ec: PUSH1 0x1f 000006ee: NOT 000006ef: PUSH1 0x1f 000006f1: DUP3 000006f2: ADD 000006f3: AND 000006f4: DUP3 000006f5: ADD 000006f6: DUP1 000006f7: PUSH1 0x40 000006f9: MSTORE 000006fa: POP 000006fb: DUP2 000006fc: ADD 000006fd: SWAP1 000006fe: PUSH2 0x0707 00000701: SWAP2 00000702: SWAP1 00000703: PUSH2 0x0c54 00000706: JUMP 00000707: JUMPDEST 00000708: PUSH2 0x077d 0000070b: JUMP 0000070c: JUMPDEST 0000070d: DUP4 0000070e: PUSH1 0x01 00000710: PUSH1 0x01 00000712: PUSH1 0xa0 00000714: SHL 00000715: SUB 00000716: AND 00000717: PUSH4 0xd21220a7 0000071c: PUSH1 0x40 0000071e: MLOAD 0000071f: DUP2 00000720: PUSH4 0xffffffff 00000725: AND 00000726: PUSH1 0xe0 00000728: SHL 00000729: DUP2 0000072a: MSTORE 0000072b: PUSH1 0x04 0000072d: ADD 0000072e: PUSH1 0x20 00000730: PUSH1 0x40 00000732: MLOAD 00000733: DUP1 00000734: DUP4 00000735: SUB 00000736: DUP2 00000737: DUP7 00000738: DUP1 00000739: EXTCODESIZE 0000073a: ISZERO 0000073b: DUP1 0000073c: ISZERO 0000073d: PUSH2 0x0745 00000740: JUMPI 00000741: PUSH1 0x00 00000743: DUP1 00000744: REVERT 00000745: JUMPDEST 00000746: POP 00000747: GAS 00000748: STATICCALL 00000749: ISZERO 0000074a: DUP1 0000074b: ISZERO 0000074c: PUSH2 0x0759 0000074f: JUMPI 00000750: RETURNDATASIZE 00000751: PUSH1 0x00 00000753: DUP1 00000754: RETURNDATACOPY 00000755: RETURNDATASIZE 00000756: PUSH1 0x00 00000758: REVERT 00000759: JUMPDEST 0000075a: POP 0000075b: POP 0000075c: POP 0000075d: POP 0000075e: PUSH1 0x40 00000760: MLOAD 00000761: RETURNDATASIZE 00000762: PUSH1 0x1f 00000764: NOT 00000765: PUSH1 0x1f 00000767: DUP3 00000768: ADD 00000769: AND 0000076a: DUP3 0000076b: ADD 0000076c: DUP1 0000076d: PUSH1 0x40 0000076f: MSTORE 00000770: POP 00000771: DUP2 00000772: ADD 00000773: SWAP1 00000774: PUSH2 0x077d 00000777: SWAP2 00000778: SWAP1 00000779: PUSH2 0x0c54 0000077c: JUMP 0000077d: JUMPDEST 0000077e: SWAP1 0000077f: POP 00000780: PUSH1 0x00 00000782: DUP1 00000783: DUP1 00000784: DUP7 00000785: PUSH1 0x01 00000787: PUSH1 0x01 00000789: PUSH1 0xa0 0000078b: SHL 0000078c: SUB 0000078d: AND 0000078e: PUSH4 0x0902f1ac 00000793: PUSH1 0x40 00000795: MLOAD 00000796: DUP2 00000797: PUSH4 0xffffffff 0000079c: AND 0000079d: PUSH1 0xe0 0000079f: SHL 000007a0: DUP2 000007a1: MSTORE 000007a2: PUSH1 0x04 000007a4: ADD 000007a5: PUSH1 0x60 000007a7: PUSH1 0x40 000007a9: MLOAD 000007aa: DUP1 000007ab: DUP4 000007ac: SUB 000007ad: DUP2 000007ae: DUP7 000007af: DUP1 000007b0: EXTCODESIZE 000007b1: ISZERO 000007b2: DUP1 000007b3: ISZERO 000007b4: PUSH2 0x07bc 000007b7: JUMPI 000007b8: PUSH1 0x00 000007ba: DUP1 000007bb: REVERT 000007bc: JUMPDEST 000007bd: POP 000007be: GAS 000007bf: STATICCALL 000007c0: ISZERO 000007c1: DUP1 000007c2: ISZERO 000007c3: PUSH2 0x07d0 000007c6: JUMPI 000007c7: RETURNDATASIZE 000007c8: PUSH1 0x00 000007ca: DUP1 000007cb: RETURNDATACOPY 000007cc: RETURNDATASIZE 000007cd: PUSH1 0x00 000007cf: REVERT 000007d0: JUMPDEST 000007d1: POP 000007d2: POP 000007d3: POP 000007d4: POP 000007d5: PUSH1 0x40 000007d7: MLOAD 000007d8: RETURNDATASIZE 000007d9: PUSH1 0x1f 000007db: NOT 000007dc: PUSH1 0x1f 000007de: DUP3 000007df: ADD 000007e0: AND 000007e1: DUP3 000007e2: ADD 000007e3: DUP1 000007e4: PUSH1 0x40 000007e6: MSTORE 000007e7: POP 000007e8: DUP2 000007e9: ADD 000007ea: SWAP1 000007eb: PUSH2 0x07f4 000007ee: SWAP2 000007ef: SWAP1 000007f0: PUSH2 0x0d13 000007f3: JUMP 000007f4: JUMPDEST 000007f5: POP 000007f6: SWAP1 000007f7: SWAP3 000007f8: POP 000007f9: SWAP1 000007fa: POP 000007fb: PUSH1 0x01 000007fd: DUP7 000007fe: ISZERO 000007ff: ISZERO 00000800: EQ 00000801: ISZERO 00000802: PUSH2 0x0829 00000805: JUMPI 00000806: PUSH2 0x0822 00000809: DUP9 0000080a: DUP4 0000080b: PUSH1 0x01 0000080d: PUSH1 0x01 0000080f: PUSH1 0x70 00000811: SHL 00000812: SUB 00000813: AND 00000814: DUP4 00000815: PUSH1 0x01 00000817: PUSH1 0x01 00000819: PUSH1 0x70 0000081b: SHL 0000081c: SUB 0000081d: AND 0000081e: PUSH2 0x09ee 00000821: JUMP 00000822: JUMPDEST 00000823: SWAP3 00000824: POP 00000825: PUSH2 0x0849 00000828: JUMP 00000829: JUMPDEST 0000082a: PUSH2 0x0846 0000082d: DUP9 0000082e: DUP3 0000082f: PUSH1 0x01 00000831: PUSH1 0x01 00000833: PUSH1 0x70 00000835: SHL 00000836: SUB 00000837: AND 00000838: DUP5 00000839: PUSH1 0x01 0000083b: PUSH1 0x01 0000083d: PUSH1 0x70 0000083f: SHL 00000840: SUB 00000841: AND 00000842: PUSH2 0x09ee 00000845: JUMP 00000846: JUMPDEST 00000847: SWAP3 00000848: POP 00000849: JUMPDEST 0000084a: PUSH1 0x01 0000084c: SLOAD 0000084d: PUSH1 0x01 0000084f: PUSH1 0x01 00000851: PUSH1 0xa0 00000853: SHL 00000854: SUB 00000855: DUP6 00000856: DUP2 00000857: AND 00000858: SWAP2 00000859: AND 0000085a: EQ 0000085b: ISZERO 0000085c: PUSH2 0x0886 0000085f: JUMPI 00000860: DUP5 00000861: DUP4 00000862: LT 00000863: ISZERO 00000864: PUSH2 0x0870 00000867: JUMPI 00000868: POP 00000869: POP 0000086a: POP 0000086b: POP 0000086c: PUSH2 0x09e7 0000086f: JUMP 00000870: JUMPDEST 00000871: PUSH2 0x087d 00000874: DUP8 00000875: DUP8 00000876: PUSH1 0x01 00000878: DUP7 00000879: PUSH2 0x04e2 0000087c: JUMP 0000087d: JUMPDEST 0000087e: POP 0000087f: POP 00000880: POP 00000881: POP 00000882: PUSH2 0x09e7 00000885: JUMP 00000886: JUMPDEST 00000887: PUSH1 0x03 00000889: SLOAD 0000088a: PUSH1 0x01 0000088c: SLOAD 0000088d: PUSH1 0x40 0000088f: MLOAD 00000890: PUSH4 0xe6a43905 00000895: PUSH1 0xe0 00000897: SHL 00000898: DUP2 00000899: MSTORE 0000089a: PUSH1 0x00 0000089c: SWAP3 0000089d: PUSH1 0x01 0000089f: PUSH1 0x01 000008a1: PUSH1 0xa0 000008a3: SHL 000008a4: SUB 000008a5: SWAP1 000008a6: DUP2 000008a7: AND 000008a8: SWAP3 000008a9: PUSH4 0xe6a43905 000008ae: SWAP3 000008af: PUSH2 0x08be 000008b2: SWAP3 000008b3: DUP11 000008b4: SWAP3 000008b5: AND 000008b6: SWAP1 000008b7: PUSH1 0x04 000008b9: ADD 000008ba: PUSH2 0x0ecb 000008bd: JUMP 000008be: JUMPDEST 000008bf: PUSH1 0x20 000008c1: PUSH1 0x40 000008c3: MLOAD 000008c4: DUP1 000008c5: DUP4 000008c6: SUB 000008c7: DUP2 000008c8: DUP7 000008c9: DUP1 000008ca: EXTCODESIZE 000008cb: ISZERO 000008cc: DUP1 000008cd: ISZERO 000008ce: PUSH2 0x08d6 000008d1: JUMPI 000008d2: PUSH1 0x00 000008d4: DUP1 000008d5: REVERT 000008d6: JUMPDEST 000008d7: POP 000008d8: GAS 000008d9: STATICCALL 000008da: ISZERO 000008db: DUP1 000008dc: ISZERO 000008dd: PUSH2 0x08ea 000008e0: JUMPI 000008e1: RETURNDATASIZE 000008e2: PUSH1 0x00 000008e4: DUP1 000008e5: RETURNDATACOPY 000008e6: RETURNDATASIZE 000008e7: PUSH1 0x00 000008e9: REVERT 000008ea: JUMPDEST 000008eb: POP 000008ec: POP 000008ed: POP 000008ee: POP 000008ef: PUSH1 0x40 000008f1: MLOAD 000008f2: RETURNDATASIZE 000008f3: PUSH1 0x1f 000008f5: NOT 000008f6: PUSH1 0x1f 000008f8: DUP3 000008f9: ADD 000008fa: AND 000008fb: DUP3 000008fc: ADD 000008fd: DUP1 000008fe: PUSH1 0x40 00000900: MSTORE 00000901: POP 00000902: DUP2 00000903: ADD 00000904: SWAP1 00000905: PUSH2 0x090e 00000908: SWAP2 00000909: SWAP1 0000090a: PUSH2 0x0c54 0000090d: JUMP 0000090e: JUMPDEST 0000090f: PUSH1 0x01 00000911: PUSH1 0x01 00000913: PUSH1 0xa0 00000915: SHL 00000916: SUB 00000917: AND 00000918: EQ 00000919: PUSH2 0x0939 0000091c: JUMPI 0000091d: PUSH2 0x0927 00000920: DUP5 00000921: DUP5 00000922: DUP8 00000923: PUSH2 0x0a91 00000926: JUMP 00000927: JUMPDEST 00000928: ISZERO 00000929: PUSH2 0x087d 0000092c: JUMPI 0000092d: PUSH2 0x087d 00000930: DUP8 00000931: DUP8 00000932: PUSH1 0x01 00000934: DUP7 00000935: PUSH2 0x04e2 00000938: JUMP 00000939: JUMPDEST 0000093a: PUSH1 0x03 0000093c: SLOAD 0000093d: PUSH1 0x01 0000093f: SLOAD 00000940: PUSH1 0x40 00000942: MLOAD 00000943: PUSH4 0xe6a43905 00000948: PUSH1 0xe0 0000094a: SHL 0000094b: DUP2 0000094c: MSTORE 0000094d: PUSH1 0x00 0000094f: SWAP3 00000950: PUSH1 0x01 00000952: PUSH1 0x01 00000954: PUSH1 0xa0 00000956: SHL 00000957: SUB 00000958: SWAP1 00000959: DUP2 0000095a: AND 0000095b: SWAP3 0000095c: PUSH4 0xe6a43905 00000961: SWAP3 00000962: PUSH2 0x0971 00000965: SWAP3 00000966: DUP16 00000967: SWAP3 00000968: AND 00000969: SWAP1 0000096a: PUSH1 0x04 0000096c: ADD 0000096d: PUSH2 0x0ecb 00000970: JUMP 00000971: JUMPDEST 00000972: PUSH1 0x20 00000974: PUSH1 0x40 00000976: MLOAD 00000977: DUP1 00000978: DUP4 00000979: SUB 0000097a: DUP2 0000097b: DUP7 0000097c: DUP1 0000097d: EXTCODESIZE 0000097e: ISZERO 0000097f: DUP1 00000980: ISZERO 00000981: PUSH2 0x0989 00000984: JUMPI 00000985: PUSH1 0x00 00000987: DUP1 00000988: REVERT 00000989: JUMPDEST 0000098a: POP 0000098b: GAS 0000098c: STATICCALL 0000098d: ISZERO 0000098e: DUP1 0000098f: ISZERO 00000990: PUSH2 0x099d 00000993: JUMPI 00000994: RETURNDATASIZE 00000995: PUSH1 0x00 00000997: DUP1 00000998: RETURNDATACOPY 00000999: RETURNDATASIZE 0000099a: PUSH1 0x00 0000099c: REVERT 0000099d: JUMPDEST 0000099e: POP 0000099f: POP 000009a0: POP 000009a1: POP 000009a2: PUSH1 0x40 000009a4: MLOAD 000009a5: RETURNDATASIZE 000009a6: PUSH1 0x1f 000009a8: NOT 000009a9: PUSH1 0x1f 000009ab: DUP3 000009ac: ADD 000009ad: AND 000009ae: DUP3 000009af: ADD 000009b0: DUP1 000009b1: PUSH1 0x40 000009b3: MSTORE 000009b4: POP 000009b5: DUP2 000009b6: ADD 000009b7: SWAP1 000009b8: PUSH2 0x09c1 000009bb: SWAP2 000009bc: SWAP1 000009bd: PUSH2 0x0c54 000009c0: JUMP 000009c1: JUMPDEST 000009c2: PUSH1 0x01 000009c4: PUSH1 0x01 000009c6: PUSH1 0xa0 000009c8: SHL 000009c9: SUB 000009ca: AND 000009cb: EQ 000009cc: PUSH2 0x09da 000009cf: JUMPI 000009d0: PUSH2 0x0927 000009d3: DUP10 000009d4: DUP10 000009d5: DUP8 000009d6: PUSH2 0x0a91 000009d9: JUMP 000009da: JUMPDEST 000009db: PUSH2 0x04d7 000009de: DUP8 000009df: DUP8 000009e0: PUSH1 0x00 000009e2: DUP12 000009e3: PUSH2 0x04e2 000009e6: JUMP 000009e7: JUMPDEST 000009e8: POP 000009e9: POP 000009ea: POP 000009eb: POP 000009ec: POP 000009ed: JUMP 000009ee: JUMPDEST 000009ef: PUSH1 0x00 000009f1: DUP1 000009f2: DUP5 000009f3: GT 000009f4: PUSH2 0x0a18 000009f7: JUMPI 000009f8: PUSH1 0x40 000009fa: MLOAD 000009fb: PUSH3 0x461bcd 000009ff: PUSH1 0xe5 00000a01: SHL 00000a02: DUP2 00000a03: MSTORE 00000a04: PUSH1 0x04 00000a06: ADD 00000a07: PUSH2 0x0a0f 00000a0a: SWAP1 00000a0b: PUSH2 0x0fe3 00000a0e: JUMP 00000a0f: JUMPDEST 00000a10: PUSH1 0x40 00000a12: MLOAD 00000a13: DUP1 00000a14: SWAP2 00000a15: SUB 00000a16: SWAP1 00000a17: REVERT 00000a18: JUMPDEST 00000a19: PUSH1 0x00 00000a1b: DUP4 00000a1c: GT 00000a1d: DUP1 00000a1e: ISZERO 00000a1f: PUSH2 0x0a28 00000a22: JUMPI 00000a23: POP 00000a24: PUSH1 0x00 00000a26: DUP3 00000a27: GT 00000a28: JUMPDEST 00000a29: PUSH2 0x0a44 00000a2c: JUMPI 00000a2d: PUSH1 0x40 00000a2f: MLOAD 00000a30: PUSH3 0x461bcd 00000a34: PUSH1 0xe5 00000a36: SHL 00000a37: DUP2 00000a38: MSTORE 00000a39: PUSH1 0x04 00000a3b: ADD 00000a3c: PUSH2 0x0a0f 00000a3f: SWAP1 00000a40: PUSH2 0x0f9b 00000a43: JUMP 00000a44: JUMPDEST 00000a45: PUSH1 0x00 00000a47: PUSH2 0x0a52 00000a4a: DUP6 00000a4b: PUSH2 0x03e5 00000a4e: PUSH2 0x0bc1 00000a51: JUMP 00000a52: JUMPDEST 00000a53: SWAP1 00000a54: POP 00000a55: PUSH1 0x00 00000a57: PUSH2 0x0a60 00000a5a: DUP3 00000a5b: DUP6 00000a5c: PUSH2 0x0bc1 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: SWAP1 00000a62: POP 00000a63: PUSH1 0x00 00000a65: PUSH2 0x0a7a 00000a68: DUP4 00000a69: PUSH2 0x0a74 00000a6c: DUP9 00000a6d: PUSH2 0x03e8 00000a70: PUSH2 0x0bc1 00000a73: JUMP 00000a74: JUMPDEST 00000a75: SWAP1 00000a76: PUSH2 0x0bfe 00000a79: JUMP 00000a7a: JUMPDEST 00000a7b: SWAP1 00000a7c: POP 00000a7d: DUP1 00000a7e: DUP3 00000a7f: DUP2 00000a80: PUSH2 0x0a85 00000a83: JUMPI 00000a84: INVALID 00000a85: JUMPDEST 00000a86: DIV 00000a87: SWAP8 00000a88: SWAP7 00000a89: POP 00000a8a: POP 00000a8b: POP 00000a8c: POP 00000a8d: POP 00000a8e: POP 00000a8f: POP 00000a90: JUMP 00000a91: JUMPDEST 00000a92: PUSH1 0x40 00000a94: DUP1 00000a95: MLOAD 00000a96: PUSH1 0x02 00000a98: DUP1 00000a99: DUP3 00000a9a: MSTORE 00000a9b: PUSH1 0x60 00000a9d: DUP1 00000a9e: DUP4 00000a9f: ADD 00000aa0: DUP5 00000aa1: MSTORE 00000aa2: PUSH1 0x00 00000aa4: SWAP4 00000aa5: SWAP1 00000aa6: SWAP3 00000aa7: SWAP2 00000aa8: SWAP1 00000aa9: PUSH1 0x20 00000aab: DUP4 00000aac: ADD 00000aad: SWAP1 00000aae: DUP1 00000aaf: CALLDATASIZE 00000ab0: DUP4 00000ab1: CALLDATACOPY 00000ab2: ADD 00000ab3: SWAP1 00000ab4: POP 00000ab5: POP 00000ab6: SWAP1 00000ab7: POP 00000ab8: DUP5 00000ab9: DUP2 00000aba: PUSH1 0x00 00000abc: DUP2 00000abd: MLOAD 00000abe: DUP2 00000abf: LT 00000ac0: PUSH2 0x0ac5 00000ac3: JUMPI 00000ac4: INVALID 00000ac5: JUMPDEST 00000ac6: PUSH1 0x01 00000ac8: PUSH1 0x01 00000aca: PUSH1 0xa0 00000acc: SHL 00000acd: SUB 00000ace: SWAP3 00000acf: DUP4 00000ad0: AND 00000ad1: PUSH1 0x20 00000ad3: SWAP2 00000ad4: DUP3 00000ad5: MUL 00000ad6: SWAP3 00000ad7: SWAP1 00000ad8: SWAP3 00000ad9: ADD 00000ada: ADD 00000adb: MSTORE 00000adc: PUSH1 0x01 00000ade: DUP1 00000adf: SLOAD 00000ae0: DUP4 00000ae1: MLOAD 00000ae2: SWAP3 00000ae3: AND 00000ae4: SWAP2 00000ae5: DUP4 00000ae6: SWAP2 00000ae7: SWAP1 00000ae8: DUP2 00000ae9: LT 00000aea: PUSH2 0x0aef 00000aed: JUMPI 00000aee: INVALID 00000aef: JUMPDEST 00000af0: PUSH1 0x01 00000af2: PUSH1 0x01 00000af4: PUSH1 0xa0 00000af6: SHL 00000af7: SUB 00000af8: SWAP3 00000af9: DUP4 00000afa: AND 00000afb: PUSH1 0x20 00000afd: SWAP2 00000afe: DUP3 00000aff: MUL 00000b00: SWAP3 00000b01: SWAP1 00000b02: SWAP3 00000b03: ADD 00000b04: ADD 00000b05: MSTORE 00000b06: PUSH1 0x02 00000b08: SLOAD 00000b09: PUSH1 0x40 00000b0b: MLOAD 00000b0c: PUSH4 0xd06ca61f 00000b11: PUSH1 0xe0 00000b13: SHL 00000b14: DUP2 00000b15: MSTORE 00000b16: PUSH1 0x60 00000b18: SWAP3 00000b19: SWAP2 00000b1a: SWAP1 00000b1b: SWAP2 00000b1c: AND 00000b1d: SWAP1 00000b1e: PUSH4 0xd06ca61f 00000b23: SWAP1 00000b24: PUSH2 0x0b33 00000b27: SWAP1 00000b28: DUP9 00000b29: SWAP1 00000b2a: DUP7 00000b2b: SWAP1 00000b2c: PUSH1 0x04 00000b2e: ADD 00000b2f: PUSH2 0x102e 00000b32: JUMP 00000b33: JUMPDEST 00000b34: PUSH1 0x00 00000b36: PUSH1 0x40 00000b38: MLOAD 00000b39: DUP1 00000b3a: DUP4 00000b3b: SUB 00000b3c: DUP2 00000b3d: DUP7 00000b3e: DUP1 00000b3f: EXTCODESIZE 00000b40: ISZERO 00000b41: DUP1 00000b42: ISZERO 00000b43: PUSH2 0x0b4b 00000b46: JUMPI 00000b47: PUSH1 0x00 00000b49: DUP1 00000b4a: REVERT 00000b4b: JUMPDEST 00000b4c: POP 00000b4d: GAS 00000b4e: STATICCALL 00000b4f: ISZERO 00000b50: DUP1 00000b51: ISZERO 00000b52: PUSH2 0x0b5f 00000b55: JUMPI 00000b56: RETURNDATASIZE 00000b57: PUSH1 0x00 00000b59: DUP1 00000b5a: RETURNDATACOPY 00000b5b: RETURNDATASIZE 00000b5c: PUSH1 0x00 00000b5e: REVERT 00000b5f: JUMPDEST 00000b60: POP 00000b61: POP 00000b62: POP 00000b63: POP 00000b64: PUSH1 0x40 00000b66: MLOAD 00000b67: RETURNDATASIZE 00000b68: PUSH1 0x00 00000b6a: DUP3 00000b6b: RETURNDATACOPY 00000b6c: PUSH1 0x1f 00000b6e: RETURNDATASIZE 00000b6f: SWAP1 00000b70: DUP2 00000b71: ADD 00000b72: PUSH1 0x1f 00000b74: NOT 00000b75: AND 00000b76: DUP3 00000b77: ADD 00000b78: PUSH1 0x40 00000b7a: MSTORE 00000b7b: PUSH2 0x0b87 00000b7e: SWAP2 00000b7f: SWAP1 00000b80: DUP2 00000b81: ADD 00000b82: SWAP1 00000b83: PUSH2 0x0c70 00000b86: JUMP 00000b87: JUMPDEST 00000b88: SWAP1 00000b89: POP 00000b8a: DUP4 00000b8b: DUP2 00000b8c: PUSH1 0x01 00000b8e: DUP4 00000b8f: MLOAD 00000b90: SUB 00000b91: DUP2 00000b92: MLOAD 00000b93: DUP2 00000b94: LT 00000b95: PUSH2 0x0b9a 00000b98: JUMPI 00000b99: INVALID 00000b9a: JUMPDEST 00000b9b: PUSH1 0x20 00000b9d: MUL 00000b9e: PUSH1 0x20 00000ba0: ADD 00000ba1: ADD 00000ba2: MLOAD 00000ba3: GT 00000ba4: ISZERO 00000ba5: PUSH2 0x0bb3 00000ba8: JUMPI 00000ba9: PUSH1 0x01 00000bab: SWAP3 00000bac: POP 00000bad: POP 00000bae: POP 00000baf: PUSH2 0x0bba 00000bb2: JUMP 00000bb3: JUMPDEST 00000bb4: PUSH1 0x00 00000bb6: SWAP3 00000bb7: POP 00000bb8: POP 00000bb9: POP 00000bba: JUMPDEST 00000bbb: SWAP4 00000bbc: SWAP3 00000bbd: POP 00000bbe: POP 00000bbf: POP 00000bc0: JUMP 00000bc1: JUMPDEST 00000bc2: PUSH1 0x00 00000bc4: DUP2 00000bc5: ISZERO 00000bc6: DUP1 00000bc7: PUSH2 0x0bdc 00000bca: JUMPI 00000bcb: POP 00000bcc: POP 00000bcd: DUP1 00000bce: DUP3 00000bcf: MUL 00000bd0: DUP3 00000bd1: DUP3 00000bd2: DUP3 00000bd3: DUP2 00000bd4: PUSH2 0x0bd9 00000bd7: JUMPI 00000bd8: INVALID 00000bd9: JUMPDEST 00000bda: DIV 00000bdb: EQ 00000bdc: JUMPDEST 00000bdd: PUSH2 0x0bf8 00000be0: JUMPI 00000be1: PUSH1 0x40 00000be3: MLOAD 00000be4: PUSH3 0x461bcd 00000be8: PUSH1 0xe5 00000bea: SHL 00000beb: DUP2 00000bec: MSTORE 00000bed: PUSH1 0x04 00000bef: ADD 00000bf0: PUSH2 0x0a0f 00000bf3: SWAP1 00000bf4: PUSH2 0x0f3f 00000bf7: JUMP 00000bf8: JUMPDEST 00000bf9: SWAP3 00000bfa: SWAP2 00000bfb: POP 00000bfc: POP 00000bfd: JUMP 00000bfe: JUMPDEST 00000bff: DUP1 00000c00: DUP3 00000c01: ADD 00000c02: DUP3 00000c03: DUP2 00000c04: LT 00000c05: ISZERO 00000c06: PUSH2 0x0bf8 00000c09: JUMPI 00000c0a: PUSH1 0x40 00000c0c: MLOAD 00000c0d: PUSH3 0x461bcd 00000c11: PUSH1 0xe5 00000c13: SHL 00000c14: DUP2 00000c15: MSTORE 00000c16: PUSH1 0x04 00000c18: ADD 00000c19: PUSH2 0x0a0f 00000c1c: SWAP1 00000c1d: PUSH2 0x0f6d 00000c20: JUMP 00000c21: JUMPDEST 00000c22: DUP1 00000c23: MLOAD 00000c24: PUSH1 0x01 00000c26: PUSH1 0x01 00000c28: PUSH1 0x70 00000c2a: SHL 00000c2b: SUB 00000c2c: DUP2 00000c2d: AND 00000c2e: DUP2 00000c2f: EQ 00000c30: PUSH2 0x0bf8 00000c33: JUMPI 00000c34: PUSH1 0x00 00000c36: DUP1 00000c37: REVERT 00000c38: JUMPDEST 00000c39: PUSH1 0x00 00000c3b: PUSH1 0x20 00000c3d: DUP3 00000c3e: DUP5 00000c3f: SUB 00000c40: SLT 00000c41: ISZERO 00000c42: PUSH2 0x0c49 00000c45: JUMPI 00000c46: DUP1 00000c47: DUP2 00000c48: REVERT 00000c49: JUMPDEST 00000c4a: DUP2 00000c4b: CALLDATALOAD 00000c4c: PUSH2 0x0bba 00000c4f: DUP2 00000c50: PUSH2 0x10ab 00000c53: JUMP 00000c54: JUMPDEST 00000c55: PUSH1 0x00 00000c57: PUSH1 0x20 00000c59: DUP3 00000c5a: DUP5 00000c5b: SUB 00000c5c: SLT 00000c5d: ISZERO 00000c5e: PUSH2 0x0c65 00000c61: JUMPI 00000c62: DUP1 00000c63: DUP2 00000c64: REVERT 00000c65: JUMPDEST 00000c66: DUP2 00000c67: MLOAD 00000c68: PUSH2 0x0bba 00000c6b: DUP2 00000c6c: PUSH2 0x10ab 00000c6f: JUMP 00000c70: JUMPDEST 00000c71: PUSH1 0x00 00000c73: PUSH1 0x20 00000c75: DUP1 00000c76: DUP4 00000c77: DUP6 00000c78: SUB 00000c79: SLT 00000c7a: ISZERO 00000c7b: PUSH2 0x0c82 00000c7e: JUMPI 00000c7f: DUP2 00000c80: DUP3 00000c81: REVERT 00000c82: JUMPDEST 00000c83: DUP3 00000c84: MLOAD 00000c85: PUSH8 0xffffffffffffffff 00000c8e: DUP1 00000c8f: DUP3 00000c90: GT 00000c91: ISZERO 00000c92: PUSH2 0x0c99 00000c95: JUMPI 00000c96: DUP4 00000c97: DUP5 00000c98: REVERT 00000c99: JUMPDEST 00000c9a: DUP2 00000c9b: DUP6 00000c9c: ADD 00000c9d: SWAP2 00000c9e: POP 00000c9f: DUP6 00000ca0: PUSH1 0x1f 00000ca2: DUP4 00000ca3: ADD 00000ca4: SLT 00000ca5: PUSH2 0x0cac 00000ca8: JUMPI 00000ca9: DUP4 00000caa: DUP5 00000cab: REVERT 00000cac: JUMPDEST 00000cad: DUP2 00000cae: MLOAD 00000caf: DUP2 00000cb0: DUP2 00000cb1: GT 00000cb2: ISZERO 00000cb3: PUSH2 0x0cba 00000cb6: JUMPI 00000cb7: DUP5 00000cb8: DUP6 00000cb9: REVERT 00000cba: JUMPDEST 00000cbb: DUP4 00000cbc: DUP2 00000cbd: MUL 00000cbe: SWAP2 00000cbf: POP 00000cc0: PUSH2 0x0cca 00000cc3: DUP5 00000cc4: DUP4 00000cc5: ADD 00000cc6: PUSH2 0x1084 00000cc9: JUMP 00000cca: JUMPDEST 00000ccb: DUP2 00000ccc: DUP2 00000ccd: MSTORE 00000cce: DUP5 00000ccf: DUP2 00000cd0: ADD 00000cd1: SWAP1 00000cd2: DUP5 00000cd3: DUP7 00000cd4: ADD 00000cd5: DUP5 00000cd6: DUP7 00000cd7: ADD 00000cd8: DUP8 00000cd9: ADD 00000cda: DUP11 00000cdb: LT 00000cdc: ISZERO 00000cdd: PUSH2 0x0ce4 00000ce0: JUMPI 00000ce1: DUP8 00000ce2: DUP9 00000ce3: REVERT 00000ce4: JUMPDEST 00000ce5: DUP8 00000ce6: SWAP6 00000ce7: POP 00000ce8: JUMPDEST 00000ce9: DUP4 00000cea: DUP7 00000ceb: LT 00000cec: ISZERO 00000ced: PUSH2 0x0d06 00000cf0: JUMPI 00000cf1: DUP1 00000cf2: MLOAD 00000cf3: DUP4 00000cf4: MSTORE 00000cf5: PUSH1 0x01 00000cf7: SWAP6 00000cf8: SWAP1 00000cf9: SWAP6 00000cfa: ADD 00000cfb: SWAP5 00000cfc: SWAP2 00000cfd: DUP7 00000cfe: ADD 00000cff: SWAP2 00000d00: DUP7 00000d01: ADD 00000d02: PUSH2 0x0ce8 00000d05: JUMP 00000d06: JUMPDEST 00000d07: POP 00000d08: SWAP9 00000d09: SWAP8 00000d0a: POP 00000d0b: POP 00000d0c: POP 00000d0d: POP 00000d0e: POP 00000d0f: POP 00000d10: POP 00000d11: POP 00000d12: JUMP 00000d13: JUMPDEST 00000d14: PUSH1 0x00 00000d16: DUP1 00000d17: PUSH1 0x00 00000d19: PUSH1 0x60 00000d1b: DUP5 00000d1c: DUP7 00000d1d: SUB 00000d1e: SLT 00000d1f: ISZERO 00000d20: PUSH2 0x0d27 00000d23: JUMPI 00000d24: DUP2 00000d25: DUP3 00000d26: REVERT 00000d27: JUMPDEST 00000d28: PUSH2 0x0d31 00000d2b: DUP6 00000d2c: DUP6 00000d2d: PUSH2 0x0c21 00000d30: JUMP 00000d31: JUMPDEST 00000d32: SWAP3 00000d33: POP 00000d34: PUSH2 0x0d40 00000d37: DUP6 00000d38: PUSH1 0x20 00000d3a: DUP7 00000d3b: ADD 00000d3c: PUSH2 0x0c21 00000d3f: JUMP 00000d40: JUMPDEST 00000d41: SWAP2 00000d42: POP 00000d43: PUSH1 0x40 00000d45: DUP5 00000d46: ADD 00000d47: MLOAD 00000d48: PUSH4 0xffffffff 00000d4d: DUP2 00000d4e: AND 00000d4f: DUP2 00000d50: EQ 00000d51: PUSH2 0x0d58 00000d54: JUMPI 00000d55: DUP2 00000d56: DUP3 00000d57: REVERT 00000d58: JUMPDEST 00000d59: DUP1 00000d5a: SWAP2 00000d5b: POP 00000d5c: POP 00000d5d: SWAP3 00000d5e: POP 00000d5f: SWAP3 00000d60: POP 00000d61: SWAP3 00000d62: JUMP 00000d63: JUMPDEST 00000d64: PUSH1 0x00 00000d66: PUSH1 0x20 00000d68: DUP3 00000d69: DUP5 00000d6a: SUB 00000d6b: SLT 00000d6c: ISZERO 00000d6d: PUSH2 0x0d74 00000d70: JUMPI 00000d71: DUP1 00000d72: DUP2 00000d73: REVERT 00000d74: JUMPDEST 00000d75: POP 00000d76: MLOAD 00000d77: SWAP2 00000d78: SWAP1 00000d79: POP 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: PUSH1 0x00 00000d7e: DUP1 00000d7f: PUSH1 0x00 00000d81: DUP1 00000d82: PUSH1 0x60 00000d84: DUP6 00000d85: DUP8 00000d86: SUB 00000d87: SLT 00000d88: ISZERO 00000d89: PUSH2 0x0d90 00000d8c: JUMPI 00000d8d: DUP1 00000d8e: DUP2 00000d8f: REVERT 00000d90: JUMPDEST 00000d91: DUP5 00000d92: CALLDATALOAD 00000d93: SWAP4 00000d94: POP 00000d95: PUSH1 0x20 00000d97: DUP6 00000d98: ADD 00000d99: CALLDATALOAD 00000d9a: PUSH2 0x0da2 00000d9d: DUP2 00000d9e: PUSH2 0x10ab 00000da1: JUMP 00000da2: JUMPDEST 00000da3: SWAP3 00000da4: POP 00000da5: PUSH1 0x40 00000da7: DUP6 00000da8: ADD 00000da9: CALLDATALOAD 00000daa: PUSH8 0xffffffffffffffff 00000db3: DUP1 00000db4: DUP3 00000db5: GT 00000db6: ISZERO 00000db7: PUSH2 0x0dbe 00000dba: JUMPI 00000dbb: DUP3 00000dbc: DUP4 00000dbd: REVERT 00000dbe: JUMPDEST 00000dbf: DUP2 00000dc0: DUP8 00000dc1: ADD 00000dc2: SWAP2 00000dc3: POP 00000dc4: DUP8 00000dc5: PUSH1 0x1f 00000dc7: DUP4 00000dc8: ADD 00000dc9: SLT 00000dca: PUSH2 0x0dd1 00000dcd: JUMPI 00000dce: DUP3 00000dcf: DUP4 00000dd0: REVERT 00000dd1: JUMPDEST 00000dd2: DUP2 00000dd3: CALLDATALOAD 00000dd4: DUP2 00000dd5: DUP2 00000dd6: GT 00000dd7: ISZERO 00000dd8: PUSH2 0x0ddf 00000ddb: JUMPI 00000ddc: DUP4 00000ddd: DUP5 00000dde: REVERT 00000ddf: JUMPDEST 00000de0: DUP9 00000de1: PUSH1 0x20 00000de3: DUP3 00000de4: DUP6 00000de5: ADD 00000de6: ADD 00000de7: GT 00000de8: ISZERO 00000de9: PUSH2 0x0df0 00000dec: JUMPI 00000ded: DUP4 00000dee: DUP5 00000def: REVERT 00000df0: JUMPDEST 00000df1: SWAP6 00000df2: SWAP9 00000df3: SWAP5 00000df4: SWAP8 00000df5: POP 00000df6: POP 00000df7: PUSH1 0x20 00000df9: ADD 00000dfa: SWAP5 00000dfb: POP 00000dfc: POP 00000dfd: POP 00000dfe: JUMP 00000dff: JUMPDEST 00000e00: PUSH1 0x00 00000e02: DUP1 00000e03: PUSH1 0x00 00000e05: PUSH1 0x60 00000e07: DUP5 00000e08: DUP7 00000e09: SUB 00000e0a: SLT 00000e0b: ISZERO 00000e0c: PUSH2 0x0e13 00000e0f: JUMPI 00000e10: DUP3 00000e11: DUP4 00000e12: REVERT 00000e13: JUMPDEST 00000e14: DUP4 00000e15: CALLDATALOAD 00000e16: SWAP3 00000e17: POP 00000e18: PUSH1 0x20 00000e1a: DUP5 00000e1b: ADD 00000e1c: CALLDATALOAD 00000e1d: PUSH2 0x0e25 00000e20: DUP2 00000e21: PUSH2 0x10ab 00000e24: JUMP 00000e25: JUMPDEST 00000e26: SWAP2 00000e27: POP 00000e28: PUSH1 0x40 00000e2a: DUP5 00000e2b: ADD 00000e2c: CALLDATALOAD 00000e2d: DUP1 00000e2e: ISZERO 00000e2f: ISZERO 00000e30: DUP2 00000e31: EQ 00000e32: PUSH2 0x0d58 00000e35: JUMPI 00000e36: DUP2 00000e37: DUP3 00000e38: REVERT 00000e39: JUMPDEST 00000e3a: PUSH1 0x00 00000e3c: DUP1 00000e3d: PUSH1 0x40 00000e3f: DUP4 00000e40: DUP6 00000e41: SUB 00000e42: SLT 00000e43: ISZERO 00000e44: PUSH2 0x0e4b 00000e47: JUMPI 00000e48: DUP2 00000e49: DUP3 00000e4a: REVERT 00000e4b: JUMPDEST 00000e4c: POP 00000e4d: POP 00000e4e: DUP1 00000e4f: MLOAD 00000e50: PUSH1 0x20 00000e52: SWAP1 00000e53: SWAP2 00000e54: ADD 00000e55: MLOAD 00000e56: SWAP1 00000e57: SWAP3 00000e58: SWAP1 00000e59: SWAP2 00000e5a: POP 00000e5b: JUMP 00000e5c: JUMPDEST 00000e5d: PUSH1 0x00 00000e5f: DUP2 00000e60: MLOAD 00000e61: DUP1 00000e62: DUP5 00000e63: MSTORE 00000e64: DUP2 00000e65: JUMPDEST 00000e66: DUP2 00000e67: DUP2 00000e68: LT 00000e69: ISZERO 00000e6a: PUSH2 0x0e81 00000e6d: JUMPI 00000e6e: PUSH1 0x20 00000e70: DUP2 00000e71: DUP6 00000e72: ADD 00000e73: DUP2 00000e74: ADD 00000e75: MLOAD 00000e76: DUP7 00000e77: DUP4 00000e78: ADD 00000e79: DUP3 00000e7a: ADD 00000e7b: MSTORE 00000e7c: ADD 00000e7d: PUSH2 0x0e65 00000e80: JUMP 00000e81: JUMPDEST 00000e82: DUP2 00000e83: DUP2 00000e84: GT 00000e85: ISZERO 00000e86: PUSH2 0x0e92 00000e89: JUMPI 00000e8a: DUP3 00000e8b: PUSH1 0x20 00000e8d: DUP4 00000e8e: DUP8 00000e8f: ADD 00000e90: ADD 00000e91: MSTORE 00000e92: JUMPDEST 00000e93: POP 00000e94: PUSH1 0x1f 00000e96: ADD 00000e97: PUSH1 0x1f 00000e99: NOT 00000e9a: AND 00000e9b: SWAP3 00000e9c: SWAP1 00000e9d: SWAP3 00000e9e: ADD 00000e9f: PUSH1 0x20 00000ea1: ADD 00000ea2: SWAP3 00000ea3: SWAP2 00000ea4: POP 00000ea5: POP 00000ea6: JUMP 00000ea7: JUMPDEST 00000ea8: PUSH1 0x00 00000eaa: DUP3 00000eab: DUP5 00000eac: DUP4 00000ead: CALLDATACOPY 00000eae: SWAP2 00000eaf: ADD 00000eb0: SWAP1 00000eb1: DUP2 00000eb2: MSTORE 00000eb3: SWAP2 00000eb4: SWAP1 00000eb5: POP 00000eb6: JUMP 00000eb7: JUMPDEST 00000eb8: PUSH1 0x01 00000eba: PUSH1 0x01 00000ebc: PUSH1 0xa0 00000ebe: SHL 00000ebf: SUB 00000ec0: SWAP2 00000ec1: SWAP1 00000ec2: SWAP2 00000ec3: AND 00000ec4: DUP2 00000ec5: MSTORE 00000ec6: PUSH1 0x20 00000ec8: ADD 00000ec9: SWAP1 00000eca: JUMP 00000ecb: JUMPDEST 00000ecc: PUSH1 0x01 00000ece: PUSH1 0x01 00000ed0: PUSH1 0xa0 00000ed2: SHL 00000ed3: SUB 00000ed4: SWAP3 00000ed5: DUP4 00000ed6: AND 00000ed7: DUP2 00000ed8: MSTORE 00000ed9: SWAP2 00000eda: AND 00000edb: PUSH1 0x20 00000edd: DUP3 00000ede: ADD 00000edf: MSTORE 00000ee0: PUSH1 0x40 00000ee2: ADD 00000ee3: SWAP1 00000ee4: JUMP 00000ee5: JUMPDEST 00000ee6: PUSH1 0x00 00000ee8: DUP4 00000ee9: ISZERO 00000eea: ISZERO 00000eeb: DUP3 00000eec: MSTORE 00000eed: PUSH1 0x40 00000eef: PUSH1 0x20 00000ef1: DUP4 00000ef2: ADD 00000ef3: MSTORE 00000ef4: PUSH2 0x0f00 00000ef7: PUSH1 0x40 00000ef9: DUP4 00000efa: ADD 00000efb: DUP5 00000efc: PUSH2 0x0e5c 00000eff: JUMP 00000f00: JUMPDEST 00000f01: SWAP5 00000f02: SWAP4 00000f03: POP 00000f04: POP 00000f05: POP 00000f06: POP 00000f07: JUMP 00000f08: JUMPDEST 00000f09: PUSH1 0x00 00000f0b: DUP6 00000f0c: DUP3 00000f0d: MSTORE 00000f0e: DUP5 00000f0f: PUSH1 0x20 00000f11: DUP4 00000f12: ADD 00000f13: MSTORE 00000f14: PUSH1 0x01 00000f16: DUP1 00000f17: PUSH1 0xa0 00000f19: SHL 00000f1a: SUB 00000f1b: DUP5 00000f1c: AND 00000f1d: PUSH1 0x40 00000f1f: DUP4 00000f20: ADD 00000f21: MSTORE 00000f22: PUSH1 0x80 00000f24: PUSH1 0x60 00000f26: DUP4 00000f27: ADD 00000f28: MSTORE 00000f29: PUSH2 0x0f35 00000f2c: PUSH1 0x80 00000f2e: DUP4 00000f2f: ADD 00000f30: DUP5 00000f31: PUSH2 0x0e5c 00000f34: JUMP 00000f35: JUMPDEST 00000f36: SWAP7 00000f37: SWAP6 00000f38: POP 00000f39: POP 00000f3a: POP 00000f3b: POP 00000f3c: POP 00000f3d: POP 00000f3e: JUMP 00000f3f: JUMPDEST 00000f40: PUSH1 0x20 00000f42: DUP1 00000f43: DUP3 00000f44: MSTORE 00000f45: PUSH1 0x14 00000f47: SWAP1 00000f48: DUP3 00000f49: ADD 00000f4a: MSTORE 00000f4b: PUSH20 0x64732d6d6174682d6d756c2d6f766572666c6f77 00000f60: PUSH1 0x60 00000f62: SHL 00000f63: PUSH1 0x40 00000f65: DUP3 00000f66: ADD 00000f67: MSTORE 00000f68: PUSH1 0x60 00000f6a: ADD 00000f6b: SWAP1 00000f6c: JUMP 00000f6d: JUMPDEST 00000f6e: PUSH1 0x20 00000f70: DUP1 00000f71: DUP3 00000f72: MSTORE 00000f73: PUSH1 0x14 00000f75: SWAP1 00000f76: DUP3 00000f77: ADD 00000f78: MSTORE 00000f79: PUSH20 0x64732d6d6174682d6164642d6f766572666c6f77 00000f8e: PUSH1 0x60 00000f90: SHL 00000f91: PUSH1 0x40 00000f93: DUP3 00000f94: ADD 00000f95: MSTORE 00000f96: PUSH1 0x60 00000f98: ADD 00000f99: SWAP1 00000f9a: JUMP 00000f9b: JUMPDEST 00000f9c: PUSH1 0x20 00000f9e: DUP1 00000f9f: DUP3 00000fa0: MSTORE 00000fa1: PUSH1 0x28 00000fa3: SWAP1 00000fa4: DUP3 00000fa5: ADD 00000fa6: MSTORE 00000fa7: PUSH32 0x556e697377617056324c6962726172793a20494e53554646494349454e545f4c 00000fc8: PUSH1 0x40 00000fca: DUP3 00000fcb: ADD 00000fcc: MSTORE 00000fcd: PUSH8 0x4951554944495459 00000fd6: PUSH1 0xc0 00000fd8: SHL 00000fd9: PUSH1 0x60 00000fdb: DUP3 00000fdc: ADD 00000fdd: MSTORE 00000fde: PUSH1 0x80 00000fe0: ADD 00000fe1: SWAP1 00000fe2: JUMP 00000fe3: JUMPDEST 00000fe4: PUSH1 0x20 00000fe6: DUP1 00000fe7: DUP3 00000fe8: MSTORE 00000fe9: PUSH1 0x2b 00000feb: SWAP1 00000fec: DUP3 00000fed: ADD 00000fee: MSTORE 00000fef: PUSH32 0x556e697377617056324c6962726172793a20494e53554646494349454e545f49 00001010: PUSH1 0x40 00001012: DUP3 00001013: ADD 00001014: MSTORE 00001015: PUSH11 0x1394155517d05353d55395 00001021: PUSH1 0xaa 00001023: SHL 00001024: PUSH1 0x60 00001026: DUP3 00001027: ADD 00001028: MSTORE 00001029: PUSH1 0x80 0000102b: ADD 0000102c: SWAP1 0000102d: JUMP 0000102e: JUMPDEST 0000102f: PUSH1 0x00 00001031: PUSH1 0x40 00001033: DUP3 00001034: ADD 00001035: DUP5 00001036: DUP4 00001037: MSTORE 00001038: PUSH1 0x20 0000103a: PUSH1 0x40 0000103c: DUP2 0000103d: DUP6 0000103e: ADD 0000103f: MSTORE 00001040: DUP2 00001041: DUP6 00001042: MLOAD 00001043: DUP1 00001044: DUP5 00001045: MSTORE 00001046: PUSH1 0x60 00001048: DUP7 00001049: ADD 0000104a: SWAP2 0000104b: POP 0000104c: DUP3 0000104d: DUP8 0000104e: ADD 0000104f: SWAP4 00001050: POP 00001051: DUP5 00001052: JUMPDEST 00001053: DUP2 00001054: DUP2 00001055: LT 00001056: ISZERO 00001057: PUSH2 0x1077 0000105a: JUMPI 0000105b: DUP5 0000105c: MLOAD 0000105d: PUSH1 0x01 0000105f: PUSH1 0x01 00001061: PUSH1 0xa0 00001063: SHL 00001064: SUB 00001065: AND 00001066: DUP4 00001067: MSTORE 00001068: SWAP4 00001069: DUP4 0000106a: ADD 0000106b: SWAP4 0000106c: SWAP2 0000106d: DUP4 0000106e: ADD 0000106f: SWAP2 00001070: PUSH1 0x01 00001072: ADD 00001073: PUSH2 0x1052 00001076: JUMP 00001077: JUMPDEST 00001078: POP 00001079: SWAP1 0000107a: SWAP8 0000107b: SWAP7 0000107c: POP 0000107d: POP 0000107e: POP 0000107f: POP 00001080: POP 00001081: POP 00001082: POP 00001083: JUMP 00001084: JUMPDEST 00001085: PUSH1 0x40 00001087: MLOAD 00001088: DUP2 00001089: DUP2 0000108a: ADD 0000108b: PUSH8 0xffffffffffffffff 00001094: DUP2 00001095: GT 00001096: DUP3 00001097: DUP3 00001098: LT 00001099: OR 0000109a: ISZERO 0000109b: PUSH2 0x10a3 0000109e: JUMPI 0000109f: PUSH1 0x00 000010a1: DUP1 000010a2: REVERT 000010a3: JUMPDEST 000010a4: PUSH1 0x40 000010a6: MSTORE 000010a7: SWAP2 000010a8: SWAP1 000010a9: POP 000010aa: JUMP 000010ab: JUMPDEST 000010ac: PUSH1 0x01 000010ae: PUSH1 0x01 000010b0: PUSH1 0xa0 000010b2: SHL 000010b3: SUB 000010b4: DUP2 000010b5: AND 000010b6: DUP2 000010b7: EQ 000010b8: PUSH2 0x0243 000010bb: JUMPI 000010bc: PUSH1 0x00 000010be: DUP1 000010bf: REVERT 000010c0: INVALID 000010c1: LOG2 000010c2: PUSH5 0x6970667358 000010c8: UNKNOWN(0x22) 000010c9: SLT 000010ca: KECCAK256 000010cb: SWAP15 000010cc: UNKNOWN(0xD9) 000010cd: UNKNOWN(0xC8) 000010ce: UNKNOWN(0xD1) 000010cf: UNKNOWN(0xD3) 000010d0: UNKNOWN(0xF8) 000010d1: DUP3 000010d2: CODECOPY 000010d3: UNKNOWN(0xEF) 000010d4: UNKNOWN(0xE7) 000010d5: XOR 000010d6: PUSH26 0x4a0d2c3bdf26760485698450f2956cffb3a35f8c64736f6c6343 000010f1: STOP 000010f2: SMOD 000010f3: ADD 000010f4: STOP 000010f5: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1
call_targets:
0xee895136f60984ad428830eb622f9e1f91a13a45
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xee895136f60984ad428830eb622f9e1f91a13a45"
],
"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": "0x2c00b718",
"selector": "0x2c00b718",
"calldata_variants": [
"0x2c00b718",
"0x2c00b7180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90619853",
"selector": "0x90619853",
"calldata_variants": [
"0x90619853",
"0x906198530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa5518ac9",
"selector": "0xa5518ac9",
"calldata_variants": [
"0xa5518ac9",
"0xa5518ac90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 232,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 523,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1369,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1
call_targets:
0xee895136f60984ad428830eb622f9e1f91a13a45
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xeaea67bea084f4e6de4141c0ca185d99a1a050a13b53de793f212fabb70f03f1",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xee895136f60984ad428830eb622f9e1f91a13a45"
],
"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": "0x2c00b718",
"selector": "0x2c00b718",
"calldata_variants": [
"0x2c00b718",
"0x2c00b7180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x90619853",
"selector": "0x90619853",
"calldata_variants": [
"0x90619853",
"0x906198530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa5518ac9",
"selector": "0xa5518ac9",
"calldata_variants": [
"0xa5518ac9",
"0xa5518ac90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 232,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 523,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1369,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| medium | other | codex | Computed-target CALLs with possible ETH value transfer | 75 | no | — |
viewevidence_json{
"evidence": "Detector findings report \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\" with CALL targets/values marked as computed and no guards detected. Callsites list multiple CALLs with computed target/value; validation run observed constant target = contract address but did not confirm invariance.",
"locations": [
"pc:0xE8",
"pc:0x20B",
"pc:0x559",
"pc:0x5C3",
"pc:0x66C"
],
"recommendation": "Ensure all CALLs are gated (owner-only or strict allowlist), validate targets (e.g., factory-derived pair addresses), and force value=0 unless explicitly required. If external calls can move assets, add a reentrancy guard or structure effects\u2011before\u2011interactions.",
"exploit_scenario": "If any entrypoint allows an untrusted caller to reach these CALL sites with attacker-controlled target/value (e.g., arbitrary pair/token addresses), the contract can be used as a call/value forwarder. This can enable draining any ETH held by the contract (e.g., received via selfdestruct) or executing malicious external code paths; reentrancy is also possible if downstream contracts are hostile. Evidence is mixed: the detector did not confirm target variability and a trace saw the target as this contract, so impact depends on actual input validation and access control."
}
|
| 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": 15
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 16
}
|