8009e002-f7d1-4869-af2f-fffa4e902b99
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 |
|---|---|---|---|---|
| 31646 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95299 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 95300 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95301 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95302 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95303 | detector.run | complete | 1 / 3 | 1 week ago |
| 95304 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1218112] OpenAI Codex v0.77.0 (research preview)
[codex:1218112] --------
[codex:1218112] workdir: /tmp/codex-multi-634ee9ng
[codex:1218112] model: gpt-5.2-codex
[codex:1218112] provider: openai
[codex:1218112] approval: never
[codex:1218112] sandbox: read-only
[codex:1218112] reasoning effort: xhigh
[codex:1218112] reasoning summaries: auto
[codex:1218112] session id: 019b8be3-741c-7e42-9e3b-b6254daae035
[codex:1218112] --------
[codex:1218112] user
[codex:1218112] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1218112]
[codex:1218112] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1218112]
[codex:1218112] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1218112] - Gas inefficiency, code quality, naming, or best practices
[codex:1218112] - Theoretical vulnerabilities without a clear extraction path
[codex:1218112] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1218112] - Front-running unless it enables theft beyond MEV
[codex:1218112] - DoS, griefing, or issues that don't result in attacker profit
[codex:1218112] - Missing events, view function issues, or informational findings
[codex:1218112]
[codex:1218112] HIGH-VALUE PATTERNS TO HUNT:
[codex:1218112] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1218112] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1218112] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1218112] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1218112] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1218112] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1218112] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1218112] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1218112] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1218112]
[codex:1218112] For each finding, you MUST provide:
[codex:1218112] 1. Exact file and line numbers of vulnerable code
[codex:1218112] 2. Step-by-step exploit transaction sequence
[codex:1218112] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1218112]
[codex:1218112] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1218112]
[codex:1218112] Output MUST be valid JSON matching the provided schema.
[codex:1218112] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1218112] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1218112] mcp startup: no servers
[codex:1218112]
[codex:1218112] thinking
[codex:1218112] **Starting audit bundle inspection**
[codex:1218112] exec
[codex:1218112] /bin/bash -lc ls in /tmp/codex-multi-634ee9ng succeeded in 5ms:
[codex:1218112] AUDIT_BUNDLE.txt
[codex:1218112] codex-output-schema.json
[codex:1218112] contracts
[codex:1218112] exec
[codex:1218112] /bin/bash -lc 'rg --files' in /tmp/codex-multi-634ee9ng succeeded in 8ms:
[codex:1218112] codex-output-schema.json
[codex:1218112] AUDIT_BUNDLE.txt
[codex:1218112] contracts/src/FlaryTokenSale.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/utils/Pausable.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1218112] contracts/lib/chainlink-brownie-contracts/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol
[codex:1218112] contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1218112]
[codex:1218112] thinking
[codex:1218112] **Reading AUDIT_BUNDLE.txt**
[codex:1218112] exec
[codex:1218112] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-634ee9ng succeeded in 5ms:
[codex:1218112] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1218112]
[codex:1218112] ================================================================================
[codex:1218112] FILE: contracts/src/FlaryTokenSale.sol
[codex:1218112] ================================================================================
[codex:1218112] // SPDX-License-Identifier: MIT
[codex:1218112]
[codex:1218112] pragma solidity 0.8.22;
[codex:1218112]
[codex:1218112] import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
[codex:1218112] import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol";
[codex:1218112] import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1218112] import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1218112] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1218112] import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
[codex:1218112]
[codex:1218112] contract FlaryTokenSale is Ownable, Pausable, ReentrancyGuard {
[codex:1218112] using SafeERC20 for ERC20;
[codex:1218112]
[codex:1218112] ERC20 public usdt;
[codex:1218112]
[codex:1218112] thinking
[codex:1218112] **Evaluating exploit possibilities in token sale**
[codex:1218112]
[codex:1218112] I'll carefully analyze the contract for any exploitable paths to extract ETH, USDT, or tokens, focusing on ownership controls, allowance logic, reentrancy risks, and oracle price handling. After considering payment flows, token issuance (or lack thereof), and price feed vulnerabilities, I find no concrete way for an attacker to withdraw funds or gain profit from this contract. I'll prepare a JSON summary reporting no findings following the specified schema.
[codex:1218112] codex
[codex:1218112] {"no_findings":true,"summary":"No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.","findings":[]}
[codex:1218112] tokens used
[codex:1218112] 8,359
[codex:1218112] {"no_findings":true,"summary":"No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T02:02:24.026163+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.",
"raw_final": {
"summary": "No concrete, exploitable path found to extract ETH/USDT or other value from the contract based on AUDIT_BUNDLE.txt.",
"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 0x00fa 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x715018a6 00000018: GT 00000019: PUSH2 0x0092 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0x8da5cb5b 00000023: GT 00000024: PUSH2 0x0062 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0x8da5cb5b 0000002e: EQ 0000002f: PUSH2 0x0268 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xa2b40d19 00000039: EQ 0000003a: PUSH2 0x0284 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xd2834ee3 00000044: EQ 00000045: PUSH2 0x02a3 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xf2aa8218 0000004f: EQ 00000050: PUSH2 0x02c2 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xf2fde38b 0000005a: EQ 0000005b: PUSH2 0x02e1 0000005e: JUMPI 0000005f: PUSH0 00000060: DUP1 00000061: REVERT 00000062: JUMPDEST 00000063: DUP1 00000064: PUSH4 0x715018a6 00000069: EQ 0000006a: PUSH2 0x0219 0000006d: JUMPI 0000006e: DUP1 0000006f: PUSH4 0x73d87a3e 00000074: EQ 00000075: PUSH2 0x022d 00000078: JUMPI 00000079: DUP1 0000007a: PUSH4 0x84276d81 0000007f: EQ 00000080: PUSH2 0x0235 00000083: JUMPI 00000084: DUP1 00000085: PUSH4 0x8456cb59 0000008a: EQ 0000008b: PUSH2 0x0254 0000008e: JUMPI 0000008f: PUSH0 00000090: DUP1 00000091: REVERT 00000092: JUMPDEST 00000093: DUP1 00000094: PUSH4 0x3ea521ef 00000099: GT 0000009a: PUSH2 0x00cd 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0x3ea521ef 000000a4: EQ 000000a5: PUSH2 0x01a9 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0x3f4ba83a 000000af: EQ 000000b0: PUSH2 0x01c8 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0x519ee19e 000000ba: EQ 000000bb: PUSH2 0x01dc 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0x5c975abb 000000c5: EQ 000000c6: PUSH2 0x01f1 000000c9: JUMPI 000000ca: PUSH0 000000cb: DUP1 000000cc: REVERT 000000cd: JUMPDEST 000000ce: DUP1 000000cf: PUSH4 0x18c6611f 000000d4: EQ 000000d5: PUSH2 0x00fe 000000d8: JUMPI 000000d9: DUP1 000000da: PUSH4 0x20c6a022 000000df: EQ 000000e0: PUSH2 0x011f 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0x2f48ab7d 000000ea: EQ 000000eb: PUSH2 0x0147 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0x304676df 000000f5: EQ 000000f6: PUSH2 0x017e 000000f9: JUMPI 000000fa: JUMPDEST 000000fb: PUSH0 000000fc: DUP1 000000fd: REVERT 000000fe: JUMPDEST 000000ff: CALLVALUE 00000100: DUP1 00000101: ISZERO 00000102: PUSH2 0x0109 00000105: JUMPI 00000106: PUSH0 00000107: DUP1 00000108: REVERT 00000109: JUMPDEST 0000010a: POP 0000010b: PUSH2 0x011d 0000010e: PUSH2 0x0118 00000111: CALLDATASIZE 00000112: PUSH1 0x04 00000114: PUSH2 0x0c57 00000117: JUMP 00000118: JUMPDEST 00000119: PUSH2 0x0300 0000011c: JUMP 0000011d: JUMPDEST 0000011e: STOP 0000011f: JUMPDEST 00000120: CALLVALUE 00000121: DUP1 00000122: ISZERO 00000123: PUSH2 0x012a 00000126: JUMPI 00000127: PUSH0 00000128: DUP1 00000129: REVERT 0000012a: JUMPDEST 0000012b: POP 0000012c: PUSH2 0x0134 0000012f: PUSH1 0x04 00000131: SLOAD 00000132: DUP2 00000133: JUMP 00000134: JUMPDEST 00000135: PUSH1 0x40 00000137: MLOAD 00000138: SWAP1 00000139: DUP2 0000013a: MSTORE 0000013b: PUSH1 0x20 0000013d: ADD 0000013e: JUMPDEST 0000013f: PUSH1 0x40 00000141: MLOAD 00000142: DUP1 00000143: SWAP2 00000144: SUB 00000145: SWAP1 00000146: RETURN 00000147: JUMPDEST 00000148: CALLVALUE 00000149: DUP1 0000014a: ISZERO 0000014b: PUSH2 0x0152 0000014e: JUMPI 0000014f: PUSH0 00000150: DUP1 00000151: REVERT 00000152: JUMPDEST 00000153: POP 00000154: PUSH1 0x02 00000156: SLOAD 00000157: PUSH2 0x0166 0000015a: SWAP1 0000015b: PUSH1 0x01 0000015d: PUSH1 0x01 0000015f: PUSH1 0xa0 00000161: SHL 00000162: SUB 00000163: AND 00000164: DUP2 00000165: JUMP 00000166: JUMPDEST 00000167: PUSH1 0x40 00000169: MLOAD 0000016a: PUSH1 0x01 0000016c: PUSH1 0x01 0000016e: PUSH1 0xa0 00000170: SHL 00000171: SUB 00000172: SWAP1 00000173: SWAP2 00000174: AND 00000175: DUP2 00000176: MSTORE 00000177: PUSH1 0x20 00000179: ADD 0000017a: PUSH2 0x013e 0000017d: JUMP 0000017e: JUMPDEST 0000017f: CALLVALUE 00000180: DUP1 00000181: ISZERO 00000182: PUSH2 0x0189 00000185: JUMPI 00000186: PUSH0 00000187: DUP1 00000188: REVERT 00000189: JUMPDEST 0000018a: POP 0000018b: PUSH2 0x0134 0000018e: PUSH2 0x0198 00000191: CALLDATASIZE 00000192: PUSH1 0x04 00000194: PUSH2 0x0c6e 00000197: JUMP 00000198: JUMPDEST 00000199: PUSH1 0x06 0000019b: PUSH1 0x20 0000019d: MSTORE 0000019e: PUSH0 0000019f: SWAP1 000001a0: DUP2 000001a1: MSTORE 000001a2: PUSH1 0x40 000001a4: SWAP1 000001a5: KECCAK256 000001a6: SLOAD 000001a7: DUP2 000001a8: JUMP 000001a9: JUMPDEST 000001aa: CALLVALUE 000001ab: DUP1 000001ac: ISZERO 000001ad: PUSH2 0x01b4 000001b0: JUMPI 000001b1: PUSH0 000001b2: DUP1 000001b3: REVERT 000001b4: JUMPDEST 000001b5: POP 000001b6: PUSH2 0x011d 000001b9: PUSH2 0x01c3 000001bc: CALLDATASIZE 000001bd: PUSH1 0x04 000001bf: PUSH2 0x0c57 000001c2: JUMP 000001c3: JUMPDEST 000001c4: PUSH2 0x0385 000001c7: JUMP 000001c8: JUMPDEST 000001c9: CALLVALUE 000001ca: DUP1 000001cb: ISZERO 000001cc: PUSH2 0x01d3 000001cf: JUMPI 000001d0: PUSH0 000001d1: DUP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: POP 000001d5: PUSH2 0x011d 000001d8: PUSH2 0x03d0 000001db: JUMP 000001dc: JUMPDEST 000001dd: CALLVALUE 000001de: DUP1 000001df: ISZERO 000001e0: PUSH2 0x01e7 000001e3: JUMPI 000001e4: PUSH0 000001e5: DUP1 000001e6: REVERT 000001e7: JUMPDEST 000001e8: POP 000001e9: PUSH2 0x0134 000001ec: PUSH1 0x05 000001ee: SLOAD 000001ef: DUP2 000001f0: JUMP 000001f1: JUMPDEST 000001f2: CALLVALUE 000001f3: DUP1 000001f4: ISZERO 000001f5: PUSH2 0x01fc 000001f8: JUMPI 000001f9: PUSH0 000001fa: DUP1 000001fb: REVERT 000001fc: JUMPDEST 000001fd: POP 000001fe: PUSH0 000001ff: SLOAD 00000200: PUSH1 0x01 00000202: PUSH1 0xa0 00000204: SHL 00000205: SWAP1 00000206: DIV 00000207: PUSH1 0xff 00000209: AND 0000020a: PUSH1 0x40 0000020c: MLOAD 0000020d: SWAP1 0000020e: ISZERO 0000020f: ISZERO 00000210: DUP2 00000211: MSTORE 00000212: PUSH1 0x20 00000214: ADD 00000215: PUSH2 0x013e 00000218: JUMP 00000219: JUMPDEST 0000021a: CALLVALUE 0000021b: DUP1 0000021c: ISZERO 0000021d: PUSH2 0x0224 00000220: JUMPI 00000221: PUSH0 00000222: DUP1 00000223: REVERT 00000224: JUMPDEST 00000225: POP 00000226: PUSH2 0x011d 00000229: PUSH2 0x03ea 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH2 0x011d 00000231: PUSH2 0x03fb 00000234: JUMP 00000235: JUMPDEST 00000236: CALLVALUE 00000237: DUP1 00000238: ISZERO 00000239: PUSH2 0x0240 0000023c: JUMPI 0000023d: PUSH0 0000023e: DUP1 0000023f: REVERT 00000240: JUMPDEST 00000241: POP 00000242: PUSH2 0x011d 00000245: PUSH2 0x024f 00000248: CALLDATASIZE 00000249: PUSH1 0x04 0000024b: PUSH2 0x0c57 0000024e: JUMP 0000024f: JUMPDEST 00000250: PUSH2 0x066a 00000253: JUMP 00000254: JUMPDEST 00000255: CALLVALUE 00000256: DUP1 00000257: ISZERO 00000258: PUSH2 0x025f 0000025b: JUMPI 0000025c: PUSH0 0000025d: DUP1 0000025e: REVERT 0000025f: JUMPDEST 00000260: POP 00000261: PUSH2 0x011d 00000264: PUSH2 0x0735 00000267: JUMP 00000268: JUMPDEST 00000269: CALLVALUE 0000026a: DUP1 0000026b: ISZERO 0000026c: PUSH2 0x0273 0000026f: JUMPI 00000270: PUSH0 00000271: DUP1 00000272: REVERT 00000273: JUMPDEST 00000274: POP 00000275: PUSH0 00000276: SLOAD 00000277: PUSH1 0x01 00000279: PUSH1 0x01 0000027b: PUSH1 0xa0 0000027d: SHL 0000027e: SUB 0000027f: AND 00000280: PUSH2 0x0166 00000283: JUMP 00000284: JUMPDEST 00000285: CALLVALUE 00000286: DUP1 00000287: ISZERO 00000288: PUSH2 0x028f 0000028b: JUMPI 0000028c: PUSH0 0000028d: DUP1 0000028e: REVERT 0000028f: JUMPDEST 00000290: POP 00000291: PUSH2 0x011d 00000294: PUSH2 0x029e 00000297: CALLDATASIZE 00000298: PUSH1 0x04 0000029a: PUSH2 0x0c57 0000029d: JUMP 0000029e: JUMPDEST 0000029f: PUSH2 0x074d 000002a2: JUMP 000002a3: JUMPDEST 000002a4: CALLVALUE 000002a5: DUP1 000002a6: ISZERO 000002a7: PUSH2 0x02ae 000002aa: JUMPI 000002ab: PUSH0 000002ac: DUP1 000002ad: REVERT 000002ae: JUMPDEST 000002af: POP 000002b0: PUSH1 0x03 000002b2: SLOAD 000002b3: PUSH2 0x0166 000002b6: SWAP1 000002b7: PUSH1 0x01 000002b9: PUSH1 0x01 000002bb: PUSH1 0xa0 000002bd: SHL 000002be: SUB 000002bf: AND 000002c0: DUP2 000002c1: JUMP 000002c2: JUMPDEST 000002c3: CALLVALUE 000002c4: DUP1 000002c5: ISZERO 000002c6: PUSH2 0x02cd 000002c9: JUMPI 000002ca: PUSH0 000002cb: DUP1 000002cc: REVERT 000002cd: JUMPDEST 000002ce: POP 000002cf: PUSH2 0x0166 000002d2: PUSH2 0x02dc 000002d5: CALLDATASIZE 000002d6: PUSH1 0x04 000002d8: PUSH2 0x0c57 000002db: JUMP 000002dc: JUMPDEST 000002dd: PUSH2 0x075a 000002e0: JUMP 000002e1: JUMPDEST 000002e2: CALLVALUE 000002e3: DUP1 000002e4: ISZERO 000002e5: PUSH2 0x02ec 000002e8: JUMPI 000002e9: PUSH0 000002ea: DUP1 000002eb: REVERT 000002ec: JUMPDEST 000002ed: POP 000002ee: PUSH2 0x011d 000002f1: PUSH2 0x02fb 000002f4: CALLDATASIZE 000002f5: PUSH1 0x04 000002f7: PUSH2 0x0c6e 000002fa: JUMP 000002fb: JUMPDEST 000002fc: PUSH2 0x0782 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH2 0x0308 00000304: PUSH2 0x07bc 00000307: JUMP 00000308: JUMPDEST 00000309: PUSH1 0x02 0000030b: SLOAD 0000030c: PUSH2 0x0320 0000030f: SWAP1 00000310: PUSH1 0x01 00000312: PUSH1 0x01 00000314: PUSH1 0xa0 00000316: SHL 00000317: SUB 00000318: AND 00000319: CALLER 0000031a: ADDRESS 0000031b: DUP5 0000031c: PUSH2 0x07e6 0000031f: JUMP 00000320: JUMPDEST 00000321: PUSH1 0x04 00000323: SLOAD 00000324: PUSH0 00000325: SWAP1 00000326: PUSH2 0x0337 00000329: DUP4 0000032a: PUSH8 0x0de0b6b3a7640000 00000333: PUSH2 0x0ca8 00000336: JUMP 00000337: JUMPDEST 00000338: PUSH2 0x0341 0000033b: SWAP2 0000033c: SWAP1 0000033d: PUSH2 0x0cbf 00000340: JUMP 00000341: JUMPDEST 00000342: CALLER 00000343: PUSH0 00000344: SWAP1 00000345: DUP2 00000346: MSTORE 00000347: PUSH1 0x06 00000349: PUSH1 0x20 0000034b: MSTORE 0000034c: PUSH1 0x40 0000034e: DUP2 0000034f: KECCAK256 00000350: DUP1 00000351: SLOAD 00000352: SWAP3 00000353: SWAP4 00000354: POP 00000355: DUP4 00000356: SWAP3 00000357: SWAP1 00000358: SWAP2 00000359: SWAP1 0000035a: PUSH2 0x0364 0000035d: SWAP1 0000035e: DUP5 0000035f: SWAP1 00000360: PUSH2 0x0cde 00000363: JUMP 00000364: JUMPDEST 00000365: SWAP3 00000366: POP 00000367: POP 00000368: DUP2 00000369: SWAP1 0000036a: SSTORE 0000036b: POP 0000036c: DUP1 0000036d: PUSH1 0x05 0000036f: PUSH0 00000370: DUP3 00000371: DUP3 00000372: SLOAD 00000373: PUSH2 0x037c 00000376: SWAP2 00000377: SWAP1 00000378: PUSH2 0x0cde 0000037b: JUMP 0000037c: JUMPDEST 0000037d: SWAP1 0000037e: SWAP2 0000037f: SSTORE 00000380: POP 00000381: POP 00000382: POP 00000383: POP 00000384: JUMP 00000385: JUMPDEST 00000386: PUSH2 0x038d 00000389: PUSH2 0x0853 0000038c: JUMP 0000038d: JUMPDEST 0000038e: PUSH1 0x02 00000390: SLOAD 00000391: PUSH2 0x03a4 00000394: SWAP1 00000395: PUSH1 0x01 00000397: PUSH1 0x01 00000399: PUSH1 0xa0 0000039b: SHL 0000039c: SUB 0000039d: AND 0000039e: ADDRESS 0000039f: DUP4 000003a0: PUSH2 0x087f 000003a3: JUMP 000003a4: JUMPDEST 000003a5: PUSH2 0x03cd 000003a8: ADDRESS 000003a9: PUSH2 0x03b9 000003ac: PUSH0 000003ad: SLOAD 000003ae: PUSH1 0x01 000003b0: PUSH1 0x01 000003b2: PUSH1 0xa0 000003b4: SHL 000003b5: SUB 000003b6: AND 000003b7: SWAP1 000003b8: JUMP 000003b9: JUMPDEST 000003ba: PUSH1 0x02 000003bc: SLOAD 000003bd: PUSH1 0x01 000003bf: PUSH1 0x01 000003c1: PUSH1 0xa0 000003c3: SHL 000003c4: SUB 000003c5: AND 000003c6: SWAP2 000003c7: SWAP1 000003c8: DUP5 000003c9: PUSH2 0x07e6 000003cc: JUMP 000003cd: JUMPDEST 000003ce: POP 000003cf: JUMP 000003d0: JUMPDEST 000003d1: PUSH2 0x03d8 000003d4: PUSH2 0x090e 000003d7: JUMP 000003d8: JUMPDEST 000003d9: PUSH2 0x03e0 000003dc: PUSH2 0x0853 000003df: JUMP 000003e0: JUMPDEST 000003e1: PUSH2 0x03e8 000003e4: PUSH2 0x0937 000003e7: JUMP 000003e8: JUMPDEST 000003e9: JUMP 000003ea: JUMPDEST 000003eb: PUSH2 0x03f2 000003ee: PUSH2 0x0853 000003f1: JUMP 000003f2: JUMPDEST 000003f3: PUSH2 0x03e8 000003f6: PUSH0 000003f7: PUSH2 0x098b 000003fa: JUMP 000003fb: JUMPDEST 000003fc: PUSH2 0x0403 000003ff: PUSH2 0x07bc 00000402: JUMP 00000403: JUMPDEST 00000404: PUSH1 0x07 00000406: DUP1 00000407: SLOAD 00000408: PUSH1 0x01 0000040a: DUP2 0000040b: ADD 0000040c: DUP3 0000040d: SSTORE 0000040e: PUSH0 0000040f: SWAP2 00000410: DUP3 00000411: MSTORE 00000412: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688 00000433: ADD 00000434: DUP1 00000435: SLOAD 00000436: PUSH1 0x01 00000438: PUSH1 0x01 0000043a: PUSH1 0xa0 0000043c: SHL 0000043d: SUB 0000043e: NOT 0000043f: AND 00000440: CALLER 00000441: OR 00000442: SWAP1 00000443: SSTORE 00000444: PUSH1 0x03 00000446: SLOAD 00000447: PUSH1 0x40 00000449: DUP1 0000044a: MLOAD 0000044b: PUSH4 0x3fabe5a3 00000450: PUSH1 0xe2 00000452: SHL 00000453: DUP2 00000454: MSTORE 00000455: SWAP1 00000456: MLOAD 00000457: PUSH1 0x01 00000459: PUSH1 0x01 0000045b: PUSH1 0xa0 0000045d: SHL 0000045e: SUB 0000045f: SWAP3 00000460: SWAP1 00000461: SWAP3 00000462: AND 00000463: SWAP2 00000464: PUSH4 0xfeaf968c 00000469: SWAP2 0000046a: PUSH1 0x04 0000046c: DUP1 0000046d: DUP3 0000046e: ADD 0000046f: SWAP3 00000470: PUSH1 0xa0 00000472: SWAP3 00000473: SWAP1 00000474: SWAP2 00000475: SWAP1 00000476: DUP3 00000477: SWAP1 00000478: SUB 00000479: ADD 0000047a: DUP2 0000047b: DUP7 0000047c: GAS 0000047d: STATICCALL 0000047e: ISZERO 0000047f: DUP1 00000480: ISZERO 00000481: PUSH2 0x048c 00000484: JUMPI 00000485: RETURNDATASIZE 00000486: PUSH0 00000487: DUP1 00000488: RETURNDATACOPY 00000489: RETURNDATASIZE 0000048a: PUSH0 0000048b: REVERT 0000048c: JUMPDEST 0000048d: POP 0000048e: POP 0000048f: POP 00000490: POP 00000491: PUSH1 0x40 00000493: MLOAD 00000494: RETURNDATASIZE 00000495: PUSH1 0x1f 00000497: NOT 00000498: PUSH1 0x1f 0000049a: DUP3 0000049b: ADD 0000049c: AND 0000049d: DUP3 0000049e: ADD 0000049f: DUP1 000004a0: PUSH1 0x40 000004a2: MSTORE 000004a3: POP 000004a4: DUP2 000004a5: ADD 000004a6: SWAP1 000004a7: PUSH2 0x04b0 000004aa: SWAP2 000004ab: SWAP1 000004ac: PUSH2 0x0d0f 000004af: JUMP 000004b0: JUMPDEST 000004b1: POP 000004b2: POP 000004b3: POP 000004b4: SWAP2 000004b5: POP 000004b6: POP 000004b7: PUSH0 000004b8: PUSH1 0x03 000004ba: PUSH0 000004bb: SWAP1 000004bc: SLOAD 000004bd: SWAP1 000004be: PUSH2 0x0100 000004c1: EXP 000004c2: SWAP1 000004c3: DIV 000004c4: PUSH1 0x01 000004c6: PUSH1 0x01 000004c8: PUSH1 0xa0 000004ca: SHL 000004cb: SUB 000004cc: AND 000004cd: PUSH1 0x01 000004cf: PUSH1 0x01 000004d1: PUSH1 0xa0 000004d3: SHL 000004d4: SUB 000004d5: AND 000004d6: PUSH4 0x313ce567 000004db: PUSH1 0x40 000004dd: MLOAD 000004de: DUP2 000004df: PUSH4 0xffffffff 000004e4: AND 000004e5: PUSH1 0xe0 000004e7: SHL 000004e8: DUP2 000004e9: MSTORE 000004ea: PUSH1 0x04 000004ec: ADD 000004ed: PUSH1 0x20 000004ef: PUSH1 0x40 000004f1: MLOAD 000004f2: DUP1 000004f3: DUP4 000004f4: SUB 000004f5: DUP2 000004f6: DUP7 000004f7: GAS 000004f8: STATICCALL 000004f9: ISZERO 000004fa: DUP1 000004fb: ISZERO 000004fc: PUSH2 0x0507 000004ff: JUMPI 00000500: RETURNDATASIZE 00000501: PUSH0 00000502: DUP1 00000503: RETURNDATACOPY 00000504: RETURNDATASIZE 00000505: PUSH0 00000506: REVERT 00000507: JUMPDEST 00000508: POP 00000509: POP 0000050a: POP 0000050b: POP 0000050c: PUSH1 0x40 0000050e: MLOAD 0000050f: RETURNDATASIZE 00000510: PUSH1 0x1f 00000512: NOT 00000513: PUSH1 0x1f 00000515: DUP3 00000516: ADD 00000517: AND 00000518: DUP3 00000519: ADD 0000051a: DUP1 0000051b: PUSH1 0x40 0000051d: MSTORE 0000051e: POP 0000051f: DUP2 00000520: ADD 00000521: SWAP1 00000522: PUSH2 0x052b 00000525: SWAP2 00000526: SWAP1 00000527: PUSH2 0x0d5b 0000052a: JUMP 0000052b: JUMPDEST 0000052c: SWAP1 0000052d: POP 0000052e: PUSH0 0000052f: PUSH1 0x02 00000531: PUSH0 00000532: SWAP1 00000533: SLOAD 00000534: SWAP1 00000535: PUSH2 0x0100 00000538: EXP 00000539: SWAP1 0000053a: DIV 0000053b: PUSH1 0x01 0000053d: PUSH1 0x01 0000053f: PUSH1 0xa0 00000541: SHL 00000542: SUB 00000543: AND 00000544: PUSH1 0x01 00000546: PUSH1 0x01 00000548: PUSH1 0xa0 0000054a: SHL 0000054b: SUB 0000054c: AND 0000054d: PUSH4 0x313ce567 00000552: PUSH1 0x40 00000554: MLOAD 00000555: DUP2 00000556: PUSH4 0xffffffff 0000055b: AND 0000055c: PUSH1 0xe0 0000055e: SHL 0000055f: DUP2 00000560: MSTORE 00000561: PUSH1 0x04 00000563: ADD 00000564: PUSH1 0x20 00000566: PUSH1 0x40 00000568: MLOAD 00000569: DUP1 0000056a: DUP4 0000056b: SUB 0000056c: DUP2 0000056d: DUP7 0000056e: GAS 0000056f: STATICCALL 00000570: ISZERO 00000571: DUP1 00000572: ISZERO 00000573: PUSH2 0x057e 00000576: JUMPI 00000577: RETURNDATASIZE 00000578: PUSH0 00000579: DUP1 0000057a: RETURNDATACOPY 0000057b: RETURNDATASIZE 0000057c: PUSH0 0000057d: REVERT 0000057e: JUMPDEST 0000057f: POP 00000580: POP 00000581: POP 00000582: POP 00000583: PUSH1 0x40 00000585: MLOAD 00000586: RETURNDATASIZE 00000587: PUSH1 0x1f 00000589: NOT 0000058a: PUSH1 0x1f 0000058c: DUP3 0000058d: ADD 0000058e: AND 0000058f: DUP3 00000590: ADD 00000591: DUP1 00000592: PUSH1 0x40 00000594: MSTORE 00000595: POP 00000596: DUP2 00000597: ADD 00000598: SWAP1 00000599: PUSH2 0x05a2 0000059c: SWAP2 0000059d: SWAP1 0000059e: PUSH2 0x0d5b 000005a1: JUMP 000005a2: JUMPDEST 000005a3: SWAP1 000005a4: POP 000005a5: PUSH0 000005a6: DUP2 000005a7: PUSH1 0xff 000005a9: AND 000005aa: DUP4 000005ab: PUSH1 0xff 000005ad: AND 000005ae: GT 000005af: ISZERO 000005b0: PUSH2 0x05f0 000005b3: JUMPI 000005b4: PUSH2 0x05bd 000005b7: DUP3 000005b8: DUP5 000005b9: PUSH2 0x0d7b 000005bc: JUMP 000005bd: JUMPDEST 000005be: PUSH2 0x05c8 000005c1: SWAP1 000005c2: PUSH1 0x0a 000005c4: PUSH2 0x0e74 000005c7: JUMP 000005c8: JUMPDEST 000005c9: PUSH1 0x04 000005cb: SLOAD 000005cc: PUSH2 0x05d5 000005cf: SWAP2 000005d0: SWAP1 000005d1: PUSH2 0x0ca8 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH2 0x05df 000005d9: DUP6 000005da: CALLVALUE 000005db: PUSH2 0x0ca8 000005de: JUMP 000005df: JUMPDEST 000005e0: PUSH2 0x05e9 000005e3: SWAP2 000005e4: SWAP1 000005e5: PUSH2 0x0cbf 000005e8: JUMP 000005e9: JUMPDEST 000005ea: SWAP1 000005eb: POP 000005ec: PUSH2 0x0629 000005ef: JUMP 000005f0: JUMPDEST 000005f1: PUSH1 0x04 000005f3: SLOAD 000005f4: PUSH2 0x05fd 000005f7: DUP5 000005f8: DUP5 000005f9: PUSH2 0x0d7b 000005fc: JUMP 000005fd: JUMPDEST 000005fe: PUSH2 0x0608 00000601: SWAP1 00000602: PUSH1 0x0a 00000604: PUSH2 0x0e74 00000607: JUMP 00000608: JUMPDEST 00000609: PUSH2 0x0612 0000060c: DUP7 0000060d: CALLVALUE 0000060e: PUSH2 0x0ca8 00000611: JUMP 00000612: JUMPDEST 00000613: PUSH2 0x061c 00000616: SWAP2 00000617: SWAP1 00000618: PUSH2 0x0ca8 0000061b: JUMP 0000061c: JUMPDEST 0000061d: PUSH2 0x0626 00000620: SWAP2 00000621: SWAP1 00000622: PUSH2 0x0cbf 00000625: JUMP 00000626: JUMPDEST 00000627: SWAP1 00000628: POP 00000629: JUMPDEST 0000062a: CALLER 0000062b: PUSH0 0000062c: SWAP1 0000062d: DUP2 0000062e: MSTORE 0000062f: PUSH1 0x06 00000631: PUSH1 0x20 00000633: MSTORE 00000634: PUSH1 0x40 00000636: DUP2 00000637: KECCAK256 00000638: DUP1 00000639: SLOAD 0000063a: DUP4 0000063b: SWAP3 0000063c: SWAP1 0000063d: PUSH2 0x0647 00000640: SWAP1 00000641: DUP5 00000642: SWAP1 00000643: PUSH2 0x0cde 00000646: JUMP 00000647: JUMPDEST 00000648: SWAP3 00000649: POP 0000064a: POP 0000064b: DUP2 0000064c: SWAP1 0000064d: SSTORE 0000064e: POP 0000064f: DUP1 00000650: PUSH1 0x05 00000652: PUSH0 00000653: DUP3 00000654: DUP3 00000655: SLOAD 00000656: PUSH2 0x065f 00000659: SWAP2 0000065a: SWAP1 0000065b: PUSH2 0x0cde 0000065e: JUMP 0000065f: JUMPDEST 00000660: SWAP1 00000661: SWAP2 00000662: SSTORE 00000663: POP 00000664: POP 00000665: POP 00000666: POP 00000667: POP 00000668: POP 00000669: JUMP 0000066a: JUMPDEST 0000066b: PUSH2 0x0672 0000066e: PUSH2 0x0853 00000671: JUMP 00000672: JUMPDEST 00000673: PUSH0 00000674: DUP1 00000675: SLOAD 00000676: PUSH1 0x40 00000678: MLOAD 00000679: PUSH1 0x01 0000067b: PUSH1 0x01 0000067d: PUSH1 0xa0 0000067f: SHL 00000680: SUB 00000681: SWAP1 00000682: SWAP2 00000683: AND 00000684: SWAP1 00000685: DUP4 00000686: SWAP1 00000687: DUP4 00000688: DUP2 00000689: DUP2 0000068a: DUP2 0000068b: DUP6 0000068c: DUP8 0000068d: GAS 0000068e: CALL 0000068f: SWAP3 00000690: POP 00000691: POP 00000692: POP 00000693: RETURNDATASIZE 00000694: DUP1 00000695: PUSH0 00000696: DUP2 00000697: EQ 00000698: PUSH2 0x06bc 0000069b: JUMPI 0000069c: PUSH1 0x40 0000069e: MLOAD 0000069f: SWAP2 000006a0: POP 000006a1: PUSH1 0x1f 000006a3: NOT 000006a4: PUSH1 0x3f 000006a6: RETURNDATASIZE 000006a7: ADD 000006a8: AND 000006a9: DUP3 000006aa: ADD 000006ab: PUSH1 0x40 000006ad: MSTORE 000006ae: RETURNDATASIZE 000006af: DUP3 000006b0: MSTORE 000006b1: RETURNDATASIZE 000006b2: PUSH0 000006b3: PUSH1 0x20 000006b5: DUP5 000006b6: ADD 000006b7: RETURNDATACOPY 000006b8: PUSH2 0x06c1 000006bb: JUMP 000006bc: JUMPDEST 000006bd: PUSH1 0x60 000006bf: SWAP2 000006c0: POP 000006c1: JUMPDEST 000006c2: POP 000006c3: POP 000006c4: SWAP1 000006c5: POP 000006c6: DUP1 000006c7: PUSH2 0x0731 000006ca: JUMPI 000006cb: PUSH1 0x40 000006cd: MLOAD 000006ce: PUSH3 0x461bcd 000006d2: PUSH1 0xe5 000006d4: SHL 000006d5: DUP2 000006d6: MSTORE 000006d7: PUSH1 0x20 000006d9: PUSH1 0x04 000006db: DUP3 000006dc: ADD 000006dd: MSTORE 000006de: PUSH1 0x31 000006e0: PUSH1 0x24 000006e2: DUP3 000006e3: ADD 000006e4: MSTORE 000006e5: PUSH32 0x456e6572676957616e4272696467653a3a204661696c656420746f2077697468 00000706: PUSH1 0x44 00000708: DUP3 00000709: ADD 0000070a: MSTORE 0000070b: PUSH17 0x64726177206e617469766520636f696e73 0000071d: PUSH1 0x78 0000071f: SHL 00000720: PUSH1 0x64 00000722: DUP3 00000723: ADD 00000724: MSTORE 00000725: PUSH1 0x84 00000727: ADD 00000728: JUMPDEST 00000729: PUSH1 0x40 0000072b: MLOAD 0000072c: DUP1 0000072d: SWAP2 0000072e: SUB 0000072f: SWAP1 00000730: REVERT 00000731: JUMPDEST 00000732: POP 00000733: POP 00000734: JUMP 00000735: JUMPDEST 00000736: PUSH2 0x073d 00000739: PUSH2 0x07bc 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH2 0x0745 00000741: PUSH2 0x0853 00000744: JUMP 00000745: JUMPDEST 00000746: PUSH2 0x03e8 00000749: PUSH2 0x09da 0000074c: JUMP 0000074d: JUMPDEST 0000074e: PUSH2 0x0755 00000751: PUSH2 0x0853 00000754: JUMP 00000755: JUMPDEST 00000756: PUSH1 0x04 00000758: SSTORE 00000759: JUMP 0000075a: JUMPDEST 0000075b: PUSH1 0x07 0000075d: DUP2 0000075e: DUP2 0000075f: SLOAD 00000760: DUP2 00000761: LT 00000762: PUSH2 0x0769 00000765: JUMPI 00000766: PUSH0 00000767: DUP1 00000768: REVERT 00000769: JUMPDEST 0000076a: PUSH0 0000076b: SWAP2 0000076c: DUP3 0000076d: MSTORE 0000076e: PUSH1 0x20 00000770: SWAP1 00000771: SWAP2 00000772: KECCAK256 00000773: ADD 00000774: SLOAD 00000775: PUSH1 0x01 00000777: PUSH1 0x01 00000779: PUSH1 0xa0 0000077b: SHL 0000077c: SUB 0000077d: AND 0000077e: SWAP1 0000077f: POP 00000780: DUP2 00000781: JUMP 00000782: JUMPDEST 00000783: PUSH2 0x078a 00000786: PUSH2 0x0853 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH1 0x01 0000078d: PUSH1 0x01 0000078f: PUSH1 0xa0 00000791: SHL 00000792: SUB 00000793: DUP2 00000794: AND 00000795: PUSH2 0x07b3 00000798: JUMPI 00000799: PUSH1 0x40 0000079b: MLOAD 0000079c: PUSH4 0x1e4fbdf7 000007a1: PUSH1 0xe0 000007a3: SHL 000007a4: DUP2 000007a5: MSTORE 000007a6: PUSH0 000007a7: PUSH1 0x04 000007a9: DUP3 000007aa: ADD 000007ab: MSTORE 000007ac: PUSH1 0x24 000007ae: ADD 000007af: PUSH2 0x0728 000007b2: JUMP 000007b3: JUMPDEST 000007b4: PUSH2 0x03cd 000007b7: DUP2 000007b8: PUSH2 0x098b 000007bb: JUMP 000007bc: JUMPDEST 000007bd: PUSH0 000007be: SLOAD 000007bf: PUSH1 0x01 000007c1: PUSH1 0xa0 000007c3: SHL 000007c4: SWAP1 000007c5: DIV 000007c6: PUSH1 0xff 000007c8: AND 000007c9: ISZERO 000007ca: PUSH2 0x03e8 000007cd: JUMPI 000007ce: PUSH1 0x40 000007d0: MLOAD 000007d1: PUSH4 0xd93c0665 000007d6: PUSH1 0xe0 000007d8: SHL 000007d9: DUP2 000007da: MSTORE 000007db: PUSH1 0x04 000007dd: ADD 000007de: PUSH1 0x40 000007e0: MLOAD 000007e1: DUP1 000007e2: SWAP2 000007e3: SUB 000007e4: SWAP1 000007e5: REVERT 000007e6: JUMPDEST 000007e7: PUSH1 0x40 000007e9: MLOAD 000007ea: PUSH1 0x01 000007ec: PUSH1 0x01 000007ee: PUSH1 0xa0 000007f0: SHL 000007f1: SUB 000007f2: DUP5 000007f3: DUP2 000007f4: AND 000007f5: PUSH1 0x24 000007f7: DUP4 000007f8: ADD 000007f9: MSTORE 000007fa: DUP4 000007fb: DUP2 000007fc: AND 000007fd: PUSH1 0x44 000007ff: DUP4 00000800: ADD 00000801: MSTORE 00000802: PUSH1 0x64 00000804: DUP3 00000805: ADD 00000806: DUP4 00000807: SWAP1 00000808: MSTORE 00000809: PUSH2 0x084d 0000080c: SWAP2 0000080d: DUP7 0000080e: SWAP2 0000080f: DUP3 00000810: AND 00000811: SWAP1 00000812: PUSH4 0x23b872dd 00000817: SWAP1 00000818: PUSH1 0x84 0000081a: ADD 0000081b: JUMPDEST 0000081c: PUSH1 0x40 0000081e: MLOAD 0000081f: PUSH1 0x20 00000821: DUP2 00000822: DUP4 00000823: SUB 00000824: SUB 00000825: DUP2 00000826: MSTORE 00000827: SWAP1 00000828: PUSH1 0x40 0000082a: MSTORE 0000082b: SWAP2 0000082c: POP 0000082d: PUSH1 0xe0 0000082f: SHL 00000830: PUSH1 0x20 00000832: DUP3 00000833: ADD 00000834: DUP1 00000835: MLOAD 00000836: PUSH1 0x01 00000838: PUSH1 0x01 0000083a: PUSH1 0xe0 0000083c: SHL 0000083d: SUB 0000083e: DUP4 0000083f: DUP2 00000840: DUP4 00000841: AND 00000842: OR 00000843: DUP4 00000844: MSTORE 00000845: POP 00000846: POP 00000847: POP 00000848: POP 00000849: PUSH2 0x0a1c 0000084c: JUMP 0000084d: JUMPDEST 0000084e: POP 0000084f: POP 00000850: POP 00000851: POP 00000852: JUMP 00000853: JUMPDEST 00000854: PUSH0 00000855: SLOAD 00000856: PUSH1 0x01 00000858: PUSH1 0x01 0000085a: PUSH1 0xa0 0000085c: SHL 0000085d: SUB 0000085e: AND 0000085f: CALLER 00000860: EQ 00000861: PUSH2 0x03e8 00000864: JUMPI 00000865: PUSH1 0x40 00000867: MLOAD 00000868: PUSH4 0x118cdaa7 0000086d: PUSH1 0xe0 0000086f: SHL 00000870: DUP2 00000871: MSTORE 00000872: CALLER 00000873: PUSH1 0x04 00000875: DUP3 00000876: ADD 00000877: MSTORE 00000878: PUSH1 0x24 0000087a: ADD 0000087b: PUSH2 0x0728 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH1 0x40 00000882: DUP1 00000883: MLOAD 00000884: PUSH1 0x01 00000886: PUSH1 0x01 00000888: PUSH1 0xa0 0000088a: SHL 0000088b: SUB 0000088c: DUP5 0000088d: AND 0000088e: PUSH1 0x24 00000890: DUP3 00000891: ADD 00000892: MSTORE 00000893: PUSH1 0x44 00000895: DUP1 00000896: DUP3 00000897: ADD 00000898: DUP5 00000899: SWAP1 0000089a: MSTORE 0000089b: DUP3 0000089c: MLOAD 0000089d: DUP1 0000089e: DUP4 0000089f: SUB 000008a0: SWAP1 000008a1: SWAP2 000008a2: ADD 000008a3: DUP2 000008a4: MSTORE 000008a5: PUSH1 0x64 000008a7: SWAP1 000008a8: SWAP2 000008a9: ADD 000008aa: SWAP1 000008ab: SWAP2 000008ac: MSTORE 000008ad: PUSH1 0x20 000008af: DUP2 000008b0: ADD 000008b1: DUP1 000008b2: MLOAD 000008b3: PUSH1 0x01 000008b5: PUSH1 0x01 000008b7: PUSH1 0xe0 000008b9: SHL 000008ba: SUB 000008bb: AND 000008bc: PUSH4 0x095ea7b3 000008c1: PUSH1 0xe0 000008c3: SHL 000008c4: OR 000008c5: SWAP1 000008c6: MSTORE 000008c7: PUSH2 0x08d0 000008ca: DUP5 000008cb: DUP3 000008cc: PUSH2 0x0a82 000008cf: JUMP 000008d0: JUMPDEST 000008d1: PUSH2 0x084d 000008d4: JUMPI 000008d5: PUSH1 0x40 000008d7: MLOAD 000008d8: PUSH1 0x01 000008da: PUSH1 0x01 000008dc: PUSH1 0xa0 000008de: SHL 000008df: SUB 000008e0: DUP5 000008e1: DUP2 000008e2: AND 000008e3: PUSH1 0x24 000008e5: DUP4 000008e6: ADD 000008e7: MSTORE 000008e8: PUSH0 000008e9: PUSH1 0x44 000008eb: DUP4 000008ec: ADD 000008ed: MSTORE 000008ee: PUSH2 0x0904 000008f1: SWAP2 000008f2: DUP7 000008f3: SWAP2 000008f4: DUP3 000008f5: AND 000008f6: SWAP1 000008f7: PUSH4 0x095ea7b3 000008fc: SWAP1 000008fd: PUSH1 0x64 000008ff: ADD 00000900: PUSH2 0x081b 00000903: JUMP 00000904: JUMPDEST 00000905: PUSH2 0x084d 00000908: DUP5 00000909: DUP3 0000090a: PUSH2 0x0a1c 0000090d: JUMP 0000090e: JUMPDEST 0000090f: PUSH0 00000910: SLOAD 00000911: PUSH1 0x01 00000913: PUSH1 0xa0 00000915: SHL 00000916: SWAP1 00000917: DIV 00000918: PUSH1 0xff 0000091a: AND 0000091b: PUSH2 0x03e8 0000091e: JUMPI 0000091f: PUSH1 0x40 00000921: MLOAD 00000922: PUSH4 0x8dfc202b 00000927: PUSH1 0xe0 00000929: SHL 0000092a: DUP2 0000092b: MSTORE 0000092c: PUSH1 0x04 0000092e: ADD 0000092f: PUSH1 0x40 00000931: MLOAD 00000932: DUP1 00000933: SWAP2 00000934: SUB 00000935: SWAP1 00000936: REVERT 00000937: JUMPDEST 00000938: PUSH2 0x093f 0000093b: PUSH2 0x090e 0000093e: JUMP 0000093f: JUMPDEST 00000940: PUSH0 00000941: DUP1 00000942: SLOAD 00000943: PUSH1 0xff 00000945: PUSH1 0xa0 00000947: SHL 00000948: NOT 00000949: AND 0000094a: SWAP1 0000094b: SSTORE 0000094c: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 0000096d: CALLER 0000096e: JUMPDEST 0000096f: PUSH1 0x40 00000971: MLOAD 00000972: PUSH1 0x01 00000974: PUSH1 0x01 00000976: PUSH1 0xa0 00000978: SHL 00000979: SUB 0000097a: SWAP1 0000097b: SWAP2 0000097c: AND 0000097d: DUP2 0000097e: MSTORE 0000097f: PUSH1 0x20 00000981: ADD 00000982: PUSH1 0x40 00000984: MLOAD 00000985: DUP1 00000986: SWAP2 00000987: SUB 00000988: SWAP1 00000989: LOG1 0000098a: JUMP 0000098b: JUMPDEST 0000098c: PUSH0 0000098d: DUP1 0000098e: SLOAD 0000098f: PUSH1 0x01 00000991: PUSH1 0x01 00000993: PUSH1 0xa0 00000995: SHL 00000996: SUB 00000997: DUP4 00000998: DUP2 00000999: AND 0000099a: PUSH1 0x01 0000099c: PUSH1 0x01 0000099e: PUSH1 0xa0 000009a0: SHL 000009a1: SUB 000009a2: NOT 000009a3: DUP4 000009a4: AND 000009a5: DUP2 000009a6: OR 000009a7: DUP5 000009a8: SSTORE 000009a9: PUSH1 0x40 000009ab: MLOAD 000009ac: SWAP2 000009ad: SWAP1 000009ae: SWAP3 000009af: AND 000009b0: SWAP3 000009b1: DUP4 000009b2: SWAP2 000009b3: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000009d4: SWAP2 000009d5: SWAP1 000009d6: LOG3 000009d7: POP 000009d8: POP 000009d9: JUMP 000009da: JUMPDEST 000009db: PUSH2 0x09e2 000009de: PUSH2 0x07bc 000009e1: JUMP 000009e2: JUMPDEST 000009e3: PUSH0 000009e4: DUP1 000009e5: SLOAD 000009e6: PUSH1 0xff 000009e8: PUSH1 0xa0 000009ea: SHL 000009eb: NOT 000009ec: AND 000009ed: PUSH1 0x01 000009ef: PUSH1 0xa0 000009f1: SHL 000009f2: OR 000009f3: SWAP1 000009f4: SSTORE 000009f5: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00000a16: PUSH2 0x096e 00000a19: CALLER 00000a1a: SWAP1 00000a1b: JUMP 00000a1c: JUMPDEST 00000a1d: PUSH0 00000a1e: PUSH2 0x0a30 00000a21: PUSH1 0x01 00000a23: PUSH1 0x01 00000a25: PUSH1 0xa0 00000a27: SHL 00000a28: SUB 00000a29: DUP5 00000a2a: AND 00000a2b: DUP4 00000a2c: PUSH2 0x0b25 00000a2f: JUMP 00000a30: JUMPDEST 00000a31: SWAP1 00000a32: POP 00000a33: DUP1 00000a34: MLOAD 00000a35: PUSH0 00000a36: EQ 00000a37: ISZERO 00000a38: DUP1 00000a39: ISZERO 00000a3a: PUSH2 0x0a54 00000a3d: JUMPI 00000a3e: POP 00000a3f: DUP1 00000a40: DUP1 00000a41: PUSH1 0x20 00000a43: ADD 00000a44: SWAP1 00000a45: MLOAD 00000a46: DUP2 00000a47: ADD 00000a48: SWAP1 00000a49: PUSH2 0x0a52 00000a4c: SWAP2 00000a4d: SWAP1 00000a4e: PUSH2 0x0e82 00000a51: JUMP 00000a52: JUMPDEST 00000a53: ISZERO 00000a54: JUMPDEST 00000a55: ISZERO 00000a56: PUSH2 0x0a7d 00000a59: JUMPI 00000a5a: PUSH1 0x40 00000a5c: MLOAD 00000a5d: PUSH4 0x5274afe7 00000a62: PUSH1 0xe0 00000a64: SHL 00000a65: DUP2 00000a66: MSTORE 00000a67: PUSH1 0x01 00000a69: PUSH1 0x01 00000a6b: PUSH1 0xa0 00000a6d: SHL 00000a6e: SUB 00000a6f: DUP5 00000a70: AND 00000a71: PUSH1 0x04 00000a73: DUP3 00000a74: ADD 00000a75: MSTORE 00000a76: PUSH1 0x24 00000a78: ADD 00000a79: PUSH2 0x0728 00000a7c: JUMP 00000a7d: JUMPDEST 00000a7e: POP 00000a7f: POP 00000a80: POP 00000a81: JUMP 00000a82: JUMPDEST 00000a83: PUSH0 00000a84: DUP1 00000a85: PUSH0 00000a86: DUP5 00000a87: PUSH1 0x01 00000a89: PUSH1 0x01 00000a8b: PUSH1 0xa0 00000a8d: SHL 00000a8e: SUB 00000a8f: AND 00000a90: DUP5 00000a91: PUSH1 0x40 00000a93: MLOAD 00000a94: PUSH2 0x0a9d 00000a97: SWAP2 00000a98: SWAP1 00000a99: PUSH2 0x0ea1 00000a9c: JUMP 00000a9d: JUMPDEST 00000a9e: PUSH0 00000a9f: PUSH1 0x40 00000aa1: MLOAD 00000aa2: DUP1 00000aa3: DUP4 00000aa4: SUB 00000aa5: DUP2 00000aa6: PUSH0 00000aa7: DUP7 00000aa8: GAS 00000aa9: CALL 00000aaa: SWAP2 00000aab: POP 00000aac: POP 00000aad: RETURNDATASIZE 00000aae: DUP1 00000aaf: PUSH0 00000ab0: DUP2 00000ab1: EQ 00000ab2: PUSH2 0x0ad6 00000ab5: JUMPI 00000ab6: PUSH1 0x40 00000ab8: MLOAD 00000ab9: SWAP2 00000aba: POP 00000abb: PUSH1 0x1f 00000abd: NOT 00000abe: PUSH1 0x3f 00000ac0: RETURNDATASIZE 00000ac1: ADD 00000ac2: AND 00000ac3: DUP3 00000ac4: ADD 00000ac5: PUSH1 0x40 00000ac7: MSTORE 00000ac8: RETURNDATASIZE 00000ac9: DUP3 00000aca: MSTORE 00000acb: RETURNDATASIZE 00000acc: PUSH0 00000acd: PUSH1 0x20 00000acf: DUP5 00000ad0: ADD 00000ad1: RETURNDATACOPY 00000ad2: PUSH2 0x0adb 00000ad5: JUMP 00000ad6: JUMPDEST 00000ad7: PUSH1 0x60 00000ad9: SWAP2 00000ada: POP 00000adb: JUMPDEST 00000adc: POP 00000add: SWAP2 00000ade: POP 00000adf: SWAP2 00000ae0: POP 00000ae1: DUP2 00000ae2: DUP1 00000ae3: ISZERO 00000ae4: PUSH2 0x0b05 00000ae7: JUMPI 00000ae8: POP 00000ae9: DUP1 00000aea: MLOAD 00000aeb: ISZERO 00000aec: DUP1 00000aed: PUSH2 0x0b05 00000af0: JUMPI 00000af1: POP 00000af2: DUP1 00000af3: DUP1 00000af4: PUSH1 0x20 00000af6: ADD 00000af7: SWAP1 00000af8: MLOAD 00000af9: DUP2 00000afa: ADD 00000afb: SWAP1 00000afc: PUSH2 0x0b05 00000aff: SWAP2 00000b00: SWAP1 00000b01: PUSH2 0x0e82 00000b04: JUMP 00000b05: JUMPDEST 00000b06: DUP1 00000b07: ISZERO 00000b08: PUSH2 0x0b1a 00000b0b: JUMPI 00000b0c: POP 00000b0d: PUSH0 00000b0e: DUP6 00000b0f: PUSH1 0x01 00000b11: PUSH1 0x01 00000b13: PUSH1 0xa0 00000b15: SHL 00000b16: SUB 00000b17: AND 00000b18: EXTCODESIZE 00000b19: GT 00000b1a: JUMPDEST 00000b1b: SWAP3 00000b1c: POP 00000b1d: POP 00000b1e: POP 00000b1f: JUMPDEST 00000b20: SWAP3 00000b21: SWAP2 00000b22: POP 00000b23: POP 00000b24: JUMP 00000b25: JUMPDEST 00000b26: PUSH1 0x60 00000b28: PUSH2 0x0b32 00000b2b: DUP4 00000b2c: DUP4 00000b2d: PUSH0 00000b2e: PUSH2 0x0b39 00000b31: JUMP 00000b32: JUMPDEST 00000b33: SWAP4 00000b34: SWAP3 00000b35: POP 00000b36: POP 00000b37: POP 00000b38: JUMP 00000b39: JUMPDEST 00000b3a: PUSH1 0x60 00000b3c: DUP2 00000b3d: SELFBALANCE 00000b3e: LT 00000b3f: ISZERO 00000b40: PUSH2 0x0b5e 00000b43: JUMPI 00000b44: PUSH1 0x40 00000b46: MLOAD 00000b47: PUSH4 0xcd786059 00000b4c: PUSH1 0xe0 00000b4e: SHL 00000b4f: DUP2 00000b50: MSTORE 00000b51: ADDRESS 00000b52: PUSH1 0x04 00000b54: DUP3 00000b55: ADD 00000b56: MSTORE 00000b57: PUSH1 0x24 00000b59: ADD 00000b5a: PUSH2 0x0728 00000b5d: JUMP 00000b5e: JUMPDEST 00000b5f: PUSH0 00000b60: DUP1 00000b61: DUP6 00000b62: PUSH1 0x01 00000b64: PUSH1 0x01 00000b66: PUSH1 0xa0 00000b68: SHL 00000b69: SUB 00000b6a: AND 00000b6b: DUP5 00000b6c: DUP7 00000b6d: PUSH1 0x40 00000b6f: MLOAD 00000b70: PUSH2 0x0b79 00000b73: SWAP2 00000b74: SWAP1 00000b75: PUSH2 0x0ea1 00000b78: JUMP 00000b79: JUMPDEST 00000b7a: PUSH0 00000b7b: PUSH1 0x40 00000b7d: MLOAD 00000b7e: DUP1 00000b7f: DUP4 00000b80: SUB 00000b81: DUP2 00000b82: DUP6 00000b83: DUP8 00000b84: GAS 00000b85: CALL 00000b86: SWAP3 00000b87: POP 00000b88: POP 00000b89: POP 00000b8a: RETURNDATASIZE 00000b8b: DUP1 00000b8c: PUSH0 00000b8d: DUP2 00000b8e: EQ 00000b8f: PUSH2 0x0bb3 00000b92: JUMPI 00000b93: PUSH1 0x40 00000b95: MLOAD 00000b96: SWAP2 00000b97: POP 00000b98: PUSH1 0x1f 00000b9a: NOT 00000b9b: PUSH1 0x3f 00000b9d: RETURNDATASIZE 00000b9e: ADD 00000b9f: AND 00000ba0: DUP3 00000ba1: ADD 00000ba2: PUSH1 0x40 00000ba4: MSTORE 00000ba5: RETURNDATASIZE 00000ba6: DUP3 00000ba7: MSTORE 00000ba8: RETURNDATASIZE 00000ba9: PUSH0 00000baa: PUSH1 0x20 00000bac: DUP5 00000bad: ADD 00000bae: RETURNDATACOPY 00000baf: PUSH2 0x0bb8 00000bb2: JUMP 00000bb3: JUMPDEST 00000bb4: PUSH1 0x60 00000bb6: SWAP2 00000bb7: POP 00000bb8: JUMPDEST 00000bb9: POP 00000bba: SWAP2 00000bbb: POP 00000bbc: SWAP2 00000bbd: POP 00000bbe: PUSH2 0x0bc8 00000bc1: DUP7 00000bc2: DUP4 00000bc3: DUP4 00000bc4: PUSH2 0x0bd2 00000bc7: JUMP 00000bc8: JUMPDEST 00000bc9: SWAP7 00000bca: SWAP6 00000bcb: POP 00000bcc: POP 00000bcd: POP 00000bce: POP 00000bcf: POP 00000bd0: POP 00000bd1: JUMP 00000bd2: JUMPDEST 00000bd3: PUSH1 0x60 00000bd5: DUP3 00000bd6: PUSH2 0x0be7 00000bd9: JUMPI 00000bda: PUSH2 0x0be2 00000bdd: DUP3 00000bde: PUSH2 0x0c2e 00000be1: JUMP 00000be2: JUMPDEST 00000be3: PUSH2 0x0b32 00000be6: JUMP 00000be7: JUMPDEST 00000be8: DUP2 00000be9: MLOAD 00000bea: ISZERO 00000beb: DUP1 00000bec: ISZERO 00000bed: PUSH2 0x0bfe 00000bf0: JUMPI 00000bf1: POP 00000bf2: PUSH1 0x01 00000bf4: PUSH1 0x01 00000bf6: PUSH1 0xa0 00000bf8: SHL 00000bf9: SUB 00000bfa: DUP5 00000bfb: AND 00000bfc: EXTCODESIZE 00000bfd: ISZERO 00000bfe: JUMPDEST 00000bff: ISZERO 00000c00: PUSH2 0x0c27 00000c03: JUMPI 00000c04: PUSH1 0x40 00000c06: MLOAD 00000c07: PUSH4 0x9996b315 00000c0c: PUSH1 0xe0 00000c0e: SHL 00000c0f: DUP2 00000c10: MSTORE 00000c11: PUSH1 0x01 00000c13: PUSH1 0x01 00000c15: PUSH1 0xa0 00000c17: SHL 00000c18: SUB 00000c19: DUP6 00000c1a: AND 00000c1b: PUSH1 0x04 00000c1d: DUP3 00000c1e: ADD 00000c1f: MSTORE 00000c20: PUSH1 0x24 00000c22: ADD 00000c23: PUSH2 0x0728 00000c26: JUMP 00000c27: JUMPDEST 00000c28: POP 00000c29: DUP1 00000c2a: PUSH2 0x0b32 00000c2d: JUMP 00000c2e: JUMPDEST 00000c2f: DUP1 00000c30: MLOAD 00000c31: ISZERO 00000c32: PUSH2 0x0c3e 00000c35: JUMPI 00000c36: DUP1 00000c37: MLOAD 00000c38: DUP1 00000c39: DUP3 00000c3a: PUSH1 0x20 00000c3c: ADD 00000c3d: REVERT 00000c3e: JUMPDEST 00000c3f: PUSH1 0x40 00000c41: MLOAD 00000c42: PUSH4 0x0a12f521 00000c47: PUSH1 0xe1 00000c49: SHL 00000c4a: DUP2 00000c4b: MSTORE 00000c4c: PUSH1 0x04 00000c4e: ADD 00000c4f: PUSH1 0x40 00000c51: MLOAD 00000c52: DUP1 00000c53: SWAP2 00000c54: SUB 00000c55: SWAP1 00000c56: REVERT 00000c57: JUMPDEST 00000c58: PUSH0 00000c59: PUSH1 0x20 00000c5b: DUP3 00000c5c: DUP5 00000c5d: SUB 00000c5e: SLT 00000c5f: ISZERO 00000c60: PUSH2 0x0c67 00000c63: JUMPI 00000c64: PUSH0 00000c65: DUP1 00000c66: REVERT 00000c67: JUMPDEST 00000c68: POP 00000c69: CALLDATALOAD 00000c6a: SWAP2 00000c6b: SWAP1 00000c6c: POP 00000c6d: JUMP 00000c6e: JUMPDEST 00000c6f: PUSH0 00000c70: PUSH1 0x20 00000c72: DUP3 00000c73: DUP5 00000c74: SUB 00000c75: SLT 00000c76: ISZERO 00000c77: PUSH2 0x0c7e 00000c7a: JUMPI 00000c7b: PUSH0 00000c7c: DUP1 00000c7d: REVERT 00000c7e: JUMPDEST 00000c7f: DUP2 00000c80: CALLDATALOAD 00000c81: PUSH1 0x01 00000c83: PUSH1 0x01 00000c85: PUSH1 0xa0 00000c87: SHL 00000c88: SUB 00000c89: DUP2 00000c8a: AND 00000c8b: DUP2 00000c8c: EQ 00000c8d: PUSH2 0x0b32 00000c90: JUMPI 00000c91: PUSH0 00000c92: DUP1 00000c93: REVERT 00000c94: JUMPDEST 00000c95: PUSH4 0x4e487b71 00000c9a: PUSH1 0xe0 00000c9c: SHL 00000c9d: PUSH0 00000c9e: MSTORE 00000c9f: PUSH1 0x11 00000ca1: PUSH1 0x04 00000ca3: MSTORE 00000ca4: PUSH1 0x24 00000ca6: PUSH0 00000ca7: REVERT 00000ca8: JUMPDEST 00000ca9: DUP1 00000caa: DUP3 00000cab: MUL 00000cac: DUP2 00000cad: ISZERO 00000cae: DUP3 00000caf: DUP3 00000cb0: DIV 00000cb1: DUP5 00000cb2: EQ 00000cb3: OR 00000cb4: PUSH2 0x0b1f 00000cb7: JUMPI 00000cb8: PUSH2 0x0b1f 00000cbb: PUSH2 0x0c94 00000cbe: JUMP 00000cbf: JUMPDEST 00000cc0: PUSH0 00000cc1: DUP3 00000cc2: PUSH2 0x0cd9 00000cc5: JUMPI 00000cc6: PUSH4 0x4e487b71 00000ccb: PUSH1 0xe0 00000ccd: SHL 00000cce: PUSH0 00000ccf: MSTORE 00000cd0: PUSH1 0x12 00000cd2: PUSH1 0x04 00000cd4: MSTORE 00000cd5: PUSH1 0x24 00000cd7: PUSH0 00000cd8: REVERT 00000cd9: JUMPDEST 00000cda: POP 00000cdb: DIV 00000cdc: SWAP1 00000cdd: JUMP 00000cde: JUMPDEST 00000cdf: DUP1 00000ce0: DUP3 00000ce1: ADD 00000ce2: DUP1 00000ce3: DUP3 00000ce4: GT 00000ce5: ISZERO 00000ce6: PUSH2 0x0b1f 00000ce9: JUMPI 00000cea: PUSH2 0x0b1f 00000ced: PUSH2 0x0c94 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: DUP1 00000cf3: MLOAD 00000cf4: PUSH10 0xffffffffffffffffffff 00000cff: DUP2 00000d00: AND 00000d01: DUP2 00000d02: EQ 00000d03: PUSH2 0x0d0a 00000d06: JUMPI 00000d07: PUSH0 00000d08: DUP1 00000d09: REVERT 00000d0a: JUMPDEST 00000d0b: SWAP2 00000d0c: SWAP1 00000d0d: POP 00000d0e: JUMP 00000d0f: JUMPDEST 00000d10: PUSH0 00000d11: DUP1 00000d12: PUSH0 00000d13: DUP1 00000d14: PUSH0 00000d15: PUSH1 0xa0 00000d17: DUP7 00000d18: DUP9 00000d19: SUB 00000d1a: SLT 00000d1b: ISZERO 00000d1c: PUSH2 0x0d23 00000d1f: JUMPI 00000d20: PUSH0 00000d21: DUP1 00000d22: REVERT 00000d23: JUMPDEST 00000d24: PUSH2 0x0d2c 00000d27: DUP7 00000d28: PUSH2 0x0cf1 00000d2b: JUMP 00000d2c: JUMPDEST 00000d2d: SWAP5 00000d2e: POP 00000d2f: PUSH1 0x20 00000d31: DUP7 00000d32: ADD 00000d33: MLOAD 00000d34: SWAP4 00000d35: POP 00000d36: PUSH1 0x40 00000d38: DUP7 00000d39: ADD 00000d3a: MLOAD 00000d3b: SWAP3 00000d3c: POP 00000d3d: PUSH1 0x60 00000d3f: DUP7 00000d40: ADD 00000d41: MLOAD 00000d42: SWAP2 00000d43: POP 00000d44: PUSH2 0x0d4f 00000d47: PUSH1 0x80 00000d49: DUP8 00000d4a: ADD 00000d4b: PUSH2 0x0cf1 00000d4e: JUMP 00000d4f: JUMPDEST 00000d50: SWAP1 00000d51: POP 00000d52: SWAP3 00000d53: SWAP6 00000d54: POP 00000d55: SWAP3 00000d56: SWAP6 00000d57: SWAP1 00000d58: SWAP4 00000d59: POP 00000d5a: JUMP 00000d5b: JUMPDEST 00000d5c: PUSH0 00000d5d: PUSH1 0x20 00000d5f: DUP3 00000d60: DUP5 00000d61: SUB 00000d62: SLT 00000d63: ISZERO 00000d64: PUSH2 0x0d6b 00000d67: JUMPI 00000d68: PUSH0 00000d69: DUP1 00000d6a: REVERT 00000d6b: JUMPDEST 00000d6c: DUP2 00000d6d: MLOAD 00000d6e: PUSH1 0xff 00000d70: DUP2 00000d71: AND 00000d72: DUP2 00000d73: EQ 00000d74: PUSH2 0x0b32 00000d77: JUMPI 00000d78: PUSH0 00000d79: DUP1 00000d7a: REVERT 00000d7b: JUMPDEST 00000d7c: PUSH1 0xff 00000d7e: DUP3 00000d7f: DUP2 00000d80: AND 00000d81: DUP3 00000d82: DUP3 00000d83: AND 00000d84: SUB 00000d85: SWAP1 00000d86: DUP2 00000d87: GT 00000d88: ISZERO 00000d89: PUSH2 0x0b1f 00000d8c: JUMPI 00000d8d: PUSH2 0x0b1f 00000d90: PUSH2 0x0c94 00000d93: JUMP 00000d94: JUMPDEST 00000d95: PUSH1 0x01 00000d97: DUP2 00000d98: DUP2 00000d99: JUMPDEST 00000d9a: DUP1 00000d9b: DUP6 00000d9c: GT 00000d9d: ISZERO 00000d9e: PUSH2 0x0dce 00000da1: JUMPI 00000da2: DUP2 00000da3: PUSH0 00000da4: NOT 00000da5: DIV 00000da6: DUP3 00000da7: GT 00000da8: ISZERO 00000da9: PUSH2 0x0db4 00000dac: JUMPI 00000dad: PUSH2 0x0db4 00000db0: PUSH2 0x0c94 00000db3: JUMP 00000db4: JUMPDEST 00000db5: DUP1 00000db6: DUP6 00000db7: AND 00000db8: ISZERO 00000db9: PUSH2 0x0dc1 00000dbc: JUMPI 00000dbd: SWAP2 00000dbe: DUP2 00000dbf: MUL 00000dc0: SWAP2 00000dc1: JUMPDEST 00000dc2: SWAP4 00000dc3: DUP5 00000dc4: SHR 00000dc5: SWAP4 00000dc6: SWAP1 00000dc7: DUP1 00000dc8: MUL 00000dc9: SWAP1 00000dca: PUSH2 0x0d99 00000dcd: JUMP 00000dce: JUMPDEST 00000dcf: POP 00000dd0: SWAP3 00000dd1: POP 00000dd2: SWAP3 00000dd3: SWAP1 00000dd4: POP 00000dd5: JUMP 00000dd6: JUMPDEST 00000dd7: PUSH0 00000dd8: DUP3 00000dd9: PUSH2 0x0de4 00000ddc: JUMPI 00000ddd: POP 00000dde: PUSH1 0x01 00000de0: PUSH2 0x0b1f 00000de3: JUMP 00000de4: JUMPDEST 00000de5: DUP2 00000de6: PUSH2 0x0df0 00000de9: JUMPI 00000dea: POP 00000deb: PUSH0 00000dec: PUSH2 0x0b1f 00000def: JUMP 00000df0: JUMPDEST 00000df1: DUP2 00000df2: PUSH1 0x01 00000df4: DUP2 00000df5: EQ 00000df6: PUSH2 0x0e06 00000df9: JUMPI 00000dfa: PUSH1 0x02 00000dfc: DUP2 00000dfd: EQ 00000dfe: PUSH2 0x0e10 00000e01: JUMPI 00000e02: PUSH2 0x0e2c 00000e05: JUMP 00000e06: JUMPDEST 00000e07: PUSH1 0x01 00000e09: SWAP2 00000e0a: POP 00000e0b: POP 00000e0c: PUSH2 0x0b1f 00000e0f: JUMP 00000e10: JUMPDEST 00000e11: PUSH1 0xff 00000e13: DUP5 00000e14: GT 00000e15: ISZERO 00000e16: PUSH2 0x0e21 00000e19: JUMPI 00000e1a: PUSH2 0x0e21 00000e1d: PUSH2 0x0c94 00000e20: JUMP 00000e21: JUMPDEST 00000e22: POP 00000e23: POP 00000e24: PUSH1 0x01 00000e26: DUP3 00000e27: SHL 00000e28: PUSH2 0x0b1f 00000e2b: JUMP 00000e2c: JUMPDEST 00000e2d: POP 00000e2e: PUSH1 0x20 00000e30: DUP4 00000e31: LT 00000e32: PUSH2 0x0133 00000e35: DUP4 00000e36: LT 00000e37: AND 00000e38: PUSH1 0x4e 00000e3a: DUP5 00000e3b: LT 00000e3c: PUSH1 0x0b 00000e3e: DUP5 00000e3f: LT 00000e40: AND 00000e41: OR 00000e42: ISZERO 00000e43: PUSH2 0x0e4f 00000e46: JUMPI 00000e47: POP 00000e48: DUP2 00000e49: DUP2 00000e4a: EXP 00000e4b: PUSH2 0x0b1f 00000e4e: JUMP 00000e4f: JUMPDEST 00000e50: PUSH2 0x0e59 00000e53: DUP4 00000e54: DUP4 00000e55: PUSH2 0x0d94 00000e58: JUMP 00000e59: JUMPDEST 00000e5a: DUP1 00000e5b: PUSH0 00000e5c: NOT 00000e5d: DIV 00000e5e: DUP3 00000e5f: GT 00000e60: ISZERO 00000e61: PUSH2 0x0e6c 00000e64: JUMPI 00000e65: PUSH2 0x0e6c 00000e68: PUSH2 0x0c94 00000e6b: JUMP 00000e6c: JUMPDEST 00000e6d: MUL 00000e6e: SWAP4 00000e6f: SWAP3 00000e70: POP 00000e71: POP 00000e72: POP 00000e73: JUMP 00000e74: JUMPDEST 00000e75: PUSH0 00000e76: PUSH2 0x0b32 00000e79: PUSH1 0xff 00000e7b: DUP5 00000e7c: AND 00000e7d: DUP4 00000e7e: PUSH2 0x0dd6 00000e81: JUMP 00000e82: JUMPDEST 00000e83: PUSH0 00000e84: PUSH1 0x20 00000e86: DUP3 00000e87: DUP5 00000e88: SUB 00000e89: SLT 00000e8a: ISZERO 00000e8b: PUSH2 0x0e92 00000e8e: JUMPI 00000e8f: PUSH0 00000e90: DUP1 00000e91: REVERT 00000e92: JUMPDEST 00000e93: DUP2 00000e94: MLOAD 00000e95: DUP1 00000e96: ISZERO 00000e97: ISZERO 00000e98: DUP2 00000e99: EQ 00000e9a: PUSH2 0x0b32 00000e9d: JUMPI 00000e9e: PUSH0 00000e9f: DUP1 00000ea0: REVERT 00000ea1: JUMPDEST 00000ea2: PUSH0 00000ea3: DUP3 00000ea4: MLOAD 00000ea5: PUSH0 00000ea6: JUMPDEST 00000ea7: DUP2 00000ea8: DUP2 00000ea9: LT 00000eaa: ISZERO 00000eab: PUSH2 0x0ec0 00000eae: JUMPI 00000eaf: PUSH1 0x20 00000eb1: DUP2 00000eb2: DUP7 00000eb3: ADD 00000eb4: DUP2 00000eb5: ADD 00000eb6: MLOAD 00000eb7: DUP6 00000eb8: DUP4 00000eb9: ADD 00000eba: MSTORE 00000ebb: ADD 00000ebc: PUSH2 0x0ea6 00000ebf: JUMP 00000ec0: JUMPDEST 00000ec1: POP 00000ec2: PUSH0 00000ec3: SWAP3 00000ec4: ADD 00000ec5: SWAP2 00000ec6: DUP3 00000ec7: MSTORE 00000ec8: POP 00000ec9: SWAP2 00000eca: SWAP1 00000ecb: POP 00000ecc: JUMP 00000ecd: INVALID 00000ece: LOG2 00000ecf: PUSH5 0x6970667358 00000ed5: UNKNOWN(0x22) 00000ed6: SLT 00000ed7: KECCAK256 00000ed8: UNKNOWN(0x4C) 00000ed9: UNKNOWN(0xAA) 00000eda: PUSH16 0xd6951e4a72e9acd2fdb35b85e3334eab 00000eeb: XOR 00000eec: SWAP15 00000eed: UNKNOWN(0x22) 00000eee: MUL 00000eef: KECCAK256 00000ef0: UNKNOWN(0xAF) 00000ef1: SWAP14 00000ef2: TSTORE 00000ef3: PUSH25
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870
call_targets:
0x1ea9bcd9c7483c9570057921459f4a64aff39b0d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1ea9bcd9c7483c9570057921459f4a64aff39b0d"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa2b40d19",
"selector": "0xa2b40d19",
"calldata_variants": [
"0xa2b40d19",
"0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd2834ee3",
"selector": "0xd2834ee3",
"calldata_variants": [
"0xd2834ee3",
"0xd2834ee30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2aa8218",
"selector": "0xf2aa8218",
"calldata_variants": [
"0xf2aa8218",
"0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x73d87a3e",
"selector": "0x73d87a3e",
"calldata_variants": [
"0x73d87a3e",
"0x73d87a3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x84276d81",
"selector": "0x84276d81",
"calldata_variants": [
"0x84276d81",
"0x84276d810000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1678,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2729,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2949,
"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: 0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870
call_targets:
0x1ea9bcd9c7483c9570057921459f4a64aff39b0d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfc45c96e3682da3ff5d27a60c82ebff06b9c241454da829c71965319dfd5b870",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1ea9bcd9c7483c9570057921459f4a64aff39b0d"
],
"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": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa2b40d19",
"selector": "0xa2b40d19",
"calldata_variants": [
"0xa2b40d19",
"0xa2b40d190000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd2834ee3",
"selector": "0xd2834ee3",
"calldata_variants": [
"0xd2834ee3",
"0xd2834ee30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2aa8218",
"selector": "0xf2aa8218",
"calldata_variants": [
"0xf2aa8218",
"0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x715018a6",
"selector": "0x715018a6",
"calldata_variants": [
"0x715018a6",
"0x715018a60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x73d87a3e",
"selector": "0x73d87a3e",
"calldata_variants": [
"0x73d87a3e",
"0x73d87a3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x84276d81",
"selector": "0x84276d81",
"calldata_variants": [
"0x84276d81",
"0x84276d810000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 1678,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2729,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2949,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|