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

Analysis Run

7d2bac58-a289-4234-a31f-53e8a3be7a1c

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 9:51 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
31786 report.consolidate complete 1 / 1 3 months ago
96139 artifact.fetch complete 1 / 3 1 week ago
96140 tool.cast_disasm complete 1 / 3 1 week ago
96141 analysis.bundle complete 1 / 3 1 week ago
96142 capability.graph complete 1 / 3 1 week ago
96143 detector.run complete 1 / 3 1 week ago
96144 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
Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.
View stderr
[codex:304257] OpenAI Codex v0.77.0 (research preview)
[codex:304257] --------
[codex:304257] workdir: /tmp/codex-multi-fozsh6is
[codex:304257] model: gpt-5.2-codex
[codex:304257] provider: openai
[codex:304257] approval: never
[codex:304257] sandbox: read-only
[codex:304257] reasoning effort: xhigh
[codex:304257] reasoning summaries: auto
[codex:304257] session id: 019b901d-824c-7351-96d0-e4296d5c1c30
[codex:304257] --------
[codex:304257] user
[codex:304257] 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:304257] 
[codex:304257] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:304257] 
[codex:304257] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:304257] - Gas inefficiency, code quality, or best practices
[codex:304257] - Theoretical vulnerabilities without a clear extraction path
[codex:304257] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:304257] - Issues requiring social engineering or off-chain coordination
[codex:304257] 
[codex:304257] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:304257] - CALL/DELEGATECALL with controllable destination or calldata
[codex:304257] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:304257] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:304257] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:304257] - External calls before state updates (reentrancy)
[codex:304257] - SELFDESTRUCT with controllable beneficiary
[codex:304257] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:304257] 
[codex:304257] For each finding, you MUST explain:
[codex:304257] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:304257] 2. The concrete sequence of transactions to extract value
[codex:304257] 3. Why you believe this is exploitable (not just suspicious)
[codex:304257] 
[codex:304257] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:304257] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:304257] 
[codex:304257] Output MUST be valid JSON matching the provided schema.
[codex:304257] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:304257] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:304257] mcp startup: no servers
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Preparing to review bytecode**
[codex:304257] exec
[codex:304257] /bin/bash -lc ls in /tmp/codex-multi-fozsh6is succeeded in 5ms:
[codex:304257] BYTECODE_BUNDLE.txt
[codex:304257] codex-output-schema.json
[codex:304257] exec
[codex:304257] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-fozsh6is succeeded in 5ms:
[codex:304257] Runtime bytecode bundle for best-effort auditing.
[codex:304257] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:304257] 
[codex:304257] FILE: runtime_bytecode.hex
[codex:304257] 0x6080604052600436106101a05763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663046111e9811461042e57806306fdde03146104815780630783d8201461050b57806310f01eba1461053b578063182374761461055c5780632a12408e146105be5780632e19ebdc146106295780632e1a7d4d1461064157806335f0d665146106595780634496b502146106715780634c1f76351461068957806358931f7a146106dd5780636cb69f42146106e85780636e725302146106fd5780636ff08dd61461071b5780639201de551461073357806395d89b4114610481578063a07456231461074b578063a4e8535814610763578063a5fc299414610781578063a8bda3e9146107a5578063a9b86924146107c3578063ada52d7c146107ce578063adbc9bed146107e3578063ce9ae91c146107fe578063cfb5192814610819578063d53b267914610872578063d9a9662b1461089b578063db8f0301146108b3578063de7874f3146108ce578063e5af350e14610916578063ee5f8c8f1461092e578063fefc38fd14610943575b601554600090819060ff161515600114610206576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461024b576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca008110156102a3576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156102f3576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6102fd6000610958565b3360008181526004602052604090205415156103665760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602090815260408083205480845260069092529091206002015490945092508215156103e4576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b6103ef848434610a19565b60408051348152426020820152815186927f17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0928290030190a250505050005b60408051602060046024803582810135601f810185900485028601850190965285855261047f958335953695604494919390910191908190840183828082843750949750610a6b9650505050505050565b005b34801561048d57600080fd5b50610496610ead565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104d05781810151838201526020016104b8565b50505050905090810190601f1680156104fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561051757600080fd5b50610529600435602435604435610ee4565b60408051918252519081900360200190f35b34801561054757600080fd5b50610529600160a060020a0360043516610f49565b34801561056857600080fd5b5061057d600160a060020a0360043516610f5b565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156105ca57600080fd5b506105d3611063565b604080519b8c5260208c019a909a528a8a019890985260608a0196909652608089019490945260a088019290925260c087015260e086015261010085015261012084015261014083015251908190036101600190f35b34801561063557600080fd5b50610529600435611087565b34801561064d57600080fd5b5061047f600435611099565b34801561066557600080fd5b5061047f600435611324565b34801561067d57600080fd5b5061047f600435611597565b34801561069557600080fd5b506106aa600160a060020a0360043516611604565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b61047f6004356116e4565b3480156106f457600080fd5b506106aa61196c565b34801561070957600080fd5b50610529600435602435604435611a61565b34801561072757600080fd5b50610529600435611b1a565b34801561073f57600080fd5b50610496600435611b42565b34801561075757600080fd5b50610529600435611c88565b34801561076f57600080fd5b50610529600435602435604435611c9a565b34801561078d57600080fd5b5061047f600160a060020a0360043516602435611cac565b3480156107b157600080fd5b50610529600435602435604435612038565b61047f600435612054565b3480156107da57600080fd5b506105296122da565b3480156107ef57600080fd5b506105296004356024356122e0565b34801561080a57600080fd5b5061052960043560243561232f565b34801561082557600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526105299436949293602493928401919081908401838280828437509497506123589650505050505050565b34801561087e57600080fd5b5061088761235f565b604080519115158252519081900360200190f35b3480156108a757600080fd5b5061057d600435612368565b3480156108bf57600080fd5b506105296004356024356123b0565b3480156108da57600080fd5b506108e66004356123c1565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561092257600080fd5b5061047f6004356123f2565b34801561093a57600080fd5b50610529612667565b34801561094f57600080fd5b5061047f61266d565b600080600a6000015442101561096d57610a14565b600a5461098190429063ffffffff6126ef16565b91506109986001548361270d90919063ffffffff16565b60010190508215806109a957508083115b156109b2578092505b600e54601281905560105460138190556109cd918591612730565b6014556011556001546109fa906109eb90859063ffffffff61280016565b600a549063ffffffff61282e16565b600a55600b54610a10908463ffffffff61282e16565b600b555b505050565b600080610a2d83606463ffffffff61280016565b9150610a418361027163ffffffff61280016565b9050610a508585600085612840565b610a5a85826128c1565b610a648584612940565b5050505050565b601554600090819081908190819060ff161515600114610ad7576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214610b1c576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca00811015610b74576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115610bc4576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b610bce6000610958565b336000818152600460205260409020541515610c375760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b67016345785d8a0000341015610c97576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f7420656e6f75676820657468000000000000000000000000000000000000604482015290519081900360640190fd5b610ca08861299b565b60008181526005602052604090205490975015610d07576040805160e560020a62461bcd02815260206004820152600860248201527f686173206e616d65000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600460209081526040808320548a84526005835281842081905580845260069092529091206001018890559550678ac7230489e800009450610d4e85611b1a565b9350610d5d86868660006131ae565b610d67868a613271565b9250821515610d7e57610d793461336c565b610e61565b610d9d610d983466b1a2bc2ec5000063ffffffff6126ef16565b61336c565b600083815260066020526040808220549051600160a060020a03909116919066b1a2bc2ec500009082818181858883f19350505050158015610de3573d6000803e3d6000fd5b50600083815260076020526040902060020154610e0d9066b1a2bc2ec5000063ffffffff61282e16565b600084815260076020526040902060020155610e618684610e466064610e3a8a600563ffffffff61280016565b9063ffffffff61270d16565b610e5c6064610e3a8a600563ffffffff61280016565b6133aa565b604080518881523460208201524281830152905187917f1d1175eab16695c0a8f6d8783added39f80484d19702efe9df55a5fb190f86c4919081900360600190a2505050505050505050565b60408051808201909152600681527f746f6b656e740000000000000000000000000000000000000000000000000000602082015281565b60008084118015610ef55750600083115b8015610f015750600082115b15610f2a57610f23610f14858585611c9a565b600c549063ffffffff6126ef16565b9050610f42565b601254601354610f3f91610f14916000611c9a565b90505b9392505050565b60046020526000908152604090205481565b600160a060020a038116600090815260046020526040812054601254601354601154600a54859485948594859485948594859490939092909185904210610fd757600154600a54610fb89190610e3a90429063ffffffff6126ef16565b600e5460105490955093506001019050610fd3818585612730565b5091505b600085815260076020526040902080546002820154600383015460048401546005850154600190950154939492939192909161101590869089612038565b600760008c815260200190815260200160002060060154600760008d8152602001908152602001600020600701549c509c509c509c509c509c509c509c505050505050919395975091939597565b600a54600b54600c54600d54600e54600f546010546011546012546013546014548b565b60056020526000908152604090205481565b60155460009060ff1615156001146110fd576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214611142576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b81633b9aca0081101561119a576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156111ea576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6111f46000610958565b33600090815260046020526040902054915081151561124b576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b611255828461347b565b60008281526007602081905260409091200154611278908463ffffffff61282e16565b60008381526007602081905260409091200155600d5461129e908463ffffffff61282e16565b600d55600082815260066020526040808220549051600160a060020a039091169185156108fc02918691818181858888f193505050501580156112e5573d6000803e3d6000fd5b5060408051848152426020820152815184927f2d722d012bc607b5f83f79311b4c51c5bba4bf05b49329dfe18bba104f9d1570928290030190a2505050565b601554600090819060ff16151560011461138a576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b3332146113cf576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b82633b9aca00811015611427576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115611477576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6114816000610958565b3360009081526004602052604090205492508215156114d8576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b6000838152600660205260409020600201549150811515611543576040805160e560020a62461bcd02815260206004820152601160248201527f6572726f722c206e656564206166664944000000000000000000000000000000604482015290519081900360640190fd5b61154d838561347b565b611558838386610a19565b60408051858152426020820152815185927fef578942396a62165c09f6f9fb96b70905e4521e022eab9b718f8436083620d5928290030190a250505050565b60155460ff1615156001146115f8576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b61160181610958565b50565b600160a060020a038116600090815260046020526040812054601254601354601154600a54859485948594859485948590421061167657600154600a546116579190610e3a90429063ffffffff6126ef16565b600e5460105490955093506001019050611672818585612730565b5091505b60008581526007602052604090206001015461169290836122e0565b61169c868461232f565b6116ab6064610e3a898761232f565b60008881526006602052604090206003810154600190910154939e50919c509a5098509496509394508593505050505091939550919395565b601554600090819060ff16151560011461174a576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461178f576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca008110156117e7576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115611837576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6118416000610958565b3360008181526004602052604090205415156118aa5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602052604090205493506118c68486613271565b925082151561191f576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b61192c8484346000612840565b60408051348152426020820152815186927ff7853eb9f87cc79be5225a10e98aeed3d2359ad4033582aabb0511937fcbda4f928290030190a25050505050565b601254601354601154600a546014546000948594859485948594859493929190854283116119f857600154600a546119b09190610e3a90429063ffffffff6126ef16565b600e54601054909750955060010190506119cb818787612730565b60015491955092506119f5906119e890839063ffffffff61280016565b849063ffffffff61282e16565b92505b82611a04878787610ee4565b601054611a1190876122e0565b611a1c898989612038565b611a3c6064610e3a88611a308e8e8e612038565b9063ffffffff6126ef16565b611a478b8b8b611a61565b9b509b509b509b509b509b50505050505050909192939495565b600080600085118015611a745750600084115b8015611a805750600083115b15611a9757611a90858585610ee4565b9150611aa7565b611aa46000806000610ee4565b91505b601054611ab490846122e0565b9050801515611ac65760009150611b12565b611af681610e3a60b4816064611aea88670de0b6b3a764000063ffffffff61280016565b9063ffffffff61280016565b91506601c6bf52634000821115611b12576601c6bf5263400091505b509392505050565b601154600090611b3c90610e3a84670de0b6b3a764000063ffffffff61280016565b92915050565b6040805160208082528183019092526060918291600091829182918591908082016104008038833901905050945060009350600092505b6020831015611bee576008830260020a870291507fff00000000000000000000000000000000000000000000000000000000000000821615611be357818585815181101515611bc457fe5b906020010190600160f860020a031916908160001a9053506001909301925b600190920191611b79565b836040519080825280601f01601f191660200182016040528015611c1c578160200160208202803883390190505b509050600092505b83831015611c7e578483815181101515611c3a57fe5b90602001015160f860020a900460f860020a028184815181101515611c5b57fe5b906020010190600160f860020a031916908160001a905350600190920191611c24565b9695505050505050565b60086020526000908152604090205481565b6000610f3f6064610e3a868686612038565b6015546000908190819060ff161515600114611d14576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b333214611d59576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b600160a060020a03851660009081526004602052604090205485901515611dcd5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b611dd76000610958565b6044361015611e30576040805160e560020a62461bcd02815260206004820152601660248201527f6e6f7420656e6f7567682064617461206c656e67746800000000000000000000604482015290519081900360640190fd5b336000908152600460205260409020549350831515611e87576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b600084815260066020526040902060030154851115611ef0576040805160e560020a62461bcd02815260206004820152601760248201527f6572726f722c206e6f7420656e6f7567682073746f7265000000000000000000604482015290519081900360640190fd5b600084815260066020526040902060030154611f12908663ffffffff6126ef16565b600085815260066020908152604080832060030193909355600160a060020a0389168252600490522054925082841415611f96576040805160e560020a62461bcd02815260206004820152600e60248201527f6e6f742073656e6420746f206d65000000000000000000000000000000000000604482015290519081900360640190fd5b611f9f85611b1a565b9150611fae83868460006131ae565b600083815260066020526040902060020154611ff2908490611fdc6064610e3a8a600563ffffffff61280016565b610e5c6064610e3a88600563ffffffff61280016565b604080518681524260208201528151859287927f6c354bfd83b3215eed14779fb8c4eae2793efca05e2394c9d04328494204d067929081900390910190a3505050505050565b6000610f3f61204784846122e0565b859063ffffffff6126ef16565b601554600090819060ff1615156001146120ba576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b3332146120ff576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b34633b9aca00811015612157576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af68000008111156121a7576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b6121b16000610958565b33600081815260046020526040902054151561221a5760098054600160a060020a03831660008181526004602090815260408083208590559382526006905291909120805473ffffffffffffffffffffffffffffffffffffffff19169091179055805460010190555b3360009081526004602052604090205493506122368486613271565b925082151561228f576040805160e560020a62461bcd02815260206004820152600f60248201527f6d75737420686176652061666669640000000000000000000000000000000000604482015290519081900360640190fd5b61229a848434610a19565b60408051348152426020820152815186927f17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0928290030190a25050505050565b60025481565b60008082111561230d57612306670de0b6b3a7640000610e3a858563ffffffff61280016565b9050611b3c565b601154610f4290670de0b6b3a764000090610e3a90869063ffffffff61280016565b600082815260076020526040812060058101548154600190920154610f4292611a309186612038565b6020015190565b60155460ff1681565b60076020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050154908060060154908060070154905088565b6000610f426064610e3a858561232f565b6006602052600090815260409020805460018201546002830154600390930154600160a060020a0390921692909184565b601554600090819060ff161515600114612458576040805160e560020a62461bcd02815260206004820152602960248201526000805160206135ce833981519152604482015260008051602061356e833981519152606482015290519081900360840190fd5b33321461249d576040805160e560020a62461bcd028152602060048201526011602482015260008051602061360e833981519152604482015290519081900360640190fd5b82633b9aca008110156124f5576040805160e560020a62461bcd02815260206004820152602160248201526000805160206135ae833981519152604482015260f860020a607902606482015290519081900360840190fd5b69152d02c7e14af6800000811115612545576040805160e560020a62461bcd02815260206004820152600e60248201526000805160206135ee833981519152604482015290519081900360640190fd5b61254f6000610958565b3360009081526004602052604090205492508215156125a6576040805160e560020a62461bcd02815260206004820152600d602482015260008051602061358e833981519152604482015290519081900360640190fd5b6000838152600660205260409020600201549150811515612611576040805160e560020a62461bcd02815260206004820152601160248201527f6572726f722c206e656564206166664944000000000000000000000000000000604482015290519081900360640190fd5b61261b838561347b565b6126288383866000612840565b60408051858152426020820152815185927f96ad13f6e4fc98a529562e3ed06929dbebda1a7a2208473422df505f0d55d5f8928290030190a250505050565b60015481565b600054600160a060020a031633146126cf576040805160e560020a62461bcd02815260206004820152600960248201527f6e6f742061646d696e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60155460ff16156126df576126ed565b6015805460ff191660011790555b565b600080838311156126ff57600080fd5b5050808203805b5092915050565b60008080831161271c57600080fd5b828481151561272757fe5b04949350505050565b6000808080861161278b576040805160e560020a62461bcd02815260206004820152600960248201527f726e64206572726f720000000000000000000000000000000000000000000000604482015290519081900360640190fd5b505060115460145490915060005b858110156127f7576127ac858585612038565b91506127ed670de0b6b3a7640000610e3a6127e06127cb898989611a61565b670de0b6b3a76400009063ffffffff6126ef16565b869063ffffffff61280016565b9250600101612799565b50935093915050565b6000808315156128135760009150612706565b5082820282848281151561282357fe5b0414610f4257600080fd5b600082820183811015610f4257600080fd5b6000808311156128785761286c826128608561027163ffffffff61280016565b9063ffffffff61282e16565b91506128788584612940565b61288182611b1a565b905061289085838360006131ae565b610a6485856128ab6064610e3a87600563ffffffff61280016565b610e5c6064610e3a87600563ffffffff61280016565b6000828152600660205260409020600301546128e3908263ffffffff61282e16565b600083815260066020908152604080832060030193909355600790522060040154612914908263ffffffff61282e16565b600083815260076020526040902060040155600f54612939908263ffffffff61282e16565b600f555050565b60008281526007602052604090206006015461296390829063ffffffff61282e16565b60008381526007602052604090206006015561297e81613528565b600c54909150612994908263ffffffff61282e16565b600c555050565b80516000908290828080602084118015906129b65750600084115b1515612a32576040805160e560020a62461bcd02815260206004820152602a60248201527f737472696e67206d757374206265206265747765656e203120616e642033322060448201527f6368617261637465727300000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515612a4157fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214158015612aa857508460018503815181101515612a8057fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214155b1515612b24576040805160e560020a62461bcd02815260206004820152602560248201527f737472696e672063616e6e6f74207374617274206f7220656e6420776974682060448201527f7370616365000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b846000815181101515612b3357fe5b90602001015160f860020a900460f860020a02600160f860020a031916603060f860020a021415612c7657846001815181101515612b6d57fe5b90602001015160f860020a900460f860020a02600160f860020a031916607860f860020a0214151515612bea576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030780000000000604482015290519081900360640190fd5b846001815181101515612bf957fe5b90602001015160f860020a900460f860020a02600160f860020a031916605860f860020a0214151515612c76576040805160e560020a62461bcd02815260206004820152601b60248201527f737472696e672063616e6e6f7420737461727420776974682030580000000000604482015290519081900360640190fd5b600091505b838210156131465784517f400000000000000000000000000000000000000000000000000000000000000090869084908110612cb357fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612d27575084517f5b0000000000000000000000000000000000000000000000000000000000000090869084908110612d0857fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b15612d94578482815181101515612d3a57fe5b90602001015160f860020a900460f860020a0260f860020a900460200160f860020a028583815181101515612d6b57fe5b906020010190600160f860020a031916908160001a905350821515612d8f57600192505b61313b565b8482815181101515612da257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021480612e72575084517f600000000000000000000000000000000000000000000000000000000000000090869084908110612dfe57fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612e72575084517f7b0000000000000000000000000000000000000000000000000000000000000090869084908110612e5357fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b80612f1c575084517f2f0000000000000000000000000000000000000000000000000000000000000090869084908110612ea857fe5b90602001015160f860020a900460f860020a02600160f860020a031916118015612f1c575084517f3a0000000000000000000000000000000000000000000000000000000000000090869084908110612efd57fe5b90602001015160f860020a900460f860020a02600160f860020a031916105b1515612f98576040805160e560020a62461bcd02815260206004820152602260248201527f737472696e6720636f6e7461696e7320696e76616c696420636861726163746560448201527f7273000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b8482815181101515612fa657fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a021415613085578482600101815181101515612fe257fe5b90602001015160f860020a900460f860020a02600160f860020a031916602060f860020a0214151515613085576040805160e560020a62461bcd02815260206004820152602860248201527f737472696e672063616e6e6f7420636f6e7461696e20636f6e7365637574697660448201527f6520737061636573000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b82158015613131575084517f3000000000000000000000000000000000000000000000000000000000000000908690849081106130be57fe5b90602001015160f860020a900460f860020a02600160f860020a0319161080613131575084517f39000000000000000000000000000000000000000000000000000000000000009086908490811061311257fe5b90602001015160f860020a900460f860020a02600160f860020a031916115b1561313b57600192505b600190910190612c7b565b6001831515146131a0576040805160e560020a62461bcd02815260206004820152601d60248201527f737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000604482015290519081900360640190fd5b505050506020015192915050565b6000848152600760205260409020546131cd908463ffffffff61282e16565b6000858152600760205260409020908155600101546131f2908363ffffffff61282e16565b600085815260076020526040902060010155801561323f5760008481526007602052604090206003015461322c908463ffffffff61282e16565b6000858152600760205260409020600301555b601054613252908363ffffffff61282e16565b601055600e54613268908463ffffffff61282e16565b600e5550505050565b600081815260056020526040812054908082158015906132915750848314155b80156132ac5750600085815260066020526040902060020154155b156133535760008581526006602052604080822060029081018690559482528120909301549291505b600f821015613353578215156132ea57613353565b84831415613334575060005b8160020181101561332f5760009283526008602090815260408085206002808601909155600690925290932090920154916001016132f6565b613353565b60009283526006602052604090922060020154916001909101906132d5565b5050506000918252506006602052604090206002015490565b600354604051600160a060020a039091169082156108fc029083906000818181858888f193505050501580156133a6573d6000803e3d6000fd5b5050565b600060105b6000811115613473578415806133c457508585145b156133ce57613473565b6702c68af0bb1400008410156133e357613473565b811580156133fd5750600085815260086020526040812054115b156134235760008581526008602052604090205460019250613420908290613557565b90505b61343085858560016131ae565b61344184600263ffffffff61270d16565b935061345483600263ffffffff61270d16565b60009586526006602052604090952060020154949250600019016133af565b505050505050565b806134878360006123b0565b10156134dd576040805160e560020a62461bcd02815260206004820152601560248201527f6572726f722c206e6f7420656e6f756768207265640000000000000000000000604482015290519081900360640190fd5b61350f6134f182606463ffffffff61280016565b6000848152600760205260409020600501549063ffffffff61282e16565b6000928352600760205260409092206005019190915550565b60008061353c83600a63ffffffff61270d16565b90506135478161336c565b610f42838263ffffffff6126ef16565b60008183106135665781610f42565b509091905056006e20646973636f726400000000000000000000000000000000000000000000006572726f722c206e6f2070696400000000000000000000000000000000000000706f636b6574206c696e743a206e6f7420612076616c69642063757272656e63697473206e6f74207265616479207965742e2020636865636b203f65746120696e6f20766974616c696b2c206e6f000000000000000000000000000000000000736f7272792068756d616e73206f6e6c79000000000000000000000000000000a165627a7a723058201e506f3992ec91ff7af5a2e9fb5b9218edecfc2df57769c4ce3564e212ffc3340029
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing bytecode for exploits**
[codex:304257] exec
[codex:304257] /bin/bash -lc 'which evm || which ethereumjs-evm || which hevm || which evmdis || true' in /tmp/codex-multi-fozsh6is succeeded in 10ms:
[codex:304257] 
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Planning minimal EVM disassembler**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import binascii
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] # extract runtime_bytecode.hex content after 'FILE: runtime_bytecode.hex' line
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] if not m:
[codex:304257]     raise SystemExit('hex not found')
[codex:304257] hexstr=m.group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] # opcode table
[codex:304257] opnames = {
[codex:304257] 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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:304257] }
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] # find CALL/DELEGATECALL/SELFDESTRUCT
[codex:304257] for idx,(off,name,data) in enumerate(insts):
[codex:304257]     if name in ('CALL','DELEGATECALL','CALLCODE','STATICCALL','SELFDESTRUCT'):
[codex:304257]         print(off, name)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 59ms:
[codex:304257] 3533 CALL
[codex:304257] 4815 CALL
[codex:304257] 13200 CALL
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Examining CALL instructions context**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] # disasm
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] # map offset to index
[codex:304257] index_by_off={off:i for i,(off,_,__) in enumerate(insts)}
[codex:304257] call_offsets=[off for off,name,_ in insts if name=='CALL']
[codex:304257] 
[codex:304257] for off in call_offsets:
[codex:304257]     idx=index_by_off[off]
[codex:304257]     start=max(0, idx-25)
[codex:304257]     end=min(len(insts), idx+15)
[codex:304257]     print('--- CALL at', off, '---')
[codex:304257]     for off2,name,data in insts[start:end]:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off2:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off2:05x}: {name} 0x{data.hex()}')
[codex:304257]     print()
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] --- CALL at 3533 ---
[codex:304257] 00daa: DUP1
[codex:304257] 00dab: DUP3
[codex:304257] 00dac: SHA3
[codex:304257] 00dad: SLOAD
[codex:304257] 00dae: SWAP1
[codex:304257] 00daf: MLOAD
[codex:304257] 00db0: PUSH1 0x01
[codex:304257] 00db2: PUSH1 0xa0
[codex:304257] 00db4: PUSH1 0x02
[codex:304257] 00db6: EXP
[codex:304257] 00db7: SUB
[codex:304257] 00db8: SWAP1
[codex:304257] 00db9: SWAP2
[codex:304257] 00dba: AND
[codex:304257] 00dbb: SWAP2
[codex:304257] 00dbc: SWAP1
[codex:304257] 00dbd: PUSH7 0xb1a2bc2ec50000
[codex:304257] 00dc5: SWAP1
[codex:304257] 00dc6: DUP3
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing call sites and arguments**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] 
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] # print a range around offset 0xd60-0xe20
[codex:304257] start_off=0x0d60
[codex:304257] end_off=0x0e40
[codex:304257] for off,name,data in insts:
[codex:304257]     if start_off <= off <= end_off:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 00d61: DUP7
[codex:304257] 00d62: DUP11
[codex:304257] 00d63: PUSH2 0x3271
[codex:304257] 00d66: JUMP
[codex:304257] 00d67: JUMPDEST
[codex:304257] 00d68: SWAP3
[codex:304257] 00d69: POP
[codex:304257] 00d6a: DUP3
[codex:304257] 00d6b: ISZERO
[codex:304257] 00d6c: ISZERO
[codex:304257] 00d6d: PUSH2 0x0d7e
[codex:304257] 00d70: JUMPI
[codex:304257] 00d71: PUSH2 0x0d79
[codex:304257] 00d74: CALLVALUE
[codex:304257] 00d75: PUSH2 0x336c
[codex:304257] 00d78: JUMP
[codex:304257] 00d79: JUMPDEST
[codex:304257] 00d7a: PUSH2 0x0e61
[codex:304257] 00d7d: JUMP
[codex:304257] 00d7e: JUMPDEST
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing function call and access control**
[codex:304257] 
[codex:304257] I'm checking the function around 0xc70 to 0xe80 to understand a call involving a mapping with a constant 0.05 ETH value. I want to verify if this function, possibly buyName(), has proper access or payment checks before sending ETH and emitting an event. I plan to disassemble this code range with JUMPDEST labels to fully grasp the function boundaries and conditions.
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] 
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] start_off=0x0c60
[codex:304257] end_off=0x0ec0
[codex:304257] for off,name,data in insts:
[codex:304257]     if start_off <= off <= end_off:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 38ms:
[codex:304257] 00c61: PUSH1 0x24
[codex:304257] 00c63: DUP3
[codex:304257] 00c64: ADD
[codex:304257] 00c65: MSTORE
[codex:304257] 00c66: PUSH32 0x6e6f7420656e6f75676820657468000000000000000000000000000000000000
[codex:304257] 00c87: PUSH1 0x44
[codex:304257] 00c89: DUP3
[codex:304257] 00c8a: ADD
[codex:304257] 00c8b: MSTORE
[codex:304257] 00c8c: SWAP1
[codex:304257] 00c8d: MLOAD
[codex:304257] 00c8e: SWAP1
[codex:304257] 00c8f: DUP2
[codex:304257] 00c90: SWAP1
[codex:304257] 00c91: SUB
[codex:304257] 00c92: PUSH1 0x64
[codex:304257] 00c94: ADD
[codex:304257] 00c95: SWAP1
[codex:304257] 00c96: REVERT
[codex:304257] 00c97: JUMPDEST
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing ETH payment logic**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] 
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] start_off=0x1220
[codex:304257] end_off=0x1320
[codex:304257] for off,name,data in insts:
[codex:304257]     if start_off <= off <= end_off:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 35ms:
[codex:304257] 01220: PUSH1 0x04
[codex:304257] 01222: DUP3
[codex:304257] 01223: ADD
[codex:304257] 01224: MSTORE
[codex:304257] 01225: PUSH1 0x0d
[codex:304257] 01227: PUSH1 0x24
[codex:304257] 01229: DUP3
[codex:304257] 0122a: ADD
[codex:304257] 0122b: MSTORE
[codex:304257] 0122c: PUSH1 0x00
[codex:304257] 0122e: DUP1
[codex:304257] 0122f: MLOAD
[codex:304257] 01230: PUSH1 0x20
[codex:304257] 01232: PUSH2 0x358e
[codex:304257] 01235: DUP4
[codex:304257] 01236: CODECOPY
[codex:304257] 01237: DUP2
[codex:304257] 01238: MLOAD
[codex:304257] 01239: SWAP2
[codex:304257] 0123a: MSTORE
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing EVM call patterns and gas usage**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] m=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata)
[codex:304257] code=bytes.fromhex(m.group(1)[2:])
[codex:304257] 
[codex:304257] opnames = {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:304257] 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:304257] 0x20:'SHA3',
[codex:304257] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n = op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] start_off=0x3300
[codex:304257] end_off=0x33c0
[codex:304257] for off,name,data in insts:
[codex:304257]     if start_off <= off <= end_off:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 03301: JUMPI
[codex:304257] 03302: PUSH1 0x00
[codex:304257] 03304: SWAP3
[codex:304257] 03305: DUP4
[codex:304257] 03306: MSTORE
[codex:304257] 03307: PUSH1 0x08
[codex:304257] 03309: PUSH1 0x20
[codex:304257] 0330b: SWAP1
[codex:304257] 0330c: DUP2
[codex:304257] 0330d: MSTORE
[codex:304257] 0330e: PUSH1 0x40
[codex:304257] 03310: DUP1
[codex:304257] 03311: DUP6
[codex:304257] 03312: SHA3
[codex:304257] 03313: PUSH1 0x02
[codex:304257] 03315: DUP1
[codex:304257] 03316: DUP7
[codex:304257] 03317: ADD
[codex:304257] 03318: SWAP1
[codex:304257] 03319: SWAP2
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing internal ETH transfer function and access control**
[codex:304257] 
[codex:304257] I'm piecing together a function at 0x336c that sends ETH to an address stored in slot3, likely an admin or fee recipient, using a value already on the stack. It looks like an internal payout helper invoked by other functions. I'm also checking ownership verification patterns that restrict critical functions to the contract owner via storage slot0 and msg.sender==tx.origin checks, which suggest defenses against contract-based reentrancy. Next, I plan to extract and map function selectors from the dispatcher to identify external interfaces and better understand accessible functions.
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] # disasm minimal to extract selectors in dispatcher: pattern PUSH4 <sel> EQ JUMPI maybe
[codex:304257] selectors=[]
[codex:304257] # naive: find bytes pattern 0x63 + 4 bytes then 0x14 0x61?? 0x57? not necessary.
[codex:304257] for i in range(len(code)-5):
[codex:304257]     if code[i]==0x63: # PUSH4
[codex:304257]         sel=code[i+1:i+5]
[codex:304257]         # check subsequent pattern within next few bytes: 0x14 (EQ) then 0x61 (PUSH2) maybe 0x57 (JUMPI)
[codex:304257]         if i+5 < len(code) and code[i+5]==0x14:
[codex:304257]             selectors.append(sel.hex())
[codex:304257] 
[codex:304257] # print unique selectors sorted
[codex:304257] uniq=sorted(set(selectors))
[codex:304257] print('count', len(uniq))
[codex:304257] print('\\n'.join(uniq))
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 29ms:
[codex:304257] count 32
[codex:304257] 06fdde03
[codex:304257] 0783d820
[codex:304257] 10f01eba
[codex:304257] 18237476
[codex:304257] 2a12408e
[codex:304257] 2e19ebdc
[codex:304257] 2e1a7d4d
[codex:304257] 35f0d665
[codex:304257] 4496b502
[codex:304257] 4c1f7635
[codex:304257] 58931f7a
[codex:304257] 6cb69f42
[codex:304257] 6e725302
[codex:304257] 6ff08dd6
[codex:304257] 9201de55
[codex:304257] 95d89b41
[codex:304257] a0745623
[codex:304257] a4e85358
[codex:304257] a5fc2994
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Investigating function entries and payable checks**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] 
[codex:304257] opnames={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',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',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',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n=op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] start_off=0x10d0
[codex:304257] end_off=0x1335
[codex:304257] for off,name,data in insts:
[codex:304257]     if start_off <= off <= end_off:
[codex:304257]         if data is None:
[codex:304257]             print(f'{off:05x}: {name}')
[codex:304257]         else:
[codex:304257]             print(f'{off:05x}: {name} 0x{data.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 36ms:
[codex:304257] 010d0: PUSH2 0x35ce
[codex:304257] 010d3: DUP4
[codex:304257] 010d4: CODECOPY
[codex:304257] 010d5: DUP2
[codex:304257] 010d6: MLOAD
[codex:304257] 010d7: SWAP2
[codex:304257] 010d8: MSTORE
[codex:304257] 010d9: PUSH1 0x44
[codex:304257] 010db: DUP3
[codex:304257] 010dc: ADD
[codex:304257] 010dd: MSTORE
[codex:304257] 010de: PUSH1 0x00
[codex:304257] 010e0: DUP1
[codex:304257] 010e1: MLOAD
[codex:304257] 010e2: PUSH1 0x20
[codex:304257] 010e4: PUSH2 0x356e
[codex:304257] 010e7: DUP4
[codex:304257] 010e8: CODECOPY
[codex:304257] 010e9: DUP2
[codex:304257] 010ea: MLOAD
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing function logic and storage patterns**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] # find occurrences of 0x600055 (PUSH1 0x00 SSTORE)
[codex:304257] pat='600055'
[codex:304257] idx=0
[codex:304257] positions=[]
[codex:304257] while True:
[codex:304257]     i=hexstr.find(pat, idx)
[codex:304257]     if i==-1: break
[codex:304257]     positions.append(i//2)
[codex:304257]     idx=i+1
[codex:304257] print('positions', positions)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 28ms:
[codex:304257] positions []
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing SSTORE access control**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] pat='600355'
[codex:304257] idx=0
[codex:304257] positions=[]
[codex:304257] while True:
[codex:304257]     i=hexstr.find(pat, idx)
[codex:304257]     if i==-1: break
[codex:304257]     positions.append(i//2)
[codex:304257]     idx=i+1
[codex:304257] print('positions', positions)
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 31ms:
[codex:304257] positions []
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing SSTORE usage patterns**
[codex:304257] exec
[codex:304257] /bin/bash -lc "python - <<'PY'
[codex:304257] import re
[codex:304257] from pathlib import Path
[codex:304257] hexdata=Path('/tmp/codex-multi-fozsh6is/BYTECODE_BUNDLE.txt').read_text()
[codex:304257] hexstr=re.search(r'FILE: runtime_bytecode\\.hex\\n(0x[0-9a-fA-F]+)', hexdata).group(1)[2:]
[codex:304257] code=bytes.fromhex(hexstr)
[codex:304257] 
[codex:304257] opnames={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:304257] 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:304257] 0x20:'SHA3',0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:304257] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:304257] 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:304257] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:304257] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:304257] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:304257] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:304257] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:304257] 
[codex:304257] insts=[]
[codex:304257] i=0
[codex:304257] while i < len(code):
[codex:304257]     op=code[i]
[codex:304257]     name=opnames.get(op, f'OP{op:02x}')
[codex:304257]     if 0x60 <= op <= 0x7f:
[codex:304257]         n=op-0x5f
[codex:304257]         data=code[i+1:i+1+n]
[codex:304257]         insts.append((i,name,data))
[codex:304257]         i+=1+n
[codex:304257]     else:
[codex:304257]         insts.append((i,name,None))
[codex:304257]         i+=1
[codex:304257] 
[codex:304257] for idx,(off,name,data) in enumerate(insts):
[codex:304257]     if name=='SSTORE':
[codex:304257]         print('--- SSTORE at', hex(off))
[codex:304257]         for j in range(max(0,idx-5), idx+1):
[codex:304257]             off2,name2,data2=insts[j]
[codex:304257]             if data2 is None:
[codex:304257]                 print(f'{off2:05x}: {name2}')
[codex:304257]             else:
[codex:304257]                 print(f'{off2:05x}: {name2} 0x{data2.hex()}')
[codex:304257] PY" in /tmp/codex-multi-fozsh6is succeeded in 43ms:
[codex:304257] --- SSTORE at 0x335
[codex:304257] 00330: DUP1
[codex:304257] 00331: DUP4
[codex:304257] 00332: SHA3
[codex:304257] 00333: DUP6
[codex:304257] 00334: SWAP1
[codex:304257] 00335: SSTORE
[codex:304257] --- SSTORE at 0x35e
[codex:304257] 00359: AND
[codex:304257] 0035a: SWAP1
[codex:304257] 0035b: SWAP2
[codex:304257] 0035c: OR
[codex:304257] 0035d: SWAP1
[codex:304257] 0035e: SSTORE
[codex:304257] --- SSTORE at 0x365
[codex:304257] 0035f: DUP1
[codex:304257] 00360: SLOAD
[codex:304257] 00361: PUSH1 0x01
[codex:304257] 00363: ADD
[codex:304257] 00364: SWAP1
[codex:304257] 
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Analyzing storage writes and call validations**
[codex:304257] 
[codex:304257] I'm carefully checking storage slot writes for unprotected key changes and verifying that ETH transfers are guarded by msg.value and tx.origin checks. The calls appear to send fixed values only after confirming sufficient payment, and no delegatecall or selfdestruct are found. Given the complex parameter tracing and absence of obvious exploits, I lean toward concluding no critical vulnerabilities exist here.
[codex:304257] thinking
[codex:304257] **Verifying affiliate mapping and call recipient controls**
[codex:304257] 
[codex:304257] I'm analyzing whether users can manipulate affiliate mappings to redirect payouts to arbitrary addresses without proper checks. The evidence suggests mappings prevent overwrites and update state before external calls, mitigating reentrancy risks. Since no call uses CALLER as direct recipient and registration checks prevent mapping tampering, I conclude there is no straightforward exploit here.
[codex:304257] exec
[codex:304257] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-fozsh6is succeeded in 6ms:
[codex:304257] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:304257] 
[codex:304257] thinking
[codex:304257] **Preparing JSON output for findings**
[codex:304257] codex
[codex:304257] {"no_findings":true,"summary":"Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.","findings":[]}
[codex:304257] tokens used
[codex:304257] 76,035
[codex:304257] {"no_findings":true,"summary":"Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T21:51:02.928948+00:00",
        "returncode": 0
    },
    "summary": "Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.",
    "raw_final": {
        "summary": "Bytecode-only review found three external CALL sites with storage-derived recipients and surrounding gating (tx.origin checks, value bounds, mapping existence); no delegatecall/selfdestruct or unprotected admin/withdraw path observed. No concrete, exploitable profit extraction path could be proven from the bytecode alone.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
3
EXT*/BALANCE
1
Total opcodes
8772
Flags
create_opcodes_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01a0
0000000c: JUMPI
0000000d: PUSH4 0xffffffff
00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00000030: PUSH1 0x00
00000032: CALLDATALOAD
00000033: DIV
00000034: AND
00000035: PUSH4 0x046111e9
0000003a: DUP2
0000003b: EQ
0000003c: PUSH2 0x042e
0000003f: JUMPI
00000040: DUP1
00000041: PUSH4 0x06fdde03
00000046: EQ
00000047: PUSH2 0x0481
0000004a: JUMPI
0000004b: DUP1
0000004c: PUSH4 0x0783d820
00000051: EQ
00000052: PUSH2 0x050b
00000055: JUMPI
00000056: DUP1
00000057: PUSH4 0x10f01eba
0000005c: EQ
0000005d: PUSH2 0x053b
00000060: JUMPI
00000061: DUP1
00000062: PUSH4 0x18237476
00000067: EQ
00000068: PUSH2 0x055c
0000006b: JUMPI
0000006c: DUP1
0000006d: PUSH4 0x2a12408e
00000072: EQ
00000073: PUSH2 0x05be
00000076: JUMPI
00000077: DUP1
00000078: PUSH4 0x2e19ebdc
0000007d: EQ
0000007e: PUSH2 0x0629
00000081: JUMPI
00000082: DUP1
00000083: PUSH4 0x2e1a7d4d
00000088: EQ
00000089: PUSH2 0x0641
0000008c: JUMPI
0000008d: DUP1
0000008e: PUSH4 0x35f0d665
00000093: EQ
00000094: PUSH2 0x0659
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x4496b502
0000009e: EQ
0000009f: PUSH2 0x0671
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x4c1f7635
000000a9: EQ
000000aa: PUSH2 0x0689
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x58931f7a
000000b4: EQ
000000b5: PUSH2 0x06dd
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0x6cb69f42
000000bf: EQ
000000c0: PUSH2 0x06e8
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0x6e725302
000000ca: EQ
000000cb: PUSH2 0x06fd
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0x6ff08dd6
000000d5: EQ
000000d6: PUSH2 0x071b
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0x9201de55
000000e0: EQ
000000e1: PUSH2 0x0733
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0x95d89b41
000000eb: EQ
000000ec: PUSH2 0x0481
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xa0745623
000000f6: EQ
000000f7: PUSH2 0x074b
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xa4e85358
00000101: EQ
00000102: PUSH2 0x0763
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0xa5fc2994
0000010c: EQ
0000010d: PUSH2 0x0781
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0xa8bda3e9
00000117: EQ
00000118: PUSH2 0x07a5
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0xa9b86924
00000122: EQ
00000123: PUSH2 0x07c3
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0xada52d7c
0000012d: EQ
0000012e: PUSH2 0x07ce
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0xadbc9bed
00000138: EQ
00000139: PUSH2 0x07e3
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0xce9ae91c
00000143: EQ
00000144: PUSH2 0x07fe
00000147: JUMPI
00000148: DUP1
00000149: PUSH4 0xcfb51928
0000014e: EQ
0000014f: PUSH2 0x0819
00000152: JUMPI
00000153: DUP1
00000154: PUSH4 0xd53b2679
00000159: EQ
0000015a: PUSH2 0x0872
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xd9a9662b
00000164: EQ
00000165: PUSH2 0x089b
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0xdb8f0301
0000016f: EQ
00000170: PUSH2 0x08b3
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0xde7874f3
0000017a: EQ
0000017b: PUSH2 0x08ce
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0xe5af350e
00000185: EQ
00000186: PUSH2 0x0916
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0xee5f8c8f
00000190: EQ
00000191: PUSH2 0x092e
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0xfefc38fd
0000019b: EQ
0000019c: PUSH2 0x0943
0000019f: JUMPI
000001a0: JUMPDEST
000001a1: PUSH1 0x15
000001a3: SLOAD
000001a4: PUSH1 0x00
000001a6: SWAP1
000001a7: DUP2
000001a8: SWAP1
000001a9: PUSH1 0xff
000001ab: AND
000001ac: ISZERO
000001ad: ISZERO
000001ae: PUSH1 0x01
000001b0: EQ
000001b1: PUSH2 0x0206
000001b4: JUMPI
000001b5: PUSH1 0x40
000001b7: DUP1
000001b8: MLOAD
000001b9: PUSH1 0xe5
000001bb: PUSH1 0x02
000001bd: EXP
000001be: PUSH3 0x461bcd
000001c2: MUL
000001c3: DUP2
000001c4: MSTORE
000001c5: PUSH1 0x20
000001c7: PUSH1 0x04
000001c9: DUP3
000001ca: ADD
000001cb: MSTORE
000001cc: PUSH1 0x29
000001ce: PUSH1 0x24
000001d0: DUP3
000001d1: ADD
000001d2: MSTORE
000001d3: PUSH1 0x00
000001d5: DUP1
000001d6: MLOAD
000001d7: PUSH1 0x20
000001d9: PUSH2 0x35ce
000001dc: DUP4
000001dd: CODECOPY
000001de: DUP2
000001df: MLOAD
000001e0: SWAP2
000001e1: MSTORE
000001e2: PUSH1 0x44
000001e4: DUP3
000001e5: ADD
000001e6: MSTORE
000001e7: PUSH1 0x00
000001e9: DUP1
000001ea: MLOAD
000001eb: PUSH1 0x20
000001ed: PUSH2 0x356e
000001f0: DUP4
000001f1: CODECOPY
000001f2: DUP2
000001f3: MLOAD
000001f4: SWAP2
000001f5: MSTORE
000001f6: PUSH1 0x64
000001f8: DUP3
000001f9: ADD
000001fa: MSTORE
000001fb: SWAP1
000001fc: MLOAD
000001fd: SWAP1
000001fe: DUP2
000001ff: SWAP1
00000200: SUB
00000201: PUSH1 0x84
00000203: ADD
00000204: SWAP1
00000205: REVERT
00000206: JUMPDEST
00000207: CALLER
00000208: ORIGIN
00000209: EQ
0000020a: PUSH2 0x024b
0000020d: JUMPI
0000020e: PUSH1 0x40
00000210: DUP1
00000211: MLOAD
00000212: PUSH1 0xe5
00000214: PUSH1 0x02
00000216: EXP
00000217: PUSH3 0x461bcd
0000021b: MUL
0000021c: DUP2
0000021d: MSTORE
0000021e: PUSH1 0x20
00000220: PUSH1 0x04
00000222: DUP3
00000223: ADD
00000224: MSTORE
00000225: PUSH1 0x11
00000227: PUSH1 0x24
00000229: DUP3
0000022a: ADD
0000022b: MSTORE
0000022c: PUSH1 0x00
0000022e: DUP1
0000022f: MLOAD
00000230: PUSH1 0x20
00000232: PUSH2 0x360e
00000235: DUP4
00000236: CODECOPY
00000237: DUP2
00000238: MLOAD
00000239: SWAP2
0000023a: MSTORE
0000023b: PUSH1 0x44
0000023d: DUP3
0000023e: ADD
0000023f: MSTORE
00000240: SWAP1
00000241: MLOAD
00000242: SWAP1
00000243: DUP2
00000244: SWAP1
00000245: SUB
00000246: PUSH1 0x64
00000248: ADD
00000249: SWAP1
0000024a: REVERT
0000024b: JUMPDEST
0000024c: CALLVALUE
0000024d: PUSH4 0x3b9aca00
00000252: DUP2
00000253: LT
00000254: ISZERO
00000255: PUSH2 0x02a3
00000258: JUMPI
00000259: PUSH1 0x40
0000025b: DUP1
0000025c: MLOAD
0000025d: PUSH1 0xe5
0000025f: PUSH1 0x02
00000261: EXP
00000262: PUSH3 0x461bcd
00000266: MUL
00000267: DUP2
00000268: MSTORE
00000269: PUSH1 0x20
0000026b: PUSH1 0x04
0000026d: DUP3
0000026e: ADD
0000026f: MSTORE
00000270: PUSH1 0x21
00000272: PUSH1 0x24
00000274: DUP3
00000275: ADD
00000276: MSTORE
00000277: PUSH1 0x00
00000279: DUP1
0000027a: MLOAD
0000027b: PUSH1 0x20
0000027d: PUSH2 0x35ae
00000280: DUP4
00000281: CODECOPY
00000282: DUP2
00000283: MLOAD
00000284: SWAP2
00000285: MSTORE
00000286: PUSH1 0x44
00000288: DUP3
00000289: ADD
0000028a: MSTORE
0000028b: PUSH1 0xf8
0000028d: PUSH1 0x02
0000028f: EXP
00000290: PUSH1 0x79
00000292: MUL
00000293: PUSH1 0x64
00000295: DUP3
00000296: ADD
00000297: MSTORE
00000298: SWAP1
00000299: MLOAD
0000029a: SWAP1
0000029b: DUP2
0000029c: SWAP1
0000029d: SUB
0000029e: PUSH1 0x84
000002a0: ADD
000002a1: SWAP1
000002a2: REVERT
000002a3: JUMPDEST
000002a4: PUSH10 0x152d02c7e14af6800000
000002af: DUP2
000002b0: GT
000002b1: ISZERO
000002b2: PUSH2 0x02f3
000002b5: JUMPI
000002b6: PUSH1 0x40
000002b8: DUP1
000002b9: MLOAD
000002ba: PUSH1 0xe5
000002bc: PUSH1 0x02
000002be: EXP
000002bf: PUSH3 0x461bcd
000002c3: MUL
000002c4: DUP2
000002c5: MSTORE
000002c6: PUSH1 0x20
000002c8: PUSH1 0x04
000002ca: DUP3
000002cb: ADD
000002cc: MSTORE
000002cd: PUSH1 0x0e
000002cf: PUSH1 0x24
000002d1: DUP3
000002d2: ADD
000002d3: MSTORE
000002d4: PUSH1 0x00
000002d6: DUP1
000002d7: MLOAD
000002d8: PUSH1 0x20
000002da: PUSH2 0x35ee
000002dd: DUP4
000002de: CODECOPY
000002df: DUP2
000002e0: MLOAD
000002e1: SWAP2
000002e2: MSTORE
000002e3: PUSH1 0x44
000002e5: DUP3
000002e6: ADD
000002e7: MSTORE
000002e8: SWAP1
000002e9: MLOAD
000002ea: SWAP1
000002eb: DUP2
000002ec: SWAP1
000002ed: SUB
000002ee: PUSH1 0x64
000002f0: ADD
000002f1: SWAP1
000002f2: REVERT
000002f3: JUMPDEST
000002f4: PUSH2 0x02fd
000002f7: PUSH1 0x00
000002f9: PUSH2 0x0958
000002fc: JUMP
000002fd: JUMPDEST
000002fe: CALLER
000002ff: PUSH1 0x00
00000301: DUP2
00000302: DUP2
00000303: MSTORE
00000304: PUSH1 0x04
00000306: PUSH1 0x20
00000308: MSTORE
00000309: PUSH1 0x40
0000030b: SWAP1
0000030c: KECCAK256
0000030d: SLOAD
0000030e: ISZERO
0000030f: ISZERO
00000310: PUSH2 0x0366
00000313: JUMPI
00000314: PUSH1 0x09
00000316: DUP1
00000317: SLOAD
00000318: PUSH1 0x01
0000031a: PUSH1 0xa0
0000031c: PUSH1 0x02
0000031e: EXP
0000031f: SUB
00000320: DUP4
00000321: AND
00000322: PUSH1 0x00
00000324: DUP2
00000325: DUP2
00000326: MSTORE
00000327: PUSH1 0x04
00000329: PUSH1 0x20
0000032b: SWAP1
0000032c: DUP2
0000032d: MSTORE
0000032e: PUSH1 0x40
00000330: DUP1
00000331: DUP4
00000332: KECCAK256
00000333: DUP6
00000334: SWAP1
00000335: SSTORE
00000336: SWAP4
00000337: DUP3
00000338: MSTORE
00000339: PUSH1 0x06
0000033b: SWAP1
0000033c: MSTORE
0000033d: SWAP2
0000033e: SWAP1
0000033f: SWAP2
00000340: KECCAK256
00000341: DUP1
00000342: SLOAD
00000343: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000358: NOT
00000359: AND
0000035a: SWAP1
0000035b: SWAP2
0000035c: OR
0000035d: SWAP1
0000035e: SSTORE
0000035f: DUP1
00000360: SLOAD
00000361: PUSH1 0x01
00000363: ADD
00000364: SWAP1
00000365: SSTORE
00000366: JUMPDEST
00000367: CALLER
00000368: PUSH1 0x00
0000036a: SWAP1
0000036b: DUP2
0000036c: MSTORE
0000036d: PUSH1 0x04
0000036f: PUSH1 0x20
00000371: SWAP1
00000372: DUP2
00000373: MSTORE
00000374: PUSH1 0x40
00000376: DUP1
00000377: DUP4
00000378: KECCAK256
00000379: SLOAD
0000037a: DUP1
0000037b: DUP5
0000037c: MSTORE
0000037d: PUSH1 0x06
0000037f: SWAP1
00000380: SWAP3
00000381: MSTORE
00000382: SWAP1
00000383: SWAP2
00000384: KECCAK256
00000385: PUSH1 0x02
00000387: ADD
00000388: SLOAD
00000389: SWAP1
0000038a: SWAP5
0000038b: POP
0000038c: SWAP3
0000038d: POP
0000038e: DUP3
0000038f: ISZERO
00000390: ISZERO
00000391: PUSH2 0x03e4
00000394: JUMPI
00000395: PUSH1 0x40
00000397: DUP1
00000398: MLOAD
00000399: PUSH1 0xe5
0000039b: PUSH1 0x02
0000039d: EXP
0000039e: PUSH3 0x461bcd
000003a2: MUL
000003a3: DUP2
000003a4: MSTORE
000003a5: PUSH1 0x20
000003a7: PUSH1 0x04
000003a9: DUP3
000003aa: ADD
000003ab: MSTORE
000003ac: PUSH1 0x0f
000003ae: PUSH1 0x24
000003b0: DUP3
000003b1: ADD
000003b2: MSTORE
000003b3: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000
000003d4: PUSH1 0x44
000003d6: DUP3
000003d7: ADD
000003d8: MSTORE
000003d9: SWAP1
000003da: MLOAD
000003db: SWAP1
000003dc: DUP2
000003dd: SWAP1
000003de: SUB
000003df: PUSH1 0x64
000003e1: ADD
000003e2: SWAP1
000003e3: REVERT
000003e4: JUMPDEST
000003e5: PUSH2 0x03ef
000003e8: DUP5
000003e9: DUP5
000003ea: CALLVALUE
000003eb: PUSH2 0x0a19
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH1 0x40
000003f2: DUP1
000003f3: MLOAD
000003f4: CALLVALUE
000003f5: DUP2
000003f6: MSTORE
000003f7: TIMESTAMP
000003f8: PUSH1 0x20
000003fa: DUP3
000003fb: ADD
000003fc: MSTORE
000003fd: DUP2
000003fe: MLOAD
000003ff: DUP7
00000400: SWAP3
00000401: PUSH32 0x17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0
00000422: SWAP3
00000423: DUP3
00000424: SWAP1
00000425: SUB
00000426: ADD
00000427: SWAP1
00000428: LOG2
00000429: POP
0000042a: POP
0000042b: POP
0000042c: POP
0000042d: STOP
0000042e: JUMPDEST
0000042f: PUSH1 0x40
00000431: DUP1
00000432: MLOAD
00000433: PUSH1 0x20
00000435: PUSH1 0x04
00000437: PUSH1 0x24
00000439: DUP1
0000043a: CALLDATALOAD
0000043b: DUP3
0000043c: DUP2
0000043d: ADD
0000043e: CALLDATALOAD
0000043f: PUSH1 0x1f
00000441: DUP2
00000442: ADD
00000443: DUP6
00000444: SWAP1
00000445: DIV
00000446: DUP6
00000447: MUL
00000448: DUP7
00000449: ADD
0000044a: DUP6
0000044b: ADD
0000044c: SWAP1
0000044d: SWAP7
0000044e: MSTORE
0000044f: DUP6
00000450: DUP6
00000451: MSTORE
00000452: PUSH2 0x047f
00000455: SWAP6
00000456: DUP4
00000457: CALLDATALOAD
00000458: SWAP6
00000459: CALLDATASIZE
0000045a: SWAP6
0000045b: PUSH1 0x44
0000045d: SWAP5
0000045e: SWAP2
0000045f: SWAP4
00000460: SWAP1
00000461: SWAP2
00000462: ADD
00000463: SWAP2
00000464: SWAP1
00000465: DUP2
00000466: SWAP1
00000467: DUP5
00000468: ADD
00000469: DUP4
0000046a: DUP3
0000046b: DUP1
0000046c: DUP3
0000046d: DUP5
0000046e: CALLDATACOPY
0000046f: POP
00000470: SWAP5
00000471: SWAP8
00000472: POP
00000473: PUSH2 0x0a6b
00000476: SWAP7
00000477: POP
00000478: POP
00000479: POP
0000047a: POP
0000047b: POP
0000047c: POP
0000047d: POP
0000047e: JUMP
0000047f: JUMPDEST
00000480: STOP
00000481: JUMPDEST
00000482: CALLVALUE
00000483: DUP1
00000484: ISZERO
00000485: PUSH2 0x048d
00000488: JUMPI
00000489: PUSH1 0x00
0000048b: DUP1
0000048c: REVERT
0000048d: JUMPDEST
0000048e: POP
0000048f: PUSH2 0x0496
00000492: PUSH2 0x0ead
00000495: JUMP
00000496: JUMPDEST
00000497: PUSH1 0x40
00000499: DUP1
0000049a: MLOAD
0000049b: PUSH1 0x20
0000049d: DUP1
0000049e: DUP3
0000049f: MSTORE
000004a0: DUP4
000004a1: MLOAD
000004a2: DUP2
000004a3: DUP4
000004a4: ADD
000004a5: MSTORE
000004a6: DUP4
000004a7: MLOAD
000004a8: SWAP2
000004a9: SWAP3
000004aa: DUP4
000004ab: SWAP3
000004ac: SWAP1
000004ad: DUP4
000004ae: ADD
000004af: SWAP2
000004b0: DUP6
000004b1: ADD
000004b2: SWAP1
000004b3: DUP1
000004b4: DUP4
000004b5: DUP4
000004b6: PUSH1 0x00
000004b8: JUMPDEST
000004b9: DUP4
000004ba: DUP2
000004bb: LT
000004bc: ISZERO
000004bd: PUSH2 0x04d0
000004c0: JUMPI
000004c1: DUP2
000004c2: DUP2
000004c3: ADD
000004c4: MLOAD
000004c5: DUP4
000004c6: DUP3
000004c7: ADD
000004c8: MSTORE
000004c9: PUSH1 0x20
000004cb: ADD
000004cc: PUSH2 0x04b8
000004cf: JUMP
000004d0: JUMPDEST
000004d1: POP
000004d2: POP
000004d3: POP
000004d4: POP
000004d5: SWAP1
000004d6: POP
000004d7: SWAP1
000004d8: DUP2
000004d9: ADD
000004da: SWAP1
000004db: PUSH1 0x1f
000004dd: AND
000004de: DUP1
000004df: ISZERO
000004e0: PUSH2 0x04fd
000004e3: JUMPI
000004e4: DUP1
000004e5: DUP3
000004e6: SUB
000004e7: DUP1
000004e8: MLOAD
000004e9: PUSH1 0x01
000004eb: DUP4
000004ec: PUSH1 0x20
000004ee: SUB
000004ef: PUSH2 0x0100
000004f2: EXP
000004f3: SUB
000004f4: NOT
000004f5: AND
000004f6: DUP2
000004f7: MSTORE
000004f8: PUSH1 0x20
000004fa: ADD
000004fb: SWAP2
000004fc: POP
000004fd: JUMPDEST
000004fe: POP
000004ff: SWAP3
00000500: POP
00000501: POP
00000502: POP
00000503: PUSH1 0x40
00000505: MLOAD
00000506: DUP1
00000507: SWAP2
00000508: SUB
00000509: SWAP1
0000050a: RETURN
0000050b: JUMPDEST
0000050c: CALLVALUE
0000050d: DUP1
0000050e: ISZERO
0000050f: PUSH2 0x0517
00000512: JUMPI
00000513: PUSH1 0x00
00000515: DUP1
00000516: REVERT
00000517: JUMPDEST
00000518: POP
00000519: PUSH2 0x0529
0000051c: PUSH1 0x04
0000051e: CALLDATALOAD
0000051f: PUSH1 0x24
00000521: CALLDATALOAD
00000522: PUSH1 0x44
00000524: CALLDATALOAD
00000525: PUSH2 0x0ee4
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH1 0x40
0000052c: DUP1
0000052d: MLOAD
0000052e: SWAP2
0000052f: DUP3
00000530: MSTORE
00000531: MLOAD
00000532: SWAP1
00000533: DUP2
00000534: SWAP1
00000535: SUB
00000536: PUSH1 0x20
00000538: ADD
00000539: SWAP1
0000053a: RETURN
0000053b: JUMPDEST
0000053c: CALLVALUE
0000053d: DUP1
0000053e: ISZERO
0000053f: PUSH2 0x0547
00000542: JUMPI
00000543: PUSH1 0x00
00000545: DUP1
00000546: REVERT
00000547: JUMPDEST
00000548: POP
00000549: PUSH2 0x0529
0000054c: PUSH1 0x01
0000054e: PUSH1 0xa0
00000550: PUSH1 0x02
00000552: EXP
00000553: SUB
00000554: PUSH1 0x04
00000556: CALLDATALOAD
00000557: AND
00000558: PUSH2 0x0f49
0000055b: JUMP
0000055c: JUMPDEST
0000055d: CALLVALUE
0000055e: DUP1
0000055f: ISZERO
00000560: PUSH2 0x0568
00000563: JUMPI
00000564: PUSH1 0x00
00000566: DUP1
00000567: REVERT
00000568: JUMPDEST
00000569: POP
0000056a: PUSH2 0x057d
0000056d: PUSH1 0x01
0000056f: PUSH1 0xa0
00000571: PUSH1 0x02
00000573: EXP
00000574: SUB
00000575: PUSH1 0x04
00000577: CALLDATALOAD
00000578: AND
00000579: PUSH2 0x0f5b
0000057c: JUMP
0000057d: JUMPDEST
0000057e: PUSH1 0x40
00000580: DUP1
00000581: MLOAD
00000582: SWAP9
00000583: DUP10
00000584: MSTORE
00000585: PUSH1 0x20
00000587: DUP10
00000588: ADD
00000589: SWAP8
0000058a: SWAP1
0000058b: SWAP8
0000058c: MSTORE
0000058d: DUP8
0000058e: DUP8
0000058f: ADD
00000590: SWAP6
00000591: SWAP1
00000592: SWAP6
00000593: MSTORE
00000594: PUSH1 0x60
00000596: DUP8
00000597: ADD
00000598: SWAP4
00000599: SWAP1
0000059a: SWAP4
0000059b: MSTORE
0000059c: PUSH1 0x80
0000059e: DUP7
0000059f: ADD
000005a0: SWAP2
000005a1: SWAP1
000005a2: SWAP2
000005a3: MSTORE
000005a4: PUSH1 0xa0
000005a6: DUP6
000005a7: ADD
000005a8: MSTORE
000005a9: PUSH1 0xc0
000005ab: DUP5
000005ac: ADD
000005ad: MSTORE
000005ae: PUSH1 0xe0
000005b0: DUP4
000005b1: ADD
000005b2: MSTORE
000005b3: MLOAD
000005b4: SWAP1
000005b5: DUP2
000005b6: SWAP1
000005b7: SUB
000005b8: PUSH2 0x0100
000005bb: ADD
000005bc: SWAP1
000005bd: RETURN
000005be: JUMPDEST
000005bf: CALLVALUE
000005c0: DUP1
000005c1: ISZERO
000005c2: PUSH2 0x05ca
000005c5: JUMPI
000005c6: PUSH1 0x00
000005c8: DUP1
000005c9: REVERT
000005ca: JUMPDEST
000005cb: POP
000005cc: PUSH2 0x05d3
000005cf: PUSH2 0x1063
000005d2: JUMP
000005d3: JUMPDEST
000005d4: PUSH1 0x40
000005d6: DUP1
000005d7: MLOAD
000005d8: SWAP12
000005d9: DUP13
000005da: MSTORE
000005db: PUSH1 0x20
000005dd: DUP13
000005de: ADD
000005df: SWAP11
000005e0: SWAP1
000005e1: SWAP11
000005e2: MSTORE
000005e3: DUP11
000005e4: DUP11
000005e5: ADD
000005e6: SWAP9
000005e7: SWAP1
000005e8: SWAP9
000005e9: MSTORE
000005ea: PUSH1 0x60
000005ec: DUP11
000005ed: ADD
000005ee: SWAP7
000005ef: SWAP1
000005f0: SWAP7
000005f1: MSTORE
000005f2: PUSH1 0x80
000005f4: DUP10
000005f5: ADD
000005f6: SWAP5
000005f7: SWAP1
000005f8: SWAP5
000005f9: MSTORE
000005fa: PUSH1 0xa0
000005fc: DUP9
000005fd: ADD
000005fe: SWAP3
000005ff: SWAP1
00000600: SWAP3
00000601: MSTORE
00000602: PUSH1 0xc0
00000604: DUP8
00000605: ADD
00000606: MSTORE
00000607: PUSH1 0xe0
00000609: DUP7
0000060a: ADD
0000060b: MSTORE
0000060c: PUSH2 0x0100
0000060f: DUP6
00000610: ADD
00000611: MSTORE
00000612: PUSH2 0x0120
00000615: DUP5
00000616: ADD
00000617: MSTORE
00000618: PUSH2 0x0140
0000061b: DUP4
0000061c: ADD
0000061d: MSTORE
0000061e: MLOAD
0000061f: SWAP1
00000620: DUP2
00000621: SWAP1
00000622: SUB
00000623: PUSH2 0x0160
00000626: ADD
00000627: SWAP1
00000628: RETURN
00000629: JUMPDEST
0000062a: CALLVALUE
0000062b: DUP1
0000062c: ISZERO
0000062d: PUSH2 0x0635
00000630: JUMPI
00000631: PUSH1 0x00
00000633: DUP1
00000634: REVERT
00000635: JUMPDEST
00000636: POP
00000637: PUSH2 0x0529
0000063a: PUSH1 0x04
0000063c: CALLDATALOAD
0000063d: PUSH2 0x1087
00000640: JUMP
00000641: JUMPDEST
00000642: CALLVALUE
00000643: DUP1
00000644: ISZERO
00000645: PUSH2 0x064d
00000648: JUMPI
00000649: PUSH1 0x00
0000064b: DUP1
0000064c: REVERT
0000064d: JUMPDEST
0000064e: POP
0000064f: PUSH2 0x047f
00000652: PUSH1 0x04
00000654: CALLDATALOAD
00000655: PUSH2 0x1099
00000658: JUMP
00000659: JUMPDEST
0000065a: CALLVALUE
0000065b: DUP1
0000065c: ISZERO
0000065d: PUSH2 0x0665
00000660: JUMPI
00000661: PUSH1 0x00
00000663: DUP1
00000664: REVERT
00000665: JUMPDEST
00000666: POP
00000667: PUSH2 0x047f
0000066a: PUSH1 0x04
0000066c: CALLDATALOAD
0000066d: PUSH2 0x1324
00000670: JUMP
00000671: JUMPDEST
00000672: CALLVALUE
00000673: DUP1
00000674: ISZERO
00000675: PUSH2 0x067d
00000678: JUMPI
00000679: PUSH1 0x00
0000067b: DUP1
0000067c: REVERT
0000067d: JUMPDEST
0000067e: POP
0000067f: PUSH2 0x047f
00000682: PUSH1 0x04
00000684: CALLDATALOAD
00000685: PUSH2 0x1597
00000688: JUMP
00000689: JUMPDEST
0000068a: CALLVALUE
0000068b: DUP1
0000068c: ISZERO
0000068d: PUSH2 0x0695
00000690: JUMPI
00000691: PUSH1 0x00
00000693: DUP1
00000694: REVERT
00000695: JUMPDEST
00000696: POP
00000697: PUSH2 0x06aa
0000069a: PUSH1 0x01
0000069c: PUSH1 0xa0
0000069e: PUSH1 0x02
000006a0: EXP
000006a1: SUB
000006a2: PUSH1 0x04
000006a4: CALLDATALOAD
000006a5: AND
000006a6: PUSH2 0x1604
000006a9: JUMP
000006aa: JUMPDEST
000006ab: PUSH1 0x40
000006ad: DUP1
000006ae: MLOAD
000006af: SWAP7
000006b0: DUP8
000006b1: MSTORE
000006b2: PUSH1 0x20
000006b4: DUP8
000006b5: ADD
000006b6: SWAP6
000006b7: SWAP1
000006b8: SWAP6
000006b9: MSTORE
000006ba: DUP6
000006bb: DUP6
000006bc: ADD
000006bd: SWAP4
000006be: SWAP1
000006bf: SWAP4
000006c0: MSTORE
000006c1: PUSH1 0x60
000006c3: DUP6
000006c4: ADD
000006c5: SWAP2
000006c6: SWAP1
000006c7: SWAP2
000006c8: MSTORE
000006c9: PUSH1 0x80
000006cb: DUP5
000006cc: ADD
000006cd: MSTORE
000006ce: PUSH1 0xa0
000006d0: DUP4
000006d1: ADD
000006d2: MSTORE
000006d3: MLOAD
000006d4: SWAP1
000006d5: DUP2
000006d6: SWAP1
000006d7: SUB
000006d8: PUSH1 0xc0
000006da: ADD
000006db: SWAP1
000006dc: RETURN
000006dd: JUMPDEST
000006de: PUSH2 0x047f
000006e1: PUSH1 0x04
000006e3: CALLDATALOAD
000006e4: PUSH2 0x16e4
000006e7: JUMP
000006e8: JUMPDEST
000006e9: CALLVALUE
000006ea: DUP1
000006eb: ISZERO
000006ec: PUSH2 0x06f4
000006ef: JUMPI
000006f0: PUSH1 0x00
000006f2: DUP1
000006f3: REVERT
000006f4: JUMPDEST
000006f5: POP
000006f6: PUSH2 0x06aa
000006f9: PUSH2 0x196c
000006fc: JUMP
000006fd: JUMPDEST
000006fe: CALLVALUE
000006ff: DUP1
00000700: ISZERO
00000701: PUSH2 0x0709
00000704: JUMPI
00000705: PUSH1 0x00
00000707: DUP1
00000708: REVERT
00000709: JUMPDEST
0000070a: POP
0000070b: PUSH2 0x0529
0000070e: PUSH1 0x04
00000710: CALLDATALOAD
00000711: PUSH1 0x24
00000713: CALLDATALOAD
00000714: PUSH1 0x44
00000716: CALLDATALOAD
00000717: PUSH2 0x1a61
0000071a: JUMP
0000071b: JUMPDEST
0000071c: CALLVALUE
0000071d: DUP1
0000071e: ISZERO
0000071f: PUSH2 0x0727
00000722: JUMPI
00000723: PUSH1 0x00
00000725: DUP1
00000726: REVERT
00000727: JUMPDEST
00000728: POP
00000729: PUSH2 0x0529
0000072c: PUSH1 0x04
0000072e: CALLDATALOAD
0000072f: PUSH2 0x1b1a
00000732: JUMP
00000733: JUMPDEST
00000734: CALLVALUE
00000735: DUP1
00000736: ISZERO
00000737: PUSH2 0x073f
0000073a: JUMPI
0000073b: PUSH1 0x00
0000073d: DUP1
0000073e: REVERT
0000073f: JUMPDEST
00000740: POP
00000741: PUSH2 0x0496
00000744: PUSH1 0x04
00000746: CALLDATALOAD
00000747: PUSH2 0x1b42
0000074a: JUMP
0000074b: JUMPDEST
0000074c: CALLVALUE
0000074d: DUP1
0000074e: ISZERO
0000074f: PUSH2 0x0757
00000752: JUMPI
00000753: PUSH1 0x00
00000755: DUP1
00000756: REVERT
00000757: JUMPDEST
00000758: POP
00000759: PUSH2 0x0529
0000075c: PUSH1 0x04
0000075e: CALLDATALOAD
0000075f: PUSH2 0x1c88
00000762: JUMP
00000763: JUMPDEST
00000764: CALLVALUE
00000765: DUP1
00000766: ISZERO
00000767: PUSH2 0x076f
0000076a: JUMPI
0000076b: PUSH1 0x00
0000076d: DUP1
0000076e: REVERT
0000076f: JUMPDEST
00000770: POP
00000771: PUSH2 0x0529
00000774: PUSH1 0x04
00000776: CALLDATALOAD
00000777: PUSH1 0x24
00000779: CALLDATALOAD
0000077a: PUSH1 0x44
0000077c: CALLDATALOAD
0000077d: PUSH2 0x1c9a
00000780: JUMP
00000781: JUMPDEST
00000782: CALLVALUE
00000783: DUP1
00000784: ISZERO
00000785: PUSH2 0x078d
00000788: JUMPI
00000789: PUSH1 0x00
0000078b: DUP1
0000078c: REVERT
0000078d: JUMPDEST
0000078e: POP
0000078f: PUSH2 0x047f
00000792: PUSH1 0x01
00000794: PUSH1 0xa0
00000796: PUSH1 0x02
00000798: EXP
00000799: SUB
0000079a: PUSH1 0x04
0000079c: CALLDATALOAD
0000079d: AND
0000079e: PUSH1 0x24
000007a0: CALLDATALOAD
000007a1: PUSH2 0x1cac
000007a4: JUMP
000007a5: JUMPDEST
000007a6: CALLVALUE
000007a7: DUP1
000007a8: ISZERO
000007a9: PUSH2 0x07b1
000007ac: JUMPI
000007ad: PUSH1 0x00
000007af: DUP1
000007b0: REVERT
000007b1: JUMPDEST
000007b2: POP
000007b3: PUSH2 0x0529
000007b6: PUSH1 0x04
000007b8: CALLDATALOAD
000007b9: PUSH1 0x24
000007bb: CALLDATALOAD
000007bc: PUSH1 0x44
000007be: CALLDATALOAD
000007bf: PUSH2 0x2038
000007c2: JUMP
000007c3: JUMPDEST
000007c4: PUSH2 0x047f
000007c7: PUSH1 0x04
000007c9: CALLDATALOAD
000007ca: PUSH2 0x2054
000007cd: JUMP
000007ce: JUMPDEST
000007cf: CALLVALUE
000007d0: DUP1
000007d1: ISZERO
000007d2: PUSH2 0x07da
000007d5: JUMPI
000007d6: PUSH1 0x00
000007d8: DUP1
000007d9: REVERT
000007da: JUMPDEST
000007db: POP
000007dc: PUSH2 0x0529
000007df: PUSH2 0x22da
000007e2: JUMP
000007e3: JUMPDEST
000007e4: CALLVALUE
000007e5: DUP1
000007e6: ISZERO
000007e7: PUSH2 0x07ef
000007ea: JUMPI
000007eb: PUSH1 0x00
000007ed: DUP1
000007ee: REVERT
000007ef: JUMPDEST
000007f0: POP
000007f1: PUSH2 0x0529
000007f4: PUSH1 0x04
000007f6: CALLDATALOAD
000007f7: PUSH1 0x24
000007f9: CALLDATALOAD
000007fa: PUSH2 0x22e0
000007fd: JUMP
000007fe: JUMPDEST
000007ff: CALLVALUE
00000800: DUP1
00000801: ISZERO
00000802: PUSH2 0x080a
00000805: JUMPI
00000806: PUSH1 0x00
00000808: DUP1
00000809: REVERT
0000080a: JUMPDEST
0000080b: POP
0000080c: PUSH2 0x0529
0000080f: PUSH1 0x04
00000811: CALLDATALOAD
00000812: PUSH1 0x24
00000814: CALLDATALOAD
00000815: PUSH2 0x232f
00000818: JUMP
00000819: JUMPDEST
0000081a: CALLVALUE
0000081b: DUP1
0000081c: ISZERO
0000081d: PUSH2 0x0825
00000820: JUMPI
00000821: PUSH1 0x00
00000823: DUP1
00000824: REVERT
00000825: JUMPDEST
00000826: POP
00000827: PUSH1 0x40
00000829: DUP1
0000082a: MLOAD
0000082b: PUSH1 0x20
0000082d: PUSH1 0x04
0000082f: DUP1
00000830: CALLDATALOAD
00000831: DUP1
00000832: DUP3
00000833: ADD
00000834: CALLDATALOAD
00000835: PUSH1 0x1f
00000837: DUP2
00000838: ADD
00000839: DUP5
0000083a: SWAP1
0000083b: DIV
0000083c: DUP5
0000083d: MUL
0000083e: DUP6
0000083f: ADD
00000840: DUP5
00000841: ADD
00000842: SWAP1
00000843: SWAP6
00000844: MSTORE
00000845: DUP5
00000846: DUP5
00000847: MSTORE
00000848: PUSH2 0x0529
0000084b: SWAP5
0000084c: CALLDATASIZE
0000084d: SWAP5
0000084e: SWAP3
0000084f: SWAP4
00000850: PUSH1 0x24
00000852: SWAP4
00000853: SWAP3
00000854: DUP5
00000855: ADD
00000856: SWAP2
00000857: SWAP1
00000858: DUP2
00000859: SWAP1
0000085a: DUP5
0000085b: ADD
0000085c: DUP4
0000085d: DUP3
0000085e: DUP1
0000085f: DUP3
00000860: DUP5
00000861: CALLDATACOPY
00000862: POP
00000863: SWAP5
00000864: SWAP8
00000865: POP
00000866: PUSH2 0x2358
00000869: SWAP7
0000086a: POP
0000086b: POP
0000086c: POP
0000086d: POP
0000086e: POP
0000086f: POP
00000870: POP
00000871: JUMP
00000872: JUMPDEST
00000873: CALLVALUE
00000874: DUP1
00000875: ISZERO
00000876: PUSH2 0x087e
00000879: JUMPI
0000087a: PUSH1 0x00
0000087c: DUP1
0000087d: REVERT
0000087e: JUMPDEST
0000087f: POP
00000880: PUSH2 0x0887
00000883: PUSH2 0x235f
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH1 0x40
0000088a: DUP1
0000088b: MLOAD
0000088c: SWAP2
0000088d: ISZERO
0000088e: ISZERO
0000088f: DUP3
00000890: MSTORE
00000891: MLOAD
00000892: SWAP1
00000893: DUP2
00000894: SWAP1
00000895: SUB
00000896: PUSH1 0x20
00000898: ADD
00000899: SWAP1
0000089a: RETURN
0000089b: JUMPDEST
0000089c: CALLVALUE
0000089d: DUP1
0000089e: ISZERO
0000089f: PUSH2 0x08a7
000008a2: JUMPI
000008a3: PUSH1 0x00
000008a5: DUP1
000008a6: REVERT
000008a7: JUMPDEST
000008a8: POP
000008a9: PUSH2 0x057d
000008ac: PUSH1 0x04
000008ae: CALLDATALOAD
000008af: PUSH2 0x2368
000008b2: JUMP
000008b3: JUMPDEST
000008b4: CALLVALUE
000008b5: DUP1
000008b6: ISZERO
000008b7: PUSH2 0x08bf
000008ba: JUMPI
000008bb: PUSH1 0x00
000008bd: DUP1
000008be: REVERT
000008bf: JUMPDEST
000008c0: POP
000008c1: PUSH2 0x0529
000008c4: PUSH1 0x04
000008c6: CALLDATALOAD
000008c7: PUSH1 0x24
000008c9: CALLDATALOAD
000008ca: PUSH2 0x23b0
000008cd: JUMP
000008ce: JUMPDEST
000008cf: CALLVALUE
000008d0: DUP1
000008d1: ISZERO
000008d2: PUSH2 0x08da
000008d5: JUMPI
000008d6: PUSH1 0x00
000008d8: DUP1
000008d9: REVERT
000008da: JUMPDEST
000008db: POP
000008dc: PUSH2 0x08e6
000008df: PUSH1 0x04
000008e1: CALLDATALOAD
000008e2: PUSH2 0x23c1
000008e5: JUMP
000008e6: JUMPDEST
000008e7: PUSH1 0x40
000008e9: DUP1
000008ea: MLOAD
000008eb: PUSH1 0x01
000008ed: PUSH1 0xa0
000008ef: PUSH1 0x02
000008f1: EXP
000008f2: SUB
000008f3: SWAP1
000008f4: SWAP6
000008f5: AND
000008f6: DUP6
000008f7: MSTORE
000008f8: PUSH1 0x20
000008fa: DUP6
000008fb: ADD
000008fc: SWAP4
000008fd: SWAP1
000008fe: SWAP4
000008ff: MSTORE
00000900: DUP4
00000901: DUP4
00000902: ADD
00000903: SWAP2
00000904: SWAP1
00000905: SWAP2
00000906: MSTORE
00000907: PUSH1 0x60
00000909: DUP4
0000090a: ADD
0000090b: MSTORE
0000090c: MLOAD
0000090d: SWAP1
0000090e: DUP2
0000090f: SWAP1
00000910: SUB
00000911: PUSH1 0x80
00000913: ADD
00000914: SWAP1
00000915: RETURN
00000916: JUMPDEST
00000917: CALLVALUE
00000918: DUP1
00000919: ISZERO
0000091a: PUSH2 0x0922
0000091d: JUMPI
0000091e: PUSH1 0x00
00000920: DUP1
00000921: REVERT
00000922: JUMPDEST
00000923: POP
00000924: PUSH2 0x047f
00000927: PUSH1 0x04
00000929: CALLDATALOAD
0000092a: PUSH2 0x23f2
0000092d: JUMP
0000092e: JUMPDEST
0000092f: CALLVALUE
00000930: DUP1
00000931: ISZERO
00000932: PUSH2 0x093a
00000935: JUMPI
00000936: PUSH1 0x00
00000938: DUP1
00000939: REVERT
0000093a: JUMPDEST
0000093b: POP
0000093c: PUSH2 0x0529
0000093f: PUSH2 0x2667
00000942: JUMP
00000943: JUMPDEST
00000944: CALLVALUE
00000945: DUP1
00000946: ISZERO
00000947: PUSH2 0x094f
0000094a: JUMPI
0000094b: PUSH1 0x00
0000094d: DUP1
0000094e: REVERT
0000094f: JUMPDEST
00000950: POP
00000951: PUSH2 0x047f
00000954: PUSH2 0x266d
00000957: JUMP
00000958: JUMPDEST
00000959: PUSH1 0x00
0000095b: DUP1
0000095c: PUSH1 0x0a
0000095e: PUSH1 0x00
00000960: ADD
00000961: SLOAD
00000962: TIMESTAMP
00000963: LT
00000964: ISZERO
00000965: PUSH2 0x096d
00000968: JUMPI
00000969: PUSH2 0x0a14
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH1 0x0a
00000970: SLOAD
00000971: PUSH2 0x0981
00000974: SWAP1
00000975: TIMESTAMP
00000976: SWAP1
00000977: PUSH4 0xffffffff
0000097c: PUSH2 0x26ef
0000097f: AND
00000980: JUMP
00000981: JUMPDEST
00000982: SWAP2
00000983: POP
00000984: PUSH2 0x0998
00000987: PUSH1 0x01
00000989: SLOAD
0000098a: DUP4
0000098b: PUSH2 0x270d
0000098e: SWAP1
0000098f: SWAP2
00000990: SWAP1
00000991: PUSH4 0xffffffff
00000996: AND
00000997: JUMP
00000998: JUMPDEST
00000999: PUSH1 0x01
0000099b: ADD
0000099c: SWAP1
0000099d: POP
0000099e: DUP3
0000099f: ISZERO
000009a0: DUP1
000009a1: PUSH2 0x09a9
000009a4: JUMPI
000009a5: POP
000009a6: DUP1
000009a7: DUP4
000009a8: GT
000009a9: JUMPDEST
000009aa: ISZERO
000009ab: PUSH2 0x09b2
000009ae: JUMPI
000009af: DUP1
000009b0: SWAP3
000009b1: POP
000009b2: JUMPDEST
000009b3: PUSH1 0x0e
000009b5: SLOAD
000009b6: PUSH1 0x12
000009b8: DUP2
000009b9: SWAP1
000009ba: SSTORE
000009bb: PUSH1 0x10
000009bd: SLOAD
000009be: PUSH1 0x13
000009c0: DUP2
000009c1: SWAP1
000009c2: SSTORE
000009c3: PUSH2 0x09cd
000009c6: SWAP2
000009c7: DUP6
000009c8: SWAP2
000009c9: PUSH2 0x2730
000009cc: JUMP
000009cd: JUMPDEST
000009ce: PUSH1 0x14
000009d0: SSTORE
000009d1: PUSH1 0x11
000009d3: SSTORE
000009d4: PUSH1 0x01
000009d6: SLOAD
000009d7: PUSH2 0x09fa
000009da: SWAP1
000009db: PUSH2 0x09eb
000009de: SWAP1
000009df: DUP6
000009e0: SWAP1
000009e1: PUSH4 0xffffffff
000009e6: PUSH2 0x2800
000009e9: AND
000009ea: JUMP
000009eb: JUMPDEST
000009ec: PUSH1 0x0a
000009ee: SLOAD
000009ef: SWAP1
000009f0: PUSH4 0xffffffff
000009f5: PUSH2 0x282e
000009f8: AND
000009f9: JUMP
000009fa: JUMPDEST
000009fb: PUSH1 0x0a
000009fd: SSTORE
000009fe: PUSH1 0x0b
00000a00: SLOAD
00000a01: PUSH2 0x0a10
00000a04: SWAP1
00000a05: DUP5
00000a06: PUSH4 0xffffffff
00000a0b: PUSH2 0x282e
00000a0e: AND
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: PUSH1 0x0b
00000a13: SSTORE
00000a14: JUMPDEST
00000a15: POP
00000a16: POP
00000a17: POP
00000a18: JUMP
00000a19: JUMPDEST
00000a1a: PUSH1 0x00
00000a1c: DUP1
00000a1d: PUSH2 0x0a2d
00000a20: DUP4
00000a21: PUSH1 0x64
00000a23: PUSH4 0xffffffff
00000a28: PUSH2 0x2800
00000a2b: AND
00000a2c: JUMP
00000a2d: JUMPDEST
00000a2e: SWAP2
00000a2f: POP
00000a30: PUSH2 0x0a41
00000a33: DUP4
00000a34: PUSH2 0x0271
00000a37: PUSH4 0xffffffff
00000a3c: PUSH2 0x2800
00000a3f: AND
00000a40: JUMP
00000a41: JUMPDEST
00000a42: SWAP1
00000a43: POP
00000a44: PUSH2 0x0a50
00000a47: DUP6
00000a48: DUP6
00000a49: PUSH1 0x00
00000a4b: DUP6
00000a4c: PUSH2 0x2840
00000a4f: JUMP
00000a50: JUMPDEST
00000a51: PUSH2 0x0a5a
00000a54: DUP6
00000a55: DUP3
00000a56: PUSH2 0x28c1
00000a59: JUMP
00000a5a: JUMPDEST
00000a5b: PUSH2 0x0a64
00000a5e: DUP6
00000a5f: DUP5
00000a60: PUSH2 0x2940
00000a63: JUMP
00000a64: JUMPDEST
00000a65: POP
00000a66: POP
00000a67: POP
00000a68: POP
00000a69: POP
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: PUSH1 0x15
00000a6e: SLOAD
00000a6f: PUSH1 0x00
00000a71: SWAP1
00000a72: DUP2
00000a73: SWAP1
00000a74: DUP2
00000a75: SWAP1
00000a76: DUP2
00000a77: SWAP1
00000a78: DUP2
00000a79: SWAP1
00000a7a: PUSH1 0xff
00000a7c: AND
00000a7d: ISZERO
00000a7e: ISZERO
00000a7f: PUSH1 0x01
00000a81: EQ
00000a82: PUSH2 0x0ad7
00000a85: JUMPI
00000a86: PUSH1 0x40
00000a88: DUP1
00000a89: MLOAD
00000a8a: PUSH1 0xe5
00000a8c: PUSH1 0x02
00000a8e: EXP
00000a8f: PUSH3 0x461bcd
00000a93: MUL
00000a94: DUP2
00000a95: MSTORE
00000a96: PUSH1 0x20
00000a98: PUSH1 0x04
00000a9a: DUP3
00000a9b: ADD
00000a9c: MSTORE
00000a9d: PUSH1 0x29
00000a9f: PUSH1 0x24
00000aa1: DUP3
00000aa2: ADD
00000aa3: MSTORE
00000aa4: PUSH1 0x00
00000aa6: DUP1
00000aa7: MLOAD
00000aa8: PUSH1 0x20
00000aaa: PUSH2 0x35ce
00000aad: DUP4
00000aae: CODECOPY
00000aaf: DUP2
00000ab0: MLOAD
00000ab1: SWAP2
00000ab2: MSTORE
00000ab3: PUSH1 0x44
00000ab5: DUP3
00000ab6: ADD
00000ab7: MSTORE
00000ab8: PUSH1 0x00
00000aba: DUP1
00000abb: MLOAD
00000abc: PUSH1 0x20
00000abe: PUSH2 0x356e
00000ac1: DUP4
00000ac2: CODECOPY
00000ac3: DUP2
00000ac4: MLOAD
00000ac5: SWAP2
00000ac6: MSTORE
00000ac7: PUSH1 0x64
00000ac9: DUP3
00000aca: ADD
00000acb: MSTORE
00000acc: SWAP1
00000acd: MLOAD
00000ace: SWAP1
00000acf: DUP2
00000ad0: SWAP1
00000ad1: SUB
00000ad2: PUSH1 0x84
00000ad4: ADD
00000ad5: SWAP1
00000ad6: REVERT
00000ad7: JUMPDEST
00000ad8: CALLER
00000ad9: ORIGIN
00000ada: EQ
00000adb: PUSH2 0x0b1c
00000ade: JUMPI
00000adf: PUSH1 0x40
00000ae1: DUP1
00000ae2: MLOAD
00000ae3: PUSH1 0xe5
00000ae5: PUSH1 0x02
00000ae7: EXP
00000ae8: PUSH3 0x461bcd
00000aec: MUL
00000aed: DUP2
00000aee: MSTORE
00000aef: PUSH1 0x20
00000af1: PUSH1 0x04
00000af3: DUP3
00000af4: ADD
00000af5: MSTORE
00000af6: PUSH1 0x11
00000af8: PUSH1 0x24
00000afa: DUP3
00000afb: ADD
00000afc: MSTORE
00000afd: PUSH1 0x00
00000aff: DUP1
00000b00: MLOAD
00000b01: PUSH1 0x20
00000b03: PUSH2 0x360e
00000b06: DUP4
00000b07: CODECOPY
00000b08: DUP2
00000b09: MLOAD
00000b0a: SWAP2
00000b0b: MSTORE
00000b0c: PUSH1 0x44
00000b0e: DUP3
00000b0f: ADD
00000b10: MSTORE
00000b11: SWAP1
00000b12: MLOAD
00000b13: SWAP1
00000b14: DUP2
00000b15: SWAP1
00000b16: SUB
00000b17: PUSH1 0x64
00000b19: ADD
00000b1a: SWAP1
00000b1b: REVERT
00000b1c: JUMPDEST
00000b1d: CALLVALUE
00000b1e: PUSH4 0x3b9aca00
00000b23: DUP2
00000b24: LT
00000b25: ISZERO
00000b26: PUSH2 0x0b74
00000b29: JUMPI
00000b2a: PUSH1 0x40
00000b2c: DUP1
00000b2d: MLOAD
00000b2e: PUSH1 0xe5
00000b30: PUSH1 0x02
00000b32: EXP
00000b33: PUSH3 0x461bcd
00000b37: MUL
00000b38: DUP2
00000b39: MSTORE
00000b3a: PUSH1 0x20
00000b3c: PUSH1 0x04
00000b3e: DUP3
00000b3f: ADD
00000b40: MSTORE
00000b41: PUSH1 0x21
00000b43: PUSH1 0x24
00000b45: DUP3
00000b46: ADD
00000b47: MSTORE
00000b48: PUSH1 0x00
00000b4a: DUP1
00000b4b: MLOAD
00000b4c: PUSH1 0x20
00000b4e: PUSH2 0x35ae
00000b51: DUP4
00000b52: CODECOPY
00000b53: DUP2
00000b54: MLOAD
00000b55: SWAP2
00000b56: MSTORE
00000b57: PUSH1 0x44
00000b59: DUP3
00000b5a: ADD
00000b5b: MSTORE
00000b5c: PUSH1 0xf8
00000b5e: PUSH1 0x02
00000b60: EXP
00000b61: PUSH1 0x79
00000b63: MUL
00000b64: PUSH1 0x64
00000b66: DUP3
00000b67: ADD
00000b68: MSTORE
00000b69: SWAP1
00000b6a: MLOAD
00000b6b: SWAP1
00000b6c: DUP2
00000b6d: SWAP1
00000b6e: SUB
00000b6f: PUSH1 0x84
00000b71: ADD
00000b72: SWAP1
00000b73: REVERT
00000b74: JUMPDEST
00000b75: PUSH10 0x152d02c7e14af6800000
00000b80: DUP2
00000b81: GT
00000b82: ISZERO
00000b83: PUSH2 0x0bc4
00000b86: JUMPI
00000b87: PUSH1 0x40
00000b89: DUP1
00000b8a: MLOAD
00000b8b: PUSH1 0xe5
00000b8d: PUSH1 0x02
00000b8f: EXP
00000b90: PUSH3 0x461bcd
00000b94: MUL
00000b95: DUP2
00000b96: MSTORE
00000b97: PUSH1 0x20
00000b99: PUSH1 0x04
00000b9b: DUP3
00000b9c: ADD
00000b9d: MSTORE
00000b9e: PUSH1 0x0e
00000ba0: PUSH1 0x24
00000ba2: DUP3
00000ba3: ADD
00000ba4: MSTORE
00000ba5: PUSH1 0x00
00000ba7: DUP1
00000ba8: MLOAD
00000ba9: PUSH1 0x20
00000bab: PUSH2 0x35ee
00000bae: DUP4
00000baf: CODECOPY
00000bb0: DUP2
00000bb1: MLOAD
00000bb2: SWAP2
00000bb3: MSTORE
00000bb4: PUSH1 0x44
00000bb6: DUP3
00000bb7: ADD
00000bb8: MSTORE
00000bb9: SWAP1
00000bba: MLOAD
00000bbb: SWAP1
00000bbc: DUP2
00000bbd: SWAP1
00000bbe: SUB
00000bbf: PUSH1 0x64
00000bc1: ADD
00000bc2: SWAP1
00000bc3: REVERT
00000bc4: JUMPDEST
00000bc5: PUSH2 0x0bce
00000bc8: PUSH1 0x00
00000bca: PUSH2 0x0958
00000bcd: JUMP
00000bce: JUMPDEST
00000bcf: CALLER
00000bd0: PUSH1 0x00
00000bd2: DUP2
00000bd3: DUP2
00000bd4: MSTORE
00000bd5: PUSH1 0x04
00000bd7: PUSH1 0x20
00000bd9: MSTORE
00000bda: PUSH1 0x40
00000bdc: SWAP1
00000bdd: KECCAK256
00000bde: SLOAD
00000bdf: ISZERO
00000be0: ISZERO
00000be1: PUSH2 0x0c37
00000be4: JUMPI
00000be5: PUSH1 0x09
00000be7: DUP1
00000be8: SLOAD
00000be9: PUSH1 0x01
00000beb: PUSH1 0xa0
00000bed: PUSH1 0x02
00000bef: EXP
00000bf0: SUB
00000bf1: DUP4
00000bf2: AND
00000bf3: PUSH1 0x00
00000bf5: DUP2
00000bf6: DUP2
00000bf7: MSTORE
00000bf8: PUSH1 0x04
00000bfa: PUSH1 0x20
00000bfc: SWAP1
00000bfd: DUP2
00000bfe: MSTORE
00000bff: PUSH1 0x40
00000c01: DUP1
00000c02: DUP4
00000c03: KECCAK256
00000c04: DUP6
00000c05: SWAP1
00000c06: SSTORE
00000c07: SWAP4
00000c08: DUP3
00000c09: MSTORE
00000c0a: PUSH1 0x06
00000c0c: SWAP1
00000c0d: MSTORE
00000c0e: SWAP2
00000c0f: SWAP1
00000c10: SWAP2
00000c11: KECCAK256
00000c12: DUP1
00000c13: SLOAD
00000c14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c29: NOT
00000c2a: AND
00000c2b: SWAP1
00000c2c: SWAP2
00000c2d: OR
00000c2e: SWAP1
00000c2f: SSTORE
00000c30: DUP1
00000c31: SLOAD
00000c32: PUSH1 0x01
00000c34: ADD
00000c35: SWAP1
00000c36: SSTORE
00000c37: JUMPDEST
00000c38: PUSH8 0x016345785d8a0000
00000c41: CALLVALUE
00000c42: LT
00000c43: ISZERO
00000c44: PUSH2 0x0c97
00000c47: JUMPI
00000c48: PUSH1 0x40
00000c4a: DUP1
00000c4b: MLOAD
00000c4c: PUSH1 0xe5
00000c4e: PUSH1 0x02
00000c50: EXP
00000c51: PUSH3 0x461bcd
00000c55: MUL
00000c56: DUP2
00000c57: MSTORE
00000c58: PUSH1 0x20
00000c5a: PUSH1 0x04
00000c5c: DUP3
00000c5d: ADD
00000c5e: MSTORE
00000c5f: PUSH1 0x0e
00000c61: PUSH1 0x24
00000c63: DUP3
00000c64: ADD
00000c65: MSTORE
00000c66: PUSH32 0x6e6f7420656e6f75676820657468000000000000000000000000000000000000
00000c87: PUSH1 0x44
00000c89: DUP3
00000c8a: ADD
00000c8b: MSTORE
00000c8c: SWAP1
00000c8d: MLOAD
00000c8e: SWAP1
00000c8f: DUP2
00000c90: SWAP1
00000c91: SUB
00000c92: PUSH1 0x64
00000c94: ADD
00000c95: SWAP1
00000c96: REVERT
00000c97: JUMPDEST
00000c98: PUSH2 0x0ca0
00000c9b: DUP9
00000c9c: PUSH2 0x299b
00000c9f: JUMP
00000ca0: JUMPDEST
00000ca1: PUSH1 0x00
00000ca3: DUP2
00000ca4: DUP2
00000ca5: MSTORE
00000ca6: PUSH1 0x05
00000ca8: PUSH1 0x20
00000caa: MSTORE
00000cab: PUSH1 0x40
00000cad: SWAP1
00000cae: KECCAK256
00000caf: SLOAD
00000cb0: SWAP1
00000cb1: SWAP8
00000cb2: POP
00000cb3: ISZERO
00000cb4: PUSH2 0x0d07
00000cb7: JUMPI
00000cb8: PUSH1 0x40
00000cba: DUP1
00000cbb: MLOAD
00000cbc: PUSH1 0xe5
00000cbe: PUSH1 0x02
00000cc0: EXP
00000cc1: PUSH3 0x461bcd
00000cc5: MUL
00000cc6: DUP2
00000cc7: MSTORE
00000cc8: PUSH1 0x20
00000cca: PUSH1 0x04
00000ccc: DUP3
00000ccd: ADD
00000cce: MSTORE
00000ccf: PUSH1 0x08
00000cd1: PUSH1 0x24
00000cd3: DUP3
00000cd4: ADD
00000cd5: MSTORE
00000cd6: PUSH32 0x686173206e616d65000000000000000000000000000000000000000000000000
00000cf7: PUSH1 0x44
00000cf9: DUP3
00000cfa: ADD
00000cfb: MSTORE
00000cfc: SWAP1
00000cfd: MLOAD
00000cfe: SWAP1
00000cff: DUP2
00000d00: SWAP1
00000d01: SUB
00000d02: PUSH1 0x64
00000d04: ADD
00000d05: SWAP1
00000d06: REVERT
00000d07: JUMPDEST
00000d08: CALLER
00000d09: PUSH1 0x00
00000d0b: SWAP1
00000d0c: DUP2
00000d0d: MSTORE
00000d0e: PUSH1 0x04
00000d10: PUSH1 0x20
00000d12: SWAP1
00000d13: DUP2
00000d14: MSTORE
00000d15: PUSH1 0x40
00000d17: DUP1
00000d18: DUP4
00000d19: KECCAK256
00000d1a: SLOAD
00000d1b: DUP11
00000d1c: DUP5
00000d1d: MSTORE
00000d1e: PUSH1 0x05
00000d20: DUP4
00000d21: MSTORE
00000d22: DUP2
00000d23: DUP5
00000d24: KECCAK256
00000d25: DUP2
00000d26: SWAP1
00000d27: SSTORE
00000d28: DUP1
00000d29: DUP5
00000d2a: MSTORE
00000d2b: PUSH1 0x06
00000d2d: SWAP1
00000d2e: SWAP3
00000d2f: MSTORE
00000d30: SWAP1
00000d31: SWAP2
00000d32: KECCAK256
00000d33: PUSH1 0x01
00000d35: ADD
00000d36: DUP9
00000d37: SWAP1
00000d38: SSTORE
00000d39: SWAP6
00000d3a: POP
00000d3b: PUSH8 0x8ac7230489e80000
00000d44: SWAP5
00000d45: POP
00000d46: PUSH2 0x0d4e
00000d49: DUP6
00000d4a: PUSH2 0x1b1a
00000d4d: JUMP
00000d4e: JUMPDEST
00000d4f: SWAP4
00000d50: POP
00000d51: PUSH2 0x0d5d
00000d54: DUP7
00000d55: DUP7
00000d56: DUP7
00000d57: PUSH1 0x00
00000d59: PUSH2 0x31ae
00000d5c: JUMP
00000d5d: JUMPDEST
00000d5e: PUSH2 0x0d67
00000d61: DUP7
00000d62: DUP11
00000d63: PUSH2 0x3271
00000d66: JUMP
00000d67: JUMPDEST
00000d68: SWAP3
00000d69: POP
00000d6a: DUP3
00000d6b: ISZERO
00000d6c: ISZERO
00000d6d: PUSH2 0x0d7e
00000d70: JUMPI
00000d71: PUSH2 0x0d79
00000d74: CALLVALUE
00000d75: PUSH2 0x336c
00000d78: JUMP
00000d79: JUMPDEST
00000d7a: PUSH2 0x0e61
00000d7d: JUMP
00000d7e: JUMPDEST
00000d7f: PUSH2 0x0d9d
00000d82: PUSH2 0x0d98
00000d85: CALLVALUE
00000d86: PUSH7 0xb1a2bc2ec50000
00000d8e: PUSH4 0xffffffff
00000d93: PUSH2 0x26ef
00000d96: AND
00000d97: JUMP
00000d98: JUMPDEST
00000d99: PUSH2 0x336c
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH1 0x00
00000da0: DUP4
00000da1: DUP2
00000da2: MSTORE
00000da3: PUSH1 0x06
00000da5: PUSH1 0x20
00000da7: MSTORE
00000da8: PUSH1 0x40
00000daa: DUP1
00000dab: DUP3
00000dac: KECCAK256
00000dad: SLOAD
00000dae: SWAP1
00000daf: MLOAD
00000db0: PUSH1 0x01
00000db2: PUSH1 0xa0
00000db4: PUSH1 0x02
00000db6: EXP
00000db7: SUB
00000db8: SWAP1
00000db9: SWAP2
00000dba: AND
00000dbb: SWAP2
00000dbc: SWAP1
00000dbd: PUSH7 0xb1a2bc2ec50000
00000dc5: SWAP1
00000dc6: DUP3
00000dc7: DUP2
00000dc8: DUP2
00000dc9: DUP2
00000dca: DUP6
00000dcb: DUP9
00000dcc: DUP4
00000dcd: CALL
00000dce: SWAP4
00000dcf: POP
00000dd0: POP
00000dd1: POP
00000dd2: POP
00000dd3: ISZERO
00000dd4: DUP1
00000dd5: ISZERO
00000dd6: PUSH2 0x0de3
00000dd9: JUMPI
00000dda: RETURNDATASIZE
00000ddb: PUSH1 0x00
00000ddd: DUP1
00000dde: RETURNDATACOPY
00000ddf: RETURNDATASIZE
00000de0: PUSH1 0x00
00000de2: REVERT
00000de3: JUMPDEST
00000de4: POP
00000de5: PUSH1 0x00
00000de7: DUP4
00000de8: DUP2
00000de9: MSTORE
00000dea: PUSH1 0x07
00000dec: PUSH1 0x20
00000dee: MSTORE
00000def: PUSH1 0x40
00000df1: SWAP1
00000df2: KECCAK256
00000df3: PUSH1 0x02
00000df5: ADD
00000df6: SLOAD
00000df7: PUSH2 0x0e0d
00000dfa: SWAP1
00000dfb: PUSH7 0xb1a2bc2ec50000
00000e03: PUSH4 0xffffffff
00000e08: PUSH2 0x282e
00000e0b: AND
00000e0c: JUMP
00000e0d: JUMPDEST
00000e0e: PUSH1 0x00
00000e10: DUP5
00000e11: DUP2
00000e12: MSTORE
00000e13: PUSH1 0x07
00000e15: PUSH1 0x20
00000e17: MSTORE
00000e18: PUSH1 0x40
00000e1a: SWAP1
00000e1b: KECCAK256
00000e1c: PUSH1 0x02
00000e1e: ADD
00000e1f: SSTORE
00000e20: PUSH2 0x0e61
00000e23: DUP7
00000e24: DUP5
00000e25: PUSH2 0x0e46
00000e28: PUSH1 0x64
00000e2a: PUSH2 0x0e3a
00000e2d: DUP11
00000e2e: PUSH1 0x05
00000e30: PUSH4 0xffffffff
00000e35: PUSH2 0x2800
00000e38: AND
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: SWAP1
00000e3c: PUSH4 0xffffffff
00000e41: PUSH2 0x270d
00000e44: AND
00000e45: JUMP
00000e46: JUMPDEST
00000e47: PUSH2 0x0e5c
00000e4a: PUSH1 0x64
00000e4c: PUSH2 0x0e3a
00000e4f: DUP11
00000e50: PUSH1 0x05
00000e52: PUSH4 0xffffffff
00000e57: PUSH2 0x2800
00000e5a: AND
00000e5b: JUMP
00000e5c: JUMPDEST
00000e5d: PUSH2 0x33aa
00000e60: JUMP
00000e61: JUMPDEST
00000e62: PUSH1 0x40
00000e64: DUP1
00000e65: MLOAD
00000e66: DUP9
00000e67: DUP2
00000e68: MSTORE
00000e69: CALLVALUE
00000e6a: PUSH1 0x20
00000e6c: DUP3
00000e6d: ADD
00000e6e: MSTORE
00000e6f: TIMESTAMP
00000e70: DUP2
00000e71: DUP4
00000e72: ADD
00000e73: MSTORE
00000e74: SWAP1
00000e75: MLOAD
00000e76: DUP8
00000e77: SWAP2
00000e78: PUSH32 0x1d1175eab16695c0a8f6d8783added39f80484d19702efe9df55a5fb190f86c4
00000e99: SWAP2
00000e9a: SWAP1
00000e9b: DUP2
00000e9c: SWAP1
00000e9d: SUB
00000e9e: PUSH1 0x60
00000ea0: ADD
00000ea1: SWAP1
00000ea2: LOG2
00000ea3: POP
00000ea4: POP
00000ea5: POP
00000ea6: POP
00000ea7: POP
00000ea8: POP
00000ea9: POP
00000eaa: POP
00000eab: POP
00000eac: JUMP
00000ead: JUMPDEST
00000eae: PUSH1 0x40
00000eb0: DUP1
00000eb1: MLOAD
00000eb2: DUP1
00000eb3: DUP3
00000eb4: ADD
00000eb5: SWAP1
00000eb6: SWAP2
00000eb7: MSTORE
00000eb8: PUSH1 0x06
00000eba: DUP2
00000ebb: MSTORE
00000ebc: PUSH32 0x746f6b656e740000000000000000000000000000000000000000000000000000
00000edd: PUSH1 0x20
00000edf: DUP3
00000ee0: ADD
00000ee1: MSTORE
00000ee2: DUP2
00000ee3: JUMP
00000ee4: JUMPDEST
00000ee5: PUSH1 0x00
00000ee7: DUP1
00000ee8: DUP5
00000ee9: GT
00000eea: DUP1
00000eeb: ISZERO
00000eec: PUSH2 0x0ef5
00000eef: JUMPI
00000ef0: POP
00000ef1: PUSH1 0x00
00000ef3: DUP4
00000ef4: GT
00000ef5: JUMPDEST
00000ef6: DUP1
00000ef7: ISZERO
00000ef8: PUSH2 0x0f01
00000efb: JUMPI
00000efc: POP
00000efd: PUSH1 0x00
00000eff: DUP3
00000f00: GT
00000f01: JUMPDEST
00000f02: ISZERO
00000f03: PUSH2 0x0f2a
00000f06: JUMPI
00000f07: PUSH2 0x0f23
00000f0a: PUSH2 0x0f14
00000f0d: DUP6
00000f0e: DUP6
00000f0f: DUP6
00000f10: PUSH2 0x1c9a
00000f13: JUMP
00000f14: JUMPDEST
00000f15: PUSH1 0x0c
00000f17: SLOAD
00000f18: SWAP1
00000f19: PUSH4 0xffffffff
00000f1e: PUSH2 0x26ef
00000f21: AND
00000f22: JUMP
00000f23: JUMPDEST
00000f24: SWAP1
00000f25: POP
00000f26: PUSH2 0x0f42
00000f29: JUMP
00000f2a: JUMPDEST
00000f2b: PUSH1 0x12
00000f2d: SLOAD
00000f2e: PUSH1 0x13
00000f30: SLOAD
00000f31: PUSH2 0x0f3f
00000f34: SWAP2
00000f35: PUSH2 0x0f14
00000f38: SWAP2
00000f39: PUSH1 0x00
00000f3b: PUSH2 0x1c9a
00000f3e: JUMP
00000f3f: JUMPDEST
00000f40: SWAP1
00000f41: POP
00000f42: JUMPDEST
00000f43: SWAP4
00000f44: SWAP3
00000f45: POP
00000f46: POP
00000f47: POP
00000f48: JUMP
00000f49: JUMPDEST
00000f4a: PUSH1 0x04
00000f4c: PUSH1 0x20
00000f4e: MSTORE
00000f4f: PUSH1 0x00
00000f51: SWAP1
00000f52: DUP2
00000f53: MSTORE
00000f54: PUSH1 0x40
00000f56: SWAP1
00000f57: KECCAK256
00000f58: SLOAD
00000f59: DUP2
00000f5a: JUMP
00000f5b: JUMPDEST
00000f5c: PUSH1 0x01
00000f5e: PUSH1 0xa0
00000f60: PUSH1 0x02
00000f62: EXP
00000f63: SUB
00000f64: DUP2
00000f65: AND
00000f66: PUSH1 0x00
00000f68: SWAP1
00000f69: DUP2
00000f6a: MSTORE
00000f6b: PUSH1 0x04
00000f6d: PUSH1 0x20
00000f6f: MSTORE
00000f70: PUSH1 0x40
00000f72: DUP2
00000f73: KECCAK256
00000f74: SLOAD
00000f75: PUSH1 0x12
00000f77: SLOAD
00000f78: PUSH1 0x13
00000f7a: SLOAD
00000f7b: PUSH1 0x11
00000f7d: SLOAD
00000f7e: PUSH1 0x0a
00000f80: SLOAD
00000f81: DUP6
00000f82: SWAP5
00000f83: DUP6
00000f84: SWAP5
00000f85: DUP6
00000f86: SWAP5
00000f87: DUP6
00000f88: SWAP5
00000f89: DUP6
00000f8a: SWAP5
00000f8b: DUP6
00000f8c: SWAP5
00000f8d: DUP6
00000f8e: SWAP5
00000f8f: SWAP1
00000f90: SWAP4
00000f91: SWAP1
00000f92: SWAP3
00000f93: SWAP1
00000f94: SWAP2
00000f95: DUP6
00000f96: SWAP1
00000f97: TIMESTAMP
00000f98: LT
00000f99: PUSH2 0x0fd7
00000f9c: JUMPI
00000f9d: PUSH1 0x01
00000f9f: SLOAD
00000fa0: PUSH1 0x0a
00000fa2: SLOAD
00000fa3: PUSH2 0x0fb8
00000fa6: SWAP2
00000fa7: SWAP1
00000fa8: PUSH2 0x0e3a
00000fab: SWAP1
00000fac: TIMESTAMP
00000fad: SWAP1
00000fae: PUSH4 0xffffffff
00000fb3: PUSH2 0x26ef
00000fb6: AND
00000fb7: JUMP
00000fb8: JUMPDEST
00000fb9: PUSH1 0x0e
00000fbb: SLOAD
00000fbc: PUSH1 0x10
00000fbe: SLOAD
00000fbf: SWAP1
00000fc0: SWAP6
00000fc1: POP
00000fc2: SWAP4
00000fc3: POP
00000fc4: PUSH1 0x01
00000fc6: ADD
00000fc7: SWAP1
00000fc8: POP
00000fc9: PUSH2 0x0fd3
00000fcc: DUP2
00000fcd: DUP6
00000fce: DUP6
00000fcf: PUSH2 0x2730
00000fd2: JUMP
00000fd3: JUMPDEST
00000fd4: POP
00000fd5: SWAP2
00000fd6: POP
00000fd7: JUMPDEST
00000fd8: PUSH1 0x00
00000fda: DUP6
00000fdb: DUP2
00000fdc: MSTORE
00000fdd: PUSH1 0x07
00000fdf: PUSH1 0x20
00000fe1: MSTORE
00000fe2: PUSH1 0x40
00000fe4: SWAP1
00000fe5: KECCAK256
00000fe6: DUP1
00000fe7: SLOAD
00000fe8: PUSH1 0x02
00000fea: DUP3
00000feb: ADD
00000fec: SLOAD
00000fed: PUSH1 0x03
00000fef: DUP4
00000ff0: ADD
00000ff1: SLOAD
00000ff2: PUSH1 0x04
00000ff4: DUP5
00000ff5: ADD
00000ff6: SLOAD
00000ff7: PUSH1 0x05
00000ff9: DUP6
00000ffa: ADD
00000ffb: SLOAD
00000ffc: PUSH1 0x01
00000ffe: SWAP1
00000fff: SWAP6
00001000: ADD
00001001: SLOAD
00001002: SWAP4
00001003: SWAP5
00001004: SWAP3
00001005: SWAP4
00001006: SWAP2
00001007: SWAP3
00001008: SWAP1
00001009: SWAP2
0000100a: PUSH2 0x1015
0000100d: SWAP1
0000100e: DUP7
0000100f: SWAP1
00001010: DUP10
00001011: PUSH2 0x2038
00001014: JUMP
00001015: JUMPDEST
00001016: PUSH1 0x07
00001018: PUSH1 0x00
0000101a: DUP13
0000101b: DUP2
0000101c: MSTORE
0000101d: PUSH1 0x20
0000101f: ADD
00001020: SWAP1
00001021: DUP2
00001022: MSTORE
00001023: PUSH1 0x20
00001025: ADD
00001026: PUSH1 0x00
00001028: KECCAK256
00001029: PUSH1 0x06
0000102b: ADD
0000102c: SLOAD
0000102d: PUSH1 0x07
0000102f: PUSH1 0x00
00001031: DUP14
00001032: DUP2
00001033: MSTORE
00001034: PUSH1 0x20
00001036: ADD
00001037: SWAP1
00001038: DUP2
00001039: MSTORE
0000103a: PUSH1 0x20
0000103c: ADD
0000103d: PUSH1 0x00
0000103f: KECCAK256
00001040: PUSH1 0x07
00001042: ADD
00001043: SLOAD
00001044: SWAP13
00001045: POP
00001046: SWAP13
00001047: POP
00001048: SWAP13
00001049: POP
0000104a: SWAP13
0000104b: POP
0000104c: SWAP13
0000104d: POP
0000104e: SWAP13
0000104f: POP
00001050: SWAP13
00001051: POP
00001052: SWAP13
00001053: POP
00001054: POP
00001055: POP
00001056: POP
00001057: POP
00001058: POP
00001059: SWAP2
0000105a: SWAP4
0000105b: SWAP6
0000105c: SWAP8
0000105d: POP
0000105e: SWAP2
0000105f: SWAP4
00001060: SWAP6
00001061: SWAP8
00001062: JUMP
00001063: JUMPDEST
00001064: PUSH1 0x0a
00001066: SLOAD
00001067: PUSH1 0x0b
00001069: SLOAD
0000106a: PUSH1 0x0c
0000106c: SLOAD
0000106d: PUSH1 0x0d
0000106f: SLOAD
00001070: PUSH1 0x0e
00001072: SLOAD
00001073: PUSH1 0x0f
00001075: SLOAD
00001076: PUSH1 0x10
00001078: SLOAD
00001079: PUSH1 0x11
0000107b: SLOAD
0000107c: PUSH1 0x12
0000107e: SLOAD
0000107f: PUSH1 0x13
00001081: SLOAD
00001082: PUSH1 0x14
00001084: SLOAD
00001085: DUP12
00001086: JUMP
00001087: JUMPDEST
00001088: PUSH1 0x05
0000108a: PUSH1 0x20
0000108c: MSTORE
0000108d: PUSH1 0x00
0000108f: SWAP1
00001090: DUP2
00001091: MSTORE
00001092: PUSH1 0x40
00001094: SWAP1
00001095: KECCAK256
00001096: SLOAD
00001097: DUP2
00001098: JUMP
00001099: JUMPDEST
0000109a: PUSH1 0x15
0000109c: SLOAD
0000109d: PUSH1 0x00
0000109f: SWAP1
000010a0: PUSH1 0xff
000010a2: AND
000010a3: ISZERO
000010a4: ISZERO
000010a5: PUSH1 0x01
000010a7: EQ
000010a8: PUSH2 0x10fd
000010ab: JUMPI
000010ac: PUSH1 0x40
000010ae: DUP1
000010af: MLOAD
000010b0: PUSH1 0xe5
000010b2: PUSH1 0x02
000010b4: EXP
000010b5: PUSH3 0x461bcd
000010b9: MUL
000010ba: DUP2
000010bb: MSTORE
000010bc: PUSH1 0x20
000010be: PUSH1 0x04
000010c0: DUP3
000010c1: ADD
000010c2: MSTORE
000010c3: PUSH1 0x29
000010c5: PUSH1 0x24
000010c7: DUP3
000010c8: ADD
000010c9: MSTORE
000010ca: PUSH1 0x00
000010cc: DUP1
000010cd: MLOAD
000010ce: PUSH1 0x20
000010d0: PUSH2 0x35ce
000010d3: DUP4
000010d4: CODECOPY
000010d5: DUP2
000010d6: MLOAD
000010d7: SWAP2
000010d8: MSTORE
000010d9: PUSH1 0x44
000010db: DUP3
000010dc: ADD
000010dd: MSTORE
000010de: PUSH1 0x00
000010e0: DUP1
000010e1: MLOAD
000010e2: PUSH1 0x20
000010e4: PUSH2 0x356e
000010e7: DUP4
000010e8: CODECOPY
000010e9: DUP2
000010ea: MLOAD
000010eb: SWAP2
000010ec: MSTORE
000010ed: PUSH1 0x64
000010ef: DUP3
000010f0: ADD
000010f1: MSTORE
000010f2: SWAP1
000010f3: MLOAD
000010f4: SWAP1
000010f5: DUP2
000010f6: SWAP1
000010f7: SUB
000010f8: PUSH1 0x84
000010fa: ADD
000010fb: SWAP1
000010fc: REVERT
000010fd: JUMPDEST
000010fe: CALLER
000010ff: ORIGIN
00001100: EQ
00001101: PUSH2 0x1142
00001104: JUMPI
00001105: PUSH1 0x40
00001107: DUP1
00001108: MLOAD
00001109: PUSH1 0xe5
0000110b: PUSH1 0x02
0000110d: EXP
0000110e: PUSH3 0x461bcd
00001112: MUL
00001113: DUP2
00001114: MSTORE
00001115: PUSH1 0x20
00001117: PUSH1 0x04
00001119: DUP3
0000111a: ADD
0000111b: MSTORE
0000111c: PUSH1 0x11
0000111e: PUSH1 0x24
00001120: DUP3
00001121: ADD
00001122: MSTORE
00001123: PUSH1 0x00
00001125: DUP1
00001126: MLOAD
00001127: PUSH1 0x20
00001129: PUSH2 0x360e
0000112c: DUP4
0000112d: CODECOPY
0000112e: DUP2
0000112f: MLOAD
00001130: SWAP2
00001131: MSTORE
00001132: PUSH1 0x44
00001134: DUP3
00001135: ADD
00001136: MSTORE
00001137: SWAP1
00001138: MLOAD
00001139: SWAP1
0000113a: DUP2
0000113b: SWAP1
0000113c: SUB
0000113d: PUSH1 0x64
0000113f: ADD
00001140: SWAP1
00001141: REVERT
00001142: JUMPDEST
00001143: DUP2
00001144: PUSH4 0x3b9aca00
00001149: DUP2
0000114a: LT
0000114b: ISZERO
0000114c: PUSH2 0x119a
0000114f: JUMPI
00001150: PUSH1 0x40
00001152: DUP1
00001153: MLOAD
00001154: PUSH1 0xe5
00001156: PUSH1 0x02
00001158: EXP
00001159: PUSH3 0x461bcd
0000115d: MUL
0000115e: DUP2
0000115f: MSTORE
00001160: PUSH1 0x20
00001162: PUSH1 0x04
00001164: DUP3
00001165: ADD
00001166: MSTORE
00001167: PUSH1 0x21
00001169: PUSH1 0x24
0000116b: DUP3
0000116c: ADD
0000116d: MSTORE
0000116e: PUSH1 0x00
00001170: DUP1
00001171: MLOAD
00001172: PUSH1 0x20
00001174: PUSH2 0x35ae
00001177: DUP4
00001178: CODECOPY
00001179: DUP2
0000117a: MLOAD
0000117b: SWAP2
0000117c: MSTORE
0000117d: PUSH1 0x44
0000117f: DUP3
00001180: ADD
00001181: MSTORE
00001182: PUSH1 0xf8
00001184: PUSH1 0x02
00001186: EXP
00001187: PUSH1 0x79
00001189: MUL
0000118a: PUSH1 0x64
0000118c: DUP3
0000118d: ADD
0000118e: MSTORE
0000118f: SWAP1
00001190: MLOAD
00001191: SWAP1
00001192: DUP2
00001193: SWAP1
00001194: SUB
00001195: PUSH1 0x84
00001197: ADD
00001198: SWAP1
00001199: REVERT
0000119a: JUMPDEST
0000119b: PUSH10 0x152d02c7e14af6800000
000011a6: DUP2
000011a7: GT
000011a8: ISZERO
000011a9: PUSH2 0x11ea
000011ac: JUMPI
000011ad: PUSH1 0x40
000011af: DUP1
000011b0: MLOAD
000011b1: PUSH1 0xe5
000011b3: PUSH1 0x02
000011b5: EXP
000011b6: PUSH3 0x461bcd
000011ba: MUL
000011bb: DUP2
000011bc: MSTORE
000011bd: PUSH1 0x20
000011bf: PUSH1 0x04
000011c1: DUP3
000011c2: ADD
000011c3: MSTORE
000011c4: PUSH1 0x0e
000011c6: PUSH1 0x24
000011c8: DUP3
000011c9: ADD
000011ca: MSTORE
000011cb: PUSH1 0x00
000011cd: DUP1
000011ce: MLOAD
000011cf: PUSH1 0x20
000011d1: PUSH2 0x35ee
000011d4: DUP4
000011d5: CODECOPY
000011d6: DUP2
000011d7: MLOAD
000011d8: SWAP2
000011d9: MSTORE
000011da: PUSH1 0x44
000011dc: DUP3
000011dd: ADD
000011de: MSTORE
000011df: SWAP1
000011e0: MLOAD
000011e1: SWAP1
000011e2: DUP2
000011e3: SWAP1
000011e4: SUB
000011e5: PUSH1 0x64
000011e7: ADD
000011e8: SWAP1
000011e9: REVERT
000011ea: JUMPDEST
000011eb: PUSH2 0x11f4
000011ee: PUSH1 0x00
000011f0: PUSH2 0x0958
000011f3: JUMP
000011f4: JUMPDEST
000011f5: CALLER
000011f6: PUSH1 0x00
000011f8: SWAP1
000011f9: DUP2
000011fa: MSTORE
000011fb: PUSH1 0x04
000011fd: PUSH1 0x20
000011ff: MSTORE
00001200: PUSH1 0x40
00001202: SWAP1
00001203: KECCAK256
00001204: SLOAD
00001205: SWAP2
00001206: POP
00001207: DUP2
00001208: ISZERO
00001209: ISZERO
0000120a: PUSH2 0x124b
0000120d: JUMPI
0000120e: PUSH1 0x40
00001210: DUP1
00001211: MLOAD
00001212: PUSH1 0xe5
00001214: PUSH1 0x02
00001216: EXP
00001217: PUSH3 0x461bcd
0000121b: MUL
0000121c: DUP2
0000121d: MSTORE
0000121e: PUSH1 0x20
00001220: PUSH1 0x04
00001222: DUP3
00001223: ADD
00001224: MSTORE
00001225: PUSH1 0x0d
00001227: PUSH1 0x24
00001229: DUP3
0000122a: ADD
0000122b: MSTORE
0000122c: PUSH1 0x00
0000122e: DUP1
0000122f: MLOAD
00001230: PUSH1 0x20
00001232: PUSH2 0x358e
00001235: DUP4
00001236: CODECOPY
00001237: DUP2
00001238: MLOAD
00001239: SWAP2
0000123a: MSTORE
0000123b: PUSH1 0x44
0000123d: DUP3
0000123e: ADD
0000123f: MSTORE
00001240: SWAP1
00001241: MLOAD
00001242: SWAP1
00001243: DUP2
00001244: SWAP1
00001245: SUB
00001246: PUSH1 0x64
00001248: ADD
00001249: SWAP1
0000124a: REVERT
0000124b: JUMPDEST
0000124c: PUSH2 0x1255
0000124f: DUP3
00001250: DUP5
00001251: PUSH2 0x347b
00001254: JUMP
00001255: JUMPDEST
00001256: PUSH1 0x00
00001258: DUP3
00001259: DUP2
0000125a: MSTORE
0000125b: PUSH1 0x07
0000125d: PUSH1 0x20
0000125f: DUP2
00001260: SWAP1
00001261: MSTORE
00001262: PUSH1 0x40
00001264: SWAP1
00001265: SWAP2
00001266: KECCAK256
00001267: ADD
00001268: SLOAD
00001269: PUSH2 0x1278
0000126c: SWAP1
0000126d: DUP5
0000126e: PUSH4 0xffffffff
00001273: PUSH2 0x282e
00001276: AND
00001277: JUMP
00001278: JUMPDEST
00001279: PUSH1 0x00
0000127b: DUP4
0000127c: DUP2
0000127d: MSTORE
0000127e: PUSH1 0x07
00001280: PUSH1 0x20
00001282: DUP2
00001283: SWAP1
00001284: MSTORE
00001285: PUSH1 0x40
00001287: SWAP1
00001288: SWAP2
00001289: KECCAK256
0000128a: ADD
0000128b: SSTORE
0000128c: PUSH1 0x0d
0000128e: SLOAD
0000128f: PUSH2 0x129e
00001292: SWAP1
00001293: DUP5
00001294: PUSH4 0xffffffff
00001299: PUSH2 0x282e
0000129c: AND
0000129d: JUMP
0000129e: JUMPDEST
0000129f: PUSH1 0x0d
000012a1: SSTORE
000012a2: PUSH1 0x00
000012a4: DUP3
000012a5: DUP2
000012a6: MSTORE
000012a7: PUSH1 0x06
000012a9: PUSH1 0x20
000012ab: MSTORE
000012ac: PUSH1 0x40
000012ae: DUP1
000012af: DUP3
000012b0: KECCAK256
000012b1: SLOAD
000012b2: SWAP1
000012b3: MLOAD
000012b4: PUSH1 0x01
000012b6: PUSH1 0xa0
000012b8: PUSH1 0x02
000012ba: EXP
000012bb: SUB
000012bc: SWAP1
000012bd: SWAP2
000012be: AND
000012bf: SWAP2
000012c0: DUP6
000012c1: ISZERO
000012c2: PUSH2 0x08fc
000012c5: MUL
000012c6: SWAP2
000012c7: DUP7
000012c8: SWAP2
000012c9: DUP2
000012ca: DUP2
000012cb: DUP2
000012cc: DUP6
000012cd: DUP9
000012ce: DUP9
000012cf: CALL
000012d0: SWAP4
000012d1: POP
000012d2: POP
000012d3: POP
000012d4: POP
000012d5: ISZERO
000012d6: DUP1
000012d7: ISZERO
000012d8: PUSH2 0x12e5
000012db: JUMPI
000012dc: RETURNDATASIZE
000012dd: PUSH1 0x00
000012df: DUP1
000012e0: RETURNDATACOPY
000012e1: RETURNDATASIZE
000012e2: PUSH1 0x00
000012e4: REVERT
000012e5: JUMPDEST
000012e6: POP
000012e7: PUSH1 0x40
000012e9: DUP1
000012ea: MLOAD
000012eb: DUP5
000012ec: DUP2
000012ed: MSTORE
000012ee: TIMESTAMP
000012ef: PUSH1 0x20
000012f1: DUP3
000012f2: ADD
000012f3: MSTORE
000012f4: DUP2
000012f5: MLOAD
000012f6: DUP5
000012f7: SWAP3
000012f8: PUSH32 0x2d722d012bc607b5f83f79311b4c51c5bba4bf05b49329dfe18bba104f9d1570
00001319: SWAP3
0000131a: DUP3
0000131b: SWAP1
0000131c: SUB
0000131d: ADD
0000131e: SWAP1
0000131f: LOG2
00001320: POP
00001321: POP
00001322: POP
00001323: JUMP
00001324: JUMPDEST
00001325: PUSH1 0x15
00001327: SLOAD
00001328: PUSH1 0x00
0000132a: SWAP1
0000132b: DUP2
0000132c: SWAP1
0000132d: PUSH1 0xff
0000132f: AND
00001330: ISZERO
00001331: ISZERO
00001332: PUSH1 0x01
00001334: EQ
00001335: PUSH2 0x138a
00001338: JUMPI
00001339: PUSH1 0x40
0000133b: DUP1
0000133c: MLOAD
0000133d: PUSH1 0xe5
0000133f: PUSH1 0x02
00001341: EXP
00001342: PUSH3 0x461bcd
00001346: MUL
00001347: DUP2
00001348: MSTORE
00001349: PUSH1 0x20
0000134b: PUSH1 0x04
0000134d: DUP3
0000134e: ADD
0000134f: MSTORE
00001350: PUSH1 0x29
00001352: PUSH1 0x24
00001354: DUP3
00001355: ADD
00001356: MSTORE
00001357: PUSH1 0x00
00001359: DUP1
0000135a: MLOAD
0000135b: PUSH1 0x20
0000135d: PUSH2 0x35ce
00001360: DUP4
00001361: CODECOPY
00001362: DUP2
00001363: MLOAD
00001364: SWAP2
00001365: MSTORE
00001366: PUSH1 0x44
00001368: DUP3
00001369: ADD
0000136a: MSTORE
0000136b: PUSH1 0x00
0000136d: DUP1
0000136e: MLOAD
0000136f: PUSH1 0x20
00001371: PUSH2 0x356e
00001374: DUP4
00001375: CODECOPY
00001376: DUP2
00001377: MLOAD
00001378: SWAP2
00001379: MSTORE
0000137a: PUSH1 0x64
0000137c: DUP3
0000137d: ADD
0000137e: MSTORE
0000137f: SWAP1
00001380: MLOAD
00001381: SWAP1
00001382: DUP2
00001383: SWAP1
00001384: SUB
00001385: PUSH1 0x84
00001387: ADD
00001388: SWAP1
00001389: REVERT
0000138a: JUMPDEST
0000138b: CALLER
0000138c: ORIGIN
0000138d: EQ
0000138e: PUSH2 0x13cf
00001391: JUMPI
00001392: PUSH1 0x40
00001394: DUP1
00001395: MLOAD
00001396: PUSH1 0xe5
00001398: PUSH1 0x02
0000139a: EXP
0000139b: PUSH3 0x461bcd
0000139f: MUL
000013a0: DUP2
000013a1: MSTORE
000013a2: PUSH1 0x20
000013a4: PUSH1 0x04
000013a6: DUP3
000013a7: ADD
000013a8: MSTORE
000013a9: PUSH1 0x11
000013ab: PUSH1 0x24
000013ad: DUP3
000013ae: ADD
000013af: MSTORE
000013b0: PUSH1 0x00
000013b2: DUP1
000013b3: MLOAD
000013b4: PUSH1 0x20
000013b6: PUSH2 0x360e
000013b9: DUP4
000013ba: CODECOPY
000013bb: DUP2
000013bc: MLOAD
000013bd: SWAP2
000013be: MSTORE
000013bf: PUSH1 0x44
000013c1: DUP3
000013c2: ADD
000013c3: MSTORE
000013c4: SWAP1
000013c5: MLOAD
000013c6: SWAP1
000013c7: DUP2
000013c8: SWAP1
000013c9: SUB
000013ca: PUSH1 0x64
000013cc: ADD
000013cd: SWAP1
000013ce: REVERT
000013cf: JUMPDEST
000013d0: DUP3
000013d1: PUSH4 0x3b9aca00
000013d6: DUP2
000013d7: LT
000013d8: ISZERO
000013d9: PUSH2 0x1427
000013dc: JUMPI
000013dd: PUSH1 0x40
000013df: DUP1
000013e0: MLOAD
000013e1: PUSH1 0xe5
000013e3: PUSH1 0x02
000013e5: EXP
000013e6: PUSH3 0x461bcd
000013ea: MUL
000013eb: DUP2
000013ec: MSTORE
000013ed: PUSH1 0x20
000013ef: PUSH1 0x04
000013f1: DUP3
000013f2: ADD
000013f3: MSTORE
000013f4: PUSH1 0x21
000013f6: PUSH1 0x24
000013f8: DUP3
000013f9: ADD
000013fa: MSTORE
000013fb: PUSH1 0x00
000013fd: DUP1
000013fe: MLOAD
000013ff: PUSH1 0x20
00001401: PUSH2 0x35ae
00001404: DUP4
00001405: CODECOPY
00001406: DUP2
00001407: MLOAD
00001408: SWAP2
00001409: MSTORE
0000140a: PUSH1 0x44
0000140c: DUP3
0000140d: ADD
0000140e: MSTORE
0000140f: PUSH1 0xf8
00001411: PUSH1 0x02
00001413: EXP
00001414: PUSH1 0x79
00001416: MUL
00001417: PUSH1 0x64
00001419: DUP3
0000141a: ADD
0000141b: MSTORE
0000141c: SWAP1
0000141d: MLOAD
0000141e: SWAP1
0000141f: DUP2
00001420: SWAP1
00001421: SUB
00001422: PUSH1 0x84
00001424: ADD
00001425: SWAP1
00001426: REVERT
00001427: JUMPDEST
00001428: PUSH10 0x152d02c7e14af6800000
00001433: DUP2
00001434: GT
00001435: ISZERO
00001436: PUSH2 0x1477
00001439: JUMPI
0000143a: PUSH1 0x40
0000143c: DUP1
0000143d: MLOAD
0000143e: PUSH1 0xe5
00001440: PUSH1 0x02
00001442: EXP
00001443: PUSH3 0x461bcd
00001447: MUL
00001448: DUP2
00001449: MSTORE
0000144a: PUSH1 0x20
0000144c: PUSH1 0x04
0000144e: DUP3
0000144f: ADD
00001450: MSTORE
00001451: PUSH1 0x0e
00001453: PUSH1 0x24
00001455: DUP3
00001456: ADD
00001457: MSTORE
00001458: PUSH1 0x00
0000145a: DUP1
0000145b: MLOAD
0000145c: PUSH1 0x20
0000145e: PUSH2 0x35ee
00001461: DUP4
00001462: CODECOPY
00001463: DUP2
00001464: MLOAD
00001465: SWAP2
00001466: MSTORE
00001467: PUSH1 0x44
00001469: DUP3
0000146a: ADD
0000146b: MSTORE
0000146c: SWAP1
0000146d: MLOAD
0000146e: SWAP1
0000146f: DUP2
00001470: SWAP1
00001471: SUB
00001472: PUSH1 0x64
00001474: ADD
00001475: SWAP1
00001476: REVERT
00001477: JUMPDEST
00001478: PUSH2 0x1481
0000147b: PUSH1 0x00
0000147d: PUSH2 0x0958
00001480: JUMP
00001481: JUMPDEST
00001482: CALLER
00001483: PUSH1 0x00
00001485: SWAP1
00001486: DUP2
00001487: MSTORE
00001488: PUSH1 0x04
0000148a: PUSH1 0x20
0000148c: MSTORE
0000148d: PUSH1 0x40
0000148f: SWAP1
00001490: KECCAK256
00001491: SLOAD
00001492: SWAP3
00001493: POP
00001494: DUP3
00001495: ISZERO
00001496: ISZERO
00001497: PUSH2 0x14d8
0000149a: JUMPI
0000149b: PUSH1 0x40
0000149d: DUP1
0000149e: MLOAD
0000149f: PUSH1 0xe5
000014a1: PUSH1 0x02
000014a3: EXP
000014a4: PUSH3 0x461bcd
000014a8: MUL
000014a9: DUP2
000014aa: MSTORE
000014ab: PUSH1 0x20
000014ad: PUSH1 0x04
000014af: DUP3
000014b0: ADD
000014b1: MSTORE
000014b2: PUSH1 0x0d
000014b4: PUSH1 0x24
000014b6: DUP3
000014b7: ADD
000014b8: MSTORE
000014b9: PUSH1 0x00
000014bb: DUP1
000014bc: MLOAD
000014bd: PUSH1 0x20
000014bf: PUSH2 0x358e
000014c2: DUP4
000014c3: CODECOPY
000014c4: DUP2
000014c5: MLOAD
000014c6: SWAP2
000014c7: MSTORE
000014c8: PUSH1 0x44
000014ca: DUP3
000014cb: ADD
000014cc: MSTORE
000014cd: SWAP1
000014ce: MLOAD
000014cf: SWAP1
000014d0: DUP2
000014d1: SWAP1
000014d2: SUB
000014d3: PUSH1 0x64
000014d5: ADD
000014d6: SWAP1
000014d7: REVERT
000014d8: JUMPDEST
000014d9: PUSH1 0x00
000014db: DUP4
000014dc: DUP2
000014dd: MSTORE
000014de: PUSH1 0x06
000014e0: PUSH1 0x20
000014e2: MSTORE
000014e3: PUSH1 0x40
000014e5: SWAP1
000014e6: KECCAK256
000014e7: PUSH1 0x02
000014e9: ADD
000014ea: SLOAD
000014eb: SWAP2
000014ec: POP
000014ed: DUP2
000014ee: ISZERO
000014ef: ISZERO
000014f0: PUSH2 0x1543
000014f3: JUMPI
000014f4: PUSH1 0x40
000014f6: DUP1
000014f7: MLOAD
000014f8: PUSH1 0xe5
000014fa: PUSH1 0x02
000014fc: EXP
000014fd: PUSH3 0x461bcd
00001501: MUL
00001502: DUP2
00001503: MSTORE
00001504: PUSH1 0x20
00001506: PUSH1 0x04
00001508: DUP3
00001509: ADD
0000150a: MSTORE
0000150b: PUSH1 0x11
0000150d: PUSH1 0x24
0000150f: DUP3
00001510: ADD
00001511: MSTORE
00001512: PUSH32 0x6572726f722c206e656564206166664944000000000000000000000000000000
00001533: PUSH1 0x44
00001535: DUP3
00001536: ADD
00001537: MSTORE
00001538: SWAP1
00001539: MLOAD
0000153a: SWAP1
0000153b: DUP2
0000153c: SWAP1
0000153d: SUB
0000153e: PUSH1 0x64
00001540: ADD
00001541: SWAP1
00001542: REVERT
00001543: JUMPDEST
00001544: PUSH2 0x154d
00001547: DUP4
00001548: DUP6
00001549: PUSH2 0x347b
0000154c: JUMP
0000154d: JUMPDEST
0000154e: PUSH2 0x1558
00001551: DUP4
00001552: DUP4
00001553: DUP7
00001554: PUSH2 0x0a19
00001557: JUMP
00001558: JUMPDEST
00001559: PUSH1 0x40
0000155b: DUP1
0000155c: MLOAD
0000155d: DUP6
0000155e: DUP2
0000155f: MSTORE
00001560: TIMESTAMP
00001561: PUSH1 0x20
00001563: DUP3
00001564: ADD
00001565: MSTORE
00001566: DUP2
00001567: MLOAD
00001568: DUP6
00001569: SWAP3
0000156a: PUSH32 0xef578942396a62165c09f6f9fb96b70905e4521e022eab9b718f8436083620d5
0000158b: SWAP3
0000158c: DUP3
0000158d: SWAP1
0000158e: SUB
0000158f: ADD
00001590: SWAP1
00001591: LOG2
00001592: POP
00001593: POP
00001594: POP
00001595: POP
00001596: JUMP
00001597: JUMPDEST
00001598: PUSH1 0x15
0000159a: SLOAD
0000159b: PUSH1 0xff
0000159d: AND
0000159e: ISZERO
0000159f: ISZERO
000015a0: PUSH1 0x01
000015a2: EQ
000015a3: PUSH2 0x15f8
000015a6: JUMPI
000015a7: PUSH1 0x40
000015a9: DUP1
000015aa: MLOAD
000015ab: PUSH1 0xe5
000015ad: PUSH1 0x02
000015af: EXP
000015b0: PUSH3 0x461bcd
000015b4: MUL
000015b5: DUP2
000015b6: MSTORE
000015b7: PUSH1 0x20
000015b9: PUSH1 0x04
000015bb: DUP3
000015bc: ADD
000015bd: MSTORE
000015be: PUSH1 0x29
000015c0: PUSH1 0x24
000015c2: DUP3
000015c3: ADD
000015c4: MSTORE
000015c5: PUSH1 0x00
000015c7: DUP1
000015c8: MLOAD
000015c9: PUSH1 0x20
000015cb: PUSH2 0x35ce
000015ce: DUP4
000015cf: CODECOPY
000015d0: DUP2
000015d1: MLOAD
000015d2: SWAP2
000015d3: MSTORE
000015d4: PUSH1 0x44
000015d6: DUP3
000015d7: ADD
000015d8: MSTORE
000015d9: PUSH1 0x00
000015db: DUP1
000015dc: MLOAD
000015dd: PUSH1 0x20
000015df: PUSH2 0x356e
000015e2: DUP4
000015e3: CODECOPY
000015e4: DUP2
000015e5: MLOAD
000015e6: SWAP2
000015e7: MSTORE
000015e8: PUSH1 0x64
000015ea: DUP3
000015eb: ADD
000015ec: MSTORE
000015ed: SWAP1
000015ee: MLOAD
000015ef: SWAP1
000015f0: DUP2
000015f1: SWAP1
000015f2: SUB
000015f3: PUSH1 0x84
000015f5: ADD
000015f6: SWAP1
000015f7: REVERT
000015f8: JUMPDEST
000015f9: PUSH2 0x1601
000015fc: DUP2
000015fd: PUSH2 0x0958
00001600: JUMP
00001601: JUMPDEST
00001602: POP
00001603: JUMP
00001604: JUMPDEST
00001605: PUSH1 0x01
00001607: PUSH1 0xa0
00001609: PUSH1 0x02
0000160b: EXP
0000160c: SUB
0000160d: DUP2
0000160e: AND
0000160f: PUSH1 0x00
00001611: SWAP1
00001612: DUP2
00001613: MSTORE
00001614: PUSH1 0x04
00001616: PUSH1 0x20
00001618: MSTORE
00001619: PUSH1 0x40
0000161b: DUP2
0000161c: KECCAK256
0000161d: SLOAD
0000161e: PUSH1 0x12
00001620: SLOAD
00001621: PUSH1 0x13
00001623: SLOAD
00001624: PUSH1 0x11
00001626: SLOAD
00001627: PUSH1 0x0a
00001629: SLOAD
0000162a: DUP6
0000162b: SWAP5
0000162c: DUP6
0000162d: SWAP5
0000162e: DUP6
0000162f: SWAP5
00001630: DUP6
00001631: SWAP5
00001632: DUP6
00001633: SWAP5
00001634: DUP6
00001635: SWAP1
00001636: TIMESTAMP
00001637: LT
00001638: PUSH2 0x1676
0000163b: JUMPI
0000163c: PUSH1 0x01
0000163e: SLOAD
0000163f: PUSH1 0x0a
00001641: SLOAD
00001642: PUSH2 0x1657
00001645: SWAP2
00001646: SWAP1
00001647: PUSH2 0x0e3a
0000164a: SWAP1
0000164b: TIMESTAMP
0000164c: SWAP1
0000164d: PUSH4 0xffffffff
00001652: PUSH2 0x26ef
00001655: AND
00001656: JUMP
00001657: JUMPDEST
00001658: PUSH1 0x0e
0000165a: SLOAD
0000165b: PUSH1 0x10
0000165d: SLOAD
0000165e: SWAP1
0000165f: SWAP6
00001660: POP
00001661: SWAP4
00001662: POP
00001663: PUSH1 0x01
00001665: ADD
00001666: SWAP1
00001667: POP
00001668: PUSH2 0x1672
0000166b: DUP2
0000166c: DUP6
0000166d: DUP6
0000166e: PUSH2 0x2730
00001671: JUMP
00001672: JUMPDEST
00001673: POP
00001674: SWAP2
00001675: POP
00001676: JUMPDEST
00001677: PUSH1 0x00
00001679: DUP6
0000167a: DUP2
0000167b: MSTORE
0000167c: PUSH1 0x07
0000167e: PUSH1 0x20
00001680: MSTORE
00001681: PUSH1 0x40
00001683: SWAP1
00001684: KECCAK256
00001685: PUSH1 0x01
00001687: ADD
00001688: SLOAD
00001689: PUSH2 0x1692
0000168c: SWAP1
0000168d: DUP4
0000168e: PUSH2 0x22e0
00001691: JUMP
00001692: JUMPDEST
00001693: PUSH2 0x169c
00001696: DUP7
00001697: DUP5
00001698: PUSH2 0x232f
0000169b: JUMP
0000169c: JUMPDEST
0000169d: PUSH2 0x16ab
000016a0: PUSH1 0x64
000016a2: PUSH2 0x0e3a
000016a5: DUP10
000016a6: DUP8
000016a7: PUSH2 0x232f
000016aa: JUMP
000016ab: JUMPDEST
000016ac: PUSH1 0x00
000016ae: DUP9
000016af: DUP2
000016b0: MSTORE
000016b1: PUSH1 0x06
000016b3: PUSH1 0x20
000016b5: MSTORE
000016b6: PUSH1 0x40
000016b8: SWAP1
000016b9: KECCAK256
000016ba: PUSH1 0x03
000016bc: DUP2
000016bd: ADD
000016be: SLOAD
000016bf: PUSH1 0x01
000016c1: SWAP1
000016c2: SWAP2
000016c3: ADD
000016c4: SLOAD
000016c5: SWAP4
000016c6: SWAP15
000016c7: POP
000016c8: SWAP2
000016c9: SWAP13
000016ca: POP
000016cb: SWAP11
000016cc: POP
000016cd: SWAP9
000016ce: POP
000016cf: SWAP5
000016d0: SWAP7
000016d1: POP
000016d2: SWAP4
000016d3: SWAP5
000016d4: POP
000016d5: DUP6
000016d6: SWAP4
000016d7: POP
000016d8: POP
000016d9: POP
000016da: POP
000016db: POP
000016dc: SWAP2
000016dd: SWAP4
000016de: SWAP6
000016df: POP
000016e0: SWAP2
000016e1: SWAP4
000016e2: SWAP6
000016e3: JUMP
000016e4: JUMPDEST
000016e5: PUSH1 0x15
000016e7: SLOAD
000016e8: PUSH1 0x00
000016ea: SWAP1
000016eb: DUP2
000016ec: SWAP1
000016ed: PUSH1 0xff
000016ef: AND
000016f0: ISZERO
000016f1: ISZERO
000016f2: PUSH1 0x01
000016f4: EQ
000016f5: PUSH2 0x174a
000016f8: JUMPI
000016f9: PUSH1 0x40
000016fb: DUP1
000016fc: MLOAD
000016fd: PUSH1 0xe5
000016ff: PUSH1 0x02
00001701: EXP
00001702: PUSH3 0x461bcd
00001706: MUL
00001707: DUP2
00001708: MSTORE
00001709: PUSH1 0x20
0000170b: PUSH1 0x04
0000170d: DUP3
0000170e: ADD
0000170f: MSTORE
00001710: PUSH1 0x29
00001712: PUSH1 0x24
00001714: DUP3
00001715: ADD
00001716: MSTORE
00001717: PUSH1 0x00
00001719: DUP1
0000171a: MLOAD
0000171b: PUSH1 0x20
0000171d: PUSH2 0x35ce
00001720: DUP4
00001721: CODECOPY
00001722: DUP2
00001723: MLOAD
00001724: SWAP2
00001725: MSTORE
00001726: PUSH1 0x44
00001728: DUP3
00001729: ADD
0000172a: MSTORE
0000172b: PUSH1 0x00
0000172d: DUP1
0000172e: MLOAD
0000172f: PUSH1 0x20
00001731: PUSH2 0x356e
00001734: DUP4
00001735: CODECOPY
00001736: DUP2
00001737: MLOAD
00001738: SWAP2
00001739: MSTORE
0000173a: PUSH1 0x64
0000173c: DUP3
0000173d: ADD
0000173e: MSTORE
0000173f: SWAP1
00001740: MLOAD
00001741: SWAP1
00001742: DUP2
00001743: SWAP1
00001744: SUB
00001745: PUSH1 0x84
00001747: ADD
00001748: SWAP1
00001749: REVERT
0000174a: JUMPDEST
0000174b: CALLER
0000174c: ORIGIN
0000174d: EQ
0000174e: PUSH2 0x178f
00001751: JUMPI
00001752: PUSH1 0x40
00001754: DUP1
00001755: MLOAD
00001756: PUSH1 0xe5
00001758: PUSH1 0x02
0000175a: EXP
0000175b: PUSH3 0x461bcd
0000175f: MUL
00001760: DUP2
00001761: MSTORE
00001762: PUSH1 0x20
00001764: PUSH1 0x04
00001766: DUP3
00001767: ADD
00001768: MSTORE
00001769: PUSH1 0x11
0000176b: PUSH1 0x24
0000176d: DUP3
0000176e: ADD
0000176f: MSTORE
00001770: PUSH1 0x00
00001772: DUP1
00001773: MLOAD
00001774: PUSH1 0x20
00001776: PUSH2 0x360e
00001779: DUP4
0000177a: CODECOPY
0000177b: DUP2
0000177c: MLOAD
0000177d: SWAP2
0000177e: MSTORE
0000177f: PUSH1 0x44
00001781: DUP3
00001782: ADD
00001783: MSTORE
00001784: SWAP1
00001785: MLOAD
00001786: SWAP1
00001787: DUP2
00001788: SWAP1
00001789: SUB
0000178a: PUSH1 0x64
0000178c: ADD
0000178d: SWAP1
0000178e: REVERT
0000178f: JUMPDEST
00001790: CALLVALUE
00001791: PUSH4 0x3b9aca00
00001796: DUP2
00001797: LT
00001798: ISZERO
00001799: PUSH2 0x17e7
0000179c: JUMPI
0000179d: PUSH1 0x40
0000179f: DUP1
000017a0: MLOAD
000017a1: PUSH1 0xe5
000017a3: PUSH1 0x02
000017a5: EXP
000017a6: PUSH3 0x461bcd
000017aa: MUL
000017ab: DUP2
000017ac: MSTORE
000017ad: PUSH1 0x20
000017af: PUSH1 0x04
000017b1: DUP3
000017b2: ADD
000017b3: MSTORE
000017b4: PUSH1 0x21
000017b6: PUSH1 0x24
000017b8: DUP3
000017b9: ADD
000017ba: MSTORE
000017bb: PUSH1 0x00
000017bd: DUP1
000017be: MLOAD
000017bf: PUSH1 0x20
000017c1: PUSH2 0x35ae
000017c4: DUP4
000017c5: CODECOPY
000017c6: DUP2
000017c7: MLOAD
000017c8: SWAP2
000017c9: MSTORE
000017ca: PUSH1 0x44
000017cc: DUP3
000017cd: ADD
000017ce: MSTORE
000017cf: PUSH1 0xf8
000017d1: PUSH1 0x02
000017d3: EXP
000017d4: PUSH1 0x79
000017d6: MUL
000017d7: PUSH1 0x64
000017d9: DUP3
000017da: ADD
000017db: MSTORE
000017dc: SWAP1
000017dd: MLOAD
000017de: SWAP1
000017df: DUP2
000017e0: SWAP1
000017e1: SUB
000017e2: PUSH1 0x84
000017e4: ADD
000017e5: SWAP1
000017e6: REVERT
000017e7: JUMPDEST
000017e8: PUSH10 0x152d02c7e14af6800000
000017f3: DUP2
000017f4: GT
000017f5: ISZERO
000017f6: PUSH2 0x1837
000017f9: JUMPI
000017fa: PUSH1 0x40
000017fc: DUP1
000017fd: MLOAD
000017fe: PUSH1 0xe5
00001800: PUSH1 0x02
00001802: EXP
00001803: PUSH3 0x461bcd
00001807: MUL
00001808: DUP2
00001809: MSTORE
0000180a: PUSH1 0x20
0000180c: PUSH1 0x04
0000180e: DUP3
0000180f: ADD
00001810: MSTORE
00001811: PUSH1 0x0e
00001813: PUSH1 0x24
00001815: DUP3
00001816: ADD
00001817: MSTORE
00001818: PUSH1 0x00
0000181a: DUP1
0000181b: MLOAD
0000181c: PUSH1 0x20
0000181e: PUSH2 0x35ee
00001821: DUP4
00001822: CODECOPY
00001823: DUP2
00001824: MLOAD
00001825: SWAP2
00001826: MSTORE
00001827: PUSH1 0x44
00001829: DUP3
0000182a: ADD
0000182b: MSTORE
0000182c: SWAP1
0000182d: MLOAD
0000182e: SWAP1
0000182f: DUP2
00001830: SWAP1
00001831: SUB
00001832: PUSH1 0x64
00001834: ADD
00001835: SWAP1
00001836: REVERT
00001837: JUMPDEST
00001838: PUSH2 0x1841
0000183b: PUSH1 0x00
0000183d: PUSH2 0x0958
00001840: JUMP
00001841: JUMPDEST
00001842: CALLER
00001843: PUSH1 0x00
00001845: DUP2
00001846: DUP2
00001847: MSTORE
00001848: PUSH1 0x04
0000184a: PUSH1 0x20
0000184c: MSTORE
0000184d: PUSH1 0x40
0000184f: SWAP1
00001850: KECCAK256
00001851: SLOAD
00001852: ISZERO
00001853: ISZERO
00001854: PUSH2 0x18aa
00001857: JUMPI
00001858: PUSH1 0x09
0000185a: DUP1
0000185b: SLOAD
0000185c: PUSH1 0x01
0000185e: PUSH1 0xa0
00001860: PUSH1 0x02
00001862: EXP
00001863: SUB
00001864: DUP4
00001865: AND
00001866: PUSH1 0x00
00001868: DUP2
00001869: DUP2
0000186a: MSTORE
0000186b: PUSH1 0x04
0000186d: PUSH1 0x20
0000186f: SWAP1
00001870: DUP2
00001871: MSTORE
00001872: PUSH1 0x40
00001874: DUP1
00001875: DUP4
00001876: KECCAK256
00001877: DUP6
00001878: SWAP1
00001879: SSTORE
0000187a: SWAP4
0000187b: DUP3
0000187c: MSTORE
0000187d: PUSH1 0x06
0000187f: SWAP1
00001880: MSTORE
00001881: SWAP2
00001882: SWAP1
00001883: SWAP2
00001884: KECCAK256
00001885: DUP1
00001886: SLOAD
00001887: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000189c: NOT
0000189d: AND
0000189e: SWAP1
0000189f: SWAP2
000018a0: OR
000018a1: SWAP1
000018a2: SSTORE
000018a3: DUP1
000018a4: SLOAD
000018a5: PUSH1 0x01
000018a7: ADD
000018a8: SWAP1
000018a9: SSTORE
000018aa: JUMPDEST
000018ab: CALLER
000018ac: PUSH1 0x00
000018ae: SWAP1
000018af: DUP2
000018b0: MSTORE
000018b1: PUSH1 0x04
000018b3: PUSH1 0x20
000018b5: MSTORE
000018b6: PUSH1 0x40
000018b8: SWAP1
000018b9: KECCAK256
000018ba: SLOAD
000018bb: SWAP4
000018bc: POP
000018bd: PUSH2 0x18c6
000018c0: DUP5
000018c1: DUP7
000018c2: PUSH2 0x3271
000018c5: JUMP
000018c6: JUMPDEST
000018c7: SWAP3
000018c8: POP
000018c9: DUP3
000018ca: ISZERO
000018cb: ISZERO
000018cc: PUSH2 0x191f
000018cf: JUMPI
000018d0: PUSH1 0x40
000018d2: DUP1
000018d3: MLOAD
000018d4: PUSH1 0xe5
000018d6: PUSH1 0x02
000018d8: EXP
000018d9: PUSH3 0x461bcd
000018dd: MUL
000018de: DUP2
000018df: MSTORE
000018e0: PUSH1 0x20
000018e2: PUSH1 0x04
000018e4: DUP3
000018e5: ADD
000018e6: MSTORE
000018e7: PUSH1 0x0f
000018e9: PUSH1 0x24
000018eb: DUP3
000018ec: ADD
000018ed: MSTORE
000018ee: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000
0000190f: PUSH1 0x44
00001911: DUP3
00001912: ADD
00001913: MSTORE
00001914: SWAP1
00001915: MLOAD
00001916: SWAP1
00001917: DUP2
00001918: SWAP1
00001919: SUB
0000191a: PUSH1 0x64
0000191c: ADD
0000191d: SWAP1
0000191e: REVERT
0000191f: JUMPDEST
00001920: PUSH2 0x192c
00001923: DUP5
00001924: DUP5
00001925: CALLVALUE
00001926: PUSH1 0x00
00001928: PUSH2 0x2840
0000192b: JUMP
0000192c: JUMPDEST
0000192d: PUSH1 0x40
0000192f: DUP1
00001930: MLOAD
00001931: CALLVALUE
00001932: DUP2
00001933: MSTORE
00001934: TIMESTAMP
00001935: PUSH1 0x20
00001937: DUP3
00001938: ADD
00001939: MSTORE
0000193a: DUP2
0000193b: MLOAD
0000193c: DUP7
0000193d: SWAP3
0000193e: PUSH32 0xf7853eb9f87cc79be5225a10e98aeed3d2359ad4033582aabb0511937fcbda4f
0000195f: SWAP3
00001960: DUP3
00001961: SWAP1
00001962: SUB
00001963: ADD
00001964: SWAP1
00001965: LOG2
00001966: POP
00001967: POP
00001968: POP
00001969: POP
0000196a: POP
0000196b: JUMP
0000196c: JUMPDEST
0000196d: PUSH1 0x12
0000196f: SLOAD
00001970: PUSH1 0x13
00001972: SLOAD
00001973: PUSH1 0x11
00001975: SLOAD
00001976: PUSH1 0x0a
00001978: SLOAD
00001979: PUSH1 0x14
0000197b: SLOAD
0000197c: PUSH1 0x00
0000197e: SWAP5
0000197f: DUP6
00001980: SWAP5
00001981: DUP6
00001982: SWAP5
00001983: DUP6
00001984: SWAP5
00001985: DUP6
00001986: SWAP5
00001987: DUP6
00001988: SWAP5
00001989: SWAP4
0000198a: SWAP3
0000198b: SWAP2
0000198c: SWAP1
0000198d: DUP6
0000198e: TIMESTAMP
0000198f: DUP4
00001990: GT
00001991: PUSH2 0x19f8
00001994: JUMPI
00001995: PUSH1 0x01
00001997: SLOAD
00001998: PUSH1 0x0a
0000199a: SLOAD
0000199b: PUSH2 0x19b0
0000199e: SWAP2
0000199f: SWAP1
000019a0: PUSH2 0x0e3a
000019a3: SWAP1
000019a4: TIMESTAMP
000019a5: SWAP1
000019a6: PUSH4 0xffffffff
000019ab: PUSH2 0x26ef
000019ae: AND
000019af: JUMP
000019b0: JUMPDEST
000019b1: PUSH1 0x0e
000019b3: SLOAD
000019b4: PUSH1 0x10
000019b6: SLOAD
000019b7: SWAP1
000019b8: SWAP8
000019b9: POP
000019ba: SWAP6
000019bb: POP
000019bc: PUSH1 0x01
000019be: ADD
000019bf: SWAP1
000019c0: POP
000019c1: PUSH2 0x19cb
000019c4: DUP2
000019c5: DUP8
000019c6: DUP8
000019c7: PUSH2 0x2730
000019ca: JUMP
000019cb: JUMPDEST
000019cc: PUSH1 0x01
000019ce: SLOAD
000019cf: SWAP2
000019d0: SWAP6
000019d1: POP
000019d2: SWAP3
000019d3: POP
000019d4: PUSH2 0x19f5
000019d7: SWAP1
000019d8: PUSH2 0x19e8
000019db: SWAP1
000019dc: DUP4
000019dd: SWAP1
000019de: PUSH4 0xffffffff
000019e3: PUSH2 0x2800
000019e6: AND
000019e7: JUMP
000019e8: JUMPDEST
000019e9: DUP5
000019ea: SWAP1
000019eb: PUSH4 0xffffffff
000019f0: PUSH2 0x282e
000019f3: AND
000019f4: JUMP
000019f5: JUMPDEST
000019f6: SWAP3
000019f7: POP
000019f8: JUMPDEST
000019f9: DUP3
000019fa: PUSH2 0x1a04
000019fd: DUP8
000019fe: DUP8
000019ff: DUP8
00001a00: PUSH2 0x0ee4
00001a03: JUMP
00001a04: JUMPDEST
00001a05: PUSH1 0x10
00001a07: SLOAD
00001a08: PUSH2 0x1a11
00001a0b: SWAP1
00001a0c: DUP8
00001a0d: PUSH2 0x22e0
00001a10: JUMP
00001a11: JUMPDEST
00001a12: PUSH2 0x1a1c
00001a15: DUP10
00001a16: DUP10
00001a17: DUP10
00001a18: PUSH2 0x2038
00001a1b: JUMP
00001a1c: JUMPDEST
00001a1d: PUSH2 0x1a3c
00001a20: PUSH1 0x64
00001a22: PUSH2 0x0e3a
00001a25: DUP9
00001a26: PUSH2 0x1a30
00001a29: DUP15
00001a2a: DUP15
00001a2b: DUP15
00001a2c: PUSH2 0x2038
00001a2f: JUMP
00001a30: JUMPDEST
00001a31: SWAP1
00001a32: PUSH4 0xffffffff
00001a37: PUSH2 0x26ef
00001a3a: AND
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH2 0x1a47
00001a40: DUP12
00001a41: DUP12
00001a42: DUP12
00001a43: PUSH2 0x1a61
00001a46: JUMP
00001a47: JUMPDEST
00001a48: SWAP12
00001a49: POP
00001a4a: SWAP12
00001a4b: POP
00001a4c: SWAP12
00001a4d: POP
00001a4e: SWAP12
00001a4f: POP
00001a50: SWAP12
00001a51: POP
00001a52: SWAP12
00001a53: POP
00001a54: POP
00001a55: POP
00001a56: POP
00001a57: POP
00001a58: POP
00001a59: POP
00001a5a: SWAP1
00001a5b: SWAP2
00001a5c: SWAP3
00001a5d: SWAP4
00001a5e: SWAP5
00001a5f: SWAP6
00001a60: JUMP
00001a61: JUMPDEST
00001a62: PUSH1 0x00
00001a64: DUP1
00001a65: PUSH1 0x00
00001a67: DUP6
00001a68: GT
00001a69: DUP1
00001a6a: ISZERO
00001a6b: PUSH2 0x1a74
00001a6e: JUMPI
00001a6f: POP
00001a70: PUSH1 0x00
00001a72: DUP5
00001a73: GT
00001a74: JUMPDEST
00001a75: DUP1
00001a76: ISZERO
00001a77: PUSH2 0x1a80
00001a7a: JUMPI
00001a7b: POP
00001a7c: PUSH1 0x00
00001a7e: DUP4
00001a7f: GT
00001a80: JUMPDEST
00001a81: ISZERO
00001a82: PUSH2 0x1a97
00001a85: JUMPI
00001a86: PUSH2 0x1a90
00001a89: DUP6
00001a8a: DUP6
00001a8b: DUP6
00001a8c: PUSH2 0x0ee4
00001a8f: JUMP
00001a90: JUMPDEST
00001a91: SWAP2
00001a92: POP
00001a93: PUSH2 0x1aa7
00001a96: JUMP
00001a97: JUMPDEST
00001a98: PUSH2 0x1aa4
00001a9b: PUSH1 0x00
00001a9d: DUP1
00001a9e: PUSH1 0x00
00001aa0: PUSH2 0x0ee4
00001aa3: JUMP
00001aa4: JUMPDEST
00001aa5: SWAP2
00001aa6: POP
00001aa7: JUMPDEST
00001aa8: PUSH1 0x10
00001aaa: SLOAD
00001aab: PUSH2 0x1ab4
00001aae: SWAP1
00001aaf: DUP5
00001ab0: PUSH2 0x22e0
00001ab3: JUMP
00001ab4: JUMPDEST
00001ab5: SWAP1
00001ab6: POP
00001ab7: DUP1
00001ab8: ISZERO
00001ab9: ISZERO
00001aba: PUSH2 0x1ac6
00001abd: JUMPI
00001abe: PUSH1 0x00
00001ac0: SWAP2
00001ac1: POP
00001ac2: PUSH2 0x1b12
00001ac5: JUMP
00001ac6: JUMPDEST
00001ac7: PUSH2 0x1af6
00001aca: DUP2
00001acb: PUSH2 0x0e3a
00001ace: PUSH1 0xb4
00001ad0: DUP2
00001ad1: PUSH1 0x64
00001ad3: PUSH2 0x1aea
00001ad6: DUP9
00001ad7: PUSH8 0x0de0b6b3a7640000
00001ae0: PUSH4 0xffffffff
00001ae5: PUSH2 0x2800
00001ae8: AND
00001ae9: JUMP
00001aea: JUMPDEST
00001aeb: SWAP1
00001aec: PUSH4 0xffffffff
00001af1: PUSH2 0x2800
00001af4: AND
00001af5: JUMP
00001af6: JUMPDEST
00001af7: SWAP2
00001af8: POP
00001af9: PUSH7 0x01c6bf52634000
00001b01: DUP3
00001b02: GT
00001b03: ISZERO
00001b04: PUSH2 0x1b12
00001b07: JUMPI
00001b08: PUSH7 0x01c6bf52634000
00001b10: SWAP2
00001b11: POP
00001b12: JUMPDEST
00001b13: POP
00001b14: SWAP4
00001b15: SWAP3
00001b16: POP
00001b17: POP
00001b18: POP
00001b19: JUMP
00001b1a: JUMPDEST
00001b1b: PUSH1 0x11
00001b1d: SLOAD
00001b1e: PUSH1 0x00
00001b20: SWAP1
00001b21: PUSH2 0x1b3c
00001b24: SWAP1
00001b25: PUSH2 0x0e3a
00001b28: DUP5
00001b29: PUSH8 0x0de0b6b3a7640000
00001b32: PUSH4 0xffffffff
00001b37: PUSH2 0x2800
00001b3a: AND
00001b3b: JUMP
00001b3c: JUMPDEST
00001b3d: SWAP3
00001b3e: SWAP2
00001b3f: POP
00001b40: POP
00001b41: JUMP
00001b42: JUMPDEST
00001b43: PUSH1 0x40
00001b45: DUP1
00001b46: MLOAD
00001b47: PUSH1 0x20
00001b49: DUP1
00001b4a: DUP3
00001b4b: MSTORE
00001b4c: DUP2
00001b4d: DUP4
00001b4e: ADD
00001b4f: SWAP1
00001b50: SWAP3
00001b51: MSTORE
00001b52: PUSH1 0x60
00001b54: SWAP2
00001b55: DUP3
00001b56: SWAP2
00001b57: PUSH1 0x00
00001b59: SWAP2
00001b5a: DUP3
00001b5b: SWAP2
00001b5c: DUP3
00001b5d: SWAP2
00001b5e: DUP6
00001b5f: SWAP2
00001b60: SWAP1
00001b61: DUP1
00001b62: DUP3
00001b63: ADD
00001b64: PUSH2 0x0400
00001b67: DUP1
00001b68: CODESIZE
00001b69: DUP4
00001b6a: CODECOPY
00001b6b: ADD
00001b6c: SWAP1
00001b6d: POP
00001b6e: POP
00001b6f: SWAP5
00001b70: POP
00001b71: PUSH1 0x00
00001b73: SWAP4
00001b74: POP
00001b75: PUSH1 0x00
00001b77: SWAP3
00001b78: POP
00001b79: JUMPDEST
00001b7a: PUSH1 0x20
00001b7c: DUP4
00001b7d: LT
00001b7e: ISZERO
00001b7f: PUSH2 0x1bee
00001b82: JUMPI
00001b83: PUSH1 0x08
00001b85: DUP4
00001b86: MUL
00001b87: PUSH1 0x02
00001b89: EXP
00001b8a: DUP8
00001b8b: MUL
00001b8c: SWAP2
00001b8d: POP
00001b8e: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00001baf: DUP3
00001bb0: AND
00001bb1: ISZERO
00001bb2: PUSH2 0x1be3
00001bb5: JUMPI
00001bb6: DUP2
00001bb7: DUP6
00001bb8: DUP6
00001bb9: DUP2
00001bba: MLOAD
00001bbb: DUP2
00001bbc: LT
00001bbd: ISZERO
00001bbe: ISZERO
00001bbf: PUSH2 0x1bc4
00001bc2: JUMPI
00001bc3: INVALID
00001bc4: JUMPDEST
00001bc5: SWAP1
00001bc6: PUSH1 0x20
00001bc8: ADD
00001bc9: ADD
00001bca: SWAP1
00001bcb: PUSH1 0x01
00001bcd: PUSH1 0xf8
00001bcf: PUSH1 0x02
00001bd1: EXP
00001bd2: SUB
00001bd3: NOT
00001bd4: AND
00001bd5: SWAP1
00001bd6: DUP2
00001bd7: PUSH1 0x00
00001bd9: BYTE
00001bda: SWAP1
00001bdb: MSTORE8
00001bdc: POP
00001bdd: PUSH1 0x01
00001bdf: SWAP1
00001be0: SWAP4
00001be1: ADD
00001be2: SWAP3
00001be3: JUMPDEST
00001be4: PUSH1 0x01
00001be6: SWAP1
00001be7: SWAP3
00001be8: ADD
00001be9: SWAP2
00001bea: PUSH2 0x1b79
00001bed: JUMP
00001bee: JUMPDEST
00001bef: DUP4
00001bf0: PUSH1 0x40
00001bf2: MLOAD
00001bf3: SWAP1
00001bf4: DUP1
00001bf5: DUP3
00001bf6: MSTORE
00001bf7: DUP1
00001bf8: PUSH1 0x1f
00001bfa: ADD
00001bfb: PUSH1 0x1f
00001bfd: NOT
00001bfe: AND
00001bff: PUSH1 0x20
00001c01: ADD
00001c02: DUP3
00001c03: ADD
00001c04: PUSH1 0x40
00001c06: MSTORE
00001c07: DUP1
00001c08: ISZERO
00001c09: PUSH2 0x1c1c
00001c0c: JUMPI
00001c0d: DUP2
00001c0e: PUSH1 0x20
00001c10: ADD
00001c11: PUSH1 0x20
00001c13: DUP3
00001c14: MUL
00001c15: DUP1
00001c16: CODESIZE
00001c17: DUP4
00001c18: CODECOPY
00001c19: ADD
00001c1a: SWAP1
00001c1b: POP
00001c1c: JUMPDEST
00001c1d: POP
00001c1e: SWAP1
00001c1f: POP
00001c20: PUSH1 0x00
00001c22: SWAP3
00001c23: POP
00001c24: JUMPDEST
00001c25: DUP4
00001c26: DUP4
00001c27: LT
00001c28: ISZERO
00001c29: PUSH2 0x1c7e
00001c2c: JUMPI
00001c2d: DUP5
00001c2e: DUP4
00001c2f: DUP2
00001c30: MLOAD
00001c31: DUP2
00001c32: LT
00001c33: ISZERO
00001c34: ISZERO
00001c35: PUSH2 0x1c3a
00001c38: JUMPI
00001c39: INVALID
00001c3a: JUMPDEST
00001c3b: SWAP1
00001c3c: PUSH1 0x20
00001c3e: ADD
00001c3f: ADD
00001c40: MLOAD
00001c41: PUSH1 0xf8
00001c43: PUSH1 0x02
00001c45: EXP
00001c46: SWAP1
00001c47: DIV
00001c48: PUSH1 0xf8
00001c4a: PUSH1 0x02
00001c4c: EXP
00001c4d: MUL
00001c4e: DUP2
00001c4f: DUP5
00001c50: DUP2
00001c51: MLOAD
00001c52: DUP2
00001c53: LT
00001c54: ISZERO
00001c55: ISZERO
00001c56: PUSH2 0x1c5b
00001c59: JUMPI
00001c5a: INVALID
00001c5b: JUMPDEST
00001c5c: SWAP1
00001c5d: PUSH1 0x20
00001c5f: ADD
00001c60: ADD
00001c61: SWAP1
00001c62: PUSH1 0x01
00001c64: PUSH1 0xf8
00001c66: PUSH1 0x02
00001c68: EXP
00001c69: SUB
00001c6a: NOT
00001c6b: AND
00001c6c: SWAP1
00001c6d: DUP2
00001c6e: PUSH1 0x00
00001c70: BYTE
00001c71: SWAP1
00001c72: MSTORE8
00001c73: POP
00001c74: PUSH1 0x01
00001c76: SWAP1
00001c77: SWAP3
00001c78: ADD
00001c79: SWAP2
00001c7a: PUSH2 0x1c24
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: SWAP7
00001c80: SWAP6
00001c81: POP
00001c82: POP
00001c83: POP
00001c84: POP
00001c85: POP
00001c86: POP
00001c87: JUMP
00001c88: JUMPDEST
00001c89: PUSH1 0x08
00001c8b: PUSH1 0x20
00001c8d: MSTORE
00001c8e: PUSH1 0x00
00001c90: SWAP1
00001c91: DUP2
00001c92: MSTORE
00001c93: PUSH1 0x40
00001c95: SWAP1
00001c96: KECCAK256
00001c97: SLOAD
00001c98: DUP2
00001c99: JUMP
00001c9a: JUMPDEST
00001c9b: PUSH1 0x00
00001c9d: PUSH2 0x0f3f
00001ca0: PUSH1 0x64
00001ca2: PUSH2 0x0e3a
00001ca5: DUP7
00001ca6: DUP7
00001ca7: DUP7
00001ca8: PUSH2 0x2038
00001cab: JUMP
00001cac: JUMPDEST
00001cad: PUSH1 0x15
00001caf: SLOAD
00001cb0: PUSH1 0x00
00001cb2: SWAP1
00001cb3: DUP2
00001cb4: SWAP1
00001cb5: DUP2
00001cb6: SWAP1
00001cb7: PUSH1 0xff
00001cb9: AND
00001cba: ISZERO
00001cbb: ISZERO
00001cbc: PUSH1 0x01
00001cbe: EQ
00001cbf: PUSH2 0x1d14
00001cc2: JUMPI
00001cc3: PUSH1 0x40
00001cc5: DUP1
00001cc6: MLOAD
00001cc7: PUSH1 0xe5
00001cc9: PUSH1 0x02
00001ccb: EXP
00001ccc: PUSH3 0x461bcd
00001cd0: MUL
00001cd1: DUP2
00001cd2: MSTORE
00001cd3: PUSH1 0x20
00001cd5: PUSH1 0x04
00001cd7: DUP3
00001cd8: ADD
00001cd9: MSTORE
00001cda: PUSH1 0x29
00001cdc: PUSH1 0x24
00001cde: DUP3
00001cdf: ADD
00001ce0: MSTORE
00001ce1: PUSH1 0x00
00001ce3: DUP1
00001ce4: MLOAD
00001ce5: PUSH1 0x20
00001ce7: PUSH2 0x35ce
00001cea: DUP4
00001ceb: CODECOPY
00001cec: DUP2
00001ced: MLOAD
00001cee: SWAP2
00001cef: MSTORE
00001cf0: PUSH1 0x44
00001cf2: DUP3
00001cf3: ADD
00001cf4: MSTORE
00001cf5: PUSH1 0x00
00001cf7: DUP1
00001cf8: MLOAD
00001cf9: PUSH1 0x20
00001cfb: PUSH2 0x356e
00001cfe: DUP4
00001cff: CODECOPY
00001d00: DUP2
00001d01: MLOAD
00001d02: SWAP2
00001d03: MSTORE
00001d04: PUSH1 0x64
00001d06: DUP3
00001d07: ADD
00001d08: MSTORE
00001d09: SWAP1
00001d0a: MLOAD
00001d0b: SWAP1
00001d0c: DUP2
00001d0d: SWAP1
00001d0e: SUB
00001d0f: PUSH1 0x84
00001d11: ADD
00001d12: SWAP1
00001d13: REVERT
00001d14: JUMPDEST
00001d15: CALLER
00001d16: ORIGIN
00001d17: EQ
00001d18: PUSH2 0x1d59
00001d1b: JUMPI
00001d1c: PUSH1 0x40
00001d1e: DUP1
00001d1f: MLOAD
00001d20: PUSH1 0xe5
00001d22: PUSH1 0x02
00001d24: EXP
00001d25: PUSH3 0x461bcd
00001d29: MUL
00001d2a: DUP2
00001d2b: MSTORE
00001d2c: PUSH1 0x20
00001d2e: PUSH1 0x04
00001d30: DUP3
00001d31: ADD
00001d32: MSTORE
00001d33: PUSH1 0x11
00001d35: PUSH1 0x24
00001d37: DUP3
00001d38: ADD
00001d39: MSTORE
00001d3a: PUSH1 0x00
00001d3c: DUP1
00001d3d: MLOAD
00001d3e: PUSH1 0x20
00001d40: PUSH2 0x360e
00001d43: DUP4
00001d44: CODECOPY
00001d45: DUP2
00001d46: MLOAD
00001d47: SWAP2
00001d48: MSTORE
00001d49: PUSH1 0x44
00001d4b: DUP3
00001d4c: ADD
00001d4d: MSTORE
00001d4e: SWAP1
00001d4f: MLOAD
00001d50: SWAP1
00001d51: DUP2
00001d52: SWAP1
00001d53: SUB
00001d54: PUSH1 0x64
00001d56: ADD
00001d57: SWAP1
00001d58: REVERT
00001d59: JUMPDEST
00001d5a: PUSH1 0x01
00001d5c: PUSH1 0xa0
00001d5e: PUSH1 0x02
00001d60: EXP
00001d61: SUB
00001d62: DUP6
00001d63: AND
00001d64: PUSH1 0x00
00001d66: SWAP1
00001d67: DUP2
00001d68: MSTORE
00001d69: PUSH1 0x04
00001d6b: PUSH1 0x20
00001d6d: MSTORE
00001d6e: PUSH1 0x40
00001d70: SWAP1
00001d71: KECCAK256
00001d72: SLOAD
00001d73: DUP6
00001d74: SWAP1
00001d75: ISZERO
00001d76: ISZERO
00001d77: PUSH2 0x1dcd
00001d7a: JUMPI
00001d7b: PUSH1 0x09
00001d7d: DUP1
00001d7e: SLOAD
00001d7f: PUSH1 0x01
00001d81: PUSH1 0xa0
00001d83: PUSH1 0x02
00001d85: EXP
00001d86: SUB
00001d87: DUP4
00001d88: AND
00001d89: PUSH1 0x00
00001d8b: DUP2
00001d8c: DUP2
00001d8d: MSTORE
00001d8e: PUSH1 0x04
00001d90: PUSH1 0x20
00001d92: SWAP1
00001d93: DUP2
00001d94: MSTORE
00001d95: PUSH1 0x40
00001d97: DUP1
00001d98: DUP4
00001d99: KECCAK256
00001d9a: DUP6
00001d9b: SWAP1
00001d9c: SSTORE
00001d9d: SWAP4
00001d9e: DUP3
00001d9f: MSTORE
00001da0: PUSH1 0x06
00001da2: SWAP1
00001da3: MSTORE
00001da4: SWAP2
00001da5: SWAP1
00001da6: SWAP2
00001da7: KECCAK256
00001da8: DUP1
00001da9: SLOAD
00001daa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbf: NOT
00001dc0: AND
00001dc1: SWAP1
00001dc2: SWAP2
00001dc3: OR
00001dc4: SWAP1
00001dc5: SSTORE
00001dc6: DUP1
00001dc7: SLOAD
00001dc8: PUSH1 0x01
00001dca: ADD
00001dcb: SWAP1
00001dcc: SSTORE
00001dcd: JUMPDEST
00001dce: PUSH2 0x1dd7
00001dd1: PUSH1 0x00
00001dd3: PUSH2 0x0958
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: PUSH1 0x44
00001dda: CALLDATASIZE
00001ddb: LT
00001ddc: ISZERO
00001ddd: PUSH2 0x1e30
00001de0: JUMPI
00001de1: PUSH1 0x40
00001de3: DUP1
00001de4: MLOAD
00001de5: PUSH1 0xe5
00001de7: PUSH1 0x02
00001de9: EXP
00001dea: PUSH3 0x461bcd
00001dee: MUL
00001def: DUP2
00001df0: MSTORE
00001df1: PUSH1 0x20
00001df3: PUSH1 0x04
00001df5: DUP3
00001df6: ADD
00001df7: MSTORE
00001df8: PUSH1 0x16
00001dfa: PUSH1 0x24
00001dfc: DUP3
00001dfd: ADD
00001dfe: MSTORE
00001dff: PUSH32 0x6e6f7420656e6f7567682064617461206c656e67746800000000000000000000
00001e20: PUSH1 0x44
00001e22: DUP3
00001e23: ADD
00001e24: MSTORE
00001e25: SWAP1
00001e26: MLOAD
00001e27: SWAP1
00001e28: DUP2
00001e29: SWAP1
00001e2a: SUB
00001e2b: PUSH1 0x64
00001e2d: ADD
00001e2e: SWAP1
00001e2f: REVERT
00001e30: JUMPDEST
00001e31: CALLER
00001e32: PUSH1 0x00
00001e34: SWAP1
00001e35: DUP2
00001e36: MSTORE
00001e37: PUSH1 0x04
00001e39: PUSH1 0x20
00001e3b: MSTORE
00001e3c: PUSH1 0x40
00001e3e: SWAP1
00001e3f: KECCAK256
00001e40: SLOAD
00001e41: SWAP4
00001e42: POP
00001e43: DUP4
00001e44: ISZERO
00001e45: ISZERO
00001e46: PUSH2 0x1e87
00001e49: JUMPI
00001e4a: PUSH1 0x40
00001e4c: DUP1
00001e4d: MLOAD
00001e4e: PUSH1 0xe5
00001e50: PUSH1 0x02
00001e52: EXP
00001e53: PUSH3 0x461bcd
00001e57: MUL
00001e58: DUP2
00001e59: MSTORE
00001e5a: PUSH1 0x20
00001e5c: PUSH1 0x04
00001e5e: DUP3
00001e5f: ADD
00001e60: MSTORE
00001e61: PUSH1 0x0d
00001e63: PUSH1 0x24
00001e65: DUP3
00001e66: ADD
00001e67: MSTORE
00001e68: PUSH1 0x00
00001e6a: DUP1
00001e6b: MLOAD
00001e6c: PUSH1 0x20
00001e6e: PUSH2 0x358e
00001e71: DUP4
00001e72: CODECOPY
00001e73: DUP2
00001e74: MLOAD
00001e75: SWAP2
00001e76: MSTORE
00001e77: PUSH1 0x44
00001e79: DUP3
00001e7a: ADD
00001e7b: MSTORE
00001e7c: SWAP1
00001e7d: MLOAD
00001e7e: SWAP1
00001e7f: DUP2
00001e80: SWAP1
00001e81: SUB
00001e82: PUSH1 0x64
00001e84: ADD
00001e85: SWAP1
00001e86: REVERT
00001e87: JUMPDEST
00001e88: PUSH1 0x00
00001e8a: DUP5
00001e8b: DUP2
00001e8c: MSTORE
00001e8d: PUSH1 0x06
00001e8f: PUSH1 0x20
00001e91: MSTORE
00001e92: PUSH1 0x40
00001e94: SWAP1
00001e95: KECCAK256
00001e96: PUSH1 0x03
00001e98: ADD
00001e99: SLOAD
00001e9a: DUP6
00001e9b: GT
00001e9c: ISZERO
00001e9d: PUSH2 0x1ef0
00001ea0: JUMPI
00001ea1: PUSH1 0x40
00001ea3: DUP1
00001ea4: MLOAD
00001ea5: PUSH1 0xe5
00001ea7: PUSH1 0x02
00001ea9: EXP
00001eaa: PUSH3 0x461bcd
00001eae: MUL
00001eaf: DUP2
00001eb0: MSTORE
00001eb1: PUSH1 0x20
00001eb3: PUSH1 0x04
00001eb5: DUP3
00001eb6: ADD
00001eb7: MSTORE
00001eb8: PUSH1 0x17
00001eba: PUSH1 0x24
00001ebc: DUP3
00001ebd: ADD
00001ebe: MSTORE
00001ebf: PUSH32 0x6572726f722c206e6f7420656e6f7567682073746f7265000000000000000000
00001ee0: PUSH1 0x44
00001ee2: DUP3
00001ee3: ADD
00001ee4: MSTORE
00001ee5: SWAP1
00001ee6: MLOAD
00001ee7: SWAP1
00001ee8: DUP2
00001ee9: SWAP1
00001eea: SUB
00001eeb: PUSH1 0x64
00001eed: ADD
00001eee: SWAP1
00001eef: REVERT
00001ef0: JUMPDEST
00001ef1: PUSH1 0x00
00001ef3: DUP5
00001ef4: DUP2
00001ef5: MSTORE
00001ef6: PUSH1 0x06
00001ef8: PUSH1 0x20
00001efa: MSTORE
00001efb: PUSH1 0x40
00001efd: SWAP1
00001efe: KECCAK256
00001eff: PUSH1 0x03
00001f01: ADD
00001f02: SLOAD
00001f03: PUSH2 0x1f12
00001f06: SWAP1
00001f07: DUP7
00001f08: PUSH4 0xffffffff
00001f0d: PUSH2 0x26ef
00001f10: AND
00001f11: JUMP
00001f12: JUMPDEST
00001f13: PUSH1 0x00
00001f15: DUP6
00001f16: DUP2
00001f17: MSTORE
00001f18: PUSH1 0x06
00001f1a: PUSH1 0x20
00001f1c: SWAP1
00001f1d: DUP2
00001f1e: MSTORE
00001f1f: PUSH1 0x40
00001f21: DUP1
00001f22: DUP4
00001f23: KECCAK256
00001f24: PUSH1 0x03
00001f26: ADD
00001f27: SWAP4
00001f28: SWAP1
00001f29: SWAP4
00001f2a: SSTORE
00001f2b: PUSH1 0x01
00001f2d: PUSH1 0xa0
00001f2f: PUSH1 0x02
00001f31: EXP
00001f32: SUB
00001f33: DUP10
00001f34: AND
00001f35: DUP3
00001f36: MSTORE
00001f37: PUSH1 0x04
00001f39: SWAP1
00001f3a: MSTORE
00001f3b: KECCAK256
00001f3c: SLOAD
00001f3d: SWAP3
00001f3e: POP
00001f3f: DUP3
00001f40: DUP5
00001f41: EQ
00001f42: ISZERO
00001f43: PUSH2 0x1f96
00001f46: JUMPI
00001f47: PUSH1 0x40
00001f49: DUP1
00001f4a: MLOAD
00001f4b: PUSH1 0xe5
00001f4d: PUSH1 0x02
00001f4f: EXP
00001f50: PUSH3 0x461bcd
00001f54: MUL
00001f55: DUP2
00001f56: MSTORE
00001f57: PUSH1 0x20
00001f59: PUSH1 0x04
00001f5b: DUP3
00001f5c: ADD
00001f5d: MSTORE
00001f5e: PUSH1 0x0e
00001f60: PUSH1 0x24
00001f62: DUP3
00001f63: ADD
00001f64: MSTORE
00001f65: PUSH32 0x6e6f742073656e6420746f206d65000000000000000000000000000000000000
00001f86: PUSH1 0x44
00001f88: DUP3
00001f89: ADD
00001f8a: MSTORE
00001f8b: SWAP1
00001f8c: MLOAD
00001f8d: SWAP1
00001f8e: DUP2
00001f8f: SWAP1
00001f90: SUB
00001f91: PUSH1 0x64
00001f93: ADD
00001f94: SWAP1
00001f95: REVERT
00001f96: JUMPDEST
00001f97: PUSH2 0x1f9f
00001f9a: DUP6
00001f9b: PUSH2 0x1b1a
00001f9e: JUMP
00001f9f: JUMPDEST
00001fa0: SWAP2
00001fa1: POP
00001fa2: PUSH2 0x1fae
00001fa5: DUP4
00001fa6: DUP7
00001fa7: DUP5
00001fa8: PUSH1 0x00
00001faa: PUSH2 0x31ae
00001fad: JUMP
00001fae: JUMPDEST
00001faf: PUSH1 0x00
00001fb1: DUP4
00001fb2: DUP2
00001fb3: MSTORE
00001fb4: PUSH1 0x06
00001fb6: PUSH1 0x20
00001fb8: MSTORE
00001fb9: PUSH1 0x40
00001fbb: SWAP1
00001fbc: KECCAK256
00001fbd: PUSH1 0x02
00001fbf: ADD
00001fc0: SLOAD
00001fc1: PUSH2 0x1ff2
00001fc4: SWAP1
00001fc5: DUP5
00001fc6: SWAP1
00001fc7: PUSH2 0x1fdc
00001fca: PUSH1 0x64
00001fcc: PUSH2 0x0e3a
00001fcf: DUP11
00001fd0: PUSH1 0x05
00001fd2: PUSH4 0xffffffff
00001fd7: PUSH2 0x2800
00001fda: AND
00001fdb: JUMP
00001fdc: JUMPDEST
00001fdd: PUSH2 0x0e5c
00001fe0: PUSH1 0x64
00001fe2: PUSH2 0x0e3a
00001fe5: DUP9
00001fe6: PUSH1 0x05
00001fe8: PUSH4 0xffffffff
00001fed: PUSH2 0x2800
00001ff0: AND
00001ff1: JUMP
00001ff2: JUMPDEST
00001ff3: PUSH1 0x40
00001ff5: DUP1
00001ff6: MLOAD
00001ff7: DUP7
00001ff8: DUP2
00001ff9: MSTORE
00001ffa: TIMESTAMP
00001ffb: PUSH1 0x20
00001ffd: DUP3
00001ffe: ADD
00001fff: MSTORE
00002000: DUP2
00002001: MLOAD
00002002: DUP6
00002003: SWAP3
00002004: DUP8
00002005: SWAP3
00002006: PUSH32 0x6c354bfd83b3215eed14779fb8c4eae2793efca05e2394c9d04328494204d067
00002027: SWAP3
00002028: SWAP1
00002029: DUP2
0000202a: SWAP1
0000202b: SUB
0000202c: SWAP1
0000202d: SWAP2
0000202e: ADD
0000202f: SWAP1
00002030: LOG3
00002031: POP
00002032: POP
00002033: POP
00002034: POP
00002035: POP
00002036: POP
00002037: JUMP
00002038: JUMPDEST
00002039: PUSH1 0x00
0000203b: PUSH2 0x0f3f
0000203e: PUSH2 0x2047
00002041: DUP5
00002042: DUP5
00002043: PUSH2 0x22e0
00002046: JUMP
00002047: JUMPDEST
00002048: DUP6
00002049: SWAP1
0000204a: PUSH4 0xffffffff
0000204f: PUSH2 0x26ef
00002052: AND
00002053: JUMP
00002054: JUMPDEST
00002055: PUSH1 0x15
00002057: SLOAD
00002058: PUSH1 0x00
0000205a: SWAP1
0000205b: DUP2
0000205c: SWAP1
0000205d: PUSH1 0xff
0000205f: AND
00002060: ISZERO
00002061: ISZERO
00002062: PUSH1 0x01
00002064: EQ
00002065: PUSH2 0x20ba
00002068: JUMPI
00002069: PUSH1 0x40
0000206b: DUP1
0000206c: MLOAD
0000206d: PUSH1 0xe5
0000206f: PUSH1 0x02
00002071: EXP
00002072: PUSH3 0x461bcd
00002076: MUL
00002077: DUP2
00002078: MSTORE
00002079: PUSH1 0x20
0000207b: PUSH1 0x04
0000207d: DUP3
0000207e: ADD
0000207f: MSTORE
00002080: PUSH1 0x29
00002082: PUSH1 0x24
00002084: DUP3
00002085: ADD
00002086: MSTORE
00002087: PUSH1 0x00
00002089: DUP1
0000208a: MLOAD
0000208b: PUSH1 0x20
0000208d: PUSH2 0x35ce
00002090: DUP4
00002091: CODECOPY
00002092: DUP2
00002093: MLOAD
00002094: SWAP2
00002095: MSTORE
00002096: PUSH1 0x44
00002098: DUP3
00002099: ADD
0000209a: MSTORE
0000209b: PUSH1 0x00
0000209d: DUP1
0000209e: MLOAD
0000209f: PUSH1 0x20
000020a1: PUSH2 0x356e
000020a4: DUP4
000020a5: CODECOPY
000020a6: DUP2
000020a7: MLOAD
000020a8: SWAP2
000020a9: MSTORE
000020aa: PUSH1 0x64
000020ac: DUP3
000020ad: ADD
000020ae: MSTORE
000020af: SWAP1
000020b0: MLOAD
000020b1: SWAP1
000020b2: DUP2
000020b3: SWAP1
000020b4: SUB
000020b5: PUSH1 0x84
000020b7: ADD
000020b8: SWAP1
000020b9: REVERT
000020ba: JUMPDEST
000020bb: CALLER
000020bc: ORIGIN
000020bd: EQ
000020be: PUSH2 0x20ff
000020c1: JUMPI
000020c2: PUSH1 0x40
000020c4: DUP1
000020c5: MLOAD
000020c6: PUSH1 0xe5
000020c8: PUSH1 0x02
000020ca: EXP
000020cb: PUSH3 0x461bcd
000020cf: MUL
000020d0: DUP2
000020d1: MSTORE
000020d2: PUSH1 0x20
000020d4: PUSH1 0x04
000020d6: DUP3
000020d7: ADD
000020d8: MSTORE
000020d9: PUSH1 0x11
000020db: PUSH1 0x24
000020dd: DUP3
000020de: ADD
000020df: MSTORE
000020e0: PUSH1 0x00
000020e2: DUP1
000020e3: MLOAD
000020e4: PUSH1 0x20
000020e6: PUSH2 0x360e
000020e9: DUP4
000020ea: CODECOPY
000020eb: DUP2
000020ec: MLOAD
000020ed: SWAP2
000020ee: MSTORE
000020ef: PUSH1 0x44
000020f1: DUP3
000020f2: ADD
000020f3: MSTORE
000020f4: SWAP1
000020f5: MLOAD
000020f6: SWAP1
000020f7: DUP2
000020f8: SWAP1
000020f9: SUB
000020fa: PUSH1 0x64
000020fc: ADD
000020fd: SWAP1
000020fe: REVERT
000020ff: JUMPDEST
00002100: CALLVALUE
00002101: PUSH4 0x3b9aca00
00002106: DUP2
00002107: LT
00002108: ISZERO
00002109: PUSH2 0x2157
0000210c: JUMPI
0000210d: PUSH1 0x40
0000210f: DUP1
00002110: MLOAD
00002111: PUSH1 0xe5
00002113: PUSH1 0x02
00002115: EXP
00002116: PUSH3 0x461bcd
0000211a: MUL
0000211b: DUP2
0000211c: MSTORE
0000211d: PUSH1 0x20
0000211f: PUSH1 0x04
00002121: DUP3
00002122: ADD
00002123: MSTORE
00002124: PUSH1 0x21
00002126: PUSH1 0x24
00002128: DUP3
00002129: ADD
0000212a: MSTORE
0000212b: PUSH1 0x00
0000212d: DUP1
0000212e: MLOAD
0000212f: PUSH1 0x20
00002131: PUSH2 0x35ae
00002134: DUP4
00002135: CODECOPY
00002136: DUP2
00002137: MLOAD
00002138: SWAP2
00002139: MSTORE
0000213a: PUSH1 0x44
0000213c: DUP3
0000213d: ADD
0000213e: MSTORE
0000213f: PUSH1 0xf8
00002141: PUSH1 0x02
00002143: EXP
00002144: PUSH1 0x79
00002146: MUL
00002147: PUSH1 0x64
00002149: DUP3
0000214a: ADD
0000214b: MSTORE
0000214c: SWAP1
0000214d: MLOAD
0000214e: SWAP1
0000214f: DUP2
00002150: SWAP1
00002151: SUB
00002152: PUSH1 0x84
00002154: ADD
00002155: SWAP1
00002156: REVERT
00002157: JUMPDEST
00002158: PUSH10 0x152d02c7e14af6800000
00002163: DUP2
00002164: GT
00002165: ISZERO
00002166: PUSH2 0x21a7
00002169: JUMPI
0000216a: PUSH1 0x40
0000216c: DUP1
0000216d: MLOAD
0000216e: PUSH1 0xe5
00002170: PUSH1 0x02
00002172: EXP
00002173: PUSH3 0x461bcd
00002177: MUL
00002178: DUP2
00002179: MSTORE
0000217a: PUSH1 0x20
0000217c: PUSH1 0x04
0000217e: DUP3
0000217f: ADD
00002180: MSTORE
00002181: PUSH1 0x0e
00002183: PUSH1 0x24
00002185: DUP3
00002186: ADD
00002187: MSTORE
00002188: PUSH1 0x00
0000218a: DUP1
0000218b: MLOAD
0000218c: PUSH1 0x20
0000218e: PUSH2 0x35ee
00002191: DUP4
00002192: CODECOPY
00002193: DUP2
00002194: MLOAD
00002195: SWAP2
00002196: MSTORE
00002197: PUSH1 0x44
00002199: DUP3
0000219a: ADD
0000219b: MSTORE
0000219c: SWAP1
0000219d: MLOAD
0000219e: SWAP1
0000219f: DUP2
000021a0: SWAP1
000021a1: SUB
000021a2: PUSH1 0x64
000021a4: ADD
000021a5: SWAP1
000021a6: REVERT
000021a7: JUMPDEST
000021a8: PUSH2 0x21b1
000021ab: PUSH1 0x00
000021ad: PUSH2 0x0958
000021b0: JUMP
000021b1: JUMPDEST
000021b2: CALLER
000021b3: PUSH1 0x00
000021b5: DUP2
000021b6: DUP2
000021b7: MSTORE
000021b8: PUSH1 0x04
000021ba: PUSH1 0x20
000021bc: MSTORE
000021bd: PUSH1 0x40
000021bf: SWAP1
000021c0: KECCAK256
000021c1: SLOAD
000021c2: ISZERO
000021c3: ISZERO
000021c4: PUSH2 0x221a
000021c7: JUMPI
000021c8: PUSH1 0x09
000021ca: DUP1
000021cb: SLOAD
000021cc: PUSH1 0x01
000021ce: PUSH1 0xa0
000021d0: PUSH1 0x02
000021d2: EXP
000021d3: SUB
000021d4: DUP4
000021d5: AND
000021d6: PUSH1 0x00
000021d8: DUP2
000021d9: DUP2
000021da: MSTORE
000021db: PUSH1 0x04
000021dd: PUSH1 0x20
000021df: SWAP1
000021e0: DUP2
000021e1: MSTORE
000021e2: PUSH1 0x40
000021e4: DUP1
000021e5: DUP4
000021e6: KECCAK256
000021e7: DUP6
000021e8: SWAP1
000021e9: SSTORE
000021ea: SWAP4
000021eb: DUP3
000021ec: MSTORE
000021ed: PUSH1 0x06
000021ef: SWAP1
000021f0: MSTORE
000021f1: SWAP2
000021f2: SWAP1
000021f3: SWAP2
000021f4: KECCAK256
000021f5: DUP1
000021f6: SLOAD
000021f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000220c: NOT
0000220d: AND
0000220e: SWAP1
0000220f: SWAP2
00002210: OR
00002211: SWAP1
00002212: SSTORE
00002213: DUP1
00002214: SLOAD
00002215: PUSH1 0x01
00002217: ADD
00002218: SWAP1
00002219: SSTORE
0000221a: JUMPDEST
0000221b: CALLER
0000221c: PUSH1 0x00
0000221e: SWAP1
0000221f: DUP2
00002220: MSTORE
00002221: PUSH1 0x04
00002223: PUSH1 0x20
00002225: MSTORE
00002226: PUSH1 0x40
00002228: SWAP1
00002229: KECCAK256
0000222a: SLOAD
0000222b: SWAP4
0000222c: POP
0000222d: PUSH2 0x2236
00002230: DUP5
00002231: DUP7
00002232: PUSH2 0x3271
00002235: JUMP
00002236: JUMPDEST
00002237: SWAP3
00002238: POP
00002239: DUP3
0000223a: ISZERO
0000223b: ISZERO
0000223c: PUSH2 0x228f
0000223f: JUMPI
00002240: PUSH1 0x40
00002242: DUP1
00002243: MLOAD
00002244: PUSH1 0xe5
00002246: PUSH1 0x02
00002248: EXP
00002249: PUSH3 0x461bcd
0000224d: MUL
0000224e: DUP2
0000224f: MSTORE
00002250: PUSH1 0x20
00002252: PUSH1 0x04
00002254: DUP3
00002255: ADD
00002256: MSTORE
00002257: PUSH1 0x0f
00002259: PUSH1 0x24
0000225b: DUP3
0000225c: ADD
0000225d: MSTORE
0000225e: PUSH32 0x6d75737420686176652061666669640000000000000000000000000000000000
0000227f: PUSH1 0x44
00002281: DUP3
00002282: ADD
00002283: MSTORE
00002284: SWAP1
00002285: MLOAD
00002286: SWAP1
00002287: DUP2
00002288: SWAP1
00002289: SUB
0000228a: PUSH1 0x64
0000228c: ADD
0000228d: SWAP1
0000228e: REVERT
0000228f: JUMPDEST
00002290: PUSH2 0x229a
00002293: DUP5
00002294: DUP5
00002295: CALLVALUE
00002296: PUSH2 0x0a19
00002299: JUMP
0000229a: JUMPDEST
0000229b: PUSH1 0x40
0000229d: DUP1
0000229e: MLOAD
0000229f: CALLVALUE
000022a0: DUP2
000022a1: MSTORE
000022a2: TIMESTAMP
000022a3: PUSH1 0x20
000022a5: DUP3
000022a6: ADD
000022a7: MSTORE
000022a8: DUP2
000022a9: MLOAD
000022aa: DUP7
000022ab: SWAP3
000022ac: PUSH32 0x17ef05e81da37a7ee9dc15b9b14cdaca321969b127e620846a340e61dbd247a0
000022cd: SWAP3
000022ce: DUP3
000022cf: SWAP1
000022d0: SUB
000022d1: ADD
000022d2: SWAP1
000022d3: LOG2
000022d4: POP
000022d5: POP
000022d6: POP
000022d7: POP
000022d8: POP
000022d9: JUMP
000022da: JUMPDEST
000022db: PUSH1 0x02
000022dd: SLOAD
000022de: DUP2
000022df: JUMP
000022e0: JUMPDEST
000022e1: PUSH1 0x00
000022e3: DUP1
000022e4: DUP3
000022e5: GT
000022e6: ISZERO
000022e7: PUSH2 0x230d
000022ea: JUMPI
000022eb: PUSH2 0x2306
000022ee: PUSH8 0x0de0b6b3a7640000
000022f7: PUSH2 0x0e3a
000022fa: DUP6
000022fb: DUP6
000022fc: PUSH4 0xffffffff
00002301: PUSH2 0x2800
00002304: AND
00002305: JUMP
00002306: JUMPDEST
00002307: SWAP1
00002308: POP
00002309: PUSH2 0x1b3c
0000230c: JUMP
0000230d: JUMPDEST
0000230e: PUSH1 0x11
00002310: SLOAD
00002311: PUSH2 0x0f42
00002314: SWAP1
00002315: PUSH8 0x0de0b6b3a7640000
0000231e: SWAP1
0000231f: PUSH2 0x0e3a
00002322: SWAP1
00002323: DUP7
00002324: SWAP1
00002325: PUSH4 0xffffffff
0000232a: PUSH2 0x2800
0000232d: AND
0000232e: JUMP
0000232f: JUMPDEST
00002330: PUSH1 0x00
00002332: DUP3
00002333: DUP2
00002334: MSTORE
00002335: PUSH1 0x07
00002337: PUSH1 0x20
00002339: MSTORE
0000233a: PUSH1 0x40
0000233c: DUP2
0000233d: KECCAK256
0000233e: PUSH1 0x05
00002340: DUP2
00002341: ADD
00002342: SLOAD
00002343: DUP2
00002344: SLOAD
00002345: PUSH1 0x01
00002347: SWAP1
00002348: SWAP3
00002349: ADD
0000234a: SLOAD
0000234b: PUSH2 0x0f42
0000234e: SWAP3
0000234f: PUSH2 0x1a30
00002352: SWAP2
00002353: DUP7
00002354: PUSH2 0x2038
00002357: JUMP
00002358: JUMPDEST
00002359: PUSH1 0x20
0000235b: ADD
0000235c: MLOAD
0000235d: SWAP1
0000235e: JUMP
0000235f: JUMPDEST
00002360: PUSH1 0x15
00002362: SLOAD
00002363: PUSH1 0xff
00002365: AND
00002366: DUP2
00002367: JUMP
00002368: JUMPDEST
00002369: PUSH1 0x07
0000236b: PUSH1 0x20
0000236d: MSTORE
0000236e: DUP1
0000236f: PUSH1 0x00
00002371: MSTORE
00002372: PUSH1 0x40
00002374: PUSH1 0x00
00002376: KECCAK256
00002377: PUSH1 0x00
00002379: SWAP2
0000237a: POP
0000237b: SWAP1
0000237c: POP
0000237d: DUP1
0000237e: PUSH1 0x00
00002380: ADD
00002381: SLOAD
00002382: SWAP1
00002383: DUP1
00002384: PUSH1 0x01
00002386: ADD
00002387: SLOAD
00002388: SWAP1
00002389: DUP1
0000238a: PUSH1 0x02
0000238c: ADD
0000238d: SLOAD
0000238e: SWAP1
0000238f: DUP1
00002390: PUSH1 0x03
00002392: ADD
00002393: SLOAD
00002394: SWAP1
00002395: DUP1
00002396: PUSH1 0x04
00002398: ADD
00002399: SLOAD
0000239a: SWAP1
0000239b: DUP1
0000239c: PUSH1 0x05
0000239e: ADD
0000239f: SLOAD
000023a0: SWAP1
000023a1: DUP1
000023a2: PUSH1 0x06
000023a4: ADD
000023a5: SLOAD
000023a6: SWAP1
000023a7: DUP1
000023a8: PUSH1 0x07
000023aa: ADD
000023ab: SLOAD
000023ac: SWAP1
000023ad: POP
000023ae: DUP9
000023af: JUMP
000023b0: JUMPDEST
000023b1: PUSH1 0x00
000023b3: PUSH2 0x0f42
000023b6: PUSH1 0x64
000023b8: PUSH2 0x0e3a
000023bb: DUP6
000023bc: DUP6
000023bd: PUSH2 0x232f
000023c0: JUMP
000023c1: JUMPDEST
000023c2: PUSH1 0x06
000023c4: PUSH1 0x20
000023c6: MSTORE
000023c7: PUSH1 0x00
000023c9: SWAP1
000023ca: DUP2
000023cb: MSTORE
000023cc: PUSH1 0x40
000023ce: SWAP1
000023cf: KECCAK256
000023d0: DUP1
000023d1: SLOAD
000023d2: PUSH1 0x01
000023d4: DUP3
000023d5: ADD
000023d6: SLOAD
000023d7: PUSH1 0x02
000023d9: DUP4
000023da: ADD
000023db: SLOAD
000023dc: PUSH1 0x03
000023de: SWAP1
000023df: SWAP4
000023e0: ADD
000023e1: SLOAD
000023e2: PUSH1 0x01
000023e4: PUSH1 0xa0
000023e6: PUSH1 0x02
000023e8: EXP
000023e9: SUB
000023ea: SWAP1
000023eb: SWAP3
000023ec: AND
000023ed: SWAP3
000023ee: SWAP1
000023ef: SWAP2
000023f0: DUP5
000023f1: JUMP
000023f2: JUMPDEST
000023f3: PUSH1 0x15
000023f5: SLOAD
000023f6: PUSH1 0x00
000023f8: SWAP1
000023f9: DUP2
000023fa: SWAP1
000023fb: PUSH1 0xff
000023fd: AND
000023fe: ISZERO
000023ff: ISZERO
00002400: PUSH1 0x01
00002402: EQ
00002403: PUSH2 0x2458
00002406: JUMPI
00002407: PUSH1 0x40
00002409: DUP1
0000240a: MLOAD
0000240b: PUSH1 0xe5
0000240d: PUSH1 0x02
0000240f: EXP
00002410: PUSH3 0x461bcd
00002414: MUL
00002415: DUP2
00002416: MSTORE
00002417: PUSH1 0x20
00002419: PUSH1 0x04
0000241b: DUP3
0000241c: ADD
0000241d: MSTORE
0000241e: PUSH1 0x29
00002420: PUSH1 0x24
00002422: DUP3
00002423: ADD
00002424: MSTORE
00002425: PUSH1 0x00
00002427: DUP1
00002428: MLOAD
00002429: PUSH1 0x20
0000242b: PUSH2 0x35ce
0000242e: DUP4
0000242f: CODECOPY
00002430: DUP2
00002431: MLOAD
00002432: SWAP2
00002433: MSTORE
00002434: PUSH1 0x44
00002436: DUP3
00002437: ADD
00002438: MSTORE
00002439: PUSH1 0x00
0000243b: DUP1
0000243c: MLOAD
0000243d: PUSH1 0x20
0000243f: PUSH2 0x356e
00002442: DUP4
00002443: CODECOPY
00002444: DUP2
00002445: MLOAD
00002446: SWAP2
00002447: MSTORE
00002448: PUSH1 0x64
0000244a: DUP3
0000244b: ADD
0000244c: MSTORE
0000244d: SWAP1
0000244e: MLOAD
0000244f: SWAP1
00002450: DUP2
00002451: SWAP1
00002452: SUB
00002453: PUSH1 0x84
00002455: ADD
00002456: SWAP1
00002457: REVERT
00002458: JUMPDEST
00002459: CALLER
0000245a: ORIGIN
0000245b: EQ
0000245c: PUSH2 0x249d
0000245f: JUMPI
00002460: PUSH1 0x40
00002462: DUP1
00002463: MLOAD
00002464: PUSH1 0xe5
00002466: PUSH1 0x02
00002468: EXP
00002469: PUSH3 0x461bcd
0000246d: MUL
0000246e: DUP2
0000246f: MSTORE
00002470: PUSH1 0x20
00002472: PUSH1 0x04
00002474: DUP3
00002475: ADD
00002476: MSTORE
00002477: PUSH1 0x11
00002479: PUSH1 0x24
0000247b: DUP3
0000247c: ADD
0000247d: MSTORE
0000247e: PUSH1 0x00
00002480: DUP1
00002481: MLOAD
00002482: PUSH1 0x20
00002484: PUSH2 0x360e
00002487: DUP4
00002488: CODECOPY
00002489: DUP2
0000248a: MLOAD
0000248b: SWAP2
0000248c: MSTORE
0000248d: PUSH1 0x44
0000248f: DUP3
00002490: ADD
00002491: MSTORE
00002492: SWAP1
00002493: MLOAD
00002494: SWAP1
00002495: DUP2
00002496: SWAP1
00002497: SUB
00002498: PUSH1 0x64
0000249a: ADD
0000249b: SWAP1
0000249c: REVERT
0000249d: JUMPDEST
0000249e: DUP3
0000249f: PUSH4 0x3b9aca00
000024a4: DUP2
000024a5: LT
000024a6: ISZERO
000024a7: PUSH2 0x24f5
000024aa: JUMPI
000024ab: PUSH1 0x40
000024ad: DUP1
000024ae: MLOAD
000024af: PUSH1 0xe5
000024b1: PUSH1 0x02
000024b3: EXP
000024b4: PUSH3 0x461bcd
000024b8: MUL
000024b9: DUP2
000024ba: MSTORE
000024bb: PUSH1 0x20
000024bd: PUSH1 0x04
000024bf: DUP3
000024c0: ADD
000024c1: MSTORE
000024c2: PUSH1 0x21
000024c4: PUSH1 0x24
000024c6: DUP3
000024c7: ADD
000024c8: MSTORE
000024c9: PUSH1 0x00
000024cb: DUP1
000024cc: MLOAD
000024cd: PUSH1 0x20
000024cf: PUSH2 0x35ae
000024d2: DUP4
000024d3: CODECOPY
000024d4: DUP2
000024d5: MLOAD
000024d6: SWAP2
000024d7: MSTORE
000024d8: PUSH1 0x44
000024da: DUP3
000024db: ADD
000024dc: MSTORE
000024dd: PUSH1 0xf8
000024df: PUSH1 0x02
000024e1: EXP
000024e2: PUSH1 0x79
000024e4: MUL
000024e5: PUSH1 0x64
000024e7: DUP3
000024e8: ADD
000024e9: MSTORE
000024ea: SWAP1
000024eb: MLOAD
000024ec: SWAP1
000024ed: DUP2
000024ee: SWAP1
000024ef: SUB
000024f0: PUSH1 0x84
000024f2: ADD
000024f3: SWAP1
000024f4: REVERT
000024f5: JUMPDEST
000024f6: PUSH10 0x152d02c7e14af6800000
00002501: DUP2
00002502: GT
00002503: ISZERO
00002504: PUSH2 0x2545
00002507: JUMPI
00002508: PUSH1 0x40
0000250a: DUP1
0000250b: MLOAD
0000250c: PUSH1 0xe5
0000250e: PUSH1 0x02
00002510: EXP
00002511: PUSH3 0x461bcd
00002515: MUL
00002516: DUP2
00002517: MSTORE
00002518: PUSH1 0x20
0000251a: PUSH1 0x04
0000251c: DUP3
0000251d: ADD
0000251e: MSTORE
0000251f: PUSH1 0x0e
00002521: PUSH1 0x24
00002523: DUP3
00002524: ADD
00002525: MSTORE
00002526: PUSH1 0x00
00002528: DUP1
00002529: MLOAD
0000252a: PUSH1 0x20
0000252c: PUSH2 0x35ee
0000252f: DUP4
00002530: CODECOPY
00002531: DUP2
00002532: MLOAD
00002533: SWAP2
00002534: MSTORE
00002535: PUSH1 0x44
00002537: DUP3
00002538: ADD
00002539: MSTORE
0000253a: SWAP1
0000253b: MLOAD
0000253c: SWAP1
0000253d: DUP2
0000253e: SWAP1
0000253f: SUB
00002540: PUSH1 0x64
00002542: ADD
00002543: SWAP1
00002544: REVERT
00002545: JUMPDEST
00002546: PUSH2 0x254f
00002549: PUSH1 0x00
0000254b: PUSH2 0x0958
0000254e: JUMP
0000254f: JUMPDEST
00002550: CALLER
00002551: PUSH1 0x00
00002553: SWAP1
00002554: DUP2
00002555: MSTORE
00002556: PUSH1 0x04
00002558: PUSH1 0x20
0000255a: MSTORE
0000255b: PUSH1 0x40
0000255d: SWAP1
0000255e: KECCAK256
0000255f: SLOAD
00002560: SWAP3
00002561: POP
00002562: DUP3
00002563: ISZERO
00002564: ISZERO
00002565: PUSH2 0x25a6
00002568: JUMPI
00002569: PUSH1 0x40
0000256b: DUP1
0000256c: MLOAD
0000256d: PUSH1 0xe5
0000256f: PUSH1 0x02
00002571: EXP
00002572: PUSH3 0x461bcd
00002576: MUL
00002577: DUP2
00002578: MSTORE
00002579: PUSH1 0x20
0000257b: PUSH1 0x04
0000257d: DUP3
0000257e: ADD
0000257f: MSTORE
00002580: PUSH1 0x0d
00002582: PUSH1 0x24
00002584: DUP3
00002585: ADD
00002586: MSTORE
00002587: PUSH1 0x00
00002589: DUP1
0000258a: MLOAD
0000258b: PUSH1 0x20
0000258d: PUSH2 0x358e
00002590: DUP4
00002591: CODECOPY
00002592: DUP2
00002593: MLOAD
00002594: SWAP2
00002595: MSTORE
00002596: PUSH1 0x44
00002598: DUP3
00002599: ADD
0000259a: MSTORE
0000259b: SWAP1
0000259c: MLOAD
0000259d: SWAP1
0000259e: DUP2
0000259f: SWAP1
000025a0: SUB
000025a1: PUSH1 0x64
000025a3: ADD
000025a4: SWAP1
000025a5: REVERT
000025a6: JUMPDEST
000025a7: PUSH1 0x00
000025a9: DUP4
000025aa: DUP2
000025ab: MSTORE
000025ac: PUSH1 0x06
000025ae: PUSH1 0x20
000025b0: MSTORE
000025b1: PUSH1 0x40
000025b3: SWAP1
000025b4: KECCAK256
000025b5: PUSH1 0x02
000025b7: ADD
000025b8: SLOAD
000025b9: SWAP2
000025ba: POP
000025bb: DUP2
000025bc: ISZERO
000025bd: ISZERO
000025be: PUSH2 0x2611
000025c1: JUMPI
000025c2: PUSH1 0x40
000025c4: DUP1
000025c5: MLOAD
000025c6: PUSH1 0xe5
000025c8: PUSH1 0x02
000025ca: EXP
000025cb: PUSH3 0x461bcd
000025cf: MUL
000025d0: DUP2
000025d1: MSTORE
000025d2: PUSH1 0x20
000025d4: PUSH1 0x04
000025d6: DUP3
000025d7: ADD
000025d8: MSTORE
000025d9: PUSH1 0x11
000025db: PUSH1 0x24
000025dd: DUP3
000025de: ADD
000025df: MSTORE
000025e0: PUSH32 0x6572726f722c206e656564206166664944000000000000000000000000000000
00002601: PUSH1 0x44
00002603: DUP3
00002604: ADD
00002605: MSTORE
00002606: SWAP1
00002607: MLOAD
00002608: SWAP1
00002609: DUP2
0000260a: SWAP1
0000260b: SUB
0000260c: PUSH1 0x64
0000260e: ADD
0000260f: SWAP1
00002610: REVERT
00002611: JUMPDEST
00002612: PUSH2 0x261b
00002615: DUP4
00002616: DUP6
00002617: PUSH2 0x347b
0000261a: JUMP
0000261b: JUMPDEST
0000261c: PUSH2 0x2628
0000261f: DUP4
00002620: DUP4
00002621: DUP7
00002622: PUSH1 0x00
00002624: PUSH2 0x2840
00002627: JUMP
00002628: JUMPDEST
00002629: PUSH1 0x40
0000262b: DUP1
0000262c: MLOAD
0000262d: DUP6
0000262e: DUP2
0000262f: MSTORE
00002630: TIMESTAMP
00002631: PUSH1 0x20
00002633: DUP3
00002634: ADD
00002635: MSTORE
00002636: DUP2
00002637: MLOAD
00002638: DUP6
00002639: SWAP3
0000263a: PUSH32 0x96ad13f6e4fc98a529562e3ed06929dbebda1a7a2208473422df505f0d55d5f8
0000265b: SWAP3
0000265c: DUP3
0000265d: SWAP1
0000265e: SUB
0000265f: ADD
00002660: SWAP1
00002661: LOG2
00002662: POP
00002663: POP
00002664: POP
00002665: POP
00002666: JUMP
00002667: JUMPDEST
00002668: PUSH1 0x01
0000266a: SLOAD
0000266b: DUP2
0000266c: JUMP
0000266d: JUMPDEST
0000266e: PUSH1 0x00
00002670: SLOAD
00002671: PUSH1 0x01
00002673: PUSH1 0xa0
00002675: PUSH1 0x02
00002677: EXP
00002678: SUB
00002679: AND
0000267a: CALLER
0000267b: EQ
0000267c: PUSH2 0x26cf
0000267f: JUMPI
00002680: PUSH1 0x40
00002682: DUP1
00002683: MLOAD
00002684: PUSH1 0xe5
00002686: PUSH1 0x02
00002688: EXP
00002689: PUSH3 0x461bcd
0000268d: MUL
0000268e: DUP2
0000268f: MSTORE
00002690: PUSH1 0x20
00002692: PUSH1 0x04
00002694: DUP3
00002695: ADD
00002696: MSTORE
00002697: PUSH1 0x09
00002699: PUSH1 0x24
0000269b: DUP3
0000269c: ADD
0000269d: MSTORE
0000269e: PUSH32 0x6e6f742061646d696e0000000000000000000000000000000000000000000000
000026bf: PUSH1 0x44
000026c1: DUP3
000026c2: ADD
000026c3: MSTORE
000026c4: SWAP1
000026c5: MLOAD
000026c6: SWAP1
000026c7: DUP2
000026c8: SWAP1
000026c9: SUB
000026ca: PUSH1 0x64
000026cc: ADD
000026cd: SWAP1
000026ce: REVERT
000026cf: JUMPDEST
000026d0: PUSH1 0x15
000026d2: SLOAD
000026d3: PUSH1 0xff
000026d5: AND
000026d6: ISZERO
000026d7: PUSH2 0x26df
000026da: JUMPI
000026db: PUSH2 0x26ed
000026de: JUMP
000026df: JUMPDEST
000026e0: PUSH1 0x15
000026e2: DUP1
000026e3: SLOAD
000026e4: PUSH1 0xff
000026e6: NOT
000026e7: AND
000026e8: PUSH1 0x01
000026ea: OR
000026eb: SWAP1
000026ec: SSTORE
000026ed: JUMPDEST
000026ee: JUMP
000026ef: JUMPDEST
000026f0: PUSH1 0x00
000026f2: DUP1
000026f3: DUP4
000026f4: DUP4
000026f5: GT
000026f6: ISZERO
000026f7: PUSH2 0x26ff
000026fa: JUMPI
000026fb: PUSH1 0x00
000026fd: DUP1
000026fe: REVERT
000026ff: JUMPDEST
00002700: POP
00002701: POP
00002702: DUP1
00002703: DUP3
00002704: SUB
00002705: DUP1
00002706: JUMPDEST
00002707: POP
00002708: SWAP3
00002709: SWAP2
0000270a: POP
0000270b: POP
0000270c: JUMP
0000270d: JUMPDEST
0000270e: PUSH1 0x00
00002710: DUP1
00002711: DUP1
00002712: DUP4
00002713: GT
00002714: PUSH2 0x271c
00002717: JUMPI
00002718: PUSH1 0x00
0000271a: DUP1
0000271b: REVERT
0000271c: JUMPDEST
0000271d: DUP3
0000271e: DUP5
0000271f: DUP2
00002720: ISZERO
00002721: ISZERO
00002722: PUSH2 0x2727
00002725: JUMPI
00002726: INVALID
00002727: JUMPDEST
00002728: DIV
00002729: SWAP5
0000272a: SWAP4
0000272b: POP
0000272c: POP
0000272d: POP
0000272e: POP
0000272f: JUMP
00002730: JUMPDEST
00002731: PUSH1 0x00
00002733: DUP1
00002734: DUP1
00002735: DUP1
00002736: DUP7
00002737: GT
00002738: PUSH2 0x278b
0000273b: JUMPI
0000273c: PUSH1 0x40
0000273e: DUP1
0000273f: MLOAD
00002740: PUSH1 0xe5
00002742: PUSH1 0x02
00002744: EXP
00002745: PUSH3 0x461bcd
00002749: MUL
0000274a: DUP2
0000274b: MSTORE
0000274c: PUSH1 0x20
0000274e: PUSH1 0x04
00002750: DUP3
00002751: ADD
00002752: MSTORE
00002753: PUSH1 0x09
00002755: PUSH1 0x24
00002757: DUP3
00002758: ADD
00002759: MSTORE
0000275a: PUSH32 0x726e64206572726f720000000000000000000000000000000000000000000000
0000277b: PUSH1 0x44
0000277d: DUP3
0000277e: ADD
0000277f: MSTORE
00002780: SWAP1
00002781: MLOAD
00002782: SWAP1
00002783: DUP2
00002784: SWAP1
00002785: SUB
00002786: PUSH1 0x64
00002788: ADD
00002789: SWAP1
0000278a: REVERT
0000278b: JUMPDEST
0000278c: POP
0000278d: POP
0000278e: PUSH1 0x11
00002790: SLOAD
00002791: PUSH1 0x14
00002793: SLOAD
00002794: SWAP1
00002795: SWAP2
00002796: POP
00002797: PUSH1 0x00
00002799: JUMPDEST
0000279a: DUP6
0000279b: DUP2
0000279c: LT
0000279d: ISZERO
0000279e: PUSH2 0x27f7
000027a1: JUMPI
000027a2: PUSH2 0x27ac
000027a5: DUP6
000027a6: DUP6
000027a7: DUP6
000027a8: PUSH2 0x2038
000027ab: JUMP
000027ac: JUMPDEST
000027ad: SWAP2
000027ae: POP
000027af: PUSH2 0x27ed
000027b2: PUSH8 0x0de0b6b3a7640000
000027bb: PUSH2 0x0e3a
000027be: PUSH2 0x27e0
000027c1: PUSH2 0x27cb
000027c4: DUP10
000027c5: DUP10
000027c6: DUP10
000027c7: PUSH2 0x1a61
000027ca: JUMP
000027cb: JUMPDEST
000027cc: PUSH8 0x0de0b6b3a7640000
000027d5: SWAP1
000027d6: PUSH4 0xffffffff
000027db: PUSH2 0x26ef
000027de: AND
000027df: JUMP
000027e0: JUMPDEST
000027e1: DUP7
000027e2: SWAP1
000027e3: PUSH4 0xffffffff
000027e8: PUSH2 0x2800
000027eb: AND
000027ec: JUMP
000027ed: JUMPDEST
000027ee: SWAP3
000027ef: POP
000027f0: PUSH1 0x01
000027f2: ADD
000027f3: PUSH2 0x2799
000027f6: JUMP
000027f7: JUMPDEST
000027f8: POP
000027f9: SWAP4
000027fa: POP
000027fb: SWAP4
000027fc: SWAP2
000027fd: POP
000027fe: POP
000027ff: JUMP
00002800: JUMPDEST
00002801: PUSH1 0x00
00002803: DUP1
00002804: DUP4
00002805: ISZERO
00002806: ISZERO
00002807: PUSH2 0x2813
0000280a: JUMPI
0000280b: PUSH1 0x00
0000280d: SWAP2
0000280e: POP
0000280f: PUSH2 0x2706
00002812: JUMP
00002813: JUMPDEST
00002814: POP
00002815: DUP3
00002816: DUP3
00002817: MUL
00002818: DUP3
00002819: DUP5
0000281a: DUP3
0000281b: DUP2
0000281c: ISZERO
0000281d: ISZERO
0000281e: PUSH2 0x2823
00002821: JUMPI
00002822: INVALID
00002823: JUMPDEST
00002824: DIV
00002825: EQ
00002826: PUSH2 0x0f42
00002829: JUMPI
0000282a: PUSH1 0x00
0000282c: DUP1
0000282d: REVERT
0000282e: JUMPDEST
0000282f: PUSH1 0x00
00002831: DUP3
00002832: DUP3
00002833: ADD
00002834: DUP4
00002835: DUP2
00002836: LT
00002837: ISZERO
00002838: PUSH2 0x0f42
0000283b: JUMPI
0000283c: PUSH1 0x00
0000283e: DUP1
0000283f: REVERT
00002840: JUMPDEST
00002841: PUSH1 0x00
00002843: DUP1
00002844: DUP4
00002845: GT
00002846: ISZERO
00002847: PUSH2 0x2878
0000284a: JUMPI
0000284b: PUSH2 0x286c
0000284e: DUP3
0000284f: PUSH2 0x2860
00002852: DUP6
00002853: PUSH2 0x0271
00002856: PUSH4 0xffffffff
0000285b: PUSH2 0x2800
0000285e: AND
0000285f: JUMP
00002860: JUMPDEST
00002861: SWAP1
00002862: PUSH4 0xffffffff
00002867: PUSH2 0x282e
0000286a: AND
0000286b: JUMP
0000286c: JUMPDEST
0000286d: SWAP2
0000286e: POP
0000286f: PUSH2 0x2878
00002872: DUP6
00002873: DUP5
00002874: PUSH2 0x2940
00002877: JUMP
00002878: JUMPDEST
00002879: PUSH2 0x2881
0000287c: DUP3
0000287d: PUSH2 0x1b1a
00002880: JUMP
00002881: JUMPDEST
00002882: SWAP1
00002883: POP
00002884: PUSH2 0x2890
00002887: DUP6
00002888: DUP4
00002889: DUP4
0000288a: PUSH1 0x00
0000288c: PUSH2 0x31ae
0000288f: JUMP
00002890: JUMPDEST
00002891: PUSH2 0x0a64
00002894: DUP6
00002895: DUP6
00002896: PUSH2 0x28ab
00002899: PUSH1 0x64
0000289b: PUSH2 0x0e3a
0000289e: DUP8
0000289f: PUSH1 0x05
000028a1: PUSH4 0xffffffff
000028a6: PUSH2 0x2800
000028a9: AND
000028aa: JUMP
000028ab: JUMPDEST
000028ac: PUSH2 0x0e5c
000028af: PUSH1 0x64
000028b1: PUSH2 0x0e3a
000028b4: DUP8
000028b5: PUSH1 0x05
000028b7: PUSH4 0xffffffff
000028bc: PUSH2 0x2800
000028bf: AND
000028c0: JUMP
000028c1: JUMPDEST
000028c2: PUSH1 0x00
000028c4: DUP3
000028c5: DUP2
000028c6: MSTORE
000028c7: PUSH1 0x06
000028c9: PUSH1 0x20
000028cb: MSTORE
000028cc: PUSH1 0x40
000028ce: SWAP1
000028cf: KECCAK256
000028d0: PUSH1 0x03
000028d2: ADD
000028d3: SLOAD
000028d4: PUSH2 0x28e3
000028d7: SWAP1
000028d8: DUP3
000028d9: PUSH4 0xffffffff
000028de: PUSH2 0x282e
000028e1: AND
000028e2: JUMP
000028e3: JUMPDEST
000028e4: PUSH1 0x00
000028e6: DUP4
000028e7: DUP2
000028e8: MSTORE
000028e9: PUSH1 0x06
000028eb: PUSH1 0x20
000028ed: SWAP1
000028ee: DUP2
000028ef: MSTORE
000028f0: PUSH1 0x40
000028f2: DUP1
000028f3: DUP4
000028f4: KECCAK256
000028f5: PUSH1 0x03
000028f7: ADD
000028f8: SWAP4
000028f9: SWAP1
000028fa: SWAP4
000028fb: SSTORE
000028fc: PUSH1 0x07
000028fe: SWAP1
000028ff: MSTORE
00002900: KECCAK256
00002901: PUSH1 0x04
00002903: ADD
00002904: SLOAD
00002905: PUSH2 0x2914
00002908: SWAP1
00002909: DUP3
0000290a: PUSH4 0xffffffff
0000290f: PUSH2 0x282e
00002912: AND
00002913: JUMP
00002914: JUMPDEST
00002915: PUSH1 0x00
00002917: DUP4
00002918: DUP2
00002919: MSTORE
0000291a: PUSH1 0x07
0000291c: PUSH1 0x20
0000291e: MSTORE
0000291f: PUSH1 0x40
00002921: SWAP1
00002922: KECCAK256
00002923: PUSH1 0x04
00002925: ADD
00002926: SSTORE
00002927: PUSH1 0x0f
00002929: SLOAD
0000292a: PUSH2 0x2939
0000292d: SWAP1
0000292e: DUP3
0000292f: PUSH4 0xffffffff
00002934: PUSH2 0x282e
00002937: AND
00002938: JUMP
00002939: JUMPDEST
0000293a: PUSH1 0x0f
0000293c: SSTORE
0000293d: POP
0000293e: POP
0000293f: JUMP
00002940: JUMPDEST
00002941: PUSH1 0x00
00002943: DUP3
00002944: DUP2
00002945: MSTORE
00002946: PUSH1 0x07
00002948: PUSH1 0x20
0000294a: MSTORE
0000294b: PUSH1 0x40
0000294d: SWAP1
0000294e: KECCAK256
0000294f: PUSH1 0x06
00002951: ADD
00002952: SLOAD
00002953: PUSH2 0x2963
00002956: SWAP1
00002957: DUP3
00002958: SWAP1
00002959: PUSH4 0xffffffff
0000295e: PUSH2 0x282e
00002961: AND
00002962: JUMP
00002963: JUMPDEST
00002964: PUSH1 0x00
00002966: DUP4
00002967: DUP2
00002968: MSTORE
00002969: PUSH1 0x07
0000296b: PUSH1 0x20
0000296d: MSTORE
0000296e: PUSH1 0x40
00002970: SWAP1
00002971: KECCAK256
00002972: PUSH1 0x06
00002974: ADD
00002975: SSTORE
00002976: PUSH2 0x297e
00002979: DUP2
0000297a: PUSH2 0x3528
0000297d: JUMP
0000297e: JUMPDEST
0000297f: PUSH1 0x0c
00002981: SLOAD
00002982: SWAP1
00002983: SWAP2
00002984: POP
00002985: PUSH2 0x2994
00002988: SWAP1
00002989: DUP3
0000298a: PUSH4 0xffffffff
0000298f: PUSH2 0x282e
00002992: AND
00002993: JUMP
00002994: JUMPDEST
00002995: PUSH1 0x0c
00002997: SSTORE
00002998: POP
00002999: POP
0000299a: JUMP
0000299b: JUMPDEST
0000299c: DUP1
0000299d: MLOAD
0000299e: PUSH1 0x00
000029a0: SWAP1
000029a1: DUP3
000029a2: SWAP1
000029a3: DUP3
000029a4: DUP1
000029a5: DUP1
000029a6: PUSH1 0x20
000029a8: DUP5
000029a9: GT
000029aa: DUP1
000029ab: ISZERO
000029ac: SWAP1
000029ad: PUSH2 0x29b6
000029b0: JUMPI
000029b1: POP
000029b2: PUSH1 0x00
000029b4: DUP5
000029b5: GT
000029b6: JUMPDEST
000029b7: ISZERO
000029b8: ISZERO
000029b9: PUSH2 0x2a32
000029bc: JUMPI
000029bd: PUSH1 0x40
000029bf: DUP1
000029c0: MLOAD
000029c1: PUSH1 0xe5
000029c3: PUSH1 0x02
000029c5: EXP
000029c6: PUSH3 0x461bcd
000029ca: MUL
000029cb: DUP2
000029cc: MSTORE
000029cd: PUSH1 0x20
000029cf: PUSH1 0x04
000029d1: DUP3
000029d2: ADD
000029d3: MSTORE
000029d4: PUSH1 0x2a
000029d6: PUSH1 0x24
000029d8: DUP3
000029d9: ADD
000029da: MSTORE
000029db: PUSH32 0x737472696e67206d757374206265206265747765656e203120616e6420333220
000029fc: PUSH1 0x44
000029fe: DUP3
000029ff: ADD
00002a00: MSTORE
00002a01: PUSH32 0x6368617261637465727300000000000000000000000000000000000000000000
00002a22: PUSH1 0x64
00002a24: DUP3
00002a25: ADD
00002a26: MSTORE
00002a27: SWAP1
00002a28: MLOAD
00002a29: SWAP1
00002a2a: DUP2
00002a2b: SWAP1
00002a2c: SUB
00002a2d: PUSH1 0x84
00002a2f: ADD
00002a30: SWAP1
00002a31: REVERT
00002a32: JUMPDEST
00002a33: DUP5
00002a34: PUSH1 0x00
00002a36: DUP2
00002a37: MLOAD
00002a38: DUP2
00002a39: LT
00002a3a: ISZERO
00002a3b: ISZERO
00002a3c: PUSH2 0x2a41
00002a3f: JUMPI
00002a40: INVALID
00002a41: JUMPDEST
00002a42: SWAP1
00002a43: PUSH1 0x20
00002a45: ADD
00002a46: ADD
00002a47: MLOAD
00002a48: PUSH1 0xf8
00002a4a: PUSH1 0x02
00002a4c: EXP
00002a4d: SWAP1
00002a4e: DIV
00002a4f: PUSH1 0xf8
00002a51: PUSH1 0x02
00002a53: EXP
00002a54: MUL
00002a55: PUSH1 0x01
00002a57: PUSH1 0xf8
00002a59: PUSH1 0x02
00002a5b: EXP
00002a5c: SUB
00002a5d: NOT
00002a5e: AND
00002a5f: PUSH1 0x20
00002a61: PUSH1 0xf8
00002a63: PUSH1 0x02
00002a65: EXP
00002a66: MUL
00002a67: EQ
00002a68: ISZERO
00002a69: DUP1
00002a6a: ISZERO
00002a6b: PUSH2 0x2aa8
00002a6e: JUMPI
00002a6f: POP
00002a70: DUP5
00002a71: PUSH1 0x01
00002a73: DUP6
00002a74: SUB
00002a75: DUP2
00002a76: MLOAD
00002a77: DUP2
00002a78: LT
00002a79: ISZERO
00002a7a: ISZERO
00002a7b: PUSH2 0x2a80
00002a7e: JUMPI
00002a7f: INVALID
00002a80: JUMPDEST
00002a81: SWAP1
00002a82: PUSH1 0x20
00002a84: ADD
00002a85: ADD
00002a86: MLOAD
00002a87: PUSH1 0xf8
00002a89: PUSH1 0x02
00002a8b: EXP
00002a8c: SWAP1
00002a8d: DIV
00002a8e: PUSH1 0xf8
00002a90: PUSH1 0x02
00002a92: EXP
00002a93: MUL
00002a94: PUSH1 0x01
00002a96: PUSH1 0xf8
00002a98: PUSH1 0x02
00002a9a: EXP
00002a9b: SUB
00002a9c: NOT
00002a9d: AND
00002a9e: PUSH1 0x20
00002aa0: PUSH1 0xf8
00002aa2: PUSH1 0x02
00002aa4: EXP
00002aa5: MUL
00002aa6: EQ
00002aa7: ISZERO
00002aa8: JUMPDEST
00002aa9: ISZERO
00002aaa: ISZERO
00002aab: PUSH2 0x2b24
00002aae: JUMPI
00002aaf: PUSH1 0x40
00002ab1: DUP1
00002ab2: MLOAD
00002ab3: PUSH1 0xe5
00002ab5: PUSH1 0x02
00002ab7: EXP
00002ab8: PUSH3 0x461bcd
00002abc: MUL
00002abd: DUP2
00002abe: MSTORE
00002abf: PUSH1 0x20
00002ac1: PUSH1 0x04
00002ac3: DUP3
00002ac4: ADD
00002ac5: MSTORE
00002ac6: PUSH1 0x25
00002ac8: PUSH1 0x24
00002aca: DUP3
00002acb: ADD
00002acc: MSTORE
00002acd: PUSH32 0x737472696e672063616e6e6f74207374617274206f7220656e64207769746820
00002aee: PUSH1 0x44
00002af0: DUP3
00002af1: ADD
00002af2: MSTORE
00002af3: PUSH32 0x7370616365000000000000000000000000000000000000000000000000000000
00002b14: PUSH1 0x64
00002b16: DUP3
00002b17: ADD
00002b18: MSTORE
00002b19: SWAP1
00002b1a: MLOAD
00002b1b: SWAP1
00002b1c: DUP2
00002b1d: SWAP1
00002b1e: SUB
00002b1f: PUSH1 0x84
00002b21: ADD
00002b22: SWAP1
00002b23: REVERT
00002b24: JUMPDEST
00002b25: DUP5
00002b26: PUSH1 0x00
00002b28: DUP2
00002b29: MLOAD
00002b2a: DUP2
00002b2b: LT
00002b2c: ISZERO
00002b2d: ISZERO
00002b2e: PUSH2 0x2b33
00002b31: JUMPI
00002b32: INVALID
00002b33: JUMPDEST
00002b34: SWAP1
00002b35: PUSH1 0x20
00002b37: ADD
00002b38: ADD
00002b39: MLOAD
00002b3a: PUSH1 0xf8
00002b3c: PUSH1 0x02
00002b3e: EXP
00002b3f: SWAP1
00002b40: DIV
00002b41: PUSH1 0xf8
00002b43: PUSH1 0x02
00002b45: EXP
00002b46: MUL
00002b47: PUSH1 0x01
00002b49: PUSH1 0xf8
00002b4b: PUSH1 0x02
00002b4d: EXP
00002b4e: SUB
00002b4f: NOT
00002b50: AND
00002b51: PUSH1 0x30
00002b53: PUSH1 0xf8
00002b55: PUSH1 0x02
00002b57: EXP
00002b58: MUL
00002b59: EQ
00002b5a: ISZERO
00002b5b: PUSH2 0x2c76
00002b5e: JUMPI
00002b5f: DUP5
00002b60: PUSH1 0x01
00002b62: DUP2
00002b63: MLOAD
00002b64: DUP2
00002b65: LT
00002b66: ISZERO
00002b67: ISZERO
00002b68: PUSH2 0x2b6d
00002b6b: JUMPI
00002b6c: INVALID
00002b6d: JUMPDEST
00002b6e: SWAP1
00002b6f: PUSH1 0x20
00002b71: ADD
00002b72: ADD
00002b73: MLOAD
00002b74: PUSH1 0xf8
00002b76: PUSH1 0x02
00002b78: EXP
00002b79: SWAP1
00002b7a: DIV
00002b7b: PUSH1 0xf8
00002b7d: PUSH1 0x02
00002b7f: EXP
00002b80: MUL
00002b81: PUSH1 0x01
00002b83: PUSH1 0xf8
00002b85: PUSH1 0x02
00002b87: EXP
00002b88: SUB
00002b89: NOT
00002b8a: AND
00002b8b: PUSH1 0x78
00002b8d: PUSH1 0xf8
00002b8f: PUSH1 0x02
00002b91: EXP
00002b92: MUL
00002b93: EQ
00002b94: ISZERO
00002b95: ISZERO
00002b96: ISZERO
00002b97: PUSH2 0x2bea
00002b9a: JUMPI
00002b9b: PUSH1 0x40
00002b9d: DUP1
00002b9e: MLOAD
00002b9f: PUSH1 0xe5
00002ba1: PUSH1 0x02
00002ba3: EXP
00002ba4: PUSH3 0x461bcd
00002ba8: MUL
00002ba9: DUP2
00002baa: MSTORE
00002bab: PUSH1 0x20
00002bad: PUSH1 0x04
00002baf: DUP3
00002bb0: ADD
00002bb1: MSTORE
00002bb2: PUSH1 0x1b
00002bb4: PUSH1 0x24
00002bb6: DUP3
00002bb7: ADD
00002bb8: MSTORE
00002bb9: PUSH32 0x737472696e672063616e6e6f7420737461727420776974682030780000000000
00002bda: PUSH1 0x44
00002bdc: DUP3
00002bdd: ADD
00002bde: MSTORE
00002bdf: SWAP1
00002be0: MLOAD
00002be1: SWAP1
00002be2: DUP2
00002be3: SWAP1
00002be4: SUB
00002be5: PUSH1 0x64
00002be7: ADD
00002be8: SWAP1
00002be9: REVERT
00002bea: JUMPDEST
00002beb: DUP5
00002bec: PUSH1 0x01
00002bee: DUP2
00002bef: MLOAD
00002bf0: DUP2
00002bf1: LT
00002bf2: ISZERO
00002bf3: ISZERO
00002bf4: PUSH2 0x2bf9
00002bf7: JUMPI
00002bf8: INVALID
00002bf9: JUMPDEST
00002bfa: SWAP1
00002bfb: PUSH1 0x20
00002bfd: ADD
00002bfe: ADD
00002bff: MLOAD
00002c00: PUSH1 0xf8
00002c02: PUSH1 0x02
00002c04: EXP
00002c05: SWAP1
00002c06: DIV
00002c07: PUSH1 0xf8
00002c09: PUSH1 0x02
00002c0b: EXP
00002c0c: MUL
00002c0d: PUSH1 0x01
00002c0f: PUSH1 0xf8
00002c11: PUSH1 0x02
00002c13: EXP
00002c14: SUB
00002c15: NOT
00002c16: AND
00002c17: PUSH1 0x58
00002c19: PUSH1 0xf8
00002c1b: PUSH1 0x02
00002c1d: EXP
00002c1e: MUL
00002c1f: EQ
00002c20: ISZERO
00002c21: ISZERO
00002c22: ISZERO
00002c23: PUSH2 0x2c76
00002c26: JUMPI
00002c27: PUSH1 0x40
00002c29: DUP1
00002c2a: MLOAD
00002c2b: PUSH1 0xe5
00002c2d: PUSH1 0x02
00002c2f: EXP
00002c30: PUSH3 0x461bcd
00002c34: MUL
00002c35: DUP2
00002c36: MSTORE
00002c37: PUSH1 0x20
00002c39: PUSH1 0x04
00002c3b: DUP3
00002c3c: ADD
00002c3d: MSTORE
00002c3e: PUSH1 0x1b
00002c40: PUSH1 0x24
00002c42: DUP3
00002c43: ADD
00002c44: MSTORE
00002c45: PUSH32 0x737472696e672063616e6e6f7420737461727420776974682030580000000000
00002c66: PUSH1 0x44
00002c68: DUP3
00002c69: ADD
00002c6a: MSTORE
00002c6b: SWAP1
00002c6c: MLOAD
00002c6d: SWAP1
00002c6e: DUP2
00002c6f: SWAP1
00002c70: SUB
00002c71: PUSH1 0x64
00002c73: ADD
00002c74: SWAP1
00002c75: REVERT
00002c76: JUMPDEST
00002c77: PUSH1 0x00
00002c79: SWAP2
00002c7a: POP
00002c7b: JUMPDEST
00002c7c: DUP4
00002c7d: DUP3
00002c7e: LT
00002c7f: ISZERO
00002c80: PUSH2 0x3146
00002c83: JUMPI
00002c84: DUP5
00002c85: MLOAD
00002c86: PUSH32 0x4000000000000000000000000000000000000000000000000000000000000000
00002ca7: SWAP1
00002ca8: DUP7
00002ca9: SWAP1
00002caa: DUP5
00002cab: SWAP1
00002cac: DUP2
00002cad: LT
00002cae: PUSH2 0x2cb3
00002cb1: JUMPI
00002cb2: INVALID
00002cb3: JUMPDEST
00002cb4: SWAP1
00002cb5: PUSH1 0x20
00002cb7: ADD
00002cb8: ADD
00002cb9: MLOAD
00002cba: PUSH1 0xf8
00002cbc: PUSH1 0x02
00002cbe: EXP
00002cbf: SWAP1
00002cc0: DIV
00002cc1: PUSH1 0xf8
00002cc3: PUSH1 0x02
00002cc5: EXP
00002cc6: MUL
00002cc7: PUSH1 0x01
00002cc9: PUSH1 0xf8
00002ccb: PUSH1 0x02
00002ccd: EXP
00002cce: SUB
00002ccf: NOT
00002cd0: AND
00002cd1: GT
00002cd2: DUP1
00002cd3: ISZERO
00002cd4: PUSH2 0x2d27
00002cd7: JUMPI
00002cd8: POP
00002cd9: DUP5
00002cda: MLOAD
00002cdb: PUSH32 0x5b00000000000000000000000000000000000000000000000000000000000000
00002cfc: SWAP1
00002cfd: DUP7
00002cfe: SWAP1
00002cff: DUP5
00002d00: SWAP1
00002d01: DUP2
00002d02: LT
00002d03: PUSH2 0x2d08
00002d06: JUMPI
00002d07: INVALID
00002d08: JUMPDEST
00002d09: SWAP1
00002d0a: PUSH1 0x20
00002d0c: ADD
00002d0d: ADD
00002d0e: MLOAD
00002d0f: PUSH1 0xf8
00002d11: PUSH1 0x02
00002d13: EXP
00002d14: SWAP1
00002d15: DIV
00002d16: PUSH1 0xf8
00002d18: PUSH1 0x02
00002d1a: EXP
00002d1b: MUL
00002d1c: PUSH1 0x01
00002d1e: PUSH1 0xf8
00002d20: PUSH1 0x02
00002d22: EXP
00002d23: SUB
00002d24: NOT
00002d25: AND
00002d26: LT
00002d27: JUMPDEST
00002d28: ISZERO
00002d29: PUSH2 0x2d94
00002d2c: JUMPI
00002d2d: DUP5
00002d2e: DUP3
00002d2f: DUP2
00002d30: MLOAD
00002d31: DUP2
00002d32: LT
00002d33: ISZERO
00002d34: ISZERO
00002d35: PUSH2 0x2d3a
00002d38: JUMPI
00002d39: INVALID
00002d3a: JUMPDEST
00002d3b: SWAP1
00002d3c: PUSH1 0x20
00002d3e: ADD
00002d3f: ADD
00002d40: MLOAD
00002d41: PUSH1 0xf8
00002d43: PUSH1 0x02
00002d45: EXP
00002d46: SWAP1
00002d47: DIV
00002d48: PUSH1 0xf8
00002d4a: PUSH1 0x02
00002d4c: EXP
00002d4d: MUL
00002d4e: PUSH1 0xf8
00002d50: PUSH1 0x02
00002d52: EXP
00002d53: SWAP1
00002d54: DIV
00002d55: PUSH1 0x20
00002d57: ADD
00002d58: PUSH1 0xf8
00002d5a: PUSH1 0x02
00002d5c: EXP
00002d5d: MUL
00002d5e: DUP6
00002d5f: DUP4
00002d60: DUP2
00002d61: MLOAD
00002d62: DUP2
00002d63: LT
00002d64: ISZERO
00002d65: ISZERO
00002d66: PUSH2 0x2d6b
00002d69: JUMPI
00002d6a: INVALID
00002d6b: JUMPDEST
00002d6c: SWAP1
00002d6d: PUSH1 0x20
00002d6f: ADD
00002d70: ADD
00002d71: SWAP1
00002d72: PUSH1 0x01
00002d74: PUSH1 0xf8
00002d76: PUSH1 0x02
00002d78: EXP
00002d79: SUB
00002d7a: NOT
00002d7b: AND
00002d7c: SWAP1
00002d7d: DUP2
00002d7e: PUSH1 0x00
00002d80: BYTE
00002d81: SWAP1
00002d82: MSTORE8
00002d83: POP
00002d84: DUP3
00002d85: ISZERO
00002d86: ISZERO
00002d87: PUSH2 0x2d8f
00002d8a: JUMPI
00002d8b: PUSH1 0x01
00002d8d: SWAP3
00002d8e: POP
00002d8f: JUMPDEST
00002d90: PUSH2 0x313b
00002d93: JUMP
00002d94: JUMPDEST
00002d95: DUP5
00002d96: DUP3
00002d97: DUP2
00002d98: MLOAD
00002d99: DUP2
00002d9a: LT
00002d9b: ISZERO
00002d9c: ISZERO
00002d9d: PUSH2 0x2da2
00002da0: JUMPI
00002da1: INVALID
00002da2: JUMPDEST
00002da3: SWAP1
00002da4: PUSH1 0x20
00002da6: ADD
00002da7: ADD
00002da8: MLOAD
00002da9: PUSH1 0xf8
00002dab: PUSH1 0x02
00002dad: EXP
00002dae: SWAP1
00002daf: DIV
00002db0: PUSH1 0xf8
00002db2: PUSH1 0x02
00002db4: EXP
00002db5: MUL
00002db6: PUSH1 0x01
00002db8: PUSH1 0xf8
00002dba: PUSH1 0x02
00002dbc: EXP
00002dbd: SUB
00002dbe: NOT
00002dbf: AND
00002dc0: PUSH1 0x20
00002dc2: PUSH1 0xf8
00002dc4: PUSH1 0x02
00002dc6: EXP
00002dc7: MUL
00002dc8: EQ
00002dc9: DUP1
00002dca: PUSH2 0x2e72
00002dcd: JUMPI
00002dce: POP
00002dcf: DUP5
00002dd0: MLOAD
00002dd1: PUSH32 0x6000000000000000000000000000000000000000000000000000000000000000
00002df2: SWAP1
00002df3: DUP7
00002df4: SWAP1
00002df5: DUP5
00002df6: SWAP1
00002df7: DUP2
00002df8: LT
00002df9: PUSH2 0x2dfe
00002dfc: JUMPI
00002dfd: INVALID
00002dfe: JUMPDEST
00002dff: SWAP1
00002e00: PUSH1 0x20
00002e02: ADD
00002e03: ADD
00002e04: MLOAD
00002e05: PUSH1 0xf8
00002e07: PUSH1 0x02
00002e09: EXP
00002e0a: SWAP1
00002e0b: DIV
00002e0c: PUSH1 0xf8
00002e0e: PUSH1 0x02
00002e10: EXP
00002e11: MUL
00002e12: PUSH1 0x01
00002e14: PUSH1 0xf8
00002e16: PUSH1 0x02
00002e18: EXP
00002e19: SUB
00002e1a: NOT
00002e1b: AND
00002e1c: GT
00002e1d: DUP1
00002e1e: ISZERO
00002e1f: PUSH2 0x2e72
00002e22: JUMPI
00002e23: POP
00002e24: DUP5
00002e25: MLOAD
00002e26: PUSH32 0x7b00000000000000000000000000000000000000000000000000000000000000
00002e47: SWAP1
00002e48: DUP7
00002e49: SWAP1
00002e4a: DUP5
00002e4b: SWAP1
00002e4c: DUP2
00002e4d: LT
00002e4e: PUSH2 0x2e53
00002e51: JUMPI
00002e52: INVALID
00002e53: JUMPDEST
00002e54: SWAP1
00002e55: PUSH1 0x20
00002e57: ADD
00002e58: ADD
00002e59: MLOAD
00002e5a: PUSH1 0xf8
00002e5c: PUSH1 0x02
00002e5e: EXP
00002e5f: SWAP1
00002e60: DIV
00002e61: PUSH1 0xf8
00002e63: PUSH1 0x02
00002e65: EXP
00002e66: MUL
00002e67: PUSH1 0x01
00002e69: PUSH1 0xf8
00002e6b: PUSH1 0x02
00002e6d: EXP
00002e6e: SUB
00002e6f: NOT
00002e70: AND
00002e71: LT
00002e72: JUMPDEST
00002e73: DUP1
00002e74: PUSH2 0x2f1c
00002e77: JUMPI
00002e78: POP
00002e79: DUP5
00002e7a: MLOAD
00002e7b: PUSH32 0x2f00000000000000000000000000000000000000000000000000000000000000
00002e9c: SWAP1
00002e9d: DUP7
00002e9e: SWAP1
00002e9f: DUP5
00002ea0: SWAP1
00002ea1: DUP2
00002ea2: LT
00002ea3: PUSH2 0x2ea8
00002ea6: JUMPI
00002ea7: INVALID
00002ea8: JUMPDEST
00002ea9: SWAP1
00002eaa: PUSH1 0x20
00002eac: ADD
00002ead: ADD
00002eae: MLOAD
00002eaf: PUSH1 0xf8
00002eb1: PUSH1 0x02
00002eb3: EXP
00002eb4: SWAP1
00002eb5: DIV
00002eb6: PUSH1 0xf8
00002eb8: PUSH1 0x02
00002eba: EXP
00002ebb: MUL
00002ebc: PUSH1 0x01
00002ebe: PUSH1 0xf8
00002ec0: PUSH1 0x02
00002ec2: EXP
00002ec3: SUB
00002ec4: NOT
00002ec5: AND
00002ec6: GT
00002ec7: DUP1
00002ec8: ISZERO
00002ec9: PUSH2 0x2f1c
00002ecc: JUMPI
00002ecd: POP
00002ece: DUP5
00002ecf: MLOAD
00002ed0: PUSH32 0x3a00000000000000000000000000000000000000000000000000000000000000
00002ef1: SWAP1
00002ef2: DUP7
00002ef3: SWAP1
00002ef4: DUP5
00002ef5: SWAP1
00002ef6: DUP2
00002ef7: LT
00002ef8: PUSH2 0x2efd
00002efb: JUMPI
00002efc: INVALID
00002efd: JUMPDEST
00002efe: SWAP1
00002eff: PUSH1 0x20
00002f01: ADD
00002f02: ADD
00002f03: MLOAD
00002f04: PUSH1 0xf8
00002f06: PUSH1 0x02
00002f08: EXP
00002f09: SWAP1
00002f0a: DIV
00002f0b: PUSH1 0xf8
00002f0d: PUSH1 0x02
00002f0f: EXP
00002f10: MUL
00002f11: PUSH1 0x01
00002f13: PUSH1 0xf8
00002f15: PUSH1 0x02
00002f17: EXP
00002f18: SUB
00002f19: NOT
00002f1a: AND
00002f1b: LT
00002f1c: JUMPDEST
00002f1d: ISZERO
00002f1e: ISZERO
00002f1f: PUSH2 0x2f98
00002f22: JUMPI
00002f23: PUSH1 0x40
00002f25: DUP1
00002f26: MLOAD
00002f27: PUSH1 0xe5
00002f29: PUSH1 0x02
00002f2b: EXP
00002f2c: PUSH3 0x461bcd
00002f30: MUL
00002f31: DUP2
00002f32: MSTORE
00002f33: PUSH1 0x20
00002f35: PUSH1 0x04
00002f37: DUP3
00002f38: ADD
00002f39: MSTORE
00002f3a: PUSH1 0x22
00002f3c: PUSH1 0x24
00002f3e: DUP3
00002f3f: ADD
00002f40: MSTORE
00002f41: PUSH32 0x737472696e6720636f6e7461696e7320696e76616c6964206368617261637465
00002f62: PUSH1 0x44
00002f64: DUP3
00002f65: ADD
00002f66: MSTORE
00002f67: PUSH32 0x7273000000000000000000000000000000000000000000000000000000000000
00002f88: PUSH1 0x64
00002f8a: DUP3
00002f8b: ADD
00002f8c: MSTORE
00002f8d: SWAP1
00002f8e: MLOAD
00002f8f: SWAP1
00002f90: DUP2
00002f91: SWAP1
00002f92: SUB
00002f93: PUSH1 0x84
00002f95: ADD
00002f96: SWAP1
00002f97: REVERT
00002f98: JUMPDEST
00002f99: DUP5
00002f9a: DUP3
00002f9b: DUP2
00002f9c: MLOAD
00002f9d: DUP2
00002f9e: LT
00002f9f: ISZERO
00002fa0: ISZERO
00002fa1: PUSH2 0x2fa6
00002fa4: JUMPI
00002fa5: INVALID
00002fa6: JUMPDEST
00002fa7: SWAP1
00002fa8: PUSH1 0x20
00002faa: ADD
00002fab: ADD
00002fac: MLOAD
00002fad: PUSH1 0xf8
00002faf: PUSH1 0x02
00002fb1: EXP
00002fb2: SWAP1
00002fb3: DIV
00002fb4: PUSH1 0xf8
00002fb6: PUSH1 0x02
00002fb8: EXP
00002fb9: MUL
00002fba: PUSH1 0x01
00002fbc: PUSH1 0xf8
00002fbe: PUSH1 0x02
00002fc0: EXP
00002fc1: SUB
00002fc2: NOT
00002fc3: AND
00002fc4: PUSH1 0x20
00002fc6: PUSH1 0xf8
00002fc8: PUSH1 0x02
00002fca: EXP
00002fcb: MUL
00002fcc: EQ
00002fcd: ISZERO
00002fce: PUSH2 0x3085
00002fd1: JUMPI
00002fd2: DUP5
00002fd3: DUP3
00002fd4: PUSH1 0x01
00002fd6: ADD
00002fd7: DUP2
00002fd8: MLOAD
00002fd9: DUP2
00002fda: LT
00002fdb: ISZERO
00002fdc: ISZERO
00002fdd: PUSH2 0x2fe2
00002fe0: JUMPI
00002fe1: INVALID
00002fe2: JUMPDEST
00002fe3: SWAP1
00002fe4: PUSH1 0x20
00002fe6: ADD
00002fe7: ADD
00002fe8: MLOAD
00002fe9: PUSH1 0xf8
00002feb: PUSH1 0x02
00002fed: EXP
00002fee: SWAP1
00002fef: DIV
00002ff0: PUSH1 0xf8
00002ff2: PUSH1 0x02
00002ff4: EXP
00002ff5: MUL
00002ff6: PUSH1 0x01
00002ff8: PUSH1 0xf8
00002ffa: PUSH1 0x02
00002ffc: EXP
00002ffd: SUB
00002ffe: NOT
00002fff: AND
00003000: PUSH1 0x20
00003002: PUSH1 0xf8
00003004: PUSH1 0x02
00003006: EXP
00003007: MUL
00003008: EQ
00003009: ISZERO
0000300a: ISZERO
0000300b: ISZERO
0000300c: PUSH2 0x3085
0000300f: JUMPI
00003010: PUSH1 0x40
00003012: DUP1
00003013: MLOAD
00003014: PUSH1 0xe5
00003016: PUSH1 0x02
00003018: EXP
00003019: PUSH3 0x461bcd
0000301d: MUL
0000301e: DUP2
0000301f: MSTORE
00003020: PUSH1 0x20
00003022: PUSH1 0x04
00003024: DUP3
00003025: ADD
00003026: MSTORE
00003027: PUSH1 0x28
00003029: PUSH1 0x24
0000302b: DUP3
0000302c: ADD
0000302d: MSTORE
0000302e: PUSH32 0x737472696e672063616e6e6f7420636f6e7461696e20636f6e73656375746976
0000304f: PUSH1 0x44
00003051: DUP3
00003052: ADD
00003053: MSTORE
00003054: PUSH32 0x6520737061636573000000000000000000000000000000000000000000000000
00003075: PUSH1 0x64
00003077: DUP3
00003078: ADD
00003079: MSTORE
0000307a: SWAP1
0000307b: MLOAD
0000307c: SWAP1
0000307d: DUP2
0000307e: SWAP1
0000307f: SUB
00003080: PUSH1 0x84
00003082: ADD
00003083: SWAP1
00003084: REVERT
00003085: JUMPDEST
00003086: DUP3
00003087: ISZERO
00003088: DUP1
00003089: ISZERO
0000308a: PUSH2 0x3131
0000308d: JUMPI
0000308e: POP
0000308f: DUP5
00003090: MLOAD
00003091: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
000030b2: SWAP1
000030b3: DUP7
000030b4: SWAP1
000030b5: DUP5
000030b6: SWAP1
000030b7: DUP2
000030b8: LT
000030b9: PUSH2 0x30be
000030bc: JUMPI
000030bd: INVALID
000030be: JUMPDEST
000030bf: SWAP1
000030c0: PUSH1 0x20
000030c2: ADD
000030c3: ADD
000030c4: MLOAD
000030c5: PUSH1 0xf8
000030c7: PUSH1 0x02
000030c9: EXP
000030ca: SWAP1
000030cb: DIV
000030cc: PUSH1 0xf8
000030ce: PUSH1 0x02
000030d0: EXP
000030d1: MUL
000030d2: PUSH1 0x01
000030d4: PUSH1 0xf8
000030d6: PUSH1 0x02
000030d8: EXP
000030d9: SUB
000030da: NOT
000030db: AND
000030dc: LT
000030dd: DUP1
000030de: PUSH2 0x3131
000030e1: JUMPI
000030e2: POP
000030e3: DUP5
000030e4: MLOAD
000030e5: PUSH32 0x3900000000000000000000000000000000000000000000000000000000000000
00003106: SWAP1
00003107: DUP7
00003108: SWAP1
00003109: DUP5
0000310a: SWAP1
0000310b: DUP2
0000310c: LT
0000310d: PUSH2 0x3112
00003110: JUMPI
00003111: INVALID
00003112: JUMPDEST
00003113: SWAP1
00003114: PUSH1 0x20
00003116: ADD
00003117: ADD
00003118: MLOAD
00003119: PUSH1 0xf8
0000311b: PUSH1 0x02
0000311d: EXP
0000311e: SWAP1
0000311f: DIV
00003120: PUSH1 0xf8
00003122: PUSH1 0x02
00003124: EXP
00003125: MUL
00003126: PUSH1 0x01
00003128: PUSH1 0xf8
0000312a: PUSH1 0x02
0000312c: EXP
0000312d: SUB
0000312e: NOT
0000312f: AND
00003130: GT
00003131: JUMPDEST
00003132: ISZERO
00003133: PUSH2 0x313b
00003136: JUMPI
00003137: PUSH1 0x01
00003139: SWAP3
0000313a: POP
0000313b: JUMPDEST
0000313c: PUSH1 0x01
0000313e: SWAP1
0000313f: SWAP2
00003140: ADD
00003141: SWAP1
00003142: PUSH2 0x2c7b
00003145: JUMP
00003146: JUMPDEST
00003147: PUSH1 0x01
00003149: DUP4
0000314a: ISZERO
0000314b: ISZERO
0000314c: EQ
0000314d: PUSH2 0x31a0
00003150: JUMPI
00003151: PUSH1 0x40
00003153: DUP1
00003154: MLOAD
00003155: PUSH1 0xe5
00003157: PUSH1 0x02
00003159: EXP
0000315a: PUSH3 0x461bcd
0000315e: MUL
0000315f: DUP2
00003160: MSTORE
00003161: PUSH1 0x20
00003163: PUSH1 0x04
00003165: DUP3
00003166: ADD
00003167: MSTORE
00003168: PUSH1 0x1d
0000316a: PUSH1 0x24
0000316c: DUP3
0000316d: ADD
0000316e: MSTORE
0000316f: PUSH32 0x737472696e672063616e6e6f74206265206f6e6c79206e756d62657273000000
00003190: PUSH1 0x44
00003192: DUP3
00003193: ADD
00003194: MSTORE
00003195: SWAP1
00003196: MLOAD
00003197: SWAP1
00003198: DUP2
00003199: SWAP1
0000319a: SUB
0000319b: PUSH1 0x64
0000319d: ADD
0000319e: SWAP1
0000319f: REVERT
000031a0: JUMPDEST
000031a1: POP
000031a2: POP
000031a3: POP
000031a4: POP
000031a5: PUSH1 0x20
000031a7: ADD
000031a8: MLOAD
000031a9: SWAP3
000031aa: SWAP2
000031ab: POP
000031ac: POP
000031ad: JUMP
000031ae: JUMPDEST
000031af: PUSH1 0x00
000031b1: DUP5
000031b2: DUP2
000031b3: MSTORE
000031b4: PUSH1 0x07
000031b6: PUSH1 0x20
000031b8: MSTORE
000031b9: PUSH1 0x40
000031bb: SWAP1
000031bc: KECCAK256
000031bd: SLOAD
000031be: PUSH2 0x31cd
000031c1: SWAP1
000031c2: DUP5
000031c3: PUSH4 0xffffffff
000031c8: PUSH2 0x282e
000031cb: AND
000031cc: JUMP
000031cd: JUMPDEST
000031ce: PUSH1 0x00
000031d0: DUP6
000031d1: DUP2
000031d2: MSTORE
000031d3: PUSH1 0x07
000031d5: PUSH1 0x20
000031d7: MSTORE
000031d8: PUSH1 0x40
000031da: SWAP1
000031db: KECCAK256
000031dc: SWAP1
000031dd: DUP2
000031de: SSTORE
000031df: PUSH1 0x01
000031e1: ADD
000031e2: SLOAD
000031e3: PUSH2 0x31f2
000031e6: SWAP1
000031e7: DUP4
000031e8: PUSH4 0xffffffff
000031ed: PUSH2 0x282e
000031f0: AND
000031f1: JUMP
000031f2: JUMPDEST
000031f3: PUSH1 0x00
000031f5: DUP6
000031f6: DUP2
000031f7: MSTORE
000031f8: PUSH1 0x07
000031fa: PUSH1 0x20
000031fc: MSTORE
000031fd: PUSH1 0x40
000031ff: SWAP1
00003200: KECCAK256
00003201: PUSH1 0x01
00003203: ADD
00003204: SSTORE
00003205: DUP1
00003206: ISZERO
00003207: PUSH2 0x323f
0000320a: JUMPI
0000320b: PUSH1 0x00
0000320d: DUP5
0000320e: DUP2
0000320f: MSTORE
00003210: PUSH1 0x07
00003212: PUSH1 0x20
00003214: MSTORE
00003215: PUSH1 0x40
00003217: SWAP1
00003218: KECCAK256
00003219: PUSH1 0x03
0000321b: ADD
0000321c: SLOAD
0000321d: PUSH2 0x322c
00003220: SWAP1
00003221: DUP5
00003222: PUSH4 0xffffffff
00003227: PUSH2 0x282e
0000322a: AND
0000322b: JUMP
0000322c: JUMPDEST
0000322d: PUSH1 0x00
0000322f: DUP6
00003230: DUP2
00003231: MSTORE
00003232: PUSH1 0x07
00003234: PUSH1 0x20
00003236: MSTORE
00003237: PUSH1 0x40
00003239: SWAP1
0000323a: KECCAK256
0000323b: PUSH1 0x03
0000323d: ADD
0000323e: SSTORE
0000323f: JUMPDEST
00003240: PUSH1 0x10
00003242: SLOAD
00003243: PUSH2 0x3252
00003246: SWAP1
00003247: DUP4
00003248: PUSH4 0xffffffff
0000324d: PUSH2 0x282e
00003250: AND
00003251: JUMP
00003252: JUMPDEST
00003253: PUSH1 0x10
00003255: SSTORE
00003256: PUSH1 0x0e
00003258: SLOAD
00003259: PUSH2 0x3268
0000325c: SWAP1
0000325d: DUP5
0000325e: PUSH4 0xffffffff
00003263: PUSH2 0x282e
00003266: AND
00003267: JUMP
00003268: JUMPDEST
00003269: PUSH1 0x0e
0000326b: SSTORE
0000326c: POP
0000326d: POP
0000326e: POP
0000326f: POP
00003270: JUMP
00003271: JUMPDEST
00003272: PUSH1 0x00
00003274: DUP2
00003275: DUP2
00003276: MSTORE
00003277: PUSH1 0x05
00003279: PUSH1 0x20
0000327b: MSTORE
0000327c: PUSH1 0x40
0000327e: DUP2
0000327f: KECCAK256
00003280: SLOAD
00003281: SWAP1
00003282: DUP1
00003283: DUP3
00003284: ISZERO
00003285: DUP1
00003286: ISZERO
00003287: SWAP1
00003288: PUSH2 0x3291
0000328b: JUMPI
0000328c: POP
0000328d: DUP5
0000328e: DUP4
0000328f: EQ
00003290: ISZERO
00003291: JUMPDEST
00003292: DUP1
00003293: ISZERO
00003294: PUSH2 0x32ac
00003297: JUMPI
00003298: POP
00003299: PUSH1 0x00
0000329b: DUP6
0000329c: DUP2
0000329d: MSTORE
0000329e: PUSH1 0x06
000032a0: PUSH1 0x20
000032a2: MSTORE
000032a3: PUSH1 0x40
000032a5: SWAP1
000032a6: KECCAK256
000032a7: PUSH1 0x02
000032a9: ADD
000032aa: SLOAD
000032ab: ISZERO
000032ac: JUMPDEST
000032ad: ISZERO
000032ae: PUSH2 0x3353
000032b1: JUMPI
000032b2: PUSH1 0x00
000032b4: DUP6
000032b5: DUP2
000032b6: MSTORE
000032b7: PUSH1 0x06
000032b9: PUSH1 0x20
000032bb: MSTORE
000032bc: PUSH1 0x40
000032be: DUP1
000032bf: DUP3
000032c0: KECCAK256
000032c1: PUSH1 0x02
000032c3: SWAP1
000032c4: DUP2
000032c5: ADD
000032c6: DUP7
000032c7: SWAP1
000032c8: SSTORE
000032c9: SWAP5
000032ca: DUP3
000032cb: MSTORE
000032cc: DUP2
000032cd: KECCAK256
000032ce: SWAP1
000032cf: SWAP4
000032d0: ADD
000032d1: SLOAD
000032d2: SWAP3
000032d3: SWAP2
000032d4: POP
000032d5: JUMPDEST
000032d6: PUSH1 0x0f
000032d8: DUP3
000032d9: LT
000032da: ISZERO
000032db: PUSH2 0x3353
000032de: JUMPI
000032df: DUP3
000032e0: ISZERO
000032e1: ISZERO
000032e2: PUSH2 0x32ea
000032e5: JUMPI
000032e6: PUSH2 0x3353
000032e9: JUMP
000032ea: JUMPDEST
000032eb: DUP5
000032ec: DUP4
000032ed: EQ
000032ee: ISZERO
000032ef: PUSH2 0x3334
000032f2: JUMPI
000032f3: POP
000032f4: PUSH1 0x00
000032f6: JUMPDEST
000032f7: DUP2
000032f8: PUSH1 0x02
000032fa: ADD
000032fb: DUP2
000032fc: LT
000032fd: ISZERO
000032fe: PUSH2 0x332f
00003301: JUMPI
00003302: PUSH1 0x00
00003304: SWAP3
00003305: DUP4
00003306: MSTORE
00003307: PUSH1 0x08
00003309: PUSH1 0x20
0000330b: SWAP1
0000330c: DUP2
0000330d: MSTORE
0000330e: PUSH1 0x40
00003310: DUP1
00003311: DUP6
00003312: KECCAK256
00003313: PUSH1 0x02
00003315: DUP1
00003316: DUP7
00003317: ADD
00003318: SWAP1
00003319: SWAP2
0000331a: SSTORE
0000331b: PUSH1 0x06
0000331d: SWAP1
0000331e: SWAP3
0000331f: MSTORE
00003320: SWAP1
00003321: SWAP4
00003322: KECCAK256
00003323: SWAP1
00003324: SWAP3
00003325: ADD
00003326: SLOAD
00003327: SWAP2
00003328: PUSH1 0x01
0000332a: ADD
0000332b: PUSH2 0x32f6
0000332e: JUMP
0000332f: JUMPDEST
00003330: PUSH2 0x3353
00003333: JUMP
00003334: JUMPDEST
00003335: PUSH1 0x00
00003337: SWAP3
00003338: DUP4
00003339: MSTORE
0000333a: PUSH1 0x06
0000333c: PUSH1 0x20
0000333e: MSTORE
0000333f: PUSH1 0x40
00003341: SWAP1
00003342: SWAP3
00003343: KECCAK256
00003344: PUSH1 0x02
00003346: ADD
00003347: SLOAD
00003348: SWAP2
00003349: PUSH1 0x01
0000334b: SWAP1
0000334c: SWAP2
0000334d: ADD
0000334e: SWAP1
0000334f: PUSH2 0x32d5
00003352: JUMP
00003353: JUMPDEST
00003354: POP
00003355: POP
00003356: POP
00003357: PUSH1 0x00
00003359: SWAP2
0000335a: DUP3
0000335b: MSTORE
0000335c: POP
0000335d: PUSH1 0x06
0000335f: PUSH1 0x20
00003361: MSTORE
00003362: PUSH1 0x40
00003364: SWAP1
00003365: KECCAK256
00003366: PUSH1 0x02
00003368: ADD
00003369: SLOAD
0000336a: SWAP1
0000336b: JUMP
0000336c: JUMPDEST
0000336d: PUSH1 0x03
0000336f: SLOAD
00003370: PUSH1 0x40
00003372: MLOAD
00003373: PUSH1 0x01
00003375: PUSH1 0xa0
00003377: PUSH1 0x02
00003379: EXP
0000337a: SUB
0000337b: SWAP1
0000337c: SWAP2
0000337d: AND
0000337e: SWAP1
0000337f: DUP3
00003380: ISZERO
00003381: PUSH2 0x08fc
00003384: MUL
00003385: SWAP1
00003386: DUP4
00003387: SWAP1
00003388: PUSH1 0x00
0000338a: DUP2
0000338b: DUP2
0000338c: DUP2
0000338d: DUP6
0000338e: DUP9
0000338f: DUP9
00003390: CALL
00003391: SWAP4
00003392: POP
00003393: POP
00003394: POP
00003395: POP
00003396: ISZERO
00003397: DUP1
00003398: ISZERO
00003399: PUSH2 0x33a6
0000339c: JUMPI
0000339d: RETURNDATASIZE
0000339e: PUSH1 0x00
000033a0: DUP1
000033a1: RETURNDATACOPY
000033a2: RETURNDATASIZE
000033a3: PUSH1 0x00
000033a5: REVERT
000033a6: JUMPDEST
000033a7: POP
000033a8: POP
000033a9: JUMP
000033aa: JUMPDEST
000033ab: PUSH1 0x00
000033ad: PUSH1 0x10
000033af: JUMPDEST
000033b0: PUSH1 0x00
000033b2: DUP2
000033b3: GT
000033b4: ISZERO
000033b5: PUSH2 0x3473
000033b8: JUMPI
000033b9: DUP5
000033ba: ISZERO
000033bb: DUP1
000033bc: PUSH2 0x33c4
000033bf: JUMPI
000033c0: POP
000033c1: DUP6
000033c2: DUP6
000033c3: EQ
000033c4: JUMPDEST
000033c5: ISZERO
000033c6: PUSH2 0x33ce
000033c9: JUMPI
000033ca: PUSH2 0x3473
000033cd: JUMP
000033ce: JUMPDEST
000033cf: PUSH8 0x02c68af0bb140000
000033d8: DUP5
000033d9: LT
000033da: ISZERO
000033db: PUSH2 0x33e3
000033de: JUMPI
000033df: PUSH2 0x3473
000033e2: JUMP
000033e3: JUMPDEST
000033e4: DUP2
000033e5: ISZERO
000033e6: DUP1
000033e7: ISZERO
000033e8: PUSH2 0x33fd
000033eb: JUMPI
000033ec: POP
000033ed: PUSH1 0x00
000033ef: DUP6
000033f0: DUP2
000033f1: MSTORE
000033f2: PUSH1 0x08
000033f4: PUSH1 0x20
000033f6: MSTORE
000033f7: PUSH1 0x40
000033f9: DUP2
000033fa: KECCAK256
000033fb: SLOAD
000033fc: GT
000033fd: JUMPDEST
000033fe: ISZERO
000033ff: PUSH2 0x3423
00003402: JUMPI
00003403: PUSH1 0x00
00003405: DUP6
00003406: DUP2
00003407: MSTORE
00003408: PUSH1 0x08
0000340a: PUSH1 0x20
0000340c: MSTORE
0000340d: PUSH1 0x40
0000340f: SWAP1
00003410: KECCAK256
00003411: SLOAD
00003412: PUSH1 0x01
00003414: SWAP3
00003415: POP
00003416: PUSH2 0x3420
00003419: SWAP1
0000341a: DUP3
0000341b: SWAP1
0000341c: PUSH2 0x3557
0000341f: JUMP
00003420: JUMPDEST
00003421: SWAP1
00003422: POP
00003423: JUMPDEST
00003424: PUSH2 0x3430
00003427: DUP6
00003428: DUP6
00003429: DUP6
0000342a: PUSH1 0x01
0000342c: PUSH2 0x31ae
0000342f: JUMP
00003430: JUMPDEST
00003431: PUSH2 0x3441
00003434: DUP5
00003435: PUSH1 0x02
00003437: PUSH4 0xffffffff
0000343c: PUSH2 0x270d
0000343f: AND
00003440: JUMP
00003441: JUMPDEST
00003442: SWAP4
00003443: POP
00003444: PUSH2 0x3454
00003447: DUP4
00003448: PUSH1 0x02
0000344a: PUSH4 0xffffffff
0000344f: PUSH2 0x270d
00003452: AND
00003453: JUMP
00003454: JUMPDEST
00003455: PUSH1 0x00
00003457: SWAP6
00003458: DUP7
00003459: MSTORE
0000345a: PUSH1 0x06
0000345c: PUSH1 0x20
0000345e: MSTORE
0000345f: PUSH1 0x40
00003461: SWAP1
00003462: SWAP6
00003463: KECCAK256
00003464: PUSH1 0x02
00003466: ADD
00003467: SLOAD
00003468: SWAP5
00003469: SWAP3
0000346a: POP
0000346b: PUSH1 0x00
0000346d: NOT
0000346e: ADD
0000346f: PUSH2 0x33af
00003472: JUMP
00003473: JUMPDEST
00003474: POP
00003475: POP
00003476: POP
00003477: POP
00003478: POP
00003479: POP
0000347a: JUMP
0000347b: JUMPDEST
0000347c: DUP1
0000347d: PUSH2 0x3487
00003480: DUP4
00003481: PUSH1 0x00
00003483: PUSH2 0x23b0
00003486: JUMP
00003487: JUMPDEST
00003488: LT
00003489: ISZERO
0000348a: PUSH2 0x34dd
0000348d: JUMPI
0000348e: PUSH1 0x40
00003490: DUP1
00003491: MLOAD
00003492: PUSH1 0xe5
00003494: PUSH1 0x02
00003496: EXP
00003497: PUSH3 0x461bcd
0000349b: MUL
0000349c: DUP2
0000349d: MSTORE
0000349e: PUSH1 0x20
000034a0: PUSH1 0x04
000034a2: DUP3
000034a3: ADD
000034a4: MSTORE
000034a5: PUSH1 0x15
000034a7: PUSH1 0x24
000034a9: DUP3
000034aa: ADD
000034ab: MSTORE
000034ac: PUSH32 0x6572726f722c206e6f7420656e6f756768207265640000000000000000000000
000034cd: PUSH1 0x44
000034cf: DUP3
000034d0: ADD
000034d1: MSTORE
000034d2: SWAP1
000034d3: MLOAD
000034d4: SWAP1
000034d5: DUP2
000034d6: SWAP1
000034d7: SUB
000034d8: PUSH1 0x64
000034da: ADD
000034db: SWAP1
000034dc: REVERT
000034dd: JUMPDEST
000034de: PUSH2 0x350f
000034e1: PUSH2 0x34f1
000034e4: DUP3
000034e5: PUSH1 0x64
000034e7: PUSH4 0xffffffff
000034ec: PUSH2 0x2800
000034ef: AND
000034f0: JUMP
000034f1: JUMPDEST
000034f2: PUSH1 0x00
000034f4: DUP5
000034f5: DUP2
000034f6: MSTORE
000034f7: PUSH1 0x07
000034f9: PUSH1 0x20
000034fb: MSTORE
000034fc: PUSH1 0x40
000034fe: SWAP1
000034ff: KECCAK256
00003500: PUSH1 0x05
00003502: ADD
00003503: SLOAD
00003504: SWAP1
00003505: PUSH4 0xffffffff
0000350a: PUSH2 0x282e
0000350d: AND
0000350e: JUMP
0000350f: JUMPDEST
00003510: PUSH1 0x00
00003512: SWAP3
00003513: DUP4
00003514: MSTORE
00003515: PUSH1 0x07
00003517: PUSH1 0x20
00003519: MSTORE
0000351a: PUSH1 0x40
0000351c: SWAP1
0000351d: SWAP3
0000351e: KECCAK256
0000351f: PUSH1 0x05
00003521: ADD
00003522: SWAP2
00003523: SWAP1
00003524: SWAP2
00003525: SSTORE
00003526: POP
00003527: JUMP
00003528: JUMPDEST
00003529: PUSH1 0x00
0000352b: DUP1
0000352c: PUSH2 0x353c
0000352f: DUP4
00003530: PUSH1 0x0a
00003532: PUSH4 0xffffffff
00003537: PUSH2 0x270d
0000353a: AND
0000353b: JUMP
0000353c: JUMPDEST
0000353d: SWAP1
0000353e: POP
0000353f: PUSH2 0x3547
00003542: DUP2
00003543: PUSH2 0x336c
00003546: JUMP
00003547: JUMPDEST
00003548: PUSH2 0x0f42
0000354b: DUP4
0000354c: DUP3
0000354d: PUSH4 0xffffffff
00003552: PUSH2 0x26ef
00003555: AND
00003556: JUMP
00003557: JUMPDEST
00003558: PUSH1 0x00
0000355a: DUP2
0000355b: DUP4
0000355c: LT
0000355d: PUSH2 0x3566
00003560: JUMPI
00003561: DUP2
00003562: PUSH2 0x0f42
00003565: JUMP
00003566: JUMPDEST
00003567: POP
00003568: SWAP1
00003569: SWAP2
0000356a: SWAP1
0000356b: POP
0000356c: JUMP
0000356d: STOP
0000356e: PUSH15 0x20646973636f726400000000000000
0000357e: STOP
0000357f: STOP
00003580: STOP
00003581: STOP
00003582: STOP
00003583: STOP
00003584: STOP
00003585: STOP
00003586: STOP
00003587: STOP
00003588: STOP
00003589: STOP
0000358a: STOP
0000358b: STOP
0000358c: STOP
0000358d: STOP
0000358e: PUSH6 0x72726f722c20
00003595: PUSH15 0x6f2070696400000000000000000000
000035a5: STOP
000035a6: STOP
000035a7: STOP
000035a8: STOP
000035a9: STOP
000035aa: STOP
000035ab: STOP
000035ac: STOP
000035ad: STOP
000035ae: PUSH17 0x6f636b6574206c696e743a206e6f742061
000035c0: KECCAK256
000035c1: PUSH23 0x616c69642063757272656e63697473206e6f7420726561
000035d9: PUSH5 0x7920796574
000035df: UNKNOWN(0x2E)
000035e0: KECCAK256
000035e1: KECCAK256
000035e2: PUSH4 0x6865636b
000035e7: KECCAK256
000035e8: EXTCODEHASH
000035e9: PUSH6 0x746120696e6f
000035f0: KECCAK256
000035f1: PUSH23 0x6974616c696b2c206e6f00000000000000000000000000
00003609: STOP
0000360a: STOP
0000360b: STOP
0000360c: STOP
0000360d: STOP
0000360e: PUSH20 0x6f7272792068756d616e73206f6e6c7900000000
00003623: STOP
00003624: STOP
00003625: STOP
00003626: STOP
00003627: STOP
00003628: STOP
00003629: STOP
0000362a: STOP
0000362b: STOP
0000362c: STOP
0000362d: STOP
0000362e: LOG1
0000362f: PUSH6 0x627a7a723058
00003636: KECCAK256
00003637: CLZ
00003638: POP
00003639: PUSH16 0x3992ec91ff7af5a2e9fb5b9218edecfc
0000364a: UNKNOWN(0x2D)
0000364b: CREATE2
0000364c: PUSH24

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": "0x046111e9",
            "selector": "0x046111e9",
            "calldata_variants": [
                "0x046111e9",
                "0x046111e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0783d820",
            "selector": "0x0783d820",
            "calldata_variants": [
                "0x0783d820",
                "0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f01eba",
            "selector": "0x10f01eba",
            "calldata_variants": [
                "0x10f01eba",
                "0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18237476",
            "selector": "0x18237476",
            "calldata_variants": [
                "0x18237476",
                "0x182374760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a12408e",
            "selector": "0x2a12408e",
            "calldata_variants": [
                "0x2a12408e",
                "0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e19ebdc",
            "selector": "0x2e19ebdc",
            "calldata_variants": [
                "0x2e19ebdc",
                "0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 521,
            "type": "tx_origin_used"
        },
        {
            "pc": 2778,
            "type": "tx_origin_used"
        },
        {
            "pc": 4352,
            "type": "tx_origin_used"
        },
        {
            "pc": 5005,
            "type": "tx_origin_used"
        },
        {
            "pc": 5965,
            "type": "tx_origin_used"
        },
        {
            "pc": 7447,
            "type": "tx_origin_used"
        },
        {
            "pc": 8381,
            "type": "tx_origin_used"
        },
        {
            "pc": 9307,
            "type": "tx_origin_used"
        },
        {
            "pc": 520,
            "type": "tx_origin_used"
        },
        {
            "pc": 2777,
            "type": "tx_origin_used"
        },
        {
            "pc": 4351,
            "type": "tx_origin_used"
        },
        {
            "pc": 5004,
            "type": "tx_origin_used"
        },
        {
            "pc": 5964,
            "type": "tx_origin_used"
        },
        {
            "pc": 7446,
            "type": "tx_origin_used"
        },
        {
            "pc": 8380,
            "type": "tx_origin_used"
        },
        {
            "pc": 9306,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952
call_targets: 0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f"
    ],
    "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": "0x046111e9",
            "selector": "0x046111e9",
            "calldata_variants": [
                "0x046111e9",
                "0x046111e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0783d820",
            "selector": "0x0783d820",
            "calldata_variants": [
                "0x0783d820",
                "0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f01eba",
            "selector": "0x10f01eba",
            "calldata_variants": [
                "0x10f01eba",
                "0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18237476",
            "selector": "0x18237476",
            "calldata_variants": [
                "0x18237476",
                "0x182374760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a12408e",
            "selector": "0x2a12408e",
            "calldata_variants": [
                "0x2a12408e",
                "0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e19ebdc",
            "selector": "0x2e19ebdc",
            "calldata_variants": [
                "0x2e19ebdc",
                "0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3533,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4815,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13200,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 521,
            "type": "tx_origin_used"
        },
        {
            "pc": 2778,
            "type": "tx_origin_used"
        },
        {
            "pc": 4352,
            "type": "tx_origin_used"
        },
        {
            "pc": 5005,
            "type": "tx_origin_used"
        },
        {
            "pc": 5965,
            "type": "tx_origin_used"
        },
        {
            "pc": 7447,
            "type": "tx_origin_used"
        },
        {
            "pc": 8381,
            "type": "tx_origin_used"
        },
        {
            "pc": 9307,
            "type": "tx_origin_used"
        },
        {
            "pc": 520,
            "type": "tx_origin_used"
        },
        {
            "pc": 2777,
            "type": "tx_origin_used"
        },
        {
            "pc": 4351,
            "type": "tx_origin_used"
        },
        {
            "pc": 5004,
            "type": "tx_origin_used"
        },
        {
            "pc": 5964,
            "type": "tx_origin_used"
        },
        {
            "pc": 7446,
            "type": "tx_origin_used"
        },
        {
            "pc": 8380,
            "type": "tx_origin_used"
        },
        {
            "pc": 9306,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952
call_targets: 0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x21306034f030517fae0420f6a8b6e4dd3667526516b2ce7b68a2023c35285952",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x1d9c44890d7f36eb9771ac4c9cd37eb7d354207f"
    ],
    "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": "0x046111e9",
            "selector": "0x046111e9",
            "calldata_variants": [
                "0x046111e9",
                "0x046111e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0783d820",
            "selector": "0x0783d820",
            "calldata_variants": [
                "0x0783d820",
                "0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f01eba",
            "selector": "0x10f01eba",
            "calldata_variants": [
                "0x10f01eba",
                "0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18237476",
            "selector": "0x18237476",
            "calldata_variants": [
                "0x18237476",
                "0x182374760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a12408e",
            "selector": "0x2a12408e",
            "calldata_variants": [
                "0x2a12408e",
                "0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e19ebdc",
            "selector": "0x2e19ebdc",
            "calldata_variants": [
                "0x2e19ebdc",
                "0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3533,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4815,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13200,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 521,
            "type": "tx_origin_used"
        },
        {
            "pc": 2778,
            "type": "tx_origin_used"
        },
        {
            "pc": 4352,
            "type": "tx_origin_used"
        },
        {
            "pc": 5005,
            "type": "tx_origin_used"
        },
        {
            "pc": 5965,
            "type": "tx_origin_used"
        },
        {
            "pc": 7447,
            "type": "tx_origin_used"
        },
        {
            "pc": 8381,
            "type": "tx_origin_used"
        },
        {
            "pc": 9307,
            "type": "tx_origin_used"
        },
        {
            "pc": 520,
            "type": "tx_origin_used"
        },
        {
            "pc": 2777,
            "type": "tx_origin_used"
        },
        {
            "pc": 4351,
            "type": "tx_origin_used"
        },
        {
            "pc": 5004,
            "type": "tx_origin_used"
        },
        {
            "pc": 5964,
            "type": "tx_origin_used"
        },
        {
            "pc": 7446,
            "type": "tx_origin_used"
        },
        {
            "pc": 8380,
            "type": "tx_origin_used"
        },
        {
            "pc": 9306,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x49512a30bbafb62e9f25dd3e8967e445ce44f832e69eff37091ab68f1c281581
validation_json
{
    "sink": "CREATE",
    "errors": 8,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x49512a30bbafb62e9f25dd3e8967e445ce44f832e69eff37091ab68f1c281581",
    "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": "0x046111e9",
            "selector": "0x046111e9",
            "calldata_variants": [
                "0x046111e9",
                "0x046111e90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0783d820",
            "selector": "0x0783d820",
            "calldata_variants": [
                "0x0783d820",
                "0x0783d8200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f01eba",
            "selector": "0x10f01eba",
            "calldata_variants": [
                "0x10f01eba",
                "0x10f01eba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18237476",
            "selector": "0x18237476",
            "calldata_variants": [
                "0x18237476",
                "0x182374760000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2a12408e",
            "selector": "0x2a12408e",
            "calldata_variants": [
                "0x2a12408e",
                "0x2a12408e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e19ebdc",
            "selector": "0x2e19ebdc",
            "calldata_variants": [
                "0x2e19ebdc",
                "0x2e19ebdc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2e1a7d4d",
            "selector": "0x2e1a7d4d",
            "calldata_variants": [
                "0x2e1a7d4d",
                "0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 1
}
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
}