REDIVIVUS

Proposals / #1015

BigBuffer_IsOdd returns BOOL, not void

applied · by Nugwa628 · submitted 2026-11-02, applied 2026-11-02

Ghidra v1846 · 842c624

00422734 TEST AL,1 / 00422736 JE 0x0042273e / 00422738 MOV EAX,1 / 0042273d RET returns 1 when the low word is odd; 0042273e XOR EAX,EAX / 00422740 RET returns 0. The one caller returns this value: 004238f7 CALL 0x00422710 / 004238fc POP ESI / 004238fd POP EBP / 004238fe RET 4 with nothing written to EAX in between (SBigIsOdd passes it through), so the BOOL is used. Return type only; parameter storage unchanged. Recompiled with VC8, 00422710 then matches byte for byte.

Changes 1, applied together

  1. Set prototype win 0x00422710

    signaturevoid BigBuffer_IsOdd(BigBuffer * pBignum)→BOOL BigBuffer_IsOdd(BigBuffer * pBignum)
    convention__cdecl