Function at 0x140008bee
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x140], 0xfffffffffffffffe
mov r13, r8
mov rdi, rdx
lea r14, [rbp - 0x28]
xorps xmm0, xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14], xmm0
mov byte [r14 + 0x40], 0
movups xmm0, xmmword [0x1409acbd0]
movaps xmmword [r14 - 0x28], xmm0
movups xmm0, xmmword [0x1409acbe0]
movaps xmmword [r14 - 0x18], xmm0
and qword [r14 - 8], 0
mov rbx, rcx
lea rax, [rbp - 0x50]
mov qword [rbp + 0x20], rax
cmp r8, 0x3f
ja 0x140008ca9
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
xor ecx, ecx
mov rdx, r14
call fcn.140009092
mov r8, rdx
lea r9, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
mov rcx, r13
mov rdx, rax
call fcn.1400090be
lea rcx, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rdi
mov r9, r13
call fcn.14000c4ef
jmp 0x140008d00
mov r12, r13
and r12, 0xffffffffffffffc0
mov r15d, r13d
and r15d, 0x3f
add r12, rdi
shr r13, 6
lea rcx, [rbp + 0x20]
mov rdx, rdi
mov r8, r13
call fcn.1400090de
lea r9, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
push 0x40
pop r8
mov rcx, r15
mov rdx, r14
call fcn.1400090be
lea rcx, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r15
call fcn.14000c4ef
mov r13, r15
lea rsi, [rbp - 0x50]
mov byte [rsi + 0x68], r13b
push 0xe
pop rcx
lea rax, [rbp + 0x20]
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x100], xmm0
movaps xmmword [rbp + 0xf0], xmm0
lea rsi, [rbp + 0x48]
movaps xmmword [rbp + 0xa0], xmm0
movaps xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0x118], rax
movzx edi, byte [rsi + 0x40]
mov r14, qword [rsi - 8]
mov r15d, edi
shl r15d, 3
mov byte [rbp + rdi + 0x48], 0x80
lea rcx, [rdi + 1]
lea r8, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
mov rdx, rsi
call fcn.140009092
xor ecx, ecx
cmp rdx, rcx
je 0x140008d76
mov byte [rax + rcx], 0
inc rcx
jmp 0x140008d68
shl r14, 9
or r14, r15
bswap r14
not edi
test dil, 0x38
jne 0x140008dbd
lea rdi, [rbp + 0x118]
mov rcx, rdi
mov rdx, rsi
call fcn.1400090ea
xorps xmm0, xmm0
lea rdx, [rbp + 0xb0]
movaps xmmword [rdx + 0x20], xmm0
movaps xmmword [rdx + 0x10], xmm0
movaps xmmword [rdx], xmm0
and qword [rdx + 0x30], 0
mov qword [rdx + 0x38], r14
mov rcx, rdi
jmp 0x140008dce
mov qword [rbp + 0x80], r14
lea rcx, [rbp + 0x118]
mov rdx, rsi
call fcn.1400090ea
mov byte [rbp + 0x88], 0
mov r14, qword [rbp + 0x118]
xor r15d, r15d
lea r12, str.C:Usersuser.cargo_registry_srcindex.crates.io_6f17d22bba15001f_sha2_0.10.8_srccore_api.rs
lea rdi, [rbp + 0xb0]
push 4
pop rsi
cmp r15, 0x20
je 0x140008e2b
lea rcx, [r15 + rbp]
add rcx, 0x90
mov eax, dword [r14 + r15]
bswap eax
mov dword [rbp + 0xb0], eax
mov qword [rsp + 0x20], r12
mov rdx, rsi
mov r8, rdi
mov r9, rsi
call fcn.14000c4ef
add r15, 4
jmp 0x140008df5
lea rax, [rbp + 0x90]
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmmword [rax], xmm0
movaps xmmword [rax + 0x10], xmm1
mov qword [rbp + 0xb0], rax
lea rax, [0x1409b16b0]
lea rdx, [rbp + 0x20]
mov qword [rdx], rax
push 1
pop rsi
mov qword [rdx + 8], rsi
and qword [rdx + 0x20], 0
lea rax, [0x140008b19]
mov qword [rbp + 0xb8], rax
mov qword [rdx + 0x10], rdi
mov qword [rdx + 0x18], rsi
lea rdi, [rbp + 0x118]
mov rcx, rdi
call fcn.140001800
mov r15, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
test al, 1
jne 0x140008f8b
lea rdx, [rbp + 0x13f]
mov byte [rdx], 0
lea rcx, [rbp + 0xb0]
mov qword [rcx], rdx
mov qword [rcx + 8], r15
mov qword [rcx + 0x10], rax
and qword [rcx + 0x18], 0
shr rax, 1
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], 1
mov byte [rcx + 0x30], 1
call fcn.140006142
test al, 1
je 0x140008f9a
mov r14d, edx
mov qword [rbp + 0x130], r15
lea rsi, [rbp + 0x20]
push 8
pop rdx
mov rcx, rsi
call fcn.140009249
cmp qword [rsi], 0
mov rcx, qword [rsi + 8]
jne 0x140009005
lea rdi, [rbp + 0x20]
mov rsi, qword [rdi + 0x10]
mov byte [rsi], r14b
lea r14, [rbp + 0xf0]
mov qword [r14], rcx
mov qword [r14 + 8], rsi
mov qword [r14 + 0x10], 1
mov rax, qword [rbp + 0xe0]
mov qword [rdi + 0x30], rax
movups xmm0, xmmword [rbp + 0xb0]
movups xmm1, xmmword [rbp + 0xc0]
movups xmm2, xmmword [rbp + 0xd0]
movaps xmmword [rdi + 0x20], xmm2
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
push 1
pop r15
mov r13, r15
mov rcx, rdi
call fcn.140006142
test al, 1
je 0x140008fa1
mov r12d, edx
cmp r13, qword [rbp + 0xf0]
jne 0x140008f7b
mov rcx, r14
mov rdx, r15
call fcn.1400090f8
mov rsi, qword [rbp + 0xf8]
mov byte [rsi + r13], r12b
inc r13
mov qword [rbp + 0x100], r13
jmp 0x140008f51
movabs rax, 0x8000000000000000
mov qword [rbx], rax
jmp 0x140008fe1
xor ecx, ecx
xor r13d, r13d
jmp 0x140008faf
mov rcx, qword [rbp + 0xf0]
mov r15, qword [rbp + 0x130]
cmp byte [rbp + 0x13f], 0
je 0x140008fd6
movabs rax, 0x8000000000000000
mov qword [rbx], rax
mov rdx, rsi
call fcn.140009613
mov r15, qword [rbp + 0x120]
jmp 0x140008fe1
mov qword [rbx], rcx
mov qword [rbx + 8], rsi
mov qword [rbx + 0x10], r13
mov rcx, qword [rbp + 0x118]
mov rdx, r15
call fcn.140009613
nop
add rsp, 0x1c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rdx, qword [rbp + 0x30]
call fcn.14002d820
ud2