Function at 0x1002d5914
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r14d, r14d
mov rsi, rdx
mov rdi, rcx
mov rbp, r14
mov r12, r14
mov r13, r14
mov dword [rax + 0x10], r14d
mov dword [rax - 0x48], r14d
mov dword [rax + 0x20], r14d
mov dword [rax + 0x18], r14d
cmp rdx, r14
jne 0x1002d595b
mov ebx, 0x80070057
jmp 0x1002d5c84
mov rcx, qword [rcx + 0x20]
call fcn.10004c2e4
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x20], r14
call fcn.10004c2e4
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x10], r14
mov dword [rdi + 0x18], r14d
cmp rcx, r14
je 0x1002d598c
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov qword [rdi + 0x30], r14
cmp qword [rdi + 0x38], r14
jne 0x1002d59cb
lea rcx, [rdi + 0x38]
mov r9d, 0x18
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x20], 0xf0000000
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
cmp eax, r14d
jne 0x1002d59cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r14d
jmp 0x1002d5c78
mov rax, qword [rsi]
lea rdx, [rsp + 0x90]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x20]
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov ecx, dword [rsp + 0x90]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.10004c2c0
mov rbp, rax
cmp rax, r14
je 0x1002d5bba
mov rax, qword [rsi]
lea rdx, [rsp + 0x90]
mov r8, rbp
mov rcx, rsi
call qword [rax + 0x20]
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov rax, qword [rsi]
lea rdx, [rsp + 0x98]
xor r8d, r8d
mov rcx, rsi
call qword [rax + 0x28]
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov ecx, dword [rsp + 0x98]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.10004c2c0
mov r12, rax
cmp rax, r14
je 0x1002d5bba
mov rax, qword [rsi]
lea rdx, [rsp + 0x98]
mov r8, r12
mov rcx, rsi
call qword [rax + 0x28]
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov ecx, dword [rsp + 0x98]
lea r8, [rsp + 0x88]
xor r9d, r9d
dec ecx
mov rdx, r12
call fcn.1002264c8
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
cmp dword [rsp + 0x88], 4
jbe 0x1002d5ade
mov ebx, 0x80049e2e
jmp 0x1002d5c84
mov eax, dword [rsp + 0x88]
mov ecx, dword [rsp + 0x98]
lea r9, [rsp + 0x34]
sub r9, rax
lea r8, [rsp + 0x88]
mov rdx, r12
dec ecx
call fcn.1002264c8
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
lea rdx, [rsp + 0x30]
mov r8d, 4
mov rcx, rdi
call fcn.1002d5350
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov ecx, dword [rsp + 0x90]
mov eax, dword [rsp + 0x30]
lea r8, [rsp + 0x88]
dec ecx
xor r9d, r9d
mov rdx, rbp
mov dword [rdi + 0x2c], eax
call fcn.1002264c8
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov ecx, dword [rsp + 0x88]
call fcn.10004c2c0
mov qword [rdi + 0x20], rax
cmp rax, r14
je 0x1002d5bba
mov ecx, dword [rsp + 0x90]
lea r8, [rsp + 0x88]
mov r9, rax
dec ecx
mov rdx, rbp
call fcn.1002264c8
mov ebx, eax
cmp eax, r14d
jne 0x1002d5c84
mov esi, dword [rsp + 0x88]
mov dword [rdi + 0x28], esi
lea r14d, [rsi + 0x14]
mov ecx, r14d
mov ebx, r14d
call fcn.10004c2c0
mov r13, rax
test rax, rax
jne 0x1002d5bc4
mov ebx, 0x8007000e
jmp 0x1002d5c84
mov r8, rbx
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
xor eax, eax
mov byte [r13], 6
mov word [r13 + 2], ax
mov byte [r13 + 1], 2
mov dword [r13 + 4], 0xa400
mov dword [r13 + 8], 0x31415352
mov eax, esi
lea r9, [r13 + 0x14]
shl eax, 3
lea r8, [rsp + 0x88]
mov rdx, rbp
mov dword [r13 + 0xc], eax
mov eax, dword [rsp + 0x30]
mov dword [r13 + 0x10], eax
mov ecx, dword [rsp + 0x90]
dec ecx
call fcn.1002264c8
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x1002d5c84
lea rdx, [r13 + 0x14]
mov r8d, esi
mov rcx, rdi
call fcn.1002d5350
xor esi, esi
mov ebx, eax
cmp eax, esi
jne 0x1002d5c84
mov rcx, qword [rdi + 0x38]
lea rax, [rdi + 0x30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8d, r14d
mov rdx, r13
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
cmp eax, esi
jne 0x1002d5c7d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, esi
cmovle ebx, eax
jmp 0x1002d5c84
mov dword [rdi + 0xc], 5
mov rcx, r13
call fcn.10004c2e4
mov rcx, rbp
call fcn.10004c2e4
mov rcx, r12
call fcn.10004c2e4
mov eax, ebx
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret