Function at 0x140026de0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
cmp dword [rdx + 0x10], 0
mov eax, dword [r8 + 0x10]
je 0x140026e06
test eax, eax
je 0x140026e1d
mov rax, rdx
jmp 0x140026e63
xor edi, edi
test eax, eax
je 0x140026e5d
mov rcx, rsi
call fcn.140026350
test eax, eax
jne 0x140026e32
jmp 0x1400270b3
mov edi, 1
mov rcx, rsi
call fcn.140026350
test eax, eax
je 0x1400270b3
mov eax, dword [rsi + 8]
test eax, eax
jle 0x1400270a9
mov rcx, qword [rsi]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400270a6
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140026e40
jmp 0x1400270a4
mov rax, r8
mov r8, rdx
movsxd rdx, dword [rax + 8]
mov r11, qword [rax]
movsxd r9, dword [r8 + 8]
mov r10, qword [r8]
mov rdi, r9
sub rdi, rdx
mov rbx, rdx
cmovb rbx, r9
xor ecx, ecx
test rbx, rbx
je 0x140026ecc
xor r14d, r14d
nop dword [rax + rax]
mov r12, qword [r11 + r14*8]
mov r13, qword [r10 + r14*8]
xor ebp, ebp
mov r15, r13
sub r15, r12
sete bpl
neg rbp
xor r12, r13
xor r15, r13
or r15, r12
xor r15, r13
sar r15, 0x3f
or r15, 1
xor rcx, r15
and rcx, rbp
xor rcx, r15
inc r14
cmp rbx, r14
jne 0x140026e90
cmp r9d, edx
jae 0x140026ee8
mov rdi, rdx
sub rdi, r9
cmp rdi, 3
ja 0x140026f06
xor r14d, r14d
mov r10, r9
jmp 0x140026f70
cmp edx, r9d
jae 0x140026f89
cmp rdi, 3
ja 0x140026fdd
xor r14d, r14d
mov r11, rdx
jmp 0x140027040
mov rbx, rdi
and rbx, 0xfffffffffffffffc
lea r10, [rbx + r9]
lea r9, [r11 + r9*8]
add r9, 0x10
pxor xmm0, xmm0
xor r14d, r14d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r9 + r14*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r9 + r14*8]
por xmm1, xmm2
add r14, 4
cmp rbx, r14
jne 0x140026f30
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r14, xmm0
cmp rdi, rbx
je 0x140026f7c
nop word cs:[rax + rax]
or r14, qword [r11 + r10*8]
inc r10
cmp rdx, r10
jne 0x140026f70
xor edx, edx
cmp r14, 1
sbb rdx, rdx
not edx
or ecx, edx
test ecx, ecx
js 0x140027065
mov rcx, rsi
mov rdx, r8
mov r8, rax
call fcn.1400270d0
test eax, eax
je 0x1400270b3
mov eax, dword [rsi + 8]
xor edi, edi
test eax, eax
jle 0x1400270a9
mov rcx, qword [rsi]
nop word [rax + rax]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400270a6
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140026fc0
jmp 0x1400270a4
mov rbx, rdi
and rbx, 0xfffffffffffffffc
lea r11, [rbx + rdx]
lea rdx, [r10 + rdx*8]
add rdx, 0x10
pxor xmm0, xmm0
xor r14d, r14d
pxor xmm1, xmm1
nop dword [rax + rax]
movdqu xmm2, xmmword [rdx + r14*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [rdx + r14*8]
por xmm1, xmm2
add r14, 4
cmp rbx, r14
jne 0x140027000
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r14, xmm0
cmp rdi, rbx
je 0x14002704c
nop word cs:[rax + rax]
or r14, qword [r10 + r11*8]
inc r11
cmp r9, r11
jne 0x140027040
xor edx, edx
cmp r14, 1
sbb rdx, rdx
xor ecx, 1
and ecx, edx
xor ecx, 1
test ecx, ecx
jns 0x140026f91
mov rcx, rsi
mov rdx, rax
call fcn.1400270d0
test eax, eax
je 0x1400270b3
mov eax, dword [rsi + 8]
mov edi, 1
test eax, eax
jle 0x1400270a9
mov rcx, qword [rsi]
nop word cs:[rax + rax]
mov edx, eax
cmp qword [rcx + rdx*8 - 8], 0
jne 0x1400270a6
lea edx, [rax - 1]
cmp eax, 1
mov eax, edx
jg 0x140027090
xor eax, eax
mov dword [rsi + 8], eax
mov dword [rsi + 0x10], edi
mov eax, 1
jmp 0x1400270b5
xor eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret