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

Analysis Run

5bec6672-f372-454f-a543-d5d68f803aec

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 6:08 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 proxy context implementation known
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
31728 report.consolidate complete 1 / 1 3 months ago
95791 artifact.fetch complete 1 / 3 1 week ago
95792 tool.cast_disasm complete 1 / 3 1 week ago
95793 analysis.bundle complete 1 / 3 1 week ago
95794 capability.graph complete 1 / 3 1 week ago
95795 detector.run complete 1 / 3 1 week ago
95796 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
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
Completed bytecode review; external calls appear view-only or owner/validator-gated with state updates before value transfer, and there are no delegatecall/selfdestruct or unprotected value-transfer paths. No concrete exploitable profit path is evident from bytecode alone.
View stderr
[codex:503884] OpenAI Codex v0.77.0 (research preview)
[codex:503884] --------
[codex:503884] workdir: /tmp/codex-multi-fz88q3vi
[codex:503884] model: gpt-5.2-codex
[codex:503884] provider: openai
[codex:503884] approval: never
[codex:503884] sandbox: read-only
[codex:503884] reasoning effort: xhigh
[codex:503884] reasoning summaries: auto
[codex:503884] session id: 019b8f51-0941-78a2-b5aa-965734613a2d
[codex:503884] --------
[codex:503884] user
[codex:503884] 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:503884] 
[codex:503884] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:503884] 
[codex:503884] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:503884] - Gas inefficiency, code quality, or best practices
[codex:503884] - Theoretical vulnerabilities without a clear extraction path
[codex:503884] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:503884] - Issues requiring social engineering or off-chain coordination
[codex:503884] 
[codex:503884] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:503884] - CALL/DELEGATECALL with controllable destination or calldata
[codex:503884] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:503884] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:503884] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:503884] - External calls before state updates (reentrancy)
[codex:503884] - SELFDESTRUCT with controllable beneficiary
[codex:503884] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:503884] 
[codex:503884] For each finding, you MUST explain:
[codex:503884] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:503884] 2. The concrete sequence of transactions to extract value
[codex:503884] 3. Why you believe this is exploitable (not just suspicious)
[codex:503884] 
[codex:503884] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:503884] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:503884] 
[codex:503884] Output MUST be valid JSON matching the provided schema.
[codex:503884] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:503884] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:503884] mcp startup: no servers
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Preparing to read instructions**
[codex:503884] exec
[codex:503884] /bin/bash -lc ls in /tmp/codex-multi-fz88q3vi succeeded in 20ms:
[codex:503884] BYTECODE_BUNDLE.txt
[codex:503884] codex-output-schema.json
[codex:503884] exec
[codex:503884] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-fz88q3vi succeeded in 6ms:
[codex:503884] Runtime bytecode bundle for best-effort auditing.
[codex:503884] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:503884] 
[codex:503884] FILE: runtime_bytecode.hex
[codex:503884] 0x60806040526004361061022c5763ffffffff60e060020a60003504166306fdde038114610253578063095ea7b3146102dd57806318160ddd146103155780631dcea4271461033c57806321d800ec1461036d578063232a2c1d1461038557806323b872dd146103cb5780632b92490e146103f55780632bd0bb0514610416578063313ce5671461042e578063392e53cd146104595780633dd95d1b1461046e5780633e6968b6146104865780633f0a9f651461049b578063437764df146104b057806343b37dd3146104fa578063452f3ce01461050f5780634fb3fef71461052457806351c764e01461053c57806367eeba0c1461058157806369ffa08a1461059657806370a08231146105bd5780637ce3489b1461046e5780637fd6f15c146105de578063879ce676146105f35780638aa1949a1461060b5780638d068043146106205780638da5cb5b1461063557806395d89b411461064a578063994390891461065f578063997b8c2d146106745780639a454b99146106c15780639cb7595a146106d6578063a2a6ca2714610717578063a9059cbb1461072f578063acf5c68914610746578063b20d30a91461075e578063bf1fe42014610776578063c05676561461078e578063c6f6f216146107a6578063dd62ed3e146107be578063df0ad3de146107e5578063df25f3f0146107fa578063ea9f49681461080f578063f20151e114610827578063f2fde38b1461083f578063f968adbe14610860578063fe173b9714610875575b604080513481529051309133916000805160206131cb8339815191529181900360200190a3005b34801561025f57600080fd5b5061026861088a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a257818101518382015260200161028a565b50505050905090810190601f1680156102cf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e957600080fd5b50610301600160a060020a03600435166024356108c1565b604080519115158252519081900360200190f35b34801561032157600080fd5b5061032a610913565b60408051918252519081900360200190f35b34801561034857600080fd5b50610351610919565b60408051600160a060020a039092168252519081900360200190f35b34801561037957600080fd5b50610301600435610997565b34801561039157600080fd5b506103c96024600480358281019290820135918135808301929082013591604435808301929082013591606435918201910135610a60565b005b3480156103d757600080fd5b50610301600160a060020a03600435811690602435166044356108c1565b34801561040157600080fd5b506103c9600160a060020a0360043516610c1a565b34801561042257600080fd5b5061032a600435610c42565b34801561043a57600080fd5b50610443610cff565b6040805160ff9092168252519081900360200190f35b34801561046557600080fd5b50610301610d04565b34801561047a57600080fd5b506103c9600435610dbc565b34801561049257600080fd5b5061032a610e28565b3480156104a757600080fd5b5061032a610e31565b3480156104bc57600080fd5b506104c5610ee5565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b34801561050657600080fd5b5061032a610f88565b34801561051b57600080fd5b50610351610ffb565b34801561053057600080fd5b5061032a6004356110b9565b34801561054857600080fd5b50610301600160a060020a0360043581169060243581169060443590606435906084359060a4359060c4359060e4351661010435611134565b34801561058d57600080fd5b5061032a6117bf565b3480156105a257600080fd5b506103c9600160a060020a0360043581169060243516611832565b3480156105c957600080fd5b5061032a600160a060020a0360043516611871565b3480156105ea57600080fd5b5061032a61187e565b3480156105ff57600080fd5b506103016004356118f1565b34801561061757600080fd5b5061032a61193b565b34801561062c57600080fd5b5061032a6119ae565b34801561064157600080fd5b50610351611a26565b34801561065657600080fd5b50610268611a9a565b34801561066b57600080fd5b50610351611ad1565b34801561068057600080fd5b50610301600160a060020a0360043581169060243581169060443590606435906084359060a4359060c4359060e43581169061010435906101243516611b45565b3480156106cd57600080fd5b5061032a611b70565b3480156106e257600080fd5b506106eb611be3565b6040805167ffffffffffffffff9485168152928416602084015292168183015290519081900360600190f35b34801561072357600080fd5b506103c9600435611bed565b610301600160a060020a0360043516602435611ce4565b34801561075257600080fd5b506103c9600435611e14565b34801561076a57600080fd5b506103c9600435611f23565b34801561078257600080fd5b506103c9600435612025565b34801561079a57600080fd5b5061032a600435612134565b3480156107b257600080fd5b506103c9600435612171565b3480156107ca57600080fd5b5061032a600160a060020a0360043581169060243516612212565b3480156107f157600080fd5b5061035161221a565b34801561080657600080fd5b5061032a61225a565b34801561081b57600080fd5b506103016004356122cd565b34801561083357600080fd5b506103c960043561231d565b34801561084b57600080fd5b506103c9600160a060020a03600435166123be565b34801561086c57600080fd5b5061032a6123f8565b34801561088157600080fd5b5061032a61246b565b60408051808201909152601381527f5468756e64657220577261707065642045544800000000000000000000000000602082015281565b6040805160e560020a62461bcd02815260206004820152600860248201527f72657665727465640000000000000000000000000000000000000000000000006044820152905160009181900360640190fd5b30315b90565b600030600160a060020a031663392e53cd6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561095957600080fd5b505af115801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b505115610991575030610916565b50600090565b6000600460008360405160200180807f72656c617965644d657373616765730000000000000000000000000000000000815250600f0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b60208310610a1c5780518252601f1990920191602091820191016109fd565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205460ff1695945050505050565b600080600080610b3886868080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050508d8d808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508c8c808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050508b8b8080602002602001604051908101604052809392919081815260200183836020028082843750610b339450611ad19350505050565b6124de565b610b7186868080601f0160208091040260200160405190810160405280939291908181526020018383808284375061274b945050505050565b92965090945092509050600160a060020a0381163014610b9057600080fd5b610b9982610997565b15610ba357600080fd5b610bae826001612791565b610bb88484612863565b1515610bc357600080fd5b60408051600160a060020a03861681526020810185905280820184905290517f4ab7d581336d92edbea22636a613e8e76c99ac7f91137c1523db38dbfb3bf3299181900360600190a1505050505050505050505050565b610c22611a26565b600160a060020a03163314610c3657600080fd5b610c3f816129ee565b50565b60008060008360405160200180807f746f74616c5370656e74506572446179000000000000000000000000000000008152506010018281526020019150506040516020818303038152906040526040518082805190602001908083835b60208310610cbe5780518252601f199092019160209182019101610c9f565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205495945050505050565b601281565b60006004600060405160200180807f6973496e697469616c697a656400000000000000000000000000000000000000815250600d0190506040516020818303038152906040526040518082805190602001908083835b60208310610d795780518252601f199092019160209182019101610d5a565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000205460ff16949350505050565b610dc4611a26565b600160a060020a03163314610dd857600080fd5b6040805160e560020a62461bcd02815260206004820152600a60248201527f6465707265636174656400000000000000000000000000000000000000000000604482015290519081900360640190fd5b62015180420490565b600080600060405160200180807f7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000815250601a0190506040516020818303038152906040526040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528501959095529290920160002054949350505050565b600060405160200180807f6572632d746f2d6572632d636f72650000000000000000000000000000000000815250600f0190506040516020818303038152906040526040518082805190602001908083835b60208310610f565780518252601f199092019160209182019101610f37565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b600080600060405160200180807f657865637574696f6e4461696c794c696d697400000000000000000000000000815250601301905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b60006002600060405160200180807f66616c6c6261636b526563697069656e7400000000000000000000000000000081525060110190506040516020818303038152906040526040518082805190602001908083835b602083106110705780518252601f199092019160209182019101611051565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528501959095529290920160002054600160a060020a0316949350505050565b60008060008360405160200180807f746f74616c45786563757465645065724461790000000000000000000000000081525060130182815260200191505060405160208183030381529060405260405180828051906020019080838360208310610cbe5780518252601f199092019160209182019101610c9f565b600061113e610d04565b1561114857600080fd5b600160a060020a038a161580159061116457506111648a612ae0565b151561116f57600080fd5b87151561117b57600080fd5b6000871161118857600080fd5b84841061119457600080fd5b600160a060020a03831615156111a957600080fd5b6127108210611202576040805160e560020a62461bcd02815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b896002600060405160200180807f76616c696461746f72436f6e747261637400000000000000000000000000000081525060110190506040516020818303038152906040526040518082805190602001908083835b602083106112765780518252601f199092019160209182019101611257565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039590951694909417909355506112e791508a9050612ae8565b4360008060405160200180807f6465706c6f7965644174426c6f636b0000000000000000000000000000000000815250600f0190506040516020818303038152906040526040518082805190602001908083835b6020831061135a5780518252601f19909201916020918201910161133b565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000818401528151601a818303018152603a9091019182905280518c949384939182918401908083835b602083106114045780518252601f1990920191602091820191016113e5565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f6761735072696365000000000000000000000000000000000000000000000000818401528151600881830301815260289091019182905280518b949384939182918401908083835b602083106114ae5780518252601f19909201916020918201910161148f565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f6d61785065725478000000000000000000000000000000000000000000000000818401528151600881830301815260289091019182905280518a949384939182918401908083835b602083106115585780518252601f199092019160209182019101611539565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f657865637574696f6e4461696c794c696d6974000000000000000000000000008184015281516013818303018152603390910191829052805189949384939182918401908083835b602083106116025780518252601f1990920191602091820191016115e3565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f657865637574696f6e4d617850657254780000000000000000000000000000008184015281516011818303018152603190910191829052805188949384939182918401908083835b602083106116ac5780518252601f19909201916020918201910161168d565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912086528581019690965250928301600090812095909555505080517f66656550657263656e7400000000000000000000000000000000000000000000818401528151600a818303018152602a90910191829052805186949384939182918401908083835b602083106117565780518252601f199092019160209182019101611737565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020939093555061179f9150849050612b82565b6117a96001612c40565b6117b1610d04565b9a9950505050505050505050565b600080600060405160200180807f6461696c794c696d697400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b61183a61221a565b600160a060020a0316331461184e57600080fd5b600160a060020a038216151561186357600080fd5b61186d8282612d01565b5050565b600160a060020a03163190565b600080600060405160200180807f66656550657263656e7400000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b60008061191483611908611903610e28565b6110b9565b9063ffffffff612d4716565b90508061191f610f88565b10158015611934575061193061193b565b8311155b9392505050565b600080600060405160200180807f657865637574696f6e4d61785065725478000000000000000000000000000000815250601101905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b60006119b8611ad1565b600160a060020a0316638d0680436040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119f557600080fd5b505af1158015611a09573d6000803e3d6000fd5b505050506040513d6020811015611a1f57600080fd5b5051905090565b60006002600060405160200180807f6f776e65720000000000000000000000000000000000000000000000000000008152506005019050604051602081830303815290604052604051808280519060200190808383602083106110705780518252601f199092019160209182019101611051565b60408051808201909152600581527f5457455448000000000000000000000000000000000000000000000000000000602082015281565b60006002600060405160200180807f76616c696461746f72436f6e74726163740000000000000000000000000000008152506011019050604051602081830303815290604052604051808280519060200190808383602083106110705780518252601f199092019160209182019101611051565b6000611b50826129ee565b611b618b8b8b8b8b8b8b8b8b611134565b9b9a5050505050505050505050565b600080600060405160200180807f6465706c6f7965644174426c6f636b0000000000000000000000000000000000815250600f01905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b6002806000909192565b611bf5611a26565b600160a060020a03163314611c0957600080fd5b611c116117bf565b81108015611c255750611c226123f8565b81105b1515611c3057600080fd5b8060008060405160200180807f6d696e506572547800000000000000000000000000000000000000000000000081525060080190506040516020818303038152906040526040518082805190602001908083835b60208310611ca35780518252601f199092019160209182019101611c84565b51815160209384036101000a600019018019909216911617905260408051929094018290039091208652850195909552929092016000209390935550505050565b6000600160a060020a0383163014611d6c576040805160e560020a62461bcd02815260206004820152602960248201527f746f2061646472657373206d75737420626520666f726569676e20627269646760448201527f6520616464726573730000000000000000000000000000000000000000000000606482015290519081900360840190fd5b348214611de9576040805160e560020a62461bcd02815260206004820152602760248201527f7472616e736665722076616c7565206d75737420657175616c20746f2065746860448201527f20616d6f756e7400000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604080513481529051309133916000805160206131cb8339815191529181900360200190a392915050565b611e1c611a26565b600160a060020a03163314611e3057600080fd5b60008111611e3d57600080fd5b8060008060405160200180807f7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000815250601a0190506040516020818303038152906040526040518082805190602001908083835b60208310611eb05780518252601f199092019160209182019101611e91565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000209490945550815184815291517f4fb76205cd57c896b21511d2114137d8e901b4ccd659e1a0f97d6306795264fb9350918290030190a150565b611f2b611a26565b600160a060020a03163314611f3f57600080fd5b8060008060405160200180807f6461696c794c696d697400000000000000000000000000000000000000000000815250600a0190506040516020818303038152906040526040518082805190602001908083835b60208310611fb25780518252601f199092019160209182019101611f93565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000209490945550815184815291517fad4123ae17c414d9c6d2fec478b402e6b01856cc250fd01fbfd252fda0089d3c9350918290030190a150565b61202d611a26565b600160a060020a0316331461204157600080fd5b6000811161204e57600080fd5b8060008060405160200180807f676173507269636500000000000000000000000000000000000000000000000081525060080190506040516020818303038152906040526040518082805190602001908083835b602083106120c15780518252601f1990920191602091820191016120a2565b51815160001960209485036101000a019081169019919091161790526040805194909201849003909320865285830196909652509284016000209490945550815184815291517f52264b89e0fceafb26e79fd49ef8a366eb6297483bf4035b027f0c99a7ad512e9350918290030190a150565b60006127106119346121648261215861214b61187e565b879063ffffffff612d5616565b9063ffffffff612d8116565b849063ffffffff612d9816565b612179611a26565b600160a060020a0316331461218d57600080fd5b6121956117bf565b81106121a057600080fd5b8060008060405160200180807f6d61785065725478000000000000000000000000000000000000000000000000815250600801905060405160208183030381529060405260405180828051906020019080838360208310611ca35780518252601f199092019160209182019101611c84565b600092915050565b600030600160a060020a031663025313a26040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156119f557600080fd5b600080600060405160200180807f6d696e5065725478000000000000000000000000000000000000000000000000815250600801905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b6000806122e4836119086122df610e28565b610c42565b9050806122ef6117bf565b1015801561230457506123006123f8565b8311155b8015611934575061231361225a565b9092101592915050565b612325611a26565b600160a060020a0316331461233957600080fd5b612341610f88565b811061234c57600080fd5b8060008060405160200180807f657865637574696f6e4d61785065725478000000000000000000000000000000815250601101905060405160208183030381529060405260405180828051906020019080838360208310611ca35780518252601f199092019160209182019101611c84565b6123c6611a26565b600160a060020a031633146123da57600080fd5b600160a060020a03811615156123ef57600080fd5b610c3f81612b82565b600080600060405160200180807f6d61785065725478000000000000000000000000000000000000000000000000815250600801905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b600080600060405160200180807f6761735072696365000000000000000000000000000000000000000000000000815250600801905060405160208183030381529060405260405180828051906020019080838360208310610ea55780518252601f199092019160209182019101610e86565b60008060606000806124ef8a612daa565b15156124fa57600080fd5b85600160a060020a0316638d0680436040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561253857600080fd5b505af115801561254c573d6000803e3d6000fd5b505050506040513d602081101561256257600080fd5b5051895190955085111561257557600080fd5b61257e8a612dbe565b9350846040519080825280602002602001820160405280156125aa578160200160208202803883390190505b509250600091505b8482101561273f576001848a848151811015156125cb57fe5b906020019060200201518a858151811015156125e357fe5b906020019060200201518a868151811015156125fb57fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a0808401949293601f19830193908390039091019190865af115801561265c573d6000803e3d6000fd5b50505060206040510351905085600160a060020a031663facd743b826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b1580156126c357600080fd5b505af11580156126d7573d6000803e3d6000fd5b505050506040513d60208110156126ed57600080fd5b505115156126fa57600080fd5b6127048382612f83565b1561270e57600080fd5b80838381518110151561271d57fe5b600160a060020a039092166020928302909101909101526001909101906125b2565b50505050505050505050565b60008060008061275a85612daa565b151561276557600080fd5b600160a060020a0360148601511693506034850151925060548501519150606885015190509193509193565b80600460008460405160200180807f72656c617965644d657373616765730000000000000000000000000000000000815250600f0182600019166000191681526020019150506040516020818303038152906040526040518082805190602001908083835b602083106128155780518252601f1990920191602091820191016127f6565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805460ff1916941515949094179093555050505050565b6000806128708484612fdc565b15156129b45761287e610ffb565b9050600160a060020a0381161515612906576040805160e560020a62461bcd02815260206004820152602360248201527f66616c6c6261636b20726563697069656e7420776173206e6f7420617373696760448201527f6e65640000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b604051600160a060020a0382169084156108fc029085906000818181858888f1935050505015801561293c573d6000803e3d6000fd5b5080600160a060020a031684600160a060020a03167f4b186bbb80392b9b4a5cdf5f78a4f6ecdb8da0082f37d2cf24a6885e9f61fbbe60405160405180910390a3604080518481529051600160a060020a0383169130916000805160206131cb8339815191529181900360200190a3600191506129e7565b604080518481529051600160a060020a0386169130916000805160206131cb8339815191529181900360200190a3600191505b5092915050565b600160a060020a0381161515612a0357600080fd5b806002600060405160200180807f66616c6c6261636b526563697069656e7400000000000000000000000000000081525060110190506040516020818303038152906040526040518082805190602001908083835b60208310612a775780518252601f199092019160209182019101612a58565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03959095169490941790935550505050565b6000903b1190565b600160a060020a03811615801590612b045750612b0481612ae0565b1515612b0f57600080fd5b806002600060405160200180807f6572633230746f6b656e00000000000000000000000000000000000000000000815250600a01905060405160208183030381529060405260405180828051906020019080838360208310612a775780518252601f199092019160209182019101612a58565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0612bab611a26565b60408051600160a060020a03928316815291841660208301528051918290030190a1806002600060405160200180807f6f776e6572000000000000000000000000000000000000000000000000000000815250600501905060405160208183030381529060405260405180828051906020019080838360208310612a775780518252601f199092019160209182019101612a58565b806004600060405160200180807f6973496e697469616c697a656400000000000000000000000000000000000000815250600d0190506040516020818303038152906040526040518082805190602001908083835b60208310612cb45780518252601f199092019160209182019101612c95565b51815160209384036101000a60001901801990921691161790526040805192909401829003909120865285019590955292909201600020805460ff19169415159490941790935550505050565b612d0961221a565b600160a060020a03163314612d1d57600080fd5b612d25610919565b600160a060020a0383811691161415612d3d57600080fd5b61186d8282613009565b60008282018381101561193457fe5b600080831515612d6957600091506129e7565b50828202828482811515612d7957fe5b041461193457fe5b6000808284811515612d8f57fe5b04949350505050565b600082821115612da457fe5b50900390565b6000612db46131c5565b8251149050919050565b604080518082018252601a81527f19457468657265756d205369676e6564204d6573736167653a0a000000000000602080830191825283518085018552600381527f313034000000000000000000000000000000000000000000000000000000000081830152935183516000959385938593899391019182918083835b60208310612e5a5780518252601f199092019160209182019101612e3b565b51815160209384036101000a600019018019909216911617905286519190930192860191508083835b60208310612ea25780518252601f199092019160209182019101612e83565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612eea5780518252601f199092019160209182019101612ecb565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040526040518082805190602001908083835b60208310612f4f5780518252601f199092019160209182019101612f30565b5181516020939093036101000a60001901801990911692169190911790526040519201829003909120979650505050505050565b6000805b8351811015612fd25782600160a060020a03168482815181101515612fa857fe5b90602001906020020151600160a060020a03161415612fca57600191506129e7565b600101612f87565b5060009392505050565b604051600090600160a060020a0384169083156108fc0290849084818181858888f1979650505050505050565b60008061301461221a565b600160a060020a0316331461302857600080fd5b600160a060020a038316151561303d57600080fd5b600160a060020a038416151561308957604051600160a060020a03841690303180156108fc02916000818181858888f19350505050158015613083573d6000803e3d6000fd5b506131bf565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051859350600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156130ed57600080fd5b505af1158015613101573d6000803e3d6000fd5b505050506040513d602081101561311757600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b15801561318857600080fd5b505af115801561319c573d6000803e3d6000fd5b505050506040513d60208110156131b257600080fd5b505115156131bf57600080fd5b50505050565b6068905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582037dc3bfd2efd16ef5893d62ca6d6117961573d71dde151a49342055bb4cc869f0029
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing bytecode for exploits**
[codex:503884] 
[codex:503884] I’m carefully inspecting the contract’s bytecode for any concrete exploit paths, focusing on unprotected token or ETH transfers, ownership changes, or self-destruct patterns. Since I only have the runtime bytecode and no state, I’m cautious about assuming initialization status or access controls, so I’m attempting to disassemble and parse the opcode sequences manually within read-only constraints.
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] # extract runtime bytecode after 'FILE: runtime_bytecode.hex'
[codex:503884] # find 0x...
[codex:503884] import sys
[codex:503884] m=re.search(r'0x[0-9a-fA-F]+', hexdata)
[codex:503884] if not m:
[codex:503884]     print('no hex found'); sys.exit(1)
[codex:503884] hexstr=m.group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] # disassemble minimal
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] pcs=[]
[codex:503884] call_pcs=[]
[codex:503884] selfdestruct_pcs=[]
[codex:503884] code_len=len(code)
[codex:503884] pc=0
[codex:503884] while pc<code_len:
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     pcs.append((pc,op,name))
[codex:503884]     if op==0xf1 or op==0xf2 or op==0xf4:
[codex:503884]         call_pcs.append((pc,op,name))
[codex:503884]     if op==0xff:
[codex:503884]         selfdestruct_pcs.append(pc)
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         pc+=1+(op-0x5f)
[codex:503884]     else:
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] print('code length',code_len)
[codex:503884] print('CALL/DELEGATECALL/CALLCODE count',len(call_pcs))
[codex:503884] print('SELFDESTRUCT pcs',selfdestruct_pcs)
[codex:503884] # show first 20 call pcs
[codex:503884] for pc,op,name in call_pcs[:20]:
[codex:503884]     print(hex(pc),name)
[codex:503884] # show last 10 call pcs
[codex:503884] print('last calls:')
[codex:503884] for pc,op,name in call_pcs[-10:]:
[codex:503884]     print(hex(pc),name)
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 45ms:
[codex:503884] code length 12822
[codex:503884] CALL/DELEGATECALL/CALLCODE count 12
[codex:503884] SELFDESTRUCT pcs []
[codex:503884] 0x95c CALL
[codex:503884] 0x19f8 CALL
[codex:503884] 0x253b CALL
[codex:503884] 0x264b CALL
[codex:503884] 0x26c6 CALL
[codex:503884] 0x2926 CALL
[codex:503884] 0x2ffe CALL
[codex:503884] 0x306d CALL
[codex:503884] 0x30f0 CALL
[codex:503884] 0x318b CALL
[codex:503884] 0x31cc CALLCODE
[codex:503884] 0x31de CALL
[codex:503884] last calls:
[codex:503884] 0x253b CALL
[codex:503884] 0x264b CALL
[codex:503884] 0x26c6 CALL
[codex:503884] 0x2926 CALL
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing CALLCODE instructions**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] m=re.search(r'0x[0-9a-fA-F]+', hexdata)
[codex:503884] hexstr=m.group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] # disassemble into list of (pc, op, name, imm)
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # map pc to index
[codex:503884] pc_to_idx={pc:i for i,(pc,_,_,_) in enumerate(insts)}
[codex:503884] 
[codex:503884] call_pcs=[pc for pc,op,_,_ in insts if op in (0xf1,0xf2,0xf4)]
[codex:503884] print('call pcs', [hex(pc) for pc in call_pcs])
[codex:503884] 
[codex:503884] for pc in call_pcs:
[codex:503884]     idx=pc_to_idx[pc]
[codex:503884]     start=max(0,idx-10)
[codex:503884]     end=min(len(insts),idx+10)
[codex:503884]     print('\\n=== around',hex(pc),'===')
[codex:503884]     for i in range(start,end):
[codex:503884]         pc_i,op,name,imm=insts[i]
[codex:503884]         if imm is None:
[codex:503884]             imm_str=''
[codex:503884]         else:
[codex:503884]             imm_str=' 0x'+imm.hex()
[codex:503884]         marker='>>' if pc_i==pc else '  '
[codex:503884]         print(f\"{marker} {hex(pc_i):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 45ms:
[codex:503884] call pcs ['0x95c', '0x19f8', '0x253b', '0x264b', '0x26c6', '0x2926', '0x2ffe', '0x306d', '0x30f0', '0x318b', '0x31cc', '0x31de']
[codex:503884] 
[codex:503884] === around 0x95c ===
[codex:503884]     0x94f DUP1
[codex:503884]     0x950 ISZERO
[codex:503884]     0x951 PUSH2 0x0959
[codex:503884]     0x954 JUMPI
[codex:503884]     0x955 PUSH1 0x00
[codex:503884]     0x957 DUP1
[codex:503884]     0x958 REVERT
[codex:503884]     0x959 JUMPDEST
[codex:503884]     0x95a POP
[codex:503884]     0x95b GAS
[codex:503884] >>  0x95c CALL
[codex:503884]     0x95d ISZERO
[codex:503884]     0x95e DUP1
[codex:503884]     0x95f ISZERO
[codex:503884]     0x960 PUSH2 0x096d
[codex:503884]     0x963 JUMPI
[codex:503884]     0x964 RETURNDATASIZE
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Preparing call analysis**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] pc_to_idx={pc:i for i,(pc,_,_,_) in enumerate(insts)}
[codex:503884] call_pcs=[pc for pc,op,_,_ in insts if op in (0xf1,0xf2,0xf4)]
[codex:503884] 
[codex:503884] for pc in call_pcs:
[codex:503884]     if pc>=0x31c0: # skip metadata
[codex:503884]         continue
[codex:503884]     idx=pc_to_idx[pc]
[codex:503884]     start=max(0,idx-40)
[codex:503884]     end=min(len(insts),idx+10)
[codex:503884]     print('\\n=== around',hex(pc),'===')
[codex:503884]     for i in range(start,end):
[codex:503884]         pc_i,op,name,imm=insts[i]
[codex:503884]         if imm is None:
[codex:503884]             imm_str=''
[codex:503884]         else:
[codex:503884]             imm_str=' 0x'+imm.hex()
[codex:503884]         marker='>>' if pc_i==pc else '  '
[codex:503884]         print(f\"{marker} {hex(pc_i):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 50ms:
[codex:503884] 
[codex:503884] === around 0x95c ===
[codex:503884]     0x921 PUSH1 0x02
[codex:503884]     0x923 EXP
[codex:503884]     0x924 SUB
[codex:503884]     0x925 AND
[codex:503884]     0x926 PUSH4 0x392e53cd
[codex:503884]     0x92b PUSH1 0x40
[codex:503884]     0x92d MLOAD
[codex:503884]     0x92e DUP2
[codex:503884]     0x92f PUSH4 0xffffffff
[codex:503884]     0x934 AND
[codex:503884]     0x935 PUSH1 0xe0
[codex:503884]     0x937 PUSH1 0x02
[codex:503884]     0x939 EXP
[codex:503884]     0x93a MUL
[codex:503884]     0x93b DUP2
[codex:503884]     0x93c MSTORE
[codex:503884]     0x93d PUSH1 0x04
[codex:503884]     0x93f ADD
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing contract call patterns**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # find JUMPDEST at 0x3014? Actually search around 0x3000-0x31c0
[codex:503884] for start in [0x2f00,0x3000,0x3040,0x3080,0x30a0,0x30c0,0x30e0,0x3100,0x3120,0x3140,0x3160]:
[codex:503884]     print('\\n-- region',hex(start))
[codex:503884]     for pc,op,name,imm in insts:
[codex:503884]         if start<=pc<start+0x60:
[codex:503884]             imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]             print(f\"{hex(pc):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 55ms:
[codex:503884] 
[codex:503884] -- region 0x2f00
[codex:503884] 0x2f00 DUP3
[codex:503884] 0x2f01 OR
[codex:503884] 0x2f02 DUP6
[codex:503884] 0x2f03 MSTORE
[codex:503884] 0x2f04 POP
[codex:503884] 0x2f05 POP
[codex:503884] 0x2f06 POP
[codex:503884] 0x2f07 POP
[codex:503884] 0x2f08 POP
[codex:503884] 0x2f09 POP
[codex:503884] 0x2f0a SWAP1
[codex:503884] 0x2f0b POP
[codex:503884] 0x2f0c ADD
[codex:503884] 0x2f0d SWAP4
[codex:503884] 0x2f0e POP
[codex:503884] 0x2f0f POP
[codex:503884] 0x2f10 POP
[codex:503884] 0x2f11 POP
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing token and ETH transfer protections**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] for start in [0x2860,0x2880,0x28a0,0x28c0,0x28e0,0x2900,0x2920,0x2940,0x2960,0x2980,0x29a0,0x29c0]:
[codex:503884]     print('\\n-- region',hex(start))
[codex:503884]     for pc,op,name,imm in insts:
[codex:503884]         if start<=pc<start+0x60:
[codex:503884]             imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]             print(f\"{hex(pc):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 54ms:
[codex:503884] 
[codex:503884] -- region 0x2860
[codex:503884] 0x2860 POP
[codex:503884] 0x2861 POP
[codex:503884] 0x2862 JUMP
[codex:503884] 0x2863 JUMPDEST
[codex:503884] 0x2864 PUSH1 0x00
[codex:503884] 0x2866 DUP1
[codex:503884] 0x2867 PUSH2 0x2870
[codex:503884] 0x286a DUP5
[codex:503884] 0x286b DUP5
[codex:503884] 0x286c PUSH2 0x2fdc
[codex:503884] 0x286f JUMP
[codex:503884] 0x2870 JUMPDEST
[codex:503884] 0x2871 ISZERO
[codex:503884] 0x2872 ISZERO
[codex:503884] 0x2873 PUSH2 0x29b4
[codex:503884] 0x2876 JUMPI
[codex:503884] 0x2877 PUSH2 0x287e
[codex:503884] 0x287a PUSH2 0x0ffb
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing fallbackRecipient access control**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] # disassemble
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # find sequences CALLER EQ or CALLER == ...
[codex:503884] for i in range(len(insts)-4):
[codex:503884]     if insts[i][2]=='CALLER':
[codex:503884]         # look ahead for EQ in next few instructions
[codex:503884]         seq=insts[i:i+6]
[codex:503884]         names=[s[2] for s in seq]
[codex:503884]         if 'EQ' in names or 'ISZERO' in names:
[codex:503884]             print('CALLER at',hex(insts[i][0]), 'seq', [f\"{n}{'' if s[3] is None else ' '+s[3].hex()}\" for s,n,s in zip(seq,[x[2] for x in seq],seq)])
[codex:503884]             # print 10 around
[codex:503884]             start=max(0,i-5); end=min(len(insts),i+8)
[codex:503884]             for j in range(start,end):
[codex:503884]                 pc,op,name,imm=insts[j]
[codex:503884]                 imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]                 marker='>>' if j==i else '  '
[codex:503884]                 print(f\"{marker} {hex(pc):>6} {name}{imm_str}\")
[codex:503884]             print('---')
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 36ms:
[codex:503884] CALLER at 0xc2c seq ['CALLER', 'EQ', 'PUSH2 0c36', 'JUMPI', 'PUSH1 00', 'DUP1']
[codex:503884]     0xc25 PUSH1 0xa0
[codex:503884]     0xc27 PUSH1 0x02
[codex:503884]     0xc29 EXP
[codex:503884]     0xc2a SUB
[codex:503884]     0xc2b AND
[codex:503884] >>  0xc2c CALLER
[codex:503884]     0xc2d EQ
[codex:503884]     0xc2e PUSH2 0x0c36
[codex:503884]     0xc31 JUMPI
[codex:503884]     0xc32 PUSH1 0x00
[codex:503884]     0xc34 DUP1
[codex:503884]     0xc35 REVERT
[codex:503884]     0xc36 JUMPDEST
[codex:503884] ---
[codex:503884] CALLER at 0xdce seq ['CALLER', 'EQ', 'PUSH2 0dd8', 'JUMPI', 'PUSH1 00', 'DUP1']
[codex:503884]     0xdc7 PUSH1 0xa0
[codex:503884]     0xdc9 PUSH1 0x02
[codex:503884]     0xdcb EXP
[codex:503884]     0xdcc SUB
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing access controls and reentrancy risks**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # find selector->jumpdest patterns in early part (pc < 0x250)
[codex:503884] sel_map={}
[codex:503884] for i in range(len(insts)-4):
[codex:503884]     pc,op,name,imm=insts[i]
[codex:503884]     if pc>0x260: # only early dispatch region
[codex:503884]         break
[codex:503884]     if name=='PUSH4':
[codex:503884]         # expecting PUSH4 <sel> , EQ , PUSH2 <addr> , JUMPI
[codex:503884]         if insts[i+1][2]=='EQ' and insts[i+2][2]=='PUSH2' and insts[i+3][2]=='JUMPI':
[codex:503884]             sel=imm.hex()
[codex:503884]             addr=insts[i+2][3].hex()
[codex:503884]             sel_map[sel]=int(addr,16)
[codex:503884] 
[codex:503884] # print mapping sorted by addr
[codex:503884] for sel,addr in sorted(sel_map.items(), key=lambda x:x[1]):
[codex:503884]     print(f\"0x{sel} -> 0x{addr:04x}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 43ms:
[codex:503884] 0x095ea7b3 -> 0x02dd
[codex:503884] 0x18160ddd -> 0x0315
[codex:503884] 0x1dcea427 -> 0x033c
[codex:503884] 0x21d800ec -> 0x036d
[codex:503884] 0x232a2c1d -> 0x0385
[codex:503884] 0x23b872dd -> 0x03cb
[codex:503884] 0x2b92490e -> 0x03f5
[codex:503884] 0x2bd0bb05 -> 0x0416
[codex:503884] 0x313ce567 -> 0x042e
[codex:503884] 0x392e53cd -> 0x0459
[codex:503884] 0x3dd95d1b -> 0x046e
[codex:503884] 0x7ce3489b -> 0x046e
[codex:503884] 0x3e6968b6 -> 0x0486
[codex:503884] 0x3f0a9f65 -> 0x049b
[codex:503884] 0x437764df -> 0x04b0
[codex:503884] 0x43b37dd3 -> 0x04fa
[codex:503884] 0x452f3ce0 -> 0x050f
[codex:503884] 0x4fb3fef7 -> 0x0524
[codex:503884] 0x51c764e0 -> 0x053c
[codex:503884] 0x67eeba0c -> 0x0581
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing function entry mappings and external calls**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] balance_pcs=[pc for pc,op,_,_ in insts if op==0x31]
[codex:503884] print('BALANCE pcs', [hex(pc) for pc in balance_pcs])
[codex:503884] for pc in balance_pcs:
[codex:503884]     idx={p:i for i,(p,_,_,_) in enumerate(insts)}[pc]
[codex:503884]     start=max(0,idx-5); end=min(len(insts),idx+10)
[codex:503884]     print('\\nAround',hex(pc))
[codex:503884]     for j in range(start,end):
[codex:503884]         pc2,op,name,imm=insts[j]
[codex:503884]         imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]         mark='>>' if pc2==pc else '  '
[codex:503884]         print(f\"{mark} {hex(pc2):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 48ms:
[codex:503884] BALANCE pcs ['0x915', '0x187b', '0x305d']
[codex:503884] 
[codex:503884] Around 0x915
[codex:503884]     0x910 ADD
[codex:503884]     0x911 SWAP1
[codex:503884]     0x912 REVERT
[codex:503884]     0x913 JUMPDEST
[codex:503884]     0x914 ADDRESS
[codex:503884] >>  0x915 BALANCE
[codex:503884]     0x916 JUMPDEST
[codex:503884]     0x917 SWAP1
[codex:503884]     0x918 JUMP
[codex:503884]     0x919 JUMPDEST
[codex:503884]     0x91a PUSH1 0x00
[codex:503884]     0x91c ADDRESS
[codex:503884]     0x91d PUSH1 0x01
[codex:503884]     0x91f PUSH1 0xa0
[codex:503884]     0x921 PUSH1 0x02
[codex:503884] 
[codex:503884] Around 0x187b
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Examining signature verification and call sites**
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # print region around 0x2600-0x2680
[codex:503884] for start in [0x25c0,0x25e0,0x2600,0x2620,0x2640,0x2660,0x2680]:
[codex:503884]     print('\\n-- region',hex(start))
[codex:503884]     for pc,op,name,imm in insts:
[codex:503884]         if start<=pc<start+0x60:
[codex:503884]             imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]             print(f\"{hex(pc):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 50ms:
[codex:503884] 
[codex:503884] -- region 0x25c0
[codex:503884] 0x25c0 DUP2
[codex:503884] 0x25c1 MLOAD
[codex:503884] 0x25c2 DUP2
[codex:503884] 0x25c3 LT
[codex:503884] 0x25c4 ISZERO
[codex:503884] 0x25c5 ISZERO
[codex:503884] 0x25c6 PUSH2 0x25cb
[codex:503884] 0x25c9 JUMPI
[codex:503884] 0x25ca INVALID
[codex:503884] 0x25cb JUMPDEST
[codex:503884] 0x25cc SWAP1
[codex:503884] 0x25cd PUSH1 0x20
[codex:503884] 0x25cf ADD
[codex:503884] 0x25d0 SWAP1
[codex:503884] 0x25d1 PUSH1 0x20
[codex:503884] 0x25d3 MUL
[codex:503884] 0x25d4 ADD
[codex:503884] 0x25d5 MLOAD
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing signature verification and reentrancy risks**
[codex:503884] 
[codex:503884] I'm piecing together that the call at 0x264b likely invokes `ecrecover` to recover signers, followed by a call to `isValidator` on the validator contract to confirm validity. I'm curious if the signature verification properly checks for uniqueness to prevent threshold bypass, and especially if the contract is vulnerable to reentrancy attacks by updating the `relayedMessages` state after external calls, which could allow double withdrawals if an attacker controls valid signatures and triggers reentry. I'll look for storage updates (`SSTORE`) around critical call points to verify state update order.
[codex:503884] exec
[codex:503884] /bin/bash -lc "python - <<'PY'
[codex:503884] import re
[codex:503884] from pathlib import Path
[codex:503884] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:503884] hexstr=re.search(r'0x[0-9a-fA-F]+', hexdata).group(0)[2:]
[codex:503884] code=bytes.fromhex(hexstr)
[codex:503884] 
[codex:503884] opnames={
[codex:503884] 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:503884] 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:503884] 0x20:'SHA3',
[codex:503884] 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:503884] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:503884] 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:503884] 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:503884] 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:503884] 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:503884] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:503884] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:503884] }
[codex:503884] 
[codex:503884] insts=[]
[codex:503884] pc=0
[codex:503884] while pc<len(code):
[codex:503884]     op=code[pc]
[codex:503884]     name=opnames.get(op,f'UNKNOWN_{op:02x}')
[codex:503884]     imm=None
[codex:503884]     if 0x60<=op<=0x7f:
[codex:503884]         n=op-0x5f
[codex:503884]         imm=code[pc+1:pc+1+n]
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1+n
[codex:503884]     else:
[codex:503884]         insts.append((pc,op,name,imm))
[codex:503884]         pc+=1
[codex:503884] 
[codex:503884] # find sstore pcs
[codex:503884] sstore_pcs=[pc for pc,op,_,_ in insts if op==0x55]
[codex:503884] print('SSTORE count',len(sstore_pcs))
[codex:503884] # show sstore near 0x2900-0x2980
[codex:503884] for pc in sstore_pcs:
[codex:503884]     if 0x2800<=pc<=0x2a00:
[codex:503884]         print('SSTORE at',hex(pc))
[codex:503884]         idx={p:i for i,(p,_,_,_) in enumerate(insts)}[pc]
[codex:503884]         start=max(0,idx-5); end=min(len(insts),idx+6)
[codex:503884]         for j in range(start,end):
[codex:503884]             pc2,op,name,imm=insts[j]
[codex:503884]             imm_str='' if imm is None else ' 0x'+imm.hex()
[codex:503884]             print(f\"  {hex(pc2):>6} {name}{imm_str}\")
[codex:503884] PY" in /tmp/codex-multi-fz88q3vi succeeded in 41ms:
[codex:503884] SSTORE count 15
[codex:503884] SSTORE at 0x285c
[codex:503884]   0x2857 SWAP1
[codex:503884]   0x2858 SWAP5
[codex:503884]   0x2859 OR
[codex:503884]   0x285a SWAP1
[codex:503884]   0x285b SWAP4
[codex:503884]   0x285c SSTORE
[codex:503884]   0x285d POP
[codex:503884]   0x285e POP
[codex:503884]   0x285f POP
[codex:503884]   0x2860 POP
[codex:503884]   0x2861 POP
[codex:503884] 
[codex:503884] thinking
[codex:503884] **Analyzing bytecode for exploits**
[codex:503884] 
[codex:503884] I’m carefully checking call and storage instructions to see if there’s any reentrancy or unauthorized token minting. The evidence points toward good practices like updating state before external calls and owner-only restrictions on sensitive methods. While there's a public initializer that could be risky if uncalled, I can’t confirm a concrete exploit from bytecode alone, so I’m preparing a no-findings report in JSON.
[codex:503884] codex
[codex:503884] {"no_findings":true,"summary":"Completed bytecode review; external calls appear view-only or owner/validator-gated with state updates before value transfer, and there are no delegatecall/selfdestruct or unprotected value-transfer paths. No concrete exploitable profit path is evident from bytecode alone.","findings":[]}
[codex:503884] tokens used
[codex:503884] 114,948
[codex:503884] {"no_findings":true,"summary":"Completed bytecode review; external calls appear view-only or owner/validator-gated with state updates before value transfer, and there are no delegatecall/selfdestruct or unprotected value-transfer paths. No concrete exploitable profit path is evident from bytecode alone.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T18:08:58.859444+00:00",
        "returncode": 0
    },
    "summary": "Completed bytecode review; external calls appear view-only or owner/validator-gated with state updates before value transfer, and there are no delegatecall/selfdestruct or unprotected value-transfer paths. No concrete exploitable profit path is evident from bytecode alone.",
    "raw_final": {
        "summary": "Completed bytecode review; external calls appear view-only or owner/validator-gated with state updates before value transfer, and there are no delegatecall/selfdestruct or unprotected value-transfer paths. No concrete exploitable profit path is evident from bytecode alone.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
12
EXT*/BALANCE
12
Total opcodes
8380
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x022c
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH1 0xe0
00000014: PUSH1 0x02
00000016: EXP
00000017: PUSH1 0x00
00000019: CALLDATALOAD
0000001a: DIV
0000001b: AND
0000001c: PUSH4 0x06fdde03
00000021: DUP2
00000022: EQ
00000023: PUSH2 0x0253
00000026: JUMPI
00000027: DUP1
00000028: PUSH4 0x095ea7b3
0000002d: EQ
0000002e: PUSH2 0x02dd
00000031: JUMPI
00000032: DUP1
00000033: PUSH4 0x18160ddd
00000038: EQ
00000039: PUSH2 0x0315
0000003c: JUMPI
0000003d: DUP1
0000003e: PUSH4 0x1dcea427
00000043: EQ
00000044: PUSH2 0x033c
00000047: JUMPI
00000048: DUP1
00000049: PUSH4 0x21d800ec
0000004e: EQ
0000004f: PUSH2 0x036d
00000052: JUMPI
00000053: DUP1
00000054: PUSH4 0x232a2c1d
00000059: EQ
0000005a: PUSH2 0x0385
0000005d: JUMPI
0000005e: DUP1
0000005f: PUSH4 0x23b872dd
00000064: EQ
00000065: PUSH2 0x03cb
00000068: JUMPI
00000069: DUP1
0000006a: PUSH4 0x2b92490e
0000006f: EQ
00000070: PUSH2 0x03f5
00000073: JUMPI
00000074: DUP1
00000075: PUSH4 0x2bd0bb05
0000007a: EQ
0000007b: PUSH2 0x0416
0000007e: JUMPI
0000007f: DUP1
00000080: PUSH4 0x313ce567
00000085: EQ
00000086: PUSH2 0x042e
00000089: JUMPI
0000008a: DUP1
0000008b: PUSH4 0x392e53cd
00000090: EQ
00000091: PUSH2 0x0459
00000094: JUMPI
00000095: DUP1
00000096: PUSH4 0x3dd95d1b
0000009b: EQ
0000009c: PUSH2 0x046e
0000009f: JUMPI
000000a0: DUP1
000000a1: PUSH4 0x3e6968b6
000000a6: EQ
000000a7: PUSH2 0x0486
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x3f0a9f65
000000b1: EQ
000000b2: PUSH2 0x049b
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x437764df
000000bc: EQ
000000bd: PUSH2 0x04b0
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0x43b37dd3
000000c7: EQ
000000c8: PUSH2 0x04fa
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x452f3ce0
000000d2: EQ
000000d3: PUSH2 0x050f
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0x4fb3fef7
000000dd: EQ
000000de: PUSH2 0x0524
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x51c764e0
000000e8: EQ
000000e9: PUSH2 0x053c
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x67eeba0c
000000f3: EQ
000000f4: PUSH2 0x0581
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x69ffa08a
000000fe: EQ
000000ff: PUSH2 0x0596
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x70a08231
00000109: EQ
0000010a: PUSH2 0x05bd
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x7ce3489b
00000114: EQ
00000115: PUSH2 0x046e
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x7fd6f15c
0000011f: EQ
00000120: PUSH2 0x05de
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x879ce676
0000012a: EQ
0000012b: PUSH2 0x05f3
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x8aa1949a
00000135: EQ
00000136: PUSH2 0x060b
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x8d068043
00000140: EQ
00000141: PUSH2 0x0620
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0x8da5cb5b
0000014b: EQ
0000014c: PUSH2 0x0635
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0x95d89b41
00000156: EQ
00000157: PUSH2 0x064a
0000015a: JUMPI
0000015b: DUP1
0000015c: PUSH4 0x99439089
00000161: EQ
00000162: PUSH2 0x065f
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0x997b8c2d
0000016c: EQ
0000016d: PUSH2 0x0674
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0x9a454b99
00000177: EQ
00000178: PUSH2 0x06c1
0000017b: JUMPI
0000017c: DUP1
0000017d: PUSH4 0x9cb7595a
00000182: EQ
00000183: PUSH2 0x06d6
00000186: JUMPI
00000187: DUP1
00000188: PUSH4 0xa2a6ca27
0000018d: EQ
0000018e: PUSH2 0x0717
00000191: JUMPI
00000192: DUP1
00000193: PUSH4 0xa9059cbb
00000198: EQ
00000199: PUSH2 0x072f
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH4 0xacf5c689
000001a3: EQ
000001a4: PUSH2 0x0746
000001a7: JUMPI
000001a8: DUP1
000001a9: PUSH4 0xb20d30a9
000001ae: EQ
000001af: PUSH2 0x075e
000001b2: JUMPI
000001b3: DUP1
000001b4: PUSH4 0xbf1fe420
000001b9: EQ
000001ba: PUSH2 0x0776
000001bd: JUMPI
000001be: DUP1
000001bf: PUSH4 0xc0567656
000001c4: EQ
000001c5: PUSH2 0x078e
000001c8: JUMPI
000001c9: DUP1
000001ca: PUSH4 0xc6f6f216
000001cf: EQ
000001d0: PUSH2 0x07a6
000001d3: JUMPI
000001d4: DUP1
000001d5: PUSH4 0xdd62ed3e
000001da: EQ
000001db: PUSH2 0x07be
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0xdf0ad3de
000001e5: EQ
000001e6: PUSH2 0x07e5
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0xdf25f3f0
000001f0: EQ
000001f1: PUSH2 0x07fa
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0xea9f4968
000001fb: EQ
000001fc: PUSH2 0x080f
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0xf20151e1
00000206: EQ
00000207: PUSH2 0x0827
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0xf2fde38b
00000211: EQ
00000212: PUSH2 0x083f
00000215: JUMPI
00000216: DUP1
00000217: PUSH4 0xf968adbe
0000021c: EQ
0000021d: PUSH2 0x0860
00000220: JUMPI
00000221: DUP1
00000222: PUSH4 0xfe173b97
00000227: EQ
00000228: PUSH2 0x0875
0000022b: JUMPI
0000022c: JUMPDEST
0000022d: PUSH1 0x40
0000022f: DUP1
00000230: MLOAD
00000231: CALLVALUE
00000232: DUP2
00000233: MSTORE
00000234: SWAP1
00000235: MLOAD
00000236: ADDRESS
00000237: SWAP2
00000238: CALLER
00000239: SWAP2
0000023a: PUSH1 0x00
0000023c: DUP1
0000023d: MLOAD
0000023e: PUSH1 0x20
00000240: PUSH2 0x31cb
00000243: DUP4
00000244: CODECOPY
00000245: DUP2
00000246: MLOAD
00000247: SWAP2
00000248: MSTORE
00000249: SWAP2
0000024a: DUP2
0000024b: SWAP1
0000024c: SUB
0000024d: PUSH1 0x20
0000024f: ADD
00000250: SWAP1
00000251: LOG3
00000252: STOP
00000253: JUMPDEST
00000254: CALLVALUE
00000255: DUP1
00000256: ISZERO
00000257: PUSH2 0x025f
0000025a: JUMPI
0000025b: PUSH1 0x00
0000025d: DUP1
0000025e: REVERT
0000025f: JUMPDEST
00000260: POP
00000261: PUSH2 0x0268
00000264: PUSH2 0x088a
00000267: JUMP
00000268: JUMPDEST
00000269: PUSH1 0x40
0000026b: DUP1
0000026c: MLOAD
0000026d: PUSH1 0x20
0000026f: DUP1
00000270: DUP3
00000271: MSTORE
00000272: DUP4
00000273: MLOAD
00000274: DUP2
00000275: DUP4
00000276: ADD
00000277: MSTORE
00000278: DUP4
00000279: MLOAD
0000027a: SWAP2
0000027b: SWAP3
0000027c: DUP4
0000027d: SWAP3
0000027e: SWAP1
0000027f: DUP4
00000280: ADD
00000281: SWAP2
00000282: DUP6
00000283: ADD
00000284: SWAP1
00000285: DUP1
00000286: DUP4
00000287: DUP4
00000288: PUSH1 0x00
0000028a: JUMPDEST
0000028b: DUP4
0000028c: DUP2
0000028d: LT
0000028e: ISZERO
0000028f: PUSH2 0x02a2
00000292: JUMPI
00000293: DUP2
00000294: DUP2
00000295: ADD
00000296: MLOAD
00000297: DUP4
00000298: DUP3
00000299: ADD
0000029a: MSTORE
0000029b: PUSH1 0x20
0000029d: ADD
0000029e: PUSH2 0x028a
000002a1: JUMP
000002a2: JUMPDEST
000002a3: POP
000002a4: POP
000002a5: POP
000002a6: POP
000002a7: SWAP1
000002a8: POP
000002a9: SWAP1
000002aa: DUP2
000002ab: ADD
000002ac: SWAP1
000002ad: PUSH1 0x1f
000002af: AND
000002b0: DUP1
000002b1: ISZERO
000002b2: PUSH2 0x02cf
000002b5: JUMPI
000002b6: DUP1
000002b7: DUP3
000002b8: SUB
000002b9: DUP1
000002ba: MLOAD
000002bb: PUSH1 0x01
000002bd: DUP4
000002be: PUSH1 0x20
000002c0: SUB
000002c1: PUSH2 0x0100
000002c4: EXP
000002c5: SUB
000002c6: NOT
000002c7: AND
000002c8: DUP2
000002c9: MSTORE
000002ca: PUSH1 0x20
000002cc: ADD
000002cd: SWAP2
000002ce: POP
000002cf: JUMPDEST
000002d0: POP
000002d1: SWAP3
000002d2: POP
000002d3: POP
000002d4: POP
000002d5: PUSH1 0x40
000002d7: MLOAD
000002d8: DUP1
000002d9: SWAP2
000002da: SUB
000002db: SWAP1
000002dc: RETURN
000002dd: JUMPDEST
000002de: CALLVALUE
000002df: DUP1
000002e0: ISZERO
000002e1: PUSH2 0x02e9
000002e4: JUMPI
000002e5: PUSH1 0x00
000002e7: DUP1
000002e8: REVERT
000002e9: JUMPDEST
000002ea: POP
000002eb: PUSH2 0x0301
000002ee: PUSH1 0x01
000002f0: PUSH1 0xa0
000002f2: PUSH1 0x02
000002f4: EXP
000002f5: SUB
000002f6: PUSH1 0x04
000002f8: CALLDATALOAD
000002f9: AND
000002fa: PUSH1 0x24
000002fc: CALLDATALOAD
000002fd: PUSH2 0x08c1
00000300: JUMP
00000301: JUMPDEST
00000302: PUSH1 0x40
00000304: DUP1
00000305: MLOAD
00000306: SWAP2
00000307: ISZERO
00000308: ISZERO
00000309: DUP3
0000030a: MSTORE
0000030b: MLOAD
0000030c: SWAP1
0000030d: DUP2
0000030e: SWAP1
0000030f: SUB
00000310: PUSH1 0x20
00000312: ADD
00000313: SWAP1
00000314: RETURN
00000315: JUMPDEST
00000316: CALLVALUE
00000317: DUP1
00000318: ISZERO
00000319: PUSH2 0x0321
0000031c: JUMPI
0000031d: PUSH1 0x00
0000031f: DUP1
00000320: REVERT
00000321: JUMPDEST
00000322: POP
00000323: PUSH2 0x032a
00000326: PUSH2 0x0913
00000329: JUMP
0000032a: JUMPDEST
0000032b: PUSH1 0x40
0000032d: DUP1
0000032e: MLOAD
0000032f: SWAP2
00000330: DUP3
00000331: MSTORE
00000332: MLOAD
00000333: SWAP1
00000334: DUP2
00000335: SWAP1
00000336: SUB
00000337: PUSH1 0x20
00000339: ADD
0000033a: SWAP1
0000033b: RETURN
0000033c: JUMPDEST
0000033d: CALLVALUE
0000033e: DUP1
0000033f: ISZERO
00000340: PUSH2 0x0348
00000343: JUMPI
00000344: PUSH1 0x00
00000346: DUP1
00000347: REVERT
00000348: JUMPDEST
00000349: POP
0000034a: PUSH2 0x0351
0000034d: PUSH2 0x0919
00000350: JUMP
00000351: JUMPDEST
00000352: PUSH1 0x40
00000354: DUP1
00000355: MLOAD
00000356: PUSH1 0x01
00000358: PUSH1 0xa0
0000035a: PUSH1 0x02
0000035c: EXP
0000035d: SUB
0000035e: SWAP1
0000035f: SWAP3
00000360: AND
00000361: DUP3
00000362: MSTORE
00000363: MLOAD
00000364: SWAP1
00000365: DUP2
00000366: SWAP1
00000367: SUB
00000368: PUSH1 0x20
0000036a: ADD
0000036b: SWAP1
0000036c: RETURN
0000036d: JUMPDEST
0000036e: CALLVALUE
0000036f: DUP1
00000370: ISZERO
00000371: PUSH2 0x0379
00000374: JUMPI
00000375: PUSH1 0x00
00000377: DUP1
00000378: REVERT
00000379: JUMPDEST
0000037a: POP
0000037b: PUSH2 0x0301
0000037e: PUSH1 0x04
00000380: CALLDATALOAD
00000381: PUSH2 0x0997
00000384: JUMP
00000385: JUMPDEST
00000386: CALLVALUE
00000387: DUP1
00000388: ISZERO
00000389: PUSH2 0x0391
0000038c: JUMPI
0000038d: PUSH1 0x00
0000038f: DUP1
00000390: REVERT
00000391: JUMPDEST
00000392: POP
00000393: PUSH2 0x03c9
00000396: PUSH1 0x24
00000398: PUSH1 0x04
0000039a: DUP1
0000039b: CALLDATALOAD
0000039c: DUP3
0000039d: DUP2
0000039e: ADD
0000039f: SWAP3
000003a0: SWAP1
000003a1: DUP3
000003a2: ADD
000003a3: CALLDATALOAD
000003a4: SWAP2
000003a5: DUP2
000003a6: CALLDATALOAD
000003a7: DUP1
000003a8: DUP4
000003a9: ADD
000003aa: SWAP3
000003ab: SWAP1
000003ac: DUP3
000003ad: ADD
000003ae: CALLDATALOAD
000003af: SWAP2
000003b0: PUSH1 0x44
000003b2: CALLDATALOAD
000003b3: DUP1
000003b4: DUP4
000003b5: ADD
000003b6: SWAP3
000003b7: SWAP1
000003b8: DUP3
000003b9: ADD
000003ba: CALLDATALOAD
000003bb: SWAP2
000003bc: PUSH1 0x64
000003be: CALLDATALOAD
000003bf: SWAP2
000003c0: DUP3
000003c1: ADD
000003c2: SWAP2
000003c3: ADD
000003c4: CALLDATALOAD
000003c5: PUSH2 0x0a60
000003c8: JUMP
000003c9: JUMPDEST
000003ca: STOP
000003cb: JUMPDEST
000003cc: CALLVALUE
000003cd: DUP1
000003ce: ISZERO
000003cf: PUSH2 0x03d7
000003d2: JUMPI
000003d3: PUSH1 0x00
000003d5: DUP1
000003d6: REVERT
000003d7: JUMPDEST
000003d8: POP
000003d9: PUSH2 0x0301
000003dc: PUSH1 0x01
000003de: PUSH1 0xa0
000003e0: PUSH1 0x02
000003e2: EXP
000003e3: SUB
000003e4: PUSH1 0x04
000003e6: CALLDATALOAD
000003e7: DUP2
000003e8: AND
000003e9: SWAP1
000003ea: PUSH1 0x24
000003ec: CALLDATALOAD
000003ed: AND
000003ee: PUSH1 0x44
000003f0: CALLDATALOAD
000003f1: PUSH2 0x08c1
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 0x03c9
00000406: PUSH1 0x01
00000408: PUSH1 0xa0
0000040a: PUSH1 0x02
0000040c: EXP
0000040d: SUB
0000040e: PUSH1 0x04
00000410: CALLDATALOAD
00000411: AND
00000412: PUSH2 0x0c1a
00000415: JUMP
00000416: JUMPDEST
00000417: CALLVALUE
00000418: DUP1
00000419: ISZERO
0000041a: PUSH2 0x0422
0000041d: JUMPI
0000041e: PUSH1 0x00
00000420: DUP1
00000421: REVERT
00000422: JUMPDEST
00000423: POP
00000424: PUSH2 0x032a
00000427: PUSH1 0x04
00000429: CALLDATALOAD
0000042a: PUSH2 0x0c42
0000042d: JUMP
0000042e: JUMPDEST
0000042f: CALLVALUE
00000430: DUP1
00000431: ISZERO
00000432: PUSH2 0x043a
00000435: JUMPI
00000436: PUSH1 0x00
00000438: DUP1
00000439: REVERT
0000043a: JUMPDEST
0000043b: POP
0000043c: PUSH2 0x0443
0000043f: PUSH2 0x0cff
00000442: JUMP
00000443: JUMPDEST
00000444: PUSH1 0x40
00000446: DUP1
00000447: MLOAD
00000448: PUSH1 0xff
0000044a: SWAP1
0000044b: SWAP3
0000044c: AND
0000044d: DUP3
0000044e: MSTORE
0000044f: MLOAD
00000450: SWAP1
00000451: DUP2
00000452: SWAP1
00000453: SUB
00000454: PUSH1 0x20
00000456: ADD
00000457: SWAP1
00000458: RETURN
00000459: JUMPDEST
0000045a: CALLVALUE
0000045b: DUP1
0000045c: ISZERO
0000045d: PUSH2 0x0465
00000460: JUMPI
00000461: PUSH1 0x00
00000463: DUP1
00000464: REVERT
00000465: JUMPDEST
00000466: POP
00000467: PUSH2 0x0301
0000046a: PUSH2 0x0d04
0000046d: JUMP
0000046e: JUMPDEST
0000046f: CALLVALUE
00000470: DUP1
00000471: ISZERO
00000472: PUSH2 0x047a
00000475: JUMPI
00000476: PUSH1 0x00
00000478: DUP1
00000479: REVERT
0000047a: JUMPDEST
0000047b: POP
0000047c: PUSH2 0x03c9
0000047f: PUSH1 0x04
00000481: CALLDATALOAD
00000482: PUSH2 0x0dbc
00000485: JUMP
00000486: JUMPDEST
00000487: CALLVALUE
00000488: DUP1
00000489: ISZERO
0000048a: PUSH2 0x0492
0000048d: JUMPI
0000048e: PUSH1 0x00
00000490: DUP1
00000491: REVERT
00000492: JUMPDEST
00000493: POP
00000494: PUSH2 0x032a
00000497: PUSH2 0x0e28
0000049a: JUMP
0000049b: JUMPDEST
0000049c: CALLVALUE
0000049d: DUP1
0000049e: ISZERO
0000049f: PUSH2 0x04a7
000004a2: JUMPI
000004a3: PUSH1 0x00
000004a5: DUP1
000004a6: REVERT
000004a7: JUMPDEST
000004a8: POP
000004a9: PUSH2 0x032a
000004ac: PUSH2 0x0e31
000004af: JUMP
000004b0: JUMPDEST
000004b1: CALLVALUE
000004b2: DUP1
000004b3: ISZERO
000004b4: PUSH2 0x04bc
000004b7: JUMPI
000004b8: PUSH1 0x00
000004ba: DUP1
000004bb: REVERT
000004bc: JUMPDEST
000004bd: POP
000004be: PUSH2 0x04c5
000004c1: PUSH2 0x0ee5
000004c4: JUMP
000004c5: JUMPDEST
000004c6: PUSH1 0x40
000004c8: DUP1
000004c9: MLOAD
000004ca: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000004eb: SWAP1
000004ec: SWAP3
000004ed: AND
000004ee: DUP3
000004ef: MSTORE
000004f0: MLOAD
000004f1: SWAP1
000004f2: DUP2
000004f3: SWAP1
000004f4: SUB
000004f5: PUSH1 0x20
000004f7: ADD
000004f8: SWAP1
000004f9: RETURN
000004fa: JUMPDEST
000004fb: CALLVALUE
000004fc: DUP1
000004fd: ISZERO
000004fe: PUSH2 0x0506
00000501: JUMPI
00000502: PUSH1 0x00
00000504: DUP1
00000505: REVERT
00000506: JUMPDEST
00000507: POP
00000508: PUSH2 0x032a
0000050b: PUSH2 0x0f88
0000050e: JUMP
0000050f: JUMPDEST
00000510: CALLVALUE
00000511: DUP1
00000512: ISZERO
00000513: PUSH2 0x051b
00000516: JUMPI
00000517: PUSH1 0x00
00000519: DUP1
0000051a: REVERT
0000051b: JUMPDEST
0000051c: POP
0000051d: PUSH2 0x0351
00000520: PUSH2 0x0ffb
00000523: JUMP
00000524: JUMPDEST
00000525: CALLVALUE
00000526: DUP1
00000527: ISZERO
00000528: PUSH2 0x0530
0000052b: JUMPI
0000052c: PUSH1 0x00
0000052e: DUP1
0000052f: REVERT
00000530: JUMPDEST
00000531: POP
00000532: PUSH2 0x032a
00000535: PUSH1 0x04
00000537: CALLDATALOAD
00000538: PUSH2 0x10b9
0000053b: JUMP
0000053c: JUMPDEST
0000053d: CALLVALUE
0000053e: DUP1
0000053f: ISZERO
00000540: PUSH2 0x0548
00000543: JUMPI
00000544: PUSH1 0x00
00000546: DUP1
00000547: REVERT
00000548: JUMPDEST
00000549: POP
0000054a: PUSH2 0x0301
0000054d: PUSH1 0x01
0000054f: PUSH1 0xa0
00000551: PUSH1 0x02
00000553: EXP
00000554: SUB
00000555: PUSH1 0x04
00000557: CALLDATALOAD
00000558: DUP2
00000559: AND
0000055a: SWAP1
0000055b: PUSH1 0x24
0000055d: CALLDATALOAD
0000055e: DUP2
0000055f: AND
00000560: SWAP1
00000561: PUSH1 0x44
00000563: CALLDATALOAD
00000564: SWAP1
00000565: PUSH1 0x64
00000567: CALLDATALOAD
00000568: SWAP1
00000569: PUSH1 0x84
0000056b: CALLDATALOAD
0000056c: SWAP1
0000056d: PUSH1 0xa4
0000056f: CALLDATALOAD
00000570: SWAP1
00000571: PUSH1 0xc4
00000573: CALLDATALOAD
00000574: SWAP1
00000575: PUSH1 0xe4
00000577: CALLDATALOAD
00000578: AND
00000579: PUSH2 0x0104
0000057c: CALLDATALOAD
0000057d: PUSH2 0x1134
00000580: JUMP
00000581: JUMPDEST
00000582: CALLVALUE
00000583: DUP1
00000584: ISZERO
00000585: PUSH2 0x058d
00000588: JUMPI
00000589: PUSH1 0x00
0000058b: DUP1
0000058c: REVERT
0000058d: JUMPDEST
0000058e: POP
0000058f: PUSH2 0x032a
00000592: PUSH2 0x17bf
00000595: JUMP
00000596: JUMPDEST
00000597: CALLVALUE
00000598: DUP1
00000599: ISZERO
0000059a: PUSH2 0x05a2
0000059d: JUMPI
0000059e: PUSH1 0x00
000005a0: DUP1
000005a1: REVERT
000005a2: JUMPDEST
000005a3: POP
000005a4: PUSH2 0x03c9
000005a7: PUSH1 0x01
000005a9: PUSH1 0xa0
000005ab: PUSH1 0x02
000005ad: EXP
000005ae: SUB
000005af: PUSH1 0x04
000005b1: CALLDATALOAD
000005b2: DUP2
000005b3: AND
000005b4: SWAP1
000005b5: PUSH1 0x24
000005b7: CALLDATALOAD
000005b8: AND
000005b9: PUSH2 0x1832
000005bc: JUMP
000005bd: JUMPDEST
000005be: CALLVALUE
000005bf: DUP1
000005c0: ISZERO
000005c1: PUSH2 0x05c9
000005c4: JUMPI
000005c5: PUSH1 0x00
000005c7: DUP1
000005c8: REVERT
000005c9: JUMPDEST
000005ca: POP
000005cb: PUSH2 0x032a
000005ce: PUSH1 0x01
000005d0: PUSH1 0xa0
000005d2: PUSH1 0x02
000005d4: EXP
000005d5: SUB
000005d6: PUSH1 0x04
000005d8: CALLDATALOAD
000005d9: AND
000005da: PUSH2 0x1871
000005dd: JUMP
000005de: JUMPDEST
000005df: CALLVALUE
000005e0: DUP1
000005e1: ISZERO
000005e2: PUSH2 0x05ea
000005e5: JUMPI
000005e6: PUSH1 0x00
000005e8: DUP1
000005e9: REVERT
000005ea: JUMPDEST
000005eb: POP
000005ec: PUSH2 0x032a
000005ef: PUSH2 0x187e
000005f2: JUMP
000005f3: JUMPDEST
000005f4: CALLVALUE
000005f5: DUP1
000005f6: ISZERO
000005f7: PUSH2 0x05ff
000005fa: JUMPI
000005fb: PUSH1 0x00
000005fd: DUP1
000005fe: REVERT
000005ff: JUMPDEST
00000600: POP
00000601: PUSH2 0x0301
00000604: PUSH1 0x04
00000606: CALLDATALOAD
00000607: PUSH2 0x18f1
0000060a: JUMP
0000060b: JUMPDEST
0000060c: CALLVALUE
0000060d: DUP1
0000060e: ISZERO
0000060f: PUSH2 0x0617
00000612: JUMPI
00000613: PUSH1 0x00
00000615: DUP1
00000616: REVERT
00000617: JUMPDEST
00000618: POP
00000619: PUSH2 0x032a
0000061c: PUSH2 0x193b
0000061f: JUMP
00000620: JUMPDEST
00000621: CALLVALUE
00000622: DUP1
00000623: ISZERO
00000624: PUSH2 0x062c
00000627: JUMPI
00000628: PUSH1 0x00
0000062a: DUP1
0000062b: REVERT
0000062c: JUMPDEST
0000062d: POP
0000062e: PUSH2 0x032a
00000631: PUSH2 0x19ae
00000634: JUMP
00000635: JUMPDEST
00000636: CALLVALUE
00000637: DUP1
00000638: ISZERO
00000639: PUSH2 0x0641
0000063c: JUMPI
0000063d: PUSH1 0x00
0000063f: DUP1
00000640: REVERT
00000641: JUMPDEST
00000642: POP
00000643: PUSH2 0x0351
00000646: PUSH2 0x1a26
00000649: JUMP
0000064a: JUMPDEST
0000064b: CALLVALUE
0000064c: DUP1
0000064d: ISZERO
0000064e: PUSH2 0x0656
00000651: JUMPI
00000652: PUSH1 0x00
00000654: DUP1
00000655: REVERT
00000656: JUMPDEST
00000657: POP
00000658: PUSH2 0x0268
0000065b: PUSH2 0x1a9a
0000065e: JUMP
0000065f: JUMPDEST
00000660: CALLVALUE
00000661: DUP1
00000662: ISZERO
00000663: PUSH2 0x066b
00000666: JUMPI
00000667: PUSH1 0x00
00000669: DUP1
0000066a: REVERT
0000066b: JUMPDEST
0000066c: POP
0000066d: PUSH2 0x0351
00000670: PUSH2 0x1ad1
00000673: JUMP
00000674: JUMPDEST
00000675: CALLVALUE
00000676: DUP1
00000677: ISZERO
00000678: PUSH2 0x0680
0000067b: JUMPI
0000067c: PUSH1 0x00
0000067e: DUP1
0000067f: REVERT
00000680: JUMPDEST
00000681: POP
00000682: PUSH2 0x0301
00000685: PUSH1 0x01
00000687: PUSH1 0xa0
00000689: PUSH1 0x02
0000068b: EXP
0000068c: SUB
0000068d: PUSH1 0x04
0000068f: CALLDATALOAD
00000690: DUP2
00000691: AND
00000692: SWAP1
00000693: PUSH1 0x24
00000695: CALLDATALOAD
00000696: DUP2
00000697: AND
00000698: SWAP1
00000699: PUSH1 0x44
0000069b: CALLDATALOAD
0000069c: SWAP1
0000069d: PUSH1 0x64
0000069f: CALLDATALOAD
000006a0: SWAP1
000006a1: PUSH1 0x84
000006a3: CALLDATALOAD
000006a4: SWAP1
000006a5: PUSH1 0xa4
000006a7: CALLDATALOAD
000006a8: SWAP1
000006a9: PUSH1 0xc4
000006ab: CALLDATALOAD
000006ac: SWAP1
000006ad: PUSH1 0xe4
000006af: CALLDATALOAD
000006b0: DUP2
000006b1: AND
000006b2: SWAP1
000006b3: PUSH2 0x0104
000006b6: CALLDATALOAD
000006b7: SWAP1
000006b8: PUSH2 0x0124
000006bb: CALLDATALOAD
000006bc: AND
000006bd: PUSH2 0x1b45
000006c0: JUMP
000006c1: JUMPDEST
000006c2: CALLVALUE
000006c3: DUP1
000006c4: ISZERO
000006c5: PUSH2 0x06cd
000006c8: JUMPI
000006c9: PUSH1 0x00
000006cb: DUP1
000006cc: REVERT
000006cd: JUMPDEST
000006ce: POP
000006cf: PUSH2 0x032a
000006d2: PUSH2 0x1b70
000006d5: JUMP
000006d6: JUMPDEST
000006d7: CALLVALUE
000006d8: DUP1
000006d9: ISZERO
000006da: PUSH2 0x06e2
000006dd: JUMPI
000006de: PUSH1 0x00
000006e0: DUP1
000006e1: REVERT
000006e2: JUMPDEST
000006e3: POP
000006e4: PUSH2 0x06eb
000006e7: PUSH2 0x1be3
000006ea: JUMP
000006eb: JUMPDEST
000006ec: PUSH1 0x40
000006ee: DUP1
000006ef: MLOAD
000006f0: PUSH8 0xffffffffffffffff
000006f9: SWAP5
000006fa: DUP6
000006fb: AND
000006fc: DUP2
000006fd: MSTORE
000006fe: SWAP3
000006ff: DUP5
00000700: AND
00000701: PUSH1 0x20
00000703: DUP5
00000704: ADD
00000705: MSTORE
00000706: SWAP3
00000707: AND
00000708: DUP2
00000709: DUP4
0000070a: ADD
0000070b: MSTORE
0000070c: SWAP1
0000070d: MLOAD
0000070e: SWAP1
0000070f: DUP2
00000710: SWAP1
00000711: SUB
00000712: PUSH1 0x60
00000714: ADD
00000715: SWAP1
00000716: RETURN
00000717: JUMPDEST
00000718: CALLVALUE
00000719: DUP1
0000071a: ISZERO
0000071b: PUSH2 0x0723
0000071e: JUMPI
0000071f: PUSH1 0x00
00000721: DUP1
00000722: REVERT
00000723: JUMPDEST
00000724: POP
00000725: PUSH2 0x03c9
00000728: PUSH1 0x04
0000072a: CALLDATALOAD
0000072b: PUSH2 0x1bed
0000072e: JUMP
0000072f: JUMPDEST
00000730: PUSH2 0x0301
00000733: PUSH1 0x01
00000735: PUSH1 0xa0
00000737: PUSH1 0x02
00000739: EXP
0000073a: SUB
0000073b: PUSH1 0x04
0000073d: CALLDATALOAD
0000073e: AND
0000073f: PUSH1 0x24
00000741: CALLDATALOAD
00000742: PUSH2 0x1ce4
00000745: JUMP
00000746: JUMPDEST
00000747: CALLVALUE
00000748: DUP1
00000749: ISZERO
0000074a: PUSH2 0x0752
0000074d: JUMPI
0000074e: PUSH1 0x00
00000750: DUP1
00000751: REVERT
00000752: JUMPDEST
00000753: POP
00000754: PUSH2 0x03c9
00000757: PUSH1 0x04
00000759: CALLDATALOAD
0000075a: PUSH2 0x1e14
0000075d: JUMP
0000075e: JUMPDEST
0000075f: CALLVALUE
00000760: DUP1
00000761: ISZERO
00000762: PUSH2 0x076a
00000765: JUMPI
00000766: PUSH1 0x00
00000768: DUP1
00000769: REVERT
0000076a: JUMPDEST
0000076b: POP
0000076c: PUSH2 0x03c9
0000076f: PUSH1 0x04
00000771: CALLDATALOAD
00000772: PUSH2 0x1f23
00000775: JUMP
00000776: JUMPDEST
00000777: CALLVALUE
00000778: DUP1
00000779: ISZERO
0000077a: PUSH2 0x0782
0000077d: JUMPI
0000077e: PUSH1 0x00
00000780: DUP1
00000781: REVERT
00000782: JUMPDEST
00000783: POP
00000784: PUSH2 0x03c9
00000787: PUSH1 0x04
00000789: CALLDATALOAD
0000078a: PUSH2 0x2025
0000078d: JUMP
0000078e: JUMPDEST
0000078f: CALLVALUE
00000790: DUP1
00000791: ISZERO
00000792: PUSH2 0x079a
00000795: JUMPI
00000796: PUSH1 0x00
00000798: DUP1
00000799: REVERT
0000079a: JUMPDEST
0000079b: POP
0000079c: PUSH2 0x032a
0000079f: PUSH1 0x04
000007a1: CALLDATALOAD
000007a2: PUSH2 0x2134
000007a5: JUMP
000007a6: JUMPDEST
000007a7: CALLVALUE
000007a8: DUP1
000007a9: ISZERO
000007aa: PUSH2 0x07b2
000007ad: JUMPI
000007ae: PUSH1 0x00
000007b0: DUP1
000007b1: REVERT
000007b2: JUMPDEST
000007b3: POP
000007b4: PUSH2 0x03c9
000007b7: PUSH1 0x04
000007b9: CALLDATALOAD
000007ba: PUSH2 0x2171
000007bd: JUMP
000007be: JUMPDEST
000007bf: CALLVALUE
000007c0: DUP1
000007c1: ISZERO
000007c2: PUSH2 0x07ca
000007c5: JUMPI
000007c6: PUSH1 0x00
000007c8: DUP1
000007c9: REVERT
000007ca: JUMPDEST
000007cb: POP
000007cc: PUSH2 0x032a
000007cf: PUSH1 0x01
000007d1: PUSH1 0xa0
000007d3: PUSH1 0x02
000007d5: EXP
000007d6: SUB
000007d7: PUSH1 0x04
000007d9: CALLDATALOAD
000007da: DUP2
000007db: AND
000007dc: SWAP1
000007dd: PUSH1 0x24
000007df: CALLDATALOAD
000007e0: AND
000007e1: PUSH2 0x2212
000007e4: JUMP
000007e5: JUMPDEST
000007e6: CALLVALUE
000007e7: DUP1
000007e8: ISZERO
000007e9: PUSH2 0x07f1
000007ec: JUMPI
000007ed: PUSH1 0x00
000007ef: DUP1
000007f0: REVERT
000007f1: JUMPDEST
000007f2: POP
000007f3: PUSH2 0x0351
000007f6: PUSH2 0x221a
000007f9: JUMP
000007fa: JUMPDEST
000007fb: CALLVALUE
000007fc: DUP1
000007fd: ISZERO
000007fe: PUSH2 0x0806
00000801: JUMPI
00000802: PUSH1 0x00
00000804: DUP1
00000805: REVERT
00000806: JUMPDEST
00000807: POP
00000808: PUSH2 0x032a
0000080b: PUSH2 0x225a
0000080e: JUMP
0000080f: JUMPDEST
00000810: CALLVALUE
00000811: DUP1
00000812: ISZERO
00000813: PUSH2 0x081b
00000816: JUMPI
00000817: PUSH1 0x00
00000819: DUP1
0000081a: REVERT
0000081b: JUMPDEST
0000081c: POP
0000081d: PUSH2 0x0301
00000820: PUSH1 0x04
00000822: CALLDATALOAD
00000823: PUSH2 0x22cd
00000826: JUMP
00000827: JUMPDEST
00000828: CALLVALUE
00000829: DUP1
0000082a: ISZERO
0000082b: PUSH2 0x0833
0000082e: JUMPI
0000082f: PUSH1 0x00
00000831: DUP1
00000832: REVERT
00000833: JUMPDEST
00000834: POP
00000835: PUSH2 0x03c9
00000838: PUSH1 0x04
0000083a: CALLDATALOAD
0000083b: PUSH2 0x231d
0000083e: JUMP
0000083f: JUMPDEST
00000840: CALLVALUE
00000841: DUP1
00000842: ISZERO
00000843: PUSH2 0x084b
00000846: JUMPI
00000847: PUSH1 0x00
00000849: DUP1
0000084a: REVERT
0000084b: JUMPDEST
0000084c: POP
0000084d: PUSH2 0x03c9
00000850: PUSH1 0x01
00000852: PUSH1 0xa0
00000854: PUSH1 0x02
00000856: EXP
00000857: SUB
00000858: PUSH1 0x04
0000085a: CALLDATALOAD
0000085b: AND
0000085c: PUSH2 0x23be
0000085f: JUMP
00000860: JUMPDEST
00000861: CALLVALUE
00000862: DUP1
00000863: ISZERO
00000864: PUSH2 0x086c
00000867: JUMPI
00000868: PUSH1 0x00
0000086a: DUP1
0000086b: REVERT
0000086c: JUMPDEST
0000086d: POP
0000086e: PUSH2 0x032a
00000871: PUSH2 0x23f8
00000874: JUMP
00000875: JUMPDEST
00000876: CALLVALUE
00000877: DUP1
00000878: ISZERO
00000879: PUSH2 0x0881
0000087c: JUMPI
0000087d: PUSH1 0x00
0000087f: DUP1
00000880: REVERT
00000881: JUMPDEST
00000882: POP
00000883: PUSH2 0x032a
00000886: PUSH2 0x246b
00000889: JUMP
0000088a: JUMPDEST
0000088b: PUSH1 0x40
0000088d: DUP1
0000088e: MLOAD
0000088f: DUP1
00000890: DUP3
00000891: ADD
00000892: SWAP1
00000893: SWAP2
00000894: MSTORE
00000895: PUSH1 0x13
00000897: DUP2
00000898: MSTORE
00000899: PUSH32 0x5468756e64657220577261707065642045544800000000000000000000000000
000008ba: PUSH1 0x20
000008bc: DUP3
000008bd: ADD
000008be: MSTORE
000008bf: DUP2
000008c0: JUMP
000008c1: JUMPDEST
000008c2: PUSH1 0x40
000008c4: DUP1
000008c5: MLOAD
000008c6: PUSH1 0xe5
000008c8: PUSH1 0x02
000008ca: EXP
000008cb: PUSH3 0x461bcd
000008cf: MUL
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH1 0x20
000008d4: PUSH1 0x04
000008d6: DUP3
000008d7: ADD
000008d8: MSTORE
000008d9: PUSH1 0x08
000008db: PUSH1 0x24
000008dd: DUP3
000008de: ADD
000008df: MSTORE
000008e0: PUSH32 0x7265766572746564000000000000000000000000000000000000000000000000
00000901: PUSH1 0x44
00000903: DUP3
00000904: ADD
00000905: MSTORE
00000906: SWAP1
00000907: MLOAD
00000908: PUSH1 0x00
0000090a: SWAP2
0000090b: DUP2
0000090c: SWAP1
0000090d: SUB
0000090e: PUSH1 0x64
00000910: ADD
00000911: SWAP1
00000912: REVERT
00000913: JUMPDEST
00000914: ADDRESS
00000915: BALANCE
00000916: JUMPDEST
00000917: SWAP1
00000918: JUMP
00000919: JUMPDEST
0000091a: PUSH1 0x00
0000091c: ADDRESS
0000091d: PUSH1 0x01
0000091f: PUSH1 0xa0
00000921: PUSH1 0x02
00000923: EXP
00000924: SUB
00000925: AND
00000926: PUSH4 0x392e53cd
0000092b: PUSH1 0x40
0000092d: MLOAD
0000092e: DUP2
0000092f: PUSH4 0xffffffff
00000934: AND
00000935: PUSH1 0xe0
00000937: PUSH1 0x02
00000939: EXP
0000093a: MUL
0000093b: DUP2
0000093c: MSTORE
0000093d: PUSH1 0x04
0000093f: ADD
00000940: PUSH1 0x20
00000942: PUSH1 0x40
00000944: MLOAD
00000945: DUP1
00000946: DUP4
00000947: SUB
00000948: DUP2
00000949: PUSH1 0x00
0000094b: DUP8
0000094c: DUP1
0000094d: EXTCODESIZE
0000094e: ISZERO
0000094f: DUP1
00000950: ISZERO
00000951: PUSH2 0x0959
00000954: JUMPI
00000955: PUSH1 0x00
00000957: DUP1
00000958: REVERT
00000959: JUMPDEST
0000095a: POP
0000095b: GAS
0000095c: CALL
0000095d: ISZERO
0000095e: DUP1
0000095f: ISZERO
00000960: PUSH2 0x096d
00000963: JUMPI
00000964: RETURNDATASIZE
00000965: PUSH1 0x00
00000967: DUP1
00000968: RETURNDATACOPY
00000969: RETURNDATASIZE
0000096a: PUSH1 0x00
0000096c: REVERT
0000096d: JUMPDEST
0000096e: POP
0000096f: POP
00000970: POP
00000971: POP
00000972: PUSH1 0x40
00000974: MLOAD
00000975: RETURNDATASIZE
00000976: PUSH1 0x20
00000978: DUP2
00000979: LT
0000097a: ISZERO
0000097b: PUSH2 0x0983
0000097e: JUMPI
0000097f: PUSH1 0x00
00000981: DUP1
00000982: REVERT
00000983: JUMPDEST
00000984: POP
00000985: MLOAD
00000986: ISZERO
00000987: PUSH2 0x0991
0000098a: JUMPI
0000098b: POP
0000098c: ADDRESS
0000098d: PUSH2 0x0916
00000990: JUMP
00000991: JUMPDEST
00000992: POP
00000993: PUSH1 0x00
00000995: SWAP1
00000996: JUMP
00000997: JUMPDEST
00000998: PUSH1 0x00
0000099a: PUSH1 0x04
0000099c: PUSH1 0x00
0000099e: DUP4
0000099f: PUSH1 0x40
000009a1: MLOAD
000009a2: PUSH1 0x20
000009a4: ADD
000009a5: DUP1
000009a6: DUP1
000009a7: PUSH32 0x72656c617965644d657373616765730000000000000000000000000000000000
000009c8: DUP2
000009c9: MSTORE
000009ca: POP
000009cb: PUSH1 0x0f
000009cd: ADD
000009ce: DUP3
000009cf: PUSH1 0x00
000009d1: NOT
000009d2: AND
000009d3: PUSH1 0x00
000009d5: NOT
000009d6: AND
000009d7: DUP2
000009d8: MSTORE
000009d9: PUSH1 0x20
000009db: ADD
000009dc: SWAP2
000009dd: POP
000009de: POP
000009df: PUSH1 0x40
000009e1: MLOAD
000009e2: PUSH1 0x20
000009e4: DUP2
000009e5: DUP4
000009e6: SUB
000009e7: SUB
000009e8: DUP2
000009e9: MSTORE
000009ea: SWAP1
000009eb: PUSH1 0x40
000009ed: MSTORE
000009ee: PUSH1 0x40
000009f0: MLOAD
000009f1: DUP1
000009f2: DUP3
000009f3: DUP1
000009f4: MLOAD
000009f5: SWAP1
000009f6: PUSH1 0x20
000009f8: ADD
000009f9: SWAP1
000009fa: DUP1
000009fb: DUP4
000009fc: DUP4
000009fd: JUMPDEST
000009fe: PUSH1 0x20
00000a00: DUP4
00000a01: LT
00000a02: PUSH2 0x0a1c
00000a05: JUMPI
00000a06: DUP1
00000a07: MLOAD
00000a08: DUP3
00000a09: MSTORE
00000a0a: PUSH1 0x1f
00000a0c: NOT
00000a0d: SWAP1
00000a0e: SWAP3
00000a0f: ADD
00000a10: SWAP2
00000a11: PUSH1 0x20
00000a13: SWAP2
00000a14: DUP3
00000a15: ADD
00000a16: SWAP2
00000a17: ADD
00000a18: PUSH2 0x09fd
00000a1b: JUMP
00000a1c: JUMPDEST
00000a1d: MLOAD
00000a1e: DUP2
00000a1f: MLOAD
00000a20: PUSH1 0x20
00000a22: SWAP4
00000a23: DUP5
00000a24: SUB
00000a25: PUSH2 0x0100
00000a28: EXP
00000a29: PUSH1 0x00
00000a2b: NOT
00000a2c: ADD
00000a2d: DUP1
00000a2e: NOT
00000a2f: SWAP1
00000a30: SWAP3
00000a31: AND
00000a32: SWAP2
00000a33: AND
00000a34: OR
00000a35: SWAP1
00000a36: MSTORE
00000a37: PUSH1 0x40
00000a39: DUP1
00000a3a: MLOAD
00000a3b: SWAP3
00000a3c: SWAP1
00000a3d: SWAP5
00000a3e: ADD
00000a3f: DUP3
00000a40: SWAP1
00000a41: SUB
00000a42: SWAP1
00000a43: SWAP2
00000a44: KECCAK256
00000a45: DUP7
00000a46: MSTORE
00000a47: DUP6
00000a48: ADD
00000a49: SWAP6
00000a4a: SWAP1
00000a4b: SWAP6
00000a4c: MSTORE
00000a4d: SWAP3
00000a4e: SWAP1
00000a4f: SWAP3
00000a50: ADD
00000a51: PUSH1 0x00
00000a53: KECCAK256
00000a54: SLOAD
00000a55: PUSH1 0xff
00000a57: AND
00000a58: SWAP6
00000a59: SWAP5
00000a5a: POP
00000a5b: POP
00000a5c: POP
00000a5d: POP
00000a5e: POP
00000a5f: JUMP
00000a60: JUMPDEST
00000a61: PUSH1 0x00
00000a63: DUP1
00000a64: PUSH1 0x00
00000a66: DUP1
00000a67: PUSH2 0x0b38
00000a6a: DUP7
00000a6b: DUP7
00000a6c: DUP1
00000a6d: DUP1
00000a6e: PUSH1 0x1f
00000a70: ADD
00000a71: PUSH1 0x20
00000a73: DUP1
00000a74: SWAP2
00000a75: DIV
00000a76: MUL
00000a77: PUSH1 0x20
00000a79: ADD
00000a7a: PUSH1 0x40
00000a7c: MLOAD
00000a7d: SWAP1
00000a7e: DUP2
00000a7f: ADD
00000a80: PUSH1 0x40
00000a82: MSTORE
00000a83: DUP1
00000a84: SWAP4
00000a85: SWAP3
00000a86: SWAP2
00000a87: SWAP1
00000a88: DUP2
00000a89: DUP2
00000a8a: MSTORE
00000a8b: PUSH1 0x20
00000a8d: ADD
00000a8e: DUP4
00000a8f: DUP4
00000a90: DUP1
00000a91: DUP3
00000a92: DUP5
00000a93: CALLDATACOPY
00000a94: DUP3
00000a95: ADD
00000a96: SWAP2
00000a97: POP
00000a98: POP
00000a99: POP
00000a9a: POP
00000a9b: POP
00000a9c: POP
00000a9d: DUP14
00000a9e: DUP14
00000a9f: DUP1
00000aa0: DUP1
00000aa1: PUSH1 0x20
00000aa3: MUL
00000aa4: PUSH1 0x20
00000aa6: ADD
00000aa7: PUSH1 0x40
00000aa9: MLOAD
00000aaa: SWAP1
00000aab: DUP2
00000aac: ADD
00000aad: PUSH1 0x40
00000aaf: MSTORE
00000ab0: DUP1
00000ab1: SWAP4
00000ab2: SWAP3
00000ab3: SWAP2
00000ab4: SWAP1
00000ab5: DUP2
00000ab6: DUP2
00000ab7: MSTORE
00000ab8: PUSH1 0x20
00000aba: ADD
00000abb: DUP4
00000abc: DUP4
00000abd: PUSH1 0x20
00000abf: MUL
00000ac0: DUP1
00000ac1: DUP3
00000ac2: DUP5
00000ac3: CALLDATACOPY
00000ac4: DUP3
00000ac5: ADD
00000ac6: SWAP2
00000ac7: POP
00000ac8: POP
00000ac9: POP
00000aca: POP
00000acb: POP
00000acc: POP
00000acd: DUP13
00000ace: DUP13
00000acf: DUP1
00000ad0: DUP1
00000ad1: PUSH1 0x20
00000ad3: MUL
00000ad4: PUSH1 0x20
00000ad6: ADD
00000ad7: PUSH1 0x40
00000ad9: MLOAD
00000ada: SWAP1
00000adb: DUP2
00000adc: ADD
00000add: PUSH1 0x40
00000adf: MSTORE
00000ae0: DUP1
00000ae1: SWAP4
00000ae2: SWAP3
00000ae3: SWAP2
00000ae4: SWAP1
00000ae5: DUP2
00000ae6: DUP2
00000ae7: MSTORE
00000ae8: PUSH1 0x20
00000aea: ADD
00000aeb: DUP4
00000aec: DUP4
00000aed: PUSH1 0x20
00000aef: MUL
00000af0: DUP1
00000af1: DUP3
00000af2: DUP5
00000af3: CALLDATACOPY
00000af4: DUP3
00000af5: ADD
00000af6: SWAP2
00000af7: POP
00000af8: POP
00000af9: POP
00000afa: POP
00000afb: POP
00000afc: POP
00000afd: DUP12
00000afe: DUP12
00000aff: DUP1
00000b00: DUP1
00000b01: PUSH1 0x20
00000b03: MUL
00000b04: PUSH1 0x20
00000b06: ADD
00000b07: PUSH1 0x40
00000b09: MLOAD
00000b0a: SWAP1
00000b0b: DUP2
00000b0c: ADD
00000b0d: PUSH1 0x40
00000b0f: MSTORE
00000b10: DUP1
00000b11: SWAP4
00000b12: SWAP3
00000b13: SWAP2
00000b14: SWAP1
00000b15: DUP2
00000b16: DUP2
00000b17: MSTORE
00000b18: PUSH1 0x20
00000b1a: ADD
00000b1b: DUP4
00000b1c: DUP4
00000b1d: PUSH1 0x20
00000b1f: MUL
00000b20: DUP1
00000b21: DUP3
00000b22: DUP5
00000b23: CALLDATACOPY
00000b24: POP
00000b25: PUSH2 0x0b33
00000b28: SWAP5
00000b29: POP
00000b2a: PUSH2 0x1ad1
00000b2d: SWAP4
00000b2e: POP
00000b2f: POP
00000b30: POP
00000b31: POP
00000b32: JUMP
00000b33: JUMPDEST
00000b34: PUSH2 0x24de
00000b37: JUMP
00000b38: JUMPDEST
00000b39: PUSH2 0x0b71
00000b3c: DUP7
00000b3d: DUP7
00000b3e: DUP1
00000b3f: DUP1
00000b40: PUSH1 0x1f
00000b42: ADD
00000b43: PUSH1 0x20
00000b45: DUP1
00000b46: SWAP2
00000b47: DIV
00000b48: MUL
00000b49: PUSH1 0x20
00000b4b: ADD
00000b4c: PUSH1 0x40
00000b4e: MLOAD
00000b4f: SWAP1
00000b50: DUP2
00000b51: ADD
00000b52: PUSH1 0x40
00000b54: MSTORE
00000b55: DUP1
00000b56: SWAP4
00000b57: SWAP3
00000b58: SWAP2
00000b59: SWAP1
00000b5a: DUP2
00000b5b: DUP2
00000b5c: MSTORE
00000b5d: PUSH1 0x20
00000b5f: ADD
00000b60: DUP4
00000b61: DUP4
00000b62: DUP1
00000b63: DUP3
00000b64: DUP5
00000b65: CALLDATACOPY
00000b66: POP
00000b67: PUSH2 0x274b
00000b6a: SWAP5
00000b6b: POP
00000b6c: POP
00000b6d: POP
00000b6e: POP
00000b6f: POP
00000b70: JUMP
00000b71: JUMPDEST
00000b72: SWAP3
00000b73: SWAP7
00000b74: POP
00000b75: SWAP1
00000b76: SWAP5
00000b77: POP
00000b78: SWAP3
00000b79: POP
00000b7a: SWAP1
00000b7b: POP
00000b7c: PUSH1 0x01
00000b7e: PUSH1 0xa0
00000b80: PUSH1 0x02
00000b82: EXP
00000b83: SUB
00000b84: DUP2
00000b85: AND
00000b86: ADDRESS
00000b87: EQ
00000b88: PUSH2 0x0b90
00000b8b: JUMPI
00000b8c: PUSH1 0x00
00000b8e: DUP1
00000b8f: REVERT
00000b90: JUMPDEST
00000b91: PUSH2 0x0b99
00000b94: DUP3
00000b95: PUSH2 0x0997
00000b98: JUMP
00000b99: JUMPDEST
00000b9a: ISZERO
00000b9b: PUSH2 0x0ba3
00000b9e: JUMPI
00000b9f: PUSH1 0x00
00000ba1: DUP1
00000ba2: REVERT
00000ba3: JUMPDEST
00000ba4: PUSH2 0x0bae
00000ba7: DUP3
00000ba8: PUSH1 0x01
00000baa: PUSH2 0x2791
00000bad: JUMP
00000bae: JUMPDEST
00000baf: PUSH2 0x0bb8
00000bb2: DUP5
00000bb3: DUP5
00000bb4: PUSH2 0x2863
00000bb7: JUMP
00000bb8: JUMPDEST
00000bb9: ISZERO
00000bba: ISZERO
00000bbb: PUSH2 0x0bc3
00000bbe: JUMPI
00000bbf: PUSH1 0x00
00000bc1: DUP1
00000bc2: REVERT
00000bc3: JUMPDEST
00000bc4: PUSH1 0x40
00000bc6: DUP1
00000bc7: MLOAD
00000bc8: PUSH1 0x01
00000bca: PUSH1 0xa0
00000bcc: PUSH1 0x02
00000bce: EXP
00000bcf: SUB
00000bd0: DUP7
00000bd1: AND
00000bd2: DUP2
00000bd3: MSTORE
00000bd4: PUSH1 0x20
00000bd6: DUP2
00000bd7: ADD
00000bd8: DUP6
00000bd9: SWAP1
00000bda: MSTORE
00000bdb: DUP1
00000bdc: DUP3
00000bdd: ADD
00000bde: DUP5
00000bdf: SWAP1
00000be0: MSTORE
00000be1: SWAP1
00000be2: MLOAD
00000be3: PUSH32 0x4ab7d581336d92edbea22636a613e8e76c99ac7f91137c1523db38dbfb3bf329
00000c04: SWAP2
00000c05: DUP2
00000c06: SWAP1
00000c07: SUB
00000c08: PUSH1 0x60
00000c0a: ADD
00000c0b: SWAP1
00000c0c: LOG1
00000c0d: POP
00000c0e: POP
00000c0f: POP
00000c10: POP
00000c11: POP
00000c12: POP
00000c13: POP
00000c14: POP
00000c15: POP
00000c16: POP
00000c17: POP
00000c18: POP
00000c19: JUMP
00000c1a: JUMPDEST
00000c1b: PUSH2 0x0c22
00000c1e: PUSH2 0x1a26
00000c21: JUMP
00000c22: JUMPDEST
00000c23: PUSH1 0x01
00000c25: PUSH1 0xa0
00000c27: PUSH1 0x02
00000c29: EXP
00000c2a: SUB
00000c2b: AND
00000c2c: CALLER
00000c2d: EQ
00000c2e: PUSH2 0x0c36
00000c31: JUMPI
00000c32: PUSH1 0x00
00000c34: DUP1
00000c35: REVERT
00000c36: JUMPDEST
00000c37: PUSH2 0x0c3f
00000c3a: DUP2
00000c3b: PUSH2 0x29ee
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: POP
00000c41: JUMP
00000c42: JUMPDEST
00000c43: PUSH1 0x00
00000c45: DUP1
00000c46: PUSH1 0x00
00000c48: DUP4
00000c49: PUSH1 0x40
00000c4b: MLOAD
00000c4c: PUSH1 0x20
00000c4e: ADD
00000c4f: DUP1
00000c50: DUP1
00000c51: PUSH32 0x746f74616c5370656e7450657244617900000000000000000000000000000000
00000c72: DUP2
00000c73: MSTORE
00000c74: POP
00000c75: PUSH1 0x10
00000c77: ADD
00000c78: DUP3
00000c79: DUP2
00000c7a: MSTORE
00000c7b: PUSH1 0x20
00000c7d: ADD
00000c7e: SWAP2
00000c7f: POP
00000c80: POP
00000c81: PUSH1 0x40
00000c83: MLOAD
00000c84: PUSH1 0x20
00000c86: DUP2
00000c87: DUP4
00000c88: SUB
00000c89: SUB
00000c8a: DUP2
00000c8b: MSTORE
00000c8c: SWAP1
00000c8d: PUSH1 0x40
00000c8f: MSTORE
00000c90: PUSH1 0x40
00000c92: MLOAD
00000c93: DUP1
00000c94: DUP3
00000c95: DUP1
00000c96: MLOAD
00000c97: SWAP1
00000c98: PUSH1 0x20
00000c9a: ADD
00000c9b: SWAP1
00000c9c: DUP1
00000c9d: DUP4
00000c9e: DUP4
00000c9f: JUMPDEST
00000ca0: PUSH1 0x20
00000ca2: DUP4
00000ca3: LT
00000ca4: PUSH2 0x0cbe
00000ca7: JUMPI
00000ca8: DUP1
00000ca9: MLOAD
00000caa: DUP3
00000cab: MSTORE
00000cac: PUSH1 0x1f
00000cae: NOT
00000caf: SWAP1
00000cb0: SWAP3
00000cb1: ADD
00000cb2: SWAP2
00000cb3: PUSH1 0x20
00000cb5: SWAP2
00000cb6: DUP3
00000cb7: ADD
00000cb8: SWAP2
00000cb9: ADD
00000cba: PUSH2 0x0c9f
00000cbd: JUMP
00000cbe: JUMPDEST
00000cbf: MLOAD
00000cc0: DUP2
00000cc1: MLOAD
00000cc2: PUSH1 0x20
00000cc4: SWAP4
00000cc5: DUP5
00000cc6: SUB
00000cc7: PUSH2 0x0100
00000cca: EXP
00000ccb: PUSH1 0x00
00000ccd: NOT
00000cce: ADD
00000ccf: DUP1
00000cd0: NOT
00000cd1: SWAP1
00000cd2: SWAP3
00000cd3: AND
00000cd4: SWAP2
00000cd5: AND
00000cd6: OR
00000cd7: SWAP1
00000cd8: MSTORE
00000cd9: PUSH1 0x40
00000cdb: DUP1
00000cdc: MLOAD
00000cdd: SWAP3
00000cde: SWAP1
00000cdf: SWAP5
00000ce0: ADD
00000ce1: DUP3
00000ce2: SWAP1
00000ce3: SUB
00000ce4: SWAP1
00000ce5: SWAP2
00000ce6: KECCAK256
00000ce7: DUP7
00000ce8: MSTORE
00000ce9: DUP6
00000cea: ADD
00000ceb: SWAP6
00000cec: SWAP1
00000ced: SWAP6
00000cee: MSTORE
00000cef: SWAP3
00000cf0: SWAP1
00000cf1: SWAP3
00000cf2: ADD
00000cf3: PUSH1 0x00
00000cf5: KECCAK256
00000cf6: SLOAD
00000cf7: SWAP6
00000cf8: SWAP5
00000cf9: POP
00000cfa: POP
00000cfb: POP
00000cfc: POP
00000cfd: POP
00000cfe: JUMP
00000cff: JUMPDEST
00000d00: PUSH1 0x12
00000d02: DUP2
00000d03: JUMP
00000d04: JUMPDEST
00000d05: PUSH1 0x00
00000d07: PUSH1 0x04
00000d09: PUSH1 0x00
00000d0b: PUSH1 0x40
00000d0d: MLOAD
00000d0e: PUSH1 0x20
00000d10: ADD
00000d11: DUP1
00000d12: DUP1
00000d13: PUSH32 0x6973496e697469616c697a656400000000000000000000000000000000000000
00000d34: DUP2
00000d35: MSTORE
00000d36: POP
00000d37: PUSH1 0x0d
00000d39: ADD
00000d3a: SWAP1
00000d3b: POP
00000d3c: PUSH1 0x40
00000d3e: MLOAD
00000d3f: PUSH1 0x20
00000d41: DUP2
00000d42: DUP4
00000d43: SUB
00000d44: SUB
00000d45: DUP2
00000d46: MSTORE
00000d47: SWAP1
00000d48: PUSH1 0x40
00000d4a: MSTORE
00000d4b: PUSH1 0x40
00000d4d: MLOAD
00000d4e: DUP1
00000d4f: DUP3
00000d50: DUP1
00000d51: MLOAD
00000d52: SWAP1
00000d53: PUSH1 0x20
00000d55: ADD
00000d56: SWAP1
00000d57: DUP1
00000d58: DUP4
00000d59: DUP4
00000d5a: JUMPDEST
00000d5b: PUSH1 0x20
00000d5d: DUP4
00000d5e: LT
00000d5f: PUSH2 0x0d79
00000d62: JUMPI
00000d63: DUP1
00000d64: MLOAD
00000d65: DUP3
00000d66: MSTORE
00000d67: PUSH1 0x1f
00000d69: NOT
00000d6a: SWAP1
00000d6b: SWAP3
00000d6c: ADD
00000d6d: SWAP2
00000d6e: PUSH1 0x20
00000d70: SWAP2
00000d71: DUP3
00000d72: ADD
00000d73: SWAP2
00000d74: ADD
00000d75: PUSH2 0x0d5a
00000d78: JUMP
00000d79: JUMPDEST
00000d7a: MLOAD
00000d7b: DUP2
00000d7c: MLOAD
00000d7d: PUSH1 0x20
00000d7f: SWAP4
00000d80: DUP5
00000d81: SUB
00000d82: PUSH2 0x0100
00000d85: EXP
00000d86: PUSH1 0x00
00000d88: NOT
00000d89: ADD
00000d8a: DUP1
00000d8b: NOT
00000d8c: SWAP1
00000d8d: SWAP3
00000d8e: AND
00000d8f: SWAP2
00000d90: AND
00000d91: OR
00000d92: SWAP1
00000d93: MSTORE
00000d94: PUSH1 0x40
00000d96: DUP1
00000d97: MLOAD
00000d98: SWAP3
00000d99: SWAP1
00000d9a: SWAP5
00000d9b: ADD
00000d9c: DUP3
00000d9d: SWAP1
00000d9e: SUB
00000d9f: SWAP1
00000da0: SWAP2
00000da1: KECCAK256
00000da2: DUP7
00000da3: MSTORE
00000da4: DUP6
00000da5: ADD
00000da6: SWAP6
00000da7: SWAP1
00000da8: SWAP6
00000da9: MSTORE
00000daa: SWAP3
00000dab: SWAP1
00000dac: SWAP3
00000dad: ADD
00000dae: PUSH1 0x00
00000db0: KECCAK256
00000db1: SLOAD
00000db2: PUSH1 0xff
00000db4: AND
00000db5: SWAP5
00000db6: SWAP4
00000db7: POP
00000db8: POP
00000db9: POP
00000dba: POP
00000dbb: JUMP
00000dbc: JUMPDEST
00000dbd: PUSH2 0x0dc4
00000dc0: PUSH2 0x1a26
00000dc3: JUMP
00000dc4: JUMPDEST
00000dc5: PUSH1 0x01
00000dc7: PUSH1 0xa0
00000dc9: PUSH1 0x02
00000dcb: EXP
00000dcc: SUB
00000dcd: AND
00000dce: CALLER
00000dcf: EQ
00000dd0: PUSH2 0x0dd8
00000dd3: JUMPI
00000dd4: PUSH1 0x00
00000dd6: DUP1
00000dd7: REVERT
00000dd8: JUMPDEST
00000dd9: PUSH1 0x40
00000ddb: DUP1
00000ddc: MLOAD
00000ddd: PUSH1 0xe5
00000ddf: PUSH1 0x02
00000de1: EXP
00000de2: PUSH3 0x461bcd
00000de6: MUL
00000de7: DUP2
00000de8: MSTORE
00000de9: PUSH1 0x20
00000deb: PUSH1 0x04
00000ded: DUP3
00000dee: ADD
00000def: MSTORE
00000df0: PUSH1 0x0a
00000df2: PUSH1 0x24
00000df4: DUP3
00000df5: ADD
00000df6: MSTORE
00000df7: PUSH32 0x6465707265636174656400000000000000000000000000000000000000000000
00000e18: PUSH1 0x44
00000e1a: DUP3
00000e1b: ADD
00000e1c: MSTORE
00000e1d: SWAP1
00000e1e: MLOAD
00000e1f: SWAP1
00000e20: DUP2
00000e21: SWAP1
00000e22: SUB
00000e23: PUSH1 0x64
00000e25: ADD
00000e26: SWAP1
00000e27: REVERT
00000e28: JUMPDEST
00000e29: PUSH3 0x015180
00000e2d: TIMESTAMP
00000e2e: DIV
00000e2f: SWAP1
00000e30: JUMP
00000e31: JUMPDEST
00000e32: PUSH1 0x00
00000e34: DUP1
00000e35: PUSH1 0x00
00000e37: PUSH1 0x40
00000e39: MLOAD
00000e3a: PUSH1 0x20
00000e3c: ADD
00000e3d: DUP1
00000e3e: DUP1
00000e3f: PUSH32 0x7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000
00000e60: DUP2
00000e61: MSTORE
00000e62: POP
00000e63: PUSH1 0x1a
00000e65: ADD
00000e66: SWAP1
00000e67: POP
00000e68: PUSH1 0x40
00000e6a: MLOAD
00000e6b: PUSH1 0x20
00000e6d: DUP2
00000e6e: DUP4
00000e6f: SUB
00000e70: SUB
00000e71: DUP2
00000e72: MSTORE
00000e73: SWAP1
00000e74: PUSH1 0x40
00000e76: MSTORE
00000e77: PUSH1 0x40
00000e79: MLOAD
00000e7a: DUP1
00000e7b: DUP3
00000e7c: DUP1
00000e7d: MLOAD
00000e7e: SWAP1
00000e7f: PUSH1 0x20
00000e81: ADD
00000e82: SWAP1
00000e83: DUP1
00000e84: DUP4
00000e85: DUP4
00000e86: JUMPDEST
00000e87: PUSH1 0x20
00000e89: DUP4
00000e8a: LT
00000e8b: PUSH2 0x0ea5
00000e8e: JUMPI
00000e8f: DUP1
00000e90: MLOAD
00000e91: DUP3
00000e92: MSTORE
00000e93: PUSH1 0x1f
00000e95: NOT
00000e96: SWAP1
00000e97: SWAP3
00000e98: ADD
00000e99: SWAP2
00000e9a: PUSH1 0x20
00000e9c: SWAP2
00000e9d: DUP3
00000e9e: ADD
00000e9f: SWAP2
00000ea0: ADD
00000ea1: PUSH2 0x0e86
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: MLOAD
00000ea7: DUP2
00000ea8: MLOAD
00000ea9: PUSH1 0x20
00000eab: SWAP4
00000eac: DUP5
00000ead: SUB
00000eae: PUSH2 0x0100
00000eb1: EXP
00000eb2: PUSH1 0x00
00000eb4: NOT
00000eb5: ADD
00000eb6: DUP1
00000eb7: NOT
00000eb8: SWAP1
00000eb9: SWAP3
00000eba: AND
00000ebb: SWAP2
00000ebc: AND
00000ebd: OR
00000ebe: SWAP1
00000ebf: MSTORE
00000ec0: PUSH1 0x40
00000ec2: DUP1
00000ec3: MLOAD
00000ec4: SWAP3
00000ec5: SWAP1
00000ec6: SWAP5
00000ec7: ADD
00000ec8: DUP3
00000ec9: SWAP1
00000eca: SUB
00000ecb: SWAP1
00000ecc: SWAP2
00000ecd: KECCAK256
00000ece: DUP7
00000ecf: MSTORE
00000ed0: DUP6
00000ed1: ADD
00000ed2: SWAP6
00000ed3: SWAP1
00000ed4: SWAP6
00000ed5: MSTORE
00000ed6: SWAP3
00000ed7: SWAP1
00000ed8: SWAP3
00000ed9: ADD
00000eda: PUSH1 0x00
00000edc: KECCAK256
00000edd: SLOAD
00000ede: SWAP5
00000edf: SWAP4
00000ee0: POP
00000ee1: POP
00000ee2: POP
00000ee3: POP
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: PUSH1 0x00
00000ee8: PUSH1 0x40
00000eea: MLOAD
00000eeb: PUSH1 0x20
00000eed: ADD
00000eee: DUP1
00000eef: DUP1
00000ef0: PUSH32 0x6572632d746f2d6572632d636f72650000000000000000000000000000000000
00000f11: DUP2
00000f12: MSTORE
00000f13: POP
00000f14: PUSH1 0x0f
00000f16: ADD
00000f17: SWAP1
00000f18: POP
00000f19: PUSH1 0x40
00000f1b: MLOAD
00000f1c: PUSH1 0x20
00000f1e: DUP2
00000f1f: DUP4
00000f20: SUB
00000f21: SUB
00000f22: DUP2
00000f23: MSTORE
00000f24: SWAP1
00000f25: PUSH1 0x40
00000f27: MSTORE
00000f28: PUSH1 0x40
00000f2a: MLOAD
00000f2b: DUP1
00000f2c: DUP3
00000f2d: DUP1
00000f2e: MLOAD
00000f2f: SWAP1
00000f30: PUSH1 0x20
00000f32: ADD
00000f33: SWAP1
00000f34: DUP1
00000f35: DUP4
00000f36: DUP4
00000f37: JUMPDEST
00000f38: PUSH1 0x20
00000f3a: DUP4
00000f3b: LT
00000f3c: PUSH2 0x0f56
00000f3f: JUMPI
00000f40: DUP1
00000f41: MLOAD
00000f42: DUP3
00000f43: MSTORE
00000f44: PUSH1 0x1f
00000f46: NOT
00000f47: SWAP1
00000f48: SWAP3
00000f49: ADD
00000f4a: SWAP2
00000f4b: PUSH1 0x20
00000f4d: SWAP2
00000f4e: DUP3
00000f4f: ADD
00000f50: SWAP2
00000f51: ADD
00000f52: PUSH2 0x0f37
00000f55: JUMP
00000f56: JUMPDEST
00000f57: PUSH1 0x01
00000f59: DUP4
00000f5a: PUSH1 0x20
00000f5c: SUB
00000f5d: PUSH2 0x0100
00000f60: EXP
00000f61: SUB
00000f62: DUP1
00000f63: NOT
00000f64: DUP3
00000f65: MLOAD
00000f66: AND
00000f67: DUP2
00000f68: DUP5
00000f69: MLOAD
00000f6a: AND
00000f6b: DUP1
00000f6c: DUP3
00000f6d: OR
00000f6e: DUP6
00000f6f: MSTORE
00000f70: POP
00000f71: POP
00000f72: POP
00000f73: POP
00000f74: POP
00000f75: POP
00000f76: SWAP1
00000f77: POP
00000f78: ADD
00000f79: SWAP2
00000f7a: POP
00000f7b: POP
00000f7c: PUSH1 0x40
00000f7e: MLOAD
00000f7f: DUP1
00000f80: SWAP2
00000f81: SUB
00000f82: SWAP1
00000f83: KECCAK256
00000f84: SWAP1
00000f85: POP
00000f86: SWAP1
00000f87: JUMP
00000f88: JUMPDEST
00000f89: PUSH1 0x00
00000f8b: DUP1
00000f8c: PUSH1 0x00
00000f8e: PUSH1 0x40
00000f90: MLOAD
00000f91: PUSH1 0x20
00000f93: ADD
00000f94: DUP1
00000f95: DUP1
00000f96: PUSH32 0x657865637574696f6e4461696c794c696d697400000000000000000000000000
00000fb7: DUP2
00000fb8: MSTORE
00000fb9: POP
00000fba: PUSH1 0x13
00000fbc: ADD
00000fbd: SWAP1
00000fbe: POP
00000fbf: PUSH1 0x40
00000fc1: MLOAD
00000fc2: PUSH1 0x20
00000fc4: DUP2
00000fc5: DUP4
00000fc6: SUB
00000fc7: SUB
00000fc8: DUP2
00000fc9: MSTORE
00000fca: SWAP1
00000fcb: PUSH1 0x40
00000fcd: MSTORE
00000fce: PUSH1 0x40
00000fd0: MLOAD
00000fd1: DUP1
00000fd2: DUP3
00000fd3: DUP1
00000fd4: MLOAD
00000fd5: SWAP1
00000fd6: PUSH1 0x20
00000fd8: ADD
00000fd9: SWAP1
00000fda: DUP1
00000fdb: DUP4
00000fdc: DUP4
00000fdd: PUSH1 0x20
00000fdf: DUP4
00000fe0: LT
00000fe1: PUSH2 0x0ea5
00000fe4: JUMPI
00000fe5: DUP1
00000fe6: MLOAD
00000fe7: DUP3
00000fe8: MSTORE
00000fe9: PUSH1 0x1f
00000feb: NOT
00000fec: SWAP1
00000fed: SWAP3
00000fee: ADD
00000fef: SWAP2
00000ff0: PUSH1 0x20
00000ff2: SWAP2
00000ff3: DUP3
00000ff4: ADD
00000ff5: SWAP2
00000ff6: ADD
00000ff7: PUSH2 0x0e86
00000ffa: JUMP
00000ffb: JUMPDEST
00000ffc: PUSH1 0x00
00000ffe: PUSH1 0x02
00001000: PUSH1 0x00
00001002: PUSH1 0x40
00001004: MLOAD
00001005: PUSH1 0x20
00001007: ADD
00001008: DUP1
00001009: DUP1
0000100a: PUSH32 0x66616c6c6261636b526563697069656e74000000000000000000000000000000
0000102b: DUP2
0000102c: MSTORE
0000102d: POP
0000102e: PUSH1 0x11
00001030: ADD
00001031: SWAP1
00001032: POP
00001033: PUSH1 0x40
00001035: MLOAD
00001036: PUSH1 0x20
00001038: DUP2
00001039: DUP4
0000103a: SUB
0000103b: SUB
0000103c: DUP2
0000103d: MSTORE
0000103e: SWAP1
0000103f: PUSH1 0x40
00001041: MSTORE
00001042: PUSH1 0x40
00001044: MLOAD
00001045: DUP1
00001046: DUP3
00001047: DUP1
00001048: MLOAD
00001049: SWAP1
0000104a: PUSH1 0x20
0000104c: ADD
0000104d: SWAP1
0000104e: DUP1
0000104f: DUP4
00001050: DUP4
00001051: JUMPDEST
00001052: PUSH1 0x20
00001054: DUP4
00001055: LT
00001056: PUSH2 0x1070
00001059: JUMPI
0000105a: DUP1
0000105b: MLOAD
0000105c: DUP3
0000105d: MSTORE
0000105e: PUSH1 0x1f
00001060: NOT
00001061: SWAP1
00001062: SWAP3
00001063: ADD
00001064: SWAP2
00001065: PUSH1 0x20
00001067: SWAP2
00001068: DUP3
00001069: ADD
0000106a: SWAP2
0000106b: ADD
0000106c: PUSH2 0x1051
0000106f: JUMP
00001070: JUMPDEST
00001071: MLOAD
00001072: DUP2
00001073: MLOAD
00001074: PUSH1 0x20
00001076: SWAP4
00001077: DUP5
00001078: SUB
00001079: PUSH2 0x0100
0000107c: EXP
0000107d: PUSH1 0x00
0000107f: NOT
00001080: ADD
00001081: DUP1
00001082: NOT
00001083: SWAP1
00001084: SWAP3
00001085: AND
00001086: SWAP2
00001087: AND
00001088: OR
00001089: SWAP1
0000108a: MSTORE
0000108b: PUSH1 0x40
0000108d: DUP1
0000108e: MLOAD
0000108f: SWAP3
00001090: SWAP1
00001091: SWAP5
00001092: ADD
00001093: DUP3
00001094: SWAP1
00001095: SUB
00001096: SWAP1
00001097: SWAP2
00001098: KECCAK256
00001099: DUP7
0000109a: MSTORE
0000109b: DUP6
0000109c: ADD
0000109d: SWAP6
0000109e: SWAP1
0000109f: SWAP6
000010a0: MSTORE
000010a1: SWAP3
000010a2: SWAP1
000010a3: SWAP3
000010a4: ADD
000010a5: PUSH1 0x00
000010a7: KECCAK256
000010a8: SLOAD
000010a9: PUSH1 0x01
000010ab: PUSH1 0xa0
000010ad: PUSH1 0x02
000010af: EXP
000010b0: SUB
000010b1: AND
000010b2: SWAP5
000010b3: SWAP4
000010b4: POP
000010b5: POP
000010b6: POP
000010b7: POP
000010b8: JUMP
000010b9: JUMPDEST
000010ba: PUSH1 0x00
000010bc: DUP1
000010bd: PUSH1 0x00
000010bf: DUP4
000010c0: PUSH1 0x40
000010c2: MLOAD
000010c3: PUSH1 0x20
000010c5: ADD
000010c6: DUP1
000010c7: DUP1
000010c8: PUSH32 0x746f74616c457865637574656450657244617900000000000000000000000000
000010e9: DUP2
000010ea: MSTORE
000010eb: POP
000010ec: PUSH1 0x13
000010ee: ADD
000010ef: DUP3
000010f0: DUP2
000010f1: MSTORE
000010f2: PUSH1 0x20
000010f4: ADD
000010f5: SWAP2
000010f6: POP
000010f7: POP
000010f8: PUSH1 0x40
000010fa: MLOAD
000010fb: PUSH1 0x20
000010fd: DUP2
000010fe: DUP4
000010ff: SUB
00001100: SUB
00001101: DUP2
00001102: MSTORE
00001103: SWAP1
00001104: PUSH1 0x40
00001106: MSTORE
00001107: PUSH1 0x40
00001109: MLOAD
0000110a: DUP1
0000110b: DUP3
0000110c: DUP1
0000110d: MLOAD
0000110e: SWAP1
0000110f: PUSH1 0x20
00001111: ADD
00001112: SWAP1
00001113: DUP1
00001114: DUP4
00001115: DUP4
00001116: PUSH1 0x20
00001118: DUP4
00001119: LT
0000111a: PUSH2 0x0cbe
0000111d: JUMPI
0000111e: DUP1
0000111f: MLOAD
00001120: DUP3
00001121: MSTORE
00001122: PUSH1 0x1f
00001124: NOT
00001125: SWAP1
00001126: SWAP3
00001127: ADD
00001128: SWAP2
00001129: PUSH1 0x20
0000112b: SWAP2
0000112c: DUP3
0000112d: ADD
0000112e: SWAP2
0000112f: ADD
00001130: PUSH2 0x0c9f
00001133: JUMP
00001134: JUMPDEST
00001135: PUSH1 0x00
00001137: PUSH2 0x113e
0000113a: PUSH2 0x0d04
0000113d: JUMP
0000113e: JUMPDEST
0000113f: ISZERO
00001140: PUSH2 0x1148
00001143: JUMPI
00001144: PUSH1 0x00
00001146: DUP1
00001147: REVERT
00001148: JUMPDEST
00001149: PUSH1 0x01
0000114b: PUSH1 0xa0
0000114d: PUSH1 0x02
0000114f: EXP
00001150: SUB
00001151: DUP11
00001152: AND
00001153: ISZERO
00001154: DUP1
00001155: ISZERO
00001156: SWAP1
00001157: PUSH2 0x1164
0000115a: JUMPI
0000115b: POP
0000115c: PUSH2 0x1164
0000115f: DUP11
00001160: PUSH2 0x2ae0
00001163: JUMP
00001164: JUMPDEST
00001165: ISZERO
00001166: ISZERO
00001167: PUSH2 0x116f
0000116a: JUMPI
0000116b: PUSH1 0x00
0000116d: DUP1
0000116e: REVERT
0000116f: JUMPDEST
00001170: DUP8
00001171: ISZERO
00001172: ISZERO
00001173: PUSH2 0x117b
00001176: JUMPI
00001177: PUSH1 0x00
00001179: DUP1
0000117a: REVERT
0000117b: JUMPDEST
0000117c: PUSH1 0x00
0000117e: DUP8
0000117f: GT
00001180: PUSH2 0x1188
00001183: JUMPI
00001184: PUSH1 0x00
00001186: DUP1
00001187: REVERT
00001188: JUMPDEST
00001189: DUP5
0000118a: DUP5
0000118b: LT
0000118c: PUSH2 0x1194
0000118f: JUMPI
00001190: PUSH1 0x00
00001192: DUP1
00001193: REVERT
00001194: JUMPDEST
00001195: PUSH1 0x01
00001197: PUSH1 0xa0
00001199: PUSH1 0x02
0000119b: EXP
0000119c: SUB
0000119d: DUP4
0000119e: AND
0000119f: ISZERO
000011a0: ISZERO
000011a1: PUSH2 0x11a9
000011a4: JUMPI
000011a5: PUSH1 0x00
000011a7: DUP1
000011a8: REVERT
000011a9: JUMPDEST
000011aa: PUSH2 0x2710
000011ad: DUP3
000011ae: LT
000011af: PUSH2 0x1202
000011b2: JUMPI
000011b3: PUSH1 0x40
000011b5: DUP1
000011b6: MLOAD
000011b7: PUSH1 0xe5
000011b9: PUSH1 0x02
000011bb: EXP
000011bc: PUSH3 0x461bcd
000011c0: MUL
000011c1: DUP2
000011c2: MSTORE
000011c3: PUSH1 0x20
000011c5: PUSH1 0x04
000011c7: DUP3
000011c8: ADD
000011c9: MSTORE
000011ca: PUSH1 0x13
000011cc: PUSH1 0x24
000011ce: DUP3
000011cf: ADD
000011d0: MSTORE
000011d1: PUSH32 0x496e76616c6964206665652070657263656e7400000000000000000000000000
000011f2: PUSH1 0x44
000011f4: DUP3
000011f5: ADD
000011f6: MSTORE
000011f7: SWAP1
000011f8: MLOAD
000011f9: SWAP1
000011fa: DUP2
000011fb: SWAP1
000011fc: SUB
000011fd: PUSH1 0x64
000011ff: ADD
00001200: SWAP1
00001201: REVERT
00001202: JUMPDEST
00001203: DUP10
00001204: PUSH1 0x02
00001206: PUSH1 0x00
00001208: PUSH1 0x40
0000120a: MLOAD
0000120b: PUSH1 0x20
0000120d: ADD
0000120e: DUP1
0000120f: DUP1
00001210: PUSH32 0x76616c696461746f72436f6e7472616374000000000000000000000000000000
00001231: DUP2
00001232: MSTORE
00001233: POP
00001234: PUSH1 0x11
00001236: ADD
00001237: SWAP1
00001238: POP
00001239: PUSH1 0x40
0000123b: MLOAD
0000123c: PUSH1 0x20
0000123e: DUP2
0000123f: DUP4
00001240: SUB
00001241: SUB
00001242: DUP2
00001243: MSTORE
00001244: SWAP1
00001245: PUSH1 0x40
00001247: MSTORE
00001248: PUSH1 0x40
0000124a: MLOAD
0000124b: DUP1
0000124c: DUP3
0000124d: DUP1
0000124e: MLOAD
0000124f: SWAP1
00001250: PUSH1 0x20
00001252: ADD
00001253: SWAP1
00001254: DUP1
00001255: DUP4
00001256: DUP4
00001257: JUMPDEST
00001258: PUSH1 0x20
0000125a: DUP4
0000125b: LT
0000125c: PUSH2 0x1276
0000125f: JUMPI
00001260: DUP1
00001261: MLOAD
00001262: DUP3
00001263: MSTORE
00001264: PUSH1 0x1f
00001266: NOT
00001267: SWAP1
00001268: SWAP3
00001269: ADD
0000126a: SWAP2
0000126b: PUSH1 0x20
0000126d: SWAP2
0000126e: DUP3
0000126f: ADD
00001270: SWAP2
00001271: ADD
00001272: PUSH2 0x1257
00001275: JUMP
00001276: JUMPDEST
00001277: MLOAD
00001278: DUP2
00001279: MLOAD
0000127a: PUSH1 0x20
0000127c: SWAP4
0000127d: DUP5
0000127e: SUB
0000127f: PUSH2 0x0100
00001282: EXP
00001283: PUSH1 0x00
00001285: NOT
00001286: ADD
00001287: DUP1
00001288: NOT
00001289: SWAP1
0000128a: SWAP3
0000128b: AND
0000128c: SWAP2
0000128d: AND
0000128e: OR
0000128f: SWAP1
00001290: MSTORE
00001291: PUSH1 0x40
00001293: DUP1
00001294: MLOAD
00001295: SWAP3
00001296: SWAP1
00001297: SWAP5
00001298: ADD
00001299: DUP3
0000129a: SWAP1
0000129b: SUB
0000129c: SWAP1
0000129d: SWAP2
0000129e: KECCAK256
0000129f: DUP7
000012a0: MSTORE
000012a1: DUP6
000012a2: ADD
000012a3: SWAP6
000012a4: SWAP1
000012a5: SWAP6
000012a6: MSTORE
000012a7: SWAP3
000012a8: SWAP1
000012a9: SWAP3
000012aa: ADD
000012ab: PUSH1 0x00
000012ad: KECCAK256
000012ae: DUP1
000012af: SLOAD
000012b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c5: NOT
000012c6: AND
000012c7: PUSH1 0x01
000012c9: PUSH1 0xa0
000012cb: PUSH1 0x02
000012cd: EXP
000012ce: SUB
000012cf: SWAP6
000012d0: SWAP1
000012d1: SWAP6
000012d2: AND
000012d3: SWAP5
000012d4: SWAP1
000012d5: SWAP5
000012d6: OR
000012d7: SWAP1
000012d8: SWAP4
000012d9: SSTORE
000012da: POP
000012db: PUSH2 0x12e7
000012de: SWAP2
000012df: POP
000012e0: DUP11
000012e1: SWAP1
000012e2: POP
000012e3: PUSH2 0x2ae8
000012e6: JUMP
000012e7: JUMPDEST
000012e8: NUMBER
000012e9: PUSH1 0x00
000012eb: DUP1
000012ec: PUSH1 0x40
000012ee: MLOAD
000012ef: PUSH1 0x20
000012f1: ADD
000012f2: DUP1
000012f3: DUP1
000012f4: PUSH32 0x6465706c6f7965644174426c6f636b0000000000000000000000000000000000
00001315: DUP2
00001316: MSTORE
00001317: POP
00001318: PUSH1 0x0f
0000131a: ADD
0000131b: SWAP1
0000131c: POP
0000131d: PUSH1 0x40
0000131f: MLOAD
00001320: PUSH1 0x20
00001322: DUP2
00001323: DUP4
00001324: SUB
00001325: SUB
00001326: DUP2
00001327: MSTORE
00001328: SWAP1
00001329: PUSH1 0x40
0000132b: MSTORE
0000132c: PUSH1 0x40
0000132e: MLOAD
0000132f: DUP1
00001330: DUP3
00001331: DUP1
00001332: MLOAD
00001333: SWAP1
00001334: PUSH1 0x20
00001336: ADD
00001337: SWAP1
00001338: DUP1
00001339: DUP4
0000133a: DUP4
0000133b: JUMPDEST
0000133c: PUSH1 0x20
0000133e: DUP4
0000133f: LT
00001340: PUSH2 0x135a
00001343: JUMPI
00001344: DUP1
00001345: MLOAD
00001346: DUP3
00001347: MSTORE
00001348: PUSH1 0x1f
0000134a: NOT
0000134b: SWAP1
0000134c: SWAP3
0000134d: ADD
0000134e: SWAP2
0000134f: PUSH1 0x20
00001351: SWAP2
00001352: DUP3
00001353: ADD
00001354: SWAP2
00001355: ADD
00001356: PUSH2 0x133b
00001359: JUMP
0000135a: JUMPDEST
0000135b: MLOAD
0000135c: DUP2
0000135d: MLOAD
0000135e: PUSH1 0x20
00001360: SWAP4
00001361: DUP5
00001362: SUB
00001363: PUSH2 0x0100
00001366: EXP
00001367: PUSH1 0x00
00001369: NOT
0000136a: ADD
0000136b: DUP1
0000136c: NOT
0000136d: SWAP1
0000136e: SWAP3
0000136f: AND
00001370: SWAP2
00001371: AND
00001372: OR
00001373: SWAP1
00001374: MSTORE
00001375: PUSH1 0x40
00001377: DUP1
00001378: MLOAD
00001379: SWAP3
0000137a: SWAP1
0000137b: SWAP5
0000137c: ADD
0000137d: DUP3
0000137e: SWAP1
0000137f: SUB
00001380: SWAP1
00001381: SWAP2
00001382: KECCAK256
00001383: DUP7
00001384: MSTORE
00001385: DUP6
00001386: DUP2
00001387: ADD
00001388: SWAP7
00001389: SWAP1
0000138a: SWAP7
0000138b: MSTORE
0000138c: POP
0000138d: SWAP3
0000138e: DUP4
0000138f: ADD
00001390: PUSH1 0x00
00001392: SWAP1
00001393: DUP2
00001394: KECCAK256
00001395: SWAP6
00001396: SWAP1
00001397: SWAP6
00001398: SSTORE
00001399: POP
0000139a: POP
0000139b: DUP1
0000139c: MLOAD
0000139d: PUSH32 0x7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000
000013be: DUP2
000013bf: DUP5
000013c0: ADD
000013c1: MSTORE
000013c2: DUP2
000013c3: MLOAD
000013c4: PUSH1 0x1a
000013c6: DUP2
000013c7: DUP4
000013c8: SUB
000013c9: ADD
000013ca: DUP2
000013cb: MSTORE
000013cc: PUSH1 0x3a
000013ce: SWAP1
000013cf: SWAP2
000013d0: ADD
000013d1: SWAP2
000013d2: DUP3
000013d3: SWAP1
000013d4: MSTORE
000013d5: DUP1
000013d6: MLOAD
000013d7: DUP13
000013d8: SWAP5
000013d9: SWAP4
000013da: DUP5
000013db: SWAP4
000013dc: SWAP2
000013dd: DUP3
000013de: SWAP2
000013df: DUP5
000013e0: ADD
000013e1: SWAP1
000013e2: DUP1
000013e3: DUP4
000013e4: DUP4
000013e5: JUMPDEST
000013e6: PUSH1 0x20
000013e8: DUP4
000013e9: LT
000013ea: PUSH2 0x1404
000013ed: JUMPI
000013ee: DUP1
000013ef: MLOAD
000013f0: DUP3
000013f1: MSTORE
000013f2: PUSH1 0x1f
000013f4: NOT
000013f5: SWAP1
000013f6: SWAP3
000013f7: ADD
000013f8: SWAP2
000013f9: PUSH1 0x20
000013fb: SWAP2
000013fc: DUP3
000013fd: ADD
000013fe: SWAP2
000013ff: ADD
00001400: PUSH2 0x13e5
00001403: JUMP
00001404: JUMPDEST
00001405: MLOAD
00001406: DUP2
00001407: MLOAD
00001408: PUSH1 0x20
0000140a: SWAP4
0000140b: DUP5
0000140c: SUB
0000140d: PUSH2 0x0100
00001410: EXP
00001411: PUSH1 0x00
00001413: NOT
00001414: ADD
00001415: DUP1
00001416: NOT
00001417: SWAP1
00001418: SWAP3
00001419: AND
0000141a: SWAP2
0000141b: AND
0000141c: OR
0000141d: SWAP1
0000141e: MSTORE
0000141f: PUSH1 0x40
00001421: DUP1
00001422: MLOAD
00001423: SWAP3
00001424: SWAP1
00001425: SWAP5
00001426: ADD
00001427: DUP3
00001428: SWAP1
00001429: SUB
0000142a: SWAP1
0000142b: SWAP2
0000142c: KECCAK256
0000142d: DUP7
0000142e: MSTORE
0000142f: DUP6
00001430: DUP2
00001431: ADD
00001432: SWAP7
00001433: SWAP1
00001434: SWAP7
00001435: MSTORE
00001436: POP
00001437: SWAP3
00001438: DUP4
00001439: ADD
0000143a: PUSH1 0x00
0000143c: SWAP1
0000143d: DUP2
0000143e: KECCAK256
0000143f: SWAP6
00001440: SWAP1
00001441: SWAP6
00001442: SSTORE
00001443: POP
00001444: POP
00001445: DUP1
00001446: MLOAD
00001447: PUSH32 0x6761735072696365000000000000000000000000000000000000000000000000
00001468: DUP2
00001469: DUP5
0000146a: ADD
0000146b: MSTORE
0000146c: DUP2
0000146d: MLOAD
0000146e: PUSH1 0x08
00001470: DUP2
00001471: DUP4
00001472: SUB
00001473: ADD
00001474: DUP2
00001475: MSTORE
00001476: PUSH1 0x28
00001478: SWAP1
00001479: SWAP2
0000147a: ADD
0000147b: SWAP2
0000147c: DUP3
0000147d: SWAP1
0000147e: MSTORE
0000147f: DUP1
00001480: MLOAD
00001481: DUP12
00001482: SWAP5
00001483: SWAP4
00001484: DUP5
00001485: SWAP4
00001486: SWAP2
00001487: DUP3
00001488: SWAP2
00001489: DUP5
0000148a: ADD
0000148b: SWAP1
0000148c: DUP1
0000148d: DUP4
0000148e: DUP4
0000148f: JUMPDEST
00001490: PUSH1 0x20
00001492: DUP4
00001493: LT
00001494: PUSH2 0x14ae
00001497: JUMPI
00001498: DUP1
00001499: MLOAD
0000149a: DUP3
0000149b: MSTORE
0000149c: PUSH1 0x1f
0000149e: NOT
0000149f: SWAP1
000014a0: SWAP3
000014a1: ADD
000014a2: SWAP2
000014a3: PUSH1 0x20
000014a5: SWAP2
000014a6: DUP3
000014a7: ADD
000014a8: SWAP2
000014a9: ADD
000014aa: PUSH2 0x148f
000014ad: JUMP
000014ae: JUMPDEST
000014af: MLOAD
000014b0: DUP2
000014b1: MLOAD
000014b2: PUSH1 0x20
000014b4: SWAP4
000014b5: DUP5
000014b6: SUB
000014b7: PUSH2 0x0100
000014ba: EXP
000014bb: PUSH1 0x00
000014bd: NOT
000014be: ADD
000014bf: DUP1
000014c0: NOT
000014c1: SWAP1
000014c2: SWAP3
000014c3: AND
000014c4: SWAP2
000014c5: AND
000014c6: OR
000014c7: SWAP1
000014c8: MSTORE
000014c9: PUSH1 0x40
000014cb: DUP1
000014cc: MLOAD
000014cd: SWAP3
000014ce: SWAP1
000014cf: SWAP5
000014d0: ADD
000014d1: DUP3
000014d2: SWAP1
000014d3: SUB
000014d4: SWAP1
000014d5: SWAP2
000014d6: KECCAK256
000014d7: DUP7
000014d8: MSTORE
000014d9: DUP6
000014da: DUP2
000014db: ADD
000014dc: SWAP7
000014dd: SWAP1
000014de: SWAP7
000014df: MSTORE
000014e0: POP
000014e1: SWAP3
000014e2: DUP4
000014e3: ADD
000014e4: PUSH1 0x00
000014e6: SWAP1
000014e7: DUP2
000014e8: KECCAK256
000014e9: SWAP6
000014ea: SWAP1
000014eb: SWAP6
000014ec: SSTORE
000014ed: POP
000014ee: POP
000014ef: DUP1
000014f0: MLOAD
000014f1: PUSH32 0x6d61785065725478000000000000000000000000000000000000000000000000
00001512: DUP2
00001513: DUP5
00001514: ADD
00001515: MSTORE
00001516: DUP2
00001517: MLOAD
00001518: PUSH1 0x08
0000151a: DUP2
0000151b: DUP4
0000151c: SUB
0000151d: ADD
0000151e: DUP2
0000151f: MSTORE
00001520: PUSH1 0x28
00001522: SWAP1
00001523: SWAP2
00001524: ADD
00001525: SWAP2
00001526: DUP3
00001527: SWAP1
00001528: MSTORE
00001529: DUP1
0000152a: MLOAD
0000152b: DUP11
0000152c: SWAP5
0000152d: SWAP4
0000152e: DUP5
0000152f: SWAP4
00001530: SWAP2
00001531: DUP3
00001532: SWAP2
00001533: DUP5
00001534: ADD
00001535: SWAP1
00001536: DUP1
00001537: DUP4
00001538: DUP4
00001539: JUMPDEST
0000153a: PUSH1 0x20
0000153c: DUP4
0000153d: LT
0000153e: PUSH2 0x1558
00001541: JUMPI
00001542: DUP1
00001543: MLOAD
00001544: DUP3
00001545: MSTORE
00001546: PUSH1 0x1f
00001548: NOT
00001549: SWAP1
0000154a: SWAP3
0000154b: ADD
0000154c: SWAP2
0000154d: PUSH1 0x20
0000154f: SWAP2
00001550: DUP3
00001551: ADD
00001552: SWAP2
00001553: ADD
00001554: PUSH2 0x1539
00001557: JUMP
00001558: JUMPDEST
00001559: MLOAD
0000155a: DUP2
0000155b: MLOAD
0000155c: PUSH1 0x20
0000155e: SWAP4
0000155f: DUP5
00001560: SUB
00001561: PUSH2 0x0100
00001564: EXP
00001565: PUSH1 0x00
00001567: NOT
00001568: ADD
00001569: DUP1
0000156a: NOT
0000156b: SWAP1
0000156c: SWAP3
0000156d: AND
0000156e: SWAP2
0000156f: AND
00001570: OR
00001571: SWAP1
00001572: MSTORE
00001573: PUSH1 0x40
00001575: DUP1
00001576: MLOAD
00001577: SWAP3
00001578: SWAP1
00001579: SWAP5
0000157a: ADD
0000157b: DUP3
0000157c: SWAP1
0000157d: SUB
0000157e: SWAP1
0000157f: SWAP2
00001580: KECCAK256
00001581: DUP7
00001582: MSTORE
00001583: DUP6
00001584: DUP2
00001585: ADD
00001586: SWAP7
00001587: SWAP1
00001588: SWAP7
00001589: MSTORE
0000158a: POP
0000158b: SWAP3
0000158c: DUP4
0000158d: ADD
0000158e: PUSH1 0x00
00001590: SWAP1
00001591: DUP2
00001592: KECCAK256
00001593: SWAP6
00001594: SWAP1
00001595: SWAP6
00001596: SSTORE
00001597: POP
00001598: POP
00001599: DUP1
0000159a: MLOAD
0000159b: PUSH32 0x657865637574696f6e4461696c794c696d697400000000000000000000000000
000015bc: DUP2
000015bd: DUP5
000015be: ADD
000015bf: MSTORE
000015c0: DUP2
000015c1: MLOAD
000015c2: PUSH1 0x13
000015c4: DUP2
000015c5: DUP4
000015c6: SUB
000015c7: ADD
000015c8: DUP2
000015c9: MSTORE
000015ca: PUSH1 0x33
000015cc: SWAP1
000015cd: SWAP2
000015ce: ADD
000015cf: SWAP2
000015d0: DUP3
000015d1: SWAP1
000015d2: MSTORE
000015d3: DUP1
000015d4: MLOAD
000015d5: DUP10
000015d6: SWAP5
000015d7: SWAP4
000015d8: DUP5
000015d9: SWAP4
000015da: SWAP2
000015db: DUP3
000015dc: SWAP2
000015dd: DUP5
000015de: ADD
000015df: SWAP1
000015e0: DUP1
000015e1: DUP4
000015e2: DUP4
000015e3: JUMPDEST
000015e4: PUSH1 0x20
000015e6: DUP4
000015e7: LT
000015e8: PUSH2 0x1602
000015eb: JUMPI
000015ec: DUP1
000015ed: MLOAD
000015ee: DUP3
000015ef: MSTORE
000015f0: PUSH1 0x1f
000015f2: NOT
000015f3: SWAP1
000015f4: SWAP3
000015f5: ADD
000015f6: SWAP2
000015f7: PUSH1 0x20
000015f9: SWAP2
000015fa: DUP3
000015fb: ADD
000015fc: SWAP2
000015fd: ADD
000015fe: PUSH2 0x15e3
00001601: JUMP
00001602: JUMPDEST
00001603: MLOAD
00001604: DUP2
00001605: MLOAD
00001606: PUSH1 0x20
00001608: SWAP4
00001609: DUP5
0000160a: SUB
0000160b: PUSH2 0x0100
0000160e: EXP
0000160f: PUSH1 0x00
00001611: NOT
00001612: ADD
00001613: DUP1
00001614: NOT
00001615: SWAP1
00001616: SWAP3
00001617: AND
00001618: SWAP2
00001619: AND
0000161a: OR
0000161b: SWAP1
0000161c: MSTORE
0000161d: PUSH1 0x40
0000161f: DUP1
00001620: MLOAD
00001621: SWAP3
00001622: SWAP1
00001623: SWAP5
00001624: ADD
00001625: DUP3
00001626: SWAP1
00001627: SUB
00001628: SWAP1
00001629: SWAP2
0000162a: KECCAK256
0000162b: DUP7
0000162c: MSTORE
0000162d: DUP6
0000162e: DUP2
0000162f: ADD
00001630: SWAP7
00001631: SWAP1
00001632: SWAP7
00001633: MSTORE
00001634: POP
00001635: SWAP3
00001636: DUP4
00001637: ADD
00001638: PUSH1 0x00
0000163a: SWAP1
0000163b: DUP2
0000163c: KECCAK256
0000163d: SWAP6
0000163e: SWAP1
0000163f: SWAP6
00001640: SSTORE
00001641: POP
00001642: POP
00001643: DUP1
00001644: MLOAD
00001645: PUSH32 0x657865637574696f6e4d61785065725478000000000000000000000000000000
00001666: DUP2
00001667: DUP5
00001668: ADD
00001669: MSTORE
0000166a: DUP2
0000166b: MLOAD
0000166c: PUSH1 0x11
0000166e: DUP2
0000166f: DUP4
00001670: SUB
00001671: ADD
00001672: DUP2
00001673: MSTORE
00001674: PUSH1 0x31
00001676: SWAP1
00001677: SWAP2
00001678: ADD
00001679: SWAP2
0000167a: DUP3
0000167b: SWAP1
0000167c: MSTORE
0000167d: DUP1
0000167e: MLOAD
0000167f: DUP9
00001680: SWAP5
00001681: SWAP4
00001682: DUP5
00001683: SWAP4
00001684: SWAP2
00001685: DUP3
00001686: SWAP2
00001687: DUP5
00001688: ADD
00001689: SWAP1
0000168a: DUP1
0000168b: DUP4
0000168c: DUP4
0000168d: JUMPDEST
0000168e: PUSH1 0x20
00001690: DUP4
00001691: LT
00001692: PUSH2 0x16ac
00001695: JUMPI
00001696: DUP1
00001697: MLOAD
00001698: DUP3
00001699: MSTORE
0000169a: PUSH1 0x1f
0000169c: NOT
0000169d: SWAP1
0000169e: SWAP3
0000169f: ADD
000016a0: SWAP2
000016a1: PUSH1 0x20
000016a3: SWAP2
000016a4: DUP3
000016a5: ADD
000016a6: SWAP2
000016a7: ADD
000016a8: PUSH2 0x168d
000016ab: JUMP
000016ac: JUMPDEST
000016ad: MLOAD
000016ae: DUP2
000016af: MLOAD
000016b0: PUSH1 0x20
000016b2: SWAP4
000016b3: DUP5
000016b4: SUB
000016b5: PUSH2 0x0100
000016b8: EXP
000016b9: PUSH1 0x00
000016bb: NOT
000016bc: ADD
000016bd: DUP1
000016be: NOT
000016bf: SWAP1
000016c0: SWAP3
000016c1: AND
000016c2: SWAP2
000016c3: AND
000016c4: OR
000016c5: SWAP1
000016c6: MSTORE
000016c7: PUSH1 0x40
000016c9: DUP1
000016ca: MLOAD
000016cb: SWAP3
000016cc: SWAP1
000016cd: SWAP5
000016ce: ADD
000016cf: DUP3
000016d0: SWAP1
000016d1: SUB
000016d2: SWAP1
000016d3: SWAP2
000016d4: KECCAK256
000016d5: DUP7
000016d6: MSTORE
000016d7: DUP6
000016d8: DUP2
000016d9: ADD
000016da: SWAP7
000016db: SWAP1
000016dc: SWAP7
000016dd: MSTORE
000016de: POP
000016df: SWAP3
000016e0: DUP4
000016e1: ADD
000016e2: PUSH1 0x00
000016e4: SWAP1
000016e5: DUP2
000016e6: KECCAK256
000016e7: SWAP6
000016e8: SWAP1
000016e9: SWAP6
000016ea: SSTORE
000016eb: POP
000016ec: POP
000016ed: DUP1
000016ee: MLOAD
000016ef: PUSH32 0x66656550657263656e7400000000000000000000000000000000000000000000
00001710: DUP2
00001711: DUP5
00001712: ADD
00001713: MSTORE
00001714: DUP2
00001715: MLOAD
00001716: PUSH1 0x0a
00001718: DUP2
00001719: DUP4
0000171a: SUB
0000171b: ADD
0000171c: DUP2
0000171d: MSTORE
0000171e: PUSH1 0x2a
00001720: SWAP1
00001721: SWAP2
00001722: ADD
00001723: SWAP2
00001724: DUP3
00001725: SWAP1
00001726: MSTORE
00001727: DUP1
00001728: MLOAD
00001729: DUP7
0000172a: SWAP5
0000172b: SWAP4
0000172c: DUP5
0000172d: SWAP4
0000172e: SWAP2
0000172f: DUP3
00001730: SWAP2
00001731: DUP5
00001732: ADD
00001733: SWAP1
00001734: DUP1
00001735: DUP4
00001736: DUP4
00001737: JUMPDEST
00001738: PUSH1 0x20
0000173a: DUP4
0000173b: LT
0000173c: PUSH2 0x1756
0000173f: JUMPI
00001740: DUP1
00001741: MLOAD
00001742: DUP3
00001743: MSTORE
00001744: PUSH1 0x1f
00001746: NOT
00001747: SWAP1
00001748: SWAP3
00001749: ADD
0000174a: SWAP2
0000174b: PUSH1 0x20
0000174d: SWAP2
0000174e: DUP3
0000174f: ADD
00001750: SWAP2
00001751: ADD
00001752: PUSH2 0x1737
00001755: JUMP
00001756: JUMPDEST
00001757: MLOAD
00001758: DUP2
00001759: MLOAD
0000175a: PUSH1 0x20
0000175c: SWAP4
0000175d: DUP5
0000175e: SUB
0000175f: PUSH2 0x0100
00001762: EXP
00001763: PUSH1 0x00
00001765: NOT
00001766: ADD
00001767: DUP1
00001768: NOT
00001769: SWAP1
0000176a: SWAP3
0000176b: AND
0000176c: SWAP2
0000176d: AND
0000176e: OR
0000176f: SWAP1
00001770: MSTORE
00001771: PUSH1 0x40
00001773: DUP1
00001774: MLOAD
00001775: SWAP3
00001776: SWAP1
00001777: SWAP5
00001778: ADD
00001779: DUP3
0000177a: SWAP1
0000177b: SUB
0000177c: SWAP1
0000177d: SWAP2
0000177e: KECCAK256
0000177f: DUP7
00001780: MSTORE
00001781: DUP6
00001782: ADD
00001783: SWAP6
00001784: SWAP1
00001785: SWAP6
00001786: MSTORE
00001787: SWAP3
00001788: SWAP1
00001789: SWAP3
0000178a: ADD
0000178b: PUSH1 0x00
0000178d: KECCAK256
0000178e: SWAP4
0000178f: SWAP1
00001790: SWAP4
00001791: SSTORE
00001792: POP
00001793: PUSH2 0x179f
00001796: SWAP2
00001797: POP
00001798: DUP5
00001799: SWAP1
0000179a: POP
0000179b: PUSH2 0x2b82
0000179e: JUMP
0000179f: JUMPDEST
000017a0: PUSH2 0x17a9
000017a3: PUSH1 0x01
000017a5: PUSH2 0x2c40
000017a8: JUMP
000017a9: JUMPDEST
000017aa: PUSH2 0x17b1
000017ad: PUSH2 0x0d04
000017b0: JUMP
000017b1: JUMPDEST
000017b2: SWAP11
000017b3: SWAP10
000017b4: POP
000017b5: POP
000017b6: POP
000017b7: POP
000017b8: POP
000017b9: POP
000017ba: POP
000017bb: POP
000017bc: POP
000017bd: POP
000017be: JUMP
000017bf: JUMPDEST
000017c0: PUSH1 0x00
000017c2: DUP1
000017c3: PUSH1 0x00
000017c5: PUSH1 0x40
000017c7: MLOAD
000017c8: PUSH1 0x20
000017ca: ADD
000017cb: DUP1
000017cc: DUP1
000017cd: PUSH32 0x6461696c794c696d697400000000000000000000000000000000000000000000
000017ee: DUP2
000017ef: MSTORE
000017f0: POP
000017f1: PUSH1 0x0a
000017f3: ADD
000017f4: SWAP1
000017f5: POP
000017f6: PUSH1 0x40
000017f8: MLOAD
000017f9: PUSH1 0x20
000017fb: DUP2
000017fc: DUP4
000017fd: SUB
000017fe: SUB
000017ff: DUP2
00001800: MSTORE
00001801: SWAP1
00001802: PUSH1 0x40
00001804: MSTORE
00001805: PUSH1 0x40
00001807: MLOAD
00001808: DUP1
00001809: DUP3
0000180a: DUP1
0000180b: MLOAD
0000180c: SWAP1
0000180d: PUSH1 0x20
0000180f: ADD
00001810: SWAP1
00001811: DUP1
00001812: DUP4
00001813: DUP4
00001814: PUSH1 0x20
00001816: DUP4
00001817: LT
00001818: PUSH2 0x0ea5
0000181b: JUMPI
0000181c: DUP1
0000181d: MLOAD
0000181e: DUP3
0000181f: MSTORE
00001820: PUSH1 0x1f
00001822: NOT
00001823: SWAP1
00001824: SWAP3
00001825: ADD
00001826: SWAP2
00001827: PUSH1 0x20
00001829: SWAP2
0000182a: DUP3
0000182b: ADD
0000182c: SWAP2
0000182d: ADD
0000182e: PUSH2 0x0e86
00001831: JUMP
00001832: JUMPDEST
00001833: PUSH2 0x183a
00001836: PUSH2 0x221a
00001839: JUMP
0000183a: JUMPDEST
0000183b: PUSH1 0x01
0000183d: PUSH1 0xa0
0000183f: PUSH1 0x02
00001841: EXP
00001842: SUB
00001843: AND
00001844: CALLER
00001845: EQ
00001846: PUSH2 0x184e
00001849: JUMPI
0000184a: PUSH1 0x00
0000184c: DUP1
0000184d: REVERT
0000184e: JUMPDEST
0000184f: PUSH1 0x01
00001851: PUSH1 0xa0
00001853: PUSH1 0x02
00001855: EXP
00001856: SUB
00001857: DUP3
00001858: AND
00001859: ISZERO
0000185a: ISZERO
0000185b: PUSH2 0x1863
0000185e: JUMPI
0000185f: PUSH1 0x00
00001861: DUP1
00001862: REVERT
00001863: JUMPDEST
00001864: PUSH2 0x186d
00001867: DUP3
00001868: DUP3
00001869: PUSH2 0x2d01
0000186c: JUMP
0000186d: JUMPDEST
0000186e: POP
0000186f: POP
00001870: JUMP
00001871: JUMPDEST
00001872: PUSH1 0x01
00001874: PUSH1 0xa0
00001876: PUSH1 0x02
00001878: EXP
00001879: SUB
0000187a: AND
0000187b: BALANCE
0000187c: SWAP1
0000187d: JUMP
0000187e: JUMPDEST
0000187f: PUSH1 0x00
00001881: DUP1
00001882: PUSH1 0x00
00001884: PUSH1 0x40
00001886: MLOAD
00001887: PUSH1 0x20
00001889: ADD
0000188a: DUP1
0000188b: DUP1
0000188c: PUSH32 0x66656550657263656e7400000000000000000000000000000000000000000000
000018ad: DUP2
000018ae: MSTORE
000018af: POP
000018b0: PUSH1 0x0a
000018b2: ADD
000018b3: SWAP1
000018b4: POP
000018b5: PUSH1 0x40
000018b7: MLOAD
000018b8: PUSH1 0x20
000018ba: DUP2
000018bb: DUP4
000018bc: SUB
000018bd: SUB
000018be: DUP2
000018bf: MSTORE
000018c0: SWAP1
000018c1: PUSH1 0x40
000018c3: MSTORE
000018c4: PUSH1 0x40
000018c6: MLOAD
000018c7: DUP1
000018c8: DUP3
000018c9: DUP1
000018ca: MLOAD
000018cb: SWAP1
000018cc: PUSH1 0x20
000018ce: ADD
000018cf: SWAP1
000018d0: DUP1
000018d1: DUP4
000018d2: DUP4
000018d3: PUSH1 0x20
000018d5: DUP4
000018d6: LT
000018d7: PUSH2 0x0ea5
000018da: JUMPI
000018db: DUP1
000018dc: MLOAD
000018dd: DUP3
000018de: MSTORE
000018df: PUSH1 0x1f
000018e1: NOT
000018e2: SWAP1
000018e3: SWAP3
000018e4: ADD
000018e5: SWAP2
000018e6: PUSH1 0x20
000018e8: SWAP2
000018e9: DUP3
000018ea: ADD
000018eb: SWAP2
000018ec: ADD
000018ed: PUSH2 0x0e86
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH1 0x00
000018f4: DUP1
000018f5: PUSH2 0x1914
000018f8: DUP4
000018f9: PUSH2 0x1908
000018fc: PUSH2 0x1903
000018ff: PUSH2 0x0e28
00001902: JUMP
00001903: JUMPDEST
00001904: PUSH2 0x10b9
00001907: JUMP
00001908: JUMPDEST
00001909: SWAP1
0000190a: PUSH4 0xffffffff
0000190f: PUSH2 0x2d47
00001912: AND
00001913: JUMP
00001914: JUMPDEST
00001915: SWAP1
00001916: POP
00001917: DUP1
00001918: PUSH2 0x191f
0000191b: PUSH2 0x0f88
0000191e: JUMP
0000191f: JUMPDEST
00001920: LT
00001921: ISZERO
00001922: DUP1
00001923: ISZERO
00001924: PUSH2 0x1934
00001927: JUMPI
00001928: POP
00001929: PUSH2 0x1930
0000192c: PUSH2 0x193b
0000192f: JUMP
00001930: JUMPDEST
00001931: DUP4
00001932: GT
00001933: ISZERO
00001934: JUMPDEST
00001935: SWAP4
00001936: SWAP3
00001937: POP
00001938: POP
00001939: POP
0000193a: JUMP
0000193b: JUMPDEST
0000193c: PUSH1 0x00
0000193e: DUP1
0000193f: PUSH1 0x00
00001941: PUSH1 0x40
00001943: MLOAD
00001944: PUSH1 0x20
00001946: ADD
00001947: DUP1
00001948: DUP1
00001949: PUSH32 0x657865637574696f6e4d61785065725478000000000000000000000000000000
0000196a: DUP2
0000196b: MSTORE
0000196c: POP
0000196d: PUSH1 0x11
0000196f: ADD
00001970: SWAP1
00001971: POP
00001972: PUSH1 0x40
00001974: MLOAD
00001975: PUSH1 0x20
00001977: DUP2
00001978: DUP4
00001979: SUB
0000197a: SUB
0000197b: DUP2
0000197c: MSTORE
0000197d: SWAP1
0000197e: PUSH1 0x40
00001980: MSTORE
00001981: PUSH1 0x40
00001983: MLOAD
00001984: DUP1
00001985: DUP3
00001986: DUP1
00001987: MLOAD
00001988: SWAP1
00001989: PUSH1 0x20
0000198b: ADD
0000198c: SWAP1
0000198d: DUP1
0000198e: DUP4
0000198f: DUP4
00001990: PUSH1 0x20
00001992: DUP4
00001993: LT
00001994: PUSH2 0x0ea5
00001997: JUMPI
00001998: DUP1
00001999: MLOAD
0000199a: DUP3
0000199b: MSTORE
0000199c: PUSH1 0x1f
0000199e: NOT
0000199f: SWAP1
000019a0: SWAP3
000019a1: ADD
000019a2: SWAP2
000019a3: PUSH1 0x20
000019a5: SWAP2
000019a6: DUP3
000019a7: ADD
000019a8: SWAP2
000019a9: ADD
000019aa: PUSH2 0x0e86
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH1 0x00
000019b1: PUSH2 0x19b8
000019b4: PUSH2 0x1ad1
000019b7: JUMP
000019b8: JUMPDEST
000019b9: PUSH1 0x01
000019bb: PUSH1 0xa0
000019bd: PUSH1 0x02
000019bf: EXP
000019c0: SUB
000019c1: AND
000019c2: PUSH4 0x8d068043
000019c7: PUSH1 0x40
000019c9: MLOAD
000019ca: DUP2
000019cb: PUSH4 0xffffffff
000019d0: AND
000019d1: PUSH1 0xe0
000019d3: PUSH1 0x02
000019d5: EXP
000019d6: MUL
000019d7: DUP2
000019d8: MSTORE
000019d9: PUSH1 0x04
000019db: ADD
000019dc: PUSH1 0x20
000019de: PUSH1 0x40
000019e0: MLOAD
000019e1: DUP1
000019e2: DUP4
000019e3: SUB
000019e4: DUP2
000019e5: PUSH1 0x00
000019e7: DUP8
000019e8: DUP1
000019e9: EXTCODESIZE
000019ea: ISZERO
000019eb: DUP1
000019ec: ISZERO
000019ed: PUSH2 0x19f5
000019f0: JUMPI
000019f1: PUSH1 0x00
000019f3: DUP1
000019f4: REVERT
000019f5: JUMPDEST
000019f6: POP
000019f7: GAS
000019f8: CALL
000019f9: ISZERO
000019fa: DUP1
000019fb: ISZERO
000019fc: PUSH2 0x1a09
000019ff: JUMPI
00001a00: RETURNDATASIZE
00001a01: PUSH1 0x00
00001a03: DUP1
00001a04: RETURNDATACOPY
00001a05: RETURNDATASIZE
00001a06: PUSH1 0x00
00001a08: REVERT
00001a09: JUMPDEST
00001a0a: POP
00001a0b: POP
00001a0c: POP
00001a0d: POP
00001a0e: PUSH1 0x40
00001a10: MLOAD
00001a11: RETURNDATASIZE
00001a12: PUSH1 0x20
00001a14: DUP2
00001a15: LT
00001a16: ISZERO
00001a17: PUSH2 0x1a1f
00001a1a: JUMPI
00001a1b: PUSH1 0x00
00001a1d: DUP1
00001a1e: REVERT
00001a1f: JUMPDEST
00001a20: POP
00001a21: MLOAD
00001a22: SWAP1
00001a23: POP
00001a24: SWAP1
00001a25: JUMP
00001a26: JUMPDEST
00001a27: PUSH1 0x00
00001a29: PUSH1 0x02
00001a2b: PUSH1 0x00
00001a2d: PUSH1 0x40
00001a2f: MLOAD
00001a30: PUSH1 0x20
00001a32: ADD
00001a33: DUP1
00001a34: DUP1
00001a35: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
00001a56: DUP2
00001a57: MSTORE
00001a58: POP
00001a59: PUSH1 0x05
00001a5b: ADD
00001a5c: SWAP1
00001a5d: POP
00001a5e: PUSH1 0x40
00001a60: MLOAD
00001a61: PUSH1 0x20
00001a63: DUP2
00001a64: DUP4
00001a65: SUB
00001a66: SUB
00001a67: DUP2
00001a68: MSTORE
00001a69: SWAP1
00001a6a: PUSH1 0x40
00001a6c: MSTORE
00001a6d: PUSH1 0x40
00001a6f: MLOAD
00001a70: DUP1
00001a71: DUP3
00001a72: DUP1
00001a73: MLOAD
00001a74: SWAP1
00001a75: PUSH1 0x20
00001a77: ADD
00001a78: SWAP1
00001a79: DUP1
00001a7a: DUP4
00001a7b: DUP4
00001a7c: PUSH1 0x20
00001a7e: DUP4
00001a7f: LT
00001a80: PUSH2 0x1070
00001a83: JUMPI
00001a84: DUP1
00001a85: MLOAD
00001a86: DUP3
00001a87: MSTORE
00001a88: PUSH1 0x1f
00001a8a: NOT
00001a8b: SWAP1
00001a8c: SWAP3
00001a8d: ADD
00001a8e: SWAP2
00001a8f: PUSH1 0x20
00001a91: SWAP2
00001a92: DUP3
00001a93: ADD
00001a94: SWAP2
00001a95: ADD
00001a96: PUSH2 0x1051
00001a99: JUMP
00001a9a: JUMPDEST
00001a9b: PUSH1 0x40
00001a9d: DUP1
00001a9e: MLOAD
00001a9f: DUP1
00001aa0: DUP3
00001aa1: ADD
00001aa2: SWAP1
00001aa3: SWAP2
00001aa4: MSTORE
00001aa5: PUSH1 0x05
00001aa7: DUP2
00001aa8: MSTORE
00001aa9: PUSH32 0x5457455448000000000000000000000000000000000000000000000000000000
00001aca: PUSH1 0x20
00001acc: DUP3
00001acd: ADD
00001ace: MSTORE
00001acf: DUP2
00001ad0: JUMP
00001ad1: JUMPDEST
00001ad2: PUSH1 0x00
00001ad4: PUSH1 0x02
00001ad6: PUSH1 0x00
00001ad8: PUSH1 0x40
00001ada: MLOAD
00001adb: PUSH1 0x20
00001add: ADD
00001ade: DUP1
00001adf: DUP1
00001ae0: PUSH32 0x76616c696461746f72436f6e7472616374000000000000000000000000000000
00001b01: DUP2
00001b02: MSTORE
00001b03: POP
00001b04: PUSH1 0x11
00001b06: ADD
00001b07: SWAP1
00001b08: POP
00001b09: PUSH1 0x40
00001b0b: MLOAD
00001b0c: PUSH1 0x20
00001b0e: DUP2
00001b0f: DUP4
00001b10: SUB
00001b11: SUB
00001b12: DUP2
00001b13: MSTORE
00001b14: SWAP1
00001b15: PUSH1 0x40
00001b17: MSTORE
00001b18: PUSH1 0x40
00001b1a: MLOAD
00001b1b: DUP1
00001b1c: DUP3
00001b1d: DUP1
00001b1e: MLOAD
00001b1f: SWAP1
00001b20: PUSH1 0x20
00001b22: ADD
00001b23: SWAP1
00001b24: DUP1
00001b25: DUP4
00001b26: DUP4
00001b27: PUSH1 0x20
00001b29: DUP4
00001b2a: LT
00001b2b: PUSH2 0x1070
00001b2e: JUMPI
00001b2f: DUP1
00001b30: MLOAD
00001b31: DUP3
00001b32: MSTORE
00001b33: PUSH1 0x1f
00001b35: NOT
00001b36: SWAP1
00001b37: SWAP3
00001b38: ADD
00001b39: SWAP2
00001b3a: PUSH1 0x20
00001b3c: SWAP2
00001b3d: DUP3
00001b3e: ADD
00001b3f: SWAP2
00001b40: ADD
00001b41: PUSH2 0x1051
00001b44: JUMP
00001b45: JUMPDEST
00001b46: PUSH1 0x00
00001b48: PUSH2 0x1b50
00001b4b: DUP3
00001b4c: PUSH2 0x29ee
00001b4f: JUMP
00001b50: JUMPDEST
00001b51: PUSH2 0x1b61
00001b54: DUP12
00001b55: DUP12
00001b56: DUP12
00001b57: DUP12
00001b58: DUP12
00001b59: DUP12
00001b5a: DUP12
00001b5b: DUP12
00001b5c: DUP12
00001b5d: PUSH2 0x1134
00001b60: JUMP
00001b61: JUMPDEST
00001b62: SWAP12
00001b63: SWAP11
00001b64: POP
00001b65: POP
00001b66: POP
00001b67: POP
00001b68: POP
00001b69: POP
00001b6a: POP
00001b6b: POP
00001b6c: POP
00001b6d: POP
00001b6e: POP
00001b6f: JUMP
00001b70: JUMPDEST
00001b71: PUSH1 0x00
00001b73: DUP1
00001b74: PUSH1 0x00
00001b76: PUSH1 0x40
00001b78: MLOAD
00001b79: PUSH1 0x20
00001b7b: ADD
00001b7c: DUP1
00001b7d: DUP1
00001b7e: PUSH32 0x6465706c6f7965644174426c6f636b0000000000000000000000000000000000
00001b9f: DUP2
00001ba0: MSTORE
00001ba1: POP
00001ba2: PUSH1 0x0f
00001ba4: ADD
00001ba5: SWAP1
00001ba6: POP
00001ba7: PUSH1 0x40
00001ba9: MLOAD
00001baa: PUSH1 0x20
00001bac: DUP2
00001bad: DUP4
00001bae: SUB
00001baf: SUB
00001bb0: DUP2
00001bb1: MSTORE
00001bb2: SWAP1
00001bb3: PUSH1 0x40
00001bb5: MSTORE
00001bb6: PUSH1 0x40
00001bb8: MLOAD
00001bb9: DUP1
00001bba: DUP3
00001bbb: DUP1
00001bbc: MLOAD
00001bbd: SWAP1
00001bbe: PUSH1 0x20
00001bc0: ADD
00001bc1: SWAP1
00001bc2: DUP1
00001bc3: DUP4
00001bc4: DUP4
00001bc5: PUSH1 0x20
00001bc7: DUP4
00001bc8: LT
00001bc9: PUSH2 0x0ea5
00001bcc: JUMPI
00001bcd: DUP1
00001bce: MLOAD
00001bcf: DUP3
00001bd0: MSTORE
00001bd1: PUSH1 0x1f
00001bd3: NOT
00001bd4: SWAP1
00001bd5: SWAP3
00001bd6: ADD
00001bd7: SWAP2
00001bd8: PUSH1 0x20
00001bda: SWAP2
00001bdb: DUP3
00001bdc: ADD
00001bdd: SWAP2
00001bde: ADD
00001bdf: PUSH2 0x0e86
00001be2: JUMP
00001be3: JUMPDEST
00001be4: PUSH1 0x02
00001be6: DUP1
00001be7: PUSH1 0x00
00001be9: SWAP1
00001bea: SWAP2
00001beb: SWAP3
00001bec: JUMP
00001bed: JUMPDEST
00001bee: PUSH2 0x1bf5
00001bf1: PUSH2 0x1a26
00001bf4: JUMP
00001bf5: JUMPDEST
00001bf6: PUSH1 0x01
00001bf8: PUSH1 0xa0
00001bfa: PUSH1 0x02
00001bfc: EXP
00001bfd: SUB
00001bfe: AND
00001bff: CALLER
00001c00: EQ
00001c01: PUSH2 0x1c09
00001c04: JUMPI
00001c05: PUSH1 0x00
00001c07: DUP1
00001c08: REVERT
00001c09: JUMPDEST
00001c0a: PUSH2 0x1c11
00001c0d: PUSH2 0x17bf
00001c10: JUMP
00001c11: JUMPDEST
00001c12: DUP2
00001c13: LT
00001c14: DUP1
00001c15: ISZERO
00001c16: PUSH2 0x1c25
00001c19: JUMPI
00001c1a: POP
00001c1b: PUSH2 0x1c22
00001c1e: PUSH2 0x23f8
00001c21: JUMP
00001c22: JUMPDEST
00001c23: DUP2
00001c24: LT
00001c25: JUMPDEST
00001c26: ISZERO
00001c27: ISZERO
00001c28: PUSH2 0x1c30
00001c2b: JUMPI
00001c2c: PUSH1 0x00
00001c2e: DUP1
00001c2f: REVERT
00001c30: JUMPDEST
00001c31: DUP1
00001c32: PUSH1 0x00
00001c34: DUP1
00001c35: PUSH1 0x40
00001c37: MLOAD
00001c38: PUSH1 0x20
00001c3a: ADD
00001c3b: DUP1
00001c3c: DUP1
00001c3d: PUSH32 0x6d696e5065725478000000000000000000000000000000000000000000000000
00001c5e: DUP2
00001c5f: MSTORE
00001c60: POP
00001c61: PUSH1 0x08
00001c63: ADD
00001c64: SWAP1
00001c65: POP
00001c66: PUSH1 0x40
00001c68: MLOAD
00001c69: PUSH1 0x20
00001c6b: DUP2
00001c6c: DUP4
00001c6d: SUB
00001c6e: SUB
00001c6f: DUP2
00001c70: MSTORE
00001c71: SWAP1
00001c72: PUSH1 0x40
00001c74: MSTORE
00001c75: PUSH1 0x40
00001c77: MLOAD
00001c78: DUP1
00001c79: DUP3
00001c7a: DUP1
00001c7b: MLOAD
00001c7c: SWAP1
00001c7d: PUSH1 0x20
00001c7f: ADD
00001c80: SWAP1
00001c81: DUP1
00001c82: DUP4
00001c83: DUP4
00001c84: JUMPDEST
00001c85: PUSH1 0x20
00001c87: DUP4
00001c88: LT
00001c89: PUSH2 0x1ca3
00001c8c: JUMPI
00001c8d: DUP1
00001c8e: MLOAD
00001c8f: DUP3
00001c90: MSTORE
00001c91: PUSH1 0x1f
00001c93: NOT
00001c94: SWAP1
00001c95: SWAP3
00001c96: ADD
00001c97: SWAP2
00001c98: PUSH1 0x20
00001c9a: SWAP2
00001c9b: DUP3
00001c9c: ADD
00001c9d: SWAP2
00001c9e: ADD
00001c9f: PUSH2 0x1c84
00001ca2: JUMP
00001ca3: JUMPDEST
00001ca4: MLOAD
00001ca5: DUP2
00001ca6: MLOAD
00001ca7: PUSH1 0x20
00001ca9: SWAP4
00001caa: DUP5
00001cab: SUB
00001cac: PUSH2 0x0100
00001caf: EXP
00001cb0: PUSH1 0x00
00001cb2: NOT
00001cb3: ADD
00001cb4: DUP1
00001cb5: NOT
00001cb6: SWAP1
00001cb7: SWAP3
00001cb8: AND
00001cb9: SWAP2
00001cba: AND
00001cbb: OR
00001cbc: SWAP1
00001cbd: MSTORE
00001cbe: PUSH1 0x40
00001cc0: DUP1
00001cc1: MLOAD
00001cc2: SWAP3
00001cc3: SWAP1
00001cc4: SWAP5
00001cc5: ADD
00001cc6: DUP3
00001cc7: SWAP1
00001cc8: SUB
00001cc9: SWAP1
00001cca: SWAP2
00001ccb: KECCAK256
00001ccc: DUP7
00001ccd: MSTORE
00001cce: DUP6
00001ccf: ADD
00001cd0: SWAP6
00001cd1: SWAP1
00001cd2: SWAP6
00001cd3: MSTORE
00001cd4: SWAP3
00001cd5: SWAP1
00001cd6: SWAP3
00001cd7: ADD
00001cd8: PUSH1 0x00
00001cda: KECCAK256
00001cdb: SWAP4
00001cdc: SWAP1
00001cdd: SWAP4
00001cde: SSTORE
00001cdf: POP
00001ce0: POP
00001ce1: POP
00001ce2: POP
00001ce3: JUMP
00001ce4: JUMPDEST
00001ce5: PUSH1 0x00
00001ce7: PUSH1 0x01
00001ce9: PUSH1 0xa0
00001ceb: PUSH1 0x02
00001ced: EXP
00001cee: SUB
00001cef: DUP4
00001cf0: AND
00001cf1: ADDRESS
00001cf2: EQ
00001cf3: PUSH2 0x1d6c
00001cf6: JUMPI
00001cf7: PUSH1 0x40
00001cf9: DUP1
00001cfa: MLOAD
00001cfb: PUSH1 0xe5
00001cfd: PUSH1 0x02
00001cff: EXP
00001d00: PUSH3 0x461bcd
00001d04: MUL
00001d05: DUP2
00001d06: MSTORE
00001d07: PUSH1 0x20
00001d09: PUSH1 0x04
00001d0b: DUP3
00001d0c: ADD
00001d0d: MSTORE
00001d0e: PUSH1 0x29
00001d10: PUSH1 0x24
00001d12: DUP3
00001d13: ADD
00001d14: MSTORE
00001d15: PUSH32 0x746f2061646472657373206d75737420626520666f726569676e206272696467
00001d36: PUSH1 0x44
00001d38: DUP3
00001d39: ADD
00001d3a: MSTORE
00001d3b: PUSH32 0x6520616464726573730000000000000000000000000000000000000000000000
00001d5c: PUSH1 0x64
00001d5e: DUP3
00001d5f: ADD
00001d60: MSTORE
00001d61: SWAP1
00001d62: MLOAD
00001d63: SWAP1
00001d64: DUP2
00001d65: SWAP1
00001d66: SUB
00001d67: PUSH1 0x84
00001d69: ADD
00001d6a: SWAP1
00001d6b: REVERT
00001d6c: JUMPDEST
00001d6d: CALLVALUE
00001d6e: DUP3
00001d6f: EQ
00001d70: PUSH2 0x1de9
00001d73: JUMPI
00001d74: PUSH1 0x40
00001d76: DUP1
00001d77: MLOAD
00001d78: PUSH1 0xe5
00001d7a: PUSH1 0x02
00001d7c: EXP
00001d7d: PUSH3 0x461bcd
00001d81: MUL
00001d82: DUP2
00001d83: MSTORE
00001d84: PUSH1 0x20
00001d86: PUSH1 0x04
00001d88: DUP3
00001d89: ADD
00001d8a: MSTORE
00001d8b: PUSH1 0x27
00001d8d: PUSH1 0x24
00001d8f: DUP3
00001d90: ADD
00001d91: MSTORE
00001d92: PUSH32 0x7472616e736665722076616c7565206d75737420657175616c20746f20657468
00001db3: PUSH1 0x44
00001db5: DUP3
00001db6: ADD
00001db7: MSTORE
00001db8: PUSH32 0x20616d6f756e7400000000000000000000000000000000000000000000000000
00001dd9: PUSH1 0x64
00001ddb: DUP3
00001ddc: ADD
00001ddd: MSTORE
00001dde: SWAP1
00001ddf: MLOAD
00001de0: SWAP1
00001de1: DUP2
00001de2: SWAP1
00001de3: SUB
00001de4: PUSH1 0x84
00001de6: ADD
00001de7: SWAP1
00001de8: REVERT
00001de9: JUMPDEST
00001dea: PUSH1 0x40
00001dec: DUP1
00001ded: MLOAD
00001dee: CALLVALUE
00001def: DUP2
00001df0: MSTORE
00001df1: SWAP1
00001df2: MLOAD
00001df3: ADDRESS
00001df4: SWAP2
00001df5: CALLER
00001df6: SWAP2
00001df7: PUSH1 0x00
00001df9: DUP1
00001dfa: MLOAD
00001dfb: PUSH1 0x20
00001dfd: PUSH2 0x31cb
00001e00: DUP4
00001e01: CODECOPY
00001e02: DUP2
00001e03: MLOAD
00001e04: SWAP2
00001e05: MSTORE
00001e06: SWAP2
00001e07: DUP2
00001e08: SWAP1
00001e09: SUB
00001e0a: PUSH1 0x20
00001e0c: ADD
00001e0d: SWAP1
00001e0e: LOG3
00001e0f: SWAP3
00001e10: SWAP2
00001e11: POP
00001e12: POP
00001e13: JUMP
00001e14: JUMPDEST
00001e15: PUSH2 0x1e1c
00001e18: PUSH2 0x1a26
00001e1b: JUMP
00001e1c: JUMPDEST
00001e1d: PUSH1 0x01
00001e1f: PUSH1 0xa0
00001e21: PUSH1 0x02
00001e23: EXP
00001e24: SUB
00001e25: AND
00001e26: CALLER
00001e27: EQ
00001e28: PUSH2 0x1e30
00001e2b: JUMPI
00001e2c: PUSH1 0x00
00001e2e: DUP1
00001e2f: REVERT
00001e30: JUMPDEST
00001e31: PUSH1 0x00
00001e33: DUP2
00001e34: GT
00001e35: PUSH2 0x1e3d
00001e38: JUMPI
00001e39: PUSH1 0x00
00001e3b: DUP1
00001e3c: REVERT
00001e3d: JUMPDEST
00001e3e: DUP1
00001e3f: PUSH1 0x00
00001e41: DUP1
00001e42: PUSH1 0x40
00001e44: MLOAD
00001e45: PUSH1 0x20
00001e47: ADD
00001e48: DUP1
00001e49: DUP1
00001e4a: PUSH32 0x7265717569726564426c6f636b436f6e6669726d6174696f6e73000000000000
00001e6b: DUP2
00001e6c: MSTORE
00001e6d: POP
00001e6e: PUSH1 0x1a
00001e70: ADD
00001e71: SWAP1
00001e72: POP
00001e73: PUSH1 0x40
00001e75: MLOAD
00001e76: PUSH1 0x20
00001e78: DUP2
00001e79: DUP4
00001e7a: SUB
00001e7b: SUB
00001e7c: DUP2
00001e7d: MSTORE
00001e7e: SWAP1
00001e7f: PUSH1 0x40
00001e81: MSTORE
00001e82: PUSH1 0x40
00001e84: MLOAD
00001e85: DUP1
00001e86: DUP3
00001e87: DUP1
00001e88: MLOAD
00001e89: SWAP1
00001e8a: PUSH1 0x20
00001e8c: ADD
00001e8d: SWAP1
00001e8e: DUP1
00001e8f: DUP4
00001e90: DUP4
00001e91: JUMPDEST
00001e92: PUSH1 0x20
00001e94: DUP4
00001e95: LT
00001e96: PUSH2 0x1eb0
00001e99: JUMPI
00001e9a: DUP1
00001e9b: MLOAD
00001e9c: DUP3
00001e9d: MSTORE
00001e9e: PUSH1 0x1f
00001ea0: NOT
00001ea1: SWAP1
00001ea2: SWAP3
00001ea3: ADD
00001ea4: SWAP2
00001ea5: PUSH1 0x20
00001ea7: SWAP2
00001ea8: DUP3
00001ea9: ADD
00001eaa: SWAP2
00001eab: ADD
00001eac: PUSH2 0x1e91
00001eaf: JUMP
00001eb0: JUMPDEST
00001eb1: MLOAD
00001eb2: DUP2
00001eb3: MLOAD
00001eb4: PUSH1 0x00
00001eb6: NOT
00001eb7: PUSH1 0x20
00001eb9: SWAP5
00001eba: DUP6
00001ebb: SUB
00001ebc: PUSH2 0x0100
00001ebf: EXP
00001ec0: ADD
00001ec1: SWAP1
00001ec2: DUP2
00001ec3: AND
00001ec4: SWAP1
00001ec5: NOT
00001ec6: SWAP2
00001ec7: SWAP1
00001ec8: SWAP2
00001ec9: AND
00001eca: OR
00001ecb: SWAP1
00001ecc: MSTORE
00001ecd: PUSH1 0x40
00001ecf: DUP1
00001ed0: MLOAD
00001ed1: SWAP5
00001ed2: SWAP1
00001ed3: SWAP3
00001ed4: ADD
00001ed5: DUP5
00001ed6: SWAP1
00001ed7: SUB
00001ed8: SWAP1
00001ed9: SWAP4
00001eda: KECCAK256
00001edb: DUP7
00001edc: MSTORE
00001edd: DUP6
00001ede: DUP4
00001edf: ADD
00001ee0: SWAP7
00001ee1: SWAP1
00001ee2: SWAP7
00001ee3: MSTORE
00001ee4: POP
00001ee5: SWAP3
00001ee6: DUP5
00001ee7: ADD
00001ee8: PUSH1 0x00
00001eea: KECCAK256
00001eeb: SWAP5
00001eec: SWAP1
00001eed: SWAP5
00001eee: SSTORE
00001eef: POP
00001ef0: DUP2
00001ef1: MLOAD
00001ef2: DUP5
00001ef3: DUP2
00001ef4: MSTORE
00001ef5: SWAP2
00001ef6: MLOAD
00001ef7: PUSH32 0x4fb76205cd57c896b21511d2114137d8e901b4ccd659e1a0f97d6306795264fb
00001f18: SWAP4
00001f19: POP
00001f1a: SWAP2
00001f1b: DUP3
00001f1c: SWAP1
00001f1d: SUB
00001f1e: ADD
00001f1f: SWAP1
00001f20: LOG1
00001f21: POP
00001f22: JUMP
00001f23: JUMPDEST
00001f24: PUSH2 0x1f2b
00001f27: PUSH2 0x1a26
00001f2a: JUMP
00001f2b: JUMPDEST
00001f2c: PUSH1 0x01
00001f2e: PUSH1 0xa0
00001f30: PUSH1 0x02
00001f32: EXP
00001f33: SUB
00001f34: AND
00001f35: CALLER
00001f36: EQ
00001f37: PUSH2 0x1f3f
00001f3a: JUMPI
00001f3b: PUSH1 0x00
00001f3d: DUP1
00001f3e: REVERT
00001f3f: JUMPDEST
00001f40: DUP1
00001f41: PUSH1 0x00
00001f43: DUP1
00001f44: PUSH1 0x40
00001f46: MLOAD
00001f47: PUSH1 0x20
00001f49: ADD
00001f4a: DUP1
00001f4b: DUP1
00001f4c: PUSH32 0x6461696c794c696d697400000000000000000000000000000000000000000000
00001f6d: DUP2
00001f6e: MSTORE
00001f6f: POP
00001f70: PUSH1 0x0a
00001f72: ADD
00001f73: SWAP1
00001f74: POP
00001f75: PUSH1 0x40
00001f77: MLOAD
00001f78: PUSH1 0x20
00001f7a: DUP2
00001f7b: DUP4
00001f7c: SUB
00001f7d: SUB
00001f7e: DUP2
00001f7f: MSTORE
00001f80: SWAP1
00001f81: PUSH1 0x40
00001f83: MSTORE
00001f84: PUSH1 0x40
00001f86: MLOAD
00001f87: DUP1
00001f88: DUP3
00001f89: DUP1
00001f8a: MLOAD
00001f8b: SWAP1
00001f8c: PUSH1 0x20
00001f8e: ADD
00001f8f: SWAP1
00001f90: DUP1
00001f91: DUP4
00001f92: DUP4
00001f93: JUMPDEST
00001f94: PUSH1 0x20
00001f96: DUP4
00001f97: LT
00001f98: PUSH2 0x1fb2
00001f9b: JUMPI
00001f9c: DUP1
00001f9d: MLOAD
00001f9e: DUP3
00001f9f: MSTORE
00001fa0: PUSH1 0x1f
00001fa2: NOT
00001fa3: SWAP1
00001fa4: SWAP3
00001fa5: ADD
00001fa6: SWAP2
00001fa7: PUSH1 0x20
00001fa9: SWAP2
00001faa: DUP3
00001fab: ADD
00001fac: SWAP2
00001fad: ADD
00001fae: PUSH2 0x1f93
00001fb1: JUMP
00001fb2: JUMPDEST
00001fb3: MLOAD
00001fb4: DUP2
00001fb5: MLOAD
00001fb6: PUSH1 0x00
00001fb8: NOT
00001fb9: PUSH1 0x20
00001fbb: SWAP5
00001fbc: DUP6
00001fbd: SUB
00001fbe: PUSH2 0x0100
00001fc1: EXP
00001fc2: ADD
00001fc3: SWAP1
00001fc4: DUP2
00001fc5: AND
00001fc6: SWAP1
00001fc7: NOT
00001fc8: SWAP2
00001fc9: SWAP1
00001fca: SWAP2
00001fcb: AND
00001fcc: OR
00001fcd: SWAP1
00001fce: MSTORE
00001fcf: PUSH1 0x40
00001fd1: DUP1
00001fd2: MLOAD
00001fd3: SWAP5
00001fd4: SWAP1
00001fd5: SWAP3
00001fd6: ADD
00001fd7: DUP5
00001fd8: SWAP1
00001fd9: SUB
00001fda: SWAP1
00001fdb: SWAP4
00001fdc: KECCAK256
00001fdd: DUP7
00001fde: MSTORE
00001fdf: DUP6
00001fe0: DUP4
00001fe1: ADD
00001fe2: SWAP7
00001fe3: SWAP1
00001fe4: SWAP7
00001fe5: MSTORE
00001fe6: POP
00001fe7: SWAP3
00001fe8: DUP5
00001fe9: ADD
00001fea: PUSH1 0x00
00001fec: KECCAK256
00001fed: SWAP5
00001fee: SWAP1
00001fef: SWAP5
00001ff0: SSTORE
00001ff1: POP
00001ff2: DUP2
00001ff3: MLOAD
00001ff4: DUP5
00001ff5: DUP2
00001ff6: MSTORE
00001ff7: SWAP2
00001ff8: MLOAD
00001ff9: PUSH32 0xad4123ae17c414d9c6d2fec478b402e6b01856cc250fd01fbfd252fda0089d3c
0000201a: SWAP4
0000201b: POP
0000201c: SWAP2
0000201d: DUP3
0000201e: SWAP1
0000201f: SUB
00002020: ADD
00002021: SWAP1
00002022: LOG1
00002023: POP
00002024: JUMP
00002025: JUMPDEST
00002026: PUSH2 0x202d
00002029: PUSH2 0x1a26
0000202c: JUMP
0000202d: JUMPDEST
0000202e: PUSH1 0x01
00002030: PUSH1 0xa0
00002032: PUSH1 0x02
00002034: EXP
00002035: SUB
00002036: AND
00002037: CALLER
00002038: EQ
00002039: PUSH2 0x2041
0000203c: JUMPI
0000203d: PUSH1 0x00
0000203f: DUP1
00002040: REVERT
00002041: JUMPDEST
00002042: PUSH1 0x00
00002044: DUP2
00002045: GT
00002046: PUSH2 0x204e
00002049: JUMPI
0000204a: PUSH1 0x00
0000204c: DUP1
0000204d: REVERT
0000204e: JUMPDEST
0000204f: DUP1
00002050: PUSH1 0x00
00002052: DUP1
00002053: PUSH1 0x40
00002055: MLOAD
00002056: PUSH1 0x20
00002058: ADD
00002059: DUP1
0000205a: DUP1
0000205b: PUSH32 0x6761735072696365000000000000000000000000000000000000000000000000
0000207c: DUP2
0000207d: MSTORE
0000207e: POP
0000207f: PUSH1 0x08
00002081: ADD
00002082: SWAP1
00002083: POP
00002084: PUSH1 0x40
00002086: MLOAD
00002087: PUSH1 0x20
00002089: DUP2
0000208a: DUP4
0000208b: SUB
0000208c: SUB
0000208d: DUP2
0000208e: MSTORE
0000208f: SWAP1
00002090: PUSH1 0x40
00002092: MSTORE
00002093: PUSH1 0x40
00002095: MLOAD
00002096: DUP1
00002097: DUP3
00002098: DUP1
00002099: MLOAD
0000209a: SWAP1
0000209b: PUSH1 0x20
0000209d: ADD
0000209e: SWAP1
0000209f: DUP1
000020a0: DUP4
000020a1: DUP4
000020a2: JUMPDEST
000020a3: PUSH1 0x20
000020a5: DUP4
000020a6: LT
000020a7: PUSH2 0x20c1
000020aa: JUMPI
000020ab: DUP1
000020ac: MLOAD
000020ad: DUP3
000020ae: MSTORE
000020af: PUSH1 0x1f
000020b1: NOT
000020b2: SWAP1
000020b3: SWAP3
000020b4: ADD
000020b5: SWAP2
000020b6: PUSH1 0x20
000020b8: SWAP2
000020b9: DUP3
000020ba: ADD
000020bb: SWAP2
000020bc: ADD
000020bd: PUSH2 0x20a2
000020c0: JUMP
000020c1: JUMPDEST
000020c2: MLOAD
000020c3: DUP2
000020c4: MLOAD
000020c5: PUSH1 0x00
000020c7: NOT
000020c8: PUSH1 0x20
000020ca: SWAP5
000020cb: DUP6
000020cc: SUB
000020cd: PUSH2 0x0100
000020d0: EXP
000020d1: ADD
000020d2: SWAP1
000020d3: DUP2
000020d4: AND
000020d5: SWAP1
000020d6: NOT
000020d7: SWAP2
000020d8: SWAP1
000020d9: SWAP2
000020da: AND
000020db: OR
000020dc: SWAP1
000020dd: MSTORE
000020de: PUSH1 0x40
000020e0: DUP1
000020e1: MLOAD
000020e2: SWAP5
000020e3: SWAP1
000020e4: SWAP3
000020e5: ADD
000020e6: DUP5
000020e7: SWAP1
000020e8: SUB
000020e9: SWAP1
000020ea: SWAP4
000020eb: KECCAK256
000020ec: DUP7
000020ed: MSTORE
000020ee: DUP6
000020ef: DUP4
000020f0: ADD
000020f1: SWAP7
000020f2: SWAP1
000020f3: SWAP7
000020f4: MSTORE
000020f5: POP
000020f6: SWAP3
000020f7: DUP5
000020f8: ADD
000020f9: PUSH1 0x00
000020fb: KECCAK256
000020fc: SWAP5
000020fd: SWAP1
000020fe: SWAP5
000020ff: SSTORE
00002100: POP
00002101: DUP2
00002102: MLOAD
00002103: DUP5
00002104: DUP2
00002105: MSTORE
00002106: SWAP2
00002107: MLOAD
00002108: PUSH32 0x52264b89e0fceafb26e79fd49ef8a366eb6297483bf4035b027f0c99a7ad512e
00002129: SWAP4
0000212a: POP
0000212b: SWAP2
0000212c: DUP3
0000212d: SWAP1
0000212e: SUB
0000212f: ADD
00002130: SWAP1
00002131: LOG1
00002132: POP
00002133: JUMP
00002134: JUMPDEST
00002135: PUSH1 0x00
00002137: PUSH2 0x2710
0000213a: PUSH2 0x1934
0000213d: PUSH2 0x2164
00002140: DUP3
00002141: PUSH2 0x2158
00002144: PUSH2 0x214b
00002147: PUSH2 0x187e
0000214a: JUMP
0000214b: JUMPDEST
0000214c: DUP8
0000214d: SWAP1
0000214e: PUSH4 0xffffffff
00002153: PUSH2 0x2d56
00002156: AND
00002157: JUMP
00002158: JUMPDEST
00002159: SWAP1
0000215a: PUSH4 0xffffffff
0000215f: PUSH2 0x2d81
00002162: AND
00002163: JUMP
00002164: JUMPDEST
00002165: DUP5
00002166: SWAP1
00002167: PUSH4 0xffffffff
0000216c: PUSH2 0x2d98
0000216f: AND
00002170: JUMP
00002171: JUMPDEST
00002172: PUSH2 0x2179
00002175: PUSH2 0x1a26
00002178: JUMP
00002179: JUMPDEST
0000217a: PUSH1 0x01
0000217c: PUSH1 0xa0
0000217e: PUSH1 0x02
00002180: EXP
00002181: SUB
00002182: AND
00002183: CALLER
00002184: EQ
00002185: PUSH2 0x218d
00002188: JUMPI
00002189: PUSH1 0x00
0000218b: DUP1
0000218c: REVERT
0000218d: JUMPDEST
0000218e: PUSH2 0x2195
00002191: PUSH2 0x17bf
00002194: JUMP
00002195: JUMPDEST
00002196: DUP2
00002197: LT
00002198: PUSH2 0x21a0
0000219b: JUMPI
0000219c: PUSH1 0x00
0000219e: DUP1
0000219f: REVERT
000021a0: JUMPDEST
000021a1: DUP1
000021a2: PUSH1 0x00
000021a4: DUP1
000021a5: PUSH1 0x40
000021a7: MLOAD
000021a8: PUSH1 0x20
000021aa: ADD
000021ab: DUP1
000021ac: DUP1
000021ad: PUSH32 0x6d61785065725478000000000000000000000000000000000000000000000000
000021ce: DUP2
000021cf: MSTORE
000021d0: POP
000021d1: PUSH1 0x08
000021d3: ADD
000021d4: SWAP1
000021d5: POP
000021d6: PUSH1 0x40
000021d8: MLOAD
000021d9: PUSH1 0x20
000021db: DUP2
000021dc: DUP4
000021dd: SUB
000021de: SUB
000021df: DUP2
000021e0: MSTORE
000021e1: SWAP1
000021e2: PUSH1 0x40
000021e4: MSTORE
000021e5: PUSH1 0x40
000021e7: MLOAD
000021e8: DUP1
000021e9: DUP3
000021ea: DUP1
000021eb: MLOAD
000021ec: SWAP1
000021ed: PUSH1 0x20
000021ef: ADD
000021f0: SWAP1
000021f1: DUP1
000021f2: DUP4
000021f3: DUP4
000021f4: PUSH1 0x20
000021f6: DUP4
000021f7: LT
000021f8: PUSH2 0x1ca3
000021fb: JUMPI
000021fc: DUP1
000021fd: MLOAD
000021fe: DUP3
000021ff: MSTORE
00002200: PUSH1 0x1f
00002202: NOT
00002203: SWAP1
00002204: SWAP3
00002205: ADD
00002206: SWAP2
00002207: PUSH1 0x20
00002209: SWAP2
0000220a: DUP3
0000220b: ADD
0000220c: SWAP2
0000220d: ADD
0000220e: PUSH2 0x1c84
00002211: JUMP
00002212: JUMPDEST
00002213: PUSH1 0x00
00002215: SWAP3
00002216: SWAP2
00002217: POP
00002218: POP
00002219: JUMP
0000221a: JUMPDEST
0000221b: PUSH1 0x00
0000221d: ADDRESS
0000221e: PUSH1 0x01
00002220: PUSH1 0xa0
00002222: PUSH1 0x02
00002224: EXP
00002225: SUB
00002226: AND
00002227: PUSH4 0x025313a2
0000222c: PUSH1 0x40
0000222e: MLOAD
0000222f: DUP2
00002230: PUSH4 0xffffffff
00002235: AND
00002236: PUSH1 0xe0
00002238: PUSH1 0x02
0000223a: EXP
0000223b: MUL
0000223c: DUP2
0000223d: MSTORE
0000223e: PUSH1 0x04
00002240: ADD
00002241: PUSH1 0x20
00002243: PUSH1 0x40
00002245: MLOAD
00002246: DUP1
00002247: DUP4
00002248: SUB
00002249: DUP2
0000224a: PUSH1 0x00
0000224c: DUP8
0000224d: DUP1
0000224e: EXTCODESIZE
0000224f: ISZERO
00002250: DUP1
00002251: ISZERO
00002252: PUSH2 0x19f5
00002255: JUMPI
00002256: PUSH1 0x00
00002258: DUP1
00002259: REVERT
0000225a: JUMPDEST
0000225b: PUSH1 0x00
0000225d: DUP1
0000225e: PUSH1 0x00
00002260: PUSH1 0x40
00002262: MLOAD
00002263: PUSH1 0x20
00002265: ADD
00002266: DUP1
00002267: DUP1
00002268: PUSH32 0x6d696e5065725478000000000000000000000000000000000000000000000000
00002289: DUP2
0000228a: MSTORE
0000228b: POP
0000228c: PUSH1 0x08
0000228e: ADD
0000228f: SWAP1
00002290: POP
00002291: PUSH1 0x40
00002293: MLOAD
00002294: PUSH1 0x20
00002296: DUP2
00002297: DUP4
00002298: SUB
00002299: SUB
0000229a: DUP2
0000229b: MSTORE
0000229c: SWAP1
0000229d: PUSH1 0x40
0000229f: MSTORE
000022a0: PUSH1 0x40
000022a2: MLOAD
000022a3: DUP1
000022a4: DUP3
000022a5: DUP1
000022a6: MLOAD
000022a7: SWAP1
000022a8: PUSH1 0x20
000022aa: ADD
000022ab: SWAP1
000022ac: DUP1
000022ad: DUP4
000022ae: DUP4
000022af: PUSH1 0x20
000022b1: DUP4
000022b2: LT
000022b3: PUSH2 0x0ea5
000022b6: JUMPI
000022b7: DUP1
000022b8: MLOAD
000022b9: DUP3
000022ba: MSTORE
000022bb: PUSH1 0x1f
000022bd: NOT
000022be: SWAP1
000022bf: SWAP3
000022c0: ADD
000022c1: SWAP2
000022c2: PUSH1 0x20
000022c4: SWAP2
000022c5: DUP3
000022c6: ADD
000022c7: SWAP2
000022c8: ADD
000022c9: PUSH2 0x0e86
000022cc: JUMP
000022cd: JUMPDEST
000022ce: PUSH1 0x00
000022d0: DUP1
000022d1: PUSH2 0x22e4
000022d4: DUP4
000022d5: PUSH2 0x1908
000022d8: PUSH2 0x22df
000022db: PUSH2 0x0e28
000022de: JUMP
000022df: JUMPDEST
000022e0: PUSH2 0x0c42
000022e3: JUMP
000022e4: JUMPDEST
000022e5: SWAP1
000022e6: POP
000022e7: DUP1
000022e8: PUSH2 0x22ef
000022eb: PUSH2 0x17bf
000022ee: JUMP
000022ef: JUMPDEST
000022f0: LT
000022f1: ISZERO
000022f2: DUP1
000022f3: ISZERO
000022f4: PUSH2 0x2304
000022f7: JUMPI
000022f8: POP
000022f9: PUSH2 0x2300
000022fc: PUSH2 0x23f8
000022ff: JUMP
00002300: JUMPDEST
00002301: DUP4
00002302: GT
00002303: ISZERO
00002304: JUMPDEST
00002305: DUP1
00002306: ISZERO
00002307: PUSH2 0x1934
0000230a: JUMPI
0000230b: POP
0000230c: PUSH2 0x2313
0000230f: PUSH2 0x225a
00002312: JUMP
00002313: JUMPDEST
00002314: SWAP1
00002315: SWAP3
00002316: LT
00002317: ISZERO
00002318: SWAP3
00002319: SWAP2
0000231a: POP
0000231b: POP
0000231c: JUMP
0000231d: JUMPDEST
0000231e: PUSH2 0x2325
00002321: PUSH2 0x1a26
00002324: JUMP
00002325: JUMPDEST
00002326: PUSH1 0x01
00002328: PUSH1 0xa0
0000232a: PUSH1 0x02
0000232c: EXP
0000232d: SUB
0000232e: AND
0000232f: CALLER
00002330: EQ
00002331: PUSH2 0x2339
00002334: JUMPI
00002335: PUSH1 0x00
00002337: DUP1
00002338: REVERT
00002339: JUMPDEST
0000233a: PUSH2 0x2341
0000233d: PUSH2 0x0f88
00002340: JUMP
00002341: JUMPDEST
00002342: DUP2
00002343: LT
00002344: PUSH2 0x234c
00002347: JUMPI
00002348: PUSH1 0x00
0000234a: DUP1
0000234b: REVERT
0000234c: JUMPDEST
0000234d: DUP1
0000234e: PUSH1 0x00
00002350: DUP1
00002351: PUSH1 0x40
00002353: MLOAD
00002354: PUSH1 0x20
00002356: ADD
00002357: DUP1
00002358: DUP1
00002359: PUSH32 0x657865637574696f6e4d61785065725478000000000000000000000000000000
0000237a: DUP2
0000237b: MSTORE
0000237c: POP
0000237d: PUSH1 0x11
0000237f: ADD
00002380: SWAP1
00002381: POP
00002382: PUSH1 0x40
00002384: MLOAD
00002385: PUSH1 0x20
00002387: DUP2
00002388: DUP4
00002389: SUB
0000238a: SUB
0000238b: DUP2
0000238c: MSTORE
0000238d: SWAP1
0000238e: PUSH1 0x40
00002390: MSTORE
00002391: PUSH1 0x40
00002393: MLOAD
00002394: DUP1
00002395: DUP3
00002396: DUP1
00002397: MLOAD
00002398: SWAP1
00002399: PUSH1 0x20
0000239b: ADD
0000239c: SWAP1
0000239d: DUP1
0000239e: DUP4
0000239f: DUP4
000023a0: PUSH1 0x20
000023a2: DUP4
000023a3: LT
000023a4: PUSH2 0x1ca3
000023a7: JUMPI
000023a8: DUP1
000023a9: MLOAD
000023aa: DUP3
000023ab: MSTORE
000023ac: PUSH1 0x1f
000023ae: NOT
000023af: SWAP1
000023b0: SWAP3
000023b1: ADD
000023b2: SWAP2
000023b3: PUSH1 0x20
000023b5: SWAP2
000023b6: DUP3
000023b7: ADD
000023b8: SWAP2
000023b9: ADD
000023ba: PUSH2 0x1c84
000023bd: JUMP
000023be: JUMPDEST
000023bf: PUSH2 0x23c6
000023c2: PUSH2 0x1a26
000023c5: JUMP
000023c6: JUMPDEST
000023c7: PUSH1 0x01
000023c9: PUSH1 0xa0
000023cb: PUSH1 0x02
000023cd: EXP
000023ce: SUB
000023cf: AND
000023d0: CALLER
000023d1: EQ
000023d2: PUSH2 0x23da
000023d5: JUMPI
000023d6: PUSH1 0x00
000023d8: DUP1
000023d9: REVERT
000023da: JUMPDEST
000023db: PUSH1 0x01
000023dd: PUSH1 0xa0
000023df: PUSH1 0x02
000023e1: EXP
000023e2: SUB
000023e3: DUP2
000023e4: AND
000023e5: ISZERO
000023e6: ISZERO
000023e7: PUSH2 0x23ef
000023ea: JUMPI
000023eb: PUSH1 0x00
000023ed: DUP1
000023ee: REVERT
000023ef: JUMPDEST
000023f0: PUSH2 0x0c3f
000023f3: DUP2
000023f4: PUSH2 0x2b82
000023f7: JUMP
000023f8: JUMPDEST
000023f9: PUSH1 0x00
000023fb: DUP1
000023fc: PUSH1 0x00
000023fe: PUSH1 0x40
00002400: MLOAD
00002401: PUSH1 0x20
00002403: ADD
00002404: DUP1
00002405: DUP1
00002406: PUSH32 0x6d61785065725478000000000000000000000000000000000000000000000000
00002427: DUP2
00002428: MSTORE
00002429: POP
0000242a: PUSH1 0x08
0000242c: ADD
0000242d: SWAP1
0000242e: POP
0000242f: PUSH1 0x40
00002431: MLOAD
00002432: PUSH1 0x20
00002434: DUP2
00002435: DUP4
00002436: SUB
00002437: SUB
00002438: DUP2
00002439: MSTORE
0000243a: SWAP1
0000243b: PUSH1 0x40
0000243d: MSTORE
0000243e: PUSH1 0x40
00002440: MLOAD
00002441: DUP1
00002442: DUP3
00002443: DUP1
00002444: MLOAD
00002445: SWAP1
00002446: PUSH1 0x20
00002448: ADD
00002449: SWAP1
0000244a: DUP1
0000244b: DUP4
0000244c: DUP4
0000244d: PUSH1 0x20
0000244f: DUP4
00002450: LT
00002451: PUSH2 0x0ea5
00002454: JUMPI
00002455: DUP1
00002456: MLOAD
00002457: DUP3
00002458: MSTORE
00002459: PUSH1 0x1f
0000245b: NOT
0000245c: SWAP1
0000245d: SWAP3
0000245e: ADD
0000245f: SWAP2
00002460: PUSH1 0x20
00002462: SWAP2
00002463: DUP3
00002464: ADD
00002465: SWAP2
00002466: ADD
00002467: PUSH2 0x0e86
0000246a: JUMP
0000246b: JUMPDEST
0000246c: PUSH1 0x00
0000246e: DUP1
0000246f: PUSH1 0x00
00002471: PUSH1 0x40
00002473: MLOAD
00002474: PUSH1 0x20
00002476: ADD
00002477: DUP1
00002478: DUP1
00002479: PUSH32 0x6761735072696365000000000000000000000000000000000000000000000000
0000249a: DUP2
0000249b: MSTORE
0000249c: POP
0000249d: PUSH1 0x08
0000249f: ADD
000024a0: SWAP1
000024a1: POP
000024a2: PUSH1 0x40
000024a4: MLOAD
000024a5: PUSH1 0x20
000024a7: DUP2
000024a8: DUP4
000024a9: SUB
000024aa: SUB
000024ab: DUP2
000024ac: MSTORE
000024ad: SWAP1
000024ae: PUSH1 0x40
000024b0: MSTORE
000024b1: PUSH1 0x40
000024b3: MLOAD
000024b4: DUP1
000024b5: DUP3
000024b6: DUP1
000024b7: MLOAD
000024b8: SWAP1
000024b9: PUSH1 0x20
000024bb: ADD
000024bc: SWAP1
000024bd: DUP1
000024be: DUP4
000024bf: DUP4
000024c0: PUSH1 0x20
000024c2: DUP4
000024c3: LT
000024c4: PUSH2 0x0ea5
000024c7: JUMPI
000024c8: DUP1
000024c9: MLOAD
000024ca: DUP3
000024cb: MSTORE
000024cc: PUSH1 0x1f
000024ce: NOT
000024cf: SWAP1
000024d0: SWAP3
000024d1: ADD
000024d2: SWAP2
000024d3: PUSH1 0x20
000024d5: SWAP2
000024d6: DUP3
000024d7: ADD
000024d8: SWAP2
000024d9: ADD
000024da: PUSH2 0x0e86
000024dd: JUMP
000024de: JUMPDEST
000024df: PUSH1 0x00
000024e1: DUP1
000024e2: PUSH1 0x60
000024e4: PUSH1 0x00
000024e6: DUP1
000024e7: PUSH2 0x24ef
000024ea: DUP11
000024eb: PUSH2 0x2daa
000024ee: JUMP
000024ef: JUMPDEST
000024f0: ISZERO
000024f1: ISZERO
000024f2: PUSH2 0x24fa
000024f5: JUMPI
000024f6: PUSH1 0x00
000024f8: DUP1
000024f9: REVERT
000024fa: JUMPDEST
000024fb: DUP6
000024fc: PUSH1 0x01
000024fe: PUSH1 0xa0
00002500: PUSH1 0x02
00002502: EXP
00002503: SUB
00002504: AND
00002505: PUSH4 0x8d068043
0000250a: PUSH1 0x40
0000250c: MLOAD
0000250d: DUP2
0000250e: PUSH4 0xffffffff
00002513: AND
00002514: PUSH1 0xe0
00002516: PUSH1 0x02
00002518: EXP
00002519: MUL
0000251a: DUP2
0000251b: MSTORE
0000251c: PUSH1 0x04
0000251e: ADD
0000251f: PUSH1 0x20
00002521: PUSH1 0x40
00002523: MLOAD
00002524: DUP1
00002525: DUP4
00002526: SUB
00002527: DUP2
00002528: PUSH1 0x00
0000252a: DUP8
0000252b: DUP1
0000252c: EXTCODESIZE
0000252d: ISZERO
0000252e: DUP1
0000252f: ISZERO
00002530: PUSH2 0x2538
00002533: JUMPI
00002534: PUSH1 0x00
00002536: DUP1
00002537: REVERT
00002538: JUMPDEST
00002539: POP
0000253a: GAS
0000253b: CALL
0000253c: ISZERO
0000253d: DUP1
0000253e: ISZERO
0000253f: PUSH2 0x254c
00002542: JUMPI
00002543: RETURNDATASIZE
00002544: PUSH1 0x00
00002546: DUP1
00002547: RETURNDATACOPY
00002548: RETURNDATASIZE
00002549: PUSH1 0x00
0000254b: REVERT
0000254c: JUMPDEST
0000254d: POP
0000254e: POP
0000254f: POP
00002550: POP
00002551: PUSH1 0x40
00002553: MLOAD
00002554: RETURNDATASIZE
00002555: PUSH1 0x20
00002557: DUP2
00002558: LT
00002559: ISZERO
0000255a: PUSH2 0x2562
0000255d: JUMPI
0000255e: PUSH1 0x00
00002560: DUP1
00002561: REVERT
00002562: JUMPDEST
00002563: POP
00002564: MLOAD
00002565: DUP10
00002566: MLOAD
00002567: SWAP1
00002568: SWAP6
00002569: POP
0000256a: DUP6
0000256b: GT
0000256c: ISZERO
0000256d: PUSH2 0x2575
00002570: JUMPI
00002571: PUSH1 0x00
00002573: DUP1
00002574: REVERT
00002575: JUMPDEST
00002576: PUSH2 0x257e
00002579: DUP11
0000257a: PUSH2 0x2dbe
0000257d: JUMP
0000257e: JUMPDEST
0000257f: SWAP4
00002580: POP
00002581: DUP5
00002582: PUSH1 0x40
00002584: MLOAD
00002585: SWAP1
00002586: DUP1
00002587: DUP3
00002588: MSTORE
00002589: DUP1
0000258a: PUSH1 0x20
0000258c: MUL
0000258d: PUSH1 0x20
0000258f: ADD
00002590: DUP3
00002591: ADD
00002592: PUSH1 0x40
00002594: MSTORE
00002595: DUP1
00002596: ISZERO
00002597: PUSH2 0x25aa
0000259a: JUMPI
0000259b: DUP2
0000259c: PUSH1 0x20
0000259e: ADD
0000259f: PUSH1 0x20
000025a1: DUP3
000025a2: MUL
000025a3: DUP1
000025a4: CODESIZE
000025a5: DUP4
000025a6: CODECOPY
000025a7: ADD
000025a8: SWAP1
000025a9: POP
000025aa: JUMPDEST
000025ab: POP
000025ac: SWAP3
000025ad: POP
000025ae: PUSH1 0x00
000025b0: SWAP2
000025b1: POP
000025b2: JUMPDEST
000025b3: DUP5
000025b4: DUP3
000025b5: LT
000025b6: ISZERO
000025b7: PUSH2 0x273f
000025ba: JUMPI
000025bb: PUSH1 0x01
000025bd: DUP5
000025be: DUP11
000025bf: DUP5
000025c0: DUP2
000025c1: MLOAD
000025c2: DUP2
000025c3: LT
000025c4: ISZERO
000025c5: ISZERO
000025c6: PUSH2 0x25cb
000025c9: JUMPI
000025ca: INVALID
000025cb: JUMPDEST
000025cc: SWAP1
000025cd: PUSH1 0x20
000025cf: ADD
000025d0: SWAP1
000025d1: PUSH1 0x20
000025d3: MUL
000025d4: ADD
000025d5: MLOAD
000025d6: DUP11
000025d7: DUP6
000025d8: DUP2
000025d9: MLOAD
000025da: DUP2
000025db: LT
000025dc: ISZERO
000025dd: ISZERO
000025de: PUSH2 0x25e3
000025e1: JUMPI
000025e2: INVALID
000025e3: JUMPDEST
000025e4: SWAP1
000025e5: PUSH1 0x20
000025e7: ADD
000025e8: SWAP1
000025e9: PUSH1 0x20
000025eb: MUL
000025ec: ADD
000025ed: MLOAD
000025ee: DUP11
000025ef: DUP7
000025f0: DUP2
000025f1: MLOAD
000025f2: DUP2
000025f3: LT
000025f4: ISZERO
000025f5: ISZERO
000025f6: PUSH2 0x25fb
000025f9: JUMPI
000025fa: INVALID
000025fb: JUMPDEST
000025fc: PUSH1 0x20
000025fe: SWAP1
000025ff: DUP2
00002600: MUL
00002601: SWAP1
00002602: SWAP2
00002603: ADD
00002604: DUP2
00002605: ADD
00002606: MLOAD
00002607: PUSH1 0x40
00002609: DUP1
0000260a: MLOAD
0000260b: PUSH1 0x00
0000260d: DUP1
0000260e: DUP3
0000260f: MSTORE
00002610: DUP2
00002611: DUP6
00002612: ADD
00002613: DUP1
00002614: DUP5
00002615: MSTORE
00002616: SWAP8
00002617: SWAP1
00002618: SWAP8
00002619: MSTORE
0000261a: PUSH1 0xff
0000261c: SWAP1
0000261d: SWAP6
0000261e: AND
0000261f: DUP6
00002620: DUP3
00002621: ADD
00002622: MSTORE
00002623: PUSH1 0x60
00002625: DUP6
00002626: ADD
00002627: SWAP4
00002628: SWAP1
00002629: SWAP4
0000262a: MSTORE
0000262b: PUSH1 0x80
0000262d: DUP5
0000262e: ADD
0000262f: MSTORE
00002630: SWAP1
00002631: MLOAD
00002632: PUSH1 0xa0
00002634: DUP1
00002635: DUP5
00002636: ADD
00002637: SWAP5
00002638: SWAP3
00002639: SWAP4
0000263a: PUSH1 0x1f
0000263c: NOT
0000263d: DUP4
0000263e: ADD
0000263f: SWAP4
00002640: SWAP1
00002641: DUP4
00002642: SWAP1
00002643: SUB
00002644: SWAP1
00002645: SWAP2
00002646: ADD
00002647: SWAP2
00002648: SWAP1
00002649: DUP7
0000264a: GAS
0000264b: CALL
0000264c: ISZERO
0000264d: DUP1
0000264e: ISZERO
0000264f: PUSH2 0x265c
00002652: JUMPI
00002653: RETURNDATASIZE
00002654: PUSH1 0x00
00002656: DUP1
00002657: RETURNDATACOPY
00002658: RETURNDATASIZE
00002659: PUSH1 0x00
0000265b: REVERT
0000265c: JUMPDEST
0000265d: POP
0000265e: POP
0000265f: POP
00002660: PUSH1 0x20
00002662: PUSH1 0x40
00002664: MLOAD
00002665: SUB
00002666: MLOAD
00002667: SWAP1
00002668: POP
00002669: DUP6
0000266a: PUSH1 0x01
0000266c: PUSH1 0xa0
0000266e: PUSH1 0x02
00002670: EXP
00002671: SUB
00002672: AND
00002673: PUSH4 0xfacd743b
00002678: DUP3
00002679: PUSH1 0x40
0000267b: MLOAD
0000267c: DUP3
0000267d: PUSH4 0xffffffff
00002682: AND
00002683: PUSH1 0xe0
00002685: PUSH1 0x02
00002687: EXP
00002688: MUL
00002689: DUP2
0000268a: MSTORE
0000268b: PUSH1 0x04
0000268d: ADD
0000268e: DUP1
0000268f: DUP3
00002690: PUSH1 0x01
00002692: PUSH1 0xa0
00002694: PUSH1 0x02
00002696: EXP
00002697: SUB
00002698: AND
00002699: PUSH1 0x01
0000269b: PUSH1 0xa0
0000269d: PUSH1 0x02
0000269f: EXP
000026a0: SUB
000026a1: AND
000026a2: DUP2
000026a3: MSTORE
000026a4: PUSH1 0x20
000026a6: ADD
000026a7: SWAP2
000026a8: POP
000026a9: POP
000026aa: PUSH1 0x20
000026ac: PUSH1 0x40
000026ae: MLOAD
000026af: DUP1
000026b0: DUP4
000026b1: SUB
000026b2: DUP2
000026b3: PUSH1 0x00
000026b5: DUP8
000026b6: DUP1
000026b7: EXTCODESIZE
000026b8: ISZERO
000026b9: DUP1
000026ba: ISZERO
000026bb: PUSH2 0x26c3
000026be: JUMPI
000026bf: PUSH1 0x00
000026c1: DUP1
000026c2: REVERT
000026c3: JUMPDEST
000026c4: POP
000026c5: GAS
000026c6: CALL
000026c7: ISZERO
000026c8: DUP1
000026c9: ISZERO
000026ca: PUSH2 0x26d7
000026cd: JUMPI
000026ce: RETURNDATASIZE
000026cf: PUSH1 0x00
000026d1: DUP1
000026d2: RETURNDATACOPY
000026d3: RETURNDATASIZE
000026d4: PUSH1 0x00
000026d6: REVERT
000026d7: JUMPDEST
000026d8: POP
000026d9: POP
000026da: POP
000026db: POP
000026dc: PUSH1 0x40
000026de: MLOAD
000026df: RETURNDATASIZE
000026e0: PUSH1 0x20
000026e2: DUP2
000026e3: LT
000026e4: ISZERO
000026e5: PUSH2 0x26ed
000026e8: JUMPI
000026e9: PUSH1 0x00
000026eb: DUP1
000026ec: REVERT
000026ed: JUMPDEST
000026ee: POP
000026ef: MLOAD
000026f0: ISZERO
000026f1: ISZERO
000026f2: PUSH2 0x26fa
000026f5: JUMPI
000026f6: PUSH1 0x00
000026f8: DUP1
000026f9: REVERT
000026fa: JUMPDEST
000026fb: PUSH2 0x2704
000026fe: DUP4
000026ff: DUP3
00002700: PUSH2 0x2f83
00002703: JUMP
00002704: JUMPDEST
00002705: ISZERO
00002706: PUSH2 0x270e
00002709: JUMPI
0000270a: PUSH1 0x00
0000270c: DUP1
0000270d: REVERT
0000270e: JUMPDEST
0000270f: DUP1
00002710: DUP4
00002711: DUP4
00002712: DUP2
00002713: MLOAD
00002714: DUP2
00002715: LT
00002716: ISZERO
00002717: ISZERO
00002718: PUSH2 0x271d
0000271b: JUMPI
0000271c: INVALID
0000271d: JUMPDEST
0000271e: PUSH1 0x01
00002720: PUSH1 0xa0
00002722: PUSH1 0x02
00002724: EXP
00002725: SUB
00002726: SWAP1
00002727: SWAP3
00002728: AND
00002729: PUSH1 0x20
0000272b: SWAP3
0000272c: DUP4
0000272d: MUL
0000272e: SWAP1
0000272f: SWAP2
00002730: ADD
00002731: SWAP1
00002732: SWAP2
00002733: ADD
00002734: MSTORE
00002735: PUSH1 0x01
00002737: SWAP1
00002738: SWAP2
00002739: ADD
0000273a: SWAP1
0000273b: PUSH2 0x25b2
0000273e: JUMP
0000273f: JUMPDEST
00002740: POP
00002741: POP
00002742: POP
00002743: POP
00002744: POP
00002745: POP
00002746: POP
00002747: POP
00002748: POP
00002749: POP
0000274a: JUMP
0000274b: JUMPDEST
0000274c: PUSH1 0x00
0000274e: DUP1
0000274f: PUSH1 0x00
00002751: DUP1
00002752: PUSH2 0x275a
00002755: DUP6
00002756: PUSH2 0x2daa
00002759: JUMP
0000275a: JUMPDEST
0000275b: ISZERO
0000275c: ISZERO
0000275d: PUSH2 0x2765
00002760: JUMPI
00002761: PUSH1 0x00
00002763: DUP1
00002764: REVERT
00002765: JUMPDEST
00002766: PUSH1 0x01
00002768: PUSH1 0xa0
0000276a: PUSH1 0x02
0000276c: EXP
0000276d: SUB
0000276e: PUSH1 0x14
00002770: DUP7
00002771: ADD
00002772: MLOAD
00002773: AND
00002774: SWAP4
00002775: POP
00002776: PUSH1 0x34
00002778: DUP6
00002779: ADD
0000277a: MLOAD
0000277b: SWAP3
0000277c: POP
0000277d: PUSH1 0x54
0000277f: DUP6
00002780: ADD
00002781: MLOAD
00002782: SWAP2
00002783: POP
00002784: PUSH1 0x68
00002786: DUP6
00002787: ADD
00002788: MLOAD
00002789: SWAP1
0000278a: POP
0000278b: SWAP2
0000278c: SWAP4
0000278d: POP
0000278e: SWAP2
0000278f: SWAP4
00002790: JUMP
00002791: JUMPDEST
00002792: DUP1
00002793: PUSH1 0x04
00002795: PUSH1 0x00
00002797: DUP5
00002798: PUSH1 0x40
0000279a: MLOAD
0000279b: PUSH1 0x20
0000279d: ADD
0000279e: DUP1
0000279f: DUP1
000027a0: PUSH32 0x72656c617965644d657373616765730000000000000000000000000000000000
000027c1: DUP2
000027c2: MSTORE
000027c3: POP
000027c4: PUSH1 0x0f
000027c6: ADD
000027c7: DUP3
000027c8: PUSH1 0x00
000027ca: NOT
000027cb: AND
000027cc: PUSH1 0x00
000027ce: NOT
000027cf: AND
000027d0: DUP2
000027d1: MSTORE
000027d2: PUSH1 0x20
000027d4: ADD
000027d5: SWAP2
000027d6: POP
000027d7: POP
000027d8: PUSH1 0x40
000027da: MLOAD
000027db: PUSH1 0x20
000027dd: DUP2
000027de: DUP4
000027df: SUB
000027e0: SUB
000027e1: DUP2
000027e2: MSTORE
000027e3: SWAP1
000027e4: PUSH1 0x40
000027e6: MSTORE
000027e7: PUSH1 0x40
000027e9: MLOAD
000027ea: DUP1
000027eb: DUP3
000027ec: DUP1
000027ed: MLOAD
000027ee: SWAP1
000027ef: PUSH1 0x20
000027f1: ADD
000027f2: SWAP1
000027f3: DUP1
000027f4: DUP4
000027f5: DUP4
000027f6: JUMPDEST
000027f7: PUSH1 0x20
000027f9: DUP4
000027fa: LT
000027fb: PUSH2 0x2815
000027fe: JUMPI
000027ff: DUP1
00002800: MLOAD
00002801: DUP3
00002802: MSTORE
00002803: PUSH1 0x1f
00002805: NOT
00002806: SWAP1
00002807: SWAP3
00002808: ADD
00002809: SWAP2
0000280a: PUSH1 0x20
0000280c: SWAP2
0000280d: DUP3
0000280e: ADD
0000280f: SWAP2
00002810: ADD
00002811: PUSH2 0x27f6
00002814: JUMP
00002815: JUMPDEST
00002816: MLOAD
00002817: DUP2
00002818: MLOAD
00002819: PUSH1 0x20
0000281b: SWAP4
0000281c: DUP5
0000281d: SUB
0000281e: PUSH2 0x0100
00002821: EXP
00002822: PUSH1 0x00
00002824: NOT
00002825: ADD
00002826: DUP1
00002827: NOT
00002828: SWAP1
00002829: SWAP3
0000282a: AND
0000282b: SWAP2
0000282c: AND
0000282d: OR
0000282e: SWAP1
0000282f: MSTORE
00002830: PUSH1 0x40
00002832: DUP1
00002833: MLOAD
00002834: SWAP3
00002835: SWAP1
00002836: SWAP5
00002837: ADD
00002838: DUP3
00002839: SWAP1
0000283a: SUB
0000283b: SWAP1
0000283c: SWAP2
0000283d: KECCAK256
0000283e: DUP7
0000283f: MSTORE
00002840: DUP6
00002841: ADD
00002842: SWAP6
00002843: SWAP1
00002844: SWAP6
00002845: MSTORE
00002846: SWAP3
00002847: SWAP1
00002848: SWAP3
00002849: ADD
0000284a: PUSH1 0x00
0000284c: KECCAK256
0000284d: DUP1
0000284e: SLOAD
0000284f: PUSH1 0xff
00002851: NOT
00002852: AND
00002853: SWAP5
00002854: ISZERO
00002855: ISZERO
00002856: SWAP5
00002857: SWAP1
00002858: SWAP5
00002859: OR
0000285a: SWAP1
0000285b: SWAP4
0000285c: SSTORE
0000285d: POP
0000285e: POP
0000285f: POP
00002860: POP
00002861: POP
00002862: JUMP
00002863: JUMPDEST
00002864: PUSH1 0x00
00002866: DUP1
00002867: PUSH2 0x2870
0000286a: DUP5
0000286b: DUP5
0000286c: PUSH2 0x2fdc
0000286f: JUMP
00002870: JUMPDEST
00002871: ISZERO
00002872: ISZERO
00002873: PUSH2 0x29b4
00002876: JUMPI
00002877: PUSH2 0x287e
0000287a: PUSH2 0x0ffb
0000287d: JUMP
0000287e: JUMPDEST
0000287f: SWAP1
00002880: POP
00002881: PUSH1 0x01
00002883: PUSH1 0xa0
00002885: PUSH1 0x02
00002887: EXP
00002888: SUB
00002889: DUP2
0000288a: AND
0000288b: ISZERO
0000288c: ISZERO
0000288d: PUSH2 0x2906
00002890: JUMPI
00002891: PUSH1 0x40
00002893: DUP1
00002894: MLOAD
00002895: PUSH1 0xe5
00002897: PUSH1 0x02
00002899: EXP
0000289a: PUSH3 0x461bcd
0000289e: MUL
0000289f: DUP2
000028a0: MSTORE
000028a1: PUSH1 0x20
000028a3: PUSH1 0x04
000028a5: DUP3
000028a6: ADD
000028a7: MSTORE
000028a8: PUSH1 0x23
000028aa: PUSH1 0x24
000028ac: DUP3
000028ad: ADD
000028ae: MSTORE
000028af: PUSH32 0x66616c6c6261636b20726563697069656e7420776173206e6f74206173736967
000028d0: PUSH1 0x44
000028d2: DUP3
000028d3: ADD
000028d4: MSTORE
000028d5: PUSH32 0x6e65640000000000000000000000000000000000000000000000000000000000
000028f6: PUSH1 0x64
000028f8: DUP3
000028f9: ADD
000028fa: MSTORE
000028fb: SWAP1
000028fc: MLOAD
000028fd: SWAP1
000028fe: DUP2
000028ff: SWAP1
00002900: SUB
00002901: PUSH1 0x84
00002903: ADD
00002904: SWAP1
00002905: REVERT
00002906: JUMPDEST
00002907: PUSH1 0x40
00002909: MLOAD
0000290a: PUSH1 0x01
0000290c: PUSH1 0xa0
0000290e: PUSH1 0x02
00002910: EXP
00002911: SUB
00002912: DUP3
00002913: AND
00002914: SWAP1
00002915: DUP5
00002916: ISZERO
00002917: PUSH2 0x08fc
0000291a: MUL
0000291b: SWAP1
0000291c: DUP6
0000291d: SWAP1
0000291e: PUSH1 0x00
00002920: DUP2
00002921: DUP2
00002922: DUP2
00002923: DUP6
00002924: DUP9
00002925: DUP9
00002926: CALL
00002927: SWAP4
00002928: POP
00002929: POP
0000292a: POP
0000292b: POP
0000292c: ISZERO
0000292d: DUP1
0000292e: ISZERO
0000292f: PUSH2 0x293c
00002932: JUMPI
00002933: RETURNDATASIZE
00002934: PUSH1 0x00
00002936: DUP1
00002937: RETURNDATACOPY
00002938: RETURNDATASIZE
00002939: PUSH1 0x00
0000293b: REVERT
0000293c: JUMPDEST
0000293d: POP
0000293e: DUP1
0000293f: PUSH1 0x01
00002941: PUSH1 0xa0
00002943: PUSH1 0x02
00002945: EXP
00002946: SUB
00002947: AND
00002948: DUP5
00002949: PUSH1 0x01
0000294b: PUSH1 0xa0
0000294d: PUSH1 0x02
0000294f: EXP
00002950: SUB
00002951: AND
00002952: PUSH32 0x4b186bbb80392b9b4a5cdf5f78a4f6ecdb8da0082f37d2cf24a6885e9f61fbbe
00002973: PUSH1 0x40
00002975: MLOAD
00002976: PUSH1 0x40
00002978: MLOAD
00002979: DUP1
0000297a: SWAP2
0000297b: SUB
0000297c: SWAP1
0000297d: LOG3
0000297e: PUSH1 0x40
00002980: DUP1
00002981: MLOAD
00002982: DUP5
00002983: DUP2
00002984: MSTORE
00002985: SWAP1
00002986: MLOAD
00002987: PUSH1 0x01
00002989: PUSH1 0xa0
0000298b: PUSH1 0x02
0000298d: EXP
0000298e: SUB
0000298f: DUP4
00002990: AND
00002991: SWAP2
00002992: ADDRESS
00002993: SWAP2
00002994: PUSH1 0x00
00002996: DUP1
00002997: MLOAD
00002998: PUSH1 0x20
0000299a: PUSH2 0x31cb
0000299d: DUP4
0000299e: CODECOPY
0000299f: DUP2
000029a0: MLOAD
000029a1: SWAP2
000029a2: MSTORE
000029a3: SWAP2
000029a4: DUP2
000029a5: SWAP1
000029a6: SUB
000029a7: PUSH1 0x20
000029a9: ADD
000029aa: SWAP1
000029ab: LOG3
000029ac: PUSH1 0x01
000029ae: SWAP2
000029af: POP
000029b0: PUSH2 0x29e7
000029b3: JUMP
000029b4: JUMPDEST
000029b5: PUSH1 0x40
000029b7: DUP1
000029b8: MLOAD
000029b9: DUP5
000029ba: DUP2
000029bb: MSTORE
000029bc: SWAP1
000029bd: MLOAD
000029be: PUSH1 0x01
000029c0: PUSH1 0xa0
000029c2: PUSH1 0x02
000029c4: EXP
000029c5: SUB
000029c6: DUP7
000029c7: AND
000029c8: SWAP2
000029c9: ADDRESS
000029ca: SWAP2
000029cb: PUSH1 0x00
000029cd: DUP1
000029ce: MLOAD
000029cf: PUSH1 0x20
000029d1: PUSH2 0x31cb
000029d4: DUP4
000029d5: CODECOPY
000029d6: DUP2
000029d7: MLOAD
000029d8: SWAP2
000029d9: MSTORE
000029da: SWAP2
000029db: DUP2
000029dc: SWAP1
000029dd: SUB
000029de: PUSH1 0x20
000029e0: ADD
000029e1: SWAP1
000029e2: LOG3
000029e3: PUSH1 0x01
000029e5: SWAP2
000029e6: POP
000029e7: JUMPDEST
000029e8: POP
000029e9: SWAP3
000029ea: SWAP2
000029eb: POP
000029ec: POP
000029ed: JUMP
000029ee: JUMPDEST
000029ef: PUSH1 0x01
000029f1: PUSH1 0xa0
000029f3: PUSH1 0x02
000029f5: EXP
000029f6: SUB
000029f7: DUP2
000029f8: AND
000029f9: ISZERO
000029fa: ISZERO
000029fb: PUSH2 0x2a03
000029fe: JUMPI
000029ff: PUSH1 0x00
00002a01: DUP1
00002a02: REVERT
00002a03: JUMPDEST
00002a04: DUP1
00002a05: PUSH1 0x02
00002a07: PUSH1 0x00
00002a09: PUSH1 0x40
00002a0b: MLOAD
00002a0c: PUSH1 0x20
00002a0e: ADD
00002a0f: DUP1
00002a10: DUP1
00002a11: PUSH32 0x66616c6c6261636b526563697069656e74000000000000000000000000000000
00002a32: DUP2
00002a33: MSTORE
00002a34: POP
00002a35: PUSH1 0x11
00002a37: ADD
00002a38: SWAP1
00002a39: POP
00002a3a: PUSH1 0x40
00002a3c: MLOAD
00002a3d: PUSH1 0x20
00002a3f: DUP2
00002a40: DUP4
00002a41: SUB
00002a42: SUB
00002a43: DUP2
00002a44: MSTORE
00002a45: SWAP1
00002a46: PUSH1 0x40
00002a48: MSTORE
00002a49: PUSH1 0x40
00002a4b: MLOAD
00002a4c: DUP1
00002a4d: DUP3
00002a4e: DUP1
00002a4f: MLOAD
00002a50: SWAP1
00002a51: PUSH1 0x20
00002a53: ADD
00002a54: SWAP1
00002a55: DUP1
00002a56: DUP4
00002a57: DUP4
00002a58: JUMPDEST
00002a59: PUSH1 0x20
00002a5b: DUP4
00002a5c: LT
00002a5d: PUSH2 0x2a77
00002a60: JUMPI
00002a61: DUP1
00002a62: MLOAD
00002a63: DUP3
00002a64: MSTORE
00002a65: PUSH1 0x1f
00002a67: NOT
00002a68: SWAP1
00002a69: SWAP3
00002a6a: ADD
00002a6b: SWAP2
00002a6c: PUSH1 0x20
00002a6e: SWAP2
00002a6f: DUP3
00002a70: ADD
00002a71: SWAP2
00002a72: ADD
00002a73: PUSH2 0x2a58
00002a76: JUMP
00002a77: JUMPDEST
00002a78: MLOAD
00002a79: DUP2
00002a7a: MLOAD
00002a7b: PUSH1 0x20
00002a7d: SWAP4
00002a7e: DUP5
00002a7f: SUB
00002a80: PUSH2 0x0100
00002a83: EXP
00002a84: PUSH1 0x00
00002a86: NOT
00002a87: ADD
00002a88: DUP1
00002a89: NOT
00002a8a: SWAP1
00002a8b: SWAP3
00002a8c: AND
00002a8d: SWAP2
00002a8e: AND
00002a8f: OR
00002a90: SWAP1
00002a91: MSTORE
00002a92: PUSH1 0x40
00002a94: DUP1
00002a95: MLOAD
00002a96: SWAP3
00002a97: SWAP1
00002a98: SWAP5
00002a99: ADD
00002a9a: DUP3
00002a9b: SWAP1
00002a9c: SUB
00002a9d: SWAP1
00002a9e: SWAP2
00002a9f: KECCAK256
00002aa0: DUP7
00002aa1: MSTORE
00002aa2: DUP6
00002aa3: ADD
00002aa4: SWAP6
00002aa5: SWAP1
00002aa6: SWAP6
00002aa7: MSTORE
00002aa8: SWAP3
00002aa9: SWAP1
00002aaa: SWAP3
00002aab: ADD
00002aac: PUSH1 0x00
00002aae: KECCAK256
00002aaf: DUP1
00002ab0: SLOAD
00002ab1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac6: NOT
00002ac7: AND
00002ac8: PUSH1 0x01
00002aca: PUSH1 0xa0
00002acc: PUSH1 0x02
00002ace: EXP
00002acf: SUB
00002ad0: SWAP6
00002ad1: SWAP1
00002ad2: SWAP6
00002ad3: AND
00002ad4: SWAP5
00002ad5: SWAP1
00002ad6: SWAP5
00002ad7: OR
00002ad8: SWAP1
00002ad9: SWAP4
00002ada: SSTORE
00002adb: POP
00002adc: POP
00002add: POP
00002ade: POP
00002adf: JUMP
00002ae0: JUMPDEST
00002ae1: PUSH1 0x00
00002ae3: SWAP1
00002ae4: EXTCODESIZE
00002ae5: GT
00002ae6: SWAP1
00002ae7: JUMP
00002ae8: JUMPDEST
00002ae9: PUSH1 0x01
00002aeb: PUSH1 0xa0
00002aed: PUSH1 0x02
00002aef: EXP
00002af0: SUB
00002af1: DUP2
00002af2: AND
00002af3: ISZERO
00002af4: DUP1
00002af5: ISZERO
00002af6: SWAP1
00002af7: PUSH2 0x2b04
00002afa: JUMPI
00002afb: POP
00002afc: PUSH2 0x2b04
00002aff: DUP2
00002b00: PUSH2 0x2ae0
00002b03: JUMP
00002b04: JUMPDEST
00002b05: ISZERO
00002b06: ISZERO
00002b07: PUSH2 0x2b0f
00002b0a: JUMPI
00002b0b: PUSH1 0x00
00002b0d: DUP1
00002b0e: REVERT
00002b0f: JUMPDEST
00002b10: DUP1
00002b11: PUSH1 0x02
00002b13: PUSH1 0x00
00002b15: PUSH1 0x40
00002b17: MLOAD
00002b18: PUSH1 0x20
00002b1a: ADD
00002b1b: DUP1
00002b1c: DUP1
00002b1d: PUSH32 0x6572633230746f6b656e00000000000000000000000000000000000000000000
00002b3e: DUP2
00002b3f: MSTORE
00002b40: POP
00002b41: PUSH1 0x0a
00002b43: ADD
00002b44: SWAP1
00002b45: POP
00002b46: PUSH1 0x40
00002b48: MLOAD
00002b49: PUSH1 0x20
00002b4b: DUP2
00002b4c: DUP4
00002b4d: SUB
00002b4e: SUB
00002b4f: DUP2
00002b50: MSTORE
00002b51: SWAP1
00002b52: PUSH1 0x40
00002b54: MSTORE
00002b55: PUSH1 0x40
00002b57: MLOAD
00002b58: DUP1
00002b59: DUP3
00002b5a: DUP1
00002b5b: MLOAD
00002b5c: SWAP1
00002b5d: PUSH1 0x20
00002b5f: ADD
00002b60: SWAP1
00002b61: DUP1
00002b62: DUP4
00002b63: DUP4
00002b64: PUSH1 0x20
00002b66: DUP4
00002b67: LT
00002b68: PUSH2 0x2a77
00002b6b: JUMPI
00002b6c: DUP1
00002b6d: MLOAD
00002b6e: DUP3
00002b6f: MSTORE
00002b70: PUSH1 0x1f
00002b72: NOT
00002b73: SWAP1
00002b74: SWAP3
00002b75: ADD
00002b76: SWAP2
00002b77: PUSH1 0x20
00002b79: SWAP2
00002b7a: DUP3
00002b7b: ADD
00002b7c: SWAP2
00002b7d: ADD
00002b7e: PUSH2 0x2a58
00002b81: JUMP
00002b82: JUMPDEST
00002b83: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002ba4: PUSH2 0x2bab
00002ba7: PUSH2 0x1a26
00002baa: JUMP
00002bab: JUMPDEST
00002bac: PUSH1 0x40
00002bae: DUP1
00002baf: MLOAD
00002bb0: PUSH1 0x01
00002bb2: PUSH1 0xa0
00002bb4: PUSH1 0x02
00002bb6: EXP
00002bb7: SUB
00002bb8: SWAP3
00002bb9: DUP4
00002bba: AND
00002bbb: DUP2
00002bbc: MSTORE
00002bbd: SWAP2
00002bbe: DUP5
00002bbf: AND
00002bc0: PUSH1 0x20
00002bc2: DUP4
00002bc3: ADD
00002bc4: MSTORE
00002bc5: DUP1
00002bc6: MLOAD
00002bc7: SWAP2
00002bc8: DUP3
00002bc9: SWAP1
00002bca: SUB
00002bcb: ADD
00002bcc: SWAP1
00002bcd: LOG1
00002bce: DUP1
00002bcf: PUSH1 0x02
00002bd1: PUSH1 0x00
00002bd3: PUSH1 0x40
00002bd5: MLOAD
00002bd6: PUSH1 0x20
00002bd8: ADD
00002bd9: DUP1
00002bda: DUP1
00002bdb: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000
00002bfc: DUP2
00002bfd: MSTORE
00002bfe: POP
00002bff: PUSH1 0x05
00002c01: ADD
00002c02: SWAP1
00002c03: POP
00002c04: PUSH1 0x40
00002c06: MLOAD
00002c07: PUSH1 0x20
00002c09: DUP2
00002c0a: DUP4
00002c0b: SUB
00002c0c: SUB
00002c0d: DUP2
00002c0e: MSTORE
00002c0f: SWAP1
00002c10: PUSH1 0x40
00002c12: MSTORE
00002c13: PUSH1 0x40
00002c15: MLOAD
00002c16: DUP1
00002c17: DUP3
00002c18: DUP1
00002c19: MLOAD
00002c1a: SWAP1
00002c1b: PUSH1 0x20
00002c1d: ADD
00002c1e: SWAP1
00002c1f: DUP1
00002c20: DUP4
00002c21: DUP4
00002c22: PUSH1 0x20
00002c24: DUP4
00002c25: LT
00002c26: PUSH2 0x2a77
00002c29: JUMPI
00002c2a: DUP1
00002c2b: MLOAD
00002c2c: DUP3
00002c2d: MSTORE
00002c2e: PUSH1 0x1f
00002c30: NOT
00002c31: SWAP1
00002c32: SWAP3
00002c33: ADD
00002c34: SWAP2
00002c35: PUSH1 0x20
00002c37: SWAP2
00002c38: DUP3
00002c39: ADD
00002c3a: SWAP2
00002c3b: ADD
00002c3c: PUSH2 0x2a58
00002c3f: JUMP
00002c40: JUMPDEST
00002c41: DUP1
00002c42: PUSH1 0x04
00002c44: PUSH1 0x00
00002c46: PUSH1 0x40
00002c48: MLOAD
00002c49: PUSH1 0x20
00002c4b: ADD
00002c4c: DUP1
00002c4d: DUP1
00002c4e: PUSH32 0x6973496e697469616c697a656400000000000000000000000000000000000000
00002c6f: DUP2
00002c70: MSTORE
00002c71: POP
00002c72: PUSH1 0x0d
00002c74: ADD
00002c75: SWAP1
00002c76: POP
00002c77: PUSH1 0x40
00002c79: MLOAD
00002c7a: PUSH1 0x20
00002c7c: DUP2
00002c7d: DUP4
00002c7e: SUB
00002c7f: SUB
00002c80: DUP2
00002c81: MSTORE
00002c82: SWAP1
00002c83: PUSH1 0x40
00002c85: MSTORE
00002c86: PUSH1 0x40
00002c88: MLOAD
00002c89: DUP1
00002c8a: DUP3
00002c8b: DUP1
00002c8c: MLOAD
00002c8d: SWAP1
00002c8e: PUSH1 0x20
00002c90: ADD
00002c91: SWAP1
00002c92: DUP1
00002c93: DUP4
00002c94: DUP4
00002c95: JUMPDEST
00002c96: PUSH1 0x20
00002c98: DUP4
00002c99: LT
00002c9a: PUSH2 0x2cb4
00002c9d: JUMPI
00002c9e: DUP1
00002c9f: MLOAD
00002ca0: DUP3
00002ca1: MSTORE
00002ca2: PUSH1 0x1f
00002ca4: NOT
00002ca5: SWAP1
00002ca6: SWAP3
00002ca7: ADD
00002ca8: SWAP2
00002ca9: PUSH1 0x20
00002cab: SWAP2
00002cac: DUP3
00002cad: ADD
00002cae: SWAP2
00002caf: ADD
00002cb0: PUSH2 0x2c95
00002cb3: JUMP
00002cb4: JUMPDEST
00002cb5: MLOAD
00002cb6: DUP2
00002cb7: MLOAD
00002cb8: PUSH1 0x20
00002cba: SWAP4
00002cbb: DUP5
00002cbc: SUB
00002cbd: PUSH2 0x0100
00002cc0: EXP
00002cc1: PUSH1 0x00
00002cc3: NOT
00002cc4: ADD
00002cc5: DUP1
00002cc6: NOT
00002cc7: SWAP1
00002cc8: SWAP3
00002cc9: AND
00002cca: SWAP2
00002ccb: AND
00002ccc: OR
00002ccd: SWAP1
00002cce: MSTORE
00002ccf: PUSH1 0x40
00002cd1: DUP1
00002cd2: MLOAD
00002cd3: SWAP3
00002cd4: SWAP1
00002cd5: SWAP5
00002cd6: ADD
00002cd7: DUP3
00002cd8: SWAP1
00002cd9: SUB
00002cda: SWAP1
00002cdb: SWAP2
00002cdc: KECCAK256
00002cdd: DUP7
00002cde: MSTORE
00002cdf: DUP6
00002ce0: ADD
00002ce1: SWAP6
00002ce2: SWAP1
00002ce3: SWAP6
00002ce4: MSTORE
00002ce5: SWAP3
00002ce6: SWAP1
00002ce7: SWAP3
00002ce8: ADD
00002ce9: PUSH1 0x00
00002ceb: KECCAK256
00002cec: DUP1
00002ced: SLOAD
00002cee: PUSH1 0xff
00002cf0: NOT
00002cf1: AND
00002cf2: SWAP5
00002cf3: ISZERO
00002cf4: ISZERO
00002cf5: SWAP5
00002cf6: SWAP1
00002cf7: SWAP5
00002cf8: OR
00002cf9: SWAP1
00002cfa: SWAP4
00002cfb: SSTORE
00002cfc: POP
00002cfd: POP
00002cfe: POP
00002cff: POP
00002d00: JUMP
00002d01: JUMPDEST
00002d02: PUSH2 0x2d09
00002d05: PUSH2 0x221a
00002d08: JUMP
00002d09: JUMPDEST
00002d0a: PUSH1 0x01
00002d0c: PUSH1 0xa0
00002d0e: PUSH1 0x02
00002d10: EXP
00002d11: SUB
00002d12: AND
00002d13: CALLER
00002d14: EQ
00002d15: PUSH2 0x2d1d
00002d18: JUMPI
00002d19: PUSH1 0x00
00002d1b: DUP1
00002d1c: REVERT
00002d1d: JUMPDEST
00002d1e: PUSH2 0x2d25
00002d21: PUSH2 0x0919
00002d24: JUMP
00002d25: JUMPDEST
00002d26: PUSH1 0x01
00002d28: PUSH1 0xa0
00002d2a: PUSH1 0x02
00002d2c: EXP
00002d2d: SUB
00002d2e: DUP4
00002d2f: DUP2
00002d30: AND
00002d31: SWAP2
00002d32: AND
00002d33: EQ
00002d34: ISZERO
00002d35: PUSH2 0x2d3d
00002d38: JUMPI
00002d39: PUSH1 0x00
00002d3b: DUP1
00002d3c: REVERT
00002d3d: JUMPDEST
00002d3e: PUSH2 0x186d
00002d41: DUP3
00002d42: DUP3
00002d43: PUSH2 0x3009
00002d46: JUMP
00002d47: JUMPDEST
00002d48: PUSH1 0x00
00002d4a: DUP3
00002d4b: DUP3
00002d4c: ADD
00002d4d: DUP4
00002d4e: DUP2
00002d4f: LT
00002d50: ISZERO
00002d51: PUSH2 0x1934
00002d54: JUMPI
00002d55: INVALID
00002d56: JUMPDEST
00002d57: PUSH1 0x00
00002d59: DUP1
00002d5a: DUP4
00002d5b: ISZERO
00002d5c: ISZERO
00002d5d: PUSH2 0x2d69
00002d60: JUMPI
00002d61: PUSH1 0x00
00002d63: SWAP2
00002d64: POP
00002d65: PUSH2 0x29e7
00002d68: JUMP
00002d69: JUMPDEST
00002d6a: POP
00002d6b: DUP3
00002d6c: DUP3
00002d6d: MUL
00002d6e: DUP3
00002d6f: DUP5
00002d70: DUP3
00002d71: DUP2
00002d72: ISZERO
00002d73: ISZERO
00002d74: PUSH2 0x2d79
00002d77: JUMPI
00002d78: INVALID
00002d79: JUMPDEST
00002d7a: DIV
00002d7b: EQ
00002d7c: PUSH2 0x1934
00002d7f: JUMPI
00002d80: INVALID
00002d81: JUMPDEST
00002d82: PUSH1 0x00
00002d84: DUP1
00002d85: DUP3
00002d86: DUP5
00002d87: DUP2
00002d88: ISZERO
00002d89: ISZERO
00002d8a: PUSH2 0x2d8f
00002d8d: JUMPI
00002d8e: INVALID
00002d8f: JUMPDEST
00002d90: DIV
00002d91: SWAP5
00002d92: SWAP4
00002d93: POP
00002d94: POP
00002d95: POP
00002d96: POP
00002d97: JUMP
00002d98: JUMPDEST
00002d99: PUSH1 0x00
00002d9b: DUP3
00002d9c: DUP3
00002d9d: GT
00002d9e: ISZERO
00002d9f: PUSH2 0x2da4
00002da2: JUMPI
00002da3: INVALID
00002da4: JUMPDEST
00002da5: POP
00002da6: SWAP1
00002da7: SUB
00002da8: SWAP1
00002da9: JUMP
00002daa: JUMPDEST
00002dab: PUSH1 0x00
00002dad: PUSH2 0x2db4
00002db0: PUSH2 0x31c5
00002db3: JUMP
00002db4: JUMPDEST
00002db5: DUP3
00002db6: MLOAD
00002db7: EQ
00002db8: SWAP1
00002db9: POP
00002dba: SWAP2
00002dbb: SWAP1
00002dbc: POP
00002dbd: JUMP
00002dbe: JUMPDEST
00002dbf: PUSH1 0x40
00002dc1: DUP1
00002dc2: MLOAD
00002dc3: DUP1
00002dc4: DUP3
00002dc5: ADD
00002dc6: DUP3
00002dc7: MSTORE
00002dc8: PUSH1 0x1a
00002dca: DUP2
00002dcb: MSTORE
00002dcc: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a000000000000
00002ded: PUSH1 0x20
00002def: DUP1
00002df0: DUP4
00002df1: ADD
00002df2: SWAP2
00002df3: DUP3
00002df4: MSTORE
00002df5: DUP4
00002df6: MLOAD
00002df7: DUP1
00002df8: DUP6
00002df9: ADD
00002dfa: DUP6
00002dfb: MSTORE
00002dfc: PUSH1 0x03
00002dfe: DUP2
00002dff: MSTORE
00002e00: PUSH32 0x3130340000000000000000000000000000000000000000000000000000000000
00002e21: DUP2
00002e22: DUP4
00002e23: ADD
00002e24: MSTORE
00002e25: SWAP4
00002e26: MLOAD
00002e27: DUP4
00002e28: MLOAD
00002e29: PUSH1 0x00
00002e2b: SWAP6
00002e2c: SWAP4
00002e2d: DUP6
00002e2e: SWAP4
00002e2f: DUP6
00002e30: SWAP4
00002e31: DUP10
00002e32: SWAP4
00002e33: SWAP2
00002e34: ADD
00002e35: SWAP2
00002e36: DUP3
00002e37: SWAP2
00002e38: DUP1
00002e39: DUP4
00002e3a: DUP4
00002e3b: JUMPDEST
00002e3c: PUSH1 0x20
00002e3e: DUP4
00002e3f: LT
00002e40: PUSH2 0x2e5a
00002e43: JUMPI
00002e44: DUP1
00002e45: MLOAD
00002e46: DUP3
00002e47: MSTORE
00002e48: PUSH1 0x1f
00002e4a: NOT
00002e4b: SWAP1
00002e4c: SWAP3
00002e4d: ADD
00002e4e: SWAP2
00002e4f: PUSH1 0x20
00002e51: SWAP2
00002e52: DUP3
00002e53: ADD
00002e54: SWAP2
00002e55: ADD
00002e56: PUSH2 0x2e3b
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: MLOAD
00002e5c: DUP2
00002e5d: MLOAD
00002e5e: PUSH1 0x20
00002e60: SWAP4
00002e61: DUP5
00002e62: SUB
00002e63: PUSH2 0x0100
00002e66: EXP
00002e67: PUSH1 0x00
00002e69: NOT
00002e6a: ADD
00002e6b: DUP1
00002e6c: NOT
00002e6d: SWAP1
00002e6e: SWAP3
00002e6f: AND
00002e70: SWAP2
00002e71: AND
00002e72: OR
00002e73: SWAP1
00002e74: MSTORE
00002e75: DUP7
00002e76: MLOAD
00002e77: SWAP2
00002e78: SWAP1
00002e79: SWAP4
00002e7a: ADD
00002e7b: SWAP3
00002e7c: DUP7
00002e7d: ADD
00002e7e: SWAP2
00002e7f: POP
00002e80: DUP1
00002e81: DUP4
00002e82: DUP4
00002e83: JUMPDEST
00002e84: PUSH1 0x20
00002e86: DUP4
00002e87: LT
00002e88: PUSH2 0x2ea2
00002e8b: JUMPI
00002e8c: DUP1
00002e8d: MLOAD
00002e8e: DUP3
00002e8f: MSTORE
00002e90: PUSH1 0x1f
00002e92: NOT
00002e93: SWAP1
00002e94: SWAP3
00002e95: ADD
00002e96: SWAP2
00002e97: PUSH1 0x20
00002e99: SWAP2
00002e9a: DUP3
00002e9b: ADD
00002e9c: SWAP2
00002e9d: ADD
00002e9e: PUSH2 0x2e83
00002ea1: JUMP
00002ea2: JUMPDEST
00002ea3: MLOAD
00002ea4: DUP2
00002ea5: MLOAD
00002ea6: PUSH1 0x20
00002ea8: SWAP4
00002ea9: DUP5
00002eaa: SUB
00002eab: PUSH2 0x0100
00002eae: EXP
00002eaf: PUSH1 0x00
00002eb1: NOT
00002eb2: ADD
00002eb3: DUP1
00002eb4: NOT
00002eb5: SWAP1
00002eb6: SWAP3
00002eb7: AND
00002eb8: SWAP2
00002eb9: AND
00002eba: OR
00002ebb: SWAP1
00002ebc: MSTORE
00002ebd: DUP6
00002ebe: MLOAD
00002ebf: SWAP2
00002ec0: SWAP1
00002ec1: SWAP4
00002ec2: ADD
00002ec3: SWAP3
00002ec4: DUP6
00002ec5: ADD
00002ec6: SWAP2
00002ec7: POP
00002ec8: DUP1
00002ec9: DUP4
00002eca: DUP4
00002ecb: JUMPDEST
00002ecc: PUSH1 0x20
00002ece: DUP4
00002ecf: LT
00002ed0: PUSH2 0x2eea
00002ed3: JUMPI
00002ed4: DUP1
00002ed5: MLOAD
00002ed6: DUP3
00002ed7: MSTORE
00002ed8: PUSH1 0x1f
00002eda: NOT
00002edb: SWAP1
00002edc: SWAP3
00002edd: ADD
00002ede: SWAP2
00002edf: PUSH1 0x20
00002ee1: SWAP2
00002ee2: DUP3
00002ee3: ADD
00002ee4: SWAP2
00002ee5: ADD
00002ee6: PUSH2 0x2ecb
00002ee9: JUMP
00002eea: JUMPDEST
00002eeb: PUSH1 0x01
00002eed: DUP4
00002eee: PUSH1 0x20
00002ef0: SUB
00002ef1: PUSH2 0x0100
00002ef4: EXP
00002ef5: SUB
00002ef6: DUP1
00002ef7: NOT
00002ef8: DUP3
00002ef9: MLOAD
00002efa: AND
00002efb: DUP2
00002efc: DUP5
00002efd: MLOAD
00002efe: AND
00002eff: DUP1
00002f00: DUP3
00002f01: OR
00002f02: DUP6
00002f03: MSTORE
00002f04: POP
00002f05: POP
00002f06: POP
00002f07: POP
00002f08: POP
00002f09: POP
00002f0a: SWAP1
00002f0b: POP
00002f0c: ADD
00002f0d: SWAP4
00002f0e: POP
00002f0f: POP
00002f10: POP
00002f11: POP
00002f12: PUSH1 0x40
00002f14: MLOAD
00002f15: PUSH1 0x20
00002f17: DUP2
00002f18: DUP4
00002f19: SUB
00002f1a: SUB
00002f1b: DUP2
00002f1c: MSTORE
00002f1d: SWAP1
00002f1e: PUSH1 0x40
00002f20: MSTORE
00002f21: PUSH1 0x40
00002f23: MLOAD
00002f24: DUP1
00002f25: DUP3
00002f26: DUP1
00002f27: MLOAD
00002f28: SWAP1
00002f29: PUSH1 0x20
00002f2b: ADD
00002f2c: SWAP1
00002f2d: DUP1
00002f2e: DUP4
00002f2f: DUP4
00002f30: JUMPDEST
00002f31: PUSH1 0x20
00002f33: DUP4
00002f34: LT
00002f35: PUSH2 0x2f4f
00002f38: JUMPI
00002f39: DUP1
00002f3a: MLOAD
00002f3b: DUP3
00002f3c: MSTORE
00002f3d: PUSH1 0x1f
00002f3f: NOT
00002f40: SWAP1
00002f41: SWAP3
00002f42: ADD
00002f43: SWAP2
00002f44: PUSH1 0x20
00002f46: SWAP2
00002f47: DUP3
00002f48: ADD
00002f49: SWAP2
00002f4a: ADD
00002f4b: PUSH2 0x2f30
00002f4e: JUMP
00002f4f: JUMPDEST
00002f50: MLOAD
00002f51: DUP2
00002f52: MLOAD
00002f53: PUSH1 0x20
00002f55: SWAP4
00002f56: SWAP1
00002f57: SWAP4
00002f58: SUB
00002f59: PUSH2 0x0100
00002f5c: EXP
00002f5d: PUSH1 0x00
00002f5f: NOT
00002f60: ADD
00002f61: DUP1
00002f62: NOT
00002f63: SWAP1
00002f64: SWAP2
00002f65: AND
00002f66: SWAP3
00002f67: AND
00002f68: SWAP2
00002f69: SWAP1
00002f6a: SWAP2
00002f6b: OR
00002f6c: SWAP1
00002f6d: MSTORE
00002f6e: PUSH1 0x40
00002f70: MLOAD
00002f71: SWAP3
00002f72: ADD
00002f73: DUP3
00002f74: SWAP1
00002f75: SUB
00002f76: SWAP1
00002f77: SWAP2
00002f78: KECCAK256
00002f79: SWAP8
00002f7a: SWAP7
00002f7b: POP
00002f7c: POP
00002f7d: POP
00002f7e: POP
00002f7f: POP
00002f80: POP
00002f81: POP
00002f82: JUMP
00002f83: JUMPDEST
00002f84: PUSH1 0x00
00002f86: DUP1
00002f87: JUMPDEST
00002f88: DUP4
00002f89: MLOAD
00002f8a: DUP2
00002f8b: LT
00002f8c: ISZERO
00002f8d: PUSH2 0x2fd2
00002f90: JUMPI
00002f91: DUP3
00002f92: PUSH1 0x01
00002f94: PUSH1 0xa0
00002f96: PUSH1 0x02
00002f98: EXP
00002f99: SUB
00002f9a: AND
00002f9b: DUP5
00002f9c: DUP3
00002f9d: DUP2
00002f9e: MLOAD
00002f9f: DUP2
00002fa0: LT
00002fa1: ISZERO
00002fa2: ISZERO
00002fa3: PUSH2 0x2fa8
00002fa6: JUMPI
00002fa7: INVALID
00002fa8: JUMPDEST
00002fa9: SWAP1
00002faa: PUSH1 0x20
00002fac: ADD
00002fad: SWAP1
00002fae: PUSH1 0x20
00002fb0: MUL
00002fb1: ADD
00002fb2: MLOAD
00002fb3: PUSH1 0x01
00002fb5: PUSH1 0xa0
00002fb7: PUSH1 0x02
00002fb9: EXP
00002fba: SUB
00002fbb: AND
00002fbc: EQ
00002fbd: ISZERO
00002fbe: PUSH2 0x2fca
00002fc1: JUMPI
00002fc2: PUSH1 0x01
00002fc4: SWAP2
00002fc5: POP
00002fc6: PUSH2 0x29e7
00002fc9: JUMP
00002fca: JUMPDEST
00002fcb: PUSH1 0x01
00002fcd: ADD
00002fce: PUSH2 0x2f87
00002fd1: JUMP
00002fd2: JUMPDEST
00002fd3: POP
00002fd4: PUSH1 0x00
00002fd6: SWAP4
00002fd7: SWAP3
00002fd8: POP
00002fd9: POP
00002fda: POP
00002fdb: JUMP
00002fdc: JUMPDEST
00002fdd: PUSH1 0x40
00002fdf: MLOAD
00002fe0: PUSH1 0x00
00002fe2: SWAP1
00002fe3: PUSH1 0x01
00002fe5: PUSH1 0xa0
00002fe7: PUSH1 0x02
00002fe9: EXP
00002fea: SUB
00002feb: DUP5
00002fec: AND
00002fed: SWAP1
00002fee: DUP4
00002fef: ISZERO
00002ff0: PUSH2 0x08fc
00002ff3: MUL
00002ff4: SWAP1
00002ff5: DUP5
00002ff6: SWAP1
00002ff7: DUP5
00002ff8: DUP2
00002ff9: DUP2
00002ffa: DUP2
00002ffb: DUP6
00002ffc: DUP9
00002ffd: DUP9
00002ffe: CALL
00002fff: SWAP8
00003000: SWAP7
00003001: POP
00003002: POP
00003003: POP
00003004: POP
00003005: POP
00003006: POP
00003007: POP
00003008: JUMP
00003009: JUMPDEST
0000300a: PUSH1 0x00
0000300c: DUP1
0000300d: PUSH2 0x3014
00003010: PUSH2 0x221a
00003013: JUMP
00003014: JUMPDEST
00003015: PUSH1 0x01
00003017: PUSH1 0xa0
00003019: PUSH1 0x02
0000301b: EXP
0000301c: SUB
0000301d: AND
0000301e: CALLER
0000301f: EQ
00003020: PUSH2 0x3028
00003023: JUMPI
00003024: PUSH1 0x00
00003026: DUP1
00003027: REVERT
00003028: JUMPDEST
00003029: PUSH1 0x01
0000302b: PUSH1 0xa0
0000302d: PUSH1 0x02
0000302f: EXP
00003030: SUB
00003031: DUP4
00003032: AND
00003033: ISZERO
00003034: ISZERO
00003035: PUSH2 0x303d
00003038: JUMPI
00003039: PUSH1 0x00
0000303b: DUP1
0000303c: REVERT
0000303d: JUMPDEST
0000303e: PUSH1 0x01
00003040: PUSH1 0xa0
00003042: PUSH1 0x02
00003044: EXP
00003045: SUB
00003046: DUP5
00003047: AND
00003048: ISZERO
00003049: ISZERO
0000304a: PUSH2 0x3089
0000304d: JUMPI
0000304e: PUSH1 0x40
00003050: MLOAD
00003051: PUSH1 0x01
00003053: PUSH1 0xa0
00003055: PUSH1 0x02
00003057: EXP
00003058: SUB
00003059: DUP5
0000305a: AND
0000305b: SWAP1
0000305c: ADDRESS
0000305d: BALANCE
0000305e: DUP1
0000305f: ISZERO
00003060: PUSH2 0x08fc
00003063: MUL
00003064: SWAP2
00003065: PUSH1 0x00
00003067: DUP2
00003068: DUP2
00003069: DUP2
0000306a: DUP6
0000306b: DUP9
0000306c: DUP9
0000306d: CALL
0000306e: SWAP4
0000306f: POP
00003070: POP
00003071: POP
00003072: POP
00003073: ISZERO
00003074: DUP1
00003075: ISZERO
00003076: PUSH2 0x3083
00003079: JUMPI
0000307a: RETURNDATASIZE
0000307b: PUSH1 0x00
0000307d: DUP1
0000307e: RETURNDATACOPY
0000307f: RETURNDATASIZE
00003080: PUSH1 0x00
00003082: REVERT
00003083: JUMPDEST
00003084: POP
00003085: PUSH2 0x31bf
00003088: JUMP
00003089: JUMPDEST
0000308a: PUSH1 0x40
0000308c: DUP1
0000308d: MLOAD
0000308e: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000030af: DUP2
000030b0: MSTORE
000030b1: ADDRESS
000030b2: PUSH1 0x04
000030b4: DUP3
000030b5: ADD
000030b6: MSTORE
000030b7: SWAP1
000030b8: MLOAD
000030b9: DUP6
000030ba: SWAP4
000030bb: POP
000030bc: PUSH1 0x01
000030be: PUSH1 0xa0
000030c0: PUSH1 0x02
000030c2: EXP
000030c3: SUB
000030c4: DUP5
000030c5: AND
000030c6: SWAP2
000030c7: PUSH4 0x70a08231
000030cc: SWAP2
000030cd: PUSH1 0x24
000030cf: DUP1
000030d0: DUP4
000030d1: ADD
000030d2: SWAP3
000030d3: PUSH1 0x20
000030d5: SWAP3
000030d6: SWAP2
000030d7: SWAP1
000030d8: DUP3
000030d9: SWAP1
000030da: SUB
000030db: ADD
000030dc: DUP2
000030dd: PUSH1 0x00
000030df: DUP8
000030e0: DUP1
000030e1: EXTCODESIZE
000030e2: ISZERO
000030e3: DUP1
000030e4: ISZERO
000030e5: PUSH2 0x30ed
000030e8: JUMPI
000030e9: PUSH1 0x00
000030eb: DUP1
000030ec: REVERT
000030ed: JUMPDEST
000030ee: POP
000030ef: GAS
000030f0: CALL
000030f1: ISZERO
000030f2: DUP1
000030f3: ISZERO
000030f4: PUSH2 0x3101
000030f7: JUMPI
000030f8: RETURNDATASIZE
000030f9: PUSH1 0x00
000030fb: DUP1
000030fc: RETURNDATACOPY
000030fd: RETURNDATASIZE
000030fe: PUSH1 0x00
00003100: REVERT
00003101: JUMPDEST
00003102: POP
00003103: POP
00003104: POP
00003105: POP
00003106: PUSH1 0x40
00003108: MLOAD
00003109: RETURNDATASIZE
0000310a: PUSH1 0x20
0000310c: DUP2
0000310d: LT
0000310e: ISZERO
0000310f: PUSH2 0x3117
00003112: JUMPI
00003113: PUSH1 0x00
00003115: DUP1
00003116: REVERT
00003117: JUMPDEST
00003118: POP
00003119: MLOAD
0000311a: PUSH1 0x40
0000311c: DUP1
0000311d: MLOAD
0000311e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000313f: DUP2
00003140: MSTORE
00003141: PUSH1 0x01
00003143: PUSH1 0xa0
00003145: PUSH1 0x02
00003147: EXP
00003148: SUB
00003149: DUP7
0000314a: DUP2
0000314b: AND
0000314c: PUSH1 0x04
0000314e: DUP4
0000314f: ADD
00003150: MSTORE
00003151: PUSH1 0x24
00003153: DUP3
00003154: ADD
00003155: DUP5
00003156: SWAP1
00003157: MSTORE
00003158: SWAP2
00003159: MLOAD
0000315a: SWAP3
0000315b: SWAP4
0000315c: POP
0000315d: SWAP1
0000315e: DUP5
0000315f: AND
00003160: SWAP2
00003161: PUSH4 0xa9059cbb
00003166: SWAP2
00003167: PUSH1 0x44
00003169: DUP1
0000316a: DUP3
0000316b: ADD
0000316c: SWAP3
0000316d: PUSH1 0x20
0000316f: SWAP3
00003170: SWAP1
00003171: SWAP2
00003172: SWAP1
00003173: DUP3
00003174: SWAP1
00003175: SUB
00003176: ADD
00003177: DUP2
00003178: PUSH1 0x00
0000317a: DUP8
0000317b: DUP1
0000317c: EXTCODESIZE
0000317d: ISZERO
0000317e: DUP1
0000317f: ISZERO
00003180: PUSH2 0x3188
00003183: JUMPI
00003184: PUSH1 0x00
00003186: DUP1
00003187: REVERT
00003188: JUMPDEST
00003189: POP
0000318a: GAS
0000318b: CALL
0000318c: ISZERO
0000318d: DUP1
0000318e: ISZERO
0000318f: PUSH2 0x319c
00003192: JUMPI
00003193: RETURNDATASIZE
00003194: PUSH1 0x00
00003196: DUP1
00003197: RETURNDATACOPY
00003198: RETURNDATASIZE
00003199: PUSH1 0x00
0000319b: REVERT
0000319c: JUMPDEST
0000319d: POP
0000319e: POP
0000319f: POP
000031a0: POP
000031a1: PUSH1 0x40
000031a3: MLOAD
000031a4: RETURNDATASIZE
000031a5: PUSH1 0x20
000031a7: DUP2
000031a8: LT
000031a9: ISZERO
000031aa: PUSH2 0x31b2
000031ad: JUMPI
000031ae: PUSH1 0x00
000031b0: DUP1
000031b1: REVERT
000031b2: JUMPDEST
000031b3: POP
000031b4: MLOAD
000031b5: ISZERO
000031b6: ISZERO
000031b7: PUSH2 0x31bf
000031ba: JUMPI
000031bb: PUSH1 0x00
000031bd: DUP1
000031be: REVERT
000031bf: JUMPDEST
000031c0: POP
000031c1: POP
000031c2: POP
000031c3: POP
000031c4: JUMP
000031c5: JUMPDEST
000031c6: PUSH1 0x68
000031c8: SWAP1
000031c9: JUMP
000031ca: STOP
000031cb: UNKNOWN(0xDD)
000031cc: CALLCODE
000031cd: MSTORE
000031ce: UNKNOWN(0xAD)
000031cf: SHL
000031d0: UNKNOWN(0xE2)
000031d1: UNKNOWN(0xC8)
000031d2: SWAP12
000031d3: PUSH10 0xc2b068fc378daa952ba7
000031de: CALL
000031df: PUSH4 0xc4a11628
000031e4: CREATE2
000031e5: GAS
000031e6: UNKNOWN(0x4D)
000031e7: CREATE2
000031e8: UNKNOWN(0x23)
000031e9: UNKNOWN(0xB3)
000031ea: UNKNOWN(0xEF)
000031eb: LOG1
000031ec: PUSH6 0x627a7a723058
000031f3: KECCAK256
000031f4: CALLDATACOPY
000031f5: UNKNOWN(0xDC)
000031f6: EXTCODESIZE
000031f7: REVERT
000031f8: UNKNOWN(0x2E)
000031f9: REVERT
000031fa: AND
000031fb: UNKNOWN(0xEF)
000031fc: PC
000031fd: SWAP4
000031fe: UNKNOWN(0xD6)
000031ff: UNKNOWN(0x2C)
00003200: UNKNOWN(0xA6)
00003201: UNKNOWN(0xD6)
00003202: GT
00003203: PUSH26

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: 0x9a372663df80a5e6b1b9043dc926bbf74a91204e3e6fcff2c203bc512a36d873
call_targets: 0x4550a1ce64d0fe04b9d45eab84757380817520f4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9a372663df80a5e6b1b9043dc926bbf74a91204e3e6fcff2c203bc512a36d873",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4550a1ce64d0fe04b9d45eab84757380817520f4"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1dcea427",
            "selector": "0x1dcea427",
            "calldata_variants": [
                "0x1dcea427",
                "0x1dcea4270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x21d800ec",
            "selector": "0x21d800ec",
            "calldata_variants": [
                "0x21d800ec",
                "0x21d800ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x232a2c1d",
            "selector": "0x232a2c1d",
            "calldata_variants": [
                "0x232a2c1d",
                "0x232a2c1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b92490e",
            "selector": "0x2b92490e",
            "calldata_variants": [
                "0x2b92490e",
                "0x2b92490e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2396,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6648,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9531,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [],
    "untrusted_call_count": 12
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x9a372663df80a5e6b1b9043dc926bbf74a91204e3e6fcff2c203bc512a36d873
call_targets: 0x4550a1ce64d0fe04b9d45eab84757380817520f4
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9a372663df80a5e6b1b9043dc926bbf74a91204e3e6fcff2c203bc512a36d873",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4550a1ce64d0fe04b9d45eab84757380817520f4"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1dcea427",
            "selector": "0x1dcea427",
            "calldata_variants": [
                "0x1dcea427",
                "0x1dcea4270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x21d800ec",
            "selector": "0x21d800ec",
            "calldata_variants": [
                "0x21d800ec",
                "0x21d800ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x232a2c1d",
            "selector": "0x232a2c1d",
            "calldata_variants": [
                "0x232a2c1d",
                "0x232a2c1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b92490e",
            "selector": "0x2b92490e",
            "calldata_variants": [
                "0x2b92490e",
                "0x2b92490e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2396,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6648,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9531,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 12,
    "guards_detected": []
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x92a25c2ff326fe439a0d7ea006ef13915e4f1ee7344cf5de07dcd1e9732cb1d5
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x92a25c2ff326fe439a0d7ea006ef13915e4f1ee7344cf5de07dcd1e9732cb1d5",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1dcea427",
            "selector": "0x1dcea427",
            "calldata_variants": [
                "0x1dcea427",
                "0x1dcea4270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x21d800ec",
            "selector": "0x21d800ec",
            "calldata_variants": [
                "0x21d800ec",
                "0x21d800ec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x232a2c1d",
            "selector": "0x232a2c1d",
            "calldata_variants": [
                "0x232a2c1d",
                "0x232a2c1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x23b872dd",
            "selector": "0x23b872dd",
            "calldata_variants": [
                "0x23b872dd",
                "0x23b872dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2b92490e",
            "selector": "0x2b92490e",
            "calldata_variants": [
                "0x2b92490e",
                "0x2b92490e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 12
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 12
}