Function at 0x140053cf0
Capabilities:
Hash data using sha512

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
vmovups xmmword [rsp + 0x20], xmm6
movabs rax, 0x6a09e667f3bcc908
vmovq xmm0, rax
movabs rax, 0xbb67ae8584caa73b
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x100], xmm0
vmovq xmm0, rax
mov rbx, rcx
mov rsi, rdx
movabs rax, 0x3c6ef372fe94f82b
vpunpcklqdq xmm0, xmm0, xmm0
mov qword [rcx + 0x1d0], 0
vmovdqu xmmword [rcx + 0x110], xmm0
vmovq xmm0, rax
movabs rax, 0xa54ff53a5f1d36f1
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x120], xmm0
vmovq xmm0, rax
movabs rax, 0x510e527fade682d1
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x130], xmm0
vmovq xmm0, rax
movabs rax, 0x9b05688c2b3e6c1f
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x140], xmm0
vmovq xmm0, rax
movabs rax, 0x1f83d9abfb41bd6b
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x150], xmm0
vmovq xmm0, rax
movabs rax, 0x5be0cd19137e2179
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x160], xmm0
vmovq xmm0, rax
mov rax, r9
vpunpcklqdq xmm0, xmm0, xmm0
shr rax, 3
vmovdqu xmmword [rcx + 0x170], xmm0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 0x1c0], xmm0
test eax, eax
jle 0x140054058
lea edx, [rax - 1]
xor eax, eax
add rdx, 1
shl rdx, 4
nop
vmovdqu xmm2, xmmword [r8 + rax]
vmovdqu xmmword [rbx + rax], xmm2
add rax, 0x10
cmp rdx, rax
jne 0x140053e10
mov rdx, qword [rbx + 0x1c0]
mov rax, qword [rbx + 0x1c8]
add rdx, r9
mov qword [rbx + 0x1c0], rdx
cmp r9, 0x80
je 0x140053fe0
mov r9, qword [rbx + 0x1d0]
mov rcx, rdx
lea r10d, [rdx*8]
shr rcx, 3
mov rdi, r9
mov r8, rcx
bswap rdi
vmovq xmm6, rdi
mov edi, pe_nt_image_headers64
shl r8, 4
vmovq xmm0, rdi
mov edi, r10d
vpunpcklqdq xmm0, xmm0, xmm0
add rdi, rax
vmovdqu xmmword [rbx + r8], xmm0
mov r8d, 0xd
sub r8d, ecx
add rcx, 1
test rdx, rdx
je 0x1400540c0
test rax, rax
je 0x14005409a
mov edx, 0x400
sub edx, r10d
sub rax, rdx
mov qword [rbx + 0x1c8], rax
test r8d, r8d
jle 0x140053eda
shl rcx, 4
shl r8, 4
xor edx, edx
add rcx, rbx
call sym.memset
mov rax, qword [rbx + 0x1c8]
movabs rcx, 0x100000000000000
bswap rdi
add rax, 0x400
vmovq xmm0, rcx
mov qword [rbx + 0x1c8], rax
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rbx + 0xd0], xmm0
vpunpcklqdq xmm0, xmm6, xmm6
vmovdqu xmmword [rbx + 0xe0], xmm0
vmovq xmm0, rdi
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rbx + 0xf0], xmm0
cmp rax, 0x3ff
ja 0x140053f32
add qword [rbx + 0x1d0], 1
mov rcx, rbx
call sym.blake512_2x64_compress
vmovdqu xmm3, xmmword [rbx + 0x100]
vmovdqu xmm0, xmmword [0x1402bade0]
vpshufb xmm1, xmm3, xmm0
vmovdqu xmmword [rsi], xmm1
vmovdqu xmm4, xmmword [rbx + 0x110]
vpshufb xmm1, xmm4, xmm0
vmovdqu xmmword [rsi + 0x10], xmm1
vmovdqu xmm5, xmmword [rbx + 0x120]
vpshufb xmm1, xmm5, xmm0
vmovdqu xmmword [rsi + 0x20], xmm1
vmovdqu xmm6, xmmword [rbx + 0x130]
vpshufb xmm1, xmm6, xmm0
vmovdqu xmmword [rsi + 0x30], xmm1
vmovdqu xmm3, xmmword [rbx + 0x140]
vpshufb xmm1, xmm3, xmm0
vmovdqu xmmword [rsi + 0x40], xmm1
vmovdqu xmm4, xmmword [rbx + 0x150]
vpshufb xmm1, xmm4, xmm0
vmovdqu xmmword [rsi + 0x50], xmm1
vmovdqu xmm5, xmmword [rbx + 0x160]
vpshufb xmm1, xmm5, xmm0
vmovdqu xmmword [rsi + 0x60], xmm1
vmovdqu xmm1, xmmword [rbx + 0x170]
vpshufb xmm0, xmm1, xmm0
vmovdqu xmmword [rsi + 0x70], xmm0
vmovups xmm6, xmmword [rsp + 0x20]
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
lea rdi, [rax + 0x400]
mov qword [rbx + 0x1c8], rdi
cmp rdi, 0x3ff
ja 0x140053fff
add qword [rbx + 0x1d0], 1
mov rcx, rbx
call sym.blake512_2x64_compress
mov eax, pe_nt_image_headers64
mov ecx, 1
mov qword [rbx + 0x1c0], 0
vmovq xmm0, rax
mov rax, qword [rbx + 0x1d0]
mov r8d, 0xd
vpunpcklqdq xmm0, xmm0, xmm0
vmovdqu xmmword [rbx], xmm0
vmovdqu xmm0, xmmword [0x1402bada0]
bswap rax
vmovq xmm6, rax
vmovdqu xmmword [rbx + 0x1c8], xmm0
jmp 0x140053ec1
mov edi, pe_nt_image_headers64
mov rdx, rax
vpxor xmm6, xmm6, xmm6
mov r8d, 0xd
vmovq xmm0, rdi
shl rdx, 4
sub r8d, eax
mov qword [rcx + 0x1c0], r9
vpunpcklqdq xmm0, xmm0, xmm0
lea edi, [r9*8]
vmovdqu xmmword [rcx + rdx], xmm0
lea rcx, [rax + 1]
test r9, r9
je 0x1400540c0
xor r9d, r9d
lea rax, [rdi - 0x400]
sub r9, 1
mov qword [rbx + 0x1c8], rax
mov qword [rbx + 0x1d0], r9
jmp 0x140053ebc
vmovdqu xmm0, xmmword [0x1402bada0]
mov rax, 0xfffffffffffffc00
vmovdqu xmmword [rbx + 0x1c8], xmm0
jmp 0x140053ebc