Function at 0x14017de40
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rax, rsp
sub rsp, 4
and rsp, 0xfffffffffffffff0
mov qword [rsp], rax
mov rbp, rsp
lea rsp, [rbp - 0x10]
sub rsp, 0x10
movaps xmmword [rsp], xmm6
sub rsp, 0x10
movaps xmmword [rsp], xmm7
mov r10, rcx
mov r11, rdx
push r12
mov r12, r8
push r13
mov r13, r9
push r14
mov r14, qword [rax + 0x30]
push r15
mov r15, qword [rax + 0x38]
push rsi
push rdi
movdqa xmmword [rbp - 0x10], xmm9
movd xmm4, r13d
pxor xmm9, xmm9
mov eax, r12d
mov r13d, r12d
and eax, 0xfffffff0
and r13d, 7
shr eax, 4
je 0x14017dfb7
pxor xmm2, xmm2
pxor xmm3, xmm3
mov ecx, dword [r11]
mov edx, dword [r11 + 0x20]
pinsrw xmm0, word [r10 + rcx*2], 0
pinsrw xmm1, word [r10 + rdx*2], 0
mov ecx, dword [r11 + 4]
mov edx, dword [r11 + 0x24]
pinsrw xmm0, word [r10 + rcx*2], 1
pinsrw xmm1, word [r10 + rdx*2], 1
mov ecx, dword [r11 + 8]
mov edx, dword [r11 + 0x28]
pinsrw xmm0, word [r10 + rcx*2], 2
pinsrw xmm1, word [r10 + rdx*2], 2
mov ecx, dword [r11 + 0xc]
mov edx, dword [r11 + 0x2c]
pinsrw xmm0, word [r10 + rcx*2], 3
pinsrw xmm1, word [r10 + rdx*2], 3
mov ecx, dword [r11 + 0x10]
mov edx, dword [r11 + 0x30]
pinsrw xmm0, word [r10 + rcx*2], 4
pinsrw xmm1, word [r10 + rdx*2], 4
mov ecx, dword [r11 + 0x14]
mov edx, dword [r11 + 0x34]
pinsrw xmm0, word [r10 + rcx*2], 5
pinsrw xmm1, word [r10 + rdx*2], 5
mov ecx, dword [r11 + 0x18]
mov edx, dword [r11 + 0x38]
pinsrw xmm0, word [r10 + rcx*2], 6
pinsrw xmm1, word [r10 + rdx*2], 6
mov ecx, dword [r11 + 0x1c]
mov edx, dword [r11 + 0x3c]
pinsrw xmm0, word [r10 + rcx*2], 7
pinsrw xmm1, word [r10 + rdx*2], 7
pcmpgtw xmm2, xmm0
pcmpgtw xmm3, xmm1
paddw xmm0, xmm2
paddw xmm1, xmm3
pxor xmm0, xmm2
pxor xmm1, xmm3
psrlw xmm0, xmm4
psrlw xmm1, xmm4
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqa xmmword [r14], xmm0
movdqa xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14 + 0x80], xmm2
movdqa xmmword [r14 + 0x90], xmm3
add r14, 0x20
add r11, 0x40
dec eax
jne 0x14017deab
test r12d, 8
je 0x14017e179
test r12d, 7
je 0x14017e0f3
pxor xmm2, xmm2
pxor xmm3, xmm3
pxor xmm1, xmm1
mov ecx, dword [r11]
mov edx, dword [r11 + 0x20]
pinsrw xmm0, word [r10 + rcx*2], 0
pinsrw xmm1, word [r10 + rdx*2], 0
mov ecx, dword [r11 + 4]
pinsrw xmm0, word [r10 + rcx*2], 1
mov ecx, dword [r11 + 8]
pinsrw xmm0, word [r10 + rcx*2], 2
mov ecx, dword [r11 + 0xc]
pinsrw xmm0, word [r10 + rcx*2], 3
mov ecx, dword [r11 + 0x10]
pinsrw xmm0, word [r10 + rcx*2], 4
mov ecx, dword [r11 + 0x14]
pinsrw xmm0, word [r10 + rcx*2], 5
mov ecx, dword [r11 + 0x18]
pinsrw xmm0, word [r10 + rcx*2], 6
mov ecx, dword [r11 + 0x1c]
pinsrw xmm0, word [r10 + rcx*2], 7
cmp r13d, 2
jl 0x14017e0a5
mov edx, dword [r11 + 0x24]
pinsrw xmm1, word [r10 + rdx*2], 1
cmp r13d, 3
jl 0x14017e0a5
mov edx, dword [r11 + 0x28]
pinsrw xmm1, word [r10 + rdx*2], 2
cmp r13d, 4
jl 0x14017e0a5
mov edx, dword [r11 + 0x2c]
pinsrw xmm1, word [r10 + rdx*2], 3
cmp r13d, 5
jl 0x14017e0a5
mov edx, dword [r11 + 0x30]
pinsrw xmm1, word [r10 + rdx*2], 4
cmp r13d, 6
jl 0x14017e0a5
mov edx, dword [r11 + 0x34]
pinsrw xmm1, word [r10 + rdx*2], 5
cmp r13d, 7
jl 0x14017e0a5
mov edx, dword [r11 + 0x38]
pinsrw xmm1, word [r10 + rdx*2], 6
pcmpgtw xmm2, xmm0
pcmpgtw xmm3, xmm1
paddw xmm0, xmm2
paddw xmm1, xmm3
pxor xmm0, xmm2
pxor xmm1, xmm3
psrlw xmm0, xmm4
psrlw xmm1, xmm4
pxor xmm2, xmm0
pxor xmm3, xmm1
movdqa xmmword [r14], xmm0
movdqa xmmword [r14 + 0x10], xmm1
movdqa xmmword [r14 + 0x80], xmm2
movdqa xmmword [r14 + 0x90], xmm3
add r14, 0x20
jmp 0x14017e217
pxor xmm2, xmm2
mov ecx, dword [r11]
pinsrw xmm0, word [r10 + rcx*2], 0
mov ecx, dword [r11 + 4]
pinsrw xmm0, word [r10 + rcx*2], 1
mov ecx, dword [r11 + 8]
pinsrw xmm0, word [r10 + rcx*2], 2
mov ecx, dword [r11 + 0xc]
pinsrw xmm0, word [r10 + rcx*2], 3
mov ecx, dword [r11 + 0x10]
pinsrw xmm0, word [r10 + rcx*2], 4
mov ecx, dword [r11 + 0x14]
pinsrw xmm0, word [r10 + rcx*2], 5
mov ecx, dword [r11 + 0x18]
pinsrw xmm0, word [r10 + rcx*2], 6
mov ecx, dword [r11 + 0x1c]
pinsrw xmm0, word [r10 + rcx*2], 7
pcmpgtw xmm2, xmm0
paddw xmm0, xmm2
pxor xmm0, xmm2
psrlw xmm0, xmm4
pxor xmm2, xmm0
movdqa xmmword [r14], xmm0
movdqa xmmword [r14 + 0x80], xmm2
add r14, 0x10
jmp 0x14017e217
pxor xmm2, xmm2
pxor xmm0, xmm0
mov edx, dword [r11]
pinsrw xmm0, word [r10 + rdx*2], 0
cmp r13d, 2
jl 0x14017e1f1
mov edx, dword [r11 + 4]
pinsrw xmm0, word [r10 + rdx*2], 1
cmp r13d, 3
jl 0x14017e1f1
mov edx, dword [r11 + 8]
pinsrw xmm0, word [r10 + rdx*2], 2
cmp r13d, 4
jl 0x14017e1f1
mov edx, dword [r11 + 0xc]
pinsrw xmm0, word [r10 + rdx*2], 3
cmp r13d, 5
jl 0x14017e1f1
mov edx, dword [r11 + 0x10]
pinsrw xmm0, word [r10 + rdx*2], 4
cmp r13d, 6
jl 0x14017e1f1
mov edx, dword [r11 + 0x14]
pinsrw xmm0, word [r10 + rdx*2], 5
cmp r13d, 7
jl 0x14017e1f1
mov edx, dword [r11 + 0x18]
pinsrw xmm0, word [r10 + rdx*2], 6
pcmpgtw xmm2, xmm0
paddw xmm0, xmm2
pxor xmm0, xmm2
psrlw xmm0, xmm4
pxor xmm2, xmm0
movdqa xmmword [r14], xmm0
movdqa xmmword [r14 + 0x80], xmm2
add r14, 0x10
mov eax, r12d
add eax, 7
and eax, 0xfffffff8
shr eax, 3
sub eax, 8
je 0x14017e23d
nop
nop
nop
nop
nop
nop
nop
nop
movdqa xmmword [r14], xmm9
add r14, 0x10
inc eax
jne 0x14017e230
sub r14, 0x80
movdqa xmm0, xmmword [r14]
movdqa xmm1, xmmword [r14 + 0x10]
movdqa xmm2, xmmword [r14 + 0x20]
movdqa xmm3, xmmword [r14 + 0x30]
movdqa xmm4, xmmword [r14 + 0x40]
movdqa xmm5, xmmword [r14 + 0x50]
movdqa xmm6, xmmword [r14 + 0x60]
movdqa xmm7, xmmword [r14 + 0x70]
pcmpeqw xmm0, xmm9
pcmpeqw xmm1, xmm9
pcmpeqw xmm2, xmm9
pcmpeqw xmm3, xmm9
pcmpeqw xmm4, xmm9
pcmpeqw xmm5, xmm9
pcmpeqw xmm6, xmm9
pcmpeqw xmm7, xmm9
packsswb xmm0, xmm1
packsswb xmm2, xmm3
packsswb xmm4, xmm5
packsswb xmm6, xmm7
pmovmskb eax, xmm0
pmovmskb ecx, xmm2
pmovmskb edx, xmm4
pmovmskb esi, xmm6
shl rcx, 0x10
shl rdx, 0x20
shl rsi, 0x30
or rax, rcx
or rdx, rsi
or rax, rdx
not rax
mov qword [r15], rax
movdqa xmm9, xmmword [rbp - 0x10]
pop rdi
pop rsi
pop r15
pop r14
pop r13
pop r12
movaps xmm7, xmmword [rsp]
add rsp, 0x10
movaps xmm6, xmmword [rsp]
add rsp, 0x10
mov rsp, rbp
pop rsp
pop rbp
ret