Function at 0x140089b40
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
movdqa xmm0, xmmword [0x1402288d0]
movaps xmmword [rsp + 0x30], xmm0
mov rbx, rdx
mov rbp, rcx
movdqa xmm0, xmmword [0x1402288e0]
lea rdx, [r8*8]
mov qword [rsp + 0x68], 0
movaps xmmword [rsp + 0x40], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x60], 0
movaps xmmword [rsp + 0x50], xmm0
cmp rdx, 0x1ff
jbe 0x140089ec0
lea r14, [rdx - 0x200]
xor r12d, r12d
lea rdi, [rsp + 0x30]
xor esi, esi
mov r15, r14
shr r15, 9
lea r13, [r15 + 1]
shl r13, 6
add r13, rbx
nop word cs:[rax + rax]
add esi, 0x200
mov dword [rsp + 0x60], esi
jne 0x140089be5
add r12d, 1
mov dword [rsp + 0x64], r12d
mov rdx, rbx
mov rcx, rdi
add rbx, 0x40
call fcn.1400886c0
cmp rbx, r13
jne 0x140089bd0
lea edx, [r15 + 1]
shl r15, 9
shl edx, 9
sub r14, r15
jne 0x140089d68
mov r8d, edx
xor ecx, ecx
movzx eax, dl
movzx esi, dh
mov ebx, edx
mov r11d, edx
shl rax, 8
shr ebx, 0x10
mov r10d, r12d
mov r9d, r12d
or rax, rsi
movzx ebx, bl
shr r11d, 0x18
mov byte [rsp + 0x26], 0x81
shl rax, 8
movzx r11d, r11b
shr r10d, 0x10
mov byte [rsp + 0x27], 1
or rax, rbx
mov ebx, r12d
movzx r10d, r10b
shr r9d, 0x18
shl rax, 8
movzx esi, bh
movzx r9d, r9b
or rax, r11
movzx r11d, r12b
shl rax, 8
or rax, r11
shl rax, 8
or rax, rsi
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
mov qword [rsp + 0x28], rax
cmp ecx, 0x1b8
je 0x140089e10
cmp ecx, 0x1b7
jg 0x140089dc0
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, [0x140228760]
mov dword [rsp + 0x6c], eax
call fcn.140089100
lea rdx, [rsp + 0x27]
mov r8d, 8
mov rcx, rdi
call fcn.140089100
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.140089100
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 rcx, r14
lea r9, [rsp + 0x70]
mov rax, r13
shr rcx, 3
mov r10, r9
cmp ecx, 8
jae 0x140089e90
xor r8d, r8d
test cl, 4
jne 0x140089e70
test cl, 2
jne 0x140089e50
and ecx, 1
jne 0x140089e38
mov dword [rsp + 0x68], r14d
mov ecx, r14d
add r14d, edx
jb 0x140089f59
mov r8d, edx
mov edx, r14d
jmp 0x140089c12
mov r8d, 0x200
sub edx, 0x200
sub r8d, ecx
mov dword [rsp + 0x60], edx
mov rcx, rdi
lea rdx, [0x140228760]
movsxd r8, r8d
call fcn.140089100
mov r8d, 0x1b8
mov rcx, rdi
lea rdx, [0x140228761]
sub dword [rsp + 0x60], 0x1b8
call fcn.140089100
mov dword [rsp + 0x6c], 1
jmp 0x140089cd3
sub r8d, 8
lea rdx, [rsp + 0x26]
mov rcx, rdi
mov dword [rsp + 0x60], r8d
mov r8d, 8
call fcn.140089100
mov eax, dword [rsp + 0x60]
jmp 0x140089ced
movzx eax, byte [rax + r8]
mov byte [r10 + r8], al
jmp 0x140089da1
movzx r9d, word [rax + r8]
mov word [r10 + r8], r9w
add r8, 2
and ecx, 1
je 0x140089da1
jmp 0x140089e38
mov r8d, dword [rax]
mov dword [r10], r8d
mov r8d, 4
test cl, 2
je 0x140089d98
jmp 0x140089e50
mov r11d, ecx
xor eax, eax
and r11d, 0xfffffff8
mov r8d, eax
add eax, 8
mov r10, qword [r13 + r8]
mov qword [r9 + r8], r10
cmp eax, r11d
jb 0x140089e99
lea r10, [r9 + rax]
add rax, r13
jmp 0x140089d83
test rdx, rdx
jne 0x140089ed2
xor r12d, r12d
lea rdi, [rsp + 0x30]
jmp 0x140089c0d
mov rcx, rdx
lea r8, [rsp + 0x70]
mov rax, rbx
shr rcx, 3
mov r9, r8
cmp ecx, 8
jae 0x140089f34
xor r8d, r8d
test cl, 4
je 0x140089efd
mov r8d, dword [rax]
mov dword [r9], r8d
mov r8d, 4
test cl, 2
je 0x140089f10
movzx r10d, word [rax + r8]
mov word [r9 + r8], r10w
add r8, 2
and ecx, 1
je 0x140089f1e
movzx eax, byte [rax + r8]
mov byte [r9 + r8], al
mov dword [rsp + 0x68], edx
mov ecx, edx
xor r8d, r8d
xor r12d, r12d
lea rdi, [rsp + 0x30]
jmp 0x140089c12
mov r11d, ecx
xor eax, eax
and r11d, 0xfffffff8
mov r9d, eax
add eax, 8
mov r10, qword [rbx + r9]
mov qword [r8 + r9], r10
cmp eax, r11d
jb 0x140089f3d
lea r9, [r8 + rax]
add rax, rbx
jmp 0x140089ee9
add r12d, 1
jmp 0x140089db2