Function at 0x14003dc80
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
lea rcx, str.ws2_32.dll
call fcn.140045c80
mov qword [0x14012c5f0], rax
mov qword [0x14012c5f8], rax
test rax, rax
jne 0x14003dcbf
lea rcx, str.wsock32.dll
call fcn.140045c80
mov qword [0x14012c5f0], rax
test rax, rax
je 0x14003e3c7
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
test rax, rax
je 0x14003dd1e
mov rcx, qword [0x14012c5f0]
test rcx, rcx
je 0x14003dd88
lea rdx, str.getaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c600], rax
test rcx, rcx
je 0x14003dd93
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
jmp 0x14003dd6d
lea rcx, str.wship6.dll
call fcn.140045c80
mov qword [0x14012c618], rax
test rax, rax
je 0x14003dda7
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov qword [0x14012c600], rax
mov rcx, qword [0x14012c618]
test rcx, rcx
je 0x14003dd93
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c618]
mov qword [0x14012c608], rax
test rcx, rcx
je 0x14003dd9e
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003dda0
mov qword [0x14012c600], 0
mov qword [0x14012c608], 0
xor eax, eax
mov qword [0x14012c610], rax
mov rcx, qword [0x14012c5f8]
test rcx, rcx
je 0x14003ddc2
lea rdx, str.WSAAddressToStringA
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003ddc4
xor eax, eax
mov qword [0x14012c620], rax
mov rcx, qword [0x14012c5f0]
test rcx, rcx
je 0x14003e201
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c628], rax
test rcx, rcx
je 0x14003e20c
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c630], rax
test rcx, rcx
je 0x14003e217
lea rdx, [0x140103ca9]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c638], rax
test rcx, rcx
je 0x14003e222
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c640], rax
test rcx, rcx
je 0x14003e22d
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c648], rax
test rcx, rcx
je 0x14003e238
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c650], rax
test rcx, rcx
je 0x14003e243
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c658], rax
test rcx, rcx
je 0x14003e24e
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c660], rax
test rcx, rcx
je 0x14003e259
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c668], rax
test rcx, rcx
je 0x14003e264
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c670], rax
test rcx, rcx
je 0x14003e26f
lea rdx, str.htons
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c678], rax
test rcx, rcx
je 0x14003e27a
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c680], rax
test rcx, rcx
je 0x14003e285
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c688], rax
test rcx, rcx
je 0x14003e290
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c690], rax
test rcx, rcx
je 0x14003e29b
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c698], rax
test rcx, rcx
je 0x14003e2a6
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6a0], rax
test rcx, rcx
je 0x14003e2b1
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6a8], rax
test rcx, rcx
je 0x14003e2bc
lea rdx, str.inet_ntop
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6b0], rax
test rcx, rcx
je 0x14003e2c7
lea rdx, [0x140103c96]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6b8], rax
test rcx, rcx
je 0x14003e2d2
lea rdx, str.bind
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6c0], rax
test rcx, rcx
je 0x14003e2dd
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6c8], rax
test rcx, rcx
je 0x14003e2e8
lea rdx, [0x140103a36]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6d0], rax
test rcx, rcx
je 0x14003e2f3
lea rdx, str.listen
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6d8], rax
test rcx, rcx
je 0x14003e2fe
lea rdx, str.send
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6e0], rax
test rcx, rcx
je 0x14003e309
lea rdx, [0x140106a83]
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6e8], rax
test rcx, rcx
je 0x14003e314
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6f0], rax
test rcx, rcx
je 0x14003e31f
lea rdx, str.accept
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c6f8], rax
test rcx, rcx
je 0x14003e32a
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c700], rax
test rcx, rcx
je 0x14003e335
lea rdx, str.recv
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov rcx, qword [0x14012c5f0]
mov qword [0x14012c708], rax
test rcx, rcx
je 0x14003e340
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
jmp 0x14003e342
mov qword [0x14012c628], 0
mov qword [0x14012c630], 0
mov qword [0x14012c638], 0
mov qword [0x14012c640], 0
mov qword [0x14012c648], 0
mov qword [0x14012c650], 0
mov qword [0x14012c658], 0
mov qword [0x14012c660], 0
mov qword [0x14012c668], 0
mov qword [0x14012c670], 0
mov qword [0x14012c678], 0
mov qword [0x14012c680], 0
mov qword [0x14012c688], 0
mov qword [0x14012c690], 0
mov qword [0x14012c698], 0
mov qword [0x14012c6a0], 0
mov qword [0x14012c6a8], 0
mov qword [0x14012c6b0], 0
mov qword [0x14012c6b8], 0
mov qword [0x14012c6c0], 0
mov qword [0x14012c6c8], 0
mov qword [0x14012c6d0], 0
mov qword [0x14012c6d8], 0
mov qword [0x14012c6e0], 0
mov qword [0x14012c6e8], 0
mov qword [0x14012c6f0], 0
mov qword [0x14012c6f8], 0
mov qword [0x14012c700], 0
mov qword [0x14012c708], 0
xor eax, eax
mov qword [0x14012c710], rax
lea rdx, [0x14012c720]
mov cx, 0x202
call qword [0x14012c650]
test eax, eax
jne 0x14003e36b
movzx eax, byte [0x14012c720]
cmp ax, 2
je 0x14003e3af
lea rdx, [0x14012c720]
mov cx, 2
call qword [0x14012c650]
test eax, eax
jne 0x14003e38d
movzx eax, byte [0x14012c720]
cmp ax, 2
je 0x14003e3af
lea rdx, [0x14012c720]
mov cx, 0x101
call qword [0x14012c650]
test eax, eax
jne 0x14003e3d3
movzx eax, byte [0x14012c720]
cmp ax, 1
jne 0x14003e3d3
lea rcx, [0x14003e3e0]
call fcn.1400443e0
mov qword [0x14012c718], 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