Function at 0x589880
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 8]
mov dword [ebp - 4], eax
call fcn.00408a20
xor eax, eax
push fcn.00589870
push ebp
push 0x4141b0
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 8], 0
mov byte [0x632310], 0
cmp dword [ebp - 4], 0
jne 0x5898c0
lea eax, [ebp - 4]
mov edx, str.ws2_32.dll
call fcn.00408a50
mov eax, dword [0x632300]
call fcn.004d5360
xor eax, eax
push fcn.00589860
push ebp
push 0x4141b0
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5b48a0], 0
jne 0x589d1e
mov byte [0x632310], 0
mov byte [0x632320], 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x589904
mov eax, 0x62d2f0
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x5b48b0], eax
test eax, eax
je 0x589d22
mov eax, str.WSAIoctl
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4890], eax
mov eax, str.__WSAFDIsSet
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4880], eax
mov eax, str.closesocket
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4800], eax
mov eax, str.ioctlsocket
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4780], eax
mov eax, str.WSAGetLastError
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4660], eax
mov eax, str.WSAStartup
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4640], eax
mov eax, str.WSACleanup
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4650], eax
mov eax, str.accept
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4820], eax
mov eax, str.bind
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4810], eax
mov eax, str.connect
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47f0], eax
mov eax, str.getpeername
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47e0], eax
mov eax, str.getsockname
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47d0], eax
mov eax, str.getsockopt
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4700], eax
mov eax, str.htonl
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47c0], eax
mov eax, str.htons
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47b0], eax
mov eax, str.inet_addr
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b47a0], eax
mov eax, str.inet_ntoa
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4790], eax
mov eax, str.listen
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4770], eax
mov eax, str.ntohl
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4760], eax
mov eax, str.ntohs
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4750], eax
mov eax, str.recv
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4730], eax
mov eax, str.recvfrom
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4740], eax
mov eax, str.select
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4840], eax
mov eax, str.send
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4720], eax
mov eax, str.sendto
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4710], eax
mov eax, str.setsockopt
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46f0], eax
mov eax, str.shutdown
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46e0], eax
mov eax, str.socket
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4830], eax
mov eax, str.gethostbyaddr
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46c0], eax
mov eax, str.gethostbyname
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46b0], eax
mov eax, str.getprotobyname
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4690], eax
mov eax, str.getprotobynumber
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46a0], eax
mov eax, str.getservbyname
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4670], eax
mov eax, str.getservbyport
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4680], eax
mov eax, str.gethostname
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b46d0], eax
mov eax, str.getaddrinfo
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4850], eax
mov eax, str.freeaddrinfo
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4860], eax
mov eax, str.getnameinfo
push eax
push dword [0x5b48b0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4870], eax
cmp dword [0x5b4850], 0
je 0x589c7f
cmp dword [0x5b4860], 0
je 0x589c7f
cmp dword [0x5b4870], 0
je 0x589c7f
mov byte [0x632310], 1
jmp 0x589c86
mov byte [0x632310], 0
cmp byte [0x632310], 0
jne 0x589d18
mov eax, str.wship6.dll
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [0x5b48c0], eax
test eax, eax
je 0x589d18
mov eax, str.getaddrinfo
push eax
push dword [0x5b48c0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4850], eax
mov eax, str.freeaddrinfo
push eax
push dword [0x5b48c0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4860], eax
mov eax, str.getnameinfo
push eax
push dword [0x5b48c0]
call sub.kernel32.dll_GetProcAddress
mov dword [0x5b4870], eax
cmp dword [0x5b4850], 0
je 0x589d11
cmp dword [0x5b4860], 0
je 0x589d11
cmp dword [0x5b4870], 0
je 0x589d11
mov byte [0x632320], 1
jmp 0x589d18
mov byte [0x632320], 0
mov byte [ebp - 8], 1
jmp 0x589d22
mov byte [ebp - 8], 1
cmp byte [ebp - 8], 0
je 0x589d30
add dword [0x5b48a0], 1
nop
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.00589860
xor eax, eax
pop edx
add esp, 0xc
mov dword fs:[eax], edx
mov eax, ebp
call fcn.00589870
mov al, byte [ebp - 8]
mov esp, ebp
pop ebp
ret