Function at 0x1401001c0
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 rbx, rcx
mov rdx, r8
mov r8, r9
cmp r10, 0x40
ja 0x1401002e8
movabs rax, 0x5be0cd19137e2179
lea rsi, [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, rsi
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.1400fffa0
mov r8, qword [rsp + 0x1b8]
mov rdx, rbx
mov rcx, rsi
call fcn.140100100
nop
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rdi, 0xbb67ae8584caa73b
lea rax, [rsp + 0x80]
pxor xmm0, xmm0
movabs rbp, 0x3c6ef372fe94f82b
mov qword [rsp + 0x88], rdi
mov rcx, rax
movabs rdi, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x98], rdi
movabs rdi, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x90], rbp
movabs rbp, 0x510e527fade682d1
mov qword [rsp + 0xa8], rdi
movabs rdi, 0x5be0cd19137e2179
mov qword [rsp + 0xa0], rbp
movabs rbp, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xb8], rdi
movabs rdi, 0x6a09e667f2bdc948
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x80], rdi
mov rdi, rax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xd0], r10d
mov qword [rsp + 0x1b8], r10
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0x150], 4
call fcn.1400fffa0
mov r8d, 0x40
mov rdx, rbp
mov rcx, rdi
call fcn.140100100
movdqu xmm2, xmmword [rsp + 0x40]
movdqu xmm3, xmmword [rsp + 0x50]
lea rax, [rbx + 0x20]
mov r10, qword [rsp + 0x1b8]
movups xmmword [rbx], xmm2
lea esi, [r10 - 0x20]
movups xmmword [rbx + 0x10], xmm3
cmp esi, 0x40
jbe 0x1401006f6
movabs r14, 0xbb67ae8584caa73b
lea edx, [r10 - 0x61]
movabs r15, 0x3c6ef372fe94f82b
movabs r12, 0xa54ff53a5f1d36f1
movabs r13, 0x510e527fade682d1
shr edx, 5
movabs rsi, 0x9b05688c2b3e6c1f
lea ecx, [rdx + 2]
mov dword [rsp + 0x3c], edx
shl rcx, 5
lea rdi, [rbx + rcx]
lea rbx, [rsp + 0x88]
mov rcx, rbx
mov qword [rsp + 0x30], rdi
mov rbx, rax
movabs rdi, 0x1f83d9abfb41bd6b
mov rax, rcx
nop word [rax + rax]
movdqu xmm1, xmmword [rsp + 0x40]
movdqu xmm2, xmmword [rsp + 0x50]
mov qword [rax + 0x28], rdi
movabs rcx, 0x5be0cd19137e2179
mov qword [rax + 0x30], rcx
mov rcx, qword [rsp + 0x28]
pxor xmm0, xmm0
mov rdx, rbp
movdqu xmm3, xmmword [rsp + 0x60]
movdqu xmm4, xmmword [rsp + 0x70]
mov qword [rax + 0x18], r13
add rbx, 0x20
mov qword [rax + 0x20], rsi
mov r8d, 0x40
mov qword [rax + 8], r15
mov qword [rax + 0x10], r12
mov qword [rax], r14
mov qword [rsp + 0x20], rax
movabs rax, 0x6a09e667f2bdc948
mov qword [rsp + 0x80], rax
movups xmmword [rsp + 0xd0], xmm1
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.140100100
movdqu xmm5, xmmword [rbp]
movdqu xmm1, xmmword [rbp + 0x10]
mov rax, qword [rsp + 0x30]
movups xmmword [rbx - 0x20], xmm5
movups xmmword [rbx - 0x10], xmm1
cmp rbx, rax
mov rax, qword [rsp + 0x20]
jne 0x140100468
mov r10, qword [rsp + 0x1b8]
mov edx, dword [rsp + 0x3c]
sub r10d, 0x40
shl edx, 5
mov esi, r10d
sub esi, edx
movdqu xmm4, xmmword [rsp + 0x40]
movdqu xmm5, xmmword [rsp + 0x50]
mov edi, esi
pxor xmm0, xmm0
movdqu xmm2, xmmword [rsp + 0x60]
movdqu xmm3, xmmword [rsp + 0x70]
movabs rax, 0xbb67ae8584caa73b
movabs rdx, 0x3c6ef372fe94f82b
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x28]
mov r8, rdi
movabs rax, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x98], rax
movabs rax, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x90], rdx
movabs rdx, 0x510e527fade682d1
mov qword [rsp + 0xa8], rax
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0xa0], rdx
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [rsp + 0xb8], rax
mov eax, esi
or eax, 0x1010000
mov qword [rsp + 0xb0], rdx
movabs rdx, 0x6a09e667f3bcc908
xor rax, rdx
mov rdx, rbp
mov qword [rsp + 0x150], 0x40
mov qword [rsp + 0x80], rax
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.140100100
cmp esi, 8
jae 0x140100670
test sil, 4
jne 0x140100700
test esi, esi
jne 0x1401006cd
mov edx, 0x40
mov rcx, rbp
call fcn.1400fca10
jmp 0x1401002d1
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x40]
mov r9, rbp
mov qword [rdx], rax
mov rax, qword [rbp + rdi - 8]
lea rcx, [rdx + 8]
and rcx, 0xfffffffffffffff8
mov qword [rdx + rdi - 8], rax
mov rax, rdx
sub rax, rcx
add esi, eax
sub r9, rax
and esi, 0xfffffff8
cmp esi, 8
jb 0x140100657
and esi, 0xfffffff8
xor eax, eax
mov edx, eax
add eax, 8
mov r8, qword [r9 + rdx]
mov qword [rcx + rdx], r8
cmp eax, esi
jb 0x1401006aa
mov edx, 0x40
mov rcx, rbp
call fcn.1400fca10
jmp 0x1401002d1
movzx eax, byte [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
and esi, 2
mov byte [rbx], al
je 0x140100657
movzx eax, word [rbp + rdi - 2]
mov rsi, qword [rsp + 0x30]
mov word [rsi + rdi - 2], ax
jmp 0x140100657
mov qword [rsp + 0x30], rax
jmp 0x140100548
mov eax, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov dword [rsi], eax
mov eax, dword [rbp + rdi - 4]
mov dword [rsi + rdi - 4], eax
jmp 0x140100657