Function at 0x4489b0
Capabilities:
Encrypt or decrypt via wincrypt

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x40
mov esi, ecx
mov rbx, rdx
mov r13, r8
mov r14, r9
movsxd r12, ecx
test ecx, ecx
jle 0x448adb
mov rcx, r9
mov r15d, dword [0x0072612c]
call sym.RSA_get0_engine
mov rcx, rax
mov edx, r15d
call sym.ENGINE_get_ex_data
lea rdx, str.Called_capi_rsa_priv_dec___n
mov rcx, rax
call sym.CAPI_trace
mov edx, dword [0x00726128]
mov rcx, r14
call sym.RSA_get_ex_data
mov rdi, rax
test rax, rax
je 0x448c4d
cmp dword [rsp + 0xa0], 1
jne 0x448aee
mov r8d, 0x3c9
lea rdx, str..._openssl_3.1.1_engines_e_capi.c
mov rcx, r12
call sym.CRYPTO_malloc
mov r14, rax
test rax, rax
je 0x448cb3
lea ecx, [rsi - 1]
lea rax, [rax + r12 - 1]
sub r12, 2
mov rdx, rbx
sub r12, rcx
lea rcx, [r14 + r12]
nop dword [rax]
movzx r8d, byte [rdx]
sub rax, 1
add rdx, 1
mov byte [rax + 1], r8b
cmp rax, rcx
jne 0x448a60
lea rax, [rsp + 0x30]
mov rcx, qword [rdi + 0x10]
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x30], esi
mov r8d, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
call qword [sym.imp.ADVAPI32.dll_CryptDecrypt]
test eax, eax
je 0x448b89
movsxd r15, dword [rsp + 0x30]
mov rdx, r14
mov rcx, r13
mov r8, r15
mov r12, r15
call sym.memcpy
mov rdx, r15
mov rcx, r14
call sym.OPENSSL_cleanse
mov r8d, 0x3dc
lea rdx, str..._openssl_3.1.1_engines_e_capi.c
mov rcx, r14
call sym.CRYPTO_free
mov eax, r12d
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov r9d, dword [rsp + 0xa0]
lea rbx, [rsp + 0x36]
mov edx, 0xa
lea r8, [0x0075be5d]
mov rcx, rbx
call sym.BIO_snprintf
mov edx, dword [0x0082840c]
test edx, edx
je 0x448b7c
call sym.ERR_new
mov edx, 0x5c
lea r8, str.ERR_CAPI_error
lea rcx, str..._openssl_3.1.1_engines_e_capi_err.c
call sym.ERR_set_debug
mov ecx, dword [0x0082840c]
xor r8d, r8d
mov edx, 0x7f
mov r12d, 0xffffffff
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x3c2
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
mov r8, rbx
mov ecx, 2
lea rdx, [0x0075be60]
call sym.ERR_add_error_data
jmp 0x448adb
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x448b19
mov eax, dword [0x0082840c]
test eax, eax
je 0x448c3d
call sym.ERR_new
mov edx, 0x5c
lea rbx, [rsp + 0x36]
lea r8, str.ERR_CAPI_error
lea rcx, str..._openssl_3.1.1_engines_e_capi_err.c
mov r12d, 0xffffffff
call sym.ERR_set_debug
mov ecx, dword [0x0082840c]
xor r8d, r8d
mov edx, 0x6a
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x3d3
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, [0x0075bb79]
mov edx, 0xa
mov rcx, rbx
mov r9d, eax
call sym.BIO_snprintf
mov r8, rbx
mov ecx, 2
lea rdx, str.Error_code_0x
call sym.ERR_add_error_data
mov edx, dword [rsp + 0x30]
mov rcx, r14
call sym.OPENSSL_cleanse
mov r8d, 0x3d6
lea rdx, str..._openssl_3.1.1_engines_e_capi.c
mov rcx, r14
call sym.CRYPTO_free
jmp 0x448adb
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x448b97
mov ecx, dword [0x0082840c]
test ecx, ecx
je 0x448ca6
call sym.ERR_new
mov edx, 0x5c
lea r8, str.ERR_CAPI_error
lea rcx, str..._openssl_3.1.1_engines_e_capi_err.c
call sym.ERR_set_debug
mov ecx, dword [0x0082840c]
xor r8d, r8d
mov edx, 0x66
mov r12d, 0xffffffff
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x3b1
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
jmp 0x448adb
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x448c57
mov edx, 0x3ca
mov ecx, 0xc0100
or r12d, 0xffffffff
call sym.ERR_CAPI_error.constprop.0
jmp 0x448adb