Function at 0x140282e30
Capabilities:
Encode data using xor
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1b8
movaps xmmword [rsp + 0x1a0], xmm10
movaps xmmword [rsp + 0x190], xmm9
movaps xmmword [rsp + 0x180], xmm8
movaps xmmword [rsp + 0x170], xmm7
movaps xmmword [rsp + 0x160], xmm6
cmp r8, 0x80
ja 0x1402831f6
mov rbx, r9
mov rsi, rcx
mov rdi, qword [rsp + 0x220]
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 0x140282fdb
lea rcx, [r8 - 1]
cmp rcx, 0x80
mov eax, 0x80
cmovb rax, rcx
cmp rax, 0x20
jae 0x140282f3b
xor eax, eax
jmp 0x140282fc0
inc rax
mov ecx, eax
and ecx, 0x1f
mov r9d, 0x20
cmovne r9, rcx
sub rax, r9
xor ecx, ecx
nop word cs:[rax + rax]
movups xmm0, xmmword [rdx + rcx]
movups xmm1, xmmword [rdx + rcx + 0x10]
movups xmm2, xmmword [rsp + rcx + 0x60]
movups xmm3, xmmword [rsp + rcx + 0x70]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsp + rcx + 0x60], xmm2
movups xmmword [rsp + rcx + 0x70], xmm3
movups xmm2, xmmword [rsp + rcx + 0xe0]
movups xmm3, xmmword [rsp + rcx + 0xf0]
xorps xmm2, xmm0
xorps xmm3, xmm1
movups xmmword [rsp + rcx + 0xe0], xmm2
movups xmmword [rsp + rcx + 0xf0], xmm3
add rcx, 0x20
cmp rax, rcx
jne 0x140282f60
nop word cs:[rax + 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 0x140282fc0
mov r14, qword [rsp + 0x230]
mov r15, qword [rsp + 0x228]
lea r12, [rsi + 0x50]
xorps xmm0, xmm0
movups xmmword [rsi + 0xc0], xmm0
movups xmmword [rsi + 0xb0], xmm0
movups xmmword [rsi + 0xa0], xmm0
movups xmmword [rsi + 0x90], xmm0
movups xmmword [rsi + 0x80], xmm0
movups xmmword [rsi + 0x70], xmm0
movups xmmword [rsi + 0x60], xmm0
movups xmmword [rsi + 0x50], xmm0
mov byte [rsi + 0xd0], 0
movups xmm6, xmmword [0x14038e9a8]
movups xmmword [rsi], xmm6
movups xmm7, xmmword [0x14038e9b8]
movups xmmword [rsi + 0x10], xmm7
movups xmm8, xmmword [0x14038e9c8]
movups xmmword [rsi + 0x20], xmm8
movups xmm9, xmmword [0x14038e9d8]
movups xmmword [rsi + 0x30], xmm9
mov qword [rsi + 0x48], 0
mov qword [rsi + 0x40], 1
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, rsi
call fcn.1402781b0
mov byte [rsi + 0xd0], 0
cmp rdi, 0x7f
ja 0x140283097
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1402830d2
mov r13, rdi
and r13, 0xffffffffffffff80
mov ebp, edi
and ebp, 0x7f
add r13, rbx
shr rdi, 7
add qword [rsi + 0x40], rdi
adc qword [rsi + 0x48], 0
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1402781b0
mov rcx, r12
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rdi, rbp
mov byte [rsi + 0xd0], dil
xorps xmm10, xmm10
movaps xmmword [rsp + 0x50], xmm10
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm10
movaps xmmword [rsp + 0x20], xmm10
lea rdx, [rsp + 0x20]
mov r8d, 0x40
mov rcx, rsi
call fcn.140282c80
movups xmmword [r12 + 0x70], xmm10
movups xmmword [r12 + 0x60], xmm10
movups xmmword [r12 + 0x50], xmm10
movups xmmword [r12 + 0x40], xmm10
movups xmmword [r12 + 0x30], xmm10
movups xmmword [r12 + 0x20], xmm10
movups xmmword [r12 + 0x10], xmm10
movups xmmword [r12], xmm10
mov byte [r12 + 0x80], 0
movups xmmword [rsi + 0x30], xmm9
movups xmmword [rsi + 0x20], xmm8
movups xmmword [rsi + 0x10], xmm7
movups xmmword [rsi], xmm6
mov qword [rsi + 0x48], 0
mov qword [rsi + 0x40], 1
lea rdx, [rsp + 0xe0]
mov r8d, 1
mov rcx, rsi
call fcn.1402781b0
movaps xmm0, xmmword [rsp + 0x20]
movaps xmm1, xmmword [rsp + 0x30]
movaps xmm2, xmmword [rsp + 0x40]
movaps xmm3, xmmword [rsp + 0x50]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
mov byte [rsi + 0xd0], 0x40
mov rcx, rsi
mov rdx, r15
mov r8, r14
call fcn.140282c80
movaps xmm6, xmmword [rsp + 0x160]
movaps xmm7, xmmword [rsp + 0x170]
movaps xmm8, xmmword [rsp + 0x180]
movaps xmm9, xmmword [rsp + 0x190]
movaps xmm10, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
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