Function at 0x140244aa0
Capabilities:
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x128
movdqu xmm0, xmmword [0x1406af360]
lea rax, [0x1407e1840]
movups xmmword [rsp + 0x40], xmm0
mov r12, r8
test r8, r8
mov rsi, rcx
movdqu xmm0, xmmword [0x1406af370]
cmove r12, rax
mov rbx, rdx
mov rax, qword [0x1406af3a0]
movups xmmword [rsp + 0x50], xmm0
movdqu xmm0, xmmword [0x1406af380]
mov qword [rsp + 0x110], rax
movups xmmword [rsp + 0x60], xmm0
movdqu xmm0, xmmword [0x1406af390]
movups xmmword [rsp + 0x70], xmm0
pxor xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
test rdx, rdx
je 0x140244e60
lea rax, [rdx*8]
lea r13, [rsp + 0x40]
movq xmm0, rax
mov rax, rdx
shr rax, 0x3d
movq xmm2, rax
punpcklqdq xmm0, xmm2
movups xmmword [rsp + 0x80], xmm0
cmp rdx, 0x7f
ja 0x140244b98
lea rdx, [rsp + 0x90]
mov r8d, ebx
mov rdi, rdx
cmp ebx, 8
jae 0x140245038
xor eax, eax
test r8b, 4
jne 0x140245020
test r8b, 2
jne 0x140245000
and r8d, 1
jne 0x140244fe8
mov dword [rsp + 0x110], ebx
jmp 0x140244bc5
mov r8, rdx
mov rdx, rcx
mov rcx, r13
shr r8, 7
call fcn.140315600
mov rax, rbx
and eax, 0x7f
jne 0x140245092
mov ebx, dword [rsp + 0x110]
lea rdx, [rsp + 0x90]
mov byte [rsp + rbx + 0x90], pe_nt_image_headers64
add rbx, 1
lea r8, [rdx + rbx]
cmp rbx, 0x70
ja 0x140244e90
mov eax, 0x70
sub rax, rbx
mov ecx, eax
cmp eax, 8
jae 0x140244e28
test al, 4
jne 0x140245048
test ecx, ecx
je 0x140244c0b
mov byte [r8], 0
test cl, 2
jne 0x140245060
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
mov rax, rcx
mov rsi, rbx
mov r14, rbx
mov rbp, rbx
shr rax, 0x28
shr rsi, 0x28
mov rdi, rbx
mov r11, rbx
mov qword [rsp + 0x38], rax
movzx eax, bl
shr r14, 0x10
mov r10, rcx
mov qword [rsp + 0x20], rsi
shl rax, 8
movzx esi, bh
movzx r14d, r14b
or rax, rsi
shr rbp, 0x18
movzx esi, byte [rsp + 0x20]
mov r9, rcx
shl rax, 8
movzx ebp, bpl
shr rdi, 0x20
mov r8, rcx
or rax, r14
movzx edi, dil
shr r11, 0x30
mov r15, rcx
shl rax, 8
movzx r11d, r11b
shr r10, 0x10
shr r9, 0x18
or rax, rbp
movzx r10d, r10b
shr r8, 0x20
shl rax, 8
movzx r9d, r9b
movzx r8d, r8b
shr r15, 0x30
or rax, rdi
shr rbx, 0x38
shl rax, 8
or rax, rsi
movzx esi, ch
shl rax, 8
or rax, r11
movzx r11d, cl
shl r11, 8
shl rax, 8
or r11, rsi
shl r11, 8
or r11, r10
shl r11, 8
or r11, r9
shl r11, 8
or r11, r8
movzx r8d, byte [rsp + 0x38]
shl r11, 8
shr rcx, 0x38
or rax, rbx
or r11, r8
movzx r8d, r15b
mov qword [rsp + 0x20], rax
shl r11, 8
or r11, r8
mov r8d, 1
shl r11, 8
or r11, rcx
mov rcx, r13
mov qword [rsp + 0x28], r11
movdqu xmm1, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x100], xmm1
call fcn.140315600
mov eax, dword [rsp + 0x114]
cmp eax, 0x30
je 0x140244f48
ja 0x140244db0
cmp eax, 0x1c
je 0x140244ee8
cmp eax, 0x20
jne 0x140244d86
mov rax, qword [rsp + 0x40]
bswap rax
mov qword [r12], rax
mov rax, qword [rsp + 0x48]
bswap rax
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x50]
bswap rax
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x58]
bswap rax
mov qword [r12 + 0x18], rax
mov edx, 0xd8
mov rcx, r13
call fcn.1402746b0
mov rax, r12
add rsp, 0x128
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 0x40
jne 0x140244d86
mov rax, qword [rsp + 0x40]
bswap rax
mov qword [r12], rax
mov rax, qword [rsp + 0x48]
bswap rax
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x50]
bswap rax
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x58]
bswap rax
mov qword [r12 + 0x18], rax
mov rax, qword [rsp + 0x60]
bswap rax
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x68]
bswap rax
mov qword [r12 + 0x28], rax
mov rax, qword [rsp + 0x70]
bswap rax
mov qword [r12 + 0x30], rax
mov rax, qword [rsp + 0x78]
bswap rax
mov qword [r12 + 0x38], rax
jmp 0x140244d86
mov ecx, eax
lea rdi, [r8 + 8]
mov qword [r8], 0
mov qword [r8 + rcx - 8], 0
and rdi, 0xfffffffffffffff8
mov rcx, r8
sub rcx, rdi
add ecx, eax
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x140244c0b
mov byte [rsp + 0x90], pe_nt_image_headers64
mov eax, 0x6f
lea r8, [rsp + 0x91]
lea r13, [rsp + 0x40]
lea rdx, [rsp + 0x90]
jmp 0x140244be7
mov eax, pe_nt_image_headers64
xor r10d, r10d
sub rax, rbx
cmp rax, 8
jae 0x140244fa0
test al, 4
jne 0x140245070
test rax, rax
je 0x140244ebe
mov byte [r8], 0
test al, 2
jne 0x140245085
mov r8d, 1
mov rcx, r13
call fcn.140315600
lea rdx, [rsp + 0x90]
mov eax, 0x70
mov r8, rdx
jmp 0x140244be7
mov rax, qword [rsp + 0x40]
bswap rax
mov qword [r12], rax
mov rax, qword [rsp + 0x48]
bswap rax
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x50]
bswap rax
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x58]
mov rdx, rax
shr rdx, 0x38
mov byte [r12 + 0x18], dl
mov rdx, rax
shr rdx, 0x30
mov byte [r12 + 0x19], dl
mov rdx, rax
shr rax, 0x20
shr rdx, 0x28
mov byte [r12 + 0x1b], al
mov byte [r12 + 0x1a], dl
jmp 0x140244d86
mov rax, qword [rsp + 0x40]
bswap rax
mov qword [r12], rax
mov rax, qword [rsp + 0x48]
bswap rax
mov qword [r12 + 8], rax
mov rax, qword [rsp + 0x50]
bswap rax
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x58]
bswap rax
mov qword [r12 + 0x18], rax
mov rax, qword [rsp + 0x60]
bswap rax
mov qword [r12 + 0x20], rax
mov rax, qword [rsp + 0x68]
bswap rax
mov qword [r12 + 0x28], rax
jmp 0x140244d86
lea r9, [r8 + 8]
mov qword [r8], 0
mov qword [r8 + rax - 8], 0
and r9, 0xfffffffffffffff8
sub r8, r9
add rax, r8
and rax, 0xfffffffffffffff8
cmp rax, 8
jb 0x140244ebe
and rax, 0xfffffffffffffff8
xor ecx, ecx
mov qword [r9 + rcx], r10
add rcx, 8
cmp rcx, rax
jb 0x140244fd2
jmp 0x140244ebe
movzx ecx, byte [rsi + rax]
mov byte [rdi + rax], cl
mov dword [rsp + 0x110], ebx
jmp 0x140244bc5
movzx ecx, word [rsi + rax]
mov word [rdi + rax], cx
add rax, 2
and r8d, 1
je 0x140244b89
jmp 0x140244fe8
mov eax, dword [rsi]
mov dword [rdi], eax
mov eax, 4
test r8b, 2
je 0x140244b7f
jmp 0x140245000
mov ecx, ebx
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x140244b69
mov dword [r8], 0
mov dword [r8 + rcx - 4], 0
jmp 0x140244c0b
xor eax, eax
mov word [r8 + rcx - 2], ax
jmp 0x140244c0b
mov dword [r8], 0
mov dword [r8 + rax - 4], 0
jmp 0x140244ebe
xor ecx, ecx
mov word [r8 + rax - 2], cx
jmp 0x140244ebe
sub rbx, rax
add rsi, rbx
mov rbx, rax
jmp 0x140244b52