dffd0b10-d34d-4f91-bc3d-39611ce3dd2e
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 |
|---|---|---|---|---|
| 31525 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77777 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77778 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77779 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77780 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77781 | detector.run | complete | 1 / 3 | 1 week ago |
| 77782 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:769069] OpenAI Codex v0.77.0 (research preview)
[codex:769069] --------
[codex:769069] workdir: /tmp/codex-multi-kyps3kd8
[codex:769069] model: gpt-5.2-codex
[codex:769069] provider: openai
[codex:769069] approval: never
[codex:769069] sandbox: read-only
[codex:769069] reasoning effort: xhigh
[codex:769069] reasoning summaries: auto
[codex:769069] session id: 019b86cd-218e-7fb1-ad0c-efb81161f798
[codex:769069] --------
[codex:769069] user
[codex:769069] 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:769069]
[codex:769069] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:769069]
[codex:769069] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:769069] - Gas inefficiency, code quality, or best practices
[codex:769069] - Theoretical vulnerabilities without a clear extraction path
[codex:769069] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:769069] - Issues requiring social engineering or off-chain coordination
[codex:769069]
[codex:769069] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:769069] - CALL/DELEGATECALL with controllable destination or calldata
[codex:769069] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:769069] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:769069] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:769069] - External calls before state updates (reentrancy)
[codex:769069] - SELFDESTRUCT with controllable beneficiary
[codex:769069] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:769069]
[codex:769069] For each finding, you MUST explain:
[codex:769069] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:769069] 2. The concrete sequence of transactions to extract value
[codex:769069] 3. Why you believe this is exploitable (not just suspicious)
[codex:769069]
[codex:769069] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:769069] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:769069]
[codex:769069] Output MUST be valid JSON matching the provided schema.
[codex:769069] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:769069] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:769069] mcp startup: no servers
[codex:769069]
[codex:769069] thinking
[codex:769069] **Listing files with ripgrep**
[codex:769069] exec
[codex:769069] /bin/bash -lc ls in /tmp/codex-multi-kyps3kd8 succeeded in 5ms:
[codex:769069] BYTECODE_BUNDLE.txt
[codex:769069] codex-output-schema.json
[codex:769069] exec
[codex:769069] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-kyps3kd8 succeeded in 5ms:
[codex:769069] Runtime bytecode bundle for best-effort auditing.
[codex:769069] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:769069]
[codex:769069] FILE: runtime_bytecode.hex
[codex:769069] 0x6080604052600436106101405760003560e01c8063715018a6116100b6578063bd49dbd61161006f578063bd49dbd614610366578063c0422ca71461037c578063c2a672e01461039c578063cd6dc687146103d1578063f0f359b7146103f1578063f2fde38b1461040757600080fd5b8063715018a6146102bd5780638da5cb5b146102d2578063a023cf69146102f0578063aaf10f4214610306578063af46aa081461031b578063b69ef8a81461035157600080fd5b80634f1ef286116101085780634f1ef2861461020757806351ed6a301461021a5780635235934d1461025257806352d1902d146102685780635b4e128c1461027d5780636187db391461029d57600080fd5b8063020ea3661461014557806317c8ac6f146101855780632d2da806146101b25780633659cfe6146101c757806347e7ef24146101e7575b600080fd5b34801561015157600080fd5b50610172610160366004611541565b60ce6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561019157600080fd5b506101726101a0366004611541565b60cc6020526000908152604090205481565b6101c56101c0366004611541565b610427565b005b3480156101d357600080fd5b506101c56101e2366004611541565b6104e3565b3480156101f357600080fd5b506101c561020236600461155c565b6105ab565b6101c561021536600461159c565b610674565b34801561022657600080fd5b5060ca5461023a906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b34801561025e57600080fd5b5061017260cf5481565b34801561027457600080fd5b5061017261072d565b34801561028957600080fd5b506101c561029836600461165e565b6107e0565b3480156102a957600080fd5b5060c95461023a906001600160a01b031681565b3480156102c957600080fd5b506101c5610876565b3480156102de57600080fd5b506033546001600160a01b031661023a565b3480156102fc57600080fd5b5061017260cb5481565b34801561031257600080fd5b5061023a61088a565b34801561032757600080fd5b50610172610336366004611541565b6001600160a01b0316600090815260cc602052604090205490565b34801561035d57600080fd5b50610172610899565b34801561037257600080fd5b5061017260d05481565b34801561038857600080fd5b506101c5610397366004611541565b610906565b3480156103a857600080fd5b506103bc6103b736600461155c565b610930565b6040805192835260208301919091520161017c565b3480156103dd57600080fd5b506101c56103ec36600461155c565b610af4565b3480156103fd57600080fd5b5061017260cd5481565b34801561041357600080fd5b506101c5610422366004611541565b610be8565b60c9546001600160a01b0316331461045a5760405162461bcd60e51b815260040161045190611677565b60405180910390fd5b6001600160a01b038116600090815260ce602052604090205461047e9034906116c4565b6001600160a01b038216600081815260ce60205260409081902092909255905133907f46b2d0b3699bedf05eb8e43f94da2ce9fec6bca6f70ad78c66000c27aea73fe6906104d89034904790918252602082015260400190565b60405180910390a350565b6001600160a01b037f0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a16300361052b5760405162461bcd60e51b8152600401610451906116d7565b7f0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a6001600160a01b031661055d610c5e565b6001600160a01b0316146105835760405162461bcd60e51b815260040161045190611723565b61058c81610c7a565b604080516000808252602082019092526105a891839190610c82565b50565b60c9546001600160a01b031633146105d55760405162461bcd60e51b815260040161045190611677565b60ca546105ed906001600160a01b0316833084610ded565b6001600160a01b038216600090815260cc60205260409020546106119082906116c4565b6001600160a01b038316600081815260cc6020526040902091909155337fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d783610658610899565b6040805192835260208301919091520160405180910390a35050565b6001600160a01b037f0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a1630036106bc5760405162461bcd60e51b8152600401610451906116d7565b7f0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a6001600160a01b03166106ee610c5e565b6001600160a01b0316146107145760405162461bcd60e51b815260040161045190611723565b61071d82610c7a565b61072982826001610c82565b5050565b6000306001600160a01b037f0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a16146107cd5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610451565b5060008051602061190b83398151915290565b600054600290610100900460ff16158015610802575060005460ff8083169116105b61081e5760405162461bcd60e51b81526004016104519061176f565b6000805460cd84905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61087e610e5e565b6108886000610eb8565b565b6000610894610c5e565b905090565b60ca546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089491906117bd565b61090e610e5e565b60c980546001600160a01b0319166001600160a01b0392909216919091179055565b60c95460009081906001600160a01b0316331461095f5760405162461bcd60e51b815260040161045190611677565b50506001600160a01b038216600090815260cc602090815260408083205460ce9092529091205482156109d35761271061099984826117d6565b6109a390846117e9565b6109ad9190611808565b91506127106109bc84826117d6565b6109c690836117e9565b6109d09190611808565b90505b8115610a66576001600160a01b038416600090815260cc6020526040812081905560cf8054849290610a069084906116c4565b909155505060ca54610a22906001600160a01b03168584610f0a565b836001600160a01b03167f79d3df6837cc49ff0e09fd3258e6e45594e0703445bb06825e9d75156eaee8f083604051610a5d91815260200190565b60405180910390a25b8015610aed576001600160a01b038416600090815260ce6020526040812081905560d08054839290610a999084906116c4565b90915550610aa990508482610f3a565b836001600160a01b03167f773e71d46a0d136a08c72a434cc3371bcd2c79d47af572cc9854d714d557c27182604051610ae491815260200190565b60405180910390a25b9250929050565b600054610100900460ff1615808015610b145750600054600160ff909116105b80610b2e5750303b158015610b2e575060005460ff166001145b610b4a5760405162461bcd60e51b81526004016104519061176f565b6000805460ff191660011790558015610b6d576000805461ff0019166101001790555b610b75611053565b610b7d611082565b60ca80546001600160a01b0319166001600160a01b03851617905560cb8290558015610be3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610bf0610e5e565b6001600160a01b038116610c555760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610451565b6105a881610eb8565b60008051602061190b833981519152546001600160a01b031690565b6105a8610e5e565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610cb557610be3836110a9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d0f575060408051601f3d908101601f19168201909252610d0c918101906117bd565b60015b610d725760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610451565b60008051602061190b8339815191528114610de15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610451565b50610be3838383611145565b6040516001600160a01b0380851660248301528316604482015260648101829052610e589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261116a565b50505050565b6033546001600160a01b031633146108885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610451565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b038316602482015260448101829052610be390849063a9059cbb60e01b90606401610e21565b80471015610f8a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610451565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610fd7576040519150601f19603f3d011682016040523d82523d6000602084013e610fdc565b606091505b5050905080610be35760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610451565b600054610100900460ff1661107a5760405162461bcd60e51b81526004016104519061182a565b61088861123c565b600054610100900460ff166108885760405162461bcd60e51b81526004016104519061182a565b6001600160a01b0381163b6111165760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610451565b60008051602061190b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61114e8361126c565b60008251118061115b5750805b15610be357610e5883836112ac565b60006111bf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113a29092919063ffffffff16565b805190915015610be357808060200190518101906111dd9190611875565b610be35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610451565b600054610100900460ff166112635760405162461bcd60e51b81526004016104519061182a565b61088833610eb8565b611275816110a9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6113145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610451565b600080846001600160a01b03168460405161132f91906118bb565b600060405180830381855af49150503d806000811461136a576040519150601f19603f3d011682016040523d82523d6000602084013e61136f565b606091505b5091509150611397828260405180606001604052806027815260200161192b602791396113bb565b925050505b92915050565b60606113b184846000856113f4565b90505b9392505050565b606083156113ca5750816113b4565b8251156113da5782518084602001fd5b8160405162461bcd60e51b815260040161045191906118d7565b6060824710156114555760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610451565b6001600160a01b0385163b6114ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610451565b600080866001600160a01b031685876040516114c891906118bb565b60006040518083038185875af1925050503d8060008114611505576040519150601f19603f3d011682016040523d82523d6000602084013e61150a565b606091505b509150915061151a8282866113bb565b979650505050505050565b80356001600160a01b038116811461153c57600080fd5b919050565b60006020828403121561155357600080fd5b6113b482611525565b6000806040838503121561156f57600080fd5b61157883611525565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156115af57600080fd5b6115b883611525565b9150602083013567ffffffffffffffff808211156115d557600080fd5b818501915085601f8301126115e957600080fd5b8135818111156115fb576115fb611586565b604051601f8201601f19908116603f0116810190838211818310171561162357611623611586565b8160405282815288602084870101111561163c57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561167057600080fd5b5035919050565b60208082526017908201527f5374616b653a206f6e6c7920666f6f7462616c6c437570000000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561139c5761139c6116ae565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156117cf57600080fd5b5051919050565b8181038181111561139c5761139c6116ae565b6000816000190483118215151615611803576118036116ae565b500290565b60008261182557634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561188757600080fd5b815180151581146113b457600080fd5b60005b838110156118b257818101518382015260200161189a565b50506000910152565b600082516118cd818460208701611897565b9190910192915050565b60208152600082518060208401526118f6816040850160208701611897565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220486f75e9a4446b385054e23006f4fbc1bbbcff158b81c308cd62c17b8325701f64736f6c63430008100033
[codex:769069]
[codex:769069]
[codex:769069] thinking
[codex:769069] **Decoding and inspecting bytecode for vulnerabilities**
[codex:769069] thinking
[codex:769069] **Mapping function selectors and control flow**
[codex:769069]
[codex:769069] I’m parsing the jump and call patterns in bytecode to understand function boundaries and how ownership and access checks are implemented, especially around key functions like transferOwnership. I’ll write a Python script to disassemble the bytecode into offsets and opcodes so I can analyze control flow, verify access modifiers, and spot any unprotected calls. This will help me clarify if any function can be exploited.
[codex:769069] exec
[codex:769069] /bin/bash -lc "python - <<'PY'
[codex:769069] from binascii import unhexlify
[codex:769069] import textwrap,sys
[codex:769069]
[codex:769069] hexdata = open('/tmp/codex-multi-kyps3kd8/BYTECODE_BUNDLE.txt').read().split('FILE: runtime_bytecode.hex')[1]
[codex:769069] # extract 0x... line
[codex:769069] import re
[codex:769069] m = re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:769069] if not m:
[codex:769069] print('no hex found'); sys.exit()
[codex:769069] code = bytes.fromhex(m.group(1))
[codex:769069]
[codex:769069] # opcode table
[codex:769069] ops = {i:('PUSH'+str(i-0x5f), i-0x5f) for i in range(0x60,0x80)}
[codex:769069] # extend for PUSH32 0x7f
[codex:769069] # opcodes lengths
[codex:769069] opnames = {
[codex:769069] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',
[codex:769069] 0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:769069] 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:769069] 0x20:'SHA3',
[codex:769069] 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:769069] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:769069] 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:769069] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:769069] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:769069] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:769069] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:769069] }
[codex:769069]
[codex:769069] # merge
[codex:769069] opnames.update({i:ops[i][0] for i in ops})
[codex:769069]
[codex:769069] def disasm(start=0, end=None, max_ops=2000):
[codex:769069] i= start
[codex:769069] out=[]
[codex:769069] nops=0
[codex:769069] while i < len(code) and (end is None or i<end) and nops<max_ops:
[codex:769069] op = code[i]
[codex:769069] name = opnames.get(op, 'OP_%02x'%op)
[codex:769069] if 0x60 <= op <= 0x7f:
[codex:769069] pushlen = op-0x5f
[codex:769069] data = code[i+1:i+1+pushlen]
[codex:769069] out.append((i,name,data.hex()))
[codex:769069] i += 1+pushlen
[codex:769069] else:
[codex:769069] out.append((i,name,''))
[codex:769069] i +=1
[codex:769069] nops+=1
[codex:769069] return out
[codex:769069]
[codex:769069] # find JUMPDESTs for function entries? We'll print around known entry offsets from dispatch
[codex:769069] entries = [0x145,0x185,0x1b2,0x1c7,0x1e7,0x207,0x21a,0x252,0x268,0x27d,0x29d,0x2bd,0x2d2,0x2f0,0x306,0x31b,0x351,0x366,0x37c,0x39c,0x3d1,0x3f1,0x407]
[codex:769069]
[codex:769069] for e in entries:
[codex:769069] print('\\n=== entry',hex(e))
[codex:769069] for off,name,arg in disasm(e, end=e+120, max_ops=60):
[codex:769069] if arg:
[codex:769069] print(f\"{off:04x}: {name} {arg}\")
[codex:769069] else:
[codex:769069] print(f\"{off:04x}: {name}\")
[codex:769069]
[codex:769069] PY" in /tmp/codex-multi-kyps3kd8 succeeded in 31ms:
[codex:769069]
[codex:769069] === entry 0x145
[codex:769069] 0145: JUMPDEST
[codex:769069] 0146: CALLVALUE
[codex:769069] 0147: DUP1
[codex:769069] 0148: ISZERO
[codex:769069] 0149: PUSH2 0151
[codex:769069] 014c: JUMPI
[codex:769069] 014d: PUSH1 00
[codex:769069] 014f: DUP1
[codex:769069] 0150: REVERT
[codex:769069] 0151: JUMPDEST
[codex:769069] 0152: POP
[codex:769069] 0153: PUSH2 0172
[codex:769069] 0156: PUSH2 0160
[codex:769069] 0159: CALLDATASIZE
[codex:769069] 015a: PUSH1 04
[codex:769069] 015c: PUSH2 1541
[codex:769069] 015f: JUMP
[codex:769069] 0160: JUMPDEST
[codex:769069]
[codex:769069] thinking
[codex:769069] **Analyzing function bodies for value transfer**
[codex:769069] exec
[codex:769069] /bin/bash -lc "python - <<'PY'
[codex:769069] from binascii import unhexlify
[codex:769069] import re
[codex:769069] code = bytes.fromhex(re.search(r'0x([0-9a-fA-F]+)', open('/tmp/codex-multi-kyps3kd8/BYTECODE_BUNDLE.txt').read()).group(1))
[codex:769069]
[codex:769069] opnames = {
[codex:769069] 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:769069] 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:769069] 0x20:'SHA3',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:769069] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:769069] 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:769069] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:769069] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:769069] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:769069] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:769069] }
[codex:769069] for i in range(0x60,0x80):
[codex:769069] opnames[i] = f'PUSH{i-0x5f}'
[codex:769069]
[codex:769069]
[codex:769069] def disasm(start, end=None, max_ops=500):
[codex:769069] i=start
[codex:769069] out=[]
[codex:769069] n=0
[codex:769069] while i < len(code) and (end is None or i < end) and n<max_ops:
[codex:769069] op=code[i]
[codex:769069] name=opnames.get(op,f'OP_{op:02x}')
[codex:769069] if 0x60<=op<=0x7f:
[codex:769069] l=op-0x5f
[codex:769069] data=code[i+1:i+1+l]
[codex:769069] out.append((i,name,data.hex()))
[codex:769069] i+=1+l
[codex:769069] else:
[codex:769069] out.append((i,name,''))
[codex:769069] i+=1
[codex:769069] n+=1
[codex:769069] return out
[codex:769069]
[codex:769069] # choose offsets
[codex:769069] offsets = [0x427,0x4e3,0x5ab,0x674,0x72d,0x7e0,0x876,0x88a,0x899,0x906,0x930,0xaf4,0xbe8,0xc5e,0xc7a,0xded,0xe5e,0xeb8,0xf0a,0xf3a,0x1053,0x1082]
[codex:769069]
[codex:769069] for off in offsets:
[codex:769069] print('\\n=== disasm from',hex(off))
[codex:769069] for o,name,arg in disasm(off, end=off+200, max_ops=120):
[codex:769069] if arg:
[codex:769069] print(f\"{o:04x}: {name} {arg}\")
[codex:769069] else:
[codex:769069] print(f\"{o:04x}: {name}\")
[codex:769069] PY" in /tmp/codex-multi-kyps3kd8 succeeded in 29ms:
[codex:769069]
[codex:769069] === disasm from 0x427
[codex:769069] 0427: JUMPDEST
[codex:769069] 0428: PUSH1 c9
[codex:769069] 042a: SLOAD
[codex:769069] 042b: PUSH1 01
[codex:769069] 042d: PUSH1 01
[codex:769069] 042f: PUSH1 a0
[codex:769069] 0431: SHL
[codex:769069] 0432: SUB
[codex:769069] 0433: AND
[codex:769069] 0434: CALLER
[codex:769069] 0435: EQ
[codex:769069] 0436: PUSH2 045a
[codex:769069] 0439: JUMPI
[codex:769069] 043a: PUSH1 40
[codex:769069] 043c: MLOAD
[codex:769069] 043d: PUSH3 461bcd
[codex:769069] 0441: PUSH1 e5
[codex:769069] 0443: SHL
[codex:769069]
[codex:769069]
[codex:769069] thinking
[codex:769069] **Analyzing key contract functions and access controls**
[codex:769069]
[codex:769069] I'm mapping several functions to their behavior and access restrictions, focusing on one that allows a designated contract to deposit (likely a stake function), checks enforcing calls only through a proxy for upgrades, and upgrade functions protected by owner-only authorization. I'm carefully confirming ownership and proxy delegatecall checks to assess if any vulnerabilities or unauthorized access paths exist.
[codex:769069] thinking
[codex:769069] **Reviewing function selectors and access checks**
[codex:769069]
[codex:769069] I'm examining how functions decode parameters and their access restrictions, identifying which are owner-only, restricted to a specific contract, or public views. I’m particularly curious about the initialize function’s safeguards and if any externally callable functions could allow unauthorized state changes or transfers without proper permissions.
[codex:769069] exec
[codex:769069] /bin/bash -lc "python - <<'PY'
[codex:769069] from binascii import unhexlify
[codex:769069] import re
[codex:769069] code = bytes.fromhex(re.search(r'0x([0-9a-fA-F]+)', open('/tmp/codex-multi-kyps3kd8/BYTECODE_BUNDLE.txt').read()).group(1))
[codex:769069]
[codex:769069] opnames = {i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
[codex:769069] base = {
[codex:769069] 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:769069] 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:769069] 0x20:'SHA3',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:769069] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:769069] 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:769069] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:769069] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:769069] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:769069] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:769069] }
[codex:769069] opnames.update(base)
[codex:769069]
[codex:769069] def disasm(start, end=None, max_ops=400):
[codex:769069] i=start
[codex:769069] out=[]
[codex:769069] n=0
[codex:769069] while i < len(code) and (end is None or i<end) and n<max_ops:
[codex:769069] op=code[i]
[codex:769069] name=opnames.get(op,f'OP_{op:02x}')
[codex:769069] if 0x60<=op<=0x7f:
[codex:769069] l=op-0x5f
[codex:769069] data=code[i+1:i+1+l]
[codex:769069] out.append((i,name,data.hex()))
[codex:769069] i+=1+l
[codex:769069] else:
[codex:769069] out.append((i,name,''))
[codex:769069] i+=1
[codex:769069] n+=1
[codex:769069] return out
[codex:769069]
[codex:769069] for o,name,arg in disasm(0x09d0, end=0x0b00, max_ops=400):
[codex:769069] if arg:
[codex:769069] print(f\"{o:04x}: {name} {arg}\")
[codex:769069] else:
[codex:769069] print(f\"{o:04x}: {name}\")
[codex:769069] PY" in /tmp/codex-multi-kyps3kd8 succeeded in 26ms:
[codex:769069] 09d0: JUMPDEST
[codex:769069] 09d1: SWAP1
[codex:769069] 09d2: POP
[codex:769069] 09d3: JUMPDEST
[codex:769069] 09d4: DUP2
[codex:769069] 09d5: ISZERO
[codex:769069] 09d6: PUSH2 0a66
[codex:769069] 09d9: JUMPI
[codex:769069] 09da: PUSH1 01
[codex:769069] 09dc: PUSH1 01
[codex:769069] 09de: PUSH1 a0
[codex:769069] 09e0: SHL
[codex:769069] 09e1: SUB
[codex:769069] 09e2: DUP5
[codex:769069] 09e3: AND
[codex:769069] 09e4: PUSH1 00
[codex:769069] 09e6: SWAP1
[codex:769069] 09e7: DUP2
[codex:769069] 09e8: MSTORE
[codex:769069] 09e9: PUSH1 cc
[codex:769069]
[codex:769069] thinking
[codex:769069] **Analyzing token transfer and initialization functions**
[codex:769069]
[codex:769069] I'm tracing a function that handles token and ETH transfers, restricted to an authorized slot linked to footballCup, and checking whether ownership or initialization logic might allow unauthorized control. I'm now digging into how the initializer uses its parameters to verify if ownership could be seized through reinitialization or bypass.
[codex:769069] exec
[codex:769069] /bin/bash -lc "python - <<'PY'
[codex:769069] from binascii import unhexlify
[codex:769069] import re
[codex:769069] code = bytes.fromhex(re.search(r'0x([0-9a-fA-F]+)', open('/tmp/codex-multi-kyps3kd8/BYTECODE_BUNDLE.txt').read()).group(1))
[codex:769069]
[codex:769069] opnames = {i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
[codex:769069] base = {
[codex:769069] 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:769069] 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:769069] 0x20:'SHA3',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:769069] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:769069] 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:769069] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:769069] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:769069] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:769069] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:769069] }
[codex:769069] opnames.update(base)
[codex:769069]
[codex:769069] def disasm(start, end=None, max_ops=400):
[codex:769069] i=start
[codex:769069] out=[]
[codex:769069] n=0
[codex:769069] while i < len(code) and (end is None or i<end) and n<max_ops:
[codex:769069] op=code[i]
[codex:769069] name=opnames.get(op,f'OP_{op:02x}')
[codex:769069] if 0x60<=op<=0x7f:
[codex:769069] l=op-0x5f
[codex:769069] data=code[i+1:i+1+l]
[codex:769069] out.append((i,name,data.hex()))
[codex:769069] i+=1+l
[codex:769069] else:
[codex:769069] out.append((i,name,''))
[codex:769069] i+=1
[codex:769069] n+=1
[codex:769069] return out
[codex:769069]
[codex:769069] for o,name,arg in disasm(0x0b7d, end=0x0be3, max_ops=400):
[codex:769069] if arg:
[codex:769069] print(f\"{o:04x}: {name} {arg}\")
[codex:769069] else:
[codex:769069] print(f\"{o:04x}: {name}\")
[codex:769069] PY" in /tmp/codex-multi-kyps3kd8 succeeded in 24ms:
[codex:769069] 0b7d: JUMPDEST
[codex:769069] 0b7e: PUSH1 ca
[codex:769069] 0b80: DUP1
[codex:769069] 0b81: SLOAD
[codex:769069] 0b82: PUSH1 01
[codex:769069] 0b84: PUSH1 01
[codex:769069] 0b86: PUSH1 a0
[codex:769069] 0b88: SHL
[codex:769069] 0b89: SUB
[codex:769069] 0b8a: NOT
[codex:769069] 0b8b: AND
[codex:769069] 0b8c: PUSH1 01
[codex:769069] 0b8e: PUSH1 01
[codex:769069] 0b90: PUSH1 a0
[codex:769069] 0b92: SHL
[codex:769069] 0b93: SUB
[codex:769069] 0b94: DUP6
[codex:769069] 0b95: AND
[codex:769069] 0b96: OR
[codex:769069] 0b97: SWAP1
[codex:769069]
[codex:769069] thinking
[codex:769069] **Analyzing bytecode for exploits**
[codex:769069] codex
[codex:769069] {"no_findings":true,"summary":"No concrete, exploitable value‑extraction path is evident from the bytecode alone; state‑changing fund movement and upgrade paths appear gated by owner/authorized‑caller checks, and no unprotected value transfers or delegatecall control were identified.","findings":[]}
[codex:769069] tokens used
[codex:769069] 104,711
[codex:769069] {"no_findings":true,"summary":"No concrete, exploitable value‑extraction path is evident from the bytecode alone; state‑changing fund movement and upgrade paths appear gated by owner/authorized‑caller checks, and no unprotected value transfers or delegatecall control were identified.","findings":[]}
{
"codex": {
"ran_at": "2026-01-04T02:25:50.747521+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable value\u2011extraction path is evident from the bytecode alone; state\u2011changing fund movement and upgrade paths appear gated by owner/authorized\u2011caller checks, and no unprotected value transfers or delegatecall control were identified.",
"raw_final": {
"summary": "No concrete, exploitable value\u2011extraction path is evident from the bytecode alone; state\u2011changing fund movement and upgrade paths appear gated by owner/authorized\u2011caller checks, and no unprotected value transfers or delegatecall control were identified.",
"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 0x0140 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x715018a6 00000019: GT 0000001a: PUSH2 0x00b6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbd49dbd6 00000024: GT 00000025: PUSH2 0x006f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xbd49dbd6 0000002f: EQ 00000030: PUSH2 0x0366 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc0422ca7 0000003a: EQ 0000003b: PUSH2 0x037c 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xc2a672e0 00000045: EQ 00000046: PUSH2 0x039c 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xcd6dc687 00000050: EQ 00000051: PUSH2 0x03d1 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf0f359b7 0000005b: EQ 0000005c: PUSH2 0x03f1 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x0407 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0x715018a6 00000076: EQ 00000077: PUSH2 0x02bd 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0x8da5cb5b 00000081: EQ 00000082: PUSH2 0x02d2 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xa023cf69 0000008c: EQ 0000008d: PUSH2 0x02f0 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xaaf10f42 00000097: EQ 00000098: PUSH2 0x0306 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xaf46aa08 000000a2: EQ 000000a3: PUSH2 0x031b 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xb69ef8a8 000000ad: EQ 000000ae: PUSH2 0x0351 000000b1: JUMPI 000000b2: PUSH1 0x00 000000b4: DUP1 000000b5: REVERT 000000b6: JUMPDEST 000000b7: DUP1 000000b8: PUSH4 0x4f1ef286 000000bd: GT 000000be: PUSH2 0x0108 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x4f1ef286 000000c8: EQ 000000c9: PUSH2 0x0207 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x51ed6a30 000000d3: EQ 000000d4: PUSH2 0x021a 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x5235934d 000000de: EQ 000000df: PUSH2 0x0252 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x52d1902d 000000e9: EQ 000000ea: PUSH2 0x0268 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x5b4e128c 000000f4: EQ 000000f5: PUSH2 0x027d 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x6187db39 000000ff: EQ 00000100: PUSH2 0x029d 00000103: JUMPI 00000104: PUSH1 0x00 00000106: DUP1 00000107: REVERT 00000108: JUMPDEST 00000109: DUP1 0000010a: PUSH4 0x020ea366 0000010f: EQ 00000110: PUSH2 0x0145 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x17c8ac6f 0000011a: EQ 0000011b: PUSH2 0x0185 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x2d2da806 00000125: EQ 00000126: PUSH2 0x01b2 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x3659cfe6 00000130: EQ 00000131: PUSH2 0x01c7 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x47e7ef24 0000013b: EQ 0000013c: PUSH2 0x01e7 0000013f: JUMPI 00000140: JUMPDEST 00000141: PUSH1 0x00 00000143: DUP1 00000144: REVERT 00000145: JUMPDEST 00000146: CALLVALUE 00000147: DUP1 00000148: ISZERO 00000149: PUSH2 0x0151 0000014c: JUMPI 0000014d: PUSH1 0x00 0000014f: DUP1 00000150: REVERT 00000151: JUMPDEST 00000152: POP 00000153: PUSH2 0x0172 00000156: PUSH2 0x0160 00000159: CALLDATASIZE 0000015a: PUSH1 0x04 0000015c: PUSH2 0x1541 0000015f: JUMP 00000160: JUMPDEST 00000161: PUSH1 0xce 00000163: PUSH1 0x20 00000165: MSTORE 00000166: PUSH1 0x00 00000168: SWAP1 00000169: DUP2 0000016a: MSTORE 0000016b: PUSH1 0x40 0000016d: SWAP1 0000016e: KECCAK256 0000016f: SLOAD 00000170: DUP2 00000171: JUMP 00000172: JUMPDEST 00000173: PUSH1 0x40 00000175: MLOAD 00000176: SWAP1 00000177: DUP2 00000178: MSTORE 00000179: PUSH1 0x20 0000017b: ADD 0000017c: JUMPDEST 0000017d: PUSH1 0x40 0000017f: MLOAD 00000180: DUP1 00000181: SWAP2 00000182: SUB 00000183: SWAP1 00000184: RETURN 00000185: JUMPDEST 00000186: CALLVALUE 00000187: DUP1 00000188: ISZERO 00000189: PUSH2 0x0191 0000018c: JUMPI 0000018d: PUSH1 0x00 0000018f: DUP1 00000190: REVERT 00000191: JUMPDEST 00000192: POP 00000193: PUSH2 0x0172 00000196: PUSH2 0x01a0 00000199: CALLDATASIZE 0000019a: PUSH1 0x04 0000019c: PUSH2 0x1541 0000019f: JUMP 000001a0: JUMPDEST 000001a1: PUSH1 0xcc 000001a3: PUSH1 0x20 000001a5: MSTORE 000001a6: PUSH1 0x00 000001a8: SWAP1 000001a9: DUP2 000001aa: MSTORE 000001ab: PUSH1 0x40 000001ad: SWAP1 000001ae: KECCAK256 000001af: SLOAD 000001b0: DUP2 000001b1: JUMP 000001b2: JUMPDEST 000001b3: PUSH2 0x01c5 000001b6: PUSH2 0x01c0 000001b9: CALLDATASIZE 000001ba: PUSH1 0x04 000001bc: PUSH2 0x1541 000001bf: JUMP 000001c0: JUMPDEST 000001c1: PUSH2 0x0427 000001c4: JUMP 000001c5: JUMPDEST 000001c6: STOP 000001c7: JUMPDEST 000001c8: CALLVALUE 000001c9: DUP1 000001ca: ISZERO 000001cb: PUSH2 0x01d3 000001ce: JUMPI 000001cf: PUSH1 0x00 000001d1: DUP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: POP 000001d5: PUSH2 0x01c5 000001d8: PUSH2 0x01e2 000001db: CALLDATASIZE 000001dc: PUSH1 0x04 000001de: PUSH2 0x1541 000001e1: JUMP 000001e2: JUMPDEST 000001e3: PUSH2 0x04e3 000001e6: JUMP 000001e7: JUMPDEST 000001e8: CALLVALUE 000001e9: DUP1 000001ea: ISZERO 000001eb: PUSH2 0x01f3 000001ee: JUMPI 000001ef: PUSH1 0x00 000001f1: DUP1 000001f2: REVERT 000001f3: JUMPDEST 000001f4: POP 000001f5: PUSH2 0x01c5 000001f8: PUSH2 0x0202 000001fb: CALLDATASIZE 000001fc: PUSH1 0x04 000001fe: PUSH2 0x155c 00000201: JUMP 00000202: JUMPDEST 00000203: PUSH2 0x05ab 00000206: JUMP 00000207: JUMPDEST 00000208: PUSH2 0x01c5 0000020b: PUSH2 0x0215 0000020e: CALLDATASIZE 0000020f: PUSH1 0x04 00000211: PUSH2 0x159c 00000214: JUMP 00000215: JUMPDEST 00000216: PUSH2 0x0674 00000219: JUMP 0000021a: JUMPDEST 0000021b: CALLVALUE 0000021c: DUP1 0000021d: ISZERO 0000021e: PUSH2 0x0226 00000221: JUMPI 00000222: PUSH1 0x00 00000224: DUP1 00000225: REVERT 00000226: JUMPDEST 00000227: POP 00000228: PUSH1 0xca 0000022a: SLOAD 0000022b: PUSH2 0x023a 0000022e: SWAP1 0000022f: PUSH1 0x01 00000231: PUSH1 0x01 00000233: PUSH1 0xa0 00000235: SHL 00000236: SUB 00000237: AND 00000238: DUP2 00000239: JUMP 0000023a: JUMPDEST 0000023b: PUSH1 0x40 0000023d: MLOAD 0000023e: PUSH1 0x01 00000240: PUSH1 0x01 00000242: PUSH1 0xa0 00000244: SHL 00000245: SUB 00000246: SWAP1 00000247: SWAP2 00000248: AND 00000249: DUP2 0000024a: MSTORE 0000024b: PUSH1 0x20 0000024d: ADD 0000024e: PUSH2 0x017c 00000251: JUMP 00000252: JUMPDEST 00000253: CALLVALUE 00000254: DUP1 00000255: ISZERO 00000256: PUSH2 0x025e 00000259: JUMPI 0000025a: PUSH1 0x00 0000025c: DUP1 0000025d: REVERT 0000025e: JUMPDEST 0000025f: POP 00000260: PUSH2 0x0172 00000263: PUSH1 0xcf 00000265: SLOAD 00000266: DUP2 00000267: JUMP 00000268: JUMPDEST 00000269: CALLVALUE 0000026a: DUP1 0000026b: ISZERO 0000026c: PUSH2 0x0274 0000026f: JUMPI 00000270: PUSH1 0x00 00000272: DUP1 00000273: REVERT 00000274: JUMPDEST 00000275: POP 00000276: PUSH2 0x0172 00000279: PUSH2 0x072d 0000027c: JUMP 0000027d: JUMPDEST 0000027e: CALLVALUE 0000027f: DUP1 00000280: ISZERO 00000281: PUSH2 0x0289 00000284: JUMPI 00000285: PUSH1 0x00 00000287: DUP1 00000288: REVERT 00000289: JUMPDEST 0000028a: POP 0000028b: PUSH2 0x01c5 0000028e: PUSH2 0x0298 00000291: CALLDATASIZE 00000292: PUSH1 0x04 00000294: PUSH2 0x165e 00000297: JUMP 00000298: JUMPDEST 00000299: PUSH2 0x07e0 0000029c: JUMP 0000029d: JUMPDEST 0000029e: CALLVALUE 0000029f: DUP1 000002a0: ISZERO 000002a1: PUSH2 0x02a9 000002a4: JUMPI 000002a5: PUSH1 0x00 000002a7: DUP1 000002a8: REVERT 000002a9: JUMPDEST 000002aa: POP 000002ab: PUSH1 0xc9 000002ad: SLOAD 000002ae: PUSH2 0x023a 000002b1: SWAP1 000002b2: PUSH1 0x01 000002b4: PUSH1 0x01 000002b6: PUSH1 0xa0 000002b8: SHL 000002b9: SUB 000002ba: AND 000002bb: DUP2 000002bc: JUMP 000002bd: JUMPDEST 000002be: CALLVALUE 000002bf: DUP1 000002c0: ISZERO 000002c1: PUSH2 0x02c9 000002c4: JUMPI 000002c5: PUSH1 0x00 000002c7: DUP1 000002c8: REVERT 000002c9: JUMPDEST 000002ca: POP 000002cb: PUSH2 0x01c5 000002ce: PUSH2 0x0876 000002d1: JUMP 000002d2: JUMPDEST 000002d3: CALLVALUE 000002d4: DUP1 000002d5: ISZERO 000002d6: PUSH2 0x02de 000002d9: JUMPI 000002da: PUSH1 0x00 000002dc: DUP1 000002dd: REVERT 000002de: JUMPDEST 000002df: POP 000002e0: PUSH1 0x33 000002e2: SLOAD 000002e3: PUSH1 0x01 000002e5: PUSH1 0x01 000002e7: PUSH1 0xa0 000002e9: SHL 000002ea: SUB 000002eb: AND 000002ec: PUSH2 0x023a 000002ef: JUMP 000002f0: JUMPDEST 000002f1: CALLVALUE 000002f2: DUP1 000002f3: ISZERO 000002f4: PUSH2 0x02fc 000002f7: JUMPI 000002f8: PUSH1 0x00 000002fa: DUP1 000002fb: REVERT 000002fc: JUMPDEST 000002fd: POP 000002fe: PUSH2 0x0172 00000301: PUSH1 0xcb 00000303: SLOAD 00000304: DUP2 00000305: JUMP 00000306: JUMPDEST 00000307: CALLVALUE 00000308: DUP1 00000309: ISZERO 0000030a: PUSH2 0x0312 0000030d: JUMPI 0000030e: PUSH1 0x00 00000310: DUP1 00000311: REVERT 00000312: JUMPDEST 00000313: POP 00000314: PUSH2 0x023a 00000317: PUSH2 0x088a 0000031a: JUMP 0000031b: JUMPDEST 0000031c: CALLVALUE 0000031d: DUP1 0000031e: ISZERO 0000031f: PUSH2 0x0327 00000322: JUMPI 00000323: PUSH1 0x00 00000325: DUP1 00000326: REVERT 00000327: JUMPDEST 00000328: POP 00000329: PUSH2 0x0172 0000032c: PUSH2 0x0336 0000032f: CALLDATASIZE 00000330: PUSH1 0x04 00000332: PUSH2 0x1541 00000335: JUMP 00000336: JUMPDEST 00000337: PUSH1 0x01 00000339: PUSH1 0x01 0000033b: PUSH1 0xa0 0000033d: SHL 0000033e: SUB 0000033f: AND 00000340: PUSH1 0x00 00000342: SWAP1 00000343: DUP2 00000344: MSTORE 00000345: PUSH1 0xcc 00000347: PUSH1 0x20 00000349: MSTORE 0000034a: PUSH1 0x40 0000034c: SWAP1 0000034d: KECCAK256 0000034e: SLOAD 0000034f: SWAP1 00000350: JUMP 00000351: JUMPDEST 00000352: CALLVALUE 00000353: DUP1 00000354: ISZERO 00000355: PUSH2 0x035d 00000358: JUMPI 00000359: PUSH1 0x00 0000035b: DUP1 0000035c: REVERT 0000035d: JUMPDEST 0000035e: POP 0000035f: PUSH2 0x0172 00000362: PUSH2 0x0899 00000365: JUMP 00000366: JUMPDEST 00000367: CALLVALUE 00000368: DUP1 00000369: ISZERO 0000036a: PUSH2 0x0372 0000036d: JUMPI 0000036e: PUSH1 0x00 00000370: DUP1 00000371: REVERT 00000372: JUMPDEST 00000373: POP 00000374: PUSH2 0x0172 00000377: PUSH1 0xd0 00000379: SLOAD 0000037a: DUP2 0000037b: JUMP 0000037c: JUMPDEST 0000037d: CALLVALUE 0000037e: DUP1 0000037f: ISZERO 00000380: PUSH2 0x0388 00000383: JUMPI 00000384: PUSH1 0x00 00000386: DUP1 00000387: REVERT 00000388: JUMPDEST 00000389: POP 0000038a: PUSH2 0x01c5 0000038d: PUSH2 0x0397 00000390: CALLDATASIZE 00000391: PUSH1 0x04 00000393: PUSH2 0x1541 00000396: JUMP 00000397: JUMPDEST 00000398: PUSH2 0x0906 0000039b: JUMP 0000039c: JUMPDEST 0000039d: CALLVALUE 0000039e: DUP1 0000039f: ISZERO 000003a0: PUSH2 0x03a8 000003a3: JUMPI 000003a4: PUSH1 0x00 000003a6: DUP1 000003a7: REVERT 000003a8: JUMPDEST 000003a9: POP 000003aa: PUSH2 0x03bc 000003ad: PUSH2 0x03b7 000003b0: CALLDATASIZE 000003b1: PUSH1 0x04 000003b3: PUSH2 0x155c 000003b6: JUMP 000003b7: JUMPDEST 000003b8: PUSH2 0x0930 000003bb: JUMP 000003bc: JUMPDEST 000003bd: PUSH1 0x40 000003bf: DUP1 000003c0: MLOAD 000003c1: SWAP3 000003c2: DUP4 000003c3: MSTORE 000003c4: PUSH1 0x20 000003c6: DUP4 000003c7: ADD 000003c8: SWAP2 000003c9: SWAP1 000003ca: SWAP2 000003cb: MSTORE 000003cc: ADD 000003cd: PUSH2 0x017c 000003d0: JUMP 000003d1: JUMPDEST 000003d2: CALLVALUE 000003d3: DUP1 000003d4: ISZERO 000003d5: PUSH2 0x03dd 000003d8: JUMPI 000003d9: PUSH1 0x00 000003db: DUP1 000003dc: REVERT 000003dd: JUMPDEST 000003de: POP 000003df: PUSH2 0x01c5 000003e2: PUSH2 0x03ec 000003e5: CALLDATASIZE 000003e6: PUSH1 0x04 000003e8: PUSH2 0x155c 000003eb: JUMP 000003ec: JUMPDEST 000003ed: PUSH2 0x0af4 000003f0: JUMP 000003f1: JUMPDEST 000003f2: CALLVALUE 000003f3: DUP1 000003f4: ISZERO 000003f5: PUSH2 0x03fd 000003f8: JUMPI 000003f9: PUSH1 0x00 000003fb: DUP1 000003fc: REVERT 000003fd: JUMPDEST 000003fe: POP 000003ff: PUSH2 0x0172 00000402: PUSH1 0xcd 00000404: SLOAD 00000405: DUP2 00000406: JUMP 00000407: JUMPDEST 00000408: CALLVALUE 00000409: DUP1 0000040a: ISZERO 0000040b: PUSH2 0x0413 0000040e: JUMPI 0000040f: PUSH1 0x00 00000411: DUP1 00000412: REVERT 00000413: JUMPDEST 00000414: POP 00000415: PUSH2 0x01c5 00000418: PUSH2 0x0422 0000041b: CALLDATASIZE 0000041c: PUSH1 0x04 0000041e: PUSH2 0x1541 00000421: JUMP 00000422: JUMPDEST 00000423: PUSH2 0x0be8 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH1 0xc9 0000042a: SLOAD 0000042b: PUSH1 0x01 0000042d: PUSH1 0x01 0000042f: PUSH1 0xa0 00000431: SHL 00000432: SUB 00000433: AND 00000434: CALLER 00000435: EQ 00000436: PUSH2 0x045a 00000439: JUMPI 0000043a: PUSH1 0x40 0000043c: MLOAD 0000043d: PUSH3 0x461bcd 00000441: PUSH1 0xe5 00000443: SHL 00000444: DUP2 00000445: MSTORE 00000446: PUSH1 0x04 00000448: ADD 00000449: PUSH2 0x0451 0000044c: SWAP1 0000044d: PUSH2 0x1677 00000450: JUMP 00000451: JUMPDEST 00000452: PUSH1 0x40 00000454: MLOAD 00000455: DUP1 00000456: SWAP2 00000457: SUB 00000458: SWAP1 00000459: REVERT 0000045a: JUMPDEST 0000045b: PUSH1 0x01 0000045d: PUSH1 0x01 0000045f: PUSH1 0xa0 00000461: SHL 00000462: SUB 00000463: DUP2 00000464: AND 00000465: PUSH1 0x00 00000467: SWAP1 00000468: DUP2 00000469: MSTORE 0000046a: PUSH1 0xce 0000046c: PUSH1 0x20 0000046e: MSTORE 0000046f: PUSH1 0x40 00000471: SWAP1 00000472: KECCAK256 00000473: SLOAD 00000474: PUSH2 0x047e 00000477: SWAP1 00000478: CALLVALUE 00000479: SWAP1 0000047a: PUSH2 0x16c4 0000047d: JUMP 0000047e: JUMPDEST 0000047f: PUSH1 0x01 00000481: PUSH1 0x01 00000483: PUSH1 0xa0 00000485: SHL 00000486: SUB 00000487: DUP3 00000488: AND 00000489: PUSH1 0x00 0000048b: DUP2 0000048c: DUP2 0000048d: MSTORE 0000048e: PUSH1 0xce 00000490: PUSH1 0x20 00000492: MSTORE 00000493: PUSH1 0x40 00000495: SWAP1 00000496: DUP2 00000497: SWAP1 00000498: KECCAK256 00000499: SWAP3 0000049a: SWAP1 0000049b: SWAP3 0000049c: SSTORE 0000049d: SWAP1 0000049e: MLOAD 0000049f: CALLER 000004a0: SWAP1 000004a1: PUSH32 0x46b2d0b3699bedf05eb8e43f94da2ce9fec6bca6f70ad78c66000c27aea73fe6 000004c2: SWAP1 000004c3: PUSH2 0x04d8 000004c6: SWAP1 000004c7: CALLVALUE 000004c8: SWAP1 000004c9: SELFBALANCE 000004ca: SWAP1 000004cb: SWAP2 000004cc: DUP3 000004cd: MSTORE 000004ce: PUSH1 0x20 000004d0: DUP3 000004d1: ADD 000004d2: MSTORE 000004d3: PUSH1 0x40 000004d5: ADD 000004d6: SWAP1 000004d7: JUMP 000004d8: JUMPDEST 000004d9: PUSH1 0x40 000004db: MLOAD 000004dc: DUP1 000004dd: SWAP2 000004de: SUB 000004df: SWAP1 000004e0: LOG3 000004e1: POP 000004e2: JUMP 000004e3: JUMPDEST 000004e4: PUSH1 0x01 000004e6: PUSH1 0x01 000004e8: PUSH1 0xa0 000004ea: SHL 000004eb: SUB 000004ec: PUSH32 0x0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a 0000050d: AND 0000050e: ADDRESS 0000050f: SUB 00000510: PUSH2 0x052b 00000513: JUMPI 00000514: PUSH1 0x40 00000516: MLOAD 00000517: PUSH3 0x461bcd 0000051b: PUSH1 0xe5 0000051d: SHL 0000051e: DUP2 0000051f: MSTORE 00000520: PUSH1 0x04 00000522: ADD 00000523: PUSH2 0x0451 00000526: SWAP1 00000527: PUSH2 0x16d7 0000052a: JUMP 0000052b: JUMPDEST 0000052c: PUSH32 0x0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a 0000054d: PUSH1 0x01 0000054f: PUSH1 0x01 00000551: PUSH1 0xa0 00000553: SHL 00000554: SUB 00000555: AND 00000556: PUSH2 0x055d 00000559: PUSH2 0x0c5e 0000055c: JUMP 0000055d: JUMPDEST 0000055e: PUSH1 0x01 00000560: PUSH1 0x01 00000562: PUSH1 0xa0 00000564: SHL 00000565: SUB 00000566: AND 00000567: EQ 00000568: PUSH2 0x0583 0000056b: JUMPI 0000056c: PUSH1 0x40 0000056e: MLOAD 0000056f: PUSH3 0x461bcd 00000573: PUSH1 0xe5 00000575: SHL 00000576: DUP2 00000577: MSTORE 00000578: PUSH1 0x04 0000057a: ADD 0000057b: PUSH2 0x0451 0000057e: SWAP1 0000057f: PUSH2 0x1723 00000582: JUMP 00000583: JUMPDEST 00000584: PUSH2 0x058c 00000587: DUP2 00000588: PUSH2 0x0c7a 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH1 0x40 0000058f: DUP1 00000590: MLOAD 00000591: PUSH1 0x00 00000593: DUP1 00000594: DUP3 00000595: MSTORE 00000596: PUSH1 0x20 00000598: DUP3 00000599: ADD 0000059a: SWAP1 0000059b: SWAP3 0000059c: MSTORE 0000059d: PUSH2 0x05a8 000005a0: SWAP2 000005a1: DUP4 000005a2: SWAP2 000005a3: SWAP1 000005a4: PUSH2 0x0c82 000005a7: JUMP 000005a8: JUMPDEST 000005a9: POP 000005aa: JUMP 000005ab: JUMPDEST 000005ac: PUSH1 0xc9 000005ae: SLOAD 000005af: PUSH1 0x01 000005b1: PUSH1 0x01 000005b3: PUSH1 0xa0 000005b5: SHL 000005b6: SUB 000005b7: AND 000005b8: CALLER 000005b9: EQ 000005ba: PUSH2 0x05d5 000005bd: JUMPI 000005be: PUSH1 0x40 000005c0: MLOAD 000005c1: PUSH3 0x461bcd 000005c5: PUSH1 0xe5 000005c7: SHL 000005c8: DUP2 000005c9: MSTORE 000005ca: PUSH1 0x04 000005cc: ADD 000005cd: PUSH2 0x0451 000005d0: SWAP1 000005d1: PUSH2 0x1677 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH1 0xca 000005d8: SLOAD 000005d9: PUSH2 0x05ed 000005dc: SWAP1 000005dd: PUSH1 0x01 000005df: PUSH1 0x01 000005e1: PUSH1 0xa0 000005e3: SHL 000005e4: SUB 000005e5: AND 000005e6: DUP4 000005e7: ADDRESS 000005e8: DUP5 000005e9: PUSH2 0x0ded 000005ec: JUMP 000005ed: JUMPDEST 000005ee: PUSH1 0x01 000005f0: PUSH1 0x01 000005f2: PUSH1 0xa0 000005f4: SHL 000005f5: SUB 000005f6: DUP3 000005f7: AND 000005f8: PUSH1 0x00 000005fa: SWAP1 000005fb: DUP2 000005fc: MSTORE 000005fd: PUSH1 0xcc 000005ff: PUSH1 0x20 00000601: MSTORE 00000602: PUSH1 0x40 00000604: SWAP1 00000605: KECCAK256 00000606: SLOAD 00000607: PUSH2 0x0611 0000060a: SWAP1 0000060b: DUP3 0000060c: SWAP1 0000060d: PUSH2 0x16c4 00000610: JUMP 00000611: JUMPDEST 00000612: PUSH1 0x01 00000614: PUSH1 0x01 00000616: PUSH1 0xa0 00000618: SHL 00000619: SUB 0000061a: DUP4 0000061b: AND 0000061c: PUSH1 0x00 0000061e: DUP2 0000061f: DUP2 00000620: MSTORE 00000621: PUSH1 0xcc 00000623: PUSH1 0x20 00000625: MSTORE 00000626: PUSH1 0x40 00000628: SWAP1 00000629: KECCAK256 0000062a: SWAP2 0000062b: SWAP1 0000062c: SWAP2 0000062d: SSTORE 0000062e: CALLER 0000062f: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00000650: DUP4 00000651: PUSH2 0x0658 00000654: PUSH2 0x0899 00000657: JUMP 00000658: JUMPDEST 00000659: PUSH1 0x40 0000065b: DUP1 0000065c: MLOAD 0000065d: SWAP3 0000065e: DUP4 0000065f: MSTORE 00000660: PUSH1 0x20 00000662: DUP4 00000663: ADD 00000664: SWAP2 00000665: SWAP1 00000666: SWAP2 00000667: MSTORE 00000668: ADD 00000669: PUSH1 0x40 0000066b: MLOAD 0000066c: DUP1 0000066d: SWAP2 0000066e: SUB 0000066f: SWAP1 00000670: LOG3 00000671: POP 00000672: POP 00000673: JUMP 00000674: JUMPDEST 00000675: PUSH1 0x01 00000677: PUSH1 0x01 00000679: PUSH1 0xa0 0000067b: SHL 0000067c: SUB 0000067d: PUSH32 0x0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a 0000069e: AND 0000069f: ADDRESS 000006a0: SUB 000006a1: PUSH2 0x06bc 000006a4: JUMPI 000006a5: PUSH1 0x40 000006a7: MLOAD 000006a8: PUSH3 0x461bcd 000006ac: PUSH1 0xe5 000006ae: SHL 000006af: DUP2 000006b0: MSTORE 000006b1: PUSH1 0x04 000006b3: ADD 000006b4: PUSH2 0x0451 000006b7: SWAP1 000006b8: PUSH2 0x16d7 000006bb: JUMP 000006bc: JUMPDEST 000006bd: PUSH32 0x0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a 000006de: PUSH1 0x01 000006e0: PUSH1 0x01 000006e2: PUSH1 0xa0 000006e4: SHL 000006e5: SUB 000006e6: AND 000006e7: PUSH2 0x06ee 000006ea: PUSH2 0x0c5e 000006ed: JUMP 000006ee: JUMPDEST 000006ef: PUSH1 0x01 000006f1: PUSH1 0x01 000006f3: PUSH1 0xa0 000006f5: SHL 000006f6: SUB 000006f7: AND 000006f8: EQ 000006f9: PUSH2 0x0714 000006fc: JUMPI 000006fd: PUSH1 0x40 000006ff: MLOAD 00000700: PUSH3 0x461bcd 00000704: PUSH1 0xe5 00000706: SHL 00000707: DUP2 00000708: MSTORE 00000709: PUSH1 0x04 0000070b: ADD 0000070c: PUSH2 0x0451 0000070f: SWAP1 00000710: PUSH2 0x1723 00000713: JUMP 00000714: JUMPDEST 00000715: PUSH2 0x071d 00000718: DUP3 00000719: PUSH2 0x0c7a 0000071c: JUMP 0000071d: JUMPDEST 0000071e: PUSH2 0x0729 00000721: DUP3 00000722: DUP3 00000723: PUSH1 0x01 00000725: PUSH2 0x0c82 00000728: JUMP 00000729: JUMPDEST 0000072a: POP 0000072b: POP 0000072c: JUMP 0000072d: JUMPDEST 0000072e: PUSH1 0x00 00000730: ADDRESS 00000731: PUSH1 0x01 00000733: PUSH1 0x01 00000735: PUSH1 0xa0 00000737: SHL 00000738: SUB 00000739: PUSH32 0x0000000000000000000000006c2b857a901370b1758f39329dd07360c16bd46a 0000075a: AND 0000075b: EQ 0000075c: PUSH2 0x07cd 0000075f: JUMPI 00000760: PUSH1 0x40 00000762: MLOAD 00000763: PUSH3 0x461bcd 00000767: PUSH1 0xe5 00000769: SHL 0000076a: DUP2 0000076b: MSTORE 0000076c: PUSH1 0x20 0000076e: PUSH1 0x04 00000770: DUP3 00000771: ADD 00000772: MSTORE 00000773: PUSH1 0x38 00000775: PUSH1 0x24 00000777: DUP3 00000778: ADD 00000779: MSTORE 0000077a: PUSH32 0x555550535570677261646561626c653a206d757374206e6f742062652063616c 0000079b: PUSH1 0x44 0000079d: DUP3 0000079e: ADD 0000079f: MSTORE 000007a0: PUSH32 0x6c6564207468726f7567682064656c656761746563616c6c0000000000000000 000007c1: PUSH1 0x64 000007c3: DUP3 000007c4: ADD 000007c5: MSTORE 000007c6: PUSH1 0x84 000007c8: ADD 000007c9: PUSH2 0x0451 000007cc: JUMP 000007cd: JUMPDEST 000007ce: POP 000007cf: PUSH1 0x00 000007d1: DUP1 000007d2: MLOAD 000007d3: PUSH1 0x20 000007d5: PUSH2 0x190b 000007d8: DUP4 000007d9: CODECOPY 000007da: DUP2 000007db: MLOAD 000007dc: SWAP2 000007dd: MSTORE 000007de: SWAP1 000007df: JUMP 000007e0: JUMPDEST 000007e1: PUSH1 0x00 000007e3: SLOAD 000007e4: PUSH1 0x02 000007e6: SWAP1 000007e7: PUSH2 0x0100 000007ea: SWAP1 000007eb: DIV 000007ec: PUSH1 0xff 000007ee: AND 000007ef: ISZERO 000007f0: DUP1 000007f1: ISZERO 000007f2: PUSH2 0x0802 000007f5: JUMPI 000007f6: POP 000007f7: PUSH1 0x00 000007f9: SLOAD 000007fa: PUSH1 0xff 000007fc: DUP1 000007fd: DUP4 000007fe: AND 000007ff: SWAP2 00000800: AND 00000801: LT 00000802: JUMPDEST 00000803: PUSH2 0x081e 00000806: JUMPI 00000807: PUSH1 0x40 00000809: MLOAD 0000080a: PUSH3 0x461bcd 0000080e: PUSH1 0xe5 00000810: SHL 00000811: DUP2 00000812: MSTORE 00000813: PUSH1 0x04 00000815: ADD 00000816: PUSH2 0x0451 00000819: SWAP1 0000081a: PUSH2 0x176f 0000081d: JUMP 0000081e: JUMPDEST 0000081f: PUSH1 0x00 00000821: DUP1 00000822: SLOAD 00000823: PUSH1 0xcd 00000825: DUP5 00000826: SWAP1 00000827: SSTORE 00000828: PUSH2 0xffff 0000082b: NOT 0000082c: AND 0000082d: PUSH1 0xff 0000082f: DUP4 00000830: AND 00000831: SWAP1 00000832: DUP2 00000833: OR 00000834: PUSH2 0x0100 00000837: OR 00000838: PUSH2 0xff00 0000083b: NOT 0000083c: AND 0000083d: SWAP1 0000083e: SWAP2 0000083f: SSTORE 00000840: PUSH1 0x40 00000842: MLOAD 00000843: SWAP1 00000844: DUP2 00000845: MSTORE 00000846: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000867: SWAP1 00000868: PUSH1 0x20 0000086a: ADD 0000086b: PUSH1 0x40 0000086d: MLOAD 0000086e: DUP1 0000086f: SWAP2 00000870: SUB 00000871: SWAP1 00000872: LOG1 00000873: POP 00000874: POP 00000875: JUMP 00000876: JUMPDEST 00000877: PUSH2 0x087e 0000087a: PUSH2 0x0e5e 0000087d: JUMP 0000087e: JUMPDEST 0000087f: PUSH2 0x0888 00000882: PUSH1 0x00 00000884: PUSH2 0x0eb8 00000887: JUMP 00000888: JUMPDEST 00000889: JUMP 0000088a: JUMPDEST 0000088b: PUSH1 0x00 0000088d: PUSH2 0x0894 00000890: PUSH2 0x0c5e 00000893: JUMP 00000894: JUMPDEST 00000895: SWAP1 00000896: POP 00000897: SWAP1 00000898: JUMP 00000899: JUMPDEST 0000089a: PUSH1 0xca 0000089c: SLOAD 0000089d: PUSH1 0x40 0000089f: MLOAD 000008a0: PUSH4 0x70a08231 000008a5: PUSH1 0xe0 000008a7: SHL 000008a8: DUP2 000008a9: MSTORE 000008aa: ADDRESS 000008ab: PUSH1 0x04 000008ad: DUP3 000008ae: ADD 000008af: MSTORE 000008b0: PUSH1 0x00 000008b2: SWAP2 000008b3: PUSH1 0x01 000008b5: PUSH1 0x01 000008b7: PUSH1 0xa0 000008b9: SHL 000008ba: SUB 000008bb: AND 000008bc: SWAP1 000008bd: PUSH4 0x70a08231 000008c2: SWAP1 000008c3: PUSH1 0x24 000008c5: ADD 000008c6: PUSH1 0x20 000008c8: PUSH1 0x40 000008ca: MLOAD 000008cb: DUP1 000008cc: DUP4 000008cd: SUB 000008ce: DUP2 000008cf: DUP7 000008d0: GAS 000008d1: STATICCALL 000008d2: ISZERO 000008d3: DUP1 000008d4: ISZERO 000008d5: PUSH2 0x08e2 000008d8: JUMPI 000008d9: RETURNDATASIZE 000008da: PUSH1 0x00 000008dc: DUP1 000008dd: RETURNDATACOPY 000008de: RETURNDATASIZE 000008df: PUSH1 0x00 000008e1: REVERT 000008e2: JUMPDEST 000008e3: POP 000008e4: POP 000008e5: POP 000008e6: POP 000008e7: PUSH1 0x40 000008e9: MLOAD 000008ea: RETURNDATASIZE 000008eb: PUSH1 0x1f 000008ed: NOT 000008ee: PUSH1 0x1f 000008f0: DUP3 000008f1: ADD 000008f2: AND 000008f3: DUP3 000008f4: ADD 000008f5: DUP1 000008f6: PUSH1 0x40 000008f8: MSTORE 000008f9: POP 000008fa: DUP2 000008fb: ADD 000008fc: SWAP1 000008fd: PUSH2 0x0894 00000900: SWAP2 00000901: SWAP1 00000902: PUSH2 0x17bd 00000905: JUMP 00000906: JUMPDEST 00000907: PUSH2 0x090e 0000090a: PUSH2 0x0e5e 0000090d: JUMP 0000090e: JUMPDEST 0000090f: PUSH1 0xc9 00000911: DUP1 00000912: SLOAD 00000913: PUSH1 0x01 00000915: PUSH1 0x01 00000917: PUSH1 0xa0 00000919: SHL 0000091a: SUB 0000091b: NOT 0000091c: AND 0000091d: PUSH1 0x01 0000091f: PUSH1 0x01 00000921: PUSH1 0xa0 00000923: SHL 00000924: SUB 00000925: SWAP3 00000926: SWAP1 00000927: SWAP3 00000928: AND 00000929: SWAP2 0000092a: SWAP1 0000092b: SWAP2 0000092c: OR 0000092d: SWAP1 0000092e: SSTORE 0000092f: JUMP 00000930: JUMPDEST 00000931: PUSH1 0xc9 00000933: SLOAD 00000934: PUSH1 0x00 00000936: SWAP1 00000937: DUP2 00000938: SWAP1 00000939: PUSH1 0x01 0000093b: PUSH1 0x01 0000093d: PUSH1 0xa0 0000093f: SHL 00000940: SUB 00000941: AND 00000942: CALLER 00000943: EQ 00000944: PUSH2 0x095f 00000947: JUMPI 00000948: PUSH1 0x40 0000094a: MLOAD 0000094b: PUSH3 0x461bcd 0000094f: PUSH1 0xe5 00000951: SHL 00000952: DUP2 00000953: MSTORE 00000954: PUSH1 0x04 00000956: ADD 00000957: PUSH2 0x0451 0000095a: SWAP1 0000095b: PUSH2 0x1677 0000095e: JUMP 0000095f: JUMPDEST 00000960: POP 00000961: POP 00000962: PUSH1 0x01 00000964: PUSH1 0x01 00000966: PUSH1 0xa0 00000968: SHL 00000969: SUB 0000096a: DUP3 0000096b: AND 0000096c: PUSH1 0x00 0000096e: SWAP1 0000096f: DUP2 00000970: MSTORE 00000971: PUSH1 0xcc 00000973: PUSH1 0x20 00000975: SWAP1 00000976: DUP2 00000977: MSTORE 00000978: PUSH1 0x40 0000097a: DUP1 0000097b: DUP4 0000097c: KECCAK256 0000097d: SLOAD 0000097e: PUSH1 0xce 00000980: SWAP1 00000981: SWAP3 00000982: MSTORE 00000983: SWAP1 00000984: SWAP2 00000985: KECCAK256 00000986: SLOAD 00000987: DUP3 00000988: ISZERO 00000989: PUSH2 0x09d3 0000098c: JUMPI 0000098d: PUSH2 0x2710 00000990: PUSH2 0x0999 00000993: DUP5 00000994: DUP3 00000995: PUSH2 0x17d6 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH2 0x09a3 0000099d: SWAP1 0000099e: DUP5 0000099f: PUSH2 0x17e9 000009a2: JUMP 000009a3: JUMPDEST 000009a4: PUSH2 0x09ad 000009a7: SWAP2 000009a8: SWAP1 000009a9: PUSH2 0x1808 000009ac: JUMP 000009ad: JUMPDEST 000009ae: SWAP2 000009af: POP 000009b0: PUSH2 0x2710 000009b3: PUSH2 0x09bc 000009b6: DUP5 000009b7: DUP3 000009b8: PUSH2 0x17d6 000009bb: JUMP 000009bc: JUMPDEST 000009bd: PUSH2 0x09c6 000009c0: SWAP1 000009c1: DUP4 000009c2: PUSH2 0x17e9 000009c5: JUMP 000009c6: JUMPDEST 000009c7: PUSH2 0x09d0 000009ca: SWAP2 000009cb: SWAP1 000009cc: PUSH2 0x1808 000009cf: JUMP 000009d0: JUMPDEST 000009d1: SWAP1 000009d2: POP 000009d3: JUMPDEST 000009d4: DUP2 000009d5: ISZERO 000009d6: PUSH2 0x0a66 000009d9: JUMPI 000009da: PUSH1 0x01 000009dc: PUSH1 0x01 000009de: PUSH1 0xa0 000009e0: SHL 000009e1: SUB 000009e2: DUP5 000009e3: AND 000009e4: PUSH1 0x00 000009e6: SWAP1 000009e7: DUP2 000009e8: MSTORE 000009e9: PUSH1 0xcc 000009eb: PUSH1 0x20 000009ed: MSTORE 000009ee: PUSH1 0x40 000009f0: DUP2 000009f1: KECCAK256 000009f2: DUP2 000009f3: SWAP1 000009f4: SSTORE 000009f5: PUSH1 0xcf 000009f7: DUP1 000009f8: SLOAD 000009f9: DUP5 000009fa: SWAP3 000009fb: SWAP1 000009fc: PUSH2 0x0a06 000009ff: SWAP1 00000a00: DUP5 00000a01: SWAP1 00000a02: PUSH2 0x16c4 00000a05: JUMP 00000a06: JUMPDEST 00000a07: SWAP1 00000a08: SWAP2 00000a09: SSTORE 00000a0a: POP 00000a0b: POP 00000a0c: PUSH1 0xca 00000a0e: SLOAD 00000a0f: PUSH2 0x0a22 00000a12: SWAP1 00000a13: PUSH1 0x01 00000a15: PUSH1 0x01 00000a17: PUSH1 0xa0 00000a19: SHL 00000a1a: SUB 00000a1b: AND 00000a1c: DUP6 00000a1d: DUP5 00000a1e: PUSH2 0x0f0a 00000a21: JUMP 00000a22: JUMPDEST 00000a23: DUP4 00000a24: PUSH1 0x01 00000a26: PUSH1 0x01 00000a28: PUSH1 0xa0 00000a2a: SHL 00000a2b: SUB 00000a2c: AND 00000a2d: PUSH32 0x79d3df6837cc49ff0e09fd3258e6e45594e0703445bb06825e9d75156eaee8f0 00000a4e: DUP4 00000a4f: PUSH1 0x40 00000a51: MLOAD 00000a52: PUSH2 0x0a5d 00000a55: SWAP2 00000a56: DUP2 00000a57: MSTORE 00000a58: PUSH1 0x20 00000a5a: ADD 00000a5b: SWAP1 00000a5c: JUMP 00000a5d: JUMPDEST 00000a5e: PUSH1 0x40 00000a60: MLOAD 00000a61: DUP1 00000a62: SWAP2 00000a63: SUB 00000a64: SWAP1 00000a65: LOG2 00000a66: JUMPDEST 00000a67: DUP1 00000a68: ISZERO 00000a69: PUSH2 0x0aed 00000a6c: JUMPI 00000a6d: PUSH1 0x01 00000a6f: PUSH1 0x01 00000a71: PUSH1 0xa0 00000a73: SHL 00000a74: SUB 00000a75: DUP5 00000a76: AND 00000a77: PUSH1 0x00 00000a79: SWAP1 00000a7a: DUP2 00000a7b: MSTORE 00000a7c: PUSH1 0xce 00000a7e: PUSH1 0x20 00000a80: MSTORE 00000a81: PUSH1 0x40 00000a83: DUP2 00000a84: KECCAK256 00000a85: DUP2 00000a86: SWAP1 00000a87: SSTORE 00000a88: PUSH1 0xd0 00000a8a: DUP1 00000a8b: SLOAD 00000a8c: DUP4 00000a8d: SWAP3 00000a8e: SWAP1 00000a8f: PUSH2 0x0a99 00000a92: SWAP1 00000a93: DUP5 00000a94: SWAP1 00000a95: PUSH2 0x16c4 00000a98: JUMP 00000a99: JUMPDEST 00000a9a: SWAP1 00000a9b: SWAP2 00000a9c: SSTORE 00000a9d: POP 00000a9e: PUSH2 0x0aa9 00000aa1: SWAP1 00000aa2: POP 00000aa3: DUP5 00000aa4: DUP3 00000aa5: PUSH2 0x0f3a 00000aa8: JUMP 00000aa9: JUMPDEST 00000aaa: DUP4 00000aab: PUSH1 0x01 00000aad: PUSH1 0x01 00000aaf: PUSH1 0xa0 00000ab1: SHL 00000ab2: SUB 00000ab3: AND 00000ab4: PUSH32 0x773e71d46a0d136a08c72a434cc3371bcd2c79d47af572cc9854d714d557c271 00000ad5: DUP3 00000ad6: PUSH1 0x40 00000ad8: MLOAD 00000ad9: PUSH2 0x0ae4 00000adc: SWAP2 00000add: DUP2 00000ade: MSTORE 00000adf: PUSH1 0x20 00000ae1: ADD 00000ae2: SWAP1 00000ae3: JUMP 00000ae4: JUMPDEST 00000ae5: PUSH1 0x40 00000ae7: MLOAD 00000ae8: DUP1 00000ae9: SWAP2 00000aea: SUB 00000aeb: SWAP1 00000aec: LOG2 00000aed: JUMPDEST 00000aee: SWAP3 00000aef: POP 00000af0: SWAP3 00000af1: SWAP1 00000af2: POP 00000af3: JUMP 00000af4: JUMPDEST 00000af5: PUSH1 0x00 00000af7: SLOAD 00000af8: PUSH2 0x0100 00000afb: SWAP1 00000afc: DIV 00000afd: PUSH1 0xff 00000aff: AND 00000b00: ISZERO 00000b01: DUP1 00000b02: DUP1 00000b03: ISZERO 00000b04: PUSH2 0x0b14 00000b07: JUMPI 00000b08: POP 00000b09: PUSH1 0x00 00000b0b: SLOAD 00000b0c: PUSH1 0x01 00000b0e: PUSH1 0xff 00000b10: SWAP1 00000b11: SWAP2 00000b12: AND 00000b13: LT 00000b14: JUMPDEST 00000b15: DUP1 00000b16: PUSH2 0x0b2e 00000b19: JUMPI 00000b1a: POP 00000b1b: ADDRESS 00000b1c: EXTCODESIZE 00000b1d: ISZERO 00000b1e: DUP1 00000b1f: ISZERO 00000b20: PUSH2 0x0b2e 00000b23: JUMPI 00000b24: POP 00000b25: PUSH1 0x00 00000b27: SLOAD 00000b28: PUSH1 0xff 00000b2a: AND 00000b2b: PUSH1 0x01 00000b2d: EQ 00000b2e: JUMPDEST 00000b2f: PUSH2 0x0b4a 00000b32: JUMPI 00000b33: PUSH1 0x40 00000b35: MLOAD 00000b36: PUSH3 0x461bcd 00000b3a: PUSH1 0xe5 00000b3c: SHL 00000b3d: DUP2 00000b3e: MSTORE 00000b3f: PUSH1 0x04 00000b41: ADD 00000b42: PUSH2 0x0451 00000b45: SWAP1 00000b46: PUSH2 0x176f 00000b49: JUMP 00000b4a: JUMPDEST 00000b4b: PUSH1 0x00 00000b4d: DUP1 00000b4e: SLOAD 00000b4f: PUSH1 0xff 00000b51: NOT 00000b52: AND 00000b53: PUSH1 0x01 00000b55: OR 00000b56: SWAP1 00000b57: SSTORE 00000b58: DUP1 00000b59: ISZERO 00000b5a: PUSH2 0x0b6d 00000b5d: JUMPI 00000b5e: PUSH1 0x00 00000b60: DUP1 00000b61: SLOAD 00000b62: PUSH2 0xff00 00000b65: NOT 00000b66: AND 00000b67: PUSH2 0x0100 00000b6a: OR 00000b6b: SWAP1 00000b6c: SSTORE 00000b6d: JUMPDEST 00000b6e: PUSH2 0x0b75 00000b71: PUSH2 0x1053 00000b74: JUMP 00000b75: JUMPDEST 00000b76: PUSH2 0x0b7d 00000b79: PUSH2 0x1082 00000b7c: JUMP 00000b7d: JUMPDEST 00000b7e: PUSH1 0xca 00000b80: DUP1 00000b81: SLOAD 00000b82: PUSH1 0x01 00000b84: PUSH1 0x01 00000b86: PUSH1 0xa0 00000b88: SHL 00000b89: SUB 00000b8a: NOT 00000b8b: AND 00000b8c: PUSH1 0x01 00000b8e: PUSH1 0x01 00000b90: PUSH1 0xa0 00000b92: SHL 00000b93: SUB 00000b94: DUP6 00000b95: AND 00000b96: OR 00000b97: SWAP1 00000b98: SSTORE 00000b99: PUSH1 0xcb 00000b9b: DUP3 00000b9c: SWAP1 00000b9d: SSTORE 00000b9e: DUP1 00000b9f: ISZERO 00000ba0: PUSH2 0x0be3 00000ba3: JUMPI 00000ba4: PUSH1 0x00 00000ba6: DUP1 00000ba7: SLOAD 00000ba8: PUSH2 0xff00 00000bab: NOT 00000bac: AND 00000bad: SWAP1 00000bae: SSTORE 00000baf: PUSH1 0x40 00000bb1: MLOAD 00000bb2: PUSH1 0x01 00000bb4: DUP2 00000bb5: MSTORE 00000bb6: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00000bd7: SWAP1 00000bd8: PUSH1 0x20 00000bda: ADD 00000bdb: PUSH1 0x40 00000bdd: MLOAD 00000bde: DUP1 00000bdf: SWAP2 00000be0: SUB 00000be1: SWAP1 00000be2: LOG1 00000be3: JUMPDEST 00000be4: POP 00000be5: POP 00000be6: POP 00000be7: JUMP 00000be8: JUMPDEST 00000be9: PUSH2 0x0bf0 00000bec: PUSH2 0x0e5e 00000bef: JUMP 00000bf0: JUMPDEST 00000bf1: PUSH1 0x01 00000bf3: PUSH1 0x01 00000bf5: PUSH1 0xa0 00000bf7: SHL 00000bf8: SUB 00000bf9: DUP2 00000bfa: AND 00000bfb: PUSH2 0x0c55 00000bfe: JUMPI 00000bff: PUSH1 0x40 00000c01: MLOAD 00000c02: PUSH3 0x461bcd 00000c06: PUSH1 0xe5 00000c08: SHL 00000c09: DUP2 00000c0a: MSTORE 00000c0b: PUSH1 0x20 00000c0d: PUSH1 0x04 00000c0f: DUP3 00000c10: ADD 00000c11: MSTORE 00000c12: PUSH1 0x26 00000c14: PUSH1 0x24 00000c16: DUP3 00000c17: ADD 00000c18: MSTORE 00000c19: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00000c3a: PUSH1 0x44 00000c3c: DUP3 00000c3d: ADD 00000c3e: MSTORE 00000c3f: PUSH6 0x646472657373 00000c46: PUSH1 0xd0 00000c48: SHL 00000c49: PUSH1 0x64 00000c4b: DUP3 00000c4c: ADD 00000c4d: MSTORE 00000c4e: PUSH1 0x84 00000c50: ADD 00000c51: PUSH2 0x0451 00000c54: JUMP 00000c55: JUMPDEST 00000c56: PUSH2 0x05a8 00000c59: DUP2 00000c5a: PUSH2 0x0eb8 00000c5d: JUMP 00000c5e: JUMPDEST 00000c5f: PUSH1 0x00 00000c61: DUP1 00000c62: MLOAD 00000c63: PUSH1 0x20 00000c65: PUSH2 0x190b 00000c68: DUP4 00000c69: CODECOPY 00000c6a: DUP2 00000c6b: MLOAD 00000c6c: SWAP2 00000c6d: MSTORE 00000c6e: SLOAD 00000c6f: PUSH1 0x01 00000c71: PUSH1 0x01 00000c73: PUSH1 0xa0 00000c75: SHL 00000c76: SUB 00000c77: AND 00000c78: SWAP1 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH2 0x05a8 00000c7e: PUSH2 0x0e5e 00000c81: JUMP 00000c82: JUMPDEST 00000c83: PUSH32 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143 00000ca4: SLOAD 00000ca5: PUSH1 0xff 00000ca7: AND 00000ca8: ISZERO 00000ca9: PUSH2 0x0cb5 00000cac: JUMPI 00000cad: PUSH2 0x0be3 00000cb0: DUP4 00000cb1: PUSH2 0x10a9 00000cb4: JUMP 00000cb5: JUMPDEST 00000cb6: DUP3 00000cb7: PUSH1 0x01 00000cb9: PUSH1 0x01 00000cbb: PUSH1 0xa0 00000cbd: SHL 00000cbe: SUB 00000cbf: AND 00000cc0: PUSH4 0x52d1902d 00000cc5: PUSH1 0x40 00000cc7: MLOAD 00000cc8: DUP2 00000cc9: PUSH4 0xffffffff 00000cce: AND 00000ccf: PUSH1 0xe0 00000cd1: SHL 00000cd2: DUP2 00000cd3: MSTORE 00000cd4: PUSH1 0x04 00000cd6: ADD 00000cd7: PUSH1 0x20 00000cd9: PUSH1 0x40 00000cdb: MLOAD 00000cdc: DUP1 00000cdd: DUP4 00000cde: SUB 00000cdf: DUP2 00000ce0: DUP7 00000ce1: GAS 00000ce2: STATICCALL 00000ce3: SWAP3 00000ce4: POP 00000ce5: POP 00000ce6: POP 00000ce7: DUP1 00000ce8: ISZERO 00000ce9: PUSH2 0x0d0f 00000cec: JUMPI 00000ced: POP 00000cee: PUSH1 0x40 00000cf0: DUP1 00000cf1: MLOAD 00000cf2: PUSH1 0x1f 00000cf4: RETURNDATASIZE 00000cf5: SWAP1 00000cf6: DUP2 00000cf7: ADD 00000cf8: PUSH1 0x1f 00000cfa: NOT 00000cfb: AND 00000cfc: DUP3 00000cfd: ADD 00000cfe: SWAP1 00000cff: SWAP3 00000d00: MSTORE 00000d01: PUSH2 0x0d0c 00000d04: SWAP2 00000d05: DUP2 00000d06: ADD 00000d07: SWAP1 00000d08: PUSH2 0x17bd 00000d0b: JUMP 00000d0c: JUMPDEST 00000d0d: PUSH1 0x01 00000d0f: JUMPDEST 00000d10: PUSH2 0x0d72 00000d13: JUMPI 00000d14: PUSH1 0x40 00000d16: MLOAD 00000d17: PUSH3 0x461bcd 00000d1b: PUSH1 0xe5 00000d1d: SHL 00000d1e: DUP2 00000d1f: MSTORE 00000d20: PUSH1 0x20 00000d22: PUSH1 0x04 00000d24: DUP3 00000d25: ADD 00000d26: MSTORE 00000d27: PUSH1 0x2e 00000d29: PUSH1 0x24 00000d2b: DUP3 00000d2c: ADD 00000d2d: MSTORE 00000d2e: PUSH32 0x45524331393637557067726164653a206e657720696d706c656d656e74617469 00000d4f: PUSH1 0x44 00000d51: DUP3 00000d52: ADD 00000d53: MSTORE 00000d54: PUSH14 0x6f6e206973206e6f742055555053 00000d63: PUSH1 0x90 00000d65: SHL 00000d66: PUSH1 0x64 00000d68: DUP3 00000d69: ADD 00000d6a: MSTORE 00000d6b: PUSH1 0x84 00000d6d: ADD 00000d6e: PUSH2 0x0451 00000d71: JUMP 00000d72: JUMPDEST 00000d73: PUSH1 0x00 00000d75: DUP1 00000d76: MLOAD 00000d77: PUSH1 0x20 00000d79: PUSH2 0x190b 00000d7c: DUP4 00000d7d: CODECOPY 00000d7e: DUP2 00000d7f: MLOAD 00000d80: SWAP2 00000d81: MSTORE 00000d82: DUP2 00000d83: EQ 00000d84: PUSH2 0x0de1 00000d87: JUMPI 00000d88: PUSH1 0x40 00000d8a: MLOAD 00000d8b: PUSH3 0x461bcd 00000d8f: PUSH1 0xe5 00000d91: SHL 00000d92: DUP2 00000d93: MSTORE 00000d94: PUSH1 0x20 00000d96: PUSH1 0x04 00000d98: DUP3 00000d99: ADD 00000d9a: MSTORE 00000d9b: PUSH1 0x29 00000d9d: PUSH1 0x24 00000d9f: DUP3 00000da0: ADD 00000da1: MSTORE 00000da2: PUSH32 0x45524331393637557067726164653a20756e737570706f727465642070726f78 00000dc3: PUSH1 0x44 00000dc5: DUP3 00000dc6: ADD 00000dc7: MSTORE 00000dc8: PUSH9 0x1a58589b1955555251 00000dd2: PUSH1 0xba 00000dd4: SHL 00000dd5: PUSH1 0x64 00000dd7: DUP3 00000dd8: ADD 00000dd9: MSTORE 00000dda: PUSH1 0x84 00000ddc: ADD 00000ddd: PUSH2 0x0451 00000de0: JUMP 00000de1: JUMPDEST 00000de2: POP 00000de3: PUSH2 0x0be3 00000de6: DUP4 00000de7: DUP4 00000de8: DUP4 00000de9: PUSH2 0x1145 00000dec: JUMP 00000ded: JUMPDEST 00000dee: PUSH1 0x40 00000df0: MLOAD 00000df1: PUSH1 0x01 00000df3: PUSH1 0x01 00000df5: PUSH1 0xa0 00000df7: SHL 00000df8: SUB 00000df9: DUP1 00000dfa: DUP6 00000dfb: AND 00000dfc: PUSH1 0x24 00000dfe: DUP4 00000dff: ADD 00000e00: MSTORE 00000e01: DUP4 00000e02: AND 00000e03: PUSH1 0x44 00000e05: DUP3 00000e06: ADD 00000e07: MSTORE 00000e08: PUSH1 0x64 00000e0a: DUP2 00000e0b: ADD 00000e0c: DUP3 00000e0d: SWAP1 00000e0e: MSTORE 00000e0f: PUSH2 0x0e58 00000e12: SWAP1 00000e13: DUP6 00000e14: SWAP1 00000e15: PUSH4 0x23b872dd 00000e1a: PUSH1 0xe0 00000e1c: SHL 00000e1d: SWAP1 00000e1e: PUSH1 0x84 00000e20: ADD 00000e21: JUMPDEST 00000e22: PUSH1 0x40 00000e24: DUP1 00000e25: MLOAD 00000e26: PUSH1 0x1f 00000e28: NOT 00000e29: DUP2 00000e2a: DUP5 00000e2b: SUB 00000e2c: ADD 00000e2d: DUP2 00000e2e: MSTORE 00000e2f: SWAP2 00000e30: SWAP1 00000e31: MSTORE 00000e32: PUSH1 0x20 00000e34: DUP2 00000e35: ADD 00000e36: DUP1 00000e37: MLOAD 00000e38: PUSH1 0x01 00000e3a: PUSH1 0x01 00000e3c: PUSH1 0xe0 00000e3e: SHL 00000e3f: SUB 00000e40: AND 00000e41: PUSH1 0x01 00000e43: PUSH1 0x01 00000e45: PUSH1 0xe0 00000e47: SHL 00000e48: SUB 00000e49: NOT 00000e4a: SWAP1 00000e4b: SWAP4 00000e4c: AND 00000e4d: SWAP3 00000e4e: SWAP1 00000e4f: SWAP3 00000e50: OR 00000e51: SWAP1 00000e52: SWAP2 00000e53: MSTORE 00000e54: PUSH2 0x116a 00000e57: JUMP 00000e58: JUMPDEST 00000e59: POP 00000e5a: POP 00000e5b: POP 00000e5c: POP 00000e5d: JUMP 00000e5e: JUMPDEST 00000e5f: PUSH1 0x33 00000e61: SLOAD 00000e62: PUSH1 0x01 00000e64: PUSH1 0x01 00000e66: PUSH1 0xa0 00000e68: SHL 00000e69: SUB 00000e6a: AND 00000e6b: CALLER 00000e6c: EQ 00000e6d: PUSH2 0x0888 00000e70: JUMPI 00000e71: PUSH1 0x40 00000e73: MLOAD 00000e74: PUSH3 0x461bcd 00000e78: PUSH1 0xe5 00000e7a: SHL 00000e7b: DUP2 00000e7c: MSTORE 00000e7d: PUSH1 0x20 00000e7f: PUSH1 0x04 00000e81: DUP3 00000e82: ADD 00000e83: DUP2 00000e84: SWAP1 00000e85: MSTORE 00000e86: PUSH1 0x24 00000e88: DUP3 00000e89: ADD 00000e8a: MSTORE 00000e8b: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000eac: PUSH1 0x44 00000eae: DUP3 00000eaf: ADD 00000eb0: MSTORE 00000eb1: PUSH1 0x64 00000eb3: ADD 00000eb4: PUSH2 0x0451 00000eb7: JUMP 00000eb8: JUMPDEST 00000eb9: PUSH1 0x33 00000ebb: DUP1 00000ebc: SLOAD 00000ebd: PUSH1 0x01 00000ebf: PUSH1 0x01 00000ec1: PUSH1 0xa0 00000ec3: SHL 00000ec4: SUB 00000ec5: DUP4 00000ec6: DUP2 00000ec7: AND 00000ec8: PUSH1 0x01 00000eca: PUSH1 0x01 00000ecc: PUSH1 0xa0 00000ece: SHL 00000ecf: SUB 00000ed0: NOT 00000ed1: DUP4 00000ed2: AND 00000ed3: DUP2 00000ed4: OR 00000ed5: SWAP1 00000ed6: SWAP4 00000ed7: SSTORE 00000ed8: PUSH1 0x40 00000eda: MLOAD 00000edb: SWAP2 00000edc: AND 00000edd: SWAP2 00000ede: SWAP1 00000edf: DUP3 00000ee0: SWAP1 00000ee1: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000f02: SWAP1 00000f03: PUSH1 0x00 00000f05: SWAP1 00000f06: LOG3 00000f07: POP 00000f08: POP 00000f09: JUMP 00000f0a: JUMPDEST 00000f0b: PUSH1 0x40 00000f0d: MLOAD 00000f0e: PUSH1 0x01 00000f10: PUSH1 0x01 00000f12: PUSH1 0xa0 00000f14: SHL 00000f15: SUB 00000f16: DUP4 00000f17: AND 00000f18: PUSH1 0x24 00000f1a: DUP3 00000f1b: ADD 00000f1c: MSTORE 00000f1d: PUSH1 0x44 00000f1f: DUP2 00000f20: ADD 00000f21: DUP3 00000f22: SWAP1 00000f23: MSTORE 00000f24: PUSH2 0x0be3 00000f27: SWAP1 00000f28: DUP5 00000f29: SWAP1 00000f2a: PUSH4 0xa9059cbb 00000f2f: PUSH1 0xe0 00000f31: SHL 00000f32: SWAP1 00000f33: PUSH1 0x64 00000f35: ADD 00000f36: PUSH2 0x0e21 00000f39: JUMP 00000f3a: JUMPDEST 00000f3b: DUP1 00000f3c: SELFBALANCE 00000f3d: LT 00000f3e: ISZERO 00000f3f: PUSH2 0x0f8a 00000f42: JUMPI 00000f43: PUSH1 0x40 00000f45: MLOAD 00000f46: PUSH3 0x461bcd 00000f4a: PUSH1 0xe5 00000f4c: SHL 00000f4d: DUP2 00000f4e: MSTORE 00000f4f: PUSH1 0x20 00000f51: PUSH1 0x04 00000f53: DUP3 00000f54: ADD 00000f55: MSTORE 00000f56: PUSH1 0x1d 00000f58: PUSH1 0x24 00000f5a: DUP3 00000f5b: ADD 00000f5c: MSTORE 00000f5d: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 00000f7e: PUSH1 0x44 00000f80: DUP3 00000f81: ADD 00000f82: MSTORE 00000f83: PUSH1 0x64 00000f85: ADD 00000f86: PUSH2 0x0451 00000f89: JUMP 00000f8a: JUMPDEST 00000f8b: PUSH1 0x00 00000f8d: DUP3 00000f8e: PUSH1 0x01 00000f90: PUSH1 0x01 00000f92: PUSH1 0xa0 00000f94: SHL 00000f95: SUB 00000f96: AND 00000f97: DUP3 00000f98: PUSH1 0x40 00000f9a: MLOAD 00000f9b: PUSH1 0x00 00000f9d: PUSH1 0x40 00000f9f: MLOAD 00000fa0: DUP1 00000fa1: DUP4 00000fa2: SUB 00000fa3: DUP2 00000fa4: DUP6 00000fa5: DUP8 00000fa6: GAS 00000fa7: CALL 00000fa8: SWAP3 00000fa9: POP 00000faa: POP 00000fab: POP 00000fac: RETURNDATASIZE 00000fad: DUP1 00000fae: PUSH1 0x00 00000fb0: DUP2 00000fb1: EQ 00000fb2: PUSH2 0x0fd7 00000fb5: JUMPI 00000fb6: PUSH1 0x40 00000fb8: MLOAD 00000fb9: SWAP2 00000fba: POP 00000fbb: PUSH1 0x1f 00000fbd: NOT 00000fbe: PUSH1 0x3f 00000fc0: RETURNDATASIZE 00000fc1: ADD 00000fc2: AND 00000fc3: DUP3 00000fc4: ADD 00000fc5: PUSH1 0x40 00000fc7: MSTORE 00000fc8: RETURNDATASIZE 00000fc9: DUP3 00000fca: MSTORE 00000fcb: RETURNDATASIZE 00000fcc: PUSH1 0x00 00000fce: PUSH1 0x20 00000fd0: DUP5 00000fd1: ADD 00000fd2: RETURNDATACOPY 00000fd3: PUSH2 0x0fdc 00000fd6: JUMP 00000fd7: JUMPDEST 00000fd8: PUSH1 0x60 00000fda: SWAP2 00000fdb: POP 00000fdc: JUMPDEST 00000fdd: POP 00000fde: POP 00000fdf: SWAP1 00000fe0: POP 00000fe1: DUP1 00000fe2: PUSH2 0x0be3 00000fe5: JUMPI 00000fe6: PUSH1 0x40 00000fe8: MLOAD 00000fe9: PUSH3 0x461bcd 00000fed: PUSH1 0xe5 00000fef: SHL 00000ff0: DUP2 00000ff1: MSTORE 00000ff2: PUSH1 0x20 00000ff4: PUSH1 0x04 00000ff6: DUP3 00000ff7: ADD 00000ff8: MSTORE 00000ff9: PUSH1 0x3a 00000ffb: PUSH1 0x24 00000ffd: DUP3 00000ffe: ADD 00000fff: MSTORE 00001000: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 00001021: PUSH1 0x44 00001023: DUP3 00001024: ADD 00001025: MSTORE 00001026: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 00001047: PUSH1 0x64 00001049: DUP3 0000104a: ADD 0000104b: MSTORE 0000104c: PUSH1 0x84 0000104e: ADD 0000104f: PUSH2 0x0451 00001052: JUMP 00001053: JUMPDEST 00001054: PUSH1 0x00 00001056: SLOAD 00001057: PUSH2 0x0100 0000105a: SWAP1 0000105b: DIV 0000105c: PUSH1 0xff 0000105e: AND 0000105f: PUSH2 0x107a 00001062: JUMPI 00001063: PUSH1 0x40 00001065: MLOAD 00001066: PUSH3 0x461bcd 0000106a: PUSH1 0xe5 0000106c: SHL 0000106d: DUP2 0000106e: MSTORE 0000106f: PUSH1 0x04 00001071: ADD 00001072: PUSH2 0x0451 00001075: SWAP1 00001076: PUSH2 0x182a 00001079: JUMP 0000107a: JUMPDEST 0000107b: PUSH2 0x0888 0000107e: PUSH2 0x123c 00001081: JUMP 00001082: JUMPDEST 00001083: PUSH1 0x00 00001085: SLOAD 00001086: PUSH2 0x0100 00001089: SWAP1 0000108a: DIV 0000108b: PUSH1 0xff 0000108d: AND 0000108e: PUSH2 0x0888 00001091: JUMPI 00001092: PUSH1 0x40 00001094: MLOAD 00001095: PUSH3 0x461bcd 00001099: PUSH1 0xe5 0000109b: SHL 0000109c: DUP2 0000109d: MSTORE 0000109e: PUSH1 0x04 000010a0: ADD 000010a1: PUSH2 0x0451 000010a4: SWAP1 000010a5: PUSH2 0x182a 000010a8: JUMP 000010a9: JUMPDEST 000010aa: PUSH1 0x01 000010ac: PUSH1 0x01 000010ae: PUSH1 0xa0 000010b0: SHL 000010b1: SUB 000010b2: DUP2 000010b3: AND 000010b4: EXTCODESIZE 000010b5: PUSH2 0x1116 000010b8: JUMPI 000010b9: PUSH1 0x40 000010bb: MLOAD 000010bc: PUSH3 0x461bcd 000010c0: PUSH1 0xe5 000010c2: SHL 000010c3: DUP2 000010c4: MSTORE 000010c5: PUSH1 0x20 000010c7: PUSH1 0x04 000010c9: DUP3 000010ca: ADD 000010cb: MSTORE 000010cc: PUSH1 0x2d 000010ce: PUSH1 0x24 000010d0: DUP3 000010d1: ADD 000010d2: MSTORE 000010d3: PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e 000010f4: PUSH1 0x44 000010f6: DUP3 000010f7: ADD 000010f8: MSTORE 000010f9: PUSH13 0x1bdd08184818dbdb9d1c9858dd 00001107: PUSH1 0x9a 00001109: SHL 0000110a: PUSH1 0x64 0000110c: DUP3 0000110d: ADD 0000110e: MSTORE 0000110f: PUSH1 0x84 00001111: ADD 00001112: PUSH2 0x0451 00001115: JUMP 00001116: JUMPDEST 00001117: PUSH1 0x00 00001119: DUP1 0000111a: MLOAD 0000111b: PUSH1 0x20 0000111d: PUSH2 0x190b 00001120: DUP4 00001121: CODECOPY 00001122: DUP2 00001123: MLOAD 00001124: SWAP2 00001125: MSTORE 00001126: DUP1 00001127: SLOAD 00001128: PUSH1 0x01 0000112a: PUSH1 0x01 0000112c: PUSH1 0xa0 0000112e: SHL 0000112f: SUB 00001130: NOT 00001131: AND 00001132: PUSH1 0x01 00001134: PUSH1 0x01 00001136: PUSH1 0xa0 00001138: SHL 00001139: SUB 0000113a: SWAP3 0000113b: SWAP1 0000113c: SWAP3 0000113d: AND 0000113e: SWAP2 0000113f: SWAP1 00001140: SWAP2 00001141: OR 00001142: SWAP1 00001143: SSTORE 00001144: JUMP 00001145: JUMPDEST 00001146: PUSH2 0x114e 00001149: DUP4 0000114a: PUSH2 0x126c 0000114d: JUMP 0000114e: JUMPDEST 0000114f: PUSH1 0x00 00001151: DUP3 00001152: MLOAD 00001153: GT 00001154: DUP1 00001155: PUSH2 0x115b 00001158: JUMPI 00001159: POP 0000115a: DUP1 0000115b: JUMPDEST 0000115c: ISZERO 0000115d: PUSH2 0x0be3 00001160: JUMPI 00001161: PUSH2 0x0e58 00001164: DUP4 00001165: DUP4 00001166: PUSH2 0x12ac 00001169: JUMP 0000116a: JUMPDEST 0000116b: PUSH1 0x00 0000116d: PUSH2 0x11bf 00001170: DUP3 00001171: PUSH1 0x40 00001173: MLOAD 00001174: DUP1 00001175: PUSH1 0x40 00001177: ADD 00001178: PUSH1 0x40 0000117a: MSTORE 0000117b: DUP1 0000117c: PUSH1 0x20 0000117e: DUP2 0000117f: MSTORE 00001180: PUSH1 0x20 00001182: ADD 00001183: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000011a4: DUP2 000011a5: MSTORE 000011a6: POP 000011a7: DUP6 000011a8: PUSH1 0x01 000011aa: PUSH1 0x01 000011ac: PUSH1 0xa0 000011ae: SHL 000011af: SUB 000011b0: AND 000011b1: PUSH2 0x13a2 000011b4: SWAP1 000011b5: SWAP3 000011b6: SWAP2 000011b7: SWAP1 000011b8: PUSH4 0xffffffff 000011bd: AND 000011be: JUMP 000011bf: JUMPDEST 000011c0: DUP1 000011c1: MLOAD 000011c2: SWAP1 000011c3: SWAP2 000011c4: POP 000011c5: ISZERO 000011c6: PUSH2 0x0be3 000011c9: JUMPI 000011ca: DUP1 000011cb: DUP1 000011cc: PUSH1 0x20 000011ce: ADD 000011cf: SWAP1 000011d0: MLOAD 000011d1: DUP2 000011d2: ADD 000011d3: SWAP1 000011d4: PUSH2 0x11dd 000011d7: SWAP2 000011d8: SWAP1 000011d9: PUSH2 0x1875 000011dc: JUMP 000011dd: JUMPDEST 000011de: PUSH2 0x0be3 000011e1: JUMPI 000011e2: PUSH1 0x40 000011e4: MLOAD 000011e5: PUSH3 0x461bcd 000011e9: PUSH1 0xe5 000011eb: SHL 000011ec: DUP2 000011ed: MSTORE 000011ee: PUSH1 0x20 000011f0: PUSH1 0x04 000011f2: DUP3 000011f3: ADD 000011f4: MSTORE 000011f5: PUSH1 0x2a 000011f7: PUSH1 0x24 000011f9: DUP3 000011fa: ADD 000011fb: MSTORE 000011fc: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000121d: PUSH1 0x44 0000121f: DUP3 00001220: ADD 00001221: MSTORE 00001222: PUSH10 0x1bdd081cdd58d8d95959 0000122d: PUSH1 0xb2 0000122f: SHL 00001230: PUSH1 0x64 00001232: DUP3 00001233: ADD 00001234: MSTORE 00001235: PUSH1 0x84 00001237: ADD 00001238: PUSH2 0x0451 0000123b: JUMP 0000123c: JUMPDEST 0000123d: PUSH1 0x00 0000123f: SLOAD 00001240: PUSH2 0x0100 00001243: SWAP1 00001244: DIV 00001245: PUSH1 0xff 00001247: AND 00001248: PUSH2 0x1263 0000124b: JUMPI 0000124c: PUSH1 0x40 0000124e: MLOAD 0000124f: PUSH3 0x461bcd 00001253: PUSH1 0xe5 00001255: SHL 00001256: DUP2 00001257: MSTORE 00001258: PUSH1 0x04 0000125a: ADD 0000125b: PUSH2 0x0451 0000125e: SWAP1 0000125f: PUSH2 0x182a 00001262: JUMP 00001263: JUMPDEST 00001264: PUSH2 0x0888 00001267: CALLER 00001268: PUSH2 0x0eb8 0000126b: JUMP 0000126c: JUMPDEST 0000126d: PUSH2 0x1275 00001270: DUP2 00001271: PUSH2 0x10a9 00001274: JUMP 00001275: JUMPDEST 00001276: PUSH1 0x40 00001278: MLOAD 00001279: PUSH1 0x01 0000127b: PUSH1 0x01 0000127d: PUSH1 0xa0 0000127f: SHL 00001280: SUB 00001281: DUP3 00001282: AND 00001283: SWAP1 00001284: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 000012a5: SWAP1 000012a6: PUSH1 0x00 000012a8: SWAP1 000012a9: LOG2 000012aa: POP 000012ab: JUMP 000012ac: JUMPDEST 000012ad: PUSH1 0x60 000012af: PUSH1 0x01 000012b1: PUSH1 0x01 000012b3: PUSH1 0xa0 000012b5: SHL 000012b6: SUB 000012b7: DUP4 000012b8: AND 000012b9: EXTCODESIZE 000012ba: PUSH2 0x1314 000012bd: JUMPI 000012be: PUSH1 0x40 000012c0: MLOAD 000012c1: PUSH3 0x461bcd 000012c5: PUSH1 0xe5 000012c7: SHL 000012c8: DUP2 000012c9: MSTORE 000012ca: PUSH1 0x20 000012cc: PUSH1 0x04 000012ce: DUP3 000012cf: ADD 000012d0: MSTORE 000012d1: PUSH1 0x26 000012d3: PUSH1 0x24 000012d5: DUP3 000012d6: ADD 000012d7: MSTORE 000012d8: PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f 000012f9: PUSH1 0x44 000012fb: DUP3 000012fc: ADD 000012fd: MSTORE 000012fe: PUSH6 0x1b9d1c9858dd 00001305: PUSH1 0xd2 00001307: SHL 00001308: PUSH1 0x64 0000130a: DUP3 0000130b: ADD 0000130c: MSTORE 0000130d: PUSH1 0x84 0000130f: ADD 00001310: PUSH2 0x0451 00001313: JUMP 00001314: JUMPDEST 00001315: PUSH1 0x00 00001317: DUP1 00001318: DUP5 00001319: PUSH1 0x01 0000131b: PUSH1 0x01 0000131d: PUSH1 0xa0 0000131f: SHL 00001320: SUB 00001321: AND 00001322: DUP5 00001323: PUSH1 0x40 00001325: MLOAD 00001326: PUSH2 0x132f 00001329: SWAP2 0000132a: SWAP1 0000132b: PUSH2 0x18bb 0000132e: JUMP 0000132f: JUMPDEST 00001330: PUSH1 0x00 00001332: PUSH1 0x40 00001334: MLOAD 00001335: DUP1 00001336: DUP4 00001337: SUB 00001338: DUP2 00001339: DUP6 0000133a: GAS 0000133b: DELEGATECALL 0000133c: SWAP2 0000133d: POP 0000133e: POP 0000133f: RETURNDATASIZE 00001340: DUP1 00001341: PUSH1 0x00 00001343: DUP2 00001344: EQ 00001345: PUSH2 0x136a 00001348: JUMPI 00001349: PUSH1 0x40 0000134b: MLOAD 0000134c: SWAP2 0000134d: POP 0000134e: PUSH1 0x1f 00001350: NOT 00001351: PUSH1 0x3f 00001353: RETURNDATASIZE 00001354: ADD 00001355: AND 00001356: DUP3 00001357: ADD 00001358: PUSH1 0x40 0000135a: MSTORE 0000135b: RETURNDATASIZE 0000135c: DUP3 0000135d: MSTORE 0000135e: RETURNDATASIZE 0000135f: PUSH1 0x00 00001361: PUSH1 0x20 00001363: DUP5 00001364: ADD 00001365: RETURNDATACOPY 00001366: PUSH2 0x136f 00001369: JUMP 0000136a: JUMPDEST 0000136b: PUSH1 0x60 0000136d: SWAP2 0000136e: POP 0000136f: JUMPDEST 00001370: POP 00001371: SWAP2 00001372: POP 00001373: SWAP2 00001374: POP 00001375: PUSH2 0x1397 00001378: DUP3 00001379: DUP3 0000137a: PUSH1 0x40 0000137c: MLOAD 0000137d: DUP1 0000137e: PUSH1 0x60 00001380: ADD 00001381: PUSH1 0x40 00001383: MSTORE 00001384: DUP1 00001385: PUSH1 0x27 00001387: DUP2 00001388: MSTORE 00001389: PUSH1 0x20 0000138b: ADD 0000138c: PUSH2 0x192b 0000138f: PUSH1 0x27 00001391: SWAP2 00001392: CODECOPY 00001393: PUSH2 0x13bb 00001396: JUMP 00001397: JUMPDEST 00001398: SWAP3 00001399: POP 0000139a: POP 0000139b: POP 0000139c: JUMPDEST 0000139d: SWAP3 0000139e: SWAP2 0000139f: POP 000013a0: POP 000013a1: JUMP 000013a2: JUMPDEST 000013a3: PUSH1 0x60 000013a5: PUSH2 0x13b1 000013a8: DUP5 000013a9: DUP5 000013aa: PUSH1 0x00 000013ac: DUP6 000013ad: PUSH2 0x13f4 000013b0: JUMP 000013b1: JUMPDEST 000013b2: SWAP1 000013b3: POP 000013b4: JUMPDEST 000013b5: SWAP4 000013b6: SWAP3 000013b7: POP 000013b8: POP 000013b9: POP 000013ba: JUMP 000013bb: JUMPDEST 000013bc: PUSH1 0x60 000013be: DUP4 000013bf: ISZERO 000013c0: PUSH2 0x13ca 000013c3: JUMPI 000013c4: POP 000013c5: DUP2 000013c6: PUSH2 0x13b4 000013c9: JUMP 000013ca: JUMPDEST 000013cb: DUP3 000013cc: MLOAD 000013cd: ISZERO 000013ce: PUSH2 0x13da 000013d1: JUMPI 000013d2: DUP3 000013d3: MLOAD 000013d4: DUP1 000013d5: DUP5 000013d6: PUSH1 0x20 000013d8: ADD 000013d9: REVERT 000013da: JUMPDEST 000013db: DUP2 000013dc: PUSH1 0x40 000013de: MLOAD 000013df: PUSH3 0x461bcd 000013e3: PUSH1 0xe5 000013e5: SHL 000013e6: DUP2 000013e7: MSTORE 000013e8: PUSH1 0x04 000013ea: ADD 000013eb: PUSH2 0x0451 000013ee: SWAP2 000013ef: SWAP1 000013f0: PUSH2 0x18d7 000013f3: JUMP 000013f4: JUMPDEST 000013f5: PUSH1 0x60 000013f7: DUP3 000013f8: SELFBALANCE 000013f9: LT 000013fa: ISZERO 000013fb: PUSH2 0x1455 000013fe: JUMPI 000013ff: PUSH1 0x40 00001401: MLOAD 00001402: PUSH3 0x461bcd 00001406: PUSH1 0xe5 00001408: SHL 00001409: DUP2 0000140a: MSTORE 0000140b: PUSH1 0x20 0000140d: PUSH1 0x04 0000140f: DUP3 00001410: ADD 00001411: MSTORE 00001412: PUSH1 0x26 00001414: PUSH1 0x24 00001416: DUP3 00001417: ADD 00001418: MSTORE 00001419: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 0000143a: PUSH1 0x44 0000143c: DUP3 0000143d: ADD 0000143e: MSTORE 0000143f: PUSH6 0x1c8818d85b1b 00001446: PUSH1 0xd2 00001448: SHL 00001449: PUSH1 0x64 0000144b: DUP3 0000144c: ADD 0000144d: MSTORE 0000144e: PUSH1 0x84 00001450: ADD 00001451: PUSH2 0x0451 00001454: JUMP 00001455: JUMPDEST 00001456: PUSH1 0x01 00001458: PUSH1 0x01 0000145a: PUSH1 0xa0 0000145c: SHL 0000145d: SUB 0000145e: DUP6 0000145f: AND 00001460: EXTCODESIZE 00001461: PUSH2 0x14ac 00001464: JUMPI 00001465: PUSH1 0x40 00001467: MLOAD 00001468: PUSH3 0x461bcd 0000146c: PUSH1 0xe5 0000146e: SHL 0000146f: DUP2 00001470: MSTORE 00001471: PUSH1 0x20 00001473: PUSH1 0x04 00001475: DUP3 00001476: ADD 00001477: MSTORE 00001478: PUSH1 0x1d 0000147a: PUSH1 0x24 0000147c: DUP3 0000147d: ADD 0000147e: MSTORE 0000147f: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000014a0: PUSH1 0x44 000014a2: DUP3 000014a3: ADD 000014a4: MSTORE 000014a5: PUSH1 0x64 000014a7: ADD 000014a8: PUSH2 0x0451 000014ab: JUMP 000014ac: JUMPDEST 000014ad: PUSH1 0x00 000014af: DUP1 000014b0: DUP7 000014b1: PUSH1 0x01 000014b3: PUSH1 0x01 000014b5: PUSH1 0xa0 000014b7: SHL 000014b8: SUB 000014b9: AND 000014ba: DUP6 000014bb: DUP8 000014bc: PUSH1 0x40 000014be: MLOAD 000014bf: PUSH2 0x14c8 000014c2: SWAP2 000014c3: SWAP1 000014c4: PUSH2 0x18bb 000014c7: JUMP 000014c8: JUMPDEST 000014c9: PUSH1 0x00 000014cb: PUSH1 0x40 000014cd: MLOAD 000014ce: DUP1 000014cf: DUP4 000014d0: SUB 000014d1: DUP2 000014d2: DUP6 000014d3: DUP8 000014d4: GAS 000014d5: CALL 000014d6: SWAP3 000014d7: POP 000014d8: POP 000014d9: POP 000014da: RETURNDATASIZE 000014db: DUP1 000014dc: PUSH1 0x00 000014de: DUP2 000014df: EQ 000014e0: PUSH2 0x1505 000014e3: JUMPI 000014e4: PUSH1 0x40 000014e6: MLOAD 000014e7: SWAP2 000014e8: POP 000014e9: PUSH1 0x1f 000014eb: NOT 000014ec: PUSH1 0x3f 000014ee: RETURNDATASIZE 000014ef: ADD 000014f0: AND 000014f1: DUP3 000014f2: ADD 000014f3: PUSH1 0x40 000014f5: MSTORE 000014f6: RETURNDATASIZE 000014f7: DUP3 000014f8: MSTORE 000014f9: RETURNDATASIZE 000014fa: PUSH1 0x00 000014fc: PUSH1 0x20 000014fe: DUP5 000014ff: ADD 00001500: RETURNDATACOPY 00001501: PUSH2 0x150a 00001504: JUMP 00001505: JUMPDEST 00001506: PUSH1 0x60 00001508: SWAP2 00001509: POP 0000150a: JUMPDEST 0000150b: POP 0000150c: SWAP2 0000150d: POP 0000150e: SWAP2 0000150f: POP 00001510: PUSH2 0x151a 00001513: DUP3 00001514: DUP3 00001515: DUP7 00001516: PUSH2 0x13bb 00001519: JUMP 0000151a: JUMPDEST 0000151b: SWAP8 0000151c: SWAP7 0000151d: POP 0000151e: POP 0000151f: POP 00001520: POP 00001521: POP 00001522: POP 00001523: POP 00001524: JUMP 00001525: JUMPDEST 00001526: DUP1 00001527: CALLDATALOAD 00001528: PUSH1 0x01 0000152a: PUSH1 0x01 0000152c: PUSH1 0xa0 0000152e: SHL 0000152f: SUB 00001530: DUP2 00001531: AND 00001532: DUP2 00001533: EQ 00001534: PUSH2 0x153c 00001537: JUMPI 00001538: PUSH1 0x00 0000153a: DUP1 0000153b: REVERT 0000153c: JUMPDEST 0000153d: SWAP2 0000153e: SWAP1 0000153f: POP 00001540: JUMP 00001541: JUMPDEST 00001542: PUSH1 0x00 00001544: PUSH1 0x20 00001546: DUP3 00001547: DUP5 00001548: SUB 00001549: SLT 0000154a: ISZERO 0000154b: PUSH2 0x1553 0000154e: JUMPI 0000154f: PUSH1 0x00 00001551: DUP1 00001552: REVERT 00001553: JUMPDEST 00001554: PUSH2 0x13b4 00001557: DUP3 00001558: PUSH2 0x1525 0000155b: JUMP 0000155c: JUMPDEST 0000155d: PUSH1 0x00 0000155f: DUP1 00001560: PUSH1 0x40 00001562: DUP4 00001563: DUP6 00001564: SUB 00001565: SLT 00001566: ISZERO 00001567: PUSH2 0x156f 0000156a: JUMPI 0000156b: PUSH1 0x00 0000156d: DUP1 0000156e: REVERT 0000156f: JUMPDEST 00001570: PUSH2 0x1578 00001573: DUP4 00001574: PUSH2 0x1525 00001577: JUMP 00001578: JUMPDEST 00001579: SWAP5 0000157a: PUSH1 0x20 0000157c: SWAP4 0000157d: SWAP1 0000157e: SWAP4 0000157f: ADD 00001580: CALLDATALOAD 00001581: SWAP4 00001582: POP 00001583: POP 00001584: POP 00001585: JUMP 00001586: JUMPDEST 00001587: PUSH4 0x4e487b71 0000158c: PUSH1 0xe0 0000158e: SHL 0000158f: PUSH1 0x00 00001591: MSTORE 00001592: PUSH1 0x41 00001594: PUSH1 0x04 00001596: MSTORE 00001597: PUSH1 0x24 00001599: PUSH1 0x00 0000159b: REVERT 0000159c: JUMPDEST 0000159d: PUSH1 0x00 0000159f: DUP1 000015a0: PUSH1 0x40 000015a2: DUP4 000015a3: DUP6 000015a4: SUB 000015a5: SLT 000015a6: ISZERO 000015a7: PUSH2 0x15af 000015aa: JUMPI 000015ab: PUSH1 0x00 000015ad: DUP1 000015ae: REVERT 000015af: JUMPDEST 000015b0: PUSH2 0x15b8 000015b3: DUP4 000015b4: PUSH2 0x1525 000015b7: JUMP 000015b8: JUMPDEST 000015b9: SWAP2 000015ba: POP 000015bb: PUSH1 0x20 000015bd: DUP4 000015be: ADD 000015bf: CALLDATALOAD 000015c0: PUSH8 0xffffffffffffffff 000015c9: DUP1 000015ca: DUP3 000015cb: GT 000015cc: ISZERO 000015cd: PUSH2 0x15d5 000015d0: JUMPI 000015d1: PUSH1 0x00 000015d3: DUP1 000015d4: REVERT 000015d5: JUMPDEST 000015d6: DUP2 000015d7: DUP6 000015d8: ADD 000015d9: SWAP2 000015da: POP 000015db: DUP6 000015dc: PUSH1 0x1f 000015de: DUP4 000015df: ADD 000015e0: SLT 000015e1: PUSH2 0x15e9 000015e4: JUMPI 000015e5: PUSH1 0x00 000015e7: DUP1 000015e8: REVERT 000015e9: JUMPDEST 000015ea: DUP2 000015eb: CALLDATALOAD 000015ec: DUP2 000015ed: DUP2 000015ee: GT 000015ef: ISZERO 000015f0: PUSH2 0x15fb 000015f3: JUMPI 000015f4: PUSH2 0x15fb 000015f7: PUSH2 0x1586 000015fa: JUMP 000015fb: JUMPDEST 000015fc: PUSH1 0x40 000015fe: MLOAD 000015ff: PUSH1 0x1f 00001601: DUP3 00001602: ADD 00001603: PUSH1 0x1f 00001605: NOT 00001606: SWAP1 00001607: DUP2 00001608: AND 00001609: PUSH1 0x3f 0000160b: ADD 0000160c: AND 0000160d: DUP2 0000160e: ADD 0000160f: SWAP1 00001610: DUP4 00001611: DUP3 00001612: GT 00001613: DUP2 00001614: DUP4 00001615: LT 00001616: OR 00001617: ISZERO 00001618: PUSH2 0x1623 0000161b: JUMPI 0000161c: PUSH2 0x1623 0000161f: PUSH2 0x1586 00001622: JUMP 00001623: JUMPDEST 00001624: DUP2 00001625: PUSH1 0x40 00001627: MSTORE 00001628: DUP3 00001629: DUP2 0000162a: MSTORE 0000162b: DUP9 0000162c: PUSH1 0x20 0000162e: DUP5 0000162f: DUP8 00001630: ADD 00001631: ADD 00001632: GT 00001633: ISZERO 00001634: PUSH2 0x163c 00001637: JUMPI 00001638: PUSH1 0x00 0000163a: DUP1 0000163b: REVERT 0000163c: JUMPDEST 0000163d: DUP3 0000163e: PUSH1 0x20 00001640: DUP7 00001641: ADD 00001642: PUSH1 0x20 00001644: DUP4 00001645: ADD 00001646: CALLDATACOPY 00001647: PUSH1 0x00 00001649: PUSH1 0x20 0000164b: DUP5 0000164c: DUP4 0000164d: ADD 0000164e: ADD 0000164f: MSTORE 00001650: DUP1 00001651: SWAP6 00001652: POP 00001653: POP 00001654: POP 00001655: POP 00001656: POP 00001657: POP 00001658: SWAP3 00001659: POP 0000165a: SWAP3 0000165b: SWAP1 0000165c: POP 0000165d: JUMP 0000165e: JUMPDEST 0000165f: PUSH1 0x00 00001661: PUSH1 0x20 00001663: DUP3 00001664: DUP5 00001665: SUB 00001666: SLT 00001667: ISZERO 00001668: PUSH2 0x1670 0000166b: JUMPI 0000166c: PUSH1 0x00 0000166e: DUP1 0000166f: REVERT 00001670: JUMPDEST 00001671: POP 00001672: CALLDATALOAD 00001673: SWAP2 00001674: SWAP1 00001675: POP 00001676: JUMP 00001677: JUMPDEST 00001678: PUSH1 0x20 0000167a: DUP1 0000167b: DUP3 0000167c: MSTORE 0000167d: PUSH1 0x17 0000167f: SWAP1 00001680: DUP3 00001681: ADD 00001682: MSTORE 00001683: PUSH32 0x5374616b653a206f6e6c7920666f6f7462616c6c437570000000000000000000 000016a4: PUSH1 0x40 000016a6: DUP3 000016a7: ADD 000016a8: MSTORE 000016a9: PUSH1 0x60 000016ab: ADD 000016ac: SWAP1 000016ad: JUMP 000016ae: JUMPDEST 000016af: PUSH4 0x4e487b71 000016b4: PUSH1 0xe0 000016b6: SHL 000016b7: PUSH1 0x00 000016b9: MSTORE 000016ba: PUSH1 0x11 000016bc: PUSH1 0x04 000016be: MSTORE 000016bf: PUSH1 0x24 000016c1: PUSH1 0x00 000016c3: REVERT 000016c4: JUMPDEST 000016c5: DUP1 000016c6: DUP3 000016c7: ADD 000016c8: DUP1 000016c9: DUP3 000016ca: GT 000016cb: ISZERO 000016cc: PUSH2 0x139c 000016cf: JUMPI 000016d0: PUSH2 0x139c 000016d3: PUSH2 0x16ae 000016d6: JUMP 000016d7: JUMPDEST 000016d8: PUSH1 0x20 000016da: DUP1 000016db: DUP3 000016dc: MSTORE 000016dd: PUSH1 0x2c 000016df: SWAP1 000016e0: DUP3 000016e1: ADD 000016e2: MSTORE 000016e3: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 00001704: PUSH1 0x40 00001706: DUP3 00001707: ADD 00001708: MSTORE 00001709: PUSH12 0x19195b1959d85d1958d85b1b 00001716: PUSH1 0xa2 00001718: SHL 00001719: PUSH1 0x60 0000171b: DUP3 0000171c: ADD 0000171d: MSTORE 0000171e: PUSH1 0x80 00001720: ADD 00001721: SWAP1 00001722: JUMP 00001723: JUMPDEST 00001724: PUSH1 0x20 00001726: DUP1 00001727: DUP3 00001728: MSTORE 00001729: PUSH1 0x2c 0000172b: SWAP1 0000172c: DUP3 0000172d: ADD 0000172e: MSTORE 0000172f: PUSH32 0x46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820 00001750: PUSH1 0x40 00001752: DUP3 00001753: ADD 00001754: MSTORE 00001755: PUSH12 0x6163746976652070726f7879 00001762: PUSH1 0xa0 00001764: SHL 00001765: PUSH1 0x60 00001767: DUP3 00001768: ADD 00001769: MSTORE 0000176a: PUSH1 0x80 0000176c: ADD 0000176d: SWAP1 0000176e: JUMP 0000176f: JUMPDEST 00001770: PUSH1 0x20 00001772: DUP1 00001773: DUP3 00001774: MSTORE 00001775: PUSH1 0x2e 00001777: SWAP1 00001778: DUP3 00001779: ADD 0000177a: MSTORE 0000177b: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 0000179c: PUSH1 0x40 0000179e: DUP3 0000179f: ADD 000017a0: MSTORE 000017a1: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 000017b0: PUSH1 0x92 000017b2: SHL 000017b3: PUSH1 0x60 000017b5: DUP3 000017b6: ADD 000017b7: MSTORE 000017b8: PUSH1 0x80 000017ba: ADD 000017bb: SWAP1 000017bc: JUMP 000017bd: JUMPDEST 000017be: PUSH1 0x00 000017c0: PUSH1 0x20 000017c2: DUP3 000017c3: DUP5 000017c4: SUB 000017c5: SLT 000017c6: ISZERO 000017c7: PUSH2 0x17cf 000017ca: JUMPI 000017cb: PUSH1 0x00 000017cd: DUP1 000017ce: REVERT 000017cf: JUMPDEST 000017d0: POP 000017d1: MLOAD 000017d2: SWAP2 000017d3: SWAP1 000017d4: POP 000017d5: JUMP 000017d6: JUMPDEST 000017d7: DUP2 000017d8: DUP2 000017d9: SUB 000017da: DUP2 000017db: DUP2 000017dc: GT 000017dd: ISZERO 000017de: PUSH2 0x139c 000017e1: JUMPI 000017e2: PUSH2 0x139c 000017e5: PUSH2 0x16ae 000017e8: JUMP 000017e9: JUMPDEST 000017ea: PUSH1 0x00 000017ec: DUP2 000017ed: PUSH1 0x00 000017ef: NOT 000017f0: DIV 000017f1: DUP4 000017f2: GT 000017f3: DUP3 000017f4: ISZERO 000017f5: ISZERO 000017f6: AND 000017f7: ISZERO 000017f8: PUSH2 0x1803 000017fb: JUMPI 000017fc: PUSH2 0x1803 000017ff: PUSH2 0x16ae 00001802: JUMP 00001803: JUMPDEST 00001804: POP 00001805: MUL 00001806: SWAP1 00001807: JUMP 00001808: JUMPDEST 00001809: PUSH1 0x00 0000180b: DUP3 0000180c: PUSH2 0x1825 0000180f: JUMPI 00001810: PUSH4 0x4e487b71 00001815: PUSH1 0xe0 00001817: SHL 00001818: PUSH1 0x00 0000181a: MSTORE 0000181b: PUSH1 0x12 0000181d: PUSH1 0x04 0000181f: MSTORE 00001820: PUSH1 0x24 00001822: PUSH1 0x00 00001824: REVERT 00001825: JUMPDEST 00001826: POP 00001827: DIV 00001828: SWAP1 00001829: JUMP 0000182a: JUMPDEST 0000182b: PUSH1 0x20 0000182d: DUP1 0000182e: DUP3 0000182f: MSTORE 00001830: PUSH1 0x2b 00001832: SWAP1 00001833: DUP3 00001834: ADD 00001835: MSTORE 00001836: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 00001857: PUSH1 0x40 00001859: DUP3 0000185a: ADD 0000185b: MSTORE 0000185c: PUSH11 0x6e697469616c697a696e67 00001868: PUSH1 0xa8 0000186a: SHL 0000186b: PUSH1 0x60 0000186d: DUP3 0000186e: ADD 0000186f: MSTORE 00001870: PUSH1 0x80 00001872: ADD 00001873: SWAP1 00001874: JUMP 00001875: JUMPDEST 00001876: PUSH1 0x00 00001878: PUSH1 0x20 0000187a: DUP3 0000187b: DUP5 0000187c: SUB 0000187d: SLT 0000187e: ISZERO 0000187f: PUSH2 0x1887 00001882: JUMPI 00001883: PUSH1 0x00 00001885: DUP1 00001886: REVERT 00001887: JUMPDEST 00001888: DUP2 00001889: MLOAD 0000188a: DUP1 0000188b: ISZERO 0000188c: ISZERO 0000188d: DUP2 0000188e: EQ 0000188f: PUSH2 0x13b4 00001892: JUMPI 00001893: PUSH1 0x00 00001895: DUP1 00001896: REVERT 00001897: JUMPDEST 00001898: PUSH1 0x00 0000189a: JUMPDEST 0000189b: DUP4 0000189c: DUP2 0000189d: LT 0000189e: ISZERO 0000189f: PUSH2 0x18b2 000018a2: JUMPI 000018a3: DUP2 000018a4: DUP2 000018a5: ADD 000018a6: MLOAD 000018a7: DUP4 000018a8: DUP3 000018a9: ADD 000018aa: MSTORE 000018ab: PUSH1 0x20 000018ad: ADD 000018ae: PUSH2 0x189a 000018b1: JUMP 000018b2: JUMPDEST 000018b3: POP 000018b4: POP 000018b5: PUSH1 0x00 000018b7: SWAP2 000018b8: ADD 000018b9: MSTORE 000018ba: JUMP 000018bb: JUMPDEST 000018bc: PUSH1 0x00 000018be: DUP3 000018bf: MLOAD 000018c0: PUSH2 0x18cd 000018c3: DUP2 000018c4: DUP5 000018c5: PUSH1 0x20 000018c7: DUP8 000018c8: ADD 000018c9: PUSH2 0x1897 000018cc: JUMP 000018cd: JUMPDEST 000018ce: SWAP2 000018cf: SWAP1 000018d0: SWAP2 000018d1: ADD 000018d2: SWAP3 000018d3: SWAP2 000018d4: POP 000018d5: POP 000018d6: JUMP 000018d7: JUMPDEST 000018d8: PUSH1 0x20 000018da: DUP2 000018db: MSTORE 000018dc: PUSH1 0x00 000018de: DUP3 000018df: MLOAD 000018e0: DUP1 000018e1: PUSH1 0x20 000018e3: DUP5 000018e4: ADD 000018e5: MSTORE 000018e6: PUSH2 0x18f6 000018e9: DUP2 000018ea: PUSH1 0x40 000018ec: DUP6 000018ed: ADD 000018ee: PUSH1 0x20 000018f0: DUP8 000018f1: ADD 000018f2: PUSH2 0x1897 000018f5: JUMP 000018f6: JUMPDEST 000018f7: PUSH1 0x1f 000018f9: ADD 000018fa: PUSH1 0x1f 000018fc: NOT 000018fd: AND 000018fe: SWAP2 000018ff: SWAP1 00001900: SWAP2 00001901: ADD 00001902: PUSH1 0x40 00001904: ADD 00001905: SWAP3 00001906: SWAP2 00001907: POP 00001908: POP 00001909: JUMP 0000190a: INVALID 0000190b: CALLDATASIZE 0000190c: ADDMOD 0000190d: SWAP5 0000190e: LOG1 0000190f: EXTCODESIZE 00001910: LOG1 00001911: LOG3 00001912: UNKNOWN(0x21) 00001913: MOD 00001914: PUSH8 0xc828492db98dca3e 0000191d: KECCAK256 0000191e: PUSH23 0xcc3735a920a3ca505d382bbc416464726573733a206c6f 00001936: PUSH24 0x2d6c6576656c2064656c65676174652063616c6c20666169 0000194f: PUSH13 0x6564a264697066735822122048 0000195d: PUSH16 0x75e9a4446b385054e23006f4fbc1bbbc 0000196e: SELFDESTRUCT 0000196f: ISZERO 00001970: DUP12 00001971: DUP2 00001972: UNKNOWN(0xC3) 00001973: ADDMOD 00001974: UNKNOWN(0xCD) 00001975: PUSH3 0xc17b83 00001979: UNKNOWN(0x25) 0000197a: PUSH17
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x8ac0c871473305818d2ac9d4c5cadaaf84cc8ffd8faca20ae073b83b16a5a1ac
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x8ac0c871473305818d2ac9d4c5cadaaf84cc8ffd8faca20ae073b83b16a5a1ac",
"confirmed": false,
"trace_mode": "callTracer",
"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": "0xbd49dbd6",
"selector": "0xbd49dbd6",
"calldata_variants": [
"0xbd49dbd6",
"0xbd49dbd60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0422ca7",
"selector": "0xc0422ca7",
"calldata_variants": [
"0xc0422ca7",
"0xc0422ca70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2a672e0",
"selector": "0xc2a672e0",
"calldata_variants": [
"0xc2a672e0",
"0xc2a672e00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd6dc687",
"selector": "0xcd6dc687",
"calldata_variants": [
"0xcd6dc687",
"0xcd6dc6870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf0f359b7",
"selector": "0xf0f359b7",
"calldata_variants": [
"0xf0f359b7",
"0xf0f359b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4923,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xc7f736f83d0fae22ad173d51957be72e099bbc757e3815aba8de3514a0d25069
call_targets:
0x6c2b857a901370b1758f39329dd07360c16bd46a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc7f736f83d0fae22ad173d51957be72e099bbc757e3815aba8de3514a0d25069",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6c2b857a901370b1758f39329dd07360c16bd46a"
],
"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": "0xbd49dbd6",
"selector": "0xbd49dbd6",
"calldata_variants": [
"0xbd49dbd6",
"0xbd49dbd60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0422ca7",
"selector": "0xc0422ca7",
"calldata_variants": [
"0xc0422ca7",
"0xc0422ca70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2a672e0",
"selector": "0xc2a672e0",
"calldata_variants": [
"0xc2a672e0",
"0xc2a672e00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd6dc687",
"selector": "0xcd6dc687",
"calldata_variants": [
"0xcd6dc687",
"0xcd6dc6870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf0f359b7",
"selector": "0xf0f359b7",
"calldata_variants": [
"0xf0f359b7",
"0xf0f359b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4007,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5333,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x2b04fd675662189fb7c146e5d7e31929d931f5561eb488e0f81557056e4f0f70
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x2b04fd675662189fb7c146e5d7e31929d931f5561eb488e0f81557056e4f0f70",
"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": "0xbd49dbd6",
"selector": "0xbd49dbd6",
"calldata_variants": [
"0xbd49dbd6",
"0xbd49dbd60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0422ca7",
"selector": "0xc0422ca7",
"calldata_variants": [
"0xc0422ca7",
"0xc0422ca70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2a672e0",
"selector": "0xc2a672e0",
"calldata_variants": [
"0xc2a672e0",
"0xc2a672e00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd6dc687",
"selector": "0xcd6dc687",
"calldata_variants": [
"0xcd6dc687",
"0xcd6dc6870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf0f359b7",
"selector": "0xf0f359b7",
"calldata_variants": [
"0xf0f359b7",
"0xf0f359b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 1
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xc7f736f83d0fae22ad173d51957be72e099bbc757e3815aba8de3514a0d25069
call_targets:
0x6c2b857a901370b1758f39329dd07360c16bd46a
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc7f736f83d0fae22ad173d51957be72e099bbc757e3815aba8de3514a0d25069",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6c2b857a901370b1758f39329dd07360c16bd46a"
],
"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": "0xbd49dbd6",
"selector": "0xbd49dbd6",
"calldata_variants": [
"0xbd49dbd6",
"0xbd49dbd60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc0422ca7",
"selector": "0xc0422ca7",
"calldata_variants": [
"0xc0422ca7",
"0xc0422ca70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc2a672e0",
"selector": "0xc2a672e0",
"calldata_variants": [
"0xc2a672e0",
"0xc2a672e00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcd6dc687",
"selector": "0xcd6dc687",
"calldata_variants": [
"0xcd6dc687",
"0xcd6dc6870000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf0f359b7",
"selector": "0xf0f359b7",
"calldata_variants": [
"0xf0f359b7",
"0xf0f359b70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4007,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5333,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|