Function at 0x1400be160
Capabilities:
Hash data using sha1
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, r8
mov rbx, rcx
mov r9d, 0xffffff18
test rcx, rcx
je 0x1400be2f7
test r8, r8
je 0x1400be2f7
cmp edx, 0x11
ja case.0x1400be1a5.0
movsxd rax, edx
lea rcx, [0x140000000]
mov edx, dword [rcx + rax*4 + 0xbe308]
add rdx, rcx
jmp rdx
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d5630
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400c2710
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d0ac0
mov rcx, rbx
call fcn.1400c5800
mov r9d, eax
test eax, eax
jne case.0x1400be1a5.5
movups xmm0, xmmword [rbx]
xor r9d, r9d
movabs rax, 0xcbbb9d5dc1059ed8
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rdi + 0x20], xmm0
mov qword [rbx], rax
movabs rax, 0x629a292a367cd507
mov qword [rbx + 8], rax
movabs rax, 0x9159015a3070dd17
mov qword [rbx + 0x10], rax
movabs rax, 0x152fecd8f70e5939
mov qword [rbx + 0x18], rax
movabs rax, 0x67332667ffc00b31
mov qword [rbx + 0x20], rax
movabs rax, 0x8eb44a8768581511
mov qword [rbx + 0x28], rax
movabs rax, 0xdb0c2e0d64f98fa7
mov qword [rbx + 0x30], rax
movabs rax, 0x47b5481dbefa4fa4
mov qword [rbx + 0x38], rax
mov eax, r9d
mov dword [rbx + 0xc0], r9d
mov qword [rbx + 0xc8], r9
mov qword [rbx + 0xd0], r9
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400c5940
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1400c5b40
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1400c5c30
mov r9d, 0xffffff53
mov eax, r9d
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov eax, 0xffffff53
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x1400c5c15
test rdx, rdx
je 0x1400c5c15
call fcn.1400c5800
test eax, eax
jne 0x1400c5c1a
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movsd xmm1, qword [rbx + 0x10]
movsd qword [rdi + 0x10], xmm1
mov eax, dword [rbx + 0x18]
mov dword [rdi + 0x18], eax
movabs rax, 0x8c3d37c819544da2
mov qword [rbx], rax
movabs rax, 0x73e1996689dcd4d6
mov qword [rbx + 8], rax
movabs rax, 0x1dfab7ae32ff9c82
mov qword [rbx + 0x10], rax
movabs rax, 0x679dd514582f9fcf
mov qword [rbx + 0x18], rax
movabs rax, 0xf6d2b697bd44da8
mov qword [rbx + 0x20], rax
movabs rax, 0x77e36f7304c48942
mov qword [rbx + 0x28], rax
movabs rax, 0x3f9d85a86a1d36c8
mov qword [rbx + 0x30], rax
movabs rax, 0x1112e6ad91d692a1
mov qword [rbx + 0x38], rax
xor eax, eax
mov dword [rbx + 0xc0], eax
mov qword [rbx + 0xc8], rax
mov qword [rbx + 0xd0], rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x1400c5cfd
test rdx, rdx
je 0x1400c5cfd
call fcn.1400c5800
test eax, eax
jne 0x1400c5d02
movups xmm0, xmmword [rbx]
movabs rax, 0x22312194fc2bf72c
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx], rax
movabs rax, 0x9f555fa3c84c64c2
mov qword [rbx + 8], rax
movabs rax, 0x2393b86b6f53b151
mov qword [rbx + 0x10], rax
movabs rax, 0x963877195940eabd
mov qword [rbx + 0x18], rax
movabs rax, 0x96283ee2a88effe3
mov qword [rbx + 0x20], rax
movabs rax, 0xbe5e1e2553863992
mov qword [rbx + 0x28], rax
movabs rax, 0x2b0199fc2c85b8aa
mov qword [rbx + 0x30], rax
movabs rax, 0xeb72ddc81c52ca2
mov qword [rbx + 0x38], rax
xor eax, eax
mov dword [rbx + 0xc0], eax
mov qword [rbx + 0xc8], rax
mov qword [rbx + 0xd0], rax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret