Function at 0x447190
Capabilities:
Initialize hashing via wincrypt

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r13d, dword [0x0072612c]
mov r12, qword [rsp + 0xb8]
mov ebx, ecx
mov rcx, r12
mov rsi, r9
mov rbp, rdx
call sym.RSA_get0_engine
mov edx, r13d
mov rcx, rax
call sym.ENGINE_get_ex_data
lea rdx, str.Called_CAPI_rsa_sign___n
mov rcx, rax
call sym.CAPI_trace
mov edx, dword [0x00726128]
mov rcx, r12
call sym.RSA_get_ex_data
mov rdi, rax
test rax, rax
je 0x447550
cmp ebx, 0x2a0
je 0x447540
jg 0x447300
cmp ebx, 0x40
je 0x447480
mov edx, 0x8008
cmp ebx, 0x72
jne 0x447320
lea rax, [rsp + 0x38]
mov rcx, qword [rdi + 8]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x4473e0
xor r9d, r9d
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov edx, 2
call qword [sym.imp.ADVAPI32.dll_CryptSetHashParam]
test eax, eax
je 0x447490
mov rcx, r12
call sym.RSA_size
mov edx, dword [rdi + 0x18]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x34], eax
lea rax, [rsp + 0x34]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
call qword [sym.imp.ADVAPI32.dll_CryptSignHashW]
test eax, eax
je 0x4475b0
mov r11d, dword [rsp + 0x34]
mov r9d, r11d
shr r9d, 1
je 0x4472ce
mov r9d, r9d
mov rax, rsi
lea r10d, [r11 + rsi - 1]
add r9, rsi
nop word [rax + rax]
mov edx, r10d
movzx ecx, byte [rax]
sub edx, eax
add rax, 1
add rdx, rsi
movzx r8d, byte [rdx]
mov byte [rax - 1], r8b
mov byte [rdx], cl
cmp rax, r9
jne 0x4472b0
mov rax, qword [rsp + 0xb0]
mov r12d, 1
mov dword [rax], r11d
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp ebx, 0x2a1
je 0x4473d0
cmp ebx, 0x2a2
jne 0x44732e
mov edx, 0x800e
jmp 0x447218
mov edx, 0x8003
cmp ebx, 4
je 0x447218
lea rsi, [rsp + 0x46]
lea r8, [0x0075bdc2]
mov r9d, ebx
mov edx, 0xa
mov rcx, rsi
call sym.BIO_snprintf
mov r8d, dword [0x0082840c]
test r8d, r8d
je 0x447620
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, 0x7e
mov r12d, 0xffffffff
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x370
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
mov r8, rsi
mov ecx, 2
lea rdx, str.NID0x
call sym.ERR_add_error_data
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, 0x800d
jmp 0x447218
mov ecx, dword [0x0082840c]
test ecx, ecx
je 0x447528
call sym.ERR_new
mov edx, 0x5c
lea rbx, [rsp + 0x46]
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, 0x64
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x378
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
mov edx, 0xa
lea r8, [0x0075bb79]
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 eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov edx, 0x8004
jmp 0x447218
mov edx, dword [0x0082840c]
test edx, edx
je 0x447600
call sym.ERR_new
lea r8, str.ERR_CAPI_error
mov edx, 0x5c
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, 0x67
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x37f
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
lea rbx, [rsp + 0x46]
mov r12d, 0xffffffff
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
jmp 0x4472df
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x4473ee
mov edx, 0x800c
jmp 0x447218
mov r9d, dword [0x0082840c]
test r9d, r9d
je 0x447630
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, 0x350
lea rcx, str..._openssl_3.1.1_engines_e_capi.c
call sym.ERR_set_debug
jmp 0x4472ea
mov eax, dword [0x0082840c]
test eax, eax
je 0x447610
call sym.ERR_new
lea r8, str.ERR_CAPI_error
mov edx, 0x5c
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, 0x72
call sym.ERR_set_error
xor r8d, r8d
mov edx, 0x387
jmp 0x4474d6
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x44749e
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x4475ba
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x44735a
call sym.ERR_get_next_error_library
mov dword [0x0082840c], eax
jmp 0x447560