Function at 0x140028ebe
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x290
movaps xmmword [rsp + 0x280], xmm7
movaps xmmword [rsp + 0x270], xmm6
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x140029963
mov rsi, r9
mov rdi, r8
mov r14, rdx
mov rbx, rcx
mov rdx, qword [rdx]
imul r8, rax, 0x18
add r8, rdx
lea r15, [rsp + 0xc0]
mov rcx, r15
call fcn.140026999
mov rax, qword [r15]
test rax, rax
je 0x140028f67
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x1a0], rcx
movups xmm0, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rsp + 0xe0]
movups xmmword [rbx + 0x20], xmm0
mov rcx, qword [rsp + 0x1a0]
mov qword [rbx + 0x18], rcx
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [rbx + 8], xmm0
mov qword [rbx], rax
jmp 0x14002993d
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x1a0], rax
movups xmm0, xmmword [rsp + 0xc8]
movaps xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0xa0], xmm0
movzx eax, byte [r14 + 0x18]
test rax, rax
je 0x140028fc8
cmp eax, 1
jne 0x140028ff4
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rsi
call fcn.140026d0c
xor eax, eax
cmp rax, 0x40
je 0x140029020
xor byte [rsp + rax + 0x60], 0x36
inc rax
jmp 0x140028fb8
lea rcx, [rsp + 0x190]
mov rdx, rdi
mov r8, rsi
call fcn.14002719e
xor eax, eax
cmp rax, 0x40
je 0x140029068
xor byte [rsp + rax + 0x190], 0x36
inc rax
jmp 0x140028fdd
lea rcx, [rsp + 0x190]
mov rdx, rdi
mov r8, rsi
call fcn.140026f58
xor eax, eax
cmp rax, 0x40
je 0x1400290ab
xor byte [rsp + rax + 0x190], 0x36
inc rax
jmp 0x140029009
movups xmm6, xmmword [0x140126478]
lea rcx, [rsp + 0x160]
movaps xmmword [rcx + 0x10], xmm6
movups xmm7, xmmword [0x140126468]
movaps xmmword [rcx], xmm7
and qword [rcx + 0x20], 0
lea rdx, [rsp + 0x60]
mov r8d, 1
call fcn.140024bd8
xor eax, eax
cmp rax, 0x40
je 0x1400290f7
xor byte [rsp + rax + 0x60], 0x6a
inc rax
jmp 0x140029054
lea rcx, [rsp + 0x160]
and qword [rcx + 0x10], 0
movaps xmm6, xmmword [0x140125ae0]
movups xmmword [rcx], xmm6
lea rdx, [rsp + 0x190]
mov r8d, 1
call fcn.140027c92
xor eax, eax
cmp rax, 0x40
je 0x140029223
xor byte [rsp + rax + 0x190], 0x6a
inc rax
jmp 0x140029094
movaps xmm6, xmmword [0x140125ae0]
lea r14, [rsp + 0x30]
movups xmmword [r14 + 8], xmm6
mov dword [r14 + 0x18], 0xc3d2e1f0
and qword [r14], 0
lea rdx, [rsp + 0x190]
mov r8d, 1
mov rcx, r14
call fcn.140027cbf
xor eax, eax
cmp rax, 0x40
je 0x14002934c
xor byte [rsp + rax + 0x190], 0x6a
inc rax
jmp 0x1400290e0
lea r14, [rsp + 0x30]
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm7
and qword [r14 + 0x20], 0
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, r14
call fcn.140024bd8
mov rax, qword [rsp + 0x50]
lea r15, [rsp + 0x190]
mov qword [r15 + 0x48], rax
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [r15 + 0x38], xmm1
movups xmmword [r15 + 0x28], xmm0
movaps xmm0, xmmword [rsp + 0x160]
movaps xmm1, xmmword [rsp + 0x170]
movaps xmmword [r15], xmm0
movaps xmmword [r15 + 0x10], xmm1
mov rax, qword [rsp + 0x180]
mov qword [r15 + 0x20], rax
lea r12, [rsp + 0xc0]
mov ecx, 0xa
mov rdi, r12
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x110]
call fcn.140028b7c
mov r8d, 0x98
mov rcx, r15
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x30], r15
lea r15, [rsp + 0x1e0]
mov qword [rsp + 0x60], r14
movzx r14d, byte [r15 + 0x40]
mov r9d, 0x40
sub r9, r14
cmp r9, rdi
jbe 0x14002945a
lea r8, [0x140125bf8]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
mov r8, rdx
lea r9, [0x140125bf8]
mov rcx, rdi
mov rdx, rax
call fcn.140024788
lea rcx, [0x140125c10]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002c384
add r14, rdi
jae 0x14002952b
jmp 0x140029440
lea r14, [rsp + 0x30]
and qword [r14 + 0x10], 0
movups xmmword [r14], xmm6
lea r15, [rsp + 0x190]
mov r8d, 1
mov rcx, r14
mov rdx, r15
call fcn.140027c92
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x78], xmm0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x70], rax
movups xmm0, xmmword [rsp + 0x160]
lea rcx, [rsp + 0xf0]
movaps xmmword [rcx - 0x30], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rcx - 0x20], rax
mov rax, qword [rsp + 0x78]
mov qword [rcx - 0x18], rax
mov rax, qword [rsp + 0x80]
mov qword [rcx - 0x10], rax
mov rax, qword [rsp + 0x88]
mov qword [rcx - 8], rax
call fcn.140028b7c
lea rsi, [rsp + 0xc0]
mov ecx, 0xf
mov rdi, r15
rep movsq qword [rdi], qword [rsi]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x30], r15
lea r15, [rsp + 0x1c0]
mov qword [rsp + 0x60], r14
movzx r14d, byte [r15 + 0x40]
mov r9d, 0x40
sub r9, r14
cmp r9, rdi
jbe 0x1400295fe
lea r8, [0x140125bf8]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
mov r8, rdx
lea r9, [0x140125bf8]
mov rcx, rdi
mov rdx, rax
call fcn.140024788
lea rcx, [0x140125c10]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002c384
add r14, rdi
jae 0x1400296cf
jmp 0x140029440
lea rcx, [rsp + 0x60]
movups xmmword [rcx + 8], xmm6
mov dword [rcx + 0x18], 0xc3d2e1f0
and qword [rcx], 0
lea r15, [rsp + 0x190]
mov r8d, 1
mov rdx, r15
call fcn.140027cbf
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x30]
movups xmm3, xmmword [rsp + 0x40]
lea rcx, [rsp + 0x100]
movaps xmmword [rcx - 0x40], xmm2
movaps xmmword [rcx - 0x30], xmm3
movaps xmmword [rcx - 0x20], xmm0
movaps xmmword [rcx - 0x10], xmm1
call fcn.140028b7c
lea rdx, [rsp + 0xc0]
mov r8d, 0x88
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0x30], r15
lea r15, [rsp + 0x1d0]
mov qword [rsp + 0x60], r14
movzx r14d, byte [r15 + 0x40]
mov r9d, 0x40
sub r9, r14
cmp r9, rdi
jbe 0x140029785
lea r8, [0x140125bf8]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
mov r8, rdx
lea r9, [0x140125bf8]
mov rcx, rdi
mov rdx, rax
call fcn.140024788
lea rcx, [0x140125c10]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002c384
add r14, rdi
jae 0x140029856
lea rcx, str.attempt_to_add_with_overflow.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
lea r8, [0x140125c28]
mov edx, 0x1c
call fcn.14000e4c0
ud2
test r14, r14
je 0x1400294d1
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140026be3
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140125c58]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
lea rcx, [0x140125c70]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002c384
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.14002840e
cmp rdi, 0x3f
jbe 0x1400294eb
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.14002840e
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140125c88]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140024788
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140125ca0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002c384
lea rdx, [rsp + 0x190]
mov byte [rdx + 0x90], r14b
lea rdi, [rsp + 0xc0]
mov r8d, 0x98
mov rcx, rdi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x30]
call fcn.14002482f
lea rsi, [rsp + 0x110]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.14002482f
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.140024c0c
mov byte [rsp + 0x150], 0
lea rax, [0x140125c10]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x20
mov r9d, 0x20
mov rcx, rsi
call fcn.14002c384
lea rcx, [rsp + 0xe8]
mov byte [rcx + 0x68], 0x20
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140024c0c
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
lea rdx, [rsp + 0xc0]
movaps xmmword [rdx + 0x10], xmm1
movaps xmmword [rdx], xmm0
lea rcx, [rsp + 0x60]
mov r8d, 0x20
call fcn.140024e9c
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rsp + 0x60]
jmp 0x140029928
test r14, r14
je 0x140029675
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140026be3
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140125c58]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
lea rcx, [0x140125c70]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002c384
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.140028419
cmp rdi, 0x3f
jbe 0x14002968f
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140028419
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140125c88]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140024788
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140125ca0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002c384
lea rsi, [rsp + 0x190]
mov byte [rsi + 0x70], r14b
lea r14, [rsp + 0xc0]
mov ecx, 0xf
mov rdi, r14
rep movsq qword [rdi], qword [rsi]
lea rcx, [rsp + 0x30]
call fcn.14002485c
lea rsi, [rsp + 0xf0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.14002485c
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.140027cf5
mov byte [rsp + 0x130], 0
lea rax, [0x140125c10]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x10
mov r9d, 0x10
mov rcx, rsi
call fcn.14002c384
lea rcx, [rsp + 0xd8]
mov byte [rcx + 0x58], 0x10
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140027cf5
movups xmm0, xmmword [rsp + 0x30]
lea rdx, [rsp + 0x60]
movaps xmmword [rdx], xmm0
lea rcx, [rsp + 0xc0]
mov r8d, 0x10
call fcn.140024e9c
jmp 0x140029914
test r14, r14
je 0x1400297fc
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140026be3
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140125c58]
mov rcx, r15
mov rdx, r14
call fcn.140026c20
lea rcx, [0x140125c70]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002c384
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.140028424
cmp rdi, 0x3f
jbe 0x140029816
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.140028424
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140125c88]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140024788
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140125ca0]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002c384
lea rdx, [rsp + 0x190]
mov byte [rdx + 0x80], r14b
lea rdi, [rsp + 0xc0]
mov r8d, 0x88
mov rcx, rdi
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x30]
call fcn.1400247d0
lea rsi, [rsp + 0x100]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.1400247d0
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.140027e57
mov byte [rsp + 0x140], 0
lea rax, [0x140125c10]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x14
mov r9d, 0x14
mov rcx, rsi
call fcn.14002c384
lea rcx, [rsp + 0xe0]
mov byte [rcx + 0x60], 0x14
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140027e57
mov eax, dword [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov dword [rdx + 0x10], eax
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rdx], xmm0
lea rcx, [rsp + 0xc0]
mov r8d, 0x14
call fcn.140024e9c
mov rax, qword [rsp + 0xd0]
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rsp + 0xc0]
movups xmmword [rbx + 8], xmm0
and qword [rbx], 0
lea rcx, [rsp + 0xa0]
call fcn.1400304a6
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x270]
movaps xmm7, xmmword [rsp + 0x280]
add rsp, 0x290
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x140126704]
lea r8, [0x140126740]
mov edx, 0x36
call fcn.14001c7ad
ud2