Function at 0x1400eaa40
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 0x1400eae58
movdqu xmm7, xmmword [0x14065dbe0]
pxor xmm8, xmm8
movdqu xmm6, xmmword [0x14065dbf0]
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 0x1400eafa8
lea rbp, [r8 - 1]
cmp rbp, 0xe
jbe 0x1400eaf9d
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 0x1400eac98
movdqu xmm0, xmmword [rbx + 0x10]
pxor xmm0, xmm1
movups xmmword [rsp + 0x50], xmm0
cmp rax, 2
je 0x1400eac98
movdqu xmm0, xmmword [rbx + 0x20]
pxor xmm0, xmm1
movups xmmword [rsp + 0x60], xmm0
cmp rax, 4
jne 0x1400eac98
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 0x1400eb065
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 0x1400ead78
movdqu xmm0, xmmword [rbx + 0x10]
pxor xmm0, xmm1
movups xmmword [rsp + 0x50], xmm0
cmp rax, 2
je 0x1400ead78
movdqu xmm0, xmmword [rbx + 0x20]
pxor xmm0, xmm1
movups xmmword [rsp + 0x60], xmm0
cmp rax, 4
jne 0x1400ead78
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 0x1400eab68
mov rdx, r13
sub rdx, rax
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1400eace1
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 0x1400eab68
movzx edx, byte [rbx + rax]
xor byte [rsp + rax + 0x40], dl
lea rdx, [rax + 1]
cmp rdx, r13
jae 0x1400eab68
movzx ecx, byte [rbx + rax + 1]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 2]
cmp rdx, r13
jae 0x1400eab68
movzx ecx, byte [rbx + rax + 2]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 3]
cmp rdx, r13
jae 0x1400eab68
movzx ecx, byte [rbx + rax + 3]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 4]
cmp rdx, r13
jae 0x1400eab68
movzx ecx, byte [rbx + rax + 4]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 5]
cmp rdx, r13
jae 0x1400eab68
movzx ecx, byte [rbx + rax + 5]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 6]
cmp rdx, r13
jae 0x1400eab68
movzx eax, byte [rbx + rax + 6]
xor byte [rsp + rdx + 0x40], al
jmp 0x1400eab68
mov rax, r13
and rax, 0xfffffffffffffff0
test r13b, 0xf
je 0x1400eac59
mov rdx, r13
sub rdx, rax
lea rcx, [rdx - 1]
cmp rcx, 6
jbe 0x1400eadc1
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 0x1400eac59
movzx edx, byte [rbx + rax]
xor byte [rsp + rax + 0x40], dl
lea rdx, [rax + 1]
cmp rdx, r13
jae 0x1400eac59
movzx ecx, byte [rbx + rax + 1]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 2]
cmp rdx, r13
jae 0x1400eac59
movzx ecx, byte [rbx + rax + 2]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 3]
cmp rdx, r13
jae 0x1400eac59
movzx ecx, byte [rbx + rax + 3]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 4]
cmp rdx, r13
jae 0x1400eac59
movzx ecx, byte [rbx + rax + 4]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 5]
cmp rdx, r13
jae 0x1400eac59
movzx ecx, byte [rbx + rax + 5]
xor byte [rsp + rdx + 0x40], cl
lea rdx, [rax + 6]
cmp rdx, r13
jae 0x1400eac59
movzx eax, byte [rbx + rax + 6]
xor byte [rsp + rdx + 0x40], al
jmp 0x1400eac59
movdqu xmm0, xmmword [0x14065dbc0]
shl r13, 3
mov qword [rsp + 0x78], 0
mov rbp, rdx
mov qword [rsp + 0x70], 0
lea r12, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
movdqu xmm0, xmmword [0x14065dbd0]
movups xmmword [rsp + 0x50], xmm0
pxor xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
cmp r13, 0x1ff
jbe 0x1400eaf07
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 0x1400eaf00
add esi, 0x200
mov dword [rsp + 0x70], esi
jne 0x1400eaed0
add dword [rsp + 0x74], 1
jmp 0x1400eaed0
and r13d, 0x1ff
test r13, r13
jne 0x1400eb030
lea rbx, [rsp + 0x20]
mov r9d, 1
mov r8d, 0x81
mov rcx, r12
mov rdx, rbx
mov r13d, 0x1c
mov ebp, 0x1b
call fcn.1400e9030
movdqu xmm7, xmmword [0x14065dbe0]
movdqu xmm6, xmmword [0x14065dbf0]
movabs rax, 0x3636363636363636
movabs rdx, 0x3636363636363636
pxor xmm0, xmm0
mov qword [rdi + 0x38], 0
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 0x1400eab04
xor eax, eax
jmp 0x1400eaca9
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 0x1400eac59
mov rdx, r13
lea r8, [rsp + 0x80]
mov rax, rbp
shr rdx, 3
mov r9, r8
cmp edx, 8
jae 0x1400eb092
xor ecx, ecx
test dl, 4
jne 0x1400eb086
test dl, 2
jne 0x1400eb076
and edx, 1
jne 0x1400eb06c
mov dword [rsp + 0x78], r13d
jmp 0x1400eaf10
xor eax, eax
jmp 0x1400ead89
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
jmp 0x1400eb05b
movzx r8d, word [rax + rcx]
mov word [r9 + rcx], r8w
add rcx, 2
jmp 0x1400eb056
mov ecx, dword [rax]
mov dword [r9], ecx
mov ecx, 4
jmp 0x1400eb051
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 0x1400eb09b
lea r9, [r8 + rax]
add rax, rbp
jmp 0x1400eb04a