BigBuffer_IsOdd returns BOOL, not void
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
Set prototype
win 0x00422710signaturevoid BigBuffer_IsOdd(BigBuffer * pBignum)→BOOL BigBuffer_IsOdd(BigBuffer * pBignum)convention__cdecl