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

Analysis Run

358279af-80d9-45a4-92f6-34d52a3af971

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 6:47 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31736 report.consolidate complete 1 / 1 3 months ago
95839 artifact.fetch complete 1 / 3 1 week ago
95840 tool.cast_disasm complete 1 / 3 1 week ago
95841 analysis.bundle complete 1 / 3 1 week ago
95842 capability.graph complete 1 / 3 1 week ago
95843 detector.run complete 1 / 3 1 week ago
95844 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed runtime bytecode in BYTECODE_BUNDLE.txt; only three external CALLs found (ETH transfer, ERC20 mint, ERC20 transfer) and no DELEGATECALL/SELFDESTRUCT. The value-transferring calls are gated by owner checks or strict payment/round logic, and no unprotected value-transfer or upgrade path was visible. No concrete profit-extraction path identified from bytecode alone.
View stderr
[codex:602868] OpenAI Codex v0.77.0 (research preview)
[codex:602868] --------
[codex:602868] workdir: /tmp/codex-multi-cfuedr3_
[codex:602868] model: gpt-5.2-codex
[codex:602868] provider: openai
[codex:602868] approval: never
[codex:602868] sandbox: read-only
[codex:602868] reasoning effort: xhigh
[codex:602868] reasoning summaries: auto
[codex:602868] session id: 019b8f75-5e72-7f13-a62e-1a8c10f84702
[codex:602868] --------
[codex:602868] user
[codex:602868] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:602868] 
[codex:602868] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:602868] 
[codex:602868] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:602868] - Gas inefficiency, code quality, or best practices
[codex:602868] - Theoretical vulnerabilities without a clear extraction path
[codex:602868] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:602868] - Issues requiring social engineering or off-chain coordination
[codex:602868] 
[codex:602868] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:602868] - CALL/DELEGATECALL with controllable destination or calldata
[codex:602868] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:602868] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:602868] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:602868] - External calls before state updates (reentrancy)
[codex:602868] - SELFDESTRUCT with controllable beneficiary
[codex:602868] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:602868] 
[codex:602868] For each finding, you MUST explain:
[codex:602868] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:602868] 2. The concrete sequence of transactions to extract value
[codex:602868] 3. Why you believe this is exploitable (not just suspicious)
[codex:602868] 
[codex:602868] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:602868] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:602868] 
[codex:602868] Output MUST be valid JSON matching the provided schema.
[codex:602868] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:602868] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:602868] mcp startup: no servers
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Reading BYTECODE_BUNDLE.txt**
[codex:602868] exec
[codex:602868] /bin/bash -lc ls in /tmp/codex-multi-cfuedr3_ succeeded in 6ms:
[codex:602868] BYTECODE_BUNDLE.txt
[codex:602868] codex-output-schema.json
[codex:602868] exec
[codex:602868] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-cfuedr3_ succeeded in 6ms:
[codex:602868] Runtime bytecode bundle for best-effort auditing.
[codex:602868] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:602868] 
[codex:602868] FILE: runtime_bytecode.hex
[codex:602868] 0x6080604052600436106102305760003560e01c80638da5cb5b1161012e578063cb99728a116100ab578063dd7c5e541161006f578063dd7c5e5414610664578063ecc7ccbd14610679578063f2fde38b146106a2578063f5ac6319146106c2578063f640d508146106d757610230565b8063cb99728a146105cb578063cd7f6315146105eb578063cfed197014610600578063d0e50f0314610624578063d6c772691461064457610230565b8063acbef968116100f2578063acbef96814610534578063b45aae5214610554578063b640be8d14610574578063bfea2b3714610589578063c2b6b58c146105a957610230565b80638da5cb5b1461049057806391b7f5ed146104b257806392b3285c146104d257806396cdd995146104f2578063a0b9c7eb1461050757610230565b8063370158ea116101bc5780635d02e94b116101805780635d02e94b146103f5578063715018a61461041557806381452c071461042a57806383cbc5d41461044e578063845c93061461047d57610230565b8063370158ea14610352578063389705b9146103805780633f0bdec41461039557806347786d37146103b557806349c256e7146103d557610230565b80631b0472a9116102035780631b0472a9146102c85780631ee3c796146102e8578063235b6ea1146103085780632c19b7f31461031d5780632e1839f91461033257610230565b806304288dba14610235578063052d7c0014610257578063060cf4e8146102825780631692872e14610297575b600080fd5b34801561024157600080fd5b50610255610250366004612683565b6106f7565b005b34801561026357600080fd5b5061026c610748565b6040516102799190612fd1565b60405180910390f35b34801561028e57600080fd5b5061026c61079c565b3480156102a357600080fd5b506102b76102b2366004612549565b6107a2565b604051610279959493929190613060565b3480156102d457600080fd5b506102556102e33660046127a1565b610901565b3480156102f457600080fd5b5061026c610303366004612919565b610991565b34801561031457600080fd5b5061026c610af6565b34801561032957600080fd5b5061026c610afc565b34801561033e57600080fd5b5061025561034d366004612875565b610b02565b34801561035e57600080fd5b50610367610b8b565b6040516102799d9c9b9a99989796959493929190612ae7565b34801561038c57600080fd5b5061026c610cdf565b3480156103a157600080fd5b506102556103b0366004612771565b610ce5565b3480156103c157600080fd5b506102556103d0366004612771565b610d1f565b3480156103e157600080fd5b506102556103f03660046125a6565b610d59565b34801561040157600080fd5b50610255610410366004612549565b610e5d565b34801561042157600080fd5b50610255610eba565b34801561043657600080fd5b5061043f610f39565b60405161027993929190612b7b565b34801561045a57600080fd5b5061046e610469366004612771565b611152565b60405161027993929190612bd2565b61025561048b366004612771565b611212565b34801561049c57600080fd5b506104a561142c565b6040516102799190612aba565b3480156104be57600080fd5b506102556104cd366004612771565b61143b565b3480156104de57600080fd5b506102556104ed3660046125e5565b611475565b3480156104fe57600080fd5b506104a5611681565b34801561051357600080fd5b50610527610522366004612771565b611695565b6040516102799190612bbf565b34801561054057600080fd5b5061025561054f366004612946565b611742565b34801561056057600080fd5b5061026c61056f366004612549565b611785565b34801561058057600080fd5b5061026c6117f5565b34801561059557600080fd5b506102556105a43660046127d0565b611860565b3480156105b557600080fd5b506105be61193c565b6040516102799190612bb4565b3480156105d757600080fd5b506102556105e636600461282c565b611979565b3480156105f757600080fd5b5061026c6119fe565b34801561060c57600080fd5b50610615611a04565b60405161027993929190612fda565b34801561063057600080fd5b5061026c61063f366004612549565b611cfa565b34801561065057600080fd5b5061025561065f3660046128b1565b611d53565b34801561067057600080fd5b506105be611e05565b34801561068557600080fd5b5061068e611e0e565b604051610279989796959493929190613005565b3480156106ae57600080fd5b506102556106bd366004612549565b611f60565b3480156106ce57600080fd5b5061026c612016565b3480156106e357600080fd5b506102556106f2366004612565565b61201c565b6106ff61216f565b6000546001600160a01b039081169116146107355760405162461bcd60e51b815260040161072c90612e6c565b60405180910390fd5b6007805460ff1916911515919091179055565b600154600090815b6008548110156107955761078b6008828154811061076a57fe5b9060005260206000209060050201600101548361217390919063ffffffff16565b9150600101610750565b5090505b90565b60065481565b60408051602081019091526000808252908190600490826107c286611785565b94506107cc61193c565b6108f8576001544281111561080757600093506040516020016107ee90612a2a565b60405160208183030381529060405292508091506108f6565b6000805b6008548110156108f357610820816001612173565b96506008818154811061082f57fe5b9060005260206000209060050201915061085682600101548461217390919063ffffffff16565b9250824210156108eb576000600283015460ff16600181111561087557fe5b14156108a3576001955060405160200161088e90612a86565b60405160208183030381529060405294508293505b6001600283015460ff1660018111156108b857fe5b14156108e657600395506040516020016108d190612a5d565b60405160208183030381529060405294508293505b6108f3565b60010161080b565b50505b505b91939590929450565b61090961216f565b6000546001600160a01b039081169116146109365760405162461bcd60e51b815260040161072c90612e6c565b814710156109565760405162461bcd60e51b815260040161072c90612c9d565b6040516001600160a01b0382169083156108fc029084906000818181858888f1935050505015801561098c573d6000803e3d6000fd5b505050565b600083158061099e575082155b156109ab57506000610aef565b60006109b88560016121a1565b905060006109c78560016121a1565b60085490915082106109eb5760405162461bcd60e51b815260040161072c90612d5d565b6009548110610a0c5760405162461bcd60e51b815260040161072c90612c31565b60098181548110610a1957fe5b600091825260208083206001600160a01b03881684526001600290930201919091019052604090205460ff1615610ae857600060088381548110610a5957fe5b90600052602060002090600502016004016000866001600160a01b03166001600160a01b03168152602001908152602001600020549050600060088481548110610a9f57fe5b90600052602060002090600502016003018381548110610abb57fe5b9060005260206000200154905080821015610ae557610ada81836121a1565b945050505050610aef565b50505b6000925050505b9392505050565b60025481565b60045481565b610b0a61216f565b6000546001600160a01b03908116911614610b375760405162461bcd60e51b815260040161072c90612e6c565b6009548310610b585760405162461bcd60e51b815260040161072c90612c05565b600060098481548110610b6757fe5b600091825260209091206002909102019050610b84818484612249565b5050505050565b60408051808201909152600381526208aa8960eb1b602082015260009060128280808060608180808080610bbd6117f5565b9750610bc7610748565b9650604051806040016040528060018152602001604360f81b8152509550610bed61193c565b610c9c57600154421015610c1c57604051806040016040528060018152602001600560fc1b8152509550610c9c565b8688148015610c2a57508642105b80610c3e57508688108015610c3e57508742105b15610c6057604051806040016040528060018152602001604f60f81b81525095505b8688108015610c6f5750874210155b8015610c7a57508642105b15610c9c57604051806040016040528060018152602001602360f91b81525095505b5050600254600154600354600654600454600554600754959d50939b5091965094509250906001600160a01b0361010090910416909192939495969798999a9b9c565b60035481565b610ced61216f565b6000546001600160a01b03908116911614610d1a5760405162461bcd60e51b815260040161072c90612e6c565b600155565b610d2761216f565b6000546001600160a01b03908116911614610d545760405162461bcd60e51b815260040161072c90612e6c565b600655565b610d6161216f565b6000546001600160a01b03908116911614610d8e5760405162461bcd60e51b815260040161072c90612e6c565b80610dab5760405162461bcd60e51b815260040161072c90612f4d565b610db7600960006122c7565b60005b8181101561098c5760096040518060200160405280858585818110610ddb57fe5b9050602002810190610ded9190613097565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018101855593815260209081902083518051949560020290910193610e529350849291909101906122eb565b505050600101610dba565b610e6561216f565b6000546001600160a01b03908116911614610e925760405162461bcd60e51b815260040161072c90612e6c565b600780546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b610ec261216f565b6000546001600160a01b03908116911614610eef5760405162461bcd60e51b815260040161072c90612e6c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60608060608060608060006008805490501115611146576008546001600160401b0381118015610f6857600080fd5b50604051908082528060200260200182016040528015610f9c57816020015b6060815260200190600190039081610f875790505b506008549093506001600160401b0381118015610fb857600080fd5b50604051908082528060200260200182016040528015610fe2578160200160208202803683370190505b506008549092506001600160401b0381118015610ffe57600080fd5b50604051908082528060200260200182016040528015611028578160200160208202803683370190505b5060015490915060005b600854811015611143576008818154811061104957fe5b6000918252602091829020600590910201805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156110dc5780601f106110b1576101008083540402835291602001916110dc565b820191906000526020600020905b8154815290600101906020018083116110bf57829003601f168201915b50505050508582815181106110ed57fe5b60200260200101819052508184828151811061110557fe5b6020026020010181815250506111216008828154811061076a57fe5b91508183828151811061113057fe5b6020908102919091010152600101611032565b50505b91945092509050909192565b6008818154811061115f57fe5b60009182526020918290206005919091020180546040805160026001841615610100026000190190931692909204601f8101859004850283018501909152808252919350918391908301828280156111f85780601f106111cd576101008083540402835291602001916111f8565b820191906000526020600020905b8154815290600101906020018083116111db57829003601f168201915b50505050600183015460029093015491929160ff16905083565b600081116112325760405162461bcd60e51b815260040161072c90612d28565b6000806000611240336107a2565b505092509250925080600114806112575750806003145b6112735760405162461bcd60e51b815260040161072c90612f16565b61127e828433610991565b84111561129d5760405162461bcd60e51b815260040161072c90612db1565b6006546004546112ad9086612173565b11156112cb5760405162461bcd60e51b815260040161072c90612ea1565b60006112e2600254866121e390919063ffffffff16565b90508034146113035760405162461bcd60e51b815260040161072c90612ecd565b61130c33611cfa565b6113225760035461131e906001612173565b6003555b60045461132f9086612173565b60045560055461133f9082612173565b6005556113838560086113538660016121a1565b8154811061135d57fe5b600091825260208083203384526004600590930201919091019052604090205490612173565b60086113908560016121a1565b8154811061139a57fe5b600091825260208083203380855260046005909402909101830190915260408084209490945560075493516340c10f1960e01b81526101009094046001600160a01b0316936340c10f1993926113f392918b9101612ace565b6000604051808303818588803b15801561140c57600080fd5b505af1158015611420573d6000803e3d6000fd5b50505050505050505050565b6000546001600160a01b031690565b61144361216f565b6000546001600160a01b039081169116146114705760405162461bcd60e51b815260040161072c90612e6c565b600255565b61147d61216f565b6000546001600160a01b039081169116146114aa5760405162461bcd60e51b815260040161072c90612e6c565b856114c75760405162461bcd60e51b815260040161072c90612df4565b8584146114e65760405162461bcd60e51b815260040161072c90612df4565b6114f260086000612359565b60005b8681101561167757600860405180608001604052808a8a8581811061151657fe5b90506020028101906115289190613097565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200188888581811061156e57fe5b90506020020135815260200186868581811061158657fe5b905060200201602081019061159b91906126bb565b60018111156115a657fe5b8152602001846001600160401b03811180156115c157600080fd5b506040519080825280602002602001820160405280156115eb578160200160208202803683370190505b5090528154600181018355600092835260209283902082518051939460059093029091019261161d92849201906122eb565b506020820151816001015560408201518160020160006101000a81548160ff0219169083600181111561164c57fe5b02179055506060820151805161166c91600384019160209091019061237a565b5050506001016114f5565b5050505050505050565b60075461010090046001600160a01b031681565b600981815481106116a257fe5b60009182526020918290206002918202018054604080516001831615610100026000190190921693909304601f8101859004850282018501909352828152909350918391908301828280156117385780601f1061170d57610100808354040283529160200191611738565b820191906000526020600020905b81548152906001019060200180831161171b57829003601f168201915b5050505050905081565b61174a61216f565b6000546001600160a01b039081169116146117775760405162461bcd60e51b815260040161072c90612e6c565b600392909255600455600555565b6009546000905b80156117ea57600961179f8260016121a1565b815481106117a957fe5b600091825260208083206001600160a01b03871684526001600290930201919091019052604090205460ff16156117e15790506117f0565b6000190161178c565b50600090505b919050565b600154600090815b6008548110156107955760016008828154811061181657fe5b600091825260209091206002600590920201015460ff16600181111561183857fe5b141561184657509050610799565b6118566008828154811061076a57fe5b91506001016117fd565b61186861216f565b6000546001600160a01b039081169116146118955760405162461bcd60e51b815260040161072c90612e6c565b60095484106118b65760405162461bcd60e51b815260040161072c90612c05565b6000600985815481106118c557fe5b9060005260206000209060020201905060005b838110156119345760008585838181106118ee57fe5b90506020020160208101906119039190612549565b6001600160a01b0316600090815260018085016020526040909120805460ff191686151790559190910190506118d8565b505050505050565b60075460009060ff16806119575750611953610748565b4210155b80611966575060065460045410155b1561197357506001610799565b50600090565b61198161216f565b6000546001600160a01b039081169116146119ae5760405162461bcd60e51b815260040161072c90612e6c565b60085483106119cf5760405162461bcd60e51b815260040161072c90612d84565b6000600884815481106119de57fe5b600091825260209091206005909102019050610b846003820184846123b4565b60015481565b6007546040516370a0823160e01b8152600091606091829161010090046001600160a01b031690849082906370a0823190611a43903390600401612aba565b60206040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a939190612789565b90508015611c8057806001600160401b0381118015611ab157600080fd5b50604051908082528060200260200182016040528015611adb578160200160208202803683370190505b509350806001600160401b0381118015611af457600080fd5b50604051908082528060200260200182016040528015611b2857816020015b6060815260200190600190039081611b135790505b50925060005b81811015611c7e57604051632f745c5960e01b81526001600160a01b03841690632f745c5990611b649033908590600401612ace565b60206040518083038186803b158015611b7c57600080fd5b505afa158015611b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb49190612789565b858281518110611bc057fe5b602002602001018181525050826001600160a01b031663c87b56dd868381518110611be757fe5b60200260200101516040518263ffffffff1660e01b8152600401611c0b9190612fd1565b60006040518083038186803b158015611c2357600080fd5b505afa158015611c37573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c5f91908101906126d7565b848281518110611c6b57fe5b6020908102919091010152600101611b2e565b505b816001600160a01b03166365cf7c9b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611cb957600080fd5b505afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190612789565b94505050909192565b600080805b600854811015611d4c5760088181548110611d1657fe5b600091825260208083206001600160a01b0388168452600460059093020191909101905260409020549190910190600101611cff565b5092915050565b611d5b61216f565b6000546001600160a01b03908116911614611d885760405162461bcd60e51b815260040161072c90612e6c565b6008548510611da95760405162461bcd60e51b815260040161072c90612d84565b600060088681548110611db857fe5b600091825260209091206005909102019050611dd5818686612249565b506001808201849055600282018054849260ff19909116908381811115611df857fe5b0217905550505050505050565b60075460ff1681565b60008060606000606060008060008060008060606000611e2d336107a2565b94509450945094509450606085600014611ef5576009611e4e8760016121a1565b81548110611e5857fe5b60009182526020918290206002918202018054604080516001831615610100026000190190921693909304601f810185900485028201850190935282815292909190830182828015611eeb5780601f10611ec057610100808354040283529160200191611eeb565b820191906000526020600020905b815481529060010190602001808311611ece57829003601f168201915b5050505050611f10565b604051806040016040528060018152602001602d60f81b8152505b9050336001600160a01b031631336001600160a01b03163182868686611f378b8d33610991565b611f4033611cfa565b9d509d509d509d509d509d509d509d505050505050509091929394959697565b611f6861216f565b6000546001600160a01b03908116911614611f955760405162461bcd60e51b815260040161072c90612e6c565b6001600160a01b038116611fbb5760405162461bcd60e51b815260040161072c90612c57565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60055481565b61202461216f565b6000546001600160a01b039081169116146120515760405162461bcd60e51b815260040161072c90612e6c565b6040516370a0823160e01b8152839083906001600160a01b038316906370a0823190612081903090600401612aba565b60206040518083038186803b15801561209957600080fd5b505afa1580156120ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d19190612789565b10156120ef5760405162461bcd60e51b815260040161072c90612f84565b60405163a9059cbb60e01b81526001600160a01b0382169063a9059cbb9061211d9085908790600401612ace565b602060405180830381600087803b15801561213757600080fd5b505af115801561214b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b84919061269f565b3390565b6000828201838110156121985760405162461bcd60e51b815260040161072c90612cf1565b90505b92915050565b600061219883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061221d565b6000826121f25750600061219b565b828202828482816121ff57fe5b04146121985760405162461bcd60e51b815260040161072c90612e2b565b600081848411156122415760405162461bcd60e51b815260040161072c9190612bbf565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061228a5782800160ff198235161785556122b7565b828001600101855582156122b7579182015b828111156122b757823582559160200191906001019061229c565b506122c39291506123ee565b5090565b50805460008255600202906000526020600020908101906122e89190612403565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061232c57805160ff19168380011785556122b7565b828001600101855582156122b7579182015b828111156122b757825182559160200191906001019061233e565b50805460008255600502906000526020600020908101906122e89190612420565b8280548282559060005260206000209081019282156122b757916020028201828111156122b757825182559160200191906001019061233e565b8280548282559060005260206000209081019282156122b757916020028201828111156122b757823582559160200191906001019061229c565b5b808211156122c357600081556001016123ef565b808211156122c35760006124178282612460565b50600201612403565b808211156122c35760006124348282612460565b60006001830181905560028301805460ff191690556124579060038401906124a4565b50600501612420565b50805460018160011615610100020316600290046000825580601f1061248657506122e8565b601f0160209004906000526020600020908101906122e891906123ee565b50805460008255906000526020600020908101906122e891906123ee565b60008083601f8401126124d3578182fd5b5081356001600160401b038111156124e9578182fd5b602083019150836020808302850101111561250357600080fd5b9250929050565b60008083601f84011261251b578182fd5b5081356001600160401b03811115612531578182fd5b60208301915083602082850101111561250357600080fd5b60006020828403121561255a578081fd5b81356121988161310b565b600080600060608486031215612579578182fd5b83356125848161310b565b925060208401359150604084013561259b8161310b565b809150509250925092565b600080602083850312156125b8578182fd5b82356001600160401b038111156125cd578283fd5b6125d9858286016124c2565b90969095509350505050565b60008060008060008060006080888a0312156125ff578283fd5b87356001600160401b0380821115612615578485fd5b6126218b838c016124c2565b909950975060208a0135915080821115612639578485fd5b6126458b838c016124c2565b909750955060408a013591508082111561265d578485fd5b5061266a8a828b016124c2565b989b979a50959894979596606090950135949350505050565b600060208284031215612694578081fd5b813561219881613120565b6000602082840312156126b0578081fd5b815161219881613120565b6000602082840312156126cc578081fd5b81356121988161312e565b6000602082840312156126e8578081fd5b81516001600160401b03808211156126fe578283fd5b818401915084601f830112612711578283fd5b81518181111561271f578384fd5b604051601f8201601f19168101602001838111828210171561273f578586fd5b604052818152838201602001871015612756578485fd5b6127678260208301602087016130db565b9695505050505050565b600060208284031215612782578081fd5b5035919050565b60006020828403121561279a578081fd5b5051919050565b600080604083850312156127b3578182fd5b8235915060208301356127c58161310b565b809150509250929050565b600080600080606085870312156127e5578384fd5b8435935060208501356001600160401b03811115612801578384fd5b61280d878288016124c2565b909450925050604085013561282181613120565b939692955090935050565b600080600060408486031215612840578081fd5b8335925060208401356001600160401b0381111561285c578182fd5b612868868287016124c2565b9497909650939450505050565b600080600060408486031215612889578081fd5b8335925060208401356001600160401b038111156128a5578182fd5b6128688682870161250a565b6000806000806000608086880312156128c8578283fd5b8535945060208601356001600160401b038111156128e4578384fd5b6128f08882890161250a565b90955093505060408601359150606086013561290b8161312e565b809150509295509295909350565b60008060006060848603121561292d578081fd5b8335925060208401359150604084013561259b8161310b565b60008060006060848603121561295a578081fd5b505081359360208301359350604090920135919050565b6000815180845260208085018081965082840281019150828601855b858110156129b75782840389526129a58483516129fe565b9885019893509084019060010161298d565b5091979650505050505050565b6000815180845260208085019450808401835b838110156129f3578151875295820195908201906001016129d7565b509495945050505050565b60008151808452612a168160208601602086016130db565b601f01601f19169290920160200192915050565b7f416c6c6f636174696f6e20526f756e64203c753e6f70656e733c2f753e20696e8152601d60f91b602082015260210190565b7f4643465320526f756e64203c753e636c6f7365733c2f753e20696e3a000000008152601c0190565b7f416c6c6f636174696f6e20526f756e64203c753e636c6f7365733c2f753e2069815261371d60f11b602082015260220190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b038e1681526101a060208201819052600090612b0c9083018f6129fe565b8d60408401528c60608401528b60808401528a60a08401528960c084015282810360e0840152612b3c818a6129fe565b61010084019890985250506101208101949094526101408401929092526101608301526001600160a01b03166101809091015298975050505050505050565b600060608252612b8e6060830186612971565b8281036020840152612ba081866129c4565b9050828103604084015261276781856129c4565b901515815260200190565b60006020825261219860208301846129fe565b600060608252612be560608301866129fe565b905083602083015260028310612bf757fe5b826040830152949350505050565b602080825260129082015271092dcecc2d8d2c840e8d2cae440d2dcc8caf60731b604082015260600190565b6020808252600c908201526b24b73b30b634b2103a34b2b960a11b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526034908201527f496e737566666963656e74206e617469766520746f6b656e2062616c616e6365604082015273103a37903a3930b739b332b91030b6b7bab73a1760611b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252818101527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604082015260600190565b6020808252600d908201526c125b9d985b1a59081c9bdd5b99609a1b604082015260600190565b602080825260139082015272092dcecc2d8d2c840e4deeadcc840d2dcc8caf606b1b604082015260600190565b60208082526023908201527f416d6f756e7420657863656564732072656d61696e696e6720616c6c6f63617460408201526234b7b760e91b606082015260800190565b60208082526018908201527f496e76616c696420726f756e6473207370656369666965640000000000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601290820152710416d6f756e742065786365656473206361760741b604082015260600190565b60208082526029908201527f496e737566666963656e74206e617469766520746f6b656e2073656e7420746f6040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b6020808252601c908201527f50617274696369706174696f6e206e6f742076616c69642f6f70656e00000000604082015260600190565b60208082526017908201527f496e76616c696420746965727320737065636966696564000000000000000000604082015260600190565b6020808252602d908201527f496e737566666963656e7420746f6b656e2062616c616e636520746f2074726160408201526c3739b332b91030b6b7bab73a1760991b606082015260800190565b90815260200190565b600084825260606020830152612ff360608301856129c4565b82810360408401526127678185612971565b60006101008a83528960208401528060408401526130258184018a6129fe565b9050876060840152828103608084015261303f81886129fe565b60a0840196909652505060c081019290925260e09091015295945050505050565b600086825285602083015284604083015260a0606083015261308560a08301856129fe565b90508260808301529695505050505050565b6000808335601e198436030181126130ad578283fd5b8301803591506001600160401b038211156130c6578283fd5b60200191503681900382131561250357600080fd5b60005b838110156130f65781810151838201526020016130de565b83811115613105576000848401525b50505050565b6001600160a01b03811681146122e857600080fd5b80151581146122e857600080fd5b600281106122e857600080fdfea2646970667358221220ca3a74557c979baf917473dc22321c4d9527653be91e030acad3ab7b6205f0b364736f6c634300060c0033
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing bytecode for exploits**
[codex:602868] 
[codex:602868] I'm carefully dissecting the contract's bytecode to identify any exploitable vulnerabilities, focusing on owner checks, token or ETH transfers, and special opcodes like SELFDESTRUCT. I’m mapping function selectors to names, interpreting internal calls like `_msgSender()`, and considering writing a lightweight disassembler in Python to detect risky CALL instructions while ensuring any findings are concrete before reporting.
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] # first line after 0x... read until newline? Actually file contains hex on one line
[codex:602868] hexdata = hexdata.strip()
[codex:602868] # remove any non-hex chars
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] print('len bytes', len(hexdata)//2)
[codex:602868] # opcode map
[codex:602868] opnames = {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',
[codex:602868]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }
[codex:602868] # disassemble and collect indices of CALL/DELEGATECALL/SELFDESTRUCT
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] ops = []
[codex:602868] i=0
[codex:602868] while i < len(bytecode):
[codex:602868]     op = bytecode[i]
[codex:602868]     name = opnames.get(op, 'INVALID')
[codex:602868]     ops.append((i,op,name))
[codex:602868]     i += 1
[codex:602868]     if 0x60 <= op <= 0x7f:
[codex:602868]         i += (op-0x5f)
[codex:602868] 
[codex:602868] # find CALL/DELEGATECALL/SELFDESTRUCT
[codex:602868] for i,op,name in ops:
[codex:602868]     if name in ('CALL','DELEGATECALL','SELFDESTRUCT'):
[codex:602868]         print(hex(i), name)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 42ms:
[codex:602868] len bytes 12657
[codex:602868] 0x976 CALL
[codex:602868] 0x140f CALL
[codex:602868] 0x213a CALL
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing CALL instructions in bytecode**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',
[codex:602868]     0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }
[codex:602868] 
[codex:602868] # simple disassembler
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i = start
[codex:602868]     out = []
[codex:602868]     while i < end and i < len(bytecode):
[codex:602868]         op = bytecode[i]
[codex:602868]         name = opnames.get(op, 'INVALID')
[codex:602868]         i0 = i
[codex:602868]         i += 1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n = op - 0x5f
[codex:602868]             data = bytecode[i:i+n]
[codex:602868]             out.append((i0, name, data.hex()))
[codex:602868]             i += n
[codex:602868]         else:
[codex:602868]             out.append((i0, name, None))
[codex:602868]     return out
[codex:602868] 
[codex:602868] call_offsets = [0x976,0x140f,0x213a]
[codex:602868] for off in call_offsets:
[codex:602868]     print('--- CALL at', hex(off),'---')
[codex:602868]     start = max(0, off-60)
[codex:602868]     end = off+40
[codex:602868]     for addr, name, data in disasm(start, end):
[codex:602868]         if addr==off: marker='>>'
[codex:602868]         else: marker='  '
[codex:602868]         if data is not None:
[codex:602868]             print(f\"{marker}{addr:04x}: {name} {data}\")
[codex:602868]         else:
[codex:602868]             print(f\"{marker}{addr:04x}: {name}\")
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 47ms:
[codex:602868] --- CALL at 0x976 ---
[codex:602868]   093a: ISZERO
[codex:602868]   093b: PUSH2 0956
[codex:602868]   093e: JUMPI
[codex:602868]   093f: PUSH1 40
[codex:602868]   0941: MLOAD
[codex:602868]   0942: PUSH3 461bcd
[codex:602868]   0946: PUSH1 e5
[codex:602868]   0948: SHL
[codex:602868]   0949: DUP2
[codex:602868]   094a: MSTORE
[codex:602868]   094b: PUSH1 04
[codex:602868]   094d: ADD
[codex:602868]   094e: PUSH2 072c
[codex:602868]   0951: SWAP1
[codex:602868]   0952: PUSH2 2c9d
[codex:602868]   0955: JUMP
[codex:602868]   0956: JUMPDEST
[codex:602868]   0957: PUSH1 40
[codex:602868]   0959: MLOAD
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing CALL instructions and function mapping**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] # find jumpdest near 0x901
[codex:602868] jds = [i for i,b in enumerate(bytecode) if b==0x5b]
[codex:602868] for i in jds:
[codex:602868]     if 0x8e0 <= i <= 0x920:
[codex:602868]         print(hex(i))
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 31ms:
[codex:602868] 0x8e6
[codex:602868] 0x8eb
[codex:602868] 0x8f3
[codex:602868] 0x8f6
[codex:602868] 0x8f8
[codex:602868] 0x901
[codex:602868] 0x909
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing function dispatch and internal calls**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i = start
[codex:602868]     while i < end and i < len(bytecode):
[codex:602868]         op = bytecode[i]
[codex:602868]         name = opnames.get(op, 'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] print('disasm around 0x901:')
[codex:602868] disasm(0x901, 0x9c0)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 31ms:
[codex:602868] disasm around 0x901:
[codex:602868] 0901: JUMPDEST
[codex:602868] 0902: PUSH2 0909
[codex:602868] 0905: PUSH2 216f
[codex:602868] 0908: JUMP
[codex:602868] 0909: JUMPDEST
[codex:602868] 090a: PUSH1 00
[codex:602868] 090c: SLOAD
[codex:602868] 090d: PUSH1 01
[codex:602868] 090f: PUSH1 01
[codex:602868] 0911: PUSH1 a0
[codex:602868] 0913: SHL
[codex:602868] 0914: SUB
[codex:602868] 0915: SWAP1
[codex:602868] 0916: DUP2
[codex:602868] 0917: AND
[codex:602868] 0918: SWAP2
[codex:602868] 0919: AND
[codex:602868] 091a: EQ
[codex:602868] 091b: PUSH2 0936
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing withdrawal function mechanics**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i = start
[codex:602868]     while i < end and i < len(bytecode):
[codex:602868]         op = bytecode[i]
[codex:602868]         name = opnames.get(op, 'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] print('disasm around 0x12b0-0x1450:')
[codex:602868] disasm(0x12b0, 0x1450)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 37ms:
[codex:602868] disasm around 0x12b0-0x1450:
[codex:602868] 12b0: PUSH2 12cb
[codex:602868] 12b3: JUMPI
[codex:602868] 12b4: PUSH1 40
[codex:602868] 12b6: MLOAD
[codex:602868] 12b7: PUSH3 461bcd
[codex:602868] 12bb: PUSH1 e5
[codex:602868] 12bd: SHL
[codex:602868] 12be: DUP2
[codex:602868] 12bf: MSTORE
[codex:602868] 12c0: PUSH1 04
[codex:602868] 12c2: ADD
[codex:602868] 12c3: PUSH2 072c
[codex:602868] 12c6: SWAP1
[codex:602868] 12c7: PUSH2 2ea1
[codex:602868] 12ca: JUMP
[codex:602868] 12cb: JUMPDEST
[codex:602868] 12cc: PUSH1 00
[codex:602868] 12ce: PUSH2 12e2
[codex:602868] 12d1: PUSH1 02
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Tracing function caller and access controls**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] for i,b in enumerate(bytecode):
[codex:602868]     if b==0x5b and 0x1100 <= i <= 0x1300:
[codex:602868]         print(hex(i))
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 32ms:
[codex:602868] 0x1105
[codex:602868] 0x1121
[codex:602868] 0x1130
[codex:602868] 0x1143
[codex:602868] 0x1146
[codex:602868] 0x1152
[codex:602868] 0x115f
[codex:602868] 0x11cd
[codex:602868] 0x11db
[codex:602868] 0x11f8
[codex:602868] 0x1212
[codex:602868] 0x1232
[codex:602868] 0x1240
[codex:602868] 0x1257
[codex:602868] 0x1273
[codex:602868] 0x127e
[codex:602868] 0x129d
[codex:602868] 0x12ad
[codex:602868] 0x12cb
[codex:602868] 0x12e2
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing potential function entry points**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i = start
[codex:602868]     while i < end and i < len(bytecode):
[codex:602868]         op = bytecode[i]
[codex:602868]         name = opnames.get(op, 'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] print('disasm 0x11f0-0x12f0:')
[codex:602868] disasm(0x11f0, 0x12f0)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 47ms:
[codex:602868] disasm 0x11f0-0x12f0:
[codex:602868] 11f0: SWAP1
[codex:602868] 11f1: SUB
[codex:602868] 11f2: PUSH1 1f
[codex:602868] 11f4: AND
[codex:602868] 11f5: DUP3
[codex:602868] 11f6: ADD
[codex:602868] 11f7: SWAP2
[codex:602868] 11f8: JUMPDEST
[codex:602868] 11f9: POP
[codex:602868] 11fa: POP
[codex:602868] 11fb: POP
[codex:602868] 11fc: POP
[codex:602868] 11fd: PUSH1 01
[codex:602868] 11ff: DUP4
[codex:602868] 1200: ADD
[codex:602868] 1201: SLOAD
[codex:602868] 1202: PUSH1 02
[codex:602868] 1204: SWAP1
[codex:602868] 1205: SWAP4
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing function behavior and safety checks**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i = start
[codex:602868]     while i < end and i < len(bytecode):
[codex:602868]         op = bytecode[i]
[codex:602868]         name = opnames.get(op, 'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] print('disasm 0x1ff0-0x2180:')
[codex:602868] disasm(0x1ff0, 0x2180)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 29ms:
[codex:602868] disasm 0x1ff0-0x2180:
[codex:602868] 1ff0: PUSH5 57e091a360
[codex:602868] 1ff6: STOP
[codex:602868] 1ff7: DUP1
[codex:602868] 1ff8: SLOAD
[codex:602868] 1ff9: PUSH1 01
[codex:602868] 1ffb: PUSH1 01
[codex:602868] 1ffd: PUSH1 a0
[codex:602868] 1fff: SHL
[codex:602868] 2000: SUB
[codex:602868] 2001: NOT
[codex:602868] 2002: AND
[codex:602868] 2003: PUSH1 01
[codex:602868] 2005: PUSH1 01
[codex:602868] 2007: PUSH1 a0
[codex:602868] 2009: SHL
[codex:602868] 200a: SUB
[codex:602868] 200b: SWAP3
[codex:602868] 200c: SWAP1
[codex:602868] 200d: SWAP3
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing owner checks and storage writes**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] # find ORIGIN opcode 0x32 positions
[codex:602868] positions = [i for i,b in enumerate(bytecode) if b==0x32]
[codex:602868] print('ORIGIN count', len(positions))
[codex:602868] print('first few', [hex(p) for p in positions[:10]])
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 31ms:
[codex:602868] ORIGIN count 7
[codex:602868] first few ['0x1fd', '0x1141', '0x1219', '0x2cda', '0x2ebc', '0x2fba', '0x3153']
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Examining ORIGIN opcode occurrences**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i=start
[codex:602868]     while i<end and i < len(bytecode):
[codex:602868]         op=bytecode[i]
[codex:602868]         name=opnames.get(op,'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60 <= op <= 0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] for start in [0x1100,0x1130,0x1140,0x1150]:
[codex:602868]     print('\\n--',hex(start),'--')
[codex:602868]     disasm(start,start+0x30)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 33ms:
[codex:602868] 
[codex:602868] -- 0x1100 --
[codex:602868] 1100: PUSH2 1105
[codex:602868] 1103: JUMPI
[codex:602868] 1104: INVALID
[codex:602868] 1105: JUMPDEST
[codex:602868] 1106: PUSH1 20
[codex:602868] 1108: MUL
[codex:602868] 1109: PUSH1 20
[codex:602868] 110b: ADD
[codex:602868] 110c: ADD
[codex:602868] 110d: DUP2
[codex:602868] 110e: DUP2
[codex:602868] 110f: MSTORE
[codex:602868] 1110: POP
[codex:602868] 1111: POP
[codex:602868] 1112: PUSH2 1121
[codex:602868] 1115: PUSH1 08
[codex:602868] 1117: DUP3
[codex:602868] 1118: DUP2
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing contract functions and reentrancy risks**
[codex:602868] 
[codex:602868] I'm examining function layouts to spot owner-only controls, token minting, and possible reentrancy vectors, especially verifying if state updates happen before external calls to ensure safe execution flow. I’m also considering if token contract callbacks might bypass protections, and scanning for signature verification patterns that could have nonce-related flaws.
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] staticcalls = [i for i,b in enumerate(bytecode) if b==0xfa]
[codex:602868] print('STATICCALLs', len(staticcalls))
[codex:602868] print([hex(i) for i in staticcalls[:20]])
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 28ms:
[codex:602868] STATICCALLs 8
[codex:602868] ['0x642', '0x130a', '0x1a5e', '0x1b7f', '0x1c26', '0x1cbc', '0x1f3e', '0x209c']
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing potential token sale vulnerabilities**
[codex:602868] 
[codex:602868] I'm examining bytecode and error strings that suggest a token sale contract with rounds and tiers. The key is whether token claims or refunds could be exploited by missing state updates, but only one ERC20 transfer call exists—likely owner-only withdrawals. Minting appears direct to participants, so I’m focusing on whether integer division or rounding in price calculations could let attackers pay zero or less than intended. I'll explore the function near 0x21e3 to understand the pricing logic better.
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start, end):
[codex:602868]     i=start
[codex:602868]     while i<end and i<len(bytecode):
[codex:602868]         op=bytecode[i]
[codex:602868]         name=opnames.get(op,'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60<=op<=0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] # find jumpdest near 0x21e3
[codex:602868] for i,b in enumerate(bytecode):
[codex:602868]     if b==0x5b and 0x21d0<=i<=0x2220:
[codex:602868]         print('JUMPDEST',hex(i))
[codex:602868] print('disasm around 0x21d0:')
[codex:602868] disasm(0x21d0,0x2230)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 31ms:
[codex:602868] JUMPDEST 0x21e3
[codex:602868] JUMPDEST 0x21f2
[codex:602868] JUMPDEST 0x21ff
[codex:602868] JUMPDEST 0x221d
[codex:602868] disasm around 0x21d0:
[codex:602868] 21d0: PUSH15 206f766572666c6f77000081525061
[codex:602868] 21e0: INVALID
[codex:602868] 21e1: SAR
[codex:602868] 21e2: JUMP
[codex:602868] 21e3: JUMPDEST
[codex:602868] 21e4: PUSH1 00
[codex:602868] 21e6: DUP3
[codex:602868] 21e7: PUSH2 21f2
[codex:602868] 21ea: JUMPI
[codex:602868] 21eb: POP
[codex:602868] 21ec: PUSH1 00
[codex:602868] 21ee: PUSH2 219b
[codex:602868] 21f1: JUMP
[codex:602868] 21f2: JUMPDEST
[codex:602868] 21f3: DUP3
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing SafeMath and storage writes for vulnerabilities**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] # disassemble into list of (addr, op, name, pushdata)
[codex:602868] ops=[]
[codex:602868] i=0
[codex:602868] while i < len(bytecode):
[codex:602868]     op=bytecode[i]
[codex:602868]     name=opnames.get(op,'INVALID')
[codex:602868]     addr=i
[codex:602868]     i+=1
[codex:602868]     data=None
[codex:602868]     if 0x60<=op<=0x7f:
[codex:602868]         n=op-0x5f
[codex:602868]         data=bytecode[i:i+n]
[codex:602868]         i+=n
[codex:602868]     ops.append((addr,op,name,data))
[codex:602868] 
[codex:602868] # map addr to index for quick lookup
[codex:602868] addr_to_idx = {addr:idx for idx,(addr,_,_,_) in enumerate(ops)}
[codex:602868] 
[codex:602868] sstore_info=[]
[codex:602868] for idx,(addr,op,name,data) in enumerate(ops):
[codex:602868]     if name=='SSTORE':
[codex:602868]         # capture previous 6 ops
[codex:602868]         prev = ops[max(0, idx-6):idx]
[codex:602868]         sstore_info.append((addr, prev))
[codex:602868] 
[codex:602868] # print summary of SSTORE with immediate PUSH const if present
[codex:602868] for addr, prev in sstore_info:
[codex:602868]     prev_str = []
[codex:602868]     for a,o,n,d in prev:
[codex:602868]         if d is not None:
[codex:602868]             prev_str.append(f\"{a:04x}:{n} {d.hex()}\")
[codex:602868]         else:
[codex:602868]             prev_str.append(f\"{a:04x}:{n}\")
[codex:602868]     print(f\"SSTORE at {addr:04x} prev: {' | '.join(prev_str)}\")
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 38ms:
[codex:602868] SSTORE at 0746 prev: 0740:ISZERO | 0741:SWAP2 | 0742:SWAP1 | 0743:SWAP2 | 0744:OR | 0745:SWAP1
[codex:602868] SSTORE at 0d1d prev: 0d12:PUSH2 072c | 0d15:SWAP1 | 0d16:PUSH2 2e6c | 0d19:JUMP | 0d1a:JUMPDEST | 0d1b:PUSH1 01
[codex:602868] SSTORE at 0d57 prev: 0d4c:PUSH2 072c | 0d4f:SWAP1 | 0d50:PUSH2 2e6c | 0d53:JUMP | 0d54:JUMPDEST | 0d55:PUSH1 06
[codex:602868] SSTORE at 0e2b prev: 0e24:DUP4 | 0e25:SLOAD | 0e26:PUSH1 01 | 0e28:DUP2 | 0e29:ADD | 0e2a:DUP6
[codex:602868] SSTORE at 0eb8 prev: 0eb2:AND | 0eb3:SWAP2 | 0eb4:SWAP1 | 0eb5:SWAP2 | 0eb6:OR | 0eb7:SWAP1
[codex:602868] SSTORE at 0f37 prev: 0f30:PUSH1 a0 | 0f32:SHL | 0f33:SUB | 0f34:NOT | 0f35:AND | 0f36:SWAP1
[codex:602868] SSTORE at 1321 prev: 1317:SWAP1 | 1318:PUSH1 01 | 131a:PUSH2 2173 | 131d:JUMP | 131e:JUMPDEST | 131f:PUSH1 03
[codex:602868] SSTORE at 1332 prev: 1329:SWAP1 | 132a:DUP7 | 132b:PUSH2 2173 | 132e:JUMP | 132f:JUMPDEST | 1330:PUSH1 04
[codex:602868] SSTORE at 1342 prev: 1339:SWAP1 | 133a:DUP3 | 133b:PUSH2 2173 | 133e:JUMP | 133f:JUMPDEST | 1340:PUSH1 05
[codex:602868] SSTORE at 13c0 prev: 13ba:DUP1 | 13bb:DUP5 | 13bc:SHA3 | 13bd:SWAP5 | 13be:SWAP1 | 13bf:SWAP5
[codex:602868] SSTORE at 1473 prev: 1468:PUSH2 072c | 146b:SWAP1 | 146c:PUSH2 2e6c | 146f:JUMP | 1470:JUMPDEST | 1471:PUSH1 02
[codex:602868] SSTORE at 15f6 prev: 15ef:DUP2 | 15f0:SLOAD | 15f1:PUSH1 01 | 15f3:DUP2 | 15f4:ADD | 15f5:DUP4
[codex:602868] SSTORE at 1628 prev: 1621:DUP3 | 1622:ADD | 1623:MLOAD | 1624:DUP2 | 1625:PUSH1 01 | 1627:ADD
[codex:602868] SSTORE at 1650 prev: 164a:JUMPI | 164b:INVALID | 164c:JUMPDEST | 164d:MUL | 164e:OR | 164f:SWAP1
[codex:602868] SSTORE at 177d prev: 1776:JUMP | 1777:JUMPDEST | 1778:PUSH1 03 | 177a:SWAP3 | 177b:SWAP1 | 177c:SWAP3
[codex:602868] SSTORE at 1780 prev: 1778:PUSH1 03 | 177a:SWAP3 | 177b:SWAP1 | 177c:SWAP3 | 177d:SSTORE | 177e:PUSH1 04
[codex:602868] SSTORE at 1783 prev: 177b:SWAP1 | 177c:SWAP3 | 177d:SSTORE | 177e:PUSH1 04 | 1780:SSTORE | 1781:PUSH1 05
[codex:602868] SSTORE at 1929 prev: 1923:NOT | 1924:AND | 1925:DUP7 | 1926:ISZERO | 1927:OR | 1928:SWAP1
[codex:602868] SSTORE at 1dde prev: 1dd7:PUSH1 01 | 1dd9:DUP1 | 1dda:DUP3 | 1ddb:ADD | 1ddc:DUP5 | 1ddd:SWAP1
[codex:602868] SSTORE at 1dfc prev: 1df6:JUMPI | 1df7:INVALID | 1df8:JUMPDEST | 1df9:MUL | 1dfa:OR | 1dfb:SWAP1
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Analyzing storage writes for owner checks**
[codex:602868] exec
[codex:602868] /bin/bash -lc "python - <<'PY'
[codex:602868] from pathlib import Path
[codex:602868] hexdata = Path('BYTECODE_BUNDLE.txt').read_text().split('0x',1)[1].split('\\n',1)[0].strip()
[codex:602868] hexdata = ''.join(c for c in hexdata if c in '0123456789abcdefABCDEF')
[codex:602868] bytecode = bytes.fromhex(hexdata)
[codex:602868] 
[codex:602868] opnames = {i: name for i, name in {
[codex:602868]     0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:602868]     0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:602868]     0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:602868]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:602868]     0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:602868]     0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:602868]     0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:602868]     0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:602868]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:602868]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:602868] }.items()}
[codex:602868] 
[codex:602868] def disasm(start,end):
[codex:602868]     i=start
[codex:602868]     while i<end and i < len(bytecode):
[codex:602868]         op=bytecode[i]
[codex:602868]         name=opnames.get(op,'INVALID')
[codex:602868]         addr=i
[codex:602868]         i+=1
[codex:602868]         if 0x60<=op<=0x7f:
[codex:602868]             n=op-0x5f
[codex:602868]             data=bytecode[i:i+n]
[codex:602868]             i+=n
[codex:602868]             print(f\"{addr:04x}: {name} {data.hex()}\")
[codex:602868]         else:
[codex:602868]             print(f\"{addr:04x}: {name}\")
[codex:602868] 
[codex:602868] print('disasm 0x0cc0-0x0d80:')
[codex:602868] disasm(0x0cc0,0x0d80)
[codex:602868] PY" in /tmp/codex-multi-cfuedr3_ succeeded in 31ms:
[codex:602868] disasm 0x0cc0-0x0d80:
[codex:602868] 0cc0: POP
[codex:602868] 0cc1: SWAP1
[codex:602868] 0cc2: PUSH1 01
[codex:602868] 0cc4: PUSH1 01
[codex:602868] 0cc6: PUSH1 a0
[codex:602868] 0cc8: SHL
[codex:602868] 0cc9: SUB
[codex:602868] 0cca: PUSH2 0100
[codex:602868] 0ccd: SWAP1
[codex:602868] 0cce: SWAP2
[codex:602868] 0ccf: DIV
[codex:602868] 0cd0: AND
[codex:602868] 0cd1: SWAP1
[codex:602868] 0cd2: SWAP2
[codex:602868] 0cd3: SWAP3
[codex:602868] 0cd4: SWAP4
[codex:602868] 0cd5: SWAP5
[codex:602868] 0cd6: SWAP6
[codex:602868] 0cd7: SWAP7
[codex:602868] 
[codex:602868] thinking
[codex:602868] **Preparing JSON response for exploit search**
[codex:602868] codex
[codex:602868] {"no_findings":true,"summary":"Reviewed runtime bytecode in BYTECODE_BUNDLE.txt; only three external CALLs found (ETH transfer, ERC20 mint, ERC20 transfer) and no DELEGATECALL/SELFDESTRUCT. The value-transferring calls are gated by owner checks or strict payment/round logic, and no unprotected value-transfer or upgrade path was visible. No concrete profit-extraction path identified from bytecode alone.","findings":[]}
[codex:602868] tokens used
[codex:602868] 82,244
[codex:602868] {"no_findings":true,"summary":"Reviewed runtime bytecode in BYTECODE_BUNDLE.txt; only three external CALLs found (ETH transfer, ERC20 mint, ERC20 transfer) and no DELEGATECALL/SELFDESTRUCT. The value-transferring calls are gated by owner checks or strict payment/round logic, and no unprotected value-transfer or upgrade path was visible. No concrete profit-extraction path identified from bytecode alone.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T18:47:49.245556+00:00",
        "returncode": 0
    },
    "summary": "Reviewed runtime bytecode in BYTECODE_BUNDLE.txt; only three external CALLs found (ETH transfer, ERC20 mint, ERC20 transfer) and no DELEGATECALL/SELFDESTRUCT. The value-transferring calls are gated by owner checks or strict payment/round logic, and no unprotected value-transfer or upgrade path was visible. No concrete profit-extraction path identified from bytecode alone.",
    "raw_final": {
        "summary": "Reviewed runtime bytecode in BYTECODE_BUNDLE.txt; only three external CALLs found (ETH transfer, ERC20 mint, ERC20 transfer) and no DELEGATECALL/SELFDESTRUCT. The value-transferring calls are gated by owner checks or strict payment/round logic, and no unprotected value-transfer or upgrade path was visible. No concrete profit-extraction path identified from bytecode alone.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
8
EXT*/BALANCE
9
Total opcodes
8631
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 0x0230
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8da5cb5b
00000019: GT
0000001a: PUSH2 0x012e
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xcb99728a
00000024: GT
00000025: PUSH2 0x00ab
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xdd7c5e54
0000002f: GT
00000030: PUSH2 0x006f
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xdd7c5e54
0000003a: EQ
0000003b: PUSH2 0x0664
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xecc7ccbd
00000045: EQ
00000046: PUSH2 0x0679
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x06a2
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf5ac6319
0000005b: EQ
0000005c: PUSH2 0x06c2
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf640d508
00000066: EQ
00000067: PUSH2 0x06d7
0000006a: JUMPI
0000006b: PUSH2 0x0230
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xcb99728a
00000076: EQ
00000077: PUSH2 0x05cb
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xcd7f6315
00000081: EQ
00000082: PUSH2 0x05eb
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xcfed1970
0000008c: EQ
0000008d: PUSH2 0x0600
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xd0e50f03
00000097: EQ
00000098: PUSH2 0x0624
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xd6c77269
000000a2: EQ
000000a3: PUSH2 0x0644
000000a6: JUMPI
000000a7: PUSH2 0x0230
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0xacbef968
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xacbef968
000000bd: EQ
000000be: PUSH2 0x0534
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xb45aae52
000000c8: EQ
000000c9: PUSH2 0x0554
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xb640be8d
000000d3: EQ
000000d4: PUSH2 0x0574
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0xbfea2b37
000000de: EQ
000000df: PUSH2 0x0589
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0xc2b6b58c
000000e9: EQ
000000ea: PUSH2 0x05a9
000000ed: JUMPI
000000ee: PUSH2 0x0230
000000f1: JUMP
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH4 0x8da5cb5b
000000f9: EQ
000000fa: PUSH2 0x0490
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x91b7f5ed
00000104: EQ
00000105: PUSH2 0x04b2
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x92b3285c
0000010f: EQ
00000110: PUSH2 0x04d2
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x96cdd995
0000011a: EQ
0000011b: PUSH2 0x04f2
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0xa0b9c7eb
00000125: EQ
00000126: PUSH2 0x0507
00000129: JUMPI
0000012a: PUSH2 0x0230
0000012d: JUMP
0000012e: JUMPDEST
0000012f: DUP1
00000130: PUSH4 0x370158ea
00000135: GT
00000136: PUSH2 0x01bc
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x5d02e94b
00000140: GT
00000141: PUSH2 0x0180
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0x5d02e94b
0000014b: EQ
0000014c: PUSH2 0x03f5
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0x715018a6
00000156: EQ
00000157: PUSH2 0x0415
0000015a: JUMPI
0000015b: DUP1
0000015c: PUSH4 0x81452c07
00000161: EQ
00000162: PUSH2 0x042a
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0x83cbc5d4
0000016c: EQ
0000016d: PUSH2 0x044e
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0x845c9306
00000177: EQ
00000178: PUSH2 0x047d
0000017b: JUMPI
0000017c: PUSH2 0x0230
0000017f: JUMP
00000180: JUMPDEST
00000181: DUP1
00000182: PUSH4 0x370158ea
00000187: EQ
00000188: PUSH2 0x0352
0000018b: JUMPI
0000018c: DUP1
0000018d: PUSH4 0x389705b9
00000192: EQ
00000193: PUSH2 0x0380
00000196: JUMPI
00000197: DUP1
00000198: PUSH4 0x3f0bdec4
0000019d: EQ
0000019e: PUSH2 0x0395
000001a1: JUMPI
000001a2: DUP1
000001a3: PUSH4 0x47786d37
000001a8: EQ
000001a9: PUSH2 0x03b5
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH4 0x49c256e7
000001b3: EQ
000001b4: PUSH2 0x03d5
000001b7: JUMPI
000001b8: PUSH2 0x0230
000001bb: JUMP
000001bc: JUMPDEST
000001bd: DUP1
000001be: PUSH4 0x1b0472a9
000001c3: GT
000001c4: PUSH2 0x0203
000001c7: JUMPI
000001c8: DUP1
000001c9: PUSH4 0x1b0472a9
000001ce: EQ
000001cf: PUSH2 0x02c8
000001d2: JUMPI
000001d3: DUP1
000001d4: PUSH4 0x1ee3c796
000001d9: EQ
000001da: PUSH2 0x02e8
000001dd: JUMPI
000001de: DUP1
000001df: PUSH4 0x235b6ea1
000001e4: EQ
000001e5: PUSH2 0x0308
000001e8: JUMPI
000001e9: DUP1
000001ea: PUSH4 0x2c19b7f3
000001ef: EQ
000001f0: PUSH2 0x031d
000001f3: JUMPI
000001f4: DUP1
000001f5: PUSH4 0x2e1839f9
000001fa: EQ
000001fb: PUSH2 0x0332
000001fe: JUMPI
000001ff: PUSH2 0x0230
00000202: JUMP
00000203: JUMPDEST
00000204: DUP1
00000205: PUSH4 0x04288dba
0000020a: EQ
0000020b: PUSH2 0x0235
0000020e: JUMPI
0000020f: DUP1
00000210: PUSH4 0x052d7c00
00000215: EQ
00000216: PUSH2 0x0257
00000219: JUMPI
0000021a: DUP1
0000021b: PUSH4 0x060cf4e8
00000220: EQ
00000221: PUSH2 0x0282
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0x1692872e
0000022b: EQ
0000022c: PUSH2 0x0297
0000022f: JUMPI
00000230: JUMPDEST
00000231: PUSH1 0x00
00000233: DUP1
00000234: REVERT
00000235: JUMPDEST
00000236: CALLVALUE
00000237: DUP1
00000238: ISZERO
00000239: PUSH2 0x0241
0000023c: JUMPI
0000023d: PUSH1 0x00
0000023f: DUP1
00000240: REVERT
00000241: JUMPDEST
00000242: POP
00000243: PUSH2 0x0255
00000246: PUSH2 0x0250
00000249: CALLDATASIZE
0000024a: PUSH1 0x04
0000024c: PUSH2 0x2683
0000024f: JUMP
00000250: JUMPDEST
00000251: PUSH2 0x06f7
00000254: JUMP
00000255: JUMPDEST
00000256: STOP
00000257: JUMPDEST
00000258: CALLVALUE
00000259: DUP1
0000025a: ISZERO
0000025b: PUSH2 0x0263
0000025e: JUMPI
0000025f: PUSH1 0x00
00000261: DUP1
00000262: REVERT
00000263: JUMPDEST
00000264: POP
00000265: PUSH2 0x026c
00000268: PUSH2 0x0748
0000026b: JUMP
0000026c: JUMPDEST
0000026d: PUSH1 0x40
0000026f: MLOAD
00000270: PUSH2 0x0279
00000273: SWAP2
00000274: SWAP1
00000275: PUSH2 0x2fd1
00000278: JUMP
00000279: JUMPDEST
0000027a: PUSH1 0x40
0000027c: MLOAD
0000027d: DUP1
0000027e: SWAP2
0000027f: SUB
00000280: SWAP1
00000281: RETURN
00000282: JUMPDEST
00000283: CALLVALUE
00000284: DUP1
00000285: ISZERO
00000286: PUSH2 0x028e
00000289: JUMPI
0000028a: PUSH1 0x00
0000028c: DUP1
0000028d: REVERT
0000028e: JUMPDEST
0000028f: POP
00000290: PUSH2 0x026c
00000293: PUSH2 0x079c
00000296: JUMP
00000297: JUMPDEST
00000298: CALLVALUE
00000299: DUP1
0000029a: ISZERO
0000029b: PUSH2 0x02a3
0000029e: JUMPI
0000029f: PUSH1 0x00
000002a1: DUP1
000002a2: REVERT
000002a3: JUMPDEST
000002a4: POP
000002a5: PUSH2 0x02b7
000002a8: PUSH2 0x02b2
000002ab: CALLDATASIZE
000002ac: PUSH1 0x04
000002ae: PUSH2 0x2549
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x07a2
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH1 0x40
000002ba: MLOAD
000002bb: PUSH2 0x0279
000002be: SWAP6
000002bf: SWAP5
000002c0: SWAP4
000002c1: SWAP3
000002c2: SWAP2
000002c3: SWAP1
000002c4: PUSH2 0x3060
000002c7: JUMP
000002c8: JUMPDEST
000002c9: CALLVALUE
000002ca: DUP1
000002cb: ISZERO
000002cc: PUSH2 0x02d4
000002cf: JUMPI
000002d0: PUSH1 0x00
000002d2: DUP1
000002d3: REVERT
000002d4: JUMPDEST
000002d5: POP
000002d6: PUSH2 0x0255
000002d9: PUSH2 0x02e3
000002dc: CALLDATASIZE
000002dd: PUSH1 0x04
000002df: PUSH2 0x27a1
000002e2: JUMP
000002e3: JUMPDEST
000002e4: PUSH2 0x0901
000002e7: JUMP
000002e8: JUMPDEST
000002e9: CALLVALUE
000002ea: DUP1
000002eb: ISZERO
000002ec: PUSH2 0x02f4
000002ef: JUMPI
000002f0: PUSH1 0x00
000002f2: DUP1
000002f3: REVERT
000002f4: JUMPDEST
000002f5: POP
000002f6: PUSH2 0x026c
000002f9: PUSH2 0x0303
000002fc: CALLDATASIZE
000002fd: PUSH1 0x04
000002ff: PUSH2 0x2919
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH2 0x0991
00000307: JUMP
00000308: JUMPDEST
00000309: CALLVALUE
0000030a: DUP1
0000030b: ISZERO
0000030c: PUSH2 0x0314
0000030f: JUMPI
00000310: PUSH1 0x00
00000312: DUP1
00000313: REVERT
00000314: JUMPDEST
00000315: POP
00000316: PUSH2 0x026c
00000319: PUSH2 0x0af6
0000031c: JUMP
0000031d: JUMPDEST
0000031e: CALLVALUE
0000031f: DUP1
00000320: ISZERO
00000321: PUSH2 0x0329
00000324: JUMPI
00000325: PUSH1 0x00
00000327: DUP1
00000328: REVERT
00000329: JUMPDEST
0000032a: POP
0000032b: PUSH2 0x026c
0000032e: PUSH2 0x0afc
00000331: JUMP
00000332: JUMPDEST
00000333: CALLVALUE
00000334: DUP1
00000335: ISZERO
00000336: PUSH2 0x033e
00000339: JUMPI
0000033a: PUSH1 0x00
0000033c: DUP1
0000033d: REVERT
0000033e: JUMPDEST
0000033f: POP
00000340: PUSH2 0x0255
00000343: PUSH2 0x034d
00000346: CALLDATASIZE
00000347: PUSH1 0x04
00000349: PUSH2 0x2875
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH2 0x0b02
00000351: JUMP
00000352: JUMPDEST
00000353: CALLVALUE
00000354: DUP1
00000355: ISZERO
00000356: PUSH2 0x035e
00000359: JUMPI
0000035a: PUSH1 0x00
0000035c: DUP1
0000035d: REVERT
0000035e: JUMPDEST
0000035f: POP
00000360: PUSH2 0x0367
00000363: PUSH2 0x0b8b
00000366: JUMP
00000367: JUMPDEST
00000368: PUSH1 0x40
0000036a: MLOAD
0000036b: PUSH2 0x0279
0000036e: SWAP14
0000036f: SWAP13
00000370: SWAP12
00000371: SWAP11
00000372: SWAP10
00000373: SWAP9
00000374: SWAP8
00000375: SWAP7
00000376: SWAP6
00000377: SWAP5
00000378: SWAP4
00000379: SWAP3
0000037a: SWAP2
0000037b: SWAP1
0000037c: PUSH2 0x2ae7
0000037f: JUMP
00000380: JUMPDEST
00000381: CALLVALUE
00000382: DUP1
00000383: ISZERO
00000384: PUSH2 0x038c
00000387: JUMPI
00000388: PUSH1 0x00
0000038a: DUP1
0000038b: REVERT
0000038c: JUMPDEST
0000038d: POP
0000038e: PUSH2 0x026c
00000391: PUSH2 0x0cdf
00000394: JUMP
00000395: JUMPDEST
00000396: CALLVALUE
00000397: DUP1
00000398: ISZERO
00000399: PUSH2 0x03a1
0000039c: JUMPI
0000039d: PUSH1 0x00
0000039f: DUP1
000003a0: REVERT
000003a1: JUMPDEST
000003a2: POP
000003a3: PUSH2 0x0255
000003a6: PUSH2 0x03b0
000003a9: CALLDATASIZE
000003aa: PUSH1 0x04
000003ac: PUSH2 0x2771
000003af: JUMP
000003b0: JUMPDEST
000003b1: PUSH2 0x0ce5
000003b4: JUMP
000003b5: JUMPDEST
000003b6: CALLVALUE
000003b7: DUP1
000003b8: ISZERO
000003b9: PUSH2 0x03c1
000003bc: JUMPI
000003bd: PUSH1 0x00
000003bf: DUP1
000003c0: REVERT
000003c1: JUMPDEST
000003c2: POP
000003c3: PUSH2 0x0255
000003c6: PUSH2 0x03d0
000003c9: CALLDATASIZE
000003ca: PUSH1 0x04
000003cc: PUSH2 0x2771
000003cf: JUMP
000003d0: JUMPDEST
000003d1: PUSH2 0x0d1f
000003d4: JUMP
000003d5: JUMPDEST
000003d6: CALLVALUE
000003d7: DUP1
000003d8: ISZERO
000003d9: PUSH2 0x03e1
000003dc: JUMPI
000003dd: PUSH1 0x00
000003df: DUP1
000003e0: REVERT
000003e1: JUMPDEST
000003e2: POP
000003e3: PUSH2 0x0255
000003e6: PUSH2 0x03f0
000003e9: CALLDATASIZE
000003ea: PUSH1 0x04
000003ec: PUSH2 0x25a6
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x0d59
000003f4: JUMP
000003f5: JUMPDEST
000003f6: CALLVALUE
000003f7: DUP1
000003f8: ISZERO
000003f9: PUSH2 0x0401
000003fc: JUMPI
000003fd: PUSH1 0x00
000003ff: DUP1
00000400: REVERT
00000401: JUMPDEST
00000402: POP
00000403: PUSH2 0x0255
00000406: PUSH2 0x0410
00000409: CALLDATASIZE
0000040a: PUSH1 0x04
0000040c: PUSH2 0x2549
0000040f: JUMP
00000410: JUMPDEST
00000411: PUSH2 0x0e5d
00000414: JUMP
00000415: JUMPDEST
00000416: CALLVALUE
00000417: DUP1
00000418: ISZERO
00000419: PUSH2 0x0421
0000041c: JUMPI
0000041d: PUSH1 0x00
0000041f: DUP1
00000420: REVERT
00000421: JUMPDEST
00000422: POP
00000423: PUSH2 0x0255
00000426: PUSH2 0x0eba
00000429: JUMP
0000042a: JUMPDEST
0000042b: CALLVALUE
0000042c: DUP1
0000042d: ISZERO
0000042e: PUSH2 0x0436
00000431: JUMPI
00000432: PUSH1 0x00
00000434: DUP1
00000435: REVERT
00000436: JUMPDEST
00000437: POP
00000438: PUSH2 0x043f
0000043b: PUSH2 0x0f39
0000043e: JUMP
0000043f: JUMPDEST
00000440: PUSH1 0x40
00000442: MLOAD
00000443: PUSH2 0x0279
00000446: SWAP4
00000447: SWAP3
00000448: SWAP2
00000449: SWAP1
0000044a: PUSH2 0x2b7b
0000044d: JUMP
0000044e: JUMPDEST
0000044f: CALLVALUE
00000450: DUP1
00000451: ISZERO
00000452: PUSH2 0x045a
00000455: JUMPI
00000456: PUSH1 0x00
00000458: DUP1
00000459: REVERT
0000045a: JUMPDEST
0000045b: POP
0000045c: PUSH2 0x046e
0000045f: PUSH2 0x0469
00000462: CALLDATASIZE
00000463: PUSH1 0x04
00000465: PUSH2 0x2771
00000468: JUMP
00000469: JUMPDEST
0000046a: PUSH2 0x1152
0000046d: JUMP
0000046e: JUMPDEST
0000046f: PUSH1 0x40
00000471: MLOAD
00000472: PUSH2 0x0279
00000475: SWAP4
00000476: SWAP3
00000477: SWAP2
00000478: SWAP1
00000479: PUSH2 0x2bd2
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH2 0x0255
00000481: PUSH2 0x048b
00000484: CALLDATASIZE
00000485: PUSH1 0x04
00000487: PUSH2 0x2771
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH2 0x1212
0000048f: JUMP
00000490: JUMPDEST
00000491: CALLVALUE
00000492: DUP1
00000493: ISZERO
00000494: PUSH2 0x049c
00000497: JUMPI
00000498: PUSH1 0x00
0000049a: DUP1
0000049b: REVERT
0000049c: JUMPDEST
0000049d: POP
0000049e: PUSH2 0x04a5
000004a1: PUSH2 0x142c
000004a4: JUMP
000004a5: JUMPDEST
000004a6: PUSH1 0x40
000004a8: MLOAD
000004a9: PUSH2 0x0279
000004ac: SWAP2
000004ad: SWAP1
000004ae: PUSH2 0x2aba
000004b1: JUMP
000004b2: JUMPDEST
000004b3: CALLVALUE
000004b4: DUP1
000004b5: ISZERO
000004b6: PUSH2 0x04be
000004b9: JUMPI
000004ba: PUSH1 0x00
000004bc: DUP1
000004bd: REVERT
000004be: JUMPDEST
000004bf: POP
000004c0: PUSH2 0x0255
000004c3: PUSH2 0x04cd
000004c6: CALLDATASIZE
000004c7: PUSH1 0x04
000004c9: PUSH2 0x2771
000004cc: JUMP
000004cd: JUMPDEST
000004ce: PUSH2 0x143b
000004d1: JUMP
000004d2: JUMPDEST
000004d3: CALLVALUE
000004d4: DUP1
000004d5: ISZERO
000004d6: PUSH2 0x04de
000004d9: JUMPI
000004da: PUSH1 0x00
000004dc: DUP1
000004dd: REVERT
000004de: JUMPDEST
000004df: POP
000004e0: PUSH2 0x0255
000004e3: PUSH2 0x04ed
000004e6: CALLDATASIZE
000004e7: PUSH1 0x04
000004e9: PUSH2 0x25e5
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH2 0x1475
000004f1: JUMP
000004f2: JUMPDEST
000004f3: CALLVALUE
000004f4: DUP1
000004f5: ISZERO
000004f6: PUSH2 0x04fe
000004f9: JUMPI
000004fa: PUSH1 0x00
000004fc: DUP1
000004fd: REVERT
000004fe: JUMPDEST
000004ff: POP
00000500: PUSH2 0x04a5
00000503: PUSH2 0x1681
00000506: JUMP
00000507: JUMPDEST
00000508: CALLVALUE
00000509: DUP1
0000050a: ISZERO
0000050b: PUSH2 0x0513
0000050e: JUMPI
0000050f: PUSH1 0x00
00000511: DUP1
00000512: REVERT
00000513: JUMPDEST
00000514: POP
00000515: PUSH2 0x0527
00000518: PUSH2 0x0522
0000051b: CALLDATASIZE
0000051c: PUSH1 0x04
0000051e: PUSH2 0x2771
00000521: JUMP
00000522: JUMPDEST
00000523: PUSH2 0x1695
00000526: JUMP
00000527: JUMPDEST
00000528: PUSH1 0x40
0000052a: MLOAD
0000052b: PUSH2 0x0279
0000052e: SWAP2
0000052f: SWAP1
00000530: PUSH2 0x2bbf
00000533: JUMP
00000534: JUMPDEST
00000535: CALLVALUE
00000536: DUP1
00000537: ISZERO
00000538: PUSH2 0x0540
0000053b: JUMPI
0000053c: PUSH1 0x00
0000053e: DUP1
0000053f: REVERT
00000540: JUMPDEST
00000541: POP
00000542: PUSH2 0x0255
00000545: PUSH2 0x054f
00000548: CALLDATASIZE
00000549: PUSH1 0x04
0000054b: PUSH2 0x2946
0000054e: JUMP
0000054f: JUMPDEST
00000550: PUSH2 0x1742
00000553: JUMP
00000554: JUMPDEST
00000555: CALLVALUE
00000556: DUP1
00000557: ISZERO
00000558: PUSH2 0x0560
0000055b: JUMPI
0000055c: PUSH1 0x00
0000055e: DUP1
0000055f: REVERT
00000560: JUMPDEST
00000561: POP
00000562: PUSH2 0x026c
00000565: PUSH2 0x056f
00000568: CALLDATASIZE
00000569: PUSH1 0x04
0000056b: PUSH2 0x2549
0000056e: JUMP
0000056f: JUMPDEST
00000570: PUSH2 0x1785
00000573: JUMP
00000574: JUMPDEST
00000575: CALLVALUE
00000576: DUP1
00000577: ISZERO
00000578: PUSH2 0x0580
0000057b: JUMPI
0000057c: PUSH1 0x00
0000057e: DUP1
0000057f: REVERT
00000580: JUMPDEST
00000581: POP
00000582: PUSH2 0x026c
00000585: PUSH2 0x17f5
00000588: JUMP
00000589: JUMPDEST
0000058a: CALLVALUE
0000058b: DUP1
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: PUSH2 0x0255
0000059a: PUSH2 0x05a4
0000059d: CALLDATASIZE
0000059e: PUSH1 0x04
000005a0: PUSH2 0x27d0
000005a3: JUMP
000005a4: JUMPDEST
000005a5: PUSH2 0x1860
000005a8: JUMP
000005a9: JUMPDEST
000005aa: CALLVALUE
000005ab: DUP1
000005ac: ISZERO
000005ad: PUSH2 0x05b5
000005b0: JUMPI
000005b1: PUSH1 0x00
000005b3: DUP1
000005b4: REVERT
000005b5: JUMPDEST
000005b6: POP
000005b7: PUSH2 0x05be
000005ba: PUSH2 0x193c
000005bd: JUMP
000005be: JUMPDEST
000005bf: PUSH1 0x40
000005c1: MLOAD
000005c2: PUSH2 0x0279
000005c5: SWAP2
000005c6: SWAP1
000005c7: PUSH2 0x2bb4
000005ca: JUMP
000005cb: JUMPDEST
000005cc: CALLVALUE
000005cd: DUP1
000005ce: ISZERO
000005cf: PUSH2 0x05d7
000005d2: JUMPI
000005d3: PUSH1 0x00
000005d5: DUP1
000005d6: REVERT
000005d7: JUMPDEST
000005d8: POP
000005d9: PUSH2 0x0255
000005dc: PUSH2 0x05e6
000005df: CALLDATASIZE
000005e0: PUSH1 0x04
000005e2: PUSH2 0x282c
000005e5: JUMP
000005e6: JUMPDEST
000005e7: PUSH2 0x1979
000005ea: JUMP
000005eb: JUMPDEST
000005ec: CALLVALUE
000005ed: DUP1
000005ee: ISZERO
000005ef: PUSH2 0x05f7
000005f2: JUMPI
000005f3: PUSH1 0x00
000005f5: DUP1
000005f6: REVERT
000005f7: JUMPDEST
000005f8: POP
000005f9: PUSH2 0x026c
000005fc: PUSH2 0x19fe
000005ff: JUMP
00000600: JUMPDEST
00000601: CALLVALUE
00000602: DUP1
00000603: ISZERO
00000604: PUSH2 0x060c
00000607: JUMPI
00000608: PUSH1 0x00
0000060a: DUP1
0000060b: REVERT
0000060c: JUMPDEST
0000060d: POP
0000060e: PUSH2 0x0615
00000611: PUSH2 0x1a04
00000614: JUMP
00000615: JUMPDEST
00000616: PUSH1 0x40
00000618: MLOAD
00000619: PUSH2 0x0279
0000061c: SWAP4
0000061d: SWAP3
0000061e: SWAP2
0000061f: SWAP1
00000620: PUSH2 0x2fda
00000623: JUMP
00000624: JUMPDEST
00000625: CALLVALUE
00000626: DUP1
00000627: ISZERO
00000628: PUSH2 0x0630
0000062b: JUMPI
0000062c: PUSH1 0x00
0000062e: DUP1
0000062f: REVERT
00000630: JUMPDEST
00000631: POP
00000632: PUSH2 0x026c
00000635: PUSH2 0x063f
00000638: CALLDATASIZE
00000639: PUSH1 0x04
0000063b: PUSH2 0x2549
0000063e: JUMP
0000063f: JUMPDEST
00000640: PUSH2 0x1cfa
00000643: JUMP
00000644: JUMPDEST
00000645: CALLVALUE
00000646: DUP1
00000647: ISZERO
00000648: PUSH2 0x0650
0000064b: JUMPI
0000064c: PUSH1 0x00
0000064e: DUP1
0000064f: REVERT
00000650: JUMPDEST
00000651: POP
00000652: PUSH2 0x0255
00000655: PUSH2 0x065f
00000658: CALLDATASIZE
00000659: PUSH1 0x04
0000065b: PUSH2 0x28b1
0000065e: JUMP
0000065f: JUMPDEST
00000660: PUSH2 0x1d53
00000663: JUMP
00000664: JUMPDEST
00000665: CALLVALUE
00000666: DUP1
00000667: ISZERO
00000668: PUSH2 0x0670
0000066b: JUMPI
0000066c: PUSH1 0x00
0000066e: DUP1
0000066f: REVERT
00000670: JUMPDEST
00000671: POP
00000672: PUSH2 0x05be
00000675: PUSH2 0x1e05
00000678: JUMP
00000679: JUMPDEST
0000067a: CALLVALUE
0000067b: DUP1
0000067c: ISZERO
0000067d: PUSH2 0x0685
00000680: JUMPI
00000681: PUSH1 0x00
00000683: DUP1
00000684: REVERT
00000685: JUMPDEST
00000686: POP
00000687: PUSH2 0x068e
0000068a: PUSH2 0x1e0e
0000068d: JUMP
0000068e: JUMPDEST
0000068f: PUSH1 0x40
00000691: MLOAD
00000692: PUSH2 0x0279
00000695: SWAP9
00000696: SWAP8
00000697: SWAP7
00000698: SWAP6
00000699: SWAP5
0000069a: SWAP4
0000069b: SWAP3
0000069c: SWAP2
0000069d: SWAP1
0000069e: PUSH2 0x3005
000006a1: JUMP
000006a2: JUMPDEST
000006a3: CALLVALUE
000006a4: DUP1
000006a5: ISZERO
000006a6: PUSH2 0x06ae
000006a9: JUMPI
000006aa: PUSH1 0x00
000006ac: DUP1
000006ad: REVERT
000006ae: JUMPDEST
000006af: POP
000006b0: PUSH2 0x0255
000006b3: PUSH2 0x06bd
000006b6: CALLDATASIZE
000006b7: PUSH1 0x04
000006b9: PUSH2 0x2549
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH2 0x1f60
000006c1: JUMP
000006c2: JUMPDEST
000006c3: CALLVALUE
000006c4: DUP1
000006c5: ISZERO
000006c6: PUSH2 0x06ce
000006c9: JUMPI
000006ca: PUSH1 0x00
000006cc: DUP1
000006cd: REVERT
000006ce: JUMPDEST
000006cf: POP
000006d0: PUSH2 0x026c
000006d3: PUSH2 0x2016
000006d6: JUMP
000006d7: JUMPDEST
000006d8: CALLVALUE
000006d9: DUP1
000006da: ISZERO
000006db: PUSH2 0x06e3
000006de: JUMPI
000006df: PUSH1 0x00
000006e1: DUP1
000006e2: REVERT
000006e3: JUMPDEST
000006e4: POP
000006e5: PUSH2 0x0255
000006e8: PUSH2 0x06f2
000006eb: CALLDATASIZE
000006ec: PUSH1 0x04
000006ee: PUSH2 0x2565
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH2 0x201c
000006f6: JUMP
000006f7: JUMPDEST
000006f8: PUSH2 0x06ff
000006fb: PUSH2 0x216f
000006fe: JUMP
000006ff: JUMPDEST
00000700: PUSH1 0x00
00000702: SLOAD
00000703: PUSH1 0x01
00000705: PUSH1 0x01
00000707: PUSH1 0xa0
00000709: SHL
0000070a: SUB
0000070b: SWAP1
0000070c: DUP2
0000070d: AND
0000070e: SWAP2
0000070f: AND
00000710: EQ
00000711: PUSH2 0x0735
00000714: JUMPI
00000715: PUSH1 0x40
00000717: MLOAD
00000718: PUSH3 0x461bcd
0000071c: PUSH1 0xe5
0000071e: SHL
0000071f: DUP2
00000720: MSTORE
00000721: PUSH1 0x04
00000723: ADD
00000724: PUSH2 0x072c
00000727: SWAP1
00000728: PUSH2 0x2e6c
0000072b: JUMP
0000072c: JUMPDEST
0000072d: PUSH1 0x40
0000072f: MLOAD
00000730: DUP1
00000731: SWAP2
00000732: SUB
00000733: SWAP1
00000734: REVERT
00000735: JUMPDEST
00000736: PUSH1 0x07
00000738: DUP1
00000739: SLOAD
0000073a: PUSH1 0xff
0000073c: NOT
0000073d: AND
0000073e: SWAP2
0000073f: ISZERO
00000740: ISZERO
00000741: SWAP2
00000742: SWAP1
00000743: SWAP2
00000744: OR
00000745: SWAP1
00000746: SSTORE
00000747: JUMP
00000748: JUMPDEST
00000749: PUSH1 0x01
0000074b: SLOAD
0000074c: PUSH1 0x00
0000074e: SWAP1
0000074f: DUP2
00000750: JUMPDEST
00000751: PUSH1 0x08
00000753: SLOAD
00000754: DUP2
00000755: LT
00000756: ISZERO
00000757: PUSH2 0x0795
0000075a: JUMPI
0000075b: PUSH2 0x078b
0000075e: PUSH1 0x08
00000760: DUP3
00000761: DUP2
00000762: SLOAD
00000763: DUP2
00000764: LT
00000765: PUSH2 0x076a
00000768: JUMPI
00000769: INVALID
0000076a: JUMPDEST
0000076b: SWAP1
0000076c: PUSH1 0x00
0000076e: MSTORE
0000076f: PUSH1 0x20
00000771: PUSH1 0x00
00000773: KECCAK256
00000774: SWAP1
00000775: PUSH1 0x05
00000777: MUL
00000778: ADD
00000779: PUSH1 0x01
0000077b: ADD
0000077c: SLOAD
0000077d: DUP4
0000077e: PUSH2 0x2173
00000781: SWAP1
00000782: SWAP2
00000783: SWAP1
00000784: PUSH4 0xffffffff
00000789: AND
0000078a: JUMP
0000078b: JUMPDEST
0000078c: SWAP2
0000078d: POP
0000078e: PUSH1 0x01
00000790: ADD
00000791: PUSH2 0x0750
00000794: JUMP
00000795: JUMPDEST
00000796: POP
00000797: SWAP1
00000798: POP
00000799: JUMPDEST
0000079a: SWAP1
0000079b: JUMP
0000079c: JUMPDEST
0000079d: PUSH1 0x06
0000079f: SLOAD
000007a0: DUP2
000007a1: JUMP
000007a2: JUMPDEST
000007a3: PUSH1 0x40
000007a5: DUP1
000007a6: MLOAD
000007a7: PUSH1 0x20
000007a9: DUP2
000007aa: ADD
000007ab: SWAP1
000007ac: SWAP2
000007ad: MSTORE
000007ae: PUSH1 0x00
000007b0: DUP1
000007b1: DUP3
000007b2: MSTORE
000007b3: SWAP1
000007b4: DUP2
000007b5: SWAP1
000007b6: PUSH1 0x04
000007b8: SWAP1
000007b9: DUP3
000007ba: PUSH2 0x07c2
000007bd: DUP7
000007be: PUSH2 0x1785
000007c1: JUMP
000007c2: JUMPDEST
000007c3: SWAP5
000007c4: POP
000007c5: PUSH2 0x07cc
000007c8: PUSH2 0x193c
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH2 0x08f8
000007d0: JUMPI
000007d1: PUSH1 0x01
000007d3: SLOAD
000007d4: TIMESTAMP
000007d5: DUP2
000007d6: GT
000007d7: ISZERO
000007d8: PUSH2 0x0807
000007db: JUMPI
000007dc: PUSH1 0x00
000007de: SWAP4
000007df: POP
000007e0: PUSH1 0x40
000007e2: MLOAD
000007e3: PUSH1 0x20
000007e5: ADD
000007e6: PUSH2 0x07ee
000007e9: SWAP1
000007ea: PUSH2 0x2a2a
000007ed: JUMP
000007ee: JUMPDEST
000007ef: PUSH1 0x40
000007f1: MLOAD
000007f2: PUSH1 0x20
000007f4: DUP2
000007f5: DUP4
000007f6: SUB
000007f7: SUB
000007f8: DUP2
000007f9: MSTORE
000007fa: SWAP1
000007fb: PUSH1 0x40
000007fd: MSTORE
000007fe: SWAP3
000007ff: POP
00000800: DUP1
00000801: SWAP2
00000802: POP
00000803: PUSH2 0x08f6
00000806: JUMP
00000807: JUMPDEST
00000808: PUSH1 0x00
0000080a: DUP1
0000080b: JUMPDEST
0000080c: PUSH1 0x08
0000080e: SLOAD
0000080f: DUP2
00000810: LT
00000811: ISZERO
00000812: PUSH2 0x08f3
00000815: JUMPI
00000816: PUSH2 0x0820
00000819: DUP2
0000081a: PUSH1 0x01
0000081c: PUSH2 0x2173
0000081f: JUMP
00000820: JUMPDEST
00000821: SWAP7
00000822: POP
00000823: PUSH1 0x08
00000825: DUP2
00000826: DUP2
00000827: SLOAD
00000828: DUP2
00000829: LT
0000082a: PUSH2 0x082f
0000082d: JUMPI
0000082e: INVALID
0000082f: JUMPDEST
00000830: SWAP1
00000831: PUSH1 0x00
00000833: MSTORE
00000834: PUSH1 0x20
00000836: PUSH1 0x00
00000838: KECCAK256
00000839: SWAP1
0000083a: PUSH1 0x05
0000083c: MUL
0000083d: ADD
0000083e: SWAP2
0000083f: POP
00000840: PUSH2 0x0856
00000843: DUP3
00000844: PUSH1 0x01
00000846: ADD
00000847: SLOAD
00000848: DUP5
00000849: PUSH2 0x2173
0000084c: SWAP1
0000084d: SWAP2
0000084e: SWAP1
0000084f: PUSH4 0xffffffff
00000854: AND
00000855: JUMP
00000856: JUMPDEST
00000857: SWAP3
00000858: POP
00000859: DUP3
0000085a: TIMESTAMP
0000085b: LT
0000085c: ISZERO
0000085d: PUSH2 0x08eb
00000860: JUMPI
00000861: PUSH1 0x00
00000863: PUSH1 0x02
00000865: DUP4
00000866: ADD
00000867: SLOAD
00000868: PUSH1 0xff
0000086a: AND
0000086b: PUSH1 0x01
0000086d: DUP2
0000086e: GT
0000086f: ISZERO
00000870: PUSH2 0x0875
00000873: JUMPI
00000874: INVALID
00000875: JUMPDEST
00000876: EQ
00000877: ISZERO
00000878: PUSH2 0x08a3
0000087b: JUMPI
0000087c: PUSH1 0x01
0000087e: SWAP6
0000087f: POP
00000880: PUSH1 0x40
00000882: MLOAD
00000883: PUSH1 0x20
00000885: ADD
00000886: PUSH2 0x088e
00000889: SWAP1
0000088a: PUSH2 0x2a86
0000088d: JUMP
0000088e: JUMPDEST
0000088f: PUSH1 0x40
00000891: MLOAD
00000892: PUSH1 0x20
00000894: DUP2
00000895: DUP4
00000896: SUB
00000897: SUB
00000898: DUP2
00000899: MSTORE
0000089a: SWAP1
0000089b: PUSH1 0x40
0000089d: MSTORE
0000089e: SWAP5
0000089f: POP
000008a0: DUP3
000008a1: SWAP4
000008a2: POP
000008a3: JUMPDEST
000008a4: PUSH1 0x01
000008a6: PUSH1 0x02
000008a8: DUP4
000008a9: ADD
000008aa: SLOAD
000008ab: PUSH1 0xff
000008ad: AND
000008ae: PUSH1 0x01
000008b0: DUP2
000008b1: GT
000008b2: ISZERO
000008b3: PUSH2 0x08b8
000008b6: JUMPI
000008b7: INVALID
000008b8: JUMPDEST
000008b9: EQ
000008ba: ISZERO
000008bb: PUSH2 0x08e6
000008be: JUMPI
000008bf: PUSH1 0x03
000008c1: SWAP6
000008c2: POP
000008c3: PUSH1 0x40
000008c5: MLOAD
000008c6: PUSH1 0x20
000008c8: ADD
000008c9: PUSH2 0x08d1
000008cc: SWAP1
000008cd: PUSH2 0x2a5d
000008d0: JUMP
000008d1: JUMPDEST
000008d2: PUSH1 0x40
000008d4: MLOAD
000008d5: PUSH1 0x20
000008d7: DUP2
000008d8: DUP4
000008d9: SUB
000008da: SUB
000008db: DUP2
000008dc: MSTORE
000008dd: SWAP1
000008de: PUSH1 0x40
000008e0: MSTORE
000008e1: SWAP5
000008e2: POP
000008e3: DUP3
000008e4: SWAP4
000008e5: POP
000008e6: JUMPDEST
000008e7: PUSH2 0x08f3
000008ea: JUMP
000008eb: JUMPDEST
000008ec: PUSH1 0x01
000008ee: ADD
000008ef: PUSH2 0x080b
000008f2: JUMP
000008f3: JUMPDEST
000008f4: POP
000008f5: POP
000008f6: JUMPDEST
000008f7: POP
000008f8: JUMPDEST
000008f9: SWAP2
000008fa: SWAP4
000008fb: SWAP6
000008fc: SWAP1
000008fd: SWAP3
000008fe: SWAP5
000008ff: POP
00000900: JUMP
00000901: JUMPDEST
00000902: PUSH2 0x0909
00000905: PUSH2 0x216f
00000908: JUMP
00000909: JUMPDEST
0000090a: PUSH1 0x00
0000090c: SLOAD
0000090d: PUSH1 0x01
0000090f: PUSH1 0x01
00000911: PUSH1 0xa0
00000913: SHL
00000914: SUB
00000915: SWAP1
00000916: DUP2
00000917: AND
00000918: SWAP2
00000919: AND
0000091a: EQ
0000091b: PUSH2 0x0936
0000091e: JUMPI
0000091f: PUSH1 0x40
00000921: MLOAD
00000922: PUSH3 0x461bcd
00000926: PUSH1 0xe5
00000928: SHL
00000929: DUP2
0000092a: MSTORE
0000092b: PUSH1 0x04
0000092d: ADD
0000092e: PUSH2 0x072c
00000931: SWAP1
00000932: PUSH2 0x2e6c
00000935: JUMP
00000936: JUMPDEST
00000937: DUP2
00000938: SELFBALANCE
00000939: LT
0000093a: ISZERO
0000093b: PUSH2 0x0956
0000093e: JUMPI
0000093f: PUSH1 0x40
00000941: MLOAD
00000942: PUSH3 0x461bcd
00000946: PUSH1 0xe5
00000948: SHL
00000949: DUP2
0000094a: MSTORE
0000094b: PUSH1 0x04
0000094d: ADD
0000094e: PUSH2 0x072c
00000951: SWAP1
00000952: PUSH2 0x2c9d
00000955: JUMP
00000956: JUMPDEST
00000957: PUSH1 0x40
00000959: MLOAD
0000095a: PUSH1 0x01
0000095c: PUSH1 0x01
0000095e: PUSH1 0xa0
00000960: SHL
00000961: SUB
00000962: DUP3
00000963: AND
00000964: SWAP1
00000965: DUP4
00000966: ISZERO
00000967: PUSH2 0x08fc
0000096a: MUL
0000096b: SWAP1
0000096c: DUP5
0000096d: SWAP1
0000096e: PUSH1 0x00
00000970: DUP2
00000971: DUP2
00000972: DUP2
00000973: DUP6
00000974: DUP9
00000975: DUP9
00000976: CALL
00000977: SWAP4
00000978: POP
00000979: POP
0000097a: POP
0000097b: POP
0000097c: ISZERO
0000097d: DUP1
0000097e: ISZERO
0000097f: PUSH2 0x098c
00000982: JUMPI
00000983: RETURNDATASIZE
00000984: PUSH1 0x00
00000986: DUP1
00000987: RETURNDATACOPY
00000988: RETURNDATASIZE
00000989: PUSH1 0x00
0000098b: REVERT
0000098c: JUMPDEST
0000098d: POP
0000098e: POP
0000098f: POP
00000990: JUMP
00000991: JUMPDEST
00000992: PUSH1 0x00
00000994: DUP4
00000995: ISZERO
00000996: DUP1
00000997: PUSH2 0x099e
0000099a: JUMPI
0000099b: POP
0000099c: DUP3
0000099d: ISZERO
0000099e: JUMPDEST
0000099f: ISZERO
000009a0: PUSH2 0x09ab
000009a3: JUMPI
000009a4: POP
000009a5: PUSH1 0x00
000009a7: PUSH2 0x0aef
000009aa: JUMP
000009ab: JUMPDEST
000009ac: PUSH1 0x00
000009ae: PUSH2 0x09b8
000009b1: DUP6
000009b2: PUSH1 0x01
000009b4: PUSH2 0x21a1
000009b7: JUMP
000009b8: JUMPDEST
000009b9: SWAP1
000009ba: POP
000009bb: PUSH1 0x00
000009bd: PUSH2 0x09c7
000009c0: DUP6
000009c1: PUSH1 0x01
000009c3: PUSH2 0x21a1
000009c6: JUMP
000009c7: JUMPDEST
000009c8: PUSH1 0x08
000009ca: SLOAD
000009cb: SWAP1
000009cc: SWAP2
000009cd: POP
000009ce: DUP3
000009cf: LT
000009d0: PUSH2 0x09eb
000009d3: JUMPI
000009d4: PUSH1 0x40
000009d6: MLOAD
000009d7: PUSH3 0x461bcd
000009db: PUSH1 0xe5
000009dd: SHL
000009de: DUP2
000009df: MSTORE
000009e0: PUSH1 0x04
000009e2: ADD
000009e3: PUSH2 0x072c
000009e6: SWAP1
000009e7: PUSH2 0x2d5d
000009ea: JUMP
000009eb: JUMPDEST
000009ec: PUSH1 0x09
000009ee: SLOAD
000009ef: DUP2
000009f0: LT
000009f1: PUSH2 0x0a0c
000009f4: JUMPI
000009f5: PUSH1 0x40
000009f7: MLOAD
000009f8: PUSH3 0x461bcd
000009fc: PUSH1 0xe5
000009fe: SHL
000009ff: DUP2
00000a00: MSTORE
00000a01: PUSH1 0x04
00000a03: ADD
00000a04: PUSH2 0x072c
00000a07: SWAP1
00000a08: PUSH2 0x2c31
00000a0b: JUMP
00000a0c: JUMPDEST
00000a0d: PUSH1 0x09
00000a0f: DUP2
00000a10: DUP2
00000a11: SLOAD
00000a12: DUP2
00000a13: LT
00000a14: PUSH2 0x0a19
00000a17: JUMPI
00000a18: INVALID
00000a19: JUMPDEST
00000a1a: PUSH1 0x00
00000a1c: SWAP2
00000a1d: DUP3
00000a1e: MSTORE
00000a1f: PUSH1 0x20
00000a21: DUP1
00000a22: DUP4
00000a23: KECCAK256
00000a24: PUSH1 0x01
00000a26: PUSH1 0x01
00000a28: PUSH1 0xa0
00000a2a: SHL
00000a2b: SUB
00000a2c: DUP9
00000a2d: AND
00000a2e: DUP5
00000a2f: MSTORE
00000a30: PUSH1 0x01
00000a32: PUSH1 0x02
00000a34: SWAP1
00000a35: SWAP4
00000a36: MUL
00000a37: ADD
00000a38: SWAP2
00000a39: SWAP1
00000a3a: SWAP2
00000a3b: ADD
00000a3c: SWAP1
00000a3d: MSTORE
00000a3e: PUSH1 0x40
00000a40: SWAP1
00000a41: KECCAK256
00000a42: SLOAD
00000a43: PUSH1 0xff
00000a45: AND
00000a46: ISZERO
00000a47: PUSH2 0x0ae8
00000a4a: JUMPI
00000a4b: PUSH1 0x00
00000a4d: PUSH1 0x08
00000a4f: DUP4
00000a50: DUP2
00000a51: SLOAD
00000a52: DUP2
00000a53: LT
00000a54: PUSH2 0x0a59
00000a57: JUMPI
00000a58: INVALID
00000a59: JUMPDEST
00000a5a: SWAP1
00000a5b: PUSH1 0x00
00000a5d: MSTORE
00000a5e: PUSH1 0x20
00000a60: PUSH1 0x00
00000a62: KECCAK256
00000a63: SWAP1
00000a64: PUSH1 0x05
00000a66: MUL
00000a67: ADD
00000a68: PUSH1 0x04
00000a6a: ADD
00000a6b: PUSH1 0x00
00000a6d: DUP7
00000a6e: PUSH1 0x01
00000a70: PUSH1 0x01
00000a72: PUSH1 0xa0
00000a74: SHL
00000a75: SUB
00000a76: AND
00000a77: PUSH1 0x01
00000a79: PUSH1 0x01
00000a7b: PUSH1 0xa0
00000a7d: SHL
00000a7e: SUB
00000a7f: AND
00000a80: DUP2
00000a81: MSTORE
00000a82: PUSH1 0x20
00000a84: ADD
00000a85: SWAP1
00000a86: DUP2
00000a87: MSTORE
00000a88: PUSH1 0x20
00000a8a: ADD
00000a8b: PUSH1 0x00
00000a8d: KECCAK256
00000a8e: SLOAD
00000a8f: SWAP1
00000a90: POP
00000a91: PUSH1 0x00
00000a93: PUSH1 0x08
00000a95: DUP5
00000a96: DUP2
00000a97: SLOAD
00000a98: DUP2
00000a99: LT
00000a9a: PUSH2 0x0a9f
00000a9d: JUMPI
00000a9e: INVALID
00000a9f: JUMPDEST
00000aa0: SWAP1
00000aa1: PUSH1 0x00
00000aa3: MSTORE
00000aa4: PUSH1 0x20
00000aa6: PUSH1 0x00
00000aa8: KECCAK256
00000aa9: SWAP1
00000aaa: PUSH1 0x05
00000aac: MUL
00000aad: ADD
00000aae: PUSH1 0x03
00000ab0: ADD
00000ab1: DUP4
00000ab2: DUP2
00000ab3: SLOAD
00000ab4: DUP2
00000ab5: LT
00000ab6: PUSH2 0x0abb
00000ab9: JUMPI
00000aba: INVALID
00000abb: JUMPDEST
00000abc: SWAP1
00000abd: PUSH1 0x00
00000abf: MSTORE
00000ac0: PUSH1 0x20
00000ac2: PUSH1 0x00
00000ac4: KECCAK256
00000ac5: ADD
00000ac6: SLOAD
00000ac7: SWAP1
00000ac8: POP
00000ac9: DUP1
00000aca: DUP3
00000acb: LT
00000acc: ISZERO
00000acd: PUSH2 0x0ae5
00000ad0: JUMPI
00000ad1: PUSH2 0x0ada
00000ad4: DUP2
00000ad5: DUP4
00000ad6: PUSH2 0x21a1
00000ad9: JUMP
00000ada: JUMPDEST
00000adb: SWAP5
00000adc: POP
00000add: POP
00000ade: POP
00000adf: POP
00000ae0: POP
00000ae1: PUSH2 0x0aef
00000ae4: JUMP
00000ae5: JUMPDEST
00000ae6: POP
00000ae7: POP
00000ae8: JUMPDEST
00000ae9: PUSH1 0x00
00000aeb: SWAP3
00000aec: POP
00000aed: POP
00000aee: POP
00000aef: JUMPDEST
00000af0: SWAP4
00000af1: SWAP3
00000af2: POP
00000af3: POP
00000af4: POP
00000af5: JUMP
00000af6: JUMPDEST
00000af7: PUSH1 0x02
00000af9: SLOAD
00000afa: DUP2
00000afb: JUMP
00000afc: JUMPDEST
00000afd: PUSH1 0x04
00000aff: SLOAD
00000b00: DUP2
00000b01: JUMP
00000b02: JUMPDEST
00000b03: PUSH2 0x0b0a
00000b06: PUSH2 0x216f
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: PUSH1 0x00
00000b0d: SLOAD
00000b0e: PUSH1 0x01
00000b10: PUSH1 0x01
00000b12: PUSH1 0xa0
00000b14: SHL
00000b15: SUB
00000b16: SWAP1
00000b17: DUP2
00000b18: AND
00000b19: SWAP2
00000b1a: AND
00000b1b: EQ
00000b1c: PUSH2 0x0b37
00000b1f: JUMPI
00000b20: PUSH1 0x40
00000b22: MLOAD
00000b23: PUSH3 0x461bcd
00000b27: PUSH1 0xe5
00000b29: SHL
00000b2a: DUP2
00000b2b: MSTORE
00000b2c: PUSH1 0x04
00000b2e: ADD
00000b2f: PUSH2 0x072c
00000b32: SWAP1
00000b33: PUSH2 0x2e6c
00000b36: JUMP
00000b37: JUMPDEST
00000b38: PUSH1 0x09
00000b3a: SLOAD
00000b3b: DUP4
00000b3c: LT
00000b3d: PUSH2 0x0b58
00000b40: JUMPI
00000b41: PUSH1 0x40
00000b43: MLOAD
00000b44: PUSH3 0x461bcd
00000b48: PUSH1 0xe5
00000b4a: SHL
00000b4b: DUP2
00000b4c: MSTORE
00000b4d: PUSH1 0x04
00000b4f: ADD
00000b50: PUSH2 0x072c
00000b53: SWAP1
00000b54: PUSH2 0x2c05
00000b57: JUMP
00000b58: JUMPDEST
00000b59: PUSH1 0x00
00000b5b: PUSH1 0x09
00000b5d: DUP5
00000b5e: DUP2
00000b5f: SLOAD
00000b60: DUP2
00000b61: LT
00000b62: PUSH2 0x0b67
00000b65: JUMPI
00000b66: INVALID
00000b67: JUMPDEST
00000b68: PUSH1 0x00
00000b6a: SWAP2
00000b6b: DUP3
00000b6c: MSTORE
00000b6d: PUSH1 0x20
00000b6f: SWAP1
00000b70: SWAP2
00000b71: KECCAK256
00000b72: PUSH1 0x02
00000b74: SWAP1
00000b75: SWAP2
00000b76: MUL
00000b77: ADD
00000b78: SWAP1
00000b79: POP
00000b7a: PUSH2 0x0b84
00000b7d: DUP2
00000b7e: DUP5
00000b7f: DUP5
00000b80: PUSH2 0x2249
00000b83: JUMP
00000b84: JUMPDEST
00000b85: POP
00000b86: POP
00000b87: POP
00000b88: POP
00000b89: POP
00000b8a: JUMP
00000b8b: JUMPDEST
00000b8c: PUSH1 0x40
00000b8e: DUP1
00000b8f: MLOAD
00000b90: DUP1
00000b91: DUP3
00000b92: ADD
00000b93: SWAP1
00000b94: SWAP2
00000b95: MSTORE
00000b96: PUSH1 0x03
00000b98: DUP2
00000b99: MSTORE
00000b9a: PUSH3 0x08aa89
00000b9e: PUSH1 0xeb
00000ba0: SHL
00000ba1: PUSH1 0x20
00000ba3: DUP3
00000ba4: ADD
00000ba5: MSTORE
00000ba6: PUSH1 0x00
00000ba8: SWAP1
00000ba9: PUSH1 0x12
00000bab: DUP3
00000bac: DUP1
00000bad: DUP1
00000bae: DUP1
00000baf: PUSH1 0x60
00000bb1: DUP2
00000bb2: DUP1
00000bb3: DUP1
00000bb4: DUP1
00000bb5: DUP1
00000bb6: PUSH2 0x0bbd
00000bb9: PUSH2 0x17f5
00000bbc: JUMP
00000bbd: JUMPDEST
00000bbe: SWAP8
00000bbf: POP
00000bc0: PUSH2 0x0bc7
00000bc3: PUSH2 0x0748
00000bc6: JUMP
00000bc7: JUMPDEST
00000bc8: SWAP7
00000bc9: POP
00000bca: PUSH1 0x40
00000bcc: MLOAD
00000bcd: DUP1
00000bce: PUSH1 0x40
00000bd0: ADD
00000bd1: PUSH1 0x40
00000bd3: MSTORE
00000bd4: DUP1
00000bd5: PUSH1 0x01
00000bd7: DUP2
00000bd8: MSTORE
00000bd9: PUSH1 0x20
00000bdb: ADD
00000bdc: PUSH1 0x43
00000bde: PUSH1 0xf8
00000be0: SHL
00000be1: DUP2
00000be2: MSTORE
00000be3: POP
00000be4: SWAP6
00000be5: POP
00000be6: PUSH2 0x0bed
00000be9: PUSH2 0x193c
00000bec: JUMP
00000bed: JUMPDEST
00000bee: PUSH2 0x0c9c
00000bf1: JUMPI
00000bf2: PUSH1 0x01
00000bf4: SLOAD
00000bf5: TIMESTAMP
00000bf6: LT
00000bf7: ISZERO
00000bf8: PUSH2 0x0c1c
00000bfb: JUMPI
00000bfc: PUSH1 0x40
00000bfe: MLOAD
00000bff: DUP1
00000c00: PUSH1 0x40
00000c02: ADD
00000c03: PUSH1 0x40
00000c05: MSTORE
00000c06: DUP1
00000c07: PUSH1 0x01
00000c09: DUP2
00000c0a: MSTORE
00000c0b: PUSH1 0x20
00000c0d: ADD
00000c0e: PUSH1 0x05
00000c10: PUSH1 0xfc
00000c12: SHL
00000c13: DUP2
00000c14: MSTORE
00000c15: POP
00000c16: SWAP6
00000c17: POP
00000c18: PUSH2 0x0c9c
00000c1b: JUMP
00000c1c: JUMPDEST
00000c1d: DUP7
00000c1e: DUP9
00000c1f: EQ
00000c20: DUP1
00000c21: ISZERO
00000c22: PUSH2 0x0c2a
00000c25: JUMPI
00000c26: POP
00000c27: DUP7
00000c28: TIMESTAMP
00000c29: LT
00000c2a: JUMPDEST
00000c2b: DUP1
00000c2c: PUSH2 0x0c3e
00000c2f: JUMPI
00000c30: POP
00000c31: DUP7
00000c32: DUP9
00000c33: LT
00000c34: DUP1
00000c35: ISZERO
00000c36: PUSH2 0x0c3e
00000c39: JUMPI
00000c3a: POP
00000c3b: DUP8
00000c3c: TIMESTAMP
00000c3d: LT
00000c3e: JUMPDEST
00000c3f: ISZERO
00000c40: PUSH2 0x0c60
00000c43: JUMPI
00000c44: PUSH1 0x40
00000c46: MLOAD
00000c47: DUP1
00000c48: PUSH1 0x40
00000c4a: ADD
00000c4b: PUSH1 0x40
00000c4d: MSTORE
00000c4e: DUP1
00000c4f: PUSH1 0x01
00000c51: DUP2
00000c52: MSTORE
00000c53: PUSH1 0x20
00000c55: ADD
00000c56: PUSH1 0x4f
00000c58: PUSH1 0xf8
00000c5a: SHL
00000c5b: DUP2
00000c5c: MSTORE
00000c5d: POP
00000c5e: SWAP6
00000c5f: POP
00000c60: JUMPDEST
00000c61: DUP7
00000c62: DUP9
00000c63: LT
00000c64: DUP1
00000c65: ISZERO
00000c66: PUSH2 0x0c6f
00000c69: JUMPI
00000c6a: POP
00000c6b: DUP8
00000c6c: TIMESTAMP
00000c6d: LT
00000c6e: ISZERO
00000c6f: JUMPDEST
00000c70: DUP1
00000c71: ISZERO
00000c72: PUSH2 0x0c7a
00000c75: JUMPI
00000c76: POP
00000c77: DUP7
00000c78: TIMESTAMP
00000c79: LT
00000c7a: JUMPDEST
00000c7b: ISZERO
00000c7c: PUSH2 0x0c9c
00000c7f: JUMPI
00000c80: PUSH1 0x40
00000c82: MLOAD
00000c83: DUP1
00000c84: PUSH1 0x40
00000c86: ADD
00000c87: PUSH1 0x40
00000c89: MSTORE
00000c8a: DUP1
00000c8b: PUSH1 0x01
00000c8d: DUP2
00000c8e: MSTORE
00000c8f: PUSH1 0x20
00000c91: ADD
00000c92: PUSH1 0x23
00000c94: PUSH1 0xf9
00000c96: SHL
00000c97: DUP2
00000c98: MSTORE
00000c99: POP
00000c9a: SWAP6
00000c9b: POP
00000c9c: JUMPDEST
00000c9d: POP
00000c9e: POP
00000c9f: PUSH1 0x02
00000ca1: SLOAD
00000ca2: PUSH1 0x01
00000ca4: SLOAD
00000ca5: PUSH1 0x03
00000ca7: SLOAD
00000ca8: PUSH1 0x06
00000caa: SLOAD
00000cab: PUSH1 0x04
00000cad: SLOAD
00000cae: PUSH1 0x05
00000cb0: SLOAD
00000cb1: PUSH1 0x07
00000cb3: SLOAD
00000cb4: SWAP6
00000cb5: SWAP14
00000cb6: POP
00000cb7: SWAP4
00000cb8: SWAP12
00000cb9: POP
00000cba: SWAP2
00000cbb: SWAP7
00000cbc: POP
00000cbd: SWAP5
00000cbe: POP
00000cbf: SWAP3
00000cc0: POP
00000cc1: SWAP1
00000cc2: PUSH1 0x01
00000cc4: PUSH1 0x01
00000cc6: PUSH1 0xa0
00000cc8: SHL
00000cc9: SUB
00000cca: PUSH2 0x0100
00000ccd: SWAP1
00000cce: SWAP2
00000ccf: DIV
00000cd0: AND
00000cd1: SWAP1
00000cd2: SWAP2
00000cd3: SWAP3
00000cd4: SWAP4
00000cd5: SWAP5
00000cd6: SWAP6
00000cd7: SWAP7
00000cd8: SWAP8
00000cd9: SWAP9
00000cda: SWAP10
00000cdb: SWAP11
00000cdc: SWAP12
00000cdd: SWAP13
00000cde: JUMP
00000cdf: JUMPDEST
00000ce0: PUSH1 0x03
00000ce2: SLOAD
00000ce3: DUP2
00000ce4: JUMP
00000ce5: JUMPDEST
00000ce6: PUSH2 0x0ced
00000ce9: PUSH2 0x216f
00000cec: JUMP
00000ced: JUMPDEST
00000cee: PUSH1 0x00
00000cf0: SLOAD
00000cf1: PUSH1 0x01
00000cf3: PUSH1 0x01
00000cf5: PUSH1 0xa0
00000cf7: SHL
00000cf8: SUB
00000cf9: SWAP1
00000cfa: DUP2
00000cfb: AND
00000cfc: SWAP2
00000cfd: AND
00000cfe: EQ
00000cff: PUSH2 0x0d1a
00000d02: JUMPI
00000d03: PUSH1 0x40
00000d05: MLOAD
00000d06: PUSH3 0x461bcd
00000d0a: PUSH1 0xe5
00000d0c: SHL
00000d0d: DUP2
00000d0e: MSTORE
00000d0f: PUSH1 0x04
00000d11: ADD
00000d12: PUSH2 0x072c
00000d15: SWAP1
00000d16: PUSH2 0x2e6c
00000d19: JUMP
00000d1a: JUMPDEST
00000d1b: PUSH1 0x01
00000d1d: SSTORE
00000d1e: JUMP
00000d1f: JUMPDEST
00000d20: PUSH2 0x0d27
00000d23: PUSH2 0x216f
00000d26: JUMP
00000d27: JUMPDEST
00000d28: PUSH1 0x00
00000d2a: SLOAD
00000d2b: PUSH1 0x01
00000d2d: PUSH1 0x01
00000d2f: PUSH1 0xa0
00000d31: SHL
00000d32: SUB
00000d33: SWAP1
00000d34: DUP2
00000d35: AND
00000d36: SWAP2
00000d37: AND
00000d38: EQ
00000d39: PUSH2 0x0d54
00000d3c: JUMPI
00000d3d: PUSH1 0x40
00000d3f: MLOAD
00000d40: PUSH3 0x461bcd
00000d44: PUSH1 0xe5
00000d46: SHL
00000d47: DUP2
00000d48: MSTORE
00000d49: PUSH1 0x04
00000d4b: ADD
00000d4c: PUSH2 0x072c
00000d4f: SWAP1
00000d50: PUSH2 0x2e6c
00000d53: JUMP
00000d54: JUMPDEST
00000d55: PUSH1 0x06
00000d57: SSTORE
00000d58: JUMP
00000d59: JUMPDEST
00000d5a: PUSH2 0x0d61
00000d5d: PUSH2 0x216f
00000d60: JUMP
00000d61: JUMPDEST
00000d62: PUSH1 0x00
00000d64: SLOAD
00000d65: PUSH1 0x01
00000d67: PUSH1 0x01
00000d69: PUSH1 0xa0
00000d6b: SHL
00000d6c: SUB
00000d6d: SWAP1
00000d6e: DUP2
00000d6f: AND
00000d70: SWAP2
00000d71: AND
00000d72: EQ
00000d73: PUSH2 0x0d8e
00000d76: JUMPI
00000d77: PUSH1 0x40
00000d79: MLOAD
00000d7a: PUSH3 0x461bcd
00000d7e: PUSH1 0xe5
00000d80: SHL
00000d81: DUP2
00000d82: MSTORE
00000d83: PUSH1 0x04
00000d85: ADD
00000d86: PUSH2 0x072c
00000d89: SWAP1
00000d8a: PUSH2 0x2e6c
00000d8d: JUMP
00000d8e: JUMPDEST
00000d8f: DUP1
00000d90: PUSH2 0x0dab
00000d93: JUMPI
00000d94: PUSH1 0x40
00000d96: MLOAD
00000d97: PUSH3 0x461bcd
00000d9b: PUSH1 0xe5
00000d9d: SHL
00000d9e: DUP2
00000d9f: MSTORE
00000da0: PUSH1 0x04
00000da2: ADD
00000da3: PUSH2 0x072c
00000da6: SWAP1
00000da7: PUSH2 0x2f4d
00000daa: JUMP
00000dab: JUMPDEST
00000dac: PUSH2 0x0db7
00000daf: PUSH1 0x09
00000db1: PUSH1 0x00
00000db3: PUSH2 0x22c7
00000db6: JUMP
00000db7: JUMPDEST
00000db8: PUSH1 0x00
00000dba: JUMPDEST
00000dbb: DUP2
00000dbc: DUP2
00000dbd: LT
00000dbe: ISZERO
00000dbf: PUSH2 0x098c
00000dc2: JUMPI
00000dc3: PUSH1 0x09
00000dc5: PUSH1 0x40
00000dc7: MLOAD
00000dc8: DUP1
00000dc9: PUSH1 0x20
00000dcb: ADD
00000dcc: PUSH1 0x40
00000dce: MSTORE
00000dcf: DUP1
00000dd0: DUP6
00000dd1: DUP6
00000dd2: DUP6
00000dd3: DUP2
00000dd4: DUP2
00000dd5: LT
00000dd6: PUSH2 0x0ddb
00000dd9: JUMPI
00000dda: INVALID
00000ddb: JUMPDEST
00000ddc: SWAP1
00000ddd: POP
00000dde: PUSH1 0x20
00000de0: MUL
00000de1: DUP2
00000de2: ADD
00000de3: SWAP1
00000de4: PUSH2 0x0ded
00000de7: SWAP2
00000de8: SWAP1
00000de9: PUSH2 0x3097
00000dec: JUMP
00000ded: JUMPDEST
00000dee: DUP1
00000def: DUP1
00000df0: PUSH1 0x1f
00000df2: ADD
00000df3: PUSH1 0x20
00000df5: DUP1
00000df6: SWAP2
00000df7: DIV
00000df8: MUL
00000df9: PUSH1 0x20
00000dfb: ADD
00000dfc: PUSH1 0x40
00000dfe: MLOAD
00000dff: SWAP1
00000e00: DUP2
00000e01: ADD
00000e02: PUSH1 0x40
00000e04: MSTORE
00000e05: DUP1
00000e06: SWAP4
00000e07: SWAP3
00000e08: SWAP2
00000e09: SWAP1
00000e0a: DUP2
00000e0b: DUP2
00000e0c: MSTORE
00000e0d: PUSH1 0x20
00000e0f: ADD
00000e10: DUP4
00000e11: DUP4
00000e12: DUP1
00000e13: DUP3
00000e14: DUP5
00000e15: CALLDATACOPY
00000e16: PUSH1 0x00
00000e18: SWAP3
00000e19: ADD
00000e1a: DUP3
00000e1b: SWAP1
00000e1c: MSTORE
00000e1d: POP
00000e1e: SWAP4
00000e1f: SWAP1
00000e20: SWAP5
00000e21: MSTORE
00000e22: POP
00000e23: POP
00000e24: DUP4
00000e25: SLOAD
00000e26: PUSH1 0x01
00000e28: DUP2
00000e29: ADD
00000e2a: DUP6
00000e2b: SSTORE
00000e2c: SWAP4
00000e2d: DUP2
00000e2e: MSTORE
00000e2f: PUSH1 0x20
00000e31: SWAP1
00000e32: DUP2
00000e33: SWAP1
00000e34: KECCAK256
00000e35: DUP4
00000e36: MLOAD
00000e37: DUP1
00000e38: MLOAD
00000e39: SWAP5
00000e3a: SWAP6
00000e3b: PUSH1 0x02
00000e3d: MUL
00000e3e: SWAP1
00000e3f: SWAP2
00000e40: ADD
00000e41: SWAP4
00000e42: PUSH2 0x0e52
00000e45: SWAP4
00000e46: POP
00000e47: DUP5
00000e48: SWAP3
00000e49: SWAP2
00000e4a: SWAP1
00000e4b: SWAP2
00000e4c: ADD
00000e4d: SWAP1
00000e4e: PUSH2 0x22eb
00000e51: JUMP
00000e52: JUMPDEST
00000e53: POP
00000e54: POP
00000e55: POP
00000e56: PUSH1 0x01
00000e58: ADD
00000e59: PUSH2 0x0dba
00000e5c: JUMP
00000e5d: JUMPDEST
00000e5e: PUSH2 0x0e65
00000e61: PUSH2 0x216f
00000e64: JUMP
00000e65: JUMPDEST
00000e66: PUSH1 0x00
00000e68: SLOAD
00000e69: PUSH1 0x01
00000e6b: PUSH1 0x01
00000e6d: PUSH1 0xa0
00000e6f: SHL
00000e70: SUB
00000e71: SWAP1
00000e72: DUP2
00000e73: AND
00000e74: SWAP2
00000e75: AND
00000e76: EQ
00000e77: PUSH2 0x0e92
00000e7a: JUMPI
00000e7b: PUSH1 0x40
00000e7d: MLOAD
00000e7e: PUSH3 0x461bcd
00000e82: PUSH1 0xe5
00000e84: SHL
00000e85: DUP2
00000e86: MSTORE
00000e87: PUSH1 0x04
00000e89: ADD
00000e8a: PUSH2 0x072c
00000e8d: SWAP1
00000e8e: PUSH2 0x2e6c
00000e91: JUMP
00000e92: JUMPDEST
00000e93: PUSH1 0x07
00000e95: DUP1
00000e96: SLOAD
00000e97: PUSH1 0x01
00000e99: PUSH1 0x01
00000e9b: PUSH1 0xa0
00000e9d: SHL
00000e9e: SUB
00000e9f: SWAP1
00000ea0: SWAP3
00000ea1: AND
00000ea2: PUSH2 0x0100
00000ea5: MUL
00000ea6: PUSH2 0x0100
00000ea9: PUSH1 0x01
00000eab: PUSH1 0xa8
00000ead: SHL
00000eae: SUB
00000eaf: NOT
00000eb0: SWAP1
00000eb1: SWAP3
00000eb2: AND
00000eb3: SWAP2
00000eb4: SWAP1
00000eb5: SWAP2
00000eb6: OR
00000eb7: SWAP1
00000eb8: SSTORE
00000eb9: JUMP
00000eba: JUMPDEST
00000ebb: PUSH2 0x0ec2
00000ebe: PUSH2 0x216f
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH1 0x00
00000ec5: SLOAD
00000ec6: PUSH1 0x01
00000ec8: PUSH1 0x01
00000eca: PUSH1 0xa0
00000ecc: SHL
00000ecd: SUB
00000ece: SWAP1
00000ecf: DUP2
00000ed0: AND
00000ed1: SWAP2
00000ed2: AND
00000ed3: EQ
00000ed4: PUSH2 0x0eef
00000ed7: JUMPI
00000ed8: PUSH1 0x40
00000eda: MLOAD
00000edb: PUSH3 0x461bcd
00000edf: PUSH1 0xe5
00000ee1: SHL
00000ee2: DUP2
00000ee3: MSTORE
00000ee4: PUSH1 0x04
00000ee6: ADD
00000ee7: PUSH2 0x072c
00000eea: SWAP1
00000eeb: PUSH2 0x2e6c
00000eee: JUMP
00000eef: JUMPDEST
00000ef0: PUSH1 0x00
00000ef2: DUP1
00000ef3: SLOAD
00000ef4: PUSH1 0x40
00000ef6: MLOAD
00000ef7: PUSH1 0x01
00000ef9: PUSH1 0x01
00000efb: PUSH1 0xa0
00000efd: SHL
00000efe: SUB
00000eff: SWAP1
00000f00: SWAP2
00000f01: AND
00000f02: SWAP1
00000f03: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f24: SWAP1
00000f25: DUP4
00000f26: SWAP1
00000f27: LOG3
00000f28: PUSH1 0x00
00000f2a: DUP1
00000f2b: SLOAD
00000f2c: PUSH1 0x01
00000f2e: PUSH1 0x01
00000f30: PUSH1 0xa0
00000f32: SHL
00000f33: SUB
00000f34: NOT
00000f35: AND
00000f36: SWAP1
00000f37: SSTORE
00000f38: JUMP
00000f39: JUMPDEST
00000f3a: PUSH1 0x60
00000f3c: DUP1
00000f3d: PUSH1 0x60
00000f3f: DUP1
00000f40: PUSH1 0x60
00000f42: DUP1
00000f43: PUSH1 0x00
00000f45: PUSH1 0x08
00000f47: DUP1
00000f48: SLOAD
00000f49: SWAP1
00000f4a: POP
00000f4b: GT
00000f4c: ISZERO
00000f4d: PUSH2 0x1146
00000f50: JUMPI
00000f51: PUSH1 0x08
00000f53: SLOAD
00000f54: PUSH1 0x01
00000f56: PUSH1 0x01
00000f58: PUSH1 0x40
00000f5a: SHL
00000f5b: SUB
00000f5c: DUP2
00000f5d: GT
00000f5e: DUP1
00000f5f: ISZERO
00000f60: PUSH2 0x0f68
00000f63: JUMPI
00000f64: PUSH1 0x00
00000f66: DUP1
00000f67: REVERT
00000f68: JUMPDEST
00000f69: POP
00000f6a: PUSH1 0x40
00000f6c: MLOAD
00000f6d: SWAP1
00000f6e: DUP1
00000f6f: DUP3
00000f70: MSTORE
00000f71: DUP1
00000f72: PUSH1 0x20
00000f74: MUL
00000f75: PUSH1 0x20
00000f77: ADD
00000f78: DUP3
00000f79: ADD
00000f7a: PUSH1 0x40
00000f7c: MSTORE
00000f7d: DUP1
00000f7e: ISZERO
00000f7f: PUSH2 0x0f9c
00000f82: JUMPI
00000f83: DUP2
00000f84: PUSH1 0x20
00000f86: ADD
00000f87: JUMPDEST
00000f88: PUSH1 0x60
00000f8a: DUP2
00000f8b: MSTORE
00000f8c: PUSH1 0x20
00000f8e: ADD
00000f8f: SWAP1
00000f90: PUSH1 0x01
00000f92: SWAP1
00000f93: SUB
00000f94: SWAP1
00000f95: DUP2
00000f96: PUSH2 0x0f87
00000f99: JUMPI
00000f9a: SWAP1
00000f9b: POP
00000f9c: JUMPDEST
00000f9d: POP
00000f9e: PUSH1 0x08
00000fa0: SLOAD
00000fa1: SWAP1
00000fa2: SWAP4
00000fa3: POP
00000fa4: PUSH1 0x01
00000fa6: PUSH1 0x01
00000fa8: PUSH1 0x40
00000faa: SHL
00000fab: SUB
00000fac: DUP2
00000fad: GT
00000fae: DUP1
00000faf: ISZERO
00000fb0: PUSH2 0x0fb8
00000fb3: JUMPI
00000fb4: PUSH1 0x00
00000fb6: DUP1
00000fb7: REVERT
00000fb8: JUMPDEST
00000fb9: POP
00000fba: PUSH1 0x40
00000fbc: MLOAD
00000fbd: SWAP1
00000fbe: DUP1
00000fbf: DUP3
00000fc0: MSTORE
00000fc1: DUP1
00000fc2: PUSH1 0x20
00000fc4: MUL
00000fc5: PUSH1 0x20
00000fc7: ADD
00000fc8: DUP3
00000fc9: ADD
00000fca: PUSH1 0x40
00000fcc: MSTORE
00000fcd: DUP1
00000fce: ISZERO
00000fcf: PUSH2 0x0fe2
00000fd2: JUMPI
00000fd3: DUP2
00000fd4: PUSH1 0x20
00000fd6: ADD
00000fd7: PUSH1 0x20
00000fd9: DUP3
00000fda: MUL
00000fdb: DUP1
00000fdc: CALLDATASIZE
00000fdd: DUP4
00000fde: CALLDATACOPY
00000fdf: ADD
00000fe0: SWAP1
00000fe1: POP
00000fe2: JUMPDEST
00000fe3: POP
00000fe4: PUSH1 0x08
00000fe6: SLOAD
00000fe7: SWAP1
00000fe8: SWAP3
00000fe9: POP
00000fea: PUSH1 0x01
00000fec: PUSH1 0x01
00000fee: PUSH1 0x40
00000ff0: SHL
00000ff1: SUB
00000ff2: DUP2
00000ff3: GT
00000ff4: DUP1
00000ff5: ISZERO
00000ff6: PUSH2 0x0ffe
00000ff9: JUMPI
00000ffa: PUSH1 0x00
00000ffc: DUP1
00000ffd: REVERT
00000ffe: JUMPDEST
00000fff: POP
00001000: PUSH1 0x40
00001002: MLOAD
00001003: SWAP1
00001004: DUP1
00001005: DUP3
00001006: MSTORE
00001007: DUP1
00001008: PUSH1 0x20
0000100a: MUL
0000100b: PUSH1 0x20
0000100d: ADD
0000100e: DUP3
0000100f: ADD
00001010: PUSH1 0x40
00001012: MSTORE
00001013: DUP1
00001014: ISZERO
00001015: PUSH2 0x1028
00001018: JUMPI
00001019: DUP2
0000101a: PUSH1 0x20
0000101c: ADD
0000101d: PUSH1 0x20
0000101f: DUP3
00001020: MUL
00001021: DUP1
00001022: CALLDATASIZE
00001023: DUP4
00001024: CALLDATACOPY
00001025: ADD
00001026: SWAP1
00001027: POP
00001028: JUMPDEST
00001029: POP
0000102a: PUSH1 0x01
0000102c: SLOAD
0000102d: SWAP1
0000102e: SWAP2
0000102f: POP
00001030: PUSH1 0x00
00001032: JUMPDEST
00001033: PUSH1 0x08
00001035: SLOAD
00001036: DUP2
00001037: LT
00001038: ISZERO
00001039: PUSH2 0x1143
0000103c: JUMPI
0000103d: PUSH1 0x08
0000103f: DUP2
00001040: DUP2
00001041: SLOAD
00001042: DUP2
00001043: LT
00001044: PUSH2 0x1049
00001047: JUMPI
00001048: INVALID
00001049: JUMPDEST
0000104a: PUSH1 0x00
0000104c: SWAP2
0000104d: DUP3
0000104e: MSTORE
0000104f: PUSH1 0x20
00001051: SWAP2
00001052: DUP3
00001053: SWAP1
00001054: KECCAK256
00001055: PUSH1 0x05
00001057: SWAP1
00001058: SWAP2
00001059: MUL
0000105a: ADD
0000105b: DUP1
0000105c: SLOAD
0000105d: PUSH1 0x40
0000105f: DUP1
00001060: MLOAD
00001061: PUSH1 0x1f
00001063: PUSH1 0x02
00001065: PUSH1 0x00
00001067: NOT
00001068: PUSH2 0x0100
0000106b: PUSH1 0x01
0000106d: DUP8
0000106e: AND
0000106f: ISZERO
00001070: MUL
00001071: ADD
00001072: SWAP1
00001073: SWAP5
00001074: AND
00001075: SWAP4
00001076: SWAP1
00001077: SWAP4
00001078: DIV
00001079: SWAP3
0000107a: DUP4
0000107b: ADD
0000107c: DUP6
0000107d: SWAP1
0000107e: DIV
0000107f: DUP6
00001080: MUL
00001081: DUP2
00001082: ADD
00001083: DUP6
00001084: ADD
00001085: SWAP1
00001086: SWAP2
00001087: MSTORE
00001088: DUP2
00001089: DUP2
0000108a: MSTORE
0000108b: SWAP3
0000108c: DUP4
0000108d: ADD
0000108e: DUP3
0000108f: DUP3
00001090: DUP1
00001091: ISZERO
00001092: PUSH2 0x10dc
00001095: JUMPI
00001096: DUP1
00001097: PUSH1 0x1f
00001099: LT
0000109a: PUSH2 0x10b1
0000109d: JUMPI
0000109e: PUSH2 0x0100
000010a1: DUP1
000010a2: DUP4
000010a3: SLOAD
000010a4: DIV
000010a5: MUL
000010a6: DUP4
000010a7: MSTORE
000010a8: SWAP2
000010a9: PUSH1 0x20
000010ab: ADD
000010ac: SWAP2
000010ad: PUSH2 0x10dc
000010b0: JUMP
000010b1: JUMPDEST
000010b2: DUP3
000010b3: ADD
000010b4: SWAP2
000010b5: SWAP1
000010b6: PUSH1 0x00
000010b8: MSTORE
000010b9: PUSH1 0x20
000010bb: PUSH1 0x00
000010bd: KECCAK256
000010be: SWAP1
000010bf: JUMPDEST
000010c0: DUP2
000010c1: SLOAD
000010c2: DUP2
000010c3: MSTORE
000010c4: SWAP1
000010c5: PUSH1 0x01
000010c7: ADD
000010c8: SWAP1
000010c9: PUSH1 0x20
000010cb: ADD
000010cc: DUP1
000010cd: DUP4
000010ce: GT
000010cf: PUSH2 0x10bf
000010d2: JUMPI
000010d3: DUP3
000010d4: SWAP1
000010d5: SUB
000010d6: PUSH1 0x1f
000010d8: AND
000010d9: DUP3
000010da: ADD
000010db: SWAP2
000010dc: JUMPDEST
000010dd: POP
000010de: POP
000010df: POP
000010e0: POP
000010e1: POP
000010e2: DUP6
000010e3: DUP3
000010e4: DUP2
000010e5: MLOAD
000010e6: DUP2
000010e7: LT
000010e8: PUSH2 0x10ed
000010eb: JUMPI
000010ec: INVALID
000010ed: JUMPDEST
000010ee: PUSH1 0x20
000010f0: MUL
000010f1: PUSH1 0x20
000010f3: ADD
000010f4: ADD
000010f5: DUP2
000010f6: SWAP1
000010f7: MSTORE
000010f8: POP
000010f9: DUP2
000010fa: DUP5
000010fb: DUP3
000010fc: DUP2
000010fd: MLOAD
000010fe: DUP2
000010ff: LT
00001100: PUSH2 0x1105
00001103: JUMPI
00001104: INVALID
00001105: JUMPDEST
00001106: PUSH1 0x20
00001108: MUL
00001109: PUSH1 0x20
0000110b: ADD
0000110c: ADD
0000110d: DUP2
0000110e: DUP2
0000110f: MSTORE
00001110: POP
00001111: POP
00001112: PUSH2 0x1121
00001115: PUSH1 0x08
00001117: DUP3
00001118: DUP2
00001119: SLOAD
0000111a: DUP2
0000111b: LT
0000111c: PUSH2 0x076a
0000111f: JUMPI
00001120: INVALID
00001121: JUMPDEST
00001122: SWAP2
00001123: POP
00001124: DUP2
00001125: DUP4
00001126: DUP3
00001127: DUP2
00001128: MLOAD
00001129: DUP2
0000112a: LT
0000112b: PUSH2 0x1130
0000112e: JUMPI
0000112f: INVALID
00001130: JUMPDEST
00001131: PUSH1 0x20
00001133: SWAP1
00001134: DUP2
00001135: MUL
00001136: SWAP2
00001137: SWAP1
00001138: SWAP2
00001139: ADD
0000113a: ADD
0000113b: MSTORE
0000113c: PUSH1 0x01
0000113e: ADD
0000113f: PUSH2 0x1032
00001142: JUMP
00001143: JUMPDEST
00001144: POP
00001145: POP
00001146: JUMPDEST
00001147: SWAP2
00001148: SWAP5
00001149: POP
0000114a: SWAP3
0000114b: POP
0000114c: SWAP1
0000114d: POP
0000114e: SWAP1
0000114f: SWAP2
00001150: SWAP3
00001151: JUMP
00001152: JUMPDEST
00001153: PUSH1 0x08
00001155: DUP2
00001156: DUP2
00001157: SLOAD
00001158: DUP2
00001159: LT
0000115a: PUSH2 0x115f
0000115d: JUMPI
0000115e: INVALID
0000115f: JUMPDEST
00001160: PUSH1 0x00
00001162: SWAP2
00001163: DUP3
00001164: MSTORE
00001165: PUSH1 0x20
00001167: SWAP2
00001168: DUP3
00001169: SWAP1
0000116a: KECCAK256
0000116b: PUSH1 0x05
0000116d: SWAP2
0000116e: SWAP1
0000116f: SWAP2
00001170: MUL
00001171: ADD
00001172: DUP1
00001173: SLOAD
00001174: PUSH1 0x40
00001176: DUP1
00001177: MLOAD
00001178: PUSH1 0x02
0000117a: PUSH1 0x01
0000117c: DUP5
0000117d: AND
0000117e: ISZERO
0000117f: PUSH2 0x0100
00001182: MUL
00001183: PUSH1 0x00
00001185: NOT
00001186: ADD
00001187: SWAP1
00001188: SWAP4
00001189: AND
0000118a: SWAP3
0000118b: SWAP1
0000118c: SWAP3
0000118d: DIV
0000118e: PUSH1 0x1f
00001190: DUP2
00001191: ADD
00001192: DUP6
00001193: SWAP1
00001194: DIV
00001195: DUP6
00001196: MUL
00001197: DUP4
00001198: ADD
00001199: DUP6
0000119a: ADD
0000119b: SWAP1
0000119c: SWAP2
0000119d: MSTORE
0000119e: DUP1
0000119f: DUP3
000011a0: MSTORE
000011a1: SWAP2
000011a2: SWAP4
000011a3: POP
000011a4: SWAP2
000011a5: DUP4
000011a6: SWAP2
000011a7: SWAP1
000011a8: DUP4
000011a9: ADD
000011aa: DUP3
000011ab: DUP3
000011ac: DUP1
000011ad: ISZERO
000011ae: PUSH2 0x11f8
000011b1: JUMPI
000011b2: DUP1
000011b3: PUSH1 0x1f
000011b5: LT
000011b6: PUSH2 0x11cd
000011b9: JUMPI
000011ba: PUSH2 0x0100
000011bd: DUP1
000011be: DUP4
000011bf: SLOAD
000011c0: DIV
000011c1: MUL
000011c2: DUP4
000011c3: MSTORE
000011c4: SWAP2
000011c5: PUSH1 0x20
000011c7: ADD
000011c8: SWAP2
000011c9: PUSH2 0x11f8
000011cc: JUMP
000011cd: JUMPDEST
000011ce: DUP3
000011cf: ADD
000011d0: SWAP2
000011d1: SWAP1
000011d2: PUSH1 0x00
000011d4: MSTORE
000011d5: PUSH1 0x20
000011d7: PUSH1 0x00
000011d9: KECCAK256
000011da: SWAP1
000011db: JUMPDEST
000011dc: DUP2
000011dd: SLOAD
000011de: DUP2
000011df: MSTORE
000011e0: SWAP1
000011e1: PUSH1 0x01
000011e3: ADD
000011e4: SWAP1
000011e5: PUSH1 0x20
000011e7: ADD
000011e8: DUP1
000011e9: DUP4
000011ea: GT
000011eb: PUSH2 0x11db
000011ee: JUMPI
000011ef: DUP3
000011f0: SWAP1
000011f1: SUB
000011f2: PUSH1 0x1f
000011f4: AND
000011f5: DUP3
000011f6: ADD
000011f7: SWAP2
000011f8: JUMPDEST
000011f9: POP
000011fa: POP
000011fb: POP
000011fc: POP
000011fd: PUSH1 0x01
000011ff: DUP4
00001200: ADD
00001201: SLOAD
00001202: PUSH1 0x02
00001204: SWAP1
00001205: SWAP4
00001206: ADD
00001207: SLOAD
00001208: SWAP2
00001209: SWAP3
0000120a: SWAP2
0000120b: PUSH1 0xff
0000120d: AND
0000120e: SWAP1
0000120f: POP
00001210: DUP4
00001211: JUMP
00001212: JUMPDEST
00001213: PUSH1 0x00
00001215: DUP2
00001216: GT
00001217: PUSH2 0x1232
0000121a: JUMPI
0000121b: PUSH1 0x40
0000121d: MLOAD
0000121e: PUSH3 0x461bcd
00001222: PUSH1 0xe5
00001224: SHL
00001225: DUP2
00001226: MSTORE
00001227: PUSH1 0x04
00001229: ADD
0000122a: PUSH2 0x072c
0000122d: SWAP1
0000122e: PUSH2 0x2d28
00001231: JUMP
00001232: JUMPDEST
00001233: PUSH1 0x00
00001235: DUP1
00001236: PUSH1 0x00
00001238: PUSH2 0x1240
0000123b: CALLER
0000123c: PUSH2 0x07a2
0000123f: JUMP
00001240: JUMPDEST
00001241: POP
00001242: POP
00001243: SWAP3
00001244: POP
00001245: SWAP3
00001246: POP
00001247: SWAP3
00001248: POP
00001249: DUP1
0000124a: PUSH1 0x01
0000124c: EQ
0000124d: DUP1
0000124e: PUSH2 0x1257
00001251: JUMPI
00001252: POP
00001253: DUP1
00001254: PUSH1 0x03
00001256: EQ
00001257: JUMPDEST
00001258: PUSH2 0x1273
0000125b: JUMPI
0000125c: PUSH1 0x40
0000125e: MLOAD
0000125f: PUSH3 0x461bcd
00001263: PUSH1 0xe5
00001265: SHL
00001266: DUP2
00001267: MSTORE
00001268: PUSH1 0x04
0000126a: ADD
0000126b: PUSH2 0x072c
0000126e: SWAP1
0000126f: PUSH2 0x2f16
00001272: JUMP
00001273: JUMPDEST
00001274: PUSH2 0x127e
00001277: DUP3
00001278: DUP5
00001279: CALLER
0000127a: PUSH2 0x0991
0000127d: JUMP
0000127e: JUMPDEST
0000127f: DUP5
00001280: GT
00001281: ISZERO
00001282: PUSH2 0x129d
00001285: JUMPI
00001286: PUSH1 0x40
00001288: MLOAD
00001289: PUSH3 0x461bcd
0000128d: PUSH1 0xe5
0000128f: SHL
00001290: DUP2
00001291: MSTORE
00001292: PUSH1 0x04
00001294: ADD
00001295: PUSH2 0x072c
00001298: SWAP1
00001299: PUSH2 0x2db1
0000129c: JUMP
0000129d: JUMPDEST
0000129e: PUSH1 0x06
000012a0: SLOAD
000012a1: PUSH1 0x04
000012a3: SLOAD
000012a4: PUSH2 0x12ad
000012a7: SWAP1
000012a8: DUP7
000012a9: PUSH2 0x2173
000012ac: JUMP
000012ad: JUMPDEST
000012ae: GT
000012af: ISZERO
000012b0: PUSH2 0x12cb
000012b3: JUMPI
000012b4: PUSH1 0x40
000012b6: MLOAD
000012b7: PUSH3 0x461bcd
000012bb: PUSH1 0xe5
000012bd: SHL
000012be: DUP2
000012bf: MSTORE
000012c0: PUSH1 0x04
000012c2: ADD
000012c3: PUSH2 0x072c
000012c6: SWAP1
000012c7: PUSH2 0x2ea1
000012ca: JUMP
000012cb: JUMPDEST
000012cc: PUSH1 0x00
000012ce: PUSH2 0x12e2
000012d1: PUSH1 0x02
000012d3: SLOAD
000012d4: DUP7
000012d5: PUSH2 0x21e3
000012d8: SWAP1
000012d9: SWAP2
000012da: SWAP1
000012db: PUSH4 0xffffffff
000012e0: AND
000012e1: JUMP
000012e2: JUMPDEST
000012e3: SWAP1
000012e4: POP
000012e5: DUP1
000012e6: CALLVALUE
000012e7: EQ
000012e8: PUSH2 0x1303
000012eb: JUMPI
000012ec: PUSH1 0x40
000012ee: MLOAD
000012ef: PUSH3 0x461bcd
000012f3: PUSH1 0xe5
000012f5: SHL
000012f6: DUP2
000012f7: MSTORE
000012f8: PUSH1 0x04
000012fa: ADD
000012fb: PUSH2 0x072c
000012fe: SWAP1
000012ff: PUSH2 0x2ecd
00001302: JUMP
00001303: JUMPDEST
00001304: PUSH2 0x130c
00001307: CALLER
00001308: PUSH2 0x1cfa
0000130b: JUMP
0000130c: JUMPDEST
0000130d: PUSH2 0x1322
00001310: JUMPI
00001311: PUSH1 0x03
00001313: SLOAD
00001314: PUSH2 0x131e
00001317: SWAP1
00001318: PUSH1 0x01
0000131a: PUSH2 0x2173
0000131d: JUMP
0000131e: JUMPDEST
0000131f: PUSH1 0x03
00001321: SSTORE
00001322: JUMPDEST
00001323: PUSH1 0x04
00001325: SLOAD
00001326: PUSH2 0x132f
00001329: SWAP1
0000132a: DUP7
0000132b: PUSH2 0x2173
0000132e: JUMP
0000132f: JUMPDEST
00001330: PUSH1 0x04
00001332: SSTORE
00001333: PUSH1 0x05
00001335: SLOAD
00001336: PUSH2 0x133f
00001339: SWAP1
0000133a: DUP3
0000133b: PUSH2 0x2173
0000133e: JUMP
0000133f: JUMPDEST
00001340: PUSH1 0x05
00001342: SSTORE
00001343: PUSH2 0x1383
00001346: DUP6
00001347: PUSH1 0x08
00001349: PUSH2 0x1353
0000134c: DUP7
0000134d: PUSH1 0x01
0000134f: PUSH2 0x21a1
00001352: JUMP
00001353: JUMPDEST
00001354: DUP2
00001355: SLOAD
00001356: DUP2
00001357: LT
00001358: PUSH2 0x135d
0000135b: JUMPI
0000135c: INVALID
0000135d: JUMPDEST
0000135e: PUSH1 0x00
00001360: SWAP2
00001361: DUP3
00001362: MSTORE
00001363: PUSH1 0x20
00001365: DUP1
00001366: DUP4
00001367: KECCAK256
00001368: CALLER
00001369: DUP5
0000136a: MSTORE
0000136b: PUSH1 0x04
0000136d: PUSH1 0x05
0000136f: SWAP1
00001370: SWAP4
00001371: MUL
00001372: ADD
00001373: SWAP2
00001374: SWAP1
00001375: SWAP2
00001376: ADD
00001377: SWAP1
00001378: MSTORE
00001379: PUSH1 0x40
0000137b: SWAP1
0000137c: KECCAK256
0000137d: SLOAD
0000137e: SWAP1
0000137f: PUSH2 0x2173
00001382: JUMP
00001383: JUMPDEST
00001384: PUSH1 0x08
00001386: PUSH2 0x1390
00001389: DUP6
0000138a: PUSH1 0x01
0000138c: PUSH2 0x21a1
0000138f: JUMP
00001390: JUMPDEST
00001391: DUP2
00001392: SLOAD
00001393: DUP2
00001394: LT
00001395: PUSH2 0x139a
00001398: JUMPI
00001399: INVALID
0000139a: JUMPDEST
0000139b: PUSH1 0x00
0000139d: SWAP2
0000139e: DUP3
0000139f: MSTORE
000013a0: PUSH1 0x20
000013a2: DUP1
000013a3: DUP4
000013a4: KECCAK256
000013a5: CALLER
000013a6: DUP1
000013a7: DUP6
000013a8: MSTORE
000013a9: PUSH1 0x04
000013ab: PUSH1 0x05
000013ad: SWAP1
000013ae: SWAP5
000013af: MUL
000013b0: SWAP1
000013b1: SWAP2
000013b2: ADD
000013b3: DUP4
000013b4: ADD
000013b5: SWAP1
000013b6: SWAP2
000013b7: MSTORE
000013b8: PUSH1 0x40
000013ba: DUP1
000013bb: DUP5
000013bc: KECCAK256
000013bd: SWAP5
000013be: SWAP1
000013bf: SWAP5
000013c0: SSTORE
000013c1: PUSH1 0x07
000013c3: SLOAD
000013c4: SWAP4
000013c5: MLOAD
000013c6: PUSH4 0x40c10f19
000013cb: PUSH1 0xe0
000013cd: SHL
000013ce: DUP2
000013cf: MSTORE
000013d0: PUSH2 0x0100
000013d3: SWAP1
000013d4: SWAP5
000013d5: DIV
000013d6: PUSH1 0x01
000013d8: PUSH1 0x01
000013da: PUSH1 0xa0
000013dc: SHL
000013dd: SUB
000013de: AND
000013df: SWAP4
000013e0: PUSH4 0x40c10f19
000013e5: SWAP4
000013e6: SWAP3
000013e7: PUSH2 0x13f3
000013ea: SWAP3
000013eb: SWAP2
000013ec: DUP12
000013ed: SWAP2
000013ee: ADD
000013ef: PUSH2 0x2ace
000013f2: JUMP
000013f3: JUMPDEST
000013f4: PUSH1 0x00
000013f6: PUSH1 0x40
000013f8: MLOAD
000013f9: DUP1
000013fa: DUP4
000013fb: SUB
000013fc: DUP2
000013fd: DUP6
000013fe: DUP9
000013ff: DUP1
00001400: EXTCODESIZE
00001401: ISZERO
00001402: DUP1
00001403: ISZERO
00001404: PUSH2 0x140c
00001407: JUMPI
00001408: PUSH1 0x00
0000140a: DUP1
0000140b: REVERT
0000140c: JUMPDEST
0000140d: POP
0000140e: GAS
0000140f: CALL
00001410: ISZERO
00001411: DUP1
00001412: ISZERO
00001413: PUSH2 0x1420
00001416: JUMPI
00001417: RETURNDATASIZE
00001418: PUSH1 0x00
0000141a: DUP1
0000141b: RETURNDATACOPY
0000141c: RETURNDATASIZE
0000141d: PUSH1 0x00
0000141f: REVERT
00001420: JUMPDEST
00001421: POP
00001422: POP
00001423: POP
00001424: POP
00001425: POP
00001426: POP
00001427: POP
00001428: POP
00001429: POP
0000142a: POP
0000142b: JUMP
0000142c: JUMPDEST
0000142d: PUSH1 0x00
0000142f: SLOAD
00001430: PUSH1 0x01
00001432: PUSH1 0x01
00001434: PUSH1 0xa0
00001436: SHL
00001437: SUB
00001438: AND
00001439: SWAP1
0000143a: JUMP
0000143b: JUMPDEST
0000143c: PUSH2 0x1443
0000143f: PUSH2 0x216f
00001442: JUMP
00001443: JUMPDEST
00001444: PUSH1 0x00
00001446: SLOAD
00001447: PUSH1 0x01
00001449: PUSH1 0x01
0000144b: PUSH1 0xa0
0000144d: SHL
0000144e: SUB
0000144f: SWAP1
00001450: DUP2
00001451: AND
00001452: SWAP2
00001453: AND
00001454: EQ
00001455: PUSH2 0x1470
00001458: JUMPI
00001459: PUSH1 0x40
0000145b: MLOAD
0000145c: PUSH3 0x461bcd
00001460: PUSH1 0xe5
00001462: SHL
00001463: DUP2
00001464: MSTORE
00001465: PUSH1 0x04
00001467: ADD
00001468: PUSH2 0x072c
0000146b: SWAP1
0000146c: PUSH2 0x2e6c
0000146f: JUMP
00001470: JUMPDEST
00001471: PUSH1 0x02
00001473: SSTORE
00001474: JUMP
00001475: JUMPDEST
00001476: PUSH2 0x147d
00001479: PUSH2 0x216f
0000147c: JUMP
0000147d: JUMPDEST
0000147e: PUSH1 0x00
00001480: SLOAD
00001481: PUSH1 0x01
00001483: PUSH1 0x01
00001485: PUSH1 0xa0
00001487: SHL
00001488: SUB
00001489: SWAP1
0000148a: DUP2
0000148b: AND
0000148c: SWAP2
0000148d: AND
0000148e: EQ
0000148f: PUSH2 0x14aa
00001492: JUMPI
00001493: PUSH1 0x40
00001495: MLOAD
00001496: PUSH3 0x461bcd
0000149a: PUSH1 0xe5
0000149c: SHL
0000149d: DUP2
0000149e: MSTORE
0000149f: PUSH1 0x04
000014a1: ADD
000014a2: PUSH2 0x072c
000014a5: SWAP1
000014a6: PUSH2 0x2e6c
000014a9: JUMP
000014aa: JUMPDEST
000014ab: DUP6
000014ac: PUSH2 0x14c7
000014af: JUMPI
000014b0: PUSH1 0x40
000014b2: MLOAD
000014b3: PUSH3 0x461bcd
000014b7: PUSH1 0xe5
000014b9: SHL
000014ba: DUP2
000014bb: MSTORE
000014bc: PUSH1 0x04
000014be: ADD
000014bf: PUSH2 0x072c
000014c2: SWAP1
000014c3: PUSH2 0x2df4
000014c6: JUMP
000014c7: JUMPDEST
000014c8: DUP6
000014c9: DUP5
000014ca: EQ
000014cb: PUSH2 0x14e6
000014ce: JUMPI
000014cf: PUSH1 0x40
000014d1: MLOAD
000014d2: PUSH3 0x461bcd
000014d6: PUSH1 0xe5
000014d8: SHL
000014d9: DUP2
000014da: MSTORE
000014db: PUSH1 0x04
000014dd: ADD
000014de: PUSH2 0x072c
000014e1: SWAP1
000014e2: PUSH2 0x2df4
000014e5: JUMP
000014e6: JUMPDEST
000014e7: PUSH2 0x14f2
000014ea: PUSH1 0x08
000014ec: PUSH1 0x00
000014ee: PUSH2 0x2359
000014f1: JUMP
000014f2: JUMPDEST
000014f3: PUSH1 0x00
000014f5: JUMPDEST
000014f6: DUP7
000014f7: DUP2
000014f8: LT
000014f9: ISZERO
000014fa: PUSH2 0x1677
000014fd: JUMPI
000014fe: PUSH1 0x08
00001500: PUSH1 0x40
00001502: MLOAD
00001503: DUP1
00001504: PUSH1 0x80
00001506: ADD
00001507: PUSH1 0x40
00001509: MSTORE
0000150a: DUP1
0000150b: DUP11
0000150c: DUP11
0000150d: DUP6
0000150e: DUP2
0000150f: DUP2
00001510: LT
00001511: PUSH2 0x1516
00001514: JUMPI
00001515: INVALID
00001516: JUMPDEST
00001517: SWAP1
00001518: POP
00001519: PUSH1 0x20
0000151b: MUL
0000151c: DUP2
0000151d: ADD
0000151e: SWAP1
0000151f: PUSH2 0x1528
00001522: SWAP2
00001523: SWAP1
00001524: PUSH2 0x3097
00001527: JUMP
00001528: JUMPDEST
00001529: DUP1
0000152a: DUP1
0000152b: PUSH1 0x1f
0000152d: ADD
0000152e: PUSH1 0x20
00001530: DUP1
00001531: SWAP2
00001532: DIV
00001533: MUL
00001534: PUSH1 0x20
00001536: ADD
00001537: PUSH1 0x40
00001539: MLOAD
0000153a: SWAP1
0000153b: DUP2
0000153c: ADD
0000153d: PUSH1 0x40
0000153f: MSTORE
00001540: DUP1
00001541: SWAP4
00001542: SWAP3
00001543: SWAP2
00001544: SWAP1
00001545: DUP2
00001546: DUP2
00001547: MSTORE
00001548: PUSH1 0x20
0000154a: ADD
0000154b: DUP4
0000154c: DUP4
0000154d: DUP1
0000154e: DUP3
0000154f: DUP5
00001550: CALLDATACOPY
00001551: PUSH1 0x00
00001553: SWAP3
00001554: ADD
00001555: SWAP2
00001556: SWAP1
00001557: SWAP2
00001558: MSTORE
00001559: POP
0000155a: POP
0000155b: POP
0000155c: SWAP1
0000155d: DUP3
0000155e: MSTORE
0000155f: POP
00001560: PUSH1 0x20
00001562: ADD
00001563: DUP9
00001564: DUP9
00001565: DUP6
00001566: DUP2
00001567: DUP2
00001568: LT
00001569: PUSH2 0x156e
0000156c: JUMPI
0000156d: INVALID
0000156e: JUMPDEST
0000156f: SWAP1
00001570: POP
00001571: PUSH1 0x20
00001573: MUL
00001574: ADD
00001575: CALLDATALOAD
00001576: DUP2
00001577: MSTORE
00001578: PUSH1 0x20
0000157a: ADD
0000157b: DUP7
0000157c: DUP7
0000157d: DUP6
0000157e: DUP2
0000157f: DUP2
00001580: LT
00001581: PUSH2 0x1586
00001584: JUMPI
00001585: INVALID
00001586: JUMPDEST
00001587: SWAP1
00001588: POP
00001589: PUSH1 0x20
0000158b: MUL
0000158c: ADD
0000158d: PUSH1 0x20
0000158f: DUP2
00001590: ADD
00001591: SWAP1
00001592: PUSH2 0x159b
00001595: SWAP2
00001596: SWAP1
00001597: PUSH2 0x26bb
0000159a: JUMP
0000159b: JUMPDEST
0000159c: PUSH1 0x01
0000159e: DUP2
0000159f: GT
000015a0: ISZERO
000015a1: PUSH2 0x15a6
000015a4: JUMPI
000015a5: INVALID
000015a6: JUMPDEST
000015a7: DUP2
000015a8: MSTORE
000015a9: PUSH1 0x20
000015ab: ADD
000015ac: DUP5
000015ad: PUSH1 0x01
000015af: PUSH1 0x01
000015b1: PUSH1 0x40
000015b3: SHL
000015b4: SUB
000015b5: DUP2
000015b6: GT
000015b7: DUP1
000015b8: ISZERO
000015b9: PUSH2 0x15c1
000015bc: JUMPI
000015bd: PUSH1 0x00
000015bf: DUP1
000015c0: REVERT
000015c1: JUMPDEST
000015c2: POP
000015c3: PUSH1 0x40
000015c5: MLOAD
000015c6: SWAP1
000015c7: DUP1
000015c8: DUP3
000015c9: MSTORE
000015ca: DUP1
000015cb: PUSH1 0x20
000015cd: MUL
000015ce: PUSH1 0x20
000015d0: ADD
000015d1: DUP3
000015d2: ADD
000015d3: PUSH1 0x40
000015d5: MSTORE
000015d6: DUP1
000015d7: ISZERO
000015d8: PUSH2 0x15eb
000015db: JUMPI
000015dc: DUP2
000015dd: PUSH1 0x20
000015df: ADD
000015e0: PUSH1 0x20
000015e2: DUP3
000015e3: MUL
000015e4: DUP1
000015e5: CALLDATASIZE
000015e6: DUP4
000015e7: CALLDATACOPY
000015e8: ADD
000015e9: SWAP1
000015ea: POP
000015eb: JUMPDEST
000015ec: POP
000015ed: SWAP1
000015ee: MSTORE
000015ef: DUP2
000015f0: SLOAD
000015f1: PUSH1 0x01
000015f3: DUP2
000015f4: ADD
000015f5: DUP4
000015f6: SSTORE
000015f7: PUSH1 0x00
000015f9: SWAP3
000015fa: DUP4
000015fb: MSTORE
000015fc: PUSH1 0x20
000015fe: SWAP3
000015ff: DUP4
00001600: SWAP1
00001601: KECCAK256
00001602: DUP3
00001603: MLOAD
00001604: DUP1
00001605: MLOAD
00001606: SWAP4
00001607: SWAP5
00001608: PUSH1 0x05
0000160a: SWAP1
0000160b: SWAP4
0000160c: MUL
0000160d: SWAP1
0000160e: SWAP2
0000160f: ADD
00001610: SWAP3
00001611: PUSH2 0x161d
00001614: SWAP3
00001615: DUP5
00001616: SWAP3
00001617: ADD
00001618: SWAP1
00001619: PUSH2 0x22eb
0000161c: JUMP
0000161d: JUMPDEST
0000161e: POP
0000161f: PUSH1 0x20
00001621: DUP3
00001622: ADD
00001623: MLOAD
00001624: DUP2
00001625: PUSH1 0x01
00001627: ADD
00001628: SSTORE
00001629: PUSH1 0x40
0000162b: DUP3
0000162c: ADD
0000162d: MLOAD
0000162e: DUP2
0000162f: PUSH1 0x02
00001631: ADD
00001632: PUSH1 0x00
00001634: PUSH2 0x0100
00001637: EXP
00001638: DUP2
00001639: SLOAD
0000163a: DUP2
0000163b: PUSH1 0xff
0000163d: MUL
0000163e: NOT
0000163f: AND
00001640: SWAP1
00001641: DUP4
00001642: PUSH1 0x01
00001644: DUP2
00001645: GT
00001646: ISZERO
00001647: PUSH2 0x164c
0000164a: JUMPI
0000164b: INVALID
0000164c: JUMPDEST
0000164d: MUL
0000164e: OR
0000164f: SWAP1
00001650: SSTORE
00001651: POP
00001652: PUSH1 0x60
00001654: DUP3
00001655: ADD
00001656: MLOAD
00001657: DUP1
00001658: MLOAD
00001659: PUSH2 0x166c
0000165c: SWAP2
0000165d: PUSH1 0x03
0000165f: DUP5
00001660: ADD
00001661: SWAP2
00001662: PUSH1 0x20
00001664: SWAP1
00001665: SWAP2
00001666: ADD
00001667: SWAP1
00001668: PUSH2 0x237a
0000166b: JUMP
0000166c: JUMPDEST
0000166d: POP
0000166e: POP
0000166f: POP
00001670: PUSH1 0x01
00001672: ADD
00001673: PUSH2 0x14f5
00001676: JUMP
00001677: JUMPDEST
00001678: POP
00001679: POP
0000167a: POP
0000167b: POP
0000167c: POP
0000167d: POP
0000167e: POP
0000167f: POP
00001680: JUMP
00001681: JUMPDEST
00001682: PUSH1 0x07
00001684: SLOAD
00001685: PUSH2 0x0100
00001688: SWAP1
00001689: DIV
0000168a: PUSH1 0x01
0000168c: PUSH1 0x01
0000168e: PUSH1 0xa0
00001690: SHL
00001691: SUB
00001692: AND
00001693: DUP2
00001694: JUMP
00001695: JUMPDEST
00001696: PUSH1 0x09
00001698: DUP2
00001699: DUP2
0000169a: SLOAD
0000169b: DUP2
0000169c: LT
0000169d: PUSH2 0x16a2
000016a0: JUMPI
000016a1: INVALID
000016a2: JUMPDEST
000016a3: PUSH1 0x00
000016a5: SWAP2
000016a6: DUP3
000016a7: MSTORE
000016a8: PUSH1 0x20
000016aa: SWAP2
000016ab: DUP3
000016ac: SWAP1
000016ad: KECCAK256
000016ae: PUSH1 0x02
000016b0: SWAP2
000016b1: DUP3
000016b2: MUL
000016b3: ADD
000016b4: DUP1
000016b5: SLOAD
000016b6: PUSH1 0x40
000016b8: DUP1
000016b9: MLOAD
000016ba: PUSH1 0x01
000016bc: DUP4
000016bd: AND
000016be: ISZERO
000016bf: PUSH2 0x0100
000016c2: MUL
000016c3: PUSH1 0x00
000016c5: NOT
000016c6: ADD
000016c7: SWAP1
000016c8: SWAP3
000016c9: AND
000016ca: SWAP4
000016cb: SWAP1
000016cc: SWAP4
000016cd: DIV
000016ce: PUSH1 0x1f
000016d0: DUP2
000016d1: ADD
000016d2: DUP6
000016d3: SWAP1
000016d4: DIV
000016d5: DUP6
000016d6: MUL
000016d7: DUP3
000016d8: ADD
000016d9: DUP6
000016da: ADD
000016db: SWAP1
000016dc: SWAP4
000016dd: MSTORE
000016de: DUP3
000016df: DUP2
000016e0: MSTORE
000016e1: SWAP1
000016e2: SWAP4
000016e3: POP
000016e4: SWAP2
000016e5: DUP4
000016e6: SWAP2
000016e7: SWAP1
000016e8: DUP4
000016e9: ADD
000016ea: DUP3
000016eb: DUP3
000016ec: DUP1
000016ed: ISZERO
000016ee: PUSH2 0x1738
000016f1: JUMPI
000016f2: DUP1
000016f3: PUSH1 0x1f
000016f5: LT
000016f6: PUSH2 0x170d
000016f9: JUMPI
000016fa: PUSH2 0x0100
000016fd: DUP1
000016fe: DUP4
000016ff: SLOAD
00001700: DIV
00001701: MUL
00001702: DUP4
00001703: MSTORE
00001704: SWAP2
00001705: PUSH1 0x20
00001707: ADD
00001708: SWAP2
00001709: PUSH2 0x1738
0000170c: JUMP
0000170d: JUMPDEST
0000170e: DUP3
0000170f: ADD
00001710: SWAP2
00001711: SWAP1
00001712: PUSH1 0x00
00001714: MSTORE
00001715: PUSH1 0x20
00001717: PUSH1 0x00
00001719: KECCAK256
0000171a: SWAP1
0000171b: JUMPDEST
0000171c: DUP2
0000171d: SLOAD
0000171e: DUP2
0000171f: MSTORE
00001720: SWAP1
00001721: PUSH1 0x01
00001723: ADD
00001724: SWAP1
00001725: PUSH1 0x20
00001727: ADD
00001728: DUP1
00001729: DUP4
0000172a: GT
0000172b: PUSH2 0x171b
0000172e: JUMPI
0000172f: DUP3
00001730: SWAP1
00001731: SUB
00001732: PUSH1 0x1f
00001734: AND
00001735: DUP3
00001736: ADD
00001737: SWAP2
00001738: JUMPDEST
00001739: POP
0000173a: POP
0000173b: POP
0000173c: POP
0000173d: POP
0000173e: SWAP1
0000173f: POP
00001740: DUP2
00001741: JUMP
00001742: JUMPDEST
00001743: PUSH2 0x174a
00001746: PUSH2 0x216f
00001749: JUMP
0000174a: JUMPDEST
0000174b: PUSH1 0x00
0000174d: SLOAD
0000174e: PUSH1 0x01
00001750: PUSH1 0x01
00001752: PUSH1 0xa0
00001754: SHL
00001755: SUB
00001756: SWAP1
00001757: DUP2
00001758: AND
00001759: SWAP2
0000175a: AND
0000175b: EQ
0000175c: PUSH2 0x1777
0000175f: JUMPI
00001760: PUSH1 0x40
00001762: MLOAD
00001763: PUSH3 0x461bcd
00001767: PUSH1 0xe5
00001769: SHL
0000176a: DUP2
0000176b: MSTORE
0000176c: PUSH1 0x04
0000176e: ADD
0000176f: PUSH2 0x072c
00001772: SWAP1
00001773: PUSH2 0x2e6c
00001776: JUMP
00001777: JUMPDEST
00001778: PUSH1 0x03
0000177a: SWAP3
0000177b: SWAP1
0000177c: SWAP3
0000177d: SSTORE
0000177e: PUSH1 0x04
00001780: SSTORE
00001781: PUSH1 0x05
00001783: SSTORE
00001784: JUMP
00001785: JUMPDEST
00001786: PUSH1 0x09
00001788: SLOAD
00001789: PUSH1 0x00
0000178b: SWAP1
0000178c: JUMPDEST
0000178d: DUP1
0000178e: ISZERO
0000178f: PUSH2 0x17ea
00001792: JUMPI
00001793: PUSH1 0x09
00001795: PUSH2 0x179f
00001798: DUP3
00001799: PUSH1 0x01
0000179b: PUSH2 0x21a1
0000179e: JUMP
0000179f: JUMPDEST
000017a0: DUP2
000017a1: SLOAD
000017a2: DUP2
000017a3: LT
000017a4: PUSH2 0x17a9
000017a7: JUMPI
000017a8: INVALID
000017a9: JUMPDEST
000017aa: PUSH1 0x00
000017ac: SWAP2
000017ad: DUP3
000017ae: MSTORE
000017af: PUSH1 0x20
000017b1: DUP1
000017b2: DUP4
000017b3: KECCAK256
000017b4: PUSH1 0x01
000017b6: PUSH1 0x01
000017b8: PUSH1 0xa0
000017ba: SHL
000017bb: SUB
000017bc: DUP8
000017bd: AND
000017be: DUP5
000017bf: MSTORE
000017c0: PUSH1 0x01
000017c2: PUSH1 0x02
000017c4: SWAP1
000017c5: SWAP4
000017c6: MUL
000017c7: ADD
000017c8: SWAP2
000017c9: SWAP1
000017ca: SWAP2
000017cb: ADD
000017cc: SWAP1
000017cd: MSTORE
000017ce: PUSH1 0x40
000017d0: SWAP1
000017d1: KECCAK256
000017d2: SLOAD
000017d3: PUSH1 0xff
000017d5: AND
000017d6: ISZERO
000017d7: PUSH2 0x17e1
000017da: JUMPI
000017db: SWAP1
000017dc: POP
000017dd: PUSH2 0x17f0
000017e0: JUMP
000017e1: JUMPDEST
000017e2: PUSH1 0x00
000017e4: NOT
000017e5: ADD
000017e6: PUSH2 0x178c
000017e9: JUMP
000017ea: JUMPDEST
000017eb: POP
000017ec: PUSH1 0x00
000017ee: SWAP1
000017ef: POP
000017f0: JUMPDEST
000017f1: SWAP2
000017f2: SWAP1
000017f3: POP
000017f4: JUMP
000017f5: JUMPDEST
000017f6: PUSH1 0x01
000017f8: SLOAD
000017f9: PUSH1 0x00
000017fb: SWAP1
000017fc: DUP2
000017fd: JUMPDEST
000017fe: PUSH1 0x08
00001800: SLOAD
00001801: DUP2
00001802: LT
00001803: ISZERO
00001804: PUSH2 0x0795
00001807: JUMPI
00001808: PUSH1 0x01
0000180a: PUSH1 0x08
0000180c: DUP3
0000180d: DUP2
0000180e: SLOAD
0000180f: DUP2
00001810: LT
00001811: PUSH2 0x1816
00001814: JUMPI
00001815: INVALID
00001816: JUMPDEST
00001817: PUSH1 0x00
00001819: SWAP2
0000181a: DUP3
0000181b: MSTORE
0000181c: PUSH1 0x20
0000181e: SWAP1
0000181f: SWAP2
00001820: KECCAK256
00001821: PUSH1 0x02
00001823: PUSH1 0x05
00001825: SWAP1
00001826: SWAP3
00001827: MUL
00001828: ADD
00001829: ADD
0000182a: SLOAD
0000182b: PUSH1 0xff
0000182d: AND
0000182e: PUSH1 0x01
00001830: DUP2
00001831: GT
00001832: ISZERO
00001833: PUSH2 0x1838
00001836: JUMPI
00001837: INVALID
00001838: JUMPDEST
00001839: EQ
0000183a: ISZERO
0000183b: PUSH2 0x1846
0000183e: JUMPI
0000183f: POP
00001840: SWAP1
00001841: POP
00001842: PUSH2 0x0799
00001845: JUMP
00001846: JUMPDEST
00001847: PUSH2 0x1856
0000184a: PUSH1 0x08
0000184c: DUP3
0000184d: DUP2
0000184e: SLOAD
0000184f: DUP2
00001850: LT
00001851: PUSH2 0x076a
00001854: JUMPI
00001855: INVALID
00001856: JUMPDEST
00001857: SWAP2
00001858: POP
00001859: PUSH1 0x01
0000185b: ADD
0000185c: PUSH2 0x17fd
0000185f: JUMP
00001860: JUMPDEST
00001861: PUSH2 0x1868
00001864: PUSH2 0x216f
00001867: JUMP
00001868: JUMPDEST
00001869: PUSH1 0x00
0000186b: SLOAD
0000186c: PUSH1 0x01
0000186e: PUSH1 0x01
00001870: PUSH1 0xa0
00001872: SHL
00001873: SUB
00001874: SWAP1
00001875: DUP2
00001876: AND
00001877: SWAP2
00001878: AND
00001879: EQ
0000187a: PUSH2 0x1895
0000187d: JUMPI
0000187e: PUSH1 0x40
00001880: MLOAD
00001881: PUSH3 0x461bcd
00001885: PUSH1 0xe5
00001887: SHL
00001888: DUP2
00001889: MSTORE
0000188a: PUSH1 0x04
0000188c: ADD
0000188d: PUSH2 0x072c
00001890: SWAP1
00001891: PUSH2 0x2e6c
00001894: JUMP
00001895: JUMPDEST
00001896: PUSH1 0x09
00001898: SLOAD
00001899: DUP5
0000189a: LT
0000189b: PUSH2 0x18b6
0000189e: JUMPI
0000189f: PUSH1 0x40
000018a1: MLOAD
000018a2: PUSH3 0x461bcd
000018a6: PUSH1 0xe5
000018a8: SHL
000018a9: DUP2
000018aa: MSTORE
000018ab: PUSH1 0x04
000018ad: ADD
000018ae: PUSH2 0x072c
000018b1: SWAP1
000018b2: PUSH2 0x2c05
000018b5: JUMP
000018b6: JUMPDEST
000018b7: PUSH1 0x00
000018b9: PUSH1 0x09
000018bb: DUP6
000018bc: DUP2
000018bd: SLOAD
000018be: DUP2
000018bf: LT
000018c0: PUSH2 0x18c5
000018c3: JUMPI
000018c4: INVALID
000018c5: JUMPDEST
000018c6: SWAP1
000018c7: PUSH1 0x00
000018c9: MSTORE
000018ca: PUSH1 0x20
000018cc: PUSH1 0x00
000018ce: KECCAK256
000018cf: SWAP1
000018d0: PUSH1 0x02
000018d2: MUL
000018d3: ADD
000018d4: SWAP1
000018d5: POP
000018d6: PUSH1 0x00
000018d8: JUMPDEST
000018d9: DUP4
000018da: DUP2
000018db: LT
000018dc: ISZERO
000018dd: PUSH2 0x1934
000018e0: JUMPI
000018e1: PUSH1 0x00
000018e3: DUP6
000018e4: DUP6
000018e5: DUP4
000018e6: DUP2
000018e7: DUP2
000018e8: LT
000018e9: PUSH2 0x18ee
000018ec: JUMPI
000018ed: INVALID
000018ee: JUMPDEST
000018ef: SWAP1
000018f0: POP
000018f1: PUSH1 0x20
000018f3: MUL
000018f4: ADD
000018f5: PUSH1 0x20
000018f7: DUP2
000018f8: ADD
000018f9: SWAP1
000018fa: PUSH2 0x1903
000018fd: SWAP2
000018fe: SWAP1
000018ff: PUSH2 0x2549
00001902: JUMP
00001903: JUMPDEST
00001904: PUSH1 0x01
00001906: PUSH1 0x01
00001908: PUSH1 0xa0
0000190a: SHL
0000190b: SUB
0000190c: AND
0000190d: PUSH1 0x00
0000190f: SWAP1
00001910: DUP2
00001911: MSTORE
00001912: PUSH1 0x01
00001914: DUP1
00001915: DUP6
00001916: ADD
00001917: PUSH1 0x20
00001919: MSTORE
0000191a: PUSH1 0x40
0000191c: SWAP1
0000191d: SWAP2
0000191e: KECCAK256
0000191f: DUP1
00001920: SLOAD
00001921: PUSH1 0xff
00001923: NOT
00001924: AND
00001925: DUP7
00001926: ISZERO
00001927: OR
00001928: SWAP1
00001929: SSTORE
0000192a: SWAP2
0000192b: SWAP1
0000192c: SWAP2
0000192d: ADD
0000192e: SWAP1
0000192f: POP
00001930: PUSH2 0x18d8
00001933: JUMP
00001934: JUMPDEST
00001935: POP
00001936: POP
00001937: POP
00001938: POP
00001939: POP
0000193a: POP
0000193b: JUMP
0000193c: JUMPDEST
0000193d: PUSH1 0x07
0000193f: SLOAD
00001940: PUSH1 0x00
00001942: SWAP1
00001943: PUSH1 0xff
00001945: AND
00001946: DUP1
00001947: PUSH2 0x1957
0000194a: JUMPI
0000194b: POP
0000194c: PUSH2 0x1953
0000194f: PUSH2 0x0748
00001952: JUMP
00001953: JUMPDEST
00001954: TIMESTAMP
00001955: LT
00001956: ISZERO
00001957: JUMPDEST
00001958: DUP1
00001959: PUSH2 0x1966
0000195c: JUMPI
0000195d: POP
0000195e: PUSH1 0x06
00001960: SLOAD
00001961: PUSH1 0x04
00001963: SLOAD
00001964: LT
00001965: ISZERO
00001966: JUMPDEST
00001967: ISZERO
00001968: PUSH2 0x1973
0000196b: JUMPI
0000196c: POP
0000196d: PUSH1 0x01
0000196f: PUSH2 0x0799
00001972: JUMP
00001973: JUMPDEST
00001974: POP
00001975: PUSH1 0x00
00001977: SWAP1
00001978: JUMP
00001979: JUMPDEST
0000197a: PUSH2 0x1981
0000197d: PUSH2 0x216f
00001980: JUMP
00001981: JUMPDEST
00001982: PUSH1 0x00
00001984: SLOAD
00001985: PUSH1 0x01
00001987: PUSH1 0x01
00001989: PUSH1 0xa0
0000198b: SHL
0000198c: SUB
0000198d: SWAP1
0000198e: DUP2
0000198f: AND
00001990: SWAP2
00001991: AND
00001992: EQ
00001993: PUSH2 0x19ae
00001996: JUMPI
00001997: PUSH1 0x40
00001999: MLOAD
0000199a: PUSH3 0x461bcd
0000199e: PUSH1 0xe5
000019a0: SHL
000019a1: DUP2
000019a2: MSTORE
000019a3: PUSH1 0x04
000019a5: ADD
000019a6: PUSH2 0x072c
000019a9: SWAP1
000019aa: PUSH2 0x2e6c
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH1 0x08
000019b1: SLOAD
000019b2: DUP4
000019b3: LT
000019b4: PUSH2 0x19cf
000019b7: JUMPI
000019b8: PUSH1 0x40
000019ba: MLOAD
000019bb: PUSH3 0x461bcd
000019bf: PUSH1 0xe5
000019c1: SHL
000019c2: DUP2
000019c3: MSTORE
000019c4: PUSH1 0x04
000019c6: ADD
000019c7: PUSH2 0x072c
000019ca: SWAP1
000019cb: PUSH2 0x2d84
000019ce: JUMP
000019cf: JUMPDEST
000019d0: PUSH1 0x00
000019d2: PUSH1 0x08
000019d4: DUP5
000019d5: DUP2
000019d6: SLOAD
000019d7: DUP2
000019d8: LT
000019d9: PUSH2 0x19de
000019dc: JUMPI
000019dd: INVALID
000019de: JUMPDEST
000019df: PUSH1 0x00
000019e1: SWAP2
000019e2: DUP3
000019e3: MSTORE
000019e4: PUSH1 0x20
000019e6: SWAP1
000019e7: SWAP2
000019e8: KECCAK256
000019e9: PUSH1 0x05
000019eb: SWAP1
000019ec: SWAP2
000019ed: MUL
000019ee: ADD
000019ef: SWAP1
000019f0: POP
000019f1: PUSH2 0x0b84
000019f4: PUSH1 0x03
000019f6: DUP3
000019f7: ADD
000019f8: DUP5
000019f9: DUP5
000019fa: PUSH2 0x23b4
000019fd: JUMP
000019fe: JUMPDEST
000019ff: PUSH1 0x01
00001a01: SLOAD
00001a02: DUP2
00001a03: JUMP
00001a04: JUMPDEST
00001a05: PUSH1 0x07
00001a07: SLOAD
00001a08: PUSH1 0x40
00001a0a: MLOAD
00001a0b: PUSH4 0x70a08231
00001a10: PUSH1 0xe0
00001a12: SHL
00001a13: DUP2
00001a14: MSTORE
00001a15: PUSH1 0x00
00001a17: SWAP2
00001a18: PUSH1 0x60
00001a1a: SWAP2
00001a1b: DUP3
00001a1c: SWAP2
00001a1d: PUSH2 0x0100
00001a20: SWAP1
00001a21: DIV
00001a22: PUSH1 0x01
00001a24: PUSH1 0x01
00001a26: PUSH1 0xa0
00001a28: SHL
00001a29: SUB
00001a2a: AND
00001a2b: SWAP1
00001a2c: DUP5
00001a2d: SWAP1
00001a2e: DUP3
00001a2f: SWAP1
00001a30: PUSH4 0x70a08231
00001a35: SWAP1
00001a36: PUSH2 0x1a43
00001a39: SWAP1
00001a3a: CALLER
00001a3b: SWAP1
00001a3c: PUSH1 0x04
00001a3e: ADD
00001a3f: PUSH2 0x2aba
00001a42: JUMP
00001a43: JUMPDEST
00001a44: PUSH1 0x20
00001a46: PUSH1 0x40
00001a48: MLOAD
00001a49: DUP1
00001a4a: DUP4
00001a4b: SUB
00001a4c: DUP2
00001a4d: DUP7
00001a4e: DUP1
00001a4f: EXTCODESIZE
00001a50: ISZERO
00001a51: DUP1
00001a52: ISZERO
00001a53: PUSH2 0x1a5b
00001a56: JUMPI
00001a57: PUSH1 0x00
00001a59: DUP1
00001a5a: REVERT
00001a5b: JUMPDEST
00001a5c: POP
00001a5d: GAS
00001a5e: STATICCALL
00001a5f: ISZERO
00001a60: DUP1
00001a61: ISZERO
00001a62: PUSH2 0x1a6f
00001a65: JUMPI
00001a66: RETURNDATASIZE
00001a67: PUSH1 0x00
00001a69: DUP1
00001a6a: RETURNDATACOPY
00001a6b: RETURNDATASIZE
00001a6c: PUSH1 0x00
00001a6e: REVERT
00001a6f: JUMPDEST
00001a70: POP
00001a71: POP
00001a72: POP
00001a73: POP
00001a74: PUSH1 0x40
00001a76: MLOAD
00001a77: RETURNDATASIZE
00001a78: PUSH1 0x1f
00001a7a: NOT
00001a7b: PUSH1 0x1f
00001a7d: DUP3
00001a7e: ADD
00001a7f: AND
00001a80: DUP3
00001a81: ADD
00001a82: DUP1
00001a83: PUSH1 0x40
00001a85: MSTORE
00001a86: POP
00001a87: DUP2
00001a88: ADD
00001a89: SWAP1
00001a8a: PUSH2 0x1a93
00001a8d: SWAP2
00001a8e: SWAP1
00001a8f: PUSH2 0x2789
00001a92: JUMP
00001a93: JUMPDEST
00001a94: SWAP1
00001a95: POP
00001a96: DUP1
00001a97: ISZERO
00001a98: PUSH2 0x1c80
00001a9b: JUMPI
00001a9c: DUP1
00001a9d: PUSH1 0x01
00001a9f: PUSH1 0x01
00001aa1: PUSH1 0x40
00001aa3: SHL
00001aa4: SUB
00001aa5: DUP2
00001aa6: GT
00001aa7: DUP1
00001aa8: ISZERO
00001aa9: PUSH2 0x1ab1
00001aac: JUMPI
00001aad: PUSH1 0x00
00001aaf: DUP1
00001ab0: REVERT
00001ab1: JUMPDEST
00001ab2: POP
00001ab3: PUSH1 0x40
00001ab5: MLOAD
00001ab6: SWAP1
00001ab7: DUP1
00001ab8: DUP3
00001ab9: MSTORE
00001aba: DUP1
00001abb: PUSH1 0x20
00001abd: MUL
00001abe: PUSH1 0x20
00001ac0: ADD
00001ac1: DUP3
00001ac2: ADD
00001ac3: PUSH1 0x40
00001ac5: MSTORE
00001ac6: DUP1
00001ac7: ISZERO
00001ac8: PUSH2 0x1adb
00001acb: JUMPI
00001acc: DUP2
00001acd: PUSH1 0x20
00001acf: ADD
00001ad0: PUSH1 0x20
00001ad2: DUP3
00001ad3: MUL
00001ad4: DUP1
00001ad5: CALLDATASIZE
00001ad6: DUP4
00001ad7: CALLDATACOPY
00001ad8: ADD
00001ad9: SWAP1
00001ada: POP
00001adb: JUMPDEST
00001adc: POP
00001add: SWAP4
00001ade: POP
00001adf: DUP1
00001ae0: PUSH1 0x01
00001ae2: PUSH1 0x01
00001ae4: PUSH1 0x40
00001ae6: SHL
00001ae7: SUB
00001ae8: DUP2
00001ae9: GT
00001aea: DUP1
00001aeb: ISZERO
00001aec: PUSH2 0x1af4
00001aef: JUMPI
00001af0: PUSH1 0x00
00001af2: DUP1
00001af3: REVERT
00001af4: JUMPDEST
00001af5: POP
00001af6: PUSH1 0x40
00001af8: MLOAD
00001af9: SWAP1
00001afa: DUP1
00001afb: DUP3
00001afc: MSTORE
00001afd: DUP1
00001afe: PUSH1 0x20
00001b00: MUL
00001b01: PUSH1 0x20
00001b03: ADD
00001b04: DUP3
00001b05: ADD
00001b06: PUSH1 0x40
00001b08: MSTORE
00001b09: DUP1
00001b0a: ISZERO
00001b0b: PUSH2 0x1b28
00001b0e: JUMPI
00001b0f: DUP2
00001b10: PUSH1 0x20
00001b12: ADD
00001b13: JUMPDEST
00001b14: PUSH1 0x60
00001b16: DUP2
00001b17: MSTORE
00001b18: PUSH1 0x20
00001b1a: ADD
00001b1b: SWAP1
00001b1c: PUSH1 0x01
00001b1e: SWAP1
00001b1f: SUB
00001b20: SWAP1
00001b21: DUP2
00001b22: PUSH2 0x1b13
00001b25: JUMPI
00001b26: SWAP1
00001b27: POP
00001b28: JUMPDEST
00001b29: POP
00001b2a: SWAP3
00001b2b: POP
00001b2c: PUSH1 0x00
00001b2e: JUMPDEST
00001b2f: DUP2
00001b30: DUP2
00001b31: LT
00001b32: ISZERO
00001b33: PUSH2 0x1c7e
00001b36: JUMPI
00001b37: PUSH1 0x40
00001b39: MLOAD
00001b3a: PUSH4 0x2f745c59
00001b3f: PUSH1 0xe0
00001b41: SHL
00001b42: DUP2
00001b43: MSTORE
00001b44: PUSH1 0x01
00001b46: PUSH1 0x01
00001b48: PUSH1 0xa0
00001b4a: SHL
00001b4b: SUB
00001b4c: DUP5
00001b4d: AND
00001b4e: SWAP1
00001b4f: PUSH4 0x2f745c59
00001b54: SWAP1
00001b55: PUSH2 0x1b64
00001b58: SWAP1
00001b59: CALLER
00001b5a: SWAP1
00001b5b: DUP6
00001b5c: SWAP1
00001b5d: PUSH1 0x04
00001b5f: ADD
00001b60: PUSH2 0x2ace
00001b63: JUMP
00001b64: JUMPDEST
00001b65: PUSH1 0x20
00001b67: PUSH1 0x40
00001b69: MLOAD
00001b6a: DUP1
00001b6b: DUP4
00001b6c: SUB
00001b6d: DUP2
00001b6e: DUP7
00001b6f: DUP1
00001b70: EXTCODESIZE
00001b71: ISZERO
00001b72: DUP1
00001b73: ISZERO
00001b74: PUSH2 0x1b7c
00001b77: JUMPI
00001b78: PUSH1 0x00
00001b7a: DUP1
00001b7b: REVERT
00001b7c: JUMPDEST
00001b7d: POP
00001b7e: GAS
00001b7f: STATICCALL
00001b80: ISZERO
00001b81: DUP1
00001b82: ISZERO
00001b83: PUSH2 0x1b90
00001b86: JUMPI
00001b87: RETURNDATASIZE
00001b88: PUSH1 0x00
00001b8a: DUP1
00001b8b: RETURNDATACOPY
00001b8c: RETURNDATASIZE
00001b8d: PUSH1 0x00
00001b8f: REVERT
00001b90: JUMPDEST
00001b91: POP
00001b92: POP
00001b93: POP
00001b94: POP
00001b95: PUSH1 0x40
00001b97: MLOAD
00001b98: RETURNDATASIZE
00001b99: PUSH1 0x1f
00001b9b: NOT
00001b9c: PUSH1 0x1f
00001b9e: DUP3
00001b9f: ADD
00001ba0: AND
00001ba1: DUP3
00001ba2: ADD
00001ba3: DUP1
00001ba4: PUSH1 0x40
00001ba6: MSTORE
00001ba7: POP
00001ba8: DUP2
00001ba9: ADD
00001baa: SWAP1
00001bab: PUSH2 0x1bb4
00001bae: SWAP2
00001baf: SWAP1
00001bb0: PUSH2 0x2789
00001bb3: JUMP
00001bb4: JUMPDEST
00001bb5: DUP6
00001bb6: DUP3
00001bb7: DUP2
00001bb8: MLOAD
00001bb9: DUP2
00001bba: LT
00001bbb: PUSH2 0x1bc0
00001bbe: JUMPI
00001bbf: INVALID
00001bc0: JUMPDEST
00001bc1: PUSH1 0x20
00001bc3: MUL
00001bc4: PUSH1 0x20
00001bc6: ADD
00001bc7: ADD
00001bc8: DUP2
00001bc9: DUP2
00001bca: MSTORE
00001bcb: POP
00001bcc: POP
00001bcd: DUP3
00001bce: PUSH1 0x01
00001bd0: PUSH1 0x01
00001bd2: PUSH1 0xa0
00001bd4: SHL
00001bd5: SUB
00001bd6: AND
00001bd7: PUSH4 0xc87b56dd
00001bdc: DUP7
00001bdd: DUP4
00001bde: DUP2
00001bdf: MLOAD
00001be0: DUP2
00001be1: LT
00001be2: PUSH2 0x1be7
00001be5: JUMPI
00001be6: INVALID
00001be7: JUMPDEST
00001be8: PUSH1 0x20
00001bea: MUL
00001beb: PUSH1 0x20
00001bed: ADD
00001bee: ADD
00001bef: MLOAD
00001bf0: PUSH1 0x40
00001bf2: MLOAD
00001bf3: DUP3
00001bf4: PUSH4 0xffffffff
00001bf9: AND
00001bfa: PUSH1 0xe0
00001bfc: SHL
00001bfd: DUP2
00001bfe: MSTORE
00001bff: PUSH1 0x04
00001c01: ADD
00001c02: PUSH2 0x1c0b
00001c05: SWAP2
00001c06: SWAP1
00001c07: PUSH2 0x2fd1
00001c0a: JUMP
00001c0b: JUMPDEST
00001c0c: PUSH1 0x00
00001c0e: PUSH1 0x40
00001c10: MLOAD
00001c11: DUP1
00001c12: DUP4
00001c13: SUB
00001c14: DUP2
00001c15: DUP7
00001c16: DUP1
00001c17: EXTCODESIZE
00001c18: ISZERO
00001c19: DUP1
00001c1a: ISZERO
00001c1b: PUSH2 0x1c23
00001c1e: JUMPI
00001c1f: PUSH1 0x00
00001c21: DUP1
00001c22: REVERT
00001c23: JUMPDEST
00001c24: POP
00001c25: GAS
00001c26: STATICCALL
00001c27: ISZERO
00001c28: DUP1
00001c29: ISZERO
00001c2a: PUSH2 0x1c37
00001c2d: JUMPI
00001c2e: RETURNDATASIZE
00001c2f: PUSH1 0x00
00001c31: DUP1
00001c32: RETURNDATACOPY
00001c33: RETURNDATASIZE
00001c34: PUSH1 0x00
00001c36: REVERT
00001c37: JUMPDEST
00001c38: POP
00001c39: POP
00001c3a: POP
00001c3b: POP
00001c3c: PUSH1 0x40
00001c3e: MLOAD
00001c3f: RETURNDATASIZE
00001c40: PUSH1 0x00
00001c42: DUP3
00001c43: RETURNDATACOPY
00001c44: PUSH1 0x1f
00001c46: RETURNDATASIZE
00001c47: SWAP1
00001c48: DUP2
00001c49: ADD
00001c4a: PUSH1 0x1f
00001c4c: NOT
00001c4d: AND
00001c4e: DUP3
00001c4f: ADD
00001c50: PUSH1 0x40
00001c52: MSTORE
00001c53: PUSH2 0x1c5f
00001c56: SWAP2
00001c57: SWAP1
00001c58: DUP2
00001c59: ADD
00001c5a: SWAP1
00001c5b: PUSH2 0x26d7
00001c5e: JUMP
00001c5f: JUMPDEST
00001c60: DUP5
00001c61: DUP3
00001c62: DUP2
00001c63: MLOAD
00001c64: DUP2
00001c65: LT
00001c66: PUSH2 0x1c6b
00001c69: JUMPI
00001c6a: INVALID
00001c6b: JUMPDEST
00001c6c: PUSH1 0x20
00001c6e: SWAP1
00001c6f: DUP2
00001c70: MUL
00001c71: SWAP2
00001c72: SWAP1
00001c73: SWAP2
00001c74: ADD
00001c75: ADD
00001c76: MSTORE
00001c77: PUSH1 0x01
00001c79: ADD
00001c7a: PUSH2 0x1b2e
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: POP
00001c80: JUMPDEST
00001c81: DUP2
00001c82: PUSH1 0x01
00001c84: PUSH1 0x01
00001c86: PUSH1 0xa0
00001c88: SHL
00001c89: SUB
00001c8a: AND
00001c8b: PUSH4 0x65cf7c9b
00001c90: PUSH1 0x40
00001c92: MLOAD
00001c93: DUP2
00001c94: PUSH4 0xffffffff
00001c99: AND
00001c9a: PUSH1 0xe0
00001c9c: SHL
00001c9d: DUP2
00001c9e: MSTORE
00001c9f: PUSH1 0x04
00001ca1: ADD
00001ca2: PUSH1 0x20
00001ca4: PUSH1 0x40
00001ca6: MLOAD
00001ca7: DUP1
00001ca8: DUP4
00001ca9: SUB
00001caa: DUP2
00001cab: DUP7
00001cac: DUP1
00001cad: EXTCODESIZE
00001cae: ISZERO
00001caf: DUP1
00001cb0: ISZERO
00001cb1: PUSH2 0x1cb9
00001cb4: JUMPI
00001cb5: PUSH1 0x00
00001cb7: DUP1
00001cb8: REVERT
00001cb9: JUMPDEST
00001cba: POP
00001cbb: GAS
00001cbc: STATICCALL
00001cbd: ISZERO
00001cbe: DUP1
00001cbf: ISZERO
00001cc0: PUSH2 0x1ccd
00001cc3: JUMPI
00001cc4: RETURNDATASIZE
00001cc5: PUSH1 0x00
00001cc7: DUP1
00001cc8: RETURNDATACOPY
00001cc9: RETURNDATASIZE
00001cca: PUSH1 0x00
00001ccc: REVERT
00001ccd: JUMPDEST
00001cce: POP
00001ccf: POP
00001cd0: POP
00001cd1: POP
00001cd2: PUSH1 0x40
00001cd4: MLOAD
00001cd5: RETURNDATASIZE
00001cd6: PUSH1 0x1f
00001cd8: NOT
00001cd9: PUSH1 0x1f
00001cdb: DUP3
00001cdc: ADD
00001cdd: AND
00001cde: DUP3
00001cdf: ADD
00001ce0: DUP1
00001ce1: PUSH1 0x40
00001ce3: MSTORE
00001ce4: POP
00001ce5: DUP2
00001ce6: ADD
00001ce7: SWAP1
00001ce8: PUSH2 0x1cf1
00001ceb: SWAP2
00001cec: SWAP1
00001ced: PUSH2 0x2789
00001cf0: JUMP
00001cf1: JUMPDEST
00001cf2: SWAP5
00001cf3: POP
00001cf4: POP
00001cf5: POP
00001cf6: SWAP1
00001cf7: SWAP2
00001cf8: SWAP3
00001cf9: JUMP
00001cfa: JUMPDEST
00001cfb: PUSH1 0x00
00001cfd: DUP1
00001cfe: DUP1
00001cff: JUMPDEST
00001d00: PUSH1 0x08
00001d02: SLOAD
00001d03: DUP2
00001d04: LT
00001d05: ISZERO
00001d06: PUSH2 0x1d4c
00001d09: JUMPI
00001d0a: PUSH1 0x08
00001d0c: DUP2
00001d0d: DUP2
00001d0e: SLOAD
00001d0f: DUP2
00001d10: LT
00001d11: PUSH2 0x1d16
00001d14: JUMPI
00001d15: INVALID
00001d16: JUMPDEST
00001d17: PUSH1 0x00
00001d19: SWAP2
00001d1a: DUP3
00001d1b: MSTORE
00001d1c: PUSH1 0x20
00001d1e: DUP1
00001d1f: DUP4
00001d20: KECCAK256
00001d21: PUSH1 0x01
00001d23: PUSH1 0x01
00001d25: PUSH1 0xa0
00001d27: SHL
00001d28: SUB
00001d29: DUP9
00001d2a: AND
00001d2b: DUP5
00001d2c: MSTORE
00001d2d: PUSH1 0x04
00001d2f: PUSH1 0x05
00001d31: SWAP1
00001d32: SWAP4
00001d33: MUL
00001d34: ADD
00001d35: SWAP2
00001d36: SWAP1
00001d37: SWAP2
00001d38: ADD
00001d39: SWAP1
00001d3a: MSTORE
00001d3b: PUSH1 0x40
00001d3d: SWAP1
00001d3e: KECCAK256
00001d3f: SLOAD
00001d40: SWAP2
00001d41: SWAP1
00001d42: SWAP2
00001d43: ADD
00001d44: SWAP1
00001d45: PUSH1 0x01
00001d47: ADD
00001d48: PUSH2 0x1cff
00001d4b: JUMP
00001d4c: JUMPDEST
00001d4d: POP
00001d4e: SWAP3
00001d4f: SWAP2
00001d50: POP
00001d51: POP
00001d52: JUMP
00001d53: JUMPDEST
00001d54: PUSH2 0x1d5b
00001d57: PUSH2 0x216f
00001d5a: JUMP
00001d5b: JUMPDEST
00001d5c: PUSH1 0x00
00001d5e: SLOAD
00001d5f: PUSH1 0x01
00001d61: PUSH1 0x01
00001d63: PUSH1 0xa0
00001d65: SHL
00001d66: SUB
00001d67: SWAP1
00001d68: DUP2
00001d69: AND
00001d6a: SWAP2
00001d6b: AND
00001d6c: EQ
00001d6d: PUSH2 0x1d88
00001d70: JUMPI
00001d71: PUSH1 0x40
00001d73: MLOAD
00001d74: PUSH3 0x461bcd
00001d78: PUSH1 0xe5
00001d7a: SHL
00001d7b: DUP2
00001d7c: MSTORE
00001d7d: PUSH1 0x04
00001d7f: ADD
00001d80: PUSH2 0x072c
00001d83: SWAP1
00001d84: PUSH2 0x2e6c
00001d87: JUMP
00001d88: JUMPDEST
00001d89: PUSH1 0x08
00001d8b: SLOAD
00001d8c: DUP6
00001d8d: LT
00001d8e: PUSH2 0x1da9
00001d91: JUMPI
00001d92: PUSH1 0x40
00001d94: MLOAD
00001d95: PUSH3 0x461bcd
00001d99: PUSH1 0xe5
00001d9b: SHL
00001d9c: DUP2
00001d9d: MSTORE
00001d9e: PUSH1 0x04
00001da0: ADD
00001da1: PUSH2 0x072c
00001da4: SWAP1
00001da5: PUSH2 0x2d84
00001da8: JUMP
00001da9: JUMPDEST
00001daa: PUSH1 0x00
00001dac: PUSH1 0x08
00001dae: DUP7
00001daf: DUP2
00001db0: SLOAD
00001db1: DUP2
00001db2: LT
00001db3: PUSH2 0x1db8
00001db6: JUMPI
00001db7: INVALID
00001db8: JUMPDEST
00001db9: PUSH1 0x00
00001dbb: SWAP2
00001dbc: DUP3
00001dbd: MSTORE
00001dbe: PUSH1 0x20
00001dc0: SWAP1
00001dc1: SWAP2
00001dc2: KECCAK256
00001dc3: PUSH1 0x05
00001dc5: SWAP1
00001dc6: SWAP2
00001dc7: MUL
00001dc8: ADD
00001dc9: SWAP1
00001dca: POP
00001dcb: PUSH2 0x1dd5
00001dce: DUP2
00001dcf: DUP7
00001dd0: DUP7
00001dd1: PUSH2 0x2249
00001dd4: JUMP
00001dd5: JUMPDEST
00001dd6: POP
00001dd7: PUSH1 0x01
00001dd9: DUP1
00001dda: DUP3
00001ddb: ADD
00001ddc: DUP5
00001ddd: SWAP1
00001dde: SSTORE
00001ddf: PUSH1 0x02
00001de1: DUP3
00001de2: ADD
00001de3: DUP1
00001de4: SLOAD
00001de5: DUP5
00001de6: SWAP3
00001de7: PUSH1 0xff
00001de9: NOT
00001dea: SWAP1
00001deb: SWAP2
00001dec: AND
00001ded: SWAP1
00001dee: DUP4
00001def: DUP2
00001df0: DUP2
00001df1: GT
00001df2: ISZERO
00001df3: PUSH2 0x1df8
00001df6: JUMPI
00001df7: INVALID
00001df8: JUMPDEST
00001df9: MUL
00001dfa: OR
00001dfb: SWAP1
00001dfc: SSTORE
00001dfd: POP
00001dfe: POP
00001dff: POP
00001e00: POP
00001e01: POP
00001e02: POP
00001e03: POP
00001e04: JUMP
00001e05: JUMPDEST
00001e06: PUSH1 0x07
00001e08: SLOAD
00001e09: PUSH1 0xff
00001e0b: AND
00001e0c: DUP2
00001e0d: JUMP
00001e0e: JUMPDEST
00001e0f: PUSH1 0x00
00001e11: DUP1
00001e12: PUSH1 0x60
00001e14: PUSH1 0x00
00001e16: PUSH1 0x60
00001e18: PUSH1 0x00
00001e1a: DUP1
00001e1b: PUSH1 0x00
00001e1d: DUP1
00001e1e: PUSH1 0x00
00001e20: DUP1
00001e21: PUSH1 0x60
00001e23: PUSH1 0x00
00001e25: PUSH2 0x1e2d
00001e28: CALLER
00001e29: PUSH2 0x07a2
00001e2c: JUMP
00001e2d: JUMPDEST
00001e2e: SWAP5
00001e2f: POP
00001e30: SWAP5
00001e31: POP
00001e32: SWAP5
00001e33: POP
00001e34: SWAP5
00001e35: POP
00001e36: SWAP5
00001e37: POP
00001e38: PUSH1 0x60
00001e3a: DUP6
00001e3b: PUSH1 0x00
00001e3d: EQ
00001e3e: PUSH2 0x1ef5
00001e41: JUMPI
00001e42: PUSH1 0x09
00001e44: PUSH2 0x1e4e
00001e47: DUP8
00001e48: PUSH1 0x01
00001e4a: PUSH2 0x21a1
00001e4d: JUMP
00001e4e: JUMPDEST
00001e4f: DUP2
00001e50: SLOAD
00001e51: DUP2
00001e52: LT
00001e53: PUSH2 0x1e58
00001e56: JUMPI
00001e57: INVALID
00001e58: JUMPDEST
00001e59: PUSH1 0x00
00001e5b: SWAP2
00001e5c: DUP3
00001e5d: MSTORE
00001e5e: PUSH1 0x20
00001e60: SWAP2
00001e61: DUP3
00001e62: SWAP1
00001e63: KECCAK256
00001e64: PUSH1 0x02
00001e66: SWAP2
00001e67: DUP3
00001e68: MUL
00001e69: ADD
00001e6a: DUP1
00001e6b: SLOAD
00001e6c: PUSH1 0x40
00001e6e: DUP1
00001e6f: MLOAD
00001e70: PUSH1 0x01
00001e72: DUP4
00001e73: AND
00001e74: ISZERO
00001e75: PUSH2 0x0100
00001e78: MUL
00001e79: PUSH1 0x00
00001e7b: NOT
00001e7c: ADD
00001e7d: SWAP1
00001e7e: SWAP3
00001e7f: AND
00001e80: SWAP4
00001e81: SWAP1
00001e82: SWAP4
00001e83: DIV
00001e84: PUSH1 0x1f
00001e86: DUP2
00001e87: ADD
00001e88: DUP6
00001e89: SWAP1
00001e8a: DIV
00001e8b: DUP6
00001e8c: MUL
00001e8d: DUP3
00001e8e: ADD
00001e8f: DUP6
00001e90: ADD
00001e91: SWAP1
00001e92: SWAP4
00001e93: MSTORE
00001e94: DUP3
00001e95: DUP2
00001e96: MSTORE
00001e97: SWAP3
00001e98: SWAP1
00001e99: SWAP2
00001e9a: SWAP1
00001e9b: DUP4
00001e9c: ADD
00001e9d: DUP3
00001e9e: DUP3
00001e9f: DUP1
00001ea0: ISZERO
00001ea1: PUSH2 0x1eeb
00001ea4: JUMPI
00001ea5: DUP1
00001ea6: PUSH1 0x1f
00001ea8: LT
00001ea9: PUSH2 0x1ec0
00001eac: JUMPI
00001ead: PUSH2 0x0100
00001eb0: DUP1
00001eb1: DUP4
00001eb2: SLOAD
00001eb3: DIV
00001eb4: MUL
00001eb5: DUP4
00001eb6: MSTORE
00001eb7: SWAP2
00001eb8: PUSH1 0x20
00001eba: ADD
00001ebb: SWAP2
00001ebc: PUSH2 0x1eeb
00001ebf: JUMP
00001ec0: JUMPDEST
00001ec1: DUP3
00001ec2: ADD
00001ec3: SWAP2
00001ec4: SWAP1
00001ec5: PUSH1 0x00
00001ec7: MSTORE
00001ec8: PUSH1 0x20
00001eca: PUSH1 0x00
00001ecc: KECCAK256
00001ecd: SWAP1
00001ece: JUMPDEST
00001ecf: DUP2
00001ed0: SLOAD
00001ed1: DUP2
00001ed2: MSTORE
00001ed3: SWAP1
00001ed4: PUSH1 0x01
00001ed6: ADD
00001ed7: SWAP1
00001ed8: PUSH1 0x20
00001eda: ADD
00001edb: DUP1
00001edc: DUP4
00001edd: GT
00001ede: PUSH2 0x1ece
00001ee1: JUMPI
00001ee2: DUP3
00001ee3: SWAP1
00001ee4: SUB
00001ee5: PUSH1 0x1f
00001ee7: AND
00001ee8: DUP3
00001ee9: ADD
00001eea: SWAP2
00001eeb: JUMPDEST
00001eec: POP
00001eed: POP
00001eee: POP
00001eef: POP
00001ef0: POP
00001ef1: PUSH2 0x1f10
00001ef4: JUMP
00001ef5: JUMPDEST
00001ef6: PUSH1 0x40
00001ef8: MLOAD
00001ef9: DUP1
00001efa: PUSH1 0x40
00001efc: ADD
00001efd: PUSH1 0x40
00001eff: MSTORE
00001f00: DUP1
00001f01: PUSH1 0x01
00001f03: DUP2
00001f04: MSTORE
00001f05: PUSH1 0x20
00001f07: ADD
00001f08: PUSH1 0x2d
00001f0a: PUSH1 0xf8
00001f0c: SHL
00001f0d: DUP2
00001f0e: MSTORE
00001f0f: POP
00001f10: JUMPDEST
00001f11: SWAP1
00001f12: POP
00001f13: CALLER
00001f14: PUSH1 0x01
00001f16: PUSH1 0x01
00001f18: PUSH1 0xa0
00001f1a: SHL
00001f1b: SUB
00001f1c: AND
00001f1d: BALANCE
00001f1e: CALLER
00001f1f: PUSH1 0x01
00001f21: PUSH1 0x01
00001f23: PUSH1 0xa0
00001f25: SHL
00001f26: SUB
00001f27: AND
00001f28: BALANCE
00001f29: DUP3
00001f2a: DUP7
00001f2b: DUP7
00001f2c: DUP7
00001f2d: PUSH2 0x1f37
00001f30: DUP12
00001f31: DUP14
00001f32: CALLER
00001f33: PUSH2 0x0991
00001f36: JUMP
00001f37: JUMPDEST
00001f38: PUSH2 0x1f40
00001f3b: CALLER
00001f3c: PUSH2 0x1cfa
00001f3f: JUMP
00001f40: JUMPDEST
00001f41: SWAP14
00001f42: POP
00001f43: SWAP14
00001f44: POP
00001f45: SWAP14
00001f46: POP
00001f47: SWAP14
00001f48: POP
00001f49: SWAP14
00001f4a: POP
00001f4b: SWAP14
00001f4c: POP
00001f4d: SWAP14
00001f4e: POP
00001f4f: SWAP14
00001f50: POP
00001f51: POP
00001f52: POP
00001f53: POP
00001f54: POP
00001f55: POP
00001f56: POP
00001f57: SWAP1
00001f58: SWAP2
00001f59: SWAP3
00001f5a: SWAP4
00001f5b: SWAP5
00001f5c: SWAP6
00001f5d: SWAP7
00001f5e: SWAP8
00001f5f: JUMP
00001f60: JUMPDEST
00001f61: PUSH2 0x1f68
00001f64: PUSH2 0x216f
00001f67: JUMP
00001f68: JUMPDEST
00001f69: PUSH1 0x00
00001f6b: SLOAD
00001f6c: PUSH1 0x01
00001f6e: PUSH1 0x01
00001f70: PUSH1 0xa0
00001f72: SHL
00001f73: SUB
00001f74: SWAP1
00001f75: DUP2
00001f76: AND
00001f77: SWAP2
00001f78: AND
00001f79: EQ
00001f7a: PUSH2 0x1f95
00001f7d: JUMPI
00001f7e: PUSH1 0x40
00001f80: MLOAD
00001f81: PUSH3 0x461bcd
00001f85: PUSH1 0xe5
00001f87: SHL
00001f88: DUP2
00001f89: MSTORE
00001f8a: PUSH1 0x04
00001f8c: ADD
00001f8d: PUSH2 0x072c
00001f90: SWAP1
00001f91: PUSH2 0x2e6c
00001f94: JUMP
00001f95: JUMPDEST
00001f96: PUSH1 0x01
00001f98: PUSH1 0x01
00001f9a: PUSH1 0xa0
00001f9c: SHL
00001f9d: SUB
00001f9e: DUP2
00001f9f: AND
00001fa0: PUSH2 0x1fbb
00001fa3: JUMPI
00001fa4: PUSH1 0x40
00001fa6: MLOAD
00001fa7: PUSH3 0x461bcd
00001fab: PUSH1 0xe5
00001fad: SHL
00001fae: DUP2
00001faf: MSTORE
00001fb0: PUSH1 0x04
00001fb2: ADD
00001fb3: PUSH2 0x072c
00001fb6: SWAP1
00001fb7: PUSH2 0x2c57
00001fba: JUMP
00001fbb: JUMPDEST
00001fbc: PUSH1 0x00
00001fbe: DUP1
00001fbf: SLOAD
00001fc0: PUSH1 0x40
00001fc2: MLOAD
00001fc3: PUSH1 0x01
00001fc5: PUSH1 0x01
00001fc7: PUSH1 0xa0
00001fc9: SHL
00001fca: SUB
00001fcb: DUP1
00001fcc: DUP6
00001fcd: AND
00001fce: SWAP4
00001fcf: SWAP3
00001fd0: AND
00001fd1: SWAP2
00001fd2: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001ff3: SWAP2
00001ff4: LOG3
00001ff5: PUSH1 0x00
00001ff7: DUP1
00001ff8: SLOAD
00001ff9: PUSH1 0x01
00001ffb: PUSH1 0x01
00001ffd: PUSH1 0xa0
00001fff: SHL
00002000: SUB
00002001: NOT
00002002: AND
00002003: PUSH1 0x01
00002005: PUSH1 0x01
00002007: PUSH1 0xa0
00002009: SHL
0000200a: SUB
0000200b: SWAP3
0000200c: SWAP1
0000200d: SWAP3
0000200e: AND
0000200f: SWAP2
00002010: SWAP1
00002011: SWAP2
00002012: OR
00002013: SWAP1
00002014: SSTORE
00002015: JUMP
00002016: JUMPDEST
00002017: PUSH1 0x05
00002019: SLOAD
0000201a: DUP2
0000201b: JUMP
0000201c: JUMPDEST
0000201d: PUSH2 0x2024
00002020: PUSH2 0x216f
00002023: JUMP
00002024: JUMPDEST
00002025: PUSH1 0x00
00002027: SLOAD
00002028: PUSH1 0x01
0000202a: PUSH1 0x01
0000202c: PUSH1 0xa0
0000202e: SHL
0000202f: SUB
00002030: SWAP1
00002031: DUP2
00002032: AND
00002033: SWAP2
00002034: AND
00002035: EQ
00002036: PUSH2 0x2051
00002039: JUMPI
0000203a: PUSH1 0x40
0000203c: MLOAD
0000203d: PUSH3 0x461bcd
00002041: PUSH1 0xe5
00002043: SHL
00002044: DUP2
00002045: MSTORE
00002046: PUSH1 0x04
00002048: ADD
00002049: PUSH2 0x072c
0000204c: SWAP1
0000204d: PUSH2 0x2e6c
00002050: JUMP
00002051: JUMPDEST
00002052: PUSH1 0x40
00002054: MLOAD
00002055: PUSH4 0x70a08231
0000205a: PUSH1 0xe0
0000205c: SHL
0000205d: DUP2
0000205e: MSTORE
0000205f: DUP4
00002060: SWAP1
00002061: DUP4
00002062: SWAP1
00002063: PUSH1 0x01
00002065: PUSH1 0x01
00002067: PUSH1 0xa0
00002069: SHL
0000206a: SUB
0000206b: DUP4
0000206c: AND
0000206d: SWAP1
0000206e: PUSH4 0x70a08231
00002073: SWAP1
00002074: PUSH2 0x2081
00002077: SWAP1
00002078: ADDRESS
00002079: SWAP1
0000207a: PUSH1 0x04
0000207c: ADD
0000207d: PUSH2 0x2aba
00002080: JUMP
00002081: JUMPDEST
00002082: PUSH1 0x20
00002084: PUSH1 0x40
00002086: MLOAD
00002087: DUP1
00002088: DUP4
00002089: SUB
0000208a: DUP2
0000208b: DUP7
0000208c: DUP1
0000208d: EXTCODESIZE
0000208e: ISZERO
0000208f: DUP1
00002090: ISZERO
00002091: PUSH2 0x2099
00002094: JUMPI
00002095: PUSH1 0x00
00002097: DUP1
00002098: REVERT
00002099: JUMPDEST
0000209a: POP
0000209b: GAS
0000209c: STATICCALL
0000209d: ISZERO
0000209e: DUP1
0000209f: ISZERO
000020a0: PUSH2 0x20ad
000020a3: JUMPI
000020a4: RETURNDATASIZE
000020a5: PUSH1 0x00
000020a7: DUP1
000020a8: RETURNDATACOPY
000020a9: RETURNDATASIZE
000020aa: PUSH1 0x00
000020ac: REVERT
000020ad: JUMPDEST
000020ae: POP
000020af: POP
000020b0: POP
000020b1: POP
000020b2: PUSH1 0x40
000020b4: MLOAD
000020b5: RETURNDATASIZE
000020b6: PUSH1 0x1f
000020b8: NOT
000020b9: PUSH1 0x1f
000020bb: DUP3
000020bc: ADD
000020bd: AND
000020be: DUP3
000020bf: ADD
000020c0: DUP1
000020c1: PUSH1 0x40
000020c3: MSTORE
000020c4: POP
000020c5: DUP2
000020c6: ADD
000020c7: SWAP1
000020c8: PUSH2 0x20d1
000020cb: SWAP2
000020cc: SWAP1
000020cd: PUSH2 0x2789
000020d0: JUMP
000020d1: JUMPDEST
000020d2: LT
000020d3: ISZERO
000020d4: PUSH2 0x20ef
000020d7: JUMPI
000020d8: PUSH1 0x40
000020da: MLOAD
000020db: PUSH3 0x461bcd
000020df: PUSH1 0xe5
000020e1: SHL
000020e2: DUP2
000020e3: MSTORE
000020e4: PUSH1 0x04
000020e6: ADD
000020e7: PUSH2 0x072c
000020ea: SWAP1
000020eb: PUSH2 0x2f84
000020ee: JUMP
000020ef: JUMPDEST
000020f0: PUSH1 0x40
000020f2: MLOAD
000020f3: PUSH4 0xa9059cbb
000020f8: PUSH1 0xe0
000020fa: SHL
000020fb: DUP2
000020fc: MSTORE
000020fd: PUSH1 0x01
000020ff: PUSH1 0x01
00002101: PUSH1 0xa0
00002103: SHL
00002104: SUB
00002105: DUP3
00002106: AND
00002107: SWAP1
00002108: PUSH4 0xa9059cbb
0000210d: SWAP1
0000210e: PUSH2 0x211d
00002111: SWAP1
00002112: DUP6
00002113: SWAP1
00002114: DUP8
00002115: SWAP1
00002116: PUSH1 0x04
00002118: ADD
00002119: PUSH2 0x2ace
0000211c: JUMP
0000211d: JUMPDEST
0000211e: PUSH1 0x20
00002120: PUSH1 0x40
00002122: MLOAD
00002123: DUP1
00002124: DUP4
00002125: SUB
00002126: DUP2
00002127: PUSH1 0x00
00002129: DUP8
0000212a: DUP1
0000212b: EXTCODESIZE
0000212c: ISZERO
0000212d: DUP1
0000212e: ISZERO
0000212f: PUSH2 0x2137
00002132: JUMPI
00002133: PUSH1 0x00
00002135: DUP1
00002136: REVERT
00002137: JUMPDEST
00002138: POP
00002139: GAS
0000213a: CALL
0000213b: ISZERO
0000213c: DUP1
0000213d: ISZERO
0000213e: PUSH2 0x214b
00002141: JUMPI
00002142: RETURNDATASIZE
00002143: PUSH1 0x00
00002145: DUP1
00002146: RETURNDATACOPY
00002147: RETURNDATASIZE
00002148: PUSH1 0x00
0000214a: REVERT
0000214b: JUMPDEST
0000214c: POP
0000214d: POP
0000214e: POP
0000214f: POP
00002150: PUSH1 0x40
00002152: MLOAD
00002153: RETURNDATASIZE
00002154: PUSH1 0x1f
00002156: NOT
00002157: PUSH1 0x1f
00002159: DUP3
0000215a: ADD
0000215b: AND
0000215c: DUP3
0000215d: ADD
0000215e: DUP1
0000215f: PUSH1 0x40
00002161: MSTORE
00002162: POP
00002163: DUP2
00002164: ADD
00002165: SWAP1
00002166: PUSH2 0x0b84
00002169: SWAP2
0000216a: SWAP1
0000216b: PUSH2 0x269f
0000216e: JUMP
0000216f: JUMPDEST
00002170: CALLER
00002171: SWAP1
00002172: JUMP
00002173: JUMPDEST
00002174: PUSH1 0x00
00002176: DUP3
00002177: DUP3
00002178: ADD
00002179: DUP4
0000217a: DUP2
0000217b: LT
0000217c: ISZERO
0000217d: PUSH2 0x2198
00002180: JUMPI
00002181: PUSH1 0x40
00002183: MLOAD
00002184: PUSH3 0x461bcd
00002188: PUSH1 0xe5
0000218a: SHL
0000218b: DUP2
0000218c: MSTORE
0000218d: PUSH1 0x04
0000218f: ADD
00002190: PUSH2 0x072c
00002193: SWAP1
00002194: PUSH2 0x2cf1
00002197: JUMP
00002198: JUMPDEST
00002199: SWAP1
0000219a: POP
0000219b: JUMPDEST
0000219c: SWAP3
0000219d: SWAP2
0000219e: POP
0000219f: POP
000021a0: JUMP
000021a1: JUMPDEST
000021a2: PUSH1 0x00
000021a4: PUSH2 0x2198
000021a7: DUP4
000021a8: DUP4
000021a9: PUSH1 0x40
000021ab: MLOAD
000021ac: DUP1
000021ad: PUSH1 0x40
000021af: ADD
000021b0: PUSH1 0x40
000021b2: MSTORE
000021b3: DUP1
000021b4: PUSH1 0x1e
000021b6: DUP2
000021b7: MSTORE
000021b8: PUSH1 0x20
000021ba: ADD
000021bb: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
000021dc: DUP2
000021dd: MSTORE
000021de: POP
000021df: PUSH2 0x221d
000021e2: JUMP
000021e3: JUMPDEST
000021e4: PUSH1 0x00
000021e6: DUP3
000021e7: PUSH2 0x21f2
000021ea: JUMPI
000021eb: POP
000021ec: PUSH1 0x00
000021ee: PUSH2 0x219b
000021f1: JUMP
000021f2: JUMPDEST
000021f3: DUP3
000021f4: DUP3
000021f5: MUL
000021f6: DUP3
000021f7: DUP5
000021f8: DUP3
000021f9: DUP2
000021fa: PUSH2 0x21ff
000021fd: JUMPI
000021fe: INVALID
000021ff: JUMPDEST
00002200: DIV
00002201: EQ
00002202: PUSH2 0x2198
00002205: JUMPI
00002206: PUSH1 0x40
00002208: MLOAD
00002209: PUSH3 0x461bcd
0000220d: PUSH1 0xe5
0000220f: SHL
00002210: DUP2
00002211: MSTORE
00002212: PUSH1 0x04
00002214: ADD
00002215: PUSH2 0x072c
00002218: SWAP1
00002219: PUSH2 0x2e2b
0000221c: JUMP
0000221d: JUMPDEST
0000221e: PUSH1 0x00
00002220: DUP2
00002221: DUP5
00002222: DUP5
00002223: GT
00002224: ISZERO
00002225: PUSH2 0x2241
00002228: JUMPI
00002229: PUSH1 0x40
0000222b: MLOAD
0000222c: PUSH3 0x461bcd
00002230: PUSH1 0xe5
00002232: SHL
00002233: DUP2
00002234: MSTORE
00002235: PUSH1 0x04
00002237: ADD
00002238: PUSH2 0x072c
0000223b: SWAP2
0000223c: SWAP1
0000223d: PUSH2 0x2bbf
00002240: JUMP
00002241: JUMPDEST
00002242: POP
00002243: POP
00002244: POP
00002245: SWAP1
00002246: SUB
00002247: SWAP1
00002248: JUMP
00002249: JUMPDEST
0000224a: DUP3
0000224b: DUP1
0000224c: SLOAD
0000224d: PUSH1 0x01
0000224f: DUP2
00002250: PUSH1 0x01
00002252: AND
00002253: ISZERO
00002254: PUSH2 0x0100
00002257: MUL
00002258: SUB
00002259: AND
0000225a: PUSH1 0x02
0000225c: SWAP1
0000225d: DIV
0000225e: SWAP1
0000225f: PUSH1 0x00
00002261: MSTORE
00002262: PUSH1 0x20
00002264: PUSH1 0x00
00002266: KECCAK256
00002267: SWAP1
00002268: PUSH1 0x1f
0000226a: ADD
0000226b: PUSH1 0x20
0000226d: SWAP1
0000226e: DIV
0000226f: DUP2
00002270: ADD
00002271: SWAP3
00002272: DUP3
00002273: PUSH1 0x1f
00002275: LT
00002276: PUSH2 0x228a
00002279: JUMPI
0000227a: DUP3
0000227b: DUP1
0000227c: ADD
0000227d: PUSH1 0xff
0000227f: NOT
00002280: DUP3
00002281: CALLDATALOAD
00002282: AND
00002283: OR
00002284: DUP6
00002285: SSTORE
00002286: PUSH2 0x22b7
00002289: JUMP
0000228a: JUMPDEST
0000228b: DUP3
0000228c: DUP1
0000228d: ADD
0000228e: PUSH1 0x01
00002290: ADD
00002291: DUP6
00002292: SSTORE
00002293: DUP3
00002294: ISZERO
00002295: PUSH2 0x22b7
00002298: JUMPI
00002299: SWAP2
0000229a: DUP3
0000229b: ADD
0000229c: JUMPDEST
0000229d: DUP3
0000229e: DUP2
0000229f: GT
000022a0: ISZERO
000022a1: PUSH2 0x22b7
000022a4: JUMPI
000022a5: DUP3
000022a6: CALLDATALOAD
000022a7: DUP3
000022a8: SSTORE
000022a9: SWAP2
000022aa: PUSH1 0x20
000022ac: ADD
000022ad: SWAP2
000022ae: SWAP1
000022af: PUSH1 0x01
000022b1: ADD
000022b2: SWAP1
000022b3: PUSH2 0x229c
000022b6: JUMP
000022b7: JUMPDEST
000022b8: POP
000022b9: PUSH2 0x22c3
000022bc: SWAP3
000022bd: SWAP2
000022be: POP
000022bf: PUSH2 0x23ee
000022c2: JUMP
000022c3: JUMPDEST
000022c4: POP
000022c5: SWAP1
000022c6: JUMP
000022c7: JUMPDEST
000022c8: POP
000022c9: DUP1
000022ca: SLOAD
000022cb: PUSH1 0x00
000022cd: DUP3
000022ce: SSTORE
000022cf: PUSH1 0x02
000022d1: MUL
000022d2: SWAP1
000022d3: PUSH1 0x00
000022d5: MSTORE
000022d6: PUSH1 0x20
000022d8: PUSH1 0x00
000022da: KECCAK256
000022db: SWAP1
000022dc: DUP2
000022dd: ADD
000022de: SWAP1
000022df: PUSH2 0x22e8
000022e2: SWAP2
000022e3: SWAP1
000022e4: PUSH2 0x2403
000022e7: JUMP
000022e8: JUMPDEST
000022e9: POP
000022ea: JUMP
000022eb: JUMPDEST
000022ec: DUP3
000022ed: DUP1
000022ee: SLOAD
000022ef: PUSH1 0x01
000022f1: DUP2
000022f2: PUSH1 0x01
000022f4: AND
000022f5: ISZERO
000022f6: PUSH2 0x0100
000022f9: MUL
000022fa: SUB
000022fb: AND
000022fc: PUSH1 0x02
000022fe: SWAP1
000022ff: DIV
00002300: SWAP1
00002301: PUSH1 0x00
00002303: MSTORE
00002304: PUSH1 0x20
00002306: PUSH1 0x00
00002308: KECCAK256
00002309: SWAP1
0000230a: PUSH1 0x1f
0000230c: ADD
0000230d: PUSH1 0x20
0000230f: SWAP1
00002310: DIV
00002311: DUP2
00002312: ADD
00002313: SWAP3
00002314: DUP3
00002315: PUSH1 0x1f
00002317: LT
00002318: PUSH2 0x232c
0000231b: JUMPI
0000231c: DUP1
0000231d: MLOAD
0000231e: PUSH1 0xff
00002320: NOT
00002321: AND
00002322: DUP4
00002323: DUP1
00002324: ADD
00002325: OR
00002326: DUP6
00002327: SSTORE
00002328: PUSH2 0x22b7
0000232b: JUMP
0000232c: JUMPDEST
0000232d: DUP3
0000232e: DUP1
0000232f: ADD
00002330: PUSH1 0x01
00002332: ADD
00002333: DUP6
00002334: SSTORE
00002335: DUP3
00002336: ISZERO
00002337: PUSH2 0x22b7
0000233a: JUMPI
0000233b: SWAP2
0000233c: DUP3
0000233d: ADD
0000233e: JUMPDEST
0000233f: DUP3
00002340: DUP2
00002341: GT
00002342: ISZERO
00002343: PUSH2 0x22b7
00002346: JUMPI
00002347: DUP3
00002348: MLOAD
00002349: DUP3
0000234a: SSTORE
0000234b: SWAP2
0000234c: PUSH1 0x20
0000234e: ADD
0000234f: SWAP2
00002350: SWAP1
00002351: PUSH1 0x01
00002353: ADD
00002354: SWAP1
00002355: PUSH2 0x233e
00002358: JUMP
00002359: JUMPDEST
0000235a: POP
0000235b: DUP1
0000235c: SLOAD
0000235d: PUSH1 0x00
0000235f: DUP3
00002360: SSTORE
00002361: PUSH1 0x05
00002363: MUL
00002364: SWAP1
00002365: PUSH1 0x00
00002367: MSTORE
00002368: PUSH1 0x20
0000236a: PUSH1 0x00
0000236c: KECCAK256
0000236d: SWAP1
0000236e: DUP2
0000236f: ADD
00002370: SWAP1
00002371: PUSH2 0x22e8
00002374: SWAP2
00002375: SWAP1
00002376: PUSH2 0x2420
00002379: JUMP
0000237a: JUMPDEST
0000237b: DUP3
0000237c: DUP1
0000237d: SLOAD
0000237e: DUP3
0000237f: DUP3
00002380: SSTORE
00002381: SWAP1
00002382: PUSH1 0x00
00002384: MSTORE
00002385: PUSH1 0x20
00002387: PUSH1 0x00
00002389: KECCAK256
0000238a: SWAP1
0000238b: DUP2
0000238c: ADD
0000238d: SWAP3
0000238e: DUP3
0000238f: ISZERO
00002390: PUSH2 0x22b7
00002393: JUMPI
00002394: SWAP2
00002395: PUSH1 0x20
00002397: MUL
00002398: DUP3
00002399: ADD
0000239a: DUP3
0000239b: DUP2
0000239c: GT
0000239d: ISZERO
0000239e: PUSH2 0x22b7
000023a1: JUMPI
000023a2: DUP3
000023a3: MLOAD
000023a4: DUP3
000023a5: SSTORE
000023a6: SWAP2
000023a7: PUSH1 0x20
000023a9: ADD
000023aa: SWAP2
000023ab: SWAP1
000023ac: PUSH1 0x01
000023ae: ADD
000023af: SWAP1
000023b0: PUSH2 0x233e
000023b3: JUMP
000023b4: JUMPDEST
000023b5: DUP3
000023b6: DUP1
000023b7: SLOAD
000023b8: DUP3
000023b9: DUP3
000023ba: SSTORE
000023bb: SWAP1
000023bc: PUSH1 0x00
000023be: MSTORE
000023bf: PUSH1 0x20
000023c1: PUSH1 0x00
000023c3: KECCAK256
000023c4: SWAP1
000023c5: DUP2
000023c6: ADD
000023c7: SWAP3
000023c8: DUP3
000023c9: ISZERO
000023ca: PUSH2 0x22b7
000023cd: JUMPI
000023ce: SWAP2
000023cf: PUSH1 0x20
000023d1: MUL
000023d2: DUP3
000023d3: ADD
000023d4: DUP3
000023d5: DUP2
000023d6: GT
000023d7: ISZERO
000023d8: PUSH2 0x22b7
000023db: JUMPI
000023dc: DUP3
000023dd: CALLDATALOAD
000023de: DUP3
000023df: SSTORE
000023e0: SWAP2
000023e1: PUSH1 0x20
000023e3: ADD
000023e4: SWAP2
000023e5: SWAP1
000023e6: PUSH1 0x01
000023e8: ADD
000023e9: SWAP1
000023ea: PUSH2 0x229c
000023ed: JUMP
000023ee: JUMPDEST
000023ef: JUMPDEST
000023f0: DUP1
000023f1: DUP3
000023f2: GT
000023f3: ISZERO
000023f4: PUSH2 0x22c3
000023f7: JUMPI
000023f8: PUSH1 0x00
000023fa: DUP2
000023fb: SSTORE
000023fc: PUSH1 0x01
000023fe: ADD
000023ff: PUSH2 0x23ef
00002402: JUMP
00002403: JUMPDEST
00002404: DUP1
00002405: DUP3
00002406: GT
00002407: ISZERO
00002408: PUSH2 0x22c3
0000240b: JUMPI
0000240c: PUSH1 0x00
0000240e: PUSH2 0x2417
00002411: DUP3
00002412: DUP3
00002413: PUSH2 0x2460
00002416: JUMP
00002417: JUMPDEST
00002418: POP
00002419: PUSH1 0x02
0000241b: ADD
0000241c: PUSH2 0x2403
0000241f: JUMP
00002420: JUMPDEST
00002421: DUP1
00002422: DUP3
00002423: GT
00002424: ISZERO
00002425: PUSH2 0x22c3
00002428: JUMPI
00002429: PUSH1 0x00
0000242b: PUSH2 0x2434
0000242e: DUP3
0000242f: DUP3
00002430: PUSH2 0x2460
00002433: JUMP
00002434: JUMPDEST
00002435: PUSH1 0x00
00002437: PUSH1 0x01
00002439: DUP4
0000243a: ADD
0000243b: DUP2
0000243c: SWAP1
0000243d: SSTORE
0000243e: PUSH1 0x02
00002440: DUP4
00002441: ADD
00002442: DUP1
00002443: SLOAD
00002444: PUSH1 0xff
00002446: NOT
00002447: AND
00002448: SWAP1
00002449: SSTORE
0000244a: PUSH2 0x2457
0000244d: SWAP1
0000244e: PUSH1 0x03
00002450: DUP5
00002451: ADD
00002452: SWAP1
00002453: PUSH2 0x24a4
00002456: JUMP
00002457: JUMPDEST
00002458: POP
00002459: PUSH1 0x05
0000245b: ADD
0000245c: PUSH2 0x2420
0000245f: JUMP
00002460: JUMPDEST
00002461: POP
00002462: DUP1
00002463: SLOAD
00002464: PUSH1 0x01
00002466: DUP2
00002467: PUSH1 0x01
00002469: AND
0000246a: ISZERO
0000246b: PUSH2 0x0100
0000246e: MUL
0000246f: SUB
00002470: AND
00002471: PUSH1 0x02
00002473: SWAP1
00002474: DIV
00002475: PUSH1 0x00
00002477: DUP3
00002478: SSTORE
00002479: DUP1
0000247a: PUSH1 0x1f
0000247c: LT
0000247d: PUSH2 0x2486
00002480: JUMPI
00002481: POP
00002482: PUSH2 0x22e8
00002485: JUMP
00002486: JUMPDEST
00002487: PUSH1 0x1f
00002489: ADD
0000248a: PUSH1 0x20
0000248c: SWAP1
0000248d: DIV
0000248e: SWAP1
0000248f: PUSH1 0x00
00002491: MSTORE
00002492: PUSH1 0x20
00002494: PUSH1 0x00
00002496: KECCAK256
00002497: SWAP1
00002498: DUP2
00002499: ADD
0000249a: SWAP1
0000249b: PUSH2 0x22e8
0000249e: SWAP2
0000249f: SWAP1
000024a0: PUSH2 0x23ee
000024a3: JUMP
000024a4: JUMPDEST
000024a5: POP
000024a6: DUP1
000024a7: SLOAD
000024a8: PUSH1 0x00
000024aa: DUP3
000024ab: SSTORE
000024ac: SWAP1
000024ad: PUSH1 0x00
000024af: MSTORE
000024b0: PUSH1 0x20
000024b2: PUSH1 0x00
000024b4: KECCAK256
000024b5: SWAP1
000024b6: DUP2
000024b7: ADD
000024b8: SWAP1
000024b9: PUSH2 0x22e8
000024bc: SWAP2
000024bd: SWAP1
000024be: PUSH2 0x23ee
000024c1: JUMP
000024c2: JUMPDEST
000024c3: PUSH1 0x00
000024c5: DUP1
000024c6: DUP4
000024c7: PUSH1 0x1f
000024c9: DUP5
000024ca: ADD
000024cb: SLT
000024cc: PUSH2 0x24d3
000024cf: JUMPI
000024d0: DUP2
000024d1: DUP3
000024d2: REVERT
000024d3: JUMPDEST
000024d4: POP
000024d5: DUP2
000024d6: CALLDATALOAD
000024d7: PUSH1 0x01
000024d9: PUSH1 0x01
000024db: PUSH1 0x40
000024dd: SHL
000024de: SUB
000024df: DUP2
000024e0: GT
000024e1: ISZERO
000024e2: PUSH2 0x24e9
000024e5: JUMPI
000024e6: DUP2
000024e7: DUP3
000024e8: REVERT
000024e9: JUMPDEST
000024ea: PUSH1 0x20
000024ec: DUP4
000024ed: ADD
000024ee: SWAP2
000024ef: POP
000024f0: DUP4
000024f1: PUSH1 0x20
000024f3: DUP1
000024f4: DUP4
000024f5: MUL
000024f6: DUP6
000024f7: ADD
000024f8: ADD
000024f9: GT
000024fa: ISZERO
000024fb: PUSH2 0x2503
000024fe: JUMPI
000024ff: PUSH1 0x00
00002501: DUP1
00002502: REVERT
00002503: JUMPDEST
00002504: SWAP3
00002505: POP
00002506: SWAP3
00002507: SWAP1
00002508: POP
00002509: JUMP
0000250a: JUMPDEST
0000250b: PUSH1 0x00
0000250d: DUP1
0000250e: DUP4
0000250f: PUSH1 0x1f
00002511: DUP5
00002512: ADD
00002513: SLT
00002514: PUSH2 0x251b
00002517: JUMPI
00002518: DUP2
00002519: DUP3
0000251a: REVERT
0000251b: JUMPDEST
0000251c: POP
0000251d: DUP2
0000251e: CALLDATALOAD
0000251f: PUSH1 0x01
00002521: PUSH1 0x01
00002523: PUSH1 0x40
00002525: SHL
00002526: SUB
00002527: DUP2
00002528: GT
00002529: ISZERO
0000252a: PUSH2 0x2531
0000252d: JUMPI
0000252e: DUP2
0000252f: DUP3
00002530: REVERT
00002531: JUMPDEST
00002532: PUSH1 0x20
00002534: DUP4
00002535: ADD
00002536: SWAP2
00002537: POP
00002538: DUP4
00002539: PUSH1 0x20
0000253b: DUP3
0000253c: DUP6
0000253d: ADD
0000253e: ADD
0000253f: GT
00002540: ISZERO
00002541: PUSH2 0x2503
00002544: JUMPI
00002545: PUSH1 0x00
00002547: DUP1
00002548: REVERT
00002549: JUMPDEST
0000254a: PUSH1 0x00
0000254c: PUSH1 0x20
0000254e: DUP3
0000254f: DUP5
00002550: SUB
00002551: SLT
00002552: ISZERO
00002553: PUSH2 0x255a
00002556: JUMPI
00002557: DUP1
00002558: DUP2
00002559: REVERT
0000255a: JUMPDEST
0000255b: DUP2
0000255c: CALLDATALOAD
0000255d: PUSH2 0x2198
00002560: DUP2
00002561: PUSH2 0x310b
00002564: JUMP
00002565: JUMPDEST
00002566: PUSH1 0x00
00002568: DUP1
00002569: PUSH1 0x00
0000256b: PUSH1 0x60
0000256d: DUP5
0000256e: DUP7
0000256f: SUB
00002570: SLT
00002571: ISZERO
00002572: PUSH2 0x2579
00002575: JUMPI
00002576: DUP2
00002577: DUP3
00002578: REVERT
00002579: JUMPDEST
0000257a: DUP4
0000257b: CALLDATALOAD
0000257c: PUSH2 0x2584
0000257f: DUP2
00002580: PUSH2 0x310b
00002583: JUMP
00002584: JUMPDEST
00002585: SWAP3
00002586: POP
00002587: PUSH1 0x20
00002589: DUP5
0000258a: ADD
0000258b: CALLDATALOAD
0000258c: SWAP2
0000258d: POP
0000258e: PUSH1 0x40
00002590: DUP5
00002591: ADD
00002592: CALLDATALOAD
00002593: PUSH2 0x259b
00002596: DUP2
00002597: PUSH2 0x310b
0000259a: JUMP
0000259b: JUMPDEST
0000259c: DUP1
0000259d: SWAP2
0000259e: POP
0000259f: POP
000025a0: SWAP3
000025a1: POP
000025a2: SWAP3
000025a3: POP
000025a4: SWAP3
000025a5: JUMP
000025a6: JUMPDEST
000025a7: PUSH1 0x00
000025a9: DUP1
000025aa: PUSH1 0x20
000025ac: DUP4
000025ad: DUP6
000025ae: SUB
000025af: SLT
000025b0: ISZERO
000025b1: PUSH2 0x25b8
000025b4: JUMPI
000025b5: DUP2
000025b6: DUP3
000025b7: REVERT
000025b8: JUMPDEST
000025b9: DUP3
000025ba: CALLDATALOAD
000025bb: PUSH1 0x01
000025bd: PUSH1 0x01
000025bf: PUSH1 0x40
000025c1: SHL
000025c2: SUB
000025c3: DUP2
000025c4: GT
000025c5: ISZERO
000025c6: PUSH2 0x25cd
000025c9: JUMPI
000025ca: DUP3
000025cb: DUP4
000025cc: REVERT
000025cd: JUMPDEST
000025ce: PUSH2 0x25d9
000025d1: DUP6
000025d2: DUP3
000025d3: DUP7
000025d4: ADD
000025d5: PUSH2 0x24c2
000025d8: JUMP
000025d9: JUMPDEST
000025da: SWAP1
000025db: SWAP7
000025dc: SWAP1
000025dd: SWAP6
000025de: POP
000025df: SWAP4
000025e0: POP
000025e1: POP
000025e2: POP
000025e3: POP
000025e4: JUMP
000025e5: JUMPDEST
000025e6: PUSH1 0x00
000025e8: DUP1
000025e9: PUSH1 0x00
000025eb: DUP1
000025ec: PUSH1 0x00
000025ee: DUP1
000025ef: PUSH1 0x00
000025f1: PUSH1 0x80
000025f3: DUP9
000025f4: DUP11
000025f5: SUB
000025f6: SLT
000025f7: ISZERO
000025f8: PUSH2 0x25ff
000025fb: JUMPI
000025fc: DUP3
000025fd: DUP4
000025fe: REVERT
000025ff: JUMPDEST
00002600: DUP8
00002601: CALLDATALOAD
00002602: PUSH1 0x01
00002604: PUSH1 0x01
00002606: PUSH1 0x40
00002608: SHL
00002609: SUB
0000260a: DUP1
0000260b: DUP3
0000260c: GT
0000260d: ISZERO
0000260e: PUSH2 0x2615
00002611: JUMPI
00002612: DUP5
00002613: DUP6
00002614: REVERT
00002615: JUMPDEST
00002616: PUSH2 0x2621
00002619: DUP12
0000261a: DUP4
0000261b: DUP13
0000261c: ADD
0000261d: PUSH2 0x24c2
00002620: JUMP
00002621: JUMPDEST
00002622: SWAP1
00002623: SWAP10
00002624: POP
00002625: SWAP8
00002626: POP
00002627: PUSH1 0x20
00002629: DUP11
0000262a: ADD
0000262b: CALLDATALOAD
0000262c: SWAP2
0000262d: POP
0000262e: DUP1
0000262f: DUP3
00002630: GT
00002631: ISZERO
00002632: PUSH2 0x2639
00002635: JUMPI
00002636: DUP5
00002637: DUP6
00002638: REVERT
00002639: JUMPDEST
0000263a: PUSH2 0x2645
0000263d: DUP12
0000263e: DUP4
0000263f: DUP13
00002640: ADD
00002641: PUSH2 0x24c2
00002644: JUMP
00002645: JUMPDEST
00002646: SWAP1
00002647: SWAP8
00002648: POP
00002649: SWAP6
0000264a: POP
0000264b: PUSH1 0x40
0000264d: DUP11
0000264e: ADD
0000264f: CALLDATALOAD
00002650: SWAP2
00002651: POP
00002652: DUP1
00002653: DUP3
00002654: GT
00002655: ISZERO
00002656: PUSH2 0x265d
00002659: JUMPI
0000265a: DUP5
0000265b: DUP6
0000265c: REVERT
0000265d: JUMPDEST
0000265e: POP
0000265f: PUSH2 0x266a
00002662: DUP11
00002663: DUP3
00002664: DUP12
00002665: ADD
00002666: PUSH2 0x24c2
00002669: JUMP
0000266a: JUMPDEST
0000266b: SWAP9
0000266c: SWAP12
0000266d: SWAP8
0000266e: SWAP11
0000266f: POP
00002670: SWAP6
00002671: SWAP9
00002672: SWAP5
00002673: SWAP8
00002674: SWAP6
00002675: SWAP7
00002676: PUSH1 0x60
00002678: SWAP1
00002679: SWAP6
0000267a: ADD
0000267b: CALLDATALOAD
0000267c: SWAP5
0000267d: SWAP4
0000267e: POP
0000267f: POP
00002680: POP
00002681: POP
00002682: JUMP
00002683: JUMPDEST
00002684: PUSH1 0x00
00002686: PUSH1 0x20
00002688: DUP3
00002689: DUP5
0000268a: SUB
0000268b: SLT
0000268c: ISZERO
0000268d: PUSH2 0x2694
00002690: JUMPI
00002691: DUP1
00002692: DUP2
00002693: REVERT
00002694: JUMPDEST
00002695: DUP2
00002696: CALLDATALOAD
00002697: PUSH2 0x2198
0000269a: DUP2
0000269b: PUSH2 0x3120
0000269e: JUMP
0000269f: JUMPDEST
000026a0: PUSH1 0x00
000026a2: PUSH1 0x20
000026a4: DUP3
000026a5: DUP5
000026a6: SUB
000026a7: SLT
000026a8: ISZERO
000026a9: PUSH2 0x26b0
000026ac: JUMPI
000026ad: DUP1
000026ae: DUP2
000026af: REVERT
000026b0: JUMPDEST
000026b1: DUP2
000026b2: MLOAD
000026b3: PUSH2 0x2198
000026b6: DUP2
000026b7: PUSH2 0x3120
000026ba: JUMP
000026bb: JUMPDEST
000026bc: PUSH1 0x00
000026be: PUSH1 0x20
000026c0: DUP3
000026c1: DUP5
000026c2: SUB
000026c3: SLT
000026c4: ISZERO
000026c5: PUSH2 0x26cc
000026c8: JUMPI
000026c9: DUP1
000026ca: DUP2
000026cb: REVERT
000026cc: JUMPDEST
000026cd: DUP2
000026ce: CALLDATALOAD
000026cf: PUSH2 0x2198
000026d2: DUP2
000026d3: PUSH2 0x312e
000026d6: JUMP
000026d7: JUMPDEST
000026d8: PUSH1 0x00
000026da: PUSH1 0x20
000026dc: DUP3
000026dd: DUP5
000026de: SUB
000026df: SLT
000026e0: ISZERO
000026e1: PUSH2 0x26e8
000026e4: JUMPI
000026e5: DUP1
000026e6: DUP2
000026e7: REVERT
000026e8: JUMPDEST
000026e9: DUP2
000026ea: MLOAD
000026eb: PUSH1 0x01
000026ed: PUSH1 0x01
000026ef: PUSH1 0x40
000026f1: SHL
000026f2: SUB
000026f3: DUP1
000026f4: DUP3
000026f5: GT
000026f6: ISZERO
000026f7: PUSH2 0x26fe
000026fa: JUMPI
000026fb: DUP3
000026fc: DUP4
000026fd: REVERT
000026fe: JUMPDEST
000026ff: DUP2
00002700: DUP5
00002701: ADD
00002702: SWAP2
00002703: POP
00002704: DUP5
00002705: PUSH1 0x1f
00002707: DUP4
00002708: ADD
00002709: SLT
0000270a: PUSH2 0x2711
0000270d: JUMPI
0000270e: DUP3
0000270f: DUP4
00002710: REVERT
00002711: JUMPDEST
00002712: DUP2
00002713: MLOAD
00002714: DUP2
00002715: DUP2
00002716: GT
00002717: ISZERO
00002718: PUSH2 0x271f
0000271b: JUMPI
0000271c: DUP4
0000271d: DUP5
0000271e: REVERT
0000271f: JUMPDEST
00002720: PUSH1 0x40
00002722: MLOAD
00002723: PUSH1 0x1f
00002725: DUP3
00002726: ADD
00002727: PUSH1 0x1f
00002729: NOT
0000272a: AND
0000272b: DUP2
0000272c: ADD
0000272d: PUSH1 0x20
0000272f: ADD
00002730: DUP4
00002731: DUP2
00002732: GT
00002733: DUP3
00002734: DUP3
00002735: LT
00002736: OR
00002737: ISZERO
00002738: PUSH2 0x273f
0000273b: JUMPI
0000273c: DUP6
0000273d: DUP7
0000273e: REVERT
0000273f: JUMPDEST
00002740: PUSH1 0x40
00002742: MSTORE
00002743: DUP2
00002744: DUP2
00002745: MSTORE
00002746: DUP4
00002747: DUP3
00002748: ADD
00002749: PUSH1 0x20
0000274b: ADD
0000274c: DUP8
0000274d: LT
0000274e: ISZERO
0000274f: PUSH2 0x2756
00002752: JUMPI
00002753: DUP5
00002754: DUP6
00002755: REVERT
00002756: JUMPDEST
00002757: PUSH2 0x2767
0000275a: DUP3
0000275b: PUSH1 0x20
0000275d: DUP4
0000275e: ADD
0000275f: PUSH1 0x20
00002761: DUP8
00002762: ADD
00002763: PUSH2 0x30db
00002766: JUMP
00002767: JUMPDEST
00002768: SWAP7
00002769: SWAP6
0000276a: POP
0000276b: POP
0000276c: POP
0000276d: POP
0000276e: POP
0000276f: POP
00002770: JUMP
00002771: JUMPDEST
00002772: PUSH1 0x00
00002774: PUSH1 0x20
00002776: DUP3
00002777: DUP5
00002778: SUB
00002779: SLT
0000277a: ISZERO
0000277b: PUSH2 0x2782
0000277e: JUMPI
0000277f: DUP1
00002780: DUP2
00002781: REVERT
00002782: JUMPDEST
00002783: POP
00002784: CALLDATALOAD
00002785: SWAP2
00002786: SWAP1
00002787: POP
00002788: JUMP
00002789: JUMPDEST
0000278a: PUSH1 0x00
0000278c: PUSH1 0x20
0000278e: DUP3
0000278f: DUP5
00002790: SUB
00002791: SLT
00002792: ISZERO
00002793: PUSH2 0x279a
00002796: JUMPI
00002797: DUP1
00002798: DUP2
00002799: REVERT
0000279a: JUMPDEST
0000279b: POP
0000279c: MLOAD
0000279d: SWAP2
0000279e: SWAP1
0000279f: POP
000027a0: JUMP
000027a1: JUMPDEST
000027a2: PUSH1 0x00
000027a4: DUP1
000027a5: PUSH1 0x40
000027a7: DUP4
000027a8: DUP6
000027a9: SUB
000027aa: SLT
000027ab: ISZERO
000027ac: PUSH2 0x27b3
000027af: JUMPI
000027b0: DUP2
000027b1: DUP3
000027b2: REVERT
000027b3: JUMPDEST
000027b4: DUP3
000027b5: CALLDATALOAD
000027b6: SWAP2
000027b7: POP
000027b8: PUSH1 0x20
000027ba: DUP4
000027bb: ADD
000027bc: CALLDATALOAD
000027bd: PUSH2 0x27c5
000027c0: DUP2
000027c1: PUSH2 0x310b
000027c4: JUMP
000027c5: JUMPDEST
000027c6: DUP1
000027c7: SWAP2
000027c8: POP
000027c9: POP
000027ca: SWAP3
000027cb: POP
000027cc: SWAP3
000027cd: SWAP1
000027ce: POP
000027cf: JUMP
000027d0: JUMPDEST
000027d1: PUSH1 0x00
000027d3: DUP1
000027d4: PUSH1 0x00
000027d6: DUP1
000027d7: PUSH1 0x60
000027d9: DUP6
000027da: DUP8
000027db: SUB
000027dc: SLT
000027dd: ISZERO
000027de: PUSH2 0x27e5
000027e1: JUMPI
000027e2: DUP4
000027e3: DUP5
000027e4: REVERT
000027e5: JUMPDEST
000027e6: DUP5
000027e7: CALLDATALOAD
000027e8: SWAP4
000027e9: POP
000027ea: PUSH1 0x20
000027ec: DUP6
000027ed: ADD
000027ee: CALLDATALOAD
000027ef: PUSH1 0x01
000027f1: PUSH1 0x01
000027f3: PUSH1 0x40
000027f5: SHL
000027f6: SUB
000027f7: DUP2
000027f8: GT
000027f9: ISZERO
000027fa: PUSH2 0x2801
000027fd: JUMPI
000027fe: DUP4
000027ff: DUP5
00002800: REVERT
00002801: JUMPDEST
00002802: PUSH2 0x280d
00002805: DUP8
00002806: DUP3
00002807: DUP9
00002808: ADD
00002809: PUSH2 0x24c2
0000280c: JUMP
0000280d: JUMPDEST
0000280e: SWAP1
0000280f: SWAP5
00002810: POP
00002811: SWAP3
00002812: POP
00002813: POP
00002814: PUSH1 0x40
00002816: DUP6
00002817: ADD
00002818: CALLDATALOAD
00002819: PUSH2 0x2821
0000281c: DUP2
0000281d: PUSH2 0x3120
00002820: JUMP
00002821: JUMPDEST
00002822: SWAP4
00002823: SWAP7
00002824: SWAP3
00002825: SWAP6
00002826: POP
00002827: SWAP1
00002828: SWAP4
00002829: POP
0000282a: POP
0000282b: JUMP
0000282c: JUMPDEST
0000282d: PUSH1 0x00
0000282f: DUP1
00002830: PUSH1 0x00
00002832: PUSH1 0x40
00002834: DUP5
00002835: DUP7
00002836: SUB
00002837: SLT
00002838: ISZERO
00002839: PUSH2 0x2840
0000283c: JUMPI
0000283d: DUP1
0000283e: DUP2
0000283f: REVERT
00002840: JUMPDEST
00002841: DUP4
00002842: CALLDATALOAD
00002843: SWAP3
00002844: POP
00002845: PUSH1 0x20
00002847: DUP5
00002848: ADD
00002849: CALLDATALOAD
0000284a: PUSH1 0x01
0000284c: PUSH1 0x01
0000284e: PUSH1 0x40
00002850: SHL
00002851: SUB
00002852: DUP2
00002853: GT
00002854: ISZERO
00002855: PUSH2 0x285c
00002858: JUMPI
00002859: DUP2
0000285a: DUP3
0000285b: REVERT
0000285c: JUMPDEST
0000285d: PUSH2 0x2868
00002860: DUP7
00002861: DUP3
00002862: DUP8
00002863: ADD
00002864: PUSH2 0x24c2
00002867: JUMP
00002868: JUMPDEST
00002869: SWAP5
0000286a: SWAP8
0000286b: SWAP1
0000286c: SWAP7
0000286d: POP
0000286e: SWAP4
0000286f: SWAP5
00002870: POP
00002871: POP
00002872: POP
00002873: POP
00002874: JUMP
00002875: JUMPDEST
00002876: PUSH1 0x00
00002878: DUP1
00002879: PUSH1 0x00
0000287b: PUSH1 0x40
0000287d: DUP5
0000287e: DUP7
0000287f: SUB
00002880: SLT
00002881: ISZERO
00002882: PUSH2 0x2889
00002885: JUMPI
00002886: DUP1
00002887: DUP2
00002888: REVERT
00002889: JUMPDEST
0000288a: DUP4
0000288b: CALLDATALOAD
0000288c: SWAP3
0000288d: POP
0000288e: PUSH1 0x20
00002890: DUP5
00002891: ADD
00002892: CALLDATALOAD
00002893: PUSH1 0x01
00002895: PUSH1 0x01
00002897: PUSH1 0x40
00002899: SHL
0000289a: SUB
0000289b: DUP2
0000289c: GT
0000289d: ISZERO
0000289e: PUSH2 0x28a5
000028a1: JUMPI
000028a2: DUP2
000028a3: DUP3
000028a4: REVERT
000028a5: JUMPDEST
000028a6: PUSH2 0x2868
000028a9: DUP7
000028aa: DUP3
000028ab: DUP8
000028ac: ADD
000028ad: PUSH2 0x250a
000028b0: JUMP
000028b1: JUMPDEST
000028b2: PUSH1 0x00
000028b4: DUP1
000028b5: PUSH1 0x00
000028b7: DUP1
000028b8: PUSH1 0x00
000028ba: PUSH1 0x80
000028bc: DUP7
000028bd: DUP9
000028be: SUB
000028bf: SLT
000028c0: ISZERO
000028c1: PUSH2 0x28c8
000028c4: JUMPI
000028c5: DUP3
000028c6: DUP4
000028c7: REVERT
000028c8: JUMPDEST
000028c9: DUP6
000028ca: CALLDATALOAD
000028cb: SWAP5
000028cc: POP
000028cd: PUSH1 0x20
000028cf: DUP7
000028d0: ADD
000028d1: CALLDATALOAD
000028d2: PUSH1 0x01
000028d4: PUSH1 0x01
000028d6: PUSH1 0x40
000028d8: SHL
000028d9: SUB
000028da: DUP2
000028db: GT
000028dc: ISZERO
000028dd: PUSH2 0x28e4
000028e0: JUMPI
000028e1: DUP4
000028e2: DUP5
000028e3: REVERT
000028e4: JUMPDEST
000028e5: PUSH2 0x28f0
000028e8: DUP9
000028e9: DUP3
000028ea: DUP10
000028eb: ADD
000028ec: PUSH2 0x250a
000028ef: JUMP
000028f0: JUMPDEST
000028f1: SWAP1
000028f2: SWAP6
000028f3: POP
000028f4: SWAP4
000028f5: POP
000028f6: POP
000028f7: PUSH1 0x40
000028f9: DUP7
000028fa: ADD
000028fb: CALLDATALOAD
000028fc: SWAP2
000028fd: POP
000028fe: PUSH1 0x60
00002900: DUP7
00002901: ADD
00002902: CALLDATALOAD
00002903: PUSH2 0x290b
00002906: DUP2
00002907: PUSH2 0x312e
0000290a: JUMP
0000290b: JUMPDEST
0000290c: DUP1
0000290d: SWAP2
0000290e: POP
0000290f: POP
00002910: SWAP3
00002911: SWAP6
00002912: POP
00002913: SWAP3
00002914: SWAP6
00002915: SWAP1
00002916: SWAP4
00002917: POP
00002918: JUMP
00002919: JUMPDEST
0000291a: PUSH1 0x00
0000291c: DUP1
0000291d: PUSH1 0x00
0000291f: PUSH1 0x60
00002921: DUP5
00002922: DUP7
00002923: SUB
00002924: SLT
00002925: ISZERO
00002926: PUSH2 0x292d
00002929: JUMPI
0000292a: DUP1
0000292b: DUP2
0000292c: REVERT
0000292d: JUMPDEST
0000292e: DUP4
0000292f: CALLDATALOAD
00002930: SWAP3
00002931: POP
00002932: PUSH1 0x20
00002934: DUP5
00002935: ADD
00002936: CALLDATALOAD
00002937: SWAP2
00002938: POP
00002939: PUSH1 0x40
0000293b: DUP5
0000293c: ADD
0000293d: CALLDATALOAD
0000293e: PUSH2 0x259b
00002941: DUP2
00002942: PUSH2 0x310b
00002945: JUMP
00002946: JUMPDEST
00002947: PUSH1 0x00
00002949: DUP1
0000294a: PUSH1 0x00
0000294c: PUSH1 0x60
0000294e: DUP5
0000294f: DUP7
00002950: SUB
00002951: SLT
00002952: ISZERO
00002953: PUSH2 0x295a
00002956: JUMPI
00002957: DUP1
00002958: DUP2
00002959: REVERT
0000295a: JUMPDEST
0000295b: POP
0000295c: POP
0000295d: DUP2
0000295e: CALLDATALOAD
0000295f: SWAP4
00002960: PUSH1 0x20
00002962: DUP4
00002963: ADD
00002964: CALLDATALOAD
00002965: SWAP4
00002966: POP
00002967: PUSH1 0x40
00002969: SWAP1
0000296a: SWAP3
0000296b: ADD
0000296c: CALLDATALOAD
0000296d: SWAP2
0000296e: SWAP1
0000296f: POP
00002970: JUMP
00002971: JUMPDEST
00002972: PUSH1 0x00
00002974: DUP2
00002975: MLOAD
00002976: DUP1
00002977: DUP5
00002978: MSTORE
00002979: PUSH1 0x20
0000297b: DUP1
0000297c: DUP6
0000297d: ADD
0000297e: DUP1
0000297f: DUP2
00002980: SWAP7
00002981: POP
00002982: DUP3
00002983: DUP5
00002984: MUL
00002985: DUP2
00002986: ADD
00002987: SWAP2
00002988: POP
00002989: DUP3
0000298a: DUP7
0000298b: ADD
0000298c: DUP6
0000298d: JUMPDEST
0000298e: DUP6
0000298f: DUP2
00002990: LT
00002991: ISZERO
00002992: PUSH2 0x29b7
00002995: JUMPI
00002996: DUP3
00002997: DUP5
00002998: SUB
00002999: DUP10
0000299a: MSTORE
0000299b: PUSH2 0x29a5
0000299e: DUP5
0000299f: DUP4
000029a0: MLOAD
000029a1: PUSH2 0x29fe
000029a4: JUMP
000029a5: JUMPDEST
000029a6: SWAP9
000029a7: DUP6
000029a8: ADD
000029a9: SWAP9
000029aa: SWAP4
000029ab: POP
000029ac: SWAP1
000029ad: DUP5
000029ae: ADD
000029af: SWAP1
000029b0: PUSH1 0x01
000029b2: ADD
000029b3: PUSH2 0x298d
000029b6: JUMP
000029b7: JUMPDEST
000029b8: POP
000029b9: SWAP2
000029ba: SWAP8
000029bb: SWAP7
000029bc: POP
000029bd: POP
000029be: POP
000029bf: POP
000029c0: POP
000029c1: POP
000029c2: POP
000029c3: JUMP
000029c4: JUMPDEST
000029c5: PUSH1 0x00
000029c7: DUP2
000029c8: MLOAD
000029c9: DUP1
000029ca: DUP5
000029cb: MSTORE
000029cc: PUSH1 0x20
000029ce: DUP1
000029cf: DUP6
000029d0: ADD
000029d1: SWAP5
000029d2: POP
000029d3: DUP1
000029d4: DUP5
000029d5: ADD
000029d6: DUP4
000029d7: JUMPDEST
000029d8: DUP4
000029d9: DUP2
000029da: LT
000029db: ISZERO
000029dc: PUSH2 0x29f3
000029df: JUMPI
000029e0: DUP2
000029e1: MLOAD
000029e2: DUP8
000029e3: MSTORE
000029e4: SWAP6
000029e5: DUP3
000029e6: ADD
000029e7: SWAP6
000029e8: SWAP1
000029e9: DUP3
000029ea: ADD
000029eb: SWAP1
000029ec: PUSH1 0x01
000029ee: ADD
000029ef: PUSH2 0x29d7
000029f2: JUMP
000029f3: JUMPDEST
000029f4: POP
000029f5: SWAP5
000029f6: SWAP6
000029f7: SWAP5
000029f8: POP
000029f9: POP
000029fa: POP
000029fb: POP
000029fc: POP
000029fd: JUMP
000029fe: JUMPDEST
000029ff: PUSH1 0x00
00002a01: DUP2
00002a02: MLOAD
00002a03: DUP1
00002a04: DUP5
00002a05: MSTORE
00002a06: PUSH2 0x2a16
00002a09: DUP2
00002a0a: PUSH1 0x20
00002a0c: DUP7
00002a0d: ADD
00002a0e: PUSH1 0x20
00002a10: DUP7
00002a11: ADD
00002a12: PUSH2 0x30db
00002a15: JUMP
00002a16: JUMPDEST
00002a17: PUSH1 0x1f
00002a19: ADD
00002a1a: PUSH1 0x1f
00002a1c: NOT
00002a1d: AND
00002a1e: SWAP3
00002a1f: SWAP1
00002a20: SWAP3
00002a21: ADD
00002a22: PUSH1 0x20
00002a24: ADD
00002a25: SWAP3
00002a26: SWAP2
00002a27: POP
00002a28: POP
00002a29: JUMP
00002a2a: JUMPDEST
00002a2b: PUSH32 0x416c6c6f636174696f6e20526f756e64203c753e6f70656e733c2f753e20696e
00002a4c: DUP2
00002a4d: MSTORE
00002a4e: PUSH1 0x1d
00002a50: PUSH1 0xf9
00002a52: SHL
00002a53: PUSH1 0x20
00002a55: DUP3
00002a56: ADD
00002a57: MSTORE
00002a58: PUSH1 0x21
00002a5a: ADD
00002a5b: SWAP1
00002a5c: JUMP
00002a5d: JUMPDEST
00002a5e: PUSH32 0x4643465320526f756e64203c753e636c6f7365733c2f753e20696e3a00000000
00002a7f: DUP2
00002a80: MSTORE
00002a81: PUSH1 0x1c
00002a83: ADD
00002a84: SWAP1
00002a85: JUMP
00002a86: JUMPDEST
00002a87: PUSH32 0x416c6c6f636174696f6e20526f756e64203c753e636c6f7365733c2f753e2069
00002aa8: DUP2
00002aa9: MSTORE
00002aaa: PUSH2 0x371d
00002aad: PUSH1 0xf1
00002aaf: SHL
00002ab0: PUSH1 0x20
00002ab2: DUP3
00002ab3: ADD
00002ab4: MSTORE
00002ab5: PUSH1 0x22
00002ab7: ADD
00002ab8: SWAP1
00002ab9: JUMP
00002aba: JUMPDEST
00002abb: PUSH1 0x01
00002abd: PUSH1 0x01
00002abf: PUSH1 0xa0
00002ac1: SHL
00002ac2: SUB
00002ac3: SWAP2
00002ac4: SWAP1
00002ac5: SWAP2
00002ac6: AND
00002ac7: DUP2
00002ac8: MSTORE
00002ac9: PUSH1 0x20
00002acb: ADD
00002acc: SWAP1
00002acd: JUMP
00002ace: JUMPDEST
00002acf: PUSH1 0x01
00002ad1: PUSH1 0x01
00002ad3: PUSH1 0xa0
00002ad5: SHL
00002ad6: SUB
00002ad7: SWAP3
00002ad8: SWAP1
00002ad9: SWAP3
00002ada: AND
00002adb: DUP3
00002adc: MSTORE
00002add: PUSH1 0x20
00002adf: DUP3
00002ae0: ADD
00002ae1: MSTORE
00002ae2: PUSH1 0x40
00002ae4: ADD
00002ae5: SWAP1
00002ae6: JUMP
00002ae7: JUMPDEST
00002ae8: PUSH1 0x01
00002aea: PUSH1 0x01
00002aec: PUSH1 0xa0
00002aee: SHL
00002aef: SUB
00002af0: DUP15
00002af1: AND
00002af2: DUP2
00002af3: MSTORE
00002af4: PUSH2 0x01a0
00002af7: PUSH1 0x20
00002af9: DUP3
00002afa: ADD
00002afb: DUP2
00002afc: SWAP1
00002afd: MSTORE
00002afe: PUSH1 0x00
00002b00: SWAP1
00002b01: PUSH2 0x2b0c
00002b04: SWAP1
00002b05: DUP4
00002b06: ADD
00002b07: DUP16
00002b08: PUSH2 0x29fe
00002b0b: JUMP
00002b0c: JUMPDEST
00002b0d: DUP14
00002b0e: PUSH1 0x40
00002b10: DUP5
00002b11: ADD
00002b12: MSTORE
00002b13: DUP13
00002b14: PUSH1 0x60
00002b16: DUP5
00002b17: ADD
00002b18: MSTORE
00002b19: DUP12
00002b1a: PUSH1 0x80
00002b1c: DUP5
00002b1d: ADD
00002b1e: MSTORE
00002b1f: DUP11
00002b20: PUSH1 0xa0
00002b22: DUP5
00002b23: ADD
00002b24: MSTORE
00002b25: DUP10
00002b26: PUSH1 0xc0
00002b28: DUP5
00002b29: ADD
00002b2a: MSTORE
00002b2b: DUP3
00002b2c: DUP2
00002b2d: SUB
00002b2e: PUSH1 0xe0
00002b30: DUP5
00002b31: ADD
00002b32: MSTORE
00002b33: PUSH2 0x2b3c
00002b36: DUP2
00002b37: DUP11
00002b38: PUSH2 0x29fe
00002b3b: JUMP
00002b3c: JUMPDEST
00002b3d: PUSH2 0x0100
00002b40: DUP5
00002b41: ADD
00002b42: SWAP9
00002b43: SWAP1
00002b44: SWAP9
00002b45: MSTORE
00002b46: POP
00002b47: POP
00002b48: PUSH2 0x0120
00002b4b: DUP2
00002b4c: ADD
00002b4d: SWAP5
00002b4e: SWAP1
00002b4f: SWAP5
00002b50: MSTORE
00002b51: PUSH2 0x0140
00002b54: DUP5
00002b55: ADD
00002b56: SWAP3
00002b57: SWAP1
00002b58: SWAP3
00002b59: MSTORE
00002b5a: PUSH2 0x0160
00002b5d: DUP4
00002b5e: ADD
00002b5f: MSTORE
00002b60: PUSH1 0x01
00002b62: PUSH1 0x01
00002b64: PUSH1 0xa0
00002b66: SHL
00002b67: SUB
00002b68: AND
00002b69: PUSH2 0x0180
00002b6c: SWAP1
00002b6d: SWAP2
00002b6e: ADD
00002b6f: MSTORE
00002b70: SWAP9
00002b71: SWAP8
00002b72: POP
00002b73: POP
00002b74: POP
00002b75: POP
00002b76: POP
00002b77: POP
00002b78: POP
00002b79: POP
00002b7a: JUMP
00002b7b: JUMPDEST
00002b7c: PUSH1 0x00
00002b7e: PUSH1 0x60
00002b80: DUP3
00002b81: MSTORE
00002b82: PUSH2 0x2b8e
00002b85: PUSH1 0x60
00002b87: DUP4
00002b88: ADD
00002b89: DUP7
00002b8a: PUSH2 0x2971
00002b8d: JUMP
00002b8e: JUMPDEST
00002b8f: DUP3
00002b90: DUP2
00002b91: SUB
00002b92: PUSH1 0x20
00002b94: DUP5
00002b95: ADD
00002b96: MSTORE
00002b97: PUSH2 0x2ba0
00002b9a: DUP2
00002b9b: DUP7
00002b9c: PUSH2 0x29c4
00002b9f: JUMP
00002ba0: JUMPDEST
00002ba1: SWAP1
00002ba2: POP
00002ba3: DUP3
00002ba4: DUP2
00002ba5: SUB
00002ba6: PUSH1 0x40
00002ba8: DUP5
00002ba9: ADD
00002baa: MSTORE
00002bab: PUSH2 0x2767
00002bae: DUP2
00002baf: DUP6
00002bb0: PUSH2 0x29c4
00002bb3: JUMP
00002bb4: JUMPDEST
00002bb5: SWAP1
00002bb6: ISZERO
00002bb7: ISZERO
00002bb8: DUP2
00002bb9: MSTORE
00002bba: PUSH1 0x20
00002bbc: ADD
00002bbd: SWAP1
00002bbe: JUMP
00002bbf: JUMPDEST
00002bc0: PUSH1 0x00
00002bc2: PUSH1 0x20
00002bc4: DUP3
00002bc5: MSTORE
00002bc6: PUSH2 0x2198
00002bc9: PUSH1 0x20
00002bcb: DUP4
00002bcc: ADD
00002bcd: DUP5
00002bce: PUSH2 0x29fe
00002bd1: JUMP
00002bd2: JUMPDEST
00002bd3: PUSH1 0x00
00002bd5: PUSH1 0x60
00002bd7: DUP3
00002bd8: MSTORE
00002bd9: PUSH2 0x2be5
00002bdc: PUSH1 0x60
00002bde: DUP4
00002bdf: ADD
00002be0: DUP7
00002be1: PUSH2 0x29fe
00002be4: JUMP
00002be5: JUMPDEST
00002be6: SWAP1
00002be7: POP
00002be8: DUP4
00002be9: PUSH1 0x20
00002beb: DUP4
00002bec: ADD
00002bed: MSTORE
00002bee: PUSH1 0x02
00002bf0: DUP4
00002bf1: LT
00002bf2: PUSH2 0x2bf7
00002bf5: JUMPI
00002bf6: INVALID
00002bf7: JUMPDEST
00002bf8: DUP3
00002bf9: PUSH1 0x40
00002bfb: DUP4
00002bfc: ADD
00002bfd: MSTORE
00002bfe: SWAP5
00002bff: SWAP4
00002c00: POP
00002c01: POP
00002c02: POP
00002c03: POP
00002c04: JUMP
00002c05: JUMPDEST
00002c06: PUSH1 0x20
00002c08: DUP1
00002c09: DUP3
00002c0a: MSTORE
00002c0b: PUSH1 0x12
00002c0d: SWAP1
00002c0e: DUP3
00002c0f: ADD
00002c10: MSTORE
00002c11: PUSH18 0x092dcecc2d8d2c840e8d2cae440d2dcc8caf
00002c24: PUSH1 0x73
00002c26: SHL
00002c27: PUSH1 0x40
00002c29: DUP3
00002c2a: ADD
00002c2b: MSTORE
00002c2c: PUSH1 0x60
00002c2e: ADD
00002c2f: SWAP1
00002c30: JUMP
00002c31: JUMPDEST
00002c32: PUSH1 0x20
00002c34: DUP1
00002c35: DUP3
00002c36: MSTORE
00002c37: PUSH1 0x0c
00002c39: SWAP1
00002c3a: DUP3
00002c3b: ADD
00002c3c: MSTORE
00002c3d: PUSH12 0x24b73b30b634b2103a34b2b9
00002c4a: PUSH1 0xa1
00002c4c: SHL
00002c4d: PUSH1 0x40
00002c4f: DUP3
00002c50: ADD
00002c51: MSTORE
00002c52: PUSH1 0x60
00002c54: ADD
00002c55: SWAP1
00002c56: JUMP
00002c57: JUMPDEST
00002c58: PUSH1 0x20
00002c5a: DUP1
00002c5b: DUP3
00002c5c: MSTORE
00002c5d: PUSH1 0x26
00002c5f: SWAP1
00002c60: DUP3
00002c61: ADD
00002c62: MSTORE
00002c63: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00002c84: PUSH1 0x40
00002c86: DUP3
00002c87: ADD
00002c88: MSTORE
00002c89: PUSH6 0x646472657373
00002c90: PUSH1 0xd0
00002c92: SHL
00002c93: PUSH1 0x60
00002c95: DUP3
00002c96: ADD
00002c97: MSTORE
00002c98: PUSH1 0x80
00002c9a: ADD
00002c9b: SWAP1
00002c9c: JUMP
00002c9d: JUMPDEST
00002c9e: PUSH1 0x20
00002ca0: DUP1
00002ca1: DUP3
00002ca2: MSTORE
00002ca3: PUSH1 0x34
00002ca5: SWAP1
00002ca6: DUP3
00002ca7: ADD
00002ca8: MSTORE
00002ca9: PUSH32 0x496e737566666963656e74206e617469766520746f6b656e2062616c616e6365
00002cca: PUSH1 0x40
00002ccc: DUP3
00002ccd: ADD
00002cce: MSTORE
00002ccf: PUSH20 0x103a37903a3930b739b332b91030b6b7bab73a17
00002ce4: PUSH1 0x61
00002ce6: SHL
00002ce7: PUSH1 0x60
00002ce9: DUP3
00002cea: ADD
00002ceb: MSTORE
00002cec: PUSH1 0x80
00002cee: ADD
00002cef: SWAP1
00002cf0: JUMP
00002cf1: JUMPDEST
00002cf2: PUSH1 0x20
00002cf4: DUP1
00002cf5: DUP3
00002cf6: MSTORE
00002cf7: PUSH1 0x1b
00002cf9: SWAP1
00002cfa: DUP3
00002cfb: ADD
00002cfc: MSTORE
00002cfd: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00002d1e: PUSH1 0x40
00002d20: DUP3
00002d21: ADD
00002d22: MSTORE
00002d23: PUSH1 0x60
00002d25: ADD
00002d26: SWAP1
00002d27: JUMP
00002d28: JUMPDEST
00002d29: PUSH1 0x20
00002d2b: DUP1
00002d2c: DUP3
00002d2d: MSTORE
00002d2e: DUP2
00002d2f: DUP2
00002d30: ADD
00002d31: MSTORE
00002d32: PUSH32 0x416d6f756e74206d7573742062652067726561746572207468616e207a65726f
00002d53: PUSH1 0x40
00002d55: DUP3
00002d56: ADD
00002d57: MSTORE
00002d58: PUSH1 0x60
00002d5a: ADD
00002d5b: SWAP1
00002d5c: JUMP
00002d5d: JUMPDEST
00002d5e: PUSH1 0x20
00002d60: DUP1
00002d61: DUP3
00002d62: MSTORE
00002d63: PUSH1 0x0d
00002d65: SWAP1
00002d66: DUP3
00002d67: ADD
00002d68: MSTORE
00002d69: PUSH13 0x125b9d985b1a59081c9bdd5b99
00002d77: PUSH1 0x9a
00002d79: SHL
00002d7a: PUSH1 0x40
00002d7c: DUP3
00002d7d: ADD
00002d7e: MSTORE
00002d7f: PUSH1 0x60
00002d81: ADD
00002d82: SWAP1
00002d83: JUMP
00002d84: JUMPDEST
00002d85: PUSH1 0x20
00002d87: DUP1
00002d88: DUP3
00002d89: MSTORE
00002d8a: PUSH1 0x13
00002d8c: SWAP1
00002d8d: DUP3
00002d8e: ADD
00002d8f: MSTORE
00002d90: PUSH19 0x092dcecc2d8d2c840e4deeadcc840d2dcc8caf
00002da4: PUSH1 0x6b
00002da6: SHL
00002da7: PUSH1 0x40
00002da9: DUP3
00002daa: ADD
00002dab: MSTORE
00002dac: PUSH1 0x60
00002dae: ADD
00002daf: SWAP1
00002db0: JUMP
00002db1: JUMPDEST
00002db2: PUSH1 0x20
00002db4: DUP1
00002db5: DUP3
00002db6: MSTORE
00002db7: PUSH1 0x23
00002db9: SWAP1
00002dba: DUP3
00002dbb: ADD
00002dbc: MSTORE
00002dbd: PUSH32 0x416d6f756e7420657863656564732072656d61696e696e6720616c6c6f636174
00002dde: PUSH1 0x40
00002de0: DUP3
00002de1: ADD
00002de2: MSTORE
00002de3: PUSH3 0x34b7b7
00002de7: PUSH1 0xe9
00002de9: SHL
00002dea: PUSH1 0x60
00002dec: DUP3
00002ded: ADD
00002dee: MSTORE
00002def: PUSH1 0x80
00002df1: ADD
00002df2: SWAP1
00002df3: JUMP
00002df4: JUMPDEST
00002df5: PUSH1 0x20
00002df7: DUP1
00002df8: DUP3
00002df9: MSTORE
00002dfa: PUSH1 0x18
00002dfc: SWAP1
00002dfd: DUP3
00002dfe: ADD
00002dff: MSTORE
00002e00: PUSH32 0x496e76616c696420726f756e6473207370656369666965640000000000000000
00002e21: PUSH1 0x40
00002e23: DUP3
00002e24: ADD
00002e25: MSTORE
00002e26: PUSH1 0x60
00002e28: ADD
00002e29: SWAP1
00002e2a: JUMP
00002e2b: JUMPDEST
00002e2c: PUSH1 0x20
00002e2e: DUP1
00002e2f: DUP3
00002e30: MSTORE
00002e31: PUSH1 0x21
00002e33: SWAP1
00002e34: DUP3
00002e35: ADD
00002e36: MSTORE
00002e37: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f
00002e58: PUSH1 0x40
00002e5a: DUP3
00002e5b: ADD
00002e5c: MSTORE
00002e5d: PUSH1 0x77
00002e5f: PUSH1 0xf8
00002e61: SHL
00002e62: PUSH1 0x60
00002e64: DUP3
00002e65: ADD
00002e66: MSTORE
00002e67: PUSH1 0x80
00002e69: ADD
00002e6a: SWAP1
00002e6b: JUMP
00002e6c: JUMPDEST
00002e6d: PUSH1 0x20
00002e6f: DUP1
00002e70: DUP3
00002e71: MSTORE
00002e72: DUP2
00002e73: DUP2
00002e74: ADD
00002e75: MSTORE
00002e76: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002e97: PUSH1 0x40
00002e99: DUP3
00002e9a: ADD
00002e9b: MSTORE
00002e9c: PUSH1 0x60
00002e9e: ADD
00002e9f: SWAP1
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: PUSH1 0x20
00002ea4: DUP1
00002ea5: DUP3
00002ea6: MSTORE
00002ea7: PUSH1 0x12
00002ea9: SWAP1
00002eaa: DUP3
00002eab: ADD
00002eac: MSTORE
00002ead: PUSH18 0x0416d6f756e7420657863656564732063617
00002ec0: PUSH1 0x74
00002ec2: SHL
00002ec3: PUSH1 0x40
00002ec5: DUP3
00002ec6: ADD
00002ec7: MSTORE
00002ec8: PUSH1 0x60
00002eca: ADD
00002ecb: SWAP1
00002ecc: JUMP
00002ecd: JUMPDEST
00002ece: PUSH1 0x20
00002ed0: DUP1
00002ed1: DUP3
00002ed2: MSTORE
00002ed3: PUSH1 0x29
00002ed5: SWAP1
00002ed6: DUP3
00002ed7: ADD
00002ed8: MSTORE
00002ed9: PUSH32 0x496e737566666963656e74206e617469766520746f6b656e2073656e7420746f
00002efa: PUSH1 0x40
00002efc: DUP3
00002efd: ADD
00002efe: MSTORE
00002eff: PUSH9 0x0818dbdb9d1c9858dd
00002f09: PUSH1 0xba
00002f0b: SHL
00002f0c: PUSH1 0x60
00002f0e: DUP3
00002f0f: ADD
00002f10: MSTORE
00002f11: PUSH1 0x80
00002f13: ADD
00002f14: SWAP1
00002f15: JUMP
00002f16: JUMPDEST
00002f17: PUSH1 0x20
00002f19: DUP1
00002f1a: DUP3
00002f1b: MSTORE
00002f1c: PUSH1 0x1c
00002f1e: SWAP1
00002f1f: DUP3
00002f20: ADD
00002f21: MSTORE
00002f22: PUSH32 0x50617274696369706174696f6e206e6f742076616c69642f6f70656e00000000
00002f43: PUSH1 0x40
00002f45: DUP3
00002f46: ADD
00002f47: MSTORE
00002f48: PUSH1 0x60
00002f4a: ADD
00002f4b: SWAP1
00002f4c: JUMP
00002f4d: JUMPDEST
00002f4e: PUSH1 0x20
00002f50: DUP1
00002f51: DUP3
00002f52: MSTORE
00002f53: PUSH1 0x17
00002f55: SWAP1
00002f56: DUP3
00002f57: ADD
00002f58: MSTORE
00002f59: PUSH32 0x496e76616c696420746965727320737065636966696564000000000000000000
00002f7a: PUSH1 0x40
00002f7c: DUP3
00002f7d: ADD
00002f7e: MSTORE
00002f7f: PUSH1 0x60
00002f81: ADD
00002f82: SWAP1
00002f83: JUMP
00002f84: JUMPDEST
00002f85: PUSH1 0x20
00002f87: DUP1
00002f88: DUP3
00002f89: MSTORE
00002f8a: PUSH1 0x2d
00002f8c: SWAP1
00002f8d: DUP3
00002f8e: ADD
00002f8f: MSTORE
00002f90: PUSH32 0x496e737566666963656e7420746f6b656e2062616c616e636520746f20747261
00002fb1: PUSH1 0x40
00002fb3: DUP3
00002fb4: ADD
00002fb5: MSTORE
00002fb6: PUSH13 0x3739b332b91030b6b7bab73a17
00002fc4: PUSH1 0x99
00002fc6: SHL
00002fc7: PUSH1 0x60
00002fc9: DUP3
00002fca: ADD
00002fcb: MSTORE
00002fcc: PUSH1 0x80
00002fce: ADD
00002fcf: SWAP1
00002fd0: JUMP
00002fd1: JUMPDEST
00002fd2: SWAP1
00002fd3: DUP2
00002fd4: MSTORE
00002fd5: PUSH1 0x20
00002fd7: ADD
00002fd8: SWAP1
00002fd9: JUMP
00002fda: JUMPDEST
00002fdb: PUSH1 0x00
00002fdd: DUP5
00002fde: DUP3
00002fdf: MSTORE
00002fe0: PUSH1 0x60
00002fe2: PUSH1 0x20
00002fe4: DUP4
00002fe5: ADD
00002fe6: MSTORE
00002fe7: PUSH2 0x2ff3
00002fea: PUSH1 0x60
00002fec: DUP4
00002fed: ADD
00002fee: DUP6
00002fef: PUSH2 0x29c4
00002ff2: JUMP
00002ff3: JUMPDEST
00002ff4: DUP3
00002ff5: DUP2
00002ff6: SUB
00002ff7: PUSH1 0x40
00002ff9: DUP5
00002ffa: ADD
00002ffb: MSTORE
00002ffc: PUSH2 0x2767
00002fff: DUP2
00003000: DUP6
00003001: PUSH2 0x2971
00003004: JUMP
00003005: JUMPDEST
00003006: PUSH1 0x00
00003008: PUSH2 0x0100
0000300b: DUP11
0000300c: DUP4
0000300d: MSTORE
0000300e: DUP10
0000300f: PUSH1 0x20
00003011: DUP5
00003012: ADD
00003013: MSTORE
00003014: DUP1
00003015: PUSH1 0x40
00003017: DUP5
00003018: ADD
00003019: MSTORE
0000301a: PUSH2 0x3025
0000301d: DUP2
0000301e: DUP5
0000301f: ADD
00003020: DUP11
00003021: PUSH2 0x29fe
00003024: JUMP
00003025: JUMPDEST
00003026: SWAP1
00003027: POP
00003028: DUP8
00003029: PUSH1 0x60
0000302b: DUP5
0000302c: ADD
0000302d: MSTORE
0000302e: DUP3
0000302f: DUP2
00003030: SUB
00003031: PUSH1 0x80
00003033: DUP5
00003034: ADD
00003035: MSTORE
00003036: PUSH2 0x303f
00003039: DUP2
0000303a: DUP9
0000303b: PUSH2 0x29fe
0000303e: JUMP
0000303f: JUMPDEST
00003040: PUSH1 0xa0
00003042: DUP5
00003043: ADD
00003044: SWAP7
00003045: SWAP1
00003046: SWAP7
00003047: MSTORE
00003048: POP
00003049: POP
0000304a: PUSH1 0xc0
0000304c: DUP2
0000304d: ADD
0000304e: SWAP3
0000304f: SWAP1
00003050: SWAP3
00003051: MSTORE
00003052: PUSH1 0xe0
00003054: SWAP1
00003055: SWAP2
00003056: ADD
00003057: MSTORE
00003058: SWAP6
00003059: SWAP5
0000305a: POP
0000305b: POP
0000305c: POP
0000305d: POP
0000305e: POP
0000305f: JUMP
00003060: JUMPDEST
00003061: PUSH1 0x00
00003063: DUP7
00003064: DUP3
00003065: MSTORE
00003066: DUP6
00003067: PUSH1 0x20
00003069: DUP4
0000306a: ADD
0000306b: MSTORE
0000306c: DUP5
0000306d: PUSH1 0x40
0000306f: DUP4
00003070: ADD
00003071: MSTORE
00003072: PUSH1 0xa0
00003074: PUSH1 0x60
00003076: DUP4
00003077: ADD
00003078: MSTORE
00003079: PUSH2 0x3085
0000307c: PUSH1 0xa0
0000307e: DUP4
0000307f: ADD
00003080: DUP6
00003081: PUSH2 0x29fe
00003084: JUMP
00003085: JUMPDEST
00003086: SWAP1
00003087: POP
00003088: DUP3
00003089: PUSH1 0x80
0000308b: DUP4
0000308c: ADD
0000308d: MSTORE
0000308e: SWAP7
0000308f: SWAP6
00003090: POP
00003091: POP
00003092: POP
00003093: POP
00003094: POP
00003095: POP
00003096: JUMP
00003097: JUMPDEST
00003098: PUSH1 0x00
0000309a: DUP1
0000309b: DUP4
0000309c: CALLDATALOAD
0000309d: PUSH1 0x1e
0000309f: NOT
000030a0: DUP5
000030a1: CALLDATASIZE
000030a2: SUB
000030a3: ADD
000030a4: DUP2
000030a5: SLT
000030a6: PUSH2 0x30ad
000030a9: JUMPI
000030aa: DUP3
000030ab: DUP4
000030ac: REVERT
000030ad: JUMPDEST
000030ae: DUP4
000030af: ADD
000030b0: DUP1
000030b1: CALLDATALOAD
000030b2: SWAP2
000030b3: POP
000030b4: PUSH1 0x01
000030b6: PUSH1 0x01
000030b8: PUSH1 0x40
000030ba: SHL
000030bb: SUB
000030bc: DUP3
000030bd: GT
000030be: ISZERO
000030bf: PUSH2 0x30c6
000030c2: JUMPI
000030c3: DUP3
000030c4: DUP4
000030c5: REVERT
000030c6: JUMPDEST
000030c7: PUSH1 0x20
000030c9: ADD
000030ca: SWAP2
000030cb: POP
000030cc: CALLDATASIZE
000030cd: DUP2
000030ce: SWAP1
000030cf: SUB
000030d0: DUP3
000030d1: SGT
000030d2: ISZERO
000030d3: PUSH2 0x2503
000030d6: JUMPI
000030d7: PUSH1 0x00
000030d9: DUP1
000030da: REVERT
000030db: JUMPDEST
000030dc: PUSH1 0x00
000030de: JUMPDEST
000030df: DUP4
000030e0: DUP2
000030e1: LT
000030e2: ISZERO
000030e3: PUSH2 0x30f6
000030e6: JUMPI
000030e7: DUP2
000030e8: DUP2
000030e9: ADD
000030ea: MLOAD
000030eb: DUP4
000030ec: DUP3
000030ed: ADD
000030ee: MSTORE
000030ef: PUSH1 0x20
000030f1: ADD
000030f2: PUSH2 0x30de
000030f5: JUMP
000030f6: JUMPDEST
000030f7: DUP4
000030f8: DUP2
000030f9: GT
000030fa: ISZERO
000030fb: PUSH2 0x3105
000030fe: JUMPI
000030ff: PUSH1 0x00
00003101: DUP5
00003102: DUP5
00003103: ADD
00003104: MSTORE
00003105: JUMPDEST
00003106: POP
00003107: POP
00003108: POP
00003109: POP
0000310a: JUMP
0000310b: JUMPDEST
0000310c: PUSH1 0x01
0000310e: PUSH1 0x01
00003110: PUSH1 0xa0
00003112: SHL
00003113: SUB
00003114: DUP2
00003115: AND
00003116: DUP2
00003117: EQ
00003118: PUSH2 0x22e8
0000311b: JUMPI
0000311c: PUSH1 0x00
0000311e: DUP1
0000311f: REVERT
00003120: JUMPDEST
00003121: DUP1
00003122: ISZERO
00003123: ISZERO
00003124: DUP2
00003125: EQ
00003126: PUSH2 0x22e8
00003129: JUMPI
0000312a: PUSH1 0x00
0000312c: DUP1
0000312d: REVERT
0000312e: JUMPDEST
0000312f: PUSH1 0x02
00003131: DUP2
00003132: LT
00003133: PUSH2 0x22e8
00003136: JUMPI
00003137: PUSH1 0x00
00003139: DUP1
0000313a: REVERT
0000313b: INVALID
0000313c: LOG2
0000313d: PUSH5 0x6970667358
00003143: UNKNOWN(0x22)
00003144: SLT
00003145: KECCAK256
00003146: UNKNOWN(0xCA)
00003147: GASPRICE
00003148: PUSH21 0x557c979baf917473dc22321c4d9527653be91e030a
0000315e: UNKNOWN(0xCA)
0000315f: UNKNOWN(0xD3)
00003160: UNKNOWN(0xAB)
00003161: PUSH28

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x2dd0d8bd9961fb4009b3b2618546542c2025e1dc65c8fb8fc9377a5ba633410a
call_targets: 0x00c3d7da14c49e73ab4a3a15e169591ddaf9d75a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2dd0d8bd9961fb4009b3b2618546542c2025e1dc65c8fb8fc9377a5ba633410a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x00c3d7da14c49e73ab4a3a15e169591ddaf9d75a"
    ],
    "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": "0xdd7c5e54",
            "selector": "0xdd7c5e54",
            "calldata_variants": [
                "0xdd7c5e54",
                "0xdd7c5e540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecc7ccbd",
            "selector": "0xecc7ccbd",
            "calldata_variants": [
                "0xecc7ccbd",
                "0xecc7ccbd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5ac6319",
            "selector": "0xf5ac6319",
            "calldata_variants": [
                "0xf5ac6319",
                "0xf5ac63190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf640d508",
            "selector": "0xf640d508",
            "calldata_variants": [
                "0xf640d508",
                "0xf640d5080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb99728a",
            "selector": "0xcb99728a",
            "calldata_variants": [
                "0xcb99728a",
                "0xcb99728a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd7f6315",
            "selector": "0xcd7f6315",
            "calldata_variants": [
                "0xcd7f6315",
                "0xcd7f63150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfed1970",
            "selector": "0xcfed1970",
            "calldata_variants": [
                "0xcfed1970",
                "0xcfed19700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2422,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5135,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x2dd0d8bd9961fb4009b3b2618546542c2025e1dc65c8fb8fc9377a5ba633410a
call_targets: 0x00c3d7da14c49e73ab4a3a15e169591ddaf9d75a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2dd0d8bd9961fb4009b3b2618546542c2025e1dc65c8fb8fc9377a5ba633410a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x00c3d7da14c49e73ab4a3a15e169591ddaf9d75a"
    ],
    "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": "0xdd7c5e54",
            "selector": "0xdd7c5e54",
            "calldata_variants": [
                "0xdd7c5e54",
                "0xdd7c5e540000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecc7ccbd",
            "selector": "0xecc7ccbd",
            "calldata_variants": [
                "0xecc7ccbd",
                "0xecc7ccbd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5ac6319",
            "selector": "0xf5ac6319",
            "calldata_variants": [
                "0xf5ac6319",
                "0xf5ac63190000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf640d508",
            "selector": "0xf640d508",
            "calldata_variants": [
                "0xf640d508",
                "0xf640d5080000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcb99728a",
            "selector": "0xcb99728a",
            "calldata_variants": [
                "0xcb99728a",
                "0xcb99728a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd7f6315",
            "selector": "0xcd7f6315",
            "calldata_variants": [
                "0xcd7f6315",
                "0xcd7f63150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcfed1970",
            "selector": "0xcfed1970",
            "calldata_variants": [
                "0xcfed1970",
                "0xcfed19700000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2422,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5135,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
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": 9
}