019b477e-d009-7197-bc73-c4d17e1c4157
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 |
|---|---|---|---|---|
| 27493 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 27494 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 92165 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 92166 | capability.graph | complete | 1 / 3 | 1 week ago |
| 92167 | detector.run | complete | 1 / 3 | 1 week ago |
| 92168 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113781 | report.consolidate | complete | 1 / 6 | 1 week ago |
| 113782 | tool.slither | complete | 1 / 2 | 1 week ago |
'forge clean' running (wd: /tmp/slither-62w4_qpe) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-62w4_qpe) BotMEV.toHexDigit(uint8) (contracts/Contract.sol#522-528) contains a tautology or contradiction: - 0 <= d && d <= 9 (contracts/Contract.sol#523) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#tautology-or-contradiction BotMEV.mempool(string,string).j (contracts/Contract.sol#615) is a local variable never initialized Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables BotMEV.findNewContracts(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#42-82) uses assembly - INLINE ASM (contracts/Contract.sol#64-66) BotMEV.findContracts(uint256,uint256,uint256,uint256) (contracts/Contract.sol#90-124) uses assembly - INLINE ASM (contracts/Contract.sol#99-101) - INLINE ASM (contracts/Contract.sol#104) - INLINE ASM (contracts/Contract.sol#109-110) - INLINE ASM (contracts/Contract.sol#115-116) - INLINE ASM (contracts/Contract.sol#120) BotMEV.loadCurrentContract(string) (contracts/Contract.sol#130-137) uses assembly - INLINE ASM (contracts/Contract.sol#137) BotMEV.nextContract(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#146-176) uses assembly - INLINE ASM (contracts/Contract.sol#155-159) BotMEV.memcpy(uint256,uint256,uint256) (contracts/Contract.sol#176-198) uses assembly - INLINE ASM (contracts/Contract.sol#183-187) - INLINE ASM (contracts/Contract.sol#191-198) BotMEV.orderContractsByLiquidity(BotMEV.slice) (contracts/Contract.sol#202-243) uses assembly - INLINE ASM (contracts/Contract.sol#211-212) BotMEV.calcLiquidityInContract(BotMEV.slice) (contracts/Contract.sol#249-269) uses assembly - INLINE ASM (contracts/Contract.sol#258-260) BotMEV.keccak(BotMEV.slice) (contracts/Contract.sol#317-327) uses assembly - INLINE ASM (contracts/Contract.sol#323-325) BotMEV.beyond(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#377-397) uses assembly - INLINE ASM (contracts/Contract.sol#384-390) BotMEV.findPtr(uint256,uint256,uint256,uint256) (contracts/Contract.sol#400-438) uses assembly - INLINE ASM (contracts/Contract.sol#413) - INLINE ASM (contracts/Contract.sol#414-416) - INLINE ASM (contracts/Contract.sol#422-423) - INLINE ASM (contracts/Contract.sol#427-429) - INLINE ASM (contracts/Contract.sol#432-433) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage BotMEV.abs(int256) (contracts/Contract.sol#310-312) is never used and should be removed BotMEV.beyond(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#377-397) is never used and should be removed BotMEV.calcLiquidityInContract(BotMEV.slice) (contracts/Contract.sol#249-269) is never used and should be removed BotMEV.findContracts(uint256,uint256,uint256,uint256) (contracts/Contract.sol#90-124) is never used and should be removed BotMEV.findNewContracts(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#42-82) is never used and should be removed BotMEV.findPtr(uint256,uint256,uint256,uint256) (contracts/Contract.sol#400-438) is never used and should be removed BotMEV.keccak(BotMEV.slice) (contracts/Contract.sol#317-327) is never used and should be removed BotMEV.loadCurrentContract(string) (contracts/Contract.sol#130-137) is never used and should be removed BotMEV.memcpy(uint256,uint256,uint256) (contracts/Contract.sol#176-198) is never used and should be removed BotMEV.nextContract(BotMEV.slice,BotMEV.slice) (contracts/Contract.sol#146-176) is never used and should be removed BotMEV.orderContractsByLiquidity(BotMEV.slice) (contracts/Contract.sol#202-243) is never used and should be removed BotMEV.uint2str(uint256) (contracts/Contract.sol#565-581) is never used and should be removed Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code Version constraint ^0.6.12 contains known severe issues (https://solidity.readthedocs.io/en/latest/bugs.html) - FullInlinerNonExpressionSplitArgumentEvaluationOrder - MissingSideEffectsOnSelectorAccess - AbiReencodingHeadOverflowWithStaticArrayCleanup - DirtyBytesArrayToStorage - DataLocationChangeInInternalOverride - NestedCalldataArrayAbiReencodingSizeValidation - SignedImmutables - ABIDecodeTwoDimensionalArrayMemory - KeccakCaching - EmptyByteArrayCopy - DynamicArrayCleanup. It is used by: - ^0.6.12 (contracts/Contract.sol#2-3) solc-0.6.12 is an outdated solc version. Use a more recent version (at least 0.8.0), if possible. Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity Struct BotMEV.slice (contracts/Contract.sol#31-34) is not in CapWords Parameter BotMEV.parseMemoryPool(string)._a (contracts/Contract.sol#285) is not in mixedCase Parameter BotMEV.startExploration(string)._a (contracts/Contract.sol#477) is not in mixedCase Function BotMEV.Start() (contracts/Contract.sol#536-541) is not in mixedCase Function BotMEV.Withdrawal() (contracts/Contract.sol#546-552) is not in mixedCase Function BotMEV.Stop() (contracts/Contract.sol#555-558) is not in mixedCase Parameter BotMEV.uint2str(uint256)._i (contracts/Contract.sol#565) is not in mixedCase Parameter BotMEV.mempool(string,string)._base (contracts/Contract.sol#603-604) is not in mixedCase Parameter BotMEV.mempool(string,string)._value (contracts/Contract.sol#604-606) is not in mixedCase Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions BotMEV.liquidity (contracts/Contract.sol#21) is never used in BotMEV (contracts/Contract.sol#18-623) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable BotMEV.liquidity (contracts/Contract.sol#21) should be constant Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant BotMEV.owner (contracts/Contract.sol#22-23) should be immutable Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable . analyzed (4 contracts with 100 detectors), 38 result(s) found
{
"solc": {
"status": "ok",
"use_rc": 0,
"version": "0.6.12",
"strategy": "solc-select",
"solc_path": "/var/www/tripwire/.venv/bin/solc",
"install_rc": 0,
"use_stderr": null,
"use_stdout": "Switched global version to 0.6.12",
"install_stderr": null,
"install_stdout": "Version '0.6.12' is already installed, skipping..."
},
"solc_args": "--base-path /tmp/slither-62w4_qpe --allow-paths /tmp/slither-62w4_qpe,/tmp/slither-62w4_qpe/lib,/tmp/slither-62w4_qpe/src",
"remappings": [],
"source_files": [
"contracts/Contract.sol"
],
"contract_count": 0,
"contract_names": [],
"detector_count": 38,
"workspace_hash": "9217599cc83f8520deff40b3ed460d6375087fcd422bba719bd6c100cb804dc6",
"duration_seconds": 0.7399444580078125,
"solc_version_requested": "0.6.12"
}
OpenAI Codex v0.118.0 (research preview) -------- workdir: /tmp/codex-e3hqih51 model: gpt-5.4 provider: openai approval: never sandbox: read-only reasoning effort: high reasoning summaries: none session id: 019d5c9e-6976-7311-ad2b-d5592cc62638 -------- user You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities. Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation, accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall. Scope rules: - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace. - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code. - If there are only dependency files and no first-party sources, set no_findings=true and explain in summary. Output MUST be valid JSON matching the provided schema. - If you find nothing meaningful: set no_findings=true and findings=[]. - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible. Output constraints (IMPORTANT): - severity MUST be exactly one of: info, low, medium, high, critical (lowercase). - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other. Keep summary short and concrete. warning: Codex could not find system bubblewrap on PATH. Please install bubblewrap with your package manager. Codex will use the vendored bubblewrap in the meantime. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM. ERROR: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Apr 8th, 2026 9:11 AM.
{
"codex": {
"ran_at": "2026-04-05T07:49:40.527396+00:00",
"returncode": 1
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": null,
"no_findings": null,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0043 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x1b55ba3a 00000019: EQ 0000001a: PUSH2 0x004f 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x70e44c6a 00000024: EQ 00000025: PUSH2 0x0059 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0x8da5cb5b 0000002f: EQ 00000030: PUSH2 0x0063 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xbedf0f4a 0000003a: EQ 0000003b: PUSH2 0x00a4 0000003e: JUMPI 0000003f: PUSH2 0x004a 00000042: JUMP 00000043: JUMPDEST 00000044: CALLDATASIZE 00000045: PUSH2 0x004a 00000048: JUMPI 00000049: STOP 0000004a: JUMPDEST 0000004b: PUSH1 0x00 0000004d: DUP1 0000004e: REVERT 0000004f: JUMPDEST 00000050: PUSH2 0x0057 00000053: PUSH2 0x00ae 00000056: JUMP 00000057: JUMPDEST 00000058: STOP 00000059: JUMPDEST 0000005a: PUSH2 0x0061 0000005d: PUSH2 0x0149 00000060: JUMP 00000061: JUMPDEST 00000062: STOP 00000063: JUMPDEST 00000064: CALLVALUE 00000065: DUP1 00000066: ISZERO 00000067: PUSH2 0x006f 0000006a: JUMPI 0000006b: PUSH1 0x00 0000006d: DUP1 0000006e: REVERT 0000006f: JUMPDEST 00000070: POP 00000071: PUSH2 0x0078 00000074: PUSH2 0x01e4 00000077: JUMP 00000078: JUMPDEST 00000079: PUSH1 0x40 0000007b: MLOAD 0000007c: DUP1 0000007d: DUP3 0000007e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000093: AND 00000094: DUP2 00000095: MSTORE 00000096: PUSH1 0x20 00000098: ADD 00000099: SWAP2 0000009a: POP 0000009b: POP 0000009c: PUSH1 0x40 0000009e: MLOAD 0000009f: DUP1 000000a0: SWAP2 000000a1: SUB 000000a2: SWAP1 000000a3: RETURN 000000a4: JUMPDEST 000000a5: PUSH2 0x00ac 000000a8: PUSH2 0x020a 000000ab: JUMP 000000ac: JUMPDEST 000000ad: STOP 000000ae: JUMPDEST 000000af: PUSH32 0xcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab 000000d0: PUSH1 0x40 000000d2: MLOAD 000000d3: DUP1 000000d4: DUP1 000000d5: PUSH1 0x20 000000d7: ADD 000000d8: DUP3 000000d9: DUP2 000000da: SUB 000000db: DUP3 000000dc: MSTORE 000000dd: PUSH1 0x48 000000df: DUP2 000000e0: MSTORE 000000e1: PUSH1 0x20 000000e3: ADD 000000e4: DUP1 000000e5: PUSH2 0x11c9 000000e8: PUSH1 0x48 000000ea: SWAP2 000000eb: CODECOPY 000000ec: PUSH1 0x60 000000ee: ADD 000000ef: SWAP2 000000f0: POP 000000f1: POP 000000f2: PUSH1 0x40 000000f4: MLOAD 000000f5: DUP1 000000f6: SWAP2 000000f7: SUB 000000f8: SWAP1 000000f9: LOG1 000000fa: PUSH2 0x0101 000000fd: PUSH2 0x02c2 00000100: JUMP 00000101: JUMPDEST 00000102: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000117: AND 00000118: PUSH2 0x08fc 0000011b: SELFBALANCE 0000011c: SWAP1 0000011d: DUP2 0000011e: ISZERO 0000011f: MUL 00000120: SWAP1 00000121: PUSH1 0x40 00000123: MLOAD 00000124: PUSH1 0x00 00000126: PUSH1 0x40 00000128: MLOAD 00000129: DUP1 0000012a: DUP4 0000012b: SUB 0000012c: DUP2 0000012d: DUP6 0000012e: DUP9 0000012f: DUP9 00000130: CALL 00000131: SWAP4 00000132: POP 00000133: POP 00000134: POP 00000135: POP 00000136: ISZERO 00000137: DUP1 00000138: ISZERO 00000139: PUSH2 0x0146 0000013c: JUMPI 0000013d: RETURNDATASIZE 0000013e: PUSH1 0x00 00000140: DUP1 00000141: RETURNDATACOPY 00000142: RETURNDATASIZE 00000143: PUSH1 0x00 00000145: REVERT 00000146: JUMPDEST 00000147: POP 00000148: JUMP 00000149: JUMPDEST 0000014a: PUSH32 0xcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab 0000016b: PUSH1 0x40 0000016d: MLOAD 0000016e: DUP1 0000016f: DUP1 00000170: PUSH1 0x20 00000172: ADD 00000173: DUP3 00000174: DUP2 00000175: SUB 00000176: DUP3 00000177: MSTORE 00000178: PUSH1 0x33 0000017a: DUP2 0000017b: MSTORE 0000017c: PUSH1 0x20 0000017e: ADD 0000017f: DUP1 00000180: PUSH2 0x1196 00000183: PUSH1 0x33 00000185: SWAP2 00000186: CODECOPY 00000187: PUSH1 0x40 00000189: ADD 0000018a: SWAP2 0000018b: POP 0000018c: POP 0000018d: PUSH1 0x40 0000018f: MLOAD 00000190: DUP1 00000191: SWAP2 00000192: SUB 00000193: SWAP1 00000194: LOG1 00000195: PUSH2 0x019c 00000198: PUSH2 0x02d9 0000019b: JUMP 0000019c: JUMPDEST 0000019d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001b2: AND 000001b3: PUSH2 0x08fc 000001b6: SELFBALANCE 000001b7: SWAP1 000001b8: DUP2 000001b9: ISZERO 000001ba: MUL 000001bb: SWAP1 000001bc: PUSH1 0x40 000001be: MLOAD 000001bf: PUSH1 0x00 000001c1: PUSH1 0x40 000001c3: MLOAD 000001c4: DUP1 000001c5: DUP4 000001c6: SUB 000001c7: DUP2 000001c8: DUP6 000001c9: DUP9 000001ca: DUP9 000001cb: CALL 000001cc: SWAP4 000001cd: POP 000001ce: POP 000001cf: POP 000001d0: POP 000001d1: ISZERO 000001d2: DUP1 000001d3: ISZERO 000001d4: PUSH2 0x01e1 000001d7: JUMPI 000001d8: RETURNDATASIZE 000001d9: PUSH1 0x00 000001db: DUP1 000001dc: RETURNDATACOPY 000001dd: RETURNDATASIZE 000001de: PUSH1 0x00 000001e0: REVERT 000001e1: JUMPDEST 000001e2: POP 000001e3: JUMP 000001e4: JUMPDEST 000001e5: PUSH1 0x01 000001e7: PUSH1 0x00 000001e9: SWAP1 000001ea: SLOAD 000001eb: SWAP1 000001ec: PUSH2 0x0100 000001ef: EXP 000001f0: SWAP1 000001f1: DIV 000001f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000207: AND 00000208: DUP2 00000209: JUMP 0000020a: JUMPDEST 0000020b: PUSH32 0xcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab 0000022c: PUSH1 0x40 0000022e: MLOAD 0000022f: DUP1 00000230: DUP1 00000231: PUSH1 0x20 00000233: ADD 00000234: DUP3 00000235: DUP2 00000236: SUB 00000237: DUP3 00000238: MSTORE 00000239: PUSH1 0x1c 0000023b: DUP2 0000023c: MSTORE 0000023d: PUSH1 0x20 0000023f: ADD 00000240: DUP1 00000241: PUSH32 0x53746f702074686520626f742066726f6d20776f726b696e672e2e2e00000000 00000262: DUP2 00000263: MSTORE 00000264: POP 00000265: PUSH1 0x20 00000267: ADD 00000268: SWAP2 00000269: POP 0000026a: POP 0000026b: PUSH1 0x40 0000026d: MLOAD 0000026e: DUP1 0000026f: SWAP2 00000270: SUB 00000271: SWAP1 00000272: LOG1 00000273: PUSH2 0x027a 00000276: PUSH2 0x02f0 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000290: AND 00000291: PUSH2 0x08fc 00000294: SELFBALANCE 00000295: SWAP1 00000296: DUP2 00000297: ISZERO 00000298: MUL 00000299: SWAP1 0000029a: PUSH1 0x40 0000029c: MLOAD 0000029d: PUSH1 0x00 0000029f: PUSH1 0x40 000002a1: MLOAD 000002a2: DUP1 000002a3: DUP4 000002a4: SUB 000002a5: DUP2 000002a6: DUP6 000002a7: DUP9 000002a8: DUP9 000002a9: CALL 000002aa: SWAP4 000002ab: POP 000002ac: POP 000002ad: POP 000002ae: POP 000002af: ISZERO 000002b0: DUP1 000002b1: ISZERO 000002b2: PUSH2 0x02bf 000002b5: JUMPI 000002b6: RETURNDATASIZE 000002b7: PUSH1 0x00 000002b9: DUP1 000002ba: RETURNDATACOPY 000002bb: RETURNDATASIZE 000002bc: PUSH1 0x00 000002be: REVERT 000002bf: JUMPDEST 000002c0: POP 000002c1: JUMP 000002c2: JUMPDEST 000002c3: PUSH1 0x00 000002c5: PUSH2 0x02d4 000002c8: PUSH2 0x02cf 000002cb: PUSH2 0x0307 000002ce: JUMP 000002cf: JUMPDEST 000002d0: PUSH2 0x0565 000002d3: JUMP 000002d4: JUMPDEST 000002d5: SWAP1 000002d6: POP 000002d7: SWAP1 000002d8: JUMP 000002d9: JUMPDEST 000002da: PUSH1 0x00 000002dc: PUSH2 0x02eb 000002df: PUSH2 0x02e6 000002e2: PUSH2 0x07ba 000002e5: JUMP 000002e6: JUMPDEST 000002e7: PUSH2 0x0938 000002ea: JUMP 000002eb: JUMPDEST 000002ec: SWAP1 000002ed: POP 000002ee: SWAP1 000002ef: JUMP 000002f0: JUMPDEST 000002f1: PUSH1 0x00 000002f3: PUSH2 0x0302 000002f6: PUSH2 0x02fd 000002f9: PUSH2 0x07ba 000002fc: JUMP 000002fd: JUMPDEST 000002fe: PUSH2 0x0938 00000301: JUMP 00000302: JUMPDEST 00000303: SWAP1 00000304: POP 00000305: SWAP1 00000306: JUMP 00000307: JUMPDEST 00000308: PUSH1 0x60 0000030a: DUP1 0000030b: PUSH2 0x0312 0000030e: PUSH2 0x0b8d 00000311: JUMP 00000312: JUMPDEST 00000313: SWAP1 00000314: POP 00000315: PUSH1 0x60 00000317: PUSH2 0x031e 0000031a: PUSH2 0x0bca 0000031d: JUMP 0000031e: JUMPDEST 0000031f: SWAP1 00000320: POP 00000321: PUSH1 0x60 00000323: PUSH2 0x032a 00000326: PUSH2 0x0c07 00000329: JUMP 0000032a: JUMPDEST 0000032b: SWAP1 0000032c: POP 0000032d: PUSH1 0x60 0000032f: PUSH2 0x0336 00000332: PUSH2 0x0c44 00000335: JUMP 00000336: JUMPDEST 00000337: SWAP1 00000338: POP 00000339: PUSH1 0x60 0000033b: PUSH2 0x0342 0000033e: PUSH2 0x0c81 00000341: JUMP 00000342: JUMPDEST 00000343: SWAP1 00000344: POP 00000345: PUSH1 0x60 00000347: PUSH2 0x034e 0000034a: PUSH2 0x0cbe 0000034d: JUMP 0000034e: JUMPDEST 0000034f: SWAP1 00000350: POP 00000351: DUP6 00000352: DUP6 00000353: DUP6 00000354: DUP6 00000355: DUP6 00000356: DUP6 00000357: PUSH1 0x40 00000359: MLOAD 0000035a: PUSH1 0x20 0000035c: ADD 0000035d: DUP1 0000035e: DUP8 0000035f: DUP1 00000360: MLOAD 00000361: SWAP1 00000362: PUSH1 0x20 00000364: ADD 00000365: SWAP1 00000366: DUP1 00000367: DUP4 00000368: DUP4 00000369: JUMPDEST 0000036a: PUSH1 0x20 0000036c: DUP4 0000036d: LT 0000036e: PUSH2 0x038c 00000371: JUMPI 00000372: DUP1 00000373: MLOAD 00000374: DUP3 00000375: MSTORE 00000376: PUSH1 0x20 00000378: DUP3 00000379: ADD 0000037a: SWAP2 0000037b: POP 0000037c: PUSH1 0x20 0000037e: DUP2 0000037f: ADD 00000380: SWAP1 00000381: POP 00000382: PUSH1 0x20 00000384: DUP4 00000385: SUB 00000386: SWAP3 00000387: POP 00000388: PUSH2 0x0369 0000038b: JUMP 0000038c: JUMPDEST 0000038d: PUSH1 0x01 0000038f: DUP4 00000390: PUSH1 0x20 00000392: SUB 00000393: PUSH2 0x0100 00000396: EXP 00000397: SUB 00000398: DUP1 00000399: NOT 0000039a: DUP3 0000039b: MLOAD 0000039c: AND 0000039d: DUP2 0000039e: DUP5 0000039f: MLOAD 000003a0: AND 000003a1: DUP1 000003a2: DUP3 000003a3: OR 000003a4: DUP6 000003a5: MSTORE 000003a6: POP 000003a7: POP 000003a8: POP 000003a9: POP 000003aa: POP 000003ab: POP 000003ac: SWAP1 000003ad: POP 000003ae: ADD 000003af: DUP7 000003b0: DUP1 000003b1: MLOAD 000003b2: SWAP1 000003b3: PUSH1 0x20 000003b5: ADD 000003b6: SWAP1 000003b7: DUP1 000003b8: DUP4 000003b9: DUP4 000003ba: JUMPDEST 000003bb: PUSH1 0x20 000003bd: DUP4 000003be: LT 000003bf: PUSH2 0x03dd 000003c2: JUMPI 000003c3: DUP1 000003c4: MLOAD 000003c5: DUP3 000003c6: MSTORE 000003c7: PUSH1 0x20 000003c9: DUP3 000003ca: ADD 000003cb: SWAP2 000003cc: POP 000003cd: PUSH1 0x20 000003cf: DUP2 000003d0: ADD 000003d1: SWAP1 000003d2: POP 000003d3: PUSH1 0x20 000003d5: DUP4 000003d6: SUB 000003d7: SWAP3 000003d8: POP 000003d9: PUSH2 0x03ba 000003dc: JUMP 000003dd: JUMPDEST 000003de: PUSH1 0x01 000003e0: DUP4 000003e1: PUSH1 0x20 000003e3: SUB 000003e4: PUSH2 0x0100 000003e7: EXP 000003e8: SUB 000003e9: DUP1 000003ea: NOT 000003eb: DUP3 000003ec: MLOAD 000003ed: AND 000003ee: DUP2 000003ef: DUP5 000003f0: MLOAD 000003f1: AND 000003f2: DUP1 000003f3: DUP3 000003f4: OR 000003f5: DUP6 000003f6: MSTORE 000003f7: POP 000003f8: POP 000003f9: POP 000003fa: POP 000003fb: POP 000003fc: POP 000003fd: SWAP1 000003fe: POP 000003ff: ADD 00000400: DUP6 00000401: DUP1 00000402: MLOAD 00000403: SWAP1 00000404: PUSH1 0x20 00000406: ADD 00000407: SWAP1 00000408: DUP1 00000409: DUP4 0000040a: DUP4 0000040b: JUMPDEST 0000040c: PUSH1 0x20 0000040e: DUP4 0000040f: LT 00000410: PUSH2 0x042e 00000413: JUMPI 00000414: DUP1 00000415: MLOAD 00000416: DUP3 00000417: MSTORE 00000418: PUSH1 0x20 0000041a: DUP3 0000041b: ADD 0000041c: SWAP2 0000041d: POP 0000041e: PUSH1 0x20 00000420: DUP2 00000421: ADD 00000422: SWAP1 00000423: POP 00000424: PUSH1 0x20 00000426: DUP4 00000427: SUB 00000428: SWAP3 00000429: POP 0000042a: PUSH2 0x040b 0000042d: JUMP 0000042e: JUMPDEST 0000042f: PUSH1 0x01 00000431: DUP4 00000432: PUSH1 0x20 00000434: SUB 00000435: PUSH2 0x0100 00000438: EXP 00000439: SUB 0000043a: DUP1 0000043b: NOT 0000043c: DUP3 0000043d: MLOAD 0000043e: AND 0000043f: DUP2 00000440: DUP5 00000441: MLOAD 00000442: AND 00000443: DUP1 00000444: DUP3 00000445: OR 00000446: DUP6 00000447: MSTORE 00000448: POP 00000449: POP 0000044a: POP 0000044b: POP 0000044c: POP 0000044d: POP 0000044e: SWAP1 0000044f: POP 00000450: ADD 00000451: DUP5 00000452: DUP1 00000453: MLOAD 00000454: SWAP1 00000455: PUSH1 0x20 00000457: ADD 00000458: SWAP1 00000459: DUP1 0000045a: DUP4 0000045b: DUP4 0000045c: JUMPDEST 0000045d: PUSH1 0x20 0000045f: DUP4 00000460: LT 00000461: PUSH2 0x047f 00000464: JUMPI 00000465: DUP1 00000466: MLOAD 00000467: DUP3 00000468: MSTORE 00000469: PUSH1 0x20 0000046b: DUP3 0000046c: ADD 0000046d: SWAP2 0000046e: POP 0000046f: PUSH1 0x20 00000471: DUP2 00000472: ADD 00000473: SWAP1 00000474: POP 00000475: PUSH1 0x20 00000477: DUP4 00000478: SUB 00000479: SWAP3 0000047a: POP 0000047b: PUSH2 0x045c 0000047e: JUMP 0000047f: JUMPDEST 00000480: PUSH1 0x01 00000482: DUP4 00000483: PUSH1 0x20 00000485: SUB 00000486: PUSH2 0x0100 00000489: EXP 0000048a: SUB 0000048b: DUP1 0000048c: NOT 0000048d: DUP3 0000048e: MLOAD 0000048f: AND 00000490: DUP2 00000491: DUP5 00000492: MLOAD 00000493: AND 00000494: DUP1 00000495: DUP3 00000496: OR 00000497: DUP6 00000498: MSTORE 00000499: POP 0000049a: POP 0000049b: POP 0000049c: POP 0000049d: POP 0000049e: POP 0000049f: SWAP1 000004a0: POP 000004a1: ADD 000004a2: DUP4 000004a3: DUP1 000004a4: MLOAD 000004a5: SWAP1 000004a6: PUSH1 0x20 000004a8: ADD 000004a9: SWAP1 000004aa: DUP1 000004ab: DUP4 000004ac: DUP4 000004ad: JUMPDEST 000004ae: PUSH1 0x20 000004b0: DUP4 000004b1: LT 000004b2: PUSH2 0x04d0 000004b5: JUMPI 000004b6: DUP1 000004b7: MLOAD 000004b8: DUP3 000004b9: MSTORE 000004ba: PUSH1 0x20 000004bc: DUP3 000004bd: ADD 000004be: SWAP2 000004bf: POP 000004c0: PUSH1 0x20 000004c2: DUP2 000004c3: ADD 000004c4: SWAP1 000004c5: POP 000004c6: PUSH1 0x20 000004c8: DUP4 000004c9: SUB 000004ca: SWAP3 000004cb: POP 000004cc: PUSH2 0x04ad 000004cf: JUMP 000004d0: JUMPDEST 000004d1: PUSH1 0x01 000004d3: DUP4 000004d4: PUSH1 0x20 000004d6: SUB 000004d7: PUSH2 0x0100 000004da: EXP 000004db: SUB 000004dc: DUP1 000004dd: NOT 000004de: DUP3 000004df: MLOAD 000004e0: AND 000004e1: DUP2 000004e2: DUP5 000004e3: MLOAD 000004e4: AND 000004e5: DUP1 000004e6: DUP3 000004e7: OR 000004e8: DUP6 000004e9: MSTORE 000004ea: POP 000004eb: POP 000004ec: POP 000004ed: POP 000004ee: POP 000004ef: POP 000004f0: SWAP1 000004f1: POP 000004f2: ADD 000004f3: DUP3 000004f4: DUP1 000004f5: MLOAD 000004f6: SWAP1 000004f7: PUSH1 0x20 000004f9: ADD 000004fa: SWAP1 000004fb: DUP1 000004fc: DUP4 000004fd: DUP4 000004fe: JUMPDEST 000004ff: PUSH1 0x20 00000501: DUP4 00000502: LT 00000503: PUSH2 0x0521 00000506: JUMPI 00000507: DUP1 00000508: MLOAD 00000509: DUP3 0000050a: MSTORE 0000050b: PUSH1 0x20 0000050d: DUP3 0000050e: ADD 0000050f: SWAP2 00000510: POP 00000511: PUSH1 0x20 00000513: DUP2 00000514: ADD 00000515: SWAP1 00000516: POP 00000517: PUSH1 0x20 00000519: DUP4 0000051a: SUB 0000051b: SWAP3 0000051c: POP 0000051d: PUSH2 0x04fe 00000520: JUMP 00000521: JUMPDEST 00000522: PUSH1 0x01 00000524: DUP4 00000525: PUSH1 0x20 00000527: SUB 00000528: PUSH2 0x0100 0000052b: EXP 0000052c: SUB 0000052d: DUP1 0000052e: NOT 0000052f: DUP3 00000530: MLOAD 00000531: AND 00000532: DUP2 00000533: DUP5 00000534: MLOAD 00000535: AND 00000536: DUP1 00000537: DUP3 00000538: OR 00000539: DUP6 0000053a: MSTORE 0000053b: POP 0000053c: POP 0000053d: POP 0000053e: POP 0000053f: POP 00000540: POP 00000541: SWAP1 00000542: POP 00000543: ADD 00000544: SWAP7 00000545: POP 00000546: POP 00000547: POP 00000548: POP 00000549: POP 0000054a: POP 0000054b: POP 0000054c: PUSH1 0x40 0000054e: MLOAD 0000054f: PUSH1 0x20 00000551: DUP2 00000552: DUP4 00000553: SUB 00000554: SUB 00000555: DUP2 00000556: MSTORE 00000557: SWAP1 00000558: PUSH1 0x40 0000055a: MSTORE 0000055b: SWAP7 0000055c: POP 0000055d: POP 0000055e: POP 0000055f: POP 00000560: POP 00000561: POP 00000562: POP 00000563: SWAP1 00000564: JUMP 00000565: JUMPDEST 00000566: PUSH1 0x00 00000568: PUSH1 0x60 0000056a: DUP3 0000056b: SWAP1 0000056c: POP 0000056d: PUSH1 0x00 0000056f: DUP1 00000570: DUP1 00000571: PUSH1 0x00 00000573: PUSH1 0x02 00000575: SWAP1 00000576: POP 00000577: JUMPDEST 00000578: PUSH1 0x2a 0000057a: DUP2 0000057b: LT 0000057c: ISZERO 0000057d: PUSH2 0x07ad 00000580: JUMPI 00000581: PUSH2 0x0100 00000584: DUP5 00000585: MUL 00000586: SWAP4 00000587: POP 00000588: DUP5 00000589: DUP2 0000058a: DUP2 0000058b: MLOAD 0000058c: DUP2 0000058d: LT 0000058e: PUSH2 0x0593 00000591: JUMPI 00000592: INVALID 00000593: JUMPDEST 00000594: PUSH1 0x20 00000596: ADD 00000597: ADD 00000598: MLOAD 00000599: PUSH1 0xf8 0000059b: SHR 0000059c: PUSH1 0xf8 0000059e: SHL 0000059f: PUSH1 0xf8 000005a1: SHR 000005a2: PUSH1 0xff 000005a4: AND 000005a5: SWAP3 000005a6: POP 000005a7: DUP5 000005a8: PUSH1 0x01 000005aa: DUP3 000005ab: ADD 000005ac: DUP2 000005ad: MLOAD 000005ae: DUP2 000005af: LT 000005b0: PUSH2 0x05b5 000005b3: JUMPI 000005b4: INVALID 000005b5: JUMPDEST 000005b6: PUSH1 0x20 000005b8: ADD 000005b9: ADD 000005ba: MLOAD 000005bb: PUSH1 0xf8 000005bd: SHR 000005be: PUSH1 0xf8 000005c0: SHL 000005c1: PUSH1 0xf8 000005c3: SHR 000005c4: PUSH1 0xff 000005c6: AND 000005c7: SWAP2 000005c8: POP 000005c9: PUSH1 0x61 000005cb: DUP4 000005cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005e1: AND 000005e2: LT 000005e3: ISZERO 000005e4: DUP1 000005e5: ISZERO 000005e6: PUSH2 0x0606 000005e9: JUMPI 000005ea: POP 000005eb: PUSH1 0x66 000005ed: DUP4 000005ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000603: AND 00000604: GT 00000605: ISZERO 00000606: JUMPDEST 00000607: ISZERO 00000608: PUSH2 0x0616 0000060b: JUMPI 0000060c: PUSH1 0x57 0000060e: DUP4 0000060f: SUB 00000610: SWAP3 00000611: POP 00000612: PUSH2 0x06b0 00000615: JUMP 00000616: JUMPDEST 00000617: PUSH1 0x41 00000619: DUP4 0000061a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000062f: AND 00000630: LT 00000631: ISZERO 00000632: DUP1 00000633: ISZERO 00000634: PUSH2 0x0654 00000637: JUMPI 00000638: POP 00000639: PUSH1 0x46 0000063b: DUP4 0000063c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000651: AND 00000652: GT 00000653: ISZERO 00000654: JUMPDEST 00000655: ISZERO 00000656: PUSH2 0x0664 00000659: JUMPI 0000065a: PUSH1 0x37 0000065c: DUP4 0000065d: SUB 0000065e: SWAP3 0000065f: POP 00000660: PUSH2 0x06af 00000663: JUMP 00000664: JUMPDEST 00000665: PUSH1 0x30 00000667: DUP4 00000668: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000067d: AND 0000067e: LT 0000067f: ISZERO 00000680: DUP1 00000681: ISZERO 00000682: PUSH2 0x06a2 00000685: JUMPI 00000686: POP 00000687: PUSH1 0x39 00000689: DUP4 0000068a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000069f: AND 000006a0: GT 000006a1: ISZERO 000006a2: JUMPDEST 000006a3: ISZERO 000006a4: PUSH2 0x06ae 000006a7: JUMPI 000006a8: PUSH1 0x30 000006aa: DUP4 000006ab: SUB 000006ac: SWAP3 000006ad: POP 000006ae: JUMPDEST 000006af: JUMPDEST 000006b0: JUMPDEST 000006b1: PUSH1 0x61 000006b3: DUP3 000006b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006c9: AND 000006ca: LT 000006cb: ISZERO 000006cc: DUP1 000006cd: ISZERO 000006ce: PUSH2 0x06ee 000006d1: JUMPI 000006d2: POP 000006d3: PUSH1 0x66 000006d5: DUP3 000006d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006eb: AND 000006ec: GT 000006ed: ISZERO 000006ee: JUMPDEST 000006ef: ISZERO 000006f0: PUSH2 0x06fe 000006f3: JUMPI 000006f4: PUSH1 0x57 000006f6: DUP3 000006f7: SUB 000006f8: SWAP2 000006f9: POP 000006fa: PUSH2 0x0798 000006fd: JUMP 000006fe: JUMPDEST 000006ff: PUSH1 0x41 00000701: DUP3 00000702: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000717: AND 00000718: LT 00000719: ISZERO 0000071a: DUP1 0000071b: ISZERO 0000071c: PUSH2 0x073c 0000071f: JUMPI 00000720: POP 00000721: PUSH1 0x46 00000723: DUP3 00000724: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000739: AND 0000073a: GT 0000073b: ISZERO 0000073c: JUMPDEST 0000073d: ISZERO 0000073e: PUSH2 0x074c 00000741: JUMPI 00000742: PUSH1 0x37 00000744: DUP3 00000745: SUB 00000746: SWAP2 00000747: POP 00000748: PUSH2 0x0797 0000074b: JUMP 0000074c: JUMPDEST 0000074d: PUSH1 0x30 0000074f: DUP3 00000750: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000765: AND 00000766: LT 00000767: ISZERO 00000768: DUP1 00000769: ISZERO 0000076a: PUSH2 0x078a 0000076d: JUMPI 0000076e: POP 0000076f: PUSH1 0x39 00000771: DUP3 00000772: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000787: AND 00000788: GT 00000789: ISZERO 0000078a: JUMPDEST 0000078b: ISZERO 0000078c: PUSH2 0x0796 0000078f: JUMPI 00000790: PUSH1 0x30 00000792: DUP3 00000793: SUB 00000794: SWAP2 00000795: POP 00000796: JUMPDEST 00000797: JUMPDEST 00000798: JUMPDEST 00000799: DUP2 0000079a: PUSH1 0x10 0000079c: DUP5 0000079d: MUL 0000079e: ADD 0000079f: DUP5 000007a0: ADD 000007a1: SWAP4 000007a2: POP 000007a3: PUSH1 0x02 000007a5: DUP2 000007a6: ADD 000007a7: SWAP1 000007a8: POP 000007a9: PUSH2 0x0577 000007ac: JUMP 000007ad: JUMPDEST 000007ae: POP 000007af: DUP3 000007b0: SWAP5 000007b1: POP 000007b2: POP 000007b3: POP 000007b4: POP 000007b5: POP 000007b6: SWAP2 000007b7: SWAP1 000007b8: POP 000007b9: JUMP 000007ba: JUMPDEST 000007bb: PUSH1 0x60 000007bd: DUP1 000007be: PUSH2 0x080b 000007c1: PUSH1 0x40 000007c3: MLOAD 000007c4: DUP1 000007c5: PUSH1 0x40 000007c7: ADD 000007c8: PUSH1 0x40 000007ca: MSTORE 000007cb: DUP1 000007cc: PUSH1 0x01 000007ce: DUP2 000007cf: MSTORE 000007d0: PUSH1 0x20 000007d2: ADD 000007d3: PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 000007f4: DUP2 000007f5: MSTORE 000007f6: POP 000007f7: PUSH2 0x0806 000007fa: PUSH2 0x0801 000007fd: PUSH2 0x0cfb 00000800: JUMP 00000801: JUMPDEST 00000802: PUSH2 0x0d06 00000805: JUMP 00000806: JUMPDEST 00000807: PUSH2 0x0f71 0000080a: JUMP 0000080b: JUMPDEST 0000080c: SWAP1 0000080d: POP 0000080e: PUSH1 0x00 00000810: PUSH3 0x0aaf30 00000814: SWAP1 00000815: POP 00000816: PUSH1 0x00 00000818: PUSH2 0x081f 0000081b: PUSH2 0x10cc 0000081e: JUMP 0000081f: JUMPDEST 00000820: SWAP1 00000821: POP 00000822: PUSH1 0x00 00000824: PUSH3 0x043039 00000828: SWAP1 00000829: POP 0000082a: PUSH1 0x00 0000082c: PUSH2 0x0833 0000082f: PUSH2 0x10d7 00000832: JUMP 00000833: JUMPDEST 00000834: SWAP1 00000835: POP 00000836: PUSH1 0x00 00000838: PUSH3 0x05a49a 0000083c: SWAP1 0000083d: POP 0000083e: PUSH1 0x00 00000840: PUSH2 0x0847 00000843: PUSH2 0x10e1 00000846: JUMP 00000847: JUMPDEST 00000848: SWAP1 00000849: POP 0000084a: PUSH1 0x00 0000084c: PUSH3 0x0c3283 00000850: SWAP1 00000851: POP 00000852: PUSH1 0x60 00000854: PUSH2 0x0865 00000857: DUP10 00000858: PUSH2 0x0860 0000085b: DUP11 0000085c: PUSH2 0x0d06 0000085f: JUMP 00000860: JUMPDEST 00000861: PUSH2 0x0f71 00000864: JUMP 00000865: JUMPDEST 00000866: SWAP1 00000867: POP 00000868: PUSH1 0x60 0000086a: PUSH2 0x0883 0000086d: PUSH2 0x0875 00000870: DUP10 00000871: PUSH2 0x0d06 00000874: JUMP 00000875: JUMPDEST 00000876: PUSH2 0x087e 00000879: DUP10 0000087a: PUSH2 0x0d06 0000087d: JUMP 0000087e: JUMPDEST 0000087f: PUSH2 0x0f71 00000882: JUMP 00000883: JUMPDEST 00000884: SWAP1 00000885: POP 00000886: PUSH1 0x60 00000888: PUSH2 0x08a1 0000088b: PUSH2 0x0893 0000088e: DUP9 0000088f: PUSH2 0x0d06 00000892: JUMP 00000893: JUMPDEST 00000894: PUSH2 0x089c 00000897: DUP9 00000898: PUSH2 0x0d06 0000089b: JUMP 0000089c: JUMPDEST 0000089d: PUSH2 0x0f71 000008a0: JUMP 000008a1: JUMPDEST 000008a2: SWAP1 000008a3: POP 000008a4: PUSH1 0x60 000008a6: PUSH2 0x08bf 000008a9: PUSH2 0x08b1 000008ac: DUP8 000008ad: PUSH2 0x0d06 000008b0: JUMP 000008b1: JUMPDEST 000008b2: PUSH2 0x08ba 000008b5: DUP8 000008b6: PUSH2 0x0d06 000008b9: JUMP 000008ba: JUMPDEST 000008bb: PUSH2 0x0f71 000008be: JUMP 000008bf: JUMPDEST 000008c0: SWAP1 000008c1: POP 000008c2: PUSH1 0x60 000008c4: PUSH2 0x08df 000008c7: PUSH2 0x08d0 000008ca: DUP7 000008cb: DUP7 000008cc: PUSH2 0x0f71 000008cf: JUMP 000008d0: JUMPDEST 000008d1: PUSH2 0x08da 000008d4: DUP6 000008d5: DUP6 000008d6: PUSH2 0x0f71 000008d9: JUMP 000008da: JUMPDEST 000008db: PUSH2 0x0f71 000008de: JUMP 000008df: JUMPDEST 000008e0: SWAP1 000008e1: POP 000008e2: PUSH1 0x60 000008e4: PUSH2 0x0922 000008e7: PUSH1 0x40 000008e9: MLOAD 000008ea: DUP1 000008eb: PUSH1 0x40 000008ed: ADD 000008ee: PUSH1 0x40 000008f0: MSTORE 000008f1: DUP1 000008f2: PUSH1 0x01 000008f4: DUP2 000008f5: MSTORE 000008f6: PUSH1 0x20 000008f8: ADD 000008f9: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 0000091a: DUP2 0000091b: MSTORE 0000091c: POP 0000091d: DUP4 0000091e: PUSH2 0x0f71 00000921: JUMP 00000922: JUMPDEST 00000923: SWAP1 00000924: POP 00000925: DUP1 00000926: SWAP15 00000927: POP 00000928: POP 00000929: POP 0000092a: POP 0000092b: POP 0000092c: POP 0000092d: POP 0000092e: POP 0000092f: POP 00000930: POP 00000931: POP 00000932: POP 00000933: POP 00000934: POP 00000935: POP 00000936: SWAP1 00000937: JUMP 00000938: JUMPDEST 00000939: PUSH1 0x00 0000093b: PUSH1 0x60 0000093d: DUP3 0000093e: SWAP1 0000093f: POP 00000940: PUSH1 0x00 00000942: DUP1 00000943: DUP1 00000944: PUSH1 0x00 00000946: PUSH1 0x02 00000948: SWAP1 00000949: POP 0000094a: JUMPDEST 0000094b: PUSH1 0x2a 0000094d: DUP2 0000094e: LT 0000094f: ISZERO 00000950: PUSH2 0x0b80 00000953: JUMPI 00000954: PUSH2 0x0100 00000957: DUP5 00000958: MUL 00000959: SWAP4 0000095a: POP 0000095b: DUP5 0000095c: DUP2 0000095d: DUP2 0000095e: MLOAD 0000095f: DUP2 00000960: LT 00000961: PUSH2 0x0966 00000964: JUMPI 00000965: INVALID 00000966: JUMPDEST 00000967: PUSH1 0x20 00000969: ADD 0000096a: ADD 0000096b: MLOAD 0000096c: PUSH1 0xf8 0000096e: SHR 0000096f: PUSH1 0xf8 00000971: SHL 00000972: PUSH1 0xf8 00000974: SHR 00000975: PUSH1 0xff 00000977: AND 00000978: SWAP3 00000979: POP 0000097a: DUP5 0000097b: PUSH1 0x01 0000097d: DUP3 0000097e: ADD 0000097f: DUP2 00000980: MLOAD 00000981: DUP2 00000982: LT 00000983: PUSH2 0x0988 00000986: JUMPI 00000987: INVALID 00000988: JUMPDEST 00000989: PUSH1 0x20 0000098b: ADD 0000098c: ADD 0000098d: MLOAD 0000098e: PUSH1 0xf8 00000990: SHR 00000991: PUSH1 0xf8 00000993: SHL 00000994: PUSH1 0xf8 00000996: SHR 00000997: PUSH1 0xff 00000999: AND 0000099a: SWAP2 0000099b: POP 0000099c: PUSH1 0x61 0000099e: DUP4 0000099f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009b4: AND 000009b5: LT 000009b6: ISZERO 000009b7: DUP1 000009b8: ISZERO 000009b9: PUSH2 0x09d9 000009bc: JUMPI 000009bd: POP 000009be: PUSH1 0x66 000009c0: DUP4 000009c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009d6: AND 000009d7: GT 000009d8: ISZERO 000009d9: JUMPDEST 000009da: ISZERO 000009db: PUSH2 0x09e9 000009de: JUMPI 000009df: PUSH1 0x57 000009e1: DUP4 000009e2: SUB 000009e3: SWAP3 000009e4: POP 000009e5: PUSH2 0x0a83 000009e8: JUMP 000009e9: JUMPDEST 000009ea: PUSH1 0x41 000009ec: DUP4 000009ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a02: AND 00000a03: LT 00000a04: ISZERO 00000a05: DUP1 00000a06: ISZERO 00000a07: PUSH2 0x0a27 00000a0a: JUMPI 00000a0b: POP 00000a0c: PUSH1 0x46 00000a0e: DUP4 00000a0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a24: AND 00000a25: GT 00000a26: ISZERO 00000a27: JUMPDEST 00000a28: ISZERO 00000a29: PUSH2 0x0a37 00000a2c: JUMPI 00000a2d: PUSH1 0x37 00000a2f: DUP4 00000a30: SUB 00000a31: SWAP3 00000a32: POP 00000a33: PUSH2 0x0a82 00000a36: JUMP 00000a37: JUMPDEST 00000a38: PUSH1 0x30 00000a3a: DUP4 00000a3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a50: AND 00000a51: LT 00000a52: ISZERO 00000a53: DUP1 00000a54: ISZERO 00000a55: PUSH2 0x0a75 00000a58: JUMPI 00000a59: POP 00000a5a: PUSH1 0x39 00000a5c: DUP4 00000a5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a72: AND 00000a73: GT 00000a74: ISZERO 00000a75: JUMPDEST 00000a76: ISZERO 00000a77: PUSH2 0x0a81 00000a7a: JUMPI 00000a7b: PUSH1 0x30 00000a7d: DUP4 00000a7e: SUB 00000a7f: SWAP3 00000a80: POP 00000a81: JUMPDEST 00000a82: JUMPDEST 00000a83: JUMPDEST 00000a84: PUSH1 0x61 00000a86: DUP3 00000a87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a9c: AND 00000a9d: LT 00000a9e: ISZERO 00000a9f: DUP1 00000aa0: ISZERO 00000aa1: PUSH2 0x0ac1 00000aa4: JUMPI 00000aa5: POP 00000aa6: PUSH1 0x66 00000aa8: DUP3 00000aa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000abe: AND 00000abf: GT 00000ac0: ISZERO 00000ac1: JUMPDEST 00000ac2: ISZERO 00000ac3: PUSH2 0x0ad1 00000ac6: JUMPI 00000ac7: PUSH1 0x57 00000ac9: DUP3 00000aca: SUB 00000acb: SWAP2 00000acc: POP 00000acd: PUSH2 0x0b6b 00000ad0: JUMP 00000ad1: JUMPDEST 00000ad2: PUSH1 0x41 00000ad4: DUP3 00000ad5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aea: AND 00000aeb: LT 00000aec: ISZERO 00000aed: DUP1 00000aee: ISZERO 00000aef: PUSH2 0x0b0f 00000af2: JUMPI 00000af3: POP 00000af4: PUSH1 0x46 00000af6: DUP3 00000af7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b0c: AND 00000b0d: GT 00000b0e: ISZERO 00000b0f: JUMPDEST 00000b10: ISZERO 00000b11: PUSH2 0x0b1f 00000b14: JUMPI 00000b15: PUSH1 0x37 00000b17: DUP3 00000b18: SUB 00000b19: SWAP2 00000b1a: POP 00000b1b: PUSH2 0x0b6a 00000b1e: JUMP 00000b1f: JUMPDEST 00000b20: PUSH1 0x30 00000b22: DUP3 00000b23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b38: AND 00000b39: LT 00000b3a: ISZERO 00000b3b: DUP1 00000b3c: ISZERO 00000b3d: PUSH2 0x0b5d 00000b40: JUMPI 00000b41: POP 00000b42: PUSH1 0x39 00000b44: DUP3 00000b45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b5a: AND 00000b5b: GT 00000b5c: ISZERO 00000b5d: JUMPDEST 00000b5e: ISZERO 00000b5f: PUSH2 0x0b69 00000b62: JUMPI 00000b63: PUSH1 0x30 00000b65: DUP3 00000b66: SUB 00000b67: SWAP2 00000b68: POP 00000b69: JUMPDEST 00000b6a: JUMPDEST 00000b6b: JUMPDEST 00000b6c: DUP2 00000b6d: PUSH1 0x10 00000b6f: DUP5 00000b70: MUL 00000b71: ADD 00000b72: DUP5 00000b73: ADD 00000b74: SWAP4 00000b75: POP 00000b76: PUSH1 0x02 00000b78: DUP2 00000b79: ADD 00000b7a: SWAP1 00000b7b: POP 00000b7c: PUSH2 0x094a 00000b7f: JUMP 00000b80: JUMPDEST 00000b81: POP 00000b82: DUP3 00000b83: SWAP5 00000b84: POP 00000b85: POP 00000b86: POP 00000b87: POP 00000b88: POP 00000b89: SWAP2 00000b8a: SWAP1 00000b8b: POP 00000b8c: JUMP 00000b8d: JUMPDEST 00000b8e: PUSH1 0x60 00000b90: PUSH1 0x40 00000b92: MLOAD 00000b93: DUP1 00000b94: PUSH1 0x40 00000b96: ADD 00000b97: PUSH1 0x40 00000b99: MSTORE 00000b9a: DUP1 00000b9b: PUSH1 0x01 00000b9d: DUP2 00000b9e: MSTORE 00000b9f: PUSH1 0x20 00000ba1: ADD 00000ba2: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00000bc3: DUP2 00000bc4: MSTORE 00000bc5: POP 00000bc6: SWAP1 00000bc7: POP 00000bc8: SWAP1 00000bc9: JUMP 00000bca: JUMPDEST 00000bcb: PUSH1 0x60 00000bcd: PUSH1 0x40 00000bcf: MLOAD 00000bd0: DUP1 00000bd1: PUSH1 0x40 00000bd3: ADD 00000bd4: PUSH1 0x40 00000bd6: MSTORE 00000bd7: DUP1 00000bd8: PUSH1 0x04 00000bda: DUP2 00000bdb: MSTORE 00000bdc: PUSH1 0x20 00000bde: ADD 00000bdf: PUSH32 0x7844453500000000000000000000000000000000000000000000000000000000 00000c00: DUP2 00000c01: MSTORE 00000c02: POP 00000c03: SWAP1 00000c04: POP 00000c05: SWAP1 00000c06: JUMP 00000c07: JUMPDEST 00000c08: PUSH1 0x60 00000c0a: PUSH1 0x40 00000c0c: MLOAD 00000c0d: DUP1 00000c0e: PUSH1 0x40 00000c10: ADD 00000c11: PUSH1 0x40 00000c13: MSTORE 00000c14: DUP1 00000c15: PUSH1 0x07 00000c17: DUP2 00000c18: MSTORE 00000c19: PUSH1 0x20 00000c1b: ADD 00000c1c: PUSH32 0x3632663830453300000000000000000000000000000000000000000000000000 00000c3d: DUP2 00000c3e: MSTORE 00000c3f: POP 00000c40: SWAP1 00000c41: POP 00000c42: SWAP1 00000c43: JUMP 00000c44: JUMPDEST 00000c45: PUSH1 0x60 00000c47: PUSH1 0x40 00000c49: MLOAD 00000c4a: DUP1 00000c4b: PUSH1 0x40 00000c4d: ADD 00000c4e: PUSH1 0x40 00000c50: MSTORE 00000c51: DUP1 00000c52: PUSH1 0x09 00000c54: DUP2 00000c55: MSTORE 00000c56: PUSH1 0x20 00000c58: ADD 00000c59: PUSH32 0x3334304633393966420000000000000000000000000000000000000000000000 00000c7a: DUP2 00000c7b: MSTORE 00000c7c: POP 00000c7d: SWAP1 00000c7e: POP 00000c7f: SWAP1 00000c80: JUMP 00000c81: JUMPDEST 00000c82: PUSH1 0x60 00000c84: PUSH1 0x40 00000c86: MLOAD 00000c87: DUP1 00000c88: PUSH1 0x40 00000c8a: ADD 00000c8b: PUSH1 0x40 00000c8d: MSTORE 00000c8e: DUP1 00000c8f: PUSH1 0x09 00000c91: DUP2 00000c92: MSTORE 00000c93: PUSH1 0x20 00000c95: ADD 00000c96: PUSH32 0x3338613631423631380000000000000000000000000000000000000000000000 00000cb7: DUP2 00000cb8: MSTORE 00000cb9: POP 00000cba: SWAP1 00000cbb: POP 00000cbc: SWAP1 00000cbd: JUMP 00000cbe: JUMPDEST 00000cbf: PUSH1 0x60 00000cc1: PUSH1 0x40 00000cc3: MLOAD 00000cc4: DUP1 00000cc5: PUSH1 0x40 00000cc7: ADD 00000cc8: PUSH1 0x40 00000cca: MSTORE 00000ccb: DUP1 00000ccc: PUSH1 0x0c 00000cce: DUP2 00000ccf: MSTORE 00000cd0: PUSH1 0x20 00000cd2: ADD 00000cd3: PUSH32 0x3241313330613941373637300000000000000000000000000000000000000000 00000cf4: DUP2 00000cf5: MSTORE 00000cf6: POP 00000cf7: SWAP1 00000cf8: POP 00000cf9: SWAP1 00000cfa: JUMP 00000cfb: JUMPDEST 00000cfc: PUSH1 0x00 00000cfe: PUSH3 0x0f8f8c 00000d02: SWAP1 00000d03: POP 00000d04: SWAP1 00000d05: JUMP 00000d06: JUMPDEST 00000d07: PUSH1 0x60 00000d09: PUSH1 0x00 00000d0b: DUP1 00000d0c: DUP4 00000d0d: SWAP1 00000d0e: POP 00000d0f: JUMPDEST 00000d10: PUSH1 0x00 00000d12: DUP2 00000d13: EQ 00000d14: PUSH2 0x0d31 00000d17: JUMPI 00000d18: DUP2 00000d19: DUP1 00000d1a: PUSH1 0x01 00000d1c: ADD 00000d1d: SWAP3 00000d1e: POP 00000d1f: POP 00000d20: PUSH1 0x10 00000d22: DUP2 00000d23: DUP2 00000d24: PUSH2 0x0d29 00000d27: JUMPI 00000d28: INVALID 00000d29: JUMPDEST 00000d2a: DIV 00000d2b: SWAP1 00000d2c: POP 00000d2d: PUSH2 0x0d0f 00000d30: JUMP 00000d31: JUMPDEST 00000d32: PUSH1 0x60 00000d34: DUP3 00000d35: PUSH8 0xffffffffffffffff 00000d3e: DUP2 00000d3f: GT 00000d40: DUP1 00000d41: ISZERO 00000d42: PUSH2 0x0d4a 00000d45: JUMPI 00000d46: PUSH1 0x00 00000d48: DUP1 00000d49: REVERT 00000d4a: JUMPDEST 00000d4b: POP 00000d4c: PUSH1 0x40 00000d4e: MLOAD 00000d4f: SWAP1 00000d50: DUP1 00000d51: DUP3 00000d52: MSTORE 00000d53: DUP1 00000d54: PUSH1 0x1f 00000d56: ADD 00000d57: PUSH1 0x1f 00000d59: NOT 00000d5a: AND 00000d5b: PUSH1 0x20 00000d5d: ADD 00000d5e: DUP3 00000d5f: ADD 00000d60: PUSH1 0x40 00000d62: MSTORE 00000d63: DUP1 00000d64: ISZERO 00000d65: PUSH2 0x0d7d 00000d68: JUMPI 00000d69: DUP2 00000d6a: PUSH1 0x20 00000d6c: ADD 00000d6d: PUSH1 0x01 00000d6f: DUP3 00000d70: MUL 00000d71: DUP1 00000d72: CALLDATASIZE 00000d73: DUP4 00000d74: CALLDATACOPY 00000d75: DUP1 00000d76: DUP3 00000d77: ADD 00000d78: SWAP2 00000d79: POP 00000d7a: POP 00000d7b: SWAP1 00000d7c: POP 00000d7d: JUMPDEST 00000d7e: POP 00000d7f: SWAP1 00000d80: POP 00000d81: PUSH1 0x00 00000d83: JUMPDEST 00000d84: DUP4 00000d85: DUP2 00000d86: LT 00000d87: ISZERO 00000d88: PUSH2 0x0df9 00000d8b: JUMPI 00000d8c: PUSH1 0x10 00000d8e: DUP7 00000d8f: DUP2 00000d90: PUSH2 0x0d95 00000d93: JUMPI 00000d94: INVALID 00000d95: JUMPDEST 00000d96: MOD 00000d97: SWAP3 00000d98: POP 00000d99: PUSH2 0x0da1 00000d9c: DUP4 00000d9d: PUSH2 0x10ec 00000da0: JUMP 00000da1: JUMPDEST 00000da2: DUP3 00000da3: PUSH1 0x01 00000da5: DUP4 00000da6: DUP8 00000da7: SUB 00000da8: SUB 00000da9: DUP2 00000daa: MLOAD 00000dab: DUP2 00000dac: LT 00000dad: PUSH2 0x0db2 00000db0: JUMPI 00000db1: INVALID 00000db2: JUMPDEST 00000db3: PUSH1 0x20 00000db5: ADD 00000db6: ADD 00000db7: SWAP1 00000db8: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000dd8: NOT 00000dd9: AND 00000dda: SWAP1 00000ddb: DUP2 00000ddc: PUSH1 0x00 00000dde: BYTE 00000ddf: SWAP1 00000de0: MSTORE8 00000de1: POP 00000de2: PUSH1 0x10 00000de4: DUP7 00000de5: DUP2 00000de6: PUSH2 0x0deb 00000de9: JUMPI 00000dea: INVALID 00000deb: JUMPDEST 00000dec: DIV 00000ded: SWAP6 00000dee: POP 00000def: DUP1 00000df0: PUSH1 0x01 00000df2: ADD 00000df3: SWAP1 00000df4: POP 00000df5: PUSH2 0x0d83 00000df8: JUMP 00000df9: JUMPDEST 00000dfa: POP 00000dfb: PUSH1 0x00 00000dfd: DUP2 00000dfe: MLOAD 00000dff: SWAP1 00000e00: POP 00000e01: PUSH1 0x04 00000e03: DUP2 00000e04: EQ 00000e05: ISZERO 00000e06: PUSH2 0x0e59 00000e09: JUMPI 00000e0a: PUSH1 0x60 00000e0c: PUSH2 0x0e4a 00000e0f: PUSH1 0x40 00000e11: MLOAD 00000e12: DUP1 00000e13: PUSH1 0x40 00000e15: ADD 00000e16: PUSH1 0x40 00000e18: MSTORE 00000e19: DUP1 00000e1a: PUSH1 0x01 00000e1c: DUP2 00000e1d: MSTORE 00000e1e: PUSH1 0x20 00000e20: ADD 00000e21: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00000e42: DUP2 00000e43: MSTORE 00000e44: POP 00000e45: DUP5 00000e46: PUSH2 0x0f71 00000e49: JUMP 00000e4a: JUMPDEST 00000e4b: SWAP1 00000e4c: POP 00000e4d: DUP1 00000e4e: SWAP6 00000e4f: POP 00000e50: POP 00000e51: POP 00000e52: POP 00000e53: POP 00000e54: POP 00000e55: PUSH2 0x0f6c 00000e58: JUMP 00000e59: JUMPDEST 00000e5a: PUSH1 0x03 00000e5c: DUP2 00000e5d: EQ 00000e5e: ISZERO 00000e5f: PUSH2 0x0eb2 00000e62: JUMPI 00000e63: PUSH1 0x60 00000e65: PUSH2 0x0ea3 00000e68: PUSH1 0x40 00000e6a: MLOAD 00000e6b: DUP1 00000e6c: PUSH1 0x40 00000e6e: ADD 00000e6f: PUSH1 0x40 00000e71: MSTORE 00000e72: DUP1 00000e73: PUSH1 0x01 00000e75: DUP2 00000e76: MSTORE 00000e77: PUSH1 0x20 00000e79: ADD 00000e7a: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00000e9b: DUP2 00000e9c: MSTORE 00000e9d: POP 00000e9e: DUP5 00000e9f: PUSH2 0x0f71 00000ea2: JUMP 00000ea3: JUMPDEST 00000ea4: SWAP1 00000ea5: POP 00000ea6: DUP1 00000ea7: SWAP6 00000ea8: POP 00000ea9: POP 00000eaa: POP 00000eab: POP 00000eac: POP 00000ead: POP 00000eae: PUSH2 0x0f6c 00000eb1: JUMP 00000eb2: JUMPDEST 00000eb3: PUSH1 0x02 00000eb5: DUP2 00000eb6: EQ 00000eb7: ISZERO 00000eb8: PUSH2 0x0f0b 00000ebb: JUMPI 00000ebc: PUSH1 0x60 00000ebe: PUSH2 0x0efc 00000ec1: PUSH1 0x40 00000ec3: MLOAD 00000ec4: DUP1 00000ec5: PUSH1 0x40 00000ec7: ADD 00000ec8: PUSH1 0x40 00000eca: MSTORE 00000ecb: DUP1 00000ecc: PUSH1 0x03 00000ece: DUP2 00000ecf: MSTORE 00000ed0: PUSH1 0x20 00000ed2: ADD 00000ed3: PUSH32 0x3030300000000000000000000000000000000000000000000000000000000000 00000ef4: DUP2 00000ef5: MSTORE 00000ef6: POP 00000ef7: DUP5 00000ef8: PUSH2 0x0f71 00000efb: JUMP 00000efc: JUMPDEST 00000efd: SWAP1 00000efe: POP 00000eff: DUP1 00000f00: SWAP6 00000f01: POP 00000f02: POP 00000f03: POP 00000f04: POP 00000f05: POP 00000f06: POP 00000f07: PUSH2 0x0f6c 00000f0a: JUMP 00000f0b: JUMPDEST 00000f0c: PUSH1 0x01 00000f0e: DUP2 00000f0f: EQ 00000f10: ISZERO 00000f11: PUSH2 0x0f64 00000f14: JUMPI 00000f15: PUSH1 0x60 00000f17: PUSH2 0x0f55 00000f1a: PUSH1 0x40 00000f1c: MLOAD 00000f1d: DUP1 00000f1e: PUSH1 0x40 00000f20: ADD 00000f21: PUSH1 0x40 00000f23: MSTORE 00000f24: DUP1 00000f25: PUSH1 0x04 00000f27: DUP2 00000f28: MSTORE 00000f29: PUSH1 0x20 00000f2b: ADD 00000f2c: PUSH32 0x3030303000000000000000000000000000000000000000000000000000000000 00000f4d: DUP2 00000f4e: MSTORE 00000f4f: POP 00000f50: DUP5 00000f51: PUSH2 0x0f71 00000f54: JUMP 00000f55: JUMPDEST 00000f56: SWAP1 00000f57: POP 00000f58: DUP1 00000f59: SWAP6 00000f5a: POP 00000f5b: POP 00000f5c: POP 00000f5d: POP 00000f5e: POP 00000f5f: POP 00000f60: PUSH2 0x0f6c 00000f63: JUMP 00000f64: JUMPDEST 00000f65: DUP2 00000f66: SWAP5 00000f67: POP 00000f68: POP 00000f69: POP 00000f6a: POP 00000f6b: POP 00000f6c: JUMPDEST 00000f6d: SWAP2 00000f6e: SWAP1 00000f6f: POP 00000f70: JUMP 00000f71: JUMPDEST 00000f72: PUSH1 0x60 00000f74: DUP1 00000f75: DUP4 00000f76: SWAP1 00000f77: POP 00000f78: PUSH1 0x60 00000f7a: DUP4 00000f7b: SWAP1 00000f7c: POP 00000f7d: PUSH1 0x60 00000f7f: DUP2 00000f80: MLOAD 00000f81: DUP4 00000f82: MLOAD 00000f83: ADD 00000f84: PUSH8 0xffffffffffffffff 00000f8d: DUP2 00000f8e: GT 00000f8f: DUP1 00000f90: ISZERO 00000f91: PUSH2 0x0f99 00000f94: JUMPI 00000f95: PUSH1 0x00 00000f97: DUP1 00000f98: REVERT 00000f99: JUMPDEST 00000f9a: POP 00000f9b: PUSH1 0x40 00000f9d: MLOAD 00000f9e: SWAP1 00000f9f: DUP1 00000fa0: DUP3 00000fa1: MSTORE 00000fa2: DUP1 00000fa3: PUSH1 0x1f 00000fa5: ADD 00000fa6: PUSH1 0x1f 00000fa8: NOT 00000fa9: AND 00000faa: PUSH1 0x20 00000fac: ADD 00000fad: DUP3 00000fae: ADD 00000faf: PUSH1 0x40 00000fb1: MSTORE 00000fb2: DUP1 00000fb3: ISZERO 00000fb4: PUSH2 0x0fcc 00000fb7: JUMPI 00000fb8: DUP2 00000fb9: PUSH1 0x20 00000fbb: ADD 00000fbc: PUSH1 0x01 00000fbe: DUP3 00000fbf: MUL 00000fc0: DUP1 00000fc1: CALLDATASIZE 00000fc2: DUP4 00000fc3: CALLDATACOPY 00000fc4: DUP1 00000fc5: DUP3 00000fc6: ADD 00000fc7: SWAP2 00000fc8: POP 00000fc9: POP 00000fca: SWAP1 00000fcb: POP 00000fcc: JUMPDEST 00000fcd: POP 00000fce: SWAP1 00000fcf: POP 00000fd0: PUSH1 0x60 00000fd2: DUP2 00000fd3: SWAP1 00000fd4: POP 00000fd5: PUSH1 0x00 00000fd7: DUP1 00000fd8: PUSH1 0x00 00000fda: SWAP2 00000fdb: POP 00000fdc: JUMPDEST 00000fdd: DUP6 00000fde: MLOAD 00000fdf: DUP3 00000fe0: LT 00000fe1: ISZERO 00000fe2: PUSH2 0x104a 00000fe5: JUMPI 00000fe6: DUP6 00000fe7: DUP3 00000fe8: DUP2 00000fe9: MLOAD 00000fea: DUP2 00000feb: LT 00000fec: PUSH2 0x0ff1 00000fef: JUMPI 00000ff0: INVALID 00000ff1: JUMPDEST 00000ff2: PUSH1 0x20 00000ff4: ADD 00000ff5: ADD 00000ff6: MLOAD 00000ff7: PUSH1 0xf8 00000ff9: SHR 00000ffa: PUSH1 0xf8 00000ffc: SHL 00000ffd: DUP4 00000ffe: DUP3 00000fff: DUP1 00001000: PUSH1 0x01 00001002: ADD 00001003: SWAP4 00001004: POP 00001005: DUP2 00001006: MLOAD 00001007: DUP2 00001008: LT 00001009: PUSH2 0x100e 0000100c: JUMPI 0000100d: INVALID 0000100e: JUMPDEST 0000100f: PUSH1 0x20 00001011: ADD 00001012: ADD 00001013: SWAP1 00001014: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001034: NOT 00001035: AND 00001036: SWAP1 00001037: DUP2 00001038: PUSH1 0x00 0000103a: BYTE 0000103b: SWAP1 0000103c: MSTORE8 0000103d: POP 0000103e: DUP2 0000103f: DUP1 00001040: PUSH1 0x01 00001042: ADD 00001043: SWAP3 00001044: POP 00001045: POP 00001046: PUSH2 0x0fdc 00001049: JUMP 0000104a: JUMPDEST 0000104b: PUSH1 0x00 0000104d: SWAP2 0000104e: POP 0000104f: JUMPDEST 00001050: DUP5 00001051: MLOAD 00001052: DUP3 00001053: LT 00001054: ISZERO 00001055: PUSH2 0x10bd 00001058: JUMPI 00001059: DUP5 0000105a: DUP3 0000105b: DUP2 0000105c: MLOAD 0000105d: DUP2 0000105e: LT 0000105f: PUSH2 0x1064 00001062: JUMPI 00001063: INVALID 00001064: JUMPDEST 00001065: PUSH1 0x20 00001067: ADD 00001068: ADD 00001069: MLOAD 0000106a: PUSH1 0xf8 0000106c: SHR 0000106d: PUSH1 0xf8 0000106f: SHL 00001070: DUP4 00001071: DUP3 00001072: DUP1 00001073: PUSH1 0x01 00001075: ADD 00001076: SWAP4 00001077: POP 00001078: DUP2 00001079: MLOAD 0000107a: DUP2 0000107b: LT 0000107c: PUSH2 0x1081 0000107f: JUMPI 00001080: INVALID 00001081: JUMPDEST 00001082: PUSH1 0x20 00001084: ADD 00001085: ADD 00001086: SWAP1 00001087: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000010a7: NOT 000010a8: AND 000010a9: SWAP1 000010aa: DUP2 000010ab: PUSH1 0x00 000010ad: BYTE 000010ae: SWAP1 000010af: MSTORE8 000010b0: POP 000010b1: DUP2 000010b2: DUP1 000010b3: PUSH1 0x01 000010b5: ADD 000010b6: SWAP3 000010b7: POP 000010b8: POP 000010b9: PUSH2 0x104f 000010bc: JUMP 000010bd: JUMPDEST 000010be: DUP3 000010bf: SWAP7 000010c0: POP 000010c1: POP 000010c2: POP 000010c3: POP 000010c4: POP 000010c5: POP 000010c6: POP 000010c7: SWAP3 000010c8: SWAP2 000010c9: POP 000010ca: POP 000010cb: JUMP 000010cc: JUMPDEST 000010cd: PUSH1 0x00 000010cf: PUSH3 0x0753ef 000010d3: SWAP1 000010d4: POP 000010d5: SWAP1 000010d6: JUMP 000010d7: JUMPDEST 000010d8: PUSH1 0x00 000010da: PUSH2 0x60a7 000010dd: SWAP1 000010de: POP 000010df: SWAP1 000010e0: JUMP 000010e1: JUMPDEST 000010e2: PUSH1 0x00 000010e4: PUSH3 0x0c82b4 000010e8: SWAP1 000010e9: POP 000010ea: SWAP1 000010eb: JUMP 000010ec: JUMPDEST 000010ed: PUSH1 0x00 000010ef: DUP2 000010f0: PUSH1 0xff 000010f2: AND 000010f3: PUSH1 0x00 000010f5: GT 000010f6: ISZERO 000010f7: DUP1 000010f8: ISZERO 000010f9: PUSH2 0x1106 000010fc: JUMPI 000010fd: POP 000010fe: PUSH1 0x09 00001100: DUP3 00001101: PUSH1 0xff 00001103: AND 00001104: GT 00001105: ISZERO 00001106: JUMPDEST 00001107: ISZERO 00001108: PUSH2 0x113b 0000110b: JUMPI 0000110c: DUP2 0000110d: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 0000112e: PUSH1 0xf8 00001130: SHR 00001131: ADD 00001132: PUSH1 0xf8 00001134: SHL 00001135: SWAP1 00001136: POP 00001137: PUSH2 0x1190 0000113a: JUMP 0000113b: JUMPDEST 0000113c: DUP2 0000113d: PUSH1 0xff 0000113f: AND 00001140: PUSH1 0x0a 00001142: GT 00001143: ISZERO 00001144: DUP1 00001145: ISZERO 00001146: PUSH2 0x1153 00001149: JUMPI 0000114a: POP 0000114b: PUSH1 0x0f 0000114d: DUP3 0000114e: PUSH1 0xff 00001150: AND 00001151: GT 00001152: ISZERO 00001153: JUMPDEST 00001154: ISZERO 00001155: PUSH2 0x118b 00001158: JUMPI 00001159: PUSH1 0x0a 0000115b: DUP3 0000115c: PUSH32 0x6100000000000000000000000000000000000000000000000000000000000000 0000117d: PUSH1 0xf8 0000117f: SHR 00001180: ADD 00001181: SUB 00001182: PUSH1 0xf8 00001184: SHL 00001185: SWAP1 00001186: POP 00001187: PUSH2 0x1190 0000118a: JUMP 0000118b: JUMPDEST 0000118c: PUSH1 0x00 0000118e: DUP1 0000118f: REVERT 00001190: JUMPDEST 00001191: SWAP2 00001192: SWAP1 00001193: POP 00001194: JUMP 00001195: INVALID 00001196: MSTORE8 00001197: PUSH6 0x6e64696e6720 0000119e: PUSH17 0x726f66697473206261636b20746f20636f 000011b0: PUSH15 0x74726163742063726561746f722061 000011c0: PUSH5 0x6472657373 000011c6: UNKNOWN(0x2E) 000011c7: UNKNOWN(0x2E) 000011c8: UNKNOWN(0x2E) 000011c9: MSTORE 000011ca: PUSH22 0x6e6e696e672046726f6e7452756e2061747461636b20 000011e1: PUSH16 0x6e20556e69737761702e205468697320 000011f2: PUSH4 0x616e2074 000011f7: PUSH2 0x6b65 000011fa: KECCAK256 000011fb: PUSH2 0x2077 000011fe: PUSH9 0x696c6520706c656173 00001208: PUSH6 0x20776169742e 0000120f: UNKNOWN(0x2E) 00001210: UNKNOWN(0x2E) 00001211: LOG2 00001212: PUSH5 0x6970667358 00001218: UNKNOWN(0x22) 00001219: SLT 0000121a: KECCAK256 0000121b: MOD 0000121c: MSIZE 0000121d: GAS 0000121e: PUSH3 0x4aeb2d 00001222: UNKNOWN(0x2A) 00001223: DUP3 00001224: SWAP9 00001225: PUSH3 0xb7e1f6 00001229: UNKNOWN(0xD9) 0000122a: SWAP6 0000122b: UNKNOWN(0xF9) 0000122c: MSIZE 0000122d: SHL 0000122e: DUP13 0000122f: PUSH6 0xe935ea68e222 00001236: UNKNOWN(0x0C) 00001237: UNKNOWN(0xB5) 00001238: UNKNOWN(0xF8) 00001239: PC 0000123a: SWAP4 0000123b: PUSH5 0x736f6c6343 00001241: STOP 00001242: MOD 00001243: UNKNOWN(0x0C) 00001244: STOP 00001245: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | yes | yes |
viewtrace_id: 0x10de810ea2d6763dea1016c5ccec32e0595f83778eff834667ec406d27340020
call_targets:
0x02d0a90886cdb70d3eea4d4ee78be14868022719, 0xde562f80e3340f399fb38a61b6182a130a9a7670
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x10de810ea2d6763dea1016c5ccec32e0595f83778eff834667ec406d27340020",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x02d0a90886cdb70d3eea4d4ee78be14868022719",
"0xde562f80e3340f399fb38a61b6182a130a9a7670"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x1b55ba3a",
"selector": "0x1b55ba3a",
"calldata_variants": [
"0x1b55ba3a",
"0x1b55ba3a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70e44c6a",
"selector": "0x70e44c6a",
"calldata_variants": [
"0x70e44c6a",
"0x70e44c6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbedf0f4a",
"selector": "0xbedf0f4a",
"calldata_variants": [
"0xbedf0f4a",
"0xbedf0f4a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 304,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 459,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 681,
"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 | yes | yes |
viewtrace_id: 0x10de810ea2d6763dea1016c5ccec32e0595f83778eff834667ec406d27340020
call_targets:
0x02d0a90886cdb70d3eea4d4ee78be14868022719, 0xde562f80e3340f399fb38a61b6182a130a9a7670
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "CALL",
"errors": 0,
"status": "confirmed",
"attempts": 1,
"trace_id": "0x10de810ea2d6763dea1016c5ccec32e0595f83778eff834667ec406d27340020",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x02d0a90886cdb70d3eea4d4ee78be14868022719",
"0xde562f80e3340f399fb38a61b6182a130a9a7670"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x1b55ba3a",
"selector": "0x1b55ba3a",
"calldata_variants": [
"0x1b55ba3a",
"0x1b55ba3a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x70e44c6a",
"selector": "0x70e44c6a",
"calldata_variants": [
"0x70e44c6a",
"0x70e44c6a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8da5cb5b",
"selector": "0x8da5cb5b",
"calldata_variants": [
"0x8da5cb5b",
"0x8da5cb5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbedf0f4a",
"selector": "0xbedf0f4a",
"calldata_variants": [
"0xbedf0f4a",
"0xbedf0f4a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 304,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 459,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 681,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 3,
"guards_detected": []
}
|