Function at 0x14008a470
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
movdqu xmm0, xmmword [0x140296e10]
movups xmmword [rsp + 0x30], xmm0
mov rbp, rcx
mov rbx, rdx
movdqu xmm0, xmmword [0x140296e20]
lea r13, [r8*8]
mov qword [rsp + 0x68], 0
movups xmmword [rsp + 0x40], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x60], 0
movups xmmword [rsp + 0x50], xmm0
cmp r13, 0x1ff
jbe 0x14008a830
lea r15, [r13 - 0x200]
xor r12d, r12d
lea rdi, [rsp + 0x30]
xor esi, esi
shr r15, 9
lea r14, [r15 + 1]
shl r14, 6
add r14, rdx
nop dword [rax + rax]
add esi, 0x200
mov dword [rsp + 0x60], esi
jne 0x14008a6a0
mov rdx, rbx
add r12d, 1
mov rcx, rdi
add rbx, 0x40
mov dword [rsp + 0x64], r12d
call fcn.140088ff0
cmp rbx, r14
jne 0x14008a4f8
lea edx, [r15 + 1]
shl edx, 9
and r13d, 0x1ff
jne 0x14008a6cc
mov r8d, edx
xor ecx, ecx
mov r13d, edx
movzx eax, dl
mov esi, edx
mov ebx, edx
shr r13d, 8
shl rax, 8
mov r9d, r12d
mov r10d, r12d
movzx r13d, r13b
shr esi, 0x10
mov r11d, r12d
movzx r12d, r12b
or rax, r13
movzx esi, sil
shr ebx, 0x18
mov byte [rsp + 0x26], 0x81
shl rax, 8
movzx ebx, bl
shr r11d, 8
mov byte [rsp + 0x27], 1
shr r10d, 0x10
or rax, rsi
movzx r11d, r11b
shr r9d, 0x18
shl rax, 8
movzx r10d, r10b
movzx r9d, r9b
or rax, rbx
shl rax, 8
or rax, r12
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
mov qword [rsp + 0x28], rax
cmp ecx, 0x1b8
je 0x14008a780
cmp ecx, 0x1b7
jg 0x14008a728
xor eax, eax
mov r8d, 0x1b8
test ecx, ecx
sete al
sub edx, 0x1b8
sub r8d, ecx
mov rcx, rdi
mov dword [rsp + 0x60], edx
movsxd r8, r8d
lea rdx, [0x140296ca0]
mov dword [rsp + 0x6c], eax
call fcn.140089a30
lea rdx, [rsp + 0x27]
mov r8d, 8
mov rcx, rdi
call fcn.140089a30
mov eax, dword [rsp + 0x60]
sub eax, 8
sub eax, 0x40
lea rdx, [rsp + 0x28]
mov r8d, 0x40
mov rcx, rdi
mov dword [rsp + 0x60], eax
call fcn.140089a30
mov eax, dword [rsp + 0x30]
bswap eax
mov dword [rbp], eax
mov eax, dword [rsp + 0x34]
bswap eax
mov dword [rbp + 4], eax
mov eax, dword [rsp + 0x38]
bswap eax
mov dword [rbp + 8], eax
mov eax, dword [rsp + 0x3c]
bswap eax
mov dword [rbp + 0xc], eax
mov eax, dword [rsp + 0x40]
bswap eax
mov dword [rbp + 0x10], eax
mov eax, dword [rsp + 0x44]
bswap eax
mov dword [rbp + 0x14], eax
mov eax, dword [rsp + 0x48]
bswap eax
mov dword [rbp + 0x18], eax
mov eax, dword [rsp + 0x4c]
bswap eax
mov dword [rbp + 0x1c], eax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, rbx
mov rcx, rdi
add rbx, 0x40
call fcn.140088ff0
cmp r14, rbx
jne 0x14008a4f8
lea edx, [r15 + 1]
shl edx, 9
and r13d, 0x1ff
je 0x14008a539
mov rcx, r13
lea r9, [rsp + 0x70]
mov rax, r14
shr rcx, 3
mov r10, r9
cmp ecx, 8
jae 0x14008a800
xor r8d, r8d
test cl, 4
jne 0x14008a7e0
test cl, 2
jne 0x14008a7c0
and ecx, 1
jne 0x14008a7a8
mov dword [rsp + 0x68], r13d
mov ecx, r13d
add r13d, edx
jb 0x14008a8cc
mov r8d, edx
mov edx, r13d
jmp 0x14008a53e
mov r8d, 0x200
sub edx, 0x200
sub r8d, ecx
mov dword [rsp + 0x60], edx
mov rcx, rdi
lea rdx, [0x140296ca0]
movsxd r8, r8d
call fcn.140089a30
mov r8d, 0x1b8
mov rcx, rdi
lea rdx, [0x140296ca1]
sub dword [rsp + 0x60], 0x1b8
call fcn.140089a30
mov dword [rsp + 0x6c], 1
jmp 0x14008a60a
sub r8d, 8
lea rdx, [rsp + 0x26]
mov rcx, rdi
mov dword [rsp + 0x60], r8d
mov r8d, 8
call fcn.140089a30
mov eax, dword [rsp + 0x60]
jmp 0x14008a624
movzx eax, byte [rax + r8]
mov byte [r10 + r8], al
jmp 0x14008a705
movzx r9d, word [rax + r8]
mov word [r10 + r8], r9w
add r8, 2
and ecx, 1
je 0x14008a705
jmp 0x14008a7a8
mov r8d, dword [rax]
mov dword [r10], r8d
mov r8d, 4
test cl, 2
je 0x14008a6fc
jmp 0x14008a7c0
mov r11d, ecx
xor eax, eax
and r11d, 0xfffffff8
mov r8d, eax
add eax, 8
mov r10, qword [r14 + r8]
mov qword [r9 + r8], r10
cmp eax, r11d
jb 0x14008a809
lea r10, [r9 + rax]
add rax, r14
jmp 0x14008a6e7
test r13, r13
jne 0x14008a844
xor r12d, r12d
xor edx, edx
lea rdi, [rsp + 0x30]
jmp 0x14008a539
mov rdx, r13
lea rcx, [rsp + 0x70]
mov rax, rbx
shr rdx, 3
mov r8, rcx
cmp edx, 8
jae 0x14008a8a7
xor ecx, ecx
test dl, 4
je 0x14008a86c
mov ecx, dword [rax]
mov dword [r8], ecx
mov ecx, 4
test dl, 2
je 0x14008a87f
movzx r9d, word [rax + rcx]
mov word [r8 + rcx], r9w
add rcx, 2
and edx, 1
je 0x14008a88c
movzx eax, byte [rax + rcx]
mov byte [r8 + rcx], al
mov dword [rsp + 0x68], r13d
mov ecx, r13d
mov edx, r13d
xor r8d, r8d
xor r12d, r12d
lea rdi, [rsp + 0x30]
jmp 0x14008a53e
mov r10d, edx
xor eax, eax
and r10d, 0xfffffff8
mov r8d, eax
add eax, 8
mov r9, qword [rbx + r8]
mov qword [rcx + r8], r9
cmp eax, r10d
jb 0x14008a8b0
lea r8, [rcx + rax]
add rax, rbx
jmp 0x14008a85b
add r12d, 1
jmp 0x14008a716