89a2f0e1-ba1f-4d58-bd29-d7c186457fee
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31762 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95995 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 95996 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95997 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95998 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95999 | detector.run | complete | 1 / 3 | 1 week ago |
| 96000 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:291367] OpenAI Codex v0.77.0 (research preview)
[codex:291367] --------
[codex:291367] workdir: /tmp/codex-multi-s1iyz476
[codex:291367] model: gpt-5.2-codex
[codex:291367] provider: openai
[codex:291367] approval: never
[codex:291367] sandbox: read-only
[codex:291367] reasoning effort: xhigh
[codex:291367] reasoning summaries: auto
[codex:291367] session id: 019b8fe8-582c-78a1-8211-d066d6798e25
[codex:291367] --------
[codex:291367] user
[codex:291367] 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:291367]
[codex:291367] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:291367]
[codex:291367] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:291367] - Gas inefficiency, code quality, or best practices
[codex:291367] - Theoretical vulnerabilities without a clear extraction path
[codex:291367] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:291367] - Issues requiring social engineering or off-chain coordination
[codex:291367]
[codex:291367] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:291367] - CALL/DELEGATECALL with controllable destination or calldata
[codex:291367] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:291367] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:291367] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:291367] - External calls before state updates (reentrancy)
[codex:291367] - SELFDESTRUCT with controllable beneficiary
[codex:291367] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:291367]
[codex:291367] For each finding, you MUST explain:
[codex:291367] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:291367] 2. The concrete sequence of transactions to extract value
[codex:291367] 3. Why you believe this is exploitable (not just suspicious)
[codex:291367]
[codex:291367] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:291367] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:291367]
[codex:291367] Output MUST be valid JSON matching the provided schema.
[codex:291367] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:291367] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:291367] mcp startup: no servers
[codex:291367]
[codex:291367] thinking
[codex:291367] **Checking for AGENTS skills**
[codex:291367] exec
[codex:291367] /bin/bash -lc ls in /tmp/codex-multi-s1iyz476 succeeded in 6ms:
[codex:291367] BYTECODE_BUNDLE.txt
[codex:291367] codex-output-schema.json
[codex:291367] exec
[codex:291367] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-s1iyz476 succeeded in 8ms:
[codex:291367] Runtime bytecode bundle for best-effort auditing.
[codex:291367] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:291367]
[codex:291367] FILE: runtime_bytecode.hex
[codex:291367] 0x6060604052600436106101245763ffffffff60e060020a60003504166314614af981146101865780631642045e146101a657806317f708fb146101cb57806319f363bc146101de5780632b55b792146101f55780632d923501146102145780632e1a7d4d1461023f578063390a05a8146102555780634d5a8e10146103d057806354fd4d50146103ff5780635bbf97f2146104365780637c422f1d14610449578063853828b61461047c57806389fb8a481461048f5780639aae82c1146104a5578063a9cc4718146104c4578063c0ee0b8a146104d7578063d0e30db014610506578063d3c4c4d01461050e578063def86cbb14610538578063e7f4cc8c14610562578063f251fc8c1461058d578063f91c7ca3146105a0578063fffe58a2146105c4575b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b636c2802e8600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b151561017457600080fd5b5af4151561018157600080fd5b505050005b6101a4600160a060020a0360043581169060243590604435166105e2565b005b34156101b157600080fd5b6101b9610668565b60405190815260200160405180910390f35b34156101d657600080fd5b6101a461066e565b6101a4600435600160a060020a03602435166106d0565b341561020057600080fd5b6101a4600160a060020a036004351661074c565b341561021f57600080fd5b6101a460048035600160a060020a031690602480359081019101356107e5565b341561024a57600080fd5b6101a46004356108a9565b341561026057600080fd5b610268610912565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b838110156102b85780820151838201526020016102a0565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b838110156102f75780820151838201526020016102df565b50505050905001868103845289818151815260200191508051906020019060200280838360005b8381101561033657808201518382015260200161031e565b50505050905001868103835288818151815260200191508051906020019060200280838360005b8381101561037557808201518382015260200161035d565b50505050905001868103825287818151815260200191508051906020019060200280838360005b838110156103b457808201518382015260200161039c565b505050509050019a505050505050505050505060405180910390f35b34156103db57600080fd5b6101a460048035600160a060020a0316906024803591604435918201910135610b45565b341561040a57600080fd5b610412610be9565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561044157600080fd5b6101b9610c62565b341561045457600080fd5b6101a460048035600160a060020a031690602480359160443591606435908101910135610c68565b341561048757600080fd5b6101a4610d16565b341561049a57600080fd5b6101a4600435610d66565b34156104b057600080fd5b6101a4600160a060020a0360043516610dbc565b34156104cf57600080fd5b6101a4610e1b565b34156104e257600080fd5b6101a460048035600160a060020a0316906024803591604435918201910135610e6b565b6101a4610ef9565b341561051957600080fd5b6101a46004803590602480359160443591606435908101910135610f49565b341561054357600080fd5b6101a46024600480358281019290820135918135918201910135610fd8565b341561056d57600080fd5b6101a460048035600160a060020a03169060248035908101910135611072565b341561059857600080fd5b6101b96110f7565b34156105ab57600080fd5b6101a4600160a060020a036004351660243515156110fd565b34156105cf57600080fd5b6101a46004803560248101910135611166565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b634afcba30600085858560405160e060020a63ffffffff87160281526004810194909452600160a060020a039283166024850152604484019190915216606482015260840160006040518083038186803b151561065357600080fd5b5af4151561066057600080fd5b505050505050565b60115490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b637c6a8a68600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b5af415156106cb57600080fd5b505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b632fb2c6d26000848460405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a0316604482015260640160006040518083038186803b151561073857600080fd5b5af4151561074557600080fd5b5050505050565b60155460ff161561075c57600080fd5b6015805460ff19166001179055737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6380b8871c60008360405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160006040518083038186803b15156107c857600080fd5b5af415156107d557600080fd5b50506015805460ff191690555050565b60155460ff16156107f557600080fd5b6015805460ff19166001179055737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63392a4fa2600085858560405160e060020a63ffffffff871602815260048101858152600160a060020a038516602483015260606044830190815260648301849052909160840184602085028082843782019150509550505050505060006040518083038186803b151561088a57600080fd5b5af4151561089757600080fd5b50506015805460ff1916905550505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63f522fc1b60008360405160e060020a63ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156108ff57600080fd5b5af4151561090c57600080fd5b50505050565b61091a6111dd565b6109226111dd565b61092a6111dd565b6109326111dd565b61093a6111dd565b6109426111dd565b61094a6111dd565b6109526111dd565b61095a6111dd565b600554600090819060405180591061096f5750595b90808252806020026020018201604052506005549096506040518059106109935750595b90808252806020026020018201604052506005549095506040518059106109b75750595b90808252806020026020018201604052506005549094506040518059106109db5750595b90808252806020026020018201604052509250600091505b600554821015610ac9576005805460079160009185908110610a1157fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190208054909150868381518110610a4657fe5b602090810290910101526001810154858381518110610a6157fe5b60209081029091010152600281015460ff61010090910416848381518110610a8557fe5b911515602092830290910190910152600281015460ff6201000090910416838381518110610aaf57fe5b9115156020928302909101909101526001909101906109f3565b60006005018686868684805480602002602001604051908101604052809291908181526020018280548015610b2757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b09575b505050505094509a509a509a509a509a505050505050509091929394565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63512b893f60008686868660405160e060020a63ffffffff881602815260048101868152600160a060020a03861660248301526044820185905260806064830190815260848301849052909160a4018484808284378201915050965050505050505060006040518083038186803b1515610bd357600080fd5b5af41515610be057600080fd5b50505050505050565b6000806000737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6354fd4d506040518163ffffffff1660e060020a02815260040160606040518083038186803b1515610c3457600080fd5b5af41515610c4157600080fd5b50505060405180519060200180519060200180519050925092509250909192565b60085490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63b261039b6000878787878760405160e060020a63ffffffff891602815260048101878152600160a060020a0387166024830152604482018690526064820185905260a06084830190815260a48301849052909160c401848480828437820191505097505050505050505060006040518083038186803b1515610cff57600080fd5b5af41515610d0c57600080fd5b5050505050505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63f64e7cda600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6368540b6b60008360405160e060020a63ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156108ff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63c27d2d4560008360405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160006040518083038186803b15156108ff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6362cea5b9600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63dde9806b60008686868660405160e060020a63ffffffff881602815260048101868152600160a060020a03861660248301526044820185905260806064830190815260848301849052909160a4018484808284378201915050965050505050505060006040518083038186803b1515610bd357600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63cc135813600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b632006b39d600087878787876040518763ffffffff1660e060020a02815260040180878152602001868152602001858152602001848152602001806020018281038252848482818152602001925060200280828437820191505097505050505050505060006040518083038186803b1515610cff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63536b7ad56000868686866040518663ffffffff1660e060020a02815260040180868152602001806020018060200183810383528787828181526020019250602002808284379091018481038352858152602090810191508690860280828437820191505097505050505050505060006040518083038186803b1515610bd357600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63d2ae7e0b600085858560405160e060020a63ffffffff871602815260048101858152600160a060020a038516602483015260606044830190815260648301849052909160840184848082843782019150509550505050505060006040518083038186803b151561065357600080fd5b600a5490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63663eb9946000848460405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301521515604482015260640160006040518083038186803b151561073857600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63d4d357c06000848460405160e060020a63ffffffff861602815260048101848152604060248301908152604483018490529091606401846020850280828437820191505094505050505060006040518083038186803b151561073857600080fd5b602060405190810160405260008152905600a165627a7a72305820fbe715aa3a36b9111c940aed3bc58cf3552d1d66801086966e43829f9f7008c50029
[codex:291367]
[codex:291367] thinking
[codex:291367] **Analyzing proxy bytecode and reentrancy guard**
[codex:291367]
[codex:291367] I'm inspecting this runtime bytecode that acts like a proxy forwarding calls to a fixed address. I decoded key opcode sequences revealing a reentrancy guard using a flag in storage slot 0x15, and confirmed the proxy uses delegatecalls to the fixed implementation. I’m carefully parsing the function dispatch and checking for payment or value transfers to find any concrete exploitable path, but so far it looks like just a guarded forwarder with no obvious direct exploit. Let's explore the call patterns more to be sure.
[codex:291367] exec
[codex:291367] /bin/bash -lc 'rg -n "5af1|5af4" BYTECODE_BUNDLE.txt' in /tmp/codex-multi-s1iyz476 succeeded in 15ms:
[codex:291367] 5:0x6060604052600436106101245763ffffffff60e060020a60003504166314614af981146101865780631642045e146101a657806317f708fb146101cb57806319f363bc146101de5780632b55b792146101f55780632d923501146102145780632e1a7d4d1461023f578063390a05a8146102555780634d5a8e10146103d057806354fd4d50146103ff5780635bbf97f2146104365780637c422f1d14610449578063853828b61461047c57806389fb8a481461048f5780639aae82c1146104a5578063a9cc4718146104c4578063c0ee0b8a146104d7578063d0e30db014610506578063d3c4c4d01461050e578063def86cbb14610538578063e7f4cc8c14610562578063f251fc8c1461058d578063f91c7ca3146105a0578063fffe58a2146105c4575b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b636c2802e8600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b151561017457600080fd5b5af4151561018157600080fd5b505050005b6101a4600160a060020a0360043581169060243590604435166105e2565b005b34156101b157600080fd5b6101b9610668565b60405190815260200160405180910390f35b34156101d657600080fd5b6101a461066e565b6101a4600435600160a060020a03602435166106d0565b341561020057600080fd5b6101a4600160a060020a036004351661074c565b341561021f57600080fd5b6101a460048035600160a060020a031690602480359081019101356107e5565b341561024a57600080fd5b6101a46004356108a9565b341561026057600080fd5b610268610912565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019060200280838360005b838110156102b85780820151838201526020016102a0565b5050505090500186810385528a818151815260200191508051906020019060200280838360005b838110156102f75780820151838201526020016102df565b50505050905001868103845289818151815260200191508051906020019060200280838360005b8381101561033657808201518382015260200161031e565b50505050905001868103835288818151815260200191508051906020019060200280838360005b8381101561037557808201518382015260200161035d565b50505050905001868103825287818151815260200191508051906020019060200280838360005b838110156103b457808201518382015260200161039c565b505050509050019a505050505050505050505060405180910390f35b34156103db57600080fd5b6101a460048035600160a060020a0316906024803591604435918201910135610b45565b341561040a57600080fd5b610412610be9565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561044157600080fd5b6101b9610c62565b341561045457600080fd5b6101a460048035600160a060020a031690602480359160443591606435908101910135610c68565b341561048757600080fd5b6101a4610d16565b341561049a57600080fd5b6101a4600435610d66565b34156104b057600080fd5b6101a4600160a060020a0360043516610dbc565b34156104cf57600080fd5b6101a4610e1b565b34156104e257600080fd5b6101a460048035600160a060020a0316906024803591604435918201910135610e6b565b6101a4610ef9565b341561051957600080fd5b6101a46004803590602480359160443591606435908101910135610f49565b341561054357600080fd5b6101a46024600480358281019290820135918135918201910135610fd8565b341561056d57600080fd5b6101a460048035600160a060020a03169060248035908101910135611072565b341561059857600080fd5b6101b96110f7565b34156105ab57600080fd5b6101a4600160a060020a036004351660243515156110fd565b34156105cf57600080fd5b6101a46004803560248101910135611166565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b634afcba30600085858560405160e060020a63ffffffff87160281526004810194909452600160a060020a039283166024850152604484019190915216606482015260840160006040518083038186803b151561065357600080fd5b5af4151561066057600080fd5b505050505050565b60115490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b637c6a8a68600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b5af415156106cb57600080fd5b505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b632fb2c6d26000848460405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a0316604482015260640160006040518083038186803b151561073857600080fd5b5af4151561074557600080fd5b5050505050565b60155460ff161561075c57600080fd5b6015805460ff19166001179055737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6380b8871c60008360405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160006040518083038186803b15156107c857600080fd5b5af415156107d557600080fd5b50506015805460ff191690555050565b60155460ff16156107f557600080fd5b6015805460ff19166001179055737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63392a4fa2600085858560405160e060020a63ffffffff871602815260048101858152600160a060020a038516602483015260606044830190815260648301849052909160840184602085028082843782019150509550505050505060006040518083038186803b151561088a57600080fd5b5af4151561089757600080fd5b50506015805460ff1916905550505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63f522fc1b60008360405160e060020a63ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156108ff57600080fd5b5af4151561090c57600080fd5b50505050565b61091a6111dd565b6109226111dd565b61092a6111dd565b6109326111dd565b61093a6111dd565b6109426111dd565b61094a6111dd565b6109526111dd565b61095a6111dd565b600554600090819060405180591061096f5750595b90808252806020026020018201604052506005549096506040518059106109935750595b90808252806020026020018201604052506005549095506040518059106109b75750595b90808252806020026020018201604052506005549094506040518059106109db5750595b90808252806020026020018201604052509250600091505b600554821015610ac9576005805460079160009185908110610a1157fe5b6000918252602080832090910154600160a060020a0316835282019290925260400190208054909150868381518110610a4657fe5b602090810290910101526001810154858381518110610a6157fe5b60209081029091010152600281015460ff61010090910416848381518110610a8557fe5b911515602092830290910190910152600281015460ff6201000090910416838381518110610aaf57fe5b9115156020928302909101909101526001909101906109f3565b60006005018686868684805480602002602001604051908101604052809291908181526020018280548015610b2757602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610b09575b505050505094509a509a509a509a509a505050505050509091929394565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63512b893f60008686868660405160e060020a63ffffffff881602815260048101868152600160a060020a03861660248301526044820185905260806064830190815260848301849052909160a4018484808284378201915050965050505050505060006040518083038186803b1515610bd357600080fd5b5af41515610be057600080fd5b50505050505050565b6000806000737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6354fd4d506040518163ffffffff1660e060020a02815260040160606040518083038186803b1515610c3457600080fd5b5af41515610c4157600080fd5b50505060405180519060200180519060200180519050925092509250909192565b60085490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63b261039b6000878787878760405160e060020a63ffffffff891602815260048101878152600160a060020a0387166024830152604482018690526064820185905260a06084830190815260a48301849052909160c401848480828437820191505097505050505050505060006040518083038186803b1515610cff57600080fd5b5af41515610d0c57600080fd5b5050505050505050565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63f64e7cda600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6368540b6b60008360405160e060020a63ffffffff85160281526004810192909252602482015260440160006040518083038186803b15156108ff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63c27d2d4560008360405160e060020a63ffffffff85160281526004810192909252600160a060020a0316602482015260440160006040518083038186803b15156108ff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b6362cea5b9600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63dde9806b60008686868660405160e060020a63ffffffff881602815260048101868152600160a060020a03861660248301526044820185905260806064830190815260848301849052909160a4018484808284378201915050965050505050505060006040518083038186803b1515610bd357600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63cc135813600060405160e060020a63ffffffff8416028152600481019190915260240160006040518083038186803b15156106be57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b632006b39d600087878787876040518763ffffffff1660e060020a02815260040180878152602001868152602001858152602001848152602001806020018281038252848482818152602001925060200280828437820191505097505050505050505060006040518083038186803b1515610cff57600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63536b7ad56000868686866040518663ffffffff1660e060020a02815260040180868152602001806020018060200183810383528787828181526020019250602002808284379091018481038352858152602090810191508690860280828437820191505097505050505050505060006040518083038186803b1515610bd357600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63d2ae7e0b600085858560405160e060020a63ffffffff871602815260048101858152600160a060020a038516602483015260606044830190815260648301849052909160840184848082843782019150509550505050505060006040518083038186803b151561065357600080fd5b600a5490565b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63663eb9946000848460405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301521515604482015260640160006040518083038186803b151561073857600080fd5b737723b7ba8fa8620ac9d667f05c3e7d863266fc4b63d4d357c06000848460405160e060020a63ffffffff861602815260048101848152604060248301908152604483018490529091606401846020850280828437820191505094505050505060006040518083038186803b151561073857600080fd5b602060405190810160405260008152905600a165627a7a72305820fbe715aa3a36b9111c940aed3bc58cf3552d1d66801086966e43829f9f7008c50029
[codex:291367]
[codex:291367] thinking
[codex:291367] **Analyzing proxy contract and opcode patterns**
[codex:291367] exec
[codex:291367] /bin/bash -lc "python - <<'PY'
[codex:291367] import re
[codex:291367] from pathlib import Path
[codex:291367] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:291367] # extract hex after 0x
[codex:291367] m=re.search(r'0x[0-9a-fA-F]+', text)
[codex:291367] hexstr=m.group(0)[2:]
[codex:291367] # strip potential trailing non-hex? already
[codex:291367] code=bytes.fromhex(hexstr)
[codex:291367] # opcode names
[codex:291367] opnames={
[codex:291367] 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:291367] 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:291367] 0x20:'SHA3',
[codex:291367] 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:291367] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:291367] 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:291367] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:291367] 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:291367] 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:291367] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:291367] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:291367] }
[codex:291367] # disassemble and track interesting opcodes
[codex:291367] interesting={'CALL','DELEGATECALL','CALLCODE','STATICCALL','SELFDESTRUCT','SSTORE','SLOAD'}
[codex:291367]
[codex:291367] pos=0
[codex:291367] ops=[]
[codex:291367] while pos<len(code):
[codex:291367] op=code[pos]
[codex:291367] name=opnames.get(op, f'OP_{op:02x}')
[codex:291367] arg=b''
[codex:291367] pos+=1
[codex:291367] if 0x60<=op<=0x7f:
[codex:291367] n=op-0x5f
[codex:291367] arg=code[pos:pos+n]
[codex:291367] pos+=n
[codex:291367] ops.append((pos-1,op,name,arg))
[codex:291367]
[codex:291367] # find opcodes of interest with context
[codex:291367] hits=[]
[codex:291367] for i,(pc,op,name,arg) in enumerate(ops):
[codex:291367] if name in interesting:
[codex:291367] # capture previous 3 and next 3
[codex:291367] ctx=ops[max(0,i-3):i+4]
[codex:291367] hits.append((pc,name,ctx))
[codex:291367]
[codex:291367] print('Total ops',len(ops))
[codex:291367] print('CALL count',sum(1 for _,_,n,_ in ops if n=='CALL'))
[codex:291367] print('DELEGATECALL count',sum(1 for _,_,n,_ in ops if n=='DELEGATECALL'))
[codex:291367] print('STATICCALL count',sum(1 for _,_,n,_ in ops if n=='STATICCALL'))
[codex:291367] print('SELFDESTRUCT count',sum(1 for _,_,n,_ in ops if n=='SELFDESTRUCT'))
[codex:291367]
[codex:291367] # print locations of SELFDESTRUCT if any
[codex:291367] for pc,name,ctx in hits:
[codex:291367] if name=='SELFDESTRUCT':
[codex:291367] print('SELFDESTRUCT at',pc)
[codex:291367]
[codex:291367] # print first few CALL/DELEGATECALL contexts
[codex:291367] for pc,name,ctx in hits:
[codex:291367] if name in ('CALL','DELEGATECALL'):
[codex:291367] print('---',name,'at',pc)
[codex:291367] for cpc,cop,cname,carg in ctx:
[codex:291367] if 0x60<=cop<=0x7f:
[codex:291367] argstr=carg.hex()
[codex:291367] print(f'{cpc:04x}: {cname} 0x{argstr}')
[codex:291367] else:
[codex:291367] print(f'{cpc:04x}: {cname}')
[codex:291367] # limit
[codex:291367] break
[codex:291367]
[codex:291367] # list all PUSH20 constants used just before DELEGATECALL? gather all PUSH20 values
[codex:291367] push20s=set()
[codex:291367] for pc,op,name,arg in ops:
[codex:291367] if name=='PUSH20':
[codex:291367] push20s.add(arg.hex())
[codex:291367] print('PUSH20 constants:',push20s)
[codex:291367]
[codex:291367] PY" in /tmp/codex-multi-s1iyz476 succeeded in 48ms:
[codex:291367] Total ops 3095
[codex:291367] CALL count 0
[codex:291367] DELEGATECALL count 10
[codex:291367] STATICCALL count 0
[codex:291367] SELFDESTRUCT count 0
[codex:291367] --- DELEGATECALL at 374
[codex:291367] 0173: REVERT
[codex:291367] 0174: JUMPDEST
[codex:291367] 0175: GAS
[codex:291367] 0176: DELEGATECALL
[codex:291367] 0177: ISZERO
[codex:291367] 0178: ISZERO
[codex:291367] 017b: PUSH2 0x0181
[codex:291367] PUSH20 constants: {'7723b7ba8fa8620ac9d667f05c3e7d863266fc4b'}
[codex:291367]
[codex:291367] thinking
[codex:291367] **Analyzing delegatecall behavior and storage modifications**
[codex:291367] exec
[codex:291367] /bin/bash -lc "python - <<'PY'
[codex:291367] import re
[codex:291367] from pathlib import Path
[codex:291367] text=Path('BYTECODE_BUNDLE.txt').read_text()
[codex:291367] hexstr=re.search(r'0x[0-9a-fA-F]+', text).group(0)[2:]
[codex:291367] code=bytes.fromhex(hexstr)
[codex:291367]
[codex:291367] # disassemble with positions
[codex:291367] opnames={
[codex:291367] 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:291367] 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:291367] 0x20:'SHA3',
[codex:291367] 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:291367] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:291367] 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:291367] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:291367] 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:291367] 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:291367] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:291367] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:291367] }
[codex:291367]
[codex:291367] ops=[]
[codex:291367] pos=0
[codex:291367] while pos<len(code):
[codex:291367] op=code[pos]
[codex:291367] name=opnames.get(op,f'OP_{op:02x}')
[codex:291367] pos+=1
[codex:291367] arg=b''
[codex:291367] if 0x60<=op<=0x7f:
[codex:291367] n=op-0x5f
[codex:291367] arg=code[pos:pos+n]
[codex:291367] pos+=n
[codex:291367] ops.append((pos-1,op,name,arg))
[codex:291367]
[codex:291367] # collect SSTORE contexts
[codex:291367] for i,(pc,op,name,arg) in enumerate(ops):
[codex:291367] if name=='SSTORE':
[codex:291367] # show 5 prior ops
[codex:291367] ctx=ops[max(0,i-6):i+1]
[codex:291367] print('SSTORE at',pc)
[codex:291367] for cpc,cop,cname,carg in ctx:
[codex:291367] if 0x60<=cop<=0x7f:
[codex:291367] print(f' {cpc:04x}: {cname} 0x{carg.hex()}')
[codex:291367] else:
[codex:291367] print(f' {cpc:04x}: {cname}')
[codex:291367] print('')
[codex:291367] PY" in /tmp/codex-multi-s1iyz476 succeeded in 33ms:
[codex:291367] SSTORE at 1897
[codex:291367] 0762: PUSH1 0xff
[codex:291367] 0763: NOT
[codex:291367] 0764: AND
[codex:291367] 0766: PUSH1 0x01
[codex:291367] 0767: OR
[codex:291367] 0768: SWAP1
[codex:291367] 0769: SSTORE
[codex:291367]
[codex:291367] SSTORE at 2017
[codex:291367] 07da: DUP1
[codex:291367] 07db: SLOAD
[codex:291367] 07dd: PUSH1 0xff
[codex:291367] 07de: NOT
[codex:291367] 07df: AND
[codex:291367] 07e0: SWAP1
[codex:291367] 07e1: SSTORE
[codex:291367]
[codex:291367] SSTORE at 2050
[codex:291367] 07fb: PUSH1 0xff
[codex:291367]
[codex:291367] thinking
[codex:291367] **Analyzing bytecode for vulnerabilities**
[codex:291367]
[codex:291367] I've carefully checked all SSTORE occurrences and concluded the suspicious one is actually unreachable metadata. The contract only toggles a reentrancy guard in storage, with no external SSTORE or admin writes. No CALL, SELFDESTRUCT, or ecrecover opcodes appear accessible either. Given this, I'll produce a JSON summary stating no findings, while noting the limitations of static bytecode analysis.
[codex:291367] codex
[codex:291367] {"no_findings":true,"summary":"Bytecode only performs DELEGATECALLs to a single hardcoded address (0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b), with no user-controlled call target, no CALL/SELFDESTRUCT opcodes, and no reachable SSTOREs beyond a reentrancy guard flag; no concrete value-extraction path is visible from this wrapper alone.","findings":[]}
[codex:291367] tokens used
[codex:291367] 23,914
[codex:291367] {"no_findings":true,"summary":"Bytecode only performs DELEGATECALLs to a single hardcoded address (0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b), with no user-controlled call target, no CALL/SELFDESTRUCT opcodes, and no reachable SSTOREs beyond a reentrancy guard flag; no concrete value-extraction path is visible from this wrapper alone.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T20:48:35.366997+00:00",
"returncode": 0
},
"summary": "Bytecode only performs DELEGATECALLs to a single hardcoded address (0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b), with no user-controlled call target, no CALL/SELFDESTRUCT opcodes, and no reachable SSTOREs beyond a reentrancy guard flag; no concrete value-extraction path is visible from this wrapper alone.",
"raw_final": {
"summary": "Bytecode only performs DELEGATECALLs to a single hardcoded address (0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b), with no user-controlled call target, no CALL/SELFDESTRUCT opcodes, and no reachable SSTOREs beyond a reentrancy guard flag; no concrete value-extraction path is visible from this wrapper alone.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x60 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0124 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x14614af9 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x0186 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x1642045e 0000002d: EQ 0000002e: PUSH2 0x01a6 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x17f708fb 00000038: EQ 00000039: PUSH2 0x01cb 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x19f363bc 00000043: EQ 00000044: PUSH2 0x01de 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x2b55b792 0000004e: EQ 0000004f: PUSH2 0x01f5 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x2d923501 00000059: EQ 0000005a: PUSH2 0x0214 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x2e1a7d4d 00000064: EQ 00000065: PUSH2 0x023f 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x390a05a8 0000006f: EQ 00000070: PUSH2 0x0255 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x4d5a8e10 0000007a: EQ 0000007b: PUSH2 0x03d0 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x54fd4d50 00000085: EQ 00000086: PUSH2 0x03ff 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x5bbf97f2 00000090: EQ 00000091: PUSH2 0x0436 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x7c422f1d 0000009b: EQ 0000009c: PUSH2 0x0449 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x853828b6 000000a6: EQ 000000a7: PUSH2 0x047c 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x89fb8a48 000000b1: EQ 000000b2: PUSH2 0x048f 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x9aae82c1 000000bc: EQ 000000bd: PUSH2 0x04a5 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0xa9cc4718 000000c7: EQ 000000c8: PUSH2 0x04c4 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0xc0ee0b8a 000000d2: EQ 000000d3: PUSH2 0x04d7 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0xd0e30db0 000000dd: EQ 000000de: PUSH2 0x0506 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xd3c4c4d0 000000e8: EQ 000000e9: PUSH2 0x050e 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xdef86cbb 000000f3: EQ 000000f4: PUSH2 0x0538 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xe7f4cc8c 000000fe: EQ 000000ff: PUSH2 0x0562 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xf251fc8c 00000109: EQ 0000010a: PUSH2 0x058d 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0xf91c7ca3 00000114: EQ 00000115: PUSH2 0x05a0 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0xfffe58a2 0000011f: EQ 00000120: PUSH2 0x05c4 00000123: JUMPI 00000124: JUMPDEST 00000125: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 0000013a: PUSH4 0x6c2802e8 0000013f: PUSH1 0x00 00000141: PUSH1 0x40 00000143: MLOAD 00000144: PUSH1 0xe0 00000146: PUSH1 0x02 00000148: EXP 00000149: PUSH4 0xffffffff 0000014e: DUP5 0000014f: AND 00000150: MUL 00000151: DUP2 00000152: MSTORE 00000153: PUSH1 0x04 00000155: DUP2 00000156: ADD 00000157: SWAP2 00000158: SWAP1 00000159: SWAP2 0000015a: MSTORE 0000015b: PUSH1 0x24 0000015d: ADD 0000015e: PUSH1 0x00 00000160: PUSH1 0x40 00000162: MLOAD 00000163: DUP1 00000164: DUP4 00000165: SUB 00000166: DUP2 00000167: DUP7 00000168: DUP1 00000169: EXTCODESIZE 0000016a: ISZERO 0000016b: ISZERO 0000016c: PUSH2 0x0174 0000016f: JUMPI 00000170: PUSH1 0x00 00000172: DUP1 00000173: REVERT 00000174: JUMPDEST 00000175: GAS 00000176: DELEGATECALL 00000177: ISZERO 00000178: ISZERO 00000179: PUSH2 0x0181 0000017c: JUMPI 0000017d: PUSH1 0x00 0000017f: DUP1 00000180: REVERT 00000181: JUMPDEST 00000182: POP 00000183: POP 00000184: POP 00000185: STOP 00000186: JUMPDEST 00000187: PUSH2 0x01a4 0000018a: PUSH1 0x01 0000018c: PUSH1 0xa0 0000018e: PUSH1 0x02 00000190: EXP 00000191: SUB 00000192: PUSH1 0x04 00000194: CALLDATALOAD 00000195: DUP2 00000196: AND 00000197: SWAP1 00000198: PUSH1 0x24 0000019a: CALLDATALOAD 0000019b: SWAP1 0000019c: PUSH1 0x44 0000019e: CALLDATALOAD 0000019f: AND 000001a0: PUSH2 0x05e2 000001a3: JUMP 000001a4: JUMPDEST 000001a5: STOP 000001a6: JUMPDEST 000001a7: CALLVALUE 000001a8: ISZERO 000001a9: PUSH2 0x01b1 000001ac: JUMPI 000001ad: PUSH1 0x00 000001af: DUP1 000001b0: REVERT 000001b1: JUMPDEST 000001b2: PUSH2 0x01b9 000001b5: PUSH2 0x0668 000001b8: JUMP 000001b9: JUMPDEST 000001ba: PUSH1 0x40 000001bc: MLOAD 000001bd: SWAP1 000001be: DUP2 000001bf: MSTORE 000001c0: PUSH1 0x20 000001c2: ADD 000001c3: PUSH1 0x40 000001c5: MLOAD 000001c6: DUP1 000001c7: SWAP2 000001c8: SUB 000001c9: SWAP1 000001ca: RETURN 000001cb: JUMPDEST 000001cc: CALLVALUE 000001cd: ISZERO 000001ce: PUSH2 0x01d6 000001d1: JUMPI 000001d2: PUSH1 0x00 000001d4: DUP1 000001d5: REVERT 000001d6: JUMPDEST 000001d7: PUSH2 0x01a4 000001da: PUSH2 0x066e 000001dd: JUMP 000001de: JUMPDEST 000001df: PUSH2 0x01a4 000001e2: PUSH1 0x04 000001e4: CALLDATALOAD 000001e5: PUSH1 0x01 000001e7: PUSH1 0xa0 000001e9: PUSH1 0x02 000001eb: EXP 000001ec: SUB 000001ed: PUSH1 0x24 000001ef: CALLDATALOAD 000001f0: AND 000001f1: PUSH2 0x06d0 000001f4: JUMP 000001f5: JUMPDEST 000001f6: CALLVALUE 000001f7: ISZERO 000001f8: PUSH2 0x0200 000001fb: JUMPI 000001fc: PUSH1 0x00 000001fe: DUP1 000001ff: REVERT 00000200: JUMPDEST 00000201: PUSH2 0x01a4 00000204: PUSH1 0x01 00000206: PUSH1 0xa0 00000208: PUSH1 0x02 0000020a: EXP 0000020b: SUB 0000020c: PUSH1 0x04 0000020e: CALLDATALOAD 0000020f: AND 00000210: PUSH2 0x074c 00000213: JUMP 00000214: JUMPDEST 00000215: CALLVALUE 00000216: ISZERO 00000217: PUSH2 0x021f 0000021a: JUMPI 0000021b: PUSH1 0x00 0000021d: DUP1 0000021e: REVERT 0000021f: JUMPDEST 00000220: PUSH2 0x01a4 00000223: PUSH1 0x04 00000225: DUP1 00000226: CALLDATALOAD 00000227: PUSH1 0x01 00000229: PUSH1 0xa0 0000022b: PUSH1 0x02 0000022d: EXP 0000022e: SUB 0000022f: AND 00000230: SWAP1 00000231: PUSH1 0x24 00000233: DUP1 00000234: CALLDATALOAD 00000235: SWAP1 00000236: DUP2 00000237: ADD 00000238: SWAP2 00000239: ADD 0000023a: CALLDATALOAD 0000023b: PUSH2 0x07e5 0000023e: JUMP 0000023f: JUMPDEST 00000240: CALLVALUE 00000241: ISZERO 00000242: PUSH2 0x024a 00000245: JUMPI 00000246: PUSH1 0x00 00000248: DUP1 00000249: REVERT 0000024a: JUMPDEST 0000024b: PUSH2 0x01a4 0000024e: PUSH1 0x04 00000250: CALLDATALOAD 00000251: PUSH2 0x08a9 00000254: JUMP 00000255: JUMPDEST 00000256: CALLVALUE 00000257: ISZERO 00000258: PUSH2 0x0260 0000025b: JUMPI 0000025c: PUSH1 0x00 0000025e: DUP1 0000025f: REVERT 00000260: JUMPDEST 00000261: PUSH2 0x0268 00000264: PUSH2 0x0912 00000267: JUMP 00000268: JUMPDEST 00000269: PUSH1 0x40 0000026b: MLOAD 0000026c: DUP1 0000026d: DUP1 0000026e: PUSH1 0x20 00000270: ADD 00000271: DUP1 00000272: PUSH1 0x20 00000274: ADD 00000275: DUP1 00000276: PUSH1 0x20 00000278: ADD 00000279: DUP1 0000027a: PUSH1 0x20 0000027c: ADD 0000027d: DUP1 0000027e: PUSH1 0x20 00000280: ADD 00000281: DUP7 00000282: DUP2 00000283: SUB 00000284: DUP7 00000285: MSTORE 00000286: DUP12 00000287: DUP2 00000288: DUP2 00000289: MLOAD 0000028a: DUP2 0000028b: MSTORE 0000028c: PUSH1 0x20 0000028e: ADD 0000028f: SWAP2 00000290: POP 00000291: DUP1 00000292: MLOAD 00000293: SWAP1 00000294: PUSH1 0x20 00000296: ADD 00000297: SWAP1 00000298: PUSH1 0x20 0000029a: MUL 0000029b: DUP1 0000029c: DUP4 0000029d: DUP4 0000029e: PUSH1 0x00 000002a0: JUMPDEST 000002a1: DUP4 000002a2: DUP2 000002a3: LT 000002a4: ISZERO 000002a5: PUSH2 0x02b8 000002a8: JUMPI 000002a9: DUP1 000002aa: DUP3 000002ab: ADD 000002ac: MLOAD 000002ad: DUP4 000002ae: DUP3 000002af: ADD 000002b0: MSTORE 000002b1: PUSH1 0x20 000002b3: ADD 000002b4: PUSH2 0x02a0 000002b7: JUMP 000002b8: JUMPDEST 000002b9: POP 000002ba: POP 000002bb: POP 000002bc: POP 000002bd: SWAP1 000002be: POP 000002bf: ADD 000002c0: DUP7 000002c1: DUP2 000002c2: SUB 000002c3: DUP6 000002c4: MSTORE 000002c5: DUP11 000002c6: DUP2 000002c7: DUP2 000002c8: MLOAD 000002c9: DUP2 000002ca: MSTORE 000002cb: PUSH1 0x20 000002cd: ADD 000002ce: SWAP2 000002cf: POP 000002d0: DUP1 000002d1: MLOAD 000002d2: SWAP1 000002d3: PUSH1 0x20 000002d5: ADD 000002d6: SWAP1 000002d7: PUSH1 0x20 000002d9: MUL 000002da: DUP1 000002db: DUP4 000002dc: DUP4 000002dd: PUSH1 0x00 000002df: JUMPDEST 000002e0: DUP4 000002e1: DUP2 000002e2: LT 000002e3: ISZERO 000002e4: PUSH2 0x02f7 000002e7: JUMPI 000002e8: DUP1 000002e9: DUP3 000002ea: ADD 000002eb: MLOAD 000002ec: DUP4 000002ed: DUP3 000002ee: ADD 000002ef: MSTORE 000002f0: PUSH1 0x20 000002f2: ADD 000002f3: PUSH2 0x02df 000002f6: JUMP 000002f7: JUMPDEST 000002f8: POP 000002f9: POP 000002fa: POP 000002fb: POP 000002fc: SWAP1 000002fd: POP 000002fe: ADD 000002ff: DUP7 00000300: DUP2 00000301: SUB 00000302: DUP5 00000303: MSTORE 00000304: DUP10 00000305: DUP2 00000306: DUP2 00000307: MLOAD 00000308: DUP2 00000309: MSTORE 0000030a: PUSH1 0x20 0000030c: ADD 0000030d: SWAP2 0000030e: POP 0000030f: DUP1 00000310: MLOAD 00000311: SWAP1 00000312: PUSH1 0x20 00000314: ADD 00000315: SWAP1 00000316: PUSH1 0x20 00000318: MUL 00000319: DUP1 0000031a: DUP4 0000031b: DUP4 0000031c: PUSH1 0x00 0000031e: JUMPDEST 0000031f: DUP4 00000320: DUP2 00000321: LT 00000322: ISZERO 00000323: PUSH2 0x0336 00000326: JUMPI 00000327: DUP1 00000328: DUP3 00000329: ADD 0000032a: MLOAD 0000032b: DUP4 0000032c: DUP3 0000032d: ADD 0000032e: MSTORE 0000032f: PUSH1 0x20 00000331: ADD 00000332: PUSH2 0x031e 00000335: JUMP 00000336: JUMPDEST 00000337: POP 00000338: POP 00000339: POP 0000033a: POP 0000033b: SWAP1 0000033c: POP 0000033d: ADD 0000033e: DUP7 0000033f: DUP2 00000340: SUB 00000341: DUP4 00000342: MSTORE 00000343: DUP9 00000344: DUP2 00000345: DUP2 00000346: MLOAD 00000347: DUP2 00000348: MSTORE 00000349: PUSH1 0x20 0000034b: ADD 0000034c: SWAP2 0000034d: POP 0000034e: DUP1 0000034f: MLOAD 00000350: SWAP1 00000351: PUSH1 0x20 00000353: ADD 00000354: SWAP1 00000355: PUSH1 0x20 00000357: MUL 00000358: DUP1 00000359: DUP4 0000035a: DUP4 0000035b: PUSH1 0x00 0000035d: JUMPDEST 0000035e: DUP4 0000035f: DUP2 00000360: LT 00000361: ISZERO 00000362: PUSH2 0x0375 00000365: JUMPI 00000366: DUP1 00000367: DUP3 00000368: ADD 00000369: MLOAD 0000036a: DUP4 0000036b: DUP3 0000036c: ADD 0000036d: MSTORE 0000036e: PUSH1 0x20 00000370: ADD 00000371: PUSH2 0x035d 00000374: JUMP 00000375: JUMPDEST 00000376: POP 00000377: POP 00000378: POP 00000379: POP 0000037a: SWAP1 0000037b: POP 0000037c: ADD 0000037d: DUP7 0000037e: DUP2 0000037f: SUB 00000380: DUP3 00000381: MSTORE 00000382: DUP8 00000383: DUP2 00000384: DUP2 00000385: MLOAD 00000386: DUP2 00000387: MSTORE 00000388: PUSH1 0x20 0000038a: ADD 0000038b: SWAP2 0000038c: POP 0000038d: DUP1 0000038e: MLOAD 0000038f: SWAP1 00000390: PUSH1 0x20 00000392: ADD 00000393: SWAP1 00000394: PUSH1 0x20 00000396: MUL 00000397: DUP1 00000398: DUP4 00000399: DUP4 0000039a: PUSH1 0x00 0000039c: JUMPDEST 0000039d: DUP4 0000039e: DUP2 0000039f: LT 000003a0: ISZERO 000003a1: PUSH2 0x03b4 000003a4: JUMPI 000003a5: DUP1 000003a6: DUP3 000003a7: ADD 000003a8: MLOAD 000003a9: DUP4 000003aa: DUP3 000003ab: ADD 000003ac: MSTORE 000003ad: PUSH1 0x20 000003af: ADD 000003b0: PUSH2 0x039c 000003b3: JUMP 000003b4: JUMPDEST 000003b5: POP 000003b6: POP 000003b7: POP 000003b8: POP 000003b9: SWAP1 000003ba: POP 000003bb: ADD 000003bc: SWAP11 000003bd: POP 000003be: POP 000003bf: POP 000003c0: POP 000003c1: POP 000003c2: POP 000003c3: POP 000003c4: POP 000003c5: POP 000003c6: POP 000003c7: POP 000003c8: PUSH1 0x40 000003ca: MLOAD 000003cb: DUP1 000003cc: SWAP2 000003cd: SUB 000003ce: SWAP1 000003cf: RETURN 000003d0: JUMPDEST 000003d1: CALLVALUE 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: PUSH2 0x01a4 000003df: PUSH1 0x04 000003e1: DUP1 000003e2: CALLDATALOAD 000003e3: PUSH1 0x01 000003e5: PUSH1 0xa0 000003e7: PUSH1 0x02 000003e9: EXP 000003ea: SUB 000003eb: AND 000003ec: SWAP1 000003ed: PUSH1 0x24 000003ef: DUP1 000003f0: CALLDATALOAD 000003f1: SWAP2 000003f2: PUSH1 0x44 000003f4: CALLDATALOAD 000003f5: SWAP2 000003f6: DUP3 000003f7: ADD 000003f8: SWAP2 000003f9: ADD 000003fa: CALLDATALOAD 000003fb: PUSH2 0x0b45 000003fe: JUMP 000003ff: JUMPDEST 00000400: CALLVALUE 00000401: ISZERO 00000402: PUSH2 0x040a 00000405: JUMPI 00000406: PUSH1 0x00 00000408: DUP1 00000409: REVERT 0000040a: JUMPDEST 0000040b: PUSH2 0x0412 0000040e: PUSH2 0x0be9 00000411: JUMP 00000412: JUMPDEST 00000413: PUSH1 0x40 00000415: MLOAD 00000416: DUP1 00000417: DUP5 00000418: DUP2 00000419: MSTORE 0000041a: PUSH1 0x20 0000041c: ADD 0000041d: DUP4 0000041e: DUP2 0000041f: MSTORE 00000420: PUSH1 0x20 00000422: ADD 00000423: DUP3 00000424: DUP2 00000425: MSTORE 00000426: PUSH1 0x20 00000428: ADD 00000429: SWAP4 0000042a: POP 0000042b: POP 0000042c: POP 0000042d: POP 0000042e: PUSH1 0x40 00000430: MLOAD 00000431: DUP1 00000432: SWAP2 00000433: SUB 00000434: SWAP1 00000435: RETURN 00000436: JUMPDEST 00000437: CALLVALUE 00000438: ISZERO 00000439: PUSH2 0x0441 0000043c: JUMPI 0000043d: PUSH1 0x00 0000043f: DUP1 00000440: REVERT 00000441: JUMPDEST 00000442: PUSH2 0x01b9 00000445: PUSH2 0x0c62 00000448: JUMP 00000449: JUMPDEST 0000044a: CALLVALUE 0000044b: ISZERO 0000044c: PUSH2 0x0454 0000044f: JUMPI 00000450: PUSH1 0x00 00000452: DUP1 00000453: REVERT 00000454: JUMPDEST 00000455: PUSH2 0x01a4 00000458: PUSH1 0x04 0000045a: DUP1 0000045b: CALLDATALOAD 0000045c: PUSH1 0x01 0000045e: PUSH1 0xa0 00000460: PUSH1 0x02 00000462: EXP 00000463: SUB 00000464: AND 00000465: SWAP1 00000466: PUSH1 0x24 00000468: DUP1 00000469: CALLDATALOAD 0000046a: SWAP2 0000046b: PUSH1 0x44 0000046d: CALLDATALOAD 0000046e: SWAP2 0000046f: PUSH1 0x64 00000471: CALLDATALOAD 00000472: SWAP1 00000473: DUP2 00000474: ADD 00000475: SWAP2 00000476: ADD 00000477: CALLDATALOAD 00000478: PUSH2 0x0c68 0000047b: JUMP 0000047c: JUMPDEST 0000047d: CALLVALUE 0000047e: ISZERO 0000047f: PUSH2 0x0487 00000482: JUMPI 00000483: PUSH1 0x00 00000485: DUP1 00000486: REVERT 00000487: JUMPDEST 00000488: PUSH2 0x01a4 0000048b: PUSH2 0x0d16 0000048e: JUMP 0000048f: JUMPDEST 00000490: CALLVALUE 00000491: ISZERO 00000492: PUSH2 0x049a 00000495: JUMPI 00000496: PUSH1 0x00 00000498: DUP1 00000499: REVERT 0000049a: JUMPDEST 0000049b: PUSH2 0x01a4 0000049e: PUSH1 0x04 000004a0: CALLDATALOAD 000004a1: PUSH2 0x0d66 000004a4: JUMP 000004a5: JUMPDEST 000004a6: CALLVALUE 000004a7: ISZERO 000004a8: PUSH2 0x04b0 000004ab: JUMPI 000004ac: PUSH1 0x00 000004ae: DUP1 000004af: REVERT 000004b0: JUMPDEST 000004b1: PUSH2 0x01a4 000004b4: PUSH1 0x01 000004b6: PUSH1 0xa0 000004b8: PUSH1 0x02 000004ba: EXP 000004bb: SUB 000004bc: PUSH1 0x04 000004be: CALLDATALOAD 000004bf: AND 000004c0: PUSH2 0x0dbc 000004c3: JUMP 000004c4: JUMPDEST 000004c5: CALLVALUE 000004c6: ISZERO 000004c7: PUSH2 0x04cf 000004ca: JUMPI 000004cb: PUSH1 0x00 000004cd: DUP1 000004ce: REVERT 000004cf: JUMPDEST 000004d0: PUSH2 0x01a4 000004d3: PUSH2 0x0e1b 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: ISZERO 000004da: PUSH2 0x04e2 000004dd: JUMPI 000004de: PUSH1 0x00 000004e0: DUP1 000004e1: REVERT 000004e2: JUMPDEST 000004e3: PUSH2 0x01a4 000004e6: PUSH1 0x04 000004e8: DUP1 000004e9: CALLDATALOAD 000004ea: PUSH1 0x01 000004ec: PUSH1 0xa0 000004ee: PUSH1 0x02 000004f0: EXP 000004f1: SUB 000004f2: AND 000004f3: SWAP1 000004f4: PUSH1 0x24 000004f6: DUP1 000004f7: CALLDATALOAD 000004f8: SWAP2 000004f9: PUSH1 0x44 000004fb: CALLDATALOAD 000004fc: SWAP2 000004fd: DUP3 000004fe: ADD 000004ff: SWAP2 00000500: ADD 00000501: CALLDATALOAD 00000502: PUSH2 0x0e6b 00000505: JUMP 00000506: JUMPDEST 00000507: PUSH2 0x01a4 0000050a: PUSH2 0x0ef9 0000050d: JUMP 0000050e: JUMPDEST 0000050f: CALLVALUE 00000510: ISZERO 00000511: PUSH2 0x0519 00000514: JUMPI 00000515: PUSH1 0x00 00000517: DUP1 00000518: REVERT 00000519: JUMPDEST 0000051a: PUSH2 0x01a4 0000051d: PUSH1 0x04 0000051f: DUP1 00000520: CALLDATALOAD 00000521: SWAP1 00000522: PUSH1 0x24 00000524: DUP1 00000525: CALLDATALOAD 00000526: SWAP2 00000527: PUSH1 0x44 00000529: CALLDATALOAD 0000052a: SWAP2 0000052b: PUSH1 0x64 0000052d: CALLDATALOAD 0000052e: SWAP1 0000052f: DUP2 00000530: ADD 00000531: SWAP2 00000532: ADD 00000533: CALLDATALOAD 00000534: PUSH2 0x0f49 00000537: JUMP 00000538: JUMPDEST 00000539: CALLVALUE 0000053a: ISZERO 0000053b: PUSH2 0x0543 0000053e: JUMPI 0000053f: PUSH1 0x00 00000541: DUP1 00000542: REVERT 00000543: JUMPDEST 00000544: PUSH2 0x01a4 00000547: PUSH1 0x24 00000549: PUSH1 0x04 0000054b: DUP1 0000054c: CALLDATALOAD 0000054d: DUP3 0000054e: DUP2 0000054f: ADD 00000550: SWAP3 00000551: SWAP1 00000552: DUP3 00000553: ADD 00000554: CALLDATALOAD 00000555: SWAP2 00000556: DUP2 00000557: CALLDATALOAD 00000558: SWAP2 00000559: DUP3 0000055a: ADD 0000055b: SWAP2 0000055c: ADD 0000055d: CALLDATALOAD 0000055e: PUSH2 0x0fd8 00000561: JUMP 00000562: JUMPDEST 00000563: CALLVALUE 00000564: ISZERO 00000565: PUSH2 0x056d 00000568: JUMPI 00000569: PUSH1 0x00 0000056b: DUP1 0000056c: REVERT 0000056d: JUMPDEST 0000056e: PUSH2 0x01a4 00000571: PUSH1 0x04 00000573: DUP1 00000574: CALLDATALOAD 00000575: PUSH1 0x01 00000577: PUSH1 0xa0 00000579: PUSH1 0x02 0000057b: EXP 0000057c: SUB 0000057d: AND 0000057e: SWAP1 0000057f: PUSH1 0x24 00000581: DUP1 00000582: CALLDATALOAD 00000583: SWAP1 00000584: DUP2 00000585: ADD 00000586: SWAP2 00000587: ADD 00000588: CALLDATALOAD 00000589: PUSH2 0x1072 0000058c: JUMP 0000058d: JUMPDEST 0000058e: CALLVALUE 0000058f: ISZERO 00000590: PUSH2 0x0598 00000593: JUMPI 00000594: PUSH1 0x00 00000596: DUP1 00000597: REVERT 00000598: JUMPDEST 00000599: PUSH2 0x01b9 0000059c: PUSH2 0x10f7 0000059f: JUMP 000005a0: JUMPDEST 000005a1: CALLVALUE 000005a2: ISZERO 000005a3: PUSH2 0x05ab 000005a6: JUMPI 000005a7: PUSH1 0x00 000005a9: DUP1 000005aa: REVERT 000005ab: JUMPDEST 000005ac: PUSH2 0x01a4 000005af: PUSH1 0x01 000005b1: PUSH1 0xa0 000005b3: PUSH1 0x02 000005b5: EXP 000005b6: SUB 000005b7: PUSH1 0x04 000005b9: CALLDATALOAD 000005ba: AND 000005bb: PUSH1 0x24 000005bd: CALLDATALOAD 000005be: ISZERO 000005bf: ISZERO 000005c0: PUSH2 0x10fd 000005c3: JUMP 000005c4: JUMPDEST 000005c5: CALLVALUE 000005c6: ISZERO 000005c7: PUSH2 0x05cf 000005ca: JUMPI 000005cb: PUSH1 0x00 000005cd: DUP1 000005ce: REVERT 000005cf: JUMPDEST 000005d0: PUSH2 0x01a4 000005d3: PUSH1 0x04 000005d5: DUP1 000005d6: CALLDATALOAD 000005d7: PUSH1 0x24 000005d9: DUP2 000005da: ADD 000005db: SWAP2 000005dc: ADD 000005dd: CALLDATALOAD 000005de: PUSH2 0x1166 000005e1: JUMP 000005e2: JUMPDEST 000005e3: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 000005f8: PUSH4 0x4afcba30 000005fd: PUSH1 0x00 000005ff: DUP6 00000600: DUP6 00000601: DUP6 00000602: PUSH1 0x40 00000604: MLOAD 00000605: PUSH1 0xe0 00000607: PUSH1 0x02 00000609: EXP 0000060a: PUSH4 0xffffffff 0000060f: DUP8 00000610: AND 00000611: MUL 00000612: DUP2 00000613: MSTORE 00000614: PUSH1 0x04 00000616: DUP2 00000617: ADD 00000618: SWAP5 00000619: SWAP1 0000061a: SWAP5 0000061b: MSTORE 0000061c: PUSH1 0x01 0000061e: PUSH1 0xa0 00000620: PUSH1 0x02 00000622: EXP 00000623: SUB 00000624: SWAP3 00000625: DUP4 00000626: AND 00000627: PUSH1 0x24 00000629: DUP6 0000062a: ADD 0000062b: MSTORE 0000062c: PUSH1 0x44 0000062e: DUP5 0000062f: ADD 00000630: SWAP2 00000631: SWAP1 00000632: SWAP2 00000633: MSTORE 00000634: AND 00000635: PUSH1 0x64 00000637: DUP3 00000638: ADD 00000639: MSTORE 0000063a: PUSH1 0x84 0000063c: ADD 0000063d: PUSH1 0x00 0000063f: PUSH1 0x40 00000641: MLOAD 00000642: DUP1 00000643: DUP4 00000644: SUB 00000645: DUP2 00000646: DUP7 00000647: DUP1 00000648: EXTCODESIZE 00000649: ISZERO 0000064a: ISZERO 0000064b: PUSH2 0x0653 0000064e: JUMPI 0000064f: PUSH1 0x00 00000651: DUP1 00000652: REVERT 00000653: JUMPDEST 00000654: GAS 00000655: DELEGATECALL 00000656: ISZERO 00000657: ISZERO 00000658: PUSH2 0x0660 0000065b: JUMPI 0000065c: PUSH1 0x00 0000065e: DUP1 0000065f: REVERT 00000660: JUMPDEST 00000661: POP 00000662: POP 00000663: POP 00000664: POP 00000665: POP 00000666: POP 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH1 0x11 0000066b: SLOAD 0000066c: SWAP1 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000684: PUSH4 0x7c6a8a68 00000689: PUSH1 0x00 0000068b: PUSH1 0x40 0000068d: MLOAD 0000068e: PUSH1 0xe0 00000690: PUSH1 0x02 00000692: EXP 00000693: PUSH4 0xffffffff 00000698: DUP5 00000699: AND 0000069a: MUL 0000069b: DUP2 0000069c: MSTORE 0000069d: PUSH1 0x04 0000069f: DUP2 000006a0: ADD 000006a1: SWAP2 000006a2: SWAP1 000006a3: SWAP2 000006a4: MSTORE 000006a5: PUSH1 0x24 000006a7: ADD 000006a8: PUSH1 0x00 000006aa: PUSH1 0x40 000006ac: MLOAD 000006ad: DUP1 000006ae: DUP4 000006af: SUB 000006b0: DUP2 000006b1: DUP7 000006b2: DUP1 000006b3: EXTCODESIZE 000006b4: ISZERO 000006b5: ISZERO 000006b6: PUSH2 0x06be 000006b9: JUMPI 000006ba: PUSH1 0x00 000006bc: DUP1 000006bd: REVERT 000006be: JUMPDEST 000006bf: GAS 000006c0: DELEGATECALL 000006c1: ISZERO 000006c2: ISZERO 000006c3: PUSH2 0x06cb 000006c6: JUMPI 000006c7: PUSH1 0x00 000006c9: DUP1 000006ca: REVERT 000006cb: JUMPDEST 000006cc: POP 000006cd: POP 000006ce: POP 000006cf: JUMP 000006d0: JUMPDEST 000006d1: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 000006e6: PUSH4 0x2fb2c6d2 000006eb: PUSH1 0x00 000006ed: DUP5 000006ee: DUP5 000006ef: PUSH1 0x40 000006f1: MLOAD 000006f2: PUSH1 0xe0 000006f4: PUSH1 0x02 000006f6: EXP 000006f7: PUSH4 0xffffffff 000006fc: DUP7 000006fd: AND 000006fe: MUL 000006ff: DUP2 00000700: MSTORE 00000701: PUSH1 0x04 00000703: DUP2 00000704: ADD 00000705: SWAP4 00000706: SWAP1 00000707: SWAP4 00000708: MSTORE 00000709: PUSH1 0x24 0000070b: DUP4 0000070c: ADD 0000070d: SWAP2 0000070e: SWAP1 0000070f: SWAP2 00000710: MSTORE 00000711: PUSH1 0x01 00000713: PUSH1 0xa0 00000715: PUSH1 0x02 00000717: EXP 00000718: SUB 00000719: AND 0000071a: PUSH1 0x44 0000071c: DUP3 0000071d: ADD 0000071e: MSTORE 0000071f: PUSH1 0x64 00000721: ADD 00000722: PUSH1 0x00 00000724: PUSH1 0x40 00000726: MLOAD 00000727: DUP1 00000728: DUP4 00000729: SUB 0000072a: DUP2 0000072b: DUP7 0000072c: DUP1 0000072d: EXTCODESIZE 0000072e: ISZERO 0000072f: ISZERO 00000730: PUSH2 0x0738 00000733: JUMPI 00000734: PUSH1 0x00 00000736: DUP1 00000737: REVERT 00000738: JUMPDEST 00000739: GAS 0000073a: DELEGATECALL 0000073b: ISZERO 0000073c: ISZERO 0000073d: PUSH2 0x0745 00000740: JUMPI 00000741: PUSH1 0x00 00000743: DUP1 00000744: REVERT 00000745: JUMPDEST 00000746: POP 00000747: POP 00000748: POP 00000749: POP 0000074a: POP 0000074b: JUMP 0000074c: JUMPDEST 0000074d: PUSH1 0x15 0000074f: SLOAD 00000750: PUSH1 0xff 00000752: AND 00000753: ISZERO 00000754: PUSH2 0x075c 00000757: JUMPI 00000758: PUSH1 0x00 0000075a: DUP1 0000075b: REVERT 0000075c: JUMPDEST 0000075d: PUSH1 0x15 0000075f: DUP1 00000760: SLOAD 00000761: PUSH1 0xff 00000763: NOT 00000764: AND 00000765: PUSH1 0x01 00000767: OR 00000768: SWAP1 00000769: SSTORE 0000076a: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 0000077f: PUSH4 0x80b8871c 00000784: PUSH1 0x00 00000786: DUP4 00000787: PUSH1 0x40 00000789: MLOAD 0000078a: PUSH1 0xe0 0000078c: PUSH1 0x02 0000078e: EXP 0000078f: PUSH4 0xffffffff 00000794: DUP6 00000795: AND 00000796: MUL 00000797: DUP2 00000798: MSTORE 00000799: PUSH1 0x04 0000079b: DUP2 0000079c: ADD 0000079d: SWAP3 0000079e: SWAP1 0000079f: SWAP3 000007a0: MSTORE 000007a1: PUSH1 0x01 000007a3: PUSH1 0xa0 000007a5: PUSH1 0x02 000007a7: EXP 000007a8: SUB 000007a9: AND 000007aa: PUSH1 0x24 000007ac: DUP3 000007ad: ADD 000007ae: MSTORE 000007af: PUSH1 0x44 000007b1: ADD 000007b2: PUSH1 0x00 000007b4: PUSH1 0x40 000007b6: MLOAD 000007b7: DUP1 000007b8: DUP4 000007b9: SUB 000007ba: DUP2 000007bb: DUP7 000007bc: DUP1 000007bd: EXTCODESIZE 000007be: ISZERO 000007bf: ISZERO 000007c0: PUSH2 0x07c8 000007c3: JUMPI 000007c4: PUSH1 0x00 000007c6: DUP1 000007c7: REVERT 000007c8: JUMPDEST 000007c9: GAS 000007ca: DELEGATECALL 000007cb: ISZERO 000007cc: ISZERO 000007cd: PUSH2 0x07d5 000007d0: JUMPI 000007d1: PUSH1 0x00 000007d3: DUP1 000007d4: REVERT 000007d5: JUMPDEST 000007d6: POP 000007d7: POP 000007d8: PUSH1 0x15 000007da: DUP1 000007db: SLOAD 000007dc: PUSH1 0xff 000007de: NOT 000007df: AND 000007e0: SWAP1 000007e1: SSTORE 000007e2: POP 000007e3: POP 000007e4: JUMP 000007e5: JUMPDEST 000007e6: PUSH1 0x15 000007e8: SLOAD 000007e9: PUSH1 0xff 000007eb: AND 000007ec: ISZERO 000007ed: PUSH2 0x07f5 000007f0: JUMPI 000007f1: PUSH1 0x00 000007f3: DUP1 000007f4: REVERT 000007f5: JUMPDEST 000007f6: PUSH1 0x15 000007f8: DUP1 000007f9: SLOAD 000007fa: PUSH1 0xff 000007fc: NOT 000007fd: AND 000007fe: PUSH1 0x01 00000800: OR 00000801: SWAP1 00000802: SSTORE 00000803: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000818: PUSH4 0x392a4fa2 0000081d: PUSH1 0x00 0000081f: DUP6 00000820: DUP6 00000821: DUP6 00000822: PUSH1 0x40 00000824: MLOAD 00000825: PUSH1 0xe0 00000827: PUSH1 0x02 00000829: EXP 0000082a: PUSH4 0xffffffff 0000082f: DUP8 00000830: AND 00000831: MUL 00000832: DUP2 00000833: MSTORE 00000834: PUSH1 0x04 00000836: DUP2 00000837: ADD 00000838: DUP6 00000839: DUP2 0000083a: MSTORE 0000083b: PUSH1 0x01 0000083d: PUSH1 0xa0 0000083f: PUSH1 0x02 00000841: EXP 00000842: SUB 00000843: DUP6 00000844: AND 00000845: PUSH1 0x24 00000847: DUP4 00000848: ADD 00000849: MSTORE 0000084a: PUSH1 0x60 0000084c: PUSH1 0x44 0000084e: DUP4 0000084f: ADD 00000850: SWAP1 00000851: DUP2 00000852: MSTORE 00000853: PUSH1 0x64 00000855: DUP4 00000856: ADD 00000857: DUP5 00000858: SWAP1 00000859: MSTORE 0000085a: SWAP1 0000085b: SWAP2 0000085c: PUSH1 0x84 0000085e: ADD 0000085f: DUP5 00000860: PUSH1 0x20 00000862: DUP6 00000863: MUL 00000864: DUP1 00000865: DUP3 00000866: DUP5 00000867: CALLDATACOPY 00000868: DUP3 00000869: ADD 0000086a: SWAP2 0000086b: POP 0000086c: POP 0000086d: SWAP6 0000086e: POP 0000086f: POP 00000870: POP 00000871: POP 00000872: POP 00000873: POP 00000874: PUSH1 0x00 00000876: PUSH1 0x40 00000878: MLOAD 00000879: DUP1 0000087a: DUP4 0000087b: SUB 0000087c: DUP2 0000087d: DUP7 0000087e: DUP1 0000087f: EXTCODESIZE 00000880: ISZERO 00000881: ISZERO 00000882: PUSH2 0x088a 00000885: JUMPI 00000886: PUSH1 0x00 00000888: DUP1 00000889: REVERT 0000088a: JUMPDEST 0000088b: GAS 0000088c: DELEGATECALL 0000088d: ISZERO 0000088e: ISZERO 0000088f: PUSH2 0x0897 00000892: JUMPI 00000893: PUSH1 0x00 00000895: DUP1 00000896: REVERT 00000897: JUMPDEST 00000898: POP 00000899: POP 0000089a: PUSH1 0x15 0000089c: DUP1 0000089d: SLOAD 0000089e: PUSH1 0xff 000008a0: NOT 000008a1: AND 000008a2: SWAP1 000008a3: SSTORE 000008a4: POP 000008a5: POP 000008a6: POP 000008a7: POP 000008a8: JUMP 000008a9: JUMPDEST 000008aa: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 000008bf: PUSH4 0xf522fc1b 000008c4: PUSH1 0x00 000008c6: DUP4 000008c7: PUSH1 0x40 000008c9: MLOAD 000008ca: PUSH1 0xe0 000008cc: PUSH1 0x02 000008ce: EXP 000008cf: PUSH4 0xffffffff 000008d4: DUP6 000008d5: AND 000008d6: MUL 000008d7: DUP2 000008d8: MSTORE 000008d9: PUSH1 0x04 000008db: DUP2 000008dc: ADD 000008dd: SWAP3 000008de: SWAP1 000008df: SWAP3 000008e0: MSTORE 000008e1: PUSH1 0x24 000008e3: DUP3 000008e4: ADD 000008e5: MSTORE 000008e6: PUSH1 0x44 000008e8: ADD 000008e9: PUSH1 0x00 000008eb: PUSH1 0x40 000008ed: MLOAD 000008ee: DUP1 000008ef: DUP4 000008f0: SUB 000008f1: DUP2 000008f2: DUP7 000008f3: DUP1 000008f4: EXTCODESIZE 000008f5: ISZERO 000008f6: ISZERO 000008f7: PUSH2 0x08ff 000008fa: JUMPI 000008fb: PUSH1 0x00 000008fd: DUP1 000008fe: REVERT 000008ff: JUMPDEST 00000900: GAS 00000901: DELEGATECALL 00000902: ISZERO 00000903: ISZERO 00000904: PUSH2 0x090c 00000907: JUMPI 00000908: PUSH1 0x00 0000090a: DUP1 0000090b: REVERT 0000090c: JUMPDEST 0000090d: POP 0000090e: POP 0000090f: POP 00000910: POP 00000911: JUMP 00000912: JUMPDEST 00000913: PUSH2 0x091a 00000916: PUSH2 0x11dd 00000919: JUMP 0000091a: JUMPDEST 0000091b: PUSH2 0x0922 0000091e: PUSH2 0x11dd 00000921: JUMP 00000922: JUMPDEST 00000923: PUSH2 0x092a 00000926: PUSH2 0x11dd 00000929: JUMP 0000092a: JUMPDEST 0000092b: PUSH2 0x0932 0000092e: PUSH2 0x11dd 00000931: JUMP 00000932: JUMPDEST 00000933: PUSH2 0x093a 00000936: PUSH2 0x11dd 00000939: JUMP 0000093a: JUMPDEST 0000093b: PUSH2 0x0942 0000093e: PUSH2 0x11dd 00000941: JUMP 00000942: JUMPDEST 00000943: PUSH2 0x094a 00000946: PUSH2 0x11dd 00000949: JUMP 0000094a: JUMPDEST 0000094b: PUSH2 0x0952 0000094e: PUSH2 0x11dd 00000951: JUMP 00000952: JUMPDEST 00000953: PUSH2 0x095a 00000956: PUSH2 0x11dd 00000959: JUMP 0000095a: JUMPDEST 0000095b: PUSH1 0x05 0000095d: SLOAD 0000095e: PUSH1 0x00 00000960: SWAP1 00000961: DUP2 00000962: SWAP1 00000963: PUSH1 0x40 00000965: MLOAD 00000966: DUP1 00000967: MSIZE 00000968: LT 00000969: PUSH2 0x096f 0000096c: JUMPI 0000096d: POP 0000096e: MSIZE 0000096f: JUMPDEST 00000970: SWAP1 00000971: DUP1 00000972: DUP3 00000973: MSTORE 00000974: DUP1 00000975: PUSH1 0x20 00000977: MUL 00000978: PUSH1 0x20 0000097a: ADD 0000097b: DUP3 0000097c: ADD 0000097d: PUSH1 0x40 0000097f: MSTORE 00000980: POP 00000981: PUSH1 0x05 00000983: SLOAD 00000984: SWAP1 00000985: SWAP7 00000986: POP 00000987: PUSH1 0x40 00000989: MLOAD 0000098a: DUP1 0000098b: MSIZE 0000098c: LT 0000098d: PUSH2 0x0993 00000990: JUMPI 00000991: POP 00000992: MSIZE 00000993: JUMPDEST 00000994: SWAP1 00000995: DUP1 00000996: DUP3 00000997: MSTORE 00000998: DUP1 00000999: PUSH1 0x20 0000099b: MUL 0000099c: PUSH1 0x20 0000099e: ADD 0000099f: DUP3 000009a0: ADD 000009a1: PUSH1 0x40 000009a3: MSTORE 000009a4: POP 000009a5: PUSH1 0x05 000009a7: SLOAD 000009a8: SWAP1 000009a9: SWAP6 000009aa: POP 000009ab: PUSH1 0x40 000009ad: MLOAD 000009ae: DUP1 000009af: MSIZE 000009b0: LT 000009b1: PUSH2 0x09b7 000009b4: JUMPI 000009b5: POP 000009b6: MSIZE 000009b7: JUMPDEST 000009b8: SWAP1 000009b9: DUP1 000009ba: DUP3 000009bb: MSTORE 000009bc: DUP1 000009bd: PUSH1 0x20 000009bf: MUL 000009c0: PUSH1 0x20 000009c2: ADD 000009c3: DUP3 000009c4: ADD 000009c5: PUSH1 0x40 000009c7: MSTORE 000009c8: POP 000009c9: PUSH1 0x05 000009cb: SLOAD 000009cc: SWAP1 000009cd: SWAP5 000009ce: POP 000009cf: PUSH1 0x40 000009d1: MLOAD 000009d2: DUP1 000009d3: MSIZE 000009d4: LT 000009d5: PUSH2 0x09db 000009d8: JUMPI 000009d9: POP 000009da: MSIZE 000009db: JUMPDEST 000009dc: SWAP1 000009dd: DUP1 000009de: DUP3 000009df: MSTORE 000009e0: DUP1 000009e1: PUSH1 0x20 000009e3: MUL 000009e4: PUSH1 0x20 000009e6: ADD 000009e7: DUP3 000009e8: ADD 000009e9: PUSH1 0x40 000009eb: MSTORE 000009ec: POP 000009ed: SWAP3 000009ee: POP 000009ef: PUSH1 0x00 000009f1: SWAP2 000009f2: POP 000009f3: JUMPDEST 000009f4: PUSH1 0x05 000009f6: SLOAD 000009f7: DUP3 000009f8: LT 000009f9: ISZERO 000009fa: PUSH2 0x0ac9 000009fd: JUMPI 000009fe: PUSH1 0x05 00000a00: DUP1 00000a01: SLOAD 00000a02: PUSH1 0x07 00000a04: SWAP2 00000a05: PUSH1 0x00 00000a07: SWAP2 00000a08: DUP6 00000a09: SWAP1 00000a0a: DUP2 00000a0b: LT 00000a0c: PUSH2 0x0a11 00000a0f: JUMPI 00000a10: INVALID 00000a11: JUMPDEST 00000a12: PUSH1 0x00 00000a14: SWAP2 00000a15: DUP3 00000a16: MSTORE 00000a17: PUSH1 0x20 00000a19: DUP1 00000a1a: DUP4 00000a1b: KECCAK256 00000a1c: SWAP1 00000a1d: SWAP2 00000a1e: ADD 00000a1f: SLOAD 00000a20: PUSH1 0x01 00000a22: PUSH1 0xa0 00000a24: PUSH1 0x02 00000a26: EXP 00000a27: SUB 00000a28: AND 00000a29: DUP4 00000a2a: MSTORE 00000a2b: DUP3 00000a2c: ADD 00000a2d: SWAP3 00000a2e: SWAP1 00000a2f: SWAP3 00000a30: MSTORE 00000a31: PUSH1 0x40 00000a33: ADD 00000a34: SWAP1 00000a35: KECCAK256 00000a36: DUP1 00000a37: SLOAD 00000a38: SWAP1 00000a39: SWAP2 00000a3a: POP 00000a3b: DUP7 00000a3c: DUP4 00000a3d: DUP2 00000a3e: MLOAD 00000a3f: DUP2 00000a40: LT 00000a41: PUSH2 0x0a46 00000a44: JUMPI 00000a45: INVALID 00000a46: JUMPDEST 00000a47: PUSH1 0x20 00000a49: SWAP1 00000a4a: DUP2 00000a4b: MUL 00000a4c: SWAP1 00000a4d: SWAP2 00000a4e: ADD 00000a4f: ADD 00000a50: MSTORE 00000a51: PUSH1 0x01 00000a53: DUP2 00000a54: ADD 00000a55: SLOAD 00000a56: DUP6 00000a57: DUP4 00000a58: DUP2 00000a59: MLOAD 00000a5a: DUP2 00000a5b: LT 00000a5c: PUSH2 0x0a61 00000a5f: JUMPI 00000a60: INVALID 00000a61: JUMPDEST 00000a62: PUSH1 0x20 00000a64: SWAP1 00000a65: DUP2 00000a66: MUL 00000a67: SWAP1 00000a68: SWAP2 00000a69: ADD 00000a6a: ADD 00000a6b: MSTORE 00000a6c: PUSH1 0x02 00000a6e: DUP2 00000a6f: ADD 00000a70: SLOAD 00000a71: PUSH1 0xff 00000a73: PUSH2 0x0100 00000a76: SWAP1 00000a77: SWAP2 00000a78: DIV 00000a79: AND 00000a7a: DUP5 00000a7b: DUP4 00000a7c: DUP2 00000a7d: MLOAD 00000a7e: DUP2 00000a7f: LT 00000a80: PUSH2 0x0a85 00000a83: JUMPI 00000a84: INVALID 00000a85: JUMPDEST 00000a86: SWAP2 00000a87: ISZERO 00000a88: ISZERO 00000a89: PUSH1 0x20 00000a8b: SWAP3 00000a8c: DUP4 00000a8d: MUL 00000a8e: SWAP1 00000a8f: SWAP2 00000a90: ADD 00000a91: SWAP1 00000a92: SWAP2 00000a93: ADD 00000a94: MSTORE 00000a95: PUSH1 0x02 00000a97: DUP2 00000a98: ADD 00000a99: SLOAD 00000a9a: PUSH1 0xff 00000a9c: PUSH3 0x010000 00000aa0: SWAP1 00000aa1: SWAP2 00000aa2: DIV 00000aa3: AND 00000aa4: DUP4 00000aa5: DUP4 00000aa6: DUP2 00000aa7: MLOAD 00000aa8: DUP2 00000aa9: LT 00000aaa: PUSH2 0x0aaf 00000aad: JUMPI 00000aae: INVALID 00000aaf: JUMPDEST 00000ab0: SWAP2 00000ab1: ISZERO 00000ab2: ISZERO 00000ab3: PUSH1 0x20 00000ab5: SWAP3 00000ab6: DUP4 00000ab7: MUL 00000ab8: SWAP1 00000ab9: SWAP2 00000aba: ADD 00000abb: SWAP1 00000abc: SWAP2 00000abd: ADD 00000abe: MSTORE 00000abf: PUSH1 0x01 00000ac1: SWAP1 00000ac2: SWAP2 00000ac3: ADD 00000ac4: SWAP1 00000ac5: PUSH2 0x09f3 00000ac8: JUMP 00000ac9: JUMPDEST 00000aca: PUSH1 0x00 00000acc: PUSH1 0x05 00000ace: ADD 00000acf: DUP7 00000ad0: DUP7 00000ad1: DUP7 00000ad2: DUP7 00000ad3: DUP5 00000ad4: DUP1 00000ad5: SLOAD 00000ad6: DUP1 00000ad7: PUSH1 0x20 00000ad9: MUL 00000ada: PUSH1 0x20 00000adc: ADD 00000add: PUSH1 0x40 00000adf: MLOAD 00000ae0: SWAP1 00000ae1: DUP2 00000ae2: ADD 00000ae3: PUSH1 0x40 00000ae5: MSTORE 00000ae6: DUP1 00000ae7: SWAP3 00000ae8: SWAP2 00000ae9: SWAP1 00000aea: DUP2 00000aeb: DUP2 00000aec: MSTORE 00000aed: PUSH1 0x20 00000aef: ADD 00000af0: DUP3 00000af1: DUP1 00000af2: SLOAD 00000af3: DUP1 00000af4: ISZERO 00000af5: PUSH2 0x0b27 00000af8: JUMPI 00000af9: PUSH1 0x20 00000afb: MUL 00000afc: DUP3 00000afd: ADD 00000afe: SWAP2 00000aff: SWAP1 00000b00: PUSH1 0x00 00000b02: MSTORE 00000b03: PUSH1 0x20 00000b05: PUSH1 0x00 00000b07: KECCAK256 00000b08: SWAP1 00000b09: JUMPDEST 00000b0a: DUP2 00000b0b: SLOAD 00000b0c: PUSH1 0x01 00000b0e: PUSH1 0xa0 00000b10: PUSH1 0x02 00000b12: EXP 00000b13: SUB 00000b14: AND 00000b15: DUP2 00000b16: MSTORE 00000b17: PUSH1 0x01 00000b19: SWAP1 00000b1a: SWAP2 00000b1b: ADD 00000b1c: SWAP1 00000b1d: PUSH1 0x20 00000b1f: ADD 00000b20: DUP1 00000b21: DUP4 00000b22: GT 00000b23: PUSH2 0x0b09 00000b26: JUMPI 00000b27: JUMPDEST 00000b28: POP 00000b29: POP 00000b2a: POP 00000b2b: POP 00000b2c: POP 00000b2d: SWAP5 00000b2e: POP 00000b2f: SWAP11 00000b30: POP 00000b31: SWAP11 00000b32: POP 00000b33: SWAP11 00000b34: POP 00000b35: SWAP11 00000b36: POP 00000b37: SWAP11 00000b38: POP 00000b39: POP 00000b3a: POP 00000b3b: POP 00000b3c: POP 00000b3d: POP 00000b3e: POP 00000b3f: SWAP1 00000b40: SWAP2 00000b41: SWAP3 00000b42: SWAP4 00000b43: SWAP5 00000b44: JUMP 00000b45: JUMPDEST 00000b46: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000b5b: PUSH4 0x512b893f 00000b60: PUSH1 0x00 00000b62: DUP7 00000b63: DUP7 00000b64: DUP7 00000b65: DUP7 00000b66: PUSH1 0x40 00000b68: MLOAD 00000b69: PUSH1 0xe0 00000b6b: PUSH1 0x02 00000b6d: EXP 00000b6e: PUSH4 0xffffffff 00000b73: DUP9 00000b74: AND 00000b75: MUL 00000b76: DUP2 00000b77: MSTORE 00000b78: PUSH1 0x04 00000b7a: DUP2 00000b7b: ADD 00000b7c: DUP7 00000b7d: DUP2 00000b7e: MSTORE 00000b7f: PUSH1 0x01 00000b81: PUSH1 0xa0 00000b83: PUSH1 0x02 00000b85: EXP 00000b86: SUB 00000b87: DUP7 00000b88: AND 00000b89: PUSH1 0x24 00000b8b: DUP4 00000b8c: ADD 00000b8d: MSTORE 00000b8e: PUSH1 0x44 00000b90: DUP3 00000b91: ADD 00000b92: DUP6 00000b93: SWAP1 00000b94: MSTORE 00000b95: PUSH1 0x80 00000b97: PUSH1 0x64 00000b99: DUP4 00000b9a: ADD 00000b9b: SWAP1 00000b9c: DUP2 00000b9d: MSTORE 00000b9e: PUSH1 0x84 00000ba0: DUP4 00000ba1: ADD 00000ba2: DUP5 00000ba3: SWAP1 00000ba4: MSTORE 00000ba5: SWAP1 00000ba6: SWAP2 00000ba7: PUSH1 0xa4 00000ba9: ADD 00000baa: DUP5 00000bab: DUP5 00000bac: DUP1 00000bad: DUP3 00000bae: DUP5 00000baf: CALLDATACOPY 00000bb0: DUP3 00000bb1: ADD 00000bb2: SWAP2 00000bb3: POP 00000bb4: POP 00000bb5: SWAP7 00000bb6: POP 00000bb7: POP 00000bb8: POP 00000bb9: POP 00000bba: POP 00000bbb: POP 00000bbc: POP 00000bbd: PUSH1 0x00 00000bbf: PUSH1 0x40 00000bc1: MLOAD 00000bc2: DUP1 00000bc3: DUP4 00000bc4: SUB 00000bc5: DUP2 00000bc6: DUP7 00000bc7: DUP1 00000bc8: EXTCODESIZE 00000bc9: ISZERO 00000bca: ISZERO 00000bcb: PUSH2 0x0bd3 00000bce: JUMPI 00000bcf: PUSH1 0x00 00000bd1: DUP1 00000bd2: REVERT 00000bd3: JUMPDEST 00000bd4: GAS 00000bd5: DELEGATECALL 00000bd6: ISZERO 00000bd7: ISZERO 00000bd8: PUSH2 0x0be0 00000bdb: JUMPI 00000bdc: PUSH1 0x00 00000bde: DUP1 00000bdf: REVERT 00000be0: JUMPDEST 00000be1: POP 00000be2: POP 00000be3: POP 00000be4: POP 00000be5: POP 00000be6: POP 00000be7: POP 00000be8: JUMP 00000be9: JUMPDEST 00000bea: PUSH1 0x00 00000bec: DUP1 00000bed: PUSH1 0x00 00000bef: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000c04: PUSH4 0x54fd4d50 00000c09: PUSH1 0x40 00000c0b: MLOAD 00000c0c: DUP2 00000c0d: PUSH4 0xffffffff 00000c12: AND 00000c13: PUSH1 0xe0 00000c15: PUSH1 0x02 00000c17: EXP 00000c18: MUL 00000c19: DUP2 00000c1a: MSTORE 00000c1b: PUSH1 0x04 00000c1d: ADD 00000c1e: PUSH1 0x60 00000c20: PUSH1 0x40 00000c22: MLOAD 00000c23: DUP1 00000c24: DUP4 00000c25: SUB 00000c26: DUP2 00000c27: DUP7 00000c28: DUP1 00000c29: EXTCODESIZE 00000c2a: ISZERO 00000c2b: ISZERO 00000c2c: PUSH2 0x0c34 00000c2f: JUMPI 00000c30: PUSH1 0x00 00000c32: DUP1 00000c33: REVERT 00000c34: JUMPDEST 00000c35: GAS 00000c36: DELEGATECALL 00000c37: ISZERO 00000c38: ISZERO 00000c39: PUSH2 0x0c41 00000c3c: JUMPI 00000c3d: PUSH1 0x00 00000c3f: DUP1 00000c40: REVERT 00000c41: JUMPDEST 00000c42: POP 00000c43: POP 00000c44: POP 00000c45: PUSH1 0x40 00000c47: MLOAD 00000c48: DUP1 00000c49: MLOAD 00000c4a: SWAP1 00000c4b: PUSH1 0x20 00000c4d: ADD 00000c4e: DUP1 00000c4f: MLOAD 00000c50: SWAP1 00000c51: PUSH1 0x20 00000c53: ADD 00000c54: DUP1 00000c55: MLOAD 00000c56: SWAP1 00000c57: POP 00000c58: SWAP3 00000c59: POP 00000c5a: SWAP3 00000c5b: POP 00000c5c: SWAP3 00000c5d: POP 00000c5e: SWAP1 00000c5f: SWAP2 00000c60: SWAP3 00000c61: JUMP 00000c62: JUMPDEST 00000c63: PUSH1 0x08 00000c65: SLOAD 00000c66: SWAP1 00000c67: JUMP 00000c68: JUMPDEST 00000c69: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000c7e: PUSH4 0xb261039b 00000c83: PUSH1 0x00 00000c85: DUP8 00000c86: DUP8 00000c87: DUP8 00000c88: DUP8 00000c89: DUP8 00000c8a: PUSH1 0x40 00000c8c: MLOAD 00000c8d: PUSH1 0xe0 00000c8f: PUSH1 0x02 00000c91: EXP 00000c92: PUSH4 0xffffffff 00000c97: DUP10 00000c98: AND 00000c99: MUL 00000c9a: DUP2 00000c9b: MSTORE 00000c9c: PUSH1 0x04 00000c9e: DUP2 00000c9f: ADD 00000ca0: DUP8 00000ca1: DUP2 00000ca2: MSTORE 00000ca3: PUSH1 0x01 00000ca5: PUSH1 0xa0 00000ca7: PUSH1 0x02 00000ca9: EXP 00000caa: SUB 00000cab: DUP8 00000cac: AND 00000cad: PUSH1 0x24 00000caf: DUP4 00000cb0: ADD 00000cb1: MSTORE 00000cb2: PUSH1 0x44 00000cb4: DUP3 00000cb5: ADD 00000cb6: DUP7 00000cb7: SWAP1 00000cb8: MSTORE 00000cb9: PUSH1 0x64 00000cbb: DUP3 00000cbc: ADD 00000cbd: DUP6 00000cbe: SWAP1 00000cbf: MSTORE 00000cc0: PUSH1 0xa0 00000cc2: PUSH1 0x84 00000cc4: DUP4 00000cc5: ADD 00000cc6: SWAP1 00000cc7: DUP2 00000cc8: MSTORE 00000cc9: PUSH1 0xa4 00000ccb: DUP4 00000ccc: ADD 00000ccd: DUP5 00000cce: SWAP1 00000ccf: MSTORE 00000cd0: SWAP1 00000cd1: SWAP2 00000cd2: PUSH1 0xc4 00000cd4: ADD 00000cd5: DUP5 00000cd6: DUP5 00000cd7: DUP1 00000cd8: DUP3 00000cd9: DUP5 00000cda: CALLDATACOPY 00000cdb: DUP3 00000cdc: ADD 00000cdd: SWAP2 00000cde: POP 00000cdf: POP 00000ce0: SWAP8 00000ce1: POP 00000ce2: POP 00000ce3: POP 00000ce4: POP 00000ce5: POP 00000ce6: POP 00000ce7: POP 00000ce8: POP 00000ce9: PUSH1 0x00 00000ceb: PUSH1 0x40 00000ced: MLOAD 00000cee: DUP1 00000cef: DUP4 00000cf0: SUB 00000cf1: DUP2 00000cf2: DUP7 00000cf3: DUP1 00000cf4: EXTCODESIZE 00000cf5: ISZERO 00000cf6: ISZERO 00000cf7: PUSH2 0x0cff 00000cfa: JUMPI 00000cfb: PUSH1 0x00 00000cfd: DUP1 00000cfe: REVERT 00000cff: JUMPDEST 00000d00: GAS 00000d01: DELEGATECALL 00000d02: ISZERO 00000d03: ISZERO 00000d04: PUSH2 0x0d0c 00000d07: JUMPI 00000d08: PUSH1 0x00 00000d0a: DUP1 00000d0b: REVERT 00000d0c: JUMPDEST 00000d0d: POP 00000d0e: POP 00000d0f: POP 00000d10: POP 00000d11: POP 00000d12: POP 00000d13: POP 00000d14: POP 00000d15: JUMP 00000d16: JUMPDEST 00000d17: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000d2c: PUSH4 0xf64e7cda 00000d31: PUSH1 0x00 00000d33: PUSH1 0x40 00000d35: MLOAD 00000d36: PUSH1 0xe0 00000d38: PUSH1 0x02 00000d3a: EXP 00000d3b: PUSH4 0xffffffff 00000d40: DUP5 00000d41: AND 00000d42: MUL 00000d43: DUP2 00000d44: MSTORE 00000d45: PUSH1 0x04 00000d47: DUP2 00000d48: ADD 00000d49: SWAP2 00000d4a: SWAP1 00000d4b: SWAP2 00000d4c: MSTORE 00000d4d: PUSH1 0x24 00000d4f: ADD 00000d50: PUSH1 0x00 00000d52: PUSH1 0x40 00000d54: MLOAD 00000d55: DUP1 00000d56: DUP4 00000d57: SUB 00000d58: DUP2 00000d59: DUP7 00000d5a: DUP1 00000d5b: EXTCODESIZE 00000d5c: ISZERO 00000d5d: ISZERO 00000d5e: PUSH2 0x06be 00000d61: JUMPI 00000d62: PUSH1 0x00 00000d64: DUP1 00000d65: REVERT 00000d66: JUMPDEST 00000d67: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000d7c: PUSH4 0x68540b6b 00000d81: PUSH1 0x00 00000d83: DUP4 00000d84: PUSH1 0x40 00000d86: MLOAD 00000d87: PUSH1 0xe0 00000d89: PUSH1 0x02 00000d8b: EXP 00000d8c: PUSH4 0xffffffff 00000d91: DUP6 00000d92: AND 00000d93: MUL 00000d94: DUP2 00000d95: MSTORE 00000d96: PUSH1 0x04 00000d98: DUP2 00000d99: ADD 00000d9a: SWAP3 00000d9b: SWAP1 00000d9c: SWAP3 00000d9d: MSTORE 00000d9e: PUSH1 0x24 00000da0: DUP3 00000da1: ADD 00000da2: MSTORE 00000da3: PUSH1 0x44 00000da5: ADD 00000da6: PUSH1 0x00 00000da8: PUSH1 0x40 00000daa: MLOAD 00000dab: DUP1 00000dac: DUP4 00000dad: SUB 00000dae: DUP2 00000daf: DUP7 00000db0: DUP1 00000db1: EXTCODESIZE 00000db2: ISZERO 00000db3: ISZERO 00000db4: PUSH2 0x08ff 00000db7: JUMPI 00000db8: PUSH1 0x00 00000dba: DUP1 00000dbb: REVERT 00000dbc: JUMPDEST 00000dbd: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000dd2: PUSH4 0xc27d2d45 00000dd7: PUSH1 0x00 00000dd9: DUP4 00000dda: PUSH1 0x40 00000ddc: MLOAD 00000ddd: PUSH1 0xe0 00000ddf: PUSH1 0x02 00000de1: EXP 00000de2: PUSH4 0xffffffff 00000de7: DUP6 00000de8: AND 00000de9: MUL 00000dea: DUP2 00000deb: MSTORE 00000dec: PUSH1 0x04 00000dee: DUP2 00000def: ADD 00000df0: SWAP3 00000df1: SWAP1 00000df2: SWAP3 00000df3: MSTORE 00000df4: PUSH1 0x01 00000df6: PUSH1 0xa0 00000df8: PUSH1 0x02 00000dfa: EXP 00000dfb: SUB 00000dfc: AND 00000dfd: PUSH1 0x24 00000dff: DUP3 00000e00: ADD 00000e01: MSTORE 00000e02: PUSH1 0x44 00000e04: ADD 00000e05: PUSH1 0x00 00000e07: PUSH1 0x40 00000e09: MLOAD 00000e0a: DUP1 00000e0b: DUP4 00000e0c: SUB 00000e0d: DUP2 00000e0e: DUP7 00000e0f: DUP1 00000e10: EXTCODESIZE 00000e11: ISZERO 00000e12: ISZERO 00000e13: PUSH2 0x08ff 00000e16: JUMPI 00000e17: PUSH1 0x00 00000e19: DUP1 00000e1a: REVERT 00000e1b: JUMPDEST 00000e1c: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000e31: PUSH4 0x62cea5b9 00000e36: PUSH1 0x00 00000e38: PUSH1 0x40 00000e3a: MLOAD 00000e3b: PUSH1 0xe0 00000e3d: PUSH1 0x02 00000e3f: EXP 00000e40: PUSH4 0xffffffff 00000e45: DUP5 00000e46: AND 00000e47: MUL 00000e48: DUP2 00000e49: MSTORE 00000e4a: PUSH1 0x04 00000e4c: DUP2 00000e4d: ADD 00000e4e: SWAP2 00000e4f: SWAP1 00000e50: SWAP2 00000e51: MSTORE 00000e52: PUSH1 0x24 00000e54: ADD 00000e55: PUSH1 0x00 00000e57: PUSH1 0x40 00000e59: MLOAD 00000e5a: DUP1 00000e5b: DUP4 00000e5c: SUB 00000e5d: DUP2 00000e5e: DUP7 00000e5f: DUP1 00000e60: EXTCODESIZE 00000e61: ISZERO 00000e62: ISZERO 00000e63: PUSH2 0x06be 00000e66: JUMPI 00000e67: PUSH1 0x00 00000e69: DUP1 00000e6a: REVERT 00000e6b: JUMPDEST 00000e6c: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000e81: PUSH4 0xdde9806b 00000e86: PUSH1 0x00 00000e88: DUP7 00000e89: DUP7 00000e8a: DUP7 00000e8b: DUP7 00000e8c: PUSH1 0x40 00000e8e: MLOAD 00000e8f: PUSH1 0xe0 00000e91: PUSH1 0x02 00000e93: EXP 00000e94: PUSH4 0xffffffff 00000e99: DUP9 00000e9a: AND 00000e9b: MUL 00000e9c: DUP2 00000e9d: MSTORE 00000e9e: PUSH1 0x04 00000ea0: DUP2 00000ea1: ADD 00000ea2: DUP7 00000ea3: DUP2 00000ea4: MSTORE 00000ea5: PUSH1 0x01 00000ea7: PUSH1 0xa0 00000ea9: PUSH1 0x02 00000eab: EXP 00000eac: SUB 00000ead: DUP7 00000eae: AND 00000eaf: PUSH1 0x24 00000eb1: DUP4 00000eb2: ADD 00000eb3: MSTORE 00000eb4: PUSH1 0x44 00000eb6: DUP3 00000eb7: ADD 00000eb8: DUP6 00000eb9: SWAP1 00000eba: MSTORE 00000ebb: PUSH1 0x80 00000ebd: PUSH1 0x64 00000ebf: DUP4 00000ec0: ADD 00000ec1: SWAP1 00000ec2: DUP2 00000ec3: MSTORE 00000ec4: PUSH1 0x84 00000ec6: DUP4 00000ec7: ADD 00000ec8: DUP5 00000ec9: SWAP1 00000eca: MSTORE 00000ecb: SWAP1 00000ecc: SWAP2 00000ecd: PUSH1 0xa4 00000ecf: ADD 00000ed0: DUP5 00000ed1: DUP5 00000ed2: DUP1 00000ed3: DUP3 00000ed4: DUP5 00000ed5: CALLDATACOPY 00000ed6: DUP3 00000ed7: ADD 00000ed8: SWAP2 00000ed9: POP 00000eda: POP 00000edb: SWAP7 00000edc: POP 00000edd: POP 00000ede: POP 00000edf: POP 00000ee0: POP 00000ee1: POP 00000ee2: POP 00000ee3: PUSH1 0x00 00000ee5: PUSH1 0x40 00000ee7: MLOAD 00000ee8: DUP1 00000ee9: DUP4 00000eea: SUB 00000eeb: DUP2 00000eec: DUP7 00000eed: DUP1 00000eee: EXTCODESIZE 00000eef: ISZERO 00000ef0: ISZERO 00000ef1: PUSH2 0x0bd3 00000ef4: JUMPI 00000ef5: PUSH1 0x00 00000ef7: DUP1 00000ef8: REVERT 00000ef9: JUMPDEST 00000efa: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000f0f: PUSH4 0xcc135813 00000f14: PUSH1 0x00 00000f16: PUSH1 0x40 00000f18: MLOAD 00000f19: PUSH1 0xe0 00000f1b: PUSH1 0x02 00000f1d: EXP 00000f1e: PUSH4 0xffffffff 00000f23: DUP5 00000f24: AND 00000f25: MUL 00000f26: DUP2 00000f27: MSTORE 00000f28: PUSH1 0x04 00000f2a: DUP2 00000f2b: ADD 00000f2c: SWAP2 00000f2d: SWAP1 00000f2e: SWAP2 00000f2f: MSTORE 00000f30: PUSH1 0x24 00000f32: ADD 00000f33: PUSH1 0x00 00000f35: PUSH1 0x40 00000f37: MLOAD 00000f38: DUP1 00000f39: DUP4 00000f3a: SUB 00000f3b: DUP2 00000f3c: DUP7 00000f3d: DUP1 00000f3e: EXTCODESIZE 00000f3f: ISZERO 00000f40: ISZERO 00000f41: PUSH2 0x06be 00000f44: JUMPI 00000f45: PUSH1 0x00 00000f47: DUP1 00000f48: REVERT 00000f49: JUMPDEST 00000f4a: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000f5f: PUSH4 0x2006b39d 00000f64: PUSH1 0x00 00000f66: DUP8 00000f67: DUP8 00000f68: DUP8 00000f69: DUP8 00000f6a: DUP8 00000f6b: PUSH1 0x40 00000f6d: MLOAD 00000f6e: DUP8 00000f6f: PUSH4 0xffffffff 00000f74: AND 00000f75: PUSH1 0xe0 00000f77: PUSH1 0x02 00000f79: EXP 00000f7a: MUL 00000f7b: DUP2 00000f7c: MSTORE 00000f7d: PUSH1 0x04 00000f7f: ADD 00000f80: DUP1 00000f81: DUP8 00000f82: DUP2 00000f83: MSTORE 00000f84: PUSH1 0x20 00000f86: ADD 00000f87: DUP7 00000f88: DUP2 00000f89: MSTORE 00000f8a: PUSH1 0x20 00000f8c: ADD 00000f8d: DUP6 00000f8e: DUP2 00000f8f: MSTORE 00000f90: PUSH1 0x20 00000f92: ADD 00000f93: DUP5 00000f94: DUP2 00000f95: MSTORE 00000f96: PUSH1 0x20 00000f98: ADD 00000f99: DUP1 00000f9a: PUSH1 0x20 00000f9c: ADD 00000f9d: DUP3 00000f9e: DUP2 00000f9f: SUB 00000fa0: DUP3 00000fa1: MSTORE 00000fa2: DUP5 00000fa3: DUP5 00000fa4: DUP3 00000fa5: DUP2 00000fa6: DUP2 00000fa7: MSTORE 00000fa8: PUSH1 0x20 00000faa: ADD 00000fab: SWAP3 00000fac: POP 00000fad: PUSH1 0x20 00000faf: MUL 00000fb0: DUP1 00000fb1: DUP3 00000fb2: DUP5 00000fb3: CALLDATACOPY 00000fb4: DUP3 00000fb5: ADD 00000fb6: SWAP2 00000fb7: POP 00000fb8: POP 00000fb9: SWAP8 00000fba: POP 00000fbb: POP 00000fbc: POP 00000fbd: POP 00000fbe: POP 00000fbf: POP 00000fc0: POP 00000fc1: POP 00000fc2: PUSH1 0x00 00000fc4: PUSH1 0x40 00000fc6: MLOAD 00000fc7: DUP1 00000fc8: DUP4 00000fc9: SUB 00000fca: DUP2 00000fcb: DUP7 00000fcc: DUP1 00000fcd: EXTCODESIZE 00000fce: ISZERO 00000fcf: ISZERO 00000fd0: PUSH2 0x0cff 00000fd3: JUMPI 00000fd4: PUSH1 0x00 00000fd6: DUP1 00000fd7: REVERT 00000fd8: JUMPDEST 00000fd9: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00000fee: PUSH4 0x536b7ad5 00000ff3: PUSH1 0x00 00000ff5: DUP7 00000ff6: DUP7 00000ff7: DUP7 00000ff8: DUP7 00000ff9: PUSH1 0x40 00000ffb: MLOAD 00000ffc: DUP7 00000ffd: PUSH4 0xffffffff 00001002: AND 00001003: PUSH1 0xe0 00001005: PUSH1 0x02 00001007: EXP 00001008: MUL 00001009: DUP2 0000100a: MSTORE 0000100b: PUSH1 0x04 0000100d: ADD 0000100e: DUP1 0000100f: DUP7 00001010: DUP2 00001011: MSTORE 00001012: PUSH1 0x20 00001014: ADD 00001015: DUP1 00001016: PUSH1 0x20 00001018: ADD 00001019: DUP1 0000101a: PUSH1 0x20 0000101c: ADD 0000101d: DUP4 0000101e: DUP2 0000101f: SUB 00001020: DUP4 00001021: MSTORE 00001022: DUP8 00001023: DUP8 00001024: DUP3 00001025: DUP2 00001026: DUP2 00001027: MSTORE 00001028: PUSH1 0x20 0000102a: ADD 0000102b: SWAP3 0000102c: POP 0000102d: PUSH1 0x20 0000102f: MUL 00001030: DUP1 00001031: DUP3 00001032: DUP5 00001033: CALLDATACOPY 00001034: SWAP1 00001035: SWAP2 00001036: ADD 00001037: DUP5 00001038: DUP2 00001039: SUB 0000103a: DUP4 0000103b: MSTORE 0000103c: DUP6 0000103d: DUP2 0000103e: MSTORE 0000103f: PUSH1 0x20 00001041: SWAP1 00001042: DUP2 00001043: ADD 00001044: SWAP2 00001045: POP 00001046: DUP7 00001047: SWAP1 00001048: DUP7 00001049: MUL 0000104a: DUP1 0000104b: DUP3 0000104c: DUP5 0000104d: CALLDATACOPY 0000104e: DUP3 0000104f: ADD 00001050: SWAP2 00001051: POP 00001052: POP 00001053: SWAP8 00001054: POP 00001055: POP 00001056: POP 00001057: POP 00001058: POP 00001059: POP 0000105a: POP 0000105b: POP 0000105c: PUSH1 0x00 0000105e: PUSH1 0x40 00001060: MLOAD 00001061: DUP1 00001062: DUP4 00001063: SUB 00001064: DUP2 00001065: DUP7 00001066: DUP1 00001067: EXTCODESIZE 00001068: ISZERO 00001069: ISZERO 0000106a: PUSH2 0x0bd3 0000106d: JUMPI 0000106e: PUSH1 0x00 00001070: DUP1 00001071: REVERT 00001072: JUMPDEST 00001073: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00001088: PUSH4 0xd2ae7e0b 0000108d: PUSH1 0x00 0000108f: DUP6 00001090: DUP6 00001091: DUP6 00001092: PUSH1 0x40 00001094: MLOAD 00001095: PUSH1 0xe0 00001097: PUSH1 0x02 00001099: EXP 0000109a: PUSH4 0xffffffff 0000109f: DUP8 000010a0: AND 000010a1: MUL 000010a2: DUP2 000010a3: MSTORE 000010a4: PUSH1 0x04 000010a6: DUP2 000010a7: ADD 000010a8: DUP6 000010a9: DUP2 000010aa: MSTORE 000010ab: PUSH1 0x01 000010ad: PUSH1 0xa0 000010af: PUSH1 0x02 000010b1: EXP 000010b2: SUB 000010b3: DUP6 000010b4: AND 000010b5: PUSH1 0x24 000010b7: DUP4 000010b8: ADD 000010b9: MSTORE 000010ba: PUSH1 0x60 000010bc: PUSH1 0x44 000010be: DUP4 000010bf: ADD 000010c0: SWAP1 000010c1: DUP2 000010c2: MSTORE 000010c3: PUSH1 0x64 000010c5: DUP4 000010c6: ADD 000010c7: DUP5 000010c8: SWAP1 000010c9: MSTORE 000010ca: SWAP1 000010cb: SWAP2 000010cc: PUSH1 0x84 000010ce: ADD 000010cf: DUP5 000010d0: DUP5 000010d1: DUP1 000010d2: DUP3 000010d3: DUP5 000010d4: CALLDATACOPY 000010d5: DUP3 000010d6: ADD 000010d7: SWAP2 000010d8: POP 000010d9: POP 000010da: SWAP6 000010db: POP 000010dc: POP 000010dd: POP 000010de: POP 000010df: POP 000010e0: POP 000010e1: PUSH1 0x00 000010e3: PUSH1 0x40 000010e5: MLOAD 000010e6: DUP1 000010e7: DUP4 000010e8: SUB 000010e9: DUP2 000010ea: DUP7 000010eb: DUP1 000010ec: EXTCODESIZE 000010ed: ISZERO 000010ee: ISZERO 000010ef: PUSH2 0x0653 000010f2: JUMPI 000010f3: PUSH1 0x00 000010f5: DUP1 000010f6: REVERT 000010f7: JUMPDEST 000010f8: PUSH1 0x0a 000010fa: SLOAD 000010fb: SWAP1 000010fc: JUMP 000010fd: JUMPDEST 000010fe: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 00001113: PUSH4 0x663eb994 00001118: PUSH1 0x00 0000111a: DUP5 0000111b: DUP5 0000111c: PUSH1 0x40 0000111e: MLOAD 0000111f: PUSH1 0xe0 00001121: PUSH1 0x02 00001123: EXP 00001124: PUSH4 0xffffffff 00001129: DUP7 0000112a: AND 0000112b: MUL 0000112c: DUP2 0000112d: MSTORE 0000112e: PUSH1 0x04 00001130: DUP2 00001131: ADD 00001132: SWAP4 00001133: SWAP1 00001134: SWAP4 00001135: MSTORE 00001136: PUSH1 0x01 00001138: PUSH1 0xa0 0000113a: PUSH1 0x02 0000113c: EXP 0000113d: SUB 0000113e: SWAP1 0000113f: SWAP2 00001140: AND 00001141: PUSH1 0x24 00001143: DUP4 00001144: ADD 00001145: MSTORE 00001146: ISZERO 00001147: ISZERO 00001148: PUSH1 0x44 0000114a: DUP3 0000114b: ADD 0000114c: MSTORE 0000114d: PUSH1 0x64 0000114f: ADD 00001150: PUSH1 0x00 00001152: PUSH1 0x40 00001154: MLOAD 00001155: DUP1 00001156: DUP4 00001157: SUB 00001158: DUP2 00001159: DUP7 0000115a: DUP1 0000115b: EXTCODESIZE 0000115c: ISZERO 0000115d: ISZERO 0000115e: PUSH2 0x0738 00001161: JUMPI 00001162: PUSH1 0x00 00001164: DUP1 00001165: REVERT 00001166: JUMPDEST 00001167: PUSH20 0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b 0000117c: PUSH4 0xd4d357c0 00001181: PUSH1 0x00 00001183: DUP5 00001184: DUP5 00001185: PUSH1 0x40 00001187: MLOAD 00001188: PUSH1 0xe0 0000118a: PUSH1 0x02 0000118c: EXP 0000118d: PUSH4 0xffffffff 00001192: DUP7 00001193: AND 00001194: MUL 00001195: DUP2 00001196: MSTORE 00001197: PUSH1 0x04 00001199: DUP2 0000119a: ADD 0000119b: DUP5 0000119c: DUP2 0000119d: MSTORE 0000119e: PUSH1 0x40 000011a0: PUSH1 0x24 000011a2: DUP4 000011a3: ADD 000011a4: SWAP1 000011a5: DUP2 000011a6: MSTORE 000011a7: PUSH1 0x44 000011a9: DUP4 000011aa: ADD 000011ab: DUP5 000011ac: SWAP1 000011ad: MSTORE 000011ae: SWAP1 000011af: SWAP2 000011b0: PUSH1 0x64 000011b2: ADD 000011b3: DUP5 000011b4: PUSH1 0x20 000011b6: DUP6 000011b7: MUL 000011b8: DUP1 000011b9: DUP3 000011ba: DUP5 000011bb: CALLDATACOPY 000011bc: DUP3 000011bd: ADD 000011be: SWAP2 000011bf: POP 000011c0: POP 000011c1: SWAP5 000011c2: POP 000011c3: POP 000011c4: POP 000011c5: POP 000011c6: POP 000011c7: PUSH1 0x00 000011c9: PUSH1 0x40 000011cb: MLOAD 000011cc: DUP1 000011cd: DUP4 000011ce: SUB 000011cf: DUP2 000011d0: DUP7 000011d1: DUP1 000011d2: EXTCODESIZE 000011d3: ISZERO 000011d4: ISZERO 000011d5: PUSH2 0x0738 000011d8: JUMPI 000011d9: PUSH1 0x00 000011db: DUP1 000011dc: REVERT 000011dd: JUMPDEST 000011de: PUSH1 0x20 000011e0: PUSH1 0x40 000011e2: MLOAD 000011e3: SWAP1 000011e4: DUP2 000011e5: ADD 000011e6: PUSH1 0x40 000011e8: MSTORE 000011e9: PUSH1 0x00 000011eb: DUP2 000011ec: MSTORE 000011ed: SWAP1 000011ee: JUMP 000011ef: STOP 000011f0: LOG1 000011f1: PUSH6 0x627a7a723058 000011f8: KECCAK256 000011f9: UNKNOWN(0xFB) 000011fa: UNKNOWN(0xE7) 000011fb: ISZERO 000011fc: UNKNOWN(0xAA) 000011fd: GASPRICE 000011fe: CALLDATASIZE 000011ff: UNKNOWN(0xB9) 00001200: GT 00001201: SHR 00001202: SWAP5 00001203: EXP 00001204: UNKNOWN(0xED) 00001205: EXTCODESIZE 00001206: UNKNOWN(0xC5) 00001207: DUP13 00001208: RETURN 00001209: SSTORE 0000120a: UNKNOWN(0x2D) 0000120b: SAR 0000120c: PUSH7 0x801086966e4382 00001214: SWAP16 00001215: SWAP16 00001216: PUSH17
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x8f52b5a3f27701bb92a9cc58e1a2311babbe7e209cd683f47b6b5b1d6f05d6cf
call_targets:
0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b
target_varies:
no
classification:
constant_target
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x8f52b5a3f27701bb92a9cc58e1a2311babbe7e209cd683f47b6b5b1d6f05d6cf",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x7723b7ba8fa8620ac9d667f05c3e7d863266fc4b"
],
"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": "0x14614af9",
"selector": "0x14614af9",
"calldata_variants": [
"0x14614af9",
"0x14614af90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1642045e",
"selector": "0x1642045e",
"calldata_variants": [
"0x1642045e",
"0x1642045e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17f708fb",
"selector": "0x17f708fb",
"calldata_variants": [
"0x17f708fb",
"0x17f708fb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x19f363bc",
"selector": "0x19f363bc",
"calldata_variants": [
"0x19f363bc",
"0x19f363bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2b55b792",
"selector": "0x2b55b792",
"calldata_variants": [
"0x2b55b792",
"0x2b55b7920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2d923501",
"selector": "0x2d923501",
"calldata_variants": [
"0x2d923501",
"0x2d9235010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x390a05a8",
"selector": "0x390a05a8",
"calldata_variants": [
"0x390a05a8",
"0x390a05a80000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 374,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1621,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 1728,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 10,
"untrusted_delegatecall_count": 10
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 10
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 22
}
|