Function at 0x1403a4530
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 qword [rsp + 0x1b8], rdx
mov r12, rcx
mov rdx, r8
cmp qword [rsp + 0x1b8], 0x40
mov r8, r9
ja 0x1403a4660
movabs rax, 0x5be0cd19137e2179
lea r13, [rsp + 0x80]
pxor xmm0, xmm0
movabs rdi, 0xbb67ae8584caa73b
mov qword [rsp + 0xb8], rax
mov rcx, r13
movabs rbp, 0x3c6ef372fe94f82b
movabs rax, 0x6a09e667f2bdc908
xor rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x88], rdi
movabs rdi, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x90], rbp
movabs rbp, 0x510e527fade682d1
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x1b8]
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 dword [rsp + 0xd0], eax
mov qword [rsp + 0x150], 4
movups xmmword [rsp + 0xc0], xmm0
call fcn.1403a42f0
mov r8, qword [rsp + 0x1b8]
mov rdx, r12
mov rcx, r13
call fcn.1403a4460
nop
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs rbp, 0x3c6ef372fe94f82b
lea rbx, [rsp + 0x80]
pxor xmm0, xmm0
movabs rax, 0x5be0cd19137e2179
mov qword [rsp + 0x90], rbp
mov rcx, rbx
movabs rdi, 0xbb67ae8584caa73b
movabs rbp, 0x510e527fade682d1
mov qword [rsp + 0xb8], rax
movabs rax, 0x6a09e667f2bdc948
mov qword [rsp + 0x88], rdi
movabs rdi, 0xa54ff53a5f1d36f1
mov qword [rsp + 0xa0], rbp
movabs rbp, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x1b8]
mov qword [rsp + 0x98], rdi
movabs rdi, 0x9b05688c2b3e6c1f
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0x40]
mov dword [rsp + 0xd0], eax
mov qword [rsp + 0xa8], rdi
movups xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0x150], 4
call fcn.1403a42f0
mov r8d, 0x40
mov rdx, rbp
mov rcx, rbx
call fcn.1403a4460
movdqu xmm2, xmmword [rsp + 0x40]
movdqu xmm3, xmmword [rsp + 0x50]
lea rax, [r12 + 0x20]
mov edi, dword [rsp + 0x1b8]
movups xmmword [r12], xmm2
lea esi, [rdi - 0x20]
movups xmmword [r12 + 0x10], xmm3
cmp esi, 0x40
jbe 0x1403a4a6e
lea edx, [rdi - 0x61]
mov qword [rsp + 0x30], rbx
lea r9, [rsp + 0x88]
mov rbx, rax
movabs r14, 0xbb67ae8584caa73b
shr edx, 5
mov rax, rbp
movabs r15, 0x3c6ef372fe94f82b
mov dword [rsp + 0x3c], edx
add edx, 2
mov rbp, r9
movabs r13, 0x510e527fade682d1
movabs rsi, 0x9b05688c2b3e6c1f
shl rdx, 5
lea rdi, [r12 + rdx]
movabs r12, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x28], rdi
movabs rdi, 0x1f83d9abfb41bd6b
nop word [rax + rax]
mov qword [rbp + 0x28], rdi
movdqu xmm1, xmmword [rsp + 0x40]
pxor xmm0, xmm0
movabs rcx, 0x5be0cd19137e2179
mov qword [rbp + 0x30], rcx
movdqu xmm2, xmmword [rsp + 0x50]
mov rdx, rax
mov r8d, 0x40
mov qword [rbp + 0x18], r13
movdqu xmm3, xmmword [rsp + 0x60]
add rbx, 0x20
movabs rcx, 0x6a09e667f2bdc948
mov qword [rbp + 0x20], rsi
movdqu xmm4, xmmword [rsp + 0x70]
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], r12
mov qword [rbp], r14
mov qword [rsp + 0x80], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x20], 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.1403a4460
mov rax, qword [rsp + 0x20]
movdqu xmm5, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movups xmmword [rbx - 0x20], xmm5
movups xmmword [rbx - 0x10], xmm1
cmp rbx, qword [rsp + 0x28]
jne 0x1403a47e0
mov rbp, rax
mov eax, dword [rsp + 0x3c]
mov rdi, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x30]
shl eax, 5
neg eax
lea esi, [rax + rdi - 0x40]
movdqu xmm4, xmmword [rsp + 0x40]
mov edi, esi
pxor xmm0, xmm0
mov rcx, rbx
movdqu xmm5, xmmword [rsp + 0x50]
movdqu xmm2, xmmword [rsp + 0x60]
movabs rax, 0xbb67ae8584caa73b
movabs rdx, 0x3c6ef372fe94f82b
mov qword [rsp + 0x88], rax
movdqu xmm3, xmmword [rsp + 0x70]
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.1403a4460
cmp esi, 8
jae 0x1403a49e8
test sil, 4
jne 0x1403a4a78
test esi, esi
jne 0x1403a4a45
mov edx, 0x40
mov rcx, rbp
call fcn.1403a1120
jmp 0x1403a4645
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x40]
mov r9, rbp
mov qword [rbx], rax
mov rax, qword [rbp + rdi - 8]
lea rcx, [rbx + 8]
and rcx, 0xfffffffffffffff8
mov qword [rbx + rdi - 8], rax
mov rax, rbx
sub rax, rcx
add esi, eax
sub r9, rax
and esi, 0xfffffff8
cmp esi, 8
jb 0x1403a49cf
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 0x1403a4a22
mov edx, 0x40
mov rcx, rbp
call fcn.1403a1120
jmp 0x1403a4645
movzx eax, byte [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
and esi, 2
mov byte [rbx], al
je 0x1403a49cf
movzx eax, word [rbp + rdi - 2]
mov rsi, qword [rsp + 0x28]
mov word [rsi + rdi - 2], ax
jmp 0x1403a49cf
mov qword [rsp + 0x28], rax
jmp 0x1403a48c2
mov eax, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
mov dword [rsi], eax
mov eax, dword [rbp + rdi - 4]
mov dword [rsi + rdi - 4], eax
jmp 0x1403a49cf