Function at 0x14006b3e0
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 0x14006b448
cmp r12, 0x10
jae 0x14006b465
xor r8d, r8d
mov rax, rdi
jmp 0x14006b575
xor r14d, r14d
movzx eax, cx
movzx esi, bpl
add rsi, rax
jne 0x14006b5c5
mov eax, 2
jmp 0x14006b5ed
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 [0x1402b4d00]
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 0x14006b4a0
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 0x14006b575
punpcklbw xmm0, xmm0
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
pxor xmm0, xmm1
pextrw ebp, xmm0, 7
jmp 0x14006b5a2
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 0x14006b580
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 0x14006b45b
lea r15, [rsi*4]
mov rax, qword [0x14032b618]
movzx eax, byte [rax]
mov edx, 2
mov rcx, r15
call fcn.14002f790
test rax, rax
je 0x14006b751
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 0x14006b66c
xor ebx, ebx
lea r15, [rsp + 0x20]
xor r13d, r13d
xor r14d, r14d
xor esi, esi
jmp 0x14006b649
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 0x14006b674
movzx eax, byte [rdi + rbx]
movzx ecx, ax
add r14d, eax
cmp ecx, 0xff
je 0x14006b641
cmp r13, qword [rsp + 0x20]
jne 0x14006b620
mov rcx, r15
call fcn.14006d860
jmp 0x14006b620
xor r13d, r13d
xor esi, esi
xor r14d, r14d
test bpl, bpl
je 0x14006b6a2
cmp r13, qword [rsp + 0x20]
jne 0x14006b68a
lea rcx, [rsp + 0x20]
call fcn.14006d860
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 0x14006b6d6
mov rcx, qword [rdi + 8]
shl rdx, 2
mov r8d, 2
call fcn.14002f7a0
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 0x14006b708
mov rcx, qword [rdi + 0x30]
mov r8d, 1
call fcn.14002f7a0
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 fcn.14019eb00
ud2