Function at 0x14000622c
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x14000b058]
xor rax, rsp
mov qword [rbp - 8], rax
and qword [rbp - 0x38], 0
mov r15, rcx
and qword [rbp - 0x28], 0
lea rcx, [rbp - 0x18]
xor ebx, ebx
xor esi, esi
mov qword [rbp - 0x30], rbx
xor edi, edi
call qword [sym.imp.ole32.dll_CoCreateGuid]
nop dword [rax + rax]
test eax, eax
jne 0x1400062df
mov rdx, qword [0x14000d530]
lea ecx, [rsi + 0x42]
mov r12d, 0x1b6c
mov r8d, r12d
call fcn.140006e18
mov rsi, rax
test rax, rax
je 0x1400062df
mov r8, rax
lea rdx, [rbp - 0x18]
call fcn.140005a1c
mov r9d, dword [0x14000b070]
lea rcx, [rbp - 0x38]
mov r8, qword [0x14000d568]
mov rdx, rsi
mov dword [rsp + 0x20], 8
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
nop dword [rax + rax]
test eax, eax
jne 0x14000638f
and qword [rbp - 0x38], rbx
mov r8, qword [0x14000d578]
mov edx, 0x1b69
mov rcx, qword [0x14000d530]
call fcn.140006f2c
test rbx, rbx
je 0x140006304
mov rcx, rbx
call sub.msvcrt.dll_free
xor ebx, ebx
xor r14d, r14d
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140006349
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
nop dword [rax + rax]
mov r9d, dword [0x14000b070]
lea rcx, [rbp - 0x38]
mov r8, qword [0x14000d568]
mov rdx, rsi
mov dword [rsp + 0x20], 0x10
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
nop dword [rax + rax]
test rsi, rsi
je 0x140006356
mov rcx, rsi
call sub.msvcrt.dll_free
test rdi, rdi
je 0x140006363
mov rcx, rdi
call sub.msvcrt.dll_free
mov qword [r15], rbx
mov eax, r14d
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140007ab0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
cmp dword [0x14000d4dc], ebx
je 0x1400063a3
mov r8d, dword [0x14000d5a8]
test r8d, r8d
jne 0x1400063b0
mov r8d, 0x200
mov dword [0x14000d5a8], r8d
mov rcx, qword [rbp - 0x38]
lea r9, [rbp - 0x28]
mov r14d, 1
shl r8d, 0x10
or r8d, r14d
lea edx, [r14 + 1]
call qword [sym.imp.ADVAPI32.dll_CryptGenKey]
nop dword [rax + rax]
test eax, eax
je 0x1400062df
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
nop dword [rax + rax]
and dword [rbp - 0x40], ebx
lea rax, [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
lea ebx, [r14 + 1]
mov edx, ebx
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, r14d
call qword [sym.imp.CRYPT32.dll_CryptExportPublicKeyInfo]
nop dword [rax + rax]
mov eax, dword [rbp - 0x40]
test eax, eax
jne 0x14000642b
mov ecx, 0x1b70
call fcn.1400013d4
jmp 0x140006304
mov rdx, qword [0x14000d530]
mov rcx, rax
mov r8d, r12d
call fcn.140006e18
mov rdi, rax
test rax, rax
je 0x140006304
mov rcx, qword [rbp - 0x38]
lea rax, [rbp - 0x40]
mov r9, rdi
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, ebx
call qword [sym.imp.CRYPT32.dll_CryptExportPublicKeyInfo]
nop dword [rax + rax]
test eax, eax
je 0x14000641c
mov r8d, dword [rdi + 8]
lea rax, [rbp - 0x20]
mov rdx, qword [rdi + 0x10]
lea r9, [rbp - 0x30]
mov ecx, 0x27
mov qword [rsp + 0x20], rax
call fcn.140006040
mov rbx, qword [rbp - 0x30]
test eax, eax
je 0x1400062df
cmp dword [rbx + 0x10], 0x15
ja 0x140006309
mov r8d, dword [rbx + 0x10]
lea r12, [0x14000d480]
mov rdx, qword [rbx + 0x18]
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rbx + 0x10]
mov dword [0x14000d4e8], eax
mov qword [0x14000d4f0], r12
jmp 0x140006309