Function at 0x1400ceba0
Capabilities:
Hash data via bcrypt

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
sub rsp, 0xa0
mov r13d, edx
cmp edx, 0x14
jne 0x1400cebd5
mov rdi, qword [0x14015fed0]
lea rax, str.SHA1
jmp 0x1400cec19
cmp r13d, 0x20
jne 0x1400cebeb
mov rdi, qword [0x14015fed8]
lea rax, str.SHA256
jmp 0x1400cec19
cmp r13d, 0x30
jne 0x1400cec01
mov rdi, qword [0x14015fee0]
lea rax, str.SHA384
jmp 0x1400cec19
cmp r13d, 0x40
jne 0x1400ceeea
mov rdi, qword [0x14015fee8]
lea rax, str.SHA512
mov r12d, dword [rsp + 0xf8]
mov ecx, r12d
mov qword [rsp + 0x70], rax
mov esi, r12d
mov qword [rsp + 0x68], r12
call fcn.14002c3bc
mov qword [rsp + 0x50], rax
mov rbx, rax
test rax, rax
je 0x1400ceeea
mov qword [rsp + 0x90], r14
mov rcx, r13
mov qword [rsp + 0x88], r15
call fcn.14002c3bc
mov r14, rax
mov rcx, rbx
test rax, rax
jne 0x1400cec78
call fcn.14002c3a8
lea eax, [r14 - 1]
jmp 0x1400cedc0
mov rdx, qword [rsp + 0xf0]
mov r8, r12
mov qword [rsp + 0x98], rbp
call fcn.140019020
xor ebp, ebp
lea rax, [rsp + 0x44]
mov dword [rsp + 0x28], ebp
lea r8, [rsp + 0x40]
lea rdx, str.HashDigestLength
mov qword [rsp + 0x20], rax
mov rcx, rdi
lea r9d, [rbp + 4]
call sub.bcrypt.dll_BCryptGetProperty
test eax, eax
js 0x1400ced5e
cmp dword [rsp + 0x40], r13d
jne 0x1400ced5e
lea rax, [rsp + 0x44]
mov dword [rsp + 0x28], ebp
lea r9d, [rbp + 4]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xd8]
mov rcx, rdi
lea rdx, str.ObjectLength
call sub.bcrypt.dll_BCryptGetProperty
test eax, eax
js 0x1400ced5e
mov ecx, dword [rsp + 0xd8]
call fcn.14002c3bc
mov qword [rsp + 0x58], rax
mov rbx, rax
test rax, rax
je 0x1400ced59
mov r9d, dword [rsp + 0xd8]
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x30], ebp
mov r8, rax
mov dword [rsp + 0x28], ebp
mov rcx, rdi
mov qword [rsp + 0x20], rbp
call sub.bcrypt.dll_BCryptCreateHash
test eax, eax
jns 0x1400ceddf
mov ecx, dword [rsp + 0xd8]
test rcx, rcx
je 0x1400ced51
mov rdi, rbx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14002c3a8
mov rbx, qword [rsp + 0x50]
mov r12d, 0xffffffff
test rsi, rsi
je 0x1400ced73
mov rdi, rbx
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14002c3a8
test r12d, r12d
jne 0x1400ced9c
mov edi, dword [rsp + 0xe8]
mov ecx, edi
mov esi, edi
call fcn.14002c3bc
mov rbx, rax
test rax, rax
jne 0x1400cee62
test r13d, r13d
je 0x1400cedab
mov rcx, r13
xor eax, eax
mov rdi, r14
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14002c3a8
mov eax, 0xffffffff
mov rbp, qword [rsp + 0x98]
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0x88]
add rsp, 0xa0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [rsp + 0x60]
xor r9d, r9d
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
mov esi, dword [rsp + 0xd8]
mov r8d, r12d
mov edi, dword [rsp + 0x40]
call sub.bcrypt.dll_BCryptHashData
test eax, eax
mov r12d, ebp
mov r8d, edi
mov rdx, r14
setns r12b
mov rcx, rbx
xor r9d, r9d
dec r12d
call sub.bcrypt.dll_BCryptFinishHash
mov rcx, rbx
mov dword [rsp + 0x48], eax
call sub.bcrypt.dll_BCryptDestroyHash
mov rdx, qword [rsp + 0x58]
mov ecx, esi
test esi, esi
je 0x1400cee3d
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14002c3a8
mov rbx, qword [rsp + 0x50]
mov eax, ebp
cmp dword [rsp + 0x48], eax
mov rsi, qword [rsp + 0x68]
setge al
dec eax
or r12d, eax
jmp 0x1400ced64
mov rdx, qword [rsp + 0xe0]
mov r8, rsi
mov rcx, rbx
call fcn.140019020
mov eax, dword [rsp + 0x100]
lea rdx, [rsp + 0x70]
mov rcx, qword [rsp + 0xd0]
test al, 2
mov dword [rsp + 0x30], eax
mov r9d, r13d
cmove rdx, rbp
mov dword [rsp + 0x28], edi
mov r8, r14
mov qword [rsp + 0x20], rbx
mov rcx, qword [rcx]
call sub.bcrypt.dll_BCryptVerifySignature
mov r12d, eax
test r13d, r13d
je 0x1400ceebc
mov rdi, r14
xor eax, eax
mov rcx, r13
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14002c3a8
test rsi, rsi
je 0x1400ceed3
mov rdi, rbx
xor eax, eax
mov rcx, rsi
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14002c3a8
test r12d, r12d
setns bpl
lea eax, [rbp - 1]
jmp 0x1400cedb8
mov eax, 0xffffffff
add rsp, 0xa0
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret