Function at 0x140282430
Capabilities:
Encode data using xor

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 0x140282794
mov rbx, r9
mov rsi, rcx
mov rdi, qword [rsp + 0x200]
movaps xmm0, xmmword [0x14030e330]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x30], xmm0
movaps xmmword [rsp + 0x20], xmm0
movaps xmm0, xmmword [0x14030e340]
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
test r8, r8
je 0x14028260b
cmp r8, 8
jae 0x140282506
xor eax, eax
jmp 0x1402825f0
cmp r8, 0x10
jae 0x140282513
xor eax, eax
jmp 0x1402825ba
mov rax, r8
and rax, 0xfffffffffffffff0
movups xmm0, xmmword [rdx]
movaps xmm1, xmmword [rsp + 0x20]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x20], xmm1
xorps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0xa0], xmm0
cmp rax, 0x10
je 0x1402825af
movups xmm0, xmmword [rdx + 0x10]
movaps xmm1, xmmword [rsp + 0x30]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x30], xmm1
xorps xmm0, xmmword [rsp + 0xb0]
movaps xmmword [rsp + 0xb0], xmm0
cmp rax, 0x20
je 0x1402825af
movups xmm0, xmmword [rdx + 0x20]
movaps xmm1, xmmword [rsp + 0x40]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x40], xmm1
xorps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0xc0], xmm0
cmp rax, 0x30
je 0x1402825af
movups xmm0, xmmword [rdx + 0x30]
movaps xmm1, xmmword [rsp + 0x50]
xorps xmm1, xmm0
movaps xmmword [rsp + 0x50], xmm1
xorps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0xd0], xmm0
cmp rax, r8
je 0x14028260b
test r8b, 8
je 0x1402825f0
mov rcx, rax
mov rax, r8
and rax, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r9, qword [rdx + rcx]
xor qword [rsp + rcx + 0x20], r9
xor qword [rsp + rcx + 0xa0], r9
add rcx, 8
cmp rax, rcx
jne 0x1402825d0
cmp rax, r8
je 0x14028260b
nop
movzx ecx, byte [rdx + rax]
xor byte [rsp + rax + 0x20], cl
xor byte [rsp + rax + 0xa0], cl
lea rcx, [rax + 1]
mov rax, rcx
cmp r8, rcx
jne 0x1402825f0
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
movaps xmm6, xmmword [0x14030e350]
movups xmmword [rsi + 0x10], xmm6
movaps xmm7, xmmword [0x14030e360]
movups xmmword [rsi], xmm7
mov qword [rsi + 0x20], 1
lea rdx, [rsp + 0x20]
mov r8d, 1
mov rcx, rsi
call fcn.140273ba0
mov byte [rsi + 0x68], 0
cmp rdi, 0x3f
ja 0x140282680
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
jmp 0x1402826b6
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.140273ba0
mov rcx, r12
mov rdx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rdi, rbp
mov byte [rsi + 0x68], dil
xorps xmm8, xmm8
movaps xmmword [rsp + 0x150], xmm8
movaps xmmword [rsp + 0x140], xmm8
movaps xmmword [rsp + 0x130], xmm8
movaps xmmword [rsp + 0x120], xmm8
lea rdx, [rsp + 0x120]
mov r8d, 0x40
mov rcx, rsi
call fcn.1402822d0
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], xmm6
movups xmmword [rsi], xmm7
mov qword [rsi + 0x20], 1
lea rdx, [rsp + 0xa0]
mov r8d, 1
mov rcx, rsi
call fcn.140273ba0
movaps xmm0, xmmword [rsp + 0x120]
movaps xmm1, xmmword [rsp + 0x130]
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.1402822d0
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._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_snow_0.9.6_src_types.rs
mov edx, 0x2f
call fcn.140137ef0
ud2