Function at 0x14009d890
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
movdqa xmmword [rsp + 0xb0], xmm8
movdqa xmmword [rsp + 0xa0], xmm7
movaps xmmword [rsp + 0x90], xmm6
mov rax, qword [0x140165040]
xor rax, rsp
mov qword [rsp + 0x88], rax
xor edi, edi
cmp r8, 0x30
ja 0x14009db7e
mov r15, r8
mov r12, rdx
mov rsi, rcx
movaps xmm6, xmmword [0x14013ab10]
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x20], xmm6
lea rdi, [rsp + 0x40]
lea r14, [rsp + 0x30]
lea rbx, [rcx + 0x108]
mov eax, dword [rcx + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rcx + 0x114], eax
mov rax, qword [rcx + 0xf8]
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r8, rsi
call qword [0x140191008]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, r14
mov r8, rsi
call qword [0x140191008]
mov eax, dword [rsi + 0x114]
bswap eax
inc eax
bswap eax
mov dword [rsi + 0x114], eax
mov rax, qword [rsi + 0xf8]
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call qword [0x140191008]
test r15, r15
je 0x14009d9a1
xor eax, eax
nop dword [rax]
movzx ecx, byte [r12 + rax]
xor byte [rsp + rax + 0x20], cl
inc rax
cmp r15, rax
jne 0x14009d990
lea r13, [rsi + 0xf8]
mov ecx, 1
call fcn.140080580
test eax, 0x2000000
jne 0x14009db02
test eax, 0x200
jne 0x14009db29
mov dword [rsi + 0xf0], 0xe
movaps xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x70], xmm0
movups xmmword [rsi], xmm0
movaps xmm0, xmmword [r14]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [r14]
movups xmmword [rsi + 0x10], xmm0
movdqa xmm8, xmmword [rsp + 0x70]
mov ebp, 0x30
lea rdi, [0x14014f350]
movdqa xmm7, xmmword [rsp + 0x60]
lea r14, [rsp + 0x50]
lea r15, [rsp + 0x60]
lea r12, [rsp + 0x70]
nop dword [rax + rax]
movaps xmmword [rsp + 0x50], xmm6
mov rcx, r14
mov rdx, r15
call fcn.1400a3230
movzx eax, byte [rdi]
movd xmm0, eax
pxor xmm0, xmm8
movdqa xmm1, xmmword [rsp + 0x50]
movdqa xmm2, xmm1
psrld xmm2, 8
pslld xmm1, 0x18
por xmm1, xmm2
psrldq xmm1, 0xc
pxor xmm1, xmm0
movdqa xmm0, xmm1
pslldq xmm0, 4
movdqa xmm2, xmm1
pslldq xmm2, 8
pxor xmm2, xmm0
movdqa xmm8, xmm1
pslldq xmm8, 0xc
pxor xmm8, xmm2
pxor xmm8, xmm1
movdqa xmmword [rsp + 0x70], xmm8
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rsi + rbp - 0x10], xmm0
cmp rbp, 0xf0
je 0x14009db50
mov rcx, r14
mov rdx, r12
call fcn.1400a3230
movdqa xmm0, xmmword [rsp + 0x50]
psrldq xmm0, 0xc
pxor xmm7, xmm0
movdqa xmm0, xmm7
pslldq xmm0, 4
movdqa xmm1, xmm7
pslldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm0, xmm7
pslldq xmm0, 0xc
pxor xmm0, xmm1
pxor xmm7, xmm0
movdqa xmmword [rsp + 0x60], xmm7
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rsi + rbp], xmm0
add rbp, 0x20
inc rdi
jmp 0x14009da20
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
call fcn.140003260
lea rax, [0x140001d60]
test r13, r13
je 0x14009db6c
lea rcx, section..text
jmp 0x14009db68
lea rcx, [rsp + 0x20]
mov edx, 0x100
mov r8, rsi
call fcn.140004350
lea rax, [0x140004820]
test r13, r13
je 0x14009db6c
lea rcx, [0x140004520]
jmp 0x14009db68
lea rax, [0x140081720]
test r13, r13
je 0x14009dbbd
lea rcx, [0x1400805e0]
lea rdi, [rsp + 0x40]
mov qword [r13], rcx
mov qword [rsi + 0x100], rax
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
mov edi, 1
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400fb950
mov eax, edi
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdi, [rsp + 0x40]
jmp 0x14009db6c