Function at 0x14000ac88
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x98
mov rsi, rcx
lea r14, str.Crypt32
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
and qword [rbp - 0x41], 0
xor r12d, r12d
and dword [rbp + 0x6f], 0
mov rbx, rax
and qword [rbp - 0x49], r12
mov qword [rbp + 0x7f], rax
lea rax, str.Root
mov qword [rbp - 0x11], rax
lea rax, str.TrustedPublisher
mov qword [rbp - 9], rax
lea rax, str.libwdi
mov qword [rbp + 7], rax
mov dword [rbp - 1], 0xe
test rbx, rbx
jne 0x14000ad21
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000ad21
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CryptAcquireCertificatePrivateKey
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x14000ad62
lea r9, str.CryptAcquireCertificatePrivateKey
lea r8, str.Unable_to_locate__s___in__s_n
mov qword [rsp + 0x20], r14
lea rdx, str.DeletePrivateKey
mov ecx, 3
call fcn.1400082ac
jmp 0x14000b067
test rbx, rbx
jne 0x14000ad8c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000ad8c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CertOpenStore
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x19], rax
mov r15, rax
test rax, rax
jne 0x14000adb1
lea r9, str.CertOpenStore
jmp 0x14000ad40
test rbx, rbx
jne 0x14000addb
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000addb
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CertCloseStore
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x21], rax
test rax, rax
jne 0x14000ae00
lea r9, str.CertCloseStore
jmp 0x14000ad40
test rbx, rbx
jne 0x14000ae2a
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000ae2a
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CertAddEncodedCertificateToStore
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x31], rax
test rax, rax
jne 0x14000ae4f
lea r9, str.CertAddEncodedCertificateToStore
jmp 0x14000ad40
test rbx, rbx
jne 0x14000ae79
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000ae79
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CertSetCertificateContextProperty
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x29], rax
test rax, rax
jne 0x14000ae9e
lea r9, str.CertSetCertificateContextProperty
jmp 0x14000ad40
test rbx, rbx
jne 0x14000aec8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov qword [rbp + 0x7f], rax
mov rbx, rax
test rax, rax
jne 0x14000aec8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
mov qword [rbp + 0x7f], rax
lea rdx, str.CertFreeCertificateContext
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x39], rax
test rax, rax
jne 0x14000aeed
lea r9, str.CertFreeCertificateContext
jmp 0x14000ad40
xor r8d, r8d
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x28], rax
lea r9, [rbp - 0x41]
lea rax, [rbp + 0x77]
mov rcx, rsi
mov qword [rsp + 0x20], rax
lea edx, [r8 + 0x40]
call rdi
test eax, eax
jne 0x14000af3a
xor ecx, ecx
call fcn.14000bf20
mov r9, rax
lea r8, str.Error_getting_CSP:__s
lea rdx, str.DeletePrivateKey
mov ecx, 2
call fcn.1400082ac
jmp 0x14000b067
mov r12d, 1
mov dword [rsp + 0x20], 0x70
mov r9d, r12d
lea rdx, str.libwdi_key_container
xor r8d, r8d
lea rcx, [rbp - 0x41]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
lea edi, [r12 + 1]
test eax, eax
jne 0x14000af87
xor ecx, ecx
call fcn.14000bf20
mov r9, rax
lea r8, str.Failed_to_delete_private_key:__s
lea rdx, str.DeletePrivateKey
mov ecx, edi
call fcn.1400082ac
mov rbx, qword [rbp - 0x39]
lea r14, [rbp - 0x11]
xor esi, esi
mov r13, qword [r14]
xor r8d, r8d
mov r9d, 0x20000
mov qword [rsp + 0x20], r13
mov edx, r12d
lea ecx, [r8 + 9]
call r15
mov r15, rax
test rax, rax
je 0x14000b050
lea rax, [rbp - 0x49]
mov edx, r12d
mov qword [rsp + 0x28], rax
mov rcx, r15
mov rax, qword [rbp + 0x67]
mov dword [rsp + 0x20], 3
mov r9d, dword [rax + 0x10]
mov r8, qword [rax + 8]
call qword [rbp - 0x31]
test eax, eax
je 0x14000b024
mov rcx, qword [rbp - 0x49]
test rcx, rcx
je 0x14000b024
xor r8d, r8d
lea r9, [rbp - 1]
lea edx, [r8 + 0xb]
call qword [rbp - 0x29]
test eax, eax
jne 0x14000b01c
xor ecx, ecx
call fcn.14000bf20
mov r9, rax
lea r8, str.Could_not_set_friendly_name:__s
lea rdx, str.DeletePrivateKey
mov ecx, edi
call fcn.1400082ac
mov rcx, qword [rbp - 0x49]
call rbx
jmp 0x14000b048
xor ecx, ecx
call fcn.14000bf20
mov r9, r13
mov qword [rsp + 0x20], rax
lea r8, str.Failed_to_update__s:__s
mov ecx, edi
lea rdx, str.DeletePrivateKey
call fcn.1400082ac
xor edx, edx
mov rcx, r15
call qword [rbp - 0x21]
mov r15, qword [rbp - 0x19]
add esi, r12d
add r14, 8
cmp esi, edi
jb 0x14000af91
mov rbx, qword [rbp + 0x7f]
cmp dword [rbp + 0x6f], 0
je 0x14000b07e
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x14000b07e
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, r12d
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret