Function at 0x1800da040
Capabilities:
Hash data using sha512

Disassembly:
test r8, r8
je 0x1800da34d
push rbp
push rsi
push rdi
push r14
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x18028f9a8]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov rdi, rcx
mov qword [rsp + 0x130], rbx
mov rcx, qword [rcx + 0x28]
mov rsi, r8
mov r14, rdx
test rcx, rcx
je 0x1800da2e2
cmp rcx, 0x80
jae 0x1800da0b9
mov ebx, 0x80
sub rbx, rcx
cmp r8, rbx
cmovb rbx, r8
test rbx, rbx
je 0x1800da0af
add rcx, qword [rdi + 0x10]
mov r8, rbx
call fcn.1801a4560
add qword [rdi + 0x28], rbx
sub rsi, rbx
add r14, rbx
mov rax, qword [rdi + 0x18]
sub rax, qword [rdi + 0x10]
cmp qword [rdi + 0x28], rax
jne 0x1800da2e2
test rsi, rsi
je 0x1800da2e2
mov rax, qword [rdi + 0x10]
sub qword [rdi + 0x48], 0xffffffffffffff80
mov rcx, qword [rdi + 0x48]
cmp rcx, 0x80
jae 0x1800da0ee
inc qword [rdi + 0x50]
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0x20]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rsp + 0x50], xmm1
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rsp + 0x70], xmm1
movups xmm1, xmmword [rax + 0x70]
mov rax, qword [rdi + 0x30]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rbp - 0x50], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rbp - 0x40], xmm0
movaps xmm0, xmmword [0x180207150]
movups xmmword [rbp - 0x30], xmm1
movaps xmm1, xmmword [0x180207160]
movups xmmword [rbp - 0x20], xmm0
movaps xmm0, xmmword [0x180207170]
movaps xmmword [rbp], xmm0
movq rax, xmm0
xor rax, rcx
lea rcx, [rbp - 0x60]
mov qword [rbp], rax
mov rax, qword [rdi + 0x50]
xor qword [rbp + 8], rax
movups xmmword [rbp - 0x10], xmm1
movaps xmm1, xmmword [0x180207180]
movaps xmmword [rbp + 0x10], xmm1
movq rax, xmm1
xor rax, qword [rdi + 0x58]
mov qword [rbp + 0x10], rax
mov rax, qword [rdi + 0x60]
xor qword [rbp + 0x18], rax
call fcn.1800d8f50
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d9b10
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d9240
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d8680
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d8970
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d80a0
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d9530
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d9820
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d8390
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d8c60
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d8f50
lea rcx, [rbp - 0x60]
lea rdx, [rsp + 0x20]
call fcn.1800d9b10
mov rax, qword [rbp - 0x60]
mov rdx, qword [rdi + 0x30]
xor rax, qword [rbp - 0x20]
xor qword [rdx], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx + 8]
xor rax, qword [rbp - 0x18]
xor rax, qword [rbp - 0x58]
mov qword [rcx + 8], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rcx + 0x10]
xor rax, qword [rbp - 0x10]
xor rax, qword [rbp - 0x50]
mov qword [rcx + 0x10], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rbp - 8]
xor rax, qword [rbp - 0x48]
xor qword [rcx + 0x18], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rbp - 0x40]
xor rax, qword [rbp]
xor qword [rcx + 0x20], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rbp - 0x38]
xor rax, qword [rbp + 8]
xor qword [rcx + 0x28], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rbp - 0x30]
xor rax, qword [rbp + 0x10]
xor qword [rcx + 0x30], rax
mov rcx, qword [rdi + 0x30]
mov rax, qword [rbp - 0x28]
xor rax, qword [rbp + 0x18]
xor qword [rcx + 0x38], rax
mov qword [rdi + 0x28], 0
cmp rsi, 0x80
jbe 0x1800da311
lea rbx, [rsi - 1]
mov r9d, 0x80
shr rbx, 7
mov rdx, r14
mov r8, rbx
mov rcx, rdi
call fcn.1800da420
shl rbx, 7
add r14, rbx
sub rsi, rbx
mov rbx, qword [rsp + 0x130]
test rsi, rsi
je 0x1800da335
mov rcx, qword [rdi + 0x10]
mov r8, rsi
add rcx, qword [rdi + 0x28]
mov rdx, r14
call fcn.1801a4560
add qword [rdi + 0x28], rsi
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.180186840
add rsp, 0x138
pop r14
pop rdi
pop rsi
pop rbp
ret