REDIVIVUS

Proposals / #991

Recover the Mac bank-range predicate inputs and full Boolean result

applied · by Commit-Will · submitted 2026-11-02, applied 2026-11-02

Ghidra vmac 111 · 3cfe190

The Mac helper declares undefined(void)/unknown but consumes full incoming ECX/EDX as two signed32 coordinates and returns fullEAX0/1. Both registers are captured before the first real call. Five complete caller functions contain six actual calls; every site supplies X inECX andY inEDX and tests fullEAX. Recover existing int32_t nX/nY and4-byte BOOL using supported Mac __fastcc ECX/EDX model. Preserve selected function/local names; no chosen parameter or pParam is replaced. Complete target/five callers/three native scalar sources total5633code bytes plus16switch bytes independently match separate bounded assembly. Every input route, return, preservation/stack fact and computed jump checked. No RET-only arity inference or return-only fallback. No pointer/POINT/union/global/layout/caller/held-source edits, Windows ABI import/runtime/build gain or reduced withdrawn-claim refile.

Changes 1, applied together

  1. Set prototype mac 0x000b5bf7

    signatureundefined IsInBankPageScreenRange(void)→BOOL IsInBankPageScreenRange(int32_t nX, int32_t nY)
    conventionunknown→__fastcc