132bacb7-f8ab-49d7-84fe-538eee920e62
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_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 |
viewtrace_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 |
viewtrace_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"
}
]
}
|