Function at 0x140055590
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 r13, r8
mov rdi, rdx
mov rsi, rcx
lea rcx, [rsp + 0x30]
call fcn.1400558b0
mov eax, dword [rsp + 0x30]
cmp eax, 2
jne 0x1400555cc
mov rax, qword [rsp + 0x38]
jmp 0x14005572c
test eax, eax
je 0x140055722
mov rdx, qword [rdi + 0x90]
mov rbx, qword [rdi + 0x98]
cmp rbx, rdx
jne 0x140055785
mov r14, qword [rsp + 0x38]
mov r15d, r14d
shr r14, 0x20
cmp r12, r14
cmovb r14, r12
mov ebp, dword [rsp + 0x34]
lea r12, [r14 + rbp]
add r15, r12
sub r15, rbx
jbe 0x14005565d
mov rax, qword [rdi + 0x80]
sub rax, rbx
cmp rax, r15
jb 0x140055823
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rbx]
cmp r15, 2
jb 0x140055650
lea r8, [r15 - 1]
xor edx, edx
mov qword [rsp + 0x70], rax
call sub.VCRUNTIME140.dll_memset
add rbx, r15
dec rbx
mov rcx, qword [rsp + 0x70]
add rcx, rbx
mov byte [rcx], 0
inc rbx
mov qword [rdi + 0x90], rbx
cmp r12, rbx
ja 0x14005587d
mov rcx, qword [rdi + 0x88]
add rcx, rbp
mov rdx, r13
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rdi + 0x90]
cmp rdx, rbp
jb 0x14005588f
cmp rdx, r12
jb 0x14005589e
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rbp]
sub edx, r12d
add r12, rax
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], 7
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x44], 1
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x54], 6
mov qword [rsp + 0x58], r12
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, [rdi + 0xf0]
lea r8, [rsp + 0x78]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
test eax, eax
je 0x14005574f
shl rax, 0x20
or rax, 2
jmp 0x14005572c
movabs rax, 0x8009031700000002
mov qword [rsi + 8], rax
mov eax, 1
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x50]
mov rdx, qword [rdi + 0x90]
cmp rdx, rax
jb 0x140055771
mov qword [rdi + 0x90], rax
mov rdx, rax
mov qword [rdi + 0x98], 0
mov qword [rdi + 0x118], r14
xor ebx, ebx
cmp rbx, rdx
je 0x140055802
lea r14, [rdi + 0x10]
lea r15, [rsp + 0x30]
nop word cs:[rax + rax]
mov rax, rdx
sub rax, rbx
jb 0x140055856
mov r8, qword [rdi + 0x38]
test r8, r8
je 0x140055865
mov r9, qword [rdi + 0x88]
add r9, rbx
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, r14
call fcn.140198790
mov rcx, qword [rsp + 0x30]
cmp rcx, 2
je 0x140055814
mov rax, qword [rsp + 0x38]
test rcx, rcx
jne 0x14005572c
add rbx, rax
mov qword [rdi + 0x98], rbx
mov rdx, qword [rdi + 0x90]
cmp rbx, rdx
jne 0x1400557a0
mov rax, qword [rdi + 0x118]
mov qword [rsi + 8], rax
xor eax, eax
jmp 0x140055735
movabs rax, 0xd00000003
jmp 0x14005572c
lea rcx, [rdi + 0x80]
mov rdx, rbx
mov r8, r15
call fcn.1401ff800
mov rbx, qword [rdi + 0x90]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rbx]
cmp r15, 2
jae 0x140055632
jmp 0x140055650
lea r8, str.C:Users_root.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rbx
call fcn.14020a7b0
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x14021c478]
mov edx, 0x29
call fcn.14020a300
lea r8, str.C:Users_root.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, r12
mov rdx, rbx
call fcn.14020a830
lea r8, str.C:Users_root.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rbp
call fcn.14020a830
lea r8, str.C:Users_root.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.23_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, r12
call fcn.14020a830
int3