4ee9e6aa-cee2-43f6-81ad-5f467998a375
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 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 |
No slither job recorded yet.
[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"]}]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_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 |
viewtrace_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 |
viewtrace_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 | — |
viewevidence_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 | — |
viewevidence_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 | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 14
}
|