Function at 0x140068650
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
movdqa xmmword [rsp + 0xa0], xmm9
movdqa xmmword [rsp + 0x90], xmm8
movdqa xmmword [rsp + 0x80], xmm7
movdqa xmmword [rsp + 0x70], xmm6
mov rbx, rcx
movzx ebp, byte [rcx + 0x24]
mov byte [rcx + 0x27], bpl
mov rdi, qword [rdx + 8]
mov qword [rsp + 0x38], rdx
mov r12, qword [rdx + 0x10]
movzx ecx, word [rcx + 0x48]
test r12, r12
je 0x1400686b8
cmp r12, 0x10
jae 0x1400686d5
xor r8d, r8d
mov rax, rdi
jmp 0x1400687e5
xor r14d, r14d
movzx eax, cx
movzx esi, bpl
add rsi, rax
jne 0x140068835
mov eax, 2
jmp 0x14006885d
mov rdx, r12
and rdx, 0xfffffffffffffff0
lea rax, [rdi + rdx]
movzx ecx, cx
movd xmm3, ecx
pxor xmm4, xmm4
xor ecx, ecx
pcmpeqd xmm6, xmm6
movdqa xmm7, xmmword [0x1401d6470]
pxor xmm5, xmm5
pxor xmm2, xmm2
pxor xmm1, xmm1
nop word cs:[rax + rax]
movq xmm8, qword [rdi + rcx]
movq xmm0, qword [rdi + rcx + 8]
movdqa xmm9, xmm8
punpcklbw xmm9, xmm4
paddw xmm2, xmm9
movdqa xmm9, xmm0
punpcklbw xmm9, xmm4
paddw xmm1, xmm9
pcmpeqb xmm8, xmm6
pxor xmm8, xmm6
punpcklbw xmm8, xmm8
pand xmm8, xmm7
paddw xmm3, xmm8
movdqa xmm8, xmm0
pcmpeqb xmm8, xmm6
pxor xmm8, xmm6
punpcklbw xmm8, xmm8
pand xmm8, xmm7
paddw xmm5, xmm8
add rcx, 0x10
cmp rdx, rcx
jne 0x140068710
paddw xmm5, xmm3
pshufd xmm3, xmm5, 0xee
paddw xmm3, xmm5
pshufd xmm4, xmm3, 0x55
paddw xmm4, xmm3
movdqa xmm3, xmm4
psrld xmm3, 0x10
paddw xmm3, xmm4
movd ecx, xmm3
paddw xmm1, xmm2
pshufd xmm2, xmm1, 0xee
paddw xmm2, xmm1
pshufd xmm1, xmm2, 0x55
paddw xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0x10
paddw xmm2, xmm1
movd r8d, xmm2
cmp r12, rdx
jne 0x1400687e5
punpcklbw xmm0, xmm0
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
pxor xmm0, xmm1
pextrw ebp, xmm0, 7
jmp 0x140068812
lea rdx, [rdi + r12]
nop dword [rax]
movzx r9d, byte [rax]
inc rax
movzx r10d, r9w
xor ebp, ebp
cmp r10d, 0xff
setne bpl
add r8d, r9d
add ecx, ebp
cmp rax, rdx
jne 0x1400687f0
not bpl
and bpl, 1
mov word [rbx + 0x48], cx
mov byte [rbx + 0x27], bpl
movzx r14d, r8w
movzx eax, cx
movzx esi, bpl
add rsi, rax
je 0x1400686cb
lea r15, [rsi*4]
mov rax, qword [0x14024d438]
movzx eax, byte [rax]
mov edx, 2
mov rcx, r15
call sym.__rust_alloc
test rax, rax
je 0x1400689c1
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
test r12, r12
je 0x1400688dc
xor ebx, ebx
lea r15, [rsp + 0x20]
xor r13d, r13d
xor r14d, r14d
xor esi, esi
jmp 0x1400688b9
mov rax, qword [rsp + 0x28]
mov word [rax + r13*4], si
mov word [rax + r13*4 + 2], r14w
add r14d, esi
inc r13
mov qword [rsp + 0x30], r13
mov esi, r14d
xor r14d, r14d
inc rbx
cmp r12, rbx
je 0x1400688e4
movzx eax, byte [rdi + rbx]
movzx ecx, ax
add r14d, eax
cmp ecx, 0xff
je 0x1400688b1
cmp r13, qword [rsp + 0x20]
jne 0x140068890
mov rcx, r15
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::hda611d16dfd48780
jmp 0x140068890
xor r13d, r13d
xor esi, esi
xor r14d, r14d
test bpl, bpl
je 0x140068912
cmp r13, qword [rsp + 0x20]
jne 0x1400688fa
lea rcx, [rsp + 0x20]
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::hda611d16dfd48780
mov rax, qword [rsp + 0x28]
mov word [rax + r13*4], si
mov word [rax + r13*4 + 2], r14w
inc r13
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x50], xmm0
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rdi]
test rdx, rdx
je 0x140068946
mov rcx, qword [rdi + 8]
shl rdx, 2
mov r8d, 2
call sym.__rust_dealloc
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rdi], xmm0
lea rsi, [rdi + 0x28]
mov rdx, qword [rdi + 0x28]
test rdx, rdx
mov rbx, qword [rsp + 0x40]
je 0x140068978
mov rcx, qword [rdi + 0x30]
mov r8d, 1
call sym.__rust_dealloc
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rcx]
movups xmmword [rsi], xmm0
mov rax, rbx
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, 2
mov rdx, r15
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
ud2