Function at 0x1800033a0
Capabilities:
Create new key via cryptacquirecontext
Generate random numbers via winapi
Terminate process

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push r14
push r15
sub rsp, 0x48
mov rsi, rcx
xor r15d, r15d
mov rcx, qword [rcx + 0x30]
mov ebp, r15d
mov r14d, r15d
call fcn.180002580
mov rax, qword [rsi + 8]
cmp dword [rax + 0x10], 3
jle 0x180003626
mov rax, qword [rax + 8]
add rax, 0x30
je 0x180003626
cmp word [rax], 2
jne 0x180003626
cmp dword [rax + 8], r15d
jbe 0x180003626
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x40], rdi
mov rax, qword [rsi + 8]
cmp dword [rax + 0x10], 3
jle 0x180003420
mov rax, qword [rax + 8]
add rax, 0x30
je 0x180003420
cmp word [rax], 2
jne 0x180003420
mov ebx, dword [rax + 8]
jmp 0x180003423
mov ebx, r15d
mov rcx, qword [rsi + 0x30]
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x78], r15d
mov edi, r15d
mov qword [rsp + 0x70], r15
call fcn.1800028b0
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x18000345d
mov rdx, qword [rsp + 0x70]
mov r8d, eax
mov rcx, rsi
call fcn.180003640
jmp 0x180003466
mov rdx, qword [rsi + 0x30]
call fcn.1800076b0
mov rcx, qword [0x1817797d0]
mov edx, dword [rcx + 0x10]
cmp edx, 0x47
jle 0x18000348d
mov rax, qword [rcx + 8]
add rax, 0x470
je 0x18000348d
cmp word [rax], 2
jne 0x18000348d
mov r9d, dword [rax + 8]
jmp 0x180003490
mov r9d, r15d
cmp edx, 0x48
jle 0x1800034ad
mov rax, qword [rcx + 8]
add rax, 0x480
je 0x1800034ad
cmp word [rax], 2
jne 0x1800034ad
mov r8d, dword [rax + 8]
jmp 0x1800034b0
mov r8d, r15d
cmp edx, 0x49
jle 0x1800034cc
mov rax, qword [rcx + 8]
add rax, 0x490
je 0x1800034cc
cmp word [rax], 2
jne 0x1800034cc
mov ecx, dword [rax + 8]
jmp 0x1800034cf
mov ecx, r15d
test r9d, r9d
jle 0x180003511
cmp edi, 1
jne 0x1800034ff
inc ebp
cmp ebp, r8d
jl 0x1800034f3
test r14d, r14d
jne 0x1800034f3
imul eax, ecx, 0x3e8
mov r14d, ebx
cmp ebx, eax
cmovb ebx, eax
cmp ebp, r9d
jl 0x180003511
call fcn.1800089b0
jmp 0x180003511
test ebp, ebp
jle 0x180003511
mov ebp, r15d
test r14d, r14d
je 0x180003511
mov ebx, r14d
mov r14d, r15d
test ebx, ebx
je 0x180003619
mov rax, qword [rsi + 8]
cmp dword [rax + 0x10], 5
jle 0x18000360c
mov rax, qword [rax + 8]
add rax, 0x50
je 0x18000360c
cmp word [rax], 2
jne 0x18000360c
mov edi, dword [rax + 8]
test edi, edi
je 0x18000360c
imul edi, ebx
cmp edi, 0x64
jb 0x180003603
mov r9d, 1
mov dword [rsp + 0x78], r15d
xor r8d, r8d
mov qword [rsp + 0x30], 1
xor edx, edx
mov qword [rsp + 0x38], r15
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x1800035bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x80090016
jne 0x1800035b6
mov r9d, dword [rsp + 0x30]
lea rcx, [rsp + 0x38]
xor r8d, r8d
mov dword [rsp + 0x20], 8
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x1800035bc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800035ed
lea r8, [rsp + 0x78]
mov edx, 4
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1800035ed
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rsp + 0x38], r15
mov eax, 0x51eb851f
mul edi
mov eax, dword [rsp + 0x78]
mov ecx, edx
xor edx, edx
shr ecx, 5
div ecx
jmp 0x180003606
mov edx, r15d
cmp edx, ebx
jae 0x18000360c
sub ebx, edx
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x180003401
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x30]
call fcn.180002830
add rsp, 0x48
pop r15
pop r14
pop rsi
pop rbp
jmp fcn.1800089b0