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

Analysis Run

882ae0e9-fd6a-4ceb-881d-f1d42a224906

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 8:49 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30762 report.consolidate complete 1 / 1 3 months ago
75568 artifact.fetch complete 1 / 3 1 week ago
75569 tool.cast_disasm complete 1 / 3 1 week ago
75570 analysis.bundle complete 1 / 3 1 week ago
75571 capability.graph complete 1 / 3 1 week ago
75572 detector.run complete 1 / 3 1 week ago
75573 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
1
No findings?
no
Summary
Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.
View stderr
[codex:526551] OpenAI Codex v0.77.0 (research preview)
[codex:526551] --------
[codex:526551] workdir: /tmp/codex-multi-qfq_8lp1
[codex:526551] model: gpt-5.2-codex
[codex:526551] provider: openai
[codex:526551] approval: never
[codex:526551] sandbox: read-only
[codex:526551] reasoning effort: xhigh
[codex:526551] reasoning summaries: auto
[codex:526551] session id: 019b70fe-1e2d-76a0-8c29-480e6556d8ff
[codex:526551] --------
[codex:526551] user
[codex:526551] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:526551] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:526551] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:526551] 
[codex:526551] Scope rules:
[codex:526551] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:526551] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:526551] 
[codex:526551] Output MUST be valid JSON matching the provided schema.
[codex:526551] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:526551] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:526551] 
[codex:526551] Output constraints (IMPORTANT):
[codex:526551] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:526551] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:526551] mcp startup: no servers
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Preparing to audit AUDIT_BUNDLE**
[codex:526551] exec
[codex:526551] /bin/bash -lc ls in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] AUDIT_BUNDLE.txt
[codex:526551] codex-output-schema.json
[codex:526551] contracts
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:526551] 
[codex:526551] ================================================================================
[codex:526551] FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:526551] ================================================================================
[codex:526551] // SPDX-License-Identifier: MIT
[codex:526551] 
[codex:526551] pragma solidity ^0.6.0;
[codex:526551] 
[codex:526551] /*
[codex:526551]  * @dev Provides information about the current execution context, including the
[codex:526551]  * sender of the transaction and its data. While these are generally available
[codex:526551]  * via msg.sender and msg.data, they should not be accessed in such a direct
[codex:526551]  * manner, since when dealing with GSN meta-transactions the account sending and
[codex:526551]  * paying for execution may not be the actual sender (as far as an application
[codex:526551]  * is concerned).
[codex:526551]  *
[codex:526551]  * This contract is only required for intermediate, library-like contracts.
[codex:526551]  */
[codex:526551] abstract contract Context {
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Searching full AUDIT_BUNDLE file**
[codex:526551] exec
[codex:526551] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551] 4:FILE: contracts/@openzeppelin/contracts/GSN/Context.sol
[codex:526551] 32:FILE: contracts/@openzeppelin/contracts/math/SafeMath.sol
[codex:526551] 195:FILE: contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:526551] 506:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:526551] 587:FILE: contracts/@openzeppelin/contracts/token/ERC20/SafeERC20.sol
[codex:526551] 666:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:526551] 811:FILE: contracts/@openzeppelin/contracts/utils/ReentrancyGuard.sol
[codex:526551] 877:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/BytesLib.sol
[codex:526551] 1387:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol
[codex:526551] 1704:FILE: contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/WrappedAsset.sol
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Planning thorough contract review**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '180,360p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551]      * Counterpart to Solidity's `%` operator. This function uses a `revert`
[codex:526551]      * opcode (which leaves remaining gas untouched) while Solidity uses an
[codex:526551]      * invalid opcode to revert (consuming all remaining gas).
[codex:526551]      *
[codex:526551]      * Requirements:
[codex:526551]      *
[codex:526551]      * - The divisor cannot be zero.
[codex:526551]      */
[codex:526551]     function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
[codex:526551]         require(b != 0, errorMessage);
[codex:526551]         return a % b;
[codex:526551]     }
[codex:526551] }
[codex:526551] 
[codex:526551] ================================================================================
[codex:526551] FILE: contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:526551] ================================================================================
[codex:526551] // SPDX-License-Identifier: MIT
[codex:526551] 
[codex:526551] pragma solidity ^0.6.0;
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Continuing to review AUDIT_BUNDLE thoroughly**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '360,720p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551]      *
[codex:526551]      * Emits an {Approval} event indicating the updated allowance.
[codex:526551]      *
[codex:526551]      * Requirements:
[codex:526551]      *
[codex:526551]      * - `spender` cannot be the zero address.
[codex:526551]      */
[codex:526551]     function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
[codex:526551]         _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
[codex:526551]         return true;
[codex:526551]     }
[codex:526551] 
[codex:526551]     /**
[codex:526551]      * @dev Atomically decreases the allowance granted to `spender` by the caller.
[codex:526551]      *
[codex:526551]      * This is an alternative to {approve} that can be used as a mitigation for
[codex:526551]      * problems described in {IERC20-approve}.
[codex:526551]      *
[codex:526551]      * Emits an {Approval} event indicating the updated allowance.
[codex:526551]      *
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Continuing exploration**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '720,1080p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551]     function sendValue(address payable recipient, uint256 amount) internal {
[codex:526551]         require(address(this).balance >= amount, "Address: insufficient balance");
[codex:526551] 
[codex:526551]         // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
[codex:526551]         (bool success, ) = recipient.call{ value: amount }("");
[codex:526551]         require(success, "Address: unable to send value, recipient may have reverted");
[codex:526551]     }
[codex:526551] 
[codex:526551]     /**
[codex:526551]      * @dev Performs a Solidity function call using a low level `call`. A
[codex:526551]      * plain`call` is an unsafe replacement for a function call: use this
[codex:526551]      * function instead.
[codex:526551]      *
[codex:526551]      * If `target` reverts with a revert reason, it is bubbled up by this
[codex:526551]      * function (like regular Solidity function calls).
[codex:526551]      *
[codex:526551]      * Returns the raw returned data. To convert to the expected return value,
[codex:526551]      * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
[codex:526551]      *
[codex:526551]      * Requirements:
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Continuing exploration**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1080,1440p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551]                 let slengthmod := mod(slength, 32)
[codex:526551]                 let mlengthmod := mod(mlength, 32)
[codex:526551]                 let submod := sub(32, slengthmod)
[codex:526551]                 let mc := add(_postBytes, submod)
[codex:526551]                 let end := add(_postBytes, mlength)
[codex:526551]                 let mask := sub(exp(0x100, submod), 1)
[codex:526551] 
[codex:526551]                 sstore(sc, add(sload(sc), and(mload(mc), mask)))
[codex:526551] 
[codex:526551]                 for {
[codex:526551]                     sc := add(sc, 1)
[codex:526551]                     mc := add(mc, 0x20)
[codex:526551]                 } lt(mc, end) {
[codex:526551]                     sc := add(sc, 1)
[codex:526551]                     mc := add(mc, 0x20)
[codex:526551]                 } {
[codex:526551]                     sstore(sc, mload(mc))
[codex:526551]                 }
[codex:526551] 
[codex:526551]                 mask := exp(0x100, sub(mc, end))
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Continuing with Wormhole file**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1440,1800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551]     struct ParsedVAA {
[codex:526551]         uint8 version;
[codex:526551]         bytes32 hash;
[codex:526551]         uint32 guardian_set_index;
[codex:526551]         uint32 timestamp;
[codex:526551]         uint8 action;
[codex:526551]         bytes payload;
[codex:526551]     }
[codex:526551] 
[codex:526551]     // Mapping of guardian_set_index => guardian set
[codex:526551]     mapping(uint32 => GuardianSet) public guardian_sets;
[codex:526551]     // Current active guardian set
[codex:526551]     uint32 public guardian_set_index;
[codex:526551] 
[codex:526551]     // Period for which a guardian set stays active after it has been replaced
[codex:526551]     uint32 public guardian_set_expirity;
[codex:526551] 
[codex:526551]     // Mapping of already consumedVAAs
[codex:526551]     mapping(bytes32 => bool) public consumedVAAs;
[codex:526551] 
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Continuing review**
[codex:526551] exec
[codex:526551] /bin/bash -lc "sed -n '1800,2160p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-qfq_8lp1 succeeded in 5ms:
[codex:526551]     /**
[codex:526551]      * @dev Returns the symbol of the token, usually a shorter version of the
[codex:526551]      * name.
[codex:526551]      */
[codex:526551]     function symbol() public view returns (string memory) {
[codex:526551]         return _symbol;
[codex:526551]     }
[codex:526551] 
[codex:526551]     /**
[codex:526551]      * @dev Returns the number of decimals used to get its user representation.
[codex:526551]      * For example, if `decimals` equals `2`, a balance of `505` tokens should
[codex:526551]      * be displayed to a user as `5,05` (`505 / 10 ** 2`).
[codex:526551]      *
[codex:526551]      * Tokens usually opt for a value of 18, imitating the relationship between
[codex:526551]      * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
[codex:526551]      * called.
[codex:526551]      *
[codex:526551]      * NOTE: This information is only used for _display_ purposes: it in
[codex:526551]      * no way affects any of the arithmetic of the contract, including
[codex:526551]      * {IERC20-balanceOf} and {IERC20-transfer}.
[codex:526551] 
[codex:526551] 
[codex:526551] 
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Evaluating security aspects in Wormhole contract**
[codex:526551] 
[codex:526551] I'm carefully auditing the Wormhole contract focusing on vulnerabilities like reentrancy, access control, signature validation, and upgrade patterns; I’m analyzing key functions and internal logic to identify potential issues such as signature malleability, DoS from decimals underflow, unchecked create2 results, and quorum calculations, while considering how these interact with state and external calls.
[codex:526551] thinking
[codex:526551] **Detailing nuanced token and VAA handling risks**
[codex:526551] 
[codex:526551] I’m dissecting subtler issues like rounding dust in ETH locking, token decimals causing possible overflow or revert, potential replay across guardian sets due to hash domain choices, token amount scaling inconsistencies on cross-chain transfers, and reentrancy protections around external token calls, while also confirming that expected invariant checks and nonReentrant guards mitigate many concerns.
[codex:526551] thinking
[codex:526551] **Examining guardian set logic and token handling checks**
[codex:526551] 
[codex:526551] I’m analyzing how guardian set expiration, quorum verification, and asset wrapping interplay, including the handling of token decimals and edge cases like failed create2 deploying zero addresses, ensuring the contract’s logic safely manages signature indices, non-reentrancy, and token amount limits while considering subtle effects of token upgrades or deflationary tokens on bridging correctness.
[codex:526551] thinking
[codex:526551] **Detailing decimal edge cases and signature quorum calculations**
[codex:526551] 
[codex:526551] I'm reviewing how decimal values beyond common ranges might cause arithmetic issues like overflow or underflow in token amount computations, alongside closely inspecting quorum thresholds and signature validation nuances, as well as calling out initialization and transfer behaviors that could influence the contract’s robustness during bridging operations.
[codex:526551] exec
[codex:526551] /bin/bash -lc 'rg -n "lockAssets" contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol' in /tmp/codex-multi-qfq_8lp1 succeeded in 7ms:
[codex:526551] 232:    function lockAssets(
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Preparing to display lines with numbers**
[codex:526551] exec
[codex:526551] /bin/bash -lc "nl -ba contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol | sed -n '248,310p'" in /tmp/codex-multi-qfq_8lp1 succeeded in 6ms:
[codex:526551]    248	            asset_chain = WrappedAsset(asset).assetChain();
[codex:526551]    249	            asset_address = WrappedAsset(asset).assetAddress();
[codex:526551]    250	        } else {
[codex:526551]    251	            uint256 balanceBefore = IERC20(asset).balanceOf(address(this));
[codex:526551]    252	            IERC20(asset).safeTransferFrom(msg.sender, address(this), amount);
[codex:526551]    253	            uint256 balanceAfter = IERC20(asset).balanceOf(address(this));
[codex:526551]    254	
[codex:526551]    255	            // The amount that was transferred in is the delta between balance before and after the transfer.
[codex:526551]    256	            // This is to properly handle tokens that charge a fee on transfer.
[codex:526551]    257	            amount = balanceAfter.sub(balanceBefore);
[codex:526551]    258	
[codex:526551]    259	            // Decimal adjust amount - we keep the dust
[codex:526551]    260	            if (decimals > 9) {
[codex:526551]    261	                uint256 original_amount = amount;
[codex:526551]    262	                amount = amount.div(10 ** uint256(decimals - 9));
[codex:526551]    263	
[codex:526551]    264	                if (refund_dust) {
[codex:526551]    265	                    IERC20(asset).safeTransfer(msg.sender, original_amount.mod(10 ** uint256(decimals - 9)));
[codex:526551]    266	                }
[codex:526551]    267	
[codex:526551] 
[codex:526551] 
[codex:526551] 
[codex:526551] thinking
[codex:526551] **Analyzing contract for subtle vulnerabilities**
[codex:526551] thinking
[codex:526551] **Identifying token decimals underflow bug**
[codex:526551] 
[codex:526551] I'll describe a math underflow bug in the `lockAssets` function that causes bridging tokens with decimals fewer than 9 to revert, leading to a denial-of-service that prevents locking such tokens. This issue arises because the code subtracts 9 from decimals without checking if decimals is less than 9, causing a large exponent that results in division by zero and transaction revert.
[codex:526551] thinking
[codex:526551] ```json
[codex:526551] {
[codex:526551]   "no_findings": false,
[codex:526551]   "summary": "Found 1 issue in Wormhole.lockAssets causing revert for tokens with less than 9 decimals due to underflow in balance cap calculation.",
[codex:526551]   "findings": [
[codex:526551]     {
[codex:526551]       "severity": "medium",
[codex:526551]       "category": "math",
[codex:526551]       "title": "Underflow in balance cap check blocks tokens with less than 9 decimals",
[codex:526551]       "exploit_scenario": "A user tries to lock a token with decimals less than 9 (e.g., USDC with 6 decimals). The calculation `ERC20(asset).decimals() - 9` underflows, making `10**(large uint)` evaluate incorrectly and causing a division by zero in SafeMath, which reverts the transaction. This prevents bridging such tokens and results in a denial-of-service.",
[codex:526551]       "recommendation": "Guard against tokens with decimals less than 9 by adding explicit checks or adjusting the scaling logic. For example, use a conditional to set the divisor to 1 when decimals are less than 9, or reject such tokens with a clear error. Cache decimals in a variable and avoid underflow in exponentiation.",
[codex:526551]       "evidence": "The problematic code occurs at `require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` in the `lockAssets` function.",
[codex:526551]       "locations": [
[codex:526551]         "contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
[codex:526551]       ]
[codex:526551]     }
[codex:526551]   ]
[codex:526551] }
[codex:526551] ```
[codex:526551] codex
[codex:526551] {"no_findings":false,"summary":"Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.","findings":[{"severity":"medium","category":"math","title":"Underflow in balance cap check blocks tokens with <9 decimals","exploit_scenario":"When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens.","recommendation":"Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.","evidence":"`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.","locations":["contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"]}]}
[codex:526551] tokens used
[codex:526551] 52,792
[codex:526551] {"no_findings":false,"summary":"Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.","findings":[{"severity":"medium","category":"math","title":"Underflow in balance cap check blocks tokens with <9 decimals","exploit_scenario":"When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens.","recommendation":"Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.","evidence":"`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.","locations":["contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T20:49:36.831536+00:00",
        "returncode": 0
    },
    "summary": "Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.",
    "raw_final": {
        "summary": "Found 1 issue in Wormhole.lockAssets where a decimals underflow causes the bridge to revert for assets with fewer than 9 decimals.",
        "findings": [
            {
                "title": "Underflow in balance cap check blocks tokens with <9 decimals",
                "category": "math",
                "evidence": "`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.",
                "severity": "medium",
                "locations": [
                    "contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
                ],
                "recommendation": "Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.",
                "exploit_scenario": "When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
14
EXT*/BALANCE
12
Total opcodes
6331
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00ab
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x70713960
00000019: GT
0000001a: PUSH2 0x0064
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x70713960
00000024: EQ
00000025: PUSH2 0x01c3
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0x822d82b3
0000002f: EQ
00000030: PUSH2 0x01e3
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0x99da1d3c
0000003a: EQ
0000003b: PUSH2 0x01f8
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xa31fe409
00000045: EQ
00000046: PUSH2 0x021a
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xb6694c2a
00000050: EQ
00000051: PUSH2 0x023a
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf951975a
0000005b: EQ
0000005c: PUSH2 0x025a
0000005f: JUMPI
00000060: PUSH2 0x00d1
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x1a2be4da
0000006b: EQ
0000006c: PUSH2 0x00e9
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x3bc0aee6
00000076: EQ
00000077: PUSH2 0x011f
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0x42b0aefa
00000081: EQ
00000082: PUSH2 0x0141
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0x4db47840
0000008c: EQ
0000008d: PUSH2 0x016e
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x58d62e46
00000097: EQ
00000098: PUSH2 0x0183
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x600b9aa6
000000a2: EQ
000000a3: PUSH2 0x0196
000000a6: JUMPI
000000a7: PUSH2 0x00d1
000000aa: JUMP
000000ab: JUMPDEST
000000ac: CALLDATASIZE
000000ad: PUSH2 0x00d1
000000b0: JUMPI
000000b1: PUSH1 0x40
000000b3: MLOAD
000000b4: PUSH3 0x461bcd
000000b8: PUSH1 0xe5
000000ba: SHL
000000bb: DUP2
000000bc: MSTORE
000000bd: PUSH1 0x04
000000bf: ADD
000000c0: PUSH2 0x00c8
000000c3: SWAP1
000000c4: PUSH2 0x1fb0
000000c7: JUMP
000000c8: JUMPDEST
000000c9: PUSH1 0x40
000000cb: MLOAD
000000cc: DUP1
000000cd: SWAP2
000000ce: SUB
000000cf: SWAP1
000000d0: REVERT
000000d1: JUMPDEST
000000d2: PUSH1 0x40
000000d4: MLOAD
000000d5: PUSH3 0x461bcd
000000d9: PUSH1 0xe5
000000db: SHL
000000dc: DUP2
000000dd: MSTORE
000000de: PUSH1 0x04
000000e0: ADD
000000e1: PUSH2 0x00c8
000000e4: SWAP1
000000e5: PUSH2 0x1fb0
000000e8: JUMP
000000e9: JUMPDEST
000000ea: CALLVALUE
000000eb: DUP1
000000ec: ISZERO
000000ed: PUSH2 0x00f5
000000f0: JUMPI
000000f1: PUSH1 0x00
000000f3: DUP1
000000f4: REVERT
000000f5: JUMPDEST
000000f6: POP
000000f7: PUSH2 0x0109
000000fa: PUSH2 0x0104
000000fd: CALLDATASIZE
000000fe: PUSH1 0x04
00000100: PUSH2 0x1c59
00000103: JUMP
00000104: JUMPDEST
00000105: PUSH2 0x0287
00000108: JUMP
00000109: JUMPDEST
0000010a: PUSH1 0x40
0000010c: MLOAD
0000010d: PUSH2 0x0116
00000110: SWAP2
00000111: SWAP1
00000112: PUSH2 0x1ece
00000115: JUMP
00000116: JUMPDEST
00000117: PUSH1 0x40
00000119: MLOAD
0000011a: DUP1
0000011b: SWAP2
0000011c: SUB
0000011d: SWAP1
0000011e: RETURN
0000011f: JUMPDEST
00000120: CALLVALUE
00000121: DUP1
00000122: ISZERO
00000123: PUSH2 0x012b
00000126: JUMPI
00000127: PUSH1 0x00
00000129: DUP1
0000012a: REVERT
0000012b: JUMPDEST
0000012c: POP
0000012d: PUSH2 0x013f
00000130: PUSH2 0x013a
00000133: CALLDATASIZE
00000134: PUSH1 0x04
00000136: PUSH2 0x1d6b
00000139: JUMP
0000013a: JUMPDEST
0000013b: PUSH2 0x029c
0000013e: JUMP
0000013f: JUMPDEST
00000140: STOP
00000141: JUMPDEST
00000142: CALLVALUE
00000143: DUP1
00000144: ISZERO
00000145: PUSH2 0x014d
00000148: JUMPI
00000149: PUSH1 0x00
0000014b: DUP1
0000014c: REVERT
0000014d: JUMPDEST
0000014e: POP
0000014f: PUSH2 0x0161
00000152: PUSH2 0x015c
00000155: CALLDATASIZE
00000156: PUSH1 0x04
00000158: PUSH2 0x1dd8
0000015b: JUMP
0000015c: JUMPDEST
0000015d: PUSH2 0x0386
00000160: JUMP
00000161: JUMPDEST
00000162: PUSH1 0x40
00000164: MLOAD
00000165: PUSH2 0x0116
00000168: SWAP2
00000169: SWAP1
0000016a: PUSH2 0x24b1
0000016d: JUMP
0000016e: JUMPDEST
0000016f: CALLVALUE
00000170: DUP1
00000171: ISZERO
00000172: PUSH2 0x017a
00000175: JUMPI
00000176: PUSH1 0x00
00000178: DUP1
00000179: REVERT
0000017a: JUMPDEST
0000017b: POP
0000017c: PUSH2 0x0161
0000017f: PUSH2 0x03a1
00000182: JUMP
00000183: JUMPDEST
00000184: PUSH2 0x013f
00000187: PUSH2 0x0191
0000018a: CALLDATASIZE
0000018b: PUSH1 0x04
0000018d: PUSH2 0x1d2d
00000190: JUMP
00000191: JUMPDEST
00000192: PUSH2 0x03b5
00000195: JUMP
00000196: JUMPDEST
00000197: CALLVALUE
00000198: DUP1
00000199: ISZERO
0000019a: PUSH2 0x01a2
0000019d: JUMPI
0000019e: PUSH1 0x00
000001a0: DUP1
000001a1: REVERT
000001a2: JUMPDEST
000001a3: POP
000001a4: PUSH2 0x01b6
000001a7: PUSH2 0x01b1
000001aa: CALLDATASIZE
000001ab: PUSH1 0x04
000001ad: PUSH2 0x1d6b
000001b0: JUMP
000001b1: JUMPDEST
000001b2: PUSH2 0x0559
000001b5: JUMP
000001b6: JUMPDEST
000001b7: PUSH1 0x40
000001b9: MLOAD
000001ba: PUSH2 0x0116
000001bd: SWAP2
000001be: SWAP1
000001bf: PUSH2 0x2452
000001c2: JUMP
000001c3: JUMPDEST
000001c4: CALLVALUE
000001c5: DUP1
000001c6: ISZERO
000001c7: PUSH2 0x01cf
000001ca: JUMPI
000001cb: PUSH1 0x00
000001cd: DUP1
000001ce: REVERT
000001cf: JUMPDEST
000001d0: POP
000001d1: PUSH2 0x013f
000001d4: PUSH2 0x01de
000001d7: CALLDATASIZE
000001d8: PUSH1 0x04
000001da: PUSH2 0x1c74
000001dd: JUMP
000001de: JUMPDEST
000001df: PUSH2 0x0b43
000001e2: JUMP
000001e3: JUMPDEST
000001e4: CALLVALUE
000001e5: DUP1
000001e6: ISZERO
000001e7: PUSH2 0x01ef
000001ea: JUMPI
000001eb: PUSH1 0x00
000001ed: DUP1
000001ee: REVERT
000001ef: JUMPDEST
000001f0: POP
000001f1: PUSH2 0x0161
000001f4: PUSH2 0x1045
000001f7: JUMP
000001f8: JUMPDEST
000001f9: CALLVALUE
000001fa: DUP1
000001fb: ISZERO
000001fc: PUSH2 0x0204
000001ff: JUMPI
00000200: PUSH1 0x00
00000202: DUP1
00000203: REVERT
00000204: JUMPDEST
00000205: POP
00000206: PUSH2 0x020d
00000209: PUSH2 0x1051
0000020c: JUMP
0000020d: JUMPDEST
0000020e: PUSH1 0x40
00000210: MLOAD
00000211: PUSH2 0x0116
00000214: SWAP2
00000215: SWAP1
00000216: PUSH2 0x1e7d
00000219: JUMP
0000021a: JUMPDEST
0000021b: CALLVALUE
0000021c: DUP1
0000021d: ISZERO
0000021e: PUSH2 0x0226
00000221: JUMPI
00000222: PUSH1 0x00
00000224: DUP1
00000225: REVERT
00000226: JUMPDEST
00000227: POP
00000228: PUSH2 0x0109
0000022b: PUSH2 0x0235
0000022e: CALLDATASIZE
0000022f: PUSH1 0x04
00000231: PUSH2 0x1cfd
00000234: JUMP
00000235: JUMPDEST
00000236: PUSH2 0x1060
00000239: JUMP
0000023a: JUMPDEST
0000023b: CALLVALUE
0000023c: DUP1
0000023d: ISZERO
0000023e: PUSH2 0x0246
00000241: JUMPI
00000242: PUSH1 0x00
00000244: DUP1
00000245: REVERT
00000246: JUMPDEST
00000247: POP
00000248: PUSH2 0x020d
0000024b: PUSH2 0x0255
0000024e: CALLDATASIZE
0000024f: PUSH1 0x04
00000251: PUSH2 0x1cfd
00000254: JUMP
00000255: JUMPDEST
00000256: PUSH2 0x1075
00000259: JUMP
0000025a: JUMPDEST
0000025b: CALLVALUE
0000025c: DUP1
0000025d: ISZERO
0000025e: PUSH2 0x0266
00000261: JUMPI
00000262: PUSH1 0x00
00000264: DUP1
00000265: REVERT
00000266: JUMPDEST
00000267: POP
00000268: PUSH2 0x027a
0000026b: PUSH2 0x0275
0000026e: CALLDATASIZE
0000026f: PUSH1 0x04
00000271: PUSH2 0x1dd8
00000274: JUMP
00000275: JUMPDEST
00000276: PUSH2 0x1090
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH1 0x40
0000027d: MLOAD
0000027e: PUSH2 0x0116
00000281: SWAP2
00000282: SWAP1
00000283: PUSH2 0x23e7
00000286: JUMP
00000287: JUMPDEST
00000288: PUSH1 0x06
0000028a: PUSH1 0x20
0000028c: MSTORE
0000028d: PUSH1 0x00
0000028f: SWAP1
00000290: DUP2
00000291: MSTORE
00000292: PUSH1 0x40
00000294: SWAP1
00000295: KECCAK256
00000296: SLOAD
00000297: PUSH1 0xff
00000299: AND
0000029a: DUP2
0000029b: JUMP
0000029c: JUMPDEST
0000029d: PUSH1 0x02
0000029f: PUSH1 0x00
000002a1: SLOAD
000002a2: EQ
000002a3: ISZERO
000002a4: PUSH2 0x02bf
000002a7: JUMPI
000002a8: PUSH1 0x40
000002aa: MLOAD
000002ab: PUSH3 0x461bcd
000002af: PUSH1 0xe5
000002b1: SHL
000002b2: DUP2
000002b3: MSTORE
000002b4: PUSH1 0x04
000002b6: ADD
000002b7: PUSH2 0x00c8
000002ba: SWAP1
000002bb: PUSH2 0x2382
000002be: JUMP
000002bf: JUMPDEST
000002c0: PUSH1 0x02
000002c2: PUSH1 0x00
000002c4: SSTORE
000002c5: PUSH2 0x02cc
000002c8: PUSH2 0x1b5b
000002cb: JUMP
000002cc: JUMPDEST
000002cd: PUSH2 0x02d6
000002d0: DUP4
000002d1: DUP4
000002d2: PUSH2 0x0559
000002d5: JUMP
000002d6: JUMPDEST
000002d7: SWAP1
000002d8: POP
000002d9: DUP1
000002da: PUSH1 0x80
000002dc: ADD
000002dd: MLOAD
000002de: PUSH1 0xff
000002e0: AND
000002e1: PUSH1 0x01
000002e3: EQ
000002e4: ISZERO
000002e5: PUSH2 0x0329
000002e8: JUMPI
000002e9: PUSH1 0x03
000002eb: SLOAD
000002ec: PUSH1 0x40
000002ee: DUP3
000002ef: ADD
000002f0: MLOAD
000002f1: PUSH4 0xffffffff
000002f6: SWAP1
000002f7: DUP2
000002f8: AND
000002f9: SWAP2
000002fa: AND
000002fb: EQ
000002fc: PUSH2 0x0317
000002ff: JUMPI
00000300: PUSH1 0x40
00000302: MLOAD
00000303: PUSH3 0x461bcd
00000307: PUSH1 0xe5
00000309: SHL
0000030a: DUP2
0000030b: MSTORE
0000030c: PUSH1 0x04
0000030e: ADD
0000030f: PUSH2 0x00c8
00000312: SWAP1
00000313: PUSH2 0x1ffc
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH2 0x0324
0000031b: DUP2
0000031c: PUSH1 0xa0
0000031e: ADD
0000031f: MLOAD
00000320: PUSH2 0x1128
00000323: JUMP
00000324: JUMPDEST
00000325: PUSH2 0x035e
00000328: JUMP
00000329: JUMPDEST
0000032a: DUP1
0000032b: PUSH1 0x80
0000032d: ADD
0000032e: MLOAD
0000032f: PUSH1 0xff
00000331: AND
00000332: PUSH1 0x10
00000334: EQ
00000335: ISZERO
00000336: PUSH2 0x0346
00000339: JUMPI
0000033a: PUSH2 0x0324
0000033d: DUP2
0000033e: PUSH1 0xa0
00000340: ADD
00000341: MLOAD
00000342: PUSH2 0x1309
00000345: JUMP
00000346: JUMPDEST
00000347: PUSH1 0x40
00000349: MLOAD
0000034a: PUSH3 0x461bcd
0000034e: PUSH1 0xe5
00000350: SHL
00000351: DUP2
00000352: MSTORE
00000353: PUSH1 0x04
00000355: ADD
00000356: PUSH2 0x00c8
00000359: SWAP1
0000035a: PUSH2 0x1f4d
0000035d: JUMP
0000035e: JUMPDEST
0000035f: PUSH1 0x20
00000361: SWAP1
00000362: DUP2
00000363: ADD
00000364: MLOAD
00000365: PUSH1 0x00
00000367: SWAP1
00000368: DUP2
00000369: MSTORE
0000036a: PUSH1 0x04
0000036c: SWAP1
0000036d: SWAP2
0000036e: MSTORE
0000036f: PUSH1 0x40
00000371: DUP2
00000372: KECCAK256
00000373: DUP1
00000374: SLOAD
00000375: PUSH1 0xff
00000377: NOT
00000378: AND
00000379: PUSH1 0x01
0000037b: SWAP1
0000037c: DUP2
0000037d: OR
0000037e: SWAP1
0000037f: SWAP2
00000380: SSTORE
00000381: SWAP1
00000382: SSTORE
00000383: POP
00000384: POP
00000385: JUMP
00000386: JUMPDEST
00000387: PUSH1 0x02
00000389: PUSH1 0x20
0000038b: MSTORE
0000038c: PUSH1 0x00
0000038e: SWAP1
0000038f: DUP2
00000390: MSTORE
00000391: PUSH1 0x40
00000393: SWAP1
00000394: KECCAK256
00000395: PUSH1 0x01
00000397: ADD
00000398: SLOAD
00000399: PUSH4 0xffffffff
0000039e: AND
0000039f: DUP2
000003a0: JUMP
000003a1: JUMPDEST
000003a2: PUSH1 0x03
000003a4: SLOAD
000003a5: PUSH5 0x0100000000
000003ab: SWAP1
000003ac: DIV
000003ad: PUSH4 0xffffffff
000003b2: AND
000003b3: DUP2
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH1 0x02
000003b8: PUSH1 0x00
000003ba: SLOAD
000003bb: EQ
000003bc: ISZERO
000003bd: PUSH2 0x03d8
000003c0: JUMPI
000003c1: PUSH1 0x40
000003c3: MLOAD
000003c4: PUSH3 0x461bcd
000003c8: PUSH1 0xe5
000003ca: SHL
000003cb: DUP2
000003cc: MSTORE
000003cd: PUSH1 0x04
000003cf: ADD
000003d0: PUSH2 0x00c8
000003d3: SWAP1
000003d4: PUSH2 0x2382
000003d7: JUMP
000003d8: JUMPDEST
000003d9: PUSH1 0x02
000003db: PUSH1 0x00
000003dd: SSTORE
000003de: PUSH1 0x01
000003e0: SLOAD
000003e1: PUSH1 0xff
000003e3: DUP4
000003e4: DUP2
000003e5: AND
000003e6: PUSH1 0x01
000003e8: PUSH1 0xa0
000003ea: SHL
000003eb: SWAP1
000003ec: SWAP3
000003ed: DIV
000003ee: AND
000003ef: EQ
000003f0: ISZERO
000003f1: PUSH2 0x040c
000003f4: JUMPI
000003f5: PUSH1 0x40
000003f7: MLOAD
000003f8: PUSH3 0x461bcd
000003fc: PUSH1 0xe5
000003fe: SHL
000003ff: DUP2
00000400: MSTORE
00000401: PUSH1 0x04
00000403: ADD
00000404: PUSH2 0x00c8
00000407: SWAP1
00000408: PUSH2 0x20bc
0000040b: JUMP
0000040c: JUMPDEST
0000040d: PUSH1 0x00
0000040f: PUSH2 0x041c
00000412: CALLVALUE
00000413: PUSH4 0x3b9aca00
00000418: PUSH2 0x1565
0000041b: JUMP
0000041c: JUMPDEST
0000041d: SWAP1
0000041e: POP
0000041f: PUSH1 0x00
00000421: PUSH2 0x042e
00000424: CALLVALUE
00000425: PUSH4 0x3b9aca00
0000042a: PUSH2 0x15b0
0000042d: JUMP
0000042e: JUMPDEST
0000042f: SWAP1
00000430: POP
00000431: DUP1
00000432: PUSH2 0x044d
00000435: JUMPI
00000436: PUSH1 0x40
00000438: MLOAD
00000439: PUSH3 0x461bcd
0000043d: PUSH1 0xe5
0000043f: SHL
00000440: DUP2
00000441: MSTORE
00000442: PUSH1 0x04
00000444: ADD
00000445: PUSH2 0x00c8
00000448: SWAP1
00000449: PUSH2 0x216f
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH1 0x40
00000450: MLOAD
00000451: CALLER
00000452: SWAP1
00000453: DUP4
00000454: ISZERO
00000455: PUSH2 0x08fc
00000458: MUL
00000459: SWAP1
0000045a: DUP5
0000045b: SWAP1
0000045c: PUSH1 0x00
0000045e: DUP2
0000045f: DUP2
00000460: DUP2
00000461: DUP6
00000462: DUP9
00000463: DUP9
00000464: CALL
00000465: SWAP4
00000466: POP
00000467: POP
00000468: POP
00000469: POP
0000046a: ISZERO
0000046b: DUP1
0000046c: ISZERO
0000046d: PUSH2 0x047a
00000470: JUMPI
00000471: RETURNDATASIZE
00000472: PUSH1 0x00
00000474: DUP1
00000475: RETURNDATACOPY
00000476: RETURNDATASIZE
00000477: PUSH1 0x00
00000479: REVERT
0000047a: JUMPDEST
0000047b: POP
0000047c: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000491: PUSH1 0x01
00000493: PUSH1 0x01
00000495: PUSH1 0xa0
00000497: SHL
00000498: SUB
00000499: AND
0000049a: PUSH4 0xd0e30db0
0000049f: DUP4
000004a0: CALLVALUE
000004a1: SUB
000004a2: PUSH1 0x40
000004a4: MLOAD
000004a5: DUP3
000004a6: PUSH4 0xffffffff
000004ab: AND
000004ac: PUSH1 0xe0
000004ae: SHL
000004af: DUP2
000004b0: MSTORE
000004b1: PUSH1 0x04
000004b3: ADD
000004b4: PUSH1 0x00
000004b6: PUSH1 0x40
000004b8: MLOAD
000004b9: DUP1
000004ba: DUP4
000004bb: SUB
000004bc: DUP2
000004bd: DUP6
000004be: DUP9
000004bf: DUP1
000004c0: EXTCODESIZE
000004c1: ISZERO
000004c2: DUP1
000004c3: ISZERO
000004c4: PUSH2 0x04cc
000004c7: JUMPI
000004c8: PUSH1 0x00
000004ca: DUP1
000004cb: REVERT
000004cc: JUMPDEST
000004cd: POP
000004ce: GAS
000004cf: CALL
000004d0: ISZERO
000004d1: DUP1
000004d2: ISZERO
000004d3: PUSH2 0x04e0
000004d6: JUMPI
000004d7: RETURNDATASIZE
000004d8: PUSH1 0x00
000004da: DUP1
000004db: RETURNDATACOPY
000004dc: RETURNDATASIZE
000004dd: PUSH1 0x00
000004df: REVERT
000004e0: JUMPDEST
000004e1: POP
000004e2: POP
000004e3: PUSH1 0x01
000004e5: SLOAD
000004e6: PUSH1 0x40
000004e8: MLOAD
000004e9: CALLER
000004ea: SWAP5
000004eb: POP
000004ec: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000501: SWAP4
00000502: POP
00000503: PUSH32 0x6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab8
00000524: SWAP3
00000525: POP
00000526: PUSH2 0x0545
00000529: SWAP2
0000052a: DUP10
0000052b: SWAP2
0000052c: PUSH1 0x01
0000052e: PUSH1 0xa0
00000530: SHL
00000531: SWAP1
00000532: SWAP2
00000533: DIV
00000534: PUSH1 0xff
00000536: AND
00000537: SWAP1
00000538: PUSH1 0x09
0000053a: SWAP1
0000053b: DUP13
0000053c: SWAP1
0000053d: DUP10
0000053e: SWAP1
0000053f: DUP13
00000540: SWAP1
00000541: PUSH2 0x24f6
00000544: JUMP
00000545: JUMPDEST
00000546: PUSH1 0x40
00000548: MLOAD
00000549: DUP1
0000054a: SWAP2
0000054b: SUB
0000054c: SWAP1
0000054d: LOG3
0000054e: POP
0000054f: POP
00000550: PUSH1 0x01
00000552: PUSH1 0x00
00000554: SSTORE
00000555: POP
00000556: POP
00000557: POP
00000558: JUMP
00000559: JUMPDEST
0000055a: PUSH2 0x0561
0000055d: PUSH2 0x1b5b
00000560: JUMP
00000561: JUMPDEST
00000562: PUSH2 0x05a5
00000565: PUSH1 0x00
00000567: DUP5
00000568: DUP5
00000569: DUP1
0000056a: DUP1
0000056b: PUSH1 0x1f
0000056d: ADD
0000056e: PUSH1 0x20
00000570: DUP1
00000571: SWAP2
00000572: DIV
00000573: MUL
00000574: PUSH1 0x20
00000576: ADD
00000577: PUSH1 0x40
00000579: MLOAD
0000057a: SWAP1
0000057b: DUP2
0000057c: ADD
0000057d: PUSH1 0x40
0000057f: MSTORE
00000580: DUP1
00000581: SWAP4
00000582: SWAP3
00000583: SWAP2
00000584: SWAP1
00000585: DUP2
00000586: DUP2
00000587: MSTORE
00000588: PUSH1 0x20
0000058a: ADD
0000058b: DUP4
0000058c: DUP4
0000058d: DUP1
0000058e: DUP3
0000058f: DUP5
00000590: CALLDATACOPY
00000591: PUSH1 0x00
00000593: SWAP3
00000594: ADD
00000595: SWAP2
00000596: SWAP1
00000597: SWAP2
00000598: MSTORE
00000599: POP
0000059a: SWAP3
0000059b: SWAP4
0000059c: SWAP3
0000059d: POP
0000059e: POP
0000059f: PUSH2 0x15f2
000005a2: SWAP1
000005a3: POP
000005a4: JUMP
000005a5: JUMPDEST
000005a6: PUSH1 0xff
000005a8: AND
000005a9: DUP1
000005aa: DUP3
000005ab: MSTORE
000005ac: PUSH1 0x01
000005ae: EQ
000005af: PUSH2 0x05ca
000005b2: JUMPI
000005b3: PUSH1 0x40
000005b5: MLOAD
000005b6: PUSH3 0x461bcd
000005ba: PUSH1 0xe5
000005bc: SHL
000005bd: DUP2
000005be: MSTORE
000005bf: PUSH1 0x04
000005c1: ADD
000005c2: PUSH2 0x00c8
000005c5: SWAP1
000005c6: PUSH2 0x2085
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH2 0x060e
000005ce: PUSH1 0x01
000005d0: DUP5
000005d1: DUP5
000005d2: DUP1
000005d3: DUP1
000005d4: PUSH1 0x1f
000005d6: ADD
000005d7: PUSH1 0x20
000005d9: DUP1
000005da: SWAP2
000005db: DIV
000005dc: MUL
000005dd: PUSH1 0x20
000005df: ADD
000005e0: PUSH1 0x40
000005e2: MLOAD
000005e3: SWAP1
000005e4: DUP2
000005e5: ADD
000005e6: PUSH1 0x40
000005e8: MSTORE
000005e9: DUP1
000005ea: SWAP4
000005eb: SWAP3
000005ec: SWAP2
000005ed: SWAP1
000005ee: DUP2
000005ef: DUP2
000005f0: MSTORE
000005f1: PUSH1 0x20
000005f3: ADD
000005f4: DUP4
000005f5: DUP4
000005f6: DUP1
000005f7: DUP3
000005f8: DUP5
000005f9: CALLDATACOPY
000005fa: PUSH1 0x00
000005fc: SWAP3
000005fd: ADD
000005fe: SWAP2
000005ff: SWAP1
00000600: SWAP2
00000601: MSTORE
00000602: POP
00000603: SWAP3
00000604: SWAP4
00000605: SWAP3
00000606: POP
00000607: POP
00000608: PUSH2 0x1621
0000060b: SWAP1
0000060c: POP
0000060d: JUMP
0000060e: JUMPDEST
0000060f: PUSH4 0xffffffff
00000614: AND
00000615: PUSH1 0x40
00000617: DUP1
00000618: DUP4
00000619: ADD
0000061a: SWAP2
0000061b: SWAP1
0000061c: SWAP2
0000061d: MSTORE
0000061e: DUP1
0000061f: MLOAD
00000620: PUSH1 0x20
00000622: PUSH1 0x1f
00000624: DUP6
00000625: ADD
00000626: DUP2
00000627: SWAP1
00000628: DIV
00000629: DUP2
0000062a: MUL
0000062b: DUP3
0000062c: ADD
0000062d: DUP2
0000062e: ADD
0000062f: SWAP1
00000630: SWAP3
00000631: MSTORE
00000632: DUP4
00000633: DUP2
00000634: MSTORE
00000635: PUSH1 0x00
00000637: SWAP2
00000638: PUSH2 0x0661
0000063b: SWAP2
0000063c: PUSH1 0x05
0000063e: SWAP2
0000063f: DUP8
00000640: SWAP1
00000641: DUP8
00000642: SWAP1
00000643: DUP2
00000644: SWAP1
00000645: DUP5
00000646: ADD
00000647: DUP4
00000648: DUP3
00000649: DUP1
0000064a: DUP3
0000064b: DUP5
0000064c: CALLDATACOPY
0000064d: PUSH1 0x00
0000064f: SWAP3
00000650: ADD
00000651: SWAP2
00000652: SWAP1
00000653: SWAP2
00000654: MSTORE
00000655: POP
00000656: SWAP3
00000657: SWAP4
00000658: SWAP3
00000659: POP
0000065a: POP
0000065b: PUSH2 0x15f2
0000065e: SWAP1
0000065f: POP
00000660: JUMP
00000661: JUMPDEST
00000662: PUSH1 0xff
00000664: AND
00000665: SWAP1
00000666: POP
00000667: PUSH1 0x00
00000669: DUP2
0000066a: PUSH1 0x42
0000066c: MUL
0000066d: PUSH1 0x06
0000066f: ADD
00000670: SWAP1
00000671: POP
00000672: PUSH2 0x06b4
00000675: DUP2
00000676: DUP7
00000677: DUP7
00000678: DUP1
00000679: DUP1
0000067a: PUSH1 0x1f
0000067c: ADD
0000067d: PUSH1 0x20
0000067f: DUP1
00000680: SWAP2
00000681: DIV
00000682: MUL
00000683: PUSH1 0x20
00000685: ADD
00000686: PUSH1 0x40
00000688: MLOAD
00000689: SWAP1
0000068a: DUP2
0000068b: ADD
0000068c: PUSH1 0x40
0000068e: MSTORE
0000068f: DUP1
00000690: SWAP4
00000691: SWAP3
00000692: SWAP2
00000693: SWAP1
00000694: DUP2
00000695: DUP2
00000696: MSTORE
00000697: PUSH1 0x20
00000699: ADD
0000069a: DUP4
0000069b: DUP4
0000069c: DUP1
0000069d: DUP3
0000069e: DUP5
0000069f: CALLDATACOPY
000006a0: PUSH1 0x00
000006a2: SWAP3
000006a3: ADD
000006a4: SWAP2
000006a5: SWAP1
000006a6: SWAP2
000006a7: MSTORE
000006a8: POP
000006a9: SWAP3
000006aa: SWAP4
000006ab: SWAP3
000006ac: POP
000006ad: POP
000006ae: PUSH2 0x1621
000006b1: SWAP1
000006b2: POP
000006b3: JUMP
000006b4: JUMPDEST
000006b5: PUSH4 0xffffffff
000006ba: AND
000006bb: PUSH1 0x60
000006bd: DUP5
000006be: ADD
000006bf: MSTORE
000006c0: PUSH1 0x40
000006c2: DUP1
000006c3: MLOAD
000006c4: PUSH1 0x20
000006c6: PUSH1 0x1f
000006c8: DUP8
000006c9: ADD
000006ca: DUP2
000006cb: SWAP1
000006cc: DIV
000006cd: DUP2
000006ce: MUL
000006cf: DUP3
000006d0: ADD
000006d1: DUP2
000006d2: ADD
000006d3: SWAP1
000006d4: SWAP3
000006d5: MSTORE
000006d6: DUP6
000006d7: DUP2
000006d8: MSTORE
000006d9: PUSH2 0x0706
000006dc: SWAP2
000006dd: DUP4
000006de: SWAP2
000006df: DUP3
000006e0: DUP9
000006e1: SUB
000006e2: SWAP2
000006e3: DUP10
000006e4: SWAP1
000006e5: DUP10
000006e6: SWAP1
000006e7: DUP2
000006e8: SWAP1
000006e9: DUP5
000006ea: ADD
000006eb: DUP4
000006ec: DUP3
000006ed: DUP1
000006ee: DUP3
000006ef: DUP5
000006f0: CALLDATACOPY
000006f1: PUSH1 0x00
000006f3: SWAP3
000006f4: ADD
000006f5: SWAP2
000006f6: SWAP1
000006f7: SWAP2
000006f8: MSTORE
000006f9: POP
000006fa: SWAP3
000006fb: SWAP5
000006fc: SWAP4
000006fd: SWAP3
000006fe: POP
000006ff: POP
00000700: PUSH2 0x1650
00000703: SWAP1
00000704: POP
00000705: JUMP
00000706: JUMPDEST
00000707: DUP1
00000708: MLOAD
00000709: PUSH1 0x20
0000070b: SWAP2
0000070c: DUP3
0000070d: ADD
0000070e: KECCAK256
0000070f: DUP5
00000710: DUP3
00000711: ADD
00000712: DUP2
00000713: SWAP1
00000714: MSTORE
00000715: PUSH1 0x00
00000717: SWAP1
00000718: DUP2
00000719: MSTORE
0000071a: PUSH1 0x04
0000071c: SWAP1
0000071d: SWAP2
0000071e: MSTORE
0000071f: PUSH1 0x40
00000721: SWAP1
00000722: KECCAK256
00000723: SLOAD
00000724: PUSH1 0xff
00000726: AND
00000727: ISZERO
00000728: PUSH2 0x0743
0000072b: JUMPI
0000072c: PUSH1 0x40
0000072e: MLOAD
0000072f: PUSH3 0x461bcd
00000733: PUSH1 0xe5
00000735: SHL
00000736: DUP2
00000737: MSTORE
00000738: PUSH1 0x04
0000073a: ADD
0000073b: PUSH2 0x00c8
0000073e: SWAP1
0000073f: PUSH2 0x1f79
00000742: JUMP
00000743: JUMPDEST
00000744: PUSH2 0x074b
00000747: PUSH2 0x1b92
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH1 0x40
0000074e: DUP1
0000074f: DUP6
00000750: ADD
00000751: MLOAD
00000752: PUSH4 0xffffffff
00000757: AND
00000758: PUSH1 0x00
0000075a: SWAP1
0000075b: DUP2
0000075c: MSTORE
0000075d: PUSH1 0x02
0000075f: PUSH1 0x20
00000761: SWAP1
00000762: DUP2
00000763: MSTORE
00000764: SWAP1
00000765: DUP3
00000766: SWAP1
00000767: KECCAK256
00000768: DUP3
00000769: MLOAD
0000076a: DUP2
0000076b: SLOAD
0000076c: PUSH1 0x60
0000076e: SWAP4
0000076f: DUP2
00000770: MUL
00000771: DUP3
00000772: ADD
00000773: DUP5
00000774: ADD
00000775: DUP6
00000776: MSTORE
00000777: SWAP4
00000778: DUP2
00000779: ADD
0000077a: DUP5
0000077b: DUP2
0000077c: MSTORE
0000077d: SWAP1
0000077e: SWAP4
0000077f: SWAP2
00000780: SWAP3
00000781: DUP5
00000782: SWAP3
00000783: DUP5
00000784: SWAP2
00000785: DUP5
00000786: ADD
00000787: DUP3
00000788: DUP3
00000789: DUP1
0000078a: ISZERO
0000078b: PUSH2 0x07bd
0000078e: JUMPI
0000078f: PUSH1 0x20
00000791: MUL
00000792: DUP3
00000793: ADD
00000794: SWAP2
00000795: SWAP1
00000796: PUSH1 0x00
00000798: MSTORE
00000799: PUSH1 0x20
0000079b: PUSH1 0x00
0000079d: KECCAK256
0000079e: SWAP1
0000079f: JUMPDEST
000007a0: DUP2
000007a1: SLOAD
000007a2: PUSH1 0x01
000007a4: PUSH1 0x01
000007a6: PUSH1 0xa0
000007a8: SHL
000007a9: SUB
000007aa: AND
000007ab: DUP2
000007ac: MSTORE
000007ad: PUSH1 0x01
000007af: SWAP1
000007b0: SWAP2
000007b1: ADD
000007b2: SWAP1
000007b3: PUSH1 0x20
000007b5: ADD
000007b6: DUP1
000007b7: DUP4
000007b8: GT
000007b9: PUSH2 0x079f
000007bc: JUMPI
000007bd: JUMPDEST
000007be: POP
000007bf: POP
000007c0: POP
000007c1: SWAP2
000007c2: DUP4
000007c3: MSTORE
000007c4: POP
000007c5: POP
000007c6: PUSH1 0x01
000007c8: SWAP2
000007c9: SWAP1
000007ca: SWAP2
000007cb: ADD
000007cc: SLOAD
000007cd: PUSH4 0xffffffff
000007d2: AND
000007d3: PUSH1 0x20
000007d5: SWAP1
000007d6: SWAP2
000007d7: ADD
000007d8: MSTORE
000007d9: DUP1
000007da: MLOAD
000007db: MLOAD
000007dc: SWAP1
000007dd: SWAP2
000007de: POP
000007df: PUSH2 0x07fa
000007e2: JUMPI
000007e3: PUSH1 0x40
000007e5: MLOAD
000007e6: PUSH3 0x461bcd
000007ea: PUSH1 0xe5
000007ec: SHL
000007ed: DUP2
000007ee: MSTORE
000007ef: PUSH1 0x04
000007f1: ADD
000007f2: PUSH2 0x00c8
000007f5: SWAP1
000007f6: PUSH2 0x23b9
000007f9: JUMP
000007fa: JUMPDEST
000007fb: PUSH1 0x20
000007fd: DUP2
000007fe: ADD
000007ff: MLOAD
00000800: PUSH4 0xffffffff
00000805: AND
00000806: ISZERO
00000807: DUP1
00000808: PUSH2 0x081a
0000080b: JUMPI
0000080c: POP
0000080d: TIMESTAMP
0000080e: DUP2
0000080f: PUSH1 0x20
00000811: ADD
00000812: MLOAD
00000813: PUSH4 0xffffffff
00000818: AND
00000819: GT
0000081a: JUMPDEST
0000081b: PUSH2 0x0836
0000081e: JUMPI
0000081f: PUSH1 0x40
00000821: MLOAD
00000822: PUSH3 0x461bcd
00000826: PUSH1 0xe5
00000828: SHL
00000829: DUP2
0000082a: MSTORE
0000082b: PUSH1 0x04
0000082d: ADD
0000082e: PUSH2 0x00c8
00000831: SWAP1
00000832: PUSH2 0x2241
00000835: JUMP
00000836: JUMPDEST
00000837: DUP3
00000838: PUSH1 0x0a
0000083a: PUSH1 0x03
0000083c: DUP4
0000083d: PUSH1 0x00
0000083f: ADD
00000840: MLOAD
00000841: MLOAD
00000842: PUSH1 0x0a
00000844: MUL
00000845: DUP2
00000846: PUSH2 0x084b
00000849: JUMPI
0000084a: INVALID
0000084b: JUMPDEST
0000084c: DIV
0000084d: PUSH1 0x02
0000084f: MUL
00000850: DUP2
00000851: PUSH2 0x0856
00000854: JUMPI
00000855: INVALID
00000856: JUMPDEST
00000857: DIV
00000858: PUSH1 0x01
0000085a: ADD
0000085b: GT
0000085c: ISZERO
0000085d: PUSH2 0x0878
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 0x00c8
00000873: SWAP1
00000874: PUSH2 0x21e7
00000877: JUMP
00000878: JUMPDEST
00000879: PUSH1 0x00
0000087b: NOT
0000087c: PUSH1 0x00
0000087e: JUMPDEST
0000087f: DUP5
00000880: DUP2
00000881: LT
00000882: ISZERO
00000883: PUSH2 0x0a96
00000886: JUMPI
00000887: PUSH1 0x00
00000889: PUSH2 0x08d1
0000088c: DUP3
0000088d: PUSH1 0x42
0000088f: MUL
00000890: PUSH1 0x06
00000892: ADD
00000893: DUP11
00000894: DUP11
00000895: DUP1
00000896: DUP1
00000897: PUSH1 0x1f
00000899: ADD
0000089a: PUSH1 0x20
0000089c: DUP1
0000089d: SWAP2
0000089e: DIV
0000089f: MUL
000008a0: PUSH1 0x20
000008a2: ADD
000008a3: PUSH1 0x40
000008a5: MLOAD
000008a6: SWAP1
000008a7: DUP2
000008a8: ADD
000008a9: PUSH1 0x40
000008ab: MSTORE
000008ac: DUP1
000008ad: SWAP4
000008ae: SWAP3
000008af: SWAP2
000008b0: SWAP1
000008b1: DUP2
000008b2: DUP2
000008b3: MSTORE
000008b4: PUSH1 0x20
000008b6: ADD
000008b7: DUP4
000008b8: DUP4
000008b9: DUP1
000008ba: DUP3
000008bb: DUP5
000008bc: CALLDATACOPY
000008bd: PUSH1 0x00
000008bf: SWAP3
000008c0: ADD
000008c1: SWAP2
000008c2: SWAP1
000008c3: SWAP2
000008c4: MSTORE
000008c5: POP
000008c6: SWAP3
000008c7: SWAP4
000008c8: SWAP3
000008c9: POP
000008ca: POP
000008cb: PUSH2 0x15f2
000008ce: SWAP1
000008cf: POP
000008d0: JUMP
000008d1: JUMPDEST
000008d2: SWAP1
000008d3: POP
000008d4: DUP3
000008d5: PUSH1 0x01
000008d7: SIGNEXTEND
000008d8: DUP2
000008d9: PUSH1 0xff
000008db: AND
000008dc: SGT
000008dd: PUSH2 0x08f8
000008e0: JUMPI
000008e1: PUSH1 0x40
000008e3: MLOAD
000008e4: PUSH3 0x461bcd
000008e8: PUSH1 0xe5
000008ea: SHL
000008eb: DUP2
000008ec: MSTORE
000008ed: PUSH1 0x04
000008ef: ADD
000008f0: PUSH2 0x00c8
000008f3: SWAP1
000008f4: PUSH2 0x22af
000008f7: JUMP
000008f8: JUMPDEST
000008f9: DUP1
000008fa: PUSH1 0xff
000008fc: AND
000008fd: SWAP3
000008fe: POP
000008ff: PUSH1 0x00
00000901: PUSH2 0x0949
00000904: DUP4
00000905: PUSH1 0x42
00000907: MUL
00000908: PUSH1 0x07
0000090a: ADD
0000090b: DUP12
0000090c: DUP12
0000090d: DUP1
0000090e: DUP1
0000090f: PUSH1 0x1f
00000911: ADD
00000912: PUSH1 0x20
00000914: DUP1
00000915: SWAP2
00000916: DIV
00000917: MUL
00000918: PUSH1 0x20
0000091a: ADD
0000091b: PUSH1 0x40
0000091d: MLOAD
0000091e: SWAP1
0000091f: DUP2
00000920: ADD
00000921: PUSH1 0x40
00000923: MSTORE
00000924: DUP1
00000925: SWAP4
00000926: SWAP3
00000927: SWAP2
00000928: SWAP1
00000929: DUP2
0000092a: DUP2
0000092b: MSTORE
0000092c: PUSH1 0x20
0000092e: ADD
0000092f: DUP4
00000930: DUP4
00000931: DUP1
00000932: DUP3
00000933: DUP5
00000934: CALLDATACOPY
00000935: PUSH1 0x00
00000937: SWAP3
00000938: ADD
00000939: SWAP2
0000093a: SWAP1
0000093b: SWAP2
0000093c: MSTORE
0000093d: POP
0000093e: SWAP3
0000093f: SWAP4
00000940: SWAP3
00000941: POP
00000942: POP
00000943: PUSH2 0x16e3
00000946: SWAP1
00000947: POP
00000948: JUMP
00000949: JUMPDEST
0000094a: SWAP1
0000094b: POP
0000094c: PUSH1 0x00
0000094e: PUSH2 0x0996
00000951: DUP5
00000952: PUSH1 0x42
00000954: MUL
00000955: PUSH1 0x27
00000957: ADD
00000958: DUP13
00000959: DUP13
0000095a: DUP1
0000095b: DUP1
0000095c: PUSH1 0x1f
0000095e: ADD
0000095f: PUSH1 0x20
00000961: DUP1
00000962: SWAP2
00000963: DIV
00000964: MUL
00000965: PUSH1 0x20
00000967: ADD
00000968: PUSH1 0x40
0000096a: MLOAD
0000096b: SWAP1
0000096c: DUP2
0000096d: ADD
0000096e: PUSH1 0x40
00000970: MSTORE
00000971: DUP1
00000972: SWAP4
00000973: SWAP3
00000974: SWAP2
00000975: SWAP1
00000976: DUP2
00000977: DUP2
00000978: MSTORE
00000979: PUSH1 0x20
0000097b: ADD
0000097c: DUP4
0000097d: DUP4
0000097e: DUP1
0000097f: DUP3
00000980: DUP5
00000981: CALLDATACOPY
00000982: PUSH1 0x00
00000984: SWAP3
00000985: ADD
00000986: SWAP2
00000987: SWAP1
00000988: SWAP2
00000989: MSTORE
0000098a: POP
0000098b: SWAP3
0000098c: SWAP4
0000098d: SWAP3
0000098e: POP
0000098f: POP
00000990: PUSH2 0x16e3
00000993: SWAP1
00000994: POP
00000995: JUMP
00000996: JUMPDEST
00000997: SWAP1
00000998: POP
00000999: PUSH1 0x00
0000099b: PUSH2 0x09e3
0000099e: DUP6
0000099f: PUSH1 0x42
000009a1: MUL
000009a2: PUSH1 0x47
000009a4: ADD
000009a5: DUP14
000009a6: DUP14
000009a7: DUP1
000009a8: DUP1
000009a9: PUSH1 0x1f
000009ab: ADD
000009ac: PUSH1 0x20
000009ae: DUP1
000009af: SWAP2
000009b0: DIV
000009b1: MUL
000009b2: PUSH1 0x20
000009b4: ADD
000009b5: PUSH1 0x40
000009b7: MLOAD
000009b8: SWAP1
000009b9: DUP2
000009ba: ADD
000009bb: PUSH1 0x40
000009bd: MSTORE
000009be: DUP1
000009bf: SWAP4
000009c0: SWAP3
000009c1: SWAP2
000009c2: SWAP1
000009c3: DUP2
000009c4: DUP2
000009c5: MSTORE
000009c6: PUSH1 0x20
000009c8: ADD
000009c9: DUP4
000009ca: DUP4
000009cb: DUP1
000009cc: DUP3
000009cd: DUP5
000009ce: CALLDATACOPY
000009cf: PUSH1 0x00
000009d1: SWAP3
000009d2: ADD
000009d3: SWAP2
000009d4: SWAP1
000009d5: SWAP2
000009d6: MSTORE
000009d7: POP
000009d8: SWAP3
000009d9: SWAP4
000009da: SWAP3
000009db: POP
000009dc: POP
000009dd: PUSH2 0x15f2
000009e0: SWAP1
000009e1: POP
000009e2: JUMP
000009e3: JUMPDEST
000009e4: DUP8
000009e5: MLOAD
000009e6: DUP1
000009e7: MLOAD
000009e8: PUSH1 0x1b
000009ea: SWAP1
000009eb: SWAP3
000009ec: ADD
000009ed: SWAP3
000009ee: POP
000009ef: SWAP1
000009f0: PUSH1 0xff
000009f2: DUP7
000009f3: AND
000009f4: SWAP1
000009f5: DUP2
000009f6: LT
000009f7: PUSH2 0x09fc
000009fa: JUMPI
000009fb: INVALID
000009fc: JUMPDEST
000009fd: PUSH1 0x20
000009ff: MUL
00000a00: PUSH1 0x20
00000a02: ADD
00000a03: ADD
00000a04: MLOAD
00000a05: PUSH1 0x01
00000a07: PUSH1 0x01
00000a09: PUSH1 0xa0
00000a0b: SHL
00000a0c: SUB
00000a0d: AND
00000a0e: PUSH1 0x01
00000a10: DUP12
00000a11: PUSH1 0x20
00000a13: ADD
00000a14: MLOAD
00000a15: DUP4
00000a16: DUP7
00000a17: DUP7
00000a18: PUSH1 0x40
00000a1a: MLOAD
00000a1b: PUSH1 0x00
00000a1d: DUP2
00000a1e: MSTORE
00000a1f: PUSH1 0x20
00000a21: ADD
00000a22: PUSH1 0x40
00000a24: MSTORE
00000a25: PUSH1 0x40
00000a27: MLOAD
00000a28: PUSH2 0x0a34
00000a2b: SWAP5
00000a2c: SWAP4
00000a2d: SWAP3
00000a2e: SWAP2
00000a2f: SWAP1
00000a30: PUSH2 0x1ed9
00000a33: JUMP
00000a34: JUMPDEST
00000a35: PUSH1 0x20
00000a37: PUSH1 0x40
00000a39: MLOAD
00000a3a: PUSH1 0x20
00000a3c: DUP2
00000a3d: SUB
00000a3e: SWAP1
00000a3f: DUP1
00000a40: DUP5
00000a41: SUB
00000a42: SWAP1
00000a43: DUP6
00000a44: GAS
00000a45: STATICCALL
00000a46: ISZERO
00000a47: DUP1
00000a48: ISZERO
00000a49: PUSH2 0x0a56
00000a4c: JUMPI
00000a4d: RETURNDATASIZE
00000a4e: PUSH1 0x00
00000a50: DUP1
00000a51: RETURNDATACOPY
00000a52: RETURNDATASIZE
00000a53: PUSH1 0x00
00000a55: REVERT
00000a56: JUMPDEST
00000a57: POP
00000a58: POP
00000a59: POP
00000a5a: PUSH1 0x20
00000a5c: PUSH1 0x40
00000a5e: MLOAD
00000a5f: SUB
00000a60: MLOAD
00000a61: PUSH1 0x01
00000a63: PUSH1 0x01
00000a65: PUSH1 0xa0
00000a67: SHL
00000a68: SUB
00000a69: AND
00000a6a: EQ
00000a6b: PUSH2 0x0a86
00000a6e: JUMPI
00000a6f: PUSH1 0x40
00000a71: MLOAD
00000a72: PUSH3 0x461bcd
00000a76: PUSH1 0xe5
00000a78: SHL
00000a79: DUP2
00000a7a: MSTORE
00000a7b: PUSH1 0x04
00000a7d: ADD
00000a7e: PUSH2 0x00c8
00000a81: SWAP1
00000a82: PUSH2 0x20ff
00000a85: JUMP
00000a86: JUMPDEST
00000a87: POP
00000a88: POP
00000a89: PUSH1 0x01
00000a8b: SWAP1
00000a8c: SWAP3
00000a8d: ADD
00000a8e: SWAP2
00000a8f: POP
00000a90: PUSH2 0x087e
00000a93: SWAP1
00000a94: POP
00000a95: JUMP
00000a96: JUMPDEST
00000a97: POP
00000a98: PUSH2 0x0add
00000a9b: DUP4
00000a9c: PUSH1 0x04
00000a9e: ADD
00000a9f: DUP9
00000aa0: DUP9
00000aa1: DUP1
00000aa2: DUP1
00000aa3: PUSH1 0x1f
00000aa5: ADD
00000aa6: PUSH1 0x20
00000aa8: DUP1
00000aa9: SWAP2
00000aaa: DIV
00000aab: MUL
00000aac: PUSH1 0x20
00000aae: ADD
00000aaf: PUSH1 0x40
00000ab1: MLOAD
00000ab2: SWAP1
00000ab3: DUP2
00000ab4: ADD
00000ab5: PUSH1 0x40
00000ab7: MSTORE
00000ab8: DUP1
00000ab9: SWAP4
00000aba: SWAP3
00000abb: SWAP2
00000abc: SWAP1
00000abd: DUP2
00000abe: DUP2
00000abf: MSTORE
00000ac0: PUSH1 0x20
00000ac2: ADD
00000ac3: DUP4
00000ac4: DUP4
00000ac5: DUP1
00000ac6: DUP3
00000ac7: DUP5
00000ac8: CALLDATACOPY
00000ac9: PUSH1 0x00
00000acb: SWAP3
00000acc: ADD
00000acd: SWAP2
00000ace: SWAP1
00000acf: SWAP2
00000ad0: MSTORE
00000ad1: POP
00000ad2: SWAP3
00000ad3: SWAP4
00000ad4: SWAP3
00000ad5: POP
00000ad6: POP
00000ad7: PUSH2 0x15f2
00000ada: SWAP1
00000adb: POP
00000adc: JUMP
00000add: JUMPDEST
00000ade: PUSH1 0xff
00000ae0: AND
00000ae1: PUSH1 0x80
00000ae3: DUP7
00000ae4: ADD
00000ae5: MSTORE
00000ae6: PUSH1 0x40
00000ae8: DUP1
00000ae9: MLOAD
00000aea: PUSH1 0x20
00000aec: PUSH1 0x1f
00000aee: DUP10
00000aef: ADD
00000af0: DUP2
00000af1: SWAP1
00000af2: DIV
00000af3: DUP2
00000af4: MUL
00000af5: DUP3
00000af6: ADD
00000af7: DUP2
00000af8: ADD
00000af9: SWAP1
00000afa: SWAP3
00000afb: MSTORE
00000afc: DUP8
00000afd: DUP2
00000afe: MSTORE
00000aff: PUSH2 0x0b33
00000b02: SWAP2
00000b03: PUSH1 0x05
00000b05: DUP7
00000b06: ADD
00000b07: SWAP2
00000b08: PUSH1 0x04
00000b0a: NOT
00000b0b: DUP8
00000b0c: DUP12
00000b0d: SUB
00000b0e: ADD
00000b0f: SWAP2
00000b10: DUP12
00000b11: SWAP1
00000b12: DUP12
00000b13: SWAP1
00000b14: DUP2
00000b15: SWAP1
00000b16: DUP5
00000b17: ADD
00000b18: DUP4
00000b19: DUP3
00000b1a: DUP1
00000b1b: DUP3
00000b1c: DUP5
00000b1d: CALLDATACOPY
00000b1e: PUSH1 0x00
00000b20: SWAP3
00000b21: ADD
00000b22: SWAP2
00000b23: SWAP1
00000b24: SWAP2
00000b25: MSTORE
00000b26: POP
00000b27: SWAP3
00000b28: SWAP5
00000b29: SWAP4
00000b2a: SWAP3
00000b2b: POP
00000b2c: POP
00000b2d: PUSH2 0x1650
00000b30: SWAP1
00000b31: POP
00000b32: JUMP
00000b33: JUMPDEST
00000b34: PUSH1 0xa0
00000b36: DUP7
00000b37: ADD
00000b38: MSTORE
00000b39: POP
00000b3a: SWAP3
00000b3b: SWAP6
00000b3c: SWAP5
00000b3d: POP
00000b3e: POP
00000b3f: POP
00000b40: POP
00000b41: POP
00000b42: JUMP
00000b43: JUMPDEST
00000b44: PUSH1 0x02
00000b46: PUSH1 0x00
00000b48: SLOAD
00000b49: EQ
00000b4a: ISZERO
00000b4b: PUSH2 0x0b66
00000b4e: JUMPI
00000b4f: PUSH1 0x40
00000b51: MLOAD
00000b52: PUSH3 0x461bcd
00000b56: PUSH1 0xe5
00000b58: SHL
00000b59: DUP2
00000b5a: MSTORE
00000b5b: PUSH1 0x04
00000b5d: ADD
00000b5e: PUSH2 0x00c8
00000b61: SWAP1
00000b62: PUSH2 0x2382
00000b65: JUMP
00000b66: JUMPDEST
00000b67: PUSH1 0x02
00000b69: PUSH1 0x00
00000b6b: SSTORE
00000b6c: PUSH1 0x01
00000b6e: SLOAD
00000b6f: PUSH1 0xff
00000b71: DUP5
00000b72: DUP2
00000b73: AND
00000b74: PUSH1 0x01
00000b76: PUSH1 0xa0
00000b78: SHL
00000b79: SWAP1
00000b7a: SWAP3
00000b7b: DIV
00000b7c: AND
00000b7d: EQ
00000b7e: ISZERO
00000b7f: PUSH2 0x0b9a
00000b82: JUMPI
00000b83: PUSH1 0x40
00000b85: MLOAD
00000b86: PUSH3 0x461bcd
00000b8a: PUSH1 0xe5
00000b8c: SHL
00000b8d: DUP2
00000b8e: MSTORE
00000b8f: PUSH1 0x04
00000b91: ADD
00000b92: PUSH2 0x00c8
00000b95: SWAP1
00000b96: PUSH2 0x20bc
00000b99: JUMP
00000b9a: JUMPDEST
00000b9b: PUSH1 0x00
00000b9d: PUSH1 0x01
00000b9f: PUSH1 0x14
00000ba1: SWAP1
00000ba2: SLOAD
00000ba3: SWAP1
00000ba4: PUSH2 0x0100
00000ba7: EXP
00000ba8: SWAP1
00000ba9: DIV
00000baa: PUSH1 0xff
00000bac: AND
00000bad: SWAP1
00000bae: POP
00000baf: PUSH1 0x00
00000bb1: DUP1
00000bb2: DUP9
00000bb3: PUSH1 0x01
00000bb5: PUSH1 0x01
00000bb7: PUSH1 0xa0
00000bb9: SHL
00000bba: SUB
00000bbb: AND
00000bbc: PUSH4 0x313ce567
00000bc1: PUSH1 0x40
00000bc3: MLOAD
00000bc4: DUP2
00000bc5: PUSH4 0xffffffff
00000bca: AND
00000bcb: PUSH1 0xe0
00000bcd: SHL
00000bce: DUP2
00000bcf: MSTORE
00000bd0: PUSH1 0x04
00000bd2: ADD
00000bd3: PUSH1 0x20
00000bd5: PUSH1 0x40
00000bd7: MLOAD
00000bd8: DUP1
00000bd9: DUP4
00000bda: SUB
00000bdb: DUP2
00000bdc: DUP7
00000bdd: DUP1
00000bde: EXTCODESIZE
00000bdf: ISZERO
00000be0: DUP1
00000be1: ISZERO
00000be2: PUSH2 0x0bea
00000be5: JUMPI
00000be6: PUSH1 0x00
00000be8: DUP1
00000be9: REVERT
00000bea: JUMPDEST
00000beb: POP
00000bec: GAS
00000bed: STATICCALL
00000bee: ISZERO
00000bef: DUP1
00000bf0: ISZERO
00000bf1: PUSH2 0x0bfe
00000bf4: JUMPI
00000bf5: RETURNDATASIZE
00000bf6: PUSH1 0x00
00000bf8: DUP1
00000bf9: RETURNDATACOPY
00000bfa: RETURNDATASIZE
00000bfb: PUSH1 0x00
00000bfd: REVERT
00000bfe: JUMPDEST
00000bff: POP
00000c00: POP
00000c01: POP
00000c02: POP
00000c03: PUSH1 0x40
00000c05: MLOAD
00000c06: RETURNDATASIZE
00000c07: PUSH1 0x1f
00000c09: NOT
00000c0a: PUSH1 0x1f
00000c0c: DUP3
00000c0d: ADD
00000c0e: AND
00000c0f: DUP3
00000c10: ADD
00000c11: DUP1
00000c12: PUSH1 0x40
00000c14: MSTORE
00000c15: POP
00000c16: DUP2
00000c17: ADD
00000c18: SWAP1
00000c19: PUSH2 0x0c22
00000c1c: SWAP2
00000c1d: SWAP1
00000c1e: PUSH2 0x1dfc
00000c21: JUMP
00000c22: JUMPDEST
00000c23: PUSH1 0x01
00000c25: PUSH1 0x01
00000c27: PUSH1 0xa0
00000c29: SHL
00000c2a: SUB
00000c2b: DUP11
00000c2c: AND
00000c2d: PUSH1 0x00
00000c2f: SWAP1
00000c30: DUP2
00000c31: MSTORE
00000c32: PUSH1 0x06
00000c34: PUSH1 0x20
00000c36: MSTORE
00000c37: PUSH1 0x40
00000c39: SWAP1
00000c3a: KECCAK256
00000c3b: SLOAD
00000c3c: SWAP1
00000c3d: SWAP2
00000c3e: POP
00000c3f: PUSH1 0xff
00000c41: AND
00000c42: ISZERO
00000c43: PUSH2 0x0d91
00000c46: JUMPI
00000c47: PUSH1 0x40
00000c49: MLOAD
00000c4a: PUSH4 0x2770a7eb
00000c4f: PUSH1 0xe2
00000c51: SHL
00000c52: DUP2
00000c53: MSTORE
00000c54: PUSH1 0x01
00000c56: PUSH1 0x01
00000c58: PUSH1 0xa0
00000c5a: SHL
00000c5b: SUB
00000c5c: DUP11
00000c5d: AND
00000c5e: SWAP1
00000c5f: PUSH4 0x9dc29fac
00000c64: SWAP1
00000c65: PUSH2 0x0c74
00000c68: SWAP1
00000c69: CALLER
00000c6a: SWAP1
00000c6b: DUP13
00000c6c: SWAP1
00000c6d: PUSH1 0x04
00000c6f: ADD
00000c70: PUSH2 0x1e91
00000c73: JUMP
00000c74: JUMPDEST
00000c75: PUSH1 0x00
00000c77: PUSH1 0x40
00000c79: MLOAD
00000c7a: DUP1
00000c7b: DUP4
00000c7c: SUB
00000c7d: DUP2
00000c7e: PUSH1 0x00
00000c80: DUP8
00000c81: DUP1
00000c82: EXTCODESIZE
00000c83: ISZERO
00000c84: DUP1
00000c85: ISZERO
00000c86: PUSH2 0x0c8e
00000c89: JUMPI
00000c8a: PUSH1 0x00
00000c8c: DUP1
00000c8d: REVERT
00000c8e: JUMPDEST
00000c8f: POP
00000c90: GAS
00000c91: CALL
00000c92: ISZERO
00000c93: DUP1
00000c94: ISZERO
00000c95: PUSH2 0x0ca2
00000c98: JUMPI
00000c99: RETURNDATASIZE
00000c9a: PUSH1 0x00
00000c9c: DUP1
00000c9d: RETURNDATACOPY
00000c9e: RETURNDATASIZE
00000c9f: PUSH1 0x00
00000ca1: REVERT
00000ca2: JUMPDEST
00000ca3: POP
00000ca4: POP
00000ca5: POP
00000ca6: POP
00000ca7: DUP9
00000ca8: PUSH1 0x01
00000caa: PUSH1 0x01
00000cac: PUSH1 0xa0
00000cae: SHL
00000caf: SUB
00000cb0: AND
00000cb1: PUSH4 0x026b0539
00000cb6: PUSH1 0x40
00000cb8: MLOAD
00000cb9: DUP2
00000cba: PUSH4 0xffffffff
00000cbf: AND
00000cc0: PUSH1 0xe0
00000cc2: SHL
00000cc3: DUP2
00000cc4: MSTORE
00000cc5: PUSH1 0x04
00000cc7: ADD
00000cc8: PUSH1 0x20
00000cca: PUSH1 0x40
00000ccc: MLOAD
00000ccd: DUP1
00000cce: DUP4
00000ccf: SUB
00000cd0: DUP2
00000cd1: DUP7
00000cd2: DUP1
00000cd3: EXTCODESIZE
00000cd4: ISZERO
00000cd5: DUP1
00000cd6: ISZERO
00000cd7: PUSH2 0x0cdf
00000cda: JUMPI
00000cdb: PUSH1 0x00
00000cdd: DUP1
00000cde: REVERT
00000cdf: JUMPDEST
00000ce0: POP
00000ce1: GAS
00000ce2: STATICCALL
00000ce3: ISZERO
00000ce4: DUP1
00000ce5: ISZERO
00000ce6: PUSH2 0x0cf3
00000ce9: JUMPI
00000cea: RETURNDATASIZE
00000ceb: PUSH1 0x00
00000ced: DUP1
00000cee: RETURNDATACOPY
00000cef: RETURNDATASIZE
00000cf0: PUSH1 0x00
00000cf2: REVERT
00000cf3: JUMPDEST
00000cf4: POP
00000cf5: POP
00000cf6: POP
00000cf7: POP
00000cf8: PUSH1 0x40
00000cfa: MLOAD
00000cfb: RETURNDATASIZE
00000cfc: PUSH1 0x1f
00000cfe: NOT
00000cff: PUSH1 0x1f
00000d01: DUP3
00000d02: ADD
00000d03: AND
00000d04: DUP3
00000d05: ADD
00000d06: DUP1
00000d07: PUSH1 0x40
00000d09: MSTORE
00000d0a: POP
00000d0b: DUP2
00000d0c: ADD
00000d0d: SWAP1
00000d0e: PUSH2 0x0d17
00000d11: SWAP2
00000d12: SWAP1
00000d13: PUSH2 0x1dfc
00000d16: JUMP
00000d17: JUMPDEST
00000d18: SWAP3
00000d19: POP
00000d1a: DUP9
00000d1b: PUSH1 0x01
00000d1d: PUSH1 0x01
00000d1f: PUSH1 0xa0
00000d21: SHL
00000d22: SUB
00000d23: AND
00000d24: PUSH4 0x1ba46cfd
00000d29: PUSH1 0x40
00000d2b: MLOAD
00000d2c: DUP2
00000d2d: PUSH4 0xffffffff
00000d32: AND
00000d33: PUSH1 0xe0
00000d35: SHL
00000d36: DUP2
00000d37: MSTORE
00000d38: PUSH1 0x04
00000d3a: ADD
00000d3b: PUSH1 0x20
00000d3d: PUSH1 0x40
00000d3f: MLOAD
00000d40: DUP1
00000d41: DUP4
00000d42: SUB
00000d43: DUP2
00000d44: DUP7
00000d45: DUP1
00000d46: EXTCODESIZE
00000d47: ISZERO
00000d48: DUP1
00000d49: ISZERO
00000d4a: PUSH2 0x0d52
00000d4d: JUMPI
00000d4e: PUSH1 0x00
00000d50: DUP1
00000d51: REVERT
00000d52: JUMPDEST
00000d53: POP
00000d54: GAS
00000d55: STATICCALL
00000d56: ISZERO
00000d57: DUP1
00000d58: ISZERO
00000d59: PUSH2 0x0d66
00000d5c: JUMPI
00000d5d: RETURNDATASIZE
00000d5e: PUSH1 0x00
00000d60: DUP1
00000d61: RETURNDATACOPY
00000d62: RETURNDATASIZE
00000d63: PUSH1 0x00
00000d65: REVERT
00000d66: JUMPDEST
00000d67: POP
00000d68: POP
00000d69: POP
00000d6a: POP
00000d6b: PUSH1 0x40
00000d6d: MLOAD
00000d6e: RETURNDATASIZE
00000d6f: PUSH1 0x1f
00000d71: NOT
00000d72: PUSH1 0x1f
00000d74: DUP3
00000d75: ADD
00000d76: AND
00000d77: DUP3
00000d78: ADD
00000d79: DUP1
00000d7a: PUSH1 0x40
00000d7c: MSTORE
00000d7d: POP
00000d7e: DUP2
00000d7f: ADD
00000d80: SWAP1
00000d81: PUSH2 0x0d8a
00000d84: SWAP2
00000d85: SWAP1
00000d86: PUSH2 0x1d15
00000d89: JUMP
00000d8a: JUMPDEST
00000d8b: SWAP2
00000d8c: POP
00000d8d: PUSH2 0x0fc9
00000d90: JUMP
00000d91: JUMPDEST
00000d92: PUSH1 0x40
00000d94: MLOAD
00000d95: PUSH4 0x70a08231
00000d9a: PUSH1 0xe0
00000d9c: SHL
00000d9d: DUP2
00000d9e: MSTORE
00000d9f: PUSH1 0x00
00000da1: SWAP1
00000da2: PUSH1 0x01
00000da4: PUSH1 0x01
00000da6: PUSH1 0xa0
00000da8: SHL
00000da9: SUB
00000daa: DUP12
00000dab: AND
00000dac: SWAP1
00000dad: PUSH4 0x70a08231
00000db2: SWAP1
00000db3: PUSH2 0x0dc0
00000db6: SWAP1
00000db7: ADDRESS
00000db8: SWAP1
00000db9: PUSH1 0x04
00000dbb: ADD
00000dbc: PUSH2 0x1e7d
00000dbf: JUMP
00000dc0: JUMPDEST
00000dc1: PUSH1 0x20
00000dc3: PUSH1 0x40
00000dc5: MLOAD
00000dc6: DUP1
00000dc7: DUP4
00000dc8: SUB
00000dc9: DUP2
00000dca: DUP7
00000dcb: DUP1
00000dcc: EXTCODESIZE
00000dcd: ISZERO
00000dce: DUP1
00000dcf: ISZERO
00000dd0: PUSH2 0x0dd8
00000dd3: JUMPI
00000dd4: PUSH1 0x00
00000dd6: DUP1
00000dd7: REVERT
00000dd8: JUMPDEST
00000dd9: POP
00000dda: GAS
00000ddb: STATICCALL
00000ddc: ISZERO
00000ddd: DUP1
00000dde: ISZERO
00000ddf: PUSH2 0x0dec
00000de2: JUMPI
00000de3: RETURNDATASIZE
00000de4: PUSH1 0x00
00000de6: DUP1
00000de7: RETURNDATACOPY
00000de8: RETURNDATASIZE
00000de9: PUSH1 0x00
00000deb: REVERT
00000dec: JUMPDEST
00000ded: POP
00000dee: POP
00000def: POP
00000df0: POP
00000df1: PUSH1 0x40
00000df3: MLOAD
00000df4: RETURNDATASIZE
00000df5: PUSH1 0x1f
00000df7: NOT
00000df8: PUSH1 0x1f
00000dfa: DUP3
00000dfb: ADD
00000dfc: AND
00000dfd: DUP3
00000dfe: ADD
00000dff: DUP1
00000e00: PUSH1 0x40
00000e02: MSTORE
00000e03: POP
00000e04: DUP2
00000e05: ADD
00000e06: SWAP1
00000e07: PUSH2 0x0e10
00000e0a: SWAP2
00000e0b: SWAP1
00000e0c: PUSH2 0x1d15
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: SWAP1
00000e12: POP
00000e13: PUSH2 0x0e27
00000e16: PUSH1 0x01
00000e18: PUSH1 0x01
00000e1a: PUSH1 0xa0
00000e1c: SHL
00000e1d: SUB
00000e1e: DUP12
00000e1f: AND
00000e20: CALLER
00000e21: ADDRESS
00000e22: DUP13
00000e23: PUSH2 0x1712
00000e26: JUMP
00000e27: JUMPDEST
00000e28: PUSH1 0x40
00000e2a: MLOAD
00000e2b: PUSH4 0x70a08231
00000e30: PUSH1 0xe0
00000e32: SHL
00000e33: DUP2
00000e34: MSTORE
00000e35: PUSH1 0x00
00000e37: SWAP1
00000e38: PUSH1 0x01
00000e3a: PUSH1 0x01
00000e3c: PUSH1 0xa0
00000e3e: SHL
00000e3f: SUB
00000e40: DUP13
00000e41: AND
00000e42: SWAP1
00000e43: PUSH4 0x70a08231
00000e48: SWAP1
00000e49: PUSH2 0x0e56
00000e4c: SWAP1
00000e4d: ADDRESS
00000e4e: SWAP1
00000e4f: PUSH1 0x04
00000e51: ADD
00000e52: PUSH2 0x1e7d
00000e55: JUMP
00000e56: JUMPDEST
00000e57: PUSH1 0x20
00000e59: PUSH1 0x40
00000e5b: MLOAD
00000e5c: DUP1
00000e5d: DUP4
00000e5e: SUB
00000e5f: DUP2
00000e60: DUP7
00000e61: DUP1
00000e62: EXTCODESIZE
00000e63: ISZERO
00000e64: DUP1
00000e65: ISZERO
00000e66: PUSH2 0x0e6e
00000e69: JUMPI
00000e6a: PUSH1 0x00
00000e6c: DUP1
00000e6d: REVERT
00000e6e: JUMPDEST
00000e6f: POP
00000e70: GAS
00000e71: STATICCALL
00000e72: ISZERO
00000e73: DUP1
00000e74: ISZERO
00000e75: PUSH2 0x0e82
00000e78: JUMPI
00000e79: RETURNDATASIZE
00000e7a: PUSH1 0x00
00000e7c: DUP1
00000e7d: RETURNDATACOPY
00000e7e: RETURNDATASIZE
00000e7f: PUSH1 0x00
00000e81: REVERT
00000e82: JUMPDEST
00000e83: POP
00000e84: POP
00000e85: POP
00000e86: POP
00000e87: PUSH1 0x40
00000e89: MLOAD
00000e8a: RETURNDATASIZE
00000e8b: PUSH1 0x1f
00000e8d: NOT
00000e8e: PUSH1 0x1f
00000e90: DUP3
00000e91: ADD
00000e92: AND
00000e93: DUP3
00000e94: ADD
00000e95: DUP1
00000e96: PUSH1 0x40
00000e98: MSTORE
00000e99: POP
00000e9a: DUP2
00000e9b: ADD
00000e9c: SWAP1
00000e9d: PUSH2 0x0ea6
00000ea0: SWAP2
00000ea1: SWAP1
00000ea2: PUSH2 0x1d15
00000ea5: JUMP
00000ea6: JUMPDEST
00000ea7: SWAP1
00000ea8: POP
00000ea9: PUSH2 0x0eb2
00000eac: DUP2
00000ead: DUP4
00000eae: PUSH2 0x1770
00000eb1: JUMP
00000eb2: JUMPDEST
00000eb3: SWAP10
00000eb4: POP
00000eb5: PUSH1 0x09
00000eb7: DUP4
00000eb8: PUSH1 0xff
00000eba: AND
00000ebb: GT
00000ebc: ISZERO
00000ebd: PUSH2 0x0f0c
00000ec0: JUMPI
00000ec1: DUP10
00000ec2: PUSH2 0x0ed5
00000ec5: DUP2
00000ec6: PUSH1 0xff
00000ec8: PUSH1 0x08
00000eca: NOT
00000ecb: DUP8
00000ecc: ADD
00000ecd: AND
00000ece: PUSH1 0x0a
00000ed0: EXP
00000ed1: PUSH2 0x15b0
00000ed4: JUMP
00000ed5: JUMPDEST
00000ed6: SWAP11
00000ed7: POP
00000ed8: DUP7
00000ed9: ISZERO
00000eda: PUSH2 0x0f06
00000edd: JUMPI
00000ede: PUSH2 0x0f06
00000ee1: CALLER
00000ee2: PUSH2 0x0ef5
00000ee5: DUP4
00000ee6: PUSH1 0xff
00000ee8: PUSH1 0x08
00000eea: NOT
00000eeb: DUP10
00000eec: ADD
00000eed: AND
00000eee: PUSH1 0x0a
00000ef0: EXP
00000ef1: PUSH2 0x1565
00000ef4: JUMP
00000ef5: JUMPDEST
00000ef6: PUSH1 0x01
00000ef8: PUSH1 0x01
00000efa: PUSH1 0xa0
00000efc: SHL
00000efd: SUB
00000efe: DUP16
00000eff: AND
00000f00: SWAP2
00000f01: SWAP1
00000f02: PUSH2 0x17b2
00000f05: JUMP
00000f06: JUMPDEST
00000f07: PUSH1 0x09
00000f09: SWAP4
00000f0a: POP
00000f0b: POP
00000f0c: JUMPDEST
00000f0d: PUSH8 0xffffffffffffffff
00000f16: DUP1
00000f17: AND
00000f18: PUSH2 0x0f9c
00000f1b: PUSH1 0x09
00000f1d: DUP14
00000f1e: PUSH1 0x01
00000f20: PUSH1 0x01
00000f22: PUSH1 0xa0
00000f24: SHL
00000f25: SUB
00000f26: AND
00000f27: PUSH4 0x313ce567
00000f2c: PUSH1 0x40
00000f2e: MLOAD
00000f2f: DUP2
00000f30: PUSH4 0xffffffff
00000f35: AND
00000f36: PUSH1 0xe0
00000f38: SHL
00000f39: DUP2
00000f3a: MSTORE
00000f3b: PUSH1 0x04
00000f3d: ADD
00000f3e: PUSH1 0x20
00000f40: PUSH1 0x40
00000f42: MLOAD
00000f43: DUP1
00000f44: DUP4
00000f45: SUB
00000f46: DUP2
00000f47: DUP7
00000f48: DUP1
00000f49: EXTCODESIZE
00000f4a: ISZERO
00000f4b: DUP1
00000f4c: ISZERO
00000f4d: PUSH2 0x0f55
00000f50: JUMPI
00000f51: PUSH1 0x00
00000f53: DUP1
00000f54: REVERT
00000f55: JUMPDEST
00000f56: POP
00000f57: GAS
00000f58: STATICCALL
00000f59: ISZERO
00000f5a: DUP1
00000f5b: ISZERO
00000f5c: PUSH2 0x0f69
00000f5f: JUMPI
00000f60: RETURNDATASIZE
00000f61: PUSH1 0x00
00000f63: DUP1
00000f64: RETURNDATACOPY
00000f65: RETURNDATASIZE
00000f66: PUSH1 0x00
00000f68: REVERT
00000f69: JUMPDEST
00000f6a: POP
00000f6b: POP
00000f6c: POP
00000f6d: POP
00000f6e: PUSH1 0x40
00000f70: MLOAD
00000f71: RETURNDATASIZE
00000f72: PUSH1 0x1f
00000f74: NOT
00000f75: PUSH1 0x1f
00000f77: DUP3
00000f78: ADD
00000f79: AND
00000f7a: DUP3
00000f7b: ADD
00000f7c: DUP1
00000f7d: PUSH1 0x40
00000f7f: MSTORE
00000f80: POP
00000f81: DUP2
00000f82: ADD
00000f83: SWAP1
00000f84: PUSH2 0x0f8d
00000f87: SWAP2
00000f88: SWAP1
00000f89: PUSH2 0x1dfc
00000f8c: JUMP
00000f8d: JUMPDEST
00000f8e: DUP5
00000f8f: SWAP2
00000f90: PUSH1 0xff
00000f92: SWAP2
00000f93: SUB
00000f94: AND
00000f95: PUSH1 0x0a
00000f97: EXP
00000f98: PUSH2 0x15b0
00000f9b: JUMP
00000f9c: JUMPDEST
00000f9d: GT
00000f9e: ISZERO
00000f9f: PUSH2 0x0fba
00000fa2: JUMPI
00000fa3: PUSH1 0x40
00000fa5: MLOAD
00000fa6: PUSH3 0x461bcd
00000faa: PUSH1 0xe5
00000fac: SHL
00000fad: DUP2
00000fae: MSTORE
00000faf: PUSH1 0x04
00000fb1: ADD
00000fb2: PUSH2 0x00c8
00000fb5: SWAP1
00000fb6: PUSH2 0x1f0a
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: POP
00000fbc: POP
00000fbd: PUSH1 0x01
00000fbf: PUSH1 0x01
00000fc1: PUSH1 0xa0
00000fc3: SHL
00000fc4: SUB
00000fc5: DUP10
00000fc6: AND
00000fc7: SWAP2
00000fc8: POP
00000fc9: JUMPDEST
00000fca: DUP8
00000fcb: PUSH2 0x0fe6
00000fce: JUMPI
00000fcf: PUSH1 0x40
00000fd1: MLOAD
00000fd2: PUSH3 0x461bcd
00000fd6: PUSH1 0xe5
00000fd8: SHL
00000fd9: DUP2
00000fda: MSTORE
00000fdb: PUSH1 0x04
00000fdd: ADD
00000fde: PUSH2 0x00c8
00000fe1: SWAP1
00000fe2: PUSH2 0x216f
00000fe5: JUMP
00000fe6: JUMPDEST
00000fe7: CALLER
00000fe8: PUSH1 0x01
00000fea: PUSH1 0x01
00000fec: PUSH1 0xa0
00000fee: SHL
00000fef: SUB
00000ff0: AND
00000ff1: PUSH1 0x00
00000ff3: SHL
00000ff4: DUP3
00000ff5: PUSH32 0x6bbd554ad75919f71fd91bf917ca6e4f41c10f03ab25751596a22253bb39aab8
00001016: DUP9
00001017: DUP7
00001018: DUP6
00001019: DUP13
0000101a: DUP15
0000101b: DUP13
0000101c: PUSH1 0x40
0000101e: MLOAD
0000101f: PUSH2 0x102d
00001022: SWAP7
00001023: SWAP6
00001024: SWAP5
00001025: SWAP4
00001026: SWAP3
00001027: SWAP2
00001028: SWAP1
00001029: PUSH2 0x24f6
0000102c: JUMP
0000102d: JUMPDEST
0000102e: PUSH1 0x40
00001030: MLOAD
00001031: DUP1
00001032: SWAP2
00001033: SUB
00001034: SWAP1
00001035: LOG3
00001036: POP
00001037: POP
00001038: PUSH1 0x01
0000103a: PUSH1 0x00
0000103c: SSTORE
0000103d: POP
0000103e: POP
0000103f: POP
00001040: POP
00001041: POP
00001042: POP
00001043: POP
00001044: JUMP
00001045: JUMPDEST
00001046: PUSH1 0x03
00001048: SLOAD
00001049: PUSH4 0xffffffff
0000104e: AND
0000104f: DUP2
00001050: JUMP
00001051: JUMPDEST
00001052: PUSH1 0x01
00001054: SLOAD
00001055: PUSH1 0x01
00001057: PUSH1 0x01
00001059: PUSH1 0xa0
0000105b: SHL
0000105c: SUB
0000105d: AND
0000105e: DUP2
0000105f: JUMP
00001060: JUMPDEST
00001061: PUSH1 0x04
00001063: PUSH1 0x20
00001065: MSTORE
00001066: PUSH1 0x00
00001068: SWAP1
00001069: DUP2
0000106a: MSTORE
0000106b: PUSH1 0x40
0000106d: SWAP1
0000106e: KECCAK256
0000106f: SLOAD
00001070: PUSH1 0xff
00001072: AND
00001073: DUP2
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH1 0x05
00001078: PUSH1 0x20
0000107a: MSTORE
0000107b: PUSH1 0x00
0000107d: SWAP1
0000107e: DUP2
0000107f: MSTORE
00001080: PUSH1 0x40
00001082: SWAP1
00001083: KECCAK256
00001084: SLOAD
00001085: PUSH1 0x01
00001087: PUSH1 0x01
00001089: PUSH1 0xa0
0000108b: SHL
0000108c: SUB
0000108d: AND
0000108e: DUP2
0000108f: JUMP
00001090: JUMPDEST
00001091: PUSH2 0x1098
00001094: PUSH2 0x1b92
00001097: JUMP
00001098: JUMPDEST
00001099: PUSH4 0xffffffff
0000109e: DUP3
0000109f: AND
000010a0: PUSH1 0x00
000010a2: SWAP1
000010a3: DUP2
000010a4: MSTORE
000010a5: PUSH1 0x02
000010a7: PUSH1 0x20
000010a9: SWAP1
000010aa: DUP2
000010ab: MSTORE
000010ac: PUSH1 0x40
000010ae: SWAP2
000010af: DUP3
000010b0: SWAP1
000010b1: KECCAK256
000010b2: DUP3
000010b3: MLOAD
000010b4: DUP2
000010b5: SLOAD
000010b6: PUSH1 0x60
000010b8: SWAP4
000010b9: DUP2
000010ba: MUL
000010bb: DUP3
000010bc: ADD
000010bd: DUP5
000010be: ADD
000010bf: DUP6
000010c0: MSTORE
000010c1: SWAP4
000010c2: DUP2
000010c3: ADD
000010c4: DUP5
000010c5: DUP2
000010c6: MSTORE
000010c7: SWAP1
000010c8: SWAP4
000010c9: SWAP2
000010ca: SWAP3
000010cb: DUP5
000010cc: SWAP3
000010cd: DUP5
000010ce: SWAP2
000010cf: DUP5
000010d0: ADD
000010d1: DUP3
000010d2: DUP3
000010d3: DUP1
000010d4: ISZERO
000010d5: PUSH2 0x1107
000010d8: JUMPI
000010d9: PUSH1 0x20
000010db: MUL
000010dc: DUP3
000010dd: ADD
000010de: SWAP2
000010df: SWAP1
000010e0: PUSH1 0x00
000010e2: MSTORE
000010e3: PUSH1 0x20
000010e5: PUSH1 0x00
000010e7: KECCAK256
000010e8: SWAP1
000010e9: JUMPDEST
000010ea: DUP2
000010eb: SLOAD
000010ec: PUSH1 0x01
000010ee: PUSH1 0x01
000010f0: PUSH1 0xa0
000010f2: SHL
000010f3: SUB
000010f4: AND
000010f5: DUP2
000010f6: MSTORE
000010f7: PUSH1 0x01
000010f9: SWAP1
000010fa: SWAP2
000010fb: ADD
000010fc: SWAP1
000010fd: PUSH1 0x20
000010ff: ADD
00001100: DUP1
00001101: DUP4
00001102: GT
00001103: PUSH2 0x10e9
00001106: JUMPI
00001107: JUMPDEST
00001108: POP
00001109: POP
0000110a: POP
0000110b: SWAP2
0000110c: DUP4
0000110d: MSTORE
0000110e: POP
0000110f: POP
00001110: PUSH1 0x01
00001112: SWAP2
00001113: SWAP1
00001114: SWAP2
00001115: ADD
00001116: SLOAD
00001117: PUSH4 0xffffffff
0000111c: AND
0000111d: PUSH1 0x20
0000111f: SWAP1
00001120: SWAP2
00001121: ADD
00001122: MSTORE
00001123: SWAP3
00001124: SWAP2
00001125: POP
00001126: POP
00001127: JUMP
00001128: JUMPDEST
00001129: PUSH1 0x00
0000112b: PUSH2 0x1134
0000112e: DUP3
0000112f: DUP3
00001130: PUSH2 0x1621
00001133: JUMP
00001134: JUMPDEST
00001135: PUSH1 0x03
00001137: SLOAD
00001138: SWAP1
00001139: SWAP2
0000113a: POP
0000113b: PUSH4 0xffffffff
00001140: DUP1
00001141: DUP4
00001142: AND
00001143: SWAP2
00001144: DUP2
00001145: AND
00001146: PUSH1 0x01
00001148: ADD
00001149: AND
0000114a: EQ
0000114b: PUSH2 0x1166
0000114e: JUMPI
0000114f: PUSH1 0x40
00001151: MLOAD
00001152: PUSH3 0x461bcd
00001156: PUSH1 0xe5
00001158: SHL
00001159: DUP2
0000115a: MSTORE
0000115b: PUSH1 0x04
0000115d: ADD
0000115e: PUSH2 0x00c8
00001161: SWAP1
00001162: PUSH2 0x21a6
00001165: JUMP
00001166: JUMPDEST
00001167: PUSH1 0x00
00001169: PUSH2 0x1173
0000116c: DUP4
0000116d: PUSH1 0x04
0000116f: PUSH2 0x15f2
00001172: JUMP
00001173: JUMPDEST
00001174: SWAP1
00001175: POP
00001176: PUSH1 0x60
00001178: DUP2
00001179: PUSH1 0xff
0000117b: AND
0000117c: PUSH8 0xffffffffffffffff
00001185: DUP2
00001186: GT
00001187: DUP1
00001188: ISZERO
00001189: PUSH2 0x1191
0000118c: JUMPI
0000118d: PUSH1 0x00
0000118f: DUP1
00001190: REVERT
00001191: JUMPDEST
00001192: POP
00001193: PUSH1 0x40
00001195: MLOAD
00001196: SWAP1
00001197: DUP1
00001198: DUP3
00001199: MSTORE
0000119a: DUP1
0000119b: PUSH1 0x20
0000119d: MUL
0000119e: PUSH1 0x20
000011a0: ADD
000011a1: DUP3
000011a2: ADD
000011a3: PUSH1 0x40
000011a5: MSTORE
000011a6: DUP1
000011a7: ISZERO
000011a8: PUSH2 0x11bb
000011ab: JUMPI
000011ac: DUP2
000011ad: PUSH1 0x20
000011af: ADD
000011b0: PUSH1 0x20
000011b2: DUP3
000011b3: MUL
000011b4: DUP1
000011b5: CALLDATASIZE
000011b6: DUP4
000011b7: CALLDATACOPY
000011b8: ADD
000011b9: SWAP1
000011ba: POP
000011bb: JUMPDEST
000011bc: POP
000011bd: SWAP1
000011be: POP
000011bf: PUSH1 0x00
000011c1: JUMPDEST
000011c2: DUP3
000011c3: PUSH1 0xff
000011c5: AND
000011c6: DUP2
000011c7: LT
000011c8: ISZERO
000011c9: PUSH2 0x120e
000011cc: JUMPI
000011cd: PUSH1 0x00
000011cf: PUSH2 0x11de
000011d2: DUP7
000011d3: PUSH1 0x05
000011d5: PUSH1 0x14
000011d7: DUP6
000011d8: MUL
000011d9: ADD
000011da: PUSH2 0x17d6
000011dd: JUMP
000011de: JUMPDEST
000011df: SWAP1
000011e0: POP
000011e1: DUP1
000011e2: DUP4
000011e3: DUP4
000011e4: DUP2
000011e5: MLOAD
000011e6: DUP2
000011e7: LT
000011e8: PUSH2 0x11ed
000011eb: JUMPI
000011ec: INVALID
000011ed: JUMPDEST
000011ee: PUSH1 0x01
000011f0: PUSH1 0x01
000011f2: PUSH1 0xa0
000011f4: SHL
000011f5: SUB
000011f6: SWAP1
000011f7: SWAP3
000011f8: AND
000011f9: PUSH1 0x20
000011fb: SWAP3
000011fc: DUP4
000011fd: MUL
000011fe: SWAP2
000011ff: SWAP1
00001200: SWAP2
00001201: ADD
00001202: SWAP1
00001203: SWAP2
00001204: ADD
00001205: MSTORE
00001206: POP
00001207: PUSH1 0x01
00001209: ADD
0000120a: PUSH2 0x11c1
0000120d: JUMP
0000120e: JUMPDEST
0000120f: POP
00001210: PUSH1 0x03
00001212: DUP1
00001213: SLOAD
00001214: PUSH4 0xffffffff
00001219: DUP6
0000121a: DUP2
0000121b: AND
0000121c: PUSH4 0xffffffff
00001221: NOT
00001222: DUP4
00001223: AND
00001224: OR
00001225: SWAP1
00001226: SWAP3
00001227: SSTORE
00001228: AND
00001229: PUSH2 0x1230
0000122c: PUSH2 0x1b92
0000122f: JUMP
00001230: JUMPDEST
00001231: POP
00001232: PUSH1 0x40
00001234: DUP1
00001235: MLOAD
00001236: DUP1
00001237: DUP3
00001238: ADD
00001239: DUP3
0000123a: MSTORE
0000123b: DUP4
0000123c: DUP2
0000123d: MSTORE
0000123e: PUSH1 0x00
00001240: PUSH1 0x20
00001242: DUP1
00001243: DUP4
00001244: ADD
00001245: DUP3
00001246: SWAP1
00001247: MSTORE
00001248: PUSH1 0x03
0000124a: SLOAD
0000124b: PUSH4 0xffffffff
00001250: AND
00001251: DUP3
00001252: MSTORE
00001253: PUSH1 0x02
00001255: DUP2
00001256: MSTORE
00001257: SWAP3
00001258: SWAP1
00001259: KECCAK256
0000125a: DUP2
0000125b: MLOAD
0000125c: DUP1
0000125d: MLOAD
0000125e: SWAP3
0000125f: SWAP4
00001260: DUP5
00001261: SWAP4
00001262: PUSH2 0x126e
00001265: SWAP3
00001266: DUP5
00001267: SWAP3
00001268: ADD
00001269: SWAP1
0000126a: PUSH2 0x1baa
0000126d: JUMP
0000126e: JUMPDEST
0000126f: POP
00001270: PUSH1 0x20
00001272: SWAP2
00001273: DUP3
00001274: ADD
00001275: MLOAD
00001276: PUSH1 0x01
00001278: SWAP2
00001279: DUP3
0000127a: ADD
0000127b: DUP1
0000127c: SLOAD
0000127d: PUSH4 0xffffffff
00001282: NOT
00001283: SWAP1
00001284: DUP2
00001285: AND
00001286: PUSH4 0xffffffff
0000128b: SWAP4
0000128c: DUP5
0000128d: AND
0000128e: OR
0000128f: SWAP1
00001290: SWAP2
00001291: SSTORE
00001292: PUSH1 0x03
00001294: DUP1
00001295: SLOAD
00001296: DUP8
00001297: DUP5
00001298: AND
00001299: PUSH1 0x00
0000129b: SWAP1
0000129c: DUP2
0000129d: MSTORE
0000129e: PUSH1 0x02
000012a0: SWAP1
000012a1: SWAP7
000012a2: MSTORE
000012a3: PUSH1 0x40
000012a5: SWAP6
000012a6: DUP7
000012a7: SWAP1
000012a8: KECCAK256
000012a9: SWAP1
000012aa: SWAP5
000012ab: ADD
000012ac: DUP1
000012ad: SLOAD
000012ae: SWAP1
000012af: SWAP3
000012b0: AND
000012b1: PUSH5 0x0100000000
000012b7: SWAP1
000012b8: SWAP5
000012b9: DIV
000012ba: DUP4
000012bb: AND
000012bc: TIMESTAMP
000012bd: ADD
000012be: DUP4
000012bf: AND
000012c0: SWAP4
000012c1: SWAP1
000012c2: SWAP4
000012c3: OR
000012c4: SWAP1
000012c5: SSTORE
000012c6: SWAP1
000012c7: SLOAD
000012c8: SWAP2
000012c9: MLOAD
000012ca: PUSH32 0xdfb80683934199683861bf00b64ecdf0984bbaf661bf27983dba382e99297a62
000012eb: SWAP3
000012ec: PUSH2 0x12f9
000012ef: SWAP3
000012f0: DUP7
000012f1: SWAP3
000012f2: SWAP2
000012f3: AND
000012f4: SWAP1
000012f5: PUSH2 0x24c2
000012f8: JUMP
000012f9: JUMPDEST
000012fa: PUSH1 0x40
000012fc: MLOAD
000012fd: DUP1
000012fe: SWAP2
000012ff: SUB
00001300: SWAP1
00001301: LOG1
00001302: POP
00001303: POP
00001304: POP
00001305: POP
00001306: POP
00001307: POP
00001308: JUMP
00001309: JUMPDEST
0000130a: PUSH1 0x00
0000130c: PUSH2 0x1316
0000130f: DUP3
00001310: PUSH1 0x04
00001312: PUSH2 0x15f2
00001315: JUMP
00001316: JUMPDEST
00001317: SWAP1
00001318: POP
00001319: PUSH1 0x00
0000131b: PUSH2 0x1325
0000131e: DUP4
0000131f: PUSH1 0x05
00001321: PUSH2 0x15f2
00001324: JUMP
00001325: JUMPDEST
00001326: SWAP1
00001327: POP
00001328: PUSH1 0x00
0000132a: PUSH2 0x1334
0000132d: DUP5
0000132e: PUSH1 0x32
00001330: PUSH2 0x17d6
00001333: JUMP
00001334: JUMPDEST
00001335: SWAP1
00001336: POP
00001337: PUSH1 0x00
00001339: PUSH2 0x1343
0000133c: DUP6
0000133d: PUSH1 0x46
0000133f: PUSH2 0x15f2
00001342: JUMP
00001343: JUMPDEST
00001344: SWAP1
00001345: POP
00001346: PUSH1 0x00
00001348: PUSH2 0x1352
0000134b: DUP7
0000134c: PUSH1 0x68
0000134e: PUSH2 0x16e3
00001351: JUMP
00001352: JUMPDEST
00001353: SWAP1
00001354: POP
00001355: DUP4
00001356: PUSH1 0xff
00001358: AND
00001359: DUP6
0000135a: PUSH1 0xff
0000135c: AND
0000135d: EQ
0000135e: ISZERO
0000135f: PUSH2 0x137a
00001362: JUMPI
00001363: PUSH1 0x40
00001365: MLOAD
00001366: PUSH3 0x461bcd
0000136a: PUSH1 0xe5
0000136c: SHL
0000136d: DUP2
0000136e: MSTORE
0000136f: PUSH1 0x04
00001371: ADD
00001372: PUSH2 0x00c8
00001375: SWAP1
00001376: PUSH2 0x233c
00001379: JUMP
0000137a: JUMPDEST
0000137b: PUSH1 0x01
0000137d: SLOAD
0000137e: PUSH1 0xff
00001380: DUP6
00001381: DUP2
00001382: AND
00001383: PUSH1 0x01
00001385: PUSH1 0xa0
00001387: SHL
00001388: SWAP1
00001389: SWAP3
0000138a: DIV
0000138b: AND
0000138c: EQ
0000138d: PUSH2 0x13a8
00001390: JUMPI
00001391: PUSH1 0x40
00001393: MLOAD
00001394: PUSH3 0x461bcd
00001398: PUSH1 0xe5
0000139a: SHL
0000139b: DUP2
0000139c: MSTORE
0000139d: PUSH1 0x04
0000139f: ADD
000013a0: PUSH2 0x00c8
000013a3: SWAP1
000013a4: PUSH2 0x220a
000013a7: JUMP
000013a8: JUMPDEST
000013a9: PUSH1 0x01
000013ab: SLOAD
000013ac: PUSH1 0xff
000013ae: DUP4
000013af: DUP2
000013b0: AND
000013b1: PUSH1 0x01
000013b3: PUSH1 0xa0
000013b5: SHL
000013b6: SWAP1
000013b7: SWAP3
000013b8: DIV
000013b9: AND
000013ba: EQ
000013bb: PUSH2 0x149f
000013be: JUMPI
000013bf: PUSH1 0x00
000013c1: PUSH2 0x13cb
000013c4: DUP8
000013c5: PUSH1 0x47
000013c7: PUSH2 0x16e3
000013ca: JUMP
000013cb: JUMPDEST
000013cc: SWAP1
000013cd: POP
000013ce: PUSH1 0x00
000013d0: DUP4
000013d1: DUP3
000013d2: PUSH1 0x40
000013d4: MLOAD
000013d5: PUSH1 0x20
000013d7: ADD
000013d8: PUSH2 0x13e2
000013db: SWAP3
000013dc: SWAP2
000013dd: SWAP1
000013de: PUSH2 0x1e60
000013e1: JUMP
000013e2: JUMPDEST
000013e3: PUSH1 0x40
000013e5: DUP1
000013e6: MLOAD
000013e7: PUSH1 0x1f
000013e9: NOT
000013ea: DUP2
000013eb: DUP5
000013ec: SUB
000013ed: ADD
000013ee: DUP2
000013ef: MSTORE
000013f0: SWAP2
000013f1: DUP2
000013f2: MSTORE
000013f3: DUP2
000013f4: MLOAD
000013f5: PUSH1 0x20
000013f7: SWAP3
000013f8: DUP4
000013f9: ADD
000013fa: KECCAK256
000013fb: PUSH1 0x00
000013fd: DUP2
000013fe: DUP2
000013ff: MSTORE
00001400: PUSH1 0x05
00001402: SWAP1
00001403: SWAP4
00001404: MSTORE
00001405: SWAP2
00001406: KECCAK256
00001407: SLOAD
00001408: SWAP1
00001409: SWAP2
0000140a: POP
0000140b: PUSH1 0x01
0000140d: PUSH1 0x01
0000140f: PUSH1 0xa0
00001411: SHL
00001412: SUB
00001413: AND
00001414: DUP1
00001415: PUSH2 0x1437
00001418: JUMPI
00001419: PUSH1 0x00
0000141b: PUSH2 0x1425
0000141e: DUP11
0000141f: PUSH1 0x67
00001421: PUSH2 0x15f2
00001424: JUMP
00001425: JUMPDEST
00001426: SWAP1
00001427: POP
00001428: PUSH2 0x1433
0000142b: DUP4
0000142c: DUP8
0000142d: DUP7
0000142e: DUP5
0000142f: PUSH2 0x180c
00001432: JUMP
00001433: JUMPDEST
00001434: SWAP2
00001435: POP
00001436: POP
00001437: JUMPDEST
00001438: PUSH1 0x40
0000143a: MLOAD
0000143b: PUSH4 0x40c10f19
00001440: PUSH1 0xe0
00001442: SHL
00001443: DUP2
00001444: MSTORE
00001445: PUSH1 0x01
00001447: PUSH1 0x01
00001449: PUSH1 0xa0
0000144b: SHL
0000144c: SUB
0000144d: DUP3
0000144e: AND
0000144f: SWAP1
00001450: PUSH4 0x40c10f19
00001455: SWAP1
00001456: PUSH2 0x1465
00001459: SWAP1
0000145a: DUP10
0000145b: SWAP1
0000145c: DUP9
0000145d: SWAP1
0000145e: PUSH1 0x04
00001460: ADD
00001461: PUSH2 0x1e91
00001464: JUMP
00001465: JUMPDEST
00001466: PUSH1 0x00
00001468: PUSH1 0x40
0000146a: MLOAD
0000146b: DUP1
0000146c: DUP4
0000146d: SUB
0000146e: DUP2
0000146f: PUSH1 0x00
00001471: DUP8
00001472: DUP1
00001473: EXTCODESIZE
00001474: ISZERO
00001475: DUP1
00001476: ISZERO
00001477: PUSH2 0x147f
0000147a: JUMPI
0000147b: PUSH1 0x00
0000147d: DUP1
0000147e: REVERT
0000147f: JUMPDEST
00001480: POP
00001481: GAS
00001482: CALL
00001483: ISZERO
00001484: DUP1
00001485: ISZERO
00001486: PUSH2 0x1493
00001489: JUMPI
0000148a: RETURNDATASIZE
0000148b: PUSH1 0x00
0000148d: DUP1
0000148e: RETURNDATACOPY
0000148f: RETURNDATASIZE
00001490: PUSH1 0x00
00001492: REVERT
00001493: JUMPDEST
00001494: POP
00001495: POP
00001496: POP
00001497: POP
00001498: POP
00001499: POP
0000149a: POP
0000149b: PUSH2 0x155d
0000149e: JUMP
0000149f: JUMPDEST
000014a0: PUSH1 0x00
000014a2: PUSH2 0x14ac
000014a5: DUP8
000014a6: PUSH1 0x53
000014a8: PUSH2 0x17d6
000014ab: JUMP
000014ac: JUMPDEST
000014ad: SWAP1
000014ae: POP
000014af: PUSH1 0x00
000014b1: DUP2
000014b2: PUSH1 0x01
000014b4: PUSH1 0x01
000014b6: PUSH1 0xa0
000014b8: SHL
000014b9: SUB
000014ba: AND
000014bb: PUSH4 0x313ce567
000014c0: PUSH1 0x40
000014c2: MLOAD
000014c3: DUP2
000014c4: PUSH4 0xffffffff
000014c9: AND
000014ca: PUSH1 0xe0
000014cc: SHL
000014cd: DUP2
000014ce: MSTORE
000014cf: PUSH1 0x04
000014d1: ADD
000014d2: PUSH1 0x20
000014d4: PUSH1 0x40
000014d6: MLOAD
000014d7: DUP1
000014d8: DUP4
000014d9: SUB
000014da: DUP2
000014db: DUP7
000014dc: DUP1
000014dd: EXTCODESIZE
000014de: ISZERO
000014df: DUP1
000014e0: ISZERO
000014e1: PUSH2 0x14e9
000014e4: JUMPI
000014e5: PUSH1 0x00
000014e7: DUP1
000014e8: REVERT
000014e9: JUMPDEST
000014ea: POP
000014eb: GAS
000014ec: STATICCALL
000014ed: ISZERO
000014ee: DUP1
000014ef: ISZERO
000014f0: PUSH2 0x14fd
000014f3: JUMPI
000014f4: RETURNDATASIZE
000014f5: PUSH1 0x00
000014f7: DUP1
000014f8: RETURNDATACOPY
000014f9: RETURNDATASIZE
000014fa: PUSH1 0x00
000014fc: REVERT
000014fd: JUMPDEST
000014fe: POP
000014ff: POP
00001500: POP
00001501: POP
00001502: PUSH1 0x40
00001504: MLOAD
00001505: RETURNDATASIZE
00001506: PUSH1 0x1f
00001508: NOT
00001509: PUSH1 0x1f
0000150b: DUP3
0000150c: ADD
0000150d: AND
0000150e: DUP3
0000150f: ADD
00001510: DUP1
00001511: PUSH1 0x40
00001513: MSTORE
00001514: POP
00001515: DUP2
00001516: ADD
00001517: SWAP1
00001518: PUSH2 0x1521
0000151b: SWAP2
0000151c: SWAP1
0000151d: PUSH2 0x1dfc
00001520: JUMP
00001521: JUMPDEST
00001522: SWAP1
00001523: POP
00001524: PUSH1 0x09
00001526: DUP2
00001527: PUSH1 0xff
00001529: AND
0000152a: GT
0000152b: ISZERO
0000152c: PUSH2 0x1546
0000152f: JUMPI
00001530: PUSH2 0x1543
00001533: DUP4
00001534: PUSH1 0xff
00001536: PUSH1 0x08
00001538: NOT
00001539: DUP5
0000153a: ADD
0000153b: AND
0000153c: PUSH1 0x0a
0000153e: EXP
0000153f: PUSH2 0x191a
00001542: JUMP
00001543: JUMPDEST
00001544: SWAP3
00001545: POP
00001546: JUMPDEST
00001547: PUSH2 0x155a
0000154a: PUSH1 0x01
0000154c: PUSH1 0x01
0000154e: PUSH1 0xa0
00001550: SHL
00001551: SUB
00001552: DUP4
00001553: AND
00001554: DUP7
00001555: DUP6
00001556: PUSH2 0x17b2
00001559: JUMP
0000155a: JUMPDEST
0000155b: POP
0000155c: POP
0000155d: JUMPDEST
0000155e: POP
0000155f: POP
00001560: POP
00001561: POP
00001562: POP
00001563: POP
00001564: JUMP
00001565: JUMPDEST
00001566: PUSH1 0x00
00001568: PUSH2 0x15a7
0000156b: DUP4
0000156c: DUP4
0000156d: PUSH1 0x40
0000156f: MLOAD
00001570: DUP1
00001571: PUSH1 0x40
00001573: ADD
00001574: PUSH1 0x40
00001576: MSTORE
00001577: DUP1
00001578: PUSH1 0x18
0000157a: DUP2
0000157b: MSTORE
0000157c: PUSH1 0x20
0000157e: ADD
0000157f: PUSH32 0x536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000
000015a0: DUP2
000015a1: MSTORE
000015a2: POP
000015a3: PUSH2 0x1954
000015a6: JUMP
000015a7: JUMPDEST
000015a8: SWAP1
000015a9: POP
000015aa: JUMPDEST
000015ab: SWAP3
000015ac: SWAP2
000015ad: POP
000015ae: POP
000015af: JUMP
000015b0: JUMPDEST
000015b1: PUSH1 0x00
000015b3: PUSH2 0x15a7
000015b6: DUP4
000015b7: DUP4
000015b8: PUSH1 0x40
000015ba: MLOAD
000015bb: DUP1
000015bc: PUSH1 0x40
000015be: ADD
000015bf: PUSH1 0x40
000015c1: MSTORE
000015c2: DUP1
000015c3: PUSH1 0x1a
000015c5: DUP2
000015c6: MSTORE
000015c7: PUSH1 0x20
000015c9: ADD
000015ca: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
000015eb: DUP2
000015ec: MSTORE
000015ed: POP
000015ee: PUSH2 0x1988
000015f1: JUMP
000015f2: JUMPDEST
000015f3: PUSH1 0x00
000015f5: DUP2
000015f6: PUSH1 0x01
000015f8: ADD
000015f9: DUP4
000015fa: MLOAD
000015fb: LT
000015fc: ISZERO
000015fd: PUSH2 0x1618
00001600: JUMPI
00001601: PUSH1 0x40
00001603: MLOAD
00001604: PUSH3 0x461bcd
00001608: PUSH1 0xe5
0000160a: SHL
0000160b: DUP2
0000160c: MSTORE
0000160d: PUSH1 0x04
0000160f: ADD
00001610: PUSH2 0x00c8
00001613: SWAP1
00001614: PUSH2 0x2059
00001617: JUMP
00001618: JUMPDEST
00001619: POP
0000161a: ADD
0000161b: PUSH1 0x01
0000161d: ADD
0000161e: MLOAD
0000161f: SWAP1
00001620: JUMP
00001621: JUMPDEST
00001622: PUSH1 0x00
00001624: DUP2
00001625: PUSH1 0x04
00001627: ADD
00001628: DUP4
00001629: MLOAD
0000162a: LT
0000162b: ISZERO
0000162c: PUSH2 0x1647
0000162f: JUMPI
00001630: PUSH1 0x40
00001632: MLOAD
00001633: PUSH3 0x461bcd
00001637: PUSH1 0xe5
00001639: SHL
0000163a: DUP2
0000163b: MSTORE
0000163c: PUSH1 0x04
0000163e: ADD
0000163f: PUSH2 0x00c8
00001642: SWAP1
00001643: PUSH2 0x2059
00001646: JUMP
00001647: JUMPDEST
00001648: POP
00001649: ADD
0000164a: PUSH1 0x04
0000164c: ADD
0000164d: MLOAD
0000164e: SWAP1
0000164f: JUMP
00001650: JUMPDEST
00001651: PUSH1 0x60
00001653: DUP2
00001654: DUP4
00001655: ADD
00001656: DUP5
00001657: MLOAD
00001658: LT
00001659: ISZERO
0000165a: PUSH2 0x1675
0000165d: JUMPI
0000165e: PUSH1 0x40
00001660: MLOAD
00001661: PUSH3 0x461bcd
00001665: PUSH1 0xe5
00001667: SHL
00001668: DUP2
00001669: MSTORE
0000166a: PUSH1 0x04
0000166c: ADD
0000166d: PUSH2 0x00c8
00001670: SWAP1
00001671: PUSH2 0x2059
00001674: JUMP
00001675: JUMPDEST
00001676: PUSH1 0x60
00001678: DUP3
00001679: ISZERO
0000167a: DUP1
0000167b: ISZERO
0000167c: PUSH2 0x1690
0000167f: JUMPI
00001680: PUSH1 0x40
00001682: MLOAD
00001683: SWAP2
00001684: POP
00001685: PUSH1 0x20
00001687: DUP3
00001688: ADD
00001689: PUSH1 0x40
0000168b: MSTORE
0000168c: PUSH2 0x16da
0000168f: JUMP
00001690: JUMPDEST
00001691: PUSH1 0x40
00001693: MLOAD
00001694: SWAP2
00001695: POP
00001696: PUSH1 0x1f
00001698: DUP5
00001699: AND
0000169a: DUP1
0000169b: ISZERO
0000169c: PUSH1 0x20
0000169e: MUL
0000169f: DUP2
000016a0: DUP5
000016a1: ADD
000016a2: ADD
000016a3: DUP6
000016a4: DUP2
000016a5: ADD
000016a6: DUP8
000016a7: DUP4
000016a8: ISZERO
000016a9: PUSH1 0x20
000016ab: MUL
000016ac: DUP5
000016ad: DUP12
000016ae: ADD
000016af: ADD
000016b0: ADD
000016b1: JUMPDEST
000016b2: DUP2
000016b3: DUP4
000016b4: LT
000016b5: ISZERO
000016b6: PUSH2 0x16c9
000016b9: JUMPI
000016ba: DUP1
000016bb: MLOAD
000016bc: DUP4
000016bd: MSTORE
000016be: PUSH1 0x20
000016c0: SWAP3
000016c1: DUP4
000016c2: ADD
000016c3: SWAP3
000016c4: ADD
000016c5: PUSH2 0x16b1
000016c8: JUMP
000016c9: JUMPDEST
000016ca: POP
000016cb: POP
000016cc: DUP6
000016cd: DUP5
000016ce: MSTORE
000016cf: PUSH1 0x1f
000016d1: ADD
000016d2: PUSH1 0x1f
000016d4: NOT
000016d5: AND
000016d6: PUSH1 0x40
000016d8: MSTORE
000016d9: POP
000016da: JUMPDEST
000016db: POP
000016dc: SWAP5
000016dd: SWAP4
000016de: POP
000016df: POP
000016e0: POP
000016e1: POP
000016e2: JUMP
000016e3: JUMPDEST
000016e4: PUSH1 0x00
000016e6: DUP2
000016e7: PUSH1 0x20
000016e9: ADD
000016ea: DUP4
000016eb: MLOAD
000016ec: LT
000016ed: ISZERO
000016ee: PUSH2 0x1709
000016f1: JUMPI
000016f2: PUSH1 0x40
000016f4: MLOAD
000016f5: PUSH3 0x461bcd
000016f9: PUSH1 0xe5
000016fb: SHL
000016fc: DUP2
000016fd: MSTORE
000016fe: PUSH1 0x04
00001700: ADD
00001701: PUSH2 0x00c8
00001704: SWAP1
00001705: PUSH2 0x2059
00001708: JUMP
00001709: JUMPDEST
0000170a: POP
0000170b: ADD
0000170c: PUSH1 0x20
0000170e: ADD
0000170f: MLOAD
00001710: SWAP1
00001711: JUMP
00001712: JUMPDEST
00001713: PUSH2 0x176a
00001716: DUP5
00001717: PUSH4 0x23b872dd
0000171c: PUSH1 0xe0
0000171e: SHL
0000171f: DUP6
00001720: DUP6
00001721: DUP6
00001722: PUSH1 0x40
00001724: MLOAD
00001725: PUSH1 0x24
00001727: ADD
00001728: PUSH2 0x1733
0000172b: SWAP4
0000172c: SWAP3
0000172d: SWAP2
0000172e: SWAP1
0000172f: PUSH2 0x1eaa
00001732: JUMP
00001733: JUMPDEST
00001734: PUSH1 0x40
00001736: DUP1
00001737: MLOAD
00001738: PUSH1 0x1f
0000173a: NOT
0000173b: DUP2
0000173c: DUP5
0000173d: SUB
0000173e: ADD
0000173f: DUP2
00001740: MSTORE
00001741: SWAP2
00001742: SWAP1
00001743: MSTORE
00001744: PUSH1 0x20
00001746: DUP2
00001747: ADD
00001748: DUP1
00001749: MLOAD
0000174a: PUSH1 0x01
0000174c: PUSH1 0x01
0000174e: PUSH1 0xe0
00001750: SHL
00001751: SUB
00001752: AND
00001753: PUSH1 0x01
00001755: PUSH1 0x01
00001757: PUSH1 0xe0
00001759: SHL
0000175a: SUB
0000175b: NOT
0000175c: SWAP1
0000175d: SWAP4
0000175e: AND
0000175f: SWAP3
00001760: SWAP1
00001761: SWAP3
00001762: OR
00001763: SWAP1
00001764: SWAP2
00001765: MSTORE
00001766: PUSH2 0x19bf
00001769: JUMP
0000176a: JUMPDEST
0000176b: POP
0000176c: POP
0000176d: POP
0000176e: POP
0000176f: JUMP
00001770: JUMPDEST
00001771: PUSH1 0x00
00001773: PUSH2 0x15a7
00001776: DUP4
00001777: DUP4
00001778: PUSH1 0x40
0000177a: MLOAD
0000177b: DUP1
0000177c: PUSH1 0x40
0000177e: ADD
0000177f: PUSH1 0x40
00001781: MSTORE
00001782: DUP1
00001783: PUSH1 0x1e
00001785: DUP2
00001786: MSTORE
00001787: PUSH1 0x20
00001789: ADD
0000178a: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
000017ab: DUP2
000017ac: MSTORE
000017ad: POP
000017ae: PUSH2 0x1a4e
000017b1: JUMP
000017b2: JUMPDEST
000017b3: PUSH2 0x17d1
000017b6: DUP4
000017b7: PUSH4 0xa9059cbb
000017bc: PUSH1 0xe0
000017be: SHL
000017bf: DUP5
000017c0: DUP5
000017c1: PUSH1 0x40
000017c3: MLOAD
000017c4: PUSH1 0x24
000017c6: ADD
000017c7: PUSH2 0x1733
000017ca: SWAP3
000017cb: SWAP2
000017cc: SWAP1
000017cd: PUSH2 0x1e91
000017d0: JUMP
000017d1: JUMPDEST
000017d2: POP
000017d3: POP
000017d4: POP
000017d5: JUMP
000017d6: JUMPDEST
000017d7: PUSH1 0x00
000017d9: DUP2
000017da: PUSH1 0x14
000017dc: ADD
000017dd: DUP4
000017de: MLOAD
000017df: LT
000017e0: ISZERO
000017e1: PUSH2 0x17fc
000017e4: JUMPI
000017e5: PUSH1 0x40
000017e7: MLOAD
000017e8: PUSH3 0x461bcd
000017ec: PUSH1 0xe5
000017ee: SHL
000017ef: DUP2
000017f0: MSTORE
000017f1: PUSH1 0x04
000017f3: ADD
000017f4: PUSH2 0x00c8
000017f7: SWAP1
000017f8: PUSH2 0x2059
000017fb: JUMP
000017fc: JUMPDEST
000017fd: POP
000017fe: ADD
000017ff: PUSH1 0x20
00001801: ADD
00001802: MLOAD
00001803: PUSH1 0x01
00001805: PUSH1 0x60
00001807: SHL
00001808: SWAP1
00001809: DIV
0000180a: SWAP1
0000180b: JUMP
0000180c: JUMPDEST
0000180d: PUSH1 0x01
0000180f: SLOAD
00001810: PUSH1 0x40
00001812: MLOAD
00001813: PUSH20 0x3d602d80600a3d3981f3363d3d373d3d3d363d73
00001828: PUSH1 0x60
0000182a: SHL
0000182b: DUP2
0000182c: MSTORE
0000182d: PUSH1 0x60
0000182f: SWAP2
00001830: SWAP1
00001831: SWAP2
00001832: SHL
00001833: PUSH12 0xffffffffffffffffffffffff
00001840: NOT
00001841: AND
00001842: PUSH1 0x14
00001844: DUP3
00001845: ADD
00001846: DUP2
00001847: SWAP1
00001848: MSTORE
00001849: PUSH15 0x5af43d82803e903d91602b57fd5bf3
00001859: PUSH1 0x88
0000185b: SHL
0000185c: PUSH1 0x28
0000185e: DUP4
0000185f: ADD
00001860: MSTORE
00001861: PUSH1 0x00
00001863: SWAP2
00001864: DUP7
00001865: PUSH1 0x37
00001867: DUP3
00001868: DUP6
00001869: CREATE2
0000186a: PUSH1 0x40
0000186c: MLOAD
0000186d: PUSH4 0xa7a2d3fb
00001872: PUSH1 0xe0
00001874: SHL
00001875: DUP2
00001876: MSTORE
00001877: SWAP1
00001878: SWAP4
00001879: POP
0000187a: PUSH1 0x01
0000187c: PUSH1 0x01
0000187e: PUSH1 0xa0
00001880: SHL
00001881: SUB
00001882: DUP5
00001883: AND
00001884: SWAP2
00001885: POP
00001886: PUSH4 0xa7a2d3fb
0000188b: SWAP1
0000188c: PUSH2 0x189d
0000188f: SWAP1
00001890: DUP9
00001891: SWAP1
00001892: DUP9
00001893: SWAP1
00001894: DUP9
00001895: SWAP1
00001896: PUSH1 0x04
00001898: ADD
00001899: PUSH2 0x24d9
0000189c: JUMP
0000189d: JUMPDEST
0000189e: PUSH1 0x00
000018a0: PUSH1 0x40
000018a2: MLOAD
000018a3: DUP1
000018a4: DUP4
000018a5: SUB
000018a6: DUP2
000018a7: PUSH1 0x00
000018a9: DUP8
000018aa: DUP1
000018ab: EXTCODESIZE
000018ac: ISZERO
000018ad: DUP1
000018ae: ISZERO
000018af: PUSH2 0x18b7
000018b2: JUMPI
000018b3: PUSH1 0x00
000018b5: DUP1
000018b6: REVERT
000018b7: JUMPDEST
000018b8: POP
000018b9: GAS
000018ba: CALL
000018bb: ISZERO
000018bc: DUP1
000018bd: ISZERO
000018be: PUSH2 0x18cb
000018c1: JUMPI
000018c2: RETURNDATASIZE
000018c3: PUSH1 0x00
000018c5: DUP1
000018c6: RETURNDATACOPY
000018c7: RETURNDATASIZE
000018c8: PUSH1 0x00
000018ca: REVERT
000018cb: JUMPDEST
000018cc: POP
000018cd: POP
000018ce: POP
000018cf: PUSH1 0x00
000018d1: SWAP7
000018d2: DUP8
000018d3: MSTORE
000018d4: POP
000018d5: POP
000018d6: PUSH1 0x05
000018d8: PUSH1 0x20
000018da: SWAP1
000018db: DUP2
000018dc: MSTORE
000018dd: PUSH1 0x40
000018df: DUP1
000018e0: DUP8
000018e1: KECCAK256
000018e2: DUP1
000018e3: SLOAD
000018e4: PUSH1 0x01
000018e6: PUSH1 0x01
000018e8: PUSH1 0xa0
000018ea: SHL
000018eb: SUB
000018ec: NOT
000018ed: AND
000018ee: PUSH1 0x01
000018f0: PUSH1 0x01
000018f2: PUSH1 0xa0
000018f4: SHL
000018f5: SUB
000018f6: DUP6
000018f7: AND
000018f8: SWAP1
000018f9: DUP2
000018fa: OR
000018fb: SWAP1
000018fc: SWAP2
000018fd: SSTORE
000018fe: DUP8
000018ff: MSTORE
00001900: PUSH1 0x06
00001902: SWAP1
00001903: SWAP2
00001904: MSTORE
00001905: SWAP1
00001906: SWAP5
00001907: KECCAK256
00001908: DUP1
00001909: SLOAD
0000190a: PUSH1 0xff
0000190c: NOT
0000190d: AND
0000190e: PUSH1 0x01
00001910: OR
00001911: SWAP1
00001912: SSTORE
00001913: POP
00001914: SWAP2
00001915: SWAP3
00001916: SWAP2
00001917: POP
00001918: POP
00001919: JUMP
0000191a: JUMPDEST
0000191b: PUSH1 0x00
0000191d: DUP3
0000191e: PUSH2 0x1929
00001921: JUMPI
00001922: POP
00001923: PUSH1 0x00
00001925: PUSH2 0x15aa
00001928: JUMP
00001929: JUMPDEST
0000192a: DUP3
0000192b: DUP3
0000192c: MUL
0000192d: DUP3
0000192e: DUP5
0000192f: DUP3
00001930: DUP2
00001931: PUSH2 0x1936
00001934: JUMPI
00001935: INVALID
00001936: JUMPDEST
00001937: DIV
00001938: EQ
00001939: PUSH2 0x15a7
0000193c: JUMPI
0000193d: PUSH1 0x40
0000193f: MLOAD
00001940: PUSH3 0x461bcd
00001944: PUSH1 0xe5
00001946: SHL
00001947: DUP2
00001948: MSTORE
00001949: PUSH1 0x04
0000194b: ADD
0000194c: PUSH2 0x00c8
0000194f: SWAP1
00001950: PUSH2 0x212e
00001953: JUMP
00001954: JUMPDEST
00001955: PUSH1 0x00
00001957: DUP2
00001958: DUP4
00001959: PUSH2 0x1975
0000195c: JUMPI
0000195d: PUSH1 0x40
0000195f: MLOAD
00001960: PUSH3 0x461bcd
00001964: PUSH1 0xe5
00001966: SHL
00001967: DUP2
00001968: MSTORE
00001969: PUSH1 0x04
0000196b: ADD
0000196c: PUSH2 0x00c8
0000196f: SWAP2
00001970: SWAP1
00001971: PUSH2 0x1ef7
00001974: JUMP
00001975: JUMPDEST
00001976: POP
00001977: DUP3
00001978: DUP5
00001979: DUP2
0000197a: PUSH2 0x197f
0000197d: JUMPI
0000197e: INVALID
0000197f: JUMPDEST
00001980: MOD
00001981: SWAP5
00001982: SWAP4
00001983: POP
00001984: POP
00001985: POP
00001986: POP
00001987: JUMP
00001988: JUMPDEST
00001989: PUSH1 0x00
0000198b: DUP2
0000198c: DUP4
0000198d: PUSH2 0x19a9
00001990: JUMPI
00001991: PUSH1 0x40
00001993: MLOAD
00001994: PUSH3 0x461bcd
00001998: PUSH1 0xe5
0000199a: SHL
0000199b: DUP2
0000199c: MSTORE
0000199d: PUSH1 0x04
0000199f: ADD
000019a0: PUSH2 0x00c8
000019a3: SWAP2
000019a4: SWAP1
000019a5: PUSH2 0x1ef7
000019a8: JUMP
000019a9: JUMPDEST
000019aa: POP
000019ab: PUSH1 0x00
000019ad: DUP4
000019ae: DUP6
000019af: DUP2
000019b0: PUSH2 0x19b5
000019b3: JUMPI
000019b4: INVALID
000019b5: JUMPDEST
000019b6: DIV
000019b7: SWAP6
000019b8: SWAP5
000019b9: POP
000019ba: POP
000019bb: POP
000019bc: POP
000019bd: POP
000019be: JUMP
000019bf: JUMPDEST
000019c0: PUSH1 0x60
000019c2: PUSH2 0x1a14
000019c5: DUP3
000019c6: PUSH1 0x40
000019c8: MLOAD
000019c9: DUP1
000019ca: PUSH1 0x40
000019cc: ADD
000019cd: PUSH1 0x40
000019cf: MSTORE
000019d0: DUP1
000019d1: PUSH1 0x20
000019d3: DUP2
000019d4: MSTORE
000019d5: PUSH1 0x20
000019d7: ADD
000019d8: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000019f9: DUP2
000019fa: MSTORE
000019fb: POP
000019fc: DUP6
000019fd: PUSH1 0x01
000019ff: PUSH1 0x01
00001a01: PUSH1 0xa0
00001a03: SHL
00001a04: SUB
00001a05: AND
00001a06: PUSH2 0x1a7a
00001a09: SWAP1
00001a0a: SWAP3
00001a0b: SWAP2
00001a0c: SWAP1
00001a0d: PUSH4 0xffffffff
00001a12: AND
00001a13: JUMP
00001a14: JUMPDEST
00001a15: DUP1
00001a16: MLOAD
00001a17: SWAP1
00001a18: SWAP2
00001a19: POP
00001a1a: ISZERO
00001a1b: PUSH2 0x17d1
00001a1e: JUMPI
00001a1f: DUP1
00001a20: DUP1
00001a21: PUSH1 0x20
00001a23: ADD
00001a24: SWAP1
00001a25: MLOAD
00001a26: DUP2
00001a27: ADD
00001a28: SWAP1
00001a29: PUSH2 0x1a32
00001a2c: SWAP2
00001a2d: SWAP1
00001a2e: PUSH2 0x1ce1
00001a31: JUMP
00001a32: JUMPDEST
00001a33: PUSH2 0x17d1
00001a36: JUMPI
00001a37: PUSH1 0x40
00001a39: MLOAD
00001a3a: PUSH3 0x461bcd
00001a3e: PUSH1 0xe5
00001a40: SHL
00001a41: DUP2
00001a42: MSTORE
00001a43: PUSH1 0x04
00001a45: ADD
00001a46: PUSH2 0x00c8
00001a49: SWAP1
00001a4a: PUSH2 0x22f2
00001a4d: JUMP
00001a4e: JUMPDEST
00001a4f: PUSH1 0x00
00001a51: DUP2
00001a52: DUP5
00001a53: DUP5
00001a54: GT
00001a55: ISZERO
00001a56: PUSH2 0x1a72
00001a59: JUMPI
00001a5a: PUSH1 0x40
00001a5c: MLOAD
00001a5d: PUSH3 0x461bcd
00001a61: PUSH1 0xe5
00001a63: SHL
00001a64: DUP2
00001a65: MSTORE
00001a66: PUSH1 0x04
00001a68: ADD
00001a69: PUSH2 0x00c8
00001a6c: SWAP2
00001a6d: SWAP1
00001a6e: PUSH2 0x1ef7
00001a71: JUMP
00001a72: JUMPDEST
00001a73: POP
00001a74: POP
00001a75: POP
00001a76: SWAP1
00001a77: SUB
00001a78: SWAP1
00001a79: JUMP
00001a7a: JUMPDEST
00001a7b: PUSH1 0x60
00001a7d: PUSH2 0x1a89
00001a80: DUP5
00001a81: DUP5
00001a82: PUSH1 0x00
00001a84: DUP6
00001a85: PUSH2 0x1a91
00001a88: JUMP
00001a89: JUMPDEST
00001a8a: SWAP5
00001a8b: SWAP4
00001a8c: POP
00001a8d: POP
00001a8e: POP
00001a8f: POP
00001a90: JUMP
00001a91: JUMPDEST
00001a92: PUSH1 0x60
00001a94: PUSH2 0x1a9c
00001a97: DUP6
00001a98: PUSH2 0x1b55
00001a9b: JUMP
00001a9c: JUMPDEST
00001a9d: PUSH2 0x1ab8
00001aa0: JUMPI
00001aa1: PUSH1 0x40
00001aa3: MLOAD
00001aa4: PUSH3 0x461bcd
00001aa8: PUSH1 0xe5
00001aaa: SHL
00001aab: DUP2
00001aac: MSTORE
00001aad: PUSH1 0x04
00001aaf: ADD
00001ab0: PUSH2 0x00c8
00001ab3: SWAP1
00001ab4: PUSH2 0x2278
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: PUSH1 0x00
00001abb: PUSH1 0x60
00001abd: DUP7
00001abe: PUSH1 0x01
00001ac0: PUSH1 0x01
00001ac2: PUSH1 0xa0
00001ac4: SHL
00001ac5: SUB
00001ac6: AND
00001ac7: DUP6
00001ac8: DUP8
00001ac9: PUSH1 0x40
00001acb: MLOAD
00001acc: PUSH2 0x1ad5
00001acf: SWAP2
00001ad0: SWAP1
00001ad1: PUSH2 0x1e44
00001ad4: JUMP
00001ad5: JUMPDEST
00001ad6: PUSH1 0x00
00001ad8: PUSH1 0x40
00001ada: MLOAD
00001adb: DUP1
00001adc: DUP4
00001add: SUB
00001ade: DUP2
00001adf: DUP6
00001ae0: DUP8
00001ae1: GAS
00001ae2: CALL
00001ae3: SWAP3
00001ae4: POP
00001ae5: POP
00001ae6: POP
00001ae7: RETURNDATASIZE
00001ae8: DUP1
00001ae9: PUSH1 0x00
00001aeb: DUP2
00001aec: EQ
00001aed: PUSH2 0x1b12
00001af0: JUMPI
00001af1: PUSH1 0x40
00001af3: MLOAD
00001af4: SWAP2
00001af5: POP
00001af6: PUSH1 0x1f
00001af8: NOT
00001af9: PUSH1 0x3f
00001afb: RETURNDATASIZE
00001afc: ADD
00001afd: AND
00001afe: DUP3
00001aff: ADD
00001b00: PUSH1 0x40
00001b02: MSTORE
00001b03: RETURNDATASIZE
00001b04: DUP3
00001b05: MSTORE
00001b06: RETURNDATASIZE
00001b07: PUSH1 0x00
00001b09: PUSH1 0x20
00001b0b: DUP5
00001b0c: ADD
00001b0d: RETURNDATACOPY
00001b0e: PUSH2 0x1b17
00001b11: JUMP
00001b12: JUMPDEST
00001b13: PUSH1 0x60
00001b15: SWAP2
00001b16: POP
00001b17: JUMPDEST
00001b18: POP
00001b19: SWAP2
00001b1a: POP
00001b1b: SWAP2
00001b1c: POP
00001b1d: DUP2
00001b1e: ISZERO
00001b1f: PUSH2 0x1b2b
00001b22: JUMPI
00001b23: SWAP2
00001b24: POP
00001b25: PUSH2 0x1a89
00001b28: SWAP1
00001b29: POP
00001b2a: JUMP
00001b2b: JUMPDEST
00001b2c: DUP1
00001b2d: MLOAD
00001b2e: ISZERO
00001b2f: PUSH2 0x1b3b
00001b32: JUMPI
00001b33: DUP1
00001b34: MLOAD
00001b35: DUP1
00001b36: DUP3
00001b37: PUSH1 0x20
00001b39: ADD
00001b3a: REVERT
00001b3b: JUMPDEST
00001b3c: DUP4
00001b3d: PUSH1 0x40
00001b3f: MLOAD
00001b40: PUSH3 0x461bcd
00001b44: PUSH1 0xe5
00001b46: SHL
00001b47: DUP2
00001b48: MSTORE
00001b49: PUSH1 0x04
00001b4b: ADD
00001b4c: PUSH2 0x00c8
00001b4f: SWAP2
00001b50: SWAP1
00001b51: PUSH2 0x1ef7
00001b54: JUMP
00001b55: JUMPDEST
00001b56: EXTCODESIZE
00001b57: ISZERO
00001b58: ISZERO
00001b59: SWAP1
00001b5a: JUMP
00001b5b: JUMPDEST
00001b5c: PUSH1 0x40
00001b5e: DUP1
00001b5f: MLOAD
00001b60: PUSH1 0xc0
00001b62: DUP2
00001b63: ADD
00001b64: DUP3
00001b65: MSTORE
00001b66: PUSH1 0x00
00001b68: DUP1
00001b69: DUP3
00001b6a: MSTORE
00001b6b: PUSH1 0x20
00001b6d: DUP3
00001b6e: ADD
00001b6f: DUP2
00001b70: SWAP1
00001b71: MSTORE
00001b72: SWAP2
00001b73: DUP2
00001b74: ADD
00001b75: DUP3
00001b76: SWAP1
00001b77: MSTORE
00001b78: PUSH1 0x60
00001b7a: DUP1
00001b7b: DUP3
00001b7c: ADD
00001b7d: DUP4
00001b7e: SWAP1
00001b7f: MSTORE
00001b80: PUSH1 0x80
00001b82: DUP3
00001b83: ADD
00001b84: SWAP3
00001b85: SWAP1
00001b86: SWAP3
00001b87: MSTORE
00001b88: PUSH1 0xa0
00001b8a: DUP2
00001b8b: ADD
00001b8c: SWAP2
00001b8d: SWAP1
00001b8e: SWAP2
00001b8f: MSTORE
00001b90: SWAP1
00001b91: JUMP
00001b92: JUMPDEST
00001b93: PUSH1 0x40
00001b95: DUP1
00001b96: MLOAD
00001b97: DUP1
00001b98: DUP3
00001b99: ADD
00001b9a: SWAP1
00001b9b: SWAP2
00001b9c: MSTORE
00001b9d: PUSH1 0x60
00001b9f: DUP2
00001ba0: MSTORE
00001ba1: PUSH1 0x00
00001ba3: PUSH1 0x20
00001ba5: DUP3
00001ba6: ADD
00001ba7: MSTORE
00001ba8: SWAP1
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: DUP3
00001bac: DUP1
00001bad: SLOAD
00001bae: DUP3
00001baf: DUP3
00001bb0: SSTORE
00001bb1: SWAP1
00001bb2: PUSH1 0x00
00001bb4: MSTORE
00001bb5: PUSH1 0x20
00001bb7: PUSH1 0x00
00001bb9: KECCAK256
00001bba: SWAP1
00001bbb: DUP2
00001bbc: ADD
00001bbd: SWAP3
00001bbe: DUP3
00001bbf: ISZERO
00001bc0: PUSH2 0x1bff
00001bc3: JUMPI
00001bc4: SWAP2
00001bc5: PUSH1 0x20
00001bc7: MUL
00001bc8: DUP3
00001bc9: ADD
00001bca: JUMPDEST
00001bcb: DUP3
00001bcc: DUP2
00001bcd: GT
00001bce: ISZERO
00001bcf: PUSH2 0x1bff
00001bd2: JUMPI
00001bd3: DUP3
00001bd4: MLOAD
00001bd5: DUP3
00001bd6: SLOAD
00001bd7: PUSH1 0x01
00001bd9: PUSH1 0x01
00001bdb: PUSH1 0xa0
00001bdd: SHL
00001bde: SUB
00001bdf: NOT
00001be0: AND
00001be1: PUSH1 0x01
00001be3: PUSH1 0x01
00001be5: PUSH1 0xa0
00001be7: SHL
00001be8: SUB
00001be9: SWAP1
00001bea: SWAP2
00001beb: AND
00001bec: OR
00001bed: DUP3
00001bee: SSTORE
00001bef: PUSH1 0x20
00001bf1: SWAP1
00001bf2: SWAP3
00001bf3: ADD
00001bf4: SWAP2
00001bf5: PUSH1 0x01
00001bf7: SWAP1
00001bf8: SWAP2
00001bf9: ADD
00001bfa: SWAP1
00001bfb: PUSH2 0x1bca
00001bfe: JUMP
00001bff: JUMPDEST
00001c00: POP
00001c01: PUSH2 0x1c0b
00001c04: SWAP3
00001c05: SWAP2
00001c06: POP
00001c07: PUSH2 0x1c0f
00001c0a: JUMP
00001c0b: JUMPDEST
00001c0c: POP
00001c0d: SWAP1
00001c0e: JUMP
00001c0f: JUMPDEST
00001c10: JUMPDEST
00001c11: DUP1
00001c12: DUP3
00001c13: GT
00001c14: ISZERO
00001c15: PUSH2 0x1c0b
00001c18: JUMPI
00001c19: DUP1
00001c1a: SLOAD
00001c1b: PUSH1 0x01
00001c1d: PUSH1 0x01
00001c1f: PUSH1 0xa0
00001c21: SHL
00001c22: SUB
00001c23: NOT
00001c24: AND
00001c25: DUP2
00001c26: SSTORE
00001c27: PUSH1 0x01
00001c29: ADD
00001c2a: PUSH2 0x1c10
00001c2d: JUMP
00001c2e: JUMPDEST
00001c2f: DUP1
00001c30: CALLDATALOAD
00001c31: PUSH1 0x01
00001c33: PUSH1 0x01
00001c35: PUSH1 0xa0
00001c37: SHL
00001c38: SUB
00001c39: DUP2
00001c3a: AND
00001c3b: DUP2
00001c3c: EQ
00001c3d: PUSH2 0x15aa
00001c40: JUMPI
00001c41: PUSH1 0x00
00001c43: DUP1
00001c44: REVERT
00001c45: JUMPDEST
00001c46: DUP1
00001c47: CALLDATALOAD
00001c48: PUSH4 0xffffffff
00001c4d: DUP2
00001c4e: AND
00001c4f: DUP2
00001c50: EQ
00001c51: PUSH2 0x15aa
00001c54: JUMPI
00001c55: PUSH1 0x00
00001c57: DUP1
00001c58: REVERT
00001c59: JUMPDEST
00001c5a: PUSH1 0x00
00001c5c: PUSH1 0x20
00001c5e: DUP3
00001c5f: DUP5
00001c60: SUB
00001c61: SLT
00001c62: ISZERO
00001c63: PUSH2 0x1c6a
00001c66: JUMPI
00001c67: DUP1
00001c68: DUP2
00001c69: REVERT
00001c6a: JUMPDEST
00001c6b: PUSH2 0x15a7
00001c6e: DUP4
00001c6f: DUP4
00001c70: PUSH2 0x1c2e
00001c73: JUMP
00001c74: JUMPDEST
00001c75: PUSH1 0x00
00001c77: DUP1
00001c78: PUSH1 0x00
00001c7a: DUP1
00001c7b: PUSH1 0x00
00001c7d: DUP1
00001c7e: PUSH1 0xc0
00001c80: DUP8
00001c81: DUP10
00001c82: SUB
00001c83: SLT
00001c84: ISZERO
00001c85: PUSH2 0x1c8c
00001c88: JUMPI
00001c89: DUP2
00001c8a: DUP3
00001c8b: REVERT
00001c8c: JUMPDEST
00001c8d: PUSH2 0x1c96
00001c90: DUP9
00001c91: DUP9
00001c92: PUSH2 0x1c2e
00001c95: JUMP
00001c96: JUMPDEST
00001c97: SWAP6
00001c98: POP
00001c99: PUSH1 0x20
00001c9b: DUP8
00001c9c: ADD
00001c9d: CALLDATALOAD
00001c9e: SWAP5
00001c9f: POP
00001ca0: PUSH1 0x40
00001ca2: DUP8
00001ca3: ADD
00001ca4: CALLDATALOAD
00001ca5: SWAP4
00001ca6: POP
00001ca7: PUSH1 0x60
00001ca9: DUP8
00001caa: ADD
00001cab: CALLDATALOAD
00001cac: PUSH2 0x1cb4
00001caf: DUP2
00001cb0: PUSH2 0x256b
00001cb3: JUMP
00001cb4: JUMPDEST
00001cb5: SWAP3
00001cb6: POP
00001cb7: PUSH2 0x1cc3
00001cba: DUP9
00001cbb: PUSH1 0x80
00001cbd: DUP10
00001cbe: ADD
00001cbf: PUSH2 0x1c45
00001cc2: JUMP
00001cc3: JUMPDEST
00001cc4: SWAP2
00001cc5: POP
00001cc6: PUSH1 0xa0
00001cc8: DUP8
00001cc9: ADD
00001cca: CALLDATALOAD
00001ccb: PUSH2 0x1cd3
00001cce: DUP2
00001ccf: PUSH2 0x255a
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: DUP1
00001cd5: SWAP2
00001cd6: POP
00001cd7: POP
00001cd8: SWAP3
00001cd9: SWAP6
00001cda: POP
00001cdb: SWAP3
00001cdc: SWAP6
00001cdd: POP
00001cde: SWAP3
00001cdf: SWAP6
00001ce0: JUMP
00001ce1: JUMPDEST
00001ce2: PUSH1 0x00
00001ce4: PUSH1 0x20
00001ce6: DUP3
00001ce7: DUP5
00001ce8: SUB
00001ce9: SLT
00001cea: ISZERO
00001ceb: PUSH2 0x1cf2
00001cee: JUMPI
00001cef: DUP1
00001cf0: DUP2
00001cf1: REVERT
00001cf2: JUMPDEST
00001cf3: DUP2
00001cf4: MLOAD
00001cf5: PUSH2 0x15a7
00001cf8: DUP2
00001cf9: PUSH2 0x255a
00001cfc: JUMP
00001cfd: JUMPDEST
00001cfe: PUSH1 0x00
00001d00: PUSH1 0x20
00001d02: DUP3
00001d03: DUP5
00001d04: SUB
00001d05: SLT
00001d06: ISZERO
00001d07: PUSH2 0x1d0e
00001d0a: JUMPI
00001d0b: DUP1
00001d0c: DUP2
00001d0d: REVERT
00001d0e: JUMPDEST
00001d0f: POP
00001d10: CALLDATALOAD
00001d11: SWAP2
00001d12: SWAP1
00001d13: POP
00001d14: JUMP
00001d15: JUMPDEST
00001d16: PUSH1 0x00
00001d18: PUSH1 0x20
00001d1a: DUP3
00001d1b: DUP5
00001d1c: SUB
00001d1d: SLT
00001d1e: ISZERO
00001d1f: PUSH2 0x1d26
00001d22: JUMPI
00001d23: DUP1
00001d24: DUP2
00001d25: REVERT
00001d26: JUMPDEST
00001d27: POP
00001d28: MLOAD
00001d29: SWAP2
00001d2a: SWAP1
00001d2b: POP
00001d2c: JUMP
00001d2d: JUMPDEST
00001d2e: PUSH1 0x00
00001d30: DUP1
00001d31: PUSH1 0x00
00001d33: PUSH1 0x60
00001d35: DUP5
00001d36: DUP7
00001d37: SUB
00001d38: SLT
00001d39: ISZERO
00001d3a: PUSH2 0x1d41
00001d3d: JUMPI
00001d3e: DUP3
00001d3f: DUP4
00001d40: REVERT
00001d41: JUMPDEST
00001d42: DUP4
00001d43: CALLDATALOAD
00001d44: SWAP3
00001d45: POP
00001d46: PUSH1 0x20
00001d48: DUP5
00001d49: ADD
00001d4a: CALLDATALOAD
00001d4b: PUSH2 0x1d53
00001d4e: DUP2
00001d4f: PUSH2 0x256b
00001d52: JUMP
00001d53: JUMPDEST
00001d54: SWAP2
00001d55: POP
00001d56: PUSH2 0x1d62
00001d59: DUP6
00001d5a: PUSH1 0x40
00001d5c: DUP7
00001d5d: ADD
00001d5e: PUSH2 0x1c45
00001d61: JUMP
00001d62: JUMPDEST
00001d63: SWAP1
00001d64: POP
00001d65: SWAP3
00001d66: POP
00001d67: SWAP3
00001d68: POP
00001d69: SWAP3
00001d6a: JUMP
00001d6b: JUMPDEST
00001d6c: PUSH1 0x00
00001d6e: DUP1
00001d6f: PUSH1 0x20
00001d71: DUP4
00001d72: DUP6
00001d73: SUB
00001d74: SLT
00001d75: ISZERO
00001d76: PUSH2 0x1d7d
00001d79: JUMPI
00001d7a: DUP2
00001d7b: DUP3
00001d7c: REVERT
00001d7d: JUMPDEST
00001d7e: DUP3
00001d7f: CALLDATALOAD
00001d80: PUSH8 0xffffffffffffffff
00001d89: DUP1
00001d8a: DUP3
00001d8b: GT
00001d8c: ISZERO
00001d8d: PUSH2 0x1d94
00001d90: JUMPI
00001d91: DUP4
00001d92: DUP5
00001d93: REVERT
00001d94: JUMPDEST
00001d95: DUP2
00001d96: DUP6
00001d97: ADD
00001d98: SWAP2
00001d99: POP
00001d9a: DUP6
00001d9b: PUSH1 0x1f
00001d9d: DUP4
00001d9e: ADD
00001d9f: SLT
00001da0: PUSH2 0x1da7
00001da3: JUMPI
00001da4: DUP4
00001da5: DUP5
00001da6: REVERT
00001da7: JUMPDEST
00001da8: DUP2
00001da9: CALLDATALOAD
00001daa: DUP2
00001dab: DUP2
00001dac: GT
00001dad: ISZERO
00001dae: PUSH2 0x1db5
00001db1: JUMPI
00001db2: DUP5
00001db3: DUP6
00001db4: REVERT
00001db5: JUMPDEST
00001db6: DUP7
00001db7: PUSH1 0x20
00001db9: DUP3
00001dba: DUP6
00001dbb: ADD
00001dbc: ADD
00001dbd: GT
00001dbe: ISZERO
00001dbf: PUSH2 0x1dc6
00001dc2: JUMPI
00001dc3: DUP5
00001dc4: DUP6
00001dc5: REVERT
00001dc6: JUMPDEST
00001dc7: PUSH1 0x20
00001dc9: SWAP3
00001dca: SWAP1
00001dcb: SWAP3
00001dcc: ADD
00001dcd: SWAP7
00001dce: SWAP2
00001dcf: SWAP6
00001dd0: POP
00001dd1: SWAP1
00001dd2: SWAP4
00001dd3: POP
00001dd4: POP
00001dd5: POP
00001dd6: POP
00001dd7: JUMP
00001dd8: JUMPDEST
00001dd9: PUSH1 0x00
00001ddb: PUSH1 0x20
00001ddd: DUP3
00001dde: DUP5
00001ddf: SUB
00001de0: SLT
00001de1: ISZERO
00001de2: PUSH2 0x1de9
00001de5: JUMPI
00001de6: DUP1
00001de7: DUP2
00001de8: REVERT
00001de9: JUMPDEST
00001dea: DUP2
00001deb: CALLDATALOAD
00001dec: PUSH4 0xffffffff
00001df1: DUP2
00001df2: AND
00001df3: DUP2
00001df4: EQ
00001df5: PUSH2 0x15a7
00001df8: JUMPI
00001df9: DUP2
00001dfa: DUP3
00001dfb: REVERT
00001dfc: JUMPDEST
00001dfd: PUSH1 0x00
00001dff: PUSH1 0x20
00001e01: DUP3
00001e02: DUP5
00001e03: SUB
00001e04: SLT
00001e05: ISZERO
00001e06: PUSH2 0x1e0d
00001e09: JUMPI
00001e0a: DUP1
00001e0b: DUP2
00001e0c: REVERT
00001e0d: JUMPDEST
00001e0e: DUP2
00001e0f: MLOAD
00001e10: PUSH2 0x15a7
00001e13: DUP2
00001e14: PUSH2 0x256b
00001e17: JUMP
00001e18: JUMPDEST
00001e19: PUSH1 0x00
00001e1b: DUP2
00001e1c: MLOAD
00001e1d: DUP1
00001e1e: DUP5
00001e1f: MSTORE
00001e20: PUSH2 0x1e30
00001e23: DUP2
00001e24: PUSH1 0x20
00001e26: DUP7
00001e27: ADD
00001e28: PUSH1 0x20
00001e2a: DUP7
00001e2b: ADD
00001e2c: PUSH2 0x252e
00001e2f: JUMP
00001e30: JUMPDEST
00001e31: PUSH1 0x1f
00001e33: ADD
00001e34: PUSH1 0x1f
00001e36: NOT
00001e37: AND
00001e38: SWAP3
00001e39: SWAP1
00001e3a: SWAP3
00001e3b: ADD
00001e3c: PUSH1 0x20
00001e3e: ADD
00001e3f: SWAP3
00001e40: SWAP2
00001e41: POP
00001e42: POP
00001e43: JUMP
00001e44: JUMPDEST
00001e45: PUSH1 0x00
00001e47: DUP3
00001e48: MLOAD
00001e49: PUSH2 0x1e56
00001e4c: DUP2
00001e4d: DUP5
00001e4e: PUSH1 0x20
00001e50: DUP8
00001e51: ADD
00001e52: PUSH2 0x252e
00001e55: JUMP
00001e56: JUMPDEST
00001e57: SWAP2
00001e58: SWAP1
00001e59: SWAP2
00001e5a: ADD
00001e5b: SWAP3
00001e5c: SWAP2
00001e5d: POP
00001e5e: POP
00001e5f: JUMP
00001e60: JUMPDEST
00001e61: PUSH1 0xf8
00001e63: SWAP3
00001e64: SWAP1
00001e65: SWAP3
00001e66: SHL
00001e67: PUSH1 0x01
00001e69: PUSH1 0x01
00001e6b: PUSH1 0xf8
00001e6d: SHL
00001e6e: SUB
00001e6f: NOT
00001e70: AND
00001e71: DUP3
00001e72: MSTORE
00001e73: PUSH1 0x01
00001e75: DUP3
00001e76: ADD
00001e77: MSTORE
00001e78: PUSH1 0x21
00001e7a: ADD
00001e7b: SWAP1
00001e7c: JUMP
00001e7d: JUMPDEST
00001e7e: PUSH1 0x01
00001e80: PUSH1 0x01
00001e82: PUSH1 0xa0
00001e84: SHL
00001e85: SUB
00001e86: SWAP2
00001e87: SWAP1
00001e88: SWAP2
00001e89: AND
00001e8a: DUP2
00001e8b: MSTORE
00001e8c: PUSH1 0x20
00001e8e: ADD
00001e8f: SWAP1
00001e90: JUMP
00001e91: JUMPDEST
00001e92: PUSH1 0x01
00001e94: PUSH1 0x01
00001e96: PUSH1 0xa0
00001e98: SHL
00001e99: SUB
00001e9a: SWAP3
00001e9b: SWAP1
00001e9c: SWAP3
00001e9d: AND
00001e9e: DUP3
00001e9f: MSTORE
00001ea0: PUSH1 0x20
00001ea2: DUP3
00001ea3: ADD
00001ea4: MSTORE
00001ea5: PUSH1 0x40
00001ea7: ADD
00001ea8: SWAP1
00001ea9: JUMP
00001eaa: JUMPDEST
00001eab: PUSH1 0x01
00001ead: PUSH1 0x01
00001eaf: PUSH1 0xa0
00001eb1: SHL
00001eb2: SUB
00001eb3: SWAP4
00001eb4: DUP5
00001eb5: AND
00001eb6: DUP2
00001eb7: MSTORE
00001eb8: SWAP2
00001eb9: SWAP1
00001eba: SWAP3
00001ebb: AND
00001ebc: PUSH1 0x20
00001ebe: DUP3
00001ebf: ADD
00001ec0: MSTORE
00001ec1: PUSH1 0x40
00001ec3: DUP2
00001ec4: ADD
00001ec5: SWAP2
00001ec6: SWAP1
00001ec7: SWAP2
00001ec8: MSTORE
00001ec9: PUSH1 0x60
00001ecb: ADD
00001ecc: SWAP1
00001ecd: JUMP
00001ece: JUMPDEST
00001ecf: SWAP1
00001ed0: ISZERO
00001ed1: ISZERO
00001ed2: DUP2
00001ed3: MSTORE
00001ed4: PUSH1 0x20
00001ed6: ADD
00001ed7: SWAP1
00001ed8: JUMP
00001ed9: JUMPDEST
00001eda: SWAP4
00001edb: DUP5
00001edc: MSTORE
00001edd: PUSH1 0xff
00001edf: SWAP3
00001ee0: SWAP1
00001ee1: SWAP3
00001ee2: AND
00001ee3: PUSH1 0x20
00001ee5: DUP5
00001ee6: ADD
00001ee7: MSTORE
00001ee8: PUSH1 0x40
00001eea: DUP4
00001eeb: ADD
00001eec: MSTORE
00001eed: PUSH1 0x60
00001eef: DUP3
00001ef0: ADD
00001ef1: MSTORE
00001ef2: PUSH1 0x80
00001ef4: ADD
00001ef5: SWAP1
00001ef6: JUMP
00001ef7: JUMPDEST
00001ef8: PUSH1 0x00
00001efa: PUSH1 0x20
00001efc: DUP3
00001efd: MSTORE
00001efe: PUSH2 0x15a7
00001f01: PUSH1 0x20
00001f03: DUP4
00001f04: ADD
00001f05: DUP5
00001f06: PUSH2 0x1e18
00001f09: JUMP
00001f0a: JUMPDEST
00001f0b: PUSH1 0x20
00001f0d: DUP1
00001f0e: DUP3
00001f0f: MSTORE
00001f10: PUSH1 0x23
00001f12: SWAP1
00001f13: DUP3
00001f14: ADD
00001f15: MSTORE
00001f16: PUSH32 0x6272696467652062616c616e636520776f756c6420657863656564206d617869
00001f37: PUSH1 0x40
00001f39: DUP3
00001f3a: ADD
00001f3b: MSTORE
00001f3c: PUSH3 0x6d756d
00001f40: PUSH1 0xe8
00001f42: SHL
00001f43: PUSH1 0x60
00001f45: DUP3
00001f46: ADD
00001f47: MSTORE
00001f48: PUSH1 0x80
00001f4a: ADD
00001f4b: SWAP1
00001f4c: JUMP
00001f4d: JUMPDEST
00001f4e: PUSH1 0x20
00001f50: DUP1
00001f51: DUP3
00001f52: MSTORE
00001f53: PUSH1 0x12
00001f55: SWAP1
00001f56: DUP3
00001f57: ADD
00001f58: MSTORE
00001f59: PUSH18 0x34b73b30b634b2102b20a09030b1ba34b7b7
00001f6c: PUSH1 0x71
00001f6e: SHL
00001f6f: PUSH1 0x40
00001f71: DUP3
00001f72: ADD
00001f73: MSTORE
00001f74: PUSH1 0x60
00001f76: ADD
00001f77: SWAP1
00001f78: JUMP
00001f79: JUMPDEST
00001f7a: PUSH1 0x20
00001f7c: DUP1
00001f7d: DUP3
00001f7e: MSTORE
00001f7f: PUSH1 0x18
00001f81: SWAP1
00001f82: DUP3
00001f83: ADD
00001f84: MSTORE
00001f85: PUSH32 0x5641412077617320616c72656164792065786563757465640000000000000000
00001fa6: PUSH1 0x40
00001fa8: DUP3
00001fa9: ADD
00001faa: MSTORE
00001fab: PUSH1 0x60
00001fad: ADD
00001fae: SWAP1
00001faf: JUMP
00001fb0: JUMPDEST
00001fb1: PUSH1 0x20
00001fb3: DUP1
00001fb4: DUP3
00001fb5: MSTORE
00001fb6: PUSH1 0x2c
00001fb8: SWAP1
00001fb9: DUP3
00001fba: ADD
00001fbb: MSTORE
00001fbc: PUSH32 0x706c6561736520757365206c6f636b45544820746f207472616e736665722045
00001fdd: PUSH1 0x40
00001fdf: DUP3
00001fe0: ADD
00001fe1: MSTORE
00001fe2: PUSH12 0x544820746f20536f6c616e61
00001fef: PUSH1 0xa0
00001ff1: SHL
00001ff2: PUSH1 0x60
00001ff4: DUP3
00001ff5: ADD
00001ff6: MSTORE
00001ff7: PUSH1 0x80
00001ff9: ADD
00001ffa: SWAP1
00001ffb: JUMP
00001ffc: JUMPDEST
00001ffd: PUSH1 0x20
00001fff: DUP1
00002000: DUP3
00002001: MSTORE
00002002: PUSH1 0x39
00002004: SWAP1
00002005: DUP3
00002006: ADD
00002007: MSTORE
00002008: PUSH32 0x6f6e6c79207468652063757272656e7420677561726469616e20736574206361
00002029: PUSH1 0x40
0000202b: DUP3
0000202c: ADD
0000202d: MSTORE
0000202e: PUSH32 0x6e206368616e67652074686520677561726469616e2073657400000000000000
0000204f: PUSH1 0x60
00002051: DUP3
00002052: ADD
00002053: MSTORE
00002054: PUSH1 0x80
00002056: ADD
00002057: SWAP1
00002058: JUMP
00002059: JUMPDEST
0000205a: PUSH1 0x20
0000205c: DUP1
0000205d: DUP3
0000205e: MSTORE
0000205f: PUSH1 0x12
00002061: SWAP1
00002062: DUP3
00002063: ADD
00002064: MSTORE
00002065: PUSH18 0x52656164206f7574206f6620626f756e6473
00002078: PUSH1 0x70
0000207a: SHL
0000207b: PUSH1 0x40
0000207d: DUP3
0000207e: ADD
0000207f: MSTORE
00002080: PUSH1 0x60
00002082: ADD
00002083: SWAP1
00002084: JUMP
00002085: JUMPDEST
00002086: PUSH1 0x20
00002088: DUP1
00002089: DUP3
0000208a: MSTORE
0000208b: PUSH1 0x18
0000208d: SWAP1
0000208e: DUP3
0000208f: ADD
00002090: MSTORE
00002091: PUSH32 0x5641412076657273696f6e20696e636f6d70617469626c650000000000000000
000020b2: PUSH1 0x40
000020b4: DUP3
000020b5: ADD
000020b6: MSTORE
000020b7: PUSH1 0x60
000020b9: ADD
000020ba: SWAP1
000020bb: JUMP
000020bc: JUMPDEST
000020bd: PUSH1 0x20
000020bf: DUP1
000020c0: DUP3
000020c1: MSTORE
000020c2: PUSH1 0x23
000020c4: SWAP1
000020c5: DUP3
000020c6: ADD
000020c7: MSTORE
000020c8: PUSH32 0x6d757374206e6f74207472616e7366657220746f207468652073616d65206368
000020e9: PUSH1 0x40
000020eb: DUP3
000020ec: ADD
000020ed: MSTORE
000020ee: PUSH3 0x30b4b7
000020f2: PUSH1 0xe9
000020f4: SHL
000020f5: PUSH1 0x60
000020f7: DUP3
000020f8: ADD
000020f9: MSTORE
000020fa: PUSH1 0x80
000020fc: ADD
000020fd: SWAP1
000020fe: JUMP
000020ff: JUMPDEST
00002100: PUSH1 0x20
00002102: DUP1
00002103: DUP3
00002104: MSTORE
00002105: PUSH1 0x15
00002107: SWAP1
00002108: DUP3
00002109: ADD
0000210a: MSTORE
0000210b: PUSH21 0x159050481cda59db985d1d5c99481a5b9d985b1a59
00002121: PUSH1 0x5a
00002123: SHL
00002124: PUSH1 0x40
00002126: DUP3
00002127: ADD
00002128: MSTORE
00002129: PUSH1 0x60
0000212b: ADD
0000212c: SWAP1
0000212d: JUMP
0000212e: JUMPDEST
0000212f: PUSH1 0x20
00002131: DUP1
00002132: DUP3
00002133: MSTORE
00002134: PUSH1 0x21
00002136: SWAP1
00002137: DUP3
00002138: ADD
00002139: MSTORE
0000213a: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f
0000215b: PUSH1 0x40
0000215d: DUP3
0000215e: ADD
0000215f: MSTORE
00002160: PUSH1 0x77
00002162: PUSH1 0xf8
00002164: SHL
00002165: PUSH1 0x60
00002167: DUP3
00002168: ADD
00002169: MSTORE
0000216a: PUSH1 0x80
0000216c: ADD
0000216d: SWAP1
0000216e: JUMP
0000216f: JUMPDEST
00002170: PUSH1 0x20
00002172: DUP1
00002173: DUP3
00002174: MSTORE
00002175: PUSH1 0x1e
00002177: SWAP1
00002178: DUP3
00002179: ADD
0000217a: MSTORE
0000217b: PUSH32 0x7472756e636174656420616d6f756e74206d757374206e6f7420626520300000
0000219c: PUSH1 0x40
0000219e: DUP3
0000219f: ADD
000021a0: MSTORE
000021a1: PUSH1 0x60
000021a3: ADD
000021a4: SWAP1
000021a5: JUMP
000021a6: JUMPDEST
000021a7: PUSH1 0x20
000021a9: DUP1
000021aa: DUP3
000021ab: MSTORE
000021ac: PUSH1 0x21
000021ae: SWAP1
000021af: DUP3
000021b0: ADD
000021b1: MSTORE
000021b2: PUSH32 0x696e646578206d75737420696e63726561736520696e207374657073206f6620
000021d3: PUSH1 0x40
000021d5: DUP3
000021d6: ADD
000021d7: MSTORE
000021d8: PUSH1 0x31
000021da: PUSH1 0xf8
000021dc: SHL
000021dd: PUSH1 0x60
000021df: DUP3
000021e0: ADD
000021e1: MSTORE
000021e2: PUSH1 0x80
000021e4: ADD
000021e5: SWAP1
000021e6: JUMP
000021e7: JUMPDEST
000021e8: PUSH1 0x20
000021ea: DUP1
000021eb: DUP3
000021ec: MSTORE
000021ed: PUSH1 0x09
000021ef: SWAP1
000021f0: DUP3
000021f1: ADD
000021f2: MSTORE
000021f3: PUSH9 0x6e6f2071756f72756d
000021fd: PUSH1 0xb8
000021ff: SHL
00002200: PUSH1 0x40
00002202: DUP3
00002203: ADD
00002204: MSTORE
00002205: PUSH1 0x60
00002207: ADD
00002208: SWAP1
00002209: JUMP
0000220a: JUMPDEST
0000220b: PUSH1 0x20
0000220d: DUP1
0000220e: DUP3
0000220f: MSTORE
00002210: PUSH1 0x19
00002212: SWAP1
00002213: DUP3
00002214: ADD
00002215: MSTORE
00002216: PUSH32 0x7472616e73666572206d75737420626520696e636f6d696e6700000000000000
00002237: PUSH1 0x40
00002239: DUP3
0000223a: ADD
0000223b: MSTORE
0000223c: PUSH1 0x60
0000223e: ADD
0000223f: SWAP1
00002240: JUMP
00002241: JUMPDEST
00002242: PUSH1 0x20
00002244: DUP1
00002245: DUP3
00002246: MSTORE
00002247: PUSH1 0x18
00002249: SWAP1
0000224a: DUP3
0000224b: ADD
0000224c: MSTORE
0000224d: PUSH32 0x677561726469616e207365742068617320657870697265640000000000000000
0000226e: PUSH1 0x40
00002270: DUP3
00002271: ADD
00002272: MSTORE
00002273: PUSH1 0x60
00002275: ADD
00002276: SWAP1
00002277: JUMP
00002278: JUMPDEST
00002279: PUSH1 0x20
0000227b: DUP1
0000227c: DUP3
0000227d: MSTORE
0000227e: PUSH1 0x1d
00002280: SWAP1
00002281: DUP3
00002282: ADD
00002283: MSTORE
00002284: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
000022a5: PUSH1 0x40
000022a7: DUP3
000022a8: ADD
000022a9: MSTORE
000022aa: PUSH1 0x60
000022ac: ADD
000022ad: SWAP1
000022ae: JUMP
000022af: JUMPDEST
000022b0: PUSH1 0x20
000022b2: DUP1
000022b3: DUP3
000022b4: MSTORE
000022b5: PUSH1 0x23
000022b7: SWAP1
000022b8: DUP3
000022b9: ADD
000022ba: MSTORE
000022bb: PUSH32 0x7369676e617475726520696e6469636573206d75737420626520617363656e64
000022dc: PUSH1 0x40
000022de: DUP3
000022df: ADD
000022e0: MSTORE
000022e1: PUSH3 0x696e67
000022e5: PUSH1 0xe8
000022e7: SHL
000022e8: PUSH1 0x60
000022ea: DUP3
000022eb: ADD
000022ec: MSTORE
000022ed: PUSH1 0x80
000022ef: ADD
000022f0: SWAP1
000022f1: JUMP
000022f2: JUMPDEST
000022f3: PUSH1 0x20
000022f5: DUP1
000022f6: DUP3
000022f7: MSTORE
000022f8: PUSH1 0x2a
000022fa: SWAP1
000022fb: DUP3
000022fc: ADD
000022fd: MSTORE
000022fe: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
0000231f: PUSH1 0x40
00002321: DUP3
00002322: ADD
00002323: MSTORE
00002324: PUSH10 0x1bdd081cdd58d8d95959
0000232f: PUSH1 0xb2
00002331: SHL
00002332: PUSH1 0x60
00002334: DUP3
00002335: ADD
00002336: MSTORE
00002337: PUSH1 0x80
00002339: ADD
0000233a: SWAP1
0000233b: JUMP
0000233c: JUMPDEST
0000233d: PUSH1 0x20
0000233f: DUP1
00002340: DUP3
00002341: MSTORE
00002342: PUSH1 0x26
00002344: SWAP1
00002345: DUP3
00002346: ADD
00002347: MSTORE
00002348: PUSH32 0x73616d6520636861696e207472616e736665727320617265206e6f7420737570
00002369: PUSH1 0x40
0000236b: DUP3
0000236c: ADD
0000236d: MSTORE
0000236e: PUSH6 0x1c1bdc9d1959
00002375: PUSH1 0xd2
00002377: SHL
00002378: PUSH1 0x60
0000237a: DUP3
0000237b: ADD
0000237c: MSTORE
0000237d: PUSH1 0x80
0000237f: ADD
00002380: SWAP1
00002381: JUMP
00002382: JUMPDEST
00002383: PUSH1 0x20
00002385: DUP1
00002386: DUP3
00002387: MSTORE
00002388: PUSH1 0x1f
0000238a: SWAP1
0000238b: DUP3
0000238c: ADD
0000238d: MSTORE
0000238e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
000023af: PUSH1 0x40
000023b1: DUP3
000023b2: ADD
000023b3: MSTORE
000023b4: PUSH1 0x60
000023b6: ADD
000023b7: SWAP1
000023b8: JUMP
000023b9: JUMPDEST
000023ba: PUSH1 0x20
000023bc: DUP1
000023bd: DUP3
000023be: MSTORE
000023bf: PUSH1 0x14
000023c1: SWAP1
000023c2: DUP3
000023c3: ADD
000023c4: MSTORE
000023c5: PUSH20 0x1a5b9d985b1a590819dd585c991a585b881cd95d
000023da: PUSH1 0x62
000023dc: SHL
000023dd: PUSH1 0x40
000023df: DUP3
000023e0: ADD
000023e1: MSTORE
000023e2: PUSH1 0x60
000023e4: ADD
000023e5: SWAP1
000023e6: JUMP
000023e7: JUMPDEST
000023e8: PUSH1 0x20
000023ea: DUP1
000023eb: DUP3
000023ec: MSTORE
000023ed: DUP3
000023ee: MLOAD
000023ef: PUSH1 0x40
000023f1: DUP4
000023f2: DUP4
000023f3: ADD
000023f4: MSTORE
000023f5: DUP1
000023f6: MLOAD
000023f7: PUSH1 0x60
000023f9: DUP5
000023fa: ADD
000023fb: DUP2
000023fc: SWAP1
000023fd: MSTORE
000023fe: PUSH1 0x00
00002400: SWAP3
00002401: SWAP2
00002402: DUP3
00002403: ADD
00002404: SWAP1
00002405: DUP4
00002406: SWAP1
00002407: PUSH1 0x80
00002409: DUP7
0000240a: ADD
0000240b: SWAP1
0000240c: JUMPDEST
0000240d: DUP1
0000240e: DUP4
0000240f: LT
00002410: ISZERO
00002411: PUSH2 0x2435
00002414: JUMPI
00002415: DUP4
00002416: MLOAD
00002417: PUSH1 0x01
00002419: PUSH1 0x01
0000241b: PUSH1 0xa0
0000241d: SHL
0000241e: SUB
0000241f: AND
00002420: DUP3
00002421: MSTORE
00002422: SWAP3
00002423: DUP5
00002424: ADD
00002425: SWAP3
00002426: PUSH1 0x01
00002428: SWAP3
00002429: SWAP1
0000242a: SWAP3
0000242b: ADD
0000242c: SWAP2
0000242d: SWAP1
0000242e: DUP5
0000242f: ADD
00002430: SWAP1
00002431: PUSH2 0x240c
00002434: JUMP
00002435: JUMPDEST
00002436: POP
00002437: PUSH4 0xffffffff
0000243c: DUP5
0000243d: DUP9
0000243e: ADD
0000243f: MLOAD
00002440: AND
00002441: PUSH1 0x40
00002443: DUP8
00002444: ADD
00002445: MSTORE
00002446: DUP1
00002447: SWAP5
00002448: POP
00002449: POP
0000244a: POP
0000244b: POP
0000244c: POP
0000244d: SWAP3
0000244e: SWAP2
0000244f: POP
00002450: POP
00002451: JUMP
00002452: JUMPDEST
00002453: PUSH1 0x00
00002455: PUSH1 0x20
00002457: DUP3
00002458: MSTORE
00002459: PUSH1 0xff
0000245b: DUP4
0000245c: MLOAD
0000245d: AND
0000245e: PUSH1 0x20
00002460: DUP4
00002461: ADD
00002462: MSTORE
00002463: PUSH1 0x20
00002465: DUP4
00002466: ADD
00002467: MLOAD
00002468: PUSH1 0x40
0000246a: DUP4
0000246b: ADD
0000246c: MSTORE
0000246d: PUSH1 0x40
0000246f: DUP4
00002470: ADD
00002471: MLOAD
00002472: PUSH4 0xffffffff
00002477: DUP1
00002478: DUP3
00002479: AND
0000247a: PUSH1 0x60
0000247c: DUP6
0000247d: ADD
0000247e: MSTORE
0000247f: DUP1
00002480: PUSH1 0x60
00002482: DUP7
00002483: ADD
00002484: MLOAD
00002485: AND
00002486: PUSH1 0x80
00002488: DUP6
00002489: ADD
0000248a: MSTORE
0000248b: POP
0000248c: POP
0000248d: PUSH1 0xff
0000248f: PUSH1 0x80
00002491: DUP5
00002492: ADD
00002493: MLOAD
00002494: AND
00002495: PUSH1 0xa0
00002497: DUP4
00002498: ADD
00002499: MSTORE
0000249a: PUSH1 0xa0
0000249c: DUP4
0000249d: ADD
0000249e: MLOAD
0000249f: PUSH1 0xc0
000024a1: DUP1
000024a2: DUP5
000024a3: ADD
000024a4: MSTORE
000024a5: PUSH2 0x1a89
000024a8: PUSH1 0xe0
000024aa: DUP5
000024ab: ADD
000024ac: DUP3
000024ad: PUSH2 0x1e18
000024b0: JUMP
000024b1: JUMPDEST
000024b2: PUSH4 0xffffffff
000024b7: SWAP2
000024b8: SWAP1
000024b9: SWAP2
000024ba: AND
000024bb: DUP2
000024bc: MSTORE
000024bd: PUSH1 0x20
000024bf: ADD
000024c0: SWAP1
000024c1: JUMP
000024c2: JUMPDEST
000024c3: PUSH4 0xffffffff
000024c8: SWAP3
000024c9: DUP4
000024ca: AND
000024cb: DUP2
000024cc: MSTORE
000024cd: SWAP2
000024ce: AND
000024cf: PUSH1 0x20
000024d1: DUP3
000024d2: ADD
000024d3: MSTORE
000024d4: PUSH1 0x40
000024d6: ADD
000024d7: SWAP1
000024d8: JUMP
000024d9: JUMPDEST
000024da: PUSH1 0xff
000024dc: SWAP4
000024dd: DUP5
000024de: AND
000024df: DUP2
000024e0: MSTORE
000024e1: PUSH1 0x20
000024e3: DUP2
000024e4: ADD
000024e5: SWAP3
000024e6: SWAP1
000024e7: SWAP3
000024e8: MSTORE
000024e9: SWAP1
000024ea: SWAP2
000024eb: AND
000024ec: PUSH1 0x40
000024ee: DUP3
000024ef: ADD
000024f0: MSTORE
000024f1: PUSH1 0x60
000024f3: ADD
000024f4: SWAP1
000024f5: JUMP
000024f6: JUMPDEST
000024f7: PUSH1 0xff
000024f9: SWAP7
000024fa: DUP8
000024fb: AND
000024fc: DUP2
000024fd: MSTORE
000024fe: SWAP5
000024ff: DUP7
00002500: AND
00002501: PUSH1 0x20
00002503: DUP7
00002504: ADD
00002505: MSTORE
00002506: SWAP3
00002507: SWAP1
00002508: SWAP5
00002509: AND
0000250a: PUSH1 0x40
0000250c: DUP5
0000250d: ADD
0000250e: MSTORE
0000250f: PUSH1 0x60
00002511: DUP4
00002512: ADD
00002513: MSTORE
00002514: PUSH1 0x80
00002516: DUP3
00002517: ADD
00002518: SWAP3
00002519: SWAP1
0000251a: SWAP3
0000251b: MSTORE
0000251c: PUSH4 0xffffffff
00002521: SWAP1
00002522: SWAP2
00002523: AND
00002524: PUSH1 0xa0
00002526: DUP3
00002527: ADD
00002528: MSTORE
00002529: PUSH1 0xc0
0000252b: ADD
0000252c: SWAP1
0000252d: JUMP
0000252e: JUMPDEST
0000252f: PUSH1 0x00
00002531: JUMPDEST
00002532: DUP4
00002533: DUP2
00002534: LT
00002535: ISZERO
00002536: PUSH2 0x2549
00002539: JUMPI
0000253a: DUP2
0000253b: DUP2
0000253c: ADD
0000253d: MLOAD
0000253e: DUP4
0000253f: DUP3
00002540: ADD
00002541: MSTORE
00002542: PUSH1 0x20
00002544: ADD
00002545: PUSH2 0x2531
00002548: JUMP
00002549: JUMPDEST
0000254a: DUP4
0000254b: DUP2
0000254c: GT
0000254d: ISZERO
0000254e: PUSH2 0x176a
00002551: JUMPI
00002552: POP
00002553: POP
00002554: PUSH1 0x00
00002556: SWAP2
00002557: ADD
00002558: MSTORE
00002559: JUMP
0000255a: JUMPDEST
0000255b: DUP1
0000255c: ISZERO
0000255d: ISZERO
0000255e: DUP2
0000255f: EQ
00002560: PUSH2 0x2568
00002563: JUMPI
00002564: PUSH1 0x00
00002566: DUP1
00002567: REVERT
00002568: JUMPDEST
00002569: POP
0000256a: JUMP
0000256b: JUMPDEST
0000256c: PUSH1 0xff
0000256e: DUP2
0000256f: AND
00002570: DUP2
00002571: EQ
00002572: PUSH2 0x2568
00002575: JUMPI
00002576: PUSH1 0x00
00002578: DUP1
00002579: REVERT
0000257a: INVALID
0000257b: LOG2
0000257c: PUSH5 0x6970667358
00002582: UNKNOWN(0x22)
00002583: SLT
00002584: KECCAK256
00002585: UNKNOWN(0xEF)
00002586: UNKNOWN(0xEE)
00002587: GASPRICE
00002588: LOG0
00002589: UNKNOWN(0x25)
0000258a: PUSH12 0xf0285f463a6d366d44803785
00002597: UNKNOWN(0xDB)
00002598: UNKNOWN(0xF9)
00002599: NUMBER
0000259a: SMOD
0000259b: UNKNOWN(0xFC)
0000259c: UNKNOWN(0xBB)
0000259d: UNKNOWN(0xB6)
0000259e: UNKNOWN(0xDE)
0000259f: UNKNOWN(0xDE)
000025a0: SWAP7
000025a1: UNKNOWN(0x23)
000025a2: AND
000025a3: CODECOPY
000025a4: UNKNOWN(0xA5)
000025a5: PUSH5 0x736f6c6343
000025ab: STOP
000025ac: MOD
000025ad: UNKNOWN(0x0C)
000025ae: STOP
000025af: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7
call_targets: 0xf92cd566ea4864356c5491c177a430c222d7e678
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf92cd566ea4864356c5491c177a430c222d7e678"
    ],
    "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": "0x70713960",
            "selector": "0x70713960",
            "calldata_variants": [
                "0x70713960",
                "0x707139600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x822d82b3",
            "selector": "0x822d82b3",
            "calldata_variants": [
                "0x822d82b3",
                "0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x99da1d3c",
            "selector": "0x99da1d3c",
            "calldata_variants": [
                "0x99da1d3c",
                "0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa31fe409",
            "selector": "0xa31fe409",
            "calldata_variants": [
                "0xa31fe409",
                "0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6694c2a",
            "selector": "0xb6694c2a",
            "calldata_variants": [
                "0xb6694c2a",
                "0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf951975a",
            "selector": "0xf951975a",
            "calldata_variants": [
                "0xf951975a",
                "0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a2be4da",
            "selector": "0x1a2be4da",
            "calldata_variants": [
                "0x1a2be4da",
                "0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bc0aee6",
            "selector": "0x3bc0aee6",
            "calldata_variants": [
                "0x3bc0aee6",
                "0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1231,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3217,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [],
    "untrusted_call_count": 6
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7
call_targets: 0xf92cd566ea4864356c5491c177a430c222d7e678
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xdd758289aeb818c9254d0e7c6056b3e7522e39bda6e9ebf557ebeab53cd09dc7",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf92cd566ea4864356c5491c177a430c222d7e678"
    ],
    "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": "0x70713960",
            "selector": "0x70713960",
            "calldata_variants": [
                "0x70713960",
                "0x707139600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x822d82b3",
            "selector": "0x822d82b3",
            "calldata_variants": [
                "0x822d82b3",
                "0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x99da1d3c",
            "selector": "0x99da1d3c",
            "calldata_variants": [
                "0x99da1d3c",
                "0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa31fe409",
            "selector": "0xa31fe409",
            "calldata_variants": [
                "0xa31fe409",
                "0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6694c2a",
            "selector": "0xb6694c2a",
            "calldata_variants": [
                "0xb6694c2a",
                "0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf951975a",
            "selector": "0xf951975a",
            "calldata_variants": [
                "0xf951975a",
                "0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a2be4da",
            "selector": "0x1a2be4da",
            "calldata_variants": [
                "0x1a2be4da",
                "0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bc0aee6",
            "selector": "0x3bc0aee6",
            "calldata_variants": [
                "0x3bc0aee6",
                "0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1124,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1231,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3217,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": []
}
medium math codex Underflow in balance cap check blocks tokens with <9 decimals 75 no
view
evidence_json
{
    "evidence": "`require(balanceAfter.div(10 ** uint256(ERC20(asset).decimals() - 9)) <= MAX_UINT64, \"bridge balance would exceed maximum\");` underflows when decimals < 9 and causes a division by zero revert.",
    "locations": [
        "contracts/home/hhofstadt/Dev/certus/wormhole/ethereum/contracts/Wormhole.sol:271"
    ],
    "recommendation": "Guard against decimals < 9. Cache decimals once, and compute a safe divisor with a conditional (e.g., if decimals <= 9 use 1 or explicitly reject) to avoid underflow and div-by-zero. Use SafeMath or explicit checks around exponentiation.",
    "exploit_scenario": "When a user calls lockAssets with a token that has fewer than 9 decimals (e.g., USDC with 6 decimals), the expression ERC20(asset).decimals() - 9 underflows. The resulting 10**(huge) overflows to 0, causing SafeMath.div to revert. This makes bridging such assets impossible (availability DoS) and transactions will always fail for those tokens."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x48f37c266587bbe1f7e973b63656463677cc648bdd5059a9b9d321114c1b94c2
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 26,
    "trace_id": "0x48f37c266587bbe1f7e973b63656463677cc648bdd5059a9b9d321114c1b94c2",
    "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": "0x70713960",
            "selector": "0x70713960",
            "calldata_variants": [
                "0x70713960",
                "0x707139600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x822d82b3",
            "selector": "0x822d82b3",
            "calldata_variants": [
                "0x822d82b3",
                "0x822d82b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x99da1d3c",
            "selector": "0x99da1d3c",
            "calldata_variants": [
                "0x99da1d3c",
                "0x99da1d3c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa31fe409",
            "selector": "0xa31fe409",
            "calldata_variants": [
                "0xa31fe409",
                "0xa31fe4090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb6694c2a",
            "selector": "0xb6694c2a",
            "calldata_variants": [
                "0xb6694c2a",
                "0xb6694c2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf951975a",
            "selector": "0xf951975a",
            "calldata_variants": [
                "0xf951975a",
                "0xf951975a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1a2be4da",
            "selector": "0x1a2be4da",
            "calldata_variants": [
                "0x1a2be4da",
                "0x1a2be4da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3bc0aee6",
            "selector": "0x3bc0aee6",
            "calldata_variants": [
                "0x3bc0aee6",
                "0x3bc0aee60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "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": 0,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 14
}
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": 12
}