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

Analysis Run

f9338544-5292-4781-b0e9-3a6f8b15ccdd

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 4:40 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
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31292 report.consolidate complete 1 / 1 3 months ago
110750 artifact.fetch failed 1 / 3 1 week ago
110751 tool.cast_disasm complete 1 / 3 1 week ago
110752 analysis.bundle complete 1 / 3 1 week ago
110753 capability.graph complete 1 / 3 1 week ago
110754 detector.run complete 1 / 3 1 week ago
110755 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.
View stderr
[codex:671563] OpenAI Codex v0.77.0 (research preview)
[codex:671563] --------
[codex:671563] workdir: /tmp/codex-multi-u2496ux6
[codex:671563] model: gpt-5.2-codex
[codex:671563] provider: openai
[codex:671563] approval: never
[codex:671563] sandbox: read-only
[codex:671563] reasoning effort: xhigh
[codex:671563] reasoning summaries: auto
[codex:671563] session id: 019b7f8f-f146-7df0-b124-0153f21bd49e
[codex:671563] --------
[codex:671563] user
[codex:671563] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:671563] 
[codex:671563] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:671563] 
[codex:671563] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:671563] - Gas inefficiency, code quality, naming, or best practices
[codex:671563] - Theoretical vulnerabilities without a clear extraction path
[codex:671563] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:671563] - Front-running unless it enables theft beyond MEV
[codex:671563] - DoS, griefing, or issues that don't result in attacker profit
[codex:671563] - Missing events, view function issues, or informational findings
[codex:671563] 
[codex:671563] HIGH-VALUE PATTERNS TO HUNT:
[codex:671563] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:671563] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:671563] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:671563] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:671563] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:671563] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:671563] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:671563] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:671563] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:671563] 
[codex:671563] For each finding, you MUST provide:
[codex:671563] 1. Exact file and line numbers of vulnerable code
[codex:671563] 2. Step-by-step exploit transaction sequence
[codex:671563] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:671563] 
[codex:671563] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:671563] 
[codex:671563] Output MUST be valid JSON matching the provided schema.
[codex:671563] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:671563] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:671563] mcp startup: no servers
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Preparing to read instructions and AUDIT_BUNDLE**
[codex:671563] exec
[codex:671563] /bin/bash -lc ls in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563] AUDIT_BUNDLE.txt
[codex:671563] codex-output-schema.json
[codex:671563] contracts
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:671563] 
[codex:671563] ================================================================================
[codex:671563] FILE: contracts/contracts/ILSSVMPairFactoryLike.sol
[codex:671563] ================================================================================
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563] 
[codex:671563] import {LSSVMRouter} from "./LSSVMRouter.sol";
[codex:671563] 
[codex:671563] interface ILSSVMPairFactoryLike {
[codex:671563]     enum PairVariant {
[codex:671563]         ENUMERABLE_ETH,
[codex:671563]         MISSING_ENUMERABLE_ETH,
[codex:671563]         ENUMERABLE_ERC20,
[codex:671563]         MISSING_ENUMERABLE_ERC20
[codex:671563]     }
[codex:671563] 
[codex:671563]     function protocolFeeMultiplier() external view returns (uint256);
[codex:671563] 
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Preparing to scan for vulnerabilities**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] 
[codex:671563]         _pullTokenInputAndPayProtocolFee(
[codex:671563]             inputAmount,
[codex:671563]             isRouter,
[codex:671563]             routerCaller,
[codex:671563]             _factory,
[codex:671563]             protocolFee
[codex:671563]         );
[codex:671563] 
[codex:671563]         _sendAnyNFTsToRecipient(_nft, nftRecipient, numNFTs);
[codex:671563] 
[codex:671563]         _refundTokenToSender(inputAmount);
[codex:671563] 
[codex:671563]         emit SwapNFTOutPair();
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @notice Sends token to the pair in exchange for a specific set of NFTs
[codex:671563]         @dev To compute the amount of token to send, call bondingCurve.getBuyInfo
[codex:671563]         This swap is meant for users who want specific IDs. Also higher chance of
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]     function pairVariant()
[codex:671563]         public
[codex:671563]         pure
[codex:671563]         virtual
[codex:671563]         returns (ILSSVMPairFactoryLike.PairVariant);
[codex:671563] 
[codex:671563]     function factory() public pure returns (ILSSVMPairFactoryLike _factory) {
[codex:671563]         uint256 paramsLength = _immutableParamsLength();
[codex:671563]         assembly {
[codex:671563]             _factory := shr(
[codex:671563]                 0x60,
[codex:671563]                 calldataload(sub(calldatasize(), paramsLength))
[codex:671563]             )
[codex:671563]         }
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @notice Returns the type of bonding curve that parameterizes the pair
[codex:671563]      */
[codex:671563]     function bondingCurve() public pure returns (ICurve _bondingCurve) {
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]         if (spotPrice != newSpotPrice) {
[codex:671563]             spotPrice = newSpotPrice;
[codex:671563]             emit SpotPriceUpdate(newSpotPrice);
[codex:671563]         }
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @notice Updates the delta parameter. Only callable by the owner.
[codex:671563]         @param newDelta The new delta parameter
[codex:671563]      */
[codex:671563]     function changeDelta(uint128 newDelta) external onlyOwner {
[codex:671563]         ICurve _bondingCurve = bondingCurve();
[codex:671563]         require(
[codex:671563]             _bondingCurve.validateDelta(newDelta),
[codex:671563]             "Invalid delta for curve"
[codex:671563]         );
[codex:671563]         if (delta != newDelta) {
[codex:671563]             delta = newDelta;
[codex:671563]             emit DeltaUpdate(newDelta);
[codex:671563]         }
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 7ms:
[codex:671563] 
[codex:671563]     /// @inheritdoc LSSVMPair
[codex:671563]     function withdrawERC20(ERC20 a, uint256 amount)
[codex:671563]         external
[codex:671563]         override
[codex:671563]         onlyOwner
[codex:671563]     {
[codex:671563]         a.safeTransfer(msg.sender, amount);
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @dev All ETH transfers into the pair are accepted. This is the main method
[codex:671563]         for the owner to top up the pair's token reserves.
[codex:671563]      */
[codex:671563]     receive() external payable {
[codex:671563]         emit TokenDeposit(msg.value);
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @dev All ETH transfers into the pair are accepted. This is the main method
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]             )
[codex:671563]         );
[codex:671563] 
[codex:671563]         _initializePairERC20(
[codex:671563]             pair,
[codex:671563]             params.token,
[codex:671563]             params.nft,
[codex:671563]             params.assetRecipient,
[codex:671563]             params.delta,
[codex:671563]             params.fee,
[codex:671563]             params.spotPrice,
[codex:671563]             params.initialNFTIDs,
[codex:671563]             params.initialTokenBalance
[codex:671563]         );
[codex:671563]         emit NewPair(address(pair));
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @notice Checks if an address is a LSSVMPair. Uses the fact that the pairs are EIP-1167 minimal proxies.
[codex:671563]         @param potentialPair The address to check
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563] 
[codex:671563]                 unchecked {
[codex:671563]                     ++i;
[codex:671563]                 }
[codex:671563]             }
[codex:671563]         }
[codex:671563]         // Otherwise, withdraw and also remove the ID from the ID set
[codex:671563]         else {
[codex:671563]             for (uint256 i; i < numNFTs; ) {
[codex:671563]                 _nft.safeTransferFrom(address(this), msg.sender, nftIds[i]);
[codex:671563]                 idSet.remove(nftIds[i]);
[codex:671563] 
[codex:671563]                 unchecked {
[codex:671563]                     ++i;
[codex:671563]                 }
[codex:671563]             }
[codex:671563] 
[codex:671563]             emit NFTWithdrawal();
[codex:671563]         }
[codex:671563]     }
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 5ms:
[codex:671563]             trade.nftToTokenTrades,
[codex:671563]             0,
[codex:671563]             payable(msg.sender)
[codex:671563]         );
[codex:671563] 
[codex:671563]         // Add extra value to buy NFTs
[codex:671563]         outputAmount += inputAmount;
[codex:671563] 
[codex:671563]         // Swap ERC20 for specific NFTs
[codex:671563]         // cost <= maxCost = outputAmount - minOutput, so outputAmount' = outputAmount - cost >= minOutput
[codex:671563]         // input tokens are taken directly from msg.sender
[codex:671563]         outputAmount =
[codex:671563]             _swapERC20ForSpecificNFTs(
[codex:671563]                 trade.tokenToNFTTrades,
[codex:671563]                 outputAmount - minOutput,
[codex:671563]                 nftRecipient
[codex:671563]             ) +
[codex:671563]             minOutput;
[codex:671563]     }
[codex:671563] 
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '2800,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]                 unchecked {
[codex:671563]                     ++i;
[codex:671563]                 }
[codex:671563]             }
[codex:671563]         }
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]         @notice Buys NFTs with ERC20, and sells them for tokens in one transaction
[codex:671563]         @param params All the parameters for the swap (packed in struct to avoid stack too deep), containing:
[codex:671563]         - ethToNFTSwapList The list of NFTs to buy
[codex:671563]         - nftToTokenSwapList The list of NFTs to sell
[codex:671563]         - inputAmount The max amount of tokens to send (if ERC20)
[codex:671563]         - tokenRecipient The address that receives tokens from the NFTs sold
[codex:671563]         - nftRecipient The address that receives NFTs
[codex:671563]         - deadline UNIX timestamp deadline for the swap
[codex:671563]      */
[codex:671563]     function robustSwapERC20ForSpecificNFTsAndNFTsToToken(
[codex:671563]         RobustPairNFTsFoTokenAndTokenforNFTsTrade calldata params
[codex:671563]     ) external payable returns (uint256 remainingValue, uint256 outputAmount) {
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '3200,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563] 
[codex:671563] contract CurveErrorCodes {
[codex:671563]     enum Error {
[codex:671563]         OK, // No error
[codex:671563]         INVALID_NUMITEMS, // The numItem value is 0
[codex:671563]         SPOT_PRICE_OVERFLOW // The updated spot price doesn't fit into 128 bits
[codex:671563]     }
[codex:671563] }
[codex:671563] 
[codex:671563] ================================================================================
[codex:671563] FILE: contracts/contracts/bonding-curves/ICurve.sol
[codex:671563] ================================================================================
[codex:671563] // SPDX-License-Identifier: AGPL-3.0
[codex:671563] pragma solidity ^0.8.0;
[codex:671563] 
[codex:671563] import {CurveErrorCodes} from "./CurveErrorCodes.sol";
[codex:671563] 
[codex:671563] interface ICurve {
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Finishing reading AUDIT_BUNDLE file**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '3600,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]         address,
[codex:671563]         address,
[codex:671563]         uint256,
[codex:671563]         uint256,
[codex:671563]         bytes memory
[codex:671563]     ) public virtual override returns (bytes4) {
[codex:671563]         return this.onERC1155Received.selector;
[codex:671563]     }
[codex:671563] 
[codex:671563]     function onERC1155BatchReceived(
[codex:671563]         address,
[codex:671563]         address,
[codex:671563]         uint256[] memory,
[codex:671563]         uint256[] memory,
[codex:671563]         bytes memory
[codex:671563]     ) public virtual override returns (bytes4) {
[codex:671563]         return this.onERC1155BatchReceived.selector;
[codex:671563]     }
[codex:671563] }
[codex:671563] 
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Finishing review**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4000,4400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] 
[codex:671563]             if (lastIndex != toDeleteIndex) {
[codex:671563]                 bytes32 lastvalue = set._values[lastIndex];
[codex:671563] 
[codex:671563]                 // Move the last value to the index where the value to delete is
[codex:671563]                 set._values[toDeleteIndex] = lastvalue;
[codex:671563]                 // Update the index for the moved value
[codex:671563]                 set._indexes[lastvalue] = valueIndex; // Replace lastvalue's index to valueIndex
[codex:671563]             }
[codex:671563] 
[codex:671563]             // Delete the slot where the moved value was stored
[codex:671563]             set._values.pop();
[codex:671563] 
[codex:671563]             // Delete the index for the deleted slot
[codex:671563]             delete set._indexes[value];
[codex:671563] 
[codex:671563]             return true;
[codex:671563]         } else {
[codex:671563]             return false;
[codex:671563]         }
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Finishing file review**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4400,4800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]         external
[codex:671563]         view
[codex:671563]         returns (uint256);
[codex:671563] 
[codex:671563]     /**
[codex:671563]      * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}.
[codex:671563]      *
[codex:671563]      * Requirements:
[codex:671563]      *
[codex:671563]      * - `accounts` and `ids` must have the same length.
[codex:671563]      */
[codex:671563]     function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids)
[codex:671563]         external
[codex:671563]         view
[codex:671563]         returns (uint256[] memory);
[codex:671563] 
[codex:671563]     /**
[codex:671563]      * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`,
[codex:671563]      *
[codex:671563]      * Emits an {ApprovalForAll} event.
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Finishing reading file**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '4800,5200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563]     function owner() public view virtual returns (address) {
[codex:671563]         return _owner;
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]      * @dev Throws if called by any account other than the owner.
[codex:671563]      */
[codex:671563]     modifier onlyOwner() {
[codex:671563]         require(owner() == _msgSender(), "Ownable: caller is not the owner");
[codex:671563]         _;
[codex:671563]     }
[codex:671563] 
[codex:671563]     /**
[codex:671563]      * @dev Leaves the contract without owner. It will not be possible to call
[codex:671563]      * `onlyOwner` functions anymore. Can only be called by the current owner.
[codex:671563]      *
[codex:671563]      * NOTE: Renouncing ownership will leave the contract without an owner,
[codex:671563]      * thereby removing any functionality that is only available to the owner.
[codex:671563]      */
[codex:671563]     function renounceOwnership() public virtual onlyOwner {
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Continuing inspection**
[codex:671563] exec
[codex:671563] /bin/bash -lc "sed -n '5200,5600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-u2496ux6 succeeded in 6ms:
[codex:671563] 
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Analyzing Sudoswap V2 for vulnerabilities**
[codex:671563] exec
[codex:671563] /bin/bash -lc 'rg -n "LSSVMPairCloner" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-u2496ux6 succeeded in 15ms:
[codex:671563] 751:        @dev Used internally to grab pair parameters from calldata, see LSSVMPairCloner for technical details
[codex:671563] 947:        @dev See LSSVMPairCloner for an explanation on how this works
[codex:671563] 1065:    // @dev see LSSVMPairCloner for params length calculation
[codex:671563] 1175:    // @dev see LSSVMPairCloner for params length calculation
[codex:671563] 1406:import {LSSVMPairCloner} from "./lib/LSSVMPairCloner.sol";
[codex:671563] 1414:    using LSSVMPairCloner for address;
[codex:671563] 1631:                LSSVMPairCloner.isERC20PairClone(
[codex:671563] 1638:                LSSVMPairCloner.isERC20PairClone(
[codex:671563] 1645:                LSSVMPairCloner.isETHPairClone(
[codex:671563] 1652:                LSSVMPairCloner.isETHPairClone(
[codex:671563] 
[codex:671563] 
[codex:671563] 
[codex:671563] 
[codex:671563] thinking
[codex:671563] **Analyzing pair cloning vulnerability risks**
[codex:671563] thinking
[codex:671563] **Examining attack feasibility via router and pairs**
[codex:671563] 
[codex:671563] This analysis walks through how an attacker might trick users into calling the router with a malicious pair, enabling token or NFT transfers under the guise of legitimate swaps. It highlights that exploiting the router requires victim interaction, as critical checks ensure only allowed router addresses can trigger sensitive functions, and that isPair alone can be bypassed by deploying clone contracts. However, stealing value without user involvement appears blocked by router permission checks, making the attack mainly reliant on social engineering or careful manipulation of swap parameters.
[codex:671563] thinking
[codex:671563] **Investigating permission checks and reentrancy risks**
[codex:671563] 
[codex:671563] I’m exploring whether attackers can misuse call permissions or delegatecalls to bypass ownership or router restrictions, and whether reentrancy gaps exist in ETH refunds or NFT ownership checks. I’m also analyzing how assetRecipient and pool initialization behave to spot any unexpected access or state control issues. Overall, the contract’s layered checks seem robust, but small edge cases around delegatecalls, refund handling, and initializations deserve close attention.
[codex:671563] thinking
[codex:671563] **Concluding no clear exploit path**
[codex:671563] 
[codex:671563] I've carefully reviewed initialization patterns, router logic, token transfer checks, and possible reentrancy points, focusing on concrete profit extraction routes. While there are theoretical concerns about malicious ERC20 tokens or uninitialized templates, I find no definitive exploit paths to siphon value under expected usage. Therefore, I’m ready to report no concrete vulnerabilities here.
[codex:671563] codex
[codex:671563] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.","findings":[]}
[codex:671563] tokens used
[codex:671563] 68,965
[codex:671563] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T16:40:46.997238+00:00",
        "returncode": 0
    },
    "summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.",
    "raw_final": {
        "summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path identified under the stated constraints.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
11
EXT*/BALANCE
7
Total opcodes
4376
Flags
create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x014e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x715018a6
00000019: GT
0000001a: PUSH2 0x00b6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xad2e5770
00000024: GT
00000025: PUSH2 0x006f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xad2e5770
0000002f: EQ
00000030: PUSH2 0x044c
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xb483eddc
0000003a: EQ
0000003b: PUSH2 0x0480
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xcc5bc20b
00000045: EQ
00000046: PUSH2 0x0495
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xce9c095d
00000050: EQ
00000051: PUSH2 0x04b5
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xebd0f693
0000005b: EQ
0000005c: PUSH2 0x04c8
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf2fde38b
00000066: EQ
00000067: PUSH2 0x04e8
0000006a: JUMPI
0000006b: PUSH1 0x00
0000006d: DUP1
0000006e: REVERT
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0x715018a6
00000076: EQ
00000077: PUSH2 0x0345
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x8da5cb5b
00000081: EQ
00000082: PUSH2 0x035a
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x9c3c11d2
0000008c: EQ
0000008d: PUSH2 0x0378
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xa427f1ad
00000097: EQ
00000098: PUSH2 0x0398
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xa82719c8
000000a2: EQ
000000a3: PUSH2 0x03cc
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xa93ec68b
000000ad: EQ
000000ae: PUSH2 0x03fc
000000b1: JUMPI
000000b2: PUSH1 0x00
000000b4: DUP1
000000b5: REVERT
000000b6: JUMPDEST
000000b7: DUP1
000000b8: PUSH4 0x4bf107c1
000000bd: GT
000000be: PUSH2 0x0108
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x4bf107c1
000000c8: EQ
000000c9: PUSH2 0x0271
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x4c6bc433
000000d3: EQ
000000d4: PUSH2 0x0291
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x514f0330
000000de: EQ
000000df: PUSH2 0x02c5
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x59722caa
000000e9: EQ
000000ea: PUSH2 0x02e5
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x64df049e
000000f4: EQ
000000f5: PUSH2 0x0305
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x6cc88edb
000000ff: EQ
00000100: PUSH2 0x0325
00000103: JUMPI
00000104: PUSH1 0x00
00000106: DUP1
00000107: REVERT
00000108: JUMPDEST
00000109: DUP1
0000010a: PUSH3 0x4885ea
0000010e: EQ
0000010f: PUSH2 0x015a
00000112: JUMPI
00000113: DUP1
00000114: PUSH4 0x08f25a8f
00000119: EQ
0000011a: PUSH2 0x01ab
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x1cad5a40
00000124: EQ
00000125: PUSH2 0x01db
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x1ce4c78b
0000012f: EQ
00000130: PUSH2 0x01fd
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x1fba95e8
0000013a: EQ
0000013b: PUSH2 0x0221
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x2cdb394b
00000145: EQ
00000146: PUSH2 0x0251
00000149: JUMPI
0000014a: PUSH1 0x00
0000014c: DUP1
0000014d: REVERT
0000014e: JUMPDEST
0000014f: CALLDATASIZE
00000150: PUSH2 0x0155
00000153: JUMPI
00000154: STOP
00000155: JUMPDEST
00000156: PUSH1 0x00
00000158: DUP1
00000159: REVERT
0000015a: JUMPDEST
0000015b: CALLVALUE
0000015c: DUP1
0000015d: ISZERO
0000015e: PUSH2 0x0166
00000161: JUMPI
00000162: PUSH1 0x00
00000164: DUP1
00000165: REVERT
00000166: JUMPDEST
00000167: POP
00000168: PUSH2 0x018e
0000016b: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56
0000018c: DUP2
0000018d: JUMP
0000018e: JUMPDEST
0000018f: PUSH1 0x40
00000191: MLOAD
00000192: PUSH1 0x01
00000194: PUSH1 0x01
00000196: PUSH1 0xa0
00000198: SHL
00000199: SUB
0000019a: SWAP1
0000019b: SWAP2
0000019c: AND
0000019d: DUP2
0000019e: MSTORE
0000019f: PUSH1 0x20
000001a1: ADD
000001a2: JUMPDEST
000001a3: PUSH1 0x40
000001a5: MLOAD
000001a6: DUP1
000001a7: SWAP2
000001a8: SUB
000001a9: SWAP1
000001aa: RETURN
000001ab: JUMPDEST
000001ac: CALLVALUE
000001ad: DUP1
000001ae: ISZERO
000001af: PUSH2 0x01b7
000001b2: JUMPI
000001b3: PUSH1 0x00
000001b5: DUP1
000001b6: REVERT
000001b7: JUMPDEST
000001b8: POP
000001b9: PUSH2 0x01cb
000001bc: PUSH2 0x01c6
000001bf: CALLDATASIZE
000001c0: PUSH1 0x04
000001c2: PUSH2 0x1872
000001c5: JUMP
000001c6: JUMPDEST
000001c7: PUSH2 0x0508
000001ca: JUMP
000001cb: JUMPDEST
000001cc: PUSH1 0x40
000001ce: MLOAD
000001cf: SWAP1
000001d0: ISZERO
000001d1: ISZERO
000001d2: DUP2
000001d3: MSTORE
000001d4: PUSH1 0x20
000001d6: ADD
000001d7: PUSH2 0x01a2
000001da: JUMP
000001db: JUMPDEST
000001dc: CALLVALUE
000001dd: DUP1
000001de: ISZERO
000001df: PUSH2 0x01e7
000001e2: JUMPI
000001e3: PUSH1 0x00
000001e5: DUP1
000001e6: REVERT
000001e7: JUMPDEST
000001e8: POP
000001e9: PUSH2 0x01fb
000001ec: PUSH2 0x01f6
000001ef: CALLDATASIZE
000001f0: PUSH1 0x04
000001f2: PUSH2 0x18af
000001f5: JUMP
000001f6: JUMPDEST
000001f7: PUSH2 0x062b
000001fa: JUMP
000001fb: JUMPDEST
000001fc: STOP
000001fd: JUMPDEST
000001fe: CALLVALUE
000001ff: DUP1
00000200: ISZERO
00000201: PUSH2 0x0209
00000204: JUMPI
00000205: PUSH1 0x00
00000207: DUP1
00000208: REVERT
00000209: JUMPDEST
0000020a: POP
0000020b: PUSH2 0x0213
0000020e: PUSH1 0x02
00000210: SLOAD
00000211: DUP2
00000212: JUMP
00000213: JUMPDEST
00000214: PUSH1 0x40
00000216: MLOAD
00000217: SWAP1
00000218: DUP2
00000219: MSTORE
0000021a: PUSH1 0x20
0000021c: ADD
0000021d: PUSH2 0x01a2
00000220: JUMP
00000221: JUMPDEST
00000222: CALLVALUE
00000223: DUP1
00000224: ISZERO
00000225: PUSH2 0x022d
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: POP
0000022f: PUSH2 0x01cb
00000232: PUSH2 0x023c
00000235: CALLDATASIZE
00000236: PUSH1 0x04
00000238: PUSH2 0x18f0
0000023b: JUMP
0000023c: JUMPDEST
0000023d: PUSH1 0x04
0000023f: PUSH1 0x20
00000241: MSTORE
00000242: PUSH1 0x00
00000244: SWAP1
00000245: DUP2
00000246: MSTORE
00000247: PUSH1 0x40
00000249: SWAP1
0000024a: KECCAK256
0000024b: SLOAD
0000024c: PUSH1 0xff
0000024e: AND
0000024f: DUP2
00000250: JUMP
00000251: JUMPDEST
00000252: CALLVALUE
00000253: DUP1
00000254: ISZERO
00000255: PUSH2 0x025d
00000258: JUMPI
00000259: PUSH1 0x00
0000025b: DUP1
0000025c: REVERT
0000025d: JUMPDEST
0000025e: POP
0000025f: PUSH2 0x01fb
00000262: PUSH2 0x026c
00000265: CALLDATASIZE
00000266: PUSH1 0x04
00000268: PUSH2 0x1960
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH2 0x071d
00000270: JUMP
00000271: JUMPDEST
00000272: CALLVALUE
00000273: DUP1
00000274: ISZERO
00000275: PUSH2 0x027d
00000278: JUMPI
00000279: PUSH1 0x00
0000027b: DUP1
0000027c: REVERT
0000027d: JUMPDEST
0000027e: POP
0000027f: PUSH2 0x01fb
00000282: PUSH2 0x028c
00000285: CALLDATASIZE
00000286: PUSH1 0x04
00000288: PUSH2 0x19d6
0000028b: JUMP
0000028c: JUMPDEST
0000028d: PUSH2 0x084e
00000290: JUMP
00000291: JUMPDEST
00000292: CALLVALUE
00000293: DUP1
00000294: ISZERO
00000295: PUSH2 0x029d
00000298: JUMPI
00000299: PUSH1 0x00
0000029b: DUP1
0000029c: REVERT
0000029d: JUMPDEST
0000029e: POP
0000029f: PUSH2 0x018e
000002a2: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22
000002c3: DUP2
000002c4: JUMP
000002c5: JUMPDEST
000002c6: CALLVALUE
000002c7: DUP1
000002c8: ISZERO
000002c9: PUSH2 0x02d1
000002cc: JUMPI
000002cd: PUSH1 0x00
000002cf: DUP1
000002d0: REVERT
000002d1: JUMPDEST
000002d2: POP
000002d3: PUSH2 0x01fb
000002d6: PUSH2 0x02e0
000002d9: CALLDATASIZE
000002da: PUSH1 0x04
000002dc: PUSH2 0x18f0
000002df: JUMP
000002e0: JUMPDEST
000002e1: PUSH2 0x08e5
000002e4: JUMP
000002e5: JUMPDEST
000002e6: CALLVALUE
000002e7: DUP1
000002e8: ISZERO
000002e9: PUSH2 0x02f1
000002ec: JUMPI
000002ed: PUSH1 0x00
000002ef: DUP1
000002f0: REVERT
000002f1: JUMPDEST
000002f2: POP
000002f3: PUSH2 0x018e
000002f6: PUSH2 0x0300
000002f9: CALLDATASIZE
000002fa: PUSH1 0x04
000002fc: PUSH2 0x1a04
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH2 0x09a6
00000304: JUMP
00000305: JUMPDEST
00000306: CALLVALUE
00000307: DUP1
00000308: ISZERO
00000309: PUSH2 0x0311
0000030c: JUMPI
0000030d: PUSH1 0x00
0000030f: DUP1
00000310: REVERT
00000311: JUMPDEST
00000312: POP
00000313: PUSH1 0x01
00000315: SLOAD
00000316: PUSH2 0x018e
00000319: SWAP1
0000031a: PUSH1 0x01
0000031c: PUSH1 0x01
0000031e: PUSH1 0xa0
00000320: SHL
00000321: SUB
00000322: AND
00000323: DUP2
00000324: JUMP
00000325: JUMPDEST
00000326: CALLVALUE
00000327: DUP1
00000328: ISZERO
00000329: PUSH2 0x0331
0000032c: JUMPI
0000032d: PUSH1 0x00
0000032f: DUP1
00000330: REVERT
00000331: JUMPDEST
00000332: POP
00000333: PUSH2 0x01fb
00000336: PUSH2 0x0340
00000339: CALLDATASIZE
0000033a: PUSH1 0x04
0000033c: PUSH2 0x19d6
0000033f: JUMP
00000340: JUMPDEST
00000341: PUSH2 0x0c40
00000344: JUMP
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x01fb
00000356: PUSH2 0x0d54
00000359: JUMP
0000035a: JUMPDEST
0000035b: CALLVALUE
0000035c: DUP1
0000035d: ISZERO
0000035e: PUSH2 0x0366
00000361: JUMPI
00000362: PUSH1 0x00
00000364: DUP1
00000365: REVERT
00000366: JUMPDEST
00000367: POP
00000368: PUSH1 0x00
0000036a: SLOAD
0000036b: PUSH1 0x01
0000036d: PUSH1 0x01
0000036f: PUSH1 0xa0
00000371: SHL
00000372: SUB
00000373: AND
00000374: PUSH2 0x018e
00000377: JUMP
00000378: JUMPDEST
00000379: CALLVALUE
0000037a: DUP1
0000037b: ISZERO
0000037c: PUSH2 0x0384
0000037f: JUMPI
00000380: PUSH1 0x00
00000382: DUP1
00000383: REVERT
00000384: JUMPDEST
00000385: POP
00000386: PUSH2 0x01fb
00000389: PUSH2 0x0393
0000038c: CALLDATASIZE
0000038d: PUSH1 0x04
0000038f: PUSH2 0x1a40
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH2 0x0d8a
00000397: JUMP
00000398: JUMPDEST
00000399: CALLVALUE
0000039a: DUP1
0000039b: ISZERO
0000039c: PUSH2 0x03a4
0000039f: JUMPI
000003a0: PUSH1 0x00
000003a2: DUP1
000003a3: REVERT
000003a4: JUMPDEST
000003a5: POP
000003a6: PUSH2 0x018e
000003a9: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb
000003ca: DUP2
000003cb: JUMP
000003cc: JUMPDEST
000003cd: CALLVALUE
000003ce: DUP1
000003cf: ISZERO
000003d0: PUSH2 0x03d8
000003d3: JUMPI
000003d4: PUSH1 0x00
000003d6: DUP1
000003d7: REVERT
000003d8: JUMPDEST
000003d9: POP
000003da: PUSH2 0x01cb
000003dd: PUSH2 0x03e7
000003e0: CALLDATASIZE
000003e1: PUSH1 0x04
000003e3: PUSH2 0x18f0
000003e6: JUMP
000003e7: JUMPDEST
000003e8: PUSH1 0x03
000003ea: PUSH1 0x20
000003ec: MSTORE
000003ed: PUSH1 0x00
000003ef: SWAP1
000003f0: DUP2
000003f1: MSTORE
000003f2: PUSH1 0x40
000003f4: SWAP1
000003f5: KECCAK256
000003f6: SLOAD
000003f7: PUSH1 0xff
000003f9: AND
000003fa: DUP2
000003fb: JUMP
000003fc: JUMPDEST
000003fd: CALLVALUE
000003fe: DUP1
000003ff: ISZERO
00000400: PUSH2 0x0408
00000403: JUMPI
00000404: PUSH1 0x00
00000406: DUP1
00000407: REVERT
00000408: JUMPDEST
00000409: POP
0000040a: PUSH2 0x0435
0000040d: PUSH2 0x0417
00000410: CALLDATASIZE
00000411: PUSH1 0x04
00000413: PUSH2 0x18f0
00000416: JUMP
00000417: JUMPDEST
00000418: PUSH1 0x05
0000041a: PUSH1 0x20
0000041c: MSTORE
0000041d: PUSH1 0x00
0000041f: SWAP1
00000420: DUP2
00000421: MSTORE
00000422: PUSH1 0x40
00000424: SWAP1
00000425: KECCAK256
00000426: SLOAD
00000427: PUSH1 0xff
00000429: DUP1
0000042a: DUP3
0000042b: AND
0000042c: SWAP2
0000042d: PUSH2 0x0100
00000430: SWAP1
00000431: DIV
00000432: AND
00000433: DUP3
00000434: JUMP
00000435: JUMPDEST
00000436: PUSH1 0x40
00000438: DUP1
00000439: MLOAD
0000043a: SWAP3
0000043b: ISZERO
0000043c: ISZERO
0000043d: DUP4
0000043e: MSTORE
0000043f: SWAP1
00000440: ISZERO
00000441: ISZERO
00000442: PUSH1 0x20
00000444: DUP4
00000445: ADD
00000446: MSTORE
00000447: ADD
00000448: PUSH2 0x01a2
0000044b: JUMP
0000044c: JUMPDEST
0000044d: CALLVALUE
0000044e: DUP1
0000044f: ISZERO
00000450: PUSH2 0x0458
00000453: JUMPI
00000454: PUSH1 0x00
00000456: DUP1
00000457: REVERT
00000458: JUMPDEST
00000459: POP
0000045a: PUSH2 0x018e
0000045d: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05
0000047e: DUP2
0000047f: JUMP
00000480: JUMPDEST
00000481: CALLVALUE
00000482: DUP1
00000483: ISZERO
00000484: PUSH2 0x048c
00000487: JUMPI
00000488: PUSH1 0x00
0000048a: DUP1
0000048b: REVERT
0000048c: JUMPDEST
0000048d: POP
0000048e: PUSH2 0x01fb
00000491: PUSH2 0x0e31
00000494: JUMP
00000495: JUMPDEST
00000496: CALLVALUE
00000497: DUP1
00000498: ISZERO
00000499: PUSH2 0x04a1
0000049c: JUMPI
0000049d: PUSH1 0x00
0000049f: DUP1
000004a0: REVERT
000004a1: JUMPDEST
000004a2: POP
000004a3: PUSH2 0x01fb
000004a6: PUSH2 0x04b0
000004a9: CALLDATASIZE
000004aa: PUSH1 0x04
000004ac: PUSH2 0x1a59
000004af: JUMP
000004b0: JUMPDEST
000004b1: PUSH2 0x0e71
000004b4: JUMP
000004b5: JUMPDEST
000004b6: PUSH2 0x018e
000004b9: PUSH2 0x04c3
000004bc: CALLDATASIZE
000004bd: PUSH1 0x04
000004bf: PUSH2 0x1acc
000004c2: JUMP
000004c3: JUMPDEST
000004c4: PUSH2 0x0eb9
000004c7: JUMP
000004c8: JUMPDEST
000004c9: CALLVALUE
000004ca: DUP1
000004cb: ISZERO
000004cc: PUSH2 0x04d4
000004cf: JUMPI
000004d0: PUSH1 0x00
000004d2: DUP1
000004d3: REVERT
000004d4: JUMPDEST
000004d5: POP
000004d6: PUSH2 0x01fb
000004d9: PUSH2 0x04e3
000004dc: CALLDATASIZE
000004dd: PUSH1 0x04
000004df: PUSH2 0x19d6
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH2 0x108e
000004e7: JUMP
000004e8: JUMPDEST
000004e9: CALLVALUE
000004ea: DUP1
000004eb: ISZERO
000004ec: PUSH2 0x04f4
000004ef: JUMPI
000004f0: PUSH1 0x00
000004f2: DUP1
000004f3: REVERT
000004f4: JUMPDEST
000004f5: POP
000004f6: PUSH2 0x01fb
000004f9: PUSH2 0x0503
000004fc: CALLDATASIZE
000004fd: PUSH1 0x04
000004ff: PUSH2 0x18f0
00000502: JUMP
00000503: JUMPDEST
00000504: PUSH2 0x117c
00000507: JUMP
00000508: JUMPDEST
00000509: PUSH1 0x00
0000050b: PUSH1 0x02
0000050d: DUP3
0000050e: PUSH1 0x03
00000510: DUP2
00000511: GT
00000512: ISZERO
00000513: PUSH2 0x051e
00000516: JUMPI
00000517: PUSH2 0x051e
0000051a: PUSH2 0x1b8d
0000051d: JUMP
0000051e: JUMPDEST
0000051f: SUB
00000520: PUSH2 0x0555
00000523: JUMPI
00000524: PUSH2 0x054e
00000527: ADDRESS
00000528: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb
00000549: DUP6
0000054a: PUSH2 0x1217
0000054d: JUMP
0000054e: JUMPDEST
0000054f: SWAP1
00000550: POP
00000551: PUSH2 0x0625
00000554: JUMP
00000555: JUMPDEST
00000556: PUSH1 0x03
00000558: DUP3
00000559: PUSH1 0x03
0000055b: DUP2
0000055c: GT
0000055d: ISZERO
0000055e: PUSH2 0x0569
00000561: JUMPI
00000562: PUSH2 0x0569
00000565: PUSH2 0x1b8d
00000568: JUMP
00000569: JUMPDEST
0000056a: SUB
0000056b: PUSH2 0x0599
0000056e: JUMPI
0000056f: PUSH2 0x054e
00000572: ADDRESS
00000573: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22
00000594: DUP6
00000595: PUSH2 0x1217
00000598: JUMP
00000599: JUMPDEST
0000059a: PUSH1 0x00
0000059c: DUP3
0000059d: PUSH1 0x03
0000059f: DUP2
000005a0: GT
000005a1: ISZERO
000005a2: PUSH2 0x05ad
000005a5: JUMPI
000005a6: PUSH2 0x05ad
000005a9: PUSH2 0x1b8d
000005ac: JUMP
000005ad: JUMPDEST
000005ae: SUB
000005af: PUSH2 0x05dd
000005b2: JUMPI
000005b3: PUSH2 0x054e
000005b6: ADDRESS
000005b7: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05
000005d8: DUP6
000005d9: PUSH2 0x1291
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH1 0x01
000005e0: DUP3
000005e1: PUSH1 0x03
000005e3: DUP2
000005e4: GT
000005e5: ISZERO
000005e6: PUSH2 0x05f1
000005e9: JUMPI
000005ea: PUSH2 0x05f1
000005ed: PUSH2 0x1b8d
000005f0: JUMP
000005f1: JUMPDEST
000005f2: SUB
000005f3: PUSH2 0x0621
000005f6: JUMPI
000005f7: PUSH2 0x054e
000005fa: ADDRESS
000005fb: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56
0000061c: DUP6
0000061d: PUSH2 0x1291
00000620: JUMP
00000621: JUMPDEST
00000622: POP
00000623: PUSH1 0x00
00000625: JUMPDEST
00000626: SWAP3
00000627: SWAP2
00000628: POP
00000629: POP
0000062a: JUMP
0000062b: JUMPDEST
0000062c: PUSH2 0x0640
0000062f: PUSH1 0x01
00000631: PUSH1 0x01
00000633: PUSH1 0xa0
00000635: SHL
00000636: SUB
00000637: DUP5
00000638: AND
00000639: CALLER
0000063a: DUP5
0000063b: DUP5
0000063c: PUSH2 0x130b
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH2 0x064b
00000644: DUP3
00000645: PUSH1 0x02
00000647: PUSH2 0x0508
0000064a: JUMP
0000064b: JUMPDEST
0000064c: DUP1
0000064d: PUSH2 0x065c
00000650: JUMPI
00000651: POP
00000652: PUSH2 0x065c
00000655: DUP3
00000656: PUSH1 0x03
00000658: PUSH2 0x0508
0000065b: JUMP
0000065c: JUMPDEST
0000065d: ISZERO
0000065e: PUSH2 0x0718
00000661: JUMPI
00000662: DUP2
00000663: PUSH1 0x01
00000665: PUSH1 0x01
00000667: PUSH1 0xa0
00000669: SHL
0000066a: SUB
0000066b: AND
0000066c: PUSH4 0xfc0c546a
00000671: PUSH1 0x40
00000673: MLOAD
00000674: DUP2
00000675: PUSH4 0xffffffff
0000067a: AND
0000067b: PUSH1 0xe0
0000067d: SHL
0000067e: DUP2
0000067f: MSTORE
00000680: PUSH1 0x04
00000682: ADD
00000683: PUSH1 0x20
00000685: PUSH1 0x40
00000687: MLOAD
00000688: DUP1
00000689: DUP4
0000068a: SUB
0000068b: DUP2
0000068c: DUP7
0000068d: GAS
0000068e: STATICCALL
0000068f: ISZERO
00000690: DUP1
00000691: ISZERO
00000692: PUSH2 0x069f
00000695: JUMPI
00000696: RETURNDATASIZE
00000697: PUSH1 0x00
00000699: DUP1
0000069a: RETURNDATACOPY
0000069b: RETURNDATASIZE
0000069c: PUSH1 0x00
0000069e: REVERT
0000069f: JUMPDEST
000006a0: POP
000006a1: POP
000006a2: POP
000006a3: POP
000006a4: PUSH1 0x40
000006a6: MLOAD
000006a7: RETURNDATASIZE
000006a8: PUSH1 0x1f
000006aa: NOT
000006ab: PUSH1 0x1f
000006ad: DUP3
000006ae: ADD
000006af: AND
000006b0: DUP3
000006b1: ADD
000006b2: DUP1
000006b3: PUSH1 0x40
000006b5: MSTORE
000006b6: POP
000006b7: DUP2
000006b8: ADD
000006b9: SWAP1
000006ba: PUSH2 0x06c3
000006bd: SWAP2
000006be: SWAP1
000006bf: PUSH2 0x1ba3
000006c2: JUMP
000006c3: JUMPDEST
000006c4: PUSH1 0x01
000006c6: PUSH1 0x01
000006c8: PUSH1 0xa0
000006ca: SHL
000006cb: SUB
000006cc: AND
000006cd: DUP4
000006ce: PUSH1 0x01
000006d0: PUSH1 0x01
000006d2: PUSH1 0xa0
000006d4: SHL
000006d5: SUB
000006d6: AND
000006d7: SUB
000006d8: PUSH2 0x0718
000006db: JUMPI
000006dc: PUSH1 0x40
000006de: MLOAD
000006df: PUSH1 0x01
000006e1: PUSH1 0x01
000006e3: PUSH1 0xa0
000006e5: SHL
000006e6: SUB
000006e7: DUP4
000006e8: AND
000006e9: DUP2
000006ea: MSTORE
000006eb: PUSH32 0x831faf3fbb75c9fc66e318de7e95905d24c0430822da168c1c06fd49cba8f5f7
0000070c: SWAP1
0000070d: PUSH1 0x20
0000070f: ADD
00000710: PUSH1 0x40
00000712: MLOAD
00000713: DUP1
00000714: SWAP2
00000715: SUB
00000716: SWAP1
00000717: LOG1
00000718: JUMPDEST
00000719: POP
0000071a: POP
0000071b: POP
0000071c: JUMP
0000071d: JUMPDEST
0000071e: DUP2
0000071f: PUSH1 0x00
00000721: JUMPDEST
00000722: DUP2
00000723: DUP2
00000724: LT
00000725: ISZERO
00000726: PUSH2 0x07c6
00000729: JUMPI
0000072a: DUP6
0000072b: PUSH1 0x01
0000072d: PUSH1 0x01
0000072f: PUSH1 0xa0
00000731: SHL
00000732: SUB
00000733: AND
00000734: PUSH4 0x42842e0e
00000739: CALLER
0000073a: DUP6
0000073b: DUP9
0000073c: DUP9
0000073d: DUP7
0000073e: DUP2
0000073f: DUP2
00000740: LT
00000741: PUSH2 0x074c
00000744: JUMPI
00000745: PUSH2 0x074c
00000748: PUSH2 0x1bc0
0000074b: JUMP
0000074c: JUMPDEST
0000074d: PUSH1 0x40
0000074f: MLOAD
00000750: PUSH1 0x01
00000752: PUSH1 0x01
00000754: PUSH1 0xe0
00000756: SHL
00000757: SUB
00000758: NOT
00000759: PUSH1 0xe0
0000075b: DUP9
0000075c: SWAP1
0000075d: SHL
0000075e: AND
0000075f: DUP2
00000760: MSTORE
00000761: PUSH1 0x01
00000763: PUSH1 0x01
00000765: PUSH1 0xa0
00000767: SHL
00000768: SUB
00000769: SWAP6
0000076a: DUP7
0000076b: AND
0000076c: PUSH1 0x04
0000076e: DUP3
0000076f: ADD
00000770: MSTORE
00000771: SWAP5
00000772: SWAP1
00000773: SWAP4
00000774: AND
00000775: PUSH1 0x24
00000777: DUP6
00000778: ADD
00000779: MSTORE
0000077a: POP
0000077b: PUSH1 0x20
0000077d: SWAP1
0000077e: SWAP2
0000077f: MUL
00000780: ADD
00000781: CALLDATALOAD
00000782: PUSH1 0x44
00000784: DUP3
00000785: ADD
00000786: MSTORE
00000787: PUSH1 0x64
00000789: ADD
0000078a: PUSH1 0x00
0000078c: PUSH1 0x40
0000078e: MLOAD
0000078f: DUP1
00000790: DUP4
00000791: SUB
00000792: DUP2
00000793: PUSH1 0x00
00000795: DUP8
00000796: DUP1
00000797: EXTCODESIZE
00000798: ISZERO
00000799: DUP1
0000079a: ISZERO
0000079b: PUSH2 0x07a3
0000079e: JUMPI
0000079f: PUSH1 0x00
000007a1: DUP1
000007a2: REVERT
000007a3: JUMPDEST
000007a4: POP
000007a5: GAS
000007a6: CALL
000007a7: ISZERO
000007a8: DUP1
000007a9: ISZERO
000007aa: PUSH2 0x07b7
000007ad: JUMPI
000007ae: RETURNDATASIZE
000007af: PUSH1 0x00
000007b1: DUP1
000007b2: RETURNDATACOPY
000007b3: RETURNDATASIZE
000007b4: PUSH1 0x00
000007b6: REVERT
000007b7: JUMPDEST
000007b8: POP
000007b9: POP
000007ba: POP
000007bb: POP
000007bc: DUP1
000007bd: PUSH1 0x01
000007bf: ADD
000007c0: SWAP1
000007c1: POP
000007c2: PUSH2 0x0721
000007c5: JUMP
000007c6: JUMPDEST
000007c7: POP
000007c8: PUSH2 0x07d2
000007cb: DUP3
000007cc: PUSH1 0x02
000007ce: PUSH2 0x0508
000007d1: JUMP
000007d2: JUMPDEST
000007d3: DUP1
000007d4: PUSH2 0x07e3
000007d7: JUMPI
000007d8: POP
000007d9: PUSH2 0x07e3
000007dc: DUP3
000007dd: PUSH1 0x00
000007df: PUSH2 0x0508
000007e2: JUMP
000007e3: JUMPDEST
000007e4: DUP1
000007e5: PUSH2 0x07f4
000007e8: JUMPI
000007e9: POP
000007ea: PUSH2 0x07f4
000007ed: DUP3
000007ee: PUSH1 0x03
000007f0: PUSH2 0x0508
000007f3: JUMP
000007f4: JUMPDEST
000007f5: DUP1
000007f6: PUSH2 0x0805
000007f9: JUMPI
000007fa: POP
000007fb: PUSH2 0x0805
000007fe: DUP3
000007ff: PUSH1 0x01
00000801: PUSH2 0x0508
00000804: JUMP
00000805: JUMPDEST
00000806: ISZERO
00000807: PUSH2 0x0847
0000080a: JUMPI
0000080b: PUSH1 0x40
0000080d: MLOAD
0000080e: PUSH1 0x01
00000810: PUSH1 0x01
00000812: PUSH1 0xa0
00000814: SHL
00000815: SUB
00000816: DUP4
00000817: AND
00000818: DUP2
00000819: MSTORE
0000081a: PUSH32 0x4fd0cd7c14badac45ff0bee670a9d8dd80e87907afcf2c121e0fd4b8b4b0047f
0000083b: SWAP1
0000083c: PUSH1 0x20
0000083e: ADD
0000083f: PUSH1 0x40
00000841: MLOAD
00000842: DUP1
00000843: SWAP2
00000844: SUB
00000845: SWAP1
00000846: LOG1
00000847: JUMPDEST
00000848: POP
00000849: POP
0000084a: POP
0000084b: POP
0000084c: POP
0000084d: JUMP
0000084e: JUMPDEST
0000084f: PUSH1 0x00
00000851: SLOAD
00000852: PUSH1 0x01
00000854: PUSH1 0x01
00000856: PUSH1 0xa0
00000858: SHL
00000859: SUB
0000085a: AND
0000085b: CALLER
0000085c: EQ
0000085d: PUSH2 0x0881
00000860: JUMPI
00000861: PUSH1 0x40
00000863: MLOAD
00000864: PUSH3 0x461bcd
00000868: PUSH1 0xe5
0000086a: SHL
0000086b: DUP2
0000086c: MSTORE
0000086d: PUSH1 0x04
0000086f: ADD
00000870: PUSH2 0x0878
00000873: SWAP1
00000874: PUSH2 0x1bd6
00000877: JUMP
00000878: JUMPDEST
00000879: PUSH1 0x40
0000087b: MLOAD
0000087c: DUP1
0000087d: SWAP2
0000087e: SUB
0000087f: SWAP1
00000880: REVERT
00000881: JUMPDEST
00000882: PUSH1 0x01
00000884: PUSH1 0x01
00000886: PUSH1 0xa0
00000888: SHL
00000889: SUB
0000088a: DUP3
0000088b: AND
0000088c: PUSH1 0x00
0000088e: DUP2
0000088f: DUP2
00000890: MSTORE
00000891: PUSH1 0x03
00000893: PUSH1 0x20
00000895: SWAP1
00000896: DUP2
00000897: MSTORE
00000898: PUSH1 0x40
0000089a: SWAP2
0000089b: DUP3
0000089c: SWAP1
0000089d: KECCAK256
0000089e: DUP1
0000089f: SLOAD
000008a0: PUSH1 0xff
000008a2: NOT
000008a3: AND
000008a4: DUP6
000008a5: ISZERO
000008a6: ISZERO
000008a7: SWAP1
000008a8: DUP2
000008a9: OR
000008aa: SWAP1
000008ab: SWAP2
000008ac: SSTORE
000008ad: DUP3
000008ae: MLOAD
000008af: SWAP4
000008b0: DUP5
000008b1: MSTORE
000008b2: SWAP1
000008b3: DUP4
000008b4: ADD
000008b5: MSTORE
000008b6: PUSH32 0x1da28d127ec72d2dde6a533c98857664b25cd827680fb1f39f57394c2b444d91
000008d7: SWAP2
000008d8: ADD
000008d9: JUMPDEST
000008da: PUSH1 0x40
000008dc: MLOAD
000008dd: DUP1
000008de: SWAP2
000008df: SUB
000008e0: SWAP1
000008e1: LOG1
000008e2: POP
000008e3: POP
000008e4: JUMP
000008e5: JUMPDEST
000008e6: PUSH1 0x00
000008e8: SLOAD
000008e9: PUSH1 0x01
000008eb: PUSH1 0x01
000008ed: PUSH1 0xa0
000008ef: SHL
000008f0: SUB
000008f1: AND
000008f2: CALLER
000008f3: EQ
000008f4: PUSH2 0x090f
000008f7: JUMPI
000008f8: PUSH1 0x40
000008fa: MLOAD
000008fb: PUSH3 0x461bcd
000008ff: PUSH1 0xe5
00000901: SHL
00000902: DUP2
00000903: MSTORE
00000904: PUSH1 0x04
00000906: ADD
00000907: PUSH2 0x0878
0000090a: SWAP1
0000090b: PUSH2 0x1bd6
0000090e: JUMP
0000090f: JUMPDEST
00000910: PUSH1 0x01
00000912: PUSH1 0x01
00000914: PUSH1 0xa0
00000916: SHL
00000917: SUB
00000918: DUP2
00000919: AND
0000091a: PUSH2 0x0951
0000091d: JUMPI
0000091e: PUSH1 0x40
00000920: MLOAD
00000921: PUSH3 0x461bcd
00000925: PUSH1 0xe5
00000927: SHL
00000928: DUP2
00000929: MSTORE
0000092a: PUSH1 0x20
0000092c: PUSH1 0x04
0000092e: DUP3
0000092f: ADD
00000930: MSTORE
00000931: PUSH1 0x09
00000933: PUSH1 0x24
00000935: DUP3
00000936: ADD
00000937: MSTORE
00000938: PUSH9 0x302061646472657373
00000942: PUSH1 0xb8
00000944: SHL
00000945: PUSH1 0x44
00000947: DUP3
00000948: ADD
00000949: MSTORE
0000094a: PUSH1 0x64
0000094c: ADD
0000094d: PUSH2 0x0878
00000950: JUMP
00000951: JUMPDEST
00000952: PUSH1 0x01
00000954: DUP1
00000955: SLOAD
00000956: PUSH1 0x01
00000958: PUSH1 0x01
0000095a: PUSH1 0xa0
0000095c: SHL
0000095d: SUB
0000095e: NOT
0000095f: AND
00000960: PUSH1 0x01
00000962: PUSH1 0x01
00000964: PUSH1 0xa0
00000966: SHL
00000967: SUB
00000968: DUP4
00000969: AND
0000096a: SWAP1
0000096b: DUP2
0000096c: OR
0000096d: SWAP1
0000096e: SWAP2
0000096f: SSTORE
00000970: PUSH1 0x40
00000972: MLOAD
00000973: SWAP1
00000974: DUP2
00000975: MSTORE
00000976: PUSH32 0xceec08a75d1f3b12c14c6cdc16c081aec1c401c2eac1d8c6ea91e9d73b929211
00000997: SWAP1
00000998: PUSH1 0x20
0000099a: ADD
0000099b: JUMPDEST
0000099c: PUSH1 0x40
0000099e: MLOAD
0000099f: DUP1
000009a0: SWAP2
000009a1: SUB
000009a2: SWAP1
000009a3: LOG1
000009a4: POP
000009a5: JUMP
000009a6: JUMPDEST
000009a7: PUSH1 0x00
000009a9: PUSH1 0x03
000009ab: DUP2
000009ac: PUSH2 0x09bb
000009af: PUSH1 0x60
000009b1: DUP6
000009b2: ADD
000009b3: PUSH1 0x40
000009b5: DUP7
000009b6: ADD
000009b7: PUSH2 0x18f0
000009ba: JUMP
000009bb: JUMPDEST
000009bc: PUSH1 0x01
000009be: PUSH1 0x01
000009c0: PUSH1 0xa0
000009c2: SHL
000009c3: SUB
000009c4: AND
000009c5: DUP2
000009c6: MSTORE
000009c7: PUSH1 0x20
000009c9: DUP2
000009ca: ADD
000009cb: SWAP2
000009cc: SWAP1
000009cd: SWAP2
000009ce: MSTORE
000009cf: PUSH1 0x40
000009d1: ADD
000009d2: PUSH1 0x00
000009d4: KECCAK256
000009d5: SLOAD
000009d6: PUSH1 0xff
000009d8: AND
000009d9: PUSH2 0x0a24
000009dc: JUMPI
000009dd: PUSH1 0x40
000009df: MLOAD
000009e0: PUSH3 0x461bcd
000009e4: PUSH1 0xe5
000009e6: SHL
000009e7: DUP2
000009e8: MSTORE
000009e9: PUSH1 0x20
000009eb: PUSH1 0x04
000009ed: DUP3
000009ee: ADD
000009ef: MSTORE
000009f0: PUSH1 0x1d
000009f2: PUSH1 0x24
000009f4: DUP3
000009f5: ADD
000009f6: MSTORE
000009f7: PUSH32 0x426f6e64696e67206375727665206e6f742077686974656c6973746564000000
00000a18: PUSH1 0x44
00000a1a: DUP3
00000a1b: ADD
00000a1c: MSTORE
00000a1d: PUSH1 0x64
00000a1f: ADD
00000a20: PUSH2 0x0878
00000a23: JUMP
00000a24: JUMPDEST
00000a25: PUSH1 0x00
00000a27: PUSH2 0x0a36
00000a2a: PUSH1 0x40
00000a2c: DUP5
00000a2d: ADD
00000a2e: PUSH1 0x20
00000a30: DUP6
00000a31: ADD
00000a32: PUSH2 0x18f0
00000a35: JUMP
00000a36: JUMPDEST
00000a37: PUSH1 0x40
00000a39: MLOAD
00000a3a: PUSH4 0x01ffc9a7
00000a3f: PUSH1 0xe0
00000a41: SHL
00000a42: DUP2
00000a43: MSTORE
00000a44: PUSH4 0x780e9d63
00000a49: PUSH1 0xe0
00000a4b: SHL
00000a4c: PUSH1 0x04
00000a4e: DUP3
00000a4f: ADD
00000a50: MSTORE
00000a51: PUSH1 0x01
00000a53: PUSH1 0x01
00000a55: PUSH1 0xa0
00000a57: SHL
00000a58: SUB
00000a59: SWAP2
00000a5a: SWAP1
00000a5b: SWAP2
00000a5c: AND
00000a5d: SWAP1
00000a5e: PUSH4 0x01ffc9a7
00000a63: SWAP1
00000a64: PUSH1 0x24
00000a66: ADD
00000a67: PUSH1 0x20
00000a69: PUSH1 0x40
00000a6b: MLOAD
00000a6c: DUP1
00000a6d: DUP4
00000a6e: SUB
00000a6f: DUP2
00000a70: DUP7
00000a71: GAS
00000a72: STATICCALL
00000a73: SWAP3
00000a74: POP
00000a75: POP
00000a76: POP
00000a77: DUP1
00000a78: ISZERO
00000a79: PUSH2 0x0a9f
00000a7c: JUMPI
00000a7d: POP
00000a7e: PUSH1 0x40
00000a80: DUP1
00000a81: MLOAD
00000a82: PUSH1 0x1f
00000a84: RETURNDATASIZE
00000a85: SWAP1
00000a86: DUP2
00000a87: ADD
00000a88: PUSH1 0x1f
00000a8a: NOT
00000a8b: AND
00000a8c: DUP3
00000a8d: ADD
00000a8e: SWAP1
00000a8f: SWAP3
00000a90: MSTORE
00000a91: PUSH2 0x0a9c
00000a94: SWAP2
00000a95: DUP2
00000a96: ADD
00000a97: SWAP1
00000a98: PUSH2 0x1c0b
00000a9b: JUMP
00000a9c: JUMPDEST
00000a9d: PUSH1 0x01
00000a9f: JUMPDEST
00000aa0: PUSH2 0x0aca
00000aa3: JUMPI
00000aa4: POP
00000aa5: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22
00000ac6: PUSH2 0x0b1b
00000ac9: JUMP
00000aca: JUMPDEST
00000acb: DUP1
00000acc: PUSH2 0x0af5
00000acf: JUMPI
00000ad0: PUSH32 0x00000000000000000000000092de3a1511ef22abcf3526c302159882a4755b22
00000af1: PUSH2 0x0b17
00000af4: JUMP
00000af5: JUMPDEST
00000af6: PUSH32 0x000000000000000000000000d42638863462d2f21bb7d4275d7637ee5d5541eb
00000b17: JUMPDEST
00000b18: SWAP2
00000b19: POP
00000b1a: POP
00000b1b: JUMPDEST
00000b1c: PUSH2 0x0b81
00000b1f: ADDRESS
00000b20: PUSH2 0x0b2f
00000b23: PUSH1 0x60
00000b25: DUP7
00000b26: ADD
00000b27: PUSH1 0x40
00000b29: DUP8
00000b2a: ADD
00000b2b: PUSH2 0x18f0
00000b2e: JUMP
00000b2f: JUMPDEST
00000b30: PUSH2 0x0b3f
00000b33: PUSH1 0x40
00000b35: DUP8
00000b36: ADD
00000b37: PUSH1 0x20
00000b39: DUP9
00000b3a: ADD
00000b3b: PUSH2 0x18f0
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: PUSH2 0x0b4f
00000b43: PUSH1 0xa0
00000b45: DUP9
00000b46: ADD
00000b47: PUSH1 0x80
00000b49: DUP10
00000b4a: ADD
00000b4b: PUSH2 0x1c28
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: PUSH1 0x02
00000b52: DUP2
00000b53: GT
00000b54: ISZERO
00000b55: PUSH2 0x0b60
00000b58: JUMPI
00000b59: PUSH2 0x0b60
00000b5c: PUSH2 0x1b8d
00000b5f: JUMP
00000b60: JUMPDEST
00000b61: PUSH2 0x0b6d
00000b64: PUSH1 0x20
00000b66: DUP10
00000b67: ADD
00000b68: DUP10
00000b69: PUSH2 0x18f0
00000b6c: JUMP
00000b6d: JUMPDEST
00000b6e: PUSH1 0x01
00000b70: PUSH1 0x01
00000b72: PUSH1 0xa0
00000b74: SHL
00000b75: SUB
00000b76: DUP8
00000b77: AND
00000b78: SWAP5
00000b79: SWAP4
00000b7a: SWAP3
00000b7b: SWAP2
00000b7c: SWAP1
00000b7d: PUSH2 0x1398
00000b80: JUMP
00000b81: JUMPDEST
00000b82: SWAP2
00000b83: POP
00000b84: PUSH2 0x0bfe
00000b87: DUP3
00000b88: PUSH2 0x0b94
00000b8b: PUSH1 0x20
00000b8d: DUP7
00000b8e: ADD
00000b8f: DUP7
00000b90: PUSH2 0x18f0
00000b93: JUMP
00000b94: JUMPDEST
00000b95: PUSH2 0x0ba4
00000b98: PUSH1 0x40
00000b9a: DUP8
00000b9b: ADD
00000b9c: PUSH1 0x20
00000b9e: DUP9
00000b9f: ADD
00000ba0: PUSH2 0x18f0
00000ba3: JUMP
00000ba4: JUMPDEST
00000ba5: PUSH2 0x0bb4
00000ba8: PUSH1 0x80
00000baa: DUP9
00000bab: ADD
00000bac: PUSH1 0x60
00000bae: DUP10
00000baf: ADD
00000bb0: PUSH2 0x18f0
00000bb3: JUMP
00000bb4: JUMPDEST
00000bb5: PUSH2 0x0bc4
00000bb8: PUSH1 0xc0
00000bba: DUP10
00000bbb: ADD
00000bbc: PUSH1 0xa0
00000bbe: DUP11
00000bbf: ADD
00000bc0: PUSH2 0x1c43
00000bc3: JUMP
00000bc4: JUMPDEST
00000bc5: PUSH2 0x0bd4
00000bc8: PUSH1 0xe0
00000bca: DUP11
00000bcb: ADD
00000bcc: PUSH1 0xc0
00000bce: DUP12
00000bcf: ADD
00000bd0: PUSH2 0x1c5e
00000bd3: JUMP
00000bd4: JUMPDEST
00000bd5: PUSH2 0x0be5
00000bd8: PUSH2 0x0100
00000bdb: DUP12
00000bdc: ADD
00000bdd: PUSH1 0xe0
00000bdf: DUP13
00000be0: ADD
00000be1: PUSH2 0x1c43
00000be4: JUMP
00000be5: JUMPDEST
00000be6: PUSH2 0x0bf3
00000be9: PUSH2 0x0100
00000bec: DUP13
00000bed: ADD
00000bee: DUP13
00000bef: PUSH2 0x1c79
00000bf2: JUMP
00000bf3: JUMPDEST
00000bf4: DUP13
00000bf5: PUSH2 0x0120
00000bf8: ADD
00000bf9: CALLDATALOAD
00000bfa: PUSH2 0x141b
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: PUSH1 0x40
00000c01: MLOAD
00000c02: PUSH1 0x01
00000c04: PUSH1 0x01
00000c06: PUSH1 0xa0
00000c08: SHL
00000c09: SUB
00000c0a: DUP4
00000c0b: AND
00000c0c: DUP2
00000c0d: MSTORE
00000c0e: PUSH32 0xf5bdc103c3e68a20d5f97d2d46792d3fdddfa4efeb6761f8141e6a7b936ca66c
00000c2f: SWAP1
00000c30: PUSH1 0x20
00000c32: ADD
00000c33: PUSH1 0x40
00000c35: MLOAD
00000c36: DUP1
00000c37: SWAP2
00000c38: SUB
00000c39: SWAP1
00000c3a: LOG1
00000c3b: POP
00000c3c: SWAP2
00000c3d: SWAP1
00000c3e: POP
00000c3f: JUMP
00000c40: JUMPDEST
00000c41: PUSH1 0x00
00000c43: SLOAD
00000c44: PUSH1 0x01
00000c46: PUSH1 0x01
00000c48: PUSH1 0xa0
00000c4a: SHL
00000c4b: SUB
00000c4c: AND
00000c4d: CALLER
00000c4e: EQ
00000c4f: PUSH2 0x0c6a
00000c52: JUMPI
00000c53: PUSH1 0x40
00000c55: MLOAD
00000c56: PUSH3 0x461bcd
00000c5a: PUSH1 0xe5
00000c5c: SHL
00000c5d: DUP2
00000c5e: MSTORE
00000c5f: PUSH1 0x04
00000c61: ADD
00000c62: PUSH2 0x0878
00000c65: SWAP1
00000c66: PUSH2 0x1bd6
00000c69: JUMP
00000c6a: JUMPDEST
00000c6b: DUP1
00000c6c: ISZERO
00000c6d: PUSH2 0x0ccd
00000c70: JUMPI
00000c71: PUSH1 0x01
00000c73: PUSH1 0x01
00000c75: PUSH1 0xa0
00000c77: SHL
00000c78: SUB
00000c79: DUP3
00000c7a: AND
00000c7b: PUSH1 0x00
00000c7d: SWAP1
00000c7e: DUP2
00000c7f: MSTORE
00000c80: PUSH1 0x04
00000c82: PUSH1 0x20
00000c84: MSTORE
00000c85: PUSH1 0x40
00000c87: SWAP1
00000c88: KECCAK256
00000c89: SLOAD
00000c8a: PUSH1 0xff
00000c8c: AND
00000c8d: ISZERO
00000c8e: PUSH2 0x0ccd
00000c91: JUMPI
00000c92: PUSH1 0x40
00000c94: MLOAD
00000c95: PUSH3 0x461bcd
00000c99: PUSH1 0xe5
00000c9b: SHL
00000c9c: DUP2
00000c9d: MSTORE
00000c9e: PUSH1 0x20
00000ca0: PUSH1 0x04
00000ca2: DUP3
00000ca3: ADD
00000ca4: MSTORE
00000ca5: PUSH1 0x11
00000ca7: PUSH1 0x24
00000ca9: DUP3
00000caa: ADD
00000cab: MSTORE
00000cac: PUSH17 0x21b0b713ba1031b0b636103937baba32b9
00000cbe: PUSH1 0x79
00000cc0: SHL
00000cc1: PUSH1 0x44
00000cc3: DUP3
00000cc4: ADD
00000cc5: MSTORE
00000cc6: PUSH1 0x64
00000cc8: ADD
00000cc9: PUSH2 0x0878
00000ccc: JUMP
00000ccd: JUMPDEST
00000cce: PUSH1 0x40
00000cd0: DUP1
00000cd1: MLOAD
00000cd2: DUP1
00000cd3: DUP3
00000cd4: ADD
00000cd5: DUP3
00000cd6: MSTORE
00000cd7: DUP3
00000cd8: ISZERO
00000cd9: ISZERO
00000cda: DUP1
00000cdb: DUP3
00000cdc: MSTORE
00000cdd: PUSH1 0x01
00000cdf: PUSH1 0x20
00000ce1: DUP1
00000ce2: DUP5
00000ce3: ADD
00000ce4: SWAP2
00000ce5: DUP3
00000ce6: MSTORE
00000ce7: PUSH1 0x01
00000ce9: PUSH1 0x01
00000ceb: PUSH1 0xa0
00000ced: SHL
00000cee: SUB
00000cef: DUP8
00000cf0: AND
00000cf1: PUSH1 0x00
00000cf3: DUP2
00000cf4: DUP2
00000cf5: MSTORE
00000cf6: PUSH1 0x05
00000cf8: DUP4
00000cf9: MSTORE
00000cfa: DUP7
00000cfb: SWAP1
00000cfc: KECCAK256
00000cfd: SWAP5
00000cfe: MLOAD
00000cff: DUP6
00000d00: SLOAD
00000d01: SWAP4
00000d02: MLOAD
00000d03: PUSH2 0xffff
00000d06: NOT
00000d07: SWAP1
00000d08: SWAP5
00000d09: AND
00000d0a: SWAP1
00000d0b: ISZERO
00000d0c: ISZERO
00000d0d: PUSH2 0xff00
00000d10: NOT
00000d11: AND
00000d12: OR
00000d13: PUSH2 0x0100
00000d16: SWAP4
00000d17: ISZERO
00000d18: ISZERO
00000d19: SWAP4
00000d1a: SWAP1
00000d1b: SWAP4
00000d1c: MUL
00000d1d: SWAP3
00000d1e: SWAP1
00000d1f: SWAP3
00000d20: OR
00000d21: SWAP1
00000d22: SWAP4
00000d23: SSTORE
00000d24: DUP4
00000d25: MLOAD
00000d26: SWAP1
00000d27: DUP2
00000d28: MSTORE
00000d29: SWAP2
00000d2a: DUP3
00000d2b: ADD
00000d2c: MSTORE
00000d2d: PUSH32 0x24e274cfd23919da24a57044266685f5474338837aecdcca3136b2102f78fee5
00000d4e: SWAP2
00000d4f: ADD
00000d50: PUSH2 0x08d9
00000d53: JUMP
00000d54: JUMPDEST
00000d55: PUSH1 0x00
00000d57: SLOAD
00000d58: PUSH1 0x01
00000d5a: PUSH1 0x01
00000d5c: PUSH1 0xa0
00000d5e: SHL
00000d5f: SUB
00000d60: AND
00000d61: CALLER
00000d62: EQ
00000d63: PUSH2 0x0d7e
00000d66: JUMPI
00000d67: PUSH1 0x40
00000d69: MLOAD
00000d6a: PUSH3 0x461bcd
00000d6e: PUSH1 0xe5
00000d70: SHL
00000d71: DUP2
00000d72: MSTORE
00000d73: PUSH1 0x04
00000d75: ADD
00000d76: PUSH2 0x0878
00000d79: SWAP1
00000d7a: PUSH2 0x1bd6
00000d7d: JUMP
00000d7e: JUMPDEST
00000d7f: PUSH2 0x0d88
00000d82: PUSH1 0x00
00000d84: PUSH2 0x154e
00000d87: JUMP
00000d88: JUMPDEST
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: PUSH1 0x00
00000d8d: SLOAD
00000d8e: PUSH1 0x01
00000d90: PUSH1 0x01
00000d92: PUSH1 0xa0
00000d94: SHL
00000d95: SUB
00000d96: AND
00000d97: CALLER
00000d98: EQ
00000d99: PUSH2 0x0db4
00000d9c: JUMPI
00000d9d: PUSH1 0x40
00000d9f: MLOAD
00000da0: PUSH3 0x461bcd
00000da4: PUSH1 0xe5
00000da6: SHL
00000da7: DUP2
00000da8: MSTORE
00000da9: PUSH1 0x04
00000dab: ADD
00000dac: PUSH2 0x0878
00000daf: SWAP1
00000db0: PUSH2 0x1bd6
00000db3: JUMP
00000db4: JUMPDEST
00000db5: PUSH8 0x016345785d8a0000
00000dbe: DUP2
00000dbf: GT
00000dc0: ISZERO
00000dc1: PUSH2 0x0dfc
00000dc4: JUMPI
00000dc5: PUSH1 0x40
00000dc7: MLOAD
00000dc8: PUSH3 0x461bcd
00000dcc: PUSH1 0xe5
00000dce: SHL
00000dcf: DUP2
00000dd0: MSTORE
00000dd1: PUSH1 0x20
00000dd3: PUSH1 0x04
00000dd5: DUP3
00000dd6: ADD
00000dd7: MSTORE
00000dd8: PUSH1 0x0d
00000dda: PUSH1 0x24
00000ddc: DUP3
00000ddd: ADD
00000dde: MSTORE
00000ddf: PUSH13 0x46656520746f6f206c61726765
00000ded: PUSH1 0x98
00000def: SHL
00000df0: PUSH1 0x44
00000df2: DUP3
00000df3: ADD
00000df4: MSTORE
00000df5: PUSH1 0x64
00000df7: ADD
00000df8: PUSH2 0x0878
00000dfb: JUMP
00000dfc: JUMPDEST
00000dfd: PUSH1 0x02
00000dff: DUP2
00000e00: SWAP1
00000e01: SSTORE
00000e02: PUSH1 0x40
00000e04: MLOAD
00000e05: DUP2
00000e06: DUP2
00000e07: MSTORE
00000e08: PUSH32 0x7c5d30e0df5c540841a598b27bd89807223a2e6348125bb4aa74f1a8cb9ce768
00000e29: SWAP1
00000e2a: PUSH1 0x20
00000e2c: ADD
00000e2d: PUSH2 0x099b
00000e30: JUMP
00000e31: JUMPDEST
00000e32: PUSH1 0x00
00000e34: SLOAD
00000e35: PUSH1 0x01
00000e37: PUSH1 0x01
00000e39: PUSH1 0xa0
00000e3b: SHL
00000e3c: SUB
00000e3d: AND
00000e3e: CALLER
00000e3f: EQ
00000e40: PUSH2 0x0e5b
00000e43: JUMPI
00000e44: PUSH1 0x40
00000e46: MLOAD
00000e47: PUSH3 0x461bcd
00000e4b: PUSH1 0xe5
00000e4d: SHL
00000e4e: DUP2
00000e4f: MSTORE
00000e50: PUSH1 0x04
00000e52: ADD
00000e53: PUSH2 0x0878
00000e56: SWAP1
00000e57: PUSH2 0x1bd6
00000e5a: JUMP
00000e5b: JUMPDEST
00000e5c: PUSH1 0x01
00000e5e: SLOAD
00000e5f: PUSH2 0x0d88
00000e62: SWAP1
00000e63: PUSH1 0x01
00000e65: PUSH1 0x01
00000e67: PUSH1 0xa0
00000e69: SHL
00000e6a: SUB
00000e6b: AND
00000e6c: SELFBALANCE
00000e6d: PUSH2 0x159e
00000e70: JUMP
00000e71: JUMPDEST
00000e72: PUSH1 0x00
00000e74: SLOAD
00000e75: PUSH1 0x01
00000e77: PUSH1 0x01
00000e79: PUSH1 0xa0
00000e7b: SHL
00000e7c: SUB
00000e7d: AND
00000e7e: CALLER
00000e7f: EQ
00000e80: PUSH2 0x0e9b
00000e83: JUMPI
00000e84: PUSH1 0x40
00000e86: MLOAD
00000e87: PUSH3 0x461bcd
00000e8b: PUSH1 0xe5
00000e8d: SHL
00000e8e: DUP2
00000e8f: MSTORE
00000e90: PUSH1 0x04
00000e92: ADD
00000e93: PUSH2 0x0878
00000e96: SWAP1
00000e97: PUSH2 0x1bd6
00000e9a: JUMP
00000e9b: JUMPDEST
00000e9c: PUSH1 0x01
00000e9e: SLOAD
00000e9f: PUSH2 0x0eb5
00000ea2: SWAP1
00000ea3: PUSH1 0x01
00000ea5: PUSH1 0x01
00000ea7: PUSH1 0xa0
00000ea9: SHL
00000eaa: SUB
00000eab: DUP5
00000eac: DUP2
00000ead: AND
00000eae: SWAP2
00000eaf: AND
00000eb0: DUP4
00000eb1: PUSH2 0x15ef
00000eb4: JUMP
00000eb5: JUMPDEST
00000eb6: POP
00000eb7: POP
00000eb8: JUMP
00000eb9: JUMPDEST
00000eba: PUSH1 0x01
00000ebc: PUSH1 0x01
00000ebe: PUSH1 0xa0
00000ec0: SHL
00000ec1: SUB
00000ec2: DUP9
00000ec3: AND
00000ec4: PUSH1 0x00
00000ec6: SWAP1
00000ec7: DUP2
00000ec8: MSTORE
00000ec9: PUSH1 0x03
00000ecb: PUSH1 0x20
00000ecd: MSTORE
00000ece: PUSH1 0x40
00000ed0: DUP2
00000ed1: KECCAK256
00000ed2: SLOAD
00000ed3: PUSH1 0xff
00000ed5: AND
00000ed6: PUSH2 0x0f21
00000ed9: JUMPI
00000eda: PUSH1 0x40
00000edc: MLOAD
00000edd: PUSH3 0x461bcd
00000ee1: PUSH1 0xe5
00000ee3: SHL
00000ee4: DUP2
00000ee5: MSTORE
00000ee6: PUSH1 0x20
00000ee8: PUSH1 0x04
00000eea: DUP3
00000eeb: ADD
00000eec: MSTORE
00000eed: PUSH1 0x1d
00000eef: PUSH1 0x24
00000ef1: DUP3
00000ef2: ADD
00000ef3: MSTORE
00000ef4: PUSH32 0x426f6e64696e67206375727665206e6f742077686974656c6973746564000000
00000f15: PUSH1 0x44
00000f17: DUP3
00000f18: ADD
00000f19: MSTORE
00000f1a: PUSH1 0x64
00000f1c: ADD
00000f1d: PUSH2 0x0878
00000f20: JUMP
00000f21: JUMPDEST
00000f22: PUSH1 0x40
00000f24: MLOAD
00000f25: PUSH4 0x01ffc9a7
00000f2a: PUSH1 0xe0
00000f2c: SHL
00000f2d: DUP2
00000f2e: MSTORE
00000f2f: PUSH4 0x780e9d63
00000f34: PUSH1 0xe0
00000f36: SHL
00000f37: PUSH1 0x04
00000f39: DUP3
00000f3a: ADD
00000f3b: MSTORE
00000f3c: PUSH1 0x00
00000f3e: SWAP1
00000f3f: PUSH1 0x01
00000f41: PUSH1 0x01
00000f43: PUSH1 0xa0
00000f45: SHL
00000f46: SUB
00000f47: DUP13
00000f48: AND
00000f49: SWAP1
00000f4a: PUSH4 0x01ffc9a7
00000f4f: SWAP1
00000f50: PUSH1 0x24
00000f52: ADD
00000f53: PUSH1 0x20
00000f55: PUSH1 0x40
00000f57: MLOAD
00000f58: DUP1
00000f59: DUP4
00000f5a: SUB
00000f5b: DUP2
00000f5c: DUP7
00000f5d: GAS
00000f5e: STATICCALL
00000f5f: SWAP3
00000f60: POP
00000f61: POP
00000f62: POP
00000f63: DUP1
00000f64: ISZERO
00000f65: PUSH2 0x0f8b
00000f68: JUMPI
00000f69: POP
00000f6a: PUSH1 0x40
00000f6c: DUP1
00000f6d: MLOAD
00000f6e: PUSH1 0x1f
00000f70: RETURNDATASIZE
00000f71: SWAP1
00000f72: DUP2
00000f73: ADD
00000f74: PUSH1 0x1f
00000f76: NOT
00000f77: AND
00000f78: DUP3
00000f79: ADD
00000f7a: SWAP1
00000f7b: SWAP3
00000f7c: MSTORE
00000f7d: PUSH2 0x0f88
00000f80: SWAP2
00000f81: DUP2
00000f82: ADD
00000f83: SWAP1
00000f84: PUSH2 0x1c0b
00000f87: JUMP
00000f88: JUMPDEST
00000f89: PUSH1 0x01
00000f8b: JUMPDEST
00000f8c: PUSH2 0x0fb6
00000f8f: JUMPI
00000f90: POP
00000f91: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56
00000fb2: PUSH2 0x1007
00000fb5: JUMP
00000fb6: JUMPDEST
00000fb7: DUP1
00000fb8: PUSH2 0x0fe1
00000fbb: JUMPI
00000fbc: PUSH32 0x000000000000000000000000cd80c916b1194beb48abf007d0b79a7238436d56
00000fdd: PUSH2 0x1003
00000fe0: JUMP
00000fe1: JUMPDEST
00000fe2: PUSH32 0x00000000000000000000000008ce97807a81896e85841d74fb7e7b065ab3ef05
00001003: JUMPDEST
00001004: SWAP2
00001005: POP
00001006: POP
00001007: JUMPDEST
00001008: PUSH2 0x1032
0000100b: ADDRESS
0000100c: DUP12
0000100d: DUP14
0000100e: DUP12
0000100f: PUSH1 0x02
00001011: DUP2
00001012: GT
00001013: ISZERO
00001014: PUSH2 0x101f
00001017: JUMPI
00001018: PUSH2 0x101f
0000101b: PUSH2 0x1b8d
0000101e: JUMP
0000101f: JUMPDEST
00001020: PUSH1 0x01
00001022: PUSH1 0x01
00001024: PUSH1 0xa0
00001026: SHL
00001027: SUB
00001028: DUP7
00001029: AND
0000102a: SWAP4
0000102b: SWAP3
0000102c: SWAP2
0000102d: SWAP1
0000102e: PUSH2 0x166e
00001031: JUMP
00001032: JUMPDEST
00001033: SWAP2
00001034: POP
00001035: PUSH2 0x1044
00001038: DUP3
00001039: DUP13
0000103a: DUP12
0000103b: DUP11
0000103c: DUP11
0000103d: DUP11
0000103e: DUP11
0000103f: DUP11
00001040: PUSH2 0x16e7
00001043: JUMP
00001044: JUMPDEST
00001045: PUSH1 0x40
00001047: MLOAD
00001048: PUSH1 0x01
0000104a: PUSH1 0x01
0000104c: PUSH1 0xa0
0000104e: SHL
0000104f: SUB
00001050: DUP4
00001051: AND
00001052: DUP2
00001053: MSTORE
00001054: PUSH32 0xf5bdc103c3e68a20d5f97d2d46792d3fdddfa4efeb6761f8141e6a7b936ca66c
00001075: SWAP1
00001076: PUSH1 0x20
00001078: ADD
00001079: PUSH1 0x40
0000107b: MLOAD
0000107c: DUP1
0000107d: SWAP2
0000107e: SUB
0000107f: SWAP1
00001080: LOG1
00001081: POP
00001082: SWAP10
00001083: SWAP9
00001084: POP
00001085: POP
00001086: POP
00001087: POP
00001088: POP
00001089: POP
0000108a: POP
0000108b: POP
0000108c: POP
0000108d: JUMP
0000108e: JUMPDEST
0000108f: PUSH1 0x00
00001091: SLOAD
00001092: PUSH1 0x01
00001094: PUSH1 0x01
00001096: PUSH1 0xa0
00001098: SHL
00001099: SUB
0000109a: AND
0000109b: CALLER
0000109c: EQ
0000109d: PUSH2 0x10b8
000010a0: JUMPI
000010a1: PUSH1 0x40
000010a3: MLOAD
000010a4: PUSH3 0x461bcd
000010a8: PUSH1 0xe5
000010aa: SHL
000010ab: DUP2
000010ac: MSTORE
000010ad: PUSH1 0x04
000010af: ADD
000010b0: PUSH2 0x0878
000010b3: SWAP1
000010b4: PUSH2 0x1bd6
000010b7: JUMP
000010b8: JUMPDEST
000010b9: DUP1
000010ba: ISZERO
000010bb: PUSH2 0x1120
000010be: JUMPI
000010bf: PUSH1 0x01
000010c1: PUSH1 0x01
000010c3: PUSH1 0xa0
000010c5: SHL
000010c6: SUB
000010c7: DUP3
000010c8: AND
000010c9: PUSH1 0x00
000010cb: SWAP1
000010cc: DUP2
000010cd: MSTORE
000010ce: PUSH1 0x05
000010d0: PUSH1 0x20
000010d2: MSTORE
000010d3: PUSH1 0x40
000010d5: SWAP1
000010d6: KECCAK256
000010d7: SLOAD
000010d8: PUSH2 0x0100
000010db: SWAP1
000010dc: DIV
000010dd: PUSH1 0xff
000010df: AND
000010e0: ISZERO
000010e1: PUSH2 0x1120
000010e4: JUMPI
000010e5: PUSH1 0x40
000010e7: MLOAD
000010e8: PUSH3 0x461bcd
000010ec: PUSH1 0xe5
000010ee: SHL
000010ef: DUP2
000010f0: MSTORE
000010f1: PUSH1 0x20
000010f3: PUSH1 0x04
000010f5: DUP3
000010f6: ADD
000010f7: MSTORE
000010f8: PUSH1 0x11
000010fa: PUSH1 0x24
000010fc: DUP3
000010fd: ADD
000010fe: MSTORE
000010ff: PUSH17 0x21b0b713ba1031b0b636103937baba32b9
00001111: PUSH1 0x79
00001113: SHL
00001114: PUSH1 0x44
00001116: DUP3
00001117: ADD
00001118: MSTORE
00001119: PUSH1 0x64
0000111b: ADD
0000111c: PUSH2 0x0878
0000111f: JUMP
00001120: JUMPDEST
00001121: PUSH1 0x01
00001123: PUSH1 0x01
00001125: PUSH1 0xa0
00001127: SHL
00001128: SUB
00001129: DUP3
0000112a: AND
0000112b: PUSH1 0x00
0000112d: DUP2
0000112e: DUP2
0000112f: MSTORE
00001130: PUSH1 0x04
00001132: PUSH1 0x20
00001134: SWAP1
00001135: DUP2
00001136: MSTORE
00001137: PUSH1 0x40
00001139: SWAP2
0000113a: DUP3
0000113b: SWAP1
0000113c: KECCAK256
0000113d: DUP1
0000113e: SLOAD
0000113f: PUSH1 0xff
00001141: NOT
00001142: AND
00001143: DUP6
00001144: ISZERO
00001145: ISZERO
00001146: SWAP1
00001147: DUP2
00001148: OR
00001149: SWAP1
0000114a: SWAP2
0000114b: SSTORE
0000114c: DUP3
0000114d: MLOAD
0000114e: SWAP4
0000114f: DUP5
00001150: MSTORE
00001151: SWAP1
00001152: DUP4
00001153: ADD
00001154: MSTORE
00001155: PUSH32 0xab2e2e8d21d5efbffb30945e9b6ee1fb43620ef65a228f871f5028bf8a6e004a
00001176: SWAP2
00001177: ADD
00001178: PUSH2 0x08d9
0000117b: JUMP
0000117c: JUMPDEST
0000117d: PUSH1 0x00
0000117f: SLOAD
00001180: PUSH1 0x01
00001182: PUSH1 0x01
00001184: PUSH1 0xa0
00001186: SHL
00001187: SUB
00001188: AND
00001189: CALLER
0000118a: EQ
0000118b: PUSH2 0x11a6
0000118e: JUMPI
0000118f: PUSH1 0x40
00001191: MLOAD
00001192: PUSH3 0x461bcd
00001196: PUSH1 0xe5
00001198: SHL
00001199: DUP2
0000119a: MSTORE
0000119b: PUSH1 0x04
0000119d: ADD
0000119e: PUSH2 0x0878
000011a1: SWAP1
000011a2: PUSH2 0x1bd6
000011a5: JUMP
000011a6: JUMPDEST
000011a7: PUSH1 0x01
000011a9: PUSH1 0x01
000011ab: PUSH1 0xa0
000011ad: SHL
000011ae: SUB
000011af: DUP2
000011b0: AND
000011b1: PUSH2 0x120b
000011b4: JUMPI
000011b5: PUSH1 0x40
000011b7: MLOAD
000011b8: PUSH3 0x461bcd
000011bc: PUSH1 0xe5
000011be: SHL
000011bf: DUP2
000011c0: MSTORE
000011c1: PUSH1 0x20
000011c3: PUSH1 0x04
000011c5: DUP3
000011c6: ADD
000011c7: MSTORE
000011c8: PUSH1 0x26
000011ca: PUSH1 0x24
000011cc: DUP3
000011cd: ADD
000011ce: MSTORE
000011cf: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000011f0: PUSH1 0x44
000011f2: DUP3
000011f3: ADD
000011f4: MSTORE
000011f5: PUSH6 0x646472657373
000011fc: PUSH1 0xd0
000011fe: SHL
000011ff: PUSH1 0x64
00001201: DUP3
00001202: ADD
00001203: MSTORE
00001204: PUSH1 0x84
00001206: ADD
00001207: PUSH2 0x0878
0000120a: JUMP
0000120b: JUMPDEST
0000120c: PUSH2 0x1214
0000120f: DUP2
00001210: PUSH2 0x154e
00001213: JUMP
00001214: JUMPDEST
00001215: POP
00001216: JUMP
00001217: JUMPDEST
00001218: PUSH1 0x00
0000121a: PUSH1 0x40
0000121c: MLOAD
0000121d: PUSH20 0x3d3d3d3d363d3d37605160353639366051013d73
00001232: PUSH1 0x60
00001234: SHL
00001235: DUP2
00001236: MSTORE
00001237: DUP4
00001238: PUSH1 0x60
0000123a: SHL
0000123b: PUSH1 0x14
0000123d: DUP3
0000123e: ADD
0000123f: MSTORE
00001240: PUSH13 0x5af43d3d93803e603357fd5bf3
0000124e: PUSH1 0x98
00001250: SHL
00001251: PUSH1 0x28
00001253: DUP3
00001254: ADD
00001255: MSTORE
00001256: DUP5
00001257: PUSH1 0x60
00001259: SHL
0000125a: PUSH1 0x35
0000125c: DUP3
0000125d: ADD
0000125e: MSTORE
0000125f: PUSH1 0x49
00001261: DUP2
00001262: ADD
00001263: PUSH1 0x49
00001265: PUSH1 0x00
00001267: DUP3
00001268: DUP7
00001269: EXTCODECOPY
0000126a: PUSH1 0x29
0000126c: DUP2
0000126d: ADD
0000126e: MLOAD
0000126f: PUSH1 0x29
00001271: DUP4
00001272: ADD
00001273: MLOAD
00001274: EQ
00001275: PUSH1 0x20
00001277: DUP3
00001278: ADD
00001279: MLOAD
0000127a: PUSH1 0x20
0000127c: DUP5
0000127d: ADD
0000127e: MLOAD
0000127f: EQ
00001280: AND
00001281: DUP2
00001282: MLOAD
00001283: DUP4
00001284: MLOAD
00001285: EQ
00001286: AND
00001287: SWAP3
00001288: POP
00001289: POP
0000128a: POP
0000128b: SWAP4
0000128c: SWAP3
0000128d: POP
0000128e: POP
0000128f: POP
00001290: JUMP
00001291: JUMPDEST
00001292: PUSH1 0x00
00001294: PUSH1 0x40
00001296: MLOAD
00001297: PUSH20 0x3d3d3d3d363d3d37603d6035363936603d013d73
000012ac: PUSH1 0x60
000012ae: SHL
000012af: DUP2
000012b0: MSTORE
000012b1: DUP4
000012b2: PUSH1 0x60
000012b4: SHL
000012b5: PUSH1 0x14
000012b7: DUP3
000012b8: ADD
000012b9: MSTORE
000012ba: PUSH13 0x5af43d3d93803e603357fd5bf3
000012c8: PUSH1 0x98
000012ca: SHL
000012cb: PUSH1 0x28
000012cd: DUP3
000012ce: ADD
000012cf: MSTORE
000012d0: DUP5
000012d1: PUSH1 0x60
000012d3: SHL
000012d4: PUSH1 0x35
000012d6: DUP3
000012d7: ADD
000012d8: MSTORE
000012d9: PUSH1 0x49
000012db: DUP2
000012dc: ADD
000012dd: PUSH1 0x49
000012df: PUSH1 0x00
000012e1: DUP3
000012e2: DUP7
000012e3: EXTCODECOPY
000012e4: PUSH1 0x29
000012e6: DUP2
000012e7: ADD
000012e8: MLOAD
000012e9: PUSH1 0x29
000012eb: DUP4
000012ec: ADD
000012ed: MLOAD
000012ee: EQ
000012ef: PUSH1 0x20
000012f1: DUP3
000012f2: ADD
000012f3: MLOAD
000012f4: PUSH1 0x20
000012f6: DUP5
000012f7: ADD
000012f8: MLOAD
000012f9: EQ
000012fa: AND
000012fb: DUP2
000012fc: MLOAD
000012fd: DUP4
000012fe: MLOAD
000012ff: EQ
00001300: AND
00001301: SWAP3
00001302: POP
00001303: POP
00001304: POP
00001305: SWAP4
00001306: SWAP3
00001307: POP
00001308: POP
00001309: POP
0000130a: JUMP
0000130b: JUMPDEST
0000130c: PUSH1 0x00
0000130e: PUSH1 0x40
00001310: MLOAD
00001311: PUSH4 0x23b872dd
00001316: PUSH1 0xe0
00001318: SHL
00001319: DUP2
0000131a: MSTORE
0000131b: PUSH1 0x01
0000131d: PUSH1 0x01
0000131f: PUSH1 0xa0
00001321: SHL
00001322: SUB
00001323: DUP6
00001324: AND
00001325: PUSH1 0x04
00001327: DUP3
00001328: ADD
00001329: MSTORE
0000132a: PUSH1 0x01
0000132c: PUSH1 0x01
0000132e: PUSH1 0xa0
00001330: SHL
00001331: SUB
00001332: DUP5
00001333: AND
00001334: PUSH1 0x24
00001336: DUP3
00001337: ADD
00001338: MSTORE
00001339: DUP3
0000133a: PUSH1 0x44
0000133c: DUP3
0000133d: ADD
0000133e: MSTORE
0000133f: PUSH1 0x00
00001341: DUP1
00001342: PUSH1 0x64
00001344: DUP4
00001345: PUSH1 0x00
00001347: DUP11
00001348: GAS
00001349: CALL
0000134a: SWAP2
0000134b: POP
0000134c: POP
0000134d: PUSH2 0x1355
00001350: DUP2
00001351: PUSH2 0x1816
00001354: JUMP
00001355: JUMPDEST
00001356: PUSH2 0x0847
00001359: JUMPI
0000135a: PUSH1 0x40
0000135c: MLOAD
0000135d: PUSH3 0x461bcd
00001361: PUSH1 0xe5
00001363: SHL
00001364: DUP2
00001365: MSTORE
00001366: PUSH1 0x20
00001368: PUSH1 0x04
0000136a: DUP3
0000136b: ADD
0000136c: MSTORE
0000136d: PUSH1 0x14
0000136f: PUSH1 0x24
00001371: DUP3
00001372: ADD
00001373: MSTORE
00001374: PUSH20 0x1514905394d1915497d19493d357d19052531151
00001389: PUSH1 0x62
0000138b: SHL
0000138c: PUSH1 0x44
0000138e: DUP3
0000138f: ADD
00001390: MSTORE
00001391: PUSH1 0x64
00001393: ADD
00001394: PUSH2 0x0878
00001397: JUMP
00001398: JUMPDEST
00001399: PUSH1 0x00
0000139b: PUSH1 0x40
0000139d: MLOAD
0000139e: PUSH32 0x60863d8160093d39f33d3d3d3d363d3d37605160353639366051013d73000000
000013bf: DUP2
000013c0: MSTORE
000013c1: DUP8
000013c2: PUSH1 0x60
000013c4: SHL
000013c5: PUSH1 0x1d
000013c7: DUP3
000013c8: ADD
000013c9: MSTORE
000013ca: PUSH13 0x5af43d3d93803e603357fd5bf3
000013d8: PUSH1 0x98
000013da: SHL
000013db: PUSH1 0x31
000013dd: DUP3
000013de: ADD
000013df: MSTORE
000013e0: DUP7
000013e1: PUSH1 0x60
000013e3: SHL
000013e4: PUSH1 0x3e
000013e6: DUP3
000013e7: ADD
000013e8: MSTORE
000013e9: DUP6
000013ea: PUSH1 0x60
000013ec: SHL
000013ed: PUSH1 0x52
000013ef: DUP3
000013f0: ADD
000013f1: MSTORE
000013f2: DUP5
000013f3: PUSH1 0x60
000013f5: SHL
000013f6: PUSH1 0x66
000013f8: DUP3
000013f9: ADD
000013fa: MSTORE
000013fb: DUP4
000013fc: PUSH1 0x7a
000013fe: DUP3
000013ff: ADD
00001400: MSTORE8
00001401: DUP3
00001402: PUSH1 0x60
00001404: SHL
00001405: PUSH1 0x7b
00001407: DUP3
00001408: ADD
00001409: MSTORE
0000140a: PUSH1 0x8f
0000140c: DUP2
0000140d: PUSH1 0x00
0000140f: CREATE
00001410: SWAP9
00001411: SWAP8
00001412: POP
00001413: POP
00001414: POP
00001415: POP
00001416: POP
00001417: POP
00001418: POP
00001419: POP
0000141a: JUMP
0000141b: JUMPDEST
0000141c: PUSH1 0x40
0000141e: MLOAD
0000141f: PUSH4 0xfd17aef9
00001424: PUSH1 0xe0
00001426: SHL
00001427: DUP2
00001428: MSTORE
00001429: PUSH1 0x01
0000142b: PUSH1 0x01
0000142d: PUSH1 0xa0
0000142f: SHL
00001430: SUB
00001431: DUP12
00001432: AND
00001433: SWAP1
00001434: PUSH4 0xfd17aef9
00001439: SWAP1
0000143a: PUSH2 0x144f
0000143d: SWAP1
0000143e: CALLER
0000143f: SWAP1
00001440: DUP12
00001441: SWAP1
00001442: DUP12
00001443: SWAP1
00001444: DUP12
00001445: SWAP1
00001446: DUP12
00001447: SWAP1
00001448: PUSH1 0x04
0000144a: ADD
0000144b: PUSH2 0x1cc3
0000144e: JUMP
0000144f: JUMPDEST
00001450: PUSH1 0x00
00001452: PUSH1 0x40
00001454: MLOAD
00001455: DUP1
00001456: DUP4
00001457: SUB
00001458: DUP2
00001459: PUSH1 0x00
0000145b: DUP8
0000145c: DUP1
0000145d: EXTCODESIZE
0000145e: ISZERO
0000145f: DUP1
00001460: ISZERO
00001461: PUSH2 0x1469
00001464: JUMPI
00001465: PUSH1 0x00
00001467: DUP1
00001468: REVERT
00001469: JUMPDEST
0000146a: POP
0000146b: GAS
0000146c: CALL
0000146d: ISZERO
0000146e: DUP1
0000146f: ISZERO
00001470: PUSH2 0x147d
00001473: JUMPI
00001474: RETURNDATASIZE
00001475: PUSH1 0x00
00001477: DUP1
00001478: RETURNDATACOPY
00001479: RETURNDATASIZE
0000147a: PUSH1 0x00
0000147c: REVERT
0000147d: JUMPDEST
0000147e: POP
0000147f: PUSH2 0x1497
00001482: SWAP3
00001483: POP
00001484: POP
00001485: POP
00001486: PUSH1 0x01
00001488: PUSH1 0x01
0000148a: PUSH1 0xa0
0000148c: SHL
0000148d: SUB
0000148e: DUP11
0000148f: AND
00001490: CALLER
00001491: DUP13
00001492: DUP5
00001493: PUSH2 0x130b
00001496: JUMP
00001497: JUMPDEST
00001498: DUP2
00001499: PUSH1 0x00
0000149b: JUMPDEST
0000149c: DUP2
0000149d: DUP2
0000149e: LT
0000149f: ISZERO
000014a0: PUSH2 0x1540
000014a3: JUMPI
000014a4: DUP10
000014a5: PUSH1 0x01
000014a7: PUSH1 0x01
000014a9: PUSH1 0xa0
000014ab: SHL
000014ac: SUB
000014ad: AND
000014ae: PUSH4 0x42842e0e
000014b3: CALLER
000014b4: DUP15
000014b5: DUP9
000014b6: DUP9
000014b7: DUP7
000014b8: DUP2
000014b9: DUP2
000014ba: LT
000014bb: PUSH2 0x14c6
000014be: JUMPI
000014bf: PUSH2 0x14c6
000014c2: PUSH2 0x1bc0
000014c5: JUMP
000014c6: JUMPDEST
000014c7: PUSH1 0x40
000014c9: MLOAD
000014ca: PUSH1 0x01
000014cc: PUSH1 0x01
000014ce: PUSH1 0xe0
000014d0: SHL
000014d1: SUB
000014d2: NOT
000014d3: PUSH1 0xe0
000014d5: DUP9
000014d6: SWAP1
000014d7: SHL
000014d8: AND
000014d9: DUP2
000014da: MSTORE
000014db: PUSH1 0x01
000014dd: PUSH1 0x01
000014df: PUSH1 0xa0
000014e1: SHL
000014e2: SUB
000014e3: SWAP6
000014e4: DUP7
000014e5: AND
000014e6: PUSH1 0x04
000014e8: DUP3
000014e9: ADD
000014ea: MSTORE
000014eb: SWAP5
000014ec: SWAP1
000014ed: SWAP4
000014ee: AND
000014ef: PUSH1 0x24
000014f1: DUP6
000014f2: ADD
000014f3: MSTORE
000014f4: POP
000014f5: PUSH1 0x20
000014f7: SWAP1
000014f8: SWAP2
000014f9: MUL
000014fa: ADD
000014fb: CALLDATALOAD
000014fc: PUSH1 0x44
000014fe: DUP3
000014ff: ADD
00001500: MSTORE
00001501: PUSH1 0x64
00001503: ADD
00001504: PUSH1 0x00
00001506: PUSH1 0x40
00001508: MLOAD
00001509: DUP1
0000150a: DUP4
0000150b: SUB
0000150c: DUP2
0000150d: PUSH1 0x00
0000150f: DUP8
00001510: DUP1
00001511: EXTCODESIZE
00001512: ISZERO
00001513: DUP1
00001514: ISZERO
00001515: PUSH2 0x151d
00001518: JUMPI
00001519: PUSH1 0x00
0000151b: DUP1
0000151c: REVERT
0000151d: JUMPDEST
0000151e: POP
0000151f: GAS
00001520: CALL
00001521: ISZERO
00001522: DUP1
00001523: ISZERO
00001524: PUSH2 0x1531
00001527: JUMPI
00001528: RETURNDATASIZE
00001529: PUSH1 0x00
0000152b: DUP1
0000152c: RETURNDATACOPY
0000152d: RETURNDATASIZE
0000152e: PUSH1 0x00
00001530: REVERT
00001531: JUMPDEST
00001532: POP
00001533: POP
00001534: POP
00001535: POP
00001536: DUP1
00001537: PUSH1 0x01
00001539: ADD
0000153a: SWAP1
0000153b: POP
0000153c: PUSH2 0x149b
0000153f: JUMP
00001540: JUMPDEST
00001541: POP
00001542: POP
00001543: POP
00001544: POP
00001545: POP
00001546: POP
00001547: POP
00001548: POP
00001549: POP
0000154a: POP
0000154b: POP
0000154c: POP
0000154d: JUMP
0000154e: JUMPDEST
0000154f: PUSH1 0x00
00001551: DUP1
00001552: SLOAD
00001553: PUSH1 0x01
00001555: PUSH1 0x01
00001557: PUSH1 0xa0
00001559: SHL
0000155a: SUB
0000155b: DUP4
0000155c: DUP2
0000155d: AND
0000155e: PUSH1 0x01
00001560: PUSH1 0x01
00001562: PUSH1 0xa0
00001564: SHL
00001565: SUB
00001566: NOT
00001567: DUP4
00001568: AND
00001569: DUP2
0000156a: OR
0000156b: DUP5
0000156c: SSTORE
0000156d: PUSH1 0x40
0000156f: MLOAD
00001570: SWAP2
00001571: SWAP1
00001572: SWAP3
00001573: AND
00001574: SWAP3
00001575: DUP4
00001576: SWAP2
00001577: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001598: SWAP2
00001599: SWAP1
0000159a: LOG3
0000159b: POP
0000159c: POP
0000159d: JUMP
0000159e: JUMPDEST
0000159f: PUSH1 0x00
000015a1: DUP1
000015a2: PUSH1 0x00
000015a4: DUP1
000015a5: PUSH1 0x00
000015a7: DUP6
000015a8: DUP8
000015a9: GAS
000015aa: CALL
000015ab: SWAP1
000015ac: POP
000015ad: DUP1
000015ae: PUSH2 0x0718
000015b1: JUMPI
000015b2: PUSH1 0x40
000015b4: MLOAD
000015b5: PUSH3 0x461bcd
000015b9: PUSH1 0xe5
000015bb: SHL
000015bc: DUP2
000015bd: MSTORE
000015be: PUSH1 0x20
000015c0: PUSH1 0x04
000015c2: DUP3
000015c3: ADD
000015c4: MSTORE
000015c5: PUSH1 0x13
000015c7: PUSH1 0x24
000015c9: DUP3
000015ca: ADD
000015cb: MSTORE
000015cc: PUSH19 0x11551217d514905394d1915497d19052531151
000015e0: PUSH1 0x6a
000015e2: SHL
000015e3: PUSH1 0x44
000015e5: DUP3
000015e6: ADD
000015e7: MSTORE
000015e8: PUSH1 0x64
000015ea: ADD
000015eb: PUSH2 0x0878
000015ee: JUMP
000015ef: JUMPDEST
000015f0: PUSH1 0x00
000015f2: PUSH1 0x40
000015f4: MLOAD
000015f5: PUSH4 0xa9059cbb
000015fa: PUSH1 0xe0
000015fc: SHL
000015fd: DUP2
000015fe: MSTORE
000015ff: PUSH1 0x01
00001601: PUSH1 0x01
00001603: PUSH1 0xa0
00001605: SHL
00001606: SUB
00001607: DUP5
00001608: AND
00001609: PUSH1 0x04
0000160b: DUP3
0000160c: ADD
0000160d: MSTORE
0000160e: DUP3
0000160f: PUSH1 0x24
00001611: DUP3
00001612: ADD
00001613: MSTORE
00001614: PUSH1 0x00
00001616: DUP1
00001617: PUSH1 0x44
00001619: DUP4
0000161a: PUSH1 0x00
0000161c: DUP10
0000161d: GAS
0000161e: CALL
0000161f: SWAP2
00001620: POP
00001621: POP
00001622: PUSH2 0x162a
00001625: DUP2
00001626: PUSH2 0x1816
00001629: JUMP
0000162a: JUMPDEST
0000162b: PUSH2 0x1668
0000162e: JUMPI
0000162f: PUSH1 0x40
00001631: MLOAD
00001632: PUSH3 0x461bcd
00001636: PUSH1 0xe5
00001638: SHL
00001639: DUP2
0000163a: MSTORE
0000163b: PUSH1 0x20
0000163d: PUSH1 0x04
0000163f: DUP3
00001640: ADD
00001641: MSTORE
00001642: PUSH1 0x0f
00001644: PUSH1 0x24
00001646: DUP3
00001647: ADD
00001648: MSTORE
00001649: PUSH15 0x1514905394d1915497d19052531151
00001659: PUSH1 0x8a
0000165b: SHL
0000165c: PUSH1 0x44
0000165e: DUP3
0000165f: ADD
00001660: MSTORE
00001661: PUSH1 0x64
00001663: ADD
00001664: PUSH2 0x0878
00001667: JUMP
00001668: JUMPDEST
00001669: POP
0000166a: POP
0000166b: POP
0000166c: POP
0000166d: JUMP
0000166e: JUMPDEST
0000166f: PUSH1 0x00
00001671: PUSH1 0x40
00001673: MLOAD
00001674: PUSH32 0x60723d8160093d39f33d3d3d3d363d3d37603d6035363936603d013d73000000
00001695: DUP2
00001696: MSTORE
00001697: DUP7
00001698: PUSH1 0x60
0000169a: SHL
0000169b: PUSH1 0x1d
0000169d: DUP3
0000169e: ADD
0000169f: MSTORE
000016a0: PUSH13 0x5af43d3d93803e603357fd5bf3
000016ae: PUSH1 0x98
000016b0: SHL
000016b1: PUSH1 0x31
000016b3: DUP3
000016b4: ADD
000016b5: MSTORE
000016b6: DUP6
000016b7: PUSH1 0x60
000016b9: SHL
000016ba: PUSH1 0x3e
000016bc: DUP3
000016bd: ADD
000016be: MSTORE
000016bf: DUP5
000016c0: PUSH1 0x60
000016c2: SHL
000016c3: PUSH1 0x52
000016c5: DUP3
000016c6: ADD
000016c7: MSTORE
000016c8: DUP4
000016c9: PUSH1 0x60
000016cb: SHL
000016cc: PUSH1 0x66
000016ce: DUP3
000016cf: ADD
000016d0: MSTORE
000016d1: DUP3
000016d2: PUSH1 0x7a
000016d4: DUP3
000016d5: ADD
000016d6: MSTORE8
000016d7: PUSH1 0x7b
000016d9: DUP2
000016da: PUSH1 0x00
000016dc: CREATE
000016dd: SWAP8
000016de: SWAP7
000016df: POP
000016e0: POP
000016e1: POP
000016e2: POP
000016e3: POP
000016e4: POP
000016e5: POP
000016e6: JUMP
000016e7: JUMPDEST
000016e8: PUSH1 0x40
000016ea: MLOAD
000016eb: PUSH4 0xfd17aef9
000016f0: PUSH1 0xe0
000016f2: SHL
000016f3: DUP2
000016f4: MSTORE
000016f5: PUSH1 0x01
000016f7: PUSH1 0x01
000016f9: PUSH1 0xa0
000016fb: SHL
000016fc: SUB
000016fd: DUP10
000016fe: AND
000016ff: SWAP1
00001700: PUSH4 0xfd17aef9
00001705: SWAP1
00001706: PUSH2 0x171b
00001709: SWAP1
0000170a: CALLER
0000170b: SWAP1
0000170c: DUP11
0000170d: SWAP1
0000170e: DUP11
0000170f: SWAP1
00001710: DUP11
00001711: SWAP1
00001712: DUP11
00001713: SWAP1
00001714: PUSH1 0x04
00001716: ADD
00001717: PUSH2 0x1cc3
0000171a: JUMP
0000171b: JUMPDEST
0000171c: PUSH1 0x00
0000171e: PUSH1 0x40
00001720: MLOAD
00001721: DUP1
00001722: DUP4
00001723: SUB
00001724: DUP2
00001725: PUSH1 0x00
00001727: DUP8
00001728: DUP1
00001729: EXTCODESIZE
0000172a: ISZERO
0000172b: DUP1
0000172c: ISZERO
0000172d: PUSH2 0x1735
00001730: JUMPI
00001731: PUSH1 0x00
00001733: DUP1
00001734: REVERT
00001735: JUMPDEST
00001736: POP
00001737: GAS
00001738: CALL
00001739: ISZERO
0000173a: DUP1
0000173b: ISZERO
0000173c: PUSH2 0x1749
0000173f: JUMPI
00001740: RETURNDATASIZE
00001741: PUSH1 0x00
00001743: DUP1
00001744: RETURNDATACOPY
00001745: RETURNDATASIZE
00001746: PUSH1 0x00
00001748: REVERT
00001749: JUMPDEST
0000174a: POP
0000174b: PUSH2 0x1761
0000174e: SWAP3
0000174f: POP
00001750: POP
00001751: POP
00001752: PUSH1 0x01
00001754: PUSH1 0x01
00001756: PUSH1 0xa0
00001758: SHL
00001759: SUB
0000175a: DUP10
0000175b: AND
0000175c: CALLVALUE
0000175d: PUSH2 0x159e
00001760: JUMP
00001761: JUMPDEST
00001762: DUP1
00001763: PUSH1 0x00
00001765: JUMPDEST
00001766: DUP2
00001767: DUP2
00001768: LT
00001769: ISZERO
0000176a: PUSH2 0x180a
0000176d: JUMPI
0000176e: DUP9
0000176f: PUSH1 0x01
00001771: PUSH1 0x01
00001773: PUSH1 0xa0
00001775: SHL
00001776: SUB
00001777: AND
00001778: PUSH4 0x42842e0e
0000177d: CALLER
0000177e: DUP13
0000177f: DUP8
00001780: DUP8
00001781: DUP7
00001782: DUP2
00001783: DUP2
00001784: LT
00001785: PUSH2 0x1790
00001788: JUMPI
00001789: PUSH2 0x1790
0000178c: PUSH2 0x1bc0
0000178f: JUMP
00001790: JUMPDEST
00001791: PUSH1 0x40
00001793: MLOAD
00001794: PUSH1 0x01
00001796: PUSH1 0x01
00001798: PUSH1 0xe0
0000179a: SHL
0000179b: SUB
0000179c: NOT
0000179d: PUSH1 0xe0
0000179f: DUP9
000017a0: SWAP1
000017a1: SHL
000017a2: AND
000017a3: DUP2
000017a4: MSTORE
000017a5: PUSH1 0x01
000017a7: PUSH1 0x01
000017a9: PUSH1 0xa0
000017ab: SHL
000017ac: SUB
000017ad: SWAP6
000017ae: DUP7
000017af: AND
000017b0: PUSH1 0x04
000017b2: DUP3
000017b3: ADD
000017b4: MSTORE
000017b5: SWAP5
000017b6: SWAP1
000017b7: SWAP4
000017b8: AND
000017b9: PUSH1 0x24
000017bb: DUP6
000017bc: ADD
000017bd: MSTORE
000017be: POP
000017bf: PUSH1 0x20
000017c1: SWAP1
000017c2: SWAP2
000017c3: MUL
000017c4: ADD
000017c5: CALLDATALOAD
000017c6: PUSH1 0x44
000017c8: DUP3
000017c9: ADD
000017ca: MSTORE
000017cb: PUSH1 0x64
000017cd: ADD
000017ce: PUSH1 0x00
000017d0: PUSH1 0x40
000017d2: MLOAD
000017d3: DUP1
000017d4: DUP4
000017d5: SUB
000017d6: DUP2
000017d7: PUSH1 0x00
000017d9: DUP8
000017da: DUP1
000017db: EXTCODESIZE
000017dc: ISZERO
000017dd: DUP1
000017de: ISZERO
000017df: PUSH2 0x17e7
000017e2: JUMPI
000017e3: PUSH1 0x00
000017e5: DUP1
000017e6: REVERT
000017e7: JUMPDEST
000017e8: POP
000017e9: GAS
000017ea: CALL
000017eb: ISZERO
000017ec: DUP1
000017ed: ISZERO
000017ee: PUSH2 0x17fb
000017f1: JUMPI
000017f2: RETURNDATASIZE
000017f3: PUSH1 0x00
000017f5: DUP1
000017f6: RETURNDATACOPY
000017f7: RETURNDATASIZE
000017f8: PUSH1 0x00
000017fa: REVERT
000017fb: JUMPDEST
000017fc: POP
000017fd: POP
000017fe: POP
000017ff: POP
00001800: DUP1
00001801: PUSH1 0x01
00001803: ADD
00001804: SWAP1
00001805: POP
00001806: PUSH2 0x1765
00001809: JUMP
0000180a: JUMPDEST
0000180b: POP
0000180c: POP
0000180d: POP
0000180e: POP
0000180f: POP
00001810: POP
00001811: POP
00001812: POP
00001813: POP
00001814: POP
00001815: JUMP
00001816: JUMPDEST
00001817: PUSH1 0x00
00001819: RETURNDATASIZE
0000181a: DUP3
0000181b: PUSH2 0x1828
0000181e: JUMPI
0000181f: DUP1
00001820: PUSH1 0x00
00001822: DUP1
00001823: RETURNDATACOPY
00001824: DUP1
00001825: PUSH1 0x00
00001827: REVERT
00001828: JUMPDEST
00001829: DUP1
0000182a: PUSH1 0x20
0000182c: DUP2
0000182d: EQ
0000182e: PUSH2 0x1840
00001831: JUMPI
00001832: DUP1
00001833: ISZERO
00001834: PUSH2 0x1851
00001837: JUMPI
00001838: PUSH1 0x00
0000183a: SWAP3
0000183b: POP
0000183c: PUSH2 0x1856
0000183f: JUMP
00001840: JUMPDEST
00001841: DUP2
00001842: PUSH1 0x00
00001844: DUP1
00001845: RETURNDATACOPY
00001846: PUSH1 0x00
00001848: MLOAD
00001849: ISZERO
0000184a: ISZERO
0000184b: SWAP3
0000184c: POP
0000184d: PUSH2 0x1856
00001850: JUMP
00001851: JUMPDEST
00001852: PUSH1 0x01
00001854: SWAP3
00001855: POP
00001856: JUMPDEST
00001857: POP
00001858: POP
00001859: SWAP2
0000185a: SWAP1
0000185b: POP
0000185c: JUMP
0000185d: JUMPDEST
0000185e: PUSH1 0x01
00001860: PUSH1 0x01
00001862: PUSH1 0xa0
00001864: SHL
00001865: SUB
00001866: DUP2
00001867: AND
00001868: DUP2
00001869: EQ
0000186a: PUSH2 0x1214
0000186d: JUMPI
0000186e: PUSH1 0x00
00001870: DUP1
00001871: REVERT
00001872: JUMPDEST
00001873: PUSH1 0x00
00001875: DUP1
00001876: PUSH1 0x40
00001878: DUP4
00001879: DUP6
0000187a: SUB
0000187b: SLT
0000187c: ISZERO
0000187d: PUSH2 0x1885
00001880: JUMPI
00001881: PUSH1 0x00
00001883: DUP1
00001884: REVERT
00001885: JUMPDEST
00001886: DUP3
00001887: CALLDATALOAD
00001888: PUSH2 0x1890
0000188b: DUP2
0000188c: PUSH2 0x185d
0000188f: JUMP
00001890: JUMPDEST
00001891: SWAP2
00001892: POP
00001893: PUSH1 0x20
00001895: DUP4
00001896: ADD
00001897: CALLDATALOAD
00001898: PUSH1 0x04
0000189a: DUP2
0000189b: LT
0000189c: PUSH2 0x18a4
0000189f: JUMPI
000018a0: PUSH1 0x00
000018a2: DUP1
000018a3: REVERT
000018a4: JUMPDEST
000018a5: DUP1
000018a6: SWAP2
000018a7: POP
000018a8: POP
000018a9: SWAP3
000018aa: POP
000018ab: SWAP3
000018ac: SWAP1
000018ad: POP
000018ae: JUMP
000018af: JUMPDEST
000018b0: PUSH1 0x00
000018b2: DUP1
000018b3: PUSH1 0x00
000018b5: PUSH1 0x60
000018b7: DUP5
000018b8: DUP7
000018b9: SUB
000018ba: SLT
000018bb: ISZERO
000018bc: PUSH2 0x18c4
000018bf: JUMPI
000018c0: PUSH1 0x00
000018c2: DUP1
000018c3: REVERT
000018c4: JUMPDEST
000018c5: DUP4
000018c6: CALLDATALOAD
000018c7: PUSH2 0x18cf
000018ca: DUP2
000018cb: PUSH2 0x185d
000018ce: JUMP
000018cf: JUMPDEST
000018d0: SWAP3
000018d1: POP
000018d2: PUSH1 0x20
000018d4: DUP5
000018d5: ADD
000018d6: CALLDATALOAD
000018d7: PUSH2 0x18df
000018da: DUP2
000018db: PUSH2 0x185d
000018de: JUMP
000018df: JUMPDEST
000018e0: SWAP3
000018e1: SWAP6
000018e2: SWAP3
000018e3: SWAP5
000018e4: POP
000018e5: POP
000018e6: POP
000018e7: PUSH1 0x40
000018e9: SWAP2
000018ea: SWAP1
000018eb: SWAP2
000018ec: ADD
000018ed: CALLDATALOAD
000018ee: SWAP1
000018ef: JUMP
000018f0: JUMPDEST
000018f1: PUSH1 0x00
000018f3: PUSH1 0x20
000018f5: DUP3
000018f6: DUP5
000018f7: SUB
000018f8: SLT
000018f9: ISZERO
000018fa: PUSH2 0x1902
000018fd: JUMPI
000018fe: PUSH1 0x00
00001900: DUP1
00001901: REVERT
00001902: JUMPDEST
00001903: DUP2
00001904: CALLDATALOAD
00001905: PUSH2 0x190d
00001908: DUP2
00001909: PUSH2 0x185d
0000190c: JUMP
0000190d: JUMPDEST
0000190e: SWAP4
0000190f: SWAP3
00001910: POP
00001911: POP
00001912: POP
00001913: JUMP
00001914: JUMPDEST
00001915: PUSH1 0x00
00001917: DUP1
00001918: DUP4
00001919: PUSH1 0x1f
0000191b: DUP5
0000191c: ADD
0000191d: SLT
0000191e: PUSH2 0x1926
00001921: JUMPI
00001922: PUSH1 0x00
00001924: DUP1
00001925: REVERT
00001926: JUMPDEST
00001927: POP
00001928: DUP2
00001929: CALLDATALOAD
0000192a: PUSH8 0xffffffffffffffff
00001933: DUP2
00001934: GT
00001935: ISZERO
00001936: PUSH2 0x193e
00001939: JUMPI
0000193a: PUSH1 0x00
0000193c: DUP1
0000193d: REVERT
0000193e: JUMPDEST
0000193f: PUSH1 0x20
00001941: DUP4
00001942: ADD
00001943: SWAP2
00001944: POP
00001945: DUP4
00001946: PUSH1 0x20
00001948: DUP3
00001949: PUSH1 0x05
0000194b: SHL
0000194c: DUP6
0000194d: ADD
0000194e: ADD
0000194f: GT
00001950: ISZERO
00001951: PUSH2 0x1959
00001954: JUMPI
00001955: PUSH1 0x00
00001957: DUP1
00001958: REVERT
00001959: JUMPDEST
0000195a: SWAP3
0000195b: POP
0000195c: SWAP3
0000195d: SWAP1
0000195e: POP
0000195f: JUMP
00001960: JUMPDEST
00001961: PUSH1 0x00
00001963: DUP1
00001964: PUSH1 0x00
00001966: DUP1
00001967: PUSH1 0x60
00001969: DUP6
0000196a: DUP8
0000196b: SUB
0000196c: SLT
0000196d: ISZERO
0000196e: PUSH2 0x1976
00001971: JUMPI
00001972: PUSH1 0x00
00001974: DUP1
00001975: REVERT
00001976: JUMPDEST
00001977: DUP5
00001978: CALLDATALOAD
00001979: PUSH2 0x1981
0000197c: DUP2
0000197d: PUSH2 0x185d
00001980: JUMP
00001981: JUMPDEST
00001982: SWAP4
00001983: POP
00001984: PUSH1 0x20
00001986: DUP6
00001987: ADD
00001988: CALLDATALOAD
00001989: PUSH8 0xffffffffffffffff
00001992: DUP2
00001993: GT
00001994: ISZERO
00001995: PUSH2 0x199d
00001998: JUMPI
00001999: PUSH1 0x00
0000199b: DUP1
0000199c: REVERT
0000199d: JUMPDEST
0000199e: PUSH2 0x19a9
000019a1: DUP8
000019a2: DUP3
000019a3: DUP9
000019a4: ADD
000019a5: PUSH2 0x1914
000019a8: JUMP
000019a9: JUMPDEST
000019aa: SWAP1
000019ab: SWAP5
000019ac: POP
000019ad: SWAP3
000019ae: POP
000019af: POP
000019b0: PUSH1 0x40
000019b2: DUP6
000019b3: ADD
000019b4: CALLDATALOAD
000019b5: PUSH2 0x19bd
000019b8: DUP2
000019b9: PUSH2 0x185d
000019bc: JUMP
000019bd: JUMPDEST
000019be: SWAP4
000019bf: SWAP7
000019c0: SWAP3
000019c1: SWAP6
000019c2: POP
000019c3: SWAP1
000019c4: SWAP4
000019c5: POP
000019c6: POP
000019c7: JUMP
000019c8: JUMPDEST
000019c9: DUP1
000019ca: ISZERO
000019cb: ISZERO
000019cc: DUP2
000019cd: EQ
000019ce: PUSH2 0x1214
000019d1: JUMPI
000019d2: PUSH1 0x00
000019d4: DUP1
000019d5: REVERT
000019d6: JUMPDEST
000019d7: PUSH1 0x00
000019d9: DUP1
000019da: PUSH1 0x40
000019dc: DUP4
000019dd: DUP6
000019de: SUB
000019df: SLT
000019e0: ISZERO
000019e1: PUSH2 0x19e9
000019e4: JUMPI
000019e5: PUSH1 0x00
000019e7: DUP1
000019e8: REVERT
000019e9: JUMPDEST
000019ea: DUP3
000019eb: CALLDATALOAD
000019ec: PUSH2 0x19f4
000019ef: DUP2
000019f0: PUSH2 0x185d
000019f3: JUMP
000019f4: JUMPDEST
000019f5: SWAP2
000019f6: POP
000019f7: PUSH1 0x20
000019f9: DUP4
000019fa: ADD
000019fb: CALLDATALOAD
000019fc: PUSH2 0x18a4
000019ff: DUP2
00001a00: PUSH2 0x19c8
00001a03: JUMP
00001a04: JUMPDEST
00001a05: PUSH1 0x00
00001a07: PUSH1 0x20
00001a09: DUP3
00001a0a: DUP5
00001a0b: SUB
00001a0c: SLT
00001a0d: ISZERO
00001a0e: PUSH2 0x1a16
00001a11: JUMPI
00001a12: PUSH1 0x00
00001a14: DUP1
00001a15: REVERT
00001a16: JUMPDEST
00001a17: DUP2
00001a18: CALLDATALOAD
00001a19: PUSH8 0xffffffffffffffff
00001a22: DUP2
00001a23: GT
00001a24: ISZERO
00001a25: PUSH2 0x1a2d
00001a28: JUMPI
00001a29: PUSH1 0x00
00001a2b: DUP1
00001a2c: REVERT
00001a2d: JUMPDEST
00001a2e: DUP3
00001a2f: ADD
00001a30: PUSH2 0x0140
00001a33: DUP2
00001a34: DUP6
00001a35: SUB
00001a36: SLT
00001a37: ISZERO
00001a38: PUSH2 0x190d
00001a3b: JUMPI
00001a3c: PUSH1 0x00
00001a3e: DUP1
00001a3f: REVERT
00001a40: JUMPDEST
00001a41: PUSH1 0x00
00001a43: PUSH1 0x20
00001a45: DUP3
00001a46: DUP5
00001a47: SUB
00001a48: SLT
00001a49: ISZERO
00001a4a: PUSH2 0x1a52
00001a4d: JUMPI
00001a4e: PUSH1 0x00
00001a50: DUP1
00001a51: REVERT
00001a52: JUMPDEST
00001a53: POP
00001a54: CALLDATALOAD
00001a55: SWAP2
00001a56: SWAP1
00001a57: POP
00001a58: JUMP
00001a59: JUMPDEST
00001a5a: PUSH1 0x00
00001a5c: DUP1
00001a5d: PUSH1 0x40
00001a5f: DUP4
00001a60: DUP6
00001a61: SUB
00001a62: SLT
00001a63: ISZERO
00001a64: PUSH2 0x1a6c
00001a67: JUMPI
00001a68: PUSH1 0x00
00001a6a: DUP1
00001a6b: REVERT
00001a6c: JUMPDEST
00001a6d: DUP3
00001a6e: CALLDATALOAD
00001a6f: PUSH2 0x1a77
00001a72: DUP2
00001a73: PUSH2 0x185d
00001a76: JUMP
00001a77: JUMPDEST
00001a78: SWAP5
00001a79: PUSH1 0x20
00001a7b: SWAP4
00001a7c: SWAP1
00001a7d: SWAP4
00001a7e: ADD
00001a7f: CALLDATALOAD
00001a80: SWAP4
00001a81: POP
00001a82: POP
00001a83: POP
00001a84: JUMP
00001a85: JUMPDEST
00001a86: DUP1
00001a87: CALLDATALOAD
00001a88: PUSH1 0x03
00001a8a: DUP2
00001a8b: LT
00001a8c: PUSH2 0x1a94
00001a8f: JUMPI
00001a90: PUSH1 0x00
00001a92: DUP1
00001a93: REVERT
00001a94: JUMPDEST
00001a95: SWAP2
00001a96: SWAP1
00001a97: POP
00001a98: JUMP
00001a99: JUMPDEST
00001a9a: DUP1
00001a9b: CALLDATALOAD
00001a9c: PUSH1 0x01
00001a9e: PUSH1 0x01
00001aa0: PUSH1 0x80
00001aa2: SHL
00001aa3: SUB
00001aa4: DUP2
00001aa5: AND
00001aa6: DUP2
00001aa7: EQ
00001aa8: PUSH2 0x1a94
00001aab: JUMPI
00001aac: PUSH1 0x00
00001aae: DUP1
00001aaf: REVERT
00001ab0: JUMPDEST
00001ab1: DUP1
00001ab2: CALLDATALOAD
00001ab3: PUSH12 0xffffffffffffffffffffffff
00001ac0: DUP2
00001ac1: AND
00001ac2: DUP2
00001ac3: EQ
00001ac4: PUSH2 0x1a94
00001ac7: JUMPI
00001ac8: PUSH1 0x00
00001aca: DUP1
00001acb: REVERT
00001acc: JUMPDEST
00001acd: PUSH1 0x00
00001acf: DUP1
00001ad0: PUSH1 0x00
00001ad2: DUP1
00001ad3: PUSH1 0x00
00001ad5: DUP1
00001ad6: PUSH1 0x00
00001ad8: DUP1
00001ad9: PUSH1 0x00
00001adb: PUSH2 0x0100
00001ade: DUP11
00001adf: DUP13
00001ae0: SUB
00001ae1: SLT
00001ae2: ISZERO
00001ae3: PUSH2 0x1aeb
00001ae6: JUMPI
00001ae7: PUSH1 0x00
00001ae9: DUP1
00001aea: REVERT
00001aeb: JUMPDEST
00001aec: DUP10
00001aed: CALLDATALOAD
00001aee: PUSH2 0x1af6
00001af1: DUP2
00001af2: PUSH2 0x185d
00001af5: JUMP
00001af6: JUMPDEST
00001af7: SWAP9
00001af8: POP
00001af9: PUSH1 0x20
00001afb: DUP11
00001afc: ADD
00001afd: CALLDATALOAD
00001afe: PUSH2 0x1b06
00001b01: DUP2
00001b02: PUSH2 0x185d
00001b05: JUMP
00001b06: JUMPDEST
00001b07: SWAP8
00001b08: POP
00001b09: PUSH1 0x40
00001b0b: DUP11
00001b0c: ADD
00001b0d: CALLDATALOAD
00001b0e: PUSH2 0x1b16
00001b11: DUP2
00001b12: PUSH2 0x185d
00001b15: JUMP
00001b16: JUMPDEST
00001b17: SWAP7
00001b18: POP
00001b19: PUSH2 0x1b24
00001b1c: PUSH1 0x60
00001b1e: DUP12
00001b1f: ADD
00001b20: PUSH2 0x1a85
00001b23: JUMP
00001b24: JUMPDEST
00001b25: SWAP6
00001b26: POP
00001b27: PUSH2 0x1b32
00001b2a: PUSH1 0x80
00001b2c: DUP12
00001b2d: ADD
00001b2e: PUSH2 0x1a99
00001b31: JUMP
00001b32: JUMPDEST
00001b33: SWAP5
00001b34: POP
00001b35: PUSH2 0x1b40
00001b38: PUSH1 0xa0
00001b3a: DUP12
00001b3b: ADD
00001b3c: PUSH2 0x1ab0
00001b3f: JUMP
00001b40: JUMPDEST
00001b41: SWAP4
00001b42: POP
00001b43: PUSH2 0x1b4e
00001b46: PUSH1 0xc0
00001b48: DUP12
00001b49: ADD
00001b4a: PUSH2 0x1a99
00001b4d: JUMP
00001b4e: JUMPDEST
00001b4f: SWAP3
00001b50: POP
00001b51: PUSH1 0xe0
00001b53: DUP11
00001b54: ADD
00001b55: CALLDATALOAD
00001b56: PUSH8 0xffffffffffffffff
00001b5f: DUP2
00001b60: GT
00001b61: ISZERO
00001b62: PUSH2 0x1b6a
00001b65: JUMPI
00001b66: PUSH1 0x00
00001b68: DUP1
00001b69: REVERT
00001b6a: JUMPDEST
00001b6b: PUSH2 0x1b76
00001b6e: DUP13
00001b6f: DUP3
00001b70: DUP14
00001b71: ADD
00001b72: PUSH2 0x1914
00001b75: JUMP
00001b76: JUMPDEST
00001b77: SWAP2
00001b78: POP
00001b79: DUP1
00001b7a: SWAP4
00001b7b: POP
00001b7c: POP
00001b7d: DUP1
00001b7e: SWAP2
00001b7f: POP
00001b80: POP
00001b81: SWAP3
00001b82: SWAP6
00001b83: SWAP9
00001b84: POP
00001b85: SWAP3
00001b86: SWAP6
00001b87: SWAP9
00001b88: POP
00001b89: SWAP3
00001b8a: SWAP6
00001b8b: SWAP9
00001b8c: JUMP
00001b8d: JUMPDEST
00001b8e: PUSH4 0x4e487b71
00001b93: PUSH1 0xe0
00001b95: SHL
00001b96: PUSH1 0x00
00001b98: MSTORE
00001b99: PUSH1 0x21
00001b9b: PUSH1 0x04
00001b9d: MSTORE
00001b9e: PUSH1 0x24
00001ba0: PUSH1 0x00
00001ba2: REVERT
00001ba3: JUMPDEST
00001ba4: PUSH1 0x00
00001ba6: PUSH1 0x20
00001ba8: DUP3
00001ba9: DUP5
00001baa: SUB
00001bab: SLT
00001bac: ISZERO
00001bad: PUSH2 0x1bb5
00001bb0: JUMPI
00001bb1: PUSH1 0x00
00001bb3: DUP1
00001bb4: REVERT
00001bb5: JUMPDEST
00001bb6: DUP2
00001bb7: MLOAD
00001bb8: PUSH2 0x190d
00001bbb: DUP2
00001bbc: PUSH2 0x185d
00001bbf: JUMP
00001bc0: JUMPDEST
00001bc1: PUSH4 0x4e487b71
00001bc6: PUSH1 0xe0
00001bc8: SHL
00001bc9: PUSH1 0x00
00001bcb: MSTORE
00001bcc: PUSH1 0x32
00001bce: PUSH1 0x04
00001bd0: MSTORE
00001bd1: PUSH1 0x24
00001bd3: PUSH1 0x00
00001bd5: REVERT
00001bd6: JUMPDEST
00001bd7: PUSH1 0x20
00001bd9: DUP1
00001bda: DUP3
00001bdb: MSTORE
00001bdc: DUP2
00001bdd: DUP2
00001bde: ADD
00001bdf: MSTORE
00001be0: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001c01: PUSH1 0x40
00001c03: DUP3
00001c04: ADD
00001c05: MSTORE
00001c06: PUSH1 0x60
00001c08: ADD
00001c09: SWAP1
00001c0a: JUMP
00001c0b: JUMPDEST
00001c0c: PUSH1 0x00
00001c0e: PUSH1 0x20
00001c10: DUP3
00001c11: DUP5
00001c12: SUB
00001c13: SLT
00001c14: ISZERO
00001c15: PUSH2 0x1c1d
00001c18: JUMPI
00001c19: PUSH1 0x00
00001c1b: DUP1
00001c1c: REVERT
00001c1d: JUMPDEST
00001c1e: DUP2
00001c1f: MLOAD
00001c20: PUSH2 0x190d
00001c23: DUP2
00001c24: PUSH2 0x19c8
00001c27: JUMP
00001c28: JUMPDEST
00001c29: PUSH1 0x00
00001c2b: PUSH1 0x20
00001c2d: DUP3
00001c2e: DUP5
00001c2f: SUB
00001c30: SLT
00001c31: ISZERO
00001c32: PUSH2 0x1c3a
00001c35: JUMPI
00001c36: PUSH1 0x00
00001c38: DUP1
00001c39: REVERT
00001c3a: JUMPDEST
00001c3b: PUSH2 0x190d
00001c3e: DUP3
00001c3f: PUSH2 0x1a85
00001c42: JUMP
00001c43: JUMPDEST
00001c44: PUSH1 0x00
00001c46: PUSH1 0x20
00001c48: DUP3
00001c49: DUP5
00001c4a: SUB
00001c4b: SLT
00001c4c: ISZERO
00001c4d: PUSH2 0x1c55
00001c50: JUMPI
00001c51: PUSH1 0x00
00001c53: DUP1
00001c54: REVERT
00001c55: JUMPDEST
00001c56: PUSH2 0x190d
00001c59: DUP3
00001c5a: PUSH2 0x1a99
00001c5d: JUMP
00001c5e: JUMPDEST
00001c5f: PUSH1 0x00
00001c61: PUSH1 0x20
00001c63: DUP3
00001c64: DUP5
00001c65: SUB
00001c66: SLT
00001c67: ISZERO
00001c68: PUSH2 0x1c70
00001c6b: JUMPI
00001c6c: PUSH1 0x00
00001c6e: DUP1
00001c6f: REVERT
00001c70: JUMPDEST
00001c71: PUSH2 0x190d
00001c74: DUP3
00001c75: PUSH2 0x1ab0
00001c78: JUMP
00001c79: JUMPDEST
00001c7a: PUSH1 0x00
00001c7c: DUP1
00001c7d: DUP4
00001c7e: CALLDATALOAD
00001c7f: PUSH1 0x1e
00001c81: NOT
00001c82: DUP5
00001c83: CALLDATASIZE
00001c84: SUB
00001c85: ADD
00001c86: DUP2
00001c87: SLT
00001c88: PUSH2 0x1c90
00001c8b: JUMPI
00001c8c: PUSH1 0x00
00001c8e: DUP1
00001c8f: REVERT
00001c90: JUMPDEST
00001c91: DUP4
00001c92: ADD
00001c93: DUP1
00001c94: CALLDATALOAD
00001c95: SWAP2
00001c96: POP
00001c97: PUSH8 0xffffffffffffffff
00001ca0: DUP3
00001ca1: GT
00001ca2: ISZERO
00001ca3: PUSH2 0x1cab
00001ca6: JUMPI
00001ca7: PUSH1 0x00
00001ca9: DUP1
00001caa: REVERT
00001cab: JUMPDEST
00001cac: PUSH1 0x20
00001cae: ADD
00001caf: SWAP2
00001cb0: POP
00001cb1: PUSH1 0x05
00001cb3: DUP2
00001cb4: SWAP1
00001cb5: SHL
00001cb6: CALLDATASIZE
00001cb7: SUB
00001cb8: DUP3
00001cb9: SGT
00001cba: ISZERO
00001cbb: PUSH2 0x1959
00001cbe: JUMPI
00001cbf: PUSH1 0x00
00001cc1: DUP1
00001cc2: REVERT
00001cc3: JUMPDEST
00001cc4: PUSH1 0x01
00001cc6: PUSH1 0x01
00001cc8: PUSH1 0xa0
00001cca: SHL
00001ccb: SUB
00001ccc: SWAP6
00001ccd: DUP7
00001cce: AND
00001ccf: DUP2
00001cd0: MSTORE
00001cd1: SWAP4
00001cd2: SWAP1
00001cd3: SWAP5
00001cd4: AND
00001cd5: PUSH1 0x20
00001cd7: DUP5
00001cd8: ADD
00001cd9: MSTORE
00001cda: PUSH1 0x01
00001cdc: PUSH1 0x01
00001cde: PUSH1 0x80
00001ce0: SHL
00001ce1: SUB
00001ce2: SWAP2
00001ce3: DUP3
00001ce4: AND
00001ce5: PUSH1 0x40
00001ce7: DUP5
00001ce8: ADD
00001ce9: MSTORE
00001cea: PUSH12 0xffffffffffffffffffffffff
00001cf7: AND
00001cf8: PUSH1 0x60
00001cfa: DUP4
00001cfb: ADD
00001cfc: MSTORE
00001cfd: SWAP1
00001cfe: SWAP2
00001cff: AND
00001d00: PUSH1 0x80
00001d02: DUP3
00001d03: ADD
00001d04: MSTORE
00001d05: PUSH1 0xa0
00001d07: ADD
00001d08: SWAP1
00001d09: JUMP
00001d0a: INVALID
00001d0b: LOG2
00001d0c: PUSH5 0x6970667358
00001d12: UNKNOWN(0x22)
00001d13: SLT
00001d14: KECCAK256
00001d15: UNKNOWN(0x23)
00001d16: UNKNOWN(0xC4)
00001d17: UNKNOWN(0xE2)
00001d18: UNKNOWN(0xF7)
00001d19: UNKNOWN(0x26)
00001d1a: ORIGIN
00001d1b: UNKNOWN(0x2B)
00001d1c: UNKNOWN(0x0C)
00001d1d: UNKNOWN(0x24)
00001d1e: CREATE2
00001d1f: UNKNOWN(0x21)
00001d20: UNKNOWN(0x4F)
00001d21: UNKNOWN(0xC9)
00001d22: UNKNOWN(0xE4)
00001d23: UNKNOWN(0xEA)
00001d24: UNKNOWN(0xE7)
00001d25: DUP15
00001d26: LOG4
00001d27: PUSH23 0x02374510c3743bd11462e9a6e964736f6c634300080d00
00001d3f: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
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": "0xad2e5770",
            "selector": "0xad2e5770",
            "calldata_variants": [
                "0xad2e5770",
                "0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb483eddc",
            "selector": "0xb483eddc",
            "calldata_variants": [
                "0xb483eddc",
                "0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc5bc20b",
            "selector": "0xcc5bc20b",
            "calldata_variants": [
                "0xcc5bc20b",
                "0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce9c095d",
            "selector": "0xce9c095d",
            "calldata_variants": [
                "0xce9c095d",
                "0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebd0f693",
            "selector": "0xebd0f693",
            "calldata_variants": [
                "0xebd0f693",
                "0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 7450,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2
call_targets: 0xb16c1342e617a5b6e4b631eb114483fdb289c0a4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb16c1342e617a5b6e4b631eb114483fdb289c0a4"
    ],
    "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": "0xad2e5770",
            "selector": "0xad2e5770",
            "calldata_variants": [
                "0xad2e5770",
                "0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb483eddc",
            "selector": "0xb483eddc",
            "calldata_variants": [
                "0xb483eddc",
                "0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc5bc20b",
            "selector": "0xcc5bc20b",
            "calldata_variants": [
                "0xcc5bc20b",
                "0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce9c095d",
            "selector": "0xce9c095d",
            "calldata_variants": [
                "0xce9c095d",
                "0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebd0f693",
            "selector": "0xebd0f693",
            "calldata_variants": [
                "0xebd0f693",
                "0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1958,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4937,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5228,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 7450,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 8
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2
call_targets: 0xb16c1342e617a5b6e4b631eb114483fdb289c0a4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8774ab843038177c70b70de6b35398dc7e17142fe1d5a305bc3ee3c31ec1d5b2",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb16c1342e617a5b6e4b631eb114483fdb289c0a4"
    ],
    "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": "0xad2e5770",
            "selector": "0xad2e5770",
            "calldata_variants": [
                "0xad2e5770",
                "0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb483eddc",
            "selector": "0xb483eddc",
            "calldata_variants": [
                "0xb483eddc",
                "0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc5bc20b",
            "selector": "0xcc5bc20b",
            "calldata_variants": [
                "0xcc5bc20b",
                "0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce9c095d",
            "selector": "0xce9c095d",
            "calldata_variants": [
                "0xce9c095d",
                "0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebd0f693",
            "selector": "0xebd0f693",
            "calldata_variants": [
                "0xebd0f693",
                "0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1958,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4937,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5228,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 7450,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xf2b81c9eb65493a7899300ffb820262d936b3adb0781e6c3973946190f2602b0
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xf2b81c9eb65493a7899300ffb820262d936b3adb0781e6c3973946190f2602b0",
    "confirmed": false,
    "trace_mode": "structLogs",
    "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": "0xad2e5770",
            "selector": "0xad2e5770",
            "calldata_variants": [
                "0xad2e5770",
                "0xad2e57700000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb483eddc",
            "selector": "0xb483eddc",
            "calldata_variants": [
                "0xb483eddc",
                "0xb483eddc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc5bc20b",
            "selector": "0xcc5bc20b",
            "calldata_variants": [
                "0xcc5bc20b",
                "0xcc5bc20b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xce9c095d",
            "selector": "0xce9c095d",
            "calldata_variants": [
                "0xce9c095d",
                "0xce9c095d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xebd0f693",
            "selector": "0xebd0f693",
            "calldata_variants": [
                "0xebd0f693",
                "0xebd0f6930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x715018a6",
            "selector": "0x715018a6",
            "calldata_variants": [
                "0x715018a6",
                "0x715018a60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8da5cb5b",
            "selector": "0x8da5cb5b",
            "calldata_variants": [
                "0x8da5cb5b",
                "0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 2,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 2,
    "create2_count": 1
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 7
}