Function at 0x140112580
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 0x140112854
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 0x140112839
lea rdx, [rsi + r9]
lea r10, [rbx + 1]
mov r8, rdx
lea rcx, [rax - 1]
sub r8, r10
cmp r8, 0xe
jbe 0x140112890
cmp rcx, 6
jbe 0x140112890
cmp rcx, 0xe
jbe 0x1401128ac
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 0x140112760
movdqu xmm0, xmmword [rdx + 0x10]
movdqu xmm3, xmmword [rbx + 0x10]
pxor xmm0, xmm3
movups xmmword [rdx + 0x10], xmm0
cmp rcx, 2
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x20]
movdqu xmm4, xmmword [rbx + 0x20]
pxor xmm0, xmm4
movups xmmword [rdx + 0x20], xmm0
cmp rcx, 3
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x30]
movdqu xmm5, xmmword [rbx + 0x30]
pxor xmm0, xmm5
movups xmmword [rdx + 0x30], xmm0
cmp rcx, 4
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x40]
movdqu xmm5, xmmword [rbx + 0x40]
pxor xmm0, xmm5
movups xmmword [rdx + 0x40], xmm0
cmp rcx, 5
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x50]
movdqu xmm4, xmmword [rbx + 0x50]
pxor xmm0, xmm4
movups xmmword [rdx + 0x50], xmm0
cmp rcx, 6
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x60]
movdqu xmm3, xmmword [rbx + 0x60]
pxor xmm0, xmm3
movups xmmword [rdx + 0x60], xmm0
cmp rcx, 7
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x70]
movdqu xmm2, xmmword [rbx + 0x70]
pxor xmm0, xmm2
movups xmmword [rdx + 0x70], xmm0
cmp rcx, 8
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x80]
movdqu xmm5, xmmword [rbx + 0x80]
pxor xmm0, xmm5
movups xmmword [rdx + 0x80], xmm0
cmp rcx, 9
je 0x140112760
movdqu xmm0, xmmword [rdx + 0x90]
movdqu xmm4, xmmword [rbx + 0x90]
pxor xmm0, xmm4
movups xmmword [rdx + 0x90], xmm0
cmp rcx, 0xa
je 0x140112760
movdqu xmm0, xmmword [rdx + 0xa0]
movdqu xmm3, xmmword [rbx + 0xa0]
pxor xmm0, xmm3
movups xmmword [rdx + 0xa0], xmm0
cmp rcx, 0xb
je 0x140112760
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 0x140112839
mov r8, rax
sub r8, rdx
lea rcx, [r8 - 1]
cmp rcx, 6
jbe 0x1401127aa
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 0x140112839
lea rcx, [r9 + rdx]
movzx r8d, byte [rbx + rdx]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 1]
cmp rax, rcx
jbe 0x140112839
add rcx, r9
movzx r8d, byte [rbx + rdx + 1]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 2]
cmp rax, rcx
jbe 0x140112839
add rcx, r9
movzx r8d, byte [rbx + rdx + 2]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 3]
cmp rax, rcx
jbe 0x140112839
add rcx, r9
movzx r8d, byte [rbx + rdx + 3]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 4]
cmp rax, rcx
jbe 0x140112839
add rcx, r9
movzx r8d, byte [rbx + rdx + 4]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 5]
cmp rax, rcx
jbe 0x140112839
add rcx, r9
movzx r8d, byte [rbx + rdx + 5]
xor byte [rsi + rcx], r8b
lea rcx, [rdx + 6]
cmp rax, rcx
jbe 0x140112839
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 0x140112870
test rdi, rdi
jne 0x1401125b0
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.14015de20
xor r9d, r9d
test rdi, rdi
jne 0x1401125b0
jmp 0x140112854
xor ecx, ecx
nop word [rax + rax]
movzx r8d, byte [rbx + rcx]
xor byte [rdx + rcx], r8b
add rcx, 1
cmp rax, rcx
jne 0x140112898
jmp 0x140112839
mov r8, rax
xor edx, edx
jmp 0x14011277f