Function at 0x1400c9860
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 r14, r9
mov rsi, rdx
mov rdi, rcx
mov qword [rdx + 0x38], r8
lea r15, [rsp + 0x30]
mov rcx, r15
call fcn.1400c8370
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne case.default.0x1400c98af
mov r15, qword [rsp + 0x38]
mov eax, r15d
and eax, 3
lea rcx, [0x1400c9c58]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [r15 + 0x10]
cmp al, 0xd
je 0x1400c9bda
jmp 0x1400c9be3
test eax, eax
je 0x1400c9960
mov rdx, qword [rsi + 0xb0]
mov rbx, qword [rsi + 0xb8]
cmp rbx, rdx
jne 0x1400c9ad2
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0xf0]
mov edx, dword [rsp + 0x34]
mov r14, qword [rsp + 0x38]
mov r13d, r14d
shr r14, 0x20
cmp rax, r14
cmovb r14, rax
lea rbp, [r14 + rdx]
add r13, rbp
mov rdi, r13
sub rdi, rbx
jbe 0x1400c99cd
mov rax, qword [rsi + 0xa8]
sub rax, rbx
mov r15, rbx
cmp rax, rdi
jb 0x1400c9983
mov r12, qword [rsi + 0xa0]
lea rcx, [r12 + r15]
cmp rdi, 2
jb 0x1400c99b3
lea r8, [rdi - 1]
mov rbx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rdx, rbx
add r15, rdi
dec r15
add r12, r15
mov rcx, r12
jmp 0x1400c99b8
movabs r15, 0x8009031700000002
mov rcx, r15
shr rcx, 0x20
call fcn.14028f0e0
cmp al, 0xd
je 0x1400c9bda
jmp 0x1400c9be3
lea rcx, [rsi + 0xa0]
mov r15, rdx
mov rdx, rbx
mov r8, rdi
call fcn.1402eac30
mov rdx, r15
mov r15, qword [rsi + 0xb0]
mov r12, qword [rsi + 0xa0]
lea rcx, [r12 + r15]
cmp rdi, 2
jae 0x1400c9941
cmp r13, rbx
je 0x1400c99be
mov byte [rcx], 0
inc r15
mov qword [rsi + 0xb0], r15
mov rbx, r15
lea r15, [rsp + 0x30]
cmp rbx, rbp
jb 0x1400c9c35
mov rdi, qword [rsi + 0xa0]
lea r13, [rdi + rdx]
mov rcx, r13
mov r12, rdx
mov rdx, qword [rsp + 0x70]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
cmp rbx, r12
jb 0x1400c9c41
sub ebx, ebp
add rbp, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x30], r12d
mov dword [rsp + 0x34], 7
mov qword [rsp + 0x38], rdi
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], 1
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], 6
mov qword [rsp + 0x58], rbp
movabs rax, 0x400000000
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], r15
lea rcx, [rsi + 0xc0]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x1400c9a97
mov r15d, eax
shl r15, 0x20
or r15, 2
mov eax, r15d
and eax, 3
lea rcx, [0x1400c9c58]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov rdi, qword [rsp + 0x28]
jmp rax
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x50]
mov rdx, qword [rsi + 0xb0]
cmp rdx, rax
mov rdi, qword [rsp + 0x28]
jb 0x1400c9abe
mov qword [rsi + 0xb0], rax
mov rdx, rax
mov qword [rsi + 0xb8], 0
mov qword [rsi + 0x100], r14
xor ebx, ebx
cmp rbx, rdx
je 0x1400c9b42
lea r14, [rsi + 0x10]
lea r12, [rsp + 0x30]
mov rax, rdx
sub rax, rbx
jb 0x1400c9c0a
mov r8, qword [rsi + 0x38]
test r8, r8
je 0x1400c9c1b
mov r9, qword [rsi + 0xa0]
add r9, rbx
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, r14
call fcn.1402aa230
mov rax, qword [rsp + 0x30]
cmp rax, 2
je 0x1400c9bda
mov r15, qword [rsp + 0x38]
test rax, rax
jne 0x1400c9b59
add rbx, r15
mov qword [rsi + 0xb8], rbx
mov rdx, qword [rsi + 0xb0]
cmp rbx, rdx
jne 0x1400c9ae0
mov rax, qword [rsi + 0x100]
mov qword [rdi], 0
mov qword [rdi + 8], rax
jmp 0x1400c9bee
mov eax, r15d
and eax, 3
lea rcx, [0x1400c9c58]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp byte [r15 + 0xf], 0xd
jne 0x1400c9be3
lea rbx, [r15 - 1]
mov qword [rdi], 2
mov qword [rsi + 0x38], 0
mov rsi, qword [r15 - 1]
mov rdi, qword [r15 + 7]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400c9bba
cmp qword [rdi + 0x10], 0x11
jb 0x1400c9ba8
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x1400c9bf6
mov rax, r15
shr rax, 0x20
cmp eax, 0xd
jne 0x1400c9be3
mov qword [rdi], 2
jmp 0x1400c9bee
mov qword [rdi], 1
mov qword [rdi + 8], r15
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
lea r8, [0x14032a8c8]
mov rcx, rbx
call fcn.1402ea380
ud2
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x140327188]
mov edx, 0x29
call fcn.1402ea480
ud2
lea r8, [0x14032a828]
mov rcx, rbp
jmp 0x1400c9c4b
lea r8, [0x14032a840]
mov rcx, r12
mov rdx, rbx
call fcn.1402ea400
ud2