Function at 0x14000622a
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov rbx, r8
mov rsi, rdx
mov rdi, rcx
movzx eax, byte [rdx + 0x60]
test eax, eax
je 0x14000627d
cmp eax, 3
jne 0x14000655e
add eax, dword [rax]
invalid
lea r14, [rsi + 0x20]
lea r12, [rsi + 0x58]
movzx eax, byte [rsi + 0x58]
test eax, eax
je 0x1400063cb
cmp eax, 3
jne 0x14000655e
mov rax, qword [rsi + 0x50]
jmp 0x140006410
movzx r14d, word [rsi]
movzx eax, word [rsi + 0x12]
mov word [rsp + 0x60], ax
and al, 0x60
movups xmm0, xmmword [rsi + 2]
movaps xmmword [rsp + 0x50], xmm0
mov r13d, dword [rsi + 0x14]
mov eax, dword [rsi + 0x18]
mov dword [rsp + 0x2c], eax
movzx r15d, word [rsi + 0x1c]
test r14w, r14w
mov eax, 2
mov ebp, 0x17
cmove ebp, eax
mov rax, qword [0x1400f5a48]
cmp rax, 3
jne 0x14000651d
mov ecx, ebp
mov edx, 1
xor r8d, r8d
call qword [sym.imp.ws2_32.dll_socket]
cmp rax, 0xffffffffffffffff
je 0x140006310
mov r12, rax
lea r8, [rsp + 0x30]
mov dword [r8], 1
mov rcx, rax
mov edx, 0x8004667e
call qword [sym.imp.ws2_32.dll_ioctlsocket]
test eax, eax
je 0x140006328
call qword [sym.imp.kernel32.dll_GetLastError]
mov r15d, eax
mov rcx, r12
call qword [sym.imp.ws2_32.dll_closesocket]
jmp 0x140006319
call qword [sym.imp.kernel32.dll_GetLastError]
mov r15d, eax
shl r15, 0x20
or r15, 2
xor ebx, ebx
jmp 0x1400064eb
test r14w, r14w
je 0x140006344
movups xmm0, xmmword [rsp + 0x52]
rol r15w, 8
mov r8d, 0x1c
add byte [rax], al
invalid
mov ax, 0x17
jmp 0x140006361
movzx r15d, word [rsp + 0x54]
rol r15w, 8
mov r8d, 0x10
mov ax, 2
xorps xmm0, xmm0
mov r13d, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x2c]
lea rdx, [rsp + 0x30]
mov word [rdx], ax
mov word [rdx + 2], r15w
mov dword [rdx + 4], r13d
movups xmmword [rdx + 8], xmm0
mov dword [rdx + 0x18], ecx
mov rcx, r12
call qword [sym.imp.ws2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1400063b3
call qword [sym.imp.kernel32.dll_GetLastError]
mov r15, rax
shl r15, 0x20
or r15, 2
mov ecx, eax
call fcn.1400622fe
cmp al, 0xd
jne 0x14000654a
mov rcx, r15
call fcn.1400621a6
lea r14, [rsi + 0x20]
mov qword [rsi + 0x20], r12
mov qword [rsi + 0x28], 0
lea r12, [rsi + 0x58]
mov byte [rsi + 0x58], 0
mov rdx, qword [rsi + 0x20]
mov r8, qword [rsi + 0x28]
lea r15, [rsp + 0x30]
mov rcx, r15
call fcn.14006bd71
mov rcx, qword [r15]
test rcx, rcx
test ecx, ecx
je 0x14000644b
mov rdx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x40]
and al, 0x40
movaps xmmword [rsp + 0x70], xmm0
lea rax, [rsi + 0x30]
mov qword [rsi + 0x30], rcx
mov qword [rsi + 0x38], rdx
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x40], xmm0
mov qword [rsi + 0x50], rax
mov rdx, qword [rax + 8]
lea r15, [rsp + 0x30]
mov rcx, r15
mov r8, rbx
mov r9b, 1
call fcn.14006bb7f
mov al, byte [r15 + 9]
cmp al, 3
jne 0x140006440
mov byte [r12], 3
mov al, 3
mov ecx, 1
jmp 0x140006503
cmp al, 2
jne 0x140006452
mov r15, qword [rsp + 0x30]
jmp 0x1400064c3
mov r15, qword [rsp + 0x38]
jmp 0x1400064cc
mov rcx, qword [rsi + 0x40]
cmp rcx, 0xffffffffffffffff
je 0x14000655e
lea r9, [rsp + 0x70]
mov dword [r9], 0
mov dword [rsp + 0x30], 4
add al, 0
add byte [rax], al
mov qword [rsp + 0x20], r15
mov edx, 0xffff
mov r8d, 0x1007
call qword [sym.imp.ws2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x1400064b2
movsxd r15, dword [rsp + 0x70]
test r15, r15
jne 0x1400064bb
invalid
lea rax, [rsi + 0x40]
mov rbx, qword [rsi + 0x30]
mov r15, qword [rsi + 0x38]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x80], xmm0
jmp 0x1400064ce
call qword [sym.imp.ws2_32.dll_WSAGetLastError]
mov r15d, eax
shl r15, 0x20
or r15, 2
lea rcx, [rsi + 0x30]
call fcn.140004066
xor ebx, ebx
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x90], xmm0
mov byte [r12], 1
mov rcx, r14
call fcn.14000469b
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r15
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rdi + 0x18], xmm0
mov al, 1
xor ecx, ecx
mov qword [rdi], rcx
mov byte [rsi + 0x60], al
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rsp + 0x80]
mov byte [rax], 1
lea r8, [rsp + 0x30]
mov qword [r8], rax
lea rcx, [0x1400f5a48]
lea r9, [0x1400b14a0]
xor edx, edx
call fcn.1400aa143
jmp 0x1400062c5
xor ebx, ebx
xor ecx, ecx
call fcn.14002f5d9
mov rcx, r12
call qword [sym.imp.ws2_32.dll_closesocket]
adc eax, 0xa4ea4
jmp 0x1400064eb
ud2