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

Analysis Run

d7530101-36b1-4fae-8f33-0dec08c21c66

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 9:57 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
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Unprotected initialize lets attacker overwrite subContracts and execute arbitrary delegatecall logic
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
31149 report.consolidate complete 1 / 1 3 months ago
76708 artifact.fetch failed 1 / 3 1 week ago
76709 tool.cast_disasm complete 1 / 3 1 week ago
76710 analysis.bundle complete 1 / 3 1 week ago
76711 capability.graph complete 1 / 3 1 week ago
76712 detector.run complete 1 / 3 1 week ago
76713 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
1
No findings?
no
Summary
Critical re-initialization path lets any caller replace sub-contracts and drain all assets held by the dispatcher/proxy.
View stderr
[codex:578879] OpenAI Codex v0.77.0 (research preview)
[codex:578879] --------
[codex:578879] workdir: /tmp/codex-multi-9m1t9jzn
[codex:578879] model: gpt-5.2-codex
[codex:578879] provider: openai
[codex:578879] approval: never
[codex:578879] sandbox: read-only
[codex:578879] reasoning effort: xhigh
[codex:578879] reasoning summaries: auto
[codex:578879] session id: 019b7b8d-c348-7981-baef-5dd4b37bc13f
[codex:578879] --------
[codex:578879] user
[codex:578879] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:578879] 
[codex:578879] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:578879] 
[codex:578879] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:578879] - Gas inefficiency, code quality, naming, or best practices
[codex:578879] - Theoretical vulnerabilities without a clear extraction path
[codex:578879] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:578879] - Front-running unless it enables theft beyond MEV
[codex:578879] - DoS, griefing, or issues that don't result in attacker profit
[codex:578879] - Missing events, view function issues, or informational findings
[codex:578879] 
[codex:578879] HIGH-VALUE PATTERNS TO HUNT:
[codex:578879] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:578879] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:578879] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:578879] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:578879] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:578879] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:578879] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:578879] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:578879] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:578879] 
[codex:578879] For each finding, you MUST provide:
[codex:578879] 1. Exact file and line numbers of vulnerable code
[codex:578879] 2. Step-by-step exploit transaction sequence
[codex:578879] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:578879] 
[codex:578879] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:578879] 
[codex:578879] Output MUST be valid JSON matching the provided schema.
[codex:578879] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:578879] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:578879] mcp startup: no servers
[codex:578879] 
[codex:578879] thinking
[codex:578879] **Planning to read AUDIT_BUNDLE.txt**
[codex:578879] exec
[codex:578879] /bin/bash -lc ls in /tmp/codex-multi-9m1t9jzn succeeded in 5ms:
[codex:578879] AUDIT_BUNDLE.txt
[codex:578879] codex-output-schema.json
[codex:578879] contracts
[codex:578879] exec
[codex:578879] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9m1t9jzn succeeded in 5ms:
[codex:578879] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:578879] 
[codex:578879] ================================================================================
[codex:578879] FILE: contracts/BlockDirectCall.sol
[codex:578879] ================================================================================
[codex:578879] /*
[codex:578879]   Copyright 2019-2022 StarkWare Industries Ltd.
[codex:578879] 
[codex:578879]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:578879]   You may not use this file except in compliance with the License.
[codex:578879]   You may obtain a copy of the License at
[codex:578879] 
[codex:578879]   https://www.starkware.co/open-source-license/
[codex:578879] 
[codex:578879]   Unless required by applicable law or agreed to in writing,
[codex:578879]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:578879]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:578879]   See the License for the specific language governing permissions
[codex:578879]   and limitations under the License.
[codex:578879] */
[codex:578879] 
[codex:578879] thinking
[codex:578879] **Analyzing proxy initialization vulnerability**
[codex:578879] exec
[codex:578879] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-9m1t9jzn succeeded in 9ms:
[codex:578879] contracts/MainStorage.sol
[codex:578879] contracts/MainDispatcher.sol
[codex:578879] contracts/ProxyStorage.sol
[codex:578879] contracts/IDispatcherBase.sol
[codex:578879] contracts/GovernanceStorage.sol
[codex:578879] contracts/MainDispatcherBase.sol
[codex:578879] contracts/MGovernance.sol
[codex:578879] contracts/SubContractor.sol
[codex:578879] contracts/Common.sol
[codex:578879] contracts/BlockDirectCall.sol
[codex:578879] contracts/StarkExchange.sol
[codex:578879] contracts/Identity.sol
[codex:578879] 
[codex:578879] 
[codex:578879] thinking
[codex:578879] **Analyzing proxy and initialize vulnerability**
[codex:578879] thinking
[codex:578879] **Validating proxy usage and initialize access**
[codex:578879] 
[codex:578879] I'm sorting through whether the dispatcher is used behind an outer proxy and how that affects calling initialize. It seems initialize must be called via delegatecall through a proxy, since direct calls get blocked. The absence of proxy code means I can't confirm gating, but given typical patterns, external users may be able to call initialize via the proxy fallback, potentially reinitializing sub-contracts maliciously. The implications hinge on proxy access controls not being present or unknown here.
[codex:578879] exec
[codex:578879] /bin/bash -lc 'nl -ba contracts/MainDispatcherBase.sol' in /tmp/codex-multi-9m1t9jzn succeeded in 6ms:
[codex:578879]      1	/*
[codex:578879]      2	  Copyright 2019-2022 StarkWare Industries Ltd.
[codex:578879]      3	
[codex:578879]      4	  Licensed under the Apache License, Version 2.0 (the "License").
[codex:578879]      5	  You may not use this file except in compliance with the License.
[codex:578879]      6	  You may obtain a copy of the License at
[codex:578879]      7	
[codex:578879]      8	  https://www.starkware.co/open-source-license/
[codex:578879]      9	
[codex:578879]     10	  Unless required by applicable law or agreed to in writing,
[codex:578879]     11	  software distributed under the License is distributed on an "AS IS" BASIS,
[codex:578879]     12	  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:578879]     13	  See the License for the specific language governing permissions
[codex:578879]     14	  and limitations under the License.
[codex:578879]     15	*/
[codex:578879]     16	// SPDX-License-Identifier: Apache-2.0.
[codex:578879]     17	pragma solidity ^0.6.12;
[codex:578879]     18	
[codex:578879]     19	import "SubContractor.sol";
[codex:578879]     20	import "IDispatcherBase.sol";
[codex:578879] 
[codex:578879] thinking
[codex:578879] **Preparing detailed vulnerability report**
[codex:578879] exec
[codex:578879] /bin/bash -lc 'nl -ba contracts/MainDispatcher.sol' in /tmp/codex-multi-9m1t9jzn succeeded in 5ms:
[codex:578879]      1	/*
[codex:578879]      2	  Copyright 2019-2022 StarkWare Industries Ltd.
[codex:578879]      3	
[codex:578879]      4	  Licensed under the Apache License, Version 2.0 (the "License").
[codex:578879]      5	  You may not use this file except in compliance with the License.
[codex:578879]      6	  You may obtain a copy of the License at
[codex:578879]      7	
[codex:578879]      8	  https://www.starkware.co/open-source-license/
[codex:578879]      9	
[codex:578879]     10	  Unless required by applicable law or agreed to in writing,
[codex:578879]     11	  software distributed under the License is distributed on an "AS IS" BASIS,
[codex:578879]     12	  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:578879]     13	  See the License for the specific language governing permissions
[codex:578879]     14	  and limitations under the License.
[codex:578879]     15	*/
[codex:578879]     16	// SPDX-License-Identifier: Apache-2.0.
[codex:578879]     17	pragma solidity ^0.6.12;
[codex:578879]     18	
[codex:578879]     19	import "MainStorage.sol";
[codex:578879]     20	import "MainDispatcherBase.sol";
[codex:578879] 
[codex:578879] thinking
[codex:578879] **Constructing detailed vulnerability report**
[codex:578879] codex
[codex:578879] {"no_findings":false,"summary":"Critical re-initialization path lets any caller replace sub-contracts and drain all assets held by the dispatcher/proxy.","findings":[{"severity":"critical","category":"access_control","title":"Unprotected initialize lets attacker overwrite subContracts and execute arbitrary delegatecall logic","exploit_scenario":"1) Deploy six malicious SubContractor contracts (one per index 1..6) with identify() returning the expected ID string and validatedSelectors() returning at least one selector that maps to their index; each contract’s selector handler/fallback transfers ETH/ERC20s from address(this) to the attacker.\n2) Call the proxy/dispatcher entrypoint with initialize(data) where data encodes the six attacker addresses + EIC=0 and no extra init data. Because initialize is external, lacks auth, and returns early when additionalDataSize==0, it overwrites subContracts without any initialization guard.\n3) Call the dispatcher with one of the precomputed selectors so fallback delegates into the attacker contract and drains funds.\nProfit potential: essentially the full on-chain balances held by the dispatcher/proxy (ETH + all custodial ERC20/NFT balances).","recommendation":"Restrict initialize to governance/upgrade flow only, and enforce a one-time initialization flag or call initializationSentinel before writing subContracts even when additionalDataSize==0.","evidence":"initialize is external and writes subContracts before any guard, then returns early when additionalDataSize==0, skipping initializationSentinel; no access control is present on initialize.","locations":["contracts/MainDispatcherBase.sol:124","contracts/MainDispatcherBase.sol:144","contracts/MainDispatcherBase.sol:171"]}]}
[codex:578879] tokens used
[codex:578879] 29,406
[codex:578879] {"no_findings":false,"summary":"Critical re-initialization path lets any caller replace sub-contracts and drain all assets held by the dispatcher/proxy.","findings":[{"severity":"critical","category":"access_control","title":"Unprotected initialize lets attacker overwrite subContracts and execute arbitrary delegatecall logic","exploit_scenario":"1) Deploy six malicious SubContractor contracts (one per index 1..6) with identify() returning the expected ID string and validatedSelectors() returning at least one selector that maps to their index; each contract’s selector handler/fallback transfers ETH/ERC20s from address(this) to the attacker.\n2) Call the proxy/dispatcher entrypoint with initialize(data) where data encodes the six attacker addresses + EIC=0 and no extra init data. Because initialize is external, lacks auth, and returns early when additionalDataSize==0, it overwrites subContracts without any initialization guard.\n3) Call the dispatcher with one of the precomputed selectors so fallback delegates into the attacker contract and drains funds.\nProfit potential: essentially the full on-chain balances held by the dispatcher/proxy (ETH + all custodial ERC20/NFT balances).","recommendation":"Restrict initialize to governance/upgrade flow only, and enforce a one-time initialization flag or call initializationSentinel before writing subContracts even when additionalDataSize==0.","evidence":"initialize is external and writes subContracts before any guard, then returns early when additionalDataSize==0, skipping initializationSentinel; no access control is present on initialize.","locations":["contracts/MainDispatcherBase.sol:124","contracts/MainDispatcherBase.sol:144","contracts/MainDispatcherBase.sol:171"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T21:57:41.321342+00:00",
        "returncode": 0
    },
    "summary": "Critical re-initialization path lets any caller replace sub-contracts and drain all assets held by the dispatcher/proxy.",
    "raw_final": {
        "summary": "Critical re-initialization path lets any caller replace sub-contracts and drain all assets held by the dispatcher/proxy.",
        "findings": [
            {
                "title": "Unprotected initialize lets attacker overwrite subContracts and execute arbitrary delegatecall logic",
                "category": "access_control",
                "evidence": "initialize is external and writes subContracts before any guard, then returns early when additionalDataSize==0, skipping initializationSentinel; no access control is present on initialize.",
                "severity": "critical",
                "locations": [
                    "contracts/MainDispatcherBase.sol:124",
                    "contracts/MainDispatcherBase.sol:144",
                    "contracts/MainDispatcherBase.sol:171"
                ],
                "recommendation": "Restrict initialize to governance/upgrade flow only, and enforce a one-time initialization flag or call initializationSentinel before writing subContracts even when additionalDataSize==0.",
                "exploit_scenario": "1) Deploy six malicious SubContractor contracts (one per index 1..6) with identify() returning the expected ID string and validatedSelectors() returning at least one selector that maps to their index; each contract\u2019s selector handler/fallback transfers ETH/ERC20s from address(this) to the attacker.\n2) Call the proxy/dispatcher entrypoint with initialize(data) where data encodes the six attacker addresses + EIC=0 and no extra init data. Because initialize is external, lacks auth, and returns early when additionalDataSize==0, it overwrites subContracts without any initialization guard.\n3) Call the dispatcher with one of the precomputed selectors so fallback delegates into the attacker contract and drains funds.\nProfit potential: essentially the full on-chain balances held by the dispatcher/proxy (ETH + all custodial ERC20/NFT balances)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
4
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
3
Total opcodes
3725
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0043
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x2f9014b4
00000019: EQ
0000001a: PUSH2 0x0128
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x439fab91
00000024: EQ
00000025: PUSH2 0x0178
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd4e878e8
0000002f: EQ
00000030: PUSH2 0x01f5
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xffa1ad74
0000003a: EQ
0000003b: PUSH2 0x029e
0000003e: JUMPI
0000003f: PUSH2 0x0095
00000042: JUMP
00000043: JUMPDEST
00000044: CALLDATASIZE
00000045: PUSH2 0x0095
00000048: JUMPI
00000049: PUSH1 0x40
0000004b: DUP1
0000004c: MLOAD
0000004d: PUSH3 0x461bcd
00000051: PUSH1 0xe5
00000053: SHL
00000054: DUP2
00000055: MSTORE
00000056: PUSH1 0x20
00000058: PUSH1 0x04
0000005a: DUP3
0000005b: ADD
0000005c: DUP2
0000005d: SWAP1
0000005e: MSTORE
0000005f: PUSH1 0x24
00000061: DUP3
00000062: ADD
00000063: MSTORE
00000064: PUSH32 0x434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645
00000085: PUSH1 0x44
00000087: DUP3
00000088: ADD
00000089: MSTORE
0000008a: SWAP1
0000008b: MLOAD
0000008c: SWAP1
0000008d: DUP2
0000008e: SWAP1
0000008f: SUB
00000090: PUSH1 0x64
00000092: ADD
00000093: SWAP1
00000094: REVERT
00000095: JUMPDEST
00000096: PUSH1 0x00
00000098: PUSH2 0x00ac
0000009b: PUSH1 0x00
0000009d: CALLDATALOAD
0000009e: PUSH1 0x01
000000a0: PUSH1 0x01
000000a2: PUSH1 0xe0
000000a4: SHL
000000a5: SUB
000000a6: NOT
000000a7: AND
000000a8: PUSH2 0x02b3
000000ab: JUMP
000000ac: JUMPDEST
000000ad: SWAP1
000000ae: POP
000000af: PUSH1 0x01
000000b1: PUSH1 0x01
000000b3: PUSH1 0xa0
000000b5: SHL
000000b6: SUB
000000b7: DUP2
000000b8: AND
000000b9: PUSH2 0x0104
000000bc: JUMPI
000000bd: PUSH1 0x40
000000bf: DUP1
000000c0: MLOAD
000000c1: PUSH3 0x461bcd
000000c5: PUSH1 0xe5
000000c7: SHL
000000c8: DUP2
000000c9: MSTORE
000000ca: PUSH1 0x20
000000cc: PUSH1 0x04
000000ce: DUP3
000000cf: ADD
000000d0: MSTORE
000000d1: PUSH1 0x18
000000d3: PUSH1 0x24
000000d5: DUP3
000000d6: ADD
000000d7: MSTORE
000000d8: PUSH24 0x2727afa1a7a72a2920a1aa2fa327a92fa32aa721aa24a7a7
000000f1: PUSH1 0x41
000000f3: SHL
000000f4: PUSH1 0x44
000000f6: DUP3
000000f7: ADD
000000f8: MSTORE
000000f9: SWAP1
000000fa: MLOAD
000000fb: SWAP1
000000fc: DUP2
000000fd: SWAP1
000000fe: SUB
000000ff: PUSH1 0x64
00000101: ADD
00000102: SWAP1
00000103: REVERT
00000104: JUMPDEST
00000105: CALLDATASIZE
00000106: PUSH1 0x00
00000108: DUP1
00000109: CALLDATACOPY
0000010a: PUSH1 0x00
0000010c: DUP1
0000010d: CALLDATASIZE
0000010e: PUSH1 0x00
00000110: DUP5
00000111: GAS
00000112: DELEGATECALL
00000113: RETURNDATASIZE
00000114: PUSH1 0x00
00000116: DUP1
00000117: RETURNDATACOPY
00000118: DUP1
00000119: DUP1
0000011a: ISZERO
0000011b: PUSH2 0x0123
0000011e: JUMPI
0000011f: RETURNDATASIZE
00000120: PUSH1 0x00
00000122: RETURN
00000123: JUMPDEST
00000124: RETURNDATASIZE
00000125: PUSH1 0x00
00000127: REVERT
00000128: JUMPDEST
00000129: CALLVALUE
0000012a: DUP1
0000012b: ISZERO
0000012c: PUSH2 0x0134
0000012f: JUMPI
00000130: PUSH1 0x00
00000132: DUP1
00000133: REVERT
00000134: JUMPDEST
00000135: POP
00000136: PUSH2 0x015c
00000139: PUSH1 0x04
0000013b: DUP1
0000013c: CALLDATASIZE
0000013d: SUB
0000013e: PUSH1 0x20
00000140: DUP2
00000141: LT
00000142: ISZERO
00000143: PUSH2 0x014b
00000146: JUMPI
00000147: PUSH1 0x00
00000149: DUP1
0000014a: REVERT
0000014b: JUMPDEST
0000014c: POP
0000014d: CALLDATALOAD
0000014e: PUSH1 0x01
00000150: PUSH1 0x01
00000152: PUSH1 0xe0
00000154: SHL
00000155: SUB
00000156: NOT
00000157: AND
00000158: PUSH2 0x02b3
0000015b: JUMP
0000015c: JUMPDEST
0000015d: PUSH1 0x40
0000015f: DUP1
00000160: MLOAD
00000161: PUSH1 0x01
00000163: PUSH1 0x01
00000165: PUSH1 0xa0
00000167: SHL
00000168: SUB
00000169: SWAP1
0000016a: SWAP3
0000016b: AND
0000016c: DUP3
0000016d: MSTORE
0000016e: MLOAD
0000016f: SWAP1
00000170: DUP2
00000171: SWAP1
00000172: SUB
00000173: PUSH1 0x20
00000175: ADD
00000176: SWAP1
00000177: RETURN
00000178: JUMPDEST
00000179: CALLVALUE
0000017a: DUP1
0000017b: ISZERO
0000017c: PUSH2 0x0184
0000017f: JUMPI
00000180: PUSH1 0x00
00000182: DUP1
00000183: REVERT
00000184: JUMPDEST
00000185: POP
00000186: PUSH2 0x01f3
00000189: PUSH1 0x04
0000018b: DUP1
0000018c: CALLDATASIZE
0000018d: SUB
0000018e: PUSH1 0x20
00000190: DUP2
00000191: LT
00000192: ISZERO
00000193: PUSH2 0x019b
00000196: JUMPI
00000197: PUSH1 0x00
00000199: DUP1
0000019a: REVERT
0000019b: JUMPDEST
0000019c: DUP2
0000019d: ADD
0000019e: SWAP1
0000019f: PUSH1 0x20
000001a1: DUP2
000001a2: ADD
000001a3: DUP2
000001a4: CALLDATALOAD
000001a5: PUSH1 0x01
000001a7: PUSH1 0x20
000001a9: SHL
000001aa: DUP2
000001ab: GT
000001ac: ISZERO
000001ad: PUSH2 0x01b5
000001b0: JUMPI
000001b1: PUSH1 0x00
000001b3: DUP1
000001b4: REVERT
000001b5: JUMPDEST
000001b6: DUP3
000001b7: ADD
000001b8: DUP4
000001b9: PUSH1 0x20
000001bb: DUP3
000001bc: ADD
000001bd: GT
000001be: ISZERO
000001bf: PUSH2 0x01c7
000001c2: JUMPI
000001c3: PUSH1 0x00
000001c5: DUP1
000001c6: REVERT
000001c7: JUMPDEST
000001c8: DUP1
000001c9: CALLDATALOAD
000001ca: SWAP1
000001cb: PUSH1 0x20
000001cd: ADD
000001ce: SWAP2
000001cf: DUP5
000001d0: PUSH1 0x01
000001d2: DUP4
000001d3: MUL
000001d4: DUP5
000001d5: ADD
000001d6: GT
000001d7: PUSH1 0x01
000001d9: PUSH1 0x20
000001db: SHL
000001dc: DUP4
000001dd: GT
000001de: OR
000001df: ISZERO
000001e0: PUSH2 0x01e8
000001e3: JUMPI
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: POP
000001ea: SWAP1
000001eb: SWAP3
000001ec: POP
000001ed: SWAP1
000001ee: POP
000001ef: PUSH2 0x02e4
000001f2: JUMP
000001f3: JUMPDEST
000001f4: STOP
000001f5: JUMPDEST
000001f6: CALLVALUE
000001f7: DUP1
000001f8: ISZERO
000001f9: PUSH2 0x0201
000001fc: JUMPI
000001fd: PUSH1 0x00
000001ff: DUP1
00000200: REVERT
00000201: JUMPDEST
00000202: POP
00000203: PUSH2 0x0229
00000206: PUSH1 0x04
00000208: DUP1
00000209: CALLDATASIZE
0000020a: SUB
0000020b: PUSH1 0x20
0000020d: DUP2
0000020e: LT
0000020f: ISZERO
00000210: PUSH2 0x0218
00000213: JUMPI
00000214: PUSH1 0x00
00000216: DUP1
00000217: REVERT
00000218: JUMPDEST
00000219: POP
0000021a: CALLDATALOAD
0000021b: PUSH1 0x01
0000021d: PUSH1 0x01
0000021f: PUSH1 0xe0
00000221: SHL
00000222: SUB
00000223: NOT
00000224: AND
00000225: PUSH2 0x0935
00000228: JUMP
00000229: JUMPDEST
0000022a: PUSH1 0x40
0000022c: DUP1
0000022d: MLOAD
0000022e: PUSH1 0x20
00000230: DUP1
00000231: DUP3
00000232: MSTORE
00000233: DUP4
00000234: MLOAD
00000235: DUP2
00000236: DUP4
00000237: ADD
00000238: MSTORE
00000239: DUP4
0000023a: MLOAD
0000023b: SWAP2
0000023c: SWAP3
0000023d: DUP4
0000023e: SWAP3
0000023f: SWAP1
00000240: DUP4
00000241: ADD
00000242: SWAP2
00000243: DUP6
00000244: ADD
00000245: SWAP1
00000246: DUP1
00000247: DUP4
00000248: DUP4
00000249: PUSH1 0x00
0000024b: JUMPDEST
0000024c: DUP4
0000024d: DUP2
0000024e: LT
0000024f: ISZERO
00000250: PUSH2 0x0263
00000253: JUMPI
00000254: DUP2
00000255: DUP2
00000256: ADD
00000257: MLOAD
00000258: DUP4
00000259: DUP3
0000025a: ADD
0000025b: MSTORE
0000025c: PUSH1 0x20
0000025e: ADD
0000025f: PUSH2 0x024b
00000262: JUMP
00000263: JUMPDEST
00000264: POP
00000265: POP
00000266: POP
00000267: POP
00000268: SWAP1
00000269: POP
0000026a: SWAP1
0000026b: DUP2
0000026c: ADD
0000026d: SWAP1
0000026e: PUSH1 0x1f
00000270: AND
00000271: DUP1
00000272: ISZERO
00000273: PUSH2 0x0290
00000276: JUMPI
00000277: DUP1
00000278: DUP3
00000279: SUB
0000027a: DUP1
0000027b: MLOAD
0000027c: PUSH1 0x01
0000027e: DUP4
0000027f: PUSH1 0x20
00000281: SUB
00000282: PUSH2 0x0100
00000285: EXP
00000286: SUB
00000287: NOT
00000288: AND
00000289: DUP2
0000028a: MSTORE
0000028b: PUSH1 0x20
0000028d: ADD
0000028e: SWAP2
0000028f: POP
00000290: JUMPDEST
00000291: POP
00000292: SWAP3
00000293: POP
00000294: POP
00000295: POP
00000296: PUSH1 0x40
00000298: MLOAD
00000299: DUP1
0000029a: SWAP2
0000029b: SUB
0000029c: SWAP1
0000029d: RETURN
0000029e: JUMPDEST
0000029f: CALLVALUE
000002a0: DUP1
000002a1: ISZERO
000002a2: PUSH2 0x02aa
000002a5: JUMPI
000002a6: PUSH1 0x00
000002a8: DUP1
000002a9: REVERT
000002aa: JUMPDEST
000002ab: POP
000002ac: PUSH2 0x0229
000002af: PUSH2 0x0954
000002b2: JUMP
000002b3: JUMPDEST
000002b4: PUSH1 0x00
000002b6: PUSH1 0x1e
000002b8: PUSH1 0x00
000002ba: PUSH2 0x02c2
000002bd: DUP5
000002be: PUSH2 0x0975
000002c1: JUMP
000002c2: JUMPDEST
000002c3: DUP2
000002c4: MSTORE
000002c5: PUSH1 0x20
000002c7: DUP2
000002c8: ADD
000002c9: SWAP2
000002ca: SWAP1
000002cb: SWAP2
000002cc: MSTORE
000002cd: PUSH1 0x40
000002cf: ADD
000002d0: PUSH1 0x00
000002d2: KECCAK256
000002d3: SLOAD
000002d4: PUSH1 0x01
000002d6: PUSH1 0x01
000002d8: PUSH1 0xa0
000002da: SHL
000002db: SUB
000002dc: AND
000002dd: SWAP1
000002de: POP
000002df: JUMPDEST
000002e0: SWAP2
000002e1: SWAP1
000002e2: POP
000002e3: JUMP
000002e4: JUMPDEST
000002e5: PUSH32 0x000000000000000000000000df2f24751f7e84ccdcd39e7b49904fab0fb0f583
00000306: PUSH1 0x01
00000308: PUSH1 0x01
0000030a: PUSH1 0xa0
0000030c: SHL
0000030d: SUB
0000030e: AND
0000030f: ADDRESS
00000310: EQ
00000311: ISZERO
00000312: PUSH2 0x035b
00000315: JUMPI
00000316: PUSH1 0x40
00000318: DUP1
00000319: MLOAD
0000031a: PUSH3 0x461bcd
0000031e: PUSH1 0xe5
00000320: SHL
00000321: DUP2
00000322: MSTORE
00000323: PUSH1 0x20
00000325: PUSH1 0x04
00000327: DUP3
00000328: ADD
00000329: MSTORE
0000032a: PUSH1 0x16
0000032c: PUSH1 0x24
0000032e: DUP3
0000032f: ADD
00000330: MSTORE
00000331: PUSH22 0x1112549150d517d0d0531317d11254d0531313d5d151
00000348: PUSH1 0x52
0000034a: SHL
0000034b: PUSH1 0x44
0000034d: DUP3
0000034e: ADD
0000034f: MSTORE
00000350: SWAP1
00000351: MLOAD
00000352: SWAP1
00000353: DUP2
00000354: SWAP1
00000355: SUB
00000356: PUSH1 0x64
00000358: ADD
00000359: SWAP1
0000035a: REVERT
0000035b: JUMPDEST
0000035c: PUSH1 0x00
0000035e: PUSH2 0x0365
00000361: PUSH2 0x09ee
00000364: JUMP
00000365: JUMPDEST
00000366: SWAP1
00000367: POP
00000368: PUSH1 0x0f
0000036a: DUP2
0000036b: GT
0000036c: ISZERO
0000036d: PUSH2 0x03b6
00000370: JUMPI
00000371: PUSH1 0x40
00000373: DUP1
00000374: MLOAD
00000375: PUSH3 0x461bcd
00000379: PUSH1 0xe5
0000037b: SHL
0000037c: DUP2
0000037d: MSTORE
0000037e: PUSH1 0x20
00000380: PUSH1 0x04
00000382: DUP3
00000383: ADD
00000384: MSTORE
00000385: PUSH1 0x16
00000387: PUSH1 0x24
00000389: DUP3
0000038a: ADD
0000038b: MSTORE
0000038c: PUSH22 0x544f4f5f4d414e595f5355425f434f4e545241435453
000003a3: PUSH1 0x50
000003a5: SHL
000003a6: PUSH1 0x44
000003a8: DUP3
000003a9: ADD
000003aa: MSTORE
000003ab: SWAP1
000003ac: MLOAD
000003ad: SWAP1
000003ae: DUP2
000003af: SWAP1
000003b0: SUB
000003b1: PUSH1 0x64
000003b3: ADD
000003b4: SWAP1
000003b5: REVERT
000003b6: JUMPDEST
000003b7: PUSH1 0x00
000003b9: PUSH1 0x20
000003bb: PUSH1 0x01
000003bd: DUP4
000003be: ADD
000003bf: MUL
000003c0: DUP1
000003c1: DUP5
000003c2: LT
000003c3: ISZERO
000003c4: PUSH2 0x0414
000003c7: JUMPI
000003c8: PUSH1 0x40
000003ca: DUP1
000003cb: MLOAD
000003cc: PUSH3 0x461bcd
000003d0: PUSH1 0xe5
000003d2: SHL
000003d3: DUP2
000003d4: MSTORE
000003d5: PUSH1 0x20
000003d7: PUSH1 0x04
000003d9: DUP3
000003da: ADD
000003db: MSTORE
000003dc: PUSH1 0x1a
000003de: PUSH1 0x24
000003e0: DUP3
000003e1: ADD
000003e2: MSTORE
000003e3: PUSH32 0x5355425f434f4e5452414354535f4e4f545f50524f5649444544000000000000
00000404: PUSH1 0x44
00000406: DUP3
00000407: ADD
00000408: MSTORE
00000409: SWAP1
0000040a: MLOAD
0000040b: SWAP1
0000040c: DUP2
0000040d: SWAP1
0000040e: SUB
0000040f: PUSH1 0x64
00000411: ADD
00000412: SWAP1
00000413: REVERT
00000414: JUMPDEST
00000415: DUP1
00000416: DUP5
00000417: SUB
00000418: PUSH1 0x01
0000041a: JUMPDEST
0000041b: DUP5
0000041c: DUP2
0000041d: GT
0000041e: PUSH2 0x0471
00000421: JUMPI
00000422: PUSH1 0x00
00000424: PUSH2 0x0439
00000427: PUSH1 0x20
00000429: DUP1
0000042a: DUP5
0000042b: MUL
0000042c: SWAP1
0000042d: PUSH1 0x00
0000042f: NOT
00000430: DUP6
00000431: ADD
00000432: MUL
00000433: DUP10
00000434: DUP12
00000435: PUSH2 0x14eb
00000438: JUMP
00000439: JUMPDEST
0000043a: PUSH1 0x20
0000043c: DUP2
0000043d: LT
0000043e: ISZERO
0000043f: PUSH2 0x0447
00000442: JUMPI
00000443: PUSH1 0x00
00000445: DUP1
00000446: REVERT
00000447: JUMPDEST
00000448: POP
00000449: CALLDATALOAD
0000044a: PUSH1 0x01
0000044c: PUSH1 0x01
0000044e: PUSH1 0xa0
00000450: SHL
00000451: SUB
00000452: AND
00000453: SWAP1
00000454: POP
00000455: PUSH2 0x045e
00000458: DUP3
00000459: DUP3
0000045a: PUSH2 0x09f3
0000045d: JUMP
0000045e: JUMPDEST
0000045f: PUSH2 0x0468
00000462: DUP3
00000463: DUP3
00000464: PUSH2 0x0dcf
00000467: JUMP
00000468: JUMPDEST
00000469: POP
0000046a: PUSH1 0x01
0000046c: ADD
0000046d: PUSH2 0x041a
00000470: JUMP
00000471: JUMPDEST
00000472: POP
00000473: PUSH1 0x00
00000475: PUSH2 0x0484
00000478: DUP4
00000479: PUSH1 0x1f
0000047b: NOT
0000047c: DUP2
0000047d: ADD
0000047e: DUP9
0000047f: DUP11
00000480: PUSH2 0x14eb
00000483: JUMP
00000484: JUMPDEST
00000485: PUSH1 0x20
00000487: DUP2
00000488: LT
00000489: ISZERO
0000048a: PUSH2 0x0492
0000048d: JUMPI
0000048e: PUSH1 0x00
00000490: DUP1
00000491: REVERT
00000492: JUMPDEST
00000493: POP
00000494: CALLDATALOAD
00000495: PUSH1 0x01
00000497: PUSH1 0x01
00000499: PUSH1 0xa0
0000049b: SHL
0000049c: SUB
0000049d: AND
0000049e: SWAP1
0000049f: POP
000004a0: DUP1
000004a1: ISZERO
000004a2: PUSH2 0x04c4
000004a5: JUMPI
000004a6: PUSH2 0x04ba
000004a9: DUP2
000004aa: PUSH2 0x04b5
000004ad: DUP9
000004ae: DUP7
000004af: DUP2
000004b0: DUP13
000004b1: PUSH2 0x14eb
000004b4: JUMP
000004b5: JUMPDEST
000004b6: PUSH2 0x0dfd
000004b9: JUMP
000004ba: JUMPDEST
000004bb: POP
000004bc: POP
000004bd: POP
000004be: POP
000004bf: POP
000004c0: PUSH2 0x0931
000004c3: JUMP
000004c4: JUMPDEST
000004c5: DUP2
000004c6: PUSH2 0x04d3
000004c9: JUMPI
000004ca: POP
000004cb: POP
000004cc: POP
000004cd: POP
000004ce: POP
000004cf: PUSH2 0x0931
000004d2: JUMP
000004d3: JUMPDEST
000004d4: PUSH1 0x01
000004d6: PUSH1 0x01
000004d8: PUSH1 0xa0
000004da: SHL
000004db: SUB
000004dc: DUP2
000004dd: AND
000004de: ISZERO
000004df: PUSH2 0x04e4
000004e2: JUMPI
000004e3: INVALID
000004e4: JUMPDEST
000004e5: PUSH2 0x04ec
000004e8: PUSH2 0x100b
000004eb: JUMP
000004ec: JUMPDEST
000004ed: PUSH1 0x01
000004ef: JUMPDEST
000004f0: DUP6
000004f1: DUP2
000004f2: GT
000004f3: PUSH2 0x08d6
000004f6: JUMPI
000004f7: PUSH1 0x00
000004f9: PUSH2 0x050e
000004fc: PUSH1 0x20
000004fe: DUP1
000004ff: DUP5
00000500: MUL
00000501: SWAP1
00000502: PUSH1 0x00
00000504: NOT
00000505: DUP6
00000506: ADD
00000507: MUL
00000508: DUP11
00000509: DUP13
0000050a: PUSH2 0x14eb
0000050d: JUMP
0000050e: JUMPDEST
0000050f: PUSH1 0x20
00000511: DUP2
00000512: LT
00000513: ISZERO
00000514: PUSH2 0x051c
00000517: JUMPI
00000518: PUSH1 0x00
0000051a: DUP1
0000051b: REVERT
0000051c: JUMPDEST
0000051d: POP
0000051e: PUSH1 0x40
00000520: DUP1
00000521: MLOAD
00000522: PUSH1 0x04
00000524: DUP2
00000525: MSTORE
00000526: PUSH1 0x24
00000528: DUP2
00000529: ADD
0000052a: DUP3
0000052b: MSTORE
0000052c: PUSH1 0x20
0000052e: DUP2
0000052f: ADD
00000530: DUP1
00000531: MLOAD
00000532: PUSH4 0x3cc660ad
00000537: PUSH1 0xe0
00000539: SHL
0000053a: PUSH1 0x01
0000053c: PUSH1 0x01
0000053e: PUSH1 0xe0
00000540: SHL
00000541: SUB
00000542: SWAP1
00000543: SWAP2
00000544: AND
00000545: OR
00000546: DUP2
00000547: MSTORE
00000548: SWAP2
00000549: MLOAD
0000054a: DUP2
0000054b: MLOAD
0000054c: SWAP4
0000054d: CALLDATALOAD
0000054e: PUSH1 0x01
00000550: PUSH1 0x01
00000552: PUSH1 0xa0
00000554: SHL
00000555: SUB
00000556: AND
00000557: SWAP5
00000558: POP
00000559: PUSH1 0x00
0000055b: SWAP4
0000055c: PUSH1 0x60
0000055e: SWAP4
0000055f: DUP7
00000560: SWAP4
00000561: SWAP3
00000562: SWAP2
00000563: DUP3
00000564: SWAP2
00000565: SWAP1
00000566: DUP1
00000567: DUP4
00000568: DUP4
00000569: JUMPDEST
0000056a: PUSH1 0x20
0000056c: DUP4
0000056d: LT
0000056e: PUSH2 0x0588
00000571: JUMPI
00000572: DUP1
00000573: MLOAD
00000574: DUP3
00000575: MSTORE
00000576: PUSH1 0x1f
00000578: NOT
00000579: SWAP1
0000057a: SWAP3
0000057b: ADD
0000057c: SWAP2
0000057d: PUSH1 0x20
0000057f: SWAP2
00000580: DUP3
00000581: ADD
00000582: SWAP2
00000583: ADD
00000584: PUSH2 0x0569
00000587: JUMP
00000588: JUMPDEST
00000589: PUSH1 0x01
0000058b: DUP4
0000058c: PUSH1 0x20
0000058e: SUB
0000058f: PUSH2 0x0100
00000592: EXP
00000593: SUB
00000594: DUP1
00000595: NOT
00000596: DUP3
00000597: MLOAD
00000598: AND
00000599: DUP2
0000059a: DUP5
0000059b: MLOAD
0000059c: AND
0000059d: DUP1
0000059e: DUP3
0000059f: OR
000005a0: DUP6
000005a1: MSTORE
000005a2: POP
000005a3: POP
000005a4: POP
000005a5: POP
000005a6: POP
000005a7: POP
000005a8: SWAP1
000005a9: POP
000005aa: ADD
000005ab: SWAP2
000005ac: POP
000005ad: POP
000005ae: PUSH1 0x00
000005b0: PUSH1 0x40
000005b2: MLOAD
000005b3: DUP1
000005b4: DUP4
000005b5: SUB
000005b6: DUP2
000005b7: DUP6
000005b8: GAS
000005b9: DELEGATECALL
000005ba: SWAP2
000005bb: POP
000005bc: POP
000005bd: RETURNDATASIZE
000005be: DUP1
000005bf: PUSH1 0x00
000005c1: DUP2
000005c2: EQ
000005c3: PUSH2 0x05e8
000005c6: JUMPI
000005c7: PUSH1 0x40
000005c9: MLOAD
000005ca: SWAP2
000005cb: POP
000005cc: PUSH1 0x1f
000005ce: NOT
000005cf: PUSH1 0x3f
000005d1: RETURNDATASIZE
000005d2: ADD
000005d3: AND
000005d4: DUP3
000005d5: ADD
000005d6: PUSH1 0x40
000005d8: MSTORE
000005d9: RETURNDATASIZE
000005da: DUP3
000005db: MSTORE
000005dc: RETURNDATASIZE
000005dd: PUSH1 0x00
000005df: PUSH1 0x20
000005e1: DUP5
000005e2: ADD
000005e3: RETURNDATACOPY
000005e4: PUSH2 0x05ed
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH1 0x60
000005eb: SWAP2
000005ec: POP
000005ed: JUMPDEST
000005ee: POP
000005ef: SWAP2
000005f0: POP
000005f1: SWAP2
000005f2: POP
000005f3: DUP2
000005f4: DUP2
000005f5: SWAP1
000005f6: PUSH2 0x067d
000005f9: JUMPI
000005fa: PUSH1 0x40
000005fc: MLOAD
000005fd: PUSH3 0x461bcd
00000601: PUSH1 0xe5
00000603: SHL
00000604: DUP2
00000605: MSTORE
00000606: PUSH1 0x04
00000608: ADD
00000609: DUP1
0000060a: DUP1
0000060b: PUSH1 0x20
0000060d: ADD
0000060e: DUP3
0000060f: DUP2
00000610: SUB
00000611: DUP3
00000612: MSTORE
00000613: DUP4
00000614: DUP2
00000615: DUP2
00000616: MLOAD
00000617: DUP2
00000618: MSTORE
00000619: PUSH1 0x20
0000061b: ADD
0000061c: SWAP2
0000061d: POP
0000061e: DUP1
0000061f: MLOAD
00000620: SWAP1
00000621: PUSH1 0x20
00000623: ADD
00000624: SWAP1
00000625: DUP1
00000626: DUP4
00000627: DUP4
00000628: PUSH1 0x00
0000062a: JUMPDEST
0000062b: DUP4
0000062c: DUP2
0000062d: LT
0000062e: ISZERO
0000062f: PUSH2 0x0642
00000632: JUMPI
00000633: DUP2
00000634: DUP2
00000635: ADD
00000636: MLOAD
00000637: DUP4
00000638: DUP3
00000639: ADD
0000063a: MSTORE
0000063b: PUSH1 0x20
0000063d: ADD
0000063e: PUSH2 0x062a
00000641: JUMP
00000642: JUMPDEST
00000643: POP
00000644: POP
00000645: POP
00000646: POP
00000647: SWAP1
00000648: POP
00000649: SWAP1
0000064a: DUP2
0000064b: ADD
0000064c: SWAP1
0000064d: PUSH1 0x1f
0000064f: AND
00000650: DUP1
00000651: ISZERO
00000652: PUSH2 0x066f
00000655: JUMPI
00000656: DUP1
00000657: DUP3
00000658: SUB
00000659: DUP1
0000065a: MLOAD
0000065b: PUSH1 0x01
0000065d: DUP4
0000065e: PUSH1 0x20
00000660: SUB
00000661: PUSH2 0x0100
00000664: EXP
00000665: SUB
00000666: NOT
00000667: AND
00000668: DUP2
00000669: MSTORE
0000066a: PUSH1 0x20
0000066c: ADD
0000066d: SWAP2
0000066e: POP
0000066f: JUMPDEST
00000670: POP
00000671: SWAP3
00000672: POP
00000673: POP
00000674: POP
00000675: PUSH1 0x40
00000677: MLOAD
00000678: DUP1
00000679: SWAP2
0000067a: SUB
0000067b: SWAP1
0000067c: REVERT
0000067d: JUMPDEST
0000067e: POP
0000067f: PUSH1 0x00
00000681: DUP2
00000682: DUP1
00000683: PUSH1 0x20
00000685: ADD
00000686: SWAP1
00000687: MLOAD
00000688: PUSH1 0x20
0000068a: DUP2
0000068b: LT
0000068c: ISZERO
0000068d: PUSH2 0x0695
00000690: JUMPI
00000691: PUSH1 0x00
00000693: DUP1
00000694: REVERT
00000695: JUMPDEST
00000696: POP
00000697: MLOAD
00000698: SWAP1
00000699: POP
0000069a: DUP7
0000069b: DUP2
0000069c: GT
0000069d: ISZERO
0000069e: PUSH2 0x06e9
000006a1: JUMPI
000006a2: PUSH1 0x40
000006a4: DUP1
000006a5: MLOAD
000006a6: PUSH3 0x461bcd
000006aa: PUSH1 0xe5
000006ac: SHL
000006ad: DUP2
000006ae: MSTORE
000006af: PUSH1 0x20
000006b1: PUSH1 0x04
000006b3: DUP3
000006b4: ADD
000006b5: MSTORE
000006b6: PUSH1 0x18
000006b8: PUSH1 0x24
000006ba: DUP3
000006bb: ADD
000006bc: MSTORE
000006bd: PUSH24 0x494e56414c49445f494e495449414c495a45525f53495a45
000006d6: PUSH1 0x40
000006d8: SHL
000006d9: PUSH1 0x44
000006db: DUP3
000006dc: ADD
000006dd: MSTORE
000006de: SWAP1
000006df: MLOAD
000006e0: SWAP1
000006e1: DUP2
000006e2: SWAP1
000006e3: SUB
000006e4: PUSH1 0x64
000006e6: ADD
000006e7: SWAP1
000006e8: REVERT
000006e9: JUMPDEST
000006ea: DUP7
000006eb: DUP2
000006ec: DUP11
000006ed: ADD
000006ee: GT
000006ef: ISZERO
000006f0: PUSH2 0x073b
000006f3: JUMPI
000006f4: PUSH1 0x40
000006f6: DUP1
000006f7: MLOAD
000006f8: PUSH3 0x461bcd
000006fc: PUSH1 0xe5
000006fe: SHL
000006ff: DUP2
00000700: MSTORE
00000701: PUSH1 0x20
00000703: PUSH1 0x04
00000705: DUP3
00000706: ADD
00000707: MSTORE
00000708: PUSH1 0x18
0000070a: PUSH1 0x24
0000070c: DUP3
0000070d: ADD
0000070e: MSTORE
0000070f: PUSH24 0x494e56414c49445f494e495449414c495a45525f53495a45
00000728: PUSH1 0x40
0000072a: SHL
0000072b: PUSH1 0x44
0000072d: DUP3
0000072e: ADD
0000072f: MSTORE
00000730: SWAP1
00000731: MLOAD
00000732: SWAP1
00000733: DUP2
00000734: SWAP1
00000735: SUB
00000736: PUSH1 0x64
00000738: ADD
00000739: SWAP1
0000073a: REVERT
0000073b: JUMPDEST
0000073c: DUP1
0000073d: PUSH2 0x0749
00000740: JUMPI
00000741: POP
00000742: POP
00000743: POP
00000744: POP
00000745: PUSH2 0x08ce
00000748: JUMP
00000749: JUMPDEST
0000074a: DUP4
0000074b: PUSH1 0x01
0000074d: PUSH1 0x01
0000074f: PUSH1 0xa0
00000751: SHL
00000752: SUB
00000753: AND
00000754: PUSH4 0x439fab91
00000759: PUSH1 0xe0
0000075b: SHL
0000075c: DUP14
0000075d: DUP14
0000075e: DUP12
0000075f: SWAP1
00000760: DUP6
00000761: DUP14
00000762: ADD
00000763: SWAP3
00000764: PUSH2 0x076f
00000767: SWAP4
00000768: SWAP3
00000769: SWAP2
0000076a: SWAP1
0000076b: PUSH2 0x14eb
0000076e: JUMP
0000076f: JUMPDEST
00000770: PUSH1 0x40
00000772: MLOAD
00000773: PUSH1 0x20
00000775: PUSH1 0x24
00000777: DUP3
00000778: ADD
00000779: SWAP1
0000077a: DUP2
0000077b: MSTORE
0000077c: PUSH1 0x44
0000077e: DUP3
0000077f: ADD
00000780: DUP4
00000781: SWAP1
00000782: MSTORE
00000783: SWAP1
00000784: DUP2
00000785: SWAP1
00000786: PUSH1 0x64
00000788: ADD
00000789: DUP5
0000078a: DUP5
0000078b: DUP1
0000078c: DUP3
0000078d: DUP5
0000078e: CALLDATACOPY
0000078f: PUSH1 0x00
00000791: DUP4
00000792: DUP3
00000793: ADD
00000794: MSTORE
00000795: PUSH1 0x40
00000797: DUP1
00000798: MLOAD
00000799: PUSH1 0x1f
0000079b: SWAP1
0000079c: SWAP3
0000079d: ADD
0000079e: PUSH1 0x1f
000007a0: NOT
000007a1: SWAP1
000007a2: DUP2
000007a3: AND
000007a4: SWAP1
000007a5: SWAP5
000007a6: ADD
000007a7: DUP3
000007a8: DUP2
000007a9: SUB
000007aa: SWAP1
000007ab: SWAP5
000007ac: ADD
000007ad: DUP3
000007ae: MSTORE
000007af: SWAP3
000007b0: DUP4
000007b1: MSTORE
000007b2: PUSH1 0x20
000007b4: DUP2
000007b5: ADD
000007b6: DUP1
000007b7: MLOAD
000007b8: PUSH1 0x01
000007ba: PUSH1 0x01
000007bc: PUSH1 0xe0
000007be: SHL
000007bf: SUB
000007c0: AND
000007c1: PUSH1 0x01
000007c3: PUSH1 0x01
000007c5: PUSH1 0xe0
000007c7: SHL
000007c8: SUB
000007c9: NOT
000007ca: SWAP1
000007cb: SWAP10
000007cc: AND
000007cd: SWAP9
000007ce: SWAP1
000007cf: SWAP9
000007d0: OR
000007d1: DUP9
000007d2: MSTORE
000007d3: SWAP2
000007d4: MLOAD
000007d5: DUP3
000007d6: MLOAD
000007d7: SWAP3
000007d8: SWAP8
000007d9: SWAP1
000007da: SWAP7
000007db: POP
000007dc: DUP7
000007dd: SWAP6
000007de: POP
000007df: SWAP4
000007e0: POP
000007e1: SWAP1
000007e2: SWAP2
000007e3: POP
000007e4: DUP2
000007e5: SWAP1
000007e6: POP
000007e7: DUP4
000007e8: DUP4
000007e9: JUMPDEST
000007ea: PUSH1 0x20
000007ec: DUP4
000007ed: LT
000007ee: PUSH2 0x0808
000007f1: JUMPI
000007f2: DUP1
000007f3: MLOAD
000007f4: DUP3
000007f5: MSTORE
000007f6: PUSH1 0x1f
000007f8: NOT
000007f9: SWAP1
000007fa: SWAP3
000007fb: ADD
000007fc: SWAP2
000007fd: PUSH1 0x20
000007ff: SWAP2
00000800: DUP3
00000801: ADD
00000802: SWAP2
00000803: ADD
00000804: PUSH2 0x07e9
00000807: JUMP
00000808: JUMPDEST
00000809: PUSH1 0x01
0000080b: DUP4
0000080c: PUSH1 0x20
0000080e: SUB
0000080f: PUSH2 0x0100
00000812: EXP
00000813: SUB
00000814: DUP1
00000815: NOT
00000816: DUP3
00000817: MLOAD
00000818: AND
00000819: DUP2
0000081a: DUP5
0000081b: MLOAD
0000081c: AND
0000081d: DUP1
0000081e: DUP3
0000081f: OR
00000820: DUP6
00000821: MSTORE
00000822: POP
00000823: POP
00000824: POP
00000825: POP
00000826: POP
00000827: POP
00000828: SWAP1
00000829: POP
0000082a: ADD
0000082b: SWAP2
0000082c: POP
0000082d: POP
0000082e: PUSH1 0x00
00000830: PUSH1 0x40
00000832: MLOAD
00000833: DUP1
00000834: DUP4
00000835: SUB
00000836: DUP2
00000837: DUP6
00000838: GAS
00000839: DELEGATECALL
0000083a: SWAP2
0000083b: POP
0000083c: POP
0000083d: RETURNDATASIZE
0000083e: DUP1
0000083f: PUSH1 0x00
00000841: DUP2
00000842: EQ
00000843: PUSH2 0x0868
00000846: JUMPI
00000847: PUSH1 0x40
00000849: MLOAD
0000084a: SWAP2
0000084b: POP
0000084c: PUSH1 0x1f
0000084e: NOT
0000084f: PUSH1 0x3f
00000851: RETURNDATASIZE
00000852: ADD
00000853: AND
00000854: DUP3
00000855: ADD
00000856: PUSH1 0x40
00000858: MSTORE
00000859: RETURNDATASIZE
0000085a: DUP3
0000085b: MSTORE
0000085c: RETURNDATASIZE
0000085d: PUSH1 0x00
0000085f: PUSH1 0x20
00000861: DUP5
00000862: ADD
00000863: RETURNDATACOPY
00000864: PUSH2 0x086d
00000867: JUMP
00000868: JUMPDEST
00000869: PUSH1 0x60
0000086b: SWAP2
0000086c: POP
0000086d: JUMPDEST
0000086e: POP
0000086f: SWAP1
00000870: SWAP4
00000871: POP
00000872: SWAP2
00000873: POP
00000874: DUP2
00000875: DUP4
00000876: PUSH2 0x08c0
00000879: JUMPI
0000087a: PUSH1 0x40
0000087c: MLOAD
0000087d: PUSH3 0x461bcd
00000881: PUSH1 0xe5
00000883: SHL
00000884: DUP2
00000885: MSTORE
00000886: PUSH1 0x20
00000888: PUSH1 0x04
0000088a: DUP3
0000088b: ADD
0000088c: DUP2
0000088d: DUP2
0000088e: MSTORE
0000088f: DUP4
00000890: MLOAD
00000891: PUSH1 0x24
00000893: DUP5
00000894: ADD
00000895: MSTORE
00000896: DUP4
00000897: MLOAD
00000898: SWAP1
00000899: SWAP3
0000089a: DUP4
0000089b: SWAP3
0000089c: PUSH1 0x44
0000089e: SWAP1
0000089f: SWAP2
000008a0: ADD
000008a1: SWAP2
000008a2: SWAP1
000008a3: DUP6
000008a4: ADD
000008a5: SWAP1
000008a6: DUP1
000008a7: DUP4
000008a8: DUP4
000008a9: PUSH1 0x00
000008ab: DUP4
000008ac: ISZERO
000008ad: PUSH2 0x0642
000008b0: JUMPI
000008b1: DUP2
000008b2: DUP2
000008b3: ADD
000008b4: MLOAD
000008b5: DUP4
000008b6: DUP3
000008b7: ADD
000008b8: MSTORE
000008b9: PUSH1 0x20
000008bb: ADD
000008bc: PUSH2 0x062a
000008bf: JUMP
000008c0: JUMPDEST
000008c1: POP
000008c2: SWAP8
000008c3: DUP9
000008c4: ADD
000008c5: SWAP8
000008c6: SWAP7
000008c7: SWAP1
000008c8: SWAP7
000008c9: ADD
000008ca: SWAP6
000008cb: POP
000008cc: POP
000008cd: POP
000008ce: JUMPDEST
000008cf: PUSH1 0x01
000008d1: ADD
000008d2: PUSH2 0x04ef
000008d5: JUMP
000008d6: JUMPDEST
000008d7: POP
000008d8: DUP4
000008d9: DUP3
000008da: EQ
000008db: PUSH2 0x092b
000008de: JUMPI
000008df: PUSH1 0x40
000008e1: DUP1
000008e2: MLOAD
000008e3: PUSH3 0x461bcd
000008e7: PUSH1 0xe5
000008e9: SHL
000008ea: DUP2
000008eb: MSTORE
000008ec: PUSH1 0x20
000008ee: PUSH1 0x04
000008f0: DUP3
000008f1: ADD
000008f2: MSTORE
000008f3: PUSH1 0x1a
000008f5: PUSH1 0x24
000008f7: DUP3
000008f8: ADD
000008f9: MSTORE
000008fa: PUSH32 0x4d49534d41544348494e475f494e49545f444154415f53495a45000000000000
0000091b: PUSH1 0x44
0000091d: DUP3
0000091e: ADD
0000091f: MSTORE
00000920: SWAP1
00000921: MLOAD
00000922: SWAP1
00000923: DUP2
00000924: SWAP1
00000925: SUB
00000926: PUSH1 0x64
00000928: ADD
00000929: SWAP1
0000092a: REVERT
0000092b: JUMPDEST
0000092c: POP
0000092d: POP
0000092e: POP
0000092f: POP
00000930: POP
00000931: JUMPDEST
00000932: POP
00000933: POP
00000934: JUMP
00000935: JUMPDEST
00000936: PUSH1 0x60
00000938: PUSH1 0x00
0000093a: PUSH2 0x0942
0000093d: DUP4
0000093e: PUSH2 0x0975
00000941: JUMP
00000942: JUMPDEST
00000943: SWAP1
00000944: POP
00000945: PUSH2 0x094d
00000948: DUP2
00000949: PUSH2 0x1223
0000094c: JUMP
0000094d: JUMPDEST
0000094e: SWAP4
0000094f: SWAP3
00000950: POP
00000951: POP
00000952: POP
00000953: JUMP
00000954: JUMPDEST
00000955: PUSH1 0x40
00000957: MLOAD
00000958: DUP1
00000959: PUSH1 0x40
0000095b: ADD
0000095c: PUSH1 0x40
0000095e: MSTORE
0000095f: DUP1
00000960: PUSH1 0x05
00000962: DUP2
00000963: MSTORE
00000964: PUSH1 0x20
00000966: ADD
00000967: PUSH5 0x342e352e31
0000096d: PUSH1 0xd8
0000096f: SHL
00000970: DUP2
00000971: MSTORE
00000972: POP
00000973: DUP2
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH1 0x00
00000978: DUP1
00000979: DUP3
0000097a: PUSH2 0x0981
0000097d: PUSH2 0x13dd
00000980: JUMP
00000981: JUMPDEST
00000982: PUSH1 0x40
00000984: MLOAD
00000985: PUSH1 0x20
00000987: ADD
00000988: DUP1
00000989: DUP4
0000098a: PUSH1 0x01
0000098c: PUSH1 0x01
0000098e: PUSH1 0xe0
00000990: SHL
00000991: SUB
00000992: NOT
00000993: AND
00000994: DUP2
00000995: MSTORE
00000996: PUSH1 0x04
00000998: ADD
00000999: DUP3
0000099a: DUP2
0000099b: MSTORE
0000099c: PUSH1 0x20
0000099e: ADD
0000099f: SWAP3
000009a0: POP
000009a1: POP
000009a2: POP
000009a3: PUSH1 0x40
000009a5: MLOAD
000009a6: PUSH1 0x20
000009a8: DUP2
000009a9: DUP4
000009aa: SUB
000009ab: SUB
000009ac: DUP2
000009ad: MSTORE
000009ae: SWAP1
000009af: PUSH1 0x40
000009b1: MSTORE
000009b2: DUP1
000009b3: MLOAD
000009b4: SWAP1
000009b5: PUSH1 0x20
000009b7: ADD
000009b8: KECCAK256
000009b9: PUSH1 0x00
000009bb: SHR
000009bc: PUSH1 0xff
000009be: AND
000009bf: SWAP1
000009c0: POP
000009c1: PUSH1 0x00
000009c3: PUSH2 0x0100
000009c6: DUP3
000009c7: PUSH1 0x04
000009c9: MUL
000009ca: DUP2
000009cb: PUSH2 0x09d0
000009ce: JUMPI
000009cf: INVALID
000009d0: JUMPDEST
000009d1: MOD
000009d2: SWAP1
000009d3: POP
000009d4: DUP1
000009d5: PUSH2 0x09e1
000009d8: PUSH1 0x06
000009da: DUP5
000009db: SWAP1
000009dc: SHR
000009dd: PUSH2 0x13e4
000009e0: JUMP
000009e1: JUMPDEST
000009e2: PUSH1 0x0f
000009e4: SWAP2
000009e5: SHR
000009e6: AND
000009e7: SWAP5
000009e8: SWAP4
000009e9: POP
000009ea: POP
000009eb: POP
000009ec: POP
000009ed: JUMP
000009ee: JUMPDEST
000009ef: PUSH1 0x06
000009f1: SWAP1
000009f2: JUMP
000009f3: JUMPDEST
000009f4: PUSH1 0x60
000009f6: DUP2
000009f7: PUSH1 0x01
000009f9: PUSH1 0x01
000009fb: PUSH1 0xa0
000009fd: SHL
000009fe: SUB
000009ff: AND
00000a00: PUSH4 0xeeb72866
00000a05: PUSH1 0x40
00000a07: MLOAD
00000a08: DUP2
00000a09: PUSH4 0xffffffff
00000a0e: AND
00000a0f: PUSH1 0xe0
00000a11: SHL
00000a12: DUP2
00000a13: MSTORE
00000a14: PUSH1 0x04
00000a16: ADD
00000a17: PUSH1 0x00
00000a19: PUSH1 0x40
00000a1b: MLOAD
00000a1c: DUP1
00000a1d: DUP4
00000a1e: SUB
00000a1f: DUP2
00000a20: DUP7
00000a21: DUP1
00000a22: EXTCODESIZE
00000a23: ISZERO
00000a24: DUP1
00000a25: ISZERO
00000a26: PUSH2 0x0a2e
00000a29: JUMPI
00000a2a: PUSH1 0x00
00000a2c: DUP1
00000a2d: REVERT
00000a2e: JUMPDEST
00000a2f: POP
00000a30: GAS
00000a31: STATICCALL
00000a32: ISZERO
00000a33: DUP1
00000a34: ISZERO
00000a35: PUSH2 0x0a42
00000a38: JUMPI
00000a39: RETURNDATASIZE
00000a3a: PUSH1 0x00
00000a3c: DUP1
00000a3d: RETURNDATACOPY
00000a3e: RETURNDATASIZE
00000a3f: PUSH1 0x00
00000a41: REVERT
00000a42: JUMPDEST
00000a43: POP
00000a44: POP
00000a45: POP
00000a46: POP
00000a47: PUSH1 0x40
00000a49: MLOAD
00000a4a: RETURNDATASIZE
00000a4b: PUSH1 0x00
00000a4d: DUP3
00000a4e: RETURNDATACOPY
00000a4f: PUSH1 0x1f
00000a51: RETURNDATASIZE
00000a52: SWAP1
00000a53: DUP2
00000a54: ADD
00000a55: PUSH1 0x1f
00000a57: NOT
00000a58: AND
00000a59: DUP3
00000a5a: ADD
00000a5b: PUSH1 0x40
00000a5d: MSTORE
00000a5e: PUSH1 0x20
00000a60: DUP2
00000a61: LT
00000a62: ISZERO
00000a63: PUSH2 0x0a6b
00000a66: JUMPI
00000a67: PUSH1 0x00
00000a69: DUP1
00000a6a: REVERT
00000a6b: JUMPDEST
00000a6c: DUP2
00000a6d: ADD
00000a6e: SWAP1
00000a6f: DUP1
00000a70: DUP1
00000a71: MLOAD
00000a72: PUSH1 0x40
00000a74: MLOAD
00000a75: SWAP4
00000a76: SWAP3
00000a77: SWAP2
00000a78: SWAP1
00000a79: DUP5
00000a7a: PUSH1 0x01
00000a7c: PUSH1 0x20
00000a7e: SHL
00000a7f: DUP3
00000a80: GT
00000a81: ISZERO
00000a82: PUSH2 0x0a8a
00000a85: JUMPI
00000a86: PUSH1 0x00
00000a88: DUP1
00000a89: REVERT
00000a8a: JUMPDEST
00000a8b: SWAP1
00000a8c: DUP4
00000a8d: ADD
00000a8e: SWAP1
00000a8f: PUSH1 0x20
00000a91: DUP3
00000a92: ADD
00000a93: DUP6
00000a94: DUP2
00000a95: GT
00000a96: ISZERO
00000a97: PUSH2 0x0a9f
00000a9a: JUMPI
00000a9b: PUSH1 0x00
00000a9d: DUP1
00000a9e: REVERT
00000a9f: JUMPDEST
00000aa0: DUP3
00000aa1: MLOAD
00000aa2: PUSH1 0x01
00000aa4: PUSH1 0x20
00000aa6: SHL
00000aa7: DUP2
00000aa8: GT
00000aa9: DUP3
00000aaa: DUP3
00000aab: ADD
00000aac: DUP9
00000aad: LT
00000aae: OR
00000aaf: ISZERO
00000ab0: PUSH2 0x0ab8
00000ab3: JUMPI
00000ab4: PUSH1 0x00
00000ab6: DUP1
00000ab7: REVERT
00000ab8: JUMPDEST
00000ab9: DUP3
00000aba: MSTORE
00000abb: POP
00000abc: DUP2
00000abd: MLOAD
00000abe: PUSH1 0x20
00000ac0: SWAP2
00000ac1: DUP3
00000ac2: ADD
00000ac3: SWAP3
00000ac4: SWAP1
00000ac5: SWAP2
00000ac6: ADD
00000ac7: SWAP1
00000ac8: DUP1
00000ac9: DUP4
00000aca: DUP4
00000acb: PUSH1 0x00
00000acd: JUMPDEST
00000ace: DUP4
00000acf: DUP2
00000ad0: LT
00000ad1: ISZERO
00000ad2: PUSH2 0x0ae5
00000ad5: JUMPI
00000ad6: DUP2
00000ad7: DUP2
00000ad8: ADD
00000ad9: MLOAD
00000ada: DUP4
00000adb: DUP3
00000adc: ADD
00000add: MSTORE
00000ade: PUSH1 0x20
00000ae0: ADD
00000ae1: PUSH2 0x0acd
00000ae4: JUMP
00000ae5: JUMPDEST
00000ae6: POP
00000ae7: POP
00000ae8: POP
00000ae9: POP
00000aea: SWAP1
00000aeb: POP
00000aec: SWAP1
00000aed: DUP2
00000aee: ADD
00000aef: SWAP1
00000af0: PUSH1 0x1f
00000af2: AND
00000af3: DUP1
00000af4: ISZERO
00000af5: PUSH2 0x0b12
00000af8: JUMPI
00000af9: DUP1
00000afa: DUP3
00000afb: SUB
00000afc: DUP1
00000afd: MLOAD
00000afe: PUSH1 0x01
00000b00: DUP4
00000b01: PUSH1 0x20
00000b03: SUB
00000b04: PUSH2 0x0100
00000b07: EXP
00000b08: SUB
00000b09: NOT
00000b0a: AND
00000b0b: DUP2
00000b0c: MSTORE
00000b0d: PUSH1 0x20
00000b0f: ADD
00000b10: SWAP2
00000b11: POP
00000b12: JUMPDEST
00000b13: POP
00000b14: PUSH1 0x40
00000b16: MSTORE
00000b17: POP
00000b18: POP
00000b19: POP
00000b1a: SWAP1
00000b1b: POP
00000b1c: PUSH1 0x00
00000b1e: PUSH2 0x0b26
00000b21: DUP5
00000b22: PUSH2 0x1223
00000b25: JUMP
00000b26: JUMPDEST
00000b27: PUSH1 0x40
00000b29: MLOAD
00000b2a: PUSH1 0x20
00000b2c: ADD
00000b2d: DUP1
00000b2e: DUP3
00000b2f: DUP1
00000b30: MLOAD
00000b31: SWAP1
00000b32: PUSH1 0x20
00000b34: ADD
00000b35: SWAP1
00000b36: DUP1
00000b37: DUP4
00000b38: DUP4
00000b39: JUMPDEST
00000b3a: PUSH1 0x20
00000b3c: DUP4
00000b3d: LT
00000b3e: PUSH2 0x0b58
00000b41: JUMPI
00000b42: DUP1
00000b43: MLOAD
00000b44: DUP3
00000b45: MSTORE
00000b46: PUSH1 0x1f
00000b48: NOT
00000b49: SWAP1
00000b4a: SWAP3
00000b4b: ADD
00000b4c: SWAP2
00000b4d: PUSH1 0x20
00000b4f: SWAP2
00000b50: DUP3
00000b51: ADD
00000b52: SWAP2
00000b53: ADD
00000b54: PUSH2 0x0b39
00000b57: JUMP
00000b58: JUMPDEST
00000b59: PUSH1 0x01
00000b5b: DUP4
00000b5c: PUSH1 0x20
00000b5e: SUB
00000b5f: PUSH2 0x0100
00000b62: EXP
00000b63: SUB
00000b64: DUP1
00000b65: NOT
00000b66: DUP3
00000b67: MLOAD
00000b68: AND
00000b69: DUP2
00000b6a: DUP5
00000b6b: MLOAD
00000b6c: AND
00000b6d: DUP1
00000b6e: DUP3
00000b6f: OR
00000b70: DUP6
00000b71: MSTORE
00000b72: POP
00000b73: POP
00000b74: POP
00000b75: POP
00000b76: POP
00000b77: POP
00000b78: SWAP1
00000b79: POP
00000b7a: ADD
00000b7b: SWAP2
00000b7c: POP
00000b7d: POP
00000b7e: PUSH1 0x40
00000b80: MLOAD
00000b81: PUSH1 0x20
00000b83: DUP2
00000b84: DUP4
00000b85: SUB
00000b86: SUB
00000b87: DUP2
00000b88: MSTORE
00000b89: SWAP1
00000b8a: PUSH1 0x40
00000b8c: MSTORE
00000b8d: DUP1
00000b8e: MLOAD
00000b8f: SWAP1
00000b90: PUSH1 0x20
00000b92: ADD
00000b93: KECCAK256
00000b94: SWAP1
00000b95: POP
00000b96: DUP2
00000b97: PUSH1 0x40
00000b99: MLOAD
00000b9a: PUSH1 0x20
00000b9c: ADD
00000b9d: DUP1
00000b9e: DUP3
00000b9f: DUP1
00000ba0: MLOAD
00000ba1: SWAP1
00000ba2: PUSH1 0x20
00000ba4: ADD
00000ba5: SWAP1
00000ba6: DUP1
00000ba7: DUP4
00000ba8: DUP4
00000ba9: JUMPDEST
00000baa: PUSH1 0x20
00000bac: DUP4
00000bad: LT
00000bae: PUSH2 0x0bc8
00000bb1: JUMPI
00000bb2: DUP1
00000bb3: MLOAD
00000bb4: DUP3
00000bb5: MSTORE
00000bb6: PUSH1 0x1f
00000bb8: NOT
00000bb9: SWAP1
00000bba: SWAP3
00000bbb: ADD
00000bbc: SWAP2
00000bbd: PUSH1 0x20
00000bbf: SWAP2
00000bc0: DUP3
00000bc1: ADD
00000bc2: SWAP2
00000bc3: ADD
00000bc4: PUSH2 0x0ba9
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: PUSH1 0x01
00000bcb: DUP4
00000bcc: PUSH1 0x20
00000bce: SUB
00000bcf: PUSH2 0x0100
00000bd2: EXP
00000bd3: SUB
00000bd4: DUP1
00000bd5: NOT
00000bd6: DUP3
00000bd7: MLOAD
00000bd8: AND
00000bd9: DUP2
00000bda: DUP5
00000bdb: MLOAD
00000bdc: AND
00000bdd: DUP1
00000bde: DUP3
00000bdf: OR
00000be0: DUP6
00000be1: MSTORE
00000be2: POP
00000be3: POP
00000be4: POP
00000be5: POP
00000be6: POP
00000be7: POP
00000be8: SWAP1
00000be9: POP
00000bea: ADD
00000beb: SWAP2
00000bec: POP
00000bed: POP
00000bee: PUSH1 0x40
00000bf0: MLOAD
00000bf1: PUSH1 0x20
00000bf3: DUP2
00000bf4: DUP4
00000bf5: SUB
00000bf6: SUB
00000bf7: DUP2
00000bf8: MSTORE
00000bf9: SWAP1
00000bfa: PUSH1 0x40
00000bfc: MSTORE
00000bfd: DUP1
00000bfe: MLOAD
00000bff: SWAP1
00000c00: PUSH1 0x20
00000c02: ADD
00000c03: KECCAK256
00000c04: DUP2
00000c05: EQ
00000c06: PUSH2 0x0c40
00000c09: JUMPI
00000c0a: PUSH1 0x40
00000c0c: MLOAD
00000c0d: PUSH3 0x461bcd
00000c11: PUSH1 0xe5
00000c13: SHL
00000c14: DUP2
00000c15: MSTORE
00000c16: PUSH1 0x04
00000c18: ADD
00000c19: DUP1
00000c1a: DUP1
00000c1b: PUSH1 0x20
00000c1d: ADD
00000c1e: DUP3
00000c1f: DUP2
00000c20: SUB
00000c21: DUP3
00000c22: MSTORE
00000c23: PUSH1 0x22
00000c25: DUP2
00000c26: MSTORE
00000c27: PUSH1 0x20
00000c29: ADD
00000c2a: DUP1
00000c2b: PUSH2 0x1514
00000c2e: PUSH1 0x22
00000c30: SWAP2
00000c31: CODECOPY
00000c32: PUSH1 0x40
00000c34: ADD
00000c35: SWAP2
00000c36: POP
00000c37: POP
00000c38: PUSH1 0x40
00000c3a: MLOAD
00000c3b: DUP1
00000c3c: SWAP2
00000c3d: SUB
00000c3e: SWAP1
00000c3f: REVERT
00000c40: JUMPDEST
00000c41: PUSH1 0x60
00000c43: DUP4
00000c44: PUSH1 0x01
00000c46: PUSH1 0x01
00000c48: PUSH1 0xa0
00000c4a: SHL
00000c4b: SUB
00000c4c: AND
00000c4d: PUSH4 0x0ebdac03
00000c52: PUSH1 0x40
00000c54: MLOAD
00000c55: DUP2
00000c56: PUSH4 0xffffffff
00000c5b: AND
00000c5c: PUSH1 0xe0
00000c5e: SHL
00000c5f: DUP2
00000c60: MSTORE
00000c61: PUSH1 0x04
00000c63: ADD
00000c64: PUSH1 0x00
00000c66: PUSH1 0x40
00000c68: MLOAD
00000c69: DUP1
00000c6a: DUP4
00000c6b: SUB
00000c6c: DUP2
00000c6d: DUP7
00000c6e: DUP1
00000c6f: EXTCODESIZE
00000c70: ISZERO
00000c71: DUP1
00000c72: ISZERO
00000c73: PUSH2 0x0c7b
00000c76: JUMPI
00000c77: PUSH1 0x00
00000c79: DUP1
00000c7a: REVERT
00000c7b: JUMPDEST
00000c7c: POP
00000c7d: GAS
00000c7e: STATICCALL
00000c7f: ISZERO
00000c80: DUP1
00000c81: ISZERO
00000c82: PUSH2 0x0c8f
00000c85: JUMPI
00000c86: RETURNDATASIZE
00000c87: PUSH1 0x00
00000c89: DUP1
00000c8a: RETURNDATACOPY
00000c8b: RETURNDATASIZE
00000c8c: PUSH1 0x00
00000c8e: REVERT
00000c8f: JUMPDEST
00000c90: POP
00000c91: POP
00000c92: POP
00000c93: POP
00000c94: PUSH1 0x40
00000c96: MLOAD
00000c97: RETURNDATASIZE
00000c98: PUSH1 0x00
00000c9a: DUP3
00000c9b: RETURNDATACOPY
00000c9c: PUSH1 0x1f
00000c9e: RETURNDATASIZE
00000c9f: SWAP1
00000ca0: DUP2
00000ca1: ADD
00000ca2: PUSH1 0x1f
00000ca4: NOT
00000ca5: AND
00000ca6: DUP3
00000ca7: ADD
00000ca8: PUSH1 0x40
00000caa: MSTORE
00000cab: PUSH1 0x20
00000cad: DUP2
00000cae: LT
00000caf: ISZERO
00000cb0: PUSH2 0x0cb8
00000cb3: JUMPI
00000cb4: PUSH1 0x00
00000cb6: DUP1
00000cb7: REVERT
00000cb8: JUMPDEST
00000cb9: DUP2
00000cba: ADD
00000cbb: SWAP1
00000cbc: DUP1
00000cbd: DUP1
00000cbe: MLOAD
00000cbf: PUSH1 0x40
00000cc1: MLOAD
00000cc2: SWAP4
00000cc3: SWAP3
00000cc4: SWAP2
00000cc5: SWAP1
00000cc6: DUP5
00000cc7: PUSH1 0x01
00000cc9: PUSH1 0x20
00000ccb: SHL
00000ccc: DUP3
00000ccd: GT
00000cce: ISZERO
00000ccf: PUSH2 0x0cd7
00000cd2: JUMPI
00000cd3: PUSH1 0x00
00000cd5: DUP1
00000cd6: REVERT
00000cd7: JUMPDEST
00000cd8: SWAP1
00000cd9: DUP4
00000cda: ADD
00000cdb: SWAP1
00000cdc: PUSH1 0x20
00000cde: DUP3
00000cdf: ADD
00000ce0: DUP6
00000ce1: DUP2
00000ce2: GT
00000ce3: ISZERO
00000ce4: PUSH2 0x0cec
00000ce7: JUMPI
00000ce8: PUSH1 0x00
00000cea: DUP1
00000ceb: REVERT
00000cec: JUMPDEST
00000ced: DUP3
00000cee: MLOAD
00000cef: DUP7
00000cf0: PUSH1 0x20
00000cf2: DUP3
00000cf3: MUL
00000cf4: DUP4
00000cf5: ADD
00000cf6: GT
00000cf7: PUSH1 0x01
00000cf9: PUSH1 0x20
00000cfb: SHL
00000cfc: DUP3
00000cfd: GT
00000cfe: OR
00000cff: ISZERO
00000d00: PUSH2 0x0d08
00000d03: JUMPI
00000d04: PUSH1 0x00
00000d06: DUP1
00000d07: REVERT
00000d08: JUMPDEST
00000d09: DUP3
00000d0a: MSTORE
00000d0b: POP
00000d0c: DUP2
00000d0d: MLOAD
00000d0e: PUSH1 0x20
00000d10: SWAP2
00000d11: DUP3
00000d12: ADD
00000d13: SWAP3
00000d14: DUP3
00000d15: ADD
00000d16: SWAP2
00000d17: MUL
00000d18: DUP1
00000d19: DUP4
00000d1a: DUP4
00000d1b: PUSH1 0x00
00000d1d: JUMPDEST
00000d1e: DUP4
00000d1f: DUP2
00000d20: LT
00000d21: ISZERO
00000d22: PUSH2 0x0d35
00000d25: JUMPI
00000d26: DUP2
00000d27: DUP2
00000d28: ADD
00000d29: MLOAD
00000d2a: DUP4
00000d2b: DUP3
00000d2c: ADD
00000d2d: MSTORE
00000d2e: PUSH1 0x20
00000d30: ADD
00000d31: PUSH2 0x0d1d
00000d34: JUMP
00000d35: JUMPDEST
00000d36: POP
00000d37: POP
00000d38: POP
00000d39: POP
00000d3a: SWAP1
00000d3b: POP
00000d3c: ADD
00000d3d: PUSH1 0x40
00000d3f: MSTORE
00000d40: POP
00000d41: POP
00000d42: POP
00000d43: SWAP1
00000d44: POP
00000d45: PUSH1 0x00
00000d47: JUMPDEST
00000d48: DUP2
00000d49: MLOAD
00000d4a: DUP2
00000d4b: LT
00000d4c: ISZERO
00000d4d: PUSH2 0x0dc7
00000d50: JUMPI
00000d51: DUP6
00000d52: PUSH2 0x0d6d
00000d55: DUP4
00000d56: DUP4
00000d57: DUP2
00000d58: MLOAD
00000d59: DUP2
00000d5a: LT
00000d5b: PUSH2 0x0d60
00000d5e: JUMPI
00000d5f: INVALID
00000d60: JUMPDEST
00000d61: PUSH1 0x20
00000d63: MUL
00000d64: PUSH1 0x20
00000d66: ADD
00000d67: ADD
00000d68: MLOAD
00000d69: PUSH2 0x0975
00000d6c: JUMP
00000d6d: JUMPDEST
00000d6e: EQ
00000d6f: PUSH2 0x0dbf
00000d72: JUMPI
00000d73: PUSH1 0x40
00000d75: DUP1
00000d76: MLOAD
00000d77: PUSH3 0x461bcd
00000d7b: PUSH1 0xe5
00000d7d: SHL
00000d7e: DUP2
00000d7f: MSTORE
00000d80: PUSH1 0x20
00000d82: PUSH1 0x04
00000d84: DUP3
00000d85: ADD
00000d86: MSTORE
00000d87: PUSH1 0x1b
00000d89: PUSH1 0x24
00000d8b: DUP3
00000d8c: ADD
00000d8d: MSTORE
00000d8e: PUSH32 0x494e434f4e53495354454e545f444953504154434845525f4d41500000000000
00000daf: PUSH1 0x44
00000db1: DUP3
00000db2: ADD
00000db3: MSTORE
00000db4: SWAP1
00000db5: MLOAD
00000db6: SWAP1
00000db7: DUP2
00000db8: SWAP1
00000db9: SUB
00000dba: PUSH1 0x64
00000dbc: ADD
00000dbd: SWAP1
00000dbe: REVERT
00000dbf: JUMPDEST
00000dc0: PUSH1 0x01
00000dc2: ADD
00000dc3: PUSH2 0x0d47
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: POP
00000dc9: POP
00000dca: POP
00000dcb: POP
00000dcc: POP
00000dcd: POP
00000dce: JUMP
00000dcf: JUMPDEST
00000dd0: PUSH1 0x00
00000dd2: SWAP2
00000dd3: DUP3
00000dd4: MSTORE
00000dd5: PUSH1 0x1e
00000dd7: PUSH1 0x20
00000dd9: MSTORE
00000dda: PUSH1 0x40
00000ddc: SWAP1
00000ddd: SWAP2
00000dde: KECCAK256
00000ddf: DUP1
00000de0: SLOAD
00000de1: PUSH1 0x01
00000de3: PUSH1 0x01
00000de5: PUSH1 0xa0
00000de7: SHL
00000de8: SUB
00000de9: NOT
00000dea: AND
00000deb: PUSH1 0x01
00000ded: PUSH1 0x01
00000def: PUSH1 0xa0
00000df1: SHL
00000df2: SUB
00000df3: SWAP1
00000df4: SWAP3
00000df5: AND
00000df6: SWAP2
00000df7: SWAP1
00000df8: SWAP2
00000df9: OR
00000dfa: SWAP1
00000dfb: SSTORE
00000dfc: JUMP
00000dfd: JUMPDEST
00000dfe: PUSH2 0x0e0f
00000e01: DUP4
00000e02: PUSH1 0x01
00000e04: PUSH1 0x01
00000e06: PUSH1 0xa0
00000e08: SHL
00000e09: SUB
00000e0a: AND
00000e0b: PUSH2 0x14e5
00000e0e: JUMP
00000e0f: JUMPDEST
00000e10: PUSH2 0x0e51
00000e13: JUMPI
00000e14: PUSH1 0x40
00000e16: DUP1
00000e17: MLOAD
00000e18: PUSH3 0x461bcd
00000e1c: PUSH1 0xe5
00000e1e: SHL
00000e1f: DUP2
00000e20: MSTORE
00000e21: PUSH1 0x20
00000e23: PUSH1 0x04
00000e25: DUP3
00000e26: ADD
00000e27: MSTORE
00000e28: PUSH1 0x0e
00000e2a: PUSH1 0x24
00000e2c: DUP3
00000e2d: ADD
00000e2e: MSTORE
00000e2f: PUSH14 0x1393d517d057d0d3d395149050d5
00000e3e: PUSH1 0x92
00000e40: SHL
00000e41: PUSH1 0x44
00000e43: DUP3
00000e44: ADD
00000e45: MSTORE
00000e46: SWAP1
00000e47: MLOAD
00000e48: SWAP1
00000e49: DUP2
00000e4a: SWAP1
00000e4b: SUB
00000e4c: PUSH1 0x64
00000e4e: ADD
00000e4f: SWAP1
00000e50: REVERT
00000e51: JUMPDEST
00000e52: PUSH1 0x00
00000e54: PUSH1 0x60
00000e56: DUP5
00000e57: PUSH1 0x01
00000e59: PUSH1 0x01
00000e5b: PUSH1 0xa0
00000e5d: SHL
00000e5e: SUB
00000e5f: AND
00000e60: PUSH4 0x439fab91
00000e65: PUSH1 0xe0
00000e67: SHL
00000e68: DUP6
00000e69: DUP6
00000e6a: PUSH1 0x40
00000e6c: MLOAD
00000e6d: PUSH1 0x24
00000e6f: ADD
00000e70: DUP1
00000e71: DUP1
00000e72: PUSH1 0x20
00000e74: ADD
00000e75: DUP3
00000e76: DUP2
00000e77: SUB
00000e78: DUP3
00000e79: MSTORE
00000e7a: DUP5
00000e7b: DUP5
00000e7c: DUP3
00000e7d: DUP2
00000e7e: DUP2
00000e7f: MSTORE
00000e80: PUSH1 0x20
00000e82: ADD
00000e83: SWAP3
00000e84: POP
00000e85: DUP1
00000e86: DUP3
00000e87: DUP5
00000e88: CALLDATACOPY
00000e89: PUSH1 0x00
00000e8b: DUP4
00000e8c: DUP3
00000e8d: ADD
00000e8e: MSTORE
00000e8f: PUSH1 0x40
00000e91: DUP1
00000e92: MLOAD
00000e93: PUSH1 0x1f
00000e95: SWAP1
00000e96: SWAP3
00000e97: ADD
00000e98: PUSH1 0x1f
00000e9a: NOT
00000e9b: SWAP1
00000e9c: DUP2
00000e9d: AND
00000e9e: SWAP1
00000e9f: SWAP5
00000ea0: ADD
00000ea1: DUP3
00000ea2: DUP2
00000ea3: SUB
00000ea4: SWAP1
00000ea5: SWAP5
00000ea6: ADD
00000ea7: DUP3
00000ea8: MSTORE
00000ea9: SWAP3
00000eaa: DUP4
00000eab: MSTORE
00000eac: PUSH1 0x20
00000eae: DUP2
00000eaf: ADD
00000eb0: DUP1
00000eb1: MLOAD
00000eb2: PUSH1 0x01
00000eb4: PUSH1 0x01
00000eb6: PUSH1 0xe0
00000eb8: SHL
00000eb9: SUB
00000eba: AND
00000ebb: PUSH1 0x01
00000ebd: PUSH1 0x01
00000ebf: PUSH1 0xe0
00000ec1: SHL
00000ec2: SUB
00000ec3: NOT
00000ec4: SWAP1
00000ec5: SWAP10
00000ec6: AND
00000ec7: SWAP9
00000ec8: SWAP1
00000ec9: SWAP9
00000eca: OR
00000ecb: DUP9
00000ecc: MSTORE
00000ecd: SWAP2
00000ece: MLOAD
00000ecf: DUP3
00000ed0: MLOAD
00000ed1: SWAP3
00000ed2: SWAP8
00000ed3: SWAP1
00000ed4: SWAP7
00000ed5: POP
00000ed6: DUP7
00000ed7: SWAP6
00000ed8: POP
00000ed9: SWAP4
00000eda: POP
00000edb: SWAP1
00000edc: SWAP2
00000edd: POP
00000ede: DUP2
00000edf: SWAP1
00000ee0: POP
00000ee1: DUP4
00000ee2: DUP4
00000ee3: JUMPDEST
00000ee4: PUSH1 0x20
00000ee6: DUP4
00000ee7: LT
00000ee8: PUSH2 0x0f02
00000eeb: JUMPI
00000eec: DUP1
00000eed: MLOAD
00000eee: DUP3
00000eef: MSTORE
00000ef0: PUSH1 0x1f
00000ef2: NOT
00000ef3: SWAP1
00000ef4: SWAP3
00000ef5: ADD
00000ef6: SWAP2
00000ef7: PUSH1 0x20
00000ef9: SWAP2
00000efa: DUP3
00000efb: ADD
00000efc: SWAP2
00000efd: ADD
00000efe: PUSH2 0x0ee3
00000f01: JUMP
00000f02: JUMPDEST
00000f03: PUSH1 0x01
00000f05: DUP4
00000f06: PUSH1 0x20
00000f08: SUB
00000f09: PUSH2 0x0100
00000f0c: EXP
00000f0d: SUB
00000f0e: DUP1
00000f0f: NOT
00000f10: DUP3
00000f11: MLOAD
00000f12: AND
00000f13: DUP2
00000f14: DUP5
00000f15: MLOAD
00000f16: AND
00000f17: DUP1
00000f18: DUP3
00000f19: OR
00000f1a: DUP6
00000f1b: MSTORE
00000f1c: POP
00000f1d: POP
00000f1e: POP
00000f1f: POP
00000f20: POP
00000f21: POP
00000f22: SWAP1
00000f23: POP
00000f24: ADD
00000f25: SWAP2
00000f26: POP
00000f27: POP
00000f28: PUSH1 0x00
00000f2a: PUSH1 0x40
00000f2c: MLOAD
00000f2d: DUP1
00000f2e: DUP4
00000f2f: SUB
00000f30: DUP2
00000f31: DUP6
00000f32: GAS
00000f33: DELEGATECALL
00000f34: SWAP2
00000f35: POP
00000f36: POP
00000f37: RETURNDATASIZE
00000f38: DUP1
00000f39: PUSH1 0x00
00000f3b: DUP2
00000f3c: EQ
00000f3d: PUSH2 0x0f62
00000f40: JUMPI
00000f41: PUSH1 0x40
00000f43: MLOAD
00000f44: SWAP2
00000f45: POP
00000f46: PUSH1 0x1f
00000f48: NOT
00000f49: PUSH1 0x3f
00000f4b: RETURNDATASIZE
00000f4c: ADD
00000f4d: AND
00000f4e: DUP3
00000f4f: ADD
00000f50: PUSH1 0x40
00000f52: MSTORE
00000f53: RETURNDATASIZE
00000f54: DUP3
00000f55: MSTORE
00000f56: RETURNDATASIZE
00000f57: PUSH1 0x00
00000f59: PUSH1 0x20
00000f5b: DUP5
00000f5c: ADD
00000f5d: RETURNDATACOPY
00000f5e: PUSH2 0x0f67
00000f61: JUMP
00000f62: JUMPDEST
00000f63: PUSH1 0x60
00000f65: SWAP2
00000f66: POP
00000f67: JUMPDEST
00000f68: POP
00000f69: SWAP2
00000f6a: POP
00000f6b: SWAP2
00000f6c: POP
00000f6d: DUP2
00000f6e: DUP2
00000f6f: SWAP1
00000f70: PUSH2 0x0fba
00000f73: JUMPI
00000f74: PUSH1 0x40
00000f76: MLOAD
00000f77: PUSH3 0x461bcd
00000f7b: PUSH1 0xe5
00000f7d: SHL
00000f7e: DUP2
00000f7f: MSTORE
00000f80: PUSH1 0x20
00000f82: PUSH1 0x04
00000f84: DUP3
00000f85: ADD
00000f86: DUP2
00000f87: DUP2
00000f88: MSTORE
00000f89: DUP4
00000f8a: MLOAD
00000f8b: PUSH1 0x24
00000f8d: DUP5
00000f8e: ADD
00000f8f: MSTORE
00000f90: DUP4
00000f91: MLOAD
00000f92: SWAP1
00000f93: SWAP3
00000f94: DUP4
00000f95: SWAP3
00000f96: PUSH1 0x44
00000f98: SWAP1
00000f99: SWAP2
00000f9a: ADD
00000f9b: SWAP2
00000f9c: SWAP1
00000f9d: DUP6
00000f9e: ADD
00000f9f: SWAP1
00000fa0: DUP1
00000fa1: DUP4
00000fa2: DUP4
00000fa3: PUSH1 0x00
00000fa5: DUP4
00000fa6: ISZERO
00000fa7: PUSH2 0x0642
00000faa: JUMPI
00000fab: DUP2
00000fac: DUP2
00000fad: ADD
00000fae: MLOAD
00000faf: DUP4
00000fb0: DUP3
00000fb1: ADD
00000fb2: MSTORE
00000fb3: PUSH1 0x20
00000fb5: ADD
00000fb6: PUSH2 0x062a
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: POP
00000fbc: DUP1
00000fbd: MLOAD
00000fbe: DUP2
00000fbf: SWAP1
00000fc0: ISZERO
00000fc1: PUSH2 0x0dc7
00000fc4: JUMPI
00000fc5: PUSH1 0x40
00000fc7: MLOAD
00000fc8: PUSH3 0x461bcd
00000fcc: PUSH1 0xe5
00000fce: SHL
00000fcf: DUP2
00000fd0: MSTORE
00000fd1: PUSH1 0x20
00000fd3: PUSH1 0x04
00000fd5: DUP3
00000fd6: ADD
00000fd7: DUP2
00000fd8: DUP2
00000fd9: MSTORE
00000fda: DUP4
00000fdb: MLOAD
00000fdc: PUSH1 0x24
00000fde: DUP5
00000fdf: ADD
00000fe0: MSTORE
00000fe1: DUP4
00000fe2: MLOAD
00000fe3: SWAP1
00000fe4: SWAP3
00000fe5: DUP4
00000fe6: SWAP3
00000fe7: PUSH1 0x44
00000fe9: SWAP1
00000fea: SWAP2
00000feb: ADD
00000fec: SWAP2
00000fed: SWAP1
00000fee: DUP6
00000fef: ADD
00000ff0: SWAP1
00000ff1: DUP1
00000ff2: DUP4
00000ff3: DUP4
00000ff4: PUSH1 0x00
00000ff6: DUP4
00000ff7: ISZERO
00000ff8: PUSH2 0x0642
00000ffb: JUMPI
00000ffc: DUP2
00000ffd: DUP2
00000ffe: ADD
00000fff: MLOAD
00001000: DUP4
00001001: DUP3
00001002: ADD
00001003: MSTORE
00001004: PUSH1 0x20
00001006: ADD
00001007: PUSH2 0x062a
0000100a: JUMP
0000100b: JUMPDEST
0000100c: PUSH1 0x40
0000100e: DUP1
0000100f: MLOAD
00001010: DUP1
00001011: DUP3
00001012: ADD
00001013: SWAP1
00001014: SWAP2
00001015: MSTORE
00001016: PUSH1 0x16
00001018: DUP2
00001019: MSTORE
0000101a: PUSH22 0x12539255125053125690551253d397d09313d0d2d151
00001031: PUSH1 0x52
00001033: SHL
00001034: PUSH1 0x20
00001036: DUP3
00001037: ADD
00001038: MSTORE
00001039: PUSH1 0x0d
0000103b: SLOAD
0000103c: DUP2
0000103d: SWAP1
0000103e: ISZERO
0000103f: PUSH2 0x1089
00001042: JUMPI
00001043: PUSH1 0x40
00001045: MLOAD
00001046: PUSH3 0x461bcd
0000104a: PUSH1 0xe5
0000104c: SHL
0000104d: DUP2
0000104e: MSTORE
0000104f: PUSH1 0x20
00001051: PUSH1 0x04
00001053: DUP3
00001054: ADD
00001055: DUP2
00001056: DUP2
00001057: MSTORE
00001058: DUP4
00001059: MLOAD
0000105a: PUSH1 0x24
0000105c: DUP5
0000105d: ADD
0000105e: MSTORE
0000105f: DUP4
00001060: MLOAD
00001061: SWAP1
00001062: SWAP3
00001063: DUP4
00001064: SWAP3
00001065: PUSH1 0x44
00001067: SWAP1
00001068: SWAP2
00001069: ADD
0000106a: SWAP2
0000106b: SWAP1
0000106c: DUP6
0000106d: ADD
0000106e: SWAP1
0000106f: DUP1
00001070: DUP4
00001071: DUP4
00001072: PUSH1 0x00
00001074: DUP4
00001075: ISZERO
00001076: PUSH2 0x0642
00001079: JUMPI
0000107a: DUP2
0000107b: DUP2
0000107c: ADD
0000107d: MLOAD
0000107e: DUP4
0000107f: DUP3
00001080: ADD
00001081: MSTORE
00001082: PUSH1 0x20
00001084: ADD
00001085: PUSH2 0x062a
00001088: JUMP
00001089: JUMPDEST
0000108a: POP
0000108b: PUSH1 0x0e
0000108d: SLOAD
0000108e: DUP2
0000108f: SWAP1
00001090: ISZERO
00001091: PUSH2 0x10db
00001094: JUMPI
00001095: PUSH1 0x40
00001097: MLOAD
00001098: PUSH3 0x461bcd
0000109c: PUSH1 0xe5
0000109e: SHL
0000109f: DUP2
000010a0: MSTORE
000010a1: PUSH1 0x20
000010a3: PUSH1 0x04
000010a5: DUP3
000010a6: ADD
000010a7: DUP2
000010a8: DUP2
000010a9: MSTORE
000010aa: DUP4
000010ab: MLOAD
000010ac: PUSH1 0x24
000010ae: DUP5
000010af: ADD
000010b0: MSTORE
000010b1: DUP4
000010b2: MLOAD
000010b3: SWAP1
000010b4: SWAP3
000010b5: DUP4
000010b6: SWAP3
000010b7: PUSH1 0x44
000010b9: SWAP1
000010ba: SWAP2
000010bb: ADD
000010bc: SWAP2
000010bd: SWAP1
000010be: DUP6
000010bf: ADD
000010c0: SWAP1
000010c1: DUP1
000010c2: DUP4
000010c3: DUP4
000010c4: PUSH1 0x00
000010c6: DUP4
000010c7: ISZERO
000010c8: PUSH2 0x0642
000010cb: JUMPI
000010cc: DUP2
000010cd: DUP2
000010ce: ADD
000010cf: MLOAD
000010d0: DUP4
000010d1: DUP3
000010d2: ADD
000010d3: MSTORE
000010d4: PUSH1 0x20
000010d6: ADD
000010d7: PUSH2 0x062a
000010da: JUMP
000010db: JUMPDEST
000010dc: POP
000010dd: PUSH1 0x25
000010df: SLOAD
000010e0: DUP2
000010e1: SWAP1
000010e2: ISZERO
000010e3: PUSH2 0x112d
000010e6: JUMPI
000010e7: PUSH1 0x40
000010e9: MLOAD
000010ea: PUSH3 0x461bcd
000010ee: PUSH1 0xe5
000010f0: SHL
000010f1: DUP2
000010f2: MSTORE
000010f3: PUSH1 0x20
000010f5: PUSH1 0x04
000010f7: DUP3
000010f8: ADD
000010f9: DUP2
000010fa: DUP2
000010fb: MSTORE
000010fc: DUP4
000010fd: MLOAD
000010fe: PUSH1 0x24
00001100: DUP5
00001101: ADD
00001102: MSTORE
00001103: DUP4
00001104: MLOAD
00001105: SWAP1
00001106: SWAP3
00001107: DUP4
00001108: SWAP3
00001109: PUSH1 0x44
0000110b: SWAP1
0000110c: SWAP2
0000110d: ADD
0000110e: SWAP2
0000110f: SWAP1
00001110: DUP6
00001111: ADD
00001112: SWAP1
00001113: DUP1
00001114: DUP4
00001115: DUP4
00001116: PUSH1 0x00
00001118: DUP4
00001119: ISZERO
0000111a: PUSH2 0x0642
0000111d: JUMPI
0000111e: DUP2
0000111f: DUP2
00001120: ADD
00001121: MLOAD
00001122: DUP4
00001123: DUP3
00001124: ADD
00001125: MSTORE
00001126: PUSH1 0x20
00001128: ADD
00001129: PUSH2 0x062a
0000112c: JUMP
0000112d: JUMPDEST
0000112e: POP
0000112f: PUSH1 0x26
00001131: SLOAD
00001132: DUP2
00001133: SWAP1
00001134: ISZERO
00001135: PUSH2 0x117f
00001138: JUMPI
00001139: PUSH1 0x40
0000113b: MLOAD
0000113c: PUSH3 0x461bcd
00001140: PUSH1 0xe5
00001142: SHL
00001143: DUP2
00001144: MSTORE
00001145: PUSH1 0x20
00001147: PUSH1 0x04
00001149: DUP3
0000114a: ADD
0000114b: DUP2
0000114c: DUP2
0000114d: MSTORE
0000114e: DUP4
0000114f: MLOAD
00001150: PUSH1 0x24
00001152: DUP5
00001153: ADD
00001154: MSTORE
00001155: DUP4
00001156: MLOAD
00001157: SWAP1
00001158: SWAP3
00001159: DUP4
0000115a: SWAP3
0000115b: PUSH1 0x44
0000115d: SWAP1
0000115e: SWAP2
0000115f: ADD
00001160: SWAP2
00001161: SWAP1
00001162: DUP6
00001163: ADD
00001164: SWAP1
00001165: DUP1
00001166: DUP4
00001167: DUP4
00001168: PUSH1 0x00
0000116a: DUP4
0000116b: ISZERO
0000116c: PUSH2 0x0642
0000116f: JUMPI
00001170: DUP2
00001171: DUP2
00001172: ADD
00001173: MLOAD
00001174: DUP4
00001175: DUP3
00001176: ADD
00001177: MSTORE
00001178: PUSH1 0x20
0000117a: ADD
0000117b: PUSH2 0x062a
0000117e: JUMP
0000117f: JUMPDEST
00001180: POP
00001181: PUSH1 0x0f
00001183: SLOAD
00001184: DUP2
00001185: SWAP1
00001186: ISZERO
00001187: PUSH2 0x11d1
0000118a: JUMPI
0000118b: PUSH1 0x40
0000118d: MLOAD
0000118e: PUSH3 0x461bcd
00001192: PUSH1 0xe5
00001194: SHL
00001195: DUP2
00001196: MSTORE
00001197: PUSH1 0x20
00001199: PUSH1 0x04
0000119b: DUP3
0000119c: ADD
0000119d: DUP2
0000119e: DUP2
0000119f: MSTORE
000011a0: DUP4
000011a1: MLOAD
000011a2: PUSH1 0x24
000011a4: DUP5
000011a5: ADD
000011a6: MSTORE
000011a7: DUP4
000011a8: MLOAD
000011a9: SWAP1
000011aa: SWAP3
000011ab: DUP4
000011ac: SWAP3
000011ad: PUSH1 0x44
000011af: SWAP1
000011b0: SWAP2
000011b1: ADD
000011b2: SWAP2
000011b3: SWAP1
000011b4: DUP6
000011b5: ADD
000011b6: SWAP1
000011b7: DUP1
000011b8: DUP4
000011b9: DUP4
000011ba: PUSH1 0x00
000011bc: DUP4
000011bd: ISZERO
000011be: PUSH2 0x0642
000011c1: JUMPI
000011c2: DUP2
000011c3: DUP2
000011c4: ADD
000011c5: MLOAD
000011c6: DUP4
000011c7: DUP3
000011c8: ADD
000011c9: MSTORE
000011ca: PUSH1 0x20
000011cc: ADD
000011cd: PUSH2 0x062a
000011d0: JUMP
000011d1: JUMPDEST
000011d2: POP
000011d3: PUSH1 0x10
000011d5: SLOAD
000011d6: DUP2
000011d7: SWAP1
000011d8: ISZERO
000011d9: PUSH2 0x0931
000011dc: JUMPI
000011dd: PUSH1 0x40
000011df: MLOAD
000011e0: PUSH3 0x461bcd
000011e4: PUSH1 0xe5
000011e6: SHL
000011e7: DUP2
000011e8: MSTORE
000011e9: PUSH1 0x20
000011eb: PUSH1 0x04
000011ed: DUP3
000011ee: ADD
000011ef: DUP2
000011f0: DUP2
000011f1: MSTORE
000011f2: DUP4
000011f3: MLOAD
000011f4: PUSH1 0x24
000011f6: DUP5
000011f7: ADD
000011f8: MSTORE
000011f9: DUP4
000011fa: MLOAD
000011fb: SWAP1
000011fc: SWAP3
000011fd: DUP4
000011fe: SWAP3
000011ff: PUSH1 0x44
00001201: SWAP1
00001202: SWAP2
00001203: ADD
00001204: SWAP2
00001205: SWAP1
00001206: DUP6
00001207: ADD
00001208: SWAP1
00001209: DUP1
0000120a: DUP4
0000120b: DUP4
0000120c: PUSH1 0x00
0000120e: DUP4
0000120f: ISZERO
00001210: PUSH2 0x0642
00001213: JUMPI
00001214: DUP2
00001215: DUP2
00001216: ADD
00001217: MLOAD
00001218: DUP4
00001219: DUP3
0000121a: ADD
0000121b: MSTORE
0000121c: PUSH1 0x20
0000121e: ADD
0000121f: PUSH2 0x062a
00001222: JUMP
00001223: JUMPDEST
00001224: PUSH1 0x60
00001226: DUP2
00001227: PUSH1 0x01
00001229: EQ
0000122a: ISZERO
0000122b: PUSH2 0x1268
0000122e: JUMPI
0000122f: POP
00001230: PUSH1 0x40
00001232: DUP1
00001233: MLOAD
00001234: DUP1
00001235: DUP3
00001236: ADD
00001237: SWAP1
00001238: SWAP2
00001239: MSTORE
0000123a: PUSH1 0x1d
0000123c: DUP2
0000123d: MSTORE
0000123e: PUSH32 0x537461726b576172655f416c6c5665726966696572735f323032325f32000000
0000125f: PUSH1 0x20
00001261: DUP3
00001262: ADD
00001263: MSTORE
00001264: PUSH2 0x02df
00001267: JUMP
00001268: JUMPDEST
00001269: DUP2
0000126a: PUSH1 0x02
0000126c: EQ
0000126d: ISZERO
0000126e: PUSH2 0x1291
00001271: JUMPI
00001272: PUSH1 0x40
00001274: MLOAD
00001275: DUP1
00001276: PUSH1 0x60
00001278: ADD
00001279: PUSH1 0x40
0000127b: MSTORE
0000127c: DUP1
0000127d: PUSH1 0x21
0000127f: DUP2
00001280: MSTORE
00001281: PUSH1 0x20
00001283: ADD
00001284: PUSH2 0x1536
00001287: PUSH1 0x21
00001289: SWAP2
0000128a: CODECOPY
0000128b: SWAP1
0000128c: POP
0000128d: PUSH2 0x02df
00001290: JUMP
00001291: JUMPDEST
00001292: DUP2
00001293: PUSH1 0x03
00001295: EQ
00001296: ISZERO
00001297: PUSH2 0x12d4
0000129a: JUMPI
0000129b: POP
0000129c: PUSH1 0x40
0000129e: DUP1
0000129f: MLOAD
000012a0: DUP1
000012a1: DUP3
000012a2: ADD
000012a3: SWAP1
000012a4: SWAP2
000012a5: MSTORE
000012a6: PUSH1 0x1d
000012a8: DUP2
000012a9: MSTORE
000012aa: PUSH32 0x537461726b576172655f537461726b457853746174655f323032325f35000000
000012cb: PUSH1 0x20
000012cd: DUP3
000012ce: ADD
000012cf: MSTORE
000012d0: PUSH2 0x02df
000012d3: JUMP
000012d4: JUMPDEST
000012d5: DUP2
000012d6: PUSH1 0x04
000012d8: EQ
000012d9: ISZERO
000012da: PUSH2 0x1317
000012dd: JUMPI
000012de: POP
000012df: PUSH1 0x40
000012e1: DUP1
000012e2: MLOAD
000012e3: DUP1
000012e4: DUP3
000012e5: ADD
000012e6: SWAP1
000012e7: SWAP2
000012e8: MSTORE
000012e9: PUSH1 0x1e
000012eb: DUP2
000012ec: MSTORE
000012ed: PUSH32 0x537461726b576172655f466f72636564416374696f6e735f323032325f330000
0000130e: PUSH1 0x20
00001310: DUP3
00001311: ADD
00001312: MSTORE
00001313: PUSH2 0x02df
00001316: JUMP
00001317: JUMPDEST
00001318: DUP2
00001319: PUSH1 0x05
0000131b: EQ
0000131c: ISZERO
0000131d: PUSH2 0x135a
00001320: JUMPI
00001321: POP
00001322: PUSH1 0x40
00001324: DUP1
00001325: MLOAD
00001326: DUP1
00001327: DUP3
00001328: ADD
00001329: SWAP1
0000132a: SWAP2
0000132b: MSTORE
0000132c: PUSH1 0x1e
0000132e: DUP2
0000132f: MSTORE
00001330: PUSH32 0x537461726b576172655f4f6e636861696e5661756c74735f323032325f320000
00001351: PUSH1 0x20
00001353: DUP3
00001354: ADD
00001355: MSTORE
00001356: PUSH2 0x02df
00001359: JUMP
0000135a: JUMPDEST
0000135b: DUP2
0000135c: PUSH1 0x06
0000135e: EQ
0000135f: ISZERO
00001360: PUSH2 0x139d
00001363: JUMPI
00001364: POP
00001365: PUSH1 0x40
00001367: DUP1
00001368: MLOAD
00001369: DUP1
0000136a: DUP3
0000136b: ADD
0000136c: SWAP1
0000136d: SWAP2
0000136e: MSTORE
0000136f: PUSH1 0x1b
00001371: DUP2
00001372: MSTORE
00001373: PUSH32 0x537461726b576172655f50726f78795574696c735f323032325f320000000000
00001394: PUSH1 0x20
00001396: DUP3
00001397: ADD
00001398: MSTORE
00001399: PUSH2 0x02df
0000139c: JUMP
0000139d: JUMPDEST
0000139e: PUSH1 0x40
000013a0: DUP1
000013a1: MLOAD
000013a2: PUSH3 0x461bcd
000013a6: PUSH1 0xe5
000013a8: SHL
000013a9: DUP2
000013aa: MSTORE
000013ab: PUSH1 0x20
000013ad: PUSH1 0x04
000013af: DUP3
000013b0: ADD
000013b1: MSTORE
000013b2: PUSH1 0x10
000013b4: PUSH1 0x24
000013b6: DUP3
000013b7: ADD
000013b8: MSTORE
000013b9: PUSH16 0x0aa9c8ab0a08a86a88a88be929c888ab
000013ca: PUSH1 0x83
000013cc: SHL
000013cd: PUSH1 0x44
000013cf: DUP3
000013d0: ADD
000013d1: MSTORE
000013d2: SWAP1
000013d3: MLOAD
000013d4: SWAP1
000013d5: DUP2
000013d6: SWAP1
000013d7: SUB
000013d8: PUSH1 0x64
000013da: ADD
000013db: SWAP1
000013dc: REVERT
000013dd: JUMPDEST
000013de: PUSH3 0x174e76
000013e2: SWAP1
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH1 0x00
000013e7: DUP2
000013e8: PUSH2 0x1412
000013eb: JUMPI
000013ec: POP
000013ed: PUSH32 0x2010501100000010050000002511000000220005410030200200200000552010
0000140e: PUSH2 0x02df
00001411: JUMP
00001412: JUMPDEST
00001413: DUP2
00001414: PUSH1 0x01
00001416: EQ
00001417: ISZERO
00001418: PUSH2 0x1442
0000141b: JUMPI
0000141c: POP
0000141d: PUSH32 0x3000030005000050020012003000010604300000002420501003000010000300
0000143e: PUSH2 0x02df
00001441: JUMP
00001442: JUMPDEST
00001443: DUP2
00001444: PUSH1 0x02
00001446: EQ
00001447: ISZERO
00001448: PUSH2 0x1472
0000144b: JUMPI
0000144c: POP
0000144d: PUSH32 0x1003112030002130000200100020000320202001020001001000040200200020
0000146e: PUSH2 0x02df
00001471: JUMP
00001472: JUMPDEST
00001473: DUP2
00001474: PUSH1 0x03
00001476: EQ
00001477: ISZERO
00001478: PUSH2 0x14a2
0000147b: JUMPI
0000147c: POP
0000147d: PUSH32 0x2000000050000012000013100002002002032050020002020002050000201003
0000149e: PUSH2 0x02df
000014a1: JUMP
000014a2: JUMPDEST
000014a3: PUSH1 0x40
000014a5: DUP1
000014a6: MLOAD
000014a7: PUSH3 0x461bcd
000014ab: PUSH1 0xe5
000014ad: SHL
000014ae: DUP2
000014af: MSTORE
000014b0: PUSH1 0x20
000014b2: PUSH1 0x04
000014b4: DUP3
000014b5: ADD
000014b6: MSTORE
000014b7: PUSH1 0x13
000014b9: PUSH1 0x24
000014bb: DUP3
000014bc: ADD
000014bd: MSTORE
000014be: PUSH19 0x2120a22fa4a22c2fa6a0a82fa9a2a1aa24a7a7
000014d2: PUSH1 0x69
000014d4: SHL
000014d5: PUSH1 0x44
000014d7: DUP3
000014d8: ADD
000014d9: MSTORE
000014da: SWAP1
000014db: MLOAD
000014dc: SWAP1
000014dd: DUP2
000014de: SWAP1
000014df: SUB
000014e0: PUSH1 0x64
000014e2: ADD
000014e3: SWAP1
000014e4: REVERT
000014e5: JUMPDEST
000014e6: EXTCODESIZE
000014e7: ISZERO
000014e8: ISZERO
000014e9: SWAP1
000014ea: JUMP
000014eb: JUMPDEST
000014ec: PUSH1 0x00
000014ee: DUP1
000014ef: DUP6
000014f0: DUP6
000014f1: GT
000014f2: ISZERO
000014f3: PUSH2 0x14fa
000014f6: JUMPI
000014f7: DUP2
000014f8: DUP3
000014f9: REVERT
000014fa: JUMPDEST
000014fb: DUP4
000014fc: DUP7
000014fd: GT
000014fe: ISZERO
000014ff: PUSH2 0x1506
00001502: JUMPI
00001503: DUP2
00001504: DUP3
00001505: REVERT
00001506: JUMPDEST
00001507: POP
00001508: POP
00001509: DUP3
0000150a: ADD
0000150b: SWAP4
0000150c: SWAP2
0000150d: SWAP1
0000150e: SWAP3
0000150f: SUB
00001510: SWAP2
00001511: POP
00001512: JUMP
00001513: INVALID
00001514: UNKNOWN(0x4D)
00001515: BLOBHASH
00001516: MSTORE8
00001517: POP
00001518: UNKNOWN(0x4C)
00001519: COINBASE
0000151a: NUMBER
0000151b: GASLIMIT
0000151c: DIFFICULTY
0000151d: PUSH0
0000151e: BLOBHASH
0000151f: UNKNOWN(0x4E)
00001520: DIFFICULTY
00001521: GASLIMIT
00001522: PC
00001523: PUSH0
00001524: UNKNOWN(0x4F)
00001525: MSTORE
00001526: PUSH0
00001527: TIMESTAMP
00001528: COINBASE
00001529: DIFFICULTY
0000152a: PUSH0
0000152b: NUMBER
0000152c: UNKNOWN(0x4F)
0000152d: UNKNOWN(0x4E)
0000152e: SLOAD
0000152f: MSTORE
00001530: COINBASE
00001531: NUMBER
00001532: SLOAD
00001533: PUSH0
00001534: BLOBHASH
00001535: DIFFICULTY
00001536: MSTORE8
00001537: PUSH21 0x61726b576172655f546f6b656e73416e6452616d70
0000154d: PUSH10 0x6e675f323032325f32a2
00001558: PUSH5 0x6970667358
0000155e: UNKNOWN(0x22)
0000155f: SLT
00001560: KECCAK256
00001561: UNKNOWN(0xC8)
00001562: UNKNOWN(0xEA)
00001563: SWAP15
00001564: SWAP3
00001565: ORIGIN
00001566: XOR
00001567: PUSH8 0xcc5cf888b0a310d1
00001570: MCOPY
00001571: AND
00001572: BLOBBASEFEE
00001573: AND
00001574: DUP1
00001575: PUSH17 0xabbcfebc9ec31e046cc58364736f6c6343
00001587: STOP
00001588: MOD
00001589: UNKNOWN(0x0C)
0000158a: STOP
0000158b: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical access_control codex Unprotected initialize lets attacker overwrite subContracts and execute arbitrary delegatecall logic 90 no
view
evidence_json
{
    "evidence": "initialize is external and writes subContracts before any guard, then returns early when additionalDataSize==0, skipping initializationSentinel; no access control is present on initialize.",
    "locations": [
        "contracts/MainDispatcherBase.sol:124",
        "contracts/MainDispatcherBase.sol:144",
        "contracts/MainDispatcherBase.sol:171"
    ],
    "recommendation": "Restrict initialize to governance/upgrade flow only, and enforce a one-time initialization flag or call initializationSentinel before writing subContracts even when additionalDataSize==0.",
    "exploit_scenario": "1) Deploy six malicious SubContractor contracts (one per index 1..6) with identify() returning the expected ID string and validatedSelectors() returning at least one selector that maps to their index; each contract\u2019s selector handler/fallback transfers ETH/ERC20s from address(this) to the attacker.\n2) Call the proxy/dispatcher entrypoint with initialize(data) where data encodes the six attacker addresses + EIC=0 and no extra init data. Because initialize is external, lacks auth, and returns early when additionalDataSize==0, it overwrites subContracts without any initialization guard.\n3) Call the dispatcher with one of the precomputed selectors so fallback delegates into the attacker contract and drains funds.\nProfit potential: essentially the full on-chain balances held by the dispatcher/proxy (ETH + all custodial ERC20/NFT balances)."
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x1eaedc439b540a24efa07fbac4fc2f8a72096f0e75b95490df3d5d36b4144926
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 48,
    "trace_id": "0x1eaedc439b540a24efa07fbac4fc2f8a72096f0e75b95490df3d5d36b4144926",
    "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": "0x2f9014b4",
            "selector": "0x2f9014b4",
            "calldata_variants": [
                "0x2f9014b4",
                "0x2f9014b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x439fab91",
            "selector": "0x439fab91",
            "calldata_variants": [
                "0x439fab91",
                "0x439fab910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4e878e8",
            "selector": "0xd4e878e8",
            "calldata_variants": [
                "0xd4e878e8",
                "0xd4e878e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffa1ad74",
            "selector": "0xffa1ad74",
            "calldata_variants": [
                "0xffa1ad74",
                "0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 274,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 1465,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 2105,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 5477,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 4,
    "untrusted_delegatecall_count": 4
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x2f9014b4",
            "selector": "0x2f9014b4",
            "calldata_variants": [
                "0x2f9014b4",
                "0x2f9014b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x439fab91",
            "selector": "0x439fab91",
            "calldata_variants": [
                "0x439fab91",
                "0x439fab910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd4e878e8",
            "selector": "0xd4e878e8",
            "calldata_variants": [
                "0xd4e878e8",
                "0xd4e878e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffa1ad74",
            "selector": "0xffa1ad74",
            "calldata_variants": [
                "0xffa1ad74",
                "0xffa1ad740000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 5477,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 4
}