Function at 0x14003a030
Capabilities:
Link many functions at runtime

Disassembly:
sub rsp, 0x28
lea rcx, str.ws2_32.dll
call fcn.140042b00
mov qword [0x14012e230], rax
mov qword [0x14012e238], rax
test rax, rax
jne 0x14003a06f
lea rcx, str.wsock32.dll
call fcn.140042b00
mov qword [0x14012e230], rax
test rax, rax
je 0x14003a7a6
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14003a0ce
mov rcx, qword [0x14012e230]
test rcx, rcx
je 0x14003a138
lea rdx, str.getaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e240], rax
test rcx, rcx
je 0x14003a143
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
jmp 0x14003a11d
lea rcx, str.wship6.dll
call fcn.140042b00
mov qword [0x14012e258], rax
test rax, rax
je 0x14003a157
lea rdx, str.getaddrinfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14012e240], rax
mov rcx, qword [0x14012e258]
test rcx, rcx
je 0x14003a143
lea rdx, str.freeaddrinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e258]
mov qword [0x14012e248], rax
test rcx, rcx
je 0x14003a14e
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14003a150
mov qword [0x14012e240], 0
mov qword [0x14012e248], 0
xor eax, eax
mov qword [0x14012e250], rax
mov rcx, qword [0x14012e238]
test rcx, rcx
je 0x14003a172
lea rdx, str.WSAAddressToStringA
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14003a174
xor eax, eax
mov qword [0x14012e260], rax
mov rcx, qword [0x14012e230]
test rcx, rcx
je 0x14003a5d5
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e268], rax
test rcx, rcx
je 0x14003a5e0
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e270], rax
test rcx, rcx
je 0x14003a5eb
lea rdx, [0x140106200]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e278], rax
test rcx, rcx
je 0x14003a5f6
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e280], rax
test rcx, rcx
je 0x14003a601
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e288], rax
test rcx, rcx
je 0x14003a60c
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e290], rax
test rcx, rcx
je 0x14003a617
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e298], rax
test rcx, rcx
je 0x14003a622
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2a0], rax
test rcx, rcx
je 0x14003a62d
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2a8], rax
test rcx, rcx
je 0x14003a638
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2b0], rax
test rcx, rcx
je 0x14003a643
lea rdx, str.htons
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2b8], rax
test rcx, rcx
je 0x14003a64e
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2c0], rax
test rcx, rcx
je 0x14003a659
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2c8], rax
test rcx, rcx
je 0x14003a664
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2d0], rax
test rcx, rcx
je 0x14003a66f
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2d8], rax
test rcx, rcx
je 0x14003a67a
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2e0], rax
test rcx, rcx
je 0x14003a685
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2e8], rax
test rcx, rcx
je 0x14003a690
lea rdx, str.inet_ntop
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2f0], rax
test rcx, rcx
je 0x14003a69b
lea rdx, [0x1401061ed]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e2f8], rax
test rcx, rcx
je 0x14003a6a6
lea rdx, str.bind
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e300], rax
test rcx, rcx
je 0x14003a6b1
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e308], rax
test rcx, rcx
je 0x14003a6bc
lea rdx, [0x140105f8d]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e310], rax
test rcx, rcx
je 0x14003a6c7
lea rdx, str.listen
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e318], rax
test rcx, rcx
je 0x14003a6d2
lea rdx, str.send
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e320], rax
test rcx, rcx
je 0x14003a6dd
lea rdx, [0x140109015]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e328], rax
test rcx, rcx
je 0x14003a6e8
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e330], rax
test rcx, rcx
je 0x14003a6f3
lea rdx, str.accept
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e338], rax
test rcx, rcx
je 0x14003a6fe
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e340], rax
test rcx, rcx
je 0x14003a709
lea rdx, str.getsockname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e348], rax
test rcx, rcx
je 0x14003a714
lea rdx, str.recv
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x14012e230]
mov qword [0x14012e350], rax
test rcx, rcx
je 0x14003a71f
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
jmp 0x14003a721
mov qword [0x14012e268], 0
mov qword [0x14012e270], 0
mov qword [0x14012e278], 0
mov qword [0x14012e280], 0
mov qword [0x14012e288], 0
mov qword [0x14012e290], 0
mov qword [0x14012e298], 0
mov qword [0x14012e2a0], 0
mov qword [0x14012e2a8], 0
mov qword [0x14012e2b0], 0
mov qword [0x14012e2b8], 0
mov qword [0x14012e2c0], 0
mov qword [0x14012e2c8], 0
mov qword [0x14012e2d0], 0
mov qword [0x14012e2d8], 0
mov qword [0x14012e2e0], 0
mov qword [0x14012e2e8], 0
mov qword [0x14012e2f0], 0
mov qword [0x14012e2f8], 0
mov qword [0x14012e300], 0
mov qword [0x14012e308], 0
mov qword [0x14012e310], 0
mov qword [0x14012e318], 0
mov qword [0x14012e320], 0
mov qword [0x14012e328], 0
mov qword [0x14012e330], 0
mov qword [0x14012e338], 0
mov qword [0x14012e340], 0
mov qword [0x14012e348], 0
mov qword [0x14012e350], 0
xor eax, eax
mov qword [0x14012e358], rax
lea rdx, [0x14012e368]
mov cx, 0x202
call qword [0x14012e290]
test eax, eax
jne 0x14003a74a
movzx eax, byte [0x14012e368]
cmp ax, 2
je 0x14003a78e
lea rdx, [0x14012e368]
mov cx, 2
call qword [0x14012e290]
test eax, eax
jne 0x14003a76c
movzx eax, byte [0x14012e368]
cmp ax, 2
je 0x14003a78e
lea rdx, [0x14012e368]
mov cx, 0x101
call qword [0x14012e290]
test eax, eax
jne 0x14003a7b2
movzx eax, byte [0x14012e368]
cmp ax, 1
jne 0x14003a7b2
lea rcx, [0x14003a7c0]
call fcn.140040bc0
mov qword [0x14012e360], rax
add rsp, 0x28
ret
lea rcx, str.Unable_to_load_any_WinSock_library
call fcn.1400062f0
lea rcx, str.Unable_to_initialise_WinSock
call fcn.1400062f0
int3