Function at 0x140111740
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
push r12
push rdi
push rsi
mov rsi, rcx
push rbx
and rsp, 0xfffffffffffffff0
sub rsp, 0x20
mov r9, qword [rcx + 0xc8]
test r8, r8
je 0x140111a14
mov rbx, rdx
mov rdi, r8
mov r12d, 0x88
mov rax, r12
sub rax, r9
cmp rax, rdi
cmova rax, rdi
test rax, rax
je 0x1401119f9
lea rdx, [rsi + r9]
lea r10, [rbx + 1]
mov r8, rdx
lea rcx, [rax - 1]
sub r8, r10
cmp r8, 0xe
jbe 0x140111a50
cmp rcx, 6
jbe 0x140111a50
cmp rcx, 0xe
jbe 0x140111a6c
movdqu xmm0, xmmword [rdx]
movdqu xmm2, xmmword [rbx]
mov rcx, rax
shr rcx, 4
pxor xmm0, xmm2
movups xmmword [rdx], xmm0
cmp rcx, 1
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmm3, xmmword [rbx + 0x10]
pxor xmm0, xmm3
movups xmmword [rdx + 0x10], xmm0
cmp rcx, 2
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x20]
movdqu xmm4, xmmword [rbx + 0x20]
pxor xmm0, xmm4
movups xmmword [rdx + 0x20], xmm0
cmp rcx, 3
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x30]
movdqu xmm5, xmmword [rbx + 0x30]
pxor xmm0, xmm5
movups xmmword [rdx + 0x30], xmm0
cmp rcx, 4
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x40]
movdqu xmm5, xmmword [rbx + 0x40]
pxor xmm0, xmm5
movups xmmword [rdx + 0x40], xmm0
cmp rcx, 5
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x50]
movdqu xmm4, xmmword [rbx + 0x50]
pxor xmm0, xmm4
movups xmmword [rdx + 0x50], xmm0
cmp rcx, 6
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x60]
movdqu xmm3, xmmword [rbx + 0x60]
pxor xmm0, xmm3
movups xmmword [rdx + 0x60], xmm0
cmp rcx, 7
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x70]
movdqu xmm2, xmmword [rbx + 0x70]
pxor xmm0, xmm2
movups xmmword [rdx + 0x70], xmm0
cmp rcx, 8
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x80]
movdqu xmm5, xmmword [rbx + 0x80]
pxor xmm0, xmm5
movups xmmword [rdx + 0x80], xmm0
cmp rcx, 9
je 0x140111920
movdqu xmm0, xmmword [rdx + 0x90]
movdqu xmm4, xmmword [rbx + 0x90]
pxor xmm0, xmm4
movups xmmword [rdx + 0x90], xmm0
cmp rcx, 0xa
je 0x140111920
movdqu xmm0, xmmword [rdx + 0xa0]
movdqu xmm3, xmmword [rbx + 0xa0]
pxor xmm0, xmm3
movups xmmword [rdx + 0xa0], xmm0
cmp rcx, 0xb
je 0x140111920
movdqu xmm0, xmmword [rdx + 0xb0]
movdqu xmm2, xmmword [rbx + 0xb0]
pxor xmm0, xmm2
movups xmmword [rdx + 0xb0], xmm0
nop dword [rax + rax]
mov rdx, rax
and rdx, 0xfffffffffffffff0
test al, 0xf
je 0x1401119f9
mov r8, rax
sub r8, rdx
lea rcx, [r8 - 1]
cmp rcx, 6
jbe 0x14011196a
lea rcx, [rdx + r9]
movq xmm0, qword [rbx + rdx]
add rcx, rsi
movq xmm1, qword [rcx]
pxor xmm0, xmm1
movq qword [rcx], xmm0
mov rcx, r8
and rcx, 0xfffffffffffffff8
add rdx, rcx
cmp r8, rcx
je 0x1401119f9
lea rcx, [r9 + rdx]
movzx r8d, byte [rbx + rdx]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 1]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx r8d, byte [rbx + rdx + 1]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 2]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx r8d, byte [rbx + rdx + 2]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 3]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx r8d, byte [rbx + rdx + 3]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 4]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx r8d, byte [rbx + rdx + 4]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 5]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx r8d, byte [rbx + rdx + 5]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 6]
cmp rax, rcx
jbe 0x1401119f9
add rcx, r9
movzx edx, byte [rbx + rdx + 6]
xor byte [rsi + rcx], dl
add r9, rax
add rbx, rax
sub rdi, rax
cmp r9, 0x88
je 0x140111a30
test rdi, rdi
jne 0x140111770
mov qword [rsi + 0xc8], r9
lea rsp, [rbp - 0x20]
pop rbx
pop rsi
pop rdi
pop r12
pop rbp
ret
mov rcx, rsi
call fcn.14015cfe0
xor r9d, r9d
test rdi, rdi
jne 0x140111770
jmp 0x140111a14
xor ecx, ecx
nop word [rax + rax]
movzx r8d, byte [rbx + rcx]
xor byte [rdx + rcx], r8b
add rcx, 1
cmp rax, rcx
jne 0x140111a58
jmp 0x1401119f9
mov r8, rax
xor edx, edx
jmp 0x14011193f