Function at 0x977de0
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
mov ebx, ecx
mov dword [0xc242fc], 0
mov dword [0xc24300], 0
push str.WS2_32.DLL
call fcn.00979900
add esp, 4
mov esi, 0xffffffff
test eax, eax
mov dword [0xc24364], eax
je 0x97822f
push str.WSAStartup
push eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24304], eax
je 0x978216
push str.WSACleanup
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24308], eax
je 0x978216
push str.socket
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2431c], eax
je 0x978216
push str.sendto
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24348], eax
je 0x978216
push str.select
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24354], eax
je 0x978216
push str.recvfrom
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24344], eax
je 0x978216
push str.send
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24340], eax
je 0x978216
push str.recv
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2433c], eax
je 0x978216
push str.bind
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24314], eax
je 0x978216
push str.getsockname
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2432c], eax
je 0x978216
push str.shutdown
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24350], eax
je 0x978216
push str.closesocket
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2434c], eax
je 0x978216
push str.setsockopt
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24320], eax
je 0x978216
push str.getsockopt
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24334], eax
je 0x978216
push str.ioctlsocket
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24368], eax
je 0x978216
push str.WSAGetLastError
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2436c], eax
je 0x978216
push str.WSASetLastError
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24370], eax
je 0x978216
push str.connect
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24328], eax
je 0x978216
push str.accept
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24338], eax
je 0x978216
push str.listen
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24318], eax
je 0x978216
push str.getpeername
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24330], eax
je 0x978216
push str.getprotobyname
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24374], eax
je 0x978216
push str.gethostname
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24378], eax
je 0x978216
push str.gethostbyname
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2437c], eax
je 0x978216
push str.gethostbyaddr
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24380], eax
je 0x978216
push str.getservbyname
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24384], eax
je 0x978216
push str.htonl
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24388], eax
je 0x978216
push str.htons
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2430c], eax
je 0x978216
push str.ntohl
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2438c], eax
je 0x978216
push str.ntohs
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24310], eax
je 0x978216
push str.__WSAFDIsSet
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24358], eax
je 0x978216
push str.WSAStringToAddressA
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24324], eax
je 0x978216
push str.WSAAddressToStringA
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc2435c], eax
je 0x978216
push str.getaddrinfo
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24390], eax
je 0x978216
push str.freeaddrinfo
push dword [0xc24364]
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov dword [0xc24360], eax
je 0x978216
xor esi, esi
test bl, 2
mov dword [0xc242fc], 1
je 0x97822f
mov dword [0xc24300], 1
jmp 0x97822f
mov eax, dword [0xc24364]
test eax, eax
je 0x97822f
push eax
call sub.KERNEL32.dll_FreeLibrary
mov dword [0xc24364], 0
mov eax, esi
pop esi
pop ebx
ret