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

Analysis Run

019b477e-be9f-7048-a406-bd3ef0cc780c

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 22, 2025 7:17 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
24411 artifact.fetch complete 1 / 3 3 months ago
24412 tool.cast_disasm complete 1 / 3 3 months ago
101983 analysis.bundle complete 1 / 3 1 week ago
101984 capability.graph complete 1 / 3 1 week ago
101985 detector.run complete 1 / 3 1 week ago
101986 validation.fork complete 1 / 3 1 week ago
113871 report.consolidate complete 1 / 6 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
View stderr
OpenAI Codex v0.118.0 (research preview)
--------
workdir: /tmp/codex-m8n96nt8
model: gpt-5.4
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: none
session id: 019d5ca1-65d0-7b93-a4bb-3f22ae7a7b1a
--------
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.
warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
Metadata
{
    "codex": {
        "ran_at": "2026-04-05T07:52:56.186697+00:00",
        "returncode": 1
    },
    "project": {
        "mode": "bytecode",
        "bytecode_length": 8278,
        "bytecode_truncated": false,
        "capability_graph_present": true,
        "analysis_artifact_present": true
    },
    "summary": null,
    "no_findings": null,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
3
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
5
Total opcodes
2920
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x004e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x297241cf
00000019: EQ
0000001a: PUSH2 0x0097
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x676be0ab
00000024: EQ
00000025: PUSH2 0x01a5
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x8da5cb5b
0000002f: EQ
00000030: PUSH2 0x0362
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xa68a76cc
0000003a: EQ
0000003b: PUSH2 0x0393
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xbcc91d61
00000045: EQ
00000046: PUSH2 0x03a8
00000049: JUMPI
0000004a: PUSH2 0x0092
0000004d: JUMP
0000004e: JUMPDEST
0000004f: CALLDATASIZE
00000050: PUSH2 0x0092
00000053: JUMPI
00000054: CALLVALUE
00000055: ISZERO
00000056: PUSH2 0x0090
00000059: JUMPI
0000005a: PUSH1 0x40
0000005c: DUP1
0000005d: MLOAD
0000005e: CALLVALUE
0000005f: DUP2
00000060: MSTORE
00000061: SWAP1
00000062: MLOAD
00000063: CALLER
00000064: SWAP2
00000065: PUSH32 0x2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4
00000086: SWAP2
00000087: SWAP1
00000088: DUP2
00000089: SWAP1
0000008a: SUB
0000008b: PUSH1 0x20
0000008d: ADD
0000008e: SWAP1
0000008f: LOG2
00000090: JUMPDEST
00000091: STOP
00000092: JUMPDEST
00000093: PUSH1 0x00
00000095: DUP1
00000096: REVERT
00000097: JUMPDEST
00000098: CALLVALUE
00000099: DUP1
0000009a: ISZERO
0000009b: PUSH2 0x00a3
0000009e: JUMPI
0000009f: PUSH1 0x00
000000a1: DUP1
000000a2: REVERT
000000a3: JUMPDEST
000000a4: POP
000000a5: PUSH2 0x0155
000000a8: PUSH1 0x04
000000aa: DUP1
000000ab: CALLDATASIZE
000000ac: SUB
000000ad: PUSH1 0x40
000000af: DUP2
000000b0: LT
000000b1: ISZERO
000000b2: PUSH2 0x00ba
000000b5: JUMPI
000000b6: PUSH1 0x00
000000b8: DUP1
000000b9: REVERT
000000ba: JUMPDEST
000000bb: PUSH1 0x01
000000bd: PUSH1 0x01
000000bf: PUSH1 0xa0
000000c1: SHL
000000c2: SUB
000000c3: DUP3
000000c4: CALLDATALOAD
000000c5: AND
000000c6: SWAP2
000000c7: SWAP1
000000c8: DUP2
000000c9: ADD
000000ca: SWAP1
000000cb: PUSH1 0x40
000000cd: DUP2
000000ce: ADD
000000cf: PUSH1 0x20
000000d1: DUP3
000000d2: ADD
000000d3: CALLDATALOAD
000000d4: PUSH1 0x01
000000d6: PUSH1 0x20
000000d8: SHL
000000d9: DUP2
000000da: GT
000000db: ISZERO
000000dc: PUSH2 0x00e4
000000df: JUMPI
000000e0: PUSH1 0x00
000000e2: DUP1
000000e3: REVERT
000000e4: JUMPDEST
000000e5: DUP3
000000e6: ADD
000000e7: DUP4
000000e8: PUSH1 0x20
000000ea: DUP3
000000eb: ADD
000000ec: GT
000000ed: ISZERO
000000ee: PUSH2 0x00f6
000000f1: JUMPI
000000f2: PUSH1 0x00
000000f4: DUP1
000000f5: REVERT
000000f6: JUMPDEST
000000f7: DUP1
000000f8: CALLDATALOAD
000000f9: SWAP1
000000fa: PUSH1 0x20
000000fc: ADD
000000fd: SWAP2
000000fe: DUP5
000000ff: PUSH1 0x20
00000101: DUP4
00000102: MUL
00000103: DUP5
00000104: ADD
00000105: GT
00000106: PUSH1 0x01
00000108: PUSH1 0x20
0000010a: SHL
0000010b: DUP4
0000010c: GT
0000010d: OR
0000010e: ISZERO
0000010f: PUSH2 0x0117
00000112: JUMPI
00000113: PUSH1 0x00
00000115: DUP1
00000116: REVERT
00000117: JUMPDEST
00000118: SWAP2
00000119: SWAP1
0000011a: DUP1
0000011b: DUP1
0000011c: PUSH1 0x20
0000011e: MUL
0000011f: PUSH1 0x20
00000121: ADD
00000122: PUSH1 0x40
00000124: MLOAD
00000125: SWAP1
00000126: DUP2
00000127: ADD
00000128: PUSH1 0x40
0000012a: MSTORE
0000012b: DUP1
0000012c: SWAP4
0000012d: SWAP3
0000012e: SWAP2
0000012f: SWAP1
00000130: DUP2
00000131: DUP2
00000132: MSTORE
00000133: PUSH1 0x20
00000135: ADD
00000136: DUP4
00000137: DUP4
00000138: PUSH1 0x20
0000013a: MUL
0000013b: DUP1
0000013c: DUP3
0000013d: DUP5
0000013e: CALLDATACOPY
0000013f: PUSH1 0x00
00000141: SWAP3
00000142: ADD
00000143: SWAP2
00000144: SWAP1
00000145: SWAP2
00000146: MSTORE
00000147: POP
00000148: SWAP3
00000149: SWAP6
0000014a: POP
0000014b: PUSH2 0x04d8
0000014e: SWAP5
0000014f: POP
00000150: POP
00000151: POP
00000152: POP
00000153: POP
00000154: JUMP
00000155: JUMPDEST
00000156: PUSH1 0x40
00000158: DUP1
00000159: MLOAD
0000015a: PUSH1 0x20
0000015c: DUP1
0000015d: DUP3
0000015e: MSTORE
0000015f: DUP4
00000160: MLOAD
00000161: DUP2
00000162: DUP4
00000163: ADD
00000164: MSTORE
00000165: DUP4
00000166: MLOAD
00000167: SWAP2
00000168: SWAP3
00000169: DUP4
0000016a: SWAP3
0000016b: SWAP1
0000016c: DUP4
0000016d: ADD
0000016e: SWAP2
0000016f: DUP6
00000170: DUP2
00000171: ADD
00000172: SWAP2
00000173: MUL
00000174: DUP1
00000175: DUP4
00000176: DUP4
00000177: PUSH1 0x00
00000179: JUMPDEST
0000017a: DUP4
0000017b: DUP2
0000017c: LT
0000017d: ISZERO
0000017e: PUSH2 0x0191
00000181: JUMPI
00000182: DUP2
00000183: DUP2
00000184: ADD
00000185: MLOAD
00000186: DUP4
00000187: DUP3
00000188: ADD
00000189: MSTORE
0000018a: PUSH1 0x20
0000018c: ADD
0000018d: PUSH2 0x0179
00000190: JUMP
00000191: JUMPDEST
00000192: POP
00000193: POP
00000194: POP
00000195: POP
00000196: SWAP1
00000197: POP
00000198: ADD
00000199: SWAP3
0000019a: POP
0000019b: POP
0000019c: POP
0000019d: PUSH1 0x40
0000019f: MLOAD
000001a0: DUP1
000001a1: SWAP2
000001a2: SUB
000001a3: SWAP1
000001a4: RETURN
000001a5: JUMPDEST
000001a6: CALLVALUE
000001a7: DUP1
000001a8: ISZERO
000001a9: PUSH2 0x01b1
000001ac: JUMPI
000001ad: PUSH1 0x00
000001af: DUP1
000001b0: REVERT
000001b1: JUMPDEST
000001b2: POP
000001b3: PUSH2 0x0090
000001b6: PUSH1 0x04
000001b8: DUP1
000001b9: CALLDATASIZE
000001ba: SUB
000001bb: PUSH1 0x80
000001bd: DUP2
000001be: LT
000001bf: ISZERO
000001c0: PUSH2 0x01c8
000001c3: JUMPI
000001c4: PUSH1 0x00
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: DUP2
000001ca: ADD
000001cb: SWAP1
000001cc: PUSH1 0x20
000001ce: DUP2
000001cf: ADD
000001d0: DUP2
000001d1: CALLDATALOAD
000001d2: PUSH1 0x01
000001d4: PUSH1 0x20
000001d6: SHL
000001d7: DUP2
000001d8: GT
000001d9: ISZERO
000001da: PUSH2 0x01e2
000001dd: JUMPI
000001de: PUSH1 0x00
000001e0: DUP1
000001e1: REVERT
000001e2: JUMPDEST
000001e3: DUP3
000001e4: ADD
000001e5: DUP4
000001e6: PUSH1 0x20
000001e8: DUP3
000001e9: ADD
000001ea: GT
000001eb: ISZERO
000001ec: PUSH2 0x01f4
000001ef: JUMPI
000001f0: PUSH1 0x00
000001f2: DUP1
000001f3: REVERT
000001f4: JUMPDEST
000001f5: DUP1
000001f6: CALLDATALOAD
000001f7: SWAP1
000001f8: PUSH1 0x20
000001fa: ADD
000001fb: SWAP2
000001fc: DUP5
000001fd: PUSH1 0x20
000001ff: DUP4
00000200: MUL
00000201: DUP5
00000202: ADD
00000203: GT
00000204: PUSH1 0x01
00000206: PUSH1 0x20
00000208: SHL
00000209: DUP4
0000020a: GT
0000020b: OR
0000020c: ISZERO
0000020d: PUSH2 0x0215
00000210: JUMPI
00000211: PUSH1 0x00
00000213: DUP1
00000214: REVERT
00000215: JUMPDEST
00000216: SWAP2
00000217: SWAP1
00000218: DUP1
00000219: DUP1
0000021a: PUSH1 0x20
0000021c: MUL
0000021d: PUSH1 0x20
0000021f: ADD
00000220: PUSH1 0x40
00000222: MLOAD
00000223: SWAP1
00000224: DUP2
00000225: ADD
00000226: PUSH1 0x40
00000228: MSTORE
00000229: DUP1
0000022a: SWAP4
0000022b: SWAP3
0000022c: SWAP2
0000022d: SWAP1
0000022e: DUP2
0000022f: DUP2
00000230: MSTORE
00000231: PUSH1 0x20
00000233: ADD
00000234: DUP4
00000235: DUP4
00000236: PUSH1 0x20
00000238: MUL
00000239: DUP1
0000023a: DUP3
0000023b: DUP5
0000023c: CALLDATACOPY
0000023d: PUSH1 0x00
0000023f: SWAP3
00000240: ADD
00000241: SWAP2
00000242: SWAP1
00000243: SWAP2
00000244: MSTORE
00000245: POP
00000246: SWAP3
00000247: SWAP6
00000248: SWAP5
00000249: SWAP4
0000024a: PUSH1 0x20
0000024c: DUP2
0000024d: ADD
0000024e: SWAP4
0000024f: POP
00000250: CALLDATALOAD
00000251: SWAP2
00000252: POP
00000253: POP
00000254: PUSH1 0x01
00000256: PUSH1 0x20
00000258: SHL
00000259: DUP2
0000025a: GT
0000025b: ISZERO
0000025c: PUSH2 0x0264
0000025f: JUMPI
00000260: PUSH1 0x00
00000262: DUP1
00000263: REVERT
00000264: JUMPDEST
00000265: DUP3
00000266: ADD
00000267: DUP4
00000268: PUSH1 0x20
0000026a: DUP3
0000026b: ADD
0000026c: GT
0000026d: ISZERO
0000026e: PUSH2 0x0276
00000271: JUMPI
00000272: PUSH1 0x00
00000274: DUP1
00000275: REVERT
00000276: JUMPDEST
00000277: DUP1
00000278: CALLDATALOAD
00000279: SWAP1
0000027a: PUSH1 0x20
0000027c: ADD
0000027d: SWAP2
0000027e: DUP5
0000027f: PUSH1 0x20
00000281: DUP4
00000282: MUL
00000283: DUP5
00000284: ADD
00000285: GT
00000286: PUSH1 0x01
00000288: PUSH1 0x20
0000028a: SHL
0000028b: DUP4
0000028c: GT
0000028d: OR
0000028e: ISZERO
0000028f: PUSH2 0x0297
00000292: JUMPI
00000293: PUSH1 0x00
00000295: DUP1
00000296: REVERT
00000297: JUMPDEST
00000298: SWAP2
00000299: SWAP1
0000029a: DUP1
0000029b: DUP1
0000029c: PUSH1 0x20
0000029e: MUL
0000029f: PUSH1 0x20
000002a1: ADD
000002a2: PUSH1 0x40
000002a4: MLOAD
000002a5: SWAP1
000002a6: DUP2
000002a7: ADD
000002a8: PUSH1 0x40
000002aa: MSTORE
000002ab: DUP1
000002ac: SWAP4
000002ad: SWAP3
000002ae: SWAP2
000002af: SWAP1
000002b0: DUP2
000002b1: DUP2
000002b2: MSTORE
000002b3: PUSH1 0x20
000002b5: ADD
000002b6: DUP4
000002b7: DUP4
000002b8: PUSH1 0x20
000002ba: MUL
000002bb: DUP1
000002bc: DUP3
000002bd: DUP5
000002be: CALLDATACOPY
000002bf: PUSH1 0x00
000002c1: SWAP3
000002c2: ADD
000002c3: SWAP2
000002c4: SWAP1
000002c5: SWAP2
000002c6: MSTORE
000002c7: POP
000002c8: SWAP3
000002c9: SWAP6
000002ca: SWAP5
000002cb: SWAP4
000002cc: PUSH1 0x20
000002ce: DUP2
000002cf: ADD
000002d0: SWAP4
000002d1: POP
000002d2: CALLDATALOAD
000002d3: SWAP2
000002d4: POP
000002d5: POP
000002d6: PUSH1 0x01
000002d8: PUSH1 0x20
000002da: SHL
000002db: DUP2
000002dc: GT
000002dd: ISZERO
000002de: PUSH2 0x02e6
000002e1: JUMPI
000002e2: PUSH1 0x00
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: DUP3
000002e8: ADD
000002e9: DUP4
000002ea: PUSH1 0x20
000002ec: DUP3
000002ed: ADD
000002ee: GT
000002ef: ISZERO
000002f0: PUSH2 0x02f8
000002f3: JUMPI
000002f4: PUSH1 0x00
000002f6: DUP1
000002f7: REVERT
000002f8: JUMPDEST
000002f9: DUP1
000002fa: CALLDATALOAD
000002fb: SWAP1
000002fc: PUSH1 0x20
000002fe: ADD
000002ff: SWAP2
00000300: DUP5
00000301: PUSH1 0x20
00000303: DUP4
00000304: MUL
00000305: DUP5
00000306: ADD
00000307: GT
00000308: PUSH1 0x01
0000030a: PUSH1 0x20
0000030c: SHL
0000030d: DUP4
0000030e: GT
0000030f: OR
00000310: ISZERO
00000311: PUSH2 0x0319
00000314: JUMPI
00000315: PUSH1 0x00
00000317: DUP1
00000318: REVERT
00000319: JUMPDEST
0000031a: SWAP2
0000031b: SWAP1
0000031c: DUP1
0000031d: DUP1
0000031e: PUSH1 0x20
00000320: MUL
00000321: PUSH1 0x20
00000323: ADD
00000324: PUSH1 0x40
00000326: MLOAD
00000327: SWAP1
00000328: DUP2
00000329: ADD
0000032a: PUSH1 0x40
0000032c: MSTORE
0000032d: DUP1
0000032e: SWAP4
0000032f: SWAP3
00000330: SWAP2
00000331: SWAP1
00000332: DUP2
00000333: DUP2
00000334: MSTORE
00000335: PUSH1 0x20
00000337: ADD
00000338: DUP4
00000339: DUP4
0000033a: PUSH1 0x20
0000033c: MUL
0000033d: DUP1
0000033e: DUP3
0000033f: DUP5
00000340: CALLDATACOPY
00000341: PUSH1 0x00
00000343: SWAP3
00000344: ADD
00000345: SWAP2
00000346: SWAP1
00000347: SWAP2
00000348: MSTORE
00000349: POP
0000034a: SWAP3
0000034b: SWAP6
0000034c: POP
0000034d: POP
0000034e: POP
0000034f: SWAP1
00000350: CALLDATALOAD
00000351: PUSH1 0x01
00000353: PUSH1 0x01
00000355: PUSH1 0xa0
00000357: SHL
00000358: SUB
00000359: AND
0000035a: SWAP2
0000035b: POP
0000035c: PUSH2 0x0648
0000035f: SWAP1
00000360: POP
00000361: JUMP
00000362: JUMPDEST
00000363: CALLVALUE
00000364: DUP1
00000365: ISZERO
00000366: PUSH2 0x036e
00000369: JUMPI
0000036a: PUSH1 0x00
0000036c: DUP1
0000036d: REVERT
0000036e: JUMPDEST
0000036f: POP
00000370: PUSH2 0x0377
00000373: PUSH2 0x097f
00000376: JUMP
00000377: JUMPDEST
00000378: PUSH1 0x40
0000037a: DUP1
0000037b: MLOAD
0000037c: PUSH1 0x01
0000037e: PUSH1 0x01
00000380: PUSH1 0xa0
00000382: SHL
00000383: SUB
00000384: SWAP1
00000385: SWAP3
00000386: AND
00000387: DUP3
00000388: MSTORE
00000389: MLOAD
0000038a: SWAP1
0000038b: DUP2
0000038c: SWAP1
0000038d: SUB
0000038e: PUSH1 0x20
00000390: ADD
00000391: SWAP1
00000392: RETURN
00000393: JUMPDEST
00000394: CALLVALUE
00000395: DUP1
00000396: ISZERO
00000397: PUSH2 0x039f
0000039a: JUMPI
0000039b: PUSH1 0x00
0000039d: DUP1
0000039e: REVERT
0000039f: JUMPDEST
000003a0: POP
000003a1: PUSH2 0x0377
000003a4: PUSH2 0x098e
000003a7: JUMP
000003a8: JUMPDEST
000003a9: CALLVALUE
000003aa: DUP1
000003ab: ISZERO
000003ac: PUSH2 0x03b4
000003af: JUMPI
000003b0: PUSH1 0x00
000003b2: DUP1
000003b3: REVERT
000003b4: JUMPDEST
000003b5: POP
000003b6: PUSH2 0x0090
000003b9: PUSH1 0x04
000003bb: DUP1
000003bc: CALLDATASIZE
000003bd: SUB
000003be: PUSH1 0x40
000003c0: DUP2
000003c1: LT
000003c2: ISZERO
000003c3: PUSH2 0x03cb
000003c6: JUMPI
000003c7: PUSH1 0x00
000003c9: DUP1
000003ca: REVERT
000003cb: JUMPDEST
000003cc: DUP2
000003cd: ADD
000003ce: SWAP1
000003cf: PUSH1 0x20
000003d1: DUP2
000003d2: ADD
000003d3: DUP2
000003d4: CALLDATALOAD
000003d5: PUSH1 0x01
000003d7: PUSH1 0x20
000003d9: SHL
000003da: DUP2
000003db: GT
000003dc: ISZERO
000003dd: PUSH2 0x03e5
000003e0: JUMPI
000003e1: PUSH1 0x00
000003e3: DUP1
000003e4: REVERT
000003e5: JUMPDEST
000003e6: DUP3
000003e7: ADD
000003e8: DUP4
000003e9: PUSH1 0x20
000003eb: DUP3
000003ec: ADD
000003ed: GT
000003ee: ISZERO
000003ef: PUSH2 0x03f7
000003f2: JUMPI
000003f3: PUSH1 0x00
000003f5: DUP1
000003f6: REVERT
000003f7: JUMPDEST
000003f8: DUP1
000003f9: CALLDATALOAD
000003fa: SWAP1
000003fb: PUSH1 0x20
000003fd: ADD
000003fe: SWAP2
000003ff: DUP5
00000400: PUSH1 0x20
00000402: DUP4
00000403: MUL
00000404: DUP5
00000405: ADD
00000406: GT
00000407: PUSH1 0x01
00000409: PUSH1 0x20
0000040b: SHL
0000040c: DUP4
0000040d: GT
0000040e: OR
0000040f: ISZERO
00000410: PUSH2 0x0418
00000413: JUMPI
00000414: PUSH1 0x00
00000416: DUP1
00000417: REVERT
00000418: JUMPDEST
00000419: SWAP2
0000041a: SWAP1
0000041b: DUP1
0000041c: DUP1
0000041d: PUSH1 0x20
0000041f: MUL
00000420: PUSH1 0x20
00000422: ADD
00000423: PUSH1 0x40
00000425: MLOAD
00000426: SWAP1
00000427: DUP2
00000428: ADD
00000429: PUSH1 0x40
0000042b: MSTORE
0000042c: DUP1
0000042d: SWAP4
0000042e: SWAP3
0000042f: SWAP2
00000430: SWAP1
00000431: DUP2
00000432: DUP2
00000433: MSTORE
00000434: PUSH1 0x20
00000436: ADD
00000437: DUP4
00000438: DUP4
00000439: PUSH1 0x20
0000043b: MUL
0000043c: DUP1
0000043d: DUP3
0000043e: DUP5
0000043f: CALLDATACOPY
00000440: PUSH1 0x00
00000442: SWAP3
00000443: ADD
00000444: SWAP2
00000445: SWAP1
00000446: SWAP2
00000447: MSTORE
00000448: POP
00000449: SWAP3
0000044a: SWAP6
0000044b: SWAP5
0000044c: SWAP4
0000044d: PUSH1 0x20
0000044f: DUP2
00000450: ADD
00000451: SWAP4
00000452: POP
00000453: CALLDATALOAD
00000454: SWAP2
00000455: POP
00000456: POP
00000457: PUSH1 0x01
00000459: PUSH1 0x20
0000045b: SHL
0000045c: DUP2
0000045d: GT
0000045e: ISZERO
0000045f: PUSH2 0x0467
00000462: JUMPI
00000463: PUSH1 0x00
00000465: DUP1
00000466: REVERT
00000467: JUMPDEST
00000468: DUP3
00000469: ADD
0000046a: DUP4
0000046b: PUSH1 0x20
0000046d: DUP3
0000046e: ADD
0000046f: GT
00000470: ISZERO
00000471: PUSH2 0x0479
00000474: JUMPI
00000475: PUSH1 0x00
00000477: DUP1
00000478: REVERT
00000479: JUMPDEST
0000047a: DUP1
0000047b: CALLDATALOAD
0000047c: SWAP1
0000047d: PUSH1 0x20
0000047f: ADD
00000480: SWAP2
00000481: DUP5
00000482: PUSH1 0x20
00000484: DUP4
00000485: MUL
00000486: DUP5
00000487: ADD
00000488: GT
00000489: PUSH1 0x01
0000048b: PUSH1 0x20
0000048d: SHL
0000048e: DUP4
0000048f: GT
00000490: OR
00000491: ISZERO
00000492: PUSH2 0x049a
00000495: JUMPI
00000496: PUSH1 0x00
00000498: DUP1
00000499: REVERT
0000049a: JUMPDEST
0000049b: SWAP2
0000049c: SWAP1
0000049d: DUP1
0000049e: DUP1
0000049f: PUSH1 0x20
000004a1: MUL
000004a2: PUSH1 0x20
000004a4: ADD
000004a5: PUSH1 0x40
000004a7: MLOAD
000004a8: SWAP1
000004a9: DUP2
000004aa: ADD
000004ab: PUSH1 0x40
000004ad: MSTORE
000004ae: DUP1
000004af: SWAP4
000004b0: SWAP3
000004b1: SWAP2
000004b2: SWAP1
000004b3: DUP2
000004b4: DUP2
000004b5: MSTORE
000004b6: PUSH1 0x20
000004b8: ADD
000004b9: DUP4
000004ba: DUP4
000004bb: PUSH1 0x20
000004bd: MUL
000004be: DUP1
000004bf: DUP3
000004c0: DUP5
000004c1: CALLDATACOPY
000004c2: PUSH1 0x00
000004c4: SWAP3
000004c5: ADD
000004c6: SWAP2
000004c7: SWAP1
000004c8: SWAP2
000004c9: MSTORE
000004ca: POP
000004cb: SWAP3
000004cc: SWAP6
000004cd: POP
000004ce: PUSH2 0x09be
000004d1: SWAP5
000004d2: POP
000004d3: POP
000004d4: POP
000004d5: POP
000004d6: POP
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH1 0x40
000004db: DUP1
000004dc: MLOAD
000004dd: PUSH4 0x297241cf
000004e2: PUSH1 0xe0
000004e4: SHL
000004e5: DUP2
000004e6: MSTORE
000004e7: PUSH1 0x01
000004e9: PUSH1 0x01
000004eb: PUSH1 0xa0
000004ed: SHL
000004ee: SUB
000004ef: DUP5
000004f0: AND
000004f1: PUSH1 0x04
000004f3: DUP3
000004f4: ADD
000004f5: DUP2
000004f6: DUP2
000004f7: MSTORE
000004f8: PUSH1 0x24
000004fa: DUP4
000004fb: ADD
000004fc: SWAP4
000004fd: DUP5
000004fe: MSTORE
000004ff: DUP5
00000500: MLOAD
00000501: PUSH1 0x44
00000503: DUP5
00000504: ADD
00000505: MSTORE
00000506: DUP5
00000507: MLOAD
00000508: PUSH1 0x60
0000050a: SWAP5
0000050b: PUSH20 0x3991fe832dc7e4810cd0ac2195e3bbb5174be2ea
00000520: SWAP5
00000521: PUSH4 0x297241cf
00000526: SWAP5
00000527: SWAP4
00000528: DUP9
00000529: SWAP4
0000052a: SWAP1
0000052b: SWAP3
0000052c: SWAP2
0000052d: PUSH1 0x64
0000052f: ADD
00000530: SWAP1
00000531: PUSH1 0x20
00000533: DUP1
00000534: DUP7
00000535: ADD
00000536: SWAP2
00000537: MUL
00000538: DUP1
00000539: DUP4
0000053a: DUP4
0000053b: PUSH1 0x00
0000053d: JUMPDEST
0000053e: DUP4
0000053f: DUP2
00000540: LT
00000541: ISZERO
00000542: PUSH2 0x0555
00000545: JUMPI
00000546: DUP2
00000547: DUP2
00000548: ADD
00000549: MLOAD
0000054a: DUP4
0000054b: DUP3
0000054c: ADD
0000054d: MSTORE
0000054e: PUSH1 0x20
00000550: ADD
00000551: PUSH2 0x053d
00000554: JUMP
00000555: JUMPDEST
00000556: POP
00000557: POP
00000558: POP
00000559: POP
0000055a: SWAP1
0000055b: POP
0000055c: ADD
0000055d: SWAP4
0000055e: POP
0000055f: POP
00000560: POP
00000561: POP
00000562: PUSH1 0x00
00000564: PUSH1 0x40
00000566: MLOAD
00000567: DUP1
00000568: DUP4
00000569: SUB
0000056a: DUP2
0000056b: DUP7
0000056c: DUP1
0000056d: EXTCODESIZE
0000056e: ISZERO
0000056f: DUP1
00000570: ISZERO
00000571: PUSH2 0x0579
00000574: JUMPI
00000575: PUSH1 0x00
00000577: DUP1
00000578: REVERT
00000579: JUMPDEST
0000057a: POP
0000057b: GAS
0000057c: DELEGATECALL
0000057d: ISZERO
0000057e: DUP1
0000057f: ISZERO
00000580: PUSH2 0x058d
00000583: JUMPI
00000584: RETURNDATASIZE
00000585: PUSH1 0x00
00000587: DUP1
00000588: RETURNDATACOPY
00000589: RETURNDATASIZE
0000058a: PUSH1 0x00
0000058c: REVERT
0000058d: JUMPDEST
0000058e: POP
0000058f: POP
00000590: POP
00000591: POP
00000592: PUSH1 0x40
00000594: MLOAD
00000595: RETURNDATASIZE
00000596: PUSH1 0x00
00000598: DUP3
00000599: RETURNDATACOPY
0000059a: PUSH1 0x1f
0000059c: RETURNDATASIZE
0000059d: SWAP1
0000059e: DUP2
0000059f: ADD
000005a0: PUSH1 0x1f
000005a2: NOT
000005a3: AND
000005a4: DUP3
000005a5: ADD
000005a6: PUSH1 0x40
000005a8: MSTORE
000005a9: PUSH1 0x20
000005ab: DUP2
000005ac: LT
000005ad: ISZERO
000005ae: PUSH2 0x05b6
000005b1: JUMPI
000005b2: PUSH1 0x00
000005b4: DUP1
000005b5: REVERT
000005b6: JUMPDEST
000005b7: DUP2
000005b8: ADD
000005b9: SWAP1
000005ba: DUP1
000005bb: DUP1
000005bc: MLOAD
000005bd: PUSH1 0x40
000005bf: MLOAD
000005c0: SWAP4
000005c1: SWAP3
000005c2: SWAP2
000005c3: SWAP1
000005c4: DUP5
000005c5: PUSH1 0x01
000005c7: PUSH1 0x20
000005c9: SHL
000005ca: DUP3
000005cb: GT
000005cc: ISZERO
000005cd: PUSH2 0x05d5
000005d0: JUMPI
000005d1: PUSH1 0x00
000005d3: DUP1
000005d4: REVERT
000005d5: JUMPDEST
000005d6: SWAP1
000005d7: DUP4
000005d8: ADD
000005d9: SWAP1
000005da: PUSH1 0x20
000005dc: DUP3
000005dd: ADD
000005de: DUP6
000005df: DUP2
000005e0: GT
000005e1: ISZERO
000005e2: PUSH2 0x05ea
000005e5: JUMPI
000005e6: PUSH1 0x00
000005e8: DUP1
000005e9: REVERT
000005ea: JUMPDEST
000005eb: DUP3
000005ec: MLOAD
000005ed: DUP7
000005ee: PUSH1 0x20
000005f0: DUP3
000005f1: MUL
000005f2: DUP4
000005f3: ADD
000005f4: GT
000005f5: PUSH1 0x01
000005f7: PUSH1 0x20
000005f9: SHL
000005fa: DUP3
000005fb: GT
000005fc: OR
000005fd: ISZERO
000005fe: PUSH2 0x0606
00000601: JUMPI
00000602: PUSH1 0x00
00000604: DUP1
00000605: REVERT
00000606: JUMPDEST
00000607: DUP3
00000608: MSTORE
00000609: POP
0000060a: DUP2
0000060b: MLOAD
0000060c: PUSH1 0x20
0000060e: SWAP2
0000060f: DUP3
00000610: ADD
00000611: SWAP3
00000612: DUP3
00000613: ADD
00000614: SWAP2
00000615: MUL
00000616: DUP1
00000617: DUP4
00000618: DUP4
00000619: PUSH1 0x00
0000061b: JUMPDEST
0000061c: DUP4
0000061d: DUP2
0000061e: LT
0000061f: ISZERO
00000620: PUSH2 0x0633
00000623: JUMPI
00000624: DUP2
00000625: DUP2
00000626: ADD
00000627: MLOAD
00000628: DUP4
00000629: DUP3
0000062a: ADD
0000062b: MSTORE
0000062c: PUSH1 0x20
0000062e: ADD
0000062f: PUSH2 0x061b
00000632: JUMP
00000633: JUMPDEST
00000634: POP
00000635: POP
00000636: POP
00000637: POP
00000638: SWAP1
00000639: POP
0000063a: ADD
0000063b: PUSH1 0x40
0000063d: MSTORE
0000063e: POP
0000063f: POP
00000640: POP
00000641: SWAP1
00000642: POP
00000643: SWAP3
00000644: SWAP2
00000645: POP
00000646: POP
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH1 0x00
0000064b: SLOAD
0000064c: PUSH1 0x01
0000064e: PUSH1 0x01
00000650: PUSH1 0xa0
00000652: SHL
00000653: SUB
00000654: AND
00000655: CALLER
00000656: EQ
00000657: PUSH2 0x0698
0000065a: JUMPI
0000065b: PUSH1 0x40
0000065d: DUP1
0000065e: MLOAD
0000065f: PUSH3 0x461bcd
00000663: PUSH1 0xe5
00000665: SHL
00000666: DUP2
00000667: MSTORE
00000668: PUSH1 0x20
0000066a: PUSH1 0x04
0000066c: DUP3
0000066d: ADD
0000066e: MSTORE
0000066f: PUSH1 0x0e
00000671: PUSH1 0x24
00000673: DUP3
00000674: ADD
00000675: MSTORE
00000676: PUSH14 0x139bdd08141c9a5d9a5b1959d959
00000685: PUSH1 0x92
00000687: SHL
00000688: PUSH1 0x44
0000068a: DUP3
0000068b: ADD
0000068c: MSTORE
0000068d: SWAP1
0000068e: MLOAD
0000068f: SWAP1
00000690: DUP2
00000691: SWAP1
00000692: SUB
00000693: PUSH1 0x64
00000695: ADD
00000696: SWAP1
00000697: REVERT
00000698: JUMPDEST
00000699: DUP2
0000069a: MLOAD
0000069b: ISZERO
0000069c: PUSH2 0x0739
0000069f: JUMPI
000006a0: PUSH1 0x00
000006a2: JUMPDEST
000006a3: DUP3
000006a4: MLOAD
000006a5: DUP2
000006a6: LT
000006a7: ISZERO
000006a8: PUSH2 0x0737
000006ab: JUMPI
000006ac: PUSH1 0x00
000006ae: DUP4
000006af: DUP3
000006b0: DUP2
000006b1: MLOAD
000006b2: DUP2
000006b3: LT
000006b4: PUSH2 0x06b9
000006b7: JUMPI
000006b8: INVALID
000006b9: JUMPDEST
000006ba: PUSH1 0x20
000006bc: MUL
000006bd: PUSH1 0x20
000006bf: ADD
000006c0: ADD
000006c1: MLOAD
000006c2: SWAP1
000006c3: POP
000006c4: DUP1
000006c5: PUSH1 0x01
000006c7: PUSH1 0x01
000006c9: PUSH1 0xa0
000006cb: SHL
000006cc: SUB
000006cd: AND
000006ce: PUSH4 0x3ef13367
000006d3: DUP5
000006d4: PUSH1 0x40
000006d6: MLOAD
000006d7: DUP3
000006d8: PUSH4 0xffffffff
000006dd: AND
000006de: PUSH1 0xe0
000006e0: SHL
000006e1: DUP2
000006e2: MSTORE
000006e3: PUSH1 0x04
000006e5: ADD
000006e6: DUP1
000006e7: DUP3
000006e8: PUSH1 0x01
000006ea: PUSH1 0x01
000006ec: PUSH1 0xa0
000006ee: SHL
000006ef: SUB
000006f0: AND
000006f1: DUP2
000006f2: MSTORE
000006f3: PUSH1 0x20
000006f5: ADD
000006f6: SWAP2
000006f7: POP
000006f8: POP
000006f9: PUSH1 0x00
000006fb: PUSH1 0x40
000006fd: MLOAD
000006fe: DUP1
000006ff: DUP4
00000700: SUB
00000701: DUP2
00000702: PUSH1 0x00
00000704: DUP8
00000705: DUP1
00000706: EXTCODESIZE
00000707: ISZERO
00000708: DUP1
00000709: ISZERO
0000070a: PUSH2 0x0712
0000070d: JUMPI
0000070e: PUSH1 0x00
00000710: DUP1
00000711: REVERT
00000712: JUMPDEST
00000713: POP
00000714: GAS
00000715: CALL
00000716: ISZERO
00000717: DUP1
00000718: ISZERO
00000719: PUSH2 0x0726
0000071c: JUMPI
0000071d: RETURNDATASIZE
0000071e: PUSH1 0x00
00000720: DUP1
00000721: RETURNDATACOPY
00000722: RETURNDATASIZE
00000723: PUSH1 0x00
00000725: REVERT
00000726: JUMPDEST
00000727: POP
00000728: POP
00000729: PUSH1 0x01
0000072b: SWAP1
0000072c: SWAP4
0000072d: ADD
0000072e: SWAP3
0000072f: POP
00000730: PUSH2 0x06a2
00000733: SWAP2
00000734: POP
00000735: POP
00000736: JUMP
00000737: JUMPDEST
00000738: POP
00000739: JUMPDEST
0000073a: DUP1
0000073b: PUSH1 0x00
0000073d: JUMPDEST
0000073e: DUP6
0000073f: MLOAD
00000740: DUP2
00000741: LT
00000742: ISZERO
00000743: PUSH2 0x08b2
00000746: JUMPI
00000747: PUSH1 0x00
00000749: DUP6
0000074a: DUP3
0000074b: DUP2
0000074c: MLOAD
0000074d: DUP2
0000074e: LT
0000074f: PUSH2 0x0754
00000752: JUMPI
00000753: INVALID
00000754: JUMPDEST
00000755: PUSH1 0x20
00000757: MUL
00000758: PUSH1 0x20
0000075a: ADD
0000075b: ADD
0000075c: MLOAD
0000075d: GT
0000075e: DUP1
0000075f: ISZERO
00000760: PUSH2 0x078f
00000763: JUMPI
00000764: POP
00000765: PUSH1 0x00
00000767: PUSH1 0x01
00000769: PUSH1 0x01
0000076b: PUSH1 0xa0
0000076d: SHL
0000076e: SUB
0000076f: AND
00000770: DUP7
00000771: DUP3
00000772: DUP2
00000773: MLOAD
00000774: DUP2
00000775: LT
00000776: PUSH2 0x077b
00000779: JUMPI
0000077a: INVALID
0000077b: JUMPDEST
0000077c: PUSH1 0x20
0000077e: MUL
0000077f: PUSH1 0x20
00000781: ADD
00000782: ADD
00000783: MLOAD
00000784: PUSH1 0x01
00000786: PUSH1 0x01
00000788: PUSH1 0xa0
0000078a: SHL
0000078b: SUB
0000078c: AND
0000078d: EQ
0000078e: ISZERO
0000078f: JUMPDEST
00000790: PUSH2 0x07dc
00000793: JUMPI
00000794: PUSH1 0x40
00000796: DUP1
00000797: MLOAD
00000798: PUSH3 0x461bcd
0000079c: PUSH1 0xe5
0000079e: SHL
0000079f: DUP2
000007a0: MSTORE
000007a1: PUSH1 0x20
000007a3: PUSH1 0x04
000007a5: DUP3
000007a6: ADD
000007a7: MSTORE
000007a8: PUSH1 0x19
000007aa: PUSH1 0x24
000007ac: DUP3
000007ad: ADD
000007ae: MSTORE
000007af: PUSH25 0x125b9d985b1a59081059191c995cdcc81bdc88105b5bdd5b9d
000007c9: PUSH1 0x3a
000007cb: SHL
000007cc: PUSH1 0x44
000007ce: DUP3
000007cf: ADD
000007d0: MSTORE
000007d1: SWAP1
000007d2: MLOAD
000007d3: SWAP1
000007d4: DUP2
000007d5: SWAP1
000007d6: SUB
000007d7: PUSH1 0x64
000007d9: ADD
000007da: SWAP1
000007db: REVERT
000007dc: JUMPDEST
000007dd: DUP2
000007de: PUSH1 0x01
000007e0: PUSH1 0x01
000007e2: PUSH1 0xa0
000007e4: SHL
000007e5: SUB
000007e6: AND
000007e7: PUSH20 0x3991fe832dc7e4810cd0ac2195e3bbb5174be2ea
000007fc: PUSH4 0x2d466f20
00000801: SWAP1
00000802: SWAP2
00000803: DUP9
00000804: DUP5
00000805: DUP2
00000806: MLOAD
00000807: DUP2
00000808: LT
00000809: PUSH2 0x080e
0000080c: JUMPI
0000080d: INVALID
0000080e: JUMPDEST
0000080f: PUSH1 0x20
00000811: MUL
00000812: PUSH1 0x20
00000814: ADD
00000815: ADD
00000816: MLOAD
00000817: DUP9
00000818: DUP6
00000819: DUP2
0000081a: MLOAD
0000081b: DUP2
0000081c: LT
0000081d: PUSH2 0x0822
00000820: JUMPI
00000821: INVALID
00000822: JUMPDEST
00000823: PUSH1 0x20
00000825: MUL
00000826: PUSH1 0x20
00000828: ADD
00000829: ADD
0000082a: MLOAD
0000082b: PUSH1 0x40
0000082d: MLOAD
0000082e: DUP5
0000082f: PUSH4 0xffffffff
00000834: AND
00000835: PUSH1 0xe0
00000837: SHL
00000838: DUP2
00000839: MSTORE
0000083a: PUSH1 0x04
0000083c: ADD
0000083d: DUP1
0000083e: DUP5
0000083f: PUSH1 0x01
00000841: PUSH1 0x01
00000843: PUSH1 0xa0
00000845: SHL
00000846: SUB
00000847: AND
00000848: DUP2
00000849: MSTORE
0000084a: PUSH1 0x20
0000084c: ADD
0000084d: DUP4
0000084e: PUSH1 0x01
00000850: PUSH1 0x01
00000852: PUSH1 0xa0
00000854: SHL
00000855: SUB
00000856: AND
00000857: DUP2
00000858: MSTORE
00000859: PUSH1 0x20
0000085b: ADD
0000085c: DUP3
0000085d: DUP2
0000085e: MSTORE
0000085f: PUSH1 0x20
00000861: ADD
00000862: SWAP4
00000863: POP
00000864: POP
00000865: POP
00000866: POP
00000867: PUSH1 0x20
00000869: PUSH1 0x40
0000086b: MLOAD
0000086c: DUP1
0000086d: DUP4
0000086e: SUB
0000086f: DUP2
00000870: DUP7
00000871: DUP1
00000872: EXTCODESIZE
00000873: ISZERO
00000874: DUP1
00000875: ISZERO
00000876: PUSH2 0x087e
00000879: JUMPI
0000087a: PUSH1 0x00
0000087c: DUP1
0000087d: REVERT
0000087e: JUMPDEST
0000087f: POP
00000880: GAS
00000881: DELEGATECALL
00000882: ISZERO
00000883: DUP1
00000884: ISZERO
00000885: PUSH2 0x0892
00000888: JUMPI
00000889: RETURNDATASIZE
0000088a: PUSH1 0x00
0000088c: DUP1
0000088d: RETURNDATACOPY
0000088e: RETURNDATASIZE
0000088f: PUSH1 0x00
00000891: REVERT
00000892: JUMPDEST
00000893: POP
00000894: POP
00000895: POP
00000896: POP
00000897: PUSH1 0x40
00000899: MLOAD
0000089a: RETURNDATASIZE
0000089b: PUSH1 0x20
0000089d: DUP2
0000089e: LT
0000089f: ISZERO
000008a0: PUSH2 0x08a8
000008a3: JUMPI
000008a4: PUSH1 0x00
000008a6: DUP1
000008a7: REVERT
000008a8: JUMPDEST
000008a9: POP
000008aa: POP
000008ab: PUSH1 0x01
000008ad: ADD
000008ae: PUSH2 0x073d
000008b1: JUMP
000008b2: JUMPDEST
000008b3: POP
000008b4: DUP2
000008b5: PUSH1 0x01
000008b7: PUSH1 0x01
000008b9: PUSH1 0xa0
000008bb: SHL
000008bc: SUB
000008bd: AND
000008be: PUSH32 0x85c81b85fbb78e07192ca2b928171befd6e93eef74fcc4282d3877a66e3f33f2
000008df: DUP7
000008e0: DUP7
000008e1: PUSH1 0x40
000008e3: MLOAD
000008e4: DUP1
000008e5: DUP1
000008e6: PUSH1 0x20
000008e8: ADD
000008e9: DUP1
000008ea: PUSH1 0x20
000008ec: ADD
000008ed: DUP4
000008ee: DUP2
000008ef: SUB
000008f0: DUP4
000008f1: MSTORE
000008f2: DUP6
000008f3: DUP2
000008f4: DUP2
000008f5: MLOAD
000008f6: DUP2
000008f7: MSTORE
000008f8: PUSH1 0x20
000008fa: ADD
000008fb: SWAP2
000008fc: POP
000008fd: DUP1
000008fe: MLOAD
000008ff: SWAP1
00000900: PUSH1 0x20
00000902: ADD
00000903: SWAP1
00000904: PUSH1 0x20
00000906: MUL
00000907: DUP1
00000908: DUP4
00000909: DUP4
0000090a: PUSH1 0x00
0000090c: JUMPDEST
0000090d: DUP4
0000090e: DUP2
0000090f: LT
00000910: ISZERO
00000911: PUSH2 0x0924
00000914: JUMPI
00000915: DUP2
00000916: DUP2
00000917: ADD
00000918: MLOAD
00000919: DUP4
0000091a: DUP3
0000091b: ADD
0000091c: MSTORE
0000091d: PUSH1 0x20
0000091f: ADD
00000920: PUSH2 0x090c
00000923: JUMP
00000924: JUMPDEST
00000925: POP
00000926: POP
00000927: POP
00000928: POP
00000929: SWAP1
0000092a: POP
0000092b: ADD
0000092c: DUP4
0000092d: DUP2
0000092e: SUB
0000092f: DUP3
00000930: MSTORE
00000931: DUP5
00000932: DUP2
00000933: DUP2
00000934: MLOAD
00000935: DUP2
00000936: MSTORE
00000937: PUSH1 0x20
00000939: ADD
0000093a: SWAP2
0000093b: POP
0000093c: DUP1
0000093d: MLOAD
0000093e: SWAP1
0000093f: PUSH1 0x20
00000941: ADD
00000942: SWAP1
00000943: PUSH1 0x20
00000945: MUL
00000946: DUP1
00000947: DUP4
00000948: DUP4
00000949: PUSH1 0x00
0000094b: JUMPDEST
0000094c: DUP4
0000094d: DUP2
0000094e: LT
0000094f: ISZERO
00000950: PUSH2 0x0963
00000953: JUMPI
00000954: DUP2
00000955: DUP2
00000956: ADD
00000957: MLOAD
00000958: DUP4
00000959: DUP3
0000095a: ADD
0000095b: MSTORE
0000095c: PUSH1 0x20
0000095e: ADD
0000095f: PUSH2 0x094b
00000962: JUMP
00000963: JUMPDEST
00000964: POP
00000965: POP
00000966: POP
00000967: POP
00000968: SWAP1
00000969: POP
0000096a: ADD
0000096b: SWAP5
0000096c: POP
0000096d: POP
0000096e: POP
0000096f: POP
00000970: POP
00000971: PUSH1 0x40
00000973: MLOAD
00000974: DUP1
00000975: SWAP2
00000976: SUB
00000977: SWAP1
00000978: LOG2
00000979: POP
0000097a: POP
0000097b: POP
0000097c: POP
0000097d: POP
0000097e: JUMP
0000097f: JUMPDEST
00000980: PUSH1 0x00
00000982: SLOAD
00000983: PUSH1 0x01
00000985: PUSH1 0x01
00000987: PUSH1 0xa0
00000989: SHL
0000098a: SUB
0000098b: AND
0000098c: DUP2
0000098d: JUMP
0000098e: JUMPDEST
0000098f: PUSH1 0x00
00000991: PUSH1 0x40
00000993: MLOAD
00000994: PUSH2 0x099c
00000997: SWAP1
00000998: PUSH2 0x0c40
0000099b: JUMP
0000099c: JUMPDEST
0000099d: PUSH1 0x40
0000099f: MLOAD
000009a0: DUP1
000009a1: SWAP2
000009a2: SUB
000009a3: SWAP1
000009a4: PUSH1 0x00
000009a6: CREATE
000009a7: DUP1
000009a8: ISZERO
000009a9: DUP1
000009aa: ISZERO
000009ab: PUSH2 0x09b8
000009ae: JUMPI
000009af: RETURNDATASIZE
000009b0: PUSH1 0x00
000009b2: DUP1
000009b3: RETURNDATACOPY
000009b4: RETURNDATASIZE
000009b5: PUSH1 0x00
000009b7: REVERT
000009b8: JUMPDEST
000009b9: POP
000009ba: SWAP1
000009bb: POP
000009bc: SWAP1
000009bd: JUMP
000009be: JUMPDEST
000009bf: PUSH1 0x00
000009c1: SLOAD
000009c2: PUSH1 0x01
000009c4: PUSH1 0x01
000009c6: PUSH1 0xa0
000009c8: SHL
000009c9: SUB
000009ca: AND
000009cb: CALLER
000009cc: EQ
000009cd: PUSH2 0x0a0e
000009d0: JUMPI
000009d1: PUSH1 0x40
000009d3: DUP1
000009d4: MLOAD
000009d5: PUSH3 0x461bcd
000009d9: PUSH1 0xe5
000009db: SHL
000009dc: DUP2
000009dd: MSTORE
000009de: PUSH1 0x20
000009e0: PUSH1 0x04
000009e2: DUP3
000009e3: ADD
000009e4: MSTORE
000009e5: PUSH1 0x0e
000009e7: PUSH1 0x24
000009e9: DUP3
000009ea: ADD
000009eb: MSTORE
000009ec: PUSH14 0x139bdd08141c9a5d9a5b1959d959
000009fb: PUSH1 0x92
000009fd: SHL
000009fe: PUSH1 0x44
00000a00: DUP3
00000a01: ADD
00000a02: MSTORE
00000a03: SWAP1
00000a04: MLOAD
00000a05: SWAP1
00000a06: DUP2
00000a07: SWAP1
00000a08: SUB
00000a09: PUSH1 0x64
00000a0b: ADD
00000a0c: SWAP1
00000a0d: REVERT
00000a0e: JUMPDEST
00000a0f: PUSH1 0x00
00000a11: JUMPDEST
00000a12: DUP3
00000a13: MLOAD
00000a14: DUP2
00000a15: LT
00000a16: ISZERO
00000a17: PUSH2 0x0b76
00000a1a: JUMPI
00000a1b: PUSH1 0x00
00000a1d: DUP3
00000a1e: DUP3
00000a1f: DUP2
00000a20: MLOAD
00000a21: DUP2
00000a22: LT
00000a23: PUSH2 0x0a28
00000a26: JUMPI
00000a27: INVALID
00000a28: JUMPDEST
00000a29: PUSH1 0x20
00000a2b: MUL
00000a2c: PUSH1 0x20
00000a2e: ADD
00000a2f: ADD
00000a30: MLOAD
00000a31: GT
00000a32: DUP1
00000a33: ISZERO
00000a34: PUSH2 0x0a63
00000a37: JUMPI
00000a38: POP
00000a39: PUSH1 0x00
00000a3b: PUSH1 0x01
00000a3d: PUSH1 0x01
00000a3f: PUSH1 0xa0
00000a41: SHL
00000a42: SUB
00000a43: AND
00000a44: DUP4
00000a45: DUP3
00000a46: DUP2
00000a47: MLOAD
00000a48: DUP2
00000a49: LT
00000a4a: PUSH2 0x0a4f
00000a4d: JUMPI
00000a4e: INVALID
00000a4f: JUMPDEST
00000a50: PUSH1 0x20
00000a52: MUL
00000a53: PUSH1 0x20
00000a55: ADD
00000a56: ADD
00000a57: MLOAD
00000a58: PUSH1 0x01
00000a5a: PUSH1 0x01
00000a5c: PUSH1 0xa0
00000a5e: SHL
00000a5f: SUB
00000a60: AND
00000a61: EQ
00000a62: ISZERO
00000a63: JUMPDEST
00000a64: PUSH2 0x0ab0
00000a67: JUMPI
00000a68: PUSH1 0x40
00000a6a: DUP1
00000a6b: MLOAD
00000a6c: PUSH3 0x461bcd
00000a70: PUSH1 0xe5
00000a72: SHL
00000a73: DUP2
00000a74: MSTORE
00000a75: PUSH1 0x20
00000a77: PUSH1 0x04
00000a79: DUP3
00000a7a: ADD
00000a7b: MSTORE
00000a7c: PUSH1 0x19
00000a7e: PUSH1 0x24
00000a80: DUP3
00000a81: ADD
00000a82: MSTORE
00000a83: PUSH25 0x125b9d985b1a59081059191c995cdcc81bdc88105b5bdd5b9d
00000a9d: PUSH1 0x3a
00000a9f: SHL
00000aa0: PUSH1 0x44
00000aa2: DUP3
00000aa3: ADD
00000aa4: MSTORE
00000aa5: SWAP1
00000aa6: MLOAD
00000aa7: SWAP1
00000aa8: DUP2
00000aa9: SWAP1
00000aaa: SUB
00000aab: PUSH1 0x64
00000aad: ADD
00000aae: SWAP1
00000aaf: REVERT
00000ab0: JUMPDEST
00000ab1: PUSH1 0x00
00000ab3: DUP4
00000ab4: DUP3
00000ab5: DUP2
00000ab6: MLOAD
00000ab7: DUP2
00000ab8: LT
00000ab9: PUSH2 0x0abe
00000abc: JUMPI
00000abd: INVALID
00000abe: JUMPDEST
00000abf: PUSH1 0x20
00000ac1: MUL
00000ac2: PUSH1 0x20
00000ac4: ADD
00000ac5: ADD
00000ac6: MLOAD
00000ac7: PUSH1 0x01
00000ac9: PUSH1 0x01
00000acb: PUSH1 0xa0
00000acd: SHL
00000ace: SUB
00000acf: AND
00000ad0: DUP4
00000ad1: DUP4
00000ad2: DUP2
00000ad3: MLOAD
00000ad4: DUP2
00000ad5: LT
00000ad6: PUSH2 0x0adb
00000ad9: JUMPI
00000ada: INVALID
00000adb: JUMPDEST
00000adc: PUSH1 0x20
00000ade: SWAP1
00000adf: DUP2
00000ae0: MUL
00000ae1: SWAP2
00000ae2: SWAP1
00000ae3: SWAP2
00000ae4: ADD
00000ae5: ADD
00000ae6: MLOAD
00000ae7: PUSH1 0x40
00000ae9: MLOAD
00000aea: PUSH1 0x00
00000aec: DUP2
00000aed: DUP2
00000aee: DUP2
00000aef: DUP6
00000af0: DUP8
00000af1: GAS
00000af2: CALL
00000af3: SWAP3
00000af4: POP
00000af5: POP
00000af6: POP
00000af7: RETURNDATASIZE
00000af8: DUP1
00000af9: PUSH1 0x00
00000afb: DUP2
00000afc: EQ
00000afd: PUSH2 0x0b22
00000b00: JUMPI
00000b01: PUSH1 0x40
00000b03: MLOAD
00000b04: SWAP2
00000b05: POP
00000b06: PUSH1 0x1f
00000b08: NOT
00000b09: PUSH1 0x3f
00000b0b: RETURNDATASIZE
00000b0c: ADD
00000b0d: AND
00000b0e: DUP3
00000b0f: ADD
00000b10: PUSH1 0x40
00000b12: MSTORE
00000b13: RETURNDATASIZE
00000b14: DUP3
00000b15: MSTORE
00000b16: RETURNDATASIZE
00000b17: PUSH1 0x00
00000b19: PUSH1 0x20
00000b1b: DUP5
00000b1c: ADD
00000b1d: RETURNDATACOPY
00000b1e: PUSH2 0x0b27
00000b21: JUMP
00000b22: JUMPDEST
00000b23: PUSH1 0x60
00000b25: SWAP2
00000b26: POP
00000b27: JUMPDEST
00000b28: POP
00000b29: POP
00000b2a: SWAP1
00000b2b: POP
00000b2c: DUP1
00000b2d: PUSH2 0x0b6d
00000b30: JUMPI
00000b31: PUSH1 0x40
00000b33: DUP1
00000b34: MLOAD
00000b35: PUSH3 0x461bcd
00000b39: PUSH1 0xe5
00000b3b: SHL
00000b3c: DUP2
00000b3d: MSTORE
00000b3e: PUSH1 0x20
00000b40: PUSH1 0x04
00000b42: DUP3
00000b43: ADD
00000b44: MSTORE
00000b45: PUSH1 0x0d
00000b47: PUSH1 0x24
00000b49: DUP3
00000b4a: ADD
00000b4b: MSTORE
00000b4c: PUSH13 0x10dbdd5b191b89dd081cd95b99
00000b5a: PUSH1 0x9a
00000b5c: SHL
00000b5d: PUSH1 0x44
00000b5f: DUP3
00000b60: ADD
00000b61: MSTORE
00000b62: SWAP1
00000b63: MLOAD
00000b64: SWAP1
00000b65: DUP2
00000b66: SWAP1
00000b67: SUB
00000b68: PUSH1 0x64
00000b6a: ADD
00000b6b: SWAP1
00000b6c: REVERT
00000b6d: JUMPDEST
00000b6e: POP
00000b6f: PUSH1 0x01
00000b71: ADD
00000b72: PUSH2 0x0a11
00000b75: JUMP
00000b76: JUMPDEST
00000b77: POP
00000b78: CALLER
00000b79: PUSH1 0x01
00000b7b: PUSH1 0x01
00000b7d: PUSH1 0xa0
00000b7f: SHL
00000b80: SUB
00000b81: AND
00000b82: PUSH32 0x85c81b85fbb78e07192ca2b928171befd6e93eef74fcc4282d3877a66e3f33f2
00000ba3: DUP4
00000ba4: DUP4
00000ba5: PUSH1 0x40
00000ba7: MLOAD
00000ba8: DUP1
00000ba9: DUP1
00000baa: PUSH1 0x20
00000bac: ADD
00000bad: DUP1
00000bae: PUSH1 0x20
00000bb0: ADD
00000bb1: DUP4
00000bb2: DUP2
00000bb3: SUB
00000bb4: DUP4
00000bb5: MSTORE
00000bb6: DUP6
00000bb7: DUP2
00000bb8: DUP2
00000bb9: MLOAD
00000bba: DUP2
00000bbb: MSTORE
00000bbc: PUSH1 0x20
00000bbe: ADD
00000bbf: SWAP2
00000bc0: POP
00000bc1: DUP1
00000bc2: MLOAD
00000bc3: SWAP1
00000bc4: PUSH1 0x20
00000bc6: ADD
00000bc7: SWAP1
00000bc8: PUSH1 0x20
00000bca: MUL
00000bcb: DUP1
00000bcc: DUP4
00000bcd: DUP4
00000bce: PUSH1 0x00
00000bd0: JUMPDEST
00000bd1: DUP4
00000bd2: DUP2
00000bd3: LT
00000bd4: ISZERO
00000bd5: PUSH2 0x0be8
00000bd8: JUMPI
00000bd9: DUP2
00000bda: DUP2
00000bdb: ADD
00000bdc: MLOAD
00000bdd: DUP4
00000bde: DUP3
00000bdf: ADD
00000be0: MSTORE
00000be1: PUSH1 0x20
00000be3: ADD
00000be4: PUSH2 0x0bd0
00000be7: JUMP
00000be8: JUMPDEST
00000be9: POP
00000bea: POP
00000beb: POP
00000bec: POP
00000bed: SWAP1
00000bee: POP
00000bef: ADD
00000bf0: DUP4
00000bf1: DUP2
00000bf2: SUB
00000bf3: DUP3
00000bf4: MSTORE
00000bf5: DUP5
00000bf6: DUP2
00000bf7: DUP2
00000bf8: MLOAD
00000bf9: DUP2
00000bfa: MSTORE
00000bfb: PUSH1 0x20
00000bfd: ADD
00000bfe: SWAP2
00000bff: POP
00000c00: DUP1
00000c01: MLOAD
00000c02: SWAP1
00000c03: PUSH1 0x20
00000c05: ADD
00000c06: SWAP1
00000c07: PUSH1 0x20
00000c09: MUL
00000c0a: DUP1
00000c0b: DUP4
00000c0c: DUP4
00000c0d: PUSH1 0x00
00000c0f: JUMPDEST
00000c10: DUP4
00000c11: DUP2
00000c12: LT
00000c13: ISZERO
00000c14: PUSH2 0x0c27
00000c17: JUMPI
00000c18: DUP2
00000c19: DUP2
00000c1a: ADD
00000c1b: MLOAD
00000c1c: DUP4
00000c1d: DUP3
00000c1e: ADD
00000c1f: MSTORE
00000c20: PUSH1 0x20
00000c22: ADD
00000c23: PUSH2 0x0c0f
00000c26: JUMP
00000c27: JUMPDEST
00000c28: POP
00000c29: POP
00000c2a: POP
00000c2b: POP
00000c2c: SWAP1
00000c2d: POP
00000c2e: ADD
00000c2f: SWAP5
00000c30: POP
00000c31: POP
00000c32: POP
00000c33: POP
00000c34: POP
00000c35: PUSH1 0x40
00000c37: MLOAD
00000c38: DUP1
00000c39: SWAP2
00000c3a: SUB
00000c3b: SWAP1
00000c3c: LOG2
00000c3d: POP
00000c3e: POP
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: PUSH2 0x03a7
00000c44: DUP1
00000c45: PUSH2 0x0c4e
00000c48: DUP4
00000c49: CODECOPY
00000c4a: ADD
00000c4b: SWAP1
00000c4c: JUMP
00000c4d: INVALID
00000c4e: PUSH1 0x80
00000c50: PUSH1 0x40
00000c52: MSTORE
00000c53: CALLVALUE
00000c54: DUP1
00000c55: ISZERO
00000c56: PUSH2 0x0010
00000c59: JUMPI
00000c5a: PUSH1 0x00
00000c5c: DUP1
00000c5d: REVERT
00000c5e: JUMPDEST
00000c5f: POP
00000c60: PUSH1 0x00
00000c62: DUP1
00000c63: SLOAD
00000c64: PUSH1 0x01
00000c66: PUSH1 0x01
00000c68: PUSH1 0xa0
00000c6a: SHL
00000c6b: SUB
00000c6c: NOT
00000c6d: AND
00000c6e: CALLER
00000c6f: OR
00000c70: SWAP1
00000c71: SSTORE
00000c72: PUSH2 0x002b
00000c75: PUSH2 0x0030
00000c78: JUMP
00000c79: JUMPDEST
00000c7a: PUSH2 0x00d5
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: SELFBALANCE
00000c80: DUP1
00000c81: ISZERO
00000c82: PUSH2 0x00d2
00000c85: JUMPI
00000c86: PUSH1 0x00
00000c88: DUP1
00000c89: SLOAD
00000c8a: PUSH1 0x40
00000c8c: MLOAD
00000c8d: PUSH1 0x01
00000c8f: PUSH1 0x01
00000c91: PUSH1 0xa0
00000c93: SHL
00000c94: SUB
00000c95: SWAP1
00000c96: SWAP2
00000c97: AND
00000c98: SWAP1
00000c99: DUP4
00000c9a: SWAP1
00000c9b: DUP4
00000c9c: DUP2
00000c9d: DUP2
00000c9e: DUP2
00000c9f: DUP6
00000ca0: DUP8
00000ca1: GAS
00000ca2: CALL
00000ca3: SWAP3
00000ca4: POP
00000ca5: POP
00000ca6: POP
00000ca7: RETURNDATASIZE
00000ca8: DUP1
00000ca9: PUSH1 0x00
00000cab: DUP2
00000cac: EQ
00000cad: PUSH2 0x0084
00000cb0: JUMPI
00000cb1: PUSH1 0x40
00000cb3: MLOAD
00000cb4: SWAP2
00000cb5: POP
00000cb6: PUSH1 0x1f
00000cb8: NOT
00000cb9: PUSH1 0x3f
00000cbb: RETURNDATASIZE
00000cbc: ADD
00000cbd: AND
00000cbe: DUP3
00000cbf: ADD
00000cc0: PUSH1 0x40
00000cc2: MSTORE
00000cc3: RETURNDATASIZE
00000cc4: DUP3
00000cc5: MSTORE
00000cc6: RETURNDATASIZE
00000cc7: PUSH1 0x00
00000cc9: PUSH1 0x20
00000ccb: DUP5
00000ccc: ADD
00000ccd: RETURNDATACOPY
00000cce: PUSH2 0x0089
00000cd1: JUMP
00000cd2: JUMPDEST
00000cd3: PUSH1 0x60
00000cd5: SWAP2
00000cd6: POP
00000cd7: JUMPDEST
00000cd8: POP
00000cd9: POP
00000cda: SWAP1
00000cdb: POP
00000cdc: DUP1
00000cdd: PUSH2 0x00d0
00000ce0: JUMPI
00000ce1: PUSH1 0x40
00000ce3: DUP1
00000ce4: MLOAD
00000ce5: PUSH3 0x461bcd
00000ce9: PUSH1 0xe5
00000ceb: SHL
00000cec: DUP2
00000ced: MSTORE
00000cee: PUSH1 0x20
00000cf0: PUSH1 0x04
00000cf2: DUP3
00000cf3: ADD
00000cf4: MSTORE
00000cf5: PUSH1 0x0e
00000cf7: PUSH1 0x24
00000cf9: DUP3
00000cfa: ADD
00000cfb: MSTORE
00000cfc: PUSH14 0x086deead8c8dc4ee840ccd8eae6d
00000d0b: PUSH1 0x93
00000d0d: SHL
00000d0e: PUSH1 0x44
00000d10: DUP3
00000d11: ADD
00000d12: MSTORE
00000d13: SWAP1
00000d14: MLOAD
00000d15: SWAP1
00000d16: DUP2
00000d17: SWAP1
00000d18: SUB
00000d19: PUSH1 0x64
00000d1b: ADD
00000d1c: SWAP1
00000d1d: REVERT
00000d1e: JUMPDEST
00000d1f: POP
00000d20: JUMPDEST
00000d21: POP
00000d22: JUMP
00000d23: JUMPDEST
00000d24: PUSH2 0x02c3
00000d27: DUP1
00000d28: PUSH2 0x00e4
00000d2b: PUSH1 0x00
00000d2d: CODECOPY
00000d2e: PUSH1 0x00
00000d30: RETURN
00000d31: INVALID
00000d32: PUSH1 0x80
00000d34: PUSH1 0x40
00000d36: MSTORE
00000d37: PUSH1 0x04
00000d39: CALLDATASIZE
00000d3a: LT
00000d3b: PUSH2 0x002d
00000d3e: JUMPI
00000d3f: PUSH1 0x00
00000d41: CALLDATALOAD
00000d42: PUSH1 0xe0
00000d44: SHR
00000d45: DUP1
00000d46: PUSH4 0x3ef13367
00000d4b: EQ
00000d4c: PUSH2 0x0041
00000d4f: JUMPI
00000d50: DUP1
00000d51: PUSH4 0x6b9f96ea
00000d56: EQ
00000d57: PUSH2 0x0074
00000d5a: JUMPI
00000d5b: PUSH2 0x003c
00000d5e: JUMP
00000d5f: JUMPDEST
00000d60: CALLDATASIZE
00000d61: PUSH2 0x003c
00000d64: JUMPI
00000d65: PUSH2 0x003a
00000d68: PUSH2 0x0085
00000d6b: JUMP
00000d6c: JUMPDEST
00000d6d: STOP
00000d6e: JUMPDEST
00000d6f: PUSH1 0x00
00000d71: DUP1
00000d72: REVERT
00000d73: JUMPDEST
00000d74: CALLVALUE
00000d75: DUP1
00000d76: ISZERO
00000d77: PUSH2 0x004d
00000d7a: JUMPI
00000d7b: PUSH1 0x00
00000d7d: DUP1
00000d7e: REVERT
00000d7f: JUMPDEST
00000d80: POP
00000d81: PUSH2 0x003a
00000d84: PUSH1 0x04
00000d86: DUP1
00000d87: CALLDATASIZE
00000d88: SUB
00000d89: PUSH1 0x20
00000d8b: DUP2
00000d8c: LT
00000d8d: ISZERO
00000d8e: PUSH2 0x0064
00000d91: JUMPI
00000d92: PUSH1 0x00
00000d94: DUP1
00000d95: REVERT
00000d96: JUMPDEST
00000d97: POP
00000d98: CALLDATALOAD
00000d99: PUSH1 0x01
00000d9b: PUSH1 0x01
00000d9d: PUSH1 0xa0
00000d9f: SHL
00000da0: SUB
00000da1: AND
00000da2: PUSH2 0x012a
00000da5: JUMP
00000da6: JUMPDEST
00000da7: CALLVALUE
00000da8: DUP1
00000da9: ISZERO
00000daa: PUSH2 0x0080
00000dad: JUMPI
00000dae: PUSH1 0x00
00000db0: DUP1
00000db1: REVERT
00000db2: JUMPDEST
00000db3: POP
00000db4: PUSH2 0x003a
00000db7: JUMPDEST
00000db8: SELFBALANCE
00000db9: DUP1
00000dba: ISZERO
00000dbb: PUSH2 0x0127
00000dbe: JUMPI
00000dbf: PUSH1 0x00
00000dc1: DUP1
00000dc2: SLOAD
00000dc3: PUSH1 0x40
00000dc5: MLOAD
00000dc6: PUSH1 0x01
00000dc8: PUSH1 0x01
00000dca: PUSH1 0xa0
00000dcc: SHL
00000dcd: SUB
00000dce: SWAP1
00000dcf: SWAP2
00000dd0: AND
00000dd1: SWAP1
00000dd2: DUP4
00000dd3: SWAP1
00000dd4: DUP4
00000dd5: DUP2
00000dd6: DUP2
00000dd7: DUP2
00000dd8: DUP6
00000dd9: DUP8
00000dda: GAS
00000ddb: CALL
00000ddc: SWAP3
00000ddd: POP
00000dde: POP
00000ddf: POP
00000de0: RETURNDATASIZE
00000de1: DUP1
00000de2: PUSH1 0x00
00000de4: DUP2
00000de5: EQ
00000de6: PUSH2 0x00d9
00000de9: JUMPI
00000dea: PUSH1 0x40
00000dec: MLOAD
00000ded: SWAP2
00000dee: POP
00000def: PUSH1 0x1f
00000df1: NOT
00000df2: PUSH1 0x3f
00000df4: RETURNDATASIZE
00000df5: ADD
00000df6: AND
00000df7: DUP3
00000df8: ADD
00000df9: PUSH1 0x40
00000dfb: MSTORE
00000dfc: RETURNDATASIZE
00000dfd: DUP3
00000dfe: MSTORE
00000dff: RETURNDATASIZE
00000e00: PUSH1 0x00
00000e02: PUSH1 0x20
00000e04: DUP5
00000e05: ADD
00000e06: RETURNDATACOPY
00000e07: PUSH2 0x00de
00000e0a: JUMP
00000e0b: JUMPDEST
00000e0c: PUSH1 0x60
00000e0e: SWAP2
00000e0f: POP
00000e10: JUMPDEST
00000e11: POP
00000e12: POP
00000e13: SWAP1
00000e14: POP
00000e15: DUP1
00000e16: PUSH2 0x0125
00000e19: JUMPI
00000e1a: PUSH1 0x40
00000e1c: DUP1
00000e1d: MLOAD
00000e1e: PUSH3 0x461bcd
00000e22: PUSH1 0xe5
00000e24: SHL
00000e25: DUP2
00000e26: MSTORE
00000e27: PUSH1 0x20
00000e29: PUSH1 0x04
00000e2b: DUP3
00000e2c: ADD
00000e2d: MSTORE
00000e2e: PUSH1 0x0e
00000e30: PUSH1 0x24
00000e32: DUP3
00000e33: ADD
00000e34: MSTORE
00000e35: PUSH14 0x086deead8c8dc4ee840ccd8eae6d
00000e44: PUSH1 0x93
00000e46: SHL
00000e47: PUSH1 0x44
00000e49: DUP3
00000e4a: ADD
00000e4b: MSTORE
00000e4c: SWAP1
00000e4d: MLOAD
00000e4e: SWAP1
00000e4f: DUP2
00000e50: SWAP1
00000e51: SUB
00000e52: PUSH1 0x64
00000e54: ADD
00000e55: SWAP1
00000e56: REVERT
00000e57: JUMPDEST
00000e58: POP
00000e59: JUMPDEST
00000e5a: POP
00000e5b: JUMP
00000e5c: JUMPDEST
00000e5d: PUSH1 0x40
00000e5f: DUP1
00000e60: MLOAD
00000e61: PUSH4 0x70a08231
00000e66: PUSH1 0xe0
00000e68: SHL
00000e69: DUP2
00000e6a: MSTORE
00000e6b: ADDRESS
00000e6c: PUSH1 0x04
00000e6e: DUP3
00000e6f: ADD
00000e70: MSTORE
00000e71: SWAP1
00000e72: MLOAD
00000e73: DUP3
00000e74: SWAP2
00000e75: PUSH1 0x00
00000e77: SWAP2
00000e78: PUSH1 0x01
00000e7a: PUSH1 0x01
00000e7c: PUSH1 0xa0
00000e7e: SHL
00000e7f: SUB
00000e80: DUP5
00000e81: AND
00000e82: SWAP2
00000e83: PUSH4 0x70a08231
00000e88: SWAP2
00000e89: PUSH1 0x24
00000e8b: DUP1
00000e8c: DUP4
00000e8d: ADD
00000e8e: SWAP3
00000e8f: PUSH1 0x20
00000e91: SWAP3
00000e92: SWAP2
00000e93: SWAP1
00000e94: DUP3
00000e95: SWAP1
00000e96: SUB
00000e97: ADD
00000e98: DUP2
00000e99: DUP7
00000e9a: DUP1
00000e9b: EXTCODESIZE
00000e9c: ISZERO
00000e9d: DUP1
00000e9e: ISZERO
00000e9f: PUSH2 0x0175
00000ea2: JUMPI
00000ea3: PUSH1 0x00
00000ea5: DUP1
00000ea6: REVERT
00000ea7: JUMPDEST
00000ea8: POP
00000ea9: GAS
00000eaa: STATICCALL
00000eab: ISZERO
00000eac: DUP1
00000ead: ISZERO
00000eae: PUSH2 0x0189
00000eb1: JUMPI
00000eb2: RETURNDATASIZE
00000eb3: PUSH1 0x00
00000eb5: DUP1
00000eb6: RETURNDATACOPY
00000eb7: RETURNDATASIZE
00000eb8: PUSH1 0x00
00000eba: REVERT
00000ebb: JUMPDEST
00000ebc: POP
00000ebd: POP
00000ebe: POP
00000ebf: POP
00000ec0: PUSH1 0x40
00000ec2: MLOAD
00000ec3: RETURNDATASIZE
00000ec4: PUSH1 0x20
00000ec6: DUP2
00000ec7: LT
00000ec8: ISZERO
00000ec9: PUSH2 0x019f
00000ecc: JUMPI
00000ecd: PUSH1 0x00
00000ecf: DUP1
00000ed0: REVERT
00000ed1: JUMPDEST
00000ed2: POP
00000ed3: MLOAD
00000ed4: SWAP1
00000ed5: POP
00000ed6: DUP1
00000ed7: PUSH2 0x01af
00000eda: JUMPI
00000edb: POP
00000edc: POP
00000edd: PUSH2 0x0127
00000ee0: JUMP
00000ee1: JUMPDEST
00000ee2: PUSH1 0x00
00000ee4: SLOAD
00000ee5: PUSH1 0x40
00000ee7: DUP1
00000ee8: MLOAD
00000ee9: PUSH4 0x016a3379
00000eee: PUSH1 0xe5
00000ef0: SHL
00000ef1: DUP2
00000ef2: MSTORE
00000ef3: PUSH1 0x01
00000ef5: PUSH1 0x01
00000ef7: PUSH1 0xa0
00000ef9: SHL
00000efa: SUB
00000efb: DUP6
00000efc: DUP2
00000efd: AND
00000efe: PUSH1 0x04
00000f00: DUP4
00000f01: ADD
00000f02: MSTORE
00000f03: SWAP1
00000f04: SWAP3
00000f05: AND
00000f06: PUSH1 0x24
00000f08: DUP4
00000f09: ADD
00000f0a: MSTORE
00000f0b: PUSH1 0x44
00000f0d: DUP3
00000f0e: ADD
00000f0f: DUP4
00000f10: SWAP1
00000f11: MSTORE
00000f12: MLOAD
00000f13: PUSH20 0x3991fe832dc7e4810cd0ac2195e3bbb5174be2ea
00000f28: SWAP2
00000f29: PUSH4 0x2d466f20
00000f2e: SWAP2
00000f2f: PUSH1 0x64
00000f31: DUP1
00000f32: DUP4
00000f33: ADD
00000f34: SWAP3
00000f35: PUSH1 0x20
00000f37: SWAP3
00000f38: SWAP2
00000f39: SWAP1
00000f3a: DUP3
00000f3b: SWAP1
00000f3c: SUB
00000f3d: ADD
00000f3e: DUP2
00000f3f: DUP7
00000f40: DUP1
00000f41: EXTCODESIZE
00000f42: ISZERO
00000f43: DUP1
00000f44: ISZERO
00000f45: PUSH2 0x021b
00000f48: JUMPI
00000f49: PUSH1 0x00
00000f4b: DUP1
00000f4c: REVERT
00000f4d: JUMPDEST
00000f4e: POP
00000f4f: GAS
00000f50: DELEGATECALL
00000f51: ISZERO
00000f52: DUP1
00000f53: ISZERO
00000f54: PUSH2 0x022f
00000f57: JUMPI
00000f58: RETURNDATASIZE
00000f59: PUSH1 0x00
00000f5b: DUP1
00000f5c: RETURNDATACOPY
00000f5d: RETURNDATASIZE
00000f5e: PUSH1 0x00
00000f60: REVERT
00000f61: JUMPDEST
00000f62: POP
00000f63: POP
00000f64: POP
00000f65: POP
00000f66: PUSH1 0x40
00000f68: MLOAD
00000f69: RETURNDATASIZE
00000f6a: PUSH1 0x20
00000f6c: DUP2
00000f6d: LT
00000f6e: ISZERO
00000f6f: PUSH2 0x0245
00000f72: JUMPI
00000f73: PUSH1 0x00
00000f75: DUP1
00000f76: REVERT
00000f77: JUMPDEST
00000f78: POP
00000f79: MLOAD
00000f7a: PUSH2 0x0288
00000f7d: JUMPI
00000f7e: PUSH1 0x40
00000f80: DUP1
00000f81: MLOAD
00000f82: PUSH3 0x461bcd
00000f86: PUSH1 0xe5
00000f88: SHL
00000f89: DUP2
00000f8a: MSTORE
00000f8b: PUSH1 0x20
00000f8d: PUSH1 0x04
00000f8f: DUP3
00000f90: ADD
00000f91: MSTORE
00000f92: PUSH1 0x0d
00000f94: PUSH1 0x24
00000f96: DUP3
00000f97: ADD
00000f98: MSTORE
00000f99: PUSH13 0x10dbdd5b191b89dd081cd95b99
00000fa7: PUSH1 0x9a
00000fa9: SHL
00000faa: PUSH1 0x44
00000fac: DUP3
00000fad: ADD
00000fae: MSTORE
00000faf: SWAP1
00000fb0: MLOAD
00000fb1: SWAP1
00000fb2: DUP2
00000fb3: SWAP1
00000fb4: SUB
00000fb5: PUSH1 0x64
00000fb7: ADD
00000fb8: SWAP1
00000fb9: REVERT
00000fba: JUMPDEST
00000fbb: POP
00000fbc: POP
00000fbd: POP
00000fbe: JUMP
00000fbf: INVALID
00000fc0: LOG2
00000fc1: PUSH5 0x6970667358
00000fc7: UNKNOWN(0x22)
00000fc8: SLT
00000fc9: KECCAK256
00000fca: UNKNOWN(0xD8)
00000fcb: UNKNOWN(0xDD)
00000fcc: UNKNOWN(0xE0)
00000fcd: BLOBBASEFEE
00000fce: PUSH30 0x7bf8829fa3dc92037f7c80d85773603117dccef3aa693f8af1f26a64736f
00000fed: PUSH13 0x63430007050033a26469706673
00000ffb: PC
00000ffc: UNKNOWN(0x22)
00000ffd: SLT
00000ffe: KECCAK256
00000fff: UNKNOWN(0x2B)
00001000: SSTORE
00001001: UNKNOWN(0x21)
00001002: UNKNOWN(0x4C)
00001003: DUP12
00001004: PUSH15 0xa1174beb15be3b1675cd9277858f62
00001014: UNKNOWN(0xAE)
00001015: PUSH11 0x6209171bcc281010b26473
00001021: PUSH16

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x1cf2d5e12c12eaed84309ae9fac52bb4f12201b6037fa82a2af7d3247f4d3a4f
call_targets: 0x3991fe832dc7e4810cd0ac2195e3bbb5174be2ea
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 5,
    "trace_id": "0x1cf2d5e12c12eaed84309ae9fac52bb4f12201b6037fa82a2af7d3247f4d3a4f",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3991fe832dc7e4810cd0ac2195e3bbb5174be2ea"
    ],
    "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": "0x297241cf",
            "selector": "0x297241cf",
            "calldata_variants": [
                "0x297241cf",
                "0x297241cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x676be0ab",
            "selector": "0x676be0ab",
            "calldata_variants": [
                "0x676be0ab",
                "0x676be0ab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa68a76cc",
            "selector": "0xa68a76cc",
            "calldata_variants": [
                "0xa68a76cc",
                "0xa68a76cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbcc91d61",
            "selector": "0xbcc91d61",
            "calldata_variants": [
                "0xbcc91d61",
                "0xbcc91d610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1404,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 2177,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3920,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 3,
    "untrusted_delegatecall_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x674c72cf4745c75091c673b583f5be82fac029fb40ce3280722bdf4541e2e6a4
call_targets: 0x2c7d3bf6150f5578be50a553fcb38998b6ee1c73
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x674c72cf4745c75091c673b583f5be82fac029fb40ce3280722bdf4541e2e6a4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2c7d3bf6150f5578be50a553fcb38998b6ee1c73"
    ],
    "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": "0x297241cf",
            "selector": "0x297241cf",
            "calldata_variants": [
                "0x297241cf",
                "0x297241cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x676be0ab",
            "selector": "0x676be0ab",
            "calldata_variants": [
                "0x676be0ab",
                "0x676be0ab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa68a76cc",
            "selector": "0xa68a76cc",
            "calldata_variants": [
                "0xa68a76cc",
                "0xa68a76cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbcc91d61",
            "selector": "0xbcc91d61",
            "calldata_variants": [
                "0xbcc91d61",
                "0xbcc91d610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1813,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2802,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3234,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x674c72cf4745c75091c673b583f5be82fac029fb40ce3280722bdf4541e2e6a4
call_targets: 0x2c7d3bf6150f5578be50a553fcb38998b6ee1c73
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x674c72cf4745c75091c673b583f5be82fac029fb40ce3280722bdf4541e2e6a4",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2c7d3bf6150f5578be50a553fcb38998b6ee1c73"
    ],
    "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": "0x297241cf",
            "selector": "0x297241cf",
            "calldata_variants": [
                "0x297241cf",
                "0x297241cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x676be0ab",
            "selector": "0x676be0ab",
            "calldata_variants": [
                "0x676be0ab",
                "0x676be0ab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa68a76cc",
            "selector": "0xa68a76cc",
            "calldata_variants": [
                "0xa68a76cc",
                "0xa68a76cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbcc91d61",
            "selector": "0xbcc91d61",
            "calldata_variants": [
                "0xbcc91d61",
                "0xbcc91d610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1813,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2802,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3234,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
medium other detector CREATE/CREATE2 reachable 45 yes yes
view
trace_id: 0x0040ac1424a1645d85f6d7bb11f17c924f0b0280aeef4af38e0efbada63a7f44
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "confirmed",
    "attempts": 7,
    "trace_id": "0x0040ac1424a1645d85f6d7bb11f17c924f0b0280aeef4af38e0efbada63a7f44",
    "confirmed": true,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "sink_reached"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x297241cf",
            "selector": "0x297241cf",
            "calldata_variants": [
                "0x297241cf",
                "0x297241cf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x676be0ab",
            "selector": "0x676be0ab",
            "calldata_variants": [
                "0x676be0ab",
                "0x676be0ab0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa68a76cc",
            "selector": "0xa68a76cc",
            "calldata_variants": [
                "0xa68a76cc",
                "0xa68a76cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbcc91d61",
            "selector": "0xbcc91d61",
            "calldata_variants": [
                "0xbcc91d61",
                "0xbcc91d610000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3ef13367",
            "selector": "0x3ef13367",
            "calldata_variants": [
                "0x3ef13367",
                "0x3ef133670000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6b9f96ea",
            "selector": "0x6b9f96ea",
            "calldata_variants": [
                "0x6b9f96ea",
                "0x6b9f96ea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}