Function at 0x140071c94
Capabilities:
Encrypt data using dpapi

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r13
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov ebx, r9d
mov rsi, r8
mov r14, rdx
mov r15, rcx
xor edi, edi
mov rcx, qword [str.___t_]
lea r13, str.___t_
cmp rcx, r13
je 0x140071cf3
test byte [rcx + 0x1c], 2
je 0x140071cf3
cmp byte [rcx + 0x19], 5
jb 0x140071cf3
mov rcx, qword [rcx + 0x10]
lea edx, [rdi + 0xa]
lea r8, [0x1400864b8]
call fcn.140001010
xor eax, eax
mov qword [rbp - 8], rsi
mov qword [rbp - 0x30], rax
lea r8, [rbp - 0x20]
mov qword [rbp - 0x28], rax
lea rdx, str.Description
lea rax, [0x1400864c8]
mov dword [rbp - 0x10], ebx
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x10]
lea rax, [rbp - 0x30]
mov dword [rbp - 0x20], 0x14
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rdi
call qword [sym.imp.CRYPT32.dll_CryptProtectData]
test eax, eax
jne 0x140071d85
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
cmp rcx, r13
je 0x140071d7e
test byte [rcx + 0x1c], 2
je 0x140071d7e
cmp byte [rcx + 0x19], 2
jb 0x140071d7e
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400864b8]
mov edx, VariantTimeToDosDateTime
mov r9d, eax
call fcn.140001030
xor eax, eax
jmp 0x140071efd
mov eax, dword [rbp - 0x30]
or esi, 0xffffffff
add eax, 0x4c
cmp eax, 0x4c
cmovae esi, eax
sbb ebx, ebx
and ebx, 0x80070216
cmp eax, 0x4c
jae 0x140071df2
mov rcx, qword [str.___t_]
cmp rcx, r13
je 0x140071dd1
test byte [rcx + 0x1c], 2
je 0x140071dd1
cmp byte [rcx + 0x19], 2
jb 0x140071dd1
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400864b8]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r9d, ebx
call fcn.140001030
mov edx, ebx
movzx eax, bx
and edx, 0x1fff0000
cmp edx, 0x70000
cmove ebx, eax
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140071ef1
mov edx, esi
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
jne 0x140071e4c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
cmp rcx, r13
je 0x140071ef1
test byte [rcx + 0x1c], 2
je 0x140071ef1
cmp byte [rcx + 0x19], 2
jb 0x140071ef1
lea edx, [rbx + 0xd]
mov rcx, qword [rcx + 0x10]
lea r8, [0x1400864b8]
mov r9d, eax
call fcn.140001030
jmp 0x140071ef1
movups xmm0, xmmword [str.5b04adaa_5e01_4160_a61e_02d27d44f9db]
lea rcx, [rbx + 0x4c]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140085e30]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [0x140085e40]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [0x140085e50]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x140085e60]
movsd qword [rax + 0x40], xmm0
mov eax, dword [0x140085e68]
mov dword [rbx + 0x48], eax
mov r8d, dword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r9d, esi
mov qword [rbp - 0x28], rbx
mov r8, rbx
mov dword [rbp - 0x30], esi
mov rdx, r14
mov rcx, r15
call fcn.140066280
test eax, eax
jne 0x140071eec
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [str.___t_]
cmp rcx, r13
je 0x140071ef1
test byte [rcx + 0x1c], 2
je 0x140071ef1
cmp byte [rcx + 0x19], 2
jb 0x140071ef1
mov edx, 0xe
jmp 0x140071e34
mov edi, 1
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r13, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret