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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xb0
mov rax, qword [0x14006e060]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r15, r9
mov rbx, r8
mov rsi, rdx
mov qword [rbp - 0x39], rdx
mov rdi, rcx
mov qword [rbp - 0x59], rcx
xor r14d, r14d
mov dword [rbp - 0x45], 1
mov dword [rsp + 0x20], r14d
lea r9d, [r14 + 0x18]
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
lea rcx, [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x14000fd73
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x14000fd1c
mov dword [rsp + 0x20], 8
lea r9d, [r14 + 0x18]
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
lea rcx, [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x14000fd73
lea rdx, str.Error
lea rcx, [0x140070410]
call fcn.140014830
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400140f0
mov rcx, rax
lea rdx, str._during_CryptAcquireContext
call fcn.140014830
mov rcx, rax
call fcn.140014790
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], r14b
jmp 0x14001000d
mov dword [rbp - 0x19], 0x208
mov dword [rbp - 0x15], 0x6610
mov dword [rbp - 0x11], 0x20
mov rdx, qword [rbx]
mov r8, qword [rbx + 8]
sub r8, rdx
lea rcx, [rbp - 0xd]
call fcn.140024430
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8d, [r9 + 0x2c]
lea rdx, [rbp - 0x19]
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x14000fe10
lea rdx, str.Error
lea rcx, [0x140070410]
call fcn.140014830
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400140f0
mov rcx, rax
lea rdx, str._during_CryptImportKey
call fcn.140014830
mov rcx, rax
call fcn.140014790
xor edx, edx
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x14000fd59
xor r9d, r9d
mov r8, qword [r15]
lea edx, [r9 + 1]
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x14000fe80
lea rdx, str.Error
lea rcx, [0x140070410]
call fcn.140014830
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400140f0
mov rcx, rax
lea rdx, str._during_CryptSetKeyParam
call fcn.140014830
mov rcx, rax
call fcn.140014790
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
xor edx, edx
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x14000fd59
xor r9d, r9d
lea r8, [rbp - 0x45]
lea edx, [r9 + 4]
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
je 0x14000fe28
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x31], xmm0
mov r15, r14
mov qword [rbp - 0x21], r14
mov rbx, qword [rsi + 8]
movabs r13, 0x7fffffffffffffff
sub rbx, qword [rsi]
mov rax, r14
mov r12, r14
je 0x14000ff3a
cmp rbx, r13
ja 0x140010180
cmp rbx, 0x1000
jb 0x14000fefd
lea rcx, [rbx + 0x27]
cmp rcx, rbx
jbe 0x140010186
call fcn.140022508
test rax, rax
je 0x14001017a
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x14000ff08
mov rcx, rbx
call fcn.140022508
mov r12, rax
mov rsi, r12
mov qword [rbp - 0x31], r12
lea r15, [r12 + rbx]
mov qword [rbp - 0x21], r15
mov rdx, qword [rbp - 0x39]
mov rbx, qword [rdx + 8]
mov rdx, qword [rdx]
sub rbx, rdx
mov r8, rbx
mov rcx, r12
call fcn.140024430
lea rax, [r12 + rbx]
mov qword [rbp - 0x29], rax
jmp 0x14000ff3e
mov rsi, qword [rbp - 0x31]
sub rax, r12
mov dword [rbp - 0x49], eax
lea rax, [rbp - 0x49]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 1]
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
jne 0x140010037
lea rdx, str.Error
lea rcx, [0x140070410]
call fcn.140014830
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call fcn.1400140f0
mov rcx, rax
lea rdx, str._during_CryptDecrypt
call fcn.140014830
mov rcx, rax
call fcn.140014790
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
xor edx, edx
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
test rsi, rsi
je 0x14001000d
sub r15, rsi
mov rax, rsi
cmp r15, 0x1000
jb 0x140010002
add r15, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001017a
mov rdx, r15
mov rcx, rsi
call fcn.140022500
mov rax, rdi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400224e0
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
xor edx, edx
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov r12d, dword [rbp - 0x49]
add r12, rsi
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], 0xf
cmp rsi, r12
jne 0x140010073
mov byte [rdi], 0
jmp 0x140010138
mov rax, r12
sub rax, rsi
mov rbx, rsi
cmp rax, r13
ja 0x14001018c
cmp rax, 0x10
jb 0x140010100
or rax, 0xf
cmp rax, r13
jbe 0x1400100c1
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140022508
test rax, rax
je 0x14001016e
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1400100f9
mov r13, rax
mov ecx, 0x16
cmp rax, rcx
cmovb r13, rcx
lea rcx, [r13 + 1]
cmp rcx, 0x1000
jb 0x1400100ec
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140010174
jmp 0x1400100a2
test rcx, rcx
je 0x1400100f9
call fcn.140022508
mov r14, rax
mov qword [rdi], r14
mov qword [rdi + 0x18], r13
mov rdx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14001010d
mov rdx, qword [rdi]
movzx ecx, byte [rbx]
mov rax, qword [rdi + 0x10]
mov byte [rdx + rax], cl
inc qword [rdi + 0x10]
mov rax, qword [rdi + 0x10]
inc rbx
cmp rbx, r12
jne 0x140010100
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x140010134
mov rcx, qword [rdi]
mov byte [rcx + rax], 0
test rsi, rsi
je 0x14001000d
sub r15, rsi
mov rax, rsi
cmp r15, 0x1000
jb 0x140010002
add r15, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001017a
jmp 0x140010002
call fcn.14002e018
int3
call fcn.140002ac0
nop
call fcn.14002e018
int3
call fcn.14000b6c0
int3
call fcn.140002ac0
nop
call fcn.140002b60
int3