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

Analysis Run

a22acaa5-656f-4181-bd39-9ccc7fe754eb

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 5:15 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31091 report.consolidate complete 1 / 1 3 months ago
76360 artifact.fetch complete 1 / 3 2 weeks ago
76361 tool.cast_disasm complete 1 / 3 2 weeks ago
76362 analysis.bundle complete 1 / 3 2 weeks ago
76363 capability.graph complete 1 / 3 2 weeks ago
76364 detector.run complete 1 / 3 2 weeks ago
76365 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value-extraction path identified from the bytecode bundle.
View stderr
[codex:342127] OpenAI Codex v0.77.0 (research preview)
[codex:342127] --------
[codex:342127] workdir: /tmp/codex-multi-ihxqitjh
[codex:342127] model: gpt-5.2-codex
[codex:342127] provider: openai
[codex:342127] approval: never
[codex:342127] sandbox: read-only
[codex:342127] reasoning effort: xhigh
[codex:342127] reasoning summaries: auto
[codex:342127] session id: 019b7a8c-55ac-7922-a3dc-6bf58151e369
[codex:342127] --------
[codex:342127] user
[codex:342127] 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:342127] 
[codex:342127] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:342127] 
[codex:342127] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:342127] - Gas inefficiency, code quality, or best practices
[codex:342127] - Theoretical vulnerabilities without a clear extraction path
[codex:342127] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:342127] - Issues requiring social engineering or off-chain coordination
[codex:342127] 
[codex:342127] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:342127] - CALL/DELEGATECALL with controllable destination or calldata
[codex:342127] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:342127] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:342127] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:342127] - External calls before state updates (reentrancy)
[codex:342127] - SELFDESTRUCT with controllable beneficiary
[codex:342127] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:342127] 
[codex:342127] For each finding, you MUST explain:
[codex:342127] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:342127] 2. The concrete sequence of transactions to extract value
[codex:342127] 3. Why you believe this is exploitable (not just suspicious)
[codex:342127] 
[codex:342127] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:342127] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:342127] 
[codex:342127] Output MUST be valid JSON matching the provided schema.
[codex:342127] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:342127] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:342127] mcp startup: no servers
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Evaluating skill applicability**
[codex:342127] exec
[codex:342127] /bin/bash -lc ls in /tmp/codex-multi-ihxqitjh succeeded in 5ms:
[codex:342127] BYTECODE_BUNDLE.txt
[codex:342127] codex-output-schema.json
[codex:342127] exec
[codex:342127] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-ihxqitjh succeeded in 5ms:
[codex:342127] Runtime bytecode bundle for best-effort auditing.
[codex:342127] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:342127] 
[codex:342127] FILE: runtime_bytecode.hex
[codex:342127] 0x60806040526004361061012a5760003560e01c8063a0e67e2b116100ab578063c01a8c841161006f578063c01a8c84146107c4578063c6427474146107ff578063d74f8edd14610905578063dc8452cd14610930578063e20056e61461095b578063ee22610b146109cc5761012a565b8063a0e67e2b146105b0578063a8abe69a1461061c578063b5dc40c3146106ce578063b77bf6001461075e578063ba51a6df146107895761012a565b806354741525116100f257806354741525146103675780637065cb48146103c4578063784547a7146104155780638b51d13f146104685780639ace38c2146104b75761012a565b8063025e7c2714610184578063173825d9146101ff57806320ea8d86146102505780632f54bf6e1461028b5780633411c81c146102f4575b6000341115610182573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b34801561019057600080fd5b506101bd600480360360208110156101a757600080fd5b8101908080359060200190929190505050610a07565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020b57600080fd5b5061024e6004803603602081101561022257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a43565b005b34801561025c57600080fd5b506102896004803603602081101561027357600080fd5b8101908080359060200190929190505050610cd1565b005b34801561029757600080fd5b506102da600480360360208110156102ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e73565b604051808215151515815260200191505060405180910390f35b34801561030057600080fd5b5061034d6004803603604081101561031757600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e93565b604051808215151515815260200191505060405180910390f35b34801561037357600080fd5b506103ae6004803603604081101561038a57600080fd5b81019080803515159060200190929190803515159060200190929190505050610ec2565b6040518082815260200191505060405180910390f35b3480156103d057600080fd5b50610413600480360360208110156103e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f54565b005b34801561042157600080fd5b5061044e6004803603602081101561043857600080fd5b8101908080359060200190929190505050611167565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b506104a16004803603602081101561048b57600080fd5b810190808035906020019092919050505061124c565b6040518082815260200191505060405180910390f35b3480156104c357600080fd5b506104f0600480360360208110156104da57600080fd5b8101908080359060200190929190505050611315565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610572578082015181840152602081019050610557565b50505050905090810190601f16801561059f5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b3480156105bc57600080fd5b506105c561140a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106085780820151818401526020810190506105ed565b505050509050019250505060405180910390f35b34801561062857600080fd5b506106776004803603608081101561063f57600080fd5b810190808035906020019092919080359060200190929190803515159060200190929190803515159060200190929190505050611498565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106ba57808201518184015260208101905061069f565b505050509050019250505060405180910390f35b3480156106da57600080fd5b50610707600480360360208110156106f157600080fd5b81019080803590602001909291905050506115fc565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561074a57808201518184015260208101905061072f565b505050509050019250505060405180910390f35b34801561076a57600080fd5b50610773611828565b6040518082815260200191505060405180910390f35b34801561079557600080fd5b506107c2600480360360208110156107ac57600080fd5b810190808035906020019092919050505061182e565b005b3480156107d057600080fd5b506107fd600480360360208110156107e757600080fd5b81019080803590602001909291905050506118e4565b005b34801561080b57600080fd5b506108ef6004803603606081101561082257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561086957600080fd5b82018360208201111561087b57600080fd5b8035906020019184600183028401116401000000008311171561089d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611ad1565b6040518082815260200191505060405180910390f35b34801561091157600080fd5b5061091a611af0565b6040518082815260200191505060405180910390f35b34801561093c57600080fd5b50610945611af5565b6040518082815260200191505060405180910390f35b34801561096757600080fd5b506109ca6004803603604081101561097e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611afb565b005b3480156109d857600080fd5b50610a05600480360360208110156109ef57600080fd5b8101908080359060200190929190505050611e05565b005b60038181548110610a1457fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a7b57600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610ad257600080fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060008090505b600160038054905003811015610c52578273ffffffffffffffffffffffffffffffffffffffff1660038281548110610b6457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610c4557600360016003805490500381548110610bc057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660038281548110610bf857fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c52565b8080600101915050610b30565b506001600381818054905003915081610c6b9190612212565b506003805490506004541115610c8a57610c8960038054905061182e565b5b8173ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a25050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d2857600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d9157600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff1615610dbf57600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610f4d57838015610f01575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610f345750828015610f33575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610f40576001820191505b8080600101915050610eca565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f8c57600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fe457600080fd5b81600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561101f57600080fd5b6001600380549050016004546032821115801561103c5750818111155b8015611049575060008114155b8015611056575060008214155b61105f57600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038590806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000905060008090505b60038054905081101561124457600160008581526020019081526020016000206000600383815481106111a357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611222576001820191505b60045482141561123757600192505050611247565b8080600101915050611174565b50505b919050565b600080600090505b60038054905081101561130f576001600084815260200190815260200160002060006003838154811061128357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611302576001820191505b8080600101915050611254565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015490806002018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113ed5780601f106113c2576101008083540402835291602001916113ed565b820191906000526020600020905b8154815290600101906020018083116113d057829003601f168201915b5050505050908060030160009054906101000a900460ff16905084565b6060600380548060200260200160405190810160405280929190818152602001828054801561148e57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611444575b5050505050905090565b6060806005546040519080825280602002602001820160405280156114cc5781602001602082028038833980820191505090505b509050600080905060008090505b60055481101561157657858015611511575060008082815260200190815260200160002060030160009054906101000a900460ff16155b806115445750848015611543575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15611569578083838151811061155657fe5b6020026020010181815250506001820191505b80806001019150506114da565b8787036040519080825280602002602001820160405280156115a75781602001602082028038833980820191505090505b5093508790505b868110156115f1578281815181106115c257fe5b602002602001015184898303815181106115d857fe5b60200260200101818152505080806001019150506115ae565b505050949350505050565b6060806003805490506040519080825280602002602001820160405280156116335781602001602082028038833980820191505090505b509050600080905060008090505b60038054905081101561177a576001600086815260200190815260200160002060006003838154811061167057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561176d57600381815481106116f557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811061172c57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b8080600101915050611641565b816040519080825280602002602001820160405280156117a95781602001602082028038833980820191505090505b509350600090505b81811015611820578281815181106117c557fe5b60200260200101518482815181106117d957fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506117b1565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186657600080fd5b600380549050816032821115801561187e5750818111155b801561188b575060008114155b8015611898575060008214155b6118a157600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661193b57600080fd5b81600073ffffffffffffffffffffffffffffffffffffffff1660008083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156119ab57600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a1557600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a3611aca85611e05565b5050505050565b6000611ade8484846120ad565b9050611ae9816118e4565b9392505050565b603281565b60045481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b3357600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b8a57600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611be257600080fd5b60008090505b600380549050811015611cc8578473ffffffffffffffffffffffffffffffffffffffff1660038281548110611c1957fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611cbb578360038281548110611c6e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611cc8565b8080600101915050611be8565b506000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508373ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28273ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a250505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e5c57600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ec557600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff1615611ef357600080fd5b611efc85611167565b156120a6576000806000878152602001908152602001600020905060018160030160006101000a81548160ff02191690831515021790555060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010154836002016040518082805460018160011615610100020316600290048015611fd55780601f10611fb3576101008083540402835291820191611fd5565b820191906000526020600020905b815481529060010190602001808311611fc1575b505091505060006040518083038185875af1925050503d8060008114612017576040519150601f19603f3d011682016040523d82523d6000602084013e61201c565b606091505b50509050801561205857867f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a26120a3565b867f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008260030160006101000a81548160ff0219169083151502179055505b50505b5050505050565b600083600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120ea57600080fd5b600554915060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020190805190602001906121a892919061223e565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b8154818355818111156122395781836000526020600020918201910161223891906122be565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061227f57805160ff19168380011785556122ad565b828001600101855582156122ad579182015b828111156122ac578251825591602001919060010190612291565b5b5090506122ba91906122be565b5090565b6122e091905b808211156122dc5760008160009055506001016122c4565b5090565b9056fea165627a7a723058208dc85fd62b1f33c9409f0296acf1c7525a8727d282bad744b61e77e0ef0f6b750029
[codex:342127] 
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Examining bytecode for multisig patterns**
[codex:342127] thinking
[codex:342127] **Mapping known MultiSigWallet functions**
[codex:342127] 
[codex:342127] I'm comparing the bytecode’s function selectors to standard MultiSigWallet functions to confirm its identity and understand access controls. I’m carefully verifying if owner-only restrictions hold for key methods like submitTransaction and confirmTransaction, checking for patterns that might allow unauthorized calls. I’m also validating the presence of common guards like onlyWallet and validRequirement, and verifying that no suspicious opcodes like delegatecall or selfdestruct exist. So far, the contract looks like a typical MultiSigWallet implementation without obvious exploits, but I’m preparing to generate a JSON summary with no findings after confirming these details.
[codex:342127] exec
[codex:342127] /bin/bash -lc "python - <<'PY'
[codex:342127] import hashlib
[codex:342127] sigs = [
[codex:342127]     'addOwner(address)',
[codex:342127]     'removeOwner(address)',
[codex:342127]     'replaceOwner(address,address)',
[codex:342127]     'changeRequirement(uint256)',
[codex:342127]     'submitTransaction(address,uint256,bytes)',
[codex:342127]     'confirmTransaction(uint256)',
[codex:342127]     'revokeConfirmation(uint256)',
[codex:342127]     'executeTransaction(uint256)',
[codex:342127]     'isOwner(address)',
[codex:342127]     'isConfirmed(uint256)',
[codex:342127]     'getConfirmationCount(uint256)',
[codex:342127]     'getTransactionCount(bool,bool)',
[codex:342127]     'getOwners()',
[codex:342127]     'getConfirmations(uint256)',
[codex:342127]     'getTransactionIds(uint256,uint256,bool,bool)',
[codex:342127]     'transactions(uint256)',
[codex:342127]     'confirmations(uint256,address)',
[codex:342127]     'ownerCount()',
[codex:342127]     'required()',
[codex:342127]     'transactionCount()',
[codex:342127] ]
[codex:342127] 
[codex:342127] def selector(sig):
[codex:342127]     return hashlib.new('sha3_256', sig.encode()).hexdigest()[:8]
[codex:342127] 
[codex:342127] for sig in sigs:
[codex:342127]     print(sig, selector(sig))
[codex:342127] PY" in /tmp/codex-multi-ihxqitjh succeeded in 35ms:
[codex:342127] addOwner(address) 8c54d081
[codex:342127] removeOwner(address) 04e4834f
[codex:342127] replaceOwner(address,address) b1173aa8
[codex:342127] changeRequirement(uint256) 640afc45
[codex:342127] submitTransaction(address,uint256,bytes) 6cb8c0ee
[codex:342127] confirmTransaction(uint256) 593c9bda
[codex:342127] revokeConfirmation(uint256) bb64c6be
[codex:342127] executeTransaction(uint256) 343ad26e
[codex:342127] isOwner(address) 44fac43f
[codex:342127] isConfirmed(uint256) ddda6100
[codex:342127] getConfirmationCount(uint256) fdf3dcf0
[codex:342127] getTransactionCount(bool,bool) 95279666
[codex:342127] getOwners() 9588d8c5
[codex:342127] getConfirmations(uint256) 0288d274
[codex:342127] getTransactionIds(uint256,uint256,bool,bool) 723b2544
[codex:342127] transactions(uint256) 5e26e706
[codex:342127] confirmations(uint256,address) 87c7c36a
[codex:342127] ownerCount() 45e82bcb
[codex:342127] required() 6b2b8d00
[codex:342127] transactionCount() 51bfcd31
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Investigating Keccak vs SHA3 support**
[codex:342127] exec
[codex:342127] /bin/bash -lc "python - <<'PY'
[codex:342127] try:
[codex:342127]     import sha3
[codex:342127]     k = sha3.keccak_256()
[codex:342127]     k.update(b'getOwners()')
[codex:342127]     print(k.hexdigest()[:8])
[codex:342127] except Exception as e:
[codex:342127]     print('err', e)
[codex:342127] PY" in /tmp/codex-multi-ihxqitjh succeeded in 18ms:
[codex:342127] err No module named 'sha3'
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Checking for keccak support**
[codex:342127] exec
[codex:342127] /bin/bash -lc "python - <<'PY'
[codex:342127] try:
[codex:342127]     from Crypto.Hash import keccak
[codex:342127]     k = keccak.new(digest_bits=256)
[codex:342127]     k.update(b'getOwners()')
[codex:342127]     print(k.hexdigest()[:8])
[codex:342127] except Exception as e:
[codex:342127]     print('err', e)
[codex:342127] PY" in /tmp/codex-multi-ihxqitjh succeeded in 46ms:
[codex:342127] a0e67e2b
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Computing MultiSig function selectors**
[codex:342127] exec
[codex:342127] /bin/bash -lc "python - <<'PY'
[codex:342127] from Crypto.Hash import keccak
[codex:342127] 
[codex:342127] def sel(sig):
[codex:342127]     k = keccak.new(digest_bits=256)
[codex:342127]     k.update(sig.encode())
[codex:342127]     return k.hexdigest()[:8]
[codex:342127] 
[codex:342127] sigs = [
[codex:342127]     'addOwner(address)',
[codex:342127]     'removeOwner(address)',
[codex:342127]     'replaceOwner(address,address)',
[codex:342127]     'changeRequirement(uint256)',
[codex:342127]     'submitTransaction(address,uint256,bytes)',
[codex:342127]     'confirmTransaction(uint256)',
[codex:342127]     'revokeConfirmation(uint256)',
[codex:342127]     'executeTransaction(uint256)',
[codex:342127]     'isOwner(address)',
[codex:342127]     'isConfirmed(uint256)',
[codex:342127]     'getConfirmationCount(uint256)',
[codex:342127]     'getTransactionCount(bool,bool)',
[codex:342127]     'getOwners()',
[codex:342127]     'getConfirmations(uint256)',
[codex:342127]     'getTransactionIds(uint256,uint256,bool,bool)',
[codex:342127]     'transactions(uint256)',
[codex:342127]     'confirmations(uint256,address)',
[codex:342127]     'ownerCount()',
[codex:342127]     'required()',
[codex:342127]     'transactionCount()',
[codex:342127]     'MAX_OWNER_COUNT()',
[codex:342127] ]
[codex:342127] for sig in sigs:
[codex:342127]     print(sig, sel(sig))
[codex:342127] PY" in /tmp/codex-multi-ihxqitjh succeeded in 39ms:
[codex:342127] addOwner(address) 7065cb48
[codex:342127] removeOwner(address) 173825d9
[codex:342127] replaceOwner(address,address) e20056e6
[codex:342127] changeRequirement(uint256) ba51a6df
[codex:342127] submitTransaction(address,uint256,bytes) c6427474
[codex:342127] confirmTransaction(uint256) c01a8c84
[codex:342127] revokeConfirmation(uint256) 20ea8d86
[codex:342127] executeTransaction(uint256) ee22610b
[codex:342127] isOwner(address) 2f54bf6e
[codex:342127] isConfirmed(uint256) 784547a7
[codex:342127] getConfirmationCount(uint256) 8b51d13f
[codex:342127] getTransactionCount(bool,bool) 54741525
[codex:342127] getOwners() a0e67e2b
[codex:342127] getConfirmations(uint256) b5dc40c3
[codex:342127] getTransactionIds(uint256,uint256,bool,bool) a8abe69a
[codex:342127] transactions(uint256) 9ace38c2
[codex:342127] confirmations(uint256,address) 3411c81c
[codex:342127] ownerCount() 0db02622
[codex:342127] required() dc8452cd
[codex:342127] transactionCount() b77bf600
[codex:342127] 
[codex:342127] thinking
[codex:342127] **Assessing MultiSigWallet vulnerabilities**
[codex:342127] codex
[codex:342127] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the bytecode bundle.","findings":[]}
[codex:342127] tokens used
[codex:342127] 36,612
[codex:342127] {"no_findings":true,"summary":"No concrete, exploitable value-extraction path identified from the bytecode bundle.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T17:15:53.451074+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value-extraction path identified from the bytecode bundle.",
    "raw_final": {
        "summary": "No concrete, exploitable value-extraction path identified from the bytecode bundle.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
0
Total opcodes
5125
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x012a
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0xa0e67e2b
00000019: GT
0000001a: PUSH2 0x00ab
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc01a8c84
00000024: GT
00000025: PUSH2 0x006f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc01a8c84
0000002f: EQ
00000030: PUSH2 0x07c4
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc6427474
0000003a: EQ
0000003b: PUSH2 0x07ff
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xd74f8edd
00000045: EQ
00000046: PUSH2 0x0905
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xdc8452cd
00000050: EQ
00000051: PUSH2 0x0930
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xe20056e6
0000005b: EQ
0000005c: PUSH2 0x095b
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xee22610b
00000066: EQ
00000067: PUSH2 0x09cc
0000006a: JUMPI
0000006b: PUSH2 0x012a
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xa0e67e2b
00000076: EQ
00000077: PUSH2 0x05b0
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xa8abe69a
00000081: EQ
00000082: PUSH2 0x061c
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xb5dc40c3
0000008c: EQ
0000008d: PUSH2 0x06ce
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xb77bf600
00000097: EQ
00000098: PUSH2 0x075e
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xba51a6df
000000a2: EQ
000000a3: PUSH2 0x0789
000000a6: JUMPI
000000a7: PUSH2 0x012a
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0x54741525
000000b2: GT
000000b3: PUSH2 0x00f2
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x54741525
000000bd: EQ
000000be: PUSH2 0x0367
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x7065cb48
000000c8: EQ
000000c9: PUSH2 0x03c4
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x784547a7
000000d3: EQ
000000d4: PUSH2 0x0415
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x8b51d13f
000000de: EQ
000000df: PUSH2 0x0468
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x9ace38c2
000000e9: EQ
000000ea: PUSH2 0x04b7
000000ed: JUMPI
000000ee: PUSH2 0x012a
000000f1: JUMP
000000f2: JUMPDEST
000000f3: DUP1
000000f4: PUSH4 0x025e7c27
000000f9: EQ
000000fa: PUSH2 0x0184
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x173825d9
00000104: EQ
00000105: PUSH2 0x01ff
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x20ea8d86
0000010f: EQ
00000110: PUSH2 0x0250
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x2f54bf6e
0000011a: EQ
0000011b: PUSH2 0x028b
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x3411c81c
00000125: EQ
00000126: PUSH2 0x02f4
00000129: JUMPI
0000012a: JUMPDEST
0000012b: PUSH1 0x00
0000012d: CALLVALUE
0000012e: GT
0000012f: ISZERO
00000130: PUSH2 0x0182
00000133: JUMPI
00000134: CALLER
00000135: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000014a: AND
0000014b: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
0000016c: CALLVALUE
0000016d: PUSH1 0x40
0000016f: MLOAD
00000170: DUP1
00000171: DUP3
00000172: DUP2
00000173: MSTORE
00000174: PUSH1 0x20
00000176: ADD
00000177: SWAP2
00000178: POP
00000179: POP
0000017a: PUSH1 0x40
0000017c: MLOAD
0000017d: DUP1
0000017e: SWAP2
0000017f: SUB
00000180: SWAP1
00000181: LOG2
00000182: JUMPDEST
00000183: STOP
00000184: JUMPDEST
00000185: CALLVALUE
00000186: DUP1
00000187: ISZERO
00000188: PUSH2 0x0190
0000018b: JUMPI
0000018c: PUSH1 0x00
0000018e: DUP1
0000018f: REVERT
00000190: JUMPDEST
00000191: POP
00000192: PUSH2 0x01bd
00000195: PUSH1 0x04
00000197: DUP1
00000198: CALLDATASIZE
00000199: SUB
0000019a: PUSH1 0x20
0000019c: DUP2
0000019d: LT
0000019e: ISZERO
0000019f: PUSH2 0x01a7
000001a2: JUMPI
000001a3: PUSH1 0x00
000001a5: DUP1
000001a6: REVERT
000001a7: JUMPDEST
000001a8: DUP2
000001a9: ADD
000001aa: SWAP1
000001ab: DUP1
000001ac: DUP1
000001ad: CALLDATALOAD
000001ae: SWAP1
000001af: PUSH1 0x20
000001b1: ADD
000001b2: SWAP1
000001b3: SWAP3
000001b4: SWAP2
000001b5: SWAP1
000001b6: POP
000001b7: POP
000001b8: POP
000001b9: PUSH2 0x0a07
000001bc: JUMP
000001bd: JUMPDEST
000001be: PUSH1 0x40
000001c0: MLOAD
000001c1: DUP1
000001c2: DUP3
000001c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d8: AND
000001d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001ee: AND
000001ef: DUP2
000001f0: MSTORE
000001f1: PUSH1 0x20
000001f3: ADD
000001f4: SWAP2
000001f5: POP
000001f6: POP
000001f7: PUSH1 0x40
000001f9: MLOAD
000001fa: DUP1
000001fb: SWAP2
000001fc: SUB
000001fd: SWAP1
000001fe: RETURN
000001ff: JUMPDEST
00000200: CALLVALUE
00000201: DUP1
00000202: ISZERO
00000203: PUSH2 0x020b
00000206: JUMPI
00000207: PUSH1 0x00
00000209: DUP1
0000020a: REVERT
0000020b: JUMPDEST
0000020c: POP
0000020d: PUSH2 0x024e
00000210: PUSH1 0x04
00000212: DUP1
00000213: CALLDATASIZE
00000214: SUB
00000215: PUSH1 0x20
00000217: DUP2
00000218: LT
00000219: ISZERO
0000021a: PUSH2 0x0222
0000021d: JUMPI
0000021e: PUSH1 0x00
00000220: DUP1
00000221: REVERT
00000222: JUMPDEST
00000223: DUP2
00000224: ADD
00000225: SWAP1
00000226: DUP1
00000227: DUP1
00000228: CALLDATALOAD
00000229: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000023e: AND
0000023f: SWAP1
00000240: PUSH1 0x20
00000242: ADD
00000243: SWAP1
00000244: SWAP3
00000245: SWAP2
00000246: SWAP1
00000247: POP
00000248: POP
00000249: POP
0000024a: PUSH2 0x0a43
0000024d: JUMP
0000024e: JUMPDEST
0000024f: STOP
00000250: JUMPDEST
00000251: CALLVALUE
00000252: DUP1
00000253: ISZERO
00000254: PUSH2 0x025c
00000257: JUMPI
00000258: PUSH1 0x00
0000025a: DUP1
0000025b: REVERT
0000025c: JUMPDEST
0000025d: POP
0000025e: PUSH2 0x0289
00000261: PUSH1 0x04
00000263: DUP1
00000264: CALLDATASIZE
00000265: SUB
00000266: PUSH1 0x20
00000268: DUP2
00000269: LT
0000026a: ISZERO
0000026b: PUSH2 0x0273
0000026e: JUMPI
0000026f: PUSH1 0x00
00000271: DUP1
00000272: REVERT
00000273: JUMPDEST
00000274: DUP2
00000275: ADD
00000276: SWAP1
00000277: DUP1
00000278: DUP1
00000279: CALLDATALOAD
0000027a: SWAP1
0000027b: PUSH1 0x20
0000027d: ADD
0000027e: SWAP1
0000027f: SWAP3
00000280: SWAP2
00000281: SWAP1
00000282: POP
00000283: POP
00000284: POP
00000285: PUSH2 0x0cd1
00000288: JUMP
00000289: JUMPDEST
0000028a: STOP
0000028b: JUMPDEST
0000028c: CALLVALUE
0000028d: DUP1
0000028e: ISZERO
0000028f: PUSH2 0x0297
00000292: JUMPI
00000293: PUSH1 0x00
00000295: DUP1
00000296: REVERT
00000297: JUMPDEST
00000298: POP
00000299: PUSH2 0x02da
0000029c: PUSH1 0x04
0000029e: DUP1
0000029f: CALLDATASIZE
000002a0: SUB
000002a1: PUSH1 0x20
000002a3: DUP2
000002a4: LT
000002a5: ISZERO
000002a6: PUSH2 0x02ae
000002a9: JUMPI
000002aa: PUSH1 0x00
000002ac: DUP1
000002ad: REVERT
000002ae: JUMPDEST
000002af: DUP2
000002b0: ADD
000002b1: SWAP1
000002b2: DUP1
000002b3: DUP1
000002b4: CALLDATALOAD
000002b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ca: AND
000002cb: SWAP1
000002cc: PUSH1 0x20
000002ce: ADD
000002cf: SWAP1
000002d0: SWAP3
000002d1: SWAP2
000002d2: SWAP1
000002d3: POP
000002d4: POP
000002d5: POP
000002d6: PUSH2 0x0e73
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH1 0x40
000002dd: MLOAD
000002de: DUP1
000002df: DUP3
000002e0: ISZERO
000002e1: ISZERO
000002e2: ISZERO
000002e3: ISZERO
000002e4: DUP2
000002e5: MSTORE
000002e6: PUSH1 0x20
000002e8: ADD
000002e9: SWAP2
000002ea: POP
000002eb: POP
000002ec: PUSH1 0x40
000002ee: MLOAD
000002ef: DUP1
000002f0: SWAP2
000002f1: SUB
000002f2: SWAP1
000002f3: RETURN
000002f4: JUMPDEST
000002f5: CALLVALUE
000002f6: DUP1
000002f7: ISZERO
000002f8: PUSH2 0x0300
000002fb: JUMPI
000002fc: PUSH1 0x00
000002fe: DUP1
000002ff: REVERT
00000300: JUMPDEST
00000301: POP
00000302: PUSH2 0x034d
00000305: PUSH1 0x04
00000307: DUP1
00000308: CALLDATASIZE
00000309: SUB
0000030a: PUSH1 0x40
0000030c: DUP2
0000030d: LT
0000030e: ISZERO
0000030f: PUSH2 0x0317
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: DUP2
00000319: ADD
0000031a: SWAP1
0000031b: DUP1
0000031c: DUP1
0000031d: CALLDATALOAD
0000031e: SWAP1
0000031f: PUSH1 0x20
00000321: ADD
00000322: SWAP1
00000323: SWAP3
00000324: SWAP2
00000325: SWAP1
00000326: DUP1
00000327: CALLDATALOAD
00000328: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000033d: AND
0000033e: SWAP1
0000033f: PUSH1 0x20
00000341: ADD
00000342: SWAP1
00000343: SWAP3
00000344: SWAP2
00000345: SWAP1
00000346: POP
00000347: POP
00000348: POP
00000349: PUSH2 0x0e93
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH1 0x40
00000350: MLOAD
00000351: DUP1
00000352: DUP3
00000353: ISZERO
00000354: ISZERO
00000355: ISZERO
00000356: ISZERO
00000357: DUP2
00000358: MSTORE
00000359: PUSH1 0x20
0000035b: ADD
0000035c: SWAP2
0000035d: POP
0000035e: POP
0000035f: PUSH1 0x40
00000361: MLOAD
00000362: DUP1
00000363: SWAP2
00000364: SUB
00000365: SWAP1
00000366: RETURN
00000367: JUMPDEST
00000368: CALLVALUE
00000369: DUP1
0000036a: ISZERO
0000036b: PUSH2 0x0373
0000036e: JUMPI
0000036f: PUSH1 0x00
00000371: DUP1
00000372: REVERT
00000373: JUMPDEST
00000374: POP
00000375: PUSH2 0x03ae
00000378: PUSH1 0x04
0000037a: DUP1
0000037b: CALLDATASIZE
0000037c: SUB
0000037d: PUSH1 0x40
0000037f: DUP2
00000380: LT
00000381: ISZERO
00000382: PUSH2 0x038a
00000385: JUMPI
00000386: PUSH1 0x00
00000388: DUP1
00000389: REVERT
0000038a: JUMPDEST
0000038b: DUP2
0000038c: ADD
0000038d: SWAP1
0000038e: DUP1
0000038f: DUP1
00000390: CALLDATALOAD
00000391: ISZERO
00000392: ISZERO
00000393: SWAP1
00000394: PUSH1 0x20
00000396: ADD
00000397: SWAP1
00000398: SWAP3
00000399: SWAP2
0000039a: SWAP1
0000039b: DUP1
0000039c: CALLDATALOAD
0000039d: ISZERO
0000039e: ISZERO
0000039f: SWAP1
000003a0: PUSH1 0x20
000003a2: ADD
000003a3: SWAP1
000003a4: SWAP3
000003a5: SWAP2
000003a6: SWAP1
000003a7: POP
000003a8: POP
000003a9: POP
000003aa: PUSH2 0x0ec2
000003ad: JUMP
000003ae: JUMPDEST
000003af: PUSH1 0x40
000003b1: MLOAD
000003b2: DUP1
000003b3: DUP3
000003b4: DUP2
000003b5: MSTORE
000003b6: PUSH1 0x20
000003b8: ADD
000003b9: SWAP2
000003ba: POP
000003bb: POP
000003bc: PUSH1 0x40
000003be: MLOAD
000003bf: DUP1
000003c0: SWAP2
000003c1: SUB
000003c2: SWAP1
000003c3: RETURN
000003c4: JUMPDEST
000003c5: CALLVALUE
000003c6: DUP1
000003c7: ISZERO
000003c8: PUSH2 0x03d0
000003cb: JUMPI
000003cc: PUSH1 0x00
000003ce: DUP1
000003cf: REVERT
000003d0: JUMPDEST
000003d1: POP
000003d2: PUSH2 0x0413
000003d5: PUSH1 0x04
000003d7: DUP1
000003d8: CALLDATASIZE
000003d9: SUB
000003da: PUSH1 0x20
000003dc: DUP2
000003dd: LT
000003de: ISZERO
000003df: PUSH2 0x03e7
000003e2: JUMPI
000003e3: PUSH1 0x00
000003e5: DUP1
000003e6: REVERT
000003e7: JUMPDEST
000003e8: DUP2
000003e9: ADD
000003ea: SWAP1
000003eb: DUP1
000003ec: DUP1
000003ed: CALLDATALOAD
000003ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000403: AND
00000404: SWAP1
00000405: PUSH1 0x20
00000407: ADD
00000408: SWAP1
00000409: SWAP3
0000040a: SWAP2
0000040b: SWAP1
0000040c: POP
0000040d: POP
0000040e: POP
0000040f: PUSH2 0x0f54
00000412: JUMP
00000413: JUMPDEST
00000414: STOP
00000415: JUMPDEST
00000416: CALLVALUE
00000417: DUP1
00000418: ISZERO
00000419: PUSH2 0x0421
0000041c: JUMPI
0000041d: PUSH1 0x00
0000041f: DUP1
00000420: REVERT
00000421: JUMPDEST
00000422: POP
00000423: PUSH2 0x044e
00000426: PUSH1 0x04
00000428: DUP1
00000429: CALLDATASIZE
0000042a: SUB
0000042b: PUSH1 0x20
0000042d: DUP2
0000042e: LT
0000042f: ISZERO
00000430: PUSH2 0x0438
00000433: JUMPI
00000434: PUSH1 0x00
00000436: DUP1
00000437: REVERT
00000438: JUMPDEST
00000439: DUP2
0000043a: ADD
0000043b: SWAP1
0000043c: DUP1
0000043d: DUP1
0000043e: CALLDATALOAD
0000043f: SWAP1
00000440: PUSH1 0x20
00000442: ADD
00000443: SWAP1
00000444: SWAP3
00000445: SWAP2
00000446: SWAP1
00000447: POP
00000448: POP
00000449: POP
0000044a: PUSH2 0x1167
0000044d: JUMP
0000044e: JUMPDEST
0000044f: PUSH1 0x40
00000451: MLOAD
00000452: DUP1
00000453: DUP3
00000454: ISZERO
00000455: ISZERO
00000456: ISZERO
00000457: ISZERO
00000458: DUP2
00000459: MSTORE
0000045a: PUSH1 0x20
0000045c: ADD
0000045d: SWAP2
0000045e: POP
0000045f: POP
00000460: PUSH1 0x40
00000462: MLOAD
00000463: DUP1
00000464: SWAP2
00000465: SUB
00000466: SWAP1
00000467: RETURN
00000468: JUMPDEST
00000469: CALLVALUE
0000046a: DUP1
0000046b: ISZERO
0000046c: PUSH2 0x0474
0000046f: JUMPI
00000470: PUSH1 0x00
00000472: DUP1
00000473: REVERT
00000474: JUMPDEST
00000475: POP
00000476: PUSH2 0x04a1
00000479: PUSH1 0x04
0000047b: DUP1
0000047c: CALLDATASIZE
0000047d: SUB
0000047e: PUSH1 0x20
00000480: DUP2
00000481: LT
00000482: ISZERO
00000483: PUSH2 0x048b
00000486: JUMPI
00000487: PUSH1 0x00
00000489: DUP1
0000048a: REVERT
0000048b: JUMPDEST
0000048c: DUP2
0000048d: ADD
0000048e: SWAP1
0000048f: DUP1
00000490: DUP1
00000491: CALLDATALOAD
00000492: SWAP1
00000493: PUSH1 0x20
00000495: ADD
00000496: SWAP1
00000497: SWAP3
00000498: SWAP2
00000499: SWAP1
0000049a: POP
0000049b: POP
0000049c: POP
0000049d: PUSH2 0x124c
000004a0: JUMP
000004a1: JUMPDEST
000004a2: PUSH1 0x40
000004a4: MLOAD
000004a5: DUP1
000004a6: DUP3
000004a7: DUP2
000004a8: MSTORE
000004a9: PUSH1 0x20
000004ab: ADD
000004ac: SWAP2
000004ad: POP
000004ae: POP
000004af: PUSH1 0x40
000004b1: MLOAD
000004b2: DUP1
000004b3: SWAP2
000004b4: SUB
000004b5: SWAP1
000004b6: RETURN
000004b7: JUMPDEST
000004b8: CALLVALUE
000004b9: DUP1
000004ba: ISZERO
000004bb: PUSH2 0x04c3
000004be: JUMPI
000004bf: PUSH1 0x00
000004c1: DUP1
000004c2: REVERT
000004c3: JUMPDEST
000004c4: POP
000004c5: PUSH2 0x04f0
000004c8: PUSH1 0x04
000004ca: DUP1
000004cb: CALLDATASIZE
000004cc: SUB
000004cd: PUSH1 0x20
000004cf: DUP2
000004d0: LT
000004d1: ISZERO
000004d2: PUSH2 0x04da
000004d5: JUMPI
000004d6: PUSH1 0x00
000004d8: DUP1
000004d9: REVERT
000004da: JUMPDEST
000004db: DUP2
000004dc: ADD
000004dd: SWAP1
000004de: DUP1
000004df: DUP1
000004e0: CALLDATALOAD
000004e1: SWAP1
000004e2: PUSH1 0x20
000004e4: ADD
000004e5: SWAP1
000004e6: SWAP3
000004e7: SWAP2
000004e8: SWAP1
000004e9: POP
000004ea: POP
000004eb: POP
000004ec: PUSH2 0x1315
000004ef: JUMP
000004f0: JUMPDEST
000004f1: PUSH1 0x40
000004f3: MLOAD
000004f4: DUP1
000004f5: DUP6
000004f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000050b: AND
0000050c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000521: AND
00000522: DUP2
00000523: MSTORE
00000524: PUSH1 0x20
00000526: ADD
00000527: DUP5
00000528: DUP2
00000529: MSTORE
0000052a: PUSH1 0x20
0000052c: ADD
0000052d: DUP1
0000052e: PUSH1 0x20
00000530: ADD
00000531: DUP4
00000532: ISZERO
00000533: ISZERO
00000534: ISZERO
00000535: ISZERO
00000536: DUP2
00000537: MSTORE
00000538: PUSH1 0x20
0000053a: ADD
0000053b: DUP3
0000053c: DUP2
0000053d: SUB
0000053e: DUP3
0000053f: MSTORE
00000540: DUP5
00000541: DUP2
00000542: DUP2
00000543: MLOAD
00000544: DUP2
00000545: MSTORE
00000546: PUSH1 0x20
00000548: ADD
00000549: SWAP2
0000054a: POP
0000054b: DUP1
0000054c: MLOAD
0000054d: SWAP1
0000054e: PUSH1 0x20
00000550: ADD
00000551: SWAP1
00000552: DUP1
00000553: DUP4
00000554: DUP4
00000555: PUSH1 0x00
00000557: JUMPDEST
00000558: DUP4
00000559: DUP2
0000055a: LT
0000055b: ISZERO
0000055c: PUSH2 0x0572
0000055f: JUMPI
00000560: DUP1
00000561: DUP3
00000562: ADD
00000563: MLOAD
00000564: DUP2
00000565: DUP5
00000566: ADD
00000567: MSTORE
00000568: PUSH1 0x20
0000056a: DUP2
0000056b: ADD
0000056c: SWAP1
0000056d: POP
0000056e: PUSH2 0x0557
00000571: JUMP
00000572: JUMPDEST
00000573: POP
00000574: POP
00000575: POP
00000576: POP
00000577: SWAP1
00000578: POP
00000579: SWAP1
0000057a: DUP2
0000057b: ADD
0000057c: SWAP1
0000057d: PUSH1 0x1f
0000057f: AND
00000580: DUP1
00000581: ISZERO
00000582: PUSH2 0x059f
00000585: JUMPI
00000586: DUP1
00000587: DUP3
00000588: SUB
00000589: DUP1
0000058a: MLOAD
0000058b: PUSH1 0x01
0000058d: DUP4
0000058e: PUSH1 0x20
00000590: SUB
00000591: PUSH2 0x0100
00000594: EXP
00000595: SUB
00000596: NOT
00000597: AND
00000598: DUP2
00000599: MSTORE
0000059a: PUSH1 0x20
0000059c: ADD
0000059d: SWAP2
0000059e: POP
0000059f: JUMPDEST
000005a0: POP
000005a1: SWAP6
000005a2: POP
000005a3: POP
000005a4: POP
000005a5: POP
000005a6: POP
000005a7: POP
000005a8: PUSH1 0x40
000005aa: MLOAD
000005ab: DUP1
000005ac: SWAP2
000005ad: SUB
000005ae: SWAP1
000005af: RETURN
000005b0: JUMPDEST
000005b1: CALLVALUE
000005b2: DUP1
000005b3: ISZERO
000005b4: PUSH2 0x05bc
000005b7: JUMPI
000005b8: PUSH1 0x00
000005ba: DUP1
000005bb: REVERT
000005bc: JUMPDEST
000005bd: POP
000005be: PUSH2 0x05c5
000005c1: PUSH2 0x140a
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH1 0x40
000005c8: MLOAD
000005c9: DUP1
000005ca: DUP1
000005cb: PUSH1 0x20
000005cd: ADD
000005ce: DUP3
000005cf: DUP2
000005d0: SUB
000005d1: DUP3
000005d2: MSTORE
000005d3: DUP4
000005d4: DUP2
000005d5: DUP2
000005d6: MLOAD
000005d7: DUP2
000005d8: MSTORE
000005d9: PUSH1 0x20
000005db: ADD
000005dc: SWAP2
000005dd: POP
000005de: DUP1
000005df: MLOAD
000005e0: SWAP1
000005e1: PUSH1 0x20
000005e3: ADD
000005e4: SWAP1
000005e5: PUSH1 0x20
000005e7: MUL
000005e8: DUP1
000005e9: DUP4
000005ea: DUP4
000005eb: PUSH1 0x00
000005ed: JUMPDEST
000005ee: DUP4
000005ef: DUP2
000005f0: LT
000005f1: ISZERO
000005f2: PUSH2 0x0608
000005f5: JUMPI
000005f6: DUP1
000005f7: DUP3
000005f8: ADD
000005f9: MLOAD
000005fa: DUP2
000005fb: DUP5
000005fc: ADD
000005fd: MSTORE
000005fe: PUSH1 0x20
00000600: DUP2
00000601: ADD
00000602: SWAP1
00000603: POP
00000604: PUSH2 0x05ed
00000607: JUMP
00000608: JUMPDEST
00000609: POP
0000060a: POP
0000060b: POP
0000060c: POP
0000060d: SWAP1
0000060e: POP
0000060f: ADD
00000610: SWAP3
00000611: POP
00000612: POP
00000613: POP
00000614: PUSH1 0x40
00000616: MLOAD
00000617: DUP1
00000618: SWAP2
00000619: SUB
0000061a: SWAP1
0000061b: RETURN
0000061c: JUMPDEST
0000061d: CALLVALUE
0000061e: DUP1
0000061f: ISZERO
00000620: PUSH2 0x0628
00000623: JUMPI
00000624: PUSH1 0x00
00000626: DUP1
00000627: REVERT
00000628: JUMPDEST
00000629: POP
0000062a: PUSH2 0x0677
0000062d: PUSH1 0x04
0000062f: DUP1
00000630: CALLDATASIZE
00000631: SUB
00000632: PUSH1 0x80
00000634: DUP2
00000635: LT
00000636: ISZERO
00000637: PUSH2 0x063f
0000063a: JUMPI
0000063b: PUSH1 0x00
0000063d: DUP1
0000063e: REVERT
0000063f: JUMPDEST
00000640: DUP2
00000641: ADD
00000642: SWAP1
00000643: DUP1
00000644: DUP1
00000645: CALLDATALOAD
00000646: SWAP1
00000647: PUSH1 0x20
00000649: ADD
0000064a: SWAP1
0000064b: SWAP3
0000064c: SWAP2
0000064d: SWAP1
0000064e: DUP1
0000064f: CALLDATALOAD
00000650: SWAP1
00000651: PUSH1 0x20
00000653: ADD
00000654: SWAP1
00000655: SWAP3
00000656: SWAP2
00000657: SWAP1
00000658: DUP1
00000659: CALLDATALOAD
0000065a: ISZERO
0000065b: ISZERO
0000065c: SWAP1
0000065d: PUSH1 0x20
0000065f: ADD
00000660: SWAP1
00000661: SWAP3
00000662: SWAP2
00000663: SWAP1
00000664: DUP1
00000665: CALLDATALOAD
00000666: ISZERO
00000667: ISZERO
00000668: SWAP1
00000669: PUSH1 0x20
0000066b: ADD
0000066c: SWAP1
0000066d: SWAP3
0000066e: SWAP2
0000066f: SWAP1
00000670: POP
00000671: POP
00000672: POP
00000673: PUSH2 0x1498
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH1 0x40
0000067a: MLOAD
0000067b: DUP1
0000067c: DUP1
0000067d: PUSH1 0x20
0000067f: ADD
00000680: DUP3
00000681: DUP2
00000682: SUB
00000683: DUP3
00000684: MSTORE
00000685: DUP4
00000686: DUP2
00000687: DUP2
00000688: MLOAD
00000689: DUP2
0000068a: MSTORE
0000068b: PUSH1 0x20
0000068d: ADD
0000068e: SWAP2
0000068f: POP
00000690: DUP1
00000691: MLOAD
00000692: SWAP1
00000693: PUSH1 0x20
00000695: ADD
00000696: SWAP1
00000697: PUSH1 0x20
00000699: MUL
0000069a: DUP1
0000069b: DUP4
0000069c: DUP4
0000069d: PUSH1 0x00
0000069f: JUMPDEST
000006a0: DUP4
000006a1: DUP2
000006a2: LT
000006a3: ISZERO
000006a4: PUSH2 0x06ba
000006a7: JUMPI
000006a8: DUP1
000006a9: DUP3
000006aa: ADD
000006ab: MLOAD
000006ac: DUP2
000006ad: DUP5
000006ae: ADD
000006af: MSTORE
000006b0: PUSH1 0x20
000006b2: DUP2
000006b3: ADD
000006b4: SWAP1
000006b5: POP
000006b6: PUSH2 0x069f
000006b9: JUMP
000006ba: JUMPDEST
000006bb: POP
000006bc: POP
000006bd: POP
000006be: POP
000006bf: SWAP1
000006c0: POP
000006c1: ADD
000006c2: SWAP3
000006c3: POP
000006c4: POP
000006c5: POP
000006c6: PUSH1 0x40
000006c8: MLOAD
000006c9: DUP1
000006ca: SWAP2
000006cb: SUB
000006cc: SWAP1
000006cd: RETURN
000006ce: JUMPDEST
000006cf: CALLVALUE
000006d0: DUP1
000006d1: ISZERO
000006d2: PUSH2 0x06da
000006d5: JUMPI
000006d6: PUSH1 0x00
000006d8: DUP1
000006d9: REVERT
000006da: JUMPDEST
000006db: POP
000006dc: PUSH2 0x0707
000006df: PUSH1 0x04
000006e1: DUP1
000006e2: CALLDATASIZE
000006e3: SUB
000006e4: PUSH1 0x20
000006e6: DUP2
000006e7: LT
000006e8: ISZERO
000006e9: PUSH2 0x06f1
000006ec: JUMPI
000006ed: PUSH1 0x00
000006ef: DUP1
000006f0: REVERT
000006f1: JUMPDEST
000006f2: DUP2
000006f3: ADD
000006f4: SWAP1
000006f5: DUP1
000006f6: DUP1
000006f7: CALLDATALOAD
000006f8: SWAP1
000006f9: PUSH1 0x20
000006fb: ADD
000006fc: SWAP1
000006fd: SWAP3
000006fe: SWAP2
000006ff: SWAP1
00000700: POP
00000701: POP
00000702: POP
00000703: PUSH2 0x15fc
00000706: JUMP
00000707: JUMPDEST
00000708: PUSH1 0x40
0000070a: MLOAD
0000070b: DUP1
0000070c: DUP1
0000070d: PUSH1 0x20
0000070f: ADD
00000710: DUP3
00000711: DUP2
00000712: SUB
00000713: DUP3
00000714: MSTORE
00000715: DUP4
00000716: DUP2
00000717: DUP2
00000718: MLOAD
00000719: DUP2
0000071a: MSTORE
0000071b: PUSH1 0x20
0000071d: ADD
0000071e: SWAP2
0000071f: POP
00000720: DUP1
00000721: MLOAD
00000722: SWAP1
00000723: PUSH1 0x20
00000725: ADD
00000726: SWAP1
00000727: PUSH1 0x20
00000729: MUL
0000072a: DUP1
0000072b: DUP4
0000072c: DUP4
0000072d: PUSH1 0x00
0000072f: JUMPDEST
00000730: DUP4
00000731: DUP2
00000732: LT
00000733: ISZERO
00000734: PUSH2 0x074a
00000737: JUMPI
00000738: DUP1
00000739: DUP3
0000073a: ADD
0000073b: MLOAD
0000073c: DUP2
0000073d: DUP5
0000073e: ADD
0000073f: MSTORE
00000740: PUSH1 0x20
00000742: DUP2
00000743: ADD
00000744: SWAP1
00000745: POP
00000746: PUSH2 0x072f
00000749: JUMP
0000074a: JUMPDEST
0000074b: POP
0000074c: POP
0000074d: POP
0000074e: POP
0000074f: SWAP1
00000750: POP
00000751: ADD
00000752: SWAP3
00000753: POP
00000754: POP
00000755: POP
00000756: PUSH1 0x40
00000758: MLOAD
00000759: DUP1
0000075a: SWAP2
0000075b: SUB
0000075c: SWAP1
0000075d: RETURN
0000075e: JUMPDEST
0000075f: CALLVALUE
00000760: DUP1
00000761: ISZERO
00000762: PUSH2 0x076a
00000765: JUMPI
00000766: PUSH1 0x00
00000768: DUP1
00000769: REVERT
0000076a: JUMPDEST
0000076b: POP
0000076c: PUSH2 0x0773
0000076f: PUSH2 0x1828
00000772: JUMP
00000773: JUMPDEST
00000774: PUSH1 0x40
00000776: MLOAD
00000777: DUP1
00000778: DUP3
00000779: DUP2
0000077a: MSTORE
0000077b: PUSH1 0x20
0000077d: ADD
0000077e: SWAP2
0000077f: POP
00000780: POP
00000781: PUSH1 0x40
00000783: MLOAD
00000784: DUP1
00000785: SWAP2
00000786: SUB
00000787: SWAP1
00000788: RETURN
00000789: JUMPDEST
0000078a: CALLVALUE
0000078b: DUP1
0000078c: ISZERO
0000078d: PUSH2 0x0795
00000790: JUMPI
00000791: PUSH1 0x00
00000793: DUP1
00000794: REVERT
00000795: JUMPDEST
00000796: POP
00000797: PUSH2 0x07c2
0000079a: PUSH1 0x04
0000079c: DUP1
0000079d: CALLDATASIZE
0000079e: SUB
0000079f: PUSH1 0x20
000007a1: DUP2
000007a2: LT
000007a3: ISZERO
000007a4: PUSH2 0x07ac
000007a7: JUMPI
000007a8: PUSH1 0x00
000007aa: DUP1
000007ab: REVERT
000007ac: JUMPDEST
000007ad: DUP2
000007ae: ADD
000007af: SWAP1
000007b0: DUP1
000007b1: DUP1
000007b2: CALLDATALOAD
000007b3: SWAP1
000007b4: PUSH1 0x20
000007b6: ADD
000007b7: SWAP1
000007b8: SWAP3
000007b9: SWAP2
000007ba: SWAP1
000007bb: POP
000007bc: POP
000007bd: POP
000007be: PUSH2 0x182e
000007c1: JUMP
000007c2: JUMPDEST
000007c3: STOP
000007c4: JUMPDEST
000007c5: CALLVALUE
000007c6: DUP1
000007c7: ISZERO
000007c8: PUSH2 0x07d0
000007cb: JUMPI
000007cc: PUSH1 0x00
000007ce: DUP1
000007cf: REVERT
000007d0: JUMPDEST
000007d1: POP
000007d2: PUSH2 0x07fd
000007d5: PUSH1 0x04
000007d7: DUP1
000007d8: CALLDATASIZE
000007d9: SUB
000007da: PUSH1 0x20
000007dc: DUP2
000007dd: LT
000007de: ISZERO
000007df: PUSH2 0x07e7
000007e2: JUMPI
000007e3: PUSH1 0x00
000007e5: DUP1
000007e6: REVERT
000007e7: JUMPDEST
000007e8: DUP2
000007e9: ADD
000007ea: SWAP1
000007eb: DUP1
000007ec: DUP1
000007ed: CALLDATALOAD
000007ee: SWAP1
000007ef: PUSH1 0x20
000007f1: ADD
000007f2: SWAP1
000007f3: SWAP3
000007f4: SWAP2
000007f5: SWAP1
000007f6: POP
000007f7: POP
000007f8: POP
000007f9: PUSH2 0x18e4
000007fc: JUMP
000007fd: JUMPDEST
000007fe: STOP
000007ff: JUMPDEST
00000800: CALLVALUE
00000801: DUP1
00000802: ISZERO
00000803: PUSH2 0x080b
00000806: JUMPI
00000807: PUSH1 0x00
00000809: DUP1
0000080a: REVERT
0000080b: JUMPDEST
0000080c: POP
0000080d: PUSH2 0x08ef
00000810: PUSH1 0x04
00000812: DUP1
00000813: CALLDATASIZE
00000814: SUB
00000815: PUSH1 0x60
00000817: DUP2
00000818: LT
00000819: ISZERO
0000081a: PUSH2 0x0822
0000081d: JUMPI
0000081e: PUSH1 0x00
00000820: DUP1
00000821: REVERT
00000822: JUMPDEST
00000823: DUP2
00000824: ADD
00000825: SWAP1
00000826: DUP1
00000827: DUP1
00000828: CALLDATALOAD
00000829: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000083e: AND
0000083f: SWAP1
00000840: PUSH1 0x20
00000842: ADD
00000843: SWAP1
00000844: SWAP3
00000845: SWAP2
00000846: SWAP1
00000847: DUP1
00000848: CALLDATALOAD
00000849: SWAP1
0000084a: PUSH1 0x20
0000084c: ADD
0000084d: SWAP1
0000084e: SWAP3
0000084f: SWAP2
00000850: SWAP1
00000851: DUP1
00000852: CALLDATALOAD
00000853: SWAP1
00000854: PUSH1 0x20
00000856: ADD
00000857: SWAP1
00000858: PUSH5 0x0100000000
0000085e: DUP2
0000085f: GT
00000860: ISZERO
00000861: PUSH2 0x0869
00000864: JUMPI
00000865: PUSH1 0x00
00000867: DUP1
00000868: REVERT
00000869: JUMPDEST
0000086a: DUP3
0000086b: ADD
0000086c: DUP4
0000086d: PUSH1 0x20
0000086f: DUP3
00000870: ADD
00000871: GT
00000872: ISZERO
00000873: PUSH2 0x087b
00000876: JUMPI
00000877: PUSH1 0x00
00000879: DUP1
0000087a: REVERT
0000087b: JUMPDEST
0000087c: DUP1
0000087d: CALLDATALOAD
0000087e: SWAP1
0000087f: PUSH1 0x20
00000881: ADD
00000882: SWAP2
00000883: DUP5
00000884: PUSH1 0x01
00000886: DUP4
00000887: MUL
00000888: DUP5
00000889: ADD
0000088a: GT
0000088b: PUSH5 0x0100000000
00000891: DUP4
00000892: GT
00000893: OR
00000894: ISZERO
00000895: PUSH2 0x089d
00000898: JUMPI
00000899: PUSH1 0x00
0000089b: DUP1
0000089c: REVERT
0000089d: JUMPDEST
0000089e: SWAP2
0000089f: SWAP1
000008a0: DUP1
000008a1: DUP1
000008a2: PUSH1 0x1f
000008a4: ADD
000008a5: PUSH1 0x20
000008a7: DUP1
000008a8: SWAP2
000008a9: DIV
000008aa: MUL
000008ab: PUSH1 0x20
000008ad: ADD
000008ae: PUSH1 0x40
000008b0: MLOAD
000008b1: SWAP1
000008b2: DUP2
000008b3: ADD
000008b4: PUSH1 0x40
000008b6: MSTORE
000008b7: DUP1
000008b8: SWAP4
000008b9: SWAP3
000008ba: SWAP2
000008bb: SWAP1
000008bc: DUP2
000008bd: DUP2
000008be: MSTORE
000008bf: PUSH1 0x20
000008c1: ADD
000008c2: DUP4
000008c3: DUP4
000008c4: DUP1
000008c5: DUP3
000008c6: DUP5
000008c7: CALLDATACOPY
000008c8: PUSH1 0x00
000008ca: DUP2
000008cb: DUP5
000008cc: ADD
000008cd: MSTORE
000008ce: PUSH1 0x1f
000008d0: NOT
000008d1: PUSH1 0x1f
000008d3: DUP3
000008d4: ADD
000008d5: AND
000008d6: SWAP1
000008d7: POP
000008d8: DUP1
000008d9: DUP4
000008da: ADD
000008db: SWAP3
000008dc: POP
000008dd: POP
000008de: POP
000008df: POP
000008e0: POP
000008e1: POP
000008e2: POP
000008e3: SWAP2
000008e4: SWAP3
000008e5: SWAP2
000008e6: SWAP3
000008e7: SWAP1
000008e8: POP
000008e9: POP
000008ea: POP
000008eb: PUSH2 0x1ad1
000008ee: JUMP
000008ef: JUMPDEST
000008f0: PUSH1 0x40
000008f2: MLOAD
000008f3: DUP1
000008f4: DUP3
000008f5: DUP2
000008f6: MSTORE
000008f7: PUSH1 0x20
000008f9: ADD
000008fa: SWAP2
000008fb: POP
000008fc: POP
000008fd: PUSH1 0x40
000008ff: MLOAD
00000900: DUP1
00000901: SWAP2
00000902: SUB
00000903: SWAP1
00000904: RETURN
00000905: JUMPDEST
00000906: CALLVALUE
00000907: DUP1
00000908: ISZERO
00000909: PUSH2 0x0911
0000090c: JUMPI
0000090d: PUSH1 0x00
0000090f: DUP1
00000910: REVERT
00000911: JUMPDEST
00000912: POP
00000913: PUSH2 0x091a
00000916: PUSH2 0x1af0
00000919: JUMP
0000091a: JUMPDEST
0000091b: PUSH1 0x40
0000091d: MLOAD
0000091e: DUP1
0000091f: DUP3
00000920: DUP2
00000921: MSTORE
00000922: PUSH1 0x20
00000924: ADD
00000925: SWAP2
00000926: POP
00000927: POP
00000928: PUSH1 0x40
0000092a: MLOAD
0000092b: DUP1
0000092c: SWAP2
0000092d: SUB
0000092e: SWAP1
0000092f: RETURN
00000930: JUMPDEST
00000931: CALLVALUE
00000932: DUP1
00000933: ISZERO
00000934: PUSH2 0x093c
00000937: JUMPI
00000938: PUSH1 0x00
0000093a: DUP1
0000093b: REVERT
0000093c: JUMPDEST
0000093d: POP
0000093e: PUSH2 0x0945
00000941: PUSH2 0x1af5
00000944: JUMP
00000945: JUMPDEST
00000946: PUSH1 0x40
00000948: MLOAD
00000949: DUP1
0000094a: DUP3
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x20
0000094f: ADD
00000950: SWAP2
00000951: POP
00000952: POP
00000953: PUSH1 0x40
00000955: MLOAD
00000956: DUP1
00000957: SWAP2
00000958: SUB
00000959: SWAP1
0000095a: RETURN
0000095b: JUMPDEST
0000095c: CALLVALUE
0000095d: DUP1
0000095e: ISZERO
0000095f: PUSH2 0x0967
00000962: JUMPI
00000963: PUSH1 0x00
00000965: DUP1
00000966: REVERT
00000967: JUMPDEST
00000968: POP
00000969: PUSH2 0x09ca
0000096c: PUSH1 0x04
0000096e: DUP1
0000096f: CALLDATASIZE
00000970: SUB
00000971: PUSH1 0x40
00000973: DUP2
00000974: LT
00000975: ISZERO
00000976: PUSH2 0x097e
00000979: JUMPI
0000097a: PUSH1 0x00
0000097c: DUP1
0000097d: REVERT
0000097e: JUMPDEST
0000097f: DUP2
00000980: ADD
00000981: SWAP1
00000982: DUP1
00000983: DUP1
00000984: CALLDATALOAD
00000985: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000099a: AND
0000099b: SWAP1
0000099c: PUSH1 0x20
0000099e: ADD
0000099f: SWAP1
000009a0: SWAP3
000009a1: SWAP2
000009a2: SWAP1
000009a3: DUP1
000009a4: CALLDATALOAD
000009a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ba: AND
000009bb: SWAP1
000009bc: PUSH1 0x20
000009be: ADD
000009bf: SWAP1
000009c0: SWAP3
000009c1: SWAP2
000009c2: SWAP1
000009c3: POP
000009c4: POP
000009c5: POP
000009c6: PUSH2 0x1afb
000009c9: JUMP
000009ca: JUMPDEST
000009cb: STOP
000009cc: JUMPDEST
000009cd: CALLVALUE
000009ce: DUP1
000009cf: ISZERO
000009d0: PUSH2 0x09d8
000009d3: JUMPI
000009d4: PUSH1 0x00
000009d6: DUP1
000009d7: REVERT
000009d8: JUMPDEST
000009d9: POP
000009da: PUSH2 0x0a05
000009dd: PUSH1 0x04
000009df: DUP1
000009e0: CALLDATASIZE
000009e1: SUB
000009e2: PUSH1 0x20
000009e4: DUP2
000009e5: LT
000009e6: ISZERO
000009e7: PUSH2 0x09ef
000009ea: JUMPI
000009eb: PUSH1 0x00
000009ed: DUP1
000009ee: REVERT
000009ef: JUMPDEST
000009f0: DUP2
000009f1: ADD
000009f2: SWAP1
000009f3: DUP1
000009f4: DUP1
000009f5: CALLDATALOAD
000009f6: SWAP1
000009f7: PUSH1 0x20
000009f9: ADD
000009fa: SWAP1
000009fb: SWAP3
000009fc: SWAP2
000009fd: SWAP1
000009fe: POP
000009ff: POP
00000a00: POP
00000a01: PUSH2 0x1e05
00000a04: JUMP
00000a05: JUMPDEST
00000a06: STOP
00000a07: JUMPDEST
00000a08: PUSH1 0x03
00000a0a: DUP2
00000a0b: DUP2
00000a0c: SLOAD
00000a0d: DUP2
00000a0e: LT
00000a0f: PUSH2 0x0a14
00000a12: JUMPI
00000a13: INVALID
00000a14: JUMPDEST
00000a15: SWAP1
00000a16: PUSH1 0x00
00000a18: MSTORE
00000a19: PUSH1 0x20
00000a1b: PUSH1 0x00
00000a1d: KECCAK256
00000a1e: ADD
00000a1f: PUSH1 0x00
00000a21: SWAP2
00000a22: POP
00000a23: SLOAD
00000a24: SWAP1
00000a25: PUSH2 0x0100
00000a28: EXP
00000a29: SWAP1
00000a2a: DIV
00000a2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a40: AND
00000a41: DUP2
00000a42: JUMP
00000a43: JUMPDEST
00000a44: ADDRESS
00000a45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a5a: AND
00000a5b: CALLER
00000a5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a71: AND
00000a72: EQ
00000a73: PUSH2 0x0a7b
00000a76: JUMPI
00000a77: PUSH1 0x00
00000a79: DUP1
00000a7a: REVERT
00000a7b: JUMPDEST
00000a7c: DUP1
00000a7d: PUSH1 0x02
00000a7f: PUSH1 0x00
00000a81: DUP3
00000a82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a97: AND
00000a98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aad: AND
00000aae: DUP2
00000aaf: MSTORE
00000ab0: PUSH1 0x20
00000ab2: ADD
00000ab3: SWAP1
00000ab4: DUP2
00000ab5: MSTORE
00000ab6: PUSH1 0x20
00000ab8: ADD
00000ab9: PUSH1 0x00
00000abb: KECCAK256
00000abc: PUSH1 0x00
00000abe: SWAP1
00000abf: SLOAD
00000ac0: SWAP1
00000ac1: PUSH2 0x0100
00000ac4: EXP
00000ac5: SWAP1
00000ac6: DIV
00000ac7: PUSH1 0xff
00000ac9: AND
00000aca: PUSH2 0x0ad2
00000acd: JUMPI
00000ace: PUSH1 0x00
00000ad0: DUP1
00000ad1: REVERT
00000ad2: JUMPDEST
00000ad3: PUSH1 0x00
00000ad5: PUSH1 0x02
00000ad7: PUSH1 0x00
00000ad9: DUP5
00000ada: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aef: AND
00000af0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b05: AND
00000b06: DUP2
00000b07: MSTORE
00000b08: PUSH1 0x20
00000b0a: ADD
00000b0b: SWAP1
00000b0c: DUP2
00000b0d: MSTORE
00000b0e: PUSH1 0x20
00000b10: ADD
00000b11: PUSH1 0x00
00000b13: KECCAK256
00000b14: PUSH1 0x00
00000b16: PUSH2 0x0100
00000b19: EXP
00000b1a: DUP2
00000b1b: SLOAD
00000b1c: DUP2
00000b1d: PUSH1 0xff
00000b1f: MUL
00000b20: NOT
00000b21: AND
00000b22: SWAP1
00000b23: DUP4
00000b24: ISZERO
00000b25: ISZERO
00000b26: MUL
00000b27: OR
00000b28: SWAP1
00000b29: SSTORE
00000b2a: POP
00000b2b: PUSH1 0x00
00000b2d: DUP1
00000b2e: SWAP1
00000b2f: POP
00000b30: JUMPDEST
00000b31: PUSH1 0x01
00000b33: PUSH1 0x03
00000b35: DUP1
00000b36: SLOAD
00000b37: SWAP1
00000b38: POP
00000b39: SUB
00000b3a: DUP2
00000b3b: LT
00000b3c: ISZERO
00000b3d: PUSH2 0x0c52
00000b40: JUMPI
00000b41: DUP3
00000b42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b57: AND
00000b58: PUSH1 0x03
00000b5a: DUP3
00000b5b: DUP2
00000b5c: SLOAD
00000b5d: DUP2
00000b5e: LT
00000b5f: PUSH2 0x0b64
00000b62: JUMPI
00000b63: INVALID
00000b64: JUMPDEST
00000b65: SWAP1
00000b66: PUSH1 0x00
00000b68: MSTORE
00000b69: PUSH1 0x20
00000b6b: PUSH1 0x00
00000b6d: KECCAK256
00000b6e: ADD
00000b6f: PUSH1 0x00
00000b71: SWAP1
00000b72: SLOAD
00000b73: SWAP1
00000b74: PUSH2 0x0100
00000b77: EXP
00000b78: SWAP1
00000b79: DIV
00000b7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b8f: AND
00000b90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ba5: AND
00000ba6: EQ
00000ba7: ISZERO
00000ba8: PUSH2 0x0c45
00000bab: JUMPI
00000bac: PUSH1 0x03
00000bae: PUSH1 0x01
00000bb0: PUSH1 0x03
00000bb2: DUP1
00000bb3: SLOAD
00000bb4: SWAP1
00000bb5: POP
00000bb6: SUB
00000bb7: DUP2
00000bb8: SLOAD
00000bb9: DUP2
00000bba: LT
00000bbb: PUSH2 0x0bc0
00000bbe: JUMPI
00000bbf: INVALID
00000bc0: JUMPDEST
00000bc1: SWAP1
00000bc2: PUSH1 0x00
00000bc4: MSTORE
00000bc5: PUSH1 0x20
00000bc7: PUSH1 0x00
00000bc9: KECCAK256
00000bca: ADD
00000bcb: PUSH1 0x00
00000bcd: SWAP1
00000bce: SLOAD
00000bcf: SWAP1
00000bd0: PUSH2 0x0100
00000bd3: EXP
00000bd4: SWAP1
00000bd5: DIV
00000bd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000beb: AND
00000bec: PUSH1 0x03
00000bee: DUP3
00000bef: DUP2
00000bf0: SLOAD
00000bf1: DUP2
00000bf2: LT
00000bf3: PUSH2 0x0bf8
00000bf6: JUMPI
00000bf7: INVALID
00000bf8: JUMPDEST
00000bf9: SWAP1
00000bfa: PUSH1 0x00
00000bfc: MSTORE
00000bfd: PUSH1 0x20
00000bff: PUSH1 0x00
00000c01: KECCAK256
00000c02: ADD
00000c03: PUSH1 0x00
00000c05: PUSH2 0x0100
00000c08: EXP
00000c09: DUP2
00000c0a: SLOAD
00000c0b: DUP2
00000c0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c21: MUL
00000c22: NOT
00000c23: AND
00000c24: SWAP1
00000c25: DUP4
00000c26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c3b: AND
00000c3c: MUL
00000c3d: OR
00000c3e: SWAP1
00000c3f: SSTORE
00000c40: POP
00000c41: PUSH2 0x0c52
00000c44: JUMP
00000c45: JUMPDEST
00000c46: DUP1
00000c47: DUP1
00000c48: PUSH1 0x01
00000c4a: ADD
00000c4b: SWAP2
00000c4c: POP
00000c4d: POP
00000c4e: PUSH2 0x0b30
00000c51: JUMP
00000c52: JUMPDEST
00000c53: POP
00000c54: PUSH1 0x01
00000c56: PUSH1 0x03
00000c58: DUP2
00000c59: DUP2
00000c5a: DUP1
00000c5b: SLOAD
00000c5c: SWAP1
00000c5d: POP
00000c5e: SUB
00000c5f: SWAP2
00000c60: POP
00000c61: DUP2
00000c62: PUSH2 0x0c6b
00000c65: SWAP2
00000c66: SWAP1
00000c67: PUSH2 0x2212
00000c6a: JUMP
00000c6b: JUMPDEST
00000c6c: POP
00000c6d: PUSH1 0x03
00000c6f: DUP1
00000c70: SLOAD
00000c71: SWAP1
00000c72: POP
00000c73: PUSH1 0x04
00000c75: SLOAD
00000c76: GT
00000c77: ISZERO
00000c78: PUSH2 0x0c8a
00000c7b: JUMPI
00000c7c: PUSH2 0x0c89
00000c7f: PUSH1 0x03
00000c81: DUP1
00000c82: SLOAD
00000c83: SWAP1
00000c84: POP
00000c85: PUSH2 0x182e
00000c88: JUMP
00000c89: JUMPDEST
00000c8a: JUMPDEST
00000c8b: DUP2
00000c8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca1: AND
00000ca2: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00000cc3: PUSH1 0x40
00000cc5: MLOAD
00000cc6: PUSH1 0x40
00000cc8: MLOAD
00000cc9: DUP1
00000cca: SWAP2
00000ccb: SUB
00000ccc: SWAP1
00000ccd: LOG2
00000cce: POP
00000ccf: POP
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: CALLER
00000cd3: PUSH1 0x02
00000cd5: PUSH1 0x00
00000cd7: DUP3
00000cd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ced: AND
00000cee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d03: AND
00000d04: DUP2
00000d05: MSTORE
00000d06: PUSH1 0x20
00000d08: ADD
00000d09: SWAP1
00000d0a: DUP2
00000d0b: MSTORE
00000d0c: PUSH1 0x20
00000d0e: ADD
00000d0f: PUSH1 0x00
00000d11: KECCAK256
00000d12: PUSH1 0x00
00000d14: SWAP1
00000d15: SLOAD
00000d16: SWAP1
00000d17: PUSH2 0x0100
00000d1a: EXP
00000d1b: SWAP1
00000d1c: DIV
00000d1d: PUSH1 0xff
00000d1f: AND
00000d20: PUSH2 0x0d28
00000d23: JUMPI
00000d24: PUSH1 0x00
00000d26: DUP1
00000d27: REVERT
00000d28: JUMPDEST
00000d29: DUP2
00000d2a: CALLER
00000d2b: PUSH1 0x01
00000d2d: PUSH1 0x00
00000d2f: DUP4
00000d30: DUP2
00000d31: MSTORE
00000d32: PUSH1 0x20
00000d34: ADD
00000d35: SWAP1
00000d36: DUP2
00000d37: MSTORE
00000d38: PUSH1 0x20
00000d3a: ADD
00000d3b: PUSH1 0x00
00000d3d: KECCAK256
00000d3e: PUSH1 0x00
00000d40: DUP3
00000d41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d56: AND
00000d57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d6c: AND
00000d6d: DUP2
00000d6e: MSTORE
00000d6f: PUSH1 0x20
00000d71: ADD
00000d72: SWAP1
00000d73: DUP2
00000d74: MSTORE
00000d75: PUSH1 0x20
00000d77: ADD
00000d78: PUSH1 0x00
00000d7a: KECCAK256
00000d7b: PUSH1 0x00
00000d7d: SWAP1
00000d7e: SLOAD
00000d7f: SWAP1
00000d80: PUSH2 0x0100
00000d83: EXP
00000d84: SWAP1
00000d85: DIV
00000d86: PUSH1 0xff
00000d88: AND
00000d89: PUSH2 0x0d91
00000d8c: JUMPI
00000d8d: PUSH1 0x00
00000d8f: DUP1
00000d90: REVERT
00000d91: JUMPDEST
00000d92: DUP4
00000d93: PUSH1 0x00
00000d95: DUP1
00000d96: DUP3
00000d97: DUP2
00000d98: MSTORE
00000d99: PUSH1 0x20
00000d9b: ADD
00000d9c: SWAP1
00000d9d: DUP2
00000d9e: MSTORE
00000d9f: PUSH1 0x20
00000da1: ADD
00000da2: PUSH1 0x00
00000da4: KECCAK256
00000da5: PUSH1 0x03
00000da7: ADD
00000da8: PUSH1 0x00
00000daa: SWAP1
00000dab: SLOAD
00000dac: SWAP1
00000dad: PUSH2 0x0100
00000db0: EXP
00000db1: SWAP1
00000db2: DIV
00000db3: PUSH1 0xff
00000db5: AND
00000db6: ISZERO
00000db7: PUSH2 0x0dbf
00000dba: JUMPI
00000dbb: PUSH1 0x00
00000dbd: DUP1
00000dbe: REVERT
00000dbf: JUMPDEST
00000dc0: PUSH1 0x00
00000dc2: PUSH1 0x01
00000dc4: PUSH1 0x00
00000dc6: DUP8
00000dc7: DUP2
00000dc8: MSTORE
00000dc9: PUSH1 0x20
00000dcb: ADD
00000dcc: SWAP1
00000dcd: DUP2
00000dce: MSTORE
00000dcf: PUSH1 0x20
00000dd1: ADD
00000dd2: PUSH1 0x00
00000dd4: KECCAK256
00000dd5: PUSH1 0x00
00000dd7: CALLER
00000dd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ded: AND
00000dee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e03: AND
00000e04: DUP2
00000e05: MSTORE
00000e06: PUSH1 0x20
00000e08: ADD
00000e09: SWAP1
00000e0a: DUP2
00000e0b: MSTORE
00000e0c: PUSH1 0x20
00000e0e: ADD
00000e0f: PUSH1 0x00
00000e11: KECCAK256
00000e12: PUSH1 0x00
00000e14: PUSH2 0x0100
00000e17: EXP
00000e18: DUP2
00000e19: SLOAD
00000e1a: DUP2
00000e1b: PUSH1 0xff
00000e1d: MUL
00000e1e: NOT
00000e1f: AND
00000e20: SWAP1
00000e21: DUP4
00000e22: ISZERO
00000e23: ISZERO
00000e24: MUL
00000e25: OR
00000e26: SWAP1
00000e27: SSTORE
00000e28: POP
00000e29: DUP5
00000e2a: CALLER
00000e2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e40: AND
00000e41: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
00000e62: PUSH1 0x40
00000e64: MLOAD
00000e65: PUSH1 0x40
00000e67: MLOAD
00000e68: DUP1
00000e69: SWAP2
00000e6a: SUB
00000e6b: SWAP1
00000e6c: LOG3
00000e6d: POP
00000e6e: POP
00000e6f: POP
00000e70: POP
00000e71: POP
00000e72: JUMP
00000e73: JUMPDEST
00000e74: PUSH1 0x02
00000e76: PUSH1 0x20
00000e78: MSTORE
00000e79: DUP1
00000e7a: PUSH1 0x00
00000e7c: MSTORE
00000e7d: PUSH1 0x40
00000e7f: PUSH1 0x00
00000e81: KECCAK256
00000e82: PUSH1 0x00
00000e84: SWAP2
00000e85: POP
00000e86: SLOAD
00000e87: SWAP1
00000e88: PUSH2 0x0100
00000e8b: EXP
00000e8c: SWAP1
00000e8d: DIV
00000e8e: PUSH1 0xff
00000e90: AND
00000e91: DUP2
00000e92: JUMP
00000e93: JUMPDEST
00000e94: PUSH1 0x01
00000e96: PUSH1 0x20
00000e98: MSTORE
00000e99: DUP2
00000e9a: PUSH1 0x00
00000e9c: MSTORE
00000e9d: PUSH1 0x40
00000e9f: PUSH1 0x00
00000ea1: KECCAK256
00000ea2: PUSH1 0x20
00000ea4: MSTORE
00000ea5: DUP1
00000ea6: PUSH1 0x00
00000ea8: MSTORE
00000ea9: PUSH1 0x40
00000eab: PUSH1 0x00
00000ead: KECCAK256
00000eae: PUSH1 0x00
00000eb0: SWAP2
00000eb1: POP
00000eb2: SWAP2
00000eb3: POP
00000eb4: SWAP1
00000eb5: SLOAD
00000eb6: SWAP1
00000eb7: PUSH2 0x0100
00000eba: EXP
00000ebb: SWAP1
00000ebc: DIV
00000ebd: PUSH1 0xff
00000ebf: AND
00000ec0: DUP2
00000ec1: JUMP
00000ec2: JUMPDEST
00000ec3: PUSH1 0x00
00000ec5: DUP1
00000ec6: PUSH1 0x00
00000ec8: SWAP1
00000ec9: POP
00000eca: JUMPDEST
00000ecb: PUSH1 0x05
00000ecd: SLOAD
00000ece: DUP2
00000ecf: LT
00000ed0: ISZERO
00000ed1: PUSH2 0x0f4d
00000ed4: JUMPI
00000ed5: DUP4
00000ed6: DUP1
00000ed7: ISZERO
00000ed8: PUSH2 0x0f01
00000edb: JUMPI
00000edc: POP
00000edd: PUSH1 0x00
00000edf: DUP1
00000ee0: DUP3
00000ee1: DUP2
00000ee2: MSTORE
00000ee3: PUSH1 0x20
00000ee5: ADD
00000ee6: SWAP1
00000ee7: DUP2
00000ee8: MSTORE
00000ee9: PUSH1 0x20
00000eeb: ADD
00000eec: PUSH1 0x00
00000eee: KECCAK256
00000eef: PUSH1 0x03
00000ef1: ADD
00000ef2: PUSH1 0x00
00000ef4: SWAP1
00000ef5: SLOAD
00000ef6: SWAP1
00000ef7: PUSH2 0x0100
00000efa: EXP
00000efb: SWAP1
00000efc: DIV
00000efd: PUSH1 0xff
00000eff: AND
00000f00: ISZERO
00000f01: JUMPDEST
00000f02: DUP1
00000f03: PUSH2 0x0f34
00000f06: JUMPI
00000f07: POP
00000f08: DUP3
00000f09: DUP1
00000f0a: ISZERO
00000f0b: PUSH2 0x0f33
00000f0e: JUMPI
00000f0f: POP
00000f10: PUSH1 0x00
00000f12: DUP1
00000f13: DUP3
00000f14: DUP2
00000f15: MSTORE
00000f16: PUSH1 0x20
00000f18: ADD
00000f19: SWAP1
00000f1a: DUP2
00000f1b: MSTORE
00000f1c: PUSH1 0x20
00000f1e: ADD
00000f1f: PUSH1 0x00
00000f21: KECCAK256
00000f22: PUSH1 0x03
00000f24: ADD
00000f25: PUSH1 0x00
00000f27: SWAP1
00000f28: SLOAD
00000f29: SWAP1
00000f2a: PUSH2 0x0100
00000f2d: EXP
00000f2e: SWAP1
00000f2f: DIV
00000f30: PUSH1 0xff
00000f32: AND
00000f33: JUMPDEST
00000f34: JUMPDEST
00000f35: ISZERO
00000f36: PUSH2 0x0f40
00000f39: JUMPI
00000f3a: PUSH1 0x01
00000f3c: DUP3
00000f3d: ADD
00000f3e: SWAP2
00000f3f: POP
00000f40: JUMPDEST
00000f41: DUP1
00000f42: DUP1
00000f43: PUSH1 0x01
00000f45: ADD
00000f46: SWAP2
00000f47: POP
00000f48: POP
00000f49: PUSH2 0x0eca
00000f4c: JUMP
00000f4d: JUMPDEST
00000f4e: POP
00000f4f: SWAP3
00000f50: SWAP2
00000f51: POP
00000f52: POP
00000f53: JUMP
00000f54: JUMPDEST
00000f55: ADDRESS
00000f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f6b: AND
00000f6c: CALLER
00000f6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f82: AND
00000f83: EQ
00000f84: PUSH2 0x0f8c
00000f87: JUMPI
00000f88: PUSH1 0x00
00000f8a: DUP1
00000f8b: REVERT
00000f8c: JUMPDEST
00000f8d: DUP1
00000f8e: PUSH1 0x02
00000f90: PUSH1 0x00
00000f92: DUP3
00000f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fa8: AND
00000fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fbe: AND
00000fbf: DUP2
00000fc0: MSTORE
00000fc1: PUSH1 0x20
00000fc3: ADD
00000fc4: SWAP1
00000fc5: DUP2
00000fc6: MSTORE
00000fc7: PUSH1 0x20
00000fc9: ADD
00000fca: PUSH1 0x00
00000fcc: KECCAK256
00000fcd: PUSH1 0x00
00000fcf: SWAP1
00000fd0: SLOAD
00000fd1: SWAP1
00000fd2: PUSH2 0x0100
00000fd5: EXP
00000fd6: SWAP1
00000fd7: DIV
00000fd8: PUSH1 0xff
00000fda: AND
00000fdb: ISZERO
00000fdc: PUSH2 0x0fe4
00000fdf: JUMPI
00000fe0: PUSH1 0x00
00000fe2: DUP1
00000fe3: REVERT
00000fe4: JUMPDEST
00000fe5: DUP2
00000fe6: PUSH1 0x00
00000fe8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ffd: AND
00000ffe: DUP2
00000fff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001014: AND
00001015: EQ
00001016: ISZERO
00001017: PUSH2 0x101f
0000101a: JUMPI
0000101b: PUSH1 0x00
0000101d: DUP1
0000101e: REVERT
0000101f: JUMPDEST
00001020: PUSH1 0x01
00001022: PUSH1 0x03
00001024: DUP1
00001025: SLOAD
00001026: SWAP1
00001027: POP
00001028: ADD
00001029: PUSH1 0x04
0000102b: SLOAD
0000102c: PUSH1 0x32
0000102e: DUP3
0000102f: GT
00001030: ISZERO
00001031: DUP1
00001032: ISZERO
00001033: PUSH2 0x103c
00001036: JUMPI
00001037: POP
00001038: DUP2
00001039: DUP2
0000103a: GT
0000103b: ISZERO
0000103c: JUMPDEST
0000103d: DUP1
0000103e: ISZERO
0000103f: PUSH2 0x1049
00001042: JUMPI
00001043: POP
00001044: PUSH1 0x00
00001046: DUP2
00001047: EQ
00001048: ISZERO
00001049: JUMPDEST
0000104a: DUP1
0000104b: ISZERO
0000104c: PUSH2 0x1056
0000104f: JUMPI
00001050: POP
00001051: PUSH1 0x00
00001053: DUP3
00001054: EQ
00001055: ISZERO
00001056: JUMPDEST
00001057: PUSH2 0x105f
0000105a: JUMPI
0000105b: PUSH1 0x00
0000105d: DUP1
0000105e: REVERT
0000105f: JUMPDEST
00001060: PUSH1 0x01
00001062: PUSH1 0x02
00001064: PUSH1 0x00
00001066: DUP8
00001067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000107c: AND
0000107d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001092: AND
00001093: DUP2
00001094: MSTORE
00001095: PUSH1 0x20
00001097: ADD
00001098: SWAP1
00001099: DUP2
0000109a: MSTORE
0000109b: PUSH1 0x20
0000109d: ADD
0000109e: PUSH1 0x00
000010a0: KECCAK256
000010a1: PUSH1 0x00
000010a3: PUSH2 0x0100
000010a6: EXP
000010a7: DUP2
000010a8: SLOAD
000010a9: DUP2
000010aa: PUSH1 0xff
000010ac: MUL
000010ad: NOT
000010ae: AND
000010af: SWAP1
000010b0: DUP4
000010b1: ISZERO
000010b2: ISZERO
000010b3: MUL
000010b4: OR
000010b5: SWAP1
000010b6: SSTORE
000010b7: POP
000010b8: PUSH1 0x03
000010ba: DUP6
000010bb: SWAP1
000010bc: DUP1
000010bd: PUSH1 0x01
000010bf: DUP2
000010c0: SLOAD
000010c1: ADD
000010c2: DUP1
000010c3: DUP3
000010c4: SSTORE
000010c5: DUP1
000010c6: SWAP2
000010c7: POP
000010c8: POP
000010c9: SWAP1
000010ca: PUSH1 0x01
000010cc: DUP3
000010cd: SUB
000010ce: SWAP1
000010cf: PUSH1 0x00
000010d1: MSTORE
000010d2: PUSH1 0x20
000010d4: PUSH1 0x00
000010d6: KECCAK256
000010d7: ADD
000010d8: PUSH1 0x00
000010da: SWAP1
000010db: SWAP2
000010dc: SWAP3
000010dd: SWAP1
000010de: SWAP2
000010df: SWAP1
000010e0: SWAP2
000010e1: PUSH2 0x0100
000010e4: EXP
000010e5: DUP2
000010e6: SLOAD
000010e7: DUP2
000010e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010fd: MUL
000010fe: NOT
000010ff: AND
00001100: SWAP1
00001101: DUP4
00001102: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001117: AND
00001118: MUL
00001119: OR
0000111a: SWAP1
0000111b: SSTORE
0000111c: POP
0000111d: POP
0000111e: DUP5
0000111f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001134: AND
00001135: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001156: PUSH1 0x40
00001158: MLOAD
00001159: PUSH1 0x40
0000115b: MLOAD
0000115c: DUP1
0000115d: SWAP2
0000115e: SUB
0000115f: SWAP1
00001160: LOG2
00001161: POP
00001162: POP
00001163: POP
00001164: POP
00001165: POP
00001166: JUMP
00001167: JUMPDEST
00001168: PUSH1 0x00
0000116a: DUP1
0000116b: PUSH1 0x00
0000116d: SWAP1
0000116e: POP
0000116f: PUSH1 0x00
00001171: DUP1
00001172: SWAP1
00001173: POP
00001174: JUMPDEST
00001175: PUSH1 0x03
00001177: DUP1
00001178: SLOAD
00001179: SWAP1
0000117a: POP
0000117b: DUP2
0000117c: LT
0000117d: ISZERO
0000117e: PUSH2 0x1244
00001181: JUMPI
00001182: PUSH1 0x01
00001184: PUSH1 0x00
00001186: DUP6
00001187: DUP2
00001188: MSTORE
00001189: PUSH1 0x20
0000118b: ADD
0000118c: SWAP1
0000118d: DUP2
0000118e: MSTORE
0000118f: PUSH1 0x20
00001191: ADD
00001192: PUSH1 0x00
00001194: KECCAK256
00001195: PUSH1 0x00
00001197: PUSH1 0x03
00001199: DUP4
0000119a: DUP2
0000119b: SLOAD
0000119c: DUP2
0000119d: LT
0000119e: PUSH2 0x11a3
000011a1: JUMPI
000011a2: INVALID
000011a3: JUMPDEST
000011a4: SWAP1
000011a5: PUSH1 0x00
000011a7: MSTORE
000011a8: PUSH1 0x20
000011aa: PUSH1 0x00
000011ac: KECCAK256
000011ad: ADD
000011ae: PUSH1 0x00
000011b0: SWAP1
000011b1: SLOAD
000011b2: SWAP1
000011b3: PUSH2 0x0100
000011b6: EXP
000011b7: SWAP1
000011b8: DIV
000011b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ce: AND
000011cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011e4: AND
000011e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011fa: AND
000011fb: DUP2
000011fc: MSTORE
000011fd: PUSH1 0x20
000011ff: ADD
00001200: SWAP1
00001201: DUP2
00001202: MSTORE
00001203: PUSH1 0x20
00001205: ADD
00001206: PUSH1 0x00
00001208: KECCAK256
00001209: PUSH1 0x00
0000120b: SWAP1
0000120c: SLOAD
0000120d: SWAP1
0000120e: PUSH2 0x0100
00001211: EXP
00001212: SWAP1
00001213: DIV
00001214: PUSH1 0xff
00001216: AND
00001217: ISZERO
00001218: PUSH2 0x1222
0000121b: JUMPI
0000121c: PUSH1 0x01
0000121e: DUP3
0000121f: ADD
00001220: SWAP2
00001221: POP
00001222: JUMPDEST
00001223: PUSH1 0x04
00001225: SLOAD
00001226: DUP3
00001227: EQ
00001228: ISZERO
00001229: PUSH2 0x1237
0000122c: JUMPI
0000122d: PUSH1 0x01
0000122f: SWAP3
00001230: POP
00001231: POP
00001232: POP
00001233: PUSH2 0x1247
00001236: JUMP
00001237: JUMPDEST
00001238: DUP1
00001239: DUP1
0000123a: PUSH1 0x01
0000123c: ADD
0000123d: SWAP2
0000123e: POP
0000123f: POP
00001240: PUSH2 0x1174
00001243: JUMP
00001244: JUMPDEST
00001245: POP
00001246: POP
00001247: JUMPDEST
00001248: SWAP2
00001249: SWAP1
0000124a: POP
0000124b: JUMP
0000124c: JUMPDEST
0000124d: PUSH1 0x00
0000124f: DUP1
00001250: PUSH1 0x00
00001252: SWAP1
00001253: POP
00001254: JUMPDEST
00001255: PUSH1 0x03
00001257: DUP1
00001258: SLOAD
00001259: SWAP1
0000125a: POP
0000125b: DUP2
0000125c: LT
0000125d: ISZERO
0000125e: PUSH2 0x130f
00001261: JUMPI
00001262: PUSH1 0x01
00001264: PUSH1 0x00
00001266: DUP5
00001267: DUP2
00001268: MSTORE
00001269: PUSH1 0x20
0000126b: ADD
0000126c: SWAP1
0000126d: DUP2
0000126e: MSTORE
0000126f: PUSH1 0x20
00001271: ADD
00001272: PUSH1 0x00
00001274: KECCAK256
00001275: PUSH1 0x00
00001277: PUSH1 0x03
00001279: DUP4
0000127a: DUP2
0000127b: SLOAD
0000127c: DUP2
0000127d: LT
0000127e: PUSH2 0x1283
00001281: JUMPI
00001282: INVALID
00001283: JUMPDEST
00001284: SWAP1
00001285: PUSH1 0x00
00001287: MSTORE
00001288: PUSH1 0x20
0000128a: PUSH1 0x00
0000128c: KECCAK256
0000128d: ADD
0000128e: PUSH1 0x00
00001290: SWAP1
00001291: SLOAD
00001292: SWAP1
00001293: PUSH2 0x0100
00001296: EXP
00001297: SWAP1
00001298: DIV
00001299: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ae: AND
000012af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012c4: AND
000012c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012da: AND
000012db: DUP2
000012dc: MSTORE
000012dd: PUSH1 0x20
000012df: ADD
000012e0: SWAP1
000012e1: DUP2
000012e2: MSTORE
000012e3: PUSH1 0x20
000012e5: ADD
000012e6: PUSH1 0x00
000012e8: KECCAK256
000012e9: PUSH1 0x00
000012eb: SWAP1
000012ec: SLOAD
000012ed: SWAP1
000012ee: PUSH2 0x0100
000012f1: EXP
000012f2: SWAP1
000012f3: DIV
000012f4: PUSH1 0xff
000012f6: AND
000012f7: ISZERO
000012f8: PUSH2 0x1302
000012fb: JUMPI
000012fc: PUSH1 0x01
000012fe: DUP3
000012ff: ADD
00001300: SWAP2
00001301: POP
00001302: JUMPDEST
00001303: DUP1
00001304: DUP1
00001305: PUSH1 0x01
00001307: ADD
00001308: SWAP2
00001309: POP
0000130a: POP
0000130b: PUSH2 0x1254
0000130e: JUMP
0000130f: JUMPDEST
00001310: POP
00001311: SWAP2
00001312: SWAP1
00001313: POP
00001314: JUMP
00001315: JUMPDEST
00001316: PUSH1 0x00
00001318: PUSH1 0x20
0000131a: MSTORE
0000131b: DUP1
0000131c: PUSH1 0x00
0000131e: MSTORE
0000131f: PUSH1 0x40
00001321: PUSH1 0x00
00001323: KECCAK256
00001324: PUSH1 0x00
00001326: SWAP2
00001327: POP
00001328: SWAP1
00001329: POP
0000132a: DUP1
0000132b: PUSH1 0x00
0000132d: ADD
0000132e: PUSH1 0x00
00001330: SWAP1
00001331: SLOAD
00001332: SWAP1
00001333: PUSH2 0x0100
00001336: EXP
00001337: SWAP1
00001338: DIV
00001339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000134e: AND
0000134f: SWAP1
00001350: DUP1
00001351: PUSH1 0x01
00001353: ADD
00001354: SLOAD
00001355: SWAP1
00001356: DUP1
00001357: PUSH1 0x02
00001359: ADD
0000135a: DUP1
0000135b: SLOAD
0000135c: PUSH1 0x01
0000135e: DUP2
0000135f: PUSH1 0x01
00001361: AND
00001362: ISZERO
00001363: PUSH2 0x0100
00001366: MUL
00001367: SUB
00001368: AND
00001369: PUSH1 0x02
0000136b: SWAP1
0000136c: DIV
0000136d: DUP1
0000136e: PUSH1 0x1f
00001370: ADD
00001371: PUSH1 0x20
00001373: DUP1
00001374: SWAP2
00001375: DIV
00001376: MUL
00001377: PUSH1 0x20
00001379: ADD
0000137a: PUSH1 0x40
0000137c: MLOAD
0000137d: SWAP1
0000137e: DUP2
0000137f: ADD
00001380: PUSH1 0x40
00001382: MSTORE
00001383: DUP1
00001384: SWAP3
00001385: SWAP2
00001386: SWAP1
00001387: DUP2
00001388: DUP2
00001389: MSTORE
0000138a: PUSH1 0x20
0000138c: ADD
0000138d: DUP3
0000138e: DUP1
0000138f: SLOAD
00001390: PUSH1 0x01
00001392: DUP2
00001393: PUSH1 0x01
00001395: AND
00001396: ISZERO
00001397: PUSH2 0x0100
0000139a: MUL
0000139b: SUB
0000139c: AND
0000139d: PUSH1 0x02
0000139f: SWAP1
000013a0: DIV
000013a1: DUP1
000013a2: ISZERO
000013a3: PUSH2 0x13ed
000013a6: JUMPI
000013a7: DUP1
000013a8: PUSH1 0x1f
000013aa: LT
000013ab: PUSH2 0x13c2
000013ae: JUMPI
000013af: PUSH2 0x0100
000013b2: DUP1
000013b3: DUP4
000013b4: SLOAD
000013b5: DIV
000013b6: MUL
000013b7: DUP4
000013b8: MSTORE
000013b9: SWAP2
000013ba: PUSH1 0x20
000013bc: ADD
000013bd: SWAP2
000013be: PUSH2 0x13ed
000013c1: JUMP
000013c2: JUMPDEST
000013c3: DUP3
000013c4: ADD
000013c5: SWAP2
000013c6: SWAP1
000013c7: PUSH1 0x00
000013c9: MSTORE
000013ca: PUSH1 0x20
000013cc: PUSH1 0x00
000013ce: KECCAK256
000013cf: SWAP1
000013d0: JUMPDEST
000013d1: DUP2
000013d2: SLOAD
000013d3: DUP2
000013d4: MSTORE
000013d5: SWAP1
000013d6: PUSH1 0x01
000013d8: ADD
000013d9: SWAP1
000013da: PUSH1 0x20
000013dc: ADD
000013dd: DUP1
000013de: DUP4
000013df: GT
000013e0: PUSH2 0x13d0
000013e3: JUMPI
000013e4: DUP3
000013e5: SWAP1
000013e6: SUB
000013e7: PUSH1 0x1f
000013e9: AND
000013ea: DUP3
000013eb: ADD
000013ec: SWAP2
000013ed: JUMPDEST
000013ee: POP
000013ef: POP
000013f0: POP
000013f1: POP
000013f2: POP
000013f3: SWAP1
000013f4: DUP1
000013f5: PUSH1 0x03
000013f7: ADD
000013f8: PUSH1 0x00
000013fa: SWAP1
000013fb: SLOAD
000013fc: SWAP1
000013fd: PUSH2 0x0100
00001400: EXP
00001401: SWAP1
00001402: DIV
00001403: PUSH1 0xff
00001405: AND
00001406: SWAP1
00001407: POP
00001408: DUP5
00001409: JUMP
0000140a: JUMPDEST
0000140b: PUSH1 0x60
0000140d: PUSH1 0x03
0000140f: DUP1
00001410: SLOAD
00001411: DUP1
00001412: PUSH1 0x20
00001414: MUL
00001415: PUSH1 0x20
00001417: ADD
00001418: PUSH1 0x40
0000141a: MLOAD
0000141b: SWAP1
0000141c: DUP2
0000141d: ADD
0000141e: PUSH1 0x40
00001420: MSTORE
00001421: DUP1
00001422: SWAP3
00001423: SWAP2
00001424: SWAP1
00001425: DUP2
00001426: DUP2
00001427: MSTORE
00001428: PUSH1 0x20
0000142a: ADD
0000142b: DUP3
0000142c: DUP1
0000142d: SLOAD
0000142e: DUP1
0000142f: ISZERO
00001430: PUSH2 0x148e
00001433: JUMPI
00001434: PUSH1 0x20
00001436: MUL
00001437: DUP3
00001438: ADD
00001439: SWAP2
0000143a: SWAP1
0000143b: PUSH1 0x00
0000143d: MSTORE
0000143e: PUSH1 0x20
00001440: PUSH1 0x00
00001442: KECCAK256
00001443: SWAP1
00001444: JUMPDEST
00001445: DUP2
00001446: PUSH1 0x00
00001448: SWAP1
00001449: SLOAD
0000144a: SWAP1
0000144b: PUSH2 0x0100
0000144e: EXP
0000144f: SWAP1
00001450: DIV
00001451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001466: AND
00001467: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000147c: AND
0000147d: DUP2
0000147e: MSTORE
0000147f: PUSH1 0x20
00001481: ADD
00001482: SWAP1
00001483: PUSH1 0x01
00001485: ADD
00001486: SWAP1
00001487: DUP1
00001488: DUP4
00001489: GT
0000148a: PUSH2 0x1444
0000148d: JUMPI
0000148e: JUMPDEST
0000148f: POP
00001490: POP
00001491: POP
00001492: POP
00001493: POP
00001494: SWAP1
00001495: POP
00001496: SWAP1
00001497: JUMP
00001498: JUMPDEST
00001499: PUSH1 0x60
0000149b: DUP1
0000149c: PUSH1 0x05
0000149e: SLOAD
0000149f: PUSH1 0x40
000014a1: MLOAD
000014a2: SWAP1
000014a3: DUP1
000014a4: DUP3
000014a5: MSTORE
000014a6: DUP1
000014a7: PUSH1 0x20
000014a9: MUL
000014aa: PUSH1 0x20
000014ac: ADD
000014ad: DUP3
000014ae: ADD
000014af: PUSH1 0x40
000014b1: MSTORE
000014b2: DUP1
000014b3: ISZERO
000014b4: PUSH2 0x14cc
000014b7: JUMPI
000014b8: DUP2
000014b9: PUSH1 0x20
000014bb: ADD
000014bc: PUSH1 0x20
000014be: DUP3
000014bf: MUL
000014c0: DUP1
000014c1: CODESIZE
000014c2: DUP4
000014c3: CODECOPY
000014c4: DUP1
000014c5: DUP3
000014c6: ADD
000014c7: SWAP2
000014c8: POP
000014c9: POP
000014ca: SWAP1
000014cb: POP
000014cc: JUMPDEST
000014cd: POP
000014ce: SWAP1
000014cf: POP
000014d0: PUSH1 0x00
000014d2: DUP1
000014d3: SWAP1
000014d4: POP
000014d5: PUSH1 0x00
000014d7: DUP1
000014d8: SWAP1
000014d9: POP
000014da: JUMPDEST
000014db: PUSH1 0x05
000014dd: SLOAD
000014de: DUP2
000014df: LT
000014e0: ISZERO
000014e1: PUSH2 0x1576
000014e4: JUMPI
000014e5: DUP6
000014e6: DUP1
000014e7: ISZERO
000014e8: PUSH2 0x1511
000014eb: JUMPI
000014ec: POP
000014ed: PUSH1 0x00
000014ef: DUP1
000014f0: DUP3
000014f1: DUP2
000014f2: MSTORE
000014f3: PUSH1 0x20
000014f5: ADD
000014f6: SWAP1
000014f7: DUP2
000014f8: MSTORE
000014f9: PUSH1 0x20
000014fb: ADD
000014fc: PUSH1 0x00
000014fe: KECCAK256
000014ff: PUSH1 0x03
00001501: ADD
00001502: PUSH1 0x00
00001504: SWAP1
00001505: SLOAD
00001506: SWAP1
00001507: PUSH2 0x0100
0000150a: EXP
0000150b: SWAP1
0000150c: DIV
0000150d: PUSH1 0xff
0000150f: AND
00001510: ISZERO
00001511: JUMPDEST
00001512: DUP1
00001513: PUSH2 0x1544
00001516: JUMPI
00001517: POP
00001518: DUP5
00001519: DUP1
0000151a: ISZERO
0000151b: PUSH2 0x1543
0000151e: JUMPI
0000151f: POP
00001520: PUSH1 0x00
00001522: DUP1
00001523: DUP3
00001524: DUP2
00001525: MSTORE
00001526: PUSH1 0x20
00001528: ADD
00001529: SWAP1
0000152a: DUP2
0000152b: MSTORE
0000152c: PUSH1 0x20
0000152e: ADD
0000152f: PUSH1 0x00
00001531: KECCAK256
00001532: PUSH1 0x03
00001534: ADD
00001535: PUSH1 0x00
00001537: SWAP1
00001538: SLOAD
00001539: SWAP1
0000153a: PUSH2 0x0100
0000153d: EXP
0000153e: SWAP1
0000153f: DIV
00001540: PUSH1 0xff
00001542: AND
00001543: JUMPDEST
00001544: JUMPDEST
00001545: ISZERO
00001546: PUSH2 0x1569
00001549: JUMPI
0000154a: DUP1
0000154b: DUP4
0000154c: DUP4
0000154d: DUP2
0000154e: MLOAD
0000154f: DUP2
00001550: LT
00001551: PUSH2 0x1556
00001554: JUMPI
00001555: INVALID
00001556: JUMPDEST
00001557: PUSH1 0x20
00001559: MUL
0000155a: PUSH1 0x20
0000155c: ADD
0000155d: ADD
0000155e: DUP2
0000155f: DUP2
00001560: MSTORE
00001561: POP
00001562: POP
00001563: PUSH1 0x01
00001565: DUP3
00001566: ADD
00001567: SWAP2
00001568: POP
00001569: JUMPDEST
0000156a: DUP1
0000156b: DUP1
0000156c: PUSH1 0x01
0000156e: ADD
0000156f: SWAP2
00001570: POP
00001571: POP
00001572: PUSH2 0x14da
00001575: JUMP
00001576: JUMPDEST
00001577: DUP8
00001578: DUP8
00001579: SUB
0000157a: PUSH1 0x40
0000157c: MLOAD
0000157d: SWAP1
0000157e: DUP1
0000157f: DUP3
00001580: MSTORE
00001581: DUP1
00001582: PUSH1 0x20
00001584: MUL
00001585: PUSH1 0x20
00001587: ADD
00001588: DUP3
00001589: ADD
0000158a: PUSH1 0x40
0000158c: MSTORE
0000158d: DUP1
0000158e: ISZERO
0000158f: PUSH2 0x15a7
00001592: JUMPI
00001593: DUP2
00001594: PUSH1 0x20
00001596: ADD
00001597: PUSH1 0x20
00001599: DUP3
0000159a: MUL
0000159b: DUP1
0000159c: CODESIZE
0000159d: DUP4
0000159e: CODECOPY
0000159f: DUP1
000015a0: DUP3
000015a1: ADD
000015a2: SWAP2
000015a3: POP
000015a4: POP
000015a5: SWAP1
000015a6: POP
000015a7: JUMPDEST
000015a8: POP
000015a9: SWAP4
000015aa: POP
000015ab: DUP8
000015ac: SWAP1
000015ad: POP
000015ae: JUMPDEST
000015af: DUP7
000015b0: DUP2
000015b1: LT
000015b2: ISZERO
000015b3: PUSH2 0x15f1
000015b6: JUMPI
000015b7: DUP3
000015b8: DUP2
000015b9: DUP2
000015ba: MLOAD
000015bb: DUP2
000015bc: LT
000015bd: PUSH2 0x15c2
000015c0: JUMPI
000015c1: INVALID
000015c2: JUMPDEST
000015c3: PUSH1 0x20
000015c5: MUL
000015c6: PUSH1 0x20
000015c8: ADD
000015c9: ADD
000015ca: MLOAD
000015cb: DUP5
000015cc: DUP10
000015cd: DUP4
000015ce: SUB
000015cf: DUP2
000015d0: MLOAD
000015d1: DUP2
000015d2: LT
000015d3: PUSH2 0x15d8
000015d6: JUMPI
000015d7: INVALID
000015d8: JUMPDEST
000015d9: PUSH1 0x20
000015db: MUL
000015dc: PUSH1 0x20
000015de: ADD
000015df: ADD
000015e0: DUP2
000015e1: DUP2
000015e2: MSTORE
000015e3: POP
000015e4: POP
000015e5: DUP1
000015e6: DUP1
000015e7: PUSH1 0x01
000015e9: ADD
000015ea: SWAP2
000015eb: POP
000015ec: POP
000015ed: PUSH2 0x15ae
000015f0: JUMP
000015f1: JUMPDEST
000015f2: POP
000015f3: POP
000015f4: POP
000015f5: SWAP5
000015f6: SWAP4
000015f7: POP
000015f8: POP
000015f9: POP
000015fa: POP
000015fb: JUMP
000015fc: JUMPDEST
000015fd: PUSH1 0x60
000015ff: DUP1
00001600: PUSH1 0x03
00001602: DUP1
00001603: SLOAD
00001604: SWAP1
00001605: POP
00001606: PUSH1 0x40
00001608: MLOAD
00001609: SWAP1
0000160a: DUP1
0000160b: DUP3
0000160c: MSTORE
0000160d: DUP1
0000160e: PUSH1 0x20
00001610: MUL
00001611: PUSH1 0x20
00001613: ADD
00001614: DUP3
00001615: ADD
00001616: PUSH1 0x40
00001618: MSTORE
00001619: DUP1
0000161a: ISZERO
0000161b: PUSH2 0x1633
0000161e: JUMPI
0000161f: DUP2
00001620: PUSH1 0x20
00001622: ADD
00001623: PUSH1 0x20
00001625: DUP3
00001626: MUL
00001627: DUP1
00001628: CODESIZE
00001629: DUP4
0000162a: CODECOPY
0000162b: DUP1
0000162c: DUP3
0000162d: ADD
0000162e: SWAP2
0000162f: POP
00001630: POP
00001631: SWAP1
00001632: POP
00001633: JUMPDEST
00001634: POP
00001635: SWAP1
00001636: POP
00001637: PUSH1 0x00
00001639: DUP1
0000163a: SWAP1
0000163b: POP
0000163c: PUSH1 0x00
0000163e: DUP1
0000163f: SWAP1
00001640: POP
00001641: JUMPDEST
00001642: PUSH1 0x03
00001644: DUP1
00001645: SLOAD
00001646: SWAP1
00001647: POP
00001648: DUP2
00001649: LT
0000164a: ISZERO
0000164b: PUSH2 0x177a
0000164e: JUMPI
0000164f: PUSH1 0x01
00001651: PUSH1 0x00
00001653: DUP7
00001654: DUP2
00001655: MSTORE
00001656: PUSH1 0x20
00001658: ADD
00001659: SWAP1
0000165a: DUP2
0000165b: MSTORE
0000165c: PUSH1 0x20
0000165e: ADD
0000165f: PUSH1 0x00
00001661: KECCAK256
00001662: PUSH1 0x00
00001664: PUSH1 0x03
00001666: DUP4
00001667: DUP2
00001668: SLOAD
00001669: DUP2
0000166a: LT
0000166b: PUSH2 0x1670
0000166e: JUMPI
0000166f: INVALID
00001670: JUMPDEST
00001671: SWAP1
00001672: PUSH1 0x00
00001674: MSTORE
00001675: PUSH1 0x20
00001677: PUSH1 0x00
00001679: KECCAK256
0000167a: ADD
0000167b: PUSH1 0x00
0000167d: SWAP1
0000167e: SLOAD
0000167f: SWAP1
00001680: PUSH2 0x0100
00001683: EXP
00001684: SWAP1
00001685: DIV
00001686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000169b: AND
0000169c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b1: AND
000016b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c7: AND
000016c8: DUP2
000016c9: MSTORE
000016ca: PUSH1 0x20
000016cc: ADD
000016cd: SWAP1
000016ce: DUP2
000016cf: MSTORE
000016d0: PUSH1 0x20
000016d2: ADD
000016d3: PUSH1 0x00
000016d5: KECCAK256
000016d6: PUSH1 0x00
000016d8: SWAP1
000016d9: SLOAD
000016da: SWAP1
000016db: PUSH2 0x0100
000016de: EXP
000016df: SWAP1
000016e0: DIV
000016e1: PUSH1 0xff
000016e3: AND
000016e4: ISZERO
000016e5: PUSH2 0x176d
000016e8: JUMPI
000016e9: PUSH1 0x03
000016eb: DUP2
000016ec: DUP2
000016ed: SLOAD
000016ee: DUP2
000016ef: LT
000016f0: PUSH2 0x16f5
000016f3: JUMPI
000016f4: INVALID
000016f5: JUMPDEST
000016f6: SWAP1
000016f7: PUSH1 0x00
000016f9: MSTORE
000016fa: PUSH1 0x20
000016fc: PUSH1 0x00
000016fe: KECCAK256
000016ff: ADD
00001700: PUSH1 0x00
00001702: SWAP1
00001703: SLOAD
00001704: SWAP1
00001705: PUSH2 0x0100
00001708: EXP
00001709: SWAP1
0000170a: DIV
0000170b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001720: AND
00001721: DUP4
00001722: DUP4
00001723: DUP2
00001724: MLOAD
00001725: DUP2
00001726: LT
00001727: PUSH2 0x172c
0000172a: JUMPI
0000172b: INVALID
0000172c: JUMPDEST
0000172d: PUSH1 0x20
0000172f: MUL
00001730: PUSH1 0x20
00001732: ADD
00001733: ADD
00001734: SWAP1
00001735: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000174a: AND
0000174b: SWAP1
0000174c: DUP2
0000174d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001762: AND
00001763: DUP2
00001764: MSTORE
00001765: POP
00001766: POP
00001767: PUSH1 0x01
00001769: DUP3
0000176a: ADD
0000176b: SWAP2
0000176c: POP
0000176d: JUMPDEST
0000176e: DUP1
0000176f: DUP1
00001770: PUSH1 0x01
00001772: ADD
00001773: SWAP2
00001774: POP
00001775: POP
00001776: PUSH2 0x1641
00001779: JUMP
0000177a: JUMPDEST
0000177b: DUP2
0000177c: PUSH1 0x40
0000177e: MLOAD
0000177f: SWAP1
00001780: DUP1
00001781: DUP3
00001782: MSTORE
00001783: DUP1
00001784: PUSH1 0x20
00001786: MUL
00001787: PUSH1 0x20
00001789: ADD
0000178a: DUP3
0000178b: ADD
0000178c: PUSH1 0x40
0000178e: MSTORE
0000178f: DUP1
00001790: ISZERO
00001791: PUSH2 0x17a9
00001794: JUMPI
00001795: DUP2
00001796: PUSH1 0x20
00001798: ADD
00001799: PUSH1 0x20
0000179b: DUP3
0000179c: MUL
0000179d: DUP1
0000179e: CODESIZE
0000179f: DUP4
000017a0: CODECOPY
000017a1: DUP1
000017a2: DUP3
000017a3: ADD
000017a4: SWAP2
000017a5: POP
000017a6: POP
000017a7: SWAP1
000017a8: POP
000017a9: JUMPDEST
000017aa: POP
000017ab: SWAP4
000017ac: POP
000017ad: PUSH1 0x00
000017af: SWAP1
000017b0: POP
000017b1: JUMPDEST
000017b2: DUP2
000017b3: DUP2
000017b4: LT
000017b5: ISZERO
000017b6: PUSH2 0x1820
000017b9: JUMPI
000017ba: DUP3
000017bb: DUP2
000017bc: DUP2
000017bd: MLOAD
000017be: DUP2
000017bf: LT
000017c0: PUSH2 0x17c5
000017c3: JUMPI
000017c4: INVALID
000017c5: JUMPDEST
000017c6: PUSH1 0x20
000017c8: MUL
000017c9: PUSH1 0x20
000017cb: ADD
000017cc: ADD
000017cd: MLOAD
000017ce: DUP5
000017cf: DUP3
000017d0: DUP2
000017d1: MLOAD
000017d2: DUP2
000017d3: LT
000017d4: PUSH2 0x17d9
000017d7: JUMPI
000017d8: INVALID
000017d9: JUMPDEST
000017da: PUSH1 0x20
000017dc: MUL
000017dd: PUSH1 0x20
000017df: ADD
000017e0: ADD
000017e1: SWAP1
000017e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f7: AND
000017f8: SWAP1
000017f9: DUP2
000017fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000180f: AND
00001810: DUP2
00001811: MSTORE
00001812: POP
00001813: POP
00001814: DUP1
00001815: DUP1
00001816: PUSH1 0x01
00001818: ADD
00001819: SWAP2
0000181a: POP
0000181b: POP
0000181c: PUSH2 0x17b1
0000181f: JUMP
00001820: JUMPDEST
00001821: POP
00001822: POP
00001823: POP
00001824: SWAP2
00001825: SWAP1
00001826: POP
00001827: JUMP
00001828: JUMPDEST
00001829: PUSH1 0x05
0000182b: SLOAD
0000182c: DUP2
0000182d: JUMP
0000182e: JUMPDEST
0000182f: ADDRESS
00001830: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001845: AND
00001846: CALLER
00001847: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000185c: AND
0000185d: EQ
0000185e: PUSH2 0x1866
00001861: JUMPI
00001862: PUSH1 0x00
00001864: DUP1
00001865: REVERT
00001866: JUMPDEST
00001867: PUSH1 0x03
00001869: DUP1
0000186a: SLOAD
0000186b: SWAP1
0000186c: POP
0000186d: DUP2
0000186e: PUSH1 0x32
00001870: DUP3
00001871: GT
00001872: ISZERO
00001873: DUP1
00001874: ISZERO
00001875: PUSH2 0x187e
00001878: JUMPI
00001879: POP
0000187a: DUP2
0000187b: DUP2
0000187c: GT
0000187d: ISZERO
0000187e: JUMPDEST
0000187f: DUP1
00001880: ISZERO
00001881: PUSH2 0x188b
00001884: JUMPI
00001885: POP
00001886: PUSH1 0x00
00001888: DUP2
00001889: EQ
0000188a: ISZERO
0000188b: JUMPDEST
0000188c: DUP1
0000188d: ISZERO
0000188e: PUSH2 0x1898
00001891: JUMPI
00001892: POP
00001893: PUSH1 0x00
00001895: DUP3
00001896: EQ
00001897: ISZERO
00001898: JUMPDEST
00001899: PUSH2 0x18a1
0000189c: JUMPI
0000189d: PUSH1 0x00
0000189f: DUP1
000018a0: REVERT
000018a1: JUMPDEST
000018a2: DUP3
000018a3: PUSH1 0x04
000018a5: DUP2
000018a6: SWAP1
000018a7: SSTORE
000018a8: POP
000018a9: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
000018ca: DUP4
000018cb: PUSH1 0x40
000018cd: MLOAD
000018ce: DUP1
000018cf: DUP3
000018d0: DUP2
000018d1: MSTORE
000018d2: PUSH1 0x20
000018d4: ADD
000018d5: SWAP2
000018d6: POP
000018d7: POP
000018d8: PUSH1 0x40
000018da: MLOAD
000018db: DUP1
000018dc: SWAP2
000018dd: SUB
000018de: SWAP1
000018df: LOG1
000018e0: POP
000018e1: POP
000018e2: POP
000018e3: JUMP
000018e4: JUMPDEST
000018e5: CALLER
000018e6: PUSH1 0x02
000018e8: PUSH1 0x00
000018ea: DUP3
000018eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001900: AND
00001901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001916: AND
00001917: DUP2
00001918: MSTORE
00001919: PUSH1 0x20
0000191b: ADD
0000191c: SWAP1
0000191d: DUP2
0000191e: MSTORE
0000191f: PUSH1 0x20
00001921: ADD
00001922: PUSH1 0x00
00001924: KECCAK256
00001925: PUSH1 0x00
00001927: SWAP1
00001928: SLOAD
00001929: SWAP1
0000192a: PUSH2 0x0100
0000192d: EXP
0000192e: SWAP1
0000192f: DIV
00001930: PUSH1 0xff
00001932: AND
00001933: PUSH2 0x193b
00001936: JUMPI
00001937: PUSH1 0x00
00001939: DUP1
0000193a: REVERT
0000193b: JUMPDEST
0000193c: DUP2
0000193d: PUSH1 0x00
0000193f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001954: AND
00001955: PUSH1 0x00
00001957: DUP1
00001958: DUP4
00001959: DUP2
0000195a: MSTORE
0000195b: PUSH1 0x20
0000195d: ADD
0000195e: SWAP1
0000195f: DUP2
00001960: MSTORE
00001961: PUSH1 0x20
00001963: ADD
00001964: PUSH1 0x00
00001966: KECCAK256
00001967: PUSH1 0x00
00001969: ADD
0000196a: PUSH1 0x00
0000196c: SWAP1
0000196d: SLOAD
0000196e: SWAP1
0000196f: PUSH2 0x0100
00001972: EXP
00001973: SWAP1
00001974: DIV
00001975: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000198a: AND
0000198b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019a0: AND
000019a1: EQ
000019a2: ISZERO
000019a3: PUSH2 0x19ab
000019a6: JUMPI
000019a7: PUSH1 0x00
000019a9: DUP1
000019aa: REVERT
000019ab: JUMPDEST
000019ac: DUP3
000019ad: CALLER
000019ae: PUSH1 0x01
000019b0: PUSH1 0x00
000019b2: DUP4
000019b3: DUP2
000019b4: MSTORE
000019b5: PUSH1 0x20
000019b7: ADD
000019b8: SWAP1
000019b9: DUP2
000019ba: MSTORE
000019bb: PUSH1 0x20
000019bd: ADD
000019be: PUSH1 0x00
000019c0: KECCAK256
000019c1: PUSH1 0x00
000019c3: DUP3
000019c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019d9: AND
000019da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ef: AND
000019f0: DUP2
000019f1: MSTORE
000019f2: PUSH1 0x20
000019f4: ADD
000019f5: SWAP1
000019f6: DUP2
000019f7: MSTORE
000019f8: PUSH1 0x20
000019fa: ADD
000019fb: PUSH1 0x00
000019fd: KECCAK256
000019fe: PUSH1 0x00
00001a00: SWAP1
00001a01: SLOAD
00001a02: SWAP1
00001a03: PUSH2 0x0100
00001a06: EXP
00001a07: SWAP1
00001a08: DIV
00001a09: PUSH1 0xff
00001a0b: AND
00001a0c: ISZERO
00001a0d: PUSH2 0x1a15
00001a10: JUMPI
00001a11: PUSH1 0x00
00001a13: DUP1
00001a14: REVERT
00001a15: JUMPDEST
00001a16: PUSH1 0x01
00001a18: DUP1
00001a19: PUSH1 0x00
00001a1b: DUP8
00001a1c: DUP2
00001a1d: MSTORE
00001a1e: PUSH1 0x20
00001a20: ADD
00001a21: SWAP1
00001a22: DUP2
00001a23: MSTORE
00001a24: PUSH1 0x20
00001a26: ADD
00001a27: PUSH1 0x00
00001a29: KECCAK256
00001a2a: PUSH1 0x00
00001a2c: CALLER
00001a2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a42: AND
00001a43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a58: AND
00001a59: DUP2
00001a5a: MSTORE
00001a5b: PUSH1 0x20
00001a5d: ADD
00001a5e: SWAP1
00001a5f: DUP2
00001a60: MSTORE
00001a61: PUSH1 0x20
00001a63: ADD
00001a64: PUSH1 0x00
00001a66: KECCAK256
00001a67: PUSH1 0x00
00001a69: PUSH2 0x0100
00001a6c: EXP
00001a6d: DUP2
00001a6e: SLOAD
00001a6f: DUP2
00001a70: PUSH1 0xff
00001a72: MUL
00001a73: NOT
00001a74: AND
00001a75: SWAP1
00001a76: DUP4
00001a77: ISZERO
00001a78: ISZERO
00001a79: MUL
00001a7a: OR
00001a7b: SWAP1
00001a7c: SSTORE
00001a7d: POP
00001a7e: DUP5
00001a7f: CALLER
00001a80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a95: AND
00001a96: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
00001ab7: PUSH1 0x40
00001ab9: MLOAD
00001aba: PUSH1 0x40
00001abc: MLOAD
00001abd: DUP1
00001abe: SWAP2
00001abf: SUB
00001ac0: SWAP1
00001ac1: LOG3
00001ac2: PUSH2 0x1aca
00001ac5: DUP6
00001ac6: PUSH2 0x1e05
00001ac9: JUMP
00001aca: JUMPDEST
00001acb: POP
00001acc: POP
00001acd: POP
00001ace: POP
00001acf: POP
00001ad0: JUMP
00001ad1: JUMPDEST
00001ad2: PUSH1 0x00
00001ad4: PUSH2 0x1ade
00001ad7: DUP5
00001ad8: DUP5
00001ad9: DUP5
00001ada: PUSH2 0x20ad
00001add: JUMP
00001ade: JUMPDEST
00001adf: SWAP1
00001ae0: POP
00001ae1: PUSH2 0x1ae9
00001ae4: DUP2
00001ae5: PUSH2 0x18e4
00001ae8: JUMP
00001ae9: JUMPDEST
00001aea: SWAP4
00001aeb: SWAP3
00001aec: POP
00001aed: POP
00001aee: POP
00001aef: JUMP
00001af0: JUMPDEST
00001af1: PUSH1 0x32
00001af3: DUP2
00001af4: JUMP
00001af5: JUMPDEST
00001af6: PUSH1 0x04
00001af8: SLOAD
00001af9: DUP2
00001afa: JUMP
00001afb: JUMPDEST
00001afc: ADDRESS
00001afd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b12: AND
00001b13: CALLER
00001b14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b29: AND
00001b2a: EQ
00001b2b: PUSH2 0x1b33
00001b2e: JUMPI
00001b2f: PUSH1 0x00
00001b31: DUP1
00001b32: REVERT
00001b33: JUMPDEST
00001b34: DUP2
00001b35: PUSH1 0x02
00001b37: PUSH1 0x00
00001b39: DUP3
00001b3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b4f: AND
00001b50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b65: AND
00001b66: DUP2
00001b67: MSTORE
00001b68: PUSH1 0x20
00001b6a: ADD
00001b6b: SWAP1
00001b6c: DUP2
00001b6d: MSTORE
00001b6e: PUSH1 0x20
00001b70: ADD
00001b71: PUSH1 0x00
00001b73: KECCAK256
00001b74: PUSH1 0x00
00001b76: SWAP1
00001b77: SLOAD
00001b78: SWAP1
00001b79: PUSH2 0x0100
00001b7c: EXP
00001b7d: SWAP1
00001b7e: DIV
00001b7f: PUSH1 0xff
00001b81: AND
00001b82: PUSH2 0x1b8a
00001b85: JUMPI
00001b86: PUSH1 0x00
00001b88: DUP1
00001b89: REVERT
00001b8a: JUMPDEST
00001b8b: DUP2
00001b8c: PUSH1 0x02
00001b8e: PUSH1 0x00
00001b90: DUP3
00001b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ba6: AND
00001ba7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bbc: AND
00001bbd: DUP2
00001bbe: MSTORE
00001bbf: PUSH1 0x20
00001bc1: ADD
00001bc2: SWAP1
00001bc3: DUP2
00001bc4: MSTORE
00001bc5: PUSH1 0x20
00001bc7: ADD
00001bc8: PUSH1 0x00
00001bca: KECCAK256
00001bcb: PUSH1 0x00
00001bcd: SWAP1
00001bce: SLOAD
00001bcf: SWAP1
00001bd0: PUSH2 0x0100
00001bd3: EXP
00001bd4: SWAP1
00001bd5: DIV
00001bd6: PUSH1 0xff
00001bd8: AND
00001bd9: ISZERO
00001bda: PUSH2 0x1be2
00001bdd: JUMPI
00001bde: PUSH1 0x00
00001be0: DUP1
00001be1: REVERT
00001be2: JUMPDEST
00001be3: PUSH1 0x00
00001be5: DUP1
00001be6: SWAP1
00001be7: POP
00001be8: JUMPDEST
00001be9: PUSH1 0x03
00001beb: DUP1
00001bec: SLOAD
00001bed: SWAP1
00001bee: POP
00001bef: DUP2
00001bf0: LT
00001bf1: ISZERO
00001bf2: PUSH2 0x1cc8
00001bf5: JUMPI
00001bf6: DUP5
00001bf7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c0c: AND
00001c0d: PUSH1 0x03
00001c0f: DUP3
00001c10: DUP2
00001c11: SLOAD
00001c12: DUP2
00001c13: LT
00001c14: PUSH2 0x1c19
00001c17: JUMPI
00001c18: INVALID
00001c19: JUMPDEST
00001c1a: SWAP1
00001c1b: PUSH1 0x00
00001c1d: MSTORE
00001c1e: PUSH1 0x20
00001c20: PUSH1 0x00
00001c22: KECCAK256
00001c23: ADD
00001c24: PUSH1 0x00
00001c26: SWAP1
00001c27: SLOAD
00001c28: SWAP1
00001c29: PUSH2 0x0100
00001c2c: EXP
00001c2d: SWAP1
00001c2e: DIV
00001c2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c44: AND
00001c45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c5a: AND
00001c5b: EQ
00001c5c: ISZERO
00001c5d: PUSH2 0x1cbb
00001c60: JUMPI
00001c61: DUP4
00001c62: PUSH1 0x03
00001c64: DUP3
00001c65: DUP2
00001c66: SLOAD
00001c67: DUP2
00001c68: LT
00001c69: PUSH2 0x1c6e
00001c6c: JUMPI
00001c6d: INVALID
00001c6e: JUMPDEST
00001c6f: SWAP1
00001c70: PUSH1 0x00
00001c72: MSTORE
00001c73: PUSH1 0x20
00001c75: PUSH1 0x00
00001c77: KECCAK256
00001c78: ADD
00001c79: PUSH1 0x00
00001c7b: PUSH2 0x0100
00001c7e: EXP
00001c7f: DUP2
00001c80: SLOAD
00001c81: DUP2
00001c82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c97: MUL
00001c98: NOT
00001c99: AND
00001c9a: SWAP1
00001c9b: DUP4
00001c9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cb1: AND
00001cb2: MUL
00001cb3: OR
00001cb4: SWAP1
00001cb5: SSTORE
00001cb6: POP
00001cb7: PUSH2 0x1cc8
00001cba: JUMP
00001cbb: JUMPDEST
00001cbc: DUP1
00001cbd: DUP1
00001cbe: PUSH1 0x01
00001cc0: ADD
00001cc1: SWAP2
00001cc2: POP
00001cc3: POP
00001cc4: PUSH2 0x1be8
00001cc7: JUMP
00001cc8: JUMPDEST
00001cc9: POP
00001cca: PUSH1 0x00
00001ccc: PUSH1 0x02
00001cce: PUSH1 0x00
00001cd0: DUP7
00001cd1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ce6: AND
00001ce7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cfc: AND
00001cfd: DUP2
00001cfe: MSTORE
00001cff: PUSH1 0x20
00001d01: ADD
00001d02: SWAP1
00001d03: DUP2
00001d04: MSTORE
00001d05: PUSH1 0x20
00001d07: ADD
00001d08: PUSH1 0x00
00001d0a: KECCAK256
00001d0b: PUSH1 0x00
00001d0d: PUSH2 0x0100
00001d10: EXP
00001d11: DUP2
00001d12: SLOAD
00001d13: DUP2
00001d14: PUSH1 0xff
00001d16: MUL
00001d17: NOT
00001d18: AND
00001d19: SWAP1
00001d1a: DUP4
00001d1b: ISZERO
00001d1c: ISZERO
00001d1d: MUL
00001d1e: OR
00001d1f: SWAP1
00001d20: SSTORE
00001d21: POP
00001d22: PUSH1 0x01
00001d24: PUSH1 0x02
00001d26: PUSH1 0x00
00001d28: DUP6
00001d29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d3e: AND
00001d3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d54: AND
00001d55: DUP2
00001d56: MSTORE
00001d57: PUSH1 0x20
00001d59: ADD
00001d5a: SWAP1
00001d5b: DUP2
00001d5c: MSTORE
00001d5d: PUSH1 0x20
00001d5f: ADD
00001d60: PUSH1 0x00
00001d62: KECCAK256
00001d63: PUSH1 0x00
00001d65: PUSH2 0x0100
00001d68: EXP
00001d69: DUP2
00001d6a: SLOAD
00001d6b: DUP2
00001d6c: PUSH1 0xff
00001d6e: MUL
00001d6f: NOT
00001d70: AND
00001d71: SWAP1
00001d72: DUP4
00001d73: ISZERO
00001d74: ISZERO
00001d75: MUL
00001d76: OR
00001d77: SWAP1
00001d78: SSTORE
00001d79: POP
00001d7a: DUP4
00001d7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d90: AND
00001d91: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00001db2: PUSH1 0x40
00001db4: MLOAD
00001db5: PUSH1 0x40
00001db7: MLOAD
00001db8: DUP1
00001db9: SWAP2
00001dba: SUB
00001dbb: SWAP1
00001dbc: LOG2
00001dbd: DUP3
00001dbe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dd3: AND
00001dd4: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001df5: PUSH1 0x40
00001df7: MLOAD
00001df8: PUSH1 0x40
00001dfa: MLOAD
00001dfb: DUP1
00001dfc: SWAP2
00001dfd: SUB
00001dfe: SWAP1
00001dff: LOG2
00001e00: POP
00001e01: POP
00001e02: POP
00001e03: POP
00001e04: JUMP
00001e05: JUMPDEST
00001e06: CALLER
00001e07: PUSH1 0x02
00001e09: PUSH1 0x00
00001e0b: DUP3
00001e0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e21: AND
00001e22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e37: AND
00001e38: DUP2
00001e39: MSTORE
00001e3a: PUSH1 0x20
00001e3c: ADD
00001e3d: SWAP1
00001e3e: DUP2
00001e3f: MSTORE
00001e40: PUSH1 0x20
00001e42: ADD
00001e43: PUSH1 0x00
00001e45: KECCAK256
00001e46: PUSH1 0x00
00001e48: SWAP1
00001e49: SLOAD
00001e4a: SWAP1
00001e4b: PUSH2 0x0100
00001e4e: EXP
00001e4f: SWAP1
00001e50: DIV
00001e51: PUSH1 0xff
00001e53: AND
00001e54: PUSH2 0x1e5c
00001e57: JUMPI
00001e58: PUSH1 0x00
00001e5a: DUP1
00001e5b: REVERT
00001e5c: JUMPDEST
00001e5d: DUP2
00001e5e: CALLER
00001e5f: PUSH1 0x01
00001e61: PUSH1 0x00
00001e63: DUP4
00001e64: DUP2
00001e65: MSTORE
00001e66: PUSH1 0x20
00001e68: ADD
00001e69: SWAP1
00001e6a: DUP2
00001e6b: MSTORE
00001e6c: PUSH1 0x20
00001e6e: ADD
00001e6f: PUSH1 0x00
00001e71: KECCAK256
00001e72: PUSH1 0x00
00001e74: DUP3
00001e75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e8a: AND
00001e8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ea0: AND
00001ea1: DUP2
00001ea2: MSTORE
00001ea3: PUSH1 0x20
00001ea5: ADD
00001ea6: SWAP1
00001ea7: DUP2
00001ea8: MSTORE
00001ea9: PUSH1 0x20
00001eab: ADD
00001eac: PUSH1 0x00
00001eae: KECCAK256
00001eaf: PUSH1 0x00
00001eb1: SWAP1
00001eb2: SLOAD
00001eb3: SWAP1
00001eb4: PUSH2 0x0100
00001eb7: EXP
00001eb8: SWAP1
00001eb9: DIV
00001eba: PUSH1 0xff
00001ebc: AND
00001ebd: PUSH2 0x1ec5
00001ec0: JUMPI
00001ec1: PUSH1 0x00
00001ec3: DUP1
00001ec4: REVERT
00001ec5: JUMPDEST
00001ec6: DUP4
00001ec7: PUSH1 0x00
00001ec9: DUP1
00001eca: DUP3
00001ecb: DUP2
00001ecc: MSTORE
00001ecd: PUSH1 0x20
00001ecf: ADD
00001ed0: SWAP1
00001ed1: DUP2
00001ed2: MSTORE
00001ed3: PUSH1 0x20
00001ed5: ADD
00001ed6: PUSH1 0x00
00001ed8: KECCAK256
00001ed9: PUSH1 0x03
00001edb: ADD
00001edc: PUSH1 0x00
00001ede: SWAP1
00001edf: SLOAD
00001ee0: SWAP1
00001ee1: PUSH2 0x0100
00001ee4: EXP
00001ee5: SWAP1
00001ee6: DIV
00001ee7: PUSH1 0xff
00001ee9: AND
00001eea: ISZERO
00001eeb: PUSH2 0x1ef3
00001eee: JUMPI
00001eef: PUSH1 0x00
00001ef1: DUP1
00001ef2: REVERT
00001ef3: JUMPDEST
00001ef4: PUSH2 0x1efc
00001ef7: DUP6
00001ef8: PUSH2 0x1167
00001efb: JUMP
00001efc: JUMPDEST
00001efd: ISZERO
00001efe: PUSH2 0x20a6
00001f01: JUMPI
00001f02: PUSH1 0x00
00001f04: DUP1
00001f05: PUSH1 0x00
00001f07: DUP8
00001f08: DUP2
00001f09: MSTORE
00001f0a: PUSH1 0x20
00001f0c: ADD
00001f0d: SWAP1
00001f0e: DUP2
00001f0f: MSTORE
00001f10: PUSH1 0x20
00001f12: ADD
00001f13: PUSH1 0x00
00001f15: KECCAK256
00001f16: SWAP1
00001f17: POP
00001f18: PUSH1 0x01
00001f1a: DUP2
00001f1b: PUSH1 0x03
00001f1d: ADD
00001f1e: PUSH1 0x00
00001f20: PUSH2 0x0100
00001f23: EXP
00001f24: DUP2
00001f25: SLOAD
00001f26: DUP2
00001f27: PUSH1 0xff
00001f29: MUL
00001f2a: NOT
00001f2b: AND
00001f2c: SWAP1
00001f2d: DUP4
00001f2e: ISZERO
00001f2f: ISZERO
00001f30: MUL
00001f31: OR
00001f32: SWAP1
00001f33: SSTORE
00001f34: POP
00001f35: PUSH1 0x00
00001f37: DUP2
00001f38: PUSH1 0x00
00001f3a: ADD
00001f3b: PUSH1 0x00
00001f3d: SWAP1
00001f3e: SLOAD
00001f3f: SWAP1
00001f40: PUSH2 0x0100
00001f43: EXP
00001f44: SWAP1
00001f45: DIV
00001f46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f5b: AND
00001f5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f71: AND
00001f72: DUP3
00001f73: PUSH1 0x01
00001f75: ADD
00001f76: SLOAD
00001f77: DUP4
00001f78: PUSH1 0x02
00001f7a: ADD
00001f7b: PUSH1 0x40
00001f7d: MLOAD
00001f7e: DUP1
00001f7f: DUP3
00001f80: DUP1
00001f81: SLOAD
00001f82: PUSH1 0x01
00001f84: DUP2
00001f85: PUSH1 0x01
00001f87: AND
00001f88: ISZERO
00001f89: PUSH2 0x0100
00001f8c: MUL
00001f8d: SUB
00001f8e: AND
00001f8f: PUSH1 0x02
00001f91: SWAP1
00001f92: DIV
00001f93: DUP1
00001f94: ISZERO
00001f95: PUSH2 0x1fd5
00001f98: JUMPI
00001f99: DUP1
00001f9a: PUSH1 0x1f
00001f9c: LT
00001f9d: PUSH2 0x1fb3
00001fa0: JUMPI
00001fa1: PUSH2 0x0100
00001fa4: DUP1
00001fa5: DUP4
00001fa6: SLOAD
00001fa7: DIV
00001fa8: MUL
00001fa9: DUP4
00001faa: MSTORE
00001fab: SWAP2
00001fac: DUP3
00001fad: ADD
00001fae: SWAP2
00001faf: PUSH2 0x1fd5
00001fb2: JUMP
00001fb3: JUMPDEST
00001fb4: DUP3
00001fb5: ADD
00001fb6: SWAP2
00001fb7: SWAP1
00001fb8: PUSH1 0x00
00001fba: MSTORE
00001fbb: PUSH1 0x20
00001fbd: PUSH1 0x00
00001fbf: KECCAK256
00001fc0: SWAP1
00001fc1: JUMPDEST
00001fc2: DUP2
00001fc3: SLOAD
00001fc4: DUP2
00001fc5: MSTORE
00001fc6: SWAP1
00001fc7: PUSH1 0x01
00001fc9: ADD
00001fca: SWAP1
00001fcb: PUSH1 0x20
00001fcd: ADD
00001fce: DUP1
00001fcf: DUP4
00001fd0: GT
00001fd1: PUSH2 0x1fc1
00001fd4: JUMPI
00001fd5: JUMPDEST
00001fd6: POP
00001fd7: POP
00001fd8: SWAP2
00001fd9: POP
00001fda: POP
00001fdb: PUSH1 0x00
00001fdd: PUSH1 0x40
00001fdf: MLOAD
00001fe0: DUP1
00001fe1: DUP4
00001fe2: SUB
00001fe3: DUP2
00001fe4: DUP6
00001fe5: DUP8
00001fe6: GAS
00001fe7: CALL
00001fe8: SWAP3
00001fe9: POP
00001fea: POP
00001feb: POP
00001fec: RETURNDATASIZE
00001fed: DUP1
00001fee: PUSH1 0x00
00001ff0: DUP2
00001ff1: EQ
00001ff2: PUSH2 0x2017
00001ff5: JUMPI
00001ff6: PUSH1 0x40
00001ff8: MLOAD
00001ff9: SWAP2
00001ffa: POP
00001ffb: PUSH1 0x1f
00001ffd: NOT
00001ffe: PUSH1 0x3f
00002000: RETURNDATASIZE
00002001: ADD
00002002: AND
00002003: DUP3
00002004: ADD
00002005: PUSH1 0x40
00002007: MSTORE
00002008: RETURNDATASIZE
00002009: DUP3
0000200a: MSTORE
0000200b: RETURNDATASIZE
0000200c: PUSH1 0x00
0000200e: PUSH1 0x20
00002010: DUP5
00002011: ADD
00002012: RETURNDATACOPY
00002013: PUSH2 0x201c
00002016: JUMP
00002017: JUMPDEST
00002018: PUSH1 0x60
0000201a: SWAP2
0000201b: POP
0000201c: JUMPDEST
0000201d: POP
0000201e: POP
0000201f: SWAP1
00002020: POP
00002021: DUP1
00002022: ISZERO
00002023: PUSH2 0x2058
00002026: JUMPI
00002027: DUP7
00002028: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
00002049: PUSH1 0x40
0000204b: MLOAD
0000204c: PUSH1 0x40
0000204e: MLOAD
0000204f: DUP1
00002050: SWAP2
00002051: SUB
00002052: SWAP1
00002053: LOG2
00002054: PUSH2 0x20a3
00002057: JUMP
00002058: JUMPDEST
00002059: DUP7
0000205a: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
0000207b: PUSH1 0x40
0000207d: MLOAD
0000207e: PUSH1 0x40
00002080: MLOAD
00002081: DUP1
00002082: SWAP2
00002083: SUB
00002084: SWAP1
00002085: LOG2
00002086: PUSH1 0x00
00002088: DUP3
00002089: PUSH1 0x03
0000208b: ADD
0000208c: PUSH1 0x00
0000208e: PUSH2 0x0100
00002091: EXP
00002092: DUP2
00002093: SLOAD
00002094: DUP2
00002095: PUSH1 0xff
00002097: MUL
00002098: NOT
00002099: AND
0000209a: SWAP1
0000209b: DUP4
0000209c: ISZERO
0000209d: ISZERO
0000209e: MUL
0000209f: OR
000020a0: SWAP1
000020a1: SSTORE
000020a2: POP
000020a3: JUMPDEST
000020a4: POP
000020a5: POP
000020a6: JUMPDEST
000020a7: POP
000020a8: POP
000020a9: POP
000020aa: POP
000020ab: POP
000020ac: JUMP
000020ad: JUMPDEST
000020ae: PUSH1 0x00
000020b0: DUP4
000020b1: PUSH1 0x00
000020b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020c8: AND
000020c9: DUP2
000020ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020df: AND
000020e0: EQ
000020e1: ISZERO
000020e2: PUSH2 0x20ea
000020e5: JUMPI
000020e6: PUSH1 0x00
000020e8: DUP1
000020e9: REVERT
000020ea: JUMPDEST
000020eb: PUSH1 0x05
000020ed: SLOAD
000020ee: SWAP2
000020ef: POP
000020f0: PUSH1 0x40
000020f2: MLOAD
000020f3: DUP1
000020f4: PUSH1 0x80
000020f6: ADD
000020f7: PUSH1 0x40
000020f9: MSTORE
000020fa: DUP1
000020fb: DUP7
000020fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002111: AND
00002112: DUP2
00002113: MSTORE
00002114: PUSH1 0x20
00002116: ADD
00002117: DUP6
00002118: DUP2
00002119: MSTORE
0000211a: PUSH1 0x20
0000211c: ADD
0000211d: DUP5
0000211e: DUP2
0000211f: MSTORE
00002120: PUSH1 0x20
00002122: ADD
00002123: PUSH1 0x00
00002125: ISZERO
00002126: ISZERO
00002127: DUP2
00002128: MSTORE
00002129: POP
0000212a: PUSH1 0x00
0000212c: DUP1
0000212d: DUP5
0000212e: DUP2
0000212f: MSTORE
00002130: PUSH1 0x20
00002132: ADD
00002133: SWAP1
00002134: DUP2
00002135: MSTORE
00002136: PUSH1 0x20
00002138: ADD
00002139: PUSH1 0x00
0000213b: KECCAK256
0000213c: PUSH1 0x00
0000213e: DUP3
0000213f: ADD
00002140: MLOAD
00002141: DUP2
00002142: PUSH1 0x00
00002144: ADD
00002145: PUSH1 0x00
00002147: PUSH2 0x0100
0000214a: EXP
0000214b: DUP2
0000214c: SLOAD
0000214d: DUP2
0000214e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002163: MUL
00002164: NOT
00002165: AND
00002166: SWAP1
00002167: DUP4
00002168: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000217d: AND
0000217e: MUL
0000217f: OR
00002180: SWAP1
00002181: SSTORE
00002182: POP
00002183: PUSH1 0x20
00002185: DUP3
00002186: ADD
00002187: MLOAD
00002188: DUP2
00002189: PUSH1 0x01
0000218b: ADD
0000218c: SSTORE
0000218d: PUSH1 0x40
0000218f: DUP3
00002190: ADD
00002191: MLOAD
00002192: DUP2
00002193: PUSH1 0x02
00002195: ADD
00002196: SWAP1
00002197: DUP1
00002198: MLOAD
00002199: SWAP1
0000219a: PUSH1 0x20
0000219c: ADD
0000219d: SWAP1
0000219e: PUSH2 0x21a8
000021a1: SWAP3
000021a2: SWAP2
000021a3: SWAP1
000021a4: PUSH2 0x223e
000021a7: JUMP
000021a8: JUMPDEST
000021a9: POP
000021aa: PUSH1 0x60
000021ac: DUP3
000021ad: ADD
000021ae: MLOAD
000021af: DUP2
000021b0: PUSH1 0x03
000021b2: ADD
000021b3: PUSH1 0x00
000021b5: PUSH2 0x0100
000021b8: EXP
000021b9: DUP2
000021ba: SLOAD
000021bb: DUP2
000021bc: PUSH1 0xff
000021be: MUL
000021bf: NOT
000021c0: AND
000021c1: SWAP1
000021c2: DUP4
000021c3: ISZERO
000021c4: ISZERO
000021c5: MUL
000021c6: OR
000021c7: SWAP1
000021c8: SSTORE
000021c9: POP
000021ca: SWAP1
000021cb: POP
000021cc: POP
000021cd: PUSH1 0x01
000021cf: PUSH1 0x05
000021d1: PUSH1 0x00
000021d3: DUP3
000021d4: DUP3
000021d5: SLOAD
000021d6: ADD
000021d7: SWAP3
000021d8: POP
000021d9: POP
000021da: DUP2
000021db: SWAP1
000021dc: SSTORE
000021dd: POP
000021de: DUP2
000021df: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
00002200: PUSH1 0x40
00002202: MLOAD
00002203: PUSH1 0x40
00002205: MLOAD
00002206: DUP1
00002207: SWAP2
00002208: SUB
00002209: SWAP1
0000220a: LOG2
0000220b: POP
0000220c: SWAP4
0000220d: SWAP3
0000220e: POP
0000220f: POP
00002210: POP
00002211: JUMP
00002212: JUMPDEST
00002213: DUP2
00002214: SLOAD
00002215: DUP2
00002216: DUP4
00002217: SSTORE
00002218: DUP2
00002219: DUP2
0000221a: GT
0000221b: ISZERO
0000221c: PUSH2 0x2239
0000221f: JUMPI
00002220: DUP2
00002221: DUP4
00002222: PUSH1 0x00
00002224: MSTORE
00002225: PUSH1 0x20
00002227: PUSH1 0x00
00002229: KECCAK256
0000222a: SWAP2
0000222b: DUP3
0000222c: ADD
0000222d: SWAP2
0000222e: ADD
0000222f: PUSH2 0x2238
00002232: SWAP2
00002233: SWAP1
00002234: PUSH2 0x22be
00002237: JUMP
00002238: JUMPDEST
00002239: JUMPDEST
0000223a: POP
0000223b: POP
0000223c: POP
0000223d: JUMP
0000223e: JUMPDEST
0000223f: DUP3
00002240: DUP1
00002241: SLOAD
00002242: PUSH1 0x01
00002244: DUP2
00002245: PUSH1 0x01
00002247: AND
00002248: ISZERO
00002249: PUSH2 0x0100
0000224c: MUL
0000224d: SUB
0000224e: AND
0000224f: PUSH1 0x02
00002251: SWAP1
00002252: DIV
00002253: SWAP1
00002254: PUSH1 0x00
00002256: MSTORE
00002257: PUSH1 0x20
00002259: PUSH1 0x00
0000225b: KECCAK256
0000225c: SWAP1
0000225d: PUSH1 0x1f
0000225f: ADD
00002260: PUSH1 0x20
00002262: SWAP1
00002263: DIV
00002264: DUP2
00002265: ADD
00002266: SWAP3
00002267: DUP3
00002268: PUSH1 0x1f
0000226a: LT
0000226b: PUSH2 0x227f
0000226e: JUMPI
0000226f: DUP1
00002270: MLOAD
00002271: PUSH1 0xff
00002273: NOT
00002274: AND
00002275: DUP4
00002276: DUP1
00002277: ADD
00002278: OR
00002279: DUP6
0000227a: SSTORE
0000227b: PUSH2 0x22ad
0000227e: JUMP
0000227f: JUMPDEST
00002280: DUP3
00002281: DUP1
00002282: ADD
00002283: PUSH1 0x01
00002285: ADD
00002286: DUP6
00002287: SSTORE
00002288: DUP3
00002289: ISZERO
0000228a: PUSH2 0x22ad
0000228d: JUMPI
0000228e: SWAP2
0000228f: DUP3
00002290: ADD
00002291: JUMPDEST
00002292: DUP3
00002293: DUP2
00002294: GT
00002295: ISZERO
00002296: PUSH2 0x22ac
00002299: JUMPI
0000229a: DUP3
0000229b: MLOAD
0000229c: DUP3
0000229d: SSTORE
0000229e: SWAP2
0000229f: PUSH1 0x20
000022a1: ADD
000022a2: SWAP2
000022a3: SWAP1
000022a4: PUSH1 0x01
000022a6: ADD
000022a7: SWAP1
000022a8: PUSH2 0x2291
000022ab: JUMP
000022ac: JUMPDEST
000022ad: JUMPDEST
000022ae: POP
000022af: SWAP1
000022b0: POP
000022b1: PUSH2 0x22ba
000022b4: SWAP2
000022b5: SWAP1
000022b6: PUSH2 0x22be
000022b9: JUMP
000022ba: JUMPDEST
000022bb: POP
000022bc: SWAP1
000022bd: JUMP
000022be: JUMPDEST
000022bf: PUSH2 0x22e0
000022c2: SWAP2
000022c3: SWAP1
000022c4: JUMPDEST
000022c5: DUP1
000022c6: DUP3
000022c7: GT
000022c8: ISZERO
000022c9: PUSH2 0x22dc
000022cc: JUMPI
000022cd: PUSH1 0x00
000022cf: DUP2
000022d0: PUSH1 0x00
000022d2: SWAP1
000022d3: SSTORE
000022d4: POP
000022d5: PUSH1 0x01
000022d7: ADD
000022d8: PUSH2 0x22c4
000022db: JUMP
000022dc: JUMPDEST
000022dd: POP
000022de: SWAP1
000022df: JUMP
000022e0: JUMPDEST
000022e1: SWAP1
000022e2: JUMP
000022e3: INVALID
000022e4: LOG1
000022e5: PUSH6 0x627a7a723058
000022ec: KECCAK256
000022ed: DUP14
000022ee: UNKNOWN(0xC8)
000022ef: PUSH0
000022f0: UNKNOWN(0xD6)
000022f1: UNKNOWN(0x2B)
000022f2: UNKNOWN(0x1F)
000022f3: CALLER
000022f4: UNKNOWN(0xC9)
000022f5: BLOCKHASH
000022f6: SWAP16
000022f7: MUL
000022f8: SWAP7
000022f9: UNKNOWN(0xAC)
000022fa: CALL
000022fb: UNKNOWN(0xC7)
000022fc: MSTORE
000022fd: GAS
000022fe: DUP8
000022ff: UNKNOWN(0x27)
00002300: UNKNOWN(0xD2)
00002301: DUP3
00002302: UNKNOWN(0xBA)
00002303: UNKNOWN(0xD7)
00002304: DIFFICULTY
00002305: UNKNOWN(0xB6)
00002306: CLZ
00002307: PUSH24

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x50d3a0b77d1a55cb0cd70949401f4416b392ffa8cbaa081ff1f65b9bfb8c5414
call_targets: 0x36eed1a4dd70f0731dd20ef76c32345185a8a042
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x50d3a0b77d1a55cb0cd70949401f4416b392ffa8cbaa081ff1f65b9bfb8c5414",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x36eed1a4dd70f0731dd20ef76c32345185a8a042"
    ],
    "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": "0xc01a8c84",
            "selector": "0xc01a8c84",
            "calldata_variants": [
                "0xc01a8c84",
                "0xc01a8c840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6427474",
            "selector": "0xc6427474",
            "calldata_variants": [
                "0xc6427474",
                "0xc64274740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd74f8edd",
            "selector": "0xd74f8edd",
            "calldata_variants": [
                "0xd74f8edd",
                "0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc8452cd",
            "selector": "0xdc8452cd",
            "calldata_variants": [
                "0xdc8452cd",
                "0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe20056e6",
            "selector": "0xe20056e6",
            "calldata_variants": [
                "0xe20056e6",
                "0xe20056e60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee22610b",
            "selector": "0xee22610b",
            "calldata_variants": [
                "0xee22610b",
                "0xee22610b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0e67e2b",
            "selector": "0xa0e67e2b",
            "calldata_variants": [
                "0xa0e67e2b",
                "0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8abe69a",
            "selector": "0xa8abe69a",
            "calldata_variants": [
                "0xa8abe69a",
                "0xa8abe69a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 8167,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8954,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 2651,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3948,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6214,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6931,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x50d3a0b77d1a55cb0cd70949401f4416b392ffa8cbaa081ff1f65b9bfb8c5414
call_targets: 0x36eed1a4dd70f0731dd20ef76c32345185a8a042
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x50d3a0b77d1a55cb0cd70949401f4416b392ffa8cbaa081ff1f65b9bfb8c5414",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x36eed1a4dd70f0731dd20ef76c32345185a8a042"
    ],
    "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": "0xc01a8c84",
            "selector": "0xc01a8c84",
            "calldata_variants": [
                "0xc01a8c84",
                "0xc01a8c840000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc6427474",
            "selector": "0xc6427474",
            "calldata_variants": [
                "0xc6427474",
                "0xc64274740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd74f8edd",
            "selector": "0xd74f8edd",
            "calldata_variants": [
                "0xd74f8edd",
                "0xd74f8edd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc8452cd",
            "selector": "0xdc8452cd",
            "calldata_variants": [
                "0xdc8452cd",
                "0xdc8452cd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe20056e6",
            "selector": "0xe20056e6",
            "calldata_variants": [
                "0xe20056e6",
                "0xe20056e60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee22610b",
            "selector": "0xee22610b",
            "calldata_variants": [
                "0xee22610b",
                "0xee22610b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0e67e2b",
            "selector": "0xa0e67e2b",
            "calldata_variants": [
                "0xa0e67e2b",
                "0xa0e67e2b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa8abe69a",
            "selector": "0xa8abe69a",
            "calldata_variants": [
                "0xa8abe69a",
                "0xa8abe69a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 8167,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 8954,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 2651,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3948,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6214,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6931,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}