Function at 0x1800096c0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
lea rbp, [r11 - 0x108]
sub rsp, 0x1e8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rdi, qword [rbp + 0x130]
mov rsi, r8
mov qword [r11 + 0x20], r12
mov r12, rcx
mov qword [r11 - 0x30], r14
lea rcx, [rsp + 0x30]
mov qword [r11 - 0x38], r15
mov r15, rdx
mov qword [rsp + 0x20], r8
xor edx, edx
mov r8d, 0xc8
call fcn.180082af0
mov r14d, 0x88
cmp r15, r14
jb 0x180009877
mov qword [rsp + 0x1e0], r13
movabs rax, 0xf0f0f0f0f0f0f0f1
mul r15
mov rsi, r12
mov r13, rdx
shr r13, 7
nop word [rax + rax]
xor ecx, ecx
lea rax, [rsi + 0x80]
lea rdx, [rsp + 0x30]
cmp rdx, rax
ja 0x180009770
lea rax, [rbp - 0x50]
cmp rax, r12
jae 0x1800097b0
nop dword [rax]
movdqu xmm0, xmmword [rsp + rcx*8 + 0x30]
movdqu xmm1, xmmword [rsi + rcx*8]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx*8 + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rcx*8 + 0x40]
movdqu xmm1, xmmword [rsi + rcx*8 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx*8 + 0x40], xmm1
add rcx, 4
cmp rcx, 0x10
jb 0x180009770
cmp rcx, 0x11
jae 0x1800097c2
nop dword [rax + rax]
mov rax, qword [rsi + rcx*8]
xor qword [rsp + rcx*8 + 0x30], rax
inc rcx
cmp rcx, 0x11
jb 0x1800097b0
xor ebx, ebx
test rbx, rbx
je 0x180009840
mov rax, qword [rdi]
cmp qword [rax], 0
jne 0x1800097e5
xor edx, edx
lea rcx, [rbp]
mov r8d, 0xc0
call fcn.180082af0
jmp 0x1800097f6
lea r8, [rbp]
mov rcx, rdi
lea rdx, [rsp + 0x30]
call fcn.180009540
xor eax, eax
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rbp + rax]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x40]
movdqu xmm1, xmmword [rbp + rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x40], xmm1
add rax, 0x20
cmp rax, 0xc0
jb 0x180009800
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.18007a9f0
inc rbx
cmp rbx, 0x18
jne 0x1800097c4
sub r15, r14
add r12, r14
add rsi, r14
sub r13, 1
jne 0x180009750
mov rsi, qword [rsp + 0x20]
mov r13, qword [rsp + 0x1e0]
mov r8, r15
lea rcx, [rbp]
mov rdx, r12
call fcn.180082090
mov byte [rbp + r15], 1
lea rcx, [rbp]
inc r15
xor edx, edx
sub r14, r15
add rcx, r15
mov r8, r14
call fcn.180082af0
or byte [rbp + 0x87], 0x80
mov r15, qword [rsp + 0x1d0]
xor ecx, ecx
mov r14, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x228]
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rsp + rcx*8 + 0x30]
movdqu xmm1, xmmword [rbp + rcx*8]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx*8 + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rcx*8 + 0x40]
movdqu xmm1, xmmword [rbp + rcx*8 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rsp + rcx*8 + 0x40], xmm1
add rcx, 4
cmp rcx, 0x10
jb 0x1800098d0
cmp rcx, 0x11
jae 0x180009923
nop dword [rax]
mov rax, qword [rbp + rcx*8]
xor qword [rsp + rcx*8 + 0x30], rax
inc rcx
cmp rcx, 0x11
jb 0x180009910
xor ebx, ebx
test rbx, rbx
je 0x1800099a0
mov rax, qword [rdi]
cmp qword [rax], 0
jne 0x180009946
xor edx, edx
lea rcx, [rbp]
mov r8d, 0xc0
call fcn.180082af0
jmp 0x180009957
lea r8, [rbp]
mov rcx, rdi
lea rdx, [rsp + 0x30]
call fcn.180009540
xor eax, eax
nop dword [rax]
movdqu xmm0, xmmword [rsp + rax + 0x30]
movdqu xmm1, xmmword [rbp + rax]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x30], xmm1
movdqu xmm0, xmmword [rsp + rax + 0x40]
movdqu xmm1, xmmword [rbp + rax + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rsp + rax + 0x40], xmm1
add rax, 0x20
cmp rax, 0xc0
jb 0x180009960
nop dword [rax + rax]
lea rcx, [rsp + 0x30]
call fcn.18007a9f0
inc rbx
cmp rbx, 0x18
jne 0x180009925
movaps xmm0, xmmword [rsp + 0x30]
xor eax, eax
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1800810a0
add rsp, 0x1e8
pop rdi
pop rsi
pop rbx
pop rbp
ret