Function at 0x14000a950
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 qword [rdx + 0x138], r8
lea rcx, [rsp + 0x30]
call fcn.14005a210
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne case.default.0x14000a99f
mov r14, qword [rsp + 0x38]
mov eax, r14d
and eax, 3
lea rcx, [0x14011a0f4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test eax, eax
je 0x14000ab07
mov r15, qword [rsi + 0x1b8]
cmp r15, qword [rsi + 0x1b0]
jne 0x14000ab5d
mov qword [rsp + 0x28], rdi
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x38]
mov ebp, ebx
shr rbx, 0x20
cmp rax, rbx
cmovb rbx, rax
mov edi, dword [rsp + 0x34]
lea r13, [rbx + rdi]
add rbp, r13
sub rbp, r15
jbe 0x14000aa3e
mov rax, qword [rsi + 0x1a8]
sub rax, r15
cmp rax, rbp
jb 0x14000ac4f
mov r14, qword [rsi + 0x1a0]
lea rcx, [r14 + r15]
cmp rbp, 2
jb 0x14000aa31
lea r8, [rbp - 1]
mov qword [rsp + 0x70], rdi
xor edx, edx
call sub.msvcrt.dll_memset
mov rdi, qword [rsp + 0x70]
add r15, rbp
dec r15
add r14, r15
mov rcx, r14
mov byte [rcx], 0
inc r15
mov qword [rsi + 0x1b0], r15
cmp r15, r13
jb 0x14000ac82
mov r14, qword [rsi + 0x1a0]
lea rbp, [r14 + rdi]
mov rcx, rbp
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp r15, rdi
jb 0x14000ac96
sub r15d, r13d
add r13, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x34], 7
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], 1
mov qword [rsp + 0x48], rbp
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], 6
mov qword [rsp + 0x58], r13
movabs rax, 0x400000000
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x80], rax
lea rcx, [rsi + 0x1c0]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x14000ab2a
mov r14d, eax
shl r14, 0x20
or r14, 2
mov eax, r14d
and eax, 3
lea rcx, [0x14011a0f4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov rdi, qword [rsp + 0x28]
jmp rax
movabs r14, 0x8009031700000002
mov rcx, r14
shr rcx, 0x20
call fcn.1400d62c0
cmp al, 0xd
je 0x14000ac08
jmp 0x14000ac11
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x50]
cmp qword [rsi + 0x1b0], rax
mov rdi, qword [rsp + 0x28]
jb 0x14000ab4b
mov qword [rsi + 0x1b0], rax
mov qword [rsi + 0x1b8], 0
mov qword [rsi + 0x200], rbx
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14005bc30
cmp qword [rsp + 0x30], 0
je case.default.0x14000ab8f
mov r14, qword [rsp + 0x38]
mov eax, r14d
and eax, 3
lea rcx, [0x14011a0f4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [r14 + 0x10]
cmp al, 0xd
je 0x14000ac08
jmp 0x14000ac11
cmp byte [r14 + 0xf], 0xd
jne 0x14000ac11
lea rbx, [r14 - 1]
mov qword [rdi], 2
mov qword [rsi + 0x138], 0
mov rsi, qword [r14 - 1]
mov rdi, qword [r14 + 7]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14000abe9
cmp qword [rdi + 0x10], 0x11
jb 0x14000abd8
mov rsi, qword [rsi - 8]
mov rcx, qword [0x140189110]
xor edx, edx
mov r8, rsi
call fcn.14011631c
mov rcx, qword [0x140189110]
xor edx, edx
mov r8, rbx
call fcn.14011631c
jmp 0x14000ac27
mov rax, r14
shr rax, 0x20
cmp eax, 0xd
jne 0x14000ac11
mov qword [rdi], 2
jmp 0x14000ac1c
mov qword [rdi], 1
mov qword [rdi + 8], r14
mov qword [rsi + 0x138], 0
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x200]
mov qword [rdi], 0
mov qword [rdi + 8], rax
jmp 0x14000ac1c
lea rcx, [rsi + 0x1a0]
mov rdx, r15
mov r8, rbp
call fcn.1400d0ce0
mov r15, qword [rsi + 0x1b0]
mov r14, qword [rsi + 0x1a0]
lea rcx, [r14 + r15]
cmp rbp, 2
jae 0x14000aa10
jmp 0x14000aa31
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs_Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_bytes_1.5.0_src_buf_take.rs
mov rcx, r13
mov rdx, r15
call fcn.1400865a0
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs_Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_bytes_1.5.0_src_buf_take.rs
mov rcx, rdi
mov rdx, r15
call fcn.1400865a0
ud2
mov eax, 0xffc10148
loope 0x14000ae37
invalid
mov dh, 0x43
adc byte [rcx + 0x20ebc175], bh
invalid
cmp edi, ebx
dec dword [rax - 0x39]
cmp byte [rax], r8b
add byte [rax], al
add byte [rcx], dh
shr cl, 0x91
add byte [rax], al
add byte [rax + 0x750d0f7f], al
cmp byte [rdi + 0xf], 0xd
jne 0x14000b043
invalid
clc
loopne 0x14000b0bf
add byte [rcx], dh
ror byte [rcx - 0x77], cl
fsubr st(0)
imul esi, dword [rdx - 0x74b7fff0], 0x17e0560d
add byte [rcx], dh
ror byte [rcx - 0x77], cl
invalid
add byte [rax], al
lea rcx, [rsp + 0x28]
mov rdx, rsi
call fcn.140059240
cmp dword [rsp + 0x28], 2
jne case.default.0x14000b1d5
mov rdi, qword [rsp + 0x30]
mov ebx, edi
and ebx, 3
lea rax, [0x14011a124]
lea eax, [0x14011a124]
lea eax, [0x14011a124]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
jmp rcx
movzx eax, byte [rdi + 0x10]
cmp al, 0xd
je 0x14000b218
mov dh, 0x47
adc byte [rcx + 0x2eb3974], bh
jmp 0x14000b1e3
xor edi, edi
mov qword [rsi + 0x38], 0
xor eax, eax
mov rdx, rdi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
ret
cmp byte [rdi + 0xf], 0xd
jne 0x14000b1e3
mov qword [rsi + 0x38], 0
jmp 0x14000b225
mov rcx, rdi
shr rcx, 0x20
call fcn.1400d62c0
cmp al, 0xd
jne 0x14000b1e3
mov qword [rsi + 0x38], 0
cmp ebx, 1
jne 0x14000b28c
lea rsi, [rdi - 1]
mov rbx, qword [rdi - 1]
mov rdi, qword [rdi + 7]
mov rcx, rbx
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x14000b259
cmp qword [rdi + 0x10], 0x11
jb 0x14000b248
mov rbx, qword [rbx - 8]
mov rcx, qword [0x140189110]
xor edx, edx
mov r8, rbx
call fcn.14011631c
mov rcx, qword [0x140189110]
xor edx, edx
mov r8, rsi
call fcn.14011631c
mov eax, 1
jmp 0x14000b1ed
mov eax, 1
jmp 0x14000b1ed
in al, dx
mov byte [rax], al
add byte [rax], al
and al, 0x78
dec dword [rcx - 0x75]
jg 0x14000b598
jg 0x14000b5a2
add byte [rsp + rbx + 0x48], dh
cmp dword [rdi + 0x10], 0x11
add byte [rax], al
add byte [rdi], cl
sub dword [rsp + 0xb0], edx
add eax, 0x44000000
mov eax, dword [rsp + 0x14c]
or byte [rcx], al
add byte [rax], al
cmp byte [rax - 0x75], cl
and al, 0x20
add dword [rax], eax
add byte [rax - 0x77], cl
fimul dword [rbp - 0x77]
invalid
add al, 2
add byte [rax], al
adc eax, 0x12f8a8
add eax, 0x110f8c
outsd dx, dword [rsi]
adc al, 1
add byte [rax], al
adc byte [rdx], al
add byte [rax], al
sal dl, 0xf
jo 0x14000e033
add byte [rsi + 0xf], ah
jo 0x14000e038
add byte [rbp + 0x31], al
invalid
fsub dword [rsi + 0xf]
je 0x14000e06e
invalid
movq mm3, mm0
add byte [rax], al
jbe 0x14000e341
ror byte [rdi], 0x85
cmp dword [rsi], edx
add byte [rax], al
fisttp word [rdi]
sub byte [rsp + 0xf0], al