Function at 0x44c340
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
mov rbx, rcx
mov rsi, rdx
mov qword [rcx + 0x390], 0
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
vpbroadcastq ymm0, xmm0
mov rax, r9
vmovdqu ymmword [rcx + 0x2e0], ymm0
vpxor xmm0, xmm0, xmm0
shr rax, 3
vmovdqu ymmword [rcx + 0x300], ymm0
vmovdqu ymmword [rcx + 0x320], ymm0
vmovdqu ymmword [rcx + 0x340], ymm0
vmovdqu ymmword [rcx + 0x360], ymm0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x380], xmm0
test eax, eax
jle 0x44c700
lea edx, [rax - 1]
xor eax, eax
inc rdx
shl rdx, 5
nop word cs:[rax + rax]
nop
vmovdqu ymm2, ymmword [r8 + rax]
vmovdqu ymmword [rbx + rax], ymm2
add rax, 0x20
cmp rax, rdx
jne 0x44c490
mov rdx, qword [rbx + 0x380]
mov rax, qword [rbx + 0x388]
add rdx, r9
mov qword [rbx + 0x380], rdx
cmp r9, 0x80
je 0x44c540
mov rcx, rdx
mov r9d, pe_nt_image_headers64
lea edi, [rdx*8]
mov r10d, 0xd
shr rcx, 3
mov r8, rdi
add rdi, rax
vmovq xmm0, r9
mov r9, rcx
vpbroadcastq ymm0, xmm0
sub r10d, ecx
inc rcx
shl r9, 5
vmovdqu ymmword [rbx + r9], ymm0
mov rbp, qword [rbx + 0x390]
test rdx, rdx
je 0x44c59e
test rax, rax
je 0x44c750
mov edx, 0x400
sub edx, r8d
sub rax, rdx
mov qword [rbx + 0x388], rax
test r10d, r10d
jg 0x44c5ae
jmp 0x44c5dd
add rax, 0x400
mov qword [rbx + 0x388], rax
cmp rax, 0x3ff
ja 0x44c55c
inc qword [rbx + 0x390]
mov rcx, rbx
vzeroupper
call fcn.00447970
mov eax, pe_nt_image_headers64
mov qword [rbx + 0x380], 0
mov rdi, qword [rbx + 0x388]
mov r10d, 0xd
mov ecx, 1
mov rbp, qword [rbx + 0x390]
vmovq xmm0, rax
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx], ymm0
vmovdqu xmm0, xmmword [0x006c1060]
vmovdqu xmmword [rbx + 0x388], xmm0
lea r8d, [r10 - 1]
mov eax, 0x20
inc r8
shl r8, 5
test r10d, r10d
cmovle r8, rax
shl rcx, 5
xor edx, edx
add rcx, rbx
vzeroupper
call sub.msvcrt.dll_memset
mov rax, qword [rbx + 0x388]
movabs rdx, 0x100000000000000
bswap rbp
bswap rdi
vmovq xmm0, rdx
vpbroadcastq ymm0, xmm0
add rax, 0x400
vmovdqu ymmword [rbx + 0x1a0], ymm0
mov qword [rbx + 0x388], rax
vmovq xmm0, rbp
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx + 0x1c0], ymm0
vmovq xmm0, rdi
vpbroadcastq ymm0, xmm0
vmovdqu ymmword [rbx + 0x1e0], ymm0
cmp rax, 0x3ff
ja 0x44c63f
inc qword [rbx + 0x390]
mov rcx, rbx
vzeroupper
call fcn.00447970
vmovdqu ymm3, ymmword [rbx + 0x200]
vmovdqu ymm0, ymmword [0x006c0e40]
vpshufb ymm1, ymm3, ymm0
vmovdqu ymmword [rsi], ymm1
vmovdqu ymm4, ymmword [rbx + 0x220]
vpshufb ymm1, ymm4, ymm0
vmovdqu ymmword [rsi + 0x20], ymm1
vmovdqu ymm5, ymmword [rbx + 0x240]
vpshufb ymm1, ymm5, ymm0
vmovdqu ymmword [rsi + 0x40], ymm1
vmovdqu ymm3, ymmword [rbx + 0x260]
vpshufb ymm1, ymm3, ymm0
vmovdqu ymmword [rsi + 0x60], ymm1
vmovdqu ymm4, ymmword [rbx + 0x280]
vpshufb ymm1, ymm4, ymm0
vmovdqu ymmword [rsi + 0x80], ymm1
vmovdqu ymm5, ymmword [rbx + 0x2a0]
vpshufb ymm1, ymm5, ymm0
vmovdqu ymmword [rsi + 0xa0], ymm1
vmovdqu ymm3, ymmword [rbx + 0x2c0]
vpshufb ymm1, ymm3, ymm0
vmovdqu ymmword [rsi + 0xc0], ymm1
vmovdqu 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 0x44c76e
mov edx, pe_nt_image_headers64
mov r10d, 0xd
lea edi, [r9*8]
vmovq xmm0, rdx
mov rdx, rax
vpbroadcastq ymm0, xmm0
sub r10d, eax
shl rdx, 5
vmovdqu ymmword [rcx + rdx], ymm0
mov rbp, qword [rcx + 0x390]
lea rcx, [rax + 1]
test r9, r9
je 0x44c59e
lea rax, [rdi - 0x400]
lea rdx, [rbp - 1]
mov qword [rbx + 0x388], rax
mov qword [rbx + 0x390], rdx
jmp 0x44c52d
mov qword [rbx + 0x388], 0x400
jmp 0x44c55c