Function at 0x1400266a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
push rbx
push r14
sub rsp, 0x48
mov r11d, dword [rsp + 0x90]
mov r10, rcx
mov ecx, r9d
mov ebx, edx
call fcn.140009850
mov r14d, eax
test eax, eax
js 0x140026a02
mov qword [rsp + 0x60], rbp
mov edx, 0xff
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x40], r12
lea r12d, [r11 - 1]
and r12d, 7
mov qword [rsp + 0x38], r13
mov ecx, r12d
mov qword [rsp + 0x30], r15
shl edx, cl
test byte [r10], dl
jne 0x1400269df
test r12d, r12d
lea ecx, [rbx - 1]
lea rdi, [r10 + 1]
cmovne ecx, ebx
cmovne rdi, r10
mov esi, ecx
sub esi, eax
sub esi, 1
jns 0x140026729
mov eax, 0xffffff16
jmp 0x1400269e4
mov ebp, dword [rsp + 0x88]
cmp ebp, 0xffffffff
jne 0x14002674d
mov ebp, r14d
cmp r11d, 0x400
jne 0x14002675f
cmp r14d, 0x40
jne 0x14002675f
lea ebp, [r14 - 2]
jmp 0x14002675f
cmp ebp, r14d
jg 0x14002687f
cmp ebp, 0xffffffff
jl 0x14002687f
lea eax, [rbp + 1]
cmp esi, eax
jl 0x14002687f
lea eax, [rcx - 1]
cmp byte [rax + rdi], 0xbc
jne 0x1400269df
mov rax, qword [0x140121b80]
movsxd r13, esi
mov rcx, r13
test rax, rax
je 0x14002678d
call rax
jmp 0x140026792
call fcn.1400a0b88
mov rbx, rax
test rax, rax
jne 0x1400267a2
lea eax, [rbx - 0x7d]
jmp 0x1400269e4
mov ecx, dword [rsp + 0x80]
lea rdx, [rdi + r13]
sub ecx, 1
je 0x1400267de
sub ecx, 1
je 0x1400267d7
sub ecx, 1
je 0x1400267d0
cmp ecx, 0x17
je 0x1400267c9
mov r15d, 0xffffff53
jmp 0x1400267f9
mov ecx, 4
jmp 0x1400267e3
mov ecx, 8
jmp 0x1400267e3
mov ecx, 7
jmp 0x1400267e3
mov ecx, 6
mov r9, rbx
mov dword [rsp + 0x20], esi
mov r8d, r14d
call fcn.140025880
mov r15d, eax
test eax, eax
je 0x14002681f
mov rax, qword [0x140121b70]
mov rcx, rbx
test rax, rax
je 0x140026812
call rax
mov eax, r15d
jmp 0x1400269e4
call fcn.1400a0b74
mov eax, r15d
jmp 0x1400269e4
mov eax, 1
xor edx, edx
mov ecx, r12d
mov r9, rbx
shl al, cl
sub r9, rdi
dec al
and byte [rbx], al
and byte [rdi], al
mov eax, esi
sub eax, ebp
dec eax
movsxd r8, eax
test eax, eax
jle 0x140026860
mov rcx, rdi
movzx eax, byte [rcx]
cmp byte [r9 + rcx], al
jne 0x140026889
inc rcx
inc edx
mov rax, rcx
sub rax, rdi
cmp rax, r8
jl 0x140026847
movsxd rcx, edx
movzx eax, byte [rdi + rcx]
xor al, 1
cmp byte [rcx + rbx], al
je 0x1400268a7
mov rax, qword [0x140121b70]
mov rcx, rbx
test rax, rax
je 0x140026898
call rax
mov eax, 0xffffff06
jmp 0x1400269e4
mov rax, qword [0x140121b70]
mov rcx, rbx
test rax, rax
jne 0x14002687d
call fcn.1400a0b74
mov eax, 0xffffff06
jmp 0x1400269e4
lea eax, [rdx + 1]
mov r8d, esi
sub r8d, eax
mov r10d, eax
mov rdx, r9
cmp eax, esi
jge 0x140026980
cmp r8d, 0x40
jb 0x140026980
movsxd rdx, eax
lea eax, [rsi - 1]
movsxd rcx, eax
lea r11, [rdi + rdx]
lea rax, [rcx + rbx]
lea r15, [rdi + rcx]
lea r12, [rdx + rbx]
cmp r11, rax
ja 0x1400268f2
mov rdx, r9
cmp r15, r12
jae 0x140026980
and r8d, 0x8000003f
jge 0x140026905
dec r8d
or r8d, 0xffffffc0
inc r8d
sub esi, r8d
lea rcx, [r11 + 0x10]
mov rdx, rbx
movsxd r9, esi
sub rdx, rdi
mov r8, 0xfffffffffffffff0
sub r8, rdi
nop
movdqu xmm0, xmmword [rcx - 0x10]
add r10d, 0x40
movdqu xmm1, xmmword [rcx + rdx - 0x10]
movdqu xmm2, xmmword [rcx + rdx]
lea rcx, [rcx + 0x40]
pxor xmm1, xmm0
lea rax, [rcx + r8]
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
movdqu xmm1, xmmword [rcx + rdx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rcx - 0x40], xmm2
movdqu xmm0, xmmword [rcx - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x30], xmm1
movdqu xmm0, xmmword [rcx - 0x20]
movdqu xmm1, xmmword [rcx + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r9
jl 0x140026920
movsxd rax, r10d
cmp rax, r13
jge 0x1400269b0
mov r8, r13
lea rcx, [rdi + rax]
sub r8, rax
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x1400269a0
mov rax, qword [0x140121b70]
mov rcx, rbx
test rax, rax
je 0x1400269c3
call rax
jmp 0x1400269c8
call fcn.1400a0b74
movsxd rax, ebp
sub rdi, rax
mov rax, qword [rsp + 0x70]
add rdi, r13
mov qword [rax], rdi
lea eax, [r14 + rbp]
jmp 0x1400269e4
mov eax, 0xffffff3f
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
mov r15, qword [rsp + 0x30]
add rsp, 0x48
pop r14
pop rbx
ret