Function at 0x1400e9810
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
movdqu xmm0, xmmword [0x14065dbc0]
movups xmmword [rsp + 0x50], xmm0
mov rbx, rcx
movdqu xmm0, xmmword [0x14065dbd0]
lea r12, [r8*8]
mov qword [rsp + 0x88], 0
mov rsi, rdx
movups xmmword [rsp + 0x60], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0x70], xmm0
cmp r12, 0x1ff
jbe 0x1400e9da0
lea r15, [r12 - 0x200]
xor ebp, ebp
mov edi, 0x200
mov dword [rsp + 0x80], 0x200
shr r15, 9
lea r14, [rsp + 0x50]
lea r13, [r15 + 1]
shl r13, 6
add r13, rdx
nop word [rax + rax]
mov rdx, rsi
mov rcx, r14
add rsi, 0x40
call fcn.1400e83b0
cmp rsi, r13
je 0x1400e98e0
add edi, 0x200
mov dword [rsp + 0x80], edi
jne 0x1400e98b0
add ebp, 1
mov dword [rsp + 0x84], ebp
jmp 0x1400e98b0
add r15d, 1
shl r15d, 9
mov eax, r15d
and r12d, 0x1ff
jne 0x1400e9c68
mov byte [rsp + 0x46], 0x81
mov r12d, r15d
xor edx, edx
mov r15d, eax
mov byte [rsp + 0x47], 1
mov esi, r12d
movzx eax, r12b
mov r11d, r12d
mov r10d, r12d
shr esi, 8
shl rax, 8
mov ecx, ebp
mov r8d, ebp
shr r11d, 0x10
movzx esi, sil
shr r10d, 0x18
mov r9d, ebp
or rax, rsi
movzx r11d, r11b
movzx r10d, r10b
movzx ebp, bpl
shl rax, 8
shr r9d, 8
shr r8d, 0x10
or rax, r11
movzx r9d, r9b
shr ecx, 0x18
shl rax, 8
movzx r8d, r8b
movzx ecx, cl
or rax, r10
shl rax, 8
or rax, rbp
shl rax, 8
or rax, r9
shl rax, 8
or rax, r8
shl rax, 8
or rax, rcx
mov qword [rsp + 0x48], rax
cmp edx, 0x1b8
je 0x1400e9d40
cmp edx, 0x1b7
jg 0x1400e9ce0
xor eax, eax
mov r8d, 0x1b8
test edx, edx
mov rcx, r14
sete al
sub r8d, edx
sub r12d, 0x1b8
movsxd r8, r8d
lea rdx, [0x14065da40]
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x80], r12d
call fcn.1400e8e40
lea rdx, [rsp + 0x47]
mov r8d, 8
mov rcx, r14
call fcn.1400e8e40
mov eax, dword [rsp + 0x80]
sub eax, 8
sub eax, 0x40
lea rdx, [rsp + 0x48]
mov rcx, r14
mov r8d, 0x40
mov dword [rsp + 0x80], eax
call fcn.1400e8e40
mov ecx, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x5c]
mov r15d, ecx
mov r13d, ecx
mov r14d, ecx
movzx ecx, cl
shr r15d, 8
shl rcx, 8
mov edi, r8d
mov esi, r9d
movzx r15d, r15b
shr r14d, 0x10
mov r11d, r8d
mov ebp, r9d
or rcx, r15
movzx r14d, r14b
shr r13d, 0x18
mov r12d, r9d
shl rcx, 8
shr edi, 0x18
movzx r13d, r13b
movzx r9d, r9b
or rcx, r14
mov dword [rsp + 0x38], edi
shr esi, 0x18
mov edi, edx
shl rcx, 8
shr r11d, 0x10
mov dword [rsp + 0x20], esi
mov esi, edx
or rcx, r13
mov dword [rsp + 0x3c], r11d
shr edi, 8
mov r11d, edx
shl rcx, 8
movzx edx, dl
shr r12d, 8
movzx edi, dil
or rcx, r9
shl rdx, 8
movzx r12d, r12b
mov eax, dword [rsp + 0x64]
or rdx, rdi
shr esi, 0x10
mov r10d, r8d
movzx r8d, r8b
shl rcx, 8
shr ebp, 0x10
movzx esi, sil
mov r14d, eax
or rcx, r12
shl rdx, 8
movzx ebp, bpl
mov r12d, eax
or rdx, rsi
shr r11d, 0x18
mov r13d, eax
movzx eax, al
shl rcx, 8
movzx r11d, r11b
shl rdx, 8
mov edi, dword [rsp + 0x60]
or rcx, rbp
shr r10d, 8
mov ebp, dword [rsp + 0x60]
mov esi, dword [rsp + 0x6c]
shl rcx, 8
or rdx, r11
shr r14d, 8
movzx r10d, r10b
shl rdx, 8
movzx r14d, r14b
shl rax, 8
movzx r9d, byte [rsp + 0x20]
or rdx, r8
or rax, r14
shr r13d, 0x10
movzx r8d, byte [rsp + 0x3c]
shl rdx, 8
movzx r13d, r13b
shl rax, 8
or rcx, r9
or rdx, r10
or rax, r13
shr r12d, 0x18
mov qword [rsp + 0x20], rcx
shl rdx, 8
movzx r12d, r12b
shl rax, 8
mov ecx, dword [rsp + 0x60]
or rdx, r8
or rax, r12
movzx r8d, byte [rsp + 0x38]
shr ebp, 8
mov r9d, dword [rsp + 0x68]
mov r10d, dword [rsp + 0x6c]
shr edi, 0x10
shr ecx, 0x18
movzx r12d, byte [rsp + 0x60]
shl rdx, 8
shr esi, 8
movzx ecx, cl
shl rax, 8
or rdx, r8
mov r11d, dword [rsp + 0x6c]
movzx ebp, bpl
or rax, r12
mov qword [rsp + 0x28], rdx
mov edx, dword [rsp + 0x68]
shr r9d, 8
shl rax, 8
shr r10d, 0x18
movzx edi, dil
movzx esi, sil
mov r8d, dword [rsp + 0x68]
or rax, rbp
shr edx, 0x18
movzx r10d, r10b
shr r11d, 0x10
movzx r9d, r9b
movzx edx, dl
movdqu xmm1, xmmword [rsp + 0x20]
shr r8d, 0x10
shl rax, 8
movzx r11d, r11b
or rax, rdi
movzx edi, byte [rsp + 0x6c]
movzx r8d, r8b
movups xmmword [rbx], xmm1
shl rax, 8
shl rdi, 8
or rax, rcx
or rdi, rsi
mov qword [rsp + 0x20], rax
shl rdi, 8
or rdi, r11
shl rdi, 8
or rdi, r10
movzx r10d, byte [rsp + 0x68]
shl rdi, 8
or rdi, r10
shl rdi, 8
or rdi, r9
shl rdi, 8
or rdi, r8
shl rdi, 8
or rdi, rdx
mov qword [rsp + 0x28], rdi
movdqu xmm2, xmmword [rsp + 0x20]
movups xmmword [rbx + 0x10], xmm2
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, r12
lea r8, [rsp + 0x90]
mov rax, r13
shr rdx, 3
mov r9, r8
cmp edx, 8
jae 0x1400e9d70
xor ecx, ecx
test dl, 4
je 0x1400e9c97
mov ecx, dword [rax]
mov dword [r9], ecx
mov ecx, 4
test dl, 2
je 0x1400e9caa
movzx r8d, word [rax + rcx]
mov word [r9 + rcx], r8w
add rcx, 2
and edx, 1
je 0x1400e9cb7
movzx eax, byte [rax + rcx]
mov byte [r9 + rcx], al
xor eax, eax
mov dword [rsp + 0x88], r12d
mov edx, r12d
add r12d, r15d
setb al
mov byte [rsp + 0x46], 0x81
cmp eax, 1
mov byte [rsp + 0x47], 1
sbb ebp, 0xffffffff
jmp 0x1400e990a
mov r8d, 0x200
mov rcx, r14
sub r12d, 0x200
sub r8d, edx
lea rdx, [0x14065da40]
mov dword [rsp + 0x80], r12d
movsxd r8, r8d
call fcn.1400e8e40
mov r8d, 0x1b8
lea rdx, [0x14065da41]
mov rcx, r14
sub dword [rsp + 0x80], 0x1b8
call fcn.1400e8e40
mov dword [rsp + 0x8c], 1
jmp 0x1400e99d6
sub r15d, 8
lea rdx, [rsp + 0x46]
mov r8d, 8
mov rcx, r14
mov dword [rsp + 0x80], r15d
call fcn.1400e8e40
mov eax, dword [rsp + 0x80]
jmp 0x1400e99f3
mov r10d, edx
xor eax, eax
and r10d, 0xfffffff8
mov ecx, eax
add eax, 8
mov r9, qword [r13 + rcx]
mov qword [r8 + rcx], r9
cmp eax, r10d
jb 0x1400e9d79
lea r9, [r8 + rax]
add rax, r13
jmp 0x1400e9c86
test r12, r12
jne 0x1400e9db6
xor ebp, ebp
xor eax, eax
lea r14, [rsp + 0x50]
xor r15d, r15d
jmp 0x1400e98f8
mov rcx, r12
lea rax, [rsp + 0x90]
mov edx, r12d
xor ebp, ebp
shr rcx, 3
mov rdi, rax
mov byte [rsp + 0x46], 0x81
xor r15d, r15d
mov ecx, ecx
mov byte [rsp + 0x47], 1
lea r14, [rsp + 0x50]
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x88], r12d
jmp 0x1400e990a