MAINMENU_IsValidEmailAddress: bIsValidEmail is a BOOL, not bool
The local at [EBP-4] (Stack[-0x8]) is written and read as a dword: 00436c22 and 00436c5d store dword 0 and 1 to [EBP-4], and 00436c65 MOV EAX,[EBP-4] returns it as the function's BOOL result. The callers test the full EAX right after the call (00437231 CALL then 00437236; 0043725d CALL then 00437262; 0043766c CALL then 00437671). No other local shares the slot. Recompiled with VC8, 00436c10 then matches byte for byte.
Changes 1, applied together
Retype variable
win 0x00436c10 Stack[-0x8]typebool→BOOL