Function at 0x140244270
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
push r15
xor ebx, ebx
mov r10, rdx
test cl, 3
jne 0x140244510
test r10b, 3
jne 0x140244510
test r8b, 3
jne 0x140244510
test cl, 7
jne 0x1402443ef
test r10b, 7
jne 0x1402443ef
test r8b, 7
jne 0x1402443ef
mov rdi, r9
mov esi, ebx
shr rdi, 3
test rdi, rdi
je 0x1402443d5
cmp rdi, 8
jb 0x140244394
lea rax, [r8 - 8]
lea rax, [rax + rdi*8]
lea rdx, [rcx - 8]
lea rdx, [rdx + rdi*8]
cmp rcx, rax
ja 0x140244301
cmp rdx, r8
jae 0x140244394
lea rax, [r10 - 8]
lea rax, [rax + rdi*8]
cmp rcx, rax
ja 0x140244317
cmp rdx, r10
jae 0x140244394
mov rbp, rdi
and rbp, 0xfffffffffffffff8
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov r11, rcx
sub r11, r8
nop
movdqu xmm0, xmmword [rax - 0x10]
add rsi, 8
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 + r11 - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rdx + rax - 0x30]
movdqu xmmword [r11 + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rdx + rax - 0x20]
movdqu xmmword [r11 + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [r11 + rax - 0x20], xmm2
cmp rsi, rbp
jb 0x140244330
cmp rsi, rdi
jae 0x1402443d5
mov r14, r10
lea rdx, [r8 + rsi*8]
mov r15, rcx
sub r14, r8
sub r15, r8
mov r11, rdi
sub r11, rsi
mov rsi, rdi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r14 + rdx]
xor rax, qword [rdx]
mov qword [r15 + rdx], rax
lea rdx, [rdx + 8]
sub r11, 1
jne 0x1402443c0
lea rsi, [rsi*8]
sub r9, rsi
je 0x140244604
add rcx, rsi
add r10, rsi
add r8, rsi
mov rdi, r9
mov rsi, rbx
shr rdi, 2
test rdi, rdi
je 0x1402444f6
cmp rdi, 0x10
jb 0x1402444c4
lea rax, [rdi - 1]
lea rax, [r8 + rax*4]
lea rdx, [rdi - 1]
lea rdx, [rcx + rdx*4]
cmp rcx, rax
ja 0x14024442a
cmp rdx, r8
jae 0x1402444c4
lea rax, [rdi - 1]
lea rax, [r10 + rax*4]
cmp rcx, rax
ja 0x140244440
cmp rdx, r10
jae 0x1402444c4
mov rbp, rdi
and rbp, 0xfffffffffffffff0
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov r11, rcx
sub r11, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add rsi, 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 + r11 - 0x50], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm1, xmmword [rdx + rax - 0x30]
movdqu xmmword [r11 + rax - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rdx + rax - 0x20]
movdqu xmmword [r11 + rax - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [r11 + rax - 0x20], xmm2
cmp rsi, rbp
jb 0x140244460
cmp rsi, rdi
jae 0x1402444f6
mov r14, r10
lea rdx, [r8 + rsi*4]
mov r15, rcx
sub r14, r8
sub r15, r8
mov r11, rdi
sub r11, rsi
mov rsi, rdi
mov eax, dword [r14 + rdx]
xor eax, dword [rdx]
mov dword [r15 + rdx], eax
lea rdx, [rdx + 4]
sub r11, 1
jne 0x1402444e2
lea rsi, [rsi*4]
sub r9, rsi
je 0x140244604
add rcx, rsi
add r10, rsi
add r8, rsi
test r9, r9
je 0x140244604
cmp r9, 0x40
jb 0x1402445d3
lea rdx, [rcx - 1]
lea rax, [r8 - 1]
add rdx, r9
add rax, r9
cmp rcx, rax
ja 0x14024453f
cmp rdx, r8
jae 0x1402445d3
lea rax, [r10 - 1]
add rax, r9
cmp rcx, rax
ja 0x140244554
cmp rdx, r10
jae 0x1402445d3
mov rdi, r9
and rdi, 0xffffffffffffffc0
mov rdx, r10
mov r11, rcx
sub rdx, r8
mov rax, r8
sub r11, r8
nop word [rax + rax]
movdqu xmm0, xmmword [rax]
add rbx, 0x40
movdqu xmm1, xmmword [rdx + rax]
movdqu xmm2, xmmword [rdx + rax + 0x10]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmmword [r11 + rax - 0x40], xmm1
pxor xmm2, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rdx + rax - 0x20]
movdqu xmmword [r11 + rax - 0x30], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x10]
movdqu xmm2, xmmword [rdx + rax - 0x10]
movdqu xmmword [r11 + rax - 0x20], xmm1
pxor xmm2, xmm0
movdqu xmmword [r11 + rax - 0x10], xmm2
cmp rbx, rdi
jb 0x140244570
cmp rbx, r9
jae 0x140244604
sub r10, r8
lea rdx, [rbx + r8]
sub rcx, r8
sub r9, rbx
nop word [rax + rax]
movzx eax, byte [r10 + rdx]
xor al, byte [rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x1402445f0
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
pop r15
pop r14
ret