8d2042ca-b42e-4fdf-9579-2d48667fbb52
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_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 |
viewtrace_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 |
viewtrace_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
}
|