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

Analysis Run

839a0dce-7e4a-416f-a10e-f6ca70c4e5cb

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 2:58 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Reentrant splitDAO via withdrawRewardFor drains the main DAO balance
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
31665 report.consolidate complete 1 / 1 3 months ago
95413 artifact.fetch complete 1 / 3 1 week ago
95414 tool.cast_disasm complete 1 / 3 1 week ago
95415 analysis.bundle complete 1 / 3 1 week ago
95416 capability.graph complete 1 / 3 1 week ago
95417 detector.run complete 1 / 3 1 week ago
95418 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
3
No findings?
no
Summary
Found three concrete reentrancy paths that can drain the DAO's main balance, the reward pool, or failed-creation refunds.
View stderr
[codex:2813] OpenAI Codex v0.77.0 (research preview)
[codex:2813] --------
[codex:2813] workdir: /tmp/codex-multi-fnsfkzo_
[codex:2813] model: gpt-5.2-codex
[codex:2813] provider: openai
[codex:2813] approval: never
[codex:2813] sandbox: read-only
[codex:2813] reasoning effort: xhigh
[codex:2813] reasoning summaries: auto
[codex:2813] session id: 019b8c12-e333-7533-a25c-a41149de9131
[codex:2813] --------
[codex:2813] user
[codex:2813] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:2813] 
[codex:2813] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:2813] 
[codex:2813] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:2813] - Gas inefficiency, code quality, naming, or best practices
[codex:2813] - Theoretical vulnerabilities without a clear extraction path
[codex:2813] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:2813] - Front-running unless it enables theft beyond MEV
[codex:2813] - DoS, griefing, or issues that don't result in attacker profit
[codex:2813] - Missing events, view function issues, or informational findings
[codex:2813] 
[codex:2813] HIGH-VALUE PATTERNS TO HUNT:
[codex:2813] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:2813] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:2813] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:2813] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:2813] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:2813] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:2813] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:2813] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:2813] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:2813] 
[codex:2813] For each finding, you MUST provide:
[codex:2813] 1. Exact file and line numbers of vulnerable code
[codex:2813] 2. Step-by-step exploit transaction sequence
[codex:2813] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:2813] 
[codex:2813] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:2813] 
[codex:2813] Output MUST be valid JSON matching the provided schema.
[codex:2813] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:2813] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:2813] mcp startup: no servers
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Preparing to read key instructions**
[codex:2813] exec
[codex:2813] /bin/bash -lc ls in /tmp/codex-multi-fnsfkzo_ succeeded in 6ms:
[codex:2813] AUDIT_BUNDLE.txt
[codex:2813] codex-output-schema.json
[codex:2813] contracts
[codex:2813] exec
[codex:2813] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-fnsfkzo_ succeeded in 5ms:
[codex:2813] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:2813] 
[codex:2813] ================================================================================
[codex:2813] FILE: contracts/Contract.sol
[codex:2813] ================================================================================
[codex:2813] /*
[codex:2813] 
[codex:2813] - Bytecode Verification performed was compared on second iteration -
[codex:2813] 
[codex:2813] This file is part of the DAO.
[codex:2813] 
[codex:2813] The DAO is free software: you can redistribute it and/or modify
[codex:2813] it under the terms of the GNU lesser General Public License as published by
[codex:2813] the Free Software Foundation, either version 3 of the License, or
[codex:2813] (at your option) any later version.
[codex:2813] 
[codex:2813] The DAO is distributed in the hope that it will be useful,
[codex:2813] but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:2813] MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:2813] GNU lesser General Public License for more details.
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Analyzing The DAO reentrancy exploits**
[codex:2813] exec
[codex:2813] /bin/bash -lc 'rg -n "rewardAccount|DAOrewardAccount" contracts/Contract.sol' in /tmp/codex-multi-fnsfkzo_ succeeded in 16ms:
[codex:2813] 412:    ManagedAccount public rewardAccount;
[codex:2813] 416:    ManagedAccount public DAOrewardAccount;
[codex:2813] 625:    /// @notice Get my portion of the reward that was sent to `rewardAccount`
[codex:2813] 629:    /// @notice Withdraw `_account`'s portion of the reward from `rewardAccount`
[codex:2813] 708:        rewardAccount = new ManagedAccount(address(this), false);
[codex:2813] 709:        DAOrewardAccount = new ManagedAccount(address(this), false);
[codex:2813] 710:        if (address(rewardAccount) == 0)
[codex:2813] 712:        if (address(DAOrewardAccount) == 0)
[codex:2813] 917:            if (p.recipient != address(this) && p.recipient != address(rewardAccount)
[codex:2813] 918:                && p.recipient != address(DAOrewardAccount)
[codex:2813] 1034:        if ((rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) /
[codex:2813] 1039:            (rewardToken[msg.sender] * DAOrewardAccount.accumulatedInput()) /
[codex:2813] 1042:            if (!DAOrewardAccount.payOut(dao.rewardAccount(), reward))
[codex:2813] 1046:            if (!DAOrewardAccount.payOut(dao, reward))
[codex:2813] 1059:        if ((balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account])
[codex:2813] 1063:            (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account];
[codex:2813] 1064:        if (!rewardAccount.payOut(_account, reward))
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Investigating Ether receipt by rewardAccount**
[codex:2813] exec
[codex:2813] /bin/bash -lc "sed -n '560,780p' contracts/Contract.sol" in /tmp/codex-multi-fnsfkzo_ succeeded in 6ms:
[codex:2813]     ) constant returns (bool _codeChecksOut);
[codex:2813] 
[codex:2813]     /// @notice Vote on proposal `_proposalID` with `_supportsProposal`
[codex:2813]     /// @param _proposalID The proposal ID
[codex:2813]     /// @param _supportsProposal Yes/No - support of the proposal
[codex:2813]     /// @return The vote ID.
[codex:2813]     function vote(
[codex:2813]         uint _proposalID,
[codex:2813]         bool _supportsProposal
[codex:2813]     ) onlyTokenholders returns (uint _voteID);
[codex:2813] 
[codex:2813]     /// @notice Checks whether proposal `_proposalID` with transaction data
[codex:2813]     /// `_transactionData` has been voted for or rejected, and executes the
[codex:2813]     /// transaction in the case it has been voted for.
[codex:2813]     /// @param _proposalID The proposal ID
[codex:2813]     /// @param _transactionData The data of the proposed transaction
[codex:2813]     /// @return Whether the proposed transaction has been executed or not
[codex:2813]     function executeProposal(
[codex:2813]         uint _proposalID,
[codex:2813]         bytes _transactionData
[codex:2813] 
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Analyzing potential reentrancy vulnerabilities**
[codex:2813] thinking
[codex:2813] **Detailing attack steps and preparing line references**
[codex:2813] 
[codex:2813] I'm breaking down the exact attack flow step-by-step to explain how reentrancy enables multiple fund withdrawals before balances are zeroed. Next, I plan to find precise file and line numbers for vulnerable functions like withdrawRewardFor, splitDAO, and refund to back this analysis with code references. This will help clearly show where and how these exploits happen in the contract source.
[codex:2813] exec
[codex:2813] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '980,1120p'" in /tmp/codex-multi-fnsfkzo_ succeeded in 7ms:
[codex:2813]    980	
[codex:2813]    981	        // Move ether and assign new Tokens
[codex:2813]    982	        uint fundsToBeMoved =
[codex:2813]    983	            (balances[msg.sender] * p.splitData[0].splitBalance) /
[codex:2813]    984	            p.splitData[0].totalSupply;
[codex:2813]    985	        if (p.splitData[0].newDAO.createTokenProxy.value(fundsToBeMoved)(msg.sender) == false)
[codex:2813]    986	            throw;
[codex:2813]    987	
[codex:2813]    988	
[codex:2813]    989	        // Assign reward rights to new DAO
[codex:2813]    990	        uint rewardTokenToBeMoved =
[codex:2813]    991	            (balances[msg.sender] * p.splitData[0].rewardToken) /
[codex:2813]    992	            p.splitData[0].totalSupply;
[codex:2813]    993	
[codex:2813]    994	        uint paidOutToBeMoved = DAOpaidOut[address(this)] * rewardTokenToBeMoved /
[codex:2813]    995	            rewardToken[address(this)];
[codex:2813]    996	
[codex:2813]    997	        rewardToken[address(p.splitData[0].newDAO)] += rewardTokenToBeMoved;
[codex:2813]    998	        if (rewardToken[address(this)] < rewardTokenToBeMoved)
[codex:2813]    999	            throw;
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Locating line numbers in code**
[codex:2813] exec
[codex:2813] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '230,340p'" in /tmp/codex-multi-fnsfkzo_ succeeded in 6ms:
[codex:2813]    230	contract TokenCreationInterface {
[codex:2813]    231	
[codex:2813]    232	    // End of token creation, in Unix time
[codex:2813]    233	    uint public closingTime;
[codex:2813]    234	    // Minimum fueling goal of the token creation, denominated in tokens to
[codex:2813]    235	    // be created
[codex:2813]    236	    uint public minTokensToCreate;
[codex:2813]    237	    // True if the DAO reached its minimum fueling goal, false otherwise
[codex:2813]    238	    bool public isFueled;
[codex:2813]    239	    // For DAO splits - if privateCreation is 0, then it is a public token
[codex:2813]    240	    // creation, otherwise only the address stored in privateCreation is
[codex:2813]    241	    // allowed to create tokens
[codex:2813]    242	    address public privateCreation;
[codex:2813]    243	    // hold extra ether which has been sent after the DAO token
[codex:2813]    244	    // creation rate has increased
[codex:2813]    245	    ManagedAccount public extraBalance;
[codex:2813]    246	    // tracks the amount of wei given from each contributor (used for refund)
[codex:2813]    247	    mapping (address => uint256) weiGiven;
[codex:2813]    248	
[codex:2813]    249	    /// @dev Constructor setting the minimum fueling goal and the
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Mapping reentrancy vulnerability details**
[codex:2813] exec
[codex:2813] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '120,210p'" in /tmp/codex-multi-fnsfkzo_ succeeded in 7ms:
[codex:2813]    120	            return true;
[codex:2813]    121	        } else {
[codex:2813]    122	            return false;
[codex:2813]    123	        }
[codex:2813]    124	    }
[codex:2813]    125	
[codex:2813]    126	    function approve(address _spender, uint256 _amount) returns (bool success) {
[codex:2813]    127	        allowed[msg.sender][_spender] = _amount;
[codex:2813]    128	        Approval(msg.sender, _spender, _amount);
[codex:2813]    129	        return true;
[codex:2813]    130	    }
[codex:2813]    131	
[codex:2813]    132	    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
[codex:2813]    133	        return allowed[_owner][_spender];
[codex:2813]    134	    }
[codex:2813]    135	}
[codex:2813]    136	
[codex:2813]    137	
[codex:2813]    138	/*
[codex:2813]    139	This file is part of the DAO.
[codex:2813] 
[codex:2813] 
[codex:2813] thinking
[codex:2813] **Summarizing reentrancy vulnerability details**
[codex:2813] thinking
[codex:2813] **Consolidating concrete reentrancy findings with details**
[codex:2813] 
[codex:2813] I'll organize the main reentrancy exploits into three findings: the critical splitDAO drain via withdrawRewardFor, the high-risk rewardAccount drain through getMyReward reentrancy, and the refund reentrancy for failed token creation. Each will have distinct step-by-step scenarios, severity, recommended fixes, evidence snippets, and precise file line references to clearly communicate the profit-focused vulnerabilities.
[codex:2813] codex
[codex:2813] {"no_findings":false,"summary":"Found three concrete reentrancy paths that can drain the DAO's main balance, the reward pool, or failed-creation refunds.","findings":[{"severity":"critical","category":"reentrancy","title":"Reentrant splitDAO via withdrawRewardFor drains the main DAO balance","exploit_scenario":"1) Attacker acquires DAO tokens in a contract with a fallback that can call splitDAO again. 2) They create/vote for a split proposal naming a curator they control and wait until the voting deadline. 3) They call splitDAO from the attacker contract. 4) splitDAO calls withdrawRewardFor before burning the attacker tokens; withdrawRewardFor triggers rewardAccount.payOut which performs a low-level call to the attacker, letting the fallback reenter splitDAO while balances[msg.sender] are still intact. 5) Each reentrant call transfers fundsToBeMoved to the new DAO again. Repeat until the DAO balance is exhausted. Estimated profit: up to the full DAO ETH balance (actualBalance and any distributable rewards), i.e., nearly 100% of the contract's funds.","recommendation":"Update balances and proposal state before any external call (including reward payouts), or add a reentrancy guard around splitDAO/withdrawRewardFor; alternatively, separate reward withdrawals into a later pull-only step after balances are burned.","evidence":"splitDAO calls withdrawRewardFor before zeroing balances, and withdrawRewardFor makes an external call via rewardAccount.payOut before updating paidOut, enabling reentrancy into splitDAO.","locations":["contracts/Contract.sol:1007","contracts/Contract.sol:1009","contracts/Contract.sol:1010","contracts/Contract.sol:1058","contracts/Contract.sol:1064","contracts/Contract.sol:194"]},{"severity":"high","category":"reentrancy","title":"Reentrant getMyReward drains rewardAccount","exploit_scenario":"1) Attacker holds any DAO tokens in a contract with a fallback that reenters getMyReward. 2) They call getMyReward. 3) withdrawRewardFor computes the reward and calls rewardAccount.payOut (external call) before paidOut is updated, triggering the fallback. 4) The fallback reenters getMyReward repeatedly while paidOut remains unchanged, pulling the same reward multiple times until rewardAccount is depleted. Estimated profit: up to the entire rewardAccount balance (all accumulated rewards).","recommendation":"Update paidOut before making the external payout, or use a reentrancy guard and a pull pattern for reward withdrawals.","evidence":"withdrawRewardFor calls rewardAccount.payOut before updating paidOut; ManagedAccount.payOut uses a low-level call to _recipient, enabling reentrancy.","locations":["contracts/Contract.sol:1053","contracts/Contract.sol:1058","contracts/Contract.sol:1064","contracts/Contract.sol:1066","contracts/Contract.sol:194"]},{"severity":"high","category":"reentrancy","title":"Reentrant refund drains all funds if token creation fails","exploit_scenario":"1) Attacker contributes during token creation from a contract with a fallback that reenters refund. 2) If minTokensToCreate is not reached and closingTime passes, they call refund. 3) refund sends msg.sender.call.value(weiGiven[msg.sender]) before zeroing balances/weiGiven. 4) The fallback reenters refund and receives the same weiGiven repeatedly until the contract balance is exhausted. Estimated profit: up to the entire token creation balance (all contributions plus any extraBalance swept in).","recommendation":"Set weiGiven/balances to zero before sending, or use a pull-only pattern with a reentrancy guard.","evidence":"refund performs a low-level call to msg.sender for weiGiven[msg.sender] before resetting balances and weiGiven, enabling reentrancy and repeated refunds.","locations":["contracts/Contract.sol:314","contracts/Contract.sol:320","contracts/Contract.sol:321","contracts/Contract.sol:323","contracts/Contract.sol:325"]}]}
[codex:2813] tokens used
[codex:2813] 43,143
[codex:2813] {"no_findings":false,"summary":"Found three concrete reentrancy paths that can drain the DAO's main balance, the reward pool, or failed-creation refunds.","findings":[{"severity":"critical","category":"reentrancy","title":"Reentrant splitDAO via withdrawRewardFor drains the main DAO balance","exploit_scenario":"1) Attacker acquires DAO tokens in a contract with a fallback that can call splitDAO again. 2) They create/vote for a split proposal naming a curator they control and wait until the voting deadline. 3) They call splitDAO from the attacker contract. 4) splitDAO calls withdrawRewardFor before burning the attacker tokens; withdrawRewardFor triggers rewardAccount.payOut which performs a low-level call to the attacker, letting the fallback reenter splitDAO while balances[msg.sender] are still intact. 5) Each reentrant call transfers fundsToBeMoved to the new DAO again. Repeat until the DAO balance is exhausted. Estimated profit: up to the full DAO ETH balance (actualBalance and any distributable rewards), i.e., nearly 100% of the contract's funds.","recommendation":"Update balances and proposal state before any external call (including reward payouts), or add a reentrancy guard around splitDAO/withdrawRewardFor; alternatively, separate reward withdrawals into a later pull-only step after balances are burned.","evidence":"splitDAO calls withdrawRewardFor before zeroing balances, and withdrawRewardFor makes an external call via rewardAccount.payOut before updating paidOut, enabling reentrancy into splitDAO.","locations":["contracts/Contract.sol:1007","contracts/Contract.sol:1009","contracts/Contract.sol:1010","contracts/Contract.sol:1058","contracts/Contract.sol:1064","contracts/Contract.sol:194"]},{"severity":"high","category":"reentrancy","title":"Reentrant getMyReward drains rewardAccount","exploit_scenario":"1) Attacker holds any DAO tokens in a contract with a fallback that reenters getMyReward. 2) They call getMyReward. 3) withdrawRewardFor computes the reward and calls rewardAccount.payOut (external call) before paidOut is updated, triggering the fallback. 4) The fallback reenters getMyReward repeatedly while paidOut remains unchanged, pulling the same reward multiple times until rewardAccount is depleted. Estimated profit: up to the entire rewardAccount balance (all accumulated rewards).","recommendation":"Update paidOut before making the external payout, or use a reentrancy guard and a pull pattern for reward withdrawals.","evidence":"withdrawRewardFor calls rewardAccount.payOut before updating paidOut; ManagedAccount.payOut uses a low-level call to _recipient, enabling reentrancy.","locations":["contracts/Contract.sol:1053","contracts/Contract.sol:1058","contracts/Contract.sol:1064","contracts/Contract.sol:1066","contracts/Contract.sol:194"]},{"severity":"high","category":"reentrancy","title":"Reentrant refund drains all funds if token creation fails","exploit_scenario":"1) Attacker contributes during token creation from a contract with a fallback that reenters refund. 2) If minTokensToCreate is not reached and closingTime passes, they call refund. 3) refund sends msg.sender.call.value(weiGiven[msg.sender]) before zeroing balances/weiGiven. 4) The fallback reenters refund and receives the same weiGiven repeatedly until the contract balance is exhausted. Estimated profit: up to the entire token creation balance (all contributions plus any extraBalance swept in).","recommendation":"Set weiGiven/balances to zero before sending, or use a pull-only pattern with a reentrancy guard.","evidence":"refund performs a low-level call to msg.sender for weiGiven[msg.sender] before resetting balances and weiGiven, enabling reentrancy and repeated refunds.","locations":["contracts/Contract.sol:314","contracts/Contract.sol:320","contracts/Contract.sol:321","contracts/Contract.sol:323","contracts/Contract.sol:325"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T02:58:27.098948+00:00",
        "returncode": 0
    },
    "summary": "Found three concrete reentrancy paths that can drain the DAO's main balance, the reward pool, or failed-creation refunds.",
    "raw_final": {
        "summary": "Found three concrete reentrancy paths that can drain the DAO's main balance, the reward pool, or failed-creation refunds.",
        "findings": [
            {
                "title": "Reentrant splitDAO via withdrawRewardFor drains the main DAO balance",
                "category": "reentrancy",
                "evidence": "splitDAO calls withdrawRewardFor before zeroing balances, and withdrawRewardFor makes an external call via rewardAccount.payOut before updating paidOut, enabling reentrancy into splitDAO.",
                "severity": "critical",
                "locations": [
                    "contracts/Contract.sol:1007",
                    "contracts/Contract.sol:1009",
                    "contracts/Contract.sol:1010",
                    "contracts/Contract.sol:1058",
                    "contracts/Contract.sol:1064",
                    "contracts/Contract.sol:194"
                ],
                "recommendation": "Update balances and proposal state before any external call (including reward payouts), or add a reentrancy guard around splitDAO/withdrawRewardFor; alternatively, separate reward withdrawals into a later pull-only step after balances are burned.",
                "exploit_scenario": "1) Attacker acquires DAO tokens in a contract with a fallback that can call splitDAO again. 2) They create/vote for a split proposal naming a curator they control and wait until the voting deadline. 3) They call splitDAO from the attacker contract. 4) splitDAO calls withdrawRewardFor before burning the attacker tokens; withdrawRewardFor triggers rewardAccount.payOut which performs a low-level call to the attacker, letting the fallback reenter splitDAO while balances[msg.sender] are still intact. 5) Each reentrant call transfers fundsToBeMoved to the new DAO again. Repeat until the DAO balance is exhausted. Estimated profit: up to the full DAO ETH balance (actualBalance and any distributable rewards), i.e., nearly 100% of the contract's funds."
            },
            {
                "title": "Reentrant getMyReward drains rewardAccount",
                "category": "reentrancy",
                "evidence": "withdrawRewardFor calls rewardAccount.payOut before updating paidOut; ManagedAccount.payOut uses a low-level call to _recipient, enabling reentrancy.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:1053",
                    "contracts/Contract.sol:1058",
                    "contracts/Contract.sol:1064",
                    "contracts/Contract.sol:1066",
                    "contracts/Contract.sol:194"
                ],
                "recommendation": "Update paidOut before making the external payout, or use a reentrancy guard and a pull pattern for reward withdrawals.",
                "exploit_scenario": "1) Attacker holds any DAO tokens in a contract with a fallback that reenters getMyReward. 2) They call getMyReward. 3) withdrawRewardFor computes the reward and calls rewardAccount.payOut (external call) before paidOut is updated, triggering the fallback. 4) The fallback reenters getMyReward repeatedly while paidOut remains unchanged, pulling the same reward multiple times until rewardAccount is depleted. Estimated profit: up to the entire rewardAccount balance (all accumulated rewards)."
            },
            {
                "title": "Reentrant refund drains all funds if token creation fails",
                "category": "reentrancy",
                "evidence": "refund performs a low-level call to msg.sender for weiGiven[msg.sender] before resetting balances and weiGiven, enabling reentrancy and repeated refunds.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:314",
                    "contracts/Contract.sol:320",
                    "contracts/Contract.sol:321",
                    "contracts/Contract.sol:323",
                    "contracts/Contract.sol:325"
                ],
                "recommendation": "Set weiGiven/balances to zero before sending, or use a pull-only pattern with a reentrancy guard.",
                "exploit_scenario": "1) Attacker contributes during token creation from a contract with a fallback that reenters refund. 2) If minTokensToCreate is not reached and closingTime passes, they call refund. 3) refund sends msg.sender.call.value(weiGiven[msg.sender]) before zeroing balances/weiGiven. 4) The fallback reenters refund and receives the same weiGiven repeatedly until the contract balance is exhausted. Estimated profit: up to the entire token creation balance (all contributions plus any extraBalance swept in)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
25
EXT*/BALANCE
4
Total opcodes
7618
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLDATASIZE
00000006: ISZERO
00000007: PUSH2 0x020e
0000000a: JUMPI
0000000b: PUSH1 0xe0
0000000d: PUSH1 0x02
0000000f: EXP
00000010: PUSH1 0x00
00000012: CALLDATALOAD
00000013: DIV
00000014: PUSH4 0x013cf08b
00000019: DUP2
0000001a: EQ
0000001b: PUSH2 0x0247
0000001e: JUMPI
0000001f: DUP1
00000020: PUSH4 0x095ea7b3
00000025: EQ
00000026: PUSH2 0x02d0
00000029: JUMPI
0000002a: DUP1
0000002b: PUSH4 0x0c3b7b96
00000030: EQ
00000031: PUSH2 0x0345
00000034: JUMPI
00000035: DUP1
00000036: PUSH4 0x0e708203
0000003b: EQ
0000003c: PUSH2 0x034e
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x149acf9a
00000046: EQ
00000047: PUSH2 0x0360
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x18160ddd
00000051: EQ
00000052: PUSH2 0x0372
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x1f2dc5ef
0000005c: EQ
0000005d: PUSH2 0x037b
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x21b5b8dd
00000067: EQ
00000068: PUSH2 0x039b
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x237e9492
00000072: EQ
00000073: PUSH2 0x03ad
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x23b872dd
0000007d: EQ
0000007e: PUSH2 0x040e
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x2632bf20
00000088: EQ
00000089: PUSH2 0x0441
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x34145808
00000093: EQ
00000094: PUSH2 0x0472
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x39d1f908
0000009e: EQ
0000009f: PUSH2 0x047b
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x4b6753bc
000000a9: EQ
000000aa: PUSH2 0x0493
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x4df6d6cc
000000b4: EQ
000000b5: PUSH2 0x049c
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x4e10c3ee
000000bf: EQ
000000c0: PUSH2 0x04b7
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x590e1ae3
000000ca: EQ
000000cb: PUSH2 0x04ca
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x612e45a3
000000d5: EQ
000000d6: PUSH2 0x04db
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x643f7cdd
000000e0: EQ
000000e1: PUSH2 0x057a
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x674ed066
000000eb: EQ
000000ec: PUSH2 0x0592
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0x6837ff1e
000000f6: EQ
000000f7: PUSH2 0x059b
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x70a08231
00000101: EQ
00000102: PUSH2 0x05e5
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x749f9889
0000010c: EQ
0000010d: PUSH2 0x060b
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0x78524b2e
00000117: EQ
00000118: PUSH2 0x0624
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0x81f03fcb
00000122: EQ
00000123: PUSH2 0x067e
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0x82661dc4
0000012d: EQ
0000012e: PUSH2 0x0696
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x82bf6464
00000138: EQ
00000139: PUSH2 0x06b7
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0x8b15a605
00000143: EQ
00000144: PUSH2 0x06c9
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0x8d7af473
0000014e: EQ
0000014f: PUSH2 0x06d2
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0x96d7f3f5
00000159: EQ
0000015a: PUSH2 0x06e1
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xa1da2fb9
00000164: EQ
00000165: PUSH2 0x06ea
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0xa3912ec8
0000016f: EQ
00000170: PUSH2 0x0704
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0xa9059cbb
0000017a: EQ
0000017b: PUSH2 0x070f
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0xb7bc2c84
00000185: EQ
00000186: PUSH2 0x073f
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0xbaac5300
00000190: EQ
00000191: PUSH2 0x074b
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0xbe7c29c1
0000019b: EQ
0000019c: PUSH2 0x07b1
0000019f: JUMPI
000001a0: DUP1
000001a1: PUSH4 0xc9d27afe
000001a6: EQ
000001a7: PUSH2 0x0817
000001aa: JUMPI
000001ab: DUP1
000001ac: PUSH4 0xcc9ae3f6
000001b1: EQ
000001b2: PUSH2 0x082d
000001b5: JUMPI
000001b6: DUP1
000001b7: PUSH4 0xcdef91d0
000001bc: EQ
000001bd: PUSH2 0x0841
000001c0: JUMPI
000001c1: DUP1
000001c2: PUSH4 0xdbde1988
000001c7: EQ
000001c8: PUSH2 0x0859
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0xdd62ed3e
000001d2: EQ
000001d3: PUSH2 0x087e
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0xe33734fd
000001dd: EQ
000001de: PUSH2 0x08b2
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0xe5962195
000001e8: EQ
000001e9: PUSH2 0x08c6
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0xe66f53b7
000001f3: EQ
000001f4: PUSH2 0x08de
000001f7: JUMPI
000001f8: DUP1
000001f9: PUSH4 0xeceb2945
000001fe: EQ
000001ff: PUSH2 0x08f0
00000202: JUMPI
00000203: DUP1
00000204: PUSH4 0xf8c80d26
00000209: EQ
0000020a: PUSH2 0x094f
0000020d: JUMPI
0000020e: JUMPDEST
0000020f: PUSH2 0x0966
00000212: PUSH1 0x0f
00000214: SLOAD
00000215: PUSH1 0x00
00000217: SWAP1
00000218: PUSH3 0x34bc00
0000021c: ADD
0000021d: TIMESTAMP
0000021e: LT
0000021f: DUP1
00000220: ISZERO
00000221: PUSH2 0x0239
00000224: JUMPI
00000225: POP
00000226: PUSH1 0x12
00000228: SLOAD
00000229: CALLER
0000022a: PUSH1 0x01
0000022c: PUSH1 0xa0
0000022e: PUSH1 0x02
00000230: EXP
00000231: SUB
00000232: SWAP1
00000233: DUP2
00000234: AND
00000235: SWAP2
00000236: AND
00000237: EQ
00000238: ISZERO
00000239: JUMPDEST
0000023a: ISZERO
0000023b: PUSH2 0x0978
0000023e: JUMPI
0000023f: PUSH2 0x0980
00000242: CALLER
00000243: PUSH2 0x0752
00000246: JUMP
00000247: JUMPDEST
00000248: PUSH2 0x0986
0000024b: PUSH1 0x04
0000024d: CALLDATALOAD
0000024e: PUSH1 0x00
00000250: DUP1
00000251: SLOAD
00000252: DUP3
00000253: SWAP1
00000254: DUP2
00000255: LT
00000256: ISZERO
00000257: PUSH2 0x0002
0000025a: JUMPI
0000025b: POP
0000025c: DUP1
0000025d: DUP1
0000025e: MSTORE
0000025f: PUSH1 0x0e
00000261: DUP3
00000262: MUL
00000263: PUSH1 0x00
00000265: DUP1
00000266: MLOAD
00000267: PUSH1 0x20
00000269: PUSH2 0x2a36
0000026c: DUP4
0000026d: CODECOPY
0000026e: DUP2
0000026f: MLOAD
00000270: SWAP2
00000271: MSTORE
00000272: ADD
00000273: SWAP1
00000274: POP
00000275: PUSH1 0x03
00000277: DUP2
00000278: ADD
00000279: SLOAD
0000027a: PUSH1 0x04
0000027c: DUP3
0000027d: ADD
0000027e: SLOAD
0000027f: PUSH1 0x06
00000281: DUP4
00000282: ADD
00000283: SLOAD
00000284: PUSH1 0x01
00000286: DUP5
00000287: ADD
00000288: SLOAD
00000289: DUP5
0000028a: SLOAD
0000028b: PUSH1 0x07
0000028d: DUP7
0000028e: ADD
0000028f: SLOAD
00000290: PUSH1 0x05
00000292: DUP8
00000293: ADD
00000294: SLOAD
00000295: PUSH1 0x09
00000297: DUP9
00000298: ADD
00000299: SLOAD
0000029a: PUSH1 0x0a
0000029c: DUP10
0000029d: ADD
0000029e: SLOAD
0000029f: PUSH1 0x0d
000002a1: DUP11
000002a2: ADD
000002a3: SLOAD
000002a4: PUSH1 0x01
000002a6: PUSH1 0xa0
000002a8: PUSH1 0x02
000002aa: EXP
000002ab: SUB
000002ac: SWAP6
000002ad: DUP7
000002ae: AND
000002af: SWAP12
000002b0: POP
000002b1: SWAP6
000002b2: SWAP10
000002b3: PUSH1 0x02
000002b5: ADD
000002b6: SWAP9
000002b7: SWAP8
000002b8: PUSH1 0xff
000002ba: DUP2
000002bb: DUP2
000002bc: AND
000002bd: SWAP9
000002be: PUSH2 0x0100
000002c1: SWAP1
000002c2: SWAP3
000002c3: DIV
000002c4: DUP2
000002c5: AND
000002c6: SWAP8
000002c7: SWAP5
000002c8: SWAP7
000002c9: SWAP2
000002ca: SWAP6
000002cb: AND
000002cc: SWAP4
000002cd: AND
000002ce: DUP13
000002cf: JUMP
000002d0: JUMPDEST
000002d1: PUSH2 0x0966
000002d4: PUSH1 0x04
000002d6: CALLDATALOAD
000002d7: PUSH1 0x24
000002d9: CALLDATALOAD
000002da: CALLER
000002db: PUSH1 0x01
000002dd: PUSH1 0xa0
000002df: PUSH1 0x02
000002e1: EXP
000002e2: SUB
000002e3: SWAP1
000002e4: DUP2
000002e5: AND
000002e6: PUSH1 0x00
000002e8: DUP2
000002e9: DUP2
000002ea: MSTORE
000002eb: PUSH1 0x15
000002ed: PUSH1 0x20
000002ef: SWAP1
000002f0: DUP2
000002f1: MSTORE
000002f2: PUSH1 0x40
000002f4: DUP1
000002f5: DUP4
000002f6: KECCAK256
000002f7: SWAP5
000002f8: DUP8
000002f9: AND
000002fa: DUP1
000002fb: DUP5
000002fc: MSTORE
000002fd: SWAP5
000002fe: DUP3
000002ff: MSTORE
00000300: DUP1
00000301: DUP4
00000302: KECCAK256
00000303: DUP7
00000304: SWAP1
00000305: SSTORE
00000306: DUP1
00000307: MLOAD
00000308: DUP7
00000309: DUP2
0000030a: MSTORE
0000030b: SWAP1
0000030c: MLOAD
0000030d: SWAP3
0000030e: SWAP5
0000030f: SWAP4
00000310: SWAP3
00000311: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000332: SWAP3
00000333: SWAP2
00000334: DUP2
00000335: SWAP1
00000336: SUB
00000337: SWAP1
00000338: SWAP2
00000339: ADD
0000033a: SWAP1
0000033b: LOG3
0000033c: POP
0000033d: PUSH1 0x01
0000033f: JUMPDEST
00000340: SWAP3
00000341: SWAP2
00000342: POP
00000343: POP
00000344: JUMP
00000345: JUMPDEST
00000346: PUSH2 0x0966
00000349: PUSH1 0x10
0000034b: SLOAD
0000034c: DUP2
0000034d: JUMP
0000034e: JUMPDEST
0000034f: PUSH2 0x0a7d
00000352: PUSH1 0x07
00000354: SLOAD
00000355: PUSH1 0x01
00000357: PUSH1 0xa0
00000359: PUSH1 0x02
0000035b: EXP
0000035c: SUB
0000035d: AND
0000035e: DUP2
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x0a7d
00000364: PUSH1 0x0e
00000366: SLOAD
00000367: PUSH1 0x01
00000369: PUSH1 0xa0
0000036b: PUSH1 0x02
0000036d: EXP
0000036e: SUB
0000036f: AND
00000370: DUP2
00000371: JUMP
00000372: JUMPDEST
00000373: PUSH2 0x0966
00000376: PUSH1 0x16
00000378: SLOAD
00000379: DUP2
0000037a: JUMP
0000037b: JUMPDEST
0000037c: PUSH2 0x0966
0000037f: JUMPDEST
00000380: PUSH1 0x00
00000382: TIMESTAMP
00000383: PUSH3 0x127500
00000387: PUSH1 0x0f
00000389: PUSH1 0x00
0000038b: POP
0000038c: SLOAD
0000038d: SUB
0000038e: GT
0000038f: ISZERO
00000390: PUSH2 0x0de5
00000393: JUMPI
00000394: POP
00000395: PUSH1 0x14
00000397: PUSH2 0x0983
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x0a7d
0000039f: PUSH1 0x12
000003a1: SLOAD
000003a2: PUSH1 0x01
000003a4: PUSH1 0xa0
000003a6: PUSH1 0x02
000003a8: EXP
000003a9: SUB
000003aa: AND
000003ab: DUP2
000003ac: JUMP
000003ad: JUMPDEST
000003ae: PUSH1 0x40
000003b0: DUP1
000003b1: MLOAD
000003b2: PUSH1 0x20
000003b4: PUSH1 0x24
000003b6: DUP1
000003b7: CALLDATALOAD
000003b8: PUSH1 0x04
000003ba: DUP2
000003bb: DUP2
000003bc: ADD
000003bd: CALLDATALOAD
000003be: PUSH1 0x1f
000003c0: DUP2
000003c1: ADD
000003c2: DUP6
000003c3: SWAP1
000003c4: DIV
000003c5: DUP6
000003c6: MUL
000003c7: DUP7
000003c8: ADD
000003c9: DUP6
000003ca: ADD
000003cb: SWAP1
000003cc: SWAP7
000003cd: MSTORE
000003ce: DUP6
000003cf: DUP6
000003d0: MSTORE
000003d1: PUSH2 0x0966
000003d4: SWAP6
000003d5: DUP2
000003d6: CALLDATALOAD
000003d7: SWAP6
000003d8: SWAP2
000003d9: SWAP5
000003da: PUSH1 0x44
000003dc: SWAP5
000003dd: SWAP3
000003de: SWAP4
000003df: SWAP1
000003e0: SWAP3
000003e1: ADD
000003e2: SWAP2
000003e3: DUP2
000003e4: SWAP1
000003e5: DUP5
000003e6: ADD
000003e7: DUP4
000003e8: DUP3
000003e9: DUP1
000003ea: DUP3
000003eb: DUP5
000003ec: CALLDATACOPY
000003ed: POP
000003ee: SWAP5
000003ef: SWAP7
000003f0: POP
000003f1: POP
000003f2: POP
000003f3: POP
000003f4: POP
000003f5: POP
000003f6: POP
000003f7: PUSH1 0x00
000003f9: PUSH1 0x00
000003fb: PUSH1 0x00
000003fd: PUSH1 0x00
000003ff: PUSH1 0x00
00000401: PUSH1 0x00
00000403: CALLVALUE
00000404: GT
00000405: ISZERO
00000406: PUSH2 0x16a8
00000409: JUMPI
0000040a: PUSH2 0x0002
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH2 0x0966
00000412: PUSH1 0x04
00000414: CALLDATALOAD
00000415: PUSH1 0x24
00000417: CALLDATALOAD
00000418: PUSH1 0x44
0000041a: CALLDATALOAD
0000041b: JUMPDEST
0000041c: PUSH1 0x11
0000041e: SLOAD
0000041f: PUSH1 0x00
00000421: SWAP1
00000422: PUSH1 0xff
00000424: AND
00000425: DUP1
00000426: ISZERO
00000427: PUSH2 0x0431
0000042a: JUMPI
0000042b: POP
0000042c: PUSH1 0x0f
0000042e: SLOAD
0000042f: TIMESTAMP
00000430: GT
00000431: JUMPDEST
00000432: DUP1
00000433: ISZERO
00000434: PUSH2 0x24e9
00000437: JUMPI
00000438: POP
00000439: PUSH2 0x24e7
0000043c: DUP5
0000043d: PUSH2 0x044b
00000440: JUMP
00000441: JUMPDEST
00000442: PUSH2 0x0966
00000445: PUSH1 0x00
00000447: PUSH2 0x0980
0000044a: CALLER
0000044b: JUMPDEST
0000044c: PUSH1 0x01
0000044e: PUSH1 0xa0
00000450: PUSH1 0x02
00000452: EXP
00000453: SUB
00000454: DUP2
00000455: AND
00000456: PUSH1 0x00
00000458: SWAP1
00000459: DUP2
0000045a: MSTORE
0000045b: PUSH1 0x0b
0000045d: PUSH1 0x20
0000045f: MSTORE
00000460: PUSH1 0x40
00000462: DUP2
00000463: KECCAK256
00000464: SLOAD
00000465: DUP2
00000466: SWAP1
00000467: DUP2
00000468: EQ
00000469: ISZERO
0000046a: PUSH2 0x29cb
0000046d: JUMPI
0000046e: PUSH2 0x0b99
00000471: JUMP
00000472: JUMPDEST
00000473: PUSH2 0x0966
00000476: PUSH1 0x06
00000478: SLOAD
00000479: DUP2
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH2 0x0966
0000047f: JUMPDEST
00000480: PUSH1 0x0d
00000482: SLOAD
00000483: ADDRESS
00000484: PUSH1 0x01
00000486: PUSH1 0xa0
00000488: PUSH1 0x02
0000048a: EXP
0000048b: SUB
0000048c: AND
0000048d: BALANCE
0000048e: SUB
0000048f: PUSH2 0x0983
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH2 0x0966
00000497: PUSH1 0x0f
00000499: SLOAD
0000049a: DUP2
0000049b: JUMP
0000049c: JUMPDEST
0000049d: PUSH2 0x0966
000004a0: PUSH1 0x04
000004a2: CALLDATALOAD
000004a3: PUSH1 0x04
000004a5: PUSH1 0x20
000004a7: MSTORE
000004a8: PUSH1 0x00
000004aa: SWAP1
000004ab: DUP2
000004ac: MSTORE
000004ad: PUSH1 0x40
000004af: SWAP1
000004b0: KECCAK256
000004b1: SLOAD
000004b2: PUSH1 0xff
000004b4: AND
000004b5: DUP2
000004b6: JUMP
000004b7: JUMPDEST
000004b8: PUSH2 0x0966
000004bb: PUSH1 0x04
000004bd: CALLDATALOAD
000004be: PUSH1 0x24
000004c0: CALLDATALOAD
000004c1: PUSH1 0x00
000004c3: PUSH2 0x24cb
000004c6: PUSH2 0x0831
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH2 0x0a9a
000004ce: PUSH1 0x00
000004d0: CALLVALUE
000004d1: GT
000004d2: ISZERO
000004d3: PUSH2 0x0ba4
000004d6: JUMPI
000004d7: PUSH2 0x0002
000004da: JUMP
000004db: JUMPDEST
000004dc: PUSH1 0x40
000004de: DUP1
000004df: MLOAD
000004e0: PUSH1 0x20
000004e2: PUSH1 0x44
000004e4: CALLDATALOAD
000004e5: PUSH1 0x04
000004e7: DUP2
000004e8: DUP2
000004e9: ADD
000004ea: CALLDATALOAD
000004eb: PUSH1 0x1f
000004ed: DUP2
000004ee: ADD
000004ef: DUP5
000004f0: SWAP1
000004f1: DIV
000004f2: DUP5
000004f3: MUL
000004f4: DUP6
000004f5: ADD
000004f6: DUP5
000004f7: ADD
000004f8: SWAP1
000004f9: SWAP6
000004fa: MSTORE
000004fb: DUP5
000004fc: DUP5
000004fd: MSTORE
000004fe: PUSH2 0x0966
00000501: SWAP5
00000502: DUP2
00000503: CALLDATALOAD
00000504: SWAP5
00000505: PUSH1 0x24
00000507: DUP1
00000508: CALLDATALOAD
00000509: SWAP6
0000050a: SWAP4
0000050b: SWAP5
0000050c: PUSH1 0x64
0000050e: SWAP5
0000050f: SWAP3
00000510: SWAP4
00000511: SWAP2
00000512: ADD
00000513: SWAP2
00000514: DUP2
00000515: SWAP1
00000516: DUP5
00000517: ADD
00000518: DUP4
00000519: DUP3
0000051a: DUP1
0000051b: DUP3
0000051c: DUP5
0000051d: CALLDATACOPY
0000051e: POP
0000051f: POP
00000520: PUSH1 0x40
00000522: DUP1
00000523: MLOAD
00000524: PUSH1 0x20
00000526: SWAP8
00000527: CALLDATALOAD
00000528: DUP1
00000529: DUP11
0000052a: ADD
0000052b: CALLDATALOAD
0000052c: PUSH1 0x1f
0000052e: DUP2
0000052f: ADD
00000530: DUP11
00000531: SWAP1
00000532: DIV
00000533: DUP11
00000534: MUL
00000535: DUP4
00000536: ADD
00000537: DUP11
00000538: ADD
00000539: SWAP1
0000053a: SWAP4
0000053b: MSTORE
0000053c: DUP3
0000053d: DUP3
0000053e: MSTORE
0000053f: SWAP7
00000540: SWAP9
00000541: SWAP8
00000542: PUSH1 0x84
00000544: SWAP8
00000545: SWAP2
00000546: SWAP7
00000547: POP
00000548: PUSH1 0x24
0000054a: SWAP2
0000054b: SWAP1
0000054c: SWAP2
0000054d: ADD
0000054e: SWAP5
0000054f: POP
00000550: SWAP1
00000551: SWAP3
00000552: POP
00000553: DUP3
00000554: SWAP2
00000555: POP
00000556: DUP5
00000557: ADD
00000558: DUP4
00000559: DUP3
0000055a: DUP1
0000055b: DUP3
0000055c: DUP5
0000055d: CALLDATACOPY
0000055e: POP
0000055f: SWAP5
00000560: SWAP7
00000561: POP
00000562: POP
00000563: SWAP4
00000564: CALLDATALOAD
00000565: SWAP4
00000566: POP
00000567: POP
00000568: PUSH1 0xa4
0000056a: CALLDATALOAD
0000056b: SWAP2
0000056c: POP
0000056d: POP
0000056e: PUSH1 0x00
00000570: PUSH1 0x00
00000572: PUSH2 0x10c1
00000575: CALLER
00000576: PUSH2 0x05ec
00000579: JUMP
0000057a: JUMPDEST
0000057b: PUSH2 0x0966
0000057e: PUSH1 0x04
00000580: CALLDATALOAD
00000581: PUSH1 0x09
00000583: PUSH1 0x20
00000585: MSTORE
00000586: PUSH1 0x00
00000588: SWAP1
00000589: DUP2
0000058a: MSTORE
0000058b: PUSH1 0x40
0000058d: SWAP1
0000058e: KECCAK256
0000058f: SLOAD
00000590: DUP2
00000591: JUMP
00000592: JUMPDEST
00000593: PUSH2 0x0966
00000596: PUSH1 0x01
00000598: SLOAD
00000599: DUP2
0000059a: JUMP
0000059b: JUMPDEST
0000059c: PUSH2 0x0a9a
0000059f: PUSH1 0x04
000005a1: CALLDATALOAD
000005a2: ADDRESS
000005a3: PUSH1 0x01
000005a5: PUSH1 0xa0
000005a7: PUSH1 0x02
000005a9: EXP
000005aa: SUB
000005ab: AND
000005ac: CALLER
000005ad: PUSH1 0x01
000005af: PUSH1 0xa0
000005b1: PUSH1 0x02
000005b3: EXP
000005b4: SUB
000005b5: AND
000005b6: EQ
000005b7: ISZERO
000005b8: DUP1
000005b9: PUSH2 0x05db
000005bc: JUMPI
000005bd: POP
000005be: PUSH1 0x01
000005c0: PUSH1 0xa0
000005c2: PUSH1 0x02
000005c4: EXP
000005c5: SUB
000005c6: DUP2
000005c7: AND
000005c8: PUSH1 0x00
000005ca: SWAP1
000005cb: DUP2
000005cc: MSTORE
000005cd: PUSH1 0x04
000005cf: PUSH1 0x20
000005d1: MSTORE
000005d2: PUSH1 0x40
000005d4: SWAP1
000005d5: KECCAK256
000005d6: SLOAD
000005d7: PUSH1 0xff
000005d9: AND
000005da: ISZERO
000005db: JUMPDEST
000005dc: ISZERO
000005dd: PUSH2 0x21cb
000005e0: JUMPI
000005e1: PUSH2 0x21c8
000005e4: JUMP
000005e5: JUMPDEST
000005e6: PUSH2 0x0966
000005e9: PUSH1 0x04
000005eb: CALLDATALOAD
000005ec: JUMPDEST
000005ed: PUSH1 0x01
000005ef: PUSH1 0xa0
000005f1: PUSH1 0x02
000005f3: EXP
000005f4: SUB
000005f5: DUP2
000005f6: AND
000005f7: PUSH1 0x00
000005f9: SWAP1
000005fa: DUP2
000005fb: MSTORE
000005fc: PUSH1 0x14
000005fe: PUSH1 0x20
00000600: MSTORE
00000601: PUSH1 0x40
00000603: SWAP1
00000604: KECCAK256
00000605: SLOAD
00000606: JUMPDEST
00000607: SWAP2
00000608: SWAP1
00000609: POP
0000060a: JUMP
0000060b: JUMPDEST
0000060c: PUSH2 0x0966
0000060f: PUSH1 0x04
00000611: CALLDATALOAD
00000612: PUSH1 0x24
00000614: CALLDATALOAD
00000615: PUSH1 0x00
00000617: PUSH1 0x00
00000619: CALLVALUE
0000061a: GT
0000061b: ISZERO
0000061c: PUSH2 0x2599
0000061f: JUMPI
00000620: PUSH2 0x0002
00000623: JUMP
00000624: JUMPDEST
00000625: PUSH2 0x0966
00000628: PUSH1 0x00
0000062a: PUSH3 0xe6b680
0000062e: TIMESTAMP
0000062f: SUB
00000630: PUSH1 0x02
00000632: PUSH1 0x00
00000634: POP
00000635: SLOAD
00000636: LT
00000637: DUP1
00000638: PUSH2 0x0650
0000063b: JUMPI
0000063c: POP
0000063d: PUSH1 0x03
0000063f: SLOAD
00000640: PUSH1 0x01
00000642: PUSH1 0xa0
00000644: PUSH1 0x02
00000646: EXP
00000647: SUB
00000648: SWAP1
00000649: DUP2
0000064a: AND
0000064b: CALLER
0000064c: SWAP1
0000064d: SWAP2
0000064e: AND
0000064f: EQ
00000650: JUMPDEST
00000651: DUP1
00000652: ISZERO
00000653: PUSH2 0x0664
00000656: JUMPI
00000657: POP
00000658: PUSH1 0x02
0000065a: SLOAD
0000065b: PUSH3 0x1274ff
0000065f: NOT
00000660: TIMESTAMP
00000661: ADD
00000662: SWAP1
00000663: LT
00000664: JUMPDEST
00000665: ISZERO
00000666: PUSH2 0x2614
00000669: JUMPI
0000066a: POP
0000066b: TIMESTAMP
0000066c: PUSH1 0x02
0000066e: SWAP1
0000066f: DUP2
00000670: SSTORE
00000671: PUSH1 0x01
00000673: DUP1
00000674: SLOAD
00000675: SWAP1
00000676: SWAP2
00000677: MUL
00000678: DUP2
00000679: SSTORE
0000067a: PUSH2 0x0983
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH2 0x0966
00000682: PUSH1 0x04
00000684: CALLDATALOAD
00000685: PUSH1 0x0a
00000687: PUSH1 0x20
00000689: MSTORE
0000068a: PUSH1 0x00
0000068c: SWAP1
0000068d: DUP2
0000068e: MSTORE
0000068f: PUSH1 0x40
00000691: SWAP1
00000692: KECCAK256
00000693: SLOAD
00000694: DUP2
00000695: JUMP
00000696: JUMPDEST
00000697: PUSH2 0x0966
0000069a: PUSH1 0x04
0000069c: CALLDATALOAD
0000069d: PUSH1 0x24
0000069f: CALLDATALOAD
000006a0: PUSH1 0x00
000006a2: PUSH1 0x00
000006a4: PUSH1 0x00
000006a6: PUSH1 0x00
000006a8: PUSH1 0x00
000006aa: PUSH1 0x00
000006ac: CALLVALUE
000006ad: GT
000006ae: ISZERO
000006af: PUSH2 0x1ba1
000006b2: JUMPI
000006b3: PUSH2 0x0002
000006b6: JUMP
000006b7: JUMPDEST
000006b8: PUSH2 0x0a7d
000006bb: PUSH1 0x08
000006bd: SLOAD
000006be: PUSH1 0x01
000006c0: PUSH1 0xa0
000006c2: PUSH1 0x02
000006c4: EXP
000006c5: SUB
000006c6: AND
000006c7: DUP2
000006c8: JUMP
000006c9: JUMPDEST
000006ca: PUSH2 0x0966
000006cd: PUSH1 0x0c
000006cf: SLOAD
000006d0: DUP2
000006d1: JUMP
000006d2: JUMPDEST
000006d3: PUSH2 0x0966
000006d6: PUSH1 0x00
000006d8: SLOAD
000006d9: PUSH1 0x00
000006db: NOT
000006dc: ADD
000006dd: PUSH2 0x0983
000006e0: JUMP
000006e1: JUMPDEST
000006e2: PUSH2 0x0966
000006e5: PUSH1 0x02
000006e7: SLOAD
000006e8: DUP2
000006e9: JUMP
000006ea: JUMPDEST
000006eb: PUSH2 0x0966
000006ee: PUSH1 0x04
000006f0: CALLDATALOAD
000006f1: PUSH1 0x00
000006f3: PUSH1 0x00
000006f5: PUSH1 0x00
000006f7: PUSH1 0x00
000006f9: CALLVALUE
000006fa: GT
000006fb: ISZERO
000006fc: PUSH2 0x21fc
000006ff: JUMPI
00000700: PUSH2 0x0002
00000703: JUMP
00000704: JUMPDEST
00000705: PUSH2 0x0966
00000708: JUMPDEST
00000709: PUSH1 0x01
0000070b: PUSH2 0x0983
0000070e: JUMP
0000070f: JUMPDEST
00000710: PUSH2 0x0966
00000713: PUSH1 0x04
00000715: CALLDATALOAD
00000716: PUSH1 0x24
00000718: CALLDATALOAD
00000719: JUMPDEST
0000071a: PUSH1 0x11
0000071c: SLOAD
0000071d: PUSH1 0x00
0000071f: SWAP1
00000720: PUSH1 0xff
00000722: AND
00000723: DUP1
00000724: ISZERO
00000725: PUSH2 0x072f
00000728: JUMPI
00000729: POP
0000072a: PUSH1 0x0f
0000072c: SLOAD
0000072d: TIMESTAMP
0000072e: GT
0000072f: JUMPDEST
00000730: DUP1
00000731: ISZERO
00000732: PUSH2 0x2487
00000735: JUMPI
00000736: POP
00000737: PUSH2 0x2485
0000073a: CALLER
0000073b: PUSH2 0x044b
0000073e: JUMP
0000073f: JUMPDEST
00000740: PUSH2 0x0966
00000743: PUSH1 0x11
00000745: SLOAD
00000746: PUSH1 0xff
00000748: AND
00000749: DUP2
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x0966
0000074f: PUSH1 0x04
00000751: CALLDATALOAD
00000752: JUMPDEST
00000753: PUSH1 0x00
00000755: PUSH1 0x00
00000757: PUSH1 0x0f
00000759: PUSH1 0x00
0000075b: POP
0000075c: SLOAD
0000075d: TIMESTAMP
0000075e: LT
0000075f: DUP1
00000760: ISZERO
00000761: PUSH2 0x076a
00000764: JUMPI
00000765: POP
00000766: PUSH1 0x00
00000768: CALLVALUE
00000769: GT
0000076a: JUMPDEST
0000076b: DUP1
0000076c: ISZERO
0000076d: PUSH2 0x07a4
00000770: JUMPI
00000771: POP
00000772: PUSH1 0x11
00000774: SLOAD
00000775: PUSH2 0x0100
00000778: SWAP1
00000779: DIV
0000077a: PUSH1 0x01
0000077c: PUSH1 0xa0
0000077e: PUSH1 0x02
00000780: EXP
00000781: SUB
00000782: AND
00000783: PUSH1 0x00
00000785: EQ
00000786: DUP1
00000787: PUSH2 0x07a4
0000078a: JUMPI
0000078b: POP
0000078c: PUSH1 0x11
0000078e: SLOAD
0000078f: PUSH2 0x0100
00000792: SWAP1
00000793: DIV
00000794: PUSH1 0x01
00000796: PUSH1 0xa0
00000798: PUSH1 0x02
0000079a: EXP
0000079b: SUB
0000079c: SWAP1
0000079d: DUP2
0000079e: AND
0000079f: CALLER
000007a0: SWAP1
000007a1: SWAP2
000007a2: AND
000007a3: EQ
000007a4: JUMPDEST
000007a5: ISZERO
000007a6: PUSH2 0x0b9f
000007a9: JUMPI
000007aa: PUSH2 0x0a9c
000007ad: PUSH2 0x037f
000007b0: JUMP
000007b1: JUMPDEST
000007b2: PUSH2 0x0a7d
000007b5: PUSH1 0x04
000007b7: CALLDATALOAD
000007b8: PUSH1 0x00
000007ba: PUSH1 0x00
000007bc: PUSH1 0x00
000007be: POP
000007bf: DUP3
000007c0: DUP2
000007c1: SLOAD
000007c2: DUP2
000007c3: LT
000007c4: ISZERO
000007c5: PUSH2 0x0002
000007c8: JUMPI
000007c9: POP
000007ca: POP
000007cb: DUP1
000007cc: DUP1
000007cd: MSTORE
000007ce: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56b
000007ef: PUSH1 0x0e
000007f1: DUP4
000007f2: MUL
000007f3: ADD
000007f4: DUP1
000007f5: SLOAD
000007f6: DUP3
000007f7: SWAP1
000007f8: DUP2
000007f9: LT
000007fa: ISZERO
000007fb: PUSH2 0x0002
000007fe: JUMPI
000007ff: POP
00000800: DUP2
00000801: MSTORE
00000802: PUSH1 0x20
00000804: SWAP1
00000805: KECCAK256
00000806: PUSH1 0x03
00000808: ADD
00000809: SLOAD
0000080a: PUSH1 0x01
0000080c: PUSH1 0xa0
0000080e: PUSH1 0x02
00000810: EXP
00000811: SUB
00000812: AND
00000813: PUSH2 0x0606
00000816: JUMP
00000817: JUMPDEST
00000818: PUSH2 0x0966
0000081b: PUSH1 0x04
0000081d: CALLDATALOAD
0000081e: PUSH1 0x24
00000820: CALLDATALOAD
00000821: PUSH1 0x00
00000823: PUSH1 0x00
00000825: PUSH2 0x0e1b
00000828: CALLER
00000829: PUSH2 0x05ec
0000082c: JUMP
0000082d: JUMPDEST
0000082e: PUSH2 0x0966
00000831: JUMPDEST
00000832: PUSH1 0x00
00000834: PUSH1 0x00
00000836: CALLVALUE
00000837: GT
00000838: ISZERO
00000839: PUSH2 0x247c
0000083c: JUMPI
0000083d: PUSH2 0x0002
00000840: JUMP
00000841: JUMPDEST
00000842: PUSH2 0x0966
00000845: PUSH1 0x04
00000847: CALLDATALOAD
00000848: PUSH1 0x05
0000084a: PUSH1 0x20
0000084c: MSTORE
0000084d: PUSH1 0x00
0000084f: SWAP1
00000850: DUP2
00000851: MSTORE
00000852: PUSH1 0x40
00000854: SWAP1
00000855: KECCAK256
00000856: SLOAD
00000857: DUP2
00000858: JUMP
00000859: JUMPDEST
0000085a: PUSH2 0x0966
0000085d: PUSH1 0x04
0000085f: CALLDATALOAD
00000860: PUSH1 0x24
00000862: CALLDATALOAD
00000863: PUSH1 0x44
00000865: CALLDATALOAD
00000866: PUSH1 0x00
00000868: PUSH2 0x252f
0000086b: DUP5
0000086c: JUMPDEST
0000086d: PUSH1 0x00
0000086f: PUSH1 0x00
00000871: PUSH1 0x00
00000873: CALLVALUE
00000874: GT
00000875: ISZERO
00000876: PUSH2 0x27ac
00000879: JUMPI
0000087a: PUSH2 0x0002
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH2 0x0966
00000882: PUSH1 0x04
00000884: CALLDATALOAD
00000885: PUSH1 0x24
00000887: CALLDATALOAD
00000888: PUSH1 0x01
0000088a: PUSH1 0xa0
0000088c: PUSH1 0x02
0000088e: EXP
0000088f: SUB
00000890: DUP3
00000891: DUP2
00000892: AND
00000893: PUSH1 0x00
00000895: SWAP1
00000896: DUP2
00000897: MSTORE
00000898: PUSH1 0x15
0000089a: PUSH1 0x20
0000089c: SWAP1
0000089d: DUP2
0000089e: MSTORE
0000089f: PUSH1 0x40
000008a1: DUP1
000008a2: DUP4
000008a3: KECCAK256
000008a4: SWAP4
000008a5: DUP6
000008a6: AND
000008a7: DUP4
000008a8: MSTORE
000008a9: SWAP3
000008aa: SWAP1
000008ab: MSTORE
000008ac: KECCAK256
000008ad: SLOAD
000008ae: PUSH2 0x033f
000008b1: JUMP
000008b2: JUMPDEST
000008b3: PUSH2 0x0a9a
000008b6: PUSH1 0x04
000008b8: CALLDATALOAD
000008b9: PUSH1 0x00
000008bb: CALLVALUE
000008bc: GT
000008bd: ISZERO
000008be: PUSH2 0x2545
000008c1: JUMPI
000008c2: PUSH2 0x0002
000008c5: JUMP
000008c6: JUMPDEST
000008c7: PUSH2 0x0966
000008ca: PUSH1 0x04
000008cc: CALLDATALOAD
000008cd: PUSH1 0x0b
000008cf: PUSH1 0x20
000008d1: MSTORE
000008d2: PUSH1 0x00
000008d4: SWAP1
000008d5: DUP2
000008d6: MSTORE
000008d7: PUSH1 0x40
000008d9: SWAP1
000008da: KECCAK256
000008db: SLOAD
000008dc: DUP2
000008dd: JUMP
000008de: JUMPDEST
000008df: PUSH2 0x0a7d
000008e2: PUSH1 0x03
000008e4: SLOAD
000008e5: PUSH1 0x01
000008e7: PUSH1 0xa0
000008e9: PUSH1 0x02
000008eb: EXP
000008ec: SUB
000008ed: AND
000008ee: DUP2
000008ef: JUMP
000008f0: JUMPDEST
000008f1: PUSH1 0x40
000008f3: DUP1
000008f4: MLOAD
000008f5: PUSH1 0x20
000008f7: PUSH1 0x64
000008f9: CALLDATALOAD
000008fa: PUSH1 0x04
000008fc: DUP2
000008fd: DUP2
000008fe: ADD
000008ff: CALLDATALOAD
00000900: PUSH1 0x1f
00000902: DUP2
00000903: ADD
00000904: DUP5
00000905: SWAP1
00000906: DIV
00000907: DUP5
00000908: MUL
00000909: DUP6
0000090a: ADD
0000090b: DUP5
0000090c: ADD
0000090d: SWAP1
0000090e: SWAP6
0000090f: MSTORE
00000910: DUP5
00000911: DUP5
00000912: MSTORE
00000913: PUSH2 0x0966
00000916: SWAP5
00000917: DUP2
00000918: CALLDATALOAD
00000919: SWAP5
0000091a: PUSH1 0x24
0000091c: DUP1
0000091d: CALLDATALOAD
0000091e: SWAP6
0000091f: PUSH1 0x44
00000921: CALLDATALOAD
00000922: SWAP6
00000923: PUSH1 0x84
00000925: SWAP5
00000926: SWAP3
00000927: ADD
00000928: SWAP2
00000929: SWAP1
0000092a: DUP2
0000092b: SWAP1
0000092c: DUP5
0000092d: ADD
0000092e: DUP4
0000092f: DUP3
00000930: DUP1
00000931: DUP3
00000932: DUP5
00000933: CALLDATACOPY
00000934: POP
00000935: SWAP5
00000936: SWAP7
00000937: POP
00000938: POP
00000939: POP
0000093a: POP
0000093b: POP
0000093c: POP
0000093d: POP
0000093e: PUSH1 0x00
00000940: PUSH1 0x00
00000942: PUSH1 0x00
00000944: CALLVALUE
00000945: GT
00000946: ISZERO
00000947: PUSH2 0x1032
0000094a: JUMPI
0000094b: PUSH2 0x0002
0000094e: JUMP
0000094f: JUMPDEST
00000950: PUSH2 0x0a7d
00000953: PUSH1 0x11
00000955: SLOAD
00000956: PUSH2 0x0100
00000959: SWAP1
0000095a: DIV
0000095b: PUSH1 0x01
0000095d: PUSH1 0xa0
0000095f: PUSH1 0x02
00000961: EXP
00000962: SUB
00000963: AND
00000964: DUP2
00000965: JUMP
00000966: JUMPDEST
00000967: PUSH1 0x40
00000969: DUP1
0000096a: MLOAD
0000096b: SWAP2
0000096c: DUP3
0000096d: MSTORE
0000096e: MLOAD
0000096f: SWAP1
00000970: DUP2
00000971: SWAP1
00000972: SUB
00000973: PUSH1 0x20
00000975: ADD
00000976: SWAP1
00000977: RETURN
00000978: JUMPDEST
00000979: PUSH2 0x0980
0000097c: PUSH2 0x0708
0000097f: JUMP
00000980: JUMPDEST
00000981: SWAP1
00000982: POP
00000983: JUMPDEST
00000984: SWAP1
00000985: JUMP
00000986: JUMPDEST
00000987: PUSH1 0x40
00000989: MLOAD
0000098a: DUP1
0000098b: DUP14
0000098c: PUSH1 0x01
0000098e: PUSH1 0xa0
00000990: PUSH1 0x02
00000992: EXP
00000993: SUB
00000994: AND
00000995: DUP2
00000996: MSTORE
00000997: PUSH1 0x20
00000999: ADD
0000099a: DUP13
0000099b: DUP2
0000099c: MSTORE
0000099d: PUSH1 0x20
0000099f: ADD
000009a0: DUP1
000009a1: PUSH1 0x20
000009a3: ADD
000009a4: DUP12
000009a5: DUP2
000009a6: MSTORE
000009a7: PUSH1 0x20
000009a9: ADD
000009aa: DUP11
000009ab: DUP2
000009ac: MSTORE
000009ad: PUSH1 0x20
000009af: ADD
000009b0: DUP10
000009b1: DUP2
000009b2: MSTORE
000009b3: PUSH1 0x20
000009b5: ADD
000009b6: DUP9
000009b7: DUP2
000009b8: MSTORE
000009b9: PUSH1 0x20
000009bb: ADD
000009bc: DUP8
000009bd: DUP2
000009be: MSTORE
000009bf: PUSH1 0x20
000009c1: ADD
000009c2: DUP7
000009c3: DUP2
000009c4: MSTORE
000009c5: PUSH1 0x20
000009c7: ADD
000009c8: DUP6
000009c9: DUP2
000009ca: MSTORE
000009cb: PUSH1 0x20
000009cd: ADD
000009ce: DUP5
000009cf: DUP2
000009d0: MSTORE
000009d1: PUSH1 0x20
000009d3: ADD
000009d4: DUP4
000009d5: PUSH1 0x01
000009d7: PUSH1 0xa0
000009d9: PUSH1 0x02
000009db: EXP
000009dc: SUB
000009dd: AND
000009de: DUP2
000009df: MSTORE
000009e0: PUSH1 0x20
000009e2: ADD
000009e3: DUP3
000009e4: DUP2
000009e5: SUB
000009e6: DUP3
000009e7: MSTORE
000009e8: DUP13
000009e9: DUP2
000009ea: DUP2
000009eb: SLOAD
000009ec: PUSH1 0x01
000009ee: DUP2
000009ef: PUSH1 0x01
000009f1: AND
000009f2: ISZERO
000009f3: PUSH2 0x0100
000009f6: MUL
000009f7: SUB
000009f8: AND
000009f9: PUSH1 0x02
000009fb: SWAP1
000009fc: DIV
000009fd: DUP2
000009fe: MSTORE
000009ff: PUSH1 0x20
00000a01: ADD
00000a02: SWAP2
00000a03: POP
00000a04: DUP1
00000a05: SLOAD
00000a06: PUSH1 0x01
00000a08: DUP2
00000a09: PUSH1 0x01
00000a0b: AND
00000a0c: ISZERO
00000a0d: PUSH2 0x0100
00000a10: MUL
00000a11: SUB
00000a12: AND
00000a13: PUSH1 0x02
00000a15: SWAP1
00000a16: DIV
00000a17: DUP1
00000a18: ISZERO
00000a19: PUSH2 0x0a63
00000a1c: JUMPI
00000a1d: DUP1
00000a1e: PUSH1 0x1f
00000a20: LT
00000a21: PUSH2 0x0a38
00000a24: JUMPI
00000a25: PUSH2 0x0100
00000a28: DUP1
00000a29: DUP4
00000a2a: SLOAD
00000a2b: DIV
00000a2c: MUL
00000a2d: DUP4
00000a2e: MSTORE
00000a2f: SWAP2
00000a30: PUSH1 0x20
00000a32: ADD
00000a33: SWAP2
00000a34: PUSH2 0x0a63
00000a37: JUMP
00000a38: JUMPDEST
00000a39: DUP3
00000a3a: ADD
00000a3b: SWAP2
00000a3c: SWAP1
00000a3d: PUSH1 0x00
00000a3f: MSTORE
00000a40: PUSH1 0x20
00000a42: PUSH1 0x00
00000a44: KECCAK256
00000a45: SWAP1
00000a46: JUMPDEST
00000a47: DUP2
00000a48: SLOAD
00000a49: DUP2
00000a4a: MSTORE
00000a4b: SWAP1
00000a4c: PUSH1 0x01
00000a4e: ADD
00000a4f: SWAP1
00000a50: PUSH1 0x20
00000a52: ADD
00000a53: DUP1
00000a54: DUP4
00000a55: GT
00000a56: PUSH2 0x0a46
00000a59: JUMPI
00000a5a: DUP3
00000a5b: SWAP1
00000a5c: SUB
00000a5d: PUSH1 0x1f
00000a5f: AND
00000a60: DUP3
00000a61: ADD
00000a62: SWAP2
00000a63: JUMPDEST
00000a64: POP
00000a65: POP
00000a66: SWAP14
00000a67: POP
00000a68: POP
00000a69: POP
00000a6a: POP
00000a6b: POP
00000a6c: POP
00000a6d: POP
00000a6e: POP
00000a6f: POP
00000a70: POP
00000a71: POP
00000a72: POP
00000a73: POP
00000a74: POP
00000a75: PUSH1 0x40
00000a77: MLOAD
00000a78: DUP1
00000a79: SWAP2
00000a7a: SUB
00000a7b: SWAP1
00000a7c: RETURN
00000a7d: JUMPDEST
00000a7e: PUSH1 0x40
00000a80: DUP1
00000a81: MLOAD
00000a82: PUSH1 0x01
00000a84: PUSH1 0xa0
00000a86: PUSH1 0x02
00000a88: EXP
00000a89: SUB
00000a8a: SWAP3
00000a8b: SWAP1
00000a8c: SWAP3
00000a8d: AND
00000a8e: DUP3
00000a8f: MSTORE
00000a90: MLOAD
00000a91: SWAP1
00000a92: DUP2
00000a93: SWAP1
00000a94: SUB
00000a95: PUSH1 0x20
00000a97: ADD
00000a98: SWAP1
00000a99: RETURN
00000a9a: JUMPDEST
00000a9b: STOP
00000a9c: JUMPDEST
00000a9d: PUSH1 0x40
00000a9f: MLOAD
00000aa0: PUSH1 0x12
00000aa2: SLOAD
00000aa3: PUSH1 0x14
00000aa5: CALLVALUE
00000aa6: SWAP1
00000aa7: DUP2
00000aa8: MUL
00000aa9: SWAP4
00000aaa: SWAP1
00000aab: SWAP4
00000aac: DIV
00000aad: SWAP4
00000aae: POP
00000aaf: PUSH1 0x01
00000ab1: PUSH1 0xa0
00000ab3: PUSH1 0x02
00000ab5: EXP
00000ab6: SUB
00000ab7: AND
00000ab8: SWAP2
00000ab9: DUP4
00000aba: SWAP1
00000abb: SUB
00000abc: SWAP1
00000abd: PUSH1 0x00
00000abf: DUP2
00000ac0: DUP2
00000ac1: DUP2
00000ac2: DUP6
00000ac3: DUP8
00000ac4: PUSH2 0x8502
00000ac7: GAS
00000ac8: SUB
00000ac9: CALL
00000aca: POP
00000acb: POP
00000acc: POP
00000acd: POP
00000ace: PUSH1 0x01
00000ad0: PUSH1 0xa0
00000ad2: PUSH1 0x02
00000ad4: EXP
00000ad5: SUB
00000ad6: DUP4
00000ad7: AND
00000ad8: PUSH1 0x00
00000ada: DUP2
00000adb: DUP2
00000adc: MSTORE
00000add: PUSH1 0x14
00000adf: PUSH1 0x20
00000ae1: SWAP1
00000ae2: DUP2
00000ae3: MSTORE
00000ae4: PUSH1 0x40
00000ae6: DUP1
00000ae7: DUP4
00000ae8: KECCAK256
00000ae9: DUP1
00000aea: SLOAD
00000aeb: DUP7
00000aec: ADD
00000aed: SWAP1
00000aee: SSTORE
00000aef: PUSH1 0x16
00000af1: DUP1
00000af2: SLOAD
00000af3: DUP7
00000af4: ADD
00000af5: SWAP1
00000af6: SSTORE
00000af7: PUSH1 0x13
00000af9: DUP3
00000afa: MSTORE
00000afb: SWAP2
00000afc: DUP3
00000afd: SWAP1
00000afe: KECCAK256
00000aff: DUP1
00000b00: SLOAD
00000b01: CALLVALUE
00000b02: ADD
00000b03: SWAP1
00000b04: SSTORE
00000b05: DUP2
00000b06: MLOAD
00000b07: DUP5
00000b08: DUP2
00000b09: MSTORE
00000b0a: SWAP2
00000b0b: MLOAD
00000b0c: PUSH32 0xdbccb92686efceafb9bb7e0394df7f58f71b954061b81afb57109bf247d3d75a
00000b2d: SWAP3
00000b2e: DUP2
00000b2f: SWAP1
00000b30: SUB
00000b31: SWAP1
00000b32: SWAP2
00000b33: ADD
00000b34: SWAP1
00000b35: LOG2
00000b36: PUSH1 0x10
00000b38: SLOAD
00000b39: PUSH1 0x16
00000b3b: SLOAD
00000b3c: LT
00000b3d: DUP1
00000b3e: ISZERO
00000b3f: SWAP1
00000b40: PUSH2 0x0b4c
00000b43: JUMPI
00000b44: POP
00000b45: PUSH1 0x11
00000b47: SLOAD
00000b48: PUSH1 0xff
00000b4a: AND
00000b4b: ISZERO
00000b4c: JUMPDEST
00000b4d: ISZERO
00000b4e: PUSH2 0x0b94
00000b51: JUMPI
00000b52: PUSH1 0x11
00000b54: DUP1
00000b55: SLOAD
00000b56: PUSH1 0xff
00000b58: NOT
00000b59: AND
00000b5a: PUSH1 0x01
00000b5c: OR
00000b5d: SWAP1
00000b5e: SSTORE
00000b5f: PUSH1 0x16
00000b61: SLOAD
00000b62: PUSH1 0x40
00000b64: DUP1
00000b65: MLOAD
00000b66: SWAP2
00000b67: DUP3
00000b68: MSTORE
00000b69: MLOAD
00000b6a: PUSH32 0xf381a3e2428fdda36615919e8d9c35878d9eb0cf85ac6edf575088e80e4c147e
00000b8b: SWAP2
00000b8c: DUP2
00000b8d: SWAP1
00000b8e: SUB
00000b8f: PUSH1 0x20
00000b91: ADD
00000b92: SWAP1
00000b93: LOG1
00000b94: JUMPDEST
00000b95: PUSH1 0x01
00000b97: SWAP2
00000b98: POP
00000b99: JUMPDEST
00000b9a: POP
00000b9b: SWAP2
00000b9c: SWAP1
00000b9d: POP
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: PUSH2 0x0002
00000ba3: JUMP
00000ba4: JUMPDEST
00000ba5: PUSH1 0x0f
00000ba7: SLOAD
00000ba8: TIMESTAMP
00000ba9: GT
00000baa: DUP1
00000bab: ISZERO
00000bac: PUSH2 0x0bb8
00000baf: JUMPI
00000bb0: POP
00000bb1: PUSH1 0x11
00000bb3: SLOAD
00000bb4: PUSH1 0xff
00000bb6: AND
00000bb7: ISZERO
00000bb8: JUMPDEST
00000bb9: ISZERO
00000bba: PUSH2 0x0de3
00000bbd: JUMPI
00000bbe: PUSH1 0x12
00000bc0: PUSH1 0x00
00000bc2: SWAP1
00000bc3: SLOAD
00000bc4: SWAP1
00000bc5: PUSH2 0x0100
00000bc8: EXP
00000bc9: SWAP1
00000bca: DIV
00000bcb: PUSH1 0x01
00000bcd: PUSH1 0xa0
00000bcf: PUSH1 0x02
00000bd1: EXP
00000bd2: SUB
00000bd3: AND
00000bd4: PUSH1 0x01
00000bd6: PUSH1 0xa0
00000bd8: PUSH1 0x02
00000bda: EXP
00000bdb: SUB
00000bdc: AND
00000bdd: PUSH4 0xd2cc718f
00000be2: PUSH1 0x40
00000be4: MLOAD
00000be5: DUP2
00000be6: PUSH1 0xe0
00000be8: PUSH1 0x02
00000bea: EXP
00000beb: MUL
00000bec: DUP2
00000bed: MSTORE
00000bee: PUSH1 0x04
00000bf0: ADD
00000bf1: DUP1
00000bf2: SWAP1
00000bf3: POP
00000bf4: PUSH1 0x20
00000bf6: PUSH1 0x40
00000bf8: MLOAD
00000bf9: DUP1
00000bfa: DUP4
00000bfb: SUB
00000bfc: DUP2
00000bfd: PUSH1 0x00
00000bff: DUP8
00000c00: PUSH2 0x61da
00000c03: GAS
00000c04: SUB
00000c05: CALL
00000c06: ISZERO
00000c07: PUSH2 0x0002
00000c0a: JUMPI
00000c0b: POP
00000c0c: POP
00000c0d: PUSH1 0x40
00000c0f: MLOAD
00000c10: PUSH1 0x12
00000c12: SLOAD
00000c13: SWAP1
00000c14: MLOAD
00000c15: PUSH1 0x01
00000c17: PUSH1 0xa0
00000c19: PUSH1 0x02
00000c1b: EXP
00000c1c: SUB
00000c1d: SWAP2
00000c1e: SWAP1
00000c1f: SWAP2
00000c20: AND
00000c21: BALANCE
00000c22: LT
00000c23: SWAP1
00000c24: POP
00000c25: PUSH2 0x0cc9
00000c28: JUMPI
00000c29: PUSH1 0x40
00000c2b: DUP1
00000c2c: MLOAD
00000c2d: PUSH1 0x12
00000c2f: SLOAD
00000c30: PUSH1 0xe0
00000c32: PUSH1 0x02
00000c34: EXP
00000c35: PUSH4 0xd2cc718f
00000c3a: MUL
00000c3b: DUP3
00000c3c: MSTORE
00000c3d: SWAP2
00000c3e: MLOAD
00000c3f: PUSH1 0x01
00000c41: PUSH1 0xa0
00000c43: PUSH1 0x02
00000c45: EXP
00000c46: SUB
00000c47: SWAP3
00000c48: SWAP1
00000c49: SWAP3
00000c4a: AND
00000c4b: SWAP2
00000c4c: PUSH4 0x0221038a
00000c51: SWAP2
00000c52: ADDRESS
00000c53: SWAP2
00000c54: DUP5
00000c55: SWAP2
00000c56: PUSH4 0xd2cc718f
00000c5b: SWAP2
00000c5c: PUSH1 0x04
00000c5e: DUP3
00000c5f: DUP2
00000c60: ADD
00000c61: SWAP3
00000c62: PUSH1 0x20
00000c64: SWAP3
00000c65: SWAP2
00000c66: SWAP1
00000c67: DUP3
00000c68: SWAP1
00000c69: SUB
00000c6a: ADD
00000c6b: DUP2
00000c6c: PUSH1 0x00
00000c6e: DUP8
00000c6f: PUSH2 0x61da
00000c72: GAS
00000c73: SUB
00000c74: CALL
00000c75: ISZERO
00000c76: PUSH2 0x0002
00000c79: JUMPI
00000c7a: POP
00000c7b: POP
00000c7c: PUSH1 0x40
00000c7e: DUP1
00000c7f: MLOAD
00000c80: DUP1
00000c81: MLOAD
00000c82: PUSH1 0xe1
00000c84: PUSH1 0x02
00000c86: EXP
00000c87: PUSH4 0x011081c5
00000c8c: MUL
00000c8d: DUP3
00000c8e: MSTORE
00000c8f: PUSH1 0x01
00000c91: PUSH1 0xa0
00000c93: PUSH1 0x02
00000c95: EXP
00000c96: SUB
00000c97: SWAP5
00000c98: SWAP1
00000c99: SWAP5
00000c9a: AND
00000c9b: PUSH1 0x04
00000c9d: DUP3
00000c9e: ADD
00000c9f: MSTORE
00000ca0: PUSH1 0x24
00000ca2: DUP2
00000ca3: ADD
00000ca4: SWAP4
00000ca5: SWAP1
00000ca6: SWAP4
00000ca7: MSTORE
00000ca8: MLOAD
00000ca9: PUSH1 0x44
00000cab: DUP4
00000cac: DUP2
00000cad: ADD
00000cae: SWAP4
00000caf: PUSH1 0x20
00000cb1: SWAP4
00000cb2: POP
00000cb3: DUP3
00000cb4: SWAP1
00000cb5: SUB
00000cb6: ADD
00000cb7: DUP2
00000cb8: PUSH1 0x00
00000cba: DUP8
00000cbb: PUSH2 0x61da
00000cbe: GAS
00000cbf: SUB
00000cc0: CALL
00000cc1: ISZERO
00000cc2: PUSH2 0x0002
00000cc5: JUMPI
00000cc6: POP
00000cc7: POP
00000cc8: POP
00000cc9: JUMPDEST
00000cca: CALLER
00000ccb: PUSH1 0x01
00000ccd: PUSH1 0xa0
00000ccf: PUSH1 0x02
00000cd1: EXP
00000cd2: SUB
00000cd3: AND
00000cd4: PUSH1 0x00
00000cd6: DUP2
00000cd7: DUP2
00000cd8: MSTORE
00000cd9: PUSH1 0x13
00000cdb: PUSH1 0x20
00000cdd: MSTORE
00000cde: PUSH1 0x40
00000ce0: DUP1
00000ce1: DUP3
00000ce2: KECCAK256
00000ce3: SLOAD
00000ce4: SWAP1
00000ce5: MLOAD
00000ce6: SWAP1
00000ce7: SWAP2
00000ce8: DUP2
00000ce9: DUP2
00000cea: DUP2
00000ceb: DUP6
00000cec: DUP8
00000ced: PUSH2 0x8502
00000cf0: GAS
00000cf1: SUB
00000cf2: CALL
00000cf3: SWAP3
00000cf4: POP
00000cf5: POP
00000cf6: POP
00000cf7: ISZERO
00000cf8: PUSH2 0x0de3
00000cfb: JUMPI
00000cfc: CALLER
00000cfd: PUSH1 0x01
00000cff: PUSH1 0xa0
00000d01: PUSH1 0x02
00000d03: EXP
00000d04: SUB
00000d05: AND
00000d06: PUSH32 0xbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d
00000d27: PUSH1 0x13
00000d29: PUSH1 0x00
00000d2b: POP
00000d2c: PUSH1 0x00
00000d2e: CALLER
00000d2f: PUSH1 0x01
00000d31: PUSH1 0xa0
00000d33: PUSH1 0x02
00000d35: EXP
00000d36: SUB
00000d37: AND
00000d38: DUP2
00000d39: MSTORE
00000d3a: PUSH1 0x20
00000d3c: ADD
00000d3d: SWAP1
00000d3e: DUP2
00000d3f: MSTORE
00000d40: PUSH1 0x20
00000d42: ADD
00000d43: PUSH1 0x00
00000d45: KECCAK256
00000d46: PUSH1 0x00
00000d48: POP
00000d49: SLOAD
00000d4a: PUSH1 0x40
00000d4c: MLOAD
00000d4d: DUP1
00000d4e: DUP3
00000d4f: DUP2
00000d50: MSTORE
00000d51: PUSH1 0x20
00000d53: ADD
00000d54: SWAP2
00000d55: POP
00000d56: POP
00000d57: PUSH1 0x40
00000d59: MLOAD
00000d5a: DUP1
00000d5b: SWAP2
00000d5c: SUB
00000d5d: SWAP1
00000d5e: LOG2
00000d5f: PUSH1 0x14
00000d61: PUSH1 0x00
00000d63: POP
00000d64: PUSH1 0x00
00000d66: CALLER
00000d67: PUSH1 0x01
00000d69: PUSH1 0xa0
00000d6b: PUSH1 0x02
00000d6d: EXP
00000d6e: SUB
00000d6f: AND
00000d70: DUP2
00000d71: MSTORE
00000d72: PUSH1 0x20
00000d74: ADD
00000d75: SWAP1
00000d76: DUP2
00000d77: MSTORE
00000d78: PUSH1 0x20
00000d7a: ADD
00000d7b: PUSH1 0x00
00000d7d: KECCAK256
00000d7e: PUSH1 0x00
00000d80: POP
00000d81: SLOAD
00000d82: PUSH1 0x16
00000d84: PUSH1 0x00
00000d86: DUP3
00000d87: DUP3
00000d88: DUP3
00000d89: POP
00000d8a: SLOAD
00000d8b: SUB
00000d8c: SWAP3
00000d8d: POP
00000d8e: POP
00000d8f: DUP2
00000d90: SWAP1
00000d91: SSTORE
00000d92: POP
00000d93: PUSH1 0x00
00000d95: PUSH1 0x14
00000d97: PUSH1 0x00
00000d99: POP
00000d9a: PUSH1 0x00
00000d9c: CALLER
00000d9d: PUSH1 0x01
00000d9f: PUSH1 0xa0
00000da1: PUSH1 0x02
00000da3: EXP
00000da4: SUB
00000da5: AND
00000da6: DUP2
00000da7: MSTORE
00000da8: PUSH1 0x20
00000daa: ADD
00000dab: SWAP1
00000dac: DUP2
00000dad: MSTORE
00000dae: PUSH1 0x20
00000db0: ADD
00000db1: PUSH1 0x00
00000db3: KECCAK256
00000db4: PUSH1 0x00
00000db6: POP
00000db7: DUP2
00000db8: SWAP1
00000db9: SSTORE
00000dba: POP
00000dbb: PUSH1 0x00
00000dbd: PUSH1 0x13
00000dbf: PUSH1 0x00
00000dc1: POP
00000dc2: PUSH1 0x00
00000dc4: CALLER
00000dc5: PUSH1 0x01
00000dc7: PUSH1 0xa0
00000dc9: PUSH1 0x02
00000dcb: EXP
00000dcc: SUB
00000dcd: AND
00000dce: DUP2
00000dcf: MSTORE
00000dd0: PUSH1 0x20
00000dd2: ADD
00000dd3: SWAP1
00000dd4: DUP2
00000dd5: MSTORE
00000dd6: PUSH1 0x20
00000dd8: ADD
00000dd9: PUSH1 0x00
00000ddb: KECCAK256
00000ddc: PUSH1 0x00
00000dde: POP
00000ddf: DUP2
00000de0: SWAP1
00000de1: SSTORE
00000de2: POP
00000de3: JUMPDEST
00000de4: JUMP
00000de5: JUMPDEST
00000de6: TIMESTAMP
00000de7: PUSH3 0x054600
00000deb: PUSH1 0x0f
00000ded: PUSH1 0x00
00000def: POP
00000df0: SLOAD
00000df1: SUB
00000df2: GT
00000df3: ISZERO
00000df4: PUSH2 0x0e13
00000df7: JUMPI
00000df8: PUSH3 0x015180
00000dfc: PUSH3 0x127500
00000e00: PUSH1 0x0f
00000e02: PUSH1 0x00
00000e04: POP
00000e05: SLOAD
00000e06: SUB
00000e07: TIMESTAMP
00000e08: SUB
00000e09: DIV
00000e0a: PUSH1 0x14
00000e0c: ADD
00000e0d: SWAP1
00000e0e: POP
00000e0f: PUSH2 0x0983
00000e12: JUMP
00000e13: JUMPDEST
00000e14: POP
00000e15: PUSH1 0x1e
00000e17: PUSH2 0x0983
00000e1a: JUMP
00000e1b: JUMPDEST
00000e1c: PUSH1 0x00
00000e1e: EQ
00000e1f: ISZERO
00000e20: PUSH2 0x0e28
00000e23: JUMPI
00000e24: PUSH2 0x0002
00000e27: JUMP
00000e28: JUMPDEST
00000e29: PUSH1 0x00
00000e2b: CALLVALUE
00000e2c: GT
00000e2d: ISZERO
00000e2e: PUSH2 0x0e36
00000e31: JUMPI
00000e32: PUSH2 0x0002
00000e35: JUMP
00000e36: JUMPDEST
00000e37: PUSH1 0x00
00000e39: DUP1
00000e3a: SLOAD
00000e3b: DUP6
00000e3c: SWAP1
00000e3d: DUP2
00000e3e: LT
00000e3f: ISZERO
00000e40: PUSH2 0x0002
00000e43: JUMPI
00000e44: POP
00000e45: PUSH1 0x01
00000e47: PUSH1 0xa0
00000e49: PUSH1 0x02
00000e4b: EXP
00000e4c: SUB
00000e4d: CALLER
00000e4e: AND
00000e4f: DUP2
00000e50: MSTORE
00000e51: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56e
00000e72: PUSH1 0x0e
00000e74: DUP7
00000e75: MUL
00000e76: SWAP1
00000e77: DUP2
00000e78: ADD
00000e79: PUSH1 0x20
00000e7b: MSTORE
00000e7c: PUSH1 0x40
00000e7e: SWAP1
00000e7f: SWAP2
00000e80: KECCAK256
00000e81: SLOAD
00000e82: PUSH1 0x00
00000e84: DUP1
00000e85: MLOAD
00000e86: PUSH1 0x20
00000e88: PUSH2 0x2a36
00000e8b: DUP4
00000e8c: CODECOPY
00000e8d: DUP2
00000e8e: MLOAD
00000e8f: SWAP2
00000e90: MSTORE
00000e91: SWAP2
00000e92: SWAP1
00000e93: SWAP2
00000e94: ADD
00000e95: SWAP2
00000e96: POP
00000e97: PUSH1 0xff
00000e99: AND
00000e9a: DUP1
00000e9b: PUSH2 0x0eb0
00000e9e: JUMPI
00000e9f: POP
00000ea0: PUSH1 0x0c
00000ea2: DUP2
00000ea3: ADD
00000ea4: PUSH1 0x20
00000ea6: MSTORE
00000ea7: PUSH1 0x40
00000ea9: PUSH1 0x00
00000eab: KECCAK256
00000eac: SLOAD
00000ead: PUSH1 0xff
00000eaf: AND
00000eb0: JUMPDEST
00000eb1: DUP1
00000eb2: PUSH2 0x0ebf
00000eb5: JUMPI
00000eb6: POP
00000eb7: PUSH1 0x03
00000eb9: DUP2
00000eba: ADD
00000ebb: SLOAD
00000ebc: TIMESTAMP
00000ebd: LT
00000ebe: ISZERO
00000ebf: JUMPDEST
00000ec0: ISZERO
00000ec1: PUSH2 0x0ec9
00000ec4: JUMPI
00000ec5: PUSH2 0x0002
00000ec8: JUMP
00000ec9: JUMPDEST
00000eca: DUP3
00000ecb: ISZERO
00000ecc: PUSH2 0x0f0f
00000ecf: JUMPI
00000ed0: CALLER
00000ed1: PUSH1 0x01
00000ed3: PUSH1 0xa0
00000ed5: PUSH1 0x02
00000ed7: EXP
00000ed8: SUB
00000ed9: AND
00000eda: PUSH1 0x00
00000edc: SWAP1
00000edd: DUP2
00000ede: MSTORE
00000edf: PUSH1 0x14
00000ee1: PUSH1 0x20
00000ee3: SWAP1
00000ee4: DUP2
00000ee5: MSTORE
00000ee6: PUSH1 0x40
00000ee8: DUP1
00000ee9: DUP4
00000eea: KECCAK256
00000eeb: SLOAD
00000eec: PUSH1 0x09
00000eee: DUP6
00000eef: ADD
00000ef0: DUP1
00000ef1: SLOAD
00000ef2: SWAP1
00000ef3: SWAP2
00000ef4: ADD
00000ef5: SWAP1
00000ef6: SSTORE
00000ef7: PUSH1 0x0b
00000ef9: DUP5
00000efa: ADD
00000efb: SWAP1
00000efc: SWAP2
00000efd: MSTORE
00000efe: SWAP1
00000eff: KECCAK256
00000f00: DUP1
00000f01: SLOAD
00000f02: PUSH1 0xff
00000f04: NOT
00000f05: AND
00000f06: PUSH1 0x01
00000f08: OR
00000f09: SWAP1
00000f0a: SSTORE
00000f0b: PUSH2 0x0f4b
00000f0e: JUMP
00000f0f: JUMPDEST
00000f10: CALLER
00000f11: PUSH1 0x01
00000f13: PUSH1 0xa0
00000f15: PUSH1 0x02
00000f17: EXP
00000f18: SUB
00000f19: AND
00000f1a: PUSH1 0x00
00000f1c: SWAP1
00000f1d: DUP2
00000f1e: MSTORE
00000f1f: PUSH1 0x14
00000f21: PUSH1 0x20
00000f23: SWAP1
00000f24: DUP2
00000f25: MSTORE
00000f26: PUSH1 0x40
00000f28: DUP1
00000f29: DUP4
00000f2a: KECCAK256
00000f2b: SLOAD
00000f2c: PUSH1 0x0a
00000f2e: DUP6
00000f2f: ADD
00000f30: DUP1
00000f31: SLOAD
00000f32: SWAP1
00000f33: SWAP2
00000f34: ADD
00000f35: SWAP1
00000f36: SSTORE
00000f37: PUSH1 0x0c
00000f39: DUP5
00000f3a: ADD
00000f3b: SWAP1
00000f3c: SWAP2
00000f3d: MSTORE
00000f3e: SWAP1
00000f3f: KECCAK256
00000f40: DUP1
00000f41: SLOAD
00000f42: PUSH1 0xff
00000f44: NOT
00000f45: AND
00000f46: PUSH1 0x01
00000f48: OR
00000f49: SWAP1
00000f4a: SSTORE
00000f4b: JUMPDEST
00000f4c: CALLER
00000f4d: PUSH1 0x01
00000f4f: PUSH1 0xa0
00000f51: PUSH1 0x02
00000f53: EXP
00000f54: SUB
00000f55: AND
00000f56: PUSH1 0x00
00000f58: SWAP1
00000f59: DUP2
00000f5a: MSTORE
00000f5b: PUSH1 0x0b
00000f5d: PUSH1 0x20
00000f5f: MSTORE
00000f60: PUSH1 0x40
00000f62: DUP2
00000f63: KECCAK256
00000f64: SLOAD
00000f65: EQ
00000f66: ISZERO
00000f67: PUSH2 0x0f77
00000f6a: JUMPI
00000f6b: PUSH1 0x40
00000f6d: PUSH1 0x00
00000f6f: KECCAK256
00000f70: DUP5
00000f71: SWAP1
00000f72: SSTORE
00000f73: PUSH2 0x0feb
00000f76: JUMP
00000f77: JUMPDEST
00000f78: CALLER
00000f79: PUSH1 0x01
00000f7b: PUSH1 0xa0
00000f7d: PUSH1 0x02
00000f7f: EXP
00000f80: SUB
00000f81: AND
00000f82: PUSH1 0x00
00000f84: SWAP1
00000f85: DUP2
00000f86: MSTORE
00000f87: PUSH1 0x0b
00000f89: PUSH1 0x20
00000f8b: MSTORE
00000f8c: PUSH1 0x40
00000f8e: DUP2
00000f8f: KECCAK256
00000f90: SLOAD
00000f91: DUP2
00000f92: SLOAD
00000f93: DUP2
00000f94: LT
00000f95: ISZERO
00000f96: PUSH2 0x0002
00000f99: JUMPI
00000f9a: SWAP1
00000f9b: DUP1
00000f9c: MSTORE
00000f9d: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566
00000fbe: PUSH1 0x0e
00000fc0: SWAP1
00000fc1: SWAP2
00000fc2: MUL
00000fc3: ADD
00000fc4: SLOAD
00000fc5: PUSH1 0x03
00000fc7: DUP3
00000fc8: ADD
00000fc9: SLOAD
00000fca: GT
00000fcb: ISZERO
00000fcc: PUSH2 0x0feb
00000fcf: JUMPI
00000fd0: CALLER
00000fd1: PUSH1 0x01
00000fd3: PUSH1 0xa0
00000fd5: PUSH1 0x02
00000fd7: EXP
00000fd8: SUB
00000fd9: AND
00000fda: PUSH1 0x00
00000fdc: SWAP1
00000fdd: DUP2
00000fde: MSTORE
00000fdf: PUSH1 0x0b
00000fe1: PUSH1 0x20
00000fe3: MSTORE
00000fe4: PUSH1 0x40
00000fe6: SWAP1
00000fe7: KECCAK256
00000fe8: DUP5
00000fe9: SWAP1
00000fea: SSTORE
00000feb: JUMPDEST
00000fec: PUSH1 0x40
00000fee: DUP1
00000fef: MLOAD
00000ff0: DUP5
00000ff1: DUP2
00000ff2: MSTORE
00000ff3: SWAP1
00000ff4: MLOAD
00000ff5: CALLER
00000ff6: PUSH1 0x01
00000ff8: PUSH1 0xa0
00000ffa: PUSH1 0x02
00000ffc: EXP
00000ffd: SUB
00000ffe: AND
00000fff: SWAP2
00001000: DUP7
00001001: SWAP2
00001002: PUSH32 0x86abfce99b7dd908bec0169288797f85049ec73cbe046ed9de818fab3a497ae0
00001023: SWAP2
00001024: DUP2
00001025: SWAP1
00001026: SUB
00001027: PUSH1 0x20
00001029: ADD
0000102a: SWAP1
0000102b: LOG3
0000102c: POP
0000102d: SWAP3
0000102e: SWAP2
0000102f: POP
00001030: POP
00001031: JUMP
00001032: JUMPDEST
00001033: PUSH1 0x00
00001035: DUP1
00001036: SLOAD
00001037: DUP8
00001038: SWAP1
00001039: DUP2
0000103a: LT
0000103b: ISZERO
0000103c: PUSH2 0x0002
0000103f: JUMPI
00001040: POP
00001041: DUP1
00001042: DUP1
00001043: MSTORE
00001044: PUSH1 0x0e
00001046: DUP8
00001047: MUL
00001048: PUSH1 0x00
0000104a: DUP1
0000104b: MLOAD
0000104c: PUSH1 0x20
0000104e: PUSH2 0x2a36
00001051: DUP4
00001052: CODECOPY
00001053: DUP2
00001054: MLOAD
00001055: SWAP2
00001056: MSTORE
00001057: ADD
00001058: SWAP1
00001059: POP
0000105a: SWAP1
0000105b: POP
0000105c: DUP5
0000105d: DUP5
0000105e: DUP5
0000105f: PUSH1 0x40
00001061: MLOAD
00001062: DUP1
00001063: DUP5
00001064: PUSH1 0x01
00001066: PUSH1 0xa0
00001068: PUSH1 0x02
0000106a: EXP
0000106b: SUB
0000106c: AND
0000106d: PUSH1 0x60
0000106f: PUSH1 0x02
00001071: EXP
00001072: MUL
00001073: DUP2
00001074: MSTORE
00001075: PUSH1 0x14
00001077: ADD
00001078: DUP4
00001079: DUP2
0000107a: MSTORE
0000107b: PUSH1 0x20
0000107d: ADD
0000107e: DUP3
0000107f: DUP1
00001080: MLOAD
00001081: SWAP1
00001082: PUSH1 0x20
00001084: ADD
00001085: SWAP1
00001086: DUP1
00001087: DUP4
00001088: DUP4
00001089: DUP3
0000108a: SWAP1
0000108b: PUSH1 0x00
0000108d: PUSH1 0x04
0000108f: PUSH1 0x20
00001091: DUP5
00001092: PUSH1 0x1f
00001094: ADD
00001095: DIV
00001096: PUSH1 0x0f
00001098: MUL
00001099: PUSH1 0x03
0000109b: ADD
0000109c: CALL
0000109d: POP
0000109e: SWAP1
0000109f: POP
000010a0: ADD
000010a1: SWAP4
000010a2: POP
000010a3: POP
000010a4: POP
000010a5: POP
000010a6: PUSH1 0x40
000010a8: MLOAD
000010a9: DUP1
000010aa: SWAP2
000010ab: SUB
000010ac: SWAP1
000010ad: KECCAK256
000010ae: DUP2
000010af: PUSH1 0x05
000010b1: ADD
000010b2: PUSH1 0x00
000010b4: POP
000010b5: SLOAD
000010b6: EQ
000010b7: SWAP2
000010b8: POP
000010b9: POP
000010ba: SWAP5
000010bb: SWAP4
000010bc: POP
000010bd: POP
000010be: POP
000010bf: POP
000010c0: JUMP
000010c1: JUMPDEST
000010c2: PUSH1 0x00
000010c4: EQ
000010c5: ISZERO
000010c6: PUSH2 0x10ce
000010c9: JUMPI
000010ca: PUSH2 0x0002
000010cd: JUMP
000010ce: JUMPDEST
000010cf: DUP3
000010d0: DUP1
000010d1: ISZERO
000010d2: PUSH2 0x1118
000010d5: JUMPI
000010d6: POP
000010d7: DUP7
000010d8: PUSH1 0x00
000010da: EQ
000010db: ISZERO
000010dc: DUP1
000010dd: PUSH2 0x10e8
000010e0: JUMPI
000010e1: POP
000010e2: DUP5
000010e3: MLOAD
000010e4: PUSH1 0x00
000010e6: EQ
000010e7: ISZERO
000010e8: JUMPDEST
000010e9: DUP1
000010ea: PUSH2 0x1100
000010ed: JUMPI
000010ee: POP
000010ef: PUSH1 0x03
000010f1: SLOAD
000010f2: PUSH1 0x01
000010f4: PUSH1 0xa0
000010f6: PUSH1 0x02
000010f8: EXP
000010f9: SUB
000010fa: DUP10
000010fb: DUP2
000010fc: AND
000010fd: SWAP2
000010fe: AND
000010ff: EQ
00001100: JUMPDEST
00001101: DUP1
00001102: PUSH2 0x110b
00001105: JUMPI
00001106: POP
00001107: PUSH1 0x00
00001109: CALLVALUE
0000110a: GT
0000110b: JUMPDEST
0000110c: DUP1
0000110d: PUSH2 0x1118
00001110: JUMPI
00001111: POP
00001112: PUSH3 0x093a80
00001116: DUP5
00001117: LT
00001118: JUMPDEST
00001119: ISZERO
0000111a: PUSH2 0x1122
0000111d: JUMPI
0000111e: PUSH2 0x0002
00001121: JUMP
00001122: JUMPDEST
00001123: DUP3
00001124: ISZERO
00001125: DUP1
00001126: ISZERO
00001127: PUSH2 0x1142
0000112a: JUMPI
0000112b: POP
0000112c: PUSH2 0x1134
0000112f: DUP9
00001130: PUSH2 0x115c
00001133: JUMP
00001134: JUMPDEST
00001135: ISZERO
00001136: DUP1
00001137: PUSH2 0x1142
0000113a: JUMPI
0000113b: POP
0000113c: PUSH3 0x127500
00001140: DUP5
00001141: LT
00001142: JUMPDEST
00001143: ISZERO
00001144: PUSH2 0x11fe
00001147: JUMPI
00001148: PUSH2 0x0002
0000114b: JUMP
0000114c: JUMPDEST
0000114d: DUP4
0000114e: SLOAD
0000114f: PUSH2 0x18e5
00001152: SWAP1
00001153: PUSH1 0x01
00001155: PUSH1 0xa0
00001157: PUSH1 0x02
00001159: EXP
0000115a: SUB
0000115b: AND
0000115c: JUMPDEST
0000115d: PUSH1 0x01
0000115f: PUSH1 0xa0
00001161: PUSH1 0x02
00001163: EXP
00001164: SUB
00001165: DUP2
00001166: AND
00001167: PUSH1 0x00
00001169: SWAP1
0000116a: DUP2
0000116b: MSTORE
0000116c: PUSH1 0x04
0000116e: PUSH1 0x20
00001170: MSTORE
00001171: PUSH1 0x40
00001173: DUP2
00001174: KECCAK256
00001175: SLOAD
00001176: PUSH1 0xff
00001178: AND
00001179: DUP1
0000117a: PUSH2 0x11f1
0000117d: JUMPI
0000117e: POP
0000117f: PUSH1 0x12
00001181: SLOAD
00001182: PUSH1 0x01
00001184: PUSH1 0xa0
00001186: PUSH1 0x02
00001188: EXP
00001189: SUB
0000118a: SWAP1
0000118b: DUP2
0000118c: AND
0000118d: SWAP1
0000118e: DUP4
0000118f: AND
00001190: EQ
00001191: DUP1
00001192: ISZERO
00001193: PUSH2 0x11f1
00001196: JUMPI
00001197: POP
00001198: PUSH1 0x12
0000119a: PUSH1 0x00
0000119c: SWAP1
0000119d: SLOAD
0000119e: SWAP1
0000119f: PUSH2 0x0100
000011a2: EXP
000011a3: SWAP1
000011a4: DIV
000011a5: PUSH1 0x01
000011a7: PUSH1 0xa0
000011a9: PUSH1 0x02
000011ab: EXP
000011ac: SUB
000011ad: AND
000011ae: PUSH1 0x01
000011b0: PUSH1 0xa0
000011b2: PUSH1 0x02
000011b4: EXP
000011b5: SUB
000011b6: AND
000011b7: PUSH4 0xd2cc718f
000011bc: PUSH1 0x40
000011be: MLOAD
000011bf: DUP2
000011c0: PUSH1 0xe0
000011c2: PUSH1 0x02
000011c4: EXP
000011c5: MUL
000011c6: DUP2
000011c7: MSTORE
000011c8: PUSH1 0x04
000011ca: ADD
000011cb: DUP1
000011cc: SWAP1
000011cd: POP
000011ce: PUSH1 0x20
000011d0: PUSH1 0x40
000011d2: MLOAD
000011d3: DUP1
000011d4: DUP4
000011d5: SUB
000011d6: DUP2
000011d7: PUSH1 0x00
000011d9: DUP8
000011da: PUSH2 0x61da
000011dd: GAS
000011de: SUB
000011df: CALL
000011e0: ISZERO
000011e1: PUSH2 0x0002
000011e4: JUMPI
000011e5: POP
000011e6: POP
000011e7: PUSH1 0x40
000011e9: MLOAD
000011ea: MLOAD
000011eb: PUSH1 0x06
000011ed: SLOAD
000011ee: GT
000011ef: SWAP1
000011f0: POP
000011f1: JUMPDEST
000011f2: ISZERO
000011f3: PUSH2 0x29a1
000011f6: JUMPI
000011f7: POP
000011f8: PUSH1 0x01
000011fa: PUSH2 0x0606
000011fd: JUMP
000011fe: JUMPDEST
000011ff: PUSH3 0x49d400
00001203: DUP5
00001204: GT
00001205: ISZERO
00001206: PUSH2 0x120e
00001209: JUMPI
0000120a: PUSH2 0x0002
0000120d: JUMP
0000120e: JUMPDEST
0000120f: PUSH1 0x11
00001211: SLOAD
00001212: PUSH1 0xff
00001214: AND
00001215: ISZERO
00001216: DUP1
00001217: PUSH2 0x1221
0000121a: JUMPI
0000121b: POP
0000121c: PUSH1 0x0f
0000121e: SLOAD
0000121f: TIMESTAMP
00001220: LT
00001221: JUMPDEST
00001222: DUP1
00001223: PUSH2 0x1236
00001226: JUMPI
00001227: POP
00001228: PUSH1 0x0c
0000122a: SLOAD
0000122b: CALLVALUE
0000122c: LT
0000122d: DUP1
0000122e: ISZERO
0000122f: PUSH2 0x1236
00001232: JUMPI
00001233: POP
00001234: DUP3
00001235: ISZERO
00001236: JUMPDEST
00001237: ISZERO
00001238: PUSH2 0x1240
0000123b: JUMPI
0000123c: PUSH2 0x0002
0000123f: JUMP
00001240: JUMPDEST
00001241: TIMESTAMP
00001242: DUP5
00001243: TIMESTAMP
00001244: ADD
00001245: LT
00001246: ISZERO
00001247: PUSH2 0x124f
0000124a: JUMPI
0000124b: PUSH2 0x0002
0000124e: JUMP
0000124f: JUMPDEST
00001250: ADDRESS
00001251: PUSH1 0x01
00001253: PUSH1 0xa0
00001255: PUSH1 0x02
00001257: EXP
00001258: SUB
00001259: AND
0000125a: CALLER
0000125b: PUSH1 0x01
0000125d: PUSH1 0xa0
0000125f: PUSH1 0x02
00001261: EXP
00001262: SUB
00001263: AND
00001264: EQ
00001265: ISZERO
00001266: PUSH2 0x126e
00001269: JUMPI
0000126a: PUSH2 0x0002
0000126d: JUMP
0000126e: JUMPDEST
0000126f: PUSH1 0x00
00001271: DUP1
00001272: SLOAD
00001273: PUSH1 0x01
00001275: DUP2
00001276: ADD
00001277: DUP1
00001278: DUP4
00001279: SSTORE
0000127a: SWAP1
0000127b: SWAP2
0000127c: SWAP1
0000127d: DUP3
0000127e: DUP1
0000127f: ISZERO
00001280: DUP3
00001281: SWAP1
00001282: GT
00001283: PUSH2 0x12a5
00001286: JUMPI
00001287: PUSH1 0x0e
00001289: MUL
0000128a: DUP2
0000128b: PUSH1 0x0e
0000128d: MUL
0000128e: DUP4
0000128f: PUSH1 0x00
00001291: MSTORE
00001292: PUSH1 0x20
00001294: PUSH1 0x00
00001296: KECCAK256
00001297: SWAP2
00001298: DUP3
00001299: ADD
0000129a: SWAP2
0000129b: ADD
0000129c: PUSH2 0x12a5
0000129f: SWAP2
000012a0: SWAP1
000012a1: PUSH2 0x136a
000012a4: JUMP
000012a5: JUMPDEST
000012a6: POP
000012a7: POP
000012a8: PUSH1 0x00
000012aa: DUP1
000012ab: SLOAD
000012ac: SWAP3
000012ad: SWAP5
000012ae: POP
000012af: SWAP2
000012b0: DUP5
000012b1: SWAP2
000012b2: POP
000012b3: DUP2
000012b4: LT
000012b5: ISZERO
000012b6: PUSH2 0x0002
000012b9: JUMPI
000012ba: POP
000012bb: DUP1
000012bc: DUP1
000012bd: MSTORE
000012be: PUSH1 0x0e
000012c0: DUP4
000012c1: MUL
000012c2: PUSH1 0x00
000012c4: DUP1
000012c5: MLOAD
000012c6: PUSH1 0x20
000012c8: PUSH2 0x2a36
000012cb: DUP4
000012cc: CODECOPY
000012cd: DUP2
000012ce: MLOAD
000012cf: SWAP2
000012d0: MSTORE
000012d1: ADD
000012d2: SWAP1
000012d3: POP
000012d4: DUP1
000012d5: SLOAD
000012d6: PUSH1 0x01
000012d8: PUSH1 0xa0
000012da: PUSH1 0x02
000012dc: EXP
000012dd: SUB
000012de: NOT
000012df: AND
000012e0: DUP10
000012e1: OR
000012e2: DUP2
000012e3: SSTORE
000012e4: PUSH1 0x01
000012e6: DUP2
000012e7: DUP2
000012e8: ADD
000012e9: DUP10
000012ea: SWAP1
000012eb: SSTORE
000012ec: DUP8
000012ed: MLOAD
000012ee: PUSH1 0x02
000012f0: DUP1
000012f1: DUP5
000012f2: ADD
000012f3: DUP1
000012f4: SLOAD
000012f5: PUSH1 0x00
000012f7: DUP3
000012f8: DUP2
000012f9: MSTORE
000012fa: PUSH1 0x20
000012fc: SWAP1
000012fd: DUP2
000012fe: SWAP1
000012ff: KECCAK256
00001300: SWAP7
00001301: SWAP8
00001302: POP
00001303: SWAP2
00001304: SWAP6
00001305: SWAP5
00001306: DUP2
00001307: AND
00001308: ISZERO
00001309: PUSH2 0x0100
0000130c: MUL
0000130d: PUSH1 0x00
0000130f: NOT
00001310: ADD
00001311: AND
00001312: SWAP2
00001313: SWAP1
00001314: SWAP2
00001315: DIV
00001316: PUSH1 0x1f
00001318: SWAP1
00001319: DUP2
0000131a: ADD
0000131b: DUP3
0000131c: SWAP1
0000131d: DIV
0000131e: DUP5
0000131f: ADD
00001320: SWAP4
00001321: SWAP2
00001322: DUP12
00001323: ADD
00001324: SWAP1
00001325: DUP4
00001326: SWAP1
00001327: LT
00001328: PUSH2 0x1462
0000132b: JUMPI
0000132c: DUP1
0000132d: MLOAD
0000132e: PUSH1 0xff
00001330: NOT
00001331: AND
00001332: DUP4
00001333: DUP1
00001334: ADD
00001335: OR
00001336: DUP6
00001337: SSTORE
00001338: JUMPDEST
00001339: POP
0000133a: PUSH2 0x1492
0000133d: SWAP3
0000133e: SWAP2
0000133f: POP
00001340: PUSH2 0x144a
00001343: JUMP
00001344: JUMPDEST
00001345: POP
00001346: POP
00001347: PUSH1 0x00
00001349: PUSH1 0x09
0000134b: DUP3
0000134c: ADD
0000134d: DUP2
0000134e: SWAP1
0000134f: SSTORE
00001350: PUSH1 0x0a
00001352: DUP3
00001353: ADD
00001354: SSTORE
00001355: PUSH1 0x0d
00001357: DUP2
00001358: ADD
00001359: DUP1
0000135a: SLOAD
0000135b: PUSH1 0x01
0000135d: PUSH1 0xa0
0000135f: PUSH1 0x02
00001361: EXP
00001362: SUB
00001363: NOT
00001364: AND
00001365: SWAP1
00001366: SSTORE
00001367: PUSH1 0x01
00001369: ADD
0000136a: JUMPDEST
0000136b: DUP1
0000136c: DUP3
0000136d: GT
0000136e: ISZERO
0000136f: PUSH2 0x145e
00001372: JUMPI
00001373: DUP1
00001374: SLOAD
00001375: PUSH1 0x01
00001377: PUSH1 0xa0
00001379: PUSH1 0x02
0000137b: EXP
0000137c: SUB
0000137d: NOT
0000137e: AND
0000137f: DUP2
00001380: SSTORE
00001381: PUSH1 0x00
00001383: PUSH1 0x01
00001385: DUP3
00001386: DUP2
00001387: ADD
00001388: DUP3
00001389: SWAP1
0000138a: SSTORE
0000138b: PUSH1 0x02
0000138d: DUP1
0000138e: DUP5
0000138f: ADD
00001390: DUP1
00001391: SLOAD
00001392: DUP5
00001393: DUP3
00001394: SSTORE
00001395: SWAP1
00001396: SWAP3
00001397: DUP2
00001398: AND
00001399: ISZERO
0000139a: PUSH2 0x0100
0000139d: MUL
0000139e: PUSH1 0x00
000013a0: NOT
000013a1: ADD
000013a2: AND
000013a3: DIV
000013a4: PUSH1 0x1f
000013a6: DUP2
000013a7: SWAP1
000013a8: LT
000013a9: PUSH2 0x1430
000013ac: JUMPI
000013ad: POP
000013ae: JUMPDEST
000013af: POP
000013b0: PUSH1 0x00
000013b2: PUSH1 0x03
000013b4: DUP4
000013b5: ADD
000013b6: DUP2
000013b7: SWAP1
000013b8: SSTORE
000013b9: PUSH1 0x04
000013bb: DUP1
000013bc: DUP5
000013bd: ADD
000013be: DUP1
000013bf: SLOAD
000013c0: PUSH2 0xffff
000013c3: NOT
000013c4: AND
000013c5: SWAP1
000013c6: SSTORE
000013c7: PUSH1 0x05
000013c9: DUP5
000013ca: ADD
000013cb: DUP3
000013cc: SWAP1
000013cd: SSTORE
000013ce: PUSH1 0x06
000013d0: DUP5
000013d1: ADD
000013d2: DUP3
000013d3: SWAP1
000013d4: SSTORE
000013d5: PUSH1 0x07
000013d7: DUP5
000013d8: ADD
000013d9: DUP1
000013da: SLOAD
000013db: PUSH1 0xff
000013dd: NOT
000013de: AND
000013df: SWAP1
000013e0: SSTORE
000013e1: PUSH1 0x08
000013e3: DUP5
000013e4: ADD
000013e5: DUP1
000013e6: SLOAD
000013e7: DUP4
000013e8: DUP3
000013e9: SSTORE
000013ea: SWAP1
000013eb: DUP4
000013ec: MSTORE
000013ed: PUSH1 0x20
000013ef: SWAP1
000013f0: SWAP3
000013f1: KECCAK256
000013f2: PUSH2 0x1344
000013f5: SWAP3
000013f6: SWAP1
000013f7: SWAP2
000013f8: MUL
000013f9: DUP2
000013fa: ADD
000013fb: SWAP1
000013fc: JUMPDEST
000013fd: DUP1
000013fe: DUP3
000013ff: GT
00001400: ISZERO
00001401: PUSH2 0x145e
00001404: JUMPI
00001405: PUSH1 0x00
00001407: DUP1
00001408: DUP3
00001409: SSTORE
0000140a: PUSH1 0x01
0000140c: DUP3
0000140d: ADD
0000140e: DUP2
0000140f: DUP2
00001410: SSTORE
00001411: PUSH1 0x02
00001413: DUP4
00001414: ADD
00001415: SWAP2
00001416: SWAP1
00001417: SWAP2
00001418: SSTORE
00001419: PUSH1 0x03
0000141b: SWAP1
0000141c: SWAP2
0000141d: ADD
0000141e: DUP1
0000141f: SLOAD
00001420: PUSH1 0x01
00001422: PUSH1 0xa0
00001424: PUSH1 0x02
00001426: EXP
00001427: SUB
00001428: NOT
00001429: AND
0000142a: SWAP1
0000142b: SSTORE
0000142c: PUSH2 0x13fc
0000142f: JUMP
00001430: JUMPDEST
00001431: PUSH1 0x1f
00001433: ADD
00001434: PUSH1 0x20
00001436: SWAP1
00001437: DIV
00001438: SWAP1
00001439: PUSH1 0x00
0000143b: MSTORE
0000143c: PUSH1 0x20
0000143e: PUSH1 0x00
00001440: KECCAK256
00001441: SWAP1
00001442: DUP2
00001443: ADD
00001444: SWAP1
00001445: PUSH2 0x13ae
00001448: SWAP2
00001449: SWAP1
0000144a: JUMPDEST
0000144b: DUP1
0000144c: DUP3
0000144d: GT
0000144e: ISZERO
0000144f: PUSH2 0x145e
00001452: JUMPI
00001453: PUSH1 0x00
00001455: DUP2
00001456: SSTORE
00001457: PUSH1 0x01
00001459: ADD
0000145a: PUSH2 0x144a
0000145d: JUMP
0000145e: JUMPDEST
0000145f: POP
00001460: SWAP1
00001461: JUMP
00001462: JUMPDEST
00001463: DUP3
00001464: DUP1
00001465: ADD
00001466: PUSH1 0x01
00001468: ADD
00001469: DUP6
0000146a: SSTORE
0000146b: DUP3
0000146c: ISZERO
0000146d: PUSH2 0x1338
00001470: JUMPI
00001471: SWAP2
00001472: DUP3
00001473: ADD
00001474: JUMPDEST
00001475: DUP3
00001476: DUP2
00001477: GT
00001478: ISZERO
00001479: PUSH2 0x1338
0000147c: JUMPI
0000147d: DUP3
0000147e: MLOAD
0000147f: DUP3
00001480: PUSH1 0x00
00001482: POP
00001483: SSTORE
00001484: SWAP2
00001485: PUSH1 0x20
00001487: ADD
00001488: SWAP2
00001489: SWAP1
0000148a: PUSH1 0x01
0000148c: ADD
0000148d: SWAP1
0000148e: PUSH2 0x1474
00001491: JUMP
00001492: JUMPDEST
00001493: POP
00001494: POP
00001495: DUP8
00001496: DUP8
00001497: DUP7
00001498: PUSH1 0x40
0000149a: MLOAD
0000149b: DUP1
0000149c: DUP5
0000149d: PUSH1 0x01
0000149f: PUSH1 0xa0
000014a1: PUSH1 0x02
000014a3: EXP
000014a4: SUB
000014a5: AND
000014a6: PUSH1 0x60
000014a8: PUSH1 0x02
000014aa: EXP
000014ab: MUL
000014ac: DUP2
000014ad: MSTORE
000014ae: PUSH1 0x14
000014b0: ADD
000014b1: DUP4
000014b2: DUP2
000014b3: MSTORE
000014b4: PUSH1 0x20
000014b6: ADD
000014b7: DUP3
000014b8: DUP1
000014b9: MLOAD
000014ba: SWAP1
000014bb: PUSH1 0x20
000014bd: ADD
000014be: SWAP1
000014bf: DUP1
000014c0: DUP4
000014c1: DUP4
000014c2: DUP3
000014c3: SWAP1
000014c4: PUSH1 0x00
000014c6: PUSH1 0x04
000014c8: PUSH1 0x20
000014ca: DUP5
000014cb: PUSH1 0x1f
000014cd: ADD
000014ce: DIV
000014cf: PUSH1 0x0f
000014d1: MUL
000014d2: PUSH1 0x03
000014d4: ADD
000014d5: CALL
000014d6: POP
000014d7: SWAP1
000014d8: POP
000014d9: ADD
000014da: SWAP4
000014db: POP
000014dc: POP
000014dd: POP
000014de: POP
000014df: PUSH1 0x40
000014e1: MLOAD
000014e2: DUP1
000014e3: SWAP2
000014e4: SUB
000014e5: SWAP1
000014e6: KECCAK256
000014e7: DUP2
000014e8: PUSH1 0x05
000014ea: ADD
000014eb: PUSH1 0x00
000014ed: POP
000014ee: DUP2
000014ef: SWAP1
000014f0: SSTORE
000014f1: POP
000014f2: DUP4
000014f3: TIMESTAMP
000014f4: ADD
000014f5: DUP2
000014f6: PUSH1 0x03
000014f8: ADD
000014f9: PUSH1 0x00
000014fb: POP
000014fc: DUP2
000014fd: SWAP1
000014fe: SSTORE
000014ff: POP
00001500: PUSH1 0x01
00001502: DUP2
00001503: PUSH1 0x04
00001505: ADD
00001506: PUSH1 0x00
00001508: PUSH2 0x0100
0000150b: EXP
0000150c: DUP2
0000150d: SLOAD
0000150e: DUP2
0000150f: PUSH1 0xff
00001511: MUL
00001512: NOT
00001513: AND
00001514: SWAP1
00001515: DUP4
00001516: MUL
00001517: OR
00001518: SWAP1
00001519: SSTORE
0000151a: POP
0000151b: DUP3
0000151c: DUP2
0000151d: PUSH1 0x07
0000151f: ADD
00001520: PUSH1 0x00
00001522: PUSH2 0x0100
00001525: EXP
00001526: DUP2
00001527: SLOAD
00001528: DUP2
00001529: PUSH1 0xff
0000152b: MUL
0000152c: NOT
0000152d: AND
0000152e: SWAP1
0000152f: DUP4
00001530: MUL
00001531: OR
00001532: SWAP1
00001533: SSTORE
00001534: POP
00001535: DUP3
00001536: ISZERO
00001537: PUSH2 0x1578
0000153a: JUMPI
0000153b: PUSH1 0x08
0000153d: DUP2
0000153e: ADD
0000153f: DUP1
00001540: SLOAD
00001541: PUSH1 0x01
00001543: DUP2
00001544: ADD
00001545: DUP1
00001546: DUP4
00001547: SSTORE
00001548: SWAP1
00001549: SWAP2
0000154a: SWAP1
0000154b: DUP3
0000154c: DUP1
0000154d: ISZERO
0000154e: DUP3
0000154f: SWAP1
00001550: GT
00001551: PUSH2 0x1573
00001554: JUMPI
00001555: PUSH1 0x04
00001557: MUL
00001558: DUP2
00001559: PUSH1 0x04
0000155b: MUL
0000155c: DUP4
0000155d: PUSH1 0x00
0000155f: MSTORE
00001560: PUSH1 0x20
00001562: PUSH1 0x00
00001564: KECCAK256
00001565: SWAP2
00001566: DUP3
00001567: ADD
00001568: SWAP2
00001569: ADD
0000156a: PUSH2 0x1573
0000156d: SWAP2
0000156e: SWAP1
0000156f: PUSH2 0x13fc
00001572: JUMP
00001573: JUMPDEST
00001574: POP
00001575: POP
00001576: POP
00001577: POP
00001578: JUMPDEST
00001579: PUSH1 0x0d
0000157b: DUP1
0000157c: DUP3
0000157d: ADD
0000157e: DUP1
0000157f: SLOAD
00001580: PUSH1 0x01
00001582: PUSH1 0xa0
00001584: PUSH1 0x02
00001586: EXP
00001587: SUB
00001588: NOT
00001589: AND
0000158a: CALLER
0000158b: OR
0000158c: SWAP1
0000158d: SSTORE
0000158e: CALLVALUE
0000158f: PUSH1 0x06
00001591: DUP4
00001592: ADD
00001593: DUP2
00001594: SWAP1
00001595: SSTORE
00001596: DUP2
00001597: SLOAD
00001598: ADD
00001599: SWAP1
0000159a: SSTORE
0000159b: PUSH1 0x40
0000159d: DUP1
0000159e: MLOAD
0000159f: PUSH1 0x01
000015a1: PUSH1 0xa0
000015a3: PUSH1 0x02
000015a5: EXP
000015a6: SUB
000015a7: DUP11
000015a8: AND
000015a9: DUP2
000015aa: MSTORE
000015ab: PUSH1 0x20
000015ad: DUP2
000015ae: DUP2
000015af: ADD
000015b0: DUP11
000015b1: SWAP1
000015b2: MSTORE
000015b3: SWAP2
000015b4: DUP2
000015b5: ADD
000015b6: DUP6
000015b7: SWAP1
000015b8: MSTORE
000015b9: PUSH1 0x80
000015bb: PUSH1 0x60
000015bd: DUP3
000015be: ADD
000015bf: DUP2
000015c0: DUP2
000015c1: MSTORE
000015c2: DUP10
000015c3: MLOAD
000015c4: SWAP2
000015c5: DUP4
000015c6: ADD
000015c7: SWAP2
000015c8: SWAP1
000015c9: SWAP2
000015ca: MSTORE
000015cb: DUP9
000015cc: MLOAD
000015cd: DUP6
000015ce: SWAP4
000015cf: PUSH32 0x5790de2c279e58269b93b12828f56fd5f2bc8ad15e61ce08572585c81a38756f
000015f0: SWAP4
000015f1: DUP14
000015f2: SWAP4
000015f3: DUP14
000015f4: SWAP4
000015f5: DUP11
000015f6: SWAP4
000015f7: DUP15
000015f8: SWAP4
000015f9: SWAP3
000015fa: SWAP2
000015fb: PUSH1 0xa0
000015fd: DUP5
000015fe: ADD
000015ff: SWAP2
00001600: DUP6
00001601: DUP2
00001602: ADD
00001603: SWAP2
00001604: SWAP1
00001605: DUP2
00001606: SWAP1
00001607: DUP5
00001608: SWAP1
00001609: DUP3
0000160a: SWAP1
0000160b: DUP6
0000160c: SWAP1
0000160d: PUSH1 0x00
0000160f: SWAP1
00001610: PUSH1 0x04
00001612: SWAP1
00001613: PUSH1 0x1f
00001615: DUP6
00001616: ADD
00001617: DIV
00001618: PUSH1 0x0f
0000161a: MUL
0000161b: PUSH1 0x03
0000161d: ADD
0000161e: CALL
0000161f: POP
00001620: SWAP1
00001621: POP
00001622: SWAP1
00001623: DUP2
00001624: ADD
00001625: SWAP1
00001626: PUSH1 0x1f
00001628: AND
00001629: DUP1
0000162a: ISZERO
0000162b: PUSH2 0x1648
0000162e: JUMPI
0000162f: DUP1
00001630: DUP3
00001631: SUB
00001632: DUP1
00001633: MLOAD
00001634: PUSH1 0x01
00001636: DUP4
00001637: PUSH1 0x20
00001639: SUB
0000163a: PUSH2 0x0100
0000163d: EXP
0000163e: SUB
0000163f: NOT
00001640: AND
00001641: DUP2
00001642: MSTORE
00001643: PUSH1 0x20
00001645: ADD
00001646: SWAP2
00001647: POP
00001648: JUMPDEST
00001649: POP
0000164a: SWAP6
0000164b: POP
0000164c: POP
0000164d: POP
0000164e: POP
0000164f: POP
00001650: POP
00001651: PUSH1 0x40
00001653: MLOAD
00001654: DUP1
00001655: SWAP2
00001656: SUB
00001657: SWAP1
00001658: LOG2
00001659: POP
0000165a: SWAP7
0000165b: SWAP6
0000165c: POP
0000165d: POP
0000165e: POP
0000165f: POP
00001660: POP
00001661: POP
00001662: JUMP
00001663: JUMPDEST
00001664: PUSH1 0x40
00001666: DUP1
00001667: MLOAD
00001668: DUP7
00001669: DUP2
0000166a: MSTORE
0000166b: PUSH1 0x20
0000166d: DUP2
0000166e: ADD
0000166f: DUP4
00001670: SWAP1
00001671: MSTORE
00001672: DUP2
00001673: MLOAD
00001674: DUP10
00001675: SWAP3
00001676: PUSH32 0xdfc78bdca8e3e0b18c16c5c99323c6cb9eb5e00afde190b4e7273f5158702b07
00001697: SWAP3
00001698: DUP3
00001699: SWAP1
0000169a: SUB
0000169b: ADD
0000169c: SWAP1
0000169d: LOG2
0000169e: JUMPDEST
0000169f: POP
000016a0: POP
000016a1: POP
000016a2: POP
000016a3: SWAP3
000016a4: SWAP2
000016a5: POP
000016a6: POP
000016a7: JUMP
000016a8: JUMPDEST
000016a9: PUSH1 0x00
000016ab: DUP1
000016ac: SLOAD
000016ad: DUP9
000016ae: SWAP1
000016af: DUP2
000016b0: LT
000016b1: ISZERO
000016b2: PUSH2 0x0002
000016b5: JUMPI
000016b6: POP
000016b7: DUP1
000016b8: DUP1
000016b9: MSTORE
000016ba: PUSH1 0x0e
000016bc: DUP9
000016bd: MUL
000016be: PUSH1 0x00
000016c0: DUP1
000016c1: MLOAD
000016c2: PUSH1 0x20
000016c4: PUSH2 0x2a36
000016c7: DUP4
000016c8: CODECOPY
000016c9: DUP2
000016ca: MLOAD
000016cb: SWAP2
000016cc: MSTORE
000016cd: ADD
000016ce: SWAP1
000016cf: POP
000016d0: PUSH1 0x07
000016d2: DUP2
000016d3: ADD
000016d4: SLOAD
000016d5: SWAP1
000016d6: SWAP5
000016d7: POP
000016d8: PUSH1 0xff
000016da: AND
000016db: PUSH2 0x16e7
000016de: JUMPI
000016df: PUSH3 0x0d2f00
000016e3: PUSH2 0x16ec
000016e6: JUMP
000016e7: JUMPDEST
000016e8: PUSH3 0x239880
000016ec: JUMPDEST
000016ed: PUSH1 0x04
000016ef: DUP6
000016f0: ADD
000016f1: SLOAD
000016f2: SWAP1
000016f3: SWAP4
000016f4: POP
000016f5: PUSH1 0xff
000016f7: AND
000016f8: DUP1
000016f9: ISZERO
000016fa: PUSH2 0x1708
000016fd: JUMPI
000016fe: POP
000016ff: PUSH1 0x03
00001701: DUP5
00001702: ADD
00001703: SLOAD
00001704: DUP4
00001705: ADD
00001706: TIMESTAMP
00001707: GT
00001708: JUMPDEST
00001709: ISZERO
0000170a: PUSH2 0x1716
0000170d: JUMPI
0000170e: PUSH2 0x17b8
00001711: DUP8
00001712: PUSH2 0x1890
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH1 0x03
00001719: DUP5
0000171a: ADD
0000171b: SLOAD
0000171c: TIMESTAMP
0000171d: LT
0000171e: DUP1
0000171f: PUSH2 0x172d
00001722: JUMPI
00001723: POP
00001724: PUSH1 0x04
00001726: DUP5
00001727: ADD
00001728: SLOAD
00001729: PUSH1 0xff
0000172b: AND
0000172c: ISZERO
0000172d: JUMPDEST
0000172e: DUP1
0000172f: PUSH2 0x17ae
00001732: JUMPI
00001733: POP
00001734: DUP4
00001735: PUSH1 0x00
00001737: ADD
00001738: PUSH1 0x00
0000173a: SWAP1
0000173b: SLOAD
0000173c: SWAP1
0000173d: PUSH2 0x0100
00001740: EXP
00001741: SWAP1
00001742: DIV
00001743: PUSH1 0x01
00001745: PUSH1 0xa0
00001747: PUSH1 0x02
00001749: EXP
0000174a: SUB
0000174b: AND
0000174c: DUP5
0000174d: PUSH1 0x01
0000174f: ADD
00001750: PUSH1 0x00
00001752: POP
00001753: SLOAD
00001754: DUP8
00001755: PUSH1 0x40
00001757: MLOAD
00001758: DUP1
00001759: DUP5
0000175a: PUSH1 0x01
0000175c: PUSH1 0xa0
0000175e: PUSH1 0x02
00001760: EXP
00001761: SUB
00001762: AND
00001763: PUSH1 0x60
00001765: PUSH1 0x02
00001767: EXP
00001768: MUL
00001769: DUP2
0000176a: MSTORE
0000176b: PUSH1 0x14
0000176d: ADD
0000176e: DUP4
0000176f: DUP2
00001770: MSTORE
00001771: PUSH1 0x20
00001773: ADD
00001774: DUP3
00001775: DUP1
00001776: MLOAD
00001777: SWAP1
00001778: PUSH1 0x20
0000177a: ADD
0000177b: SWAP1
0000177c: DUP1
0000177d: DUP4
0000177e: DUP4
0000177f: DUP3
00001780: SWAP1
00001781: PUSH1 0x00
00001783: PUSH1 0x04
00001785: PUSH1 0x20
00001787: DUP5
00001788: PUSH1 0x1f
0000178a: ADD
0000178b: DIV
0000178c: PUSH1 0x0f
0000178e: MUL
0000178f: PUSH1 0x03
00001791: ADD
00001792: CALL
00001793: POP
00001794: SWAP1
00001795: POP
00001796: ADD
00001797: SWAP4
00001798: POP
00001799: POP
0000179a: POP
0000179b: POP
0000179c: PUSH1 0x40
0000179e: MLOAD
0000179f: DUP1
000017a0: SWAP2
000017a1: SUB
000017a2: SWAP1
000017a3: KECCAK256
000017a4: DUP5
000017a5: PUSH1 0x05
000017a7: ADD
000017a8: PUSH1 0x00
000017aa: POP
000017ab: SLOAD
000017ac: EQ
000017ad: ISZERO
000017ae: JUMPDEST
000017af: ISZERO
000017b0: PUSH2 0x114c
000017b3: JUMPI
000017b4: PUSH2 0x0002
000017b7: JUMP
000017b8: JUMPDEST
000017b9: PUSH2 0x169e
000017bc: JUMP
000017bd: JUMPDEST
000017be: PUSH1 0x04
000017c0: DUP5
000017c1: ADD
000017c2: DUP1
000017c3: SLOAD
000017c4: PUSH2 0xff00
000017c7: NOT
000017c8: AND
000017c9: PUSH2 0x0100
000017cc: OR
000017cd: SWAP1
000017ce: SSTORE
000017cf: DUP4
000017d0: SLOAD
000017d1: PUSH1 0x01
000017d3: SWAP6
000017d4: POP
000017d5: PUSH1 0x01
000017d7: PUSH1 0xa0
000017d9: PUSH1 0x02
000017db: EXP
000017dc: SUB
000017dd: SWAP1
000017de: DUP2
000017df: AND
000017e0: ADDRESS
000017e1: SWAP1
000017e2: SWAP2
000017e3: AND
000017e4: EQ
000017e5: DUP1
000017e6: ISZERO
000017e7: SWAP1
000017e8: PUSH2 0x1801
000017eb: JUMPI
000017ec: POP
000017ed: DUP4
000017ee: SLOAD
000017ef: PUSH1 0x07
000017f1: SLOAD
000017f2: PUSH1 0x01
000017f4: PUSH1 0xa0
000017f6: PUSH1 0x02
000017f8: EXP
000017f9: SUB
000017fa: SWAP1
000017fb: DUP2
000017fc: AND
000017fd: SWAP2
000017fe: AND
000017ff: EQ
00001800: ISZERO
00001801: JUMPDEST
00001802: DUP1
00001803: ISZERO
00001804: PUSH2 0x181d
00001807: JUMPI
00001808: POP
00001809: PUSH1 0x08
0000180b: SLOAD
0000180c: DUP5
0000180d: SLOAD
0000180e: PUSH1 0x01
00001810: PUSH1 0xa0
00001812: PUSH1 0x02
00001814: EXP
00001815: SUB
00001816: SWAP1
00001817: DUP2
00001818: AND
00001819: SWAP2
0000181a: AND
0000181b: EQ
0000181c: ISZERO
0000181d: JUMPDEST
0000181e: DUP1
0000181f: ISZERO
00001820: PUSH2 0x1839
00001823: JUMPI
00001824: POP
00001825: DUP4
00001826: SLOAD
00001827: PUSH1 0x12
00001829: SLOAD
0000182a: PUSH1 0x01
0000182c: PUSH1 0xa0
0000182e: PUSH1 0x02
00001830: EXP
00001831: SUB
00001832: SWAP1
00001833: DUP2
00001834: AND
00001835: SWAP2
00001836: AND
00001837: EQ
00001838: ISZERO
00001839: JUMPDEST
0000183a: DUP1
0000183b: ISZERO
0000183c: PUSH2 0x1855
0000183f: JUMPI
00001840: POP
00001841: PUSH1 0x03
00001843: SLOAD
00001844: DUP5
00001845: SLOAD
00001846: PUSH1 0x01
00001848: PUSH1 0xa0
0000184a: PUSH1 0x02
0000184c: EXP
0000184d: SUB
0000184e: SWAP1
0000184f: DUP2
00001850: AND
00001851: SWAP2
00001852: AND
00001853: EQ
00001854: ISZERO
00001855: JUMPDEST
00001856: ISZERO
00001857: PUSH2 0x188b
0000185a: JUMPI
0000185b: PUSH1 0x01
0000185d: DUP5
0000185e: ADD
0000185f: DUP1
00001860: SLOAD
00001861: ADDRESS
00001862: PUSH1 0x01
00001864: PUSH1 0xa0
00001866: PUSH1 0x02
00001868: EXP
00001869: SUB
0000186a: AND
0000186b: PUSH1 0x00
0000186d: SWAP1
0000186e: DUP2
0000186f: MSTORE
00001870: PUSH1 0x05
00001872: PUSH1 0x20
00001874: MSTORE
00001875: PUSH1 0x40
00001877: SWAP1
00001878: KECCAK256
00001879: DUP1
0000187a: SLOAD
0000187b: SWAP2
0000187c: SWAP1
0000187d: SWAP2
0000187e: ADD
0000187f: SWAP1
00001880: SSTORE
00001881: SLOAD
00001882: PUSH1 0x06
00001884: DUP1
00001885: SLOAD
00001886: SWAP1
00001887: SWAP2
00001888: ADD
00001889: SWAP1
0000188a: SSTORE
0000188b: JUMPDEST
0000188c: PUSH2 0x1663
0000188f: DUP8
00001890: JUMPDEST
00001891: PUSH1 0x00
00001893: PUSH1 0x00
00001895: PUSH1 0x00
00001897: POP
00001898: DUP3
00001899: DUP2
0000189a: SLOAD
0000189b: DUP2
0000189c: LT
0000189d: ISZERO
0000189e: PUSH2 0x0002
000018a1: JUMPI
000018a2: SWAP1
000018a3: DUP1
000018a4: MSTORE
000018a5: PUSH1 0x0e
000018a7: MUL
000018a8: PUSH1 0x00
000018aa: DUP1
000018ab: MLOAD
000018ac: PUSH1 0x20
000018ae: PUSH2 0x2a36
000018b1: DUP4
000018b2: CODECOPY
000018b3: DUP2
000018b4: MLOAD
000018b5: SWAP2
000018b6: MSTORE
000018b7: ADD
000018b8: DUP2
000018b9: POP
000018ba: PUSH1 0x04
000018bc: DUP2
000018bd: ADD
000018be: SLOAD
000018bf: SWAP1
000018c0: SWAP2
000018c1: POP
000018c2: PUSH1 0xff
000018c4: AND
000018c5: ISZERO
000018c6: PUSH2 0x18d7
000018c9: JUMPI
000018ca: PUSH1 0x0d
000018cc: DUP1
000018cd: SLOAD
000018ce: PUSH1 0x06
000018d0: DUP4
000018d1: ADD
000018d2: SLOAD
000018d3: SWAP1
000018d4: SUB
000018d5: SWAP1
000018d6: SSTORE
000018d7: JUMPDEST
000018d8: PUSH1 0x04
000018da: ADD
000018db: DUP1
000018dc: SLOAD
000018dd: PUSH1 0xff
000018df: NOT
000018e0: AND
000018e1: SWAP1
000018e2: SSTORE
000018e3: POP
000018e4: JUMP
000018e5: JUMPDEST
000018e6: ISZERO
000018e7: ISZERO
000018e8: PUSH2 0x18f4
000018eb: JUMPI
000018ec: PUSH2 0x1900
000018ef: DUP8
000018f0: PUSH2 0x1890
000018f3: JUMP
000018f4: JUMPDEST
000018f5: PUSH1 0x01
000018f7: SWAP2
000018f8: POP
000018f9: PUSH2 0x1931
000018fc: PUSH2 0x047f
000018ff: JUMP
00001900: JUMPDEST
00001901: PUSH1 0x40
00001903: MLOAD
00001904: PUSH1 0x0d
00001906: DUP6
00001907: ADD
00001908: SLOAD
00001909: PUSH1 0x06
0000190b: DUP7
0000190c: ADD
0000190d: SLOAD
0000190e: PUSH1 0x01
00001910: PUSH1 0xa0
00001912: PUSH1 0x02
00001914: EXP
00001915: SUB
00001916: SWAP2
00001917: SWAP1
00001918: SWAP2
00001919: AND
0000191a: SWAP2
0000191b: PUSH1 0x00
0000191d: SWAP2
0000191e: SWAP1
0000191f: DUP3
00001920: DUP2
00001921: DUP2
00001922: DUP2
00001923: DUP6
00001924: DUP9
00001925: DUP4
00001926: CALL
00001927: SWAP4
00001928: POP
00001929: POP
0000192a: POP
0000192b: POP
0000192c: POP
0000192d: PUSH2 0x169e
00001930: JUMP
00001931: JUMPDEST
00001932: PUSH1 0x01
00001934: DUP6
00001935: ADD
00001936: SLOAD
00001937: GT
00001938: ISZERO
00001939: PUSH2 0x1941
0000193c: JUMPI
0000193d: PUSH1 0x00
0000193f: SWAP2
00001940: POP
00001941: JUMPDEST
00001942: POP
00001943: PUSH1 0x0a
00001945: DUP4
00001946: ADD
00001947: SLOAD
00001948: PUSH1 0x09
0000194a: DUP5
0000194b: ADD
0000194c: SLOAD
0000194d: DUP7
0000194e: MLOAD
0000194f: SWAP2
00001950: ADD
00001951: SWAP1
00001952: PUSH1 0x04
00001954: SWAP1
00001955: LT
00001956: DUP1
00001957: ISZERO
00001958: SWAP1
00001959: PUSH2 0x1986
0000195c: JUMPI
0000195d: POP
0000195e: DUP6
0000195f: PUSH1 0x00
00001961: DUP2
00001962: MLOAD
00001963: DUP2
00001964: LT
00001965: ISZERO
00001966: PUSH2 0x0002
00001969: JUMPI
0000196a: SWAP1
0000196b: PUSH1 0x20
0000196d: ADD
0000196e: ADD
0000196f: MLOAD
00001970: PUSH1 0xf8
00001972: PUSH1 0x02
00001974: EXP
00001975: SWAP1
00001976: DIV
00001977: PUSH1 0xf8
00001979: PUSH1 0x02
0000197b: EXP
0000197c: MUL
0000197d: PUSH1 0x68
0000197f: PUSH1 0xf8
00001981: PUSH1 0x02
00001983: EXP
00001984: MUL
00001985: EQ
00001986: JUMPDEST
00001987: DUP1
00001988: ISZERO
00001989: PUSH2 0x19b6
0000198c: JUMPI
0000198d: POP
0000198e: DUP6
0000198f: PUSH1 0x01
00001991: DUP2
00001992: MLOAD
00001993: DUP2
00001994: LT
00001995: ISZERO
00001996: PUSH2 0x0002
00001999: JUMPI
0000199a: SWAP1
0000199b: PUSH1 0x20
0000199d: ADD
0000199e: ADD
0000199f: MLOAD
000019a0: PUSH1 0xf8
000019a2: PUSH1 0x02
000019a4: EXP
000019a5: SWAP1
000019a6: DIV
000019a7: PUSH1 0xf8
000019a9: PUSH1 0x02
000019ab: EXP
000019ac: MUL
000019ad: PUSH1 0x37
000019af: PUSH1 0xf8
000019b1: PUSH1 0x02
000019b3: EXP
000019b4: MUL
000019b5: EQ
000019b6: JUMPDEST
000019b7: DUP1
000019b8: ISZERO
000019b9: PUSH2 0x19e6
000019bc: JUMPI
000019bd: POP
000019be: DUP6
000019bf: PUSH1 0x02
000019c1: DUP2
000019c2: MLOAD
000019c3: DUP2
000019c4: LT
000019c5: ISZERO
000019c6: PUSH2 0x0002
000019c9: JUMPI
000019ca: SWAP1
000019cb: PUSH1 0x20
000019cd: ADD
000019ce: ADD
000019cf: MLOAD
000019d0: PUSH1 0xf8
000019d2: PUSH1 0x02
000019d4: EXP
000019d5: SWAP1
000019d6: DIV
000019d7: PUSH1 0xf8
000019d9: PUSH1 0x02
000019db: EXP
000019dc: MUL
000019dd: PUSH1 0xff
000019df: PUSH1 0xf8
000019e1: PUSH1 0x02
000019e3: EXP
000019e4: MUL
000019e5: EQ
000019e6: JUMPDEST
000019e7: DUP1
000019e8: ISZERO
000019e9: PUSH2 0x1a16
000019ec: JUMPI
000019ed: POP
000019ee: DUP6
000019ef: PUSH1 0x03
000019f1: DUP2
000019f2: MLOAD
000019f3: DUP2
000019f4: LT
000019f5: ISZERO
000019f6: PUSH2 0x0002
000019f9: JUMPI
000019fa: SWAP1
000019fb: PUSH1 0x20
000019fd: ADD
000019fe: ADD
000019ff: MLOAD
00001a00: PUSH1 0xf8
00001a02: PUSH1 0x02
00001a04: EXP
00001a05: SWAP1
00001a06: DIV
00001a07: PUSH1 0xf8
00001a09: PUSH1 0x02
00001a0b: EXP
00001a0c: MUL
00001a0d: PUSH1 0x1e
00001a0f: PUSH1 0xf8
00001a11: PUSH1 0x02
00001a13: EXP
00001a14: MUL
00001a15: EQ
00001a16: JUMPDEST
00001a17: DUP1
00001a18: ISZERO
00001a19: PUSH2 0x1a45
00001a1c: JUMPI
00001a1d: POP
00001a1e: ADDRESS
00001a1f: PUSH1 0x01
00001a21: PUSH1 0xa0
00001a23: PUSH1 0x02
00001a25: EXP
00001a26: SUB
00001a27: AND
00001a28: PUSH1 0x00
00001a2a: SWAP1
00001a2b: DUP2
00001a2c: MSTORE
00001a2d: PUSH1 0x05
00001a2f: PUSH1 0x20
00001a31: MSTORE
00001a32: PUSH1 0x40
00001a34: SWAP1
00001a35: KECCAK256
00001a36: SLOAD
00001a37: PUSH2 0x1a42
00001a3a: SWAP1
00001a3b: PUSH2 0x1a5d
00001a3e: PUSH2 0x047f
00001a41: JUMP
00001a42: JUMPDEST
00001a43: DUP2
00001a44: LT
00001a45: JUMPDEST
00001a46: ISZERO
00001a47: PUSH2 0x1a4f
00001a4a: JUMPI
00001a4b: PUSH1 0x00
00001a4d: SWAP2
00001a4e: POP
00001a4f: JUMPDEST
00001a50: PUSH1 0x01
00001a52: DUP5
00001a53: ADD
00001a54: SLOAD
00001a55: PUSH2 0x1a80
00001a58: SWAP1
00001a59: PUSH2 0x1a5f
00001a5c: JUMP
00001a5d: JUMPDEST
00001a5e: ADD
00001a5f: JUMPDEST
00001a60: ADDRESS
00001a61: PUSH1 0x01
00001a63: PUSH1 0xa0
00001a65: PUSH1 0x02
00001a67: EXP
00001a68: SUB
00001a69: AND
00001a6a: PUSH1 0x00
00001a6c: SWAP1
00001a6d: DUP2
00001a6e: MSTORE
00001a6f: PUSH1 0x05
00001a71: PUSH1 0x20
00001a73: MSTORE
00001a74: PUSH1 0x40
00001a76: DUP2
00001a77: KECCAK256
00001a78: SLOAD
00001a79: PUSH2 0x29a9
00001a7c: PUSH2 0x047f
00001a7f: JUMP
00001a80: JUMPDEST
00001a81: DUP2
00001a82: LT
00001a83: PUSH2 0x1ad4
00001a86: JUMPI
00001a87: PUSH1 0x40
00001a89: MLOAD
00001a8a: PUSH1 0x0d
00001a8c: DUP6
00001a8d: ADD
00001a8e: SLOAD
00001a8f: PUSH1 0x06
00001a91: DUP7
00001a92: ADD
00001a93: SLOAD
00001a94: PUSH1 0x01
00001a96: PUSH1 0xa0
00001a98: PUSH1 0x02
00001a9a: EXP
00001a9b: SUB
00001a9c: SWAP2
00001a9d: SWAP1
00001a9e: SWAP2
00001a9f: AND
00001aa0: SWAP2
00001aa1: PUSH1 0x00
00001aa3: SWAP2
00001aa4: SWAP1
00001aa5: DUP3
00001aa6: DUP2
00001aa7: DUP2
00001aa8: DUP2
00001aa9: DUP6
00001aaa: DUP9
00001aab: DUP4
00001aac: CALL
00001aad: SWAP4
00001aae: POP
00001aaf: POP
00001ab0: POP
00001ab1: POP
00001ab2: ISZERO
00001ab3: ISZERO
00001ab4: PUSH2 0x1abc
00001ab7: JUMPI
00001ab8: PUSH2 0x0002
00001abb: JUMP
00001abc: JUMPDEST
00001abd: TIMESTAMP
00001abe: PUSH1 0x02
00001ac0: SSTORE
00001ac1: PUSH1 0x16
00001ac3: SLOAD
00001ac4: PUSH1 0x05
00001ac6: SWAP1
00001ac7: DIV
00001ac8: DUP2
00001ac9: GT
00001aca: ISZERO
00001acb: PUSH2 0x1ad4
00001ace: JUMPI
00001acf: PUSH1 0x05
00001ad1: PUSH1 0x01
00001ad3: SSTORE
00001ad4: JUMPDEST
00001ad5: PUSH1 0x01
00001ad7: DUP5
00001ad8: ADD
00001ad9: SLOAD
00001ada: PUSH2 0x1ae2
00001add: SWAP1
00001ade: PUSH2 0x1a5f
00001ae1: JUMP
00001ae2: JUMPDEST
00001ae3: DUP2
00001ae4: LT
00001ae5: ISZERO
00001ae6: DUP1
00001ae7: ISZERO
00001ae8: PUSH2 0x1af8
00001aeb: JUMPI
00001aec: POP
00001aed: PUSH1 0x0a
00001aef: DUP5
00001af0: ADD
00001af1: SLOAD
00001af2: PUSH1 0x09
00001af4: DUP6
00001af5: ADD
00001af6: SLOAD
00001af7: GT
00001af8: JUMPDEST
00001af9: DUP1
00001afa: ISZERO
00001afb: PUSH2 0x1b01
00001afe: JUMPI
00001aff: POP
00001b00: DUP2
00001b01: JUMPDEST
00001b02: ISZERO
00001b03: PUSH2 0x188b
00001b06: JUMPI
00001b07: DUP4
00001b08: PUSH1 0x00
00001b0a: ADD
00001b0b: PUSH1 0x00
00001b0d: SWAP1
00001b0e: SLOAD
00001b0f: SWAP1
00001b10: PUSH2 0x0100
00001b13: EXP
00001b14: SWAP1
00001b15: DIV
00001b16: PUSH1 0x01
00001b18: PUSH1 0xa0
00001b1a: PUSH1 0x02
00001b1c: EXP
00001b1d: SUB
00001b1e: AND
00001b1f: PUSH1 0x01
00001b21: PUSH1 0xa0
00001b23: PUSH1 0x02
00001b25: EXP
00001b26: SUB
00001b27: AND
00001b28: DUP5
00001b29: PUSH1 0x01
00001b2b: ADD
00001b2c: PUSH1 0x00
00001b2e: POP
00001b2f: SLOAD
00001b30: DUP8
00001b31: PUSH1 0x40
00001b33: MLOAD
00001b34: DUP1
00001b35: DUP3
00001b36: DUP1
00001b37: MLOAD
00001b38: SWAP1
00001b39: PUSH1 0x20
00001b3b: ADD
00001b3c: SWAP1
00001b3d: DUP1
00001b3e: DUP4
00001b3f: DUP4
00001b40: DUP3
00001b41: SWAP1
00001b42: PUSH1 0x00
00001b44: PUSH1 0x04
00001b46: PUSH1 0x20
00001b48: DUP5
00001b49: PUSH1 0x1f
00001b4b: ADD
00001b4c: DIV
00001b4d: PUSH1 0x0f
00001b4f: MUL
00001b50: PUSH1 0x03
00001b52: ADD
00001b53: CALL
00001b54: POP
00001b55: SWAP1
00001b56: POP
00001b57: SWAP1
00001b58: DUP2
00001b59: ADD
00001b5a: SWAP1
00001b5b: PUSH1 0x1f
00001b5d: AND
00001b5e: DUP1
00001b5f: ISZERO
00001b60: PUSH2 0x1b7d
00001b63: JUMPI
00001b64: DUP1
00001b65: DUP3
00001b66: SUB
00001b67: DUP1
00001b68: MLOAD
00001b69: PUSH1 0x01
00001b6b: DUP4
00001b6c: PUSH1 0x20
00001b6e: SUB
00001b6f: PUSH2 0x0100
00001b72: EXP
00001b73: SUB
00001b74: NOT
00001b75: AND
00001b76: DUP2
00001b77: MSTORE
00001b78: PUSH1 0x20
00001b7a: ADD
00001b7b: SWAP2
00001b7c: POP
00001b7d: JUMPDEST
00001b7e: POP
00001b7f: SWAP2
00001b80: POP
00001b81: POP
00001b82: PUSH1 0x00
00001b84: PUSH1 0x40
00001b86: MLOAD
00001b87: DUP1
00001b88: DUP4
00001b89: SUB
00001b8a: DUP2
00001b8b: DUP6
00001b8c: DUP8
00001b8d: PUSH2 0x8502
00001b90: GAS
00001b91: SUB
00001b92: CALL
00001b93: SWAP3
00001b94: POP
00001b95: POP
00001b96: POP
00001b97: ISZERO
00001b98: ISZERO
00001b99: PUSH2 0x17bd
00001b9c: JUMPI
00001b9d: PUSH2 0x0002
00001ba0: JUMP
00001ba1: JUMPDEST
00001ba2: PUSH2 0x1baa
00001ba5: CALLER
00001ba6: PUSH2 0x05ec
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: PUSH1 0x00
00001bad: EQ
00001bae: ISZERO
00001baf: PUSH2 0x1bb7
00001bb2: JUMPI
00001bb3: PUSH2 0x0002
00001bb6: JUMP
00001bb7: JUMPDEST
00001bb8: PUSH1 0x00
00001bba: DUP1
00001bbb: SLOAD
00001bbc: DUP9
00001bbd: SWAP1
00001bbe: DUP2
00001bbf: LT
00001bc0: ISZERO
00001bc1: PUSH2 0x0002
00001bc4: JUMPI
00001bc5: POP
00001bc6: DUP1
00001bc7: MSTORE
00001bc8: PUSH1 0x0e
00001bca: DUP8
00001bcb: MUL
00001bcc: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566
00001bed: DUP2
00001bee: ADD
00001bef: SLOAD
00001bf0: PUSH1 0x00
00001bf2: DUP1
00001bf3: MLOAD
00001bf4: PUSH1 0x20
00001bf6: PUSH2 0x2a36
00001bf9: DUP4
00001bfa: CODECOPY
00001bfb: DUP2
00001bfc: MLOAD
00001bfd: SWAP2
00001bfe: MSTORE
00001bff: SWAP2
00001c00: SWAP1
00001c01: SWAP2
00001c02: ADD
00001c03: SWAP5
00001c04: POP
00001c05: TIMESTAMP
00001c06: LT
00001c07: DUP1
00001c08: PUSH2 0x1c19
00001c0b: JUMPI
00001c0c: POP
00001c0d: PUSH1 0x03
00001c0f: DUP5
00001c10: ADD
00001c11: SLOAD
00001c12: PUSH3 0x239880
00001c16: ADD
00001c17: TIMESTAMP
00001c18: GT
00001c19: JUMPDEST
00001c1a: DUP1
00001c1b: PUSH2 0x1c32
00001c1e: JUMPI
00001c1f: POP
00001c20: DUP4
00001c21: SLOAD
00001c22: PUSH1 0x01
00001c24: PUSH1 0xa0
00001c26: PUSH1 0x02
00001c28: EXP
00001c29: SUB
00001c2a: SWAP1
00001c2b: DUP2
00001c2c: AND
00001c2d: SWAP1
00001c2e: DUP8
00001c2f: AND
00001c30: EQ
00001c31: ISZERO
00001c32: JUMPDEST
00001c33: DUP1
00001c34: PUSH2 0x1c42
00001c37: JUMPI
00001c38: POP
00001c39: PUSH1 0x07
00001c3b: DUP5
00001c3c: ADD
00001c3d: SLOAD
00001c3e: PUSH1 0xff
00001c40: AND
00001c41: ISZERO
00001c42: JUMPDEST
00001c43: DUP1
00001c44: PUSH2 0x1c68
00001c47: JUMPI
00001c48: POP
00001c49: CALLER
00001c4a: PUSH1 0x01
00001c4c: PUSH1 0xa0
00001c4e: PUSH1 0x02
00001c50: EXP
00001c51: SUB
00001c52: AND
00001c53: PUSH1 0x00
00001c55: SWAP1
00001c56: DUP2
00001c57: MSTORE
00001c58: PUSH1 0x0b
00001c5a: DUP6
00001c5b: ADD
00001c5c: PUSH1 0x20
00001c5e: MSTORE
00001c5f: PUSH1 0x40
00001c61: SWAP1
00001c62: KECCAK256
00001c63: SLOAD
00001c64: PUSH1 0xff
00001c66: AND
00001c67: ISZERO
00001c68: JUMPDEST
00001c69: DUP1
00001c6a: PUSH2 0x1c9c
00001c6d: JUMPI
00001c6e: POP
00001c6f: CALLER
00001c70: PUSH1 0x01
00001c72: PUSH1 0xa0
00001c74: PUSH1 0x02
00001c76: EXP
00001c77: SUB
00001c78: AND
00001c79: PUSH1 0x00
00001c7b: SWAP1
00001c7c: DUP2
00001c7d: MSTORE
00001c7e: PUSH1 0x0b
00001c80: PUSH1 0x20
00001c82: MSTORE
00001c83: PUSH1 0x40
00001c85: SWAP1
00001c86: KECCAK256
00001c87: SLOAD
00001c88: DUP8
00001c89: EQ
00001c8a: DUP1
00001c8b: ISZERO
00001c8c: SWAP1
00001c8d: PUSH2 0x1c9c
00001c90: JUMPI
00001c91: POP
00001c92: PUSH1 0x40
00001c94: PUSH1 0x00
00001c96: SWAP1
00001c97: DUP2
00001c98: KECCAK256
00001c99: SLOAD
00001c9a: EQ
00001c9b: ISZERO
00001c9c: JUMPDEST
00001c9d: ISZERO
00001c9e: PUSH2 0x1ca6
00001ca1: JUMPI
00001ca2: PUSH2 0x0002
00001ca5: JUMP
00001ca6: JUMPDEST
00001ca7: PUSH1 0x08
00001ca9: DUP5
00001caa: ADD
00001cab: DUP1
00001cac: SLOAD
00001cad: PUSH1 0x00
00001caf: SWAP1
00001cb0: DUP2
00001cb1: LT
00001cb2: ISZERO
00001cb3: PUSH2 0x0002
00001cb6: JUMPI
00001cb7: SWAP1
00001cb8: DUP2
00001cb9: MSTORE
00001cba: PUSH1 0x20
00001cbc: DUP2
00001cbd: KECCAK256
00001cbe: PUSH1 0x03
00001cc0: ADD
00001cc1: SLOAD
00001cc2: PUSH1 0x01
00001cc4: PUSH1 0xa0
00001cc6: PUSH1 0x02
00001cc8: EXP
00001cc9: SUB
00001cca: AND
00001ccb: EQ
00001ccc: ISZERO
00001ccd: PUSH2 0x1e12
00001cd0: JUMPI
00001cd1: PUSH2 0x1efc
00001cd4: DUP7
00001cd5: PUSH1 0x40
00001cd7: MLOAD
00001cd8: PUSH1 0x00
00001cda: SWAP1
00001cdb: PUSH1 0x01
00001cdd: PUSH1 0xa0
00001cdf: PUSH1 0x02
00001ce1: EXP
00001ce2: SUB
00001ce3: DUP4
00001ce4: AND
00001ce5: SWAP1
00001ce6: PUSH32 0x9046fefd66f538ab35263248a44217dcb70e2eb2cd136629e141b8b8f9f03b60
00001d07: SWAP1
00001d08: DUP4
00001d09: SWAP1
00001d0a: LOG2
00001d0b: PUSH1 0x40
00001d0d: DUP1
00001d0e: MLOAD
00001d0f: PUSH1 0x0e
00001d11: SLOAD
00001d12: PUSH32 0xe2faf04400000000000000000000000000000000000000000000000000000000
00001d33: DUP3
00001d34: MSTORE
00001d35: PUSH1 0x01
00001d37: PUSH1 0xa0
00001d39: PUSH1 0x02
00001d3b: EXP
00001d3c: SUB
00001d3d: DUP6
00001d3e: DUP2
00001d3f: AND
00001d40: PUSH1 0x04
00001d42: DUP5
00001d43: ADD
00001d44: MSTORE
00001d45: PUSH1 0x24
00001d47: DUP4
00001d48: ADD
00001d49: DUP6
00001d4a: SWAP1
00001d4b: MSTORE
00001d4c: PUSH1 0x44
00001d4e: DUP4
00001d4f: ADD
00001d50: DUP6
00001d51: SWAP1
00001d52: MSTORE
00001d53: PUSH3 0x239880
00001d57: TIMESTAMP
00001d58: ADD
00001d59: PUSH1 0x64
00001d5b: DUP5
00001d5c: ADD
00001d5d: MSTORE
00001d5e: SWAP3
00001d5f: MLOAD
00001d60: SWAP3
00001d61: AND
00001d62: SWAP2
00001d63: PUSH4 0xe2faf044
00001d68: SWAP2
00001d69: PUSH1 0x84
00001d6b: DUP1
00001d6c: DUP3
00001d6d: ADD
00001d6e: SWAP3
00001d6f: PUSH1 0x20
00001d71: SWAP3
00001d72: SWAP1
00001d73: SWAP2
00001d74: SWAP1
00001d75: DUP3
00001d76: SWAP1
00001d77: SUB
00001d78: ADD
00001d79: DUP2
00001d7a: DUP8
00001d7b: DUP8
00001d7c: PUSH2 0x61da
00001d7f: GAS
00001d80: SUB
00001d81: CALL
00001d82: ISZERO
00001d83: PUSH2 0x0002
00001d86: JUMPI
00001d87: POP
00001d88: POP
00001d89: PUSH1 0x40
00001d8b: MLOAD
00001d8c: MLOAD
00001d8d: SWAP2
00001d8e: POP
00001d8f: PUSH2 0x0606
00001d92: SWAP1
00001d93: POP
00001d94: JUMP
00001d95: JUMPDEST
00001d96: PUSH1 0x08
00001d98: DUP6
00001d99: ADD
00001d9a: DUP1
00001d9b: SLOAD
00001d9c: PUSH1 0x00
00001d9e: SWAP1
00001d9f: DUP2
00001da0: LT
00001da1: ISZERO
00001da2: PUSH2 0x0002
00001da5: JUMPI
00001da6: DUP2
00001da7: DUP2
00001da8: MSTORE
00001da9: PUSH1 0x20
00001dab: DUP1
00001dac: DUP3
00001dad: KECCAK256
00001dae: SWAP4
00001daf: SWAP1
00001db0: SWAP4
00001db1: SSTORE
00001db2: ADDRESS
00001db3: PUSH1 0x01
00001db5: PUSH1 0xa0
00001db7: PUSH1 0x02
00001db9: EXP
00001dba: SUB
00001dbb: AND
00001dbc: DUP2
00001dbd: MSTORE
00001dbe: PUSH1 0x05
00001dc0: SWAP1
00001dc1: SWAP3
00001dc2: MSTORE
00001dc3: PUSH1 0x40
00001dc5: DUP3
00001dc6: KECCAK256
00001dc7: SLOAD
00001dc8: DUP2
00001dc9: SLOAD
00001dca: SWAP1
00001dcb: SWAP3
00001dcc: SWAP1
00001dcd: DUP2
00001dce: LT
00001dcf: ISZERO
00001dd0: PUSH2 0x0002
00001dd3: JUMPI
00001dd4: SWAP1
00001dd5: DUP2
00001dd6: MSTORE
00001dd7: PUSH1 0x20
00001dd9: DUP2
00001dda: KECCAK256
00001ddb: SWAP1
00001ddc: POP
00001ddd: PUSH1 0x02
00001ddf: ADD
00001de0: SSTORE
00001de1: PUSH1 0x16
00001de3: SLOAD
00001de4: PUSH1 0x08
00001de6: DUP6
00001de7: ADD
00001de8: DUP1
00001de9: SLOAD
00001dea: PUSH1 0x00
00001dec: SWAP1
00001ded: DUP2
00001dee: LT
00001def: ISZERO
00001df0: PUSH2 0x0002
00001df3: JUMPI
00001df4: SWAP1
00001df5: DUP2
00001df6: MSTORE
00001df7: PUSH1 0x20
00001df9: DUP2
00001dfa: KECCAK256
00001dfb: SWAP1
00001dfc: POP
00001dfd: PUSH1 0x01
00001dff: ADD
00001e00: SSTORE
00001e01: PUSH1 0x04
00001e03: DUP5
00001e04: ADD
00001e05: DUP1
00001e06: SLOAD
00001e07: PUSH2 0xff00
00001e0a: NOT
00001e0b: AND
00001e0c: PUSH2 0x0100
00001e0f: OR
00001e10: SWAP1
00001e11: SSTORE
00001e12: JUMPDEST
00001e13: PUSH1 0x08
00001e15: DUP5
00001e16: ADD
00001e17: DUP1
00001e18: SLOAD
00001e19: PUSH1 0x00
00001e1b: SWAP1
00001e1c: DUP2
00001e1d: LT
00001e1e: ISZERO
00001e1f: PUSH2 0x0002
00001e22: JUMPI
00001e23: DUP2
00001e24: SLOAD
00001e25: DUP3
00001e26: DUP3
00001e27: MSTORE
00001e28: PUSH1 0x20
00001e2a: DUP3
00001e2b: KECCAK256
00001e2c: PUSH1 0x01
00001e2e: ADD
00001e2f: SLOAD
00001e30: SWAP3
00001e31: SWAP2
00001e32: SWAP1
00001e33: DUP2
00001e34: LT
00001e35: ISZERO
00001e36: PUSH2 0x0002
00001e39: JUMPI
00001e3a: SWAP1
00001e3b: DUP2
00001e3c: MSTORE
00001e3d: PUSH1 0x20
00001e3f: DUP2
00001e40: KECCAK256
00001e41: SWAP1
00001e42: POP
00001e43: SLOAD
00001e44: CALLER
00001e45: PUSH1 0x01
00001e47: PUSH1 0xa0
00001e49: PUSH1 0x02
00001e4b: EXP
00001e4c: SUB
00001e4d: AND
00001e4e: PUSH1 0x00
00001e50: SWAP1
00001e51: DUP2
00001e52: MSTORE
00001e53: PUSH1 0x14
00001e55: PUSH1 0x20
00001e57: MSTORE
00001e58: PUSH1 0x40
00001e5a: DUP2
00001e5b: KECCAK256
00001e5c: SLOAD
00001e5d: PUSH1 0x08
00001e5f: DUP9
00001e60: ADD
00001e61: DUP1
00001e62: SLOAD
00001e63: SWAP4
00001e64: SWAP1
00001e65: SWAP2
00001e66: MUL
00001e67: SWAP4
00001e68: SWAP1
00001e69: SWAP4
00001e6a: DIV
00001e6b: SWAP6
00001e6c: POP
00001e6d: SWAP1
00001e6e: DUP2
00001e6f: LT
00001e70: ISZERO
00001e71: PUSH2 0x0002
00001e74: JUMPI
00001e75: SWAP1
00001e76: DUP2
00001e77: MSTORE
00001e78: PUSH1 0x20
00001e7a: DUP2
00001e7b: KECCAK256
00001e7c: SWAP1
00001e7d: POP
00001e7e: PUSH1 0x03
00001e80: ADD
00001e81: SLOAD
00001e82: PUSH1 0x40
00001e84: DUP1
00001e85: MLOAD
00001e86: PUSH32 0xbaac530000000000000000000000000000000000000000000000000000000000
00001ea7: DUP2
00001ea8: MSTORE
00001ea9: CALLER
00001eaa: PUSH1 0x01
00001eac: PUSH1 0xa0
00001eae: PUSH1 0x02
00001eb0: EXP
00001eb1: SUB
00001eb2: SWAP1
00001eb3: DUP2
00001eb4: AND
00001eb5: PUSH1 0x04
00001eb7: DUP4
00001eb8: ADD
00001eb9: MSTORE
00001eba: SWAP2
00001ebb: MLOAD
00001ebc: SWAP3
00001ebd: SWAP1
00001ebe: SWAP2
00001ebf: AND
00001ec0: SWAP2
00001ec1: PUSH4 0xbaac5300
00001ec6: SWAP2
00001ec7: DUP7
00001ec8: SWAP2
00001ec9: PUSH1 0x24
00001ecb: DUP1
00001ecc: DUP4
00001ecd: ADD
00001ece: SWAP3
00001ecf: PUSH1 0x20
00001ed1: SWAP3
00001ed2: SWAP2
00001ed3: SWAP1
00001ed4: DUP3
00001ed5: SWAP1
00001ed6: SUB
00001ed7: ADD
00001ed8: DUP2
00001ed9: DUP6
00001eda: DUP9
00001edb: PUSH2 0x8502
00001ede: GAS
00001edf: SUB
00001ee0: CALL
00001ee1: ISZERO
00001ee2: PUSH2 0x0002
00001ee5: JUMPI
00001ee6: POP
00001ee7: POP
00001ee8: PUSH1 0x40
00001eea: MLOAD
00001eeb: MLOAD
00001eec: PUSH1 0x00
00001eee: EQ
00001eef: ISZERO
00001ef0: SWAP2
00001ef1: POP
00001ef2: PUSH2 0x1f78
00001ef5: SWAP1
00001ef6: POP
00001ef7: JUMPI
00001ef8: PUSH2 0x0002
00001efb: JUMP
00001efc: JUMPDEST
00001efd: PUSH1 0x08
00001eff: DUP6
00001f00: ADD
00001f01: DUP1
00001f02: SLOAD
00001f03: PUSH1 0x00
00001f05: SWAP1
00001f06: DUP2
00001f07: LT
00001f08: ISZERO
00001f09: PUSH2 0x0002
00001f0c: JUMPI
00001f0d: DUP2
00001f0e: DUP2
00001f0f: MSTORE
00001f10: PUSH1 0x20
00001f12: DUP2
00001f13: KECCAK256
00001f14: PUSH1 0x03
00001f16: ADD
00001f17: DUP1
00001f18: SLOAD
00001f19: PUSH1 0x01
00001f1b: PUSH1 0xa0
00001f1d: PUSH1 0x02
00001f1f: EXP
00001f20: SUB
00001f21: NOT
00001f22: AND
00001f23: SWAP1
00001f24: SWAP4
00001f25: OR
00001f26: SWAP1
00001f27: SWAP3
00001f28: SSTORE
00001f29: DUP1
00001f2a: SLOAD
00001f2b: SWAP1
00001f2c: SWAP2
00001f2d: SWAP1
00001f2e: DUP2
00001f2f: LT
00001f30: ISZERO
00001f31: PUSH2 0x0002
00001f34: JUMPI
00001f35: SWAP1
00001f36: DUP2
00001f37: MSTORE
00001f38: PUSH1 0x20
00001f3a: DUP2
00001f3b: KECCAK256
00001f3c: SWAP1
00001f3d: POP
00001f3e: PUSH1 0x03
00001f40: ADD
00001f41: SLOAD
00001f42: PUSH1 0x01
00001f44: PUSH1 0xa0
00001f46: PUSH1 0x02
00001f48: EXP
00001f49: SUB
00001f4a: AND
00001f4b: PUSH1 0x00
00001f4d: EQ
00001f4e: ISZERO
00001f4f: PUSH2 0x1f57
00001f52: JUMPI
00001f53: PUSH2 0x0002
00001f56: JUMP
00001f57: JUMPDEST
00001f58: PUSH1 0x0d
00001f5a: SLOAD
00001f5b: ADDRESS
00001f5c: PUSH1 0x01
00001f5e: PUSH1 0xa0
00001f60: PUSH1 0x02
00001f62: EXP
00001f63: SUB
00001f64: AND
00001f65: BALANCE
00001f66: LT
00001f67: ISZERO
00001f68: PUSH2 0x1f70
00001f6b: JUMPI
00001f6c: PUSH2 0x0002
00001f6f: JUMP
00001f70: JUMPDEST
00001f71: PUSH2 0x1d95
00001f74: PUSH2 0x047f
00001f77: JUMP
00001f78: JUMPDEST
00001f79: PUSH1 0x08
00001f7b: DUP5
00001f7c: ADD
00001f7d: DUP1
00001f7e: SLOAD
00001f7f: PUSH1 0x00
00001f81: SWAP1
00001f82: DUP2
00001f83: LT
00001f84: ISZERO
00001f85: PUSH2 0x0002
00001f88: JUMPI
00001f89: DUP2
00001f8a: SLOAD
00001f8b: DUP3
00001f8c: DUP3
00001f8d: MSTORE
00001f8e: PUSH1 0x20
00001f90: DUP3
00001f91: KECCAK256
00001f92: PUSH1 0x01
00001f94: ADD
00001f95: SLOAD
00001f96: SWAP3
00001f97: SWAP2
00001f98: SWAP1
00001f99: DUP2
00001f9a: LT
00001f9b: ISZERO
00001f9c: PUSH2 0x0002
00001f9f: JUMPI
00001fa0: SWAP1
00001fa1: DUP2
00001fa2: MSTORE
00001fa3: PUSH1 0x20
00001fa5: DUP2
00001fa6: KECCAK256
00001fa7: SWAP1
00001fa8: POP
00001fa9: PUSH1 0x02
00001fab: ADD
00001fac: SLOAD
00001fad: CALLER
00001fae: PUSH1 0x01
00001fb0: PUSH1 0xa0
00001fb2: PUSH1 0x02
00001fb4: EXP
00001fb5: SUB
00001fb6: SWAP1
00001fb7: DUP2
00001fb8: AND
00001fb9: PUSH1 0x00
00001fbb: SWAP1
00001fbc: DUP2
00001fbd: MSTORE
00001fbe: PUSH1 0x14
00001fc0: PUSH1 0x20
00001fc2: SWAP1
00001fc3: DUP2
00001fc4: MSTORE
00001fc5: PUSH1 0x40
00001fc7: DUP1
00001fc8: DUP4
00001fc9: KECCAK256
00001fca: SLOAD
00001fcb: ADDRESS
00001fcc: SWAP1
00001fcd: SWAP5
00001fce: AND
00001fcf: DUP4
00001fd0: MSTORE
00001fd1: PUSH1 0x05
00001fd3: DUP1
00001fd4: DUP4
00001fd5: MSTORE
00001fd6: DUP2
00001fd7: DUP5
00001fd8: KECCAK256
00001fd9: SLOAD
00001fda: PUSH1 0x09
00001fdc: SWAP1
00001fdd: SWAP4
00001fde: MSTORE
00001fdf: SWAP1
00001fe0: DUP4
00001fe1: KECCAK256
00001fe2: SLOAD
00001fe3: PUSH1 0x08
00001fe5: DUP12
00001fe6: ADD
00001fe7: DUP1
00001fe8: SLOAD
00001fe9: SWAP7
00001fea: SWAP1
00001feb: SWAP6
00001fec: MUL
00001fed: SWAP7
00001fee: SWAP1
00001fef: SWAP7
00001ff0: DIV
00001ff1: SWAP8
00001ff2: POP
00001ff3: SWAP5
00001ff4: DUP8
00001ff5: MUL
00001ff6: DIV
00001ff7: SWAP5
00001ff8: POP
00001ff9: DUP6
00001ffa: SWAP4
00001ffb: SWAP3
00001ffc: SWAP1
00001ffd: SWAP2
00001ffe: SWAP1
00001fff: DUP3
00002000: SWAP1
00002001: DUP2
00002002: LT
00002003: ISZERO
00002004: PUSH2 0x0002
00002007: JUMPI
00002008: MSTORE
00002009: PUSH1 0x20
0000200b: DUP2
0000200c: KECCAK256
0000200d: DUP2
0000200e: POP
0000200f: PUSH1 0x03
00002011: ADD
00002012: SLOAD
00002013: PUSH1 0x01
00002015: PUSH1 0xa0
00002017: PUSH1 0x02
00002019: EXP
0000201a: SUB
0000201b: SWAP1
0000201c: DUP2
0000201d: AND
0000201e: DUP3
0000201f: MSTORE
00002020: PUSH1 0x20
00002022: DUP3
00002023: DUP2
00002024: ADD
00002025: SWAP4
00002026: SWAP1
00002027: SWAP4
00002028: MSTORE
00002029: PUSH1 0x40
0000202b: SWAP2
0000202c: DUP3
0000202d: ADD
0000202e: PUSH1 0x00
00002030: SWAP1
00002031: DUP2
00002032: KECCAK256
00002033: DUP1
00002034: SLOAD
00002035: SWAP1
00002036: SWAP6
00002037: ADD
00002038: SWAP1
00002039: SWAP5
0000203a: SSTORE
0000203b: ADDRESS
0000203c: AND
0000203d: DUP4
0000203e: MSTORE
0000203f: PUSH1 0x05
00002041: SWAP1
00002042: SWAP2
00002043: MSTORE
00002044: SWAP1
00002045: KECCAK256
00002046: SLOAD
00002047: DUP3
00002048: SWAP1
00002049: LT
0000204a: ISZERO
0000204b: PUSH2 0x2053
0000204e: JUMPI
0000204f: PUSH2 0x0002
00002052: JUMP
00002053: JUMPDEST
00002054: ADDRESS
00002055: PUSH1 0x01
00002057: PUSH1 0xa0
00002059: PUSH1 0x02
0000205b: EXP
0000205c: SUB
0000205d: AND
0000205e: PUSH1 0x00
00002060: SWAP1
00002061: DUP2
00002062: MSTORE
00002063: PUSH1 0x05
00002065: PUSH1 0x20
00002067: MSTORE
00002068: PUSH1 0x40
0000206a: DUP2
0000206b: KECCAK256
0000206c: DUP1
0000206d: SLOAD
0000206e: DUP5
0000206f: SWAP1
00002070: SUB
00002071: SWAP1
00002072: SSTORE
00002073: PUSH1 0x08
00002075: DUP6
00002076: ADD
00002077: DUP1
00002078: SLOAD
00002079: DUP4
0000207a: SWAP3
0000207b: PUSH1 0x09
0000207d: SWAP3
0000207e: SWAP1
0000207f: SWAP2
00002080: DUP3
00002081: SWAP1
00002082: DUP2
00002083: LT
00002084: ISZERO
00002085: PUSH2 0x0002
00002088: JUMPI
00002089: POP
0000208a: DUP2
0000208b: MSTORE
0000208c: PUSH1 0x20
0000208e: DUP1
0000208f: DUP3
00002090: KECCAK256
00002091: PUSH1 0x03
00002093: ADD
00002094: SLOAD
00002095: PUSH1 0x01
00002097: PUSH1 0xa0
00002099: PUSH1 0x02
0000209b: EXP
0000209c: SUB
0000209d: SWAP1
0000209e: DUP2
0000209f: AND
000020a0: DUP4
000020a1: MSTORE
000020a2: SWAP3
000020a3: SWAP1
000020a4: MSTORE
000020a5: PUSH1 0x40
000020a7: DUP1
000020a8: DUP3
000020a9: KECCAK256
000020aa: DUP1
000020ab: SLOAD
000020ac: SWAP1
000020ad: SWAP5
000020ae: ADD
000020af: SWAP1
000020b0: SWAP4
000020b1: SSTORE
000020b2: ADDRESS
000020b3: SWAP1
000020b4: SWAP2
000020b5: AND
000020b6: DUP2
000020b7: MSTORE
000020b8: KECCAK256
000020b9: SLOAD
000020ba: DUP2
000020bb: SWAP1
000020bc: LT
000020bd: ISZERO
000020be: PUSH2 0x20c6
000020c1: JUMPI
000020c2: PUSH2 0x0002
000020c5: JUMP
000020c6: JUMPDEST
000020c7: ADDRESS
000020c8: PUSH1 0x01
000020ca: PUSH1 0xa0
000020cc: PUSH1 0x02
000020ce: EXP
000020cf: SUB
000020d0: SWAP1
000020d1: DUP2
000020d2: AND
000020d3: PUSH1 0x00
000020d5: SWAP1
000020d6: DUP2
000020d7: MSTORE
000020d8: PUSH1 0x09
000020da: PUSH1 0x20
000020dc: SWAP1
000020dd: DUP2
000020de: MSTORE
000020df: PUSH1 0x40
000020e1: DUP1
000020e2: DUP4
000020e3: KECCAK256
000020e4: DUP1
000020e5: SLOAD
000020e6: DUP7
000020e7: SWAP1
000020e8: SUB
000020e9: SWAP1
000020ea: SSTORE
000020eb: CALLER
000020ec: SWAP1
000020ed: SWAP4
000020ee: AND
000020ef: DUP1
000020f0: DUP4
000020f1: MSTORE
000020f2: PUSH1 0x14
000020f4: DUP3
000020f5: MSTORE
000020f6: DUP4
000020f7: DUP4
000020f8: KECCAK256
000020f9: SLOAD
000020fa: DUP5
000020fb: MLOAD
000020fc: SWAP1
000020fd: DUP2
000020fe: MSTORE
000020ff: SWAP4
00002100: MLOAD
00002101: SWAP3
00002102: SWAP4
00002103: SWAP1
00002104: SWAP3
00002105: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002126: SWAP3
00002127: SWAP2
00002128: DUP2
00002129: SWAP1
0000212a: SUB
0000212b: SWAP1
0000212c: SWAP2
0000212d: ADD
0000212e: SWAP1
0000212f: LOG3
00002130: PUSH2 0x2138
00002133: CALLER
00002134: PUSH2 0x086c
00002137: JUMP
00002138: JUMPDEST
00002139: POP
0000213a: CALLER
0000213b: PUSH1 0x01
0000213d: PUSH1 0xa0
0000213f: PUSH1 0x02
00002141: EXP
00002142: SUB
00002143: AND
00002144: PUSH1 0x00
00002146: SWAP1
00002147: DUP2
00002148: MSTORE
00002149: PUSH1 0x14
0000214b: PUSH1 0x20
0000214d: SWAP1
0000214e: DUP2
0000214f: MSTORE
00002150: PUSH1 0x40
00002152: DUP1
00002153: DUP4
00002154: KECCAK256
00002155: DUP1
00002156: SLOAD
00002157: PUSH1 0x16
00002159: DUP1
0000215a: SLOAD
0000215b: SWAP2
0000215c: SWAP1
0000215d: SWAP2
0000215e: SUB
0000215f: SWAP1
00002160: SSTORE
00002161: DUP4
00002162: SWAP1
00002163: SSTORE
00002164: PUSH1 0x0a
00002166: SWAP1
00002167: SWAP2
00002168: MSTORE
00002169: DUP2
0000216a: KECCAK256
0000216b: SSTORE
0000216c: PUSH1 0x01
0000216e: SWAP5
0000216f: POP
00002170: PUSH2 0x169e
00002173: JUMP
00002174: JUMPDEST
00002175: ADDRESS
00002176: PUSH1 0x01
00002178: PUSH1 0xa0
0000217a: PUSH1 0x02
0000217c: EXP
0000217d: SUB
0000217e: SWAP1
0000217f: DUP2
00002180: AND
00002181: PUSH1 0x00
00002183: DUP2
00002184: DUP2
00002185: MSTORE
00002186: PUSH1 0x05
00002188: PUSH1 0x20
0000218a: SWAP1
0000218b: DUP2
0000218c: MSTORE
0000218d: PUSH1 0x40
0000218f: DUP1
00002190: DUP4
00002191: KECCAK256
00002192: DUP1
00002193: SLOAD
00002194: SWAP6
00002195: DUP8
00002196: AND
00002197: DUP1
00002198: DUP6
00002199: MSTORE
0000219a: DUP3
0000219b: DUP6
0000219c: KECCAK256
0000219d: DUP1
0000219e: SLOAD
0000219f: SWAP1
000021a0: SWAP8
000021a1: ADD
000021a2: SWAP1
000021a3: SWAP7
000021a4: SSTORE
000021a5: DUP5
000021a6: DUP5
000021a7: MSTORE
000021a8: DUP4
000021a9: SWAP1
000021aa: SSTORE
000021ab: PUSH1 0x09
000021ad: SWAP1
000021ae: SWAP2
000021af: MSTORE
000021b0: DUP1
000021b1: DUP3
000021b2: KECCAK256
000021b3: DUP1
000021b4: SLOAD
000021b5: SWAP5
000021b6: DUP4
000021b7: MSTORE
000021b8: SWAP1
000021b9: DUP3
000021ba: KECCAK256
000021bb: DUP1
000021bc: SLOAD
000021bd: SWAP1
000021be: SWAP5
000021bf: ADD
000021c0: SWAP1
000021c1: SWAP4
000021c2: SSTORE
000021c3: SWAP1
000021c4: DUP2
000021c5: MSTORE
000021c6: SWAP1
000021c7: SSTORE
000021c8: JUMPDEST
000021c9: POP
000021ca: JUMP
000021cb: JUMPDEST
000021cc: PUSH1 0x40
000021ce: MLOAD
000021cf: PUSH1 0x01
000021d1: PUSH1 0xa0
000021d3: PUSH1 0x02
000021d5: EXP
000021d6: SUB
000021d7: DUP3
000021d8: DUP2
000021d9: AND
000021da: SWAP2
000021db: ADDRESS
000021dc: SWAP1
000021dd: SWAP2
000021de: AND
000021df: BALANCE
000021e0: SWAP1
000021e1: PUSH1 0x00
000021e3: DUP2
000021e4: DUP2
000021e5: DUP2
000021e6: DUP6
000021e7: DUP8
000021e8: PUSH2 0x8502
000021eb: GAS
000021ec: SUB
000021ed: CALL
000021ee: SWAP3
000021ef: POP
000021f0: POP
000021f1: POP
000021f2: ISZERO
000021f3: ISZERO
000021f4: PUSH2 0x2174
000021f7: JUMPI
000021f8: PUSH2 0x0002
000021fb: JUMP
000021fc: JUMPDEST
000021fd: CALLER
000021fe: PUSH1 0x01
00002200: PUSH1 0xa0
00002202: PUSH1 0x02
00002204: EXP
00002205: SUB
00002206: DUP2
00002207: DUP2
00002208: AND
00002209: PUSH1 0x00
0000220b: SWAP1
0000220c: DUP2
0000220d: MSTORE
0000220e: PUSH1 0x09
00002210: PUSH1 0x20
00002212: SWAP1
00002213: DUP2
00002214: MSTORE
00002215: PUSH1 0x40
00002217: DUP1
00002218: DUP4
00002219: KECCAK256
0000221a: SLOAD
0000221b: DUP2
0000221c: MLOAD
0000221d: PUSH1 0x06
0000221f: SLOAD
00002220: PUSH1 0x08
00002222: SLOAD
00002223: PUSH1 0xe0
00002225: PUSH1 0x02
00002227: EXP
00002228: PUSH4 0xd2cc718f
0000222d: MUL
0000222e: DUP4
0000222f: MSTORE
00002230: SWAP4
00002231: MLOAD
00002232: SWAP8
00002233: SWAP10
00002234: POP
00002235: SWAP2
00002236: SWAP7
00002237: SWAP2
00002238: SWAP6
00002239: SWAP3
0000223a: SWAP1
0000223b: SWAP3
0000223c: AND
0000223d: SWAP4
0000223e: PUSH4 0xd2cc718f
00002243: SWAP4
00002244: PUSH1 0x04
00002246: DUP5
00002247: DUP2
00002248: ADD
00002249: SWAP5
0000224a: SWAP2
0000224b: SWAP4
0000224c: SWAP3
0000224d: SWAP2
0000224e: DUP4
0000224f: SWAP1
00002250: SUB
00002251: ADD
00002252: SWAP1
00002253: DUP3
00002254: SWAP1
00002255: DUP8
00002256: PUSH2 0x61da
00002259: GAS
0000225a: SUB
0000225b: CALL
0000225c: ISZERO
0000225d: PUSH2 0x0002
00002260: JUMPI
00002261: POP
00002262: POP
00002263: POP
00002264: PUSH1 0x40
00002266: MLOAD
00002267: DUP1
00002268: MLOAD
00002269: SWAP1
0000226a: PUSH1 0x20
0000226c: ADD
0000226d: POP
0000226e: PUSH1 0x05
00002270: PUSH1 0x00
00002272: POP
00002273: PUSH1 0x00
00002275: CALLER
00002276: PUSH1 0x01
00002278: PUSH1 0xa0
0000227a: PUSH1 0x02
0000227c: EXP
0000227d: SUB
0000227e: AND
0000227f: DUP2
00002280: MSTORE
00002281: PUSH1 0x20
00002283: ADD
00002284: SWAP1
00002285: DUP2
00002286: MSTORE
00002287: PUSH1 0x20
00002289: ADD
0000228a: PUSH1 0x00
0000228c: KECCAK256
0000228d: PUSH1 0x00
0000228f: POP
00002290: SLOAD
00002291: MUL
00002292: DIV
00002293: LT
00002294: ISZERO
00002295: PUSH2 0x229d
00002298: JUMPI
00002299: PUSH2 0x0002
0000229c: JUMP
0000229d: JUMPDEST
0000229e: PUSH1 0x01
000022a0: PUSH1 0xa0
000022a2: PUSH1 0x02
000022a4: EXP
000022a5: SUB
000022a6: CALLER
000022a7: DUP2
000022a8: AND
000022a9: PUSH1 0x00
000022ab: SWAP1
000022ac: DUP2
000022ad: MSTORE
000022ae: PUSH1 0x09
000022b0: PUSH1 0x20
000022b2: SWAP1
000022b3: DUP2
000022b4: MSTORE
000022b5: PUSH1 0x40
000022b7: DUP1
000022b8: DUP4
000022b9: KECCAK256
000022ba: SLOAD
000022bb: DUP2
000022bc: MLOAD
000022bd: PUSH1 0x06
000022bf: SLOAD
000022c0: PUSH1 0x08
000022c2: SLOAD
000022c3: PUSH1 0xe0
000022c5: PUSH1 0x02
000022c7: EXP
000022c8: PUSH4 0xd2cc718f
000022cd: MUL
000022ce: DUP4
000022cf: MSTORE
000022d0: SWAP4
000022d1: MLOAD
000022d2: SWAP3
000022d3: SWAP7
000022d4: SWAP1
000022d5: SWAP6
000022d6: SWAP4
000022d7: AND
000022d8: SWAP4
000022d9: PUSH4 0xd2cc718f
000022de: SWAP4
000022df: PUSH1 0x04
000022e1: DUP4
000022e2: DUP2
000022e3: ADD
000022e4: SWAP5
000022e5: SWAP3
000022e6: SWAP4
000022e7: DUP4
000022e8: SWAP1
000022e9: SUB
000022ea: ADD
000022eb: SWAP1
000022ec: DUP3
000022ed: SWAP1
000022ee: DUP8
000022ef: PUSH2 0x61da
000022f2: GAS
000022f3: SUB
000022f4: CALL
000022f5: ISZERO
000022f6: PUSH2 0x0002
000022f9: JUMPI
000022fa: POP
000022fb: POP
000022fc: POP
000022fd: PUSH1 0x40
000022ff: MLOAD
00002300: DUP1
00002301: MLOAD
00002302: SWAP1
00002303: PUSH1 0x20
00002305: ADD
00002306: POP
00002307: PUSH1 0x05
00002309: PUSH1 0x00
0000230b: POP
0000230c: PUSH1 0x00
0000230e: CALLER
0000230f: PUSH1 0x01
00002311: PUSH1 0xa0
00002313: PUSH1 0x02
00002315: EXP
00002316: SUB
00002317: AND
00002318: DUP2
00002319: MSTORE
0000231a: PUSH1 0x20
0000231c: ADD
0000231d: SWAP1
0000231e: DUP2
0000231f: MSTORE
00002320: PUSH1 0x20
00002322: ADD
00002323: PUSH1 0x00
00002325: KECCAK256
00002326: PUSH1 0x00
00002328: POP
00002329: SLOAD
0000232a: MUL
0000232b: DIV
0000232c: SUB
0000232d: SWAP1
0000232e: POP
0000232f: DUP4
00002330: ISZERO
00002331: PUSH2 0x23ec
00002334: JUMPI
00002335: PUSH1 0x08
00002337: PUSH1 0x00
00002339: SWAP1
0000233a: SLOAD
0000233b: SWAP1
0000233c: PUSH2 0x0100
0000233f: EXP
00002340: SWAP1
00002341: DIV
00002342: PUSH1 0x01
00002344: PUSH1 0xa0
00002346: PUSH1 0x02
00002348: EXP
00002349: SUB
0000234a: AND
0000234b: PUSH1 0x01
0000234d: PUSH1 0xa0
0000234f: PUSH1 0x02
00002351: EXP
00002352: SUB
00002353: AND
00002354: PUSH4 0x0221038a
00002359: DUP4
0000235a: PUSH1 0x01
0000235c: PUSH1 0xa0
0000235e: PUSH1 0x02
00002360: EXP
00002361: SUB
00002362: AND
00002363: PUSH4 0x0e708203
00002368: PUSH1 0x40
0000236a: MLOAD
0000236b: DUP2
0000236c: PUSH1 0xe0
0000236e: PUSH1 0x02
00002370: EXP
00002371: MUL
00002372: DUP2
00002373: MSTORE
00002374: PUSH1 0x04
00002376: ADD
00002377: DUP1
00002378: SWAP1
00002379: POP
0000237a: PUSH1 0x20
0000237c: PUSH1 0x40
0000237e: MLOAD
0000237f: DUP1
00002380: DUP4
00002381: SUB
00002382: DUP2
00002383: PUSH1 0x00
00002385: DUP8
00002386: PUSH2 0x61da
00002389: GAS
0000238a: SUB
0000238b: CALL
0000238c: ISZERO
0000238d: PUSH2 0x0002
00002390: JUMPI
00002391: POP
00002392: POP
00002393: PUSH1 0x40
00002395: DUP1
00002396: MLOAD
00002397: DUP1
00002398: MLOAD
00002399: PUSH1 0xe1
0000239b: PUSH1 0x02
0000239d: EXP
0000239e: PUSH4 0x011081c5
000023a3: MUL
000023a4: DUP3
000023a5: MSTORE
000023a6: PUSH1 0x01
000023a8: PUSH1 0xa0
000023aa: PUSH1 0x02
000023ac: EXP
000023ad: SUB
000023ae: AND
000023af: PUSH1 0x04
000023b1: DUP3
000023b2: ADD
000023b3: MSTORE
000023b4: PUSH1 0x24
000023b6: DUP2
000023b7: ADD
000023b8: DUP7
000023b9: SWAP1
000023ba: MSTORE
000023bb: SWAP1
000023bc: MLOAD
000023bd: PUSH1 0x44
000023bf: DUP1
000023c0: DUP4
000023c1: ADD
000023c2: SWAP4
000023c3: POP
000023c4: PUSH1 0x20
000023c6: SWAP3
000023c7: DUP3
000023c8: SWAP1
000023c9: SUB
000023ca: ADD
000023cb: DUP2
000023cc: PUSH1 0x00
000023ce: DUP8
000023cf: PUSH2 0x61da
000023d2: GAS
000023d3: SUB
000023d4: CALL
000023d5: ISZERO
000023d6: PUSH2 0x0002
000023d9: JUMPI
000023da: POP
000023db: POP
000023dc: PUSH1 0x40
000023de: MLOAD
000023df: MLOAD
000023e0: ISZERO
000023e1: ISZERO
000023e2: SWAP1
000023e3: POP
000023e4: PUSH2 0x2454
000023e7: JUMPI
000023e8: PUSH2 0x0002
000023eb: JUMP
000023ec: JUMPDEST
000023ed: PUSH1 0x40
000023ef: DUP1
000023f0: MLOAD
000023f1: PUSH1 0x08
000023f3: SLOAD
000023f4: PUSH1 0xe1
000023f6: PUSH1 0x02
000023f8: EXP
000023f9: PUSH4 0x011081c5
000023fe: MUL
000023ff: DUP3
00002400: MSTORE
00002401: PUSH1 0x01
00002403: PUSH1 0xa0
00002405: PUSH1 0x02
00002407: EXP
00002408: SUB
00002409: DUP6
0000240a: DUP2
0000240b: AND
0000240c: PUSH1 0x04
0000240e: DUP5
0000240f: ADD
00002410: MSTORE
00002411: PUSH1 0x24
00002413: DUP4
00002414: ADD
00002415: DUP6
00002416: SWAP1
00002417: MSTORE
00002418: SWAP3
00002419: MLOAD
0000241a: SWAP3
0000241b: AND
0000241c: SWAP2
0000241d: PUSH4 0x0221038a
00002422: SWAP2
00002423: PUSH1 0x44
00002425: DUP1
00002426: DUP3
00002427: ADD
00002428: SWAP3
00002429: PUSH1 0x20
0000242b: SWAP3
0000242c: SWAP1
0000242d: SWAP2
0000242e: SWAP1
0000242f: DUP3
00002430: SWAP1
00002431: SUB
00002432: ADD
00002433: DUP2
00002434: PUSH1 0x00
00002436: DUP8
00002437: PUSH2 0x61da
0000243a: GAS
0000243b: SUB
0000243c: CALL
0000243d: ISZERO
0000243e: PUSH2 0x0002
00002441: JUMPI
00002442: POP
00002443: POP
00002444: PUSH1 0x40
00002446: MLOAD
00002447: MLOAD
00002448: ISZERO
00002449: ISZERO
0000244a: SWAP1
0000244b: POP
0000244c: PUSH2 0x2454
0000244f: JUMPI
00002450: PUSH2 0x0002
00002453: JUMP
00002454: JUMPDEST
00002455: PUSH1 0x01
00002457: PUSH1 0xa0
00002459: PUSH1 0x02
0000245b: EXP
0000245c: SUB
0000245d: CALLER
0000245e: AND
0000245f: PUSH1 0x00
00002461: SWAP1
00002462: DUP2
00002463: MSTORE
00002464: PUSH1 0x09
00002466: PUSH1 0x20
00002468: MSTORE
00002469: PUSH1 0x40
0000246b: SWAP1
0000246c: KECCAK256
0000246d: DUP1
0000246e: SLOAD
0000246f: SWAP1
00002470: SWAP2
00002471: ADD
00002472: SWAP1
00002473: SSTORE
00002474: POP
00002475: PUSH1 0x01
00002477: SWAP3
00002478: SWAP2
00002479: POP
0000247a: POP
0000247b: JUMP
0000247c: JUMPDEST
0000247d: PUSH2 0x0980
00002480: CALLER
00002481: PUSH2 0x086c
00002484: JUMP
00002485: JUMPDEST
00002486: ISZERO
00002487: JUMPDEST
00002488: DUP1
00002489: ISZERO
0000248a: PUSH2 0x24a2
0000248d: JUMPI
0000248e: POP
0000248f: PUSH2 0x24a2
00002492: CALLER
00002493: DUP5
00002494: DUP5
00002495: JUMPDEST
00002496: PUSH1 0x00
00002498: PUSH1 0x00
0000249a: PUSH2 0x293a
0000249d: DUP6
0000249e: PUSH2 0x05ec
000024a1: JUMP
000024a2: JUMPDEST
000024a3: DUP1
000024a4: ISZERO
000024a5: PUSH2 0x24be
000024a8: JUMPI
000024a9: POP
000024aa: PUSH2 0x24be
000024ad: DUP4
000024ae: DUP4
000024af: PUSH1 0x00
000024b1: PUSH1 0x00
000024b3: CALLVALUE
000024b4: GT
000024b5: ISZERO
000024b6: PUSH2 0x261c
000024b9: JUMPI
000024ba: PUSH2 0x0002
000024bd: JUMP
000024be: JUMPDEST
000024bf: ISZERO
000024c0: PUSH2 0x0b9f
000024c3: JUMPI
000024c4: POP
000024c5: PUSH1 0x01
000024c7: PUSH2 0x033f
000024ca: JUMP
000024cb: JUMPDEST
000024cc: ISZERO
000024cd: ISZERO
000024ce: PUSH2 0x24d6
000024d1: JUMPI
000024d2: PUSH2 0x0002
000024d5: JUMP
000024d6: JUMPDEST
000024d7: PUSH2 0x24e0
000024da: DUP4
000024db: DUP4
000024dc: PUSH2 0x0719
000024df: JUMP
000024e0: JUMPDEST
000024e1: SWAP1
000024e2: POP
000024e3: PUSH2 0x033f
000024e6: JUMP
000024e7: JUMPDEST
000024e8: ISZERO
000024e9: JUMPDEST
000024ea: DUP1
000024eb: ISZERO
000024ec: PUSH2 0x24fb
000024ef: JUMPI
000024f0: POP
000024f1: PUSH2 0x24fb
000024f4: DUP5
000024f5: DUP5
000024f6: DUP5
000024f7: PUSH2 0x2495
000024fa: JUMP
000024fb: JUMPDEST
000024fc: DUP1
000024fd: ISZERO
000024fe: PUSH2 0x2518
00002501: JUMPI
00002502: POP
00002503: PUSH2 0x2518
00002506: DUP5
00002507: DUP5
00002508: DUP5
00002509: PUSH1 0x00
0000250b: PUSH1 0x00
0000250d: CALLVALUE
0000250e: GT
0000250f: ISZERO
00002510: PUSH2 0x26c1
00002513: JUMPI
00002514: PUSH2 0x0002
00002517: JUMP
00002518: JUMPDEST
00002519: ISZERO
0000251a: PUSH2 0x0b9f
0000251d: JUMPI
0000251e: POP
0000251f: PUSH1 0x01
00002521: PUSH2 0x2528
00002524: JUMP
00002525: JUMPDEST
00002526: SWAP1
00002527: POP
00002528: JUMPDEST
00002529: SWAP4
0000252a: SWAP3
0000252b: POP
0000252c: POP
0000252d: POP
0000252e: JUMP
0000252f: JUMPDEST
00002530: ISZERO
00002531: ISZERO
00002532: PUSH2 0x253a
00002535: JUMPI
00002536: PUSH2 0x0002
00002539: JUMP
0000253a: JUMPDEST
0000253b: PUSH2 0x2525
0000253e: DUP5
0000253f: DUP5
00002540: DUP5
00002541: PUSH2 0x041b
00002544: JUMP
00002545: JUMPDEST
00002546: ADDRESS
00002547: PUSH1 0x01
00002549: PUSH1 0xa0
0000254b: PUSH1 0x02
0000254d: EXP
0000254e: SUB
0000254f: AND
00002550: CALLER
00002551: PUSH1 0x01
00002553: PUSH1 0xa0
00002555: PUSH1 0x02
00002557: EXP
00002558: SUB
00002559: AND
0000255a: EQ
0000255b: ISZERO
0000255c: DUP1
0000255d: PUSH2 0x258a
00002560: JUMPI
00002561: POP
00002562: ADDRESS
00002563: PUSH1 0x01
00002565: PUSH1 0xa0
00002567: PUSH1 0x02
00002569: EXP
0000256a: SUB
0000256b: AND
0000256c: PUSH1 0x00
0000256e: SWAP1
0000256f: DUP2
00002570: MSTORE
00002571: PUSH1 0x05
00002573: PUSH1 0x20
00002575: MSTORE
00002576: PUSH1 0x40
00002578: SWAP1
00002579: KECCAK256
0000257a: SLOAD
0000257b: PUSH1 0x64
0000257d: SWAP1
0000257e: PUSH2 0x2585
00002581: PUSH2 0x047f
00002584: JUMP
00002585: JUMPDEST
00002586: ADD
00002587: DIV
00002588: DUP2
00002589: GT
0000258a: JUMPDEST
0000258b: ISZERO
0000258c: PUSH2 0x2594
0000258f: JUMPI
00002590: PUSH2 0x0002
00002593: JUMP
00002594: JUMPDEST
00002595: PUSH1 0x0c
00002597: SSTORE
00002598: JUMP
00002599: JUMPDEST
0000259a: PUSH1 0x03
0000259c: SLOAD
0000259d: PUSH1 0x01
0000259f: PUSH1 0xa0
000025a1: PUSH1 0x02
000025a3: EXP
000025a4: SUB
000025a5: SWAP1
000025a6: DUP2
000025a7: AND
000025a8: CALLER
000025a9: SWAP1
000025aa: SWAP2
000025ab: AND
000025ac: EQ
000025ad: PUSH2 0x25b5
000025b0: JUMPI
000025b1: PUSH2 0x0002
000025b4: JUMP
000025b5: JUMPDEST
000025b6: PUSH1 0x01
000025b8: PUSH1 0xa0
000025ba: PUSH1 0x02
000025bc: EXP
000025bd: SUB
000025be: DUP4
000025bf: AND
000025c0: PUSH1 0x00
000025c2: DUP2
000025c3: DUP2
000025c4: MSTORE
000025c5: PUSH1 0x04
000025c7: PUSH1 0x20
000025c9: SWAP1
000025ca: DUP2
000025cb: MSTORE
000025cc: PUSH1 0x40
000025ce: SWAP2
000025cf: DUP3
000025d0: SWAP1
000025d1: KECCAK256
000025d2: DUP1
000025d3: SLOAD
000025d4: PUSH1 0xff
000025d6: NOT
000025d7: AND
000025d8: DUP7
000025d9: OR
000025da: SWAP1
000025db: SSTORE
000025dc: DUP2
000025dd: MLOAD
000025de: DUP6
000025df: DUP2
000025e0: MSTORE
000025e1: SWAP2
000025e2: MLOAD
000025e3: PUSH32 0x73ad2a153c8b67991df9459024950b318a609782cee8c7eeda47b905f9baa91f
00002604: SWAP3
00002605: DUP2
00002606: SWAP1
00002607: SUB
00002608: SWAP1
00002609: SWAP2
0000260a: ADD
0000260b: SWAP1
0000260c: LOG2
0000260d: POP
0000260e: PUSH1 0x01
00002610: PUSH2 0x033f
00002613: JUMP
00002614: JUMPDEST
00002615: POP
00002616: PUSH1 0x00
00002618: PUSH2 0x0983
0000261b: JUMP
0000261c: JUMPDEST
0000261d: CALLER
0000261e: PUSH1 0x01
00002620: PUSH1 0xa0
00002622: PUSH1 0x02
00002624: EXP
00002625: SUB
00002626: AND
00002627: PUSH1 0x00
00002629: SWAP1
0000262a: DUP2
0000262b: MSTORE
0000262c: PUSH1 0x14
0000262e: PUSH1 0x20
00002630: MSTORE
00002631: PUSH1 0x40
00002633: SWAP1
00002634: KECCAK256
00002635: SLOAD
00002636: DUP3
00002637: SWAP1
00002638: LT
00002639: DUP1
0000263a: ISZERO
0000263b: SWAP1
0000263c: PUSH2 0x2645
0000263f: JUMPI
00002640: POP
00002641: PUSH1 0x00
00002643: DUP3
00002644: GT
00002645: JUMPDEST
00002646: ISZERO
00002647: PUSH2 0x26b9
0000264a: JUMPI
0000264b: PUSH1 0x01
0000264d: PUSH1 0xa0
0000264f: PUSH1 0x02
00002651: EXP
00002652: SUB
00002653: CALLER
00002654: DUP2
00002655: AND
00002656: PUSH1 0x00
00002658: DUP2
00002659: DUP2
0000265a: MSTORE
0000265b: PUSH1 0x14
0000265d: PUSH1 0x20
0000265f: SWAP1
00002660: DUP2
00002661: MSTORE
00002662: PUSH1 0x40
00002664: DUP1
00002665: DUP4
00002666: KECCAK256
00002667: DUP1
00002668: SLOAD
00002669: DUP9
0000266a: SWAP1
0000266b: SUB
0000266c: SWAP1
0000266d: SSTORE
0000266e: SWAP4
0000266f: DUP8
00002670: AND
00002671: DUP1
00002672: DUP4
00002673: MSTORE
00002674: SWAP2
00002675: DUP5
00002676: SWAP1
00002677: KECCAK256
00002678: DUP1
00002679: SLOAD
0000267a: DUP8
0000267b: ADD
0000267c: SWAP1
0000267d: SSTORE
0000267e: DUP4
0000267f: MLOAD
00002680: DUP7
00002681: DUP2
00002682: MSTORE
00002683: SWAP4
00002684: MLOAD
00002685: SWAP2
00002686: SWAP4
00002687: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000026a8: SWAP3
000026a9: SWAP1
000026aa: DUP2
000026ab: SWAP1
000026ac: SUB
000026ad: SWAP1
000026ae: SWAP2
000026af: ADD
000026b0: SWAP1
000026b1: LOG3
000026b2: POP
000026b3: PUSH1 0x01
000026b5: PUSH2 0x033f
000026b8: JUMP
000026b9: JUMPDEST
000026ba: POP
000026bb: PUSH1 0x00
000026bd: PUSH2 0x033f
000026c0: JUMP
000026c1: JUMPDEST
000026c2: PUSH1 0x01
000026c4: PUSH1 0xa0
000026c6: PUSH1 0x02
000026c8: EXP
000026c9: SUB
000026ca: DUP5
000026cb: AND
000026cc: PUSH1 0x00
000026ce: SWAP1
000026cf: DUP2
000026d0: MSTORE
000026d1: PUSH1 0x14
000026d3: PUSH1 0x20
000026d5: MSTORE
000026d6: PUSH1 0x40
000026d8: SWAP1
000026d9: KECCAK256
000026da: SLOAD
000026db: DUP3
000026dc: SWAP1
000026dd: LT
000026de: DUP1
000026df: ISZERO
000026e0: SWAP1
000026e1: PUSH2 0x270a
000026e4: JUMPI
000026e5: POP
000026e6: PUSH1 0x15
000026e8: PUSH1 0x20
000026ea: SWAP1
000026eb: DUP2
000026ec: MSTORE
000026ed: PUSH1 0x40
000026ef: PUSH1 0x00
000026f1: DUP2
000026f2: DUP2
000026f3: KECCAK256
000026f4: CALLER
000026f5: PUSH1 0x01
000026f7: PUSH1 0xa0
000026f9: PUSH1 0x02
000026fb: EXP
000026fc: SUB
000026fd: AND
000026fe: DUP3
000026ff: MSTORE
00002700: SWAP1
00002701: SWAP3
00002702: MSTORE
00002703: SWAP1
00002704: KECCAK256
00002705: SLOAD
00002706: DUP3
00002707: SWAP1
00002708: LT
00002709: ISZERO
0000270a: JUMPDEST
0000270b: DUP1
0000270c: ISZERO
0000270d: PUSH2 0x2716
00002710: JUMPI
00002711: POP
00002712: PUSH1 0x00
00002714: DUP3
00002715: GT
00002716: JUMPDEST
00002717: ISZERO
00002718: PUSH2 0x27a4
0000271b: JUMPI
0000271c: PUSH1 0x01
0000271e: PUSH1 0xa0
00002720: PUSH1 0x02
00002722: EXP
00002723: SUB
00002724: DUP4
00002725: DUP2
00002726: AND
00002727: PUSH1 0x00
00002729: DUP2
0000272a: DUP2
0000272b: MSTORE
0000272c: PUSH1 0x14
0000272e: PUSH1 0x20
00002730: SWAP1
00002731: DUP2
00002732: MSTORE
00002733: PUSH1 0x40
00002735: DUP1
00002736: DUP4
00002737: KECCAK256
00002738: DUP1
00002739: SLOAD
0000273a: DUP9
0000273b: ADD
0000273c: SWAP1
0000273d: SSTORE
0000273e: DUP9
0000273f: DUP6
00002740: AND
00002741: DUP1
00002742: DUP5
00002743: MSTORE
00002744: DUP2
00002745: DUP5
00002746: KECCAK256
00002747: DUP1
00002748: SLOAD
00002749: DUP10
0000274a: SWAP1
0000274b: SUB
0000274c: SWAP1
0000274d: SSTORE
0000274e: PUSH1 0x15
00002750: DUP4
00002751: MSTORE
00002752: DUP2
00002753: DUP5
00002754: KECCAK256
00002755: CALLER
00002756: SWAP1
00002757: SWAP7
00002758: AND
00002759: DUP5
0000275a: MSTORE
0000275b: SWAP5
0000275c: DUP3
0000275d: MSTORE
0000275e: SWAP2
0000275f: DUP3
00002760: SWAP1
00002761: KECCAK256
00002762: DUP1
00002763: SLOAD
00002764: DUP8
00002765: SWAP1
00002766: SUB
00002767: SWAP1
00002768: SSTORE
00002769: DUP2
0000276a: MLOAD
0000276b: DUP7
0000276c: DUP2
0000276d: MSTORE
0000276e: SWAP2
0000276f: MLOAD
00002770: SWAP3
00002771: SWAP4
00002772: SWAP3
00002773: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002794: SWAP3
00002795: DUP2
00002796: SWAP1
00002797: SUB
00002798: SWAP1
00002799: SWAP2
0000279a: ADD
0000279b: SWAP1
0000279c: LOG3
0000279d: POP
0000279e: PUSH1 0x01
000027a0: PUSH2 0x2528
000027a3: JUMP
000027a4: JUMPDEST
000027a5: POP
000027a6: PUSH1 0x00
000027a8: PUSH2 0x2528
000027ab: JUMP
000027ac: JUMPDEST
000027ad: PUSH1 0x01
000027af: PUSH1 0xa0
000027b1: PUSH1 0x02
000027b3: EXP
000027b4: SUB
000027b5: DUP4
000027b6: DUP2
000027b7: AND
000027b8: PUSH1 0x00
000027ba: SWAP1
000027bb: DUP2
000027bc: MSTORE
000027bd: PUSH1 0x0a
000027bf: PUSH1 0x20
000027c1: SWAP1
000027c2: DUP2
000027c3: MSTORE
000027c4: PUSH1 0x40
000027c6: DUP1
000027c7: DUP4
000027c8: KECCAK256
000027c9: SLOAD
000027ca: PUSH1 0x16
000027cc: SLOAD
000027cd: PUSH1 0x07
000027cf: SLOAD
000027d0: DUP4
000027d1: MLOAD
000027d2: PUSH1 0xe0
000027d4: PUSH1 0x02
000027d6: EXP
000027d7: PUSH4 0xd2cc718f
000027dc: MUL
000027dd: DUP2
000027de: MSTORE
000027df: SWAP4
000027e0: MLOAD
000027e1: SWAP3
000027e2: SWAP7
000027e3: SWAP2
000027e4: SWAP6
000027e5: SWAP2
000027e6: AND
000027e7: SWAP4
000027e8: PUSH4 0xd2cc718f
000027ed: SWAP4
000027ee: PUSH1 0x04
000027f0: DUP2
000027f1: DUP2
000027f2: ADD
000027f3: SWAP5
000027f4: SWAP3
000027f5: SWAP4
000027f6: SWAP2
000027f7: DUP4
000027f8: SWAP1
000027f9: SUB
000027fa: ADD
000027fb: SWAP1
000027fc: DUP3
000027fd: SWAP1
000027fe: DUP8
000027ff: PUSH2 0x61da
00002802: GAS
00002803: SUB
00002804: CALL
00002805: ISZERO
00002806: PUSH2 0x0002
00002809: JUMPI
0000280a: POP
0000280b: POP
0000280c: PUSH1 0x40
0000280e: MLOAD
0000280f: MLOAD
00002810: SWAP1
00002811: POP
00002812: PUSH2 0x281a
00002815: DUP7
00002816: PUSH2 0x05ec
00002819: JUMP
0000281a: JUMPDEST
0000281b: MUL
0000281c: DIV
0000281d: LT
0000281e: ISZERO
0000281f: PUSH2 0x2827
00002822: JUMPI
00002823: PUSH2 0x0002
00002826: JUMP
00002827: JUMPDEST
00002828: PUSH1 0x01
0000282a: PUSH1 0xa0
0000282c: PUSH1 0x02
0000282e: EXP
0000282f: SUB
00002830: DUP4
00002831: DUP2
00002832: AND
00002833: PUSH1 0x00
00002835: SWAP1
00002836: DUP2
00002837: MSTORE
00002838: PUSH1 0x0a
0000283a: PUSH1 0x20
0000283c: SWAP1
0000283d: DUP2
0000283e: MSTORE
0000283f: PUSH1 0x40
00002841: DUP1
00002842: DUP4
00002843: KECCAK256
00002844: SLOAD
00002845: PUSH1 0x16
00002847: SLOAD
00002848: PUSH1 0x07
0000284a: SLOAD
0000284b: DUP4
0000284c: MLOAD
0000284d: PUSH1 0xe0
0000284f: PUSH1 0x02
00002851: EXP
00002852: PUSH4 0xd2cc718f
00002857: MUL
00002858: DUP2
00002859: MSTORE
0000285a: SWAP4
0000285b: MLOAD
0000285c: SWAP3
0000285d: SWAP7
0000285e: SWAP2
0000285f: SWAP6
00002860: SWAP2
00002861: AND
00002862: SWAP4
00002863: PUSH4 0xd2cc718f
00002868: SWAP4
00002869: PUSH1 0x04
0000286b: DUP2
0000286c: DUP2
0000286d: ADD
0000286e: SWAP5
0000286f: SWAP3
00002870: SWAP4
00002871: SWAP2
00002872: DUP4
00002873: SWAP1
00002874: SUB
00002875: ADD
00002876: SWAP1
00002877: DUP3
00002878: SWAP1
00002879: DUP8
0000287a: PUSH2 0x61da
0000287d: GAS
0000287e: SUB
0000287f: CALL
00002880: ISZERO
00002881: PUSH2 0x0002
00002884: JUMPI
00002885: POP
00002886: POP
00002887: PUSH1 0x40
00002889: MLOAD
0000288a: MLOAD
0000288b: SWAP1
0000288c: POP
0000288d: PUSH2 0x2895
00002890: DUP7
00002891: PUSH2 0x05ec
00002894: JUMP
00002895: JUMPDEST
00002896: MUL
00002897: DIV
00002898: SUB
00002899: SWAP1
0000289a: POP
0000289b: PUSH1 0x07
0000289d: PUSH1 0x00
0000289f: SWAP1
000028a0: SLOAD
000028a1: SWAP1
000028a2: PUSH2 0x0100
000028a5: EXP
000028a6: SWAP1
000028a7: DIV
000028a8: PUSH1 0x01
000028aa: PUSH1 0xa0
000028ac: PUSH1 0x02
000028ae: EXP
000028af: SUB
000028b0: AND
000028b1: PUSH1 0x01
000028b3: PUSH1 0xa0
000028b5: PUSH1 0x02
000028b7: EXP
000028b8: SUB
000028b9: AND
000028ba: PUSH4 0x0221038a
000028bf: DUP5
000028c0: DUP4
000028c1: PUSH1 0x40
000028c3: MLOAD
000028c4: DUP4
000028c5: PUSH1 0xe0
000028c7: PUSH1 0x02
000028c9: EXP
000028ca: MUL
000028cb: DUP2
000028cc: MSTORE
000028cd: PUSH1 0x04
000028cf: ADD
000028d0: DUP1
000028d1: DUP4
000028d2: PUSH1 0x01
000028d4: PUSH1 0xa0
000028d6: PUSH1 0x02
000028d8: EXP
000028d9: SUB
000028da: AND
000028db: DUP2
000028dc: MSTORE
000028dd: PUSH1 0x20
000028df: ADD
000028e0: DUP3
000028e1: DUP2
000028e2: MSTORE
000028e3: PUSH1 0x20
000028e5: ADD
000028e6: SWAP3
000028e7: POP
000028e8: POP
000028e9: POP
000028ea: PUSH1 0x20
000028ec: PUSH1 0x40
000028ee: MLOAD
000028ef: DUP1
000028f0: DUP4
000028f1: SUB
000028f2: DUP2
000028f3: PUSH1 0x00
000028f5: DUP8
000028f6: PUSH2 0x61da
000028f9: GAS
000028fa: SUB
000028fb: CALL
000028fc: ISZERO
000028fd: PUSH2 0x0002
00002900: JUMPI
00002901: POP
00002902: POP
00002903: PUSH1 0x40
00002905: MLOAD
00002906: MLOAD
00002907: ISZERO
00002908: ISZERO
00002909: SWAP1
0000290a: POP
0000290b: PUSH2 0x2913
0000290e: JUMPI
0000290f: PUSH2 0x0002
00002912: JUMP
00002913: JUMPDEST
00002914: PUSH1 0x01
00002916: PUSH1 0xa0
00002918: PUSH1 0x02
0000291a: EXP
0000291b: SUB
0000291c: DUP4
0000291d: AND
0000291e: PUSH1 0x00
00002920: SWAP1
00002921: DUP2
00002922: MSTORE
00002923: PUSH1 0x0a
00002925: PUSH1 0x20
00002927: MSTORE
00002928: PUSH1 0x40
0000292a: SWAP1
0000292b: KECCAK256
0000292c: DUP1
0000292d: SLOAD
0000292e: DUP3
0000292f: ADD
00002930: SWAP1
00002931: SSTORE
00002932: PUSH1 0x01
00002934: SWAP2
00002935: POP
00002936: PUSH2 0x0b99
00002939: JUMP
0000293a: JUMPDEST
0000293b: PUSH1 0x01
0000293d: PUSH1 0xa0
0000293f: PUSH1 0x02
00002941: EXP
00002942: SUB
00002943: DUP7
00002944: AND
00002945: PUSH1 0x00
00002947: SWAP1
00002948: DUP2
00002949: MSTORE
0000294a: PUSH1 0x0a
0000294c: PUSH1 0x20
0000294e: MSTORE
0000294f: PUSH1 0x40
00002951: SWAP1
00002952: KECCAK256
00002953: SLOAD
00002954: DUP1
00002955: DUP6
00002956: MUL
00002957: SWAP2
00002958: SWAP1
00002959: SWAP2
0000295a: DIV
0000295b: SWAP2
0000295c: POP
0000295d: DUP2
0000295e: GT
0000295f: ISZERO
00002960: PUSH2 0x2968
00002963: JUMPI
00002964: PUSH2 0x0002
00002967: JUMP
00002968: JUMPDEST
00002969: PUSH1 0x01
0000296b: PUSH1 0xa0
0000296d: PUSH1 0x02
0000296f: EXP
00002970: SUB
00002971: DUP6
00002972: DUP2
00002973: AND
00002974: PUSH1 0x00
00002976: SWAP1
00002977: DUP2
00002978: MSTORE
00002979: PUSH1 0x0a
0000297b: PUSH1 0x20
0000297d: MSTORE
0000297e: PUSH1 0x40
00002980: DUP1
00002981: DUP3
00002982: KECCAK256
00002983: DUP1
00002984: SLOAD
00002985: DUP6
00002986: SWAP1
00002987: SUB
00002988: SWAP1
00002989: SSTORE
0000298a: SWAP2
0000298b: DUP7
0000298c: AND
0000298d: DUP2
0000298e: MSTORE
0000298f: KECCAK256
00002990: DUP1
00002991: SLOAD
00002992: DUP3
00002993: ADD
00002994: SWAP1
00002995: SSTORE
00002996: PUSH1 0x01
00002998: SWAP2
00002999: POP
0000299a: POP
0000299b: SWAP4
0000299c: SWAP3
0000299d: POP
0000299e: POP
0000299f: POP
000029a0: JUMP
000029a1: JUMPDEST
000029a2: POP
000029a3: PUSH1 0x00
000029a5: PUSH2 0x0606
000029a8: JUMP
000029a9: JUMPDEST
000029aa: ADD
000029ab: PUSH1 0x03
000029ad: MUL
000029ae: PUSH1 0x16
000029b0: PUSH1 0x00
000029b2: POP
000029b3: SLOAD
000029b4: DUP4
000029b5: MUL
000029b6: DIV
000029b7: PUSH1 0x01
000029b9: PUSH1 0x00
000029bb: POP
000029bc: SLOAD
000029bd: PUSH1 0x16
000029bf: PUSH1 0x00
000029c1: POP
000029c2: SLOAD
000029c3: DIV
000029c4: ADD
000029c5: SWAP1
000029c6: POP
000029c7: PUSH2 0x0606
000029ca: JUMP
000029cb: JUMPDEST
000029cc: PUSH1 0x01
000029ce: PUSH1 0xa0
000029d0: PUSH1 0x02
000029d2: EXP
000029d3: SUB
000029d4: DUP4
000029d5: AND
000029d6: PUSH1 0x00
000029d8: SWAP1
000029d9: DUP2
000029da: MSTORE
000029db: PUSH1 0x0b
000029dd: PUSH1 0x20
000029df: MSTORE
000029e0: PUSH1 0x40
000029e2: DUP2
000029e3: KECCAK256
000029e4: SLOAD
000029e5: DUP2
000029e6: SLOAD
000029e7: DUP2
000029e8: LT
000029e9: ISZERO
000029ea: PUSH2 0x0002
000029ed: JUMPI
000029ee: DUP2
000029ef: DUP1
000029f0: MSTORE
000029f1: PUSH1 0x0e
000029f3: MUL
000029f4: PUSH1 0x00
000029f6: DUP1
000029f7: MLOAD
000029f8: PUSH1 0x20
000029fa: PUSH2 0x2a36
000029fd: DUP4
000029fe: CODECOPY
000029ff: DUP2
00002a00: MLOAD
00002a01: SWAP2
00002a02: MSTORE
00002a03: ADD
00002a04: SWAP1
00002a05: POP
00002a06: PUSH1 0x03
00002a08: DUP2
00002a09: ADD
00002a0a: SLOAD
00002a0b: SWAP1
00002a0c: SWAP2
00002a0d: POP
00002a0e: TIMESTAMP
00002a0f: GT
00002a10: ISZERO
00002a11: PUSH2 0x0b94
00002a14: JUMPI
00002a15: PUSH1 0x01
00002a17: PUSH1 0xa0
00002a19: PUSH1 0x02
00002a1b: EXP
00002a1c: SUB
00002a1d: DUP4
00002a1e: AND
00002a1f: PUSH1 0x00
00002a21: SWAP1
00002a22: DUP2
00002a23: MSTORE
00002a24: PUSH1 0x0b
00002a26: PUSH1 0x20
00002a28: MSTORE
00002a29: PUSH1 0x40
00002a2b: DUP2
00002a2c: KECCAK256
00002a2d: DUP2
00002a2e: SWAP1
00002a2f: SSTORE
00002a30: SWAP2
00002a31: POP
00002a32: PUSH2 0x0b99
00002a35: JUMP
00002a36: UNKNOWN(0x29)
00002a37: UNKNOWN(0x0D)
00002a38: UNKNOWN(0xEC)
00002a39: UNKNOWN(0xD9)
00002a3a: SLOAD
00002a3b: DUP12
00002a3c: PUSH3 0xa8d603
00002a40: GASLIMIT
00002a41: UNKNOWN(0xA9)
00002a42: DUP9
00002a43: CODESIZE
00002a44: PUSH16 0xc84ba6bc95484008f6362f93160ef3e5
00002a55: PUSH4

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical reentrancy codex Reentrant splitDAO via withdrawRewardFor drains the main DAO balance 90 no
view
evidence_json
{
    "evidence": "splitDAO calls withdrawRewardFor before zeroing balances, and withdrawRewardFor makes an external call via rewardAccount.payOut before updating paidOut, enabling reentrancy into splitDAO.",
    "locations": [
        "contracts/Contract.sol:1007",
        "contracts/Contract.sol:1009",
        "contracts/Contract.sol:1010",
        "contracts/Contract.sol:1058",
        "contracts/Contract.sol:1064",
        "contracts/Contract.sol:194"
    ],
    "recommendation": "Update balances and proposal state before any external call (including reward payouts), or add a reentrancy guard around splitDAO/withdrawRewardFor; alternatively, separate reward withdrawals into a later pull-only step after balances are burned.",
    "exploit_scenario": "1) Attacker acquires DAO tokens in a contract with a fallback that can call splitDAO again. 2) They create/vote for a split proposal naming a curator they control and wait until the voting deadline. 3) They call splitDAO from the attacker contract. 4) splitDAO calls withdrawRewardFor before burning the attacker tokens; withdrawRewardFor triggers rewardAccount.payOut which performs a low-level call to the attacker, letting the fallback reenter splitDAO while balances[msg.sender] are still intact. 5) Each reentrant call transfers fundsToBeMoved to the new DAO again. Repeat until the DAO balance is exhausted. Estimated profit: up to the full DAO ETH balance (actualBalance and any distributable rewards), i.e., nearly 100% of the contract's funds."
}
high reentrancy codex Reentrant getMyReward drains rewardAccount 85 no
view
evidence_json
{
    "evidence": "withdrawRewardFor calls rewardAccount.payOut before updating paidOut; ManagedAccount.payOut uses a low-level call to _recipient, enabling reentrancy.",
    "locations": [
        "contracts/Contract.sol:1053",
        "contracts/Contract.sol:1058",
        "contracts/Contract.sol:1064",
        "contracts/Contract.sol:1066",
        "contracts/Contract.sol:194"
    ],
    "recommendation": "Update paidOut before making the external payout, or use a reentrancy guard and a pull pattern for reward withdrawals.",
    "exploit_scenario": "1) Attacker holds any DAO tokens in a contract with a fallback that reenters getMyReward. 2) They call getMyReward. 3) withdrawRewardFor computes the reward and calls rewardAccount.payOut (external call) before paidOut is updated, triggering the fallback. 4) The fallback reenters getMyReward repeatedly while paidOut remains unchanged, pulling the same reward multiple times until rewardAccount is depleted. Estimated profit: up to the entire rewardAccount balance (all accumulated rewards)."
}
high reentrancy codex Reentrant refund drains all funds if token creation fails 85 no
view
evidence_json
{
    "evidence": "refund performs a low-level call to msg.sender for weiGiven[msg.sender] before resetting balances and weiGiven, enabling reentrancy and repeated refunds.",
    "locations": [
        "contracts/Contract.sol:314",
        "contracts/Contract.sol:320",
        "contracts/Contract.sol:321",
        "contracts/Contract.sol:323",
        "contracts/Contract.sol:325"
    ],
    "recommendation": "Set weiGiven/balances to zero before sending, or use a pull-only pattern with a reentrancy guard.",
    "exploit_scenario": "1) Attacker contributes during token creation from a contract with a fallback that reenters refund. 2) If minTokensToCreate is not reached and closingTime passes, they call refund. 3) refund sends msg.sender.call.value(weiGiven[msg.sender]) before zeroing balances/weiGiven. 4) The fallback reenters refund and receives the same weiGiven repeatedly until the contract balance is exhausted. Estimated profit: up to the entire token creation balance (all contributions plus any extraBalance swept in)."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x119e3d0b842e1d712eee26d4becd5d569c93a69021a744165e553ae0c2c45f86
call_targets: 0xbb9bc244d798123fde783fcc1c72d3bb8c189413
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x119e3d0b842e1d712eee26d4becd5d569c93a69021a744165e553ae0c2c45f86",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbb9bc244d798123fde783fcc1c72d3bb8c189413"
    ],
    "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": "0x013cf08b",
            "selector": "0x013cf08b",
            "calldata_variants": [
                "0x013cf08b",
                "0x013cf08b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c3b7b96",
            "selector": "0x0c3b7b96",
            "calldata_variants": [
                "0x0c3b7b96",
                "0x0c3b7b960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e708203",
            "selector": "0x0e708203",
            "calldata_variants": [
                "0x0e708203",
                "0x0e7082030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x149acf9a",
            "selector": "0x149acf9a",
            "calldata_variants": [
                "0x149acf9a",
                "0x149acf9a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f2dc5ef",
            "selector": "0x1f2dc5ef",
            "calldata_variants": [
                "0x1f2dc5ef",
                "0x1f2dc5ef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x21b5b8dd",
            "selector": "0x21b5b8dd",
            "calldata_variants": [
                "0x21b5b8dd",
                "0x21b5b8dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2761,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3077,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3188,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 25,
    "guards_detected": [],
    "untrusted_call_count": 25
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x119e3d0b842e1d712eee26d4becd5d569c93a69021a744165e553ae0c2c45f86
call_targets: 0xbb9bc244d798123fde783fcc1c72d3bb8c189413
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x119e3d0b842e1d712eee26d4becd5d569c93a69021a744165e553ae0c2c45f86",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbb9bc244d798123fde783fcc1c72d3bb8c189413"
    ],
    "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": "0x013cf08b",
            "selector": "0x013cf08b",
            "calldata_variants": [
                "0x013cf08b",
                "0x013cf08b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c3b7b96",
            "selector": "0x0c3b7b96",
            "calldata_variants": [
                "0x0c3b7b96",
                "0x0c3b7b960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0e708203",
            "selector": "0x0e708203",
            "calldata_variants": [
                "0x0e708203",
                "0x0e7082030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x149acf9a",
            "selector": "0x149acf9a",
            "calldata_variants": [
                "0x149acf9a",
                "0x149acf9a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1f2dc5ef",
            "selector": "0x1f2dc5ef",
            "calldata_variants": [
                "0x1f2dc5ef",
                "0x1f2dc5ef0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x21b5b8dd",
            "selector": "0x21b5b8dd",
            "calldata_variants": [
                "0x21b5b8dd",
                "0x21b5b8dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2761,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3077,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3188,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 25,
    "guards_detected": []
}
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": 25
}