Function at 0x140185f50
Capabilities:
Encrypt data via sspi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov r13, r9
mov qword [rbp + 0x30], rcx
mov qword [rdx + 0x38], r8
lea rcx, [rbp - 0x10]
mov qword [rbp + 0x38], rdx
call fcn.140181fa0
mov eax, dword [rbp - 0x10]
cmp eax, 2
jne case.default.0x140185fbe
mov rdi, qword [rbp - 8]
lea rbx, [rbp - 8]
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], 1
mov eax, edi
and eax, 3
lea rcx, [0x1402abaa0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r12, qword [rbp + 0x38]
jmp rax
test eax, eax
mov r12, qword [rbp + 0x38]
je 0x14018604c
mov rdx, qword [r12 + 0xb0]
mov r14, qword [r12 + 0xb8]
cmp r14, rdx
jne 0x140186222
mov rax, qword [rbp + 0xb0]
mov r15d, dword [rbp - 0xc]
mov rbx, qword [rbp - 8]
mov esi, ebx
shr rbx, 0x20
cmp rax, rbx
cmovb rbx, rax
lea rdi, [rbx + r15]
add rsi, rdi
lea rax, [r12 + 0xa0]
mov qword [rbp - 0x18], rax
sub rsi, r14
jbe 0x1401860b6
mov rax, qword [r12 + 0xa8]
sub rax, r14
cmp rax, rsi
jae 0x14018607b
mov r12, qword [rbp - 0x18]
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.140280d00
mov rax, qword [rbp + 0x38]
mov r14, qword [rax + 0xb0]
jmp 0x14018607f
movabs rdi, 0x8009031700000002
lea rbx, [rbp - 8]
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], 1
mov eax, edi
and eax, 3
lea rcx, [0x1402abaa0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r12, qword [rbp - 0x18]
mov r12, qword [r12]
lea rcx, [r12 + r14]
cmp rsi, 2
jb 0x1401860a4
lea r8, [rsi - 1]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
add r14, rsi
dec r14
add r12, r14
mov rcx, r12
mov byte [rcx], 0
inc r14
mov r12, qword [rbp + 0x38]
mov qword [r12 + 0xb0], r14
cmp rdi, r14
ja 0x1401864c3
mov rcx, qword [r12 + 0xa0]
add rcx, r15
mov rdx, r13
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [r12 + 0xb0]
cmp rdx, r15
jb 0x1401864d7
mov rsi, qword [rbp - 0x18]
mov r8, qword [rsi]
lea rcx, [rbp - 0x28]
mov edx, 7
mov r9, r15
call fcn.14019d090
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0xb0]
cmp rdi, rdx
ja 0x1401864e8
add r15, qword [rsi]
lea rcx, [rbp - 0x38]
mov edx, 1
mov r8, r15
mov r9, rbx
call fcn.14019d090
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0xb0]
mov r9, rdx
sub r9, rdi
jb 0x1401864f9
add rdi, qword [rsi]
lea rcx, [rbp - 0x48]
mov edx, 6
mov r8, rdi
call fcn.14019d090
lea rcx, [rbp + 0x20]
xor edx, edx
xor r8d, r8d
call fcn.14019d090
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp - 0x10], xmm0
movups xmm0, xmmword [rbp - 0x38]
movaps xmmword [rbp], xmm0
movups xmm0, xmmword [rbp - 0x48]
movaps xmmword [rbp + 0x10], xmm0
lea rcx, [rbp - 0x58]
lea rdx, [rbp - 0x10]
mov r8d, 4
call fcn.14019d0b0
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 0xc0]
call fcn.14004cf70
lea r8, [rbp - 0x58]
mov rcx, rax
xor edx, edx
xor r9d, r9d
call qword [sym.imp.secur32.dll_EncryptMessage]
mov edi, eax
test eax, eax
je 0x1401861e6
shl rdi, 0x20
or rdi, 2
lea rbx, [rbp - 8]
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], 1
mov eax, edi
and eax, 3
lea rcx, [0x1402abaa0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r12, qword [rbp + 0x38]
jmp rax
mov eax, dword [rbp]
add eax, dword [rbp - 0x10]
add eax, dword [rbp + 0x10]
mov r12, qword [rbp + 0x38]
mov rdx, qword [r12 + 0xb0]
cmp rdx, rax
jb 0x14018620b
mov qword [r12 + 0xb0], rax
mov rdx, rax
mov qword [r12 + 0xb8], 0
mov qword [r12 + 0x100], rbx
xor r14d, r14d
cmp r14, rdx
je 0x140186294
lea rbx, [r12 + 0x10]
lea r15, [rbp - 0x10]
mov rax, rdx
sub rax, r14
jb 0x1401864b2
mov r8, qword [r12 + 0x38]
test r8, r8
je 0x140186498
mov r9, qword [r12 + 0xa0]
add r9, r14
mov qword [rsp + 0x20], rax
mov rcx, r15
mov rdx, rbx
call fcn.14020eb30
mov rax, qword [rbp - 0x10]
cmp rax, 2
je 0x1401862b0
mov rdi, qword [rbp - 8]
test rax, rax
mov r12, qword [rbp + 0x38]
jne 0x1401862e3
add r14, rdi
mov qword [r12 + 0xb8], r14
mov rdx, qword [r12 + 0xb0]
cmp r14, rdx
jne 0x140186230
mov rax, qword [r12 + 0x100]
mov rcx, qword [rbp + 0x30]
mov qword [rcx], 0
mov qword [rcx + 8], rax
jmp 0x14018637d
movabs rdi, 0xd00000003
lea rbx, [rbp - 8]
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], 1
mov eax, edi
and eax, 3
lea rcx, [0x1402abaa0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov r12, qword [rbp + 0x38]
jmp rax
lea rbx, [rbp - 8]
mov qword [rbp - 8], rdi
mov qword [rbp - 0x10], 1
mov eax, edi
and eax, 3
lea rcx, [0x1402abaa0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx eax, byte [rdi + 0x10]
jmp 0x14018634c
mov rcx, rdi
shr rcx, 0x20
call fcn.140266830
mov r12, qword [rbp + 0x38]
jmp 0x14018634c
mov rax, rdi
shr rax, 0x20
cmp eax, 0x28
ja case.default.0x140186342
lea rcx, [0x1402abab0]
push rdi
adc al, byte [rax]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov rcx, qword [rbp + 0x30]
jmp rax
xor eax, eax
jmp 0x140186350
movzx eax, byte [rdi + 0xf]
mov rcx, qword [rbp + 0x30]
cmp al, 0xd
jne 0x140186372
mov qword [rcx], 2
mov qword [r12 + 0x38], 0
mov rcx, rbx
call fcn.140004fa0
mov rcx, qword [rbp + 0x30]
jmp 0x140186386
mov qword [rcx], 1
mov qword [rcx + 8], rdi
mov qword [r12 + 0x38], 0
mov rax, rcx
add rsp, 0xc8
add byte [rax], al
invalid
pop rbx
add byte [rax], al
add byte [rbx + 0x5f], bl
pop rdi
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov al, 0x25
jmp 0x140186350
mov al, 0x23
jmp 0x140186350
mov al, 0x24
jmp 0x140186350
mov al, 0x1b
jmp 0x140186350
mov al, 0x22
jmp 0x140186350
mov al, 0x10
jmp 0x140186350
mov al, 0xe
jmp 0x140186350
mov al, 0x21
jmp 0x140186350
mov al, 0xb
jmp 0x140186350
mov al, 4
jmp 0x140186350
invalid
mov esi, dword [rax - 0x4f7814d8]
or al, 0xeb
jmp 0x140186350
mov al, 9
jmp 0x140186350
invalid
push qword [rax - 0x8a16e7]
mov al, 0x28
jmp 0x140186350
mov al, 0xc
jmp 0x140186350
mov al, 9
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x19
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x18
jmp 0x140186350
invalid
invalid
invalid
mov al, 2
jmp 0x140186350
invalid
invalid
invalid
mov al, 0xf
jmp 0x140186350
invalid
invalid
invalid
mov al, 3
jmp 0x140186350
invalid
invalid
invalid
mov al, 7
jmp 0x140186350
invalid
invalid
invalid
mov al, 1
jmp 0x140186350
mov al, 0x1f
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x11
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x29
jmp 0x14018634c
invalid
invalid
invalid
mov al, 0x14
jmp 0x140186350
invalid
invalid
invalid
mov al, 5
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x15
jmp 0x140186350
invalid
invalid
invalid
mov al, 0xd
jmp 0x140186350
invalid
invalid
invalid
mov al, 6
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x12
jmp 0x140186350
invalid
invalid
invalid
mov al, 0xa
jmp 0x140186350
invalid
invalid
invalid
mov al, 8
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x1e
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x20
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x16
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x27
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x13
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x17
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x1c
jmp 0x140186350
invalid
invalid
invalid
mov al, 0x1d
jmp 0x140186350
mov al, 0x26
jmp 0x140186350
mov al, 0x1a
jmp 0x140186350
lea rcx, str.assertion_failed:__self.context.is_null__
lea r8, [0x1402aab88]
mov edx, 0x29
call fcn.14028b2e0
jmp 0x140186508
lea r8, str.C:Usersutente.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, r14
call fcn.14028b790
jmp 0x140186508
lea r8, str.C:Usersutente.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rdi
mov rdx, r14
call fcn.14028b810
jmp 0x140186508
lea r8, str.C:Usersutente.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, r15
call fcn.14028b810
jmp 0x140186508
lea r8, str.C:Usersutente.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rdi
call fcn.14028b810
jmp 0x140186508
lea r8, str.C:Usersutente.cargo_registry_srcindex.crates.io_6f17d22bba15001f_schannel_0.1.22_src_tls_stream.rsassertion_failed:_pos___self.dec_in.get_ref__.len___as_u64
mov rcx, rdi
call fcn.14028b790
ud2
rol byte [rbp + 0x31], cl
leave
call qword [sym.imp.secur32.dll_EncryptMessage]
mov edi, eax
test eax, eax
je 0x140186807
mov eax, 0x8900105c
mov dword [rbp + 0x483174c0], 0x4820e7c1
or rdi, 2
shl rdi, 0x20
or rdi, 2
lea rbx, [rbp - 0x18]
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], 1
add dword [rax], eax
add byte [rax], al
add dword [rax], eax
add byte [rax], al
mov eax, edi
and eax, 3
lea rcx, [0x1402abb54]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
mov rsi, qword [rbp + 0x30]
jmp rax
mov eax, dword [rbp - 0x10]
add eax, dword [rbp - 0x20]
add eax, dword [rbp]
mov rsi, qword [rbp + 0x38]
cmp qword [rsi + 0x1b0], rax
jb 0x140186824
mov qword [rsi + 0x1b0], rax
mov qword [rsi + 0x1b8], 0
mov qword [rsi + 0x200], rbx
lea rcx, [rbp - 0x20]
mov rdx, rsi
call fcn.140185920
cmp qword [rbp - 0x20], 0
je case.default.0x140186878
mov rdi, qword [rbp - 0x18]
mov rsi, qword [rbp + 0x30]
lea rbx, [rbp - 0x18]
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], 1
loopne case.0x140186878.84
add byte [rax], al
invalid
loopne case.0x140186878.84
add byte [rax], al
add byte [rcx + 0x3e083f8], cl
and eax, 3
add byte [rax], al
mov eax, edi
and eax, 3
lea rcx, [0x1402abb54]
lea ecx, [0x1402abb54]
adc al, byte [rax]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
add eax, ecx
add eax, ecx
jmp rax
movzx eax, byte [rdi + 0x10]
jmp 0x1401868b6
adc bl, ch
mov rcx, rdi
mov rcx, rdi
mov rcx, rdi
shr rcx, 0x20
shr ecx, 0x20
call fcn.140266830
jmp 0x1401868b6
add bl, ch
sub byte [rax - 0x77], cl
mov rax, rdi
mov rax, rdi
shr rax, 0x20
shr eax, 0x20
cmp eax, 0x28
ja case.default.0x1401868ac
xchg dword [rbx], edx
add dword [rax], eax
invalid
xchg dword [rbx], edx
add dword [rax], eax
add byte [rax - 0x73], cl
invalid
invalid
lea rcx, [0x1402abb64]
or eax, 0x1252bf
movsxd rax, dword [rcx + rax*4]
add al, 0x81
add rax, rcx
jmp rax
xor eax, eax
jmp 0x1401868b6
movzx eax, byte [rdi + 0xf]
cmovs ecx, dword [rbx + 0xd3c384d]
mov rcx, qword [rbp + 0x38]
cmp al, 0xd
jne 0x1401868da
mov qword [rsi], 2
add byte [rax], al
mov qword [rcx + 0x138], 0
add byte [rax], al
add byte [rax], al
add byte [rax], al
mov rcx, rbx
mov ecx, ebx
call fcn.140004fa0
jmp 0x1401868f0
mov qword [rsi], 1
add byte [rax], al
mov qword [rsi + 8], rdi
mov qword [rcx + 0x138], 0
mov dword [rcx + 0x138], 0
mov rax, rsi
add rsp, 0xc8
add esp, 0xc8
add esp, 0xc8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop rsi
pop rsi
pop r15
pop rbp
ret
mov rcx, qword [rbp + 0x38]
mov rax, qword [rcx + 0x200]
add byte [rax], al
cmp byte [r8 - 0x75], r9b
add dword [rax], 0x48000002
add byte [rax], al
invalid
add byte [rax], al
mov rsi, qword [rbp + 0x30]
mov esi, dword [rbp + 0x30]
mov qword [rsi], 0
mov dword [rsi], 0
add byte [rax], al
mov qword [rsi + 8], rax
mov dword [rsi + 8], eax
or bl, r13b
ret 0x25b0
mov al, 0x25
jmp 0x1401868e5
mov al, 0x25
jmp 0x1401868b6
mov al, 0x23
jmp 0x1401868b6
invalid
mov esi, dword [rax - 0x4f7814dc]
sbb ebp, ebx
jmp 0x1401868b6
mov al, 0x22
jmp 0x1401868b6
invalid
push qword [rax - 0x8a16f0]
mov al, 0x10
invalid
jne 0x14018693e
mov al, 0x24
jmp 0x1401868b6
and al, 0xeb
xchg dword [rax - 0x4f7c14e5], esi
jmp 0x1401868b6
mov al, 0x22
invalid
jl 0x140186937
mov al, 0x1b
jmp 0x1401868b6
mov al, 0x22
jmp 0x1401868b6
invalid
invalid
invalid
invalid
mov al, 0x10
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xe
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x21
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xb
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 4
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x28
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xc
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 9
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x19
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x18
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 2
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xf
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 3
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 7
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 1
jmp 0x1401868b6
mov al, 0x1f
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x11
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x29
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x14
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 5
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x15
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xd
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 6
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x12
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0xa
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 8
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x1e
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x20
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x16
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x27
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x13
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x17
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x1c
jmp 0x1401868b6
invalid
invalid
invalid
mov al, 0x1d
jmp 0x1401868b6
mov al, 0x26
jmp 0x1401868b6
mov al, 0x1a
jmp 0x1401868b6