https://bugs.winehq.org/show_bug.cgi?id=45948
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- I've had some considerable difficulty finding out what's going wrong. GQCSEx() is returning success (or timing out, as appropriate), which really leads me to believe that something else is broken about this code path, but what that is isn't obvious. The thread using GQCSEx() is using WSARecv() to get data from a socket which is probably authentication-related. I can pinpoint about where the data received starts to diverge in the Good case and the Bad case, but the thread certainly never hangs, or shows any other suspicious behaviour related to GQCSEx(), in the latter.
I'll keep digging, but maybe if someone who is more familiar with winsock could take a look and see if they find any red flags, that'd be appreciated.