Function at 0x14004e9bc
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
lea rcx, str.ws2_32.dll
call fcn.14004d7a8
mov qword [0x1400f3268], rax
mov qword [0x1400f3408], rax
test rax, rax
jne 0x14004ea0a
lea rcx, str.wsock32.dll
call fcn.14004d7a8
mov qword [0x1400f3268], rax
test rax, rax
jne 0x14004ea0a
lea rcx, str.Unable_to_load_any_WinSock_library
call fcn.14004b6bc
mov rax, qword [0x1400f3268]
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14004eabc
mov rcx, qword [0x1400f3268]
test rcx, rcx
je 0x14004ea45
lea rdx, str.getaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ea47
xor eax, eax
mov qword [0x1400f3240], rax
test rcx, rcx
je 0x14004ea69
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ea6b
xor eax, eax
mov qword [0x1400f3248], rax
test rcx, rcx
je 0x14004ea8d
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ea8f
xor eax, eax
mov qword [0x1400f3250], rax
test rcx, rcx
je 0x14004eab1
lea rdx, str.gai_strerror
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eab3
xor eax, eax
mov qword [0x1400f3258], rax
jmp 0x14004eb2d
lea rcx, str.wship6.dll
call fcn.14004d7a8
mov qword [0x1400f3410], rax
test rax, rax
je 0x14004eb26
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3410]
mov qword [0x1400f3240], rax
test rcx, rcx
je 0x14004eb0d
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3410]
jmp 0x14004eb0f
xor eax, eax
mov qword [0x1400f3248], rax
test rcx, rcx
jne 0x14004ea77
xor eax, eax
jmp 0x14004ea84
mov rcx, qword [0x1400f3268]
mov rax, qword [0x1400f3408]
test rax, rax
je 0x14004eb50
lea rdx, str.WSAAddressToStringA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
mov qword [0x1400f3260], rax
test rcx, rcx
je 0x14004eb72
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eb74
xor eax, eax
mov qword [0x1400f9100], rax
test rcx, rcx
je 0x14004eb96
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eb98
xor eax, eax
mov qword [0x1400f90f8], rax
test rcx, rcx
je 0x14004ebba
lea rdx, str.select
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ebbc
xor eax, eax
mov qword [0x1400f90e0], rax
test rcx, rcx
je 0x14004ebde
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ebe0
xor eax, eax
mov qword [0x1400f90f0], rax
test rcx, rcx
je 0x14004ec02
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ec04
xor eax, eax
mov qword [0x1400f90e8], rax
test rcx, rcx
je 0x14004ec26
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ec28
xor eax, eax
mov qword [0x1400f31a8], rax
test rcx, rcx
je 0x14004ec4a
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ec4c
xor eax, eax
mov qword [0x1400f31b0], rax
test rcx, rcx
je 0x14004ec6e
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ec70
xor eax, eax
mov qword [0x1400f3178], rax
test rcx, rcx
je 0x14004ec92
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ec94
xor eax, eax
mov qword [0x1400f31b8], rax
test rcx, rcx
je 0x14004ecb6
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ecb8
xor eax, eax
mov qword [0x1400f31c0], rax
test rcx, rcx
je 0x14004ecda
lea rdx, str.htons
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ecdc
xor eax, eax
mov qword [0x1400f31c8], rax
test rcx, rcx
je 0x14004ecfe
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ed00
xor eax, eax
mov qword [0x1400f3180], rax
test rcx, rcx
je 0x14004ed22
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ed24
xor eax, eax
mov qword [0x1400f31d0], rax
test rcx, rcx
je 0x14004ed46
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ed48
xor eax, eax
mov qword [0x1400f31d8], rax
test rcx, rcx
je 0x14004ed6a
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ed6c
xor eax, eax
mov qword [0x1400f31e0], rax
test rcx, rcx
je 0x14004ed8e
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ed90
xor eax, eax
mov qword [0x1400f31e8], rax
test rcx, rcx
je 0x14004edb2
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004edb4
xor eax, eax
mov qword [0x1400f3188], rax
test rcx, rcx
je 0x14004edd6
lea rdx, str.inet_ntop
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004edd8
xor eax, eax
mov qword [0x1400f3190], rax
test rcx, rcx
je 0x14004edfa
lea rdx, str.connect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004edfc
xor eax, eax
mov qword [0x1400f31f0], rax
test rcx, rcx
je 0x14004ee1e
lea rdx, str.bind
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ee20
xor eax, eax
mov qword [0x1400f31f8], rax
test rcx, rcx
je 0x14004ee42
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ee44
xor eax, eax
mov qword [0x1400f3200], rax
test rcx, rcx
je 0x14004ee66
lea rdx, str.socket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ee68
xor eax, eax
mov qword [0x1400f3208], rax
test rcx, rcx
je 0x14004ee8a
lea rdx, str.listen
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ee8c
xor eax, eax
mov qword [0x1400f3210], rax
test rcx, rcx
je 0x14004eeae
lea rdx, str.send
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eeb0
xor eax, eax
mov qword [0x1400f3218], rax
test rcx, rcx
je 0x14004eed2
lea rdx, str.shutdown
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eed4
xor eax, eax
mov qword [0x1400f3220], rax
test rcx, rcx
je 0x14004eef6
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004eef8
xor eax, eax
mov qword [0x1400f3228], rax
test rcx, rcx
je 0x14004ef1a
lea rdx, str.accept
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ef1c
xor eax, eax
mov qword [0x1400f3230], rax
test rcx, rcx
je 0x14004ef3e
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ef40
xor eax, eax
mov qword [0x1400f3198], rax
test rcx, rcx
je 0x14004ef62
lea rdx, str.recv
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400f3268]
jmp 0x14004ef64
xor eax, eax
mov qword [0x1400f31a0], rax
test rcx, rcx
je 0x14004ef7f
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14004ef81
xor eax, eax
mov edx, 2
mov qword [0x1400f3238], rax
mov ecx, edx
call fcn.14004f8b4
test al, al
jne 0x14004efc2
xor edx, edx
lea ecx, [rdx + 2]
call fcn.14004f8b4
test al, al
jne 0x14004efc2
mov ecx, 1
mov edx, ecx
call fcn.14004f8b4
test al, al
jne 0x14004efc2
lea rcx, str.Unable_to_initialise_WinSock
call fcn.14004b6bc
lea rcx, [0x14004deac]
call fcn.140049130
mov qword [0x1400f3170], rax
add rsp, 0x28
ret