Function at 0x140099820
Capabilities:
Create new key via cryptacquirecontext
Encrypt or decrypt via wincrypt

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov dword [rax + 0x20], r9d
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r15d, r15d
mov r13, r8
lea r8, str.live
xor r9d, r9d
mov rsi, rdx
mov r14d, ecx
mov qword [rbp - 0x28], r15
mov edi, r15d
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x20], r15
mov qword [rax - 0x68], r15
call fcn.140012bc4
lea r9, [rbp - 0x20]
mov r8, r13
mov rdx, rsi
mov ecx, r14d
mov ebx, eax
mov qword [rsp + 0x20], r15
call fcn.140012bc4
test eax, eax
jne 0x1400998a9
lea r9, [rbp - 0x20]
lea r8, [0x14010a528]
mov rdx, rsi
mov ecx, r14d
mov qword [rsp + 0x20], r15
call fcn.140012bc4
mov r14, qword [rbp - 0x20]
test ebx, ebx
jne 0x1400998ba
test r14, r14
je 0x140099aee
mov r15d, dword [rbp + 0x68]
mov ecx, 0x40
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rsi, rax
test rax, rax
je 0x140099aee
mov rdx, qword [rbp + 0x60]
mov r8d, r15d
mov rcx, rax
call fcn.1400c3ee0
mov dword [rbp - 0x30], r15d
xor r15d, r15d
test ebx, ebx
je 0x140099917
cmp dword [rbp + 0x48], r15d
lea rax, str.machine
lea r8, str.user
lea rcx, str.___Live_Key__:__s____s_:
mov rdx, r13
cmovne r8, rax
call fcn.14000bce4
mov eax, ebx
lea r8, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
mov r9d, reloc.ODBC32.dll_SQLAllocHandle
neg eax
sbb ecx, ecx
not ecx
and ecx, 0xf0000000
neg dword [rbp + 0x48]
sbb eax, eax
and eax, 0x20
or ecx, eax
cmp dword [0x140153324], 0xa28
lea rax, str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider__Prototype_
cmovbe r8, rax
mov eax, ebx
mov dword [rsp + 0x20], ecx
neg eax
lea rcx, [rbp - 0x10]
sbb rdx, rdx
and rdx, r13
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
je 0x140099ad1
test ebx, ebx
je 0x140099983
lea rcx, [0x140107178]
call fcn.14000bce4
jmp 0x1400999f9
lea r8, [rbp - 0x2c]
lea rdx, [rbp - 0x18]
xor r9d, r9d
mov rcx, r14
call fcn.140009b34
test eax, eax
je 0x140099a03
lea rcx, str.___PVK_file__:__s____s_:
mov r8, r14
mov rdx, r13
call fcn.14000bce4
mov rdi, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov r8d, dword [rdi + 0x14]
lea rax, [rbp - 0x28]
lea rdx, [rdi + 0x18]
mov qword [rsp + 0x28], rax
xor r9d, r9d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
je 0x1400999e5
lea rcx, [0x140107178]
call fcn.14000bce4
jmp 0x140099a07
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_iis_apphost_provider_decrypt___CryptImportKey__RSA___0x_08x__n
mov edx, eax
call fcn.14000bce4
test ebx, ebx
je 0x140099a07
mov r9, qword [rbp - 0x28]
jmp 0x140099a14
mov rdi, qword [rbp - 0x18]
mov r9, qword [rbp - 0x28]
test r9, r9
je 0x140099ab5
mov r8d, dword [rbp + 0x58]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp - 0x10]
lea rax, [rbp - 8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
je 0x140099a8e
mov rcx, qword [rbp - 8]
lea rax, [rbp - 0x30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
je 0x140099a6e
lea rdx, [rsi + 4]
lea rcx, str.___Password__:__s_n
call fcn.14000bce4
jmp 0x140099a82
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_iis_apphost_provider_decrypt___CryptDecrypt__0x_08x__n
mov edx, eax
call fcn.14000bce4
mov rcx, qword [rbp - 8]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
jmp 0x140099aa2
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_iis_apphost_provider_decrypt___CryptImportKey__session___0x_08x__n
mov edx, eax
call fcn.14000bce4
test ebx, ebx
jne 0x140099ac3
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140099ab5
call qword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
test rdi, rdi
je 0x140099ac3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rcx, qword [rbp - 0x10]
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
jmp 0x140099ae5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.ERROR_kuhl_m_iis_apphost_provider_decrypt___CryptAcquireContext__0x_08x__n
mov edx, eax
call fcn.14000bce4
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LocalFree]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret