Function at 0x14002716a
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 0x140027c0f
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.140024c45
mov rax, qword [r15]
test rax, rax
je 0x140027213
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 0x140027be9
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 0x140027274
cmp eax, 1
jne 0x1400272a0
lea rcx, [rsp + 0x60]
mov rdx, rdi
mov r8, rsi
call fcn.140024fb8
xor eax, eax
cmp rax, 0x40
je 0x1400272cc
xor byte [rsp + rax + 0x60], 0x36
inc rax
jmp 0x140027264
lea rcx, [rsp + 0x190]
mov rdx, rdi
mov r8, rsi
call fcn.14002544a
xor eax, eax
cmp rax, 0x40
je 0x140027314
xor byte [rsp + rax + 0x190], 0x36
inc rax
jmp 0x140027289
lea rcx, [rsp + 0x190]
mov rdx, rdi
mov r8, rsi
call fcn.140025204
xor eax, eax
cmp rax, 0x40
je 0x140027357
xor byte [rsp + rax + 0x190], 0x36
inc rax
jmp 0x1400272b5
movups xmm6, xmmword [0x140124068]
lea rcx, [rsp + 0x160]
movaps xmmword [rcx + 0x10], xmm6
movups xmm7, xmmword [0x140124058]
movaps xmmword [rcx], xmm7
and qword [rcx + 0x20], 0
lea rdx, [rsp + 0x60]
mov r8d, 1
call fcn.140022e84
xor eax, eax
cmp rax, 0x40
je 0x1400273a3
xor byte [rsp + rax + 0x60], 0x6a
inc rax
jmp 0x140027300
lea rcx, [rsp + 0x160]
and qword [rcx + 0x10], 0
movaps xmm6, xmmword [0x1401236d0]
movups xmmword [rcx], xmm6
lea rdx, [rsp + 0x190]
mov r8d, 1
call fcn.140025f3e
xor eax, eax
cmp rax, 0x40
je 0x1400274cf
xor byte [rsp + rax + 0x190], 0x6a
inc rax
jmp 0x140027340
movaps xmm6, xmmword [0x1401236d0]
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.140025f6b
xor eax, eax
cmp rax, 0x40
je 0x1400275f8
xor byte [rsp + rax + 0x190], 0x6a
inc rax
jmp 0x14002738c
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.140022e84
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.140026e28
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 0x140027706
lea r8, [0x1401237e8]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
mov r8, rdx
lea r9, [0x1401237e8]
mov rcx, rdi
mov rdx, rax
call fcn.140022a34
lea rcx, [0x140123800]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002a624
add r14, rdi
jae 0x1400277d7
jmp 0x1400276ec
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.140025f3e
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.140026e28
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 0x1400278aa
lea r8, [0x1401237e8]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
mov r8, rdx
lea r9, [0x1401237e8]
mov rcx, rdi
mov rdx, rax
call fcn.140022a34
lea rcx, [0x140123800]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002a624
add r14, rdi
jae 0x14002797b
jmp 0x1400276ec
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.140025f6b
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.140026e28
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 0x140027a31
lea r8, [0x1401237e8]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
mov r8, rdx
lea r9, [0x1401237e8]
mov rcx, rdi
mov rdx, rax
call fcn.140022a34
lea rcx, [0x140123800]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, rdi
call fcn.14002a624
add r14, rdi
jae 0x140027b02
lea rcx, str.attempt_to_add_with_overflow.cargo_registry_srcindex.crates.io_6f17d22bba15001f_block_buffer_0.10.4_srclib.rs
lea r8, [0x140123818]
mov edx, 0x1c
call fcn.14000e3b0
ud2
test r14, r14
je 0x14002777d
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140024e8f
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140123848]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
lea rcx, [0x140123860]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002a624
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.1400266ba
cmp rdi, 0x3f
jbe 0x140027797
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400266ba
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140123878]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140022a34
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140123890]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002a624
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.140022adb
lea rsi, [rsp + 0x110]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.140022adb
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.140022eb8
mov byte [rsp + 0x150], 0
lea rax, [0x140123800]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x20
mov r9d, 0x20
mov rcx, rsi
call fcn.14002a624
lea rcx, [rsp + 0xe8]
mov byte [rcx + 0x68], 0x20
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140022eb8
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.140023148
mov rax, qword [rsp + 0x70]
mov qword [rbx + 0x18], rax
movups xmm0, xmmword [rsp + 0x60]
jmp 0x140027bd4
test r14, r14
je 0x140027921
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140024e8f
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140123848]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
lea rcx, [0x140123860]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002a624
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.1400266c5
cmp rdi, 0x3f
jbe 0x14002793b
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400266c5
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140123878]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140022a34
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140123890]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002a624
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.140022b08
lea rsi, [rsp + 0xf0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.140022b08
mov rcx, r14
mov rdx, rsi
mov r8, rdi
call fcn.140025fa1
mov byte [rsp + 0x130], 0
lea rax, [0x140123800]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x10
mov r9d, 0x10
mov rcx, rsi
call fcn.14002a624
lea rcx, [rsp + 0xd8]
mov byte [rcx + 0x58], 0x10
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140025fa1
movups xmm0, xmmword [rsp + 0x30]
lea rdx, [rsp + 0x60]
movaps xmmword [rdx], xmm0
lea rcx, [rsp + 0xc0]
mov r8d, 0x10
call fcn.140023148
jmp 0x140027bc0
test r14, r14
je 0x140027aa8
lea rcx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rdi
call fcn.140024e8f
mov r12, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
lea r8, [0x140123848]
mov rcx, r15
mov rdx, r14
call fcn.140024ecc
lea rcx, [0x140123860]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, r12
mov r9, r13
call fcn.14002a624
lea rcx, [rsp + 0x60]
mov r8d, 1
mov rdx, r15
call fcn.1400266d0
cmp rdi, 0x3f
jbe 0x140027ac2
mov r8, rdi
shr r8, 6
lea rcx, [rsp + 0x60]
mov rdx, rsi
call fcn.1400266d0
mov r14d, edi
and r14d, 0x3f
lea r9, [0x140123878]
mov r8d, 0x40
mov rcx, r14
mov rdx, r15
call fcn.140022a34
and rdi, 0xffffffffffffffc0
add rsi, rdi
lea rcx, [0x140123890]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rsi
mov r9, r14
call fcn.14002a624
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.140022a7c
lea rsi, [rsp + 0x100]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.140022a7c
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.140026103
mov byte [rsp + 0x140], 0
lea rax, [0x140123800]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x60]
mov edx, 0x14
mov r9d, 0x14
mov rcx, rsi
call fcn.14002a624
lea rcx, [rsp + 0xe0]
mov byte [rcx + 0x60], 0x14
lea r8, [rsp + 0x30]
mov rdx, rsi
call fcn.140026103
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.140023148
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.14002e741
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, [0x1401242f4]
lea r8, [0x140124330]
mov edx, 0x36
call fcn.140018c11
ud2