Function at 0x54fad0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
vmovdqu xmm0, xmmword [0x006fbb00]
vmovdqu xmm1, xmmword [0x006fbb10]
lea rbp, [rsp + 0x5f]
mov r12, rcx
mov rsi, rdx
mov rbx, r8
and rbp, 0xffffffffffffffc0
mov qword [rbp + 0x60], 0
vmovdqu xmmword [rbp + 0x40], xmm0
vmovdqu xmmword [rbp + 0x50], xmm1
cmp r8, 0x7f
jbe 0x54fd80
lea rax, [r8 - 0x40]
lea r13, [rbp + 0x40]
and rax, 0xffffffffffffffc0
lea rax, [rdx + rax + 0x40]
nop word cs:[rax + rax]
nop dword [rax]
mov rcx, rsi
mov rdx, r13
add rsi, 0x40
call fcn.0054ecf0
cmp rsi, rax
jne 0x54fb40
mov rax, rbx
and eax, 0x3f
jne 0x54fcc0
add rbx, qword [rbp + 0x60]
mov rdi, rbx
mov qword [rbp + 0x60], rbx
and edi, 0x3f
lea eax, [rdi + 1]
mov byte [rbp + rdi], pe_nt_image_headers64
mov rdx, rax
cmp eax, 0x38
jbe 0x54fc60
mov ecx, 0x40
add rax, rbp
sub ecx, edx
je 0x54fb9e
xor edx, edx
mov r8d, edx
inc edx
mov byte [rax + r8], 0
cmp edx, ecx
jb 0x54fb90
mov rdx, r13
mov rcx, rbp
call fcn.0054ecf0
mov qword [rbp], 0
mov qword [rbp + 8], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], 0
mov qword [rbp + 0x30], 0
mov rax, qword [rbp + 0x60]
shl rax, 3
bswap rax
mov rdx, r13
mov rcx, rbp
mov qword [rbp + 0x38], rax
call fcn.0054ecf0
mov eax, dword [rbp + 0x40]
bswap eax
mov dword [r12], eax
mov eax, dword [rbp + 0x44]
bswap eax
mov dword [r12 + 4], eax
mov eax, dword [rbp + 0x48]
bswap eax
mov dword [r12 + 8], eax
mov eax, dword [rbp + 0x4c]
bswap eax
mov dword [r12 + 0xc], eax
mov eax, dword [rbp + 0x50]
bswap eax
mov dword [r12 + 0x10], eax
mov eax, dword [rbp + 0x54]
bswap eax
mov dword [r12 + 0x14], eax
mov eax, dword [rbp + 0x58]
bswap eax
mov dword [r12 + 0x18], eax
mov eax, dword [rbp + 0x5c]
bswap eax
mov dword [r12 + 0x1c], eax
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x38
sub r8d, eax
add rax, rbp
mov ecx, r8d
xor r9d, r9d
cmp r8d, 0x20
jae 0x54fd00
and r8d, 0x10
jne 0x54fe7f
test cl, 8
jne 0x54fea8
test cl, 4
jne 0x54fe6c
test ecx, ecx
je 0x54fbe1
mov byte [rax], 0
test cl, 2
je 0x54fbe1
mov word [rax + rcx - 2], 0
jmp 0x54fbe1
mov rdi, rbp
cmp eax, 8
jae 0x54fe10
xor edx, edx
test al, 4
jne 0x54fde0
test al, 2
jne 0x54fdf1
test al, 1
je 0x54fb60
movzx eax, byte [rsi + rdx]
mov byte [rdi + rdx], al
jmp 0x54fb60
lea rdx, [r8 + rax + 8]
mov qword [rax], 0
mov qword [rdx - 0x28], 0
mov qword [rdx - 0x20], 0
mov qword [rdx - 0x18], 0
mov qword [rdx - 0x10], 0
lea rdx, [rax + 8]
and rdx, 0xfffffffffffffff8
sub rax, rdx
lea ecx, [r8 + rax]
and ecx, 0xffffffe0
cmp ecx, 0x20
jb 0x54fbe1
mov eax, ecx
xor r8d, r8d
and eax, 0xffffffe0
mov ecx, r8d
add r8d, 0x20
mov qword [rdx + rcx], r9
mov qword [rdx + rcx + 8], r9
mov qword [rdx + rcx + 0x10], r9
mov qword [rdx + rcx + 0x18], r9
cmp r8d, eax
jb 0x54fd4f
jmp 0x54fbe1
test r8, r8
je 0x54fe54
xor r15d, r15d
lea r13, [rbp + 0x40]
mov r14d, 0x40
nop word cs:[rax + rax]
mov rdi, r14
lea rcx, [rbp + r15]
mov rdx, rsi
sub rdi, r15
cmp rdi, rbx
cmova rdi, rbx
mov r8, rdi
add r15, rdi
add rsi, rdi
sub rbx, rdi
call sub.msvcrt.dll_memcpy
cmp r15, 0x40
je 0x54fe30
add rdi, qword [rbp + 0x60]
mov qword [rbp + 0x60], rdi
test rbx, rbx
jne 0x54fda0
jmp 0x54fb6b
mov edx, dword [rsi]
mov dword [rdi], edx
mov edx, 4
test al, 2
je 0x54fcde
movzx ecx, word [rsi + rdx]
mov word [rdi + rdx], cx
add rdx, 2
test al, 1
je 0x54fb60
jmp 0x54fce6
mov rcx, rax
xor edx, edx
shr rcx, 3
rep movsq qword [rdi], qword [rsi]
test al, 4
je 0x54fcd6
jmp 0x54fde0
mov rdx, r13
mov rcx, rbp
call fcn.0054ecf0
add rdi, qword [rbp + 0x60]
mov qword [rbp + 0x60], rdi
test rbx, rbx
je 0x54fb6b
xor r15d, r15d
jmp 0x54fda0
mov byte [rbp], pe_nt_image_headers64
mov eax, 1
mov r8d, 0x37
lea r13, [rbp + 0x40]
jmp 0x54fc69
mov dword [rax], 0
mov dword [rax + rcx - 4], 0
jmp 0x54fbe1
mov qword [rax], 0
mov qword [rax + 8], 0
lea rax, [rax + rcx + 0x10]
mov qword [rax - 0x20], 0
mov qword [rax - 0x18], 0
jmp 0x54fbe1
mov qword [rax], 0
mov qword [rax + rcx - 8], 0
jmp 0x54fbe1