Function at 0x140040414
Capabilities:
Link many functions at runtime

Disassembly:
push rbx
sub rsp, 0x20
lea rcx, str.ws2_32.dll
call fcn.140044618
xor ebx, ebx
mov qword [0x1400860d8], rax
mov qword [0x140086278], rax
test rax, rax
jne 0x140040466
lea rcx, str.wsock32.dll
call fcn.140044618
mov qword [0x1400860d8], rax
test rax, rax
jne 0x140040466
lea rcx, str.Unable_to_load_any_WinSock_library
call fcn.140002454
mov rax, qword [0x1400860d8]
lea rdx, [0x1400767d0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14004052b
mov rcx, qword [0x1400860d8]
test rcx, rcx
je 0x1400404a8
lea rdx, [0x1400767d0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x1400860b0], rax
jmp 0x1400404af
mov qword [0x1400860b0], rbx
test rcx, rcx
je 0x1400404d1
lea rdx, [0x1400767e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x1400860b8], rax
jmp 0x1400404d8
mov qword [0x1400860b8], rbx
test rcx, rcx
je 0x1400404fa
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x1400860c0], rax
jmp 0x140040501
mov qword [0x1400860c0], rbx
test rcx, rcx
je 0x14004051f
lea rdx, str.gai_strerror
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400860c8], rax
jmp 0x1400405c7
mov qword [0x1400860c8], rbx
jmp 0x1400405ce
lea rcx, str.wship6.dll
call fcn.140044618
mov qword [0x140086280], rax
test rax, rax
je 0x1400405c7
lea rdx, [0x1400767d0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140086280]
mov qword [0x1400860b0], rax
test rcx, rcx
je 0x140040587
lea rdx, [0x1400767e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140086280]
mov qword [0x1400860b8], rax
jmp 0x14004058e
mov qword [0x1400860b8], rbx
test rcx, rcx
je 0x1400405b0
lea rdx, str.getnameinfo
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x140086280]
mov qword [0x1400860c0], rax
jmp 0x1400405b7
mov qword [0x1400860c0], rbx
test rcx, rcx
jne 0x140040506
mov qword [0x1400860c8], rbx
mov rcx, qword [0x1400860d8]
mov rax, qword [0x140086278]
test rax, rax
je 0x1400405fa
lea rdx, str.WSAAddressToStringA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x1400860d0], rax
jmp 0x140040601
mov qword [0x1400860d0], rbx
test rcx, rcx
je 0x140040623
lea rdx, str.WSAAsyncSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140087b98], rax
jmp 0x14004062a
mov qword [0x140087b98], rbx
test rcx, rcx
je 0x14004064c
lea rdx, str.WSAEventSelect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140087b90], rax
jmp 0x140040653
mov qword [0x140087b90], rbx
test rcx, rcx
je 0x140040675
lea rdx, str.select
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140087b88], rax
jmp 0x14004067c
mov qword [0x140087b88], rbx
test rcx, rcx
je 0x14004069e
lea rdx, str.WSAGetLastError
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140087b80], rax
jmp 0x1400406a5
mov qword [0x140087b80], rbx
test rcx, rcx
je 0x1400406c7
lea rdx, str.WSAEnumNetworkEvents
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140087b78], rax
jmp 0x1400406ce
mov qword [0x140087b78], rbx
test rcx, rcx
je 0x1400406f0
lea rdx, str.WSAStartup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140085fe8], rax
jmp 0x1400406f7
mov qword [0x140085fe8], rbx
test rcx, rcx
je 0x140040719
lea rdx, str.WSACleanup
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140085ff0], rax
jmp 0x140040720
mov qword [0x140085ff0], rbx
test rcx, rcx
je 0x140040742
lea rdx, str.closesocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140085ff8], rax
jmp 0x140040749
mov qword [0x140085ff8], rbx
test rcx, rcx
je 0x14004076b
lea rdx, str.ntohl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086000], rax
jmp 0x140040772
mov qword [0x140086000], rbx
test rcx, rcx
je 0x140040794
lea rdx, str.htonl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086008], rax
jmp 0x14004079b
mov qword [0x140086008], rbx
test rcx, rcx
je 0x1400407bd
lea rdx, str.htons
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086010], rax
jmp 0x1400407c4
mov qword [0x140086010], rbx
test rcx, rcx
je 0x1400407e6
lea rdx, str.ntohs
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086018], rax
jmp 0x1400407ed
mov qword [0x140086018], rbx
test rcx, rcx
je 0x14004080f
lea rdx, str.gethostname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086020], rax
jmp 0x140040816
mov qword [0x140086020], rbx
test rcx, rcx
je 0x140040838
lea rdx, str.gethostbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086028], rax
jmp 0x14004083f
mov qword [0x140086028], rbx
test rcx, rcx
je 0x140040861
lea rdx, str.getservbyname
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086030], rax
jmp 0x140040868
mov qword [0x140086030], rbx
test rcx, rcx
je 0x14004088a
lea rdx, str.inet_addr
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086038], rax
jmp 0x140040891
mov qword [0x140086038], rbx
test rcx, rcx
je 0x1400408b3
lea rdx, str.inet_ntoa
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086040], rax
jmp 0x1400408ba
mov qword [0x140086040], rbx
test rcx, rcx
je 0x1400408dc
lea rdx, [0x140076928]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086048], rax
jmp 0x1400408e3
mov qword [0x140086048], rbx
test rcx, rcx
je 0x140040905
lea rdx, str.connect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086050], rax
jmp 0x14004090c
mov qword [0x140086050], rbx
test rcx, rcx
je 0x14004092e
lea rdx, str.bind
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086058], rax
jmp 0x140040935
mov qword [0x140086058], rbx
test rcx, rcx
je 0x140040957
lea rdx, str.setsockopt
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086060], rax
jmp 0x14004095e
mov qword [0x140086060], rbx
test rcx, rcx
je 0x140040980
lea rdx, str.socket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086068], rax
jmp 0x140040987
mov qword [0x140086068], rbx
test rcx, rcx
je 0x1400409a9
lea rdx, str.listen
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086070], rax
jmp 0x1400409b0
mov qword [0x140086070], rbx
test rcx, rcx
je 0x1400409d2
lea rdx, str.send
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086078], rax
jmp 0x1400409d9
mov qword [0x140086078], rbx
test rcx, rcx
je 0x1400409fb
lea rdx, str.shutdown
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086080], rax
jmp 0x140040a02
mov qword [0x140086080], rbx
test rcx, rcx
je 0x140040a24
lea rdx, str.ioctlsocket
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086088], rax
jmp 0x140040a2b
mov qword [0x140086088], rbx
test rcx, rcx
je 0x140040a4d
lea rdx, str.accept
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086090], rax
jmp 0x140040a54
mov qword [0x140086090], rbx
test rcx, rcx
je 0x140040a76
lea rdx, str.getpeername
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x140086098], rax
jmp 0x140040a7d
mov qword [0x140086098], rbx
test rcx, rcx
je 0x140040a9f
lea rdx, str.recv
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x1400860d8]
mov qword [0x1400860a0], rax
jmp 0x140040aa6
mov qword [0x1400860a0], rbx
test rcx, rcx
je 0x140040ac1
lea rdx, str.WSAIoctl
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400860a8], rax
jmp 0x140040ac8
mov qword [0x1400860a8], rbx
mov edx, 2
mov ecx, edx
call fcn.140041354
test eax, eax
jne 0x140040b00
xor edx, edx
lea ecx, [rax + 2]
call fcn.140041354
test eax, eax
jne 0x140040b00
lea ecx, [rax + 1]
mov edx, ecx
call fcn.140041354
test eax, eax
jne 0x140040b00
lea rcx, str.Unable_to_initialise_WinSock
call fcn.140002454
lea rcx, [0x14003fab8]
call fcn.14003c6a8
mov qword [0x140085fe0], rax
add rsp, 0x20
pop rbx
ret