Function at 0x180082cfd
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.180082fd3
mov eax, dword [r14]
cmp eax, 2
je 0x180082f4d
test eax, eax
je 0x180082efb
mov rax, qword [rsi + 0xb8]
cmp rax, qword [rsi + 0xb0]
jne 0x180082f37
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.18006abe6
cmp rdx, rbx
ja 0x180082fb9
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 0x180082dc6
lea rcx, [rsi + 0xa0]
mov rdx, rax
call fcn.1800176f9
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.180082c89
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.1800162e7
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.180082ca0
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.180082c89
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.180082cb1
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 0x180082f07
mov r14d, eax
shl r14, 0x20
or r14, 2
jmp 0x180082f52
movabs r14, 0x8009031700000002
jmp 0x180082f52
mov eax, dword [rsp + 0x40]
add eax, dword [rsp + 0x30]
add eax, dword [rsp + 0x50]
cmp qword [rsi + 0xb0], rax
jb 0x180082f23
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.180083b48
cmp qword [rbx], 0
je 0x180082fa8
mov r14, qword [rsp + 0x38]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], 1
mov rcx, r14
call fcn.18002c6e0
cmp al, 0xd
jne 0x180082f84
lea rcx, [rsp + 0x38]
mov qword [rdi], 2
and qword [rsi + 0x38], 0
call fcn.180055c7e
jmp 0x180082f94
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 0x180082f8f
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.1800d7810
ud2