Function at 0x7c6190
Capabilities:
Link many functions at runtime

Disassembly:
push esi
sub esp, 0x198
mov dword [0x81aa4c], 0
mov dword [0x81aa50], 0
mov byte [0x81aa54], 0
mov dword [esp + 4], str.WIN32
mov dword [esp], 0x81aa54
call fcn.007cd640
mov dword [esp + 4], str.OEF_NET_ALLOW_IPV6
mov dword [esp], 0x81aa54
call fcn.007cd640
mov dword [0x81aa4c], 0
mov dword [0x81aa50], 0
mov dword [esp], str.WS2_32.DLL
call fcn.007c60a0
mov dword [0x81b4ac], eax
mov esi, 0xffffffff
test eax, eax
je 0x7c67af
mov dword [esp], eax
mov dword [esp + 4], str.WSAStartup
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab54], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.WSACleanup
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab58], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.socket
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab6c], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.sendto
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab98], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.select
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81aba4], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.recvfrom
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab94], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.send
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab90], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.recv
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab8c], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.bind
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab64], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getsockname
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab7c], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.shutdown
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab9c], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.closesocket
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81aba0], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.setsockopt
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab70], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getsockopt
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab84], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.ioctlsocket
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4b0], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.WSAGetLastError
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4b4], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.WSASetLastError
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4b8], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.connect
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab78], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.accept
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab88], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.listen
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab68], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getpeername
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab80], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getprotobyname
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4bc], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.gethostname
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4c0], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.gethostbyname
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4c4], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.gethostbyaddr
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4c8], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getservbyname
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4cc], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.inet_addr
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4d0], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.inet_ntoa
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4d4], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.htonl
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4d8], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.htons
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab5c], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.ntohl
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4dc], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.ntohs
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab60], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.__WSAFDIsSet
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81aba8], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.WSAStringToAddressA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81ab74], eax
test eax, eax
je 0x7c6791
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.WSAAddressToStringA
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4a8], eax
test eax, eax
je 0x7c6791
mov eax, dword [esp + 0x1a0]
mov dword [0x81aa4c], 1
test al, 2
je 0x7c6773
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.getaddrinfo
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4e0], eax
test eax, eax
je 0x7c6773
mov eax, dword [0x81b4ac]
mov dword [esp], eax
mov dword [esp + 4], str.freeaddrinfo
call sub.KERNEL32.dll_GetProcAddress
sub esp, 8
mov dword [0x81b4e4], eax
test eax, eax
je 0x7c6773
mov dword [0x81aa50], 1
lea eax, [esp + 8]
mov dword [esp + 4], eax
mov dword [esp], 2
call dword [0x81ab54]
sub esp, 8
neg eax
sbb esi, esi
jmp 0x7c67af
mov eax, dword [0x81b4ac]
test eax, eax
je 0x7c67af
mov dword [esp], eax
call sub.KERNEL32.dll_FreeLibrary
sub esp, 4
mov dword [0x81b4ac], 0
mov eax, esi
add esp, 0x198
pop esi
ret