Function at 0x1400ea3d0
Capabilities:
Hash data using sha256

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
movups xmmword [rsp + 0xc0], xmm6
movups xmmword [rsp + 0xd0], xmm7
movups xmmword [rsp + 0xe0], xmm8
mov rdi, rcx
mov rbx, rdx
mov r13, r8
cmp r8, 0x40
ja 0x1400ea7e8
movdqu xmm7, xmmword [0x14065dbc0]
pxor xmm8, xmm8
movdqu xmm6, xmmword [0x14065dbd0]
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [rsp + 0x40], rax
lea r12, [rsp + 0x40]
mov qword [rcx + 0x38], 0
mov qword [rcx + 0x30], 0
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
movups xmmword [rcx], xmm7
movups xmmword [rcx + 0x10], xmm6
movups xmmword [rcx + 0x20], xmm8
test r8, r8
je 0x1400ea928
lea rbp, [r8 - 1]
cmp rbp, 0xe
jbe 0x1400ea91d
movdqu xmm1, xmmword [0x14065dc00]
movdqu xmm0, xmmword [rbx]
mov rax, r13
shr rax, 4
pxor xmm0, xmm1
movups xmmword [rsp + 0x40], xmm0
cmp rax, 1
je 0x1400ea628
movdqu xmm0, xmmword [rbx + 0x10]
pxor xmm0, xmm1
movups xmmword [rsp + 0x50], xmm0
cmp rax, 2
je 0x1400ea628
movdqu xmm0, xmmword [rbx + 0x20]
pxor xmm0, xmm1
movups xmmword [rsp + 0x60], xmm0
cmp rax, 4
jne 0x1400ea628
movdqu xmm0, xmmword [rbx + 0x30]
pxor xmm0, xmm1
movups xmmword [rsp + 0x70], xmm0
mov rdx, r12
mov r8d, 0x200
mov rcx, rdi
call fcn.1400e8e40
pxor xmm0, xmm0
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [rsp + 0x40], rax
lea r9, [rdi + 0x80]
mov qword [rdi + 0xb8], 0
mov qword [rdi + 0xb0], 0
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
movups xmmword [rdi + 0x80], xmm7
movups xmmword [rdi + 0x90], xmm6
movups xmmword [rdi + 0xa0], xmm0
cmp rbp, 0xe
jbe 0x1400ea9e5
movdqu xmm1, xmmword [0x14065dc10]
movdqu xmm0, xmmword [rbx]
mov rax, r13
shr rax, 4
pxor xmm0, xmm1
movups xmmword [rsp + 0x40], xmm0
cmp rax, 1
je 0x1400ea708
movdqu xmm0, xmmword [rbx + 0x10]
pxor xmm0, xmm1
movups xmmword [rsp + 0x50], xmm0
cmp rax, 2
je 0x1400ea708
movdqu xmm0, xmmword [rbx + 0x20]
pxor xmm0, xmm1
movups xmmword [rsp + 0x60], xmm0
cmp rax, 4
jne 0x1400ea708
movdqu xmm0, xmmword [rbx + 0x30]
pxor xmm0, xmm1
movups xmmword [rsp + 0x70], xmm0
mov r8d, 0x200
mov rdx, r12
mov rcx, r9
call fcn.1400e8e40
nop
movups xmm6, xmmword [rsp + 0xc0]
movups xmm7, xmmword [rsp + 0xd0]
movups xmm8, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rax, r13
and rax, 0xfffffffffffffff0
test r13b, 0xf
je 0x1400ea4f8
mov rdx, r13
sub rdx, rax
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1400ea671
lea rcx, [r12 + rax]
movq xmm1, qword [rbx + rax]
movq xmm0, qword [rcx]
pxor xmm0, xmm1
movq qword [rcx], xmm0
mov rcx, rdx
and rcx, 0xfffffffffffffff8
add rax, rcx
cmp rdx, rcx
je 0x1400ea4f8
movzx edx, byte [rbx + rax]
xor byte [rsp + rax + 0x40], dl
lea rdx, [rax + 1]
cmp rdx, r13
jae 0x1400ea4f8
movzx ecx, byte [rbx + rax + 1]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 2]
cmp rdx, r13
jae 0x1400ea4f8
movzx ecx, byte [rbx + rax + 2]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 3]
cmp rdx, r13
jae 0x1400ea4f8
movzx ecx, byte [rbx + rax + 3]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 4]
cmp rdx, r13
jae 0x1400ea4f8
movzx ecx, byte [rbx + rax + 4]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 5]
cmp rdx, r13
jae 0x1400ea4f8
movzx ecx, byte [rbx + rax + 5]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 6]
cmp rdx, r13
jae 0x1400ea4f8
movzx eax, byte [rbx + rax + 6]
xor byte [rsp + rdx + 0x40], al
jmp 0x1400ea4f8
mov rax, r13
and rax, 0xfffffffffffffff0
test r13b, 0xf
je 0x1400ea5e9
mov rdx, r13
sub rdx, rax
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1400ea751
lea rcx, [r12 + rax]
movq xmm1, qword [rbx + rax]
movq xmm0, qword [rcx]
pxor xmm0, xmm1
movq qword [rcx], xmm0
mov rcx, rdx
and rcx, 0xfffffffffffffff8
add rax, rcx
cmp rdx, rcx
je 0x1400ea5e9
movzx edx, byte [rbx + rax]
xor byte [rsp + rax + 0x40], dl
lea rdx, [rax + 1]
cmp rdx, r13
jae 0x1400ea5e9
movzx ecx, byte [rbx + rax + 1]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 2]
cmp rdx, r13
jae 0x1400ea5e9
movzx ecx, byte [rbx + rax + 2]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 3]
cmp rdx, r13
jae 0x1400ea5e9
movzx ecx, byte [rbx + rax + 3]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 4]
cmp rdx, r13
jae 0x1400ea5e9
movzx ecx, byte [rbx + rax + 4]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 5]
cmp rdx, r13
jae 0x1400ea5e9
movzx ecx, byte [rbx + rax + 5]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 6]
cmp rdx, r13
jae 0x1400ea5e9
movzx eax, byte [rbx + rax + 6]
xor byte [rsp + rdx + 0x40], al
jmp 0x1400ea5e9
pxor xmm0, xmm0
shl r13, 3
mov rbp, rdx
lea r12, [rsp + 0x40]
movdqu xmm7, xmmword [0x14065dbc0]
movups xmmword [rsp + 0x60], xmm0
movdqu xmm6, xmmword [0x14065dbd0]
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
cmp r13, 0x1ff
jbe 0x1400ea897
lea rbp, [r13 - 0x200]
mov esi, 0x200
lea r12, [rsp + 0x40]
mov dword [rsp + 0x70], 0x200
shr rbp, 9
add rbp, 1
shl rbp, 6
add rbp, rdx
nop word [rax + rax]
mov rdx, rbx
mov rcx, r12
add rbx, 0x40
call fcn.1400e83b0
cmp rbx, rbp
je 0x1400ea890
add esi, 0x200
mov dword [rsp + 0x70], esi
jne 0x1400ea860
add dword [rsp + 0x74], 1
jmp 0x1400ea860
and r13d, 0x1ff
test r13, r13
jne 0x1400ea9b0
lea rbx, [rsp + 0x20]
mov r9d, 1
mov r8d, 0x81
mov rcx, r12
mov rdx, rbx
mov r13d, 0x20
mov ebp, 0x1f
call fcn.1400e9030
pxor xmm0, xmm0
mov qword [rdi + 0x38], 0
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
mov qword [rdi + 0x30], 0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
movups xmmword [rdi], xmm7
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi + 0x20], xmm0
jmp 0x1400ea494
xor eax, eax
jmp 0x1400ea639
mov rdx, r12
mov r8d, 0x200
call fcn.1400e8e40
lea r9, [rdi + 0x80]
movabs rax, 0x5c5c5c5c5c5c5c5c
movabs rdx, 0x5c5c5c5c5c5c5c5c
mov qword [rdi + 0xb8], 0
mov qword [rdi + 0xb0], 0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
movups xmmword [rdi + 0x80], xmm7
movups xmmword [rdi + 0x90], xmm6
movups xmmword [rdi + 0xa0], xmm8
jmp 0x1400ea5e9
mov rdx, r13
lea r8, [rsp + 0x80]
mov rax, rbp
shr rdx, 3
mov r9, r8
cmp edx, 8
jae 0x1400eaa12
xor ecx, ecx
test dl, 4
jne 0x1400eaa06
test dl, 2
jne 0x1400ea9f6
and edx, 1
jne 0x1400ea9ec
mov dword [rsp + 0x78], r13d
jmp 0x1400ea8a0
xor eax, eax
jmp 0x1400ea719
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
jmp 0x1400ea9db
movzx r8d, word [rax + rcx]
mov word [r9 + rcx], r8w
add rcx, 2
jmp 0x1400ea9d6
mov ecx, dword [rax]
mov dword [r9], ecx
mov ecx, 4
jmp 0x1400ea9d1
mov r10d, edx
xor eax, eax
and r10d, 0xfffffff8
mov ecx, eax
add eax, 8
mov r9, qword [rbp + rcx]
mov qword [r8 + rcx], r9
cmp eax, r10d
jb 0x1400eaa1b
lea r9, [r8 + rax]
add rax, rbp
jmp 0x1400ea9ca