Function at 0x488710
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 8]
mov dword [ebp - 4], eax
call fcn.0044c900
xor eax, eax
push fcn.00488700
push ebp
push 0x458b20
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 8], 0
cmp dword [ebp - 4], 0
jne 0x48874c
lea eax, [ebp - 4]
mov edx, str.ws2_32.dll
call fcn.0044c930
lea esi, [esi]
mov eax, dword [0x4ea6b0]
call fcn.00488420
xor eax, eax
push fcn.004886f0
push ebp
push 0x458b20
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4ac700], 0
jne 0x488bc2
mov byte [0x4ea6c0], 0
mov byte [0x4ea6d0], 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x488790
mov eax, 0x4e8e00
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x4ac710], eax
test eax, eax
je 0x488bc6
mov eax, str.WSAIoctl
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6f0], eax
mov eax, str.__WSAFDIsSet
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6e0], eax
mov eax, str.closesocket
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac650], eax
mov eax, str.ioctlsocket
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5d0], eax
mov eax, str.WSAGetLastError
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4b0], eax
mov eax, str.WSAStartup
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac490], eax
mov eax, str.WSACleanup
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4a0], eax
mov eax, str.accept
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac670], eax
mov eax, str.bind
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac660], eax
mov eax, str.connect
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac640], eax
mov eax, str.getpeername
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac630], eax
mov eax, str.getsockname
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac620], eax
mov eax, str.getsockopt
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac550], eax
mov eax, str.htonl
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac610], eax
mov eax, str.htons
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac600], eax
mov eax, str.inet_addr
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5f0], eax
mov eax, str.inet_ntoa
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5e0], eax
mov eax, str.listen
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5c0], eax
mov eax, str.ntohl
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5b0], eax
mov eax, str.ntohs
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac5a0], eax
mov eax, str.recv
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac580], eax
mov eax, str.recvfrom
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac590], eax
mov eax, str.select
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac690], eax
mov eax, str.WSAPoll
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6a0], eax
mov eax, str.send
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac570], eax
mov eax, str.sendto
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac560], eax
mov eax, str.setsockopt
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac540], eax
mov eax, str.shutdown
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac530], eax
mov eax, str.socket
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac680], eax
mov eax, str.gethostbyaddr
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac510], eax
mov eax, str.gethostbyname
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac500], eax
mov eax, str.getprotobyname
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4e0], eax
mov eax, str.getprotobynumber
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4f0], eax
mov eax, str.getservbyname
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4c0], eax
mov eax, str.getservbyport
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac4d0], eax
mov eax, str.gethostname
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac520], eax
mov eax, str.getaddrinfo
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6b0], eax
mov eax, str.freeaddrinfo
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6c0], eax
mov eax, str.getnameinfo
push eax
push dword [0x4ac710]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6d0], eax
cmp dword [0x4ac6b0], 0
je 0x488b21
cmp dword [0x4ac6c0], 0
je 0x488b21
cmp dword [0x4ac6d0], 0
je 0x488b21
mov byte [0x4ea6c0], 1
jmp 0x488b28
mov byte [0x4ea6c0], 0
cmp byte [0x4ea6c0], 0
jne 0x488bbc
mov eax, str.wship6.dll
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x4ac720], eax
test eax, eax
je 0x488bbc
mov eax, str.getaddrinfo
push eax
push dword [0x4ac720]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6b0], eax
mov eax, str.freeaddrinfo
push eax
push dword [0x4ac720]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6c0], eax
mov eax, str.getnameinfo
push eax
push dword [0x4ac720]
call sub.kernel32.dll_GetProcAddress
mov dword [0x4ac6d0], eax
cmp dword [0x4ac6b0], 0
je 0x488bb3
cmp dword [0x4ac6c0], 0
je 0x488bb3
cmp dword [0x4ac6d0], 0
je 0x488bb3
mov byte [0x4ea6d0], 1
jmp 0x488bba
mov byte [0x4ea6d0], 0
mov esi, esi
mov byte [ebp - 8], 1
jmp 0x488bc6
mov byte [ebp - 8], 1
cmp byte [ebp - 8], 0
je 0x488bd4
add dword [0x4ac700], 1
nop
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.004886f0
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.00488700
mov al, byte [ebp - 8]
mov esp, ebp
pop ebp
ret