839a0dce-7e4a-416f-a10e-f6ca70c4e5cb
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| 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 |
No slither job recorded yet.
[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"]}]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | reentrancy | codex | Reentrant splitDAO via withdrawRewardFor drains the main DAO balance | 90 | no | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_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 |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 25
}
|