Function at 0x140282660
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm8
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
cmp r8, 0x40
ja 0x14028292f
mov rbx, r9
mov rsi, rcx
mov rdi, qword [rsp + 0x200]
movaps xmm0, xmmword [str.6666666666666666_]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmm0, xmmword [0x1402fa6c0]
movaps xmmword [rsp + 0x150], xmm0
movaps xmmword [rsp + 0x140], xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
test r8, r8
je 0x1402827bb
lea rcx, [r8 - 1]
cmp rcx, 0x80
mov eax, 0x80
cmovb rax, rcx
cmp rax, 0x10
jae 0x140282753
xor eax, eax
jmp 0x1402827a0
inc rax
mov ecx, eax
and ecx, 0xf
mov r9d, 0x10
cmovne r9, rcx
sub rax, r9
xor ecx, ecx
nop word [rax + rax]
movups xmm0, xmmword [rdx + rcx]
movups xmm1, xmmword [rsp + rcx + 0x60]
xorps xmm1, xmm0
movups xmmword [rsp + rcx + 0x60], xmm1
movups xmm1, xmmword [rsp + rcx + 0xe0]
xorps xmm1, xmm0
movups xmmword [rsp + rcx + 0xe0], xmm1
add rcx, 0x10
cmp rax, rcx
jne 0x140282770
nop dword [rax]
movzx ecx, byte [rdx + rax]
xor byte [rsp + rax + 0x60], cl
xor byte [rsp + rax + 0xe0], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r8, rcx
jne 0x1402827a0
mov r14, qword [rsp + 0x210]
mov r15, qword [rsp + 0x208]
lea r12, [rsi + 0x28]
xorps xmm0, xmm0
movups xmmword [rsi + 0x58], xmm0
movups xmmword [rsi + 0x48], xmm0
movups xmmword [rsi + 0x38], xmm0
movups xmmword [rsi + 0x28], xmm0
mov byte [rsi + 0x68], 0
movups xmm6, xmmword [0x14038e988]
movups xmmword [rsi], xmm6
movups xmm7, xmmword [0x14038e998]
movups xmmword [rsi + 0x10], xmm7
mov qword [rsi + 0x20], 1
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, rsi
call fcn.140274f70
mov byte [rsi + 0x68], 0
cmp rdi, 0x3f
ja 0x140282830
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140282866
mov r13, rdi
and r13, 0xffffffffffffffc0
mov ebp, edi
and ebp, 0x3f
add r13, rbx
shr rdi, 6
add qword [rsi + 0x20], rdi
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.140274f70
mov rcx, r12
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rdi, rbp
mov byte [rsi + 0x68], dil
xorps xmm8, xmm8
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x20], xmm8
lea rdx, [rsp + 0x20]
mov r8d, 0x40
mov rcx, rsi
call fcn.140282500
movups xmmword [r12 + 0x30], xmm8
movups xmmword [r12 + 0x20], xmm8
movups xmmword [r12 + 0x10], xmm8
movups xmmword [r12], xmm8
mov byte [r12 + 0x40], 0
movups xmmword [rsi + 0x10], xmm7
movups xmmword [rsi], xmm6
mov qword [rsi + 0x20], 1
lea rdx, [rsp + 0xe0]
mov r8d, 1
mov rcx, rsi
call fcn.140274f70
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov byte [rsi + 0x68], 0x20
mov rcx, rsi
mov rdx, r15
mov r8, r14
call fcn.140282500
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
movaps xmm8, xmmword [rsp + 0x180]
add rsp, 0x198
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_key.len_____self.block_len__
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_snow_0.9.3_src_types.rs
mov edx, 0x2f
call fcn.1402ea480
ud2