Function at 0x140080950
Capabilities:
Create new key via cryptacquirecontext
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
mov r13, r9
mov r14, r8
mov rsi, rdx
mov r12, rcx
xorps xmm0, xmm0
lea rax, [rsp + 0x160]
movaps xmmword [rax], xmm0
movaps xmmword [rax + 0x10], xmm0
movaps xmmword [rax + 0x20], xmm0
movaps xmmword [rax + 0x30], xmm0
mov ecx, 1
mov dword [rax], ecx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x20], ecx
mov dword [rax + 0x30], ecx
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
mov eax, dword [rdx + 0x48]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0x6c], 0
lea rdi, [rsp + 0x220]
mov r8d, reloc.WLDAP32.dll_Ordinal_224
mov rcx, rdi
xor edx, edx
call fcn.1400ef1e0
lea rbx, [rsp + 0x78]
mov r8d, Ordinal_203
mov rcx, rbx
xor edx, edx
call fcn.1400ef1e0
mov dword [rbx], 2
mov dword [rbx + 0xc0], 3
mov qword [rbx + 0xc8], rdi
mov rax, qword [rsi + 0x40]
test rax, rax
lea rcx, str.7_4__26_77532__7_7_3
cmovne rcx, rax
mov qword [rbx + 0x18], rcx
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140080a5b
lea rax, [0x140150d3c]
lea rbx, [rsp + 0x1a0]
mov qword [rbx], rax
mov dword [rbx + 8], reloc.WLDAP32.dll_Ordinal_12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rbx + 0x10], eax
mov qword [rbx + 0x18], rdi
mov eax, dword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x40], ecx
shl rax, 4
mov qword [rsp + rax + 0x168], rbx
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140080aa6
lea rbx, [rsp + 0x1c0]
lea rax, [0x140150d44]
mov qword [rbx], rax
mov dword [rbx + 8], reloc.WLDAP32.dll_Ordinal_12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rbx + 0x10], eax
mov qword [rbx + 0x18], rdi
mov eax, dword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x40], ecx
shl rax, 4
mov qword [rsp + rax + 0x168], rbx
mov rdi, qword [rsi + 0x20]
test rdi, rdi
je 0x140080af1
lea rbx, [rsp + 0x1e0]
lea rax, [0x140150d4d]
mov qword [rbx], rax
mov dword [rbx + 8], reloc.WLDAP32.dll_Ordinal_12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rbx + 0x10], eax
mov qword [rbx + 0x18], rdi
mov eax, dword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x40], ecx
shl rax, 4
mov qword [rsp + rax + 0x168], rbx
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140080b3c
lea rbx, [rsp + 0x200]
lea rax, [0x140150d56]
mov qword [rbx], rax
mov dword [rbx + 8], reloc.WLDAP32.dll_Ordinal_12
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, eax
mov dword [rbx + 0x10], eax
mov qword [rbx + 0x18], rdi
mov eax, dword [rsp + 0x40]
lea ecx, [rax + 1]
mov dword [rsp + 0x40], ecx
shl rax, 4
mov qword [rsp + rax + 0x168], rbx
lea rdi, [rsp + 0xc0]
lea rbx, [rsp + 0xb8]
mov qword [rsp + 0x20], r13
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
mov r9, r14
call fcn.1400806ab
lea r15, [rsp + 0xc8]
lea rdx, [rsp + 0x40]
mov ecx, 7
mov r8, r15
call fcn.14007ff60
test eax, eax
je 0x140080f9d
mov rcx, r15
call fcn.140080625
test rax, rax
je 0x140080bac
mov rbp, rax
lea rcx, [0x140150d60]
mov rdx, rax
call fcn.140016430
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea rdx, [rsp + 0x80]
mov rcx, qword [rsi + 0x30]
call fcn.1400804af
test eax, eax
je 0x140080fb0
lea rcx, [0x140150da0]
call fcn.140016430
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
xor ebp, ebp
xor r8d, r8d
call fcn.140023ac7
lea rcx, [0x140150c66]
call fcn.140016430
movzx eax, word [rsi + 0x38]
mov r8, qword [rsp + 0x140]
lea rcx, [rsp + 0x50]
mov word [rcx], ax
lea rdx, [rsp + 0x148]
mov dword [rdx], 2
mov qword [rdx + 8], rcx
mov dword [rdx + 0x10], 5
lea rcx, str.1_6_1:_26
mov qword [r8], rcx
mov dword [r8 + 8], 1
add r8, 0x10
call fcn.14007ff60
test eax, eax
je 0x140080fc3
mov r8, qword [rsp + 0x140]
lea rcx, [0x140150783]
mov qword [r8 + 0x20], rcx
lea rdx, [rsp + 0x68]
mov eax, dword [rdx]
mov dword [r8 + 0x28], eax
add r8, 0x30
call fcn.14007ff60
test eax, eax
je 0x140080fd4
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x140080cab
mov rcx, qword [rsp + 0x140]
mov edx, dword [rsp + 0x138]
lea ebp, [rdx + 1]
mov dword [rsp + 0x138], ebp
shl rdx, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov rax, qword [rsi + 0x58]
test rax, rax
je 0x140080ce1
mov rcx, qword [rsp + 0x140]
mov edx, dword [rsp + 0x138]
lea ebp, [rdx + 1]
mov dword [rsp + 0x138], ebp
shl rdx, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x140080d17
mov rcx, qword [rsp + 0x140]
mov edx, dword [rsp + 0x138]
lea ebp, [rdx + 1]
mov dword [rsp + 0x138], ebp
shl rdx, 5
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movups xmmword [rcx + rdx], xmm0
mov rdx, qword [rsp + 0x90]
lea rcx, [0x140150dd0]
call fcn.140016430
lea rcx, str._vPPP3P5P_P_P_rPpPP1P_P9P4P9P_P_PpPpPjPpPPP
call fcn.140016430
mov rcx, rbx
call fcn.140023f18
lea rcx, [0x140150c5c]
call fcn.140016430
mov rcx, rdi
call fcn.140023f18
lea rcx, [0x140150c66]
call fcn.140016430
mov rdx, qword [r12 + 8]
lea rcx, [0x140150e40]
call fcn.140016430
call fcn.140023fc0
mov qword [r12], rax
test rax, rax
je 0x140080fe4
lea rcx, [0x140150e80]
mov rdx, rax
call fcn.140016430
mov r9d, dword [r12 + 0x10]
mov r8, qword [r12 + 8]
lea rdi, [r12 + 0x40]
mov dword [rsp + 0x20], 0xf0000040
xor esi, esi
mov rcx, rdi
xor edx, edx
call qword [sym.imp.advapi32.dll_CryptAcquireContextW]
test eax, eax
je 0x140080e1c
lea r9, [rsp + 0x3c]
mov dword [r9], 4
mov rcx, qword [rdi]
mov dword [rsp + 0x20], 0
lea rsi, [rsp + 0x74]
mov edx, 3
mov r8, rsi
call qword [sym.imp.advapi32.dll_CryptGetProvParam]
mov esi, dword [rsi]
and esi, 1
test eax, eax
cmove esi, eax
test esi, esi
je 0x140080e11
and byte [r12 + 0x14], 0xbf
and byte [r12 + 0x38], 0xfe
mov r8, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x40]
mov edx, 1
call fcn.140080437
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.advapi32.dll_CryptReleaseContext]
mov eax, dword [r12 + 0x14]
or eax, 8
mov r9d, dword [r12 + 0x10]
mov rdx, qword [r12]
mov r8, qword [r12 + 8]
mov dword [rsp + 0x20], eax
mov rcx, rdi
call qword [sym.imp.advapi32.dll_CryptAcquireContextW]
test eax, eax
je 0x140080ff2
mov r8, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x40]
mov edx, esi
call fcn.140080437
movzx edx, word [r12 + 0x3c]
lea rcx, str.x_vxVx
call fcn.140016430
mov edx, dword [r12 + 0x28]
mov r8d, dword [r12 + 0x3c]
shl r8d, 0x10
or r8d, dword [r12 + 0x38]
mov rcx, qword [r12 + 0x40]
lea r9, [rsp + 0x50]
call qword [sym.imp.advapi32.dll_CryptGenKey]
test eax, eax
je 0x140081008
lea rbx, [r12 + 0x28]
lea rcx, [0x140150cdc]
call fcn.140016430
mov edx, dword [rbx]
mov rcx, qword [rdi]
call fcn.140080393
test rax, rax
je 0x14008102a
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmm2, xmmword [rax + 0x20]
movups xmmword [rsp + 0xf8], xmm2
movups xmmword [rsp + 0xe8], xmm1
movups xmmword [rsp + 0xd8], xmm0
mov rcx, qword [rsp + 0x140]
add rcx, 0x40
mov rdx, rax
call fcn.140080198
test eax, eax
je 0x14008101e
mov qword [rsp + 0x60], rbx
lea rbp, [rsp + 0xa8]
mov eax, dword [rbp + 0x90]
shl rax, 5
add rax, qword [rbp + 0x98]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x148]
lea rbx, [rsp + 0x3c]
mov rcx, r14
mov rdx, r13
mov r9, rbx
call fcn.1400807bf
test eax, eax
je 0x1400810a2
mov r14d, dword [rsp + 0x138]
lea eax, [r14 + 1]
mov dword [rsp + 0x138], eax
shl r14, 5
add r14, qword [rsp + 0x140]
mov rcx, rbp
call fcn.140080625
test rax, rax
je 0x1400810ad
mov rbp, rax
lea rcx, [0x140150c70]
mov rdx, rax
call fcn.140016430
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1400810ad
lea rcx, str.O_nX_nX_nE_nX_n_n_n1_n_n__nd_nk_nh_nf_no_n_n_ne_n_ni_nx_no_nk_n_no_n_nY_n
call fcn.140016430
xor ebp, ebp
jmp 0x14008108c
lea rcx, [0x140151190]
call fcn.140016430
xor ebp, ebp
jmp 0x14008107e
lea rcx, [0x140151150]
call fcn.140016430
jmp 0x140081070
lea rcx, [0x140151110]
call fcn.140016430
xor ebp, ebp
jmp 0x14008105e
lea rcx, [0x1401510b0]
call fcn.140016430
jmp 0x14008104a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x140151040]
mov edx, eax
call fcn.140016430
jmp 0x140081040
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x140151000]
mov edx, eax
call fcn.140016430
jmp 0x140081035
lea rcx, [0x140150fc0]
call fcn.140016430
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.advapi32.dll_CryptDestroyKey]
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.advapi32.dll_CryptReleaseContext]
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_LocalFree]
xor ebp, ebp
mov rcx, qword [rsp + 0x140]
add rcx, 0x38
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x140]
add rcx, 0x18
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, ebp
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movups xmm0, xmmword [r15]
movups xmmword [rbp], xmm0
xor r14d, r14d
mov r15, qword [rsp + 0x378]
mov r13, qword [rsp + 0x370]
lea rbp, [rsp + 0x90]
lea rcx, [0x140150ef0]
call fcn.140016430
mov rcx, qword [rsp + 0x148]
test rcx, rcx
cmove rbx, qword [rsp + 0x60]
mov edx, dword [rbx]
jne 0x1400810e9
mov rcx, qword [rdi]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0x78]
mov r8d, 2
call fcn.140080530
xor ebp, ebp
test eax, eax
je 0x1400811cd
mov ebx, eax
mov r15, qword [rsp + 0x380]
lea rcx, [0x140150cdc]
call fcn.140016430
test esi, esi
je 0x140081175
lea rcx, [0x140150f20]
call fcn.140016430
mov r8, qword [r13]
mov rcx, qword [rsp + 0x50]
mov edx, reloc.WLDAP32.dll_Ordinal_26
xor r9d, r9d
call qword [sym.imp.advapi32.dll_CryptSetKeyParam]
test eax, eax
je 0x140081161
lea rcx, [0x140150cdc]
call fcn.140016430
jmp 0x140081175
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, [0x140150f50]
mov edx, eax
call fcn.140016430
test r15, r15
je 0x1400811cb
mov rax, qword [rdi]
mov qword [r15], rax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax]
mov dword [r15 + 8], eax
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [r15 + 0xc], xmm0
mov edx, dword [rsp + 0xc8]
mov dword [r15 + 0x20], edx
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov qword [r15 + 0x28], rax
test rax, rax
je 0x1400811cd
mov rdx, qword [rsp + 0xd0]
mov r8d, dword [r15 + 0x20]
mov rcx, rax
call fcn.1400eeb30
mov ebp, ebx
test r14, r14
je 0x1400811dc
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov r8, qword [rsp + 0x148]
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x5c]
call fcn.140080758
mov rcx, qword [rsp + 0x140]
add rcx, 0x58
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.advapi32.dll_CryptDestroyKey]
test ebp, ebp
jne 0x14008104c
jmp 0x140081035