Function at 0x140080c20
Capabilities:
Hash data using sha512

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rbx, rdx
mov rdi, rcx
add rcx, 0x40
xor edx, edx
mov r8d, 0xb8
call fcn.1402406a0
movabs rdx, 0x6a09e667f3bcc908
movabs r8, 0xbb67ae8584caa73b
mov qword [rdi], rdx
movabs r9, 0x3c6ef372fe94f82b
mov qword [rdi + 8], r8
movabs r10, 0xa54ff53a5f1d36f1
mov qword [rdi + 0x10], r9
movabs r11, 0x510e527fade682d1
mov qword [rdi + 0x18], r10
movabs rsi, 0x9b05688c2b3e6c1f
mov qword [rdi + 0x20], r11
movabs rbp, 0x1f83d9abfb41bd6b
mov qword [rdi + 0x28], rsi
movabs r14, 0x5be0cd19137e2179
mov qword [rdi + 0x30], rbp
mov qword [rdi + 0x38], r14
movzx eax, byte [rbx + 6]
movzx ecx, byte [rbx + 7]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 1]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx]
shl rcx, 8
or rcx, rax
xor rcx, rdx
mov qword [rdi], rcx
movzx eax, byte [rbx + 0xe]
movzx ecx, byte [rbx + 0xf]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xd]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xc]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xb]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0xa]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 9]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 8]
shl rcx, 8
or rcx, rax
xor rcx, r8
mov qword [rdi + 8], rcx
movzx eax, byte [rbx + 0x16]
movzx ecx, byte [rbx + 0x17]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x15]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x14]
shl rcx, 8
or rcx, rax
shl rcx, 8
movzx eax, byte [rbx + 0x13]
or rcx, rax
movzx eax, byte [rbx + 0x12]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x11]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x10]
shl rcx, 8
or rcx, rax
xor rcx, r9
mov qword [rdi + 0x10], rcx
movzx eax, byte [rbx + 0x1e]
movzx ecx, byte [rbx + 0x1f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x1a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x18]
shl rcx, 8
or rcx, rax
xor rcx, r10
mov qword [rdi + 0x18], rcx
movzx eax, byte [rbx + 0x26]
movzx ecx, byte [rbx + 0x27]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x25]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x24]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x23]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x22]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x21]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x20]
shl rcx, 8
or rcx, rax
xor rcx, r11
mov qword [rdi + 0x20], rcx
movzx eax, byte [rbx + 0x2e]
movzx ecx, byte [rbx + 0x2f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x2a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x29]
shl rcx, 8
or rcx, rax
shl rcx, 8
movzx eax, byte [rbx + 0x28]
or rcx, rax
xor rcx, rsi
mov rsi, qword [rsp + 0x40]
mov qword [rdi + 0x28], rcx
movzx eax, byte [rbx + 0x36]
movzx ecx, byte [rbx + 0x37]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x35]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x34]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x33]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x32]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x31]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x30]
shl rcx, 8
or rcx, rax
xor rcx, rbp
mov rbp, qword [rsp + 0x38]
mov qword [rdi + 0x30], rcx
movzx eax, byte [rbx + 0x3e]
movzx ecx, byte [rbx + 0x3f]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3d]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3c]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3b]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x3a]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x39]
shl rcx, 8
or rcx, rax
movzx eax, byte [rbx + 0x38]
shl rcx, 8
or rcx, rax
xor rcx, r14
mov qword [rdi + 0x38], rcx
movzx eax, byte [rbx]
mov rbx, qword [rsp + 0x30]
mov qword [rdi + 0xe8], rax
xor eax, eax
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret