Function at 0x1400045c0
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using aes via winapi
Encrypt or decrypt via wincrypt

Disassembly:
mov qword [rsp + 0x18], rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor r13d, r13d
mov r15d, r9d
mov r12, r8
mov dword [rsp + 0x30], 1
mov rbp, rdx
mov dword [rsp + 0x20], 0xf0000000
mov r14, rcx
xor r8d, r8d
lea r9d, [r13 + 0x18]
xor edx, edx
lea rcx, [rsp + 0x40]
mov edi, r13d
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x1400047bf
lea edx, [r13 + 0x1c]
mov qword [rsp + 0x80], rbx
mov rbx, qword [rsp + 0x40]
lea ecx, [rdx + 0x24]
mov qword [rsp + 0x88], rsi
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x14000478c
mov dword [rax], 0x208
lea r8d, [r13 + 0x1c]
mov dword [rax + 4], 0x660e
xor r9d, r9d
mov dword [rax + 8], 0x10
mov rdx, rsi
movups xmm0, xmmword [r14]
mov rcx, rbx
movups xmmword [rax + 0xc], xmm0
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r13d
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_LocalFree]
test ebx, ebx
je 0x14000478c
mov rcx, qword [rsp + 0x38]
lea r8, [rsp + 0x30]
xor r9d, r9d
lea edx, [r13 + 4]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
je 0x14000476b
mov rcx, qword [rsp + 0x38]
lea edx, [r13 + 1]
xor r9d, r9d
mov r8, rbp
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
je 0x14000475c
mov edx, r15d
lea ecx, [r13 + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, qword [rsp + 0xa0]
mov rbx, rax
mov qword [rsi], rax
test rax, rax
je 0x14000477f
mov r14, qword [rsp + 0xa8]
mov r8d, r15d
mov rdx, r12
mov rcx, rax
mov dword [r14], r15d
call fcn.14011b4a0
mov rcx, qword [rsp + 0x38]
lea r8d, [r13 + 1]
xor r9d, r9d
mov qword [rsp + 0x28], r14
xor edx, edx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
mov edi, eax
test eax, eax
jne 0x14000477f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptDecrypt__0x_08x__n
call fcn.14000afb0
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x38]
mov qword [rsi], rax
mov dword [r14], r13d
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
jmp 0x1400047a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptSetKeyParam__IV___0x_08x__n
jmp 0x140004778
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptSetKeyParam__MODE___0x_08x__n
mov edx, eax
call fcn.14000afb0
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
jmp 0x1400047a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___kull_m_crypto_hkey__0x_08x__n
call fcn.14000afb0
mov rcx, qword [rsp + 0x40]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rsi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
jmp 0x1400047d3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.ERROR_kull_m_crypto_genericAES128Decrypt___CryptAcquireContext__0x_08x__n
call fcn.14000afb0
mov rbp, qword [rsp + 0x90]
mov eax, edi
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
ret