Function at 0x14003e2c0
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
lea rcx, str.ws2_32.dll
call fcn.1400462c0
mov qword [0x14012d5f0], rax
mov qword [0x14012d5f8], rax
test rax, rax
jne 0x14003e2ff
lea rcx, str.wsock32.dll
call fcn.1400462c0
mov qword [0x14012d5f0], rax
test rax, rax
je 0x14003ea07
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
test rax, rax
je 0x14003e35e
mov rcx, qword [0x14012d5f0]
test rcx, rcx
je 0x14003e3c8
lea rdx, str.getaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d600], rax
test rcx, rcx
je 0x14003e3d3
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
jmp 0x14003e3ad
lea rcx, str.wship6.dll
call fcn.1400462c0
mov qword [0x14012d618], rax
test rax, rax
je 0x14003e3e7
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x14012d600], rax
mov rcx, qword [0x14012d618]
test rcx, rcx
je 0x14003e3d3
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d618]
mov qword [0x14012d608], rax
test rcx, rcx
je 0x14003e3de
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003e3e0
mov qword [0x14012d600], 0
mov qword [0x14012d608], 0
xor eax, eax
mov qword [0x14012d610], rax
mov rcx, qword [0x14012d5f8]
test rcx, rcx
je 0x14003e402
lea rdx, str.WSAAddressToStringA
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003e404
xor eax, eax
mov qword [0x14012d620], rax
mov rcx, qword [0x14012d5f0]
test rcx, rcx
je 0x14003e841
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d628], rax
test rcx, rcx
je 0x14003e84c
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d630], rax
test rcx, rcx
je 0x14003e857
lea rdx, [0x140104b86]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d638], rax
test rcx, rcx
je 0x14003e862
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d640], rax
test rcx, rcx
je 0x14003e86d
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d648], rax
test rcx, rcx
je 0x14003e878
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d650], rax
test rcx, rcx
je 0x14003e883
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d658], rax
test rcx, rcx
je 0x14003e88e
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d660], rax
test rcx, rcx
je 0x14003e899
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d668], rax
test rcx, rcx
je 0x14003e8a4
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d670], rax
test rcx, rcx
je 0x14003e8af
lea rdx, str.htons
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d678], rax
test rcx, rcx
je 0x14003e8ba
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d680], rax
test rcx, rcx
je 0x14003e8c5
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d688], rax
test rcx, rcx
je 0x14003e8d0
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d690], rax
test rcx, rcx
je 0x14003e8db
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d698], rax
test rcx, rcx
je 0x14003e8e6
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6a0], rax
test rcx, rcx
je 0x14003e8f1
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6a8], rax
test rcx, rcx
je 0x14003e8fc
lea rdx, str.inet_ntop
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6b0], rax
test rcx, rcx
je 0x14003e907
lea rdx, [0x140104b73]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6b8], rax
test rcx, rcx
je 0x14003e912
lea rdx, str.bind
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6c0], rax
test rcx, rcx
je 0x14003e91d
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6c8], rax
test rcx, rcx
je 0x14003e928
lea rdx, [0x140104913]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6d0], rax
test rcx, rcx
je 0x14003e933
lea rdx, str.listen
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6d8], rax
test rcx, rcx
je 0x14003e93e
lea rdx, str.send
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6e0], rax
test rcx, rcx
je 0x14003e949
lea rdx, [0x140107987]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6e8], rax
test rcx, rcx
je 0x14003e954
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6f0], rax
test rcx, rcx
je 0x14003e95f
lea rdx, str.accept
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d6f8], rax
test rcx, rcx
je 0x14003e96a
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d700], rax
test rcx, rcx
je 0x14003e975
lea rdx, str.recv
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012d5f0]
mov qword [0x14012d708], rax
test rcx, rcx
je 0x14003e980
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003e982
mov qword [0x14012d628], 0
mov qword [0x14012d630], 0
mov qword [0x14012d638], 0
mov qword [0x14012d640], 0
mov qword [0x14012d648], 0
mov qword [0x14012d650], 0
mov qword [0x14012d658], 0
mov qword [0x14012d660], 0
mov qword [0x14012d668], 0
mov qword [0x14012d670], 0
mov qword [0x14012d678], 0
mov qword [0x14012d680], 0
mov qword [0x14012d688], 0
mov qword [0x14012d690], 0
mov qword [0x14012d698], 0
mov qword [0x14012d6a0], 0
mov qword [0x14012d6a8], 0
mov qword [0x14012d6b0], 0
mov qword [0x14012d6b8], 0
mov qword [0x14012d6c0], 0
mov qword [0x14012d6c8], 0
mov qword [0x14012d6d0], 0
mov qword [0x14012d6d8], 0
mov qword [0x14012d6e0], 0
mov qword [0x14012d6e8], 0
mov qword [0x14012d6f0], 0
mov qword [0x14012d6f8], 0
mov qword [0x14012d700], 0
mov qword [0x14012d708], 0
xor eax, eax
mov qword [0x14012d710], rax
lea rdx, [0x14012d720]
mov cx, 0x202
call qword [0x14012d650]
test eax, eax
jne 0x14003e9ab
movzx eax, byte [0x14012d720]
cmp ax, 2
je 0x14003e9ef
lea rdx, [0x14012d720]
mov cx, 2
call qword [0x14012d650]
test eax, eax
jne 0x14003e9cd
movzx eax, byte [0x14012d720]
cmp ax, 2
je 0x14003e9ef
lea rdx, [0x14012d720]
mov cx, 0x101
call qword [0x14012d650]
test eax, eax
jne 0x14003ea13
movzx eax, byte [0x14012d720]
cmp ax, 1
jne 0x14003ea13
lea rcx, [0x14003ea20]
call fcn.140044a20
mov qword [0x14012d718], rax
add rsp, 0x28
ret
lea rcx, str.Unable_to_load_any_WinSock_library
call fcn.140006000
lea rcx, str.Unable_to_initialise_WinSock
call fcn.140006000
int3