Function at 0x18006f580
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x90
mov rax, qword [0x180150340]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r14, r8
mov r15, rdx
mov rdi, rcx
xor r12d, r12d
lea r8d, [r12 + 8]
lea rdx, str.no_error
mov rcx, r15
call fcn.18004eabc
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
mov ecx, dword [rdi + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov rsi, rax
mov dword [rbp - 0x31], 1
movsxd rbx, eax
mov dword [rsp + 0x20], 4
lea r9, [rbp - 0x31]
lea edx, [r12 + 6]
lea r8d, [r12 + 1]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_setsockopt]
mov dword [rbp - 0x39], 1
lea r8, [rbp - 0x39]
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov r8d, dword [rdi + 0x10]
mov rdx, qword [rdi + 0x20]
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x18006f670
call fcn.180064b20
test al, al
jne 0x18006f670
call sub.WS2_32.dll_WSAGetLastError
mov ecx, eax
call fcn.1800e2bb0
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop
inc r8
cmp byte [rax + r8], r12b
jne 0x18006f650
mov rdx, rax
mov rcx, r15
call fcn.18004eabc
mov ecx, esi
call fcn.180064a00
jmp 0x18006f967
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x18006f683
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
jne 0x18006f6d6
lea rcx, [rbp - 0x31]
call fcn.18006f130
mov rcx, qword [rax]
mov qword [rax], r12
mov qword [rbp - 0x39], rcx
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x18006f6a9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea r9, [rbp - 0x39]
mov r8d, esi
mov edx, 0xa
xor ecx, ecx
call fcn.180064b90
cmp eax, 2
jne 0x18006f6fe
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x18006f670
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x18006f670
mov ecx, esi
call fcn.180064a00
mov r8d, 9
lea rdx, str.Cancelled
mov rcx, r15
call fcn.18004eabc
mov rax, 0xffffffffffffffff
jmp 0x18006f969
cmp eax, 3
jne 0x18006f82f
mov ecx, esi
call fcn.180064a00
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x180101c20]
movdqu xmmword [rbp - 0x19], xmm1
movsd xmm0, qword [str.Connect_error:]
movsd qword [rbp - 0x29], xmm0
mov eax, dword [0x180101bf0]
mov dword [rbp - 0x21], eax
movzx eax, word [0x180101bf4]
mov word [rbp - 0x1d], ax
movzx eax, byte [0x180101bf6]
mov byte [rbp - 0x1b], al
mov byte [rbp - 0x1a], 0
call sub.WS2_32.dll_WSAGetLastError
mov ecx, eax
call fcn.1800e2bb0
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18006f770
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.18002dbbc
movups xmm0, xmmword [rax]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 7], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], select
mov byte [rax], 0
lea rdx, [rbp - 9]
mov rcx, r15
call fcn.18002dc90
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x18006f7ec
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006f7e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006f993
call fcn.1800d0680
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x18006f954
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006f94e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006f98d
jmp 0x18006f94e
cmp eax, 1
jne 0x18006f83b
mov ebx, esi
jmp 0x18006f954
mov ecx, esi
call fcn.180064a00
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
movdqa xmm1, xmmword [0x180101c20]
movdqu xmmword [rbp - 0x19], xmm1
movsd xmm0, qword [str.Connect_error:]
movsd qword [rbp - 0x29], xmm0
mov eax, dword [0x180101bf0]
mov dword [rbp - 0x21], eax
movzx eax, word [0x180101bf4]
mov word [rbp - 0x1d], ax
movzx eax, byte [0x180101bf6]
mov byte [rbp - 0x1b], al
mov byte [rbp - 0x1a], 0
call sub.WS2_32.dll_WSAGetLastError
mov ecx, eax
call fcn.1800e2bb0
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18006f8a0
mov rdx, rax
lea rcx, [rbp - 0x29]
call fcn.18002dbbc
movups xmm0, xmmword [rax]
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 7], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], select
mov byte [rax], 0
lea rdx, [rbp - 9]
mov rcx, r15
call fcn.18002dc90
mov rdx, qword [rbp + 0xf]
cmp rdx, 0xf
jbe 0x18006f91c
inc rdx
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006f916
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006f999
call fcn.1800d0680
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 0xf
jbe 0x18006f954
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18006f94e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18006f987
call fcn.1800d0680
nop
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x18006f967
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov eax, ebx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1800d0660
add rsp, 0x90
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800d939c
nop
call fcn.1800d939c
nop
call fcn.1800d939c
nop
call fcn.1800d939c
int3