There are two core problems with the previously released versions of WSHELP32.DLL. First, the implementation always uses TCP connections instead of UDP for DNS queries. Second, only one query is sent at a time. The end result is that a bad NameServer address will cause the process to block for an extended period of time. I have modified the code to use UDP instead of TCP by default and to send queries to all servers simultaneously and wait for the first response. The code already supported the ability to discard responses from previous queries.