Function at 0x180098986
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 + 0x38], r8
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.180098c5c
mov eax, dword [r14]
cmp eax, 2
je 0x180098bd6
test eax, eax
je 0x180098b84
mov rax, qword [rsi + 0xb8]
cmp rax, qword [rsi + 0xb0]
jne 0x180098bc0
mov r8, qword [rsp + 0xf0]
mov r15d, dword [rsp + 0x34]
mov r13, qword [rsp + 0x38]
mov rbx, r13
shr rbx, 0x20
cmp r8, rbx
mov rcx, rbx
cmovb rcx, r8
lea r9, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov qword [rsp + 0x70], rcx
mov rdx, r12
call fcn.1800499e3
cmp rdx, rbx
ja 0x180098c42
mov rbp, rdx
mov rbx, rax
mov r12, rdx
add r12, r15
mov eax, r13d
add rax, r12
mov rdx, qword [rsi + 0xb0]
cmp rdx, rax
jae 0x180098a4f
lea rcx, [rsi + 0xa0]
mov rdx, rax
call fcn.180013832
mov rdx, qword [rsi + 0xb0]
mov rcx, qword [rsi + 0xa0]
lea rax, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov qword [rsp + 0x20], rax
mov r8, r15
mov r9, r12
call fcn.180098912
lea rcx, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rbx
mov r9, rbp
call fcn.180012667
mov rcx, qword [rsi + 0xa0]
mov rdx, qword [rsi + 0xb0]
lea r9, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov r8, r15
call fcn.180098929
mov r13, rax
mov rbp, rdx
xor eax, eax
test r13, r13
cmove ebp, eax
mov rcx, qword [rsi + 0xa0]
mov rdx, qword [rsi + 0xb0]
lea rax, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov qword [rsp + 0x20], rax
mov r8, r15
mov r9, r12
call fcn.180098912
mov r15, rax
mov rbx, rdx
test rax, rax
mov eax, 0
cmove ebx, eax
mov rcx, qword [rsi + 0xa0]
mov rdx, qword [rsi + 0xb0]
lea r9, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov r8, r12
call fcn.18009893a
test rax, rax
mov ecx, 0
cmove edx, ecx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x34], 7
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], 1
mov qword [rsp + 0x48], r15
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x54], 6
mov qword [rsp + 0x58], rax
movabs rax, 0x400000000
lea r8, [rsp + 0x78]
mov qword [r8], rax
mov qword [r8 + 8], r14
lea rcx, [rsi + 0xc0]
xor edx, edx
xor r9d, r9d
call qword [sym.imp.Secur32.dll_EncryptMessage]
test eax, eax
je 0x180098b90
mov r14d, eax
shl r14, 0x20
or r14, 2
jmp 0x180098bdb
movabs r14, 0x8009031700000002
jmp 0x180098bdb
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x50]
cmp qword [rsi + 0xb0], rax
jb 0x180098bac
mov qword [rsi + 0xb0], rax
and qword [rsi + 0xb8], 0
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x100], rax
lea rbx, [rsp + 0x30]
mov rcx, rbx
mov rdx, rsi
call fcn.1800997d1
cmp qword [rbx], 0
je 0x180098c31
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], 1
mov rcx, r14
call fcn.180001a64
cmp al, 0xd
jne 0x180098c0d
lea rcx, [rsp + 0x38]
mov qword [rdi], 2
and qword [rsi + 0x38], 0
call fcn.18006b95e
jmp 0x180098c1d
mov qword [rdi], 1
mov qword [rdi + 8], r14
and qword [rsi + 0x38], 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 + 0x100]
and qword [rdi], 0
mov qword [rdi + 8], rax
jmp 0x180098c18
lea rcx, str.assertion_failed:_buf.len_____sizes.cbMaximumMessage_as_usize
lea r8, str..cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rs
mov edx, 0x3e
call fcn.180146900
ud2