Function at 0x1800074e0
Capabilities:
Encrypt data using aes via winapi

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x80
mov rax, qword [0x180068020]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rbx, rdx
mov dword [rsp + 0x34], 1
xor ebp, ebp
mov dword [rsp + 0x38], 4
mov rdi, r9
mov dword [rsp + 0x20], ebp
mov r14, r8
mov rsi, rcx
xor r8d, r8d
xor edx, edx
lea r9d, [rbp + 0x18]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1800075aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x180007587
lea r9d, [rbp + 0x18]
mov dword [rsp + 0x20], 0xf0000008
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
xor edx, edx
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1800075aa
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptAcquireContextW_1__error__d_n
mov r8d, eax
call fcn.1800022f0
xor al, al
jmp 0x18000773c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptAcquireContextW_2__error__d_n
mov r8d, eax
call fcn.1800022f0
xor al, al
jmp 0x18000773c
mov eax, dword [rsp + 0xd0]
lea rcx, [rsp + 0x4c]
mov r8d, eax
mov dword [rsp + 0x40], 0x208
mov rdx, rdi
mov dword [rsp + 0x44], 0x6610
mov dword [rsp + 0x48], eax
call fcn.180022840
mov rcx, qword [rbx]
lea rdx, [rsp + 0x40]
xor r9d, r9d
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], ebp
lea r8d, [r9 + 0x2c]
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x180007618
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptImportKey___error__d_n
mov r8d, eax
call fcn.1800022f0
jmp 0x180007726
mov rcx, qword [rsi]
lea r8, [rsp + 0x34]
xor r9d, r9d
lea edx, [r9 + 4]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x180007652
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptSetKeyParam_first__error__d_n
mov r8d, eax
call fcn.1800022f0
jmp 0x180007718
mov rcx, qword [rsi]
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], ebp
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_CryptGetKeyParam]
test eax, eax
jne 0x180007693
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptGetKeyParam___error__d_n
mov r8d, eax
call fcn.1800022f0
jmp 0x180007718
mov eax, dword [rsp + 0x30]
shr eax, 3
mov ecx, eax
mov dword [rsp + 0x30], eax
call fcn.18002c3dc
mov qword [r14], rax
test rax, rax
jne 0x1800076cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::malloc_iv__error__d_n
mov r8d, eax
call fcn.1800022f0
jmp 0x180007718
mov ecx, dword [rsp + 0x30]
mov rdi, rax
xor eax, eax
xor r9d, r9d
rep stosb byte [rdi], al
mov r8, qword [r14]
lea edx, [rax + 1]
mov rcx, qword [rsi]
call qword [sym.imp.ADVAPI32.dll_CryptSetKeyParam]
test eax, eax
jne 0x18000773a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x18006abc8]
lea rdx, str.log:CymMimi::CryptoInit::CryptSetKeyParam_second__error__d_n
mov r8d, eax
call fcn.1800022f0
mov rcx, qword [r14]
test rcx, rcx
je 0x180007718
call fcn.18002ba04
mov qword [r14], rbp
mov rcx, qword [rsi]
test rcx, rcx
je 0x180007726
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180007736
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
xor al, al
jmp 0x18000773c
mov al, 1
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.180010bf0
add rsp, 0x80
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret