Function at 0x4563e0
Capabilities:
Hash data using sha512

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
movabs rax, 0x6a09e667f3bcc908
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0xbb67ae8584caa73b
vmovdqu ymmword [rcx + 0x200], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0x3c6ef372fe94f82b
vmovdqu ymmword [rcx + 0x220], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0xa54ff53a5f1d36f1
vmovdqu ymmword [rcx + 0x240], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0x510e527fade682d1
vmovdqu ymmword [rcx + 0x260], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0x9b05688c2b3e6c1f
vmovdqu ymmword [rcx + 0x280], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0x1f83d9abfb41bd6b
vmovdqu ymmword [rcx + 0x2a0], ymm0
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
movabs rax, 0x5be0cd19137e2179
vmovdqu ymmword [rcx + 0x2c0], ymm0
vmovq xmm0, rax
mov rax, r9
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rcx + 0x2e0], ymm0
shr rax, 3
vpxor xmm0, xmm0, xmm0
mov qword [rcx + 0x390], 0
mov qword [rcx + 0x388], 0
mov qword [rcx + 0x380], 0
mov rbx, rcx
mov rsi, rdx
vmovdqu ymmword [rcx + 0x300], ymm0
vmovdqu ymmword [rcx + 0x320], ymm0
vmovdqu ymmword [rcx + 0x340], ymm0
vmovdqu ymmword [rcx + 0x360], ymm0
test eax, eax
jle 0x4567a0
lea edx, [rax - 1]
inc rdx
shl rdx, 5
xor eax, eax
nop
vmovdqu ymm5, ymmword [r8 + rax]
vmovdqu ymmword [rbx + rax], ymm5
add rax, 0x20
cmp rdx, rax
jne 0x456530
mov rdx, qword [rbx + 0x380]
mov rax, qword [rbx + 0x388]
add rdx, r9
mov qword [rbx + 0x380], rdx
cmp r9, 0x80
je 0x4565e0
mov rcx, rdx
shr rcx, 3
mov r9d, pe_nt_image_headers64
vmovq xmm0, r9
mov r9, rcx
vpbroadcastq ymm0, xmm0
shl r9, 5
lea edi, [rdx*8]
vmovdqu ymmword [rbx + r9], ymm0
mov r10d, 0xd
mov r8, rdi
sub r10d, ecx
mov rbp, qword [rbx + 0x390]
add rdi, rax
inc rcx
test rdx, rdx
je 0x45663e
test rax, rax
je 0x4567f0
mov edx, 0x400
sub edx, r8d
sub rax, rdx
mov qword [rbx + 0x388], rax
test r10d, r10d
jg 0x456654
jmp 0x456683
add rax, 0x400
mov qword [rbx + 0x388], rax
cmp rax, 0x3ff
ja 0x4565fc
inc qword [rbx + 0x390]
mov rcx, rbx
vzeroupper
call fcn.00452c00
mov qword [rbx + 0x380], 0
mov eax, pe_nt_image_headers64
mov rdi, qword [rbx + 0x388]
vmovq xmm0, rax
mov rbp, qword [rbx + 0x390]
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx], ymm0
mov r10d, 0xd
mov ecx, 1
mov qword [rbx + 0x388], 0xfffffffffffffc00
mov qword [rbx + 0x390], 0xffffffffffffffff
lea r8d, [r10 - 1]
inc r8
shl r8, 5
mov eax, 0x20
test r10d, r10d
cmovle r8, rax
shl rcx, 5
add rcx, rbx
xor edx, edx
vzeroupper
call sub.msvcrt.dll_memset
mov rax, qword [rbx + 0x388]
movabs rdx, 0x100000000000000
vmovq xmm0, rdx
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx + 0x1a0], ymm0
bswap rbp
vmovq xmm0, rbp
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx + 0x1c0], ymm0
add rax, 0x400
bswap rdi
vmovq xmm0, rdi
vpbroadcastq ymm0, xmm0
mov qword [rbx + 0x388], rax
vmovdqu ymmword [rbx + 0x1e0], ymm0
cmp rax, 0x3ff
ja 0x4566e5
inc qword [rbx + 0x390]
mov rcx, rbx
vzeroupper
call fcn.00452c00
vmovdqu8 ymm2, ymmword [rbx + 0x200]
vmovdqu8 ymm0, ymmword [0x00740380]
vpshufb ymm1, ymm2, ymm0
vmovdqu ymmword [rsi], ymm1
vmovdqu8 ymm3, ymmword [rbx + 0x220]
vpshufb ymm1, ymm3, ymm0
vmovdqu ymmword [rsi + 0x20], ymm1
vmovdqu8 ymm4, ymmword [rbx + 0x240]
vpshufb ymm1, ymm4, ymm0
vmovdqu ymmword [rsi + 0x40], ymm1
vmovdqu8 ymm5, ymmword [rbx + 0x260]
vpshufb ymm1, ymm5, ymm0
vmovdqu ymmword [rsi + 0x60], ymm1
vmovdqu8 ymm2, ymmword [rbx + 0x280]
vpshufb ymm1, ymm2, ymm0
vmovdqu ymmword [rsi + 0x80], ymm1
vmovdqu8 ymm3, ymmword [rbx + 0x2a0]
vpshufb ymm1, ymm3, ymm0
vmovdqu ymmword [rsi + 0xa0], ymm1
vmovdqu8 ymm4, ymmword [rbx + 0x2c0]
vpshufb ymm1, ymm4, ymm0
vmovdqu ymmword [rsi + 0xc0], ymm1
vmovdqu8 ymm1, ymmword [rbx + 0x2e0]
vpshufb ymm0, ymm1, ymm0
vmovdqu ymmword [rsi + 0xe0], ymm0
vzeroupper
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov qword [rcx + 0x380], r9
cmp r9, 0x80
je 0x45680e
mov edx, pe_nt_image_headers64
vmovq xmm0, rdx
mov rdx, rax
vpbroadcastq ymm0, xmm0
shl rdx, 5
vmovdqu ymmword [rcx + rdx], ymm0
mov r10d, 0xd
mov rbp, qword [rcx + 0x390]
lea edi, [r9*8]
sub r10d, eax
lea rcx, [rax + 1]
test r9, r9
je 0x45663e
lea rax, [rdi - 0x400]
lea rdx, [rbp - 1]
mov qword [rbx + 0x388], rax
mov qword [rbx + 0x390], rdx
jmp 0x4565cd
mov qword [rbx + 0x388], 0x400
jmp 0x4565fc