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

Analysis Run

132bacb7-f8ab-49d7-84fe-538eee920e62

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 7:18 AM
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
SELFDESTRUCT present
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
31599 report.consolidate complete 1 / 1 3 months ago
111392 artifact.fetch complete 1 / 3 1 week ago
111393 tool.cast_disasm complete 1 / 3 1 week ago
111394 analysis.bundle complete 1 / 3 1 week ago
111395 capability.graph complete 1 / 3 1 week ago
111396 detector.run complete 1 / 3 1 week ago
111397 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value‑extraction path is identifiable from the provided runtime bytecode; the only external value‑transferring CALL is gated by owner confirmations (standard multisig pattern), and no delegatecall/selfdestruct or unprotected admin state changes are visible in executable code.
View stderr
[codex:236767] OpenAI Codex v0.77.0 (research preview)
[codex:236767] --------
[codex:236767] workdir: /tmp/codex-multi-y6el2phv
[codex:236767] model: gpt-5.2-codex
[codex:236767] provider: openai
[codex:236767] approval: never
[codex:236767] sandbox: read-only
[codex:236767] reasoning effort: xhigh
[codex:236767] reasoning summaries: auto
[codex:236767] session id: 019b87da-84cf-7b20-a7b7-c8768bbbd6a3
[codex:236767] --------
[codex:236767] user
[codex:236767] 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:236767] 
[codex:236767] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:236767] 
[codex:236767] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:236767] - Gas inefficiency, code quality, or best practices
[codex:236767] - Theoretical vulnerabilities without a clear extraction path
[codex:236767] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:236767] - Issues requiring social engineering or off-chain coordination
[codex:236767] 
[codex:236767] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:236767] - CALL/DELEGATECALL with controllable destination or calldata
[codex:236767] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:236767] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:236767] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:236767] - External calls before state updates (reentrancy)
[codex:236767] - SELFDESTRUCT with controllable beneficiary
[codex:236767] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:236767] 
[codex:236767] For each finding, you MUST explain:
[codex:236767] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:236767] 2. The concrete sequence of transactions to extract value
[codex:236767] 3. Why you believe this is exploitable (not just suspicious)
[codex:236767] 
[codex:236767] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:236767] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:236767] 
[codex:236767] Output MUST be valid JSON matching the provided schema.
[codex:236767] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:236767] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:236767] mcp startup: no servers
[codex:236767] 
[codex:236767] thinking
[codex:236767] **Reading bytecode bundle file**
[codex:236767] exec
[codex:236767] /bin/bash -lc ls in /tmp/codex-multi-y6el2phv succeeded in 5ms:
[codex:236767] BYTECODE_BUNDLE.txt
[codex:236767] codex-output-schema.json
[codex:236767] exec
[codex:236767] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-y6el2phv succeeded in 5ms:
[codex:236767] Runtime bytecode bundle for best-effort auditing.
[codex:236767] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:236767] 
[codex:236767] FILE: runtime_bytecode.hex
[codex:236767] 0x60606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063025e7c2714610177578063173825d9146101da57806320ea8d86146102135780632f54bf6e146102365780633411c81c1461028757806354741525146102e15780637065cb4814610325578063784547a71461035e5780638b51d13f146103995780639ace38c2146103d0578063a0e67e2b146104ce578063a8abe69a14610538578063b5dc40c3146105cf578063b77bf60014610647578063ba51a6df14610670578063c01a8c8414610693578063c6427474146106b6578063d74f8edd1461074f578063dc8452cd14610778578063e20056e6146107a1578063ee22610b146107f9575b6000341115610175573373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a25b005b341561018257600080fd5b610198600480803590602001909190505061081c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101e557600080fd5b610211600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061085b565b005b341561021e57600080fd5b6102346004808035906020019091905050610af7565b005b341561024157600080fd5b61026d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c9d565b604051808215151515815260200191505060405180910390f35b341561029257600080fd5b6102c7600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cbd565b604051808215151515815260200191505060405180910390f35b34156102ec57600080fd5b61030f600480803515159060200190919080351515906020019091905050610cec565b6040518082815260200191505060405180910390f35b341561033057600080fd5b61035c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d7e565b005b341561036957600080fd5b61037f6004808035906020019091905050610f74565b604051808215151515815260200191505060405180910390f35b34156103a457600080fd5b6103ba600480803590602001909190505061105a565b6040518082815260200191505060405180910390f35b34156103db57600080fd5b6103f16004808035906020019091905050611126565b604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200180602001831515151581526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156104bc5780601f10610491576101008083540402835291602001916104bc565b820191906000526020600020905b81548152906001019060200180831161049f57829003601f168201915b50509550505050505060405180910390f35b34156104d957600080fd5b6104e1611182565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610524578082015181840152602081019050610509565b505050509050019250505060405180910390f35b341561054357600080fd5b610578600480803590602001909190803590602001909190803515159060200190919080351515906020019091905050611216565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156105bb5780820151818401526020810190506105a0565b505050509050019250505060405180910390f35b34156105da57600080fd5b6105f06004808035906020019091905050611372565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610633578082015181840152602081019050610618565b505050509050019250505060405180910390f35b341561065257600080fd5b61065a61159c565b6040518082815260200191505060405180910390f35b341561067b57600080fd5b61069160048080359060200190919050506115a2565b005b341561069e57600080fd5b6106b46004808035906020019091905050611654565b005b34156106c157600080fd5b610739600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061182d565b6040518082815260200191505060405180910390f35b341561075a57600080fd5b61076261184c565b6040518082815260200191505060405180910390f35b341561078357600080fd5b61078b611851565b6040518082815260200191505060405180910390f35b34156107ac57600080fd5b6107f7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611857565b005b341561080457600080fd5b61081a6004808035906020019091905050611b6c565b005b60038181548110151561082b57fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089757600080fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156108f057600080fd5b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600091505b600160038054905003821015610a78578273ffffffffffffffffffffffffffffffffffffffff1660038381548110151561098357fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610a6b5760036001600380549050038154811015156109e257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600383815481101515610a1d57fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a78565b818060010192505061094d565b6001600381818054905003915081610a909190611e76565b506003805490506004541115610aaf57610aae6003805490506115a2565b5b8273ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a2505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610b5057600080fd5b81336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610bbb57600080fd5b8360008082815260200190815260200160002060030160009054906101000a900460ff1615610be957600080fd5b60006001600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e960405160405180910390a35050505050565b60026020528060005260406000206000915054906101000a900460ff1681565b60016020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600090505b600554811015610d7757838015610d2b575060008082815260200190815260200160002060030160009054906101000a900460ff16155b80610d5e5750828015610d5d575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b15610d6a576001820191505b8080600101915050610cf4565b5092915050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610db857600080fd5b80600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610e1057600080fd5b8160008173ffffffffffffffffffffffffffffffffffffffff161415610e3557600080fd5b6001600380549050016004546032821180610e4f57508181115b80610e5a5750600081145b80610e655750600082145b15610e6f57600080fd5b6001600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038054806001018281610edb9190611ea2565b9160005260206000209001600087909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508473ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b6000806000809150600090505b60038054905081101561105257600160008581526020019081526020016000206000600383815481101515610fb257fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611032576001820191505b6004548214156110455760019250611053565b8080600101915050610f81565b5b5050919050565b600080600090505b6003805490508110156111205760016000848152602001908152602001600020600060038381548110151561109357fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611113576001820191505b8080600101915050611062565b50919050565b60006020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600101549080600201908060030160009054906101000a900460ff16905084565b61118a611ece565b600380548060200260200160405190810160405280929190818152602001828054801561120c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116111c2575b5050505050905090565b61121e611ee2565b611226611ee2565b6000806005546040518059106112395750595b9080825280602002602001820160405250925060009150600090505b6005548110156112f55785801561128c575060008082815260200190815260200160002060030160009054906101000a900460ff16155b806112bf57508480156112be575060008082815260200190815260200160002060030160009054906101000a900460ff165b5b156112e8578083838151811015156112d357fe5b90602001906020020181815250506001820191505b8080600101915050611255565b8787036040518059106113055750595b908082528060200260200182016040525093508790505b8681101561136757828181518110151561133257fe5b906020019060200201518489830381518110151561134c57fe5b9060200190602002018181525050808060010191505061131c565b505050949350505050565b61137a611ece565b611382611ece565b6000806003805490506040518059106113985750595b9080825280602002602001820160405250925060009150600090505b6003805490508110156114f7576001600086815260200190815260200160002060006003838154811015156113e557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114ea5760038181548110151561146d57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683838151811015156114a757fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001820191505b80806001019150506113b4565b816040518059106115055750595b90808252806020026020018201604052509350600090505b8181101561159457828181518110151561153357fe5b90602001906020020151848281518110151561154b57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050808060010191505061151d565b505050919050565b60055481565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115dc57600080fd5b6003805490508160328211806115f157508181115b806115fc5750600081145b806116075750600082145b1561161157600080fd5b826004819055507fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a836040518082815260200191505060405180910390a1505050565b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156116ad57600080fd5b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561170757600080fd5b82336001600083815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561177157600080fd5b600180600087815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550843373ffffffffffffffffffffffffffffffffffffffff167f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef60405160405180910390a361182685611b6c565b5050505050565b600061183a848484611d26565b905061184581611654565b9392505050565b603281565b60045481565b60003073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189357600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156118ec57600080fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561194457600080fd5b600092505b600380549050831015611a2f578473ffffffffffffffffffffffffffffffffffffffff1660038481548110151561197c57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a2257836003848154811015156119d457fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611a2f565b8280600101935050611949565b6000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508473ffffffffffffffffffffffffffffffffffffffff167f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b9060405160405180910390a28373ffffffffffffffffffffffffffffffffffffffff167ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d60405160405180910390a25050505050565b60008160008082815260200190815260200160002060030160009054906101000a900460ff1615611b9c57600080fd5b611ba583610f74565b15611d2157600080848152602001908152602001600020915060018260030160006101000a81548160ff0219169083151502179055508160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260010154836002016040518082805460018160011615610100020316600290048015611c845780601f10611c5957610100808354040283529160200191611c84565b820191906000526020600020905b815481529060010190602001808311611c6757829003601f168201915b505091505060006040518083038185876187965a03f19250505015611cd557827f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed7560405160405180910390a2611d20565b827f526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b7923660405160405180910390a260008260030160006101000a81548160ff0219169083151502179055505b5b505050565b60008360008173ffffffffffffffffffffffffffffffffffffffff161415611d4d57600080fd5b60055491506080604051908101604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020016000151581525060008084815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101556040820151816002019080519060200190611e0c929190611ef6565b5060608201518160030160006101000a81548160ff0219169083151502179055509050506001600560008282540192505081905550817fc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e5160405160405180910390a2509392505050565b815481835581811511611e9d57818360005260206000209182019101611e9c9190611f76565b5b505050565b815481835581811511611ec957818360005260206000209182019101611ec89190611f76565b5b505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f3757805160ff1916838001178555611f65565b82800160010185558215611f65579182015b82811115611f64578251825591602001919060010190611f49565b5b509050611f729190611f76565b5090565b611f9891905b80821115611f94576000816000905550600101611f7c565b5090565b905600a165627a7a72305820c39dff292e6f921468feac465f325a0653a5bd85854757aa876a27bdaedc6b0b0029
[codex:236767] Reconnecting... 1/5
[codex:236767] 
[codex:236767] 
[codex:236767] 
[codex:236767] thinking
[codex:236767] **Examining bytecode for vulnerabilities**
[codex:236767] thinking
[codex:236767] **Assessing confirmation and access controls**
[codex:236767] 
[codex:236767] I’m carefully reviewing how confirmation counting and access restrictions work in the contract, focusing on functions like `isConfirmed` and `confirmTransaction`. I’m comparing bytecode patterns to known MultiSigWallet logic to verify if owners and required confirmations are correctly enforced and double-checking the management function guards to see if any loopholes might allow unauthorized control or profit extraction.
[codex:236767] thinking
[codex:236767] **Confirming standard multisig function mapping**
[codex:236767] 
[codex:236767] I’m aligning function selectors with known MultiSigWallet methods, verifying management functions have proper onlyWallet or onlyOwner guards, and preparing to produce the final JSON report indicating no exploit paths since the contract matches a well-known, audited multisig pattern.
[codex:236767] exec
[codex:236767] /bin/bash -lc "python - <<'PY'
[codex:236767] import re
[codex:236767] from pathlib import Path
[codex:236767] hexdata = Path('/tmp/codex-multi-y6el2phv/BYTECODE_BUNDLE.txt').read_text()
[codex:236767] # extract first 0x... sequence
[codex:236767] m = re.search(r'0x[0-9a-fA-F]+', hexdata)
[codex:236767] if not m:
[codex:236767]     print('no hex')
[codex:236767]     raise SystemExit
[codex:236767] h = m.group(0)[2:]
[codex:236767] # strip metadata? we'll just parse full
[codex:236767] code = bytes.fromhex(h)
[codex:236767] # opcode names for relevant ones
[codex:236767] ops = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT'}
[codex:236767] # general opcodes for pushes
[codex:236767] out = []
[codex:236767] pcs = []
[codex:236767] pc=0
[codex:236767] while pc < len(code):
[codex:236767]     op = code[pc]
[codex:236767]     if op in ops:
[codex:236767]         out.append((pc, ops[op]))
[codex:236767]     if 0x60 <= op <= 0x7f:
[codex:236767]         pushlen = op - 0x5f
[codex:236767]         pc += 1 + pushlen
[codex:236767]         continue
[codex:236767]     pc += 1
[codex:236767] 
[codex:236767] print('found', len(out), 'call-like ops')
[codex:236767] for pc, name in out:
[codex:236767]     print(hex(pc), name)
[codex:236767] PY" in /tmp/codex-multi-y6el2phv succeeded in 32ms:
[codex:236767] found 2 call-like ops
[codex:236767] 0x1c9a CALL
[codex:236767] 0x1fa7 SELFDESTRUCT
[codex:236767] 
[codex:236767] thinking
[codex:236767] **Investigating SELFDESTRUCT in metadata**
[codex:236767] exec
[codex:236767] /bin/bash -lc "python - <<'PY'
[codex:236767] import re
[codex:236767] from pathlib import Path
[codex:236767] hexdata = Path('/tmp/codex-multi-y6el2phv/BYTECODE_BUNDLE.txt').read_text()
[codex:236767] m = re.search(r'0x[0-9a-fA-F]+', hexdata)
[codex:236767] h = m.group(0)[2:]
[codex:236767] code = bytes.fromhex(h)
[codex:236767] meta_sig = bytes.fromhex('a165627a7a72305820')
[codex:236767] meta_idx = code.find(meta_sig)
[codex:236767] print('metadata start', meta_idx, 'len', len(code))
[codex:236767] # disassemble and track call-like ops before metadata
[codex:236767] ops = {0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT'}
[codex:236767] pc=0
[codex:236767] found=[]
[codex:236767] limit = meta_idx if meta_idx"'!=-1 else len(code)
[codex:236767] while pc < limit:
[codex:236767]     op = code[pc]
[codex:236767]     if op in ops:
[codex:236767]         found.append((pc, ops[op]))
[codex:236767]     if 0x60 <= op <= 0x7f:
[codex:236767]         pc += 1 + (op-0x5f)
[codex:236767]         continue
[codex:236767]     pc += 1
[codex:236767] print('"'call-like ops before metadata:', found)
[codex:236767] PY" in /tmp/codex-multi-y6el2phv succeeded in 35ms:
[codex:236767] metadata start 8092 len 8135
[codex:236767] call-like ops before metadata: [(7322, 'CALL')]
[codex:236767] 
[codex:236767] thinking
[codex:236767] **Confirming no exploit paths**
[codex:236767] codex
[codex:236767] {"no_findings":true,"summary":"No concrete, exploitable value‑extraction path is identifiable from the provided runtime bytecode; the only external value‑transferring CALL is gated by owner confirmations (standard multisig pattern), and no delegatecall/selfdestruct or unprotected admin state changes are visible in executable code.","findings":[]}
[codex:236767] tokens used
[codex:236767] 39,333
[codex:236767] {"no_findings":true,"summary":"No concrete, exploitable value‑extraction path is identifiable from the provided runtime bytecode; the only external value‑transferring CALL is gated by owner confirmations (standard multisig pattern), and no delegatecall/selfdestruct or unprotected admin state changes are visible in executable code.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-04T07:18:39.819631+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable value\u2011extraction path is identifiable from the provided runtime bytecode; the only external value\u2011transferring CALL is gated by owner confirmations (standard multisig pattern), and no delegatecall/selfdestruct or unprotected admin state changes are visible in executable code.",
    "raw_final": {
        "summary": "No concrete, exploitable value\u2011extraction path is identifiable from the provided runtime bytecode; the only external value\u2011transferring CALL is gated by owner confirmations (standard multisig pattern), and no delegatecall/selfdestruct or unprotected admin state changes are visible in executable code.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
1
EXT*/BALANCE
0
Total opcodes
4517
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x60
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x011d
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x025e7c27
0000003c: EQ
0000003d: PUSH2 0x0177
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x173825d9
00000047: EQ
00000048: PUSH2 0x01da
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x20ea8d86
00000052: EQ
00000053: PUSH2 0x0213
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x2f54bf6e
0000005d: EQ
0000005e: PUSH2 0x0236
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x3411c81c
00000068: EQ
00000069: PUSH2 0x0287
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x54741525
00000073: EQ
00000074: PUSH2 0x02e1
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x7065cb48
0000007e: EQ
0000007f: PUSH2 0x0325
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x784547a7
00000089: EQ
0000008a: PUSH2 0x035e
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x8b51d13f
00000094: EQ
00000095: PUSH2 0x0399
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x9ace38c2
0000009f: EQ
000000a0: PUSH2 0x03d0
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0xa0e67e2b
000000aa: EQ
000000ab: PUSH2 0x04ce
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0xa8abe69a
000000b5: EQ
000000b6: PUSH2 0x0538
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0xb5dc40c3
000000c0: EQ
000000c1: PUSH2 0x05cf
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0xb77bf600
000000cb: EQ
000000cc: PUSH2 0x0647
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0xba51a6df
000000d6: EQ
000000d7: PUSH2 0x0670
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0xc01a8c84
000000e1: EQ
000000e2: PUSH2 0x0693
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0xc6427474
000000ec: EQ
000000ed: PUSH2 0x06b6
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0xd74f8edd
000000f7: EQ
000000f8: PUSH2 0x074f
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xdc8452cd
00000102: EQ
00000103: PUSH2 0x0778
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xe20056e6
0000010d: EQ
0000010e: PUSH2 0x07a1
00000111: JUMPI
00000112: DUP1
00000113: PUSH4 0xee22610b
00000118: EQ
00000119: PUSH2 0x07f9
0000011c: JUMPI
0000011d: JUMPDEST
0000011e: PUSH1 0x00
00000120: CALLVALUE
00000121: GT
00000122: ISZERO
00000123: PUSH2 0x0175
00000126: JUMPI
00000127: CALLER
00000128: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000013d: AND
0000013e: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
0000015f: CALLVALUE
00000160: PUSH1 0x40
00000162: MLOAD
00000163: DUP1
00000164: DUP3
00000165: DUP2
00000166: MSTORE
00000167: PUSH1 0x20
00000169: ADD
0000016a: SWAP2
0000016b: POP
0000016c: POP
0000016d: PUSH1 0x40
0000016f: MLOAD
00000170: DUP1
00000171: SWAP2
00000172: SUB
00000173: SWAP1
00000174: LOG2
00000175: JUMPDEST
00000176: STOP
00000177: JUMPDEST
00000178: CALLVALUE
00000179: ISZERO
0000017a: PUSH2 0x0182
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: PUSH2 0x0198
00000186: PUSH1 0x04
00000188: DUP1
00000189: DUP1
0000018a: CALLDATALOAD
0000018b: SWAP1
0000018c: PUSH1 0x20
0000018e: ADD
0000018f: SWAP1
00000190: SWAP2
00000191: SWAP1
00000192: POP
00000193: POP
00000194: PUSH2 0x081c
00000197: JUMP
00000198: JUMPDEST
00000199: PUSH1 0x40
0000019b: MLOAD
0000019c: DUP1
0000019d: DUP3
0000019e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001b3: AND
000001b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001c9: AND
000001ca: DUP2
000001cb: MSTORE
000001cc: PUSH1 0x20
000001ce: ADD
000001cf: SWAP2
000001d0: POP
000001d1: POP
000001d2: PUSH1 0x40
000001d4: MLOAD
000001d5: DUP1
000001d6: SWAP2
000001d7: SUB
000001d8: SWAP1
000001d9: RETURN
000001da: JUMPDEST
000001db: CALLVALUE
000001dc: ISZERO
000001dd: PUSH2 0x01e5
000001e0: JUMPI
000001e1: PUSH1 0x00
000001e3: DUP1
000001e4: REVERT
000001e5: JUMPDEST
000001e6: PUSH2 0x0211
000001e9: PUSH1 0x04
000001eb: DUP1
000001ec: DUP1
000001ed: CALLDATALOAD
000001ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000203: AND
00000204: SWAP1
00000205: PUSH1 0x20
00000207: ADD
00000208: SWAP1
00000209: SWAP2
0000020a: SWAP1
0000020b: POP
0000020c: POP
0000020d: PUSH2 0x085b
00000210: JUMP
00000211: JUMPDEST
00000212: STOP
00000213: JUMPDEST
00000214: CALLVALUE
00000215: ISZERO
00000216: PUSH2 0x021e
00000219: JUMPI
0000021a: PUSH1 0x00
0000021c: DUP1
0000021d: REVERT
0000021e: JUMPDEST
0000021f: PUSH2 0x0234
00000222: PUSH1 0x04
00000224: DUP1
00000225: DUP1
00000226: CALLDATALOAD
00000227: SWAP1
00000228: PUSH1 0x20
0000022a: ADD
0000022b: SWAP1
0000022c: SWAP2
0000022d: SWAP1
0000022e: POP
0000022f: POP
00000230: PUSH2 0x0af7
00000233: JUMP
00000234: JUMPDEST
00000235: STOP
00000236: JUMPDEST
00000237: CALLVALUE
00000238: ISZERO
00000239: PUSH2 0x0241
0000023c: JUMPI
0000023d: PUSH1 0x00
0000023f: DUP1
00000240: REVERT
00000241: JUMPDEST
00000242: PUSH2 0x026d
00000245: PUSH1 0x04
00000247: DUP1
00000248: DUP1
00000249: CALLDATALOAD
0000024a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000025f: AND
00000260: SWAP1
00000261: PUSH1 0x20
00000263: ADD
00000264: SWAP1
00000265: SWAP2
00000266: SWAP1
00000267: POP
00000268: POP
00000269: PUSH2 0x0c9d
0000026c: JUMP
0000026d: JUMPDEST
0000026e: PUSH1 0x40
00000270: MLOAD
00000271: DUP1
00000272: DUP3
00000273: ISZERO
00000274: ISZERO
00000275: ISZERO
00000276: ISZERO
00000277: DUP2
00000278: MSTORE
00000279: PUSH1 0x20
0000027b: ADD
0000027c: SWAP2
0000027d: POP
0000027e: POP
0000027f: PUSH1 0x40
00000281: MLOAD
00000282: DUP1
00000283: SWAP2
00000284: SUB
00000285: SWAP1
00000286: RETURN
00000287: JUMPDEST
00000288: CALLVALUE
00000289: ISZERO
0000028a: PUSH2 0x0292
0000028d: JUMPI
0000028e: PUSH1 0x00
00000290: DUP1
00000291: REVERT
00000292: JUMPDEST
00000293: PUSH2 0x02c7
00000296: PUSH1 0x04
00000298: DUP1
00000299: DUP1
0000029a: CALLDATALOAD
0000029b: SWAP1
0000029c: PUSH1 0x20
0000029e: ADD
0000029f: SWAP1
000002a0: SWAP2
000002a1: SWAP1
000002a2: DUP1
000002a3: CALLDATALOAD
000002a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002b9: AND
000002ba: SWAP1
000002bb: PUSH1 0x20
000002bd: ADD
000002be: SWAP1
000002bf: SWAP2
000002c0: SWAP1
000002c1: POP
000002c2: POP
000002c3: PUSH2 0x0cbd
000002c6: JUMP
000002c7: JUMPDEST
000002c8: PUSH1 0x40
000002ca: MLOAD
000002cb: DUP1
000002cc: DUP3
000002cd: ISZERO
000002ce: ISZERO
000002cf: ISZERO
000002d0: ISZERO
000002d1: DUP2
000002d2: MSTORE
000002d3: PUSH1 0x20
000002d5: ADD
000002d6: SWAP2
000002d7: POP
000002d8: POP
000002d9: PUSH1 0x40
000002db: MLOAD
000002dc: DUP1
000002dd: SWAP2
000002de: SUB
000002df: SWAP1
000002e0: RETURN
000002e1: JUMPDEST
000002e2: CALLVALUE
000002e3: ISZERO
000002e4: PUSH2 0x02ec
000002e7: JUMPI
000002e8: PUSH1 0x00
000002ea: DUP1
000002eb: REVERT
000002ec: JUMPDEST
000002ed: PUSH2 0x030f
000002f0: PUSH1 0x04
000002f2: DUP1
000002f3: DUP1
000002f4: CALLDATALOAD
000002f5: ISZERO
000002f6: ISZERO
000002f7: SWAP1
000002f8: PUSH1 0x20
000002fa: ADD
000002fb: SWAP1
000002fc: SWAP2
000002fd: SWAP1
000002fe: DUP1
000002ff: CALLDATALOAD
00000300: ISZERO
00000301: ISZERO
00000302: SWAP1
00000303: PUSH1 0x20
00000305: ADD
00000306: SWAP1
00000307: SWAP2
00000308: SWAP1
00000309: POP
0000030a: POP
0000030b: PUSH2 0x0cec
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH1 0x40
00000312: MLOAD
00000313: DUP1
00000314: DUP3
00000315: DUP2
00000316: MSTORE
00000317: PUSH1 0x20
00000319: ADD
0000031a: SWAP2
0000031b: POP
0000031c: POP
0000031d: PUSH1 0x40
0000031f: MLOAD
00000320: DUP1
00000321: SWAP2
00000322: SUB
00000323: SWAP1
00000324: RETURN
00000325: JUMPDEST
00000326: CALLVALUE
00000327: ISZERO
00000328: PUSH2 0x0330
0000032b: JUMPI
0000032c: PUSH1 0x00
0000032e: DUP1
0000032f: REVERT
00000330: JUMPDEST
00000331: PUSH2 0x035c
00000334: PUSH1 0x04
00000336: DUP1
00000337: DUP1
00000338: CALLDATALOAD
00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034e: AND
0000034f: SWAP1
00000350: PUSH1 0x20
00000352: ADD
00000353: SWAP1
00000354: SWAP2
00000355: SWAP1
00000356: POP
00000357: POP
00000358: PUSH2 0x0d7e
0000035b: JUMP
0000035c: JUMPDEST
0000035d: STOP
0000035e: JUMPDEST
0000035f: CALLVALUE
00000360: ISZERO
00000361: PUSH2 0x0369
00000364: JUMPI
00000365: PUSH1 0x00
00000367: DUP1
00000368: REVERT
00000369: JUMPDEST
0000036a: PUSH2 0x037f
0000036d: PUSH1 0x04
0000036f: DUP1
00000370: DUP1
00000371: CALLDATALOAD
00000372: SWAP1
00000373: PUSH1 0x20
00000375: ADD
00000376: SWAP1
00000377: SWAP2
00000378: SWAP1
00000379: POP
0000037a: POP
0000037b: PUSH2 0x0f74
0000037e: JUMP
0000037f: JUMPDEST
00000380: PUSH1 0x40
00000382: MLOAD
00000383: DUP1
00000384: DUP3
00000385: ISZERO
00000386: ISZERO
00000387: ISZERO
00000388: ISZERO
00000389: DUP2
0000038a: MSTORE
0000038b: PUSH1 0x20
0000038d: ADD
0000038e: SWAP2
0000038f: POP
00000390: POP
00000391: PUSH1 0x40
00000393: MLOAD
00000394: DUP1
00000395: SWAP2
00000396: SUB
00000397: SWAP1
00000398: RETURN
00000399: JUMPDEST
0000039a: CALLVALUE
0000039b: ISZERO
0000039c: PUSH2 0x03a4
0000039f: JUMPI
000003a0: PUSH1 0x00
000003a2: DUP1
000003a3: REVERT
000003a4: JUMPDEST
000003a5: PUSH2 0x03ba
000003a8: PUSH1 0x04
000003aa: DUP1
000003ab: DUP1
000003ac: CALLDATALOAD
000003ad: SWAP1
000003ae: PUSH1 0x20
000003b0: ADD
000003b1: SWAP1
000003b2: SWAP2
000003b3: SWAP1
000003b4: POP
000003b5: POP
000003b6: PUSH2 0x105a
000003b9: JUMP
000003ba: JUMPDEST
000003bb: PUSH1 0x40
000003bd: MLOAD
000003be: DUP1
000003bf: DUP3
000003c0: DUP2
000003c1: MSTORE
000003c2: PUSH1 0x20
000003c4: ADD
000003c5: SWAP2
000003c6: POP
000003c7: POP
000003c8: PUSH1 0x40
000003ca: MLOAD
000003cb: DUP1
000003cc: SWAP2
000003cd: SUB
000003ce: SWAP1
000003cf: RETURN
000003d0: JUMPDEST
000003d1: CALLVALUE
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: PUSH2 0x03f1
000003df: PUSH1 0x04
000003e1: DUP1
000003e2: DUP1
000003e3: CALLDATALOAD
000003e4: SWAP1
000003e5: PUSH1 0x20
000003e7: ADD
000003e8: SWAP1
000003e9: SWAP2
000003ea: SWAP1
000003eb: POP
000003ec: POP
000003ed: PUSH2 0x1126
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH1 0x40
000003f4: MLOAD
000003f5: DUP1
000003f6: DUP6
000003f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000040c: AND
0000040d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000422: AND
00000423: DUP2
00000424: MSTORE
00000425: PUSH1 0x20
00000427: ADD
00000428: DUP5
00000429: DUP2
0000042a: MSTORE
0000042b: PUSH1 0x20
0000042d: ADD
0000042e: DUP1
0000042f: PUSH1 0x20
00000431: ADD
00000432: DUP4
00000433: ISZERO
00000434: ISZERO
00000435: ISZERO
00000436: ISZERO
00000437: DUP2
00000438: MSTORE
00000439: PUSH1 0x20
0000043b: ADD
0000043c: DUP3
0000043d: DUP2
0000043e: SUB
0000043f: DUP3
00000440: MSTORE
00000441: DUP5
00000442: DUP2
00000443: DUP2
00000444: SLOAD
00000445: PUSH1 0x01
00000447: DUP2
00000448: PUSH1 0x01
0000044a: AND
0000044b: ISZERO
0000044c: PUSH2 0x0100
0000044f: MUL
00000450: SUB
00000451: AND
00000452: PUSH1 0x02
00000454: SWAP1
00000455: DIV
00000456: DUP2
00000457: MSTORE
00000458: PUSH1 0x20
0000045a: ADD
0000045b: SWAP2
0000045c: POP
0000045d: DUP1
0000045e: SLOAD
0000045f: PUSH1 0x01
00000461: DUP2
00000462: PUSH1 0x01
00000464: AND
00000465: ISZERO
00000466: PUSH2 0x0100
00000469: MUL
0000046a: SUB
0000046b: AND
0000046c: PUSH1 0x02
0000046e: SWAP1
0000046f: DIV
00000470: DUP1
00000471: ISZERO
00000472: PUSH2 0x04bc
00000475: JUMPI
00000476: DUP1
00000477: PUSH1 0x1f
00000479: LT
0000047a: PUSH2 0x0491
0000047d: JUMPI
0000047e: PUSH2 0x0100
00000481: DUP1
00000482: DUP4
00000483: SLOAD
00000484: DIV
00000485: MUL
00000486: DUP4
00000487: MSTORE
00000488: SWAP2
00000489: PUSH1 0x20
0000048b: ADD
0000048c: SWAP2
0000048d: PUSH2 0x04bc
00000490: JUMP
00000491: JUMPDEST
00000492: DUP3
00000493: ADD
00000494: SWAP2
00000495: SWAP1
00000496: PUSH1 0x00
00000498: MSTORE
00000499: PUSH1 0x20
0000049b: PUSH1 0x00
0000049d: KECCAK256
0000049e: SWAP1
0000049f: JUMPDEST
000004a0: DUP2
000004a1: SLOAD
000004a2: DUP2
000004a3: MSTORE
000004a4: SWAP1
000004a5: PUSH1 0x01
000004a7: ADD
000004a8: SWAP1
000004a9: PUSH1 0x20
000004ab: ADD
000004ac: DUP1
000004ad: DUP4
000004ae: GT
000004af: PUSH2 0x049f
000004b2: JUMPI
000004b3: DUP3
000004b4: SWAP1
000004b5: SUB
000004b6: PUSH1 0x1f
000004b8: AND
000004b9: DUP3
000004ba: ADD
000004bb: SWAP2
000004bc: JUMPDEST
000004bd: POP
000004be: POP
000004bf: SWAP6
000004c0: POP
000004c1: POP
000004c2: POP
000004c3: POP
000004c4: POP
000004c5: POP
000004c6: PUSH1 0x40
000004c8: MLOAD
000004c9: DUP1
000004ca: SWAP2
000004cb: SUB
000004cc: SWAP1
000004cd: RETURN
000004ce: JUMPDEST
000004cf: CALLVALUE
000004d0: ISZERO
000004d1: PUSH2 0x04d9
000004d4: JUMPI
000004d5: PUSH1 0x00
000004d7: DUP1
000004d8: REVERT
000004d9: JUMPDEST
000004da: PUSH2 0x04e1
000004dd: PUSH2 0x1182
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH1 0x40
000004e4: MLOAD
000004e5: DUP1
000004e6: DUP1
000004e7: PUSH1 0x20
000004e9: ADD
000004ea: DUP3
000004eb: DUP2
000004ec: SUB
000004ed: DUP3
000004ee: MSTORE
000004ef: DUP4
000004f0: DUP2
000004f1: DUP2
000004f2: MLOAD
000004f3: DUP2
000004f4: MSTORE
000004f5: PUSH1 0x20
000004f7: ADD
000004f8: SWAP2
000004f9: POP
000004fa: DUP1
000004fb: MLOAD
000004fc: SWAP1
000004fd: PUSH1 0x20
000004ff: ADD
00000500: SWAP1
00000501: PUSH1 0x20
00000503: MUL
00000504: DUP1
00000505: DUP4
00000506: DUP4
00000507: PUSH1 0x00
00000509: JUMPDEST
0000050a: DUP4
0000050b: DUP2
0000050c: LT
0000050d: ISZERO
0000050e: PUSH2 0x0524
00000511: JUMPI
00000512: DUP1
00000513: DUP3
00000514: ADD
00000515: MLOAD
00000516: DUP2
00000517: DUP5
00000518: ADD
00000519: MSTORE
0000051a: PUSH1 0x20
0000051c: DUP2
0000051d: ADD
0000051e: SWAP1
0000051f: POP
00000520: PUSH2 0x0509
00000523: JUMP
00000524: JUMPDEST
00000525: POP
00000526: POP
00000527: POP
00000528: POP
00000529: SWAP1
0000052a: POP
0000052b: ADD
0000052c: SWAP3
0000052d: POP
0000052e: POP
0000052f: POP
00000530: PUSH1 0x40
00000532: MLOAD
00000533: DUP1
00000534: SWAP2
00000535: SUB
00000536: SWAP1
00000537: RETURN
00000538: JUMPDEST
00000539: CALLVALUE
0000053a: ISZERO
0000053b: PUSH2 0x0543
0000053e: JUMPI
0000053f: PUSH1 0x00
00000541: DUP1
00000542: REVERT
00000543: JUMPDEST
00000544: PUSH2 0x0578
00000547: PUSH1 0x04
00000549: DUP1
0000054a: DUP1
0000054b: CALLDATALOAD
0000054c: SWAP1
0000054d: PUSH1 0x20
0000054f: ADD
00000550: SWAP1
00000551: SWAP2
00000552: SWAP1
00000553: DUP1
00000554: CALLDATALOAD
00000555: SWAP1
00000556: PUSH1 0x20
00000558: ADD
00000559: SWAP1
0000055a: SWAP2
0000055b: SWAP1
0000055c: DUP1
0000055d: CALLDATALOAD
0000055e: ISZERO
0000055f: ISZERO
00000560: SWAP1
00000561: PUSH1 0x20
00000563: ADD
00000564: SWAP1
00000565: SWAP2
00000566: SWAP1
00000567: DUP1
00000568: CALLDATALOAD
00000569: ISZERO
0000056a: ISZERO
0000056b: SWAP1
0000056c: PUSH1 0x20
0000056e: ADD
0000056f: SWAP1
00000570: SWAP2
00000571: SWAP1
00000572: POP
00000573: POP
00000574: PUSH2 0x1216
00000577: JUMP
00000578: JUMPDEST
00000579: PUSH1 0x40
0000057b: MLOAD
0000057c: DUP1
0000057d: DUP1
0000057e: PUSH1 0x20
00000580: ADD
00000581: DUP3
00000582: DUP2
00000583: SUB
00000584: DUP3
00000585: MSTORE
00000586: DUP4
00000587: DUP2
00000588: DUP2
00000589: MLOAD
0000058a: DUP2
0000058b: MSTORE
0000058c: PUSH1 0x20
0000058e: ADD
0000058f: SWAP2
00000590: POP
00000591: DUP1
00000592: MLOAD
00000593: SWAP1
00000594: PUSH1 0x20
00000596: ADD
00000597: SWAP1
00000598: PUSH1 0x20
0000059a: MUL
0000059b: DUP1
0000059c: DUP4
0000059d: DUP4
0000059e: PUSH1 0x00
000005a0: JUMPDEST
000005a1: DUP4
000005a2: DUP2
000005a3: LT
000005a4: ISZERO
000005a5: PUSH2 0x05bb
000005a8: JUMPI
000005a9: DUP1
000005aa: DUP3
000005ab: ADD
000005ac: MLOAD
000005ad: DUP2
000005ae: DUP5
000005af: ADD
000005b0: MSTORE
000005b1: PUSH1 0x20
000005b3: DUP2
000005b4: ADD
000005b5: SWAP1
000005b6: POP
000005b7: PUSH2 0x05a0
000005ba: JUMP
000005bb: JUMPDEST
000005bc: POP
000005bd: POP
000005be: POP
000005bf: POP
000005c0: SWAP1
000005c1: POP
000005c2: ADD
000005c3: SWAP3
000005c4: POP
000005c5: POP
000005c6: POP
000005c7: PUSH1 0x40
000005c9: MLOAD
000005ca: DUP1
000005cb: SWAP2
000005cc: SUB
000005cd: SWAP1
000005ce: RETURN
000005cf: JUMPDEST
000005d0: CALLVALUE
000005d1: ISZERO
000005d2: PUSH2 0x05da
000005d5: JUMPI
000005d6: PUSH1 0x00
000005d8: DUP1
000005d9: REVERT
000005da: JUMPDEST
000005db: PUSH2 0x05f0
000005de: PUSH1 0x04
000005e0: DUP1
000005e1: DUP1
000005e2: CALLDATALOAD
000005e3: SWAP1
000005e4: PUSH1 0x20
000005e6: ADD
000005e7: SWAP1
000005e8: SWAP2
000005e9: SWAP1
000005ea: POP
000005eb: POP
000005ec: PUSH2 0x1372
000005ef: JUMP
000005f0: JUMPDEST
000005f1: PUSH1 0x40
000005f3: MLOAD
000005f4: DUP1
000005f5: DUP1
000005f6: PUSH1 0x20
000005f8: ADD
000005f9: DUP3
000005fa: DUP2
000005fb: SUB
000005fc: DUP3
000005fd: MSTORE
000005fe: DUP4
000005ff: DUP2
00000600: DUP2
00000601: MLOAD
00000602: DUP2
00000603: MSTORE
00000604: PUSH1 0x20
00000606: ADD
00000607: SWAP2
00000608: POP
00000609: DUP1
0000060a: MLOAD
0000060b: SWAP1
0000060c: PUSH1 0x20
0000060e: ADD
0000060f: SWAP1
00000610: PUSH1 0x20
00000612: MUL
00000613: DUP1
00000614: DUP4
00000615: DUP4
00000616: PUSH1 0x00
00000618: JUMPDEST
00000619: DUP4
0000061a: DUP2
0000061b: LT
0000061c: ISZERO
0000061d: PUSH2 0x0633
00000620: JUMPI
00000621: DUP1
00000622: DUP3
00000623: ADD
00000624: MLOAD
00000625: DUP2
00000626: DUP5
00000627: ADD
00000628: MSTORE
00000629: PUSH1 0x20
0000062b: DUP2
0000062c: ADD
0000062d: SWAP1
0000062e: POP
0000062f: PUSH2 0x0618
00000632: JUMP
00000633: JUMPDEST
00000634: POP
00000635: POP
00000636: POP
00000637: POP
00000638: SWAP1
00000639: POP
0000063a: ADD
0000063b: SWAP3
0000063c: POP
0000063d: POP
0000063e: POP
0000063f: PUSH1 0x40
00000641: MLOAD
00000642: DUP1
00000643: SWAP2
00000644: SUB
00000645: SWAP1
00000646: RETURN
00000647: JUMPDEST
00000648: CALLVALUE
00000649: ISZERO
0000064a: PUSH2 0x0652
0000064d: JUMPI
0000064e: PUSH1 0x00
00000650: DUP1
00000651: REVERT
00000652: JUMPDEST
00000653: PUSH2 0x065a
00000656: PUSH2 0x159c
00000659: JUMP
0000065a: JUMPDEST
0000065b: PUSH1 0x40
0000065d: MLOAD
0000065e: DUP1
0000065f: DUP3
00000660: DUP2
00000661: MSTORE
00000662: PUSH1 0x20
00000664: ADD
00000665: SWAP2
00000666: POP
00000667: POP
00000668: PUSH1 0x40
0000066a: MLOAD
0000066b: DUP1
0000066c: SWAP2
0000066d: SUB
0000066e: SWAP1
0000066f: RETURN
00000670: JUMPDEST
00000671: CALLVALUE
00000672: ISZERO
00000673: PUSH2 0x067b
00000676: JUMPI
00000677: PUSH1 0x00
00000679: DUP1
0000067a: REVERT
0000067b: JUMPDEST
0000067c: PUSH2 0x0691
0000067f: PUSH1 0x04
00000681: DUP1
00000682: DUP1
00000683: CALLDATALOAD
00000684: SWAP1
00000685: PUSH1 0x20
00000687: ADD
00000688: SWAP1
00000689: SWAP2
0000068a: SWAP1
0000068b: POP
0000068c: POP
0000068d: PUSH2 0x15a2
00000690: JUMP
00000691: JUMPDEST
00000692: STOP
00000693: JUMPDEST
00000694: CALLVALUE
00000695: ISZERO
00000696: PUSH2 0x069e
00000699: JUMPI
0000069a: PUSH1 0x00
0000069c: DUP1
0000069d: REVERT
0000069e: JUMPDEST
0000069f: PUSH2 0x06b4
000006a2: PUSH1 0x04
000006a4: DUP1
000006a5: DUP1
000006a6: CALLDATALOAD
000006a7: SWAP1
000006a8: PUSH1 0x20
000006aa: ADD
000006ab: SWAP1
000006ac: SWAP2
000006ad: SWAP1
000006ae: POP
000006af: POP
000006b0: PUSH2 0x1654
000006b3: JUMP
000006b4: JUMPDEST
000006b5: STOP
000006b6: JUMPDEST
000006b7: CALLVALUE
000006b8: ISZERO
000006b9: PUSH2 0x06c1
000006bc: JUMPI
000006bd: PUSH1 0x00
000006bf: DUP1
000006c0: REVERT
000006c1: JUMPDEST
000006c2: PUSH2 0x0739
000006c5: PUSH1 0x04
000006c7: DUP1
000006c8: DUP1
000006c9: CALLDATALOAD
000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006df: AND
000006e0: SWAP1
000006e1: PUSH1 0x20
000006e3: ADD
000006e4: SWAP1
000006e5: SWAP2
000006e6: SWAP1
000006e7: DUP1
000006e8: CALLDATALOAD
000006e9: SWAP1
000006ea: PUSH1 0x20
000006ec: ADD
000006ed: SWAP1
000006ee: SWAP2
000006ef: SWAP1
000006f0: DUP1
000006f1: CALLDATALOAD
000006f2: SWAP1
000006f3: PUSH1 0x20
000006f5: ADD
000006f6: SWAP1
000006f7: DUP3
000006f8: ADD
000006f9: DUP1
000006fa: CALLDATALOAD
000006fb: SWAP1
000006fc: PUSH1 0x20
000006fe: ADD
000006ff: SWAP1
00000700: DUP1
00000701: DUP1
00000702: PUSH1 0x1f
00000704: ADD
00000705: PUSH1 0x20
00000707: DUP1
00000708: SWAP2
00000709: DIV
0000070a: MUL
0000070b: PUSH1 0x20
0000070d: ADD
0000070e: PUSH1 0x40
00000710: MLOAD
00000711: SWAP1
00000712: DUP2
00000713: ADD
00000714: PUSH1 0x40
00000716: MSTORE
00000717: DUP1
00000718: SWAP4
00000719: SWAP3
0000071a: SWAP2
0000071b: SWAP1
0000071c: DUP2
0000071d: DUP2
0000071e: MSTORE
0000071f: PUSH1 0x20
00000721: ADD
00000722: DUP4
00000723: DUP4
00000724: DUP1
00000725: DUP3
00000726: DUP5
00000727: CALLDATACOPY
00000728: DUP3
00000729: ADD
0000072a: SWAP2
0000072b: POP
0000072c: POP
0000072d: POP
0000072e: POP
0000072f: POP
00000730: POP
00000731: SWAP2
00000732: SWAP1
00000733: POP
00000734: POP
00000735: PUSH2 0x182d
00000738: JUMP
00000739: JUMPDEST
0000073a: PUSH1 0x40
0000073c: MLOAD
0000073d: DUP1
0000073e: DUP3
0000073f: DUP2
00000740: MSTORE
00000741: PUSH1 0x20
00000743: ADD
00000744: SWAP2
00000745: POP
00000746: POP
00000747: PUSH1 0x40
00000749: MLOAD
0000074a: DUP1
0000074b: SWAP2
0000074c: SUB
0000074d: SWAP1
0000074e: RETURN
0000074f: JUMPDEST
00000750: CALLVALUE
00000751: ISZERO
00000752: PUSH2 0x075a
00000755: JUMPI
00000756: PUSH1 0x00
00000758: DUP1
00000759: REVERT
0000075a: JUMPDEST
0000075b: PUSH2 0x0762
0000075e: PUSH2 0x184c
00000761: JUMP
00000762: JUMPDEST
00000763: PUSH1 0x40
00000765: MLOAD
00000766: DUP1
00000767: DUP3
00000768: DUP2
00000769: MSTORE
0000076a: PUSH1 0x20
0000076c: ADD
0000076d: SWAP2
0000076e: POP
0000076f: POP
00000770: PUSH1 0x40
00000772: MLOAD
00000773: DUP1
00000774: SWAP2
00000775: SUB
00000776: SWAP1
00000777: RETURN
00000778: JUMPDEST
00000779: CALLVALUE
0000077a: ISZERO
0000077b: PUSH2 0x0783
0000077e: JUMPI
0000077f: PUSH1 0x00
00000781: DUP1
00000782: REVERT
00000783: JUMPDEST
00000784: PUSH2 0x078b
00000787: PUSH2 0x1851
0000078a: JUMP
0000078b: JUMPDEST
0000078c: PUSH1 0x40
0000078e: MLOAD
0000078f: DUP1
00000790: DUP3
00000791: DUP2
00000792: MSTORE
00000793: PUSH1 0x20
00000795: ADD
00000796: SWAP2
00000797: POP
00000798: POP
00000799: PUSH1 0x40
0000079b: MLOAD
0000079c: DUP1
0000079d: SWAP2
0000079e: SUB
0000079f: SWAP1
000007a0: RETURN
000007a1: JUMPDEST
000007a2: CALLVALUE
000007a3: ISZERO
000007a4: PUSH2 0x07ac
000007a7: JUMPI
000007a8: PUSH1 0x00
000007aa: DUP1
000007ab: REVERT
000007ac: JUMPDEST
000007ad: PUSH2 0x07f7
000007b0: PUSH1 0x04
000007b2: DUP1
000007b3: DUP1
000007b4: CALLDATALOAD
000007b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007ca: AND
000007cb: SWAP1
000007cc: PUSH1 0x20
000007ce: ADD
000007cf: SWAP1
000007d0: SWAP2
000007d1: SWAP1
000007d2: DUP1
000007d3: CALLDATALOAD
000007d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e9: AND
000007ea: SWAP1
000007eb: PUSH1 0x20
000007ed: ADD
000007ee: SWAP1
000007ef: SWAP2
000007f0: SWAP1
000007f1: POP
000007f2: POP
000007f3: PUSH2 0x1857
000007f6: JUMP
000007f7: JUMPDEST
000007f8: STOP
000007f9: JUMPDEST
000007fa: CALLVALUE
000007fb: ISZERO
000007fc: PUSH2 0x0804
000007ff: JUMPI
00000800: PUSH1 0x00
00000802: DUP1
00000803: REVERT
00000804: JUMPDEST
00000805: PUSH2 0x081a
00000808: PUSH1 0x04
0000080a: DUP1
0000080b: DUP1
0000080c: CALLDATALOAD
0000080d: SWAP1
0000080e: PUSH1 0x20
00000810: ADD
00000811: SWAP1
00000812: SWAP2
00000813: SWAP1
00000814: POP
00000815: POP
00000816: PUSH2 0x1b6c
00000819: JUMP
0000081a: JUMPDEST
0000081b: STOP
0000081c: JUMPDEST
0000081d: PUSH1 0x03
0000081f: DUP2
00000820: DUP2
00000821: SLOAD
00000822: DUP2
00000823: LT
00000824: ISZERO
00000825: ISZERO
00000826: PUSH2 0x082b
00000829: JUMPI
0000082a: INVALID
0000082b: JUMPDEST
0000082c: SWAP1
0000082d: PUSH1 0x00
0000082f: MSTORE
00000830: PUSH1 0x20
00000832: PUSH1 0x00
00000834: KECCAK256
00000835: SWAP1
00000836: ADD
00000837: PUSH1 0x00
00000839: SWAP2
0000083a: POP
0000083b: SLOAD
0000083c: SWAP1
0000083d: PUSH2 0x0100
00000840: EXP
00000841: SWAP1
00000842: DIV
00000843: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000858: AND
00000859: DUP2
0000085a: JUMP
0000085b: JUMPDEST
0000085c: PUSH1 0x00
0000085e: ADDRESS
0000085f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000874: AND
00000875: CALLER
00000876: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088b: AND
0000088c: EQ
0000088d: ISZERO
0000088e: ISZERO
0000088f: PUSH2 0x0897
00000892: JUMPI
00000893: PUSH1 0x00
00000895: DUP1
00000896: REVERT
00000897: JUMPDEST
00000898: DUP2
00000899: PUSH1 0x02
0000089b: PUSH1 0x00
0000089d: DUP3
0000089e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b3: AND
000008b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008c9: AND
000008ca: DUP2
000008cb: MSTORE
000008cc: PUSH1 0x20
000008ce: ADD
000008cf: SWAP1
000008d0: DUP2
000008d1: MSTORE
000008d2: PUSH1 0x20
000008d4: ADD
000008d5: PUSH1 0x00
000008d7: KECCAK256
000008d8: PUSH1 0x00
000008da: SWAP1
000008db: SLOAD
000008dc: SWAP1
000008dd: PUSH2 0x0100
000008e0: EXP
000008e1: SWAP1
000008e2: DIV
000008e3: PUSH1 0xff
000008e5: AND
000008e6: ISZERO
000008e7: ISZERO
000008e8: PUSH2 0x08f0
000008eb: JUMPI
000008ec: PUSH1 0x00
000008ee: DUP1
000008ef: REVERT
000008f0: JUMPDEST
000008f1: PUSH1 0x00
000008f3: PUSH1 0x02
000008f5: PUSH1 0x00
000008f7: DUP6
000008f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000090d: AND
0000090e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000923: AND
00000924: DUP2
00000925: MSTORE
00000926: PUSH1 0x20
00000928: ADD
00000929: SWAP1
0000092a: DUP2
0000092b: MSTORE
0000092c: PUSH1 0x20
0000092e: ADD
0000092f: PUSH1 0x00
00000931: KECCAK256
00000932: PUSH1 0x00
00000934: PUSH2 0x0100
00000937: EXP
00000938: DUP2
00000939: SLOAD
0000093a: DUP2
0000093b: PUSH1 0xff
0000093d: MUL
0000093e: NOT
0000093f: AND
00000940: SWAP1
00000941: DUP4
00000942: ISZERO
00000943: ISZERO
00000944: MUL
00000945: OR
00000946: SWAP1
00000947: SSTORE
00000948: POP
00000949: PUSH1 0x00
0000094b: SWAP2
0000094c: POP
0000094d: JUMPDEST
0000094e: PUSH1 0x01
00000950: PUSH1 0x03
00000952: DUP1
00000953: SLOAD
00000954: SWAP1
00000955: POP
00000956: SUB
00000957: DUP3
00000958: LT
00000959: ISZERO
0000095a: PUSH2 0x0a78
0000095d: JUMPI
0000095e: DUP3
0000095f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000974: AND
00000975: PUSH1 0x03
00000977: DUP4
00000978: DUP2
00000979: SLOAD
0000097a: DUP2
0000097b: LT
0000097c: ISZERO
0000097d: ISZERO
0000097e: PUSH2 0x0983
00000981: JUMPI
00000982: INVALID
00000983: JUMPDEST
00000984: SWAP1
00000985: PUSH1 0x00
00000987: MSTORE
00000988: PUSH1 0x20
0000098a: PUSH1 0x00
0000098c: KECCAK256
0000098d: SWAP1
0000098e: ADD
0000098f: PUSH1 0x00
00000991: SWAP1
00000992: SLOAD
00000993: SWAP1
00000994: PUSH2 0x0100
00000997: EXP
00000998: SWAP1
00000999: DIV
0000099a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009af: AND
000009b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c5: AND
000009c6: EQ
000009c7: ISZERO
000009c8: PUSH2 0x0a6b
000009cb: JUMPI
000009cc: PUSH1 0x03
000009ce: PUSH1 0x01
000009d0: PUSH1 0x03
000009d2: DUP1
000009d3: SLOAD
000009d4: SWAP1
000009d5: POP
000009d6: SUB
000009d7: DUP2
000009d8: SLOAD
000009d9: DUP2
000009da: LT
000009db: ISZERO
000009dc: ISZERO
000009dd: PUSH2 0x09e2
000009e0: JUMPI
000009e1: INVALID
000009e2: JUMPDEST
000009e3: SWAP1
000009e4: PUSH1 0x00
000009e6: MSTORE
000009e7: PUSH1 0x20
000009e9: PUSH1 0x00
000009eb: KECCAK256
000009ec: SWAP1
000009ed: ADD
000009ee: PUSH1 0x00
000009f0: SWAP1
000009f1: SLOAD
000009f2: SWAP1
000009f3: PUSH2 0x0100
000009f6: EXP
000009f7: SWAP1
000009f8: DIV
000009f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a0e: AND
00000a0f: PUSH1 0x03
00000a11: DUP4
00000a12: DUP2
00000a13: SLOAD
00000a14: DUP2
00000a15: LT
00000a16: ISZERO
00000a17: ISZERO
00000a18: PUSH2 0x0a1d
00000a1b: JUMPI
00000a1c: INVALID
00000a1d: JUMPDEST
00000a1e: SWAP1
00000a1f: PUSH1 0x00
00000a21: MSTORE
00000a22: PUSH1 0x20
00000a24: PUSH1 0x00
00000a26: KECCAK256
00000a27: SWAP1
00000a28: ADD
00000a29: PUSH1 0x00
00000a2b: PUSH2 0x0100
00000a2e: EXP
00000a2f: DUP2
00000a30: SLOAD
00000a31: DUP2
00000a32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a47: MUL
00000a48: NOT
00000a49: AND
00000a4a: SWAP1
00000a4b: DUP4
00000a4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a61: AND
00000a62: MUL
00000a63: OR
00000a64: SWAP1
00000a65: SSTORE
00000a66: POP
00000a67: PUSH2 0x0a78
00000a6a: JUMP
00000a6b: JUMPDEST
00000a6c: DUP2
00000a6d: DUP1
00000a6e: PUSH1 0x01
00000a70: ADD
00000a71: SWAP3
00000a72: POP
00000a73: POP
00000a74: PUSH2 0x094d
00000a77: JUMP
00000a78: JUMPDEST
00000a79: PUSH1 0x01
00000a7b: PUSH1 0x03
00000a7d: DUP2
00000a7e: DUP2
00000a7f: DUP1
00000a80: SLOAD
00000a81: SWAP1
00000a82: POP
00000a83: SUB
00000a84: SWAP2
00000a85: POP
00000a86: DUP2
00000a87: PUSH2 0x0a90
00000a8a: SWAP2
00000a8b: SWAP1
00000a8c: PUSH2 0x1e76
00000a8f: JUMP
00000a90: JUMPDEST
00000a91: POP
00000a92: PUSH1 0x03
00000a94: DUP1
00000a95: SLOAD
00000a96: SWAP1
00000a97: POP
00000a98: PUSH1 0x04
00000a9a: SLOAD
00000a9b: GT
00000a9c: ISZERO
00000a9d: PUSH2 0x0aaf
00000aa0: JUMPI
00000aa1: PUSH2 0x0aae
00000aa4: PUSH1 0x03
00000aa6: DUP1
00000aa7: SLOAD
00000aa8: SWAP1
00000aa9: POP
00000aaa: PUSH2 0x15a2
00000aad: JUMP
00000aae: JUMPDEST
00000aaf: JUMPDEST
00000ab0: DUP3
00000ab1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ac6: AND
00000ac7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00000ae8: PUSH1 0x40
00000aea: MLOAD
00000aeb: PUSH1 0x40
00000aed: MLOAD
00000aee: DUP1
00000aef: SWAP2
00000af0: SUB
00000af1: SWAP1
00000af2: LOG2
00000af3: POP
00000af4: POP
00000af5: POP
00000af6: JUMP
00000af7: JUMPDEST
00000af8: CALLER
00000af9: PUSH1 0x02
00000afb: PUSH1 0x00
00000afd: DUP3
00000afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b13: AND
00000b14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b29: AND
00000b2a: DUP2
00000b2b: MSTORE
00000b2c: PUSH1 0x20
00000b2e: ADD
00000b2f: SWAP1
00000b30: DUP2
00000b31: MSTORE
00000b32: PUSH1 0x20
00000b34: ADD
00000b35: PUSH1 0x00
00000b37: KECCAK256
00000b38: PUSH1 0x00
00000b3a: SWAP1
00000b3b: SLOAD
00000b3c: SWAP1
00000b3d: PUSH2 0x0100
00000b40: EXP
00000b41: SWAP1
00000b42: DIV
00000b43: PUSH1 0xff
00000b45: AND
00000b46: ISZERO
00000b47: ISZERO
00000b48: PUSH2 0x0b50
00000b4b: JUMPI
00000b4c: PUSH1 0x00
00000b4e: DUP1
00000b4f: REVERT
00000b50: JUMPDEST
00000b51: DUP2
00000b52: CALLER
00000b53: PUSH1 0x01
00000b55: PUSH1 0x00
00000b57: DUP4
00000b58: DUP2
00000b59: MSTORE
00000b5a: PUSH1 0x20
00000b5c: ADD
00000b5d: SWAP1
00000b5e: DUP2
00000b5f: MSTORE
00000b60: PUSH1 0x20
00000b62: ADD
00000b63: PUSH1 0x00
00000b65: KECCAK256
00000b66: PUSH1 0x00
00000b68: DUP3
00000b69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b7e: AND
00000b7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b94: AND
00000b95: DUP2
00000b96: MSTORE
00000b97: PUSH1 0x20
00000b99: ADD
00000b9a: SWAP1
00000b9b: DUP2
00000b9c: MSTORE
00000b9d: PUSH1 0x20
00000b9f: ADD
00000ba0: PUSH1 0x00
00000ba2: KECCAK256
00000ba3: PUSH1 0x00
00000ba5: SWAP1
00000ba6: SLOAD
00000ba7: SWAP1
00000ba8: PUSH2 0x0100
00000bab: EXP
00000bac: SWAP1
00000bad: DIV
00000bae: PUSH1 0xff
00000bb0: AND
00000bb1: ISZERO
00000bb2: ISZERO
00000bb3: PUSH2 0x0bbb
00000bb6: JUMPI
00000bb7: PUSH1 0x00
00000bb9: DUP1
00000bba: REVERT
00000bbb: JUMPDEST
00000bbc: DUP4
00000bbd: PUSH1 0x00
00000bbf: DUP1
00000bc0: DUP3
00000bc1: DUP2
00000bc2: MSTORE
00000bc3: PUSH1 0x20
00000bc5: ADD
00000bc6: SWAP1
00000bc7: DUP2
00000bc8: MSTORE
00000bc9: PUSH1 0x20
00000bcb: ADD
00000bcc: PUSH1 0x00
00000bce: KECCAK256
00000bcf: PUSH1 0x03
00000bd1: ADD
00000bd2: PUSH1 0x00
00000bd4: SWAP1
00000bd5: SLOAD
00000bd6: SWAP1
00000bd7: PUSH2 0x0100
00000bda: EXP
00000bdb: SWAP1
00000bdc: DIV
00000bdd: PUSH1 0xff
00000bdf: AND
00000be0: ISZERO
00000be1: PUSH2 0x0be9
00000be4: JUMPI
00000be5: PUSH1 0x00
00000be7: DUP1
00000be8: REVERT
00000be9: JUMPDEST
00000bea: PUSH1 0x00
00000bec: PUSH1 0x01
00000bee: PUSH1 0x00
00000bf0: DUP8
00000bf1: DUP2
00000bf2: MSTORE
00000bf3: PUSH1 0x20
00000bf5: ADD
00000bf6: SWAP1
00000bf7: DUP2
00000bf8: MSTORE
00000bf9: PUSH1 0x20
00000bfb: ADD
00000bfc: PUSH1 0x00
00000bfe: KECCAK256
00000bff: PUSH1 0x00
00000c01: CALLER
00000c02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c17: AND
00000c18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c2d: AND
00000c2e: DUP2
00000c2f: MSTORE
00000c30: PUSH1 0x20
00000c32: ADD
00000c33: SWAP1
00000c34: DUP2
00000c35: MSTORE
00000c36: PUSH1 0x20
00000c38: ADD
00000c39: PUSH1 0x00
00000c3b: KECCAK256
00000c3c: PUSH1 0x00
00000c3e: PUSH2 0x0100
00000c41: EXP
00000c42: DUP2
00000c43: SLOAD
00000c44: DUP2
00000c45: PUSH1 0xff
00000c47: MUL
00000c48: NOT
00000c49: AND
00000c4a: SWAP1
00000c4b: DUP4
00000c4c: ISZERO
00000c4d: ISZERO
00000c4e: MUL
00000c4f: OR
00000c50: SWAP1
00000c51: SSTORE
00000c52: POP
00000c53: DUP5
00000c54: CALLER
00000c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c6a: AND
00000c6b: PUSH32 0xf6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9
00000c8c: PUSH1 0x40
00000c8e: MLOAD
00000c8f: PUSH1 0x40
00000c91: MLOAD
00000c92: DUP1
00000c93: SWAP2
00000c94: SUB
00000c95: SWAP1
00000c96: LOG3
00000c97: POP
00000c98: POP
00000c99: POP
00000c9a: POP
00000c9b: POP
00000c9c: JUMP
00000c9d: JUMPDEST
00000c9e: PUSH1 0x02
00000ca0: PUSH1 0x20
00000ca2: MSTORE
00000ca3: DUP1
00000ca4: PUSH1 0x00
00000ca6: MSTORE
00000ca7: PUSH1 0x40
00000ca9: PUSH1 0x00
00000cab: KECCAK256
00000cac: PUSH1 0x00
00000cae: SWAP2
00000caf: POP
00000cb0: SLOAD
00000cb1: SWAP1
00000cb2: PUSH2 0x0100
00000cb5: EXP
00000cb6: SWAP1
00000cb7: DIV
00000cb8: PUSH1 0xff
00000cba: AND
00000cbb: DUP2
00000cbc: JUMP
00000cbd: JUMPDEST
00000cbe: PUSH1 0x01
00000cc0: PUSH1 0x20
00000cc2: MSTORE
00000cc3: DUP2
00000cc4: PUSH1 0x00
00000cc6: MSTORE
00000cc7: PUSH1 0x40
00000cc9: PUSH1 0x00
00000ccb: KECCAK256
00000ccc: PUSH1 0x20
00000cce: MSTORE
00000ccf: DUP1
00000cd0: PUSH1 0x00
00000cd2: MSTORE
00000cd3: PUSH1 0x40
00000cd5: PUSH1 0x00
00000cd7: KECCAK256
00000cd8: PUSH1 0x00
00000cda: SWAP2
00000cdb: POP
00000cdc: SWAP2
00000cdd: POP
00000cde: SWAP1
00000cdf: SLOAD
00000ce0: SWAP1
00000ce1: PUSH2 0x0100
00000ce4: EXP
00000ce5: SWAP1
00000ce6: DIV
00000ce7: PUSH1 0xff
00000ce9: AND
00000cea: DUP2
00000ceb: JUMP
00000cec: JUMPDEST
00000ced: PUSH1 0x00
00000cef: DUP1
00000cf0: PUSH1 0x00
00000cf2: SWAP1
00000cf3: POP
00000cf4: JUMPDEST
00000cf5: PUSH1 0x05
00000cf7: SLOAD
00000cf8: DUP2
00000cf9: LT
00000cfa: ISZERO
00000cfb: PUSH2 0x0d77
00000cfe: JUMPI
00000cff: DUP4
00000d00: DUP1
00000d01: ISZERO
00000d02: PUSH2 0x0d2b
00000d05: JUMPI
00000d06: POP
00000d07: PUSH1 0x00
00000d09: DUP1
00000d0a: DUP3
00000d0b: DUP2
00000d0c: MSTORE
00000d0d: PUSH1 0x20
00000d0f: ADD
00000d10: SWAP1
00000d11: DUP2
00000d12: MSTORE
00000d13: PUSH1 0x20
00000d15: ADD
00000d16: PUSH1 0x00
00000d18: KECCAK256
00000d19: PUSH1 0x03
00000d1b: ADD
00000d1c: PUSH1 0x00
00000d1e: SWAP1
00000d1f: SLOAD
00000d20: SWAP1
00000d21: PUSH2 0x0100
00000d24: EXP
00000d25: SWAP1
00000d26: DIV
00000d27: PUSH1 0xff
00000d29: AND
00000d2a: ISZERO
00000d2b: JUMPDEST
00000d2c: DUP1
00000d2d: PUSH2 0x0d5e
00000d30: JUMPI
00000d31: POP
00000d32: DUP3
00000d33: DUP1
00000d34: ISZERO
00000d35: PUSH2 0x0d5d
00000d38: JUMPI
00000d39: POP
00000d3a: PUSH1 0x00
00000d3c: DUP1
00000d3d: DUP3
00000d3e: DUP2
00000d3f: MSTORE
00000d40: PUSH1 0x20
00000d42: ADD
00000d43: SWAP1
00000d44: DUP2
00000d45: MSTORE
00000d46: PUSH1 0x20
00000d48: ADD
00000d49: PUSH1 0x00
00000d4b: KECCAK256
00000d4c: PUSH1 0x03
00000d4e: ADD
00000d4f: PUSH1 0x00
00000d51: SWAP1
00000d52: SLOAD
00000d53: SWAP1
00000d54: PUSH2 0x0100
00000d57: EXP
00000d58: SWAP1
00000d59: DIV
00000d5a: PUSH1 0xff
00000d5c: AND
00000d5d: JUMPDEST
00000d5e: JUMPDEST
00000d5f: ISZERO
00000d60: PUSH2 0x0d6a
00000d63: JUMPI
00000d64: PUSH1 0x01
00000d66: DUP3
00000d67: ADD
00000d68: SWAP2
00000d69: POP
00000d6a: JUMPDEST
00000d6b: DUP1
00000d6c: DUP1
00000d6d: PUSH1 0x01
00000d6f: ADD
00000d70: SWAP2
00000d71: POP
00000d72: POP
00000d73: PUSH2 0x0cf4
00000d76: JUMP
00000d77: JUMPDEST
00000d78: POP
00000d79: SWAP3
00000d7a: SWAP2
00000d7b: POP
00000d7c: POP
00000d7d: JUMP
00000d7e: JUMPDEST
00000d7f: ADDRESS
00000d80: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d95: AND
00000d96: CALLER
00000d97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dac: AND
00000dad: EQ
00000dae: ISZERO
00000daf: ISZERO
00000db0: PUSH2 0x0db8
00000db3: JUMPI
00000db4: PUSH1 0x00
00000db6: DUP1
00000db7: REVERT
00000db8: JUMPDEST
00000db9: DUP1
00000dba: PUSH1 0x02
00000dbc: PUSH1 0x00
00000dbe: DUP3
00000dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dd4: AND
00000dd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dea: AND
00000deb: DUP2
00000dec: MSTORE
00000ded: PUSH1 0x20
00000def: ADD
00000df0: SWAP1
00000df1: DUP2
00000df2: MSTORE
00000df3: PUSH1 0x20
00000df5: ADD
00000df6: PUSH1 0x00
00000df8: KECCAK256
00000df9: PUSH1 0x00
00000dfb: SWAP1
00000dfc: SLOAD
00000dfd: SWAP1
00000dfe: PUSH2 0x0100
00000e01: EXP
00000e02: SWAP1
00000e03: DIV
00000e04: PUSH1 0xff
00000e06: AND
00000e07: ISZERO
00000e08: PUSH2 0x0e10
00000e0b: JUMPI
00000e0c: PUSH1 0x00
00000e0e: DUP1
00000e0f: REVERT
00000e10: JUMPDEST
00000e11: DUP2
00000e12: PUSH1 0x00
00000e14: DUP2
00000e15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e2a: AND
00000e2b: EQ
00000e2c: ISZERO
00000e2d: PUSH2 0x0e35
00000e30: JUMPI
00000e31: PUSH1 0x00
00000e33: DUP1
00000e34: REVERT
00000e35: JUMPDEST
00000e36: PUSH1 0x01
00000e38: PUSH1 0x03
00000e3a: DUP1
00000e3b: SLOAD
00000e3c: SWAP1
00000e3d: POP
00000e3e: ADD
00000e3f: PUSH1 0x04
00000e41: SLOAD
00000e42: PUSH1 0x32
00000e44: DUP3
00000e45: GT
00000e46: DUP1
00000e47: PUSH2 0x0e4f
00000e4a: JUMPI
00000e4b: POP
00000e4c: DUP2
00000e4d: DUP2
00000e4e: GT
00000e4f: JUMPDEST
00000e50: DUP1
00000e51: PUSH2 0x0e5a
00000e54: JUMPI
00000e55: POP
00000e56: PUSH1 0x00
00000e58: DUP2
00000e59: EQ
00000e5a: JUMPDEST
00000e5b: DUP1
00000e5c: PUSH2 0x0e65
00000e5f: JUMPI
00000e60: POP
00000e61: PUSH1 0x00
00000e63: DUP3
00000e64: EQ
00000e65: JUMPDEST
00000e66: ISZERO
00000e67: PUSH2 0x0e6f
00000e6a: JUMPI
00000e6b: PUSH1 0x00
00000e6d: DUP1
00000e6e: REVERT
00000e6f: JUMPDEST
00000e70: PUSH1 0x01
00000e72: PUSH1 0x02
00000e74: PUSH1 0x00
00000e76: DUP8
00000e77: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e8c: AND
00000e8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ea2: AND
00000ea3: DUP2
00000ea4: MSTORE
00000ea5: PUSH1 0x20
00000ea7: ADD
00000ea8: SWAP1
00000ea9: DUP2
00000eaa: MSTORE
00000eab: PUSH1 0x20
00000ead: ADD
00000eae: PUSH1 0x00
00000eb0: KECCAK256
00000eb1: PUSH1 0x00
00000eb3: PUSH2 0x0100
00000eb6: EXP
00000eb7: DUP2
00000eb8: SLOAD
00000eb9: DUP2
00000eba: PUSH1 0xff
00000ebc: MUL
00000ebd: NOT
00000ebe: AND
00000ebf: SWAP1
00000ec0: DUP4
00000ec1: ISZERO
00000ec2: ISZERO
00000ec3: MUL
00000ec4: OR
00000ec5: SWAP1
00000ec6: SSTORE
00000ec7: POP
00000ec8: PUSH1 0x03
00000eca: DUP1
00000ecb: SLOAD
00000ecc: DUP1
00000ecd: PUSH1 0x01
00000ecf: ADD
00000ed0: DUP3
00000ed1: DUP2
00000ed2: PUSH2 0x0edb
00000ed5: SWAP2
00000ed6: SWAP1
00000ed7: PUSH2 0x1ea2
00000eda: JUMP
00000edb: JUMPDEST
00000edc: SWAP2
00000edd: PUSH1 0x00
00000edf: MSTORE
00000ee0: PUSH1 0x20
00000ee2: PUSH1 0x00
00000ee4: KECCAK256
00000ee5: SWAP1
00000ee6: ADD
00000ee7: PUSH1 0x00
00000ee9: DUP8
00000eea: SWAP1
00000eeb: SWAP2
00000eec: SWAP1
00000eed: SWAP2
00000eee: PUSH2 0x0100
00000ef1: EXP
00000ef2: DUP2
00000ef3: SLOAD
00000ef4: DUP2
00000ef5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f0a: MUL
00000f0b: NOT
00000f0c: AND
00000f0d: SWAP1
00000f0e: DUP4
00000f0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f24: AND
00000f25: MUL
00000f26: OR
00000f27: SWAP1
00000f28: SSTORE
00000f29: POP
00000f2a: POP
00000f2b: DUP5
00000f2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f41: AND
00000f42: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00000f63: PUSH1 0x40
00000f65: MLOAD
00000f66: PUSH1 0x40
00000f68: MLOAD
00000f69: DUP1
00000f6a: SWAP2
00000f6b: SUB
00000f6c: SWAP1
00000f6d: LOG2
00000f6e: POP
00000f6f: POP
00000f70: POP
00000f71: POP
00000f72: POP
00000f73: JUMP
00000f74: JUMPDEST
00000f75: PUSH1 0x00
00000f77: DUP1
00000f78: PUSH1 0x00
00000f7a: DUP1
00000f7b: SWAP2
00000f7c: POP
00000f7d: PUSH1 0x00
00000f7f: SWAP1
00000f80: POP
00000f81: JUMPDEST
00000f82: PUSH1 0x03
00000f84: DUP1
00000f85: SLOAD
00000f86: SWAP1
00000f87: POP
00000f88: DUP2
00000f89: LT
00000f8a: ISZERO
00000f8b: PUSH2 0x1052
00000f8e: JUMPI
00000f8f: PUSH1 0x01
00000f91: PUSH1 0x00
00000f93: DUP6
00000f94: DUP2
00000f95: MSTORE
00000f96: PUSH1 0x20
00000f98: ADD
00000f99: SWAP1
00000f9a: DUP2
00000f9b: MSTORE
00000f9c: PUSH1 0x20
00000f9e: ADD
00000f9f: PUSH1 0x00
00000fa1: KECCAK256
00000fa2: PUSH1 0x00
00000fa4: PUSH1 0x03
00000fa6: DUP4
00000fa7: DUP2
00000fa8: SLOAD
00000fa9: DUP2
00000faa: LT
00000fab: ISZERO
00000fac: ISZERO
00000fad: PUSH2 0x0fb2
00000fb0: JUMPI
00000fb1: INVALID
00000fb2: JUMPDEST
00000fb3: SWAP1
00000fb4: PUSH1 0x00
00000fb6: MSTORE
00000fb7: PUSH1 0x20
00000fb9: PUSH1 0x00
00000fbb: KECCAK256
00000fbc: SWAP1
00000fbd: ADD
00000fbe: PUSH1 0x00
00000fc0: SWAP1
00000fc1: SLOAD
00000fc2: SWAP1
00000fc3: PUSH2 0x0100
00000fc6: EXP
00000fc7: SWAP1
00000fc8: DIV
00000fc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fde: AND
00000fdf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ff4: AND
00000ff5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000100a: AND
0000100b: DUP2
0000100c: MSTORE
0000100d: PUSH1 0x20
0000100f: ADD
00001010: SWAP1
00001011: DUP2
00001012: MSTORE
00001013: PUSH1 0x20
00001015: ADD
00001016: PUSH1 0x00
00001018: KECCAK256
00001019: PUSH1 0x00
0000101b: SWAP1
0000101c: SLOAD
0000101d: SWAP1
0000101e: PUSH2 0x0100
00001021: EXP
00001022: SWAP1
00001023: DIV
00001024: PUSH1 0xff
00001026: AND
00001027: ISZERO
00001028: PUSH2 0x1032
0000102b: JUMPI
0000102c: PUSH1 0x01
0000102e: DUP3
0000102f: ADD
00001030: SWAP2
00001031: POP
00001032: JUMPDEST
00001033: PUSH1 0x04
00001035: SLOAD
00001036: DUP3
00001037: EQ
00001038: ISZERO
00001039: PUSH2 0x1045
0000103c: JUMPI
0000103d: PUSH1 0x01
0000103f: SWAP3
00001040: POP
00001041: PUSH2 0x1053
00001044: JUMP
00001045: JUMPDEST
00001046: DUP1
00001047: DUP1
00001048: PUSH1 0x01
0000104a: ADD
0000104b: SWAP2
0000104c: POP
0000104d: POP
0000104e: PUSH2 0x0f81
00001051: JUMP
00001052: JUMPDEST
00001053: JUMPDEST
00001054: POP
00001055: POP
00001056: SWAP2
00001057: SWAP1
00001058: POP
00001059: JUMP
0000105a: JUMPDEST
0000105b: PUSH1 0x00
0000105d: DUP1
0000105e: PUSH1 0x00
00001060: SWAP1
00001061: POP
00001062: JUMPDEST
00001063: PUSH1 0x03
00001065: DUP1
00001066: SLOAD
00001067: SWAP1
00001068: POP
00001069: DUP2
0000106a: LT
0000106b: ISZERO
0000106c: PUSH2 0x1120
0000106f: JUMPI
00001070: PUSH1 0x01
00001072: PUSH1 0x00
00001074: DUP5
00001075: DUP2
00001076: MSTORE
00001077: PUSH1 0x20
00001079: ADD
0000107a: SWAP1
0000107b: DUP2
0000107c: MSTORE
0000107d: PUSH1 0x20
0000107f: ADD
00001080: PUSH1 0x00
00001082: KECCAK256
00001083: PUSH1 0x00
00001085: PUSH1 0x03
00001087: DUP4
00001088: DUP2
00001089: SLOAD
0000108a: DUP2
0000108b: LT
0000108c: ISZERO
0000108d: ISZERO
0000108e: PUSH2 0x1093
00001091: JUMPI
00001092: INVALID
00001093: JUMPDEST
00001094: SWAP1
00001095: PUSH1 0x00
00001097: MSTORE
00001098: PUSH1 0x20
0000109a: PUSH1 0x00
0000109c: KECCAK256
0000109d: SWAP1
0000109e: ADD
0000109f: PUSH1 0x00
000010a1: SWAP1
000010a2: SLOAD
000010a3: SWAP1
000010a4: PUSH2 0x0100
000010a7: EXP
000010a8: SWAP1
000010a9: DIV
000010aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010bf: AND
000010c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010d5: AND
000010d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010eb: AND
000010ec: DUP2
000010ed: MSTORE
000010ee: PUSH1 0x20
000010f0: ADD
000010f1: SWAP1
000010f2: DUP2
000010f3: MSTORE
000010f4: PUSH1 0x20
000010f6: ADD
000010f7: PUSH1 0x00
000010f9: KECCAK256
000010fa: PUSH1 0x00
000010fc: SWAP1
000010fd: SLOAD
000010fe: SWAP1
000010ff: PUSH2 0x0100
00001102: EXP
00001103: SWAP1
00001104: DIV
00001105: PUSH1 0xff
00001107: AND
00001108: ISZERO
00001109: PUSH2 0x1113
0000110c: JUMPI
0000110d: PUSH1 0x01
0000110f: DUP3
00001110: ADD
00001111: SWAP2
00001112: POP
00001113: JUMPDEST
00001114: DUP1
00001115: DUP1
00001116: PUSH1 0x01
00001118: ADD
00001119: SWAP2
0000111a: POP
0000111b: POP
0000111c: PUSH2 0x1062
0000111f: JUMP
00001120: JUMPDEST
00001121: POP
00001122: SWAP2
00001123: SWAP1
00001124: POP
00001125: JUMP
00001126: JUMPDEST
00001127: PUSH1 0x00
00001129: PUSH1 0x20
0000112b: MSTORE
0000112c: DUP1
0000112d: PUSH1 0x00
0000112f: MSTORE
00001130: PUSH1 0x40
00001132: PUSH1 0x00
00001134: KECCAK256
00001135: PUSH1 0x00
00001137: SWAP2
00001138: POP
00001139: SWAP1
0000113a: POP
0000113b: DUP1
0000113c: PUSH1 0x00
0000113e: ADD
0000113f: PUSH1 0x00
00001141: SWAP1
00001142: SLOAD
00001143: SWAP1
00001144: PUSH2 0x0100
00001147: EXP
00001148: SWAP1
00001149: DIV
0000114a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000115f: AND
00001160: SWAP1
00001161: DUP1
00001162: PUSH1 0x01
00001164: ADD
00001165: SLOAD
00001166: SWAP1
00001167: DUP1
00001168: PUSH1 0x02
0000116a: ADD
0000116b: SWAP1
0000116c: DUP1
0000116d: PUSH1 0x03
0000116f: ADD
00001170: PUSH1 0x00
00001172: SWAP1
00001173: SLOAD
00001174: SWAP1
00001175: PUSH2 0x0100
00001178: EXP
00001179: SWAP1
0000117a: DIV
0000117b: PUSH1 0xff
0000117d: AND
0000117e: SWAP1
0000117f: POP
00001180: DUP5
00001181: JUMP
00001182: JUMPDEST
00001183: PUSH2 0x118a
00001186: PUSH2 0x1ece
00001189: JUMP
0000118a: JUMPDEST
0000118b: PUSH1 0x03
0000118d: DUP1
0000118e: SLOAD
0000118f: DUP1
00001190: PUSH1 0x20
00001192: MUL
00001193: PUSH1 0x20
00001195: ADD
00001196: PUSH1 0x40
00001198: MLOAD
00001199: SWAP1
0000119a: DUP2
0000119b: ADD
0000119c: PUSH1 0x40
0000119e: MSTORE
0000119f: DUP1
000011a0: SWAP3
000011a1: SWAP2
000011a2: SWAP1
000011a3: DUP2
000011a4: DUP2
000011a5: MSTORE
000011a6: PUSH1 0x20
000011a8: ADD
000011a9: DUP3
000011aa: DUP1
000011ab: SLOAD
000011ac: DUP1
000011ad: ISZERO
000011ae: PUSH2 0x120c
000011b1: JUMPI
000011b2: PUSH1 0x20
000011b4: MUL
000011b5: DUP3
000011b6: ADD
000011b7: SWAP2
000011b8: SWAP1
000011b9: PUSH1 0x00
000011bb: MSTORE
000011bc: PUSH1 0x20
000011be: PUSH1 0x00
000011c0: KECCAK256
000011c1: SWAP1
000011c2: JUMPDEST
000011c3: DUP2
000011c4: PUSH1 0x00
000011c6: SWAP1
000011c7: SLOAD
000011c8: SWAP1
000011c9: PUSH2 0x0100
000011cc: EXP
000011cd: SWAP1
000011ce: DIV
000011cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011e4: AND
000011e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011fa: AND
000011fb: DUP2
000011fc: MSTORE
000011fd: PUSH1 0x20
000011ff: ADD
00001200: SWAP1
00001201: PUSH1 0x01
00001203: ADD
00001204: SWAP1
00001205: DUP1
00001206: DUP4
00001207: GT
00001208: PUSH2 0x11c2
0000120b: JUMPI
0000120c: JUMPDEST
0000120d: POP
0000120e: POP
0000120f: POP
00001210: POP
00001211: POP
00001212: SWAP1
00001213: POP
00001214: SWAP1
00001215: JUMP
00001216: JUMPDEST
00001217: PUSH2 0x121e
0000121a: PUSH2 0x1ee2
0000121d: JUMP
0000121e: JUMPDEST
0000121f: PUSH2 0x1226
00001222: PUSH2 0x1ee2
00001225: JUMP
00001226: JUMPDEST
00001227: PUSH1 0x00
00001229: DUP1
0000122a: PUSH1 0x05
0000122c: SLOAD
0000122d: PUSH1 0x40
0000122f: MLOAD
00001230: DUP1
00001231: MSIZE
00001232: LT
00001233: PUSH2 0x1239
00001236: JUMPI
00001237: POP
00001238: MSIZE
00001239: JUMPDEST
0000123a: SWAP1
0000123b: DUP1
0000123c: DUP3
0000123d: MSTORE
0000123e: DUP1
0000123f: PUSH1 0x20
00001241: MUL
00001242: PUSH1 0x20
00001244: ADD
00001245: DUP3
00001246: ADD
00001247: PUSH1 0x40
00001249: MSTORE
0000124a: POP
0000124b: SWAP3
0000124c: POP
0000124d: PUSH1 0x00
0000124f: SWAP2
00001250: POP
00001251: PUSH1 0x00
00001253: SWAP1
00001254: POP
00001255: JUMPDEST
00001256: PUSH1 0x05
00001258: SLOAD
00001259: DUP2
0000125a: LT
0000125b: ISZERO
0000125c: PUSH2 0x12f5
0000125f: JUMPI
00001260: DUP6
00001261: DUP1
00001262: ISZERO
00001263: PUSH2 0x128c
00001266: JUMPI
00001267: POP
00001268: PUSH1 0x00
0000126a: DUP1
0000126b: DUP3
0000126c: DUP2
0000126d: MSTORE
0000126e: PUSH1 0x20
00001270: ADD
00001271: SWAP1
00001272: DUP2
00001273: MSTORE
00001274: PUSH1 0x20
00001276: ADD
00001277: PUSH1 0x00
00001279: KECCAK256
0000127a: PUSH1 0x03
0000127c: ADD
0000127d: PUSH1 0x00
0000127f: SWAP1
00001280: SLOAD
00001281: SWAP1
00001282: PUSH2 0x0100
00001285: EXP
00001286: SWAP1
00001287: DIV
00001288: PUSH1 0xff
0000128a: AND
0000128b: ISZERO
0000128c: JUMPDEST
0000128d: DUP1
0000128e: PUSH2 0x12bf
00001291: JUMPI
00001292: POP
00001293: DUP5
00001294: DUP1
00001295: ISZERO
00001296: PUSH2 0x12be
00001299: JUMPI
0000129a: POP
0000129b: PUSH1 0x00
0000129d: DUP1
0000129e: DUP3
0000129f: DUP2
000012a0: MSTORE
000012a1: PUSH1 0x20
000012a3: ADD
000012a4: SWAP1
000012a5: DUP2
000012a6: MSTORE
000012a7: PUSH1 0x20
000012a9: ADD
000012aa: PUSH1 0x00
000012ac: KECCAK256
000012ad: PUSH1 0x03
000012af: ADD
000012b0: PUSH1 0x00
000012b2: SWAP1
000012b3: SLOAD
000012b4: SWAP1
000012b5: PUSH2 0x0100
000012b8: EXP
000012b9: SWAP1
000012ba: DIV
000012bb: PUSH1 0xff
000012bd: AND
000012be: JUMPDEST
000012bf: JUMPDEST
000012c0: ISZERO
000012c1: PUSH2 0x12e8
000012c4: JUMPI
000012c5: DUP1
000012c6: DUP4
000012c7: DUP4
000012c8: DUP2
000012c9: MLOAD
000012ca: DUP2
000012cb: LT
000012cc: ISZERO
000012cd: ISZERO
000012ce: PUSH2 0x12d3
000012d1: JUMPI
000012d2: INVALID
000012d3: JUMPDEST
000012d4: SWAP1
000012d5: PUSH1 0x20
000012d7: ADD
000012d8: SWAP1
000012d9: PUSH1 0x20
000012db: MUL
000012dc: ADD
000012dd: DUP2
000012de: DUP2
000012df: MSTORE
000012e0: POP
000012e1: POP
000012e2: PUSH1 0x01
000012e4: DUP3
000012e5: ADD
000012e6: SWAP2
000012e7: POP
000012e8: JUMPDEST
000012e9: DUP1
000012ea: DUP1
000012eb: PUSH1 0x01
000012ed: ADD
000012ee: SWAP2
000012ef: POP
000012f0: POP
000012f1: PUSH2 0x1255
000012f4: JUMP
000012f5: JUMPDEST
000012f6: DUP8
000012f7: DUP8
000012f8: SUB
000012f9: PUSH1 0x40
000012fb: MLOAD
000012fc: DUP1
000012fd: MSIZE
000012fe: LT
000012ff: PUSH2 0x1305
00001302: JUMPI
00001303: POP
00001304: MSIZE
00001305: JUMPDEST
00001306: SWAP1
00001307: DUP1
00001308: DUP3
00001309: MSTORE
0000130a: DUP1
0000130b: PUSH1 0x20
0000130d: MUL
0000130e: PUSH1 0x20
00001310: ADD
00001311: DUP3
00001312: ADD
00001313: PUSH1 0x40
00001315: MSTORE
00001316: POP
00001317: SWAP4
00001318: POP
00001319: DUP8
0000131a: SWAP1
0000131b: POP
0000131c: JUMPDEST
0000131d: DUP7
0000131e: DUP2
0000131f: LT
00001320: ISZERO
00001321: PUSH2 0x1367
00001324: JUMPI
00001325: DUP3
00001326: DUP2
00001327: DUP2
00001328: MLOAD
00001329: DUP2
0000132a: LT
0000132b: ISZERO
0000132c: ISZERO
0000132d: PUSH2 0x1332
00001330: JUMPI
00001331: INVALID
00001332: JUMPDEST
00001333: SWAP1
00001334: PUSH1 0x20
00001336: ADD
00001337: SWAP1
00001338: PUSH1 0x20
0000133a: MUL
0000133b: ADD
0000133c: MLOAD
0000133d: DUP5
0000133e: DUP10
0000133f: DUP4
00001340: SUB
00001341: DUP2
00001342: MLOAD
00001343: DUP2
00001344: LT
00001345: ISZERO
00001346: ISZERO
00001347: PUSH2 0x134c
0000134a: JUMPI
0000134b: INVALID
0000134c: JUMPDEST
0000134d: SWAP1
0000134e: PUSH1 0x20
00001350: ADD
00001351: SWAP1
00001352: PUSH1 0x20
00001354: MUL
00001355: ADD
00001356: DUP2
00001357: DUP2
00001358: MSTORE
00001359: POP
0000135a: POP
0000135b: DUP1
0000135c: DUP1
0000135d: PUSH1 0x01
0000135f: ADD
00001360: SWAP2
00001361: POP
00001362: POP
00001363: PUSH2 0x131c
00001366: JUMP
00001367: JUMPDEST
00001368: POP
00001369: POP
0000136a: POP
0000136b: SWAP5
0000136c: SWAP4
0000136d: POP
0000136e: POP
0000136f: POP
00001370: POP
00001371: JUMP
00001372: JUMPDEST
00001373: PUSH2 0x137a
00001376: PUSH2 0x1ece
00001379: JUMP
0000137a: JUMPDEST
0000137b: PUSH2 0x1382
0000137e: PUSH2 0x1ece
00001381: JUMP
00001382: JUMPDEST
00001383: PUSH1 0x00
00001385: DUP1
00001386: PUSH1 0x03
00001388: DUP1
00001389: SLOAD
0000138a: SWAP1
0000138b: POP
0000138c: PUSH1 0x40
0000138e: MLOAD
0000138f: DUP1
00001390: MSIZE
00001391: LT
00001392: PUSH2 0x1398
00001395: JUMPI
00001396: POP
00001397: MSIZE
00001398: JUMPDEST
00001399: SWAP1
0000139a: DUP1
0000139b: DUP3
0000139c: MSTORE
0000139d: DUP1
0000139e: PUSH1 0x20
000013a0: MUL
000013a1: PUSH1 0x20
000013a3: ADD
000013a4: DUP3
000013a5: ADD
000013a6: PUSH1 0x40
000013a8: MSTORE
000013a9: POP
000013aa: SWAP3
000013ab: POP
000013ac: PUSH1 0x00
000013ae: SWAP2
000013af: POP
000013b0: PUSH1 0x00
000013b2: SWAP1
000013b3: POP
000013b4: JUMPDEST
000013b5: PUSH1 0x03
000013b7: DUP1
000013b8: SLOAD
000013b9: SWAP1
000013ba: POP
000013bb: DUP2
000013bc: LT
000013bd: ISZERO
000013be: PUSH2 0x14f7
000013c1: JUMPI
000013c2: PUSH1 0x01
000013c4: PUSH1 0x00
000013c6: DUP7
000013c7: DUP2
000013c8: MSTORE
000013c9: PUSH1 0x20
000013cb: ADD
000013cc: SWAP1
000013cd: DUP2
000013ce: MSTORE
000013cf: PUSH1 0x20
000013d1: ADD
000013d2: PUSH1 0x00
000013d4: KECCAK256
000013d5: PUSH1 0x00
000013d7: PUSH1 0x03
000013d9: DUP4
000013da: DUP2
000013db: SLOAD
000013dc: DUP2
000013dd: LT
000013de: ISZERO
000013df: ISZERO
000013e0: PUSH2 0x13e5
000013e3: JUMPI
000013e4: INVALID
000013e5: JUMPDEST
000013e6: SWAP1
000013e7: PUSH1 0x00
000013e9: MSTORE
000013ea: PUSH1 0x20
000013ec: PUSH1 0x00
000013ee: KECCAK256
000013ef: SWAP1
000013f0: ADD
000013f1: PUSH1 0x00
000013f3: SWAP1
000013f4: SLOAD
000013f5: SWAP1
000013f6: PUSH2 0x0100
000013f9: EXP
000013fa: SWAP1
000013fb: DIV
000013fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001411: AND
00001412: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001427: AND
00001428: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000143d: AND
0000143e: DUP2
0000143f: MSTORE
00001440: PUSH1 0x20
00001442: ADD
00001443: SWAP1
00001444: DUP2
00001445: MSTORE
00001446: PUSH1 0x20
00001448: ADD
00001449: PUSH1 0x00
0000144b: KECCAK256
0000144c: PUSH1 0x00
0000144e: SWAP1
0000144f: SLOAD
00001450: SWAP1
00001451: PUSH2 0x0100
00001454: EXP
00001455: SWAP1
00001456: DIV
00001457: PUSH1 0xff
00001459: AND
0000145a: ISZERO
0000145b: PUSH2 0x14ea
0000145e: JUMPI
0000145f: PUSH1 0x03
00001461: DUP2
00001462: DUP2
00001463: SLOAD
00001464: DUP2
00001465: LT
00001466: ISZERO
00001467: ISZERO
00001468: PUSH2 0x146d
0000146b: JUMPI
0000146c: INVALID
0000146d: JUMPDEST
0000146e: SWAP1
0000146f: PUSH1 0x00
00001471: MSTORE
00001472: PUSH1 0x20
00001474: PUSH1 0x00
00001476: KECCAK256
00001477: SWAP1
00001478: ADD
00001479: PUSH1 0x00
0000147b: SWAP1
0000147c: SLOAD
0000147d: SWAP1
0000147e: PUSH2 0x0100
00001481: EXP
00001482: SWAP1
00001483: DIV
00001484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001499: AND
0000149a: DUP4
0000149b: DUP4
0000149c: DUP2
0000149d: MLOAD
0000149e: DUP2
0000149f: LT
000014a0: ISZERO
000014a1: ISZERO
000014a2: PUSH2 0x14a7
000014a5: JUMPI
000014a6: INVALID
000014a7: JUMPDEST
000014a8: SWAP1
000014a9: PUSH1 0x20
000014ab: ADD
000014ac: SWAP1
000014ad: PUSH1 0x20
000014af: MUL
000014b0: ADD
000014b1: SWAP1
000014b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014c7: AND
000014c8: SWAP1
000014c9: DUP2
000014ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014df: AND
000014e0: DUP2
000014e1: MSTORE
000014e2: POP
000014e3: POP
000014e4: PUSH1 0x01
000014e6: DUP3
000014e7: ADD
000014e8: SWAP2
000014e9: POP
000014ea: JUMPDEST
000014eb: DUP1
000014ec: DUP1
000014ed: PUSH1 0x01
000014ef: ADD
000014f0: SWAP2
000014f1: POP
000014f2: POP
000014f3: PUSH2 0x13b4
000014f6: JUMP
000014f7: JUMPDEST
000014f8: DUP2
000014f9: PUSH1 0x40
000014fb: MLOAD
000014fc: DUP1
000014fd: MSIZE
000014fe: LT
000014ff: PUSH2 0x1505
00001502: JUMPI
00001503: POP
00001504: MSIZE
00001505: JUMPDEST
00001506: SWAP1
00001507: DUP1
00001508: DUP3
00001509: MSTORE
0000150a: DUP1
0000150b: PUSH1 0x20
0000150d: MUL
0000150e: PUSH1 0x20
00001510: ADD
00001511: DUP3
00001512: ADD
00001513: PUSH1 0x40
00001515: MSTORE
00001516: POP
00001517: SWAP4
00001518: POP
00001519: PUSH1 0x00
0000151b: SWAP1
0000151c: POP
0000151d: JUMPDEST
0000151e: DUP2
0000151f: DUP2
00001520: LT
00001521: ISZERO
00001522: PUSH2 0x1594
00001525: JUMPI
00001526: DUP3
00001527: DUP2
00001528: DUP2
00001529: MLOAD
0000152a: DUP2
0000152b: LT
0000152c: ISZERO
0000152d: ISZERO
0000152e: PUSH2 0x1533
00001531: JUMPI
00001532: INVALID
00001533: JUMPDEST
00001534: SWAP1
00001535: PUSH1 0x20
00001537: ADD
00001538: SWAP1
00001539: PUSH1 0x20
0000153b: MUL
0000153c: ADD
0000153d: MLOAD
0000153e: DUP5
0000153f: DUP3
00001540: DUP2
00001541: MLOAD
00001542: DUP2
00001543: LT
00001544: ISZERO
00001545: ISZERO
00001546: PUSH2 0x154b
00001549: JUMPI
0000154a: INVALID
0000154b: JUMPDEST
0000154c: SWAP1
0000154d: PUSH1 0x20
0000154f: ADD
00001550: SWAP1
00001551: PUSH1 0x20
00001553: MUL
00001554: ADD
00001555: SWAP1
00001556: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000156b: AND
0000156c: SWAP1
0000156d: DUP2
0000156e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001583: AND
00001584: DUP2
00001585: MSTORE
00001586: POP
00001587: POP
00001588: DUP1
00001589: DUP1
0000158a: PUSH1 0x01
0000158c: ADD
0000158d: SWAP2
0000158e: POP
0000158f: POP
00001590: PUSH2 0x151d
00001593: JUMP
00001594: JUMPDEST
00001595: POP
00001596: POP
00001597: POP
00001598: SWAP2
00001599: SWAP1
0000159a: POP
0000159b: JUMP
0000159c: JUMPDEST
0000159d: PUSH1 0x05
0000159f: SLOAD
000015a0: DUP2
000015a1: JUMP
000015a2: JUMPDEST
000015a3: ADDRESS
000015a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015b9: AND
000015ba: CALLER
000015bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015d0: AND
000015d1: EQ
000015d2: ISZERO
000015d3: ISZERO
000015d4: PUSH2 0x15dc
000015d7: JUMPI
000015d8: PUSH1 0x00
000015da: DUP1
000015db: REVERT
000015dc: JUMPDEST
000015dd: PUSH1 0x03
000015df: DUP1
000015e0: SLOAD
000015e1: SWAP1
000015e2: POP
000015e3: DUP2
000015e4: PUSH1 0x32
000015e6: DUP3
000015e7: GT
000015e8: DUP1
000015e9: PUSH2 0x15f1
000015ec: JUMPI
000015ed: POP
000015ee: DUP2
000015ef: DUP2
000015f0: GT
000015f1: JUMPDEST
000015f2: DUP1
000015f3: PUSH2 0x15fc
000015f6: JUMPI
000015f7: POP
000015f8: PUSH1 0x00
000015fa: DUP2
000015fb: EQ
000015fc: JUMPDEST
000015fd: DUP1
000015fe: PUSH2 0x1607
00001601: JUMPI
00001602: POP
00001603: PUSH1 0x00
00001605: DUP3
00001606: EQ
00001607: JUMPDEST
00001608: ISZERO
00001609: PUSH2 0x1611
0000160c: JUMPI
0000160d: PUSH1 0x00
0000160f: DUP1
00001610: REVERT
00001611: JUMPDEST
00001612: DUP3
00001613: PUSH1 0x04
00001615: DUP2
00001616: SWAP1
00001617: SSTORE
00001618: POP
00001619: PUSH32 0xa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a
0000163a: DUP4
0000163b: PUSH1 0x40
0000163d: MLOAD
0000163e: DUP1
0000163f: DUP3
00001640: DUP2
00001641: MSTORE
00001642: PUSH1 0x20
00001644: ADD
00001645: SWAP2
00001646: POP
00001647: POP
00001648: PUSH1 0x40
0000164a: MLOAD
0000164b: DUP1
0000164c: SWAP2
0000164d: SUB
0000164e: SWAP1
0000164f: LOG1
00001650: POP
00001651: POP
00001652: POP
00001653: JUMP
00001654: JUMPDEST
00001655: CALLER
00001656: PUSH1 0x02
00001658: PUSH1 0x00
0000165a: DUP3
0000165b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001670: AND
00001671: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001686: AND
00001687: DUP2
00001688: MSTORE
00001689: PUSH1 0x20
0000168b: ADD
0000168c: SWAP1
0000168d: DUP2
0000168e: MSTORE
0000168f: PUSH1 0x20
00001691: ADD
00001692: PUSH1 0x00
00001694: KECCAK256
00001695: PUSH1 0x00
00001697: SWAP1
00001698: SLOAD
00001699: SWAP1
0000169a: PUSH2 0x0100
0000169d: EXP
0000169e: SWAP1
0000169f: DIV
000016a0: PUSH1 0xff
000016a2: AND
000016a3: ISZERO
000016a4: ISZERO
000016a5: PUSH2 0x16ad
000016a8: JUMPI
000016a9: PUSH1 0x00
000016ab: DUP1
000016ac: REVERT
000016ad: JUMPDEST
000016ae: DUP2
000016af: PUSH1 0x00
000016b1: DUP1
000016b2: PUSH1 0x00
000016b4: DUP4
000016b5: DUP2
000016b6: MSTORE
000016b7: PUSH1 0x20
000016b9: ADD
000016ba: SWAP1
000016bb: DUP2
000016bc: MSTORE
000016bd: PUSH1 0x20
000016bf: ADD
000016c0: PUSH1 0x00
000016c2: KECCAK256
000016c3: PUSH1 0x00
000016c5: ADD
000016c6: PUSH1 0x00
000016c8: SWAP1
000016c9: SLOAD
000016ca: SWAP1
000016cb: PUSH2 0x0100
000016ce: EXP
000016cf: SWAP1
000016d0: DIV
000016d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016e6: AND
000016e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016fc: AND
000016fd: EQ
000016fe: ISZERO
000016ff: PUSH2 0x1707
00001702: JUMPI
00001703: PUSH1 0x00
00001705: DUP1
00001706: REVERT
00001707: JUMPDEST
00001708: DUP3
00001709: CALLER
0000170a: PUSH1 0x01
0000170c: PUSH1 0x00
0000170e: DUP4
0000170f: DUP2
00001710: MSTORE
00001711: PUSH1 0x20
00001713: ADD
00001714: SWAP1
00001715: DUP2
00001716: MSTORE
00001717: PUSH1 0x20
00001719: ADD
0000171a: PUSH1 0x00
0000171c: KECCAK256
0000171d: PUSH1 0x00
0000171f: DUP3
00001720: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001735: AND
00001736: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000174b: AND
0000174c: DUP2
0000174d: MSTORE
0000174e: PUSH1 0x20
00001750: ADD
00001751: SWAP1
00001752: DUP2
00001753: MSTORE
00001754: PUSH1 0x20
00001756: ADD
00001757: PUSH1 0x00
00001759: KECCAK256
0000175a: PUSH1 0x00
0000175c: SWAP1
0000175d: SLOAD
0000175e: SWAP1
0000175f: PUSH2 0x0100
00001762: EXP
00001763: SWAP1
00001764: DIV
00001765: PUSH1 0xff
00001767: AND
00001768: ISZERO
00001769: PUSH2 0x1771
0000176c: JUMPI
0000176d: PUSH1 0x00
0000176f: DUP1
00001770: REVERT
00001771: JUMPDEST
00001772: PUSH1 0x01
00001774: DUP1
00001775: PUSH1 0x00
00001777: DUP8
00001778: DUP2
00001779: MSTORE
0000177a: PUSH1 0x20
0000177c: ADD
0000177d: SWAP1
0000177e: DUP2
0000177f: MSTORE
00001780: PUSH1 0x20
00001782: ADD
00001783: PUSH1 0x00
00001785: KECCAK256
00001786: PUSH1 0x00
00001788: CALLER
00001789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000179e: AND
0000179f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017b4: AND
000017b5: DUP2
000017b6: MSTORE
000017b7: PUSH1 0x20
000017b9: ADD
000017ba: SWAP1
000017bb: DUP2
000017bc: MSTORE
000017bd: PUSH1 0x20
000017bf: ADD
000017c0: PUSH1 0x00
000017c2: KECCAK256
000017c3: PUSH1 0x00
000017c5: PUSH2 0x0100
000017c8: EXP
000017c9: DUP2
000017ca: SLOAD
000017cb: DUP2
000017cc: PUSH1 0xff
000017ce: MUL
000017cf: NOT
000017d0: AND
000017d1: SWAP1
000017d2: DUP4
000017d3: ISZERO
000017d4: ISZERO
000017d5: MUL
000017d6: OR
000017d7: SWAP1
000017d8: SSTORE
000017d9: POP
000017da: DUP5
000017db: CALLER
000017dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f1: AND
000017f2: PUSH32 0x4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef
00001813: PUSH1 0x40
00001815: MLOAD
00001816: PUSH1 0x40
00001818: MLOAD
00001819: DUP1
0000181a: SWAP2
0000181b: SUB
0000181c: SWAP1
0000181d: LOG3
0000181e: PUSH2 0x1826
00001821: DUP6
00001822: PUSH2 0x1b6c
00001825: JUMP
00001826: JUMPDEST
00001827: POP
00001828: POP
00001829: POP
0000182a: POP
0000182b: POP
0000182c: JUMP
0000182d: JUMPDEST
0000182e: PUSH1 0x00
00001830: PUSH2 0x183a
00001833: DUP5
00001834: DUP5
00001835: DUP5
00001836: PUSH2 0x1d26
00001839: JUMP
0000183a: JUMPDEST
0000183b: SWAP1
0000183c: POP
0000183d: PUSH2 0x1845
00001840: DUP2
00001841: PUSH2 0x1654
00001844: JUMP
00001845: JUMPDEST
00001846: SWAP4
00001847: SWAP3
00001848: POP
00001849: POP
0000184a: POP
0000184b: JUMP
0000184c: JUMPDEST
0000184d: PUSH1 0x32
0000184f: DUP2
00001850: JUMP
00001851: JUMPDEST
00001852: PUSH1 0x04
00001854: SLOAD
00001855: DUP2
00001856: JUMP
00001857: JUMPDEST
00001858: PUSH1 0x00
0000185a: ADDRESS
0000185b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001870: AND
00001871: CALLER
00001872: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001887: AND
00001888: EQ
00001889: ISZERO
0000188a: ISZERO
0000188b: PUSH2 0x1893
0000188e: JUMPI
0000188f: PUSH1 0x00
00001891: DUP1
00001892: REVERT
00001893: JUMPDEST
00001894: DUP3
00001895: PUSH1 0x02
00001897: PUSH1 0x00
00001899: DUP3
0000189a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018af: AND
000018b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c5: AND
000018c6: DUP2
000018c7: MSTORE
000018c8: PUSH1 0x20
000018ca: ADD
000018cb: SWAP1
000018cc: DUP2
000018cd: MSTORE
000018ce: PUSH1 0x20
000018d0: ADD
000018d1: PUSH1 0x00
000018d3: KECCAK256
000018d4: PUSH1 0x00
000018d6: SWAP1
000018d7: SLOAD
000018d8: SWAP1
000018d9: PUSH2 0x0100
000018dc: EXP
000018dd: SWAP1
000018de: DIV
000018df: PUSH1 0xff
000018e1: AND
000018e2: ISZERO
000018e3: ISZERO
000018e4: PUSH2 0x18ec
000018e7: JUMPI
000018e8: PUSH1 0x00
000018ea: DUP1
000018eb: REVERT
000018ec: JUMPDEST
000018ed: DUP3
000018ee: PUSH1 0x02
000018f0: PUSH1 0x00
000018f2: DUP3
000018f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001908: AND
00001909: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000191e: AND
0000191f: DUP2
00001920: MSTORE
00001921: PUSH1 0x20
00001923: ADD
00001924: SWAP1
00001925: DUP2
00001926: MSTORE
00001927: PUSH1 0x20
00001929: ADD
0000192a: PUSH1 0x00
0000192c: KECCAK256
0000192d: PUSH1 0x00
0000192f: SWAP1
00001930: SLOAD
00001931: SWAP1
00001932: PUSH2 0x0100
00001935: EXP
00001936: SWAP1
00001937: DIV
00001938: PUSH1 0xff
0000193a: AND
0000193b: ISZERO
0000193c: PUSH2 0x1944
0000193f: JUMPI
00001940: PUSH1 0x00
00001942: DUP1
00001943: REVERT
00001944: JUMPDEST
00001945: PUSH1 0x00
00001947: SWAP3
00001948: POP
00001949: JUMPDEST
0000194a: PUSH1 0x03
0000194c: DUP1
0000194d: SLOAD
0000194e: SWAP1
0000194f: POP
00001950: DUP4
00001951: LT
00001952: ISZERO
00001953: PUSH2 0x1a2f
00001956: JUMPI
00001957: DUP5
00001958: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000196d: AND
0000196e: PUSH1 0x03
00001970: DUP5
00001971: DUP2
00001972: SLOAD
00001973: DUP2
00001974: LT
00001975: ISZERO
00001976: ISZERO
00001977: PUSH2 0x197c
0000197a: JUMPI
0000197b: INVALID
0000197c: JUMPDEST
0000197d: SWAP1
0000197e: PUSH1 0x00
00001980: MSTORE
00001981: PUSH1 0x20
00001983: PUSH1 0x00
00001985: KECCAK256
00001986: SWAP1
00001987: ADD
00001988: PUSH1 0x00
0000198a: SWAP1
0000198b: SLOAD
0000198c: SWAP1
0000198d: PUSH2 0x0100
00001990: EXP
00001991: SWAP1
00001992: DIV
00001993: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019a8: AND
000019a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019be: AND
000019bf: EQ
000019c0: ISZERO
000019c1: PUSH2 0x1a22
000019c4: JUMPI
000019c5: DUP4
000019c6: PUSH1 0x03
000019c8: DUP5
000019c9: DUP2
000019ca: SLOAD
000019cb: DUP2
000019cc: LT
000019cd: ISZERO
000019ce: ISZERO
000019cf: PUSH2 0x19d4
000019d2: JUMPI
000019d3: INVALID
000019d4: JUMPDEST
000019d5: SWAP1
000019d6: PUSH1 0x00
000019d8: MSTORE
000019d9: PUSH1 0x20
000019db: PUSH1 0x00
000019dd: KECCAK256
000019de: SWAP1
000019df: ADD
000019e0: PUSH1 0x00
000019e2: PUSH2 0x0100
000019e5: EXP
000019e6: DUP2
000019e7: SLOAD
000019e8: DUP2
000019e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019fe: MUL
000019ff: NOT
00001a00: AND
00001a01: SWAP1
00001a02: DUP4
00001a03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a18: AND
00001a19: MUL
00001a1a: OR
00001a1b: SWAP1
00001a1c: SSTORE
00001a1d: POP
00001a1e: PUSH2 0x1a2f
00001a21: JUMP
00001a22: JUMPDEST
00001a23: DUP3
00001a24: DUP1
00001a25: PUSH1 0x01
00001a27: ADD
00001a28: SWAP4
00001a29: POP
00001a2a: POP
00001a2b: PUSH2 0x1949
00001a2e: JUMP
00001a2f: JUMPDEST
00001a30: PUSH1 0x00
00001a32: PUSH1 0x02
00001a34: PUSH1 0x00
00001a36: DUP8
00001a37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a4c: AND
00001a4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a62: AND
00001a63: DUP2
00001a64: MSTORE
00001a65: PUSH1 0x20
00001a67: ADD
00001a68: SWAP1
00001a69: DUP2
00001a6a: MSTORE
00001a6b: PUSH1 0x20
00001a6d: ADD
00001a6e: PUSH1 0x00
00001a70: KECCAK256
00001a71: PUSH1 0x00
00001a73: PUSH2 0x0100
00001a76: EXP
00001a77: DUP2
00001a78: SLOAD
00001a79: DUP2
00001a7a: PUSH1 0xff
00001a7c: MUL
00001a7d: NOT
00001a7e: AND
00001a7f: SWAP1
00001a80: DUP4
00001a81: ISZERO
00001a82: ISZERO
00001a83: MUL
00001a84: OR
00001a85: SWAP1
00001a86: SSTORE
00001a87: POP
00001a88: PUSH1 0x01
00001a8a: PUSH1 0x02
00001a8c: PUSH1 0x00
00001a8e: DUP7
00001a8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aa4: AND
00001aa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aba: AND
00001abb: DUP2
00001abc: MSTORE
00001abd: PUSH1 0x20
00001abf: ADD
00001ac0: SWAP1
00001ac1: DUP2
00001ac2: MSTORE
00001ac3: PUSH1 0x20
00001ac5: ADD
00001ac6: PUSH1 0x00
00001ac8: KECCAK256
00001ac9: PUSH1 0x00
00001acb: PUSH2 0x0100
00001ace: EXP
00001acf: DUP2
00001ad0: SLOAD
00001ad1: DUP2
00001ad2: PUSH1 0xff
00001ad4: MUL
00001ad5: NOT
00001ad6: AND
00001ad7: SWAP1
00001ad8: DUP4
00001ad9: ISZERO
00001ada: ISZERO
00001adb: MUL
00001adc: OR
00001add: SWAP1
00001ade: SSTORE
00001adf: POP
00001ae0: DUP5
00001ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af6: AND
00001af7: PUSH32 0x8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90
00001b18: PUSH1 0x40
00001b1a: MLOAD
00001b1b: PUSH1 0x40
00001b1d: MLOAD
00001b1e: DUP1
00001b1f: SWAP2
00001b20: SUB
00001b21: SWAP1
00001b22: LOG2
00001b23: DUP4
00001b24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b39: AND
00001b3a: PUSH32 0xf39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d
00001b5b: PUSH1 0x40
00001b5d: MLOAD
00001b5e: PUSH1 0x40
00001b60: MLOAD
00001b61: DUP1
00001b62: SWAP2
00001b63: SUB
00001b64: SWAP1
00001b65: LOG2
00001b66: POP
00001b67: POP
00001b68: POP
00001b69: POP
00001b6a: POP
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: PUSH1 0x00
00001b6f: DUP2
00001b70: PUSH1 0x00
00001b72: DUP1
00001b73: DUP3
00001b74: DUP2
00001b75: MSTORE
00001b76: PUSH1 0x20
00001b78: ADD
00001b79: SWAP1
00001b7a: DUP2
00001b7b: MSTORE
00001b7c: PUSH1 0x20
00001b7e: ADD
00001b7f: PUSH1 0x00
00001b81: KECCAK256
00001b82: PUSH1 0x03
00001b84: ADD
00001b85: PUSH1 0x00
00001b87: SWAP1
00001b88: SLOAD
00001b89: SWAP1
00001b8a: PUSH2 0x0100
00001b8d: EXP
00001b8e: SWAP1
00001b8f: DIV
00001b90: PUSH1 0xff
00001b92: AND
00001b93: ISZERO
00001b94: PUSH2 0x1b9c
00001b97: JUMPI
00001b98: PUSH1 0x00
00001b9a: DUP1
00001b9b: REVERT
00001b9c: JUMPDEST
00001b9d: PUSH2 0x1ba5
00001ba0: DUP4
00001ba1: PUSH2 0x0f74
00001ba4: JUMP
00001ba5: JUMPDEST
00001ba6: ISZERO
00001ba7: PUSH2 0x1d21
00001baa: JUMPI
00001bab: PUSH1 0x00
00001bad: DUP1
00001bae: DUP5
00001baf: DUP2
00001bb0: MSTORE
00001bb1: PUSH1 0x20
00001bb3: ADD
00001bb4: SWAP1
00001bb5: DUP2
00001bb6: MSTORE
00001bb7: PUSH1 0x20
00001bb9: ADD
00001bba: PUSH1 0x00
00001bbc: KECCAK256
00001bbd: SWAP2
00001bbe: POP
00001bbf: PUSH1 0x01
00001bc1: DUP3
00001bc2: PUSH1 0x03
00001bc4: ADD
00001bc5: PUSH1 0x00
00001bc7: PUSH2 0x0100
00001bca: EXP
00001bcb: DUP2
00001bcc: SLOAD
00001bcd: DUP2
00001bce: PUSH1 0xff
00001bd0: MUL
00001bd1: NOT
00001bd2: AND
00001bd3: SWAP1
00001bd4: DUP4
00001bd5: ISZERO
00001bd6: ISZERO
00001bd7: MUL
00001bd8: OR
00001bd9: SWAP1
00001bda: SSTORE
00001bdb: POP
00001bdc: DUP2
00001bdd: PUSH1 0x00
00001bdf: ADD
00001be0: PUSH1 0x00
00001be2: SWAP1
00001be3: SLOAD
00001be4: SWAP1
00001be5: PUSH2 0x0100
00001be8: EXP
00001be9: SWAP1
00001bea: DIV
00001beb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c00: AND
00001c01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c16: AND
00001c17: DUP3
00001c18: PUSH1 0x01
00001c1a: ADD
00001c1b: SLOAD
00001c1c: DUP4
00001c1d: PUSH1 0x02
00001c1f: ADD
00001c20: PUSH1 0x40
00001c22: MLOAD
00001c23: DUP1
00001c24: DUP3
00001c25: DUP1
00001c26: SLOAD
00001c27: PUSH1 0x01
00001c29: DUP2
00001c2a: PUSH1 0x01
00001c2c: AND
00001c2d: ISZERO
00001c2e: PUSH2 0x0100
00001c31: MUL
00001c32: SUB
00001c33: AND
00001c34: PUSH1 0x02
00001c36: SWAP1
00001c37: DIV
00001c38: DUP1
00001c39: ISZERO
00001c3a: PUSH2 0x1c84
00001c3d: JUMPI
00001c3e: DUP1
00001c3f: PUSH1 0x1f
00001c41: LT
00001c42: PUSH2 0x1c59
00001c45: JUMPI
00001c46: PUSH2 0x0100
00001c49: DUP1
00001c4a: DUP4
00001c4b: SLOAD
00001c4c: DIV
00001c4d: MUL
00001c4e: DUP4
00001c4f: MSTORE
00001c50: SWAP2
00001c51: PUSH1 0x20
00001c53: ADD
00001c54: SWAP2
00001c55: PUSH2 0x1c84
00001c58: JUMP
00001c59: JUMPDEST
00001c5a: DUP3
00001c5b: ADD
00001c5c: SWAP2
00001c5d: SWAP1
00001c5e: PUSH1 0x00
00001c60: MSTORE
00001c61: PUSH1 0x20
00001c63: PUSH1 0x00
00001c65: KECCAK256
00001c66: SWAP1
00001c67: JUMPDEST
00001c68: DUP2
00001c69: SLOAD
00001c6a: DUP2
00001c6b: MSTORE
00001c6c: SWAP1
00001c6d: PUSH1 0x01
00001c6f: ADD
00001c70: SWAP1
00001c71: PUSH1 0x20
00001c73: ADD
00001c74: DUP1
00001c75: DUP4
00001c76: GT
00001c77: PUSH2 0x1c67
00001c7a: JUMPI
00001c7b: DUP3
00001c7c: SWAP1
00001c7d: SUB
00001c7e: PUSH1 0x1f
00001c80: AND
00001c81: DUP3
00001c82: ADD
00001c83: SWAP2
00001c84: JUMPDEST
00001c85: POP
00001c86: POP
00001c87: SWAP2
00001c88: POP
00001c89: POP
00001c8a: PUSH1 0x00
00001c8c: PUSH1 0x40
00001c8e: MLOAD
00001c8f: DUP1
00001c90: DUP4
00001c91: SUB
00001c92: DUP2
00001c93: DUP6
00001c94: DUP8
00001c95: PUSH2 0x8796
00001c98: GAS
00001c99: SUB
00001c9a: CALL
00001c9b: SWAP3
00001c9c: POP
00001c9d: POP
00001c9e: POP
00001c9f: ISZERO
00001ca0: PUSH2 0x1cd5
00001ca3: JUMPI
00001ca4: DUP3
00001ca5: PUSH32 0x33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75
00001cc6: PUSH1 0x40
00001cc8: MLOAD
00001cc9: PUSH1 0x40
00001ccb: MLOAD
00001ccc: DUP1
00001ccd: SWAP2
00001cce: SUB
00001ccf: SWAP1
00001cd0: LOG2
00001cd1: PUSH2 0x1d20
00001cd4: JUMP
00001cd5: JUMPDEST
00001cd6: DUP3
00001cd7: PUSH32 0x526441bb6c1aba3c9a4a6ca1d6545da9c2333c8c48343ef398eb858d72b79236
00001cf8: PUSH1 0x40
00001cfa: MLOAD
00001cfb: PUSH1 0x40
00001cfd: MLOAD
00001cfe: DUP1
00001cff: SWAP2
00001d00: SUB
00001d01: SWAP1
00001d02: LOG2
00001d03: PUSH1 0x00
00001d05: DUP3
00001d06: PUSH1 0x03
00001d08: ADD
00001d09: PUSH1 0x00
00001d0b: PUSH2 0x0100
00001d0e: EXP
00001d0f: DUP2
00001d10: SLOAD
00001d11: DUP2
00001d12: PUSH1 0xff
00001d14: MUL
00001d15: NOT
00001d16: AND
00001d17: SWAP1
00001d18: DUP4
00001d19: ISZERO
00001d1a: ISZERO
00001d1b: MUL
00001d1c: OR
00001d1d: SWAP1
00001d1e: SSTORE
00001d1f: POP
00001d20: JUMPDEST
00001d21: JUMPDEST
00001d22: POP
00001d23: POP
00001d24: POP
00001d25: JUMP
00001d26: JUMPDEST
00001d27: PUSH1 0x00
00001d29: DUP4
00001d2a: PUSH1 0x00
00001d2c: DUP2
00001d2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d42: AND
00001d43: EQ
00001d44: ISZERO
00001d45: PUSH2 0x1d4d
00001d48: JUMPI
00001d49: PUSH1 0x00
00001d4b: DUP1
00001d4c: REVERT
00001d4d: JUMPDEST
00001d4e: PUSH1 0x05
00001d50: SLOAD
00001d51: SWAP2
00001d52: POP
00001d53: PUSH1 0x80
00001d55: PUSH1 0x40
00001d57: MLOAD
00001d58: SWAP1
00001d59: DUP2
00001d5a: ADD
00001d5b: PUSH1 0x40
00001d5d: MSTORE
00001d5e: DUP1
00001d5f: DUP7
00001d60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d75: AND
00001d76: DUP2
00001d77: MSTORE
00001d78: PUSH1 0x20
00001d7a: ADD
00001d7b: DUP6
00001d7c: DUP2
00001d7d: MSTORE
00001d7e: PUSH1 0x20
00001d80: ADD
00001d81: DUP5
00001d82: DUP2
00001d83: MSTORE
00001d84: PUSH1 0x20
00001d86: ADD
00001d87: PUSH1 0x00
00001d89: ISZERO
00001d8a: ISZERO
00001d8b: DUP2
00001d8c: MSTORE
00001d8d: POP
00001d8e: PUSH1 0x00
00001d90: DUP1
00001d91: DUP5
00001d92: DUP2
00001d93: MSTORE
00001d94: PUSH1 0x20
00001d96: ADD
00001d97: SWAP1
00001d98: DUP2
00001d99: MSTORE
00001d9a: PUSH1 0x20
00001d9c: ADD
00001d9d: PUSH1 0x00
00001d9f: KECCAK256
00001da0: PUSH1 0x00
00001da2: DUP3
00001da3: ADD
00001da4: MLOAD
00001da5: DUP2
00001da6: PUSH1 0x00
00001da8: ADD
00001da9: PUSH1 0x00
00001dab: PUSH2 0x0100
00001dae: EXP
00001daf: DUP2
00001db0: SLOAD
00001db1: DUP2
00001db2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dc7: MUL
00001dc8: NOT
00001dc9: AND
00001dca: SWAP1
00001dcb: DUP4
00001dcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001de1: AND
00001de2: MUL
00001de3: OR
00001de4: SWAP1
00001de5: SSTORE
00001de6: POP
00001de7: PUSH1 0x20
00001de9: DUP3
00001dea: ADD
00001deb: MLOAD
00001dec: DUP2
00001ded: PUSH1 0x01
00001def: ADD
00001df0: SSTORE
00001df1: PUSH1 0x40
00001df3: DUP3
00001df4: ADD
00001df5: MLOAD
00001df6: DUP2
00001df7: PUSH1 0x02
00001df9: ADD
00001dfa: SWAP1
00001dfb: DUP1
00001dfc: MLOAD
00001dfd: SWAP1
00001dfe: PUSH1 0x20
00001e00: ADD
00001e01: SWAP1
00001e02: PUSH2 0x1e0c
00001e05: SWAP3
00001e06: SWAP2
00001e07: SWAP1
00001e08: PUSH2 0x1ef6
00001e0b: JUMP
00001e0c: JUMPDEST
00001e0d: POP
00001e0e: PUSH1 0x60
00001e10: DUP3
00001e11: ADD
00001e12: MLOAD
00001e13: DUP2
00001e14: PUSH1 0x03
00001e16: ADD
00001e17: PUSH1 0x00
00001e19: PUSH2 0x0100
00001e1c: EXP
00001e1d: DUP2
00001e1e: SLOAD
00001e1f: DUP2
00001e20: PUSH1 0xff
00001e22: MUL
00001e23: NOT
00001e24: AND
00001e25: SWAP1
00001e26: DUP4
00001e27: ISZERO
00001e28: ISZERO
00001e29: MUL
00001e2a: OR
00001e2b: SWAP1
00001e2c: SSTORE
00001e2d: POP
00001e2e: SWAP1
00001e2f: POP
00001e30: POP
00001e31: PUSH1 0x01
00001e33: PUSH1 0x05
00001e35: PUSH1 0x00
00001e37: DUP3
00001e38: DUP3
00001e39: SLOAD
00001e3a: ADD
00001e3b: SWAP3
00001e3c: POP
00001e3d: POP
00001e3e: DUP2
00001e3f: SWAP1
00001e40: SSTORE
00001e41: POP
00001e42: DUP2
00001e43: PUSH32 0xc0ba8fe4b176c1714197d43b9cc6bcf797a4a7461c5fe8d0ef6e184ae7601e51
00001e64: PUSH1 0x40
00001e66: MLOAD
00001e67: PUSH1 0x40
00001e69: MLOAD
00001e6a: DUP1
00001e6b: SWAP2
00001e6c: SUB
00001e6d: SWAP1
00001e6e: LOG2
00001e6f: POP
00001e70: SWAP4
00001e71: SWAP3
00001e72: POP
00001e73: POP
00001e74: POP
00001e75: JUMP
00001e76: JUMPDEST
00001e77: DUP2
00001e78: SLOAD
00001e79: DUP2
00001e7a: DUP4
00001e7b: SSTORE
00001e7c: DUP2
00001e7d: DUP2
00001e7e: ISZERO
00001e7f: GT
00001e80: PUSH2 0x1e9d
00001e83: JUMPI
00001e84: DUP2
00001e85: DUP4
00001e86: PUSH1 0x00
00001e88: MSTORE
00001e89: PUSH1 0x20
00001e8b: PUSH1 0x00
00001e8d: KECCAK256
00001e8e: SWAP2
00001e8f: DUP3
00001e90: ADD
00001e91: SWAP2
00001e92: ADD
00001e93: PUSH2 0x1e9c
00001e96: SWAP2
00001e97: SWAP1
00001e98: PUSH2 0x1f76
00001e9b: JUMP
00001e9c: JUMPDEST
00001e9d: JUMPDEST
00001e9e: POP
00001e9f: POP
00001ea0: POP
00001ea1: JUMP
00001ea2: JUMPDEST
00001ea3: DUP2
00001ea4: SLOAD
00001ea5: DUP2
00001ea6: DUP4
00001ea7: SSTORE
00001ea8: DUP2
00001ea9: DUP2
00001eaa: ISZERO
00001eab: GT
00001eac: PUSH2 0x1ec9
00001eaf: JUMPI
00001eb0: DUP2
00001eb1: DUP4
00001eb2: PUSH1 0x00
00001eb4: MSTORE
00001eb5: PUSH1 0x20
00001eb7: PUSH1 0x00
00001eb9: KECCAK256
00001eba: SWAP2
00001ebb: DUP3
00001ebc: ADD
00001ebd: SWAP2
00001ebe: ADD
00001ebf: PUSH2 0x1ec8
00001ec2: SWAP2
00001ec3: SWAP1
00001ec4: PUSH2 0x1f76
00001ec7: JUMP
00001ec8: JUMPDEST
00001ec9: JUMPDEST
00001eca: POP
00001ecb: POP
00001ecc: POP
00001ecd: JUMP
00001ece: JUMPDEST
00001ecf: PUSH1 0x20
00001ed1: PUSH1 0x40
00001ed3: MLOAD
00001ed4: SWAP1
00001ed5: DUP2
00001ed6: ADD
00001ed7: PUSH1 0x40
00001ed9: MSTORE
00001eda: DUP1
00001edb: PUSH1 0x00
00001edd: DUP2
00001ede: MSTORE
00001edf: POP
00001ee0: SWAP1
00001ee1: JUMP
00001ee2: JUMPDEST
00001ee3: PUSH1 0x20
00001ee5: PUSH1 0x40
00001ee7: MLOAD
00001ee8: SWAP1
00001ee9: DUP2
00001eea: ADD
00001eeb: PUSH1 0x40
00001eed: MSTORE
00001eee: DUP1
00001eef: PUSH1 0x00
00001ef1: DUP2
00001ef2: MSTORE
00001ef3: POP
00001ef4: SWAP1
00001ef5: JUMP
00001ef6: JUMPDEST
00001ef7: DUP3
00001ef8: DUP1
00001ef9: SLOAD
00001efa: PUSH1 0x01
00001efc: DUP2
00001efd: PUSH1 0x01
00001eff: AND
00001f00: ISZERO
00001f01: PUSH2 0x0100
00001f04: MUL
00001f05: SUB
00001f06: AND
00001f07: PUSH1 0x02
00001f09: SWAP1
00001f0a: DIV
00001f0b: SWAP1
00001f0c: PUSH1 0x00
00001f0e: MSTORE
00001f0f: PUSH1 0x20
00001f11: PUSH1 0x00
00001f13: KECCAK256
00001f14: SWAP1
00001f15: PUSH1 0x1f
00001f17: ADD
00001f18: PUSH1 0x20
00001f1a: SWAP1
00001f1b: DIV
00001f1c: DUP2
00001f1d: ADD
00001f1e: SWAP3
00001f1f: DUP3
00001f20: PUSH1 0x1f
00001f22: LT
00001f23: PUSH2 0x1f37
00001f26: JUMPI
00001f27: DUP1
00001f28: MLOAD
00001f29: PUSH1 0xff
00001f2b: NOT
00001f2c: AND
00001f2d: DUP4
00001f2e: DUP1
00001f2f: ADD
00001f30: OR
00001f31: DUP6
00001f32: SSTORE
00001f33: PUSH2 0x1f65
00001f36: JUMP
00001f37: JUMPDEST
00001f38: DUP3
00001f39: DUP1
00001f3a: ADD
00001f3b: PUSH1 0x01
00001f3d: ADD
00001f3e: DUP6
00001f3f: SSTORE
00001f40: DUP3
00001f41: ISZERO
00001f42: PUSH2 0x1f65
00001f45: JUMPI
00001f46: SWAP2
00001f47: DUP3
00001f48: ADD
00001f49: JUMPDEST
00001f4a: DUP3
00001f4b: DUP2
00001f4c: GT
00001f4d: ISZERO
00001f4e: PUSH2 0x1f64
00001f51: JUMPI
00001f52: DUP3
00001f53: MLOAD
00001f54: DUP3
00001f55: SSTORE
00001f56: SWAP2
00001f57: PUSH1 0x20
00001f59: ADD
00001f5a: SWAP2
00001f5b: SWAP1
00001f5c: PUSH1 0x01
00001f5e: ADD
00001f5f: SWAP1
00001f60: PUSH2 0x1f49
00001f63: JUMP
00001f64: JUMPDEST
00001f65: JUMPDEST
00001f66: POP
00001f67: SWAP1
00001f68: POP
00001f69: PUSH2 0x1f72
00001f6c: SWAP2
00001f6d: SWAP1
00001f6e: PUSH2 0x1f76
00001f71: JUMP
00001f72: JUMPDEST
00001f73: POP
00001f74: SWAP1
00001f75: JUMP
00001f76: JUMPDEST
00001f77: PUSH2 0x1f98
00001f7a: SWAP2
00001f7b: SWAP1
00001f7c: JUMPDEST
00001f7d: DUP1
00001f7e: DUP3
00001f7f: GT
00001f80: ISZERO
00001f81: PUSH2 0x1f94
00001f84: JUMPI
00001f85: PUSH1 0x00
00001f87: DUP2
00001f88: PUSH1 0x00
00001f8a: SWAP1
00001f8b: SSTORE
00001f8c: POP
00001f8d: PUSH1 0x01
00001f8f: ADD
00001f90: PUSH2 0x1f7c
00001f93: JUMP
00001f94: JUMPDEST
00001f95: POP
00001f96: SWAP1
00001f97: JUMP
00001f98: JUMPDEST
00001f99: SWAP1
00001f9a: JUMP
00001f9b: STOP
00001f9c: LOG1
00001f9d: PUSH6 0x627a7a723058
00001fa4: KECCAK256
00001fa5: UNKNOWN(0xC3)
00001fa6: SWAP14
00001fa7: SELFDESTRUCT
00001fa8: UNKNOWN(0x29)
00001fa9: UNKNOWN(0x2E)
00001faa: PUSH16 0x921468feac465f325a0653a5bd858547
00001fbb: JUMPI
00001fbc: UNKNOWN(0xAA)
00001fbd: DUP8
00001fbe: PUSH11

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0x952eaae465ee4dea0a7fed251dd0020072500b03ec9621684121c37969b2fbb1
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x952eaae465ee4dea0a7fed251dd0020072500b03ec9621684121c37969b2fbb1",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2165,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5562,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6257,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x0bca498247aa1068ceab6716b28c9c5a4837d9e7997582fd80e0fc457feae056
call_targets: 0x9a4cd44c1a55cfda565430dee9bfb54f2aacfd6a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0bca498247aa1068ceab6716b28c9c5a4837d9e7997582fd80e0fc457feae056",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x9a4cd44c1a55cfda565430dee9bfb54f2aacfd6a"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7322,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 2165,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5562,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6257,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x0bca498247aa1068ceab6716b28c9c5a4837d9e7997582fd80e0fc457feae056
call_targets: 0x9a4cd44c1a55cfda565430dee9bfb54f2aacfd6a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x0bca498247aa1068ceab6716b28c9c5a4837d9e7997582fd80e0fc457feae056",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x9a4cd44c1a55cfda565430dee9bfb54f2aacfd6a"
    ],
    "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": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x025e7c27",
            "selector": "0x025e7c27",
            "calldata_variants": [
                "0x025e7c27",
                "0x025e7c270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x173825d9",
            "selector": "0x173825d9",
            "calldata_variants": [
                "0x173825d9",
                "0x173825d90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x20ea8d86",
            "selector": "0x20ea8d86",
            "calldata_variants": [
                "0x20ea8d86",
                "0x20ea8d860000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2f54bf6e",
            "selector": "0x2f54bf6e",
            "calldata_variants": [
                "0x2f54bf6e",
                "0x2f54bf6e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x3411c81c",
            "selector": "0x3411c81c",
            "calldata_variants": [
                "0x3411c81c",
                "0x3411c81c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x54741525",
            "selector": "0x54741525",
            "calldata_variants": [
                "0x54741525",
                "0x547415250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x7065cb48",
            "selector": "0x7065cb48",
            "calldata_variants": [
                "0x7065cb48",
                "0x7065cb480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7322,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 2165,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 3478,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5562,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6257,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}