Function at 0x1400ebf50
Capabilities:
Get client handle via schannel
Get outbound credentials handle via credssp

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0xc8
movaps xmmword [rsp + 0xb0], xmm6
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x60], 4
mov dword [rsp + 0xa8], 0x400010
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x1400ebfb7
mov edx, dword [rcx + 0x28]
mov dword [rsp + 0x88], edx
mov qword [rsp + 0x90], rax
mov rax, qword [rcx + 0x30]
test rax, rax
je 0x1400ebff8
mov r8, qword [rcx + 0x40]
xor edx, edx
test r8, r8
je 0x1400ebff1
lea r9, [0x1401b0a20]
xor r10d, r10d
nop word cs:[rax + rax]
movzx r11d, byte [rax + r10]
or edx, dword [r9 + r11*4]
inc r10
cmp r8, r10
jne 0x1400ebfe0
mov dword [rsp + 0x98], edx
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x1400ec114
mov rax, r14
shr rax, 0x3c
jne 0x1400ec214
mov rbx, qword [rcx]
lea rdi, [r14*8]
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400ec048
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400ec205
mov rcx, rax
mov qword [0x1401be0e8], rax
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400ec205
mov rsi, rax
xor eax, eax
cmp r14, 6
jb 0x1400ec0a0
mov rcx, rsi
sub rcx, rbx
cmp rcx, 0x20
jb 0x1400ec0a0
mov rax, r14
and rax, 0xfffffffffffffffc
xor ecx, ecx
nop dword [rax + rax]
movups xmm0, xmmword [rbx + rcx*8]
movups xmm1, xmmword [rbx + rcx*8 + 0x10]
movups xmmword [rsi + rcx*8], xmm0
movups xmmword [rsi + rcx*8 + 0x10], xmm1
add rcx, 4
cmp rax, rcx
jne 0x1400ec080
cmp r14, rax
je 0x1400ec10f
mov rcx, rax
not rcx
add rcx, r14
mov rdx, r14
and rdx, 3
je 0x1400ec0d0
nop word cs:[rax + rax]
mov r8, qword [rbx + rax*8]
mov qword [rsi + rax*8], r8
inc rax
dec rdx
jne 0x1400ec0c0
cmp rcx, 3
jb 0x1400ec10f
nop word cs:[rax + rax]
mov rcx, qword [rbx + rax*8]
mov qword [rsi + rax*8], rcx
mov rcx, qword [rbx + rax*8 + 8]
mov qword [rsi + rax*8 + 8], rcx
mov rcx, qword [rbx + rax*8 + 0x10]
mov qword [rsi + rax*8 + 0x10], rcx
mov rcx, qword [rbx + rax*8 + 0x18]
mov qword [rsi + rax*8 + 0x18], rcx
add rax, 4
cmp r14, rax
jne 0x1400ec0e0
mov eax, r14d
jmp 0x1400ec11b
xor eax, eax
mov esi, 8
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x68], rsi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
lea rdx, str.Microsoft_Unified_Security_Protocol_Provider
xor ecx, ecx
mov r8d, 2
xor r9d, r9d
call sub.secur32.dll_AcquireCredentialsHandleA
test eax, eax
je 0x1400ec1a4
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov ebx, 1
test r14, r14
je 0x1400ec189
mov rcx, qword [0x1401be0e8]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, rbx
mov rdx, rdi
movaps xmm6, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rdi
pop rsi
pop r14
ret
movaps xmm6, xmmword [rsp + 0x50]
movzx eax, byte [0x1401be180]
mov rcx, qword [0x1401be0e8]
test rcx, rcx
jne 0x1400ec1d0
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400ec21b
mov rcx, rax
mov qword [0x1401be0e8], rax
mov r8d, 0x20
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400ec21b
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
movups xmmword [rax + 0x10], xmm6
xor ebx, ebx
test r14, r14
jne 0x1400ec178
jmp 0x1400ec189
mov ecx, 8
mov rdx, rdi
call fcn.140007810
ud2
call fcn.1400077d0
ud2
mov ecx, 8
mov edx, 0x20
call fcn.140007810
ud2