Function at 0x1401e33d0
Capabilities:
Hash data using sha256

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd0
vmovdqu ymm1, ymmword [0x1403683e0]
lea rbx, [rsp + 0x6f]
mov r12, rcx
mov rsi, rdx
mov rbp, r8
and rbx, 0xffffffffffffffc0
mov qword [rbx + 0x60], 0
vmovdqu ymmword [rbx + 0x40], ymm1
cmp r8, 0x7f
jbe 0x1401e35d0
lea rax, [r8 - 0x40]
lea r13, [rbx + 0x40]
and rax, 0xffffffffffffffc0
lea rdi, [rdx + rax + 0x40]
vzeroupper
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, r13
add rsi, 0x40
call sym.sha2_round
cmp rsi, rdi
jne 0x1401e3430
mov rax, rbp
and eax, 0x3f
jne 0x1401e3570
mov qword [rbx + 0x60], rbp
and ebp, 0x3f
lea eax, [rbp + 1]
mov byte [rbx + rbp], pe_nt_image_headers64
mov rdx, rax
cmp eax, 0x38
jbe 0x1401e3530
mov ecx, 0x40
add rax, rbx
sub ecx, edx
je 0x1401e3486
xor edx, edx
mov r8d, edx
inc edx
mov byte [rax + r8], 0
cmp edx, ecx
jb 0x1401e3478
mov rdx, r13
mov rcx, rbx
call sym.sha2_round
vpxor xmm0, xmm0, xmm0
vmovdqu8 ymmword [rbx], ymm0
vmovdqu8 ymmword [rbx + 0x18], ymm0
vzeroupper
mov rax, qword [rbx + 0x60]
shl rax, 3
bswap rax
mov rdx, r13
mov rcx, rbx
mov qword [rbx + 0x38], rax
call sym.sha2_round
mov eax, dword [rbx + 0x40]
bswap eax
mov dword [r12], eax
mov eax, dword [rbx + 0x44]
bswap eax
mov dword [r12 + 4], eax
mov eax, dword [rbx + 0x48]
bswap eax
mov dword [r12 + 8], eax
mov eax, dword [rbx + 0x4c]
bswap eax
mov dword [r12 + 0xc], eax
mov eax, dword [rbx + 0x50]
bswap eax
mov dword [r12 + 0x10], eax
mov eax, dword [rbx + 0x54]
bswap eax
mov dword [r12 + 0x14], eax
mov eax, dword [rbx + 0x58]
bswap eax
mov dword [r12 + 0x18], eax
mov eax, dword [rbx + 0x5c]
bswap eax
mov dword [r12 + 0x1c], eax
add rsp, 0xd0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8d, 0x38
sub r8d, eax
add rax, rbx
mov ecx, r8d
cmp r8d, 8
jae 0x1401e35a0
and r8d, 4
jne 0x1401e36cf
test ecx, ecx
je 0x1401e34a8
mov byte [rax], 0
test cl, 2
je 0x1401e34a8
mov word [rax + rcx - 2], 0
jmp 0x1401e34a8
mov rdi, rbx
cmp eax, 4
jae 0x1401e3670
xor edx, edx
test al, 2
jne 0x1401e3650
test al, 1
jne 0x1401e3640
add rbp, qword [rbx + 0x60]
jmp 0x1401e3450
lea rdi, [rax + 8]
mov qword [rax], 0
mov qword [r8 + rax - 8], 0
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [r8 + rax]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x1401e34a8
test r8, r8
je 0x1401e36b5
xor r14d, r14d
lea r13, [rbx + 0x40]
mov edi, 0x40
vzeroupper
nop dword [rax + rax]
mov r8, rdi
lea rcx, [rbx + r14]
mov rdx, rsi
sub r8, r14
cmp r8, rbp
cmova r8, rbp
mov qword [rsp + 0x28], r8
call sym.memcpy
mov r8, qword [rsp + 0x28]
add r14, r8
add rsi, r8
sub rbp, r8
cmp r14, 0x40
je 0x1401e3690
add r8, qword [rbx + 0x60]
mov qword [rbx + 0x60], r8
test rbp, rbp
jne 0x1401e35f0
mov rbp, r8
jmp 0x1401e3454
movzx eax, byte [rsi + rdx]
mov byte [rdi + rdx], al
add rbp, qword [rbx + 0x60]
jmp 0x1401e3450
movzx edx, word [rsi]
mov word [rdi], dx
mov edx, 2
test al, 1
je 0x1401e358e
jmp 0x1401e3640
mov rcx, rax
xor edx, edx
shr rcx, 2
rep movsd dword [rdi], dword [rsi]
test al, 2
je 0x1401e3586
jmp 0x1401e3650
mov rdx, r13
mov rcx, rbx
call sym.sha2_round
mov r8, qword [rsp + 0x28]
add r8, qword [rbx + 0x60]
mov qword [rbx + 0x60], r8
test rbp, rbp
je 0x1401e362f
xor r14d, r14d
jmp 0x1401e35f0
mov byte [rbx], pe_nt_image_headers64
mov eax, 1
mov r8d, 0x37
lea r13, [rbx + 0x40]
vzeroupper
jmp 0x1401e3539
mov dword [rax], 0
mov dword [rax + rcx - 4], 0
jmp 0x1401e34a8