Function at 0x140001c60
Capabilities:
Hash data via bcrypt

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x78
mov rax, qword [0x1400f8010]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor edi, edi
mov rsi, r9
mov rbp, r8
mov qword [rsp + 0x48], rdi
mov r15d, edx
mov qword [rsp + 0x50], rdi
mov r14, rcx
mov dword [rsp + 0x58], edi
xor r9d, r9d
mov dword [rsp + 0x5c], edi
xor r8d, r8d
mov dword [rsp + 0x40], edi
lea rdx, str.SHA512
mov ebx, edi
lea rcx, [rsp + 0x48]
call qword [sym.imp.bcrypt.dll_BCryptOpenAlgorithmProvider]
test eax, eax
jns 0x140001cd1
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptOpenAlgorithmProvider_n
call fcn.140001430
jmp 0x140001e39
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], edi
lea r8, [rsp + 0x40]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea rdx, str.ObjectLength
call qword [sym.imp.bcrypt.dll_BCryptGetProperty]
test eax, eax
jns 0x140001d13
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptGetProperty_n
call fcn.140001430
jmp 0x140001e39
mov ebx, dword [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapAlloc]
mov rbx, rax
test rax, rax
jne 0x140001d44
lea rcx, str._memory_allocation_failed_n
call fcn.140001430
jmp 0x140001e39
mov rcx, qword [rsp + 0x48]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], edi
lea r8, [rsp + 0x5c]
mov r9d, 4
mov qword [rsp + 0x20], rax
lea rdx, str.HashDigestLength
call qword [sym.imp.bcrypt.dll_BCryptGetProperty]
test eax, eax
jns 0x140001d86
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptGetProperty_n
call fcn.140001430
jmp 0x140001e39
mov eax, dword [rsp + 0x5c]
cmp dword [rsi], eax
je 0x140001d9f
lea rcx, str._outputLen___cbHash_n
call fcn.140001430
jmp 0x140001e39
mov r9d, dword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r8, rbx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
call qword [sym.imp.bcrypt.dll_BCryptCreateHash]
test eax, eax
jns 0x140001dd8
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptCreateHash_n
call fcn.140001430
jmp 0x140001e39
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, r15d
mov rdx, r14
call qword [sym.imp.bcrypt.dll_BCryptHashData]
test eax, eax
jns 0x140001e00
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptHashData_n
call fcn.140001430
jmp 0x140001e39
mov r8d, dword [rsi]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov rdx, rbp
call qword [sym.imp.bcrypt.dll_BCryptFinishHash]
test eax, eax
jns 0x140001e28
mov edx, eax
lea rcx, str._Error_0x_x_returned_by_BCryptFinishHash_n
call fcn.140001430
jmp 0x140001e39
lea rcx, str.Success__n
call fcn.140001430
mov edi, 1
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140001e4b
xor edx, edx
call qword [sym.imp.bcrypt.dll_BCryptCloseAlgorithmProvider]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140001e5b
call qword [sym.imp.bcrypt.dll_BCryptDestroyHash]
test rbx, rbx
je 0x140001e74
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
mov eax, edi
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14003d6b0
add rsp, 0x78
pop r15
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret