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

Analysis Run

fb61facd-855c-4867-86ad-2135cd2a7761

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 8:02 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
Authorization based on tx.origin
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31123 report.consolidate complete 1 / 1 3 months ago
76552 artifact.fetch complete 1 / 3 1 week ago
76553 tool.cast_disasm complete 1 / 3 1 week ago
76554 analysis.bundle complete 1 / 3 1 week ago
76555 capability.graph complete 1 / 3 1 week ago
76556 detector.run complete 1 / 3 1 week ago
76557 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path identified from the provided runtime bytecode.
View stderr
[codex:1276932] OpenAI Codex v0.77.0 (research preview)
[codex:1276932] --------
[codex:1276932] workdir: /tmp/codex-multi-pefp_pui
[codex:1276932] model: gpt-5.2-codex
[codex:1276932] provider: openai
[codex:1276932] approval: never
[codex:1276932] sandbox: read-only
[codex:1276932] reasoning effort: xhigh
[codex:1276932] reasoning summaries: auto
[codex:1276932] session id: 019b7b1f-315f-7043-8f7d-ca5345f6790e
[codex:1276932] --------
[codex:1276932] user
[codex:1276932] 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:1276932] 
[codex:1276932] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:1276932] 
[codex:1276932] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1276932] - Gas inefficiency, code quality, or best practices
[codex:1276932] - Theoretical vulnerabilities without a clear extraction path
[codex:1276932] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:1276932] - Issues requiring social engineering or off-chain coordination
[codex:1276932] 
[codex:1276932] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:1276932] - CALL/DELEGATECALL with controllable destination or calldata
[codex:1276932] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:1276932] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:1276932] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:1276932] - External calls before state updates (reentrancy)
[codex:1276932] - SELFDESTRUCT with controllable beneficiary
[codex:1276932] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:1276932] 
[codex:1276932] For each finding, you MUST explain:
[codex:1276932] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:1276932] 2. The concrete sequence of transactions to extract value
[codex:1276932] 3. Why you believe this is exploitable (not just suspicious)
[codex:1276932] 
[codex:1276932] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:1276932] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:1276932] 
[codex:1276932] Output MUST be valid JSON matching the provided schema.
[codex:1276932] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1276932] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1276932] mcp startup: no servers
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Checking file presence**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc ls in /tmp/codex-multi-pefp_pui succeeded in 5ms:
[codex:1276932] BYTECODE_BUNDLE.txt
[codex:1276932] codex-output-schema.json
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Preparing to read file**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-pefp_pui succeeded in 6ms:
[codex:1276932] Runtime bytecode bundle for best-effort auditing.
[codex:1276932] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1276932] 
[codex:1276932] FILE: runtime_bytecode.hex
[codex:1276932] 0x608060405260043610610204575f3560e01c80635ca7ab591161012957806394abab1d116100a8578063b9b4aacd1161006d578063b9b4aacd1461050f578063c7137f5e1461052e578063e14770621461054d578063e98d8c3a1461056c578063fa461e3314610333575f5ffd5b806394abab1d1461049f578063999895db146104be578063a0000000146102cf578063a1000000146104dd578063b80042dc146104f0575f5ffd5b8063824a811d116100ee578063824a811d14610432578063853828b61461043a5780638d690bab1461044e5780638e0000001461046d5780639410ae8814610480575f5ffd5b80635ca7ab59146103c257806362000000146103e15780636568a279146103f45780637000000014610270578063800a35d914610413575f5ffd5b8060cc116101ac57806323a69e751161017757806323a69e75146103335780632de6ca25146103525780633ab1a494146103715780633c0000001461039057806353b03a83146103a3575f5ffd5b8060cc146102bc578060d7146102cf57806315e2b6cd146102e257806317f8f44d146103015780631f00000014610320575f5ffd5b806050116101e0578060501461025d57806067146102705780606914610283578060b914610296578060c3146102a9575f5ffd5b8060021461020f57806024146102245780603514610237578060401461024a575f5ffd5b3661020b57005b5f5ffd5b61022261021d366004612f60565b61058b565b005b610222610232366004612fc2565b6105f5565b610222610245366004613067565b61065b565b6102226102583660046130ca565b6106b7565b61022261026b366004613122565b61070a565b61022261027e366004613195565b610768565b610222610291366004613230565b6107d3565b6102226102a4366004613289565b61082d565b6102226102b736600461332f565b610880565b6102226102ca36600461336e565b6109e4565b6102226102dd366004613230565b610a47565b3480156102ed575f5ffd5b506102226102fc3660046133ac565b610aa1565b34801561030c575f5ffd5b5061022261031b3660046133ac565b610b03565b61022261032e3660046133ce565b610b4f565b34801561033e575f5ffd5b5061022261034d366004613456565b610bbc565b34801561035d575f5ffd5b5061022261036c3660046134a5565b610bc8565b34801561037c575f5ffd5b5061022261038b3660046133ac565b610c55565b61022261039e3660046134bc565b610ca0565b3480156103ae575f5ffd5b506102226103bd3660046133ac565b610cfa565b3480156103cd575f5ffd5b506102226103dc366004613554565b610d5c565b6102226103ef3660046133ce565b610f8e565b3480156103ff575f5ffd5b5061022261040e3660046135b4565b610fee565b34801561041e575f5ffd5b5061022261042d3660046135b4565b61106f565b610222611102565b348015610445575f5ffd5b50610222611161565b348015610459575f5ffd5b506102226104683660046133ac565b611206565b61022261047b366004613289565b611252565b34801561048b575f5ffd5b5061022261049a3660046135e7565b6112a5565b3480156104aa575f5ffd5b506102226104b93660046133ac565b6112af565b3480156104c9575f5ffd5b506102226104d83660046133ac565b611311565b6102226104eb366004613611565b611373565b3480156104fb575f5ffd5b5061022261050a3660046135b4565b6113db565b34801561051a575f5ffd5b506102226105293660046133ac565b61145e565b348015610539575f5ffd5b506102226105483660046135e7565b6114ac565b348015610558575f5ffd5b506102226105673660046136b6565b61160a565b348015610577575f5ffd5b506102226105863660046133ac565b6116dc565b3443146105b35760405162461bcd60e51b81526004016105aa906136f4565b60405180910390fd5b335f9081526002602052604090205460ff166105e15760405162461bcd60e51b81526004016105aa9061370f565b6105ee8585858585611741565b5050505050565b3443146106145760405162461bcd60e51b81526004016105aa906136f4565b8a61061f3382611898565b61063b5760405162461bcd60e51b81526004016105aa9061370f565b61064d8b8b8b8b8b8b8b8b8b8b6118e1565b505050505050505050505050565b34431461067a5760405162461bcd60e51b81526004016105aa906136f4565b856106853382611898565b6106a15760405162461bcd60e51b81526004016105aa9061370f565b6106ae8686868686611af1565b50505050505050565b3443146106d65760405162461bcd60e51b81526004016105aa906136f4565b856106e13382611898565b6106fd5760405162461bcd60e51b81526004016105aa9061370f565b6106ae8686868686611741565b3443146107295760405162461bcd60e51b81526004016105aa906136f4565b866107343382611898565b6107505760405162461bcd60e51b81526004016105aa9061370f565b61075e878787878787611bd1565b5050505050505050565b3443146107875760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff166107b55760405162461bcd60e51b81526004016105aa9061370f565b6107c78a8a8a8a8a8a8a8a8a8a6118e1565b50505050505050505050565b3443146107f25760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff166108205760405162461bcd60e51b81526004016105aa9061370f565b6105ee858585858561213f565b34431461084c5760405162461bcd60e51b81526004016105aa906136f4565b856108573382611898565b6108735760405162461bcd60e51b81526004016105aa9061370f565b6106ae8686868686612277565b34431461089f5760405162461bcd60e51b81526004016105aa906136f4565b735b43453fce04b92e190f391a83136bfbecedefd133146108d25760405162461bcd60e51b81526004016105aa9061370f565b6108dd60698261373e565b156108fa5760405162461bcd60e51b81526004016105aa9061370f565b5f610906606983613765565b90505f5b818110156109de575f808080806109548989610927896069613778565b91909101803560f81c926001820135606090811c93506015830135901c9160298101359160499091013590565b945094509450945094505f5f61097187600181811c929181161490565b91509150816001036109965761098a8682868689612277565b505050505050506109d6565b815f036109aa5761098a868286868961213f565b60405162461bcd60e51b81526020600482015260016024820152606560f81b60448201526064016105aa565b60010161090a565b50505050565b344314610a035760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff16610a315760405162461bcd60e51b81526004016105aa9061370f565b610a3f868686868686611bd1565b505050505050565b344314610a665760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff16610a945760405162461bcd60e51b81526004016105aa9061370f565b6105ee8585858585612277565b5f546001600160a01b0316331480610ac75750335f9081526003602052604090205460ff165b610ae35760405162461bcd60e51b81526004016105aa9061378f565b6001600160a01b03165f908152600460205260409020805460ff19169055565b5f546001600160a01b03163314610b2c5760405162461bcd60e51b81526004016105aa906137aa565b6001600160a01b03165f908152600360205260409020805460ff19166001179055565b344314610b6e5760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff16610b9c5760405162461bcd60e51b81526004016105aa9061370f565b610baf8b8b8b8b8b878c8c8c8c8b61240d565b5050505050505050505050565b6109de84848484612614565b335f9081526004602052604090205460ff16610bf65760405162461bcd60e51b81526004016105aa906137c5565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015610c43575f5ffd5b505af1158015610a3f573d5f5f3e3d5ffd5b5f546001600160a01b03163314610c7e5760405162461bcd60e51b81526004016105aa906137aa565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b344314610cbf5760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff16610ced5760405162461bcd60e51b81526004016105aa9061370f565b6105ee8585858585611af1565b5f546001600160a01b0316331480610d205750335f9081526003602052604090205460ff165b610d3c5760405162461bcd60e51b81526004016105aa9061378f565b6001600160a01b03165f908152600260205260409020805460ff19169055565b5f546001600160a01b0316331480610d825750335f9081526003602052604090205460ff165b610d9e5760405162461bcd60e51b81526004016105aa9061378f565b828114610da9575f5ffd5b5f805b82811015610de257838382818110610dc657610dc66137e0565b9050602002013582610dd891906137f4565b9150600101610dac565b50604051632e1a7d4d60e01b81526004810182905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d906024015f604051808303815f87803b158015610e2d575f5ffd5b505af1158015610e3f573d5f5f3e3d5ffd5b505f925050505b82811015610a3f5760025f878784818110610e6357610e636137e0565b9050602002016020810190610e7891906133ac565b6001600160a01b0316815260208101919091526040015f205460ff16610ec45760405162461bcd60e51b81526020600482015260016024820152602d60f81b60448201526064016105aa565b5f868683818110610ed757610ed76137e0565b9050602002016020810190610eec91906133ac565b6001600160a01b0316858584818110610f0757610f076137e0565b905060200201356040515f6040518083038185875af1925050503d805f8114610f4b576040519150601f19603f3d011682016040523d82523d5f602084013e610f50565b606091505b5050905080610f855760405162461bcd60e51b81526020600482015260016024820152603360f91b60448201526064016105aa565b50600101610e46565b344314610fad5760405162461bcd60e51b81526004016105aa906136f4565b335f9081526002602052604090205460ff16610fdb5760405162461bcd60e51b81526004016105aa9061370f565b610baf8b8b8b8b8b8b8b8b8b8b8b61240d565b5f546001600160a01b03163314806110145750335f9081526003602052604090205460ff165b6110305760405162461bcd60e51b81526004016105aa9061378f565b61106b8282808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061279292505050565b5050565b5f546001600160a01b031633146110985760405162461bcd60e51b81526004016105aa906137aa565b5f5b818110156110fd57600160025f8585858181106110b9576110b96137e0565b90506020020160208101906110ce91906133ac565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905560010161109a565b505050565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004015f604051808303818588803b15801561114f575f5ffd5b505af11580156105ee573d5f5f3e3d5ffd5b5f546001600160a01b03163314806111875750335f9081526003602052604090205460ff165b6111a35760405162461bcd60e51b81526004016105aa9061378f565b61120460068054806020026020016040519081016040528092919081815260200182805480156111fa57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116111dc575b5050505050612792565b565b5f546001600160a01b0316331461122f5760405162461bcd60e51b81526004016105aa906137aa565b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b3443146112715760405162461bcd60e51b81526004016105aa906136f4565b8561127c3382611898565b6112985760405162461bcd60e51b81526004016105aa9061370f565b6106ae868686868661213f565b61106b82826128e7565b5f546001600160a01b03163314806112d55750335f9081526003602052604090205460ff165b6112f15760405162461bcd60e51b81526004016105aa9061378f565b6001600160a01b03165f908152600360205260409020805460ff19169055565b5f546001600160a01b03163314806113375750335f9081526003602052604090205460ff165b6113535760405162461bcd60e51b81526004016105aa9061378f565b6001600160a01b03165f908152600560205260409020805460ff19169055565b3443146113925760405162461bcd60e51b81526004016105aa906136f4565b8b61139d3382611898565b6113b95760405162461bcd60e51b81526004016105aa9061370f565b6113cc8c8c8c8c8c8c8c8c8c8c8c61240d565b50505050505050505050505050565b5f546001600160a01b03163314806114015750335f9081526003602052604090205460ff165b61141d5760405162461bcd60e51b81526004016105aa9061378f565b5f5b818110156110fd5761145683838381811061143c5761143c6137e0565b905060200201602081019061145191906133ac565b6129a9565b60010161141f565b5f546001600160a01b03163314806114845750335f9081526003602052604090205460ff165b6114a05760405162461bcd60e51b81526004016105aa9061378f565b6114a9816129a9565b50565b335f90815260046020526040902054829060ff166114dc5760405162461bcd60e51b81526004016105aa906137c5565b6001600160a01b0381165f9081526005602052604090205460ff166115275760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016105aa565b604051632e1a7d4d60e01b81526004810183905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d906024015f604051808303815f87803b158015611571575f5ffd5b505af1158015611583573d5f5f3e3d5ffd5b505050505f836001600160a01b0316836040515f6040518083038185875af1925050503d805f81146115d0576040519150601f19603f3d011682016040523d82523d5f602084013e6115d5565b606091505b50509050806109de5760405162461bcd60e51b81526020600482015260016024820152603360f91b60448201526064016105aa565b335f90815260046020526040902054839060ff1661163a5760405162461bcd60e51b81526004016105aa906137c5565b6001600160a01b0381165f9081526005602052604090205460ff166116855760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016105aa565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb906116b39087908690600401613807565b5f604051808303815f87803b1580156116ca575f5ffd5b505af115801561075e573d5f5f3e3d5ffd5b5f546001600160a01b03163314806117025750335f9081526003602052604090205460ff165b61171e5760405162461bcd60e51b81526004016105aa9061378f565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b6001600160a01b03841663095ea7b373ba12222222228d8ba445958a75a0704d566bf2c86117708560016137f4565b6040518363ffffffff1660e01b815260040161178d929190613807565b5f604051808303815f87803b1580156117a4575f5ffd5b505af11580156117b6573d5f5f3e3d5ffd5b50506040805160c0810182528881525f60208083018290526001600160a01b03808b1684860152891660608085019190915260808085018a90528551808401875284815260a086015285519081018652308082529281018490528086019290925281019190915291516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c894506352bbbe29935061185892908690429060040161384e565b6020604051808303815f875af1158015611874573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3f9190613929565b5f5f6040518061028001604052806102588152602001613b7261025891399050601d8311156118ca575f9150506118db565b60148302016020015160601c831490505b92915050565b416001600160a01b0382161461191d5760405162461bcd60e51b81526020600482015260016024820152604360f81b60448201526064016105aa565b5f85116119505760405162461bcd60e51b81526020600482015260016024820152604760f81b60448201526064016105aa565b61271082106119855760405162461bcd60e51b81526020600482015260016024820152602160f91b60448201526064016105aa565b5f5f6119948c8c8c8c8c612a5c565b90925090505f87670de0b6b3a76400006119ae8885613940565b896119b88761396f565b6119c29190613940565b6119cc9190613989565b6119d691906139af565b6119e09190613989565b90505f8113611a155760405162461bcd60e51b81526020600482015260016024820152601360fa1b60448201526064016105aa565b5f612710611a238784613778565b611a2d9190613765565b905047811115611a8e576040515f90419047908381818185875af1925050503d805f8114611a76576040519150601f19603f3d011682016040523d82523d5f602084013e611a7b565b606091505b5050905080611a88575f5ffd5b50611ae1565b6040515f90419083908381818185875af1925050503d805f8114611acd576040519150601f19603f3d011682016040523d82523d5f602084013e611ad2565b606091505b5050905080611adf575f5ffd5b505b5050505050505050505050505050565b6001600160a01b03841663095ea7b386611b0c8660016137f4565b6040518363ffffffff1660e01b8152600401611b29929190613807565b5f604051808303815f87803b158015611b40575f5ffd5b505af1158015611b52573d5f5f3e3d5ffd5b5050604051638201aa3f60e01b81526001600160a01b038781166004830152602482018790528581166044830152606482018590525f19608483015288169250638201aa3f915060a4015b5f604051808303815f87803b158015611bb4575f5ffd5b505af1158015611bc6573d5f5f3e3d5ffd5b505050505050505050565b6040516370a0823160e01b81523060048201528690849086905f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611c1b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3f9190613929565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038416906370a0823190602401602060405180830381865afa158015611c86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611caa9190613929565b90505f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc1196001600160a01b038b1601611dae57604051632e1a7d4d60e01b81526004810189905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d906024015f604051808303815f87803b158015611d1c575f5ffd5b505af1158015611d2e573d5f5f3e3d5ffd5b5050604051632f85f1e760e21b81526001600160a01b038916925063be17c79c91508a90611d66908f9083908d905f906004016139db565b60206040518083038185885af1158015611d82573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611da79190613929565b9050611f39565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc1196001600160a01b038a1601611eba57611ddd8a89612b60565b604051632f85f1e760e21b81526001600160a01b0387169063be17c79c90611e0f908e908c908c905f906004016139db565b6020604051808303815f875af1158015611e2b573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e4f9190613929565b905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015611e9e575f5ffd5b505af1158015611eb0573d5f5f3e3d5ffd5b5050505050611f39565b611ec48a89612b60565b604051632f85f1e760e21b81526001600160a01b0387169063be17c79c90611ef6908e908c908c905f906004016139db565b6020604051808303815f875af1158015611f12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f369190613929565b90505b8a15611f785786811015611f735760405162461bcd60e51b81526020600482015260016024820152606d60f81b60448201526064016105aa565b611fac565b86811015611fac5760405162461bcd60e51b81526020600482015260016024820152604d60f81b60448201526064016105aa565b69466c75696454314445585c8015611fd65760405162461bcd60e51b81526004016105aa90613a01565b6040516370a0823160e01b81523060048201525f906001600160a01b038816906370a0823190602401602060405180830381865afa15801561201a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061203e9190613929565b90505f61204b84876137f4565b9050808210156120815760405162461bcd60e51b81526020600482015260016024820152603960f91b60448201526064016105aa565b6040516370a0823160e01b81523060048201525f906001600160a01b038916906370a0823190602401602060405180830381865afa1580156120c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e99190613929565b90505f6120f68d88613a1c565b90508082101561212c5760405162461bcd60e51b81526020600482015260016024820152607160f81b60448201526064016105aa565b5050505050505050505050505050505050565b60405163a9059cbb60e01b815281906001600160a01b0382169063a9059cbb9061216f9089908890600401613807565b5f604051808303815f87803b158015612186575f5ffd5b505af1158015612198573d5f5f3e3d5ffd5b50889250508615905061221357604080516020810182525f808252915163022c0d9f60e01b81526001600160a01b0384169263022c0d9f926121e1928992913091600401613a2f565b5f604051808303815f87803b1580156121f8575f5ffd5b505af115801561220a573d5f5f3e3d5ffd5b505050506106ae565b604080516020810182525f808252915163022c0d9f60e01b81526001600160a01b0384169263022c0d9f9261224e9289913091600401613a2f565b5f604051808303815f87803b158015612265575f5ffd5b505af1158015610baf573d5f5f3e3d5ffd5b846001600160601b038116606085901b178068556e697377617056335d505f5f826001600160a01b031663128acb083089898b6122c85773fffd8963efd1fc6a506488495d951d5263988d256122cf565b6401000276a45b604080516001600160a01b038c1660208201528e15158183015281518082038301815260608201928390526001600160e01b031960e089901b1690925261231d959493929190606401613a65565b60408051808303815f875af1158015612338573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061235c9190613a9f565b909250905068556e697377617056335c801561238a5760405162461bcd60e51b81526004016105aa90613a01565b87156123d1578561239a8361396f565b10156123cc5760405162461bcd60e51b81526020600482015260016024820152606d60f81b60448201526064016105aa565b611bc6565b856123db8461396f565b1015611bc65760405162461bcd60e51b81526020600482015260016024820152604d60f81b60448201526064016105aa565b416001600160a01b038216146124495760405162461bcd60e51b81526020600482015260016024820152604360f81b60448201526064016105aa565b5f851161247c5760405162461bcd60e51b81526020600482015260016024820152604760f81b60448201526064016105aa565b61271082106124b15760405162461bcd60e51b81526020600482015260016024820152602160f91b60448201526064016105aa565b5f5f6124c18d8d8d8d8d8d612b82565b90925090505f87670de0b6b3a76400006124db8986613778565b6124e58986613778565b6124ef9190613989565b6124f991906139af565b6125039190613989565b90505f81136125385760405162461bcd60e51b81526020600482015260016024820152601360fa1b60448201526064016105aa565b5f6127106125468784613778565b6125509190613765565b9050478111156125b1576040515f90419047908381818185875af1925050503d805f8114612599576040519150601f19603f3d011682016040523d82523d5f602084013e61259e565b606091505b50509050806125ab575f5ffd5b50611adf565b6040515f90419083908381818185875af1925050503d805f81146125f0576040519150601f19603f3d011682016040523d82523d5f602084013e6125f5565b606091505b5050905080612602575f5ffd5b50505050505050505050505050505050565b68556e697377617056335c6001600160601b038181169160601c9033168083146126665760405162461bcd60e51b81526020600482015260036024820152623bba3360e91b60448201526064016105aa565b5f8061267486880188613ac1565b91509150801561270d578884101561269e5760405162461bcd60e51b81526004016105aa90613af4565b5f68556e697377617056335d60405163a9059cbb60e01b815282906001600160a01b0382169063a9059cbb906126da9033908e90600401613807565b5f604051808303815f87803b1580156126f1575f5ffd5b505af1158015612703573d5f5f3e3d5ffd5b5050505050611bc6565b8784101561272d5760405162461bcd60e51b81526004016105aa90613af4565b5f68556e697377617056335d60405163a9059cbb60e01b815282906001600160a01b0382169063a9059cbb906127699033908d90600401613807565b5f604051808303815f87803b158015612780575f5ffd5b505af1158015611ae1573d5f5f3e3d5ffd5b5f5b815181101561289c575f8282815181106127b0576127b06137e0565b60209081029190910101516040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa925050508015612820575060408051601f3d908101601f1916820190925261281d91810190613929565b60015b61282b57505f61282e565b90505b80156128925760015460405163a9059cbb60e01b81526001600160a01b038481169263a9059cbb9261286892909116908590600401613807565b5f604051808303815f87803b15801561287f575f5ffd5b505af1925050508015612890575060015b505b5050600101612794565b506001546040515f916001600160a01b03169047908381818185875af1925050503d805f81146105ee576040519150601f19603f3d011682016040523d82523d5f602084013e6105ee565b69466c75696454314445585c6001600160601b038181169160601c90841680831461293a5760405162461bcd60e51b81526020600482015260036024820152623bba3360e91b60448201526064016105aa565b8382101561295a5760405162461bcd60e51b81526004016105aa90613af4565b5f69466c75696454314445585d60405163a9059cbb60e01b81526001600160a01b0386169063a9059cbb90611b9d907352aa899454998be5b000ad077a46bbe360f4e497908890600401613807565b5f5460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926129dd92909116905f1990600401613807565b5f604051808303815f87803b1580156129f4575f5ffd5b505af1158015612a06573d5f5f3e3d5ffd5b5050600680546001810182555f919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319166001600160a01b0394909416939093179092555050565b5f80866001600160601b038116606087901b178068556e697377617056335d50806001600160a01b031663128acb0830898989898d604051602001612ab89291906001600160a01b039290921682521515602082015260400190565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612ae7959493929190613a65565b60408051808303815f875af1158015612b02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b269190613a9f565b909350915068556e697377617056335c8015612b545760405162461bcd60e51b81526004016105aa90613a01565b50509550959350505050565b6001600160601b038216606082901b178069466c75696454314445585d505050565b5f5f5f889050806001600160a01b0316637464fc3d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bc4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612be89190613929565b8414612c1a5760405162461bcd60e51b81526020600482015260016024820152606b60f81b60448201526064016105aa565b5f5f826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612c58573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c7c9190613b25565b50915091508915612d2157806001600160701b03168811612cc35760405162461bcd60e51b81526020600482015260016024820152607360f81b60448201526064016105aa565b6103e5612cd96001600160701b0383168a613a1c565b612ce5906103e8613778565b612cef9190613765565b945084891015612cfd578894505b612d1a85826001600160701b0316846001600160701b0316612f00565b9350612db7565b816001600160701b03168811612d5d5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016105aa565b6103e5612d736001600160701b0384168a613a1c565b612d7f906103e8613778565b612d899190613765565b945084891015612d97578894505b612db485836001600160701b0316836001600160701b0316612f00565b93505b60405163a9059cbb60e01b815287906001600160a01b0382169063a9059cbb90612de7908f908a90600401613807565b5f604051808303815f87803b158015612dfe575f5ffd5b505af1158015612e10573d5f5f3e3d5ffd5b505050508a15612e8857604080516020810182525f808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f92612e56928a92913091600401613a2f565b5f604051808303815f87803b158015612e6d575f5ffd5b505af1158015612e7f573d5f5f3e3d5ffd5b50505050612ef1565b604080516020810182525f808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f92612ec3928a913091600401613a2f565b5f604051808303815f87803b158015612eda575f5ffd5b505af1158015612eec573d5f5f3e3d5ffd5b505050505b50505050965096945050505050565b5f80612f0e856103e5613778565b90505f612f1b8483613778565b90505f82612f2b876103e8613778565b612f3591906137f4565b9050612f418183613765565b979650505050505050565b6001600160a01b03811681146114a9575f5ffd5b5f5f5f5f5f60a08688031215612f74575f5ffd5b853594506020860135612f8681612f4c565b93506040860135612f9681612f4c565b94979396509394606081013594506080013592915050565b80358015158114612fbd575f5ffd5b919050565b5f5f5f5f5f5f5f5f5f5f5f6101608c8e031215612fdd575f5ffd5b8b359a5060208c0135612fef81612f4c565b9950612ffd60408d01612fae565b985060608c0135975060808c013561301481612f4c565b965060a08c013561302481612f4c565b955060c08c0135945060e08c013593506101008c013592506101208c013591506101408c013561305381612f4c565b809150509295989b509295989b9093969950565b5f5f5f5f5f5f60c0878903121561307c575f5ffd5b86359550602087013561308e81612f4c565b9450604087013561309e81612f4c565b93506060870135925060808701356130b581612f4c565b9598949750929591949360a090920135925050565b5f5f5f5f5f5f60c087890312156130df575f5ffd5b863595506020870135945060408701356130f881612f4c565b9350606087013561310881612f4c565b9598949750929560808101359460a0909101359350915050565b5f5f5f5f5f5f5f60e0888a031215613138575f5ffd5b87359650602088013561314a81612f4c565b955061315860408901612fae565b9450606088013561316881612f4c565b9350608088013561317881612f4c565b9699959850939692959460a0840135945060c09093013592915050565b5f5f5f5f5f5f5f5f5f5f6101408b8d0312156131af575f5ffd5b8a356131ba81612f4c565b99506131c860208c01612fae565b985060408b0135975060608b01356131df81612f4c565b965060808b01356131ef81612f4c565b955060a08b0135945060c08b0135935060e08b013592506101008b013591506101208b013561321d81612f4c565b809150509295989b9194979a5092959850565b5f5f5f5f5f60a08688031215613244575f5ffd5b853561324f81612f4c565b945061325d60208701612fae565b93506040860135925060608601359150608086013561327b81612f4c565b809150509295509295909350565b5f5f5f5f5f5f60c0878903121561329e575f5ffd5b8635955060208701356132b081612f4c565b94506132be60408801612fae565b9350606087013592506080870135915060a08701356132dc81612f4c565b809150509295509295509295565b5f5f83601f8401126132fa575f5ffd5b50813567ffffffffffffffff811115613311575f5ffd5b602083019150836020828501011115613328575f5ffd5b9250929050565b5f5f60208385031215613340575f5ffd5b823567ffffffffffffffff811115613356575f5ffd5b613362858286016132ea565b90969095509350505050565b5f5f5f5f5f5f60c08789031215613383575f5ffd5b863561338e81612f4c565b955061339c60208801612fae565b945060408701356130f881612f4c565b5f602082840312156133bc575f5ffd5b81356133c781612f4c565b9392505050565b5f5f5f5f5f5f5f5f5f5f5f6101608c8e0312156133e9575f5ffd5b8b356133f481612f4c565b9a5061340260208d01612fae565b995060408c0135985060608c0135975060808c013561342081612f4c565b965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013591506101408c013561305381612f4c565b5f5f5f5f60608587031215613469575f5ffd5b8435935060208501359250604085013567ffffffffffffffff81111561348d575f5ffd5b613499878288016132ea565b95989497509550505050565b5f602082840312156134b5575f5ffd5b5035919050565b5f5f5f5f5f60a086880312156134d0575f5ffd5b85356134db81612f4c565b945060208601356134eb81612f4c565b935060408601359250606086013561350281612f4c565b949793965091946080013592915050565b5f5f83601f840112613523575f5ffd5b50813567ffffffffffffffff81111561353a575f5ffd5b6020830191508360208260051b8501011115613328575f5ffd5b5f5f5f5f60408587031215613567575f5ffd5b843567ffffffffffffffff81111561357d575f5ffd5b61358987828801613513565b909550935050602085013567ffffffffffffffff8111156135a8575f5ffd5b61349987828801613513565b5f5f602083850312156135c5575f5ffd5b823567ffffffffffffffff8111156135db575f5ffd5b61336285828601613513565b5f5f604083850312156135f8575f5ffd5b823561360381612f4c565b946020939093013593505050565b5f5f5f5f5f5f5f5f5f5f5f5f6101808d8f03121561362d575f5ffd5b8c359b5060208d013561363f81612f4c565b9a5061364d60408e01612fae565b995060608d0135985060808d0135975060a08d013561366b81612f4c565b965060c08d0135955060e08d013594506101008d013593506101208d013592506101408d013591506101608d01356136a281612f4c565b809150509295989b509295989b509295989b565b5f5f5f606084860312156136c8575f5ffd5b83356136d381612f4c565b925060208401356136e381612f4c565b929592945050506040919091013590565b6020808252600190820152603160f91b604082015260600190565b6020808252600190820152603f60f81b604082015260600190565b634e487b7160e01b5f52601260045260245ffd5b5f8261374c5761374c61372a565b500690565b634e487b7160e01b5f52601160045260245ffd5b5f826137735761377361372a565b500490565b80820281158282048414176118db576118db613751565b6020808252600190820152601d60f91b604082015260600190565b6020808252600190820152602160f81b604082015260600190565b6020808252600190820152603b60f81b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b808201808211156118db576118db613751565b6001600160a01b03929092168252602082015260400190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60e08152845160e08201525f60208601516002811061387b57634e487b7160e01b5f52602160045260245ffd5b61010083015260408601516001600160a01b031661012083015260608601516138b06101408401826001600160a01b03169052565b50608086015161016083015260a086015160c06101808401526138d76101a0840182613820565b915050613917602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b5f60208284031215613939575f5ffd5b5051919050565b8082025f8212600160ff1b8414161561395b5761395b613751565b81810583148215176118db576118db613751565b5f600160ff1b820161398357613983613751565b505f0390565b8181035f8312801583831316838312821617156139a8576139a8613751565b5092915050565b5f826139bd576139bd61372a565b600160ff1b82145f19841416156139d6576139d6613751565b500590565b9315158452602084019290925260408301526001600160a01b0316606082015260800190565b6020808252600190820152607960f81b604082015260600190565b818103818111156118db576118db613751565b84815283602082015260018060a01b0383166040820152608060608201525f613a5b6080830184613820565b9695505050505050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90612f4190830184613820565b5f5f60408385031215613ab0575f5ffd5b505080516020909101519092909150565b5f5f60408385031215613ad2575f5ffd5b8235613add81612f4c565b9150613aeb60208401612fae565b90509250929050565b6020808252600190820152606f60f81b604082015260600190565b80516001600160701b0381168114612fbd575f5ffd5b5f5f5f60608486031215613b37575f5ffd5b613b4084613b0f565b9250613b4e60208501613b0f565b9150604084015163ffffffff81168114613b66575f5ffd5b80915050925092509256fee75e6a3c6a329107482f820d07d07777040a1b49129c7f15f9e3a5cb40fd403cad331680b65f6b5ec2107b85fbb92698a43bf0e51840d116fad068fcaef9f6720d6b5c6c1c0026823ab039233bc9cd8cbd119420d79bc40671c0d4718ad6b11ddca0b344e6fec63723e5e45130e964fce5aa952e8c5597361d1fa2104d4cb82a7e05ac81e062ea0112b5b3d81ee8149c110f348493d74b645dbe617a05bd55a09d50006fe0bd757cd402e12121d03d527ae97cfa2559f2c1172ab1fab2d1513fd93d261760609a2ceda04c95fa70da7ca7fdbdf80f0cd3136f4c1a9aca372e59191cf8b72c609ed61f70536b8b978987763c77ce949fc6bd21841c3a6d402c693d68612cd60b07fb653c3ebdec76c6b04b7e6c6f206bbeeac975655460229b977d0616600dcf2c4247de6faf8309fe2e70b06b0e50c95bf69ef8ff856f6498995c0836451b26edf2744061cbf2271257e1bcfdb1814de89edc0def58687574480b8ee1e3408a16c826518093c74f6a4f49900d267acb8db04c40961473eb6ecccda9cb7ca639091ab2bcbbfc915d0491225ebe0218a8d442924597242bf6e21c163c7e89570056a241aa083f138c202da7840752b6bc63cfe7c5a51e8c4a502d57005206fc9ae2fb599e842e7de358d2f5da7d60e34d2ffdc69ebf391bfc93366d1b9e61c1914a0ea2b36c6904453f8d4e9d19db4e39de15ecd85448210ac02ad340268c645bb959459308d471f36f52a69048299581b8b204dc2901c933333c5efb91aa4453e2dcf9e6f55307656dfdacdb2d4c3d048e32fa21b35d5edf339a554aef3aa19dca9614781cfa1ec7ae9888ab15c00ff844daa2646970667358221220c377a55f2273419549d253419c5313c109964e15de1ec4c7c50612da6e68f31564736f6c634300081c0033
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing bytecode for vulnerabilities**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] # extract runtime_bytecode.hex contents
[codex:1276932] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata)
[codex:1276932] if not m:
[codex:1276932]     print('not found');exit()
[codex:1276932] hexstr=m.group(1)[2:]
[codex:1276932] # remove possible trailing metadata? just keep all
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] # disassemble simple
[codex:1276932] ops=[]
[codex:1276932] # opcodes mapping for push length
[codex:1276932] push_len = {i: i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # map names for some
[codex:1276932] names={0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT',0x55:'SSTORE',0x54:'SLOAD',0x33:'CALLER',0x32:'ORIGIN',0x3d:'RETURNDATASIZE',0x5b:'JUMPDEST',0x57:'JUMPI',0x56:'JUMP',0x7f:'PUSH32'}
[codex:1276932] # For location tracking
[codex:1276932] i=0
[codex:1276932] while i < len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]
[codex:1276932]         data=b[i+1:i+1+l]
[codex:1276932]         ops.append((i, op, data))
[codex:1276932]         i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i, op, None))
[codex:1276932]         i+=1
[codex:1276932] 
[codex:1276932] # Find delegatecall/selfdestruct
[codex:1276932] for target in (0xf4,0xff):
[codex:1276932]     locs=[o for o in ops if o[1]==target]
[codex:1276932]     print(hex(target), 'count', len(locs))
[codex:1276932]     print('locs', [hex(o[0]) for o in locs][:20])
[codex:1276932] 
[codex:1276932] # find CALLs with value potentially nonzero? Hard. But list call positions
[codex:1276932] call_locs=[o for o in ops if o[1]==0xf1]
[codex:1276932] print('CALL count', len(call_locs), 'first locs', [hex(o[0]) for o in call_locs[:20]])
[codex:1276932] 
[codex:1276932] # find SELFDESTRUCT destinations by pattern: PUSH/?? before 0xff maybe.
[codex:1276932] # We'll print small window around each SELFDESTRUCT
[codex:1276932] for loc,op,_ in [o for o in ops if o[1]==0xff]:
[codex:1276932]     # show previous 5 ops
[codex:1276932]     idx = [i for i,x in enumerate(ops) if x[0]==loc][0]
[codex:1276932]     window=ops[max(0,idx-6):idx+1]
[codex:1276932]     # represent
[codex:1276932]     def repr_op(o):
[codex:1276932]         loc,op,data=o
[codex:1276932]         if op in push_len:
[codex:1276932]             return f\"{hex(loc)} PUSH{push_len[op]} {data.hex()}\"
[codex:1276932]         else:
[codex:1276932]             return f\"{hex(loc)} {names.get(op,hex(op))}\"
[codex:1276932]     print('window:', '; '.join(repr_op(o) for o in window))
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 55ms:
[codex:1276932] 0xf4 count 0
[codex:1276932] locs []
[codex:1276932] 0xff count 0
[codex:1276932] locs []
[codex:1276932] CALL count 33 first locs ['0xc46', '0xe30', '0xf1d', '0x1152', '0x1574', '0x15a2', '0x16cd', '0x17a7', '0x1865', '0x1a48', '0x1a9f', '0x1b43', '0x1bb7', '0x1d1f', '0x1d73', '0x1e1c', '0x1ea1', '0x1f03', '0x2189', '0x21fb']
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing contract calls and storage writes for vulnerabilities**
[codex:1276932] 
[codex:1276932] I'm examining CALL instructions to detect if any ETH transfers with non-zero value could be unprotected and identifying SSTORE operations to check for unauthorized state changes. I'll write a Python script to disassemble and annotate opcodes around CALLs and SSTOREs to evaluate access control and potential risks methodically.
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] # disassemble
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] names={0x55:'SSTORE',0x54:'SLOAD',0x33:'CALLER',0x32:'ORIGIN',0x5b:'JUMPDEST',0x57:'JUMPI',0x56:'JUMP',0x14:'EQ',0x15:'ISZERO',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x34:'CALLVALUE',0x43:'NUMBER',0x42:'TIMESTAMP'}
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] # find SSTORE
[codex:1276932] sstore_idxs=[idx for idx,o in enumerate(ops) if o[1]==0x55]
[codex:1276932] print('SSTORE count', len(sstore_idxs))
[codex:1276932] 
[codex:1276932] # print context around each sstore
[codex:1276932] for idx in sstore_idxs:
[codex:1276932]     window=ops[max(0,idx-12):idx+1]
[codex:1276932]     def fmt(o):
[codex:1276932]         loc,op,data=o
[codex:1276932]         if op in push_len:
[codex:1276932]             return f\"{hex(loc)} PUSH{push_len[op]} {data.hex()}\"
[codex:1276932]         else:
[codex:1276932]             return f\"{hex(loc)} {names.get(op,hex(op))}\"
[codex:1276932]     print('--- SSTORE at', hex(ops[idx][0]))
[codex:1276932]     print(' ; '.join(fmt(o) for o in window))
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 33ms:
[codex:1276932] SSTORE count 13
[codex:1276932] --- SSTORE at 0xb01
[codex:1276932] 0xaf1 PUSH1 04 ; 0xaf3 PUSH1 20 ; 0xaf5 0x52 ; 0xaf6 PUSH1 40 ; 0xaf8 0x90 ; 0xaf9 0x20 ; 0xafa 0x80 ; 0xafb SLOAD ; 0xafc PUSH1 ff ; 0xafe 0x19 ; 0xaff 0x16 ; 0xb00 0x90 ; 0xb01 SSTORE
[codex:1276932] --- SSTORE at 0xb4d
[codex:1276932] 0xb3e 0x52 ; 0xb3f PUSH1 40 ; 0xb41 0x90 ; 0xb42 0x20 ; 0xb43 0x80 ; 0xb44 SLOAD ; 0xb45 PUSH1 ff ; 0xb47 0x19 ; 0xb48 0x16 ; 0xb49 PUSH1 01 ; 0xb4b 0x17 ; 0xb4c 0x90 ; 0xb4d SSTORE
[codex:1276932] --- SSTORE at 0xc9e
[codex:1276932] 0xc91 PUSH1 a0 ; 0xc93 0x1b ; 0xc94 0x3 ; 0xc95 0x92 ; 0xc96 0x90 ; 0xc97 0x92 ; 0xc98 0x16 ; 0xc99 0x91 ; 0xc9a 0x90 ; 0xc9b 0x91 ; 0xc9c 0x17 ; 0xc9d 0x90 ; 0xc9e SSTORE
[codex:1276932] --- SSTORE at 0xd5a
[codex:1276932] 0xd4a PUSH1 02 ; 0xd4c PUSH1 20 ; 0xd4e 0x52 ; 0xd4f PUSH1 40 ; 0xd51 0x90 ; 0xd52 0x20 ; 0xd53 0x80 ; 0xd54 SLOAD ; 0xd55 PUSH1 ff ; 0xd57 0x19 ; 0xd58 0x16 ; 0xd59 0x90 ; 0xd5a SSTORE
[codex:1276932] --- SSTORE at 0x10f5
[codex:1276932] 0x10e8 SLOAD ; 0x10e9 PUSH1 ff ; 0x10eb 0x19 ; 0x10ec 0x16 ; 0x10ed 0x91 ; 0x10ee ISZERO ; 0x10ef ISZERO ; 0x10f0 0x91 ; 0x10f1 0x90 ; 0x10f2 0x91 ; 0x10f3 0x17 ; 0x10f4 0x90 ; 0x10f5 SSTORE
[codex:1276932] --- SSTORE at 0x1250
[codex:1276932] 0x1241 0x52 ; 0x1242 PUSH1 40 ; 0x1244 0x90 ; 0x1245 0x20 ; 0x1246 0x80 ; 0x1247 SLOAD ; 0x1248 PUSH1 ff ; 0x124a 0x19 ; 0x124b 0x16 ; 0x124c PUSH1 01 ; 0x124e 0x17 ; 0x124f 0x90 ; 0x1250 SSTORE
[codex:1276932] --- SSTORE at 0x130f
[codex:1276932] 0x12ff PUSH1 03 ; 0x1301 PUSH1 20 ; 0x1303 0x52 ; 0x1304 PUSH1 40 ; 0x1306 0x90 ; 0x1307 0x20 ; 0x1308 0x80 ; 0x1309 SLOAD ; 0x130a PUSH1 ff ; 0x130c 0x19 ; 0x130d 0x16 ; 0x130e 0x90 ; 0x130f SSTORE
[codex:1276932] --- SSTORE at 0x1371
[codex:1276932] 0x1361 PUSH1 05 ; 0x1363 PUSH1 20 ; 0x1365 0x52 ; 0x1366 PUSH1 40 ; 0x1368 0x90 ; 0x1369 0x20 ; 0x136a 0x80 ; 0x136b SLOAD ; 0x136c PUSH1 ff ; 0x136e 0x19 ; 0x136f 0x16 ; 0x1370 0x90 ; 0x1371 SSTORE
[codex:1276932] --- SSTORE at 0x173f
[codex:1276932] 0x1730 0x52 ; 0x1731 PUSH1 40 ; 0x1733 0x90 ; 0x1734 0x20 ; 0x1735 0x80 ; 0x1736 SLOAD ; 0x1737 PUSH1 ff ; 0x1739 0x19 ; 0x173a 0x16 ; 0x173b PUSH1 01 ; 0x173d 0x17 ; 0x173e 0x90 ; 0x173f SSTORE
[codex:1276932] --- SSTORE at 0x2a12
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing SSTORE instructions and metadata boundary**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] 
[codex:1276932] # names map
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 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:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] # index mapping
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] # function to format window
[codex:1276932] 
[codex:1276932] def fmt(o):
[codex:1276932]     loc,op,data=o
[codex:1276932]     if op in push_len:
[codex:1276932]         return f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\"
[codex:1276932]     else:
[codex:1276932]         return f\"{loc:04x}: {names.get(op,hex(op))}\"
[codex:1276932] 
[codex:1276932] # for each sstore, show 40 ops before
[codex:1276932] for loc,op,data in [o for o in ops if o[1]==0x55][:]:
[codex:1276932]     idx=loc_to_idx[loc]
[codex:1276932]     start=max(0,idx-25)
[codex:1276932]     window=ops[start:idx+6]
[codex:1276932]     print('\\n=== SSTORE at', hex(loc), '===')
[codex:1276932]     for o in window:
[codex:1276932]         print(fmt(o))
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 39ms:
[codex:1276932] 
[codex:1276932] === SSTORE at 0xb01 ===
[codex:1276932] 0adf: PUSH2 0x378f
[codex:1276932] 0ae2: JUMP
[codex:1276932] 0ae3: JUMPDEST
[codex:1276932] 0ae4: PUSH1 0x01
[codex:1276932] 0ae6: PUSH1 0x01
[codex:1276932] 0ae8: PUSH1 0xa0
[codex:1276932] 0aea: SHL
[codex:1276932] 0aeb: SUB
[codex:1276932] 0aec: AND
[codex:1276932] 0aed: 0x5f
[codex:1276932] 0aee: 0x90
[codex:1276932] 0aef: 0x81
[codex:1276932] 0af0: MSTORE
[codex:1276932] 0af1: PUSH1 0x04
[codex:1276932] 0af3: PUSH1 0x20
[codex:1276932] 0af5: MSTORE
[codex:1276932] 0af6: PUSH1 0x40
[codex:1276932] 0af8: 0x90
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing SSTORE instructions for access control**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # names
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 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:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] def fmt(o):
[codex:1276932]     loc,op,data=o
[codex:1276932]     if op in push_len:
[codex:1276932]         return f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\"
[codex:1276932]     else:
[codex:1276932]         return f\"{loc:04x}: {names.get(op,hex(op))}\"
[codex:1276932] 
[codex:1276932] start=loc_to_idx[0x2a40]-30
[codex:1276932] end=loc_to_idx[0x2a5c]+30
[codex:1276932] for o in ops[start:end]:
[codex:1276932]     print(fmt(o))
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 37ms:
[codex:1276932] 29fe: JUMPI
[codex:1276932] 29ff: RETURNDATASIZE
[codex:1276932] 2a00: 0x5f
[codex:1276932] 2a01: 0x5f
[codex:1276932] 2a02: RETURNDATACOPY
[codex:1276932] 2a03: RETURNDATASIZE
[codex:1276932] 2a04: 0x5f
[codex:1276932] 2a05: REVERT
[codex:1276932] 2a06: JUMPDEST
[codex:1276932] 2a07: POP
[codex:1276932] 2a08: POP
[codex:1276932] 2a09: PUSH1 0x06
[codex:1276932] 2a0b: 0x80
[codex:1276932] 2a0c: SLOAD
[codex:1276932] 2a0d: PUSH1 0x01
[codex:1276932] 2a0f: 0x81
[codex:1276932] 2a10: ADD
[codex:1276932] 2a11: 0x82
[codex:1276932] 2a12: SSTORE
[codex:1276932] 2a13: 0x5f
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing storage slot updates and function calls**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] # find occurrences of push2 0x2a5c and 0x29a9 and 0x2a06
[codex:1276932] for target in [0x2a5c,0x29a9,0x2a06]:
[codex:1276932]     pattern=f\"61{target:04x}\".lower()
[codex:1276932]     print('target',hex(target),'occurs',hexstr.count(pattern))
[codex:1276932]     # print offsets
[codex:1276932]     idxs=[m.start() for m in re.finditer(pattern, hexstr)]
[codex:1276932]     print('offsets', idxs[:10])
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 27ms:
[codex:1276932] target 0x2a5c occurs 1
[codex:1276932] offsets [13088]
[codex:1276932] target 0x29a9 occurs 2
[codex:1276932] offsets [10404, 10570]
[codex:1276932] target 0x2a06 occurs 1
[codex:1276932] offsets [21494]
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Locating push2 0x2a5c instruction**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # names map
[codex:1276932] names={0x5b:'JUMPDEST',0x56:'JUMP',0x57:'JUMPI',0xf1:'CALL',0xfa:'STATICCALL',0xfd:'REVERT',0x55:'SSTORE',0x54:'SLOAD',0x33:'CALLER',0x14:'EQ',0x15:'ISZERO'}
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] # find push2 0x2a5c
[codex:1276932] for idx,(loc,op,data) in enumerate(ops):
[codex:1276932]     if op==0x61 and data==bytes.fromhex('2a5c'):
[codex:1276932]         start=max(0,idx-15); end=idx+10
[codex:1276932]         print('--- around push2 0x2a5c at',hex(loc))
[codex:1276932]         for o in ops[start:end]:
[codex:1276932]             loc,op,data=o
[codex:1276932]             if op in push_len:
[codex:1276932]                 print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]             else:
[codex:1276932]                 print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 34ms:
[codex:1276932] --- around push2 0x2a5c at 0x1990
[codex:1276932] 197c: 0x1
[codex:1276932] 197d: 0x52
[codex:1276932] 197e: PUSH1 0x64
[codex:1276932] 1980: 0x1
[codex:1276932] 1981: PUSH2 0x05aa
[codex:1276932] 1984: JUMP
[codex:1276932] 1985: JUMPDEST
[codex:1276932] 1986: 0x5f
[codex:1276932] 1987: 0x5f
[codex:1276932] 1988: PUSH2 0x1994
[codex:1276932] 198b: 0x8c
[codex:1276932] 198c: 0x8c
[codex:1276932] 198d: 0x8c
[codex:1276932] 198e: 0x8c
[codex:1276932] 198f: 0x8c
[codex:1276932] 1990: PUSH2 0x2a5c
[codex:1276932] 1993: JUMP
[codex:1276932] 1994: JUMPDEST
[codex:1276932] 1995: 0x90
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Tracing function call and access control**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 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:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] # locate JUMPDEST before 0x1986
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] idx=loc_to_idx[0x1986]
[codex:1276932] # find previous jumpdest in ops
[codex:1276932] prev_idx=idx
[codex:1276932] while prev_idx>0 and ops[prev_idx][1]"'!=0x5b:
[codex:1276932]     prev_idx-=1
[codex:1276932] print('"'prev jumpdest', hex(ops[prev_idx][0]))
[codex:1276932] 
[codex:1276932] start=max(0,prev_idx-20); end=idx+30
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 34ms:
[codex:1276932] prev jumpdest 0x1985
[codex:1276932] 1968: PUSH1 0x04
[codex:1276932] 196a: 0x82
[codex:1276932] 196b: ADD
[codex:1276932] 196c: MSTORE
[codex:1276932] 196d: PUSH1 0x01
[codex:1276932] 196f: PUSH1 0x24
[codex:1276932] 1971: 0x82
[codex:1276932] 1972: ADD
[codex:1276932] 1973: MSTORE
[codex:1276932] 1974: PUSH1 0x21
[codex:1276932] 1976: PUSH1 0xf9
[codex:1276932] 1978: SHL
[codex:1276932] 1979: PUSH1 0x44
[codex:1276932] 197b: 0x82
[codex:1276932] 197c: ADD
[codex:1276932] 197d: MSTORE
[codex:1276932] 197e: PUSH1 0x64
[codex:1276932] 1980: ADD
[codex:1276932] 1981: PUSH2 0x05aa
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing potential function entry and storage writes**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] # display around 0x2a12-0x2a5c
[codex:1276932] start=loc_to_idx[0x29ff]-20
[codex:1276932] end=loc_to_idx[0x2a5c]+20
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 40ms:
[codex:1276932] 29e7: 0x87
[codex:1276932] 29e8: 0x80
[codex:1276932] 29e9: EXTCODESIZE
[codex:1276932] 29ea: ISZERO
[codex:1276932] 29eb: 0x80
[codex:1276932] 29ec: ISZERO
[codex:1276932] 29ed: PUSH2 0x29f4
[codex:1276932] 29f0: JUMPI
[codex:1276932] 29f1: PUSH0
[codex:1276932] 29f2: PUSH0
[codex:1276932] 29f3: REVERT
[codex:1276932] 29f4: JUMPDEST
[codex:1276932] 29f5: POP
[codex:1276932] 29f6: GAS
[codex:1276932] 29f7: CALL
[codex:1276932] 29f8: ISZERO
[codex:1276932] 29f9: 0x80
[codex:1276932] 29fa: ISZERO
[codex:1276932] 29fb: PUSH2 0x2a06
[codex:1276932] 29fe: JUMPI
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing storage slot calculation and potential exploits**
[codex:1276932] 
[codex:1276932] I'm examining how storage slots are computed using MSTORE and PUSH instructions, noticing they're adding constants instead of hashing keys with keccak256. This might indicate linear slot calculation in mappings. I'm also considering authorization checks using tx.origin and the presence of ecrecover calls via STATICCALL to address 0x01, planning to scan for such opcodes to find signature verification patterns.
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={0xfa:'STATICCALL',0xf1:'CALL',0x5b:'JUMPDEST'}
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] statics=[(loc,idx) for idx,(loc,op,_) in enumerate(ops) if op==0xfa]
[codex:1276932] print('STATICCALL count', len(statics))
[codex:1276932] # show context around each
[codex:1276932] for loc,idx in statics:
[codex:1276932]     start=max(0,idx-10); end=idx+5
[codex:1276932]     print('\\n-- STATICCALL at', hex(loc))
[codex:1276932]     for loc2,op,data in ops[start:end]:
[codex:1276932]         if op in push_len:
[codex:1276932]             print(f\"{loc2:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc2:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 34ms:
[codex:1276932] STATICCALL count 10
[codex:1276932] 
[codex:1276932] -- STATICCALL at 0x1c0c
[codex:1276932] 1c00: 0x1
[codex:1276932] 1c01: PUSH1 0x20
[codex:1276932] 1c03: PUSH1 0x40
[codex:1276932] 1c05: 0x51
[codex:1276932] 1c06: 0x80
[codex:1276932] 1c07: 0x83
[codex:1276932] 1c08: 0x3
[codex:1276932] 1c09: 0x81
[codex:1276932] 1c0a: 0x86
[codex:1276932] 1c0b: 0x5a
[codex:1276932] 1c0c: STATICCALL
[codex:1276932] 1c0d: 0x15
[codex:1276932] 1c0e: 0x80
[codex:1276932] 1c0f: 0x15
[codex:1276932] 1c10: PUSH2 0x1c1b
[codex:1276932] 
[codex:1276932] -- STATICCALL at 0x1c77
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing CALL instructions for potential ETH transfers**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] call_idxs=[idx for idx,(loc,op,_) in enumerate(ops) if op==0xf1]
[codex:1276932] print('CALL count', len(call_idxs))
[codex:1276932] 
[codex:1276932] # show context around each call
[codex:1276932] for idx in call_idxs:
[codex:1276932]     loc=ops[idx][0]
[codex:1276932]     start=max(0,idx-12); end=idx+6
[codex:1276932]     print('\\n-- CALL at', hex(loc))
[codex:1276932]     for loc2,op,data in ops[start:end]:
[codex:1276932]         if op in push_len:
[codex:1276932]             if op==0x5f:
[codex:1276932]                 print(f\"{loc2:04x}: PUSH0\")
[codex:1276932]             else:
[codex:1276932]                 print(f\"{loc2:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc2:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 35ms:
[codex:1276932] CALL count 33
[codex:1276932] 
[codex:1276932] -- CALL at 0xc46
[codex:1276932] 0c38: EXTCODESIZE
[codex:1276932] 0c39: ISZERO
[codex:1276932] 0c3a: 0x80
[codex:1276932] 0c3b: ISZERO
[codex:1276932] 0c3c: PUSH2 0x0c43
[codex:1276932] 0c3f: JUMPI
[codex:1276932] 0c40: PUSH0
[codex:1276932] 0c41: PUSH0
[codex:1276932] 0c42: REVERT
[codex:1276932] 0c43: JUMPDEST
[codex:1276932] 0c44: POP
[codex:1276932] 0c45: GAS
[codex:1276932] 0c46: CALL
[codex:1276932] 0c47: ISZERO
[codex:1276932] 0c48: 0x80
[codex:1276932] 0c49: ISZERO
[codex:1276932] 0c4a: PUSH2 0x0a3f
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing CALL argument sources**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] # disassemble
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] # show window around 0x1a48
[codex:1276932] center=0x1a48
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-30; end=idx+20
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 35ms:
[codex:1276932] 1a23: JUMPDEST
[codex:1276932] 1a24: PUSH2 0x1a2d
[codex:1276932] 1a27: 0x91
[codex:1276932] 1a28: 0x90
[codex:1276932] 1a29: PUSH2 0x3765
[codex:1276932] 1a2c: JUMP
[codex:1276932] 1a2d: JUMPDEST
[codex:1276932] 1a2e: 0x90
[codex:1276932] 1a2f: POP
[codex:1276932] 1a30: SELFBALANCE
[codex:1276932] 1a31: 0x81
[codex:1276932] 1a32: GT
[codex:1276932] 1a33: ISZERO
[codex:1276932] 1a34: PUSH2 0x1a8e
[codex:1276932] 1a37: JUMPI
[codex:1276932] 1a38: PUSH1 0x40
[codex:1276932] 1a3a: MLOAD
[codex:1276932] 1a3b: PUSH0
[codex:1276932] 1a3c: 0x90
[codex:1276932] 1a3d: COINBASE
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing EVM call and stack operations**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] start=loc_to_idx[0x1a80]-10
[codex:1276932] end=loc_to_idx[0x1ab0]+10
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 36ms:
[codex:1276932] 1a75: JUMP
[codex:1276932] 1a76: JUMPDEST
[codex:1276932] 1a77: PUSH1 0x60
[codex:1276932] 1a79: 0x91
[codex:1276932] 1a7a: POP
[codex:1276932] 1a7b: JUMPDEST
[codex:1276932] 1a7c: POP
[codex:1276932] 1a7d: POP
[codex:1276932] 1a7e: 0x90
[codex:1276932] 1a7f: POP
[codex:1276932] 1a80: 0x80
[codex:1276932] 1a81: PUSH2 0x1a88
[codex:1276932] 1a84: JUMPI
[codex:1276932] 1a85: PUSH0
[codex:1276932] 1a86: PUSH0
[codex:1276932] 1a87: REVERT
[codex:1276932] 1a88: JUMPDEST
[codex:1276932] 1a89: POP
[codex:1276932] 1a8a: PUSH2 0x1ae1
[codex:1276932] 1a8d: JUMP
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing call paths and potential ETH transfers**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] # find CALL with CALLER within 12 ops before
[codex:1276932] for idx,(loc,op,data) in enumerate(ops):
[codex:1276932]     if op==0xf1:
[codex:1276932]         window=ops[max(0,idx-12):idx]
[codex:1276932]         if any(o[1]==0x33 for o in window):
[codex:1276932]             print('CALL at',hex(loc),'has CALLER within 12 ops before at', [hex(o[0]) for o in window if o[1]==0x33])
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 36ms:
[codex:1276932] 
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing ownership and access control checks**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] # show a window around 0xc7e JUMPDEST (owner update)
[codex:1276932] center=0xc7e
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+30
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 37ms:
[codex:1276932] 0c45: GAS
[codex:1276932] 0c46: CALL
[codex:1276932] 0c47: ISZERO
[codex:1276932] 0c48: 0x80
[codex:1276932] 0c49: ISZERO
[codex:1276932] 0c4a: PUSH2 0x0a3f
[codex:1276932] 0c4d: JUMPI
[codex:1276932] 0c4e: RETURNDATASIZE
[codex:1276932] 0c4f: PUSH0
[codex:1276932] 0c50: PUSH0
[codex:1276932] 0c51: RETURNDATACOPY
[codex:1276932] 0c52: RETURNDATASIZE
[codex:1276932] 0c53: PUSH0
[codex:1276932] 0c54: REVERT
[codex:1276932] 0c55: JUMPDEST
[codex:1276932] 0c56: PUSH0
[codex:1276932] 0c57: SLOAD
[codex:1276932] 0c58: PUSH1 0x01
[codex:1276932] 0c5a: PUSH1 0x01
[codex:1276932] 0c5c: PUSH1 0xa0
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Verifying owner checks on storage updates**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0xb2c
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+30
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 36ms:
[codex:1276932] 0af1: PUSH1 0x04
[codex:1276932] 0af3: PUSH1 0x20
[codex:1276932] 0af5: MSTORE
[codex:1276932] 0af6: PUSH1 0x40
[codex:1276932] 0af8: 0x90
[codex:1276932] 0af9: SHA3
[codex:1276932] 0afa: 0x80
[codex:1276932] 0afb: SLOAD
[codex:1276932] 0afc: PUSH1 0xff
[codex:1276932] 0afe: NOT
[codex:1276932] 0aff: AND
[codex:1276932] 0b00: 0x90
[codex:1276932] 0b01: SSTORE
[codex:1276932] 0b02: JUMP
[codex:1276932] 0b03: JUMPDEST
[codex:1276932] 0b04: PUSH0
[codex:1276932] 0b05: SLOAD
[codex:1276932] 0b06: PUSH1 0x01
[codex:1276932] 0b08: PUSH1 0x01
[codex:1276932] 0b0a: PUSH1 0xa0
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing storage updates and owner checks**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0xd3c
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-30; end=idx+40
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 41ms:
[codex:1276932] 0d0e: CALLER
[codex:1276932] 0d0f: PUSH0
[codex:1276932] 0d10: 0x90
[codex:1276932] 0d11: 0x81
[codex:1276932] 0d12: MSTORE
[codex:1276932] 0d13: PUSH1 0x03
[codex:1276932] 0d15: PUSH1 0x20
[codex:1276932] 0d17: MSTORE
[codex:1276932] 0d18: PUSH1 0x40
[codex:1276932] 0d1a: 0x90
[codex:1276932] 0d1b: SHA3
[codex:1276932] 0d1c: SLOAD
[codex:1276932] 0d1d: PUSH1 0xff
[codex:1276932] 0d1f: AND
[codex:1276932] 0d20: JUMPDEST
[codex:1276932] 0d21: PUSH2 0x0d3c
[codex:1276932] 0d24: JUMPI
[codex:1276932] 0d25: PUSH1 0x40
[codex:1276932] 0d27: MLOAD
[codex:1276932] 0d28: PUSH3 0x461bcd
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing SSTORE access protections**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] # include PUSH0
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0x109a
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+40
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 37ms:
[codex:1276932] 1061: MSTORE
[codex:1276932] 1062: POP
[codex:1276932] 1063: PUSH2 0x2792
[codex:1276932] 1066: 0x92
[codex:1276932] 1067: POP
[codex:1276932] 1068: POP
[codex:1276932] 1069: POP
[codex:1276932] 106a: JUMP
[codex:1276932] 106b: JUMPDEST
[codex:1276932] 106c: POP
[codex:1276932] 106d: POP
[codex:1276932] 106e: JUMP
[codex:1276932] 106f: JUMPDEST
[codex:1276932] 1070: PUSH0
[codex:1276932] 1071: SLOAD
[codex:1276932] 1072: PUSH1 0x01
[codex:1276932] 1074: PUSH1 0x01
[codex:1276932] 1076: PUSH1 0xa0
[codex:1276932] 1078: SHL
[codex:1276932] 1079: SUB
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing role-based access and reentrancy risks**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0x122f
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+40
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 37ms:
[codex:1276932] 11f4: 0x83
[codex:1276932] 11f5: GT
[codex:1276932] 11f6: PUSH2 0x11dc
[codex:1276932] 11f9: JUMPI
[codex:1276932] 11fa: JUMPDEST
[codex:1276932] 11fb: POP
[codex:1276932] 11fc: POP
[codex:1276932] 11fd: POP
[codex:1276932] 11fe: POP
[codex:1276932] 11ff: POP
[codex:1276932] 1200: PUSH2 0x2792
[codex:1276932] 1203: JUMP
[codex:1276932] 1204: JUMPDEST
[codex:1276932] 1205: JUMP
[codex:1276932] 1206: JUMPDEST
[codex:1276932] 1207: PUSH0
[codex:1276932] 1208: SLOAD
[codex:1276932] 1209: PUSH1 0x01
[codex:1276932] 120b: PUSH1 0x01
[codex:1276932] 120d: PUSH1 0xa0
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Inspecting owner checks around storage operations**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0x12f1
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+40
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 43ms:
[codex:1276932] 12b6: PUSH1 0xa0
[codex:1276932] 12b8: SHL
[codex:1276932] 12b9: SUB
[codex:1276932] 12ba: AND
[codex:1276932] 12bb: CALLER
[codex:1276932] 12bc: EQ
[codex:1276932] 12bd: 0x80
[codex:1276932] 12be: PUSH2 0x12d5
[codex:1276932] 12c1: JUMPI
[codex:1276932] 12c2: POP
[codex:1276932] 12c3: CALLER
[codex:1276932] 12c4: PUSH0
[codex:1276932] 12c5: 0x90
[codex:1276932] 12c6: 0x81
[codex:1276932] 12c7: MSTORE
[codex:1276932] 12c8: PUSH1 0x03
[codex:1276932] 12ca: PUSH1 0x20
[codex:1276932] 12cc: MSTORE
[codex:1276932] 12cd: PUSH1 0x40
[codex:1276932] 12cf: 0x90
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Analyzing ownership and mapping checks in bytecode**
[codex:1276932] exec
[codex:1276932] /bin/bash -lc "python3 - <<'PY'
[codex:1276932] import re
[codex:1276932] from pathlib import Path
[codex:1276932] hexdata=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:1276932] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)',hexdata).group(1)[2:]
[codex:1276932] b=bytes.fromhex(hexstr)
[codex:1276932] 
[codex:1276932] push_len={i:i-0x5f for i in range(0x60,0x80)}
[codex:1276932] push_len[0x5f]=0
[codex:1276932] 
[codex:1276932] names={
[codex:1276932] 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:1276932] 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:1276932] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:1276932] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x5f:'PUSH0',
[codex:1276932] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:1276932] }
[codex:1276932] 
[codex:1276932] ops=[]
[codex:1276932] i=0
[codex:1276932] while i<len(b):
[codex:1276932]     op=b[i]
[codex:1276932]     if op in push_len:
[codex:1276932]         l=push_len[op]; data=b[i+1:i+1+l]; ops.append((i,op,data)); i+=1+l
[codex:1276932]     else:
[codex:1276932]         ops.append((i,op,None)); i+=1
[codex:1276932] 
[codex:1276932] loc_to_idx={loc:idx for idx,(loc,_,_) in enumerate(ops)}
[codex:1276932] 
[codex:1276932] center=0x1702
[codex:1276932] idx=loc_to_idx[center]
[codex:1276932] start=idx-40; end=idx+40
[codex:1276932] for loc,op,data in ops[start:end]:
[codex:1276932]     if op in push_len:
[codex:1276932]         if op==0x5f:
[codex:1276932]             print(f\"{loc:04x}: PUSH0\")
[codex:1276932]         else:
[codex:1276932]             print(f\"{loc:04x}: PUSH{push_len[op]} 0x{data.hex()}\")
[codex:1276932]     else:
[codex:1276932]         print(f\"{loc:04x}: {names.get(op,hex(op))}\")
[codex:1276932] PY" in /tmp/codex-multi-pefp_pui succeeded in 38ms:
[codex:1276932] 16cf: 0x80
[codex:1276932] 16d0: ISZERO
[codex:1276932] 16d1: PUSH2 0x075e
[codex:1276932] 16d4: JUMPI
[codex:1276932] 16d5: RETURNDATASIZE
[codex:1276932] 16d6: PUSH0
[codex:1276932] 16d7: PUSH0
[codex:1276932] 16d8: RETURNDATACOPY
[codex:1276932] 16d9: RETURNDATASIZE
[codex:1276932] 16da: PUSH0
[codex:1276932] 16db: REVERT
[codex:1276932] 16dc: JUMPDEST
[codex:1276932] 16dd: PUSH0
[codex:1276932] 16de: SLOAD
[codex:1276932] 16df: PUSH1 0x01
[codex:1276932] 16e1: PUSH1 0x01
[codex:1276932] 16e3: PUSH1 0xa0
[codex:1276932] 16e5: SHL
[codex:1276932] 16e6: SUB
[codex:1276932] 16e7: AND
[codex:1276932] 
[codex:1276932] thinking
[codex:1276932] **Finalizing exploit analysis and JSON output**
[codex:1276932] 
[codex:1276932] I'm concluding that no concrete exploitable profit path is found from the bytecode analysis, so I'll prepare a JSON response with no_findings set to true, an appropriate summary message, and an empty findings array, all formatted per the required schema.
[codex:1276932] codex
[codex:1276932] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the provided runtime bytecode.","findings":[]}
[codex:1276932] tokens used
[codex:1276932] 124,566
[codex:1276932] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the provided runtime bytecode.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T20:02:10.843211+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path identified from the provided runtime bytecode.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path identified from the provided runtime bytecode.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
44
EXT*/BALANCE
24
Total opcodes
10825
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 0x0204
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x5ca7ab59
00000018: GT
00000019: PUSH2 0x0129
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0x94abab1d
00000023: GT
00000024: PUSH2 0x00a8
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xb9b4aacd
0000002e: GT
0000002f: PUSH2 0x006d
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xb9b4aacd
00000039: EQ
0000003a: PUSH2 0x050f
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xc7137f5e
00000044: EQ
00000045: PUSH2 0x052e
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xe1477062
0000004f: EQ
00000050: PUSH2 0x054d
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xe98d8c3a
0000005a: EQ
0000005b: PUSH2 0x056c
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0xfa461e33
00000065: EQ
00000066: PUSH2 0x0333
00000069: JUMPI
0000006a: PUSH0
0000006b: PUSH0
0000006c: REVERT
0000006d: JUMPDEST
0000006e: DUP1
0000006f: PUSH4 0x94abab1d
00000074: EQ
00000075: PUSH2 0x049f
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0x999895db
0000007f: EQ
00000080: PUSH2 0x04be
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0xa0000000
0000008a: EQ
0000008b: PUSH2 0x02cf
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0xa1000000
00000095: EQ
00000096: PUSH2 0x04dd
00000099: JUMPI
0000009a: DUP1
0000009b: PUSH4 0xb80042dc
000000a0: EQ
000000a1: PUSH2 0x04f0
000000a4: JUMPI
000000a5: PUSH0
000000a6: PUSH0
000000a7: REVERT
000000a8: JUMPDEST
000000a9: DUP1
000000aa: PUSH4 0x824a811d
000000af: GT
000000b0: PUSH2 0x00ee
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0x824a811d
000000ba: EQ
000000bb: PUSH2 0x0432
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0x853828b6
000000c5: EQ
000000c6: PUSH2 0x043a
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0x8d690bab
000000d0: EQ
000000d1: PUSH2 0x044e
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0x8e000000
000000db: EQ
000000dc: PUSH2 0x046d
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0x9410ae88
000000e6: EQ
000000e7: PUSH2 0x0480
000000ea: JUMPI
000000eb: PUSH0
000000ec: PUSH0
000000ed: REVERT
000000ee: JUMPDEST
000000ef: DUP1
000000f0: PUSH4 0x5ca7ab59
000000f5: EQ
000000f6: PUSH2 0x03c2
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x62000000
00000100: EQ
00000101: PUSH2 0x03e1
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x6568a279
0000010b: EQ
0000010c: PUSH2 0x03f4
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x70000000
00000116: EQ
00000117: PUSH2 0x0270
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x800a35d9
00000121: EQ
00000122: PUSH2 0x0413
00000125: JUMPI
00000126: PUSH0
00000127: PUSH0
00000128: REVERT
00000129: JUMPDEST
0000012a: DUP1
0000012b: PUSH1 0xcc
0000012d: GT
0000012e: PUSH2 0x01ac
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0x23a69e75
00000138: GT
00000139: PUSH2 0x0177
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0x23a69e75
00000143: EQ
00000144: PUSH2 0x0333
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0x2de6ca25
0000014e: EQ
0000014f: PUSH2 0x0352
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0x3ab1a494
00000159: EQ
0000015a: PUSH2 0x0371
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0x3c000000
00000164: EQ
00000165: PUSH2 0x0390
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0x53b03a83
0000016f: EQ
00000170: PUSH2 0x03a3
00000173: JUMPI
00000174: PUSH0
00000175: PUSH0
00000176: REVERT
00000177: JUMPDEST
00000178: DUP1
00000179: PUSH1 0xcc
0000017b: EQ
0000017c: PUSH2 0x02bc
0000017f: JUMPI
00000180: DUP1
00000181: PUSH1 0xd7
00000183: EQ
00000184: PUSH2 0x02cf
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x15e2b6cd
0000018e: EQ
0000018f: PUSH2 0x02e2
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x17f8f44d
00000199: EQ
0000019a: PUSH2 0x0301
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x1f000000
000001a4: EQ
000001a5: PUSH2 0x0320
000001a8: JUMPI
000001a9: PUSH0
000001aa: PUSH0
000001ab: REVERT
000001ac: JUMPDEST
000001ad: DUP1
000001ae: PUSH1 0x50
000001b0: GT
000001b1: PUSH2 0x01e0
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH1 0x50
000001b8: EQ
000001b9: PUSH2 0x025d
000001bc: JUMPI
000001bd: DUP1
000001be: PUSH1 0x67
000001c0: EQ
000001c1: PUSH2 0x0270
000001c4: JUMPI
000001c5: DUP1
000001c6: PUSH1 0x69
000001c8: EQ
000001c9: PUSH2 0x0283
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH1 0xb9
000001d0: EQ
000001d1: PUSH2 0x0296
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH1 0xc3
000001d8: EQ
000001d9: PUSH2 0x02a9
000001dc: JUMPI
000001dd: PUSH0
000001de: PUSH0
000001df: REVERT
000001e0: JUMPDEST
000001e1: DUP1
000001e2: PUSH1 0x02
000001e4: EQ
000001e5: PUSH2 0x020f
000001e8: JUMPI
000001e9: DUP1
000001ea: PUSH1 0x24
000001ec: EQ
000001ed: PUSH2 0x0224
000001f0: JUMPI
000001f1: DUP1
000001f2: PUSH1 0x35
000001f4: EQ
000001f5: PUSH2 0x0237
000001f8: JUMPI
000001f9: DUP1
000001fa: PUSH1 0x40
000001fc: EQ
000001fd: PUSH2 0x024a
00000200: JUMPI
00000201: PUSH0
00000202: PUSH0
00000203: REVERT
00000204: JUMPDEST
00000205: CALLDATASIZE
00000206: PUSH2 0x020b
00000209: JUMPI
0000020a: STOP
0000020b: JUMPDEST
0000020c: PUSH0
0000020d: PUSH0
0000020e: REVERT
0000020f: JUMPDEST
00000210: PUSH2 0x0222
00000213: PUSH2 0x021d
00000216: CALLDATASIZE
00000217: PUSH1 0x04
00000219: PUSH2 0x2f60
0000021c: JUMP
0000021d: JUMPDEST
0000021e: PUSH2 0x058b
00000221: JUMP
00000222: JUMPDEST
00000223: STOP
00000224: JUMPDEST
00000225: PUSH2 0x0222
00000228: PUSH2 0x0232
0000022b: CALLDATASIZE
0000022c: PUSH1 0x04
0000022e: PUSH2 0x2fc2
00000231: JUMP
00000232: JUMPDEST
00000233: PUSH2 0x05f5
00000236: JUMP
00000237: JUMPDEST
00000238: PUSH2 0x0222
0000023b: PUSH2 0x0245
0000023e: CALLDATASIZE
0000023f: PUSH1 0x04
00000241: PUSH2 0x3067
00000244: JUMP
00000245: JUMPDEST
00000246: PUSH2 0x065b
00000249: JUMP
0000024a: JUMPDEST
0000024b: PUSH2 0x0222
0000024e: PUSH2 0x0258
00000251: CALLDATASIZE
00000252: PUSH1 0x04
00000254: PUSH2 0x30ca
00000257: JUMP
00000258: JUMPDEST
00000259: PUSH2 0x06b7
0000025c: JUMP
0000025d: JUMPDEST
0000025e: PUSH2 0x0222
00000261: PUSH2 0x026b
00000264: CALLDATASIZE
00000265: PUSH1 0x04
00000267: PUSH2 0x3122
0000026a: JUMP
0000026b: JUMPDEST
0000026c: PUSH2 0x070a
0000026f: JUMP
00000270: JUMPDEST
00000271: PUSH2 0x0222
00000274: PUSH2 0x027e
00000277: CALLDATASIZE
00000278: PUSH1 0x04
0000027a: PUSH2 0x3195
0000027d: JUMP
0000027e: JUMPDEST
0000027f: PUSH2 0x0768
00000282: JUMP
00000283: JUMPDEST
00000284: PUSH2 0x0222
00000287: PUSH2 0x0291
0000028a: CALLDATASIZE
0000028b: PUSH1 0x04
0000028d: PUSH2 0x3230
00000290: JUMP
00000291: JUMPDEST
00000292: PUSH2 0x07d3
00000295: JUMP
00000296: JUMPDEST
00000297: PUSH2 0x0222
0000029a: PUSH2 0x02a4
0000029d: CALLDATASIZE
0000029e: PUSH1 0x04
000002a0: PUSH2 0x3289
000002a3: JUMP
000002a4: JUMPDEST
000002a5: PUSH2 0x082d
000002a8: JUMP
000002a9: JUMPDEST
000002aa: PUSH2 0x0222
000002ad: PUSH2 0x02b7
000002b0: CALLDATASIZE
000002b1: PUSH1 0x04
000002b3: PUSH2 0x332f
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH2 0x0880
000002bb: JUMP
000002bc: JUMPDEST
000002bd: PUSH2 0x0222
000002c0: PUSH2 0x02ca
000002c3: CALLDATASIZE
000002c4: PUSH1 0x04
000002c6: PUSH2 0x336e
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH2 0x09e4
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x0222
000002d3: PUSH2 0x02dd
000002d6: CALLDATASIZE
000002d7: PUSH1 0x04
000002d9: PUSH2 0x3230
000002dc: JUMP
000002dd: JUMPDEST
000002de: PUSH2 0x0a47
000002e1: JUMP
000002e2: JUMPDEST
000002e3: CALLVALUE
000002e4: DUP1
000002e5: ISZERO
000002e6: PUSH2 0x02ed
000002e9: JUMPI
000002ea: PUSH0
000002eb: PUSH0
000002ec: REVERT
000002ed: JUMPDEST
000002ee: POP
000002ef: PUSH2 0x0222
000002f2: PUSH2 0x02fc
000002f5: CALLDATASIZE
000002f6: PUSH1 0x04
000002f8: PUSH2 0x33ac
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH2 0x0aa1
00000300: JUMP
00000301: JUMPDEST
00000302: CALLVALUE
00000303: DUP1
00000304: ISZERO
00000305: PUSH2 0x030c
00000308: JUMPI
00000309: PUSH0
0000030a: PUSH0
0000030b: REVERT
0000030c: JUMPDEST
0000030d: POP
0000030e: PUSH2 0x0222
00000311: PUSH2 0x031b
00000314: CALLDATASIZE
00000315: PUSH1 0x04
00000317: PUSH2 0x33ac
0000031a: JUMP
0000031b: JUMPDEST
0000031c: PUSH2 0x0b03
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH2 0x0222
00000324: PUSH2 0x032e
00000327: CALLDATASIZE
00000328: PUSH1 0x04
0000032a: PUSH2 0x33ce
0000032d: JUMP
0000032e: JUMPDEST
0000032f: PUSH2 0x0b4f
00000332: JUMP
00000333: JUMPDEST
00000334: CALLVALUE
00000335: DUP1
00000336: ISZERO
00000337: PUSH2 0x033e
0000033a: JUMPI
0000033b: PUSH0
0000033c: PUSH0
0000033d: REVERT
0000033e: JUMPDEST
0000033f: POP
00000340: PUSH2 0x0222
00000343: PUSH2 0x034d
00000346: CALLDATASIZE
00000347: PUSH1 0x04
00000349: PUSH2 0x3456
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH2 0x0bbc
00000351: JUMP
00000352: JUMPDEST
00000353: CALLVALUE
00000354: DUP1
00000355: ISZERO
00000356: PUSH2 0x035d
00000359: JUMPI
0000035a: PUSH0
0000035b: PUSH0
0000035c: REVERT
0000035d: JUMPDEST
0000035e: POP
0000035f: PUSH2 0x0222
00000362: PUSH2 0x036c
00000365: CALLDATASIZE
00000366: PUSH1 0x04
00000368: PUSH2 0x34a5
0000036b: JUMP
0000036c: JUMPDEST
0000036d: PUSH2 0x0bc8
00000370: JUMP
00000371: JUMPDEST
00000372: CALLVALUE
00000373: DUP1
00000374: ISZERO
00000375: PUSH2 0x037c
00000378: JUMPI
00000379: PUSH0
0000037a: PUSH0
0000037b: REVERT
0000037c: JUMPDEST
0000037d: POP
0000037e: PUSH2 0x0222
00000381: PUSH2 0x038b
00000384: CALLDATASIZE
00000385: PUSH1 0x04
00000387: PUSH2 0x33ac
0000038a: JUMP
0000038b: JUMPDEST
0000038c: PUSH2 0x0c55
0000038f: JUMP
00000390: JUMPDEST
00000391: PUSH2 0x0222
00000394: PUSH2 0x039e
00000397: CALLDATASIZE
00000398: PUSH1 0x04
0000039a: PUSH2 0x34bc
0000039d: JUMP
0000039e: JUMPDEST
0000039f: PUSH2 0x0ca0
000003a2: JUMP
000003a3: JUMPDEST
000003a4: CALLVALUE
000003a5: DUP1
000003a6: ISZERO
000003a7: PUSH2 0x03ae
000003aa: JUMPI
000003ab: PUSH0
000003ac: PUSH0
000003ad: REVERT
000003ae: JUMPDEST
000003af: POP
000003b0: PUSH2 0x0222
000003b3: PUSH2 0x03bd
000003b6: CALLDATASIZE
000003b7: PUSH1 0x04
000003b9: PUSH2 0x33ac
000003bc: JUMP
000003bd: JUMPDEST
000003be: PUSH2 0x0cfa
000003c1: JUMP
000003c2: JUMPDEST
000003c3: CALLVALUE
000003c4: DUP1
000003c5: ISZERO
000003c6: PUSH2 0x03cd
000003c9: JUMPI
000003ca: PUSH0
000003cb: PUSH0
000003cc: REVERT
000003cd: JUMPDEST
000003ce: POP
000003cf: PUSH2 0x0222
000003d2: PUSH2 0x03dc
000003d5: CALLDATASIZE
000003d6: PUSH1 0x04
000003d8: PUSH2 0x3554
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH2 0x0d5c
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH2 0x0222
000003e5: PUSH2 0x03ef
000003e8: CALLDATASIZE
000003e9: PUSH1 0x04
000003eb: PUSH2 0x33ce
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH2 0x0f8e
000003f3: JUMP
000003f4: JUMPDEST
000003f5: CALLVALUE
000003f6: DUP1
000003f7: ISZERO
000003f8: PUSH2 0x03ff
000003fb: JUMPI
000003fc: PUSH0
000003fd: PUSH0
000003fe: REVERT
000003ff: JUMPDEST
00000400: POP
00000401: PUSH2 0x0222
00000404: PUSH2 0x040e
00000407: CALLDATASIZE
00000408: PUSH1 0x04
0000040a: PUSH2 0x35b4
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH2 0x0fee
00000412: JUMP
00000413: JUMPDEST
00000414: CALLVALUE
00000415: DUP1
00000416: ISZERO
00000417: PUSH2 0x041e
0000041a: JUMPI
0000041b: PUSH0
0000041c: PUSH0
0000041d: REVERT
0000041e: JUMPDEST
0000041f: POP
00000420: PUSH2 0x0222
00000423: PUSH2 0x042d
00000426: CALLDATASIZE
00000427: PUSH1 0x04
00000429: PUSH2 0x35b4
0000042c: JUMP
0000042d: JUMPDEST
0000042e: PUSH2 0x106f
00000431: JUMP
00000432: JUMPDEST
00000433: PUSH2 0x0222
00000436: PUSH2 0x1102
00000439: JUMP
0000043a: JUMPDEST
0000043b: CALLVALUE
0000043c: DUP1
0000043d: ISZERO
0000043e: PUSH2 0x0445
00000441: JUMPI
00000442: PUSH0
00000443: PUSH0
00000444: REVERT
00000445: JUMPDEST
00000446: POP
00000447: PUSH2 0x0222
0000044a: PUSH2 0x1161
0000044d: JUMP
0000044e: JUMPDEST
0000044f: CALLVALUE
00000450: DUP1
00000451: ISZERO
00000452: PUSH2 0x0459
00000455: JUMPI
00000456: PUSH0
00000457: PUSH0
00000458: REVERT
00000459: JUMPDEST
0000045a: POP
0000045b: PUSH2 0x0222
0000045e: PUSH2 0x0468
00000461: CALLDATASIZE
00000462: PUSH1 0x04
00000464: PUSH2 0x33ac
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH2 0x1206
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH2 0x0222
00000471: PUSH2 0x047b
00000474: CALLDATASIZE
00000475: PUSH1 0x04
00000477: PUSH2 0x3289
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH2 0x1252
0000047f: JUMP
00000480: JUMPDEST
00000481: CALLVALUE
00000482: DUP1
00000483: ISZERO
00000484: PUSH2 0x048b
00000487: JUMPI
00000488: PUSH0
00000489: PUSH0
0000048a: REVERT
0000048b: JUMPDEST
0000048c: POP
0000048d: PUSH2 0x0222
00000490: PUSH2 0x049a
00000493: CALLDATASIZE
00000494: PUSH1 0x04
00000496: PUSH2 0x35e7
00000499: JUMP
0000049a: JUMPDEST
0000049b: PUSH2 0x12a5
0000049e: JUMP
0000049f: JUMPDEST
000004a0: CALLVALUE
000004a1: DUP1
000004a2: ISZERO
000004a3: PUSH2 0x04aa
000004a6: JUMPI
000004a7: PUSH0
000004a8: PUSH0
000004a9: REVERT
000004aa: JUMPDEST
000004ab: POP
000004ac: PUSH2 0x0222
000004af: PUSH2 0x04b9
000004b2: CALLDATASIZE
000004b3: PUSH1 0x04
000004b5: PUSH2 0x33ac
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x12af
000004bd: JUMP
000004be: JUMPDEST
000004bf: CALLVALUE
000004c0: DUP1
000004c1: ISZERO
000004c2: PUSH2 0x04c9
000004c5: JUMPI
000004c6: PUSH0
000004c7: PUSH0
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: PUSH2 0x0222
000004ce: PUSH2 0x04d8
000004d1: CALLDATASIZE
000004d2: PUSH1 0x04
000004d4: PUSH2 0x33ac
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH2 0x1311
000004dc: JUMP
000004dd: JUMPDEST
000004de: PUSH2 0x0222
000004e1: PUSH2 0x04eb
000004e4: CALLDATASIZE
000004e5: PUSH1 0x04
000004e7: PUSH2 0x3611
000004ea: JUMP
000004eb: JUMPDEST
000004ec: PUSH2 0x1373
000004ef: JUMP
000004f0: JUMPDEST
000004f1: CALLVALUE
000004f2: DUP1
000004f3: ISZERO
000004f4: PUSH2 0x04fb
000004f7: JUMPI
000004f8: PUSH0
000004f9: PUSH0
000004fa: REVERT
000004fb: JUMPDEST
000004fc: POP
000004fd: PUSH2 0x0222
00000500: PUSH2 0x050a
00000503: CALLDATASIZE
00000504: PUSH1 0x04
00000506: PUSH2 0x35b4
00000509: JUMP
0000050a: JUMPDEST
0000050b: PUSH2 0x13db
0000050e: JUMP
0000050f: JUMPDEST
00000510: CALLVALUE
00000511: DUP1
00000512: ISZERO
00000513: PUSH2 0x051a
00000516: JUMPI
00000517: PUSH0
00000518: PUSH0
00000519: REVERT
0000051a: JUMPDEST
0000051b: POP
0000051c: PUSH2 0x0222
0000051f: PUSH2 0x0529
00000522: CALLDATASIZE
00000523: PUSH1 0x04
00000525: PUSH2 0x33ac
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH2 0x145e
0000052d: JUMP
0000052e: JUMPDEST
0000052f: CALLVALUE
00000530: DUP1
00000531: ISZERO
00000532: PUSH2 0x0539
00000535: JUMPI
00000536: PUSH0
00000537: PUSH0
00000538: REVERT
00000539: JUMPDEST
0000053a: POP
0000053b: PUSH2 0x0222
0000053e: PUSH2 0x0548
00000541: CALLDATASIZE
00000542: PUSH1 0x04
00000544: PUSH2 0x35e7
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH2 0x14ac
0000054c: JUMP
0000054d: JUMPDEST
0000054e: CALLVALUE
0000054f: DUP1
00000550: ISZERO
00000551: PUSH2 0x0558
00000554: JUMPI
00000555: PUSH0
00000556: PUSH0
00000557: REVERT
00000558: JUMPDEST
00000559: POP
0000055a: PUSH2 0x0222
0000055d: PUSH2 0x0567
00000560: CALLDATASIZE
00000561: PUSH1 0x04
00000563: PUSH2 0x36b6
00000566: JUMP
00000567: JUMPDEST
00000568: PUSH2 0x160a
0000056b: JUMP
0000056c: JUMPDEST
0000056d: CALLVALUE
0000056e: DUP1
0000056f: ISZERO
00000570: PUSH2 0x0577
00000573: JUMPI
00000574: PUSH0
00000575: PUSH0
00000576: REVERT
00000577: JUMPDEST
00000578: POP
00000579: PUSH2 0x0222
0000057c: PUSH2 0x0586
0000057f: CALLDATASIZE
00000580: PUSH1 0x04
00000582: PUSH2 0x33ac
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH2 0x16dc
0000058a: JUMP
0000058b: JUMPDEST
0000058c: CALLVALUE
0000058d: NUMBER
0000058e: EQ
0000058f: PUSH2 0x05b3
00000592: JUMPI
00000593: PUSH1 0x40
00000595: MLOAD
00000596: PUSH3 0x461bcd
0000059a: PUSH1 0xe5
0000059c: SHL
0000059d: DUP2
0000059e: MSTORE
0000059f: PUSH1 0x04
000005a1: ADD
000005a2: PUSH2 0x05aa
000005a5: SWAP1
000005a6: PUSH2 0x36f4
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH1 0x40
000005ad: MLOAD
000005ae: DUP1
000005af: SWAP2
000005b0: SUB
000005b1: SWAP1
000005b2: REVERT
000005b3: JUMPDEST
000005b4: CALLER
000005b5: PUSH0
000005b6: SWAP1
000005b7: DUP2
000005b8: MSTORE
000005b9: PUSH1 0x02
000005bb: PUSH1 0x20
000005bd: MSTORE
000005be: PUSH1 0x40
000005c0: SWAP1
000005c1: KECCAK256
000005c2: SLOAD
000005c3: PUSH1 0xff
000005c5: AND
000005c6: PUSH2 0x05e1
000005c9: JUMPI
000005ca: PUSH1 0x40
000005cc: MLOAD
000005cd: PUSH3 0x461bcd
000005d1: PUSH1 0xe5
000005d3: SHL
000005d4: DUP2
000005d5: MSTORE
000005d6: PUSH1 0x04
000005d8: ADD
000005d9: PUSH2 0x05aa
000005dc: SWAP1
000005dd: PUSH2 0x370f
000005e0: JUMP
000005e1: JUMPDEST
000005e2: PUSH2 0x05ee
000005e5: DUP6
000005e6: DUP6
000005e7: DUP6
000005e8: DUP6
000005e9: DUP6
000005ea: PUSH2 0x1741
000005ed: JUMP
000005ee: JUMPDEST
000005ef: POP
000005f0: POP
000005f1: POP
000005f2: POP
000005f3: POP
000005f4: JUMP
000005f5: JUMPDEST
000005f6: CALLVALUE
000005f7: NUMBER
000005f8: EQ
000005f9: PUSH2 0x0614
000005fc: JUMPI
000005fd: PUSH1 0x40
000005ff: MLOAD
00000600: PUSH3 0x461bcd
00000604: PUSH1 0xe5
00000606: SHL
00000607: DUP2
00000608: MSTORE
00000609: PUSH1 0x04
0000060b: ADD
0000060c: PUSH2 0x05aa
0000060f: SWAP1
00000610: PUSH2 0x36f4
00000613: JUMP
00000614: JUMPDEST
00000615: DUP11
00000616: PUSH2 0x061f
00000619: CALLER
0000061a: DUP3
0000061b: PUSH2 0x1898
0000061e: JUMP
0000061f: JUMPDEST
00000620: PUSH2 0x063b
00000623: JUMPI
00000624: PUSH1 0x40
00000626: MLOAD
00000627: PUSH3 0x461bcd
0000062b: PUSH1 0xe5
0000062d: SHL
0000062e: DUP2
0000062f: MSTORE
00000630: PUSH1 0x04
00000632: ADD
00000633: PUSH2 0x05aa
00000636: SWAP1
00000637: PUSH2 0x370f
0000063a: JUMP
0000063b: JUMPDEST
0000063c: PUSH2 0x064d
0000063f: DUP12
00000640: DUP12
00000641: DUP12
00000642: DUP12
00000643: DUP12
00000644: DUP12
00000645: DUP12
00000646: DUP12
00000647: DUP12
00000648: DUP12
00000649: PUSH2 0x18e1
0000064c: JUMP
0000064d: JUMPDEST
0000064e: POP
0000064f: POP
00000650: POP
00000651: POP
00000652: POP
00000653: POP
00000654: POP
00000655: POP
00000656: POP
00000657: POP
00000658: POP
00000659: POP
0000065a: JUMP
0000065b: JUMPDEST
0000065c: CALLVALUE
0000065d: NUMBER
0000065e: EQ
0000065f: PUSH2 0x067a
00000662: JUMPI
00000663: PUSH1 0x40
00000665: MLOAD
00000666: PUSH3 0x461bcd
0000066a: PUSH1 0xe5
0000066c: SHL
0000066d: DUP2
0000066e: MSTORE
0000066f: PUSH1 0x04
00000671: ADD
00000672: PUSH2 0x05aa
00000675: SWAP1
00000676: PUSH2 0x36f4
00000679: JUMP
0000067a: JUMPDEST
0000067b: DUP6
0000067c: PUSH2 0x0685
0000067f: CALLER
00000680: DUP3
00000681: PUSH2 0x1898
00000684: JUMP
00000685: JUMPDEST
00000686: PUSH2 0x06a1
00000689: JUMPI
0000068a: PUSH1 0x40
0000068c: MLOAD
0000068d: PUSH3 0x461bcd
00000691: PUSH1 0xe5
00000693: SHL
00000694: DUP2
00000695: MSTORE
00000696: PUSH1 0x04
00000698: ADD
00000699: PUSH2 0x05aa
0000069c: SWAP1
0000069d: PUSH2 0x370f
000006a0: JUMP
000006a1: JUMPDEST
000006a2: PUSH2 0x06ae
000006a5: DUP7
000006a6: DUP7
000006a7: DUP7
000006a8: DUP7
000006a9: DUP7
000006aa: PUSH2 0x1af1
000006ad: JUMP
000006ae: JUMPDEST
000006af: POP
000006b0: POP
000006b1: POP
000006b2: POP
000006b3: POP
000006b4: POP
000006b5: POP
000006b6: JUMP
000006b7: JUMPDEST
000006b8: CALLVALUE
000006b9: NUMBER
000006ba: EQ
000006bb: PUSH2 0x06d6
000006be: JUMPI
000006bf: PUSH1 0x40
000006c1: MLOAD
000006c2: PUSH3 0x461bcd
000006c6: PUSH1 0xe5
000006c8: SHL
000006c9: DUP2
000006ca: MSTORE
000006cb: PUSH1 0x04
000006cd: ADD
000006ce: PUSH2 0x05aa
000006d1: SWAP1
000006d2: PUSH2 0x36f4
000006d5: JUMP
000006d6: JUMPDEST
000006d7: DUP6
000006d8: PUSH2 0x06e1
000006db: CALLER
000006dc: DUP3
000006dd: PUSH2 0x1898
000006e0: JUMP
000006e1: JUMPDEST
000006e2: PUSH2 0x06fd
000006e5: JUMPI
000006e6: PUSH1 0x40
000006e8: MLOAD
000006e9: PUSH3 0x461bcd
000006ed: PUSH1 0xe5
000006ef: SHL
000006f0: DUP2
000006f1: MSTORE
000006f2: PUSH1 0x04
000006f4: ADD
000006f5: PUSH2 0x05aa
000006f8: SWAP1
000006f9: PUSH2 0x370f
000006fc: JUMP
000006fd: JUMPDEST
000006fe: PUSH2 0x06ae
00000701: DUP7
00000702: DUP7
00000703: DUP7
00000704: DUP7
00000705: DUP7
00000706: PUSH2 0x1741
00000709: JUMP
0000070a: JUMPDEST
0000070b: CALLVALUE
0000070c: NUMBER
0000070d: EQ
0000070e: PUSH2 0x0729
00000711: JUMPI
00000712: PUSH1 0x40
00000714: MLOAD
00000715: PUSH3 0x461bcd
00000719: PUSH1 0xe5
0000071b: SHL
0000071c: DUP2
0000071d: MSTORE
0000071e: PUSH1 0x04
00000720: ADD
00000721: PUSH2 0x05aa
00000724: SWAP1
00000725: PUSH2 0x36f4
00000728: JUMP
00000729: JUMPDEST
0000072a: DUP7
0000072b: PUSH2 0x0734
0000072e: CALLER
0000072f: DUP3
00000730: PUSH2 0x1898
00000733: JUMP
00000734: JUMPDEST
00000735: PUSH2 0x0750
00000738: JUMPI
00000739: PUSH1 0x40
0000073b: MLOAD
0000073c: PUSH3 0x461bcd
00000740: PUSH1 0xe5
00000742: SHL
00000743: DUP2
00000744: MSTORE
00000745: PUSH1 0x04
00000747: ADD
00000748: PUSH2 0x05aa
0000074b: SWAP1
0000074c: PUSH2 0x370f
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH2 0x075e
00000754: DUP8
00000755: DUP8
00000756: DUP8
00000757: DUP8
00000758: DUP8
00000759: DUP8
0000075a: PUSH2 0x1bd1
0000075d: JUMP
0000075e: JUMPDEST
0000075f: POP
00000760: POP
00000761: POP
00000762: POP
00000763: POP
00000764: POP
00000765: POP
00000766: POP
00000767: JUMP
00000768: JUMPDEST
00000769: CALLVALUE
0000076a: NUMBER
0000076b: EQ
0000076c: PUSH2 0x0787
0000076f: JUMPI
00000770: PUSH1 0x40
00000772: MLOAD
00000773: PUSH3 0x461bcd
00000777: PUSH1 0xe5
00000779: SHL
0000077a: DUP2
0000077b: MSTORE
0000077c: PUSH1 0x04
0000077e: ADD
0000077f: PUSH2 0x05aa
00000782: SWAP1
00000783: PUSH2 0x36f4
00000786: JUMP
00000787: JUMPDEST
00000788: CALLER
00000789: PUSH0
0000078a: SWAP1
0000078b: DUP2
0000078c: MSTORE
0000078d: PUSH1 0x02
0000078f: PUSH1 0x20
00000791: MSTORE
00000792: PUSH1 0x40
00000794: SWAP1
00000795: KECCAK256
00000796: SLOAD
00000797: PUSH1 0xff
00000799: AND
0000079a: PUSH2 0x07b5
0000079d: JUMPI
0000079e: PUSH1 0x40
000007a0: MLOAD
000007a1: PUSH3 0x461bcd
000007a5: PUSH1 0xe5
000007a7: SHL
000007a8: DUP2
000007a9: MSTORE
000007aa: PUSH1 0x04
000007ac: ADD
000007ad: PUSH2 0x05aa
000007b0: SWAP1
000007b1: PUSH2 0x370f
000007b4: JUMP
000007b5: JUMPDEST
000007b6: PUSH2 0x07c7
000007b9: DUP11
000007ba: DUP11
000007bb: DUP11
000007bc: DUP11
000007bd: DUP11
000007be: DUP11
000007bf: DUP11
000007c0: DUP11
000007c1: DUP11
000007c2: DUP11
000007c3: PUSH2 0x18e1
000007c6: JUMP
000007c7: JUMPDEST
000007c8: POP
000007c9: POP
000007ca: POP
000007cb: POP
000007cc: POP
000007cd: POP
000007ce: POP
000007cf: POP
000007d0: POP
000007d1: POP
000007d2: JUMP
000007d3: JUMPDEST
000007d4: CALLVALUE
000007d5: NUMBER
000007d6: EQ
000007d7: PUSH2 0x07f2
000007da: JUMPI
000007db: PUSH1 0x40
000007dd: MLOAD
000007de: PUSH3 0x461bcd
000007e2: PUSH1 0xe5
000007e4: SHL
000007e5: DUP2
000007e6: MSTORE
000007e7: PUSH1 0x04
000007e9: ADD
000007ea: PUSH2 0x05aa
000007ed: SWAP1
000007ee: PUSH2 0x36f4
000007f1: JUMP
000007f2: JUMPDEST
000007f3: CALLER
000007f4: PUSH0
000007f5: SWAP1
000007f6: DUP2
000007f7: MSTORE
000007f8: PUSH1 0x02
000007fa: PUSH1 0x20
000007fc: MSTORE
000007fd: PUSH1 0x40
000007ff: SWAP1
00000800: KECCAK256
00000801: SLOAD
00000802: PUSH1 0xff
00000804: AND
00000805: PUSH2 0x0820
00000808: JUMPI
00000809: PUSH1 0x40
0000080b: MLOAD
0000080c: PUSH3 0x461bcd
00000810: PUSH1 0xe5
00000812: SHL
00000813: DUP2
00000814: MSTORE
00000815: PUSH1 0x04
00000817: ADD
00000818: PUSH2 0x05aa
0000081b: SWAP1
0000081c: PUSH2 0x370f
0000081f: JUMP
00000820: JUMPDEST
00000821: PUSH2 0x05ee
00000824: DUP6
00000825: DUP6
00000826: DUP6
00000827: DUP6
00000828: DUP6
00000829: PUSH2 0x213f
0000082c: JUMP
0000082d: JUMPDEST
0000082e: CALLVALUE
0000082f: NUMBER
00000830: EQ
00000831: PUSH2 0x084c
00000834: JUMPI
00000835: PUSH1 0x40
00000837: MLOAD
00000838: PUSH3 0x461bcd
0000083c: PUSH1 0xe5
0000083e: SHL
0000083f: DUP2
00000840: MSTORE
00000841: PUSH1 0x04
00000843: ADD
00000844: PUSH2 0x05aa
00000847: SWAP1
00000848: PUSH2 0x36f4
0000084b: JUMP
0000084c: JUMPDEST
0000084d: DUP6
0000084e: PUSH2 0x0857
00000851: CALLER
00000852: DUP3
00000853: PUSH2 0x1898
00000856: JUMP
00000857: JUMPDEST
00000858: PUSH2 0x0873
0000085b: JUMPI
0000085c: PUSH1 0x40
0000085e: MLOAD
0000085f: PUSH3 0x461bcd
00000863: PUSH1 0xe5
00000865: SHL
00000866: DUP2
00000867: MSTORE
00000868: PUSH1 0x04
0000086a: ADD
0000086b: PUSH2 0x05aa
0000086e: SWAP1
0000086f: PUSH2 0x370f
00000872: JUMP
00000873: JUMPDEST
00000874: PUSH2 0x06ae
00000877: DUP7
00000878: DUP7
00000879: DUP7
0000087a: DUP7
0000087b: DUP7
0000087c: PUSH2 0x2277
0000087f: JUMP
00000880: JUMPDEST
00000881: CALLVALUE
00000882: NUMBER
00000883: EQ
00000884: PUSH2 0x089f
00000887: JUMPI
00000888: PUSH1 0x40
0000088a: MLOAD
0000088b: PUSH3 0x461bcd
0000088f: PUSH1 0xe5
00000891: SHL
00000892: DUP2
00000893: MSTORE
00000894: PUSH1 0x04
00000896: ADD
00000897: PUSH2 0x05aa
0000089a: SWAP1
0000089b: PUSH2 0x36f4
0000089e: JUMP
0000089f: JUMPDEST
000008a0: PUSH20 0x5b43453fce04b92e190f391a83136bfbecedefd1
000008b5: CALLER
000008b6: EQ
000008b7: PUSH2 0x08d2
000008ba: JUMPI
000008bb: PUSH1 0x40
000008bd: MLOAD
000008be: PUSH3 0x461bcd
000008c2: PUSH1 0xe5
000008c4: SHL
000008c5: DUP2
000008c6: MSTORE
000008c7: PUSH1 0x04
000008c9: ADD
000008ca: PUSH2 0x05aa
000008cd: SWAP1
000008ce: PUSH2 0x370f
000008d1: JUMP
000008d2: JUMPDEST
000008d3: PUSH2 0x08dd
000008d6: PUSH1 0x69
000008d8: DUP3
000008d9: PUSH2 0x373e
000008dc: JUMP
000008dd: JUMPDEST
000008de: ISZERO
000008df: PUSH2 0x08fa
000008e2: JUMPI
000008e3: PUSH1 0x40
000008e5: MLOAD
000008e6: PUSH3 0x461bcd
000008ea: PUSH1 0xe5
000008ec: SHL
000008ed: DUP2
000008ee: MSTORE
000008ef: PUSH1 0x04
000008f1: ADD
000008f2: PUSH2 0x05aa
000008f5: SWAP1
000008f6: PUSH2 0x370f
000008f9: JUMP
000008fa: JUMPDEST
000008fb: PUSH0
000008fc: PUSH2 0x0906
000008ff: PUSH1 0x69
00000901: DUP4
00000902: PUSH2 0x3765
00000905: JUMP
00000906: JUMPDEST
00000907: SWAP1
00000908: POP
00000909: PUSH0
0000090a: JUMPDEST
0000090b: DUP2
0000090c: DUP2
0000090d: LT
0000090e: ISZERO
0000090f: PUSH2 0x09de
00000912: JUMPI
00000913: PUSH0
00000914: DUP1
00000915: DUP1
00000916: DUP1
00000917: DUP1
00000918: PUSH2 0x0954
0000091b: DUP10
0000091c: DUP10
0000091d: PUSH2 0x0927
00000920: DUP10
00000921: PUSH1 0x69
00000923: PUSH2 0x3778
00000926: JUMP
00000927: JUMPDEST
00000928: SWAP2
00000929: SWAP1
0000092a: SWAP2
0000092b: ADD
0000092c: DUP1
0000092d: CALLDATALOAD
0000092e: PUSH1 0xf8
00000930: SHR
00000931: SWAP3
00000932: PUSH1 0x01
00000934: DUP3
00000935: ADD
00000936: CALLDATALOAD
00000937: PUSH1 0x60
00000939: SWAP1
0000093a: DUP2
0000093b: SHR
0000093c: SWAP4
0000093d: POP
0000093e: PUSH1 0x15
00000940: DUP4
00000941: ADD
00000942: CALLDATALOAD
00000943: SWAP1
00000944: SHR
00000945: SWAP2
00000946: PUSH1 0x29
00000948: DUP2
00000949: ADD
0000094a: CALLDATALOAD
0000094b: SWAP2
0000094c: PUSH1 0x49
0000094e: SWAP1
0000094f: SWAP2
00000950: ADD
00000951: CALLDATALOAD
00000952: SWAP1
00000953: JUMP
00000954: JUMPDEST
00000955: SWAP5
00000956: POP
00000957: SWAP5
00000958: POP
00000959: SWAP5
0000095a: POP
0000095b: SWAP5
0000095c: POP
0000095d: SWAP5
0000095e: POP
0000095f: PUSH0
00000960: PUSH0
00000961: PUSH2 0x0971
00000964: DUP8
00000965: PUSH1 0x01
00000967: DUP2
00000968: DUP2
00000969: SHR
0000096a: SWAP3
0000096b: SWAP2
0000096c: DUP2
0000096d: AND
0000096e: EQ
0000096f: SWAP1
00000970: JUMP
00000971: JUMPDEST
00000972: SWAP2
00000973: POP
00000974: SWAP2
00000975: POP
00000976: DUP2
00000977: PUSH1 0x01
00000979: SUB
0000097a: PUSH2 0x0996
0000097d: JUMPI
0000097e: PUSH2 0x098a
00000981: DUP7
00000982: DUP3
00000983: DUP7
00000984: DUP7
00000985: DUP10
00000986: PUSH2 0x2277
00000989: JUMP
0000098a: JUMPDEST
0000098b: POP
0000098c: POP
0000098d: POP
0000098e: POP
0000098f: POP
00000990: POP
00000991: POP
00000992: PUSH2 0x09d6
00000995: JUMP
00000996: JUMPDEST
00000997: DUP2
00000998: PUSH0
00000999: SUB
0000099a: PUSH2 0x09aa
0000099d: JUMPI
0000099e: PUSH2 0x098a
000009a1: DUP7
000009a2: DUP3
000009a3: DUP7
000009a4: DUP7
000009a5: DUP10
000009a6: PUSH2 0x213f
000009a9: JUMP
000009aa: JUMPDEST
000009ab: PUSH1 0x40
000009ad: MLOAD
000009ae: PUSH3 0x461bcd
000009b2: PUSH1 0xe5
000009b4: SHL
000009b5: DUP2
000009b6: MSTORE
000009b7: PUSH1 0x20
000009b9: PUSH1 0x04
000009bb: DUP3
000009bc: ADD
000009bd: MSTORE
000009be: PUSH1 0x01
000009c0: PUSH1 0x24
000009c2: DUP3
000009c3: ADD
000009c4: MSTORE
000009c5: PUSH1 0x65
000009c7: PUSH1 0xf8
000009c9: SHL
000009ca: PUSH1 0x44
000009cc: DUP3
000009cd: ADD
000009ce: MSTORE
000009cf: PUSH1 0x64
000009d1: ADD
000009d2: PUSH2 0x05aa
000009d5: JUMP
000009d6: JUMPDEST
000009d7: PUSH1 0x01
000009d9: ADD
000009da: PUSH2 0x090a
000009dd: JUMP
000009de: JUMPDEST
000009df: POP
000009e0: POP
000009e1: POP
000009e2: POP
000009e3: JUMP
000009e4: JUMPDEST
000009e5: CALLVALUE
000009e6: NUMBER
000009e7: EQ
000009e8: PUSH2 0x0a03
000009eb: JUMPI
000009ec: PUSH1 0x40
000009ee: MLOAD
000009ef: PUSH3 0x461bcd
000009f3: PUSH1 0xe5
000009f5: SHL
000009f6: DUP2
000009f7: MSTORE
000009f8: PUSH1 0x04
000009fa: ADD
000009fb: PUSH2 0x05aa
000009fe: SWAP1
000009ff: PUSH2 0x36f4
00000a02: JUMP
00000a03: JUMPDEST
00000a04: CALLER
00000a05: PUSH0
00000a06: SWAP1
00000a07: DUP2
00000a08: MSTORE
00000a09: PUSH1 0x02
00000a0b: PUSH1 0x20
00000a0d: MSTORE
00000a0e: PUSH1 0x40
00000a10: SWAP1
00000a11: KECCAK256
00000a12: SLOAD
00000a13: PUSH1 0xff
00000a15: AND
00000a16: PUSH2 0x0a31
00000a19: JUMPI
00000a1a: PUSH1 0x40
00000a1c: MLOAD
00000a1d: PUSH3 0x461bcd
00000a21: PUSH1 0xe5
00000a23: SHL
00000a24: DUP2
00000a25: MSTORE
00000a26: PUSH1 0x04
00000a28: ADD
00000a29: PUSH2 0x05aa
00000a2c: SWAP1
00000a2d: PUSH2 0x370f
00000a30: JUMP
00000a31: JUMPDEST
00000a32: PUSH2 0x0a3f
00000a35: DUP7
00000a36: DUP7
00000a37: DUP7
00000a38: DUP7
00000a39: DUP7
00000a3a: DUP7
00000a3b: PUSH2 0x1bd1
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: POP
00000a41: POP
00000a42: POP
00000a43: POP
00000a44: POP
00000a45: POP
00000a46: JUMP
00000a47: JUMPDEST
00000a48: CALLVALUE
00000a49: NUMBER
00000a4a: EQ
00000a4b: PUSH2 0x0a66
00000a4e: JUMPI
00000a4f: PUSH1 0x40
00000a51: MLOAD
00000a52: PUSH3 0x461bcd
00000a56: PUSH1 0xe5
00000a58: SHL
00000a59: DUP2
00000a5a: MSTORE
00000a5b: PUSH1 0x04
00000a5d: ADD
00000a5e: PUSH2 0x05aa
00000a61: SWAP1
00000a62: PUSH2 0x36f4
00000a65: JUMP
00000a66: JUMPDEST
00000a67: CALLER
00000a68: PUSH0
00000a69: SWAP1
00000a6a: DUP2
00000a6b: MSTORE
00000a6c: PUSH1 0x02
00000a6e: PUSH1 0x20
00000a70: MSTORE
00000a71: PUSH1 0x40
00000a73: SWAP1
00000a74: KECCAK256
00000a75: SLOAD
00000a76: PUSH1 0xff
00000a78: AND
00000a79: PUSH2 0x0a94
00000a7c: JUMPI
00000a7d: PUSH1 0x40
00000a7f: MLOAD
00000a80: PUSH3 0x461bcd
00000a84: PUSH1 0xe5
00000a86: SHL
00000a87: DUP2
00000a88: MSTORE
00000a89: PUSH1 0x04
00000a8b: ADD
00000a8c: PUSH2 0x05aa
00000a8f: SWAP1
00000a90: PUSH2 0x370f
00000a93: JUMP
00000a94: JUMPDEST
00000a95: PUSH2 0x05ee
00000a98: DUP6
00000a99: DUP6
00000a9a: DUP6
00000a9b: DUP6
00000a9c: DUP6
00000a9d: PUSH2 0x2277
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: PUSH0
00000aa3: SLOAD
00000aa4: PUSH1 0x01
00000aa6: PUSH1 0x01
00000aa8: PUSH1 0xa0
00000aaa: SHL
00000aab: SUB
00000aac: AND
00000aad: CALLER
00000aae: EQ
00000aaf: DUP1
00000ab0: PUSH2 0x0ac7
00000ab3: JUMPI
00000ab4: POP
00000ab5: CALLER
00000ab6: PUSH0
00000ab7: SWAP1
00000ab8: DUP2
00000ab9: MSTORE
00000aba: PUSH1 0x03
00000abc: PUSH1 0x20
00000abe: MSTORE
00000abf: PUSH1 0x40
00000ac1: SWAP1
00000ac2: KECCAK256
00000ac3: SLOAD
00000ac4: PUSH1 0xff
00000ac6: AND
00000ac7: JUMPDEST
00000ac8: PUSH2 0x0ae3
00000acb: JUMPI
00000acc: PUSH1 0x40
00000ace: MLOAD
00000acf: PUSH3 0x461bcd
00000ad3: PUSH1 0xe5
00000ad5: SHL
00000ad6: DUP2
00000ad7: MSTORE
00000ad8: PUSH1 0x04
00000ada: ADD
00000adb: PUSH2 0x05aa
00000ade: SWAP1
00000adf: PUSH2 0x378f
00000ae2: JUMP
00000ae3: JUMPDEST
00000ae4: PUSH1 0x01
00000ae6: PUSH1 0x01
00000ae8: PUSH1 0xa0
00000aea: SHL
00000aeb: SUB
00000aec: AND
00000aed: PUSH0
00000aee: SWAP1
00000aef: DUP2
00000af0: MSTORE
00000af1: PUSH1 0x04
00000af3: PUSH1 0x20
00000af5: MSTORE
00000af6: PUSH1 0x40
00000af8: SWAP1
00000af9: KECCAK256
00000afa: DUP1
00000afb: SLOAD
00000afc: PUSH1 0xff
00000afe: NOT
00000aff: AND
00000b00: SWAP1
00000b01: SSTORE
00000b02: JUMP
00000b03: JUMPDEST
00000b04: PUSH0
00000b05: SLOAD
00000b06: PUSH1 0x01
00000b08: PUSH1 0x01
00000b0a: PUSH1 0xa0
00000b0c: SHL
00000b0d: SUB
00000b0e: AND
00000b0f: CALLER
00000b10: EQ
00000b11: PUSH2 0x0b2c
00000b14: JUMPI
00000b15: PUSH1 0x40
00000b17: MLOAD
00000b18: PUSH3 0x461bcd
00000b1c: PUSH1 0xe5
00000b1e: SHL
00000b1f: DUP2
00000b20: MSTORE
00000b21: PUSH1 0x04
00000b23: ADD
00000b24: PUSH2 0x05aa
00000b27: SWAP1
00000b28: PUSH2 0x37aa
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: PUSH1 0x01
00000b2f: PUSH1 0x01
00000b31: PUSH1 0xa0
00000b33: SHL
00000b34: SUB
00000b35: AND
00000b36: PUSH0
00000b37: SWAP1
00000b38: DUP2
00000b39: MSTORE
00000b3a: PUSH1 0x03
00000b3c: PUSH1 0x20
00000b3e: MSTORE
00000b3f: PUSH1 0x40
00000b41: SWAP1
00000b42: KECCAK256
00000b43: DUP1
00000b44: SLOAD
00000b45: PUSH1 0xff
00000b47: NOT
00000b48: AND
00000b49: PUSH1 0x01
00000b4b: OR
00000b4c: SWAP1
00000b4d: SSTORE
00000b4e: JUMP
00000b4f: JUMPDEST
00000b50: CALLVALUE
00000b51: NUMBER
00000b52: EQ
00000b53: PUSH2 0x0b6e
00000b56: JUMPI
00000b57: PUSH1 0x40
00000b59: MLOAD
00000b5a: PUSH3 0x461bcd
00000b5e: PUSH1 0xe5
00000b60: SHL
00000b61: DUP2
00000b62: MSTORE
00000b63: PUSH1 0x04
00000b65: ADD
00000b66: PUSH2 0x05aa
00000b69: SWAP1
00000b6a: PUSH2 0x36f4
00000b6d: JUMP
00000b6e: JUMPDEST
00000b6f: CALLER
00000b70: PUSH0
00000b71: SWAP1
00000b72: DUP2
00000b73: MSTORE
00000b74: PUSH1 0x02
00000b76: PUSH1 0x20
00000b78: MSTORE
00000b79: PUSH1 0x40
00000b7b: SWAP1
00000b7c: KECCAK256
00000b7d: SLOAD
00000b7e: PUSH1 0xff
00000b80: AND
00000b81: PUSH2 0x0b9c
00000b84: JUMPI
00000b85: PUSH1 0x40
00000b87: MLOAD
00000b88: PUSH3 0x461bcd
00000b8c: PUSH1 0xe5
00000b8e: SHL
00000b8f: DUP2
00000b90: MSTORE
00000b91: PUSH1 0x04
00000b93: ADD
00000b94: PUSH2 0x05aa
00000b97: SWAP1
00000b98: PUSH2 0x370f
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: PUSH2 0x0baf
00000ba0: DUP12
00000ba1: DUP12
00000ba2: DUP12
00000ba3: DUP12
00000ba4: DUP12
00000ba5: DUP8
00000ba6: DUP13
00000ba7: DUP13
00000ba8: DUP13
00000ba9: DUP13
00000baa: DUP12
00000bab: PUSH2 0x240d
00000bae: JUMP
00000baf: JUMPDEST
00000bb0: POP
00000bb1: POP
00000bb2: POP
00000bb3: POP
00000bb4: POP
00000bb5: POP
00000bb6: POP
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: POP
00000bbb: JUMP
00000bbc: JUMPDEST
00000bbd: PUSH2 0x09de
00000bc0: DUP5
00000bc1: DUP5
00000bc2: DUP5
00000bc3: DUP5
00000bc4: PUSH2 0x2614
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: CALLER
00000bca: PUSH0
00000bcb: SWAP1
00000bcc: DUP2
00000bcd: MSTORE
00000bce: PUSH1 0x04
00000bd0: PUSH1 0x20
00000bd2: MSTORE
00000bd3: PUSH1 0x40
00000bd5: SWAP1
00000bd6: KECCAK256
00000bd7: SLOAD
00000bd8: PUSH1 0xff
00000bda: AND
00000bdb: PUSH2 0x0bf6
00000bde: JUMPI
00000bdf: PUSH1 0x40
00000be1: MLOAD
00000be2: PUSH3 0x461bcd
00000be6: PUSH1 0xe5
00000be8: SHL
00000be9: DUP2
00000bea: MSTORE
00000beb: PUSH1 0x04
00000bed: ADD
00000bee: PUSH2 0x05aa
00000bf1: SWAP1
00000bf2: PUSH2 0x37c5
00000bf5: JUMP
00000bf6: JUMPDEST
00000bf7: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000c0c: PUSH1 0x01
00000c0e: PUSH1 0x01
00000c10: PUSH1 0xa0
00000c12: SHL
00000c13: SUB
00000c14: AND
00000c15: PUSH4 0xd0e30db0
00000c1a: DUP3
00000c1b: PUSH1 0x40
00000c1d: MLOAD
00000c1e: DUP3
00000c1f: PUSH4 0xffffffff
00000c24: AND
00000c25: PUSH1 0xe0
00000c27: SHL
00000c28: DUP2
00000c29: MSTORE
00000c2a: PUSH1 0x04
00000c2c: ADD
00000c2d: PUSH0
00000c2e: PUSH1 0x40
00000c30: MLOAD
00000c31: DUP1
00000c32: DUP4
00000c33: SUB
00000c34: DUP2
00000c35: DUP6
00000c36: DUP9
00000c37: DUP1
00000c38: EXTCODESIZE
00000c39: ISZERO
00000c3a: DUP1
00000c3b: ISZERO
00000c3c: PUSH2 0x0c43
00000c3f: JUMPI
00000c40: PUSH0
00000c41: PUSH0
00000c42: REVERT
00000c43: JUMPDEST
00000c44: POP
00000c45: GAS
00000c46: CALL
00000c47: ISZERO
00000c48: DUP1
00000c49: ISZERO
00000c4a: PUSH2 0x0a3f
00000c4d: JUMPI
00000c4e: RETURNDATASIZE
00000c4f: PUSH0
00000c50: PUSH0
00000c51: RETURNDATACOPY
00000c52: RETURNDATASIZE
00000c53: PUSH0
00000c54: REVERT
00000c55: JUMPDEST
00000c56: PUSH0
00000c57: SLOAD
00000c58: PUSH1 0x01
00000c5a: PUSH1 0x01
00000c5c: PUSH1 0xa0
00000c5e: SHL
00000c5f: SUB
00000c60: AND
00000c61: CALLER
00000c62: EQ
00000c63: PUSH2 0x0c7e
00000c66: JUMPI
00000c67: PUSH1 0x40
00000c69: MLOAD
00000c6a: PUSH3 0x461bcd
00000c6e: PUSH1 0xe5
00000c70: SHL
00000c71: DUP2
00000c72: MSTORE
00000c73: PUSH1 0x04
00000c75: ADD
00000c76: PUSH2 0x05aa
00000c79: SWAP1
00000c7a: PUSH2 0x37aa
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: PUSH1 0x01
00000c81: DUP1
00000c82: SLOAD
00000c83: PUSH1 0x01
00000c85: PUSH1 0x01
00000c87: PUSH1 0xa0
00000c89: SHL
00000c8a: SUB
00000c8b: NOT
00000c8c: AND
00000c8d: PUSH1 0x01
00000c8f: PUSH1 0x01
00000c91: PUSH1 0xa0
00000c93: SHL
00000c94: SUB
00000c95: SWAP3
00000c96: SWAP1
00000c97: SWAP3
00000c98: AND
00000c99: SWAP2
00000c9a: SWAP1
00000c9b: SWAP2
00000c9c: OR
00000c9d: SWAP1
00000c9e: SSTORE
00000c9f: JUMP
00000ca0: JUMPDEST
00000ca1: CALLVALUE
00000ca2: NUMBER
00000ca3: EQ
00000ca4: PUSH2 0x0cbf
00000ca7: JUMPI
00000ca8: PUSH1 0x40
00000caa: MLOAD
00000cab: PUSH3 0x461bcd
00000caf: PUSH1 0xe5
00000cb1: SHL
00000cb2: DUP2
00000cb3: MSTORE
00000cb4: PUSH1 0x04
00000cb6: ADD
00000cb7: PUSH2 0x05aa
00000cba: SWAP1
00000cbb: PUSH2 0x36f4
00000cbe: JUMP
00000cbf: JUMPDEST
00000cc0: CALLER
00000cc1: PUSH0
00000cc2: SWAP1
00000cc3: DUP2
00000cc4: MSTORE
00000cc5: PUSH1 0x02
00000cc7: PUSH1 0x20
00000cc9: MSTORE
00000cca: PUSH1 0x40
00000ccc: SWAP1
00000ccd: KECCAK256
00000cce: SLOAD
00000ccf: PUSH1 0xff
00000cd1: AND
00000cd2: PUSH2 0x0ced
00000cd5: JUMPI
00000cd6: PUSH1 0x40
00000cd8: MLOAD
00000cd9: PUSH3 0x461bcd
00000cdd: PUSH1 0xe5
00000cdf: SHL
00000ce0: DUP2
00000ce1: MSTORE
00000ce2: PUSH1 0x04
00000ce4: ADD
00000ce5: PUSH2 0x05aa
00000ce8: SWAP1
00000ce9: PUSH2 0x370f
00000cec: JUMP
00000ced: JUMPDEST
00000cee: PUSH2 0x05ee
00000cf1: DUP6
00000cf2: DUP6
00000cf3: DUP6
00000cf4: DUP6
00000cf5: DUP6
00000cf6: PUSH2 0x1af1
00000cf9: JUMP
00000cfa: JUMPDEST
00000cfb: PUSH0
00000cfc: SLOAD
00000cfd: PUSH1 0x01
00000cff: PUSH1 0x01
00000d01: PUSH1 0xa0
00000d03: SHL
00000d04: SUB
00000d05: AND
00000d06: CALLER
00000d07: EQ
00000d08: DUP1
00000d09: PUSH2 0x0d20
00000d0c: JUMPI
00000d0d: POP
00000d0e: CALLER
00000d0f: PUSH0
00000d10: SWAP1
00000d11: DUP2
00000d12: MSTORE
00000d13: PUSH1 0x03
00000d15: PUSH1 0x20
00000d17: MSTORE
00000d18: PUSH1 0x40
00000d1a: SWAP1
00000d1b: KECCAK256
00000d1c: SLOAD
00000d1d: PUSH1 0xff
00000d1f: AND
00000d20: JUMPDEST
00000d21: PUSH2 0x0d3c
00000d24: JUMPI
00000d25: PUSH1 0x40
00000d27: MLOAD
00000d28: PUSH3 0x461bcd
00000d2c: PUSH1 0xe5
00000d2e: SHL
00000d2f: DUP2
00000d30: MSTORE
00000d31: PUSH1 0x04
00000d33: ADD
00000d34: PUSH2 0x05aa
00000d37: SWAP1
00000d38: PUSH2 0x378f
00000d3b: JUMP
00000d3c: JUMPDEST
00000d3d: PUSH1 0x01
00000d3f: PUSH1 0x01
00000d41: PUSH1 0xa0
00000d43: SHL
00000d44: SUB
00000d45: AND
00000d46: PUSH0
00000d47: SWAP1
00000d48: DUP2
00000d49: MSTORE
00000d4a: PUSH1 0x02
00000d4c: PUSH1 0x20
00000d4e: MSTORE
00000d4f: PUSH1 0x40
00000d51: SWAP1
00000d52: KECCAK256
00000d53: DUP1
00000d54: SLOAD
00000d55: PUSH1 0xff
00000d57: NOT
00000d58: AND
00000d59: SWAP1
00000d5a: SSTORE
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: PUSH0
00000d5e: SLOAD
00000d5f: PUSH1 0x01
00000d61: PUSH1 0x01
00000d63: PUSH1 0xa0
00000d65: SHL
00000d66: SUB
00000d67: AND
00000d68: CALLER
00000d69: EQ
00000d6a: DUP1
00000d6b: PUSH2 0x0d82
00000d6e: JUMPI
00000d6f: POP
00000d70: CALLER
00000d71: PUSH0
00000d72: SWAP1
00000d73: DUP2
00000d74: MSTORE
00000d75: PUSH1 0x03
00000d77: PUSH1 0x20
00000d79: MSTORE
00000d7a: PUSH1 0x40
00000d7c: SWAP1
00000d7d: KECCAK256
00000d7e: SLOAD
00000d7f: PUSH1 0xff
00000d81: AND
00000d82: JUMPDEST
00000d83: PUSH2 0x0d9e
00000d86: JUMPI
00000d87: PUSH1 0x40
00000d89: MLOAD
00000d8a: PUSH3 0x461bcd
00000d8e: PUSH1 0xe5
00000d90: SHL
00000d91: DUP2
00000d92: MSTORE
00000d93: PUSH1 0x04
00000d95: ADD
00000d96: PUSH2 0x05aa
00000d99: SWAP1
00000d9a: PUSH2 0x378f
00000d9d: JUMP
00000d9e: JUMPDEST
00000d9f: DUP3
00000da0: DUP2
00000da1: EQ
00000da2: PUSH2 0x0da9
00000da5: JUMPI
00000da6: PUSH0
00000da7: PUSH0
00000da8: REVERT
00000da9: JUMPDEST
00000daa: PUSH0
00000dab: DUP1
00000dac: JUMPDEST
00000dad: DUP3
00000dae: DUP2
00000daf: LT
00000db0: ISZERO
00000db1: PUSH2 0x0de2
00000db4: JUMPI
00000db5: DUP4
00000db6: DUP4
00000db7: DUP3
00000db8: DUP2
00000db9: DUP2
00000dba: LT
00000dbb: PUSH2 0x0dc6
00000dbe: JUMPI
00000dbf: PUSH2 0x0dc6
00000dc2: PUSH2 0x37e0
00000dc5: JUMP
00000dc6: JUMPDEST
00000dc7: SWAP1
00000dc8: POP
00000dc9: PUSH1 0x20
00000dcb: MUL
00000dcc: ADD
00000dcd: CALLDATALOAD
00000dce: DUP3
00000dcf: PUSH2 0x0dd8
00000dd2: SWAP2
00000dd3: SWAP1
00000dd4: PUSH2 0x37f4
00000dd7: JUMP
00000dd8: JUMPDEST
00000dd9: SWAP2
00000dda: POP
00000ddb: PUSH1 0x01
00000ddd: ADD
00000dde: PUSH2 0x0dac
00000de1: JUMP
00000de2: JUMPDEST
00000de3: POP
00000de4: PUSH1 0x40
00000de6: MLOAD
00000de7: PUSH4 0x2e1a7d4d
00000dec: PUSH1 0xe0
00000dee: SHL
00000def: DUP2
00000df0: MSTORE
00000df1: PUSH1 0x04
00000df3: DUP2
00000df4: ADD
00000df5: DUP3
00000df6: SWAP1
00000df7: MSTORE
00000df8: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000e0d: SWAP1
00000e0e: PUSH4 0x2e1a7d4d
00000e13: SWAP1
00000e14: PUSH1 0x24
00000e16: ADD
00000e17: PUSH0
00000e18: PUSH1 0x40
00000e1a: MLOAD
00000e1b: DUP1
00000e1c: DUP4
00000e1d: SUB
00000e1e: DUP2
00000e1f: PUSH0
00000e20: DUP8
00000e21: DUP1
00000e22: EXTCODESIZE
00000e23: ISZERO
00000e24: DUP1
00000e25: ISZERO
00000e26: PUSH2 0x0e2d
00000e29: JUMPI
00000e2a: PUSH0
00000e2b: PUSH0
00000e2c: REVERT
00000e2d: JUMPDEST
00000e2e: POP
00000e2f: GAS
00000e30: CALL
00000e31: ISZERO
00000e32: DUP1
00000e33: ISZERO
00000e34: PUSH2 0x0e3f
00000e37: JUMPI
00000e38: RETURNDATASIZE
00000e39: PUSH0
00000e3a: PUSH0
00000e3b: RETURNDATACOPY
00000e3c: RETURNDATASIZE
00000e3d: PUSH0
00000e3e: REVERT
00000e3f: JUMPDEST
00000e40: POP
00000e41: PUSH0
00000e42: SWAP3
00000e43: POP
00000e44: POP
00000e45: POP
00000e46: JUMPDEST
00000e47: DUP3
00000e48: DUP2
00000e49: LT
00000e4a: ISZERO
00000e4b: PUSH2 0x0a3f
00000e4e: JUMPI
00000e4f: PUSH1 0x02
00000e51: PUSH0
00000e52: DUP8
00000e53: DUP8
00000e54: DUP5
00000e55: DUP2
00000e56: DUP2
00000e57: LT
00000e58: PUSH2 0x0e63
00000e5b: JUMPI
00000e5c: PUSH2 0x0e63
00000e5f: PUSH2 0x37e0
00000e62: JUMP
00000e63: JUMPDEST
00000e64: SWAP1
00000e65: POP
00000e66: PUSH1 0x20
00000e68: MUL
00000e69: ADD
00000e6a: PUSH1 0x20
00000e6c: DUP2
00000e6d: ADD
00000e6e: SWAP1
00000e6f: PUSH2 0x0e78
00000e72: SWAP2
00000e73: SWAP1
00000e74: PUSH2 0x33ac
00000e77: JUMP
00000e78: JUMPDEST
00000e79: PUSH1 0x01
00000e7b: PUSH1 0x01
00000e7d: PUSH1 0xa0
00000e7f: SHL
00000e80: SUB
00000e81: AND
00000e82: DUP2
00000e83: MSTORE
00000e84: PUSH1 0x20
00000e86: DUP2
00000e87: ADD
00000e88: SWAP2
00000e89: SWAP1
00000e8a: SWAP2
00000e8b: MSTORE
00000e8c: PUSH1 0x40
00000e8e: ADD
00000e8f: PUSH0
00000e90: KECCAK256
00000e91: SLOAD
00000e92: PUSH1 0xff
00000e94: AND
00000e95: PUSH2 0x0ec4
00000e98: JUMPI
00000e99: PUSH1 0x40
00000e9b: MLOAD
00000e9c: PUSH3 0x461bcd
00000ea0: PUSH1 0xe5
00000ea2: SHL
00000ea3: DUP2
00000ea4: MSTORE
00000ea5: PUSH1 0x20
00000ea7: PUSH1 0x04
00000ea9: DUP3
00000eaa: ADD
00000eab: MSTORE
00000eac: PUSH1 0x01
00000eae: PUSH1 0x24
00000eb0: DUP3
00000eb1: ADD
00000eb2: MSTORE
00000eb3: PUSH1 0x2d
00000eb5: PUSH1 0xf8
00000eb7: SHL
00000eb8: PUSH1 0x44
00000eba: DUP3
00000ebb: ADD
00000ebc: MSTORE
00000ebd: PUSH1 0x64
00000ebf: ADD
00000ec0: PUSH2 0x05aa
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: PUSH0
00000ec6: DUP7
00000ec7: DUP7
00000ec8: DUP4
00000ec9: DUP2
00000eca: DUP2
00000ecb: LT
00000ecc: PUSH2 0x0ed7
00000ecf: JUMPI
00000ed0: PUSH2 0x0ed7
00000ed3: PUSH2 0x37e0
00000ed6: JUMP
00000ed7: JUMPDEST
00000ed8: SWAP1
00000ed9: POP
00000eda: PUSH1 0x20
00000edc: MUL
00000edd: ADD
00000ede: PUSH1 0x20
00000ee0: DUP2
00000ee1: ADD
00000ee2: SWAP1
00000ee3: PUSH2 0x0eec
00000ee6: SWAP2
00000ee7: SWAP1
00000ee8: PUSH2 0x33ac
00000eeb: JUMP
00000eec: JUMPDEST
00000eed: PUSH1 0x01
00000eef: PUSH1 0x01
00000ef1: PUSH1 0xa0
00000ef3: SHL
00000ef4: SUB
00000ef5: AND
00000ef6: DUP6
00000ef7: DUP6
00000ef8: DUP5
00000ef9: DUP2
00000efa: DUP2
00000efb: LT
00000efc: PUSH2 0x0f07
00000eff: JUMPI
00000f00: PUSH2 0x0f07
00000f03: PUSH2 0x37e0
00000f06: JUMP
00000f07: JUMPDEST
00000f08: SWAP1
00000f09: POP
00000f0a: PUSH1 0x20
00000f0c: MUL
00000f0d: ADD
00000f0e: CALLDATALOAD
00000f0f: PUSH1 0x40
00000f11: MLOAD
00000f12: PUSH0
00000f13: PUSH1 0x40
00000f15: MLOAD
00000f16: DUP1
00000f17: DUP4
00000f18: SUB
00000f19: DUP2
00000f1a: DUP6
00000f1b: DUP8
00000f1c: GAS
00000f1d: CALL
00000f1e: SWAP3
00000f1f: POP
00000f20: POP
00000f21: POP
00000f22: RETURNDATASIZE
00000f23: DUP1
00000f24: PUSH0
00000f25: DUP2
00000f26: EQ
00000f27: PUSH2 0x0f4b
00000f2a: JUMPI
00000f2b: PUSH1 0x40
00000f2d: MLOAD
00000f2e: SWAP2
00000f2f: POP
00000f30: PUSH1 0x1f
00000f32: NOT
00000f33: PUSH1 0x3f
00000f35: RETURNDATASIZE
00000f36: ADD
00000f37: AND
00000f38: DUP3
00000f39: ADD
00000f3a: PUSH1 0x40
00000f3c: MSTORE
00000f3d: RETURNDATASIZE
00000f3e: DUP3
00000f3f: MSTORE
00000f40: RETURNDATASIZE
00000f41: PUSH0
00000f42: PUSH1 0x20
00000f44: DUP5
00000f45: ADD
00000f46: RETURNDATACOPY
00000f47: PUSH2 0x0f50
00000f4a: JUMP
00000f4b: JUMPDEST
00000f4c: PUSH1 0x60
00000f4e: SWAP2
00000f4f: POP
00000f50: JUMPDEST
00000f51: POP
00000f52: POP
00000f53: SWAP1
00000f54: POP
00000f55: DUP1
00000f56: PUSH2 0x0f85
00000f59: JUMPI
00000f5a: PUSH1 0x40
00000f5c: MLOAD
00000f5d: PUSH3 0x461bcd
00000f61: PUSH1 0xe5
00000f63: SHL
00000f64: DUP2
00000f65: MSTORE
00000f66: PUSH1 0x20
00000f68: PUSH1 0x04
00000f6a: DUP3
00000f6b: ADD
00000f6c: MSTORE
00000f6d: PUSH1 0x01
00000f6f: PUSH1 0x24
00000f71: DUP3
00000f72: ADD
00000f73: MSTORE
00000f74: PUSH1 0x33
00000f76: PUSH1 0xf9
00000f78: SHL
00000f79: PUSH1 0x44
00000f7b: DUP3
00000f7c: ADD
00000f7d: MSTORE
00000f7e: PUSH1 0x64
00000f80: ADD
00000f81: PUSH2 0x05aa
00000f84: JUMP
00000f85: JUMPDEST
00000f86: POP
00000f87: PUSH1 0x01
00000f89: ADD
00000f8a: PUSH2 0x0e46
00000f8d: JUMP
00000f8e: JUMPDEST
00000f8f: CALLVALUE
00000f90: NUMBER
00000f91: EQ
00000f92: PUSH2 0x0fad
00000f95: JUMPI
00000f96: PUSH1 0x40
00000f98: MLOAD
00000f99: PUSH3 0x461bcd
00000f9d: PUSH1 0xe5
00000f9f: SHL
00000fa0: DUP2
00000fa1: MSTORE
00000fa2: PUSH1 0x04
00000fa4: ADD
00000fa5: PUSH2 0x05aa
00000fa8: SWAP1
00000fa9: PUSH2 0x36f4
00000fac: JUMP
00000fad: JUMPDEST
00000fae: CALLER
00000faf: PUSH0
00000fb0: SWAP1
00000fb1: DUP2
00000fb2: MSTORE
00000fb3: PUSH1 0x02
00000fb5: PUSH1 0x20
00000fb7: MSTORE
00000fb8: PUSH1 0x40
00000fba: SWAP1
00000fbb: KECCAK256
00000fbc: SLOAD
00000fbd: PUSH1 0xff
00000fbf: AND
00000fc0: PUSH2 0x0fdb
00000fc3: JUMPI
00000fc4: PUSH1 0x40
00000fc6: MLOAD
00000fc7: PUSH3 0x461bcd
00000fcb: PUSH1 0xe5
00000fcd: SHL
00000fce: DUP2
00000fcf: MSTORE
00000fd0: PUSH1 0x04
00000fd2: ADD
00000fd3: PUSH2 0x05aa
00000fd6: SWAP1
00000fd7: PUSH2 0x370f
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: PUSH2 0x0baf
00000fdf: DUP12
00000fe0: DUP12
00000fe1: DUP12
00000fe2: DUP12
00000fe3: DUP12
00000fe4: DUP12
00000fe5: DUP12
00000fe6: DUP12
00000fe7: DUP12
00000fe8: DUP12
00000fe9: DUP12
00000fea: PUSH2 0x240d
00000fed: JUMP
00000fee: JUMPDEST
00000fef: PUSH0
00000ff0: SLOAD
00000ff1: PUSH1 0x01
00000ff3: PUSH1 0x01
00000ff5: PUSH1 0xa0
00000ff7: SHL
00000ff8: SUB
00000ff9: AND
00000ffa: CALLER
00000ffb: EQ
00000ffc: DUP1
00000ffd: PUSH2 0x1014
00001000: JUMPI
00001001: POP
00001002: CALLER
00001003: PUSH0
00001004: SWAP1
00001005: DUP2
00001006: MSTORE
00001007: PUSH1 0x03
00001009: PUSH1 0x20
0000100b: MSTORE
0000100c: PUSH1 0x40
0000100e: SWAP1
0000100f: KECCAK256
00001010: SLOAD
00001011: PUSH1 0xff
00001013: AND
00001014: JUMPDEST
00001015: PUSH2 0x1030
00001018: JUMPI
00001019: PUSH1 0x40
0000101b: MLOAD
0000101c: PUSH3 0x461bcd
00001020: PUSH1 0xe5
00001022: SHL
00001023: DUP2
00001024: MSTORE
00001025: PUSH1 0x04
00001027: ADD
00001028: PUSH2 0x05aa
0000102b: SWAP1
0000102c: PUSH2 0x378f
0000102f: JUMP
00001030: JUMPDEST
00001031: PUSH2 0x106b
00001034: DUP3
00001035: DUP3
00001036: DUP1
00001037: DUP1
00001038: PUSH1 0x20
0000103a: MUL
0000103b: PUSH1 0x20
0000103d: ADD
0000103e: PUSH1 0x40
00001040: MLOAD
00001041: SWAP1
00001042: DUP2
00001043: ADD
00001044: PUSH1 0x40
00001046: MSTORE
00001047: DUP1
00001048: SWAP4
00001049: SWAP3
0000104a: SWAP2
0000104b: SWAP1
0000104c: DUP2
0000104d: DUP2
0000104e: MSTORE
0000104f: PUSH1 0x20
00001051: ADD
00001052: DUP4
00001053: DUP4
00001054: PUSH1 0x20
00001056: MUL
00001057: DUP1
00001058: DUP3
00001059: DUP5
0000105a: CALLDATACOPY
0000105b: PUSH0
0000105c: SWAP3
0000105d: ADD
0000105e: SWAP2
0000105f: SWAP1
00001060: SWAP2
00001061: MSTORE
00001062: POP
00001063: PUSH2 0x2792
00001066: SWAP3
00001067: POP
00001068: POP
00001069: POP
0000106a: JUMP
0000106b: JUMPDEST
0000106c: POP
0000106d: POP
0000106e: JUMP
0000106f: JUMPDEST
00001070: PUSH0
00001071: SLOAD
00001072: PUSH1 0x01
00001074: PUSH1 0x01
00001076: PUSH1 0xa0
00001078: SHL
00001079: SUB
0000107a: AND
0000107b: CALLER
0000107c: EQ
0000107d: PUSH2 0x1098
00001080: JUMPI
00001081: PUSH1 0x40
00001083: MLOAD
00001084: PUSH3 0x461bcd
00001088: PUSH1 0xe5
0000108a: SHL
0000108b: DUP2
0000108c: MSTORE
0000108d: PUSH1 0x04
0000108f: ADD
00001090: PUSH2 0x05aa
00001093: SWAP1
00001094: PUSH2 0x37aa
00001097: JUMP
00001098: JUMPDEST
00001099: PUSH0
0000109a: JUMPDEST
0000109b: DUP2
0000109c: DUP2
0000109d: LT
0000109e: ISZERO
0000109f: PUSH2 0x10fd
000010a2: JUMPI
000010a3: PUSH1 0x01
000010a5: PUSH1 0x02
000010a7: PUSH0
000010a8: DUP6
000010a9: DUP6
000010aa: DUP6
000010ab: DUP2
000010ac: DUP2
000010ad: LT
000010ae: PUSH2 0x10b9
000010b1: JUMPI
000010b2: PUSH2 0x10b9
000010b5: PUSH2 0x37e0
000010b8: JUMP
000010b9: JUMPDEST
000010ba: SWAP1
000010bb: POP
000010bc: PUSH1 0x20
000010be: MUL
000010bf: ADD
000010c0: PUSH1 0x20
000010c2: DUP2
000010c3: ADD
000010c4: SWAP1
000010c5: PUSH2 0x10ce
000010c8: SWAP2
000010c9: SWAP1
000010ca: PUSH2 0x33ac
000010cd: JUMP
000010ce: JUMPDEST
000010cf: PUSH1 0x01
000010d1: PUSH1 0x01
000010d3: PUSH1 0xa0
000010d5: SHL
000010d6: SUB
000010d7: AND
000010d8: DUP2
000010d9: MSTORE
000010da: PUSH1 0x20
000010dc: DUP2
000010dd: ADD
000010de: SWAP2
000010df: SWAP1
000010e0: SWAP2
000010e1: MSTORE
000010e2: PUSH1 0x40
000010e4: ADD
000010e5: PUSH0
000010e6: KECCAK256
000010e7: DUP1
000010e8: SLOAD
000010e9: PUSH1 0xff
000010eb: NOT
000010ec: AND
000010ed: SWAP2
000010ee: ISZERO
000010ef: ISZERO
000010f0: SWAP2
000010f1: SWAP1
000010f2: SWAP2
000010f3: OR
000010f4: SWAP1
000010f5: SSTORE
000010f6: PUSH1 0x01
000010f8: ADD
000010f9: PUSH2 0x109a
000010fc: JUMP
000010fd: JUMPDEST
000010fe: POP
000010ff: POP
00001100: POP
00001101: JUMP
00001102: JUMPDEST
00001103: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001118: PUSH1 0x01
0000111a: PUSH1 0x01
0000111c: PUSH1 0xa0
0000111e: SHL
0000111f: SUB
00001120: AND
00001121: PUSH4 0xd0e30db0
00001126: CALLVALUE
00001127: PUSH1 0x40
00001129: MLOAD
0000112a: DUP3
0000112b: PUSH4 0xffffffff
00001130: AND
00001131: PUSH1 0xe0
00001133: SHL
00001134: DUP2
00001135: MSTORE
00001136: PUSH1 0x04
00001138: ADD
00001139: PUSH0
0000113a: PUSH1 0x40
0000113c: MLOAD
0000113d: DUP1
0000113e: DUP4
0000113f: SUB
00001140: DUP2
00001141: DUP6
00001142: DUP9
00001143: DUP1
00001144: EXTCODESIZE
00001145: ISZERO
00001146: DUP1
00001147: ISZERO
00001148: PUSH2 0x114f
0000114b: JUMPI
0000114c: PUSH0
0000114d: PUSH0
0000114e: REVERT
0000114f: JUMPDEST
00001150: POP
00001151: GAS
00001152: CALL
00001153: ISZERO
00001154: DUP1
00001155: ISZERO
00001156: PUSH2 0x05ee
00001159: JUMPI
0000115a: RETURNDATASIZE
0000115b: PUSH0
0000115c: PUSH0
0000115d: RETURNDATACOPY
0000115e: RETURNDATASIZE
0000115f: PUSH0
00001160: REVERT
00001161: JUMPDEST
00001162: PUSH0
00001163: SLOAD
00001164: PUSH1 0x01
00001166: PUSH1 0x01
00001168: PUSH1 0xa0
0000116a: SHL
0000116b: SUB
0000116c: AND
0000116d: CALLER
0000116e: EQ
0000116f: DUP1
00001170: PUSH2 0x1187
00001173: JUMPI
00001174: POP
00001175: CALLER
00001176: PUSH0
00001177: SWAP1
00001178: DUP2
00001179: MSTORE
0000117a: PUSH1 0x03
0000117c: PUSH1 0x20
0000117e: MSTORE
0000117f: PUSH1 0x40
00001181: SWAP1
00001182: KECCAK256
00001183: SLOAD
00001184: PUSH1 0xff
00001186: AND
00001187: JUMPDEST
00001188: PUSH2 0x11a3
0000118b: JUMPI
0000118c: PUSH1 0x40
0000118e: MLOAD
0000118f: PUSH3 0x461bcd
00001193: PUSH1 0xe5
00001195: SHL
00001196: DUP2
00001197: MSTORE
00001198: PUSH1 0x04
0000119a: ADD
0000119b: PUSH2 0x05aa
0000119e: SWAP1
0000119f: PUSH2 0x378f
000011a2: JUMP
000011a3: JUMPDEST
000011a4: PUSH2 0x1204
000011a7: PUSH1 0x06
000011a9: DUP1
000011aa: SLOAD
000011ab: DUP1
000011ac: PUSH1 0x20
000011ae: MUL
000011af: PUSH1 0x20
000011b1: ADD
000011b2: PUSH1 0x40
000011b4: MLOAD
000011b5: SWAP1
000011b6: DUP2
000011b7: ADD
000011b8: PUSH1 0x40
000011ba: MSTORE
000011bb: DUP1
000011bc: SWAP3
000011bd: SWAP2
000011be: SWAP1
000011bf: DUP2
000011c0: DUP2
000011c1: MSTORE
000011c2: PUSH1 0x20
000011c4: ADD
000011c5: DUP3
000011c6: DUP1
000011c7: SLOAD
000011c8: DUP1
000011c9: ISZERO
000011ca: PUSH2 0x11fa
000011cd: JUMPI
000011ce: PUSH1 0x20
000011d0: MUL
000011d1: DUP3
000011d2: ADD
000011d3: SWAP2
000011d4: SWAP1
000011d5: PUSH0
000011d6: MSTORE
000011d7: PUSH1 0x20
000011d9: PUSH0
000011da: KECCAK256
000011db: SWAP1
000011dc: JUMPDEST
000011dd: DUP2
000011de: SLOAD
000011df: PUSH1 0x01
000011e1: PUSH1 0x01
000011e3: PUSH1 0xa0
000011e5: SHL
000011e6: SUB
000011e7: AND
000011e8: DUP2
000011e9: MSTORE
000011ea: PUSH1 0x01
000011ec: SWAP1
000011ed: SWAP2
000011ee: ADD
000011ef: SWAP1
000011f0: PUSH1 0x20
000011f2: ADD
000011f3: DUP1
000011f4: DUP4
000011f5: GT
000011f6: PUSH2 0x11dc
000011f9: JUMPI
000011fa: JUMPDEST
000011fb: POP
000011fc: POP
000011fd: POP
000011fe: POP
000011ff: POP
00001200: PUSH2 0x2792
00001203: JUMP
00001204: JUMPDEST
00001205: JUMP
00001206: JUMPDEST
00001207: PUSH0
00001208: SLOAD
00001209: PUSH1 0x01
0000120b: PUSH1 0x01
0000120d: PUSH1 0xa0
0000120f: SHL
00001210: SUB
00001211: AND
00001212: CALLER
00001213: EQ
00001214: PUSH2 0x122f
00001217: JUMPI
00001218: PUSH1 0x40
0000121a: MLOAD
0000121b: PUSH3 0x461bcd
0000121f: PUSH1 0xe5
00001221: SHL
00001222: DUP2
00001223: MSTORE
00001224: PUSH1 0x04
00001226: ADD
00001227: PUSH2 0x05aa
0000122a: SWAP1
0000122b: PUSH2 0x37aa
0000122e: JUMP
0000122f: JUMPDEST
00001230: PUSH1 0x01
00001232: PUSH1 0x01
00001234: PUSH1 0xa0
00001236: SHL
00001237: SUB
00001238: AND
00001239: PUSH0
0000123a: SWAP1
0000123b: DUP2
0000123c: MSTORE
0000123d: PUSH1 0x05
0000123f: PUSH1 0x20
00001241: MSTORE
00001242: PUSH1 0x40
00001244: SWAP1
00001245: KECCAK256
00001246: DUP1
00001247: SLOAD
00001248: PUSH1 0xff
0000124a: NOT
0000124b: AND
0000124c: PUSH1 0x01
0000124e: OR
0000124f: SWAP1
00001250: SSTORE
00001251: JUMP
00001252: JUMPDEST
00001253: CALLVALUE
00001254: NUMBER
00001255: EQ
00001256: PUSH2 0x1271
00001259: JUMPI
0000125a: PUSH1 0x40
0000125c: MLOAD
0000125d: PUSH3 0x461bcd
00001261: PUSH1 0xe5
00001263: SHL
00001264: DUP2
00001265: MSTORE
00001266: PUSH1 0x04
00001268: ADD
00001269: PUSH2 0x05aa
0000126c: SWAP1
0000126d: PUSH2 0x36f4
00001270: JUMP
00001271: JUMPDEST
00001272: DUP6
00001273: PUSH2 0x127c
00001276: CALLER
00001277: DUP3
00001278: PUSH2 0x1898
0000127b: JUMP
0000127c: JUMPDEST
0000127d: PUSH2 0x1298
00001280: JUMPI
00001281: PUSH1 0x40
00001283: MLOAD
00001284: PUSH3 0x461bcd
00001288: PUSH1 0xe5
0000128a: SHL
0000128b: DUP2
0000128c: MSTORE
0000128d: PUSH1 0x04
0000128f: ADD
00001290: PUSH2 0x05aa
00001293: SWAP1
00001294: PUSH2 0x370f
00001297: JUMP
00001298: JUMPDEST
00001299: PUSH2 0x06ae
0000129c: DUP7
0000129d: DUP7
0000129e: DUP7
0000129f: DUP7
000012a0: DUP7
000012a1: PUSH2 0x213f
000012a4: JUMP
000012a5: JUMPDEST
000012a6: PUSH2 0x106b
000012a9: DUP3
000012aa: DUP3
000012ab: PUSH2 0x28e7
000012ae: JUMP
000012af: JUMPDEST
000012b0: PUSH0
000012b1: SLOAD
000012b2: PUSH1 0x01
000012b4: PUSH1 0x01
000012b6: PUSH1 0xa0
000012b8: SHL
000012b9: SUB
000012ba: AND
000012bb: CALLER
000012bc: EQ
000012bd: DUP1
000012be: PUSH2 0x12d5
000012c1: JUMPI
000012c2: POP
000012c3: CALLER
000012c4: PUSH0
000012c5: SWAP1
000012c6: DUP2
000012c7: MSTORE
000012c8: PUSH1 0x03
000012ca: PUSH1 0x20
000012cc: MSTORE
000012cd: PUSH1 0x40
000012cf: SWAP1
000012d0: KECCAK256
000012d1: SLOAD
000012d2: PUSH1 0xff
000012d4: AND
000012d5: JUMPDEST
000012d6: PUSH2 0x12f1
000012d9: JUMPI
000012da: PUSH1 0x40
000012dc: MLOAD
000012dd: PUSH3 0x461bcd
000012e1: PUSH1 0xe5
000012e3: SHL
000012e4: DUP2
000012e5: MSTORE
000012e6: PUSH1 0x04
000012e8: ADD
000012e9: PUSH2 0x05aa
000012ec: SWAP1
000012ed: PUSH2 0x378f
000012f0: JUMP
000012f1: JUMPDEST
000012f2: PUSH1 0x01
000012f4: PUSH1 0x01
000012f6: PUSH1 0xa0
000012f8: SHL
000012f9: SUB
000012fa: AND
000012fb: PUSH0
000012fc: SWAP1
000012fd: DUP2
000012fe: MSTORE
000012ff: PUSH1 0x03
00001301: PUSH1 0x20
00001303: MSTORE
00001304: PUSH1 0x40
00001306: SWAP1
00001307: KECCAK256
00001308: DUP1
00001309: SLOAD
0000130a: PUSH1 0xff
0000130c: NOT
0000130d: AND
0000130e: SWAP1
0000130f: SSTORE
00001310: JUMP
00001311: JUMPDEST
00001312: PUSH0
00001313: SLOAD
00001314: PUSH1 0x01
00001316: PUSH1 0x01
00001318: PUSH1 0xa0
0000131a: SHL
0000131b: SUB
0000131c: AND
0000131d: CALLER
0000131e: EQ
0000131f: DUP1
00001320: PUSH2 0x1337
00001323: JUMPI
00001324: POP
00001325: CALLER
00001326: PUSH0
00001327: SWAP1
00001328: DUP2
00001329: MSTORE
0000132a: PUSH1 0x03
0000132c: PUSH1 0x20
0000132e: MSTORE
0000132f: PUSH1 0x40
00001331: SWAP1
00001332: KECCAK256
00001333: SLOAD
00001334: PUSH1 0xff
00001336: AND
00001337: JUMPDEST
00001338: PUSH2 0x1353
0000133b: JUMPI
0000133c: PUSH1 0x40
0000133e: MLOAD
0000133f: PUSH3 0x461bcd
00001343: PUSH1 0xe5
00001345: SHL
00001346: DUP2
00001347: MSTORE
00001348: PUSH1 0x04
0000134a: ADD
0000134b: PUSH2 0x05aa
0000134e: SWAP1
0000134f: PUSH2 0x378f
00001352: JUMP
00001353: JUMPDEST
00001354: PUSH1 0x01
00001356: PUSH1 0x01
00001358: PUSH1 0xa0
0000135a: SHL
0000135b: SUB
0000135c: AND
0000135d: PUSH0
0000135e: SWAP1
0000135f: DUP2
00001360: MSTORE
00001361: PUSH1 0x05
00001363: PUSH1 0x20
00001365: MSTORE
00001366: PUSH1 0x40
00001368: SWAP1
00001369: KECCAK256
0000136a: DUP1
0000136b: SLOAD
0000136c: PUSH1 0xff
0000136e: NOT
0000136f: AND
00001370: SWAP1
00001371: SSTORE
00001372: JUMP
00001373: JUMPDEST
00001374: CALLVALUE
00001375: NUMBER
00001376: EQ
00001377: PUSH2 0x1392
0000137a: JUMPI
0000137b: PUSH1 0x40
0000137d: MLOAD
0000137e: PUSH3 0x461bcd
00001382: PUSH1 0xe5
00001384: SHL
00001385: DUP2
00001386: MSTORE
00001387: PUSH1 0x04
00001389: ADD
0000138a: PUSH2 0x05aa
0000138d: SWAP1
0000138e: PUSH2 0x36f4
00001391: JUMP
00001392: JUMPDEST
00001393: DUP12
00001394: PUSH2 0x139d
00001397: CALLER
00001398: DUP3
00001399: PUSH2 0x1898
0000139c: JUMP
0000139d: JUMPDEST
0000139e: PUSH2 0x13b9
000013a1: JUMPI
000013a2: PUSH1 0x40
000013a4: MLOAD
000013a5: PUSH3 0x461bcd
000013a9: PUSH1 0xe5
000013ab: SHL
000013ac: DUP2
000013ad: MSTORE
000013ae: PUSH1 0x04
000013b0: ADD
000013b1: PUSH2 0x05aa
000013b4: SWAP1
000013b5: PUSH2 0x370f
000013b8: JUMP
000013b9: JUMPDEST
000013ba: PUSH2 0x13cc
000013bd: DUP13
000013be: DUP13
000013bf: DUP13
000013c0: DUP13
000013c1: DUP13
000013c2: DUP13
000013c3: DUP13
000013c4: DUP13
000013c5: DUP13
000013c6: DUP13
000013c7: DUP13
000013c8: PUSH2 0x240d
000013cb: JUMP
000013cc: JUMPDEST
000013cd: POP
000013ce: POP
000013cf: POP
000013d0: POP
000013d1: POP
000013d2: POP
000013d3: POP
000013d4: POP
000013d5: POP
000013d6: POP
000013d7: POP
000013d8: POP
000013d9: POP
000013da: JUMP
000013db: JUMPDEST
000013dc: PUSH0
000013dd: SLOAD
000013de: PUSH1 0x01
000013e0: PUSH1 0x01
000013e2: PUSH1 0xa0
000013e4: SHL
000013e5: SUB
000013e6: AND
000013e7: CALLER
000013e8: EQ
000013e9: DUP1
000013ea: PUSH2 0x1401
000013ed: JUMPI
000013ee: POP
000013ef: CALLER
000013f0: PUSH0
000013f1: SWAP1
000013f2: DUP2
000013f3: MSTORE
000013f4: PUSH1 0x03
000013f6: PUSH1 0x20
000013f8: MSTORE
000013f9: PUSH1 0x40
000013fb: SWAP1
000013fc: KECCAK256
000013fd: SLOAD
000013fe: PUSH1 0xff
00001400: AND
00001401: JUMPDEST
00001402: PUSH2 0x141d
00001405: JUMPI
00001406: PUSH1 0x40
00001408: MLOAD
00001409: PUSH3 0x461bcd
0000140d: PUSH1 0xe5
0000140f: SHL
00001410: DUP2
00001411: MSTORE
00001412: PUSH1 0x04
00001414: ADD
00001415: PUSH2 0x05aa
00001418: SWAP1
00001419: PUSH2 0x378f
0000141c: JUMP
0000141d: JUMPDEST
0000141e: PUSH0
0000141f: JUMPDEST
00001420: DUP2
00001421: DUP2
00001422: LT
00001423: ISZERO
00001424: PUSH2 0x10fd
00001427: JUMPI
00001428: PUSH2 0x1456
0000142b: DUP4
0000142c: DUP4
0000142d: DUP4
0000142e: DUP2
0000142f: DUP2
00001430: LT
00001431: PUSH2 0x143c
00001434: JUMPI
00001435: PUSH2 0x143c
00001438: PUSH2 0x37e0
0000143b: JUMP
0000143c: JUMPDEST
0000143d: SWAP1
0000143e: POP
0000143f: PUSH1 0x20
00001441: MUL
00001442: ADD
00001443: PUSH1 0x20
00001445: DUP2
00001446: ADD
00001447: SWAP1
00001448: PUSH2 0x1451
0000144b: SWAP2
0000144c: SWAP1
0000144d: PUSH2 0x33ac
00001450: JUMP
00001451: JUMPDEST
00001452: PUSH2 0x29a9
00001455: JUMP
00001456: JUMPDEST
00001457: PUSH1 0x01
00001459: ADD
0000145a: PUSH2 0x141f
0000145d: JUMP
0000145e: JUMPDEST
0000145f: PUSH0
00001460: SLOAD
00001461: PUSH1 0x01
00001463: PUSH1 0x01
00001465: PUSH1 0xa0
00001467: SHL
00001468: SUB
00001469: AND
0000146a: CALLER
0000146b: EQ
0000146c: DUP1
0000146d: PUSH2 0x1484
00001470: JUMPI
00001471: POP
00001472: CALLER
00001473: PUSH0
00001474: SWAP1
00001475: DUP2
00001476: MSTORE
00001477: PUSH1 0x03
00001479: PUSH1 0x20
0000147b: MSTORE
0000147c: PUSH1 0x40
0000147e: SWAP1
0000147f: KECCAK256
00001480: SLOAD
00001481: PUSH1 0xff
00001483: AND
00001484: JUMPDEST
00001485: PUSH2 0x14a0
00001488: JUMPI
00001489: PUSH1 0x40
0000148b: MLOAD
0000148c: PUSH3 0x461bcd
00001490: PUSH1 0xe5
00001492: SHL
00001493: DUP2
00001494: MSTORE
00001495: PUSH1 0x04
00001497: ADD
00001498: PUSH2 0x05aa
0000149b: SWAP1
0000149c: PUSH2 0x378f
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH2 0x14a9
000014a4: DUP2
000014a5: PUSH2 0x29a9
000014a8: JUMP
000014a9: JUMPDEST
000014aa: POP
000014ab: JUMP
000014ac: JUMPDEST
000014ad: CALLER
000014ae: PUSH0
000014af: SWAP1
000014b0: DUP2
000014b1: MSTORE
000014b2: PUSH1 0x04
000014b4: PUSH1 0x20
000014b6: MSTORE
000014b7: PUSH1 0x40
000014b9: SWAP1
000014ba: KECCAK256
000014bb: SLOAD
000014bc: DUP3
000014bd: SWAP1
000014be: PUSH1 0xff
000014c0: AND
000014c1: PUSH2 0x14dc
000014c4: JUMPI
000014c5: PUSH1 0x40
000014c7: MLOAD
000014c8: PUSH3 0x461bcd
000014cc: PUSH1 0xe5
000014ce: SHL
000014cf: DUP2
000014d0: MSTORE
000014d1: PUSH1 0x04
000014d3: ADD
000014d4: PUSH2 0x05aa
000014d7: SWAP1
000014d8: PUSH2 0x37c5
000014db: JUMP
000014dc: JUMPDEST
000014dd: PUSH1 0x01
000014df: PUSH1 0x01
000014e1: PUSH1 0xa0
000014e3: SHL
000014e4: SUB
000014e5: DUP2
000014e6: AND
000014e7: PUSH0
000014e8: SWAP1
000014e9: DUP2
000014ea: MSTORE
000014eb: PUSH1 0x05
000014ed: PUSH1 0x20
000014ef: MSTORE
000014f0: PUSH1 0x40
000014f2: SWAP1
000014f3: KECCAK256
000014f4: SLOAD
000014f5: PUSH1 0xff
000014f7: AND
000014f8: PUSH2 0x1527
000014fb: JUMPI
000014fc: PUSH1 0x40
000014fe: MLOAD
000014ff: PUSH3 0x461bcd
00001503: PUSH1 0xe5
00001505: SHL
00001506: DUP2
00001507: MSTORE
00001508: PUSH1 0x20
0000150a: PUSH1 0x04
0000150c: DUP3
0000150d: ADD
0000150e: MSTORE
0000150f: PUSH1 0x01
00001511: PUSH1 0x24
00001513: DUP3
00001514: ADD
00001515: MSTORE
00001516: PUSH1 0x1d
00001518: PUSH1 0xfa
0000151a: SHL
0000151b: PUSH1 0x44
0000151d: DUP3
0000151e: ADD
0000151f: MSTORE
00001520: PUSH1 0x64
00001522: ADD
00001523: PUSH2 0x05aa
00001526: JUMP
00001527: JUMPDEST
00001528: PUSH1 0x40
0000152a: MLOAD
0000152b: PUSH4 0x2e1a7d4d
00001530: PUSH1 0xe0
00001532: SHL
00001533: DUP2
00001534: MSTORE
00001535: PUSH1 0x04
00001537: DUP2
00001538: ADD
00001539: DUP4
0000153a: SWAP1
0000153b: MSTORE
0000153c: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001551: SWAP1
00001552: PUSH4 0x2e1a7d4d
00001557: SWAP1
00001558: PUSH1 0x24
0000155a: ADD
0000155b: PUSH0
0000155c: PUSH1 0x40
0000155e: MLOAD
0000155f: DUP1
00001560: DUP4
00001561: SUB
00001562: DUP2
00001563: PUSH0
00001564: DUP8
00001565: DUP1
00001566: EXTCODESIZE
00001567: ISZERO
00001568: DUP1
00001569: ISZERO
0000156a: PUSH2 0x1571
0000156d: JUMPI
0000156e: PUSH0
0000156f: PUSH0
00001570: REVERT
00001571: JUMPDEST
00001572: POP
00001573: GAS
00001574: CALL
00001575: ISZERO
00001576: DUP1
00001577: ISZERO
00001578: PUSH2 0x1583
0000157b: JUMPI
0000157c: RETURNDATASIZE
0000157d: PUSH0
0000157e: PUSH0
0000157f: RETURNDATACOPY
00001580: RETURNDATASIZE
00001581: PUSH0
00001582: REVERT
00001583: JUMPDEST
00001584: POP
00001585: POP
00001586: POP
00001587: POP
00001588: PUSH0
00001589: DUP4
0000158a: PUSH1 0x01
0000158c: PUSH1 0x01
0000158e: PUSH1 0xa0
00001590: SHL
00001591: SUB
00001592: AND
00001593: DUP4
00001594: PUSH1 0x40
00001596: MLOAD
00001597: PUSH0
00001598: PUSH1 0x40
0000159a: MLOAD
0000159b: DUP1
0000159c: DUP4
0000159d: SUB
0000159e: DUP2
0000159f: DUP6
000015a0: DUP8
000015a1: GAS
000015a2: CALL
000015a3: SWAP3
000015a4: POP
000015a5: POP
000015a6: POP
000015a7: RETURNDATASIZE
000015a8: DUP1
000015a9: PUSH0
000015aa: DUP2
000015ab: EQ
000015ac: PUSH2 0x15d0
000015af: JUMPI
000015b0: PUSH1 0x40
000015b2: MLOAD
000015b3: SWAP2
000015b4: POP
000015b5: PUSH1 0x1f
000015b7: NOT
000015b8: PUSH1 0x3f
000015ba: RETURNDATASIZE
000015bb: ADD
000015bc: AND
000015bd: DUP3
000015be: ADD
000015bf: PUSH1 0x40
000015c1: MSTORE
000015c2: RETURNDATASIZE
000015c3: DUP3
000015c4: MSTORE
000015c5: RETURNDATASIZE
000015c6: PUSH0
000015c7: PUSH1 0x20
000015c9: DUP5
000015ca: ADD
000015cb: RETURNDATACOPY
000015cc: PUSH2 0x15d5
000015cf: JUMP
000015d0: JUMPDEST
000015d1: PUSH1 0x60
000015d3: SWAP2
000015d4: POP
000015d5: JUMPDEST
000015d6: POP
000015d7: POP
000015d8: SWAP1
000015d9: POP
000015da: DUP1
000015db: PUSH2 0x09de
000015de: JUMPI
000015df: PUSH1 0x40
000015e1: MLOAD
000015e2: PUSH3 0x461bcd
000015e6: PUSH1 0xe5
000015e8: SHL
000015e9: DUP2
000015ea: MSTORE
000015eb: PUSH1 0x20
000015ed: PUSH1 0x04
000015ef: DUP3
000015f0: ADD
000015f1: MSTORE
000015f2: PUSH1 0x01
000015f4: PUSH1 0x24
000015f6: DUP3
000015f7: ADD
000015f8: MSTORE
000015f9: PUSH1 0x33
000015fb: PUSH1 0xf9
000015fd: SHL
000015fe: PUSH1 0x44
00001600: DUP3
00001601: ADD
00001602: MSTORE
00001603: PUSH1 0x64
00001605: ADD
00001606: PUSH2 0x05aa
00001609: JUMP
0000160a: JUMPDEST
0000160b: CALLER
0000160c: PUSH0
0000160d: SWAP1
0000160e: DUP2
0000160f: MSTORE
00001610: PUSH1 0x04
00001612: PUSH1 0x20
00001614: MSTORE
00001615: PUSH1 0x40
00001617: SWAP1
00001618: KECCAK256
00001619: SLOAD
0000161a: DUP4
0000161b: SWAP1
0000161c: PUSH1 0xff
0000161e: AND
0000161f: PUSH2 0x163a
00001622: JUMPI
00001623: PUSH1 0x40
00001625: MLOAD
00001626: PUSH3 0x461bcd
0000162a: PUSH1 0xe5
0000162c: SHL
0000162d: DUP2
0000162e: MSTORE
0000162f: PUSH1 0x04
00001631: ADD
00001632: PUSH2 0x05aa
00001635: SWAP1
00001636: PUSH2 0x37c5
00001639: JUMP
0000163a: JUMPDEST
0000163b: PUSH1 0x01
0000163d: PUSH1 0x01
0000163f: PUSH1 0xa0
00001641: SHL
00001642: SUB
00001643: DUP2
00001644: AND
00001645: PUSH0
00001646: SWAP1
00001647: DUP2
00001648: MSTORE
00001649: PUSH1 0x05
0000164b: PUSH1 0x20
0000164d: MSTORE
0000164e: PUSH1 0x40
00001650: SWAP1
00001651: KECCAK256
00001652: SLOAD
00001653: PUSH1 0xff
00001655: AND
00001656: PUSH2 0x1685
00001659: JUMPI
0000165a: PUSH1 0x40
0000165c: MLOAD
0000165d: PUSH3 0x461bcd
00001661: PUSH1 0xe5
00001663: SHL
00001664: DUP2
00001665: MSTORE
00001666: PUSH1 0x20
00001668: PUSH1 0x04
0000166a: DUP3
0000166b: ADD
0000166c: MSTORE
0000166d: PUSH1 0x01
0000166f: PUSH1 0x24
00001671: DUP3
00001672: ADD
00001673: MSTORE
00001674: PUSH1 0x1d
00001676: PUSH1 0xfa
00001678: SHL
00001679: PUSH1 0x44
0000167b: DUP3
0000167c: ADD
0000167d: MSTORE
0000167e: PUSH1 0x64
00001680: ADD
00001681: PUSH2 0x05aa
00001684: JUMP
00001685: JUMPDEST
00001686: PUSH1 0x40
00001688: MLOAD
00001689: PUSH4 0xa9059cbb
0000168e: PUSH1 0xe0
00001690: SHL
00001691: DUP2
00001692: MSTORE
00001693: PUSH1 0x01
00001695: PUSH1 0x01
00001697: PUSH1 0xa0
00001699: SHL
0000169a: SUB
0000169b: DUP5
0000169c: AND
0000169d: SWAP1
0000169e: PUSH4 0xa9059cbb
000016a3: SWAP1
000016a4: PUSH2 0x16b3
000016a7: SWAP1
000016a8: DUP8
000016a9: SWAP1
000016aa: DUP7
000016ab: SWAP1
000016ac: PUSH1 0x04
000016ae: ADD
000016af: PUSH2 0x3807
000016b2: JUMP
000016b3: JUMPDEST
000016b4: PUSH0
000016b5: PUSH1 0x40
000016b7: MLOAD
000016b8: DUP1
000016b9: DUP4
000016ba: SUB
000016bb: DUP2
000016bc: PUSH0
000016bd: DUP8
000016be: DUP1
000016bf: EXTCODESIZE
000016c0: ISZERO
000016c1: DUP1
000016c2: ISZERO
000016c3: PUSH2 0x16ca
000016c6: JUMPI
000016c7: PUSH0
000016c8: PUSH0
000016c9: REVERT
000016ca: JUMPDEST
000016cb: POP
000016cc: GAS
000016cd: CALL
000016ce: ISZERO
000016cf: DUP1
000016d0: ISZERO
000016d1: PUSH2 0x075e
000016d4: JUMPI
000016d5: RETURNDATASIZE
000016d6: PUSH0
000016d7: PUSH0
000016d8: RETURNDATACOPY
000016d9: RETURNDATASIZE
000016da: PUSH0
000016db: REVERT
000016dc: JUMPDEST
000016dd: PUSH0
000016de: SLOAD
000016df: PUSH1 0x01
000016e1: PUSH1 0x01
000016e3: PUSH1 0xa0
000016e5: SHL
000016e6: SUB
000016e7: AND
000016e8: CALLER
000016e9: EQ
000016ea: DUP1
000016eb: PUSH2 0x1702
000016ee: JUMPI
000016ef: POP
000016f0: CALLER
000016f1: PUSH0
000016f2: SWAP1
000016f3: DUP2
000016f4: MSTORE
000016f5: PUSH1 0x03
000016f7: PUSH1 0x20
000016f9: MSTORE
000016fa: PUSH1 0x40
000016fc: SWAP1
000016fd: KECCAK256
000016fe: SLOAD
000016ff: PUSH1 0xff
00001701: AND
00001702: JUMPDEST
00001703: PUSH2 0x171e
00001706: JUMPI
00001707: PUSH1 0x40
00001709: MLOAD
0000170a: PUSH3 0x461bcd
0000170e: PUSH1 0xe5
00001710: SHL
00001711: DUP2
00001712: MSTORE
00001713: PUSH1 0x04
00001715: ADD
00001716: PUSH2 0x05aa
00001719: SWAP1
0000171a: PUSH2 0x378f
0000171d: JUMP
0000171e: JUMPDEST
0000171f: PUSH1 0x01
00001721: PUSH1 0x01
00001723: PUSH1 0xa0
00001725: SHL
00001726: SUB
00001727: AND
00001728: PUSH0
00001729: SWAP1
0000172a: DUP2
0000172b: MSTORE
0000172c: PUSH1 0x04
0000172e: PUSH1 0x20
00001730: MSTORE
00001731: PUSH1 0x40
00001733: SWAP1
00001734: KECCAK256
00001735: DUP1
00001736: SLOAD
00001737: PUSH1 0xff
00001739: NOT
0000173a: AND
0000173b: PUSH1 0x01
0000173d: OR
0000173e: SWAP1
0000173f: SSTORE
00001740: JUMP
00001741: JUMPDEST
00001742: PUSH1 0x01
00001744: PUSH1 0x01
00001746: PUSH1 0xa0
00001748: SHL
00001749: SUB
0000174a: DUP5
0000174b: AND
0000174c: PUSH4 0x095ea7b3
00001751: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8
00001766: PUSH2 0x1770
00001769: DUP6
0000176a: PUSH1 0x01
0000176c: PUSH2 0x37f4
0000176f: JUMP
00001770: JUMPDEST
00001771: PUSH1 0x40
00001773: MLOAD
00001774: DUP4
00001775: PUSH4 0xffffffff
0000177a: AND
0000177b: PUSH1 0xe0
0000177d: SHL
0000177e: DUP2
0000177f: MSTORE
00001780: PUSH1 0x04
00001782: ADD
00001783: PUSH2 0x178d
00001786: SWAP3
00001787: SWAP2
00001788: SWAP1
00001789: PUSH2 0x3807
0000178c: JUMP
0000178d: JUMPDEST
0000178e: PUSH0
0000178f: PUSH1 0x40
00001791: MLOAD
00001792: DUP1
00001793: DUP4
00001794: SUB
00001795: DUP2
00001796: PUSH0
00001797: DUP8
00001798: DUP1
00001799: EXTCODESIZE
0000179a: ISZERO
0000179b: DUP1
0000179c: ISZERO
0000179d: PUSH2 0x17a4
000017a0: JUMPI
000017a1: PUSH0
000017a2: PUSH0
000017a3: REVERT
000017a4: JUMPDEST
000017a5: POP
000017a6: GAS
000017a7: CALL
000017a8: ISZERO
000017a9: DUP1
000017aa: ISZERO
000017ab: PUSH2 0x17b6
000017ae: JUMPI
000017af: RETURNDATASIZE
000017b0: PUSH0
000017b1: PUSH0
000017b2: RETURNDATACOPY
000017b3: RETURNDATASIZE
000017b4: PUSH0
000017b5: REVERT
000017b6: JUMPDEST
000017b7: POP
000017b8: POP
000017b9: PUSH1 0x40
000017bb: DUP1
000017bc: MLOAD
000017bd: PUSH1 0xc0
000017bf: DUP2
000017c0: ADD
000017c1: DUP3
000017c2: MSTORE
000017c3: DUP9
000017c4: DUP2
000017c5: MSTORE
000017c6: PUSH0
000017c7: PUSH1 0x20
000017c9: DUP1
000017ca: DUP4
000017cb: ADD
000017cc: DUP3
000017cd: SWAP1
000017ce: MSTORE
000017cf: PUSH1 0x01
000017d1: PUSH1 0x01
000017d3: PUSH1 0xa0
000017d5: SHL
000017d6: SUB
000017d7: DUP1
000017d8: DUP12
000017d9: AND
000017da: DUP5
000017db: DUP7
000017dc: ADD
000017dd: MSTORE
000017de: DUP10
000017df: AND
000017e0: PUSH1 0x60
000017e2: DUP1
000017e3: DUP6
000017e4: ADD
000017e5: SWAP2
000017e6: SWAP1
000017e7: SWAP2
000017e8: MSTORE
000017e9: PUSH1 0x80
000017eb: DUP1
000017ec: DUP6
000017ed: ADD
000017ee: DUP11
000017ef: SWAP1
000017f0: MSTORE
000017f1: DUP6
000017f2: MLOAD
000017f3: DUP1
000017f4: DUP5
000017f5: ADD
000017f6: DUP8
000017f7: MSTORE
000017f8: DUP5
000017f9: DUP2
000017fa: MSTORE
000017fb: PUSH1 0xa0
000017fd: DUP7
000017fe: ADD
000017ff: MSTORE
00001800: DUP6
00001801: MLOAD
00001802: SWAP1
00001803: DUP2
00001804: ADD
00001805: DUP7
00001806: MSTORE
00001807: ADDRESS
00001808: DUP1
00001809: DUP3
0000180a: MSTORE
0000180b: SWAP3
0000180c: DUP2
0000180d: ADD
0000180e: DUP5
0000180f: SWAP1
00001810: MSTORE
00001811: DUP1
00001812: DUP7
00001813: ADD
00001814: SWAP3
00001815: SWAP1
00001816: SWAP3
00001817: MSTORE
00001818: DUP2
00001819: ADD
0000181a: SWAP2
0000181b: SWAP1
0000181c: SWAP2
0000181d: MSTORE
0000181e: SWAP2
0000181f: MLOAD
00001820: PUSH4 0x52bbbe29
00001825: PUSH1 0xe0
00001827: SHL
00001828: DUP2
00001829: MSTORE
0000182a: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8
0000183f: SWAP5
00001840: POP
00001841: PUSH4 0x52bbbe29
00001846: SWAP4
00001847: POP
00001848: PUSH2 0x1858
0000184b: SWAP3
0000184c: SWAP1
0000184d: DUP7
0000184e: SWAP1
0000184f: TIMESTAMP
00001850: SWAP1
00001851: PUSH1 0x04
00001853: ADD
00001854: PUSH2 0x384e
00001857: JUMP
00001858: JUMPDEST
00001859: PUSH1 0x20
0000185b: PUSH1 0x40
0000185d: MLOAD
0000185e: DUP1
0000185f: DUP4
00001860: SUB
00001861: DUP2
00001862: PUSH0
00001863: DUP8
00001864: GAS
00001865: CALL
00001866: ISZERO
00001867: DUP1
00001868: ISZERO
00001869: PUSH2 0x1874
0000186c: JUMPI
0000186d: RETURNDATASIZE
0000186e: PUSH0
0000186f: PUSH0
00001870: RETURNDATACOPY
00001871: RETURNDATASIZE
00001872: PUSH0
00001873: REVERT
00001874: JUMPDEST
00001875: POP
00001876: POP
00001877: POP
00001878: POP
00001879: PUSH1 0x40
0000187b: MLOAD
0000187c: RETURNDATASIZE
0000187d: PUSH1 0x1f
0000187f: NOT
00001880: PUSH1 0x1f
00001882: DUP3
00001883: ADD
00001884: AND
00001885: DUP3
00001886: ADD
00001887: DUP1
00001888: PUSH1 0x40
0000188a: MSTORE
0000188b: POP
0000188c: DUP2
0000188d: ADD
0000188e: SWAP1
0000188f: PUSH2 0x0a3f
00001892: SWAP2
00001893: SWAP1
00001894: PUSH2 0x3929
00001897: JUMP
00001898: JUMPDEST
00001899: PUSH0
0000189a: PUSH0
0000189b: PUSH1 0x40
0000189d: MLOAD
0000189e: DUP1
0000189f: PUSH2 0x0280
000018a2: ADD
000018a3: PUSH1 0x40
000018a5: MSTORE
000018a6: DUP1
000018a7: PUSH2 0x0258
000018aa: DUP2
000018ab: MSTORE
000018ac: PUSH1 0x20
000018ae: ADD
000018af: PUSH2 0x3b72
000018b2: PUSH2 0x0258
000018b5: SWAP2
000018b6: CODECOPY
000018b7: SWAP1
000018b8: POP
000018b9: PUSH1 0x1d
000018bb: DUP4
000018bc: GT
000018bd: ISZERO
000018be: PUSH2 0x18ca
000018c1: JUMPI
000018c2: PUSH0
000018c3: SWAP2
000018c4: POP
000018c5: POP
000018c6: PUSH2 0x18db
000018c9: JUMP
000018ca: JUMPDEST
000018cb: PUSH1 0x14
000018cd: DUP4
000018ce: MUL
000018cf: ADD
000018d0: PUSH1 0x20
000018d2: ADD
000018d3: MLOAD
000018d4: PUSH1 0x60
000018d6: SHR
000018d7: DUP4
000018d8: EQ
000018d9: SWAP1
000018da: POP
000018db: JUMPDEST
000018dc: SWAP3
000018dd: SWAP2
000018de: POP
000018df: POP
000018e0: JUMP
000018e1: JUMPDEST
000018e2: COINBASE
000018e3: PUSH1 0x01
000018e5: PUSH1 0x01
000018e7: PUSH1 0xa0
000018e9: SHL
000018ea: SUB
000018eb: DUP3
000018ec: AND
000018ed: EQ
000018ee: PUSH2 0x191d
000018f1: JUMPI
000018f2: PUSH1 0x40
000018f4: MLOAD
000018f5: PUSH3 0x461bcd
000018f9: PUSH1 0xe5
000018fb: SHL
000018fc: DUP2
000018fd: MSTORE
000018fe: PUSH1 0x20
00001900: PUSH1 0x04
00001902: DUP3
00001903: ADD
00001904: MSTORE
00001905: PUSH1 0x01
00001907: PUSH1 0x24
00001909: DUP3
0000190a: ADD
0000190b: MSTORE
0000190c: PUSH1 0x43
0000190e: PUSH1 0xf8
00001910: SHL
00001911: PUSH1 0x44
00001913: DUP3
00001914: ADD
00001915: MSTORE
00001916: PUSH1 0x64
00001918: ADD
00001919: PUSH2 0x05aa
0000191c: JUMP
0000191d: JUMPDEST
0000191e: PUSH0
0000191f: DUP6
00001920: GT
00001921: PUSH2 0x1950
00001924: JUMPI
00001925: PUSH1 0x40
00001927: MLOAD
00001928: PUSH3 0x461bcd
0000192c: PUSH1 0xe5
0000192e: SHL
0000192f: DUP2
00001930: MSTORE
00001931: PUSH1 0x20
00001933: PUSH1 0x04
00001935: DUP3
00001936: ADD
00001937: MSTORE
00001938: PUSH1 0x01
0000193a: PUSH1 0x24
0000193c: DUP3
0000193d: ADD
0000193e: MSTORE
0000193f: PUSH1 0x47
00001941: PUSH1 0xf8
00001943: SHL
00001944: PUSH1 0x44
00001946: DUP3
00001947: ADD
00001948: MSTORE
00001949: PUSH1 0x64
0000194b: ADD
0000194c: PUSH2 0x05aa
0000194f: JUMP
00001950: JUMPDEST
00001951: PUSH2 0x2710
00001954: DUP3
00001955: LT
00001956: PUSH2 0x1985
00001959: JUMPI
0000195a: PUSH1 0x40
0000195c: MLOAD
0000195d: PUSH3 0x461bcd
00001961: PUSH1 0xe5
00001963: SHL
00001964: DUP2
00001965: MSTORE
00001966: PUSH1 0x20
00001968: PUSH1 0x04
0000196a: DUP3
0000196b: ADD
0000196c: MSTORE
0000196d: PUSH1 0x01
0000196f: PUSH1 0x24
00001971: DUP3
00001972: ADD
00001973: MSTORE
00001974: PUSH1 0x21
00001976: PUSH1 0xf9
00001978: SHL
00001979: PUSH1 0x44
0000197b: DUP3
0000197c: ADD
0000197d: MSTORE
0000197e: PUSH1 0x64
00001980: ADD
00001981: PUSH2 0x05aa
00001984: JUMP
00001985: JUMPDEST
00001986: PUSH0
00001987: PUSH0
00001988: PUSH2 0x1994
0000198b: DUP13
0000198c: DUP13
0000198d: DUP13
0000198e: DUP13
0000198f: DUP13
00001990: PUSH2 0x2a5c
00001993: JUMP
00001994: JUMPDEST
00001995: SWAP1
00001996: SWAP3
00001997: POP
00001998: SWAP1
00001999: POP
0000199a: PUSH0
0000199b: DUP8
0000199c: PUSH8 0x0de0b6b3a7640000
000019a5: PUSH2 0x19ae
000019a8: DUP9
000019a9: DUP6
000019aa: PUSH2 0x3940
000019ad: JUMP
000019ae: JUMPDEST
000019af: DUP10
000019b0: PUSH2 0x19b8
000019b3: DUP8
000019b4: PUSH2 0x396f
000019b7: JUMP
000019b8: JUMPDEST
000019b9: PUSH2 0x19c2
000019bc: SWAP2
000019bd: SWAP1
000019be: PUSH2 0x3940
000019c1: JUMP
000019c2: JUMPDEST
000019c3: PUSH2 0x19cc
000019c6: SWAP2
000019c7: SWAP1
000019c8: PUSH2 0x3989
000019cb: JUMP
000019cc: JUMPDEST
000019cd: PUSH2 0x19d6
000019d0: SWAP2
000019d1: SWAP1
000019d2: PUSH2 0x39af
000019d5: JUMP
000019d6: JUMPDEST
000019d7: PUSH2 0x19e0
000019da: SWAP2
000019db: SWAP1
000019dc: PUSH2 0x3989
000019df: JUMP
000019e0: JUMPDEST
000019e1: SWAP1
000019e2: POP
000019e3: PUSH0
000019e4: DUP2
000019e5: SGT
000019e6: PUSH2 0x1a15
000019e9: JUMPI
000019ea: PUSH1 0x40
000019ec: MLOAD
000019ed: PUSH3 0x461bcd
000019f1: PUSH1 0xe5
000019f3: SHL
000019f4: DUP2
000019f5: MSTORE
000019f6: PUSH1 0x20
000019f8: PUSH1 0x04
000019fa: DUP3
000019fb: ADD
000019fc: MSTORE
000019fd: PUSH1 0x01
000019ff: PUSH1 0x24
00001a01: DUP3
00001a02: ADD
00001a03: MSTORE
00001a04: PUSH1 0x13
00001a06: PUSH1 0xfa
00001a08: SHL
00001a09: PUSH1 0x44
00001a0b: DUP3
00001a0c: ADD
00001a0d: MSTORE
00001a0e: PUSH1 0x64
00001a10: ADD
00001a11: PUSH2 0x05aa
00001a14: JUMP
00001a15: JUMPDEST
00001a16: PUSH0
00001a17: PUSH2 0x2710
00001a1a: PUSH2 0x1a23
00001a1d: DUP8
00001a1e: DUP5
00001a1f: PUSH2 0x3778
00001a22: JUMP
00001a23: JUMPDEST
00001a24: PUSH2 0x1a2d
00001a27: SWAP2
00001a28: SWAP1
00001a29: PUSH2 0x3765
00001a2c: JUMP
00001a2d: JUMPDEST
00001a2e: SWAP1
00001a2f: POP
00001a30: SELFBALANCE
00001a31: DUP2
00001a32: GT
00001a33: ISZERO
00001a34: PUSH2 0x1a8e
00001a37: JUMPI
00001a38: PUSH1 0x40
00001a3a: MLOAD
00001a3b: PUSH0
00001a3c: SWAP1
00001a3d: COINBASE
00001a3e: SWAP1
00001a3f: SELFBALANCE
00001a40: SWAP1
00001a41: DUP4
00001a42: DUP2
00001a43: DUP2
00001a44: DUP2
00001a45: DUP6
00001a46: DUP8
00001a47: GAS
00001a48: CALL
00001a49: SWAP3
00001a4a: POP
00001a4b: POP
00001a4c: POP
00001a4d: RETURNDATASIZE
00001a4e: DUP1
00001a4f: PUSH0
00001a50: DUP2
00001a51: EQ
00001a52: PUSH2 0x1a76
00001a55: JUMPI
00001a56: PUSH1 0x40
00001a58: MLOAD
00001a59: SWAP2
00001a5a: POP
00001a5b: PUSH1 0x1f
00001a5d: NOT
00001a5e: PUSH1 0x3f
00001a60: RETURNDATASIZE
00001a61: ADD
00001a62: AND
00001a63: DUP3
00001a64: ADD
00001a65: PUSH1 0x40
00001a67: MSTORE
00001a68: RETURNDATASIZE
00001a69: DUP3
00001a6a: MSTORE
00001a6b: RETURNDATASIZE
00001a6c: PUSH0
00001a6d: PUSH1 0x20
00001a6f: DUP5
00001a70: ADD
00001a71: RETURNDATACOPY
00001a72: PUSH2 0x1a7b
00001a75: JUMP
00001a76: JUMPDEST
00001a77: PUSH1 0x60
00001a79: SWAP2
00001a7a: POP
00001a7b: JUMPDEST
00001a7c: POP
00001a7d: POP
00001a7e: SWAP1
00001a7f: POP
00001a80: DUP1
00001a81: PUSH2 0x1a88
00001a84: JUMPI
00001a85: PUSH0
00001a86: PUSH0
00001a87: REVERT
00001a88: JUMPDEST
00001a89: POP
00001a8a: PUSH2 0x1ae1
00001a8d: JUMP
00001a8e: JUMPDEST
00001a8f: PUSH1 0x40
00001a91: MLOAD
00001a92: PUSH0
00001a93: SWAP1
00001a94: COINBASE
00001a95: SWAP1
00001a96: DUP4
00001a97: SWAP1
00001a98: DUP4
00001a99: DUP2
00001a9a: DUP2
00001a9b: DUP2
00001a9c: DUP6
00001a9d: DUP8
00001a9e: GAS
00001a9f: CALL
00001aa0: SWAP3
00001aa1: POP
00001aa2: POP
00001aa3: POP
00001aa4: RETURNDATASIZE
00001aa5: DUP1
00001aa6: PUSH0
00001aa7: DUP2
00001aa8: EQ
00001aa9: PUSH2 0x1acd
00001aac: JUMPI
00001aad: PUSH1 0x40
00001aaf: MLOAD
00001ab0: SWAP2
00001ab1: POP
00001ab2: PUSH1 0x1f
00001ab4: NOT
00001ab5: PUSH1 0x3f
00001ab7: RETURNDATASIZE
00001ab8: ADD
00001ab9: AND
00001aba: DUP3
00001abb: ADD
00001abc: PUSH1 0x40
00001abe: MSTORE
00001abf: RETURNDATASIZE
00001ac0: DUP3
00001ac1: MSTORE
00001ac2: RETURNDATASIZE
00001ac3: PUSH0
00001ac4: PUSH1 0x20
00001ac6: DUP5
00001ac7: ADD
00001ac8: RETURNDATACOPY
00001ac9: PUSH2 0x1ad2
00001acc: JUMP
00001acd: JUMPDEST
00001ace: PUSH1 0x60
00001ad0: SWAP2
00001ad1: POP
00001ad2: JUMPDEST
00001ad3: POP
00001ad4: POP
00001ad5: SWAP1
00001ad6: POP
00001ad7: DUP1
00001ad8: PUSH2 0x1adf
00001adb: JUMPI
00001adc: PUSH0
00001add: PUSH0
00001ade: REVERT
00001adf: JUMPDEST
00001ae0: POP
00001ae1: JUMPDEST
00001ae2: POP
00001ae3: POP
00001ae4: POP
00001ae5: POP
00001ae6: POP
00001ae7: POP
00001ae8: POP
00001ae9: POP
00001aea: POP
00001aeb: POP
00001aec: POP
00001aed: POP
00001aee: POP
00001aef: POP
00001af0: JUMP
00001af1: JUMPDEST
00001af2: PUSH1 0x01
00001af4: PUSH1 0x01
00001af6: PUSH1 0xa0
00001af8: SHL
00001af9: SUB
00001afa: DUP5
00001afb: AND
00001afc: PUSH4 0x095ea7b3
00001b01: DUP7
00001b02: PUSH2 0x1b0c
00001b05: DUP7
00001b06: PUSH1 0x01
00001b08: PUSH2 0x37f4
00001b0b: JUMP
00001b0c: JUMPDEST
00001b0d: PUSH1 0x40
00001b0f: MLOAD
00001b10: DUP4
00001b11: PUSH4 0xffffffff
00001b16: AND
00001b17: PUSH1 0xe0
00001b19: SHL
00001b1a: DUP2
00001b1b: MSTORE
00001b1c: PUSH1 0x04
00001b1e: ADD
00001b1f: PUSH2 0x1b29
00001b22: SWAP3
00001b23: SWAP2
00001b24: SWAP1
00001b25: PUSH2 0x3807
00001b28: JUMP
00001b29: JUMPDEST
00001b2a: PUSH0
00001b2b: PUSH1 0x40
00001b2d: MLOAD
00001b2e: DUP1
00001b2f: DUP4
00001b30: SUB
00001b31: DUP2
00001b32: PUSH0
00001b33: DUP8
00001b34: DUP1
00001b35: EXTCODESIZE
00001b36: ISZERO
00001b37: DUP1
00001b38: ISZERO
00001b39: PUSH2 0x1b40
00001b3c: JUMPI
00001b3d: PUSH0
00001b3e: PUSH0
00001b3f: REVERT
00001b40: JUMPDEST
00001b41: POP
00001b42: GAS
00001b43: CALL
00001b44: ISZERO
00001b45: DUP1
00001b46: ISZERO
00001b47: PUSH2 0x1b52
00001b4a: JUMPI
00001b4b: RETURNDATASIZE
00001b4c: PUSH0
00001b4d: PUSH0
00001b4e: RETURNDATACOPY
00001b4f: RETURNDATASIZE
00001b50: PUSH0
00001b51: REVERT
00001b52: JUMPDEST
00001b53: POP
00001b54: POP
00001b55: PUSH1 0x40
00001b57: MLOAD
00001b58: PUSH4 0x8201aa3f
00001b5d: PUSH1 0xe0
00001b5f: SHL
00001b60: DUP2
00001b61: MSTORE
00001b62: PUSH1 0x01
00001b64: PUSH1 0x01
00001b66: PUSH1 0xa0
00001b68: SHL
00001b69: SUB
00001b6a: DUP8
00001b6b: DUP2
00001b6c: AND
00001b6d: PUSH1 0x04
00001b6f: DUP4
00001b70: ADD
00001b71: MSTORE
00001b72: PUSH1 0x24
00001b74: DUP3
00001b75: ADD
00001b76: DUP8
00001b77: SWAP1
00001b78: MSTORE
00001b79: DUP6
00001b7a: DUP2
00001b7b: AND
00001b7c: PUSH1 0x44
00001b7e: DUP4
00001b7f: ADD
00001b80: MSTORE
00001b81: PUSH1 0x64
00001b83: DUP3
00001b84: ADD
00001b85: DUP6
00001b86: SWAP1
00001b87: MSTORE
00001b88: PUSH0
00001b89: NOT
00001b8a: PUSH1 0x84
00001b8c: DUP4
00001b8d: ADD
00001b8e: MSTORE
00001b8f: DUP9
00001b90: AND
00001b91: SWAP3
00001b92: POP
00001b93: PUSH4 0x8201aa3f
00001b98: SWAP2
00001b99: POP
00001b9a: PUSH1 0xa4
00001b9c: ADD
00001b9d: JUMPDEST
00001b9e: PUSH0
00001b9f: PUSH1 0x40
00001ba1: MLOAD
00001ba2: DUP1
00001ba3: DUP4
00001ba4: SUB
00001ba5: DUP2
00001ba6: PUSH0
00001ba7: DUP8
00001ba8: DUP1
00001ba9: EXTCODESIZE
00001baa: ISZERO
00001bab: DUP1
00001bac: ISZERO
00001bad: PUSH2 0x1bb4
00001bb0: JUMPI
00001bb1: PUSH0
00001bb2: PUSH0
00001bb3: REVERT
00001bb4: JUMPDEST
00001bb5: POP
00001bb6: GAS
00001bb7: CALL
00001bb8: ISZERO
00001bb9: DUP1
00001bba: ISZERO
00001bbb: PUSH2 0x1bc6
00001bbe: JUMPI
00001bbf: RETURNDATASIZE
00001bc0: PUSH0
00001bc1: PUSH0
00001bc2: RETURNDATACOPY
00001bc3: RETURNDATASIZE
00001bc4: PUSH0
00001bc5: REVERT
00001bc6: JUMPDEST
00001bc7: POP
00001bc8: POP
00001bc9: POP
00001bca: POP
00001bcb: POP
00001bcc: POP
00001bcd: POP
00001bce: POP
00001bcf: POP
00001bd0: JUMP
00001bd1: JUMPDEST
00001bd2: PUSH1 0x40
00001bd4: MLOAD
00001bd5: PUSH4 0x70a08231
00001bda: PUSH1 0xe0
00001bdc: SHL
00001bdd: DUP2
00001bde: MSTORE
00001bdf: ADDRESS
00001be0: PUSH1 0x04
00001be2: DUP3
00001be3: ADD
00001be4: MSTORE
00001be5: DUP7
00001be6: SWAP1
00001be7: DUP5
00001be8: SWAP1
00001be9: DUP7
00001bea: SWAP1
00001beb: PUSH0
00001bec: SWAP1
00001bed: PUSH1 0x01
00001bef: PUSH1 0x01
00001bf1: PUSH1 0xa0
00001bf3: SHL
00001bf4: SUB
00001bf5: DUP5
00001bf6: AND
00001bf7: SWAP1
00001bf8: PUSH4 0x70a08231
00001bfd: SWAP1
00001bfe: PUSH1 0x24
00001c00: ADD
00001c01: PUSH1 0x20
00001c03: PUSH1 0x40
00001c05: MLOAD
00001c06: DUP1
00001c07: DUP4
00001c08: SUB
00001c09: DUP2
00001c0a: DUP7
00001c0b: GAS
00001c0c: STATICCALL
00001c0d: ISZERO
00001c0e: DUP1
00001c0f: ISZERO
00001c10: PUSH2 0x1c1b
00001c13: JUMPI
00001c14: RETURNDATASIZE
00001c15: PUSH0
00001c16: PUSH0
00001c17: RETURNDATACOPY
00001c18: RETURNDATASIZE
00001c19: PUSH0
00001c1a: REVERT
00001c1b: JUMPDEST
00001c1c: POP
00001c1d: POP
00001c1e: POP
00001c1f: POP
00001c20: PUSH1 0x40
00001c22: MLOAD
00001c23: RETURNDATASIZE
00001c24: PUSH1 0x1f
00001c26: NOT
00001c27: PUSH1 0x1f
00001c29: DUP3
00001c2a: ADD
00001c2b: AND
00001c2c: DUP3
00001c2d: ADD
00001c2e: DUP1
00001c2f: PUSH1 0x40
00001c31: MSTORE
00001c32: POP
00001c33: DUP2
00001c34: ADD
00001c35: SWAP1
00001c36: PUSH2 0x1c3f
00001c39: SWAP2
00001c3a: SWAP1
00001c3b: PUSH2 0x3929
00001c3e: JUMP
00001c3f: JUMPDEST
00001c40: PUSH1 0x40
00001c42: MLOAD
00001c43: PUSH4 0x70a08231
00001c48: PUSH1 0xe0
00001c4a: SHL
00001c4b: DUP2
00001c4c: MSTORE
00001c4d: ADDRESS
00001c4e: PUSH1 0x04
00001c50: DUP3
00001c51: ADD
00001c52: MSTORE
00001c53: SWAP1
00001c54: SWAP2
00001c55: POP
00001c56: PUSH0
00001c57: SWAP1
00001c58: PUSH1 0x01
00001c5a: PUSH1 0x01
00001c5c: PUSH1 0xa0
00001c5e: SHL
00001c5f: SUB
00001c60: DUP5
00001c61: AND
00001c62: SWAP1
00001c63: PUSH4 0x70a08231
00001c68: SWAP1
00001c69: PUSH1 0x24
00001c6b: ADD
00001c6c: PUSH1 0x20
00001c6e: PUSH1 0x40
00001c70: MLOAD
00001c71: DUP1
00001c72: DUP4
00001c73: SUB
00001c74: DUP2
00001c75: DUP7
00001c76: GAS
00001c77: STATICCALL
00001c78: ISZERO
00001c79: DUP1
00001c7a: ISZERO
00001c7b: PUSH2 0x1c86
00001c7e: JUMPI
00001c7f: RETURNDATASIZE
00001c80: PUSH0
00001c81: PUSH0
00001c82: RETURNDATACOPY
00001c83: RETURNDATASIZE
00001c84: PUSH0
00001c85: REVERT
00001c86: JUMPDEST
00001c87: POP
00001c88: POP
00001c89: POP
00001c8a: POP
00001c8b: PUSH1 0x40
00001c8d: MLOAD
00001c8e: RETURNDATASIZE
00001c8f: PUSH1 0x1f
00001c91: NOT
00001c92: PUSH1 0x1f
00001c94: DUP3
00001c95: ADD
00001c96: AND
00001c97: DUP3
00001c98: ADD
00001c99: DUP1
00001c9a: PUSH1 0x40
00001c9c: MSTORE
00001c9d: POP
00001c9e: DUP2
00001c9f: ADD
00001ca0: SWAP1
00001ca1: PUSH2 0x1caa
00001ca4: SWAP2
00001ca5: SWAP1
00001ca6: PUSH2 0x3929
00001ca9: JUMP
00001caa: JUMPDEST
00001cab: SWAP1
00001cac: POP
00001cad: PUSH0
00001cae: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc1
00001cc3: NOT
00001cc4: PUSH1 0x01
00001cc6: PUSH1 0x01
00001cc8: PUSH1 0xa0
00001cca: SHL
00001ccb: SUB
00001ccc: DUP12
00001ccd: AND
00001cce: ADD
00001ccf: PUSH2 0x1dae
00001cd2: JUMPI
00001cd3: PUSH1 0x40
00001cd5: MLOAD
00001cd6: PUSH4 0x2e1a7d4d
00001cdb: PUSH1 0xe0
00001cdd: SHL
00001cde: DUP2
00001cdf: MSTORE
00001ce0: PUSH1 0x04
00001ce2: DUP2
00001ce3: ADD
00001ce4: DUP10
00001ce5: SWAP1
00001ce6: MSTORE
00001ce7: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001cfc: SWAP1
00001cfd: PUSH4 0x2e1a7d4d
00001d02: SWAP1
00001d03: PUSH1 0x24
00001d05: ADD
00001d06: PUSH0
00001d07: PUSH1 0x40
00001d09: MLOAD
00001d0a: DUP1
00001d0b: DUP4
00001d0c: SUB
00001d0d: DUP2
00001d0e: PUSH0
00001d0f: DUP8
00001d10: DUP1
00001d11: EXTCODESIZE
00001d12: ISZERO
00001d13: DUP1
00001d14: ISZERO
00001d15: PUSH2 0x1d1c
00001d18: JUMPI
00001d19: PUSH0
00001d1a: PUSH0
00001d1b: REVERT
00001d1c: JUMPDEST
00001d1d: POP
00001d1e: GAS
00001d1f: CALL
00001d20: ISZERO
00001d21: DUP1
00001d22: ISZERO
00001d23: PUSH2 0x1d2e
00001d26: JUMPI
00001d27: RETURNDATASIZE
00001d28: PUSH0
00001d29: PUSH0
00001d2a: RETURNDATACOPY
00001d2b: RETURNDATASIZE
00001d2c: PUSH0
00001d2d: REVERT
00001d2e: JUMPDEST
00001d2f: POP
00001d30: POP
00001d31: PUSH1 0x40
00001d33: MLOAD
00001d34: PUSH4 0x2f85f1e7
00001d39: PUSH1 0xe2
00001d3b: SHL
00001d3c: DUP2
00001d3d: MSTORE
00001d3e: PUSH1 0x01
00001d40: PUSH1 0x01
00001d42: PUSH1 0xa0
00001d44: SHL
00001d45: SUB
00001d46: DUP10
00001d47: AND
00001d48: SWAP3
00001d49: POP
00001d4a: PUSH4 0xbe17c79c
00001d4f: SWAP2
00001d50: POP
00001d51: DUP11
00001d52: SWAP1
00001d53: PUSH2 0x1d66
00001d56: SWAP1
00001d57: DUP16
00001d58: SWAP1
00001d59: DUP4
00001d5a: SWAP1
00001d5b: DUP14
00001d5c: SWAP1
00001d5d: PUSH0
00001d5e: SWAP1
00001d5f: PUSH1 0x04
00001d61: ADD
00001d62: PUSH2 0x39db
00001d65: JUMP
00001d66: JUMPDEST
00001d67: PUSH1 0x20
00001d69: PUSH1 0x40
00001d6b: MLOAD
00001d6c: DUP1
00001d6d: DUP4
00001d6e: SUB
00001d6f: DUP2
00001d70: DUP6
00001d71: DUP9
00001d72: GAS
00001d73: CALL
00001d74: ISZERO
00001d75: DUP1
00001d76: ISZERO
00001d77: PUSH2 0x1d82
00001d7a: JUMPI
00001d7b: RETURNDATASIZE
00001d7c: PUSH0
00001d7d: PUSH0
00001d7e: RETURNDATACOPY
00001d7f: RETURNDATASIZE
00001d80: PUSH0
00001d81: REVERT
00001d82: JUMPDEST
00001d83: POP
00001d84: POP
00001d85: POP
00001d86: POP
00001d87: POP
00001d88: PUSH1 0x40
00001d8a: MLOAD
00001d8b: RETURNDATASIZE
00001d8c: PUSH1 0x1f
00001d8e: NOT
00001d8f: PUSH1 0x1f
00001d91: DUP3
00001d92: ADD
00001d93: AND
00001d94: DUP3
00001d95: ADD
00001d96: DUP1
00001d97: PUSH1 0x40
00001d99: MSTORE
00001d9a: POP
00001d9b: DUP2
00001d9c: ADD
00001d9d: SWAP1
00001d9e: PUSH2 0x1da7
00001da1: SWAP2
00001da2: SWAP1
00001da3: PUSH2 0x3929
00001da6: JUMP
00001da7: JUMPDEST
00001da8: SWAP1
00001da9: POP
00001daa: PUSH2 0x1f39
00001dad: JUMP
00001dae: JUMPDEST
00001daf: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc1
00001dc4: NOT
00001dc5: PUSH1 0x01
00001dc7: PUSH1 0x01
00001dc9: PUSH1 0xa0
00001dcb: SHL
00001dcc: SUB
00001dcd: DUP11
00001dce: AND
00001dcf: ADD
00001dd0: PUSH2 0x1eba
00001dd3: JUMPI
00001dd4: PUSH2 0x1ddd
00001dd7: DUP11
00001dd8: DUP10
00001dd9: PUSH2 0x2b60
00001ddc: JUMP
00001ddd: JUMPDEST
00001dde: PUSH1 0x40
00001de0: MLOAD
00001de1: PUSH4 0x2f85f1e7
00001de6: PUSH1 0xe2
00001de8: SHL
00001de9: DUP2
00001dea: MSTORE
00001deb: PUSH1 0x01
00001ded: PUSH1 0x01
00001def: PUSH1 0xa0
00001df1: SHL
00001df2: SUB
00001df3: DUP8
00001df4: AND
00001df5: SWAP1
00001df6: PUSH4 0xbe17c79c
00001dfb: SWAP1
00001dfc: PUSH2 0x1e0f
00001dff: SWAP1
00001e00: DUP15
00001e01: SWAP1
00001e02: DUP13
00001e03: SWAP1
00001e04: DUP13
00001e05: SWAP1
00001e06: PUSH0
00001e07: SWAP1
00001e08: PUSH1 0x04
00001e0a: ADD
00001e0b: PUSH2 0x39db
00001e0e: JUMP
00001e0f: JUMPDEST
00001e10: PUSH1 0x20
00001e12: PUSH1 0x40
00001e14: MLOAD
00001e15: DUP1
00001e16: DUP4
00001e17: SUB
00001e18: DUP2
00001e19: PUSH0
00001e1a: DUP8
00001e1b: GAS
00001e1c: CALL
00001e1d: ISZERO
00001e1e: DUP1
00001e1f: ISZERO
00001e20: PUSH2 0x1e2b
00001e23: JUMPI
00001e24: RETURNDATASIZE
00001e25: PUSH0
00001e26: PUSH0
00001e27: RETURNDATACOPY
00001e28: RETURNDATASIZE
00001e29: PUSH0
00001e2a: REVERT
00001e2b: JUMPDEST
00001e2c: POP
00001e2d: POP
00001e2e: POP
00001e2f: POP
00001e30: PUSH1 0x40
00001e32: MLOAD
00001e33: RETURNDATASIZE
00001e34: PUSH1 0x1f
00001e36: NOT
00001e37: PUSH1 0x1f
00001e39: DUP3
00001e3a: ADD
00001e3b: AND
00001e3c: DUP3
00001e3d: ADD
00001e3e: DUP1
00001e3f: PUSH1 0x40
00001e41: MSTORE
00001e42: POP
00001e43: DUP2
00001e44: ADD
00001e45: SWAP1
00001e46: PUSH2 0x1e4f
00001e49: SWAP2
00001e4a: SWAP1
00001e4b: PUSH2 0x3929
00001e4e: JUMP
00001e4f: JUMPDEST
00001e50: SWAP1
00001e51: POP
00001e52: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001e67: PUSH1 0x01
00001e69: PUSH1 0x01
00001e6b: PUSH1 0xa0
00001e6d: SHL
00001e6e: SUB
00001e6f: AND
00001e70: PUSH4 0xd0e30db0
00001e75: DUP3
00001e76: PUSH1 0x40
00001e78: MLOAD
00001e79: DUP3
00001e7a: PUSH4 0xffffffff
00001e7f: AND
00001e80: PUSH1 0xe0
00001e82: SHL
00001e83: DUP2
00001e84: MSTORE
00001e85: PUSH1 0x04
00001e87: ADD
00001e88: PUSH0
00001e89: PUSH1 0x40
00001e8b: MLOAD
00001e8c: DUP1
00001e8d: DUP4
00001e8e: SUB
00001e8f: DUP2
00001e90: DUP6
00001e91: DUP9
00001e92: DUP1
00001e93: EXTCODESIZE
00001e94: ISZERO
00001e95: DUP1
00001e96: ISZERO
00001e97: PUSH2 0x1e9e
00001e9a: JUMPI
00001e9b: PUSH0
00001e9c: PUSH0
00001e9d: REVERT
00001e9e: JUMPDEST
00001e9f: POP
00001ea0: GAS
00001ea1: CALL
00001ea2: ISZERO
00001ea3: DUP1
00001ea4: ISZERO
00001ea5: PUSH2 0x1eb0
00001ea8: JUMPI
00001ea9: RETURNDATASIZE
00001eaa: PUSH0
00001eab: PUSH0
00001eac: RETURNDATACOPY
00001ead: RETURNDATASIZE
00001eae: PUSH0
00001eaf: REVERT
00001eb0: JUMPDEST
00001eb1: POP
00001eb2: POP
00001eb3: POP
00001eb4: POP
00001eb5: POP
00001eb6: PUSH2 0x1f39
00001eb9: JUMP
00001eba: JUMPDEST
00001ebb: PUSH2 0x1ec4
00001ebe: DUP11
00001ebf: DUP10
00001ec0: PUSH2 0x2b60
00001ec3: JUMP
00001ec4: JUMPDEST
00001ec5: PUSH1 0x40
00001ec7: MLOAD
00001ec8: PUSH4 0x2f85f1e7
00001ecd: PUSH1 0xe2
00001ecf: SHL
00001ed0: DUP2
00001ed1: MSTORE
00001ed2: PUSH1 0x01
00001ed4: PUSH1 0x01
00001ed6: PUSH1 0xa0
00001ed8: SHL
00001ed9: SUB
00001eda: DUP8
00001edb: AND
00001edc: SWAP1
00001edd: PUSH4 0xbe17c79c
00001ee2: SWAP1
00001ee3: PUSH2 0x1ef6
00001ee6: SWAP1
00001ee7: DUP15
00001ee8: SWAP1
00001ee9: DUP13
00001eea: SWAP1
00001eeb: DUP13
00001eec: SWAP1
00001eed: PUSH0
00001eee: SWAP1
00001eef: PUSH1 0x04
00001ef1: ADD
00001ef2: PUSH2 0x39db
00001ef5: JUMP
00001ef6: JUMPDEST
00001ef7: PUSH1 0x20
00001ef9: PUSH1 0x40
00001efb: MLOAD
00001efc: DUP1
00001efd: DUP4
00001efe: SUB
00001eff: DUP2
00001f00: PUSH0
00001f01: DUP8
00001f02: GAS
00001f03: CALL
00001f04: ISZERO
00001f05: DUP1
00001f06: ISZERO
00001f07: PUSH2 0x1f12
00001f0a: JUMPI
00001f0b: RETURNDATASIZE
00001f0c: PUSH0
00001f0d: PUSH0
00001f0e: RETURNDATACOPY
00001f0f: RETURNDATASIZE
00001f10: PUSH0
00001f11: REVERT
00001f12: JUMPDEST
00001f13: POP
00001f14: POP
00001f15: POP
00001f16: POP
00001f17: PUSH1 0x40
00001f19: MLOAD
00001f1a: RETURNDATASIZE
00001f1b: PUSH1 0x1f
00001f1d: NOT
00001f1e: PUSH1 0x1f
00001f20: DUP3
00001f21: ADD
00001f22: AND
00001f23: DUP3
00001f24: ADD
00001f25: DUP1
00001f26: PUSH1 0x40
00001f28: MSTORE
00001f29: POP
00001f2a: DUP2
00001f2b: ADD
00001f2c: SWAP1
00001f2d: PUSH2 0x1f36
00001f30: SWAP2
00001f31: SWAP1
00001f32: PUSH2 0x3929
00001f35: JUMP
00001f36: JUMPDEST
00001f37: SWAP1
00001f38: POP
00001f39: JUMPDEST
00001f3a: DUP11
00001f3b: ISZERO
00001f3c: PUSH2 0x1f78
00001f3f: JUMPI
00001f40: DUP7
00001f41: DUP2
00001f42: LT
00001f43: ISZERO
00001f44: PUSH2 0x1f73
00001f47: JUMPI
00001f48: PUSH1 0x40
00001f4a: MLOAD
00001f4b: PUSH3 0x461bcd
00001f4f: PUSH1 0xe5
00001f51: SHL
00001f52: DUP2
00001f53: MSTORE
00001f54: PUSH1 0x20
00001f56: PUSH1 0x04
00001f58: DUP3
00001f59: ADD
00001f5a: MSTORE
00001f5b: PUSH1 0x01
00001f5d: PUSH1 0x24
00001f5f: DUP3
00001f60: ADD
00001f61: MSTORE
00001f62: PUSH1 0x6d
00001f64: PUSH1 0xf8
00001f66: SHL
00001f67: PUSH1 0x44
00001f69: DUP3
00001f6a: ADD
00001f6b: MSTORE
00001f6c: PUSH1 0x64
00001f6e: ADD
00001f6f: PUSH2 0x05aa
00001f72: JUMP
00001f73: JUMPDEST
00001f74: PUSH2 0x1fac
00001f77: JUMP
00001f78: JUMPDEST
00001f79: DUP7
00001f7a: DUP2
00001f7b: LT
00001f7c: ISZERO
00001f7d: PUSH2 0x1fac
00001f80: JUMPI
00001f81: PUSH1 0x40
00001f83: MLOAD
00001f84: PUSH3 0x461bcd
00001f88: PUSH1 0xe5
00001f8a: SHL
00001f8b: DUP2
00001f8c: MSTORE
00001f8d: PUSH1 0x20
00001f8f: PUSH1 0x04
00001f91: DUP3
00001f92: ADD
00001f93: MSTORE
00001f94: PUSH1 0x01
00001f96: PUSH1 0x24
00001f98: DUP3
00001f99: ADD
00001f9a: MSTORE
00001f9b: PUSH1 0x4d
00001f9d: PUSH1 0xf8
00001f9f: SHL
00001fa0: PUSH1 0x44
00001fa2: DUP3
00001fa3: ADD
00001fa4: MSTORE
00001fa5: PUSH1 0x64
00001fa7: ADD
00001fa8: PUSH2 0x05aa
00001fab: JUMP
00001fac: JUMPDEST
00001fad: PUSH10 0x466c7569645431444558
00001fb8: TLOAD
00001fb9: DUP1
00001fba: ISZERO
00001fbb: PUSH2 0x1fd6
00001fbe: JUMPI
00001fbf: PUSH1 0x40
00001fc1: MLOAD
00001fc2: PUSH3 0x461bcd
00001fc6: PUSH1 0xe5
00001fc8: SHL
00001fc9: DUP2
00001fca: MSTORE
00001fcb: PUSH1 0x04
00001fcd: ADD
00001fce: PUSH2 0x05aa
00001fd1: SWAP1
00001fd2: PUSH2 0x3a01
00001fd5: JUMP
00001fd6: JUMPDEST
00001fd7: PUSH1 0x40
00001fd9: MLOAD
00001fda: PUSH4 0x70a08231
00001fdf: PUSH1 0xe0
00001fe1: SHL
00001fe2: DUP2
00001fe3: MSTORE
00001fe4: ADDRESS
00001fe5: PUSH1 0x04
00001fe7: DUP3
00001fe8: ADD
00001fe9: MSTORE
00001fea: PUSH0
00001feb: SWAP1
00001fec: PUSH1 0x01
00001fee: PUSH1 0x01
00001ff0: PUSH1 0xa0
00001ff2: SHL
00001ff3: SUB
00001ff4: DUP9
00001ff5: AND
00001ff6: SWAP1
00001ff7: PUSH4 0x70a08231
00001ffc: SWAP1
00001ffd: PUSH1 0x24
00001fff: ADD
00002000: PUSH1 0x20
00002002: PUSH1 0x40
00002004: MLOAD
00002005: DUP1
00002006: DUP4
00002007: SUB
00002008: DUP2
00002009: DUP7
0000200a: GAS
0000200b: STATICCALL
0000200c: ISZERO
0000200d: DUP1
0000200e: ISZERO
0000200f: PUSH2 0x201a
00002012: JUMPI
00002013: RETURNDATASIZE
00002014: PUSH0
00002015: PUSH0
00002016: RETURNDATACOPY
00002017: RETURNDATASIZE
00002018: PUSH0
00002019: REVERT
0000201a: JUMPDEST
0000201b: POP
0000201c: POP
0000201d: POP
0000201e: POP
0000201f: PUSH1 0x40
00002021: MLOAD
00002022: RETURNDATASIZE
00002023: PUSH1 0x1f
00002025: NOT
00002026: PUSH1 0x1f
00002028: DUP3
00002029: ADD
0000202a: AND
0000202b: DUP3
0000202c: ADD
0000202d: DUP1
0000202e: PUSH1 0x40
00002030: MSTORE
00002031: POP
00002032: DUP2
00002033: ADD
00002034: SWAP1
00002035: PUSH2 0x203e
00002038: SWAP2
00002039: SWAP1
0000203a: PUSH2 0x3929
0000203d: JUMP
0000203e: JUMPDEST
0000203f: SWAP1
00002040: POP
00002041: PUSH0
00002042: PUSH2 0x204b
00002045: DUP5
00002046: DUP8
00002047: PUSH2 0x37f4
0000204a: JUMP
0000204b: JUMPDEST
0000204c: SWAP1
0000204d: POP
0000204e: DUP1
0000204f: DUP3
00002050: LT
00002051: ISZERO
00002052: PUSH2 0x2081
00002055: JUMPI
00002056: PUSH1 0x40
00002058: MLOAD
00002059: PUSH3 0x461bcd
0000205d: PUSH1 0xe5
0000205f: SHL
00002060: DUP2
00002061: MSTORE
00002062: PUSH1 0x20
00002064: PUSH1 0x04
00002066: DUP3
00002067: ADD
00002068: MSTORE
00002069: PUSH1 0x01
0000206b: PUSH1 0x24
0000206d: DUP3
0000206e: ADD
0000206f: MSTORE
00002070: PUSH1 0x39
00002072: PUSH1 0xf9
00002074: SHL
00002075: PUSH1 0x44
00002077: DUP3
00002078: ADD
00002079: MSTORE
0000207a: PUSH1 0x64
0000207c: ADD
0000207d: PUSH2 0x05aa
00002080: JUMP
00002081: JUMPDEST
00002082: PUSH1 0x40
00002084: MLOAD
00002085: PUSH4 0x70a08231
0000208a: PUSH1 0xe0
0000208c: SHL
0000208d: DUP2
0000208e: MSTORE
0000208f: ADDRESS
00002090: PUSH1 0x04
00002092: DUP3
00002093: ADD
00002094: MSTORE
00002095: PUSH0
00002096: SWAP1
00002097: PUSH1 0x01
00002099: PUSH1 0x01
0000209b: PUSH1 0xa0
0000209d: SHL
0000209e: SUB
0000209f: DUP10
000020a0: AND
000020a1: SWAP1
000020a2: PUSH4 0x70a08231
000020a7: SWAP1
000020a8: PUSH1 0x24
000020aa: ADD
000020ab: PUSH1 0x20
000020ad: PUSH1 0x40
000020af: MLOAD
000020b0: DUP1
000020b1: DUP4
000020b2: SUB
000020b3: DUP2
000020b4: DUP7
000020b5: GAS
000020b6: STATICCALL
000020b7: ISZERO
000020b8: DUP1
000020b9: ISZERO
000020ba: PUSH2 0x20c5
000020bd: JUMPI
000020be: RETURNDATASIZE
000020bf: PUSH0
000020c0: PUSH0
000020c1: RETURNDATACOPY
000020c2: RETURNDATASIZE
000020c3: PUSH0
000020c4: REVERT
000020c5: JUMPDEST
000020c6: POP
000020c7: POP
000020c8: POP
000020c9: POP
000020ca: PUSH1 0x40
000020cc: MLOAD
000020cd: RETURNDATASIZE
000020ce: PUSH1 0x1f
000020d0: NOT
000020d1: PUSH1 0x1f
000020d3: DUP3
000020d4: ADD
000020d5: AND
000020d6: DUP3
000020d7: ADD
000020d8: DUP1
000020d9: PUSH1 0x40
000020db: MSTORE
000020dc: POP
000020dd: DUP2
000020de: ADD
000020df: SWAP1
000020e0: PUSH2 0x20e9
000020e3: SWAP2
000020e4: SWAP1
000020e5: PUSH2 0x3929
000020e8: JUMP
000020e9: JUMPDEST
000020ea: SWAP1
000020eb: POP
000020ec: PUSH0
000020ed: PUSH2 0x20f6
000020f0: DUP14
000020f1: DUP9
000020f2: PUSH2 0x3a1c
000020f5: JUMP
000020f6: JUMPDEST
000020f7: SWAP1
000020f8: POP
000020f9: DUP1
000020fa: DUP3
000020fb: LT
000020fc: ISZERO
000020fd: PUSH2 0x212c
00002100: JUMPI
00002101: PUSH1 0x40
00002103: MLOAD
00002104: PUSH3 0x461bcd
00002108: PUSH1 0xe5
0000210a: SHL
0000210b: DUP2
0000210c: MSTORE
0000210d: PUSH1 0x20
0000210f: PUSH1 0x04
00002111: DUP3
00002112: ADD
00002113: MSTORE
00002114: PUSH1 0x01
00002116: PUSH1 0x24
00002118: DUP3
00002119: ADD
0000211a: MSTORE
0000211b: PUSH1 0x71
0000211d: PUSH1 0xf8
0000211f: SHL
00002120: PUSH1 0x44
00002122: DUP3
00002123: ADD
00002124: MSTORE
00002125: PUSH1 0x64
00002127: ADD
00002128: PUSH2 0x05aa
0000212b: JUMP
0000212c: JUMPDEST
0000212d: POP
0000212e: POP
0000212f: POP
00002130: POP
00002131: POP
00002132: POP
00002133: POP
00002134: POP
00002135: POP
00002136: POP
00002137: POP
00002138: POP
00002139: POP
0000213a: POP
0000213b: POP
0000213c: POP
0000213d: POP
0000213e: JUMP
0000213f: JUMPDEST
00002140: PUSH1 0x40
00002142: MLOAD
00002143: PUSH4 0xa9059cbb
00002148: PUSH1 0xe0
0000214a: SHL
0000214b: DUP2
0000214c: MSTORE
0000214d: DUP2
0000214e: SWAP1
0000214f: PUSH1 0x01
00002151: PUSH1 0x01
00002153: PUSH1 0xa0
00002155: SHL
00002156: SUB
00002157: DUP3
00002158: AND
00002159: SWAP1
0000215a: PUSH4 0xa9059cbb
0000215f: SWAP1
00002160: PUSH2 0x216f
00002163: SWAP1
00002164: DUP10
00002165: SWAP1
00002166: DUP9
00002167: SWAP1
00002168: PUSH1 0x04
0000216a: ADD
0000216b: PUSH2 0x3807
0000216e: JUMP
0000216f: JUMPDEST
00002170: PUSH0
00002171: PUSH1 0x40
00002173: MLOAD
00002174: DUP1
00002175: DUP4
00002176: SUB
00002177: DUP2
00002178: PUSH0
00002179: DUP8
0000217a: DUP1
0000217b: EXTCODESIZE
0000217c: ISZERO
0000217d: DUP1
0000217e: ISZERO
0000217f: PUSH2 0x2186
00002182: JUMPI
00002183: PUSH0
00002184: PUSH0
00002185: REVERT
00002186: JUMPDEST
00002187: POP
00002188: GAS
00002189: CALL
0000218a: ISZERO
0000218b: DUP1
0000218c: ISZERO
0000218d: PUSH2 0x2198
00002190: JUMPI
00002191: RETURNDATASIZE
00002192: PUSH0
00002193: PUSH0
00002194: RETURNDATACOPY
00002195: RETURNDATASIZE
00002196: PUSH0
00002197: REVERT
00002198: JUMPDEST
00002199: POP
0000219a: DUP9
0000219b: SWAP3
0000219c: POP
0000219d: POP
0000219e: DUP7
0000219f: ISZERO
000021a0: SWAP1
000021a1: POP
000021a2: PUSH2 0x2213
000021a5: JUMPI
000021a6: PUSH1 0x40
000021a8: DUP1
000021a9: MLOAD
000021aa: PUSH1 0x20
000021ac: DUP2
000021ad: ADD
000021ae: DUP3
000021af: MSTORE
000021b0: PUSH0
000021b1: DUP1
000021b2: DUP3
000021b3: MSTORE
000021b4: SWAP2
000021b5: MLOAD
000021b6: PUSH4 0x022c0d9f
000021bb: PUSH1 0xe0
000021bd: SHL
000021be: DUP2
000021bf: MSTORE
000021c0: PUSH1 0x01
000021c2: PUSH1 0x01
000021c4: PUSH1 0xa0
000021c6: SHL
000021c7: SUB
000021c8: DUP5
000021c9: AND
000021ca: SWAP3
000021cb: PUSH4 0x022c0d9f
000021d0: SWAP3
000021d1: PUSH2 0x21e1
000021d4: SWAP3
000021d5: DUP10
000021d6: SWAP3
000021d7: SWAP2
000021d8: ADDRESS
000021d9: SWAP2
000021da: PUSH1 0x04
000021dc: ADD
000021dd: PUSH2 0x3a2f
000021e0: JUMP
000021e1: JUMPDEST
000021e2: PUSH0
000021e3: PUSH1 0x40
000021e5: MLOAD
000021e6: DUP1
000021e7: DUP4
000021e8: SUB
000021e9: DUP2
000021ea: PUSH0
000021eb: DUP8
000021ec: DUP1
000021ed: EXTCODESIZE
000021ee: ISZERO
000021ef: DUP1
000021f0: ISZERO
000021f1: PUSH2 0x21f8
000021f4: JUMPI
000021f5: PUSH0
000021f6: PUSH0
000021f7: REVERT
000021f8: JUMPDEST
000021f9: POP
000021fa: GAS
000021fb: CALL
000021fc: ISZERO
000021fd: DUP1
000021fe: ISZERO
000021ff: PUSH2 0x220a
00002202: JUMPI
00002203: RETURNDATASIZE
00002204: PUSH0
00002205: PUSH0
00002206: RETURNDATACOPY
00002207: RETURNDATASIZE
00002208: PUSH0
00002209: REVERT
0000220a: JUMPDEST
0000220b: POP
0000220c: POP
0000220d: POP
0000220e: POP
0000220f: PUSH2 0x06ae
00002212: JUMP
00002213: JUMPDEST
00002214: PUSH1 0x40
00002216: DUP1
00002217: MLOAD
00002218: PUSH1 0x20
0000221a: DUP2
0000221b: ADD
0000221c: DUP3
0000221d: MSTORE
0000221e: PUSH0
0000221f: DUP1
00002220: DUP3
00002221: MSTORE
00002222: SWAP2
00002223: MLOAD
00002224: PUSH4 0x022c0d9f
00002229: PUSH1 0xe0
0000222b: SHL
0000222c: DUP2
0000222d: MSTORE
0000222e: PUSH1 0x01
00002230: PUSH1 0x01
00002232: PUSH1 0xa0
00002234: SHL
00002235: SUB
00002236: DUP5
00002237: AND
00002238: SWAP3
00002239: PUSH4 0x022c0d9f
0000223e: SWAP3
0000223f: PUSH2 0x224e
00002242: SWAP3
00002243: DUP10
00002244: SWAP2
00002245: ADDRESS
00002246: SWAP2
00002247: PUSH1 0x04
00002249: ADD
0000224a: PUSH2 0x3a2f
0000224d: JUMP
0000224e: JUMPDEST
0000224f: PUSH0
00002250: PUSH1 0x40
00002252: MLOAD
00002253: DUP1
00002254: DUP4
00002255: SUB
00002256: DUP2
00002257: PUSH0
00002258: DUP8
00002259: DUP1
0000225a: EXTCODESIZE
0000225b: ISZERO
0000225c: DUP1
0000225d: ISZERO
0000225e: PUSH2 0x2265
00002261: JUMPI
00002262: PUSH0
00002263: PUSH0
00002264: REVERT
00002265: JUMPDEST
00002266: POP
00002267: GAS
00002268: CALL
00002269: ISZERO
0000226a: DUP1
0000226b: ISZERO
0000226c: PUSH2 0x0baf
0000226f: JUMPI
00002270: RETURNDATASIZE
00002271: PUSH0
00002272: PUSH0
00002273: RETURNDATACOPY
00002274: RETURNDATASIZE
00002275: PUSH0
00002276: REVERT
00002277: JUMPDEST
00002278: DUP5
00002279: PUSH1 0x01
0000227b: PUSH1 0x01
0000227d: PUSH1 0x60
0000227f: SHL
00002280: SUB
00002281: DUP2
00002282: AND
00002283: PUSH1 0x60
00002285: DUP6
00002286: SWAP1
00002287: SHL
00002288: OR
00002289: DUP1
0000228a: PUSH9 0x556e69737761705633
00002294: TSTORE
00002295: POP
00002296: PUSH0
00002297: PUSH0
00002298: DUP3
00002299: PUSH1 0x01
0000229b: PUSH1 0x01
0000229d: PUSH1 0xa0
0000229f: SHL
000022a0: SUB
000022a1: AND
000022a2: PUSH4 0x128acb08
000022a7: ADDRESS
000022a8: DUP10
000022a9: DUP10
000022aa: DUP12
000022ab: PUSH2 0x22c8
000022ae: JUMPI
000022af: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25
000022c4: PUSH2 0x22cf
000022c7: JUMP
000022c8: JUMPDEST
000022c9: PUSH5 0x01000276a4
000022cf: JUMPDEST
000022d0: PUSH1 0x40
000022d2: DUP1
000022d3: MLOAD
000022d4: PUSH1 0x01
000022d6: PUSH1 0x01
000022d8: PUSH1 0xa0
000022da: SHL
000022db: SUB
000022dc: DUP13
000022dd: AND
000022de: PUSH1 0x20
000022e0: DUP3
000022e1: ADD
000022e2: MSTORE
000022e3: DUP15
000022e4: ISZERO
000022e5: ISZERO
000022e6: DUP2
000022e7: DUP4
000022e8: ADD
000022e9: MSTORE
000022ea: DUP2
000022eb: MLOAD
000022ec: DUP1
000022ed: DUP3
000022ee: SUB
000022ef: DUP4
000022f0: ADD
000022f1: DUP2
000022f2: MSTORE
000022f3: PUSH1 0x60
000022f5: DUP3
000022f6: ADD
000022f7: SWAP3
000022f8: DUP4
000022f9: SWAP1
000022fa: MSTORE
000022fb: PUSH1 0x01
000022fd: PUSH1 0x01
000022ff: PUSH1 0xe0
00002301: SHL
00002302: SUB
00002303: NOT
00002304: PUSH1 0xe0
00002306: DUP10
00002307: SWAP1
00002308: SHL
00002309: AND
0000230a: SWAP1
0000230b: SWAP3
0000230c: MSTORE
0000230d: PUSH2 0x231d
00002310: SWAP6
00002311: SWAP5
00002312: SWAP4
00002313: SWAP3
00002314: SWAP2
00002315: SWAP1
00002316: PUSH1 0x64
00002318: ADD
00002319: PUSH2 0x3a65
0000231c: JUMP
0000231d: JUMPDEST
0000231e: PUSH1 0x40
00002320: DUP1
00002321: MLOAD
00002322: DUP1
00002323: DUP4
00002324: SUB
00002325: DUP2
00002326: PUSH0
00002327: DUP8
00002328: GAS
00002329: CALL
0000232a: ISZERO
0000232b: DUP1
0000232c: ISZERO
0000232d: PUSH2 0x2338
00002330: JUMPI
00002331: RETURNDATASIZE
00002332: PUSH0
00002333: PUSH0
00002334: RETURNDATACOPY
00002335: RETURNDATASIZE
00002336: PUSH0
00002337: REVERT
00002338: JUMPDEST
00002339: POP
0000233a: POP
0000233b: POP
0000233c: POP
0000233d: PUSH1 0x40
0000233f: MLOAD
00002340: RETURNDATASIZE
00002341: PUSH1 0x1f
00002343: NOT
00002344: PUSH1 0x1f
00002346: DUP3
00002347: ADD
00002348: AND
00002349: DUP3
0000234a: ADD
0000234b: DUP1
0000234c: PUSH1 0x40
0000234e: MSTORE
0000234f: POP
00002350: DUP2
00002351: ADD
00002352: SWAP1
00002353: PUSH2 0x235c
00002356: SWAP2
00002357: SWAP1
00002358: PUSH2 0x3a9f
0000235b: JUMP
0000235c: JUMPDEST
0000235d: SWAP1
0000235e: SWAP3
0000235f: POP
00002360: SWAP1
00002361: POP
00002362: PUSH9 0x556e69737761705633
0000236c: TLOAD
0000236d: DUP1
0000236e: ISZERO
0000236f: PUSH2 0x238a
00002372: JUMPI
00002373: PUSH1 0x40
00002375: MLOAD
00002376: PUSH3 0x461bcd
0000237a: PUSH1 0xe5
0000237c: SHL
0000237d: DUP2
0000237e: MSTORE
0000237f: PUSH1 0x04
00002381: ADD
00002382: PUSH2 0x05aa
00002385: SWAP1
00002386: PUSH2 0x3a01
00002389: JUMP
0000238a: JUMPDEST
0000238b: DUP8
0000238c: ISZERO
0000238d: PUSH2 0x23d1
00002390: JUMPI
00002391: DUP6
00002392: PUSH2 0x239a
00002395: DUP4
00002396: PUSH2 0x396f
00002399: JUMP
0000239a: JUMPDEST
0000239b: LT
0000239c: ISZERO
0000239d: PUSH2 0x23cc
000023a0: JUMPI
000023a1: PUSH1 0x40
000023a3: MLOAD
000023a4: PUSH3 0x461bcd
000023a8: PUSH1 0xe5
000023aa: SHL
000023ab: DUP2
000023ac: MSTORE
000023ad: PUSH1 0x20
000023af: PUSH1 0x04
000023b1: DUP3
000023b2: ADD
000023b3: MSTORE
000023b4: PUSH1 0x01
000023b6: PUSH1 0x24
000023b8: DUP3
000023b9: ADD
000023ba: MSTORE
000023bb: PUSH1 0x6d
000023bd: PUSH1 0xf8
000023bf: SHL
000023c0: PUSH1 0x44
000023c2: DUP3
000023c3: ADD
000023c4: MSTORE
000023c5: PUSH1 0x64
000023c7: ADD
000023c8: PUSH2 0x05aa
000023cb: JUMP
000023cc: JUMPDEST
000023cd: PUSH2 0x1bc6
000023d0: JUMP
000023d1: JUMPDEST
000023d2: DUP6
000023d3: PUSH2 0x23db
000023d6: DUP5
000023d7: PUSH2 0x396f
000023da: JUMP
000023db: JUMPDEST
000023dc: LT
000023dd: ISZERO
000023de: PUSH2 0x1bc6
000023e1: JUMPI
000023e2: PUSH1 0x40
000023e4: MLOAD
000023e5: PUSH3 0x461bcd
000023e9: PUSH1 0xe5
000023eb: SHL
000023ec: DUP2
000023ed: MSTORE
000023ee: PUSH1 0x20
000023f0: PUSH1 0x04
000023f2: DUP3
000023f3: ADD
000023f4: MSTORE
000023f5: PUSH1 0x01
000023f7: PUSH1 0x24
000023f9: DUP3
000023fa: ADD
000023fb: MSTORE
000023fc: PUSH1 0x4d
000023fe: PUSH1 0xf8
00002400: SHL
00002401: PUSH1 0x44
00002403: DUP3
00002404: ADD
00002405: MSTORE
00002406: PUSH1 0x64
00002408: ADD
00002409: PUSH2 0x05aa
0000240c: JUMP
0000240d: JUMPDEST
0000240e: COINBASE
0000240f: PUSH1 0x01
00002411: PUSH1 0x01
00002413: PUSH1 0xa0
00002415: SHL
00002416: SUB
00002417: DUP3
00002418: AND
00002419: EQ
0000241a: PUSH2 0x2449
0000241d: JUMPI
0000241e: PUSH1 0x40
00002420: MLOAD
00002421: PUSH3 0x461bcd
00002425: PUSH1 0xe5
00002427: SHL
00002428: DUP2
00002429: MSTORE
0000242a: PUSH1 0x20
0000242c: PUSH1 0x04
0000242e: DUP3
0000242f: ADD
00002430: MSTORE
00002431: PUSH1 0x01
00002433: PUSH1 0x24
00002435: DUP3
00002436: ADD
00002437: MSTORE
00002438: PUSH1 0x43
0000243a: PUSH1 0xf8
0000243c: SHL
0000243d: PUSH1 0x44
0000243f: DUP3
00002440: ADD
00002441: MSTORE
00002442: PUSH1 0x64
00002444: ADD
00002445: PUSH2 0x05aa
00002448: JUMP
00002449: JUMPDEST
0000244a: PUSH0
0000244b: DUP6
0000244c: GT
0000244d: PUSH2 0x247c
00002450: JUMPI
00002451: PUSH1 0x40
00002453: MLOAD
00002454: PUSH3 0x461bcd
00002458: PUSH1 0xe5
0000245a: SHL
0000245b: DUP2
0000245c: MSTORE
0000245d: PUSH1 0x20
0000245f: PUSH1 0x04
00002461: DUP3
00002462: ADD
00002463: MSTORE
00002464: PUSH1 0x01
00002466: PUSH1 0x24
00002468: DUP3
00002469: ADD
0000246a: MSTORE
0000246b: PUSH1 0x47
0000246d: PUSH1 0xf8
0000246f: SHL
00002470: PUSH1 0x44
00002472: DUP3
00002473: ADD
00002474: MSTORE
00002475: PUSH1 0x64
00002477: ADD
00002478: PUSH2 0x05aa
0000247b: JUMP
0000247c: JUMPDEST
0000247d: PUSH2 0x2710
00002480: DUP3
00002481: LT
00002482: PUSH2 0x24b1
00002485: JUMPI
00002486: PUSH1 0x40
00002488: MLOAD
00002489: PUSH3 0x461bcd
0000248d: PUSH1 0xe5
0000248f: SHL
00002490: DUP2
00002491: MSTORE
00002492: PUSH1 0x20
00002494: PUSH1 0x04
00002496: DUP3
00002497: ADD
00002498: MSTORE
00002499: PUSH1 0x01
0000249b: PUSH1 0x24
0000249d: DUP3
0000249e: ADD
0000249f: MSTORE
000024a0: PUSH1 0x21
000024a2: PUSH1 0xf9
000024a4: SHL
000024a5: PUSH1 0x44
000024a7: DUP3
000024a8: ADD
000024a9: MSTORE
000024aa: PUSH1 0x64
000024ac: ADD
000024ad: PUSH2 0x05aa
000024b0: JUMP
000024b1: JUMPDEST
000024b2: PUSH0
000024b3: PUSH0
000024b4: PUSH2 0x24c1
000024b7: DUP14
000024b8: DUP14
000024b9: DUP14
000024ba: DUP14
000024bb: DUP14
000024bc: DUP14
000024bd: PUSH2 0x2b82
000024c0: JUMP
000024c1: JUMPDEST
000024c2: SWAP1
000024c3: SWAP3
000024c4: POP
000024c5: SWAP1
000024c6: POP
000024c7: PUSH0
000024c8: DUP8
000024c9: PUSH8 0x0de0b6b3a7640000
000024d2: PUSH2 0x24db
000024d5: DUP10
000024d6: DUP7
000024d7: PUSH2 0x3778
000024da: JUMP
000024db: JUMPDEST
000024dc: PUSH2 0x24e5
000024df: DUP10
000024e0: DUP7
000024e1: PUSH2 0x3778
000024e4: JUMP
000024e5: JUMPDEST
000024e6: PUSH2 0x24ef
000024e9: SWAP2
000024ea: SWAP1
000024eb: PUSH2 0x3989
000024ee: JUMP
000024ef: JUMPDEST
000024f0: PUSH2 0x24f9
000024f3: SWAP2
000024f4: SWAP1
000024f5: PUSH2 0x39af
000024f8: JUMP
000024f9: JUMPDEST
000024fa: PUSH2 0x2503
000024fd: SWAP2
000024fe: SWAP1
000024ff: PUSH2 0x3989
00002502: JUMP
00002503: JUMPDEST
00002504: SWAP1
00002505: POP
00002506: PUSH0
00002507: DUP2
00002508: SGT
00002509: PUSH2 0x2538
0000250c: JUMPI
0000250d: PUSH1 0x40
0000250f: MLOAD
00002510: PUSH3 0x461bcd
00002514: PUSH1 0xe5
00002516: SHL
00002517: DUP2
00002518: MSTORE
00002519: PUSH1 0x20
0000251b: PUSH1 0x04
0000251d: DUP3
0000251e: ADD
0000251f: MSTORE
00002520: PUSH1 0x01
00002522: PUSH1 0x24
00002524: DUP3
00002525: ADD
00002526: MSTORE
00002527: PUSH1 0x13
00002529: PUSH1 0xfa
0000252b: SHL
0000252c: PUSH1 0x44
0000252e: DUP3
0000252f: ADD
00002530: MSTORE
00002531: PUSH1 0x64
00002533: ADD
00002534: PUSH2 0x05aa
00002537: JUMP
00002538: JUMPDEST
00002539: PUSH0
0000253a: PUSH2 0x2710
0000253d: PUSH2 0x2546
00002540: DUP8
00002541: DUP5
00002542: PUSH2 0x3778
00002545: JUMP
00002546: JUMPDEST
00002547: PUSH2 0x2550
0000254a: SWAP2
0000254b: SWAP1
0000254c: PUSH2 0x3765
0000254f: JUMP
00002550: JUMPDEST
00002551: SWAP1
00002552: POP
00002553: SELFBALANCE
00002554: DUP2
00002555: GT
00002556: ISZERO
00002557: PUSH2 0x25b1
0000255a: JUMPI
0000255b: PUSH1 0x40
0000255d: MLOAD
0000255e: PUSH0
0000255f: SWAP1
00002560: COINBASE
00002561: SWAP1
00002562: SELFBALANCE
00002563: SWAP1
00002564: DUP4
00002565: DUP2
00002566: DUP2
00002567: DUP2
00002568: DUP6
00002569: DUP8
0000256a: GAS
0000256b: CALL
0000256c: SWAP3
0000256d: POP
0000256e: POP
0000256f: POP
00002570: RETURNDATASIZE
00002571: DUP1
00002572: PUSH0
00002573: DUP2
00002574: EQ
00002575: PUSH2 0x2599
00002578: JUMPI
00002579: PUSH1 0x40
0000257b: MLOAD
0000257c: SWAP2
0000257d: POP
0000257e: PUSH1 0x1f
00002580: NOT
00002581: PUSH1 0x3f
00002583: RETURNDATASIZE
00002584: ADD
00002585: AND
00002586: DUP3
00002587: ADD
00002588: PUSH1 0x40
0000258a: MSTORE
0000258b: RETURNDATASIZE
0000258c: DUP3
0000258d: MSTORE
0000258e: RETURNDATASIZE
0000258f: PUSH0
00002590: PUSH1 0x20
00002592: DUP5
00002593: ADD
00002594: RETURNDATACOPY
00002595: PUSH2 0x259e
00002598: JUMP
00002599: JUMPDEST
0000259a: PUSH1 0x60
0000259c: SWAP2
0000259d: POP
0000259e: JUMPDEST
0000259f: POP
000025a0: POP
000025a1: SWAP1
000025a2: POP
000025a3: DUP1
000025a4: PUSH2 0x25ab
000025a7: JUMPI
000025a8: PUSH0
000025a9: PUSH0
000025aa: REVERT
000025ab: JUMPDEST
000025ac: POP
000025ad: PUSH2 0x1adf
000025b0: JUMP
000025b1: JUMPDEST
000025b2: PUSH1 0x40
000025b4: MLOAD
000025b5: PUSH0
000025b6: SWAP1
000025b7: COINBASE
000025b8: SWAP1
000025b9: DUP4
000025ba: SWAP1
000025bb: DUP4
000025bc: DUP2
000025bd: DUP2
000025be: DUP2
000025bf: DUP6
000025c0: DUP8
000025c1: GAS
000025c2: CALL
000025c3: SWAP3
000025c4: POP
000025c5: POP
000025c6: POP
000025c7: RETURNDATASIZE
000025c8: DUP1
000025c9: PUSH0
000025ca: DUP2
000025cb: EQ
000025cc: PUSH2 0x25f0
000025cf: JUMPI
000025d0: PUSH1 0x40
000025d2: MLOAD
000025d3: SWAP2
000025d4: POP
000025d5: PUSH1 0x1f
000025d7: NOT
000025d8: PUSH1 0x3f
000025da: RETURNDATASIZE
000025db: ADD
000025dc: AND
000025dd: DUP3
000025de: ADD
000025df: PUSH1 0x40
000025e1: MSTORE
000025e2: RETURNDATASIZE
000025e3: DUP3
000025e4: MSTORE
000025e5: RETURNDATASIZE
000025e6: PUSH0
000025e7: PUSH1 0x20
000025e9: DUP5
000025ea: ADD
000025eb: RETURNDATACOPY
000025ec: PUSH2 0x25f5
000025ef: JUMP
000025f0: JUMPDEST
000025f1: PUSH1 0x60
000025f3: SWAP2
000025f4: POP
000025f5: JUMPDEST
000025f6: POP
000025f7: POP
000025f8: SWAP1
000025f9: POP
000025fa: DUP1
000025fb: PUSH2 0x2602
000025fe: JUMPI
000025ff: PUSH0
00002600: PUSH0
00002601: REVERT
00002602: JUMPDEST
00002603: POP
00002604: POP
00002605: POP
00002606: POP
00002607: POP
00002608: POP
00002609: POP
0000260a: POP
0000260b: POP
0000260c: POP
0000260d: POP
0000260e: POP
0000260f: POP
00002610: POP
00002611: POP
00002612: POP
00002613: JUMP
00002614: JUMPDEST
00002615: PUSH9 0x556e69737761705633
0000261f: TLOAD
00002620: PUSH1 0x01
00002622: PUSH1 0x01
00002624: PUSH1 0x60
00002626: SHL
00002627: SUB
00002628: DUP2
00002629: DUP2
0000262a: AND
0000262b: SWAP2
0000262c: PUSH1 0x60
0000262e: SHR
0000262f: SWAP1
00002630: CALLER
00002631: AND
00002632: DUP1
00002633: DUP4
00002634: EQ
00002635: PUSH2 0x2666
00002638: JUMPI
00002639: PUSH1 0x40
0000263b: MLOAD
0000263c: PUSH3 0x461bcd
00002640: PUSH1 0xe5
00002642: SHL
00002643: DUP2
00002644: MSTORE
00002645: PUSH1 0x20
00002647: PUSH1 0x04
00002649: DUP3
0000264a: ADD
0000264b: MSTORE
0000264c: PUSH1 0x03
0000264e: PUSH1 0x24
00002650: DUP3
00002651: ADD
00002652: MSTORE
00002653: PUSH3 0x3bba33
00002657: PUSH1 0xe9
00002659: SHL
0000265a: PUSH1 0x44
0000265c: DUP3
0000265d: ADD
0000265e: MSTORE
0000265f: PUSH1 0x64
00002661: ADD
00002662: PUSH2 0x05aa
00002665: JUMP
00002666: JUMPDEST
00002667: PUSH0
00002668: DUP1
00002669: PUSH2 0x2674
0000266c: DUP7
0000266d: DUP9
0000266e: ADD
0000266f: DUP9
00002670: PUSH2 0x3ac1
00002673: JUMP
00002674: JUMPDEST
00002675: SWAP2
00002676: POP
00002677: SWAP2
00002678: POP
00002679: DUP1
0000267a: ISZERO
0000267b: PUSH2 0x270d
0000267e: JUMPI
0000267f: DUP9
00002680: DUP5
00002681: LT
00002682: ISZERO
00002683: PUSH2 0x269e
00002686: JUMPI
00002687: PUSH1 0x40
00002689: MLOAD
0000268a: PUSH3 0x461bcd
0000268e: PUSH1 0xe5
00002690: SHL
00002691: DUP2
00002692: MSTORE
00002693: PUSH1 0x04
00002695: ADD
00002696: PUSH2 0x05aa
00002699: SWAP1
0000269a: PUSH2 0x3af4
0000269d: JUMP
0000269e: JUMPDEST
0000269f: PUSH0
000026a0: PUSH9 0x556e69737761705633
000026aa: TSTORE
000026ab: PUSH1 0x40
000026ad: MLOAD
000026ae: PUSH4 0xa9059cbb
000026b3: PUSH1 0xe0
000026b5: SHL
000026b6: DUP2
000026b7: MSTORE
000026b8: DUP3
000026b9: SWAP1
000026ba: PUSH1 0x01
000026bc: PUSH1 0x01
000026be: PUSH1 0xa0
000026c0: SHL
000026c1: SUB
000026c2: DUP3
000026c3: AND
000026c4: SWAP1
000026c5: PUSH4 0xa9059cbb
000026ca: SWAP1
000026cb: PUSH2 0x26da
000026ce: SWAP1
000026cf: CALLER
000026d0: SWAP1
000026d1: DUP15
000026d2: SWAP1
000026d3: PUSH1 0x04
000026d5: ADD
000026d6: PUSH2 0x3807
000026d9: JUMP
000026da: JUMPDEST
000026db: PUSH0
000026dc: PUSH1 0x40
000026de: MLOAD
000026df: DUP1
000026e0: DUP4
000026e1: SUB
000026e2: DUP2
000026e3: PUSH0
000026e4: DUP8
000026e5: DUP1
000026e6: EXTCODESIZE
000026e7: ISZERO
000026e8: DUP1
000026e9: ISZERO
000026ea: PUSH2 0x26f1
000026ed: JUMPI
000026ee: PUSH0
000026ef: PUSH0
000026f0: REVERT
000026f1: JUMPDEST
000026f2: POP
000026f3: GAS
000026f4: CALL
000026f5: ISZERO
000026f6: DUP1
000026f7: ISZERO
000026f8: PUSH2 0x2703
000026fb: JUMPI
000026fc: RETURNDATASIZE
000026fd: PUSH0
000026fe: PUSH0
000026ff: RETURNDATACOPY
00002700: RETURNDATASIZE
00002701: PUSH0
00002702: REVERT
00002703: JUMPDEST
00002704: POP
00002705: POP
00002706: POP
00002707: POP
00002708: POP
00002709: PUSH2 0x1bc6
0000270c: JUMP
0000270d: JUMPDEST
0000270e: DUP8
0000270f: DUP5
00002710: LT
00002711: ISZERO
00002712: PUSH2 0x272d
00002715: JUMPI
00002716: PUSH1 0x40
00002718: MLOAD
00002719: PUSH3 0x461bcd
0000271d: PUSH1 0xe5
0000271f: SHL
00002720: DUP2
00002721: MSTORE
00002722: PUSH1 0x04
00002724: ADD
00002725: PUSH2 0x05aa
00002728: SWAP1
00002729: PUSH2 0x3af4
0000272c: JUMP
0000272d: JUMPDEST
0000272e: PUSH0
0000272f: PUSH9 0x556e69737761705633
00002739: TSTORE
0000273a: PUSH1 0x40
0000273c: MLOAD
0000273d: PUSH4 0xa9059cbb
00002742: PUSH1 0xe0
00002744: SHL
00002745: DUP2
00002746: MSTORE
00002747: DUP3
00002748: SWAP1
00002749: PUSH1 0x01
0000274b: PUSH1 0x01
0000274d: PUSH1 0xa0
0000274f: SHL
00002750: SUB
00002751: DUP3
00002752: AND
00002753: SWAP1
00002754: PUSH4 0xa9059cbb
00002759: SWAP1
0000275a: PUSH2 0x2769
0000275d: SWAP1
0000275e: CALLER
0000275f: SWAP1
00002760: DUP14
00002761: SWAP1
00002762: PUSH1 0x04
00002764: ADD
00002765: PUSH2 0x3807
00002768: JUMP
00002769: JUMPDEST
0000276a: PUSH0
0000276b: PUSH1 0x40
0000276d: MLOAD
0000276e: DUP1
0000276f: DUP4
00002770: SUB
00002771: DUP2
00002772: PUSH0
00002773: DUP8
00002774: DUP1
00002775: EXTCODESIZE
00002776: ISZERO
00002777: DUP1
00002778: ISZERO
00002779: PUSH2 0x2780
0000277c: JUMPI
0000277d: PUSH0
0000277e: PUSH0
0000277f: REVERT
00002780: JUMPDEST
00002781: POP
00002782: GAS
00002783: CALL
00002784: ISZERO
00002785: DUP1
00002786: ISZERO
00002787: PUSH2 0x1ae1
0000278a: JUMPI
0000278b: RETURNDATASIZE
0000278c: PUSH0
0000278d: PUSH0
0000278e: RETURNDATACOPY
0000278f: RETURNDATASIZE
00002790: PUSH0
00002791: REVERT
00002792: JUMPDEST
00002793: PUSH0
00002794: JUMPDEST
00002795: DUP2
00002796: MLOAD
00002797: DUP2
00002798: LT
00002799: ISZERO
0000279a: PUSH2 0x289c
0000279d: JUMPI
0000279e: PUSH0
0000279f: DUP3
000027a0: DUP3
000027a1: DUP2
000027a2: MLOAD
000027a3: DUP2
000027a4: LT
000027a5: PUSH2 0x27b0
000027a8: JUMPI
000027a9: PUSH2 0x27b0
000027ac: PUSH2 0x37e0
000027af: JUMP
000027b0: JUMPDEST
000027b1: PUSH1 0x20
000027b3: SWAP1
000027b4: DUP2
000027b5: MUL
000027b6: SWAP2
000027b7: SWAP1
000027b8: SWAP2
000027b9: ADD
000027ba: ADD
000027bb: MLOAD
000027bc: PUSH1 0x40
000027be: MLOAD
000027bf: PUSH4 0x70a08231
000027c4: PUSH1 0xe0
000027c6: SHL
000027c7: DUP2
000027c8: MSTORE
000027c9: ADDRESS
000027ca: PUSH1 0x04
000027cc: DUP3
000027cd: ADD
000027ce: MSTORE
000027cf: SWAP1
000027d0: SWAP2
000027d1: POP
000027d2: PUSH0
000027d3: SWAP1
000027d4: PUSH1 0x01
000027d6: PUSH1 0x01
000027d8: PUSH1 0xa0
000027da: SHL
000027db: SUB
000027dc: DUP4
000027dd: AND
000027de: SWAP1
000027df: PUSH4 0x70a08231
000027e4: SWAP1
000027e5: PUSH1 0x24
000027e7: ADD
000027e8: PUSH1 0x20
000027ea: PUSH1 0x40
000027ec: MLOAD
000027ed: DUP1
000027ee: DUP4
000027ef: SUB
000027f0: DUP2
000027f1: DUP7
000027f2: GAS
000027f3: STATICCALL
000027f4: SWAP3
000027f5: POP
000027f6: POP
000027f7: POP
000027f8: DUP1
000027f9: ISZERO
000027fa: PUSH2 0x2820
000027fd: JUMPI
000027fe: POP
000027ff: PUSH1 0x40
00002801: DUP1
00002802: MLOAD
00002803: PUSH1 0x1f
00002805: RETURNDATASIZE
00002806: SWAP1
00002807: DUP2
00002808: ADD
00002809: PUSH1 0x1f
0000280b: NOT
0000280c: AND
0000280d: DUP3
0000280e: ADD
0000280f: SWAP1
00002810: SWAP3
00002811: MSTORE
00002812: PUSH2 0x281d
00002815: SWAP2
00002816: DUP2
00002817: ADD
00002818: SWAP1
00002819: PUSH2 0x3929
0000281c: JUMP
0000281d: JUMPDEST
0000281e: PUSH1 0x01
00002820: JUMPDEST
00002821: PUSH2 0x282b
00002824: JUMPI
00002825: POP
00002826: PUSH0
00002827: PUSH2 0x282e
0000282a: JUMP
0000282b: JUMPDEST
0000282c: SWAP1
0000282d: POP
0000282e: JUMPDEST
0000282f: DUP1
00002830: ISZERO
00002831: PUSH2 0x2892
00002834: JUMPI
00002835: PUSH1 0x01
00002837: SLOAD
00002838: PUSH1 0x40
0000283a: MLOAD
0000283b: PUSH4 0xa9059cbb
00002840: PUSH1 0xe0
00002842: SHL
00002843: DUP2
00002844: MSTORE
00002845: PUSH1 0x01
00002847: PUSH1 0x01
00002849: PUSH1 0xa0
0000284b: SHL
0000284c: SUB
0000284d: DUP5
0000284e: DUP2
0000284f: AND
00002850: SWAP3
00002851: PUSH4 0xa9059cbb
00002856: SWAP3
00002857: PUSH2 0x2868
0000285a: SWAP3
0000285b: SWAP1
0000285c: SWAP2
0000285d: AND
0000285e: SWAP1
0000285f: DUP6
00002860: SWAP1
00002861: PUSH1 0x04
00002863: ADD
00002864: PUSH2 0x3807
00002867: JUMP
00002868: JUMPDEST
00002869: PUSH0
0000286a: PUSH1 0x40
0000286c: MLOAD
0000286d: DUP1
0000286e: DUP4
0000286f: SUB
00002870: DUP2
00002871: PUSH0
00002872: DUP8
00002873: DUP1
00002874: EXTCODESIZE
00002875: ISZERO
00002876: DUP1
00002877: ISZERO
00002878: PUSH2 0x287f
0000287b: JUMPI
0000287c: PUSH0
0000287d: PUSH0
0000287e: REVERT
0000287f: JUMPDEST
00002880: POP
00002881: GAS
00002882: CALL
00002883: SWAP3
00002884: POP
00002885: POP
00002886: POP
00002887: DUP1
00002888: ISZERO
00002889: PUSH2 0x2890
0000288c: JUMPI
0000288d: POP
0000288e: PUSH1 0x01
00002890: JUMPDEST
00002891: POP
00002892: JUMPDEST
00002893: POP
00002894: POP
00002895: PUSH1 0x01
00002897: ADD
00002898: PUSH2 0x2794
0000289b: JUMP
0000289c: JUMPDEST
0000289d: POP
0000289e: PUSH1 0x01
000028a0: SLOAD
000028a1: PUSH1 0x40
000028a3: MLOAD
000028a4: PUSH0
000028a5: SWAP2
000028a6: PUSH1 0x01
000028a8: PUSH1 0x01
000028aa: PUSH1 0xa0
000028ac: SHL
000028ad: SUB
000028ae: AND
000028af: SWAP1
000028b0: SELFBALANCE
000028b1: SWAP1
000028b2: DUP4
000028b3: DUP2
000028b4: DUP2
000028b5: DUP2
000028b6: DUP6
000028b7: DUP8
000028b8: GAS
000028b9: CALL
000028ba: SWAP3
000028bb: POP
000028bc: POP
000028bd: POP
000028be: RETURNDATASIZE
000028bf: DUP1
000028c0: PUSH0
000028c1: DUP2
000028c2: EQ
000028c3: PUSH2 0x05ee
000028c6: JUMPI
000028c7: PUSH1 0x40
000028c9: MLOAD
000028ca: SWAP2
000028cb: POP
000028cc: PUSH1 0x1f
000028ce: NOT
000028cf: PUSH1 0x3f
000028d1: RETURNDATASIZE
000028d2: ADD
000028d3: AND
000028d4: DUP3
000028d5: ADD
000028d6: PUSH1 0x40
000028d8: MSTORE
000028d9: RETURNDATASIZE
000028da: DUP3
000028db: MSTORE
000028dc: RETURNDATASIZE
000028dd: PUSH0
000028de: PUSH1 0x20
000028e0: DUP5
000028e1: ADD
000028e2: RETURNDATACOPY
000028e3: PUSH2 0x05ee
000028e6: JUMP
000028e7: JUMPDEST
000028e8: PUSH10 0x466c7569645431444558
000028f3: TLOAD
000028f4: PUSH1 0x01
000028f6: PUSH1 0x01
000028f8: PUSH1 0x60
000028fa: SHL
000028fb: SUB
000028fc: DUP2
000028fd: DUP2
000028fe: AND
000028ff: SWAP2
00002900: PUSH1 0x60
00002902: SHR
00002903: SWAP1
00002904: DUP5
00002905: AND
00002906: DUP1
00002907: DUP4
00002908: EQ
00002909: PUSH2 0x293a
0000290c: JUMPI
0000290d: PUSH1 0x40
0000290f: MLOAD
00002910: PUSH3 0x461bcd
00002914: PUSH1 0xe5
00002916: SHL
00002917: DUP2
00002918: MSTORE
00002919: PUSH1 0x20
0000291b: PUSH1 0x04
0000291d: DUP3
0000291e: ADD
0000291f: MSTORE
00002920: PUSH1 0x03
00002922: PUSH1 0x24
00002924: DUP3
00002925: ADD
00002926: MSTORE
00002927: PUSH3 0x3bba33
0000292b: PUSH1 0xe9
0000292d: SHL
0000292e: PUSH1 0x44
00002930: DUP3
00002931: ADD
00002932: MSTORE
00002933: PUSH1 0x64
00002935: ADD
00002936: PUSH2 0x05aa
00002939: JUMP
0000293a: JUMPDEST
0000293b: DUP4
0000293c: DUP3
0000293d: LT
0000293e: ISZERO
0000293f: PUSH2 0x295a
00002942: JUMPI
00002943: PUSH1 0x40
00002945: MLOAD
00002946: PUSH3 0x461bcd
0000294a: PUSH1 0xe5
0000294c: SHL
0000294d: DUP2
0000294e: MSTORE
0000294f: PUSH1 0x04
00002951: ADD
00002952: PUSH2 0x05aa
00002955: SWAP1
00002956: PUSH2 0x3af4
00002959: JUMP
0000295a: JUMPDEST
0000295b: PUSH0
0000295c: PUSH10 0x466c7569645431444558
00002967: TSTORE
00002968: PUSH1 0x40
0000296a: MLOAD
0000296b: PUSH4 0xa9059cbb
00002970: PUSH1 0xe0
00002972: SHL
00002973: DUP2
00002974: MSTORE
00002975: PUSH1 0x01
00002977: PUSH1 0x01
00002979: PUSH1 0xa0
0000297b: SHL
0000297c: SUB
0000297d: DUP7
0000297e: AND
0000297f: SWAP1
00002980: PUSH4 0xa9059cbb
00002985: SWAP1
00002986: PUSH2 0x1b9d
00002989: SWAP1
0000298a: PUSH20 0x52aa899454998be5b000ad077a46bbe360f4e497
0000299f: SWAP1
000029a0: DUP9
000029a1: SWAP1
000029a2: PUSH1 0x04
000029a4: ADD
000029a5: PUSH2 0x3807
000029a8: JUMP
000029a9: JUMPDEST
000029aa: PUSH0
000029ab: SLOAD
000029ac: PUSH1 0x40
000029ae: MLOAD
000029af: PUSH4 0x095ea7b3
000029b4: PUSH1 0xe0
000029b6: SHL
000029b7: DUP2
000029b8: MSTORE
000029b9: PUSH1 0x01
000029bb: PUSH1 0x01
000029bd: PUSH1 0xa0
000029bf: SHL
000029c0: SUB
000029c1: DUP4
000029c2: DUP2
000029c3: AND
000029c4: SWAP3
000029c5: PUSH4 0x095ea7b3
000029ca: SWAP3
000029cb: PUSH2 0x29dd
000029ce: SWAP3
000029cf: SWAP1
000029d0: SWAP2
000029d1: AND
000029d2: SWAP1
000029d3: PUSH0
000029d4: NOT
000029d5: SWAP1
000029d6: PUSH1 0x04
000029d8: ADD
000029d9: PUSH2 0x3807
000029dc: JUMP
000029dd: JUMPDEST
000029de: PUSH0
000029df: PUSH1 0x40
000029e1: MLOAD
000029e2: DUP1
000029e3: DUP4
000029e4: SUB
000029e5: DUP2
000029e6: PUSH0
000029e7: DUP8
000029e8: DUP1
000029e9: EXTCODESIZE
000029ea: ISZERO
000029eb: DUP1
000029ec: ISZERO
000029ed: PUSH2 0x29f4
000029f0: JUMPI
000029f1: PUSH0
000029f2: PUSH0
000029f3: REVERT
000029f4: JUMPDEST
000029f5: POP
000029f6: GAS
000029f7: CALL
000029f8: ISZERO
000029f9: DUP1
000029fa: ISZERO
000029fb: PUSH2 0x2a06
000029fe: JUMPI
000029ff: RETURNDATASIZE
00002a00: PUSH0
00002a01: PUSH0
00002a02: RETURNDATACOPY
00002a03: RETURNDATASIZE
00002a04: PUSH0
00002a05: REVERT
00002a06: JUMPDEST
00002a07: POP
00002a08: POP
00002a09: PUSH1 0x06
00002a0b: DUP1
00002a0c: SLOAD
00002a0d: PUSH1 0x01
00002a0f: DUP2
00002a10: ADD
00002a11: DUP3
00002a12: SSTORE
00002a13: PUSH0
00002a14: SWAP2
00002a15: SWAP1
00002a16: SWAP2
00002a17: MSTORE
00002a18: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f
00002a39: ADD
00002a3a: DUP1
00002a3b: SLOAD
00002a3c: PUSH1 0x01
00002a3e: PUSH1 0x01
00002a40: PUSH1 0xa0
00002a42: SHL
00002a43: SUB
00002a44: NOT
00002a45: AND
00002a46: PUSH1 0x01
00002a48: PUSH1 0x01
00002a4a: PUSH1 0xa0
00002a4c: SHL
00002a4d: SUB
00002a4e: SWAP5
00002a4f: SWAP1
00002a50: SWAP5
00002a51: AND
00002a52: SWAP4
00002a53: SWAP1
00002a54: SWAP4
00002a55: OR
00002a56: SWAP1
00002a57: SWAP3
00002a58: SSTORE
00002a59: POP
00002a5a: POP
00002a5b: JUMP
00002a5c: JUMPDEST
00002a5d: PUSH0
00002a5e: DUP1
00002a5f: DUP7
00002a60: PUSH1 0x01
00002a62: PUSH1 0x01
00002a64: PUSH1 0x60
00002a66: SHL
00002a67: SUB
00002a68: DUP2
00002a69: AND
00002a6a: PUSH1 0x60
00002a6c: DUP8
00002a6d: SWAP1
00002a6e: SHL
00002a6f: OR
00002a70: DUP1
00002a71: PUSH9 0x556e69737761705633
00002a7b: TSTORE
00002a7c: POP
00002a7d: DUP1
00002a7e: PUSH1 0x01
00002a80: PUSH1 0x01
00002a82: PUSH1 0xa0
00002a84: SHL
00002a85: SUB
00002a86: AND
00002a87: PUSH4 0x128acb08
00002a8c: ADDRESS
00002a8d: DUP10
00002a8e: DUP10
00002a8f: DUP10
00002a90: DUP10
00002a91: DUP14
00002a92: PUSH1 0x40
00002a94: MLOAD
00002a95: PUSH1 0x20
00002a97: ADD
00002a98: PUSH2 0x2ab8
00002a9b: SWAP3
00002a9c: SWAP2
00002a9d: SWAP1
00002a9e: PUSH1 0x01
00002aa0: PUSH1 0x01
00002aa2: PUSH1 0xa0
00002aa4: SHL
00002aa5: SUB
00002aa6: SWAP3
00002aa7: SWAP1
00002aa8: SWAP3
00002aa9: AND
00002aaa: DUP3
00002aab: MSTORE
00002aac: ISZERO
00002aad: ISZERO
00002aae: PUSH1 0x20
00002ab0: DUP3
00002ab1: ADD
00002ab2: MSTORE
00002ab3: PUSH1 0x40
00002ab5: ADD
00002ab6: SWAP1
00002ab7: JUMP
00002ab8: JUMPDEST
00002ab9: PUSH1 0x40
00002abb: MLOAD
00002abc: PUSH1 0x20
00002abe: DUP2
00002abf: DUP4
00002ac0: SUB
00002ac1: SUB
00002ac2: DUP2
00002ac3: MSTORE
00002ac4: SWAP1
00002ac5: PUSH1 0x40
00002ac7: MSTORE
00002ac8: PUSH1 0x40
00002aca: MLOAD
00002acb: DUP7
00002acc: PUSH4 0xffffffff
00002ad1: AND
00002ad2: PUSH1 0xe0
00002ad4: SHL
00002ad5: DUP2
00002ad6: MSTORE
00002ad7: PUSH1 0x04
00002ad9: ADD
00002ada: PUSH2 0x2ae7
00002add: SWAP6
00002ade: SWAP5
00002adf: SWAP4
00002ae0: SWAP3
00002ae1: SWAP2
00002ae2: SWAP1
00002ae3: PUSH2 0x3a65
00002ae6: JUMP
00002ae7: JUMPDEST
00002ae8: PUSH1 0x40
00002aea: DUP1
00002aeb: MLOAD
00002aec: DUP1
00002aed: DUP4
00002aee: SUB
00002aef: DUP2
00002af0: PUSH0
00002af1: DUP8
00002af2: GAS
00002af3: CALL
00002af4: ISZERO
00002af5: DUP1
00002af6: ISZERO
00002af7: PUSH2 0x2b02
00002afa: JUMPI
00002afb: RETURNDATASIZE
00002afc: PUSH0
00002afd: PUSH0
00002afe: RETURNDATACOPY
00002aff: RETURNDATASIZE
00002b00: PUSH0
00002b01: REVERT
00002b02: JUMPDEST
00002b03: POP
00002b04: POP
00002b05: POP
00002b06: POP
00002b07: PUSH1 0x40
00002b09: MLOAD
00002b0a: RETURNDATASIZE
00002b0b: PUSH1 0x1f
00002b0d: NOT
00002b0e: PUSH1 0x1f
00002b10: DUP3
00002b11: ADD
00002b12: AND
00002b13: DUP3
00002b14: ADD
00002b15: DUP1
00002b16: PUSH1 0x40
00002b18: MSTORE
00002b19: POP
00002b1a: DUP2
00002b1b: ADD
00002b1c: SWAP1
00002b1d: PUSH2 0x2b26
00002b20: SWAP2
00002b21: SWAP1
00002b22: PUSH2 0x3a9f
00002b25: JUMP
00002b26: JUMPDEST
00002b27: SWAP1
00002b28: SWAP4
00002b29: POP
00002b2a: SWAP2
00002b2b: POP
00002b2c: PUSH9 0x556e69737761705633
00002b36: TLOAD
00002b37: DUP1
00002b38: ISZERO
00002b39: PUSH2 0x2b54
00002b3c: JUMPI
00002b3d: PUSH1 0x40
00002b3f: MLOAD
00002b40: PUSH3 0x461bcd
00002b44: PUSH1 0xe5
00002b46: SHL
00002b47: DUP2
00002b48: MSTORE
00002b49: PUSH1 0x04
00002b4b: ADD
00002b4c: PUSH2 0x05aa
00002b4f: SWAP1
00002b50: PUSH2 0x3a01
00002b53: JUMP
00002b54: JUMPDEST
00002b55: POP
00002b56: POP
00002b57: SWAP6
00002b58: POP
00002b59: SWAP6
00002b5a: SWAP4
00002b5b: POP
00002b5c: POP
00002b5d: POP
00002b5e: POP
00002b5f: JUMP
00002b60: JUMPDEST
00002b61: PUSH1 0x01
00002b63: PUSH1 0x01
00002b65: PUSH1 0x60
00002b67: SHL
00002b68: SUB
00002b69: DUP3
00002b6a: AND
00002b6b: PUSH1 0x60
00002b6d: DUP3
00002b6e: SWAP1
00002b6f: SHL
00002b70: OR
00002b71: DUP1
00002b72: PUSH10 0x466c7569645431444558
00002b7d: TSTORE
00002b7e: POP
00002b7f: POP
00002b80: POP
00002b81: JUMP
00002b82: JUMPDEST
00002b83: PUSH0
00002b84: PUSH0
00002b85: PUSH0
00002b86: DUP9
00002b87: SWAP1
00002b88: POP
00002b89: DUP1
00002b8a: PUSH1 0x01
00002b8c: PUSH1 0x01
00002b8e: PUSH1 0xa0
00002b90: SHL
00002b91: SUB
00002b92: AND
00002b93: PUSH4 0x7464fc3d
00002b98: PUSH1 0x40
00002b9a: MLOAD
00002b9b: DUP2
00002b9c: PUSH4 0xffffffff
00002ba1: AND
00002ba2: PUSH1 0xe0
00002ba4: SHL
00002ba5: DUP2
00002ba6: MSTORE
00002ba7: PUSH1 0x04
00002ba9: ADD
00002baa: PUSH1 0x20
00002bac: PUSH1 0x40
00002bae: MLOAD
00002baf: DUP1
00002bb0: DUP4
00002bb1: SUB
00002bb2: DUP2
00002bb3: DUP7
00002bb4: GAS
00002bb5: STATICCALL
00002bb6: ISZERO
00002bb7: DUP1
00002bb8: ISZERO
00002bb9: PUSH2 0x2bc4
00002bbc: JUMPI
00002bbd: RETURNDATASIZE
00002bbe: PUSH0
00002bbf: PUSH0
00002bc0: RETURNDATACOPY
00002bc1: RETURNDATASIZE
00002bc2: PUSH0
00002bc3: REVERT
00002bc4: JUMPDEST
00002bc5: POP
00002bc6: POP
00002bc7: POP
00002bc8: POP
00002bc9: PUSH1 0x40
00002bcb: MLOAD
00002bcc: RETURNDATASIZE
00002bcd: PUSH1 0x1f
00002bcf: NOT
00002bd0: PUSH1 0x1f
00002bd2: DUP3
00002bd3: ADD
00002bd4: AND
00002bd5: DUP3
00002bd6: ADD
00002bd7: DUP1
00002bd8: PUSH1 0x40
00002bda: MSTORE
00002bdb: POP
00002bdc: DUP2
00002bdd: ADD
00002bde: SWAP1
00002bdf: PUSH2 0x2be8
00002be2: SWAP2
00002be3: SWAP1
00002be4: PUSH2 0x3929
00002be7: JUMP
00002be8: JUMPDEST
00002be9: DUP5
00002bea: EQ
00002beb: PUSH2 0x2c1a
00002bee: JUMPI
00002bef: PUSH1 0x40
00002bf1: MLOAD
00002bf2: PUSH3 0x461bcd
00002bf6: PUSH1 0xe5
00002bf8: SHL
00002bf9: DUP2
00002bfa: MSTORE
00002bfb: PUSH1 0x20
00002bfd: PUSH1 0x04
00002bff: DUP3
00002c00: ADD
00002c01: MSTORE
00002c02: PUSH1 0x01
00002c04: PUSH1 0x24
00002c06: DUP3
00002c07: ADD
00002c08: MSTORE
00002c09: PUSH1 0x6b
00002c0b: PUSH1 0xf8
00002c0d: SHL
00002c0e: PUSH1 0x44
00002c10: DUP3
00002c11: ADD
00002c12: MSTORE
00002c13: PUSH1 0x64
00002c15: ADD
00002c16: PUSH2 0x05aa
00002c19: JUMP
00002c1a: JUMPDEST
00002c1b: PUSH0
00002c1c: PUSH0
00002c1d: DUP3
00002c1e: PUSH1 0x01
00002c20: PUSH1 0x01
00002c22: PUSH1 0xa0
00002c24: SHL
00002c25: SUB
00002c26: AND
00002c27: PUSH4 0x0902f1ac
00002c2c: PUSH1 0x40
00002c2e: MLOAD
00002c2f: DUP2
00002c30: PUSH4 0xffffffff
00002c35: AND
00002c36: PUSH1 0xe0
00002c38: SHL
00002c39: DUP2
00002c3a: MSTORE
00002c3b: PUSH1 0x04
00002c3d: ADD
00002c3e: PUSH1 0x60
00002c40: PUSH1 0x40
00002c42: MLOAD
00002c43: DUP1
00002c44: DUP4
00002c45: SUB
00002c46: DUP2
00002c47: DUP7
00002c48: GAS
00002c49: STATICCALL
00002c4a: ISZERO
00002c4b: DUP1
00002c4c: ISZERO
00002c4d: PUSH2 0x2c58
00002c50: JUMPI
00002c51: RETURNDATASIZE
00002c52: PUSH0
00002c53: PUSH0
00002c54: RETURNDATACOPY
00002c55: RETURNDATASIZE
00002c56: PUSH0
00002c57: REVERT
00002c58: JUMPDEST
00002c59: POP
00002c5a: POP
00002c5b: POP
00002c5c: POP
00002c5d: PUSH1 0x40
00002c5f: MLOAD
00002c60: RETURNDATASIZE
00002c61: PUSH1 0x1f
00002c63: NOT
00002c64: PUSH1 0x1f
00002c66: DUP3
00002c67: ADD
00002c68: AND
00002c69: DUP3
00002c6a: ADD
00002c6b: DUP1
00002c6c: PUSH1 0x40
00002c6e: MSTORE
00002c6f: POP
00002c70: DUP2
00002c71: ADD
00002c72: SWAP1
00002c73: PUSH2 0x2c7c
00002c76: SWAP2
00002c77: SWAP1
00002c78: PUSH2 0x3b25
00002c7b: JUMP
00002c7c: JUMPDEST
00002c7d: POP
00002c7e: SWAP2
00002c7f: POP
00002c80: SWAP2
00002c81: POP
00002c82: DUP10
00002c83: ISZERO
00002c84: PUSH2 0x2d21
00002c87: JUMPI
00002c88: DUP1
00002c89: PUSH1 0x01
00002c8b: PUSH1 0x01
00002c8d: PUSH1 0x70
00002c8f: SHL
00002c90: SUB
00002c91: AND
00002c92: DUP9
00002c93: GT
00002c94: PUSH2 0x2cc3
00002c97: JUMPI
00002c98: PUSH1 0x40
00002c9a: MLOAD
00002c9b: PUSH3 0x461bcd
00002c9f: PUSH1 0xe5
00002ca1: SHL
00002ca2: DUP2
00002ca3: MSTORE
00002ca4: PUSH1 0x20
00002ca6: PUSH1 0x04
00002ca8: DUP3
00002ca9: ADD
00002caa: MSTORE
00002cab: PUSH1 0x01
00002cad: PUSH1 0x24
00002caf: DUP3
00002cb0: ADD
00002cb1: MSTORE
00002cb2: PUSH1 0x73
00002cb4: PUSH1 0xf8
00002cb6: SHL
00002cb7: PUSH1 0x44
00002cb9: DUP3
00002cba: ADD
00002cbb: MSTORE
00002cbc: PUSH1 0x64
00002cbe: ADD
00002cbf: PUSH2 0x05aa
00002cc2: JUMP
00002cc3: JUMPDEST
00002cc4: PUSH2 0x03e5
00002cc7: PUSH2 0x2cd9
00002cca: PUSH1 0x01
00002ccc: PUSH1 0x01
00002cce: PUSH1 0x70
00002cd0: SHL
00002cd1: SUB
00002cd2: DUP4
00002cd3: AND
00002cd4: DUP11
00002cd5: PUSH2 0x3a1c
00002cd8: JUMP
00002cd9: JUMPDEST
00002cda: PUSH2 0x2ce5
00002cdd: SWAP1
00002cde: PUSH2 0x03e8
00002ce1: PUSH2 0x3778
00002ce4: JUMP
00002ce5: JUMPDEST
00002ce6: PUSH2 0x2cef
00002ce9: SWAP2
00002cea: SWAP1
00002ceb: PUSH2 0x3765
00002cee: JUMP
00002cef: JUMPDEST
00002cf0: SWAP5
00002cf1: POP
00002cf2: DUP5
00002cf3: DUP10
00002cf4: LT
00002cf5: ISZERO
00002cf6: PUSH2 0x2cfd
00002cf9: JUMPI
00002cfa: DUP9
00002cfb: SWAP5
00002cfc: POP
00002cfd: JUMPDEST
00002cfe: PUSH2 0x2d1a
00002d01: DUP6
00002d02: DUP3
00002d03: PUSH1 0x01
00002d05: PUSH1 0x01
00002d07: PUSH1 0x70
00002d09: SHL
00002d0a: SUB
00002d0b: AND
00002d0c: DUP5
00002d0d: PUSH1 0x01
00002d0f: PUSH1 0x01
00002d11: PUSH1 0x70
00002d13: SHL
00002d14: SUB
00002d15: AND
00002d16: PUSH2 0x2f00
00002d19: JUMP
00002d1a: JUMPDEST
00002d1b: SWAP4
00002d1c: POP
00002d1d: PUSH2 0x2db7
00002d20: JUMP
00002d21: JUMPDEST
00002d22: DUP2
00002d23: PUSH1 0x01
00002d25: PUSH1 0x01
00002d27: PUSH1 0x70
00002d29: SHL
00002d2a: SUB
00002d2b: AND
00002d2c: DUP9
00002d2d: GT
00002d2e: PUSH2 0x2d5d
00002d31: JUMPI
00002d32: PUSH1 0x40
00002d34: MLOAD
00002d35: PUSH3 0x461bcd
00002d39: PUSH1 0xe5
00002d3b: SHL
00002d3c: DUP2
00002d3d: MSTORE
00002d3e: PUSH1 0x20
00002d40: PUSH1 0x04
00002d42: DUP3
00002d43: ADD
00002d44: MSTORE
00002d45: PUSH1 0x01
00002d47: PUSH1 0x24
00002d49: DUP3
00002d4a: ADD
00002d4b: MSTORE
00002d4c: PUSH1 0x53
00002d4e: PUSH1 0xf8
00002d50: SHL
00002d51: PUSH1 0x44
00002d53: DUP3
00002d54: ADD
00002d55: MSTORE
00002d56: PUSH1 0x64
00002d58: ADD
00002d59: PUSH2 0x05aa
00002d5c: JUMP
00002d5d: JUMPDEST
00002d5e: PUSH2 0x03e5
00002d61: PUSH2 0x2d73
00002d64: PUSH1 0x01
00002d66: PUSH1 0x01
00002d68: PUSH1 0x70
00002d6a: SHL
00002d6b: SUB
00002d6c: DUP5
00002d6d: AND
00002d6e: DUP11
00002d6f: PUSH2 0x3a1c
00002d72: JUMP
00002d73: JUMPDEST
00002d74: PUSH2 0x2d7f
00002d77: SWAP1
00002d78: PUSH2 0x03e8
00002d7b: PUSH2 0x3778
00002d7e: JUMP
00002d7f: JUMPDEST
00002d80: PUSH2 0x2d89
00002d83: SWAP2
00002d84: SWAP1
00002d85: PUSH2 0x3765
00002d88: JUMP
00002d89: JUMPDEST
00002d8a: SWAP5
00002d8b: POP
00002d8c: DUP5
00002d8d: DUP10
00002d8e: LT
00002d8f: ISZERO
00002d90: PUSH2 0x2d97
00002d93: JUMPI
00002d94: DUP9
00002d95: SWAP5
00002d96: POP
00002d97: JUMPDEST
00002d98: PUSH2 0x2db4
00002d9b: DUP6
00002d9c: DUP4
00002d9d: PUSH1 0x01
00002d9f: PUSH1 0x01
00002da1: PUSH1 0x70
00002da3: SHL
00002da4: SUB
00002da5: AND
00002da6: DUP4
00002da7: PUSH1 0x01
00002da9: PUSH1 0x01
00002dab: PUSH1 0x70
00002dad: SHL
00002dae: SUB
00002daf: AND
00002db0: PUSH2 0x2f00
00002db3: JUMP
00002db4: JUMPDEST
00002db5: SWAP4
00002db6: POP
00002db7: JUMPDEST
00002db8: PUSH1 0x40
00002dba: MLOAD
00002dbb: PUSH4 0xa9059cbb
00002dc0: PUSH1 0xe0
00002dc2: SHL
00002dc3: DUP2
00002dc4: MSTORE
00002dc5: DUP8
00002dc6: SWAP1
00002dc7: PUSH1 0x01
00002dc9: PUSH1 0x01
00002dcb: PUSH1 0xa0
00002dcd: SHL
00002dce: SUB
00002dcf: DUP3
00002dd0: AND
00002dd1: SWAP1
00002dd2: PUSH4 0xa9059cbb
00002dd7: SWAP1
00002dd8: PUSH2 0x2de7
00002ddb: SWAP1
00002ddc: DUP16
00002ddd: SWAP1
00002dde: DUP11
00002ddf: SWAP1
00002de0: PUSH1 0x04
00002de2: ADD
00002de3: PUSH2 0x3807
00002de6: JUMP
00002de7: JUMPDEST
00002de8: PUSH0
00002de9: PUSH1 0x40
00002deb: MLOAD
00002dec: DUP1
00002ded: DUP4
00002dee: SUB
00002def: DUP2
00002df0: PUSH0
00002df1: DUP8
00002df2: DUP1
00002df3: EXTCODESIZE
00002df4: ISZERO
00002df5: DUP1
00002df6: ISZERO
00002df7: PUSH2 0x2dfe
00002dfa: JUMPI
00002dfb: PUSH0
00002dfc: PUSH0
00002dfd: REVERT
00002dfe: JUMPDEST
00002dff: POP
00002e00: GAS
00002e01: CALL
00002e02: ISZERO
00002e03: DUP1
00002e04: ISZERO
00002e05: PUSH2 0x2e10
00002e08: JUMPI
00002e09: RETURNDATASIZE
00002e0a: PUSH0
00002e0b: PUSH0
00002e0c: RETURNDATACOPY
00002e0d: RETURNDATASIZE
00002e0e: PUSH0
00002e0f: REVERT
00002e10: JUMPDEST
00002e11: POP
00002e12: POP
00002e13: POP
00002e14: POP
00002e15: DUP11
00002e16: ISZERO
00002e17: PUSH2 0x2e88
00002e1a: JUMPI
00002e1b: PUSH1 0x40
00002e1d: DUP1
00002e1e: MLOAD
00002e1f: PUSH1 0x20
00002e21: DUP2
00002e22: ADD
00002e23: DUP3
00002e24: MSTORE
00002e25: PUSH0
00002e26: DUP1
00002e27: DUP3
00002e28: MSTORE
00002e29: SWAP2
00002e2a: MLOAD
00002e2b: PUSH4 0x022c0d9f
00002e30: PUSH1 0xe0
00002e32: SHL
00002e33: DUP2
00002e34: MSTORE
00002e35: PUSH1 0x01
00002e37: PUSH1 0x01
00002e39: PUSH1 0xa0
00002e3b: SHL
00002e3c: SUB
00002e3d: DUP8
00002e3e: AND
00002e3f: SWAP3
00002e40: PUSH4 0x022c0d9f
00002e45: SWAP3
00002e46: PUSH2 0x2e56
00002e49: SWAP3
00002e4a: DUP11
00002e4b: SWAP3
00002e4c: SWAP2
00002e4d: ADDRESS
00002e4e: SWAP2
00002e4f: PUSH1 0x04
00002e51: ADD
00002e52: PUSH2 0x3a2f
00002e55: JUMP
00002e56: JUMPDEST
00002e57: PUSH0
00002e58: PUSH1 0x40
00002e5a: MLOAD
00002e5b: DUP1
00002e5c: DUP4
00002e5d: SUB
00002e5e: DUP2
00002e5f: PUSH0
00002e60: DUP8
00002e61: DUP1
00002e62: EXTCODESIZE
00002e63: ISZERO
00002e64: DUP1
00002e65: ISZERO
00002e66: PUSH2 0x2e6d
00002e69: JUMPI
00002e6a: PUSH0
00002e6b: PUSH0
00002e6c: REVERT
00002e6d: JUMPDEST
00002e6e: POP
00002e6f: GAS
00002e70: CALL
00002e71: ISZERO
00002e72: DUP1
00002e73: ISZERO
00002e74: PUSH2 0x2e7f
00002e77: JUMPI
00002e78: RETURNDATASIZE
00002e79: PUSH0
00002e7a: PUSH0
00002e7b: RETURNDATACOPY
00002e7c: RETURNDATASIZE
00002e7d: PUSH0
00002e7e: REVERT
00002e7f: JUMPDEST
00002e80: POP
00002e81: POP
00002e82: POP
00002e83: POP
00002e84: PUSH2 0x2ef1
00002e87: JUMP
00002e88: JUMPDEST
00002e89: PUSH1 0x40
00002e8b: DUP1
00002e8c: MLOAD
00002e8d: PUSH1 0x20
00002e8f: DUP2
00002e90: ADD
00002e91: DUP3
00002e92: MSTORE
00002e93: PUSH0
00002e94: DUP1
00002e95: DUP3
00002e96: MSTORE
00002e97: SWAP2
00002e98: MLOAD
00002e99: PUSH4 0x022c0d9f
00002e9e: PUSH1 0xe0
00002ea0: SHL
00002ea1: DUP2
00002ea2: MSTORE
00002ea3: PUSH1 0x01
00002ea5: PUSH1 0x01
00002ea7: PUSH1 0xa0
00002ea9: SHL
00002eaa: SUB
00002eab: DUP8
00002eac: AND
00002ead: SWAP3
00002eae: PUSH4 0x022c0d9f
00002eb3: SWAP3
00002eb4: PUSH2 0x2ec3
00002eb7: SWAP3
00002eb8: DUP11
00002eb9: SWAP2
00002eba: ADDRESS
00002ebb: SWAP2
00002ebc: PUSH1 0x04
00002ebe: ADD
00002ebf: PUSH2 0x3a2f
00002ec2: JUMP
00002ec3: JUMPDEST
00002ec4: PUSH0
00002ec5: PUSH1 0x40
00002ec7: MLOAD
00002ec8: DUP1
00002ec9: DUP4
00002eca: SUB
00002ecb: DUP2
00002ecc: PUSH0
00002ecd: DUP8
00002ece: DUP1
00002ecf: EXTCODESIZE
00002ed0: ISZERO
00002ed1: DUP1
00002ed2: ISZERO
00002ed3: PUSH2 0x2eda
00002ed6: JUMPI
00002ed7: PUSH0
00002ed8: PUSH0
00002ed9: REVERT
00002eda: JUMPDEST
00002edb: POP
00002edc: GAS
00002edd: CALL
00002ede: ISZERO
00002edf: DUP1
00002ee0: ISZERO
00002ee1: PUSH2 0x2eec
00002ee4: JUMPI
00002ee5: RETURNDATASIZE
00002ee6: PUSH0
00002ee7: PUSH0
00002ee8: RETURNDATACOPY
00002ee9: RETURNDATASIZE
00002eea: PUSH0
00002eeb: REVERT
00002eec: JUMPDEST
00002eed: POP
00002eee: POP
00002eef: POP
00002ef0: POP
00002ef1: JUMPDEST
00002ef2: POP
00002ef3: POP
00002ef4: POP
00002ef5: POP
00002ef6: SWAP7
00002ef7: POP
00002ef8: SWAP7
00002ef9: SWAP5
00002efa: POP
00002efb: POP
00002efc: POP
00002efd: POP
00002efe: POP
00002eff: JUMP
00002f00: JUMPDEST
00002f01: PUSH0
00002f02: DUP1
00002f03: PUSH2 0x2f0e
00002f06: DUP6
00002f07: PUSH2 0x03e5
00002f0a: PUSH2 0x3778
00002f0d: JUMP
00002f0e: JUMPDEST
00002f0f: SWAP1
00002f10: POP
00002f11: PUSH0
00002f12: PUSH2 0x2f1b
00002f15: DUP5
00002f16: DUP4
00002f17: PUSH2 0x3778
00002f1a: JUMP
00002f1b: JUMPDEST
00002f1c: SWAP1
00002f1d: POP
00002f1e: PUSH0
00002f1f: DUP3
00002f20: PUSH2 0x2f2b
00002f23: DUP8
00002f24: PUSH2 0x03e8
00002f27: PUSH2 0x3778
00002f2a: JUMP
00002f2b: JUMPDEST
00002f2c: PUSH2 0x2f35
00002f2f: SWAP2
00002f30: SWAP1
00002f31: PUSH2 0x37f4
00002f34: JUMP
00002f35: JUMPDEST
00002f36: SWAP1
00002f37: POP
00002f38: PUSH2 0x2f41
00002f3b: DUP2
00002f3c: DUP4
00002f3d: PUSH2 0x3765
00002f40: JUMP
00002f41: JUMPDEST
00002f42: SWAP8
00002f43: SWAP7
00002f44: POP
00002f45: POP
00002f46: POP
00002f47: POP
00002f48: POP
00002f49: POP
00002f4a: POP
00002f4b: JUMP
00002f4c: JUMPDEST
00002f4d: PUSH1 0x01
00002f4f: PUSH1 0x01
00002f51: PUSH1 0xa0
00002f53: SHL
00002f54: SUB
00002f55: DUP2
00002f56: AND
00002f57: DUP2
00002f58: EQ
00002f59: PUSH2 0x14a9
00002f5c: JUMPI
00002f5d: PUSH0
00002f5e: PUSH0
00002f5f: REVERT
00002f60: JUMPDEST
00002f61: PUSH0
00002f62: PUSH0
00002f63: PUSH0
00002f64: PUSH0
00002f65: PUSH0
00002f66: PUSH1 0xa0
00002f68: DUP7
00002f69: DUP9
00002f6a: SUB
00002f6b: SLT
00002f6c: ISZERO
00002f6d: PUSH2 0x2f74
00002f70: JUMPI
00002f71: PUSH0
00002f72: PUSH0
00002f73: REVERT
00002f74: JUMPDEST
00002f75: DUP6
00002f76: CALLDATALOAD
00002f77: SWAP5
00002f78: POP
00002f79: PUSH1 0x20
00002f7b: DUP7
00002f7c: ADD
00002f7d: CALLDATALOAD
00002f7e: PUSH2 0x2f86
00002f81: DUP2
00002f82: PUSH2 0x2f4c
00002f85: JUMP
00002f86: JUMPDEST
00002f87: SWAP4
00002f88: POP
00002f89: PUSH1 0x40
00002f8b: DUP7
00002f8c: ADD
00002f8d: CALLDATALOAD
00002f8e: PUSH2 0x2f96
00002f91: DUP2
00002f92: PUSH2 0x2f4c
00002f95: JUMP
00002f96: JUMPDEST
00002f97: SWAP5
00002f98: SWAP8
00002f99: SWAP4
00002f9a: SWAP7
00002f9b: POP
00002f9c: SWAP4
00002f9d: SWAP5
00002f9e: PUSH1 0x60
00002fa0: DUP2
00002fa1: ADD
00002fa2: CALLDATALOAD
00002fa3: SWAP5
00002fa4: POP
00002fa5: PUSH1 0x80
00002fa7: ADD
00002fa8: CALLDATALOAD
00002fa9: SWAP3
00002faa: SWAP2
00002fab: POP
00002fac: POP
00002fad: JUMP
00002fae: JUMPDEST
00002faf: DUP1
00002fb0: CALLDATALOAD
00002fb1: DUP1
00002fb2: ISZERO
00002fb3: ISZERO
00002fb4: DUP2
00002fb5: EQ
00002fb6: PUSH2 0x2fbd
00002fb9: JUMPI
00002fba: PUSH0
00002fbb: PUSH0
00002fbc: REVERT
00002fbd: JUMPDEST
00002fbe: SWAP2
00002fbf: SWAP1
00002fc0: POP
00002fc1: JUMP
00002fc2: JUMPDEST
00002fc3: PUSH0
00002fc4: PUSH0
00002fc5: PUSH0
00002fc6: PUSH0
00002fc7: PUSH0
00002fc8: PUSH0
00002fc9: PUSH0
00002fca: PUSH0
00002fcb: PUSH0
00002fcc: PUSH0
00002fcd: PUSH0
00002fce: PUSH2 0x0160
00002fd1: DUP13
00002fd2: DUP15
00002fd3: SUB
00002fd4: SLT
00002fd5: ISZERO
00002fd6: PUSH2 0x2fdd
00002fd9: JUMPI
00002fda: PUSH0
00002fdb: PUSH0
00002fdc: REVERT
00002fdd: JUMPDEST
00002fde: DUP12
00002fdf: CALLDATALOAD
00002fe0: SWAP11
00002fe1: POP
00002fe2: PUSH1 0x20
00002fe4: DUP13
00002fe5: ADD
00002fe6: CALLDATALOAD
00002fe7: PUSH2 0x2fef
00002fea: DUP2
00002feb: PUSH2 0x2f4c
00002fee: JUMP
00002fef: JUMPDEST
00002ff0: SWAP10
00002ff1: POP
00002ff2: PUSH2 0x2ffd
00002ff5: PUSH1 0x40
00002ff7: DUP14
00002ff8: ADD
00002ff9: PUSH2 0x2fae
00002ffc: JUMP
00002ffd: JUMPDEST
00002ffe: SWAP9
00002fff: POP
00003000: PUSH1 0x60
00003002: DUP13
00003003: ADD
00003004: CALLDATALOAD
00003005: SWAP8
00003006: POP
00003007: PUSH1 0x80
00003009: DUP13
0000300a: ADD
0000300b: CALLDATALOAD
0000300c: PUSH2 0x3014
0000300f: DUP2
00003010: PUSH2 0x2f4c
00003013: JUMP
00003014: JUMPDEST
00003015: SWAP7
00003016: POP
00003017: PUSH1 0xa0
00003019: DUP13
0000301a: ADD
0000301b: CALLDATALOAD
0000301c: PUSH2 0x3024
0000301f: DUP2
00003020: PUSH2 0x2f4c
00003023: JUMP
00003024: JUMPDEST
00003025: SWAP6
00003026: POP
00003027: PUSH1 0xc0
00003029: DUP13
0000302a: ADD
0000302b: CALLDATALOAD
0000302c: SWAP5
0000302d: POP
0000302e: PUSH1 0xe0
00003030: DUP13
00003031: ADD
00003032: CALLDATALOAD
00003033: SWAP4
00003034: POP
00003035: PUSH2 0x0100
00003038: DUP13
00003039: ADD
0000303a: CALLDATALOAD
0000303b: SWAP3
0000303c: POP
0000303d: PUSH2 0x0120
00003040: DUP13
00003041: ADD
00003042: CALLDATALOAD
00003043: SWAP2
00003044: POP
00003045: PUSH2 0x0140
00003048: DUP13
00003049: ADD
0000304a: CALLDATALOAD
0000304b: PUSH2 0x3053
0000304e: DUP2
0000304f: PUSH2 0x2f4c
00003052: JUMP
00003053: JUMPDEST
00003054: DUP1
00003055: SWAP2
00003056: POP
00003057: POP
00003058: SWAP3
00003059: SWAP6
0000305a: SWAP9
0000305b: SWAP12
0000305c: POP
0000305d: SWAP3
0000305e: SWAP6
0000305f: SWAP9
00003060: SWAP12
00003061: SWAP1
00003062: SWAP4
00003063: SWAP7
00003064: SWAP10
00003065: POP
00003066: JUMP
00003067: JUMPDEST
00003068: PUSH0
00003069: PUSH0
0000306a: PUSH0
0000306b: PUSH0
0000306c: PUSH0
0000306d: PUSH0
0000306e: PUSH1 0xc0
00003070: DUP8
00003071: DUP10
00003072: SUB
00003073: SLT
00003074: ISZERO
00003075: PUSH2 0x307c
00003078: JUMPI
00003079: PUSH0
0000307a: PUSH0
0000307b: REVERT
0000307c: JUMPDEST
0000307d: DUP7
0000307e: CALLDATALOAD
0000307f: SWAP6
00003080: POP
00003081: PUSH1 0x20
00003083: DUP8
00003084: ADD
00003085: CALLDATALOAD
00003086: PUSH2 0x308e
00003089: DUP2
0000308a: PUSH2 0x2f4c
0000308d: JUMP
0000308e: JUMPDEST
0000308f: SWAP5
00003090: POP
00003091: PUSH1 0x40
00003093: DUP8
00003094: ADD
00003095: CALLDATALOAD
00003096: PUSH2 0x309e
00003099: DUP2
0000309a: PUSH2 0x2f4c
0000309d: JUMP
0000309e: JUMPDEST
0000309f: SWAP4
000030a0: POP
000030a1: PUSH1 0x60
000030a3: DUP8
000030a4: ADD
000030a5: CALLDATALOAD
000030a6: SWAP3
000030a7: POP
000030a8: PUSH1 0x80
000030aa: DUP8
000030ab: ADD
000030ac: CALLDATALOAD
000030ad: PUSH2 0x30b5
000030b0: DUP2
000030b1: PUSH2 0x2f4c
000030b4: JUMP
000030b5: JUMPDEST
000030b6: SWAP6
000030b7: SWAP9
000030b8: SWAP5
000030b9: SWAP8
000030ba: POP
000030bb: SWAP3
000030bc: SWAP6
000030bd: SWAP2
000030be: SWAP5
000030bf: SWAP4
000030c0: PUSH1 0xa0
000030c2: SWAP1
000030c3: SWAP3
000030c4: ADD
000030c5: CALLDATALOAD
000030c6: SWAP3
000030c7: POP
000030c8: POP
000030c9: JUMP
000030ca: JUMPDEST
000030cb: PUSH0
000030cc: PUSH0
000030cd: PUSH0
000030ce: PUSH0
000030cf: PUSH0
000030d0: PUSH0
000030d1: PUSH1 0xc0
000030d3: DUP8
000030d4: DUP10
000030d5: SUB
000030d6: SLT
000030d7: ISZERO
000030d8: PUSH2 0x30df
000030db: JUMPI
000030dc: PUSH0
000030dd: PUSH0
000030de: REVERT
000030df: JUMPDEST
000030e0: DUP7
000030e1: CALLDATALOAD
000030e2: SWAP6
000030e3: POP
000030e4: PUSH1 0x20
000030e6: DUP8
000030e7: ADD
000030e8: CALLDATALOAD
000030e9: SWAP5
000030ea: POP
000030eb: PUSH1 0x40
000030ed: DUP8
000030ee: ADD
000030ef: CALLDATALOAD
000030f0: PUSH2 0x30f8
000030f3: DUP2
000030f4: PUSH2 0x2f4c
000030f7: JUMP
000030f8: JUMPDEST
000030f9: SWAP4
000030fa: POP
000030fb: PUSH1 0x60
000030fd: DUP8
000030fe: ADD
000030ff: CALLDATALOAD
00003100: PUSH2 0x3108
00003103: DUP2
00003104: PUSH2 0x2f4c
00003107: JUMP
00003108: JUMPDEST
00003109: SWAP6
0000310a: SWAP9
0000310b: SWAP5
0000310c: SWAP8
0000310d: POP
0000310e: SWAP3
0000310f: SWAP6
00003110: PUSH1 0x80
00003112: DUP2
00003113: ADD
00003114: CALLDATALOAD
00003115: SWAP5
00003116: PUSH1 0xa0
00003118: SWAP1
00003119: SWAP2
0000311a: ADD
0000311b: CALLDATALOAD
0000311c: SWAP4
0000311d: POP
0000311e: SWAP2
0000311f: POP
00003120: POP
00003121: JUMP
00003122: JUMPDEST
00003123: PUSH0
00003124: PUSH0
00003125: PUSH0
00003126: PUSH0
00003127: PUSH0
00003128: PUSH0
00003129: PUSH0
0000312a: PUSH1 0xe0
0000312c: DUP9
0000312d: DUP11
0000312e: SUB
0000312f: SLT
00003130: ISZERO
00003131: PUSH2 0x3138
00003134: JUMPI
00003135: PUSH0
00003136: PUSH0
00003137: REVERT
00003138: JUMPDEST
00003139: DUP8
0000313a: CALLDATALOAD
0000313b: SWAP7
0000313c: POP
0000313d: PUSH1 0x20
0000313f: DUP9
00003140: ADD
00003141: CALLDATALOAD
00003142: PUSH2 0x314a
00003145: DUP2
00003146: PUSH2 0x2f4c
00003149: JUMP
0000314a: JUMPDEST
0000314b: SWAP6
0000314c: POP
0000314d: PUSH2 0x3158
00003150: PUSH1 0x40
00003152: DUP10
00003153: ADD
00003154: PUSH2 0x2fae
00003157: JUMP
00003158: JUMPDEST
00003159: SWAP5
0000315a: POP
0000315b: PUSH1 0x60
0000315d: DUP9
0000315e: ADD
0000315f: CALLDATALOAD
00003160: PUSH2 0x3168
00003163: DUP2
00003164: PUSH2 0x2f4c
00003167: JUMP
00003168: JUMPDEST
00003169: SWAP4
0000316a: POP
0000316b: PUSH1 0x80
0000316d: DUP9
0000316e: ADD
0000316f: CALLDATALOAD
00003170: PUSH2 0x3178
00003173: DUP2
00003174: PUSH2 0x2f4c
00003177: JUMP
00003178: JUMPDEST
00003179: SWAP7
0000317a: SWAP10
0000317b: SWAP6
0000317c: SWAP9
0000317d: POP
0000317e: SWAP4
0000317f: SWAP7
00003180: SWAP3
00003181: SWAP6
00003182: SWAP5
00003183: PUSH1 0xa0
00003185: DUP5
00003186: ADD
00003187: CALLDATALOAD
00003188: SWAP5
00003189: POP
0000318a: PUSH1 0xc0
0000318c: SWAP1
0000318d: SWAP4
0000318e: ADD
0000318f: CALLDATALOAD
00003190: SWAP3
00003191: SWAP2
00003192: POP
00003193: POP
00003194: JUMP
00003195: JUMPDEST
00003196: PUSH0
00003197: PUSH0
00003198: PUSH0
00003199: PUSH0
0000319a: PUSH0
0000319b: PUSH0
0000319c: PUSH0
0000319d: PUSH0
0000319e: PUSH0
0000319f: PUSH0
000031a0: PUSH2 0x0140
000031a3: DUP12
000031a4: DUP14
000031a5: SUB
000031a6: SLT
000031a7: ISZERO
000031a8: PUSH2 0x31af
000031ab: JUMPI
000031ac: PUSH0
000031ad: PUSH0
000031ae: REVERT
000031af: JUMPDEST
000031b0: DUP11
000031b1: CALLDATALOAD
000031b2: PUSH2 0x31ba
000031b5: DUP2
000031b6: PUSH2 0x2f4c
000031b9: JUMP
000031ba: JUMPDEST
000031bb: SWAP10
000031bc: POP
000031bd: PUSH2 0x31c8
000031c0: PUSH1 0x20
000031c2: DUP13
000031c3: ADD
000031c4: PUSH2 0x2fae
000031c7: JUMP
000031c8: JUMPDEST
000031c9: SWAP9
000031ca: POP
000031cb: PUSH1 0x40
000031cd: DUP12
000031ce: ADD
000031cf: CALLDATALOAD
000031d0: SWAP8
000031d1: POP
000031d2: PUSH1 0x60
000031d4: DUP12
000031d5: ADD
000031d6: CALLDATALOAD
000031d7: PUSH2 0x31df
000031da: DUP2
000031db: PUSH2 0x2f4c
000031de: JUMP
000031df: JUMPDEST
000031e0: SWAP7
000031e1: POP
000031e2: PUSH1 0x80
000031e4: DUP12
000031e5: ADD
000031e6: CALLDATALOAD
000031e7: PUSH2 0x31ef
000031ea: DUP2
000031eb: PUSH2 0x2f4c
000031ee: JUMP
000031ef: JUMPDEST
000031f0: SWAP6
000031f1: POP
000031f2: PUSH1 0xa0
000031f4: DUP12
000031f5: ADD
000031f6: CALLDATALOAD
000031f7: SWAP5
000031f8: POP
000031f9: PUSH1 0xc0
000031fb: DUP12
000031fc: ADD
000031fd: CALLDATALOAD
000031fe: SWAP4
000031ff: POP
00003200: PUSH1 0xe0
00003202: DUP12
00003203: ADD
00003204: CALLDATALOAD
00003205: SWAP3
00003206: POP
00003207: PUSH2 0x0100
0000320a: DUP12
0000320b: ADD
0000320c: CALLDATALOAD
0000320d: SWAP2
0000320e: POP
0000320f: PUSH2 0x0120
00003212: DUP12
00003213: ADD
00003214: CALLDATALOAD
00003215: PUSH2 0x321d
00003218: DUP2
00003219: PUSH2 0x2f4c
0000321c: JUMP
0000321d: JUMPDEST
0000321e: DUP1
0000321f: SWAP2
00003220: POP
00003221: POP
00003222: SWAP3
00003223: SWAP6
00003224: SWAP9
00003225: SWAP12
00003226: SWAP2
00003227: SWAP5
00003228: SWAP8
00003229: SWAP11
0000322a: POP
0000322b: SWAP3
0000322c: SWAP6
0000322d: SWAP9
0000322e: POP
0000322f: JUMP
00003230: JUMPDEST
00003231: PUSH0
00003232: PUSH0
00003233: PUSH0
00003234: PUSH0
00003235: PUSH0
00003236: PUSH1 0xa0
00003238: DUP7
00003239: DUP9
0000323a: SUB
0000323b: SLT
0000323c: ISZERO
0000323d: PUSH2 0x3244
00003240: JUMPI
00003241: PUSH0
00003242: PUSH0
00003243: REVERT
00003244: JUMPDEST
00003245: DUP6
00003246: CALLDATALOAD
00003247: PUSH2 0x324f
0000324a: DUP2
0000324b: PUSH2 0x2f4c
0000324e: JUMP
0000324f: JUMPDEST
00003250: SWAP5
00003251: POP
00003252: PUSH2 0x325d
00003255: PUSH1 0x20
00003257: DUP8
00003258: ADD
00003259: PUSH2 0x2fae
0000325c: JUMP
0000325d: JUMPDEST
0000325e: SWAP4
0000325f: POP
00003260: PUSH1 0x40
00003262: DUP7
00003263: ADD
00003264: CALLDATALOAD
00003265: SWAP3
00003266: POP
00003267: PUSH1 0x60
00003269: DUP7
0000326a: ADD
0000326b: CALLDATALOAD
0000326c: SWAP2
0000326d: POP
0000326e: PUSH1 0x80
00003270: DUP7
00003271: ADD
00003272: CALLDATALOAD
00003273: PUSH2 0x327b
00003276: DUP2
00003277: PUSH2 0x2f4c
0000327a: JUMP
0000327b: JUMPDEST
0000327c: DUP1
0000327d: SWAP2
0000327e: POP
0000327f: POP
00003280: SWAP3
00003281: SWAP6
00003282: POP
00003283: SWAP3
00003284: SWAP6
00003285: SWAP1
00003286: SWAP4
00003287: POP
00003288: JUMP
00003289: JUMPDEST
0000328a: PUSH0
0000328b: PUSH0
0000328c: PUSH0
0000328d: PUSH0
0000328e: PUSH0
0000328f: PUSH0
00003290: PUSH1 0xc0
00003292: DUP8
00003293: DUP10
00003294: SUB
00003295: SLT
00003296: ISZERO
00003297: PUSH2 0x329e
0000329a: JUMPI
0000329b: PUSH0
0000329c: PUSH0
0000329d: REVERT
0000329e: JUMPDEST
0000329f: DUP7
000032a0: CALLDATALOAD
000032a1: SWAP6
000032a2: POP
000032a3: PUSH1 0x20
000032a5: DUP8
000032a6: ADD
000032a7: CALLDATALOAD
000032a8: PUSH2 0x32b0
000032ab: DUP2
000032ac: PUSH2 0x2f4c
000032af: JUMP
000032b0: JUMPDEST
000032b1: SWAP5
000032b2: POP
000032b3: PUSH2 0x32be
000032b6: PUSH1 0x40
000032b8: DUP9
000032b9: ADD
000032ba: PUSH2 0x2fae
000032bd: JUMP
000032be: JUMPDEST
000032bf: SWAP4
000032c0: POP
000032c1: PUSH1 0x60
000032c3: DUP8
000032c4: ADD
000032c5: CALLDATALOAD
000032c6: SWAP3
000032c7: POP
000032c8: PUSH1 0x80
000032ca: DUP8
000032cb: ADD
000032cc: CALLDATALOAD
000032cd: SWAP2
000032ce: POP
000032cf: PUSH1 0xa0
000032d1: DUP8
000032d2: ADD
000032d3: CALLDATALOAD
000032d4: PUSH2 0x32dc
000032d7: DUP2
000032d8: PUSH2 0x2f4c
000032db: JUMP
000032dc: JUMPDEST
000032dd: DUP1
000032de: SWAP2
000032df: POP
000032e0: POP
000032e1: SWAP3
000032e2: SWAP6
000032e3: POP
000032e4: SWAP3
000032e5: SWAP6
000032e6: POP
000032e7: SWAP3
000032e8: SWAP6
000032e9: JUMP
000032ea: JUMPDEST
000032eb: PUSH0
000032ec: PUSH0
000032ed: DUP4
000032ee: PUSH1 0x1f
000032f0: DUP5
000032f1: ADD
000032f2: SLT
000032f3: PUSH2 0x32fa
000032f6: JUMPI
000032f7: PUSH0
000032f8: PUSH0
000032f9: REVERT
000032fa: JUMPDEST
000032fb: POP
000032fc: DUP2
000032fd: CALLDATALOAD
000032fe: PUSH8 0xffffffffffffffff
00003307: DUP2
00003308: GT
00003309: ISZERO
0000330a: PUSH2 0x3311
0000330d: JUMPI
0000330e: PUSH0
0000330f: PUSH0
00003310: REVERT
00003311: JUMPDEST
00003312: PUSH1 0x20
00003314: DUP4
00003315: ADD
00003316: SWAP2
00003317: POP
00003318: DUP4
00003319: PUSH1 0x20
0000331b: DUP3
0000331c: DUP6
0000331d: ADD
0000331e: ADD
0000331f: GT
00003320: ISZERO
00003321: PUSH2 0x3328
00003324: JUMPI
00003325: PUSH0
00003326: PUSH0
00003327: REVERT
00003328: JUMPDEST
00003329: SWAP3
0000332a: POP
0000332b: SWAP3
0000332c: SWAP1
0000332d: POP
0000332e: JUMP
0000332f: JUMPDEST
00003330: PUSH0
00003331: PUSH0
00003332: PUSH1 0x20
00003334: DUP4
00003335: DUP6
00003336: SUB
00003337: SLT
00003338: ISZERO
00003339: PUSH2 0x3340
0000333c: JUMPI
0000333d: PUSH0
0000333e: PUSH0
0000333f: REVERT
00003340: JUMPDEST
00003341: DUP3
00003342: CALLDATALOAD
00003343: PUSH8 0xffffffffffffffff
0000334c: DUP2
0000334d: GT
0000334e: ISZERO
0000334f: PUSH2 0x3356
00003352: JUMPI
00003353: PUSH0
00003354: PUSH0
00003355: REVERT
00003356: JUMPDEST
00003357: PUSH2 0x3362
0000335a: DUP6
0000335b: DUP3
0000335c: DUP7
0000335d: ADD
0000335e: PUSH2 0x32ea
00003361: JUMP
00003362: JUMPDEST
00003363: SWAP1
00003364: SWAP7
00003365: SWAP1
00003366: SWAP6
00003367: POP
00003368: SWAP4
00003369: POP
0000336a: POP
0000336b: POP
0000336c: POP
0000336d: JUMP
0000336e: JUMPDEST
0000336f: PUSH0
00003370: PUSH0
00003371: PUSH0
00003372: PUSH0
00003373: PUSH0
00003374: PUSH0
00003375: PUSH1 0xc0
00003377: DUP8
00003378: DUP10
00003379: SUB
0000337a: SLT
0000337b: ISZERO
0000337c: PUSH2 0x3383
0000337f: JUMPI
00003380: PUSH0
00003381: PUSH0
00003382: REVERT
00003383: JUMPDEST
00003384: DUP7
00003385: CALLDATALOAD
00003386: PUSH2 0x338e
00003389: DUP2
0000338a: PUSH2 0x2f4c
0000338d: JUMP
0000338e: JUMPDEST
0000338f: SWAP6
00003390: POP
00003391: PUSH2 0x339c
00003394: PUSH1 0x20
00003396: DUP9
00003397: ADD
00003398: PUSH2 0x2fae
0000339b: JUMP
0000339c: JUMPDEST
0000339d: SWAP5
0000339e: POP
0000339f: PUSH1 0x40
000033a1: DUP8
000033a2: ADD
000033a3: CALLDATALOAD
000033a4: PUSH2 0x30f8
000033a7: DUP2
000033a8: PUSH2 0x2f4c
000033ab: JUMP
000033ac: JUMPDEST
000033ad: PUSH0
000033ae: PUSH1 0x20
000033b0: DUP3
000033b1: DUP5
000033b2: SUB
000033b3: SLT
000033b4: ISZERO
000033b5: PUSH2 0x33bc
000033b8: JUMPI
000033b9: PUSH0
000033ba: PUSH0
000033bb: REVERT
000033bc: JUMPDEST
000033bd: DUP2
000033be: CALLDATALOAD
000033bf: PUSH2 0x33c7
000033c2: DUP2
000033c3: PUSH2 0x2f4c
000033c6: JUMP
000033c7: JUMPDEST
000033c8: SWAP4
000033c9: SWAP3
000033ca: POP
000033cb: POP
000033cc: POP
000033cd: JUMP
000033ce: JUMPDEST
000033cf: PUSH0
000033d0: PUSH0
000033d1: PUSH0
000033d2: PUSH0
000033d3: PUSH0
000033d4: PUSH0
000033d5: PUSH0
000033d6: PUSH0
000033d7: PUSH0
000033d8: PUSH0
000033d9: PUSH0
000033da: PUSH2 0x0160
000033dd: DUP13
000033de: DUP15
000033df: SUB
000033e0: SLT
000033e1: ISZERO
000033e2: PUSH2 0x33e9
000033e5: JUMPI
000033e6: PUSH0
000033e7: PUSH0
000033e8: REVERT
000033e9: JUMPDEST
000033ea: DUP12
000033eb: CALLDATALOAD
000033ec: PUSH2 0x33f4
000033ef: DUP2
000033f0: PUSH2 0x2f4c
000033f3: JUMP
000033f4: JUMPDEST
000033f5: SWAP11
000033f6: POP
000033f7: PUSH2 0x3402
000033fa: PUSH1 0x20
000033fc: DUP14
000033fd: ADD
000033fe: PUSH2 0x2fae
00003401: JUMP
00003402: JUMPDEST
00003403: SWAP10
00003404: POP
00003405: PUSH1 0x40
00003407: DUP13
00003408: ADD
00003409: CALLDATALOAD
0000340a: SWAP9
0000340b: POP
0000340c: PUSH1 0x60
0000340e: DUP13
0000340f: ADD
00003410: CALLDATALOAD
00003411: SWAP8
00003412: POP
00003413: PUSH1 0x80
00003415: DUP13
00003416: ADD
00003417: CALLDATALOAD
00003418: PUSH2 0x3420
0000341b: DUP2
0000341c: PUSH2 0x2f4c
0000341f: JUMP
00003420: JUMPDEST
00003421: SWAP7
00003422: POP
00003423: PUSH1 0xa0
00003425: DUP13
00003426: ADD
00003427: CALLDATALOAD
00003428: SWAP6
00003429: POP
0000342a: PUSH1 0xc0
0000342c: DUP13
0000342d: ADD
0000342e: CALLDATALOAD
0000342f: SWAP5
00003430: POP
00003431: PUSH1 0xe0
00003433: DUP13
00003434: ADD
00003435: CALLDATALOAD
00003436: SWAP4
00003437: POP
00003438: PUSH2 0x0100
0000343b: DUP13
0000343c: ADD
0000343d: CALLDATALOAD
0000343e: SWAP3
0000343f: POP
00003440: PUSH2 0x0120
00003443: DUP13
00003444: ADD
00003445: CALLDATALOAD
00003446: SWAP2
00003447: POP
00003448: PUSH2 0x0140
0000344b: DUP13
0000344c: ADD
0000344d: CALLDATALOAD
0000344e: PUSH2 0x3053
00003451: DUP2
00003452: PUSH2 0x2f4c
00003455: JUMP
00003456: JUMPDEST
00003457: PUSH0
00003458: PUSH0
00003459: PUSH0
0000345a: PUSH0
0000345b: PUSH1 0x60
0000345d: DUP6
0000345e: DUP8
0000345f: SUB
00003460: SLT
00003461: ISZERO
00003462: PUSH2 0x3469
00003465: JUMPI
00003466: PUSH0
00003467: PUSH0
00003468: REVERT
00003469: JUMPDEST
0000346a: DUP5
0000346b: CALLDATALOAD
0000346c: SWAP4
0000346d: POP
0000346e: PUSH1 0x20
00003470: DUP6
00003471: ADD
00003472: CALLDATALOAD
00003473: SWAP3
00003474: POP
00003475: PUSH1 0x40
00003477: DUP6
00003478: ADD
00003479: CALLDATALOAD
0000347a: PUSH8 0xffffffffffffffff
00003483: DUP2
00003484: GT
00003485: ISZERO
00003486: PUSH2 0x348d
00003489: JUMPI
0000348a: PUSH0
0000348b: PUSH0
0000348c: REVERT
0000348d: JUMPDEST
0000348e: PUSH2 0x3499
00003491: DUP8
00003492: DUP3
00003493: DUP9
00003494: ADD
00003495: PUSH2 0x32ea
00003498: JUMP
00003499: JUMPDEST
0000349a: SWAP6
0000349b: SWAP9
0000349c: SWAP5
0000349d: SWAP8
0000349e: POP
0000349f: SWAP6
000034a0: POP
000034a1: POP
000034a2: POP
000034a3: POP
000034a4: JUMP
000034a5: JUMPDEST
000034a6: PUSH0
000034a7: PUSH1 0x20
000034a9: DUP3
000034aa: DUP5
000034ab: SUB
000034ac: SLT
000034ad: ISZERO
000034ae: PUSH2 0x34b5
000034b1: JUMPI
000034b2: PUSH0
000034b3: PUSH0
000034b4: REVERT
000034b5: JUMPDEST
000034b6: POP
000034b7: CALLDATALOAD
000034b8: SWAP2
000034b9: SWAP1
000034ba: POP
000034bb: JUMP
000034bc: JUMPDEST
000034bd: PUSH0
000034be: PUSH0
000034bf: PUSH0
000034c0: PUSH0
000034c1: PUSH0
000034c2: PUSH1 0xa0
000034c4: DUP7
000034c5: DUP9
000034c6: SUB
000034c7: SLT
000034c8: ISZERO
000034c9: PUSH2 0x34d0
000034cc: JUMPI
000034cd: PUSH0
000034ce: PUSH0
000034cf: REVERT
000034d0: JUMPDEST
000034d1: DUP6
000034d2: CALLDATALOAD
000034d3: PUSH2 0x34db
000034d6: DUP2
000034d7: PUSH2 0x2f4c
000034da: JUMP
000034db: JUMPDEST
000034dc: SWAP5
000034dd: POP
000034de: PUSH1 0x20
000034e0: DUP7
000034e1: ADD
000034e2: CALLDATALOAD
000034e3: PUSH2 0x34eb
000034e6: DUP2
000034e7: PUSH2 0x2f4c
000034ea: JUMP
000034eb: JUMPDEST
000034ec: SWAP4
000034ed: POP
000034ee: PUSH1 0x40
000034f0: DUP7
000034f1: ADD
000034f2: CALLDATALOAD
000034f3: SWAP3
000034f4: POP
000034f5: PUSH1 0x60
000034f7: DUP7
000034f8: ADD
000034f9: CALLDATALOAD
000034fa: PUSH2 0x3502
000034fd: DUP2
000034fe: PUSH2 0x2f4c
00003501: JUMP
00003502: JUMPDEST
00003503: SWAP5
00003504: SWAP8
00003505: SWAP4
00003506: SWAP7
00003507: POP
00003508: SWAP2
00003509: SWAP5
0000350a: PUSH1 0x80
0000350c: ADD
0000350d: CALLDATALOAD
0000350e: SWAP3
0000350f: SWAP2
00003510: POP
00003511: POP
00003512: JUMP
00003513: JUMPDEST
00003514: PUSH0
00003515: PUSH0
00003516: DUP4
00003517: PUSH1 0x1f
00003519: DUP5
0000351a: ADD
0000351b: SLT
0000351c: PUSH2 0x3523
0000351f: JUMPI
00003520: PUSH0
00003521: PUSH0
00003522: REVERT
00003523: JUMPDEST
00003524: POP
00003525: DUP2
00003526: CALLDATALOAD
00003527: PUSH8 0xffffffffffffffff
00003530: DUP2
00003531: GT
00003532: ISZERO
00003533: PUSH2 0x353a
00003536: JUMPI
00003537: PUSH0
00003538: PUSH0
00003539: REVERT
0000353a: JUMPDEST
0000353b: PUSH1 0x20
0000353d: DUP4
0000353e: ADD
0000353f: SWAP2
00003540: POP
00003541: DUP4
00003542: PUSH1 0x20
00003544: DUP3
00003545: PUSH1 0x05
00003547: SHL
00003548: DUP6
00003549: ADD
0000354a: ADD
0000354b: GT
0000354c: ISZERO
0000354d: PUSH2 0x3328
00003550: JUMPI
00003551: PUSH0
00003552: PUSH0
00003553: REVERT
00003554: JUMPDEST
00003555: PUSH0
00003556: PUSH0
00003557: PUSH0
00003558: PUSH0
00003559: PUSH1 0x40
0000355b: DUP6
0000355c: DUP8
0000355d: SUB
0000355e: SLT
0000355f: ISZERO
00003560: PUSH2 0x3567
00003563: JUMPI
00003564: PUSH0
00003565: PUSH0
00003566: REVERT
00003567: JUMPDEST
00003568: DUP5
00003569: CALLDATALOAD
0000356a: PUSH8 0xffffffffffffffff
00003573: DUP2
00003574: GT
00003575: ISZERO
00003576: PUSH2 0x357d
00003579: JUMPI
0000357a: PUSH0
0000357b: PUSH0
0000357c: REVERT
0000357d: JUMPDEST
0000357e: PUSH2 0x3589
00003581: DUP8
00003582: DUP3
00003583: DUP9
00003584: ADD
00003585: PUSH2 0x3513
00003588: JUMP
00003589: JUMPDEST
0000358a: SWAP1
0000358b: SWAP6
0000358c: POP
0000358d: SWAP4
0000358e: POP
0000358f: POP
00003590: PUSH1 0x20
00003592: DUP6
00003593: ADD
00003594: CALLDATALOAD
00003595: PUSH8 0xffffffffffffffff
0000359e: DUP2
0000359f: GT
000035a0: ISZERO
000035a1: PUSH2 0x35a8
000035a4: JUMPI
000035a5: PUSH0
000035a6: PUSH0
000035a7: REVERT
000035a8: JUMPDEST
000035a9: PUSH2 0x3499
000035ac: DUP8
000035ad: DUP3
000035ae: DUP9
000035af: ADD
000035b0: PUSH2 0x3513
000035b3: JUMP
000035b4: JUMPDEST
000035b5: PUSH0
000035b6: PUSH0
000035b7: PUSH1 0x20
000035b9: DUP4
000035ba: DUP6
000035bb: SUB
000035bc: SLT
000035bd: ISZERO
000035be: PUSH2 0x35c5
000035c1: JUMPI
000035c2: PUSH0
000035c3: PUSH0
000035c4: REVERT
000035c5: JUMPDEST
000035c6: DUP3
000035c7: CALLDATALOAD
000035c8: PUSH8 0xffffffffffffffff
000035d1: DUP2
000035d2: GT
000035d3: ISZERO
000035d4: PUSH2 0x35db
000035d7: JUMPI
000035d8: PUSH0
000035d9: PUSH0
000035da: REVERT
000035db: JUMPDEST
000035dc: PUSH2 0x3362
000035df: DUP6
000035e0: DUP3
000035e1: DUP7
000035e2: ADD
000035e3: PUSH2 0x3513
000035e6: JUMP
000035e7: JUMPDEST
000035e8: PUSH0
000035e9: PUSH0
000035ea: PUSH1 0x40
000035ec: DUP4
000035ed: DUP6
000035ee: SUB
000035ef: SLT
000035f0: ISZERO
000035f1: PUSH2 0x35f8
000035f4: JUMPI
000035f5: PUSH0
000035f6: PUSH0
000035f7: REVERT
000035f8: JUMPDEST
000035f9: DUP3
000035fa: CALLDATALOAD
000035fb: PUSH2 0x3603
000035fe: DUP2
000035ff: PUSH2 0x2f4c
00003602: JUMP
00003603: JUMPDEST
00003604: SWAP5
00003605: PUSH1 0x20
00003607: SWAP4
00003608: SWAP1
00003609: SWAP4
0000360a: ADD
0000360b: CALLDATALOAD
0000360c: SWAP4
0000360d: POP
0000360e: POP
0000360f: POP
00003610: JUMP
00003611: JUMPDEST
00003612: PUSH0
00003613: PUSH0
00003614: PUSH0
00003615: PUSH0
00003616: PUSH0
00003617: PUSH0
00003618: PUSH0
00003619: PUSH0
0000361a: PUSH0
0000361b: PUSH0
0000361c: PUSH0
0000361d: PUSH0
0000361e: PUSH2 0x0180
00003621: DUP14
00003622: DUP16
00003623: SUB
00003624: SLT
00003625: ISZERO
00003626: PUSH2 0x362d
00003629: JUMPI
0000362a: PUSH0
0000362b: PUSH0
0000362c: REVERT
0000362d: JUMPDEST
0000362e: DUP13
0000362f: CALLDATALOAD
00003630: SWAP12
00003631: POP
00003632: PUSH1 0x20
00003634: DUP14
00003635: ADD
00003636: CALLDATALOAD
00003637: PUSH2 0x363f
0000363a: DUP2
0000363b: PUSH2 0x2f4c
0000363e: JUMP
0000363f: JUMPDEST
00003640: SWAP11
00003641: POP
00003642: PUSH2 0x364d
00003645: PUSH1 0x40
00003647: DUP15
00003648: ADD
00003649: PUSH2 0x2fae
0000364c: JUMP
0000364d: JUMPDEST
0000364e: SWAP10
0000364f: POP
00003650: PUSH1 0x60
00003652: DUP14
00003653: ADD
00003654: CALLDATALOAD
00003655: SWAP9
00003656: POP
00003657: PUSH1 0x80
00003659: DUP14
0000365a: ADD
0000365b: CALLDATALOAD
0000365c: SWAP8
0000365d: POP
0000365e: PUSH1 0xa0
00003660: DUP14
00003661: ADD
00003662: CALLDATALOAD
00003663: PUSH2 0x366b
00003666: DUP2
00003667: PUSH2 0x2f4c
0000366a: JUMP
0000366b: JUMPDEST
0000366c: SWAP7
0000366d: POP
0000366e: PUSH1 0xc0
00003670: DUP14
00003671: ADD
00003672: CALLDATALOAD
00003673: SWAP6
00003674: POP
00003675: PUSH1 0xe0
00003677: DUP14
00003678: ADD
00003679: CALLDATALOAD
0000367a: SWAP5
0000367b: POP
0000367c: PUSH2 0x0100
0000367f: DUP14
00003680: ADD
00003681: CALLDATALOAD
00003682: SWAP4
00003683: POP
00003684: PUSH2 0x0120
00003687: DUP14
00003688: ADD
00003689: CALLDATALOAD
0000368a: SWAP3
0000368b: POP
0000368c: PUSH2 0x0140
0000368f: DUP14
00003690: ADD
00003691: CALLDATALOAD
00003692: SWAP2
00003693: POP
00003694: PUSH2 0x0160
00003697: DUP14
00003698: ADD
00003699: CALLDATALOAD
0000369a: PUSH2 0x36a2
0000369d: DUP2
0000369e: PUSH2 0x2f4c
000036a1: JUMP
000036a2: JUMPDEST
000036a3: DUP1
000036a4: SWAP2
000036a5: POP
000036a6: POP
000036a7: SWAP3
000036a8: SWAP6
000036a9: SWAP9
000036aa: SWAP12
000036ab: POP
000036ac: SWAP3
000036ad: SWAP6
000036ae: SWAP9
000036af: SWAP12
000036b0: POP
000036b1: SWAP3
000036b2: SWAP6
000036b3: SWAP9
000036b4: SWAP12
000036b5: JUMP
000036b6: JUMPDEST
000036b7: PUSH0
000036b8: PUSH0
000036b9: PUSH0
000036ba: PUSH1 0x60
000036bc: DUP5
000036bd: DUP7
000036be: SUB
000036bf: SLT
000036c0: ISZERO
000036c1: PUSH2 0x36c8
000036c4: JUMPI
000036c5: PUSH0
000036c6: PUSH0
000036c7: REVERT
000036c8: JUMPDEST
000036c9: DUP4
000036ca: CALLDATALOAD
000036cb: PUSH2 0x36d3
000036ce: DUP2
000036cf: PUSH2 0x2f4c
000036d2: JUMP
000036d3: JUMPDEST
000036d4: SWAP3
000036d5: POP
000036d6: PUSH1 0x20
000036d8: DUP5
000036d9: ADD
000036da: CALLDATALOAD
000036db: PUSH2 0x36e3
000036de: DUP2
000036df: PUSH2 0x2f4c
000036e2: JUMP
000036e3: JUMPDEST
000036e4: SWAP3
000036e5: SWAP6
000036e6: SWAP3
000036e7: SWAP5
000036e8: POP
000036e9: POP
000036ea: POP
000036eb: PUSH1 0x40
000036ed: SWAP2
000036ee: SWAP1
000036ef: SWAP2
000036f0: ADD
000036f1: CALLDATALOAD
000036f2: SWAP1
000036f3: JUMP
000036f4: JUMPDEST
000036f5: PUSH1 0x20
000036f7: DUP1
000036f8: DUP3
000036f9: MSTORE
000036fa: PUSH1 0x01
000036fc: SWAP1
000036fd: DUP3
000036fe: ADD
000036ff: MSTORE
00003700: PUSH1 0x31
00003702: PUSH1 0xf9
00003704: SHL
00003705: PUSH1 0x40
00003707: DUP3
00003708: ADD
00003709: MSTORE
0000370a: PUSH1 0x60
0000370c: ADD
0000370d: SWAP1
0000370e: JUMP
0000370f: JUMPDEST
00003710: PUSH1 0x20
00003712: DUP1
00003713: DUP3
00003714: MSTORE
00003715: PUSH1 0x01
00003717: SWAP1
00003718: DUP3
00003719: ADD
0000371a: MSTORE
0000371b: PUSH1 0x3f
0000371d: PUSH1 0xf8
0000371f: SHL
00003720: PUSH1 0x40
00003722: DUP3
00003723: ADD
00003724: MSTORE
00003725: PUSH1 0x60
00003727: ADD
00003728: SWAP1
00003729: JUMP
0000372a: JUMPDEST
0000372b: PUSH4 0x4e487b71
00003730: PUSH1 0xe0
00003732: SHL
00003733: PUSH0
00003734: MSTORE
00003735: PUSH1 0x12
00003737: PUSH1 0x04
00003739: MSTORE
0000373a: PUSH1 0x24
0000373c: PUSH0
0000373d: REVERT
0000373e: JUMPDEST
0000373f: PUSH0
00003740: DUP3
00003741: PUSH2 0x374c
00003744: JUMPI
00003745: PUSH2 0x374c
00003748: PUSH2 0x372a
0000374b: JUMP
0000374c: JUMPDEST
0000374d: POP
0000374e: MOD
0000374f: SWAP1
00003750: JUMP
00003751: JUMPDEST
00003752: PUSH4 0x4e487b71
00003757: PUSH1 0xe0
00003759: SHL
0000375a: PUSH0
0000375b: MSTORE
0000375c: PUSH1 0x11
0000375e: PUSH1 0x04
00003760: MSTORE
00003761: PUSH1 0x24
00003763: PUSH0
00003764: REVERT
00003765: JUMPDEST
00003766: PUSH0
00003767: DUP3
00003768: PUSH2 0x3773
0000376b: JUMPI
0000376c: PUSH2 0x3773
0000376f: PUSH2 0x372a
00003772: JUMP
00003773: JUMPDEST
00003774: POP
00003775: DIV
00003776: SWAP1
00003777: JUMP
00003778: JUMPDEST
00003779: DUP1
0000377a: DUP3
0000377b: MUL
0000377c: DUP2
0000377d: ISZERO
0000377e: DUP3
0000377f: DUP3
00003780: DIV
00003781: DUP5
00003782: EQ
00003783: OR
00003784: PUSH2 0x18db
00003787: JUMPI
00003788: PUSH2 0x18db
0000378b: PUSH2 0x3751
0000378e: JUMP
0000378f: JUMPDEST
00003790: PUSH1 0x20
00003792: DUP1
00003793: DUP3
00003794: MSTORE
00003795: PUSH1 0x01
00003797: SWAP1
00003798: DUP3
00003799: ADD
0000379a: MSTORE
0000379b: PUSH1 0x1d
0000379d: PUSH1 0xf9
0000379f: SHL
000037a0: PUSH1 0x40
000037a2: DUP3
000037a3: ADD
000037a4: MSTORE
000037a5: PUSH1 0x60
000037a7: ADD
000037a8: SWAP1
000037a9: JUMP
000037aa: JUMPDEST
000037ab: PUSH1 0x20
000037ad: DUP1
000037ae: DUP3
000037af: MSTORE
000037b0: PUSH1 0x01
000037b2: SWAP1
000037b3: DUP3
000037b4: ADD
000037b5: MSTORE
000037b6: PUSH1 0x21
000037b8: PUSH1 0xf8
000037ba: SHL
000037bb: PUSH1 0x40
000037bd: DUP3
000037be: ADD
000037bf: MSTORE
000037c0: PUSH1 0x60
000037c2: ADD
000037c3: SWAP1
000037c4: JUMP
000037c5: JUMPDEST
000037c6: PUSH1 0x20
000037c8: DUP1
000037c9: DUP3
000037ca: MSTORE
000037cb: PUSH1 0x01
000037cd: SWAP1
000037ce: DUP3
000037cf: ADD
000037d0: MSTORE
000037d1: PUSH1 0x3b
000037d3: PUSH1 0xf8
000037d5: SHL
000037d6: PUSH1 0x40
000037d8: DUP3
000037d9: ADD
000037da: MSTORE
000037db: PUSH1 0x60
000037dd: ADD
000037de: SWAP1
000037df: JUMP
000037e0: JUMPDEST
000037e1: PUSH4 0x4e487b71
000037e6: PUSH1 0xe0
000037e8: SHL
000037e9: PUSH0
000037ea: MSTORE
000037eb: PUSH1 0x32
000037ed: PUSH1 0x04
000037ef: MSTORE
000037f0: PUSH1 0x24
000037f2: PUSH0
000037f3: REVERT
000037f4: JUMPDEST
000037f5: DUP1
000037f6: DUP3
000037f7: ADD
000037f8: DUP1
000037f9: DUP3
000037fa: GT
000037fb: ISZERO
000037fc: PUSH2 0x18db
000037ff: JUMPI
00003800: PUSH2 0x18db
00003803: PUSH2 0x3751
00003806: JUMP
00003807: JUMPDEST
00003808: PUSH1 0x01
0000380a: PUSH1 0x01
0000380c: PUSH1 0xa0
0000380e: SHL
0000380f: SUB
00003810: SWAP3
00003811: SWAP1
00003812: SWAP3
00003813: AND
00003814: DUP3
00003815: MSTORE
00003816: PUSH1 0x20
00003818: DUP3
00003819: ADD
0000381a: MSTORE
0000381b: PUSH1 0x40
0000381d: ADD
0000381e: SWAP1
0000381f: JUMP
00003820: JUMPDEST
00003821: PUSH0
00003822: DUP2
00003823: MLOAD
00003824: DUP1
00003825: DUP5
00003826: MSTORE
00003827: DUP1
00003828: PUSH1 0x20
0000382a: DUP5
0000382b: ADD
0000382c: PUSH1 0x20
0000382e: DUP7
0000382f: ADD
00003830: MCOPY
00003831: PUSH0
00003832: PUSH1 0x20
00003834: DUP3
00003835: DUP7
00003836: ADD
00003837: ADD
00003838: MSTORE
00003839: PUSH1 0x20
0000383b: PUSH1 0x1f
0000383d: NOT
0000383e: PUSH1 0x1f
00003840: DUP4
00003841: ADD
00003842: AND
00003843: DUP6
00003844: ADD
00003845: ADD
00003846: SWAP2
00003847: POP
00003848: POP
00003849: SWAP3
0000384a: SWAP2
0000384b: POP
0000384c: POP
0000384d: JUMP
0000384e: JUMPDEST
0000384f: PUSH1 0xe0
00003851: DUP2
00003852: MSTORE
00003853: DUP5
00003854: MLOAD
00003855: PUSH1 0xe0
00003857: DUP3
00003858: ADD
00003859: MSTORE
0000385a: PUSH0
0000385b: PUSH1 0x20
0000385d: DUP7
0000385e: ADD
0000385f: MLOAD
00003860: PUSH1 0x02
00003862: DUP2
00003863: LT
00003864: PUSH2 0x387b
00003867: JUMPI
00003868: PUSH4 0x4e487b71
0000386d: PUSH1 0xe0
0000386f: SHL
00003870: PUSH0
00003871: MSTORE
00003872: PUSH1 0x21
00003874: PUSH1 0x04
00003876: MSTORE
00003877: PUSH1 0x24
00003879: PUSH0
0000387a: REVERT
0000387b: JUMPDEST
0000387c: PUSH2 0x0100
0000387f: DUP4
00003880: ADD
00003881: MSTORE
00003882: PUSH1 0x40
00003884: DUP7
00003885: ADD
00003886: MLOAD
00003887: PUSH1 0x01
00003889: PUSH1 0x01
0000388b: PUSH1 0xa0
0000388d: SHL
0000388e: SUB
0000388f: AND
00003890: PUSH2 0x0120
00003893: DUP4
00003894: ADD
00003895: MSTORE
00003896: PUSH1 0x60
00003898: DUP7
00003899: ADD
0000389a: MLOAD
0000389b: PUSH2 0x38b0
0000389e: PUSH2 0x0140
000038a1: DUP5
000038a2: ADD
000038a3: DUP3
000038a4: PUSH1 0x01
000038a6: PUSH1 0x01
000038a8: PUSH1 0xa0
000038aa: SHL
000038ab: SUB
000038ac: AND
000038ad: SWAP1
000038ae: MSTORE
000038af: JUMP
000038b0: JUMPDEST
000038b1: POP
000038b2: PUSH1 0x80
000038b4: DUP7
000038b5: ADD
000038b6: MLOAD
000038b7: PUSH2 0x0160
000038ba: DUP4
000038bb: ADD
000038bc: MSTORE
000038bd: PUSH1 0xa0
000038bf: DUP7
000038c0: ADD
000038c1: MLOAD
000038c2: PUSH1 0xc0
000038c4: PUSH2 0x0180
000038c7: DUP5
000038c8: ADD
000038c9: MSTORE
000038ca: PUSH2 0x38d7
000038cd: PUSH2 0x01a0
000038d0: DUP5
000038d1: ADD
000038d2: DUP3
000038d3: PUSH2 0x3820
000038d6: JUMP
000038d7: JUMPDEST
000038d8: SWAP2
000038d9: POP
000038da: POP
000038db: PUSH2 0x3917
000038de: PUSH1 0x20
000038e0: DUP4
000038e1: ADD
000038e2: DUP7
000038e3: DUP1
000038e4: MLOAD
000038e5: PUSH1 0x01
000038e7: PUSH1 0x01
000038e9: PUSH1 0xa0
000038eb: SHL
000038ec: SUB
000038ed: SWAP1
000038ee: DUP2
000038ef: AND
000038f0: DUP4
000038f1: MSTORE
000038f2: PUSH1 0x20
000038f4: DUP1
000038f5: DUP4
000038f6: ADD
000038f7: MLOAD
000038f8: ISZERO
000038f9: ISZERO
000038fa: SWAP1
000038fb: DUP5
000038fc: ADD
000038fd: MSTORE
000038fe: PUSH1 0x40
00003900: DUP1
00003901: DUP4
00003902: ADD
00003903: MLOAD
00003904: SWAP1
00003905: SWAP2
00003906: AND
00003907: SWAP1
00003908: DUP4
00003909: ADD
0000390a: MSTORE
0000390b: PUSH1 0x60
0000390d: SWAP1
0000390e: DUP2
0000390f: ADD
00003910: MLOAD
00003911: ISZERO
00003912: ISZERO
00003913: SWAP2
00003914: ADD
00003915: MSTORE
00003916: JUMP
00003917: JUMPDEST
00003918: PUSH1 0xa0
0000391a: DUP3
0000391b: ADD
0000391c: SWAP4
0000391d: SWAP1
0000391e: SWAP4
0000391f: MSTORE
00003920: PUSH1 0xc0
00003922: ADD
00003923: MSTORE
00003924: SWAP3
00003925: SWAP2
00003926: POP
00003927: POP
00003928: JUMP
00003929: JUMPDEST
0000392a: PUSH0
0000392b: PUSH1 0x20
0000392d: DUP3
0000392e: DUP5
0000392f: SUB
00003930: SLT
00003931: ISZERO
00003932: PUSH2 0x3939
00003935: JUMPI
00003936: PUSH0
00003937: PUSH0
00003938: REVERT
00003939: JUMPDEST
0000393a: POP
0000393b: MLOAD
0000393c: SWAP2
0000393d: SWAP1
0000393e: POP
0000393f: JUMP
00003940: JUMPDEST
00003941: DUP1
00003942: DUP3
00003943: MUL
00003944: PUSH0
00003945: DUP3
00003946: SLT
00003947: PUSH1 0x01
00003949: PUSH1 0xff
0000394b: SHL
0000394c: DUP5
0000394d: EQ
0000394e: AND
0000394f: ISZERO
00003950: PUSH2 0x395b
00003953: JUMPI
00003954: PUSH2 0x395b
00003957: PUSH2 0x3751
0000395a: JUMP
0000395b: JUMPDEST
0000395c: DUP2
0000395d: DUP2
0000395e: SDIV
0000395f: DUP4
00003960: EQ
00003961: DUP3
00003962: ISZERO
00003963: OR
00003964: PUSH2 0x18db
00003967: JUMPI
00003968: PUSH2 0x18db
0000396b: PUSH2 0x3751
0000396e: JUMP
0000396f: JUMPDEST
00003970: PUSH0
00003971: PUSH1 0x01
00003973: PUSH1 0xff
00003975: SHL
00003976: DUP3
00003977: ADD
00003978: PUSH2 0x3983
0000397b: JUMPI
0000397c: PUSH2 0x3983
0000397f: PUSH2 0x3751
00003982: JUMP
00003983: JUMPDEST
00003984: POP
00003985: PUSH0
00003986: SUB
00003987: SWAP1
00003988: JUMP
00003989: JUMPDEST
0000398a: DUP2
0000398b: DUP2
0000398c: SUB
0000398d: PUSH0
0000398e: DUP4
0000398f: SLT
00003990: DUP1
00003991: ISZERO
00003992: DUP4
00003993: DUP4
00003994: SGT
00003995: AND
00003996: DUP4
00003997: DUP4
00003998: SLT
00003999: DUP3
0000399a: AND
0000399b: OR
0000399c: ISZERO
0000399d: PUSH2 0x39a8
000039a0: JUMPI
000039a1: PUSH2 0x39a8
000039a4: PUSH2 0x3751
000039a7: JUMP
000039a8: JUMPDEST
000039a9: POP
000039aa: SWAP3
000039ab: SWAP2
000039ac: POP
000039ad: POP
000039ae: JUMP
000039af: JUMPDEST
000039b0: PUSH0
000039b1: DUP3
000039b2: PUSH2 0x39bd
000039b5: JUMPI
000039b6: PUSH2 0x39bd
000039b9: PUSH2 0x372a
000039bc: JUMP
000039bd: JUMPDEST
000039be: PUSH1 0x01
000039c0: PUSH1 0xff
000039c2: SHL
000039c3: DUP3
000039c4: EQ
000039c5: PUSH0
000039c6: NOT
000039c7: DUP5
000039c8: EQ
000039c9: AND
000039ca: ISZERO
000039cb: PUSH2 0x39d6
000039ce: JUMPI
000039cf: PUSH2 0x39d6
000039d2: PUSH2 0x3751
000039d5: JUMP
000039d6: JUMPDEST
000039d7: POP
000039d8: SDIV
000039d9: SWAP1
000039da: JUMP
000039db: JUMPDEST
000039dc: SWAP4
000039dd: ISZERO
000039de: ISZERO
000039df: DUP5
000039e0: MSTORE
000039e1: PUSH1 0x20
000039e3: DUP5
000039e4: ADD
000039e5: SWAP3
000039e6: SWAP1
000039e7: SWAP3
000039e8: MSTORE
000039e9: PUSH1 0x40
000039eb: DUP4
000039ec: ADD
000039ed: MSTORE
000039ee: PUSH1 0x01
000039f0: PUSH1 0x01
000039f2: PUSH1 0xa0
000039f4: SHL
000039f5: SUB
000039f6: AND
000039f7: PUSH1 0x60
000039f9: DUP3
000039fa: ADD
000039fb: MSTORE
000039fc: PUSH1 0x80
000039fe: ADD
000039ff: SWAP1
00003a00: JUMP
00003a01: JUMPDEST
00003a02: PUSH1 0x20
00003a04: DUP1
00003a05: DUP3
00003a06: MSTORE
00003a07: PUSH1 0x01
00003a09: SWAP1
00003a0a: DUP3
00003a0b: ADD
00003a0c: MSTORE
00003a0d: PUSH1 0x79
00003a0f: PUSH1 0xf8
00003a11: SHL
00003a12: PUSH1 0x40
00003a14: DUP3
00003a15: ADD
00003a16: MSTORE
00003a17: PUSH1 0x60
00003a19: ADD
00003a1a: SWAP1
00003a1b: JUMP
00003a1c: JUMPDEST
00003a1d: DUP2
00003a1e: DUP2
00003a1f: SUB
00003a20: DUP2
00003a21: DUP2
00003a22: GT
00003a23: ISZERO
00003a24: PUSH2 0x18db
00003a27: JUMPI
00003a28: PUSH2 0x18db
00003a2b: PUSH2 0x3751
00003a2e: JUMP
00003a2f: JUMPDEST
00003a30: DUP5
00003a31: DUP2
00003a32: MSTORE
00003a33: DUP4
00003a34: PUSH1 0x20
00003a36: DUP3
00003a37: ADD
00003a38: MSTORE
00003a39: PUSH1 0x01
00003a3b: DUP1
00003a3c: PUSH1 0xa0
00003a3e: SHL
00003a3f: SUB
00003a40: DUP4
00003a41: AND
00003a42: PUSH1 0x40
00003a44: DUP3
00003a45: ADD
00003a46: MSTORE
00003a47: PUSH1 0x80
00003a49: PUSH1 0x60
00003a4b: DUP3
00003a4c: ADD
00003a4d: MSTORE
00003a4e: PUSH0
00003a4f: PUSH2 0x3a5b
00003a52: PUSH1 0x80
00003a54: DUP4
00003a55: ADD
00003a56: DUP5
00003a57: PUSH2 0x3820
00003a5a: JUMP
00003a5b: JUMPDEST
00003a5c: SWAP7
00003a5d: SWAP6
00003a5e: POP
00003a5f: POP
00003a60: POP
00003a61: POP
00003a62: POP
00003a63: POP
00003a64: JUMP
00003a65: JUMPDEST
00003a66: PUSH1 0x01
00003a68: PUSH1 0x01
00003a6a: PUSH1 0xa0
00003a6c: SHL
00003a6d: SUB
00003a6e: DUP7
00003a6f: DUP2
00003a70: AND
00003a71: DUP3
00003a72: MSTORE
00003a73: DUP6
00003a74: ISZERO
00003a75: ISZERO
00003a76: PUSH1 0x20
00003a78: DUP4
00003a79: ADD
00003a7a: MSTORE
00003a7b: PUSH1 0x40
00003a7d: DUP3
00003a7e: ADD
00003a7f: DUP6
00003a80: SWAP1
00003a81: MSTORE
00003a82: DUP4
00003a83: AND
00003a84: PUSH1 0x60
00003a86: DUP3
00003a87: ADD
00003a88: MSTORE
00003a89: PUSH1 0xa0
00003a8b: PUSH1 0x80
00003a8d: DUP3
00003a8e: ADD
00003a8f: DUP2
00003a90: SWAP1
00003a91: MSTORE
00003a92: PUSH0
00003a93: SWAP1
00003a94: PUSH2 0x2f41
00003a97: SWAP1
00003a98: DUP4
00003a99: ADD
00003a9a: DUP5
00003a9b: PUSH2 0x3820
00003a9e: JUMP
00003a9f: JUMPDEST
00003aa0: PUSH0
00003aa1: PUSH0
00003aa2: PUSH1 0x40
00003aa4: DUP4
00003aa5: DUP6
00003aa6: SUB
00003aa7: SLT
00003aa8: ISZERO
00003aa9: PUSH2 0x3ab0
00003aac: JUMPI
00003aad: PUSH0
00003aae: PUSH0
00003aaf: REVERT
00003ab0: JUMPDEST
00003ab1: POP
00003ab2: POP
00003ab3: DUP1
00003ab4: MLOAD
00003ab5: PUSH1 0x20
00003ab7: SWAP1
00003ab8: SWAP2
00003ab9: ADD
00003aba: MLOAD
00003abb: SWAP1
00003abc: SWAP3
00003abd: SWAP1
00003abe: SWAP2
00003abf: POP
00003ac0: JUMP
00003ac1: JUMPDEST
00003ac2: PUSH0
00003ac3: PUSH0
00003ac4: PUSH1 0x40
00003ac6: DUP4
00003ac7: DUP6
00003ac8: SUB
00003ac9: SLT
00003aca: ISZERO
00003acb: PUSH2 0x3ad2
00003ace: JUMPI
00003acf: PUSH0
00003ad0: PUSH0
00003ad1: REVERT
00003ad2: JUMPDEST
00003ad3: DUP3
00003ad4: CALLDATALOAD
00003ad5: PUSH2 0x3add
00003ad8: DUP2
00003ad9: PUSH2 0x2f4c
00003adc: JUMP
00003add: JUMPDEST
00003ade: SWAP2
00003adf: POP
00003ae0: PUSH2 0x3aeb
00003ae3: PUSH1 0x20
00003ae5: DUP5
00003ae6: ADD
00003ae7: PUSH2 0x2fae
00003aea: JUMP
00003aeb: JUMPDEST
00003aec: SWAP1
00003aed: POP
00003aee: SWAP3
00003aef: POP
00003af0: SWAP3
00003af1: SWAP1
00003af2: POP
00003af3: JUMP
00003af4: JUMPDEST
00003af5: PUSH1 0x20
00003af7: DUP1
00003af8: DUP3
00003af9: MSTORE
00003afa: PUSH1 0x01
00003afc: SWAP1
00003afd: DUP3
00003afe: ADD
00003aff: MSTORE
00003b00: PUSH1 0x6f
00003b02: PUSH1 0xf8
00003b04: SHL
00003b05: PUSH1 0x40
00003b07: DUP3
00003b08: ADD
00003b09: MSTORE
00003b0a: PUSH1 0x60
00003b0c: ADD
00003b0d: SWAP1
00003b0e: JUMP
00003b0f: JUMPDEST
00003b10: DUP1
00003b11: MLOAD
00003b12: PUSH1 0x01
00003b14: PUSH1 0x01
00003b16: PUSH1 0x70
00003b18: SHL
00003b19: SUB
00003b1a: DUP2
00003b1b: AND
00003b1c: DUP2
00003b1d: EQ
00003b1e: PUSH2 0x2fbd
00003b21: JUMPI
00003b22: PUSH0
00003b23: PUSH0
00003b24: REVERT
00003b25: JUMPDEST
00003b26: PUSH0
00003b27: PUSH0
00003b28: PUSH0
00003b29: PUSH1 0x60
00003b2b: DUP5
00003b2c: DUP7
00003b2d: SUB
00003b2e: SLT
00003b2f: ISZERO
00003b30: PUSH2 0x3b37
00003b33: JUMPI
00003b34: PUSH0
00003b35: PUSH0
00003b36: REVERT
00003b37: JUMPDEST
00003b38: PUSH2 0x3b40
00003b3b: DUP5
00003b3c: PUSH2 0x3b0f
00003b3f: JUMP
00003b40: JUMPDEST
00003b41: SWAP3
00003b42: POP
00003b43: PUSH2 0x3b4e
00003b46: PUSH1 0x20
00003b48: DUP6
00003b49: ADD
00003b4a: PUSH2 0x3b0f
00003b4d: JUMP
00003b4e: JUMPDEST
00003b4f: SWAP2
00003b50: POP
00003b51: PUSH1 0x40
00003b53: DUP5
00003b54: ADD
00003b55: MLOAD
00003b56: PUSH4 0xffffffff
00003b5b: DUP2
00003b5c: AND
00003b5d: DUP2
00003b5e: EQ
00003b5f: PUSH2 0x3b66
00003b62: JUMPI
00003b63: PUSH0
00003b64: PUSH0
00003b65: REVERT
00003b66: JUMPDEST
00003b67: DUP1
00003b68: SWAP2
00003b69: POP
00003b6a: POP
00003b6b: SWAP3
00003b6c: POP
00003b6d: SWAP3
00003b6e: POP
00003b6f: SWAP3
00003b70: JUMP
00003b71: INVALID
00003b72: UNKNOWN(0xE7)
00003b73: MCOPY
00003b74: PUSH11 0x3c6a329107482f820d07d0
00003b80: PUSH24 0x77040a1b49129c7f15f9e3a5cb40fd403cad331680b65f6b
00003b99: MCOPY
00003b9a: UNKNOWN(0xC2)
00003b9b: LT
00003b9c: PUSH28 0x85fbb92698a43bf0e51840d116fad068fcaef9f6720d6b5c6c1c0026
00003bb9: DUP3
00003bba: GASPRICE
00003bbb: UNKNOWN(0xB0)
00003bbc: CODECOPY
00003bbd: UNKNOWN(0x23)
00003bbe: EXTCODESIZE
00003bbf: UNKNOWN(0xC9)
00003bc0: UNKNOWN(0xCD)
00003bc1: DUP13
00003bc2: UNKNOWN(0xBD)
00003bc3: GT
00003bc4: SWAP5
00003bc5: KECCAK256
00003bc6: UNKNOWN(0xD7)
00003bc7: SWAP12
00003bc8: UNKNOWN(0xC4)
00003bc9: MOD
00003bca: PUSH18 0xc0d4718ad6b11ddca0b344e6fec63723e5e4
00003bdd: MLOAD
00003bde: ADDRESS
00003bdf: UNKNOWN(0xE9)
00003be0: PUSH5 0xfce5aa952e
00003be6: DUP13
00003be7: SSTORE
00003be8: SWAP8
00003be9: CALLDATASIZE
00003bea: SAR
00003beb: UNKNOWN(0x1F)
00003bec: LOG2
00003bed: LT
00003bee: UNKNOWN(0x4D)
00003bef: UNKNOWN(0x4C)
00003bf0: UNKNOWN(0xB8)
00003bf1: UNKNOWN(0x2A)
00003bf2: PUSH31 0x05ac81e062ea0112b5b3d81ee8149c110f348493d74b645dbe617a05bd55a0
00003c12: SWAP14
00003c13: POP
00003c14: STOP
00003c15: PUSH16 0xe0bd757cd402e12121d03d527ae97cfa
00003c26: UNKNOWN(0x25)
00003c27: MSIZE
00003c28: CALLCODE
00003c29: UNKNOWN(0xC1)
00003c2a: OR
00003c2b: UNKNOWN(0x2A)
00003c2c: UNKNOWN(0xB1)
00003c2d: STATICCALL
00003c2e: UNKNOWN(0xB2)
00003c2f: UNKNOWN(0xD1)
00003c30: MLOAD
00003c31: EXTCODEHASH
00003c32: UNKNOWN(0xD9)
00003c33: RETURNDATASIZE
00003c34: UNKNOWN(0x26)
00003c35: OR
00003c36: PUSH1 0x60
00003c38: SWAP11
00003c39: UNKNOWN(0x2C)
00003c3a: UNKNOWN(0xED)
00003c3b: LOG0
00003c3c: UNKNOWN(0x4C)
00003c3d: SWAP6
00003c3e: STATICCALL
00003c3f: PUSH17 0xda7ca7fdbdf80f0cd3136f4c1a9aca372e
00003c51: MSIZE
00003c52: NOT
00003c53: SHR
00003c54: UNKNOWN(0xF8)
00003c55: UNKNOWN(0xB7)
00003c56: UNKNOWN(0x2C)
00003c57: PUSH1 0x9e
00003c59: UNKNOWN(0xD6)
00003c5a: UNKNOWN(0x1F)
00003c5b: PUSH17 0x536b8b978987763c77ce949fc6bd21841c
00003c6d: GASPRICE
00003c6e: PUSH14 0x402c693d68612cd60b07fb653c3e
00003c7d: UNKNOWN(0xBD)
00003c7e: UNKNOWN(0xEC)
00003c7f: PUSH23 0xc6b04b7e6c6f206bbeeac975655460229b977d0616600d
00003c97: UNKNOWN(0xCF)
00003c98: UNKNOWN(0x2C)
00003c99: TIMESTAMP
00003c9a: SELFBALANCE
00003c9b: UNKNOWN(0xDE)
00003c9c: PUSH16 0xaf8309fe2e70b06b0e50c95bf69ef8ff
00003cad: DUP6
00003cae: PUSH16 0x6498995c0836451b26edf2744061cbf2
00003cbf: UNKNOWN(0x27)
00003cc0: SLT
00003cc1: JUMPI
00003cc2: UNKNOWN(0xE1)
00003cc3: UNKNOWN(0xBC)
00003cc4: REVERT
00003cc5: UNKNOWN(0xB1)
00003cc6: DUP2
00003cc7: UNKNOWN(0x4D)
00003cc8: UNKNOWN(0xE8)
00003cc9: SWAP15
00003cca: UNKNOWN(0xDC)
00003ccb: UNKNOWN(0x0D)
00003ccc: UNKNOWN(0xEF)
00003ccd: PC
00003cce: PUSH9 0x7574480b8ee1e3408a
00003cd8: AND
00003cd9: UNKNOWN(0xC8)
00003cda: UNKNOWN(0x26)
00003cdb: MLOAD
00003cdc: DUP1
00003cdd: SWAP4
00003cde: UNKNOWN(0xC7)
00003cdf: UNKNOWN(0x4F)
00003ce0: PUSH11 0x4f49900d267acb8db04c40
00003cec: SWAP7
00003ced: EQ
00003cee: PUSH20 0xeb6ecccda9cb7ca639091ab2bcbbfc915d049122
00003d03: MCOPY
00003d04: UNKNOWN(0xBE)
00003d05: MUL
00003d06: XOR
00003d07: UNKNOWN(0xA8)
00003d08: UNKNOWN(0xD4)
00003d09: TIMESTAMP
00003d0a: SWAP3
00003d0b: GASLIMIT
00003d0c: SWAP8
00003d0d: UNKNOWN(0x24)
00003d0e: UNKNOWN(0x2B)
00003d0f: UNKNOWN(0xF6)
00003d10: UNKNOWN(0xE2)
00003d11: SHR
00003d12: AND
00003d13: EXTCODECOPY
00003d14: PUSH31 0x89570056a241aa083f138c202da7840752b6bc63cfe7c5a51e8c4a502d5700
00003d34: MSTORE
00003d35: MOD
00003d36: UNKNOWN(0xFC)
00003d37: SWAP11
00003d38: UNKNOWN(0xE2)
00003d39: UNKNOWN(0xFB)
00003d3a: MSIZE
00003d3b: SWAP15
00003d3c: DUP5
00003d3d: UNKNOWN(0x2E)
00003d3e: PUSH30 0xe358d2f5da7d60e34d2ffdc69ebf391bfc93366d1b9e61c1914a0ea2b36c
00003d5d: PUSH10 0x04453f8d4e9d19db4e39
00003d68: UNKNOWN(0xDE)
00003d69: ISZERO
00003d6a: UNKNOWN(0xEC)
00003d6b: UNKNOWN(0xD8)
00003d6c: SLOAD
00003d6d: BASEFEE
00003d6e: UNKNOWN(0x21)
00003d6f: EXP
00003d70: UNKNOWN(0xC0)
00003d71: UNKNOWN(0x2A)
00003d72: UNKNOWN(0xD3)
00003d73: BLOCKHASH
00003d74: UNKNOWN(0x26)
00003d75: DUP13
00003d76: PUSH5 0x5bb9594593
00003d7c: ADDMOD
00003d7d: UNKNOWN(0xD4)
00003d7e: PUSH18 0xf36f52a69048299581b8b204dc2901c93333
00003d91: EXTCODECOPY
00003d92: MCOPY
00003d93: UNKNOWN(0xFB)
00003d94: SWAP2
00003d95: UNKNOWN(0xAA)
00003d96: DIFFICULTY
00003d97: MSTORE8
00003d98: UNKNOWN(0xE2)
00003d99: UNKNOWN(0xDC)
00003d9a: UNKNOWN(0xF9)
00003d9b: UNKNOWN(0xE6)
00003d9c: CREATE2
00003d9d: MSTORE8
00003d9e: SMOD
00003d9f: PUSH6 0x6dfdacdb2d4c
00003da6: RETURNDATASIZE
00003da7: DIV
00003da8: DUP15
00003da9: ORIGIN
00003daa: STATICCALL
00003dab: UNKNOWN(0x21)
00003dac: UNKNOWN(0xB3)
00003dad: TSTORE
00003dae: MCOPY
00003daf: UNKNOWN(0xDF)
00003db0: CALLER
00003db1: SWAP11
00003db2: SSTORE
00003db3: BLOBBASEFEE
00003db4: UNKNOWN(0xEF)
00003db5: GASPRICE
00003db6: LOG1
00003db7: SWAP14
00003db8: UNKNOWN(0xCA)
00003db9: SWAP7
00003dba: EQ
00003dbb: PUSH25 0x1cfa1ec7ae9888ab15c00ff844daa2646970667358221220c3
00003dd5: PUSH24 0xa55f2273419549d253419c5313c109964e15de1ec4c7c506
00003dee: SLT
00003def: UNKNOWN(0xDA)
00003df0: PUSH15

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xb9b4aacd",
            "selector": "0xb9b4aacd",
            "calldata_variants": [
                "0xb9b4aacd",
                "0xb9b4aacd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7137f5e",
            "selector": "0xc7137f5e",
            "calldata_variants": [
                "0xc7137f5e",
                "0xc7137f5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1477062",
            "selector": "0xe1477062",
            "calldata_variants": [
                "0xe1477062",
                "0xe14770620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe98d8c3a",
            "selector": "0xe98d8c3a",
            "calldata_variants": [
                "0xe98d8c3a",
                "0xe98d8c3a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa461e33",
            "selector": "0xfa461e33",
            "calldata_variants": [
                "0xfa461e33",
                "0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x94abab1d",
            "selector": "0x94abab1d",
            "calldata_variants": [
                "0x94abab1d",
                "0x94abab1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x999895db",
            "selector": "0x999895db",
            "calldata_variants": [
                "0x999895db",
                "0x999895db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0000000",
            "selector": "0xa0000000",
            "calldata_variants": [
                "0xa0000000",
                "0xa00000000000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2230,
            "type": "msg_sender_eq_const",
            "value": 5.210183425326348e+47
        },
        {
            "pc": 15785,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xa36287c5be70b3a3cdcfdebf1a1bd35c1168f684a59e7858a317b60832115779
call_targets: 0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa36287c5be70b3a3cdcfdebf1a1bd35c1168f684a59e7858a317b60832115779",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37"
    ],
    "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": "0xb9b4aacd",
            "selector": "0xb9b4aacd",
            "calldata_variants": [
                "0xb9b4aacd",
                "0xb9b4aacd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7137f5e",
            "selector": "0xc7137f5e",
            "calldata_variants": [
                "0xc7137f5e",
                "0xc7137f5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1477062",
            "selector": "0xe1477062",
            "calldata_variants": [
                "0xe1477062",
                "0xe14770620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe98d8c3a",
            "selector": "0xe98d8c3a",
            "calldata_variants": [
                "0xe98d8c3a",
                "0xe98d8c3a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa461e33",
            "selector": "0xfa461e33",
            "calldata_variants": [
                "0xfa461e33",
                "0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x94abab1d",
            "selector": "0x94abab1d",
            "calldata_variants": [
                "0x94abab1d",
                "0x94abab1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x999895db",
            "selector": "0x999895db",
            "calldata_variants": [
                "0x999895db",
                "0x999895db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0000000",
            "selector": "0xa0000000",
            "calldata_variants": [
                "0xa0000000",
                "0xa00000000000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3142,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3632,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3869,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 34,
    "guards_detected": [
        {
            "pc": 2230,
            "type": "msg_sender_eq_const",
            "value": 5.210183425326348e+47
        },
        {
            "pc": 15785,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 34
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xf4b8f359f0f8fe52acf574f1b84bab6c7e98c968cfb5e224289fcbe0a1e5a6d5
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xf4b8f359f0f8fe52acf574f1b84bab6c7e98c968cfb5e224289fcbe0a1e5a6d5",
    "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": "0xb9b4aacd",
            "selector": "0xb9b4aacd",
            "calldata_variants": [
                "0xb9b4aacd",
                "0xb9b4aacd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7137f5e",
            "selector": "0xc7137f5e",
            "calldata_variants": [
                "0xc7137f5e",
                "0xc7137f5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1477062",
            "selector": "0xe1477062",
            "calldata_variants": [
                "0xe1477062",
                "0xe14770620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe98d8c3a",
            "selector": "0xe98d8c3a",
            "calldata_variants": [
                "0xe98d8c3a",
                "0xe98d8c3a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa461e33",
            "selector": "0xfa461e33",
            "calldata_variants": [
                "0xfa461e33",
                "0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x94abab1d",
            "selector": "0x94abab1d",
            "calldata_variants": [
                "0x94abab1d",
                "0x94abab1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x999895db",
            "selector": "0x999895db",
            "calldata_variants": [
                "0x999895db",
                "0x999895db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0000000",
            "selector": "0xa0000000",
            "calldata_variants": [
                "0xa0000000",
                "0xa00000000000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xa36287c5be70b3a3cdcfdebf1a1bd35c1168f684a59e7858a317b60832115779
call_targets: 0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa36287c5be70b3a3cdcfdebf1a1bd35c1168f684a59e7858a317b60832115779",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xfbd4cdb413e45a52e2c8312f670e9ce67e794c37"
    ],
    "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": "0xb9b4aacd",
            "selector": "0xb9b4aacd",
            "calldata_variants": [
                "0xb9b4aacd",
                "0xb9b4aacd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc7137f5e",
            "selector": "0xc7137f5e",
            "calldata_variants": [
                "0xc7137f5e",
                "0xc7137f5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe1477062",
            "selector": "0xe1477062",
            "calldata_variants": [
                "0xe1477062",
                "0xe14770620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe98d8c3a",
            "selector": "0xe98d8c3a",
            "calldata_variants": [
                "0xe98d8c3a",
                "0xe98d8c3a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa461e33",
            "selector": "0xfa461e33",
            "calldata_variants": [
                "0xfa461e33",
                "0xfa461e330000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x94abab1d",
            "selector": "0x94abab1d",
            "calldata_variants": [
                "0x94abab1d",
                "0x94abab1d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x999895db",
            "selector": "0x999895db",
            "calldata_variants": [
                "0x999895db",
                "0x999895db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0000000",
            "selector": "0xa0000000",
            "calldata_variants": [
                "0xa0000000",
                "0xa00000000000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3142,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3632,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3869,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 34,
    "guards_detected": [
        {
            "pc": 2230,
            "type": "msg_sender_eq_const",
            "value": 5.210183425326348e+47
        },
        {
            "pc": 15785,
            "type": "tx_origin_used"
        }
    ]
}
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": 1
}
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": 44
}
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": 24
}