Function at 0x14001e1c0
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1400b34a8]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov r13, r9
mov rax, r8
movzx esi, dl
mov qword [rsp + 0x28], rax
xor edx, edx
mov rdi, rcx
movabs rbx, 0x1f83d9abfb41bd6b
movabs rcx, 0x5be0cd19137e2179
movabs r15, 0x6a09e667f3bcc908
movabs r12, 0xbb67ae8584caa73b
movabs r8, 0x3c6ef372fe94f82b
movabs r9, 0xa54ff53a5f1d36f1
movabs r10, 0x510e527fade682d1
movabs r11, 0x9b05688c2b3e6c1f
cmp r13, 0x40
jbe 0x14001e346
xorps xmm0, xmm0
mov qword [rsp + 0x30], rdx
xor ecx, ecx
mov qword [rsp + 0x38], rdx
mov qword [rbp], rcx
mov rdx, rax
movabs rcx, 0x5be0cd19137e2179
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x78], rcx
mov r8, r13
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x40], r15
movups xmmword [rbp - 0x80], xmm0
mov qword [rsp + 0x48], r12
movups xmmword [rbp - 0x70], xmm0
mov qword [rsp + 0x58], r9
movups xmmword [rbp - 0x60], xmm0
mov qword [rsp + 0x60], r10
movups xmmword [rbp - 0x50], xmm0
mov qword [rsp + 0x68], r11
movups xmmword [rbp - 0x40], xmm0
mov qword [rsp + 0x70], rbx
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
call fcn.140030060
mov ebx, eax
test eax, eax
jne 0x14001e2dd
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x30]
call fcn.140030170
mov ebx, eax
mov rax, qword [fcn.14006c5b0]
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0xd8
call rax
test ebx, ebx
jne 0x14001e494
xor edx, edx
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
movabs rbx, 0x1f83d9abfb41bd6b
movabs rcx, 0x5be0cd19137e2179
movabs r8, 0x3c6ef372fe94f82b
movabs r9, 0xa54ff53a5f1d36f1
movabs r10, 0x510e527fade682d1
lea r13d, [rdx + 0x40]
movabs r11, 0x9b05688c2b3e6c1f
cmp dword [rdi], 0
mov qword [rsp + 0x1a8], r14
lea r14, [rdi + 8]
mov byte [rsp + 0x20], sil
mov byte [rsp + 0x21], r13b
jne 0x14001e38f
mov qword [r14], rdx
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], r12
mov qword [r14 + 0x20], r8
mov qword [r14 + 0x28], r9
mov qword [r14 + 0x30], r10
mov qword [r14 + 0x38], r11
mov qword [r14 + 0x40], rbx
mov qword [r14 + 0x48], rcx
mov dword [r14 + 0xd0], edx
mov dword [rdi], 1
lea r15, [rsp + 0x20]
mov r12d, dword [r14]
mov edi, 2
add qword [r14], rdi
and r12d, 0x7f
mov esi, 0x80
sub esi, r12d
cmp qword [r14], rdi
jae 0x14001e3ba
inc qword [r14 + 8]
test r12d, r12d
je 0x14001e465
cmp rsi, rdi
ja 0x14001e465
mov ecx, r12d
lea rdx, [rsp + 0x20]
add rcx, 0x50
mov r8, rsi
add rcx, r14
call fcn.14006bf10
lea rdx, [r14 + 0x50]
mov rcx, r14
call fcn.14002f450
mov ebx, eax
test eax, eax
jne 0x14001e48c
lea r15, [rsp + 0x20]
sub rdi, rsi
add r15, rsi
xor r12d, r12d
cmp rdi, 0x80
jb 0x14001e460
mov rsi, rdi
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbx + r15]
mov rcx, r14
call fcn.14002f450
test eax, eax
jne 0x14001e4c8
add rsi, 0xffffffffffffff80
sub rbx, 0xffffffffffffff80
cmp rsi, 0x80
jae 0x14001e420
cmp rbx, 0x80
jb 0x14001e4c8
sub rdi, rbx
add r15, rbx
mov rsi, rdi
cmp rdi, 0x80
jae 0x14001e413
test rdi, rdi
je 0x14001e47a
mov ecx, r12d
mov r8, rdi
add rcx, 0x50
mov rdx, r15
add rcx, r14
call fcn.14006bf10
mov rdx, qword [rsp + 0x28]
mov r8, r13
mov rcx, r14
call fcn.140030060
mov ebx, eax
mov r14, qword [rsp + 0x1a8]
mov r9, qword [fcn.14006c5b0]
lea rcx, [rbp + 0x10]
xor edx, edx
lea r8d, [rdx + 0x40]
call r9
mov eax, ebx
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140068c30
add rsp, 0x160
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ebx, 0xffffffff
jmp 0x14001e48c