REDIVIVUS

Proposals / #1072

Model SCmdGetBool's complete EAX Boolean return

checked · by Commit-Will · submitted 2026-11-02

Win006c4f90 currently returns Ghidra bool(1B), but every normal result is fully defined across EAX by NEG/SBB/NEG, exactly0 or1 for any producer DWORD. Apply the project's explicit return-too-narrow model policy using existing BOOL(4B/int), preserving int nCmdId, Stack4:4, stdcall, RET4, arity/noVarArgs and locals. The complete actual SCmdGetNum producer returns a full DWORD or zero and receives the unchanged command ID. Fresh expected-SHA originalPE/rawDB/separateASM closes both bodies86 ownedB/36instructions over92 physicalB, with6 unowned alignment bytes excluded. Recorded incoming refs are empty: this is an API-only project-width-model correction, with no observed caller splice/high-bit loss, original typedef/API-export, initialized-list/valid-node/termination, runtime/build/matching or deployed-model guarantee. Any refusal holds the whole claim; no alias/input/name/ABI fallback.

Changes 1, applied together

  1. Set prototype win 0x006c4f90

    signaturebool SCmdGetBool(int nCmdId)→BOOL SCmdGetBool(int nCmdId)
    convention__stdcall