Function at 0x140074950
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
xor ebx, ebx
mov r10, rdx
test cl, 3
jne 0x140074bef
test r10b, 3
jne 0x140074bef
test r8b, 3
jne 0x140074bef
test cl, 7
jne 0x140074acf
test r10b, 7
jne 0x140074acf
test r8b, 7
jne 0x140074acf
mov rdi, r9
mov esi, ebx
shr rdi, 3
test rdi, rdi
je 0x140074ab5
cmp rdi, 8
jb 0x140074a74
lea rax, [r8 - 8]
lea rax, [rax + rdi*8]
lea rdx, [rcx - 8]
lea rdx, [rdx + rdi*8]
cmp rcx, rax
ja 0x1400749df
cmp rdx, r8
jae 0x140074a74
lea rax, [r10 - 8]
lea rax, [rax + rdi*8]
cmp rcx, rax
ja 0x1400749f5
cmp rdx, r10
jae 0x140074a74
mov rbp, rdi
and rbp, 0xfffffffffffffff8
mov rdx, r10
lea rax, [r8 + 0x10]
sub rdx, r8
mov r11, rcx
sub r11, r8
nop dword [rax]
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 [rax + rdx - 0x30]
movdqu xmmword [rax + r11 - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax + r11 - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rax + r11 - 0x20], xmm2
cmp rsi, rbp
jb 0x140074a10
cmp rsi, rdi
jae 0x140074ab5
mov r14, r10
lea rdx, [r8 + rsi*8]
mov rbp, rcx
sub r14, r8
sub rbp, 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 [rdx + rbp], rax
lea rdx, [rdx + 8]
sub r11, 1
jne 0x140074aa0
lea rsi, [rsi*8]
sub r9, rsi
je 0x140074ce4
add rcx, rsi
add r10, rsi
add r8, rsi
mov rdi, r9
mov rsi, rbx
shr rdi, 2
test rdi, rdi
je 0x140074bd5
cmp rdi, 0x10
jb 0x140074ba4
lea rax, [rdi - 1]
lea rax, [r8 + rax*4]
lea rdx, [rdi - 1]
lea rdx, [rcx + rdx*4]
cmp rcx, rax
ja 0x140074b0a
cmp rdx, r8
jae 0x140074ba4
lea rax, [rdi - 1]
lea rax, [r10 + rax*4]
cmp rcx, rax
ja 0x140074b20
cmp rdx, r10
jae 0x140074ba4
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 [rax + rdx - 0x30]
movdqu xmmword [rax + r11 - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax + r11 - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rax + r11 - 0x20], xmm2
cmp rsi, rbp
jb 0x140074b40
cmp rsi, rdi
jae 0x140074bd5
mov r14, r10
lea rdx, [r8 + rsi*4]
mov rbp, rcx
sub r14, r8
sub rbp, r8
mov r11, rdi
sub r11, rsi
mov rsi, rdi
mov eax, dword [r14 + rdx]
xor eax, dword [rdx]
mov dword [rdx + rbp], eax
lea rdx, [rdx + 4]
sub r11, 1
jne 0x140074bc2
lea rsi, [rsi*4]
sub r9, rsi
je 0x140074ce4
add rcx, rsi
add r10, rsi
add r8, rsi
test r9, r9
je 0x140074ce4
cmp r9, 0x40
jb 0x140074cb4
lea rdx, [rcx - 1]
lea rax, [r8 - 1]
add rdx, r9
add rax, r9
cmp rcx, rax
ja 0x140074c1e
cmp rdx, r8
jae 0x140074cb4
lea rax, [r10 - 1]
add rax, r9
cmp rcx, rax
ja 0x140074c33
cmp rdx, r10
jae 0x140074cb4
mov rdi, r9
and rdi, 0xffffffffffffffc0
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 rbx, 0x40
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 [rax + rdx - 0x30]
movdqu xmmword [rax + r11 - 0x40], xmm2
pxor xmm1, xmm0
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rax + rdx - 0x20]
movdqu xmmword [rax + r11 - 0x30], xmm1
pxor xmm2, xmm0
movdqu xmmword [rax + r11 - 0x20], xmm2
cmp rbx, rdi
jb 0x140074c50
cmp rbx, r9
jae 0x140074ce4
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 [rdx + rcx], al
lea rdx, [rdx + 1]
sub r9, 1
jne 0x140074cd0
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret