Function at 0x140217fc0
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 rbx, r9
mov rsi, rdx
mov rdi, rcx
mov qword [rdx + 0x138], r8
lea rcx, [rsp + 0x28]
call fcn.1402182e0
mov eax, dword [rsp + 0x28]
cmp eax, 2
je 0x1402181d2
test eax, eax
je 0x14021815a
mov r15, qword [rsi + 0x198]
cmp r15, qword [rsi + 0x190]
jne 0x1402181b9
mov qword [rsp + 0x70], rbx
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x30]
mov ebp, ebx
shr rbx, 0x20
cmp rax, rbx
cmovb rbx, rax
mov r12d, dword [rsp + 0x2c]
lea r13, [rbx + r12]
add rbp, r13
sub rbp, r15
jbe 0x140218098
mov rax, qword [rsi + 0x180]
sub rax, r15
cmp rax, rbp
jb 0x14021827b
mov r14, qword [rsi + 0x188]
lea rcx, [r14 + r15]
cmp rbp, 2
jb 0x14021808b
lea r8, [rbp - 1]
mov qword [rsp + 0x68], r12
xor edx, edx
call sub.msvcrt.dll_memset
mov r12, qword [rsp + 0x68]
add r15, rbp
dec r15
add r14, r15
mov rcx, r14
mov byte [rcx], 0
inc r15
mov qword [rsi + 0x190], r15
cmp r15, r13
jb 0x1402182ae
mov r14, qword [rsi + 0x188]
lea rbp, [r14 + r12]
mov rcx, rbp
mov rdx, qword [rsp + 0x70]
mov r8, rbx
call sub.msvcrt.dll_memcpy
cmp r15, r12
jb 0x1402182c0
sub r15d, r13d
add r13, r14
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], 7
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], 1
mov qword [rsp + 0x40], rbp
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], 6
mov qword [rsp + 0x50], r13
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movabs rax, 0x400000000
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x80], rax
lea rcx, [rsi + 0x1f0]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call sub.secur32.dll_EncryptMessage
test eax, eax
je 0x14021818b
mov r14d, eax
shl r14, 0x20
or r14, 2
mov rcx, r14
call fcn.1400c4ff0
cmp al, 0xd
jne 0x140218170
jmp 0x1402181e3
movabs r14, 0x8009031700000002
mov rcx, r14
call fcn.1400c4ff0
cmp al, 0xd
je 0x1402181e3
mov qword [rdi], 1
mov qword [rdi + 8], r14
mov qword [rsi + 0x138], 0
jmp 0x14021824f
mov eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x28]
add eax, dword [rsp + 0x48]
cmp qword [rsi + 0x190], rax
jb 0x1402181a7
mov qword [rsi + 0x190], rax
mov qword [rsi + 0x198], 0
mov qword [rsi + 0x218], rbx
lea rcx, [rsp + 0x28]
mov rdx, rsi
call fcn.140219310
cmp qword [rsp + 0x28], 0
je 0x140218264
mov r14, qword [rsp + 0x30]
mov rcx, r14
call fcn.1400c4ff0
cmp al, 0xd
jne 0x140218170
mov qword [rdi], 2
mov qword [rsi + 0x138], 0
mov eax, r14d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14021824f
test rax, rax
je 0x14021824f
lea rsi, [r14 - 1]
mov rdi, qword [r14 - 1]
mov rbx, qword [r14 + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x14021823e
cmp qword [rbx + 0x10], 0x11
jb 0x14021822d
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, rdi
call fcn.14029804c
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, rsi
call fcn.14029804c
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x218]
mov qword [rdi], 0
mov qword [rdi + 8], rax
jmp 0x14021817b
lea rcx, [rsi + 0x180]
mov rdx, r15
mov r8, rbp
call fcn.14011a890
mov r15, qword [rsi + 0x190]
mov r14, qword [rsi + 0x188]
lea rcx, [r14 + r15]
cmp rbp, 2
jae 0x14021806a
jmp 0x14021808b
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsStartSizeSizeLwsExtensionSizeLfBodyCrBodyLfTrailerTrailerLfEndCrEndLfEnd_home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_bytes_1.5.0_src_buf_take.rsassertion_failed:_cnt___self.limit
mov rcx, r13
mov rdx, r15
call fcn.1400ab800
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsStartSizeSizeLwsExtensionSizeLfBodyCrBodyLfTrailerTrailerLfEndCrEndLfEnd_home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_bytes_1.5.0_src_buf_take.rsassertion_failed:_cnt___self.limit
mov rcx, r12
mov rdx, r15
call fcn.1400ab800
int3