Function at 0x1400858f2
Capabilities:
Decrypt data via sspi

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
mov rdi, rdx
mov rsi, rcx
mov rcx, qword [rdx + 0x170]
mov rdx, qword [rdx + 0x168]
cmp rdx, rcx
jb 0x140085b0a
mov rax, qword [rdi + 0x160]
xorps xmm0, xmm0
lea r8, [rsp + 0x20]
movups xmmword [r8 + 0x30], xmm0
mov dword [r8], ecx
mov dword [r8 + 4], 1
mov qword [r8 + 8], rax
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movabs rax, 0x400000000
lea rdx, [rsp + 0x60]
mov qword [rdx], rax
mov qword [rdx + 8], r8
lea rcx, [rdi + 0x1e8]
xor r8d, r8d
xor r9d, r9d
call sub.secur32.dll_DecryptMessage
cmp eax, 0x90316
jg 0x140085a74
cmp eax, 0x80090318
je 0x140085ad5
test eax, eax
jne 0x140085ac5
mov rcx, qword [rdi + 0x150]
mov rdx, qword [rdi + 0x148]
mov r8, rdx
sub r8, rcx
jb 0x140085b16
mov rbx, qword [rsp + 0x38]
sub rbx, qword [rdi + 0x160]
mov r14d, dword [rsp + 0x30]
lea r15, [rbx + r14]
lea r12, [rdi + 0x138]
mov qword [rdi + 0x148], 0
mov rdx, qword [rdi + 0x140]
lea r9, [rdx + rcx]
lea rax, [rsp + 0x70]
mov qword [rax + 0x18], rcx
mov qword [rax + 0x20], r8
mov qword [rax], rdx
mov qword [rax + 8], r9
mov qword [rax + 0x10], r12
mov rcx, rax
call sym.__alloc::vec::drain::Drain_T_A__as_core::ops::drop::Drop_::drop::h627502227cb7a3e2
cmp r15, rbx
jb 0x140085b22
mov rdx, qword [rdi + 0x168]
cmp rdx, r15
jb 0x140085b34
add rbx, qword [rdi + 0x160]
mov rcx, r12
mov rdx, rbx
mov r8, r14
call sym.alloc::vec::Vec_T_A_::extend_from_slice::hd72d6d103e057bb0
mov qword [rdi + 0x150], 0
xor ebx, ebx
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x170]
mov eax, dword [rsp + 0x50]
cmovne eax, ebx
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::h51be239df6c567dd
xor eax, eax
cmp qword [rdi + 0x170], 0
sete al
mov qword [rdi + 0x208], rax
mov byte [rsi + 1], 0
jmp 0x140085af7
cmp eax, 0x90317
je 0x140085af1
cmp eax, 0x90321
jne 0x140085ac5
mov dword [rdi + 0x1c8], 0x10000
xor ebx, ebx
mov byte [rdi + 0x1cc], bl
cmp dword [rsp + 0x54], 5
mov rdx, qword [rdi + 0x170]
mov eax, 0
cmove eax, dword [rsp + 0x50]
sub rdx, rax
mov rcx, rdi
call sym.schannel::tls_stream::TlsStream_S_::consume_enc_in::h51be239df6c567dd
mov qword [rdi + 0x208], 0
mov byte [rsi + 1], bl
jmp 0x140085af7
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
mov bl, 1
jmp 0x140085af7
cmp dword [rsp + 0x34], 4
mov eax, 1
cmove eax, dword [rsp + 0x30]
mov qword [rdi + 0x208], rax
mov byte [rsi + 1], 0
jmp 0x140085af5
mov byte [rsi + 1], 1
xor ebx, ebx
mov byte [rsi], bl
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.26_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_vecmod.rs
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.26_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rbx
mov rdx, r15
call sym.core::slice::index::slice_index_order_fail::h786748ba81f41b02
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_schannel_0.1.26_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, r15
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
int3