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

Analysis Run

8d2042ca-b42e-4fdf-9579-2d48667fbb52

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 2:36 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31660 report.consolidate complete 1 / 1 3 months ago
95383 artifact.fetch complete 1 / 3 1 week ago
95384 tool.cast_disasm complete 1 / 3 1 week ago
95385 analysis.bundle complete 1 / 3 1 week ago
95386 capability.graph complete 1 / 3 1 week ago
95387 detector.run complete 1 / 3 1 week ago
95388 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit path identified from the bytecode-only review of BYTECODE_BUNDLE.txt.
View stderr
[codex:338465] OpenAI Codex v0.77.0 (research preview)
[codex:338465] --------
[codex:338465] workdir: /tmp/codex-multi-4sro8qwa
[codex:338465] model: gpt-5.2-codex
[codex:338465] provider: openai
[codex:338465] approval: never
[codex:338465] sandbox: read-only
[codex:338465] reasoning effort: xhigh
[codex:338465] reasoning summaries: auto
[codex:338465] session id: 019b8c00-0f88-7c93-b2f5-d0a2c39a9759
[codex:338465] --------
[codex:338465] user
[codex:338465] 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:338465] 
[codex:338465] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:338465] 
[codex:338465] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:338465] - Gas inefficiency, code quality, or best practices
[codex:338465] - Theoretical vulnerabilities without a clear extraction path
[codex:338465] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:338465] - Issues requiring social engineering or off-chain coordination
[codex:338465] 
[codex:338465] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:338465] - CALL/DELEGATECALL with controllable destination or calldata
[codex:338465] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:338465] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:338465] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:338465] - External calls before state updates (reentrancy)
[codex:338465] - SELFDESTRUCT with controllable beneficiary
[codex:338465] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:338465] 
[codex:338465] For each finding, you MUST explain:
[codex:338465] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:338465] 2. The concrete sequence of transactions to extract value
[codex:338465] 3. Why you believe this is exploitable (not just suspicious)
[codex:338465] 
[codex:338465] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:338465] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:338465] 
[codex:338465] Output MUST be valid JSON matching the provided schema.
[codex:338465] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:338465] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:338465] mcp startup: no servers
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Preparing to read BYTECODE_BUNDLE.txt**
[codex:338465] exec
[codex:338465] /bin/bash -lc ls in /tmp/codex-multi-4sro8qwa succeeded in 5ms:
[codex:338465] BYTECODE_BUNDLE.txt
[codex:338465] codex-output-schema.json
[codex:338465] exec
[codex:338465] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-4sro8qwa succeeded in 6ms:
[codex:338465] Runtime bytecode bundle for best-effort auditing.
[codex:338465] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:338465] 
[codex:338465] FILE: runtime_bytecode.hex
[codex:338465] 0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101d2578063095ea7b3146102625780630cb0a44b146102c757806310f66905146102de57806318160ddd1461031e5780631ba6a6b2146103495780631e411f2a1461037957806323b872dd146103a45780632629938114610429578063313ce567146104545780633c03e68d146104855780633ca33c74146104d25780634f0f4aa91461051557806357b5ba4c14610634578063593ab5251461066157806361ea72081461068c57806370a08231146106b75780637b6dad961461070e5780637ce461551461074e57806389c19ddb1461077d5780638da5cb5b146108a557806395d89b41146108fc578063a9059cbb1461098c578063a9b78589146109f1578063ac8b904014610a1c578063b04b614514610acb578063b088b12914610b28578063b514211b14610b53578063c311d04914610b7e578063ca7c4dba14610b9e578063d20deac614610bc9578063d394c78814610cbc578063d5002f2e14610ceb578063dd62ed3e14610d16578063e612577314610d8d578063f851a44014610db8578063ff02bd4814610e0f575b600080fd5b3480156101de57600080fd5b506101e7610e3a565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561022757808201518184015260208101905061020c565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026e57600080fd5b506102ad600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e73565b604051808215151515815260200191505060405180910390f35b3480156102d357600080fd5b506102dc610f65565b005b61031c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611073565b005b34801561032a57600080fd5b506103336111ab565b6040518082815260200191505060405180910390f35b34801561035557600080fd5b50610377600480360381019080803560ff1690602001909291905050506111b4565b005b34801561038557600080fd5b5061038e6112c5565b6040518082815260200191505060405180910390f35b3480156103b057600080fd5b5061040f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611383565b604051808215151515815260200191505060405180910390f35b34801561043557600080fd5b5061043e61168a565b6040518082815260200191505060405180910390f35b34801561046057600080fd5b5061046961174a565b604051808260ff1660ff16815260200191505060405180910390f35b34801561049157600080fd5b506104d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061174f565b005b3480156104de57600080fd5b50610513600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611961565b005b34801561052157600080fd5b5061054060048036038101908080359060200190929190505050611a01565b6040518080602001806020018460ff1660ff168152602001838103835286818151815260200191508051906020019080838360005b83811015610590578082015181840152602081019050610575565b50505050905090810190601f1680156105bd5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156105f65780820151818401526020810190506105db565b50505050905090810190601f1680156106235780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561064057600080fd5b5061065f60048036038101908080359060200190929190505050611bdb565b005b34801561066d57600080fd5b50610676611cbe565b6040518082815260200191505060405180910390f35b34801561069857600080fd5b506106a1611d7e565b6040518082815260200191505060405180910390f35b3480156106c357600080fd5b506106f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dc5565b6040518082815260200191505060405180910390f35b61074c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e0e565b005b34801561075a57600080fd5b50610763611f46565b604051808215151515815260200191505060405180910390f35b34801561078957600080fd5b5061082a600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611f5d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086a57808201518184015260208101905061084f565b50505050905090810190601f1680156108975780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108b157600080fd5b506108ba61212e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561090857600080fd5b50610911612154565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610951578082015181840152602081019050610936565b50505050905090810190601f16801561097e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561099857600080fd5b506109d7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061218d565b604051808215151515815260200191505060405180910390f35b3480156109fd57600080fd5b50610a06612381565b6040518082815260200191505060405180910390f35b610ac9600480360381019080803560ff169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061243f565b005b348015610ad757600080fd5b50610af6600480360381019080803590602001909291905050506128c8565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b348015610b3457600080fd5b50610b3d612a48565b6040518082815260200191505060405180910390f35b348015610b5f57600080fd5b50610b68612b16565b6040518082815260200191505060405180910390f35b610b9c60048036038101908080359060200190929190505050612b20565b005b348015610baa57600080fd5b50610bb3612d7a565b6040518082815260200191505060405180910390f35b348015610bd557600080fd5b50610c14600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d84565b60405180806020018760ff1660ff16815260200186815260200185151515158152602001848152602001838152602001828103825288818151815260200191508051906020019080838360005b83811015610c7c578082015181840152602081019050610c61565b50505050905090810190601f168015610ca95780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b348015610cc857600080fd5b50610cd161315e565b604051808215151515815260200191505060405180910390f35b348015610cf757600080fd5b50610d006132d3565b6040518082815260200191505060405180910390f35b348015610d2257600080fd5b50610d77600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613391565b6040518082815260200191505060405180910390f35b348015610d9957600080fd5b50610da2613418565b6040518082815260200191505060405180910390f35b348015610dc457600080fd5b50610dcd6134d6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e1b57600080fd5b50610e246134fc565b6040518082815260200191505060405180910390f35b6040805190810160405280600581526020017f534952313100000000000000000000000000000000000000000000000000000081525081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061100e5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561101957600080fd5b60011515601060009054906101000a900460ff1615151415611055576000601060006101000a81548160ff021916908315150217905550611071565b6001601060006101000a81548160ff0219169083151502179055505b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061111c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561112757600080fd5b6000600a5411151561113857600080fd5b80600a541015801561114a5750600081115b156111a75780600a600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156111a5573d6000803e3d6000fd5b505b5050565b60008054905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061125d5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561126857600080fd5b600a8160ff1611801561127e5750603c8160ff16105b151561128957600080fd5b80600560016101000a81548160ff021916908360ff16021790555080604603600560006101000a81548160ff021916908360ff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806113705750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561137b57600080fd5b600d54905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611450575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561145c5750600082115b80156114e75750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b1561167e5781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611683565b600090505b9392505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117355750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561174057600080fd5b600a60ff16905090565b601281565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806117fa5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561180557600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600083815260200190815260200160002060080160009054906101000a900460ff161561190557600081600084815260200190815260200160002060080160006101000a81548160ff0219169083151502179055506001600c5401600c819055506118e7816000848152602001908152602001600020600901546118e2600d54846000878152602001908152602001600020600a01546135ca565b6135e3565b8160008481526020019081526020016000206009018190555061195c565b600181600084815260200190815260200160002060080160006101000a81548160ff0219169083151502179055506001600c5403600c81905550600d54816000848152602001908152602001600020600a01819055505b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119bd57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606080600080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600086815260200190815260200160002060030181600087815260200190815260200160002060040182600088815260200190815260200160002060010160009054906101000a900460ff16828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611b2a5780601f10611aff57610100808354040283529160200191611b2a565b820191906000526020600020905b815481529060010190602001808311611b0d57829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611bc65780601f10611b9b57610100808354040283529160200191611bc6565b820191906000526020600020905b815481529060010190602001808311611ba957829003601f168201915b50505050509150935093509350509193909250565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c845750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c8f57600080fd5b80600e81905550611cb5611cad670de0b6b3a76400006101f4613601565b600e5461363c565b600f8190555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611d695750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611d7457600080fd5b601460ff16905090565b6000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611eb75750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611ec257600080fd5b6000600b54111515611ed357600080fd5b80600b5410158015611ee55750600081115b15611f425780600b600082825403925050819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f40573d6000803e3d6000fd5b505b5050565b6000601060009054906101000a900460ff16905090565b606080606080606060008088955087945084518651016040519080825280601f01601f191660200182016040528015611fa55781602001602082028038833980820191505090505b50935083925060009150600090505b8551811015612067578581815181101515611fcb57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002838380600101945081518110151561202a57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080600101915050611fb4565b600090505b845181101561211f57848181518110151561208357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f01000000000000000000000000000000000000000000000000000000000000000283838060010194508151811015156120e257fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350808060010191505061206c565b82965050505050505092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600581526020017f534952313100000000000000000000000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156121de5750600082115b80156122695750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156123765781600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061237b565b600090505b92915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061242c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561243757600080fd5b600b54905090565b60008060008060008060011515601060009054906101000a900460ff16151514151561246a57600080fd5b8860ff166008118015612481575060008960ff1614155b151561248c57600080fd5b88955060068960ff1614156124a457600a95506124b6565b60078960ff1614156124b557601495505b5b6124c58660ff16600f54613601565b34101515156124d357600080fd5b612504600a546124ff6124f834600560009054906101000a900460ff1660ff16613601565b606461363c565b6135e3565b600a8190555061252d600b5461252861252134601460ff16613601565b606461363c565b6135e3565b600b8190555061255961255234600560019054906101000a900460ff1660ff16613601565b606461363c565b945061257361256c34600a60ff16613601565b606461363c565b9350600860008a60ff1660ff16815260200190815260200160002054925061259d600054846135e3565b6000819055506125b56125af33611dc5565b846135e3565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060095411156126495761260f600954856135e3565b600981905550600c6000815480929190600101919050555061263e600d5461263986600c5461363c565b6135e3565b600d81905550612651565b836009819055505b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150818060010192505081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050610160604051908101604052803481526020018a60ff168152602001868152602001898152602001888152602001600d54815260200160008152602001600081526020016000151581526020016000815260200160008152508160008481526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff021916908360ff1602179055506040820151816002015560608201518160030190805190602001906127dc929190613657565b5060808201518160040190805190602001906127f9929190613657565b5060a0820151816005015560c0820151816006015560e082015181600701556101008201518160080160006101000a81548160ff021916908315150217905550610120820151816009015561014082015181600a01559050507f8a35b8c748e79b158c02fd0c175c0e5bd17677281b628c0dafa1c92631f0c8f03383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050505050505050565b6000806000806000806000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020915081600089815260200190815260200160002060080160009054906101000a900460ff1615612977576129708260008a8152602001908152602001600020600a01548360008b8152602001908152602001600020600501546135ca565b905061299b565b612998600d548360008b8152602001908152602001600020600501546135ca565b90505b6129d86129bd828460008c8152602001908152602001600020600601546135ca565b8360008b8152602001908152602001600020600901546135ca565b9050816000898152602001908152602001600020600001548260008a815260200190815260200160002060020154828460008c8152602001908152602001600020600601548560008d81526020019081526020016000206007015496509650965096509650505091939590929450565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612af35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612afe57600080fd5b600560019054906101000a900460ff1660ff16905090565b6000600f54905090565b6000806000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209250600083600086815260200190815260200160002060010160009054906101000a900460ff1660ff16141515612d745782600085815260200190815260200160002060080160009054906101000a900460ff1615612bf857612bf1836000868152602001908152602001600020600a0154846000878152602001908152602001600020600501546135ca565b9150612c1c565b612c19600d54846000878152602001908152602001600020600501546135ca565b91505b612c59612c3e83856000888152602001908152602001600020600601546135ca565b846000878152602001908152602001600020600901546135ca565b9150612c7a83600086815260200190815260200160002060020154836135e3565b9050600081111515612c8b57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612cd1573d6000803e3d6000fd5b506000836000868152602001908152602001600020600201541115612d205782600085815260200190815260200160002060020154836000868152602001908152602001600020600701819055505b600083600086815260200190815260200160002060020181905550612d5a83600086815260200190815260200160002060060154836135e3565b836000868152602001908152602001600020600601819055505b50505050565b6000600e54905090565b6060600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612e3b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612e4657600080fd5b600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002092508260008b815260200190815260200160002060080160009054906101000a900460ff1615612eea57612ee38360008c8152602001908152602001600020600a01548460008d8152602001908152602001600020600501546135ca565b9150612f0e565b612f0b600d548460008d8152602001908152602001600020600501546135ca565b91505b612f4b612f30838560008e8152602001908152602001600020600601546135ca565b8460008d8152602001908152602001600020600901546135ca565b9150612f818360008c8152602001908152602001600020600601548460008d8152602001908152602001600020600701546135e3565b90506130e78360008c81526020019081526020016000206003018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561302f5780601f106130045761010080835404028352916020019161302f565b820191906000526020600020905b81548152906001019060200180831161301257829003601f168201915b50505050508460008d81526020019081526020016000206004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130dd5780601f106130b2576101008083540402835291602001916130dd565b820191906000526020600020905b8154815290600101906020018083116130c057829003601f168201915b5050505050611f5d565b8360008c815260200190815260200160002060010160009054906101000a900460ff168460008d8152602001908152602001600020600001548560008e815260200190815260200160002060080160009054906101000a900460ff1685859850985098509850985098505050509295509295509295565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132095750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561321457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806132bd5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b156132cb57600190506132d0565b600090505b90565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061337e5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561338957600080fd5b600c54905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806134c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156134ce57600080fd5b600a54905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806135a75750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156135b257600080fd5b600560009054906101000a900460ff1660ff16905090565b60008282111515156135d857fe5b818303905092915050565b60008082840190508381101515156135f757fe5b8091505092915050565b60008060008414156136165760009150613635565b828402905082848281151561362757fe5b0414151561363157fe5b8091505b5092915050565b600080828481151561364a57fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061369857805160ff19168380011785556136c6565b828001600101855582156136c6579182015b828111156136c55782518255916020019190600101906136aa565b5b5090506136d391906136d7565b5090565b6136f991905b808211156136f55760008160009055506001016136dd565b5090565b905600a165627a7a723058201b289bbd39ff4e3dc749bfd1c25d1d78d9015da0d75935c9d7dcd80633b90f370029
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing EVM bytecode for exploits**
[codex:338465] 
[codex:338465] I'm examining the bytecode of an ERC20-based contract with extra features, mapping function selectors and interpreting assembly patterns to identify unchecked ETH transfers or minting. Given the complexity and owner-access controls seen, I’m focusing on detecting low-level call instructions that send ETH without restrictions, aiming to find a concrete, profit-driven exploit path or decide no exploit exists after careful opcode analysis.
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # opcode sizes for push
[codex:338465] opnames={i:('PUSH'+str(i-0x5f)) for i in range(0x60,0x80)}
[codex:338465] opnames.update({0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT',0x00:'STOP',0xfd:'REVERT',0xfe:'INVALID'})
[codex:338465] # list call instructions with pc
[codex:338465] pc=0
[codex:338465] calls=[]
[codex:338465] while pc<len(code):
[codex:338465]     op=code[pc]
[codex:338465]     if op==0xf1 or op==0xf2 or op==0xf4 or op==0xff:
[codex:338465]         calls.append((pc,op))
[codex:338465]     if 0x60<=op<=0x7f:
[codex:338465]         pc+=1+(op-0x5f)
[codex:338465]     else:
[codex:338465]         pc+=1
[codex:338465] print('calls:',[(hex(pc),hex(op)) for pc,op in calls])
[codex:338465] # count selfdestruct
[codex:338465] print('selfdestruct',any(op==0xff for _,op in calls))
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 23ms:
[codex:338465] calls: [('0x118f', '0xf1'), ('0x1f2a', '0xf1'), ('0x2cbb', '0xf1'), ('0x370b', '0xff')]
[codex:338465] selfdestruct True
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing critical opcodes and control flow**
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # minimal disassembler
[codex:338465] opnames={
[codex:338465] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:338465] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:338465] 0x20:'SHA3',
[codex:338465] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:338465] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:338465] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:338465] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:338465] for i in range(0x60,0x80):
[codex:338465]     opnames[i]='PUSH'+str(i-0x5f)
[codex:338465] for i in range(0x80,0x90):
[codex:338465]     opnames[i]='DUP'+str(i-0x7f)
[codex:338465] for i in range(0x90,0xa0):
[codex:338465]     opnames[i]='SWAP'+str(i-0x8f)
[codex:338465] 
[codex:338465] def disasm(start, end):
[codex:338465]     pc=start
[codex:338465]     while pc<end:
[codex:338465]         op=code[pc]
[codex:338465]         name=opnames.get(op,'OP%02x'%op)
[codex:338465]         pc_next=pc+1
[codex:338465]         arg=''
[codex:338465]         if 0x60<=op<=0x7f:
[codex:338465]             n=op-0x5f
[codex:338465]             data=code[pc+1:pc+1+n]
[codex:338465]             arg='0x'+data.hex()
[codex:338465]             pc_next=pc+1+n
[codex:338465]         print(f\"{pc:04x}: {name} {arg}\")
[codex:338465]         pc=pc_next
[codex:338465] 
[codex:338465] # disassemble around call/selfdestruct
[codex:338465] for pc in [0x118f,0x1f2a,0x2cbb,0x370b]:
[codex:338465]     print('\\n-- around',hex(pc),'--')
[codex:338465]     disasm(pc-40, pc+20)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 18ms:
[codex:338465] 
[codex:338465] -- around 0x118f --
[codex:338465] 1167: SELFDESTRUCT 
[codex:338465] 1168: SELFDESTRUCT 
[codex:338465] 1169: SELFDESTRUCT 
[codex:338465] 116a: SELFDESTRUCT 
[codex:338465] 116b: SELFDESTRUCT 
[codex:338465] 116c: SELFDESTRUCT 
[codex:338465] 116d: SELFDESTRUCT 
[codex:338465] 116e: SELFDESTRUCT 
[codex:338465] 116f: SELFDESTRUCT 
[codex:338465] 1170: SELFDESTRUCT 
[codex:338465] 1171: SELFDESTRUCT 
[codex:338465] 1172: SELFDESTRUCT 
[codex:338465] 1173: SELFDESTRUCT 
[codex:338465] 1174: SELFDESTRUCT 
[codex:338465] 1175: SELFDESTRUCT 
[codex:338465] 1176: AND 
[codex:338465] 1177: PUSH2 0x08fc
[codex:338465] 117a: DUP3 
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Aligning disassembly at JUMPDEST boundaries**
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # disassembler
[codex:338465] opnames={
[codex:338465] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:338465] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:338465] 0x20:'SHA3',
[codex:338465] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:338465] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:338465] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:338465] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:338465] for i in range(0x60,0x80):
[codex:338465]     opnames[i]='PUSH'+str(i-0x5f)
[codex:338465] for i in range(0x80,0x90):
[codex:338465]     opnames[i]='DUP'+str(i-0x7f)
[codex:338465] for i in range(0x90,0xa0):
[codex:338465]     opnames[i]='SWAP'+str(i-0x8f)
[codex:338465] 
[codex:338465] def disasm(start, end):
[codex:338465]     pc=start
[codex:338465]     while pc<end:
[codex:338465]         op=code[pc]
[codex:338465]         name=opnames.get(op,'OP%02x'%op)
[codex:338465]         pc_next=pc+1
[codex:338465]         arg=''
[codex:338465]         if 0x60<=op<=0x7f:
[codex:338465]             n=op-0x5f
[codex:338465]             data=code[pc+1:pc+1+n]
[codex:338465]             arg='0x'+data.hex()
[codex:338465]             pc_next=pc+1+n
[codex:338465]         print(f\"{pc:04x}: {name} {arg}\")
[codex:338465]         pc=pc_next
[codex:338465] 
[codex:338465] # find jumpdests
[codex:338465] jumpdests=[i for i,b in enumerate(code) if b==0x5b]
[codex:338465] 
[codex:338465] def nearest_jumpdest(pc):
[codex:338465]     jd=[j for j in jumpdests if j<=pc]
[codex:338465]     return jd[-1] if jd else 0
[codex:338465] 
[codex:338465] for target in [0x118f,0x1f2a,0x2cbb]:
[codex:338465]     jd=nearest_jumpdest(target)
[codex:338465]     print('\\n== target',hex(target),'nearest JUMPDEST',hex(jd),'==')
[codex:338465]     disasm(jd, target+20)
[codex:338465] 
[codex:338465] # for selfdestruct at 0x370b, find nearest jumpdest
[codex:338465] jd=nearest_jumpdest(0x370b)
[codex:338465] print('\\n== selfdestruct at',hex(0x370b),'nearest JUMPDEST',hex(jd),'==')
[codex:338465] # disasm a bit
[codex:338465] start=jd
[codex:338465] end=min(len(code), jd+80)
[codex:338465] # ensure includes selfdestruct
[codex:338465] if end<0x370b+10:
[codex:338465]     end=0x370b+10
[codex:338465] 
[codex:338465] disasm(start,end)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 21ms:
[codex:338465] 
[codex:338465] == target 0x118f nearest JUMPDEST 0x114a ==
[codex:338465] 114a: JUMPDEST 
[codex:338465] 114b: ISZERO 
[codex:338465] 114c: PUSH2 0x11a7
[codex:338465] 114f: JUMPI 
[codex:338465] 1150: DUP1 
[codex:338465] 1151: PUSH1 0x0a
[codex:338465] 1153: PUSH1 0x00
[codex:338465] 1155: DUP3 
[codex:338465] 1156: DUP3 
[codex:338465] 1157: SLOAD 
[codex:338465] 1158: SUB 
[codex:338465] 1159: SWAP3 
[codex:338465] 115a: POP 
[codex:338465] 115b: POP 
[codex:338465] 115c: DUP2 
[codex:338465] 115d: SWAP1 
[codex:338465] 115e: SSTORE 
[codex:338465] 115f: POP 
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing CALL patterns and safety checks**
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # disassembler
[codex:338465] opnames={
[codex:338465] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:338465] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:338465] 0x20:'SHA3',
[codex:338465] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:338465] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:338465] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:338465] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:338465] for i in range(0x60,0x80):
[codex:338465]     opnames[i]='PUSH'+str(i-0x5f)
[codex:338465] for i in range(0x80,0x90):
[codex:338465]     opnames[i]='DUP'+str(i-0x7f)
[codex:338465] for i in range(0x90,0xa0):
[codex:338465]     opnames[i]='SWAP'+str(i-0x8f)
[codex:338465] 
[codex:338465] def disasm(start, end):
[codex:338465]     pc=start
[codex:338465]     while pc<end:
[codex:338465]         op=code[pc]
[codex:338465]         name=opnames.get(op,'OP%02x'%op)
[codex:338465]         pc_next=pc+1
[codex:338465]         arg=''
[codex:338465]         if 0x60<=op<=0x7f:
[codex:338465]             n=op-0x5f
[codex:338465]             data=code[pc+1:pc+1+n]
[codex:338465]             arg='0x'+data.hex()
[codex:338465]             pc_next=pc+1+n
[codex:338465]         print(f\"{pc:04x}: {name} {arg}\")
[codex:338465]         pc=pc_next
[codex:338465] 
[codex:338465] # disasm from 0x2b00 to 0x2d50
[codex:338465] start=0x2b00
[codex:338465] end=0x2d80
[codex:338465] print('Disasm 0x2b00-0x2d80')
[codex:338465] disasm(start,end)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 18ms:
[codex:338465] Disasm 0x2b00-0x2d80
[codex:338465] 2b00: SDIV 
[codex:338465] 2b01: PUSH1 0x01
[codex:338465] 2b03: SWAP1 
[codex:338465] 2b04: SLOAD 
[codex:338465] 2b05: SWAP1 
[codex:338465] 2b06: PUSH2 0x0100
[codex:338465] 2b09: EXP 
[codex:338465] 2b0a: SWAP1 
[codex:338465] 2b0b: DIV 
[codex:338465] 2b0c: PUSH1 0xff
[codex:338465] 2b0e: AND 
[codex:338465] 2b0f: PUSH1 0xff
[codex:338465] 2b11: AND 
[codex:338465] 2b12: SWAP1 
[codex:338465] 2b13: POP 
[codex:338465] 2b14: SWAP1 
[codex:338465] 2b15: JUMP 
[codex:338465] 2b16: JUMPDEST 
[codex:338465] 2b17: PUSH1 0x00
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing call and state update order for reentrancy risks**
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # disassembler
[codex:338465] opnames={
[codex:338465] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:338465] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:338465] 0x20:'SHA3',
[codex:338465] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:338465] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:338465] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:338465] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:338465] for i in range(0x60,0x80):
[codex:338465]     opnames[i]='PUSH'+str(i-0x5f)
[codex:338465] for i in range(0x80,0x90):
[codex:338465]     opnames[i]='DUP'+str(i-0x7f)
[codex:338465] for i in range(0x90,0xa0):
[codex:338465]     opnames[i]='SWAP'+str(i-0x8f)
[codex:338465] 
[codex:338465] def disasm(start, end):
[codex:338465]     pc=start
[codex:338465]     while pc<end:
[codex:338465]         op=code[pc]
[codex:338465]         name=opnames.get(op,'OP%02x'%op)
[codex:338465]         pc_next=pc+1
[codex:338465]         arg=''
[codex:338465]         if 0x60<=op<=0x7f:
[codex:338465]             n=op-0x5f
[codex:338465]             data=code[pc+1:pc+1+n]
[codex:338465]             arg='0x'+data.hex()
[codex:338465]             pc_next=pc+1+n
[codex:338465]         print(f\"{pc:04x}: {name} {arg}\")
[codex:338465]         pc=pc_next
[codex:338465] 
[codex:338465] print('Disasm 0x10e0-0x11d0')
[codex:338465] disasm(0x10e0,0x11d0)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 19ms:
[codex:338465] Disasm 0x10e0-0x11d0
[codex:338465] 10e0: SELFDESTRUCT 
[codex:338465] 10e1: SELFDESTRUCT 
[codex:338465] 10e2: SELFDESTRUCT 
[codex:338465] 10e3: SELFDESTRUCT 
[codex:338465] 10e4: SELFDESTRUCT 
[codex:338465] 10e5: SELFDESTRUCT 
[codex:338465] 10e6: SELFDESTRUCT 
[codex:338465] 10e7: SELFDESTRUCT 
[codex:338465] 10e8: SELFDESTRUCT 
[codex:338465] 10e9: SELFDESTRUCT 
[codex:338465] 10ea: SELFDESTRUCT 
[codex:338465] 10eb: SELFDESTRUCT 
[codex:338465] 10ec: SELFDESTRUCT 
[codex:338465] 10ed: AND 
[codex:338465] 10ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:338465] 1103: AND 
[codex:338465] 1104: CALLER 
[codex:338465] 1105: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:338465] 111a: AND 
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing disassembly for vulnerabilities**
[codex:338465] 
[codex:338465] I'm sorting through the disassembled code to find actual function starts and verify access control checks around CALL instructions. The SELFDESTRUCT opcode appears only in unreachable metadata, so it’s not exploitable. I’m also scanning for SSTORE operations on critical storage slots that might lack access control to identify potential backdoors. I want to confirm whether calls involve user-controlled addresses or authorized senders. Next, I plan to disassemble around 0x1e00 to understand withdrawal logic and check if addresses come from trusted sources or input parameters. This step feels crucial to be confident about the contract’s security.
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # disassembler same as before
[codex:338465] opnames={
[codex:338465] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:338465] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:338465] 0x20:'SHA3',
[codex:338465] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:338465] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:338465] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:338465] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:338465] for i in range(0x60,0x80):
[codex:338465]     opnames[i]='PUSH'+str(i-0x5f)
[codex:338465] for i in range(0x80,0x90):
[codex:338465]     opnames[i]='DUP'+str(i-0x7f)
[codex:338465] for i in range(0x90,0xa0):
[codex:338465]     opnames[i]='SWAP'+str(i-0x8f)
[codex:338465] 
[codex:338465] def disasm(start, end):
[codex:338465]     pc=start
[codex:338465]     while pc<end:
[codex:338465]         op=code[pc]
[codex:338465]         name=opnames.get(op,'OP%02x'%op)
[codex:338465]         pc_next=pc+1
[codex:338465]         arg=''
[codex:338465]         if 0x60<=op<=0x7f:
[codex:338465]             n=op-0x5f
[codex:338465]             data=code[pc+1:pc+1+n]
[codex:338465]             arg='0x'+data.hex()
[codex:338465]             pc_next=pc+1+n
[codex:338465]         print(f\"{pc:04x}: {name} {arg}\")
[codex:338465]         pc=pc_next
[codex:338465] 
[codex:338465] print('Disasm 0x1e40-0x1f80')
[codex:338465] disasm(0x1e40,0x1f80)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 20ms:
[codex:338465] Disasm 0x1e40-0x1f80
[codex:338465] 1e40: SELFDESTRUCT 
[codex:338465] 1e41: SELFDESTRUCT 
[codex:338465] 1e42: SELFDESTRUCT 
[codex:338465] 1e43: SELFDESTRUCT 
[codex:338465] 1e44: SELFDESTRUCT 
[codex:338465] 1e45: SELFDESTRUCT 
[codex:338465] 1e46: SELFDESTRUCT 
[codex:338465] 1e47: AND 
[codex:338465] 1e48: CALLER 
[codex:338465] 1e49: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:338465] 1e5e: AND 
[codex:338465] 1e5f: EQ 
[codex:338465] 1e60: DUP1 
[codex:338465] 1e61: PUSH2 0x1eb7
[codex:338465] 1e64: JUMPI 
[codex:338465] 1e65: POP 
[codex:338465] 1e66: PUSH1 0x01
[codex:338465] 1e68: PUSH1 0x00
[codex:338465] 1e6a: SWAP1 
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Analyzing owner-only function accesses**
[codex:338465] exec
[codex:338465] /bin/bash -lc "python - <<'PY'
[codex:338465] import binascii
[codex:338465] hexdata=open('BYTECODE_BUNDLE.txt').read().split('0x')[1].split()[0]
[codex:338465] code=binascii.unhexlify(hexdata)
[codex:338465] # find SSTORE positions
[codex:338465] sstores=[i for i,b in enumerate(code) if b==0x55]
[codex:338465] print('SSTORE count',len(sstores))
[codex:338465] # print snippets around sstore
[codex:338465] for pc in sstores:
[codex:338465]     start=max(0,pc-10)
[codex:338465]     end=min(len(code),pc+5)
[codex:338465]     snippet=code[start:end].hex()
[codex:338465]     print(hex(pc), snippet)
[codex:338465] PY" in /tmp/codex-multi-4sro8qwa succeeded in 24ms:
[codex:338465] SSTORE count 49
[codex:338465] 0x101 1461070e5780637ce461551461074e
[codex:338465] 0x34f 910390f35b34801561035557600080
[codex:338465] 0xef5 8152602001600020819055508273ff
[codex:338465] 0x1034 0460ff161515141561105557600060
[codex:338465] 0x104f 021916908315150217905550611071
[codex:338465] 0x106f 0219169083151502179055505b565b
[codex:338465] 0x115e 0082825403925050819055508173ff
[codex:338465] 0x12a3 1916908360ff160217905550806046
[codex:338465] 0x12c1 1916908360ff16021790555050565b
[codex:338465] 0x1538 008282540392505081905550816004
[codex:338465] 0x15c2 008282540392505081905550816003
[codex:338465] 0x160f 0082825401925050819055508273ff
[codex:338465] 0x189b 021916908315150217905550600160
[codex:338465] 0x18a7 6001600c5401600c819055506118e7
[codex:338465] 0x18ff 20016000206009018190555061195c
[codex:338465] 0x1932 021916908315150217905550600160
[codex:338465] 0x193e 6001600c5403600c81905550600d54
[codex:338465] 0x195a 2001600020600a01819055505b5050
[codex:338465] 0x19fd ffffffffffff16021790555050565b
[codex:338465] 
[codex:338465] thinking
[codex:338465] **Deciding on exploit findings**
[codex:338465] codex
[codex:338465] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the bytecode-only review of BYTECODE_BUNDLE.txt.","findings":[]}
[codex:338465] tokens used
[codex:338465] 63,473
[codex:338465] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the bytecode-only review of BYTECODE_BUNDLE.txt.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T02:36:44.570452+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path identified from the bytecode-only review of BYTECODE_BUNDLE.txt.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path identified from the bytecode-only review of BYTECODE_BUNDLE.txt.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
0
Total opcodes
7590
Flags
selfdestruct_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01cd
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000002e: SWAP1
0000002f: DIV
00000030: PUSH4 0xffffffff
00000035: AND
00000036: DUP1
00000037: PUSH4 0x06fdde03
0000003c: EQ
0000003d: PUSH2 0x01d2
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x095ea7b3
00000047: EQ
00000048: PUSH2 0x0262
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x0cb0a44b
00000052: EQ
00000053: PUSH2 0x02c7
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x10f66905
0000005d: EQ
0000005e: PUSH2 0x02de
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x18160ddd
00000068: EQ
00000069: PUSH2 0x031e
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x1ba6a6b2
00000073: EQ
00000074: PUSH2 0x0349
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x1e411f2a
0000007e: EQ
0000007f: PUSH2 0x0379
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x23b872dd
00000089: EQ
0000008a: PUSH2 0x03a4
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x26299381
00000094: EQ
00000095: PUSH2 0x0429
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x313ce567
0000009f: EQ
000000a0: PUSH2 0x0454
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x3c03e68d
000000aa: EQ
000000ab: PUSH2 0x0485
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x3ca33c74
000000b5: EQ
000000b6: PUSH2 0x04d2
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x4f0f4aa9
000000c0: EQ
000000c1: PUSH2 0x0515
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0x57b5ba4c
000000cb: EQ
000000cc: PUSH2 0x0634
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0x593ab525
000000d6: EQ
000000d7: PUSH2 0x0661
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0x61ea7208
000000e1: EQ
000000e2: PUSH2 0x068c
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0x70a08231
000000ec: EQ
000000ed: PUSH2 0x06b7
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0x7b6dad96
000000f7: EQ
000000f8: PUSH2 0x070e
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0x7ce46155
00000102: EQ
00000103: PUSH2 0x074e
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0x89c19ddb
0000010d: EQ
0000010e: PUSH2 0x077d
00000111: JUMPI
00000112: DUP1
00000113: PUSH4 0x8da5cb5b
00000118: EQ
00000119: PUSH2 0x08a5
0000011c: JUMPI
0000011d: DUP1
0000011e: PUSH4 0x95d89b41
00000123: EQ
00000124: PUSH2 0x08fc
00000127: JUMPI
00000128: DUP1
00000129: PUSH4 0xa9059cbb
0000012e: EQ
0000012f: PUSH2 0x098c
00000132: JUMPI
00000133: DUP1
00000134: PUSH4 0xa9b78589
00000139: EQ
0000013a: PUSH2 0x09f1
0000013d: JUMPI
0000013e: DUP1
0000013f: PUSH4 0xac8b9040
00000144: EQ
00000145: PUSH2 0x0a1c
00000148: JUMPI
00000149: DUP1
0000014a: PUSH4 0xb04b6145
0000014f: EQ
00000150: PUSH2 0x0acb
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0xb088b129
0000015a: EQ
0000015b: PUSH2 0x0b28
0000015e: JUMPI
0000015f: DUP1
00000160: PUSH4 0xb514211b
00000165: EQ
00000166: PUSH2 0x0b53
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0xc311d049
00000170: EQ
00000171: PUSH2 0x0b7e
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0xca7c4dba
0000017b: EQ
0000017c: PUSH2 0x0b9e
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0xd20deac6
00000186: EQ
00000187: PUSH2 0x0bc9
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0xd394c788
00000191: EQ
00000192: PUSH2 0x0cbc
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0xd5002f2e
0000019c: EQ
0000019d: PUSH2 0x0ceb
000001a0: JUMPI
000001a1: DUP1
000001a2: PUSH4 0xdd62ed3e
000001a7: EQ
000001a8: PUSH2 0x0d16
000001ab: JUMPI
000001ac: DUP1
000001ad: PUSH4 0xe6125773
000001b2: EQ
000001b3: PUSH2 0x0d8d
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0xf851a440
000001bd: EQ
000001be: PUSH2 0x0db8
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0xff02bd48
000001c8: EQ
000001c9: PUSH2 0x0e0f
000001cc: JUMPI
000001cd: JUMPDEST
000001ce: PUSH1 0x00
000001d0: DUP1
000001d1: REVERT
000001d2: JUMPDEST
000001d3: CALLVALUE
000001d4: DUP1
000001d5: ISZERO
000001d6: PUSH2 0x01de
000001d9: JUMPI
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: REVERT
000001de: JUMPDEST
000001df: POP
000001e0: PUSH2 0x01e7
000001e3: PUSH2 0x0e3a
000001e6: JUMP
000001e7: JUMPDEST
000001e8: PUSH1 0x40
000001ea: MLOAD
000001eb: DUP1
000001ec: DUP1
000001ed: PUSH1 0x20
000001ef: ADD
000001f0: DUP3
000001f1: DUP2
000001f2: SUB
000001f3: DUP3
000001f4: MSTORE
000001f5: DUP4
000001f6: DUP2
000001f7: DUP2
000001f8: MLOAD
000001f9: DUP2
000001fa: MSTORE
000001fb: PUSH1 0x20
000001fd: ADD
000001fe: SWAP2
000001ff: POP
00000200: DUP1
00000201: MLOAD
00000202: SWAP1
00000203: PUSH1 0x20
00000205: ADD
00000206: SWAP1
00000207: DUP1
00000208: DUP4
00000209: DUP4
0000020a: PUSH1 0x00
0000020c: JUMPDEST
0000020d: DUP4
0000020e: DUP2
0000020f: LT
00000210: ISZERO
00000211: PUSH2 0x0227
00000214: JUMPI
00000215: DUP1
00000216: DUP3
00000217: ADD
00000218: MLOAD
00000219: DUP2
0000021a: DUP5
0000021b: ADD
0000021c: MSTORE
0000021d: PUSH1 0x20
0000021f: DUP2
00000220: ADD
00000221: SWAP1
00000222: POP
00000223: PUSH2 0x020c
00000226: JUMP
00000227: JUMPDEST
00000228: POP
00000229: POP
0000022a: POP
0000022b: POP
0000022c: SWAP1
0000022d: POP
0000022e: SWAP1
0000022f: DUP2
00000230: ADD
00000231: SWAP1
00000232: PUSH1 0x1f
00000234: AND
00000235: DUP1
00000236: ISZERO
00000237: PUSH2 0x0254
0000023a: JUMPI
0000023b: DUP1
0000023c: DUP3
0000023d: SUB
0000023e: DUP1
0000023f: MLOAD
00000240: PUSH1 0x01
00000242: DUP4
00000243: PUSH1 0x20
00000245: SUB
00000246: PUSH2 0x0100
00000249: EXP
0000024a: SUB
0000024b: NOT
0000024c: AND
0000024d: DUP2
0000024e: MSTORE
0000024f: PUSH1 0x20
00000251: ADD
00000252: SWAP2
00000253: POP
00000254: JUMPDEST
00000255: POP
00000256: SWAP3
00000257: POP
00000258: POP
00000259: POP
0000025a: PUSH1 0x40
0000025c: MLOAD
0000025d: DUP1
0000025e: SWAP2
0000025f: SUB
00000260: SWAP1
00000261: RETURN
00000262: JUMPDEST
00000263: CALLVALUE
00000264: DUP1
00000265: ISZERO
00000266: PUSH2 0x026e
00000269: JUMPI
0000026a: PUSH1 0x00
0000026c: DUP1
0000026d: REVERT
0000026e: JUMPDEST
0000026f: POP
00000270: PUSH2 0x02ad
00000273: PUSH1 0x04
00000275: DUP1
00000276: CALLDATASIZE
00000277: SUB
00000278: DUP2
00000279: ADD
0000027a: SWAP1
0000027b: DUP1
0000027c: DUP1
0000027d: CALLDATALOAD
0000027e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000293: AND
00000294: SWAP1
00000295: PUSH1 0x20
00000297: ADD
00000298: SWAP1
00000299: SWAP3
0000029a: SWAP2
0000029b: SWAP1
0000029c: DUP1
0000029d: CALLDATALOAD
0000029e: SWAP1
0000029f: PUSH1 0x20
000002a1: ADD
000002a2: SWAP1
000002a3: SWAP3
000002a4: SWAP2
000002a5: SWAP1
000002a6: POP
000002a7: POP
000002a8: POP
000002a9: PUSH2 0x0e73
000002ac: JUMP
000002ad: JUMPDEST
000002ae: PUSH1 0x40
000002b0: MLOAD
000002b1: DUP1
000002b2: DUP3
000002b3: ISZERO
000002b4: ISZERO
000002b5: ISZERO
000002b6: ISZERO
000002b7: DUP2
000002b8: MSTORE
000002b9: PUSH1 0x20
000002bb: ADD
000002bc: SWAP2
000002bd: POP
000002be: POP
000002bf: PUSH1 0x40
000002c1: MLOAD
000002c2: DUP1
000002c3: SWAP2
000002c4: SUB
000002c5: SWAP1
000002c6: RETURN
000002c7: JUMPDEST
000002c8: CALLVALUE
000002c9: DUP1
000002ca: ISZERO
000002cb: PUSH2 0x02d3
000002ce: JUMPI
000002cf: PUSH1 0x00
000002d1: DUP1
000002d2: REVERT
000002d3: JUMPDEST
000002d4: POP
000002d5: PUSH2 0x02dc
000002d8: PUSH2 0x0f65
000002db: JUMP
000002dc: JUMPDEST
000002dd: STOP
000002de: JUMPDEST
000002df: PUSH2 0x031c
000002e2: PUSH1 0x04
000002e4: DUP1
000002e5: CALLDATASIZE
000002e6: SUB
000002e7: DUP2
000002e8: ADD
000002e9: SWAP1
000002ea: DUP1
000002eb: DUP1
000002ec: CALLDATALOAD
000002ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000302: AND
00000303: SWAP1
00000304: PUSH1 0x20
00000306: ADD
00000307: SWAP1
00000308: SWAP3
00000309: SWAP2
0000030a: SWAP1
0000030b: DUP1
0000030c: CALLDATALOAD
0000030d: SWAP1
0000030e: PUSH1 0x20
00000310: ADD
00000311: SWAP1
00000312: SWAP3
00000313: SWAP2
00000314: SWAP1
00000315: POP
00000316: POP
00000317: POP
00000318: PUSH2 0x1073
0000031b: JUMP
0000031c: JUMPDEST
0000031d: STOP
0000031e: JUMPDEST
0000031f: CALLVALUE
00000320: DUP1
00000321: ISZERO
00000322: PUSH2 0x032a
00000325: JUMPI
00000326: PUSH1 0x00
00000328: DUP1
00000329: REVERT
0000032a: JUMPDEST
0000032b: POP
0000032c: PUSH2 0x0333
0000032f: PUSH2 0x11ab
00000332: JUMP
00000333: JUMPDEST
00000334: PUSH1 0x40
00000336: MLOAD
00000337: DUP1
00000338: DUP3
00000339: DUP2
0000033a: MSTORE
0000033b: PUSH1 0x20
0000033d: ADD
0000033e: SWAP2
0000033f: POP
00000340: POP
00000341: PUSH1 0x40
00000343: MLOAD
00000344: DUP1
00000345: SWAP2
00000346: SUB
00000347: SWAP1
00000348: RETURN
00000349: JUMPDEST
0000034a: CALLVALUE
0000034b: DUP1
0000034c: ISZERO
0000034d: PUSH2 0x0355
00000350: JUMPI
00000351: PUSH1 0x00
00000353: DUP1
00000354: REVERT
00000355: JUMPDEST
00000356: POP
00000357: PUSH2 0x0377
0000035a: PUSH1 0x04
0000035c: DUP1
0000035d: CALLDATASIZE
0000035e: SUB
0000035f: DUP2
00000360: ADD
00000361: SWAP1
00000362: DUP1
00000363: DUP1
00000364: CALLDATALOAD
00000365: PUSH1 0xff
00000367: AND
00000368: SWAP1
00000369: PUSH1 0x20
0000036b: ADD
0000036c: SWAP1
0000036d: SWAP3
0000036e: SWAP2
0000036f: SWAP1
00000370: POP
00000371: POP
00000372: POP
00000373: PUSH2 0x11b4
00000376: JUMP
00000377: JUMPDEST
00000378: STOP
00000379: JUMPDEST
0000037a: CALLVALUE
0000037b: DUP1
0000037c: ISZERO
0000037d: PUSH2 0x0385
00000380: JUMPI
00000381: PUSH1 0x00
00000383: DUP1
00000384: REVERT
00000385: JUMPDEST
00000386: POP
00000387: PUSH2 0x038e
0000038a: PUSH2 0x12c5
0000038d: JUMP
0000038e: JUMPDEST
0000038f: PUSH1 0x40
00000391: MLOAD
00000392: DUP1
00000393: DUP3
00000394: DUP2
00000395: MSTORE
00000396: PUSH1 0x20
00000398: ADD
00000399: SWAP2
0000039a: POP
0000039b: POP
0000039c: PUSH1 0x40
0000039e: MLOAD
0000039f: DUP1
000003a0: SWAP2
000003a1: SUB
000003a2: SWAP1
000003a3: RETURN
000003a4: JUMPDEST
000003a5: CALLVALUE
000003a6: DUP1
000003a7: ISZERO
000003a8: PUSH2 0x03b0
000003ab: JUMPI
000003ac: PUSH1 0x00
000003ae: DUP1
000003af: REVERT
000003b0: JUMPDEST
000003b1: POP
000003b2: PUSH2 0x040f
000003b5: PUSH1 0x04
000003b7: DUP1
000003b8: CALLDATASIZE
000003b9: SUB
000003ba: DUP2
000003bb: ADD
000003bc: SWAP1
000003bd: DUP1
000003be: DUP1
000003bf: CALLDATALOAD
000003c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003d5: AND
000003d6: SWAP1
000003d7: PUSH1 0x20
000003d9: ADD
000003da: SWAP1
000003db: SWAP3
000003dc: SWAP2
000003dd: SWAP1
000003de: DUP1
000003df: CALLDATALOAD
000003e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003f5: AND
000003f6: SWAP1
000003f7: PUSH1 0x20
000003f9: ADD
000003fa: SWAP1
000003fb: SWAP3
000003fc: SWAP2
000003fd: SWAP1
000003fe: DUP1
000003ff: CALLDATALOAD
00000400: SWAP1
00000401: PUSH1 0x20
00000403: ADD
00000404: SWAP1
00000405: SWAP3
00000406: SWAP2
00000407: SWAP1
00000408: POP
00000409: POP
0000040a: POP
0000040b: PUSH2 0x1383
0000040e: JUMP
0000040f: JUMPDEST
00000410: PUSH1 0x40
00000412: MLOAD
00000413: DUP1
00000414: DUP3
00000415: ISZERO
00000416: ISZERO
00000417: ISZERO
00000418: ISZERO
00000419: DUP2
0000041a: MSTORE
0000041b: PUSH1 0x20
0000041d: ADD
0000041e: SWAP2
0000041f: POP
00000420: POP
00000421: PUSH1 0x40
00000423: MLOAD
00000424: DUP1
00000425: SWAP2
00000426: SUB
00000427: SWAP1
00000428: RETURN
00000429: JUMPDEST
0000042a: CALLVALUE
0000042b: DUP1
0000042c: ISZERO
0000042d: PUSH2 0x0435
00000430: JUMPI
00000431: PUSH1 0x00
00000433: DUP1
00000434: REVERT
00000435: JUMPDEST
00000436: POP
00000437: PUSH2 0x043e
0000043a: PUSH2 0x168a
0000043d: JUMP
0000043e: JUMPDEST
0000043f: PUSH1 0x40
00000441: MLOAD
00000442: DUP1
00000443: DUP3
00000444: DUP2
00000445: MSTORE
00000446: PUSH1 0x20
00000448: ADD
00000449: SWAP2
0000044a: POP
0000044b: POP
0000044c: PUSH1 0x40
0000044e: MLOAD
0000044f: DUP1
00000450: SWAP2
00000451: SUB
00000452: SWAP1
00000453: RETURN
00000454: JUMPDEST
00000455: CALLVALUE
00000456: DUP1
00000457: ISZERO
00000458: PUSH2 0x0460
0000045b: JUMPI
0000045c: PUSH1 0x00
0000045e: DUP1
0000045f: REVERT
00000460: JUMPDEST
00000461: POP
00000462: PUSH2 0x0469
00000465: PUSH2 0x174a
00000468: JUMP
00000469: JUMPDEST
0000046a: PUSH1 0x40
0000046c: MLOAD
0000046d: DUP1
0000046e: DUP3
0000046f: PUSH1 0xff
00000471: AND
00000472: PUSH1 0xff
00000474: AND
00000475: DUP2
00000476: MSTORE
00000477: PUSH1 0x20
00000479: ADD
0000047a: SWAP2
0000047b: POP
0000047c: POP
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: DUP1
00000481: SWAP2
00000482: SUB
00000483: SWAP1
00000484: RETURN
00000485: JUMPDEST
00000486: CALLVALUE
00000487: DUP1
00000488: ISZERO
00000489: PUSH2 0x0491
0000048c: JUMPI
0000048d: PUSH1 0x00
0000048f: DUP1
00000490: REVERT
00000491: JUMPDEST
00000492: POP
00000493: PUSH2 0x04d0
00000496: PUSH1 0x04
00000498: DUP1
00000499: CALLDATASIZE
0000049a: SUB
0000049b: DUP2
0000049c: ADD
0000049d: SWAP1
0000049e: DUP1
0000049f: DUP1
000004a0: CALLDATALOAD
000004a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004b6: AND
000004b7: SWAP1
000004b8: PUSH1 0x20
000004ba: ADD
000004bb: SWAP1
000004bc: SWAP3
000004bd: SWAP2
000004be: SWAP1
000004bf: DUP1
000004c0: CALLDATALOAD
000004c1: SWAP1
000004c2: PUSH1 0x20
000004c4: ADD
000004c5: SWAP1
000004c6: SWAP3
000004c7: SWAP2
000004c8: SWAP1
000004c9: POP
000004ca: POP
000004cb: POP
000004cc: PUSH2 0x174f
000004cf: JUMP
000004d0: JUMPDEST
000004d1: STOP
000004d2: JUMPDEST
000004d3: CALLVALUE
000004d4: DUP1
000004d5: ISZERO
000004d6: PUSH2 0x04de
000004d9: JUMPI
000004da: PUSH1 0x00
000004dc: DUP1
000004dd: REVERT
000004de: JUMPDEST
000004df: POP
000004e0: PUSH2 0x0513
000004e3: PUSH1 0x04
000004e5: DUP1
000004e6: CALLDATASIZE
000004e7: SUB
000004e8: DUP2
000004e9: ADD
000004ea: SWAP1
000004eb: DUP1
000004ec: DUP1
000004ed: CALLDATALOAD
000004ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000503: AND
00000504: SWAP1
00000505: PUSH1 0x20
00000507: ADD
00000508: SWAP1
00000509: SWAP3
0000050a: SWAP2
0000050b: SWAP1
0000050c: POP
0000050d: POP
0000050e: POP
0000050f: PUSH2 0x1961
00000512: JUMP
00000513: JUMPDEST
00000514: STOP
00000515: JUMPDEST
00000516: CALLVALUE
00000517: DUP1
00000518: ISZERO
00000519: PUSH2 0x0521
0000051c: JUMPI
0000051d: PUSH1 0x00
0000051f: DUP1
00000520: REVERT
00000521: JUMPDEST
00000522: POP
00000523: PUSH2 0x0540
00000526: PUSH1 0x04
00000528: DUP1
00000529: CALLDATASIZE
0000052a: SUB
0000052b: DUP2
0000052c: ADD
0000052d: SWAP1
0000052e: DUP1
0000052f: DUP1
00000530: CALLDATALOAD
00000531: SWAP1
00000532: PUSH1 0x20
00000534: ADD
00000535: SWAP1
00000536: SWAP3
00000537: SWAP2
00000538: SWAP1
00000539: POP
0000053a: POP
0000053b: POP
0000053c: PUSH2 0x1a01
0000053f: JUMP
00000540: JUMPDEST
00000541: PUSH1 0x40
00000543: MLOAD
00000544: DUP1
00000545: DUP1
00000546: PUSH1 0x20
00000548: ADD
00000549: DUP1
0000054a: PUSH1 0x20
0000054c: ADD
0000054d: DUP5
0000054e: PUSH1 0xff
00000550: AND
00000551: PUSH1 0xff
00000553: AND
00000554: DUP2
00000555: MSTORE
00000556: PUSH1 0x20
00000558: ADD
00000559: DUP4
0000055a: DUP2
0000055b: SUB
0000055c: DUP4
0000055d: MSTORE
0000055e: DUP7
0000055f: DUP2
00000560: DUP2
00000561: MLOAD
00000562: DUP2
00000563: MSTORE
00000564: PUSH1 0x20
00000566: ADD
00000567: SWAP2
00000568: POP
00000569: DUP1
0000056a: MLOAD
0000056b: SWAP1
0000056c: PUSH1 0x20
0000056e: ADD
0000056f: SWAP1
00000570: DUP1
00000571: DUP4
00000572: DUP4
00000573: PUSH1 0x00
00000575: JUMPDEST
00000576: DUP4
00000577: DUP2
00000578: LT
00000579: ISZERO
0000057a: PUSH2 0x0590
0000057d: JUMPI
0000057e: DUP1
0000057f: DUP3
00000580: ADD
00000581: MLOAD
00000582: DUP2
00000583: DUP5
00000584: ADD
00000585: MSTORE
00000586: PUSH1 0x20
00000588: DUP2
00000589: ADD
0000058a: SWAP1
0000058b: POP
0000058c: PUSH2 0x0575
0000058f: JUMP
00000590: JUMPDEST
00000591: POP
00000592: POP
00000593: POP
00000594: POP
00000595: SWAP1
00000596: POP
00000597: SWAP1
00000598: DUP2
00000599: ADD
0000059a: SWAP1
0000059b: PUSH1 0x1f
0000059d: AND
0000059e: DUP1
0000059f: ISZERO
000005a0: PUSH2 0x05bd
000005a3: JUMPI
000005a4: DUP1
000005a5: DUP3
000005a6: SUB
000005a7: DUP1
000005a8: MLOAD
000005a9: PUSH1 0x01
000005ab: DUP4
000005ac: PUSH1 0x20
000005ae: SUB
000005af: PUSH2 0x0100
000005b2: EXP
000005b3: SUB
000005b4: NOT
000005b5: AND
000005b6: DUP2
000005b7: MSTORE
000005b8: PUSH1 0x20
000005ba: ADD
000005bb: SWAP2
000005bc: POP
000005bd: JUMPDEST
000005be: POP
000005bf: DUP4
000005c0: DUP2
000005c1: SUB
000005c2: DUP3
000005c3: MSTORE
000005c4: DUP6
000005c5: DUP2
000005c6: DUP2
000005c7: MLOAD
000005c8: DUP2
000005c9: MSTORE
000005ca: PUSH1 0x20
000005cc: ADD
000005cd: SWAP2
000005ce: POP
000005cf: DUP1
000005d0: MLOAD
000005d1: SWAP1
000005d2: PUSH1 0x20
000005d4: ADD
000005d5: SWAP1
000005d6: DUP1
000005d7: DUP4
000005d8: DUP4
000005d9: PUSH1 0x00
000005db: JUMPDEST
000005dc: DUP4
000005dd: DUP2
000005de: LT
000005df: ISZERO
000005e0: PUSH2 0x05f6
000005e3: JUMPI
000005e4: DUP1
000005e5: DUP3
000005e6: ADD
000005e7: MLOAD
000005e8: DUP2
000005e9: DUP5
000005ea: ADD
000005eb: MSTORE
000005ec: PUSH1 0x20
000005ee: DUP2
000005ef: ADD
000005f0: SWAP1
000005f1: POP
000005f2: PUSH2 0x05db
000005f5: JUMP
000005f6: JUMPDEST
000005f7: POP
000005f8: POP
000005f9: POP
000005fa: POP
000005fb: SWAP1
000005fc: POP
000005fd: SWAP1
000005fe: DUP2
000005ff: ADD
00000600: SWAP1
00000601: PUSH1 0x1f
00000603: AND
00000604: DUP1
00000605: ISZERO
00000606: PUSH2 0x0623
00000609: JUMPI
0000060a: DUP1
0000060b: DUP3
0000060c: SUB
0000060d: DUP1
0000060e: MLOAD
0000060f: PUSH1 0x01
00000611: DUP4
00000612: PUSH1 0x20
00000614: SUB
00000615: PUSH2 0x0100
00000618: EXP
00000619: SUB
0000061a: NOT
0000061b: AND
0000061c: DUP2
0000061d: MSTORE
0000061e: PUSH1 0x20
00000620: ADD
00000621: SWAP2
00000622: POP
00000623: JUMPDEST
00000624: POP
00000625: SWAP6
00000626: POP
00000627: POP
00000628: POP
00000629: POP
0000062a: POP
0000062b: POP
0000062c: PUSH1 0x40
0000062e: MLOAD
0000062f: DUP1
00000630: SWAP2
00000631: SUB
00000632: SWAP1
00000633: RETURN
00000634: JUMPDEST
00000635: CALLVALUE
00000636: DUP1
00000637: ISZERO
00000638: PUSH2 0x0640
0000063b: JUMPI
0000063c: PUSH1 0x00
0000063e: DUP1
0000063f: REVERT
00000640: JUMPDEST
00000641: POP
00000642: PUSH2 0x065f
00000645: PUSH1 0x04
00000647: DUP1
00000648: CALLDATASIZE
00000649: SUB
0000064a: DUP2
0000064b: ADD
0000064c: SWAP1
0000064d: DUP1
0000064e: DUP1
0000064f: CALLDATALOAD
00000650: SWAP1
00000651: PUSH1 0x20
00000653: ADD
00000654: SWAP1
00000655: SWAP3
00000656: SWAP2
00000657: SWAP1
00000658: POP
00000659: POP
0000065a: POP
0000065b: PUSH2 0x1bdb
0000065e: JUMP
0000065f: JUMPDEST
00000660: STOP
00000661: JUMPDEST
00000662: CALLVALUE
00000663: DUP1
00000664: ISZERO
00000665: PUSH2 0x066d
00000668: JUMPI
00000669: PUSH1 0x00
0000066b: DUP1
0000066c: REVERT
0000066d: JUMPDEST
0000066e: POP
0000066f: PUSH2 0x0676
00000672: PUSH2 0x1cbe
00000675: JUMP
00000676: JUMPDEST
00000677: PUSH1 0x40
00000679: MLOAD
0000067a: DUP1
0000067b: DUP3
0000067c: DUP2
0000067d: MSTORE
0000067e: PUSH1 0x20
00000680: ADD
00000681: SWAP2
00000682: POP
00000683: POP
00000684: PUSH1 0x40
00000686: MLOAD
00000687: DUP1
00000688: SWAP2
00000689: SUB
0000068a: SWAP1
0000068b: RETURN
0000068c: JUMPDEST
0000068d: CALLVALUE
0000068e: DUP1
0000068f: ISZERO
00000690: PUSH2 0x0698
00000693: JUMPI
00000694: PUSH1 0x00
00000696: DUP1
00000697: REVERT
00000698: JUMPDEST
00000699: POP
0000069a: PUSH2 0x06a1
0000069d: PUSH2 0x1d7e
000006a0: JUMP
000006a1: JUMPDEST
000006a2: PUSH1 0x40
000006a4: MLOAD
000006a5: DUP1
000006a6: DUP3
000006a7: DUP2
000006a8: MSTORE
000006a9: PUSH1 0x20
000006ab: ADD
000006ac: SWAP2
000006ad: POP
000006ae: POP
000006af: PUSH1 0x40
000006b1: MLOAD
000006b2: DUP1
000006b3: SWAP2
000006b4: SUB
000006b5: SWAP1
000006b6: RETURN
000006b7: JUMPDEST
000006b8: CALLVALUE
000006b9: DUP1
000006ba: ISZERO
000006bb: PUSH2 0x06c3
000006be: JUMPI
000006bf: PUSH1 0x00
000006c1: DUP1
000006c2: REVERT
000006c3: JUMPDEST
000006c4: POP
000006c5: PUSH2 0x06f8
000006c8: PUSH1 0x04
000006ca: DUP1
000006cb: CALLDATASIZE
000006cc: SUB
000006cd: DUP2
000006ce: ADD
000006cf: SWAP1
000006d0: DUP1
000006d1: DUP1
000006d2: CALLDATALOAD
000006d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e8: AND
000006e9: SWAP1
000006ea: PUSH1 0x20
000006ec: ADD
000006ed: SWAP1
000006ee: SWAP3
000006ef: SWAP2
000006f0: SWAP1
000006f1: POP
000006f2: POP
000006f3: POP
000006f4: PUSH2 0x1dc5
000006f7: JUMP
000006f8: JUMPDEST
000006f9: PUSH1 0x40
000006fb: MLOAD
000006fc: DUP1
000006fd: DUP3
000006fe: DUP2
000006ff: MSTORE
00000700: PUSH1 0x20
00000702: ADD
00000703: SWAP2
00000704: POP
00000705: POP
00000706: PUSH1 0x40
00000708: MLOAD
00000709: DUP1
0000070a: SWAP2
0000070b: SUB
0000070c: SWAP1
0000070d: RETURN
0000070e: JUMPDEST
0000070f: PUSH2 0x074c
00000712: PUSH1 0x04
00000714: DUP1
00000715: CALLDATASIZE
00000716: SUB
00000717: DUP2
00000718: ADD
00000719: SWAP1
0000071a: DUP1
0000071b: DUP1
0000071c: CALLDATALOAD
0000071d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000732: AND
00000733: SWAP1
00000734: PUSH1 0x20
00000736: ADD
00000737: SWAP1
00000738: SWAP3
00000739: SWAP2
0000073a: SWAP1
0000073b: DUP1
0000073c: CALLDATALOAD
0000073d: SWAP1
0000073e: PUSH1 0x20
00000740: ADD
00000741: SWAP1
00000742: SWAP3
00000743: SWAP2
00000744: SWAP1
00000745: POP
00000746: POP
00000747: POP
00000748: PUSH2 0x1e0e
0000074b: JUMP
0000074c: JUMPDEST
0000074d: STOP
0000074e: JUMPDEST
0000074f: CALLVALUE
00000750: DUP1
00000751: ISZERO
00000752: PUSH2 0x075a
00000755: JUMPI
00000756: PUSH1 0x00
00000758: DUP1
00000759: REVERT
0000075a: JUMPDEST
0000075b: POP
0000075c: PUSH2 0x0763
0000075f: PUSH2 0x1f46
00000762: JUMP
00000763: JUMPDEST
00000764: PUSH1 0x40
00000766: MLOAD
00000767: DUP1
00000768: DUP3
00000769: ISZERO
0000076a: ISZERO
0000076b: ISZERO
0000076c: ISZERO
0000076d: DUP2
0000076e: MSTORE
0000076f: PUSH1 0x20
00000771: ADD
00000772: SWAP2
00000773: POP
00000774: POP
00000775: PUSH1 0x40
00000777: MLOAD
00000778: DUP1
00000779: SWAP2
0000077a: SUB
0000077b: SWAP1
0000077c: RETURN
0000077d: JUMPDEST
0000077e: CALLVALUE
0000077f: DUP1
00000780: ISZERO
00000781: PUSH2 0x0789
00000784: JUMPI
00000785: PUSH1 0x00
00000787: DUP1
00000788: REVERT
00000789: JUMPDEST
0000078a: POP
0000078b: PUSH2 0x082a
0000078e: PUSH1 0x04
00000790: DUP1
00000791: CALLDATASIZE
00000792: SUB
00000793: DUP2
00000794: ADD
00000795: SWAP1
00000796: DUP1
00000797: DUP1
00000798: CALLDATALOAD
00000799: SWAP1
0000079a: PUSH1 0x20
0000079c: ADD
0000079d: SWAP1
0000079e: DUP3
0000079f: ADD
000007a0: DUP1
000007a1: CALLDATALOAD
000007a2: SWAP1
000007a3: PUSH1 0x20
000007a5: ADD
000007a6: SWAP1
000007a7: DUP1
000007a8: DUP1
000007a9: PUSH1 0x1f
000007ab: ADD
000007ac: PUSH1 0x20
000007ae: DUP1
000007af: SWAP2
000007b0: DIV
000007b1: MUL
000007b2: PUSH1 0x20
000007b4: ADD
000007b5: PUSH1 0x40
000007b7: MLOAD
000007b8: SWAP1
000007b9: DUP2
000007ba: ADD
000007bb: PUSH1 0x40
000007bd: MSTORE
000007be: DUP1
000007bf: SWAP4
000007c0: SWAP3
000007c1: SWAP2
000007c2: SWAP1
000007c3: DUP2
000007c4: DUP2
000007c5: MSTORE
000007c6: PUSH1 0x20
000007c8: ADD
000007c9: DUP4
000007ca: DUP4
000007cb: DUP1
000007cc: DUP3
000007cd: DUP5
000007ce: CALLDATACOPY
000007cf: DUP3
000007d0: ADD
000007d1: SWAP2
000007d2: POP
000007d3: POP
000007d4: POP
000007d5: POP
000007d6: POP
000007d7: POP
000007d8: SWAP2
000007d9: SWAP3
000007da: SWAP2
000007db: SWAP3
000007dc: SWAP1
000007dd: DUP1
000007de: CALLDATALOAD
000007df: SWAP1
000007e0: PUSH1 0x20
000007e2: ADD
000007e3: SWAP1
000007e4: DUP3
000007e5: ADD
000007e6: DUP1
000007e7: CALLDATALOAD
000007e8: SWAP1
000007e9: PUSH1 0x20
000007eb: ADD
000007ec: SWAP1
000007ed: DUP1
000007ee: DUP1
000007ef: PUSH1 0x1f
000007f1: ADD
000007f2: PUSH1 0x20
000007f4: DUP1
000007f5: SWAP2
000007f6: DIV
000007f7: MUL
000007f8: PUSH1 0x20
000007fa: ADD
000007fb: PUSH1 0x40
000007fd: MLOAD
000007fe: SWAP1
000007ff: DUP2
00000800: ADD
00000801: PUSH1 0x40
00000803: MSTORE
00000804: DUP1
00000805: SWAP4
00000806: SWAP3
00000807: SWAP2
00000808: SWAP1
00000809: DUP2
0000080a: DUP2
0000080b: MSTORE
0000080c: PUSH1 0x20
0000080e: ADD
0000080f: DUP4
00000810: DUP4
00000811: DUP1
00000812: DUP3
00000813: DUP5
00000814: CALLDATACOPY
00000815: DUP3
00000816: ADD
00000817: SWAP2
00000818: POP
00000819: POP
0000081a: POP
0000081b: POP
0000081c: POP
0000081d: POP
0000081e: SWAP2
0000081f: SWAP3
00000820: SWAP2
00000821: SWAP3
00000822: SWAP1
00000823: POP
00000824: POP
00000825: POP
00000826: PUSH2 0x1f5d
00000829: JUMP
0000082a: JUMPDEST
0000082b: PUSH1 0x40
0000082d: MLOAD
0000082e: DUP1
0000082f: DUP1
00000830: PUSH1 0x20
00000832: ADD
00000833: DUP3
00000834: DUP2
00000835: SUB
00000836: DUP3
00000837: MSTORE
00000838: DUP4
00000839: DUP2
0000083a: DUP2
0000083b: MLOAD
0000083c: DUP2
0000083d: MSTORE
0000083e: PUSH1 0x20
00000840: ADD
00000841: SWAP2
00000842: POP
00000843: DUP1
00000844: MLOAD
00000845: SWAP1
00000846: PUSH1 0x20
00000848: ADD
00000849: SWAP1
0000084a: DUP1
0000084b: DUP4
0000084c: DUP4
0000084d: PUSH1 0x00
0000084f: JUMPDEST
00000850: DUP4
00000851: DUP2
00000852: LT
00000853: ISZERO
00000854: PUSH2 0x086a
00000857: JUMPI
00000858: DUP1
00000859: DUP3
0000085a: ADD
0000085b: MLOAD
0000085c: DUP2
0000085d: DUP5
0000085e: ADD
0000085f: MSTORE
00000860: PUSH1 0x20
00000862: DUP2
00000863: ADD
00000864: SWAP1
00000865: POP
00000866: PUSH2 0x084f
00000869: JUMP
0000086a: JUMPDEST
0000086b: POP
0000086c: POP
0000086d: POP
0000086e: POP
0000086f: SWAP1
00000870: POP
00000871: SWAP1
00000872: DUP2
00000873: ADD
00000874: SWAP1
00000875: PUSH1 0x1f
00000877: AND
00000878: DUP1
00000879: ISZERO
0000087a: PUSH2 0x0897
0000087d: JUMPI
0000087e: DUP1
0000087f: DUP3
00000880: SUB
00000881: DUP1
00000882: MLOAD
00000883: PUSH1 0x01
00000885: DUP4
00000886: PUSH1 0x20
00000888: SUB
00000889: PUSH2 0x0100
0000088c: EXP
0000088d: SUB
0000088e: NOT
0000088f: AND
00000890: DUP2
00000891: MSTORE
00000892: PUSH1 0x20
00000894: ADD
00000895: SWAP2
00000896: POP
00000897: JUMPDEST
00000898: POP
00000899: SWAP3
0000089a: POP
0000089b: POP
0000089c: POP
0000089d: PUSH1 0x40
0000089f: MLOAD
000008a0: DUP1
000008a1: SWAP2
000008a2: SUB
000008a3: SWAP1
000008a4: RETURN
000008a5: JUMPDEST
000008a6: CALLVALUE
000008a7: DUP1
000008a8: ISZERO
000008a9: PUSH2 0x08b1
000008ac: JUMPI
000008ad: PUSH1 0x00
000008af: DUP1
000008b0: REVERT
000008b1: JUMPDEST
000008b2: POP
000008b3: PUSH2 0x08ba
000008b6: PUSH2 0x212e
000008b9: JUMP
000008ba: JUMPDEST
000008bb: PUSH1 0x40
000008bd: MLOAD
000008be: DUP1
000008bf: DUP3
000008c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d5: AND
000008d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008eb: AND
000008ec: DUP2
000008ed: MSTORE
000008ee: PUSH1 0x20
000008f0: ADD
000008f1: SWAP2
000008f2: POP
000008f3: POP
000008f4: PUSH1 0x40
000008f6: MLOAD
000008f7: DUP1
000008f8: SWAP2
000008f9: SUB
000008fa: SWAP1
000008fb: RETURN
000008fc: JUMPDEST
000008fd: CALLVALUE
000008fe: DUP1
000008ff: ISZERO
00000900: PUSH2 0x0908
00000903: JUMPI
00000904: PUSH1 0x00
00000906: DUP1
00000907: REVERT
00000908: JUMPDEST
00000909: POP
0000090a: PUSH2 0x0911
0000090d: PUSH2 0x2154
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH1 0x40
00000914: MLOAD
00000915: DUP1
00000916: DUP1
00000917: PUSH1 0x20
00000919: ADD
0000091a: DUP3
0000091b: DUP2
0000091c: SUB
0000091d: DUP3
0000091e: MSTORE
0000091f: DUP4
00000920: DUP2
00000921: DUP2
00000922: MLOAD
00000923: DUP2
00000924: MSTORE
00000925: PUSH1 0x20
00000927: ADD
00000928: SWAP2
00000929: POP
0000092a: DUP1
0000092b: MLOAD
0000092c: SWAP1
0000092d: PUSH1 0x20
0000092f: ADD
00000930: SWAP1
00000931: DUP1
00000932: DUP4
00000933: DUP4
00000934: PUSH1 0x00
00000936: JUMPDEST
00000937: DUP4
00000938: DUP2
00000939: LT
0000093a: ISZERO
0000093b: PUSH2 0x0951
0000093e: JUMPI
0000093f: DUP1
00000940: DUP3
00000941: ADD
00000942: MLOAD
00000943: DUP2
00000944: DUP5
00000945: ADD
00000946: MSTORE
00000947: PUSH1 0x20
00000949: DUP2
0000094a: ADD
0000094b: SWAP1
0000094c: POP
0000094d: PUSH2 0x0936
00000950: JUMP
00000951: JUMPDEST
00000952: POP
00000953: POP
00000954: POP
00000955: POP
00000956: SWAP1
00000957: POP
00000958: SWAP1
00000959: DUP2
0000095a: ADD
0000095b: SWAP1
0000095c: PUSH1 0x1f
0000095e: AND
0000095f: DUP1
00000960: ISZERO
00000961: PUSH2 0x097e
00000964: JUMPI
00000965: DUP1
00000966: DUP3
00000967: SUB
00000968: DUP1
00000969: MLOAD
0000096a: PUSH1 0x01
0000096c: DUP4
0000096d: PUSH1 0x20
0000096f: SUB
00000970: PUSH2 0x0100
00000973: EXP
00000974: SUB
00000975: NOT
00000976: AND
00000977: DUP2
00000978: MSTORE
00000979: PUSH1 0x20
0000097b: ADD
0000097c: SWAP2
0000097d: POP
0000097e: JUMPDEST
0000097f: POP
00000980: SWAP3
00000981: POP
00000982: POP
00000983: POP
00000984: PUSH1 0x40
00000986: MLOAD
00000987: DUP1
00000988: SWAP2
00000989: SUB
0000098a: SWAP1
0000098b: RETURN
0000098c: JUMPDEST
0000098d: CALLVALUE
0000098e: DUP1
0000098f: ISZERO
00000990: PUSH2 0x0998
00000993: JUMPI
00000994: PUSH1 0x00
00000996: DUP1
00000997: REVERT
00000998: JUMPDEST
00000999: POP
0000099a: PUSH2 0x09d7
0000099d: PUSH1 0x04
0000099f: DUP1
000009a0: CALLDATASIZE
000009a1: SUB
000009a2: DUP2
000009a3: ADD
000009a4: SWAP1
000009a5: DUP1
000009a6: DUP1
000009a7: CALLDATALOAD
000009a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009bd: AND
000009be: SWAP1
000009bf: PUSH1 0x20
000009c1: ADD
000009c2: SWAP1
000009c3: SWAP3
000009c4: SWAP2
000009c5: SWAP1
000009c6: DUP1
000009c7: CALLDATALOAD
000009c8: SWAP1
000009c9: PUSH1 0x20
000009cb: ADD
000009cc: SWAP1
000009cd: SWAP3
000009ce: SWAP2
000009cf: SWAP1
000009d0: POP
000009d1: POP
000009d2: POP
000009d3: PUSH2 0x218d
000009d6: JUMP
000009d7: JUMPDEST
000009d8: PUSH1 0x40
000009da: MLOAD
000009db: DUP1
000009dc: DUP3
000009dd: ISZERO
000009de: ISZERO
000009df: ISZERO
000009e0: ISZERO
000009e1: DUP2
000009e2: MSTORE
000009e3: PUSH1 0x20
000009e5: ADD
000009e6: SWAP2
000009e7: POP
000009e8: POP
000009e9: PUSH1 0x40
000009eb: MLOAD
000009ec: DUP1
000009ed: SWAP2
000009ee: SUB
000009ef: SWAP1
000009f0: RETURN
000009f1: JUMPDEST
000009f2: CALLVALUE
000009f3: DUP1
000009f4: ISZERO
000009f5: PUSH2 0x09fd
000009f8: JUMPI
000009f9: PUSH1 0x00
000009fb: DUP1
000009fc: REVERT
000009fd: JUMPDEST
000009fe: POP
000009ff: PUSH2 0x0a06
00000a02: PUSH2 0x2381
00000a05: JUMP
00000a06: JUMPDEST
00000a07: PUSH1 0x40
00000a09: MLOAD
00000a0a: DUP1
00000a0b: DUP3
00000a0c: DUP2
00000a0d: MSTORE
00000a0e: PUSH1 0x20
00000a10: ADD
00000a11: SWAP2
00000a12: POP
00000a13: POP
00000a14: PUSH1 0x40
00000a16: MLOAD
00000a17: DUP1
00000a18: SWAP2
00000a19: SUB
00000a1a: SWAP1
00000a1b: RETURN
00000a1c: JUMPDEST
00000a1d: PUSH2 0x0ac9
00000a20: PUSH1 0x04
00000a22: DUP1
00000a23: CALLDATASIZE
00000a24: SUB
00000a25: DUP2
00000a26: ADD
00000a27: SWAP1
00000a28: DUP1
00000a29: DUP1
00000a2a: CALLDATALOAD
00000a2b: PUSH1 0xff
00000a2d: AND
00000a2e: SWAP1
00000a2f: PUSH1 0x20
00000a31: ADD
00000a32: SWAP1
00000a33: SWAP3
00000a34: SWAP2
00000a35: SWAP1
00000a36: DUP1
00000a37: CALLDATALOAD
00000a38: SWAP1
00000a39: PUSH1 0x20
00000a3b: ADD
00000a3c: SWAP1
00000a3d: DUP3
00000a3e: ADD
00000a3f: DUP1
00000a40: CALLDATALOAD
00000a41: SWAP1
00000a42: PUSH1 0x20
00000a44: ADD
00000a45: SWAP1
00000a46: DUP1
00000a47: DUP1
00000a48: PUSH1 0x1f
00000a4a: ADD
00000a4b: PUSH1 0x20
00000a4d: DUP1
00000a4e: SWAP2
00000a4f: DIV
00000a50: MUL
00000a51: PUSH1 0x20
00000a53: ADD
00000a54: PUSH1 0x40
00000a56: MLOAD
00000a57: SWAP1
00000a58: DUP2
00000a59: ADD
00000a5a: PUSH1 0x40
00000a5c: MSTORE
00000a5d: DUP1
00000a5e: SWAP4
00000a5f: SWAP3
00000a60: SWAP2
00000a61: SWAP1
00000a62: DUP2
00000a63: DUP2
00000a64: MSTORE
00000a65: PUSH1 0x20
00000a67: ADD
00000a68: DUP4
00000a69: DUP4
00000a6a: DUP1
00000a6b: DUP3
00000a6c: DUP5
00000a6d: CALLDATACOPY
00000a6e: DUP3
00000a6f: ADD
00000a70: SWAP2
00000a71: POP
00000a72: POP
00000a73: POP
00000a74: POP
00000a75: POP
00000a76: POP
00000a77: SWAP2
00000a78: SWAP3
00000a79: SWAP2
00000a7a: SWAP3
00000a7b: SWAP1
00000a7c: DUP1
00000a7d: CALLDATALOAD
00000a7e: SWAP1
00000a7f: PUSH1 0x20
00000a81: ADD
00000a82: SWAP1
00000a83: DUP3
00000a84: ADD
00000a85: DUP1
00000a86: CALLDATALOAD
00000a87: SWAP1
00000a88: PUSH1 0x20
00000a8a: ADD
00000a8b: SWAP1
00000a8c: DUP1
00000a8d: DUP1
00000a8e: PUSH1 0x1f
00000a90: ADD
00000a91: PUSH1 0x20
00000a93: DUP1
00000a94: SWAP2
00000a95: DIV
00000a96: MUL
00000a97: PUSH1 0x20
00000a99: ADD
00000a9a: PUSH1 0x40
00000a9c: MLOAD
00000a9d: SWAP1
00000a9e: DUP2
00000a9f: ADD
00000aa0: PUSH1 0x40
00000aa2: MSTORE
00000aa3: DUP1
00000aa4: SWAP4
00000aa5: SWAP3
00000aa6: SWAP2
00000aa7: SWAP1
00000aa8: DUP2
00000aa9: DUP2
00000aaa: MSTORE
00000aab: PUSH1 0x20
00000aad: ADD
00000aae: DUP4
00000aaf: DUP4
00000ab0: DUP1
00000ab1: DUP3
00000ab2: DUP5
00000ab3: CALLDATACOPY
00000ab4: DUP3
00000ab5: ADD
00000ab6: SWAP2
00000ab7: POP
00000ab8: POP
00000ab9: POP
00000aba: POP
00000abb: POP
00000abc: POP
00000abd: SWAP2
00000abe: SWAP3
00000abf: SWAP2
00000ac0: SWAP3
00000ac1: SWAP1
00000ac2: POP
00000ac3: POP
00000ac4: POP
00000ac5: PUSH2 0x243f
00000ac8: JUMP
00000ac9: JUMPDEST
00000aca: STOP
00000acb: JUMPDEST
00000acc: CALLVALUE
00000acd: DUP1
00000ace: ISZERO
00000acf: PUSH2 0x0ad7
00000ad2: JUMPI
00000ad3: PUSH1 0x00
00000ad5: DUP1
00000ad6: REVERT
00000ad7: JUMPDEST
00000ad8: POP
00000ad9: PUSH2 0x0af6
00000adc: PUSH1 0x04
00000ade: DUP1
00000adf: CALLDATASIZE
00000ae0: SUB
00000ae1: DUP2
00000ae2: ADD
00000ae3: SWAP1
00000ae4: DUP1
00000ae5: DUP1
00000ae6: CALLDATALOAD
00000ae7: SWAP1
00000ae8: PUSH1 0x20
00000aea: ADD
00000aeb: SWAP1
00000aec: SWAP3
00000aed: SWAP2
00000aee: SWAP1
00000aef: POP
00000af0: POP
00000af1: POP
00000af2: PUSH2 0x28c8
00000af5: JUMP
00000af6: JUMPDEST
00000af7: PUSH1 0x40
00000af9: MLOAD
00000afa: DUP1
00000afb: DUP7
00000afc: DUP2
00000afd: MSTORE
00000afe: PUSH1 0x20
00000b00: ADD
00000b01: DUP6
00000b02: DUP2
00000b03: MSTORE
00000b04: PUSH1 0x20
00000b06: ADD
00000b07: DUP5
00000b08: DUP2
00000b09: MSTORE
00000b0a: PUSH1 0x20
00000b0c: ADD
00000b0d: DUP4
00000b0e: DUP2
00000b0f: MSTORE
00000b10: PUSH1 0x20
00000b12: ADD
00000b13: DUP3
00000b14: DUP2
00000b15: MSTORE
00000b16: PUSH1 0x20
00000b18: ADD
00000b19: SWAP6
00000b1a: POP
00000b1b: POP
00000b1c: POP
00000b1d: POP
00000b1e: POP
00000b1f: POP
00000b20: PUSH1 0x40
00000b22: MLOAD
00000b23: DUP1
00000b24: SWAP2
00000b25: SUB
00000b26: SWAP1
00000b27: RETURN
00000b28: JUMPDEST
00000b29: CALLVALUE
00000b2a: DUP1
00000b2b: ISZERO
00000b2c: PUSH2 0x0b34
00000b2f: JUMPI
00000b30: PUSH1 0x00
00000b32: DUP1
00000b33: REVERT
00000b34: JUMPDEST
00000b35: POP
00000b36: PUSH2 0x0b3d
00000b39: PUSH2 0x2a48
00000b3c: JUMP
00000b3d: JUMPDEST
00000b3e: PUSH1 0x40
00000b40: MLOAD
00000b41: DUP1
00000b42: DUP3
00000b43: DUP2
00000b44: MSTORE
00000b45: PUSH1 0x20
00000b47: ADD
00000b48: SWAP2
00000b49: POP
00000b4a: POP
00000b4b: PUSH1 0x40
00000b4d: MLOAD
00000b4e: DUP1
00000b4f: SWAP2
00000b50: SUB
00000b51: SWAP1
00000b52: RETURN
00000b53: JUMPDEST
00000b54: CALLVALUE
00000b55: DUP1
00000b56: ISZERO
00000b57: PUSH2 0x0b5f
00000b5a: JUMPI
00000b5b: PUSH1 0x00
00000b5d: DUP1
00000b5e: REVERT
00000b5f: JUMPDEST
00000b60: POP
00000b61: PUSH2 0x0b68
00000b64: PUSH2 0x2b16
00000b67: JUMP
00000b68: JUMPDEST
00000b69: PUSH1 0x40
00000b6b: MLOAD
00000b6c: DUP1
00000b6d: DUP3
00000b6e: DUP2
00000b6f: MSTORE
00000b70: PUSH1 0x20
00000b72: ADD
00000b73: SWAP2
00000b74: POP
00000b75: POP
00000b76: PUSH1 0x40
00000b78: MLOAD
00000b79: DUP1
00000b7a: SWAP2
00000b7b: SUB
00000b7c: SWAP1
00000b7d: RETURN
00000b7e: JUMPDEST
00000b7f: PUSH2 0x0b9c
00000b82: PUSH1 0x04
00000b84: DUP1
00000b85: CALLDATASIZE
00000b86: SUB
00000b87: DUP2
00000b88: ADD
00000b89: SWAP1
00000b8a: DUP1
00000b8b: DUP1
00000b8c: CALLDATALOAD
00000b8d: SWAP1
00000b8e: PUSH1 0x20
00000b90: ADD
00000b91: SWAP1
00000b92: SWAP3
00000b93: SWAP2
00000b94: SWAP1
00000b95: POP
00000b96: POP
00000b97: POP
00000b98: PUSH2 0x2b20
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: STOP
00000b9e: JUMPDEST
00000b9f: CALLVALUE
00000ba0: DUP1
00000ba1: ISZERO
00000ba2: PUSH2 0x0baa
00000ba5: JUMPI
00000ba6: PUSH1 0x00
00000ba8: DUP1
00000ba9: REVERT
00000baa: JUMPDEST
00000bab: POP
00000bac: PUSH2 0x0bb3
00000baf: PUSH2 0x2d7a
00000bb2: JUMP
00000bb3: JUMPDEST
00000bb4: PUSH1 0x40
00000bb6: MLOAD
00000bb7: DUP1
00000bb8: DUP3
00000bb9: DUP2
00000bba: MSTORE
00000bbb: PUSH1 0x20
00000bbd: ADD
00000bbe: SWAP2
00000bbf: POP
00000bc0: POP
00000bc1: PUSH1 0x40
00000bc3: MLOAD
00000bc4: DUP1
00000bc5: SWAP2
00000bc6: SUB
00000bc7: SWAP1
00000bc8: RETURN
00000bc9: JUMPDEST
00000bca: CALLVALUE
00000bcb: DUP1
00000bcc: ISZERO
00000bcd: PUSH2 0x0bd5
00000bd0: JUMPI
00000bd1: PUSH1 0x00
00000bd3: DUP1
00000bd4: REVERT
00000bd5: JUMPDEST
00000bd6: POP
00000bd7: PUSH2 0x0c14
00000bda: PUSH1 0x04
00000bdc: DUP1
00000bdd: CALLDATASIZE
00000bde: SUB
00000bdf: DUP2
00000be0: ADD
00000be1: SWAP1
00000be2: DUP1
00000be3: DUP1
00000be4: CALLDATALOAD
00000be5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bfa: AND
00000bfb: SWAP1
00000bfc: PUSH1 0x20
00000bfe: ADD
00000bff: SWAP1
00000c00: SWAP3
00000c01: SWAP2
00000c02: SWAP1
00000c03: DUP1
00000c04: CALLDATALOAD
00000c05: SWAP1
00000c06: PUSH1 0x20
00000c08: ADD
00000c09: SWAP1
00000c0a: SWAP3
00000c0b: SWAP2
00000c0c: SWAP1
00000c0d: POP
00000c0e: POP
00000c0f: POP
00000c10: PUSH2 0x2d84
00000c13: JUMP
00000c14: JUMPDEST
00000c15: PUSH1 0x40
00000c17: MLOAD
00000c18: DUP1
00000c19: DUP1
00000c1a: PUSH1 0x20
00000c1c: ADD
00000c1d: DUP8
00000c1e: PUSH1 0xff
00000c20: AND
00000c21: PUSH1 0xff
00000c23: AND
00000c24: DUP2
00000c25: MSTORE
00000c26: PUSH1 0x20
00000c28: ADD
00000c29: DUP7
00000c2a: DUP2
00000c2b: MSTORE
00000c2c: PUSH1 0x20
00000c2e: ADD
00000c2f: DUP6
00000c30: ISZERO
00000c31: ISZERO
00000c32: ISZERO
00000c33: ISZERO
00000c34: DUP2
00000c35: MSTORE
00000c36: PUSH1 0x20
00000c38: ADD
00000c39: DUP5
00000c3a: DUP2
00000c3b: MSTORE
00000c3c: PUSH1 0x20
00000c3e: ADD
00000c3f: DUP4
00000c40: DUP2
00000c41: MSTORE
00000c42: PUSH1 0x20
00000c44: ADD
00000c45: DUP3
00000c46: DUP2
00000c47: SUB
00000c48: DUP3
00000c49: MSTORE
00000c4a: DUP9
00000c4b: DUP2
00000c4c: DUP2
00000c4d: MLOAD
00000c4e: DUP2
00000c4f: MSTORE
00000c50: PUSH1 0x20
00000c52: ADD
00000c53: SWAP2
00000c54: POP
00000c55: DUP1
00000c56: MLOAD
00000c57: SWAP1
00000c58: PUSH1 0x20
00000c5a: ADD
00000c5b: SWAP1
00000c5c: DUP1
00000c5d: DUP4
00000c5e: DUP4
00000c5f: PUSH1 0x00
00000c61: JUMPDEST
00000c62: DUP4
00000c63: DUP2
00000c64: LT
00000c65: ISZERO
00000c66: PUSH2 0x0c7c
00000c69: JUMPI
00000c6a: DUP1
00000c6b: DUP3
00000c6c: ADD
00000c6d: MLOAD
00000c6e: DUP2
00000c6f: DUP5
00000c70: ADD
00000c71: MSTORE
00000c72: PUSH1 0x20
00000c74: DUP2
00000c75: ADD
00000c76: SWAP1
00000c77: POP
00000c78: PUSH2 0x0c61
00000c7b: JUMP
00000c7c: JUMPDEST
00000c7d: POP
00000c7e: POP
00000c7f: POP
00000c80: POP
00000c81: SWAP1
00000c82: POP
00000c83: SWAP1
00000c84: DUP2
00000c85: ADD
00000c86: SWAP1
00000c87: PUSH1 0x1f
00000c89: AND
00000c8a: DUP1
00000c8b: ISZERO
00000c8c: PUSH2 0x0ca9
00000c8f: JUMPI
00000c90: DUP1
00000c91: DUP3
00000c92: SUB
00000c93: DUP1
00000c94: MLOAD
00000c95: PUSH1 0x01
00000c97: DUP4
00000c98: PUSH1 0x20
00000c9a: SUB
00000c9b: PUSH2 0x0100
00000c9e: EXP
00000c9f: SUB
00000ca0: NOT
00000ca1: AND
00000ca2: DUP2
00000ca3: MSTORE
00000ca4: PUSH1 0x20
00000ca6: ADD
00000ca7: SWAP2
00000ca8: POP
00000ca9: JUMPDEST
00000caa: POP
00000cab: SWAP8
00000cac: POP
00000cad: POP
00000cae: POP
00000caf: POP
00000cb0: POP
00000cb1: POP
00000cb2: POP
00000cb3: POP
00000cb4: PUSH1 0x40
00000cb6: MLOAD
00000cb7: DUP1
00000cb8: SWAP2
00000cb9: SUB
00000cba: SWAP1
00000cbb: RETURN
00000cbc: JUMPDEST
00000cbd: CALLVALUE
00000cbe: DUP1
00000cbf: ISZERO
00000cc0: PUSH2 0x0cc8
00000cc3: JUMPI
00000cc4: PUSH1 0x00
00000cc6: DUP1
00000cc7: REVERT
00000cc8: JUMPDEST
00000cc9: POP
00000cca: PUSH2 0x0cd1
00000ccd: PUSH2 0x315e
00000cd0: JUMP
00000cd1: JUMPDEST
00000cd2: PUSH1 0x40
00000cd4: MLOAD
00000cd5: DUP1
00000cd6: DUP3
00000cd7: ISZERO
00000cd8: ISZERO
00000cd9: ISZERO
00000cda: ISZERO
00000cdb: DUP2
00000cdc: MSTORE
00000cdd: PUSH1 0x20
00000cdf: ADD
00000ce0: SWAP2
00000ce1: POP
00000ce2: POP
00000ce3: PUSH1 0x40
00000ce5: MLOAD
00000ce6: DUP1
00000ce7: SWAP2
00000ce8: SUB
00000ce9: SWAP1
00000cea: RETURN
00000ceb: JUMPDEST
00000cec: CALLVALUE
00000ced: DUP1
00000cee: ISZERO
00000cef: PUSH2 0x0cf7
00000cf2: JUMPI
00000cf3: PUSH1 0x00
00000cf5: DUP1
00000cf6: REVERT
00000cf7: JUMPDEST
00000cf8: POP
00000cf9: PUSH2 0x0d00
00000cfc: PUSH2 0x32d3
00000cff: JUMP
00000d00: JUMPDEST
00000d01: PUSH1 0x40
00000d03: MLOAD
00000d04: DUP1
00000d05: DUP3
00000d06: DUP2
00000d07: MSTORE
00000d08: PUSH1 0x20
00000d0a: ADD
00000d0b: SWAP2
00000d0c: POP
00000d0d: POP
00000d0e: PUSH1 0x40
00000d10: MLOAD
00000d11: DUP1
00000d12: SWAP2
00000d13: SUB
00000d14: SWAP1
00000d15: RETURN
00000d16: JUMPDEST
00000d17: CALLVALUE
00000d18: DUP1
00000d19: ISZERO
00000d1a: PUSH2 0x0d22
00000d1d: JUMPI
00000d1e: PUSH1 0x00
00000d20: DUP1
00000d21: REVERT
00000d22: JUMPDEST
00000d23: POP
00000d24: PUSH2 0x0d77
00000d27: PUSH1 0x04
00000d29: DUP1
00000d2a: CALLDATASIZE
00000d2b: SUB
00000d2c: DUP2
00000d2d: ADD
00000d2e: SWAP1
00000d2f: DUP1
00000d30: DUP1
00000d31: CALLDATALOAD
00000d32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d47: AND
00000d48: SWAP1
00000d49: PUSH1 0x20
00000d4b: ADD
00000d4c: SWAP1
00000d4d: SWAP3
00000d4e: SWAP2
00000d4f: SWAP1
00000d50: DUP1
00000d51: CALLDATALOAD
00000d52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d67: AND
00000d68: SWAP1
00000d69: PUSH1 0x20
00000d6b: ADD
00000d6c: SWAP1
00000d6d: SWAP3
00000d6e: SWAP2
00000d6f: SWAP1
00000d70: POP
00000d71: POP
00000d72: POP
00000d73: PUSH2 0x3391
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH1 0x40
00000d7a: MLOAD
00000d7b: DUP1
00000d7c: DUP3
00000d7d: DUP2
00000d7e: MSTORE
00000d7f: PUSH1 0x20
00000d81: ADD
00000d82: SWAP2
00000d83: POP
00000d84: POP
00000d85: PUSH1 0x40
00000d87: MLOAD
00000d88: DUP1
00000d89: SWAP2
00000d8a: SUB
00000d8b: SWAP1
00000d8c: RETURN
00000d8d: JUMPDEST
00000d8e: CALLVALUE
00000d8f: DUP1
00000d90: ISZERO
00000d91: PUSH2 0x0d99
00000d94: JUMPI
00000d95: PUSH1 0x00
00000d97: DUP1
00000d98: REVERT
00000d99: JUMPDEST
00000d9a: POP
00000d9b: PUSH2 0x0da2
00000d9e: PUSH2 0x3418
00000da1: JUMP
00000da2: JUMPDEST
00000da3: PUSH1 0x40
00000da5: MLOAD
00000da6: DUP1
00000da7: DUP3
00000da8: DUP2
00000da9: MSTORE
00000daa: PUSH1 0x20
00000dac: ADD
00000dad: SWAP2
00000dae: POP
00000daf: POP
00000db0: PUSH1 0x40
00000db2: MLOAD
00000db3: DUP1
00000db4: SWAP2
00000db5: SUB
00000db6: SWAP1
00000db7: RETURN
00000db8: JUMPDEST
00000db9: CALLVALUE
00000dba: DUP1
00000dbb: ISZERO
00000dbc: PUSH2 0x0dc4
00000dbf: JUMPI
00000dc0: PUSH1 0x00
00000dc2: DUP1
00000dc3: REVERT
00000dc4: JUMPDEST
00000dc5: POP
00000dc6: PUSH2 0x0dcd
00000dc9: PUSH2 0x34d6
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: PUSH1 0x40
00000dd0: MLOAD
00000dd1: DUP1
00000dd2: DUP3
00000dd3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000de8: AND
00000de9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dfe: AND
00000dff: DUP2
00000e00: MSTORE
00000e01: PUSH1 0x20
00000e03: ADD
00000e04: SWAP2
00000e05: POP
00000e06: POP
00000e07: PUSH1 0x40
00000e09: MLOAD
00000e0a: DUP1
00000e0b: SWAP2
00000e0c: SUB
00000e0d: SWAP1
00000e0e: RETURN
00000e0f: JUMPDEST
00000e10: CALLVALUE
00000e11: DUP1
00000e12: ISZERO
00000e13: PUSH2 0x0e1b
00000e16: JUMPI
00000e17: PUSH1 0x00
00000e19: DUP1
00000e1a: REVERT
00000e1b: JUMPDEST
00000e1c: POP
00000e1d: PUSH2 0x0e24
00000e20: PUSH2 0x34fc
00000e23: JUMP
00000e24: JUMPDEST
00000e25: PUSH1 0x40
00000e27: MLOAD
00000e28: DUP1
00000e29: DUP3
00000e2a: DUP2
00000e2b: MSTORE
00000e2c: PUSH1 0x20
00000e2e: ADD
00000e2f: SWAP2
00000e30: POP
00000e31: POP
00000e32: PUSH1 0x40
00000e34: MLOAD
00000e35: DUP1
00000e36: SWAP2
00000e37: SUB
00000e38: SWAP1
00000e39: RETURN
00000e3a: JUMPDEST
00000e3b: PUSH1 0x40
00000e3d: DUP1
00000e3e: MLOAD
00000e3f: SWAP1
00000e40: DUP2
00000e41: ADD
00000e42: PUSH1 0x40
00000e44: MSTORE
00000e45: DUP1
00000e46: PUSH1 0x05
00000e48: DUP2
00000e49: MSTORE
00000e4a: PUSH1 0x20
00000e4c: ADD
00000e4d: PUSH32 0x5349523131000000000000000000000000000000000000000000000000000000
00000e6e: DUP2
00000e6f: MSTORE
00000e70: POP
00000e71: DUP2
00000e72: JUMP
00000e73: JUMPDEST
00000e74: PUSH1 0x00
00000e76: DUP2
00000e77: PUSH1 0x04
00000e79: PUSH1 0x00
00000e7b: CALLER
00000e7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e91: AND
00000e92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ea7: AND
00000ea8: DUP2
00000ea9: MSTORE
00000eaa: PUSH1 0x20
00000eac: ADD
00000ead: SWAP1
00000eae: DUP2
00000eaf: MSTORE
00000eb0: PUSH1 0x20
00000eb2: ADD
00000eb3: PUSH1 0x00
00000eb5: KECCAK256
00000eb6: PUSH1 0x00
00000eb8: DUP6
00000eb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ece: AND
00000ecf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee4: AND
00000ee5: DUP2
00000ee6: MSTORE
00000ee7: PUSH1 0x20
00000ee9: ADD
00000eea: SWAP1
00000eeb: DUP2
00000eec: MSTORE
00000eed: PUSH1 0x20
00000eef: ADD
00000ef0: PUSH1 0x00
00000ef2: KECCAK256
00000ef3: DUP2
00000ef4: SWAP1
00000ef5: SSTORE
00000ef6: POP
00000ef7: DUP3
00000ef8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f0d: AND
00000f0e: CALLER
00000f0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f24: AND
00000f25: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000f46: DUP5
00000f47: PUSH1 0x40
00000f49: MLOAD
00000f4a: DUP1
00000f4b: DUP3
00000f4c: DUP2
00000f4d: MSTORE
00000f4e: PUSH1 0x20
00000f50: ADD
00000f51: SWAP2
00000f52: POP
00000f53: POP
00000f54: PUSH1 0x40
00000f56: MLOAD
00000f57: DUP1
00000f58: SWAP2
00000f59: SUB
00000f5a: SWAP1
00000f5b: LOG3
00000f5c: PUSH1 0x01
00000f5e: SWAP1
00000f5f: POP
00000f60: SWAP3
00000f61: SWAP2
00000f62: POP
00000f63: POP
00000f64: JUMP
00000f65: JUMPDEST
00000f66: PUSH1 0x02
00000f68: PUSH1 0x00
00000f6a: SWAP1
00000f6b: SLOAD
00000f6c: SWAP1
00000f6d: PUSH2 0x0100
00000f70: EXP
00000f71: SWAP1
00000f72: DIV
00000f73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f88: AND
00000f89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f9e: AND
00000f9f: CALLER
00000fa0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fb5: AND
00000fb6: EQ
00000fb7: DUP1
00000fb8: PUSH2 0x100e
00000fbb: JUMPI
00000fbc: POP
00000fbd: PUSH1 0x01
00000fbf: PUSH1 0x00
00000fc1: SWAP1
00000fc2: SLOAD
00000fc3: SWAP1
00000fc4: PUSH2 0x0100
00000fc7: EXP
00000fc8: SWAP1
00000fc9: DIV
00000fca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fdf: AND
00000fe0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ff5: AND
00000ff6: CALLER
00000ff7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000100c: AND
0000100d: EQ
0000100e: JUMPDEST
0000100f: ISZERO
00001010: ISZERO
00001011: PUSH2 0x1019
00001014: JUMPI
00001015: PUSH1 0x00
00001017: DUP1
00001018: REVERT
00001019: JUMPDEST
0000101a: PUSH1 0x01
0000101c: ISZERO
0000101d: ISZERO
0000101e: PUSH1 0x10
00001020: PUSH1 0x00
00001022: SWAP1
00001023: SLOAD
00001024: SWAP1
00001025: PUSH2 0x0100
00001028: EXP
00001029: SWAP1
0000102a: DIV
0000102b: PUSH1 0xff
0000102d: AND
0000102e: ISZERO
0000102f: ISZERO
00001030: EQ
00001031: ISZERO
00001032: PUSH2 0x1055
00001035: JUMPI
00001036: PUSH1 0x00
00001038: PUSH1 0x10
0000103a: PUSH1 0x00
0000103c: PUSH2 0x0100
0000103f: EXP
00001040: DUP2
00001041: SLOAD
00001042: DUP2
00001043: PUSH1 0xff
00001045: MUL
00001046: NOT
00001047: AND
00001048: SWAP1
00001049: DUP4
0000104a: ISZERO
0000104b: ISZERO
0000104c: MUL
0000104d: OR
0000104e: SWAP1
0000104f: SSTORE
00001050: POP
00001051: PUSH2 0x1071
00001054: JUMP
00001055: JUMPDEST
00001056: PUSH1 0x01
00001058: PUSH1 0x10
0000105a: PUSH1 0x00
0000105c: PUSH2 0x0100
0000105f: EXP
00001060: DUP2
00001061: SLOAD
00001062: DUP2
00001063: PUSH1 0xff
00001065: MUL
00001066: NOT
00001067: AND
00001068: SWAP1
00001069: DUP4
0000106a: ISZERO
0000106b: ISZERO
0000106c: MUL
0000106d: OR
0000106e: SWAP1
0000106f: SSTORE
00001070: POP
00001071: JUMPDEST
00001072: JUMP
00001073: JUMPDEST
00001074: PUSH1 0x02
00001076: PUSH1 0x00
00001078: SWAP1
00001079: SLOAD
0000107a: SWAP1
0000107b: PUSH2 0x0100
0000107e: EXP
0000107f: SWAP1
00001080: DIV
00001081: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001096: AND
00001097: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ac: AND
000010ad: CALLER
000010ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010c3: AND
000010c4: EQ
000010c5: DUP1
000010c6: PUSH2 0x111c
000010c9: JUMPI
000010ca: POP
000010cb: PUSH1 0x01
000010cd: PUSH1 0x00
000010cf: SWAP1
000010d0: SLOAD
000010d1: SWAP1
000010d2: PUSH2 0x0100
000010d5: EXP
000010d6: SWAP1
000010d7: DIV
000010d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ed: AND
000010ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001103: AND
00001104: CALLER
00001105: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000111a: AND
0000111b: EQ
0000111c: JUMPDEST
0000111d: ISZERO
0000111e: ISZERO
0000111f: PUSH2 0x1127
00001122: JUMPI
00001123: PUSH1 0x00
00001125: DUP1
00001126: REVERT
00001127: JUMPDEST
00001128: PUSH1 0x00
0000112a: PUSH1 0x0a
0000112c: SLOAD
0000112d: GT
0000112e: ISZERO
0000112f: ISZERO
00001130: PUSH2 0x1138
00001133: JUMPI
00001134: PUSH1 0x00
00001136: DUP1
00001137: REVERT
00001138: JUMPDEST
00001139: DUP1
0000113a: PUSH1 0x0a
0000113c: SLOAD
0000113d: LT
0000113e: ISZERO
0000113f: DUP1
00001140: ISZERO
00001141: PUSH2 0x114a
00001144: JUMPI
00001145: POP
00001146: PUSH1 0x00
00001148: DUP2
00001149: GT
0000114a: JUMPDEST
0000114b: ISZERO
0000114c: PUSH2 0x11a7
0000114f: JUMPI
00001150: DUP1
00001151: PUSH1 0x0a
00001153: PUSH1 0x00
00001155: DUP3
00001156: DUP3
00001157: SLOAD
00001158: SUB
00001159: SWAP3
0000115a: POP
0000115b: POP
0000115c: DUP2
0000115d: SWAP1
0000115e: SSTORE
0000115f: POP
00001160: DUP2
00001161: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001176: AND
00001177: PUSH2 0x08fc
0000117a: DUP3
0000117b: SWAP1
0000117c: DUP2
0000117d: ISZERO
0000117e: MUL
0000117f: SWAP1
00001180: PUSH1 0x40
00001182: MLOAD
00001183: PUSH1 0x00
00001185: PUSH1 0x40
00001187: MLOAD
00001188: DUP1
00001189: DUP4
0000118a: SUB
0000118b: DUP2
0000118c: DUP6
0000118d: DUP9
0000118e: DUP9
0000118f: CALL
00001190: SWAP4
00001191: POP
00001192: POP
00001193: POP
00001194: POP
00001195: ISZERO
00001196: DUP1
00001197: ISZERO
00001198: PUSH2 0x11a5
0000119b: JUMPI
0000119c: RETURNDATASIZE
0000119d: PUSH1 0x00
0000119f: DUP1
000011a0: RETURNDATACOPY
000011a1: RETURNDATASIZE
000011a2: PUSH1 0x00
000011a4: REVERT
000011a5: JUMPDEST
000011a6: POP
000011a7: JUMPDEST
000011a8: POP
000011a9: POP
000011aa: JUMP
000011ab: JUMPDEST
000011ac: PUSH1 0x00
000011ae: DUP1
000011af: SLOAD
000011b0: SWAP1
000011b1: POP
000011b2: SWAP1
000011b3: JUMP
000011b4: JUMPDEST
000011b5: PUSH1 0x02
000011b7: PUSH1 0x00
000011b9: SWAP1
000011ba: SLOAD
000011bb: SWAP1
000011bc: PUSH2 0x0100
000011bf: EXP
000011c0: SWAP1
000011c1: DIV
000011c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011d7: AND
000011d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ed: AND
000011ee: CALLER
000011ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001204: AND
00001205: EQ
00001206: DUP1
00001207: PUSH2 0x125d
0000120a: JUMPI
0000120b: POP
0000120c: PUSH1 0x01
0000120e: PUSH1 0x00
00001210: SWAP1
00001211: SLOAD
00001212: SWAP1
00001213: PUSH2 0x0100
00001216: EXP
00001217: SWAP1
00001218: DIV
00001219: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000122e: AND
0000122f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001244: AND
00001245: CALLER
00001246: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000125b: AND
0000125c: EQ
0000125d: JUMPDEST
0000125e: ISZERO
0000125f: ISZERO
00001260: PUSH2 0x1268
00001263: JUMPI
00001264: PUSH1 0x00
00001266: DUP1
00001267: REVERT
00001268: JUMPDEST
00001269: PUSH1 0x0a
0000126b: DUP2
0000126c: PUSH1 0xff
0000126e: AND
0000126f: GT
00001270: DUP1
00001271: ISZERO
00001272: PUSH2 0x127e
00001275: JUMPI
00001276: POP
00001277: PUSH1 0x3c
00001279: DUP2
0000127a: PUSH1 0xff
0000127c: AND
0000127d: LT
0000127e: JUMPDEST
0000127f: ISZERO
00001280: ISZERO
00001281: PUSH2 0x1289
00001284: JUMPI
00001285: PUSH1 0x00
00001287: DUP1
00001288: REVERT
00001289: JUMPDEST
0000128a: DUP1
0000128b: PUSH1 0x05
0000128d: PUSH1 0x01
0000128f: PUSH2 0x0100
00001292: EXP
00001293: DUP2
00001294: SLOAD
00001295: DUP2
00001296: PUSH1 0xff
00001298: MUL
00001299: NOT
0000129a: AND
0000129b: SWAP1
0000129c: DUP4
0000129d: PUSH1 0xff
0000129f: AND
000012a0: MUL
000012a1: OR
000012a2: SWAP1
000012a3: SSTORE
000012a4: POP
000012a5: DUP1
000012a6: PUSH1 0x46
000012a8: SUB
000012a9: PUSH1 0x05
000012ab: PUSH1 0x00
000012ad: PUSH2 0x0100
000012b0: EXP
000012b1: DUP2
000012b2: SLOAD
000012b3: DUP2
000012b4: PUSH1 0xff
000012b6: MUL
000012b7: NOT
000012b8: AND
000012b9: SWAP1
000012ba: DUP4
000012bb: PUSH1 0xff
000012bd: AND
000012be: MUL
000012bf: OR
000012c0: SWAP1
000012c1: SSTORE
000012c2: POP
000012c3: POP
000012c4: JUMP
000012c5: JUMPDEST
000012c6: PUSH1 0x00
000012c8: PUSH1 0x02
000012ca: PUSH1 0x00
000012cc: SWAP1
000012cd: SLOAD
000012ce: SWAP1
000012cf: PUSH2 0x0100
000012d2: EXP
000012d3: SWAP1
000012d4: DIV
000012d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ea: AND
000012eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001300: AND
00001301: CALLER
00001302: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001317: AND
00001318: EQ
00001319: DUP1
0000131a: PUSH2 0x1370
0000131d: JUMPI
0000131e: POP
0000131f: PUSH1 0x01
00001321: PUSH1 0x00
00001323: SWAP1
00001324: SLOAD
00001325: SWAP1
00001326: PUSH2 0x0100
00001329: EXP
0000132a: SWAP1
0000132b: DIV
0000132c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001341: AND
00001342: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001357: AND
00001358: CALLER
00001359: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000136e: AND
0000136f: EQ
00001370: JUMPDEST
00001371: ISZERO
00001372: ISZERO
00001373: PUSH2 0x137b
00001376: JUMPI
00001377: PUSH1 0x00
00001379: DUP1
0000137a: REVERT
0000137b: JUMPDEST
0000137c: PUSH1 0x0d
0000137e: SLOAD
0000137f: SWAP1
00001380: POP
00001381: SWAP1
00001382: JUMP
00001383: JUMPDEST
00001384: PUSH1 0x00
00001386: DUP2
00001387: PUSH1 0x03
00001389: PUSH1 0x00
0000138b: DUP7
0000138c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013a1: AND
000013a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b7: AND
000013b8: DUP2
000013b9: MSTORE
000013ba: PUSH1 0x20
000013bc: ADD
000013bd: SWAP1
000013be: DUP2
000013bf: MSTORE
000013c0: PUSH1 0x20
000013c2: ADD
000013c3: PUSH1 0x00
000013c5: KECCAK256
000013c6: SLOAD
000013c7: LT
000013c8: ISZERO
000013c9: DUP1
000013ca: ISZERO
000013cb: PUSH2 0x1450
000013ce: JUMPI
000013cf: POP
000013d0: DUP2
000013d1: PUSH1 0x04
000013d3: PUSH1 0x00
000013d5: DUP7
000013d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013eb: AND
000013ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001401: AND
00001402: DUP2
00001403: MSTORE
00001404: PUSH1 0x20
00001406: ADD
00001407: SWAP1
00001408: DUP2
00001409: MSTORE
0000140a: PUSH1 0x20
0000140c: ADD
0000140d: PUSH1 0x00
0000140f: KECCAK256
00001410: PUSH1 0x00
00001412: CALLER
00001413: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001428: AND
00001429: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000143e: AND
0000143f: DUP2
00001440: MSTORE
00001441: PUSH1 0x20
00001443: ADD
00001444: SWAP1
00001445: DUP2
00001446: MSTORE
00001447: PUSH1 0x20
00001449: ADD
0000144a: PUSH1 0x00
0000144c: KECCAK256
0000144d: SLOAD
0000144e: LT
0000144f: ISZERO
00001450: JUMPDEST
00001451: DUP1
00001452: ISZERO
00001453: PUSH2 0x145c
00001456: JUMPI
00001457: POP
00001458: PUSH1 0x00
0000145a: DUP3
0000145b: GT
0000145c: JUMPDEST
0000145d: DUP1
0000145e: ISZERO
0000145f: PUSH2 0x14e7
00001462: JUMPI
00001463: POP
00001464: PUSH1 0x03
00001466: PUSH1 0x00
00001468: DUP5
00001469: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000147e: AND
0000147f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001494: AND
00001495: DUP2
00001496: MSTORE
00001497: PUSH1 0x20
00001499: ADD
0000149a: SWAP1
0000149b: DUP2
0000149c: MSTORE
0000149d: PUSH1 0x20
0000149f: ADD
000014a0: PUSH1 0x00
000014a2: KECCAK256
000014a3: SLOAD
000014a4: DUP3
000014a5: PUSH1 0x03
000014a7: PUSH1 0x00
000014a9: DUP7
000014aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014bf: AND
000014c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014d5: AND
000014d6: DUP2
000014d7: MSTORE
000014d8: PUSH1 0x20
000014da: ADD
000014db: SWAP1
000014dc: DUP2
000014dd: MSTORE
000014de: PUSH1 0x20
000014e0: ADD
000014e1: PUSH1 0x00
000014e3: KECCAK256
000014e4: SLOAD
000014e5: ADD
000014e6: GT
000014e7: JUMPDEST
000014e8: ISZERO
000014e9: PUSH2 0x167e
000014ec: JUMPI
000014ed: DUP2
000014ee: PUSH1 0x03
000014f0: PUSH1 0x00
000014f2: DUP7
000014f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001508: AND
00001509: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000151e: AND
0000151f: DUP2
00001520: MSTORE
00001521: PUSH1 0x20
00001523: ADD
00001524: SWAP1
00001525: DUP2
00001526: MSTORE
00001527: PUSH1 0x20
00001529: ADD
0000152a: PUSH1 0x00
0000152c: KECCAK256
0000152d: PUSH1 0x00
0000152f: DUP3
00001530: DUP3
00001531: SLOAD
00001532: SUB
00001533: SWAP3
00001534: POP
00001535: POP
00001536: DUP2
00001537: SWAP1
00001538: SSTORE
00001539: POP
0000153a: DUP2
0000153b: PUSH1 0x04
0000153d: PUSH1 0x00
0000153f: DUP7
00001540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001555: AND
00001556: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000156b: AND
0000156c: DUP2
0000156d: MSTORE
0000156e: PUSH1 0x20
00001570: ADD
00001571: SWAP1
00001572: DUP2
00001573: MSTORE
00001574: PUSH1 0x20
00001576: ADD
00001577: PUSH1 0x00
00001579: KECCAK256
0000157a: PUSH1 0x00
0000157c: CALLER
0000157d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001592: AND
00001593: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015a8: AND
000015a9: DUP2
000015aa: MSTORE
000015ab: PUSH1 0x20
000015ad: ADD
000015ae: SWAP1
000015af: DUP2
000015b0: MSTORE
000015b1: PUSH1 0x20
000015b3: ADD
000015b4: PUSH1 0x00
000015b6: KECCAK256
000015b7: PUSH1 0x00
000015b9: DUP3
000015ba: DUP3
000015bb: SLOAD
000015bc: SUB
000015bd: SWAP3
000015be: POP
000015bf: POP
000015c0: DUP2
000015c1: SWAP1
000015c2: SSTORE
000015c3: POP
000015c4: DUP2
000015c5: PUSH1 0x03
000015c7: PUSH1 0x00
000015c9: DUP6
000015ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015df: AND
000015e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015f5: AND
000015f6: DUP2
000015f7: MSTORE
000015f8: PUSH1 0x20
000015fa: ADD
000015fb: SWAP1
000015fc: DUP2
000015fd: MSTORE
000015fe: PUSH1 0x20
00001600: ADD
00001601: PUSH1 0x00
00001603: KECCAK256
00001604: PUSH1 0x00
00001606: DUP3
00001607: DUP3
00001608: SLOAD
00001609: ADD
0000160a: SWAP3
0000160b: POP
0000160c: POP
0000160d: DUP2
0000160e: SWAP1
0000160f: SSTORE
00001610: POP
00001611: DUP3
00001612: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001627: AND
00001628: DUP5
00001629: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000163e: AND
0000163f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001660: DUP5
00001661: PUSH1 0x40
00001663: MLOAD
00001664: DUP1
00001665: DUP3
00001666: DUP2
00001667: MSTORE
00001668: PUSH1 0x20
0000166a: ADD
0000166b: SWAP2
0000166c: POP
0000166d: POP
0000166e: PUSH1 0x40
00001670: MLOAD
00001671: DUP1
00001672: SWAP2
00001673: SUB
00001674: SWAP1
00001675: LOG3
00001676: PUSH1 0x01
00001678: SWAP1
00001679: POP
0000167a: PUSH2 0x1683
0000167d: JUMP
0000167e: JUMPDEST
0000167f: PUSH1 0x00
00001681: SWAP1
00001682: POP
00001683: JUMPDEST
00001684: SWAP4
00001685: SWAP3
00001686: POP
00001687: POP
00001688: POP
00001689: JUMP
0000168a: JUMPDEST
0000168b: PUSH1 0x00
0000168d: PUSH1 0x02
0000168f: PUSH1 0x00
00001691: SWAP1
00001692: SLOAD
00001693: SWAP1
00001694: PUSH2 0x0100
00001697: EXP
00001698: SWAP1
00001699: DIV
0000169a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016af: AND
000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c5: AND
000016c6: CALLER
000016c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016dc: AND
000016dd: EQ
000016de: DUP1
000016df: PUSH2 0x1735
000016e2: JUMPI
000016e3: POP
000016e4: PUSH1 0x01
000016e6: PUSH1 0x00
000016e8: SWAP1
000016e9: SLOAD
000016ea: SWAP1
000016eb: PUSH2 0x0100
000016ee: EXP
000016ef: SWAP1
000016f0: DIV
000016f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001706: AND
00001707: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000171c: AND
0000171d: CALLER
0000171e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001733: AND
00001734: EQ
00001735: JUMPDEST
00001736: ISZERO
00001737: ISZERO
00001738: PUSH2 0x1740
0000173b: JUMPI
0000173c: PUSH1 0x00
0000173e: DUP1
0000173f: REVERT
00001740: JUMPDEST
00001741: PUSH1 0x0a
00001743: PUSH1 0xff
00001745: AND
00001746: SWAP1
00001747: POP
00001748: SWAP1
00001749: JUMP
0000174a: JUMPDEST
0000174b: PUSH1 0x12
0000174d: DUP2
0000174e: JUMP
0000174f: JUMPDEST
00001750: PUSH1 0x00
00001752: PUSH1 0x02
00001754: PUSH1 0x00
00001756: SWAP1
00001757: SLOAD
00001758: SWAP1
00001759: PUSH2 0x0100
0000175c: EXP
0000175d: SWAP1
0000175e: DIV
0000175f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001774: AND
00001775: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000178a: AND
0000178b: CALLER
0000178c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017a1: AND
000017a2: EQ
000017a3: DUP1
000017a4: PUSH2 0x17fa
000017a7: JUMPI
000017a8: POP
000017a9: PUSH1 0x01
000017ab: PUSH1 0x00
000017ad: SWAP1
000017ae: SLOAD
000017af: SWAP1
000017b0: PUSH2 0x0100
000017b3: EXP
000017b4: SWAP1
000017b5: DIV
000017b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017cb: AND
000017cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017e1: AND
000017e2: CALLER
000017e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f8: AND
000017f9: EQ
000017fa: JUMPDEST
000017fb: ISZERO
000017fc: ISZERO
000017fd: PUSH2 0x1805
00001800: JUMPI
00001801: PUSH1 0x00
00001803: DUP1
00001804: REVERT
00001805: JUMPDEST
00001806: PUSH1 0x07
00001808: PUSH1 0x00
0000180a: DUP5
0000180b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001820: AND
00001821: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001836: AND
00001837: DUP2
00001838: MSTORE
00001839: PUSH1 0x20
0000183b: ADD
0000183c: SWAP1
0000183d: DUP2
0000183e: MSTORE
0000183f: PUSH1 0x20
00001841: ADD
00001842: PUSH1 0x00
00001844: KECCAK256
00001845: SWAP1
00001846: POP
00001847: DUP1
00001848: PUSH1 0x00
0000184a: DUP4
0000184b: DUP2
0000184c: MSTORE
0000184d: PUSH1 0x20
0000184f: ADD
00001850: SWAP1
00001851: DUP2
00001852: MSTORE
00001853: PUSH1 0x20
00001855: ADD
00001856: PUSH1 0x00
00001858: KECCAK256
00001859: PUSH1 0x08
0000185b: ADD
0000185c: PUSH1 0x00
0000185e: SWAP1
0000185f: SLOAD
00001860: SWAP1
00001861: PUSH2 0x0100
00001864: EXP
00001865: SWAP1
00001866: DIV
00001867: PUSH1 0xff
00001869: AND
0000186a: ISZERO
0000186b: PUSH2 0x1905
0000186e: JUMPI
0000186f: PUSH1 0x00
00001871: DUP2
00001872: PUSH1 0x00
00001874: DUP5
00001875: DUP2
00001876: MSTORE
00001877: PUSH1 0x20
00001879: ADD
0000187a: SWAP1
0000187b: DUP2
0000187c: MSTORE
0000187d: PUSH1 0x20
0000187f: ADD
00001880: PUSH1 0x00
00001882: KECCAK256
00001883: PUSH1 0x08
00001885: ADD
00001886: PUSH1 0x00
00001888: PUSH2 0x0100
0000188b: EXP
0000188c: DUP2
0000188d: SLOAD
0000188e: DUP2
0000188f: PUSH1 0xff
00001891: MUL
00001892: NOT
00001893: AND
00001894: SWAP1
00001895: DUP4
00001896: ISZERO
00001897: ISZERO
00001898: MUL
00001899: OR
0000189a: SWAP1
0000189b: SSTORE
0000189c: POP
0000189d: PUSH1 0x01
0000189f: PUSH1 0x0c
000018a1: SLOAD
000018a2: ADD
000018a3: PUSH1 0x0c
000018a5: DUP2
000018a6: SWAP1
000018a7: SSTORE
000018a8: POP
000018a9: PUSH2 0x18e7
000018ac: DUP2
000018ad: PUSH1 0x00
000018af: DUP5
000018b0: DUP2
000018b1: MSTORE
000018b2: PUSH1 0x20
000018b4: ADD
000018b5: SWAP1
000018b6: DUP2
000018b7: MSTORE
000018b8: PUSH1 0x20
000018ba: ADD
000018bb: PUSH1 0x00
000018bd: KECCAK256
000018be: PUSH1 0x09
000018c0: ADD
000018c1: SLOAD
000018c2: PUSH2 0x18e2
000018c5: PUSH1 0x0d
000018c7: SLOAD
000018c8: DUP5
000018c9: PUSH1 0x00
000018cb: DUP8
000018cc: DUP2
000018cd: MSTORE
000018ce: PUSH1 0x20
000018d0: ADD
000018d1: SWAP1
000018d2: DUP2
000018d3: MSTORE
000018d4: PUSH1 0x20
000018d6: ADD
000018d7: PUSH1 0x00
000018d9: KECCAK256
000018da: PUSH1 0x0a
000018dc: ADD
000018dd: SLOAD
000018de: PUSH2 0x35ca
000018e1: JUMP
000018e2: JUMPDEST
000018e3: PUSH2 0x35e3
000018e6: JUMP
000018e7: JUMPDEST
000018e8: DUP2
000018e9: PUSH1 0x00
000018eb: DUP5
000018ec: DUP2
000018ed: MSTORE
000018ee: PUSH1 0x20
000018f0: ADD
000018f1: SWAP1
000018f2: DUP2
000018f3: MSTORE
000018f4: PUSH1 0x20
000018f6: ADD
000018f7: PUSH1 0x00
000018f9: KECCAK256
000018fa: PUSH1 0x09
000018fc: ADD
000018fd: DUP2
000018fe: SWAP1
000018ff: SSTORE
00001900: POP
00001901: PUSH2 0x195c
00001904: JUMP
00001905: JUMPDEST
00001906: PUSH1 0x01
00001908: DUP2
00001909: PUSH1 0x00
0000190b: DUP5
0000190c: DUP2
0000190d: MSTORE
0000190e: PUSH1 0x20
00001910: ADD
00001911: SWAP1
00001912: DUP2
00001913: MSTORE
00001914: PUSH1 0x20
00001916: ADD
00001917: PUSH1 0x00
00001919: KECCAK256
0000191a: PUSH1 0x08
0000191c: ADD
0000191d: PUSH1 0x00
0000191f: PUSH2 0x0100
00001922: EXP
00001923: DUP2
00001924: SLOAD
00001925: DUP2
00001926: PUSH1 0xff
00001928: MUL
00001929: NOT
0000192a: AND
0000192b: SWAP1
0000192c: DUP4
0000192d: ISZERO
0000192e: ISZERO
0000192f: MUL
00001930: OR
00001931: SWAP1
00001932: SSTORE
00001933: POP
00001934: PUSH1 0x01
00001936: PUSH1 0x0c
00001938: SLOAD
00001939: SUB
0000193a: PUSH1 0x0c
0000193c: DUP2
0000193d: SWAP1
0000193e: SSTORE
0000193f: POP
00001940: PUSH1 0x0d
00001942: SLOAD
00001943: DUP2
00001944: PUSH1 0x00
00001946: DUP5
00001947: DUP2
00001948: MSTORE
00001949: PUSH1 0x20
0000194b: ADD
0000194c: SWAP1
0000194d: DUP2
0000194e: MSTORE
0000194f: PUSH1 0x20
00001951: ADD
00001952: PUSH1 0x00
00001954: KECCAK256
00001955: PUSH1 0x0a
00001957: ADD
00001958: DUP2
00001959: SWAP1
0000195a: SSTORE
0000195b: POP
0000195c: JUMPDEST
0000195d: POP
0000195e: POP
0000195f: POP
00001960: JUMP
00001961: JUMPDEST
00001962: PUSH1 0x01
00001964: PUSH1 0x00
00001966: SWAP1
00001967: SLOAD
00001968: SWAP1
00001969: PUSH2 0x0100
0000196c: EXP
0000196d: SWAP1
0000196e: DIV
0000196f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001984: AND
00001985: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000199a: AND
0000199b: CALLER
0000199c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019b1: AND
000019b2: EQ
000019b3: ISZERO
000019b4: ISZERO
000019b5: PUSH2 0x19bd
000019b8: JUMPI
000019b9: PUSH1 0x00
000019bb: DUP1
000019bc: REVERT
000019bd: JUMPDEST
000019be: DUP1
000019bf: PUSH1 0x02
000019c1: PUSH1 0x00
000019c3: PUSH2 0x0100
000019c6: EXP
000019c7: DUP2
000019c8: SLOAD
000019c9: DUP2
000019ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019df: MUL
000019e0: NOT
000019e1: AND
000019e2: SWAP1
000019e3: DUP4
000019e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019f9: AND
000019fa: MUL
000019fb: OR
000019fc: SWAP1
000019fd: SSTORE
000019fe: POP
000019ff: POP
00001a00: JUMP
00001a01: JUMPDEST
00001a02: PUSH1 0x60
00001a04: DUP1
00001a05: PUSH1 0x00
00001a07: DUP1
00001a08: PUSH1 0x07
00001a0a: PUSH1 0x00
00001a0c: CALLER
00001a0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a22: AND
00001a23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a38: AND
00001a39: DUP2
00001a3a: MSTORE
00001a3b: PUSH1 0x20
00001a3d: ADD
00001a3e: SWAP1
00001a3f: DUP2
00001a40: MSTORE
00001a41: PUSH1 0x20
00001a43: ADD
00001a44: PUSH1 0x00
00001a46: KECCAK256
00001a47: SWAP1
00001a48: POP
00001a49: DUP1
00001a4a: PUSH1 0x00
00001a4c: DUP7
00001a4d: DUP2
00001a4e: MSTORE
00001a4f: PUSH1 0x20
00001a51: ADD
00001a52: SWAP1
00001a53: DUP2
00001a54: MSTORE
00001a55: PUSH1 0x20
00001a57: ADD
00001a58: PUSH1 0x00
00001a5a: KECCAK256
00001a5b: PUSH1 0x03
00001a5d: ADD
00001a5e: DUP2
00001a5f: PUSH1 0x00
00001a61: DUP8
00001a62: DUP2
00001a63: MSTORE
00001a64: PUSH1 0x20
00001a66: ADD
00001a67: SWAP1
00001a68: DUP2
00001a69: MSTORE
00001a6a: PUSH1 0x20
00001a6c: ADD
00001a6d: PUSH1 0x00
00001a6f: KECCAK256
00001a70: PUSH1 0x04
00001a72: ADD
00001a73: DUP3
00001a74: PUSH1 0x00
00001a76: DUP9
00001a77: DUP2
00001a78: MSTORE
00001a79: PUSH1 0x20
00001a7b: ADD
00001a7c: SWAP1
00001a7d: DUP2
00001a7e: MSTORE
00001a7f: PUSH1 0x20
00001a81: ADD
00001a82: PUSH1 0x00
00001a84: KECCAK256
00001a85: PUSH1 0x01
00001a87: ADD
00001a88: PUSH1 0x00
00001a8a: SWAP1
00001a8b: SLOAD
00001a8c: SWAP1
00001a8d: PUSH2 0x0100
00001a90: EXP
00001a91: SWAP1
00001a92: DIV
00001a93: PUSH1 0xff
00001a95: AND
00001a96: DUP3
00001a97: DUP1
00001a98: SLOAD
00001a99: PUSH1 0x01
00001a9b: DUP2
00001a9c: PUSH1 0x01
00001a9e: AND
00001a9f: ISZERO
00001aa0: PUSH2 0x0100
00001aa3: MUL
00001aa4: SUB
00001aa5: AND
00001aa6: PUSH1 0x02
00001aa8: SWAP1
00001aa9: DIV
00001aaa: DUP1
00001aab: PUSH1 0x1f
00001aad: ADD
00001aae: PUSH1 0x20
00001ab0: DUP1
00001ab1: SWAP2
00001ab2: DIV
00001ab3: MUL
00001ab4: PUSH1 0x20
00001ab6: ADD
00001ab7: PUSH1 0x40
00001ab9: MLOAD
00001aba: SWAP1
00001abb: DUP2
00001abc: ADD
00001abd: PUSH1 0x40
00001abf: MSTORE
00001ac0: DUP1
00001ac1: SWAP3
00001ac2: SWAP2
00001ac3: SWAP1
00001ac4: DUP2
00001ac5: DUP2
00001ac6: MSTORE
00001ac7: PUSH1 0x20
00001ac9: ADD
00001aca: DUP3
00001acb: DUP1
00001acc: SLOAD
00001acd: PUSH1 0x01
00001acf: DUP2
00001ad0: PUSH1 0x01
00001ad2: AND
00001ad3: ISZERO
00001ad4: PUSH2 0x0100
00001ad7: MUL
00001ad8: SUB
00001ad9: AND
00001ada: PUSH1 0x02
00001adc: SWAP1
00001add: DIV
00001ade: DUP1
00001adf: ISZERO
00001ae0: PUSH2 0x1b2a
00001ae3: JUMPI
00001ae4: DUP1
00001ae5: PUSH1 0x1f
00001ae7: LT
00001ae8: PUSH2 0x1aff
00001aeb: JUMPI
00001aec: PUSH2 0x0100
00001aef: DUP1
00001af0: DUP4
00001af1: SLOAD
00001af2: DIV
00001af3: MUL
00001af4: DUP4
00001af5: MSTORE
00001af6: SWAP2
00001af7: PUSH1 0x20
00001af9: ADD
00001afa: SWAP2
00001afb: PUSH2 0x1b2a
00001afe: JUMP
00001aff: JUMPDEST
00001b00: DUP3
00001b01: ADD
00001b02: SWAP2
00001b03: SWAP1
00001b04: PUSH1 0x00
00001b06: MSTORE
00001b07: PUSH1 0x20
00001b09: PUSH1 0x00
00001b0b: KECCAK256
00001b0c: SWAP1
00001b0d: JUMPDEST
00001b0e: DUP2
00001b0f: SLOAD
00001b10: DUP2
00001b11: MSTORE
00001b12: SWAP1
00001b13: PUSH1 0x01
00001b15: ADD
00001b16: SWAP1
00001b17: PUSH1 0x20
00001b19: ADD
00001b1a: DUP1
00001b1b: DUP4
00001b1c: GT
00001b1d: PUSH2 0x1b0d
00001b20: JUMPI
00001b21: DUP3
00001b22: SWAP1
00001b23: SUB
00001b24: PUSH1 0x1f
00001b26: AND
00001b27: DUP3
00001b28: ADD
00001b29: SWAP2
00001b2a: JUMPDEST
00001b2b: POP
00001b2c: POP
00001b2d: POP
00001b2e: POP
00001b2f: POP
00001b30: SWAP3
00001b31: POP
00001b32: DUP2
00001b33: DUP1
00001b34: SLOAD
00001b35: PUSH1 0x01
00001b37: DUP2
00001b38: PUSH1 0x01
00001b3a: AND
00001b3b: ISZERO
00001b3c: PUSH2 0x0100
00001b3f: MUL
00001b40: SUB
00001b41: AND
00001b42: PUSH1 0x02
00001b44: SWAP1
00001b45: DIV
00001b46: DUP1
00001b47: PUSH1 0x1f
00001b49: ADD
00001b4a: PUSH1 0x20
00001b4c: DUP1
00001b4d: SWAP2
00001b4e: DIV
00001b4f: MUL
00001b50: PUSH1 0x20
00001b52: ADD
00001b53: PUSH1 0x40
00001b55: MLOAD
00001b56: SWAP1
00001b57: DUP2
00001b58: ADD
00001b59: PUSH1 0x40
00001b5b: MSTORE
00001b5c: DUP1
00001b5d: SWAP3
00001b5e: SWAP2
00001b5f: SWAP1
00001b60: DUP2
00001b61: DUP2
00001b62: MSTORE
00001b63: PUSH1 0x20
00001b65: ADD
00001b66: DUP3
00001b67: DUP1
00001b68: SLOAD
00001b69: PUSH1 0x01
00001b6b: DUP2
00001b6c: PUSH1 0x01
00001b6e: AND
00001b6f: ISZERO
00001b70: PUSH2 0x0100
00001b73: MUL
00001b74: SUB
00001b75: AND
00001b76: PUSH1 0x02
00001b78: SWAP1
00001b79: DIV
00001b7a: DUP1
00001b7b: ISZERO
00001b7c: PUSH2 0x1bc6
00001b7f: JUMPI
00001b80: DUP1
00001b81: PUSH1 0x1f
00001b83: LT
00001b84: PUSH2 0x1b9b
00001b87: JUMPI
00001b88: PUSH2 0x0100
00001b8b: DUP1
00001b8c: DUP4
00001b8d: SLOAD
00001b8e: DIV
00001b8f: MUL
00001b90: DUP4
00001b91: MSTORE
00001b92: SWAP2
00001b93: PUSH1 0x20
00001b95: ADD
00001b96: SWAP2
00001b97: PUSH2 0x1bc6
00001b9a: JUMP
00001b9b: JUMPDEST
00001b9c: DUP3
00001b9d: ADD
00001b9e: SWAP2
00001b9f: SWAP1
00001ba0: PUSH1 0x00
00001ba2: MSTORE
00001ba3: PUSH1 0x20
00001ba5: PUSH1 0x00
00001ba7: KECCAK256
00001ba8: SWAP1
00001ba9: JUMPDEST
00001baa: DUP2
00001bab: SLOAD
00001bac: DUP2
00001bad: MSTORE
00001bae: SWAP1
00001baf: PUSH1 0x01
00001bb1: ADD
00001bb2: SWAP1
00001bb3: PUSH1 0x20
00001bb5: ADD
00001bb6: DUP1
00001bb7: DUP4
00001bb8: GT
00001bb9: PUSH2 0x1ba9
00001bbc: JUMPI
00001bbd: DUP3
00001bbe: SWAP1
00001bbf: SUB
00001bc0: PUSH1 0x1f
00001bc2: AND
00001bc3: DUP3
00001bc4: ADD
00001bc5: SWAP2
00001bc6: JUMPDEST
00001bc7: POP
00001bc8: POP
00001bc9: POP
00001bca: POP
00001bcb: POP
00001bcc: SWAP2
00001bcd: POP
00001bce: SWAP4
00001bcf: POP
00001bd0: SWAP4
00001bd1: POP
00001bd2: SWAP4
00001bd3: POP
00001bd4: POP
00001bd5: SWAP2
00001bd6: SWAP4
00001bd7: SWAP1
00001bd8: SWAP3
00001bd9: POP
00001bda: JUMP
00001bdb: JUMPDEST
00001bdc: PUSH1 0x02
00001bde: PUSH1 0x00
00001be0: SWAP1
00001be1: SLOAD
00001be2: SWAP1
00001be3: PUSH2 0x0100
00001be6: EXP
00001be7: SWAP1
00001be8: DIV
00001be9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bfe: AND
00001bff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c14: AND
00001c15: CALLER
00001c16: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c2b: AND
00001c2c: EQ
00001c2d: DUP1
00001c2e: PUSH2 0x1c84
00001c31: JUMPI
00001c32: POP
00001c33: PUSH1 0x01
00001c35: PUSH1 0x00
00001c37: SWAP1
00001c38: SLOAD
00001c39: SWAP1
00001c3a: PUSH2 0x0100
00001c3d: EXP
00001c3e: SWAP1
00001c3f: DIV
00001c40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c55: AND
00001c56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c6b: AND
00001c6c: CALLER
00001c6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c82: AND
00001c83: EQ
00001c84: JUMPDEST
00001c85: ISZERO
00001c86: ISZERO
00001c87: PUSH2 0x1c8f
00001c8a: JUMPI
00001c8b: PUSH1 0x00
00001c8d: DUP1
00001c8e: REVERT
00001c8f: JUMPDEST
00001c90: DUP1
00001c91: PUSH1 0x0e
00001c93: DUP2
00001c94: SWAP1
00001c95: SSTORE
00001c96: POP
00001c97: PUSH2 0x1cb5
00001c9a: PUSH2 0x1cad
00001c9d: PUSH8 0x0de0b6b3a7640000
00001ca6: PUSH2 0x01f4
00001ca9: PUSH2 0x3601
00001cac: JUMP
00001cad: JUMPDEST
00001cae: PUSH1 0x0e
00001cb0: SLOAD
00001cb1: PUSH2 0x363c
00001cb4: JUMP
00001cb5: JUMPDEST
00001cb6: PUSH1 0x0f
00001cb8: DUP2
00001cb9: SWAP1
00001cba: SSTORE
00001cbb: POP
00001cbc: POP
00001cbd: JUMP
00001cbe: JUMPDEST
00001cbf: PUSH1 0x00
00001cc1: PUSH1 0x02
00001cc3: PUSH1 0x00
00001cc5: SWAP1
00001cc6: SLOAD
00001cc7: SWAP1
00001cc8: PUSH2 0x0100
00001ccb: EXP
00001ccc: SWAP1
00001ccd: DIV
00001cce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ce3: AND
00001ce4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cf9: AND
00001cfa: CALLER
00001cfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d10: AND
00001d11: EQ
00001d12: DUP1
00001d13: PUSH2 0x1d69
00001d16: JUMPI
00001d17: POP
00001d18: PUSH1 0x01
00001d1a: PUSH1 0x00
00001d1c: SWAP1
00001d1d: SLOAD
00001d1e: SWAP1
00001d1f: PUSH2 0x0100
00001d22: EXP
00001d23: SWAP1
00001d24: DIV
00001d25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d3a: AND
00001d3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d50: AND
00001d51: CALLER
00001d52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d67: AND
00001d68: EQ
00001d69: JUMPDEST
00001d6a: ISZERO
00001d6b: ISZERO
00001d6c: PUSH2 0x1d74
00001d6f: JUMPI
00001d70: PUSH1 0x00
00001d72: DUP1
00001d73: REVERT
00001d74: JUMPDEST
00001d75: PUSH1 0x14
00001d77: PUSH1 0xff
00001d79: AND
00001d7a: SWAP1
00001d7b: POP
00001d7c: SWAP1
00001d7d: JUMP
00001d7e: JUMPDEST
00001d7f: PUSH1 0x00
00001d81: PUSH1 0x06
00001d83: PUSH1 0x00
00001d85: CALLER
00001d86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d9b: AND
00001d9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001db1: AND
00001db2: DUP2
00001db3: MSTORE
00001db4: PUSH1 0x20
00001db6: ADD
00001db7: SWAP1
00001db8: DUP2
00001db9: MSTORE
00001dba: PUSH1 0x20
00001dbc: ADD
00001dbd: PUSH1 0x00
00001dbf: KECCAK256
00001dc0: SLOAD
00001dc1: SWAP1
00001dc2: POP
00001dc3: SWAP1
00001dc4: JUMP
00001dc5: JUMPDEST
00001dc6: PUSH1 0x00
00001dc8: PUSH1 0x03
00001dca: PUSH1 0x00
00001dcc: DUP4
00001dcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001de2: AND
00001de3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001df8: AND
00001df9: DUP2
00001dfa: MSTORE
00001dfb: PUSH1 0x20
00001dfd: ADD
00001dfe: SWAP1
00001dff: DUP2
00001e00: MSTORE
00001e01: PUSH1 0x20
00001e03: ADD
00001e04: PUSH1 0x00
00001e06: KECCAK256
00001e07: SLOAD
00001e08: SWAP1
00001e09: POP
00001e0a: SWAP2
00001e0b: SWAP1
00001e0c: POP
00001e0d: JUMP
00001e0e: JUMPDEST
00001e0f: PUSH1 0x02
00001e11: PUSH1 0x00
00001e13: SWAP1
00001e14: SLOAD
00001e15: SWAP1
00001e16: PUSH2 0x0100
00001e19: EXP
00001e1a: SWAP1
00001e1b: DIV
00001e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e31: AND
00001e32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e47: AND
00001e48: CALLER
00001e49: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e5e: AND
00001e5f: EQ
00001e60: DUP1
00001e61: PUSH2 0x1eb7
00001e64: JUMPI
00001e65: POP
00001e66: PUSH1 0x01
00001e68: PUSH1 0x00
00001e6a: SWAP1
00001e6b: SLOAD
00001e6c: SWAP1
00001e6d: PUSH2 0x0100
00001e70: EXP
00001e71: SWAP1
00001e72: DIV
00001e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e88: AND
00001e89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e9e: AND
00001e9f: CALLER
00001ea0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eb5: AND
00001eb6: EQ
00001eb7: JUMPDEST
00001eb8: ISZERO
00001eb9: ISZERO
00001eba: PUSH2 0x1ec2
00001ebd: JUMPI
00001ebe: PUSH1 0x00
00001ec0: DUP1
00001ec1: REVERT
00001ec2: JUMPDEST
00001ec3: PUSH1 0x00
00001ec5: PUSH1 0x0b
00001ec7: SLOAD
00001ec8: GT
00001ec9: ISZERO
00001eca: ISZERO
00001ecb: PUSH2 0x1ed3
00001ece: JUMPI
00001ecf: PUSH1 0x00
00001ed1: DUP1
00001ed2: REVERT
00001ed3: JUMPDEST
00001ed4: DUP1
00001ed5: PUSH1 0x0b
00001ed7: SLOAD
00001ed8: LT
00001ed9: ISZERO
00001eda: DUP1
00001edb: ISZERO
00001edc: PUSH2 0x1ee5
00001edf: JUMPI
00001ee0: POP
00001ee1: PUSH1 0x00
00001ee3: DUP2
00001ee4: GT
00001ee5: JUMPDEST
00001ee6: ISZERO
00001ee7: PUSH2 0x1f42
00001eea: JUMPI
00001eeb: DUP1
00001eec: PUSH1 0x0b
00001eee: PUSH1 0x00
00001ef0: DUP3
00001ef1: DUP3
00001ef2: SLOAD
00001ef3: SUB
00001ef4: SWAP3
00001ef5: POP
00001ef6: POP
00001ef7: DUP2
00001ef8: SWAP1
00001ef9: SSTORE
00001efa: POP
00001efb: DUP2
00001efc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f11: AND
00001f12: PUSH2 0x08fc
00001f15: DUP3
00001f16: SWAP1
00001f17: DUP2
00001f18: ISZERO
00001f19: MUL
00001f1a: SWAP1
00001f1b: PUSH1 0x40
00001f1d: MLOAD
00001f1e: PUSH1 0x00
00001f20: PUSH1 0x40
00001f22: MLOAD
00001f23: DUP1
00001f24: DUP4
00001f25: SUB
00001f26: DUP2
00001f27: DUP6
00001f28: DUP9
00001f29: DUP9
00001f2a: CALL
00001f2b: SWAP4
00001f2c: POP
00001f2d: POP
00001f2e: POP
00001f2f: POP
00001f30: ISZERO
00001f31: DUP1
00001f32: ISZERO
00001f33: PUSH2 0x1f40
00001f36: JUMPI
00001f37: RETURNDATASIZE
00001f38: PUSH1 0x00
00001f3a: DUP1
00001f3b: RETURNDATACOPY
00001f3c: RETURNDATASIZE
00001f3d: PUSH1 0x00
00001f3f: REVERT
00001f40: JUMPDEST
00001f41: POP
00001f42: JUMPDEST
00001f43: POP
00001f44: POP
00001f45: JUMP
00001f46: JUMPDEST
00001f47: PUSH1 0x00
00001f49: PUSH1 0x10
00001f4b: PUSH1 0x00
00001f4d: SWAP1
00001f4e: SLOAD
00001f4f: SWAP1
00001f50: PUSH2 0x0100
00001f53: EXP
00001f54: SWAP1
00001f55: DIV
00001f56: PUSH1 0xff
00001f58: AND
00001f59: SWAP1
00001f5a: POP
00001f5b: SWAP1
00001f5c: JUMP
00001f5d: JUMPDEST
00001f5e: PUSH1 0x60
00001f60: DUP1
00001f61: PUSH1 0x60
00001f63: DUP1
00001f64: PUSH1 0x60
00001f66: PUSH1 0x00
00001f68: DUP1
00001f69: DUP9
00001f6a: SWAP6
00001f6b: POP
00001f6c: DUP8
00001f6d: SWAP5
00001f6e: POP
00001f6f: DUP5
00001f70: MLOAD
00001f71: DUP7
00001f72: MLOAD
00001f73: ADD
00001f74: PUSH1 0x40
00001f76: MLOAD
00001f77: SWAP1
00001f78: DUP1
00001f79: DUP3
00001f7a: MSTORE
00001f7b: DUP1
00001f7c: PUSH1 0x1f
00001f7e: ADD
00001f7f: PUSH1 0x1f
00001f81: NOT
00001f82: AND
00001f83: PUSH1 0x20
00001f85: ADD
00001f86: DUP3
00001f87: ADD
00001f88: PUSH1 0x40
00001f8a: MSTORE
00001f8b: DUP1
00001f8c: ISZERO
00001f8d: PUSH2 0x1fa5
00001f90: JUMPI
00001f91: DUP2
00001f92: PUSH1 0x20
00001f94: ADD
00001f95: PUSH1 0x20
00001f97: DUP3
00001f98: MUL
00001f99: DUP1
00001f9a: CODESIZE
00001f9b: DUP4
00001f9c: CODECOPY
00001f9d: DUP1
00001f9e: DUP3
00001f9f: ADD
00001fa0: SWAP2
00001fa1: POP
00001fa2: POP
00001fa3: SWAP1
00001fa4: POP
00001fa5: JUMPDEST
00001fa6: POP
00001fa7: SWAP4
00001fa8: POP
00001fa9: DUP4
00001faa: SWAP3
00001fab: POP
00001fac: PUSH1 0x00
00001fae: SWAP2
00001faf: POP
00001fb0: PUSH1 0x00
00001fb2: SWAP1
00001fb3: POP
00001fb4: JUMPDEST
00001fb5: DUP6
00001fb6: MLOAD
00001fb7: DUP2
00001fb8: LT
00001fb9: ISZERO
00001fba: PUSH2 0x2067
00001fbd: JUMPI
00001fbe: DUP6
00001fbf: DUP2
00001fc0: DUP2
00001fc1: MLOAD
00001fc2: DUP2
00001fc3: LT
00001fc4: ISZERO
00001fc5: ISZERO
00001fc6: PUSH2 0x1fcb
00001fc9: JUMPI
00001fca: INVALID
00001fcb: JUMPDEST
00001fcc: SWAP1
00001fcd: PUSH1 0x20
00001fcf: ADD
00001fd0: ADD
00001fd1: MLOAD
00001fd2: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00001ff3: SWAP1
00001ff4: DIV
00001ff5: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00002016: MUL
00002017: DUP4
00002018: DUP4
00002019: DUP1
0000201a: PUSH1 0x01
0000201c: ADD
0000201d: SWAP5
0000201e: POP
0000201f: DUP2
00002020: MLOAD
00002021: DUP2
00002022: LT
00002023: ISZERO
00002024: ISZERO
00002025: PUSH2 0x202a
00002028: JUMPI
00002029: INVALID
0000202a: JUMPDEST
0000202b: SWAP1
0000202c: PUSH1 0x20
0000202e: ADD
0000202f: ADD
00002030: SWAP1
00002031: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002051: NOT
00002052: AND
00002053: SWAP1
00002054: DUP2
00002055: PUSH1 0x00
00002057: BYTE
00002058: SWAP1
00002059: MSTORE8
0000205a: POP
0000205b: DUP1
0000205c: DUP1
0000205d: PUSH1 0x01
0000205f: ADD
00002060: SWAP2
00002061: POP
00002062: POP
00002063: PUSH2 0x1fb4
00002066: JUMP
00002067: JUMPDEST
00002068: PUSH1 0x00
0000206a: SWAP1
0000206b: POP
0000206c: JUMPDEST
0000206d: DUP5
0000206e: MLOAD
0000206f: DUP2
00002070: LT
00002071: ISZERO
00002072: PUSH2 0x211f
00002075: JUMPI
00002076: DUP5
00002077: DUP2
00002078: DUP2
00002079: MLOAD
0000207a: DUP2
0000207b: LT
0000207c: ISZERO
0000207d: ISZERO
0000207e: PUSH2 0x2083
00002081: JUMPI
00002082: INVALID
00002083: JUMPDEST
00002084: SWAP1
00002085: PUSH1 0x20
00002087: ADD
00002088: ADD
00002089: MLOAD
0000208a: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
000020ab: SWAP1
000020ac: DIV
000020ad: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
000020ce: MUL
000020cf: DUP4
000020d0: DUP4
000020d1: DUP1
000020d2: PUSH1 0x01
000020d4: ADD
000020d5: SWAP5
000020d6: POP
000020d7: DUP2
000020d8: MLOAD
000020d9: DUP2
000020da: LT
000020db: ISZERO
000020dc: ISZERO
000020dd: PUSH2 0x20e2
000020e0: JUMPI
000020e1: INVALID
000020e2: JUMPDEST
000020e3: SWAP1
000020e4: PUSH1 0x20
000020e6: ADD
000020e7: ADD
000020e8: SWAP1
000020e9: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002109: NOT
0000210a: AND
0000210b: SWAP1
0000210c: DUP2
0000210d: PUSH1 0x00
0000210f: BYTE
00002110: SWAP1
00002111: MSTORE8
00002112: POP
00002113: DUP1
00002114: DUP1
00002115: PUSH1 0x01
00002117: ADD
00002118: SWAP2
00002119: POP
0000211a: POP
0000211b: PUSH2 0x206c
0000211e: JUMP
0000211f: JUMPDEST
00002120: DUP3
00002121: SWAP7
00002122: POP
00002123: POP
00002124: POP
00002125: POP
00002126: POP
00002127: POP
00002128: POP
00002129: SWAP3
0000212a: SWAP2
0000212b: POP
0000212c: POP
0000212d: JUMP
0000212e: JUMPDEST
0000212f: PUSH1 0x01
00002131: PUSH1 0x00
00002133: SWAP1
00002134: SLOAD
00002135: SWAP1
00002136: PUSH2 0x0100
00002139: EXP
0000213a: SWAP1
0000213b: DIV
0000213c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002151: AND
00002152: DUP2
00002153: JUMP
00002154: JUMPDEST
00002155: PUSH1 0x40
00002157: DUP1
00002158: MLOAD
00002159: SWAP1
0000215a: DUP2
0000215b: ADD
0000215c: PUSH1 0x40
0000215e: MSTORE
0000215f: DUP1
00002160: PUSH1 0x05
00002162: DUP2
00002163: MSTORE
00002164: PUSH1 0x20
00002166: ADD
00002167: PUSH32 0x5349523131000000000000000000000000000000000000000000000000000000
00002188: DUP2
00002189: MSTORE
0000218a: POP
0000218b: DUP2
0000218c: JUMP
0000218d: JUMPDEST
0000218e: PUSH1 0x00
00002190: DUP2
00002191: PUSH1 0x03
00002193: PUSH1 0x00
00002195: CALLER
00002196: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021ab: AND
000021ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021c1: AND
000021c2: DUP2
000021c3: MSTORE
000021c4: PUSH1 0x20
000021c6: ADD
000021c7: SWAP1
000021c8: DUP2
000021c9: MSTORE
000021ca: PUSH1 0x20
000021cc: ADD
000021cd: PUSH1 0x00
000021cf: KECCAK256
000021d0: SLOAD
000021d1: LT
000021d2: ISZERO
000021d3: DUP1
000021d4: ISZERO
000021d5: PUSH2 0x21de
000021d8: JUMPI
000021d9: POP
000021da: PUSH1 0x00
000021dc: DUP3
000021dd: GT
000021de: JUMPDEST
000021df: DUP1
000021e0: ISZERO
000021e1: PUSH2 0x2269
000021e4: JUMPI
000021e5: POP
000021e6: PUSH1 0x03
000021e8: PUSH1 0x00
000021ea: DUP5
000021eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002200: AND
00002201: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002216: AND
00002217: DUP2
00002218: MSTORE
00002219: PUSH1 0x20
0000221b: ADD
0000221c: SWAP1
0000221d: DUP2
0000221e: MSTORE
0000221f: PUSH1 0x20
00002221: ADD
00002222: PUSH1 0x00
00002224: KECCAK256
00002225: SLOAD
00002226: DUP3
00002227: PUSH1 0x03
00002229: PUSH1 0x00
0000222b: DUP7
0000222c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002241: AND
00002242: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002257: AND
00002258: DUP2
00002259: MSTORE
0000225a: PUSH1 0x20
0000225c: ADD
0000225d: SWAP1
0000225e: DUP2
0000225f: MSTORE
00002260: PUSH1 0x20
00002262: ADD
00002263: PUSH1 0x00
00002265: KECCAK256
00002266: SLOAD
00002267: ADD
00002268: GT
00002269: JUMPDEST
0000226a: ISZERO
0000226b: PUSH2 0x2376
0000226e: JUMPI
0000226f: DUP2
00002270: PUSH1 0x03
00002272: PUSH1 0x00
00002274: CALLER
00002275: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000228a: AND
0000228b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022a0: AND
000022a1: DUP2
000022a2: MSTORE
000022a3: PUSH1 0x20
000022a5: ADD
000022a6: SWAP1
000022a7: DUP2
000022a8: MSTORE
000022a9: PUSH1 0x20
000022ab: ADD
000022ac: PUSH1 0x00
000022ae: KECCAK256
000022af: PUSH1 0x00
000022b1: DUP3
000022b2: DUP3
000022b3: SLOAD
000022b4: SUB
000022b5: SWAP3
000022b6: POP
000022b7: POP
000022b8: DUP2
000022b9: SWAP1
000022ba: SSTORE
000022bb: POP
000022bc: DUP2
000022bd: PUSH1 0x03
000022bf: PUSH1 0x00
000022c1: DUP6
000022c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022d7: AND
000022d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ed: AND
000022ee: DUP2
000022ef: MSTORE
000022f0: PUSH1 0x20
000022f2: ADD
000022f3: SWAP1
000022f4: DUP2
000022f5: MSTORE
000022f6: PUSH1 0x20
000022f8: ADD
000022f9: PUSH1 0x00
000022fb: KECCAK256
000022fc: PUSH1 0x00
000022fe: DUP3
000022ff: DUP3
00002300: SLOAD
00002301: ADD
00002302: SWAP3
00002303: POP
00002304: POP
00002305: DUP2
00002306: SWAP1
00002307: SSTORE
00002308: POP
00002309: DUP3
0000230a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000231f: AND
00002320: CALLER
00002321: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002336: AND
00002337: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002358: DUP5
00002359: PUSH1 0x40
0000235b: MLOAD
0000235c: DUP1
0000235d: DUP3
0000235e: DUP2
0000235f: MSTORE
00002360: PUSH1 0x20
00002362: ADD
00002363: SWAP2
00002364: POP
00002365: POP
00002366: PUSH1 0x40
00002368: MLOAD
00002369: DUP1
0000236a: SWAP2
0000236b: SUB
0000236c: SWAP1
0000236d: LOG3
0000236e: PUSH1 0x01
00002370: SWAP1
00002371: POP
00002372: PUSH2 0x237b
00002375: JUMP
00002376: JUMPDEST
00002377: PUSH1 0x00
00002379: SWAP1
0000237a: POP
0000237b: JUMPDEST
0000237c: SWAP3
0000237d: SWAP2
0000237e: POP
0000237f: POP
00002380: JUMP
00002381: JUMPDEST
00002382: PUSH1 0x00
00002384: PUSH1 0x02
00002386: PUSH1 0x00
00002388: SWAP1
00002389: SLOAD
0000238a: SWAP1
0000238b: PUSH2 0x0100
0000238e: EXP
0000238f: SWAP1
00002390: DIV
00002391: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023a6: AND
000023a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023bc: AND
000023bd: CALLER
000023be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023d3: AND
000023d4: EQ
000023d5: DUP1
000023d6: PUSH2 0x242c
000023d9: JUMPI
000023da: POP
000023db: PUSH1 0x01
000023dd: PUSH1 0x00
000023df: SWAP1
000023e0: SLOAD
000023e1: SWAP1
000023e2: PUSH2 0x0100
000023e5: EXP
000023e6: SWAP1
000023e7: DIV
000023e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023fd: AND
000023fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002413: AND
00002414: CALLER
00002415: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000242a: AND
0000242b: EQ
0000242c: JUMPDEST
0000242d: ISZERO
0000242e: ISZERO
0000242f: PUSH2 0x2437
00002432: JUMPI
00002433: PUSH1 0x00
00002435: DUP1
00002436: REVERT
00002437: JUMPDEST
00002438: PUSH1 0x0b
0000243a: SLOAD
0000243b: SWAP1
0000243c: POP
0000243d: SWAP1
0000243e: JUMP
0000243f: JUMPDEST
00002440: PUSH1 0x00
00002442: DUP1
00002443: PUSH1 0x00
00002445: DUP1
00002446: PUSH1 0x00
00002448: DUP1
00002449: PUSH1 0x01
0000244b: ISZERO
0000244c: ISZERO
0000244d: PUSH1 0x10
0000244f: PUSH1 0x00
00002451: SWAP1
00002452: SLOAD
00002453: SWAP1
00002454: PUSH2 0x0100
00002457: EXP
00002458: SWAP1
00002459: DIV
0000245a: PUSH1 0xff
0000245c: AND
0000245d: ISZERO
0000245e: ISZERO
0000245f: EQ
00002460: ISZERO
00002461: ISZERO
00002462: PUSH2 0x246a
00002465: JUMPI
00002466: PUSH1 0x00
00002468: DUP1
00002469: REVERT
0000246a: JUMPDEST
0000246b: DUP9
0000246c: PUSH1 0xff
0000246e: AND
0000246f: PUSH1 0x08
00002471: GT
00002472: DUP1
00002473: ISZERO
00002474: PUSH2 0x2481
00002477: JUMPI
00002478: POP
00002479: PUSH1 0x00
0000247b: DUP10
0000247c: PUSH1 0xff
0000247e: AND
0000247f: EQ
00002480: ISZERO
00002481: JUMPDEST
00002482: ISZERO
00002483: ISZERO
00002484: PUSH2 0x248c
00002487: JUMPI
00002488: PUSH1 0x00
0000248a: DUP1
0000248b: REVERT
0000248c: JUMPDEST
0000248d: DUP9
0000248e: SWAP6
0000248f: POP
00002490: PUSH1 0x06
00002492: DUP10
00002493: PUSH1 0xff
00002495: AND
00002496: EQ
00002497: ISZERO
00002498: PUSH2 0x24a4
0000249b: JUMPI
0000249c: PUSH1 0x0a
0000249e: SWAP6
0000249f: POP
000024a0: PUSH2 0x24b6
000024a3: JUMP
000024a4: JUMPDEST
000024a5: PUSH1 0x07
000024a7: DUP10
000024a8: PUSH1 0xff
000024aa: AND
000024ab: EQ
000024ac: ISZERO
000024ad: PUSH2 0x24b5
000024b0: JUMPI
000024b1: PUSH1 0x14
000024b3: SWAP6
000024b4: POP
000024b5: JUMPDEST
000024b6: JUMPDEST
000024b7: PUSH2 0x24c5
000024ba: DUP7
000024bb: PUSH1 0xff
000024bd: AND
000024be: PUSH1 0x0f
000024c0: SLOAD
000024c1: PUSH2 0x3601
000024c4: JUMP
000024c5: JUMPDEST
000024c6: CALLVALUE
000024c7: LT
000024c8: ISZERO
000024c9: ISZERO
000024ca: ISZERO
000024cb: PUSH2 0x24d3
000024ce: JUMPI
000024cf: PUSH1 0x00
000024d1: DUP1
000024d2: REVERT
000024d3: JUMPDEST
000024d4: PUSH2 0x2504
000024d7: PUSH1 0x0a
000024d9: SLOAD
000024da: PUSH2 0x24ff
000024dd: PUSH2 0x24f8
000024e0: CALLVALUE
000024e1: PUSH1 0x05
000024e3: PUSH1 0x00
000024e5: SWAP1
000024e6: SLOAD
000024e7: SWAP1
000024e8: PUSH2 0x0100
000024eb: EXP
000024ec: SWAP1
000024ed: DIV
000024ee: PUSH1 0xff
000024f0: AND
000024f1: PUSH1 0xff
000024f3: AND
000024f4: PUSH2 0x3601
000024f7: JUMP
000024f8: JUMPDEST
000024f9: PUSH1 0x64
000024fb: PUSH2 0x363c
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH2 0x35e3
00002503: JUMP
00002504: JUMPDEST
00002505: PUSH1 0x0a
00002507: DUP2
00002508: SWAP1
00002509: SSTORE
0000250a: POP
0000250b: PUSH2 0x252d
0000250e: PUSH1 0x0b
00002510: SLOAD
00002511: PUSH2 0x2528
00002514: PUSH2 0x2521
00002517: CALLVALUE
00002518: PUSH1 0x14
0000251a: PUSH1 0xff
0000251c: AND
0000251d: PUSH2 0x3601
00002520: JUMP
00002521: JUMPDEST
00002522: PUSH1 0x64
00002524: PUSH2 0x363c
00002527: JUMP
00002528: JUMPDEST
00002529: PUSH2 0x35e3
0000252c: JUMP
0000252d: JUMPDEST
0000252e: PUSH1 0x0b
00002530: DUP2
00002531: SWAP1
00002532: SSTORE
00002533: POP
00002534: PUSH2 0x2559
00002537: PUSH2 0x2552
0000253a: CALLVALUE
0000253b: PUSH1 0x05
0000253d: PUSH1 0x01
0000253f: SWAP1
00002540: SLOAD
00002541: SWAP1
00002542: PUSH2 0x0100
00002545: EXP
00002546: SWAP1
00002547: DIV
00002548: PUSH1 0xff
0000254a: AND
0000254b: PUSH1 0xff
0000254d: AND
0000254e: PUSH2 0x3601
00002551: JUMP
00002552: JUMPDEST
00002553: PUSH1 0x64
00002555: PUSH2 0x363c
00002558: JUMP
00002559: JUMPDEST
0000255a: SWAP5
0000255b: POP
0000255c: PUSH2 0x2573
0000255f: PUSH2 0x256c
00002562: CALLVALUE
00002563: PUSH1 0x0a
00002565: PUSH1 0xff
00002567: AND
00002568: PUSH2 0x3601
0000256b: JUMP
0000256c: JUMPDEST
0000256d: PUSH1 0x64
0000256f: PUSH2 0x363c
00002572: JUMP
00002573: JUMPDEST
00002574: SWAP4
00002575: POP
00002576: PUSH1 0x08
00002578: PUSH1 0x00
0000257a: DUP11
0000257b: PUSH1 0xff
0000257d: AND
0000257e: PUSH1 0xff
00002580: AND
00002581: DUP2
00002582: MSTORE
00002583: PUSH1 0x20
00002585: ADD
00002586: SWAP1
00002587: DUP2
00002588: MSTORE
00002589: PUSH1 0x20
0000258b: ADD
0000258c: PUSH1 0x00
0000258e: KECCAK256
0000258f: SLOAD
00002590: SWAP3
00002591: POP
00002592: PUSH2 0x259d
00002595: PUSH1 0x00
00002597: SLOAD
00002598: DUP5
00002599: PUSH2 0x35e3
0000259c: JUMP
0000259d: JUMPDEST
0000259e: PUSH1 0x00
000025a0: DUP2
000025a1: SWAP1
000025a2: SSTORE
000025a3: POP
000025a4: PUSH2 0x25b5
000025a7: PUSH2 0x25af
000025aa: CALLER
000025ab: PUSH2 0x1dc5
000025ae: JUMP
000025af: JUMPDEST
000025b0: DUP5
000025b1: PUSH2 0x35e3
000025b4: JUMP
000025b5: JUMPDEST
000025b6: PUSH1 0x03
000025b8: PUSH1 0x00
000025ba: CALLER
000025bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025d0: AND
000025d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025e6: AND
000025e7: DUP2
000025e8: MSTORE
000025e9: PUSH1 0x20
000025eb: ADD
000025ec: SWAP1
000025ed: DUP2
000025ee: MSTORE
000025ef: PUSH1 0x20
000025f1: ADD
000025f2: PUSH1 0x00
000025f4: KECCAK256
000025f5: DUP2
000025f6: SWAP1
000025f7: SSTORE
000025f8: POP
000025f9: PUSH1 0x00
000025fb: PUSH1 0x09
000025fd: SLOAD
000025fe: GT
000025ff: ISZERO
00002600: PUSH2 0x2649
00002603: JUMPI
00002604: PUSH2 0x260f
00002607: PUSH1 0x09
00002609: SLOAD
0000260a: DUP6
0000260b: PUSH2 0x35e3
0000260e: JUMP
0000260f: JUMPDEST
00002610: PUSH1 0x09
00002612: DUP2
00002613: SWAP1
00002614: SSTORE
00002615: POP
00002616: PUSH1 0x0c
00002618: PUSH1 0x00
0000261a: DUP2
0000261b: SLOAD
0000261c: DUP1
0000261d: SWAP3
0000261e: SWAP2
0000261f: SWAP1
00002620: PUSH1 0x01
00002622: ADD
00002623: SWAP2
00002624: SWAP1
00002625: POP
00002626: SSTORE
00002627: POP
00002628: PUSH2 0x263e
0000262b: PUSH1 0x0d
0000262d: SLOAD
0000262e: PUSH2 0x2639
00002631: DUP7
00002632: PUSH1 0x0c
00002634: SLOAD
00002635: PUSH2 0x363c
00002638: JUMP
00002639: JUMPDEST
0000263a: PUSH2 0x35e3
0000263d: JUMP
0000263e: JUMPDEST
0000263f: PUSH1 0x0d
00002641: DUP2
00002642: SWAP1
00002643: SSTORE
00002644: POP
00002645: PUSH2 0x2651
00002648: JUMP
00002649: JUMPDEST
0000264a: DUP4
0000264b: PUSH1 0x09
0000264d: DUP2
0000264e: SWAP1
0000264f: SSTORE
00002650: POP
00002651: JUMPDEST
00002652: PUSH1 0x06
00002654: PUSH1 0x00
00002656: CALLER
00002657: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000266c: AND
0000266d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002682: AND
00002683: DUP2
00002684: MSTORE
00002685: PUSH1 0x20
00002687: ADD
00002688: SWAP1
00002689: DUP2
0000268a: MSTORE
0000268b: PUSH1 0x20
0000268d: ADD
0000268e: PUSH1 0x00
00002690: KECCAK256
00002691: SLOAD
00002692: SWAP2
00002693: POP
00002694: DUP2
00002695: DUP1
00002696: PUSH1 0x01
00002698: ADD
00002699: SWAP3
0000269a: POP
0000269b: POP
0000269c: DUP2
0000269d: PUSH1 0x06
0000269f: PUSH1 0x00
000026a1: CALLER
000026a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026b7: AND
000026b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026cd: AND
000026ce: DUP2
000026cf: MSTORE
000026d0: PUSH1 0x20
000026d2: ADD
000026d3: SWAP1
000026d4: DUP2
000026d5: MSTORE
000026d6: PUSH1 0x20
000026d8: ADD
000026d9: PUSH1 0x00
000026db: KECCAK256
000026dc: DUP2
000026dd: SWAP1
000026de: SSTORE
000026df: POP
000026e0: PUSH1 0x07
000026e2: PUSH1 0x00
000026e4: CALLER
000026e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026fa: AND
000026fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002710: AND
00002711: DUP2
00002712: MSTORE
00002713: PUSH1 0x20
00002715: ADD
00002716: SWAP1
00002717: DUP2
00002718: MSTORE
00002719: PUSH1 0x20
0000271b: ADD
0000271c: PUSH1 0x00
0000271e: KECCAK256
0000271f: SWAP1
00002720: POP
00002721: PUSH2 0x0160
00002724: PUSH1 0x40
00002726: MLOAD
00002727: SWAP1
00002728: DUP2
00002729: ADD
0000272a: PUSH1 0x40
0000272c: MSTORE
0000272d: DUP1
0000272e: CALLVALUE
0000272f: DUP2
00002730: MSTORE
00002731: PUSH1 0x20
00002733: ADD
00002734: DUP11
00002735: PUSH1 0xff
00002737: AND
00002738: DUP2
00002739: MSTORE
0000273a: PUSH1 0x20
0000273c: ADD
0000273d: DUP7
0000273e: DUP2
0000273f: MSTORE
00002740: PUSH1 0x20
00002742: ADD
00002743: DUP10
00002744: DUP2
00002745: MSTORE
00002746: PUSH1 0x20
00002748: ADD
00002749: DUP9
0000274a: DUP2
0000274b: MSTORE
0000274c: PUSH1 0x20
0000274e: ADD
0000274f: PUSH1 0x0d
00002751: SLOAD
00002752: DUP2
00002753: MSTORE
00002754: PUSH1 0x20
00002756: ADD
00002757: PUSH1 0x00
00002759: DUP2
0000275a: MSTORE
0000275b: PUSH1 0x20
0000275d: ADD
0000275e: PUSH1 0x00
00002760: DUP2
00002761: MSTORE
00002762: PUSH1 0x20
00002764: ADD
00002765: PUSH1 0x00
00002767: ISZERO
00002768: ISZERO
00002769: DUP2
0000276a: MSTORE
0000276b: PUSH1 0x20
0000276d: ADD
0000276e: PUSH1 0x00
00002770: DUP2
00002771: MSTORE
00002772: PUSH1 0x20
00002774: ADD
00002775: PUSH1 0x00
00002777: DUP2
00002778: MSTORE
00002779: POP
0000277a: DUP2
0000277b: PUSH1 0x00
0000277d: DUP5
0000277e: DUP2
0000277f: MSTORE
00002780: PUSH1 0x20
00002782: ADD
00002783: SWAP1
00002784: DUP2
00002785: MSTORE
00002786: PUSH1 0x20
00002788: ADD
00002789: PUSH1 0x00
0000278b: KECCAK256
0000278c: PUSH1 0x00
0000278e: DUP3
0000278f: ADD
00002790: MLOAD
00002791: DUP2
00002792: PUSH1 0x00
00002794: ADD
00002795: SSTORE
00002796: PUSH1 0x20
00002798: DUP3
00002799: ADD
0000279a: MLOAD
0000279b: DUP2
0000279c: PUSH1 0x01
0000279e: ADD
0000279f: PUSH1 0x00
000027a1: PUSH2 0x0100
000027a4: EXP
000027a5: DUP2
000027a6: SLOAD
000027a7: DUP2
000027a8: PUSH1 0xff
000027aa: MUL
000027ab: NOT
000027ac: AND
000027ad: SWAP1
000027ae: DUP4
000027af: PUSH1 0xff
000027b1: AND
000027b2: MUL
000027b3: OR
000027b4: SWAP1
000027b5: SSTORE
000027b6: POP
000027b7: PUSH1 0x40
000027b9: DUP3
000027ba: ADD
000027bb: MLOAD
000027bc: DUP2
000027bd: PUSH1 0x02
000027bf: ADD
000027c0: SSTORE
000027c1: PUSH1 0x60
000027c3: DUP3
000027c4: ADD
000027c5: MLOAD
000027c6: DUP2
000027c7: PUSH1 0x03
000027c9: ADD
000027ca: SWAP1
000027cb: DUP1
000027cc: MLOAD
000027cd: SWAP1
000027ce: PUSH1 0x20
000027d0: ADD
000027d1: SWAP1
000027d2: PUSH2 0x27dc
000027d5: SWAP3
000027d6: SWAP2
000027d7: SWAP1
000027d8: PUSH2 0x3657
000027db: JUMP
000027dc: JUMPDEST
000027dd: POP
000027de: PUSH1 0x80
000027e0: DUP3
000027e1: ADD
000027e2: MLOAD
000027e3: DUP2
000027e4: PUSH1 0x04
000027e6: ADD
000027e7: SWAP1
000027e8: DUP1
000027e9: MLOAD
000027ea: SWAP1
000027eb: PUSH1 0x20
000027ed: ADD
000027ee: SWAP1
000027ef: PUSH2 0x27f9
000027f2: SWAP3
000027f3: SWAP2
000027f4: SWAP1
000027f5: PUSH2 0x3657
000027f8: JUMP
000027f9: JUMPDEST
000027fa: POP
000027fb: PUSH1 0xa0
000027fd: DUP3
000027fe: ADD
000027ff: MLOAD
00002800: DUP2
00002801: PUSH1 0x05
00002803: ADD
00002804: SSTORE
00002805: PUSH1 0xc0
00002807: DUP3
00002808: ADD
00002809: MLOAD
0000280a: DUP2
0000280b: PUSH1 0x06
0000280d: ADD
0000280e: SSTORE
0000280f: PUSH1 0xe0
00002811: DUP3
00002812: ADD
00002813: MLOAD
00002814: DUP2
00002815: PUSH1 0x07
00002817: ADD
00002818: SSTORE
00002819: PUSH2 0x0100
0000281c: DUP3
0000281d: ADD
0000281e: MLOAD
0000281f: DUP2
00002820: PUSH1 0x08
00002822: ADD
00002823: PUSH1 0x00
00002825: PUSH2 0x0100
00002828: EXP
00002829: DUP2
0000282a: SLOAD
0000282b: DUP2
0000282c: PUSH1 0xff
0000282e: MUL
0000282f: NOT
00002830: AND
00002831: SWAP1
00002832: DUP4
00002833: ISZERO
00002834: ISZERO
00002835: MUL
00002836: OR
00002837: SWAP1
00002838: SSTORE
00002839: POP
0000283a: PUSH2 0x0120
0000283d: DUP3
0000283e: ADD
0000283f: MLOAD
00002840: DUP2
00002841: PUSH1 0x09
00002843: ADD
00002844: SSTORE
00002845: PUSH2 0x0140
00002848: DUP3
00002849: ADD
0000284a: MLOAD
0000284b: DUP2
0000284c: PUSH1 0x0a
0000284e: ADD
0000284f: SSTORE
00002850: SWAP1
00002851: POP
00002852: POP
00002853: PUSH32 0x8a35b8c748e79b158c02fd0c175c0e5bd17677281b628c0dafa1c92631f0c8f0
00002874: CALLER
00002875: DUP4
00002876: PUSH1 0x40
00002878: MLOAD
00002879: DUP1
0000287a: DUP4
0000287b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002890: AND
00002891: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028a6: AND
000028a7: DUP2
000028a8: MSTORE
000028a9: PUSH1 0x20
000028ab: ADD
000028ac: DUP3
000028ad: DUP2
000028ae: MSTORE
000028af: PUSH1 0x20
000028b1: ADD
000028b2: SWAP3
000028b3: POP
000028b4: POP
000028b5: POP
000028b6: PUSH1 0x40
000028b8: MLOAD
000028b9: DUP1
000028ba: SWAP2
000028bb: SUB
000028bc: SWAP1
000028bd: LOG1
000028be: POP
000028bf: POP
000028c0: POP
000028c1: POP
000028c2: POP
000028c3: POP
000028c4: POP
000028c5: POP
000028c6: POP
000028c7: JUMP
000028c8: JUMPDEST
000028c9: PUSH1 0x00
000028cb: DUP1
000028cc: PUSH1 0x00
000028ce: DUP1
000028cf: PUSH1 0x00
000028d1: DUP1
000028d2: PUSH1 0x00
000028d4: PUSH1 0x07
000028d6: PUSH1 0x00
000028d8: CALLER
000028d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028ee: AND
000028ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002904: AND
00002905: DUP2
00002906: MSTORE
00002907: PUSH1 0x20
00002909: ADD
0000290a: SWAP1
0000290b: DUP2
0000290c: MSTORE
0000290d: PUSH1 0x20
0000290f: ADD
00002910: PUSH1 0x00
00002912: KECCAK256
00002913: SWAP2
00002914: POP
00002915: DUP2
00002916: PUSH1 0x00
00002918: DUP10
00002919: DUP2
0000291a: MSTORE
0000291b: PUSH1 0x20
0000291d: ADD
0000291e: SWAP1
0000291f: DUP2
00002920: MSTORE
00002921: PUSH1 0x20
00002923: ADD
00002924: PUSH1 0x00
00002926: KECCAK256
00002927: PUSH1 0x08
00002929: ADD
0000292a: PUSH1 0x00
0000292c: SWAP1
0000292d: SLOAD
0000292e: SWAP1
0000292f: PUSH2 0x0100
00002932: EXP
00002933: SWAP1
00002934: DIV
00002935: PUSH1 0xff
00002937: AND
00002938: ISZERO
00002939: PUSH2 0x2977
0000293c: JUMPI
0000293d: PUSH2 0x2970
00002940: DUP3
00002941: PUSH1 0x00
00002943: DUP11
00002944: DUP2
00002945: MSTORE
00002946: PUSH1 0x20
00002948: ADD
00002949: SWAP1
0000294a: DUP2
0000294b: MSTORE
0000294c: PUSH1 0x20
0000294e: ADD
0000294f: PUSH1 0x00
00002951: KECCAK256
00002952: PUSH1 0x0a
00002954: ADD
00002955: SLOAD
00002956: DUP4
00002957: PUSH1 0x00
00002959: DUP12
0000295a: DUP2
0000295b: MSTORE
0000295c: PUSH1 0x20
0000295e: ADD
0000295f: SWAP1
00002960: DUP2
00002961: MSTORE
00002962: PUSH1 0x20
00002964: ADD
00002965: PUSH1 0x00
00002967: KECCAK256
00002968: PUSH1 0x05
0000296a: ADD
0000296b: SLOAD
0000296c: PUSH2 0x35ca
0000296f: JUMP
00002970: JUMPDEST
00002971: SWAP1
00002972: POP
00002973: PUSH2 0x299b
00002976: JUMP
00002977: JUMPDEST
00002978: PUSH2 0x2998
0000297b: PUSH1 0x0d
0000297d: SLOAD
0000297e: DUP4
0000297f: PUSH1 0x00
00002981: DUP12
00002982: DUP2
00002983: MSTORE
00002984: PUSH1 0x20
00002986: ADD
00002987: SWAP1
00002988: DUP2
00002989: MSTORE
0000298a: PUSH1 0x20
0000298c: ADD
0000298d: PUSH1 0x00
0000298f: KECCAK256
00002990: PUSH1 0x05
00002992: ADD
00002993: SLOAD
00002994: PUSH2 0x35ca
00002997: JUMP
00002998: JUMPDEST
00002999: SWAP1
0000299a: POP
0000299b: JUMPDEST
0000299c: PUSH2 0x29d8
0000299f: PUSH2 0x29bd
000029a2: DUP3
000029a3: DUP5
000029a4: PUSH1 0x00
000029a6: DUP13
000029a7: DUP2
000029a8: MSTORE
000029a9: PUSH1 0x20
000029ab: ADD
000029ac: SWAP1
000029ad: DUP2
000029ae: MSTORE
000029af: PUSH1 0x20
000029b1: ADD
000029b2: PUSH1 0x00
000029b4: KECCAK256
000029b5: PUSH1 0x06
000029b7: ADD
000029b8: SLOAD
000029b9: PUSH2 0x35ca
000029bc: JUMP
000029bd: JUMPDEST
000029be: DUP4
000029bf: PUSH1 0x00
000029c1: DUP12
000029c2: DUP2
000029c3: MSTORE
000029c4: PUSH1 0x20
000029c6: ADD
000029c7: SWAP1
000029c8: DUP2
000029c9: MSTORE
000029ca: PUSH1 0x20
000029cc: ADD
000029cd: PUSH1 0x00
000029cf: KECCAK256
000029d0: PUSH1 0x09
000029d2: ADD
000029d3: SLOAD
000029d4: PUSH2 0x35ca
000029d7: JUMP
000029d8: JUMPDEST
000029d9: SWAP1
000029da: POP
000029db: DUP2
000029dc: PUSH1 0x00
000029de: DUP10
000029df: DUP2
000029e0: MSTORE
000029e1: PUSH1 0x20
000029e3: ADD
000029e4: SWAP1
000029e5: DUP2
000029e6: MSTORE
000029e7: PUSH1 0x20
000029e9: ADD
000029ea: PUSH1 0x00
000029ec: KECCAK256
000029ed: PUSH1 0x00
000029ef: ADD
000029f0: SLOAD
000029f1: DUP3
000029f2: PUSH1 0x00
000029f4: DUP11
000029f5: DUP2
000029f6: MSTORE
000029f7: PUSH1 0x20
000029f9: ADD
000029fa: SWAP1
000029fb: DUP2
000029fc: MSTORE
000029fd: PUSH1 0x20
000029ff: ADD
00002a00: PUSH1 0x00
00002a02: KECCAK256
00002a03: PUSH1 0x02
00002a05: ADD
00002a06: SLOAD
00002a07: DUP3
00002a08: DUP5
00002a09: PUSH1 0x00
00002a0b: DUP13
00002a0c: DUP2
00002a0d: MSTORE
00002a0e: PUSH1 0x20
00002a10: ADD
00002a11: SWAP1
00002a12: DUP2
00002a13: MSTORE
00002a14: PUSH1 0x20
00002a16: ADD
00002a17: PUSH1 0x00
00002a19: KECCAK256
00002a1a: PUSH1 0x06
00002a1c: ADD
00002a1d: SLOAD
00002a1e: DUP6
00002a1f: PUSH1 0x00
00002a21: DUP14
00002a22: DUP2
00002a23: MSTORE
00002a24: PUSH1 0x20
00002a26: ADD
00002a27: SWAP1
00002a28: DUP2
00002a29: MSTORE
00002a2a: PUSH1 0x20
00002a2c: ADD
00002a2d: PUSH1 0x00
00002a2f: KECCAK256
00002a30: PUSH1 0x07
00002a32: ADD
00002a33: SLOAD
00002a34: SWAP7
00002a35: POP
00002a36: SWAP7
00002a37: POP
00002a38: SWAP7
00002a39: POP
00002a3a: SWAP7
00002a3b: POP
00002a3c: SWAP7
00002a3d: POP
00002a3e: POP
00002a3f: POP
00002a40: SWAP2
00002a41: SWAP4
00002a42: SWAP6
00002a43: SWAP1
00002a44: SWAP3
00002a45: SWAP5
00002a46: POP
00002a47: JUMP
00002a48: JUMPDEST
00002a49: PUSH1 0x00
00002a4b: PUSH1 0x02
00002a4d: PUSH1 0x00
00002a4f: SWAP1
00002a50: SLOAD
00002a51: SWAP1
00002a52: PUSH2 0x0100
00002a55: EXP
00002a56: SWAP1
00002a57: DIV
00002a58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a6d: AND
00002a6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a83: AND
00002a84: CALLER
00002a85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a9a: AND
00002a9b: EQ
00002a9c: DUP1
00002a9d: PUSH2 0x2af3
00002aa0: JUMPI
00002aa1: POP
00002aa2: PUSH1 0x01
00002aa4: PUSH1 0x00
00002aa6: SWAP1
00002aa7: SLOAD
00002aa8: SWAP1
00002aa9: PUSH2 0x0100
00002aac: EXP
00002aad: SWAP1
00002aae: DIV
00002aaf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ac4: AND
00002ac5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ada: AND
00002adb: CALLER
00002adc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002af1: AND
00002af2: EQ
00002af3: JUMPDEST
00002af4: ISZERO
00002af5: ISZERO
00002af6: PUSH2 0x2afe
00002af9: JUMPI
00002afa: PUSH1 0x00
00002afc: DUP1
00002afd: REVERT
00002afe: JUMPDEST
00002aff: PUSH1 0x05
00002b01: PUSH1 0x01
00002b03: SWAP1
00002b04: SLOAD
00002b05: SWAP1
00002b06: PUSH2 0x0100
00002b09: EXP
00002b0a: SWAP1
00002b0b: DIV
00002b0c: PUSH1 0xff
00002b0e: AND
00002b0f: PUSH1 0xff
00002b11: AND
00002b12: SWAP1
00002b13: POP
00002b14: SWAP1
00002b15: JUMP
00002b16: JUMPDEST
00002b17: PUSH1 0x00
00002b19: PUSH1 0x0f
00002b1b: SLOAD
00002b1c: SWAP1
00002b1d: POP
00002b1e: SWAP1
00002b1f: JUMP
00002b20: JUMPDEST
00002b21: PUSH1 0x00
00002b23: DUP1
00002b24: PUSH1 0x00
00002b26: PUSH1 0x07
00002b28: PUSH1 0x00
00002b2a: CALLER
00002b2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b40: AND
00002b41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b56: AND
00002b57: DUP2
00002b58: MSTORE
00002b59: PUSH1 0x20
00002b5b: ADD
00002b5c: SWAP1
00002b5d: DUP2
00002b5e: MSTORE
00002b5f: PUSH1 0x20
00002b61: ADD
00002b62: PUSH1 0x00
00002b64: KECCAK256
00002b65: SWAP3
00002b66: POP
00002b67: PUSH1 0x00
00002b69: DUP4
00002b6a: PUSH1 0x00
00002b6c: DUP7
00002b6d: DUP2
00002b6e: MSTORE
00002b6f: PUSH1 0x20
00002b71: ADD
00002b72: SWAP1
00002b73: DUP2
00002b74: MSTORE
00002b75: PUSH1 0x20
00002b77: ADD
00002b78: PUSH1 0x00
00002b7a: KECCAK256
00002b7b: PUSH1 0x01
00002b7d: ADD
00002b7e: PUSH1 0x00
00002b80: SWAP1
00002b81: SLOAD
00002b82: SWAP1
00002b83: PUSH2 0x0100
00002b86: EXP
00002b87: SWAP1
00002b88: DIV
00002b89: PUSH1 0xff
00002b8b: AND
00002b8c: PUSH1 0xff
00002b8e: AND
00002b8f: EQ
00002b90: ISZERO
00002b91: ISZERO
00002b92: PUSH2 0x2d74
00002b95: JUMPI
00002b96: DUP3
00002b97: PUSH1 0x00
00002b99: DUP6
00002b9a: DUP2
00002b9b: MSTORE
00002b9c: PUSH1 0x20
00002b9e: ADD
00002b9f: SWAP1
00002ba0: DUP2
00002ba1: MSTORE
00002ba2: PUSH1 0x20
00002ba4: ADD
00002ba5: PUSH1 0x00
00002ba7: KECCAK256
00002ba8: PUSH1 0x08
00002baa: ADD
00002bab: PUSH1 0x00
00002bad: SWAP1
00002bae: SLOAD
00002baf: SWAP1
00002bb0: PUSH2 0x0100
00002bb3: EXP
00002bb4: SWAP1
00002bb5: DIV
00002bb6: PUSH1 0xff
00002bb8: AND
00002bb9: ISZERO
00002bba: PUSH2 0x2bf8
00002bbd: JUMPI
00002bbe: PUSH2 0x2bf1
00002bc1: DUP4
00002bc2: PUSH1 0x00
00002bc4: DUP7
00002bc5: DUP2
00002bc6: MSTORE
00002bc7: PUSH1 0x20
00002bc9: ADD
00002bca: SWAP1
00002bcb: DUP2
00002bcc: MSTORE
00002bcd: PUSH1 0x20
00002bcf: ADD
00002bd0: PUSH1 0x00
00002bd2: KECCAK256
00002bd3: PUSH1 0x0a
00002bd5: ADD
00002bd6: SLOAD
00002bd7: DUP5
00002bd8: PUSH1 0x00
00002bda: DUP8
00002bdb: DUP2
00002bdc: MSTORE
00002bdd: PUSH1 0x20
00002bdf: ADD
00002be0: SWAP1
00002be1: DUP2
00002be2: MSTORE
00002be3: PUSH1 0x20
00002be5: ADD
00002be6: PUSH1 0x00
00002be8: KECCAK256
00002be9: PUSH1 0x05
00002beb: ADD
00002bec: SLOAD
00002bed: PUSH2 0x35ca
00002bf0: JUMP
00002bf1: JUMPDEST
00002bf2: SWAP2
00002bf3: POP
00002bf4: PUSH2 0x2c1c
00002bf7: JUMP
00002bf8: JUMPDEST
00002bf9: PUSH2 0x2c19
00002bfc: PUSH1 0x0d
00002bfe: SLOAD
00002bff: DUP5
00002c00: PUSH1 0x00
00002c02: DUP8
00002c03: DUP2
00002c04: MSTORE
00002c05: PUSH1 0x20
00002c07: ADD
00002c08: SWAP1
00002c09: DUP2
00002c0a: MSTORE
00002c0b: PUSH1 0x20
00002c0d: ADD
00002c0e: PUSH1 0x00
00002c10: KECCAK256
00002c11: PUSH1 0x05
00002c13: ADD
00002c14: SLOAD
00002c15: PUSH2 0x35ca
00002c18: JUMP
00002c19: JUMPDEST
00002c1a: SWAP2
00002c1b: POP
00002c1c: JUMPDEST
00002c1d: PUSH2 0x2c59
00002c20: PUSH2 0x2c3e
00002c23: DUP4
00002c24: DUP6
00002c25: PUSH1 0x00
00002c27: DUP9
00002c28: DUP2
00002c29: MSTORE
00002c2a: PUSH1 0x20
00002c2c: ADD
00002c2d: SWAP1
00002c2e: DUP2
00002c2f: MSTORE
00002c30: PUSH1 0x20
00002c32: ADD
00002c33: PUSH1 0x00
00002c35: KECCAK256
00002c36: PUSH1 0x06
00002c38: ADD
00002c39: SLOAD
00002c3a: PUSH2 0x35ca
00002c3d: JUMP
00002c3e: JUMPDEST
00002c3f: DUP5
00002c40: PUSH1 0x00
00002c42: DUP8
00002c43: DUP2
00002c44: MSTORE
00002c45: PUSH1 0x20
00002c47: ADD
00002c48: SWAP1
00002c49: DUP2
00002c4a: MSTORE
00002c4b: PUSH1 0x20
00002c4d: ADD
00002c4e: PUSH1 0x00
00002c50: KECCAK256
00002c51: PUSH1 0x09
00002c53: ADD
00002c54: SLOAD
00002c55: PUSH2 0x35ca
00002c58: JUMP
00002c59: JUMPDEST
00002c5a: SWAP2
00002c5b: POP
00002c5c: PUSH2 0x2c7a
00002c5f: DUP4
00002c60: PUSH1 0x00
00002c62: DUP7
00002c63: DUP2
00002c64: MSTORE
00002c65: PUSH1 0x20
00002c67: ADD
00002c68: SWAP1
00002c69: DUP2
00002c6a: MSTORE
00002c6b: PUSH1 0x20
00002c6d: ADD
00002c6e: PUSH1 0x00
00002c70: KECCAK256
00002c71: PUSH1 0x02
00002c73: ADD
00002c74: SLOAD
00002c75: DUP4
00002c76: PUSH2 0x35e3
00002c79: JUMP
00002c7a: JUMPDEST
00002c7b: SWAP1
00002c7c: POP
00002c7d: PUSH1 0x00
00002c7f: DUP2
00002c80: GT
00002c81: ISZERO
00002c82: ISZERO
00002c83: PUSH2 0x2c8b
00002c86: JUMPI
00002c87: PUSH1 0x00
00002c89: DUP1
00002c8a: REVERT
00002c8b: JUMPDEST
00002c8c: CALLER
00002c8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ca2: AND
00002ca3: PUSH2 0x08fc
00002ca6: DUP3
00002ca7: SWAP1
00002ca8: DUP2
00002ca9: ISZERO
00002caa: MUL
00002cab: SWAP1
00002cac: PUSH1 0x40
00002cae: MLOAD
00002caf: PUSH1 0x00
00002cb1: PUSH1 0x40
00002cb3: MLOAD
00002cb4: DUP1
00002cb5: DUP4
00002cb6: SUB
00002cb7: DUP2
00002cb8: DUP6
00002cb9: DUP9
00002cba: DUP9
00002cbb: CALL
00002cbc: SWAP4
00002cbd: POP
00002cbe: POP
00002cbf: POP
00002cc0: POP
00002cc1: ISZERO
00002cc2: DUP1
00002cc3: ISZERO
00002cc4: PUSH2 0x2cd1
00002cc7: JUMPI
00002cc8: RETURNDATASIZE
00002cc9: PUSH1 0x00
00002ccb: DUP1
00002ccc: RETURNDATACOPY
00002ccd: RETURNDATASIZE
00002cce: PUSH1 0x00
00002cd0: REVERT
00002cd1: JUMPDEST
00002cd2: POP
00002cd3: PUSH1 0x00
00002cd5: DUP4
00002cd6: PUSH1 0x00
00002cd8: DUP7
00002cd9: DUP2
00002cda: MSTORE
00002cdb: PUSH1 0x20
00002cdd: ADD
00002cde: SWAP1
00002cdf: DUP2
00002ce0: MSTORE
00002ce1: PUSH1 0x20
00002ce3: ADD
00002ce4: PUSH1 0x00
00002ce6: KECCAK256
00002ce7: PUSH1 0x02
00002ce9: ADD
00002cea: SLOAD
00002ceb: GT
00002cec: ISZERO
00002ced: PUSH2 0x2d20
00002cf0: JUMPI
00002cf1: DUP3
00002cf2: PUSH1 0x00
00002cf4: DUP6
00002cf5: DUP2
00002cf6: MSTORE
00002cf7: PUSH1 0x20
00002cf9: ADD
00002cfa: SWAP1
00002cfb: DUP2
00002cfc: MSTORE
00002cfd: PUSH1 0x20
00002cff: ADD
00002d00: PUSH1 0x00
00002d02: KECCAK256
00002d03: PUSH1 0x02
00002d05: ADD
00002d06: SLOAD
00002d07: DUP4
00002d08: PUSH1 0x00
00002d0a: DUP7
00002d0b: DUP2
00002d0c: MSTORE
00002d0d: PUSH1 0x20
00002d0f: ADD
00002d10: SWAP1
00002d11: DUP2
00002d12: MSTORE
00002d13: PUSH1 0x20
00002d15: ADD
00002d16: PUSH1 0x00
00002d18: KECCAK256
00002d19: PUSH1 0x07
00002d1b: ADD
00002d1c: DUP2
00002d1d: SWAP1
00002d1e: SSTORE
00002d1f: POP
00002d20: JUMPDEST
00002d21: PUSH1 0x00
00002d23: DUP4
00002d24: PUSH1 0x00
00002d26: DUP7
00002d27: DUP2
00002d28: MSTORE
00002d29: PUSH1 0x20
00002d2b: ADD
00002d2c: SWAP1
00002d2d: DUP2
00002d2e: MSTORE
00002d2f: PUSH1 0x20
00002d31: ADD
00002d32: PUSH1 0x00
00002d34: KECCAK256
00002d35: PUSH1 0x02
00002d37: ADD
00002d38: DUP2
00002d39: SWAP1
00002d3a: SSTORE
00002d3b: POP
00002d3c: PUSH2 0x2d5a
00002d3f: DUP4
00002d40: PUSH1 0x00
00002d42: DUP7
00002d43: DUP2
00002d44: MSTORE
00002d45: PUSH1 0x20
00002d47: ADD
00002d48: SWAP1
00002d49: DUP2
00002d4a: MSTORE
00002d4b: PUSH1 0x20
00002d4d: ADD
00002d4e: PUSH1 0x00
00002d50: KECCAK256
00002d51: PUSH1 0x06
00002d53: ADD
00002d54: SLOAD
00002d55: DUP4
00002d56: PUSH2 0x35e3
00002d59: JUMP
00002d5a: JUMPDEST
00002d5b: DUP4
00002d5c: PUSH1 0x00
00002d5e: DUP7
00002d5f: DUP2
00002d60: MSTORE
00002d61: PUSH1 0x20
00002d63: ADD
00002d64: SWAP1
00002d65: DUP2
00002d66: MSTORE
00002d67: PUSH1 0x20
00002d69: ADD
00002d6a: PUSH1 0x00
00002d6c: KECCAK256
00002d6d: PUSH1 0x06
00002d6f: ADD
00002d70: DUP2
00002d71: SWAP1
00002d72: SSTORE
00002d73: POP
00002d74: JUMPDEST
00002d75: POP
00002d76: POP
00002d77: POP
00002d78: POP
00002d79: JUMP
00002d7a: JUMPDEST
00002d7b: PUSH1 0x00
00002d7d: PUSH1 0x0e
00002d7f: SLOAD
00002d80: SWAP1
00002d81: POP
00002d82: SWAP1
00002d83: JUMP
00002d84: JUMPDEST
00002d85: PUSH1 0x60
00002d87: PUSH1 0x00
00002d89: DUP1
00002d8a: PUSH1 0x00
00002d8c: DUP1
00002d8d: PUSH1 0x00
00002d8f: DUP1
00002d90: PUSH1 0x00
00002d92: DUP1
00002d93: PUSH1 0x02
00002d95: PUSH1 0x00
00002d97: SWAP1
00002d98: SLOAD
00002d99: SWAP1
00002d9a: PUSH2 0x0100
00002d9d: EXP
00002d9e: SWAP1
00002d9f: DIV
00002da0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002db5: AND
00002db6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dcb: AND
00002dcc: CALLER
00002dcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002de2: AND
00002de3: EQ
00002de4: DUP1
00002de5: PUSH2 0x2e3b
00002de8: JUMPI
00002de9: POP
00002dea: PUSH1 0x01
00002dec: PUSH1 0x00
00002dee: SWAP1
00002def: SLOAD
00002df0: SWAP1
00002df1: PUSH2 0x0100
00002df4: EXP
00002df5: SWAP1
00002df6: DIV
00002df7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e0c: AND
00002e0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e22: AND
00002e23: CALLER
00002e24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e39: AND
00002e3a: EQ
00002e3b: JUMPDEST
00002e3c: ISZERO
00002e3d: ISZERO
00002e3e: PUSH2 0x2e46
00002e41: JUMPI
00002e42: PUSH1 0x00
00002e44: DUP1
00002e45: REVERT
00002e46: JUMPDEST
00002e47: PUSH1 0x07
00002e49: PUSH1 0x00
00002e4b: DUP13
00002e4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e61: AND
00002e62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e77: AND
00002e78: DUP2
00002e79: MSTORE
00002e7a: PUSH1 0x20
00002e7c: ADD
00002e7d: SWAP1
00002e7e: DUP2
00002e7f: MSTORE
00002e80: PUSH1 0x20
00002e82: ADD
00002e83: PUSH1 0x00
00002e85: KECCAK256
00002e86: SWAP3
00002e87: POP
00002e88: DUP3
00002e89: PUSH1 0x00
00002e8b: DUP12
00002e8c: DUP2
00002e8d: MSTORE
00002e8e: PUSH1 0x20
00002e90: ADD
00002e91: SWAP1
00002e92: DUP2
00002e93: MSTORE
00002e94: PUSH1 0x20
00002e96: ADD
00002e97: PUSH1 0x00
00002e99: KECCAK256
00002e9a: PUSH1 0x08
00002e9c: ADD
00002e9d: PUSH1 0x00
00002e9f: SWAP1
00002ea0: SLOAD
00002ea1: SWAP1
00002ea2: PUSH2 0x0100
00002ea5: EXP
00002ea6: SWAP1
00002ea7: DIV
00002ea8: PUSH1 0xff
00002eaa: AND
00002eab: ISZERO
00002eac: PUSH2 0x2eea
00002eaf: JUMPI
00002eb0: PUSH2 0x2ee3
00002eb3: DUP4
00002eb4: PUSH1 0x00
00002eb6: DUP13
00002eb7: DUP2
00002eb8: MSTORE
00002eb9: PUSH1 0x20
00002ebb: ADD
00002ebc: SWAP1
00002ebd: DUP2
00002ebe: MSTORE
00002ebf: PUSH1 0x20
00002ec1: ADD
00002ec2: PUSH1 0x00
00002ec4: KECCAK256
00002ec5: PUSH1 0x0a
00002ec7: ADD
00002ec8: SLOAD
00002ec9: DUP5
00002eca: PUSH1 0x00
00002ecc: DUP14
00002ecd: DUP2
00002ece: MSTORE
00002ecf: PUSH1 0x20
00002ed1: ADD
00002ed2: SWAP1
00002ed3: DUP2
00002ed4: MSTORE
00002ed5: PUSH1 0x20
00002ed7: ADD
00002ed8: PUSH1 0x00
00002eda: KECCAK256
00002edb: PUSH1 0x05
00002edd: ADD
00002ede: SLOAD
00002edf: PUSH2 0x35ca
00002ee2: JUMP
00002ee3: JUMPDEST
00002ee4: SWAP2
00002ee5: POP
00002ee6: PUSH2 0x2f0e
00002ee9: JUMP
00002eea: JUMPDEST
00002eeb: PUSH2 0x2f0b
00002eee: PUSH1 0x0d
00002ef0: SLOAD
00002ef1: DUP5
00002ef2: PUSH1 0x00
00002ef4: DUP14
00002ef5: DUP2
00002ef6: MSTORE
00002ef7: PUSH1 0x20
00002ef9: ADD
00002efa: SWAP1
00002efb: DUP2
00002efc: MSTORE
00002efd: PUSH1 0x20
00002eff: ADD
00002f00: PUSH1 0x00
00002f02: KECCAK256
00002f03: PUSH1 0x05
00002f05: ADD
00002f06: SLOAD
00002f07: PUSH2 0x35ca
00002f0a: JUMP
00002f0b: JUMPDEST
00002f0c: SWAP2
00002f0d: POP
00002f0e: JUMPDEST
00002f0f: PUSH2 0x2f4b
00002f12: PUSH2 0x2f30
00002f15: DUP4
00002f16: DUP6
00002f17: PUSH1 0x00
00002f19: DUP15
00002f1a: DUP2
00002f1b: MSTORE
00002f1c: PUSH1 0x20
00002f1e: ADD
00002f1f: SWAP1
00002f20: DUP2
00002f21: MSTORE
00002f22: PUSH1 0x20
00002f24: ADD
00002f25: PUSH1 0x00
00002f27: KECCAK256
00002f28: PUSH1 0x06
00002f2a: ADD
00002f2b: SLOAD
00002f2c: PUSH2 0x35ca
00002f2f: JUMP
00002f30: JUMPDEST
00002f31: DUP5
00002f32: PUSH1 0x00
00002f34: DUP14
00002f35: DUP2
00002f36: MSTORE
00002f37: PUSH1 0x20
00002f39: ADD
00002f3a: SWAP1
00002f3b: DUP2
00002f3c: MSTORE
00002f3d: PUSH1 0x20
00002f3f: ADD
00002f40: PUSH1 0x00
00002f42: KECCAK256
00002f43: PUSH1 0x09
00002f45: ADD
00002f46: SLOAD
00002f47: PUSH2 0x35ca
00002f4a: JUMP
00002f4b: JUMPDEST
00002f4c: SWAP2
00002f4d: POP
00002f4e: PUSH2 0x2f81
00002f51: DUP4
00002f52: PUSH1 0x00
00002f54: DUP13
00002f55: DUP2
00002f56: MSTORE
00002f57: PUSH1 0x20
00002f59: ADD
00002f5a: SWAP1
00002f5b: DUP2
00002f5c: MSTORE
00002f5d: PUSH1 0x20
00002f5f: ADD
00002f60: PUSH1 0x00
00002f62: KECCAK256
00002f63: PUSH1 0x06
00002f65: ADD
00002f66: SLOAD
00002f67: DUP5
00002f68: PUSH1 0x00
00002f6a: DUP14
00002f6b: DUP2
00002f6c: MSTORE
00002f6d: PUSH1 0x20
00002f6f: ADD
00002f70: SWAP1
00002f71: DUP2
00002f72: MSTORE
00002f73: PUSH1 0x20
00002f75: ADD
00002f76: PUSH1 0x00
00002f78: KECCAK256
00002f79: PUSH1 0x07
00002f7b: ADD
00002f7c: SLOAD
00002f7d: PUSH2 0x35e3
00002f80: JUMP
00002f81: JUMPDEST
00002f82: SWAP1
00002f83: POP
00002f84: PUSH2 0x30e7
00002f87: DUP4
00002f88: PUSH1 0x00
00002f8a: DUP13
00002f8b: DUP2
00002f8c: MSTORE
00002f8d: PUSH1 0x20
00002f8f: ADD
00002f90: SWAP1
00002f91: DUP2
00002f92: MSTORE
00002f93: PUSH1 0x20
00002f95: ADD
00002f96: PUSH1 0x00
00002f98: KECCAK256
00002f99: PUSH1 0x03
00002f9b: ADD
00002f9c: DUP1
00002f9d: SLOAD
00002f9e: PUSH1 0x01
00002fa0: DUP2
00002fa1: PUSH1 0x01
00002fa3: AND
00002fa4: ISZERO
00002fa5: PUSH2 0x0100
00002fa8: MUL
00002fa9: SUB
00002faa: AND
00002fab: PUSH1 0x02
00002fad: SWAP1
00002fae: DIV
00002faf: DUP1
00002fb0: PUSH1 0x1f
00002fb2: ADD
00002fb3: PUSH1 0x20
00002fb5: DUP1
00002fb6: SWAP2
00002fb7: DIV
00002fb8: MUL
00002fb9: PUSH1 0x20
00002fbb: ADD
00002fbc: PUSH1 0x40
00002fbe: MLOAD
00002fbf: SWAP1
00002fc0: DUP2
00002fc1: ADD
00002fc2: PUSH1 0x40
00002fc4: MSTORE
00002fc5: DUP1
00002fc6: SWAP3
00002fc7: SWAP2
00002fc8: SWAP1
00002fc9: DUP2
00002fca: DUP2
00002fcb: MSTORE
00002fcc: PUSH1 0x20
00002fce: ADD
00002fcf: DUP3
00002fd0: DUP1
00002fd1: SLOAD
00002fd2: PUSH1 0x01
00002fd4: DUP2
00002fd5: PUSH1 0x01
00002fd7: AND
00002fd8: ISZERO
00002fd9: PUSH2 0x0100
00002fdc: MUL
00002fdd: SUB
00002fde: AND
00002fdf: PUSH1 0x02
00002fe1: SWAP1
00002fe2: DIV
00002fe3: DUP1
00002fe4: ISZERO
00002fe5: PUSH2 0x302f
00002fe8: JUMPI
00002fe9: DUP1
00002fea: PUSH1 0x1f
00002fec: LT
00002fed: PUSH2 0x3004
00002ff0: JUMPI
00002ff1: PUSH2 0x0100
00002ff4: DUP1
00002ff5: DUP4
00002ff6: SLOAD
00002ff7: DIV
00002ff8: MUL
00002ff9: DUP4
00002ffa: MSTORE
00002ffb: SWAP2
00002ffc: PUSH1 0x20
00002ffe: ADD
00002fff: SWAP2
00003000: PUSH2 0x302f
00003003: JUMP
00003004: JUMPDEST
00003005: DUP3
00003006: ADD
00003007: SWAP2
00003008: SWAP1
00003009: PUSH1 0x00
0000300b: MSTORE
0000300c: PUSH1 0x20
0000300e: PUSH1 0x00
00003010: KECCAK256
00003011: SWAP1
00003012: JUMPDEST
00003013: DUP2
00003014: SLOAD
00003015: DUP2
00003016: MSTORE
00003017: SWAP1
00003018: PUSH1 0x01
0000301a: ADD
0000301b: SWAP1
0000301c: PUSH1 0x20
0000301e: ADD
0000301f: DUP1
00003020: DUP4
00003021: GT
00003022: PUSH2 0x3012
00003025: JUMPI
00003026: DUP3
00003027: SWAP1
00003028: SUB
00003029: PUSH1 0x1f
0000302b: AND
0000302c: DUP3
0000302d: ADD
0000302e: SWAP2
0000302f: JUMPDEST
00003030: POP
00003031: POP
00003032: POP
00003033: POP
00003034: POP
00003035: DUP5
00003036: PUSH1 0x00
00003038: DUP14
00003039: DUP2
0000303a: MSTORE
0000303b: PUSH1 0x20
0000303d: ADD
0000303e: SWAP1
0000303f: DUP2
00003040: MSTORE
00003041: PUSH1 0x20
00003043: ADD
00003044: PUSH1 0x00
00003046: KECCAK256
00003047: PUSH1 0x04
00003049: ADD
0000304a: DUP1
0000304b: SLOAD
0000304c: PUSH1 0x01
0000304e: DUP2
0000304f: PUSH1 0x01
00003051: AND
00003052: ISZERO
00003053: PUSH2 0x0100
00003056: MUL
00003057: SUB
00003058: AND
00003059: PUSH1 0x02
0000305b: SWAP1
0000305c: DIV
0000305d: DUP1
0000305e: PUSH1 0x1f
00003060: ADD
00003061: PUSH1 0x20
00003063: DUP1
00003064: SWAP2
00003065: DIV
00003066: MUL
00003067: PUSH1 0x20
00003069: ADD
0000306a: PUSH1 0x40
0000306c: MLOAD
0000306d: SWAP1
0000306e: DUP2
0000306f: ADD
00003070: PUSH1 0x40
00003072: MSTORE
00003073: DUP1
00003074: SWAP3
00003075: SWAP2
00003076: SWAP1
00003077: DUP2
00003078: DUP2
00003079: MSTORE
0000307a: PUSH1 0x20
0000307c: ADD
0000307d: DUP3
0000307e: DUP1
0000307f: SLOAD
00003080: PUSH1 0x01
00003082: DUP2
00003083: PUSH1 0x01
00003085: AND
00003086: ISZERO
00003087: PUSH2 0x0100
0000308a: MUL
0000308b: SUB
0000308c: AND
0000308d: PUSH1 0x02
0000308f: SWAP1
00003090: DIV
00003091: DUP1
00003092: ISZERO
00003093: PUSH2 0x30dd
00003096: JUMPI
00003097: DUP1
00003098: PUSH1 0x1f
0000309a: LT
0000309b: PUSH2 0x30b2
0000309e: JUMPI
0000309f: PUSH2 0x0100
000030a2: DUP1
000030a3: DUP4
000030a4: SLOAD
000030a5: DIV
000030a6: MUL
000030a7: DUP4
000030a8: MSTORE
000030a9: SWAP2
000030aa: PUSH1 0x20
000030ac: ADD
000030ad: SWAP2
000030ae: PUSH2 0x30dd
000030b1: JUMP
000030b2: JUMPDEST
000030b3: DUP3
000030b4: ADD
000030b5: SWAP2
000030b6: SWAP1
000030b7: PUSH1 0x00
000030b9: MSTORE
000030ba: PUSH1 0x20
000030bc: PUSH1 0x00
000030be: KECCAK256
000030bf: SWAP1
000030c0: JUMPDEST
000030c1: DUP2
000030c2: SLOAD
000030c3: DUP2
000030c4: MSTORE
000030c5: SWAP1
000030c6: PUSH1 0x01
000030c8: ADD
000030c9: SWAP1
000030ca: PUSH1 0x20
000030cc: ADD
000030cd: DUP1
000030ce: DUP4
000030cf: GT
000030d0: PUSH2 0x30c0
000030d3: JUMPI
000030d4: DUP3
000030d5: SWAP1
000030d6: SUB
000030d7: PUSH1 0x1f
000030d9: AND
000030da: DUP3
000030db: ADD
000030dc: SWAP2
000030dd: JUMPDEST
000030de: POP
000030df: POP
000030e0: POP
000030e1: POP
000030e2: POP
000030e3: PUSH2 0x1f5d
000030e6: JUMP
000030e7: JUMPDEST
000030e8: DUP4
000030e9: PUSH1 0x00
000030eb: DUP13
000030ec: DUP2
000030ed: MSTORE
000030ee: PUSH1 0x20
000030f0: ADD
000030f1: SWAP1
000030f2: DUP2
000030f3: MSTORE
000030f4: PUSH1 0x20
000030f6: ADD
000030f7: PUSH1 0x00
000030f9: KECCAK256
000030fa: PUSH1 0x01
000030fc: ADD
000030fd: PUSH1 0x00
000030ff: SWAP1
00003100: SLOAD
00003101: SWAP1
00003102: PUSH2 0x0100
00003105: EXP
00003106: SWAP1
00003107: DIV
00003108: PUSH1 0xff
0000310a: AND
0000310b: DUP5
0000310c: PUSH1 0x00
0000310e: DUP14
0000310f: DUP2
00003110: MSTORE
00003111: PUSH1 0x20
00003113: ADD
00003114: SWAP1
00003115: DUP2
00003116: MSTORE
00003117: PUSH1 0x20
00003119: ADD
0000311a: PUSH1 0x00
0000311c: KECCAK256
0000311d: PUSH1 0x00
0000311f: ADD
00003120: SLOAD
00003121: DUP6
00003122: PUSH1 0x00
00003124: DUP15
00003125: DUP2
00003126: MSTORE
00003127: PUSH1 0x20
00003129: ADD
0000312a: SWAP1
0000312b: DUP2
0000312c: MSTORE
0000312d: PUSH1 0x20
0000312f: ADD
00003130: PUSH1 0x00
00003132: KECCAK256
00003133: PUSH1 0x08
00003135: ADD
00003136: PUSH1 0x00
00003138: SWAP1
00003139: SLOAD
0000313a: SWAP1
0000313b: PUSH2 0x0100
0000313e: EXP
0000313f: SWAP1
00003140: DIV
00003141: PUSH1 0xff
00003143: AND
00003144: DUP6
00003145: DUP6
00003146: SWAP9
00003147: POP
00003148: SWAP9
00003149: POP
0000314a: SWAP9
0000314b: POP
0000314c: SWAP9
0000314d: POP
0000314e: SWAP9
0000314f: POP
00003150: SWAP9
00003151: POP
00003152: POP
00003153: POP
00003154: POP
00003155: SWAP3
00003156: SWAP6
00003157: POP
00003158: SWAP3
00003159: SWAP6
0000315a: POP
0000315b: SWAP3
0000315c: SWAP6
0000315d: JUMP
0000315e: JUMPDEST
0000315f: PUSH1 0x00
00003161: PUSH1 0x02
00003163: PUSH1 0x00
00003165: SWAP1
00003166: SLOAD
00003167: SWAP1
00003168: PUSH2 0x0100
0000316b: EXP
0000316c: SWAP1
0000316d: DIV
0000316e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003183: AND
00003184: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003199: AND
0000319a: CALLER
0000319b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031b0: AND
000031b1: EQ
000031b2: DUP1
000031b3: PUSH2 0x3209
000031b6: JUMPI
000031b7: POP
000031b8: PUSH1 0x01
000031ba: PUSH1 0x00
000031bc: SWAP1
000031bd: SLOAD
000031be: SWAP1
000031bf: PUSH2 0x0100
000031c2: EXP
000031c3: SWAP1
000031c4: DIV
000031c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031da: AND
000031db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031f0: AND
000031f1: CALLER
000031f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003207: AND
00003208: EQ
00003209: JUMPDEST
0000320a: ISZERO
0000320b: ISZERO
0000320c: PUSH2 0x3214
0000320f: JUMPI
00003210: PUSH1 0x00
00003212: DUP1
00003213: REVERT
00003214: JUMPDEST
00003215: PUSH1 0x01
00003217: PUSH1 0x00
00003219: SWAP1
0000321a: SLOAD
0000321b: SWAP1
0000321c: PUSH2 0x0100
0000321f: EXP
00003220: SWAP1
00003221: DIV
00003222: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003237: AND
00003238: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000324d: AND
0000324e: CALLER
0000324f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003264: AND
00003265: EQ
00003266: DUP1
00003267: PUSH2 0x32bd
0000326a: JUMPI
0000326b: POP
0000326c: PUSH1 0x02
0000326e: PUSH1 0x00
00003270: SWAP1
00003271: SLOAD
00003272: SWAP1
00003273: PUSH2 0x0100
00003276: EXP
00003277: SWAP1
00003278: DIV
00003279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000328e: AND
0000328f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032a4: AND
000032a5: CALLER
000032a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032bb: AND
000032bc: EQ
000032bd: JUMPDEST
000032be: ISZERO
000032bf: PUSH2 0x32cb
000032c2: JUMPI
000032c3: PUSH1 0x01
000032c5: SWAP1
000032c6: POP
000032c7: PUSH2 0x32d0
000032ca: JUMP
000032cb: JUMPDEST
000032cc: PUSH1 0x00
000032ce: SWAP1
000032cf: POP
000032d0: JUMPDEST
000032d1: SWAP1
000032d2: JUMP
000032d3: JUMPDEST
000032d4: PUSH1 0x00
000032d6: PUSH1 0x02
000032d8: PUSH1 0x00
000032da: SWAP1
000032db: SLOAD
000032dc: SWAP1
000032dd: PUSH2 0x0100
000032e0: EXP
000032e1: SWAP1
000032e2: DIV
000032e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000032f8: AND
000032f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000330e: AND
0000330f: CALLER
00003310: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003325: AND
00003326: EQ
00003327: DUP1
00003328: PUSH2 0x337e
0000332b: JUMPI
0000332c: POP
0000332d: PUSH1 0x01
0000332f: PUSH1 0x00
00003331: SWAP1
00003332: SLOAD
00003333: SWAP1
00003334: PUSH2 0x0100
00003337: EXP
00003338: SWAP1
00003339: DIV
0000333a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000334f: AND
00003350: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003365: AND
00003366: CALLER
00003367: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000337c: AND
0000337d: EQ
0000337e: JUMPDEST
0000337f: ISZERO
00003380: ISZERO
00003381: PUSH2 0x3389
00003384: JUMPI
00003385: PUSH1 0x00
00003387: DUP1
00003388: REVERT
00003389: JUMPDEST
0000338a: PUSH1 0x0c
0000338c: SLOAD
0000338d: SWAP1
0000338e: POP
0000338f: SWAP1
00003390: JUMP
00003391: JUMPDEST
00003392: PUSH1 0x00
00003394: PUSH1 0x04
00003396: PUSH1 0x00
00003398: DUP5
00003399: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033ae: AND
000033af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c4: AND
000033c5: DUP2
000033c6: MSTORE
000033c7: PUSH1 0x20
000033c9: ADD
000033ca: SWAP1
000033cb: DUP2
000033cc: MSTORE
000033cd: PUSH1 0x20
000033cf: ADD
000033d0: PUSH1 0x00
000033d2: KECCAK256
000033d3: PUSH1 0x00
000033d5: DUP4
000033d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033eb: AND
000033ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003401: AND
00003402: DUP2
00003403: MSTORE
00003404: PUSH1 0x20
00003406: ADD
00003407: SWAP1
00003408: DUP2
00003409: MSTORE
0000340a: PUSH1 0x20
0000340c: ADD
0000340d: PUSH1 0x00
0000340f: KECCAK256
00003410: SLOAD
00003411: SWAP1
00003412: POP
00003413: SWAP3
00003414: SWAP2
00003415: POP
00003416: POP
00003417: JUMP
00003418: JUMPDEST
00003419: PUSH1 0x00
0000341b: PUSH1 0x02
0000341d: PUSH1 0x00
0000341f: SWAP1
00003420: SLOAD
00003421: SWAP1
00003422: PUSH2 0x0100
00003425: EXP
00003426: SWAP1
00003427: DIV
00003428: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000343d: AND
0000343e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003453: AND
00003454: CALLER
00003455: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000346a: AND
0000346b: EQ
0000346c: DUP1
0000346d: PUSH2 0x34c3
00003470: JUMPI
00003471: POP
00003472: PUSH1 0x01
00003474: PUSH1 0x00
00003476: SWAP1
00003477: SLOAD
00003478: SWAP1
00003479: PUSH2 0x0100
0000347c: EXP
0000347d: SWAP1
0000347e: DIV
0000347f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003494: AND
00003495: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034aa: AND
000034ab: CALLER
000034ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034c1: AND
000034c2: EQ
000034c3: JUMPDEST
000034c4: ISZERO
000034c5: ISZERO
000034c6: PUSH2 0x34ce
000034c9: JUMPI
000034ca: PUSH1 0x00
000034cc: DUP1
000034cd: REVERT
000034ce: JUMPDEST
000034cf: PUSH1 0x0a
000034d1: SLOAD
000034d2: SWAP1
000034d3: POP
000034d4: SWAP1
000034d5: JUMP
000034d6: JUMPDEST
000034d7: PUSH1 0x02
000034d9: PUSH1 0x00
000034db: SWAP1
000034dc: SLOAD
000034dd: SWAP1
000034de: PUSH2 0x0100
000034e1: EXP
000034e2: SWAP1
000034e3: DIV
000034e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034f9: AND
000034fa: DUP2
000034fb: JUMP
000034fc: JUMPDEST
000034fd: PUSH1 0x00
000034ff: PUSH1 0x02
00003501: PUSH1 0x00
00003503: SWAP1
00003504: SLOAD
00003505: SWAP1
00003506: PUSH2 0x0100
00003509: EXP
0000350a: SWAP1
0000350b: DIV
0000350c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003521: AND
00003522: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003537: AND
00003538: CALLER
00003539: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000354e: AND
0000354f: EQ
00003550: DUP1
00003551: PUSH2 0x35a7
00003554: JUMPI
00003555: POP
00003556: PUSH1 0x01
00003558: PUSH1 0x00
0000355a: SWAP1
0000355b: SLOAD
0000355c: SWAP1
0000355d: PUSH2 0x0100
00003560: EXP
00003561: SWAP1
00003562: DIV
00003563: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003578: AND
00003579: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000358e: AND
0000358f: CALLER
00003590: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035a5: AND
000035a6: EQ
000035a7: JUMPDEST
000035a8: ISZERO
000035a9: ISZERO
000035aa: PUSH2 0x35b2
000035ad: JUMPI
000035ae: PUSH1 0x00
000035b0: DUP1
000035b1: REVERT
000035b2: JUMPDEST
000035b3: PUSH1 0x05
000035b5: PUSH1 0x00
000035b7: SWAP1
000035b8: SLOAD
000035b9: SWAP1
000035ba: PUSH2 0x0100
000035bd: EXP
000035be: SWAP1
000035bf: DIV
000035c0: PUSH1 0xff
000035c2: AND
000035c3: PUSH1 0xff
000035c5: AND
000035c6: SWAP1
000035c7: POP
000035c8: SWAP1
000035c9: JUMP
000035ca: JUMPDEST
000035cb: PUSH1 0x00
000035cd: DUP3
000035ce: DUP3
000035cf: GT
000035d0: ISZERO
000035d1: ISZERO
000035d2: ISZERO
000035d3: PUSH2 0x35d8
000035d6: JUMPI
000035d7: INVALID
000035d8: JUMPDEST
000035d9: DUP2
000035da: DUP4
000035db: SUB
000035dc: SWAP1
000035dd: POP
000035de: SWAP3
000035df: SWAP2
000035e0: POP
000035e1: POP
000035e2: JUMP
000035e3: JUMPDEST
000035e4: PUSH1 0x00
000035e6: DUP1
000035e7: DUP3
000035e8: DUP5
000035e9: ADD
000035ea: SWAP1
000035eb: POP
000035ec: DUP4
000035ed: DUP2
000035ee: LT
000035ef: ISZERO
000035f0: ISZERO
000035f1: ISZERO
000035f2: PUSH2 0x35f7
000035f5: JUMPI
000035f6: INVALID
000035f7: JUMPDEST
000035f8: DUP1
000035f9: SWAP2
000035fa: POP
000035fb: POP
000035fc: SWAP3
000035fd: SWAP2
000035fe: POP
000035ff: POP
00003600: JUMP
00003601: JUMPDEST
00003602: PUSH1 0x00
00003604: DUP1
00003605: PUSH1 0x00
00003607: DUP5
00003608: EQ
00003609: ISZERO
0000360a: PUSH2 0x3616
0000360d: JUMPI
0000360e: PUSH1 0x00
00003610: SWAP2
00003611: POP
00003612: PUSH2 0x3635
00003615: JUMP
00003616: JUMPDEST
00003617: DUP3
00003618: DUP5
00003619: MUL
0000361a: SWAP1
0000361b: POP
0000361c: DUP3
0000361d: DUP5
0000361e: DUP3
0000361f: DUP2
00003620: ISZERO
00003621: ISZERO
00003622: PUSH2 0x3627
00003625: JUMPI
00003626: INVALID
00003627: JUMPDEST
00003628: DIV
00003629: EQ
0000362a: ISZERO
0000362b: ISZERO
0000362c: PUSH2 0x3631
0000362f: JUMPI
00003630: INVALID
00003631: JUMPDEST
00003632: DUP1
00003633: SWAP2
00003634: POP
00003635: JUMPDEST
00003636: POP
00003637: SWAP3
00003638: SWAP2
00003639: POP
0000363a: POP
0000363b: JUMP
0000363c: JUMPDEST
0000363d: PUSH1 0x00
0000363f: DUP1
00003640: DUP3
00003641: DUP5
00003642: DUP2
00003643: ISZERO
00003644: ISZERO
00003645: PUSH2 0x364a
00003648: JUMPI
00003649: INVALID
0000364a: JUMPDEST
0000364b: DIV
0000364c: SWAP1
0000364d: POP
0000364e: DUP1
0000364f: SWAP2
00003650: POP
00003651: POP
00003652: SWAP3
00003653: SWAP2
00003654: POP
00003655: POP
00003656: JUMP
00003657: JUMPDEST
00003658: DUP3
00003659: DUP1
0000365a: SLOAD
0000365b: PUSH1 0x01
0000365d: DUP2
0000365e: PUSH1 0x01
00003660: AND
00003661: ISZERO
00003662: PUSH2 0x0100
00003665: MUL
00003666: SUB
00003667: AND
00003668: PUSH1 0x02
0000366a: SWAP1
0000366b: DIV
0000366c: SWAP1
0000366d: PUSH1 0x00
0000366f: MSTORE
00003670: PUSH1 0x20
00003672: PUSH1 0x00
00003674: KECCAK256
00003675: SWAP1
00003676: PUSH1 0x1f
00003678: ADD
00003679: PUSH1 0x20
0000367b: SWAP1
0000367c: DIV
0000367d: DUP2
0000367e: ADD
0000367f: SWAP3
00003680: DUP3
00003681: PUSH1 0x1f
00003683: LT
00003684: PUSH2 0x3698
00003687: JUMPI
00003688: DUP1
00003689: MLOAD
0000368a: PUSH1 0xff
0000368c: NOT
0000368d: AND
0000368e: DUP4
0000368f: DUP1
00003690: ADD
00003691: OR
00003692: DUP6
00003693: SSTORE
00003694: PUSH2 0x36c6
00003697: JUMP
00003698: JUMPDEST
00003699: DUP3
0000369a: DUP1
0000369b: ADD
0000369c: PUSH1 0x01
0000369e: ADD
0000369f: DUP6
000036a0: SSTORE
000036a1: DUP3
000036a2: ISZERO
000036a3: PUSH2 0x36c6
000036a6: JUMPI
000036a7: SWAP2
000036a8: DUP3
000036a9: ADD
000036aa: JUMPDEST
000036ab: DUP3
000036ac: DUP2
000036ad: GT
000036ae: ISZERO
000036af: PUSH2 0x36c5
000036b2: JUMPI
000036b3: DUP3
000036b4: MLOAD
000036b5: DUP3
000036b6: SSTORE
000036b7: SWAP2
000036b8: PUSH1 0x20
000036ba: ADD
000036bb: SWAP2
000036bc: SWAP1
000036bd: PUSH1 0x01
000036bf: ADD
000036c0: SWAP1
000036c1: PUSH2 0x36aa
000036c4: JUMP
000036c5: JUMPDEST
000036c6: JUMPDEST
000036c7: POP
000036c8: SWAP1
000036c9: POP
000036ca: PUSH2 0x36d3
000036cd: SWAP2
000036ce: SWAP1
000036cf: PUSH2 0x36d7
000036d2: JUMP
000036d3: JUMPDEST
000036d4: POP
000036d5: SWAP1
000036d6: JUMP
000036d7: JUMPDEST
000036d8: PUSH2 0x36f9
000036db: SWAP2
000036dc: SWAP1
000036dd: JUMPDEST
000036de: DUP1
000036df: DUP3
000036e0: GT
000036e1: ISZERO
000036e2: PUSH2 0x36f5
000036e5: JUMPI
000036e6: PUSH1 0x00
000036e8: DUP2
000036e9: PUSH1 0x00
000036eb: SWAP1
000036ec: SSTORE
000036ed: POP
000036ee: PUSH1 0x01
000036f0: ADD
000036f1: PUSH2 0x36dd
000036f4: JUMP
000036f5: JUMPDEST
000036f6: POP
000036f7: SWAP1
000036f8: JUMP
000036f9: JUMPDEST
000036fa: SWAP1
000036fb: JUMP
000036fc: STOP
000036fd: LOG1
000036fe: PUSH6 0x627a7a723058
00003705: KECCAK256
00003706: SHL
00003707: UNKNOWN(0x28)
00003708: SWAP12
00003709: UNKNOWN(0xBD)
0000370a: CODECOPY
0000370b: SELFDESTRUCT
0000370c: UNKNOWN(0x4E)
0000370d: RETURNDATASIZE
0000370e: UNKNOWN(0xC7)
0000370f: BLOBHASH
00003710: UNKNOWN(0xBF)
00003711: UNKNOWN(0xD1)
00003712: UNKNOWN(0xC2)
00003713: TSTORE
00003714: SAR
00003715: PUSH25

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x8dd92721a851ea31c2b7905aa8ab6deba278a7064316ecd75601d325166974ea
call_targets: 0x257e07b9ad34f2b88ef4c3ec31cf583f7729474f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8dd92721a851ea31c2b7905aa8ab6deba278a7064316ecd75601d325166974ea",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x257e07b9ad34f2b88ef4c3ec31cf583f7729474f"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0cb0a44b",
            "selector": "0x0cb0a44b",
            "calldata_variants": [
                "0x0cb0a44b",
                "0x0cb0a44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f66905",
            "selector": "0x10f66905",
            "calldata_variants": [
                "0x10f66905",
                "0x10f669050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ba6a6b2",
            "selector": "0x1ba6a6b2",
            "calldata_variants": [
                "0x1ba6a6b2",
                "0x1ba6a6b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e411f2a",
            "selector": "0x1e411f2a",
            "calldata_variants": [
                "0x1e411f2a",
                "0x1e411f2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4495,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7978,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11451,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 3,
    "guards_detected": [
        {
            "pc": 3999,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4086,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4269,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4590,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4677,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4865,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4952,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5830,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5917,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6027,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6114,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6555,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7189,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7276,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7418,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7505,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7752,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7839,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9149,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9236,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10884,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10971,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11724,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11811,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12698,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12785,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12878,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12965,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13071,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13158,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13396,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13483,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13624,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13711,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x8dd92721a851ea31c2b7905aa8ab6deba278a7064316ecd75601d325166974ea
call_targets: 0x257e07b9ad34f2b88ef4c3ec31cf583f7729474f
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x8dd92721a851ea31c2b7905aa8ab6deba278a7064316ecd75601d325166974ea",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x257e07b9ad34f2b88ef4c3ec31cf583f7729474f"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0cb0a44b",
            "selector": "0x0cb0a44b",
            "calldata_variants": [
                "0x0cb0a44b",
                "0x0cb0a44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f66905",
            "selector": "0x10f66905",
            "calldata_variants": [
                "0x10f66905",
                "0x10f669050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ba6a6b2",
            "selector": "0x1ba6a6b2",
            "calldata_variants": [
                "0x1ba6a6b2",
                "0x1ba6a6b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e411f2a",
            "selector": "0x1e411f2a",
            "calldata_variants": [
                "0x1e411f2a",
                "0x1e411f2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4495,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7978,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11451,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": [
        {
            "pc": 3999,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4086,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4269,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4590,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4677,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4865,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4952,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5830,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5917,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6027,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6114,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6555,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7189,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7276,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7418,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7505,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7752,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7839,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9149,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9236,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10884,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10971,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11724,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11811,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12698,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12785,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12878,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12965,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13071,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13158,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13396,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13483,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13624,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13711,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector SELFDESTRUCT reachable 45 no no
view
trace_id: 0xdb8707ecff50243aa471dcbc8a86c5fd82010939c358c1d031d94b9ac5f4156f
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xdb8707ecff50243aa471dcbc8a86c5fd82010939c358c1d031d94b9ac5f4156f",
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0cb0a44b",
            "selector": "0x0cb0a44b",
            "calldata_variants": [
                "0x0cb0a44b",
                "0x0cb0a44b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x10f66905",
            "selector": "0x10f66905",
            "calldata_variants": [
                "0x10f66905",
                "0x10f669050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1ba6a6b2",
            "selector": "0x1ba6a6b2",
            "calldata_variants": [
                "0x1ba6a6b2",
                "0x1ba6a6b20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e411f2a",
            "selector": "0x1e411f2a",
            "calldata_variants": [
                "0x1e411f2a",
                "0x1e411f2a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 3999,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4086,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4269,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4356,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4590,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4677,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4865,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 4952,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5830,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 5917,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6027,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6114,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 6555,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7189,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7276,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7418,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7505,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7752,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 7839,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9149,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 9236,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10884,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10971,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11724,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11811,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12698,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12785,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12878,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12965,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13071,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13158,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13396,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13483,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13624,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13711,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "selfdestruct_count": 1
}