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

Analysis Run

2763da7f-91ba-434d-8942-6b9a4e4ee8c5

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 4:28 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
Present
Best current signal
Unprotected external initializer enables ownership takeover and ETH drain if uninitialized
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
31684 report.consolidate complete 1 / 1 3 months ago
95527 artifact.fetch complete 1 / 3 1 week ago
95528 tool.cast_disasm complete 1 / 3 1 week ago
95529 analysis.bundle complete 1 / 3 1 week ago
95530 capability.graph complete 1 / 3 1 week ago
95531 detector.run complete 1 / 3 1 week ago
95532 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
Found one critical takeover vector if the contract/proxy is left uninitialized, allowing an attacker to seize ownership and drain all ETH.
View stderr
[codex:596779] OpenAI Codex v0.77.0 (research preview)
[codex:596779] --------
[codex:596779] workdir: /tmp/codex-multi-bqcrdiz2
[codex:596779] model: gpt-5.2-codex
[codex:596779] provider: openai
[codex:596779] approval: never
[codex:596779] sandbox: read-only
[codex:596779] reasoning effort: xhigh
[codex:596779] reasoning summaries: auto
[codex:596779] session id: 019b8c68-740c-7e12-a825-ae59e647a51e
[codex:596779] --------
[codex:596779] user
[codex:596779] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:596779] 
[codex:596779] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:596779] 
[codex:596779] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:596779] - Gas inefficiency, code quality, naming, or best practices
[codex:596779] - Theoretical vulnerabilities without a clear extraction path
[codex:596779] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:596779] - Front-running unless it enables theft beyond MEV
[codex:596779] - DoS, griefing, or issues that don't result in attacker profit
[codex:596779] - Missing events, view function issues, or informational findings
[codex:596779] 
[codex:596779] HIGH-VALUE PATTERNS TO HUNT:
[codex:596779] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:596779] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:596779] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:596779] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:596779] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:596779] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:596779] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:596779] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:596779] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:596779] 
[codex:596779] For each finding, you MUST provide:
[codex:596779] 1. Exact file and line numbers of vulnerable code
[codex:596779] 2. Step-by-step exploit transaction sequence
[codex:596779] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:596779] 
[codex:596779] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:596779] 
[codex:596779] Output MUST be valid JSON matching the provided schema.
[codex:596779] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:596779] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:596779] mcp startup: no servers
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Preparing to check skills and instructions**
[codex:596779] exec
[codex:596779] /bin/bash -lc ls in /tmp/codex-multi-bqcrdiz2 succeeded in 7ms:
[codex:596779] AUDIT_BUNDLE.txt
[codex:596779] codex-output-schema.json
[codex:596779] contracts
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Reviewing AUDIT_BUNDLE file**
[codex:596779] exec
[codex:596779] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-bqcrdiz2 succeeded in 5ms:
[codex:596779] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:596779] 
[codex:596779] ================================================================================
[codex:596779] FILE: contracts/Contract.sol
[codex:596779] ================================================================================
[codex:596779] // Sources flattened with hardhat v2.4.3 https://hardhat.org
[codex:596779] 
[codex:596779] // File contracts/solidity/token/IERC20Upgradeable.sol
[codex:596779] 
[codex:596779] // SPDX-License-Identifier: MIT
[codex:596779] 
[codex:596779] pragma solidity ^0.8.0;
[codex:596779] 
[codex:596779] /**
[codex:596779]  * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:596779]  */
[codex:596779] interface IERC20Upgradeable {
[codex:596779]     /**
[codex:596779]      * @dev Returns the amount of tokens in existence.
[codex:596779]      */
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Analyzing NFTXV1Buyout for exploits**
[codex:596779] exec
[codex:596779] /bin/bash -lc 'rg --files' in /tmp/codex-multi-bqcrdiz2 succeeded in 14ms:
[codex:596779] codex-output-schema.json
[codex:596779] AUDIT_BUNDLE.txt
[codex:596779] contracts/Contract.sol
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Evaluating Contract vulnerabilities**
[codex:596779] exec
[codex:596779] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '220,380p'" in /tmp/codex-multi-bqcrdiz2 succeeded in 6ms:
[codex:596779]    220	 *
[codex:596779]    221	 * This contract is only required for intermediate, library-like contracts.
[codex:596779]    222	 */
[codex:596779]    223	abstract contract ContextUpgradeable is Initializable {
[codex:596779]    224	    function __Context_init() internal initializer {
[codex:596779]    225	        __Context_init_unchained();
[codex:596779]    226	    }
[codex:596779]    227	
[codex:596779]    228	    function __Context_init_unchained() internal initializer {
[codex:596779]    229	    }
[codex:596779]    230	    function _msgSender() internal view virtual returns (address) {
[codex:596779]    231	        return msg.sender;
[codex:596779]    232	    }
[codex:596779]    233	
[codex:596779]    234	    function _msgData() internal view virtual returns (bytes calldata) {
[codex:596779]    235	        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
[codex:596779]    236	        return msg.data;
[codex:596779]    237	    }
[codex:596779]    238	    uint256[50] private __gap;
[codex:596779]    239	}
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Searching around NFTXV1Buyout initialization**
[codex:596779] exec
[codex:596779] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '520,760p'" in /tmp/codex-multi-bqcrdiz2 succeeded in 6ms:
[codex:596779]    520	     *
[codex:596779]    521	     * Counterpart to Solidity's `%` operator. This function uses a `revert`
[codex:596779]    522	     * opcode (which leaves remaining gas untouched) while Solidity uses an
[codex:596779]    523	     * invalid opcode to revert (consuming all remaining gas).
[codex:596779]    524	     *
[codex:596779]    525	     * Requirements:
[codex:596779]    526	     *
[codex:596779]    527	     * - The divisor cannot be zero.
[codex:596779]    528	     */
[codex:596779]    529	    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
[codex:596779]    530	        unchecked {
[codex:596779]    531	            require(b > 0, errorMessage);
[codex:596779]    532	            return a % b;
[codex:596779]    533	        }
[codex:596779]    534	    }
[codex:596779]    535	    
[codex:596779]    536	    /**
[codex:596779]    537	     * @dev Converts an unsigned uint256 into a signed int256.
[codex:596779]    538	     *
[codex:596779]    539	     * Requirements:
[codex:596779] 
[codex:596779] thinking
[codex:596779] **Summarizing unprotected initializer exploit**
[codex:596779] 
[codex:596779] I'm analyzing the critical risk from the external initializer in `Contract.sol` allowing ownership takeover if uninitialized; this enables an attacker to drain ETH via emergencyWithdraw or removeBuyout. I'll detail evidence lines, step-by-step exploit scenario, profit potential, exploit classification as upgradeability, and recommendations in a JSON format suited for the user's profit-focused audit.
[codex:596779] codex
[codex:596779] {"no_findings":false,"summary":"Found one critical takeover vector if the contract/proxy is left uninitialized, allowing an attacker to seize ownership and drain all ETH.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected external initializer enables ownership takeover and ETH drain if uninitialized","exploit_scenario":"1) Attacker checks `owner()`; if zero (proxy/contract not initialized), they call `__NFTXV1Buyout_init()` to become owner via `__Ownable_init`. 2) As owner, attacker calls `emergencyWithdraw()` to pull the entire ETH balance, or `removeBuyout(v1TokenAddr)` to withdraw any buyout ETH for a specific token. 3) Profit equals the full ETH held by the contract (all buyout liquidity).","recommendation":"Ensure the proxy is initialized atomically at deployment and lock the implementation by disabling initializers (e.g., constructor that calls `_disableInitializers()`), or add an explicit access check on `__NFTXV1Buyout_init` for first-time setup.","evidence":"`__NFTXV1Buyout_init` is external and sets ownership through `__Pausable_init` -> `__Ownable_init`, allowing first caller to become owner; owner-only withdraws can then drain ETH.","locations":["contracts/Contract.sol:617","contracts/Contract.sol:559","contracts/Contract.sol:269","contracts/Contract.sol:623","contracts/Contract.sol:639"]}]}
[codex:596779] tokens used
[codex:596779] 16,336
[codex:596779] {"no_findings":false,"summary":"Found one critical takeover vector if the contract/proxy is left uninitialized, allowing an attacker to seize ownership and drain all ETH.","findings":[{"severity":"critical","category":"upgradeability","title":"Unprotected external initializer enables ownership takeover and ETH drain if uninitialized","exploit_scenario":"1) Attacker checks `owner()`; if zero (proxy/contract not initialized), they call `__NFTXV1Buyout_init()` to become owner via `__Ownable_init`. 2) As owner, attacker calls `emergencyWithdraw()` to pull the entire ETH balance, or `removeBuyout(v1TokenAddr)` to withdraw any buyout ETH for a specific token. 3) Profit equals the full ETH held by the contract (all buyout liquidity).","recommendation":"Ensure the proxy is initialized atomically at deployment and lock the implementation by disabling initializers (e.g., constructor that calls `_disableInitializers()`), or add an explicit access check on `__NFTXV1Buyout_init` for first-time setup.","evidence":"`__NFTXV1Buyout_init` is external and sets ownership through `__Pausable_init` -> `__Ownable_init`, allowing first caller to become owner; owner-only withdraws can then drain ETH.","locations":["contracts/Contract.sol:617","contracts/Contract.sol:559","contracts/Contract.sol:269","contracts/Contract.sol:623","contracts/Contract.sol:639"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T04:28:43.563072+00:00",
        "returncode": 0
    },
    "summary": "Found one critical takeover vector if the contract/proxy is left uninitialized, allowing an attacker to seize ownership and drain all ETH.",
    "raw_final": {
        "summary": "Found one critical takeover vector if the contract/proxy is left uninitialized, allowing an attacker to seize ownership and drain all ETH.",
        "findings": [
            {
                "title": "Unprotected external initializer enables ownership takeover and ETH drain if uninitialized",
                "category": "upgradeability",
                "evidence": "`__NFTXV1Buyout_init` is external and sets ownership through `__Pausable_init` -> `__Ownable_init`, allowing first caller to become owner; owner-only withdraws can then drain ETH.",
                "severity": "critical",
                "locations": [
                    "contracts/Contract.sol:617",
                    "contracts/Contract.sol:559",
                    "contracts/Contract.sol:269",
                    "contracts/Contract.sol:623",
                    "contracts/Contract.sol:639"
                ],
                "recommendation": "Ensure the proxy is initialized atomically at deployment and lock the implementation by disabling initializers (e.g., constructor that calls `_disableInitializers()`), or add an explicit access check on `__NFTXV1Buyout_init` for first-time setup.",
                "exploit_scenario": "1) Attacker checks `owner()`; if zero (proxy/contract not initialized), they call `__NFTXV1Buyout_init()` to become owner via `__Ownable_init`. 2) As owner, attacker calls `emergencyWithdraw()` to pull the entire ETH balance, or `removeBuyout(v1TokenAddr)` to withdraw any buyout ETH for a specific token. 3) Profit equals the full ETH held by the contract (all buyout liquidity)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
6
EXT*/BALANCE
3
Total opcodes
2938
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00f3
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8da5cb5b
00000019: GT
0000001a: PUSH2 0x008a
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xd8374740
00000024: GT
00000025: PUSH2 0x0059
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd8374740
0000002f: EQ
00000030: PUSH2 0x0294
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xdb2e21bc
0000003a: EQ
0000003b: PUSH2 0x02cf
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x02e4
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfabc1cbc
00000050: EQ
00000051: PUSH2 0x0304
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x8da5cb5b
00000060: EQ
00000061: PUSH2 0x01fc
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xb5ba3a1a
0000006b: EQ
0000006c: PUSH2 0x0224
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xbdf2a43c
00000076: EQ
00000077: PUSH2 0x0244
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xcdcf9cdb
00000081: EQ
00000082: PUSH2 0x0274
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0x69cbec6d
00000091: GT
00000092: PUSH2 0x00c6
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x69cbec6d
0000009c: EQ
0000009d: PUSH2 0x0192
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x715018a6
000000a7: EQ
000000a8: PUSH2 0x01a7
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x7c77b616
000000b2: EQ
000000b3: PUSH2 0x01bc
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x7e66c0b9
000000bd: EQ
000000be: PUSH2 0x01dc
000000c1: JUMPI
000000c2: PUSH1 0x00
000000c4: DUP1
000000c5: REVERT
000000c6: JUMPDEST
000000c7: DUP1
000000c8: PUSH4 0x0c68ba21
000000cd: EQ
000000ce: PUSH2 0x00f8
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x136439dd
000000d8: EQ
000000d9: PUSH2 0x013d
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x23845fb5
000000e3: EQ
000000e4: PUSH2 0x015f
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x66f0a57d
000000ee: EQ
000000ef: PUSH2 0x017f
000000f2: JUMPI
000000f3: JUMPDEST
000000f4: PUSH1 0x00
000000f6: DUP1
000000f7: REVERT
000000f8: JUMPDEST
000000f9: CALLVALUE
000000fa: DUP1
000000fb: ISZERO
000000fc: PUSH2 0x0104
000000ff: JUMPI
00000100: PUSH1 0x00
00000102: DUP1
00000103: REVERT
00000104: JUMPDEST
00000105: POP
00000106: PUSH2 0x0128
00000109: PUSH2 0x0113
0000010c: CALLDATASIZE
0000010d: PUSH1 0x04
0000010f: PUSH2 0x1489
00000112: JUMP
00000113: JUMPDEST
00000114: PUSH1 0x65
00000116: PUSH1 0x20
00000118: MSTORE
00000119: PUSH1 0x00
0000011b: SWAP1
0000011c: DUP2
0000011d: MSTORE
0000011e: PUSH1 0x40
00000120: SWAP1
00000121: KECCAK256
00000122: SLOAD
00000123: PUSH1 0xff
00000125: AND
00000126: DUP2
00000127: JUMP
00000128: JUMPDEST
00000129: PUSH1 0x40
0000012b: MLOAD
0000012c: SWAP1
0000012d: ISZERO
0000012e: ISZERO
0000012f: DUP2
00000130: MSTORE
00000131: PUSH1 0x20
00000133: ADD
00000134: JUMPDEST
00000135: PUSH1 0x40
00000137: MLOAD
00000138: DUP1
00000139: SWAP2
0000013a: SUB
0000013b: SWAP1
0000013c: RETURN
0000013d: JUMPDEST
0000013e: CALLVALUE
0000013f: DUP1
00000140: ISZERO
00000141: PUSH2 0x0149
00000144: JUMPI
00000145: PUSH1 0x00
00000147: DUP1
00000148: REVERT
00000149: JUMPDEST
0000014a: POP
0000014b: PUSH2 0x015d
0000014e: PUSH2 0x0158
00000151: CALLDATASIZE
00000152: PUSH1 0x04
00000154: PUSH2 0x14e4
00000157: JUMP
00000158: JUMPDEST
00000159: PUSH2 0x0324
0000015c: JUMP
0000015d: JUMPDEST
0000015e: STOP
0000015f: JUMPDEST
00000160: CALLVALUE
00000161: DUP1
00000162: ISZERO
00000163: PUSH2 0x016b
00000166: JUMPI
00000167: PUSH1 0x00
00000169: DUP1
0000016a: REVERT
0000016b: JUMPDEST
0000016c: POP
0000016d: PUSH2 0x015d
00000170: PUSH2 0x017a
00000173: CALLDATASIZE
00000174: PUSH1 0x04
00000176: PUSH2 0x14aa
00000179: JUMP
0000017a: JUMPDEST
0000017b: PUSH2 0x03e0
0000017e: JUMP
0000017f: JUMPDEST
00000180: PUSH2 0x015d
00000183: PUSH2 0x018d
00000186: CALLDATASIZE
00000187: PUSH1 0x04
00000189: PUSH2 0x1489
0000018c: JUMP
0000018d: JUMPDEST
0000018e: PUSH2 0x049e
00000191: JUMP
00000192: JUMPDEST
00000193: CALLVALUE
00000194: DUP1
00000195: ISZERO
00000196: PUSH2 0x019e
00000199: JUMPI
0000019a: PUSH1 0x00
0000019c: DUP1
0000019d: REVERT
0000019e: JUMPDEST
0000019f: POP
000001a0: PUSH2 0x015d
000001a3: PUSH2 0x05b3
000001a6: JUMP
000001a7: JUMPDEST
000001a8: CALLVALUE
000001a9: DUP1
000001aa: ISZERO
000001ab: PUSH2 0x01b3
000001ae: JUMPI
000001af: PUSH1 0x00
000001b1: DUP1
000001b2: REVERT
000001b3: JUMPDEST
000001b4: POP
000001b5: PUSH2 0x015d
000001b8: PUSH2 0x0676
000001bb: JUMP
000001bc: JUMPDEST
000001bd: CALLVALUE
000001be: DUP1
000001bf: ISZERO
000001c0: PUSH2 0x01c8
000001c3: JUMPI
000001c4: PUSH1 0x00
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: POP
000001ca: PUSH2 0x015d
000001cd: PUSH2 0x01d7
000001d0: CALLDATASIZE
000001d1: PUSH1 0x04
000001d3: PUSH2 0x14e4
000001d6: JUMP
000001d7: JUMPDEST
000001d8: PUSH2 0x0727
000001db: JUMP
000001dc: JUMPDEST
000001dd: CALLVALUE
000001de: DUP1
000001df: ISZERO
000001e0: PUSH2 0x01e8
000001e3: JUMPI
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: POP
000001ea: PUSH2 0x015d
000001ed: PUSH2 0x01f7
000001f0: CALLDATASIZE
000001f1: PUSH1 0x04
000001f3: PUSH2 0x1489
000001f6: JUMP
000001f7: JUMPDEST
000001f8: PUSH2 0x079b
000001fb: JUMP
000001fc: JUMPDEST
000001fd: CALLVALUE
000001fe: DUP1
000001ff: ISZERO
00000200: PUSH2 0x0208
00000203: JUMPI
00000204: PUSH1 0x00
00000206: DUP1
00000207: REVERT
00000208: JUMPDEST
00000209: POP
0000020a: PUSH1 0x33
0000020c: SLOAD
0000020d: PUSH1 0x40
0000020f: MLOAD
00000210: PUSH1 0x01
00000212: PUSH1 0x01
00000214: PUSH1 0xa0
00000216: SHL
00000217: SUB
00000218: SWAP1
00000219: SWAP2
0000021a: AND
0000021b: DUP2
0000021c: MSTORE
0000021d: PUSH1 0x20
0000021f: ADD
00000220: PUSH2 0x0134
00000223: JUMP
00000224: JUMPDEST
00000225: CALLVALUE
00000226: DUP1
00000227: ISZERO
00000228: PUSH2 0x0230
0000022b: JUMPI
0000022c: PUSH1 0x00
0000022e: DUP1
0000022f: REVERT
00000230: JUMPDEST
00000231: POP
00000232: PUSH2 0x015d
00000235: PUSH2 0x023f
00000238: CALLDATASIZE
00000239: PUSH1 0x04
0000023b: PUSH2 0x1489
0000023e: JUMP
0000023f: JUMPDEST
00000240: PUSH2 0x0bb8
00000243: JUMP
00000244: JUMPDEST
00000245: CALLVALUE
00000246: DUP1
00000247: ISZERO
00000248: PUSH2 0x0250
0000024b: JUMPI
0000024c: PUSH1 0x00
0000024e: DUP1
0000024f: REVERT
00000250: JUMPDEST
00000251: POP
00000252: PUSH2 0x0128
00000255: PUSH2 0x025f
00000258: CALLDATASIZE
00000259: PUSH1 0x04
0000025b: PUSH2 0x14e4
0000025e: JUMP
0000025f: JUMPDEST
00000260: PUSH1 0x66
00000262: PUSH1 0x20
00000264: MSTORE
00000265: PUSH1 0x00
00000267: SWAP1
00000268: DUP2
00000269: MSTORE
0000026a: PUSH1 0x40
0000026c: SWAP1
0000026d: KECCAK256
0000026e: SLOAD
0000026f: PUSH1 0xff
00000271: AND
00000272: DUP2
00000273: JUMP
00000274: JUMPDEST
00000275: CALLVALUE
00000276: DUP1
00000277: ISZERO
00000278: PUSH2 0x0280
0000027b: JUMPI
0000027c: PUSH1 0x00
0000027e: DUP1
0000027f: REVERT
00000280: JUMPDEST
00000281: POP
00000282: PUSH2 0x015d
00000285: PUSH2 0x028f
00000288: CALLDATASIZE
00000289: PUSH1 0x04
0000028b: PUSH2 0x1489
0000028e: JUMP
0000028f: JUMPDEST
00000290: PUSH2 0x0c5e
00000293: JUMP
00000294: JUMPDEST
00000295: CALLVALUE
00000296: DUP1
00000297: ISZERO
00000298: PUSH2 0x02a0
0000029b: JUMPI
0000029c: PUSH1 0x00
0000029e: DUP1
0000029f: REVERT
000002a0: JUMPDEST
000002a1: POP
000002a2: PUSH2 0x02c1
000002a5: PUSH2 0x02af
000002a8: CALLDATASIZE
000002a9: PUSH1 0x04
000002ab: PUSH2 0x1489
000002ae: JUMP
000002af: JUMPDEST
000002b0: PUSH1 0x99
000002b2: PUSH1 0x20
000002b4: MSTORE
000002b5: PUSH1 0x00
000002b7: SWAP1
000002b8: DUP2
000002b9: MSTORE
000002ba: PUSH1 0x40
000002bc: SWAP1
000002bd: KECCAK256
000002be: SLOAD
000002bf: DUP2
000002c0: JUMP
000002c1: JUMPDEST
000002c2: PUSH1 0x40
000002c4: MLOAD
000002c5: SWAP1
000002c6: DUP2
000002c7: MSTORE
000002c8: PUSH1 0x20
000002ca: ADD
000002cb: PUSH2 0x0134
000002ce: JUMP
000002cf: JUMPDEST
000002d0: CALLVALUE
000002d1: DUP1
000002d2: ISZERO
000002d3: PUSH2 0x02db
000002d6: JUMPI
000002d7: PUSH1 0x00
000002d9: DUP1
000002da: REVERT
000002db: JUMPDEST
000002dc: POP
000002dd: PUSH2 0x015d
000002e0: PUSH2 0x0d9d
000002e3: JUMP
000002e4: JUMPDEST
000002e5: CALLVALUE
000002e6: DUP1
000002e7: ISZERO
000002e8: PUSH2 0x02f0
000002eb: JUMPI
000002ec: PUSH1 0x00
000002ee: DUP1
000002ef: REVERT
000002f0: JUMPDEST
000002f1: POP
000002f2: PUSH2 0x015d
000002f5: PUSH2 0x02ff
000002f8: CALLDATASIZE
000002f9: PUSH1 0x04
000002fb: PUSH2 0x1489
000002fe: JUMP
000002ff: JUMPDEST
00000300: PUSH2 0x0e23
00000303: JUMP
00000304: JUMPDEST
00000305: CALLVALUE
00000306: DUP1
00000307: ISZERO
00000308: PUSH2 0x0310
0000030b: JUMPI
0000030c: PUSH1 0x00
0000030e: DUP1
0000030f: REVERT
00000310: JUMPDEST
00000311: POP
00000312: PUSH2 0x015d
00000315: PUSH2 0x031f
00000318: CALLDATASIZE
00000319: PUSH1 0x04
0000031b: PUSH2 0x14e4
0000031e: JUMP
0000031f: JUMPDEST
00000320: PUSH2 0x0f62
00000323: JUMP
00000324: JUMPDEST
00000325: CALLER
00000326: PUSH1 0x00
00000328: SWAP1
00000329: DUP2
0000032a: MSTORE
0000032b: PUSH1 0x65
0000032d: PUSH1 0x20
0000032f: MSTORE
00000330: PUSH1 0x40
00000332: SWAP1
00000333: KECCAK256
00000334: SLOAD
00000335: PUSH1 0xff
00000337: AND
00000338: PUSH2 0x0388
0000033b: JUMPI
0000033c: PUSH1 0x40
0000033e: MLOAD
0000033f: PUSH3 0x461bcd
00000343: PUSH1 0xe5
00000345: SHL
00000346: DUP2
00000347: MSTORE
00000348: PUSH1 0x20
0000034a: PUSH1 0x04
0000034c: DUP3
0000034d: ADD
0000034e: MSTORE
0000034f: PUSH1 0x0b
00000351: PUSH1 0x24
00000353: DUP3
00000354: ADD
00000355: MSTORE
00000356: PUSH32 0x43616e2774207061757365000000000000000000000000000000000000000000
00000377: PUSH1 0x44
00000379: DUP3
0000037a: ADD
0000037b: MSTORE
0000037c: PUSH1 0x64
0000037e: ADD
0000037f: JUMPDEST
00000380: PUSH1 0x40
00000382: MLOAD
00000383: DUP1
00000384: SWAP2
00000385: SUB
00000386: SWAP1
00000387: REVERT
00000388: JUMPDEST
00000389: PUSH1 0x00
0000038b: DUP2
0000038c: DUP2
0000038d: MSTORE
0000038e: PUSH1 0x66
00000390: PUSH1 0x20
00000392: SWAP1
00000393: DUP2
00000394: MSTORE
00000395: PUSH1 0x40
00000397: SWAP2
00000398: DUP3
00000399: SWAP1
0000039a: KECCAK256
0000039b: DUP1
0000039c: SLOAD
0000039d: PUSH1 0xff
0000039f: NOT
000003a0: AND
000003a1: PUSH1 0x01
000003a3: SWAP1
000003a4: DUP2
000003a5: OR
000003a6: SWAP1
000003a7: SWAP2
000003a8: SSTORE
000003a9: DUP3
000003aa: MLOAD
000003ab: DUP5
000003ac: DUP2
000003ad: MSTORE
000003ae: SWAP2
000003af: DUP3
000003b0: ADD
000003b1: MSTORE
000003b2: PUSH32 0x77f1fcfcce67dc392d64f842056d2ec06c80986c47c910f7e79c5b23a2738d74
000003d3: SWAP2
000003d4: ADD
000003d5: JUMPDEST
000003d6: PUSH1 0x40
000003d8: MLOAD
000003d9: DUP1
000003da: SWAP2
000003db: SUB
000003dc: SWAP1
000003dd: LOG1
000003de: POP
000003df: JUMP
000003e0: JUMPDEST
000003e1: PUSH1 0x33
000003e3: SLOAD
000003e4: PUSH1 0x01
000003e6: PUSH1 0x01
000003e8: PUSH1 0xa0
000003ea: SHL
000003eb: SUB
000003ec: AND
000003ed: CALLER
000003ee: EQ
000003ef: PUSH2 0x043a
000003f2: JUMPI
000003f3: PUSH1 0x40
000003f5: MLOAD
000003f6: PUSH3 0x461bcd
000003fa: PUSH1 0xe5
000003fc: SHL
000003fd: DUP2
000003fe: MSTORE
000003ff: PUSH1 0x20
00000401: PUSH1 0x04
00000403: DUP3
00000404: ADD
00000405: DUP2
00000406: SWAP1
00000407: MSTORE
00000408: PUSH1 0x24
0000040a: DUP3
0000040b: ADD
0000040c: MSTORE
0000040d: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000042e: PUSH1 0x44
00000430: DUP3
00000431: ADD
00000432: MSTORE
00000433: PUSH1 0x64
00000435: ADD
00000436: PUSH2 0x037f
00000439: JUMP
0000043a: JUMPDEST
0000043b: PUSH1 0x01
0000043d: PUSH1 0x01
0000043f: PUSH1 0xa0
00000441: SHL
00000442: SUB
00000443: DUP3
00000444: AND
00000445: PUSH1 0x00
00000447: DUP2
00000448: DUP2
00000449: MSTORE
0000044a: PUSH1 0x65
0000044c: PUSH1 0x20
0000044e: SWAP1
0000044f: DUP2
00000450: MSTORE
00000451: PUSH1 0x40
00000453: SWAP2
00000454: DUP3
00000455: SWAP1
00000456: KECCAK256
00000457: DUP1
00000458: SLOAD
00000459: PUSH1 0xff
0000045b: NOT
0000045c: AND
0000045d: DUP6
0000045e: ISZERO
0000045f: ISZERO
00000460: SWAP1
00000461: DUP2
00000462: OR
00000463: SWAP1
00000464: SWAP2
00000465: SSTORE
00000466: DUP3
00000467: MLOAD
00000468: SWAP4
00000469: DUP5
0000046a: MSTORE
0000046b: SWAP1
0000046c: DUP4
0000046d: ADD
0000046e: MSTORE
0000046f: PUSH32 0xd0b6b573d5442f7c29fd50d9735ae341581c25c6ed07748d50eda519f1ffa88a
00000490: SWAP2
00000491: ADD
00000492: JUMPDEST
00000493: PUSH1 0x40
00000495: MLOAD
00000496: DUP1
00000497: SWAP2
00000498: SUB
00000499: SWAP1
0000049a: LOG1
0000049b: POP
0000049c: POP
0000049d: JUMP
0000049e: JUMPDEST
0000049f: PUSH1 0x33
000004a1: SLOAD
000004a2: PUSH1 0x01
000004a4: PUSH1 0x01
000004a6: PUSH1 0xa0
000004a8: SHL
000004a9: SUB
000004aa: AND
000004ab: CALLER
000004ac: EQ
000004ad: PUSH2 0x04f8
000004b0: JUMPI
000004b1: PUSH1 0x40
000004b3: MLOAD
000004b4: PUSH3 0x461bcd
000004b8: PUSH1 0xe5
000004ba: SHL
000004bb: DUP2
000004bc: MSTORE
000004bd: PUSH1 0x20
000004bf: PUSH1 0x04
000004c1: DUP3
000004c2: ADD
000004c3: DUP2
000004c4: SWAP1
000004c5: MSTORE
000004c6: PUSH1 0x24
000004c8: DUP3
000004c9: ADD
000004ca: MSTORE
000004cb: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000004ec: PUSH1 0x44
000004ee: DUP3
000004ef: ADD
000004f0: MSTORE
000004f1: PUSH1 0x64
000004f3: ADD
000004f4: PUSH2 0x037f
000004f7: JUMP
000004f8: JUMPDEST
000004f9: PUSH1 0x00
000004fb: CALLVALUE
000004fc: GT
000004fd: PUSH2 0x0548
00000500: JUMPI
00000501: PUSH1 0x40
00000503: MLOAD
00000504: PUSH3 0x461bcd
00000508: PUSH1 0xe5
0000050a: SHL
0000050b: DUP2
0000050c: MSTORE
0000050d: PUSH1 0x20
0000050f: PUSH1 0x04
00000511: DUP3
00000512: ADD
00000513: MSTORE
00000514: PUSH1 0x16
00000516: PUSH1 0x24
00000518: DUP3
00000519: ADD
0000051a: MSTORE
0000051b: PUSH32 0x43616e6e6f742070616972207769746820302045544800000000000000000000
0000053c: PUSH1 0x44
0000053e: DUP3
0000053f: ADD
00000540: MSTORE
00000541: PUSH1 0x64
00000543: ADD
00000544: PUSH2 0x037f
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH1 0x01
0000054b: PUSH1 0x01
0000054d: PUSH1 0xa0
0000054f: SHL
00000550: SUB
00000551: DUP2
00000552: AND
00000553: PUSH1 0x00
00000555: SWAP1
00000556: DUP2
00000557: MSTORE
00000558: PUSH1 0x99
0000055a: PUSH1 0x20
0000055c: MSTORE
0000055d: PUSH1 0x40
0000055f: DUP2
00000560: KECCAK256
00000561: DUP1
00000562: SLOAD
00000563: CALLVALUE
00000564: SWAP3
00000565: SWAP1
00000566: PUSH2 0x0570
00000569: SWAP1
0000056a: DUP5
0000056b: SWAP1
0000056c: PUSH2 0x1514
0000056f: JUMP
00000570: JUMPDEST
00000571: SWAP1
00000572: SWAP2
00000573: SSTORE
00000574: POP
00000575: POP
00000576: PUSH1 0x40
00000578: DUP1
00000579: MLOAD
0000057a: PUSH1 0x01
0000057c: PUSH1 0x01
0000057e: PUSH1 0xa0
00000580: SHL
00000581: SUB
00000582: DUP4
00000583: AND
00000584: DUP2
00000585: MSTORE
00000586: CALLVALUE
00000587: PUSH1 0x20
00000589: DUP3
0000058a: ADD
0000058b: MSTORE
0000058c: PUSH32 0xbe39c8dbb06465ca74bc1ec6df6c287310b3a828aab734bf780f429f2f8090a8
000005ad: SWAP2
000005ae: ADD
000005af: PUSH2 0x03d5
000005b2: JUMP
000005b3: JUMPDEST
000005b4: PUSH1 0x00
000005b6: SLOAD
000005b7: PUSH2 0x0100
000005ba: SWAP1
000005bb: DIV
000005bc: PUSH1 0xff
000005be: AND
000005bf: DUP1
000005c0: PUSH2 0x05cc
000005c3: JUMPI
000005c4: POP
000005c5: PUSH1 0x00
000005c7: SLOAD
000005c8: PUSH1 0xff
000005ca: AND
000005cb: ISZERO
000005cc: JUMPDEST
000005cd: PUSH2 0x062f
000005d0: JUMPI
000005d1: PUSH1 0x40
000005d3: MLOAD
000005d4: PUSH3 0x461bcd
000005d8: PUSH1 0xe5
000005da: SHL
000005db: DUP2
000005dc: MSTORE
000005dd: PUSH1 0x20
000005df: PUSH1 0x04
000005e1: DUP3
000005e2: ADD
000005e3: MSTORE
000005e4: PUSH1 0x2e
000005e6: PUSH1 0x24
000005e8: DUP3
000005e9: ADD
000005ea: MSTORE
000005eb: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
0000060c: PUSH1 0x44
0000060e: DUP3
0000060f: ADD
00000610: MSTORE
00000611: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00000620: PUSH1 0x92
00000622: SHL
00000623: PUSH1 0x64
00000625: DUP3
00000626: ADD
00000627: MSTORE
00000628: PUSH1 0x84
0000062a: ADD
0000062b: PUSH2 0x037f
0000062e: JUMP
0000062f: JUMPDEST
00000630: PUSH1 0x00
00000632: SLOAD
00000633: PUSH2 0x0100
00000636: SWAP1
00000637: DIV
00000638: PUSH1 0xff
0000063a: AND
0000063b: ISZERO
0000063c: DUP1
0000063d: ISZERO
0000063e: PUSH2 0x0651
00000641: JUMPI
00000642: PUSH1 0x00
00000644: DUP1
00000645: SLOAD
00000646: PUSH2 0xffff
00000649: NOT
0000064a: AND
0000064b: PUSH2 0x0101
0000064e: OR
0000064f: SWAP1
00000650: SSTORE
00000651: JUMPDEST
00000652: PUSH2 0x0659
00000655: PUSH2 0x1009
00000658: JUMP
00000659: JUMPDEST
0000065a: PUSH2 0x0661
0000065d: PUSH2 0x10af
00000660: JUMP
00000661: JUMPDEST
00000662: DUP1
00000663: ISZERO
00000664: PUSH2 0x0673
00000667: JUMPI
00000668: PUSH1 0x00
0000066a: DUP1
0000066b: SLOAD
0000066c: PUSH2 0xff00
0000066f: NOT
00000670: AND
00000671: SWAP1
00000672: SSTORE
00000673: JUMPDEST
00000674: POP
00000675: JUMP
00000676: JUMPDEST
00000677: PUSH1 0x33
00000679: SLOAD
0000067a: PUSH1 0x01
0000067c: PUSH1 0x01
0000067e: PUSH1 0xa0
00000680: SHL
00000681: SUB
00000682: AND
00000683: CALLER
00000684: EQ
00000685: PUSH2 0x06d0
00000688: JUMPI
00000689: PUSH1 0x40
0000068b: MLOAD
0000068c: PUSH3 0x461bcd
00000690: PUSH1 0xe5
00000692: SHL
00000693: DUP2
00000694: MSTORE
00000695: PUSH1 0x20
00000697: PUSH1 0x04
00000699: DUP3
0000069a: ADD
0000069b: DUP2
0000069c: SWAP1
0000069d: MSTORE
0000069e: PUSH1 0x24
000006a0: DUP3
000006a1: ADD
000006a2: MSTORE
000006a3: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
000006c4: PUSH1 0x44
000006c6: DUP3
000006c7: ADD
000006c8: MSTORE
000006c9: PUSH1 0x64
000006cb: ADD
000006cc: PUSH2 0x037f
000006cf: JUMP
000006d0: JUMPDEST
000006d1: PUSH1 0x33
000006d3: SLOAD
000006d4: PUSH1 0x40
000006d6: MLOAD
000006d7: PUSH1 0x00
000006d9: SWAP2
000006da: PUSH1 0x01
000006dc: PUSH1 0x01
000006de: PUSH1 0xa0
000006e0: SHL
000006e1: SUB
000006e2: AND
000006e3: SWAP1
000006e4: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000705: SWAP1
00000706: DUP4
00000707: SWAP1
00000708: LOG3
00000709: PUSH1 0x33
0000070b: DUP1
0000070c: SLOAD
0000070d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000722: NOT
00000723: AND
00000724: SWAP1
00000725: SSTORE
00000726: JUMP
00000727: JUMPDEST
00000728: PUSH1 0x00
0000072a: DUP2
0000072b: DUP2
0000072c: MSTORE
0000072d: PUSH1 0x66
0000072f: PUSH1 0x20
00000731: MSTORE
00000732: PUSH1 0x40
00000734: SWAP1
00000735: KECCAK256
00000736: SLOAD
00000737: PUSH1 0xff
00000739: AND
0000073a: ISZERO
0000073b: DUP1
0000073c: PUSH2 0x074f
0000073f: JUMPI
00000740: POP
00000741: PUSH1 0x33
00000743: SLOAD
00000744: PUSH1 0x01
00000746: PUSH1 0x01
00000748: PUSH1 0xa0
0000074a: SHL
0000074b: SUB
0000074c: AND
0000074d: CALLER
0000074e: EQ
0000074f: JUMPDEST
00000750: PUSH2 0x0673
00000753: JUMPI
00000754: PUSH1 0x40
00000756: MLOAD
00000757: PUSH3 0x461bcd
0000075b: PUSH1 0xe5
0000075d: SHL
0000075e: DUP2
0000075f: MSTORE
00000760: PUSH1 0x20
00000762: PUSH1 0x04
00000764: DUP3
00000765: ADD
00000766: MSTORE
00000767: PUSH1 0x06
00000769: PUSH1 0x24
0000076b: DUP3
0000076c: ADD
0000076d: MSTORE
0000076e: PUSH32 0x5061757365640000000000000000000000000000000000000000000000000000
0000078f: PUSH1 0x44
00000791: DUP3
00000792: ADD
00000793: MSTORE
00000794: PUSH1 0x64
00000796: ADD
00000797: PUSH2 0x037f
0000079a: JUMP
0000079b: JUMPDEST
0000079c: PUSH1 0x02
0000079e: PUSH1 0x67
000007a0: SLOAD
000007a1: EQ
000007a2: ISZERO
000007a3: PUSH2 0x07ee
000007a6: JUMPI
000007a7: PUSH1 0x40
000007a9: MLOAD
000007aa: PUSH3 0x461bcd
000007ae: PUSH1 0xe5
000007b0: SHL
000007b1: DUP2
000007b2: MSTORE
000007b3: PUSH1 0x20
000007b5: PUSH1 0x04
000007b7: DUP3
000007b8: ADD
000007b9: MSTORE
000007ba: PUSH1 0x1f
000007bc: PUSH1 0x24
000007be: DUP3
000007bf: ADD
000007c0: MSTORE
000007c1: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000007e2: PUSH1 0x44
000007e4: DUP3
000007e5: ADD
000007e6: MSTORE
000007e7: PUSH1 0x64
000007e9: ADD
000007ea: PUSH2 0x037f
000007ed: JUMP
000007ee: JUMPDEST
000007ef: PUSH1 0x02
000007f1: PUSH1 0x67
000007f3: SSTORE
000007f4: PUSH2 0x07fd
000007f7: PUSH1 0x00
000007f9: PUSH2 0x0727
000007fc: JUMP
000007fd: JUMPDEST
000007fe: PUSH1 0x01
00000800: PUSH1 0x01
00000802: PUSH1 0xa0
00000804: SHL
00000805: SUB
00000806: DUP2
00000807: AND
00000808: PUSH1 0x00
0000080a: SWAP1
0000080b: DUP2
0000080c: MSTORE
0000080d: PUSH1 0x99
0000080f: PUSH1 0x20
00000811: MSTORE
00000812: PUSH1 0x40
00000814: SWAP1
00000815: KECCAK256
00000816: SLOAD
00000817: DUP1
00000818: PUSH2 0x0863
0000081b: JUMPI
0000081c: PUSH1 0x40
0000081e: MLOAD
0000081f: PUSH3 0x461bcd
00000823: PUSH1 0xe5
00000825: SHL
00000826: DUP2
00000827: MSTORE
00000828: PUSH1 0x20
0000082a: PUSH1 0x04
0000082c: DUP3
0000082d: ADD
0000082e: MSTORE
0000082f: PUSH1 0x18
00000831: PUSH1 0x24
00000833: DUP3
00000834: ADD
00000835: MSTORE
00000836: PUSH32 0x4e6f7420612076616c6964206275796f757420746f6b656e0000000000000000
00000857: PUSH1 0x44
00000859: DUP3
0000085a: ADD
0000085b: MSTORE
0000085c: PUSH1 0x64
0000085e: ADD
0000085f: PUSH2 0x037f
00000862: JUMP
00000863: JUMPDEST
00000864: PUSH1 0x40
00000866: MLOAD
00000867: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000888: DUP2
00000889: MSTORE
0000088a: CALLER
0000088b: PUSH1 0x04
0000088d: DUP3
0000088e: ADD
0000088f: MSTORE
00000890: PUSH1 0x00
00000892: SWAP1
00000893: PUSH1 0x01
00000895: PUSH1 0x01
00000897: PUSH1 0xa0
00000899: SHL
0000089a: SUB
0000089b: DUP5
0000089c: AND
0000089d: SWAP1
0000089e: PUSH4 0x70a08231
000008a3: SWAP1
000008a4: PUSH1 0x24
000008a6: ADD
000008a7: PUSH1 0x20
000008a9: PUSH1 0x40
000008ab: MLOAD
000008ac: DUP1
000008ad: DUP4
000008ae: SUB
000008af: DUP2
000008b0: DUP7
000008b1: DUP1
000008b2: EXTCODESIZE
000008b3: ISZERO
000008b4: DUP1
000008b5: ISZERO
000008b6: PUSH2 0x08be
000008b9: JUMPI
000008ba: PUSH1 0x00
000008bc: DUP1
000008bd: REVERT
000008be: JUMPDEST
000008bf: POP
000008c0: GAS
000008c1: STATICCALL
000008c2: ISZERO
000008c3: DUP1
000008c4: ISZERO
000008c5: PUSH2 0x08d2
000008c8: JUMPI
000008c9: RETURNDATASIZE
000008ca: PUSH1 0x00
000008cc: DUP1
000008cd: RETURNDATACOPY
000008ce: RETURNDATASIZE
000008cf: PUSH1 0x00
000008d1: REVERT
000008d2: JUMPDEST
000008d3: POP
000008d4: POP
000008d5: POP
000008d6: POP
000008d7: PUSH1 0x40
000008d9: MLOAD
000008da: RETURNDATASIZE
000008db: PUSH1 0x1f
000008dd: NOT
000008de: PUSH1 0x1f
000008e0: DUP3
000008e1: ADD
000008e2: AND
000008e3: DUP3
000008e4: ADD
000008e5: DUP1
000008e6: PUSH1 0x40
000008e8: MSTORE
000008e9: POP
000008ea: DUP2
000008eb: ADD
000008ec: SWAP1
000008ed: PUSH2 0x08f6
000008f0: SWAP2
000008f1: SWAP1
000008f2: PUSH2 0x14fc
000008f5: JUMP
000008f6: JUMPDEST
000008f7: SWAP1
000008f8: POP
000008f9: PUSH1 0x00
000008fb: DUP2
000008fc: GT
000008fd: PUSH2 0x0948
00000900: JUMPI
00000901: PUSH1 0x40
00000903: MLOAD
00000904: PUSH3 0x461bcd
00000908: PUSH1 0xe5
0000090a: SHL
0000090b: DUP2
0000090c: MSTORE
0000090d: PUSH1 0x20
0000090f: PUSH1 0x04
00000911: DUP3
00000912: ADD
00000913: MSTORE
00000914: PUSH1 0x0c
00000916: PUSH1 0x24
00000918: DUP3
00000919: ADD
0000091a: MSTORE
0000091b: PUSH32 0x63616e74206265207a65726f0000000000000000000000000000000000000000
0000093c: PUSH1 0x44
0000093e: DUP3
0000093f: ADD
00000940: MSTORE
00000941: PUSH1 0x64
00000943: ADD
00000944: PUSH2 0x037f
00000947: JUMP
00000948: JUMPDEST
00000949: PUSH1 0x00
0000094b: DUP4
0000094c: PUSH1 0x01
0000094e: PUSH1 0x01
00000950: PUSH1 0xa0
00000952: SHL
00000953: SUB
00000954: AND
00000955: PUSH4 0x18160ddd
0000095a: PUSH1 0x40
0000095c: MLOAD
0000095d: DUP2
0000095e: PUSH4 0xffffffff
00000963: AND
00000964: PUSH1 0xe0
00000966: SHL
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x04
0000096b: ADD
0000096c: PUSH1 0x20
0000096e: PUSH1 0x40
00000970: MLOAD
00000971: DUP1
00000972: DUP4
00000973: SUB
00000974: DUP2
00000975: DUP7
00000976: DUP1
00000977: EXTCODESIZE
00000978: ISZERO
00000979: DUP1
0000097a: ISZERO
0000097b: PUSH2 0x0983
0000097e: JUMPI
0000097f: PUSH1 0x00
00000981: DUP1
00000982: REVERT
00000983: JUMPDEST
00000984: POP
00000985: GAS
00000986: STATICCALL
00000987: ISZERO
00000988: DUP1
00000989: ISZERO
0000098a: PUSH2 0x0997
0000098d: JUMPI
0000098e: RETURNDATASIZE
0000098f: PUSH1 0x00
00000991: DUP1
00000992: RETURNDATACOPY
00000993: RETURNDATASIZE
00000994: PUSH1 0x00
00000996: REVERT
00000997: JUMPDEST
00000998: POP
00000999: POP
0000099a: POP
0000099b: POP
0000099c: PUSH1 0x40
0000099e: MLOAD
0000099f: RETURNDATASIZE
000009a0: PUSH1 0x1f
000009a2: NOT
000009a3: PUSH1 0x1f
000009a5: DUP3
000009a6: ADD
000009a7: AND
000009a8: DUP3
000009a9: ADD
000009aa: DUP1
000009ab: PUSH1 0x40
000009ad: MSTORE
000009ae: POP
000009af: DUP2
000009b0: ADD
000009b1: SWAP1
000009b2: PUSH2 0x09bb
000009b5: SWAP2
000009b6: SWAP1
000009b7: PUSH2 0x14fc
000009ba: JUMP
000009bb: JUMPDEST
000009bc: PUSH1 0x40
000009be: MLOAD
000009bf: PUSH32 0x79cc679000000000000000000000000000000000000000000000000000000000
000009e0: DUP2
000009e1: MSTORE
000009e2: CALLER
000009e3: PUSH1 0x04
000009e5: DUP3
000009e6: ADD
000009e7: MSTORE
000009e8: PUSH1 0x24
000009ea: DUP2
000009eb: ADD
000009ec: DUP5
000009ed: SWAP1
000009ee: MSTORE
000009ef: SWAP1
000009f0: SWAP2
000009f1: POP
000009f2: PUSH1 0x01
000009f4: PUSH1 0x01
000009f6: PUSH1 0xa0
000009f8: SHL
000009f9: SUB
000009fa: DUP6
000009fb: AND
000009fc: SWAP1
000009fd: PUSH4 0x79cc6790
00000a02: SWAP1
00000a03: PUSH1 0x44
00000a05: ADD
00000a06: PUSH1 0x00
00000a08: PUSH1 0x40
00000a0a: MLOAD
00000a0b: DUP1
00000a0c: DUP4
00000a0d: SUB
00000a0e: DUP2
00000a0f: PUSH1 0x00
00000a11: DUP8
00000a12: DUP1
00000a13: EXTCODESIZE
00000a14: ISZERO
00000a15: DUP1
00000a16: ISZERO
00000a17: PUSH2 0x0a1f
00000a1a: JUMPI
00000a1b: PUSH1 0x00
00000a1d: DUP1
00000a1e: REVERT
00000a1f: JUMPDEST
00000a20: POP
00000a21: GAS
00000a22: CALL
00000a23: ISZERO
00000a24: DUP1
00000a25: ISZERO
00000a26: PUSH2 0x0a33
00000a29: JUMPI
00000a2a: RETURNDATASIZE
00000a2b: PUSH1 0x00
00000a2d: DUP1
00000a2e: RETURNDATACOPY
00000a2f: RETURNDATASIZE
00000a30: PUSH1 0x00
00000a32: REVERT
00000a33: JUMPDEST
00000a34: POP
00000a35: POP
00000a36: POP
00000a37: POP
00000a38: PUSH1 0x00
00000a3a: DUP2
00000a3b: DUP4
00000a3c: DUP6
00000a3d: PUSH2 0x0a46
00000a40: SWAP2
00000a41: SWAP1
00000a42: PUSH2 0x154c
00000a45: JUMP
00000a46: JUMPDEST
00000a47: PUSH2 0x0a50
00000a4a: SWAP2
00000a4b: SWAP1
00000a4c: PUSH2 0x152c
00000a4f: JUMP
00000a50: JUMPDEST
00000a51: SWAP1
00000a52: POP
00000a53: DUP4
00000a54: DUP2
00000a55: GT
00000a56: PUSH2 0x0a5f
00000a59: JUMPI
00000a5a: DUP1
00000a5b: PUSH2 0x0a61
00000a5e: JUMP
00000a5f: JUMPDEST
00000a60: DUP4
00000a61: JUMPDEST
00000a62: PUSH1 0x01
00000a64: PUSH1 0x01
00000a66: PUSH1 0xa0
00000a68: SHL
00000a69: SUB
00000a6a: DUP7
00000a6b: AND
00000a6c: PUSH1 0x00
00000a6e: SWAP1
00000a6f: DUP2
00000a70: MSTORE
00000a71: PUSH1 0x99
00000a73: PUSH1 0x20
00000a75: MSTORE
00000a76: PUSH1 0x40
00000a78: DUP2
00000a79: KECCAK256
00000a7a: DUP1
00000a7b: SLOAD
00000a7c: SWAP3
00000a7d: SWAP4
00000a7e: POP
00000a7f: DUP4
00000a80: SWAP3
00000a81: SWAP1
00000a82: SWAP2
00000a83: SWAP1
00000a84: PUSH2 0x0a8e
00000a87: SWAP1
00000a88: DUP5
00000a89: SWAP1
00000a8a: PUSH2 0x156b
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: SWAP1
00000a90: SWAP2
00000a91: SSTORE
00000a92: POP
00000a93: POP
00000a94: PUSH1 0x40
00000a96: MLOAD
00000a97: PUSH1 0x00
00000a99: SWAP1
00000a9a: CALLER
00000a9b: SWAP1
00000a9c: DUP4
00000a9d: SWAP1
00000a9e: DUP4
00000a9f: DUP2
00000aa0: DUP2
00000aa1: DUP2
00000aa2: DUP6
00000aa3: DUP8
00000aa4: GAS
00000aa5: CALL
00000aa6: SWAP3
00000aa7: POP
00000aa8: POP
00000aa9: POP
00000aaa: RETURNDATASIZE
00000aab: DUP1
00000aac: PUSH1 0x00
00000aae: DUP2
00000aaf: EQ
00000ab0: PUSH2 0x0ad5
00000ab3: JUMPI
00000ab4: PUSH1 0x40
00000ab6: MLOAD
00000ab7: SWAP2
00000ab8: POP
00000ab9: PUSH1 0x1f
00000abb: NOT
00000abc: PUSH1 0x3f
00000abe: RETURNDATASIZE
00000abf: ADD
00000ac0: AND
00000ac1: DUP3
00000ac2: ADD
00000ac3: PUSH1 0x40
00000ac5: MSTORE
00000ac6: RETURNDATASIZE
00000ac7: DUP3
00000ac8: MSTORE
00000ac9: RETURNDATASIZE
00000aca: PUSH1 0x00
00000acc: PUSH1 0x20
00000ace: DUP5
00000acf: ADD
00000ad0: RETURNDATACOPY
00000ad1: PUSH2 0x0ada
00000ad4: JUMP
00000ad5: JUMPDEST
00000ad6: PUSH1 0x60
00000ad8: SWAP2
00000ad9: POP
00000ada: JUMPDEST
00000adb: POP
00000adc: POP
00000add: SWAP1
00000ade: POP
00000adf: DUP1
00000ae0: PUSH2 0x0b51
00000ae3: JUMPI
00000ae4: PUSH1 0x40
00000ae6: MLOAD
00000ae7: PUSH3 0x461bcd
00000aeb: PUSH1 0xe5
00000aed: SHL
00000aee: DUP2
00000aef: MSTORE
00000af0: PUSH1 0x20
00000af2: PUSH1 0x04
00000af4: DUP3
00000af5: ADD
00000af6: MSTORE
00000af7: PUSH1 0x3a
00000af9: PUSH1 0x24
00000afb: DUP3
00000afc: ADD
00000afd: MSTORE
00000afe: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072
00000b1f: PUSH1 0x44
00000b21: DUP3
00000b22: ADD
00000b23: MSTORE
00000b24: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000
00000b45: PUSH1 0x64
00000b47: DUP3
00000b48: ADD
00000b49: MSTORE
00000b4a: PUSH1 0x84
00000b4c: ADD
00000b4d: PUSH2 0x037f
00000b50: JUMP
00000b51: JUMPDEST
00000b52: PUSH1 0x01
00000b54: PUSH1 0x01
00000b56: PUSH1 0xa0
00000b58: SHL
00000b59: SUB
00000b5a: DUP7
00000b5b: AND
00000b5c: PUSH1 0x00
00000b5e: SWAP1
00000b5f: DUP2
00000b60: MSTORE
00000b61: PUSH1 0x99
00000b63: PUSH1 0x20
00000b65: MSTORE
00000b66: PUSH1 0x40
00000b68: SWAP1
00000b69: KECCAK256
00000b6a: SLOAD
00000b6b: PUSH2 0x0bab
00000b6e: JUMPI
00000b6f: PUSH1 0x40
00000b71: MLOAD
00000b72: PUSH1 0x01
00000b74: PUSH1 0x01
00000b76: PUSH1 0xa0
00000b78: SHL
00000b79: SUB
00000b7a: DUP8
00000b7b: AND
00000b7c: DUP2
00000b7d: MSTORE
00000b7e: PUSH32 0x558c309d16979977d7c6c19ebb1878fb2e0f856b7ebb440bee5dfd2e7b7c1235
00000b9f: SWAP1
00000ba0: PUSH1 0x20
00000ba2: ADD
00000ba3: PUSH1 0x40
00000ba5: MLOAD
00000ba6: DUP1
00000ba7: SWAP2
00000ba8: SUB
00000ba9: SWAP1
00000baa: LOG1
00000bab: JUMPDEST
00000bac: POP
00000bad: POP
00000bae: PUSH1 0x01
00000bb0: PUSH1 0x67
00000bb2: SSTORE
00000bb3: POP
00000bb4: POP
00000bb5: POP
00000bb6: POP
00000bb7: JUMP
00000bb8: JUMPDEST
00000bb9: PUSH1 0x33
00000bbb: SLOAD
00000bbc: PUSH1 0x01
00000bbe: PUSH1 0x01
00000bc0: PUSH1 0xa0
00000bc2: SHL
00000bc3: SUB
00000bc4: AND
00000bc5: CALLER
00000bc6: EQ
00000bc7: PUSH2 0x0c12
00000bca: JUMPI
00000bcb: PUSH1 0x40
00000bcd: MLOAD
00000bce: PUSH3 0x461bcd
00000bd2: PUSH1 0xe5
00000bd4: SHL
00000bd5: DUP2
00000bd6: MSTORE
00000bd7: PUSH1 0x20
00000bd9: PUSH1 0x04
00000bdb: DUP3
00000bdc: ADD
00000bdd: DUP2
00000bde: SWAP1
00000bdf: MSTORE
00000be0: PUSH1 0x24
00000be2: DUP3
00000be3: ADD
00000be4: MSTORE
00000be5: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000c06: PUSH1 0x44
00000c08: DUP3
00000c09: ADD
00000c0a: MSTORE
00000c0b: PUSH1 0x64
00000c0d: ADD
00000c0e: PUSH2 0x037f
00000c11: JUMP
00000c12: JUMPDEST
00000c13: PUSH1 0x01
00000c15: PUSH1 0x01
00000c17: PUSH1 0xa0
00000c19: SHL
00000c1a: SUB
00000c1b: DUP2
00000c1c: AND
00000c1d: PUSH1 0x00
00000c1f: DUP2
00000c20: DUP2
00000c21: MSTORE
00000c22: PUSH1 0x99
00000c24: PUSH1 0x20
00000c26: SWAP1
00000c27: DUP2
00000c28: MSTORE
00000c29: PUSH1 0x40
00000c2b: DUP1
00000c2c: DUP4
00000c2d: KECCAK256
00000c2e: SWAP3
00000c2f: SWAP1
00000c30: SWAP3
00000c31: SSTORE
00000c32: SWAP1
00000c33: MLOAD
00000c34: SWAP2
00000c35: DUP3
00000c36: MSTORE
00000c37: PUSH32 0x558c309d16979977d7c6c19ebb1878fb2e0f856b7ebb440bee5dfd2e7b7c1235
00000c58: SWAP2
00000c59: ADD
00000c5a: PUSH2 0x03d5
00000c5d: JUMP
00000c5e: JUMPDEST
00000c5f: PUSH1 0x33
00000c61: SLOAD
00000c62: PUSH1 0x01
00000c64: PUSH1 0x01
00000c66: PUSH1 0xa0
00000c68: SHL
00000c69: SUB
00000c6a: AND
00000c6b: CALLER
00000c6c: EQ
00000c6d: PUSH2 0x0cb8
00000c70: JUMPI
00000c71: PUSH1 0x40
00000c73: MLOAD
00000c74: PUSH3 0x461bcd
00000c78: PUSH1 0xe5
00000c7a: SHL
00000c7b: DUP2
00000c7c: MSTORE
00000c7d: PUSH1 0x20
00000c7f: PUSH1 0x04
00000c81: DUP3
00000c82: ADD
00000c83: DUP2
00000c84: SWAP1
00000c85: MSTORE
00000c86: PUSH1 0x24
00000c88: DUP3
00000c89: ADD
00000c8a: MSTORE
00000c8b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000cac: PUSH1 0x44
00000cae: DUP3
00000caf: ADD
00000cb0: MSTORE
00000cb1: PUSH1 0x64
00000cb3: ADD
00000cb4: PUSH2 0x037f
00000cb7: JUMP
00000cb8: JUMPDEST
00000cb9: PUSH1 0x01
00000cbb: PUSH1 0x01
00000cbd: PUSH1 0xa0
00000cbf: SHL
00000cc0: SUB
00000cc1: DUP2
00000cc2: AND
00000cc3: PUSH1 0x00
00000cc5: SWAP1
00000cc6: DUP2
00000cc7: MSTORE
00000cc8: PUSH1 0x99
00000cca: PUSH1 0x20
00000ccc: MSTORE
00000ccd: PUSH1 0x40
00000ccf: SWAP1
00000cd0: KECCAK256
00000cd1: SLOAD
00000cd2: DUP1
00000cd3: PUSH2 0x0d1e
00000cd6: JUMPI
00000cd7: PUSH1 0x40
00000cd9: MLOAD
00000cda: PUSH3 0x461bcd
00000cde: PUSH1 0xe5
00000ce0: SHL
00000ce1: DUP2
00000ce2: MSTORE
00000ce3: PUSH1 0x20
00000ce5: PUSH1 0x04
00000ce7: DUP3
00000ce8: ADD
00000ce9: MSTORE
00000cea: PUSH1 0x0f
00000cec: PUSH1 0x24
00000cee: DUP3
00000cef: ADD
00000cf0: MSTORE
00000cf1: PUSH32 0x43616e6e6f742072656d6f766520300000000000000000000000000000000000
00000d12: PUSH1 0x44
00000d14: DUP3
00000d15: ADD
00000d16: MSTORE
00000d17: PUSH1 0x64
00000d19: ADD
00000d1a: PUSH2 0x037f
00000d1d: JUMP
00000d1e: JUMPDEST
00000d1f: PUSH1 0x01
00000d21: PUSH1 0x01
00000d23: PUSH1 0xa0
00000d25: SHL
00000d26: SUB
00000d27: DUP3
00000d28: AND
00000d29: PUSH1 0x00
00000d2b: SWAP1
00000d2c: DUP2
00000d2d: MSTORE
00000d2e: PUSH1 0x99
00000d30: PUSH1 0x20
00000d32: MSTORE
00000d33: PUSH1 0x40
00000d35: DUP1
00000d36: DUP3
00000d37: KECCAK256
00000d38: DUP3
00000d39: SWAP1
00000d3a: SSTORE
00000d3b: MLOAD
00000d3c: CALLER
00000d3d: SWAP2
00000d3e: DUP4
00000d3f: ISZERO
00000d40: PUSH2 0x08fc
00000d43: MUL
00000d44: SWAP2
00000d45: DUP5
00000d46: SWAP2
00000d47: DUP2
00000d48: DUP2
00000d49: DUP2
00000d4a: DUP6
00000d4b: DUP9
00000d4c: DUP9
00000d4d: CALL
00000d4e: SWAP4
00000d4f: POP
00000d50: POP
00000d51: POP
00000d52: POP
00000d53: ISZERO
00000d54: DUP1
00000d55: ISZERO
00000d56: PUSH2 0x0d63
00000d59: JUMPI
00000d5a: RETURNDATASIZE
00000d5b: PUSH1 0x00
00000d5d: DUP1
00000d5e: RETURNDATACOPY
00000d5f: RETURNDATASIZE
00000d60: PUSH1 0x00
00000d62: REVERT
00000d63: JUMPDEST
00000d64: POP
00000d65: PUSH1 0x40
00000d67: MLOAD
00000d68: PUSH1 0x01
00000d6a: PUSH1 0x01
00000d6c: PUSH1 0xa0
00000d6e: SHL
00000d6f: SUB
00000d70: DUP4
00000d71: AND
00000d72: DUP2
00000d73: MSTORE
00000d74: PUSH32 0x558c309d16979977d7c6c19ebb1878fb2e0f856b7ebb440bee5dfd2e7b7c1235
00000d95: SWAP1
00000d96: PUSH1 0x20
00000d98: ADD
00000d99: PUSH2 0x0492
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH1 0x33
00000da0: SLOAD
00000da1: PUSH1 0x01
00000da3: PUSH1 0x01
00000da5: PUSH1 0xa0
00000da7: SHL
00000da8: SUB
00000da9: AND
00000daa: CALLER
00000dab: EQ
00000dac: PUSH2 0x0df7
00000daf: JUMPI
00000db0: PUSH1 0x40
00000db2: MLOAD
00000db3: PUSH3 0x461bcd
00000db7: PUSH1 0xe5
00000db9: SHL
00000dba: DUP2
00000dbb: MSTORE
00000dbc: PUSH1 0x20
00000dbe: PUSH1 0x04
00000dc0: DUP3
00000dc1: ADD
00000dc2: DUP2
00000dc3: SWAP1
00000dc4: MSTORE
00000dc5: PUSH1 0x24
00000dc7: DUP3
00000dc8: ADD
00000dc9: MSTORE
00000dca: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000deb: PUSH1 0x44
00000ded: DUP3
00000dee: ADD
00000def: MSTORE
00000df0: PUSH1 0x64
00000df2: ADD
00000df3: PUSH2 0x037f
00000df6: JUMP
00000df7: JUMPDEST
00000df8: PUSH1 0x40
00000dfa: MLOAD
00000dfb: CALLER
00000dfc: SWAP1
00000dfd: SELFBALANCE
00000dfe: DUP1
00000dff: ISZERO
00000e00: PUSH2 0x08fc
00000e03: MUL
00000e04: SWAP2
00000e05: PUSH1 0x00
00000e07: DUP2
00000e08: DUP2
00000e09: DUP2
00000e0a: DUP6
00000e0b: DUP9
00000e0c: DUP9
00000e0d: CALL
00000e0e: SWAP4
00000e0f: POP
00000e10: POP
00000e11: POP
00000e12: POP
00000e13: ISZERO
00000e14: DUP1
00000e15: ISZERO
00000e16: PUSH2 0x0673
00000e19: JUMPI
00000e1a: RETURNDATASIZE
00000e1b: PUSH1 0x00
00000e1d: DUP1
00000e1e: RETURNDATACOPY
00000e1f: RETURNDATASIZE
00000e20: PUSH1 0x00
00000e22: REVERT
00000e23: JUMPDEST
00000e24: PUSH1 0x33
00000e26: SLOAD
00000e27: PUSH1 0x01
00000e29: PUSH1 0x01
00000e2b: PUSH1 0xa0
00000e2d: SHL
00000e2e: SUB
00000e2f: AND
00000e30: CALLER
00000e31: EQ
00000e32: PUSH2 0x0e7d
00000e35: JUMPI
00000e36: PUSH1 0x40
00000e38: MLOAD
00000e39: PUSH3 0x461bcd
00000e3d: PUSH1 0xe5
00000e3f: SHL
00000e40: DUP2
00000e41: MSTORE
00000e42: PUSH1 0x20
00000e44: PUSH1 0x04
00000e46: DUP3
00000e47: ADD
00000e48: DUP2
00000e49: SWAP1
00000e4a: MSTORE
00000e4b: PUSH1 0x24
00000e4d: DUP3
00000e4e: ADD
00000e4f: MSTORE
00000e50: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000e71: PUSH1 0x44
00000e73: DUP3
00000e74: ADD
00000e75: MSTORE
00000e76: PUSH1 0x64
00000e78: ADD
00000e79: PUSH2 0x037f
00000e7c: JUMP
00000e7d: JUMPDEST
00000e7e: PUSH1 0x01
00000e80: PUSH1 0x01
00000e82: PUSH1 0xa0
00000e84: SHL
00000e85: SUB
00000e86: DUP2
00000e87: AND
00000e88: PUSH2 0x0ef9
00000e8b: JUMPI
00000e8c: PUSH1 0x40
00000e8e: MLOAD
00000e8f: PUSH3 0x461bcd
00000e93: PUSH1 0xe5
00000e95: SHL
00000e96: DUP2
00000e97: MSTORE
00000e98: PUSH1 0x20
00000e9a: PUSH1 0x04
00000e9c: DUP3
00000e9d: ADD
00000e9e: MSTORE
00000e9f: PUSH1 0x26
00000ea1: PUSH1 0x24
00000ea3: DUP3
00000ea4: ADD
00000ea5: MSTORE
00000ea6: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00000ec7: PUSH1 0x44
00000ec9: DUP3
00000eca: ADD
00000ecb: MSTORE
00000ecc: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
00000eed: PUSH1 0x64
00000eef: DUP3
00000ef0: ADD
00000ef1: MSTORE
00000ef2: PUSH1 0x84
00000ef4: ADD
00000ef5: PUSH2 0x037f
00000ef8: JUMP
00000ef9: JUMPDEST
00000efa: PUSH1 0x33
00000efc: SLOAD
00000efd: PUSH1 0x40
00000eff: MLOAD
00000f00: PUSH1 0x01
00000f02: PUSH1 0x01
00000f04: PUSH1 0xa0
00000f06: SHL
00000f07: SUB
00000f08: DUP1
00000f09: DUP5
00000f0a: AND
00000f0b: SWAP3
00000f0c: AND
00000f0d: SWAP1
00000f0e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f2f: SWAP1
00000f30: PUSH1 0x00
00000f32: SWAP1
00000f33: LOG3
00000f34: PUSH1 0x33
00000f36: DUP1
00000f37: SLOAD
00000f38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f4d: NOT
00000f4e: AND
00000f4f: PUSH1 0x01
00000f51: PUSH1 0x01
00000f53: PUSH1 0xa0
00000f55: SHL
00000f56: SUB
00000f57: SWAP3
00000f58: SWAP1
00000f59: SWAP3
00000f5a: AND
00000f5b: SWAP2
00000f5c: SWAP1
00000f5d: SWAP2
00000f5e: OR
00000f5f: SWAP1
00000f60: SSTORE
00000f61: JUMP
00000f62: JUMPDEST
00000f63: PUSH1 0x33
00000f65: SLOAD
00000f66: PUSH1 0x01
00000f68: PUSH1 0x01
00000f6a: PUSH1 0xa0
00000f6c: SHL
00000f6d: SUB
00000f6e: AND
00000f6f: CALLER
00000f70: EQ
00000f71: PUSH2 0x0fbc
00000f74: JUMPI
00000f75: PUSH1 0x40
00000f77: MLOAD
00000f78: PUSH3 0x461bcd
00000f7c: PUSH1 0xe5
00000f7e: SHL
00000f7f: DUP2
00000f80: MSTORE
00000f81: PUSH1 0x20
00000f83: PUSH1 0x04
00000f85: DUP3
00000f86: ADD
00000f87: DUP2
00000f88: SWAP1
00000f89: MSTORE
00000f8a: PUSH1 0x24
00000f8c: DUP3
00000f8d: ADD
00000f8e: MSTORE
00000f8f: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00000fb0: PUSH1 0x44
00000fb2: DUP3
00000fb3: ADD
00000fb4: MSTORE
00000fb5: PUSH1 0x64
00000fb7: ADD
00000fb8: PUSH2 0x037f
00000fbb: JUMP
00000fbc: JUMPDEST
00000fbd: PUSH1 0x00
00000fbf: DUP2
00000fc0: DUP2
00000fc1: MSTORE
00000fc2: PUSH1 0x66
00000fc4: PUSH1 0x20
00000fc6: SWAP1
00000fc7: DUP2
00000fc8: MSTORE
00000fc9: PUSH1 0x40
00000fcb: DUP1
00000fcc: DUP4
00000fcd: KECCAK256
00000fce: DUP1
00000fcf: SLOAD
00000fd0: PUSH1 0xff
00000fd2: NOT
00000fd3: AND
00000fd4: SWAP1
00000fd5: SSTORE
00000fd6: DUP1
00000fd7: MLOAD
00000fd8: DUP5
00000fd9: DUP2
00000fda: MSTORE
00000fdb: SWAP2
00000fdc: DUP3
00000fdd: ADD
00000fde: SWAP3
00000fdf: SWAP1
00000fe0: SWAP3
00000fe1: MSTORE
00000fe2: PUSH32 0x77f1fcfcce67dc392d64f842056d2ec06c80986c47c910f7e79c5b23a2738d74
00001003: SWAP2
00001004: ADD
00001005: PUSH2 0x03d5
00001008: JUMP
00001009: JUMPDEST
0000100a: PUSH1 0x00
0000100c: SLOAD
0000100d: PUSH2 0x0100
00001010: SWAP1
00001011: DIV
00001012: PUSH1 0xff
00001014: AND
00001015: DUP1
00001016: PUSH2 0x1022
00001019: JUMPI
0000101a: POP
0000101b: PUSH1 0x00
0000101d: SLOAD
0000101e: PUSH1 0xff
00001020: AND
00001021: ISZERO
00001022: JUMPDEST
00001023: PUSH2 0x1085
00001026: JUMPI
00001027: PUSH1 0x40
00001029: MLOAD
0000102a: PUSH3 0x461bcd
0000102e: PUSH1 0xe5
00001030: SHL
00001031: DUP2
00001032: MSTORE
00001033: PUSH1 0x20
00001035: PUSH1 0x04
00001037: DUP3
00001038: ADD
00001039: MSTORE
0000103a: PUSH1 0x2e
0000103c: PUSH1 0x24
0000103e: DUP3
0000103f: ADD
00001040: MSTORE
00001041: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001062: PUSH1 0x44
00001064: DUP3
00001065: ADD
00001066: MSTORE
00001067: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001076: PUSH1 0x92
00001078: SHL
00001079: PUSH1 0x64
0000107b: DUP3
0000107c: ADD
0000107d: MSTORE
0000107e: PUSH1 0x84
00001080: ADD
00001081: PUSH2 0x037f
00001084: JUMP
00001085: JUMPDEST
00001086: PUSH1 0x00
00001088: SLOAD
00001089: PUSH2 0x0100
0000108c: SWAP1
0000108d: DIV
0000108e: PUSH1 0xff
00001090: AND
00001091: ISZERO
00001092: DUP1
00001093: ISZERO
00001094: PUSH2 0x10a7
00001097: JUMPI
00001098: PUSH1 0x00
0000109a: DUP1
0000109b: SLOAD
0000109c: PUSH2 0xffff
0000109f: NOT
000010a0: AND
000010a1: PUSH2 0x0101
000010a4: OR
000010a5: SWAP1
000010a6: SSTORE
000010a7: JUMPDEST
000010a8: PUSH2 0x0661
000010ab: PUSH2 0x1155
000010ae: JUMP
000010af: JUMPDEST
000010b0: PUSH1 0x00
000010b2: SLOAD
000010b3: PUSH2 0x0100
000010b6: SWAP1
000010b7: DIV
000010b8: PUSH1 0xff
000010ba: AND
000010bb: DUP1
000010bc: PUSH2 0x10c8
000010bf: JUMPI
000010c0: POP
000010c1: PUSH1 0x00
000010c3: SLOAD
000010c4: PUSH1 0xff
000010c6: AND
000010c7: ISZERO
000010c8: JUMPDEST
000010c9: PUSH2 0x112b
000010cc: JUMPI
000010cd: PUSH1 0x40
000010cf: MLOAD
000010d0: PUSH3 0x461bcd
000010d4: PUSH1 0xe5
000010d6: SHL
000010d7: DUP2
000010d8: MSTORE
000010d9: PUSH1 0x20
000010db: PUSH1 0x04
000010dd: DUP3
000010de: ADD
000010df: MSTORE
000010e0: PUSH1 0x2e
000010e2: PUSH1 0x24
000010e4: DUP3
000010e5: ADD
000010e6: MSTORE
000010e7: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001108: PUSH1 0x44
0000110a: DUP3
0000110b: ADD
0000110c: MSTORE
0000110d: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
0000111c: PUSH1 0x92
0000111e: SHL
0000111f: PUSH1 0x64
00001121: DUP3
00001122: ADD
00001123: MSTORE
00001124: PUSH1 0x84
00001126: ADD
00001127: PUSH2 0x037f
0000112a: JUMP
0000112b: JUMPDEST
0000112c: PUSH1 0x00
0000112e: SLOAD
0000112f: PUSH2 0x0100
00001132: SWAP1
00001133: DIV
00001134: PUSH1 0xff
00001136: AND
00001137: ISZERO
00001138: DUP1
00001139: ISZERO
0000113a: PUSH2 0x114d
0000113d: JUMPI
0000113e: PUSH1 0x00
00001140: DUP1
00001141: SLOAD
00001142: PUSH2 0xffff
00001145: NOT
00001146: AND
00001147: PUSH2 0x0101
0000114a: OR
0000114b: SWAP1
0000114c: SSTORE
0000114d: JUMPDEST
0000114e: PUSH2 0x0661
00001151: PUSH2 0x1203
00001154: JUMP
00001155: JUMPDEST
00001156: PUSH1 0x00
00001158: SLOAD
00001159: PUSH2 0x0100
0000115c: SWAP1
0000115d: DIV
0000115e: PUSH1 0xff
00001160: AND
00001161: DUP1
00001162: PUSH2 0x116e
00001165: JUMPI
00001166: POP
00001167: PUSH1 0x00
00001169: SLOAD
0000116a: PUSH1 0xff
0000116c: AND
0000116d: ISZERO
0000116e: JUMPDEST
0000116f: PUSH2 0x11d1
00001172: JUMPI
00001173: PUSH1 0x40
00001175: MLOAD
00001176: PUSH3 0x461bcd
0000117a: PUSH1 0xe5
0000117c: SHL
0000117d: DUP2
0000117e: MSTORE
0000117f: PUSH1 0x20
00001181: PUSH1 0x04
00001183: DUP3
00001184: ADD
00001185: MSTORE
00001186: PUSH1 0x2e
00001188: PUSH1 0x24
0000118a: DUP3
0000118b: ADD
0000118c: MSTORE
0000118d: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000011ae: PUSH1 0x44
000011b0: DUP3
000011b1: ADD
000011b2: MSTORE
000011b3: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
000011c2: PUSH1 0x92
000011c4: SHL
000011c5: PUSH1 0x64
000011c7: DUP3
000011c8: ADD
000011c9: MSTORE
000011ca: PUSH1 0x84
000011cc: ADD
000011cd: PUSH2 0x037f
000011d0: JUMP
000011d1: JUMPDEST
000011d2: PUSH1 0x00
000011d4: SLOAD
000011d5: PUSH2 0x0100
000011d8: SWAP1
000011d9: DIV
000011da: PUSH1 0xff
000011dc: AND
000011dd: ISZERO
000011de: DUP1
000011df: ISZERO
000011e0: PUSH2 0x11f3
000011e3: JUMPI
000011e4: PUSH1 0x00
000011e6: DUP1
000011e7: SLOAD
000011e8: PUSH2 0xffff
000011eb: NOT
000011ec: AND
000011ed: PUSH2 0x0101
000011f0: OR
000011f1: SWAP1
000011f2: SSTORE
000011f3: JUMPDEST
000011f4: PUSH2 0x11fb
000011f7: PUSH2 0x12ba
000011fa: JUMP
000011fb: JUMPDEST
000011fc: PUSH2 0x0661
000011ff: PUSH2 0x136b
00001202: JUMP
00001203: JUMPDEST
00001204: PUSH1 0x00
00001206: SLOAD
00001207: PUSH2 0x0100
0000120a: SWAP1
0000120b: DIV
0000120c: PUSH1 0xff
0000120e: AND
0000120f: DUP1
00001210: PUSH2 0x121c
00001213: JUMPI
00001214: POP
00001215: PUSH1 0x00
00001217: SLOAD
00001218: PUSH1 0xff
0000121a: AND
0000121b: ISZERO
0000121c: JUMPDEST
0000121d: PUSH2 0x127f
00001220: JUMPI
00001221: PUSH1 0x40
00001223: MLOAD
00001224: PUSH3 0x461bcd
00001228: PUSH1 0xe5
0000122a: SHL
0000122b: DUP2
0000122c: MSTORE
0000122d: PUSH1 0x20
0000122f: PUSH1 0x04
00001231: DUP3
00001232: ADD
00001233: MSTORE
00001234: PUSH1 0x2e
00001236: PUSH1 0x24
00001238: DUP3
00001239: ADD
0000123a: MSTORE
0000123b: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
0000125c: PUSH1 0x44
0000125e: DUP3
0000125f: ADD
00001260: MSTORE
00001261: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001270: PUSH1 0x92
00001272: SHL
00001273: PUSH1 0x64
00001275: DUP3
00001276: ADD
00001277: MSTORE
00001278: PUSH1 0x84
0000127a: ADD
0000127b: PUSH2 0x037f
0000127e: JUMP
0000127f: JUMPDEST
00001280: PUSH1 0x00
00001282: SLOAD
00001283: PUSH2 0x0100
00001286: SWAP1
00001287: DIV
00001288: PUSH1 0xff
0000128a: AND
0000128b: ISZERO
0000128c: DUP1
0000128d: ISZERO
0000128e: PUSH2 0x12a1
00001291: JUMPI
00001292: PUSH1 0x00
00001294: DUP1
00001295: SLOAD
00001296: PUSH2 0xffff
00001299: NOT
0000129a: AND
0000129b: PUSH2 0x0101
0000129e: OR
0000129f: SWAP1
000012a0: SSTORE
000012a1: JUMPDEST
000012a2: PUSH1 0x01
000012a4: PUSH1 0x67
000012a6: SSTORE
000012a7: DUP1
000012a8: ISZERO
000012a9: PUSH2 0x0673
000012ac: JUMPI
000012ad: PUSH1 0x00
000012af: DUP1
000012b0: SLOAD
000012b1: PUSH2 0xff00
000012b4: NOT
000012b5: AND
000012b6: SWAP1
000012b7: SSTORE
000012b8: POP
000012b9: JUMP
000012ba: JUMPDEST
000012bb: PUSH1 0x00
000012bd: SLOAD
000012be: PUSH2 0x0100
000012c1: SWAP1
000012c2: DIV
000012c3: PUSH1 0xff
000012c5: AND
000012c6: DUP1
000012c7: PUSH2 0x12d3
000012ca: JUMPI
000012cb: POP
000012cc: PUSH1 0x00
000012ce: SLOAD
000012cf: PUSH1 0xff
000012d1: AND
000012d2: ISZERO
000012d3: JUMPDEST
000012d4: PUSH2 0x1336
000012d7: JUMPI
000012d8: PUSH1 0x40
000012da: MLOAD
000012db: PUSH3 0x461bcd
000012df: PUSH1 0xe5
000012e1: SHL
000012e2: DUP2
000012e3: MSTORE
000012e4: PUSH1 0x20
000012e6: PUSH1 0x04
000012e8: DUP3
000012e9: ADD
000012ea: MSTORE
000012eb: PUSH1 0x2e
000012ed: PUSH1 0x24
000012ef: DUP3
000012f0: ADD
000012f1: MSTORE
000012f2: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001313: PUSH1 0x44
00001315: DUP3
00001316: ADD
00001317: MSTORE
00001318: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00001327: PUSH1 0x92
00001329: SHL
0000132a: PUSH1 0x64
0000132c: DUP3
0000132d: ADD
0000132e: MSTORE
0000132f: PUSH1 0x84
00001331: ADD
00001332: PUSH2 0x037f
00001335: JUMP
00001336: JUMPDEST
00001337: PUSH1 0x00
00001339: SLOAD
0000133a: PUSH2 0x0100
0000133d: SWAP1
0000133e: DIV
0000133f: PUSH1 0xff
00001341: AND
00001342: ISZERO
00001343: DUP1
00001344: ISZERO
00001345: PUSH2 0x0661
00001348: JUMPI
00001349: PUSH1 0x00
0000134b: DUP1
0000134c: SLOAD
0000134d: PUSH2 0xffff
00001350: NOT
00001351: AND
00001352: PUSH2 0x0101
00001355: OR
00001356: SWAP1
00001357: SSTORE
00001358: DUP1
00001359: ISZERO
0000135a: PUSH2 0x0673
0000135d: JUMPI
0000135e: PUSH1 0x00
00001360: DUP1
00001361: SLOAD
00001362: PUSH2 0xff00
00001365: NOT
00001366: AND
00001367: SWAP1
00001368: SSTORE
00001369: POP
0000136a: JUMP
0000136b: JUMPDEST
0000136c: PUSH1 0x00
0000136e: SLOAD
0000136f: PUSH2 0x0100
00001372: SWAP1
00001373: DIV
00001374: PUSH1 0xff
00001376: AND
00001377: DUP1
00001378: PUSH2 0x1384
0000137b: JUMPI
0000137c: POP
0000137d: PUSH1 0x00
0000137f: SLOAD
00001380: PUSH1 0xff
00001382: AND
00001383: ISZERO
00001384: JUMPDEST
00001385: PUSH2 0x13e7
00001388: JUMPI
00001389: PUSH1 0x40
0000138b: MLOAD
0000138c: PUSH3 0x461bcd
00001390: PUSH1 0xe5
00001392: SHL
00001393: DUP2
00001394: MSTORE
00001395: PUSH1 0x20
00001397: PUSH1 0x04
00001399: DUP3
0000139a: ADD
0000139b: MSTORE
0000139c: PUSH1 0x2e
0000139e: PUSH1 0x24
000013a0: DUP3
000013a1: ADD
000013a2: MSTORE
000013a3: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000013c4: PUSH1 0x44
000013c6: DUP3
000013c7: ADD
000013c8: MSTORE
000013c9: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
000013d8: PUSH1 0x92
000013da: SHL
000013db: PUSH1 0x64
000013dd: DUP3
000013de: ADD
000013df: MSTORE
000013e0: PUSH1 0x84
000013e2: ADD
000013e3: PUSH2 0x037f
000013e6: JUMP
000013e7: JUMPDEST
000013e8: PUSH1 0x00
000013ea: SLOAD
000013eb: PUSH2 0x0100
000013ee: SWAP1
000013ef: DIV
000013f0: PUSH1 0xff
000013f2: AND
000013f3: ISZERO
000013f4: DUP1
000013f5: ISZERO
000013f6: PUSH2 0x1409
000013f9: JUMPI
000013fa: PUSH1 0x00
000013fc: DUP1
000013fd: SLOAD
000013fe: PUSH2 0xffff
00001401: NOT
00001402: AND
00001403: PUSH2 0x0101
00001406: OR
00001407: SWAP1
00001408: SSTORE
00001409: JUMPDEST
0000140a: PUSH1 0x33
0000140c: DUP1
0000140d: SLOAD
0000140e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001423: NOT
00001424: AND
00001425: CALLER
00001426: SWAP1
00001427: DUP2
00001428: OR
00001429: SWAP1
0000142a: SWAP2
0000142b: SSTORE
0000142c: PUSH1 0x40
0000142e: MLOAD
0000142f: DUP2
00001430: SWAP1
00001431: PUSH1 0x00
00001433: SWAP1
00001434: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001455: SWAP1
00001456: DUP3
00001457: SWAP1
00001458: LOG3
00001459: POP
0000145a: DUP1
0000145b: ISZERO
0000145c: PUSH2 0x0673
0000145f: JUMPI
00001460: PUSH1 0x00
00001462: DUP1
00001463: SLOAD
00001464: PUSH2 0xff00
00001467: NOT
00001468: AND
00001469: SWAP1
0000146a: SSTORE
0000146b: POP
0000146c: JUMP
0000146d: JUMPDEST
0000146e: DUP1
0000146f: CALLDATALOAD
00001470: PUSH1 0x01
00001472: PUSH1 0x01
00001474: PUSH1 0xa0
00001476: SHL
00001477: SUB
00001478: DUP2
00001479: AND
0000147a: DUP2
0000147b: EQ
0000147c: PUSH2 0x1484
0000147f: JUMPI
00001480: PUSH1 0x00
00001482: DUP1
00001483: REVERT
00001484: JUMPDEST
00001485: SWAP2
00001486: SWAP1
00001487: POP
00001488: JUMP
00001489: JUMPDEST
0000148a: PUSH1 0x00
0000148c: PUSH1 0x20
0000148e: DUP3
0000148f: DUP5
00001490: SUB
00001491: SLT
00001492: ISZERO
00001493: PUSH2 0x149a
00001496: JUMPI
00001497: DUP1
00001498: DUP2
00001499: REVERT
0000149a: JUMPDEST
0000149b: PUSH2 0x14a3
0000149e: DUP3
0000149f: PUSH2 0x146d
000014a2: JUMP
000014a3: JUMPDEST
000014a4: SWAP4
000014a5: SWAP3
000014a6: POP
000014a7: POP
000014a8: POP
000014a9: JUMP
000014aa: JUMPDEST
000014ab: PUSH1 0x00
000014ad: DUP1
000014ae: PUSH1 0x40
000014b0: DUP4
000014b1: DUP6
000014b2: SUB
000014b3: SLT
000014b4: ISZERO
000014b5: PUSH2 0x14bc
000014b8: JUMPI
000014b9: DUP1
000014ba: DUP2
000014bb: REVERT
000014bc: JUMPDEST
000014bd: PUSH2 0x14c5
000014c0: DUP4
000014c1: PUSH2 0x146d
000014c4: JUMP
000014c5: JUMPDEST
000014c6: SWAP2
000014c7: POP
000014c8: PUSH1 0x20
000014ca: DUP4
000014cb: ADD
000014cc: CALLDATALOAD
000014cd: DUP1
000014ce: ISZERO
000014cf: ISZERO
000014d0: DUP2
000014d1: EQ
000014d2: PUSH2 0x14d9
000014d5: JUMPI
000014d6: DUP2
000014d7: DUP3
000014d8: REVERT
000014d9: JUMPDEST
000014da: DUP1
000014db: SWAP2
000014dc: POP
000014dd: POP
000014de: SWAP3
000014df: POP
000014e0: SWAP3
000014e1: SWAP1
000014e2: POP
000014e3: JUMP
000014e4: JUMPDEST
000014e5: PUSH1 0x00
000014e7: PUSH1 0x20
000014e9: DUP3
000014ea: DUP5
000014eb: SUB
000014ec: SLT
000014ed: ISZERO
000014ee: PUSH2 0x14f5
000014f1: JUMPI
000014f2: DUP1
000014f3: DUP2
000014f4: REVERT
000014f5: JUMPDEST
000014f6: POP
000014f7: CALLDATALOAD
000014f8: SWAP2
000014f9: SWAP1
000014fa: POP
000014fb: JUMP
000014fc: JUMPDEST
000014fd: PUSH1 0x00
000014ff: PUSH1 0x20
00001501: DUP3
00001502: DUP5
00001503: SUB
00001504: SLT
00001505: ISZERO
00001506: PUSH2 0x150d
00001509: JUMPI
0000150a: DUP1
0000150b: DUP2
0000150c: REVERT
0000150d: JUMPDEST
0000150e: POP
0000150f: MLOAD
00001510: SWAP2
00001511: SWAP1
00001512: POP
00001513: JUMP
00001514: JUMPDEST
00001515: PUSH1 0x00
00001517: DUP3
00001518: NOT
00001519: DUP3
0000151a: GT
0000151b: ISZERO
0000151c: PUSH2 0x1527
0000151f: JUMPI
00001520: PUSH2 0x1527
00001523: PUSH2 0x1582
00001526: JUMP
00001527: JUMPDEST
00001528: POP
00001529: ADD
0000152a: SWAP1
0000152b: JUMP
0000152c: JUMPDEST
0000152d: PUSH1 0x00
0000152f: DUP3
00001530: PUSH2 0x1547
00001533: JUMPI
00001534: PUSH4 0x4e487b71
00001539: PUSH1 0xe0
0000153b: SHL
0000153c: DUP2
0000153d: MSTORE
0000153e: PUSH1 0x12
00001540: PUSH1 0x04
00001542: MSTORE
00001543: PUSH1 0x24
00001545: DUP2
00001546: REVERT
00001547: JUMPDEST
00001548: POP
00001549: DIV
0000154a: SWAP1
0000154b: JUMP
0000154c: JUMPDEST
0000154d: PUSH1 0x00
0000154f: DUP2
00001550: PUSH1 0x00
00001552: NOT
00001553: DIV
00001554: DUP4
00001555: GT
00001556: DUP3
00001557: ISZERO
00001558: ISZERO
00001559: AND
0000155a: ISZERO
0000155b: PUSH2 0x1566
0000155e: JUMPI
0000155f: PUSH2 0x1566
00001562: PUSH2 0x1582
00001565: JUMP
00001566: JUMPDEST
00001567: POP
00001568: MUL
00001569: SWAP1
0000156a: JUMP
0000156b: JUMPDEST
0000156c: PUSH1 0x00
0000156e: DUP3
0000156f: DUP3
00001570: LT
00001571: ISZERO
00001572: PUSH2 0x157d
00001575: JUMPI
00001576: PUSH2 0x157d
00001579: PUSH2 0x1582
0000157c: JUMP
0000157d: JUMPDEST
0000157e: POP
0000157f: SUB
00001580: SWAP1
00001581: JUMP
00001582: JUMPDEST
00001583: PUSH4 0x4e487b71
00001588: PUSH1 0xe0
0000158a: SHL
0000158b: PUSH1 0x00
0000158d: MSTORE
0000158e: PUSH1 0x11
00001590: PUSH1 0x04
00001592: MSTORE
00001593: PUSH1 0x24
00001595: PUSH1 0x00
00001597: REVERT
00001598: INVALID
00001599: LOG2
0000159a: PUSH5 0x6970667358
000015a0: UNKNOWN(0x22)
000015a1: SLT
000015a2: KECCAK256
000015a3: GASPRICE
000015a4: DELEGATECALL
000015a5: UNKNOWN(0xC4)
000015a6: SWAP2
000015a7: SWAP11
000015a8: UNKNOWN(0xE1)
000015a9: PUSH13 0x9dba89ee0ecc11266bf4eb4bf2
000015b7: UNKNOWN(0xEB)
000015b8: EQ
000015b9: SWAP5
000015ba: DUP2
000015bb: DUP1
000015bc: EQ
000015bd: UNKNOWN(0xD9)
000015be: UNKNOWN(0xDE)
000015bf: UNKNOWN(0xB0)
000015c0: UNKNOWN(0x0F)
000015c1: PUSH7 0x8464736f6c6343
000015c9: STOP
000015ca: ADDMOD
000015cb: DIV
000015cc: STOP
000015cd: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unprotected external initializer enables ownership takeover and ETH drain if uninitialized 90 no
view
evidence_json
{
    "evidence": "`__NFTXV1Buyout_init` is external and sets ownership through `__Pausable_init` -> `__Ownable_init`, allowing first caller to become owner; owner-only withdraws can then drain ETH.",
    "locations": [
        "contracts/Contract.sol:617",
        "contracts/Contract.sol:559",
        "contracts/Contract.sol:269",
        "contracts/Contract.sol:623",
        "contracts/Contract.sol:639"
    ],
    "recommendation": "Ensure the proxy is initialized atomically at deployment and lock the implementation by disabling initializers (e.g., constructor that calls `_disableInitializers()`), or add an explicit access check on `__NFTXV1Buyout_init` for first-time setup.",
    "exploit_scenario": "1) Attacker checks `owner()`; if zero (proxy/contract not initialized), they call `__NFTXV1Buyout_init()` to become owner via `__Ownable_init`. 2) As owner, attacker calls `emergencyWithdraw()` to pull the entire ETH balance, or `removeBuyout(v1TokenAddr)` to withdraw any buyout ETH for a specific token. 3) Profit equals the full ETH held by the contract (all buyout liquidity)."
}
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x88d2fc87be506e880d3040baa3151f6219b9321fc710f04ec4a3ccd503741706
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x88d2fc87be506e880d3040baa3151f6219b9321fc710f04ec4a3ccd503741706",
    "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": "0xd8374740",
            "selector": "0xd8374740",
            "calldata_variants": [
                "0xd8374740",
                "0xd83747400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb2e21bc",
            "selector": "0xdb2e21bc",
            "calldata_variants": [
                "0xdb2e21bc",
                "0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfabc1cbc",
            "selector": "0xfabc1cbc",
            "calldata_variants": [
                "0xfabc1cbc",
                "0xfabc1cbc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb5ba3a1a",
            "selector": "0xb5ba3a1a",
            "calldata_variants": [
                "0xb5ba3a1a",
                "0xb5ba3a1a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbdf2a43c",
            "selector": "0xbdf2a43c",
            "calldata_variants": [
                "0xbdf2a43c",
                "0xbdf2a43c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdcf9cdb",
            "selector": "0xcdcf9cdb",
            "calldata_variants": [
                "0xcdcf9cdb",
                "0xcdcf9cdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5540,
            "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: 0x0449c52fd75551b10132b89c2d6227e3eaf6345c6e45320f141102e1890661dd
call_targets: 0x28083d8bce883aa7b70130c915cd4308448a6f1e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0449c52fd75551b10132b89c2d6227e3eaf6345c6e45320f141102e1890661dd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28083d8bce883aa7b70130c915cd4308448a6f1e"
    ],
    "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": "0xd8374740",
            "selector": "0xd8374740",
            "calldata_variants": [
                "0xd8374740",
                "0xd83747400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb2e21bc",
            "selector": "0xdb2e21bc",
            "calldata_variants": [
                "0xdb2e21bc",
                "0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfabc1cbc",
            "selector": "0xfabc1cbc",
            "calldata_variants": [
                "0xfabc1cbc",
                "0xfabc1cbc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb5ba3a1a",
            "selector": "0xb5ba3a1a",
            "calldata_variants": [
                "0xb5ba3a1a",
                "0xb5ba3a1a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbdf2a43c",
            "selector": "0xbdf2a43c",
            "calldata_variants": [
                "0xbdf2a43c",
                "0xbdf2a43c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdcf9cdb",
            "selector": "0xcdcf9cdb",
            "calldata_variants": [
                "0xcdcf9cdb",
                "0xcdcf9cdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2594,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2725,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3405,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x0449c52fd75551b10132b89c2d6227e3eaf6345c6e45320f141102e1890661dd
call_targets: 0x28083d8bce883aa7b70130c915cd4308448a6f1e
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0449c52fd75551b10132b89c2d6227e3eaf6345c6e45320f141102e1890661dd",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28083d8bce883aa7b70130c915cd4308448a6f1e"
    ],
    "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": "0xd8374740",
            "selector": "0xd8374740",
            "calldata_variants": [
                "0xd8374740",
                "0xd83747400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdb2e21bc",
            "selector": "0xdb2e21bc",
            "calldata_variants": [
                "0xdb2e21bc",
                "0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfabc1cbc",
            "selector": "0xfabc1cbc",
            "calldata_variants": [
                "0xfabc1cbc",
                "0xfabc1cbc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb5ba3a1a",
            "selector": "0xb5ba3a1a",
            "calldata_variants": [
                "0xb5ba3a1a",
                "0xb5ba3a1a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbdf2a43c",
            "selector": "0xbdf2a43c",
            "calldata_variants": [
                "0xbdf2a43c",
                "0xbdf2a43c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcdcf9cdb",
            "selector": "0xcdcf9cdb",
            "calldata_variants": [
                "0xcdcf9cdb",
                "0xcdcf9cdb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2594,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2725,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3405,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "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
}