Function at 0x140030920
Capabilities:
Encrypt data using dpapi

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0xcb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc30], 0xfffffffffffffffe
mov rdi, rdx
mov rsi, rcx
mov r14, qword [rdx + 0x10]
cmp r14, 0xf
jae 0x1400309e1
movzx eax, byte [0x140213501]
mov ecx, 0x4b
mov edx, 1
call fcn.140031db0
test rax, rax
je 0x140030ca8
movups xmm0, xmmword [0x1401bf0ab]
movups xmmword [rax + 0x3b], xmm0
movups xmm0, xmmword [0x1401bf0a0]
movups xmmword [rax + 0x30], xmm0
movups xmm0, xmmword [0x1401bf090]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [0x1401bf080]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [str.Error:_Ciphertext_is_too_short_to_contain_a_valid_nonce_and_encrypted_data.os_cryptencrypted_key]
movups xmmword [rax], xmm0
mov qword [rsi + 8], 0x4b
mov qword [rsi + 0x10], rax
mov qword [rsi + 0x18], 0x4b
mov qword [rsi], 1
mov rdx, qword [rdi]
test rdx, rdx
je 0x140030c95
mov rcx, qword [rdi + 8]
mov r8d, 1
jmp 0x140030c90
mov qword [rbp + 0xc20], rdi
mov rdi, qword [r8 + 8]
mov rax, qword [r8 + 0x10]
mov qword [rbp + 0x760], rax
cmp rax, 0x20
jne 0x140030cc7
mov r15, qword [0x14020e078]
movzx eax, byte [r15]
cmp al, 0xff
je 0x140030a19
cmp al, 1
je 0x140030a71
jmp 0x140030ad0
mov byte [rbp + 0xc2f], 1
lea rcx, [rbp + 0x3a0]
mov edx, 1
call fcn.1400597f0
mov byte [rbp + 0xc2f], 1
lea rcx, [rbp + 0x760]
mov edx, 7
xor r8d, r8d
call fcn.140059820
mov ebx, dword [rbp + 0x3a8]
mov eax, ebx
not eax
test eax, 0xc000000
jne 0x140030acc
call fcn.14002f520
and eax, 2
shr eax, 1
shr ebx, 0x19
and ebx, eax
mov byte [r15], bl
je 0x140030ad0
mov byte [rbp + 0xc2f], 1
lea rcx, [rbp + 0xb20]
mov rdx, rdi
call fcn.14005bdd0
lea rcx, [rbp + 0x490]
lea rdi, [rbp + 0xb20]
mov rdx, rdi
call fcn.14002ec90
lea rbx, [rbp + 0x3a0]
mov r8d, pe_nt_image_headers64
mov rcx, rbx
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbp + 0x760]
mov r8d, 0x1e0
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140030ae6
mov byte [r15], 0
mov byte [rbp + 0xc2f], 1
lea rcx, [rbp + 0x760]
mov rdx, rdi
call fcn.140059850
lea rdi, [rbp + 0x3a0]
lea rdx, [rbp + 0x760]
mov r8d, 0x3c0
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + 0xc2f], 1
lea rcx, [rbp - 0x40]
mov rdx, rdi
call fcn.140029700
mov rax, qword [rbp + 0xc20]
mov rbx, qword [rax + 8]
lea r8, [rbx + 3]
lea rax, [r14 - 0xf]
lea r9, [rbx + 0xf]
mov byte [rbp + 0xc2e], 1
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x3a0]
lea rdx, [rbp - 0x40]
call fcn.140029290
mov rax, qword [rbp + 0x3a0]
movabs rcx, 0x8000000000000000
cmp rax, rcx
jne 0x140030c58
lea rax, [0x1401befd8]
mov qword [rbp + 0x760], rax
mov qword [rbp + 0x768], 1
lea rax, [0x1401beed0]
mov qword [rbp + 0x770], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x778], xmm0
mov byte [rbp + 0xc2e], 1
lea rdi, [rbp + 0x760]
mov rcx, rdi
call fcn.140063b20
mov rax, qword [rbp + 0xc20]
mov rax, qword [rax]
mov qword [rbp + 0xc18], rax
mov dword [rbp + 0xb20], r14d
mov qword [rbp + 0xc10], rbx
mov qword [rbp + 0xb28], rbx
mov dword [rbp + 0x760], 0
mov qword [rbp + 0x768], 0
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea rcx, [rbp + 0xb20]
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call sub.crypt32.dll_CryptUnprotectData
mov rdi, qword [rbp + 0x768]
mov ebx, dword [rbp + 0x760]
mov rdx, qword [rbp + 0xc18]
test rdx, rdx
je 0x140030c39
mov r8d, 1
mov rcx, qword [rbp + 0xc10]
call fcn.140031dc0
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rbx
mov qword [rsi], 0
mov rax, qword [0x14020e078]
movzx eax, byte [rax]
jmp 0x140030c95
movups xmm0, xmmword [rbp + 0x3a8]
mov qword [rsi + 8], rax
movups xmmword [rsi + 0x10], xmm0
mov qword [rsi], 0
mov rax, qword [0x14020e078]
movzx eax, byte [rax]
mov rax, qword [rbp + 0xc20]
mov rdx, qword [rax]
test rdx, rdx
je 0x140030c95
mov r8d, 1
mov rcx, rbx
call fcn.140031dc0
mov rax, rsi
add rsp, 0xcb8
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0xc20], rdi
mov byte [rbp + 0xc2f], 1
mov ecx, 1
mov edx, 0x4b
call fcn.1401b8890
jmp 0x140030cfb
mov qword [rbp - 0x40], 0
mov byte [rbp + 0xc2f], 1
lea rax, str.C:Usersklns.cargo_registry_srcindex.crates.io_6f17d22bba15001fgeneric_array_0.14.7_srclib.rs
mov qword [rsp + 0x20], rax
lea r8, [0x1401bf068]
lea rdx, [rbp + 0x760]
lea r9, [rbp - 0x40]
xor ecx, ecx
call fcn.1401b5190
ud2