fbc22d93-a33a-44cf-92c5-72a024f1d7fc
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 |
|---|---|---|---|---|
| 31231 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95197 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 95198 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95199 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95200 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95201 | detector.run | complete | 1 / 3 | 1 week ago |
| 95202 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:444408] OpenAI Codex v0.77.0 (research preview)
[codex:444408] --------
[codex:444408] workdir: /tmp/codex-multi-dm0380kc
[codex:444408] model: gpt-5.2-codex
[codex:444408] provider: openai
[codex:444408] approval: never
[codex:444408] sandbox: read-only
[codex:444408] reasoning effort: xhigh
[codex:444408] reasoning summaries: auto
[codex:444408] session id: 019b7d21-8268-7bf2-879b-f73d12f43fca
[codex:444408] --------
[codex:444408] user
[codex:444408] 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:444408]
[codex:444408] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:444408]
[codex:444408] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:444408] - Gas inefficiency, code quality, or best practices
[codex:444408] - Theoretical vulnerabilities without a clear extraction path
[codex:444408] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:444408] - Issues requiring social engineering or off-chain coordination
[codex:444408]
[codex:444408] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:444408] - CALL/DELEGATECALL with controllable destination or calldata
[codex:444408] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:444408] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:444408] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:444408] - External calls before state updates (reentrancy)
[codex:444408] - SELFDESTRUCT with controllable beneficiary
[codex:444408] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:444408]
[codex:444408] For each finding, you MUST explain:
[codex:444408] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:444408] 2. The concrete sequence of transactions to extract value
[codex:444408] 3. Why you believe this is exploitable (not just suspicious)
[codex:444408]
[codex:444408] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:444408] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:444408]
[codex:444408] Output MUST be valid JSON matching the provided schema.
[codex:444408] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:444408] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:444408] mcp startup: no servers
[codex:444408]
[codex:444408] thinking
[codex:444408] **Preparing to inspect bytecode bundle**
[codex:444408] exec
[codex:444408] /bin/bash -lc ls in /tmp/codex-multi-dm0380kc succeeded in 6ms:
[codex:444408] BYTECODE_BUNDLE.txt
[codex:444408] codex-output-schema.json
[codex:444408] exec
[codex:444408] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-dm0380kc succeeded in 5ms:
[codex:444408] Runtime bytecode bundle for best-effort auditing.
[codex:444408] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:444408]
[codex:444408] FILE: runtime_bytecode.hex
[codex:444408] 0x6080604052600436106100b95763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663150b7a0281146100ff5780632c8ef8411461016d578063375b74c314610185578063441e15d0146101b6578063522b3d17146101f1578063526327f2146102335780635aa79b6b1461026957806360de3a2614610281578063bab8965d146102ab578063cb81fecf146102c3578063eb9b6816146102d8578063ecf644f1146102f0575b60003411156100fd576040805133815234602082015281517f939e51ac2fd009b158d6344f7e68a83d8d18d9b0cc88cf514aac6aaa9cad2a18929181900390910190a15b005b34801561010b57600080fd5b50610138600160a060020a036004803582169160248035909116916044359160643590810191013561031a565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b34801561017957600080fd5b506100fd600435610344565b34801561019157600080fd5b5061019a610441565b60408051600160a060020a039092168252519081900360200190f35b3480156101c257600080fd5b506101ce600435610450565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101fd57600080fd5b50610209600435610475565b60408051600160a060020a0394851681529290931660208301528183015290519081900360600190f35b34801561023f57600080fd5b50610257600160a060020a03600435166024356104a3565b60408051918252519081900360200190f35b34801561027557600080fd5b506100fd600435610629565b34801561028d57600080fd5b50610257600160a060020a0360043581169060243516604435610738565b3480156102b757600080fd5b506100fd600435610902565b3480156102cf57600080fd5b50610257610a10565b3480156102e457600080fd5b50610209600435610a16565b3480156102fc57600080fd5b50610257600160a060020a0360043581169060243516604435610a44565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b600154600090819081908190600160a060020a0316331461036457600080fd5b60008581526002602052604090208054909450600160a060020a0316925082151561038e57600080fd5b600180850154600087815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff191681559093018190559151909350600160a060020a0385169184156108fc02918591818181858888f193505050509050801561043a5760408051868152600160a060020a038516602082015280820184905290517fa60bf978b126b18592f5814e3f5a8a515c7398d434c3e3c80509c2cabe29a3169181900360600190a15b5050505050565b600154600160a060020a031681565b60026020526000908152604090208054600190910154600160a060020a039091169082565b600460205260009081526040902080546001820154600290920154600160a060020a03918216929091169083565b600080600160a060020a03841615156104bb57600080fd5b6104c3610c0e565b6040805160208082018490527f526327f200000000000000000000000000000000000000000000000000000000828401526c01000000000000000000000000600160a060020a0389160260448301526058808301889052835180840390910181526078909201928390528151939450909282918401908083835b6020831061055c5780518252601f19909201916020918201910161053d565b51815160001960209485036101000a019081169019909116179052604080519490920184900384208483018352600160a060020a038b81168087528684018c815260008481526002865286812098518954941673ffffffffffffffffffffffffffffffffffffffff199094169390931788555160019097019690965554835182815292830152818301949094526060810189905290519296507feb834e5a149cb8e47021251c336929a69cf86727196572529a29bf1b3a22d35a9450829003608001925050a15092915050565b6001546000908190819081908190600160a060020a0316331461064b57600080fd5b60008681526004602052604090208054909550600160a060020a0316935083151561067557600080fd5b60018086015460028088015460008a8152600460205260408120805473ffffffffffffffffffffffffffffffffffffffff19908116825595810180549096169095559390910192909255600160a060020a0316935091506106d7848484610cb7565b905080156107305760408051878152600160a060020a0380871660208301528516818301526060810184905290517feb1b982af03fc8d04e3d1ec453261a3fa4dad85540be27231a6e729d9c34f1b79181900360800190a15b505050505050565b600080600160a060020a038516151561075057600080fd5b600160a060020a038416151561076557600080fd5b61076d610c0e565b6040805160208082018490527f60de3a2600000000000000000000000000000000000000000000000000000000828401526c01000000000000000000000000600160a060020a03808b16820260448501528916026058830152606c80830188905283518084039091018152608c909201928390528151939450909282918401908083835b602083106108105780518252601f1990920191602091820191016107f1565b51815160001960209485036101000a019081169019919091161790526040805194909201849003842060608086018452600160a060020a03808e168088528d82168886018181528988018f81526000878152600489528981209b518c5490871673ffffffffffffffffffffffffffffffffffffffff19918216178d55925160018d0180549190971693169290921790945592516002909901989098559054855184815294850152838501528201949094526080810189905290519296507f02f609a1c03b13108a8069c96fbcfb080db656ce3f52dfdaa9af431e2d71dc65945082900360a001925050a1509392505050565b6001546000908190819081908190600160a060020a0316331461092457600080fd5b60008681526003602052604090208054909550600160a060020a0316935083151561094e57600080fd5b60018086015460028088015460008a8152600360205260408120805473ffffffffffffffffffffffffffffffffffffffff19908116825595810180549096169095559390910192909255600160a060020a0316935091506109b0848484610d27565b905080156107305760408051878152600160a060020a0380871660208301528516818301526060810184905290517f05b708c886ad83ae717f113aa484cdf529c07892cecc7000be8e7e876a841d1b9181900360800190a1505050505050565b60005481565b600360205260009081526040902080546001820154600290920154600160a060020a03918216929091169083565b600080600160a060020a0385161515610a5c57600080fd5b600160a060020a0384161515610a7157600080fd5b610a79610c0e565b6040805160208082018490527fecf644f100000000000000000000000000000000000000000000000000000000828401526c01000000000000000000000000600160a060020a03808b16820260448501528916026058830152606c80830188905283518084039091018152608c909201928390528151939450909282918401908083835b60208310610b1c5780518252601f199092019160209182019101610afd565b51815160001960209485036101000a019081169019919091161790526040805194909201849003842060608086018452600160a060020a03808e168088528d82168886018181528988018f81526000878152600389528981209b518c5490871673ffffffffffffffffffffffffffffffffffffffff19918216178d55925160018d0180549190971693169290921790945592516002909901989098559054855184815294850152838501528201949094526080810189905290519296507f620b1d454866258768f710e230edb1977b9f7349de5a633e5e34337d6e9fffab945082900360a001925050a1509392505050565b60008054600101808255604080516000194301406020808301919091526c0100000000000000000000000030028284015260548083019490945282518083039094018452607490910191829052825182918401908083835b60208310610c855780518252601f199092019160209182019101610c66565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020905090565b604080517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152600160a060020a0384811660248301526044820184905291516000928616916342842e0e9160648083019286929190829003018183875af1979650505050505050565b604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260248201849052915160009286169163a9059cbb9160448083019286929190829003018183875af19796505050505050505600a165627a7a7230582033b4c81ac296b8d1be9b1e1771aae54c63b57d9df3ff2a1dfb5202fc7d44c3ee0029
[codex:444408]
[codex:444408] thinking
[codex:444408] **Analyzing runtime bytecode for exploit paths**
[codex:444408]
[codex:444408] I'm inspecting the contract's runtime bytecode to identify function selectors and key operations like ERC721 and ERC20 transfers. I'm carefully parsing dispatch logic, fallback behavior, storage patterns, and potential owner-only controls to spot vulnerabilities such as unprotected withdrawals or unsafe token handling. Since automated disassembly tools aren't available, I'm considering writing a lightweight Python script to manually decode opcodes and better understand the contract's behavior and possible exploit paths.
[codex:444408] exec
[codex:444408] /bin/bash -lc "python - <<'PY'
[codex:444408] import sys, textwrap
[codex:444408] hexdata=open('/tmp/codex-multi-dm0380kc/BYTECODE_BUNDLE.txt').read().split('runtime_bytecode.hex')[1]
[codex:444408] # extract 0x.. line
[codex:444408] import re
[codex:444408] m=re.search(r'0x([0-9a-fA-F]+)', hexdata)
[codex:444408] code=m.group(1)
[codex:444408] # opcode table
[codex:444408] opcodes = {}
[codex:444408] # fill base
[codex:444408] names = [
[codex:444408] '00STOP','01ADD','02MUL','03SUB','04DIV','05SDIV','06MOD','07SMOD','08ADDMOD','09MULMOD','0aEXP','0bSIGNEXTEND',
[codex:444408] '10LT','11GT','12SLT','13SGT','14EQ','15ISZERO','16AND','17OR','18XOR','19NOT','1aBYTE','1bSHL','1cSHR','1dSAR',
[codex:444408] '20SHA3',
[codex:444408] '30ADDRESS','31BALANCE','32ORIGIN','33CALLER','34CALLVALUE','35CALLDATALOAD','36CALLDATASIZE','37CALLDATACOPY','38CODESIZE','39CODECOPY','3aGASPRICE','3bEXTCODESIZE','3cEXTCODECOPY','3dRETURNDATASIZE','3eRETURNDATACOPY','3fEXTCODEHASH',
[codex:444408] '40BLOCKHASH','41COINBASE','42TIMESTAMP','43NUMBER','44DIFFICULTY','45GASLIMIT','46CHAINID','47SELFBALANCE','48BASEFEE',
[codex:444408] '50POP','51MLOAD','52MSTORE','53MSTORE8','54SLOAD','55SSTORE','56JUMP','57JUMPI','58PC','59MSIZE','5aGAS','5bJUMPDEST',
[codex:444408] '60PUSH1','61PUSH2','62PUSH3','63PUSH4','64PUSH5','65PUSH6','66PUSH7','67PUSH8','68PUSH9','69PUSH10','6aPUSH11','6bPUSH12','6cPUSH13','6dPUSH14','6ePUSH15','6fPUSH16',
[codex:444408] '70PUSH17','71PUSH18','72PUSH19','73PUSH20','74PUSH21','75PUSH22','76PUSH23','77PUSH24','78PUSH25','79PUSH26','7aPUSH27','7bPUSH28','7cPUSH29','7dPUSH30','7ePUSH31','7fPUSH32',
[codex:444408] '80DUP1','81DUP2','82DUP3','83DUP4','84DUP5','85DUP6','86DUP7','87DUP8','88DUP9','89DUP10','8aDUP11','8bDUP12','8cDUP13','8dDUP14','8eDUP15','8fDUP16',
[codex:444408] '90SWAP1','91SWAP2','92SWAP3','93SWAP4','94SWAP5','95SWAP6','96SWAP7','97SWAP8','98SWAP9','99SWAP10','9aSWAP11','9bSWAP12','9cSWAP13','9dSWAP14','9eSWAP15','9fSWAP16',
[codex:444408] 'a0LOG0','a1LOG1','a2LOG2','a3LOG3','a4LOG4',
[codex:444408] 'f0CREATE','f1CALL','f2CALLCODE','f3RETURN','f4DELEGATECALL','f5CREATE2','faSTATICCALL','fdREVERT','feINVALID','ffSELFDESTRUCT'
[codex:444408] ]
[codex:444408] for name in names:
[codex:444408] opcodes[int(name[:2],16)] = name[2:]
[codex:444408]
[codex:444408] code_bytes=bytes.fromhex(code)
[codex:444408]
[codex:444408] pc=0
[codex:444408] while pc < len(code_bytes):
[codex:444408] op=code_bytes[pc]
[codex:444408] name=opcodes.get(op, 'OP'+hex(op))
[codex:444408] if 0x60 <= op <= 0x7f:
[codex:444408] n=op-0x5f
[codex:444408] data=code_bytes[pc+1:pc+1+n]
[codex:444408] print(f\"{pc:04x}: {name} 0x{data.hex()}\")
[codex:444408] pc+=1+n
[codex:444408] else:
[codex:444408] print(f\"{pc:04x}: {name}\")
[codex:444408] pc+=1
[codex:444408] PY" in /tmp/codex-multi-dm0380kc succeeded in 29ms:
[codex:444408] 0000: PUSH1 0x80
[codex:444408] 0002: PUSH1 0x40
[codex:444408] 0004: MSTORE
[codex:444408] 0005: PUSH1 0x04
[codex:444408] 0007: CALLDATASIZE
[codex:444408] 0008: LT
[codex:444408] 0009: PUSH2 0x00b9
[codex:444408] 000c: JUMPI
[codex:444408] 000d: PUSH4 0xffffffff
[codex:444408] 0012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
[codex:444408] 0030: PUSH1 0x00
[codex:444408] 0032: CALLDATALOAD
[codex:444408] 0033: DIV
[codex:444408] 0034: AND
[codex:444408] 0035: PUSH4 0x150b7a02
[codex:444408] 003a: DUP2
[codex:444408] 003b: EQ
[codex:444408] 003c: PUSH2 0x00ff
[codex:444408] 003f: JUMPI
[codex:444408] 0040: DUP1
[codex:444408]
[codex:444408] thinking
[codex:444408] **Analyzing function selectors and storage mappings**
[codex:444408] exec
[codex:444408] /bin/bash -lc "python - <<'PY'
[codex:444408] import importlib, pkgutil
[codex:444408] print('evmdasm', pkgutil.find_loader('evmdasm'))
[codex:444408] print('pyevmasm', pkgutil.find_loader('pyevmasm'))
[codex:444408] PY" in /tmp/codex-multi-dm0380kc succeeded in 35ms:
[codex:444408] <stdin>:2: DeprecationWarning: 'pkgutil.find_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead
[codex:444408] <stdin>:3: DeprecationWarning: 'pkgutil.find_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead
[codex:444408] evmdasm None
[codex:444408] pyevmasm None
[codex:444408]
[codex:444408]
[codex:444408]
[codex:444408] thinking
[codex:444408] **Analyzing contract functions and security**
[codex:444408] thinking
[codex:444408] **Interpreting mapping structures and function behaviors**
[codex:444408]
[codex:444408] I'll piece together how the contract’s mappings store order data, identify functions that create and manage these orders, and confirm that owner-only checks protect asset withdrawals; so far, I see no exposed calls that an attacker could use to profit.
[codex:444408] thinking
[codex:444408] {"no_findings": true, "summary": "No concrete profit path identified from bytecode: all value-moving CALLs (ETH send, ERC721 safeTransferFrom, ERC20 transfer) are gated by slot1 owner checks and there are no DELEGATECALL/SELFDESTRUCT paths.", "findings": []}
[codex:444408] codex
[codex:444408] {"no_findings":true,"summary":"No concrete profit path identified from the bytecode: all value-moving CALLs (ETH send, ERC721 safeTransferFrom, ERC20 transfer) are gated by a slot1 owner check, and there are no DELEGATECALL/SELFDESTRUCT paths to bypass access control.","findings":[]}
[codex:444408] tokens used
[codex:444408] 43,287
[codex:444408] {"no_findings":true,"summary":"No concrete profit path identified from the bytecode: all value-moving CALLs (ETH send, ERC721 safeTransferFrom, ERC20 transfer) are gated by a slot1 owner check, and there are no DELEGATECALL/SELFDESTRUCT paths to bypass access control.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T05:19:54.754967+00:00",
"returncode": 0
},
"summary": "No concrete profit path identified from the bytecode: all value-moving CALLs (ETH send, ERC721 safeTransferFrom, ERC20 transfer) are gated by a slot1 owner check, and there are no DELEGATECALL/SELFDESTRUCT paths to bypass access control.",
"raw_final": {
"summary": "No concrete profit path identified from the bytecode: all value-moving CALLs (ETH send, ERC721 safeTransferFrom, ERC20 transfer) are gated by a slot1 owner check, and there are no DELEGATECALL/SELFDESTRUCT paths to bypass access control.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x00b9 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000030: PUSH1 0x00 00000032: CALLDATALOAD 00000033: DIV 00000034: AND 00000035: PUSH4 0x150b7a02 0000003a: DUP2 0000003b: EQ 0000003c: PUSH2 0x00ff 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x2c8ef841 00000046: EQ 00000047: PUSH2 0x016d 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x375b74c3 00000051: EQ 00000052: PUSH2 0x0185 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x441e15d0 0000005c: EQ 0000005d: PUSH2 0x01b6 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x522b3d17 00000067: EQ 00000068: PUSH2 0x01f1 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x526327f2 00000072: EQ 00000073: PUSH2 0x0233 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x5aa79b6b 0000007d: EQ 0000007e: PUSH2 0x0269 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x60de3a26 00000088: EQ 00000089: PUSH2 0x0281 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0xbab8965d 00000093: EQ 00000094: PUSH2 0x02ab 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0xcb81fecf 0000009e: EQ 0000009f: PUSH2 0x02c3 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0xeb9b6816 000000a9: EQ 000000aa: PUSH2 0x02d8 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0xecf644f1 000000b4: EQ 000000b5: PUSH2 0x02f0 000000b8: JUMPI 000000b9: JUMPDEST 000000ba: PUSH1 0x00 000000bc: CALLVALUE 000000bd: GT 000000be: ISZERO 000000bf: PUSH2 0x00fd 000000c2: JUMPI 000000c3: PUSH1 0x40 000000c5: DUP1 000000c6: MLOAD 000000c7: CALLER 000000c8: DUP2 000000c9: MSTORE 000000ca: CALLVALUE 000000cb: PUSH1 0x20 000000cd: DUP3 000000ce: ADD 000000cf: MSTORE 000000d0: DUP2 000000d1: MLOAD 000000d2: PUSH32 0x939e51ac2fd009b158d6344f7e68a83d8d18d9b0cc88cf514aac6aaa9cad2a18 000000f3: SWAP3 000000f4: SWAP2 000000f5: DUP2 000000f6: SWAP1 000000f7: SUB 000000f8: SWAP1 000000f9: SWAP2 000000fa: ADD 000000fb: SWAP1 000000fc: LOG1 000000fd: JUMPDEST 000000fe: STOP 000000ff: JUMPDEST 00000100: CALLVALUE 00000101: DUP1 00000102: ISZERO 00000103: PUSH2 0x010b 00000106: JUMPI 00000107: PUSH1 0x00 00000109: DUP1 0000010a: REVERT 0000010b: JUMPDEST 0000010c: POP 0000010d: PUSH2 0x0138 00000110: PUSH1 0x01 00000112: PUSH1 0xa0 00000114: PUSH1 0x02 00000116: EXP 00000117: SUB 00000118: PUSH1 0x04 0000011a: DUP1 0000011b: CALLDATALOAD 0000011c: DUP3 0000011d: AND 0000011e: SWAP2 0000011f: PUSH1 0x24 00000121: DUP1 00000122: CALLDATALOAD 00000123: SWAP1 00000124: SWAP2 00000125: AND 00000126: SWAP2 00000127: PUSH1 0x44 00000129: CALLDATALOAD 0000012a: SWAP2 0000012b: PUSH1 0x64 0000012d: CALLDATALOAD 0000012e: SWAP1 0000012f: DUP2 00000130: ADD 00000131: SWAP2 00000132: ADD 00000133: CALLDATALOAD 00000134: PUSH2 0x031a 00000137: JUMP 00000138: JUMPDEST 00000139: PUSH1 0x40 0000013b: DUP1 0000013c: MLOAD 0000013d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 0000015e: SWAP1 0000015f: SWAP3 00000160: AND 00000161: DUP3 00000162: MSTORE 00000163: MLOAD 00000164: SWAP1 00000165: DUP2 00000166: SWAP1 00000167: SUB 00000168: PUSH1 0x20 0000016a: ADD 0000016b: SWAP1 0000016c: RETURN 0000016d: JUMPDEST 0000016e: CALLVALUE 0000016f: DUP1 00000170: ISZERO 00000171: PUSH2 0x0179 00000174: JUMPI 00000175: PUSH1 0x00 00000177: DUP1 00000178: REVERT 00000179: JUMPDEST 0000017a: POP 0000017b: PUSH2 0x00fd 0000017e: PUSH1 0x04 00000180: CALLDATALOAD 00000181: PUSH2 0x0344 00000184: JUMP 00000185: JUMPDEST 00000186: CALLVALUE 00000187: DUP1 00000188: ISZERO 00000189: PUSH2 0x0191 0000018c: JUMPI 0000018d: PUSH1 0x00 0000018f: DUP1 00000190: REVERT 00000191: JUMPDEST 00000192: POP 00000193: PUSH2 0x019a 00000196: PUSH2 0x0441 00000199: JUMP 0000019a: JUMPDEST 0000019b: PUSH1 0x40 0000019d: DUP1 0000019e: MLOAD 0000019f: PUSH1 0x01 000001a1: PUSH1 0xa0 000001a3: PUSH1 0x02 000001a5: EXP 000001a6: SUB 000001a7: SWAP1 000001a8: SWAP3 000001a9: AND 000001aa: DUP3 000001ab: MSTORE 000001ac: MLOAD 000001ad: SWAP1 000001ae: DUP2 000001af: SWAP1 000001b0: SUB 000001b1: PUSH1 0x20 000001b3: ADD 000001b4: SWAP1 000001b5: RETURN 000001b6: JUMPDEST 000001b7: CALLVALUE 000001b8: DUP1 000001b9: ISZERO 000001ba: PUSH2 0x01c2 000001bd: JUMPI 000001be: PUSH1 0x00 000001c0: DUP1 000001c1: REVERT 000001c2: JUMPDEST 000001c3: POP 000001c4: PUSH2 0x01ce 000001c7: PUSH1 0x04 000001c9: CALLDATALOAD 000001ca: PUSH2 0x0450 000001cd: JUMP 000001ce: JUMPDEST 000001cf: PUSH1 0x40 000001d1: DUP1 000001d2: MLOAD 000001d3: PUSH1 0x01 000001d5: PUSH1 0xa0 000001d7: PUSH1 0x02 000001d9: EXP 000001da: SUB 000001db: SWAP1 000001dc: SWAP4 000001dd: AND 000001de: DUP4 000001df: MSTORE 000001e0: PUSH1 0x20 000001e2: DUP4 000001e3: ADD 000001e4: SWAP2 000001e5: SWAP1 000001e6: SWAP2 000001e7: MSTORE 000001e8: DUP1 000001e9: MLOAD 000001ea: SWAP2 000001eb: DUP3 000001ec: SWAP1 000001ed: SUB 000001ee: ADD 000001ef: SWAP1 000001f0: RETURN 000001f1: JUMPDEST 000001f2: CALLVALUE 000001f3: DUP1 000001f4: ISZERO 000001f5: PUSH2 0x01fd 000001f8: JUMPI 000001f9: PUSH1 0x00 000001fb: DUP1 000001fc: REVERT 000001fd: JUMPDEST 000001fe: POP 000001ff: PUSH2 0x0209 00000202: PUSH1 0x04 00000204: CALLDATALOAD 00000205: PUSH2 0x0475 00000208: JUMP 00000209: JUMPDEST 0000020a: PUSH1 0x40 0000020c: DUP1 0000020d: MLOAD 0000020e: PUSH1 0x01 00000210: PUSH1 0xa0 00000212: PUSH1 0x02 00000214: EXP 00000215: SUB 00000216: SWAP5 00000217: DUP6 00000218: AND 00000219: DUP2 0000021a: MSTORE 0000021b: SWAP3 0000021c: SWAP1 0000021d: SWAP4 0000021e: AND 0000021f: PUSH1 0x20 00000221: DUP4 00000222: ADD 00000223: MSTORE 00000224: DUP2 00000225: DUP4 00000226: ADD 00000227: MSTORE 00000228: SWAP1 00000229: MLOAD 0000022a: SWAP1 0000022b: DUP2 0000022c: SWAP1 0000022d: SUB 0000022e: PUSH1 0x60 00000230: ADD 00000231: SWAP1 00000232: RETURN 00000233: JUMPDEST 00000234: CALLVALUE 00000235: DUP1 00000236: ISZERO 00000237: PUSH2 0x023f 0000023a: JUMPI 0000023b: PUSH1 0x00 0000023d: DUP1 0000023e: REVERT 0000023f: JUMPDEST 00000240: POP 00000241: PUSH2 0x0257 00000244: PUSH1 0x01 00000246: PUSH1 0xa0 00000248: PUSH1 0x02 0000024a: EXP 0000024b: SUB 0000024c: PUSH1 0x04 0000024e: CALLDATALOAD 0000024f: AND 00000250: PUSH1 0x24 00000252: CALLDATALOAD 00000253: PUSH2 0x04a3 00000256: JUMP 00000257: JUMPDEST 00000258: PUSH1 0x40 0000025a: DUP1 0000025b: MLOAD 0000025c: SWAP2 0000025d: DUP3 0000025e: MSTORE 0000025f: MLOAD 00000260: SWAP1 00000261: DUP2 00000262: SWAP1 00000263: SUB 00000264: PUSH1 0x20 00000266: ADD 00000267: SWAP1 00000268: RETURN 00000269: JUMPDEST 0000026a: CALLVALUE 0000026b: DUP1 0000026c: ISZERO 0000026d: PUSH2 0x0275 00000270: JUMPI 00000271: PUSH1 0x00 00000273: DUP1 00000274: REVERT 00000275: JUMPDEST 00000276: POP 00000277: PUSH2 0x00fd 0000027a: PUSH1 0x04 0000027c: CALLDATALOAD 0000027d: PUSH2 0x0629 00000280: JUMP 00000281: JUMPDEST 00000282: CALLVALUE 00000283: DUP1 00000284: ISZERO 00000285: PUSH2 0x028d 00000288: JUMPI 00000289: PUSH1 0x00 0000028b: DUP1 0000028c: REVERT 0000028d: JUMPDEST 0000028e: POP 0000028f: PUSH2 0x0257 00000292: PUSH1 0x01 00000294: PUSH1 0xa0 00000296: PUSH1 0x02 00000298: EXP 00000299: SUB 0000029a: PUSH1 0x04 0000029c: CALLDATALOAD 0000029d: DUP2 0000029e: AND 0000029f: SWAP1 000002a0: PUSH1 0x24 000002a2: CALLDATALOAD 000002a3: AND 000002a4: PUSH1 0x44 000002a6: CALLDATALOAD 000002a7: PUSH2 0x0738 000002aa: JUMP 000002ab: JUMPDEST 000002ac: CALLVALUE 000002ad: DUP1 000002ae: ISZERO 000002af: PUSH2 0x02b7 000002b2: JUMPI 000002b3: PUSH1 0x00 000002b5: DUP1 000002b6: REVERT 000002b7: JUMPDEST 000002b8: POP 000002b9: PUSH2 0x00fd 000002bc: PUSH1 0x04 000002be: CALLDATALOAD 000002bf: PUSH2 0x0902 000002c2: JUMP 000002c3: JUMPDEST 000002c4: CALLVALUE 000002c5: DUP1 000002c6: ISZERO 000002c7: PUSH2 0x02cf 000002ca: JUMPI 000002cb: PUSH1 0x00 000002cd: DUP1 000002ce: REVERT 000002cf: JUMPDEST 000002d0: POP 000002d1: PUSH2 0x0257 000002d4: PUSH2 0x0a10 000002d7: JUMP 000002d8: JUMPDEST 000002d9: CALLVALUE 000002da: DUP1 000002db: ISZERO 000002dc: PUSH2 0x02e4 000002df: JUMPI 000002e0: PUSH1 0x00 000002e2: DUP1 000002e3: REVERT 000002e4: JUMPDEST 000002e5: POP 000002e6: PUSH2 0x0209 000002e9: PUSH1 0x04 000002eb: CALLDATALOAD 000002ec: PUSH2 0x0a16 000002ef: JUMP 000002f0: JUMPDEST 000002f1: CALLVALUE 000002f2: DUP1 000002f3: ISZERO 000002f4: PUSH2 0x02fc 000002f7: JUMPI 000002f8: PUSH1 0x00 000002fa: DUP1 000002fb: REVERT 000002fc: JUMPDEST 000002fd: POP 000002fe: PUSH2 0x0257 00000301: PUSH1 0x01 00000303: PUSH1 0xa0 00000305: PUSH1 0x02 00000307: EXP 00000308: SUB 00000309: PUSH1 0x04 0000030b: CALLDATALOAD 0000030c: DUP2 0000030d: AND 0000030e: SWAP1 0000030f: PUSH1 0x24 00000311: CALLDATALOAD 00000312: AND 00000313: PUSH1 0x44 00000315: CALLDATALOAD 00000316: PUSH2 0x0a44 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000 0000033c: SWAP6 0000033d: SWAP5 0000033e: POP 0000033f: POP 00000340: POP 00000341: POP 00000342: POP 00000343: JUMP 00000344: JUMPDEST 00000345: PUSH1 0x01 00000347: SLOAD 00000348: PUSH1 0x00 0000034a: SWAP1 0000034b: DUP2 0000034c: SWAP1 0000034d: DUP2 0000034e: SWAP1 0000034f: DUP2 00000350: SWAP1 00000351: PUSH1 0x01 00000353: PUSH1 0xa0 00000355: PUSH1 0x02 00000357: EXP 00000358: SUB 00000359: AND 0000035a: CALLER 0000035b: EQ 0000035c: PUSH2 0x0364 0000035f: JUMPI 00000360: PUSH1 0x00 00000362: DUP1 00000363: REVERT 00000364: JUMPDEST 00000365: PUSH1 0x00 00000367: DUP6 00000368: DUP2 00000369: MSTORE 0000036a: PUSH1 0x02 0000036c: PUSH1 0x20 0000036e: MSTORE 0000036f: PUSH1 0x40 00000371: SWAP1 00000372: KECCAK256 00000373: DUP1 00000374: SLOAD 00000375: SWAP1 00000376: SWAP5 00000377: POP 00000378: PUSH1 0x01 0000037a: PUSH1 0xa0 0000037c: PUSH1 0x02 0000037e: EXP 0000037f: SUB 00000380: AND 00000381: SWAP3 00000382: POP 00000383: DUP3 00000384: ISZERO 00000385: ISZERO 00000386: PUSH2 0x038e 00000389: JUMPI 0000038a: PUSH1 0x00 0000038c: DUP1 0000038d: REVERT 0000038e: JUMPDEST 0000038f: PUSH1 0x01 00000391: DUP1 00000392: DUP6 00000393: ADD 00000394: SLOAD 00000395: PUSH1 0x00 00000397: DUP8 00000398: DUP2 00000399: MSTORE 0000039a: PUSH1 0x02 0000039c: PUSH1 0x20 0000039e: MSTORE 0000039f: PUSH1 0x40 000003a1: DUP1 000003a2: DUP3 000003a3: KECCAK256 000003a4: DUP1 000003a5: SLOAD 000003a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003bb: NOT 000003bc: AND 000003bd: DUP2 000003be: SSTORE 000003bf: SWAP1 000003c0: SWAP4 000003c1: ADD 000003c2: DUP2 000003c3: SWAP1 000003c4: SSTORE 000003c5: SWAP2 000003c6: MLOAD 000003c7: SWAP1 000003c8: SWAP4 000003c9: POP 000003ca: PUSH1 0x01 000003cc: PUSH1 0xa0 000003ce: PUSH1 0x02 000003d0: EXP 000003d1: SUB 000003d2: DUP6 000003d3: AND 000003d4: SWAP2 000003d5: DUP5 000003d6: ISZERO 000003d7: PUSH2 0x08fc 000003da: MUL 000003db: SWAP2 000003dc: DUP6 000003dd: SWAP2 000003de: DUP2 000003df: DUP2 000003e0: DUP2 000003e1: DUP6 000003e2: DUP9 000003e3: DUP9 000003e4: CALL 000003e5: SWAP4 000003e6: POP 000003e7: POP 000003e8: POP 000003e9: POP 000003ea: SWAP1 000003eb: POP 000003ec: DUP1 000003ed: ISZERO 000003ee: PUSH2 0x043a 000003f1: JUMPI 000003f2: PUSH1 0x40 000003f4: DUP1 000003f5: MLOAD 000003f6: DUP7 000003f7: DUP2 000003f8: MSTORE 000003f9: PUSH1 0x01 000003fb: PUSH1 0xa0 000003fd: PUSH1 0x02 000003ff: EXP 00000400: SUB 00000401: DUP6 00000402: AND 00000403: PUSH1 0x20 00000405: DUP3 00000406: ADD 00000407: MSTORE 00000408: DUP1 00000409: DUP3 0000040a: ADD 0000040b: DUP5 0000040c: SWAP1 0000040d: MSTORE 0000040e: SWAP1 0000040f: MLOAD 00000410: PUSH32 0xa60bf978b126b18592f5814e3f5a8a515c7398d434c3e3c80509c2cabe29a316 00000431: SWAP2 00000432: DUP2 00000433: SWAP1 00000434: SUB 00000435: PUSH1 0x60 00000437: ADD 00000438: SWAP1 00000439: LOG1 0000043a: JUMPDEST 0000043b: POP 0000043c: POP 0000043d: POP 0000043e: POP 0000043f: POP 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH1 0x01 00000444: SLOAD 00000445: PUSH1 0x01 00000447: PUSH1 0xa0 00000449: PUSH1 0x02 0000044b: EXP 0000044c: SUB 0000044d: AND 0000044e: DUP2 0000044f: JUMP 00000450: JUMPDEST 00000451: PUSH1 0x02 00000453: PUSH1 0x20 00000455: MSTORE 00000456: PUSH1 0x00 00000458: SWAP1 00000459: DUP2 0000045a: MSTORE 0000045b: PUSH1 0x40 0000045d: SWAP1 0000045e: KECCAK256 0000045f: DUP1 00000460: SLOAD 00000461: PUSH1 0x01 00000463: SWAP1 00000464: SWAP2 00000465: ADD 00000466: SLOAD 00000467: PUSH1 0x01 00000469: PUSH1 0xa0 0000046b: PUSH1 0x02 0000046d: EXP 0000046e: SUB 0000046f: SWAP1 00000470: SWAP2 00000471: AND 00000472: SWAP1 00000473: DUP3 00000474: JUMP 00000475: JUMPDEST 00000476: PUSH1 0x04 00000478: PUSH1 0x20 0000047a: MSTORE 0000047b: PUSH1 0x00 0000047d: SWAP1 0000047e: DUP2 0000047f: MSTORE 00000480: PUSH1 0x40 00000482: SWAP1 00000483: KECCAK256 00000484: DUP1 00000485: SLOAD 00000486: PUSH1 0x01 00000488: DUP3 00000489: ADD 0000048a: SLOAD 0000048b: PUSH1 0x02 0000048d: SWAP1 0000048e: SWAP3 0000048f: ADD 00000490: SLOAD 00000491: PUSH1 0x01 00000493: PUSH1 0xa0 00000495: PUSH1 0x02 00000497: EXP 00000498: SUB 00000499: SWAP2 0000049a: DUP3 0000049b: AND 0000049c: SWAP3 0000049d: SWAP1 0000049e: SWAP2 0000049f: AND 000004a0: SWAP1 000004a1: DUP4 000004a2: JUMP 000004a3: JUMPDEST 000004a4: PUSH1 0x00 000004a6: DUP1 000004a7: PUSH1 0x01 000004a9: PUSH1 0xa0 000004ab: PUSH1 0x02 000004ad: EXP 000004ae: SUB 000004af: DUP5 000004b0: AND 000004b1: ISZERO 000004b2: ISZERO 000004b3: PUSH2 0x04bb 000004b6: JUMPI 000004b7: PUSH1 0x00 000004b9: DUP1 000004ba: REVERT 000004bb: JUMPDEST 000004bc: PUSH2 0x04c3 000004bf: PUSH2 0x0c0e 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH1 0x40 000004c6: DUP1 000004c7: MLOAD 000004c8: PUSH1 0x20 000004ca: DUP1 000004cb: DUP3 000004cc: ADD 000004cd: DUP5 000004ce: SWAP1 000004cf: MSTORE 000004d0: PUSH32 0x526327f200000000000000000000000000000000000000000000000000000000 000004f1: DUP3 000004f2: DUP5 000004f3: ADD 000004f4: MSTORE 000004f5: PUSH13 0x01000000000000000000000000 00000503: PUSH1 0x01 00000505: PUSH1 0xa0 00000507: PUSH1 0x02 00000509: EXP 0000050a: SUB 0000050b: DUP10 0000050c: AND 0000050d: MUL 0000050e: PUSH1 0x44 00000510: DUP4 00000511: ADD 00000512: MSTORE 00000513: PUSH1 0x58 00000515: DUP1 00000516: DUP4 00000517: ADD 00000518: DUP9 00000519: SWAP1 0000051a: MSTORE 0000051b: DUP4 0000051c: MLOAD 0000051d: DUP1 0000051e: DUP5 0000051f: SUB 00000520: SWAP1 00000521: SWAP2 00000522: ADD 00000523: DUP2 00000524: MSTORE 00000525: PUSH1 0x78 00000527: SWAP1 00000528: SWAP3 00000529: ADD 0000052a: SWAP3 0000052b: DUP4 0000052c: SWAP1 0000052d: MSTORE 0000052e: DUP2 0000052f: MLOAD 00000530: SWAP4 00000531: SWAP5 00000532: POP 00000533: SWAP1 00000534: SWAP3 00000535: DUP3 00000536: SWAP2 00000537: DUP5 00000538: ADD 00000539: SWAP1 0000053a: DUP1 0000053b: DUP4 0000053c: DUP4 0000053d: JUMPDEST 0000053e: PUSH1 0x20 00000540: DUP4 00000541: LT 00000542: PUSH2 0x055c 00000545: JUMPI 00000546: DUP1 00000547: MLOAD 00000548: DUP3 00000549: MSTORE 0000054a: PUSH1 0x1f 0000054c: NOT 0000054d: SWAP1 0000054e: SWAP3 0000054f: ADD 00000550: SWAP2 00000551: PUSH1 0x20 00000553: SWAP2 00000554: DUP3 00000555: ADD 00000556: SWAP2 00000557: ADD 00000558: PUSH2 0x053d 0000055b: JUMP 0000055c: JUMPDEST 0000055d: MLOAD 0000055e: DUP2 0000055f: MLOAD 00000560: PUSH1 0x00 00000562: NOT 00000563: PUSH1 0x20 00000565: SWAP5 00000566: DUP6 00000567: SUB 00000568: PUSH2 0x0100 0000056b: EXP 0000056c: ADD 0000056d: SWAP1 0000056e: DUP2 0000056f: AND 00000570: SWAP1 00000571: NOT 00000572: SWAP1 00000573: SWAP2 00000574: AND 00000575: OR 00000576: SWAP1 00000577: MSTORE 00000578: PUSH1 0x40 0000057a: DUP1 0000057b: MLOAD 0000057c: SWAP5 0000057d: SWAP1 0000057e: SWAP3 0000057f: ADD 00000580: DUP5 00000581: SWAP1 00000582: SUB 00000583: DUP5 00000584: KECCAK256 00000585: DUP5 00000586: DUP4 00000587: ADD 00000588: DUP4 00000589: MSTORE 0000058a: PUSH1 0x01 0000058c: PUSH1 0xa0 0000058e: PUSH1 0x02 00000590: EXP 00000591: SUB 00000592: DUP12 00000593: DUP2 00000594: AND 00000595: DUP1 00000596: DUP8 00000597: MSTORE 00000598: DUP7 00000599: DUP5 0000059a: ADD 0000059b: DUP13 0000059c: DUP2 0000059d: MSTORE 0000059e: PUSH1 0x00 000005a0: DUP5 000005a1: DUP2 000005a2: MSTORE 000005a3: PUSH1 0x02 000005a5: DUP7 000005a6: MSTORE 000005a7: DUP7 000005a8: DUP2 000005a9: KECCAK256 000005aa: SWAP9 000005ab: MLOAD 000005ac: DUP10 000005ad: SLOAD 000005ae: SWAP5 000005af: AND 000005b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005c5: NOT 000005c6: SWAP1 000005c7: SWAP5 000005c8: AND 000005c9: SWAP4 000005ca: SWAP1 000005cb: SWAP4 000005cc: OR 000005cd: DUP9 000005ce: SSTORE 000005cf: MLOAD 000005d0: PUSH1 0x01 000005d2: SWAP1 000005d3: SWAP8 000005d4: ADD 000005d5: SWAP7 000005d6: SWAP1 000005d7: SWAP7 000005d8: SSTORE 000005d9: SLOAD 000005da: DUP4 000005db: MLOAD 000005dc: DUP3 000005dd: DUP2 000005de: MSTORE 000005df: SWAP3 000005e0: DUP4 000005e1: ADD 000005e2: MSTORE 000005e3: DUP2 000005e4: DUP4 000005e5: ADD 000005e6: SWAP5 000005e7: SWAP1 000005e8: SWAP5 000005e9: MSTORE 000005ea: PUSH1 0x60 000005ec: DUP2 000005ed: ADD 000005ee: DUP10 000005ef: SWAP1 000005f0: MSTORE 000005f1: SWAP1 000005f2: MLOAD 000005f3: SWAP3 000005f4: SWAP7 000005f5: POP 000005f6: PUSH32 0xeb834e5a149cb8e47021251c336929a69cf86727196572529a29bf1b3a22d35a 00000617: SWAP5 00000618: POP 00000619: DUP3 0000061a: SWAP1 0000061b: SUB 0000061c: PUSH1 0x80 0000061e: ADD 0000061f: SWAP3 00000620: POP 00000621: POP 00000622: LOG1 00000623: POP 00000624: SWAP3 00000625: SWAP2 00000626: POP 00000627: POP 00000628: JUMP 00000629: JUMPDEST 0000062a: PUSH1 0x01 0000062c: SLOAD 0000062d: PUSH1 0x00 0000062f: SWAP1 00000630: DUP2 00000631: SWAP1 00000632: DUP2 00000633: SWAP1 00000634: DUP2 00000635: SWAP1 00000636: DUP2 00000637: SWAP1 00000638: PUSH1 0x01 0000063a: PUSH1 0xa0 0000063c: PUSH1 0x02 0000063e: EXP 0000063f: SUB 00000640: AND 00000641: CALLER 00000642: EQ 00000643: PUSH2 0x064b 00000646: JUMPI 00000647: PUSH1 0x00 00000649: DUP1 0000064a: REVERT 0000064b: JUMPDEST 0000064c: PUSH1 0x00 0000064e: DUP7 0000064f: DUP2 00000650: MSTORE 00000651: PUSH1 0x04 00000653: PUSH1 0x20 00000655: MSTORE 00000656: PUSH1 0x40 00000658: SWAP1 00000659: KECCAK256 0000065a: DUP1 0000065b: SLOAD 0000065c: SWAP1 0000065d: SWAP6 0000065e: POP 0000065f: PUSH1 0x01 00000661: PUSH1 0xa0 00000663: PUSH1 0x02 00000665: EXP 00000666: SUB 00000667: AND 00000668: SWAP4 00000669: POP 0000066a: DUP4 0000066b: ISZERO 0000066c: ISZERO 0000066d: PUSH2 0x0675 00000670: JUMPI 00000671: PUSH1 0x00 00000673: DUP1 00000674: REVERT 00000675: JUMPDEST 00000676: PUSH1 0x01 00000678: DUP1 00000679: DUP7 0000067a: ADD 0000067b: SLOAD 0000067c: PUSH1 0x02 0000067e: DUP1 0000067f: DUP9 00000680: ADD 00000681: SLOAD 00000682: PUSH1 0x00 00000684: DUP11 00000685: DUP2 00000686: MSTORE 00000687: PUSH1 0x04 00000689: PUSH1 0x20 0000068b: MSTORE 0000068c: PUSH1 0x40 0000068e: DUP2 0000068f: KECCAK256 00000690: DUP1 00000691: SLOAD 00000692: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006a7: NOT 000006a8: SWAP1 000006a9: DUP2 000006aa: AND 000006ab: DUP3 000006ac: SSTORE 000006ad: SWAP6 000006ae: DUP2 000006af: ADD 000006b0: DUP1 000006b1: SLOAD 000006b2: SWAP1 000006b3: SWAP7 000006b4: AND 000006b5: SWAP1 000006b6: SWAP6 000006b7: SSTORE 000006b8: SWAP4 000006b9: SWAP1 000006ba: SWAP2 000006bb: ADD 000006bc: SWAP3 000006bd: SWAP1 000006be: SWAP3 000006bf: SSTORE 000006c0: PUSH1 0x01 000006c2: PUSH1 0xa0 000006c4: PUSH1 0x02 000006c6: EXP 000006c7: SUB 000006c8: AND 000006c9: SWAP4 000006ca: POP 000006cb: SWAP2 000006cc: POP 000006cd: PUSH2 0x06d7 000006d0: DUP5 000006d1: DUP5 000006d2: DUP5 000006d3: PUSH2 0x0cb7 000006d6: JUMP 000006d7: JUMPDEST 000006d8: SWAP1 000006d9: POP 000006da: DUP1 000006db: ISZERO 000006dc: PUSH2 0x0730 000006df: JUMPI 000006e0: PUSH1 0x40 000006e2: DUP1 000006e3: MLOAD 000006e4: DUP8 000006e5: DUP2 000006e6: MSTORE 000006e7: PUSH1 0x01 000006e9: PUSH1 0xa0 000006eb: PUSH1 0x02 000006ed: EXP 000006ee: SUB 000006ef: DUP1 000006f0: DUP8 000006f1: AND 000006f2: PUSH1 0x20 000006f4: DUP4 000006f5: ADD 000006f6: MSTORE 000006f7: DUP6 000006f8: AND 000006f9: DUP2 000006fa: DUP4 000006fb: ADD 000006fc: MSTORE 000006fd: PUSH1 0x60 000006ff: DUP2 00000700: ADD 00000701: DUP5 00000702: SWAP1 00000703: MSTORE 00000704: SWAP1 00000705: MLOAD 00000706: PUSH32 0xeb1b982af03fc8d04e3d1ec453261a3fa4dad85540be27231a6e729d9c34f1b7 00000727: SWAP2 00000728: DUP2 00000729: SWAP1 0000072a: SUB 0000072b: PUSH1 0x80 0000072d: ADD 0000072e: SWAP1 0000072f: LOG1 00000730: JUMPDEST 00000731: POP 00000732: POP 00000733: POP 00000734: POP 00000735: POP 00000736: POP 00000737: JUMP 00000738: JUMPDEST 00000739: PUSH1 0x00 0000073b: DUP1 0000073c: PUSH1 0x01 0000073e: PUSH1 0xa0 00000740: PUSH1 0x02 00000742: EXP 00000743: SUB 00000744: DUP6 00000745: AND 00000746: ISZERO 00000747: ISZERO 00000748: PUSH2 0x0750 0000074b: JUMPI 0000074c: PUSH1 0x00 0000074e: DUP1 0000074f: REVERT 00000750: JUMPDEST 00000751: PUSH1 0x01 00000753: PUSH1 0xa0 00000755: PUSH1 0x02 00000757: EXP 00000758: SUB 00000759: DUP5 0000075a: AND 0000075b: ISZERO 0000075c: ISZERO 0000075d: PUSH2 0x0765 00000760: JUMPI 00000761: PUSH1 0x00 00000763: DUP1 00000764: REVERT 00000765: JUMPDEST 00000766: PUSH2 0x076d 00000769: PUSH2 0x0c0e 0000076c: JUMP 0000076d: JUMPDEST 0000076e: PUSH1 0x40 00000770: DUP1 00000771: MLOAD 00000772: PUSH1 0x20 00000774: DUP1 00000775: DUP3 00000776: ADD 00000777: DUP5 00000778: SWAP1 00000779: MSTORE 0000077a: PUSH32 0x60de3a2600000000000000000000000000000000000000000000000000000000 0000079b: DUP3 0000079c: DUP5 0000079d: ADD 0000079e: MSTORE 0000079f: PUSH13 0x01000000000000000000000000 000007ad: PUSH1 0x01 000007af: PUSH1 0xa0 000007b1: PUSH1 0x02 000007b3: EXP 000007b4: SUB 000007b5: DUP1 000007b6: DUP12 000007b7: AND 000007b8: DUP3 000007b9: MUL 000007ba: PUSH1 0x44 000007bc: DUP6 000007bd: ADD 000007be: MSTORE 000007bf: DUP10 000007c0: AND 000007c1: MUL 000007c2: PUSH1 0x58 000007c4: DUP4 000007c5: ADD 000007c6: MSTORE 000007c7: PUSH1 0x6c 000007c9: DUP1 000007ca: DUP4 000007cb: ADD 000007cc: DUP9 000007cd: SWAP1 000007ce: MSTORE 000007cf: DUP4 000007d0: MLOAD 000007d1: DUP1 000007d2: DUP5 000007d3: SUB 000007d4: SWAP1 000007d5: SWAP2 000007d6: ADD 000007d7: DUP2 000007d8: MSTORE 000007d9: PUSH1 0x8c 000007db: SWAP1 000007dc: SWAP3 000007dd: ADD 000007de: SWAP3 000007df: DUP4 000007e0: SWAP1 000007e1: MSTORE 000007e2: DUP2 000007e3: MLOAD 000007e4: SWAP4 000007e5: SWAP5 000007e6: POP 000007e7: SWAP1 000007e8: SWAP3 000007e9: DUP3 000007ea: SWAP2 000007eb: DUP5 000007ec: ADD 000007ed: SWAP1 000007ee: DUP1 000007ef: DUP4 000007f0: DUP4 000007f1: JUMPDEST 000007f2: PUSH1 0x20 000007f4: DUP4 000007f5: LT 000007f6: PUSH2 0x0810 000007f9: JUMPI 000007fa: DUP1 000007fb: MLOAD 000007fc: DUP3 000007fd: MSTORE 000007fe: PUSH1 0x1f 00000800: NOT 00000801: SWAP1 00000802: SWAP3 00000803: ADD 00000804: SWAP2 00000805: PUSH1 0x20 00000807: SWAP2 00000808: DUP3 00000809: ADD 0000080a: SWAP2 0000080b: ADD 0000080c: PUSH2 0x07f1 0000080f: JUMP 00000810: JUMPDEST 00000811: MLOAD 00000812: DUP2 00000813: MLOAD 00000814: PUSH1 0x00 00000816: NOT 00000817: PUSH1 0x20 00000819: SWAP5 0000081a: DUP6 0000081b: SUB 0000081c: PUSH2 0x0100 0000081f: EXP 00000820: ADD 00000821: SWAP1 00000822: DUP2 00000823: AND 00000824: SWAP1 00000825: NOT 00000826: SWAP2 00000827: SWAP1 00000828: SWAP2 00000829: AND 0000082a: OR 0000082b: SWAP1 0000082c: MSTORE 0000082d: PUSH1 0x40 0000082f: DUP1 00000830: MLOAD 00000831: SWAP5 00000832: SWAP1 00000833: SWAP3 00000834: ADD 00000835: DUP5 00000836: SWAP1 00000837: SUB 00000838: DUP5 00000839: KECCAK256 0000083a: PUSH1 0x60 0000083c: DUP1 0000083d: DUP7 0000083e: ADD 0000083f: DUP5 00000840: MSTORE 00000841: PUSH1 0x01 00000843: PUSH1 0xa0 00000845: PUSH1 0x02 00000847: EXP 00000848: SUB 00000849: DUP1 0000084a: DUP15 0000084b: AND 0000084c: DUP1 0000084d: DUP9 0000084e: MSTORE 0000084f: DUP14 00000850: DUP3 00000851: AND 00000852: DUP9 00000853: DUP7 00000854: ADD 00000855: DUP2 00000856: DUP2 00000857: MSTORE 00000858: DUP10 00000859: DUP9 0000085a: ADD 0000085b: DUP16 0000085c: DUP2 0000085d: MSTORE 0000085e: PUSH1 0x00 00000860: DUP8 00000861: DUP2 00000862: MSTORE 00000863: PUSH1 0x04 00000865: DUP10 00000866: MSTORE 00000867: DUP10 00000868: DUP2 00000869: KECCAK256 0000086a: SWAP12 0000086b: MLOAD 0000086c: DUP13 0000086d: SLOAD 0000086e: SWAP1 0000086f: DUP8 00000870: AND 00000871: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000886: NOT 00000887: SWAP2 00000888: DUP3 00000889: AND 0000088a: OR 0000088b: DUP14 0000088c: SSTORE 0000088d: SWAP3 0000088e: MLOAD 0000088f: PUSH1 0x01 00000891: DUP14 00000892: ADD 00000893: DUP1 00000894: SLOAD 00000895: SWAP2 00000896: SWAP1 00000897: SWAP8 00000898: AND 00000899: SWAP4 0000089a: AND 0000089b: SWAP3 0000089c: SWAP1 0000089d: SWAP3 0000089e: OR 0000089f: SWAP1 000008a0: SWAP5 000008a1: SSTORE 000008a2: SWAP3 000008a3: MLOAD 000008a4: PUSH1 0x02 000008a6: SWAP1 000008a7: SWAP10 000008a8: ADD 000008a9: SWAP9 000008aa: SWAP1 000008ab: SWAP9 000008ac: SSTORE 000008ad: SWAP1 000008ae: SLOAD 000008af: DUP6 000008b0: MLOAD 000008b1: DUP5 000008b2: DUP2 000008b3: MSTORE 000008b4: SWAP5 000008b5: DUP6 000008b6: ADD 000008b7: MSTORE 000008b8: DUP4 000008b9: DUP6 000008ba: ADD 000008bb: MSTORE 000008bc: DUP3 000008bd: ADD 000008be: SWAP5 000008bf: SWAP1 000008c0: SWAP5 000008c1: MSTORE 000008c2: PUSH1 0x80 000008c4: DUP2 000008c5: ADD 000008c6: DUP10 000008c7: SWAP1 000008c8: MSTORE 000008c9: SWAP1 000008ca: MLOAD 000008cb: SWAP3 000008cc: SWAP7 000008cd: POP 000008ce: PUSH32 0x02f609a1c03b13108a8069c96fbcfb080db656ce3f52dfdaa9af431e2d71dc65 000008ef: SWAP5 000008f0: POP 000008f1: DUP3 000008f2: SWAP1 000008f3: SUB 000008f4: PUSH1 0xa0 000008f6: ADD 000008f7: SWAP3 000008f8: POP 000008f9: POP 000008fa: LOG1 000008fb: POP 000008fc: SWAP4 000008fd: SWAP3 000008fe: POP 000008ff: POP 00000900: POP 00000901: JUMP 00000902: JUMPDEST 00000903: PUSH1 0x01 00000905: SLOAD 00000906: PUSH1 0x00 00000908: SWAP1 00000909: DUP2 0000090a: SWAP1 0000090b: DUP2 0000090c: SWAP1 0000090d: DUP2 0000090e: SWAP1 0000090f: DUP2 00000910: SWAP1 00000911: PUSH1 0x01 00000913: PUSH1 0xa0 00000915: PUSH1 0x02 00000917: EXP 00000918: SUB 00000919: AND 0000091a: CALLER 0000091b: EQ 0000091c: PUSH2 0x0924 0000091f: JUMPI 00000920: PUSH1 0x00 00000922: DUP1 00000923: REVERT 00000924: JUMPDEST 00000925: PUSH1 0x00 00000927: DUP7 00000928: DUP2 00000929: MSTORE 0000092a: PUSH1 0x03 0000092c: PUSH1 0x20 0000092e: MSTORE 0000092f: PUSH1 0x40 00000931: SWAP1 00000932: KECCAK256 00000933: DUP1 00000934: SLOAD 00000935: SWAP1 00000936: SWAP6 00000937: POP 00000938: PUSH1 0x01 0000093a: PUSH1 0xa0 0000093c: PUSH1 0x02 0000093e: EXP 0000093f: SUB 00000940: AND 00000941: SWAP4 00000942: POP 00000943: DUP4 00000944: ISZERO 00000945: ISZERO 00000946: PUSH2 0x094e 00000949: JUMPI 0000094a: PUSH1 0x00 0000094c: DUP1 0000094d: REVERT 0000094e: JUMPDEST 0000094f: PUSH1 0x01 00000951: DUP1 00000952: DUP7 00000953: ADD 00000954: SLOAD 00000955: PUSH1 0x02 00000957: DUP1 00000958: DUP9 00000959: ADD 0000095a: SLOAD 0000095b: PUSH1 0x00 0000095d: DUP11 0000095e: DUP2 0000095f: MSTORE 00000960: PUSH1 0x03 00000962: PUSH1 0x20 00000964: MSTORE 00000965: PUSH1 0x40 00000967: DUP2 00000968: KECCAK256 00000969: DUP1 0000096a: SLOAD 0000096b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000980: NOT 00000981: SWAP1 00000982: DUP2 00000983: AND 00000984: DUP3 00000985: SSTORE 00000986: SWAP6 00000987: DUP2 00000988: ADD 00000989: DUP1 0000098a: SLOAD 0000098b: SWAP1 0000098c: SWAP7 0000098d: AND 0000098e: SWAP1 0000098f: SWAP6 00000990: SSTORE 00000991: SWAP4 00000992: SWAP1 00000993: SWAP2 00000994: ADD 00000995: SWAP3 00000996: SWAP1 00000997: SWAP3 00000998: SSTORE 00000999: PUSH1 0x01 0000099b: PUSH1 0xa0 0000099d: PUSH1 0x02 0000099f: EXP 000009a0: SUB 000009a1: AND 000009a2: SWAP4 000009a3: POP 000009a4: SWAP2 000009a5: POP 000009a6: PUSH2 0x09b0 000009a9: DUP5 000009aa: DUP5 000009ab: DUP5 000009ac: PUSH2 0x0d27 000009af: JUMP 000009b0: JUMPDEST 000009b1: SWAP1 000009b2: POP 000009b3: DUP1 000009b4: ISZERO 000009b5: PUSH2 0x0730 000009b8: JUMPI 000009b9: PUSH1 0x40 000009bb: DUP1 000009bc: MLOAD 000009bd: DUP8 000009be: DUP2 000009bf: MSTORE 000009c0: PUSH1 0x01 000009c2: PUSH1 0xa0 000009c4: PUSH1 0x02 000009c6: EXP 000009c7: SUB 000009c8: DUP1 000009c9: DUP8 000009ca: AND 000009cb: PUSH1 0x20 000009cd: DUP4 000009ce: ADD 000009cf: MSTORE 000009d0: DUP6 000009d1: AND 000009d2: DUP2 000009d3: DUP4 000009d4: ADD 000009d5: MSTORE 000009d6: PUSH1 0x60 000009d8: DUP2 000009d9: ADD 000009da: DUP5 000009db: SWAP1 000009dc: MSTORE 000009dd: SWAP1 000009de: MLOAD 000009df: PUSH32 0x05b708c886ad83ae717f113aa484cdf529c07892cecc7000be8e7e876a841d1b 00000a00: SWAP2 00000a01: DUP2 00000a02: SWAP1 00000a03: SUB 00000a04: PUSH1 0x80 00000a06: ADD 00000a07: SWAP1 00000a08: LOG1 00000a09: POP 00000a0a: POP 00000a0b: POP 00000a0c: POP 00000a0d: POP 00000a0e: POP 00000a0f: JUMP 00000a10: JUMPDEST 00000a11: PUSH1 0x00 00000a13: SLOAD 00000a14: DUP2 00000a15: JUMP 00000a16: JUMPDEST 00000a17: PUSH1 0x03 00000a19: PUSH1 0x20 00000a1b: MSTORE 00000a1c: PUSH1 0x00 00000a1e: SWAP1 00000a1f: DUP2 00000a20: MSTORE 00000a21: PUSH1 0x40 00000a23: SWAP1 00000a24: KECCAK256 00000a25: DUP1 00000a26: SLOAD 00000a27: PUSH1 0x01 00000a29: DUP3 00000a2a: ADD 00000a2b: SLOAD 00000a2c: PUSH1 0x02 00000a2e: SWAP1 00000a2f: SWAP3 00000a30: ADD 00000a31: SLOAD 00000a32: PUSH1 0x01 00000a34: PUSH1 0xa0 00000a36: PUSH1 0x02 00000a38: EXP 00000a39: SUB 00000a3a: SWAP2 00000a3b: DUP3 00000a3c: AND 00000a3d: SWAP3 00000a3e: SWAP1 00000a3f: SWAP2 00000a40: AND 00000a41: SWAP1 00000a42: DUP4 00000a43: JUMP 00000a44: JUMPDEST 00000a45: PUSH1 0x00 00000a47: DUP1 00000a48: PUSH1 0x01 00000a4a: PUSH1 0xa0 00000a4c: PUSH1 0x02 00000a4e: EXP 00000a4f: SUB 00000a50: DUP6 00000a51: AND 00000a52: ISZERO 00000a53: ISZERO 00000a54: PUSH2 0x0a5c 00000a57: JUMPI 00000a58: PUSH1 0x00 00000a5a: DUP1 00000a5b: REVERT 00000a5c: JUMPDEST 00000a5d: PUSH1 0x01 00000a5f: PUSH1 0xa0 00000a61: PUSH1 0x02 00000a63: EXP 00000a64: SUB 00000a65: DUP5 00000a66: AND 00000a67: ISZERO 00000a68: ISZERO 00000a69: PUSH2 0x0a71 00000a6c: JUMPI 00000a6d: PUSH1 0x00 00000a6f: DUP1 00000a70: REVERT 00000a71: JUMPDEST 00000a72: PUSH2 0x0a79 00000a75: PUSH2 0x0c0e 00000a78: JUMP 00000a79: JUMPDEST 00000a7a: PUSH1 0x40 00000a7c: DUP1 00000a7d: MLOAD 00000a7e: PUSH1 0x20 00000a80: DUP1 00000a81: DUP3 00000a82: ADD 00000a83: DUP5 00000a84: SWAP1 00000a85: MSTORE 00000a86: PUSH32 0xecf644f100000000000000000000000000000000000000000000000000000000 00000aa7: DUP3 00000aa8: DUP5 00000aa9: ADD 00000aaa: MSTORE 00000aab: PUSH13 0x01000000000000000000000000 00000ab9: PUSH1 0x01 00000abb: PUSH1 0xa0 00000abd: PUSH1 0x02 00000abf: EXP 00000ac0: SUB 00000ac1: DUP1 00000ac2: DUP12 00000ac3: AND 00000ac4: DUP3 00000ac5: MUL 00000ac6: PUSH1 0x44 00000ac8: DUP6 00000ac9: ADD 00000aca: MSTORE 00000acb: DUP10 00000acc: AND 00000acd: MUL 00000ace: PUSH1 0x58 00000ad0: DUP4 00000ad1: ADD 00000ad2: MSTORE 00000ad3: PUSH1 0x6c 00000ad5: DUP1 00000ad6: DUP4 00000ad7: ADD 00000ad8: DUP9 00000ad9: SWAP1 00000ada: MSTORE 00000adb: DUP4 00000adc: MLOAD 00000add: DUP1 00000ade: DUP5 00000adf: SUB 00000ae0: SWAP1 00000ae1: SWAP2 00000ae2: ADD 00000ae3: DUP2 00000ae4: MSTORE 00000ae5: PUSH1 0x8c 00000ae7: SWAP1 00000ae8: SWAP3 00000ae9: ADD 00000aea: SWAP3 00000aeb: DUP4 00000aec: SWAP1 00000aed: MSTORE 00000aee: DUP2 00000aef: MLOAD 00000af0: SWAP4 00000af1: SWAP5 00000af2: POP 00000af3: SWAP1 00000af4: SWAP3 00000af5: DUP3 00000af6: SWAP2 00000af7: DUP5 00000af8: ADD 00000af9: SWAP1 00000afa: DUP1 00000afb: DUP4 00000afc: DUP4 00000afd: JUMPDEST 00000afe: PUSH1 0x20 00000b00: DUP4 00000b01: LT 00000b02: PUSH2 0x0b1c 00000b05: JUMPI 00000b06: DUP1 00000b07: MLOAD 00000b08: DUP3 00000b09: MSTORE 00000b0a: PUSH1 0x1f 00000b0c: NOT 00000b0d: SWAP1 00000b0e: SWAP3 00000b0f: ADD 00000b10: SWAP2 00000b11: PUSH1 0x20 00000b13: SWAP2 00000b14: DUP3 00000b15: ADD 00000b16: SWAP2 00000b17: ADD 00000b18: PUSH2 0x0afd 00000b1b: JUMP 00000b1c: JUMPDEST 00000b1d: MLOAD 00000b1e: DUP2 00000b1f: MLOAD 00000b20: PUSH1 0x00 00000b22: NOT 00000b23: PUSH1 0x20 00000b25: SWAP5 00000b26: DUP6 00000b27: SUB 00000b28: PUSH2 0x0100 00000b2b: EXP 00000b2c: ADD 00000b2d: SWAP1 00000b2e: DUP2 00000b2f: AND 00000b30: SWAP1 00000b31: NOT 00000b32: SWAP2 00000b33: SWAP1 00000b34: SWAP2 00000b35: AND 00000b36: OR 00000b37: SWAP1 00000b38: MSTORE 00000b39: PUSH1 0x40 00000b3b: DUP1 00000b3c: MLOAD 00000b3d: SWAP5 00000b3e: SWAP1 00000b3f: SWAP3 00000b40: ADD 00000b41: DUP5 00000b42: SWAP1 00000b43: SUB 00000b44: DUP5 00000b45: KECCAK256 00000b46: PUSH1 0x60 00000b48: DUP1 00000b49: DUP7 00000b4a: ADD 00000b4b: DUP5 00000b4c: MSTORE 00000b4d: PUSH1 0x01 00000b4f: PUSH1 0xa0 00000b51: PUSH1 0x02 00000b53: EXP 00000b54: SUB 00000b55: DUP1 00000b56: DUP15 00000b57: AND 00000b58: DUP1 00000b59: DUP9 00000b5a: MSTORE 00000b5b: DUP14 00000b5c: DUP3 00000b5d: AND 00000b5e: DUP9 00000b5f: DUP7 00000b60: ADD 00000b61: DUP2 00000b62: DUP2 00000b63: MSTORE 00000b64: DUP10 00000b65: DUP9 00000b66: ADD 00000b67: DUP16 00000b68: DUP2 00000b69: MSTORE 00000b6a: PUSH1 0x00 00000b6c: DUP8 00000b6d: DUP2 00000b6e: MSTORE 00000b6f: PUSH1 0x03 00000b71: DUP10 00000b72: MSTORE 00000b73: DUP10 00000b74: DUP2 00000b75: KECCAK256 00000b76: SWAP12 00000b77: MLOAD 00000b78: DUP13 00000b79: SLOAD 00000b7a: SWAP1 00000b7b: DUP8 00000b7c: AND 00000b7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b92: NOT 00000b93: SWAP2 00000b94: DUP3 00000b95: AND 00000b96: OR 00000b97: DUP14 00000b98: SSTORE 00000b99: SWAP3 00000b9a: MLOAD 00000b9b: PUSH1 0x01 00000b9d: DUP14 00000b9e: ADD 00000b9f: DUP1 00000ba0: SLOAD 00000ba1: SWAP2 00000ba2: SWAP1 00000ba3: SWAP8 00000ba4: AND 00000ba5: SWAP4 00000ba6: AND 00000ba7: SWAP3 00000ba8: SWAP1 00000ba9: SWAP3 00000baa: OR 00000bab: SWAP1 00000bac: SWAP5 00000bad: SSTORE 00000bae: SWAP3 00000baf: MLOAD 00000bb0: PUSH1 0x02 00000bb2: SWAP1 00000bb3: SWAP10 00000bb4: ADD 00000bb5: SWAP9 00000bb6: SWAP1 00000bb7: SWAP9 00000bb8: SSTORE 00000bb9: SWAP1 00000bba: SLOAD 00000bbb: DUP6 00000bbc: MLOAD 00000bbd: DUP5 00000bbe: DUP2 00000bbf: MSTORE 00000bc0: SWAP5 00000bc1: DUP6 00000bc2: ADD 00000bc3: MSTORE 00000bc4: DUP4 00000bc5: DUP6 00000bc6: ADD 00000bc7: MSTORE 00000bc8: DUP3 00000bc9: ADD 00000bca: SWAP5 00000bcb: SWAP1 00000bcc: SWAP5 00000bcd: MSTORE 00000bce: PUSH1 0x80 00000bd0: DUP2 00000bd1: ADD 00000bd2: DUP10 00000bd3: SWAP1 00000bd4: MSTORE 00000bd5: SWAP1 00000bd6: MLOAD 00000bd7: SWAP3 00000bd8: SWAP7 00000bd9: POP 00000bda: PUSH32 0x620b1d454866258768f710e230edb1977b9f7349de5a633e5e34337d6e9fffab 00000bfb: SWAP5 00000bfc: POP 00000bfd: DUP3 00000bfe: SWAP1 00000bff: SUB 00000c00: PUSH1 0xa0 00000c02: ADD 00000c03: SWAP3 00000c04: POP 00000c05: POP 00000c06: LOG1 00000c07: POP 00000c08: SWAP4 00000c09: SWAP3 00000c0a: POP 00000c0b: POP 00000c0c: POP 00000c0d: JUMP 00000c0e: JUMPDEST 00000c0f: PUSH1 0x00 00000c11: DUP1 00000c12: SLOAD 00000c13: PUSH1 0x01 00000c15: ADD 00000c16: DUP1 00000c17: DUP3 00000c18: SSTORE 00000c19: PUSH1 0x40 00000c1b: DUP1 00000c1c: MLOAD 00000c1d: PUSH1 0x00 00000c1f: NOT 00000c20: NUMBER 00000c21: ADD 00000c22: BLOCKHASH 00000c23: PUSH1 0x20 00000c25: DUP1 00000c26: DUP4 00000c27: ADD 00000c28: SWAP2 00000c29: SWAP1 00000c2a: SWAP2 00000c2b: MSTORE 00000c2c: PUSH13 0x01000000000000000000000000 00000c3a: ADDRESS 00000c3b: MUL 00000c3c: DUP3 00000c3d: DUP5 00000c3e: ADD 00000c3f: MSTORE 00000c40: PUSH1 0x54 00000c42: DUP1 00000c43: DUP4 00000c44: ADD 00000c45: SWAP5 00000c46: SWAP1 00000c47: SWAP5 00000c48: MSTORE 00000c49: DUP3 00000c4a: MLOAD 00000c4b: DUP1 00000c4c: DUP4 00000c4d: SUB 00000c4e: SWAP1 00000c4f: SWAP5 00000c50: ADD 00000c51: DUP5 00000c52: MSTORE 00000c53: PUSH1 0x74 00000c55: SWAP1 00000c56: SWAP2 00000c57: ADD 00000c58: SWAP2 00000c59: DUP3 00000c5a: SWAP1 00000c5b: MSTORE 00000c5c: DUP3 00000c5d: MLOAD 00000c5e: DUP3 00000c5f: SWAP2 00000c60: DUP5 00000c61: ADD 00000c62: SWAP1 00000c63: DUP1 00000c64: DUP4 00000c65: DUP4 00000c66: JUMPDEST 00000c67: PUSH1 0x20 00000c69: DUP4 00000c6a: LT 00000c6b: PUSH2 0x0c85 00000c6e: JUMPI 00000c6f: DUP1 00000c70: MLOAD 00000c71: DUP3 00000c72: MSTORE 00000c73: PUSH1 0x1f 00000c75: NOT 00000c76: SWAP1 00000c77: SWAP3 00000c78: ADD 00000c79: SWAP2 00000c7a: PUSH1 0x20 00000c7c: SWAP2 00000c7d: DUP3 00000c7e: ADD 00000c7f: SWAP2 00000c80: ADD 00000c81: PUSH2 0x0c66 00000c84: JUMP 00000c85: JUMPDEST 00000c86: PUSH1 0x01 00000c88: DUP4 00000c89: PUSH1 0x20 00000c8b: SUB 00000c8c: PUSH2 0x0100 00000c8f: EXP 00000c90: SUB 00000c91: DUP1 00000c92: NOT 00000c93: DUP3 00000c94: MLOAD 00000c95: AND 00000c96: DUP2 00000c97: DUP5 00000c98: MLOAD 00000c99: AND 00000c9a: DUP1 00000c9b: DUP3 00000c9c: OR 00000c9d: DUP6 00000c9e: MSTORE 00000c9f: POP 00000ca0: POP 00000ca1: POP 00000ca2: POP 00000ca3: POP 00000ca4: POP 00000ca5: SWAP1 00000ca6: POP 00000ca7: ADD 00000ca8: SWAP2 00000ca9: POP 00000caa: POP 00000cab: PUSH1 0x40 00000cad: MLOAD 00000cae: DUP1 00000caf: SWAP2 00000cb0: SUB 00000cb1: SWAP1 00000cb2: KECCAK256 00000cb3: SWAP1 00000cb4: POP 00000cb5: SWAP1 00000cb6: JUMP 00000cb7: JUMPDEST 00000cb8: PUSH1 0x40 00000cba: DUP1 00000cbb: MLOAD 00000cbc: PUSH32 0x42842e0e00000000000000000000000000000000000000000000000000000000 00000cdd: DUP2 00000cde: MSTORE 00000cdf: ADDRESS 00000ce0: PUSH1 0x04 00000ce2: DUP3 00000ce3: ADD 00000ce4: MSTORE 00000ce5: PUSH1 0x01 00000ce7: PUSH1 0xa0 00000ce9: PUSH1 0x02 00000ceb: EXP 00000cec: SUB 00000ced: DUP5 00000cee: DUP2 00000cef: AND 00000cf0: PUSH1 0x24 00000cf2: DUP4 00000cf3: ADD 00000cf4: MSTORE 00000cf5: PUSH1 0x44 00000cf7: DUP3 00000cf8: ADD 00000cf9: DUP5 00000cfa: SWAP1 00000cfb: MSTORE 00000cfc: SWAP2 00000cfd: MLOAD 00000cfe: PUSH1 0x00 00000d00: SWAP3 00000d01: DUP7 00000d02: AND 00000d03: SWAP2 00000d04: PUSH4 0x42842e0e 00000d09: SWAP2 00000d0a: PUSH1 0x64 00000d0c: DUP1 00000d0d: DUP4 00000d0e: ADD 00000d0f: SWAP3 00000d10: DUP7 00000d11: SWAP3 00000d12: SWAP2 00000d13: SWAP1 00000d14: DUP3 00000d15: SWAP1 00000d16: SUB 00000d17: ADD 00000d18: DUP2 00000d19: DUP4 00000d1a: DUP8 00000d1b: GAS 00000d1c: CALL 00000d1d: SWAP8 00000d1e: SWAP7 00000d1f: POP 00000d20: POP 00000d21: POP 00000d22: POP 00000d23: POP 00000d24: POP 00000d25: POP 00000d26: JUMP 00000d27: JUMPDEST 00000d28: PUSH1 0x40 00000d2a: DUP1 00000d2b: MLOAD 00000d2c: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000d4d: DUP2 00000d4e: MSTORE 00000d4f: PUSH1 0x01 00000d51: PUSH1 0xa0 00000d53: PUSH1 0x02 00000d55: EXP 00000d56: SUB 00000d57: DUP5 00000d58: DUP2 00000d59: AND 00000d5a: PUSH1 0x04 00000d5c: DUP4 00000d5d: ADD 00000d5e: MSTORE 00000d5f: PUSH1 0x24 00000d61: DUP3 00000d62: ADD 00000d63: DUP5 00000d64: SWAP1 00000d65: MSTORE 00000d66: SWAP2 00000d67: MLOAD 00000d68: PUSH1 0x00 00000d6a: SWAP3 00000d6b: DUP7 00000d6c: AND 00000d6d: SWAP2 00000d6e: PUSH4 0xa9059cbb 00000d73: SWAP2 00000d74: PUSH1 0x44 00000d76: DUP1 00000d77: DUP4 00000d78: ADD 00000d79: SWAP3 00000d7a: DUP7 00000d7b: SWAP3 00000d7c: SWAP2 00000d7d: SWAP1 00000d7e: DUP3 00000d7f: SWAP1 00000d80: SUB 00000d81: ADD 00000d82: DUP2 00000d83: DUP4 00000d84: DUP8 00000d85: GAS 00000d86: CALL 00000d87: SWAP8 00000d88: SWAP7 00000d89: POP 00000d8a: POP 00000d8b: POP 00000d8c: POP 00000d8d: POP 00000d8e: POP 00000d8f: POP 00000d90: JUMP 00000d91: STOP 00000d92: LOG1 00000d93: PUSH6 0x627a7a723058 00000d9a: KECCAK256 00000d9b: CALLER 00000d9c: UNKNOWN(0xB4) 00000d9d: UNKNOWN(0xC8) 00000d9e: BYTE 00000d9f: UNKNOWN(0xC2) 00000da0: SWAP7 00000da1: UNKNOWN(0xB8) 00000da2: UNKNOWN(0xD1) 00000da3: UNKNOWN(0xBE) 00000da4: SWAP12 00000da5: CLZ 00000da6: OR 00000da7: PUSH18 0xaae54c63b57d9df3ff2a1dfb5202fc7d44c3 00000dba: UNKNOWN(0xEE) 00000dbb: STOP 00000dbc: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x27e21a24b7a984051580a61660e753cb8593013369d2de375ac8133bae824f40
call_targets:
0xeb4d872069a0f97e631df36dc58d8274038c0bc5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x27e21a24b7a984051580a61660e753cb8593013369d2de375ac8133bae824f40",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeb4d872069a0f97e631df36dc58d8274038c0bc5"
],
"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": "0x150b7a02",
"selector": "0x150b7a02",
"calldata_variants": [
"0x150b7a02",
"0x150b7a020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2c8ef841",
"selector": "0x2c8ef841",
"calldata_variants": [
"0x2c8ef841",
"0x2c8ef8410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x375b74c3",
"selector": "0x375b74c3",
"calldata_variants": [
"0x375b74c3",
"0x375b74c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x441e15d0",
"selector": "0x441e15d0",
"calldata_variants": [
"0x441e15d0",
"0x441e15d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x522b3d17",
"selector": "0x522b3d17",
"calldata_variants": [
"0x522b3d17",
"0x522b3d170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x526327f2",
"selector": "0x526327f2",
"calldata_variants": [
"0x526327f2",
"0x526327f20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5aa79b6b",
"selector": "0x5aa79b6b",
"calldata_variants": [
"0x5aa79b6b",
"0x5aa79b6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x60de3a26",
"selector": "0x60de3a26",
"calldata_variants": [
"0x60de3a26",
"0x60de3a260000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 996,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3356,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3462,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 3,
"guards_detected": [],
"untrusted_call_count": 3
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x27e21a24b7a984051580a61660e753cb8593013369d2de375ac8133bae824f40
call_targets:
0xeb4d872069a0f97e631df36dc58d8274038c0bc5
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x27e21a24b7a984051580a61660e753cb8593013369d2de375ac8133bae824f40",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xeb4d872069a0f97e631df36dc58d8274038c0bc5"
],
"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": "0x150b7a02",
"selector": "0x150b7a02",
"calldata_variants": [
"0x150b7a02",
"0x150b7a020000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2c8ef841",
"selector": "0x2c8ef841",
"calldata_variants": [
"0x2c8ef841",
"0x2c8ef8410000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x375b74c3",
"selector": "0x375b74c3",
"calldata_variants": [
"0x375b74c3",
"0x375b74c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x441e15d0",
"selector": "0x441e15d0",
"calldata_variants": [
"0x441e15d0",
"0x441e15d00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x522b3d17",
"selector": "0x522b3d17",
"calldata_variants": [
"0x522b3d17",
"0x522b3d170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x526327f2",
"selector": "0x526327f2",
"calldata_variants": [
"0x526327f2",
"0x526327f20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x5aa79b6b",
"selector": "0x5aa79b6b",
"calldata_variants": [
"0x5aa79b6b",
"0x5aa79b6b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x60de3a26",
"selector": "0x60de3a26",
"calldata_variants": [
"0x60de3a26",
"0x60de3a260000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 996,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3356,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3462,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|