Function at 0x140199d50
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
mov r10, rdx
mov r14, rcx
mov rdx, r8
mov r8, r9
cmp r10, 0x40
ja 0x140199e78
movabs rax, 0x5be0cd19137e2179
lea rbx, [rsp + 0x80]
movabs rdi, 0xbb67ae8584caa73b
movabs rbp, 0x3c6ef372fe94f82b
mov qword [rsp + 0xb8], rax
mov rax, r10
movabs rcx, 0x6a09e667f3bcc908
pxor xmm0, xmm0
mov qword [rsp + 0x88], rdi
or rax, 0x1010000
movabs rdi, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x90], rbp
xor rax, rcx
mov rcx, rbx
movabs rbp, 0x510e527fade682d1
mov qword [rsp + 0x98], rdi
movabs rdi, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xa0], rbp
movabs rbp, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x80], rax
mov dword [rsp + 0xd0], r10d
mov qword [rsp + 0x1b8], r10
mov qword [rsp + 0x150], 4
movups xmmword [rsp + 0xc0], xmm0
call fcn.140199b40
mov r8, qword [rsp + 0x1b8]
mov rdx, r14
mov rcx, rbx
call fcn.140199c90
nop
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rdi, 0xbb67ae8584caa73b
pxor xmm0, xmm0
movabs rbp, 0x3c6ef372fe94f82b
movabs rsi, 0x5be0cd19137e2179
mov qword [rsp + 0x88], rdi
lea rax, [rsp + 0x80]
movabs rdi, 0xa54ff53a5f1d36f1
lea r15, [rsp + 0x40]
mov qword [rsp + 0x90], rbp
mov rcx, rax
movabs rbp, 0x510e527fade682d1
mov qword [rsp + 0x98], rdi
movabs rdi, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xa0], rbp
movabs rbp, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xa8], rdi
mov rdi, rax
mov qword [rsp + 0xb8], rsi
movabs rsi, 0x6a09e667f2bdc948
mov dword [rsp + 0xd0], r10d
mov qword [rsp + 0x1b8], r10
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x150], 4
call fcn.140199b40
mov r8d, 0x40
mov rdx, r15
mov rcx, rdi
call fcn.140199c90
movdqu xmm2, xmmword [rsp + 0x40]
movdqu xmm3, xmmword [rsp + 0x50]
lea r9, [r14 + 0x20]
mov r10, qword [rsp + 0x1b8]
movups xmmword [r14], xmm2
lea ebx, [r10 - 0x20]
movups xmmword [r14 + 0x10], xmm3
cmp ebx, 0x40
jbe 0x14019a0e7
lea edx, [r10 - 0x61]
mov qword [rsp + 0x38], r9
lea rbp, [rsp + 0x88]
movabs r12, 0xbb67ae8584caa73b
movabs r13, 0x3c6ef372fe94f82b
shr edx, 5
mov rax, rbp
movabs rsi, 0xa54ff53a5f1d36f1
mov ecx, edx
mov dword [rsp + 0x28], edx
mov rbp, r9
mov rbx, rax
lea r8, [rcx + 2]
mov qword [rsp + 0x30], rcx
movabs rdi, 0x510e527fade682d1
shl r8, 5
add r14, r8
nop word [rax + rax]
movdqu xmm1, xmmword [rsp + 0x40]
movdqu xmm2, xmmword [rsp + 0x50]
pxor xmm0, xmm0
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rbx + 0x20], rax
movdqu xmm3, xmmword [rsp + 0x60]
movabs rdx, 0x1f83d9abfb41bd6b
movabs rax, 0x5be0cd19137e2179
movdqu xmm4, xmmword [rsp + 0x70]
mov rcx, qword [rsp + 0x20]
mov qword [rbx + 0x28], rdx
mov r8d, 0x40
mov qword [rbx + 0x30], rax
mov rdx, r15
add rbp, 0x20
movabs rax, 0x6a09e667f2bdc948
mov qword [rbx + 0x18], rdi
mov qword [rbx + 8], r13
mov qword [rbx + 0x10], rsi
movups xmmword [rsp + 0xd0], xmm1
mov qword [rbx], r12
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x150], 0x40
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xe0], xmm2
movups xmmword [rsp + 0xf0], xmm3
movups xmmword [rsp + 0x100], xmm4
call fcn.140199c90
movdqu xmm5, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movups xmmword [rbp - 0x20], xmm5
movups xmmword [rbp - 0x10], xmm1
cmp rbp, r14
jne 0x140199ff0
mov edx, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x1b8]
shl edx, 5
shl rcx, 5
neg edx
lea r9, [r9 + rcx + 0x20]
lea ebx, [rdx + r10 - 0x40]
movdqu xmm4, xmmword [rsp + 0x40]
movdqu xmm5, xmmword [rsp + 0x50]
mov esi, ebx
pxor xmm0, xmm0
movdqu xmm2, xmmword [rsp + 0x60]
movdqu xmm3, xmmword [rsp + 0x70]
movabs rdx, 0x3c6ef372fe94f82b
movabs rax, 0xbb67ae8584caa73b
mov qword [rsp + 0x90], rdx
mov r8, rsi
movabs rdx, 0x510e527fade682d1
movabs rcx, 0x6a09e667f3bcc908
mov qword [rsp + 0xa0], rdx
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xb0], rdx
mov edx, ebx
mov qword [rsp + 0x88], rax
or edx, 0x1010000
movabs rax, 0xa54ff53a5f1d36f1
xor rdx, rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x20]
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xa8], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x80], rdx
mov rdx, r15
mov qword [rsp + 0x28], r9
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x150], 0x40
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm4
movups xmmword [rsp + 0xe0], xmm5
movups xmmword [rsp + 0xf0], xmm2
movups xmmword [rsp + 0x100], xmm3
call fcn.140199c90
cmp ebx, 8
mov r9, qword [rsp + 0x28]
jb 0x14019a258
mov rdx, qword [rsp + 0x40]
mov r10, r15
mov qword [r9], rdx
mov rdx, qword [r15 + rsi - 8]
mov qword [r9 + rsi - 8], rdx
lea rdx, [r9 + 8]
and rdx, 0xfffffffffffffff8
sub r9, rdx
add ebx, r9d
sub r10, r9
and ebx, 0xfffffff8
cmp ebx, 8
jb 0x14019a240
and ebx, 0xfffffff8
xor ecx, ecx
mov eax, ecx
add ecx, 8
mov r8, qword [r10 + rax]
mov qword [rdx + rax], r8
cmp ecx, ebx
jb 0x14019a226
nop word [rax + rax]
mov edx, 0x40
mov rcx, r15
call fcn.140196540
jmp 0x140199e61
test bl, 4
jne 0x14019a27c
test ebx, ebx
je 0x14019a240
movzx edx, byte [rsp + 0x40]
and ebx, 2
mov byte [r9], dl
je 0x14019a240
movzx edx, word [r15 + rsi - 2]
mov word [r9 + rsi - 2], dx
jmp 0x14019a240
mov edx, dword [rsp + 0x40]
mov dword [r9], edx
mov edx, dword [r15 + rsi - 4]
mov dword [r9 + rsi - 4], edx
jmp 0x14019a240