Function at 0x140168c10
Capabilities:
Encrypt data via sspi

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
mov r12, r9
mov rsi, rdx
mov rdi, rcx
mov r15, qword [rsp + 0xf0]
mov qword [rdx + 0x38], r8
lea rcx, [rsp + 0x30]
call fcn.140166040
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x140168c55
mov r15, qword [rsp + 0x38]
jmp 0x140168dbb
test eax, eax
je 0x140168db1
mov rax, qword [rsi + 0xb0]
mov r14, qword [rsi + 0xb8]
cmp r14, rax
jne 0x140168e96
mov rbx, qword [rsp + 0x38]
mov r13d, ebx
shr rbx, 0x20
cmp r15, rbx
cmovb rbx, r15
mov r15d, dword [rsp + 0x34]
lea rbp, [rbx + r15]
add r13, rbp
sub r13, r14
jbe 0x140168ce7
mov rax, qword [rsi + 0xa8]
sub rax, r14
cmp rax, r13
jb 0x140168f4c
mov rax, qword [rsi + 0xa0]
lea rcx, [rax + r14]
cmp r13, 2
jb 0x140168cda
lea r8, [r13 - 1]
xor edx, edx
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_memset
add r14, r13
dec r14
mov rcx, qword [rsp + 0x70]
add rcx, r14
mov byte [rcx], 0
inc r14
mov qword [rsi + 0xb0], r14
cmp rbp, r14
ja 0x140168f7f
mov rcx, qword [rsi + 0xa0]
add rcx, r15
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 0xb0]
cmp rax, r15
jb 0x140168f7f
cmp rax, rbp
jb 0x140168f7f
mov rcx, qword [rsi + 0xa0]
lea rdx, [rcx + r15]
sub eax, ebp
add rbp, rcx
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x34], 7
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], 1
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x54], 6
mov qword [rsp + 0x58], rbp
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
movabs rax, 0x400000000
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
lea rcx, [rsi + 0xc0]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x140168e5f
mov r15d, eax
shl r15, 0x20
or r15, 2
jmp 0x140168dbb
movabs r15, 0x8009031700000002
mov rcx, r15
call fcn.1400837b0
cmp al, 0xd
jne 0x140168e4f
mov qword [rdi], 2
mov qword [rsi + 0x38], 0
mov eax, r15d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140168f29
test rax, rax
je 0x140168f29
lea rsi, [r15 - 1]
mov rdi, qword [r15 - 1]
mov rbx, qword [r15 + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x140168e2b
cmp qword [rbx + 0x10], 0x11
jb 0x140168e1a
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x1402d9150]
xor edx, edx
mov r8, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.kernel32.dll_HeapFree
mov qword [rdi], 1
mov qword [rdi + 8], r15
jmp 0x140168f21
mov ecx, dword [rsp + 0x40]
add ecx, dword [rsp + 0x30]
add ecx, dword [rsp + 0x50]
mov rax, qword [rsi + 0xb0]
cmp rax, rcx
jb 0x140168e81
mov qword [rsi + 0xb0], rcx
mov rax, rcx
mov qword [rsi + 0xb8], 0
mov qword [rsi + 0x100], rbx
xor r14d, r14d
cmp r14, rax
je 0x140168f0f
lea rbx, [rsi + 0x10]
lea r12, [rsp + 0x30]
nop word cs:[rax + rax]
sub rax, r14
jb 0x140168f7f
mov r8, qword [rsi + 0x38]
test r8, r8
je 0x140168f7f
mov r9, qword [rsi + 0xa0]
add r9, r14
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, rbx
call fcn.1401d5bf0
mov rax, qword [rsp + 0x30]
cmp rax, 2
je 0x140168f3d
mov r15, qword [rsp + 0x38]
test rax, rax
jne 0x140168dbb
add r14, r15
mov qword [rsi + 0xb8], r14
mov rax, qword [rsi + 0xb0]
cmp r14, rax
jne 0x140168eb0
mov rax, qword [rsi + 0x100]
mov qword [rdi], 0
mov qword [rdi + 8], rax
mov qword [rsi + 0x38], 0
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r15, 0xd00000003
jmp 0x140168dbb
lea rcx, [rsi + 0xa0]
mov rdx, r14
mov r8, r13
call fcn.140089e50
mov r14, qword [rsi + 0xb0]
mov rax, qword [rsi + 0xa0]
lea rcx, [rax + r14]
cmp r13, 2
jae 0x140168cbc
jmp 0x140168cda
ud2