Function at 0x14010de40
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 r12, rcx
mov qword [rdx + 0x90], r8
lea rcx, [rsp + 0x38]
call fcn.140113f70
mov eax, dword [rsp + 0x38]
cmp eax, 2
jne 0x14010de80
mov rdi, qword [rsp + 0x40]
jmp 0x14010df22
test eax, eax
je 0x14010df18
mov rbx, qword [rsi + 0x40]
mov rdx, qword [rsi + 0x58]
cmp rbx, rdx
jne 0x14010e08f
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0x3c]
mov r15, qword [rsp + 0x40]
mov ebp, r15d
shr r15, 0x20
cmp rax, r15
cmovb r15, rax
mov rdi, rcx
lea r9, [r15 + rcx]
add rbp, r9
mov r13, rbp
sub r13, rbx
mov qword [rsp + 0x30], r12
jbe 0x14010df48
mov rax, qword [rsi + 0x48]
sub rax, rbx
mov rdx, rbx
cmp rax, r13
jb 0x14010df4e
mov r12, qword [rsi + 0x50]
lea rcx, [r12 + rdx]
cmp r13, 2
jb 0x14010df79
mov rbp, rdx
lea r8, [r13 - 1]
mov rbx, r9
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rdx, rbp
mov r9, rbx
lea rdx, [r13 - 1]
add rdx, rbp
lea rcx, [r12 + rdx]
jmp 0x14010df7e
movabs rdi, 0x8009031700000002
mov ebx, edi
and ebx, 3
lea rax, [0x14010e264]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
jmp rcx
movzx eax, byte [rdi + 0x10]
cmp al, 0xd
je 0x14010e174
jmp 0x14010e1ec
mov r12, qword [rsi + 0x50]
jmp 0x14010df8b
lea rcx, [rsi + 0x48]
mov r12, r9
mov rdx, rbx
mov r8, r13
call fcn.1401726f0
mov r9, r12
mov rdx, qword [rsi + 0x58]
mov r12, qword [rsi + 0x50]
lea rcx, [r12 + rdx]
cmp r13, 2
jae 0x14010def0
cmp rbp, rbx
je 0x14010df84
mov byte [rcx], 0
inc rdx
mov qword [rsi + 0x58], rdx
mov rbx, rdx
mov r13, r9
cmp rbx, r9
jb 0x14010e243
lea rbp, [r12 + rdi]
mov rcx, rbp
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
cmp rbx, rdi
jb 0x14010e24f
sub ebx, r13d
xor eax, eax
test r12, r12
cmove edi, eax
mov ecx, r15d
cmove ecx, eax
cmove ebx, eax
lea rax, [r12 + r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x3c], 7
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], 1
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], 6
mov qword [rsp + 0x60], rax
movabs rax, 0x400000000
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x80], rax
lea rcx, [rsi + 0x60]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x14010e05d
mov edi, eax
shl rdi, 0x20
or rdi, 2
mov ebx, edi
and ebx, 3
lea rax, [0x14010e264]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
mov r12, qword [rsp + 0x30]
jmp rcx
mov eax, dword [rsp + 0x48]
add eax, dword [rsp + 0x38]
add eax, dword [rsp + 0x58]
mov rdx, qword [rsi + 0x58]
cmp rdx, rax
mov r12, qword [rsp + 0x30]
jb 0x14010e07e
mov qword [rsi + 0x58], rax
mov rdx, rax
mov qword [rsi + 0x40], 0
mov qword [rsi + 0xe0], r15
xor ebx, ebx
cmp rbx, rdx
je 0x14010e0f8
lea rbp, [rsi + 0x98]
lea r15, [rsp + 0x38]
mov rax, rdx
sub rax, rbx
jb 0x14010e218
mov r8, qword [rsi + 0x90]
test r8, r8
je 0x14010e229
mov r9, qword [rsi + 0x50]
add r9, rbx
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rbp
call fcn.140154f00
mov rax, qword [rsp + 0x38]
cmp rax, 2
je 0x14010e111
mov rdi, qword [rsp + 0x40]
test rax, rax
jne 0x14010e130
add rbx, rdi
mov qword [rsi + 0x40], rbx
mov rdx, qword [rsi + 0x58]
cmp rbx, rdx
jne 0x14010e0a0
mov rax, qword [rsi + 0xe0]
mov qword [r12], 0
mov qword [r12 + 8], rax
jmp 0x14010e1f9
movabs rdi, 0xd00000003
mov ebx, edi
and ebx, 3
lea rax, [0x14010e264]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
jmp rcx
mov ebx, edi
and ebx, 3
lea rax, [0x14010e264]
movsxd rcx, dword [rax + rbx*4]
add rcx, rax
jmp rcx
cmp byte [rdi + 0xf], 0xd
jne 0x14010e1ec
mov qword [r12], 2
mov qword [rsi + 0x90], 0
jmp 0x14010e18c
mov rcx, rdi
shr rcx, 0x20
call fcn.14013c510
cmp al, 0xd
jne 0x14010e1ec
mov qword [r12], 2
mov qword [rsi + 0x90], 0
cmp ebx, 1
jne 0x14010e204
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
cmp qword [rax + 8], 0
je 0x14010e1c2
mov r8, qword [rsi]
cmp qword [rax + 0x10], 0x11
jb 0x14010e1b3
mov r8, qword [r8 - 8]
mov rcx, qword [0x140221370]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [0x140221370]
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14010e204
mov rax, rdi
shr rax, 0x20
cmp eax, 0xd
jne 0x14010e1ec
mov qword [r12], 2
jmp 0x14010e1f9
mov qword [r12], 1
mov qword [r12 + 8], rdi
mov qword [rsi + 0x90], 0
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_schannel_0.1.22_src_tls_stream.rsC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_bytes_1.5.0_src_buf_take.rsassertion_failed:_cnt___self.limit
mov rcx, rbx
call fcn.14016f3b0
ud2
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x1401e4158]
mov edx, 0x29
call fcn.14016f3d0
ud2
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_schannel_0.1.22_src_tls_stream.rsC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_bytes_1.5.0_src_buf_take.rsassertion_failed:_cnt___self.limit
mov rcx, r13
jmp 0x14010e259
lea r8, str.C:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_schannel_0.1.22_src_tls_stream.rsC:UsersUser.cargo_registry_srcgithub.com_1ecc6299db9ec823_bytes_1.5.0_src_buf_take.rsassertion_failed:_cnt___self.limit
mov rcx, rdi
mov rdx, rbx
call fcn.14016f3c0
ud2