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

Analysis Run

b4530aee-c617-483e-86a3-b553d5f4b924

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 6:50 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31319 report.consolidate complete 1 / 1 3 months ago
110912 artifact.fetch complete 1 / 3 1 week ago
110913 tool.cast_disasm complete 1 / 3 1 week ago
110914 analysis.bundle complete 1 / 3 1 week ago
110915 capability.graph complete 1 / 3 1 week ago
110916 detector.run complete 1 / 3 1 week ago
110917 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit path identified from the runtime bytecode; the only reachable external CALL appears gated by signature/threshold checks, and no reachable delegatecall/selfdestruct was found.
View stderr
[codex:512175] OpenAI Codex v0.77.0 (research preview)
[codex:512175] --------
[codex:512175] workdir: /tmp/codex-multi-tzwbif0b
[codex:512175] model: gpt-5.2-codex
[codex:512175] provider: openai
[codex:512175] approval: never
[codex:512175] sandbox: read-only
[codex:512175] reasoning effort: xhigh
[codex:512175] reasoning summaries: auto
[codex:512175] session id: 019b800a-3d73-7d10-b972-9fce10974621
[codex:512175] --------
[codex:512175] user
[codex:512175] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:512175] 
[codex:512175] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:512175] 
[codex:512175] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:512175] - Gas inefficiency, code quality, or best practices
[codex:512175] - Theoretical vulnerabilities without a clear extraction path
[codex:512175] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:512175] - Issues requiring social engineering or off-chain coordination
[codex:512175] 
[codex:512175] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:512175] - CALL/DELEGATECALL with controllable destination or calldata
[codex:512175] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:512175] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:512175] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:512175] - External calls before state updates (reentrancy)
[codex:512175] - SELFDESTRUCT with controllable beneficiary
[codex:512175] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:512175] 
[codex:512175] For each finding, you MUST explain:
[codex:512175] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:512175] 2. The concrete sequence of transactions to extract value
[codex:512175] 3. Why you believe this is exploitable (not just suspicious)
[codex:512175] 
[codex:512175] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:512175] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:512175] 
[codex:512175] Output MUST be valid JSON matching the provided schema.
[codex:512175] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:512175] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:512175] mcp startup: no servers
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Reading BYTECODE_BUNDLE.txt file**
[codex:512175] exec
[codex:512175] /bin/bash -lc ls in /tmp/codex-multi-tzwbif0b succeeded in 5ms:
[codex:512175] BYTECODE_BUNDLE.txt
[codex:512175] codex-output-schema.json
[codex:512175] exec
[codex:512175] /bin/bash -lc 'wc -l BYTECODE_BUNDLE.txt' in /tmp/codex-multi-tzwbif0b succeeded in 5ms:
[codex:512175] 5 BYTECODE_BUNDLE.txt
[codex:512175] exec
[codex:512175] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-tzwbif0b succeeded in 5ms:
[codex:512175] Runtime bytecode bundle for best-effort auditing.
[codex:512175] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:512175] 
[codex:512175] FILE: runtime_bytecode.hex
[codex:512175] 0x6080604052600436106101095760003560e01c80639babdd4011610095578063affed0e011610064578063affed0e0146105a7578063ba9a91a5146105bc578063cd2cc740146105d1578063d1af6462146105e6578063f698da25146105fb57610109565b80639babdd40146102bb5780639e4e7318146102d0578063a0ab9653146102e5578063a0e67e2b1461054257610109565b80632f54bf6e116100dc5780632f54bf6e1461022057806342cde4e8146102675780635b768ee91461027c578063619c129514610291578063877ba46a146102a657610109565b806304622c2e146101455780630c8bd6701461016c5780631279991b146101f65780631ed23c8c1461020b575b6040805133815234602082015281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a1005b34801561015157600080fd5b5061015a610610565b60408051918252519081900360200190f35b34801561017857600080fd5b50610181610634565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101bb5781810151838201526020016101a3565b50505050905090810190601f1680156101e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020257600080fd5b5061015a610650565b34801561021757600080fd5b5061015a610674565b34801561022c57600080fd5b506102536004803603602081101561024357600080fd5b50356001600160a01b0316610698565b604080519115158252519081900360200190f35b34801561027357600080fd5b5061015a6106ad565b34801561028857600080fd5b506101816106b3565b34801561029d57600080fd5b506101816106ec565b3480156102b257600080fd5b50610181610716565b3480156102c757600080fd5b5061018161074f565b3480156102dc57600080fd5b5061015a61077c565b3480156102f157600080fd5b50610540600480360361010081101561030957600080fd5b810190602081018135600160201b81111561032357600080fd5b82018360208201111561033557600080fd5b803590602001918460208302840111600160201b8311171561035657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156103a557600080fd5b8201836020820111156103b757600080fd5b803590602001918460208302840111600160201b831117156103d857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561042757600080fd5b82018360208201111561043957600080fd5b803590602001918460208302840111600160201b8311171561045a57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092956001600160a01b0385351695602086013595919450925060608101915060400135600160201b8111156104be57600080fd5b8201836020820111156104d057600080fd5b803590602001918460018302840111600160201b831117156104f157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550506001600160a01b0383351693505050602001356107a0565b005b34801561054e57600080fd5b50610557610e59565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561059357818101518382015260200161057b565b505050509050019250505060405180910390f35b3480156105b357600080fd5b5061015a610ebb565b3480156105c857600080fd5b5061015a610ec1565b3480156105dd57600080fd5b50610181610ee5565b3480156105f257600080fd5b50610181610f10565b34801561060757600080fd5b5061015a610f3e565b7f32f3de0d7fc1cdd909bb4d992a94061e800669c611b9d07f137df1f4bb85f09781565b604051806060016040528060238152602001610f516023913981565b7f3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d781565b7fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac5647281565b60026020526000908152604090205460ff1681565b60015481565b6040518060400160405280601f81526020017f46554e4354494f4e2043414c4c20544f204e4f524d414c204143434f554e540081525081565b6040518060400160405280600e81526020016d2ba927a7239022ac22a1aaaa27a960911b81525081565b6040518060400160405280601c81526020017f494e56414c4944205448524553484f4c442f5349472d4c454e4754480000000081525081565b604051806040016040528060118152602001705448524553484f4c442f5349474e45525360781b81525081565b7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b6001548751146040518060400160405280601c81526020017f494e56414c4944205448524553484f4c442f5349472d4c454e47544800000000815250906108655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561082a578181015183820152602001610812565b50505050905090810190601f1680156108575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5085518751148015610878575087518751145b6040518060400160405280601c81526020017f494e56414c4944205448524553484f4c442f5349472d4c454e47544800000000815250906108fa5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561082a578181015183820152602001610812565b506001600160a01b03821633148061091957506001600160a01b038216155b6040518060400160405280600e81526020016d2ba927a7239022ac22a1aaaa27a960911b8152509061098c5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561082a578181015183820152602001610812565b50825160208085019190912060008054604080517f3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d7818701526001600160a01b03808c1682840152606082018b9052608082019590955260a081019290925292861660c082015260e0808201869052835180830390910181526101008201845280519085012060045461190160f01b6101208401526101228301526101428083018290528451808403909101815261016290920190935280519301929092209091805b600154811015610bb55760006001848e8481518110610a6a57fe5b60200260200101518e8581518110610a7e57fe5b60200260200101518e8681518110610a9257fe5b602002602001015160405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610af1573d6000803e3d6000fd5b505050602060405103519050826001600160a01b0316816001600160a01b0316118015610b3657506001600160a01b03811660009081526002602052604090205460ff165b6040518060400160405280600f81526020016e57524f4e47205349474e415455524560881b81525090610baa5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561082a578181015183820152602001610812565b509150600101610a4f565b50600080546001019055855115610c5357610bcf88610f44565b6040518060400160405280601f81526020017f46554e4354494f4e2043414c4c20544f204e4f524d414c204143434f554e540081525090610c515760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561082a578181015183820152602001610812565b505b6000886001600160a01b03168589896040518082805190602001908083835b60208310610c915780518252601f199092019160209182019101610c72565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381858888f193505050503d8060008114610cf4576040519150601f19603f3d011682016040523d82523d6000602084013e610cf9565b606091505b50509050806040518060400160405280601281526020017112539511549390530815160811905253115160721b81525090610d755760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561082a578181015183820152602001610812565b507f187ae0bfb8619f02a4db1cfef70a54e5722d00d8fcfe6811f1a1f044633ca0a7338a8a8a60405180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e0e578181015183820152602001610df6565b50505050905090810190601f168015610e3b5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050505050505050505050565b60606003805480602002602001604051908101604052809291908181526020018280548015610eb157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e93575b5050505050905090565b60005481565b7f72dc1dc597006ea524d75bd3377c4663827629e52e27fd2169cca6f90f6d1ef981565b6040518060400160405280600f81526020016e57524f4e47205349474e415455524560881b81525081565b6040518060400160405280601281526020017112539511549390530815160811905253115160721b81525081565b60045481565b3b63ffffffff1615159056fe5349474e455253204d55535420424520494e20494e4352454153494e47204f52444552a265627a7a723158206a40336a351188a254b9c1ec83afb626e0684c15434025a81ae3b80afc5af4fc64736f6c63430005110032
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Investigating potential multisig bytecode exploits**
[codex:512175] exec
[codex:512175] /bin/bash -lc 'which evm' in /tmp/codex-multi-tzwbif0b exited 1 in 5ms:
[codex:512175] 
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Planning EVM bytecode disassembly**
[codex:512175] exec
[codex:512175] /bin/bash -lc "python - <<'PY'
[codex:512175] from binascii import unhexlify
[codex:512175] import textwrap
[codex:512175] 
[codex:512175] with open('BYTECODE_BUNDLE.txt','r') as f:
[codex:512175]     data=f.read()
[codex:512175] # extract hex after 0x
[codex:512175] import re
[codex:512175] m=re.search(r'0x([0-9a-fA-F]+)', data)
[codex:512175] if not m:
[codex:512175]     print('no hex found'); exit()
[codex:512175] hexstr=m.group(1)
[codex:512175] code=unhexlify(hexstr)
[codex:512175] 
[codex:512175] # EVM opcode mapping
[codex:512175] opcodes = {i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
[codex:512175] opcodes.update({i: f'DUP{i-0x7f}' for i in range(0x80,0x90)})
[codex:512175] opcodes.update({i: f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
[codex:512175] opcodes.update({i: f'LOG{i-0xa0}' for i in range(0xa0,0xa5)})
[codex:512175] # Basic opcodes
[codex:512175] ops = {
[codex:512175] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:512175] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:512175] 0x20:'SHA3',
[codex:512175] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:512175] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:512175] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:512175] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:512175] }
[codex:512175] ops.update(opcodes)
[codex:512175] 
[codex:512175] pc=0
[codex:512175] lines=[]
[codex:512175] while pc < len(code):
[codex:512175]     op=code[pc]
[codex:512175]     name=ops.get(op, f'UNKNOWN_{op:02x}')
[codex:512175]     pc0=pc
[codex:512175]     pc+=1
[codex:512175]     arg=None
[codex:512175]     if name.startswith('PUSH'):
[codex:512175]         n=int(name[4:])
[codex:512175]         arg=code[pc:pc+n]
[codex:512175]         pc+=n
[codex:512175]         lines.append((pc0,name,arg.hex()))
[codex:512175]     else:
[codex:512175]         lines.append((pc0,name,None))
[codex:512175] 
[codex:512175] # Print interesting ops positions
[codex:512175] interesting={'CALL','DELEGATECALL','CALLCODE','SELFDESTRUCT','SSTORE','STATICCALL','CREATE','CREATE2'}
[codex:512175] for pc0,name,arg in lines:
[codex:512175]     if name in interesting:
[codex:512175]         print(f'{pc0:04x}: {name}')
[codex:512175] 
[codex:512175] print('Total ops',len(lines))
[codex:512175] PY" in /tmp/codex-multi-tzwbif0b succeeded in 29ms:
[codex:512175] 0ae0: STATICCALL
[codex:512175] 0bbf: SSTORE
[codex:512175] 0cc3: CALL
[codex:512175] 0f5a: SSTORE
[codex:512175] 0f9b: DELEGATECALL
[codex:512175] Total ops 2651
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Analyzing CALL and DELEGATECALL regions**
[codex:512175] exec
[codex:512175] /bin/bash -lc "python - <<'PY'
[codex:512175] from binascii import unhexlify
[codex:512175] import re
[codex:512175] 
[codex:512175] with open('BYTECODE_BUNDLE.txt','r') as f:
[codex:512175]     data=f.read()
[codex:512175] hexstr=re.search(r'0x([0-9a-fA-F]+)', data).group(1)
[codex:512175] code=unhexlify(hexstr)
[codex:512175] 
[codex:512175] # opcode mapping
[codex:512175] opcodes = {i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}
[codex:512175] opcodes.update({i: f'DUP{i-0x7f}' for i in range(0x80,0x90)})
[codex:512175] opcodes.update({i: f'SWAP{i-0x8f}' for i in range(0x90,0xa0)})
[codex:512175] opcodes.update({i: f'LOG{i-0xa0}' for i in range(0xa0,0xa5)})
[codex:512175] ops = {
[codex:512175] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:512175] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:512175] 0x20:'SHA3',
[codex:512175] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:512175] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:512175] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:512175] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:512175] }
[codex:512175] ops.update(opcodes)
[codex:512175] 
[codex:512175] # disassemble to list with pc
[codex:512175] pc=0
[codex:512175] inst=[]
[codex:512175] while pc < len(code):
[codex:512175]     op=code[pc]
[codex:512175]     name=ops.get(op, f'UNKNOWN_{op:02x}')
[codex:512175]     pc0=pc
[codex:512175]     pc+=1
[codex:512175]     arg=None
[codex:512175]     if name.startswith('PUSH'):
[codex:512175]         n=int(name[4:])
[codex:512175]         arg=code[pc:pc+n]
[codex:512175]         pc+=n
[codex:512175]         inst.append((pc0,name,arg.hex()))
[codex:512175]     else:
[codex:512175]         inst.append((pc0,name,None))
[codex:512175] 
[codex:512175] # function to print around range
[codex:512175] 
[codex:512175] def dump(start,end):
[codex:512175]     for pc0,name,arg in inst:
[codex:512175]         if start <= pc0 <= end:
[codex:512175]             if arg is not None:
[codex:512175]                 print(f'{pc0:04x}: {name} 0x{arg}')
[codex:512175]             else:
[codex:512175]                 print(f'{pc0:04x}: {name}')
[codex:512175] 
[codex:512175] print('--- around CALL at 0xcc3 ---')
[codex:512175] dump(0xc70,0xd20)
[codex:512175] print('--- around DELEGATECALL at 0xf9b ---')
[codex:512175] dump(0xf60,0xfc5)
[codex:512175] print('--- around STATICCALL at 0xae0 ---')
[codex:512175] dump(0xa80,0xb10)
[codex:512175] print('--- around SSTORE at 0xbbf ---')
[codex:512175] dump(0xb80,0xc10)
[codex:512175] print('--- around SSTORE at 0xf5a ---')
[codex:512175] dump(0xf20,0xf80)
[codex:512175] PY" in /tmp/codex-multi-tzwbif0b succeeded in 27ms:
[codex:512175] --- around CALL at 0xcc3 ---
[codex:512175] 0c70: DUP4
[codex:512175] 0c71: DUP4
[codex:512175] 0c72: JUMPDEST
[codex:512175] 0c73: PUSH1 0x20
[codex:512175] 0c75: DUP4
[codex:512175] 0c76: LT
[codex:512175] 0c77: PUSH2 0x0c91
[codex:512175] 0c7a: JUMPI
[codex:512175] 0c7b: DUP1
[codex:512175] 0c7c: MLOAD
[codex:512175] 0c7d: DUP3
[codex:512175] 0c7e: MSTORE
[codex:512175] 0c7f: PUSH1 0x1f
[codex:512175] 0c81: NOT
[codex:512175] 0c82: SWAP1
[codex:512175] 0c83: SWAP3
[codex:512175] 0c84: ADD
[codex:512175] 0c85: SWAP2
[codex:512175] 0c86: PUSH1 0x20
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Analyzing code boundaries and metadata**
[codex:512175] 
[codex:512175] I'm carefully distinguishing executable code from appended metadata by locating the `fe` invalid opcode that signals runtime code end and metadata start; this helps clarify that `DELEGATECALL` at 0xf9b is inside metadata and unreachable, while important calls like `CALL` at 0xcc3 and `STATICCALL` at 0xae0 happen in the actual execution flow. I’m also trying to match function selectors to known Gnosis Safe methods to assess access control and potential vulnerabilities.
[codex:512175] exec
[codex:512175] /bin/bash -lc "python - <<'PY'
[codex:512175] from binascii import unhexlify
[codex:512175] import re
[codex:512175] 
[codex:512175] with open('BYTECODE_BUNDLE.txt','r') as f:
[codex:512175]     data=f.read()
[codex:512175] hexstr=re.search(r'0x([0-9a-fA-F]+)', data).group(1)
[codex:512175] code=unhexlify(hexstr)
[codex:512175] 
[codex:512175] needle=b'SIGNERS MUST BE IN INCREASING ORDER'
[codex:512175] idx=code.find(needle)
[codex:512175] print('needle idx', idx)
[codex:512175] # find preceding byte
[codex:512175] if idx"'!=-1:
[codex:512175]     print('"'byte before', code[idx-1:idx+1].hex())
[codex:512175] 
[codex:512175] # find last 0xfe before needle
[codex:512175] if idx"'!=-1:
[codex:512175]     last_fe = code.rfind(b'"'\\xfe', 0, idx)
[codex:512175]     print('last fe before needle', last_fe)
[codex:512175] 
[codex:512175] # show bytes around last_fe
[codex:512175] if idx"'!=-1 and last_fe!=-1:
[codex:512175]     print(code[last_fe:last_fe+20].hex())
[codex:512175] 
[codex:512175] print('"'code length', len(code))
[codex:512175] PY" in /tmp/codex-multi-tzwbif0b succeeded in 26ms:
[codex:512175] needle idx 3921
[codex:512175] byte before fe53
[codex:512175] last fe before needle 3920
[codex:512175] fe5349474e455253204d55535420424520494e20
[codex:512175] code length 4008
[codex:512175] 
[codex:512175] thinking
[codex:512175] **Analyzing bytecode for exploits**
[codex:512175] 
[codex:512175] I’m reviewing the bytecode carefully to see if any reachable instructions could enable an exploit, especially around signature validation and transaction execution. Since only one storage write appears and DELEGATECALL seems unreachable, it looks like a simple multisig contract with no concrete exploit path found. I’ll prepare a JSON output confirming no findings and summarizing these points.
[codex:512175] codex
[codex:512175] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the runtime bytecode; the only reachable external CALL appears gated by signature/threshold checks, and no reachable delegatecall/selfdestruct was found.","findings":[]}
[codex:512175] tokens used
[codex:512175] 27,737
[codex:512175] {"no_findings":true,"summary":"No concrete, exploitable profit path identified from the runtime bytecode; the only reachable external CALL appears gated by signature/threshold checks, and no reachable delegatecall/selfdestruct was found.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T18:50:37.590484+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit path identified from the runtime bytecode; the only reachable external CALL appears gated by signature/threshold checks, and no reachable delegatecall/selfdestruct was found.",
    "raw_final": {
        "summary": "No concrete, exploitable profit path identified from the runtime bytecode; the only reachable external CALL appears gated by signature/threshold checks, and no reachable delegatecall/selfdestruct was found.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
2
EXT*/BALANCE
1
Total opcodes
2651
Flags
delegatecall_present
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0109
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x9babdd40
00000019: GT
0000001a: PUSH2 0x0095
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xaffed0e0
00000024: GT
00000025: PUSH2 0x0064
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xaffed0e0
0000002f: EQ
00000030: PUSH2 0x05a7
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xba9a91a5
0000003a: EQ
0000003b: PUSH2 0x05bc
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xcd2cc740
00000045: EQ
00000046: PUSH2 0x05d1
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xd1af6462
00000050: EQ
00000051: PUSH2 0x05e6
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf698da25
0000005b: EQ
0000005c: PUSH2 0x05fb
0000005f: JUMPI
00000060: PUSH2 0x0109
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0x9babdd40
0000006b: EQ
0000006c: PUSH2 0x02bb
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0x9e4e7318
00000076: EQ
00000077: PUSH2 0x02d0
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xa0ab9653
00000081: EQ
00000082: PUSH2 0x02e5
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xa0e67e2b
0000008c: EQ
0000008d: PUSH2 0x0542
00000090: JUMPI
00000091: PUSH2 0x0109
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0x2f54bf6e
0000009c: GT
0000009d: PUSH2 0x00dc
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x2f54bf6e
000000a7: EQ
000000a8: PUSH2 0x0220
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0x42cde4e8
000000b2: EQ
000000b3: PUSH2 0x0267
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0x5b768ee9
000000bd: EQ
000000be: PUSH2 0x027c
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0x619c1295
000000c8: EQ
000000c9: PUSH2 0x0291
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x877ba46a
000000d3: EQ
000000d4: PUSH2 0x02a6
000000d7: JUMPI
000000d8: PUSH2 0x0109
000000db: JUMP
000000dc: JUMPDEST
000000dd: DUP1
000000de: PUSH4 0x04622c2e
000000e3: EQ
000000e4: PUSH2 0x0145
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x0c8bd670
000000ee: EQ
000000ef: PUSH2 0x016c
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x1279991b
000000f9: EQ
000000fa: PUSH2 0x01f6
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x1ed23c8c
00000104: EQ
00000105: PUSH2 0x020b
00000108: JUMPI
00000109: JUMPDEST
0000010a: PUSH1 0x40
0000010c: DUP1
0000010d: MLOAD
0000010e: CALLER
0000010f: DUP2
00000110: MSTORE
00000111: CALLVALUE
00000112: PUSH1 0x20
00000114: DUP3
00000115: ADD
00000116: MSTORE
00000117: DUP2
00000118: MLOAD
00000119: PUSH32 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c
0000013a: SWAP3
0000013b: SWAP2
0000013c: DUP2
0000013d: SWAP1
0000013e: SUB
0000013f: SWAP1
00000140: SWAP2
00000141: ADD
00000142: SWAP1
00000143: LOG1
00000144: STOP
00000145: JUMPDEST
00000146: CALLVALUE
00000147: DUP1
00000148: ISZERO
00000149: PUSH2 0x0151
0000014c: JUMPI
0000014d: PUSH1 0x00
0000014f: DUP1
00000150: REVERT
00000151: JUMPDEST
00000152: POP
00000153: PUSH2 0x015a
00000156: PUSH2 0x0610
00000159: JUMP
0000015a: JUMPDEST
0000015b: PUSH1 0x40
0000015d: DUP1
0000015e: MLOAD
0000015f: SWAP2
00000160: DUP3
00000161: MSTORE
00000162: MLOAD
00000163: SWAP1
00000164: DUP2
00000165: SWAP1
00000166: SUB
00000167: PUSH1 0x20
00000169: ADD
0000016a: SWAP1
0000016b: RETURN
0000016c: JUMPDEST
0000016d: CALLVALUE
0000016e: DUP1
0000016f: ISZERO
00000170: PUSH2 0x0178
00000173: JUMPI
00000174: PUSH1 0x00
00000176: DUP1
00000177: REVERT
00000178: JUMPDEST
00000179: POP
0000017a: PUSH2 0x0181
0000017d: PUSH2 0x0634
00000180: JUMP
00000181: JUMPDEST
00000182: PUSH1 0x40
00000184: DUP1
00000185: MLOAD
00000186: PUSH1 0x20
00000188: DUP1
00000189: DUP3
0000018a: MSTORE
0000018b: DUP4
0000018c: MLOAD
0000018d: DUP2
0000018e: DUP4
0000018f: ADD
00000190: MSTORE
00000191: DUP4
00000192: MLOAD
00000193: SWAP2
00000194: SWAP3
00000195: DUP4
00000196: SWAP3
00000197: SWAP1
00000198: DUP4
00000199: ADD
0000019a: SWAP2
0000019b: DUP6
0000019c: ADD
0000019d: SWAP1
0000019e: DUP1
0000019f: DUP4
000001a0: DUP4
000001a1: PUSH1 0x00
000001a3: JUMPDEST
000001a4: DUP4
000001a5: DUP2
000001a6: LT
000001a7: ISZERO
000001a8: PUSH2 0x01bb
000001ab: JUMPI
000001ac: DUP2
000001ad: DUP2
000001ae: ADD
000001af: MLOAD
000001b0: DUP4
000001b1: DUP3
000001b2: ADD
000001b3: MSTORE
000001b4: PUSH1 0x20
000001b6: ADD
000001b7: PUSH2 0x01a3
000001ba: JUMP
000001bb: JUMPDEST
000001bc: POP
000001bd: POP
000001be: POP
000001bf: POP
000001c0: SWAP1
000001c1: POP
000001c2: SWAP1
000001c3: DUP2
000001c4: ADD
000001c5: SWAP1
000001c6: PUSH1 0x1f
000001c8: AND
000001c9: DUP1
000001ca: ISZERO
000001cb: PUSH2 0x01e8
000001ce: JUMPI
000001cf: DUP1
000001d0: DUP3
000001d1: SUB
000001d2: DUP1
000001d3: MLOAD
000001d4: PUSH1 0x01
000001d6: DUP4
000001d7: PUSH1 0x20
000001d9: SUB
000001da: PUSH2 0x0100
000001dd: EXP
000001de: SUB
000001df: NOT
000001e0: AND
000001e1: DUP2
000001e2: MSTORE
000001e3: PUSH1 0x20
000001e5: ADD
000001e6: SWAP2
000001e7: POP
000001e8: JUMPDEST
000001e9: POP
000001ea: SWAP3
000001eb: POP
000001ec: POP
000001ed: POP
000001ee: PUSH1 0x40
000001f0: MLOAD
000001f1: DUP1
000001f2: SWAP2
000001f3: SUB
000001f4: SWAP1
000001f5: RETURN
000001f6: JUMPDEST
000001f7: CALLVALUE
000001f8: DUP1
000001f9: ISZERO
000001fa: PUSH2 0x0202
000001fd: JUMPI
000001fe: PUSH1 0x00
00000200: DUP1
00000201: REVERT
00000202: JUMPDEST
00000203: POP
00000204: PUSH2 0x015a
00000207: PUSH2 0x0650
0000020a: JUMP
0000020b: JUMPDEST
0000020c: CALLVALUE
0000020d: DUP1
0000020e: ISZERO
0000020f: PUSH2 0x0217
00000212: JUMPI
00000213: PUSH1 0x00
00000215: DUP1
00000216: REVERT
00000217: JUMPDEST
00000218: POP
00000219: PUSH2 0x015a
0000021c: PUSH2 0x0674
0000021f: JUMP
00000220: JUMPDEST
00000221: CALLVALUE
00000222: DUP1
00000223: ISZERO
00000224: PUSH2 0x022c
00000227: JUMPI
00000228: PUSH1 0x00
0000022a: DUP1
0000022b: REVERT
0000022c: JUMPDEST
0000022d: POP
0000022e: PUSH2 0x0253
00000231: PUSH1 0x04
00000233: DUP1
00000234: CALLDATASIZE
00000235: SUB
00000236: PUSH1 0x20
00000238: DUP2
00000239: LT
0000023a: ISZERO
0000023b: PUSH2 0x0243
0000023e: JUMPI
0000023f: PUSH1 0x00
00000241: DUP1
00000242: REVERT
00000243: JUMPDEST
00000244: POP
00000245: CALLDATALOAD
00000246: PUSH1 0x01
00000248: PUSH1 0x01
0000024a: PUSH1 0xa0
0000024c: SHL
0000024d: SUB
0000024e: AND
0000024f: PUSH2 0x0698
00000252: JUMP
00000253: JUMPDEST
00000254: PUSH1 0x40
00000256: DUP1
00000257: MLOAD
00000258: SWAP2
00000259: ISZERO
0000025a: ISZERO
0000025b: DUP3
0000025c: MSTORE
0000025d: MLOAD
0000025e: SWAP1
0000025f: DUP2
00000260: SWAP1
00000261: SUB
00000262: PUSH1 0x20
00000264: ADD
00000265: SWAP1
00000266: RETURN
00000267: JUMPDEST
00000268: CALLVALUE
00000269: DUP1
0000026a: ISZERO
0000026b: PUSH2 0x0273
0000026e: JUMPI
0000026f: PUSH1 0x00
00000271: DUP1
00000272: REVERT
00000273: JUMPDEST
00000274: POP
00000275: PUSH2 0x015a
00000278: PUSH2 0x06ad
0000027b: JUMP
0000027c: JUMPDEST
0000027d: CALLVALUE
0000027e: DUP1
0000027f: ISZERO
00000280: PUSH2 0x0288
00000283: JUMPI
00000284: PUSH1 0x00
00000286: DUP1
00000287: REVERT
00000288: JUMPDEST
00000289: POP
0000028a: PUSH2 0x0181
0000028d: PUSH2 0x06b3
00000290: JUMP
00000291: JUMPDEST
00000292: CALLVALUE
00000293: DUP1
00000294: ISZERO
00000295: PUSH2 0x029d
00000298: JUMPI
00000299: PUSH1 0x00
0000029b: DUP1
0000029c: REVERT
0000029d: JUMPDEST
0000029e: POP
0000029f: PUSH2 0x0181
000002a2: PUSH2 0x06ec
000002a5: JUMP
000002a6: JUMPDEST
000002a7: CALLVALUE
000002a8: DUP1
000002a9: ISZERO
000002aa: PUSH2 0x02b2
000002ad: JUMPI
000002ae: PUSH1 0x00
000002b0: DUP1
000002b1: REVERT
000002b2: JUMPDEST
000002b3: POP
000002b4: PUSH2 0x0181
000002b7: PUSH2 0x0716
000002ba: JUMP
000002bb: JUMPDEST
000002bc: CALLVALUE
000002bd: DUP1
000002be: ISZERO
000002bf: PUSH2 0x02c7
000002c2: JUMPI
000002c3: PUSH1 0x00
000002c5: DUP1
000002c6: REVERT
000002c7: JUMPDEST
000002c8: POP
000002c9: PUSH2 0x0181
000002cc: PUSH2 0x074f
000002cf: JUMP
000002d0: JUMPDEST
000002d1: CALLVALUE
000002d2: DUP1
000002d3: ISZERO
000002d4: PUSH2 0x02dc
000002d7: JUMPI
000002d8: PUSH1 0x00
000002da: DUP1
000002db: REVERT
000002dc: JUMPDEST
000002dd: POP
000002de: PUSH2 0x015a
000002e1: PUSH2 0x077c
000002e4: JUMP
000002e5: JUMPDEST
000002e6: CALLVALUE
000002e7: DUP1
000002e8: ISZERO
000002e9: PUSH2 0x02f1
000002ec: JUMPI
000002ed: PUSH1 0x00
000002ef: DUP1
000002f0: REVERT
000002f1: JUMPDEST
000002f2: POP
000002f3: PUSH2 0x0540
000002f6: PUSH1 0x04
000002f8: DUP1
000002f9: CALLDATASIZE
000002fa: SUB
000002fb: PUSH2 0x0100
000002fe: DUP2
000002ff: LT
00000300: ISZERO
00000301: PUSH2 0x0309
00000304: JUMPI
00000305: PUSH1 0x00
00000307: DUP1
00000308: REVERT
00000309: JUMPDEST
0000030a: DUP2
0000030b: ADD
0000030c: SWAP1
0000030d: PUSH1 0x20
0000030f: DUP2
00000310: ADD
00000311: DUP2
00000312: CALLDATALOAD
00000313: PUSH1 0x01
00000315: PUSH1 0x20
00000317: SHL
00000318: DUP2
00000319: GT
0000031a: ISZERO
0000031b: PUSH2 0x0323
0000031e: JUMPI
0000031f: PUSH1 0x00
00000321: DUP1
00000322: REVERT
00000323: JUMPDEST
00000324: DUP3
00000325: ADD
00000326: DUP4
00000327: PUSH1 0x20
00000329: DUP3
0000032a: ADD
0000032b: GT
0000032c: ISZERO
0000032d: PUSH2 0x0335
00000330: JUMPI
00000331: PUSH1 0x00
00000333: DUP1
00000334: REVERT
00000335: JUMPDEST
00000336: DUP1
00000337: CALLDATALOAD
00000338: SWAP1
00000339: PUSH1 0x20
0000033b: ADD
0000033c: SWAP2
0000033d: DUP5
0000033e: PUSH1 0x20
00000340: DUP4
00000341: MUL
00000342: DUP5
00000343: ADD
00000344: GT
00000345: PUSH1 0x01
00000347: PUSH1 0x20
00000349: SHL
0000034a: DUP4
0000034b: GT
0000034c: OR
0000034d: ISZERO
0000034e: PUSH2 0x0356
00000351: JUMPI
00000352: PUSH1 0x00
00000354: DUP1
00000355: REVERT
00000356: JUMPDEST
00000357: SWAP2
00000358: SWAP1
00000359: DUP1
0000035a: DUP1
0000035b: PUSH1 0x20
0000035d: MUL
0000035e: PUSH1 0x20
00000360: ADD
00000361: PUSH1 0x40
00000363: MLOAD
00000364: SWAP1
00000365: DUP2
00000366: ADD
00000367: PUSH1 0x40
00000369: MSTORE
0000036a: DUP1
0000036b: SWAP4
0000036c: SWAP3
0000036d: SWAP2
0000036e: SWAP1
0000036f: DUP2
00000370: DUP2
00000371: MSTORE
00000372: PUSH1 0x20
00000374: ADD
00000375: DUP4
00000376: DUP4
00000377: PUSH1 0x20
00000379: MUL
0000037a: DUP1
0000037b: DUP3
0000037c: DUP5
0000037d: CALLDATACOPY
0000037e: PUSH1 0x00
00000380: SWAP3
00000381: ADD
00000382: SWAP2
00000383: SWAP1
00000384: SWAP2
00000385: MSTORE
00000386: POP
00000387: SWAP3
00000388: SWAP6
00000389: SWAP5
0000038a: SWAP4
0000038b: PUSH1 0x20
0000038d: DUP2
0000038e: ADD
0000038f: SWAP4
00000390: POP
00000391: CALLDATALOAD
00000392: SWAP2
00000393: POP
00000394: POP
00000395: PUSH1 0x01
00000397: PUSH1 0x20
00000399: SHL
0000039a: DUP2
0000039b: GT
0000039c: ISZERO
0000039d: PUSH2 0x03a5
000003a0: JUMPI
000003a1: PUSH1 0x00
000003a3: DUP1
000003a4: REVERT
000003a5: JUMPDEST
000003a6: DUP3
000003a7: ADD
000003a8: DUP4
000003a9: PUSH1 0x20
000003ab: DUP3
000003ac: ADD
000003ad: GT
000003ae: ISZERO
000003af: PUSH2 0x03b7
000003b2: JUMPI
000003b3: PUSH1 0x00
000003b5: DUP1
000003b6: REVERT
000003b7: JUMPDEST
000003b8: DUP1
000003b9: CALLDATALOAD
000003ba: SWAP1
000003bb: PUSH1 0x20
000003bd: ADD
000003be: SWAP2
000003bf: DUP5
000003c0: PUSH1 0x20
000003c2: DUP4
000003c3: MUL
000003c4: DUP5
000003c5: ADD
000003c6: GT
000003c7: PUSH1 0x01
000003c9: PUSH1 0x20
000003cb: SHL
000003cc: DUP4
000003cd: GT
000003ce: OR
000003cf: ISZERO
000003d0: PUSH2 0x03d8
000003d3: JUMPI
000003d4: PUSH1 0x00
000003d6: DUP1
000003d7: REVERT
000003d8: JUMPDEST
000003d9: SWAP2
000003da: SWAP1
000003db: DUP1
000003dc: DUP1
000003dd: PUSH1 0x20
000003df: MUL
000003e0: PUSH1 0x20
000003e2: ADD
000003e3: PUSH1 0x40
000003e5: MLOAD
000003e6: SWAP1
000003e7: DUP2
000003e8: ADD
000003e9: PUSH1 0x40
000003eb: MSTORE
000003ec: DUP1
000003ed: SWAP4
000003ee: SWAP3
000003ef: SWAP2
000003f0: SWAP1
000003f1: DUP2
000003f2: DUP2
000003f3: MSTORE
000003f4: PUSH1 0x20
000003f6: ADD
000003f7: DUP4
000003f8: DUP4
000003f9: PUSH1 0x20
000003fb: MUL
000003fc: DUP1
000003fd: DUP3
000003fe: DUP5
000003ff: CALLDATACOPY
00000400: PUSH1 0x00
00000402: SWAP3
00000403: ADD
00000404: SWAP2
00000405: SWAP1
00000406: SWAP2
00000407: MSTORE
00000408: POP
00000409: SWAP3
0000040a: SWAP6
0000040b: SWAP5
0000040c: SWAP4
0000040d: PUSH1 0x20
0000040f: DUP2
00000410: ADD
00000411: SWAP4
00000412: POP
00000413: CALLDATALOAD
00000414: SWAP2
00000415: POP
00000416: POP
00000417: PUSH1 0x01
00000419: PUSH1 0x20
0000041b: SHL
0000041c: DUP2
0000041d: GT
0000041e: ISZERO
0000041f: PUSH2 0x0427
00000422: JUMPI
00000423: PUSH1 0x00
00000425: DUP1
00000426: REVERT
00000427: JUMPDEST
00000428: DUP3
00000429: ADD
0000042a: DUP4
0000042b: PUSH1 0x20
0000042d: DUP3
0000042e: ADD
0000042f: GT
00000430: ISZERO
00000431: PUSH2 0x0439
00000434: JUMPI
00000435: PUSH1 0x00
00000437: DUP1
00000438: REVERT
00000439: JUMPDEST
0000043a: DUP1
0000043b: CALLDATALOAD
0000043c: SWAP1
0000043d: PUSH1 0x20
0000043f: ADD
00000440: SWAP2
00000441: DUP5
00000442: PUSH1 0x20
00000444: DUP4
00000445: MUL
00000446: DUP5
00000447: ADD
00000448: GT
00000449: PUSH1 0x01
0000044b: PUSH1 0x20
0000044d: SHL
0000044e: DUP4
0000044f: GT
00000450: OR
00000451: ISZERO
00000452: PUSH2 0x045a
00000455: JUMPI
00000456: PUSH1 0x00
00000458: DUP1
00000459: REVERT
0000045a: JUMPDEST
0000045b: SWAP2
0000045c: SWAP1
0000045d: DUP1
0000045e: DUP1
0000045f: PUSH1 0x20
00000461: MUL
00000462: PUSH1 0x20
00000464: ADD
00000465: PUSH1 0x40
00000467: MLOAD
00000468: SWAP1
00000469: DUP2
0000046a: ADD
0000046b: PUSH1 0x40
0000046d: MSTORE
0000046e: DUP1
0000046f: SWAP4
00000470: SWAP3
00000471: SWAP2
00000472: SWAP1
00000473: DUP2
00000474: DUP2
00000475: MSTORE
00000476: PUSH1 0x20
00000478: ADD
00000479: DUP4
0000047a: DUP4
0000047b: PUSH1 0x20
0000047d: MUL
0000047e: DUP1
0000047f: DUP3
00000480: DUP5
00000481: CALLDATACOPY
00000482: PUSH1 0x00
00000484: SWAP3
00000485: ADD
00000486: SWAP2
00000487: SWAP1
00000488: SWAP2
00000489: MSTORE
0000048a: POP
0000048b: SWAP3
0000048c: SWAP6
0000048d: PUSH1 0x01
0000048f: PUSH1 0x01
00000491: PUSH1 0xa0
00000493: SHL
00000494: SUB
00000495: DUP6
00000496: CALLDATALOAD
00000497: AND
00000498: SWAP6
00000499: PUSH1 0x20
0000049b: DUP7
0000049c: ADD
0000049d: CALLDATALOAD
0000049e: SWAP6
0000049f: SWAP2
000004a0: SWAP5
000004a1: POP
000004a2: SWAP3
000004a3: POP
000004a4: PUSH1 0x60
000004a6: DUP2
000004a7: ADD
000004a8: SWAP2
000004a9: POP
000004aa: PUSH1 0x40
000004ac: ADD
000004ad: CALLDATALOAD
000004ae: PUSH1 0x01
000004b0: PUSH1 0x20
000004b2: SHL
000004b3: DUP2
000004b4: GT
000004b5: ISZERO
000004b6: PUSH2 0x04be
000004b9: JUMPI
000004ba: PUSH1 0x00
000004bc: DUP1
000004bd: REVERT
000004be: JUMPDEST
000004bf: DUP3
000004c0: ADD
000004c1: DUP4
000004c2: PUSH1 0x20
000004c4: DUP3
000004c5: ADD
000004c6: GT
000004c7: ISZERO
000004c8: PUSH2 0x04d0
000004cb: JUMPI
000004cc: PUSH1 0x00
000004ce: DUP1
000004cf: REVERT
000004d0: JUMPDEST
000004d1: DUP1
000004d2: CALLDATALOAD
000004d3: SWAP1
000004d4: PUSH1 0x20
000004d6: ADD
000004d7: SWAP2
000004d8: DUP5
000004d9: PUSH1 0x01
000004db: DUP4
000004dc: MUL
000004dd: DUP5
000004de: ADD
000004df: GT
000004e0: PUSH1 0x01
000004e2: PUSH1 0x20
000004e4: SHL
000004e5: DUP4
000004e6: GT
000004e7: OR
000004e8: ISZERO
000004e9: PUSH2 0x04f1
000004ec: JUMPI
000004ed: PUSH1 0x00
000004ef: DUP1
000004f0: REVERT
000004f1: JUMPDEST
000004f2: SWAP2
000004f3: SWAP1
000004f4: DUP1
000004f5: DUP1
000004f6: PUSH1 0x1f
000004f8: ADD
000004f9: PUSH1 0x20
000004fb: DUP1
000004fc: SWAP2
000004fd: DIV
000004fe: MUL
000004ff: PUSH1 0x20
00000501: ADD
00000502: PUSH1 0x40
00000504: MLOAD
00000505: SWAP1
00000506: DUP2
00000507: ADD
00000508: PUSH1 0x40
0000050a: MSTORE
0000050b: DUP1
0000050c: SWAP4
0000050d: SWAP3
0000050e: SWAP2
0000050f: SWAP1
00000510: DUP2
00000511: DUP2
00000512: MSTORE
00000513: PUSH1 0x20
00000515: ADD
00000516: DUP4
00000517: DUP4
00000518: DUP1
00000519: DUP3
0000051a: DUP5
0000051b: CALLDATACOPY
0000051c: PUSH1 0x00
0000051e: SWAP3
0000051f: ADD
00000520: SWAP2
00000521: SWAP1
00000522: SWAP2
00000523: MSTORE
00000524: POP
00000525: SWAP3
00000526: SWAP6
00000527: POP
00000528: POP
00000529: PUSH1 0x01
0000052b: PUSH1 0x01
0000052d: PUSH1 0xa0
0000052f: SHL
00000530: SUB
00000531: DUP4
00000532: CALLDATALOAD
00000533: AND
00000534: SWAP4
00000535: POP
00000536: POP
00000537: POP
00000538: PUSH1 0x20
0000053a: ADD
0000053b: CALLDATALOAD
0000053c: PUSH2 0x07a0
0000053f: JUMP
00000540: JUMPDEST
00000541: STOP
00000542: JUMPDEST
00000543: CALLVALUE
00000544: DUP1
00000545: ISZERO
00000546: PUSH2 0x054e
00000549: JUMPI
0000054a: PUSH1 0x00
0000054c: DUP1
0000054d: REVERT
0000054e: JUMPDEST
0000054f: POP
00000550: PUSH2 0x0557
00000553: PUSH2 0x0e59
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH1 0x40
0000055a: DUP1
0000055b: MLOAD
0000055c: PUSH1 0x20
0000055e: DUP1
0000055f: DUP3
00000560: MSTORE
00000561: DUP4
00000562: MLOAD
00000563: DUP2
00000564: DUP4
00000565: ADD
00000566: MSTORE
00000567: DUP4
00000568: MLOAD
00000569: SWAP2
0000056a: SWAP3
0000056b: DUP4
0000056c: SWAP3
0000056d: SWAP1
0000056e: DUP4
0000056f: ADD
00000570: SWAP2
00000571: DUP6
00000572: DUP2
00000573: ADD
00000574: SWAP2
00000575: MUL
00000576: DUP1
00000577: DUP4
00000578: DUP4
00000579: PUSH1 0x00
0000057b: JUMPDEST
0000057c: DUP4
0000057d: DUP2
0000057e: LT
0000057f: ISZERO
00000580: PUSH2 0x0593
00000583: JUMPI
00000584: DUP2
00000585: DUP2
00000586: ADD
00000587: MLOAD
00000588: DUP4
00000589: DUP3
0000058a: ADD
0000058b: MSTORE
0000058c: PUSH1 0x20
0000058e: ADD
0000058f: PUSH2 0x057b
00000592: JUMP
00000593: JUMPDEST
00000594: POP
00000595: POP
00000596: POP
00000597: POP
00000598: SWAP1
00000599: POP
0000059a: ADD
0000059b: SWAP3
0000059c: POP
0000059d: POP
0000059e: POP
0000059f: PUSH1 0x40
000005a1: MLOAD
000005a2: DUP1
000005a3: SWAP2
000005a4: SUB
000005a5: SWAP1
000005a6: RETURN
000005a7: JUMPDEST
000005a8: CALLVALUE
000005a9: DUP1
000005aa: ISZERO
000005ab: PUSH2 0x05b3
000005ae: JUMPI
000005af: PUSH1 0x00
000005b1: DUP1
000005b2: REVERT
000005b3: JUMPDEST
000005b4: POP
000005b5: PUSH2 0x015a
000005b8: PUSH2 0x0ebb
000005bb: JUMP
000005bc: JUMPDEST
000005bd: CALLVALUE
000005be: DUP1
000005bf: ISZERO
000005c0: PUSH2 0x05c8
000005c3: JUMPI
000005c4: PUSH1 0x00
000005c6: DUP1
000005c7: REVERT
000005c8: JUMPDEST
000005c9: POP
000005ca: PUSH2 0x015a
000005cd: PUSH2 0x0ec1
000005d0: JUMP
000005d1: JUMPDEST
000005d2: CALLVALUE
000005d3: DUP1
000005d4: ISZERO
000005d5: PUSH2 0x05dd
000005d8: JUMPI
000005d9: PUSH1 0x00
000005db: DUP1
000005dc: REVERT
000005dd: JUMPDEST
000005de: POP
000005df: PUSH2 0x0181
000005e2: PUSH2 0x0ee5
000005e5: JUMP
000005e6: JUMPDEST
000005e7: CALLVALUE
000005e8: DUP1
000005e9: ISZERO
000005ea: PUSH2 0x05f2
000005ed: JUMPI
000005ee: PUSH1 0x00
000005f0: DUP1
000005f1: REVERT
000005f2: JUMPDEST
000005f3: POP
000005f4: PUSH2 0x0181
000005f7: PUSH2 0x0f10
000005fa: JUMP
000005fb: JUMPDEST
000005fc: CALLVALUE
000005fd: DUP1
000005fe: ISZERO
000005ff: PUSH2 0x0607
00000602: JUMPI
00000603: PUSH1 0x00
00000605: DUP1
00000606: REVERT
00000607: JUMPDEST
00000608: POP
00000609: PUSH2 0x015a
0000060c: PUSH2 0x0f3e
0000060f: JUMP
00000610: JUMPDEST
00000611: PUSH32 0x32f3de0d7fc1cdd909bb4d992a94061e800669c611b9d07f137df1f4bb85f097
00000632: DUP2
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH1 0x40
00000637: MLOAD
00000638: DUP1
00000639: PUSH1 0x60
0000063b: ADD
0000063c: PUSH1 0x40
0000063e: MSTORE
0000063f: DUP1
00000640: PUSH1 0x23
00000642: DUP2
00000643: MSTORE
00000644: PUSH1 0x20
00000646: ADD
00000647: PUSH2 0x0f51
0000064a: PUSH1 0x23
0000064c: SWAP2
0000064d: CODECOPY
0000064e: DUP2
0000064f: JUMP
00000650: JUMPDEST
00000651: PUSH32 0x3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d7
00000672: DUP2
00000673: JUMP
00000674: JUMPDEST
00000675: PUSH32 0xd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472
00000696: DUP2
00000697: JUMP
00000698: JUMPDEST
00000699: PUSH1 0x02
0000069b: PUSH1 0x20
0000069d: MSTORE
0000069e: PUSH1 0x00
000006a0: SWAP1
000006a1: DUP2
000006a2: MSTORE
000006a3: PUSH1 0x40
000006a5: SWAP1
000006a6: KECCAK256
000006a7: SLOAD
000006a8: PUSH1 0xff
000006aa: AND
000006ab: DUP2
000006ac: JUMP
000006ad: JUMPDEST
000006ae: PUSH1 0x01
000006b0: SLOAD
000006b1: DUP2
000006b2: JUMP
000006b3: JUMPDEST
000006b4: PUSH1 0x40
000006b6: MLOAD
000006b7: DUP1
000006b8: PUSH1 0x40
000006ba: ADD
000006bb: PUSH1 0x40
000006bd: MSTORE
000006be: DUP1
000006bf: PUSH1 0x1f
000006c1: DUP2
000006c2: MSTORE
000006c3: PUSH1 0x20
000006c5: ADD
000006c6: PUSH32 0x46554e4354494f4e2043414c4c20544f204e4f524d414c204143434f554e5400
000006e7: DUP2
000006e8: MSTORE
000006e9: POP
000006ea: DUP2
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH1 0x40
000006ef: MLOAD
000006f0: DUP1
000006f1: PUSH1 0x40
000006f3: ADD
000006f4: PUSH1 0x40
000006f6: MSTORE
000006f7: DUP1
000006f8: PUSH1 0x0e
000006fa: DUP2
000006fb: MSTORE
000006fc: PUSH1 0x20
000006fe: ADD
000006ff: PUSH14 0x2ba927a7239022ac22a1aaaa27a9
0000070e: PUSH1 0x91
00000710: SHL
00000711: DUP2
00000712: MSTORE
00000713: POP
00000714: DUP2
00000715: JUMP
00000716: JUMPDEST
00000717: PUSH1 0x40
00000719: MLOAD
0000071a: DUP1
0000071b: PUSH1 0x40
0000071d: ADD
0000071e: PUSH1 0x40
00000720: MSTORE
00000721: DUP1
00000722: PUSH1 0x1c
00000724: DUP2
00000725: MSTORE
00000726: PUSH1 0x20
00000728: ADD
00000729: PUSH32 0x494e56414c4944205448524553484f4c442f5349472d4c454e47544800000000
0000074a: DUP2
0000074b: MSTORE
0000074c: POP
0000074d: DUP2
0000074e: JUMP
0000074f: JUMPDEST
00000750: PUSH1 0x40
00000752: MLOAD
00000753: DUP1
00000754: PUSH1 0x40
00000756: ADD
00000757: PUSH1 0x40
00000759: MSTORE
0000075a: DUP1
0000075b: PUSH1 0x11
0000075d: DUP2
0000075e: MSTORE
0000075f: PUSH1 0x20
00000761: ADD
00000762: PUSH17 0x5448524553484f4c442f5349474e455253
00000774: PUSH1 0x78
00000776: SHL
00000777: DUP2
00000778: MSTORE
00000779: POP
0000077a: DUP2
0000077b: JUMP
0000077c: JUMPDEST
0000077d: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
0000079e: DUP2
0000079f: JUMP
000007a0: JUMPDEST
000007a1: PUSH1 0x01
000007a3: SLOAD
000007a4: DUP8
000007a5: MLOAD
000007a6: EQ
000007a7: PUSH1 0x40
000007a9: MLOAD
000007aa: DUP1
000007ab: PUSH1 0x40
000007ad: ADD
000007ae: PUSH1 0x40
000007b0: MSTORE
000007b1: DUP1
000007b2: PUSH1 0x1c
000007b4: DUP2
000007b5: MSTORE
000007b6: PUSH1 0x20
000007b8: ADD
000007b9: PUSH32 0x494e56414c4944205448524553484f4c442f5349472d4c454e47544800000000
000007da: DUP2
000007db: MSTORE
000007dc: POP
000007dd: SWAP1
000007de: PUSH2 0x0865
000007e1: JUMPI
000007e2: PUSH1 0x40
000007e4: MLOAD
000007e5: PUSH3 0x461bcd
000007e9: PUSH1 0xe5
000007eb: SHL
000007ec: DUP2
000007ed: MSTORE
000007ee: PUSH1 0x04
000007f0: ADD
000007f1: DUP1
000007f2: DUP1
000007f3: PUSH1 0x20
000007f5: ADD
000007f6: DUP3
000007f7: DUP2
000007f8: SUB
000007f9: DUP3
000007fa: MSTORE
000007fb: DUP4
000007fc: DUP2
000007fd: DUP2
000007fe: MLOAD
000007ff: DUP2
00000800: MSTORE
00000801: PUSH1 0x20
00000803: ADD
00000804: SWAP2
00000805: POP
00000806: DUP1
00000807: MLOAD
00000808: SWAP1
00000809: PUSH1 0x20
0000080b: ADD
0000080c: SWAP1
0000080d: DUP1
0000080e: DUP4
0000080f: DUP4
00000810: PUSH1 0x00
00000812: JUMPDEST
00000813: DUP4
00000814: DUP2
00000815: LT
00000816: ISZERO
00000817: PUSH2 0x082a
0000081a: JUMPI
0000081b: DUP2
0000081c: DUP2
0000081d: ADD
0000081e: MLOAD
0000081f: DUP4
00000820: DUP3
00000821: ADD
00000822: MSTORE
00000823: PUSH1 0x20
00000825: ADD
00000826: PUSH2 0x0812
00000829: JUMP
0000082a: JUMPDEST
0000082b: POP
0000082c: POP
0000082d: POP
0000082e: POP
0000082f: SWAP1
00000830: POP
00000831: SWAP1
00000832: DUP2
00000833: ADD
00000834: SWAP1
00000835: PUSH1 0x1f
00000837: AND
00000838: DUP1
00000839: ISZERO
0000083a: PUSH2 0x0857
0000083d: JUMPI
0000083e: DUP1
0000083f: DUP3
00000840: SUB
00000841: DUP1
00000842: MLOAD
00000843: PUSH1 0x01
00000845: DUP4
00000846: PUSH1 0x20
00000848: SUB
00000849: PUSH2 0x0100
0000084c: EXP
0000084d: SUB
0000084e: NOT
0000084f: AND
00000850: DUP2
00000851: MSTORE
00000852: PUSH1 0x20
00000854: ADD
00000855: SWAP2
00000856: POP
00000857: JUMPDEST
00000858: POP
00000859: SWAP3
0000085a: POP
0000085b: POP
0000085c: POP
0000085d: PUSH1 0x40
0000085f: MLOAD
00000860: DUP1
00000861: SWAP2
00000862: SUB
00000863: SWAP1
00000864: REVERT
00000865: JUMPDEST
00000866: POP
00000867: DUP6
00000868: MLOAD
00000869: DUP8
0000086a: MLOAD
0000086b: EQ
0000086c: DUP1
0000086d: ISZERO
0000086e: PUSH2 0x0878
00000871: JUMPI
00000872: POP
00000873: DUP8
00000874: MLOAD
00000875: DUP8
00000876: MLOAD
00000877: EQ
00000878: JUMPDEST
00000879: PUSH1 0x40
0000087b: MLOAD
0000087c: DUP1
0000087d: PUSH1 0x40
0000087f: ADD
00000880: PUSH1 0x40
00000882: MSTORE
00000883: DUP1
00000884: PUSH1 0x1c
00000886: DUP2
00000887: MSTORE
00000888: PUSH1 0x20
0000088a: ADD
0000088b: PUSH32 0x494e56414c4944205448524553484f4c442f5349472d4c454e47544800000000
000008ac: DUP2
000008ad: MSTORE
000008ae: POP
000008af: SWAP1
000008b0: PUSH2 0x08fa
000008b3: JUMPI
000008b4: PUSH1 0x40
000008b6: MLOAD
000008b7: PUSH3 0x461bcd
000008bb: PUSH1 0xe5
000008bd: SHL
000008be: DUP2
000008bf: MSTORE
000008c0: PUSH1 0x20
000008c2: PUSH1 0x04
000008c4: DUP3
000008c5: ADD
000008c6: DUP2
000008c7: DUP2
000008c8: MSTORE
000008c9: DUP4
000008ca: MLOAD
000008cb: PUSH1 0x24
000008cd: DUP5
000008ce: ADD
000008cf: MSTORE
000008d0: DUP4
000008d1: MLOAD
000008d2: SWAP1
000008d3: SWAP3
000008d4: DUP4
000008d5: SWAP3
000008d6: PUSH1 0x44
000008d8: SWAP1
000008d9: SWAP2
000008da: ADD
000008db: SWAP2
000008dc: SWAP1
000008dd: DUP6
000008de: ADD
000008df: SWAP1
000008e0: DUP1
000008e1: DUP4
000008e2: DUP4
000008e3: PUSH1 0x00
000008e5: DUP4
000008e6: ISZERO
000008e7: PUSH2 0x082a
000008ea: JUMPI
000008eb: DUP2
000008ec: DUP2
000008ed: ADD
000008ee: MLOAD
000008ef: DUP4
000008f0: DUP3
000008f1: ADD
000008f2: MSTORE
000008f3: PUSH1 0x20
000008f5: ADD
000008f6: PUSH2 0x0812
000008f9: JUMP
000008fa: JUMPDEST
000008fb: POP
000008fc: PUSH1 0x01
000008fe: PUSH1 0x01
00000900: PUSH1 0xa0
00000902: SHL
00000903: SUB
00000904: DUP3
00000905: AND
00000906: CALLER
00000907: EQ
00000908: DUP1
00000909: PUSH2 0x0919
0000090c: JUMPI
0000090d: POP
0000090e: PUSH1 0x01
00000910: PUSH1 0x01
00000912: PUSH1 0xa0
00000914: SHL
00000915: SUB
00000916: DUP3
00000917: AND
00000918: ISZERO
00000919: JUMPDEST
0000091a: PUSH1 0x40
0000091c: MLOAD
0000091d: DUP1
0000091e: PUSH1 0x40
00000920: ADD
00000921: PUSH1 0x40
00000923: MSTORE
00000924: DUP1
00000925: PUSH1 0x0e
00000927: DUP2
00000928: MSTORE
00000929: PUSH1 0x20
0000092b: ADD
0000092c: PUSH14 0x2ba927a7239022ac22a1aaaa27a9
0000093b: PUSH1 0x91
0000093d: SHL
0000093e: DUP2
0000093f: MSTORE
00000940: POP
00000941: SWAP1
00000942: PUSH2 0x098c
00000945: JUMPI
00000946: PUSH1 0x40
00000948: MLOAD
00000949: PUSH3 0x461bcd
0000094d: PUSH1 0xe5
0000094f: SHL
00000950: DUP2
00000951: MSTORE
00000952: PUSH1 0x20
00000954: PUSH1 0x04
00000956: DUP3
00000957: ADD
00000958: DUP2
00000959: DUP2
0000095a: MSTORE
0000095b: DUP4
0000095c: MLOAD
0000095d: PUSH1 0x24
0000095f: DUP5
00000960: ADD
00000961: MSTORE
00000962: DUP4
00000963: MLOAD
00000964: SWAP1
00000965: SWAP3
00000966: DUP4
00000967: SWAP3
00000968: PUSH1 0x44
0000096a: SWAP1
0000096b: SWAP2
0000096c: ADD
0000096d: SWAP2
0000096e: SWAP1
0000096f: DUP6
00000970: ADD
00000971: SWAP1
00000972: DUP1
00000973: DUP4
00000974: DUP4
00000975: PUSH1 0x00
00000977: DUP4
00000978: ISZERO
00000979: PUSH2 0x082a
0000097c: JUMPI
0000097d: DUP2
0000097e: DUP2
0000097f: ADD
00000980: MLOAD
00000981: DUP4
00000982: DUP3
00000983: ADD
00000984: MSTORE
00000985: PUSH1 0x20
00000987: ADD
00000988: PUSH2 0x0812
0000098b: JUMP
0000098c: JUMPDEST
0000098d: POP
0000098e: DUP3
0000098f: MLOAD
00000990: PUSH1 0x20
00000992: DUP1
00000993: DUP6
00000994: ADD
00000995: SWAP2
00000996: SWAP1
00000997: SWAP2
00000998: KECCAK256
00000999: PUSH1 0x00
0000099b: DUP1
0000099c: SLOAD
0000099d: PUSH1 0x40
0000099f: DUP1
000009a0: MLOAD
000009a1: PUSH32 0x3ee892349ae4bbe61dce18f95115b5dc02daf49204cc602458cd4c1f540d56d7
000009c2: DUP2
000009c3: DUP8
000009c4: ADD
000009c5: MSTORE
000009c6: PUSH1 0x01
000009c8: PUSH1 0x01
000009ca: PUSH1 0xa0
000009cc: SHL
000009cd: SUB
000009ce: DUP1
000009cf: DUP13
000009d0: AND
000009d1: DUP3
000009d2: DUP5
000009d3: ADD
000009d4: MSTORE
000009d5: PUSH1 0x60
000009d7: DUP3
000009d8: ADD
000009d9: DUP12
000009da: SWAP1
000009db: MSTORE
000009dc: PUSH1 0x80
000009de: DUP3
000009df: ADD
000009e0: SWAP6
000009e1: SWAP1
000009e2: SWAP6
000009e3: MSTORE
000009e4: PUSH1 0xa0
000009e6: DUP2
000009e7: ADD
000009e8: SWAP3
000009e9: SWAP1
000009ea: SWAP3
000009eb: MSTORE
000009ec: SWAP3
000009ed: DUP7
000009ee: AND
000009ef: PUSH1 0xc0
000009f1: DUP3
000009f2: ADD
000009f3: MSTORE
000009f4: PUSH1 0xe0
000009f6: DUP1
000009f7: DUP3
000009f8: ADD
000009f9: DUP7
000009fa: SWAP1
000009fb: MSTORE
000009fc: DUP4
000009fd: MLOAD
000009fe: DUP1
000009ff: DUP4
00000a00: SUB
00000a01: SWAP1
00000a02: SWAP2
00000a03: ADD
00000a04: DUP2
00000a05: MSTORE
00000a06: PUSH2 0x0100
00000a09: DUP3
00000a0a: ADD
00000a0b: DUP5
00000a0c: MSTORE
00000a0d: DUP1
00000a0e: MLOAD
00000a0f: SWAP1
00000a10: DUP6
00000a11: ADD
00000a12: KECCAK256
00000a13: PUSH1 0x04
00000a15: SLOAD
00000a16: PUSH2 0x1901
00000a19: PUSH1 0xf0
00000a1b: SHL
00000a1c: PUSH2 0x0120
00000a1f: DUP5
00000a20: ADD
00000a21: MSTORE
00000a22: PUSH2 0x0122
00000a25: DUP4
00000a26: ADD
00000a27: MSTORE
00000a28: PUSH2 0x0142
00000a2b: DUP1
00000a2c: DUP4
00000a2d: ADD
00000a2e: DUP3
00000a2f: SWAP1
00000a30: MSTORE
00000a31: DUP5
00000a32: MLOAD
00000a33: DUP1
00000a34: DUP5
00000a35: SUB
00000a36: SWAP1
00000a37: SWAP2
00000a38: ADD
00000a39: DUP2
00000a3a: MSTORE
00000a3b: PUSH2 0x0162
00000a3e: SWAP1
00000a3f: SWAP3
00000a40: ADD
00000a41: SWAP1
00000a42: SWAP4
00000a43: MSTORE
00000a44: DUP1
00000a45: MLOAD
00000a46: SWAP4
00000a47: ADD
00000a48: SWAP3
00000a49: SWAP1
00000a4a: SWAP3
00000a4b: KECCAK256
00000a4c: SWAP1
00000a4d: SWAP2
00000a4e: DUP1
00000a4f: JUMPDEST
00000a50: PUSH1 0x01
00000a52: SLOAD
00000a53: DUP2
00000a54: LT
00000a55: ISZERO
00000a56: PUSH2 0x0bb5
00000a59: JUMPI
00000a5a: PUSH1 0x00
00000a5c: PUSH1 0x01
00000a5e: DUP5
00000a5f: DUP15
00000a60: DUP5
00000a61: DUP2
00000a62: MLOAD
00000a63: DUP2
00000a64: LT
00000a65: PUSH2 0x0a6a
00000a68: JUMPI
00000a69: INVALID
00000a6a: JUMPDEST
00000a6b: PUSH1 0x20
00000a6d: MUL
00000a6e: PUSH1 0x20
00000a70: ADD
00000a71: ADD
00000a72: MLOAD
00000a73: DUP15
00000a74: DUP6
00000a75: DUP2
00000a76: MLOAD
00000a77: DUP2
00000a78: LT
00000a79: PUSH2 0x0a7e
00000a7c: JUMPI
00000a7d: INVALID
00000a7e: JUMPDEST
00000a7f: PUSH1 0x20
00000a81: MUL
00000a82: PUSH1 0x20
00000a84: ADD
00000a85: ADD
00000a86: MLOAD
00000a87: DUP15
00000a88: DUP7
00000a89: DUP2
00000a8a: MLOAD
00000a8b: DUP2
00000a8c: LT
00000a8d: PUSH2 0x0a92
00000a90: JUMPI
00000a91: INVALID
00000a92: JUMPDEST
00000a93: PUSH1 0x20
00000a95: MUL
00000a96: PUSH1 0x20
00000a98: ADD
00000a99: ADD
00000a9a: MLOAD
00000a9b: PUSH1 0x40
00000a9d: MLOAD
00000a9e: PUSH1 0x00
00000aa0: DUP2
00000aa1: MSTORE
00000aa2: PUSH1 0x20
00000aa4: ADD
00000aa5: PUSH1 0x40
00000aa7: MSTORE
00000aa8: PUSH1 0x40
00000aaa: MLOAD
00000aab: DUP1
00000aac: DUP6
00000aad: DUP2
00000aae: MSTORE
00000aaf: PUSH1 0x20
00000ab1: ADD
00000ab2: DUP5
00000ab3: PUSH1 0xff
00000ab5: AND
00000ab6: PUSH1 0xff
00000ab8: AND
00000ab9: DUP2
00000aba: MSTORE
00000abb: PUSH1 0x20
00000abd: ADD
00000abe: DUP4
00000abf: DUP2
00000ac0: MSTORE
00000ac1: PUSH1 0x20
00000ac3: ADD
00000ac4: DUP3
00000ac5: DUP2
00000ac6: MSTORE
00000ac7: PUSH1 0x20
00000ac9: ADD
00000aca: SWAP5
00000acb: POP
00000acc: POP
00000acd: POP
00000ace: POP
00000acf: POP
00000ad0: PUSH1 0x20
00000ad2: PUSH1 0x40
00000ad4: MLOAD
00000ad5: PUSH1 0x20
00000ad7: DUP2
00000ad8: SUB
00000ad9: SWAP1
00000ada: DUP1
00000adb: DUP5
00000adc: SUB
00000add: SWAP1
00000ade: DUP6
00000adf: GAS
00000ae0: STATICCALL
00000ae1: ISZERO
00000ae2: DUP1
00000ae3: ISZERO
00000ae4: PUSH2 0x0af1
00000ae7: JUMPI
00000ae8: RETURNDATASIZE
00000ae9: PUSH1 0x00
00000aeb: DUP1
00000aec: RETURNDATACOPY
00000aed: RETURNDATASIZE
00000aee: PUSH1 0x00
00000af0: REVERT
00000af1: JUMPDEST
00000af2: POP
00000af3: POP
00000af4: POP
00000af5: PUSH1 0x20
00000af7: PUSH1 0x40
00000af9: MLOAD
00000afa: SUB
00000afb: MLOAD
00000afc: SWAP1
00000afd: POP
00000afe: DUP3
00000aff: PUSH1 0x01
00000b01: PUSH1 0x01
00000b03: PUSH1 0xa0
00000b05: SHL
00000b06: SUB
00000b07: AND
00000b08: DUP2
00000b09: PUSH1 0x01
00000b0b: PUSH1 0x01
00000b0d: PUSH1 0xa0
00000b0f: SHL
00000b10: SUB
00000b11: AND
00000b12: GT
00000b13: DUP1
00000b14: ISZERO
00000b15: PUSH2 0x0b36
00000b18: JUMPI
00000b19: POP
00000b1a: PUSH1 0x01
00000b1c: PUSH1 0x01
00000b1e: PUSH1 0xa0
00000b20: SHL
00000b21: SUB
00000b22: DUP2
00000b23: AND
00000b24: PUSH1 0x00
00000b26: SWAP1
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x02
00000b2b: PUSH1 0x20
00000b2d: MSTORE
00000b2e: PUSH1 0x40
00000b30: SWAP1
00000b31: KECCAK256
00000b32: SLOAD
00000b33: PUSH1 0xff
00000b35: AND
00000b36: JUMPDEST
00000b37: PUSH1 0x40
00000b39: MLOAD
00000b3a: DUP1
00000b3b: PUSH1 0x40
00000b3d: ADD
00000b3e: PUSH1 0x40
00000b40: MSTORE
00000b41: DUP1
00000b42: PUSH1 0x0f
00000b44: DUP2
00000b45: MSTORE
00000b46: PUSH1 0x20
00000b48: ADD
00000b49: PUSH15 0x57524f4e47205349474e4154555245
00000b59: PUSH1 0x88
00000b5b: SHL
00000b5c: DUP2
00000b5d: MSTORE
00000b5e: POP
00000b5f: SWAP1
00000b60: PUSH2 0x0baa
00000b63: JUMPI
00000b64: PUSH1 0x40
00000b66: MLOAD
00000b67: PUSH3 0x461bcd
00000b6b: PUSH1 0xe5
00000b6d: SHL
00000b6e: DUP2
00000b6f: MSTORE
00000b70: PUSH1 0x20
00000b72: PUSH1 0x04
00000b74: DUP3
00000b75: ADD
00000b76: DUP2
00000b77: DUP2
00000b78: MSTORE
00000b79: DUP4
00000b7a: MLOAD
00000b7b: PUSH1 0x24
00000b7d: DUP5
00000b7e: ADD
00000b7f: MSTORE
00000b80: DUP4
00000b81: MLOAD
00000b82: SWAP1
00000b83: SWAP3
00000b84: DUP4
00000b85: SWAP3
00000b86: PUSH1 0x44
00000b88: SWAP1
00000b89: SWAP2
00000b8a: ADD
00000b8b: SWAP2
00000b8c: SWAP1
00000b8d: DUP6
00000b8e: ADD
00000b8f: SWAP1
00000b90: DUP1
00000b91: DUP4
00000b92: DUP4
00000b93: PUSH1 0x00
00000b95: DUP4
00000b96: ISZERO
00000b97: PUSH2 0x082a
00000b9a: JUMPI
00000b9b: DUP2
00000b9c: DUP2
00000b9d: ADD
00000b9e: MLOAD
00000b9f: DUP4
00000ba0: DUP3
00000ba1: ADD
00000ba2: MSTORE
00000ba3: PUSH1 0x20
00000ba5: ADD
00000ba6: PUSH2 0x0812
00000ba9: JUMP
00000baa: JUMPDEST
00000bab: POP
00000bac: SWAP2
00000bad: POP
00000bae: PUSH1 0x01
00000bb0: ADD
00000bb1: PUSH2 0x0a4f
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: POP
00000bb7: PUSH1 0x00
00000bb9: DUP1
00000bba: SLOAD
00000bbb: PUSH1 0x01
00000bbd: ADD
00000bbe: SWAP1
00000bbf: SSTORE
00000bc0: DUP6
00000bc1: MLOAD
00000bc2: ISZERO
00000bc3: PUSH2 0x0c53
00000bc6: JUMPI
00000bc7: PUSH2 0x0bcf
00000bca: DUP9
00000bcb: PUSH2 0x0f44
00000bce: JUMP
00000bcf: JUMPDEST
00000bd0: PUSH1 0x40
00000bd2: MLOAD
00000bd3: DUP1
00000bd4: PUSH1 0x40
00000bd6: ADD
00000bd7: PUSH1 0x40
00000bd9: MSTORE
00000bda: DUP1
00000bdb: PUSH1 0x1f
00000bdd: DUP2
00000bde: MSTORE
00000bdf: PUSH1 0x20
00000be1: ADD
00000be2: PUSH32 0x46554e4354494f4e2043414c4c20544f204e4f524d414c204143434f554e5400
00000c03: DUP2
00000c04: MSTORE
00000c05: POP
00000c06: SWAP1
00000c07: PUSH2 0x0c51
00000c0a: JUMPI
00000c0b: PUSH1 0x40
00000c0d: MLOAD
00000c0e: PUSH3 0x461bcd
00000c12: PUSH1 0xe5
00000c14: SHL
00000c15: DUP2
00000c16: MSTORE
00000c17: PUSH1 0x20
00000c19: PUSH1 0x04
00000c1b: DUP3
00000c1c: ADD
00000c1d: DUP2
00000c1e: DUP2
00000c1f: MSTORE
00000c20: DUP4
00000c21: MLOAD
00000c22: PUSH1 0x24
00000c24: DUP5
00000c25: ADD
00000c26: MSTORE
00000c27: DUP4
00000c28: MLOAD
00000c29: SWAP1
00000c2a: SWAP3
00000c2b: DUP4
00000c2c: SWAP3
00000c2d: PUSH1 0x44
00000c2f: SWAP1
00000c30: SWAP2
00000c31: ADD
00000c32: SWAP2
00000c33: SWAP1
00000c34: DUP6
00000c35: ADD
00000c36: SWAP1
00000c37: DUP1
00000c38: DUP4
00000c39: DUP4
00000c3a: PUSH1 0x00
00000c3c: DUP4
00000c3d: ISZERO
00000c3e: PUSH2 0x082a
00000c41: JUMPI
00000c42: DUP2
00000c43: DUP2
00000c44: ADD
00000c45: MLOAD
00000c46: DUP4
00000c47: DUP3
00000c48: ADD
00000c49: MSTORE
00000c4a: PUSH1 0x20
00000c4c: ADD
00000c4d: PUSH2 0x0812
00000c50: JUMP
00000c51: JUMPDEST
00000c52: POP
00000c53: JUMPDEST
00000c54: PUSH1 0x00
00000c56: DUP9
00000c57: PUSH1 0x01
00000c59: PUSH1 0x01
00000c5b: PUSH1 0xa0
00000c5d: SHL
00000c5e: SUB
00000c5f: AND
00000c60: DUP6
00000c61: DUP10
00000c62: DUP10
00000c63: PUSH1 0x40
00000c65: MLOAD
00000c66: DUP1
00000c67: DUP3
00000c68: DUP1
00000c69: MLOAD
00000c6a: SWAP1
00000c6b: PUSH1 0x20
00000c6d: ADD
00000c6e: SWAP1
00000c6f: DUP1
00000c70: DUP4
00000c71: DUP4
00000c72: JUMPDEST
00000c73: PUSH1 0x20
00000c75: DUP4
00000c76: LT
00000c77: PUSH2 0x0c91
00000c7a: JUMPI
00000c7b: DUP1
00000c7c: MLOAD
00000c7d: DUP3
00000c7e: MSTORE
00000c7f: PUSH1 0x1f
00000c81: NOT
00000c82: SWAP1
00000c83: SWAP3
00000c84: ADD
00000c85: SWAP2
00000c86: PUSH1 0x20
00000c88: SWAP2
00000c89: DUP3
00000c8a: ADD
00000c8b: SWAP2
00000c8c: ADD
00000c8d: PUSH2 0x0c72
00000c90: JUMP
00000c91: JUMPDEST
00000c92: PUSH1 0x01
00000c94: DUP4
00000c95: PUSH1 0x20
00000c97: SUB
00000c98: PUSH2 0x0100
00000c9b: EXP
00000c9c: SUB
00000c9d: DUP1
00000c9e: NOT
00000c9f: DUP3
00000ca0: MLOAD
00000ca1: AND
00000ca2: DUP2
00000ca3: DUP5
00000ca4: MLOAD
00000ca5: AND
00000ca6: DUP1
00000ca7: DUP3
00000ca8: OR
00000ca9: DUP6
00000caa: MSTORE
00000cab: POP
00000cac: POP
00000cad: POP
00000cae: POP
00000caf: POP
00000cb0: POP
00000cb1: SWAP1
00000cb2: POP
00000cb3: ADD
00000cb4: SWAP2
00000cb5: POP
00000cb6: POP
00000cb7: PUSH1 0x00
00000cb9: PUSH1 0x40
00000cbb: MLOAD
00000cbc: DUP1
00000cbd: DUP4
00000cbe: SUB
00000cbf: DUP2
00000cc0: DUP6
00000cc1: DUP9
00000cc2: DUP9
00000cc3: CALL
00000cc4: SWAP4
00000cc5: POP
00000cc6: POP
00000cc7: POP
00000cc8: POP
00000cc9: RETURNDATASIZE
00000cca: DUP1
00000ccb: PUSH1 0x00
00000ccd: DUP2
00000cce: EQ
00000ccf: PUSH2 0x0cf4
00000cd2: JUMPI
00000cd3: PUSH1 0x40
00000cd5: MLOAD
00000cd6: SWAP2
00000cd7: POP
00000cd8: PUSH1 0x1f
00000cda: NOT
00000cdb: PUSH1 0x3f
00000cdd: RETURNDATASIZE
00000cde: ADD
00000cdf: AND
00000ce0: DUP3
00000ce1: ADD
00000ce2: PUSH1 0x40
00000ce4: MSTORE
00000ce5: RETURNDATASIZE
00000ce6: DUP3
00000ce7: MSTORE
00000ce8: RETURNDATASIZE
00000ce9: PUSH1 0x00
00000ceb: PUSH1 0x20
00000ced: DUP5
00000cee: ADD
00000cef: RETURNDATACOPY
00000cf0: PUSH2 0x0cf9
00000cf3: JUMP
00000cf4: JUMPDEST
00000cf5: PUSH1 0x60
00000cf7: SWAP2
00000cf8: POP
00000cf9: JUMPDEST
00000cfa: POP
00000cfb: POP
00000cfc: SWAP1
00000cfd: POP
00000cfe: DUP1
00000cff: PUSH1 0x40
00000d01: MLOAD
00000d02: DUP1
00000d03: PUSH1 0x40
00000d05: ADD
00000d06: PUSH1 0x40
00000d08: MSTORE
00000d09: DUP1
00000d0a: PUSH1 0x12
00000d0c: DUP2
00000d0d: MSTORE
00000d0e: PUSH1 0x20
00000d10: ADD
00000d11: PUSH18 0x125395115493905308151608119052531151
00000d24: PUSH1 0x72
00000d26: SHL
00000d27: DUP2
00000d28: MSTORE
00000d29: POP
00000d2a: SWAP1
00000d2b: PUSH2 0x0d75
00000d2e: JUMPI
00000d2f: PUSH1 0x40
00000d31: MLOAD
00000d32: PUSH3 0x461bcd
00000d36: PUSH1 0xe5
00000d38: SHL
00000d39: DUP2
00000d3a: MSTORE
00000d3b: PUSH1 0x20
00000d3d: PUSH1 0x04
00000d3f: DUP3
00000d40: ADD
00000d41: DUP2
00000d42: DUP2
00000d43: MSTORE
00000d44: DUP4
00000d45: MLOAD
00000d46: PUSH1 0x24
00000d48: DUP5
00000d49: ADD
00000d4a: MSTORE
00000d4b: DUP4
00000d4c: MLOAD
00000d4d: SWAP1
00000d4e: SWAP3
00000d4f: DUP4
00000d50: SWAP3
00000d51: PUSH1 0x44
00000d53: SWAP1
00000d54: SWAP2
00000d55: ADD
00000d56: SWAP2
00000d57: SWAP1
00000d58: DUP6
00000d59: ADD
00000d5a: SWAP1
00000d5b: DUP1
00000d5c: DUP4
00000d5d: DUP4
00000d5e: PUSH1 0x00
00000d60: DUP4
00000d61: ISZERO
00000d62: PUSH2 0x082a
00000d65: JUMPI
00000d66: DUP2
00000d67: DUP2
00000d68: ADD
00000d69: MLOAD
00000d6a: DUP4
00000d6b: DUP3
00000d6c: ADD
00000d6d: MSTORE
00000d6e: PUSH1 0x20
00000d70: ADD
00000d71: PUSH2 0x0812
00000d74: JUMP
00000d75: JUMPDEST
00000d76: POP
00000d77: PUSH32 0x187ae0bfb8619f02a4db1cfef70a54e5722d00d8fcfe6811f1a1f044633ca0a7
00000d98: CALLER
00000d99: DUP11
00000d9a: DUP11
00000d9b: DUP11
00000d9c: PUSH1 0x40
00000d9e: MLOAD
00000d9f: DUP1
00000da0: DUP6
00000da1: PUSH1 0x01
00000da3: PUSH1 0x01
00000da5: PUSH1 0xa0
00000da7: SHL
00000da8: SUB
00000da9: AND
00000daa: PUSH1 0x01
00000dac: PUSH1 0x01
00000dae: PUSH1 0xa0
00000db0: SHL
00000db1: SUB
00000db2: AND
00000db3: DUP2
00000db4: MSTORE
00000db5: PUSH1 0x20
00000db7: ADD
00000db8: DUP5
00000db9: PUSH1 0x01
00000dbb: PUSH1 0x01
00000dbd: PUSH1 0xa0
00000dbf: SHL
00000dc0: SUB
00000dc1: AND
00000dc2: PUSH1 0x01
00000dc4: PUSH1 0x01
00000dc6: PUSH1 0xa0
00000dc8: SHL
00000dc9: SUB
00000dca: AND
00000dcb: DUP2
00000dcc: MSTORE
00000dcd: PUSH1 0x20
00000dcf: ADD
00000dd0: DUP4
00000dd1: DUP2
00000dd2: MSTORE
00000dd3: PUSH1 0x20
00000dd5: ADD
00000dd6: DUP1
00000dd7: PUSH1 0x20
00000dd9: ADD
00000dda: DUP3
00000ddb: DUP2
00000ddc: SUB
00000ddd: DUP3
00000dde: MSTORE
00000ddf: DUP4
00000de0: DUP2
00000de1: DUP2
00000de2: MLOAD
00000de3: DUP2
00000de4: MSTORE
00000de5: PUSH1 0x20
00000de7: ADD
00000de8: SWAP2
00000de9: POP
00000dea: DUP1
00000deb: MLOAD
00000dec: SWAP1
00000ded: PUSH1 0x20
00000def: ADD
00000df0: SWAP1
00000df1: DUP1
00000df2: DUP4
00000df3: DUP4
00000df4: PUSH1 0x00
00000df6: JUMPDEST
00000df7: DUP4
00000df8: DUP2
00000df9: LT
00000dfa: ISZERO
00000dfb: PUSH2 0x0e0e
00000dfe: JUMPI
00000dff: DUP2
00000e00: DUP2
00000e01: ADD
00000e02: MLOAD
00000e03: DUP4
00000e04: DUP3
00000e05: ADD
00000e06: MSTORE
00000e07: PUSH1 0x20
00000e09: ADD
00000e0a: PUSH2 0x0df6
00000e0d: JUMP
00000e0e: JUMPDEST
00000e0f: POP
00000e10: POP
00000e11: POP
00000e12: POP
00000e13: SWAP1
00000e14: POP
00000e15: SWAP1
00000e16: DUP2
00000e17: ADD
00000e18: SWAP1
00000e19: PUSH1 0x1f
00000e1b: AND
00000e1c: DUP1
00000e1d: ISZERO
00000e1e: PUSH2 0x0e3b
00000e21: JUMPI
00000e22: DUP1
00000e23: DUP3
00000e24: SUB
00000e25: DUP1
00000e26: MLOAD
00000e27: PUSH1 0x01
00000e29: DUP4
00000e2a: PUSH1 0x20
00000e2c: SUB
00000e2d: PUSH2 0x0100
00000e30: EXP
00000e31: SUB
00000e32: NOT
00000e33: AND
00000e34: DUP2
00000e35: MSTORE
00000e36: PUSH1 0x20
00000e38: ADD
00000e39: SWAP2
00000e3a: POP
00000e3b: JUMPDEST
00000e3c: POP
00000e3d: SWAP6
00000e3e: POP
00000e3f: POP
00000e40: POP
00000e41: POP
00000e42: POP
00000e43: POP
00000e44: PUSH1 0x40
00000e46: MLOAD
00000e47: DUP1
00000e48: SWAP2
00000e49: SUB
00000e4a: SWAP1
00000e4b: LOG1
00000e4c: POP
00000e4d: POP
00000e4e: POP
00000e4f: POP
00000e50: POP
00000e51: POP
00000e52: POP
00000e53: POP
00000e54: POP
00000e55: POP
00000e56: POP
00000e57: POP
00000e58: JUMP
00000e59: JUMPDEST
00000e5a: PUSH1 0x60
00000e5c: PUSH1 0x03
00000e5e: DUP1
00000e5f: SLOAD
00000e60: DUP1
00000e61: PUSH1 0x20
00000e63: MUL
00000e64: PUSH1 0x20
00000e66: ADD
00000e67: PUSH1 0x40
00000e69: MLOAD
00000e6a: SWAP1
00000e6b: DUP2
00000e6c: ADD
00000e6d: PUSH1 0x40
00000e6f: MSTORE
00000e70: DUP1
00000e71: SWAP3
00000e72: SWAP2
00000e73: SWAP1
00000e74: DUP2
00000e75: DUP2
00000e76: MSTORE
00000e77: PUSH1 0x20
00000e79: ADD
00000e7a: DUP3
00000e7b: DUP1
00000e7c: SLOAD
00000e7d: DUP1
00000e7e: ISZERO
00000e7f: PUSH2 0x0eb1
00000e82: JUMPI
00000e83: PUSH1 0x20
00000e85: MUL
00000e86: DUP3
00000e87: ADD
00000e88: SWAP2
00000e89: SWAP1
00000e8a: PUSH1 0x00
00000e8c: MSTORE
00000e8d: PUSH1 0x20
00000e8f: PUSH1 0x00
00000e91: KECCAK256
00000e92: SWAP1
00000e93: JUMPDEST
00000e94: DUP2
00000e95: SLOAD
00000e96: PUSH1 0x01
00000e98: PUSH1 0x01
00000e9a: PUSH1 0xa0
00000e9c: SHL
00000e9d: SUB
00000e9e: AND
00000e9f: DUP2
00000ea0: MSTORE
00000ea1: PUSH1 0x01
00000ea3: SWAP1
00000ea4: SWAP2
00000ea5: ADD
00000ea6: SWAP1
00000ea7: PUSH1 0x20
00000ea9: ADD
00000eaa: DUP1
00000eab: DUP4
00000eac: GT
00000ead: PUSH2 0x0e93
00000eb0: JUMPI
00000eb1: JUMPDEST
00000eb2: POP
00000eb3: POP
00000eb4: POP
00000eb5: POP
00000eb6: POP
00000eb7: SWAP1
00000eb8: POP
00000eb9: SWAP1
00000eba: JUMP
00000ebb: JUMPDEST
00000ebc: PUSH1 0x00
00000ebe: SLOAD
00000ebf: DUP2
00000ec0: JUMP
00000ec1: JUMPDEST
00000ec2: PUSH32 0x72dc1dc597006ea524d75bd3377c4663827629e52e27fd2169cca6f90f6d1ef9
00000ee3: DUP2
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: PUSH1 0x40
00000ee8: MLOAD
00000ee9: DUP1
00000eea: PUSH1 0x40
00000eec: ADD
00000eed: PUSH1 0x40
00000eef: MSTORE
00000ef0: DUP1
00000ef1: PUSH1 0x0f
00000ef3: DUP2
00000ef4: MSTORE
00000ef5: PUSH1 0x20
00000ef7: ADD
00000ef8: PUSH15 0x57524f4e47205349474e4154555245
00000f08: PUSH1 0x88
00000f0a: SHL
00000f0b: DUP2
00000f0c: MSTORE
00000f0d: POP
00000f0e: DUP2
00000f0f: JUMP
00000f10: JUMPDEST
00000f11: PUSH1 0x40
00000f13: MLOAD
00000f14: DUP1
00000f15: PUSH1 0x40
00000f17: ADD
00000f18: PUSH1 0x40
00000f1a: MSTORE
00000f1b: DUP1
00000f1c: PUSH1 0x12
00000f1e: DUP2
00000f1f: MSTORE
00000f20: PUSH1 0x20
00000f22: ADD
00000f23: PUSH18 0x125395115493905308151608119052531151
00000f36: PUSH1 0x72
00000f38: SHL
00000f39: DUP2
00000f3a: MSTORE
00000f3b: POP
00000f3c: DUP2
00000f3d: JUMP
00000f3e: JUMPDEST
00000f3f: PUSH1 0x04
00000f41: SLOAD
00000f42: DUP2
00000f43: JUMP
00000f44: JUMPDEST
00000f45: EXTCODESIZE
00000f46: PUSH4 0xffffffff
00000f4b: AND
00000f4c: ISZERO
00000f4d: ISZERO
00000f4e: SWAP1
00000f4f: JUMP
00000f50: INVALID
00000f51: MSTORE8
00000f52: BLOBHASH
00000f53: SELFBALANCE
00000f54: UNKNOWN(0x4E)
00000f55: GASLIMIT
00000f56: MSTORE
00000f57: MSTORE8
00000f58: KECCAK256
00000f59: UNKNOWN(0x4D)
00000f5a: SSTORE
00000f5b: MSTORE8
00000f5c: SLOAD
00000f5d: KECCAK256
00000f5e: TIMESTAMP
00000f5f: GASLIMIT
00000f60: KECCAK256
00000f61: BLOBHASH
00000f62: UNKNOWN(0x4E)
00000f63: KECCAK256
00000f64: BLOBHASH
00000f65: UNKNOWN(0x4E)
00000f66: NUMBER
00000f67: MSTORE
00000f68: GASLIMIT
00000f69: COINBASE
00000f6a: MSTORE8
00000f6b: BLOBHASH
00000f6c: UNKNOWN(0x4E)
00000f6d: SELFBALANCE
00000f6e: KECCAK256
00000f6f: UNKNOWN(0x4F)
00000f70: MSTORE
00000f71: DIFFICULTY
00000f72: GASLIMIT
00000f73: MSTORE
00000f74: LOG2
00000f75: PUSH6 0x627a7a723158
00000f7c: KECCAK256
00000f7d: PUSH11 0x40336a351188a254b9c1ec
00000f89: DUP4
00000f8a: UNKNOWN(0xAF)
00000f8b: UNKNOWN(0xB6)
00000f8c: UNKNOWN(0x26)
00000f8d: UNKNOWN(0xE0)
00000f8e: PUSH9 0x4c15434025a81ae3b8
00000f98: EXP
00000f99: UNKNOWN(0xFC)
00000f9a: GAS
00000f9b: DELEGATECALL
00000f9c: UNKNOWN(0xFC)
00000f9d: PUSH5 0x736f6c6343
00000fa3: STOP
00000fa4: SDIV
00000fa5: GT
00000fa6: STOP
00000fa7: ORIGIN

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x110eec72fc0a0010d86aea36908c1f885f00560de25167cdf1a4438ec3ebb479
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x110eec72fc0a0010d86aea36908c1f885f00560de25167cdf1a4438ec3ebb479",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xaffed0e0",
            "selector": "0xaffed0e0",
            "calldata_variants": [
                "0xaffed0e0",
                "0xaffed0e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba9a91a5",
            "selector": "0xba9a91a5",
            "calldata_variants": [
                "0xba9a91a5",
                "0xba9a91a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd2cc740",
            "selector": "0xcd2cc740",
            "calldata_variants": [
                "0xcd2cc740",
                "0xcd2cc7400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1af6462",
            "selector": "0xd1af6462",
            "calldata_variants": [
                "0xd1af6462",
                "0xd1af64620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf698da25",
            "selector": "0xf698da25",
            "calldata_variants": [
                "0xf698da25",
                "0xf698da250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9babdd40",
            "selector": "0x9babdd40",
            "calldata_variants": [
                "0x9babdd40",
                "0x9babdd400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e4e7318",
            "selector": "0x9e4e7318",
            "calldata_variants": [
                "0x9e4e7318",
                "0x9e4e73180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3995,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 4007,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xaffed0e0",
            "selector": "0xaffed0e0",
            "calldata_variants": [
                "0xaffed0e0",
                "0xaffed0e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba9a91a5",
            "selector": "0xba9a91a5",
            "calldata_variants": [
                "0xba9a91a5",
                "0xba9a91a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd2cc740",
            "selector": "0xcd2cc740",
            "calldata_variants": [
                "0xcd2cc740",
                "0xcd2cc7400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1af6462",
            "selector": "0xd1af6462",
            "calldata_variants": [
                "0xd1af6462",
                "0xd1af64620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf698da25",
            "selector": "0xf698da25",
            "calldata_variants": [
                "0xf698da25",
                "0xf698da250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9babdd40",
            "selector": "0x9babdd40",
            "calldata_variants": [
                "0x9babdd40",
                "0x9babdd400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e4e7318",
            "selector": "0x9e4e7318",
            "calldata_variants": [
                "0x9e4e7318",
                "0x9e4e73180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 4007,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x62f4032b26e6e258c13c30affdc584c59ead6207a1b3bb242176addd5c22b4fc
call_targets: 0xea6e8e629dbc2b190660658165efac33a130553a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x62f4032b26e6e258c13c30affdc584c59ead6207a1b3bb242176addd5c22b4fc",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xea6e8e629dbc2b190660658165efac33a130553a"
    ],
    "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": "0xaffed0e0",
            "selector": "0xaffed0e0",
            "calldata_variants": [
                "0xaffed0e0",
                "0xaffed0e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba9a91a5",
            "selector": "0xba9a91a5",
            "calldata_variants": [
                "0xba9a91a5",
                "0xba9a91a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd2cc740",
            "selector": "0xcd2cc740",
            "calldata_variants": [
                "0xcd2cc740",
                "0xcd2cc7400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1af6462",
            "selector": "0xd1af6462",
            "calldata_variants": [
                "0xd1af6462",
                "0xd1af64620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf698da25",
            "selector": "0xf698da25",
            "calldata_variants": [
                "0xf698da25",
                "0xf698da250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9babdd40",
            "selector": "0x9babdd40",
            "calldata_variants": [
                "0x9babdd40",
                "0x9babdd400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e4e7318",
            "selector": "0x9e4e7318",
            "calldata_variants": [
                "0x9e4e7318",
                "0x9e4e73180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3267,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 1,
    "guards_detected": [
        {
            "pc": 4007,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 1
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x62f4032b26e6e258c13c30affdc584c59ead6207a1b3bb242176addd5c22b4fc
call_targets: 0xea6e8e629dbc2b190660658165efac33a130553a
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x62f4032b26e6e258c13c30affdc584c59ead6207a1b3bb242176addd5c22b4fc",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xea6e8e629dbc2b190660658165efac33a130553a"
    ],
    "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": "0xaffed0e0",
            "selector": "0xaffed0e0",
            "calldata_variants": [
                "0xaffed0e0",
                "0xaffed0e00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xba9a91a5",
            "selector": "0xba9a91a5",
            "calldata_variants": [
                "0xba9a91a5",
                "0xba9a91a50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcd2cc740",
            "selector": "0xcd2cc740",
            "calldata_variants": [
                "0xcd2cc740",
                "0xcd2cc7400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd1af6462",
            "selector": "0xd1af6462",
            "calldata_variants": [
                "0xd1af6462",
                "0xd1af64620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf698da25",
            "selector": "0xf698da25",
            "calldata_variants": [
                "0xf698da25",
                "0xf698da250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9babdd40",
            "selector": "0x9babdd40",
            "calldata_variants": [
                "0x9babdd40",
                "0x9babdd400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9e4e7318",
            "selector": "0x9e4e7318",
            "calldata_variants": [
                "0x9e4e7318",
                "0x9e4e73180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa0ab9653",
            "selector": "0xa0ab9653",
            "calldata_variants": [
                "0xa0ab9653",
                "0xa0ab96530000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3267,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": [
        {
            "pc": 4007,
            "type": "tx_origin_used"
        }
    ]
}