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

Analysis Run

4ee9e6aa-cee2-43f6-81ad-5f467998a375

complete
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 10:14 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30209 report.consolidate complete 1 / 1 3 months ago
73438 artifact.fetch complete 1 / 3 1 week ago
73439 tool.cast_disasm complete 1 / 3 1 week ago
73440 analysis.bundle complete 1 / 3 1 week ago
73441 capability.graph complete 1 / 3 1 week ago
73442 detector.run complete 1 / 3 1 week ago
73443 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Identified 1 auth-pattern risk: tx.origin is used in an OTC authorization check.
View stderr
[codex:1275575] OpenAI Codex v0.77.0 (research preview)
[codex:1275575] --------
[codex:1275575] workdir: /tmp/codex-multi-_oktbhz4
[codex:1275575] model: gpt-5.2-codex
[codex:1275575] provider: openai
[codex:1275575] approval: never
[codex:1275575] sandbox: read-only
[codex:1275575] reasoning effort: xhigh
[codex:1275575] reasoning summaries: auto
[codex:1275575] session id: 019b61dc-2636-7c11-b2cf-b20761707f93
[codex:1275575] --------
[codex:1275575] user
[codex:1275575] You are a security auditor. You are given EVM runtime bytecode (and possibly a disassembly) for a contract with NO verified source.
[codex:1275575] This is best-effort. Do not hallucinate: only flag issues when there's a concrete, explainable angle from bytecode/disasm patterns.
[codex:1275575] 
[codex:1275575] You MUST read the full `BYTECODE_BUNDLE.txt` before concluding.
[codex:1275575] 
[codex:1275575] Output MUST be valid JSON matching the provided schema.
[codex:1275575] - If you cannot identify a concrete issue from bytecode/disasm alone: set no_findings=true and findings=[].
[codex:1275575] - Otherwise: include findings with severity/category/title/evidence and point locations to BYTECODE_BUNDLE.txt line ranges when possible.
[codex:1275575] 
[codex:1275575] Output constraints (IMPORTANT):
[codex:1275575] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1275575] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1275575] mcp startup: no servers
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Checking BYTECODE_BUNDLE.txt**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc ls in /tmp/codex-multi-_oktbhz4 succeeded in 6ms:
[codex:1275575] BYTECODE_BUNDLE.txt
[codex:1275575] codex-output-schema.json
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-_oktbhz4 succeeded in 6ms:
[codex:1275575] Runtime bytecode bundle for best-effort auditing.
[codex:1275575] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1275575] 
[codex:1275575] FILE: runtime_bytecode.hex
[codex:1275575] 0x6080604052600436106101a75760003560e01c80638da5cb5b116100e2578063adf38ba111610085578063adf38ba114610552578063af34bd8b14610572578063b8ca8dd814610592578063bbd4f294146105b2578063bded8813146105d2578063c0bbfe91146105f2578063c21828781461061f578063df5da5071461063457600080fd5b80638da5cb5b146104505780638f5e074c146104705780638fd903f51461049d57806399757fce146104bd5780639b3b82cc146104d25780639cd7b6fe146104f2578063a090949a14610512578063ab5726501461053257600080fd5b8063477233731161014a5780634772337314610360578063567756831461038057806357fff378146103a057806358d51f0a146103db5780636e1a1f20146103fb5780636f984635146103db5780637667f84f1461041b5780638d5c93bd1461043b57600080fd5b806305ce74931461022f578063092fd7e91461024f57806313af40351461027a5780631626ba7e1461029a57806324bfeb30146102d35780632f0dd388146102f3578063363d94ab1461031357806341d606bb1461033357600080fd5b3661022a57600a54600160a01b900460ff1615156001036101c457005b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b005b600080fd5b34801561023b57600080fd5b5061022861024a366004611dc1565b610654565b34801561025b57600080fd5b5061026461075b565b6040516102719190611e02565b60405180910390f35b34801561028657600080fd5b50610228610295366004611e67565b6107e8565b3480156102a657600080fd5b506102ba6102b5366004611ec5565b610834565b6040516001600160e01b03199091168152602001610271565b3480156102df57600080fd5b506102286102ee366004611f10565b6108ea565b3480156102ff57600080fd5b5061022861030e366004611f57565b61092e565b34801561031f57600080fd5b5061022861032e366004611dc1565b6109c0565b34801561033f57600080fd5b50600a54610353906001600160a01b031681565b6040516102719190611fa2565b34801561036c57600080fd5b5061022861037b366004611e67565b610ab9565b34801561038c57600080fd5b5061022861039b366004611dc1565b610b05565b3480156103ac57600080fd5b506103cd6103bb366004611e67565b60036020526000908152604090205481565b604051908152602001610271565b3480156103e757600080fd5b506102286103f6366004611e67565b610b9c565b34801561040757600080fd5b50610228610416366004611dc1565b610be8565b34801561042757600080fd5b50610228610436366004611e67565b610ce1565b34801561044757600080fd5b50610264610d70565b34801561045c57600080fd5b50600054610353906001600160a01b031681565b34801561047c57600080fd5b506103cd61048b366004611e67565b60046020526000908152604090205481565b3480156104a957600080fd5b50600154610353906001600160a01b031681565b3480156104c957600080fd5b50610228610dfb565b3480156104de57600080fd5b506102286104ed366004611fb6565b610e8f565b3480156104fe57600080fd5b5061022861050d366004612113565b610f46565b34801561051e57600080fd5b5061022861052d36600461217f565b610fec565b34801561053e57600080fd5b50600954610353906001600160a01b031681565b34801561055e57600080fd5b5061022861056d3660046121b4565b611025565b34801561057e57600080fd5b5061022861058d366004612113565b6111d5565b34801561059e57600080fd5b506102286105ad366004611fb6565b611294565b3480156105be57600080fd5b506102286105cd366004612281565b61134a565b3480156105de57600080fd5b506102286105ed3660046122bb565b6113a9565b3480156105fe57600080fd5b506103cd61060d366004611e67565b60026020526000908152604090205481565b34801561062b57600080fd5b50610264611462565b34801561064057600080fd5b5061022861064f366004611e67565b6114ed565b6000546001600160a01b031633146106875760405162461bcd60e51b815260040161067e90612330565b60405180910390fd5b60005b6007548110156106e457600060046000600784815481106106ad576106ad612358565b60009182526020808320909101546001600160a01b03168352820192909252604001902055806106dc8161236e565b91505061068a565b506106f160078383611cfe565b5060005b818110156107565760016004600085858581811061071557610715612358565b905060200201602081019061072a9190611e67565b6001600160a01b031681526020810191909152604001600020558061074e8161236e565b9150506106f5565b505050565b6000546060906001600160a01b031633146107885760405162461bcd60e51b815260040161067e90612330565b60058054806020026020016040519081016040528092919081815260200182805480156107de57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107c0575b5050505050905090565b6000546001600160a01b031633146108125760405162461bcd60e51b815260040161067e90612330565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806108778585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061153992505050565b9050600061089d826001600160a01b031660009081526002602052604090205460011490565b6000549091506001600160a01b03838116911614806108b95750805b156108d05750630b135d3f60e11b91506108e39050565b506001600160e01b031991506108e39050565b9392505050565b6000546001600160a01b031633146109145760405162461bcd60e51b815260040161067e90612330565b61092a6001600160a01b03831682600019611755565b5050565b6000546001600160a01b031633146109585760405162461bcd60e51b815260040161067e90612330565b60405163ea7faa6160e01b81526001600160a01b038381166004830152821515602483015284169063ea7faa6190604401600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146109ea5760405162461bcd60e51b815260040161067e90612330565b60005b600554811015610a475760006002600060058481548110610a1057610a10612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610a3f8161236e565b9150506109ed565b50610a5460058383611cfe565b5060005b8181101561075657600160026000858585818110610a7857610a78612358565b9050602002016020810190610a8d9190611e67565b6001600160a01b0316815260208101919091526040016000205580610ab18161236e565b915050610a58565b6000546001600160a01b03163314610ae35760405162461bcd60e51b815260040161067e90612330565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b33600090815260026020526040902054600114610b345760405162461bcd60e51b815260040161067e90612395565b600954604051630d7a16c360e01b81526001600160a01b0390911690630d7a16c390610b669085908590600401612474565b600060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610bc65760405162461bcd60e51b815260040161067e90612330565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c125760405162461bcd60e51b815260040161067e90612330565b60005b600654811015610c6f5760006003600060068481548110610c3857610c38612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610c678161236e565b915050610c15565b50610c7c60068383611cfe565b5060005b8181101561075657600160036000858585818110610ca057610ca0612358565b9050602002016020810190610cb59190611e67565b6001600160a01b0316815260208101919091526040016000205580610cd98161236e565b915050610c80565b6000546001600160a01b03163314610d0b5760405162461bcd60e51b815260040161067e90612330565b600a54604051635b52ebef60e11b81526001600160a01b039091169063b6a5d7de90610d3b908490600401611fa2565b600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b5050505050565b6000546060906001600160a01b03163314610d9d5760405162461bcd60e51b815260040161067e90612330565b60068054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b03163314610e255760405162461bcd60e51b815260040161067e90612330565b600a60009054906101000a90046001600160a01b03166001600160a01b031663b6549f756040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610eb95760405162461bcd60e51b815260040161067e90612330565b600a805460ff60a01b1916600160a01b179055600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d906024015b600060405180830381600087803b158015610f1357600080fd5b505af1158015610f27573d6000803e3d6000fd5b50505050610f3581836117ba565b5050600a805460ff60a01b19169055565b6000546001600160a01b03163314610f705760405162461bcd60e51b815260040161067e90612330565b8151835114610f915760405162461bcd60e51b815260040161067e906124e6565b60005b8351811015610e8957610fda82858381518110610fb357610fb3612358565b6020026020010151858481518110610fcd57610fcd612358565b6020026020010151611814565b80610fe48161236e565b915050610f94565b3360009081526002602052604090205460011461101b5760405162461bcd60e51b815260040161067e90612395565b61092a82826118fb565b6008546001600160a01b0316331461105057604051630126c14d60e61b815260040160405180910390fd5b6001600160a01b038616301461107957604051635211a07960e01b815260040160405180910390fd5b326000908152600260205260409020546001146110cf5760405162461bcd60e51b815260206004820152601460248201527374782e6f726967696e206973206e6f74204f544360601b604482015260640161067e565b6000806110de838501856125f7565b9150915060005b82518110156111c65760008061111a85848151811061110657611106612358565b60200260200101516001600160a01b031690565b6001600160a01b031684848151811061113557611135612358565b602002602001015160405161114a91906126d3565b6000604051808303816000865af19150503d8060008114611187576040519150601f19603f3d011682016040523d82523d6000602084013e61118c565b606091505b5091509150816111b35782816040516307d6414d60e51b815260040161067e9291906126ef565b5050806111bf9061236e565b90506110e5565b50505050505050505050505050565b336000908152600360205260409020546001146112045760405162461bcd60e51b815260040161067e90612729565b81518351146112255760405162461bcd60e51b815260040161067e906124e6565b6001600160a01b0381166000908152600460205260409020546001908114146112605760405162461bcd60e51b815260040161067e90612753565b60005b8351811015610e895761128282858381518110610fb357610fb3612358565b8061128c8161236e565b915050611263565b336000908152600360205260409020546001146112c35760405162461bcd60e51b815260040161067e90612729565b600a805460ff60a01b1916600160a01b1790556112f8816001600160a01b031660009081526004602052604090205460011490565b15156001146113195760405162461bcd60e51b815260040161067e90612753565b600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401610ef9565b336000908152600260205260409020546001146113795760405162461bcd60e51b815260040161067e90612395565b600954604051631fb10c9760e11b81526001600160a01b0390911690633f62192e90610d3b908490600401612786565b6000546001600160a01b031633146113d35760405162461bcd60e51b815260040161067e90612330565b80518251146113f45760405162461bcd60e51b815260040161067e906124e6565b60005b8251811015610e89576114508483838151811061141657611416612358565b602002602001015185848151811061143057611430612358565b60200260200101516001600160a01b031661196e9092919063ffffffff16565b8061145a8161236e565b9150506113f7565b6000546060906001600160a01b0316331461148f5760405162461bcd60e51b815260040161067e90612330565b60078054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b031633146115175760405162461bcd60e51b815260040161067e90612330565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008084516041036115615750505060018201516021830151604184015190916115d5565b845160400361158d57505050602082015160408301516001600160ff1b0381169060ff1c601b016115d5565b60405162461bcd60e51b815260206004820152601d60248201527f4c69713a20696e76616c6964207369676e6174757265206c656e677468000000604482015260640161067e565b6fa2a8918ca85bafe22016d0b997e4df60600160ff1b0382111561163b5760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202773272076616c7565604482015260640161067e565b8060ff16601b1415801561165357508060ff16601c14155b156116a05760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202776272076616c7565604482015260640161067e565b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156116f3573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661174c5760405162461bcd60e51b81526020600482015260136024820152722634b89d1024a72b20a624a22fa9a4a3a722a960691b604482015260640161067e565b50505092915050565b6117688363095ea7b360e01b8484611ab6565b610756576117808363095ea7b360e01b846000611ab6565b158061179c575061179a8363095ea7b360e01b8484611ab6565b155b156107565760405163019be9a960e41b815260040160405180910390fd5b4760008190036117c957505050565b8115806117d557508082115b156117de578091505b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610e89573d6000803e3d6000fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a0823190611845903090600401611fa2565b602060405180830381865afa158015611862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118869190612799565b9050806000036118d25760405162461bcd60e51b81526020600482015260176024820152764c69713a206e6f207370656369666965642066756e647360481b604482015260640161067e565b8215806118de57508083115b156118e7578092505b610d696001600160a01b0383168685611b0a565b6008546040516000916001600160a01b03169061191b90859085906127b2565b6000604051808303816000865af19150503d8060008114611958576040519150601f19603f3d011682016040523d82523d6000602084013e61195d565b606091505b505090508061075657610756611b3a565b8015806119e85750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156119c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e69190612799565b155b611a535760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161067e565b6040516001600160a01b03831660248201526044810182905261075690849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b46565b60006040518481528360048201528260248201526020600060448360008a5af19150508015611b02573d8015611af857600160005114601f3d11169150611b00565b6000863b1191505b505b949350505050565b6040516001600160a01b03831660248201526044810182905261075690849063a9059cbb60e01b90606401611a7f565b6040513d6000823e3d81fd5b611b4f82611cc5565b611b9b5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161067e565b600080836001600160a01b031683604051611bb691906126d3565b6000604051808303816000865af19150503d8060008114611bf3576040519150601f19603f3d011682016040523d82523d6000602084013e611bf8565b606091505b509150915081611c4a5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161067e565b805115610e895780806020019051810190611c6591906127c2565b610e895760405162461bcd60e51b815260206004820152602b60248201527f5361666545524332303a20494552433230206f7065726174696f6e206469642060448201526a1b9bdd081cdd58d8d9595960aa1b606482015260840161067e565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611b02575050151592915050565b828054828255906000526020600020908101928215611d51579160200282015b82811115611d515781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190611d1e565b50611d5d929150611d61565b5090565b5b80821115611d5d5760008155600101611d62565b60008083601f840112611d8857600080fd5b5081356001600160401b03811115611d9f57600080fd5b6020830191508360208260051b8501011115611dba57600080fd5b9250929050565b60008060208385031215611dd457600080fd5b82356001600160401b03811115611dea57600080fd5b611df685828601611d76565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015611e435783516001600160a01b031683529284019291840191600101611e1e565b50909695505050505050565b6001600160a01b0381168114611e6457600080fd5b50565b600060208284031215611e7957600080fd5b81356108e381611e4f565b60008083601f840112611e9657600080fd5b5081356001600160401b03811115611ead57600080fd5b602083019150836020828501011115611dba57600080fd5b600080600060408486031215611eda57600080fd5b8335925060208401356001600160401b03811115611ef757600080fd5b611f0386828701611e84565b9497909650939450505050565b60008060408385031215611f2357600080fd5b8235611f2e81611e4f565b91506020830135611f3e81611e4f565b809150509250929050565b8015158114611e6457600080fd5b600080600060608486031215611f6c57600080fd5b8335611f7781611e4f565b92506020840135611f8781611e4f565b91506040840135611f9781611f49565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060408385031215611fc957600080fd5b823591506020830135611f3e81611e4f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561201957612019611fdb565b604052919050565b60006001600160401b0382111561203a5761203a611fdb565b5060051b60200190565b600082601f83011261205557600080fd5b8135602061206a61206583612021565b611ff1565b82815260059290921b8401810191818101908684111561208957600080fd5b8286015b848110156120ad5780356120a081611e4f565b835291830191830161208d565b509695505050505050565b600082601f8301126120c957600080fd5b813560206120d961206583612021565b82815260059290921b840181019181810190868411156120f857600080fd5b8286015b848110156120ad57803583529183019183016120fc565b60008060006060848603121561212857600080fd5b83356001600160401b038082111561213f57600080fd5b61214b87838801612044565b9450602086013591508082111561216157600080fd5b5061216e868287016120b8565b9250506040840135611f9781611e4f565b6000806020838503121561219257600080fd5b82356001600160401b038111156121a857600080fd5b611df685828601611e84565b6000806000806000806000806000808a8c036101e08112156121d557600080fd5b610100808212156121e557600080fd5b8c9b508b013590506001600160401b038082111561220257600080fd5b61220e8e838f01611e84565b909b5099506101208d013598506101408d0135915061222c82611e4f565b9096506101608c013595506101808c013594506101a08c013593506101c08c0135908082111561225b57600080fd5b506122688d828e01611e84565b915080935050809150509295989b9194979a5092959850565b60006020828403121561229357600080fd5b81356001600160401b038111156122a957600080fd5b8201604081850312156108e357600080fd5b6000806000606084860312156122d057600080fd5b83356122db81611e4f565b925060208401356001600160401b03808211156122f757600080fd5b61230387838801612044565b9350604086013591508082111561231957600080fd5b50612326868287016120b8565b9150509250925092565b6020808252600e908201526d2634b89d1037b7363ca7bbb732b960911b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161238e57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600c908201526b4c69713a206f6e6c794f746360a01b604082015260600190565b6000808335601e198436030181126123d257600080fd5b83016020810192503590506001600160401b038111156123f157600080fd5b803603821315611dba57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061243582836123bb565b60408552612447604086018284612400565b91505061245760208401846123bb565b858303602087015261246a838284612400565b9695505050505050565b60208082528181018390526000906040600585901b840181019084018684805b888110156124d857878503603f190184528235368b9003603e190181126124b9578283fd5b6124c5868c8301612429565b9550509285019291850191600101612494565b509298975050505050505050565b602080825260149082015273098d2e27440d8cadccee8d040dad2e6dac2e8c6d60631b604082015260600190565b6000601f838184011261252657600080fd5b8235602061253661206583612021565b82815260059290921b8501810191818101908784111561255557600080fd5b8287015b848110156125eb5780356001600160401b03808211156125795760008081fd5b818a0191508a603f83011261258e5760008081fd5b858201356040828211156125a4576125a4611fdb565b6125b5828b01601f19168901611ff1565b92508183528c818386010111156125cc5760008081fd5b8181850189850137506000908201870152845250918301918301612559565b50979650505050505050565b6000806040838503121561260a57600080fd5b82356001600160401b038082111561262157600080fd5b818501915085601f83011261263557600080fd5b8135602061264561206583612021565b82815260059290921b8401810191818101908984111561266457600080fd5b948201945b8386101561268257853582529482019490820190612669565b9650508601359250508082111561269857600080fd5b506126a585828601612514565b9150509250929050565b60005b838110156126ca5781810151838201526020016126b2565b50506000910152565b600082516126e58184602087016126af565b9190910192915050565b82815260406020820152600082518060408401526127148160608501602087016126af565b601f01601f1916919091016060019392505050565b60208082526010908201526f2634b89d1037b7363ca1b0b9b434b2b960811b604082015260600190565b602080825260199082015278131a5c4e881dda5d1a191c985dd85b081dda1a5d195b1a5cdd603a1b604082015260600190565b6020815260006108e36020830184612429565b6000602082840312156127ab57600080fd5b5051919050565b8183823760009101908152919050565b6000602082840312156127d457600080fd5b81516108e381611f4956fea2646970667358221220bfdbea62b07e4ff7fb2162d48e9548626c89c49ab6e834c6ac518416ae42295664736f6c63430008110033
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing bytecode for vulnerabilities**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'command -v evm || command -v hevm || command -v cast || command -v ethereumjs-cli || command -v disasm' in /tmp/codex-multi-_oktbhz4 succeeded in 6ms:
[codex:1275575] /home/noahkuhn/.foundry/bin/cast
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Preparing disassembly with cast**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt' in /tmp/codex-multi-_oktbhz4 succeeded in 8ms:
[codex:1275575] 0x6080604052600436106101a75760003560e01c80638da5cb5b116100e2578063adf38ba111610085578063adf38ba114610552578063af34bd8b14610572578063b8ca8dd814610592578063bbd4f294146105b2578063bded8813146105d2578063c0bbfe91146105f2578063c21828781461061f578063df5da5071461063457600080fd5b80638da5cb5b146104505780638f5e074c146104705780638fd903f51461049d57806399757fce146104bd5780639b3b82cc146104d25780639cd7b6fe146104f2578063a090949a14610512578063ab5726501461053257600080fd5b8063477233731161014a5780634772337314610360578063567756831461038057806357fff378146103a057806358d51f0a146103db5780636e1a1f20146103fb5780636f984635146103db5780637667f84f1461041b5780638d5c93bd1461043b57600080fd5b806305ce74931461022f578063092fd7e91461024f57806313af40351461027a5780631626ba7e1461029a57806324bfeb30146102d35780632f0dd388146102f3578063363d94ab1461031357806341d606bb1461033357600080fd5b3661022a57600a54600160a01b900460ff1615156001036101c457005b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b005b600080fd5b34801561023b57600080fd5b5061022861024a366004611dc1565b610654565b34801561025b57600080fd5b5061026461075b565b6040516102719190611e02565b60405180910390f35b34801561028657600080fd5b50610228610295366004611e67565b6107e8565b3480156102a657600080fd5b506102ba6102b5366004611ec5565b610834565b6040516001600160e01b03199091168152602001610271565b3480156102df57600080fd5b506102286102ee366004611f10565b6108ea565b3480156102ff57600080fd5b5061022861030e366004611f57565b61092e565b34801561031f57600080fd5b5061022861032e366004611dc1565b6109c0565b34801561033f57600080fd5b50600a54610353906001600160a01b031681565b6040516102719190611fa2565b34801561036c57600080fd5b5061022861037b366004611e67565b610ab9565b34801561038c57600080fd5b5061022861039b366004611dc1565b610b05565b3480156103ac57600080fd5b506103cd6103bb366004611e67565b60036020526000908152604090205481565b604051908152602001610271565b3480156103e757600080fd5b506102286103f6366004611e67565b610b9c565b34801561040757600080fd5b50610228610416366004611dc1565b610be8565b34801561042757600080fd5b50610228610436366004611e67565b610ce1565b34801561044757600080fd5b50610264610d70565b34801561045c57600080fd5b50600054610353906001600160a01b031681565b34801561047c57600080fd5b506103cd61048b366004611e67565b60046020526000908152604090205481565b3480156104a957600080fd5b50600154610353906001600160a01b031681565b3480156104c957600080fd5b50610228610dfb565b3480156104de57600080fd5b506102286104ed366004611fb6565b610e8f565b3480156104fe57600080fd5b5061022861050d366004612113565b610f46565b34801561051e57600080fd5b5061022861052d36600461217f565b610fec565b34801561053e57600080fd5b50600954610353906001600160a01b031681565b34801561055e57600080fd5b5061022861056d3660046121b4565b611025565b34801561057e57600080fd5b5061022861058d366004612113565b6111d5565b34801561059e57600080fd5b506102286105ad366004611fb6565b611294565b3480156105be57600080fd5b506102286105cd366004612281565b61134a565b3480156105de57600080fd5b506102286105ed3660046122bb565b6113a9565b3480156105fe57600080fd5b506103cd61060d366004611e67565b60026020526000908152604090205481565b34801561062b57600080fd5b50610264611462565b34801561064057600080fd5b5061022861064f366004611e67565b6114ed565b6000546001600160a01b031633146106875760405162461bcd60e51b815260040161067e90612330565b60405180910390fd5b60005b6007548110156106e457600060046000600784815481106106ad576106ad612358565b60009182526020808320909101546001600160a01b03168352820192909252604001902055806106dc8161236e565b91505061068a565b506106f160078383611cfe565b5060005b818110156107565760016004600085858581811061071557610715612358565b905060200201602081019061072a9190611e67565b6001600160a01b031681526020810191909152604001600020558061074e8161236e565b9150506106f5565b505050565b6000546060906001600160a01b031633146107885760405162461bcd60e51b815260040161067e90612330565b60058054806020026020016040519081016040528092919081815260200182805480156107de57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107c0575b5050505050905090565b6000546001600160a01b031633146108125760405162461bcd60e51b815260040161067e90612330565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806108778585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061153992505050565b9050600061089d826001600160a01b031660009081526002602052604090205460011490565b6000549091506001600160a01b03838116911614806108b95750805b156108d05750630b135d3f60e11b91506108e39050565b506001600160e01b031991506108e39050565b9392505050565b6000546001600160a01b031633146109145760405162461bcd60e51b815260040161067e90612330565b61092a6001600160a01b03831682600019611755565b5050565b6000546001600160a01b031633146109585760405162461bcd60e51b815260040161067e90612330565b60405163ea7faa6160e01b81526001600160a01b038381166004830152821515602483015284169063ea7faa6190604401600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146109ea5760405162461bcd60e51b815260040161067e90612330565b60005b600554811015610a475760006002600060058481548110610a1057610a10612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610a3f8161236e565b9150506109ed565b50610a5460058383611cfe565b5060005b8181101561075657600160026000858585818110610a7857610a78612358565b9050602002016020810190610a8d9190611e67565b6001600160a01b0316815260208101919091526040016000205580610ab18161236e565b915050610a58565b6000546001600160a01b03163314610ae35760405162461bcd60e51b815260040161067e90612330565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b33600090815260026020526040902054600114610b345760405162461bcd60e51b815260040161067e90612395565b600954604051630d7a16c360e01b81526001600160a01b0390911690630d7a16c390610b669085908590600401612474565b600060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610bc65760405162461bcd60e51b815260040161067e90612330565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c125760405162461bcd60e51b815260040161067e90612330565b60005b600654811015610c6f5760006003600060068481548110610c3857610c38612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610c678161236e565b915050610c15565b50610c7c60068383611cfe565b5060005b8181101561075657600160036000858585818110610ca057610ca0612358565b9050602002016020810190610cb59190611e67565b6001600160a01b0316815260208101919091526040016000205580610cd98161236e565b915050610c80565b6000546001600160a01b03163314610d0b5760405162461bcd60e51b815260040161067e90612330565b600a54604051635b52ebef60e11b81526001600160a01b039091169063b6a5d7de90610d3b908490600401611fa2565b600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b5050505050565b6000546060906001600160a01b03163314610d9d5760405162461bcd60e51b815260040161067e90612330565b60068054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b03163314610e255760405162461bcd60e51b815260040161067e90612330565b600a60009054906101000a90046001600160a01b03166001600160a01b031663b6549f756040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610eb95760405162461bcd60e51b815260040161067e90612330565b600a805460ff60a01b1916600160a01b179055600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d906024015b600060405180830381600087803b158015610f1357600080fd5b505af1158015610f27573d6000803e3d6000fd5b50505050610f3581836117ba565b5050600a805460ff60a01b19169055565b6000546001600160a01b03163314610f705760405162461bcd60e51b815260040161067e90612330565b8151835114610f915760405162461bcd60e51b815260040161067e906124e6565b60005b8351811015610e8957610fda82858381518110610fb357610fb3612358565b6020026020010151858481518110610fcd57610fcd612358565b6020026020010151611814565b80610fe48161236e565b915050610f94565b3360009081526002602052604090205460011461101b5760405162461bcd60e51b815260040161067e90612395565b61092a82826118fb565b6008546001600160a01b0316331461105057604051630126c14d60e61b815260040160405180910390fd5b6001600160a01b038616301461107957604051635211a07960e01b815260040160405180910390fd5b326000908152600260205260409020546001146110cf5760405162461bcd60e51b815260206004820152601460248201527374782e6f726967696e206973206e6f74204f544360601b604482015260640161067e565b6000806110de838501856125f7565b9150915060005b82518110156111c65760008061111a85848151811061110657611106612358565b60200260200101516001600160a01b031690565b6001600160a01b031684848151811061113557611135612358565b602002602001015160405161114a91906126d3565b6000604051808303816000865af19150503d8060008114611187576040519150601f19603f3d011682016040523d82523d6000602084013e61118c565b606091505b5091509150816111b35782816040516307d6414d60e51b815260040161067e9291906126ef565b5050806111bf9061236e565b90506110e5565b50505050505050505050505050565b336000908152600360205260409020546001146112045760405162461bcd60e51b815260040161067e90612729565b81518351146112255760405162461bcd60e51b815260040161067e906124e6565b6001600160a01b0381166000908152600460205260409020546001908114146112605760405162461bcd60e51b815260040161067e90612753565b60005b8351811015610e895761128282858381518110610fb357610fb3612358565b8061128c8161236e565b915050611263565b336000908152600360205260409020546001146112c35760405162461bcd60e51b815260040161067e90612729565b600a805460ff60a01b1916600160a01b1790556112f8816001600160a01b031660009081526004602052604090205460011490565b15156001146113195760405162461bcd60e51b815260040161067e90612753565b600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401610ef9565b336000908152600260205260409020546001146113795760405162461bcd60e51b815260040161067e90612395565b600954604051631fb10c9760e11b81526001600160a01b0390911690633f62192e90610d3b908490600401612786565b6000546001600160a01b031633146113d35760405162461bcd60e51b815260040161067e90612330565b80518251146113f45760405162461bcd60e51b815260040161067e906124e6565b60005b8251811015610e89576114508483838151811061141657611416612358565b602002602001015185848151811061143057611430612358565b60200260200101516001600160a01b031661196e9092919063ffffffff16565b8061145a8161236e565b9150506113f7565b6000546060906001600160a01b0316331461148f5760405162461bcd60e51b815260040161067e90612330565b60078054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b031633146115175760405162461bcd60e51b815260040161067e90612330565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008084516041036115615750505060018201516021830151604184015190916115d5565b845160400361158d57505050602082015160408301516001600160ff1b0381169060ff1c601b016115d5565b60405162461bcd60e51b815260206004820152601d60248201527f4c69713a20696e76616c6964207369676e6174757265206c656e677468000000604482015260640161067e565b6fa2a8918ca85bafe22016d0b997e4df60600160ff1b0382111561163b5760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202773272076616c7565604482015260640161067e565b8060ff16601b1415801561165357508060ff16601c14155b156116a05760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202776272076616c7565604482015260640161067e565b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156116f3573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661174c5760405162461bcd60e51b81526020600482015260136024820152722634b89d1024a72b20a624a22fa9a4a3a722a960691b604482015260640161067e565b50505092915050565b6117688363095ea7b360e01b8484611ab6565b610756576117808363095ea7b360e01b846000611ab6565b158061179c575061179a8363095ea7b360e01b8484611ab6565b155b156107565760405163019be9a960e41b815260040160405180910390fd5b4760008190036117c957505050565b8115806117d557508082115b156117de578091505b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610e89573d6000803e3d6000fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a0823190611845903090600401611fa2565b602060405180830381865afa158015611862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118869190612799565b9050806000036118d25760405162461bcd60e51b81526020600482015260176024820152764c69713a206e6f207370656369666965642066756e647360481b604482015260640161067e565b8215806118de57508083115b156118e7578092505b610d696001600160a01b0383168685611b0a565b6008546040516000916001600160a01b03169061191b90859085906127b2565b6000604051808303816000865af19150503d8060008114611958576040519150601f19603f3d011682016040523d82523d6000602084013e61195d565b606091505b505090508061075657610756611b3a565b8015806119e85750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156119c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e69190612799565b155b611a535760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161067e565b6040516001600160a01b03831660248201526044810182905261075690849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b46565b60006040518481528360048201528260248201526020600060448360008a5af19150508015611b02573d8015611af857600160005114601f3d11169150611b00565b6000863b1191505b505b949350505050565b6040516001600160a01b03831660248201526044810182905261075690849063a9059cbb60e01b90606401611a7f565b6040513d6000823e3d81fd5b611b4f82611cc5565b611b9b5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161067e565b600080836001600160a01b031683604051611bb691906126d3565b6000604051808303816000865af19150503d8060008114611bf3576040519150601f19603f3d011682016040523d82523d6000602084013e611bf8565b606091505b509150915081611c4a5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161067e565b805115610e895780806020019051810190611c6591906127c2565b610e895760405162461bcd60e51b815260206004820152602b60248201527f5361666545524332303a20494552433230206f7065726174696f6e206469642060448201526a1b9bdd081cdd58d8d9595960aa1b606482015260840161067e565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611b02575050151592915050565b828054828255906000526020600020908101928215611d51579160200282015b82811115611d515781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190611d1e565b50611d5d929150611d61565b5090565b5b80821115611d5d5760008155600101611d62565b60008083601f840112611d8857600080fd5b5081356001600160401b03811115611d9f57600080fd5b6020830191508360208260051b8501011115611dba57600080fd5b9250929050565b60008060208385031215611dd457600080fd5b82356001600160401b03811115611dea57600080fd5b611df685828601611d76565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015611e435783516001600160a01b031683529284019291840191600101611e1e565b50909695505050505050565b6001600160a01b0381168114611e6457600080fd5b50565b600060208284031215611e7957600080fd5b81356108e381611e4f565b60008083601f840112611e9657600080fd5b5081356001600160401b03811115611ead57600080fd5b602083019150836020828501011115611dba57600080fd5b600080600060408486031215611eda57600080fd5b8335925060208401356001600160401b03811115611ef757600080fd5b611f0386828701611e84565b9497909650939450505050565b60008060408385031215611f2357600080fd5b8235611f2e81611e4f565b91506020830135611f3e81611e4f565b809150509250929050565b8015158114611e6457600080fd5b600080600060608486031215611f6c57600080fd5b8335611f7781611e4f565b92506020840135611f8781611e4f565b91506040840135611f9781611f49565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060408385031215611fc957600080fd5b823591506020830135611f3e81611e4f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561201957612019611fdb565b604052919050565b60006001600160401b0382111561203a5761203a611fdb565b5060051b60200190565b600082601f83011261205557600080fd5b8135602061206a61206583612021565b611ff1565b82815260059290921b8401810191818101908684111561208957600080fd5b8286015b848110156120ad5780356120a081611e4f565b835291830191830161208d565b509695505050505050565b600082601f8301126120c957600080fd5b813560206120d961206583612021565b82815260059290921b840181019181810190868411156120f857600080fd5b8286015b848110156120ad57803583529183019183016120fc565b60008060006060848603121561212857600080fd5b83356001600160401b038082111561213f57600080fd5b61214b87838801612044565b9450602086013591508082111561216157600080fd5b5061216e868287016120b8565b9250506040840135611f9781611e4f565b6000806020838503121561219257600080fd5b82356001600160401b038111156121a857600080fd5b611df685828601611e84565b6000806000806000806000806000808a8c036101e08112156121d557600080fd5b610100808212156121e557600080fd5b8c9b508b013590506001600160401b038082111561220257600080fd5b61220e8e838f01611e84565b909b5099506101208d013598506101408d0135915061222c82611e4f565b9096506101608c013595506101808c013594506101a08c013593506101c08c0135908082111561225b57600080fd5b506122688d828e01611e84565b915080935050809150509295989b9194979a5092959850565b60006020828403121561229357600080fd5b81356001600160401b038111156122a957600080fd5b8201604081850312156108e357600080fd5b6000806000606084860312156122d057600080fd5b83356122db81611e4f565b925060208401356001600160401b03808211156122f757600080fd5b61230387838801612044565b9350604086013591508082111561231957600080fd5b50612326868287016120b8565b9150509250925092565b6020808252600e908201526d2634b89d1037b7363ca7bbb732b960911b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161238e57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600c908201526b4c69713a206f6e6c794f746360a01b604082015260600190565b6000808335601e198436030181126123d257600080fd5b83016020810192503590506001600160401b038111156123f157600080fd5b803603821315611dba57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061243582836123bb565b60408552612447604086018284612400565b91505061245760208401846123bb565b858303602087015261246a838284612400565b9695505050505050565b60208082528181018390526000906040600585901b840181019084018684805b888110156124d857878503603f190184528235368b9003603e190181126124b9578283fd5b6124c5868c8301612429565b9550509285019291850191600101612494565b509298975050505050505050565b602080825260149082015273098d2e27440d8cadccee8d040dad2e6dac2e8c6d60631b604082015260600190565b6000601f838184011261252657600080fd5b8235602061253661206583612021565b82815260059290921b8501810191818101908784111561255557600080fd5b8287015b848110156125eb5780356001600160401b03808211156125795760008081fd5b818a0191508a603f83011261258e5760008081fd5b858201356040828211156125a4576125a4611fdb565b6125b5828b01601f19168901611ff1565b92508183528c818386010111156125cc5760008081fd5b8181850189850137506000908201870152845250918301918301612559565b50979650505050505050565b6000806040838503121561260a57600080fd5b82356001600160401b038082111561262157600080fd5b818501915085601f83011261263557600080fd5b8135602061264561206583612021565b82815260059290921b8401810191818101908984111561266457600080fd5b948201945b8386101561268257853582529482019490820190612669565b9650508601359250508082111561269857600080fd5b506126a585828601612514565b9150509250929050565b60005b838110156126ca5781810151838201526020016126b2565b50506000910152565b600082516126e58184602087016126af565b9190910192915050565b82815260406020820152600082518060408401526127148160608501602087016126af565b601f01601f1916919091016060019392505050565b60208082526010908201526f2634b89d1037b7363ca1b0b9b434b2b960811b604082015260600190565b602080825260199082015278131a5c4e881dda5d1a191c985dd85b081dda1a5d195b1a5cdd603a1b604082015260600190565b6020815260006108e36020830184612429565b6000602082840312156127ab57600080fd5b5051919050565b8183823760009101908152919050565b6000602082840312156127d457600080fd5b81516108e381611f4956fea2646970667358221220bfdbea62b07e4ff7fb2162d48e9548626c89c49ab6e834c6ac518416ae42295664736f6c63430008110033
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Trying cast disassemble command**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) > /tmp/codex-multi-_oktbhz4/disasm.txt' in /tmp/codex-multi-_oktbhz4 exited 1 in 7ms:
[codex:1275575] /bin/bash: line 1: /tmp/codex-multi-_oktbhz4/disasm.txt: Permission denied
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Handling read-only sandbox limitations**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | head -n 60' in /tmp/codex-multi-_oktbhz4 succeeded in 38ms:
[codex:1275575] 00000000: PUSH1 0x80
[codex:1275575] 00000002: PUSH1 0x40
[codex:1275575] 00000004: MSTORE
[codex:1275575] 00000005: PUSH1 0x04
[codex:1275575] 00000007: CALLDATASIZE
[codex:1275575] 00000008: LT
[codex:1275575] 00000009: PUSH2 0x01a7
[codex:1275575] 0000000c: JUMPI
[codex:1275575] 0000000d: PUSH1 0x00
[codex:1275575] 0000000f: CALLDATALOAD
[codex:1275575] 00000010: PUSH1 0xe0
[codex:1275575] 00000012: SHR
[codex:1275575] 00000013: DUP1
[codex:1275575] 00000014: PUSH4 0x8da5cb5b
[codex:1275575] 00000019: GT
[codex:1275575] 0000001a: PUSH2 0x00e2
[codex:1275575] 0000001d: JUMPI
[codex:1275575] 0000001e: DUP1
[codex:1275575] 0000001f: PUSH4 0xadf38ba1
[codex:1275575] 00000024: GT
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing bytecode for tx.origin and call vulnerabilities**
[codex:1275575] 
[codex:1275575] I'm carefully inspecting the bytecode for patterns indicating use of `tx.origin` in authorization checks, which is a risky anti-pattern that may lead to phishing vulnerabilities. I’m also checking for functions with arbitrary calls or ETH transfers to ensure they have proper access controls, while considering the presence of other common issues like reentrancy or unchecked approvals.
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | rg -n "SELFDESTRUCT|DELEGATECALL"' in /tmp/codex-multi-_oktbhz4 exited 1 in 15ms:
[codex:1275575] 
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing contract access controls and tx.origin use**
[codex:1275575] 
[codex:1275575] I’m checking the contract's upgradeability, finding no delegatecall or selfdestruct, so likely no proxy pattern here. I'm verifying owner-based access control through runtime checks, but suspect some public functions might lack it. I noticed usage of `tx.origin` for access control, which is risky—potentially allowing phishing attacks. I'm trying to map function selectors and plan to reference specific line numbers in the bytecode bundle where `ORIGIN` appears to back this up.
[codex:1275575] exec
[codex:1275575] /bin/bash -lc "nl -ba BYTECODE_BUNDLE.txt | sed -n '1,20p'" in /tmp/codex-multi-_oktbhz4 succeeded in 6ms:
[codex:1275575]      1	Runtime bytecode bundle for best-effort auditing.
[codex:1275575]      2	Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:1275575]      3	
[codex:1275575]      4	FILE: runtime_bytecode.hex
[codex:1275575]      5	0x6080604052600436106101a75760003560e01c80638da5cb5b116100e2578063adf38ba111610085578063adf38ba114610552578063af34bd8b14610572578063b8ca8dd814610592578063bbd4f294146105b2578063bded8813146105d2578063c0bbfe91146105f2578063c21828781461061f578063df5da5071461063457600080fd5b80638da5cb5b146104505780638f5e074c146104705780638fd903f51461049d57806399757fce146104bd5780639b3b82cc146104d25780639cd7b6fe146104f2578063a090949a14610512578063ab5726501461053257600080fd5b8063477233731161014a5780634772337314610360578063567756831461038057806357fff378146103a057806358d51f0a146103db5780636e1a1f20146103fb5780636f984635146103db5780637667f84f1461041b5780638d5c93bd1461043b57600080fd5b806305ce74931461022f578063092fd7e91461024f57806313af40351461027a5780631626ba7e1461029a57806324bfeb30146102d35780632f0dd388146102f3578063363d94ab1461031357806341d606bb1461033357600080fd5b3661022a57600a54600160a01b900460ff1615156001036101c457005b600160009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561021457600080fd5b505af1158015610228573d6000803e3d6000fd5b005b600080fd5b34801561023b57600080fd5b5061022861024a366004611dc1565b610654565b34801561025b57600080fd5b5061026461075b565b6040516102719190611e02565b60405180910390f35b34801561028657600080fd5b50610228610295366004611e67565b6107e8565b3480156102a657600080fd5b506102ba6102b5366004611ec5565b610834565b6040516001600160e01b03199091168152602001610271565b3480156102df57600080fd5b506102286102ee366004611f10565b6108ea565b3480156102ff57600080fd5b5061022861030e366004611f57565b61092e565b34801561031f57600080fd5b5061022861032e366004611dc1565b6109c0565b34801561033f57600080fd5b50600a54610353906001600160a01b031681565b6040516102719190611fa2565b34801561036c57600080fd5b5061022861037b366004611e67565b610ab9565b34801561038c57600080fd5b5061022861039b366004611dc1565b610b05565b3480156103ac57600080fd5b506103cd6103bb366004611e67565b60036020526000908152604090205481565b604051908152602001610271565b3480156103e757600080fd5b506102286103f6366004611e67565b610b9c565b34801561040757600080fd5b50610228610416366004611dc1565b610be8565b34801561042757600080fd5b50610228610436366004611e67565b610ce1565b34801561044757600080fd5b50610264610d70565b34801561045c57600080fd5b50600054610353906001600160a01b031681565b34801561047c57600080fd5b506103cd61048b366004611e67565b60046020526000908152604090205481565b3480156104a957600080fd5b50600154610353906001600160a01b031681565b3480156104c957600080fd5b50610228610dfb565b3480156104de57600080fd5b506102286104ed366004611fb6565b610e8f565b3480156104fe57600080fd5b5061022861050d366004612113565b610f46565b34801561051e57600080fd5b5061022861052d36600461217f565b610fec565b34801561053e57600080fd5b50600954610353906001600160a01b031681565b34801561055e57600080fd5b5061022861056d3660046121b4565b611025565b34801561057e57600080fd5b5061022861058d366004612113565b6111d5565b34801561059e57600080fd5b506102286105ad366004611fb6565b611294565b3480156105be57600080fd5b506102286105cd366004612281565b61134a565b3480156105de57600080fd5b506102286105ed3660046122bb565b6113a9565b3480156105fe57600080fd5b506103cd61060d366004611e67565b60026020526000908152604090205481565b34801561062b57600080fd5b50610264611462565b34801561064057600080fd5b5061022861064f366004611e67565b6114ed565b6000546001600160a01b031633146106875760405162461bcd60e51b815260040161067e90612330565b60405180910390fd5b60005b6007548110156106e457600060046000600784815481106106ad576106ad612358565b60009182526020808320909101546001600160a01b03168352820192909252604001902055806106dc8161236e565b91505061068a565b506106f160078383611cfe565b5060005b818110156107565760016004600085858581811061071557610715612358565b905060200201602081019061072a9190611e67565b6001600160a01b031681526020810191909152604001600020558061074e8161236e565b9150506106f5565b505050565b6000546060906001600160a01b031633146107885760405162461bcd60e51b815260040161067e90612330565b60058054806020026020016040519081016040528092919081815260200182805480156107de57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107c0575b5050505050905090565b6000546001600160a01b031633146108125760405162461bcd60e51b815260040161067e90612330565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806108778585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061153992505050565b9050600061089d826001600160a01b031660009081526002602052604090205460011490565b6000549091506001600160a01b03838116911614806108b95750805b156108d05750630b135d3f60e11b91506108e39050565b506001600160e01b031991506108e39050565b9392505050565b6000546001600160a01b031633146109145760405162461bcd60e51b815260040161067e90612330565b61092a6001600160a01b03831682600019611755565b5050565b6000546001600160a01b031633146109585760405162461bcd60e51b815260040161067e90612330565b60405163ea7faa6160e01b81526001600160a01b038381166004830152821515602483015284169063ea7faa6190604401600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146109ea5760405162461bcd60e51b815260040161067e90612330565b60005b600554811015610a475760006002600060058481548110610a1057610a10612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610a3f8161236e565b9150506109ed565b50610a5460058383611cfe565b5060005b8181101561075657600160026000858585818110610a7857610a78612358565b9050602002016020810190610a8d9190611e67565b6001600160a01b0316815260208101919091526040016000205580610ab18161236e565b915050610a58565b6000546001600160a01b03163314610ae35760405162461bcd60e51b815260040161067e90612330565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b33600090815260026020526040902054600114610b345760405162461bcd60e51b815260040161067e90612395565b600954604051630d7a16c360e01b81526001600160a01b0390911690630d7a16c390610b669085908590600401612474565b600060405180830381600087803b158015610b8057600080fd5b505af1158015610b94573d6000803e3d6000fd5b505050505050565b6000546001600160a01b03163314610bc65760405162461bcd60e51b815260040161067e90612330565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610c125760405162461bcd60e51b815260040161067e90612330565b60005b600654811015610c6f5760006003600060068481548110610c3857610c38612358565b60009182526020808320909101546001600160a01b0316835282019290925260400190205580610c678161236e565b915050610c15565b50610c7c60068383611cfe565b5060005b8181101561075657600160036000858585818110610ca057610ca0612358565b9050602002016020810190610cb59190611e67565b6001600160a01b0316815260208101919091526040016000205580610cd98161236e565b915050610c80565b6000546001600160a01b03163314610d0b5760405162461bcd60e51b815260040161067e90612330565b600a54604051635b52ebef60e11b81526001600160a01b039091169063b6a5d7de90610d3b908490600401611fa2565b600060405180830381600087803b158015610d5557600080fd5b505af1158015610d69573d6000803e3d6000fd5b5050505050565b6000546060906001600160a01b03163314610d9d5760405162461bcd60e51b815260040161067e90612330565b60068054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b03163314610e255760405162461bcd60e51b815260040161067e90612330565b600a60009054906101000a90046001600160a01b03166001600160a01b031663b6549f756040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e7557600080fd5b505af1158015610e89573d6000803e3d6000fd5b50505050565b6000546001600160a01b03163314610eb95760405162461bcd60e51b815260040161067e90612330565b600a805460ff60a01b1916600160a01b179055600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d906024015b600060405180830381600087803b158015610f1357600080fd5b505af1158015610f27573d6000803e3d6000fd5b50505050610f3581836117ba565b5050600a805460ff60a01b19169055565b6000546001600160a01b03163314610f705760405162461bcd60e51b815260040161067e90612330565b8151835114610f915760405162461bcd60e51b815260040161067e906124e6565b60005b8351811015610e8957610fda82858381518110610fb357610fb3612358565b6020026020010151858481518110610fcd57610fcd612358565b6020026020010151611814565b80610fe48161236e565b915050610f94565b3360009081526002602052604090205460011461101b5760405162461bcd60e51b815260040161067e90612395565b61092a82826118fb565b6008546001600160a01b0316331461105057604051630126c14d60e61b815260040160405180910390fd5b6001600160a01b038616301461107957604051635211a07960e01b815260040160405180910390fd5b326000908152600260205260409020546001146110cf5760405162461bcd60e51b815260206004820152601460248201527374782e6f726967696e206973206e6f74204f544360601b604482015260640161067e565b6000806110de838501856125f7565b9150915060005b82518110156111c65760008061111a85848151811061110657611106612358565b60200260200101516001600160a01b031690565b6001600160a01b031684848151811061113557611135612358565b602002602001015160405161114a91906126d3565b6000604051808303816000865af19150503d8060008114611187576040519150601f19603f3d011682016040523d82523d6000602084013e61118c565b606091505b5091509150816111b35782816040516307d6414d60e51b815260040161067e9291906126ef565b5050806111bf9061236e565b90506110e5565b50505050505050505050505050565b336000908152600360205260409020546001146112045760405162461bcd60e51b815260040161067e90612729565b81518351146112255760405162461bcd60e51b815260040161067e906124e6565b6001600160a01b0381166000908152600460205260409020546001908114146112605760405162461bcd60e51b815260040161067e90612753565b60005b8351811015610e895761128282858381518110610fb357610fb3612358565b8061128c8161236e565b915050611263565b336000908152600360205260409020546001146112c35760405162461bcd60e51b815260040161067e90612729565b600a805460ff60a01b1916600160a01b1790556112f8816001600160a01b031660009081526004602052604090205460011490565b15156001146113195760405162461bcd60e51b815260040161067e90612753565b600154604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d90602401610ef9565b336000908152600260205260409020546001146113795760405162461bcd60e51b815260040161067e90612395565b600954604051631fb10c9760e11b81526001600160a01b0390911690633f62192e90610d3b908490600401612786565b6000546001600160a01b031633146113d35760405162461bcd60e51b815260040161067e90612330565b80518251146113f45760405162461bcd60e51b815260040161067e906124e6565b60005b8251811015610e89576114508483838151811061141657611416612358565b602002602001015185848151811061143057611430612358565b60200260200101516001600160a01b031661196e9092919063ffffffff16565b8061145a8161236e565b9150506113f7565b6000546060906001600160a01b0316331461148f5760405162461bcd60e51b815260040161067e90612330565b60078054806020026020016040519081016040528092919081815260200182805480156107de576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107c0575050505050905090565b6000546001600160a01b031633146115175760405162461bcd60e51b815260040161067e90612330565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008084516041036115615750505060018201516021830151604184015190916115d5565b845160400361158d57505050602082015160408301516001600160ff1b0381169060ff1c601b016115d5565b60405162461bcd60e51b815260206004820152601d60248201527f4c69713a20696e76616c6964207369676e6174757265206c656e677468000000604482015260640161067e565b6fa2a8918ca85bafe22016d0b997e4df60600160ff1b0382111561163b5760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202773272076616c7565604482015260640161067e565b8060ff16601b1415801561165357508060ff16601c14155b156116a05760405162461bcd60e51b815260206004820181905260248201527f4c69713a20696e76616c6964207369676e6174757265202776272076616c7565604482015260640161067e565b60408051600081526020810180835288905260ff831691810191909152606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156116f3573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b03841661174c5760405162461bcd60e51b81526020600482015260136024820152722634b89d1024a72b20a624a22fa9a4a3a722a960691b604482015260640161067e565b50505092915050565b6117688363095ea7b360e01b8484611ab6565b610756576117808363095ea7b360e01b846000611ab6565b158061179c575061179a8363095ea7b360e01b8484611ab6565b155b156107565760405163019be9a960e41b815260040160405180910390fd5b4760008190036117c957505050565b8115806117d557508082115b156117de578091505b6040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015610e89573d6000803e3d6000fd5b6040516370a0823160e01b815282906000906001600160a01b038316906370a0823190611845903090600401611fa2565b602060405180830381865afa158015611862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118869190612799565b9050806000036118d25760405162461bcd60e51b81526020600482015260176024820152764c69713a206e6f207370656369666965642066756e647360481b604482015260640161067e565b8215806118de57508083115b156118e7578092505b610d696001600160a01b0383168685611b0a565b6008546040516000916001600160a01b03169061191b90859085906127b2565b6000604051808303816000865af19150503d8060008114611958576040519150601f19603f3d011682016040523d82523d6000602084013e61195d565b606091505b505090508061075657610756611b3a565b8015806119e85750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156119c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e69190612799565b155b611a535760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161067e565b6040516001600160a01b03831660248201526044810182905261075690849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b46565b60006040518481528360048201528260248201526020600060448360008a5af19150508015611b02573d8015611af857600160005114601f3d11169150611b00565b6000863b1191505b505b949350505050565b6040516001600160a01b03831660248201526044810182905261075690849063a9059cbb60e01b90606401611a7f565b6040513d6000823e3d81fd5b611b4f82611cc5565b611b9b5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161067e565b600080836001600160a01b031683604051611bb691906126d3565b6000604051808303816000865af19150503d8060008114611bf3576040519150601f19603f3d011682016040523d82523d6000602084013e611bf8565b606091505b509150915081611c4a5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161067e565b805115610e895780806020019051810190611c6591906127c2565b610e895760405162461bcd60e51b815260206004820152602b60248201527f5361666545524332303a20494552433230206f7065726174696f6e206469642060448201526a1b9bdd081cdd58d8d9595960aa1b606482015260840161067e565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611b02575050151592915050565b828054828255906000526020600020908101928215611d51579160200282015b82811115611d515781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190611d1e565b50611d5d929150611d61565b5090565b5b80821115611d5d5760008155600101611d62565b60008083601f840112611d8857600080fd5b5081356001600160401b03811115611d9f57600080fd5b6020830191508360208260051b8501011115611dba57600080fd5b9250929050565b60008060208385031215611dd457600080fd5b82356001600160401b03811115611dea57600080fd5b611df685828601611d76565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015611e435783516001600160a01b031683529284019291840191600101611e1e565b50909695505050505050565b6001600160a01b0381168114611e6457600080fd5b50565b600060208284031215611e7957600080fd5b81356108e381611e4f565b60008083601f840112611e9657600080fd5b5081356001600160401b03811115611ead57600080fd5b602083019150836020828501011115611dba57600080fd5b600080600060408486031215611eda57600080fd5b8335925060208401356001600160401b03811115611ef757600080fd5b611f0386828701611e84565b9497909650939450505050565b60008060408385031215611f2357600080fd5b8235611f2e81611e4f565b91506020830135611f3e81611e4f565b809150509250929050565b8015158114611e6457600080fd5b600080600060608486031215611f6c57600080fd5b8335611f7781611e4f565b92506020840135611f8781611e4f565b91506040840135611f9781611f49565b809150509250925092565b6001600160a01b0391909116815260200190565b60008060408385031215611fc957600080fd5b823591506020830135611f3e81611e4f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561201957612019611fdb565b604052919050565b60006001600160401b0382111561203a5761203a611fdb565b5060051b60200190565b600082601f83011261205557600080fd5b8135602061206a61206583612021565b611ff1565b82815260059290921b8401810191818101908684111561208957600080fd5b8286015b848110156120ad5780356120a081611e4f565b835291830191830161208d565b509695505050505050565b600082601f8301126120c957600080fd5b813560206120d961206583612021565b82815260059290921b840181019181810190868411156120f857600080fd5b8286015b848110156120ad57803583529183019183016120fc565b60008060006060848603121561212857600080fd5b83356001600160401b038082111561213f57600080fd5b61214b87838801612044565b9450602086013591508082111561216157600080fd5b5061216e868287016120b8565b9250506040840135611f9781611e4f565b6000806020838503121561219257600080fd5b82356001600160401b038111156121a857600080fd5b611df685828601611e84565b6000806000806000806000806000808a8c036101e08112156121d557600080fd5b610100808212156121e557600080fd5b8c9b508b013590506001600160401b038082111561220257600080fd5b61220e8e838f01611e84565b909b5099506101208d013598506101408d0135915061222c82611e4f565b9096506101608c013595506101808c013594506101a08c013593506101c08c0135908082111561225b57600080fd5b506122688d828e01611e84565b915080935050809150509295989b9194979a5092959850565b60006020828403121561229357600080fd5b81356001600160401b038111156122a957600080fd5b8201604081850312156108e357600080fd5b6000806000606084860312156122d057600080fd5b83356122db81611e4f565b925060208401356001600160401b03808211156122f757600080fd5b61230387838801612044565b9350604086013591508082111561231957600080fd5b50612326868287016120b8565b9150509250925092565b6020808252600e908201526d2634b89d1037b7363ca7bbb732b960911b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161238e57634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252600c908201526b4c69713a206f6e6c794f746360a01b604082015260600190565b6000808335601e198436030181126123d257600080fd5b83016020810192503590506001600160401b038111156123f157600080fd5b803603821315611dba57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061243582836123bb565b60408552612447604086018284612400565b91505061245760208401846123bb565b858303602087015261246a838284612400565b9695505050505050565b60208082528181018390526000906040600585901b840181019084018684805b888110156124d857878503603f190184528235368b9003603e190181126124b9578283fd5b6124c5868c8301612429565b9550509285019291850191600101612494565b509298975050505050505050565b602080825260149082015273098d2e27440d8cadccee8d040dad2e6dac2e8c6d60631b604082015260600190565b6000601f838184011261252657600080fd5b8235602061253661206583612021565b82815260059290921b8501810191818101908784111561255557600080fd5b8287015b848110156125eb5780356001600160401b03808211156125795760008081fd5b818a0191508a603f83011261258e5760008081fd5b858201356040828211156125a4576125a4611fdb565b6125b5828b01601f19168901611ff1565b92508183528c818386010111156125cc5760008081fd5b8181850189850137506000908201870152845250918301918301612559565b50979650505050505050565b6000806040838503121561260a57600080fd5b82356001600160401b038082111561262157600080fd5b818501915085601f83011261263557600080fd5b8135602061264561206583612021565b82815260059290921b8401810191818101908984111561266457600080fd5b948201945b8386101561268257853582529482019490820190612669565b9650508601359250508082111561269857600080fd5b506126a585828601612514565b9150509250929050565b60005b838110156126ca5781810151838201526020016126b2565b50506000910152565b600082516126e58184602087016126af565b9190910192915050565b82815260406020820152600082518060408401526127148160608501602087016126af565b601f01601f1916919091016060019392505050565b60208082526010908201526f2634b89d1037b7363ca1b0b9b434b2b960811b604082015260600190565b602080825260199082015278131a5c4e881dda5d1a191c985dd85b081dda1a5d195b1a5cdd603a1b604082015260600190565b6020815260006108e36020830184612429565b6000602082840312156127ab57600080fd5b5051919050565b8183823760009101908152919050565b6000602082840312156127d457600080fd5b81516108e381611f4956fea2646970667358221220bfdbea62b07e4ff7fb2162d48e9548626c89c49ab6e834c6ac518416ae42295664736f6c63430008110033
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing line 5 bytecode and opcode patterns**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | rg -n "ORIGIN" -n' in /tmp/codex-multi-_oktbhz4 succeeded in 16ms:
[codex:1275575] 2811:0000107a: ORIGIN
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Extracting disassembly near address**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'2790,2835p'" in /tmp/codex-multi-_oktbhz4 succeeded in 14ms:
[codex:1275575] 0000105b: ADDRESS
[codex:1275575] 0000105c: EQ
[codex:1275575] 0000105d: PUSH2 0x1079
[codex:1275575] 00001060: JUMPI
[codex:1275575] 00001061: PUSH1 0x40
[codex:1275575] 00001063: MLOAD
[codex:1275575] 00001064: PUSH4 0x5211a079
[codex:1275575] 00001069: PUSH1 0xe0
[codex:1275575] 0000106b: SHL
[codex:1275575] 0000106c: DUP2
[codex:1275575] 0000106d: MSTORE
[codex:1275575] 0000106e: PUSH1 0x04
[codex:1275575] 00001070: ADD
[codex:1275575] 00001071: PUSH1 0x40
[codex:1275575] 00001073: MLOAD
[codex:1275575] 00001074: DUP1
[codex:1275575] 00001075: SWAP2
[codex:1275575] 00001076: SUB
[codex:1275575] 00001077: SWAP1
[codex:1275575] 00001078: REVERT
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing potential issues around tx.origin and loops**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | rg -n "00000654"' in /tmp/codex-multi-_oktbhz4 succeeded in 15ms:
[codex:1275575] 992:00000654: JUMPDEST
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Examining function near address 0x654**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'980,1045p'" in /tmp/codex-multi-_oktbhz4 succeeded in 14ms:
[codex:1275575] 0000063f: REVERT
[codex:1275575] 00000640: JUMPDEST
[codex:1275575] 00000641: POP
[codex:1275575] 00000642: PUSH2 0x0228
[codex:1275575] 00000645: PUSH2 0x064f
[codex:1275575] 00000648: CALLDATASIZE
[codex:1275575] 00000649: PUSH1 0x04
[codex:1275575] 0000064b: PUSH2 0x1e67
[codex:1275575] 0000064e: JUMP
[codex:1275575] 0000064f: JUMPDEST
[codex:1275575] 00000650: PUSH2 0x14ed
[codex:1275575] 00000653: JUMP
[codex:1275575] 00000654: JUMPDEST
[codex:1275575] 00000655: PUSH1 0x00
[codex:1275575] 00000657: SLOAD
[codex:1275575] 00000658: PUSH1 0x01
[codex:1275575] 0000065a: PUSH1 0x01
[codex:1275575] 0000065c: PUSH1 0xa0
[codex:1275575] 0000065e: SHL
[codex:1275575] 0000065f: SUB
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Evaluating tx.origin usage and CALL access controls**
[codex:1275575] 
[codex:1275575] I'm carefully analyzing how access control uses both msg.sender and tx.origin, noticing that requiring both whitelists might reduce risk rather than open vulnerabilities, though tx.origin use is generally risky. I'm also planning to inspect CALL instructions to find any that might allow unauthorized external calls by examining where their target addresses come from, especially if derived directly from calldata without checks.
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | rg -n "CALL"' in /tmp/codex-multi-_oktbhz4 succeeded in 15ms:
[codex:1275575] 5:00000007: CALLDATASIZE
[codex:1275575] 10:0000000f: CALLDATALOAD
[codex:1275575] 204:000001a8: CALLDATASIZE
[codex:1275575] 246:000001e9: CALLVALUE
[codex:1275575] 280:00000217: CALL
[codex:1275575] 300:00000230: CALLVALUE
[codex:1275575] 312:00000243: CALLDATASIZE
[codex:1275575] 320:00000250: CALLVALUE
[codex:1275575] 350:0000027b: CALLVALUE
[codex:1275575] 362:0000028e: CALLDATASIZE
[codex:1275575] 370:0000029b: CALLVALUE
[codex:1275575] 382:000002ae: CALLDATASIZE
[codex:1275575] 408:000002d4: CALLVALUE
[codex:1275575] 420:000002e7: CALLDATASIZE
[codex:1275575] 428:000002f4: CALLVALUE
[codex:1275575] 440:00000307: CALLDATASIZE
[codex:1275575] 448:00000314: CALLVALUE
[codex:1275575] 460:00000327: CALLDATASIZE
[codex:1275575] 468:00000334: CALLVALUE
[codex:1275575] 499:00000361: CALLVALUE
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing CALL instructions in bytecode**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'250,330p'" in /tmp/codex-multi-_oktbhz4 succeeded in 15ms:
[codex:1275575] 000001ee: PUSH4 0xffffffff
[codex:1275575] 000001f3: AND
[codex:1275575] 000001f4: PUSH1 0xe0
[codex:1275575] 000001f6: SHL
[codex:1275575] 000001f7: DUP2
[codex:1275575] 000001f8: MSTORE
[codex:1275575] 000001f9: PUSH1 0x04
[codex:1275575] 000001fb: ADD
[codex:1275575] 000001fc: PUSH1 0x00
[codex:1275575] 000001fe: PUSH1 0x40
[codex:1275575] 00000200: MLOAD
[codex:1275575] 00000201: DUP1
[codex:1275575] 00000202: DUP4
[codex:1275575] 00000203: SUB
[codex:1275575] 00000204: DUP2
[codex:1275575] 00000205: DUP6
[codex:1275575] 00000206: DUP9
[codex:1275575] 00000207: DUP1
[codex:1275575] 00000208: EXTCODESIZE
[codex:1275575] 00000209: ISZERO
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Examining fallback and proxy functions**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'180,260p'" in /tmp/codex-multi-_oktbhz4 succeeded in 15ms:
[codex:1275575] 00000177: DUP1
[codex:1275575] 00000178: PUSH4 0x24bfeb30
[codex:1275575] 0000017d: EQ
[codex:1275575] 0000017e: PUSH2 0x02d3
[codex:1275575] 00000181: JUMPI
[codex:1275575] 00000182: DUP1
[codex:1275575] 00000183: PUSH4 0x2f0dd388
[codex:1275575] 00000188: EQ
[codex:1275575] 00000189: PUSH2 0x02f3
[codex:1275575] 0000018c: JUMPI
[codex:1275575] 0000018d: DUP1
[codex:1275575] 0000018e: PUSH4 0x363d94ab
[codex:1275575] 00000193: EQ
[codex:1275575] 00000194: PUSH2 0x0313
[codex:1275575] 00000197: JUMPI
[codex:1275575] 00000198: DUP1
[codex:1275575] 00000199: PUSH4 0x41d606bb
[codex:1275575] 0000019e: EQ
[codex:1275575] 0000019f: PUSH2 0x0333
[codex:1275575] 000001a2: JUMPI
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing fallback and receive logic**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-_oktbhz4 succeeded in 5ms:
[codex:1275575] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Drafting authorization finding details**
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'2720,2825p'" in /tmp/codex-multi-_oktbhz4 succeeded in 14ms:
[codex:1275575] 00000ff0: SWAP1
[codex:1275575] 00000ff1: DUP2
[codex:1275575] 00000ff2: MSTORE
[codex:1275575] 00000ff3: PUSH1 0x02
[codex:1275575] 00000ff5: PUSH1 0x20
[codex:1275575] 00000ff7: MSTORE
[codex:1275575] 00000ff8: PUSH1 0x40
[codex:1275575] 00000ffa: SWAP1
[codex:1275575] 00000ffb: KECCAK256
[codex:1275575] 00000ffc: SLOAD
[codex:1275575] 00000ffd: PUSH1 0x01
[codex:1275575] 00000fff: EQ
[codex:1275575] 00001000: PUSH2 0x101b
[codex:1275575] 00001003: JUMPI
[codex:1275575] 00001004: PUSH1 0x40
[codex:1275575] 00001006: MLOAD
[codex:1275575] 00001007: PUSH3 0x461bcd
[codex:1275575] 0000100b: PUSH1 0xe5
[codex:1275575] 0000100d: SHL
[codex:1275575] 0000100e: DUP2
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Analyzing authorization and external calls**
[codex:1275575] 
[codex:1275575] I'm examining how the contract checks authorization using tx.origin and msg.sender, noticing a mapping check that gates access. There’s a potential issue with the receive fallback forwarding all ETH to a stored WETH address without a reentrancy guard, which could be risky if that address is malicious. I’m also investigating function selectors and external calls to understand if there are owner-only calls that might allow arbitrary contract interactions and whether any delegatecall or unsafe call patterns appear.
[codex:1275575] exec
[codex:1275575] /bin/bash -lc 'cast disassemble $(rg -o "0x[0-9a-f]+" BYTECODE_BUNDLE.txt) | sed -n '"'1560,1665p'" in /tmp/codex-multi-_oktbhz4 succeeded in 14ms:
[codex:1275575] 00000971: PUSH1 0x04
[codex:1275575] 00000973: DUP4
[codex:1275575] 00000974: ADD
[codex:1275575] 00000975: MSTORE
[codex:1275575] 00000976: DUP3
[codex:1275575] 00000977: ISZERO
[codex:1275575] 00000978: ISZERO
[codex:1275575] 00000979: PUSH1 0x24
[codex:1275575] 0000097b: DUP4
[codex:1275575] 0000097c: ADD
[codex:1275575] 0000097d: MSTORE
[codex:1275575] 0000097e: DUP5
[codex:1275575] 0000097f: AND
[codex:1275575] 00000980: SWAP1
[codex:1275575] 00000981: PUSH4 0xea7faa61
[codex:1275575] 00000986: SWAP1
[codex:1275575] 00000987: PUSH1 0x44
[codex:1275575] 00000989: ADD
[codex:1275575] 0000098a: PUSH1 0x00
[codex:1275575] 0000098c: PUSH1 0x40
[codex:1275575] 
[codex:1275575] thinking
[codex:1275575] **Highlighting tx.origin authorization risk**
[codex:1275575] 
[codex:1275575] I found one low-severity auth-pattern risk: the contract uses `tx.origin` in an OTC authorization check, which can enable phishing-style attacks if a whitelisted externally owned account unwittingly calls a malicious contract. The bytecode includes an `ORIGIN` opcode at 0x107a with a revert string "tx.origin is not OTC," confirming this pattern. The recommended fix is to replace `tx.origin` checks with `msg.sender` and explicit role or allowlist validations.
[codex:1275575] codex
[codex:1275575] {"no_findings":false,"summary":"Identified 1 auth-pattern risk: tx.origin is used in an OTC authorization check.","findings":[{"severity":"low","category":"auth","title":"Authorization depends on tx.origin (phishing-prone pattern)","exploit_scenario":"Because authorization uses tx.origin, any contract in the call chain can satisfy this check as long as the origin EOA is whitelisted. A phishing contract can induce a whitelisted EOA to initiate a transaction and then invoke the OTC-only path, bypassing user intent and making the tx.origin check ineffective at validating the immediate caller.","recommendation":"Avoid tx.origin in authorization checks; gate solely on msg.sender and explicit role/allowlist logic.","evidence":"Disassembly from the runtime bytecode shows an ORIGIN opcode used for an allowlist lookup (slot 2) followed by a revert with the string \"tx.origin is not OTC\" (e.g., PC ~0x107a: ORIGIN -> KECCAK256 -> SLOAD -> EQ). The revert string is embedded in the runtime bytecode.","locations":["BYTECODE_BUNDLE.txt:5"]}]}
[codex:1275575] tokens used
[codex:1275575] 85,181
[codex:1275575] {"no_findings":false,"summary":"Identified 1 auth-pattern risk: tx.origin is used in an OTC authorization check.","findings":[{"severity":"low","category":"auth","title":"Authorization depends on tx.origin (phishing-prone pattern)","exploit_scenario":"Because authorization uses tx.origin, any contract in the call chain can satisfy this check as long as the origin EOA is whitelisted. A phishing contract can induce a whitelisted EOA to initiate a transaction and then invoke the OTC-only path, bypassing user intent and making the tx.origin check ineffective at validating the immediate caller.","recommendation":"Avoid tx.origin in authorization checks; gate solely on msg.sender and explicit role/allowlist logic.","evidence":"Disassembly from the runtime bytecode shows an ORIGIN opcode used for an allowlist lookup (slot 2) followed by a revert with the string \"tx.origin is not OTC\" (e.g., PC ~0x107a: ORIGIN -> KECCAK256 -> SLOAD -> EQ). The revert string is embedded in the runtime bytecode.","locations":["BYTECODE_BUNDLE.txt:5"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T22:14:16.662550+00:00",
        "returncode": 0
    },
    "summary": "Identified 1 auth-pattern risk: tx.origin is used in an OTC authorization check.",
    "raw_final": {
        "summary": "Identified 1 auth-pattern risk: tx.origin is used in an OTC authorization check.",
        "findings": [
            {
                "title": "Authorization depends on tx.origin (phishing-prone pattern)",
                "category": "auth",
                "evidence": "Disassembly from the runtime bytecode shows an ORIGIN opcode used for an allowlist lookup (slot 2) followed by a revert with the string \"tx.origin is not OTC\" (e.g., PC ~0x107a: ORIGIN -> KECCAK256 -> SLOAD -> EQ). The revert string is embedded in the runtime bytecode.",
                "severity": "low",
                "locations": [
                    "BYTECODE_BUNDLE.txt:5"
                ],
                "recommendation": "Avoid tx.origin in authorization checks; gate solely on msg.sender and explicit role/allowlist logic.",
                "exploit_scenario": "Because authorization uses tx.origin, any contract in the call chain can satisfy this check as long as the origin EOA is whitelisted. A phishing contract can induce a whitelisted EOA to initiate a transaction and then invoke the OTC-only path, bypassing user intent and making the tx.origin check ineffective at validating the immediate caller."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
14
EXT*/BALANCE
8
Total opcodes
6920
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01a7
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8da5cb5b
00000019: GT
0000001a: PUSH2 0x00e2
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xadf38ba1
00000024: GT
00000025: PUSH2 0x0085
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xadf38ba1
0000002f: EQ
00000030: PUSH2 0x0552
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xaf34bd8b
0000003a: EQ
0000003b: PUSH2 0x0572
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xb8ca8dd8
00000045: EQ
00000046: PUSH2 0x0592
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xbbd4f294
00000050: EQ
00000051: PUSH2 0x05b2
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xbded8813
0000005b: EQ
0000005c: PUSH2 0x05d2
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xc0bbfe91
00000066: EQ
00000067: PUSH2 0x05f2
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0xc2182878
00000071: EQ
00000072: PUSH2 0x061f
00000075: JUMPI
00000076: DUP1
00000077: PUSH4 0xdf5da507
0000007c: EQ
0000007d: PUSH2 0x0634
00000080: JUMPI
00000081: PUSH1 0x00
00000083: DUP1
00000084: REVERT
00000085: JUMPDEST
00000086: DUP1
00000087: PUSH4 0x8da5cb5b
0000008c: EQ
0000008d: PUSH2 0x0450
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0x8f5e074c
00000097: EQ
00000098: PUSH2 0x0470
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0x8fd903f5
000000a2: EQ
000000a3: PUSH2 0x049d
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0x99757fce
000000ad: EQ
000000ae: PUSH2 0x04bd
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0x9b3b82cc
000000b8: EQ
000000b9: PUSH2 0x04d2
000000bc: JUMPI
000000bd: DUP1
000000be: PUSH4 0x9cd7b6fe
000000c3: EQ
000000c4: PUSH2 0x04f2
000000c7: JUMPI
000000c8: DUP1
000000c9: PUSH4 0xa090949a
000000ce: EQ
000000cf: PUSH2 0x0512
000000d2: JUMPI
000000d3: DUP1
000000d4: PUSH4 0xab572650
000000d9: EQ
000000da: PUSH2 0x0532
000000dd: JUMPI
000000de: PUSH1 0x00
000000e0: DUP1
000000e1: REVERT
000000e2: JUMPDEST
000000e3: DUP1
000000e4: PUSH4 0x47723373
000000e9: GT
000000ea: PUSH2 0x014a
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x47723373
000000f4: EQ
000000f5: PUSH2 0x0360
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x56775683
000000ff: EQ
00000100: PUSH2 0x0380
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x57fff378
0000010a: EQ
0000010b: PUSH2 0x03a0
0000010e: JUMPI
0000010f: DUP1
00000110: PUSH4 0x58d51f0a
00000115: EQ
00000116: PUSH2 0x03db
00000119: JUMPI
0000011a: DUP1
0000011b: PUSH4 0x6e1a1f20
00000120: EQ
00000121: PUSH2 0x03fb
00000124: JUMPI
00000125: DUP1
00000126: PUSH4 0x6f984635
0000012b: EQ
0000012c: PUSH2 0x03db
0000012f: JUMPI
00000130: DUP1
00000131: PUSH4 0x7667f84f
00000136: EQ
00000137: PUSH2 0x041b
0000013a: JUMPI
0000013b: DUP1
0000013c: PUSH4 0x8d5c93bd
00000141: EQ
00000142: PUSH2 0x043b
00000145: JUMPI
00000146: PUSH1 0x00
00000148: DUP1
00000149: REVERT
0000014a: JUMPDEST
0000014b: DUP1
0000014c: PUSH4 0x05ce7493
00000151: EQ
00000152: PUSH2 0x022f
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0x092fd7e9
0000015c: EQ
0000015d: PUSH2 0x024f
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0x13af4035
00000167: EQ
00000168: PUSH2 0x027a
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0x1626ba7e
00000172: EQ
00000173: PUSH2 0x029a
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x24bfeb30
0000017d: EQ
0000017e: PUSH2 0x02d3
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x2f0dd388
00000188: EQ
00000189: PUSH2 0x02f3
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x363d94ab
00000193: EQ
00000194: PUSH2 0x0313
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0x41d606bb
0000019e: EQ
0000019f: PUSH2 0x0333
000001a2: JUMPI
000001a3: PUSH1 0x00
000001a5: DUP1
000001a6: REVERT
000001a7: JUMPDEST
000001a8: CALLDATASIZE
000001a9: PUSH2 0x022a
000001ac: JUMPI
000001ad: PUSH1 0x0a
000001af: SLOAD
000001b0: PUSH1 0x01
000001b2: PUSH1 0xa0
000001b4: SHL
000001b5: SWAP1
000001b6: DIV
000001b7: PUSH1 0xff
000001b9: AND
000001ba: ISZERO
000001bb: ISZERO
000001bc: PUSH1 0x01
000001be: SUB
000001bf: PUSH2 0x01c4
000001c2: JUMPI
000001c3: STOP
000001c4: JUMPDEST
000001c5: PUSH1 0x01
000001c7: PUSH1 0x00
000001c9: SWAP1
000001ca: SLOAD
000001cb: SWAP1
000001cc: PUSH2 0x0100
000001cf: EXP
000001d0: SWAP1
000001d1: DIV
000001d2: PUSH1 0x01
000001d4: PUSH1 0x01
000001d6: PUSH1 0xa0
000001d8: SHL
000001d9: SUB
000001da: AND
000001db: PUSH1 0x01
000001dd: PUSH1 0x01
000001df: PUSH1 0xa0
000001e1: SHL
000001e2: SUB
000001e3: AND
000001e4: PUSH4 0xd0e30db0
000001e9: CALLVALUE
000001ea: PUSH1 0x40
000001ec: MLOAD
000001ed: DUP3
000001ee: PUSH4 0xffffffff
000001f3: AND
000001f4: PUSH1 0xe0
000001f6: SHL
000001f7: DUP2
000001f8: MSTORE
000001f9: PUSH1 0x04
000001fb: ADD
000001fc: PUSH1 0x00
000001fe: PUSH1 0x40
00000200: MLOAD
00000201: DUP1
00000202: DUP4
00000203: SUB
00000204: DUP2
00000205: DUP6
00000206: DUP9
00000207: DUP1
00000208: EXTCODESIZE
00000209: ISZERO
0000020a: DUP1
0000020b: ISZERO
0000020c: PUSH2 0x0214
0000020f: JUMPI
00000210: PUSH1 0x00
00000212: DUP1
00000213: REVERT
00000214: JUMPDEST
00000215: POP
00000216: GAS
00000217: CALL
00000218: ISZERO
00000219: DUP1
0000021a: ISZERO
0000021b: PUSH2 0x0228
0000021e: JUMPI
0000021f: RETURNDATASIZE
00000220: PUSH1 0x00
00000222: DUP1
00000223: RETURNDATACOPY
00000224: RETURNDATASIZE
00000225: PUSH1 0x00
00000227: REVERT
00000228: JUMPDEST
00000229: STOP
0000022a: JUMPDEST
0000022b: PUSH1 0x00
0000022d: DUP1
0000022e: REVERT
0000022f: JUMPDEST
00000230: CALLVALUE
00000231: DUP1
00000232: ISZERO
00000233: PUSH2 0x023b
00000236: JUMPI
00000237: PUSH1 0x00
00000239: DUP1
0000023a: REVERT
0000023b: JUMPDEST
0000023c: POP
0000023d: PUSH2 0x0228
00000240: PUSH2 0x024a
00000243: CALLDATASIZE
00000244: PUSH1 0x04
00000246: PUSH2 0x1dc1
00000249: JUMP
0000024a: JUMPDEST
0000024b: PUSH2 0x0654
0000024e: JUMP
0000024f: JUMPDEST
00000250: CALLVALUE
00000251: DUP1
00000252: ISZERO
00000253: PUSH2 0x025b
00000256: JUMPI
00000257: PUSH1 0x00
00000259: DUP1
0000025a: REVERT
0000025b: JUMPDEST
0000025c: POP
0000025d: PUSH2 0x0264
00000260: PUSH2 0x075b
00000263: JUMP
00000264: JUMPDEST
00000265: PUSH1 0x40
00000267: MLOAD
00000268: PUSH2 0x0271
0000026b: SWAP2
0000026c: SWAP1
0000026d: PUSH2 0x1e02
00000270: JUMP
00000271: JUMPDEST
00000272: PUSH1 0x40
00000274: MLOAD
00000275: DUP1
00000276: SWAP2
00000277: SUB
00000278: SWAP1
00000279: RETURN
0000027a: JUMPDEST
0000027b: CALLVALUE
0000027c: DUP1
0000027d: ISZERO
0000027e: PUSH2 0x0286
00000281: JUMPI
00000282: PUSH1 0x00
00000284: DUP1
00000285: REVERT
00000286: JUMPDEST
00000287: POP
00000288: PUSH2 0x0228
0000028b: PUSH2 0x0295
0000028e: CALLDATASIZE
0000028f: PUSH1 0x04
00000291: PUSH2 0x1e67
00000294: JUMP
00000295: JUMPDEST
00000296: PUSH2 0x07e8
00000299: JUMP
0000029a: JUMPDEST
0000029b: CALLVALUE
0000029c: DUP1
0000029d: ISZERO
0000029e: PUSH2 0x02a6
000002a1: JUMPI
000002a2: PUSH1 0x00
000002a4: DUP1
000002a5: REVERT
000002a6: JUMPDEST
000002a7: POP
000002a8: PUSH2 0x02ba
000002ab: PUSH2 0x02b5
000002ae: CALLDATASIZE
000002af: PUSH1 0x04
000002b1: PUSH2 0x1ec5
000002b4: JUMP
000002b5: JUMPDEST
000002b6: PUSH2 0x0834
000002b9: JUMP
000002ba: JUMPDEST
000002bb: PUSH1 0x40
000002bd: MLOAD
000002be: PUSH1 0x01
000002c0: PUSH1 0x01
000002c2: PUSH1 0xe0
000002c4: SHL
000002c5: SUB
000002c6: NOT
000002c7: SWAP1
000002c8: SWAP2
000002c9: AND
000002ca: DUP2
000002cb: MSTORE
000002cc: PUSH1 0x20
000002ce: ADD
000002cf: PUSH2 0x0271
000002d2: JUMP
000002d3: JUMPDEST
000002d4: CALLVALUE
000002d5: DUP1
000002d6: ISZERO
000002d7: PUSH2 0x02df
000002da: JUMPI
000002db: PUSH1 0x00
000002dd: DUP1
000002de: REVERT
000002df: JUMPDEST
000002e0: POP
000002e1: PUSH2 0x0228
000002e4: PUSH2 0x02ee
000002e7: CALLDATASIZE
000002e8: PUSH1 0x04
000002ea: PUSH2 0x1f10
000002ed: JUMP
000002ee: JUMPDEST
000002ef: PUSH2 0x08ea
000002f2: JUMP
000002f3: JUMPDEST
000002f4: CALLVALUE
000002f5: DUP1
000002f6: ISZERO
000002f7: PUSH2 0x02ff
000002fa: JUMPI
000002fb: PUSH1 0x00
000002fd: DUP1
000002fe: REVERT
000002ff: JUMPDEST
00000300: POP
00000301: PUSH2 0x0228
00000304: PUSH2 0x030e
00000307: CALLDATASIZE
00000308: PUSH1 0x04
0000030a: PUSH2 0x1f57
0000030d: JUMP
0000030e: JUMPDEST
0000030f: PUSH2 0x092e
00000312: JUMP
00000313: JUMPDEST
00000314: CALLVALUE
00000315: DUP1
00000316: ISZERO
00000317: PUSH2 0x031f
0000031a: JUMPI
0000031b: PUSH1 0x00
0000031d: DUP1
0000031e: REVERT
0000031f: JUMPDEST
00000320: POP
00000321: PUSH2 0x0228
00000324: PUSH2 0x032e
00000327: CALLDATASIZE
00000328: PUSH1 0x04
0000032a: PUSH2 0x1dc1
0000032d: JUMP
0000032e: JUMPDEST
0000032f: PUSH2 0x09c0
00000332: JUMP
00000333: JUMPDEST
00000334: CALLVALUE
00000335: DUP1
00000336: ISZERO
00000337: PUSH2 0x033f
0000033a: JUMPI
0000033b: PUSH1 0x00
0000033d: DUP1
0000033e: REVERT
0000033f: JUMPDEST
00000340: POP
00000341: PUSH1 0x0a
00000343: SLOAD
00000344: PUSH2 0x0353
00000347: SWAP1
00000348: PUSH1 0x01
0000034a: PUSH1 0x01
0000034c: PUSH1 0xa0
0000034e: SHL
0000034f: SUB
00000350: AND
00000351: DUP2
00000352: JUMP
00000353: JUMPDEST
00000354: PUSH1 0x40
00000356: MLOAD
00000357: PUSH2 0x0271
0000035a: SWAP2
0000035b: SWAP1
0000035c: PUSH2 0x1fa2
0000035f: JUMP
00000360: JUMPDEST
00000361: CALLVALUE
00000362: DUP1
00000363: ISZERO
00000364: PUSH2 0x036c
00000367: JUMPI
00000368: PUSH1 0x00
0000036a: DUP1
0000036b: REVERT
0000036c: JUMPDEST
0000036d: POP
0000036e: PUSH2 0x0228
00000371: PUSH2 0x037b
00000374: CALLDATASIZE
00000375: PUSH1 0x04
00000377: PUSH2 0x1e67
0000037a: JUMP
0000037b: JUMPDEST
0000037c: PUSH2 0x0ab9
0000037f: JUMP
00000380: JUMPDEST
00000381: CALLVALUE
00000382: DUP1
00000383: ISZERO
00000384: PUSH2 0x038c
00000387: JUMPI
00000388: PUSH1 0x00
0000038a: DUP1
0000038b: REVERT
0000038c: JUMPDEST
0000038d: POP
0000038e: PUSH2 0x0228
00000391: PUSH2 0x039b
00000394: CALLDATASIZE
00000395: PUSH1 0x04
00000397: PUSH2 0x1dc1
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x0b05
0000039f: JUMP
000003a0: JUMPDEST
000003a1: CALLVALUE
000003a2: DUP1
000003a3: ISZERO
000003a4: PUSH2 0x03ac
000003a7: JUMPI
000003a8: PUSH1 0x00
000003aa: DUP1
000003ab: REVERT
000003ac: JUMPDEST
000003ad: POP
000003ae: PUSH2 0x03cd
000003b1: PUSH2 0x03bb
000003b4: CALLDATASIZE
000003b5: PUSH1 0x04
000003b7: PUSH2 0x1e67
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH1 0x03
000003be: PUSH1 0x20
000003c0: MSTORE
000003c1: PUSH1 0x00
000003c3: SWAP1
000003c4: DUP2
000003c5: MSTORE
000003c6: PUSH1 0x40
000003c8: SWAP1
000003c9: KECCAK256
000003ca: SLOAD
000003cb: DUP2
000003cc: JUMP
000003cd: JUMPDEST
000003ce: PUSH1 0x40
000003d0: MLOAD
000003d1: SWAP1
000003d2: DUP2
000003d3: MSTORE
000003d4: PUSH1 0x20
000003d6: ADD
000003d7: PUSH2 0x0271
000003da: JUMP
000003db: JUMPDEST
000003dc: CALLVALUE
000003dd: DUP1
000003de: ISZERO
000003df: PUSH2 0x03e7
000003e2: JUMPI
000003e3: PUSH1 0x00
000003e5: DUP1
000003e6: REVERT
000003e7: JUMPDEST
000003e8: POP
000003e9: PUSH2 0x0228
000003ec: PUSH2 0x03f6
000003ef: CALLDATASIZE
000003f0: PUSH1 0x04
000003f2: PUSH2 0x1e67
000003f5: JUMP
000003f6: JUMPDEST
000003f7: PUSH2 0x0b9c
000003fa: JUMP
000003fb: JUMPDEST
000003fc: CALLVALUE
000003fd: DUP1
000003fe: ISZERO
000003ff: PUSH2 0x0407
00000402: JUMPI
00000403: PUSH1 0x00
00000405: DUP1
00000406: REVERT
00000407: JUMPDEST
00000408: POP
00000409: PUSH2 0x0228
0000040c: PUSH2 0x0416
0000040f: CALLDATASIZE
00000410: PUSH1 0x04
00000412: PUSH2 0x1dc1
00000415: JUMP
00000416: JUMPDEST
00000417: PUSH2 0x0be8
0000041a: JUMP
0000041b: JUMPDEST
0000041c: CALLVALUE
0000041d: DUP1
0000041e: ISZERO
0000041f: PUSH2 0x0427
00000422: JUMPI
00000423: PUSH1 0x00
00000425: DUP1
00000426: REVERT
00000427: JUMPDEST
00000428: POP
00000429: PUSH2 0x0228
0000042c: PUSH2 0x0436
0000042f: CALLDATASIZE
00000430: PUSH1 0x04
00000432: PUSH2 0x1e67
00000435: JUMP
00000436: JUMPDEST
00000437: PUSH2 0x0ce1
0000043a: JUMP
0000043b: JUMPDEST
0000043c: CALLVALUE
0000043d: DUP1
0000043e: ISZERO
0000043f: PUSH2 0x0447
00000442: JUMPI
00000443: PUSH1 0x00
00000445: DUP1
00000446: REVERT
00000447: JUMPDEST
00000448: POP
00000449: PUSH2 0x0264
0000044c: PUSH2 0x0d70
0000044f: JUMP
00000450: JUMPDEST
00000451: CALLVALUE
00000452: DUP1
00000453: ISZERO
00000454: PUSH2 0x045c
00000457: JUMPI
00000458: PUSH1 0x00
0000045a: DUP1
0000045b: REVERT
0000045c: JUMPDEST
0000045d: POP
0000045e: PUSH1 0x00
00000460: SLOAD
00000461: PUSH2 0x0353
00000464: SWAP1
00000465: PUSH1 0x01
00000467: PUSH1 0x01
00000469: PUSH1 0xa0
0000046b: SHL
0000046c: SUB
0000046d: AND
0000046e: DUP2
0000046f: JUMP
00000470: JUMPDEST
00000471: CALLVALUE
00000472: DUP1
00000473: ISZERO
00000474: PUSH2 0x047c
00000477: JUMPI
00000478: PUSH1 0x00
0000047a: DUP1
0000047b: REVERT
0000047c: JUMPDEST
0000047d: POP
0000047e: PUSH2 0x03cd
00000481: PUSH2 0x048b
00000484: CALLDATASIZE
00000485: PUSH1 0x04
00000487: PUSH2 0x1e67
0000048a: JUMP
0000048b: JUMPDEST
0000048c: PUSH1 0x04
0000048e: PUSH1 0x20
00000490: MSTORE
00000491: PUSH1 0x00
00000493: SWAP1
00000494: DUP2
00000495: MSTORE
00000496: PUSH1 0x40
00000498: SWAP1
00000499: KECCAK256
0000049a: SLOAD
0000049b: DUP2
0000049c: JUMP
0000049d: JUMPDEST
0000049e: CALLVALUE
0000049f: DUP1
000004a0: ISZERO
000004a1: PUSH2 0x04a9
000004a4: JUMPI
000004a5: PUSH1 0x00
000004a7: DUP1
000004a8: REVERT
000004a9: JUMPDEST
000004aa: POP
000004ab: PUSH1 0x01
000004ad: SLOAD
000004ae: PUSH2 0x0353
000004b1: SWAP1
000004b2: PUSH1 0x01
000004b4: PUSH1 0x01
000004b6: PUSH1 0xa0
000004b8: SHL
000004b9: SUB
000004ba: AND
000004bb: DUP2
000004bc: JUMP
000004bd: JUMPDEST
000004be: CALLVALUE
000004bf: DUP1
000004c0: ISZERO
000004c1: PUSH2 0x04c9
000004c4: JUMPI
000004c5: PUSH1 0x00
000004c7: DUP1
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: PUSH2 0x0228
000004ce: PUSH2 0x0dfb
000004d1: JUMP
000004d2: JUMPDEST
000004d3: CALLVALUE
000004d4: DUP1
000004d5: ISZERO
000004d6: PUSH2 0x04de
000004d9: JUMPI
000004da: PUSH1 0x00
000004dc: DUP1
000004dd: REVERT
000004de: JUMPDEST
000004df: POP
000004e0: PUSH2 0x0228
000004e3: PUSH2 0x04ed
000004e6: CALLDATASIZE
000004e7: PUSH1 0x04
000004e9: PUSH2 0x1fb6
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH2 0x0e8f
000004f1: JUMP
000004f2: JUMPDEST
000004f3: CALLVALUE
000004f4: DUP1
000004f5: ISZERO
000004f6: PUSH2 0x04fe
000004f9: JUMPI
000004fa: PUSH1 0x00
000004fc: DUP1
000004fd: REVERT
000004fe: JUMPDEST
000004ff: POP
00000500: PUSH2 0x0228
00000503: PUSH2 0x050d
00000506: CALLDATASIZE
00000507: PUSH1 0x04
00000509: PUSH2 0x2113
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH2 0x0f46
00000511: JUMP
00000512: JUMPDEST
00000513: CALLVALUE
00000514: DUP1
00000515: ISZERO
00000516: PUSH2 0x051e
00000519: JUMPI
0000051a: PUSH1 0x00
0000051c: DUP1
0000051d: REVERT
0000051e: JUMPDEST
0000051f: POP
00000520: PUSH2 0x0228
00000523: PUSH2 0x052d
00000526: CALLDATASIZE
00000527: PUSH1 0x04
00000529: PUSH2 0x217f
0000052c: JUMP
0000052d: JUMPDEST
0000052e: PUSH2 0x0fec
00000531: JUMP
00000532: JUMPDEST
00000533: CALLVALUE
00000534: DUP1
00000535: ISZERO
00000536: PUSH2 0x053e
00000539: JUMPI
0000053a: PUSH1 0x00
0000053c: DUP1
0000053d: REVERT
0000053e: JUMPDEST
0000053f: POP
00000540: PUSH1 0x09
00000542: SLOAD
00000543: PUSH2 0x0353
00000546: SWAP1
00000547: PUSH1 0x01
00000549: PUSH1 0x01
0000054b: PUSH1 0xa0
0000054d: SHL
0000054e: SUB
0000054f: AND
00000550: DUP2
00000551: JUMP
00000552: JUMPDEST
00000553: CALLVALUE
00000554: DUP1
00000555: ISZERO
00000556: PUSH2 0x055e
00000559: JUMPI
0000055a: PUSH1 0x00
0000055c: DUP1
0000055d: REVERT
0000055e: JUMPDEST
0000055f: POP
00000560: PUSH2 0x0228
00000563: PUSH2 0x056d
00000566: CALLDATASIZE
00000567: PUSH1 0x04
00000569: PUSH2 0x21b4
0000056c: JUMP
0000056d: JUMPDEST
0000056e: PUSH2 0x1025
00000571: JUMP
00000572: JUMPDEST
00000573: CALLVALUE
00000574: DUP1
00000575: ISZERO
00000576: PUSH2 0x057e
00000579: JUMPI
0000057a: PUSH1 0x00
0000057c: DUP1
0000057d: REVERT
0000057e: JUMPDEST
0000057f: POP
00000580: PUSH2 0x0228
00000583: PUSH2 0x058d
00000586: CALLDATASIZE
00000587: PUSH1 0x04
00000589: PUSH2 0x2113
0000058c: JUMP
0000058d: JUMPDEST
0000058e: PUSH2 0x11d5
00000591: JUMP
00000592: JUMPDEST
00000593: CALLVALUE
00000594: DUP1
00000595: ISZERO
00000596: PUSH2 0x059e
00000599: JUMPI
0000059a: PUSH1 0x00
0000059c: DUP1
0000059d: REVERT
0000059e: JUMPDEST
0000059f: POP
000005a0: PUSH2 0x0228
000005a3: PUSH2 0x05ad
000005a6: CALLDATASIZE
000005a7: PUSH1 0x04
000005a9: PUSH2 0x1fb6
000005ac: JUMP
000005ad: JUMPDEST
000005ae: PUSH2 0x1294
000005b1: JUMP
000005b2: JUMPDEST
000005b3: CALLVALUE
000005b4: DUP1
000005b5: ISZERO
000005b6: PUSH2 0x05be
000005b9: JUMPI
000005ba: PUSH1 0x00
000005bc: DUP1
000005bd: REVERT
000005be: JUMPDEST
000005bf: POP
000005c0: PUSH2 0x0228
000005c3: PUSH2 0x05cd
000005c6: CALLDATASIZE
000005c7: PUSH1 0x04
000005c9: PUSH2 0x2281
000005cc: JUMP
000005cd: JUMPDEST
000005ce: PUSH2 0x134a
000005d1: JUMP
000005d2: JUMPDEST
000005d3: CALLVALUE
000005d4: DUP1
000005d5: ISZERO
000005d6: PUSH2 0x05de
000005d9: JUMPI
000005da: PUSH1 0x00
000005dc: DUP1
000005dd: REVERT
000005de: JUMPDEST
000005df: POP
000005e0: PUSH2 0x0228
000005e3: PUSH2 0x05ed
000005e6: CALLDATASIZE
000005e7: PUSH1 0x04
000005e9: PUSH2 0x22bb
000005ec: JUMP
000005ed: JUMPDEST
000005ee: PUSH2 0x13a9
000005f1: JUMP
000005f2: JUMPDEST
000005f3: CALLVALUE
000005f4: DUP1
000005f5: ISZERO
000005f6: PUSH2 0x05fe
000005f9: JUMPI
000005fa: PUSH1 0x00
000005fc: DUP1
000005fd: REVERT
000005fe: JUMPDEST
000005ff: POP
00000600: PUSH2 0x03cd
00000603: PUSH2 0x060d
00000606: CALLDATASIZE
00000607: PUSH1 0x04
00000609: PUSH2 0x1e67
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH1 0x02
00000610: PUSH1 0x20
00000612: MSTORE
00000613: PUSH1 0x00
00000615: SWAP1
00000616: DUP2
00000617: MSTORE
00000618: PUSH1 0x40
0000061a: SWAP1
0000061b: KECCAK256
0000061c: SLOAD
0000061d: DUP2
0000061e: JUMP
0000061f: JUMPDEST
00000620: CALLVALUE
00000621: DUP1
00000622: ISZERO
00000623: PUSH2 0x062b
00000626: JUMPI
00000627: PUSH1 0x00
00000629: DUP1
0000062a: REVERT
0000062b: JUMPDEST
0000062c: POP
0000062d: PUSH2 0x0264
00000630: PUSH2 0x1462
00000633: JUMP
00000634: JUMPDEST
00000635: CALLVALUE
00000636: DUP1
00000637: ISZERO
00000638: PUSH2 0x0640
0000063b: JUMPI
0000063c: PUSH1 0x00
0000063e: DUP1
0000063f: REVERT
00000640: JUMPDEST
00000641: POP
00000642: PUSH2 0x0228
00000645: PUSH2 0x064f
00000648: CALLDATASIZE
00000649: PUSH1 0x04
0000064b: PUSH2 0x1e67
0000064e: JUMP
0000064f: JUMPDEST
00000650: PUSH2 0x14ed
00000653: JUMP
00000654: JUMPDEST
00000655: PUSH1 0x00
00000657: SLOAD
00000658: PUSH1 0x01
0000065a: PUSH1 0x01
0000065c: PUSH1 0xa0
0000065e: SHL
0000065f: SUB
00000660: AND
00000661: CALLER
00000662: EQ
00000663: PUSH2 0x0687
00000666: JUMPI
00000667: PUSH1 0x40
00000669: MLOAD
0000066a: PUSH3 0x461bcd
0000066e: PUSH1 0xe5
00000670: SHL
00000671: DUP2
00000672: MSTORE
00000673: PUSH1 0x04
00000675: ADD
00000676: PUSH2 0x067e
00000679: SWAP1
0000067a: PUSH2 0x2330
0000067d: JUMP
0000067e: JUMPDEST
0000067f: PUSH1 0x40
00000681: MLOAD
00000682: DUP1
00000683: SWAP2
00000684: SUB
00000685: SWAP1
00000686: REVERT
00000687: JUMPDEST
00000688: PUSH1 0x00
0000068a: JUMPDEST
0000068b: PUSH1 0x07
0000068d: SLOAD
0000068e: DUP2
0000068f: LT
00000690: ISZERO
00000691: PUSH2 0x06e4
00000694: JUMPI
00000695: PUSH1 0x00
00000697: PUSH1 0x04
00000699: PUSH1 0x00
0000069b: PUSH1 0x07
0000069d: DUP5
0000069e: DUP2
0000069f: SLOAD
000006a0: DUP2
000006a1: LT
000006a2: PUSH2 0x06ad
000006a5: JUMPI
000006a6: PUSH2 0x06ad
000006a9: PUSH2 0x2358
000006ac: JUMP
000006ad: JUMPDEST
000006ae: PUSH1 0x00
000006b0: SWAP2
000006b1: DUP3
000006b2: MSTORE
000006b3: PUSH1 0x20
000006b5: DUP1
000006b6: DUP4
000006b7: KECCAK256
000006b8: SWAP1
000006b9: SWAP2
000006ba: ADD
000006bb: SLOAD
000006bc: PUSH1 0x01
000006be: PUSH1 0x01
000006c0: PUSH1 0xa0
000006c2: SHL
000006c3: SUB
000006c4: AND
000006c5: DUP4
000006c6: MSTORE
000006c7: DUP3
000006c8: ADD
000006c9: SWAP3
000006ca: SWAP1
000006cb: SWAP3
000006cc: MSTORE
000006cd: PUSH1 0x40
000006cf: ADD
000006d0: SWAP1
000006d1: KECCAK256
000006d2: SSTORE
000006d3: DUP1
000006d4: PUSH2 0x06dc
000006d7: DUP2
000006d8: PUSH2 0x236e
000006db: JUMP
000006dc: JUMPDEST
000006dd: SWAP2
000006de: POP
000006df: POP
000006e0: PUSH2 0x068a
000006e3: JUMP
000006e4: JUMPDEST
000006e5: POP
000006e6: PUSH2 0x06f1
000006e9: PUSH1 0x07
000006eb: DUP4
000006ec: DUP4
000006ed: PUSH2 0x1cfe
000006f0: JUMP
000006f1: JUMPDEST
000006f2: POP
000006f3: PUSH1 0x00
000006f5: JUMPDEST
000006f6: DUP2
000006f7: DUP2
000006f8: LT
000006f9: ISZERO
000006fa: PUSH2 0x0756
000006fd: JUMPI
000006fe: PUSH1 0x01
00000700: PUSH1 0x04
00000702: PUSH1 0x00
00000704: DUP6
00000705: DUP6
00000706: DUP6
00000707: DUP2
00000708: DUP2
00000709: LT
0000070a: PUSH2 0x0715
0000070d: JUMPI
0000070e: PUSH2 0x0715
00000711: PUSH2 0x2358
00000714: JUMP
00000715: JUMPDEST
00000716: SWAP1
00000717: POP
00000718: PUSH1 0x20
0000071a: MUL
0000071b: ADD
0000071c: PUSH1 0x20
0000071e: DUP2
0000071f: ADD
00000720: SWAP1
00000721: PUSH2 0x072a
00000724: SWAP2
00000725: SWAP1
00000726: PUSH2 0x1e67
00000729: JUMP
0000072a: JUMPDEST
0000072b: PUSH1 0x01
0000072d: PUSH1 0x01
0000072f: PUSH1 0xa0
00000731: SHL
00000732: SUB
00000733: AND
00000734: DUP2
00000735: MSTORE
00000736: PUSH1 0x20
00000738: DUP2
00000739: ADD
0000073a: SWAP2
0000073b: SWAP1
0000073c: SWAP2
0000073d: MSTORE
0000073e: PUSH1 0x40
00000740: ADD
00000741: PUSH1 0x00
00000743: KECCAK256
00000744: SSTORE
00000745: DUP1
00000746: PUSH2 0x074e
00000749: DUP2
0000074a: PUSH2 0x236e
0000074d: JUMP
0000074e: JUMPDEST
0000074f: SWAP2
00000750: POP
00000751: POP
00000752: PUSH2 0x06f5
00000755: JUMP
00000756: JUMPDEST
00000757: POP
00000758: POP
00000759: POP
0000075a: JUMP
0000075b: JUMPDEST
0000075c: PUSH1 0x00
0000075e: SLOAD
0000075f: PUSH1 0x60
00000761: SWAP1
00000762: PUSH1 0x01
00000764: PUSH1 0x01
00000766: PUSH1 0xa0
00000768: SHL
00000769: SUB
0000076a: AND
0000076b: CALLER
0000076c: EQ
0000076d: PUSH2 0x0788
00000770: JUMPI
00000771: PUSH1 0x40
00000773: MLOAD
00000774: PUSH3 0x461bcd
00000778: PUSH1 0xe5
0000077a: SHL
0000077b: DUP2
0000077c: MSTORE
0000077d: PUSH1 0x04
0000077f: ADD
00000780: PUSH2 0x067e
00000783: SWAP1
00000784: PUSH2 0x2330
00000787: JUMP
00000788: JUMPDEST
00000789: PUSH1 0x05
0000078b: DUP1
0000078c: SLOAD
0000078d: DUP1
0000078e: PUSH1 0x20
00000790: MUL
00000791: PUSH1 0x20
00000793: ADD
00000794: PUSH1 0x40
00000796: MLOAD
00000797: SWAP1
00000798: DUP2
00000799: ADD
0000079a: PUSH1 0x40
0000079c: MSTORE
0000079d: DUP1
0000079e: SWAP3
0000079f: SWAP2
000007a0: SWAP1
000007a1: DUP2
000007a2: DUP2
000007a3: MSTORE
000007a4: PUSH1 0x20
000007a6: ADD
000007a7: DUP3
000007a8: DUP1
000007a9: SLOAD
000007aa: DUP1
000007ab: ISZERO
000007ac: PUSH2 0x07de
000007af: JUMPI
000007b0: PUSH1 0x20
000007b2: MUL
000007b3: DUP3
000007b4: ADD
000007b5: SWAP2
000007b6: SWAP1
000007b7: PUSH1 0x00
000007b9: MSTORE
000007ba: PUSH1 0x20
000007bc: PUSH1 0x00
000007be: KECCAK256
000007bf: SWAP1
000007c0: JUMPDEST
000007c1: DUP2
000007c2: SLOAD
000007c3: PUSH1 0x01
000007c5: PUSH1 0x01
000007c7: PUSH1 0xa0
000007c9: SHL
000007ca: SUB
000007cb: AND
000007cc: DUP2
000007cd: MSTORE
000007ce: PUSH1 0x01
000007d0: SWAP1
000007d1: SWAP2
000007d2: ADD
000007d3: SWAP1
000007d4: PUSH1 0x20
000007d6: ADD
000007d7: DUP1
000007d8: DUP4
000007d9: GT
000007da: PUSH2 0x07c0
000007dd: JUMPI
000007de: JUMPDEST
000007df: POP
000007e0: POP
000007e1: POP
000007e2: POP
000007e3: POP
000007e4: SWAP1
000007e5: POP
000007e6: SWAP1
000007e7: JUMP
000007e8: JUMPDEST
000007e9: PUSH1 0x00
000007eb: SLOAD
000007ec: PUSH1 0x01
000007ee: PUSH1 0x01
000007f0: PUSH1 0xa0
000007f2: SHL
000007f3: SUB
000007f4: AND
000007f5: CALLER
000007f6: EQ
000007f7: PUSH2 0x0812
000007fa: JUMPI
000007fb: PUSH1 0x40
000007fd: MLOAD
000007fe: PUSH3 0x461bcd
00000802: PUSH1 0xe5
00000804: SHL
00000805: DUP2
00000806: MSTORE
00000807: PUSH1 0x04
00000809: ADD
0000080a: PUSH2 0x067e
0000080d: SWAP1
0000080e: PUSH2 0x2330
00000811: JUMP
00000812: JUMPDEST
00000813: PUSH1 0x00
00000815: DUP1
00000816: SLOAD
00000817: PUSH1 0x01
00000819: PUSH1 0x01
0000081b: PUSH1 0xa0
0000081d: SHL
0000081e: SUB
0000081f: NOT
00000820: AND
00000821: PUSH1 0x01
00000823: PUSH1 0x01
00000825: PUSH1 0xa0
00000827: SHL
00000828: SUB
00000829: SWAP3
0000082a: SWAP1
0000082b: SWAP3
0000082c: AND
0000082d: SWAP2
0000082e: SWAP1
0000082f: SWAP2
00000830: OR
00000831: SWAP1
00000832: SSTORE
00000833: JUMP
00000834: JUMPDEST
00000835: PUSH1 0x00
00000837: DUP1
00000838: PUSH2 0x0877
0000083b: DUP6
0000083c: DUP6
0000083d: DUP6
0000083e: DUP1
0000083f: DUP1
00000840: PUSH1 0x1f
00000842: ADD
00000843: PUSH1 0x20
00000845: DUP1
00000846: SWAP2
00000847: DIV
00000848: MUL
00000849: PUSH1 0x20
0000084b: ADD
0000084c: PUSH1 0x40
0000084e: MLOAD
0000084f: SWAP1
00000850: DUP2
00000851: ADD
00000852: PUSH1 0x40
00000854: MSTORE
00000855: DUP1
00000856: SWAP4
00000857: SWAP3
00000858: SWAP2
00000859: SWAP1
0000085a: DUP2
0000085b: DUP2
0000085c: MSTORE
0000085d: PUSH1 0x20
0000085f: ADD
00000860: DUP4
00000861: DUP4
00000862: DUP1
00000863: DUP3
00000864: DUP5
00000865: CALLDATACOPY
00000866: PUSH1 0x00
00000868: SWAP3
00000869: ADD
0000086a: SWAP2
0000086b: SWAP1
0000086c: SWAP2
0000086d: MSTORE
0000086e: POP
0000086f: PUSH2 0x1539
00000872: SWAP3
00000873: POP
00000874: POP
00000875: POP
00000876: JUMP
00000877: JUMPDEST
00000878: SWAP1
00000879: POP
0000087a: PUSH1 0x00
0000087c: PUSH2 0x089d
0000087f: DUP3
00000880: PUSH1 0x01
00000882: PUSH1 0x01
00000884: PUSH1 0xa0
00000886: SHL
00000887: SUB
00000888: AND
00000889: PUSH1 0x00
0000088b: SWAP1
0000088c: DUP2
0000088d: MSTORE
0000088e: PUSH1 0x02
00000890: PUSH1 0x20
00000892: MSTORE
00000893: PUSH1 0x40
00000895: SWAP1
00000896: KECCAK256
00000897: SLOAD
00000898: PUSH1 0x01
0000089a: EQ
0000089b: SWAP1
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH1 0x00
000008a0: SLOAD
000008a1: SWAP1
000008a2: SWAP2
000008a3: POP
000008a4: PUSH1 0x01
000008a6: PUSH1 0x01
000008a8: PUSH1 0xa0
000008aa: SHL
000008ab: SUB
000008ac: DUP4
000008ad: DUP2
000008ae: AND
000008af: SWAP2
000008b0: AND
000008b1: EQ
000008b2: DUP1
000008b3: PUSH2 0x08b9
000008b6: JUMPI
000008b7: POP
000008b8: DUP1
000008b9: JUMPDEST
000008ba: ISZERO
000008bb: PUSH2 0x08d0
000008be: JUMPI
000008bf: POP
000008c0: PUSH4 0x0b135d3f
000008c5: PUSH1 0xe1
000008c7: SHL
000008c8: SWAP2
000008c9: POP
000008ca: PUSH2 0x08e3
000008cd: SWAP1
000008ce: POP
000008cf: JUMP
000008d0: JUMPDEST
000008d1: POP
000008d2: PUSH1 0x01
000008d4: PUSH1 0x01
000008d6: PUSH1 0xe0
000008d8: SHL
000008d9: SUB
000008da: NOT
000008db: SWAP2
000008dc: POP
000008dd: PUSH2 0x08e3
000008e0: SWAP1
000008e1: POP
000008e2: JUMP
000008e3: JUMPDEST
000008e4: SWAP4
000008e5: SWAP3
000008e6: POP
000008e7: POP
000008e8: POP
000008e9: JUMP
000008ea: JUMPDEST
000008eb: PUSH1 0x00
000008ed: SLOAD
000008ee: PUSH1 0x01
000008f0: PUSH1 0x01
000008f2: PUSH1 0xa0
000008f4: SHL
000008f5: SUB
000008f6: AND
000008f7: CALLER
000008f8: EQ
000008f9: PUSH2 0x0914
000008fc: JUMPI
000008fd: PUSH1 0x40
000008ff: MLOAD
00000900: PUSH3 0x461bcd
00000904: PUSH1 0xe5
00000906: SHL
00000907: DUP2
00000908: MSTORE
00000909: PUSH1 0x04
0000090b: ADD
0000090c: PUSH2 0x067e
0000090f: SWAP1
00000910: PUSH2 0x2330
00000913: JUMP
00000914: JUMPDEST
00000915: PUSH2 0x092a
00000918: PUSH1 0x01
0000091a: PUSH1 0x01
0000091c: PUSH1 0xa0
0000091e: SHL
0000091f: SUB
00000920: DUP4
00000921: AND
00000922: DUP3
00000923: PUSH1 0x00
00000925: NOT
00000926: PUSH2 0x1755
00000929: JUMP
0000092a: JUMPDEST
0000092b: POP
0000092c: POP
0000092d: JUMP
0000092e: JUMPDEST
0000092f: PUSH1 0x00
00000931: SLOAD
00000932: PUSH1 0x01
00000934: PUSH1 0x01
00000936: PUSH1 0xa0
00000938: SHL
00000939: SUB
0000093a: AND
0000093b: CALLER
0000093c: EQ
0000093d: PUSH2 0x0958
00000940: JUMPI
00000941: PUSH1 0x40
00000943: MLOAD
00000944: PUSH3 0x461bcd
00000948: PUSH1 0xe5
0000094a: SHL
0000094b: DUP2
0000094c: MSTORE
0000094d: PUSH1 0x04
0000094f: ADD
00000950: PUSH2 0x067e
00000953: SWAP1
00000954: PUSH2 0x2330
00000957: JUMP
00000958: JUMPDEST
00000959: PUSH1 0x40
0000095b: MLOAD
0000095c: PUSH4 0xea7faa61
00000961: PUSH1 0xe0
00000963: SHL
00000964: DUP2
00000965: MSTORE
00000966: PUSH1 0x01
00000968: PUSH1 0x01
0000096a: PUSH1 0xa0
0000096c: SHL
0000096d: SUB
0000096e: DUP4
0000096f: DUP2
00000970: AND
00000971: PUSH1 0x04
00000973: DUP4
00000974: ADD
00000975: MSTORE
00000976: DUP3
00000977: ISZERO
00000978: ISZERO
00000979: PUSH1 0x24
0000097b: DUP4
0000097c: ADD
0000097d: MSTORE
0000097e: DUP5
0000097f: AND
00000980: SWAP1
00000981: PUSH4 0xea7faa61
00000986: SWAP1
00000987: PUSH1 0x44
00000989: ADD
0000098a: PUSH1 0x00
0000098c: PUSH1 0x40
0000098e: MLOAD
0000098f: DUP1
00000990: DUP4
00000991: SUB
00000992: DUP2
00000993: PUSH1 0x00
00000995: DUP8
00000996: DUP1
00000997: EXTCODESIZE
00000998: ISZERO
00000999: DUP1
0000099a: ISZERO
0000099b: PUSH2 0x09a3
0000099e: JUMPI
0000099f: PUSH1 0x00
000009a1: DUP1
000009a2: REVERT
000009a3: JUMPDEST
000009a4: POP
000009a5: GAS
000009a6: CALL
000009a7: ISZERO
000009a8: DUP1
000009a9: ISZERO
000009aa: PUSH2 0x09b7
000009ad: JUMPI
000009ae: RETURNDATASIZE
000009af: PUSH1 0x00
000009b1: DUP1
000009b2: RETURNDATACOPY
000009b3: RETURNDATASIZE
000009b4: PUSH1 0x00
000009b6: REVERT
000009b7: JUMPDEST
000009b8: POP
000009b9: POP
000009ba: POP
000009bb: POP
000009bc: POP
000009bd: POP
000009be: POP
000009bf: JUMP
000009c0: JUMPDEST
000009c1: PUSH1 0x00
000009c3: SLOAD
000009c4: PUSH1 0x01
000009c6: PUSH1 0x01
000009c8: PUSH1 0xa0
000009ca: SHL
000009cb: SUB
000009cc: AND
000009cd: CALLER
000009ce: EQ
000009cf: PUSH2 0x09ea
000009d2: JUMPI
000009d3: PUSH1 0x40
000009d5: MLOAD
000009d6: PUSH3 0x461bcd
000009da: PUSH1 0xe5
000009dc: SHL
000009dd: DUP2
000009de: MSTORE
000009df: PUSH1 0x04
000009e1: ADD
000009e2: PUSH2 0x067e
000009e5: SWAP1
000009e6: PUSH2 0x2330
000009e9: JUMP
000009ea: JUMPDEST
000009eb: PUSH1 0x00
000009ed: JUMPDEST
000009ee: PUSH1 0x05
000009f0: SLOAD
000009f1: DUP2
000009f2: LT
000009f3: ISZERO
000009f4: PUSH2 0x0a47
000009f7: JUMPI
000009f8: PUSH1 0x00
000009fa: PUSH1 0x02
000009fc: PUSH1 0x00
000009fe: PUSH1 0x05
00000a00: DUP5
00000a01: DUP2
00000a02: SLOAD
00000a03: DUP2
00000a04: LT
00000a05: PUSH2 0x0a10
00000a08: JUMPI
00000a09: PUSH2 0x0a10
00000a0c: PUSH2 0x2358
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: PUSH1 0x00
00000a13: SWAP2
00000a14: DUP3
00000a15: MSTORE
00000a16: PUSH1 0x20
00000a18: DUP1
00000a19: DUP4
00000a1a: KECCAK256
00000a1b: SWAP1
00000a1c: SWAP2
00000a1d: ADD
00000a1e: SLOAD
00000a1f: PUSH1 0x01
00000a21: PUSH1 0x01
00000a23: PUSH1 0xa0
00000a25: SHL
00000a26: SUB
00000a27: AND
00000a28: DUP4
00000a29: MSTORE
00000a2a: DUP3
00000a2b: ADD
00000a2c: SWAP3
00000a2d: SWAP1
00000a2e: SWAP3
00000a2f: MSTORE
00000a30: PUSH1 0x40
00000a32: ADD
00000a33: SWAP1
00000a34: KECCAK256
00000a35: SSTORE
00000a36: DUP1
00000a37: PUSH2 0x0a3f
00000a3a: DUP2
00000a3b: PUSH2 0x236e
00000a3e: JUMP
00000a3f: JUMPDEST
00000a40: SWAP2
00000a41: POP
00000a42: POP
00000a43: PUSH2 0x09ed
00000a46: JUMP
00000a47: JUMPDEST
00000a48: POP
00000a49: PUSH2 0x0a54
00000a4c: PUSH1 0x05
00000a4e: DUP4
00000a4f: DUP4
00000a50: PUSH2 0x1cfe
00000a53: JUMP
00000a54: JUMPDEST
00000a55: POP
00000a56: PUSH1 0x00
00000a58: JUMPDEST
00000a59: DUP2
00000a5a: DUP2
00000a5b: LT
00000a5c: ISZERO
00000a5d: PUSH2 0x0756
00000a60: JUMPI
00000a61: PUSH1 0x01
00000a63: PUSH1 0x02
00000a65: PUSH1 0x00
00000a67: DUP6
00000a68: DUP6
00000a69: DUP6
00000a6a: DUP2
00000a6b: DUP2
00000a6c: LT
00000a6d: PUSH2 0x0a78
00000a70: JUMPI
00000a71: PUSH2 0x0a78
00000a74: PUSH2 0x2358
00000a77: JUMP
00000a78: JUMPDEST
00000a79: SWAP1
00000a7a: POP
00000a7b: PUSH1 0x20
00000a7d: MUL
00000a7e: ADD
00000a7f: PUSH1 0x20
00000a81: DUP2
00000a82: ADD
00000a83: SWAP1
00000a84: PUSH2 0x0a8d
00000a87: SWAP2
00000a88: SWAP1
00000a89: PUSH2 0x1e67
00000a8c: JUMP
00000a8d: JUMPDEST
00000a8e: PUSH1 0x01
00000a90: PUSH1 0x01
00000a92: PUSH1 0xa0
00000a94: SHL
00000a95: SUB
00000a96: AND
00000a97: DUP2
00000a98: MSTORE
00000a99: PUSH1 0x20
00000a9b: DUP2
00000a9c: ADD
00000a9d: SWAP2
00000a9e: SWAP1
00000a9f: SWAP2
00000aa0: MSTORE
00000aa1: PUSH1 0x40
00000aa3: ADD
00000aa4: PUSH1 0x00
00000aa6: KECCAK256
00000aa7: SSTORE
00000aa8: DUP1
00000aa9: PUSH2 0x0ab1
00000aac: DUP2
00000aad: PUSH2 0x236e
00000ab0: JUMP
00000ab1: JUMPDEST
00000ab2: SWAP2
00000ab3: POP
00000ab4: POP
00000ab5: PUSH2 0x0a58
00000ab8: JUMP
00000ab9: JUMPDEST
00000aba: PUSH1 0x00
00000abc: SLOAD
00000abd: PUSH1 0x01
00000abf: PUSH1 0x01
00000ac1: PUSH1 0xa0
00000ac3: SHL
00000ac4: SUB
00000ac5: AND
00000ac6: CALLER
00000ac7: EQ
00000ac8: PUSH2 0x0ae3
00000acb: JUMPI
00000acc: PUSH1 0x40
00000ace: MLOAD
00000acf: PUSH3 0x461bcd
00000ad3: PUSH1 0xe5
00000ad5: SHL
00000ad6: DUP2
00000ad7: MSTORE
00000ad8: PUSH1 0x04
00000ada: ADD
00000adb: PUSH2 0x067e
00000ade: SWAP1
00000adf: PUSH2 0x2330
00000ae2: JUMP
00000ae3: JUMPDEST
00000ae4: PUSH1 0x08
00000ae6: DUP1
00000ae7: SLOAD
00000ae8: PUSH1 0x01
00000aea: PUSH1 0x01
00000aec: PUSH1 0xa0
00000aee: SHL
00000aef: SUB
00000af0: NOT
00000af1: AND
00000af2: PUSH1 0x01
00000af4: PUSH1 0x01
00000af6: PUSH1 0xa0
00000af8: SHL
00000af9: SUB
00000afa: SWAP3
00000afb: SWAP1
00000afc: SWAP3
00000afd: AND
00000afe: SWAP2
00000aff: SWAP1
00000b00: SWAP2
00000b01: OR
00000b02: SWAP1
00000b03: SSTORE
00000b04: JUMP
00000b05: JUMPDEST
00000b06: CALLER
00000b07: PUSH1 0x00
00000b09: SWAP1
00000b0a: DUP2
00000b0b: MSTORE
00000b0c: PUSH1 0x02
00000b0e: PUSH1 0x20
00000b10: MSTORE
00000b11: PUSH1 0x40
00000b13: SWAP1
00000b14: KECCAK256
00000b15: SLOAD
00000b16: PUSH1 0x01
00000b18: EQ
00000b19: PUSH2 0x0b34
00000b1c: JUMPI
00000b1d: PUSH1 0x40
00000b1f: MLOAD
00000b20: PUSH3 0x461bcd
00000b24: PUSH1 0xe5
00000b26: SHL
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x04
00000b2b: ADD
00000b2c: PUSH2 0x067e
00000b2f: SWAP1
00000b30: PUSH2 0x2395
00000b33: JUMP
00000b34: JUMPDEST
00000b35: PUSH1 0x09
00000b37: SLOAD
00000b38: PUSH1 0x40
00000b3a: MLOAD
00000b3b: PUSH4 0x0d7a16c3
00000b40: PUSH1 0xe0
00000b42: SHL
00000b43: DUP2
00000b44: MSTORE
00000b45: PUSH1 0x01
00000b47: PUSH1 0x01
00000b49: PUSH1 0xa0
00000b4b: SHL
00000b4c: SUB
00000b4d: SWAP1
00000b4e: SWAP2
00000b4f: AND
00000b50: SWAP1
00000b51: PUSH4 0x0d7a16c3
00000b56: SWAP1
00000b57: PUSH2 0x0b66
00000b5a: SWAP1
00000b5b: DUP6
00000b5c: SWAP1
00000b5d: DUP6
00000b5e: SWAP1
00000b5f: PUSH1 0x04
00000b61: ADD
00000b62: PUSH2 0x2474
00000b65: JUMP
00000b66: JUMPDEST
00000b67: PUSH1 0x00
00000b69: PUSH1 0x40
00000b6b: MLOAD
00000b6c: DUP1
00000b6d: DUP4
00000b6e: SUB
00000b6f: DUP2
00000b70: PUSH1 0x00
00000b72: DUP8
00000b73: DUP1
00000b74: EXTCODESIZE
00000b75: ISZERO
00000b76: DUP1
00000b77: ISZERO
00000b78: PUSH2 0x0b80
00000b7b: JUMPI
00000b7c: PUSH1 0x00
00000b7e: DUP1
00000b7f: REVERT
00000b80: JUMPDEST
00000b81: POP
00000b82: GAS
00000b83: CALL
00000b84: ISZERO
00000b85: DUP1
00000b86: ISZERO
00000b87: PUSH2 0x0b94
00000b8a: JUMPI
00000b8b: RETURNDATASIZE
00000b8c: PUSH1 0x00
00000b8e: DUP1
00000b8f: RETURNDATACOPY
00000b90: RETURNDATASIZE
00000b91: PUSH1 0x00
00000b93: REVERT
00000b94: JUMPDEST
00000b95: POP
00000b96: POP
00000b97: POP
00000b98: POP
00000b99: POP
00000b9a: POP
00000b9b: JUMP
00000b9c: JUMPDEST
00000b9d: PUSH1 0x00
00000b9f: SLOAD
00000ba0: PUSH1 0x01
00000ba2: PUSH1 0x01
00000ba4: PUSH1 0xa0
00000ba6: SHL
00000ba7: SUB
00000ba8: AND
00000ba9: CALLER
00000baa: EQ
00000bab: PUSH2 0x0bc6
00000bae: JUMPI
00000baf: PUSH1 0x40
00000bb1: MLOAD
00000bb2: PUSH3 0x461bcd
00000bb6: PUSH1 0xe5
00000bb8: SHL
00000bb9: DUP2
00000bba: MSTORE
00000bbb: PUSH1 0x04
00000bbd: ADD
00000bbe: PUSH2 0x067e
00000bc1: SWAP1
00000bc2: PUSH2 0x2330
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: PUSH1 0x09
00000bc9: DUP1
00000bca: SLOAD
00000bcb: PUSH1 0x01
00000bcd: PUSH1 0x01
00000bcf: PUSH1 0xa0
00000bd1: SHL
00000bd2: SUB
00000bd3: NOT
00000bd4: AND
00000bd5: PUSH1 0x01
00000bd7: PUSH1 0x01
00000bd9: PUSH1 0xa0
00000bdb: SHL
00000bdc: SUB
00000bdd: SWAP3
00000bde: SWAP1
00000bdf: SWAP3
00000be0: AND
00000be1: SWAP2
00000be2: SWAP1
00000be3: SWAP2
00000be4: OR
00000be5: SWAP1
00000be6: SSTORE
00000be7: JUMP
00000be8: JUMPDEST
00000be9: PUSH1 0x00
00000beb: SLOAD
00000bec: PUSH1 0x01
00000bee: PUSH1 0x01
00000bf0: PUSH1 0xa0
00000bf2: SHL
00000bf3: SUB
00000bf4: AND
00000bf5: CALLER
00000bf6: EQ
00000bf7: PUSH2 0x0c12
00000bfa: JUMPI
00000bfb: PUSH1 0x40
00000bfd: MLOAD
00000bfe: PUSH3 0x461bcd
00000c02: PUSH1 0xe5
00000c04: SHL
00000c05: DUP2
00000c06: MSTORE
00000c07: PUSH1 0x04
00000c09: ADD
00000c0a: PUSH2 0x067e
00000c0d: SWAP1
00000c0e: PUSH2 0x2330
00000c11: JUMP
00000c12: JUMPDEST
00000c13: PUSH1 0x00
00000c15: JUMPDEST
00000c16: PUSH1 0x06
00000c18: SLOAD
00000c19: DUP2
00000c1a: LT
00000c1b: ISZERO
00000c1c: PUSH2 0x0c6f
00000c1f: JUMPI
00000c20: PUSH1 0x00
00000c22: PUSH1 0x03
00000c24: PUSH1 0x00
00000c26: PUSH1 0x06
00000c28: DUP5
00000c29: DUP2
00000c2a: SLOAD
00000c2b: DUP2
00000c2c: LT
00000c2d: PUSH2 0x0c38
00000c30: JUMPI
00000c31: PUSH2 0x0c38
00000c34: PUSH2 0x2358
00000c37: JUMP
00000c38: JUMPDEST
00000c39: PUSH1 0x00
00000c3b: SWAP2
00000c3c: DUP3
00000c3d: MSTORE
00000c3e: PUSH1 0x20
00000c40: DUP1
00000c41: DUP4
00000c42: KECCAK256
00000c43: SWAP1
00000c44: SWAP2
00000c45: ADD
00000c46: SLOAD
00000c47: PUSH1 0x01
00000c49: PUSH1 0x01
00000c4b: PUSH1 0xa0
00000c4d: SHL
00000c4e: SUB
00000c4f: AND
00000c50: DUP4
00000c51: MSTORE
00000c52: DUP3
00000c53: ADD
00000c54: SWAP3
00000c55: SWAP1
00000c56: SWAP3
00000c57: MSTORE
00000c58: PUSH1 0x40
00000c5a: ADD
00000c5b: SWAP1
00000c5c: KECCAK256
00000c5d: SSTORE
00000c5e: DUP1
00000c5f: PUSH2 0x0c67
00000c62: DUP2
00000c63: PUSH2 0x236e
00000c66: JUMP
00000c67: JUMPDEST
00000c68: SWAP2
00000c69: POP
00000c6a: POP
00000c6b: PUSH2 0x0c15
00000c6e: JUMP
00000c6f: JUMPDEST
00000c70: POP
00000c71: PUSH2 0x0c7c
00000c74: PUSH1 0x06
00000c76: DUP4
00000c77: DUP4
00000c78: PUSH2 0x1cfe
00000c7b: JUMP
00000c7c: JUMPDEST
00000c7d: POP
00000c7e: PUSH1 0x00
00000c80: JUMPDEST
00000c81: DUP2
00000c82: DUP2
00000c83: LT
00000c84: ISZERO
00000c85: PUSH2 0x0756
00000c88: JUMPI
00000c89: PUSH1 0x01
00000c8b: PUSH1 0x03
00000c8d: PUSH1 0x00
00000c8f: DUP6
00000c90: DUP6
00000c91: DUP6
00000c92: DUP2
00000c93: DUP2
00000c94: LT
00000c95: PUSH2 0x0ca0
00000c98: JUMPI
00000c99: PUSH2 0x0ca0
00000c9c: PUSH2 0x2358
00000c9f: JUMP
00000ca0: JUMPDEST
00000ca1: SWAP1
00000ca2: POP
00000ca3: PUSH1 0x20
00000ca5: MUL
00000ca6: ADD
00000ca7: PUSH1 0x20
00000ca9: DUP2
00000caa: ADD
00000cab: SWAP1
00000cac: PUSH2 0x0cb5
00000caf: SWAP2
00000cb0: SWAP1
00000cb1: PUSH2 0x1e67
00000cb4: JUMP
00000cb5: JUMPDEST
00000cb6: PUSH1 0x01
00000cb8: PUSH1 0x01
00000cba: PUSH1 0xa0
00000cbc: SHL
00000cbd: SUB
00000cbe: AND
00000cbf: DUP2
00000cc0: MSTORE
00000cc1: PUSH1 0x20
00000cc3: DUP2
00000cc4: ADD
00000cc5: SWAP2
00000cc6: SWAP1
00000cc7: SWAP2
00000cc8: MSTORE
00000cc9: PUSH1 0x40
00000ccb: ADD
00000ccc: PUSH1 0x00
00000cce: KECCAK256
00000ccf: SSTORE
00000cd0: DUP1
00000cd1: PUSH2 0x0cd9
00000cd4: DUP2
00000cd5: PUSH2 0x236e
00000cd8: JUMP
00000cd9: JUMPDEST
00000cda: SWAP2
00000cdb: POP
00000cdc: POP
00000cdd: PUSH2 0x0c80
00000ce0: JUMP
00000ce1: JUMPDEST
00000ce2: PUSH1 0x00
00000ce4: SLOAD
00000ce5: PUSH1 0x01
00000ce7: PUSH1 0x01
00000ce9: PUSH1 0xa0
00000ceb: SHL
00000cec: SUB
00000ced: AND
00000cee: CALLER
00000cef: EQ
00000cf0: PUSH2 0x0d0b
00000cf3: JUMPI
00000cf4: PUSH1 0x40
00000cf6: MLOAD
00000cf7: PUSH3 0x461bcd
00000cfb: PUSH1 0xe5
00000cfd: SHL
00000cfe: DUP2
00000cff: MSTORE
00000d00: PUSH1 0x04
00000d02: ADD
00000d03: PUSH2 0x067e
00000d06: SWAP1
00000d07: PUSH2 0x2330
00000d0a: JUMP
00000d0b: JUMPDEST
00000d0c: PUSH1 0x0a
00000d0e: SLOAD
00000d0f: PUSH1 0x40
00000d11: MLOAD
00000d12: PUSH4 0x5b52ebef
00000d17: PUSH1 0xe1
00000d19: SHL
00000d1a: DUP2
00000d1b: MSTORE
00000d1c: PUSH1 0x01
00000d1e: PUSH1 0x01
00000d20: PUSH1 0xa0
00000d22: SHL
00000d23: SUB
00000d24: SWAP1
00000d25: SWAP2
00000d26: AND
00000d27: SWAP1
00000d28: PUSH4 0xb6a5d7de
00000d2d: SWAP1
00000d2e: PUSH2 0x0d3b
00000d31: SWAP1
00000d32: DUP5
00000d33: SWAP1
00000d34: PUSH1 0x04
00000d36: ADD
00000d37: PUSH2 0x1fa2
00000d3a: JUMP
00000d3b: JUMPDEST
00000d3c: PUSH1 0x00
00000d3e: PUSH1 0x40
00000d40: MLOAD
00000d41: DUP1
00000d42: DUP4
00000d43: SUB
00000d44: DUP2
00000d45: PUSH1 0x00
00000d47: DUP8
00000d48: DUP1
00000d49: EXTCODESIZE
00000d4a: ISZERO
00000d4b: DUP1
00000d4c: ISZERO
00000d4d: PUSH2 0x0d55
00000d50: JUMPI
00000d51: PUSH1 0x00
00000d53: DUP1
00000d54: REVERT
00000d55: JUMPDEST
00000d56: POP
00000d57: GAS
00000d58: CALL
00000d59: ISZERO
00000d5a: DUP1
00000d5b: ISZERO
00000d5c: PUSH2 0x0d69
00000d5f: JUMPI
00000d60: RETURNDATASIZE
00000d61: PUSH1 0x00
00000d63: DUP1
00000d64: RETURNDATACOPY
00000d65: RETURNDATASIZE
00000d66: PUSH1 0x00
00000d68: REVERT
00000d69: JUMPDEST
00000d6a: POP
00000d6b: POP
00000d6c: POP
00000d6d: POP
00000d6e: POP
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: PUSH1 0x00
00000d73: SLOAD
00000d74: PUSH1 0x60
00000d76: SWAP1
00000d77: PUSH1 0x01
00000d79: PUSH1 0x01
00000d7b: PUSH1 0xa0
00000d7d: SHL
00000d7e: SUB
00000d7f: AND
00000d80: CALLER
00000d81: EQ
00000d82: PUSH2 0x0d9d
00000d85: JUMPI
00000d86: PUSH1 0x40
00000d88: MLOAD
00000d89: PUSH3 0x461bcd
00000d8d: PUSH1 0xe5
00000d8f: SHL
00000d90: DUP2
00000d91: MSTORE
00000d92: PUSH1 0x04
00000d94: ADD
00000d95: PUSH2 0x067e
00000d98: SWAP1
00000d99: PUSH2 0x2330
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH1 0x06
00000da0: DUP1
00000da1: SLOAD
00000da2: DUP1
00000da3: PUSH1 0x20
00000da5: MUL
00000da6: PUSH1 0x20
00000da8: ADD
00000da9: PUSH1 0x40
00000dab: MLOAD
00000dac: SWAP1
00000dad: DUP2
00000dae: ADD
00000daf: PUSH1 0x40
00000db1: MSTORE
00000db2: DUP1
00000db3: SWAP3
00000db4: SWAP2
00000db5: SWAP1
00000db6: DUP2
00000db7: DUP2
00000db8: MSTORE
00000db9: PUSH1 0x20
00000dbb: ADD
00000dbc: DUP3
00000dbd: DUP1
00000dbe: SLOAD
00000dbf: DUP1
00000dc0: ISZERO
00000dc1: PUSH2 0x07de
00000dc4: JUMPI
00000dc5: PUSH1 0x20
00000dc7: MUL
00000dc8: DUP3
00000dc9: ADD
00000dca: SWAP2
00000dcb: SWAP1
00000dcc: PUSH1 0x00
00000dce: MSTORE
00000dcf: PUSH1 0x20
00000dd1: PUSH1 0x00
00000dd3: KECCAK256
00000dd4: SWAP1
00000dd5: DUP2
00000dd6: SLOAD
00000dd7: PUSH1 0x01
00000dd9: PUSH1 0x01
00000ddb: PUSH1 0xa0
00000ddd: SHL
00000dde: SUB
00000ddf: AND
00000de0: DUP2
00000de1: MSTORE
00000de2: PUSH1 0x01
00000de4: SWAP1
00000de5: SWAP2
00000de6: ADD
00000de7: SWAP1
00000de8: PUSH1 0x20
00000dea: ADD
00000deb: DUP1
00000dec: DUP4
00000ded: GT
00000dee: PUSH2 0x07c0
00000df1: JUMPI
00000df2: POP
00000df3: POP
00000df4: POP
00000df5: POP
00000df6: POP
00000df7: SWAP1
00000df8: POP
00000df9: SWAP1
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: PUSH1 0x00
00000dfe: SLOAD
00000dff: PUSH1 0x01
00000e01: PUSH1 0x01
00000e03: PUSH1 0xa0
00000e05: SHL
00000e06: SUB
00000e07: AND
00000e08: CALLER
00000e09: EQ
00000e0a: PUSH2 0x0e25
00000e0d: JUMPI
00000e0e: PUSH1 0x40
00000e10: MLOAD
00000e11: PUSH3 0x461bcd
00000e15: PUSH1 0xe5
00000e17: SHL
00000e18: DUP2
00000e19: MSTORE
00000e1a: PUSH1 0x04
00000e1c: ADD
00000e1d: PUSH2 0x067e
00000e20: SWAP1
00000e21: PUSH2 0x2330
00000e24: JUMP
00000e25: JUMPDEST
00000e26: PUSH1 0x0a
00000e28: PUSH1 0x00
00000e2a: SWAP1
00000e2b: SLOAD
00000e2c: SWAP1
00000e2d: PUSH2 0x0100
00000e30: EXP
00000e31: SWAP1
00000e32: DIV
00000e33: PUSH1 0x01
00000e35: PUSH1 0x01
00000e37: PUSH1 0xa0
00000e39: SHL
00000e3a: SUB
00000e3b: AND
00000e3c: PUSH1 0x01
00000e3e: PUSH1 0x01
00000e40: PUSH1 0xa0
00000e42: SHL
00000e43: SUB
00000e44: AND
00000e45: PUSH4 0xb6549f75
00000e4a: PUSH1 0x40
00000e4c: MLOAD
00000e4d: DUP2
00000e4e: PUSH4 0xffffffff
00000e53: AND
00000e54: PUSH1 0xe0
00000e56: SHL
00000e57: DUP2
00000e58: MSTORE
00000e59: PUSH1 0x04
00000e5b: ADD
00000e5c: PUSH1 0x00
00000e5e: PUSH1 0x40
00000e60: MLOAD
00000e61: DUP1
00000e62: DUP4
00000e63: SUB
00000e64: DUP2
00000e65: PUSH1 0x00
00000e67: DUP8
00000e68: DUP1
00000e69: EXTCODESIZE
00000e6a: ISZERO
00000e6b: DUP1
00000e6c: ISZERO
00000e6d: PUSH2 0x0e75
00000e70: JUMPI
00000e71: PUSH1 0x00
00000e73: DUP1
00000e74: REVERT
00000e75: JUMPDEST
00000e76: POP
00000e77: GAS
00000e78: CALL
00000e79: ISZERO
00000e7a: DUP1
00000e7b: ISZERO
00000e7c: PUSH2 0x0e89
00000e7f: JUMPI
00000e80: RETURNDATASIZE
00000e81: PUSH1 0x00
00000e83: DUP1
00000e84: RETURNDATACOPY
00000e85: RETURNDATASIZE
00000e86: PUSH1 0x00
00000e88: REVERT
00000e89: JUMPDEST
00000e8a: POP
00000e8b: POP
00000e8c: POP
00000e8d: POP
00000e8e: JUMP
00000e8f: JUMPDEST
00000e90: PUSH1 0x00
00000e92: SLOAD
00000e93: PUSH1 0x01
00000e95: PUSH1 0x01
00000e97: PUSH1 0xa0
00000e99: SHL
00000e9a: SUB
00000e9b: AND
00000e9c: CALLER
00000e9d: EQ
00000e9e: PUSH2 0x0eb9
00000ea1: JUMPI
00000ea2: PUSH1 0x40
00000ea4: MLOAD
00000ea5: PUSH3 0x461bcd
00000ea9: PUSH1 0xe5
00000eab: SHL
00000eac: DUP2
00000ead: MSTORE
00000eae: PUSH1 0x04
00000eb0: ADD
00000eb1: PUSH2 0x067e
00000eb4: SWAP1
00000eb5: PUSH2 0x2330
00000eb8: JUMP
00000eb9: JUMPDEST
00000eba: PUSH1 0x0a
00000ebc: DUP1
00000ebd: SLOAD
00000ebe: PUSH1 0xff
00000ec0: PUSH1 0xa0
00000ec2: SHL
00000ec3: NOT
00000ec4: AND
00000ec5: PUSH1 0x01
00000ec7: PUSH1 0xa0
00000ec9: SHL
00000eca: OR
00000ecb: SWAP1
00000ecc: SSTORE
00000ecd: PUSH1 0x01
00000ecf: SLOAD
00000ed0: PUSH1 0x40
00000ed2: MLOAD
00000ed3: PUSH4 0x2e1a7d4d
00000ed8: PUSH1 0xe0
00000eda: SHL
00000edb: DUP2
00000edc: MSTORE
00000edd: PUSH1 0x04
00000edf: DUP2
00000ee0: ADD
00000ee1: DUP5
00000ee2: SWAP1
00000ee3: MSTORE
00000ee4: PUSH1 0x01
00000ee6: PUSH1 0x01
00000ee8: PUSH1 0xa0
00000eea: SHL
00000eeb: SUB
00000eec: SWAP1
00000eed: SWAP2
00000eee: AND
00000eef: SWAP1
00000ef0: PUSH4 0x2e1a7d4d
00000ef5: SWAP1
00000ef6: PUSH1 0x24
00000ef8: ADD
00000ef9: JUMPDEST
00000efa: PUSH1 0x00
00000efc: PUSH1 0x40
00000efe: MLOAD
00000eff: DUP1
00000f00: DUP4
00000f01: SUB
00000f02: DUP2
00000f03: PUSH1 0x00
00000f05: DUP8
00000f06: DUP1
00000f07: EXTCODESIZE
00000f08: ISZERO
00000f09: DUP1
00000f0a: ISZERO
00000f0b: PUSH2 0x0f13
00000f0e: JUMPI
00000f0f: PUSH1 0x00
00000f11: DUP1
00000f12: REVERT
00000f13: JUMPDEST
00000f14: POP
00000f15: GAS
00000f16: CALL
00000f17: ISZERO
00000f18: DUP1
00000f19: ISZERO
00000f1a: PUSH2 0x0f27
00000f1d: JUMPI
00000f1e: RETURNDATASIZE
00000f1f: PUSH1 0x00
00000f21: DUP1
00000f22: RETURNDATACOPY
00000f23: RETURNDATASIZE
00000f24: PUSH1 0x00
00000f26: REVERT
00000f27: JUMPDEST
00000f28: POP
00000f29: POP
00000f2a: POP
00000f2b: POP
00000f2c: PUSH2 0x0f35
00000f2f: DUP2
00000f30: DUP4
00000f31: PUSH2 0x17ba
00000f34: JUMP
00000f35: JUMPDEST
00000f36: POP
00000f37: POP
00000f38: PUSH1 0x0a
00000f3a: DUP1
00000f3b: SLOAD
00000f3c: PUSH1 0xff
00000f3e: PUSH1 0xa0
00000f40: SHL
00000f41: NOT
00000f42: AND
00000f43: SWAP1
00000f44: SSTORE
00000f45: JUMP
00000f46: JUMPDEST
00000f47: PUSH1 0x00
00000f49: SLOAD
00000f4a: PUSH1 0x01
00000f4c: PUSH1 0x01
00000f4e: PUSH1 0xa0
00000f50: SHL
00000f51: SUB
00000f52: AND
00000f53: CALLER
00000f54: EQ
00000f55: PUSH2 0x0f70
00000f58: JUMPI
00000f59: PUSH1 0x40
00000f5b: MLOAD
00000f5c: PUSH3 0x461bcd
00000f60: PUSH1 0xe5
00000f62: SHL
00000f63: DUP2
00000f64: MSTORE
00000f65: PUSH1 0x04
00000f67: ADD
00000f68: PUSH2 0x067e
00000f6b: SWAP1
00000f6c: PUSH2 0x2330
00000f6f: JUMP
00000f70: JUMPDEST
00000f71: DUP2
00000f72: MLOAD
00000f73: DUP4
00000f74: MLOAD
00000f75: EQ
00000f76: PUSH2 0x0f91
00000f79: JUMPI
00000f7a: PUSH1 0x40
00000f7c: MLOAD
00000f7d: PUSH3 0x461bcd
00000f81: PUSH1 0xe5
00000f83: SHL
00000f84: DUP2
00000f85: MSTORE
00000f86: PUSH1 0x04
00000f88: ADD
00000f89: PUSH2 0x067e
00000f8c: SWAP1
00000f8d: PUSH2 0x24e6
00000f90: JUMP
00000f91: JUMPDEST
00000f92: PUSH1 0x00
00000f94: JUMPDEST
00000f95: DUP4
00000f96: MLOAD
00000f97: DUP2
00000f98: LT
00000f99: ISZERO
00000f9a: PUSH2 0x0e89
00000f9d: JUMPI
00000f9e: PUSH2 0x0fda
00000fa1: DUP3
00000fa2: DUP6
00000fa3: DUP4
00000fa4: DUP2
00000fa5: MLOAD
00000fa6: DUP2
00000fa7: LT
00000fa8: PUSH2 0x0fb3
00000fab: JUMPI
00000fac: PUSH2 0x0fb3
00000faf: PUSH2 0x2358
00000fb2: JUMP
00000fb3: JUMPDEST
00000fb4: PUSH1 0x20
00000fb6: MUL
00000fb7: PUSH1 0x20
00000fb9: ADD
00000fba: ADD
00000fbb: MLOAD
00000fbc: DUP6
00000fbd: DUP5
00000fbe: DUP2
00000fbf: MLOAD
00000fc0: DUP2
00000fc1: LT
00000fc2: PUSH2 0x0fcd
00000fc5: JUMPI
00000fc6: PUSH2 0x0fcd
00000fc9: PUSH2 0x2358
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: PUSH1 0x20
00000fd0: MUL
00000fd1: PUSH1 0x20
00000fd3: ADD
00000fd4: ADD
00000fd5: MLOAD
00000fd6: PUSH2 0x1814
00000fd9: JUMP
00000fda: JUMPDEST
00000fdb: DUP1
00000fdc: PUSH2 0x0fe4
00000fdf: DUP2
00000fe0: PUSH2 0x236e
00000fe3: JUMP
00000fe4: JUMPDEST
00000fe5: SWAP2
00000fe6: POP
00000fe7: POP
00000fe8: PUSH2 0x0f94
00000feb: JUMP
00000fec: JUMPDEST
00000fed: CALLER
00000fee: PUSH1 0x00
00000ff0: SWAP1
00000ff1: DUP2
00000ff2: MSTORE
00000ff3: PUSH1 0x02
00000ff5: PUSH1 0x20
00000ff7: MSTORE
00000ff8: PUSH1 0x40
00000ffa: SWAP1
00000ffb: KECCAK256
00000ffc: SLOAD
00000ffd: PUSH1 0x01
00000fff: EQ
00001000: PUSH2 0x101b
00001003: JUMPI
00001004: PUSH1 0x40
00001006: MLOAD
00001007: PUSH3 0x461bcd
0000100b: PUSH1 0xe5
0000100d: SHL
0000100e: DUP2
0000100f: MSTORE
00001010: PUSH1 0x04
00001012: ADD
00001013: PUSH2 0x067e
00001016: SWAP1
00001017: PUSH2 0x2395
0000101a: JUMP
0000101b: JUMPDEST
0000101c: PUSH2 0x092a
0000101f: DUP3
00001020: DUP3
00001021: PUSH2 0x18fb
00001024: JUMP
00001025: JUMPDEST
00001026: PUSH1 0x08
00001028: SLOAD
00001029: PUSH1 0x01
0000102b: PUSH1 0x01
0000102d: PUSH1 0xa0
0000102f: SHL
00001030: SUB
00001031: AND
00001032: CALLER
00001033: EQ
00001034: PUSH2 0x1050
00001037: JUMPI
00001038: PUSH1 0x40
0000103a: MLOAD
0000103b: PUSH4 0x0126c14d
00001040: PUSH1 0xe6
00001042: SHL
00001043: DUP2
00001044: MSTORE
00001045: PUSH1 0x04
00001047: ADD
00001048: PUSH1 0x40
0000104a: MLOAD
0000104b: DUP1
0000104c: SWAP2
0000104d: SUB
0000104e: SWAP1
0000104f: REVERT
00001050: JUMPDEST
00001051: PUSH1 0x01
00001053: PUSH1 0x01
00001055: PUSH1 0xa0
00001057: SHL
00001058: SUB
00001059: DUP7
0000105a: AND
0000105b: ADDRESS
0000105c: EQ
0000105d: PUSH2 0x1079
00001060: JUMPI
00001061: PUSH1 0x40
00001063: MLOAD
00001064: PUSH4 0x5211a079
00001069: PUSH1 0xe0
0000106b: SHL
0000106c: DUP2
0000106d: MSTORE
0000106e: PUSH1 0x04
00001070: ADD
00001071: PUSH1 0x40
00001073: MLOAD
00001074: DUP1
00001075: SWAP2
00001076: SUB
00001077: SWAP1
00001078: REVERT
00001079: JUMPDEST
0000107a: ORIGIN
0000107b: PUSH1 0x00
0000107d: SWAP1
0000107e: DUP2
0000107f: MSTORE
00001080: PUSH1 0x02
00001082: PUSH1 0x20
00001084: MSTORE
00001085: PUSH1 0x40
00001087: SWAP1
00001088: KECCAK256
00001089: SLOAD
0000108a: PUSH1 0x01
0000108c: EQ
0000108d: PUSH2 0x10cf
00001090: JUMPI
00001091: PUSH1 0x40
00001093: MLOAD
00001094: PUSH3 0x461bcd
00001098: PUSH1 0xe5
0000109a: SHL
0000109b: DUP2
0000109c: MSTORE
0000109d: PUSH1 0x20
0000109f: PUSH1 0x04
000010a1: DUP3
000010a2: ADD
000010a3: MSTORE
000010a4: PUSH1 0x14
000010a6: PUSH1 0x24
000010a8: DUP3
000010a9: ADD
000010aa: MSTORE
000010ab: PUSH20 0x74782e6f726967696e206973206e6f74204f5443
000010c0: PUSH1 0x60
000010c2: SHL
000010c3: PUSH1 0x44
000010c5: DUP3
000010c6: ADD
000010c7: MSTORE
000010c8: PUSH1 0x64
000010ca: ADD
000010cb: PUSH2 0x067e
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH1 0x00
000010d2: DUP1
000010d3: PUSH2 0x10de
000010d6: DUP4
000010d7: DUP6
000010d8: ADD
000010d9: DUP6
000010da: PUSH2 0x25f7
000010dd: JUMP
000010de: JUMPDEST
000010df: SWAP2
000010e0: POP
000010e1: SWAP2
000010e2: POP
000010e3: PUSH1 0x00
000010e5: JUMPDEST
000010e6: DUP3
000010e7: MLOAD
000010e8: DUP2
000010e9: LT
000010ea: ISZERO
000010eb: PUSH2 0x11c6
000010ee: JUMPI
000010ef: PUSH1 0x00
000010f1: DUP1
000010f2: PUSH2 0x111a
000010f5: DUP6
000010f6: DUP5
000010f7: DUP2
000010f8: MLOAD
000010f9: DUP2
000010fa: LT
000010fb: PUSH2 0x1106
000010fe: JUMPI
000010ff: PUSH2 0x1106
00001102: PUSH2 0x2358
00001105: JUMP
00001106: JUMPDEST
00001107: PUSH1 0x20
00001109: MUL
0000110a: PUSH1 0x20
0000110c: ADD
0000110d: ADD
0000110e: MLOAD
0000110f: PUSH1 0x01
00001111: PUSH1 0x01
00001113: PUSH1 0xa0
00001115: SHL
00001116: SUB
00001117: AND
00001118: SWAP1
00001119: JUMP
0000111a: JUMPDEST
0000111b: PUSH1 0x01
0000111d: PUSH1 0x01
0000111f: PUSH1 0xa0
00001121: SHL
00001122: SUB
00001123: AND
00001124: DUP5
00001125: DUP5
00001126: DUP2
00001127: MLOAD
00001128: DUP2
00001129: LT
0000112a: PUSH2 0x1135
0000112d: JUMPI
0000112e: PUSH2 0x1135
00001131: PUSH2 0x2358
00001134: JUMP
00001135: JUMPDEST
00001136: PUSH1 0x20
00001138: MUL
00001139: PUSH1 0x20
0000113b: ADD
0000113c: ADD
0000113d: MLOAD
0000113e: PUSH1 0x40
00001140: MLOAD
00001141: PUSH2 0x114a
00001144: SWAP2
00001145: SWAP1
00001146: PUSH2 0x26d3
00001149: JUMP
0000114a: JUMPDEST
0000114b: PUSH1 0x00
0000114d: PUSH1 0x40
0000114f: MLOAD
00001150: DUP1
00001151: DUP4
00001152: SUB
00001153: DUP2
00001154: PUSH1 0x00
00001156: DUP7
00001157: GAS
00001158: CALL
00001159: SWAP2
0000115a: POP
0000115b: POP
0000115c: RETURNDATASIZE
0000115d: DUP1
0000115e: PUSH1 0x00
00001160: DUP2
00001161: EQ
00001162: PUSH2 0x1187
00001165: JUMPI
00001166: PUSH1 0x40
00001168: MLOAD
00001169: SWAP2
0000116a: POP
0000116b: PUSH1 0x1f
0000116d: NOT
0000116e: PUSH1 0x3f
00001170: RETURNDATASIZE
00001171: ADD
00001172: AND
00001173: DUP3
00001174: ADD
00001175: PUSH1 0x40
00001177: MSTORE
00001178: RETURNDATASIZE
00001179: DUP3
0000117a: MSTORE
0000117b: RETURNDATASIZE
0000117c: PUSH1 0x00
0000117e: PUSH1 0x20
00001180: DUP5
00001181: ADD
00001182: RETURNDATACOPY
00001183: PUSH2 0x118c
00001186: JUMP
00001187: JUMPDEST
00001188: PUSH1 0x60
0000118a: SWAP2
0000118b: POP
0000118c: JUMPDEST
0000118d: POP
0000118e: SWAP2
0000118f: POP
00001190: SWAP2
00001191: POP
00001192: DUP2
00001193: PUSH2 0x11b3
00001196: JUMPI
00001197: DUP3
00001198: DUP2
00001199: PUSH1 0x40
0000119b: MLOAD
0000119c: PUSH4 0x07d6414d
000011a1: PUSH1 0xe5
000011a3: SHL
000011a4: DUP2
000011a5: MSTORE
000011a6: PUSH1 0x04
000011a8: ADD
000011a9: PUSH2 0x067e
000011ac: SWAP3
000011ad: SWAP2
000011ae: SWAP1
000011af: PUSH2 0x26ef
000011b2: JUMP
000011b3: JUMPDEST
000011b4: POP
000011b5: POP
000011b6: DUP1
000011b7: PUSH2 0x11bf
000011ba: SWAP1
000011bb: PUSH2 0x236e
000011be: JUMP
000011bf: JUMPDEST
000011c0: SWAP1
000011c1: POP
000011c2: PUSH2 0x10e5
000011c5: JUMP
000011c6: JUMPDEST
000011c7: POP
000011c8: POP
000011c9: POP
000011ca: POP
000011cb: POP
000011cc: POP
000011cd: POP
000011ce: POP
000011cf: POP
000011d0: POP
000011d1: POP
000011d2: POP
000011d3: POP
000011d4: JUMP
000011d5: JUMPDEST
000011d6: CALLER
000011d7: PUSH1 0x00
000011d9: SWAP1
000011da: DUP2
000011db: MSTORE
000011dc: PUSH1 0x03
000011de: PUSH1 0x20
000011e0: MSTORE
000011e1: PUSH1 0x40
000011e3: SWAP1
000011e4: KECCAK256
000011e5: SLOAD
000011e6: PUSH1 0x01
000011e8: EQ
000011e9: PUSH2 0x1204
000011ec: JUMPI
000011ed: PUSH1 0x40
000011ef: MLOAD
000011f0: PUSH3 0x461bcd
000011f4: PUSH1 0xe5
000011f6: SHL
000011f7: DUP2
000011f8: MSTORE
000011f9: PUSH1 0x04
000011fb: ADD
000011fc: PUSH2 0x067e
000011ff: SWAP1
00001200: PUSH2 0x2729
00001203: JUMP
00001204: JUMPDEST
00001205: DUP2
00001206: MLOAD
00001207: DUP4
00001208: MLOAD
00001209: EQ
0000120a: PUSH2 0x1225
0000120d: JUMPI
0000120e: PUSH1 0x40
00001210: MLOAD
00001211: PUSH3 0x461bcd
00001215: PUSH1 0xe5
00001217: SHL
00001218: DUP2
00001219: MSTORE
0000121a: PUSH1 0x04
0000121c: ADD
0000121d: PUSH2 0x067e
00001220: SWAP1
00001221: PUSH2 0x24e6
00001224: JUMP
00001225: JUMPDEST
00001226: PUSH1 0x01
00001228: PUSH1 0x01
0000122a: PUSH1 0xa0
0000122c: SHL
0000122d: SUB
0000122e: DUP2
0000122f: AND
00001230: PUSH1 0x00
00001232: SWAP1
00001233: DUP2
00001234: MSTORE
00001235: PUSH1 0x04
00001237: PUSH1 0x20
00001239: MSTORE
0000123a: PUSH1 0x40
0000123c: SWAP1
0000123d: KECCAK256
0000123e: SLOAD
0000123f: PUSH1 0x01
00001241: SWAP1
00001242: DUP2
00001243: EQ
00001244: EQ
00001245: PUSH2 0x1260
00001248: JUMPI
00001249: PUSH1 0x40
0000124b: MLOAD
0000124c: PUSH3 0x461bcd
00001250: PUSH1 0xe5
00001252: SHL
00001253: DUP2
00001254: MSTORE
00001255: PUSH1 0x04
00001257: ADD
00001258: PUSH2 0x067e
0000125b: SWAP1
0000125c: PUSH2 0x2753
0000125f: JUMP
00001260: JUMPDEST
00001261: PUSH1 0x00
00001263: JUMPDEST
00001264: DUP4
00001265: MLOAD
00001266: DUP2
00001267: LT
00001268: ISZERO
00001269: PUSH2 0x0e89
0000126c: JUMPI
0000126d: PUSH2 0x1282
00001270: DUP3
00001271: DUP6
00001272: DUP4
00001273: DUP2
00001274: MLOAD
00001275: DUP2
00001276: LT
00001277: PUSH2 0x0fb3
0000127a: JUMPI
0000127b: PUSH2 0x0fb3
0000127e: PUSH2 0x2358
00001281: JUMP
00001282: JUMPDEST
00001283: DUP1
00001284: PUSH2 0x128c
00001287: DUP2
00001288: PUSH2 0x236e
0000128b: JUMP
0000128c: JUMPDEST
0000128d: SWAP2
0000128e: POP
0000128f: POP
00001290: PUSH2 0x1263
00001293: JUMP
00001294: JUMPDEST
00001295: CALLER
00001296: PUSH1 0x00
00001298: SWAP1
00001299: DUP2
0000129a: MSTORE
0000129b: PUSH1 0x03
0000129d: PUSH1 0x20
0000129f: MSTORE
000012a0: PUSH1 0x40
000012a2: SWAP1
000012a3: KECCAK256
000012a4: SLOAD
000012a5: PUSH1 0x01
000012a7: EQ
000012a8: PUSH2 0x12c3
000012ab: JUMPI
000012ac: PUSH1 0x40
000012ae: MLOAD
000012af: PUSH3 0x461bcd
000012b3: PUSH1 0xe5
000012b5: SHL
000012b6: DUP2
000012b7: MSTORE
000012b8: PUSH1 0x04
000012ba: ADD
000012bb: PUSH2 0x067e
000012be: SWAP1
000012bf: PUSH2 0x2729
000012c2: JUMP
000012c3: JUMPDEST
000012c4: PUSH1 0x0a
000012c6: DUP1
000012c7: SLOAD
000012c8: PUSH1 0xff
000012ca: PUSH1 0xa0
000012cc: SHL
000012cd: NOT
000012ce: AND
000012cf: PUSH1 0x01
000012d1: PUSH1 0xa0
000012d3: SHL
000012d4: OR
000012d5: SWAP1
000012d6: SSTORE
000012d7: PUSH2 0x12f8
000012da: DUP2
000012db: PUSH1 0x01
000012dd: PUSH1 0x01
000012df: PUSH1 0xa0
000012e1: SHL
000012e2: SUB
000012e3: AND
000012e4: PUSH1 0x00
000012e6: SWAP1
000012e7: DUP2
000012e8: MSTORE
000012e9: PUSH1 0x04
000012eb: PUSH1 0x20
000012ed: MSTORE
000012ee: PUSH1 0x40
000012f0: SWAP1
000012f1: KECCAK256
000012f2: SLOAD
000012f3: PUSH1 0x01
000012f5: EQ
000012f6: SWAP1
000012f7: JUMP
000012f8: JUMPDEST
000012f9: ISZERO
000012fa: ISZERO
000012fb: PUSH1 0x01
000012fd: EQ
000012fe: PUSH2 0x1319
00001301: JUMPI
00001302: PUSH1 0x40
00001304: MLOAD
00001305: PUSH3 0x461bcd
00001309: PUSH1 0xe5
0000130b: SHL
0000130c: DUP2
0000130d: MSTORE
0000130e: PUSH1 0x04
00001310: ADD
00001311: PUSH2 0x067e
00001314: SWAP1
00001315: PUSH2 0x2753
00001318: JUMP
00001319: JUMPDEST
0000131a: PUSH1 0x01
0000131c: SLOAD
0000131d: PUSH1 0x40
0000131f: MLOAD
00001320: PUSH4 0x2e1a7d4d
00001325: PUSH1 0xe0
00001327: SHL
00001328: DUP2
00001329: MSTORE
0000132a: PUSH1 0x04
0000132c: DUP2
0000132d: ADD
0000132e: DUP5
0000132f: SWAP1
00001330: MSTORE
00001331: PUSH1 0x01
00001333: PUSH1 0x01
00001335: PUSH1 0xa0
00001337: SHL
00001338: SUB
00001339: SWAP1
0000133a: SWAP2
0000133b: AND
0000133c: SWAP1
0000133d: PUSH4 0x2e1a7d4d
00001342: SWAP1
00001343: PUSH1 0x24
00001345: ADD
00001346: PUSH2 0x0ef9
00001349: JUMP
0000134a: JUMPDEST
0000134b: CALLER
0000134c: PUSH1 0x00
0000134e: SWAP1
0000134f: DUP2
00001350: MSTORE
00001351: PUSH1 0x02
00001353: PUSH1 0x20
00001355: MSTORE
00001356: PUSH1 0x40
00001358: SWAP1
00001359: KECCAK256
0000135a: SLOAD
0000135b: PUSH1 0x01
0000135d: EQ
0000135e: PUSH2 0x1379
00001361: JUMPI
00001362: PUSH1 0x40
00001364: MLOAD
00001365: PUSH3 0x461bcd
00001369: PUSH1 0xe5
0000136b: SHL
0000136c: DUP2
0000136d: MSTORE
0000136e: PUSH1 0x04
00001370: ADD
00001371: PUSH2 0x067e
00001374: SWAP1
00001375: PUSH2 0x2395
00001378: JUMP
00001379: JUMPDEST
0000137a: PUSH1 0x09
0000137c: SLOAD
0000137d: PUSH1 0x40
0000137f: MLOAD
00001380: PUSH4 0x1fb10c97
00001385: PUSH1 0xe1
00001387: SHL
00001388: DUP2
00001389: MSTORE
0000138a: PUSH1 0x01
0000138c: PUSH1 0x01
0000138e: PUSH1 0xa0
00001390: SHL
00001391: SUB
00001392: SWAP1
00001393: SWAP2
00001394: AND
00001395: SWAP1
00001396: PUSH4 0x3f62192e
0000139b: SWAP1
0000139c: PUSH2 0x0d3b
0000139f: SWAP1
000013a0: DUP5
000013a1: SWAP1
000013a2: PUSH1 0x04
000013a4: ADD
000013a5: PUSH2 0x2786
000013a8: JUMP
000013a9: JUMPDEST
000013aa: PUSH1 0x00
000013ac: SLOAD
000013ad: PUSH1 0x01
000013af: PUSH1 0x01
000013b1: PUSH1 0xa0
000013b3: SHL
000013b4: SUB
000013b5: AND
000013b6: CALLER
000013b7: EQ
000013b8: PUSH2 0x13d3
000013bb: JUMPI
000013bc: PUSH1 0x40
000013be: MLOAD
000013bf: PUSH3 0x461bcd
000013c3: PUSH1 0xe5
000013c5: SHL
000013c6: DUP2
000013c7: MSTORE
000013c8: PUSH1 0x04
000013ca: ADD
000013cb: PUSH2 0x067e
000013ce: SWAP1
000013cf: PUSH2 0x2330
000013d2: JUMP
000013d3: JUMPDEST
000013d4: DUP1
000013d5: MLOAD
000013d6: DUP3
000013d7: MLOAD
000013d8: EQ
000013d9: PUSH2 0x13f4
000013dc: JUMPI
000013dd: PUSH1 0x40
000013df: MLOAD
000013e0: PUSH3 0x461bcd
000013e4: PUSH1 0xe5
000013e6: SHL
000013e7: DUP2
000013e8: MSTORE
000013e9: PUSH1 0x04
000013eb: ADD
000013ec: PUSH2 0x067e
000013ef: SWAP1
000013f0: PUSH2 0x24e6
000013f3: JUMP
000013f4: JUMPDEST
000013f5: PUSH1 0x00
000013f7: JUMPDEST
000013f8: DUP3
000013f9: MLOAD
000013fa: DUP2
000013fb: LT
000013fc: ISZERO
000013fd: PUSH2 0x0e89
00001400: JUMPI
00001401: PUSH2 0x1450
00001404: DUP5
00001405: DUP4
00001406: DUP4
00001407: DUP2
00001408: MLOAD
00001409: DUP2
0000140a: LT
0000140b: PUSH2 0x1416
0000140e: JUMPI
0000140f: PUSH2 0x1416
00001412: PUSH2 0x2358
00001415: JUMP
00001416: JUMPDEST
00001417: PUSH1 0x20
00001419: MUL
0000141a: PUSH1 0x20
0000141c: ADD
0000141d: ADD
0000141e: MLOAD
0000141f: DUP6
00001420: DUP5
00001421: DUP2
00001422: MLOAD
00001423: DUP2
00001424: LT
00001425: PUSH2 0x1430
00001428: JUMPI
00001429: PUSH2 0x1430
0000142c: PUSH2 0x2358
0000142f: JUMP
00001430: JUMPDEST
00001431: PUSH1 0x20
00001433: MUL
00001434: PUSH1 0x20
00001436: ADD
00001437: ADD
00001438: MLOAD
00001439: PUSH1 0x01
0000143b: PUSH1 0x01
0000143d: PUSH1 0xa0
0000143f: SHL
00001440: SUB
00001441: AND
00001442: PUSH2 0x196e
00001445: SWAP1
00001446: SWAP3
00001447: SWAP2
00001448: SWAP1
00001449: PUSH4 0xffffffff
0000144e: AND
0000144f: JUMP
00001450: JUMPDEST
00001451: DUP1
00001452: PUSH2 0x145a
00001455: DUP2
00001456: PUSH2 0x236e
00001459: JUMP
0000145a: JUMPDEST
0000145b: SWAP2
0000145c: POP
0000145d: POP
0000145e: PUSH2 0x13f7
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH1 0x00
00001465: SLOAD
00001466: PUSH1 0x60
00001468: SWAP1
00001469: PUSH1 0x01
0000146b: PUSH1 0x01
0000146d: PUSH1 0xa0
0000146f: SHL
00001470: SUB
00001471: AND
00001472: CALLER
00001473: EQ
00001474: PUSH2 0x148f
00001477: JUMPI
00001478: PUSH1 0x40
0000147a: MLOAD
0000147b: PUSH3 0x461bcd
0000147f: PUSH1 0xe5
00001481: SHL
00001482: DUP2
00001483: MSTORE
00001484: PUSH1 0x04
00001486: ADD
00001487: PUSH2 0x067e
0000148a: SWAP1
0000148b: PUSH2 0x2330
0000148e: JUMP
0000148f: JUMPDEST
00001490: PUSH1 0x07
00001492: DUP1
00001493: SLOAD
00001494: DUP1
00001495: PUSH1 0x20
00001497: MUL
00001498: PUSH1 0x20
0000149a: ADD
0000149b: PUSH1 0x40
0000149d: MLOAD
0000149e: SWAP1
0000149f: DUP2
000014a0: ADD
000014a1: PUSH1 0x40
000014a3: MSTORE
000014a4: DUP1
000014a5: SWAP3
000014a6: SWAP2
000014a7: SWAP1
000014a8: DUP2
000014a9: DUP2
000014aa: MSTORE
000014ab: PUSH1 0x20
000014ad: ADD
000014ae: DUP3
000014af: DUP1
000014b0: SLOAD
000014b1: DUP1
000014b2: ISZERO
000014b3: PUSH2 0x07de
000014b6: JUMPI
000014b7: PUSH1 0x20
000014b9: MUL
000014ba: DUP3
000014bb: ADD
000014bc: SWAP2
000014bd: SWAP1
000014be: PUSH1 0x00
000014c0: MSTORE
000014c1: PUSH1 0x20
000014c3: PUSH1 0x00
000014c5: KECCAK256
000014c6: SWAP1
000014c7: DUP2
000014c8: SLOAD
000014c9: PUSH1 0x01
000014cb: PUSH1 0x01
000014cd: PUSH1 0xa0
000014cf: SHL
000014d0: SUB
000014d1: AND
000014d2: DUP2
000014d3: MSTORE
000014d4: PUSH1 0x01
000014d6: SWAP1
000014d7: SWAP2
000014d8: ADD
000014d9: SWAP1
000014da: PUSH1 0x20
000014dc: ADD
000014dd: DUP1
000014de: DUP4
000014df: GT
000014e0: PUSH2 0x07c0
000014e3: JUMPI
000014e4: POP
000014e5: POP
000014e6: POP
000014e7: POP
000014e8: POP
000014e9: SWAP1
000014ea: POP
000014eb: SWAP1
000014ec: JUMP
000014ed: JUMPDEST
000014ee: PUSH1 0x00
000014f0: SLOAD
000014f1: PUSH1 0x01
000014f3: PUSH1 0x01
000014f5: PUSH1 0xa0
000014f7: SHL
000014f8: SUB
000014f9: AND
000014fa: CALLER
000014fb: EQ
000014fc: PUSH2 0x1517
000014ff: JUMPI
00001500: PUSH1 0x40
00001502: MLOAD
00001503: PUSH3 0x461bcd
00001507: PUSH1 0xe5
00001509: SHL
0000150a: DUP2
0000150b: MSTORE
0000150c: PUSH1 0x04
0000150e: ADD
0000150f: PUSH2 0x067e
00001512: SWAP1
00001513: PUSH2 0x2330
00001516: JUMP
00001517: JUMPDEST
00001518: PUSH1 0x0a
0000151a: DUP1
0000151b: SLOAD
0000151c: PUSH1 0x01
0000151e: PUSH1 0x01
00001520: PUSH1 0xa0
00001522: SHL
00001523: SUB
00001524: NOT
00001525: AND
00001526: PUSH1 0x01
00001528: PUSH1 0x01
0000152a: PUSH1 0xa0
0000152c: SHL
0000152d: SUB
0000152e: SWAP3
0000152f: SWAP1
00001530: SWAP3
00001531: AND
00001532: SWAP2
00001533: SWAP1
00001534: SWAP2
00001535: OR
00001536: SWAP1
00001537: SSTORE
00001538: JUMP
00001539: JUMPDEST
0000153a: PUSH1 0x00
0000153c: DUP1
0000153d: PUSH1 0x00
0000153f: DUP1
00001540: DUP5
00001541: MLOAD
00001542: PUSH1 0x41
00001544: SUB
00001545: PUSH2 0x1561
00001548: JUMPI
00001549: POP
0000154a: POP
0000154b: POP
0000154c: PUSH1 0x01
0000154e: DUP3
0000154f: ADD
00001550: MLOAD
00001551: PUSH1 0x21
00001553: DUP4
00001554: ADD
00001555: MLOAD
00001556: PUSH1 0x41
00001558: DUP5
00001559: ADD
0000155a: MLOAD
0000155b: SWAP1
0000155c: SWAP2
0000155d: PUSH2 0x15d5
00001560: JUMP
00001561: JUMPDEST
00001562: DUP5
00001563: MLOAD
00001564: PUSH1 0x40
00001566: SUB
00001567: PUSH2 0x158d
0000156a: JUMPI
0000156b: POP
0000156c: POP
0000156d: POP
0000156e: PUSH1 0x20
00001570: DUP3
00001571: ADD
00001572: MLOAD
00001573: PUSH1 0x40
00001575: DUP4
00001576: ADD
00001577: MLOAD
00001578: PUSH1 0x01
0000157a: PUSH1 0x01
0000157c: PUSH1 0xff
0000157e: SHL
0000157f: SUB
00001580: DUP2
00001581: AND
00001582: SWAP1
00001583: PUSH1 0xff
00001585: SHR
00001586: PUSH1 0x1b
00001588: ADD
00001589: PUSH2 0x15d5
0000158c: JUMP
0000158d: JUMPDEST
0000158e: PUSH1 0x40
00001590: MLOAD
00001591: PUSH3 0x461bcd
00001595: PUSH1 0xe5
00001597: SHL
00001598: DUP2
00001599: MSTORE
0000159a: PUSH1 0x20
0000159c: PUSH1 0x04
0000159e: DUP3
0000159f: ADD
000015a0: MSTORE
000015a1: PUSH1 0x1d
000015a3: PUSH1 0x24
000015a5: DUP3
000015a6: ADD
000015a7: MSTORE
000015a8: PUSH32 0x4c69713a20696e76616c6964207369676e6174757265206c656e677468000000
000015c9: PUSH1 0x44
000015cb: DUP3
000015cc: ADD
000015cd: MSTORE
000015ce: PUSH1 0x64
000015d0: ADD
000015d1: PUSH2 0x067e
000015d4: JUMP
000015d5: JUMPDEST
000015d6: PUSH16 0xa2a8918ca85bafe22016d0b997e4df60
000015e7: PUSH1 0x01
000015e9: PUSH1 0xff
000015eb: SHL
000015ec: SUB
000015ed: DUP3
000015ee: GT
000015ef: ISZERO
000015f0: PUSH2 0x163b
000015f3: JUMPI
000015f4: PUSH1 0x40
000015f6: MLOAD
000015f7: PUSH3 0x461bcd
000015fb: PUSH1 0xe5
000015fd: SHL
000015fe: DUP2
000015ff: MSTORE
00001600: PUSH1 0x20
00001602: PUSH1 0x04
00001604: DUP3
00001605: ADD
00001606: DUP2
00001607: SWAP1
00001608: MSTORE
00001609: PUSH1 0x24
0000160b: DUP3
0000160c: ADD
0000160d: MSTORE
0000160e: PUSH32 0x4c69713a20696e76616c6964207369676e6174757265202773272076616c7565
0000162f: PUSH1 0x44
00001631: DUP3
00001632: ADD
00001633: MSTORE
00001634: PUSH1 0x64
00001636: ADD
00001637: PUSH2 0x067e
0000163a: JUMP
0000163b: JUMPDEST
0000163c: DUP1
0000163d: PUSH1 0xff
0000163f: AND
00001640: PUSH1 0x1b
00001642: EQ
00001643: ISZERO
00001644: DUP1
00001645: ISZERO
00001646: PUSH2 0x1653
00001649: JUMPI
0000164a: POP
0000164b: DUP1
0000164c: PUSH1 0xff
0000164e: AND
0000164f: PUSH1 0x1c
00001651: EQ
00001652: ISZERO
00001653: JUMPDEST
00001654: ISZERO
00001655: PUSH2 0x16a0
00001658: JUMPI
00001659: PUSH1 0x40
0000165b: MLOAD
0000165c: PUSH3 0x461bcd
00001660: PUSH1 0xe5
00001662: SHL
00001663: DUP2
00001664: MSTORE
00001665: PUSH1 0x20
00001667: PUSH1 0x04
00001669: DUP3
0000166a: ADD
0000166b: DUP2
0000166c: SWAP1
0000166d: MSTORE
0000166e: PUSH1 0x24
00001670: DUP3
00001671: ADD
00001672: MSTORE
00001673: PUSH32 0x4c69713a20696e76616c6964207369676e6174757265202776272076616c7565
00001694: PUSH1 0x44
00001696: DUP3
00001697: ADD
00001698: MSTORE
00001699: PUSH1 0x64
0000169b: ADD
0000169c: PUSH2 0x067e
0000169f: JUMP
000016a0: JUMPDEST
000016a1: PUSH1 0x40
000016a3: DUP1
000016a4: MLOAD
000016a5: PUSH1 0x00
000016a7: DUP2
000016a8: MSTORE
000016a9: PUSH1 0x20
000016ab: DUP2
000016ac: ADD
000016ad: DUP1
000016ae: DUP4
000016af: MSTORE
000016b0: DUP9
000016b1: SWAP1
000016b2: MSTORE
000016b3: PUSH1 0xff
000016b5: DUP4
000016b6: AND
000016b7: SWAP2
000016b8: DUP2
000016b9: ADD
000016ba: SWAP2
000016bb: SWAP1
000016bc: SWAP2
000016bd: MSTORE
000016be: PUSH1 0x60
000016c0: DUP2
000016c1: ADD
000016c2: DUP5
000016c3: SWAP1
000016c4: MSTORE
000016c5: PUSH1 0x80
000016c7: DUP2
000016c8: ADD
000016c9: DUP4
000016ca: SWAP1
000016cb: MSTORE
000016cc: PUSH1 0x01
000016ce: SWAP1
000016cf: PUSH1 0xa0
000016d1: ADD
000016d2: PUSH1 0x20
000016d4: PUSH1 0x40
000016d6: MLOAD
000016d7: PUSH1 0x20
000016d9: DUP2
000016da: SUB
000016db: SWAP1
000016dc: DUP1
000016dd: DUP5
000016de: SUB
000016df: SWAP1
000016e0: DUP6
000016e1: GAS
000016e2: STATICCALL
000016e3: ISZERO
000016e4: DUP1
000016e5: ISZERO
000016e6: PUSH2 0x16f3
000016e9: JUMPI
000016ea: RETURNDATASIZE
000016eb: PUSH1 0x00
000016ed: DUP1
000016ee: RETURNDATACOPY
000016ef: RETURNDATASIZE
000016f0: PUSH1 0x00
000016f2: REVERT
000016f3: JUMPDEST
000016f4: POP
000016f5: POP
000016f6: PUSH1 0x40
000016f8: MLOAD
000016f9: PUSH1 0x1f
000016fb: NOT
000016fc: ADD
000016fd: MLOAD
000016fe: SWAP5
000016ff: POP
00001700: POP
00001701: PUSH1 0x01
00001703: PUSH1 0x01
00001705: PUSH1 0xa0
00001707: SHL
00001708: SUB
00001709: DUP5
0000170a: AND
0000170b: PUSH2 0x174c
0000170e: JUMPI
0000170f: PUSH1 0x40
00001711: MLOAD
00001712: PUSH3 0x461bcd
00001716: PUSH1 0xe5
00001718: SHL
00001719: DUP2
0000171a: MSTORE
0000171b: PUSH1 0x20
0000171d: PUSH1 0x04
0000171f: DUP3
00001720: ADD
00001721: MSTORE
00001722: PUSH1 0x13
00001724: PUSH1 0x24
00001726: DUP3
00001727: ADD
00001728: MSTORE
00001729: PUSH19 0x2634b89d1024a72b20a624a22fa9a4a3a722a9
0000173d: PUSH1 0x69
0000173f: SHL
00001740: PUSH1 0x44
00001742: DUP3
00001743: ADD
00001744: MSTORE
00001745: PUSH1 0x64
00001747: ADD
00001748: PUSH2 0x067e
0000174b: JUMP
0000174c: JUMPDEST
0000174d: POP
0000174e: POP
0000174f: POP
00001750: SWAP3
00001751: SWAP2
00001752: POP
00001753: POP
00001754: JUMP
00001755: JUMPDEST
00001756: PUSH2 0x1768
00001759: DUP4
0000175a: PUSH4 0x095ea7b3
0000175f: PUSH1 0xe0
00001761: SHL
00001762: DUP5
00001763: DUP5
00001764: PUSH2 0x1ab6
00001767: JUMP
00001768: JUMPDEST
00001769: PUSH2 0x0756
0000176c: JUMPI
0000176d: PUSH2 0x1780
00001770: DUP4
00001771: PUSH4 0x095ea7b3
00001776: PUSH1 0xe0
00001778: SHL
00001779: DUP5
0000177a: PUSH1 0x00
0000177c: PUSH2 0x1ab6
0000177f: JUMP
00001780: JUMPDEST
00001781: ISZERO
00001782: DUP1
00001783: PUSH2 0x179c
00001786: JUMPI
00001787: POP
00001788: PUSH2 0x179a
0000178b: DUP4
0000178c: PUSH4 0x095ea7b3
00001791: PUSH1 0xe0
00001793: SHL
00001794: DUP5
00001795: DUP5
00001796: PUSH2 0x1ab6
00001799: JUMP
0000179a: JUMPDEST
0000179b: ISZERO
0000179c: JUMPDEST
0000179d: ISZERO
0000179e: PUSH2 0x0756
000017a1: JUMPI
000017a2: PUSH1 0x40
000017a4: MLOAD
000017a5: PUSH4 0x019be9a9
000017aa: PUSH1 0xe4
000017ac: SHL
000017ad: DUP2
000017ae: MSTORE
000017af: PUSH1 0x04
000017b1: ADD
000017b2: PUSH1 0x40
000017b4: MLOAD
000017b5: DUP1
000017b6: SWAP2
000017b7: SUB
000017b8: SWAP1
000017b9: REVERT
000017ba: JUMPDEST
000017bb: SELFBALANCE
000017bc: PUSH1 0x00
000017be: DUP2
000017bf: SWAP1
000017c0: SUB
000017c1: PUSH2 0x17c9
000017c4: JUMPI
000017c5: POP
000017c6: POP
000017c7: POP
000017c8: JUMP
000017c9: JUMPDEST
000017ca: DUP2
000017cb: ISZERO
000017cc: DUP1
000017cd: PUSH2 0x17d5
000017d0: JUMPI
000017d1: POP
000017d2: DUP1
000017d3: DUP3
000017d4: GT
000017d5: JUMPDEST
000017d6: ISZERO
000017d7: PUSH2 0x17de
000017da: JUMPI
000017db: DUP1
000017dc: SWAP2
000017dd: POP
000017de: JUMPDEST
000017df: PUSH1 0x40
000017e1: MLOAD
000017e2: PUSH1 0x01
000017e4: PUSH1 0x01
000017e6: PUSH1 0xa0
000017e8: SHL
000017e9: SUB
000017ea: DUP5
000017eb: AND
000017ec: SWAP1
000017ed: DUP4
000017ee: ISZERO
000017ef: PUSH2 0x08fc
000017f2: MUL
000017f3: SWAP1
000017f4: DUP5
000017f5: SWAP1
000017f6: PUSH1 0x00
000017f8: DUP2
000017f9: DUP2
000017fa: DUP2
000017fb: DUP6
000017fc: DUP9
000017fd: DUP9
000017fe: CALL
000017ff: SWAP4
00001800: POP
00001801: POP
00001802: POP
00001803: POP
00001804: ISZERO
00001805: DUP1
00001806: ISZERO
00001807: PUSH2 0x0e89
0000180a: JUMPI
0000180b: RETURNDATASIZE
0000180c: PUSH1 0x00
0000180e: DUP1
0000180f: RETURNDATACOPY
00001810: RETURNDATASIZE
00001811: PUSH1 0x00
00001813: REVERT
00001814: JUMPDEST
00001815: PUSH1 0x40
00001817: MLOAD
00001818: PUSH4 0x70a08231
0000181d: PUSH1 0xe0
0000181f: SHL
00001820: DUP2
00001821: MSTORE
00001822: DUP3
00001823: SWAP1
00001824: PUSH1 0x00
00001826: SWAP1
00001827: PUSH1 0x01
00001829: PUSH1 0x01
0000182b: PUSH1 0xa0
0000182d: SHL
0000182e: SUB
0000182f: DUP4
00001830: AND
00001831: SWAP1
00001832: PUSH4 0x70a08231
00001837: SWAP1
00001838: PUSH2 0x1845
0000183b: SWAP1
0000183c: ADDRESS
0000183d: SWAP1
0000183e: PUSH1 0x04
00001840: ADD
00001841: PUSH2 0x1fa2
00001844: JUMP
00001845: JUMPDEST
00001846: PUSH1 0x20
00001848: PUSH1 0x40
0000184a: MLOAD
0000184b: DUP1
0000184c: DUP4
0000184d: SUB
0000184e: DUP2
0000184f: DUP7
00001850: GAS
00001851: STATICCALL
00001852: ISZERO
00001853: DUP1
00001854: ISZERO
00001855: PUSH2 0x1862
00001858: JUMPI
00001859: RETURNDATASIZE
0000185a: PUSH1 0x00
0000185c: DUP1
0000185d: RETURNDATACOPY
0000185e: RETURNDATASIZE
0000185f: PUSH1 0x00
00001861: REVERT
00001862: JUMPDEST
00001863: POP
00001864: POP
00001865: POP
00001866: POP
00001867: PUSH1 0x40
00001869: MLOAD
0000186a: RETURNDATASIZE
0000186b: PUSH1 0x1f
0000186d: NOT
0000186e: PUSH1 0x1f
00001870: DUP3
00001871: ADD
00001872: AND
00001873: DUP3
00001874: ADD
00001875: DUP1
00001876: PUSH1 0x40
00001878: MSTORE
00001879: POP
0000187a: DUP2
0000187b: ADD
0000187c: SWAP1
0000187d: PUSH2 0x1886
00001880: SWAP2
00001881: SWAP1
00001882: PUSH2 0x2799
00001885: JUMP
00001886: JUMPDEST
00001887: SWAP1
00001888: POP
00001889: DUP1
0000188a: PUSH1 0x00
0000188c: SUB
0000188d: PUSH2 0x18d2
00001890: JUMPI
00001891: PUSH1 0x40
00001893: MLOAD
00001894: PUSH3 0x461bcd
00001898: PUSH1 0xe5
0000189a: SHL
0000189b: DUP2
0000189c: MSTORE
0000189d: PUSH1 0x20
0000189f: PUSH1 0x04
000018a1: DUP3
000018a2: ADD
000018a3: MSTORE
000018a4: PUSH1 0x17
000018a6: PUSH1 0x24
000018a8: DUP3
000018a9: ADD
000018aa: MSTORE
000018ab: PUSH23 0x4c69713a206e6f207370656369666965642066756e6473
000018c3: PUSH1 0x48
000018c5: SHL
000018c6: PUSH1 0x44
000018c8: DUP3
000018c9: ADD
000018ca: MSTORE
000018cb: PUSH1 0x64
000018cd: ADD
000018ce: PUSH2 0x067e
000018d1: JUMP
000018d2: JUMPDEST
000018d3: DUP3
000018d4: ISZERO
000018d5: DUP1
000018d6: PUSH2 0x18de
000018d9: JUMPI
000018da: POP
000018db: DUP1
000018dc: DUP4
000018dd: GT
000018de: JUMPDEST
000018df: ISZERO
000018e0: PUSH2 0x18e7
000018e3: JUMPI
000018e4: DUP1
000018e5: SWAP3
000018e6: POP
000018e7: JUMPDEST
000018e8: PUSH2 0x0d69
000018eb: PUSH1 0x01
000018ed: PUSH1 0x01
000018ef: PUSH1 0xa0
000018f1: SHL
000018f2: SUB
000018f3: DUP4
000018f4: AND
000018f5: DUP7
000018f6: DUP6
000018f7: PUSH2 0x1b0a
000018fa: JUMP
000018fb: JUMPDEST
000018fc: PUSH1 0x08
000018fe: SLOAD
000018ff: PUSH1 0x40
00001901: MLOAD
00001902: PUSH1 0x00
00001904: SWAP2
00001905: PUSH1 0x01
00001907: PUSH1 0x01
00001909: PUSH1 0xa0
0000190b: SHL
0000190c: SUB
0000190d: AND
0000190e: SWAP1
0000190f: PUSH2 0x191b
00001912: SWAP1
00001913: DUP6
00001914: SWAP1
00001915: DUP6
00001916: SWAP1
00001917: PUSH2 0x27b2
0000191a: JUMP
0000191b: JUMPDEST
0000191c: PUSH1 0x00
0000191e: PUSH1 0x40
00001920: MLOAD
00001921: DUP1
00001922: DUP4
00001923: SUB
00001924: DUP2
00001925: PUSH1 0x00
00001927: DUP7
00001928: GAS
00001929: CALL
0000192a: SWAP2
0000192b: POP
0000192c: POP
0000192d: RETURNDATASIZE
0000192e: DUP1
0000192f: PUSH1 0x00
00001931: DUP2
00001932: EQ
00001933: PUSH2 0x1958
00001936: JUMPI
00001937: PUSH1 0x40
00001939: MLOAD
0000193a: SWAP2
0000193b: POP
0000193c: PUSH1 0x1f
0000193e: NOT
0000193f: PUSH1 0x3f
00001941: RETURNDATASIZE
00001942: ADD
00001943: AND
00001944: DUP3
00001945: ADD
00001946: PUSH1 0x40
00001948: MSTORE
00001949: RETURNDATASIZE
0000194a: DUP3
0000194b: MSTORE
0000194c: RETURNDATASIZE
0000194d: PUSH1 0x00
0000194f: PUSH1 0x20
00001951: DUP5
00001952: ADD
00001953: RETURNDATACOPY
00001954: PUSH2 0x195d
00001957: JUMP
00001958: JUMPDEST
00001959: PUSH1 0x60
0000195b: SWAP2
0000195c: POP
0000195d: JUMPDEST
0000195e: POP
0000195f: POP
00001960: SWAP1
00001961: POP
00001962: DUP1
00001963: PUSH2 0x0756
00001966: JUMPI
00001967: PUSH2 0x0756
0000196a: PUSH2 0x1b3a
0000196d: JUMP
0000196e: JUMPDEST
0000196f: DUP1
00001970: ISZERO
00001971: DUP1
00001972: PUSH2 0x19e8
00001975: JUMPI
00001976: POP
00001977: PUSH1 0x40
00001979: MLOAD
0000197a: PUSH4 0x6eb1769f
0000197f: PUSH1 0xe1
00001981: SHL
00001982: DUP2
00001983: MSTORE
00001984: ADDRESS
00001985: PUSH1 0x04
00001987: DUP3
00001988: ADD
00001989: MSTORE
0000198a: PUSH1 0x01
0000198c: PUSH1 0x01
0000198e: PUSH1 0xa0
00001990: SHL
00001991: SUB
00001992: DUP4
00001993: DUP2
00001994: AND
00001995: PUSH1 0x24
00001997: DUP4
00001998: ADD
00001999: MSTORE
0000199a: DUP5
0000199b: AND
0000199c: SWAP1
0000199d: PUSH4 0xdd62ed3e
000019a2: SWAP1
000019a3: PUSH1 0x44
000019a5: ADD
000019a6: PUSH1 0x20
000019a8: PUSH1 0x40
000019aa: MLOAD
000019ab: DUP1
000019ac: DUP4
000019ad: SUB
000019ae: DUP2
000019af: DUP7
000019b0: GAS
000019b1: STATICCALL
000019b2: ISZERO
000019b3: DUP1
000019b4: ISZERO
000019b5: PUSH2 0x19c2
000019b8: JUMPI
000019b9: RETURNDATASIZE
000019ba: PUSH1 0x00
000019bc: DUP1
000019bd: RETURNDATACOPY
000019be: RETURNDATASIZE
000019bf: PUSH1 0x00
000019c1: REVERT
000019c2: JUMPDEST
000019c3: POP
000019c4: POP
000019c5: POP
000019c6: POP
000019c7: PUSH1 0x40
000019c9: MLOAD
000019ca: RETURNDATASIZE
000019cb: PUSH1 0x1f
000019cd: NOT
000019ce: PUSH1 0x1f
000019d0: DUP3
000019d1: ADD
000019d2: AND
000019d3: DUP3
000019d4: ADD
000019d5: DUP1
000019d6: PUSH1 0x40
000019d8: MSTORE
000019d9: POP
000019da: DUP2
000019db: ADD
000019dc: SWAP1
000019dd: PUSH2 0x19e6
000019e0: SWAP2
000019e1: SWAP1
000019e2: PUSH2 0x2799
000019e5: JUMP
000019e6: JUMPDEST
000019e7: ISZERO
000019e8: JUMPDEST
000019e9: PUSH2 0x1a53
000019ec: JUMPI
000019ed: PUSH1 0x40
000019ef: MLOAD
000019f0: PUSH3 0x461bcd
000019f4: PUSH1 0xe5
000019f6: SHL
000019f7: DUP2
000019f8: MSTORE
000019f9: PUSH1 0x20
000019fb: PUSH1 0x04
000019fd: DUP3
000019fe: ADD
000019ff: MSTORE
00001a00: PUSH1 0x36
00001a02: PUSH1 0x24
00001a04: DUP3
00001a05: ADD
00001a06: MSTORE
00001a07: PUSH32 0x5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f
00001a28: PUSH1 0x44
00001a2a: DUP3
00001a2b: ADD
00001a2c: MSTORE
00001a2d: PUSH22 0x20746f206e6f6e2d7a65726f20616c6c6f77616e6365
00001a44: PUSH1 0x50
00001a46: SHL
00001a47: PUSH1 0x64
00001a49: DUP3
00001a4a: ADD
00001a4b: MSTORE
00001a4c: PUSH1 0x84
00001a4e: ADD
00001a4f: PUSH2 0x067e
00001a52: JUMP
00001a53: JUMPDEST
00001a54: PUSH1 0x40
00001a56: MLOAD
00001a57: PUSH1 0x01
00001a59: PUSH1 0x01
00001a5b: PUSH1 0xa0
00001a5d: SHL
00001a5e: SUB
00001a5f: DUP4
00001a60: AND
00001a61: PUSH1 0x24
00001a63: DUP3
00001a64: ADD
00001a65: MSTORE
00001a66: PUSH1 0x44
00001a68: DUP2
00001a69: ADD
00001a6a: DUP3
00001a6b: SWAP1
00001a6c: MSTORE
00001a6d: PUSH2 0x0756
00001a70: SWAP1
00001a71: DUP5
00001a72: SWAP1
00001a73: PUSH4 0x095ea7b3
00001a78: PUSH1 0xe0
00001a7a: SHL
00001a7b: SWAP1
00001a7c: PUSH1 0x64
00001a7e: ADD
00001a7f: JUMPDEST
00001a80: PUSH1 0x40
00001a82: DUP1
00001a83: MLOAD
00001a84: PUSH1 0x1f
00001a86: NOT
00001a87: DUP2
00001a88: DUP5
00001a89: SUB
00001a8a: ADD
00001a8b: DUP2
00001a8c: MSTORE
00001a8d: SWAP2
00001a8e: SWAP1
00001a8f: MSTORE
00001a90: PUSH1 0x20
00001a92: DUP2
00001a93: ADD
00001a94: DUP1
00001a95: MLOAD
00001a96: PUSH1 0x01
00001a98: PUSH1 0x01
00001a9a: PUSH1 0xe0
00001a9c: SHL
00001a9d: SUB
00001a9e: AND
00001a9f: PUSH1 0x01
00001aa1: PUSH1 0x01
00001aa3: PUSH1 0xe0
00001aa5: SHL
00001aa6: SUB
00001aa7: NOT
00001aa8: SWAP1
00001aa9: SWAP4
00001aaa: AND
00001aab: SWAP3
00001aac: SWAP1
00001aad: SWAP3
00001aae: OR
00001aaf: SWAP1
00001ab0: SWAP2
00001ab1: MSTORE
00001ab2: PUSH2 0x1b46
00001ab5: JUMP
00001ab6: JUMPDEST
00001ab7: PUSH1 0x00
00001ab9: PUSH1 0x40
00001abb: MLOAD
00001abc: DUP5
00001abd: DUP2
00001abe: MSTORE
00001abf: DUP4
00001ac0: PUSH1 0x04
00001ac2: DUP3
00001ac3: ADD
00001ac4: MSTORE
00001ac5: DUP3
00001ac6: PUSH1 0x24
00001ac8: DUP3
00001ac9: ADD
00001aca: MSTORE
00001acb: PUSH1 0x20
00001acd: PUSH1 0x00
00001acf: PUSH1 0x44
00001ad1: DUP4
00001ad2: PUSH1 0x00
00001ad4: DUP11
00001ad5: GAS
00001ad6: CALL
00001ad7: SWAP2
00001ad8: POP
00001ad9: POP
00001ada: DUP1
00001adb: ISZERO
00001adc: PUSH2 0x1b02
00001adf: JUMPI
00001ae0: RETURNDATASIZE
00001ae1: DUP1
00001ae2: ISZERO
00001ae3: PUSH2 0x1af8
00001ae6: JUMPI
00001ae7: PUSH1 0x01
00001ae9: PUSH1 0x00
00001aeb: MLOAD
00001aec: EQ
00001aed: PUSH1 0x1f
00001aef: RETURNDATASIZE
00001af0: GT
00001af1: AND
00001af2: SWAP2
00001af3: POP
00001af4: PUSH2 0x1b00
00001af7: JUMP
00001af8: JUMPDEST
00001af9: PUSH1 0x00
00001afb: DUP7
00001afc: EXTCODESIZE
00001afd: GT
00001afe: SWAP2
00001aff: POP
00001b00: JUMPDEST
00001b01: POP
00001b02: JUMPDEST
00001b03: SWAP5
00001b04: SWAP4
00001b05: POP
00001b06: POP
00001b07: POP
00001b08: POP
00001b09: JUMP
00001b0a: JUMPDEST
00001b0b: PUSH1 0x40
00001b0d: MLOAD
00001b0e: PUSH1 0x01
00001b10: PUSH1 0x01
00001b12: PUSH1 0xa0
00001b14: SHL
00001b15: SUB
00001b16: DUP4
00001b17: AND
00001b18: PUSH1 0x24
00001b1a: DUP3
00001b1b: ADD
00001b1c: MSTORE
00001b1d: PUSH1 0x44
00001b1f: DUP2
00001b20: ADD
00001b21: DUP3
00001b22: SWAP1
00001b23: MSTORE
00001b24: PUSH2 0x0756
00001b27: SWAP1
00001b28: DUP5
00001b29: SWAP1
00001b2a: PUSH4 0xa9059cbb
00001b2f: PUSH1 0xe0
00001b31: SHL
00001b32: SWAP1
00001b33: PUSH1 0x64
00001b35: ADD
00001b36: PUSH2 0x1a7f
00001b39: JUMP
00001b3a: JUMPDEST
00001b3b: PUSH1 0x40
00001b3d: MLOAD
00001b3e: RETURNDATASIZE
00001b3f: PUSH1 0x00
00001b41: DUP3
00001b42: RETURNDATACOPY
00001b43: RETURNDATASIZE
00001b44: DUP2
00001b45: REVERT
00001b46: JUMPDEST
00001b47: PUSH2 0x1b4f
00001b4a: DUP3
00001b4b: PUSH2 0x1cc5
00001b4e: JUMP
00001b4f: JUMPDEST
00001b50: PUSH2 0x1b9b
00001b53: JUMPI
00001b54: PUSH1 0x40
00001b56: MLOAD
00001b57: PUSH3 0x461bcd
00001b5b: PUSH1 0xe5
00001b5d: SHL
00001b5e: DUP2
00001b5f: MSTORE
00001b60: PUSH1 0x20
00001b62: PUSH1 0x04
00001b64: DUP3
00001b65: ADD
00001b66: MSTORE
00001b67: PUSH1 0x1f
00001b69: PUSH1 0x24
00001b6b: DUP3
00001b6c: ADD
00001b6d: MSTORE
00001b6e: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400
00001b8f: PUSH1 0x44
00001b91: DUP3
00001b92: ADD
00001b93: MSTORE
00001b94: PUSH1 0x64
00001b96: ADD
00001b97: PUSH2 0x067e
00001b9a: JUMP
00001b9b: JUMPDEST
00001b9c: PUSH1 0x00
00001b9e: DUP1
00001b9f: DUP4
00001ba0: PUSH1 0x01
00001ba2: PUSH1 0x01
00001ba4: PUSH1 0xa0
00001ba6: SHL
00001ba7: SUB
00001ba8: AND
00001ba9: DUP4
00001baa: PUSH1 0x40
00001bac: MLOAD
00001bad: PUSH2 0x1bb6
00001bb0: SWAP2
00001bb1: SWAP1
00001bb2: PUSH2 0x26d3
00001bb5: JUMP
00001bb6: JUMPDEST
00001bb7: PUSH1 0x00
00001bb9: PUSH1 0x40
00001bbb: MLOAD
00001bbc: DUP1
00001bbd: DUP4
00001bbe: SUB
00001bbf: DUP2
00001bc0: PUSH1 0x00
00001bc2: DUP7
00001bc3: GAS
00001bc4: CALL
00001bc5: SWAP2
00001bc6: POP
00001bc7: POP
00001bc8: RETURNDATASIZE
00001bc9: DUP1
00001bca: PUSH1 0x00
00001bcc: DUP2
00001bcd: EQ
00001bce: PUSH2 0x1bf3
00001bd1: JUMPI
00001bd2: PUSH1 0x40
00001bd4: MLOAD
00001bd5: SWAP2
00001bd6: POP
00001bd7: PUSH1 0x1f
00001bd9: NOT
00001bda: PUSH1 0x3f
00001bdc: RETURNDATASIZE
00001bdd: ADD
00001bde: AND
00001bdf: DUP3
00001be0: ADD
00001be1: PUSH1 0x40
00001be3: MSTORE
00001be4: RETURNDATASIZE
00001be5: DUP3
00001be6: MSTORE
00001be7: RETURNDATASIZE
00001be8: PUSH1 0x00
00001bea: PUSH1 0x20
00001bec: DUP5
00001bed: ADD
00001bee: RETURNDATACOPY
00001bef: PUSH2 0x1bf8
00001bf2: JUMP
00001bf3: JUMPDEST
00001bf4: PUSH1 0x60
00001bf6: SWAP2
00001bf7: POP
00001bf8: JUMPDEST
00001bf9: POP
00001bfa: SWAP2
00001bfb: POP
00001bfc: SWAP2
00001bfd: POP
00001bfe: DUP2
00001bff: PUSH2 0x1c4a
00001c02: JUMPI
00001c03: PUSH1 0x40
00001c05: MLOAD
00001c06: PUSH3 0x461bcd
00001c0a: PUSH1 0xe5
00001c0c: SHL
00001c0d: DUP2
00001c0e: MSTORE
00001c0f: PUSH1 0x20
00001c11: PUSH1 0x04
00001c13: DUP3
00001c14: ADD
00001c15: DUP2
00001c16: SWAP1
00001c17: MSTORE
00001c18: PUSH1 0x24
00001c1a: DUP3
00001c1b: ADD
00001c1c: MSTORE
00001c1d: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001c3e: PUSH1 0x44
00001c40: DUP3
00001c41: ADD
00001c42: MSTORE
00001c43: PUSH1 0x64
00001c45: ADD
00001c46: PUSH2 0x067e
00001c49: JUMP
00001c4a: JUMPDEST
00001c4b: DUP1
00001c4c: MLOAD
00001c4d: ISZERO
00001c4e: PUSH2 0x0e89
00001c51: JUMPI
00001c52: DUP1
00001c53: DUP1
00001c54: PUSH1 0x20
00001c56: ADD
00001c57: SWAP1
00001c58: MLOAD
00001c59: DUP2
00001c5a: ADD
00001c5b: SWAP1
00001c5c: PUSH2 0x1c65
00001c5f: SWAP2
00001c60: SWAP1
00001c61: PUSH2 0x27c2
00001c64: JUMP
00001c65: JUMPDEST
00001c66: PUSH2 0x0e89
00001c69: JUMPI
00001c6a: PUSH1 0x40
00001c6c: MLOAD
00001c6d: PUSH3 0x461bcd
00001c71: PUSH1 0xe5
00001c73: SHL
00001c74: DUP2
00001c75: MSTORE
00001c76: PUSH1 0x20
00001c78: PUSH1 0x04
00001c7a: DUP3
00001c7b: ADD
00001c7c: MSTORE
00001c7d: PUSH1 0x2b
00001c7f: PUSH1 0x24
00001c81: DUP3
00001c82: ADD
00001c83: MSTORE
00001c84: PUSH32 0x5361666545524332303a20494552433230206f7065726174696f6e2064696420
00001ca5: PUSH1 0x44
00001ca7: DUP3
00001ca8: ADD
00001ca9: MSTORE
00001caa: PUSH11 0x1b9bdd081cdd58d8d95959
00001cb6: PUSH1 0xaa
00001cb8: SHL
00001cb9: PUSH1 0x64
00001cbb: DUP3
00001cbc: ADD
00001cbd: MSTORE
00001cbe: PUSH1 0x84
00001cc0: ADD
00001cc1: PUSH2 0x067e
00001cc4: JUMP
00001cc5: JUMPDEST
00001cc6: PUSH1 0x00
00001cc8: DUP2
00001cc9: EXTCODEHASH
00001cca: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
00001ceb: DUP2
00001cec: DUP2
00001ced: EQ
00001cee: DUP1
00001cef: ISZERO
00001cf0: SWAP1
00001cf1: PUSH2 0x1b02
00001cf4: JUMPI
00001cf5: POP
00001cf6: POP
00001cf7: ISZERO
00001cf8: ISZERO
00001cf9: SWAP3
00001cfa: SWAP2
00001cfb: POP
00001cfc: POP
00001cfd: JUMP
00001cfe: JUMPDEST
00001cff: DUP3
00001d00: DUP1
00001d01: SLOAD
00001d02: DUP3
00001d03: DUP3
00001d04: SSTORE
00001d05: SWAP1
00001d06: PUSH1 0x00
00001d08: MSTORE
00001d09: PUSH1 0x20
00001d0b: PUSH1 0x00
00001d0d: KECCAK256
00001d0e: SWAP1
00001d0f: DUP2
00001d10: ADD
00001d11: SWAP3
00001d12: DUP3
00001d13: ISZERO
00001d14: PUSH2 0x1d51
00001d17: JUMPI
00001d18: SWAP2
00001d19: PUSH1 0x20
00001d1b: MUL
00001d1c: DUP3
00001d1d: ADD
00001d1e: JUMPDEST
00001d1f: DUP3
00001d20: DUP2
00001d21: GT
00001d22: ISZERO
00001d23: PUSH2 0x1d51
00001d26: JUMPI
00001d27: DUP2
00001d28: SLOAD
00001d29: PUSH1 0x01
00001d2b: PUSH1 0x01
00001d2d: PUSH1 0xa0
00001d2f: SHL
00001d30: SUB
00001d31: NOT
00001d32: AND
00001d33: PUSH1 0x01
00001d35: PUSH1 0x01
00001d37: PUSH1 0xa0
00001d39: SHL
00001d3a: SUB
00001d3b: DUP5
00001d3c: CALLDATALOAD
00001d3d: AND
00001d3e: OR
00001d3f: DUP3
00001d40: SSTORE
00001d41: PUSH1 0x20
00001d43: SWAP1
00001d44: SWAP3
00001d45: ADD
00001d46: SWAP2
00001d47: PUSH1 0x01
00001d49: SWAP1
00001d4a: SWAP2
00001d4b: ADD
00001d4c: SWAP1
00001d4d: PUSH2 0x1d1e
00001d50: JUMP
00001d51: JUMPDEST
00001d52: POP
00001d53: PUSH2 0x1d5d
00001d56: SWAP3
00001d57: SWAP2
00001d58: POP
00001d59: PUSH2 0x1d61
00001d5c: JUMP
00001d5d: JUMPDEST
00001d5e: POP
00001d5f: SWAP1
00001d60: JUMP
00001d61: JUMPDEST
00001d62: JUMPDEST
00001d63: DUP1
00001d64: DUP3
00001d65: GT
00001d66: ISZERO
00001d67: PUSH2 0x1d5d
00001d6a: JUMPI
00001d6b: PUSH1 0x00
00001d6d: DUP2
00001d6e: SSTORE
00001d6f: PUSH1 0x01
00001d71: ADD
00001d72: PUSH2 0x1d62
00001d75: JUMP
00001d76: JUMPDEST
00001d77: PUSH1 0x00
00001d79: DUP1
00001d7a: DUP4
00001d7b: PUSH1 0x1f
00001d7d: DUP5
00001d7e: ADD
00001d7f: SLT
00001d80: PUSH2 0x1d88
00001d83: JUMPI
00001d84: PUSH1 0x00
00001d86: DUP1
00001d87: REVERT
00001d88: JUMPDEST
00001d89: POP
00001d8a: DUP2
00001d8b: CALLDATALOAD
00001d8c: PUSH1 0x01
00001d8e: PUSH1 0x01
00001d90: PUSH1 0x40
00001d92: SHL
00001d93: SUB
00001d94: DUP2
00001d95: GT
00001d96: ISZERO
00001d97: PUSH2 0x1d9f
00001d9a: JUMPI
00001d9b: PUSH1 0x00
00001d9d: DUP1
00001d9e: REVERT
00001d9f: JUMPDEST
00001da0: PUSH1 0x20
00001da2: DUP4
00001da3: ADD
00001da4: SWAP2
00001da5: POP
00001da6: DUP4
00001da7: PUSH1 0x20
00001da9: DUP3
00001daa: PUSH1 0x05
00001dac: SHL
00001dad: DUP6
00001dae: ADD
00001daf: ADD
00001db0: GT
00001db1: ISZERO
00001db2: PUSH2 0x1dba
00001db5: JUMPI
00001db6: PUSH1 0x00
00001db8: DUP1
00001db9: REVERT
00001dba: JUMPDEST
00001dbb: SWAP3
00001dbc: POP
00001dbd: SWAP3
00001dbe: SWAP1
00001dbf: POP
00001dc0: JUMP
00001dc1: JUMPDEST
00001dc2: PUSH1 0x00
00001dc4: DUP1
00001dc5: PUSH1 0x20
00001dc7: DUP4
00001dc8: DUP6
00001dc9: SUB
00001dca: SLT
00001dcb: ISZERO
00001dcc: PUSH2 0x1dd4
00001dcf: JUMPI
00001dd0: PUSH1 0x00
00001dd2: DUP1
00001dd3: REVERT
00001dd4: JUMPDEST
00001dd5: DUP3
00001dd6: CALLDATALOAD
00001dd7: PUSH1 0x01
00001dd9: PUSH1 0x01
00001ddb: PUSH1 0x40
00001ddd: SHL
00001dde: SUB
00001ddf: DUP2
00001de0: GT
00001de1: ISZERO
00001de2: PUSH2 0x1dea
00001de5: JUMPI
00001de6: PUSH1 0x00
00001de8: DUP1
00001de9: REVERT
00001dea: JUMPDEST
00001deb: PUSH2 0x1df6
00001dee: DUP6
00001def: DUP3
00001df0: DUP7
00001df1: ADD
00001df2: PUSH2 0x1d76
00001df5: JUMP
00001df6: JUMPDEST
00001df7: SWAP1
00001df8: SWAP7
00001df9: SWAP1
00001dfa: SWAP6
00001dfb: POP
00001dfc: SWAP4
00001dfd: POP
00001dfe: POP
00001dff: POP
00001e00: POP
00001e01: JUMP
00001e02: JUMPDEST
00001e03: PUSH1 0x20
00001e05: DUP1
00001e06: DUP3
00001e07: MSTORE
00001e08: DUP3
00001e09: MLOAD
00001e0a: DUP3
00001e0b: DUP3
00001e0c: ADD
00001e0d: DUP2
00001e0e: SWAP1
00001e0f: MSTORE
00001e10: PUSH1 0x00
00001e12: SWAP2
00001e13: SWAP1
00001e14: DUP5
00001e15: DUP3
00001e16: ADD
00001e17: SWAP1
00001e18: PUSH1 0x40
00001e1a: DUP6
00001e1b: ADD
00001e1c: SWAP1
00001e1d: DUP5
00001e1e: JUMPDEST
00001e1f: DUP2
00001e20: DUP2
00001e21: LT
00001e22: ISZERO
00001e23: PUSH2 0x1e43
00001e26: JUMPI
00001e27: DUP4
00001e28: MLOAD
00001e29: PUSH1 0x01
00001e2b: PUSH1 0x01
00001e2d: PUSH1 0xa0
00001e2f: SHL
00001e30: SUB
00001e31: AND
00001e32: DUP4
00001e33: MSTORE
00001e34: SWAP3
00001e35: DUP5
00001e36: ADD
00001e37: SWAP3
00001e38: SWAP2
00001e39: DUP5
00001e3a: ADD
00001e3b: SWAP2
00001e3c: PUSH1 0x01
00001e3e: ADD
00001e3f: PUSH2 0x1e1e
00001e42: JUMP
00001e43: JUMPDEST
00001e44: POP
00001e45: SWAP1
00001e46: SWAP7
00001e47: SWAP6
00001e48: POP
00001e49: POP
00001e4a: POP
00001e4b: POP
00001e4c: POP
00001e4d: POP
00001e4e: JUMP
00001e4f: JUMPDEST
00001e50: PUSH1 0x01
00001e52: PUSH1 0x01
00001e54: PUSH1 0xa0
00001e56: SHL
00001e57: SUB
00001e58: DUP2
00001e59: AND
00001e5a: DUP2
00001e5b: EQ
00001e5c: PUSH2 0x1e64
00001e5f: JUMPI
00001e60: PUSH1 0x00
00001e62: DUP1
00001e63: REVERT
00001e64: JUMPDEST
00001e65: POP
00001e66: JUMP
00001e67: JUMPDEST
00001e68: PUSH1 0x00
00001e6a: PUSH1 0x20
00001e6c: DUP3
00001e6d: DUP5
00001e6e: SUB
00001e6f: SLT
00001e70: ISZERO
00001e71: PUSH2 0x1e79
00001e74: JUMPI
00001e75: PUSH1 0x00
00001e77: DUP1
00001e78: REVERT
00001e79: JUMPDEST
00001e7a: DUP2
00001e7b: CALLDATALOAD
00001e7c: PUSH2 0x08e3
00001e7f: DUP2
00001e80: PUSH2 0x1e4f
00001e83: JUMP
00001e84: JUMPDEST
00001e85: PUSH1 0x00
00001e87: DUP1
00001e88: DUP4
00001e89: PUSH1 0x1f
00001e8b: DUP5
00001e8c: ADD
00001e8d: SLT
00001e8e: PUSH2 0x1e96
00001e91: JUMPI
00001e92: PUSH1 0x00
00001e94: DUP1
00001e95: REVERT
00001e96: JUMPDEST
00001e97: POP
00001e98: DUP2
00001e99: CALLDATALOAD
00001e9a: PUSH1 0x01
00001e9c: PUSH1 0x01
00001e9e: PUSH1 0x40
00001ea0: SHL
00001ea1: SUB
00001ea2: DUP2
00001ea3: GT
00001ea4: ISZERO
00001ea5: PUSH2 0x1ead
00001ea8: JUMPI
00001ea9: PUSH1 0x00
00001eab: DUP1
00001eac: REVERT
00001ead: JUMPDEST
00001eae: PUSH1 0x20
00001eb0: DUP4
00001eb1: ADD
00001eb2: SWAP2
00001eb3: POP
00001eb4: DUP4
00001eb5: PUSH1 0x20
00001eb7: DUP3
00001eb8: DUP6
00001eb9: ADD
00001eba: ADD
00001ebb: GT
00001ebc: ISZERO
00001ebd: PUSH2 0x1dba
00001ec0: JUMPI
00001ec1: PUSH1 0x00
00001ec3: DUP1
00001ec4: REVERT
00001ec5: JUMPDEST
00001ec6: PUSH1 0x00
00001ec8: DUP1
00001ec9: PUSH1 0x00
00001ecb: PUSH1 0x40
00001ecd: DUP5
00001ece: DUP7
00001ecf: SUB
00001ed0: SLT
00001ed1: ISZERO
00001ed2: PUSH2 0x1eda
00001ed5: JUMPI
00001ed6: PUSH1 0x00
00001ed8: DUP1
00001ed9: REVERT
00001eda: JUMPDEST
00001edb: DUP4
00001edc: CALLDATALOAD
00001edd: SWAP3
00001ede: POP
00001edf: PUSH1 0x20
00001ee1: DUP5
00001ee2: ADD
00001ee3: CALLDATALOAD
00001ee4: PUSH1 0x01
00001ee6: PUSH1 0x01
00001ee8: PUSH1 0x40
00001eea: SHL
00001eeb: SUB
00001eec: DUP2
00001eed: GT
00001eee: ISZERO
00001eef: PUSH2 0x1ef7
00001ef2: JUMPI
00001ef3: PUSH1 0x00
00001ef5: DUP1
00001ef6: REVERT
00001ef7: JUMPDEST
00001ef8: PUSH2 0x1f03
00001efb: DUP7
00001efc: DUP3
00001efd: DUP8
00001efe: ADD
00001eff: PUSH2 0x1e84
00001f02: JUMP
00001f03: JUMPDEST
00001f04: SWAP5
00001f05: SWAP8
00001f06: SWAP1
00001f07: SWAP7
00001f08: POP
00001f09: SWAP4
00001f0a: SWAP5
00001f0b: POP
00001f0c: POP
00001f0d: POP
00001f0e: POP
00001f0f: JUMP
00001f10: JUMPDEST
00001f11: PUSH1 0x00
00001f13: DUP1
00001f14: PUSH1 0x40
00001f16: DUP4
00001f17: DUP6
00001f18: SUB
00001f19: SLT
00001f1a: ISZERO
00001f1b: PUSH2 0x1f23
00001f1e: JUMPI
00001f1f: PUSH1 0x00
00001f21: DUP1
00001f22: REVERT
00001f23: JUMPDEST
00001f24: DUP3
00001f25: CALLDATALOAD
00001f26: PUSH2 0x1f2e
00001f29: DUP2
00001f2a: PUSH2 0x1e4f
00001f2d: JUMP
00001f2e: JUMPDEST
00001f2f: SWAP2
00001f30: POP
00001f31: PUSH1 0x20
00001f33: DUP4
00001f34: ADD
00001f35: CALLDATALOAD
00001f36: PUSH2 0x1f3e
00001f39: DUP2
00001f3a: PUSH2 0x1e4f
00001f3d: JUMP
00001f3e: JUMPDEST
00001f3f: DUP1
00001f40: SWAP2
00001f41: POP
00001f42: POP
00001f43: SWAP3
00001f44: POP
00001f45: SWAP3
00001f46: SWAP1
00001f47: POP
00001f48: JUMP
00001f49: JUMPDEST
00001f4a: DUP1
00001f4b: ISZERO
00001f4c: ISZERO
00001f4d: DUP2
00001f4e: EQ
00001f4f: PUSH2 0x1e64
00001f52: JUMPI
00001f53: PUSH1 0x00
00001f55: DUP1
00001f56: REVERT
00001f57: JUMPDEST
00001f58: PUSH1 0x00
00001f5a: DUP1
00001f5b: PUSH1 0x00
00001f5d: PUSH1 0x60
00001f5f: DUP5
00001f60: DUP7
00001f61: SUB
00001f62: SLT
00001f63: ISZERO
00001f64: PUSH2 0x1f6c
00001f67: JUMPI
00001f68: PUSH1 0x00
00001f6a: DUP1
00001f6b: REVERT
00001f6c: JUMPDEST
00001f6d: DUP4
00001f6e: CALLDATALOAD
00001f6f: PUSH2 0x1f77
00001f72: DUP2
00001f73: PUSH2 0x1e4f
00001f76: JUMP
00001f77: JUMPDEST
00001f78: SWAP3
00001f79: POP
00001f7a: PUSH1 0x20
00001f7c: DUP5
00001f7d: ADD
00001f7e: CALLDATALOAD
00001f7f: PUSH2 0x1f87
00001f82: DUP2
00001f83: PUSH2 0x1e4f
00001f86: JUMP
00001f87: JUMPDEST
00001f88: SWAP2
00001f89: POP
00001f8a: PUSH1 0x40
00001f8c: DUP5
00001f8d: ADD
00001f8e: CALLDATALOAD
00001f8f: PUSH2 0x1f97
00001f92: DUP2
00001f93: PUSH2 0x1f49
00001f96: JUMP
00001f97: JUMPDEST
00001f98: DUP1
00001f99: SWAP2
00001f9a: POP
00001f9b: POP
00001f9c: SWAP3
00001f9d: POP
00001f9e: SWAP3
00001f9f: POP
00001fa0: SWAP3
00001fa1: JUMP
00001fa2: JUMPDEST
00001fa3: PUSH1 0x01
00001fa5: PUSH1 0x01
00001fa7: PUSH1 0xa0
00001fa9: SHL
00001faa: SUB
00001fab: SWAP2
00001fac: SWAP1
00001fad: SWAP2
00001fae: AND
00001faf: DUP2
00001fb0: MSTORE
00001fb1: PUSH1 0x20
00001fb3: ADD
00001fb4: SWAP1
00001fb5: JUMP
00001fb6: JUMPDEST
00001fb7: PUSH1 0x00
00001fb9: DUP1
00001fba: PUSH1 0x40
00001fbc: DUP4
00001fbd: DUP6
00001fbe: SUB
00001fbf: SLT
00001fc0: ISZERO
00001fc1: PUSH2 0x1fc9
00001fc4: JUMPI
00001fc5: PUSH1 0x00
00001fc7: DUP1
00001fc8: REVERT
00001fc9: JUMPDEST
00001fca: DUP3
00001fcb: CALLDATALOAD
00001fcc: SWAP2
00001fcd: POP
00001fce: PUSH1 0x20
00001fd0: DUP4
00001fd1: ADD
00001fd2: CALLDATALOAD
00001fd3: PUSH2 0x1f3e
00001fd6: DUP2
00001fd7: PUSH2 0x1e4f
00001fda: JUMP
00001fdb: JUMPDEST
00001fdc: PUSH4 0x4e487b71
00001fe1: PUSH1 0xe0
00001fe3: SHL
00001fe4: PUSH1 0x00
00001fe6: MSTORE
00001fe7: PUSH1 0x41
00001fe9: PUSH1 0x04
00001feb: MSTORE
00001fec: PUSH1 0x24
00001fee: PUSH1 0x00
00001ff0: REVERT
00001ff1: JUMPDEST
00001ff2: PUSH1 0x40
00001ff4: MLOAD
00001ff5: PUSH1 0x1f
00001ff7: DUP3
00001ff8: ADD
00001ff9: PUSH1 0x1f
00001ffb: NOT
00001ffc: AND
00001ffd: DUP2
00001ffe: ADD
00001fff: PUSH1 0x01
00002001: PUSH1 0x01
00002003: PUSH1 0x40
00002005: SHL
00002006: SUB
00002007: DUP2
00002008: GT
00002009: DUP3
0000200a: DUP3
0000200b: LT
0000200c: OR
0000200d: ISZERO
0000200e: PUSH2 0x2019
00002011: JUMPI
00002012: PUSH2 0x2019
00002015: PUSH2 0x1fdb
00002018: JUMP
00002019: JUMPDEST
0000201a: PUSH1 0x40
0000201c: MSTORE
0000201d: SWAP2
0000201e: SWAP1
0000201f: POP
00002020: JUMP
00002021: JUMPDEST
00002022: PUSH1 0x00
00002024: PUSH1 0x01
00002026: PUSH1 0x01
00002028: PUSH1 0x40
0000202a: SHL
0000202b: SUB
0000202c: DUP3
0000202d: GT
0000202e: ISZERO
0000202f: PUSH2 0x203a
00002032: JUMPI
00002033: PUSH2 0x203a
00002036: PUSH2 0x1fdb
00002039: JUMP
0000203a: JUMPDEST
0000203b: POP
0000203c: PUSH1 0x05
0000203e: SHL
0000203f: PUSH1 0x20
00002041: ADD
00002042: SWAP1
00002043: JUMP
00002044: JUMPDEST
00002045: PUSH1 0x00
00002047: DUP3
00002048: PUSH1 0x1f
0000204a: DUP4
0000204b: ADD
0000204c: SLT
0000204d: PUSH2 0x2055
00002050: JUMPI
00002051: PUSH1 0x00
00002053: DUP1
00002054: REVERT
00002055: JUMPDEST
00002056: DUP2
00002057: CALLDATALOAD
00002058: PUSH1 0x20
0000205a: PUSH2 0x206a
0000205d: PUSH2 0x2065
00002060: DUP4
00002061: PUSH2 0x2021
00002064: JUMP
00002065: JUMPDEST
00002066: PUSH2 0x1ff1
00002069: JUMP
0000206a: JUMPDEST
0000206b: DUP3
0000206c: DUP2
0000206d: MSTORE
0000206e: PUSH1 0x05
00002070: SWAP3
00002071: SWAP1
00002072: SWAP3
00002073: SHL
00002074: DUP5
00002075: ADD
00002076: DUP2
00002077: ADD
00002078: SWAP2
00002079: DUP2
0000207a: DUP2
0000207b: ADD
0000207c: SWAP1
0000207d: DUP7
0000207e: DUP5
0000207f: GT
00002080: ISZERO
00002081: PUSH2 0x2089
00002084: JUMPI
00002085: PUSH1 0x00
00002087: DUP1
00002088: REVERT
00002089: JUMPDEST
0000208a: DUP3
0000208b: DUP7
0000208c: ADD
0000208d: JUMPDEST
0000208e: DUP5
0000208f: DUP2
00002090: LT
00002091: ISZERO
00002092: PUSH2 0x20ad
00002095: JUMPI
00002096: DUP1
00002097: CALLDATALOAD
00002098: PUSH2 0x20a0
0000209b: DUP2
0000209c: PUSH2 0x1e4f
0000209f: JUMP
000020a0: JUMPDEST
000020a1: DUP4
000020a2: MSTORE
000020a3: SWAP2
000020a4: DUP4
000020a5: ADD
000020a6: SWAP2
000020a7: DUP4
000020a8: ADD
000020a9: PUSH2 0x208d
000020ac: JUMP
000020ad: JUMPDEST
000020ae: POP
000020af: SWAP7
000020b0: SWAP6
000020b1: POP
000020b2: POP
000020b3: POP
000020b4: POP
000020b5: POP
000020b6: POP
000020b7: JUMP
000020b8: JUMPDEST
000020b9: PUSH1 0x00
000020bb: DUP3
000020bc: PUSH1 0x1f
000020be: DUP4
000020bf: ADD
000020c0: SLT
000020c1: PUSH2 0x20c9
000020c4: JUMPI
000020c5: PUSH1 0x00
000020c7: DUP1
000020c8: REVERT
000020c9: JUMPDEST
000020ca: DUP2
000020cb: CALLDATALOAD
000020cc: PUSH1 0x20
000020ce: PUSH2 0x20d9
000020d1: PUSH2 0x2065
000020d4: DUP4
000020d5: PUSH2 0x2021
000020d8: JUMP
000020d9: JUMPDEST
000020da: DUP3
000020db: DUP2
000020dc: MSTORE
000020dd: PUSH1 0x05
000020df: SWAP3
000020e0: SWAP1
000020e1: SWAP3
000020e2: SHL
000020e3: DUP5
000020e4: ADD
000020e5: DUP2
000020e6: ADD
000020e7: SWAP2
000020e8: DUP2
000020e9: DUP2
000020ea: ADD
000020eb: SWAP1
000020ec: DUP7
000020ed: DUP5
000020ee: GT
000020ef: ISZERO
000020f0: PUSH2 0x20f8
000020f3: JUMPI
000020f4: PUSH1 0x00
000020f6: DUP1
000020f7: REVERT
000020f8: JUMPDEST
000020f9: DUP3
000020fa: DUP7
000020fb: ADD
000020fc: JUMPDEST
000020fd: DUP5
000020fe: DUP2
000020ff: LT
00002100: ISZERO
00002101: PUSH2 0x20ad
00002104: JUMPI
00002105: DUP1
00002106: CALLDATALOAD
00002107: DUP4
00002108: MSTORE
00002109: SWAP2
0000210a: DUP4
0000210b: ADD
0000210c: SWAP2
0000210d: DUP4
0000210e: ADD
0000210f: PUSH2 0x20fc
00002112: JUMP
00002113: JUMPDEST
00002114: PUSH1 0x00
00002116: DUP1
00002117: PUSH1 0x00
00002119: PUSH1 0x60
0000211b: DUP5
0000211c: DUP7
0000211d: SUB
0000211e: SLT
0000211f: ISZERO
00002120: PUSH2 0x2128
00002123: JUMPI
00002124: PUSH1 0x00
00002126: DUP1
00002127: REVERT
00002128: JUMPDEST
00002129: DUP4
0000212a: CALLDATALOAD
0000212b: PUSH1 0x01
0000212d: PUSH1 0x01
0000212f: PUSH1 0x40
00002131: SHL
00002132: SUB
00002133: DUP1
00002134: DUP3
00002135: GT
00002136: ISZERO
00002137: PUSH2 0x213f
0000213a: JUMPI
0000213b: PUSH1 0x00
0000213d: DUP1
0000213e: REVERT
0000213f: JUMPDEST
00002140: PUSH2 0x214b
00002143: DUP8
00002144: DUP4
00002145: DUP9
00002146: ADD
00002147: PUSH2 0x2044
0000214a: JUMP
0000214b: JUMPDEST
0000214c: SWAP5
0000214d: POP
0000214e: PUSH1 0x20
00002150: DUP7
00002151: ADD
00002152: CALLDATALOAD
00002153: SWAP2
00002154: POP
00002155: DUP1
00002156: DUP3
00002157: GT
00002158: ISZERO
00002159: PUSH2 0x2161
0000215c: JUMPI
0000215d: PUSH1 0x00
0000215f: DUP1
00002160: REVERT
00002161: JUMPDEST
00002162: POP
00002163: PUSH2 0x216e
00002166: DUP7
00002167: DUP3
00002168: DUP8
00002169: ADD
0000216a: PUSH2 0x20b8
0000216d: JUMP
0000216e: JUMPDEST
0000216f: SWAP3
00002170: POP
00002171: POP
00002172: PUSH1 0x40
00002174: DUP5
00002175: ADD
00002176: CALLDATALOAD
00002177: PUSH2 0x1f97
0000217a: DUP2
0000217b: PUSH2 0x1e4f
0000217e: JUMP
0000217f: JUMPDEST
00002180: PUSH1 0x00
00002182: DUP1
00002183: PUSH1 0x20
00002185: DUP4
00002186: DUP6
00002187: SUB
00002188: SLT
00002189: ISZERO
0000218a: PUSH2 0x2192
0000218d: JUMPI
0000218e: PUSH1 0x00
00002190: DUP1
00002191: REVERT
00002192: JUMPDEST
00002193: DUP3
00002194: CALLDATALOAD
00002195: PUSH1 0x01
00002197: PUSH1 0x01
00002199: PUSH1 0x40
0000219b: SHL
0000219c: SUB
0000219d: DUP2
0000219e: GT
0000219f: ISZERO
000021a0: PUSH2 0x21a8
000021a3: JUMPI
000021a4: PUSH1 0x00
000021a6: DUP1
000021a7: REVERT
000021a8: JUMPDEST
000021a9: PUSH2 0x1df6
000021ac: DUP6
000021ad: DUP3
000021ae: DUP7
000021af: ADD
000021b0: PUSH2 0x1e84
000021b3: JUMP
000021b4: JUMPDEST
000021b5: PUSH1 0x00
000021b7: DUP1
000021b8: PUSH1 0x00
000021ba: DUP1
000021bb: PUSH1 0x00
000021bd: DUP1
000021be: PUSH1 0x00
000021c0: DUP1
000021c1: PUSH1 0x00
000021c3: DUP1
000021c4: DUP11
000021c5: DUP13
000021c6: SUB
000021c7: PUSH2 0x01e0
000021ca: DUP2
000021cb: SLT
000021cc: ISZERO
000021cd: PUSH2 0x21d5
000021d0: JUMPI
000021d1: PUSH1 0x00
000021d3: DUP1
000021d4: REVERT
000021d5: JUMPDEST
000021d6: PUSH2 0x0100
000021d9: DUP1
000021da: DUP3
000021db: SLT
000021dc: ISZERO
000021dd: PUSH2 0x21e5
000021e0: JUMPI
000021e1: PUSH1 0x00
000021e3: DUP1
000021e4: REVERT
000021e5: JUMPDEST
000021e6: DUP13
000021e7: SWAP12
000021e8: POP
000021e9: DUP12
000021ea: ADD
000021eb: CALLDATALOAD
000021ec: SWAP1
000021ed: POP
000021ee: PUSH1 0x01
000021f0: PUSH1 0x01
000021f2: PUSH1 0x40
000021f4: SHL
000021f5: SUB
000021f6: DUP1
000021f7: DUP3
000021f8: GT
000021f9: ISZERO
000021fa: PUSH2 0x2202
000021fd: JUMPI
000021fe: PUSH1 0x00
00002200: DUP1
00002201: REVERT
00002202: JUMPDEST
00002203: PUSH2 0x220e
00002206: DUP15
00002207: DUP4
00002208: DUP16
00002209: ADD
0000220a: PUSH2 0x1e84
0000220d: JUMP
0000220e: JUMPDEST
0000220f: SWAP1
00002210: SWAP12
00002211: POP
00002212: SWAP10
00002213: POP
00002214: PUSH2 0x0120
00002217: DUP14
00002218: ADD
00002219: CALLDATALOAD
0000221a: SWAP9
0000221b: POP
0000221c: PUSH2 0x0140
0000221f: DUP14
00002220: ADD
00002221: CALLDATALOAD
00002222: SWAP2
00002223: POP
00002224: PUSH2 0x222c
00002227: DUP3
00002228: PUSH2 0x1e4f
0000222b: JUMP
0000222c: JUMPDEST
0000222d: SWAP1
0000222e: SWAP7
0000222f: POP
00002230: PUSH2 0x0160
00002233: DUP13
00002234: ADD
00002235: CALLDATALOAD
00002236: SWAP6
00002237: POP
00002238: PUSH2 0x0180
0000223b: DUP13
0000223c: ADD
0000223d: CALLDATALOAD
0000223e: SWAP5
0000223f: POP
00002240: PUSH2 0x01a0
00002243: DUP13
00002244: ADD
00002245: CALLDATALOAD
00002246: SWAP4
00002247: POP
00002248: PUSH2 0x01c0
0000224b: DUP13
0000224c: ADD
0000224d: CALLDATALOAD
0000224e: SWAP1
0000224f: DUP1
00002250: DUP3
00002251: GT
00002252: ISZERO
00002253: PUSH2 0x225b
00002256: JUMPI
00002257: PUSH1 0x00
00002259: DUP1
0000225a: REVERT
0000225b: JUMPDEST
0000225c: POP
0000225d: PUSH2 0x2268
00002260: DUP14
00002261: DUP3
00002262: DUP15
00002263: ADD
00002264: PUSH2 0x1e84
00002267: JUMP
00002268: JUMPDEST
00002269: SWAP2
0000226a: POP
0000226b: DUP1
0000226c: SWAP4
0000226d: POP
0000226e: POP
0000226f: DUP1
00002270: SWAP2
00002271: POP
00002272: POP
00002273: SWAP3
00002274: SWAP6
00002275: SWAP9
00002276: SWAP12
00002277: SWAP2
00002278: SWAP5
00002279: SWAP8
0000227a: SWAP11
0000227b: POP
0000227c: SWAP3
0000227d: SWAP6
0000227e: SWAP9
0000227f: POP
00002280: JUMP
00002281: JUMPDEST
00002282: PUSH1 0x00
00002284: PUSH1 0x20
00002286: DUP3
00002287: DUP5
00002288: SUB
00002289: SLT
0000228a: ISZERO
0000228b: PUSH2 0x2293
0000228e: JUMPI
0000228f: PUSH1 0x00
00002291: DUP1
00002292: REVERT
00002293: JUMPDEST
00002294: DUP2
00002295: CALLDATALOAD
00002296: PUSH1 0x01
00002298: PUSH1 0x01
0000229a: PUSH1 0x40
0000229c: SHL
0000229d: SUB
0000229e: DUP2
0000229f: GT
000022a0: ISZERO
000022a1: PUSH2 0x22a9
000022a4: JUMPI
000022a5: PUSH1 0x00
000022a7: DUP1
000022a8: REVERT
000022a9: JUMPDEST
000022aa: DUP3
000022ab: ADD
000022ac: PUSH1 0x40
000022ae: DUP2
000022af: DUP6
000022b0: SUB
000022b1: SLT
000022b2: ISZERO
000022b3: PUSH2 0x08e3
000022b6: JUMPI
000022b7: PUSH1 0x00
000022b9: DUP1
000022ba: REVERT
000022bb: JUMPDEST
000022bc: PUSH1 0x00
000022be: DUP1
000022bf: PUSH1 0x00
000022c1: PUSH1 0x60
000022c3: DUP5
000022c4: DUP7
000022c5: SUB
000022c6: SLT
000022c7: ISZERO
000022c8: PUSH2 0x22d0
000022cb: JUMPI
000022cc: PUSH1 0x00
000022ce: DUP1
000022cf: REVERT
000022d0: JUMPDEST
000022d1: DUP4
000022d2: CALLDATALOAD
000022d3: PUSH2 0x22db
000022d6: DUP2
000022d7: PUSH2 0x1e4f
000022da: JUMP
000022db: JUMPDEST
000022dc: SWAP3
000022dd: POP
000022de: PUSH1 0x20
000022e0: DUP5
000022e1: ADD
000022e2: CALLDATALOAD
000022e3: PUSH1 0x01
000022e5: PUSH1 0x01
000022e7: PUSH1 0x40
000022e9: SHL
000022ea: SUB
000022eb: DUP1
000022ec: DUP3
000022ed: GT
000022ee: ISZERO
000022ef: PUSH2 0x22f7
000022f2: JUMPI
000022f3: PUSH1 0x00
000022f5: DUP1
000022f6: REVERT
000022f7: JUMPDEST
000022f8: PUSH2 0x2303
000022fb: DUP8
000022fc: DUP4
000022fd: DUP9
000022fe: ADD
000022ff: PUSH2 0x2044
00002302: JUMP
00002303: JUMPDEST
00002304: SWAP4
00002305: POP
00002306: PUSH1 0x40
00002308: DUP7
00002309: ADD
0000230a: CALLDATALOAD
0000230b: SWAP2
0000230c: POP
0000230d: DUP1
0000230e: DUP3
0000230f: GT
00002310: ISZERO
00002311: PUSH2 0x2319
00002314: JUMPI
00002315: PUSH1 0x00
00002317: DUP1
00002318: REVERT
00002319: JUMPDEST
0000231a: POP
0000231b: PUSH2 0x2326
0000231e: DUP7
0000231f: DUP3
00002320: DUP8
00002321: ADD
00002322: PUSH2 0x20b8
00002325: JUMP
00002326: JUMPDEST
00002327: SWAP2
00002328: POP
00002329: POP
0000232a: SWAP3
0000232b: POP
0000232c: SWAP3
0000232d: POP
0000232e: SWAP3
0000232f: JUMP
00002330: JUMPDEST
00002331: PUSH1 0x20
00002333: DUP1
00002334: DUP3
00002335: MSTORE
00002336: PUSH1 0x0e
00002338: SWAP1
00002339: DUP3
0000233a: ADD
0000233b: MSTORE
0000233c: PUSH14 0x2634b89d1037b7363ca7bbb732b9
0000234b: PUSH1 0x91
0000234d: SHL
0000234e: PUSH1 0x40
00002350: DUP3
00002351: ADD
00002352: MSTORE
00002353: PUSH1 0x60
00002355: ADD
00002356: SWAP1
00002357: JUMP
00002358: JUMPDEST
00002359: PUSH4 0x4e487b71
0000235e: PUSH1 0xe0
00002360: SHL
00002361: PUSH1 0x00
00002363: MSTORE
00002364: PUSH1 0x32
00002366: PUSH1 0x04
00002368: MSTORE
00002369: PUSH1 0x24
0000236b: PUSH1 0x00
0000236d: REVERT
0000236e: JUMPDEST
0000236f: PUSH1 0x00
00002371: PUSH1 0x01
00002373: DUP3
00002374: ADD
00002375: PUSH2 0x238e
00002378: JUMPI
00002379: PUSH4 0x4e487b71
0000237e: PUSH1 0xe0
00002380: SHL
00002381: PUSH1 0x00
00002383: MSTORE
00002384: PUSH1 0x11
00002386: PUSH1 0x04
00002388: MSTORE
00002389: PUSH1 0x24
0000238b: PUSH1 0x00
0000238d: REVERT
0000238e: JUMPDEST
0000238f: POP
00002390: PUSH1 0x01
00002392: ADD
00002393: SWAP1
00002394: JUMP
00002395: JUMPDEST
00002396: PUSH1 0x20
00002398: DUP1
00002399: DUP3
0000239a: MSTORE
0000239b: PUSH1 0x0c
0000239d: SWAP1
0000239e: DUP3
0000239f: ADD
000023a0: MSTORE
000023a1: PUSH12 0x4c69713a206f6e6c794f7463
000023ae: PUSH1 0xa0
000023b0: SHL
000023b1: PUSH1 0x40
000023b3: DUP3
000023b4: ADD
000023b5: MSTORE
000023b6: PUSH1 0x60
000023b8: ADD
000023b9: SWAP1
000023ba: JUMP
000023bb: JUMPDEST
000023bc: PUSH1 0x00
000023be: DUP1
000023bf: DUP4
000023c0: CALLDATALOAD
000023c1: PUSH1 0x1e
000023c3: NOT
000023c4: DUP5
000023c5: CALLDATASIZE
000023c6: SUB
000023c7: ADD
000023c8: DUP2
000023c9: SLT
000023ca: PUSH2 0x23d2
000023cd: JUMPI
000023ce: PUSH1 0x00
000023d0: DUP1
000023d1: REVERT
000023d2: JUMPDEST
000023d3: DUP4
000023d4: ADD
000023d5: PUSH1 0x20
000023d7: DUP2
000023d8: ADD
000023d9: SWAP3
000023da: POP
000023db: CALLDATALOAD
000023dc: SWAP1
000023dd: POP
000023de: PUSH1 0x01
000023e0: PUSH1 0x01
000023e2: PUSH1 0x40
000023e4: SHL
000023e5: SUB
000023e6: DUP2
000023e7: GT
000023e8: ISZERO
000023e9: PUSH2 0x23f1
000023ec: JUMPI
000023ed: PUSH1 0x00
000023ef: DUP1
000023f0: REVERT
000023f1: JUMPDEST
000023f2: DUP1
000023f3: CALLDATASIZE
000023f4: SUB
000023f5: DUP3
000023f6: SGT
000023f7: ISZERO
000023f8: PUSH2 0x1dba
000023fb: JUMPI
000023fc: PUSH1 0x00
000023fe: DUP1
000023ff: REVERT
00002400: JUMPDEST
00002401: DUP2
00002402: DUP4
00002403: MSTORE
00002404: DUP2
00002405: DUP2
00002406: PUSH1 0x20
00002408: DUP6
00002409: ADD
0000240a: CALLDATACOPY
0000240b: POP
0000240c: PUSH1 0x00
0000240e: DUP3
0000240f: DUP3
00002410: ADD
00002411: PUSH1 0x20
00002413: SWAP1
00002414: DUP2
00002415: ADD
00002416: SWAP2
00002417: SWAP1
00002418: SWAP2
00002419: MSTORE
0000241a: PUSH1 0x1f
0000241c: SWAP1
0000241d: SWAP2
0000241e: ADD
0000241f: PUSH1 0x1f
00002421: NOT
00002422: AND
00002423: SWAP1
00002424: SWAP2
00002425: ADD
00002426: ADD
00002427: SWAP1
00002428: JUMP
00002429: JUMPDEST
0000242a: PUSH1 0x00
0000242c: PUSH2 0x2435
0000242f: DUP3
00002430: DUP4
00002431: PUSH2 0x23bb
00002434: JUMP
00002435: JUMPDEST
00002436: PUSH1 0x40
00002438: DUP6
00002439: MSTORE
0000243a: PUSH2 0x2447
0000243d: PUSH1 0x40
0000243f: DUP7
00002440: ADD
00002441: DUP3
00002442: DUP5
00002443: PUSH2 0x2400
00002446: JUMP
00002447: JUMPDEST
00002448: SWAP2
00002449: POP
0000244a: POP
0000244b: PUSH2 0x2457
0000244e: PUSH1 0x20
00002450: DUP5
00002451: ADD
00002452: DUP5
00002453: PUSH2 0x23bb
00002456: JUMP
00002457: JUMPDEST
00002458: DUP6
00002459: DUP4
0000245a: SUB
0000245b: PUSH1 0x20
0000245d: DUP8
0000245e: ADD
0000245f: MSTORE
00002460: PUSH2 0x246a
00002463: DUP4
00002464: DUP3
00002465: DUP5
00002466: PUSH2 0x2400
00002469: JUMP
0000246a: JUMPDEST
0000246b: SWAP7
0000246c: SWAP6
0000246d: POP
0000246e: POP
0000246f: POP
00002470: POP
00002471: POP
00002472: POP
00002473: JUMP
00002474: JUMPDEST
00002475: PUSH1 0x20
00002477: DUP1
00002478: DUP3
00002479: MSTORE
0000247a: DUP2
0000247b: DUP2
0000247c: ADD
0000247d: DUP4
0000247e: SWAP1
0000247f: MSTORE
00002480: PUSH1 0x00
00002482: SWAP1
00002483: PUSH1 0x40
00002485: PUSH1 0x05
00002487: DUP6
00002488: SWAP1
00002489: SHL
0000248a: DUP5
0000248b: ADD
0000248c: DUP2
0000248d: ADD
0000248e: SWAP1
0000248f: DUP5
00002490: ADD
00002491: DUP7
00002492: DUP5
00002493: DUP1
00002494: JUMPDEST
00002495: DUP9
00002496: DUP2
00002497: LT
00002498: ISZERO
00002499: PUSH2 0x24d8
0000249c: JUMPI
0000249d: DUP8
0000249e: DUP6
0000249f: SUB
000024a0: PUSH1 0x3f
000024a2: NOT
000024a3: ADD
000024a4: DUP5
000024a5: MSTORE
000024a6: DUP3
000024a7: CALLDATALOAD
000024a8: CALLDATASIZE
000024a9: DUP12
000024aa: SWAP1
000024ab: SUB
000024ac: PUSH1 0x3e
000024ae: NOT
000024af: ADD
000024b0: DUP2
000024b1: SLT
000024b2: PUSH2 0x24b9
000024b5: JUMPI
000024b6: DUP3
000024b7: DUP4
000024b8: REVERT
000024b9: JUMPDEST
000024ba: PUSH2 0x24c5
000024bd: DUP7
000024be: DUP13
000024bf: DUP4
000024c0: ADD
000024c1: PUSH2 0x2429
000024c4: JUMP
000024c5: JUMPDEST
000024c6: SWAP6
000024c7: POP
000024c8: POP
000024c9: SWAP3
000024ca: DUP6
000024cb: ADD
000024cc: SWAP3
000024cd: SWAP2
000024ce: DUP6
000024cf: ADD
000024d0: SWAP2
000024d1: PUSH1 0x01
000024d3: ADD
000024d4: PUSH2 0x2494
000024d7: JUMP
000024d8: JUMPDEST
000024d9: POP
000024da: SWAP3
000024db: SWAP9
000024dc: SWAP8
000024dd: POP
000024de: POP
000024df: POP
000024e0: POP
000024e1: POP
000024e2: POP
000024e3: POP
000024e4: POP
000024e5: JUMP
000024e6: JUMPDEST
000024e7: PUSH1 0x20
000024e9: DUP1
000024ea: DUP3
000024eb: MSTORE
000024ec: PUSH1 0x14
000024ee: SWAP1
000024ef: DUP3
000024f0: ADD
000024f1: MSTORE
000024f2: PUSH20 0x098d2e27440d8cadccee8d040dad2e6dac2e8c6d
00002507: PUSH1 0x63
00002509: SHL
0000250a: PUSH1 0x40
0000250c: DUP3
0000250d: ADD
0000250e: MSTORE
0000250f: PUSH1 0x60
00002511: ADD
00002512: SWAP1
00002513: JUMP
00002514: JUMPDEST
00002515: PUSH1 0x00
00002517: PUSH1 0x1f
00002519: DUP4
0000251a: DUP2
0000251b: DUP5
0000251c: ADD
0000251d: SLT
0000251e: PUSH2 0x2526
00002521: JUMPI
00002522: PUSH1 0x00
00002524: DUP1
00002525: REVERT
00002526: JUMPDEST
00002527: DUP3
00002528: CALLDATALOAD
00002529: PUSH1 0x20
0000252b: PUSH2 0x2536
0000252e: PUSH2 0x2065
00002531: DUP4
00002532: PUSH2 0x2021
00002535: JUMP
00002536: JUMPDEST
00002537: DUP3
00002538: DUP2
00002539: MSTORE
0000253a: PUSH1 0x05
0000253c: SWAP3
0000253d: SWAP1
0000253e: SWAP3
0000253f: SHL
00002540: DUP6
00002541: ADD
00002542: DUP2
00002543: ADD
00002544: SWAP2
00002545: DUP2
00002546: DUP2
00002547: ADD
00002548: SWAP1
00002549: DUP8
0000254a: DUP5
0000254b: GT
0000254c: ISZERO
0000254d: PUSH2 0x2555
00002550: JUMPI
00002551: PUSH1 0x00
00002553: DUP1
00002554: REVERT
00002555: JUMPDEST
00002556: DUP3
00002557: DUP8
00002558: ADD
00002559: JUMPDEST
0000255a: DUP5
0000255b: DUP2
0000255c: LT
0000255d: ISZERO
0000255e: PUSH2 0x25eb
00002561: JUMPI
00002562: DUP1
00002563: CALLDATALOAD
00002564: PUSH1 0x01
00002566: PUSH1 0x01
00002568: PUSH1 0x40
0000256a: SHL
0000256b: SUB
0000256c: DUP1
0000256d: DUP3
0000256e: GT
0000256f: ISZERO
00002570: PUSH2 0x2579
00002573: JUMPI
00002574: PUSH1 0x00
00002576: DUP1
00002577: DUP2
00002578: REVERT
00002579: JUMPDEST
0000257a: DUP2
0000257b: DUP11
0000257c: ADD
0000257d: SWAP2
0000257e: POP
0000257f: DUP11
00002580: PUSH1 0x3f
00002582: DUP4
00002583: ADD
00002584: SLT
00002585: PUSH2 0x258e
00002588: JUMPI
00002589: PUSH1 0x00
0000258b: DUP1
0000258c: DUP2
0000258d: REVERT
0000258e: JUMPDEST
0000258f: DUP6
00002590: DUP3
00002591: ADD
00002592: CALLDATALOAD
00002593: PUSH1 0x40
00002595: DUP3
00002596: DUP3
00002597: GT
00002598: ISZERO
00002599: PUSH2 0x25a4
0000259c: JUMPI
0000259d: PUSH2 0x25a4
000025a0: PUSH2 0x1fdb
000025a3: JUMP
000025a4: JUMPDEST
000025a5: PUSH2 0x25b5
000025a8: DUP3
000025a9: DUP12
000025aa: ADD
000025ab: PUSH1 0x1f
000025ad: NOT
000025ae: AND
000025af: DUP10
000025b0: ADD
000025b1: PUSH2 0x1ff1
000025b4: JUMP
000025b5: JUMPDEST
000025b6: SWAP3
000025b7: POP
000025b8: DUP2
000025b9: DUP4
000025ba: MSTORE
000025bb: DUP13
000025bc: DUP2
000025bd: DUP4
000025be: DUP7
000025bf: ADD
000025c0: ADD
000025c1: GT
000025c2: ISZERO
000025c3: PUSH2 0x25cc
000025c6: JUMPI
000025c7: PUSH1 0x00
000025c9: DUP1
000025ca: DUP2
000025cb: REVERT
000025cc: JUMPDEST
000025cd: DUP2
000025ce: DUP2
000025cf: DUP6
000025d0: ADD
000025d1: DUP10
000025d2: DUP6
000025d3: ADD
000025d4: CALLDATACOPY
000025d5: POP
000025d6: PUSH1 0x00
000025d8: SWAP1
000025d9: DUP3
000025da: ADD
000025db: DUP8
000025dc: ADD
000025dd: MSTORE
000025de: DUP5
000025df: MSTORE
000025e0: POP
000025e1: SWAP2
000025e2: DUP4
000025e3: ADD
000025e4: SWAP2
000025e5: DUP4
000025e6: ADD
000025e7: PUSH2 0x2559
000025ea: JUMP
000025eb: JUMPDEST
000025ec: POP
000025ed: SWAP8
000025ee: SWAP7
000025ef: POP
000025f0: POP
000025f1: POP
000025f2: POP
000025f3: POP
000025f4: POP
000025f5: POP
000025f6: JUMP
000025f7: JUMPDEST
000025f8: PUSH1 0x00
000025fa: DUP1
000025fb: PUSH1 0x40
000025fd: DUP4
000025fe: DUP6
000025ff: SUB
00002600: SLT
00002601: ISZERO
00002602: PUSH2 0x260a
00002605: JUMPI
00002606: PUSH1 0x00
00002608: DUP1
00002609: REVERT
0000260a: JUMPDEST
0000260b: DUP3
0000260c: CALLDATALOAD
0000260d: PUSH1 0x01
0000260f: PUSH1 0x01
00002611: PUSH1 0x40
00002613: SHL
00002614: SUB
00002615: DUP1
00002616: DUP3
00002617: GT
00002618: ISZERO
00002619: PUSH2 0x2621
0000261c: JUMPI
0000261d: PUSH1 0x00
0000261f: DUP1
00002620: REVERT
00002621: JUMPDEST
00002622: DUP2
00002623: DUP6
00002624: ADD
00002625: SWAP2
00002626: POP
00002627: DUP6
00002628: PUSH1 0x1f
0000262a: DUP4
0000262b: ADD
0000262c: SLT
0000262d: PUSH2 0x2635
00002630: JUMPI
00002631: PUSH1 0x00
00002633: DUP1
00002634: REVERT
00002635: JUMPDEST
00002636: DUP2
00002637: CALLDATALOAD
00002638: PUSH1 0x20
0000263a: PUSH2 0x2645
0000263d: PUSH2 0x2065
00002640: DUP4
00002641: PUSH2 0x2021
00002644: JUMP
00002645: JUMPDEST
00002646: DUP3
00002647: DUP2
00002648: MSTORE
00002649: PUSH1 0x05
0000264b: SWAP3
0000264c: SWAP1
0000264d: SWAP3
0000264e: SHL
0000264f: DUP5
00002650: ADD
00002651: DUP2
00002652: ADD
00002653: SWAP2
00002654: DUP2
00002655: DUP2
00002656: ADD
00002657: SWAP1
00002658: DUP10
00002659: DUP5
0000265a: GT
0000265b: ISZERO
0000265c: PUSH2 0x2664
0000265f: JUMPI
00002660: PUSH1 0x00
00002662: DUP1
00002663: REVERT
00002664: JUMPDEST
00002665: SWAP5
00002666: DUP3
00002667: ADD
00002668: SWAP5
00002669: JUMPDEST
0000266a: DUP4
0000266b: DUP7
0000266c: LT
0000266d: ISZERO
0000266e: PUSH2 0x2682
00002671: JUMPI
00002672: DUP6
00002673: CALLDATALOAD
00002674: DUP3
00002675: MSTORE
00002676: SWAP5
00002677: DUP3
00002678: ADD
00002679: SWAP5
0000267a: SWAP1
0000267b: DUP3
0000267c: ADD
0000267d: SWAP1
0000267e: PUSH2 0x2669
00002681: JUMP
00002682: JUMPDEST
00002683: SWAP7
00002684: POP
00002685: POP
00002686: DUP7
00002687: ADD
00002688: CALLDATALOAD
00002689: SWAP3
0000268a: POP
0000268b: POP
0000268c: DUP1
0000268d: DUP3
0000268e: GT
0000268f: ISZERO
00002690: PUSH2 0x2698
00002693: JUMPI
00002694: PUSH1 0x00
00002696: DUP1
00002697: REVERT
00002698: JUMPDEST
00002699: POP
0000269a: PUSH2 0x26a5
0000269d: DUP6
0000269e: DUP3
0000269f: DUP7
000026a0: ADD
000026a1: PUSH2 0x2514
000026a4: JUMP
000026a5: JUMPDEST
000026a6: SWAP2
000026a7: POP
000026a8: POP
000026a9: SWAP3
000026aa: POP
000026ab: SWAP3
000026ac: SWAP1
000026ad: POP
000026ae: JUMP
000026af: JUMPDEST
000026b0: PUSH1 0x00
000026b2: JUMPDEST
000026b3: DUP4
000026b4: DUP2
000026b5: LT
000026b6: ISZERO
000026b7: PUSH2 0x26ca
000026ba: JUMPI
000026bb: DUP2
000026bc: DUP2
000026bd: ADD
000026be: MLOAD
000026bf: DUP4
000026c0: DUP3
000026c1: ADD
000026c2: MSTORE
000026c3: PUSH1 0x20
000026c5: ADD
000026c6: PUSH2 0x26b2
000026c9: JUMP
000026ca: JUMPDEST
000026cb: POP
000026cc: POP
000026cd: PUSH1 0x00
000026cf: SWAP2
000026d0: ADD
000026d1: MSTORE
000026d2: JUMP
000026d3: JUMPDEST
000026d4: PUSH1 0x00
000026d6: DUP3
000026d7: MLOAD
000026d8: PUSH2 0x26e5
000026db: DUP2
000026dc: DUP5
000026dd: PUSH1 0x20
000026df: DUP8
000026e0: ADD
000026e1: PUSH2 0x26af
000026e4: JUMP
000026e5: JUMPDEST
000026e6: SWAP2
000026e7: SWAP1
000026e8: SWAP2
000026e9: ADD
000026ea: SWAP3
000026eb: SWAP2
000026ec: POP
000026ed: POP
000026ee: JUMP
000026ef: JUMPDEST
000026f0: DUP3
000026f1: DUP2
000026f2: MSTORE
000026f3: PUSH1 0x40
000026f5: PUSH1 0x20
000026f7: DUP3
000026f8: ADD
000026f9: MSTORE
000026fa: PUSH1 0x00
000026fc: DUP3
000026fd: MLOAD
000026fe: DUP1
000026ff: PUSH1 0x40
00002701: DUP5
00002702: ADD
00002703: MSTORE
00002704: PUSH2 0x2714
00002707: DUP2
00002708: PUSH1 0x60
0000270a: DUP6
0000270b: ADD
0000270c: PUSH1 0x20
0000270e: DUP8
0000270f: ADD
00002710: PUSH2 0x26af
00002713: JUMP
00002714: JUMPDEST
00002715: PUSH1 0x1f
00002717: ADD
00002718: PUSH1 0x1f
0000271a: NOT
0000271b: AND
0000271c: SWAP2
0000271d: SWAP1
0000271e: SWAP2
0000271f: ADD
00002720: PUSH1 0x60
00002722: ADD
00002723: SWAP4
00002724: SWAP3
00002725: POP
00002726: POP
00002727: POP
00002728: JUMP
00002729: JUMPDEST
0000272a: PUSH1 0x20
0000272c: DUP1
0000272d: DUP3
0000272e: MSTORE
0000272f: PUSH1 0x10
00002731: SWAP1
00002732: DUP3
00002733: ADD
00002734: MSTORE
00002735: PUSH16 0x2634b89d1037b7363ca1b0b9b434b2b9
00002746: PUSH1 0x81
00002748: SHL
00002749: PUSH1 0x40
0000274b: DUP3
0000274c: ADD
0000274d: MSTORE
0000274e: PUSH1 0x60
00002750: ADD
00002751: SWAP1
00002752: JUMP
00002753: JUMPDEST
00002754: PUSH1 0x20
00002756: DUP1
00002757: DUP3
00002758: MSTORE
00002759: PUSH1 0x19
0000275b: SWAP1
0000275c: DUP3
0000275d: ADD
0000275e: MSTORE
0000275f: PUSH25 0x131a5c4e881dda5d1a191c985dd85b081dda1a5d195b1a5cdd
00002779: PUSH1 0x3a
0000277b: SHL
0000277c: PUSH1 0x40
0000277e: DUP3
0000277f: ADD
00002780: MSTORE
00002781: PUSH1 0x60
00002783: ADD
00002784: SWAP1
00002785: JUMP
00002786: JUMPDEST
00002787: PUSH1 0x20
00002789: DUP2
0000278a: MSTORE
0000278b: PUSH1 0x00
0000278d: PUSH2 0x08e3
00002790: PUSH1 0x20
00002792: DUP4
00002793: ADD
00002794: DUP5
00002795: PUSH2 0x2429
00002798: JUMP
00002799: JUMPDEST
0000279a: PUSH1 0x00
0000279c: PUSH1 0x20
0000279e: DUP3
0000279f: DUP5
000027a0: SUB
000027a1: SLT
000027a2: ISZERO
000027a3: PUSH2 0x27ab
000027a6: JUMPI
000027a7: PUSH1 0x00
000027a9: DUP1
000027aa: REVERT
000027ab: JUMPDEST
000027ac: POP
000027ad: MLOAD
000027ae: SWAP2
000027af: SWAP1
000027b0: POP
000027b1: JUMP
000027b2: JUMPDEST
000027b3: DUP2
000027b4: DUP4
000027b5: DUP3
000027b6: CALLDATACOPY
000027b7: PUSH1 0x00
000027b9: SWAP2
000027ba: ADD
000027bb: SWAP1
000027bc: DUP2
000027bd: MSTORE
000027be: SWAP2
000027bf: SWAP1
000027c0: POP
000027c1: JUMP
000027c2: JUMPDEST
000027c3: PUSH1 0x00
000027c5: PUSH1 0x20
000027c7: DUP3
000027c8: DUP5
000027c9: SUB
000027ca: SLT
000027cb: ISZERO
000027cc: PUSH2 0x27d4
000027cf: JUMPI
000027d0: PUSH1 0x00
000027d2: DUP1
000027d3: REVERT
000027d4: JUMPDEST
000027d5: DUP2
000027d6: MLOAD
000027d7: PUSH2 0x08e3
000027da: DUP2
000027db: PUSH2 0x1f49
000027de: JUMP
000027df: INVALID
000027e0: LOG2
000027e1: PUSH5 0x6970667358
000027e7: UNKNOWN(0x22)
000027e8: SLT
000027e9: KECCAK256
000027ea: UNKNOWN(0xBF)
000027eb: UNKNOWN(0xDB)
000027ec: UNKNOWN(0xEA)
000027ed: PUSH3 0xb07e4f
000027f1: UNKNOWN(0xF7)
000027f2: UNKNOWN(0xFB)
000027f3: UNKNOWN(0x21)
000027f4: PUSH3 0xd48e95
000027f8: BASEFEE
000027f9: PUSH3 0x6c89c4
000027fd: SWAP11
000027fe: UNKNOWN(0xB6)
000027ff: UNKNOWN(0xE8)
00002800: CALLVALUE
00002801: UNKNOWN(0xC6)
00002802: UNKNOWN(0xAC)
00002803: MLOAD
00002804: DUP5
00002805: AND
00002806: UNKNOWN(0xAE)
00002807: TIMESTAMP
00002808: UNKNOWN(0x29)
00002809: JUMP
0000280a: PUSH5 0x736f6c6343
00002810: STOP
00002811: ADDMOD
00002812: GT
00002813: STOP
00002814: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xadf38ba1",
            "selector": "0xadf38ba1",
            "calldata_variants": [
                "0xadf38ba1",
                "0xadf38ba10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaf34bd8b",
            "selector": "0xaf34bd8b",
            "calldata_variants": [
                "0xaf34bd8b",
                "0xaf34bd8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb8ca8dd8",
            "selector": "0xb8ca8dd8",
            "calldata_variants": [
                "0xb8ca8dd8",
                "0xb8ca8dd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbbd4f294",
            "selector": "0xbbd4f294",
            "calldata_variants": [
                "0xbbd4f294",
                "0xbbd4f2940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbded8813",
            "selector": "0xbded8813",
            "calldata_variants": [
                "0xbded8813",
                "0xbded88130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0bbfe91",
            "selector": "0xc0bbfe91",
            "calldata_variants": [
                "0xc0bbfe91",
                "0xc0bbfe910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2182878",
            "selector": "0xc2182878",
            "calldata_variants": [
                "0xc2182878",
                "0xc21828780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf5da507",
            "selector": "0xdf5da507",
            "calldata_variants": [
                "0xdf5da507",
                "0xdf5da5070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4218,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x1a286f659c8e2eb0cab5fd91475d149ffb4c7520305b1b288b12694a8ae1b76d
call_targets: 0x9ba0cf1588e1dfa905ec948f7fe5104dd40eda31
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1a286f659c8e2eb0cab5fd91475d149ffb4c7520305b1b288b12694a8ae1b76d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x9ba0cf1588e1dfa905ec948f7fe5104dd40eda31"
    ],
    "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": "0xadf38ba1",
            "selector": "0xadf38ba1",
            "calldata_variants": [
                "0xadf38ba1",
                "0xadf38ba10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaf34bd8b",
            "selector": "0xaf34bd8b",
            "calldata_variants": [
                "0xaf34bd8b",
                "0xaf34bd8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb8ca8dd8",
            "selector": "0xb8ca8dd8",
            "calldata_variants": [
                "0xb8ca8dd8",
                "0xb8ca8dd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbbd4f294",
            "selector": "0xbbd4f294",
            "calldata_variants": [
                "0xbbd4f294",
                "0xbbd4f2940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbded8813",
            "selector": "0xbded8813",
            "calldata_variants": [
                "0xbded8813",
                "0xbded88130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0bbfe91",
            "selector": "0xc0bbfe91",
            "calldata_variants": [
                "0xc0bbfe91",
                "0xc0bbfe910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2182878",
            "selector": "0xc2182878",
            "calldata_variants": [
                "0xc2182878",
                "0xc21828780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf5da507",
            "selector": "0xdf5da507",
            "calldata_variants": [
                "0xdf5da507",
                "0xdf5da5070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 535,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2470,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2947,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [
        {
            "pc": 4218,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 11
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x1a286f659c8e2eb0cab5fd91475d149ffb4c7520305b1b288b12694a8ae1b76d
call_targets: 0x9ba0cf1588e1dfa905ec948f7fe5104dd40eda31
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1a286f659c8e2eb0cab5fd91475d149ffb4c7520305b1b288b12694a8ae1b76d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x9ba0cf1588e1dfa905ec948f7fe5104dd40eda31"
    ],
    "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": "0xadf38ba1",
            "selector": "0xadf38ba1",
            "calldata_variants": [
                "0xadf38ba1",
                "0xadf38ba10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xaf34bd8b",
            "selector": "0xaf34bd8b",
            "calldata_variants": [
                "0xaf34bd8b",
                "0xaf34bd8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb8ca8dd8",
            "selector": "0xb8ca8dd8",
            "calldata_variants": [
                "0xb8ca8dd8",
                "0xb8ca8dd80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbbd4f294",
            "selector": "0xbbd4f294",
            "calldata_variants": [
                "0xbbd4f294",
                "0xbbd4f2940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xbded8813",
            "selector": "0xbded8813",
            "calldata_variants": [
                "0xbded8813",
                "0xbded88130000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0bbfe91",
            "selector": "0xc0bbfe91",
            "calldata_variants": [
                "0xc0bbfe91",
                "0xc0bbfe910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2182878",
            "selector": "0xc2182878",
            "calldata_variants": [
                "0xc2182878",
                "0xc21828780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf5da507",
            "selector": "0xdf5da507",
            "calldata_variants": [
                "0xdf5da507",
                "0xdf5da5070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 535,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2470,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2947,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": [
        {
            "pc": 4218,
            "type": "tx_origin_used"
        }
    ]
}
low auth codex Authorization depends on tx.origin (phishing-prone pattern) 65 no
view
evidence_json
{
    "evidence": "Disassembly from the runtime bytecode shows an ORIGIN opcode used for an allowlist lookup (slot 2) followed by a revert with the string \"tx.origin is not OTC\" (e.g., PC ~0x107a: ORIGIN -> KECCAK256 -> SLOAD -> EQ). The revert string is embedded in the runtime bytecode.",
    "locations": [
        "BYTECODE_BUNDLE.txt:5"
    ],
    "recommendation": "Avoid tx.origin in authorization checks; gate solely on msg.sender and explicit role/allowlist logic.",
    "exploit_scenario": "Because authorization uses tx.origin, any contract in the call chain can satisfy this check as long as the origin EOA is whitelisted. A phishing contract can induce a whitelisted EOA to initiate a transaction and then invoke the OTC-only path, bypassing user intent and making the tx.origin check ineffective at validating the immediate caller."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 8
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 14
}