Function at 0x1400026e5
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x48
mov edi, edx
mov r14, qword [rsp + 0xb0]
mov r12, rcx
mov qword [rsp + 0x30], r8
lea rcx, [rsp + 0x40]
mov r8d, 4
xor ebp, ebp
mov qword [rcx - 0x18], r9
lea rdx, [r14 + 0xc0]
call fcn.1400029d5
mov r8d, 4
lea rdx, [r14 + 0x3c]
lea rcx, [rsp + 0x44]
call fcn.1400029d5
xor ebx, ebx
xor esi, esi
xor r8d, r8d
xor eax, eax
lea rcx, [r12 + rdi]
add rdi, 0xfffffffffffffff8
mov edx, edi
add edx, 0xfffffff8
je 0x140002973
mov qword [rsp + 0x38], rsi
mov r15, r12
mov r12, rcx
mov edi, r8d
xor r9d, r9d
lea rsi, [r15 + rax]
mov r10b, byte [rsi + r9 + 1]
mov r11b, byte [rsp + r9 + 0x40]
cmp r10b, r11b
je 0x140002782
cmp r11b, 0x3f
jne 0x1400029ba
inc r9d
cmp r9d, 8
jb 0x140002769
lea r15, [r15 + rax + 1]
test r15, r15
je 0x140002965
mov edx, dword [rsi + 1]
mov r9d, edx
shr r9d, 8
mov eax, edx
movzx r9d, r9b
mov esi, edx
shr eax, 0x10
shl esi, 0x18
shl r9d, 0x10
movzx eax, al
add esi, r9d
shl eax, 8
lea r9, [r15 + 8]
add esi, eax
shr edx, 0x18
mov r10d, dword [r9]
add esi, edx
cmp r10d, dword [r14 + 0xa4]
jne 0x1400027de
test rbx, rbx
je 0x140002904
test rbx, rbx
je 0x1400029a3
lea r13d, [rbp + rsi]
cmp r13d, edi
ja 0x140002986
mov rdx, r9
add rbp, rbx
mov r8d, esi
mov rcx, rbp
call fcn.1400029d5
mov rdx, r12
mov ebp, r13d
sub rdx, r15
xor eax, eax
add rdx, 0xfffffffffffffff8
add edx, 0xfffffff8
jne 0x140002762
mov rsi, qword [rsp + 0x38]
mov edx, dword [rsi + 8]
mov eax, dword [rsi + 4]
test dl, 3
je 0x140002835
dec edx
test dl, 3
jne 0x14000282e
test edx, edx
jbe 0x1400028dd
lea esi, [rdx + 3]
sar esi, 1
shr esi, 0x1e
lea edi, [rsi + rdx + 3]
sar edi, 2
movsxd r8, edi
cmp r8, 4
jl 0x140002900
lea r9, [rbx + 0x10]
and r9, 0xf
test r9d, r9d
je 0x14000287e
test r9d, 3
jne 0x140002900
neg r9d
add r9d, 0x10
shr r9d, 2
mov esi, r9d
lea rdx, [rsi + 4]
cmp r8, rdx
jl 0x140002900
mov edx, edi
sub edx, r9d
and edx, 3
sub edi, edx
xor edx, edx
movsxd rdi, edi
test r9d, r9d
jbe 0x1400028aa
xor dword [rbx + rdx*4 + 0x10], eax
inc rdx
cmp rdx, rsi
jb 0x14000289e
movd xmm0, eax
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [rbx + rsi*4 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [rbx + rsi*4 + 0x10], xmm1
add rsi, 4
cmp rsi, rdi
jb 0x1400028b3
cmp rdi, r8
jae 0x1400028dd
xor dword [rbx + rdi*4 + 0x10], eax
inc rdi
cmp rdi, r8
jb 0x1400028d1
mov rax, qword [rsp + 0x30]
test ebp, ebp
mov qword [rax], rbx
mov eax, 0
seta al
add rsp, 0x48
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
xor edi, edi
jmp 0x1400028cc
mov rax, qword [rsp + 0x28]
mov edi, dword [r9 + 8]
add edi, 0x10
mov qword [rsp + 0x38], r9
mov rax, qword [rax + 0xd8]
fadd dword [rax]
add byte [rax], al
jne 0x140002923
mov edx, dword [rax + 0x70]
jmp 0x140002925
mov edx, edi
mov ecx, dword [rax + 0x2c]
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], r9
call qword [rax + 0x80]
mov r9, qword [rsp + 0x20]
mov rbx, rax
mov rcx, rbx
mov rdx, r9
mov r8d, esi
call fcn.1400029d5
mov rdx, r12
add ebp, esi
sub rdx, r15
xor eax, eax
add rdx, 0xfffffffffffffff8
add edx, 0xfffffff8
jne 0x140002762
mov rsi, qword [rsp + 0x38]
test rbx, rbx
jne 0x140002823
xor eax, eax
add rsp, 0x48
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov r8d, edi
mov rdx, r9
mov ecx, ebp
sub r8d, ebp
add rcx, rbx
mov rsi, qword [rsp + 0x38]
call fcn.1400029d5
jmp 0x140002823
mov rdx, r12
xor eax, eax
sub rdx, r15
add rdx, 0xfffffffffffffff8
add edx, 0xfffffff8
jne 0x140002762
jmp 0x140002973
inc eax
cmp eax, edx
jb 0x140002762
jmp 0x140002965