Function at 0x10032dca0
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 0x10032dce7
mov ebx, 0x80070057
jmp 0x10032e010
mov rcx, qword [rcx + 0x20]
call fcn.1000582b8
mov rcx, qword [rdi + 0x10]
mov qword [rdi + 0x20], r14
call fcn.1000582b8
mov rcx, qword [rdi + 0x30]
mov qword [rdi + 0x10], r14
mov dword [rdi + 0x18], r14d
cmp rcx, r14
je 0x10032dd18
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
mov qword [rdi + 0x30], r14
cmp qword [rdi + 0x38], r14
jne 0x10032dd57
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 0x10032dd57
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, r14d
jmp 0x10032e004
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 0x10032e010
mov ecx, dword [rsp + 0x90]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.100058294
mov rbp, rax
cmp rax, r14
je 0x10032df46
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 0x10032e010
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 0x10032e010
mov ecx, dword [rsp + 0x98]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.100058294
mov r12, rax
cmp rax, r14
je 0x10032df46
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 0x10032e010
mov ecx, dword [rsp + 0x98]
lea r8, [rsp + 0x88]
xor r9d, r9d
dec ecx
mov rdx, r12
call fcn.10027f7d0
mov ebx, eax
cmp eax, r14d
jne 0x10032e010
cmp dword [rsp + 0x88], 4
jbe 0x10032de6a
mov ebx, 0x80049e2e
jmp 0x10032e010
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.10027f7d0
mov ebx, eax
cmp eax, r14d
jne 0x10032e010
lea rdx, [rsp + 0x30]
mov r8d, 4
mov rcx, rdi
call fcn.10032d5b8
mov ebx, eax
cmp eax, r14d
jne 0x10032e010
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.10027f7d0
mov ebx, eax
cmp eax, r14d
jne 0x10032e010
mov ecx, dword [rsp + 0x88]
call fcn.100058294
mov qword [rdi + 0x20], rax
cmp rax, r14
je 0x10032df46
mov ecx, dword [rsp + 0x90]
lea r8, [rsp + 0x88]
mov r9, rax
dec ecx
mov rdx, rbp
call fcn.10027f7d0
mov ebx, eax
cmp eax, r14d
jne 0x10032e010
mov esi, dword [rsp + 0x88]
mov dword [rdi + 0x28], esi
lea r14d, [rsi + 0x14]
mov ecx, r14d
mov ebx, r14d
call fcn.100058294
mov r13, rax
test rax, rax
jne 0x10032df50
mov ebx, 0x8007000e
jmp 0x10032e010
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.10027f7d0
mov ebx, eax
xor eax, eax
cmp ebx, eax
jne 0x10032e010
lea rdx, [r13 + 0x14]
mov r8d, esi
mov rcx, rdi
call fcn.10032d5b8
xor esi, esi
mov ebx, eax
cmp eax, esi
jne 0x10032e010
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 0x10032e009
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
cmp eax, esi
cmovle ebx, eax
jmp 0x10032e010
mov dword [rdi + 0xc], 5
mov rcx, r13
call fcn.1000582b8
mov rcx, rbp
call fcn.1000582b8
mov rcx, r12
call fcn.1000582b8
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