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

Analysis Run

019bab3b-ab84-72af-bef3-c28e12418fef

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 11, 2026 4:06 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Plague.feeWithdraw() (contracts/Contract.sol#553-571) sends eth to arbitrary user
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
38569 artifact.fetch complete 1 / 3 3 months ago
38570 proxy.resolve complete 1 / 3 3 months ago
38571 tool.cast_disasm complete 1 / 3 3 months ago
38572 analysis.bundle complete 1 / 3 3 months ago
38573 capability.graph complete 1 / 3 3 months ago
38574 detector.run complete 1 / 3 3 months ago
38575 validation.fork complete 1 / 3 3 months ago
39070 report.consolidate complete 1 / 6 3 months ago
39071 tool.slither complete 1 / 2 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
complete
Attempts
1 / 2
Findings
1
Solc
0.4.24 (solc-select)
View stderr
'forge clean' running (wd: /tmp/slither-srasxypo)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-srasxypo)

Plague.feeWithdraw() (contracts/Contract.sol#553-571) sends eth to arbitrary user
	Dangerous calls:
	- receiver.transfer(_total.sub(_withdrawed)) (contracts/Contract.sol#566-570)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations

Plague.isHuman(address) (contracts/Contract.sol#217-226) is declared view but contains assembly code
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code

Plague.buyKeys(address) (contracts/Contract.sol#228-386) performs a multiplication on the result of a division:
	- _ethUse = (((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(5 * 10 ** 16)).add((5 * 10 ** 16)) (contracts/Contract.sol#331-336)
Plague.buyKeys(address) (contracts/Contract.sol#228-386) performs a multiplication on the result of a division:
	- _exAwardPercent = ((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(developmentAwardPercent).add(developmentAwardPercent) (contracts/Contract.sol#354-358)
Plague.buyKeys(address) (contracts/Contract.sol#228-386) performs a multiplication on the result of a division:
	- lastAwardEth = lastAwardEth.add(nextPlayersAward.mul(_totalAward.mul(4) / 100)) (contracts/Contract.sol#258-259)
Plague.buyKeys(address) (contracts/Contract.sol#228-386) performs a multiplication on the result of a division:
	- lastAwardEth = lastAwardEth.add(nextPlayersAward.mul(_totalAward.mul(3) / 100)) (contracts/Contract.sol#256-257)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) performs a multiplication on the result of a division:
	- _totalWithdraw = round_m[_rndNo].eth.mul(51) / 100 (contracts/Contract.sol#430-431)
	- _totalWithdraw = (_totalWithdraw.mul(playerRound_m[_rndNo][msg.sender].keys)) (contracts/Contract.sol#433-434)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#418-423)
	- _getAward = _getAward.add(_totalAward.mul(4) / 100) (contracts/Contract.sol#470-471)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#418-423)
	- _getAward = _getAward.add(_totalAward.mul(3) / 100) (contracts/Contract.sol#468-469)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#418-423)
	- _getAward = _getAward.add(_totalAward.mul(60) / 100) (contracts/Contract.sol#452-455)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#418-423)
	- _getAward = _getAward.add(_totalAward.mul(10) / 100) (contracts/Contract.sol#447-448)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) performs a multiplication on the result of a division:
	- _totalWithdraw = round_m[_rndNo].eth.mul(51) / 100 (contracts/Contract.sol#507)
	- _totalWithdraw = (_totalWithdraw.mul(playerRound_m[_rndNo][_playAddr].keys)) (contracts/Contract.sol#508-510)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#513-514)
	- _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(4) / 100) (contracts/Contract.sol#542-545)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#513-514)
	- _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(3) / 100) (contracts/Contract.sol#539-541)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#513-514)
	- _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(60) / 100) (contracts/Contract.sol#527-528)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) performs a multiplication on the result of a division:
	- _totalAward = round_m[_rndNo].eth.mul(30) / 100 (contracts/Contract.sol#513-514)
	- _ethPlayerAward = _ethPlayerAward.add(_totalAward.mul(10) / 100) (contracts/Contract.sol#523-524)
Plague.getBuyPrice() (contracts/Contract.sol#630-659) performs a multiplication on the result of a division:
	- currentPrice = (((_now.sub(round_m[_rndNo].infectiveEndTime)) / rndIncreaseTime_).mul(5 * 10 ** 16)).add((5 * 10 ** 16)) (contracts/Contract.sol#653-658)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply

Plague.changeReceiver(address).newReceiver (contracts/Contract.sol#585) lacks a zero-check on :
		- receiver = newReceiver (contracts/Contract.sol#588-589)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation

Plague.buyKeys(address) (contracts/Contract.sol#228-386) uses timestamp for comparisons
	Dangerous comparisons:
	- _now > round_m[_rndNo].endTime (contracts/Contract.sol#237-238)
	- require(bool,string)(round_m[_rndNo].endTime + rndDevelopmentReadyTime_ < _now,we should wait some time) (contracts/Contract.sol#240-243)
	- _eth > _ethUse (contracts/Contract.sol#284)
	- require(bool,string)(round_m[_rndNo].infectiveEndTime < _now,The virus is being prepared...) (contracts/Contract.sol#325-328)
	- require(bool,string)(_eth >= _ethUse,Ether amount is wrong) (contracts/Contract.sol#338-339)
	- _eth > _ethUse (contracts/Contract.sol#339)
	- _exAwardPercent >= 410 (contracts/Contract.sol#358)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) uses timestamp for comparisons
	Dangerous comparisons:
	- now > round_m[_rndNo].endTime (contracts/Contract.sol#449-450)
Plague.getPlayerAwardByRndNo(uint256,address) (contracts/Contract.sol#495-551) uses timestamp for comparisons
	Dangerous comparisons:
	- now > round_m[_rndNo].endTime (contracts/Contract.sol#524-526)
Plague.getBuyPrice() (contracts/Contract.sol#630-659) uses timestamp for comparisons
	Dangerous comparisons:
	- _now > round_m[_rndNo].endTime (contracts/Contract.sol#632)
	- round_m[_rndNo].keys >= allKeys_ && round_m[_rndNo].infectiveEndTime != 0 && round_m[_rndNo].infectLastPlayer != address(0) && _now < round_m[_rndNo].infectiveEndTime (contracts/Contract.sol#638-643)
	- round_m[_rndNo].keys >= allKeys_ && _now > round_m[_rndNo].infectiveEndTime (contracts/Contract.sol#647-651)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp

Plague.isHuman(address) (contracts/Contract.sol#217-226) uses assembly
	- INLINE ASM (contracts/Contract.sol#221-226)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage

Plague.buyKeyByAddr(address) (contracts/Contract.sol#387-390) compares to a boolean constant:
	-require(bool,string)(isStartGame == true,The game hasn't started yet.) (contracts/Contract.sol#389-390)
Plague.fallback() (contracts/Contract.sol#392-400) compares to a boolean constant:
	-require(bool,string)(isStartGame == true,The game hasn't started yet.) (contracts/Contract.sol#396-399)
Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482) compares to a boolean constant:
	-require(bool,string)(isStartGame == true,The game hasn't started yet.) (contracts/Contract.sol#413-415)
Plague.feeWithdraw() (contracts/Contract.sol#553-571) compares to a boolean constant:
	-require(bool,string)(isStartGame == true,The game hasn't started yet.) (contracts/Contract.sol#554-556)
Plague.startGame() (contracts/Contract.sol#572-581) compares to a boolean constant:
	-require(bool,string)(isStartGame == false,The game has already started!) (contracts/Contract.sol#576-578)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality

Version constraint ^0.4.24 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html)
	- DirtyBytesArrayToStorage
	- ABIDecodeTwoDimensionalArrayMemory
	- KeccakCaching
	- EmptyByteArrayCopy
	- DynamicArrayCleanup
	- ImplicitConstructorCallvalueCheck
	- TupleAssignmentMultiStackSlotComponents
	- MemoryArrayCreationOverflow
	- privateCanBeOverridden
	- SignedArrayStorageCopy
	- ABIEncoderV2StorageArrayWithMultiSlotElement
	- DynamicConstructorArgumentsClippedABIV2
	- UninitializedFunctionPointerInConstructor_0.4.x
	- IncorrectEventSignatureInLibraries_0.4.x
	- ABIEncoderV2PackedStorage_0.4.x
	- ExpExponentCleanup
	- EventStructWrongData.
It is used by:
	- ^0.4.24 (contracts/Contract.sol#1)
solc-0.4.24 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible.
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity

Event PlagueEvents.onInfectiveStage(address,uint256,uint256,uint256,uint256,address) (contracts/Contract.sol#99-111) is not in CapWords
Event PlagueEvents.onDevelopmentStage(address,uint256,uint256,uint256,address) (contracts/Contract.sol#113-121) is not in CapWords
Event PlagueEvents.onAward(address,uint256,uint256,uint256) (contracts/Contract.sol#122-129) is not in CapWords
Parameter Plague.buyKeys(address)._inveter (contracts/Contract.sol#228-230) is not in mixedCase
Parameter Plague.buyKeyByAddr(address)._inveter (contracts/Contract.sol#389) is not in mixedCase
Parameter Plague.awardByRndNo(uint256)._rndNo (contracts/Contract.sol#409) is not in mixedCase
Parameter Plague.getPlayerAwardByRndNo(uint256,address)._rndNo (contracts/Contract.sol#497-498) is not in mixedCase
Parameter Plague.getPlayerAwardByRndNo(uint256,address)._playAddr (contracts/Contract.sol#498) is not in mixedCase
Constant Plague.rndInfectiveStage_ (contracts/Contract.sol#167) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.rndInfectiveReadyTime_ (contracts/Contract.sol#168-170) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.rndDevelopmentStage_ (contracts/Contract.sol#170-171) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.rndDevelopmentReadyTime_ (contracts/Contract.sol#171-172) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.allKeys_ (contracts/Contract.sol#172-173) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.allEths_ (contracts/Contract.sol#173) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.rndIncreaseTime_ (contracts/Contract.sol#173-174) is not in UPPER_CASE_WITH_UNDERSCORES
Constant Plague.developmentAwardPercent (contracts/Contract.sol#175) is not in UPPER_CASE_WITH_UNDERSCORES
Variable Plague.round_m (contracts/Contract.sol#176) is not in mixedCase
Variable Plague.playerRound_m (contracts/Contract.sol#177) is not in mixedCase
Parameter KeysCalc.keysRec(uint256,uint256)._curEth (contracts/Contract.sol#667) is not in mixedCase
Parameter KeysCalc.keysRec(uint256,uint256)._newEth (contracts/Contract.sol#667) is not in mixedCase
Parameter KeysCalc.ethRec(uint256,uint256)._curKeys (contracts/Contract.sol#680) is not in mixedCase
Parameter KeysCalc.ethRec(uint256,uint256)._sellKeys (contracts/Contract.sol#680-682) is not in mixedCase
Parameter KeysCalc.keys(uint256)._eth (contracts/Contract.sol#692) is not in mixedCase
Parameter KeysCalc.eth(uint256)._keys (contracts/Contract.sol#707-709) is not in mixedCase
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions

Reentrancy in Plague.awardByRndNo(uint256) (contracts/Contract.sol#405-482):
	External calls:
	- msg.sender.transfer(_ethOut) (contracts/Contract.sol#478-479)
	Event emitted after the call(s):
	- PlagueEvents.onAward(msg.sender,_rndNo,_ethOut,now) (contracts/Contract.sol#479-482)
Reentrancy in Plague.buyKeys(address) (contracts/Contract.sol#228-386):
	External calls:
	- msg.sender.transfer(_eth.sub(_ethUse)) (contracts/Contract.sol#286-288)
	State variables written after the call(s):
	- playerRound_m[_rndNo][msg.sender].keys = _keys.add(playerRound_m[_rndNo][msg.sender].keys) (contracts/Contract.sol#307-310)
	- playerRound_m[_rndNo][msg.sender].eth = _ethUse.add(playerRound_m[_rndNo][msg.sender].eth) (contracts/Contract.sol#310-312)
	- round_m[_rndNo].infectiveEndTime = _now.add(rndInfectiveReadyTime_) (contracts/Contract.sol#295-297)
	- round_m[_rndNo].endTime = _now.add(rndDevelopmentStage_).add(rndInfectiveReadyTime_) (contracts/Contract.sol#297-300)
	- round_m[_rndNo].infectLastPlayer = msg.sender (contracts/Contract.sol#301-303)
	- round_m[_rndNo].leader = msg.sender (contracts/Contract.sol#305-306)
	- round_m[_rndNo].keys = _keys.add(round_m[_rndNo].keys) (contracts/Contract.sol#314-316)
	- round_m[_rndNo].eth = _ethUse.add(round_m[_rndNo].eth) (contracts/Contract.sol#317)
	- totalEth = _ethUse.add(totalEth) (contracts/Contract.sol#318)
	Event emitted after the call(s):
	- PlagueEvents.onInfectiveStage(msg.sender,_rndNo,_keys,_ethUse,_now,_inveter) (contracts/Contract.sol#318-322)
Reentrancy in Plague.buyKeys(address) (contracts/Contract.sol#228-386):
	External calls:
	- msg.sender.transfer(_eth.sub(_ethUse)) (contracts/Contract.sol#340-341)
	State variables written after the call(s):
	- playerRound_m[_rndNo][msg.sender].eth = _ethUse.add(playerRound_m[_rndNo][msg.sender].eth) (contracts/Contract.sol#344-346)
	- round_m[_rndNo].endTime = _now + rndDevelopmentStage_ (contracts/Contract.sol#342)
	- round_m[_rndNo].leader = msg.sender (contracts/Contract.sol#342)
	- round_m[_rndNo].eth = _ethUse.add(round_m[_rndNo].eth) (contracts/Contract.sol#348-351)
	- round_m[_rndNo].exAward = (_exAwardPercent.mul(_ethUse) / 1000).add(round_m[_rndNo].exAward) (contracts/Contract.sol#361-364)
	- totalEth = _ethUse.add(totalEth) (contracts/Contract.sol#351-352)
	Event emitted after the call(s):
	- PlagueEvents.onDevelopmentStage(msg.sender,_rndNo,_ethUse,_now,_inveter) (contracts/Contract.sol#364-367)
Reentrancy in Plague.buyKeys(address) (contracts/Contract.sol#228-386):
	External calls:
	- msg.sender.transfer(_eth.sub(_ethUse)) (contracts/Contract.sol#286-288)
	- msg.sender.transfer(_eth.sub(_ethUse)) (contracts/Contract.sol#340-341)
	State variables written after the call(s):
	- playerRound_m[_rndNo][_inveter].getInveterAmount = playerRound_m[_rndNo][_inveter].getInveterAmount.add(_ethUse.mul(10) / 100) (contracts/Contract.sol#369-374)
	- round_m[_rndNo].inveterAmount = round_m[_rndNo].inveterAmount.add(_ethUse.mul(10) / 100) (contracts/Contract.sol#375-379)
	- round_m[_rndNo].loseInfective[round_m[_rndNo].totalInfective % 4] = round_m[_rndNo].lastInfective[round_m[_rndNo].totalInfective % 11] (contracts/Contract.sol#381-385)
	- round_m[_rndNo].lastInfective[round_m[_rndNo].totalInfective % 11] = msg.sender (contracts/Contract.sol#385)
	- round_m[_rndNo].totalInfective = round_m[_rndNo].totalInfective.add(1) (contracts/Contract.sol#385-386)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4

Plague.getBuyPrice() (contracts/Contract.sol#630-659) uses literals with too many digits:
	- ((round_m[_rndNo].keys.add(10000000000000000000)).ethRec(10000000000000000000)) (contracts/Contract.sol#633-635)
Plague.slitherConstructorConstantVariables() (contracts/Contract.sol#129-659) uses literals with too many digits:
	- allKeys_ = 15000000 * (10 ** 18) (contracts/Contract.sol#172-173)
Plague.slitherConstructorConstantVariables() (contracts/Contract.sol#129-659) uses literals with too many digits:
	- allEths_ = 18703123828125000000000 (contracts/Contract.sol#173)
KeysCalc.keys(uint256) (contracts/Contract.sol#691-699) uses literals with too many digits:
	- ((((((_eth).mul(1000000000000000000)).mul(312500000000000000000000000)).add(5624988281256103515625000000000000000000000000000000000000000000)).sqrt()).sub(74999921875000000000000000000000)) / (156250000) (contracts/Contract.sol#696-699)
KeysCalc.eth(uint256) (contracts/Contract.sol#706-715) uses literals with too many digits:
	- ((78125000).mul(_keys.sq()).add(((149999843750000).mul(_keys.mul(1000000000000000000))) / (2))) / ((1000000000000000000).sq()) (contracts/Contract.sol#710-714)
Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits
. analyzed (4 contracts with 100 detectors), 63 result(s) found
Metadata
{
    "solc": {
        "status": "ok",
        "use_rc": 0,
        "version": "0.4.24",
        "strategy": "solc-select",
        "solc_path": "/var/www/tripwire/.venv/bin/solc",
        "install_rc": 0,
        "use_stderr": null,
        "use_stdout": "Switched global version to 0.4.24",
        "install_stderr": null,
        "install_stdout": "Installing solc '0.4.24'...\nVersion '0.4.24' installed."
    },
    "solc_args": "--base-path /tmp/slither-srasxypo --allow-paths /tmp/slither-srasxypo,/tmp/slither-srasxypo/lib,/tmp/slither-srasxypo/src",
    "remappings": [],
    "source_files": [
        "contracts/Contract.sol"
    ],
    "contract_count": 0,
    "contract_names": [],
    "detector_count": 63,
    "workspace_hash": "e186157dee74d6e12463d7df09cdaf02b9fa32160af53c58d67f843811768691",
    "duration_seconds": 2.176600933074951,
    "solc_version_requested": "0.4.24"
}

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
Summary
Found two low-severity issues: the anti-contract access control can be bypassed, and round timing/pricing relies on manipulable block timestamps.
View stdout
{"no_findings":false,"summary":"Found two low-severity issues: the anti-contract access control can be bypassed, and round timing/pricing relies on manipulable block timestamps.","findings":[{"severity":"low","category":"access_control","title":"`onlyHuman` contract check is bypassable via constructor calls","exploit_scenario":"An attacker deploys a contract that calls `buyKeyByAddr` or the fallback during its constructor. During construction, `extcodesize(msg.sender)` is 0, so the `onlyHuman` check passes, allowing automated/contract interaction despite the intended restriction. This can be used by bots for faster buys or coordinated actions that the design tries to prevent.","recommendation":"Do not rely on `extcodesize` to block contracts. If contract interaction must be restricted, use explicit allowlists or redesign the game rules to be contract-agnostic.","evidence":"`onlyHuman` relies on `extcodesize(msg.sender)` being 0 to allow calls.","locations":["contracts/Contract.sol:196","contracts/Contract.sol:198","contracts/Contract.sol:201","contracts/Contract.sol:398","contracts/Contract.sol:411"]},{"severity":"low","category":"oracle","title":"Game timing and price logic depend on block.timestamp manipulation","exploit_scenario":"Miners can slightly skew `now` to extend or shorten rounds, influence when the infection/development stages end, and affect who becomes the final leader or the price paid in the second stage. This can be exploited near round boundaries to gain a payout advantage.","recommendation":"Avoid using `block.timestamp` as a strict boundary for payout-critical logic. Consider using larger time buffers, block.number-based windows, or commit/reveal mechanisms for finalization-sensitive outcomes.","evidence":"Round transitions, leader selection timing, and second-stage pricing are all driven by `now` comparisons and arithmetic.","locations":["contracts/Contract.sol:243","contracts/Contract.sol:247","contracts/Contract.sol:304","contracts/Contract.sol:351","contracts/Contract.sol:460","contracts/Contract.sol:649","contracts/Contract.sol:667"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-0p_pfdr7
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019babae-8271-7f60-8850-877667d58387
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-0p_pfdr7 succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/Contract.sol
================================================================================
pragma solidity ^0.4.24;
//================================================================================
//                            Plague Inc. <Grand prize>
// WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
//                     This game is easy for you to get rich.
//                           Please prepare enough ETH.
//                 If you have HEART DISEASE, PLEASE DON'T PLAY.
//       If you are Chinese or American, please don't play. YOU ARE TOO RICH.
// 
// Plague Inc. , which is abbreviated as PIC by players.
// is developed by a well-known games company who put a lot of effort into R&D.
// One evening, our producer had a hands-on experience on FOMO3D.
// and he was really annoyed by the "unreasonable" numerical settings in FOMO3D.
// He said: "We can make a better one!"


thinking
**Analyzing potential vulnerabilities in Plague contract**

I'm carefully reviewing security aspects of a Solidity 0.4.24 contract named Plague, focusing on payable functions and withdrawal logic. I found possible DoS issues from division by zero when no keys exist in a round, nuanced reentrancy protections relying on transfer's 2300 gas stipend, and the limits of onlyHuman checks against contracts in construction. There's also timestamp manipulation risk typical in games and subtle award calculation edge cases that could cause revert or stuck states. Overall, the contract seems cautiously designed but with some areas worth flagging for low-to-medium risks.
thinking
**Identifying logic edge cases and design quirks**

I'm weighing several subtle issues like potential underflows causing award function reverts when rounds have no participants, partial fund carryover that may leave some rewards locked, and inconsistencies in key-to-ETH calculations during final buys. The onlyHuman check is bypassable during contract construction allowing unintended calls, and timestamp reliance offers miner manipulation opportunities. While many findings are low severity or quirks in game design, these behaviors highlight interesting edge cases worth noting.
exec
/bin/bash -lc 'nl -ba contracts/Contract.sol' in /tmp/codex-0p_pfdr7 succeeded in 5ms:
     1	pragma solidity ^0.4.24;
     2	//================================================================================
     3	//                            Plague Inc. <Grand prize>
     4	// WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!
     5	//                     This game is easy for you to get rich.
     6	//                           Please prepare enough ETH.
     7	//                 If you have HEART DISEASE, PLEASE DON'T PLAY.
     8	//       If you are Chinese or American, please don't play. YOU ARE TOO RICH.
     9	// 
    10	// Plague Inc. , which is abbreviated as PIC by players.
    11	// is developed by a well-known games company who put a lot of effort into R&D.
    12	// One evening, our producer had a hands-on experience on FOMO3D.
    13	// and he was really annoyed by the "unreasonable" numerical settings in FOMO3D.
    14	// He said: "We can make a better one!"
    15	// So we made a better one. ^v^
    16	// 
    17	// # It takes less time for investors to get back their capital, while making more
    18	//   profit (51% for investor dividends).
    19	// # Introducers can get a high return of 10% (effective in the long term).
    20	// # A lot of investors suffered losses in FOMO3D Quick, which is solved perfectly

thinking
**Assembling categorized security findings**

I'm organizing the findings into meaningful security categories—mainly access control for the onlyHuman bypass and oracle for timestamp manipulation—while carefully evaluating severity and exploitability. I'll craft a concise JSON summary with specific findings, evidence snippets, recommendations, and source locations.
codex
{"no_findings":false,"summary":"Found two low-severity issues: the anti-contract access control can be bypassed, and round timing/pricing relies on manipulable block timestamps.","findings":[{"severity":"low","category":"access_control","title":"`onlyHuman` contract check is bypassable via constructor calls","exploit_scenario":"An attacker deploys a contract that calls `buyKeyByAddr` or the fallback during its constructor. During construction, `extcodesize(msg.sender)` is 0, so the `onlyHuman` check passes, allowing automated/contract interaction despite the intended restriction. This can be used by bots for faster buys or coordinated actions that the design tries to prevent.","recommendation":"Do not rely on `extcodesize` to block contracts. If contract interaction must be restricted, use explicit allowlists or redesign the game rules to be contract-agnostic.","evidence":"`onlyHuman` relies on `extcodesize(msg.sender)` being 0 to allow calls.","locations":["contracts/Contract.sol:196","contracts/Contract.sol:198","contracts/Contract.sol:201","contracts/Contract.sol:398","contracts/Contract.sol:411"]},{"severity":"low","category":"oracle","title":"Game timing and price logic depend on block.timestamp manipulation","exploit_scenario":"Miners can slightly skew `now` to extend or shorten rounds, influence when the infection/development stages end, and affect who becomes the final leader or the price paid in the second stage. This can be exploited near round boundaries to gain a payout advantage.","recommendation":"Avoid using `block.timestamp` as a strict boundary for payout-critical logic. Consider using larger time buffers, block.number-based windows, or commit/reveal mechanisms for finalization-sensitive outcomes.","evidence":"Round transitions, leader selection timing, and second-stage pricing are all driven by `now` comparisons and arithmetic.","locations":["contracts/Contract.sol:243","contracts/Contract.sol:247","contracts/Contract.sol:304","contracts/Contract.sol:351","contracts/Contract.sol:460","contracts/Contract.sol:649","contracts/Contract.sol:667"]}]}
tokens used
29,248
Metadata
{
    "codex": {
        "ran_at": "2026-01-11T06:14:07.319653+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 1,
        "import_count": 0,
        "first_party_contracts_count": 1
    },
    "summary": "Found two low-severity issues: the anti-contract access control can be bypassed, and round timing/pricing relies on manipulable block timestamps.",
    "raw_final": {
        "summary": "Found two low-severity issues: the anti-contract access control can be bypassed, and round timing/pricing relies on manipulable block timestamps.",
        "findings": [
            {
                "title": "`onlyHuman` contract check is bypassable via constructor calls",
                "category": "access_control",
                "evidence": "`onlyHuman` relies on `extcodesize(msg.sender)` being 0 to allow calls.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:196",
                    "contracts/Contract.sol:198",
                    "contracts/Contract.sol:201",
                    "contracts/Contract.sol:398",
                    "contracts/Contract.sol:411"
                ],
                "recommendation": "Do not rely on `extcodesize` to block contracts. If contract interaction must be restricted, use explicit allowlists or redesign the game rules to be contract-agnostic.",
                "exploit_scenario": "An attacker deploys a contract that calls `buyKeyByAddr` or the fallback during its constructor. During construction, `extcodesize(msg.sender)` is 0, so the `onlyHuman` check passes, allowing automated/contract interaction despite the intended restriction. This can be used by bots for faster buys or coordinated actions that the design tries to prevent."
            },
            {
                "title": "Game timing and price logic depend on block.timestamp manipulation",
                "category": "oracle",
                "evidence": "Round transitions, leader selection timing, and second-stage pricing are all driven by `now` comparisons and arithmetic.",
                "severity": "low",
                "locations": [
                    "contracts/Contract.sol:243",
                    "contracts/Contract.sol:247",
                    "contracts/Contract.sol:304",
                    "contracts/Contract.sol:351",
                    "contracts/Contract.sol:460",
                    "contracts/Contract.sol:649",
                    "contracts/Contract.sol:667"
                ],
                "recommendation": "Avoid using `block.timestamp` as a strict boundary for payout-critical logic. Consider using larger time buffers, block.number-based windows, or commit/reveal mechanisms for finalization-sensitive outcomes.",
                "exploit_scenario": "Miners can slightly skew `now` to extend or shorten rounds, influence when the infection/development stages end, and affect who becomes the final leader or the price paid in the second stage. This can be exploited near round boundaries to gain a payout advantage."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
5
Total opcodes
6489
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x00e5
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x018a25e8
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x026d
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x3c28308a
00000046: EQ
00000047: PUSH2 0x0294
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x3c3c9c23
00000051: EQ
00000052: PUSH2 0x02a9
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x4311de8f
0000005c: EQ
0000005d: PUSH2 0x02be
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x547e3f06
00000067: EQ
00000068: PUSH2 0x02d3
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x6561e6ba
00000072: EQ
00000073: PUSH2 0x02f6
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x747dff42
0000007d: EQ
0000007e: PUSH2 0x030b
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x7e8ac590
00000088: EQ
00000089: PUSH2 0x043e
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x80ec35ff
00000093: EQ
00000094: PUSH2 0x04b6
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x8da5cb5b
0000009e: EQ
0000009f: PUSH2 0x04ce
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0xa05ce940
000000a9: EQ
000000aa: PUSH2 0x04ff
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xc5960c29
000000b4: EQ
000000b5: PUSH2 0x054e
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xd65ab5f2
000000bf: EQ
000000c0: PUSH2 0x0562
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xd982466d
000000ca: EQ
000000cb: PUSH2 0x0577
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xe3aae11b
000000d5: EQ
000000d6: PUSH2 0x05c1
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xf7260d3e
000000e0: EQ
000000e1: PUSH2 0x05ea
000000e4: JUMPI
000000e5: JUMPDEST
000000e6: CALLER
000000e7: DUP1
000000e8: EXTCODESIZE
000000e9: DUP1
000000ea: ISZERO
000000eb: PUSH2 0x012c
000000ee: JUMPI
000000ef: PUSH1 0x40
000000f1: DUP1
000000f2: MLOAD
000000f3: PUSH1 0xe5
000000f5: PUSH1 0x02
000000f7: EXP
000000f8: PUSH3 0x461bcd
000000fc: MUL
000000fd: DUP2
000000fe: MSTORE
000000ff: PUSH1 0x20
00000101: PUSH1 0x04
00000103: DUP3
00000104: ADD
00000105: MSTORE
00000106: PUSH1 0x11
00000108: PUSH1 0x24
0000010a: DUP3
0000010b: ADD
0000010c: MSTORE
0000010d: PUSH1 0x00
0000010f: DUP1
00000110: MLOAD
00000111: PUSH1 0x20
00000113: PUSH2 0x2806
00000116: DUP4
00000117: CODECOPY
00000118: DUP2
00000119: MLOAD
0000011a: SWAP2
0000011b: MSTORE
0000011c: PUSH1 0x44
0000011e: DUP3
0000011f: ADD
00000120: MSTORE
00000121: SWAP1
00000122: MLOAD
00000123: SWAP1
00000124: DUP2
00000125: SWAP1
00000126: SUB
00000127: PUSH1 0x64
00000129: ADD
0000012a: SWAP1
0000012b: REVERT
0000012c: JUMPDEST
0000012d: CALLVALUE
0000012e: PUSH4 0x3b9aca00
00000133: DUP2
00000134: LT
00000135: ISZERO
00000136: PUSH2 0x01af
00000139: JUMPI
0000013a: PUSH1 0x40
0000013c: DUP1
0000013d: MLOAD
0000013e: PUSH1 0xe5
00000140: PUSH1 0x02
00000142: EXP
00000143: PUSH3 0x461bcd
00000147: MUL
00000148: DUP2
00000149: MSTORE
0000014a: PUSH1 0x20
0000014c: PUSH1 0x04
0000014e: DUP3
0000014f: ADD
00000150: MSTORE
00000151: PUSH1 0x21
00000153: PUSH1 0x24
00000155: DUP3
00000156: ADD
00000157: MSTORE
00000158: PUSH32 0x706f636b6574206c696e743a206e6f7420612076616c69642063757272656e63
00000179: PUSH1 0x44
0000017b: DUP3
0000017c: ADD
0000017d: MSTORE
0000017e: PUSH32 0x7900000000000000000000000000000000000000000000000000000000000000
0000019f: PUSH1 0x64
000001a1: DUP3
000001a2: ADD
000001a3: MSTORE
000001a4: SWAP1
000001a5: MLOAD
000001a6: SWAP1
000001a7: DUP2
000001a8: SWAP1
000001a9: SUB
000001aa: PUSH1 0x84
000001ac: ADD
000001ad: SWAP1
000001ae: REVERT
000001af: JUMPDEST
000001b0: PUSH10 0x152d02c7e14af6800000
000001bb: DUP2
000001bc: GT
000001bd: ISZERO
000001be: PUSH2 0x0211
000001c1: JUMPI
000001c2: PUSH1 0x40
000001c4: DUP1
000001c5: MLOAD
000001c6: PUSH1 0xe5
000001c8: PUSH1 0x02
000001ca: EXP
000001cb: PUSH3 0x461bcd
000001cf: MUL
000001d0: DUP2
000001d1: MSTORE
000001d2: PUSH1 0x20
000001d4: PUSH1 0x04
000001d6: DUP3
000001d7: ADD
000001d8: MSTORE
000001d9: PUSH1 0x0e
000001db: PUSH1 0x24
000001dd: DUP3
000001de: ADD
000001df: MSTORE
000001e0: PUSH32 0x6e6f20766974616c696b2c206e6f000000000000000000000000000000000000
00000201: PUSH1 0x44
00000203: DUP3
00000204: ADD
00000205: MSTORE
00000206: SWAP1
00000207: MLOAD
00000208: SWAP1
00000209: DUP2
0000020a: SWAP1
0000020b: SUB
0000020c: PUSH1 0x64
0000020e: ADD
0000020f: SWAP1
00000210: REVERT
00000211: JUMPDEST
00000212: PUSH1 0x07
00000214: SLOAD
00000215: PUSH1 0xff
00000217: AND
00000218: ISZERO
00000219: ISZERO
0000021a: PUSH1 0x01
0000021c: EQ
0000021d: PUSH2 0x025e
00000220: JUMPI
00000221: PUSH1 0x40
00000223: DUP1
00000224: MLOAD
00000225: PUSH1 0xe5
00000227: PUSH1 0x02
00000229: EXP
0000022a: PUSH3 0x461bcd
0000022e: MUL
0000022f: DUP2
00000230: MSTORE
00000231: PUSH1 0x20
00000233: PUSH1 0x04
00000235: DUP3
00000236: ADD
00000237: MSTORE
00000238: PUSH1 0x1c
0000023a: PUSH1 0x24
0000023c: DUP3
0000023d: ADD
0000023e: MSTORE
0000023f: PUSH1 0x00
00000241: DUP1
00000242: MLOAD
00000243: PUSH1 0x20
00000245: PUSH2 0x27e6
00000248: DUP4
00000249: CODECOPY
0000024a: DUP2
0000024b: MLOAD
0000024c: SWAP2
0000024d: MSTORE
0000024e: PUSH1 0x44
00000250: DUP3
00000251: ADD
00000252: MSTORE
00000253: SWAP1
00000254: MLOAD
00000255: SWAP1
00000256: DUP2
00000257: SWAP1
00000258: SUB
00000259: PUSH1 0x64
0000025b: ADD
0000025c: SWAP1
0000025d: REVERT
0000025e: JUMPDEST
0000025f: PUSH2 0x0268
00000262: PUSH1 0x00
00000264: PUSH2 0x05ff
00000267: JUMP
00000268: JUMPDEST
00000269: POP
0000026a: POP
0000026b: POP
0000026c: STOP
0000026d: JUMPDEST
0000026e: CALLVALUE
0000026f: DUP1
00000270: ISZERO
00000271: PUSH2 0x0279
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: POP
0000027b: PUSH2 0x0282
0000027e: PUSH2 0x1120
00000281: JUMP
00000282: JUMPDEST
00000283: PUSH1 0x40
00000285: DUP1
00000286: MLOAD
00000287: SWAP2
00000288: DUP3
00000289: MSTORE
0000028a: MLOAD
0000028b: SWAP1
0000028c: DUP2
0000028d: SWAP1
0000028e: SUB
0000028f: PUSH1 0x20
00000291: ADD
00000292: SWAP1
00000293: RETURN
00000294: JUMPDEST
00000295: CALLVALUE
00000296: DUP1
00000297: ISZERO
00000298: PUSH2 0x02a0
0000029b: JUMPI
0000029c: PUSH1 0x00
0000029e: DUP1
0000029f: REVERT
000002a0: JUMPDEST
000002a1: POP
000002a2: PUSH2 0x0282
000002a5: PUSH2 0x12de
000002a8: JUMP
000002a9: JUMPDEST
000002aa: CALLVALUE
000002ab: DUP1
000002ac: ISZERO
000002ad: PUSH2 0x02b5
000002b0: JUMPI
000002b1: PUSH1 0x00
000002b3: DUP1
000002b4: REVERT
000002b5: JUMPDEST
000002b6: POP
000002b7: PUSH2 0x0282
000002ba: PUSH2 0x12e4
000002bd: JUMP
000002be: JUMPDEST
000002bf: CALLVALUE
000002c0: DUP1
000002c1: ISZERO
000002c2: PUSH2 0x02ca
000002c5: JUMPI
000002c6: PUSH1 0x00
000002c8: DUP1
000002c9: REVERT
000002ca: JUMPDEST
000002cb: POP
000002cc: PUSH2 0x0282
000002cf: PUSH2 0x12ea
000002d2: JUMP
000002d3: JUMPDEST
000002d4: CALLVALUE
000002d5: DUP1
000002d6: ISZERO
000002d7: PUSH2 0x02df
000002da: JUMPI
000002db: PUSH1 0x00
000002dd: DUP1
000002de: REVERT
000002df: JUMPDEST
000002e0: POP
000002e1: PUSH2 0x02f4
000002e4: PUSH1 0x01
000002e6: PUSH1 0xa0
000002e8: PUSH1 0x02
000002ea: EXP
000002eb: SUB
000002ec: PUSH1 0x04
000002ee: CALLDATALOAD
000002ef: AND
000002f0: PUSH2 0x12f0
000002f3: JUMP
000002f4: JUMPDEST
000002f5: STOP
000002f6: JUMPDEST
000002f7: CALLVALUE
000002f8: DUP1
000002f9: ISZERO
000002fa: PUSH2 0x0302
000002fd: JUMPI
000002fe: PUSH1 0x00
00000300: DUP1
00000301: REVERT
00000302: JUMPDEST
00000303: POP
00000304: PUSH2 0x02f4
00000307: PUSH2 0x1381
0000030a: JUMP
0000030b: JUMPDEST
0000030c: CALLVALUE
0000030d: DUP1
0000030e: ISZERO
0000030f: PUSH2 0x0317
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: POP
00000319: PUSH2 0x0320
0000031c: PUSH2 0x1574
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH1 0x40
00000323: MLOAD
00000324: DUP1
00000325: DUP9
00000326: DUP2
00000327: MSTORE
00000328: PUSH1 0x20
0000032a: ADD
0000032b: DUP8
0000032c: PUSH1 0x02
0000032e: PUSH1 0x20
00000330: MUL
00000331: DUP1
00000332: DUP4
00000333: DUP4
00000334: PUSH1 0x00
00000336: JUMPDEST
00000337: DUP4
00000338: DUP2
00000339: LT
0000033a: ISZERO
0000033b: PUSH2 0x034e
0000033e: JUMPI
0000033f: DUP2
00000340: DUP2
00000341: ADD
00000342: MLOAD
00000343: DUP4
00000344: DUP3
00000345: ADD
00000346: MSTORE
00000347: PUSH1 0x20
00000349: ADD
0000034a: PUSH2 0x0336
0000034d: JUMP
0000034e: JUMPDEST
0000034f: POP
00000350: POP
00000351: POP
00000352: POP
00000353: SWAP1
00000354: POP
00000355: ADD
00000356: DUP7
00000357: PUSH1 0x03
00000359: PUSH1 0x20
0000035b: MUL
0000035c: DUP1
0000035d: DUP4
0000035e: DUP4
0000035f: PUSH1 0x00
00000361: JUMPDEST
00000362: DUP4
00000363: DUP2
00000364: LT
00000365: ISZERO
00000366: PUSH2 0x0379
00000369: JUMPI
0000036a: DUP2
0000036b: DUP2
0000036c: ADD
0000036d: MLOAD
0000036e: DUP4
0000036f: DUP3
00000370: ADD
00000371: MSTORE
00000372: PUSH1 0x20
00000374: ADD
00000375: PUSH2 0x0361
00000378: JUMP
00000379: JUMPDEST
0000037a: POP
0000037b: POP
0000037c: POP
0000037d: POP
0000037e: SWAP1
0000037f: POP
00000380: ADD
00000381: DUP6
00000382: PUSH1 0x02
00000384: PUSH1 0x20
00000386: MUL
00000387: DUP1
00000388: DUP4
00000389: DUP4
0000038a: PUSH1 0x00
0000038c: JUMPDEST
0000038d: DUP4
0000038e: DUP2
0000038f: LT
00000390: ISZERO
00000391: PUSH2 0x03a4
00000394: JUMPI
00000395: DUP2
00000396: DUP2
00000397: ADD
00000398: MLOAD
00000399: DUP4
0000039a: DUP3
0000039b: ADD
0000039c: MSTORE
0000039d: PUSH1 0x20
0000039f: ADD
000003a0: PUSH2 0x038c
000003a3: JUMP
000003a4: JUMPDEST
000003a5: POP
000003a6: POP
000003a7: POP
000003a8: POP
000003a9: SWAP1
000003aa: POP
000003ab: ADD
000003ac: DUP5
000003ad: PUSH1 0x06
000003af: PUSH1 0x20
000003b1: MUL
000003b2: DUP1
000003b3: DUP4
000003b4: DUP4
000003b5: PUSH1 0x00
000003b7: JUMPDEST
000003b8: DUP4
000003b9: DUP2
000003ba: LT
000003bb: ISZERO
000003bc: PUSH2 0x03cf
000003bf: JUMPI
000003c0: DUP2
000003c1: DUP2
000003c2: ADD
000003c3: MLOAD
000003c4: DUP4
000003c5: DUP3
000003c6: ADD
000003c7: MSTORE
000003c8: PUSH1 0x20
000003ca: ADD
000003cb: PUSH2 0x03b7
000003ce: JUMP
000003cf: JUMPDEST
000003d0: POP
000003d1: POP
000003d2: POP
000003d3: POP
000003d4: SWAP1
000003d5: POP
000003d6: ADD
000003d7: DUP4
000003d8: PUSH1 0x0b
000003da: PUSH1 0x20
000003dc: MUL
000003dd: DUP1
000003de: DUP4
000003df: DUP4
000003e0: PUSH1 0x00
000003e2: JUMPDEST
000003e3: DUP4
000003e4: DUP2
000003e5: LT
000003e6: ISZERO
000003e7: PUSH2 0x03fa
000003ea: JUMPI
000003eb: DUP2
000003ec: DUP2
000003ed: ADD
000003ee: MLOAD
000003ef: DUP4
000003f0: DUP3
000003f1: ADD
000003f2: MSTORE
000003f3: PUSH1 0x20
000003f5: ADD
000003f6: PUSH2 0x03e2
000003f9: JUMP
000003fa: JUMPDEST
000003fb: POP
000003fc: POP
000003fd: POP
000003fe: POP
000003ff: SWAP1
00000400: POP
00000401: ADD
00000402: DUP3
00000403: PUSH1 0x04
00000405: PUSH1 0x20
00000407: MUL
00000408: DUP1
00000409: DUP4
0000040a: DUP4
0000040b: PUSH1 0x00
0000040d: JUMPDEST
0000040e: DUP4
0000040f: DUP2
00000410: LT
00000411: ISZERO
00000412: PUSH2 0x0425
00000415: JUMPI
00000416: DUP2
00000417: DUP2
00000418: ADD
00000419: MLOAD
0000041a: DUP4
0000041b: DUP3
0000041c: ADD
0000041d: MSTORE
0000041e: PUSH1 0x20
00000420: ADD
00000421: PUSH2 0x040d
00000424: JUMP
00000425: JUMPDEST
00000426: POP
00000427: POP
00000428: POP
00000429: POP
0000042a: SWAP1
0000042b: POP
0000042c: ADD
0000042d: SWAP8
0000042e: POP
0000042f: POP
00000430: POP
00000431: POP
00000432: POP
00000433: POP
00000434: POP
00000435: POP
00000436: PUSH1 0x40
00000438: MLOAD
00000439: DUP1
0000043a: SWAP2
0000043b: SUB
0000043c: SWAP1
0000043d: RETURN
0000043e: JUMPDEST
0000043f: CALLVALUE
00000440: DUP1
00000441: ISZERO
00000442: PUSH2 0x044a
00000445: JUMPI
00000446: PUSH1 0x00
00000448: DUP1
00000449: REVERT
0000044a: JUMPDEST
0000044b: POP
0000044c: PUSH2 0x0456
0000044f: PUSH1 0x04
00000451: CALLDATALOAD
00000452: PUSH2 0x177c
00000455: JUMP
00000456: JUMPDEST
00000457: PUSH1 0x40
00000459: DUP1
0000045a: MLOAD
0000045b: SWAP12
0000045c: DUP13
0000045d: MSTORE
0000045e: PUSH1 0x20
00000460: DUP13
00000461: ADD
00000462: SWAP11
00000463: SWAP1
00000464: SWAP11
00000465: MSTORE
00000466: DUP11
00000467: DUP11
00000468: ADD
00000469: SWAP9
0000046a: SWAP1
0000046b: SWAP9
0000046c: MSTORE
0000046d: PUSH1 0x60
0000046f: DUP11
00000470: ADD
00000471: SWAP7
00000472: SWAP1
00000473: SWAP7
00000474: MSTORE
00000475: PUSH1 0x80
00000477: DUP10
00000478: ADD
00000479: SWAP5
0000047a: SWAP1
0000047b: SWAP5
0000047c: MSTORE
0000047d: PUSH1 0x01
0000047f: PUSH1 0xa0
00000481: PUSH1 0x02
00000483: EXP
00000484: SUB
00000485: SWAP3
00000486: DUP4
00000487: AND
00000488: PUSH1 0xa0
0000048a: DUP10
0000048b: ADD
0000048c: MSTORE
0000048d: SWAP2
0000048e: AND
0000048f: PUSH1 0xc0
00000491: DUP8
00000492: ADD
00000493: MSTORE
00000494: PUSH1 0xe0
00000496: DUP7
00000497: ADD
00000498: MSTORE
00000499: PUSH2 0x0100
0000049c: DUP6
0000049d: ADD
0000049e: MSTORE
0000049f: PUSH2 0x0120
000004a2: DUP5
000004a3: ADD
000004a4: MSTORE
000004a5: PUSH2 0x0140
000004a8: DUP4
000004a9: ADD
000004aa: MSTORE
000004ab: MLOAD
000004ac: SWAP1
000004ad: DUP2
000004ae: SWAP1
000004af: SUB
000004b0: PUSH2 0x0160
000004b3: ADD
000004b4: SWAP1
000004b5: RETURN
000004b6: JUMPDEST
000004b7: CALLVALUE
000004b8: DUP1
000004b9: ISZERO
000004ba: PUSH2 0x04c2
000004bd: JUMPI
000004be: PUSH1 0x00
000004c0: DUP1
000004c1: REVERT
000004c2: JUMPDEST
000004c3: POP
000004c4: PUSH2 0x02f4
000004c7: PUSH1 0x04
000004c9: CALLDATALOAD
000004ca: PUSH2 0x17e2
000004cd: JUMP
000004ce: JUMPDEST
000004cf: CALLVALUE
000004d0: DUP1
000004d1: ISZERO
000004d2: PUSH2 0x04da
000004d5: JUMPI
000004d6: PUSH1 0x00
000004d8: DUP1
000004d9: REVERT
000004da: JUMPDEST
000004db: POP
000004dc: PUSH2 0x04e3
000004df: PUSH2 0x1dc3
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH1 0x40
000004e6: DUP1
000004e7: MLOAD
000004e8: PUSH1 0x01
000004ea: PUSH1 0xa0
000004ec: PUSH1 0x02
000004ee: EXP
000004ef: SUB
000004f0: SWAP1
000004f1: SWAP3
000004f2: AND
000004f3: DUP3
000004f4: MSTORE
000004f5: MLOAD
000004f6: SWAP1
000004f7: DUP2
000004f8: SWAP1
000004f9: SUB
000004fa: PUSH1 0x20
000004fc: ADD
000004fd: SWAP1
000004fe: RETURN
000004ff: JUMPDEST
00000500: CALLVALUE
00000501: DUP1
00000502: ISZERO
00000503: PUSH2 0x050b
00000506: JUMPI
00000507: PUSH1 0x00
00000509: DUP1
0000050a: REVERT
0000050b: JUMPDEST
0000050c: POP
0000050d: PUSH2 0x0523
00000510: PUSH1 0x04
00000512: CALLDATALOAD
00000513: PUSH1 0x01
00000515: PUSH1 0xa0
00000517: PUSH1 0x02
00000519: EXP
0000051a: SUB
0000051b: PUSH1 0x24
0000051d: CALLDATALOAD
0000051e: AND
0000051f: PUSH2 0x1dd2
00000522: JUMP
00000523: JUMPDEST
00000524: PUSH1 0x40
00000526: DUP1
00000527: MLOAD
00000528: SWAP6
00000529: DUP7
0000052a: MSTORE
0000052b: PUSH1 0x20
0000052d: DUP7
0000052e: ADD
0000052f: SWAP5
00000530: SWAP1
00000531: SWAP5
00000532: MSTORE
00000533: DUP5
00000534: DUP5
00000535: ADD
00000536: SWAP3
00000537: SWAP1
00000538: SWAP3
00000539: MSTORE
0000053a: PUSH1 0x60
0000053c: DUP5
0000053d: ADD
0000053e: MSTORE
0000053f: PUSH1 0x80
00000541: DUP4
00000542: ADD
00000543: MSTORE
00000544: MLOAD
00000545: SWAP1
00000546: DUP2
00000547: SWAP1
00000548: SUB
00000549: PUSH1 0xa0
0000054b: ADD
0000054c: SWAP1
0000054d: RETURN
0000054e: JUMPDEST
0000054f: PUSH2 0x02f4
00000552: PUSH1 0x01
00000554: PUSH1 0xa0
00000556: PUSH1 0x02
00000558: EXP
00000559: SUB
0000055a: PUSH1 0x04
0000055c: CALLDATALOAD
0000055d: AND
0000055e: PUSH2 0x1e0a
00000561: JUMP
00000562: JUMPDEST
00000563: CALLVALUE
00000564: DUP1
00000565: ISZERO
00000566: PUSH2 0x056e
00000569: JUMPI
0000056a: PUSH1 0x00
0000056c: DUP1
0000056d: REVERT
0000056e: JUMPDEST
0000056f: POP
00000570: PUSH2 0x02f4
00000573: PUSH2 0x1f92
00000576: JUMP
00000577: JUMPDEST
00000578: CALLVALUE
00000579: DUP1
0000057a: ISZERO
0000057b: PUSH2 0x0583
0000057e: JUMPI
0000057f: PUSH1 0x00
00000581: DUP1
00000582: REVERT
00000583: JUMPDEST
00000584: POP
00000585: PUSH2 0x059b
00000588: PUSH1 0x04
0000058a: CALLDATALOAD
0000058b: PUSH1 0x01
0000058d: PUSH1 0xa0
0000058f: PUSH1 0x02
00000591: EXP
00000592: SUB
00000593: PUSH1 0x24
00000595: CALLDATALOAD
00000596: AND
00000597: PUSH2 0x20d7
0000059a: JUMP
0000059b: JUMPDEST
0000059c: PUSH1 0x40
0000059e: DUP1
0000059f: MLOAD
000005a0: SWAP5
000005a1: DUP6
000005a2: MSTORE
000005a3: PUSH1 0x20
000005a5: DUP6
000005a6: ADD
000005a7: SWAP4
000005a8: SWAP1
000005a9: SWAP4
000005aa: MSTORE
000005ab: DUP4
000005ac: DUP4
000005ad: ADD
000005ae: SWAP2
000005af: SWAP1
000005b0: SWAP2
000005b1: MSTORE
000005b2: PUSH1 0x60
000005b4: DUP4
000005b5: ADD
000005b6: MSTORE
000005b7: MLOAD
000005b8: SWAP1
000005b9: DUP2
000005ba: SWAP1
000005bb: SUB
000005bc: PUSH1 0x80
000005be: ADD
000005bf: SWAP1
000005c0: RETURN
000005c1: JUMPDEST
000005c2: CALLVALUE
000005c3: DUP1
000005c4: ISZERO
000005c5: PUSH2 0x05cd
000005c8: JUMPI
000005c9: PUSH1 0x00
000005cb: DUP1
000005cc: REVERT
000005cd: JUMPDEST
000005ce: POP
000005cf: PUSH2 0x05d6
000005d2: PUSH2 0x2442
000005d5: JUMP
000005d6: JUMPDEST
000005d7: PUSH1 0x40
000005d9: DUP1
000005da: MLOAD
000005db: SWAP2
000005dc: ISZERO
000005dd: ISZERO
000005de: DUP3
000005df: MSTORE
000005e0: MLOAD
000005e1: SWAP1
000005e2: DUP2
000005e3: SWAP1
000005e4: SUB
000005e5: PUSH1 0x20
000005e7: ADD
000005e8: SWAP1
000005e9: RETURN
000005ea: JUMPDEST
000005eb: CALLVALUE
000005ec: DUP1
000005ed: ISZERO
000005ee: PUSH2 0x05f6
000005f1: JUMPI
000005f2: PUSH1 0x00
000005f4: DUP1
000005f5: REVERT
000005f6: JUMPDEST
000005f7: POP
000005f8: PUSH2 0x04e3
000005fb: PUSH2 0x244b
000005fe: JUMP
000005ff: JUMPDEST
00000600: PUSH1 0x00
00000602: DUP1
00000603: SLOAD
00000604: DUP1
00000605: DUP3
00000606: MSTORE
00000607: PUSH1 0x02
00000609: PUSH1 0x20
0000060b: MSTORE
0000060c: PUSH1 0x40
0000060e: DUP3
0000060f: KECCAK256
00000610: PUSH1 0x03
00000612: ADD
00000613: SLOAD
00000614: CALLVALUE
00000615: SWAP3
00000616: TIMESTAMP
00000617: SWAP3
00000618: SWAP2
00000619: DUP5
0000061a: SWAP2
0000061b: SWAP1
0000061c: DUP2
0000061d: SWAP1
0000061e: DUP2
0000061f: SWAP1
00000620: DUP2
00000621: SWAP1
00000622: DUP2
00000623: SWAP1
00000624: DUP9
00000625: GT
00000626: ISZERO
00000627: PUSH2 0x083b
0000062a: JUMPI
0000062b: PUSH1 0x00
0000062d: DUP8
0000062e: DUP2
0000062f: MSTORE
00000630: PUSH1 0x02
00000632: PUSH1 0x20
00000634: MSTORE
00000635: PUSH1 0x40
00000637: SWAP1
00000638: KECCAK256
00000639: PUSH1 0x03
0000063b: ADD
0000063c: SLOAD
0000063d: PUSH2 0xa8c0
00000640: ADD
00000641: DUP9
00000642: GT
00000643: PUSH2 0x0696
00000646: JUMPI
00000647: PUSH1 0x40
00000649: DUP1
0000064a: MLOAD
0000064b: PUSH1 0xe5
0000064d: PUSH1 0x02
0000064f: EXP
00000650: PUSH3 0x461bcd
00000654: MUL
00000655: DUP2
00000656: MSTORE
00000657: PUSH1 0x20
00000659: PUSH1 0x04
0000065b: DUP3
0000065c: ADD
0000065d: MSTORE
0000065e: PUSH1 0x18
00000660: PUSH1 0x24
00000662: DUP3
00000663: ADD
00000664: MSTORE
00000665: PUSH32 0x77652073686f756c64207761697420736f6d652074696d650000000000000000
00000686: PUSH1 0x44
00000688: DUP3
00000689: ADD
0000068a: MSTORE
0000068b: SWAP1
0000068c: MLOAD
0000068d: SWAP1
0000068e: DUP2
0000068f: SWAP1
00000690: SUB
00000691: PUSH1 0x64
00000693: ADD
00000694: SWAP1
00000695: REVERT
00000696: JUMPDEST
00000697: PUSH1 0x00
00000699: DUP8
0000069a: DUP2
0000069b: MSTORE
0000069c: PUSH1 0x02
0000069e: PUSH1 0x20
000006a0: MSTORE
000006a1: PUSH1 0x40
000006a3: SWAP1
000006a4: KECCAK256
000006a5: PUSH1 0x18
000006a7: DUP2
000006a8: ADD
000006a9: SLOAD
000006aa: SWAP1
000006ab: SLOAD
000006ac: PUSH2 0x06da
000006af: SWAP2
000006b0: SWAP1
000006b1: PUSH1 0x64
000006b3: SWAP1
000006b4: PUSH2 0x06c4
000006b7: SWAP1
000006b8: PUSH1 0x0e
000006ba: PUSH4 0xffffffff
000006bf: PUSH2 0x245a
000006c2: AND
000006c3: JUMP
000006c4: JUMPDEST
000006c5: DUP2
000006c6: ISZERO
000006c7: ISZERO
000006c8: PUSH2 0x06cd
000006cb: JUMPI
000006cc: INVALID
000006cd: JUMPDEST
000006ce: DIV
000006cf: SWAP1
000006d0: PUSH4 0xffffffff
000006d5: PUSH2 0x24d7
000006d8: AND
000006d9: JUMP
000006da: JUMPDEST
000006db: PUSH1 0x00
000006dd: DUP9
000006de: DUP2
000006df: MSTORE
000006e0: PUSH1 0x02
000006e2: PUSH1 0x20
000006e4: MSTORE
000006e5: PUSH1 0x40
000006e7: SWAP1
000006e8: KECCAK256
000006e9: PUSH1 0x17
000006eb: ADD
000006ec: SLOAD
000006ed: SWAP1
000006ee: SWAP6
000006ef: POP
000006f0: PUSH1 0x0b
000006f2: GT
000006f3: ISZERO
000006f4: PUSH2 0x07f6
000006f7: JUMPI
000006f8: PUSH1 0x00
000006fa: DUP8
000006fb: DUP2
000006fc: MSTORE
000006fd: PUSH1 0x02
000006ff: PUSH1 0x20
00000701: MSTORE
00000702: PUSH1 0x40
00000704: SWAP1
00000705: KECCAK256
00000706: PUSH1 0x17
00000708: ADD
00000709: SLOAD
0000070a: PUSH2 0x071b
0000070d: SWAP1
0000070e: PUSH1 0x0b
00000710: SWAP1
00000711: PUSH4 0xffffffff
00000716: PUSH2 0x24d7
00000719: AND
0000071a: JUMP
0000071b: JUMPDEST
0000071c: PUSH1 0x00
0000071e: DUP9
0000071f: DUP2
00000720: MSTORE
00000721: PUSH1 0x02
00000723: PUSH1 0x20
00000725: MSTORE
00000726: PUSH1 0x40
00000728: SWAP1
00000729: KECCAK256
0000072a: SLOAD
0000072b: SWAP1
0000072c: SWAP5
0000072d: POP
0000072e: PUSH1 0x64
00000730: SWAP1
00000731: PUSH2 0x0741
00000734: SWAP1
00000735: PUSH1 0x1e
00000737: PUSH4 0xffffffff
0000073c: PUSH2 0x245a
0000073f: AND
00000740: JUMP
00000741: JUMPDEST
00000742: DUP2
00000743: ISZERO
00000744: ISZERO
00000745: PUSH2 0x074a
00000748: JUMPI
00000749: INVALID
0000074a: JUMPDEST
0000074b: PUSH1 0x00
0000074d: DUP10
0000074e: DUP2
0000074f: MSTORE
00000750: PUSH1 0x02
00000752: PUSH1 0x20
00000754: MSTORE
00000755: PUSH1 0x40
00000757: SWAP1
00000758: KECCAK256
00000759: PUSH1 0x19
0000075b: ADD
0000075c: SLOAD
0000075d: SWAP2
0000075e: SWAP1
0000075f: DIV
00000760: SWAP4
00000761: POP
00000762: PUSH2 0x0772
00000765: SWAP1
00000766: DUP5
00000767: SWAP1
00000768: PUSH4 0xffffffff
0000076d: PUSH2 0x2537
00000770: AND
00000771: JUMP
00000772: JUMPDEST
00000773: PUSH1 0x00
00000775: DUP9
00000776: DUP2
00000777: MSTORE
00000778: PUSH1 0x02
0000077a: PUSH1 0x20
0000077c: MSTORE
0000077d: PUSH1 0x40
0000077f: SWAP1
00000780: KECCAK256
00000781: PUSH1 0x06
00000783: ADD
00000784: SLOAD
00000785: SWAP1
00000786: SWAP4
00000787: POP
00000788: PUSH1 0x01
0000078a: PUSH1 0xa0
0000078c: PUSH1 0x02
0000078e: EXP
0000078f: SUB
00000790: AND
00000791: ISZERO
00000792: PUSH2 0x07da
00000795: JUMPI
00000796: PUSH2 0x07d3
00000799: PUSH2 0x07c6
0000079c: PUSH1 0x64
0000079e: PUSH2 0x07ae
000007a1: DUP7
000007a2: PUSH1 0x03
000007a4: PUSH4 0xffffffff
000007a9: PUSH2 0x245a
000007ac: AND
000007ad: JUMP
000007ae: JUMPDEST
000007af: DUP2
000007b0: ISZERO
000007b1: ISZERO
000007b2: PUSH2 0x07b7
000007b5: JUMPI
000007b6: INVALID
000007b7: JUMPDEST
000007b8: DUP8
000007b9: SWAP2
000007ba: SWAP1
000007bb: DIV
000007bc: PUSH4 0xffffffff
000007c1: PUSH2 0x245a
000007c4: AND
000007c5: JUMP
000007c6: JUMPDEST
000007c7: DUP7
000007c8: SWAP1
000007c9: PUSH4 0xffffffff
000007ce: PUSH2 0x2537
000007d1: AND
000007d2: JUMP
000007d3: JUMPDEST
000007d4: SWAP5
000007d5: POP
000007d6: PUSH2 0x07f6
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH2 0x07f3
000007de: PUSH2 0x07c6
000007e1: PUSH1 0x64
000007e3: PUSH2 0x07ae
000007e6: DUP7
000007e7: PUSH1 0x04
000007e9: PUSH4 0xffffffff
000007ee: PUSH2 0x245a
000007f1: AND
000007f2: JUMP
000007f3: JUMPDEST
000007f4: SWAP5
000007f5: POP
000007f6: JUMPDEST
000007f7: PUSH2 0x0807
000007fa: DUP8
000007fb: PUSH1 0x01
000007fd: PUSH4 0xffffffff
00000802: PUSH2 0x2537
00000805: AND
00000806: JUMP
00000807: JUMPDEST
00000808: PUSH1 0x00
0000080a: DUP2
0000080b: DUP2
0000080c: SSTORE
0000080d: DUP2
0000080e: DUP2
0000080f: MSTORE
00000810: PUSH1 0x02
00000812: PUSH1 0x20
00000814: DUP2
00000815: SWAP1
00000816: MSTORE
00000817: PUSH1 0x40
00000819: DUP3
0000081a: KECCAK256
0000081b: SWAP1
0000081c: DUP2
0000081d: ADD
0000081e: DUP12
0000081f: SWAP1
00000820: SSTORE
00000821: PUSH2 0xa8c0
00000824: DUP12
00000825: ADD
00000826: PUSH1 0x03
00000828: DUP3
00000829: ADD
0000082a: SSTORE
0000082b: PUSH1 0x17
0000082d: DUP2
0000082e: ADD
0000082f: SWAP2
00000830: SWAP1
00000831: SWAP2
00000832: SSTORE
00000833: PUSH1 0x19
00000835: ADD
00000836: DUP7
00000837: SWAP1
00000838: SSTORE
00000839: SWAP7
0000083a: POP
0000083b: JUMPDEST
0000083c: PUSH1 0x00
0000083e: DUP8
0000083f: DUP2
00000840: MSTORE
00000841: PUSH1 0x02
00000843: PUSH1 0x20
00000845: MSTORE
00000846: PUSH1 0x40
00000848: SWAP1
00000849: KECCAK256
0000084a: PUSH1 0x01
0000084c: ADD
0000084d: SLOAD
0000084e: PUSH11 0x0c685fa11e01ec6f000000
0000085a: GT
0000085b: ISZERO
0000085c: PUSH2 0x0be9
0000085f: JUMPI
00000860: PUSH1 0x00
00000862: DUP8
00000863: DUP2
00000864: MSTORE
00000865: PUSH1 0x02
00000867: PUSH1 0x20
00000869: MSTORE
0000086a: PUSH1 0x40
0000086c: SWAP1
0000086d: KECCAK256
0000086e: SLOAD
0000086f: PUSH2 0x087e
00000872: SWAP1
00000873: DUP11
00000874: PUSH4 0xffffffff
00000879: PUSH2 0x2592
0000087c: AND
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH1 0x00
00000881: DUP9
00000882: DUP2
00000883: MSTORE
00000884: PUSH1 0x02
00000886: PUSH1 0x20
00000888: MSTORE
00000889: PUSH1 0x40
0000088b: SWAP1
0000088c: KECCAK256
0000088d: PUSH1 0x01
0000088f: ADD
00000890: SLOAD
00000891: SWAP1
00000892: SWAP3
00000893: POP
00000894: PUSH11 0x0c685fa11e01ec6f000000
000008a0: SWAP1
000008a1: PUSH2 0x08b1
000008a4: SWAP1
000008a5: DUP5
000008a6: SWAP1
000008a7: PUSH4 0xffffffff
000008ac: PUSH2 0x2537
000008af: AND
000008b0: JUMP
000008b1: JUMPDEST
000008b2: LT
000008b3: PUSH2 0x0a0d
000008b6: JUMPI
000008b7: PUSH1 0x00
000008b9: DUP8
000008ba: DUP2
000008bb: MSTORE
000008bc: PUSH1 0x02
000008be: PUSH1 0x20
000008c0: MSTORE
000008c1: PUSH1 0x40
000008c3: SWAP1
000008c4: KECCAK256
000008c5: PUSH1 0x01
000008c7: ADD
000008c8: SLOAD
000008c9: PUSH2 0x08e4
000008cc: SWAP1
000008cd: PUSH11 0x0c685fa11e01ec6f000000
000008d9: SWAP1
000008da: PUSH4 0xffffffff
000008df: PUSH2 0x24d7
000008e2: AND
000008e3: JUMP
000008e4: JUMPDEST
000008e5: PUSH1 0x00
000008e7: DUP9
000008e8: DUP2
000008e9: MSTORE
000008ea: PUSH1 0x02
000008ec: PUSH1 0x20
000008ee: MSTORE
000008ef: PUSH1 0x40
000008f1: SWAP1
000008f2: KECCAK256
000008f3: SLOAD
000008f4: SWAP1
000008f5: SWAP3
000008f6: POP
000008f7: PUSH10 0x03f5e5fbdc485eafe200
00000902: GT
00000903: PUSH2 0x090f
00000906: JUMPI
00000907: PUSH1 0x00
00000909: SWAP6
0000090a: POP
0000090b: PUSH2 0x093c
0000090e: JUMP
0000090f: JUMPDEST
00000910: PUSH1 0x00
00000912: DUP8
00000913: DUP2
00000914: MSTORE
00000915: PUSH1 0x02
00000917: PUSH1 0x20
00000919: MSTORE
0000091a: PUSH1 0x40
0000091c: SWAP1
0000091d: KECCAK256
0000091e: SLOAD
0000091f: PUSH2 0x0939
00000922: SWAP1
00000923: PUSH10 0x03f5e5fbdc485eafe200
0000092e: SWAP1
0000092f: PUSH4 0xffffffff
00000934: PUSH2 0x24d7
00000937: AND
00000938: JUMP
00000939: JUMPDEST
0000093a: SWAP6
0000093b: POP
0000093c: JUMPDEST
0000093d: DUP6
0000093e: DUP10
0000093f: GT
00000940: ISZERO
00000941: PUSH2 0x0986
00000944: JUMPI
00000945: CALLER
00000946: PUSH2 0x08fc
00000949: PUSH2 0x0958
0000094c: DUP12
0000094d: DUP10
0000094e: PUSH4 0xffffffff
00000953: PUSH2 0x24d7
00000956: AND
00000957: JUMP
00000958: JUMPDEST
00000959: PUSH1 0x40
0000095b: MLOAD
0000095c: DUP2
0000095d: ISZERO
0000095e: SWAP1
0000095f: SWAP3
00000960: MUL
00000961: SWAP2
00000962: PUSH1 0x00
00000964: DUP2
00000965: DUP2
00000966: DUP2
00000967: DUP6
00000968: DUP9
00000969: DUP9
0000096a: CALL
0000096b: SWAP4
0000096c: POP
0000096d: POP
0000096e: POP
0000096f: POP
00000970: ISZERO
00000971: DUP1
00000972: ISZERO
00000973: PUSH2 0x0980
00000976: JUMPI
00000977: RETURNDATASIZE
00000978: PUSH1 0x00
0000097a: DUP1
0000097b: RETURNDATACOPY
0000097c: RETURNDATASIZE
0000097d: PUSH1 0x00
0000097f: REVERT
00000980: JUMPDEST
00000981: POP
00000982: PUSH2 0x098a
00000985: JUMP
00000986: JUMPDEST
00000987: DUP9
00000988: SWAP6
00000989: POP
0000098a: JUMPDEST
0000098b: PUSH2 0x099c
0000098e: DUP9
0000098f: PUSH2 0x0708
00000992: PUSH4 0xffffffff
00000997: PUSH2 0x2537
0000099a: AND
0000099b: JUMP
0000099c: JUMPDEST
0000099d: PUSH1 0x00
0000099f: DUP9
000009a0: DUP2
000009a1: MSTORE
000009a2: PUSH1 0x02
000009a4: PUSH1 0x20
000009a6: MSTORE
000009a7: PUSH1 0x40
000009a9: SWAP1
000009aa: KECCAK256
000009ab: PUSH1 0x04
000009ad: ADD
000009ae: SSTORE
000009af: PUSH2 0x09d2
000009b2: PUSH2 0x0708
000009b5: PUSH2 0x09c6
000009b8: DUP11
000009b9: PUSH2 0x0384
000009bc: PUSH4 0xffffffff
000009c1: PUSH2 0x2537
000009c4: AND
000009c5: JUMP
000009c6: JUMPDEST
000009c7: SWAP1
000009c8: PUSH4 0xffffffff
000009cd: PUSH2 0x2537
000009d0: AND
000009d1: JUMP
000009d2: JUMPDEST
000009d3: PUSH1 0x00
000009d5: DUP9
000009d6: DUP2
000009d7: MSTORE
000009d8: PUSH1 0x02
000009da: PUSH1 0x20
000009dc: MSTORE
000009dd: PUSH1 0x40
000009df: SWAP1
000009e0: KECCAK256
000009e1: PUSH1 0x03
000009e3: DUP2
000009e4: ADD
000009e5: SWAP2
000009e6: SWAP1
000009e7: SWAP2
000009e8: SSTORE
000009e9: PUSH1 0x06
000009eb: ADD
000009ec: DUP1
000009ed: SLOAD
000009ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a03: NOT
00000a04: AND
00000a05: CALLER
00000a06: OR
00000a07: SWAP1
00000a08: SSTORE
00000a09: PUSH2 0x0a87
00000a0c: JUMP
00000a0d: JUMPDEST
00000a0e: PUSH8 0x8ac7230489e80000
00000a17: DUP3
00000a18: LT
00000a19: ISZERO
00000a1a: PUSH2 0x0a6d
00000a1d: JUMPI
00000a1e: PUSH1 0x40
00000a20: DUP1
00000a21: MLOAD
00000a22: PUSH1 0xe5
00000a24: PUSH1 0x02
00000a26: EXP
00000a27: PUSH3 0x461bcd
00000a2b: MUL
00000a2c: DUP2
00000a2d: MSTORE
00000a2e: PUSH1 0x20
00000a30: PUSH1 0x04
00000a32: DUP3
00000a33: ADD
00000a34: MSTORE
00000a35: PUSH1 0x19
00000a37: PUSH1 0x24
00000a39: DUP3
00000a3a: ADD
00000a3b: MSTORE
00000a3c: PUSH32 0x6174206c656173742031302074686f756e642070656f706c6500000000000000
00000a5d: PUSH1 0x44
00000a5f: DUP3
00000a60: ADD
00000a61: MSTORE
00000a62: SWAP1
00000a63: MLOAD
00000a64: SWAP1
00000a65: DUP2
00000a66: SWAP1
00000a67: SUB
00000a68: PUSH1 0x64
00000a6a: ADD
00000a6b: SWAP1
00000a6c: REVERT
00000a6d: JUMPDEST
00000a6e: PUSH1 0x00
00000a70: DUP8
00000a71: DUP2
00000a72: MSTORE
00000a73: PUSH1 0x02
00000a75: PUSH1 0x20
00000a77: MSTORE
00000a78: PUSH1 0x40
00000a7a: SWAP1
00000a7b: KECCAK256
00000a7c: PUSH2 0xa8c0
00000a7f: DUP10
00000a80: ADD
00000a81: PUSH1 0x03
00000a83: SWAP1
00000a84: SWAP2
00000a85: ADD
00000a86: SSTORE
00000a87: JUMPDEST
00000a88: PUSH1 0x00
00000a8a: DUP8
00000a8b: DUP2
00000a8c: MSTORE
00000a8d: PUSH1 0x02
00000a8f: PUSH1 0x20
00000a91: SWAP1
00000a92: DUP2
00000a93: MSTORE
00000a94: PUSH1 0x40
00000a96: DUP1
00000a97: DUP4
00000a98: KECCAK256
00000a99: PUSH1 0x05
00000a9b: ADD
00000a9c: DUP1
00000a9d: SLOAD
00000a9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab3: NOT
00000ab4: AND
00000ab5: CALLER
00000ab6: SWAP1
00000ab7: DUP2
00000ab8: OR
00000ab9: SWAP1
00000aba: SWAP2
00000abb: SSTORE
00000abc: PUSH1 0x03
00000abe: DUP4
00000abf: MSTORE
00000ac0: DUP2
00000ac1: DUP5
00000ac2: KECCAK256
00000ac3: SWAP1
00000ac4: DUP5
00000ac5: MSTORE
00000ac6: SWAP1
00000ac7: SWAP2
00000ac8: MSTORE
00000ac9: SWAP1
00000aca: KECCAK256
00000acb: PUSH1 0x01
00000acd: ADD
00000ace: SLOAD
00000acf: PUSH2 0x0adf
00000ad2: SWAP1
00000ad3: DUP4
00000ad4: SWAP1
00000ad5: PUSH4 0xffffffff
00000ada: PUSH2 0x2537
00000add: AND
00000ade: JUMP
00000adf: JUMPDEST
00000ae0: PUSH1 0x00
00000ae2: DUP9
00000ae3: DUP2
00000ae4: MSTORE
00000ae5: PUSH1 0x03
00000ae7: PUSH1 0x20
00000ae9: SWAP1
00000aea: DUP2
00000aeb: MSTORE
00000aec: PUSH1 0x40
00000aee: DUP1
00000aef: DUP4
00000af0: KECCAK256
00000af1: CALLER
00000af2: DUP5
00000af3: MSTORE
00000af4: SWAP1
00000af5: SWAP2
00000af6: MSTORE
00000af7: SWAP1
00000af8: KECCAK256
00000af9: PUSH1 0x01
00000afb: DUP2
00000afc: ADD
00000afd: SWAP2
00000afe: SWAP1
00000aff: SWAP2
00000b00: SSTORE
00000b01: SLOAD
00000b02: PUSH2 0x0b0c
00000b05: SWAP1
00000b06: DUP8
00000b07: SWAP1
00000b08: PUSH2 0x2537
00000b0b: JUMP
00000b0c: JUMPDEST
00000b0d: PUSH1 0x00
00000b0f: DUP9
00000b10: DUP2
00000b11: MSTORE
00000b12: PUSH1 0x03
00000b14: PUSH1 0x20
00000b16: SWAP1
00000b17: DUP2
00000b18: MSTORE
00000b19: PUSH1 0x40
00000b1b: DUP1
00000b1c: DUP4
00000b1d: KECCAK256
00000b1e: CALLER
00000b1f: DUP5
00000b20: MSTORE
00000b21: DUP3
00000b22: MSTORE
00000b23: DUP1
00000b24: DUP4
00000b25: KECCAK256
00000b26: SWAP4
00000b27: SWAP1
00000b28: SWAP4
00000b29: SSTORE
00000b2a: DUP10
00000b2b: DUP3
00000b2c: MSTORE
00000b2d: PUSH1 0x02
00000b2f: SWAP1
00000b30: MSTORE
00000b31: KECCAK256
00000b32: PUSH1 0x01
00000b34: ADD
00000b35: SLOAD
00000b36: PUSH2 0x0b46
00000b39: SWAP1
00000b3a: DUP4
00000b3b: SWAP1
00000b3c: PUSH4 0xffffffff
00000b41: PUSH2 0x2537
00000b44: AND
00000b45: JUMP
00000b46: JUMPDEST
00000b47: PUSH1 0x00
00000b49: DUP9
00000b4a: DUP2
00000b4b: MSTORE
00000b4c: PUSH1 0x02
00000b4e: PUSH1 0x20
00000b50: MSTORE
00000b51: PUSH1 0x40
00000b53: SWAP1
00000b54: KECCAK256
00000b55: PUSH1 0x01
00000b57: DUP2
00000b58: ADD
00000b59: SWAP2
00000b5a: SWAP1
00000b5b: SWAP2
00000b5c: SSTORE
00000b5d: SLOAD
00000b5e: PUSH2 0x0b6e
00000b61: SWAP1
00000b62: DUP8
00000b63: SWAP1
00000b64: PUSH4 0xffffffff
00000b69: PUSH2 0x2537
00000b6c: AND
00000b6d: JUMP
00000b6e: JUMPDEST
00000b6f: PUSH1 0x00
00000b71: DUP9
00000b72: DUP2
00000b73: MSTORE
00000b74: PUSH1 0x02
00000b76: PUSH1 0x20
00000b78: MSTORE
00000b79: PUSH1 0x40
00000b7b: SWAP1
00000b7c: KECCAK256
00000b7d: SSTORE
00000b7e: PUSH1 0x01
00000b80: SLOAD
00000b81: PUSH2 0x0b91
00000b84: SWAP1
00000b85: DUP8
00000b86: SWAP1
00000b87: PUSH4 0xffffffff
00000b8c: PUSH2 0x2537
00000b8f: AND
00000b90: JUMP
00000b91: JUMPDEST
00000b92: PUSH1 0x01
00000b94: SSTORE
00000b95: PUSH1 0x40
00000b97: DUP1
00000b98: MLOAD
00000b99: DUP4
00000b9a: DUP2
00000b9b: MSTORE
00000b9c: PUSH1 0x20
00000b9e: DUP2
00000b9f: ADD
00000ba0: DUP9
00000ba1: SWAP1
00000ba2: MSTORE
00000ba3: DUP1
00000ba4: DUP3
00000ba5: ADD
00000ba6: DUP11
00000ba7: SWAP1
00000ba8: MSTORE
00000ba9: SWAP1
00000baa: MLOAD
00000bab: PUSH1 0x01
00000bad: PUSH1 0xa0
00000baf: PUSH1 0x02
00000bb1: EXP
00000bb2: SUB
00000bb3: DUP13
00000bb4: AND
00000bb5: SWAP2
00000bb6: DUP10
00000bb7: SWAP2
00000bb8: CALLER
00000bb9: SWAP2
00000bba: PUSH32 0x6ba72b77342d975bcfca91896da50e2306b21fa4b34dc71d1beb12dbd6afc33b
00000bdb: SWAP2
00000bdc: SWAP1
00000bdd: DUP2
00000bde: SWAP1
00000bdf: SUB
00000be0: PUSH1 0x60
00000be2: ADD
00000be3: SWAP1
00000be4: LOG4
00000be5: PUSH2 0x0eed
00000be8: JUMP
00000be9: JUMPDEST
00000bea: PUSH1 0x00
00000bec: DUP8
00000bed: DUP2
00000bee: MSTORE
00000bef: PUSH1 0x02
00000bf1: PUSH1 0x20
00000bf3: MSTORE
00000bf4: PUSH1 0x40
00000bf6: SWAP1
00000bf7: KECCAK256
00000bf8: PUSH1 0x04
00000bfa: ADD
00000bfb: SLOAD
00000bfc: DUP9
00000bfd: GT
00000bfe: PUSH2 0x0c51
00000c01: JUMPI
00000c02: PUSH1 0x40
00000c04: DUP1
00000c05: MLOAD
00000c06: PUSH1 0xe5
00000c08: PUSH1 0x02
00000c0a: EXP
00000c0b: PUSH3 0x461bcd
00000c0f: MUL
00000c10: DUP2
00000c11: MSTORE
00000c12: PUSH1 0x20
00000c14: PUSH1 0x04
00000c16: DUP3
00000c17: ADD
00000c18: MSTORE
00000c19: PUSH1 0x1e
00000c1b: PUSH1 0x24
00000c1d: DUP3
00000c1e: ADD
00000c1f: MSTORE
00000c20: PUSH32 0x546865207669727573206973206265696e672070726570617265642e2e2e0000
00000c41: PUSH1 0x44
00000c43: DUP3
00000c44: ADD
00000c45: MSTORE
00000c46: SWAP1
00000c47: MLOAD
00000c48: SWAP1
00000c49: DUP2
00000c4a: SWAP1
00000c4b: SUB
00000c4c: PUSH1 0x64
00000c4e: ADD
00000c4f: SWAP1
00000c50: REVERT
00000c51: JUMPDEST
00000c52: PUSH2 0x0ca9
00000c55: PUSH7 0xb1a2bc2ec50000
00000c5d: PUSH2 0x09c6
00000c60: PUSH7 0xb1a2bc2ec50000
00000c68: PUSH2 0x2a30
00000c6b: PUSH2 0x0c93
00000c6e: PUSH1 0x02
00000c70: PUSH1 0x00
00000c72: DUP15
00000c73: DUP2
00000c74: MSTORE
00000c75: PUSH1 0x20
00000c77: ADD
00000c78: SWAP1
00000c79: DUP2
00000c7a: MSTORE
00000c7b: PUSH1 0x20
00000c7d: ADD
00000c7e: PUSH1 0x00
00000c80: KECCAK256
00000c81: PUSH1 0x04
00000c83: ADD
00000c84: SLOAD
00000c85: DUP15
00000c86: PUSH2 0x24d7
00000c89: SWAP1
00000c8a: SWAP2
00000c8b: SWAP1
00000c8c: PUSH4 0xffffffff
00000c91: AND
00000c92: JUMP
00000c93: JUMPDEST
00000c94: DUP2
00000c95: ISZERO
00000c96: ISZERO
00000c97: PUSH2 0x0c9c
00000c9a: JUMPI
00000c9b: INVALID
00000c9c: JUMPDEST
00000c9d: DIV
00000c9e: SWAP1
00000c9f: PUSH4 0xffffffff
00000ca4: PUSH2 0x245a
00000ca7: AND
00000ca8: JUMP
00000ca9: JUMPDEST
00000caa: SWAP6
00000cab: POP
00000cac: DUP6
00000cad: DUP10
00000cae: LT
00000caf: ISZERO
00000cb0: PUSH2 0x0d03
00000cb3: JUMPI
00000cb4: PUSH1 0x40
00000cb6: DUP1
00000cb7: MLOAD
00000cb8: PUSH1 0xe5
00000cba: PUSH1 0x02
00000cbc: EXP
00000cbd: PUSH3 0x461bcd
00000cc1: MUL
00000cc2: DUP2
00000cc3: MSTORE
00000cc4: PUSH1 0x20
00000cc6: PUSH1 0x04
00000cc8: DUP3
00000cc9: ADD
00000cca: MSTORE
00000ccb: PUSH1 0x15
00000ccd: PUSH1 0x24
00000ccf: DUP3
00000cd0: ADD
00000cd1: MSTORE
00000cd2: PUSH32 0x457468657220616d6f756e742069732077726f6e670000000000000000000000
00000cf3: PUSH1 0x44
00000cf5: DUP3
00000cf6: ADD
00000cf7: MSTORE
00000cf8: SWAP1
00000cf9: MLOAD
00000cfa: SWAP1
00000cfb: DUP2
00000cfc: SWAP1
00000cfd: SUB
00000cfe: PUSH1 0x64
00000d00: ADD
00000d01: SWAP1
00000d02: REVERT
00000d03: JUMPDEST
00000d04: DUP6
00000d05: DUP10
00000d06: GT
00000d07: ISZERO
00000d08: PUSH2 0x0d49
00000d0b: JUMPI
00000d0c: CALLER
00000d0d: PUSH2 0x08fc
00000d10: PUSH2 0x0d1f
00000d13: DUP12
00000d14: DUP10
00000d15: PUSH4 0xffffffff
00000d1a: PUSH2 0x24d7
00000d1d: AND
00000d1e: JUMP
00000d1f: JUMPDEST
00000d20: PUSH1 0x40
00000d22: MLOAD
00000d23: DUP2
00000d24: ISZERO
00000d25: SWAP1
00000d26: SWAP3
00000d27: MUL
00000d28: SWAP2
00000d29: PUSH1 0x00
00000d2b: DUP2
00000d2c: DUP2
00000d2d: DUP2
00000d2e: DUP6
00000d2f: DUP9
00000d30: DUP9
00000d31: CALL
00000d32: SWAP4
00000d33: POP
00000d34: POP
00000d35: POP
00000d36: POP
00000d37: ISZERO
00000d38: DUP1
00000d39: ISZERO
00000d3a: PUSH2 0x0d47
00000d3d: JUMPI
00000d3e: RETURNDATASIZE
00000d3f: PUSH1 0x00
00000d41: DUP1
00000d42: RETURNDATACOPY
00000d43: RETURNDATASIZE
00000d44: PUSH1 0x00
00000d46: REVERT
00000d47: JUMPDEST
00000d48: POP
00000d49: JUMPDEST
00000d4a: PUSH1 0x00
00000d4c: DUP8
00000d4d: DUP2
00000d4e: MSTORE
00000d4f: PUSH1 0x02
00000d51: PUSH1 0x20
00000d53: SWAP1
00000d54: DUP2
00000d55: MSTORE
00000d56: PUSH1 0x40
00000d58: DUP1
00000d59: DUP4
00000d5a: KECCAK256
00000d5b: PUSH2 0x0384
00000d5e: DUP13
00000d5f: ADD
00000d60: PUSH1 0x03
00000d62: DUP1
00000d63: DUP4
00000d64: ADD
00000d65: SWAP2
00000d66: SWAP1
00000d67: SWAP2
00000d68: SSTORE
00000d69: PUSH1 0x05
00000d6b: SWAP1
00000d6c: SWAP2
00000d6d: ADD
00000d6e: DUP1
00000d6f: SLOAD
00000d70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d85: NOT
00000d86: AND
00000d87: CALLER
00000d88: SWAP1
00000d89: DUP2
00000d8a: OR
00000d8b: SWAP1
00000d8c: SWAP2
00000d8d: SSTORE
00000d8e: SWAP1
00000d8f: DUP4
00000d90: MSTORE
00000d91: DUP2
00000d92: DUP5
00000d93: KECCAK256
00000d94: SWAP1
00000d95: DUP5
00000d96: MSTORE
00000d97: SWAP1
00000d98: SWAP2
00000d99: MSTORE
00000d9a: SWAP1
00000d9b: KECCAK256
00000d9c: SLOAD
00000d9d: PUSH2 0x0dad
00000da0: SWAP1
00000da1: DUP8
00000da2: SWAP1
00000da3: PUSH4 0xffffffff
00000da8: PUSH2 0x2537
00000dab: AND
00000dac: JUMP
00000dad: JUMPDEST
00000dae: PUSH1 0x00
00000db0: DUP9
00000db1: DUP2
00000db2: MSTORE
00000db3: PUSH1 0x03
00000db5: PUSH1 0x20
00000db7: SWAP1
00000db8: DUP2
00000db9: MSTORE
00000dba: PUSH1 0x40
00000dbc: DUP1
00000dbd: DUP4
00000dbe: KECCAK256
00000dbf: CALLER
00000dc0: DUP5
00000dc1: MSTORE
00000dc2: DUP3
00000dc3: MSTORE
00000dc4: DUP1
00000dc5: DUP4
00000dc6: KECCAK256
00000dc7: SWAP4
00000dc8: SWAP1
00000dc9: SWAP4
00000dca: SSTORE
00000dcb: DUP10
00000dcc: DUP3
00000dcd: MSTORE
00000dce: PUSH1 0x02
00000dd0: SWAP1
00000dd1: MSTORE
00000dd2: KECCAK256
00000dd3: SLOAD
00000dd4: PUSH2 0x0de4
00000dd7: SWAP1
00000dd8: DUP8
00000dd9: SWAP1
00000dda: PUSH4 0xffffffff
00000ddf: PUSH2 0x2537
00000de2: AND
00000de3: JUMP
00000de4: JUMPDEST
00000de5: PUSH1 0x00
00000de7: DUP9
00000de8: DUP2
00000de9: MSTORE
00000dea: PUSH1 0x02
00000dec: PUSH1 0x20
00000dee: MSTORE
00000def: PUSH1 0x40
00000df1: SWAP1
00000df2: KECCAK256
00000df3: SSTORE
00000df4: PUSH1 0x01
00000df6: SLOAD
00000df7: PUSH2 0x0e07
00000dfa: SWAP1
00000dfb: DUP8
00000dfc: SWAP1
00000dfd: PUSH4 0xffffffff
00000e02: PUSH2 0x2537
00000e05: AND
00000e06: JUMP
00000e07: JUMPDEST
00000e08: PUSH1 0x01
00000e0a: SWAP1
00000e0b: DUP2
00000e0c: SSTORE
00000e0d: PUSH1 0x00
00000e0f: DUP9
00000e10: DUP2
00000e11: MSTORE
00000e12: PUSH1 0x02
00000e14: PUSH1 0x20
00000e16: MSTORE
00000e17: PUSH1 0x40
00000e19: SWAP1
00000e1a: KECCAK256
00000e1b: PUSH1 0x04
00000e1d: ADD
00000e1e: SLOAD
00000e1f: PUSH2 0x0e3e
00000e22: SWAP2
00000e23: SWAP1
00000e24: PUSH2 0x09c6
00000e27: SWAP1
00000e28: DUP3
00000e29: SWAP1
00000e2a: PUSH2 0x2a30
00000e2d: SWAP1
00000e2e: PUSH2 0x0c93
00000e31: SWAP1
00000e32: DUP15
00000e33: SWAP1
00000e34: PUSH4 0xffffffff
00000e39: PUSH2 0x24d7
00000e3c: AND
00000e3d: JUMP
00000e3e: JUMPDEST
00000e3f: SWAP1
00000e40: POP
00000e41: PUSH2 0x019a
00000e44: DUP2
00000e45: LT
00000e46: PUSH2 0x0e4e
00000e49: JUMPI
00000e4a: POP
00000e4b: PUSH2 0x019a
00000e4e: JUMPDEST
00000e4f: PUSH1 0x00
00000e51: DUP8
00000e52: DUP2
00000e53: MSTORE
00000e54: PUSH1 0x02
00000e56: PUSH1 0x20
00000e58: MSTORE
00000e59: PUSH1 0x40
00000e5b: SWAP1
00000e5c: KECCAK256
00000e5d: PUSH1 0x1a
00000e5f: ADD
00000e60: SLOAD
00000e61: PUSH2 0x0e8d
00000e64: SWAP1
00000e65: PUSH2 0x03e8
00000e68: PUSH2 0x0e77
00000e6b: DUP5
00000e6c: DUP11
00000e6d: PUSH4 0xffffffff
00000e72: PUSH2 0x245a
00000e75: AND
00000e76: JUMP
00000e77: JUMPDEST
00000e78: DUP2
00000e79: ISZERO
00000e7a: ISZERO
00000e7b: PUSH2 0x0e80
00000e7e: JUMPI
00000e7f: INVALID
00000e80: JUMPDEST
00000e81: DIV
00000e82: SWAP1
00000e83: PUSH4 0xffffffff
00000e88: PUSH2 0x2537
00000e8b: AND
00000e8c: JUMP
00000e8d: JUMPDEST
00000e8e: PUSH1 0x00
00000e90: DUP9
00000e91: DUP2
00000e92: MSTORE
00000e93: PUSH1 0x02
00000e95: PUSH1 0x20
00000e97: SWAP1
00000e98: DUP2
00000e99: MSTORE
00000e9a: PUSH1 0x40
00000e9c: SWAP2
00000e9d: DUP3
00000e9e: SWAP1
00000e9f: KECCAK256
00000ea0: PUSH1 0x1a
00000ea2: ADD
00000ea3: SWAP3
00000ea4: SWAP1
00000ea5: SWAP3
00000ea6: SSTORE
00000ea7: DUP1
00000ea8: MLOAD
00000ea9: DUP9
00000eaa: DUP2
00000eab: MSTORE
00000eac: SWAP2
00000ead: DUP3
00000eae: ADD
00000eaf: DUP11
00000eb0: SWAP1
00000eb1: MSTORE
00000eb2: DUP1
00000eb3: MLOAD
00000eb4: PUSH1 0x01
00000eb6: PUSH1 0xa0
00000eb8: PUSH1 0x02
00000eba: EXP
00000ebb: SUB
00000ebc: DUP14
00000ebd: AND
00000ebe: SWAP3
00000ebf: DUP11
00000ec0: SWAP3
00000ec1: CALLER
00000ec2: SWAP3
00000ec3: PUSH32 0x7cfc1da3c0c40e1670d11d884a3776eb3a8949e87b844c6dac43b5c9c3dc5f7e
00000ee4: SWAP3
00000ee5: DUP2
00000ee6: SWAP1
00000ee7: SUB
00000ee8: SWAP1
00000ee9: SWAP2
00000eea: ADD
00000eeb: SWAP1
00000eec: LOG4
00000eed: JUMPDEST
00000eee: PUSH1 0x01
00000ef0: PUSH1 0xa0
00000ef2: PUSH1 0x02
00000ef4: EXP
00000ef5: SUB
00000ef6: DUP11
00000ef7: AND
00000ef8: ISZERO
00000ef9: DUP1
00000efa: ISZERO
00000efb: SWAP1
00000efc: PUSH2 0x0f09
00000eff: JUMPI
00000f00: POP
00000f01: PUSH2 0x0f09
00000f04: DUP11
00000f05: PUSH2 0x25cb
00000f08: JUMP
00000f09: JUMPDEST
00000f0a: ISZERO
00000f0b: PUSH2 0x1008
00000f0e: JUMPI
00000f0f: PUSH2 0x0f76
00000f12: PUSH1 0x64
00000f14: PUSH2 0x0f24
00000f17: DUP9
00000f18: PUSH1 0x0a
00000f1a: PUSH4 0xffffffff
00000f1f: PUSH2 0x245a
00000f22: AND
00000f23: JUMP
00000f24: JUMPDEST
00000f25: DUP2
00000f26: ISZERO
00000f27: ISZERO
00000f28: PUSH2 0x0f2d
00000f2b: JUMPI
00000f2c: INVALID
00000f2d: JUMPDEST
00000f2e: DIV
00000f2f: PUSH1 0x03
00000f31: PUSH1 0x00
00000f33: DUP11
00000f34: DUP2
00000f35: MSTORE
00000f36: PUSH1 0x20
00000f38: ADD
00000f39: SWAP1
00000f3a: DUP2
00000f3b: MSTORE
00000f3c: PUSH1 0x20
00000f3e: ADD
00000f3f: PUSH1 0x00
00000f41: KECCAK256
00000f42: PUSH1 0x00
00000f44: DUP14
00000f45: PUSH1 0x01
00000f47: PUSH1 0xa0
00000f49: PUSH1 0x02
00000f4b: EXP
00000f4c: SUB
00000f4d: AND
00000f4e: PUSH1 0x01
00000f50: PUSH1 0xa0
00000f52: PUSH1 0x02
00000f54: EXP
00000f55: SUB
00000f56: AND
00000f57: DUP2
00000f58: MSTORE
00000f59: PUSH1 0x20
00000f5b: ADD
00000f5c: SWAP1
00000f5d: DUP2
00000f5e: MSTORE
00000f5f: PUSH1 0x20
00000f61: ADD
00000f62: PUSH1 0x00
00000f64: KECCAK256
00000f65: PUSH1 0x03
00000f67: ADD
00000f68: SLOAD
00000f69: PUSH2 0x2537
00000f6c: SWAP1
00000f6d: SWAP2
00000f6e: SWAP1
00000f6f: PUSH4 0xffffffff
00000f74: AND
00000f75: JUMP
00000f76: JUMPDEST
00000f77: PUSH1 0x03
00000f79: PUSH1 0x00
00000f7b: DUP10
00000f7c: DUP2
00000f7d: MSTORE
00000f7e: PUSH1 0x20
00000f80: ADD
00000f81: SWAP1
00000f82: DUP2
00000f83: MSTORE
00000f84: PUSH1 0x20
00000f86: ADD
00000f87: PUSH1 0x00
00000f89: KECCAK256
00000f8a: PUSH1 0x00
00000f8c: DUP13
00000f8d: PUSH1 0x01
00000f8f: PUSH1 0xa0
00000f91: PUSH1 0x02
00000f93: EXP
00000f94: SUB
00000f95: AND
00000f96: PUSH1 0x01
00000f98: PUSH1 0xa0
00000f9a: PUSH1 0x02
00000f9c: EXP
00000f9d: SUB
00000f9e: AND
00000f9f: DUP2
00000fa0: MSTORE
00000fa1: PUSH1 0x20
00000fa3: ADD
00000fa4: SWAP1
00000fa5: DUP2
00000fa6: MSTORE
00000fa7: PUSH1 0x20
00000fa9: ADD
00000faa: PUSH1 0x00
00000fac: KECCAK256
00000fad: PUSH1 0x03
00000faf: ADD
00000fb0: DUP2
00000fb1: SWAP1
00000fb2: SSTORE
00000fb3: POP
00000fb4: PUSH2 0x0ff5
00000fb7: PUSH1 0x64
00000fb9: PUSH2 0x0fcc
00000fbc: PUSH1 0x0a
00000fbe: DUP10
00000fbf: PUSH2 0x245a
00000fc2: SWAP1
00000fc3: SWAP2
00000fc4: SWAP1
00000fc5: PUSH4 0xffffffff
00000fca: AND
00000fcb: JUMP
00000fcc: JUMPDEST
00000fcd: DUP2
00000fce: ISZERO
00000fcf: ISZERO
00000fd0: PUSH2 0x0fd5
00000fd3: JUMPI
00000fd4: INVALID
00000fd5: JUMPDEST
00000fd6: PUSH1 0x00
00000fd8: DUP11
00000fd9: DUP2
00000fda: MSTORE
00000fdb: PUSH1 0x02
00000fdd: PUSH1 0x20
00000fdf: MSTORE
00000fe0: PUSH1 0x40
00000fe2: SWAP1
00000fe3: KECCAK256
00000fe4: PUSH1 0x18
00000fe6: ADD
00000fe7: SLOAD
00000fe8: SWAP2
00000fe9: SWAP1
00000fea: DIV
00000feb: PUSH4 0xffffffff
00000ff0: PUSH2 0x2537
00000ff3: AND
00000ff4: JUMP
00000ff5: JUMPDEST
00000ff6: PUSH1 0x00
00000ff8: DUP9
00000ff9: DUP2
00000ffa: MSTORE
00000ffb: PUSH1 0x02
00000ffd: PUSH1 0x20
00000fff: MSTORE
00001000: PUSH1 0x40
00001002: SWAP1
00001003: KECCAK256
00001004: PUSH1 0x18
00001006: ADD
00001007: SSTORE
00001008: JUMPDEST
00001009: PUSH1 0x00
0000100b: DUP8
0000100c: DUP2
0000100d: MSTORE
0000100e: PUSH1 0x02
00001010: PUSH1 0x20
00001012: MSTORE
00001013: PUSH1 0x40
00001015: SWAP1
00001016: KECCAK256
00001017: PUSH1 0x17
00001019: DUP2
0000101a: ADD
0000101b: SLOAD
0000101c: PUSH1 0x07
0000101e: SWAP1
0000101f: SWAP2
00001020: ADD
00001021: SWAP1
00001022: PUSH1 0x0b
00001024: SWAP1
00001025: MOD
00001026: PUSH1 0x0b
00001028: DUP2
00001029: LT
0000102a: PUSH2 0x102f
0000102d: JUMPI
0000102e: INVALID
0000102f: JUMPDEST
00001030: ADD
00001031: SLOAD
00001032: PUSH1 0x00
00001034: DUP9
00001035: DUP2
00001036: MSTORE
00001037: PUSH1 0x02
00001039: PUSH1 0x20
0000103b: MSTORE
0000103c: PUSH1 0x40
0000103e: SWAP1
0000103f: KECCAK256
00001040: PUSH1 0x17
00001042: DUP2
00001043: ADD
00001044: SLOAD
00001045: PUSH1 0x01
00001047: PUSH1 0xa0
00001049: PUSH1 0x02
0000104b: EXP
0000104c: SUB
0000104d: SWAP1
0000104e: SWAP3
0000104f: AND
00001050: SWAP2
00001051: PUSH1 0x12
00001053: SWAP1
00001054: SWAP2
00001055: ADD
00001056: SWAP1
00001057: PUSH1 0x03
00001059: AND
0000105a: PUSH1 0x04
0000105c: DUP2
0000105d: LT
0000105e: PUSH2 0x1063
00001061: JUMPI
00001062: INVALID
00001063: JUMPDEST
00001064: ADD
00001065: DUP1
00001066: SLOAD
00001067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000107c: NOT
0000107d: AND
0000107e: PUSH1 0x01
00001080: PUSH1 0xa0
00001082: PUSH1 0x02
00001084: EXP
00001085: SUB
00001086: SWAP3
00001087: SWAP1
00001088: SWAP3
00001089: AND
0000108a: SWAP2
0000108b: SWAP1
0000108c: SWAP2
0000108d: OR
0000108e: SWAP1
0000108f: SSTORE
00001090: PUSH1 0x00
00001092: DUP8
00001093: DUP2
00001094: MSTORE
00001095: PUSH1 0x02
00001097: PUSH1 0x20
00001099: MSTORE
0000109a: PUSH1 0x40
0000109c: SWAP1
0000109d: KECCAK256
0000109e: PUSH1 0x17
000010a0: DUP2
000010a1: ADD
000010a2: SLOAD
000010a3: CALLER
000010a4: SWAP2
000010a5: PUSH1 0x07
000010a7: ADD
000010a8: SWAP1
000010a9: PUSH1 0x0b
000010ab: SWAP1
000010ac: MOD
000010ad: PUSH1 0x0b
000010af: DUP2
000010b0: LT
000010b1: PUSH2 0x10b6
000010b4: JUMPI
000010b5: INVALID
000010b6: JUMPDEST
000010b7: ADD
000010b8: DUP1
000010b9: SLOAD
000010ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010cf: NOT
000010d0: AND
000010d1: PUSH1 0x01
000010d3: PUSH1 0xa0
000010d5: PUSH1 0x02
000010d7: EXP
000010d8: SUB
000010d9: SWAP3
000010da: SWAP1
000010db: SWAP3
000010dc: AND
000010dd: SWAP2
000010de: SWAP1
000010df: SWAP2
000010e0: OR
000010e1: SWAP1
000010e2: SSTORE
000010e3: PUSH1 0x00
000010e5: DUP8
000010e6: DUP2
000010e7: MSTORE
000010e8: PUSH1 0x02
000010ea: PUSH1 0x20
000010ec: MSTORE
000010ed: PUSH1 0x40
000010ef: SWAP1
000010f0: KECCAK256
000010f1: PUSH1 0x17
000010f3: ADD
000010f4: SLOAD
000010f5: PUSH2 0x10ff
000010f8: SWAP1
000010f9: PUSH1 0x01
000010fb: PUSH2 0x2537
000010fe: JUMP
000010ff: JUMPDEST
00001100: PUSH1 0x00
00001102: SWAP8
00001103: DUP9
00001104: MSTORE
00001105: PUSH1 0x02
00001107: PUSH1 0x20
00001109: MSTORE
0000110a: PUSH1 0x40
0000110c: SWAP1
0000110d: SWAP8
0000110e: KECCAK256
0000110f: PUSH1 0x17
00001111: ADD
00001112: SWAP7
00001113: SWAP1
00001114: SWAP7
00001115: SSTORE
00001116: POP
00001117: POP
00001118: POP
00001119: POP
0000111a: POP
0000111b: POP
0000111c: POP
0000111d: POP
0000111e: POP
0000111f: JUMP
00001120: JUMPDEST
00001121: PUSH1 0x00
00001123: DUP1
00001124: SLOAD
00001125: DUP1
00001126: DUP3
00001127: MSTORE
00001128: PUSH1 0x02
0000112a: PUSH1 0x20
0000112c: MSTORE
0000112d: PUSH1 0x40
0000112f: DUP3
00001130: KECCAK256
00001131: PUSH1 0x03
00001133: ADD
00001134: SLOAD
00001135: TIMESTAMP
00001136: SWAP1
00001137: DUP4
00001138: SWAP1
00001139: DUP3
0000113a: GT
0000113b: ISZERO
0000113c: PUSH2 0x114e
0000113f: JUMPI
00001140: PUSH7 0x02aa209ead3c50
00001148: SWAP4
00001149: POP
0000114a: PUSH2 0x12d8
0000114d: JUMP
0000114e: JUMPDEST
0000114f: PUSH1 0x00
00001151: DUP4
00001152: DUP2
00001153: MSTORE
00001154: PUSH1 0x02
00001156: PUSH1 0x20
00001158: MSTORE
00001159: PUSH1 0x40
0000115b: SWAP1
0000115c: KECCAK256
0000115d: PUSH1 0x01
0000115f: ADD
00001160: SLOAD
00001161: PUSH11 0x0c685fa11e01ec6f000000
0000116d: GT
0000116e: ISZERO
0000116f: PUSH2 0x11b5
00001172: JUMPI
00001173: PUSH1 0x00
00001175: DUP4
00001176: DUP2
00001177: MSTORE
00001178: PUSH1 0x02
0000117a: PUSH1 0x20
0000117c: MSTORE
0000117d: PUSH1 0x40
0000117f: SWAP1
00001180: KECCAK256
00001181: PUSH1 0x01
00001183: ADD
00001184: SLOAD
00001185: PUSH2 0x11ae
00001188: SWAP1
00001189: PUSH8 0x8ac7230489e80000
00001192: SWAP1
00001193: PUSH2 0x11a2
00001196: SWAP1
00001197: DUP3
00001198: PUSH4 0xffffffff
0000119d: PUSH2 0x2537
000011a0: AND
000011a1: JUMP
000011a2: JUMPDEST
000011a3: SWAP1
000011a4: PUSH4 0xffffffff
000011a9: PUSH2 0x25d7
000011ac: AND
000011ad: JUMP
000011ae: JUMPDEST
000011af: SWAP4
000011b0: POP
000011b1: PUSH2 0x12d8
000011b4: JUMP
000011b5: JUMPDEST
000011b6: PUSH1 0x00
000011b8: DUP4
000011b9: DUP2
000011ba: MSTORE
000011bb: PUSH1 0x02
000011bd: PUSH1 0x20
000011bf: MSTORE
000011c0: PUSH1 0x40
000011c2: SWAP1
000011c3: KECCAK256
000011c4: PUSH1 0x01
000011c6: ADD
000011c7: SLOAD
000011c8: PUSH11 0x0c685fa11e01ec6f000000
000011d4: GT
000011d5: DUP1
000011d6: ISZERO
000011d7: SWAP1
000011d8: PUSH2 0x11f1
000011db: JUMPI
000011dc: POP
000011dd: PUSH1 0x00
000011df: DUP4
000011e0: DUP2
000011e1: MSTORE
000011e2: PUSH1 0x02
000011e4: PUSH1 0x20
000011e6: MSTORE
000011e7: PUSH1 0x40
000011e9: SWAP1
000011ea: KECCAK256
000011eb: PUSH1 0x04
000011ed: ADD
000011ee: SLOAD
000011ef: ISZERO
000011f0: ISZERO
000011f1: JUMPDEST
000011f2: DUP1
000011f3: ISZERO
000011f4: PUSH2 0x1216
000011f7: JUMPI
000011f8: POP
000011f9: PUSH1 0x00
000011fb: DUP4
000011fc: DUP2
000011fd: MSTORE
000011fe: PUSH1 0x02
00001200: PUSH1 0x20
00001202: MSTORE
00001203: PUSH1 0x40
00001205: SWAP1
00001206: KECCAK256
00001207: PUSH1 0x06
00001209: ADD
0000120a: SLOAD
0000120b: PUSH1 0x01
0000120d: PUSH1 0xa0
0000120f: PUSH1 0x02
00001211: EXP
00001212: SUB
00001213: AND
00001214: ISZERO
00001215: ISZERO
00001216: JUMPDEST
00001217: DUP1
00001218: ISZERO
00001219: PUSH2 0x1232
0000121c: JUMPI
0000121d: POP
0000121e: PUSH1 0x00
00001220: DUP4
00001221: DUP2
00001222: MSTORE
00001223: PUSH1 0x02
00001225: PUSH1 0x20
00001227: MSTORE
00001228: PUSH1 0x40
0000122a: SWAP1
0000122b: KECCAK256
0000122c: PUSH1 0x04
0000122e: ADD
0000122f: SLOAD
00001230: DUP3
00001231: LT
00001232: JUMPDEST
00001233: ISZERO
00001234: PUSH2 0x1246
00001237: JUMPI
00001238: PUSH7 0xb1a2bc2ec50000
00001240: SWAP4
00001241: POP
00001242: PUSH2 0x12d8
00001245: JUMP
00001246: JUMPDEST
00001247: PUSH1 0x00
00001249: DUP4
0000124a: DUP2
0000124b: MSTORE
0000124c: PUSH1 0x02
0000124e: PUSH1 0x20
00001250: MSTORE
00001251: PUSH1 0x40
00001253: SWAP1
00001254: KECCAK256
00001255: PUSH1 0x01
00001257: ADD
00001258: SLOAD
00001259: PUSH11 0x0c685fa11e01ec6f000000
00001265: GT
00001266: DUP1
00001267: ISZERO
00001268: SWAP1
00001269: PUSH2 0x1282
0000126c: JUMPI
0000126d: POP
0000126e: PUSH1 0x00
00001270: DUP4
00001271: DUP2
00001272: MSTORE
00001273: PUSH1 0x02
00001275: PUSH1 0x20
00001277: MSTORE
00001278: PUSH1 0x40
0000127a: SWAP1
0000127b: KECCAK256
0000127c: PUSH1 0x04
0000127e: ADD
0000127f: SLOAD
00001280: DUP3
00001281: GT
00001282: JUMPDEST
00001283: ISZERO
00001284: PUSH2 0x12d3
00001287: JUMPI
00001288: PUSH2 0x12c9
0000128b: PUSH7 0xb1a2bc2ec50000
00001293: PUSH2 0x09c6
00001296: PUSH7 0xb1a2bc2ec50000
0000129e: PUSH2 0x2a30
000012a1: PUSH2 0x0c93
000012a4: PUSH1 0x02
000012a6: PUSH1 0x00
000012a8: DUP11
000012a9: DUP2
000012aa: MSTORE
000012ab: PUSH1 0x20
000012ad: ADD
000012ae: SWAP1
000012af: DUP2
000012b0: MSTORE
000012b1: PUSH1 0x20
000012b3: ADD
000012b4: PUSH1 0x00
000012b6: KECCAK256
000012b7: PUSH1 0x04
000012b9: ADD
000012ba: SLOAD
000012bb: DUP9
000012bc: PUSH2 0x24d7
000012bf: SWAP1
000012c0: SWAP2
000012c1: SWAP1
000012c2: PUSH4 0xffffffff
000012c7: AND
000012c8: JUMP
000012c9: JUMPDEST
000012ca: SWAP1
000012cb: POP
000012cc: DUP1
000012cd: SWAP4
000012ce: POP
000012cf: PUSH2 0x12d8
000012d2: JUMP
000012d3: JUMPDEST
000012d4: PUSH1 0x00
000012d6: SWAP4
000012d7: POP
000012d8: JUMPDEST
000012d9: POP
000012da: POP
000012db: POP
000012dc: SWAP1
000012dd: JUMP
000012de: JUMPDEST
000012df: PUSH1 0x00
000012e1: SLOAD
000012e2: DUP2
000012e3: JUMP
000012e4: JUMPDEST
000012e5: PUSH1 0x01
000012e7: SLOAD
000012e8: DUP2
000012e9: JUMP
000012ea: JUMPDEST
000012eb: PUSH1 0x06
000012ed: SLOAD
000012ee: DUP2
000012ef: JUMP
000012f0: JUMPDEST
000012f1: PUSH1 0x04
000012f3: SLOAD
000012f4: PUSH1 0x01
000012f6: PUSH1 0xa0
000012f8: PUSH1 0x02
000012fa: EXP
000012fb: SUB
000012fc: AND
000012fd: CALLER
000012fe: EQ
000012ff: PUSH2 0x1352
00001302: JUMPI
00001303: PUSH1 0x40
00001305: DUP1
00001306: MLOAD
00001307: PUSH1 0xe5
00001309: PUSH1 0x02
0000130b: EXP
0000130c: PUSH3 0x461bcd
00001310: MUL
00001311: DUP2
00001312: MSTORE
00001313: PUSH1 0x20
00001315: PUSH1 0x04
00001317: DUP3
00001318: ADD
00001319: MSTORE
0000131a: PUSH1 0x14
0000131c: PUSH1 0x24
0000131e: DUP3
0000131f: ADD
00001320: MSTORE
00001321: PUSH32 0x6f6e6c79206f776e65722063616e20646f206974000000000000000000000000
00001342: PUSH1 0x44
00001344: DUP3
00001345: ADD
00001346: MSTORE
00001347: SWAP1
00001348: MLOAD
00001349: SWAP1
0000134a: DUP2
0000134b: SWAP1
0000134c: SUB
0000134d: PUSH1 0x64
0000134f: ADD
00001350: SWAP1
00001351: REVERT
00001352: JUMPDEST
00001353: PUSH1 0x05
00001355: DUP1
00001356: SLOAD
00001357: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000136c: NOT
0000136d: AND
0000136e: PUSH1 0x01
00001370: PUSH1 0xa0
00001372: PUSH1 0x02
00001374: EXP
00001375: SUB
00001376: SWAP3
00001377: SWAP1
00001378: SWAP3
00001379: AND
0000137a: SWAP2
0000137b: SWAP1
0000137c: SWAP2
0000137d: OR
0000137e: SWAP1
0000137f: SSTORE
00001380: JUMP
00001381: JUMPDEST
00001382: PUSH1 0x00
00001384: DUP1
00001385: CALLER
00001386: DUP1
00001387: EXTCODESIZE
00001388: DUP1
00001389: ISZERO
0000138a: PUSH2 0x13cb
0000138d: JUMPI
0000138e: PUSH1 0x40
00001390: DUP1
00001391: MLOAD
00001392: PUSH1 0xe5
00001394: PUSH1 0x02
00001396: EXP
00001397: PUSH3 0x461bcd
0000139b: MUL
0000139c: DUP2
0000139d: MSTORE
0000139e: PUSH1 0x20
000013a0: PUSH1 0x04
000013a2: DUP3
000013a3: ADD
000013a4: MSTORE
000013a5: PUSH1 0x11
000013a7: PUSH1 0x24
000013a9: DUP3
000013aa: ADD
000013ab: MSTORE
000013ac: PUSH1 0x00
000013ae: DUP1
000013af: MLOAD
000013b0: PUSH1 0x20
000013b2: PUSH2 0x2806
000013b5: DUP4
000013b6: CODECOPY
000013b7: DUP2
000013b8: MLOAD
000013b9: SWAP2
000013ba: MSTORE
000013bb: PUSH1 0x44
000013bd: DUP3
000013be: ADD
000013bf: MSTORE
000013c0: SWAP1
000013c1: MLOAD
000013c2: SWAP1
000013c3: DUP2
000013c4: SWAP1
000013c5: SUB
000013c6: PUSH1 0x64
000013c8: ADD
000013c9: SWAP1
000013ca: REVERT
000013cb: JUMPDEST
000013cc: PUSH1 0x07
000013ce: SLOAD
000013cf: PUSH1 0xff
000013d1: AND
000013d2: ISZERO
000013d3: ISZERO
000013d4: PUSH1 0x01
000013d6: EQ
000013d7: PUSH2 0x1418
000013da: JUMPI
000013db: PUSH1 0x40
000013dd: DUP1
000013de: MLOAD
000013df: PUSH1 0xe5
000013e1: PUSH1 0x02
000013e3: EXP
000013e4: PUSH3 0x461bcd
000013e8: MUL
000013e9: DUP2
000013ea: MSTORE
000013eb: PUSH1 0x20
000013ed: PUSH1 0x04
000013ef: DUP3
000013f0: ADD
000013f1: MSTORE
000013f2: PUSH1 0x1c
000013f4: PUSH1 0x24
000013f6: DUP3
000013f7: ADD
000013f8: MSTORE
000013f9: PUSH1 0x00
000013fb: DUP1
000013fc: MLOAD
000013fd: PUSH1 0x20
000013ff: PUSH2 0x27e6
00001402: DUP4
00001403: CODECOPY
00001404: DUP2
00001405: MLOAD
00001406: SWAP2
00001407: MSTORE
00001408: PUSH1 0x44
0000140a: DUP3
0000140b: ADD
0000140c: MSTORE
0000140d: SWAP1
0000140e: MLOAD
0000140f: SWAP1
00001410: DUP2
00001411: SWAP1
00001412: SUB
00001413: PUSH1 0x64
00001415: ADD
00001416: SWAP1
00001417: REVERT
00001418: JUMPDEST
00001419: PUSH1 0x05
0000141b: SLOAD
0000141c: PUSH1 0x01
0000141e: PUSH1 0xa0
00001420: PUSH1 0x02
00001422: EXP
00001423: SUB
00001424: AND
00001425: ISZERO
00001426: ISZERO
00001427: PUSH2 0x14a0
0000142a: JUMPI
0000142b: PUSH1 0x40
0000142d: DUP1
0000142e: MLOAD
0000142f: PUSH1 0xe5
00001431: PUSH1 0x02
00001433: EXP
00001434: PUSH3 0x461bcd
00001438: MUL
00001439: DUP2
0000143a: MSTORE
0000143b: PUSH1 0x20
0000143d: PUSH1 0x04
0000143f: DUP3
00001440: ADD
00001441: MSTORE
00001442: PUSH1 0x2e
00001444: PUSH1 0x24
00001446: DUP3
00001447: ADD
00001448: MSTORE
00001449: PUSH32 0x546865207265636569766572206164647265737320686173206e6f7420626565
0000146a: PUSH1 0x44
0000146c: DUP3
0000146d: ADD
0000146e: MSTORE
0000146f: PUSH32 0x6e20696e697469616c697a65642e000000000000000000000000000000000000
00001490: PUSH1 0x64
00001492: DUP3
00001493: ADD
00001494: MSTORE
00001495: SWAP1
00001496: MLOAD
00001497: SWAP1
00001498: DUP2
00001499: SWAP1
0000149a: SUB
0000149b: PUSH1 0x84
0000149d: ADD
0000149e: SWAP1
0000149f: REVERT
000014a0: JUMPDEST
000014a1: PUSH1 0x01
000014a3: SLOAD
000014a4: PUSH1 0x64
000014a6: SWAP1
000014a7: PUSH2 0x14b7
000014aa: SWAP1
000014ab: PUSH1 0x05
000014ad: PUSH4 0xffffffff
000014b2: PUSH2 0x245a
000014b5: AND
000014b6: JUMP
000014b7: JUMPDEST
000014b8: DUP2
000014b9: ISZERO
000014ba: ISZERO
000014bb: PUSH2 0x14c0
000014be: JUMPI
000014bf: INVALID
000014c0: JUMPDEST
000014c1: DIV
000014c2: SWAP4
000014c3: POP
000014c4: PUSH1 0x06
000014c6: SLOAD
000014c7: SWAP3
000014c8: POP
000014c9: DUP3
000014ca: DUP5
000014cb: GT
000014cc: ISZERO
000014cd: ISZERO
000014ce: PUSH2 0x1521
000014d1: JUMPI
000014d2: PUSH1 0x40
000014d4: DUP1
000014d5: MLOAD
000014d6: PUSH1 0xe5
000014d8: PUSH1 0x02
000014da: EXP
000014db: PUSH3 0x461bcd
000014df: MUL
000014e0: DUP2
000014e1: MSTORE
000014e2: PUSH1 0x20
000014e4: PUSH1 0x04
000014e6: DUP3
000014e7: ADD
000014e8: MSTORE
000014e9: PUSH1 0x13
000014eb: PUSH1 0x24
000014ed: DUP3
000014ee: ADD
000014ef: MSTORE
000014f0: PUSH32 0x4e6f206e65656420746f20776974686472617700000000000000000000000000
00001511: PUSH1 0x44
00001513: DUP3
00001514: ADD
00001515: MSTORE
00001516: SWAP1
00001517: MLOAD
00001518: SWAP1
00001519: DUP2
0000151a: SWAP1
0000151b: SUB
0000151c: PUSH1 0x64
0000151e: ADD
0000151f: SWAP1
00001520: REVERT
00001521: JUMPDEST
00001522: PUSH1 0x06
00001524: DUP5
00001525: SWAP1
00001526: SSTORE
00001527: PUSH1 0x05
00001529: SLOAD
0000152a: PUSH1 0x01
0000152c: PUSH1 0xa0
0000152e: PUSH1 0x02
00001530: EXP
00001531: SUB
00001532: AND
00001533: PUSH2 0x08fc
00001536: PUSH2 0x1545
00001539: DUP7
0000153a: DUP7
0000153b: PUSH4 0xffffffff
00001540: PUSH2 0x24d7
00001543: AND
00001544: JUMP
00001545: JUMPDEST
00001546: PUSH1 0x40
00001548: MLOAD
00001549: DUP2
0000154a: ISZERO
0000154b: SWAP1
0000154c: SWAP3
0000154d: MUL
0000154e: SWAP2
0000154f: PUSH1 0x00
00001551: DUP2
00001552: DUP2
00001553: DUP2
00001554: DUP6
00001555: DUP9
00001556: DUP9
00001557: CALL
00001558: SWAP4
00001559: POP
0000155a: POP
0000155b: POP
0000155c: POP
0000155d: ISZERO
0000155e: DUP1
0000155f: ISZERO
00001560: PUSH2 0x156d
00001563: JUMPI
00001564: RETURNDATASIZE
00001565: PUSH1 0x00
00001567: DUP1
00001568: RETURNDATACOPY
00001569: RETURNDATASIZE
0000156a: PUSH1 0x00
0000156c: REVERT
0000156d: JUMPDEST
0000156e: POP
0000156f: POP
00001570: POP
00001571: POP
00001572: POP
00001573: JUMP
00001574: JUMPDEST
00001575: PUSH1 0x00
00001577: PUSH2 0x157e
0000157a: PUSH2 0x274d
0000157d: JUMP
0000157e: JUMPDEST
0000157f: PUSH2 0x1586
00001582: PUSH2 0x2768
00001585: JUMP
00001586: JUMPDEST
00001587: PUSH2 0x158e
0000158a: PUSH2 0x274d
0000158d: JUMP
0000158e: JUMPDEST
0000158f: PUSH2 0x1596
00001592: PUSH2 0x2787
00001595: JUMP
00001596: JUMPDEST
00001597: PUSH2 0x159e
0000159a: PUSH2 0x27a6
0000159d: JUMP
0000159e: JUMPDEST
0000159f: PUSH2 0x15a6
000015a2: PUSH2 0x27c6
000015a5: JUMP
000015a6: JUMPDEST
000015a7: PUSH1 0x00
000015a9: DUP1
000015aa: SLOAD
000015ab: DUP1
000015ac: DUP3
000015ad: MSTORE
000015ae: PUSH1 0x02
000015b0: PUSH1 0x20
000015b2: MSTORE
000015b3: PUSH1 0x40
000015b5: DUP3
000015b6: KECCAK256
000015b7: SLOAD
000015b8: SWAP1
000015b9: SWAP2
000015ba: SWAP1
000015bb: PUSH2 0x1608
000015be: SWAP1
000015bf: PUSH1 0x64
000015c1: SWAP1
000015c2: PUSH2 0x15d2
000015c5: SWAP1
000015c6: PUSH1 0x1e
000015c8: PUSH4 0xffffffff
000015cd: PUSH2 0x245a
000015d0: AND
000015d1: JUMP
000015d2: JUMPDEST
000015d3: DUP2
000015d4: ISZERO
000015d5: ISZERO
000015d6: PUSH2 0x15db
000015d9: JUMPI
000015da: INVALID
000015db: JUMPDEST
000015dc: PUSH1 0x00
000015de: DUP6
000015df: DUP2
000015e0: MSTORE
000015e1: PUSH1 0x02
000015e3: PUSH1 0x20
000015e5: MSTORE
000015e6: PUSH1 0x40
000015e8: SWAP1
000015e9: KECCAK256
000015ea: PUSH1 0x1a
000015ec: DUP2
000015ed: ADD
000015ee: SLOAD
000015ef: PUSH1 0x19
000015f1: SWAP1
000015f2: SWAP2
000015f3: ADD
000015f4: SLOAD
000015f5: SWAP3
000015f6: SWAP1
000015f7: SWAP2
000015f8: DIV
000015f9: SWAP2
000015fa: PUSH2 0x09c6
000015fd: SWAP2
000015fe: PUSH4 0xffffffff
00001603: PUSH2 0x2537
00001606: AND
00001607: JUMP
00001608: JUMPDEST
00001609: PUSH1 0x40
0000160b: DUP1
0000160c: MLOAD
0000160d: DUP1
0000160e: DUP3
0000160f: ADD
00001610: DUP3
00001611: MSTORE
00001612: PUSH1 0x00
00001614: DUP6
00001615: DUP2
00001616: MSTORE
00001617: PUSH1 0x02
00001619: PUSH1 0x20
0000161b: DUP2
0000161c: DUP2
0000161d: MSTORE
0000161e: DUP5
0000161f: DUP4
00001620: KECCAK256
00001621: DUP1
00001622: SLOAD
00001623: DUP6
00001624: MSTORE
00001625: PUSH1 0x01
00001627: DUP2
00001628: ADD
00001629: SLOAD
0000162a: DUP3
0000162b: DUP7
0000162c: ADD
0000162d: MSTORE
0000162e: DUP6
0000162f: MLOAD
00001630: PUSH1 0x60
00001632: DUP2
00001633: ADD
00001634: DUP8
00001635: MSTORE
00001636: DUP2
00001637: DUP5
00001638: ADD
00001639: SLOAD
0000163a: DUP2
0000163b: MSTORE
0000163c: PUSH1 0x03
0000163e: DUP3
0000163f: ADD
00001640: SLOAD
00001641: DUP2
00001642: DUP5
00001643: ADD
00001644: MSTORE
00001645: PUSH1 0x04
00001647: DUP3
00001648: ADD
00001649: SLOAD
0000164a: DUP2
0000164b: DUP9
0000164c: ADD
0000164d: MSTORE
0000164e: DUP7
0000164f: MLOAD
00001650: DUP1
00001651: DUP9
00001652: ADD
00001653: DUP9
00001654: MSTORE
00001655: PUSH1 0x05
00001657: DUP4
00001658: ADD
00001659: SLOAD
0000165a: PUSH1 0x01
0000165c: PUSH1 0xa0
0000165e: PUSH1 0x02
00001660: EXP
00001661: SUB
00001662: SWAP1
00001663: DUP2
00001664: AND
00001665: DUP3
00001666: MSTORE
00001667: SWAP6
00001668: DUP12
00001669: SWAP1
0000166a: MSTORE
0000166b: SWAP4
0000166c: DUP4
0000166d: MSTORE
0000166e: PUSH1 0x06
00001670: SWAP1
00001671: SWAP2
00001672: ADD
00001673: SLOAD
00001674: SWAP1
00001675: SWAP4
00001676: AND
00001677: SWAP1
00001678: DUP3
00001679: ADD
0000167a: MSTORE
0000167b: DUP4
0000167c: MLOAD
0000167d: PUSH1 0xc0
0000167f: DUP2
00001680: ADD
00001681: SWAP1
00001682: SWAP5
00001683: MSTORE
00001684: SWAP4
00001685: SWAP5
00001686: POP
00001687: DUP6
00001688: SWAP4
00001689: SWAP2
0000168a: SWAP3
0000168b: SWAP1
0000168c: SWAP2
0000168d: SWAP1
0000168e: DUP1
0000168f: PUSH2 0x1696
00001692: PUSH2 0x1120
00001695: JUMP
00001696: JUMPDEST
00001697: DUP2
00001698: MSTORE
00001699: PUSH1 0x00
0000169b: DUP9
0000169c: DUP2
0000169d: MSTORE
0000169e: PUSH1 0x02
000016a0: PUSH1 0x20
000016a2: DUP2
000016a3: DUP2
000016a4: MSTORE
000016a5: PUSH1 0x40
000016a7: DUP1
000016a8: DUP5
000016a9: KECCAK256
000016aa: PUSH1 0x19
000016ac: DUP2
000016ad: ADD
000016ae: SLOAD
000016af: DUP4
000016b0: DUP8
000016b1: ADD
000016b2: MSTORE
000016b3: DUP2
000016b4: DUP7
000016b5: ADD
000016b6: DUP13
000016b7: SWAP1
000016b8: MSTORE
000016b9: PUSH1 0x18
000016bb: DUP2
000016bc: ADD
000016bd: SLOAD
000016be: PUSH1 0x60
000016c0: DUP8
000016c1: ADD
000016c2: MSTORE
000016c3: PUSH1 0x17
000016c5: DUP2
000016c6: ADD
000016c7: SLOAD
000016c8: PUSH1 0x0b
000016ca: SWAP1
000016cb: DUP2
000016cc: SWAP1
000016cd: MOD
000016ce: PUSH1 0x80
000016d0: DUP9
000016d1: ADD
000016d2: MSTORE
000016d3: PUSH1 0x1a
000016d5: DUP3
000016d6: ADD
000016d7: SLOAD
000016d8: PUSH1 0xa0
000016da: SWAP1
000016db: SWAP8
000016dc: ADD
000016dd: SWAP7
000016de: SWAP1
000016df: SWAP7
000016e0: MSTORE
000016e1: SWAP4
000016e2: DUP13
000016e3: SWAP1
000016e4: MSTORE
000016e5: SWAP2
000016e6: SWAP1
000016e7: MSTORE
000016e8: DUP1
000016e9: MLOAD
000016ea: PUSH2 0x0160
000016ed: DUP2
000016ee: ADD
000016ef: SWAP2
000016f0: DUP3
000016f1: SWAP1
000016f2: MSTORE
000016f3: PUSH1 0x07
000016f5: DUP4
000016f6: ADD
000016f7: SWAP4
000016f8: PUSH1 0x12
000016fa: SWAP1
000016fb: SWAP4
000016fc: ADD
000016fd: SWAP3
000016fe: SWAP1
000016ff: SWAP2
00001700: DUP5
00001701: SWAP2
00001702: SWAP1
00001703: DUP3
00001704: DUP5
00001705: JUMPDEST
00001706: DUP2
00001707: SLOAD
00001708: PUSH1 0x01
0000170a: PUSH1 0xa0
0000170c: PUSH1 0x02
0000170e: EXP
0000170f: SUB
00001710: AND
00001711: DUP2
00001712: MSTORE
00001713: PUSH1 0x01
00001715: SWAP1
00001716: SWAP2
00001717: ADD
00001718: SWAP1
00001719: PUSH1 0x20
0000171b: ADD
0000171c: DUP1
0000171d: DUP4
0000171e: GT
0000171f: PUSH2 0x1705
00001722: JUMPI
00001723: POP
00001724: POP
00001725: PUSH1 0x40
00001727: DUP1
00001728: MLOAD
00001729: PUSH1 0x80
0000172b: DUP2
0000172c: ADD
0000172d: SWAP2
0000172e: DUP3
0000172f: SWAP1
00001730: MSTORE
00001731: SWAP5
00001732: SWAP7
00001733: POP
00001734: DUP6
00001735: SWAP4
00001736: POP
00001737: PUSH1 0x04
00001739: SWAP3
0000173a: POP
0000173b: SWAP1
0000173c: POP
0000173d: DUP3
0000173e: DUP5
0000173f: JUMPDEST
00001740: DUP2
00001741: SLOAD
00001742: PUSH1 0x01
00001744: PUSH1 0xa0
00001746: PUSH1 0x02
00001748: EXP
00001749: SUB
0000174a: AND
0000174b: DUP2
0000174c: MSTORE
0000174d: PUSH1 0x01
0000174f: SWAP1
00001750: SWAP2
00001751: ADD
00001752: SWAP1
00001753: PUSH1 0x20
00001755: ADD
00001756: DUP1
00001757: DUP4
00001758: GT
00001759: PUSH2 0x173f
0000175c: JUMPI
0000175d: POP
0000175e: POP
0000175f: POP
00001760: POP
00001761: POP
00001762: SWAP1
00001763: POP
00001764: SWAP9
00001765: POP
00001766: SWAP9
00001767: POP
00001768: SWAP9
00001769: POP
0000176a: SWAP9
0000176b: POP
0000176c: SWAP9
0000176d: POP
0000176e: SWAP9
0000176f: POP
00001770: SWAP9
00001771: POP
00001772: POP
00001773: POP
00001774: SWAP1
00001775: SWAP2
00001776: SWAP3
00001777: SWAP4
00001778: SWAP5
00001779: SWAP6
0000177a: SWAP7
0000177b: JUMP
0000177c: JUMPDEST
0000177d: PUSH1 0x02
0000177f: PUSH1 0x20
00001781: DUP2
00001782: SWAP1
00001783: MSTORE
00001784: PUSH1 0x00
00001786: SWAP2
00001787: DUP3
00001788: MSTORE
00001789: PUSH1 0x40
0000178b: SWAP1
0000178c: SWAP2
0000178d: KECCAK256
0000178e: DUP1
0000178f: SLOAD
00001790: PUSH1 0x01
00001792: DUP3
00001793: ADD
00001794: SLOAD
00001795: SWAP3
00001796: DUP3
00001797: ADD
00001798: SLOAD
00001799: PUSH1 0x03
0000179b: DUP4
0000179c: ADD
0000179d: SLOAD
0000179e: PUSH1 0x04
000017a0: DUP5
000017a1: ADD
000017a2: SLOAD
000017a3: PUSH1 0x05
000017a5: DUP6
000017a6: ADD
000017a7: SLOAD
000017a8: PUSH1 0x06
000017aa: DUP7
000017ab: ADD
000017ac: SLOAD
000017ad: PUSH1 0x17
000017af: DUP8
000017b0: ADD
000017b1: SLOAD
000017b2: PUSH1 0x18
000017b4: DUP9
000017b5: ADD
000017b6: SLOAD
000017b7: PUSH1 0x19
000017b9: DUP10
000017ba: ADD
000017bb: SLOAD
000017bc: PUSH1 0x1a
000017be: SWAP1
000017bf: SWAP10
000017c0: ADD
000017c1: SLOAD
000017c2: SWAP8
000017c3: SWAP10
000017c4: SWAP9
000017c5: SWAP7
000017c6: SWAP8
000017c7: SWAP6
000017c8: SWAP7
000017c9: SWAP5
000017ca: SWAP6
000017cb: PUSH1 0x01
000017cd: PUSH1 0xa0
000017cf: PUSH1 0x02
000017d1: EXP
000017d2: SUB
000017d3: SWAP5
000017d4: DUP6
000017d5: AND
000017d6: SWAP6
000017d7: SWAP4
000017d8: SWAP1
000017d9: SWAP5
000017da: AND
000017db: SWAP4
000017dc: SWAP2
000017dd: SWAP3
000017de: SWAP1
000017df: SWAP2
000017e0: DUP12
000017e1: JUMP
000017e2: JUMPDEST
000017e3: PUSH1 0x00
000017e5: DUP1
000017e6: DUP1
000017e7: DUP1
000017e8: DUP1
000017e9: DUP1
000017ea: DUP1
000017eb: CALLER
000017ec: DUP1
000017ed: EXTCODESIZE
000017ee: DUP1
000017ef: ISZERO
000017f0: PUSH2 0x1831
000017f3: JUMPI
000017f4: PUSH1 0x40
000017f6: DUP1
000017f7: MLOAD
000017f8: PUSH1 0xe5
000017fa: PUSH1 0x02
000017fc: EXP
000017fd: PUSH3 0x461bcd
00001801: MUL
00001802: DUP2
00001803: MSTORE
00001804: PUSH1 0x20
00001806: PUSH1 0x04
00001808: DUP3
00001809: ADD
0000180a: MSTORE
0000180b: PUSH1 0x11
0000180d: PUSH1 0x24
0000180f: DUP3
00001810: ADD
00001811: MSTORE
00001812: PUSH1 0x00
00001814: DUP1
00001815: MLOAD
00001816: PUSH1 0x20
00001818: PUSH2 0x2806
0000181b: DUP4
0000181c: CODECOPY
0000181d: DUP2
0000181e: MLOAD
0000181f: SWAP2
00001820: MSTORE
00001821: PUSH1 0x44
00001823: DUP3
00001824: ADD
00001825: MSTORE
00001826: SWAP1
00001827: MLOAD
00001828: SWAP1
00001829: DUP2
0000182a: SWAP1
0000182b: SUB
0000182c: PUSH1 0x64
0000182e: ADD
0000182f: SWAP1
00001830: REVERT
00001831: JUMPDEST
00001832: PUSH1 0x07
00001834: SLOAD
00001835: PUSH1 0xff
00001837: AND
00001838: ISZERO
00001839: ISZERO
0000183a: PUSH1 0x01
0000183c: EQ
0000183d: PUSH2 0x187e
00001840: JUMPI
00001841: PUSH1 0x40
00001843: DUP1
00001844: MLOAD
00001845: PUSH1 0xe5
00001847: PUSH1 0x02
00001849: EXP
0000184a: PUSH3 0x461bcd
0000184e: MUL
0000184f: DUP2
00001850: MSTORE
00001851: PUSH1 0x20
00001853: PUSH1 0x04
00001855: DUP3
00001856: ADD
00001857: MSTORE
00001858: PUSH1 0x1c
0000185a: PUSH1 0x24
0000185c: DUP3
0000185d: ADD
0000185e: MSTORE
0000185f: PUSH1 0x00
00001861: DUP1
00001862: MLOAD
00001863: PUSH1 0x20
00001865: PUSH2 0x27e6
00001868: DUP4
00001869: CODECOPY
0000186a: DUP2
0000186b: MLOAD
0000186c: SWAP2
0000186d: MSTORE
0000186e: PUSH1 0x44
00001870: DUP3
00001871: ADD
00001872: MSTORE
00001873: SWAP1
00001874: MLOAD
00001875: SWAP1
00001876: DUP2
00001877: SWAP1
00001878: SUB
00001879: PUSH1 0x64
0000187b: ADD
0000187c: SWAP1
0000187d: REVERT
0000187e: JUMPDEST
0000187f: PUSH1 0x00
00001881: SLOAD
00001882: DUP11
00001883: GT
00001884: ISZERO
00001885: PUSH2 0x18d8
00001888: JUMPI
00001889: PUSH1 0x40
0000188b: DUP1
0000188c: MLOAD
0000188d: PUSH1 0xe5
0000188f: PUSH1 0x02
00001891: EXP
00001892: PUSH3 0x461bcd
00001896: MUL
00001897: DUP2
00001898: MSTORE
00001899: PUSH1 0x20
0000189b: PUSH1 0x04
0000189d: DUP3
0000189e: ADD
0000189f: MSTORE
000018a0: PUSH1 0x17
000018a2: PUSH1 0x24
000018a4: DUP3
000018a5: ADD
000018a6: MSTORE
000018a7: PUSH32 0x596f752772652072756e6e696e6720746f6f2066617374000000000000000000
000018c8: PUSH1 0x44
000018ca: DUP3
000018cb: ADD
000018cc: MSTORE
000018cd: SWAP1
000018ce: MLOAD
000018cf: SWAP1
000018d0: DUP2
000018d1: SWAP1
000018d2: SUB
000018d3: PUSH1 0x64
000018d5: ADD
000018d6: SWAP1
000018d7: REVERT
000018d8: JUMPDEST
000018d9: PUSH1 0x00
000018db: DUP11
000018dc: DUP2
000018dd: MSTORE
000018de: PUSH1 0x02
000018e0: PUSH1 0x20
000018e2: MSTORE
000018e3: PUSH1 0x40
000018e5: DUP2
000018e6: KECCAK256
000018e7: SLOAD
000018e8: SWAP1
000018e9: SWAP10
000018ea: POP
000018eb: PUSH1 0x64
000018ed: SWAP1
000018ee: PUSH2 0x18fe
000018f1: SWAP1
000018f2: PUSH1 0x1e
000018f4: PUSH4 0xffffffff
000018f9: PUSH2 0x245a
000018fc: AND
000018fd: JUMP
000018fe: JUMPDEST
000018ff: DUP2
00001900: ISZERO
00001901: ISZERO
00001902: PUSH2 0x1907
00001905: JUMPI
00001906: INVALID
00001907: JUMPDEST
00001908: PUSH1 0x00
0000190a: DUP13
0000190b: DUP2
0000190c: MSTORE
0000190d: PUSH1 0x02
0000190f: PUSH1 0x20
00001911: MSTORE
00001912: PUSH1 0x40
00001914: SWAP1
00001915: KECCAK256
00001916: PUSH1 0x19
00001918: ADD
00001919: SLOAD
0000191a: SWAP2
0000191b: SWAP1
0000191c: DIV
0000191d: SWAP9
0000191e: POP
0000191f: PUSH2 0x192f
00001922: SWAP1
00001923: DUP10
00001924: SWAP1
00001925: PUSH4 0xffffffff
0000192a: PUSH2 0x2537
0000192d: AND
0000192e: JUMP
0000192f: JUMPDEST
00001930: PUSH1 0x00
00001932: DUP12
00001933: DUP2
00001934: MSTORE
00001935: PUSH1 0x02
00001937: PUSH1 0x20
00001939: MSTORE
0000193a: PUSH1 0x40
0000193c: SWAP1
0000193d: KECCAK256
0000193e: PUSH1 0x1a
00001940: ADD
00001941: SLOAD
00001942: SWAP1
00001943: SWAP9
00001944: POP
00001945: PUSH2 0x1955
00001948: SWAP1
00001949: DUP10
0000194a: SWAP1
0000194b: PUSH4 0xffffffff
00001950: PUSH2 0x2537
00001953: AND
00001954: JUMP
00001955: JUMPDEST
00001956: PUSH1 0x00
00001958: DUP12
00001959: DUP2
0000195a: MSTORE
0000195b: PUSH1 0x02
0000195d: PUSH1 0x20
0000195f: MSTORE
00001960: PUSH1 0x40
00001962: DUP2
00001963: KECCAK256
00001964: SLOAD
00001965: SWAP2
00001966: SWAP10
00001967: POP
00001968: SWAP8
00001969: POP
0000196a: PUSH1 0x64
0000196c: SWAP1
0000196d: PUSH2 0x197d
00001970: SWAP1
00001971: PUSH1 0x33
00001973: PUSH4 0xffffffff
00001978: PUSH2 0x245a
0000197b: AND
0000197c: JUMP
0000197d: JUMPDEST
0000197e: DUP2
0000197f: ISZERO
00001980: ISZERO
00001981: PUSH2 0x1986
00001984: JUMPI
00001985: INVALID
00001986: JUMPDEST
00001987: PUSH1 0x00
00001989: DUP13
0000198a: DUP2
0000198b: MSTORE
0000198c: PUSH1 0x02
0000198e: PUSH1 0x20
00001990: MSTORE
00001991: PUSH1 0x40
00001993: SWAP1
00001994: KECCAK256
00001995: PUSH1 0x1a
00001997: ADD
00001998: SLOAD
00001999: SWAP2
0000199a: SWAP1
0000199b: DIV
0000199c: SWAP7
0000199d: POP
0000199e: PUSH2 0x19ae
000019a1: SWAP1
000019a2: DUP8
000019a3: SWAP1
000019a4: PUSH4 0xffffffff
000019a9: PUSH2 0x24d7
000019ac: AND
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH1 0x00
000019b1: DUP12
000019b2: DUP2
000019b3: MSTORE
000019b4: PUSH1 0x03
000019b6: PUSH1 0x20
000019b8: SWAP1
000019b9: DUP2
000019ba: MSTORE
000019bb: PUSH1 0x40
000019bd: DUP1
000019be: DUP4
000019bf: KECCAK256
000019c0: CALLER
000019c1: DUP5
000019c2: MSTORE
000019c3: SWAP1
000019c4: SWAP2
000019c5: MSTORE
000019c6: SWAP1
000019c7: KECCAK256
000019c8: PUSH1 0x01
000019ca: ADD
000019cb: SLOAD
000019cc: SWAP1
000019cd: SWAP7
000019ce: POP
000019cf: PUSH2 0x19df
000019d2: SWAP1
000019d3: DUP8
000019d4: SWAP1
000019d5: PUSH4 0xffffffff
000019da: PUSH2 0x245a
000019dd: AND
000019de: JUMP
000019df: JUMPDEST
000019e0: PUSH1 0x00
000019e2: DUP12
000019e3: DUP2
000019e4: MSTORE
000019e5: PUSH1 0x02
000019e7: PUSH1 0x20
000019e9: MSTORE
000019ea: PUSH1 0x40
000019ec: SWAP1
000019ed: KECCAK256
000019ee: PUSH1 0x01
000019f0: ADD
000019f1: SLOAD
000019f2: SWAP1
000019f3: SWAP7
000019f4: POP
000019f5: DUP7
000019f6: DUP2
000019f7: ISZERO
000019f8: ISZERO
000019f9: PUSH2 0x19fe
000019fc: JUMPI
000019fd: INVALID
000019fe: JUMPDEST
000019ff: PUSH1 0x00
00001a01: DUP13
00001a02: DUP2
00001a03: MSTORE
00001a04: PUSH1 0x03
00001a06: PUSH1 0x20
00001a08: DUP2
00001a09: DUP2
00001a0a: MSTORE
00001a0b: PUSH1 0x40
00001a0d: DUP1
00001a0e: DUP5
00001a0f: KECCAK256
00001a10: CALLER
00001a11: DUP6
00001a12: MSTORE
00001a13: SWAP1
00001a14: SWAP2
00001a15: MSTORE
00001a16: SWAP1
00001a17: SWAP2
00001a18: KECCAK256
00001a19: ADD
00001a1a: SLOAD
00001a1b: SWAP2
00001a1c: SWAP1
00001a1d: DIV
00001a1e: SWAP7
00001a1f: POP
00001a20: SWAP5
00001a21: POP
00001a22: PUSH2 0x1a31
00001a25: DUP7
00001a26: DUP7
00001a27: PUSH4 0xffffffff
00001a2c: PUSH2 0x2537
00001a2f: AND
00001a30: JUMP
00001a31: JUMPDEST
00001a32: PUSH1 0x00
00001a34: DUP12
00001a35: DUP2
00001a36: MSTORE
00001a37: PUSH1 0x03
00001a39: PUSH1 0x20
00001a3b: SWAP1
00001a3c: DUP2
00001a3d: MSTORE
00001a3e: PUSH1 0x40
00001a40: DUP1
00001a41: DUP4
00001a42: KECCAK256
00001a43: CALLER
00001a44: DUP5
00001a45: MSTORE
00001a46: SWAP1
00001a47: SWAP2
00001a48: MSTORE
00001a49: SWAP1
00001a4a: KECCAK256
00001a4b: PUSH1 0x02
00001a4d: ADD
00001a4e: SLOAD
00001a4f: SWAP1
00001a50: SWAP7
00001a51: POP
00001a52: SWAP4
00001a53: POP
00001a54: DUP4
00001a55: DUP7
00001a56: GT
00001a57: ISZERO
00001a58: PUSH2 0x1a9d
00001a5b: JUMPI
00001a5c: PUSH2 0x1a7b
00001a5f: PUSH2 0x1a6e
00001a62: DUP8
00001a63: DUP7
00001a64: PUSH4 0xffffffff
00001a69: PUSH2 0x24d7
00001a6c: AND
00001a6d: JUMP
00001a6e: JUMPDEST
00001a6f: DUP11
00001a70: SWAP1
00001a71: PUSH4 0xffffffff
00001a76: PUSH2 0x2537
00001a79: AND
00001a7a: JUMP
00001a7b: JUMPDEST
00001a7c: PUSH1 0x00
00001a7e: DUP12
00001a7f: DUP2
00001a80: MSTORE
00001a81: PUSH1 0x03
00001a83: PUSH1 0x20
00001a85: SWAP1
00001a86: DUP2
00001a87: MSTORE
00001a88: PUSH1 0x40
00001a8a: DUP1
00001a8b: DUP4
00001a8c: KECCAK256
00001a8d: CALLER
00001a8e: DUP5
00001a8f: MSTORE
00001a90: SWAP1
00001a91: SWAP2
00001a92: MSTORE
00001a93: SWAP1
00001a94: KECCAK256
00001a95: PUSH1 0x02
00001a97: ADD
00001a98: DUP8
00001a99: SWAP1
00001a9a: SSTORE
00001a9b: SWAP9
00001a9c: POP
00001a9d: JUMPDEST
00001a9e: PUSH1 0x00
00001aa0: DUP11
00001aa1: DUP2
00001aa2: MSTORE
00001aa3: PUSH1 0x02
00001aa5: PUSH1 0x20
00001aa7: MSTORE
00001aa8: PUSH1 0x40
00001aaa: SWAP1
00001aab: KECCAK256
00001aac: PUSH1 0x06
00001aae: ADD
00001aaf: SLOAD
00001ab0: PUSH1 0x01
00001ab2: PUSH1 0xa0
00001ab4: PUSH1 0x02
00001ab6: EXP
00001ab7: SUB
00001ab8: AND
00001ab9: CALLER
00001aba: EQ
00001abb: DUP1
00001abc: ISZERO
00001abd: PUSH2 0x1adf
00001ac0: JUMPI
00001ac1: POP
00001ac2: PUSH1 0x00
00001ac4: DUP11
00001ac5: DUP2
00001ac6: MSTORE
00001ac7: PUSH1 0x02
00001ac9: PUSH1 0x20
00001acb: MSTORE
00001acc: PUSH1 0x40
00001ace: SWAP1
00001acf: KECCAK256
00001ad0: PUSH1 0x06
00001ad2: ADD
00001ad3: SLOAD
00001ad4: PUSH1 0x01
00001ad6: PUSH1 0xa0
00001ad8: PUSH1 0x02
00001ada: EXP
00001adb: SUB
00001adc: AND
00001add: ISZERO
00001ade: ISZERO
00001adf: JUMPDEST
00001ae0: DUP1
00001ae1: ISZERO
00001ae2: PUSH2 0x1afb
00001ae5: JUMPI
00001ae6: POP
00001ae7: PUSH1 0x00
00001ae9: DUP11
00001aea: DUP2
00001aeb: MSTORE
00001aec: PUSH1 0x02
00001aee: PUSH1 0x20
00001af0: MSTORE
00001af1: PUSH1 0x40
00001af3: SWAP1
00001af4: KECCAK256
00001af5: PUSH1 0x04
00001af7: ADD
00001af8: SLOAD
00001af9: ISZERO
00001afa: ISZERO
00001afb: JUMPDEST
00001afc: ISZERO
00001afd: PUSH2 0x1b31
00001b00: JUMPI
00001b01: PUSH2 0x1b2e
00001b04: PUSH1 0x64
00001b06: PUSH2 0x1b16
00001b09: DUP11
00001b0a: PUSH1 0x0a
00001b0c: PUSH4 0xffffffff
00001b11: PUSH2 0x245a
00001b14: AND
00001b15: JUMP
00001b16: JUMPDEST
00001b17: DUP2
00001b18: ISZERO
00001b19: ISZERO
00001b1a: PUSH2 0x1b1f
00001b1d: JUMPI
00001b1e: INVALID
00001b1f: JUMPDEST
00001b20: DUP10
00001b21: SWAP2
00001b22: SWAP1
00001b23: DIV
00001b24: PUSH4 0xffffffff
00001b29: PUSH2 0x2537
00001b2c: AND
00001b2d: JUMP
00001b2e: JUMPDEST
00001b2f: SWAP7
00001b30: POP
00001b31: JUMPDEST
00001b32: PUSH1 0x00
00001b34: DUP11
00001b35: DUP2
00001b36: MSTORE
00001b37: PUSH1 0x02
00001b39: PUSH1 0x20
00001b3b: MSTORE
00001b3c: PUSH1 0x40
00001b3e: SWAP1
00001b3f: KECCAK256
00001b40: PUSH1 0x03
00001b42: ADD
00001b43: SLOAD
00001b44: TIMESTAMP
00001b45: GT
00001b46: ISZERO
00001b47: PUSH2 0x1cf1
00001b4a: JUMPI
00001b4b: PUSH1 0x00
00001b4d: DUP11
00001b4e: DUP2
00001b4f: MSTORE
00001b50: PUSH1 0x02
00001b52: PUSH1 0x20
00001b54: MSTORE
00001b55: PUSH1 0x40
00001b57: SWAP1
00001b58: KECCAK256
00001b59: PUSH1 0x05
00001b5b: ADD
00001b5c: SLOAD
00001b5d: PUSH1 0x01
00001b5f: PUSH1 0xa0
00001b61: PUSH1 0x02
00001b63: EXP
00001b64: SUB
00001b65: AND
00001b66: CALLER
00001b67: EQ
00001b68: ISZERO
00001b69: PUSH2 0x1b85
00001b6c: JUMPI
00001b6d: PUSH2 0x1b82
00001b70: PUSH1 0x64
00001b72: PUSH2 0x1b16
00001b75: DUP11
00001b76: PUSH1 0x3c
00001b78: PUSH4 0xffffffff
00001b7d: PUSH2 0x245a
00001b80: AND
00001b81: JUMP
00001b82: JUMPDEST
00001b83: SWAP7
00001b84: POP
00001b85: JUMPDEST
00001b86: PUSH1 0x00
00001b88: SWAP3
00001b89: POP
00001b8a: JUMPDEST
00001b8b: PUSH1 0x00
00001b8d: DUP11
00001b8e: SWAP1
00001b8f: MSTORE
00001b90: PUSH1 0x02
00001b92: PUSH1 0x20
00001b94: MSTORE
00001b95: PUSH1 0x0b
00001b97: DUP4
00001b98: LT
00001b99: ISZERO
00001b9a: PUSH2 0x1cf1
00001b9d: JUMPI
00001b9e: PUSH1 0x00
00001ba0: DUP11
00001ba1: DUP2
00001ba2: MSTORE
00001ba3: PUSH1 0x02
00001ba5: PUSH1 0x20
00001ba7: MSTORE
00001ba8: PUSH1 0x40
00001baa: SWAP1
00001bab: KECCAK256
00001bac: CALLER
00001bad: SWAP1
00001bae: PUSH1 0x07
00001bb0: ADD
00001bb1: DUP5
00001bb2: PUSH1 0x0b
00001bb4: DUP2
00001bb5: LT
00001bb6: PUSH2 0x1bbb
00001bb9: JUMPI
00001bba: INVALID
00001bbb: JUMPDEST
00001bbc: ADD
00001bbd: SLOAD
00001bbe: PUSH1 0x01
00001bc0: PUSH1 0xa0
00001bc2: PUSH1 0x02
00001bc4: EXP
00001bc5: SUB
00001bc6: AND
00001bc7: EQ
00001bc8: DUP1
00001bc9: ISZERO
00001bca: PUSH2 0x1c03
00001bcd: JUMPI
00001bce: POP
00001bcf: PUSH1 0x00
00001bd1: DUP11
00001bd2: DUP2
00001bd3: MSTORE
00001bd4: PUSH1 0x02
00001bd6: PUSH1 0x20
00001bd8: MSTORE
00001bd9: PUSH1 0x40
00001bdb: SWAP1
00001bdc: KECCAK256
00001bdd: PUSH1 0x17
00001bdf: ADD
00001be0: SLOAD
00001be1: DUP4
00001be2: SWAP1
00001be3: PUSH1 0x0b
00001be5: SWAP1
00001be6: PUSH2 0x1bf6
00001be9: SWAP1
00001bea: PUSH1 0x01
00001bec: PUSH4 0xffffffff
00001bf1: PUSH2 0x24d7
00001bf4: AND
00001bf5: JUMP
00001bf6: JUMPDEST
00001bf7: DUP2
00001bf8: ISZERO
00001bf9: ISZERO
00001bfa: PUSH2 0x1bff
00001bfd: JUMPI
00001bfe: INVALID
00001bff: JUMPDEST
00001c00: MOD
00001c01: EQ
00001c02: ISZERO
00001c03: JUMPDEST
00001c04: ISZERO
00001c05: PUSH2 0x1cd9
00001c08: JUMPI
00001c09: PUSH1 0x00
00001c0b: DUP11
00001c0c: DUP2
00001c0d: MSTORE
00001c0e: PUSH1 0x02
00001c10: PUSH1 0x20
00001c12: MSTORE
00001c13: PUSH1 0x40
00001c15: SWAP1
00001c16: KECCAK256
00001c17: PUSH1 0x16
00001c19: ADD
00001c1a: DUP4
00001c1b: PUSH1 0x0b
00001c1d: DUP2
00001c1e: LT
00001c1f: PUSH2 0x1c24
00001c22: JUMPI
00001c23: INVALID
00001c24: JUMPDEST
00001c25: PUSH1 0x20
00001c27: DUP2
00001c28: DIV
00001c29: SWAP1
00001c2a: SWAP2
00001c2b: ADD
00001c2c: SLOAD
00001c2d: PUSH1 0xff
00001c2f: PUSH1 0x1f
00001c31: SWAP1
00001c32: SWAP3
00001c33: AND
00001c34: PUSH2 0x0100
00001c37: EXP
00001c38: SWAP1
00001c39: DIV
00001c3a: AND
00001c3b: ISZERO
00001c3c: PUSH2 0x1c44
00001c3f: JUMPI
00001c40: PUSH2 0x1cd9
00001c43: JUMP
00001c44: JUMPDEST
00001c45: PUSH1 0x00
00001c47: DUP11
00001c48: DUP2
00001c49: MSTORE
00001c4a: PUSH1 0x02
00001c4c: PUSH1 0x20
00001c4e: MSTORE
00001c4f: PUSH1 0x40
00001c51: SWAP1
00001c52: KECCAK256
00001c53: PUSH1 0x06
00001c55: ADD
00001c56: SLOAD
00001c57: PUSH1 0x01
00001c59: PUSH1 0xa0
00001c5b: PUSH1 0x02
00001c5d: EXP
00001c5e: SUB
00001c5f: AND
00001c60: ISZERO
00001c61: PUSH2 0x1c81
00001c64: JUMPI
00001c65: PUSH2 0x1c7a
00001c68: PUSH1 0x64
00001c6a: PUSH2 0x1b16
00001c6d: DUP11
00001c6e: PUSH1 0x03
00001c70: PUSH4 0xffffffff
00001c75: PUSH2 0x245a
00001c78: AND
00001c79: JUMP
00001c7a: JUMPDEST
00001c7b: SWAP7
00001c7c: POP
00001c7d: PUSH2 0x1c9a
00001c80: JUMP
00001c81: JUMPDEST
00001c82: PUSH2 0x1c97
00001c85: PUSH1 0x64
00001c87: PUSH2 0x1b16
00001c8a: DUP11
00001c8b: PUSH1 0x04
00001c8d: PUSH4 0xffffffff
00001c92: PUSH2 0x245a
00001c95: AND
00001c96: JUMP
00001c97: JUMPDEST
00001c98: SWAP7
00001c99: POP
00001c9a: JUMPDEST
00001c9b: PUSH1 0x00
00001c9d: DUP11
00001c9e: DUP2
00001c9f: MSTORE
00001ca0: PUSH1 0x02
00001ca2: PUSH1 0x20
00001ca4: MSTORE
00001ca5: PUSH1 0x40
00001ca7: SWAP1
00001ca8: KECCAK256
00001ca9: PUSH1 0x01
00001cab: SWAP1
00001cac: PUSH1 0x16
00001cae: ADD
00001caf: DUP5
00001cb0: PUSH1 0x0b
00001cb2: DUP2
00001cb3: LT
00001cb4: PUSH2 0x1cb9
00001cb7: JUMPI
00001cb8: INVALID
00001cb9: JUMPDEST
00001cba: PUSH1 0x20
00001cbc: SWAP2
00001cbd: DUP3
00001cbe: DUP3
00001cbf: DIV
00001cc0: ADD
00001cc1: SWAP2
00001cc2: SWAP1
00001cc3: MOD
00001cc4: PUSH2 0x0100
00001cc7: EXP
00001cc8: DUP2
00001cc9: SLOAD
00001cca: DUP2
00001ccb: PUSH1 0xff
00001ccd: MUL
00001cce: NOT
00001ccf: AND
00001cd0: SWAP1
00001cd1: DUP4
00001cd2: ISZERO
00001cd3: ISZERO
00001cd4: MUL
00001cd5: OR
00001cd6: SWAP1
00001cd7: SSTORE
00001cd8: POP
00001cd9: JUMPDEST
00001cda: PUSH2 0x1cea
00001cdd: DUP4
00001cde: PUSH1 0x01
00001ce0: PUSH4 0xffffffff
00001ce5: PUSH2 0x2537
00001ce8: AND
00001ce9: JUMP
00001cea: JUMPDEST
00001ceb: SWAP3
00001cec: POP
00001ced: PUSH2 0x1b8a
00001cf0: JUMP
00001cf1: JUMPDEST
00001cf2: PUSH1 0x00
00001cf4: DUP11
00001cf5: DUP2
00001cf6: MSTORE
00001cf7: PUSH1 0x03
00001cf9: PUSH1 0x20
00001cfb: SWAP1
00001cfc: DUP2
00001cfd: MSTORE
00001cfe: PUSH1 0x40
00001d00: DUP1
00001d01: DUP4
00001d02: KECCAK256
00001d03: CALLER
00001d04: DUP5
00001d05: MSTORE
00001d06: SWAP1
00001d07: SWAP2
00001d08: MSTORE
00001d09: SWAP1
00001d0a: KECCAK256
00001d0b: PUSH1 0x04
00001d0d: ADD
00001d0e: SLOAD
00001d0f: PUSH2 0x1d23
00001d12: SWAP1
00001d13: PUSH2 0x1a6e
00001d16: SWAP1
00001d17: DUP10
00001d18: SWAP1
00001d19: PUSH4 0xffffffff
00001d1e: PUSH2 0x24d7
00001d21: AND
00001d22: JUMP
00001d23: JUMPDEST
00001d24: PUSH1 0x00
00001d26: DUP12
00001d27: DUP2
00001d28: MSTORE
00001d29: PUSH1 0x03
00001d2b: PUSH1 0x20
00001d2d: SWAP1
00001d2e: DUP2
00001d2f: MSTORE
00001d30: PUSH1 0x40
00001d32: DUP1
00001d33: DUP4
00001d34: KECCAK256
00001d35: CALLER
00001d36: DUP5
00001d37: MSTORE
00001d38: SWAP1
00001d39: SWAP2
00001d3a: MSTORE
00001d3b: SWAP1
00001d3c: KECCAK256
00001d3d: PUSH1 0x04
00001d3f: ADD
00001d40: DUP9
00001d41: SWAP1
00001d42: SSTORE
00001d43: SWAP9
00001d44: POP
00001d45: DUP9
00001d46: ISZERO
00001d47: PUSH2 0x1d79
00001d4a: JUMPI
00001d4b: PUSH1 0x40
00001d4d: MLOAD
00001d4e: CALLER
00001d4f: SWAP1
00001d50: DUP11
00001d51: ISZERO
00001d52: PUSH2 0x08fc
00001d55: MUL
00001d56: SWAP1
00001d57: DUP12
00001d58: SWAP1
00001d59: PUSH1 0x00
00001d5b: DUP2
00001d5c: DUP2
00001d5d: DUP2
00001d5e: DUP6
00001d5f: DUP9
00001d60: DUP9
00001d61: CALL
00001d62: SWAP4
00001d63: POP
00001d64: POP
00001d65: POP
00001d66: POP
00001d67: ISZERO
00001d68: DUP1
00001d69: ISZERO
00001d6a: PUSH2 0x1d77
00001d6d: JUMPI
00001d6e: RETURNDATASIZE
00001d6f: PUSH1 0x00
00001d71: DUP1
00001d72: RETURNDATACOPY
00001d73: RETURNDATASIZE
00001d74: PUSH1 0x00
00001d76: REVERT
00001d77: JUMPDEST
00001d78: POP
00001d79: JUMPDEST
00001d7a: PUSH1 0x40
00001d7c: DUP1
00001d7d: MLOAD
00001d7e: DUP11
00001d7f: DUP2
00001d80: MSTORE
00001d81: TIMESTAMP
00001d82: PUSH1 0x20
00001d84: DUP3
00001d85: ADD
00001d86: MSTORE
00001d87: DUP2
00001d88: MLOAD
00001d89: DUP13
00001d8a: SWAP3
00001d8b: CALLER
00001d8c: SWAP3
00001d8d: PUSH32 0x067aa1d7e7bd2c0daf878a68551cbd9e1a4dbaaa1510600154c71bffbe420d86
00001dae: SWAP3
00001daf: SWAP1
00001db0: DUP2
00001db1: SWAP1
00001db2: SUB
00001db3: SWAP1
00001db4: SWAP2
00001db5: ADD
00001db6: SWAP1
00001db7: LOG3
00001db8: POP
00001db9: POP
00001dba: POP
00001dbb: POP
00001dbc: POP
00001dbd: POP
00001dbe: POP
00001dbf: POP
00001dc0: POP
00001dc1: POP
00001dc2: JUMP
00001dc3: JUMPDEST
00001dc4: PUSH1 0x04
00001dc6: SLOAD
00001dc7: PUSH1 0x01
00001dc9: PUSH1 0xa0
00001dcb: PUSH1 0x02
00001dcd: EXP
00001dce: SUB
00001dcf: AND
00001dd0: DUP2
00001dd1: JUMP
00001dd2: JUMPDEST
00001dd3: PUSH1 0x03
00001dd5: PUSH1 0x20
00001dd7: DUP2
00001dd8: DUP2
00001dd9: MSTORE
00001dda: PUSH1 0x00
00001ddc: SWAP4
00001ddd: DUP5
00001dde: MSTORE
00001ddf: PUSH1 0x40
00001de1: DUP1
00001de2: DUP6
00001de3: KECCAK256
00001de4: SWAP1
00001de5: SWAP2
00001de6: MSTORE
00001de7: SWAP2
00001de8: DUP4
00001de9: MSTORE
00001dea: SWAP2
00001deb: KECCAK256
00001dec: DUP1
00001ded: SLOAD
00001dee: PUSH1 0x01
00001df0: DUP3
00001df1: ADD
00001df2: SLOAD
00001df3: PUSH1 0x02
00001df5: DUP4
00001df6: ADD
00001df7: SLOAD
00001df8: SWAP4
00001df9: DUP4
00001dfa: ADD
00001dfb: SLOAD
00001dfc: PUSH1 0x04
00001dfe: SWAP1
00001dff: SWAP4
00001e00: ADD
00001e01: SLOAD
00001e02: SWAP2
00001e03: SWAP4
00001e04: SWAP1
00001e05: SWAP3
00001e06: SWAP1
00001e07: SWAP2
00001e08: DUP6
00001e09: JUMP
00001e0a: JUMPDEST
00001e0b: CALLER
00001e0c: DUP1
00001e0d: EXTCODESIZE
00001e0e: DUP1
00001e0f: ISZERO
00001e10: PUSH2 0x1e51
00001e13: JUMPI
00001e14: PUSH1 0x40
00001e16: DUP1
00001e17: MLOAD
00001e18: PUSH1 0xe5
00001e1a: PUSH1 0x02
00001e1c: EXP
00001e1d: PUSH3 0x461bcd
00001e21: MUL
00001e22: DUP2
00001e23: MSTORE
00001e24: PUSH1 0x20
00001e26: PUSH1 0x04
00001e28: DUP3
00001e29: ADD
00001e2a: MSTORE
00001e2b: PUSH1 0x11
00001e2d: PUSH1 0x24
00001e2f: DUP3
00001e30: ADD
00001e31: MSTORE
00001e32: PUSH1 0x00
00001e34: DUP1
00001e35: MLOAD
00001e36: PUSH1 0x20
00001e38: PUSH2 0x2806
00001e3b: DUP4
00001e3c: CODECOPY
00001e3d: DUP2
00001e3e: MLOAD
00001e3f: SWAP2
00001e40: MSTORE
00001e41: PUSH1 0x44
00001e43: DUP3
00001e44: ADD
00001e45: MSTORE
00001e46: SWAP1
00001e47: MLOAD
00001e48: SWAP1
00001e49: DUP2
00001e4a: SWAP1
00001e4b: SUB
00001e4c: PUSH1 0x64
00001e4e: ADD
00001e4f: SWAP1
00001e50: REVERT
00001e51: JUMPDEST
00001e52: CALLVALUE
00001e53: PUSH4 0x3b9aca00
00001e58: DUP2
00001e59: LT
00001e5a: ISZERO
00001e5b: PUSH2 0x1ed4
00001e5e: JUMPI
00001e5f: PUSH1 0x40
00001e61: DUP1
00001e62: MLOAD
00001e63: PUSH1 0xe5
00001e65: PUSH1 0x02
00001e67: EXP
00001e68: PUSH3 0x461bcd
00001e6c: MUL
00001e6d: DUP2
00001e6e: MSTORE
00001e6f: PUSH1 0x20
00001e71: PUSH1 0x04
00001e73: DUP3
00001e74: ADD
00001e75: MSTORE
00001e76: PUSH1 0x21
00001e78: PUSH1 0x24
00001e7a: DUP3
00001e7b: ADD
00001e7c: MSTORE
00001e7d: PUSH32 0x706f636b6574206c696e743a206e6f7420612076616c69642063757272656e63
00001e9e: PUSH1 0x44
00001ea0: DUP3
00001ea1: ADD
00001ea2: MSTORE
00001ea3: PUSH32 0x7900000000000000000000000000000000000000000000000000000000000000
00001ec4: PUSH1 0x64
00001ec6: DUP3
00001ec7: ADD
00001ec8: MSTORE
00001ec9: SWAP1
00001eca: MLOAD
00001ecb: SWAP1
00001ecc: DUP2
00001ecd: SWAP1
00001ece: SUB
00001ecf: PUSH1 0x84
00001ed1: ADD
00001ed2: SWAP1
00001ed3: REVERT
00001ed4: JUMPDEST
00001ed5: PUSH10 0x152d02c7e14af6800000
00001ee0: DUP2
00001ee1: GT
00001ee2: ISZERO
00001ee3: PUSH2 0x1f36
00001ee6: JUMPI
00001ee7: PUSH1 0x40
00001ee9: DUP1
00001eea: MLOAD
00001eeb: PUSH1 0xe5
00001eed: PUSH1 0x02
00001eef: EXP
00001ef0: PUSH3 0x461bcd
00001ef4: MUL
00001ef5: DUP2
00001ef6: MSTORE
00001ef7: PUSH1 0x20
00001ef9: PUSH1 0x04
00001efb: DUP3
00001efc: ADD
00001efd: MSTORE
00001efe: PUSH1 0x0e
00001f00: PUSH1 0x24
00001f02: DUP3
00001f03: ADD
00001f04: MSTORE
00001f05: PUSH32 0x6e6f20766974616c696b2c206e6f000000000000000000000000000000000000
00001f26: PUSH1 0x44
00001f28: DUP3
00001f29: ADD
00001f2a: MSTORE
00001f2b: SWAP1
00001f2c: MLOAD
00001f2d: SWAP1
00001f2e: DUP2
00001f2f: SWAP1
00001f30: SUB
00001f31: PUSH1 0x64
00001f33: ADD
00001f34: SWAP1
00001f35: REVERT
00001f36: JUMPDEST
00001f37: PUSH1 0x07
00001f39: SLOAD
00001f3a: PUSH1 0xff
00001f3c: AND
00001f3d: ISZERO
00001f3e: ISZERO
00001f3f: PUSH1 0x01
00001f41: EQ
00001f42: PUSH2 0x1f83
00001f45: JUMPI
00001f46: PUSH1 0x40
00001f48: DUP1
00001f49: MLOAD
00001f4a: PUSH1 0xe5
00001f4c: PUSH1 0x02
00001f4e: EXP
00001f4f: PUSH3 0x461bcd
00001f53: MUL
00001f54: DUP2
00001f55: MSTORE
00001f56: PUSH1 0x20
00001f58: PUSH1 0x04
00001f5a: DUP3
00001f5b: ADD
00001f5c: MSTORE
00001f5d: PUSH1 0x1c
00001f5f: PUSH1 0x24
00001f61: DUP3
00001f62: ADD
00001f63: MSTORE
00001f64: PUSH1 0x00
00001f66: DUP1
00001f67: MLOAD
00001f68: PUSH1 0x20
00001f6a: PUSH2 0x27e6
00001f6d: DUP4
00001f6e: CODECOPY
00001f6f: DUP2
00001f70: MLOAD
00001f71: SWAP2
00001f72: MSTORE
00001f73: PUSH1 0x44
00001f75: DUP3
00001f76: ADD
00001f77: MSTORE
00001f78: SWAP1
00001f79: MLOAD
00001f7a: SWAP1
00001f7b: DUP2
00001f7c: SWAP1
00001f7d: SUB
00001f7e: PUSH1 0x64
00001f80: ADD
00001f81: SWAP1
00001f82: REVERT
00001f83: JUMPDEST
00001f84: PUSH2 0x1f8c
00001f87: DUP5
00001f88: PUSH2 0x05ff
00001f8b: JUMP
00001f8c: JUMPDEST
00001f8d: POP
00001f8e: POP
00001f8f: POP
00001f90: POP
00001f91: JUMP
00001f92: JUMPDEST
00001f93: PUSH1 0x04
00001f95: SLOAD
00001f96: PUSH1 0x01
00001f98: PUSH1 0xa0
00001f9a: PUSH1 0x02
00001f9c: EXP
00001f9d: SUB
00001f9e: AND
00001f9f: CALLER
00001fa0: EQ
00001fa1: PUSH2 0x1ff4
00001fa4: JUMPI
00001fa5: PUSH1 0x40
00001fa7: DUP1
00001fa8: MLOAD
00001fa9: PUSH1 0xe5
00001fab: PUSH1 0x02
00001fad: EXP
00001fae: PUSH3 0x461bcd
00001fb2: MUL
00001fb3: DUP2
00001fb4: MSTORE
00001fb5: PUSH1 0x20
00001fb7: PUSH1 0x04
00001fb9: DUP3
00001fba: ADD
00001fbb: MSTORE
00001fbc: PUSH1 0x14
00001fbe: PUSH1 0x24
00001fc0: DUP3
00001fc1: ADD
00001fc2: MSTORE
00001fc3: PUSH32 0x6f6e6c79206f776e65722063616e20646f206974000000000000000000000000
00001fe4: PUSH1 0x44
00001fe6: DUP3
00001fe7: ADD
00001fe8: MSTORE
00001fe9: SWAP1
00001fea: MLOAD
00001feb: SWAP1
00001fec: DUP2
00001fed: SWAP1
00001fee: SUB
00001fef: PUSH1 0x64
00001ff1: ADD
00001ff2: SWAP1
00001ff3: REVERT
00001ff4: JUMPDEST
00001ff5: PUSH1 0x07
00001ff7: SLOAD
00001ff8: PUSH1 0xff
00001ffa: AND
00001ffb: ISZERO
00001ffc: PUSH2 0x204f
00001fff: JUMPI
00002000: PUSH1 0x40
00002002: DUP1
00002003: MLOAD
00002004: PUSH1 0xe5
00002006: PUSH1 0x02
00002008: EXP
00002009: PUSH3 0x461bcd
0000200d: MUL
0000200e: DUP2
0000200f: MSTORE
00002010: PUSH1 0x20
00002012: PUSH1 0x04
00002014: DUP3
00002015: ADD
00002016: MSTORE
00002017: PUSH1 0x1d
00002019: PUSH1 0x24
0000201b: DUP3
0000201c: ADD
0000201d: MSTORE
0000201e: PUSH32 0x5468652067616d652068617320616c7265616479207374617274656421000000
0000203f: PUSH1 0x44
00002041: DUP3
00002042: ADD
00002043: MSTORE
00002044: SWAP1
00002045: MLOAD
00002046: SWAP1
00002047: DUP2
00002048: SWAP1
00002049: SUB
0000204a: PUSH1 0x64
0000204c: ADD
0000204d: SWAP1
0000204e: REVERT
0000204f: JUMPDEST
00002050: PUSH1 0x01
00002052: PUSH1 0x00
00002054: DUP2
00002055: DUP2
00002056: MSTORE
00002057: PUSH1 0x02
00002059: PUSH1 0x20
0000205b: MSTORE
0000205c: TIMESTAMP
0000205d: PUSH32 0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e2
0000207e: DUP2
0000207f: SWAP1
00002080: SSTORE
00002081: PUSH2 0xa8c0
00002084: ADD
00002085: PUSH32 0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e3
000020a6: SSTORE
000020a7: PUSH32 0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2f9
000020c8: SSTORE
000020c9: PUSH1 0x07
000020cb: DUP1
000020cc: SLOAD
000020cd: PUSH1 0xff
000020cf: NOT
000020d0: AND
000020d1: SWAP1
000020d2: SWAP2
000020d3: OR
000020d4: SWAP1
000020d5: SSTORE
000020d6: JUMP
000020d7: JUMPDEST
000020d8: PUSH1 0x00
000020da: DUP3
000020db: DUP2
000020dc: MSTORE
000020dd: PUSH1 0x02
000020df: PUSH1 0x20
000020e1: MSTORE
000020e2: PUSH1 0x40
000020e4: DUP2
000020e5: KECCAK256
000020e6: SLOAD
000020e7: DUP2
000020e8: SWAP1
000020e9: DUP2
000020ea: SWAP1
000020eb: DUP2
000020ec: SWAP1
000020ed: DUP2
000020ee: SWAP1
000020ef: DUP2
000020f0: SWAP1
000020f1: DUP2
000020f2: SWAP1
000020f3: DUP2
000020f4: SWAP1
000020f5: PUSH1 0x64
000020f7: SWAP1
000020f8: PUSH2 0x2108
000020fb: SWAP1
000020fc: PUSH1 0x33
000020fe: PUSH4 0xffffffff
00002103: PUSH2 0x245a
00002106: AND
00002107: JUMP
00002108: JUMPDEST
00002109: DUP2
0000210a: ISZERO
0000210b: ISZERO
0000210c: PUSH2 0x2111
0000210f: JUMPI
00002110: INVALID
00002111: JUMPDEST
00002112: PUSH1 0x00
00002114: DUP13
00002115: DUP2
00002116: MSTORE
00002117: PUSH1 0x02
00002119: PUSH1 0x20
0000211b: MSTORE
0000211c: PUSH1 0x40
0000211e: SWAP1
0000211f: KECCAK256
00002120: PUSH1 0x1a
00002122: ADD
00002123: SLOAD
00002124: SWAP2
00002125: SWAP1
00002126: DIV
00002127: SWAP4
00002128: POP
00002129: PUSH2 0x2139
0000212c: SWAP1
0000212d: DUP5
0000212e: SWAP1
0000212f: PUSH4 0xffffffff
00002134: PUSH2 0x24d7
00002137: AND
00002138: JUMP
00002139: JUMPDEST
0000213a: PUSH1 0x00
0000213c: DUP12
0000213d: DUP2
0000213e: MSTORE
0000213f: PUSH1 0x03
00002141: PUSH1 0x20
00002143: SWAP1
00002144: DUP2
00002145: MSTORE
00002146: PUSH1 0x40
00002148: DUP1
00002149: DUP4
0000214a: KECCAK256
0000214b: PUSH1 0x01
0000214d: PUSH1 0xa0
0000214f: PUSH1 0x02
00002151: EXP
00002152: SUB
00002153: DUP15
00002154: AND
00002155: DUP5
00002156: MSTORE
00002157: SWAP1
00002158: SWAP2
00002159: MSTORE
0000215a: SWAP1
0000215b: KECCAK256
0000215c: PUSH1 0x01
0000215e: ADD
0000215f: SLOAD
00002160: SWAP1
00002161: SWAP4
00002162: POP
00002163: PUSH2 0x2173
00002166: SWAP1
00002167: DUP5
00002168: SWAP1
00002169: PUSH4 0xffffffff
0000216e: PUSH2 0x245a
00002171: AND
00002172: JUMP
00002173: JUMPDEST
00002174: PUSH1 0x00
00002176: DUP12
00002177: DUP2
00002178: MSTORE
00002179: PUSH1 0x02
0000217b: PUSH1 0x20
0000217d: MSTORE
0000217e: PUSH1 0x40
00002180: SWAP1
00002181: KECCAK256
00002182: PUSH1 0x01
00002184: ADD
00002185: SLOAD
00002186: SWAP1
00002187: SWAP4
00002188: POP
00002189: DUP4
0000218a: DUP2
0000218b: ISZERO
0000218c: ISZERO
0000218d: PUSH2 0x2192
00002190: JUMPI
00002191: INVALID
00002192: JUMPDEST
00002193: PUSH1 0x00
00002195: DUP13
00002196: DUP2
00002197: MSTORE
00002198: PUSH1 0x02
0000219a: PUSH1 0x20
0000219c: MSTORE
0000219d: PUSH1 0x40
0000219f: SWAP1
000021a0: KECCAK256
000021a1: SLOAD
000021a2: SWAP2
000021a3: SWAP1
000021a4: DIV
000021a5: SWAP4
000021a6: POP
000021a7: PUSH1 0x64
000021a9: SWAP1
000021aa: PUSH2 0x21ba
000021ad: SWAP1
000021ae: PUSH1 0x1e
000021b0: PUSH4 0xffffffff
000021b5: PUSH2 0x245a
000021b8: AND
000021b9: JUMP
000021ba: JUMPDEST
000021bb: DUP2
000021bc: ISZERO
000021bd: ISZERO
000021be: PUSH2 0x21c3
000021c1: JUMPI
000021c2: INVALID
000021c3: JUMPDEST
000021c4: PUSH1 0x00
000021c6: DUP13
000021c7: DUP2
000021c8: MSTORE
000021c9: PUSH1 0x02
000021cb: PUSH1 0x20
000021cd: MSTORE
000021ce: PUSH1 0x40
000021d0: SWAP1
000021d1: KECCAK256
000021d2: PUSH1 0x19
000021d4: ADD
000021d5: SLOAD
000021d6: SWAP2
000021d7: SWAP1
000021d8: DIV
000021d9: SWAP3
000021da: POP
000021db: PUSH2 0x21eb
000021de: SWAP1
000021df: DUP4
000021e0: SWAP1
000021e1: PUSH4 0xffffffff
000021e6: PUSH2 0x2537
000021e9: AND
000021ea: JUMP
000021eb: JUMPDEST
000021ec: PUSH1 0x00
000021ee: DUP12
000021ef: DUP2
000021f0: MSTORE
000021f1: PUSH1 0x02
000021f3: PUSH1 0x20
000021f5: MSTORE
000021f6: PUSH1 0x40
000021f8: SWAP1
000021f9: KECCAK256
000021fa: PUSH1 0x1a
000021fc: ADD
000021fd: SLOAD
000021fe: SWAP1
000021ff: SWAP3
00002200: POP
00002201: PUSH2 0x2211
00002204: SWAP1
00002205: DUP4
00002206: SWAP1
00002207: PUSH4 0xffffffff
0000220c: PUSH2 0x2537
0000220f: AND
00002210: JUMP
00002211: JUMPDEST
00002212: PUSH1 0x00
00002214: DUP12
00002215: DUP2
00002216: MSTORE
00002217: PUSH1 0x02
00002219: PUSH1 0x20
0000221b: MSTORE
0000221c: PUSH1 0x40
0000221e: SWAP1
0000221f: KECCAK256
00002220: PUSH1 0x06
00002222: ADD
00002223: SLOAD
00002224: SWAP1
00002225: SWAP3
00002226: POP
00002227: PUSH1 0x01
00002229: PUSH1 0xa0
0000222b: PUSH1 0x02
0000222d: EXP
0000222e: SUB
0000222f: DUP11
00002230: DUP2
00002231: AND
00002232: SWAP2
00002233: AND
00002234: EQ
00002235: DUP1
00002236: ISZERO
00002237: PUSH2 0x2259
0000223a: JUMPI
0000223b: POP
0000223c: PUSH1 0x00
0000223e: DUP11
0000223f: DUP2
00002240: MSTORE
00002241: PUSH1 0x02
00002243: PUSH1 0x20
00002245: MSTORE
00002246: PUSH1 0x40
00002248: SWAP1
00002249: KECCAK256
0000224a: PUSH1 0x06
0000224c: ADD
0000224d: SLOAD
0000224e: PUSH1 0x01
00002250: PUSH1 0xa0
00002252: PUSH1 0x02
00002254: EXP
00002255: SUB
00002256: AND
00002257: ISZERO
00002258: ISZERO
00002259: JUMPDEST
0000225a: DUP1
0000225b: ISZERO
0000225c: PUSH2 0x2275
0000225f: JUMPI
00002260: POP
00002261: PUSH1 0x00
00002263: DUP11
00002264: DUP2
00002265: MSTORE
00002266: PUSH1 0x02
00002268: PUSH1 0x20
0000226a: MSTORE
0000226b: PUSH1 0x40
0000226d: SWAP1
0000226e: KECCAK256
0000226f: PUSH1 0x04
00002271: ADD
00002272: SLOAD
00002273: ISZERO
00002274: ISZERO
00002275: JUMPDEST
00002276: ISZERO
00002277: PUSH2 0x22ab
0000227a: JUMPI
0000227b: PUSH2 0x22a8
0000227e: PUSH1 0x64
00002280: PUSH2 0x2290
00002283: DUP5
00002284: PUSH1 0x0a
00002286: PUSH4 0xffffffff
0000228b: PUSH2 0x245a
0000228e: AND
0000228f: JUMP
00002290: JUMPDEST
00002291: DUP2
00002292: ISZERO
00002293: ISZERO
00002294: PUSH2 0x2299
00002297: JUMPI
00002298: INVALID
00002299: JUMPDEST
0000229a: DUP7
0000229b: SWAP2
0000229c: SWAP1
0000229d: DIV
0000229e: PUSH4 0xffffffff
000022a3: PUSH2 0x2537
000022a6: AND
000022a7: JUMP
000022a8: JUMPDEST
000022a9: SWAP4
000022aa: POP
000022ab: JUMPDEST
000022ac: PUSH1 0x00
000022ae: DUP11
000022af: DUP2
000022b0: MSTORE
000022b1: PUSH1 0x02
000022b3: PUSH1 0x20
000022b5: MSTORE
000022b6: PUSH1 0x40
000022b8: SWAP1
000022b9: KECCAK256
000022ba: PUSH1 0x03
000022bc: ADD
000022bd: SLOAD
000022be: TIMESTAMP
000022bf: GT
000022c0: ISZERO
000022c1: PUSH2 0x23fb
000022c4: JUMPI
000022c5: PUSH1 0x00
000022c7: DUP11
000022c8: DUP2
000022c9: MSTORE
000022ca: PUSH1 0x02
000022cc: PUSH1 0x20
000022ce: MSTORE
000022cf: PUSH1 0x40
000022d1: SWAP1
000022d2: KECCAK256
000022d3: PUSH1 0x05
000022d5: ADD
000022d6: SLOAD
000022d7: PUSH1 0x01
000022d9: PUSH1 0xa0
000022db: PUSH1 0x02
000022dd: EXP
000022de: SUB
000022df: DUP11
000022e0: DUP2
000022e1: AND
000022e2: SWAP2
000022e3: AND
000022e4: EQ
000022e5: ISZERO
000022e6: PUSH2 0x2302
000022e9: JUMPI
000022ea: PUSH2 0x22ff
000022ed: PUSH1 0x64
000022ef: PUSH2 0x2290
000022f2: DUP5
000022f3: PUSH1 0x3c
000022f5: PUSH4 0xffffffff
000022fa: PUSH2 0x245a
000022fd: AND
000022fe: JUMP
000022ff: JUMPDEST
00002300: SWAP4
00002301: POP
00002302: JUMPDEST
00002303: POP
00002304: PUSH1 0x00
00002306: JUMPDEST
00002307: PUSH1 0x00
00002309: DUP11
0000230a: SWAP1
0000230b: MSTORE
0000230c: PUSH1 0x02
0000230e: PUSH1 0x20
00002310: MSTORE
00002311: PUSH1 0x0b
00002313: DUP2
00002314: LT
00002315: ISZERO
00002316: PUSH2 0x23fb
00002319: JUMPI
0000231a: PUSH1 0x00
0000231c: DUP11
0000231d: DUP2
0000231e: MSTORE
0000231f: PUSH1 0x02
00002321: PUSH1 0x20
00002323: MSTORE
00002324: PUSH1 0x40
00002326: SWAP1
00002327: KECCAK256
00002328: PUSH1 0x01
0000232a: PUSH1 0xa0
0000232c: PUSH1 0x02
0000232e: EXP
0000232f: SUB
00002330: DUP11
00002331: AND
00002332: SWAP1
00002333: PUSH1 0x07
00002335: ADD
00002336: DUP3
00002337: PUSH1 0x0b
00002339: DUP2
0000233a: LT
0000233b: PUSH2 0x2340
0000233e: JUMPI
0000233f: INVALID
00002340: JUMPDEST
00002341: ADD
00002342: SLOAD
00002343: PUSH1 0x01
00002345: PUSH1 0xa0
00002347: PUSH1 0x02
00002349: EXP
0000234a: SUB
0000234b: AND
0000234c: EQ
0000234d: DUP1
0000234e: ISZERO
0000234f: PUSH2 0x2388
00002352: JUMPI
00002353: POP
00002354: PUSH1 0x00
00002356: DUP11
00002357: DUP2
00002358: MSTORE
00002359: PUSH1 0x02
0000235b: PUSH1 0x20
0000235d: MSTORE
0000235e: PUSH1 0x40
00002360: SWAP1
00002361: KECCAK256
00002362: PUSH1 0x17
00002364: ADD
00002365: SLOAD
00002366: DUP2
00002367: SWAP1
00002368: PUSH1 0x0b
0000236a: SWAP1
0000236b: PUSH2 0x237b
0000236e: SWAP1
0000236f: PUSH1 0x01
00002371: PUSH4 0xffffffff
00002376: PUSH2 0x24d7
00002379: AND
0000237a: JUMP
0000237b: JUMPDEST
0000237c: DUP2
0000237d: ISZERO
0000237e: ISZERO
0000237f: PUSH2 0x2384
00002382: JUMPI
00002383: INVALID
00002384: JUMPDEST
00002385: MOD
00002386: EQ
00002387: ISZERO
00002388: JUMPDEST
00002389: ISZERO
0000238a: PUSH2 0x23e3
0000238d: JUMPI
0000238e: PUSH1 0x00
00002390: DUP11
00002391: DUP2
00002392: MSTORE
00002393: PUSH1 0x02
00002395: PUSH1 0x20
00002397: MSTORE
00002398: PUSH1 0x40
0000239a: SWAP1
0000239b: KECCAK256
0000239c: PUSH1 0x06
0000239e: ADD
0000239f: SLOAD
000023a0: PUSH1 0x01
000023a2: PUSH1 0xa0
000023a4: PUSH1 0x02
000023a6: EXP
000023a7: SUB
000023a8: AND
000023a9: ISZERO
000023aa: PUSH2 0x23ca
000023ad: JUMPI
000023ae: PUSH2 0x23c3
000023b1: PUSH1 0x64
000023b3: PUSH2 0x2290
000023b6: DUP5
000023b7: PUSH1 0x03
000023b9: PUSH4 0xffffffff
000023be: PUSH2 0x245a
000023c1: AND
000023c2: JUMP
000023c3: JUMPDEST
000023c4: SWAP4
000023c5: POP
000023c6: PUSH2 0x23e3
000023c9: JUMP
000023ca: JUMPDEST
000023cb: PUSH2 0x23e0
000023ce: PUSH1 0x64
000023d0: PUSH2 0x2290
000023d3: DUP5
000023d4: PUSH1 0x04
000023d6: PUSH4 0xffffffff
000023db: PUSH2 0x245a
000023de: AND
000023df: JUMP
000023e0: JUMPDEST
000023e1: SWAP4
000023e2: POP
000023e3: JUMPDEST
000023e4: PUSH2 0x23f4
000023e7: DUP2
000023e8: PUSH1 0x01
000023ea: PUSH4 0xffffffff
000023ef: PUSH2 0x2537
000023f2: AND
000023f3: JUMP
000023f4: JUMPDEST
000023f5: SWAP1
000023f6: POP
000023f7: PUSH2 0x2306
000023fa: JUMP
000023fb: JUMPDEST
000023fc: POP
000023fd: POP
000023fe: PUSH1 0x00
00002400: SWAP8
00002401: DUP9
00002402: MSTORE
00002403: PUSH1 0x03
00002405: PUSH1 0x20
00002407: DUP2
00002408: DUP2
00002409: MSTORE
0000240a: PUSH1 0x40
0000240c: DUP1
0000240d: DUP12
0000240e: KECCAK256
0000240f: PUSH1 0x01
00002411: PUSH1 0xa0
00002413: PUSH1 0x02
00002415: EXP
00002416: SUB
00002417: SWAP11
00002418: SWAP1
00002419: SWAP11
0000241a: AND
0000241b: DUP12
0000241c: MSTORE
0000241d: SWAP9
0000241e: SWAP1
0000241f: MSTORE
00002420: SWAP7
00002421: SWAP1
00002422: SWAP8
00002423: KECCAK256
00002424: SWAP6
00002425: DUP7
00002426: ADD
00002427: SLOAD
00002428: PUSH1 0x02
0000242a: DUP8
0000242b: ADD
0000242c: SLOAD
0000242d: PUSH1 0x04
0000242f: SWAP1
00002430: SWAP8
00002431: ADD
00002432: SLOAD
00002433: SWAP2
00002434: SWAP9
00002435: SWAP1
00002436: SWAP7
00002437: SWAP2
00002438: SWAP1
00002439: SWAP2
0000243a: ADD
0000243b: SWAP5
0000243c: POP
0000243d: SWAP3
0000243e: POP
0000243f: POP
00002440: POP
00002441: JUMP
00002442: JUMPDEST
00002443: PUSH1 0x07
00002445: SLOAD
00002446: PUSH1 0xff
00002448: AND
00002449: DUP2
0000244a: JUMP
0000244b: JUMPDEST
0000244c: PUSH1 0x05
0000244e: SLOAD
0000244f: PUSH1 0x01
00002451: PUSH1 0xa0
00002453: PUSH1 0x02
00002455: EXP
00002456: SUB
00002457: AND
00002458: DUP2
00002459: JUMP
0000245a: JUMPDEST
0000245b: PUSH1 0x00
0000245d: DUP3
0000245e: ISZERO
0000245f: ISZERO
00002460: PUSH2 0x246b
00002463: JUMPI
00002464: POP
00002465: PUSH1 0x00
00002467: PUSH2 0x24d1
0000246a: JUMP
0000246b: JUMPDEST
0000246c: POP
0000246d: DUP2
0000246e: DUP2
0000246f: MUL
00002470: DUP2
00002471: DUP4
00002472: DUP3
00002473: DUP2
00002474: ISZERO
00002475: ISZERO
00002476: PUSH2 0x247b
00002479: JUMPI
0000247a: INVALID
0000247b: JUMPDEST
0000247c: DIV
0000247d: EQ
0000247e: PUSH2 0x24d1
00002481: JUMPI
00002482: PUSH1 0x40
00002484: DUP1
00002485: MLOAD
00002486: PUSH1 0xe5
00002488: PUSH1 0x02
0000248a: EXP
0000248b: PUSH3 0x461bcd
0000248f: MUL
00002490: DUP2
00002491: MSTORE
00002492: PUSH1 0x20
00002494: PUSH1 0x04
00002496: DUP3
00002497: ADD
00002498: MSTORE
00002499: PUSH1 0x13
0000249b: PUSH1 0x24
0000249d: DUP3
0000249e: ADD
0000249f: MSTORE
000024a0: PUSH32 0x536166654d617468206d756c206661696c656400000000000000000000000000
000024c1: PUSH1 0x44
000024c3: DUP3
000024c4: ADD
000024c5: MSTORE
000024c6: SWAP1
000024c7: MLOAD
000024c8: SWAP1
000024c9: DUP2
000024ca: SWAP1
000024cb: SUB
000024cc: PUSH1 0x64
000024ce: ADD
000024cf: SWAP1
000024d0: REVERT
000024d1: JUMPDEST
000024d2: SWAP3
000024d3: SWAP2
000024d4: POP
000024d5: POP
000024d6: JUMP
000024d7: JUMPDEST
000024d8: PUSH1 0x00
000024da: DUP3
000024db: DUP3
000024dc: GT
000024dd: ISZERO
000024de: PUSH2 0x2531
000024e1: JUMPI
000024e2: PUSH1 0x40
000024e4: DUP1
000024e5: MLOAD
000024e6: PUSH1 0xe5
000024e8: PUSH1 0x02
000024ea: EXP
000024eb: PUSH3 0x461bcd
000024ef: MUL
000024f0: DUP2
000024f1: MSTORE
000024f2: PUSH1 0x20
000024f4: PUSH1 0x04
000024f6: DUP3
000024f7: ADD
000024f8: MSTORE
000024f9: PUSH1 0x13
000024fb: PUSH1 0x24
000024fd: DUP3
000024fe: ADD
000024ff: MSTORE
00002500: PUSH32 0x536166654d61746820737562206661696c656400000000000000000000000000
00002521: PUSH1 0x44
00002523: DUP3
00002524: ADD
00002525: MSTORE
00002526: SWAP1
00002527: MLOAD
00002528: SWAP1
00002529: DUP2
0000252a: SWAP1
0000252b: SUB
0000252c: PUSH1 0x64
0000252e: ADD
0000252f: SWAP1
00002530: REVERT
00002531: JUMPDEST
00002532: POP
00002533: SWAP1
00002534: SUB
00002535: SWAP1
00002536: JUMP
00002537: JUMPDEST
00002538: DUP2
00002539: DUP2
0000253a: ADD
0000253b: DUP3
0000253c: DUP2
0000253d: LT
0000253e: ISZERO
0000253f: PUSH2 0x24d1
00002542: JUMPI
00002543: PUSH1 0x40
00002545: DUP1
00002546: MLOAD
00002547: PUSH1 0xe5
00002549: PUSH1 0x02
0000254b: EXP
0000254c: PUSH3 0x461bcd
00002550: MUL
00002551: DUP2
00002552: MSTORE
00002553: PUSH1 0x20
00002555: PUSH1 0x04
00002557: DUP3
00002558: ADD
00002559: MSTORE
0000255a: PUSH1 0x13
0000255c: PUSH1 0x24
0000255e: DUP3
0000255f: ADD
00002560: MSTORE
00002561: PUSH32 0x536166654d61746820616464206661696c656400000000000000000000000000
00002582: PUSH1 0x44
00002584: DUP3
00002585: ADD
00002586: MSTORE
00002587: SWAP1
00002588: MLOAD
00002589: SWAP1
0000258a: DUP2
0000258b: SWAP1
0000258c: SUB
0000258d: PUSH1 0x64
0000258f: ADD
00002590: SWAP1
00002591: REVERT
00002592: JUMPDEST
00002593: PUSH1 0x00
00002595: PUSH2 0x25c4
00002598: PUSH2 0x25a0
0000259b: DUP5
0000259c: PUSH2 0x25fd
0000259f: JUMP
000025a0: JUMPDEST
000025a1: PUSH2 0x25b8
000025a4: PUSH2 0x25b3
000025a7: DUP7
000025a8: DUP7
000025a9: PUSH4 0xffffffff
000025ae: PUSH2 0x2537
000025b1: AND
000025b2: JUMP
000025b3: JUMPDEST
000025b4: PUSH2 0x25fd
000025b7: JUMP
000025b8: JUMPDEST
000025b9: SWAP1
000025ba: PUSH4 0xffffffff
000025bf: PUSH2 0x24d7
000025c2: AND
000025c3: JUMP
000025c4: JUMPDEST
000025c5: SWAP4
000025c6: SWAP3
000025c7: POP
000025c8: POP
000025c9: POP
000025ca: JUMP
000025cb: JUMPDEST
000025cc: DUP1
000025cd: EXTCODESIZE
000025ce: DUP1
000025cf: ISZERO
000025d0: SWAP1
000025d1: JUMPDEST
000025d2: POP
000025d3: SWAP2
000025d4: SWAP1
000025d5: POP
000025d6: JUMP
000025d7: JUMPDEST
000025d8: PUSH1 0x00
000025da: PUSH2 0x25c4
000025dd: PUSH2 0x25f4
000025e0: PUSH2 0x25ef
000025e3: DUP6
000025e4: DUP6
000025e5: PUSH4 0xffffffff
000025ea: PUSH2 0x24d7
000025ed: AND
000025ee: JUMP
000025ef: JUMPDEST
000025f0: PUSH2 0x2681
000025f3: JUMP
000025f4: JUMPDEST
000025f5: PUSH2 0x25b8
000025f8: DUP6
000025f9: PUSH2 0x2681
000025fc: JUMP
000025fd: JUMPDEST
000025fe: PUSH1 0x00
00002600: PUSH4 0x09502f90
00002605: PUSH2 0x2671
00002608: PUSH14 0x03b2a1d15167e7c5699bfde00000
00002617: PUSH2 0x25b8
0000261a: PUSH2 0x266c
0000261d: PUSH27 0x0dac7055469777a6122ee4310dd6c14410500f2904840000000000
00002639: PUSH2 0x09c6
0000263c: PUSH12 0x01027e72f1f1281308800000
00002649: PUSH2 0x2660
0000264c: DUP11
0000264d: PUSH8 0x0de0b6b3a7640000
00002656: PUSH4 0xffffffff
0000265b: PUSH2 0x245a
0000265e: AND
0000265f: JUMP
00002660: JUMPDEST
00002661: SWAP1
00002662: PUSH4 0xffffffff
00002667: PUSH2 0x245a
0000266a: AND
0000266b: JUMP
0000266c: JUMPDEST
0000266d: PUSH2 0x26ee
00002670: JUMP
00002671: JUMPDEST
00002672: DUP2
00002673: ISZERO
00002674: ISZERO
00002675: PUSH2 0x267a
00002678: JUMPI
00002679: INVALID
0000267a: JUMPDEST
0000267b: DIV
0000267c: SWAP3
0000267d: SWAP2
0000267e: POP
0000267f: POP
00002680: JUMP
00002681: JUMPDEST
00002682: PUSH1 0x00
00002684: PUSH2 0x2694
00002687: PUSH8 0x0de0b6b3a7640000
00002690: PUSH2 0x2741
00002693: JUMP
00002694: JUMPDEST
00002695: PUSH2 0x2671
00002698: PUSH1 0x02
0000269a: PUSH2 0x26c7
0000269d: PUSH2 0x26b4
000026a0: DUP7
000026a1: PUSH8 0x0de0b6b3a7640000
000026aa: PUSH4 0xffffffff
000026af: PUSH2 0x245a
000026b2: AND
000026b3: JUMP
000026b4: JUMPDEST
000026b5: PUSH6 0x886c8f673070
000026bc: SWAP1
000026bd: PUSH4 0xffffffff
000026c2: PUSH2 0x245a
000026c5: AND
000026c6: JUMP
000026c7: JUMPDEST
000026c8: DUP2
000026c9: ISZERO
000026ca: ISZERO
000026cb: PUSH2 0x26d0
000026ce: JUMPI
000026cf: INVALID
000026d0: JUMPDEST
000026d1: DIV
000026d2: PUSH2 0x09c6
000026d5: PUSH2 0x26dd
000026d8: DUP7
000026d9: PUSH2 0x2741
000026dc: JUMP
000026dd: JUMPDEST
000026de: PUSH4 0x04a817c8
000026e3: SWAP1
000026e4: PUSH4 0xffffffff
000026e9: PUSH2 0x245a
000026ec: AND
000026ed: JUMP
000026ee: JUMPDEST
000026ef: PUSH1 0x00
000026f1: DUP1
000026f2: PUSH1 0x02
000026f4: PUSH2 0x26fe
000026f7: DUP5
000026f8: PUSH1 0x01
000026fa: PUSH2 0x2537
000026fd: JUMP
000026fe: JUMPDEST
000026ff: DUP2
00002700: ISZERO
00002701: ISZERO
00002702: PUSH2 0x2707
00002705: JUMPI
00002706: INVALID
00002707: JUMPDEST
00002708: DIV
00002709: SWAP1
0000270a: POP
0000270b: DUP3
0000270c: SWAP2
0000270d: POP
0000270e: JUMPDEST
0000270f: DUP2
00002710: DUP2
00002711: LT
00002712: ISZERO
00002713: PUSH2 0x25d1
00002716: JUMPI
00002717: DUP1
00002718: SWAP2
00002719: POP
0000271a: PUSH1 0x02
0000271c: PUSH2 0x2730
0000271f: DUP3
00002720: DUP6
00002721: DUP2
00002722: ISZERO
00002723: ISZERO
00002724: PUSH2 0x2729
00002727: JUMPI
00002728: INVALID
00002729: JUMPDEST
0000272a: DIV
0000272b: DUP4
0000272c: PUSH2 0x2537
0000272f: JUMP
00002730: JUMPDEST
00002731: DUP2
00002732: ISZERO
00002733: ISZERO
00002734: PUSH2 0x2739
00002737: JUMPI
00002738: INVALID
00002739: JUMPDEST
0000273a: DIV
0000273b: SWAP1
0000273c: POP
0000273d: PUSH2 0x270e
00002740: JUMP
00002741: JUMPDEST
00002742: PUSH1 0x00
00002744: PUSH2 0x24d1
00002747: DUP3
00002748: DUP4
00002749: PUSH2 0x245a
0000274c: JUMP
0000274d: JUMPDEST
0000274e: PUSH1 0x40
00002750: DUP1
00002751: MLOAD
00002752: DUP1
00002753: DUP3
00002754: ADD
00002755: DUP3
00002756: MSTORE
00002757: SWAP1
00002758: PUSH1 0x02
0000275a: SWAP1
0000275b: DUP3
0000275c: SWAP1
0000275d: DUP1
0000275e: CODESIZE
0000275f: DUP4
00002760: CODECOPY
00002761: POP
00002762: SWAP2
00002763: SWAP3
00002764: SWAP2
00002765: POP
00002766: POP
00002767: JUMP
00002768: JUMPDEST
00002769: PUSH1 0x60
0000276b: PUSH1 0x40
0000276d: MLOAD
0000276e: SWAP1
0000276f: DUP2
00002770: ADD
00002771: PUSH1 0x40
00002773: MSTORE
00002774: DUP1
00002775: PUSH1 0x03
00002777: SWAP1
00002778: PUSH1 0x20
0000277a: DUP3
0000277b: MUL
0000277c: DUP1
0000277d: CODESIZE
0000277e: DUP4
0000277f: CODECOPY
00002780: POP
00002781: SWAP2
00002782: SWAP3
00002783: SWAP2
00002784: POP
00002785: POP
00002786: JUMP
00002787: JUMPDEST
00002788: PUSH1 0xc0
0000278a: PUSH1 0x40
0000278c: MLOAD
0000278d: SWAP1
0000278e: DUP2
0000278f: ADD
00002790: PUSH1 0x40
00002792: MSTORE
00002793: DUP1
00002794: PUSH1 0x06
00002796: SWAP1
00002797: PUSH1 0x20
00002799: DUP3
0000279a: MUL
0000279b: DUP1
0000279c: CODESIZE
0000279d: DUP4
0000279e: CODECOPY
0000279f: POP
000027a0: SWAP2
000027a1: SWAP3
000027a2: SWAP2
000027a3: POP
000027a4: POP
000027a5: JUMP
000027a6: JUMPDEST
000027a7: PUSH2 0x0160
000027aa: PUSH1 0x40
000027ac: MLOAD
000027ad: SWAP1
000027ae: DUP2
000027af: ADD
000027b0: PUSH1 0x40
000027b2: MSTORE
000027b3: DUP1
000027b4: PUSH1 0x0b
000027b6: SWAP1
000027b7: PUSH1 0x20
000027b9: DUP3
000027ba: MUL
000027bb: DUP1
000027bc: CODESIZE
000027bd: DUP4
000027be: CODECOPY
000027bf: POP
000027c0: SWAP2
000027c1: SWAP3
000027c2: SWAP2
000027c3: POP
000027c4: POP
000027c5: JUMP
000027c6: JUMPDEST
000027c7: PUSH1 0x80
000027c9: PUSH1 0x40
000027cb: MLOAD
000027cc: SWAP1
000027cd: DUP2
000027ce: ADD
000027cf: PUSH1 0x40
000027d1: MSTORE
000027d2: DUP1
000027d3: PUSH1 0x04
000027d5: SWAP1
000027d6: PUSH1 0x20
000027d8: DUP3
000027d9: MUL
000027da: DUP1
000027db: CODESIZE
000027dc: DUP4
000027dd: CODECOPY
000027de: POP
000027df: SWAP2
000027e0: SWAP3
000027e1: SWAP2
000027e2: POP
000027e3: POP
000027e4: JUMP
000027e5: STOP
000027e6: SLOAD
000027e7: PUSH9 0x652067616d65206861
000027f1: PUSH20 0x6e27742073746172746564207965742e00000000
00002806: PUSH20 0x6f7272792068756d616e73206f6e6c7900000000
0000281b: STOP
0000281c: STOP
0000281d: STOP
0000281e: STOP
0000281f: STOP
00002820: STOP
00002821: STOP
00002822: STOP
00002823: STOP
00002824: STOP
00002825: STOP
00002826: LOG1
00002827: PUSH6 0x627a7a723058
0000282e: KECCAK256
0000282f: UNKNOWN(0xE0)
00002830: TSTORE
00002831: PUSH1 0xb4
00002833: UNKNOWN(0x4C)
00002834: UNKNOWN(0xE4)
00002835: SWAP1
00002836: UNKNOWN(0xBD)
00002837: XOR
00002838: PUSH32

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other slither Plague.feeWithdraw() (contracts/Contract.sol#553-571) sends eth to arbitrary user 85 no
view
evidence_json
{
    "impact": "High",
    "detector": "arbitrary-send-eth",
    "elements": [
        {
            "name": "feeWithdraw",
            "type": "function",
            "source_mapping": {
                "lines": [
                    553,
                    554,
                    555,
                    556,
                    557,
                    558,
                    559,
                    560,
                    561,
                    562,
                    563,
                    564,
                    565,
                    566,
                    567,
                    568,
                    569,
                    570,
                    571
                ],
                "start": 19966,
                "length": 483,
                "ending_column": 2,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 14,
                "filename_absolute": "/tmp/slither-srasxypo/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "Plague",
                    "type": "contract",
                    "source_mapping": {
                        "lines": [
                            129,
                            130,
                            131,
                            132,
                            133,
                            134,
                            135,
                            136,
                            137,
                            138,
                            139,
                            140,
                            141,
                            142,
                            143,
                            144,
                            145,
                            146,
                            147,
                            148,
                            149,
                            150,
                            151,
                            152,
                            153,
                            154,
                            155,
                            156,
                            157,
                            158,
                            159,
                            160,
                            161,
                            162,
                            163,
                            164,
                            165,
                            166,
                            167,
                            168,
                            169,
                            170,
                            171,
                            172,
                            173,
                            174,
                            175,
                            176,
                            177,
                            178,
                            179,
                            180,
                            181,
                            182,
                            183,
                            184,
                            185,
                            186,
                            187,
                            188,
                            189,
                            190,
                            191,
                            192,
                            193,
                            194,
                            195,
                            196,
                            197,
                            198,
                            199,
                            200,
                            201,
                            202,
                            203,
                            204,
                            205,
                            206,
                            207,
                            208,
                            209,
                            210,
                            211,
                            212,
                            213,
                            214,
                            215,
                            216,
                            217,
                            218,
                            219,
                            220,
                            221,
                            222,
                            223,
                            224,
                            225,
                            226,
                            227,
                            228,
                            229,
                            230,
                            231,
                            232,
                            233,
                            234,
                            235,
                            236,
                            237,
                            238,
                            239,
                            240,
                            241,
                            242,
                            243,
                            244,
                            245,
                            246,
                            247,
                            248,
                            249,
                            250,
                            251,
                            252,
                            253,
                            254,
                            255,
                            256,
                            257,
                            258,
                            259,
                            260,
                            261,
                            262,
                            263,
                            264,
                            265,
                            266,
                            267,
                            268,
                            269,
                            270,
                            271,
                            272,
                            273,
                            274,
                            275,
                            276,
                            277,
                            278,
                            279,
                            280,
                            281,
                            282,
                            283,
                            284,
                            285,
                            286,
                            287,
                            288,
                            289,
                            290,
                            291,
                            292,
                            293,
                            294,
                            295,
                            296,
                            297,
                            298,
                            299,
                            300,
                            301,
                            302,
                            303,
                            304,
                            305,
                            306,
                            307,
                            308,
                            309,
                            310,
                            311,
                            312,
                            313,
                            314,
                            315,
                            316,
                            317,
                            318,
                            319,
                            320,
                            321,
                            322,
                            323,
                            324,
                            325,
                            326,
                            327,
                            328,
                            329,
                            330,
                            331,
                            332,
                            333,
                            334,
                            335,
                            336,
                            337,
                            338,
                            339,
                            340,
                            341,
                            342,
                            343,
                            344,
                            345,
                            346,
                            347,
                            348,
                            349,
                            350,
                            351,
                            352,
                            353,
                            354,
                            355,
                            356,
                            357,
                            358,
                            359,
                            360,
                            361,
                            362,
                            363,
                            364,
                            365,
                            366,
                            367,
                            368,
                            369,
                            370,
                            371,
                            372,
                            373,
                            374,
                            375,
                            376,
                            377,
                            378,
                            379,
                            380,
                            381,
                            382,
                            383,
                            384,
                            385,
                            386,
                            387,
                            388,
                            389,
                            390,
                            391,
                            392,
                            393,
                            394,
                            395,
                            396,
                            397,
                            398,
                            399,
                            400,
                            401,
                            402,
                            403,
                            404,
                            405,
                            406,
                            407,
                            408,
                            409,
                            410,
                            411,
                            412,
                            413,
                            414,
                            415,
                            416,
                            417,
                            418,
                            419,
                            420,
                            421,
                            422,
                            423,
                            424,
                            425,
                            426,
                            427,
                            428,
                            429,
                            430,
                            431,
                            432,
                            433,
                            434,
                            435,
                            436,
                            437,
                            438,
                            439,
                            440,
                            441,
                            442,
                            443,
                            444,
                            445,
                            446,
                            447,
                            448,
                            449,
                            450,
                            451,
                            452,
                            453,
                            454,
                            455,
                            456,
                            457,
                            458,
                            459,
                            460,
                            461,
                            462,
                            463,
                            464,
                            465,
                            466,
                            467,
                            468,
                            469,
                            470,
                            471,
                            472,
                            473,
                            474,
                            475,
                            476,
                            477,
                            478,
                            479,
                            480,
                            481,
                            482,
                            483,
                            484,
                            485,
                            486,
                            487,
                            488,
                            489,
                            490,
                            491,
                            492,
                            493,
                            494,
                            495,
                            496,
                            497,
                            498,
                            499,
                            500,
                            501,
                            502,
                            503,
                            504,
                            505,
                            506,
                            507,
                            508,
                            509,
                            510,
                            511,
                            512,
                            513,
                            514,
                            515,
                            516,
                            517,
                            518,
                            519,
                            520,
                            521,
                            522,
                            523,
                            524,
                            525,
                            526,
                            527,
                            528,
                            529,
                            530,
                            531,
                            532,
                            533,
                            534,
                            535,
                            536,
                            537,
                            538,
                            539,
                            540,
                            541,
                            542,
                            543,
                            544,
                            545,
                            546,
                            547,
                            548,
                            549,
                            550,
                            551,
                            552,
                            553,
                            554,
                            555,
                            556,
                            557,
                            558,
                            559,
                            560,
                            561,
                            562,
                            563,
                            564,
                            565,
                            566,
                            567,
                            568,
                            569,
                            570,
                            571,
                            572,
                            573,
                            574,
                            575,
                            576,
                            577,
                            578,
                            579,
                            580,
                            581,
                            582,
                            583,
                            584,
                            585,
                            586,
                            587,
                            588,
                            589,
                            590,
                            591,
                            592,
                            593,
                            594,
                            595,
                            596,
                            597,
                            598,
                            599,
                            600,
                            601,
                            602,
                            603,
                            604,
                            605,
                            606,
                            607,
                            608,
                            609,
                            610,
                            611,
                            612,
                            613,
                            614,
                            615,
                            616,
                            617,
                            618,
                            619,
                            620,
                            621,
                            622,
                            623,
                            624,
                            625,
                            626,
                            627,
                            628,
                            629,
                            630,
                            631,
                            632,
                            633,
                            634,
                            635,
                            636,
                            637,
                            638,
                            639,
                            640,
                            641,
                            642,
                            643,
                            644,
                            645,
                            646,
                            647,
                            648,
                            649,
                            650,
                            651,
                            652,
                            653,
                            654,
                            655,
                            656,
                            657,
                            658,
                            659
                        ],
                        "start": 3700,
                        "length": 19659,
                        "ending_column": 10,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 17,
                        "filename_absolute": "/tmp/slither-srasxypo/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    }
                },
                "signature": "feeWithdraw()"
            }
        },
        {
            "name": "receiver.transfer(_total.sub(_withdrawed))",
            "type": "node",
            "source_mapping": {
                "lines": [
                    566,
                    567,
                    568,
                    569,
                    570
                ],
                "start": 20400,
                "length": 42,
                "ending_column": 4,
                "is_dependency": false,
                "filename_short": "contracts/Contract.sol",
                "starting_column": 95,
                "filename_absolute": "/tmp/slither-srasxypo/contracts/Contract.sol",
                "filename_relative": "contracts/Contract.sol"
            },
            "type_specific_fields": {
                "parent": {
                    "name": "feeWithdraw",
                    "type": "function",
                    "source_mapping": {
                        "lines": [
                            553,
                            554,
                            555,
                            556,
                            557,
                            558,
                            559,
                            560,
                            561,
                            562,
                            563,
                            564,
                            565,
                            566,
                            567,
                            568,
                            569,
                            570,
                            571
                        ],
                        "start": 19966,
                        "length": 483,
                        "ending_column": 2,
                        "is_dependency": false,
                        "filename_short": "contracts/Contract.sol",
                        "starting_column": 14,
                        "filename_absolute": "/tmp/slither-srasxypo/contracts/Contract.sol",
                        "filename_relative": "contracts/Contract.sol"
                    },
                    "type_specific_fields": {
                        "parent": {
                            "name": "Plague",
                            "type": "contract",
                            "source_mapping": {
                                "lines": [
                                    129,
                                    130,
                                    131,
                                    132,
                                    133,
                                    134,
                                    135,
                                    136,
                                    137,
                                    138,
                                    139,
                                    140,
                                    141,
                                    142,
                                    143,
                                    144,
                                    145,
                                    146,
                                    147,
                                    148,
                                    149,
                                    150,
                                    151,
                                    152,
                                    153,
                                    154,
                                    155,
                                    156,
                                    157,
                                    158,
                                    159,
                                    160,
                                    161,
                                    162,
                                    163,
                                    164,
                                    165,
                                    166,
                                    167,
                                    168,
                                    169,
                                    170,
                                    171,
                                    172,
                                    173,
                                    174,
                                    175,
                                    176,
                                    177,
                                    178,
                                    179,
                                    180,
                                    181,
                                    182,
                                    183,
                                    184,
                                    185,
                                    186,
                                    187,
                                    188,
                                    189,
                                    190,
                                    191,
                                    192,
                                    193,
                                    194,
                                    195,
                                    196,
                                    197,
                                    198,
                                    199,
                                    200,
                                    201,
                                    202,
                                    203,
                                    204,
                                    205,
                                    206,
                                    207,
                                    208,
                                    209,
                                    210,
                                    211,
                                    212,
                                    213,
                                    214,
                                    215,
                                    216,
                                    217,
                                    218,
                                    219,
                                    220,
                                    221,
                                    222,
                                    223,
                                    224,
                                    225,
                                    226,
                                    227,
                                    228,
                                    229,
                                    230,
                                    231,
                                    232,
                                    233,
                                    234,
                                    235,
                                    236,
                                    237,
                                    238,
                                    239,
                                    240,
                                    241,
                                    242,
                                    243,
                                    244,
                                    245,
                                    246,
                                    247,
                                    248,
                                    249,
                                    250,
                                    251,
                                    252,
                                    253,
                                    254,
                                    255,
                                    256,
                                    257,
                                    258,
                                    259,
                                    260,
                                    261,
                                    262,
                                    263,
                                    264,
                                    265,
                                    266,
                                    267,
                                    268,
                                    269,
                                    270,
                                    271,
                                    272,
                                    273,
                                    274,
                                    275,
                                    276,
                                    277,
                                    278,
                                    279,
                                    280,
                                    281,
                                    282,
                                    283,
                                    284,
                                    285,
                                    286,
                                    287,
                                    288,
                                    289,
                                    290,
                                    291,
                                    292,
                                    293,
                                    294,
                                    295,
                                    296,
                                    297,
                                    298,
                                    299,
                                    300,
                                    301,
                                    302,
                                    303,
                                    304,
                                    305,
                                    306,
                                    307,
                                    308,
                                    309,
                                    310,
                                    311,
                                    312,
                                    313,
                                    314,
                                    315,
                                    316,
                                    317,
                                    318,
                                    319,
                                    320,
                                    321,
                                    322,
                                    323,
                                    324,
                                    325,
                                    326,
                                    327,
                                    328,
                                    329,
                                    330,
                                    331,
                                    332,
                                    333,
                                    334,
                                    335,
                                    336,
                                    337,
                                    338,
                                    339,
                                    340,
                                    341,
                                    342,
                                    343,
                                    344,
                                    345,
                                    346,
                                    347,
                                    348,
                                    349,
                                    350,
                                    351,
                                    352,
                                    353,
                                    354,
                                    355,
                                    356,
                                    357,
                                    358,
                                    359,
                                    360,
                                    361,
                                    362,
                                    363,
                                    364,
                                    365,
                                    366,
                                    367,
                                    368,
                                    369,
                                    370,
                                    371,
                                    372,
                                    373,
                                    374,
                                    375,
                                    376,
                                    377,
                                    378,
                                    379,
                                    380,
                                    381,
                                    382,
                                    383,
                                    384,
                                    385,
                                    386,
                                    387,
                                    388,
                                    389,
                                    390,
                                    391,
                                    392,
                                    393,
                                    394,
                                    395,
                                    396,
                                    397,
                                    398,
                                    399,
                                    400,
                                    401,
                                    402,
                                    403,
                                    404,
                                    405,
                                    406,
                                    407,
                                    408,
                                    409,
                                    410,
                                    411,
                                    412,
                                    413,
                                    414,
                                    415,
                                    416,
                                    417,
                                    418,
                                    419,
                                    420,
                                    421,
                                    422,
                                    423,
                                    424,
                                    425,
                                    426,
                                    427,
                                    428,
                                    429,
                                    430,
                                    431,
                                    432,
                                    433,
                                    434,
                                    435,
                                    436,
                                    437,
                                    438,
                                    439,
                                    440,
                                    441,
                                    442,
                                    443,
                                    444,
                                    445,
                                    446,
                                    447,
                                    448,
                                    449,
                                    450,
                                    451,
                                    452,
                                    453,
                                    454,
                                    455,
                                    456,
                                    457,
                                    458,
                                    459,
                                    460,
                                    461,
                                    462,
                                    463,
                                    464,
                                    465,
                                    466,
                                    467,
                                    468,
                                    469,
                                    470,
                                    471,
                                    472,
                                    473,
                                    474,
                                    475,
                                    476,
                                    477,
                                    478,
                                    479,
                                    480,
                                    481,
                                    482,
                                    483,
                                    484,
                                    485,
                                    486,
                                    487,
                                    488,
                                    489,
                                    490,
                                    491,
                                    492,
                                    493,
                                    494,
                                    495,
                                    496,
                                    497,
                                    498,
                                    499,
                                    500,
                                    501,
                                    502,
                                    503,
                                    504,
                                    505,
                                    506,
                                    507,
                                    508,
                                    509,
                                    510,
                                    511,
                                    512,
                                    513,
                                    514,
                                    515,
                                    516,
                                    517,
                                    518,
                                    519,
                                    520,
                                    521,
                                    522,
                                    523,
                                    524,
                                    525,
                                    526,
                                    527,
                                    528,
                                    529,
                                    530,
                                    531,
                                    532,
                                    533,
                                    534,
                                    535,
                                    536,
                                    537,
                                    538,
                                    539,
                                    540,
                                    541,
                                    542,
                                    543,
                                    544,
                                    545,
                                    546,
                                    547,
                                    548,
                                    549,
                                    550,
                                    551,
                                    552,
                                    553,
                                    554,
                                    555,
                                    556,
                                    557,
                                    558,
                                    559,
                                    560,
                                    561,
                                    562,
                                    563,
                                    564,
                                    565,
                                    566,
                                    567,
                                    568,
                                    569,
                                    570,
                                    571,
                                    572,
                                    573,
                                    574,
                                    575,
                                    576,
                                    577,
                                    578,
                                    579,
                                    580,
                                    581,
                                    582,
                                    583,
                                    584,
                                    585,
                                    586,
                                    587,
                                    588,
                                    589,
                                    590,
                                    591,
                                    592,
                                    593,
                                    594,
                                    595,
                                    596,
                                    597,
                                    598,
                                    599,
                                    600,
                                    601,
                                    602,
                                    603,
                                    604,
                                    605,
                                    606,
                                    607,
                                    608,
                                    609,
                                    610,
                                    611,
                                    612,
                                    613,
                                    614,
                                    615,
                                    616,
                                    617,
                                    618,
                                    619,
                                    620,
                                    621,
                                    622,
                                    623,
                                    624,
                                    625,
                                    626,
                                    627,
                                    628,
                                    629,
                                    630,
                                    631,
                                    632,
                                    633,
                                    634,
                                    635,
                                    636,
                                    637,
                                    638,
                                    639,
                                    640,
                                    641,
                                    642,
                                    643,
                                    644,
                                    645,
                                    646,
                                    647,
                                    648,
                                    649,
                                    650,
                                    651,
                                    652,
                                    653,
                                    654,
                                    655,
                                    656,
                                    657,
                                    658,
                                    659
                                ],
                                "start": 3700,
                                "length": 19659,
                                "ending_column": 10,
                                "is_dependency": false,
                                "filename_short": "contracts/Contract.sol",
                                "starting_column": 17,
                                "filename_absolute": "/tmp/slither-srasxypo/contracts/Contract.sol",
                                "filename_relative": "contracts/Contract.sol"
                            }
                        },
                        "signature": "feeWithdraw()"
                    }
                }
            }
        }
    ],
    "locations": [
        {
            "file": "contracts/Contract.sol",
            "name": "feeWithdraw",
            "type": "function",
            "lines": [
                553,
                554,
                555,
                556,
                557,
                558,
                559,
                560,
                561,
                562,
                563,
                564,
                565,
                566,
                567,
                568,
                569,
                570,
                571
            ]
        },
        {
            "file": "contracts/Contract.sol",
            "name": "receiver.transfer(_total.sub(_withdrawed))",
            "type": "node",
            "lines": [
                566,
                567,
                568,
                569,
                570
            ]
        }
    ],
    "description": "Plague.feeWithdraw() (contracts/Contract.sol#553-571) sends eth to arbitrary user\n\tDangerous calls:\n\t- receiver.transfer(_total.sub(_withdrawed)) (contracts/Contract.sol#566-570)"
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xd3d493f3cd38433cf192264acc496674c5440ad335b1834dc5d65072d705e262
call_targets: 0xf317a365cfef0aa4357abd057048808a1d430402
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd3d493f3cd38433cf192264acc496674c5440ad335b1834dc5d65072d705e262",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf317a365cfef0aa4357abd057048808a1d430402"
    ],
    "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": "0x018a25e8",
            "selector": "0x018a25e8",
            "calldata_variants": [
                "0x018a25e8",
                "0x018a25e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3c28308a",
            "selector": "0x3c28308a",
            "calldata_variants": [
                "0x3c28308a",
                "0x3c28308a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3c3c9c23",
            "selector": "0x3c3c9c23",
            "calldata_variants": [
                "0x3c3c9c23",
                "0x3c3c9c230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4311de8f",
            "selector": "0x4311de8f",
            "calldata_variants": [
                "0x4311de8f",
                "0x4311de8f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x547e3f06",
            "selector": "0x547e3f06",
            "calldata_variants": [
                "0x547e3f06",
                "0x547e3f060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6561e6ba",
            "selector": "0x6561e6ba",
            "calldata_variants": [
                "0x6561e6ba",
                "0x6561e6ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x747dff42",
            "selector": "0x747dff42",
            "calldata_variants": [
                "0x747dff42",
                "0x747dff420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7e8ac590",
            "selector": "0x7e8ac590",
            "calldata_variants": [
                "0x7e8ac590",
                "0x7e8ac5900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2410,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3377,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5463,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [],
    "untrusted_call_count": 4
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xd3d493f3cd38433cf192264acc496674c5440ad335b1834dc5d65072d705e262
call_targets: 0xf317a365cfef0aa4357abd057048808a1d430402
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xd3d493f3cd38433cf192264acc496674c5440ad335b1834dc5d65072d705e262",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf317a365cfef0aa4357abd057048808a1d430402"
    ],
    "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": "0x018a25e8",
            "selector": "0x018a25e8",
            "calldata_variants": [
                "0x018a25e8",
                "0x018a25e80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3c28308a",
            "selector": "0x3c28308a",
            "calldata_variants": [
                "0x3c28308a",
                "0x3c28308a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3c3c9c23",
            "selector": "0x3c3c9c23",
            "calldata_variants": [
                "0x3c3c9c23",
                "0x3c3c9c230000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4311de8f",
            "selector": "0x4311de8f",
            "calldata_variants": [
                "0x4311de8f",
                "0x4311de8f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x547e3f06",
            "selector": "0x547e3f06",
            "calldata_variants": [
                "0x547e3f06",
                "0x547e3f060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6561e6ba",
            "selector": "0x6561e6ba",
            "calldata_variants": [
                "0x6561e6ba",
                "0x6561e6ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x747dff42",
            "selector": "0x747dff42",
            "calldata_variants": [
                "0x747dff42",
                "0x747dff420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7e8ac590",
            "selector": "0x7e8ac590",
            "calldata_variants": [
                "0x7e8ac590",
                "0x7e8ac5900000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2410,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3377,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5463,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": []
}
low access_control codex `onlyHuman` contract check is bypassable via constructor calls 65 no
view
evidence_json
{
    "evidence": "`onlyHuman` relies on `extcodesize(msg.sender)` being 0 to allow calls.",
    "locations": [
        "contracts/Contract.sol:196",
        "contracts/Contract.sol:198",
        "contracts/Contract.sol:201",
        "contracts/Contract.sol:398",
        "contracts/Contract.sol:411"
    ],
    "recommendation": "Do not rely on `extcodesize` to block contracts. If contract interaction must be restricted, use explicit allowlists or redesign the game rules to be contract-agnostic.",
    "exploit_scenario": "An attacker deploys a contract that calls `buyKeyByAddr` or the fallback during its constructor. During construction, `extcodesize(msg.sender)` is 0, so the `onlyHuman` check passes, allowing automated/contract interaction despite the intended restriction. This can be used by bots for faster buys or coordinated actions that the design tries to prevent."
}
low oracle codex Game timing and price logic depend on block.timestamp manipulation 65 no
view
evidence_json
{
    "evidence": "Round transitions, leader selection timing, and second-stage pricing are all driven by `now` comparisons and arithmetic.",
    "locations": [
        "contracts/Contract.sol:243",
        "contracts/Contract.sol:247",
        "contracts/Contract.sol:304",
        "contracts/Contract.sol:351",
        "contracts/Contract.sol:460",
        "contracts/Contract.sol:649",
        "contracts/Contract.sol:667"
    ],
    "recommendation": "Avoid using `block.timestamp` as a strict boundary for payout-critical logic. Consider using larger time buffers, block.number-based windows, or commit/reveal mechanisms for finalization-sensitive outcomes.",
    "exploit_scenario": "Miners can slightly skew `now` to extend or shorten rounds, influence when the infection/development stages end, and affect who becomes the final leader or the price paid in the second stage. This can be exploited near round boundaries to gain a payout advantage."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}