Mac COMCALLBACK_RemoveUserFromChannelList: BOOL __cdecl (dwCbArg1, dwCbArg2, char* szUsername, char* szText)
This is entry [3] of the COMCALLBACK dispatch table at 0x003ce678 (0x003ce684 holds 0x002d5a7a). Its siblings are typed BOOL __cdecl (uint32_t, uint32_t, char*, char*), e.g. COMCALLBACK_HandleChannelJoin [9]. The body reads [EBP+0x10] (the username, passed as EDX to COMCALLBACK_CompareUserNames at 0x002d5abd while walking the user list) and returns MOV EAX,1 with a plain RET. The callback type passes four args, so all four slots are kept.
Changes 1, applied together
Set prototype
mac 0x002d5a7asignatureundefined4 COMCALLBACK_RemoveUserFromChannelList(void)→BOOL COMCALLBACK_RemoveUserFromChannelList(uint32_t dwCbArg1, uint32_t dwCbArg2, char* szUsername, char* szText)convention__cdecl