Function at 0x140083000
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
mov rbp, rsp
push r14
push r15
sub rsp, 0x50
and qword [rax - 0x30], 0
and qword [rax - 0x28], 0
and qword [rax - 0x38], 0
xor esi, esi
mov r14, r9
mov ebx, r8d
mov r15, rdx
mov rdi, rcx
test r9, r9
je 0x1400831e5
test ebx, ebx
je 0x1400831e5
lea r9d, [rsi + 0x18]
lea rcx, [rax - 0x30]
xor r8d, r8d
xor edx, edx
mov dword [rax - 0x48], 0xf0000000
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x14008307f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14008317e
mov ebx, 0x80004005
jmp 0x1400831ea
mov rcx, qword [rsp + 0x38]
lea r9, [rsp + 0x30]
mov edx, 0x6610
mov r8d, 1
call qword [sym.imp.ADVAPI32.dll_CryptGenKey]
test eax, eax
je 0x140083067
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], esi
mov r8d, ebx
mov rdx, r14
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
je 0x140083067
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
and dword [rbp + 0x28], esi
xor r9d, r9d
lea rax, [rbp + 0x28]
mov qword [rsp + 0x28], rax
and qword [rsp + 0x20], rsi
lea r8d, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptExportKey]
test eax, eax
je 0x140083067
mov eax, dword [rbp + 0x28]
lea ebx, [rax + 0x14]
cmp ebx, eax
ja 0x140083108
mov ebx, 0x80070216
jmp 0x1400831ea
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
jne 0x140083124
mov ebx, 0x8007000e
jmp 0x1400831ea
mov dword [rax], ebx
mov dword [rax + 4], 1
mov dword [rax + 8], 0x10000
mov eax, dword [rbp + 0x28]
lea rcx, [rbp + 0x28]
xor r9d, r9d
mov dword [rsi + 0xc], eax
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rsp + 0x30]
lea rax, [rsi + 0x10]
lea r8d, [r9 + 1]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_CryptExportKey]
test eax, eax
je 0x140083067
mov rax, qword [0x14017cdb0]
test rax, rax
jne 0x14008318e
mov ebx, 0x800701e7
jmp 0x1400831ea
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
jmp 0x1400831ea
mov r8, rsi
mov edx, ebx
mov rcx, r15
call rax
mov ebx, eax
test eax, eax
js 0x1400831ea
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400831b2
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
and qword [rdi + 8], 0
mov rcx, qword [rsp + 0x30]
and qword [rsp + 0x30], 0
mov qword [rdi + 8], rcx
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400831d5
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
and qword [rdi], 0
mov rax, qword [rsp + 0x38]
and qword [rsp + 0x38], 0
mov qword [rdi], rax
jmp 0x1400831ea
mov ebx, 0x80070057
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x1400831fa
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14008320a
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14008321c
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test rsi, rsi
je 0x14008322a
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea r11, [rsp + 0x50]
mov eax, ebx
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret