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

Analysis Run

dffd0b10-d34d-4f91-bc3d-39611ce3dd2e

complete
Chain ID
1
Address
Block Number
Created
Sun, Jan 4, 2026 2:25 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
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

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable value‑extraction path is 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.
View stderr
[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":[]}
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
4
EXT*/BALANCE
5
Total opcodes
3634
Flags
delegatecall_present selfdestruct_present heavy_ext_balance_usage
View cast disassembly output
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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_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
view
evidence_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
view
trace_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
view
trace_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
view
trace_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
view
evidence_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
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}