Function at 0x467170
Capabilities:
Link many functions at runtime

Disassembly:
push esi
push str.ws2_32.dll
call fcn.00466b09
add esp, 4
test eax, eax
mov dword [0x4b9ba4], eax
mov dword [0x4b9ba8], eax
jne 0x4671a6
push str.wsock32.dll
call fcn.00466b09
add esp, 4
test eax, eax
mov dword [0x4b9ba4], eax
je 0x46782e
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x46722d
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x46728a
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bac], eax
test ecx, ecx
je 0x467294
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 0x4672ca
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bb4], eax
test ecx, ecx
je 0x4672ca
push str.gai_strerror
push ecx
jmp 0x4672c2
push str.wship6.dll
call fcn.00466b09
add esp, 4
test eax, eax
mov dword [0x4b9bbc], eax
je 0x4672d0
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4b9bac], eax
mov eax, dword [0x4b9bbc]
test eax, eax
je 0x4672a2
push str.freeaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9bbc]
mov dword [0x4b9bb0], eax
test ecx, ecx
je 0x4672ac
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4672ae
mov dword [0x4b9bac], 0
mov dword [0x4b9bb0], 0
xor esi, esi
jmp 0x4672ca
mov dword [0x4b9bb0], 0
xor eax, eax
mov dword [0x4b9bb4], eax
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x46729e
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 0x4672e7
push str.WSAAddressToStringA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4672e9
xor eax, eax
mov dword [0x4b9bc0], eax
mov eax, dword [0x4b9ba4]
test eax, eax
je 0x46768f
push str.WSAAsyncSelect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b8698], eax
test ecx, ecx
je 0x467699
push str.WSAEventSelect
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b92ec], eax
test ecx, ecx
je 0x4676a3
push 0x49e615
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4ba280], eax
test ecx, ecx
je 0x4676ad
push str.WSAGetLastError
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b869c], eax
test ecx, ecx
je 0x4676b7
push str.WSAEnumNetworkEvents
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b92f0], eax
test ecx, ecx
je 0x4676c1
push str.WSAStartup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bc4], eax
test ecx, ecx
je 0x4676cb
push str.WSACleanup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bc8], eax
test ecx, ecx
je 0x4676d5
push str.closesocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bcc], eax
test ecx, ecx
je 0x4676df
push str.ntohl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd0], eax
test ecx, ecx
je 0x4676e9
push str.htonl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd4], eax
test ecx, ecx
je 0x4676f3
push str.htons
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bd8], eax
test ecx, ecx
je 0x4676fd
push str.ntohs
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bdc], eax
test ecx, ecx
je 0x467707
push str.gethostname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be0], eax
test ecx, ecx
je 0x467711
push str.gethostbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be4], eax
test ecx, ecx
je 0x46771b
push str.getservbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9be8], eax
test ecx, ecx
je 0x467725
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 0x46772f
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 0x467739
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 0x467743
push 0x49e5f3
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bf8], eax
test ecx, ecx
je 0x46774d
push str.bind
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9bfc], eax
test ecx, ecx
je 0x467757
push str.setsockopt
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c00], eax
test ecx, ecx
je 0x467761
push 0x49e3cd
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c04], eax
test ecx, ecx
je 0x46776b
push str.listen
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c08], eax
test ecx, ecx
je 0x467775
push str.send
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c0c], eax
test ecx, ecx
je 0x46777f
push 0x4a1091
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c10], eax
test ecx, ecx
je 0x467789
push str.ioctlsocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c14], eax
test ecx, ecx
je 0x467793
push str.accept
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c18], eax
test ecx, ecx
je 0x46779d
push str.getpeername
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c1c], eax
test ecx, ecx
je 0x467816
push str.recv
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4b9ba4]
mov dword [0x4b9c20], eax
test ecx, ecx
je 0x467820
push str.WSAIoctl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4677a9
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 0x4677cb
cmp byte [0x4b9c2c], 2
je 0x467802
push 0x4b9c2c
push 2
call dword [0x4b9bc4]
test eax, eax
jne 0x4677e5
cmp byte [0x4b9c2c], 2
je 0x467802
push 0x4b9c2c
push 0x101
call dword [0x4b9bc4]
test eax, eax
jne 0x467824
cmp byte [0x4b9c2c], 1
jne 0x467824
push 0x467838
call fcn.00454108
add esp, 4
mov dword [0x4b9c28], eax
pop esi
ret
mov dword [0x4b9c20], 0
xor eax, eax
jmp 0x4677a9
push str.Unable_to_initialise_WinSock
call fcn.0045cd1a
push str.Unable_to_load_any_WinSock_library
call fcn.0045cd1a
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 0x467862
cmp esi, edi
jbe 0x467858
xor eax, eax
inc eax
jmp 0x467862
cmp edx, ecx
jb 0x467862
seta al
movzx eax, al
pop esi
pop edi
ret