Function at 0x1402cedd0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r8, qword [rdx + 8]
mov rbp, rcx
add r8, qword [rdx]
add rcx, 8
mov rdx, qword [rdx]
call fcn.1402919b0
mov rsi, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
mov rcx, rsi
sub rcx, rdx
cmp rcx, 0x10
jbe 0x1402cee18
lea rax, [rdx + 0x10]
jmp 0x1402cee55
jae 0x1402cee59
mov rax, qword [rbp + 0x30]
sub rax, rdx
cmp rax, 0x10
jae 0x1402cee3c
lea r8, [rsp + 0x40]
mov edx, 0x10
lea rcx, [rbp + 0x20]
call fcn.140248a70
jmp 0x1402cee59
mov ebx, 0x10
xor edx, edx
sub rbx, rcx
mov rcx, rsi
mov r8, rbx
call fcn.1402f7260
lea rax, [rbx + rsi]
mov qword [rbp + 0x28], rax
mov r10, qword [rbp + 8]
xor edi, edi
mov qword [rbp + 0x98], rdi
mov qword [rbp + 0xa0], rdi
mov rcx, qword [r10]
mov ebx, ecx
mov edx, ecx
shl ebx, 0x10
mov eax, edx
and eax, 0xff0000
mov r8, rcx
shr r8, 0x20
and ecx, 0xff00
or ebx, ecx
mov r9, r8
mov rcx, qword [r10 + 8]
and rdx, 0xffffffffff000000
shl ebx, 8
mov esi, ecx
shl esi, 0x10
shl rbx, 8
or rbx, rax
mov eax, r8d
shl eax, 0x10
and r8d, 0xff00
or eax, r8d
shl rbx, 0x10
shl eax, 8
or rbx, rdx
mov edx, ecx
mov r8, rcx
shr r8, 0x20
and ecx, 0xff00
or esi, ecx
shl rbx, 8
or rbx, rax
shl esi, 8
shl rsi, 8
lea rcx, [rbp + 0x68]
mov rax, r9
shr r9, 0x10
and eax, 0xff0000
or rax, r9
mov r9, r8
shr rax, 8
or rbx, rax
mov eax, edx
and eax, 0xff0000
and rdx, 0xffffffffff000000
or rsi, rax
mov eax, r8d
shl eax, 0x10
and r8d, 0xff00
or eax, r8d
shl rsi, 0x10
shl eax, 8
or rsi, rdx
shl rsi, 8
mov edx, 0x100
or rsi, rax
mov rax, r9
and eax, 0xff0000
shr r9, 0x10
or rax, r9
shr rax, 8
or rsi, rax
call fcn.14026ebc0
movabs r10, 0xe100000000000000
nop dword [rax]
mov r8, rdi
mov r9d, 4
nop dword [rax]
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [r8 + rax], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 8], rsi
mov rax, rsi
and eax, 1
shr rsi, 1
imul rax, r10
or rcx, rsi
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0x20], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x28], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [rax + r8 + 0x40], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x48], rdx
mov rax, rdx
and eax, 1
shr rdx, 1
imul rax, r10
or rcx, rdx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0x60], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x68], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [rax + r8 + 0x80], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x88], rdx
mov rax, rdx
and eax, 1
shr rdx, 1
imul rax, r10
or rcx, rdx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0xa0], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0xa8], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov qword [rax + r8 + 0xc0], rbx
mov rax, qword [rbp + 0x68]
mov qword [r8 + rax + 0xc8], rdx
mov rcx, rbx
mov rax, rdx
shr rbx, 1
and eax, 1
shr rdx, 1
imul rax, r10
shl rcx, 0x3f
xor rbx, rax
or rcx, rdx
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0xe0], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0xe8], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [rax + r8 + 0x100], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x108], rdx
mov rax, rdx
and eax, 1
shr rdx, 1
imul rax, r10
or rcx, rdx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0x120], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x128], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [rax + r8 + 0x140], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x148], rdx
mov rax, rdx
and eax, 1
shr rdx, 1
imul rax, r10
or rcx, rdx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 + 0x160], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax + 0x168], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov qword [rax + r8 + 0x180], rbx
mov rax, qword [rbp + 0x68]
mov qword [r8 + rax + 0x188], rdx
mov rax, rdx
and eax, 1
imul rax, r10
mov rcx, rbx
shr rdx, 1
shr rbx, 1
lea r8, [r8 + 0x200]
xor rbx, rax
shl rcx, 0x3f
mov rax, qword [rbp + 0x68]
or rcx, rdx
mov rdx, rbx
shl rdx, 0x3f
mov qword [rax + r8 - 0x60], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax - 0x58], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rdx, rcx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rcx, rbx
shl rcx, 0x3f
mov qword [rax + r8 - 0x40], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax - 0x38], rdx
mov rax, rdx
and eax, 1
shr rdx, 1
imul rax, r10
or rcx, rdx
xor rbx, rax
mov rax, qword [rbp + 0x68]
mov rsi, rbx
shl rsi, 0x3f
mov qword [rax + r8 - 0x20], rbx
mov rax, qword [rbp + 0x68]
shr rbx, 1
mov qword [r8 + rax - 0x18], rcx
mov rax, rcx
and eax, 1
shr rcx, 1
imul rax, r10
or rsi, rcx
xor rbx, rax
sub r9, 1
jne 0x1402cef70
add rdi, 0x10
cmp rdi, 0x20
jne 0x1402cef60
mov ecx, 1
call fcn.140263670
test al, al
je 0x1402cf2ff
mov ecx, 2
call fcn.140263670
test al, al
je 0x1402cf2ff
mov ecx, 0x20000
call fcn.140263670
test al, al
je 0x1402cf2ff
mov edx, 8
lea rcx, [rbp + 0x80]
call fcn.14026ebc0
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 8]
call fcn.1402d25a0
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret