Function at 0x48fa98
Capabilities:
Link many functions at runtime

Disassembly:
push str.ws2_32.dll
call fcn.0048f6f9
add esp, 4
test eax, eax
mov dword [0x42998c], eax
mov dword [0x429990], eax
jne 0x48fadb
push str.wsock32.dll
call fcn.0048f6f9
add esp, 4
test eax, eax
mov dword [0x42998c], eax
jne 0x48fadb
push str.Unable_to_load_any_WinSock_library
call fcn.0048cc18
add esp, 4
mov eax, dword [0x42998c]
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x48fb60
mov eax, dword [0x42998c]
test eax, eax
je 0x48fbbd
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x429994], eax
test ecx, ecx
je 0x48fbc7
push str.freeaddrinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x429998], eax
test ecx, ecx
je 0x48fbd5
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x42999c], eax
test ecx, ecx
je 0x48fc09
push str.gai_strerror
push ecx
jmp 0x48fc01
push str.wship6.dll
call fcn.0048f6f9
add esp, 4
test eax, eax
mov dword [0x4299a4], eax
je 0x48fc10
push str.getaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x429994], eax
mov eax, dword [0x4299a4]
test eax, eax
je 0x48fbe1
push str.freeaddrinfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4299a4]
mov dword [0x429998], eax
test ecx, ecx
je 0x48fbeb
push str.getnameinfo
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x48fbed
mov dword [0x429994], 0
xor eax, eax
mov dword [0x429998], eax
mov dword [0x42999c], eax
jmp 0x48fc0b
mov dword [0x42999c], 0
jmp 0x48fc09
mov dword [0x429998], 0
xor eax, eax
mov dword [0x42999c], eax
mov eax, dword [0x42998c]
test eax, eax
je 0x48fc09
push str.gai_strerror
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x48fc0b
xor eax, eax
mov dword [0x4299a0], eax
mov eax, dword [0x429990]
test eax, eax
je 0x48fc27
push str.WSAAddressToStringA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x48fc29
xor eax, eax
mov dword [0x4299a8], eax
mov eax, dword [0x42998c]
test eax, eax
je 0x48ffcf
push str.WSAAsyncSelect
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x428ed8], eax
test ecx, ecx
je 0x48ffd9
push str.WSAEventSelect
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x428ee0], eax
test ecx, ecx
je 0x48ffe3
push str.select
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x429ee4], eax
test ecx, ecx
je 0x48ffed
push str.WSAGetLastError
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x428edc], eax
test ecx, ecx
je 0x48fff7
push str.WSAEnumNetworkEvents
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x428ee4], eax
test ecx, ecx
je 0x490001
push str.WSAStartup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4297f8], eax
test ecx, ecx
je 0x49000b
push str.WSACleanup
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299ac], eax
test ecx, ecx
je 0x490015
push str.closesocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299b0], eax
test ecx, ecx
je 0x49001f
push str.ntohl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299b4], eax
test ecx, ecx
je 0x490029
push str.htonl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299b8], eax
test ecx, ecx
je 0x490033
push str.htons
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299bc], eax
test ecx, ecx
je 0x49003d
push str.ntohs
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299c0], eax
test ecx, ecx
je 0x490047
push str.gethostname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299c4], eax
test ecx, ecx
je 0x490051
push str.gethostbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299c8], eax
test ecx, ecx
je 0x49005b
push str.getservbyname
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299cc], eax
test ecx, ecx
je 0x490065
push str.inet_addr
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299d0], eax
test ecx, ecx
je 0x49006f
push str.inet_ntoa
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299d4], eax
test ecx, ecx
je 0x490079
push str.inet_ntop
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299d8], eax
test ecx, ecx
je 0x490083
push str.connect
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299dc], eax
test ecx, ecx
je 0x49008d
push str.bind
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299e0], eax
test ecx, ecx
je 0x490097
push str.setsockopt
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299e4], eax
test ecx, ecx
je 0x4900a1
push str.socket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299e8], eax
test ecx, ecx
je 0x4900ab
push str.listen
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299ec], eax
test ecx, ecx
je 0x4900b5
push str.send
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299f0], eax
test ecx, ecx
je 0x4900bf
push str.shutdown
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299f4], eax
test ecx, ecx
je 0x4900c9
push str.ioctlsocket
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299f8], eax
test ecx, ecx
je 0x4900d3
push str.accept
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x4299fc], eax
test ecx, ecx
je 0x4900dd
push str.getpeername
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x429a00], eax
test ecx, ecx
je 0x490162
push str.recv
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x42998c]
mov dword [0x429a04], eax
test ecx, ecx
je 0x49016c
push str.WSAIoctl
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x4900e9
mov dword [0x428ed8], 0
mov dword [0x428ee0], 0
mov dword [0x429ee4], 0
mov dword [0x428edc], 0
mov dword [0x428ee4], 0
mov dword [0x4297f8], 0
mov dword [0x4299ac], 0
mov dword [0x4299b0], 0
mov dword [0x4299b4], 0
mov dword [0x4299b8], 0
mov dword [0x4299bc], 0
mov dword [0x4299c0], 0
mov dword [0x4299c4], 0
mov dword [0x4299c8], 0
mov dword [0x4299cc], 0
mov dword [0x4299d0], 0
mov dword [0x4299d4], 0
mov dword [0x4299d8], 0
mov dword [0x4299dc], 0
mov dword [0x4299e0], 0
mov dword [0x4299e4], 0
mov dword [0x4299e8], 0
mov dword [0x4299ec], 0
mov dword [0x4299f0], 0
mov dword [0x4299f4], 0
mov dword [0x4299f8], 0
mov dword [0x4299fc], 0
xor eax, eax
mov dword [0x429a00], eax
mov dword [0x429a04], eax
mov dword [0x429a08], eax
push 0x4297fc
push 0x202
call dword [0x4297f8]
test eax, eax
jne 0x49010b
cmp byte [0x4297fc], 2
je 0x49014f
push 0x4297fc
push 2
call dword [0x4297f8]
test eax, eax
jne 0x490125
cmp byte [0x4297fc], 2
je 0x49014f
push 0x4297fc
push 0x101
call dword [0x4297f8]
test eax, eax
jne 0x490142
cmp byte [0x4297fc], 1
je 0x49014f
push str.Unable_to_initialise_WinSock
call fcn.0048cc18
add esp, 4
push 0x490173
call fcn.0047dc24
add esp, 4
mov dword [0x429a0c], eax
ret
mov dword [0x429a04], 0
xor eax, eax
jmp 0x4900e9