Function at 0x14009f9f4
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
lea rcx, str.ws2_32.dll
call fcn.14009f5be
mov qword [0x14002be60], rax
mov qword [0x14002be68], rax
test rax, rax
jne 0x14009fa42
lea rcx, str.wsock32.dll
call fcn.14009f5be
mov qword [0x14002be60], rax
test rax, rax
jne 0x14009fa42
lea rcx, str.Unable_to_load_any_WinSock_library
call fcn.14009c2da
mov rax, qword [0x14002be60]
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14009facf
mov rcx, qword [0x14002be60]
test rcx, rcx
je 0x14009fb3d
lea rdx, str.getaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002be70], rax
test rcx, rcx
je 0x14009fb48
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002be78], rax
test rcx, rcx
je 0x14009fb5a
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002be80], rax
jmp 0x14009fb82
lea rcx, str.wship6.dll
call fcn.14009f5be
mov qword [0x14002be90], rax
test rax, rax
je 0x14009fb9f
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14002be70], rax
mov rcx, qword [0x14002be90]
test rcx, rcx
je 0x14009fb67
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be90]
mov qword [0x14002be78], rax
test rcx, rcx
je 0x14009fb72
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14009fb74
mov qword [0x14002be70], 0
xor eax, eax
mov qword [0x14002be78], rax
mov qword [0x14002be80], rax
jmp 0x14009fb98
mov qword [0x14002be80], 0
jmp 0x14009fb96
mov qword [0x14002be78], 0
xor eax, eax
mov qword [0x14002be80], rax
mov rcx, qword [0x14002be60]
test rcx, rcx
je 0x14009fb96
lea rdx, str.gai_strerror
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14009fb98
xor eax, eax
mov qword [0x14002be88], rax
mov rcx, qword [0x14002be68]
test rcx, rcx
je 0x14009fbba
lea rdx, str.WSAAddressToStringA
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14009fbbc
xor eax, eax
mov qword [0x14002be98], rax
mov rcx, qword [0x14002be60]
test rcx, rcx
je 0x14009fff9
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002b300], rax
test rcx, rcx
je 0x1400a0004
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002b310], rax
test rcx, rcx
je 0x1400a000f
lea rdx, str.select
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002c440], rax
test rcx, rcx
je 0x1400a001a
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002b308], rax
test rcx, rcx
je 0x1400a0025
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002b318], rax
test rcx, rcx
je 0x1400a0030
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bcc0], rax
test rcx, rcx
je 0x1400a003b
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bea0], rax
test rcx, rcx
je 0x1400a0046
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bea8], rax
test rcx, rcx
je 0x1400a0051
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002beb0], rax
test rcx, rcx
je 0x1400a005c
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002beb8], rax
test rcx, rcx
je 0x1400a0067
lea rdx, str.htons
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bec0], rax
test rcx, rcx
je 0x1400a0072
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bec8], rax
test rcx, rcx
je 0x1400a007d
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bed0], rax
test rcx, rcx
je 0x1400a0088
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bed8], rax
test rcx, rcx
je 0x1400a0093
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bee0], rax
test rcx, rcx
je 0x1400a009e
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bee8], rax
test rcx, rcx
je 0x1400a00a9
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bef0], rax
test rcx, rcx
je 0x1400a00b4
lea rdx, str.inet_ntop
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bef8], rax
test rcx, rcx
je 0x1400a00bf
lea rdx, str.connect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf00], rax
test rcx, rcx
je 0x1400a00ca
lea rdx, str.bind
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf08], rax
test rcx, rcx
je 0x1400a00d5
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf10], rax
test rcx, rcx
je 0x1400a00e0
lea rdx, str.socket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf18], rax
test rcx, rcx
je 0x1400a00eb
lea rdx, str.listen
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf20], rax
test rcx, rcx
je 0x1400a00f6
lea rdx, str.send
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf28], rax
test rcx, rcx
je 0x1400a0101
lea rdx, str.shutdown
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf30], rax
test rcx, rcx
je 0x1400a010c
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf38], rax
test rcx, rcx
je 0x1400a0117
lea rdx, str.accept
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf40], rax
test rcx, rcx
je 0x1400a0122
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf48], rax
test rcx, rcx
je 0x1400a01ba
lea rdx, str.recv
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14002be60]
mov qword [0x14002bf50], rax
test rcx, rcx
je 0x1400a01c5
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x1400a0132
mov qword [0x14002b300], 0
mov qword [0x14002b310], 0
mov qword [0x14002c440], 0
mov qword [0x14002b308], 0
mov qword [0x14002b318], 0
mov qword [0x14002bcc0], 0
mov qword [0x14002bea0], 0
mov qword [0x14002bea8], 0
mov qword [0x14002beb0], 0
mov qword [0x14002beb8], 0
mov qword [0x14002bec0], 0
mov qword [0x14002bec8], 0
mov qword [0x14002bed0], 0
mov qword [0x14002bed8], 0
mov qword [0x14002bee0], 0
mov qword [0x14002bee8], 0
mov qword [0x14002bef0], 0
mov qword [0x14002bef8], 0
mov qword [0x14002bf00], 0
mov qword [0x14002bf08], 0
mov qword [0x14002bf10], 0
mov qword [0x14002bf18], 0
mov qword [0x14002bf20], 0
mov qword [0x14002bf28], 0
mov qword [0x14002bf30], 0
mov qword [0x14002bf38], 0
mov qword [0x14002bf40], 0
xor eax, eax
mov qword [0x14002bf48], rax
mov qword [0x14002bf50], rax
mov qword [0x14002bf58], rax
lea rdx, [0x14002bcc8]
mov ecx, 0x202
call qword [0x14002bcc0]
test eax, eax
jne 0x1400a0158
cmp byte [0x14002bcc8], 2
je 0x1400a01a2
lea rdx, [0x14002bcc8]
mov ecx, 2
call qword [0x14002bcc0]
test eax, eax
jne 0x1400a0177
cmp byte [0x14002bcc8], 2
je 0x1400a01a2
lea rdx, [0x14002bcc8]
mov ecx, 0x101
call qword [0x14002bcc0]
test eax, eax
jne 0x1400a0196
cmp byte [0x14002bcc8], 1
je 0x1400a01a2
lea rcx, str.Unable_to_initialise_WinSock
call fcn.14009c2da
lea rcx, [0x1400a01cc]
call fcn.14008ae08
mov qword [0x14002bf60], rax
add rsp, 0x28
ret
mov qword [0x14002bf50], 0
xor eax, eax
jmp 0x1400a0132