Function at 0x467c38
Capabilities:
Link many functions at runtime

Disassembly:
push esi
push str.ws2_32.dll
call fcn.004675ca
add esp, 4
test eax, eax
mov dword [0x4b9ba4], eax
mov dword [0x4b9ba8], eax
jne 0x467c6e
push str.wsock32.dll
call fcn.004675ca
add esp, 4
test eax, eax
mov dword [0x4b9ba4], eax
je 0x4682f6
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test eax, eax
je 0x467cf5
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x467d52
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bac], eax
test ecx, ecx
je 0x467d5c
push str.freeaddrinfo
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
xor esi, esi
mov dword [0x4b9bb0], eax
test ecx, ecx
je 0x467d92
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bb4], eax
test ecx, ecx
je 0x467d92
push str.gai_strerror
push ecx
jmp 0x467d8a
push str.wship6.dll
call fcn.004675ca
add esp, 4
test eax, eax
mov dword [0x4b9bbc], eax
je 0x467d98
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [0x4b9bac], eax
mov eax, dword [0x4b9bbc]
test eax, eax
je 0x467d6a
push str.freeaddrinfo
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9bbc]
mov dword [0x4b9bb0], eax
test ecx, ecx
je 0x467d74
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x467d76
mov dword [0x4b9bac], 0
mov dword [0x4b9bb0], 0
xor esi, esi
jmp 0x467d92
mov dword [0x4b9bb0], 0
xor eax, eax
mov dword [0x4b9bb4], eax
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x467d66
push str.gai_strerror
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov esi, eax
mov dword [0x4b9bb8], esi
mov eax, dword [0x4b9ba8]
test eax, eax
je 0x467daf
push str.WSAAddressToStringA
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x467db1
xor eax, eax
mov dword [0x4b9bc0], eax
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x468157
push str.WSAAsyncSelect
push eax
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b8698], eax
test ecx, ecx
je 0x468161
push str.WSAEventSelect
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b92ec], eax
test ecx, ecx
je 0x46816b
push 0x49f3f8
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4ba280], eax
test ecx, ecx
je 0x468175
push str.WSAGetLastError
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b869c], eax
test ecx, ecx
je 0x46817f
push str.WSAEnumNetworkEvents
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b92f0], eax
test ecx, ecx
je 0x468189
push str.WSAStartup
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bc4], eax
test ecx, ecx
je 0x468193
push str.WSACleanup
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bc8], eax
test ecx, ecx
je 0x46819d
push str.closesocket
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bcc], eax
test ecx, ecx
je 0x4681a7
push str.ntohl
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd0], eax
test ecx, ecx
je 0x4681b1
push str.htonl
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd4], eax
test ecx, ecx
je 0x4681bb
push str.htons
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd8], eax
test ecx, ecx
je 0x4681c5
push str.ntohs
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bdc], eax
test ecx, ecx
je 0x4681cf
push str.gethostname
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be0], eax
test ecx, ecx
je 0x4681d9
push str.gethostbyname
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be4], eax
test ecx, ecx
je 0x4681e3
push str.getservbyname
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be8], eax
test ecx, ecx
je 0x4681ed
push str.inet_addr
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bec], eax
test ecx, ecx
je 0x4681f7
push str.inet_ntoa
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bf0], eax
test ecx, ecx
je 0x468201
push str.inet_ntop
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bf4], eax
test ecx, ecx
je 0x46820b
push 0x49f3e5
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bf8], eax
test ecx, ecx
je 0x468215
push str.bind
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bfc], eax
test ecx, ecx
je 0x46821f
push str.setsockopt
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c00], eax
test ecx, ecx
je 0x468229
push 0x49f184
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c04], eax
test ecx, ecx
je 0x468233
push str.listen
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c08], eax
test ecx, ecx
je 0x46823d
push str.send
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c0c], eax
test ecx, ecx
je 0x468247
push 0x4a1bd2
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c10], eax
test ecx, ecx
je 0x468251
push str.ioctlsocket
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c14], eax
test ecx, ecx
je 0x46825b
push str.accept
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c18], eax
test ecx, ecx
je 0x468265
push str.getpeername
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c1c], eax
test ecx, ecx
je 0x4682de
push str.recv
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c20], eax
test ecx, ecx
je 0x4682e8
push str.WSAIoctl
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x468271
mov dword [0x4b8698], 0
mov dword [0x4b92ec], 0
mov dword [0x4ba280], 0
mov dword [0x4b869c], 0
mov dword [0x4b92f0], 0
mov dword [0x4b9bc4], 0
mov dword [0x4b9bc8], 0
mov dword [0x4b9bcc], 0
mov dword [0x4b9bd0], 0
mov dword [0x4b9bd4], 0
mov dword [0x4b9bd8], 0
mov dword [0x4b9bdc], 0
mov dword [0x4b9be0], 0
mov dword [0x4b9be4], 0
mov dword [0x4b9be8], 0
mov dword [0x4b9bec], 0
mov dword [0x4b9bf0], 0
mov dword [0x4b9bf4], 0
mov dword [0x4b9bf8], 0
mov dword [0x4b9bfc], 0
mov dword [0x4b9c00], 0
mov dword [0x4b9c04], 0
mov dword [0x4b9c08], 0
mov dword [0x4b9c0c], 0
mov dword [0x4b9c10], 0
mov dword [0x4b9c14], 0
mov dword [0x4b9c18], 0
xor eax, eax
mov dword [0x4b9c1c], eax
mov dword [0x4b9c20], eax
mov dword [0x4b9c24], eax
push 0x4b9c2c
push 0x202
call dword [0x4b9bc4]
test eax, eax
jne 0x468293
cmp byte [0x4b9c2c], 2
je 0x4682ca
push 0x4b9c2c
push 2
call dword [0x4b9bc4]
test eax, eax
jne 0x4682ad
cmp byte [0x4b9c2c], 2
je 0x4682ca
push 0x4b9c2c
push 0x101
call dword [0x4b9bc4]
test eax, eax
jne 0x4682ec
cmp byte [0x4b9c2c], 1
jne 0x4682ec
push 0x468300
call fcn.00454bc0
add esp, 4
mov dword [0x4b9c28], eax
pop esi
ret
mov dword [0x4b9c20], 0
xor eax, eax
jmp 0x468271
push str.Unable_to_initialise_WinSock
call fcn.0045d80f
push str.Unable_to_load_any_WinSock_library
call fcn.0045d80f
push edi
push esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
xor eax, eax
dec eax
mov esi, dword [edx + 4]
mov edi, dword [ecx + 4]
cmp esi, edi
jb 0x46832a
cmp esi, edi
jbe 0x468320
xor eax, eax
inc eax
jmp 0x46832a
cmp edx, ecx
jb 0x46832a
seta al
movzx eax, al
pop esi
pop edi
ret