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

Analysis Run

2531614a-49ba-44c6-8560-d0e9425ac17c

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 3:42 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 proxy context implementation known
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
31677 report.consolidate complete 1 / 1 3 months ago
95485 artifact.fetch failed 1 / 3 1 week ago
95486 tool.cast_disasm complete 1 / 3 1 week ago
95487 analysis.bundle complete 1 / 3 1 week ago
95488 capability.graph complete 1 / 3 1 week ago
95489 detector.run complete 1 / 3 1 week ago
95490 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete exploitable profit paths found in the provided contracts under the stated assumptions.
View stderr
[codex:1468286] OpenAI Codex v0.77.0 (research preview)
[codex:1468286] --------
[codex:1468286] workdir: /tmp/codex-multi-cxab0aau
[codex:1468286] model: gpt-5.2-codex
[codex:1468286] provider: openai
[codex:1468286] approval: never
[codex:1468286] sandbox: read-only
[codex:1468286] reasoning effort: xhigh
[codex:1468286] reasoning summaries: auto
[codex:1468286] session id: 019b8c3e-ed7d-7a20-90c4-b26a13375f8f
[codex:1468286] --------
[codex:1468286] user
[codex:1468286] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1468286] 
[codex:1468286] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1468286] 
[codex:1468286] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1468286] - Gas inefficiency, code quality, naming, or best practices
[codex:1468286] - Theoretical vulnerabilities without a clear extraction path
[codex:1468286] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1468286] - Front-running unless it enables theft beyond MEV
[codex:1468286] - DoS, griefing, or issues that don't result in attacker profit
[codex:1468286] - Missing events, view function issues, or informational findings
[codex:1468286] 
[codex:1468286] HIGH-VALUE PATTERNS TO HUNT:
[codex:1468286] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1468286] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1468286] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1468286] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1468286] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1468286] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1468286] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1468286] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1468286] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1468286] 
[codex:1468286] For each finding, you MUST provide:
[codex:1468286] 1. Exact file and line numbers of vulnerable code
[codex:1468286] 2. Step-by-step exploit transaction sequence
[codex:1468286] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1468286] 
[codex:1468286] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1468286] 
[codex:1468286] Output MUST be valid JSON matching the provided schema.
[codex:1468286] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1468286] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1468286] mcp startup: no servers
[codex:1468286] 
[codex:1468286] thinking
[codex:1468286] **Reading AUDIT_BUNDLE.txt file**
[codex:1468286] exec
[codex:1468286] /bin/bash -lc ls in /tmp/codex-multi-cxab0aau succeeded in 5ms:
[codex:1468286] AUDIT_BUNDLE.txt
[codex:1468286] codex-output-schema.json
[codex:1468286] contracts
[codex:1468286] exec
[codex:1468286] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cxab0aau succeeded in 5ms:
[codex:1468286] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1468286] 
[codex:1468286] ================================================================================
[codex:1468286] FILE: contracts/contracts/interfaces/IGateway.sol
[codex:1468286] ================================================================================
[codex:1468286] // SPDX-License-Identifier: BSL 1.1
[codex:1468286] pragma solidity 0.8.26;
[codex:1468286] 
[codex:1468286] /**
[codex:1468286]  * @title IGateway
[codex:1468286]  * @dev Interface for the Gateway contract in the standard bridge.
[codex:1468286]  */
[codex:1468286] interface IGateway {
[codex:1468286]     /**
[codex:1468286]      * @dev Emitted when a cross-chain transfer is initiated.
[codex:1468286]      * @param sender Address initiating the transfer.
[codex:1468286]      * @param recipient Address receiving the tokens.
[codex:1468286]      * @param amount Ether being transferred in wei.
[codex:1468286]      * @param transferIdx Current index of this gateway.
[codex:1468286]      * @param counterpartyFinalizationFee The finalization fee (wei) paid to the relayer by the counterparty contract.
[codex:1468286] 
[codex:1468286] thinking
[codex:1468286] **Completing exploit evaluation**
[codex:1468286] codex
[codex:1468286] {"no_findings":true,"summary":"No concrete exploitable profit paths found in the provided contracts under the stated assumptions.","findings":[]}
[codex:1468286] tokens used
[codex:1468286] 8,049
[codex:1468286] {"no_findings":true,"summary":"No concrete exploitable profit paths found in the provided contracts under the stated assumptions.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T03:42:37.779186+00:00",
        "returncode": 0
    },
    "summary": "No concrete exploitable profit paths found in the provided contracts under the stated assumptions.",
    "raw_final": {
        "summary": "No concrete exploitable profit paths found in the provided contracts under the stated assumptions.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
5
Total opcodes
2513
Flags
delegatecall_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: ISZERO
0000000a: PUSH2 0x0025
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0023
00000014: JUMPI
00000015: PUSH4 0x5a93724d
0000001a: PUSH1 0xe0
0000001c: SHL
0000001d: PUSH0
0000001e: MSTORE
0000001f: PUSH1 0x04
00000021: PUSH0
00000022: REVERT
00000023: JUMPDEST
00000024: STOP
00000025: JUMPDEST
00000026: PUSH0
00000027: CALLDATALOAD
00000028: PUSH1 0xe0
0000002a: SHR
0000002b: DUP1
0000002c: PUSH4 0x169235ed
00000031: EQ
00000032: PUSH2 0x0bdf
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0x1794bb3c
0000003c: EQ
0000003d: PUSH2 0x09df
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x22396f1d
00000047: EQ
00000048: PUSH2 0x09a8
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x3f4ba83a
00000052: EQ
00000053: PUSH2 0x092a
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x4f1ef286
0000005d: EQ
0000005e: PUSH2 0x0720
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x51cff8d9
00000068: EQ
00000069: PUSH2 0x0650
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x52d1902d
00000073: EQ
00000074: PUSH2 0x05ea
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x55f4bdfc
0000007e: EQ
0000007f: PUSH2 0x0585
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x5c975abb
00000089: EQ
0000008a: PUSH2 0x0557
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x6548e9bc
00000094: EQ
00000095: PUSH2 0x04e0
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x715018a6
0000009f: EQ
000000a0: PUSH2 0x0463
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x79ba5097
000000aa: EQ
000000ab: PUSH2 0x0417
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x8406c079
000000b5: EQ
000000b6: PUSH2 0x03ef
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x8456cb59
000000c0: EQ
000000c1: PUSH2 0x037e
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0x8da5cb5b
000000cb: EQ
000000cc: PUSH2 0x034a
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0xa2ff158d
000000d6: EQ
000000d7: PUSH2 0x032d
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0xad3cb1cc
000000e1: EQ
000000e2: PUSH2 0x02cf
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0xb504cd1e
000000ec: EQ
000000ed: PUSH2 0x0211
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0xce4ab0ad
000000f7: EQ
000000f8: PUSH2 0x01f4
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xe30c3978
00000102: EQ
00000103: PUSH2 0x01c0
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xe557b142
0000010d: EQ
0000010e: PUSH2 0x01a3
00000111: JUMPI
00000112: PUSH4 0xf2fde38b
00000117: SUB
00000118: PUSH2 0x000e
0000011b: JUMPI
0000011c: CALLVALUE
0000011d: PUSH2 0x019f
00000120: JUMPI
00000121: PUSH1 0x20
00000123: CALLDATASIZE
00000124: PUSH1 0x03
00000126: NOT
00000127: ADD
00000128: SLT
00000129: PUSH2 0x019f
0000012c: JUMPI
0000012d: PUSH2 0x0134
00000130: PUSH2 0x0d02
00000133: JUMP
00000134: JUMPDEST
00000135: PUSH2 0x013c
00000138: PUSH2 0x0ee5
0000013b: JUMP
0000013c: JUMPDEST
0000013d: PUSH0
0000013e: DUP1
0000013f: MLOAD
00000140: PUSH1 0x20
00000142: PUSH2 0x109a
00000145: DUP4
00000146: CODECOPY
00000147: DUP2
00000148: MLOAD
00000149: SWAP2
0000014a: MSTORE
0000014b: DUP1
0000014c: SLOAD
0000014d: PUSH1 0x01
0000014f: PUSH1 0x01
00000151: PUSH1 0xa0
00000153: SHL
00000154: SUB
00000155: NOT
00000156: AND
00000157: PUSH1 0x01
00000159: PUSH1 0x01
0000015b: PUSH1 0xa0
0000015d: SHL
0000015e: SUB
0000015f: SWAP3
00000160: DUP4
00000161: AND
00000162: SWAP1
00000163: DUP2
00000164: OR
00000165: SWAP1
00000166: SWAP2
00000167: SSTORE
00000168: PUSH0
00000169: DUP1
0000016a: MLOAD
0000016b: PUSH1 0x20
0000016d: PUSH2 0x0ffa
00000170: DUP4
00000171: CODECOPY
00000172: DUP2
00000173: MLOAD
00000174: SWAP2
00000175: MSTORE
00000176: SLOAD
00000177: SWAP1
00000178: SWAP2
00000179: AND
0000017a: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
0000019b: PUSH0
0000019c: DUP1
0000019d: LOG3
0000019e: STOP
0000019f: JUMPDEST
000001a0: PUSH0
000001a1: DUP1
000001a2: REVERT
000001a3: JUMPDEST
000001a4: CALLVALUE
000001a5: PUSH2 0x019f
000001a8: JUMPI
000001a9: PUSH0
000001aa: CALLDATASIZE
000001ab: PUSH1 0x03
000001ad: NOT
000001ae: ADD
000001af: SLT
000001b0: PUSH2 0x019f
000001b3: JUMPI
000001b4: PUSH1 0x20
000001b6: PUSH1 0x31
000001b8: SLOAD
000001b9: PUSH1 0x40
000001bb: MLOAD
000001bc: SWAP1
000001bd: DUP2
000001be: MSTORE
000001bf: RETURN
000001c0: JUMPDEST
000001c1: CALLVALUE
000001c2: PUSH2 0x019f
000001c5: JUMPI
000001c6: PUSH0
000001c7: CALLDATASIZE
000001c8: PUSH1 0x03
000001ca: NOT
000001cb: ADD
000001cc: SLT
000001cd: PUSH2 0x019f
000001d0: JUMPI
000001d1: PUSH0
000001d2: DUP1
000001d3: MLOAD
000001d4: PUSH1 0x20
000001d6: PUSH2 0x109a
000001d9: DUP4
000001da: CODECOPY
000001db: DUP2
000001dc: MLOAD
000001dd: SWAP2
000001de: MSTORE
000001df: SLOAD
000001e0: PUSH1 0x40
000001e2: MLOAD
000001e3: PUSH1 0x01
000001e5: PUSH1 0x01
000001e7: PUSH1 0xa0
000001e9: SHL
000001ea: SUB
000001eb: SWAP1
000001ec: SWAP2
000001ed: AND
000001ee: DUP2
000001ef: MSTORE
000001f0: PUSH1 0x20
000001f2: SWAP1
000001f3: RETURN
000001f4: JUMPDEST
000001f5: CALLVALUE
000001f6: PUSH2 0x019f
000001f9: JUMPI
000001fa: PUSH0
000001fb: CALLDATASIZE
000001fc: PUSH1 0x03
000001fe: NOT
000001ff: ADD
00000200: SLT
00000201: PUSH2 0x019f
00000204: JUMPI
00000205: PUSH1 0x20
00000207: PUSH1 0x34
00000209: SLOAD
0000020a: PUSH1 0x40
0000020c: MLOAD
0000020d: SWAP1
0000020e: DUP2
0000020f: MSTORE
00000210: RETURN
00000211: JUMPDEST
00000212: PUSH1 0x40
00000214: CALLDATASIZE
00000215: PUSH1 0x03
00000217: NOT
00000218: ADD
00000219: SLT
0000021a: PUSH2 0x019f
0000021d: JUMPI
0000021e: PUSH2 0x0225
00000221: PUSH2 0x0d02
00000224: JUMP
00000225: JUMPDEST
00000226: PUSH1 0x24
00000228: CALLDATALOAD
00000229: SWAP1
0000022a: PUSH2 0x0231
0000022d: PUSH2 0x0dc4
00000230: JUMP
00000231: JUMPDEST
00000232: PUSH2 0x0239
00000235: PUSH2 0x0deb
00000238: JUMP
00000239: JUMPDEST
0000023a: PUSH1 0x34
0000023c: SLOAD
0000023d: PUSH2 0x024a
00000240: DUP2
00000241: DUP5
00000242: DUP2
00000243: DUP2
00000244: LT
00000245: ISZERO
00000246: PUSH2 0x0d6a
00000249: JUMP
0000024a: JUMPDEST
0000024b: DUP3
0000024c: CALLVALUE
0000024d: SUB
0000024e: PUSH2 0x02b8
00000251: JUMPI
00000252: PUSH1 0x20
00000254: SWAP3
00000255: PUSH2 0x025f
00000258: PUSH1 0x31
0000025a: SLOAD
0000025b: PUSH2 0x0d87
0000025e: JUMP
0000025f: JUMPDEST
00000260: SWAP3
00000261: DUP4
00000262: SWAP3
00000263: DUP4
00000264: PUSH1 0x31
00000266: SSTORE
00000267: PUSH1 0x40
00000269: MLOAD
0000026a: SWAP3
0000026b: DUP4
0000026c: MSTORE
0000026d: DUP6
0000026e: DUP4
0000026f: ADD
00000270: MSTORE
00000271: PUSH1 0x01
00000273: DUP1
00000274: PUSH1 0xa0
00000276: SHL
00000277: SUB
00000278: AND
00000279: SWAP1
0000027a: PUSH32 0xb6167f4688b09f3299421570723fc91f0bd78d6f55e8d51fbfca3bfbda7a2664
0000029b: PUSH1 0x40
0000029d: CALLER
0000029e: SWAP3
0000029f: LOG4
000002a0: PUSH1 0x01
000002a2: PUSH0
000002a3: DUP1
000002a4: MLOAD
000002a5: PUSH1 0x20
000002a7: PUSH2 0x105a
000002aa: DUP4
000002ab: CODECOPY
000002ac: DUP2
000002ad: MLOAD
000002ae: SWAP2
000002af: MSTORE
000002b0: SSTORE
000002b1: PUSH1 0x40
000002b3: MLOAD
000002b4: SWAP1
000002b5: DUP2
000002b6: MSTORE
000002b7: RETURN
000002b8: JUMPDEST
000002b9: DUP3
000002ba: PUSH4 0x1adb52ef
000002bf: PUSH1 0xe2
000002c1: SHL
000002c2: PUSH0
000002c3: MSTORE
000002c4: CALLVALUE
000002c5: PUSH1 0x04
000002c7: MSTORE
000002c8: PUSH1 0x24
000002ca: MSTORE
000002cb: PUSH1 0x44
000002cd: PUSH0
000002ce: REVERT
000002cf: JUMPDEST
000002d0: CALLVALUE
000002d1: PUSH2 0x019f
000002d4: JUMPI
000002d5: PUSH0
000002d6: CALLDATASIZE
000002d7: PUSH1 0x03
000002d9: NOT
000002da: ADD
000002db: SLT
000002dc: PUSH2 0x019f
000002df: JUMPI
000002e0: PUSH1 0x40
000002e2: DUP1
000002e3: MLOAD
000002e4: SWAP1
000002e5: PUSH2 0x02ee
000002e8: DUP2
000002e9: DUP4
000002ea: PUSH2 0x0d18
000002ed: JUMP
000002ee: JUMPDEST
000002ef: PUSH1 0x05
000002f1: DUP3
000002f2: MSTORE
000002f3: PUSH1 0x20
000002f5: DUP3
000002f6: ADD
000002f7: SWAP2
000002f8: PUSH5 0x0352e302e3
000002fe: PUSH1 0xdc
00000300: SHL
00000301: DUP4
00000302: MSTORE
00000303: DUP2
00000304: MLOAD
00000305: SWAP3
00000306: DUP4
00000307: SWAP2
00000308: PUSH1 0x20
0000030a: DUP4
0000030b: MSTORE
0000030c: MLOAD
0000030d: DUP1
0000030e: SWAP2
0000030f: DUP2
00000310: PUSH1 0x20
00000312: DUP6
00000313: ADD
00000314: MSTORE
00000315: DUP5
00000316: DUP5
00000317: ADD
00000318: MCOPY
00000319: PUSH0
0000031a: DUP3
0000031b: DUP3
0000031c: ADD
0000031d: DUP5
0000031e: ADD
0000031f: MSTORE
00000320: PUSH1 0x1f
00000322: ADD
00000323: PUSH1 0x1f
00000325: NOT
00000326: AND
00000327: DUP2
00000328: ADD
00000329: SUB
0000032a: ADD
0000032b: SWAP1
0000032c: RETURN
0000032d: JUMPDEST
0000032e: CALLVALUE
0000032f: PUSH2 0x019f
00000332: JUMPI
00000333: PUSH0
00000334: CALLDATASIZE
00000335: PUSH1 0x03
00000337: NOT
00000338: ADD
00000339: SLT
0000033a: PUSH2 0x019f
0000033d: JUMPI
0000033e: PUSH1 0x20
00000340: PUSH1 0x32
00000342: SLOAD
00000343: PUSH1 0x40
00000345: MLOAD
00000346: SWAP1
00000347: DUP2
00000348: MSTORE
00000349: RETURN
0000034a: JUMPDEST
0000034b: CALLVALUE
0000034c: PUSH2 0x019f
0000034f: JUMPI
00000350: PUSH0
00000351: CALLDATASIZE
00000352: PUSH1 0x03
00000354: NOT
00000355: ADD
00000356: SLT
00000357: PUSH2 0x019f
0000035a: JUMPI
0000035b: PUSH0
0000035c: DUP1
0000035d: MLOAD
0000035e: PUSH1 0x20
00000360: PUSH2 0x0ffa
00000363: DUP4
00000364: CODECOPY
00000365: DUP2
00000366: MLOAD
00000367: SWAP2
00000368: MSTORE
00000369: SLOAD
0000036a: PUSH1 0x40
0000036c: MLOAD
0000036d: PUSH1 0x01
0000036f: PUSH1 0x01
00000371: PUSH1 0xa0
00000373: SHL
00000374: SUB
00000375: SWAP1
00000376: SWAP2
00000377: AND
00000378: DUP2
00000379: MSTORE
0000037a: PUSH1 0x20
0000037c: SWAP1
0000037d: RETURN
0000037e: JUMPDEST
0000037f: CALLVALUE
00000380: PUSH2 0x019f
00000383: JUMPI
00000384: PUSH0
00000385: CALLDATASIZE
00000386: PUSH1 0x03
00000388: NOT
00000389: ADD
0000038a: SLT
0000038b: PUSH2 0x019f
0000038e: JUMPI
0000038f: PUSH2 0x0396
00000392: PUSH2 0x0ee5
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x039e
0000039a: PUSH2 0x0dc4
0000039d: JUMP
0000039e: JUMPDEST
0000039f: PUSH1 0x01
000003a1: PUSH1 0xff
000003a3: NOT
000003a4: PUSH0
000003a5: DUP1
000003a6: MLOAD
000003a7: PUSH1 0x20
000003a9: PUSH2 0x103a
000003ac: DUP4
000003ad: CODECOPY
000003ae: DUP2
000003af: MLOAD
000003b0: SWAP2
000003b1: MSTORE
000003b2: SLOAD
000003b3: AND
000003b4: OR
000003b5: PUSH0
000003b6: DUP1
000003b7: MLOAD
000003b8: PUSH1 0x20
000003ba: PUSH2 0x103a
000003bd: DUP4
000003be: CODECOPY
000003bf: DUP2
000003c0: MLOAD
000003c1: SWAP2
000003c2: MSTORE
000003c3: SSTORE
000003c4: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
000003e5: PUSH1 0x20
000003e7: PUSH1 0x40
000003e9: MLOAD
000003ea: CALLER
000003eb: DUP2
000003ec: MSTORE
000003ed: LOG1
000003ee: STOP
000003ef: JUMPDEST
000003f0: CALLVALUE
000003f1: PUSH2 0x019f
000003f4: JUMPI
000003f5: PUSH0
000003f6: CALLDATASIZE
000003f7: PUSH1 0x03
000003f9: NOT
000003fa: ADD
000003fb: SLT
000003fc: PUSH2 0x019f
000003ff: JUMPI
00000400: PUSH1 0x33
00000402: SLOAD
00000403: PUSH1 0x40
00000405: MLOAD
00000406: PUSH1 0x01
00000408: PUSH1 0x01
0000040a: PUSH1 0xa0
0000040c: SHL
0000040d: SUB
0000040e: SWAP1
0000040f: SWAP2
00000410: AND
00000411: DUP2
00000412: MSTORE
00000413: PUSH1 0x20
00000415: SWAP1
00000416: RETURN
00000417: JUMPDEST
00000418: CALLVALUE
00000419: PUSH2 0x019f
0000041c: JUMPI
0000041d: PUSH0
0000041e: CALLDATASIZE
0000041f: PUSH1 0x03
00000421: NOT
00000422: ADD
00000423: SLT
00000424: PUSH2 0x019f
00000427: JUMPI
00000428: PUSH0
00000429: DUP1
0000042a: MLOAD
0000042b: PUSH1 0x20
0000042d: PUSH2 0x109a
00000430: DUP4
00000431: CODECOPY
00000432: DUP2
00000433: MLOAD
00000434: SWAP2
00000435: MSTORE
00000436: SLOAD
00000437: CALLER
00000438: PUSH1 0x01
0000043a: PUSH1 0x01
0000043c: PUSH1 0xa0
0000043e: SHL
0000043f: SUB
00000440: SWAP1
00000441: SWAP2
00000442: AND
00000443: SUB
00000444: PUSH2 0x0450
00000447: JUMPI
00000448: PUSH2 0x0023
0000044b: CALLER
0000044c: PUSH2 0x0f05
0000044f: JUMP
00000450: JUMPDEST
00000451: PUSH4 0x118cdaa7
00000456: PUSH1 0xe0
00000458: SHL
00000459: PUSH0
0000045a: MSTORE
0000045b: CALLER
0000045c: PUSH1 0x04
0000045e: MSTORE
0000045f: PUSH1 0x24
00000461: PUSH0
00000462: REVERT
00000463: JUMPDEST
00000464: CALLVALUE
00000465: PUSH2 0x019f
00000468: JUMPI
00000469: PUSH0
0000046a: CALLDATASIZE
0000046b: PUSH1 0x03
0000046d: NOT
0000046e: ADD
0000046f: SLT
00000470: PUSH2 0x019f
00000473: JUMPI
00000474: PUSH2 0x047b
00000477: PUSH2 0x0ee5
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH0
0000047d: DUP1
0000047e: MLOAD
0000047f: PUSH1 0x20
00000481: PUSH2 0x109a
00000484: DUP4
00000485: CODECOPY
00000486: DUP2
00000487: MLOAD
00000488: SWAP2
00000489: MSTORE
0000048a: DUP1
0000048b: SLOAD
0000048c: PUSH1 0x01
0000048e: PUSH1 0x01
00000490: PUSH1 0xa0
00000492: SHL
00000493: SUB
00000494: NOT
00000495: SWAP1
00000496: DUP2
00000497: AND
00000498: SWAP1
00000499: SWAP2
0000049a: SSTORE
0000049b: PUSH0
0000049c: DUP1
0000049d: MLOAD
0000049e: PUSH1 0x20
000004a0: PUSH2 0x0ffa
000004a3: DUP4
000004a4: CODECOPY
000004a5: DUP2
000004a6: MLOAD
000004a7: SWAP2
000004a8: MSTORE
000004a9: DUP1
000004aa: SLOAD
000004ab: SWAP2
000004ac: DUP3
000004ad: AND
000004ae: SWAP1
000004af: SSTORE
000004b0: PUSH0
000004b1: SWAP1
000004b2: PUSH1 0x01
000004b4: PUSH1 0x01
000004b6: PUSH1 0xa0
000004b8: SHL
000004b9: SUB
000004ba: AND
000004bb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000004dc: DUP3
000004dd: DUP1
000004de: LOG3
000004df: STOP
000004e0: JUMPDEST
000004e1: CALLVALUE
000004e2: PUSH2 0x019f
000004e5: JUMPI
000004e6: PUSH1 0x20
000004e8: CALLDATASIZE
000004e9: PUSH1 0x03
000004eb: NOT
000004ec: ADD
000004ed: SLT
000004ee: PUSH2 0x019f
000004f1: JUMPI
000004f2: PUSH2 0x04f9
000004f5: PUSH2 0x0d02
000004f8: JUMP
000004f9: JUMPDEST
000004fa: PUSH2 0x0501
000004fd: PUSH2 0x0ee5
00000500: JUMP
00000501: JUMPDEST
00000502: PUSH1 0x01
00000504: PUSH1 0x01
00000506: PUSH1 0xa0
00000508: SHL
00000509: SUB
0000050a: AND
0000050b: DUP1
0000050c: ISZERO
0000050d: PUSH2 0x0548
00000510: JUMPI
00000511: PUSH1 0x33
00000513: DUP1
00000514: SLOAD
00000515: PUSH1 0x01
00000517: PUSH1 0x01
00000519: PUSH1 0xa0
0000051b: SHL
0000051c: SUB
0000051d: NOT
0000051e: AND
0000051f: DUP3
00000520: OR
00000521: SWAP1
00000522: SSTORE
00000523: PUSH32 0xb7041340e0c2a075059bf0488a71c767724be15dae8e737f8460007325e8d857
00000544: PUSH0
00000545: DUP1
00000546: LOG2
00000547: STOP
00000548: JUMPDEST
00000549: PUSH4 0x956358c1
0000054e: PUSH1 0xe0
00000550: SHL
00000551: PUSH0
00000552: MSTORE
00000553: PUSH1 0x04
00000555: PUSH0
00000556: REVERT
00000557: JUMPDEST
00000558: CALLVALUE
00000559: PUSH2 0x019f
0000055c: JUMPI
0000055d: PUSH0
0000055e: CALLDATASIZE
0000055f: PUSH1 0x03
00000561: NOT
00000562: ADD
00000563: SLT
00000564: PUSH2 0x019f
00000567: JUMPI
00000568: PUSH1 0x20
0000056a: PUSH1 0xff
0000056c: PUSH0
0000056d: DUP1
0000056e: MLOAD
0000056f: PUSH1 0x20
00000571: PUSH2 0x103a
00000574: DUP4
00000575: CODECOPY
00000576: DUP2
00000577: MLOAD
00000578: SWAP2
00000579: MSTORE
0000057a: SLOAD
0000057b: AND
0000057c: PUSH1 0x40
0000057e: MLOAD
0000057f: SWAP1
00000580: ISZERO
00000581: ISZERO
00000582: DUP2
00000583: MSTORE
00000584: RETURN
00000585: JUMPDEST
00000586: CALLVALUE
00000587: PUSH2 0x019f
0000058a: JUMPI
0000058b: PUSH1 0x20
0000058d: CALLDATASIZE
0000058e: PUSH1 0x03
00000590: NOT
00000591: ADD
00000592: SLT
00000593: PUSH2 0x019f
00000596: JUMPI
00000597: PUSH1 0x04
00000599: CALLDATALOAD
0000059a: PUSH2 0x05a1
0000059d: PUSH2 0x0ee5
000005a0: JUMP
000005a1: JUMPDEST
000005a2: DUP1
000005a3: ISZERO
000005a4: PUSH2 0x05d8
000005a7: JUMPI
000005a8: PUSH1 0x20
000005aa: DUP2
000005ab: PUSH32 0xfd0467d48910fb6e6de1f4e0b9eedc9e04a7c227bad40d827a84a2b650ec0b7f
000005cc: SWAP3
000005cd: PUSH1 0x34
000005cf: SSTORE
000005d0: PUSH1 0x40
000005d2: MLOAD
000005d3: SWAP1
000005d4: DUP2
000005d5: MSTORE
000005d6: LOG1
000005d7: STOP
000005d8: JUMPDEST
000005d9: PUSH4 0x7856cc13
000005de: PUSH1 0xe0
000005e0: SHL
000005e1: PUSH0
000005e2: MSTORE
000005e3: PUSH1 0x04
000005e5: MSTORE
000005e6: PUSH1 0x24
000005e8: PUSH0
000005e9: REVERT
000005ea: JUMPDEST
000005eb: CALLVALUE
000005ec: PUSH2 0x019f
000005ef: JUMPI
000005f0: PUSH0
000005f1: CALLDATASIZE
000005f2: PUSH1 0x03
000005f4: NOT
000005f5: ADD
000005f6: SLT
000005f7: PUSH2 0x019f
000005fa: JUMPI
000005fb: PUSH32 0x0000000000000000000000001f1181a53e1ec365bc8723df8109cf1fb96e49db
0000061c: PUSH1 0x01
0000061e: PUSH1 0x01
00000620: PUSH1 0xa0
00000622: SHL
00000623: SUB
00000624: AND
00000625: ADDRESS
00000626: SUB
00000627: PUSH2 0x0641
0000062a: JUMPI
0000062b: PUSH1 0x20
0000062d: PUSH1 0x40
0000062f: MLOAD
00000630: PUSH0
00000631: DUP1
00000632: MLOAD
00000633: PUSH1 0x20
00000635: PUSH2 0x101a
00000638: DUP4
00000639: CODECOPY
0000063a: DUP2
0000063b: MLOAD
0000063c: SWAP2
0000063d: MSTORE
0000063e: DUP2
0000063f: MSTORE
00000640: RETURN
00000641: JUMPDEST
00000642: PUSH4 0x703e46dd
00000647: PUSH1 0xe1
00000649: SHL
0000064a: PUSH0
0000064b: MSTORE
0000064c: PUSH1 0x04
0000064e: PUSH0
0000064f: REVERT
00000650: JUMPDEST
00000651: CALLVALUE
00000652: PUSH2 0x019f
00000655: JUMPI
00000656: PUSH1 0x20
00000658: CALLDATASIZE
00000659: PUSH1 0x03
0000065b: NOT
0000065c: ADD
0000065d: SLT
0000065e: PUSH2 0x019f
00000661: JUMPI
00000662: PUSH2 0x0669
00000665: PUSH2 0x0d02
00000668: JUMP
00000669: JUMPDEST
0000066a: PUSH2 0x0671
0000066d: PUSH2 0x0dc4
00000670: JUMP
00000671: JUMPDEST
00000672: PUSH2 0x0679
00000675: PUSH2 0x0deb
00000678: JUMP
00000679: JUMPDEST
0000067a: PUSH1 0x01
0000067c: PUSH1 0x01
0000067e: PUSH1 0xa0
00000680: SHL
00000681: SUB
00000682: DUP2
00000683: AND
00000684: PUSH0
00000685: DUP2
00000686: DUP2
00000687: MSTORE
00000688: PUSH1 0x20
0000068a: DUP2
0000068b: SWAP1
0000068c: MSTORE
0000068d: PUSH1 0x40
0000068f: SWAP1
00000690: KECCAK256
00000691: SLOAD
00000692: SWAP1
00000693: SWAP2
00000694: DUP2
00000695: ISZERO
00000696: PUSH2 0x070d
00000699: JUMPI
0000069a: PUSH0
0000069b: DUP1
0000069c: DUP1
0000069d: DUP5
0000069e: DUP2
0000069f: SWAP5
000006a0: DUP8
000006a1: DUP4
000006a2: MSTORE
000006a3: DUP3
000006a4: PUSH1 0x20
000006a6: MSTORE
000006a7: DUP3
000006a8: PUSH1 0x40
000006aa: DUP2
000006ab: KECCAK256
000006ac: SSTORE
000006ad: GAS
000006ae: CALL
000006af: PUSH2 0x06b6
000006b2: PUSH2 0x0d95
000006b5: JUMP
000006b6: JUMPDEST
000006b7: POP
000006b8: ISZERO
000006b9: PUSH2 0x06fa
000006bc: JUMPI
000006bd: PUSH1 0x20
000006bf: PUSH32 0x2e1ece5fb4a04cb9407bb825ceb4c6d6d402c18ba1cbe2054241fb1a86fd58da
000006e0: SWAP2
000006e1: PUSH1 0x40
000006e3: MLOAD
000006e4: SWAP1
000006e5: DUP2
000006e6: MSTORE
000006e7: LOG2
000006e8: PUSH1 0x01
000006ea: PUSH0
000006eb: DUP1
000006ec: MLOAD
000006ed: PUSH1 0x20
000006ef: PUSH2 0x105a
000006f2: DUP4
000006f3: CODECOPY
000006f4: DUP2
000006f5: MLOAD
000006f6: SWAP2
000006f7: MSTORE
000006f8: SSTORE
000006f9: STOP
000006fa: JUMPDEST
000006fb: POP
000006fc: PUSH4 0x39f1c8d9
00000701: PUSH1 0xe0
00000703: SHL
00000704: PUSH0
00000705: MSTORE
00000706: PUSH1 0x04
00000708: MSTORE
00000709: PUSH1 0x24
0000070b: PUSH0
0000070c: REVERT
0000070d: JUMPDEST
0000070e: DUP3
0000070f: PUSH4 0x25215d4f
00000714: PUSH1 0xe1
00000716: SHL
00000717: PUSH0
00000718: MSTORE
00000719: PUSH1 0x04
0000071b: MSTORE
0000071c: PUSH1 0x24
0000071e: PUSH0
0000071f: REVERT
00000720: JUMPDEST
00000721: PUSH1 0x40
00000723: CALLDATASIZE
00000724: PUSH1 0x03
00000726: NOT
00000727: ADD
00000728: SLT
00000729: PUSH2 0x019f
0000072c: JUMPI
0000072d: PUSH2 0x0734
00000730: PUSH2 0x0d02
00000733: JUMP
00000734: JUMPDEST
00000735: PUSH1 0x24
00000737: CALLDATALOAD
00000738: SWAP1
00000739: PUSH8 0xffffffffffffffff
00000742: DUP3
00000743: GT
00000744: PUSH2 0x019f
00000747: JUMPI
00000748: CALLDATASIZE
00000749: PUSH1 0x23
0000074b: DUP4
0000074c: ADD
0000074d: SLT
0000074e: ISZERO
0000074f: PUSH2 0x019f
00000752: JUMPI
00000753: DUP2
00000754: PUSH1 0x04
00000756: ADD
00000757: CALLDATALOAD
00000758: SWAP1
00000759: PUSH2 0x0761
0000075c: DUP3
0000075d: PUSH2 0x0d4e
00000760: JUMP
00000761: JUMPDEST
00000762: SWAP2
00000763: PUSH2 0x076f
00000766: PUSH1 0x40
00000768: MLOAD
00000769: SWAP4
0000076a: DUP5
0000076b: PUSH2 0x0d18
0000076e: JUMP
0000076f: JUMPDEST
00000770: DUP1
00000771: DUP4
00000772: MSTORE
00000773: PUSH1 0x20
00000775: DUP4
00000776: ADD
00000777: SWAP4
00000778: CALLDATASIZE
00000779: PUSH1 0x24
0000077b: DUP4
0000077c: DUP4
0000077d: ADD
0000077e: ADD
0000077f: GT
00000780: PUSH2 0x019f
00000783: JUMPI
00000784: DUP2
00000785: PUSH0
00000786: SWAP3
00000787: PUSH1 0x24
00000789: PUSH1 0x20
0000078b: SWAP4
0000078c: ADD
0000078d: DUP8
0000078e: CALLDATACOPY
0000078f: DUP5
00000790: ADD
00000791: ADD
00000792: MSTORE
00000793: PUSH1 0x01
00000795: PUSH1 0x01
00000797: PUSH1 0xa0
00000799: SHL
0000079a: SUB
0000079b: PUSH32 0x0000000000000000000000001f1181a53e1ec365bc8723df8109cf1fb96e49db
000007bc: AND
000007bd: ADDRESS
000007be: DUP2
000007bf: EQ
000007c0: SWAP1
000007c1: DUP2
000007c2: ISZERO
000007c3: PUSH2 0x0908
000007c6: JUMPI
000007c7: JUMPDEST
000007c8: POP
000007c9: PUSH2 0x0641
000007cc: JUMPI
000007cd: PUSH2 0x07d4
000007d0: PUSH2 0x0ee5
000007d3: JUMP
000007d4: JUMPDEST
000007d5: PUSH1 0x40
000007d7: MLOAD
000007d8: PUSH4 0x52d1902d
000007dd: PUSH1 0xe0
000007df: SHL
000007e0: DUP2
000007e1: MSTORE
000007e2: PUSH1 0x01
000007e4: PUSH1 0x01
000007e6: PUSH1 0xa0
000007e8: SHL
000007e9: SUB
000007ea: DUP3
000007eb: AND
000007ec: SWAP4
000007ed: SWAP1
000007ee: PUSH1 0x20
000007f0: DUP2
000007f1: PUSH1 0x04
000007f3: DUP2
000007f4: DUP9
000007f5: GAS
000007f6: STATICCALL
000007f7: PUSH0
000007f8: SWAP2
000007f9: DUP2
000007fa: PUSH2 0x08d4
000007fd: JUMPI
000007fe: JUMPDEST
000007ff: POP
00000800: PUSH2 0x0816
00000803: JUMPI
00000804: DUP5
00000805: PUSH4 0x4c9c8ce3
0000080a: PUSH1 0xe0
0000080c: SHL
0000080d: PUSH0
0000080e: MSTORE
0000080f: PUSH1 0x04
00000811: MSTORE
00000812: PUSH1 0x24
00000814: PUSH0
00000815: REVERT
00000816: JUMPDEST
00000817: DUP1
00000818: PUSH0
00000819: DUP1
0000081a: MLOAD
0000081b: PUSH1 0x20
0000081d: PUSH2 0x101a
00000820: DUP4
00000821: CODECOPY
00000822: DUP2
00000823: MLOAD
00000824: SWAP2
00000825: MSTORE
00000826: DUP7
00000827: SWAP3
00000828: SUB
00000829: PUSH2 0x08c2
0000082c: JUMPI
0000082d: POP
0000082e: DUP3
0000082f: EXTCODESIZE
00000830: ISZERO
00000831: PUSH2 0x08b0
00000834: JUMPI
00000835: PUSH0
00000836: DUP1
00000837: MLOAD
00000838: PUSH1 0x20
0000083a: PUSH2 0x101a
0000083d: DUP4
0000083e: CODECOPY
0000083f: DUP2
00000840: MLOAD
00000841: SWAP2
00000842: MSTORE
00000843: DUP1
00000844: SLOAD
00000845: PUSH1 0x01
00000847: PUSH1 0x01
00000849: PUSH1 0xa0
0000084b: SHL
0000084c: SUB
0000084d: NOT
0000084e: AND
0000084f: DUP3
00000850: OR
00000851: SWAP1
00000852: SSTORE
00000853: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00000874: PUSH0
00000875: DUP1
00000876: LOG2
00000877: DUP3
00000878: MLOAD
00000879: ISZERO
0000087a: PUSH2 0x0897
0000087d: JUMPI
0000087e: PUSH0
0000087f: DUP1
00000880: SWAP2
00000881: PUSH2 0x0023
00000884: SWAP5
00000885: MLOAD
00000886: SWAP1
00000887: DUP5
00000888: GAS
00000889: DELEGATECALL
0000088a: PUSH2 0x0891
0000088d: PUSH2 0x0d95
00000890: JUMP
00000891: JUMPDEST
00000892: SWAP2
00000893: PUSH2 0x0f9b
00000896: JUMP
00000897: JUMPDEST
00000898: POP
00000899: POP
0000089a: POP
0000089b: CALLVALUE
0000089c: PUSH2 0x08a1
0000089f: JUMPI
000008a0: STOP
000008a1: JUMPDEST
000008a2: PUSH4 0xb398979f
000008a7: PUSH1 0xe0
000008a9: SHL
000008aa: PUSH0
000008ab: MSTORE
000008ac: PUSH1 0x04
000008ae: PUSH0
000008af: REVERT
000008b0: JUMPDEST
000008b1: PUSH4 0x4c9c8ce3
000008b6: PUSH1 0xe0
000008b8: SHL
000008b9: PUSH0
000008ba: MSTORE
000008bb: PUSH1 0x04
000008bd: MSTORE
000008be: PUSH1 0x24
000008c0: PUSH0
000008c1: REVERT
000008c2: JUMPDEST
000008c3: PUSH4 0x2a875269
000008c8: PUSH1 0xe2
000008ca: SHL
000008cb: PUSH0
000008cc: MSTORE
000008cd: PUSH1 0x04
000008cf: MSTORE
000008d0: PUSH1 0x24
000008d2: PUSH0
000008d3: REVERT
000008d4: JUMPDEST
000008d5: SWAP1
000008d6: SWAP2
000008d7: POP
000008d8: PUSH1 0x20
000008da: DUP2
000008db: RETURNDATASIZE
000008dc: PUSH1 0x20
000008de: GT
000008df: PUSH2 0x0900
000008e2: JUMPI
000008e3: JUMPDEST
000008e4: DUP2
000008e5: PUSH2 0x08f0
000008e8: PUSH1 0x20
000008ea: SWAP4
000008eb: DUP4
000008ec: PUSH2 0x0d18
000008ef: JUMP
000008f0: JUMPDEST
000008f1: DUP2
000008f2: ADD
000008f3: SUB
000008f4: SLT
000008f5: PUSH2 0x019f
000008f8: JUMPI
000008f9: MLOAD
000008fa: SWAP1
000008fb: DUP7
000008fc: PUSH2 0x07fe
000008ff: JUMP
00000900: JUMPDEST
00000901: RETURNDATASIZE
00000902: SWAP2
00000903: POP
00000904: PUSH2 0x08e3
00000907: JUMP
00000908: JUMPDEST
00000909: PUSH0
0000090a: DUP1
0000090b: MLOAD
0000090c: PUSH1 0x20
0000090e: PUSH2 0x101a
00000911: DUP4
00000912: CODECOPY
00000913: DUP2
00000914: MLOAD
00000915: SWAP2
00000916: MSTORE
00000917: SLOAD
00000918: PUSH1 0x01
0000091a: PUSH1 0x01
0000091c: PUSH1 0xa0
0000091e: SHL
0000091f: SUB
00000920: AND
00000921: EQ
00000922: ISZERO
00000923: SWAP1
00000924: POP
00000925: DUP5
00000926: PUSH2 0x07c7
00000929: JUMP
0000092a: JUMPDEST
0000092b: CALLVALUE
0000092c: PUSH2 0x019f
0000092f: JUMPI
00000930: PUSH0
00000931: CALLDATASIZE
00000932: PUSH1 0x03
00000934: NOT
00000935: ADD
00000936: SLT
00000937: PUSH2 0x019f
0000093a: JUMPI
0000093b: PUSH2 0x0942
0000093e: PUSH2 0x0ee5
00000941: JUMP
00000942: JUMPDEST
00000943: PUSH0
00000944: DUP1
00000945: MLOAD
00000946: PUSH1 0x20
00000948: PUSH2 0x103a
0000094b: DUP4
0000094c: CODECOPY
0000094d: DUP2
0000094e: MLOAD
0000094f: SWAP2
00000950: MSTORE
00000951: SLOAD
00000952: PUSH1 0xff
00000954: DUP2
00000955: AND
00000956: ISZERO
00000957: PUSH2 0x0999
0000095a: JUMPI
0000095b: PUSH1 0xff
0000095d: NOT
0000095e: AND
0000095f: PUSH0
00000960: DUP1
00000961: MLOAD
00000962: PUSH1 0x20
00000964: PUSH2 0x103a
00000967: DUP4
00000968: CODECOPY
00000969: DUP2
0000096a: MLOAD
0000096b: SWAP2
0000096c: MSTORE
0000096d: SSTORE
0000096e: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
0000098f: PUSH1 0x20
00000991: PUSH1 0x40
00000993: MLOAD
00000994: CALLER
00000995: DUP2
00000996: MSTORE
00000997: LOG1
00000998: STOP
00000999: JUMPDEST
0000099a: PUSH4 0x8dfc202b
0000099f: PUSH1 0xe0
000009a1: SHL
000009a2: PUSH0
000009a3: MSTORE
000009a4: PUSH1 0x04
000009a6: PUSH0
000009a7: REVERT
000009a8: JUMPDEST
000009a9: CALLVALUE
000009aa: PUSH2 0x019f
000009ad: JUMPI
000009ae: PUSH1 0x20
000009b0: CALLDATASIZE
000009b1: PUSH1 0x03
000009b3: NOT
000009b4: ADD
000009b5: SLT
000009b6: PUSH2 0x019f
000009b9: JUMPI
000009ba: PUSH1 0x01
000009bc: PUSH1 0x01
000009be: PUSH1 0xa0
000009c0: SHL
000009c1: SUB
000009c2: PUSH2 0x09c9
000009c5: PUSH2 0x0d02
000009c8: JUMP
000009c9: JUMPDEST
000009ca: AND
000009cb: PUSH0
000009cc: MSTORE
000009cd: PUSH0
000009ce: PUSH1 0x20
000009d0: MSTORE
000009d1: PUSH1 0x20
000009d3: PUSH1 0x40
000009d5: PUSH0
000009d6: KECCAK256
000009d7: SLOAD
000009d8: PUSH1 0x40
000009da: MLOAD
000009db: SWAP1
000009dc: DUP2
000009dd: MSTORE
000009de: RETURN
000009df: JUMPDEST
000009e0: CALLVALUE
000009e1: PUSH2 0x019f
000009e4: JUMPI
000009e5: PUSH1 0x60
000009e7: CALLDATASIZE
000009e8: PUSH1 0x03
000009ea: NOT
000009eb: ADD
000009ec: SLT
000009ed: PUSH2 0x019f
000009f0: JUMPI
000009f1: PUSH2 0x09f8
000009f4: PUSH2 0x0d02
000009f7: JUMP
000009f8: JUMPDEST
000009f9: PUSH1 0x24
000009fb: CALLDATALOAD
000009fc: PUSH1 0x01
000009fe: PUSH1 0x01
00000a00: PUSH1 0xa0
00000a02: SHL
00000a03: SUB
00000a04: DUP2
00000a05: AND
00000a06: SWAP2
00000a07: SWAP1
00000a08: DUP3
00000a09: SWAP1
00000a0a: SUB
00000a0b: PUSH2 0x019f
00000a0e: JUMPI
00000a0f: PUSH0
00000a10: DUP1
00000a11: MLOAD
00000a12: PUSH1 0x20
00000a14: PUSH2 0x107a
00000a17: DUP4
00000a18: CODECOPY
00000a19: DUP2
00000a1a: MLOAD
00000a1b: SWAP2
00000a1c: MSTORE
00000a1d: SLOAD
00000a1e: SWAP2
00000a1f: PUSH1 0xff
00000a21: DUP4
00000a22: PUSH1 0x40
00000a24: SHR
00000a25: AND
00000a26: ISZERO
00000a27: SWAP3
00000a28: PUSH8 0xffffffffffffffff
00000a31: DUP2
00000a32: AND
00000a33: DUP1
00000a34: ISZERO
00000a35: SWAP1
00000a36: DUP2
00000a37: PUSH2 0x0bd7
00000a3a: JUMPI
00000a3b: JUMPDEST
00000a3c: PUSH1 0x01
00000a3e: EQ
00000a3f: SWAP1
00000a40: DUP2
00000a41: PUSH2 0x0bcd
00000a44: JUMPI
00000a45: JUMPDEST
00000a46: ISZERO
00000a47: SWAP1
00000a48: DUP2
00000a49: PUSH2 0x0bc4
00000a4c: JUMPI
00000a4d: JUMPDEST
00000a4e: POP
00000a4f: PUSH2 0x0bb5
00000a52: JUMPI
00000a53: PUSH8 0xffffffffffffffff
00000a5c: NOT
00000a5d: DUP2
00000a5e: AND
00000a5f: PUSH1 0x01
00000a61: OR
00000a62: PUSH0
00000a63: DUP1
00000a64: MLOAD
00000a65: PUSH1 0x20
00000a67: PUSH2 0x107a
00000a6a: DUP4
00000a6b: CODECOPY
00000a6c: DUP2
00000a6d: MLOAD
00000a6e: SWAP2
00000a6f: MSTORE
00000a70: SSTORE
00000a71: DUP4
00000a72: PUSH2 0x0b89
00000a75: JUMPI
00000a76: JUMPDEST
00000a77: POP
00000a78: PUSH12 0xffffffffffffffffffffffff
00000a85: PUSH1 0xa0
00000a87: SHL
00000a88: PUSH1 0x33
00000a8a: SLOAD
00000a8b: AND
00000a8c: OR
00000a8d: PUSH1 0x33
00000a8f: SSTORE
00000a90: PUSH1 0x44
00000a92: CALLDATALOAD
00000a93: PUSH1 0x34
00000a95: SSTORE
00000a96: PUSH0
00000a97: PUSH1 0x31
00000a99: SSTORE
00000a9a: PUSH1 0x01
00000a9c: PUSH1 0x32
00000a9e: SSTORE
00000a9f: PUSH2 0x0aa6
00000aa2: PUSH2 0x0f70
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: PUSH2 0x0aae
00000aaa: PUSH2 0x0f70
00000aad: JUMP
00000aae: JUMPDEST
00000aaf: PUSH1 0x01
00000ab1: PUSH1 0x01
00000ab3: PUSH1 0xa0
00000ab5: SHL
00000ab6: SUB
00000ab7: DUP2
00000ab8: AND
00000ab9: ISZERO
00000aba: PUSH2 0x0b76
00000abd: JUMPI
00000abe: PUSH2 0x0ac6
00000ac1: SWAP1
00000ac2: PUSH2 0x0f05
00000ac5: JUMP
00000ac6: JUMPDEST
00000ac7: PUSH2 0x0ace
00000aca: PUSH2 0x0f70
00000acd: JUMP
00000ace: JUMPDEST
00000acf: PUSH2 0x0ad6
00000ad2: PUSH2 0x0f70
00000ad5: JUMP
00000ad6: JUMPDEST
00000ad7: PUSH1 0xff
00000ad9: NOT
00000ada: PUSH0
00000adb: DUP1
00000adc: MLOAD
00000add: PUSH1 0x20
00000adf: PUSH2 0x103a
00000ae2: DUP4
00000ae3: CODECOPY
00000ae4: DUP2
00000ae5: MLOAD
00000ae6: SWAP2
00000ae7: MSTORE
00000ae8: SLOAD
00000ae9: AND
00000aea: PUSH0
00000aeb: DUP1
00000aec: MLOAD
00000aed: PUSH1 0x20
00000aef: PUSH2 0x103a
00000af2: DUP4
00000af3: CODECOPY
00000af4: DUP2
00000af5: MLOAD
00000af6: SWAP2
00000af7: MSTORE
00000af8: SSTORE
00000af9: PUSH2 0x0b00
00000afc: PUSH2 0x0f70
00000aff: JUMP
00000b00: JUMPDEST
00000b01: PUSH2 0x0b08
00000b04: PUSH2 0x0f70
00000b07: JUMP
00000b08: JUMPDEST
00000b09: PUSH1 0x01
00000b0b: PUSH0
00000b0c: DUP1
00000b0d: MLOAD
00000b0e: PUSH1 0x20
00000b10: PUSH2 0x105a
00000b13: DUP4
00000b14: CODECOPY
00000b15: DUP2
00000b16: MLOAD
00000b17: SWAP2
00000b18: MSTORE
00000b19: SSTORE
00000b1a: PUSH2 0x0b1f
00000b1d: JUMPI
00000b1e: STOP
00000b1f: JUMPDEST
00000b20: PUSH9 0xff0000000000000000
00000b2a: NOT
00000b2b: PUSH0
00000b2c: DUP1
00000b2d: MLOAD
00000b2e: PUSH1 0x20
00000b30: PUSH2 0x107a
00000b33: DUP4
00000b34: CODECOPY
00000b35: DUP2
00000b36: MLOAD
00000b37: SWAP2
00000b38: MSTORE
00000b39: SLOAD
00000b3a: AND
00000b3b: PUSH0
00000b3c: DUP1
00000b3d: MLOAD
00000b3e: PUSH1 0x20
00000b40: PUSH2 0x107a
00000b43: DUP4
00000b44: CODECOPY
00000b45: DUP2
00000b46: MLOAD
00000b47: SWAP2
00000b48: MSTORE
00000b49: SSTORE
00000b4a: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00000b6b: PUSH1 0x20
00000b6d: PUSH1 0x40
00000b6f: MLOAD
00000b70: PUSH1 0x01
00000b72: DUP2
00000b73: MSTORE
00000b74: LOG1
00000b75: STOP
00000b76: JUMPDEST
00000b77: PUSH4 0x1e4fbdf7
00000b7c: PUSH1 0xe0
00000b7e: SHL
00000b7f: PUSH0
00000b80: MSTORE
00000b81: PUSH0
00000b82: PUSH1 0x04
00000b84: MSTORE
00000b85: PUSH1 0x24
00000b87: PUSH0
00000b88: REVERT
00000b89: JUMPDEST
00000b8a: PUSH9 0xffffffffffffffffff
00000b94: NOT
00000b95: AND
00000b96: PUSH9 0x010000000000000001
00000ba0: OR
00000ba1: PUSH0
00000ba2: DUP1
00000ba3: MLOAD
00000ba4: PUSH1 0x20
00000ba6: PUSH2 0x107a
00000ba9: DUP4
00000baa: CODECOPY
00000bab: DUP2
00000bac: MLOAD
00000bad: SWAP2
00000bae: MSTORE
00000baf: SSTORE
00000bb0: DUP4
00000bb1: PUSH2 0x0a76
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: PUSH4 0xf92ee8a9
00000bbb: PUSH1 0xe0
00000bbd: SHL
00000bbe: PUSH0
00000bbf: MSTORE
00000bc0: PUSH1 0x04
00000bc2: PUSH0
00000bc3: REVERT
00000bc4: JUMPDEST
00000bc5: SWAP1
00000bc6: POP
00000bc7: ISZERO
00000bc8: DUP6
00000bc9: PUSH2 0x0a4d
00000bcc: JUMP
00000bcd: JUMPDEST
00000bce: ADDRESS
00000bcf: EXTCODESIZE
00000bd0: ISZERO
00000bd1: SWAP2
00000bd2: POP
00000bd3: PUSH2 0x0a45
00000bd6: JUMP
00000bd7: JUMPDEST
00000bd8: DUP6
00000bd9: SWAP2
00000bda: POP
00000bdb: PUSH2 0x0a3b
00000bde: JUMP
00000bdf: JUMPDEST
00000be0: CALLVALUE
00000be1: PUSH2 0x019f
00000be4: JUMPI
00000be5: PUSH1 0x80
00000be7: CALLDATASIZE
00000be8: PUSH1 0x03
00000bea: NOT
00000beb: ADD
00000bec: SLT
00000bed: PUSH2 0x019f
00000bf0: JUMPI
00000bf1: PUSH2 0x0bf8
00000bf4: PUSH2 0x0d02
00000bf7: JUMP
00000bf8: JUMPDEST
00000bf9: PUSH1 0x33
00000bfb: SLOAD
00000bfc: PUSH1 0x44
00000bfe: CALLDATALOAD
00000bff: SWAP2
00000c00: PUSH1 0x24
00000c02: CALLDATALOAD
00000c03: SWAP2
00000c04: PUSH1 0x64
00000c06: CALLDATALOAD
00000c07: SWAP1
00000c08: PUSH1 0x01
00000c0a: PUSH1 0x01
00000c0c: PUSH1 0xa0
00000c0e: SHL
00000c0f: SUB
00000c10: AND
00000c11: CALLER
00000c12: DUP2
00000c13: SWAP1
00000c14: SUB
00000c15: PUSH2 0x0cec
00000c18: JUMPI
00000c19: POP
00000c1a: PUSH2 0x0c21
00000c1d: PUSH2 0x0dc4
00000c20: JUMP
00000c21: JUMPDEST
00000c22: PUSH2 0x0c29
00000c25: PUSH2 0x0deb
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: PUSH2 0x0c37
00000c2d: DUP2
00000c2e: DUP5
00000c2f: DUP2
00000c30: DUP2
00000c31: LT
00000c32: ISZERO
00000c33: PUSH2 0x0d6a
00000c36: JUMP
00000c37: JUMPDEST
00000c38: PUSH1 0x32
00000c3a: SLOAD
00000c3b: DUP1
00000c3c: DUP6
00000c3d: SUB
00000c3e: PUSH2 0x0cd6
00000c41: JUMPI
00000c42: POP
00000c43: DUP1
00000c44: DUP4
00000c45: SUB
00000c46: SWAP2
00000c47: DUP4
00000c48: DUP4
00000c49: GT
00000c4a: PUSH2 0x0cc2
00000c4d: JUMPI
00000c4e: PUSH2 0x0c90
00000c51: PUSH1 0x20
00000c53: SWAP3
00000c54: PUSH2 0x0c7e
00000c57: DUP4
00000c58: PUSH32 0x8c1419715bf9fd4efa8c0fd1833ba527cbdd86f6018aa79102af32103bbfdefd
00000c79: SWAP7
00000c7a: PUSH2 0x0e23
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: PUSH1 0x33
00000c81: SLOAD
00000c82: PUSH1 0x01
00000c84: PUSH1 0x01
00000c86: PUSH1 0xa0
00000c88: SHL
00000c89: SUB
00000c8a: AND
00000c8b: SWAP1
00000c8c: PUSH2 0x0e23
00000c8f: JUMP
00000c90: JUMPDEST
00000c91: PUSH2 0x0c9b
00000c94: PUSH1 0x32
00000c96: SLOAD
00000c97: PUSH2 0x0d87
00000c9a: JUMP
00000c9b: JUMPDEST
00000c9c: PUSH1 0x32
00000c9e: SSTORE
00000c9f: PUSH1 0x40
00000ca1: MLOAD
00000ca2: SWAP4
00000ca3: DUP5
00000ca4: MSTORE
00000ca5: PUSH1 0x01
00000ca7: PUSH1 0x01
00000ca9: PUSH1 0xa0
00000cab: SHL
00000cac: SUB
00000cad: AND
00000cae: SWAP3
00000caf: LOG3
00000cb0: PUSH1 0x01
00000cb2: PUSH0
00000cb3: DUP1
00000cb4: MLOAD
00000cb5: PUSH1 0x20
00000cb7: PUSH2 0x105a
00000cba: DUP4
00000cbb: CODECOPY
00000cbc: DUP2
00000cbd: MLOAD
00000cbe: SWAP2
00000cbf: MSTORE
00000cc0: SSTORE
00000cc1: STOP
00000cc2: JUMPDEST
00000cc3: PUSH4 0x4e487b71
00000cc8: PUSH1 0xe0
00000cca: SHL
00000ccb: PUSH0
00000ccc: MSTORE
00000ccd: PUSH1 0x11
00000ccf: PUSH1 0x04
00000cd1: MSTORE
00000cd2: PUSH1 0x24
00000cd4: PUSH0
00000cd5: REVERT
00000cd6: JUMPDEST
00000cd7: DUP5
00000cd8: PUSH4 0x341a8705
00000cdd: PUSH1 0xe1
00000cdf: SHL
00000ce0: PUSH0
00000ce1: MSTORE
00000ce2: PUSH1 0x04
00000ce4: MSTORE
00000ce5: PUSH1 0x24
00000ce7: MSTORE
00000ce8: PUSH1 0x44
00000cea: PUSH0
00000ceb: REVERT
00000cec: JUMPDEST
00000ced: PUSH4 0x0658916b
00000cf2: PUSH1 0xe1
00000cf4: SHL
00000cf5: PUSH0
00000cf6: MSTORE
00000cf7: CALLER
00000cf8: PUSH1 0x04
00000cfa: MSTORE
00000cfb: PUSH1 0x24
00000cfd: MSTORE
00000cfe: PUSH1 0x44
00000d00: PUSH0
00000d01: REVERT
00000d02: JUMPDEST
00000d03: PUSH1 0x04
00000d05: CALLDATALOAD
00000d06: SWAP1
00000d07: PUSH1 0x01
00000d09: PUSH1 0x01
00000d0b: PUSH1 0xa0
00000d0d: SHL
00000d0e: SUB
00000d0f: DUP3
00000d10: AND
00000d11: DUP3
00000d12: SUB
00000d13: PUSH2 0x019f
00000d16: JUMPI
00000d17: JUMP
00000d18: JUMPDEST
00000d19: SWAP1
00000d1a: PUSH1 0x1f
00000d1c: DUP1
00000d1d: NOT
00000d1e: SWAP2
00000d1f: ADD
00000d20: AND
00000d21: DUP2
00000d22: ADD
00000d23: SWAP1
00000d24: DUP2
00000d25: LT
00000d26: PUSH8 0xffffffffffffffff
00000d2f: DUP3
00000d30: GT
00000d31: OR
00000d32: PUSH2 0x0d3a
00000d35: JUMPI
00000d36: PUSH1 0x40
00000d38: MSTORE
00000d39: JUMP
00000d3a: JUMPDEST
00000d3b: PUSH4 0x4e487b71
00000d40: PUSH1 0xe0
00000d42: SHL
00000d43: PUSH0
00000d44: MSTORE
00000d45: PUSH1 0x41
00000d47: PUSH1 0x04
00000d49: MSTORE
00000d4a: PUSH1 0x24
00000d4c: PUSH0
00000d4d: REVERT
00000d4e: JUMPDEST
00000d4f: PUSH8 0xffffffffffffffff
00000d58: DUP2
00000d59: GT
00000d5a: PUSH2 0x0d3a
00000d5d: JUMPI
00000d5e: PUSH1 0x1f
00000d60: ADD
00000d61: PUSH1 0x1f
00000d63: NOT
00000d64: AND
00000d65: PUSH1 0x20
00000d67: ADD
00000d68: SWAP1
00000d69: JUMP
00000d6a: JUMPDEST
00000d6b: ISZERO
00000d6c: PUSH2 0x0d73
00000d6f: JUMPI
00000d70: POP
00000d71: POP
00000d72: JUMP
00000d73: JUMPDEST
00000d74: PUSH3 0x5a5b27
00000d78: PUSH1 0xe3
00000d7a: SHL
00000d7b: PUSH0
00000d7c: MSTORE
00000d7d: PUSH1 0x04
00000d7f: MSTORE
00000d80: PUSH1 0x24
00000d82: MSTORE
00000d83: PUSH1 0x44
00000d85: PUSH0
00000d86: REVERT
00000d87: JUMPDEST
00000d88: PUSH0
00000d89: NOT
00000d8a: DUP2
00000d8b: EQ
00000d8c: PUSH2 0x0cc2
00000d8f: JUMPI
00000d90: PUSH1 0x01
00000d92: ADD
00000d93: SWAP1
00000d94: JUMP
00000d95: JUMPDEST
00000d96: RETURNDATASIZE
00000d97: ISZERO
00000d98: PUSH2 0x0dbf
00000d9b: JUMPI
00000d9c: RETURNDATASIZE
00000d9d: SWAP1
00000d9e: PUSH2 0x0da6
00000da1: DUP3
00000da2: PUSH2 0x0d4e
00000da5: JUMP
00000da6: JUMPDEST
00000da7: SWAP2
00000da8: PUSH2 0x0db4
00000dab: PUSH1 0x40
00000dad: MLOAD
00000dae: SWAP4
00000daf: DUP5
00000db0: PUSH2 0x0d18
00000db3: JUMP
00000db4: JUMPDEST
00000db5: DUP3
00000db6: MSTORE
00000db7: RETURNDATASIZE
00000db8: PUSH0
00000db9: PUSH1 0x20
00000dbb: DUP5
00000dbc: ADD
00000dbd: RETURNDATACOPY
00000dbe: JUMP
00000dbf: JUMPDEST
00000dc0: PUSH1 0x60
00000dc2: SWAP1
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH1 0xff
00000dc7: PUSH0
00000dc8: DUP1
00000dc9: MLOAD
00000dca: PUSH1 0x20
00000dcc: PUSH2 0x103a
00000dcf: DUP4
00000dd0: CODECOPY
00000dd1: DUP2
00000dd2: MLOAD
00000dd3: SWAP2
00000dd4: MSTORE
00000dd5: SLOAD
00000dd6: AND
00000dd7: PUSH2 0x0ddc
00000dda: JUMPI
00000ddb: JUMP
00000ddc: JUMPDEST
00000ddd: PUSH4 0xd93c0665
00000de2: PUSH1 0xe0
00000de4: SHL
00000de5: PUSH0
00000de6: MSTORE
00000de7: PUSH1 0x04
00000de9: PUSH0
00000dea: REVERT
00000deb: JUMPDEST
00000dec: PUSH1 0x02
00000dee: PUSH0
00000def: DUP1
00000df0: MLOAD
00000df1: PUSH1 0x20
00000df3: PUSH2 0x105a
00000df6: DUP4
00000df7: CODECOPY
00000df8: DUP2
00000df9: MLOAD
00000dfa: SWAP2
00000dfb: MSTORE
00000dfc: SLOAD
00000dfd: EQ
00000dfe: PUSH2 0x0e14
00000e01: JUMPI
00000e02: PUSH1 0x02
00000e04: PUSH0
00000e05: DUP1
00000e06: MLOAD
00000e07: PUSH1 0x20
00000e09: PUSH2 0x105a
00000e0c: DUP4
00000e0d: CODECOPY
00000e0e: DUP2
00000e0f: MLOAD
00000e10: SWAP2
00000e11: MSTORE
00000e12: SSTORE
00000e13: JUMP
00000e14: JUMPDEST
00000e15: PUSH4 0x3ee5aeb5
00000e1a: PUSH1 0xe0
00000e1c: SHL
00000e1d: PUSH0
00000e1e: MSTORE
00000e1f: PUSH1 0x04
00000e21: PUSH0
00000e22: REVERT
00000e23: JUMPDEST
00000e24: SWAP1
00000e25: DUP2
00000e26: SELFBALANCE
00000e27: LT
00000e28: SELFBALANCE
00000e29: SWAP1
00000e2a: PUSH2 0x0ece
00000e2d: JUMPI
00000e2e: POP
00000e2f: PUSH1 0x01
00000e31: PUSH1 0x01
00000e33: PUSH1 0xa0
00000e35: SHL
00000e36: SUB
00000e37: AND
00000e38: SWAP1
00000e39: PUSH0
00000e3a: DUP2
00000e3b: DUP4
00000e3c: DUP2
00000e3d: ISZERO
00000e3e: PUSH2 0x0ec4
00000e41: JUMPI
00000e42: JUMPDEST
00000e43: PUSH0
00000e44: SWAP3
00000e45: DUP4
00000e46: SWAP3
00000e47: DUP4
00000e48: SWAP3
00000e49: DUP4
00000e4a: SWAP3
00000e4b: CALL
00000e4c: ISZERO
00000e4d: PUSH2 0x0e7d
00000e50: JUMPI
00000e51: PUSH1 0x20
00000e53: PUSH32 0x2e1ece5fb4a04cb9407bb825ceb4c6d6d402c18ba1cbe2054241fb1a86fd58da
00000e74: SWAP2
00000e75: PUSH1 0x40
00000e77: MLOAD
00000e78: SWAP1
00000e79: DUP2
00000e7a: MSTORE
00000e7b: LOG2
00000e7c: JUMP
00000e7d: JUMPDEST
00000e7e: DUP2
00000e7f: PUSH0
00000e80: MSTORE
00000e81: PUSH0
00000e82: PUSH1 0x20
00000e84: MSTORE
00000e85: PUSH1 0x40
00000e87: PUSH0
00000e88: KECCAK256
00000e89: DUP1
00000e8a: SLOAD
00000e8b: SWAP2
00000e8c: DUP1
00000e8d: DUP4
00000e8e: ADD
00000e8f: DUP1
00000e90: SWAP4
00000e91: GT
00000e92: PUSH2 0x0cc2
00000e95: JUMPI
00000e96: PUSH32 0xdb8894f6f59b9443ce412bc397f0e4a129eae066a787972c7c5e077deccf1db0
00000eb7: SWAP3
00000eb8: PUSH1 0x20
00000eba: SWAP3
00000ebb: SSTORE
00000ebc: PUSH1 0x40
00000ebe: MLOAD
00000ebf: SWAP1
00000ec0: DUP2
00000ec1: MSTORE
00000ec2: LOG2
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: PUSH2 0x08fc
00000ec8: SWAP3
00000ec9: POP
00000eca: PUSH2 0x0e42
00000ecd: JUMP
00000ece: JUMPDEST
00000ecf: SWAP1
00000ed0: POP
00000ed1: PUSH4 0xb7ddd88b
00000ed6: PUSH1 0xe0
00000ed8: SHL
00000ed9: PUSH0
00000eda: MSTORE
00000edb: PUSH1 0x04
00000edd: MSTORE
00000ede: PUSH1 0x24
00000ee0: MSTORE
00000ee1: PUSH1 0x44
00000ee3: PUSH0
00000ee4: REVERT
00000ee5: JUMPDEST
00000ee6: PUSH0
00000ee7: DUP1
00000ee8: MLOAD
00000ee9: PUSH1 0x20
00000eeb: PUSH2 0x0ffa
00000eee: DUP4
00000eef: CODECOPY
00000ef0: DUP2
00000ef1: MLOAD
00000ef2: SWAP2
00000ef3: MSTORE
00000ef4: SLOAD
00000ef5: PUSH1 0x01
00000ef7: PUSH1 0x01
00000ef9: PUSH1 0xa0
00000efb: SHL
00000efc: SUB
00000efd: AND
00000efe: CALLER
00000eff: SUB
00000f00: PUSH2 0x0450
00000f03: JUMPI
00000f04: JUMP
00000f05: JUMPDEST
00000f06: PUSH0
00000f07: DUP1
00000f08: MLOAD
00000f09: PUSH1 0x20
00000f0b: PUSH2 0x109a
00000f0e: DUP4
00000f0f: CODECOPY
00000f10: DUP2
00000f11: MLOAD
00000f12: SWAP2
00000f13: MSTORE
00000f14: DUP1
00000f15: SLOAD
00000f16: PUSH1 0x01
00000f18: PUSH1 0x01
00000f1a: PUSH1 0xa0
00000f1c: SHL
00000f1d: SUB
00000f1e: NOT
00000f1f: SWAP1
00000f20: DUP2
00000f21: AND
00000f22: SWAP1
00000f23: SWAP2
00000f24: SSTORE
00000f25: PUSH0
00000f26: DUP1
00000f27: MLOAD
00000f28: PUSH1 0x20
00000f2a: PUSH2 0x0ffa
00000f2d: DUP4
00000f2e: CODECOPY
00000f2f: DUP2
00000f30: MLOAD
00000f31: SWAP2
00000f32: MSTORE
00000f33: DUP1
00000f34: SLOAD
00000f35: SWAP2
00000f36: DUP3
00000f37: AND
00000f38: PUSH1 0x01
00000f3a: PUSH1 0x01
00000f3c: PUSH1 0xa0
00000f3e: SHL
00000f3f: SUB
00000f40: SWAP4
00000f41: DUP5
00000f42: AND
00000f43: SWAP1
00000f44: DUP2
00000f45: OR
00000f46: SWAP1
00000f47: SWAP2
00000f48: SSTORE
00000f49: SWAP2
00000f4a: AND
00000f4b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f6c: PUSH0
00000f6d: DUP1
00000f6e: LOG3
00000f6f: JUMP
00000f70: JUMPDEST
00000f71: PUSH1 0xff
00000f73: PUSH0
00000f74: DUP1
00000f75: MLOAD
00000f76: PUSH1 0x20
00000f78: PUSH2 0x107a
00000f7b: DUP4
00000f7c: CODECOPY
00000f7d: DUP2
00000f7e: MLOAD
00000f7f: SWAP2
00000f80: MSTORE
00000f81: SLOAD
00000f82: PUSH1 0x40
00000f84: SHR
00000f85: AND
00000f86: ISZERO
00000f87: PUSH2 0x0f8c
00000f8a: JUMPI
00000f8b: JUMP
00000f8c: JUMPDEST
00000f8d: PUSH4 0x1afcd79f
00000f92: PUSH1 0xe3
00000f94: SHL
00000f95: PUSH0
00000f96: MSTORE
00000f97: PUSH1 0x04
00000f99: PUSH0
00000f9a: REVERT
00000f9b: JUMPDEST
00000f9c: SWAP1
00000f9d: PUSH2 0x0fbf
00000fa0: JUMPI
00000fa1: POP
00000fa2: DUP1
00000fa3: MLOAD
00000fa4: ISZERO
00000fa5: PUSH2 0x0fb0
00000fa8: JUMPI
00000fa9: DUP1
00000faa: MLOAD
00000fab: SWAP1
00000fac: PUSH1 0x20
00000fae: ADD
00000faf: REVERT
00000fb0: JUMPDEST
00000fb1: PUSH4 0x0a12f521
00000fb6: PUSH1 0xe1
00000fb8: SHL
00000fb9: PUSH0
00000fba: MSTORE
00000fbb: PUSH1 0x04
00000fbd: PUSH0
00000fbe: REVERT
00000fbf: JUMPDEST
00000fc0: DUP2
00000fc1: MLOAD
00000fc2: ISZERO
00000fc3: DUP1
00000fc4: PUSH2 0x0ff0
00000fc7: JUMPI
00000fc8: JUMPDEST
00000fc9: PUSH2 0x0fd0
00000fcc: JUMPI
00000fcd: POP
00000fce: SWAP1
00000fcf: JUMP
00000fd0: JUMPDEST
00000fd1: PUSH4 0x9996b315
00000fd6: PUSH1 0xe0
00000fd8: SHL
00000fd9: PUSH0
00000fda: SWAP1
00000fdb: DUP2
00000fdc: MSTORE
00000fdd: PUSH1 0x01
00000fdf: PUSH1 0x01
00000fe1: PUSH1 0xa0
00000fe3: SHL
00000fe4: SUB
00000fe5: SWAP2
00000fe6: SWAP1
00000fe7: SWAP2
00000fe8: AND
00000fe9: PUSH1 0x04
00000feb: MSTORE
00000fec: PUSH1 0x24
00000fee: SWAP1
00000fef: REVERT
00000ff0: JUMPDEST
00000ff1: POP
00000ff2: DUP1
00000ff3: EXTCODESIZE
00000ff4: ISZERO
00000ff5: PUSH2 0x0fc8
00000ff8: JUMP
00000ff9: INVALID
00000ffa: SWAP1
00000ffb: AND
00000ffc: UNKNOWN(0xD0)
00000ffd: SWAP14
00000ffe: PUSH19 0xd40fdae2fd8ceac6b6234c7706214fd39c1cd1
00001012: UNKNOWN(0xE6)
00001013: MULMOD
00001014: LOG0
00001015: MSTORE
00001016: DUP13
00001017: NOT
00001018: SWAP4
00001019: STOP
0000101a: CALLDATASIZE
0000101b: ADDMOD
0000101c: SWAP5
0000101d: LOG1
0000101e: EXTCODESIZE
0000101f: LOG1
00001020: LOG3
00001021: UNKNOWN(0x21)
00001022: MOD
00001023: PUSH8 0xc828492db98dca3e
0000102c: KECCAK256
0000102d: PUSH23 0xcc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee8
00001045: DUP2
00001046: DUP5
00001047: UNKNOWN(0xC2)
00001048: UNKNOWN(0x1F)
00001049: UNKNOWN(0x4F)
0000104a: UNKNOWN(0x21)
0000104b: DUP3
0000104c: UNKNOWN(0xAB)
0000104d: PC
0000104e: UNKNOWN(0x27)
0000104f: UNKNOWN(0xCB)
00001050: EXTCODESIZE
00001051: PUSH31 0x07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817
00001071: UNKNOWN(0xE2)
00001072: BASEFEE
00001073: PUSH14 0x003becc55f00f0c57e16840df040
00001082: CALL
00001083: POP
00001084: DUP9
00001085: UNKNOWN(0xDC)
00001086: UNKNOWN(0x2F)
00001087: DUP2
00001088: INVALID
00001089: CODECOPY
0000108a: SHR
0000108b: CODECOPY
0000108c: UNKNOWN(0x23)
0000108d: UNKNOWN(0xBE)
0000108e: UNKNOWN(0xC7)
0000108f: RETURNDATACOPY
00001090: UNKNOWN(0x23)
00001091: UNKNOWN(0xA9)
00001092: PUSH7 0x2efc9c229c6a00
0000109a: UNKNOWN(0x23)
0000109b: PUSH31 0x158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2
000010bb: PUSH5 0x6970667358
000010c1: UNKNOWN(0x22)
000010c2: SLT
000010c3: KECCAK256
000010c4: SWAP11
000010c5: PUSH30 0x80965701c33c97d793097da2bc44b6b37a9fa5420069a07690dcde55db10
000010e4: PUSH5 0x736f6c6343
000010ea: STOP
000010eb: ADDMOD
000010ec: BYTE
000010ed: STOP
000010ee: CALLER

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: 0x11dfd692e826946abd81c3b129701328f01e93361188122f20aa270e4a46ce6d
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x11dfd692e826946abd81c3b129701328f01e93361188122f20aa270e4a46ce6d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x169235ed",
            "selector": "0x169235ed",
            "calldata_variants": [
                "0x169235ed",
                "0x169235ed0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1794bb3c",
            "selector": "0x1794bb3c",
            "calldata_variants": [
                "0x1794bb3c",
                "0x1794bb3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22396f1d",
            "selector": "0x22396f1d",
            "calldata_variants": [
                "0x22396f1d",
                "0x22396f1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3f4ba83a",
            "selector": "0x3f4ba83a",
            "calldata_variants": [
                "0x3f4ba83a",
                "0x3f4ba83a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x52d1902d",
            "selector": "0x52d1902d",
            "calldata_variants": [
                "0x52d1902d",
                "0x52d1902d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x55f4bdfc",
            "selector": "0x55f4bdfc",
            "calldata_variants": [
                "0x55f4bdfc",
                "0x55f4bdfc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2185,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x3f51caefdacb5a5a0514fd7ff31e8a9ef8fe778c26493e193f6fdd95a74fef22
call_targets: 0x1f1181a53e1ec365bc8723df8109cf1fb96e49db
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x3f51caefdacb5a5a0514fd7ff31e8a9ef8fe778c26493e193f6fdd95a74fef22",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1f1181a53e1ec365bc8723df8109cf1fb96e49db"
    ],
    "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": "0x169235ed",
            "selector": "0x169235ed",
            "calldata_variants": [
                "0x169235ed",
                "0x169235ed0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1794bb3c",
            "selector": "0x1794bb3c",
            "calldata_variants": [
                "0x1794bb3c",
                "0x1794bb3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22396f1d",
            "selector": "0x22396f1d",
            "calldata_variants": [
                "0x22396f1d",
                "0x22396f1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3f4ba83a",
            "selector": "0x3f4ba83a",
            "calldata_variants": [
                "0x3f4ba83a",
                "0x3f4ba83a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x52d1902d",
            "selector": "0x52d1902d",
            "calldata_variants": [
                "0x52d1902d",
                "0x52d1902d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x55f4bdfc",
            "selector": "0x55f4bdfc",
            "calldata_variants": [
                "0x55f4bdfc",
                "0x55f4bdfc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1710,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3659,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4226,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x3f51caefdacb5a5a0514fd7ff31e8a9ef8fe778c26493e193f6fdd95a74fef22
call_targets: 0x1f1181a53e1ec365bc8723df8109cf1fb96e49db
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x3f51caefdacb5a5a0514fd7ff31e8a9ef8fe778c26493e193f6fdd95a74fef22",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1f1181a53e1ec365bc8723df8109cf1fb96e49db"
    ],
    "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": "0x169235ed",
            "selector": "0x169235ed",
            "calldata_variants": [
                "0x169235ed",
                "0x169235ed0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1794bb3c",
            "selector": "0x1794bb3c",
            "calldata_variants": [
                "0x1794bb3c",
                "0x1794bb3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x22396f1d",
            "selector": "0x22396f1d",
            "calldata_variants": [
                "0x22396f1d",
                "0x22396f1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3f4ba83a",
            "selector": "0x3f4ba83a",
            "calldata_variants": [
                "0x3f4ba83a",
                "0x3f4ba83a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4f1ef286",
            "selector": "0x4f1ef286",
            "calldata_variants": [
                "0x4f1ef286",
                "0x4f1ef2860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x51cff8d9",
            "selector": "0x51cff8d9",
            "calldata_variants": [
                "0x51cff8d9",
                "0x51cff8d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x52d1902d",
            "selector": "0x52d1902d",
            "calldata_variants": [
                "0x52d1902d",
                "0x52d1902d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x55f4bdfc",
            "selector": "0x55f4bdfc",
            "calldata_variants": [
                "0x55f4bdfc",
                "0x55f4bdfc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1710,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3659,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4226,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}