Function at 0x140060950
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x10
xor r11d, r11d
mov r10, rdx
test cl, 3
jne 0x140060c3d
test r10b, 3
jne 0x140060c3d
test r8b, 3
jne 0x140060c3d
test cl, 7
jne 0x140060acf
test r10b, 7
jne 0x140060acf
test r8b, 7
jne 0x140060acf
mov rdi, r9
mov esi, r11d
shr rdi, 3
test rdi, rdi
je 0x140060ab5
cmp rdi, 8
jb 0x140060a85
lea rax, [r8 - 8]
lea rax, [rax + rdi*8]
lea rdx, [rcx - 8]
lea rdx, [rdx + rdi*8]
cmp rcx, rax
ja 0x1400609e5
cmp rdx, r8
jae 0x140060a85
lea rax, [r10 - 8]
lea rax, [rax + rdi*8]
cmp rcx, rax
ja 0x1400609fb
cmp rdx, r10
jae 0x140060a85
mov r14, rdi
and r14, 0xfffffffffffffff8
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov rbx, rcx
sub rbx, r8
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rsi, 8
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rbx + rax - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rdx + rax - 0x30]
movdqu xmmword [rbx + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rdx + rax - 0x20]
movdqu xmmword [rbx + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rbx + rax - 0x20], xmm2
cmp rsi, r14
jb 0x140060a20
cmp rsi, rdi
jae 0x140060ab5
mov rbp, r10
lea rdx, [r8 + rsi*8]
mov r14, rcx
sub rbp, r8
sub r14, r8
mov rbx, rdi
sub rbx, rsi
mov rsi, rdi
nop
mov rax, qword [rdx + rbp]
xor rax, qword [rdx]
mov qword [rdx + r14], rax
lea rdx, [rdx + 8]
sub rbx, 1
jne 0x140060aa0
lea rsi, [rsi*8]
sub r9, rsi
je 0x140060d76
add rcx, rsi
add r10, rsi
add r8, rsi
mov rdi, r9
mov rbx, r11
shr rdi, 2
test rdi, rdi
je 0x140060c23
cmp rdi, 2
jb 0x140060bf5
lea rax, [rdi - 1]
lea rax, [r8 + rax*4]
lea rdx, [rdi - 1]
lea rdx, [rcx + rdx*4]
cmp rcx, rax
ja 0x140060b0a
cmp rdx, r8
jae 0x140060bf5
lea rax, [rdi - 1]
lea rax, [r10 + rax*4]
cmp rcx, rax
ja 0x140060b20
cmp rdx, r10
jae 0x140060bf5
cmp rdi, 0x10
jb 0x140060bb6
mov rbp, rdi
mov r14, rdi
and ebp, 0xf
sub r14, rbp
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov rsi, rcx
sub rsi, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rbx, 0x10
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rax + rsi - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rax + rdx - 0x30]
movdqu xmmword [rsi + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax + rsi - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rax + rsi - 0x20], xmm2
cmp rbx, r14
jb 0x140060b50
cmp rbp, 2
jb 0x140060bf0
mov rdx, rdi
and rdx, 0xfffffffffffffffe
mov rsi, r10
lea rax, [r8 + rbx*4]
sub rsi, r8
mov rbp, rcx
sub rbp, r8
nop dword [rax]
movq xmm1, qword [rax + rsi]
add rbx, 2
movq xmm0, qword [rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax + rbp - 8], xmm1
cmp rbx, rdx
jb 0x140060bd0
cmp rbx, rdi
jae 0x140060c23
mov rbp, r10
lea rdx, [r8 + rbx*4]
mov r14, rcx
sub rbp, r8
sub r14, r8
mov rsi, rdi
sub rsi, rbx
mov rbx, rdi
nop
mov eax, dword [rdx + rbp]
xor eax, dword [rdx]
mov dword [rdx + r14], eax
lea rdx, [rdx + 4]
sub rsi, 1
jne 0x140060c10
lea rbx, [rbx*4]
sub r9, rbx
je 0x140060d76
add rcx, rbx
add r10, rbx
add r8, rbx
test r9, r9
je 0x140060d76
cmp r9, 8
jb 0x140060d55
lea rdx, [rcx - 1]
lea rax, [r8 - 1]
add rdx, r9
add rax, r9
cmp rcx, rax
ja 0x140060c6c
cmp rdx, r8
jae 0x140060d55
lea rax, [r10 - 1]
add rax, r9
cmp rcx, rax
ja 0x140060c81
cmp rdx, r10
jae 0x140060d55
cmp r9, 0x40
jb 0x140060d16
mov rdi, r9
mov rsi, r9
and edi, 0x3f
sub rsi, rdi
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov rbx, rcx
sub rbx, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r11, 0x40
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rax + rdx]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmmword [rax + rbx - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rax + rdx - 0x30]
movdqu xmmword [rax + rbx - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax + rbx - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rax + rbx - 0x20], xmm2
cmp r11, rsi
jb 0x140060cb0
cmp rdi, 8
jb 0x140060d50
mov rdx, r9
and rdx, 0xfffffffffffffff8
mov rbx, r10
lea rax, [r11 + r8]
sub rbx, r8
mov rdi, rcx
sub rdi, r8
nop dword [rax]
movq xmm1, qword [rax + rbx]
add r11, 8
movq xmm0, qword [rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax + rdi - 8], xmm1
cmp r11, rdx
jb 0x140060d30
cmp r11, r9
jae 0x140060d76
sub r10, r8
lea rdx, [r11 + r8]
sub rcx, r8
sub r9, r11
movzx eax, byte [rdx + r10]
xor al, byte [rdx]
mov byte [rdx + rcx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x140060d62
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
add rsp, 0x10
pop r14
ret