Function at 0x1400290b0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14002909c
mov rsi, rcx
mov r8, qword [rcx + 8]
mov rcx, qword [rcx + 0x38]
shr rcx, 3
cmp rcx, rax
jbe 0x140028fda
mov rdx, qword [r8]
mov rcx, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp 0x1400290b0
mov rax, qword [r8 + 8]
mov qword [rax], 0
mov rdi, qword [r8]
test rdi, rdi
je 0x140029011
nop dword [rax]
mov rbx, qword [rdi]
lea rcx, [rdi + 0x10]
call fcn.140029320
mov edx, 0x50
mov rcx, rdi
call fcn.140055204
mov rdi, rbx
test rbx, rbx
jne 0x140028ff0
mov rax, qword [rsi + 8]
mov qword [rax], rax
mov rax, qword [rsi + 8]
mov qword [rax + 8], rax
mov qword [rsi + 0x10], 0
mov rdx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x20]
cmp rdx, rax
je 0x14002909c
mov rcx, qword [rsi + 8]
mov r9, rax
sub r9, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x18
jae 0x14002904e
mov r8, rdx
jmp 0x140029090
shr r9, 3
inc r9
mov r10, r9
and r10, 0xfffffffffffffffc
lea r8, [rdx + r10*8]
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r11d, r11d
nop dword [rax]
movdqu xmmword [rdx + r11*8], xmm0
movdqu xmmword [rdx + r11*8 + 0x10], xmm0
add r11, 4
cmp r10, r11
jne 0x140029070
cmp r9, r10
je 0x14002909c
nop dword [rax + rax]
mov qword [r8], rcx
add r8, 8
cmp r8, rax
jne 0x140029090
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbx, rdx
mov qword [rsp + 0x20], rcx
cmp rdx, r8
je 0x1400290e1
mov rsi, r8
mov r15, qword [rbx + 0x20]
cmp qword [rbx + 0x28], 0x10
jb 0x1400290e9
mov r12, qword [rbx + 0x10]
jmp 0x1400290ed
mov rsi, rbx
jmp 0x1400291ea
lea r12, [rbx + 0x10]
mov rax, qword [rsp + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x38], rcx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
test r15, r15
je 0x14002916a
xor r13d, r13d
lea r14, [rsp + 0x30]
mov edi, 0x9e3779b9
xor ebp, ebp
nop word cs:[rax + rax]
movsx ecx, byte [r12 + r13]
call fcn.1400e5d90
mov dword [rsp + 0x30], eax
mov rcx, r14
call fcn.140028a10
mov rcx, rbp
shl rcx, 6
mov rdx, rbp
shr rdx, 2
add rdx, rcx
add rdx, rax
add rdx, rdi
xor rbp, rdx
inc r13
cmp r15, r13
jne 0x140029130
jmp 0x14002916c
xor ebp, ebp
mov rax, qword [rsp + 0x20]
and rbp, qword [rax + 0x30]
lea rax, [rbp*2]
lea r15, [rbp*2 + 1]
shl rbp, 4
mov rcx, qword [rsp + 0x28]
lea r12, [rcx + rbp]
mov rdi, qword [rcx + rbp]
mov r13, qword [rcx + rax*8 + 8]
mov rbp, rbx
jmp 0x1400291a5
cmp rbp, rsi
je 0x1400291de
mov r14, rbp
mov rbp, qword [rbp]
lea rcx, [r14 + 0x10]
call fcn.140029320
mov edx, 0x50
mov rcx, r14
call fcn.140055204
mov rax, qword [rsp + 0x20]
dec qword [rax + 0x10]
cmp r14, r13
je 0x1400291fe
cmp rbp, rsi
jne 0x1400291a0
cmp rdi, rbx
jne 0x1400291a0
mov qword [r12], rsi
mov rax, qword [rsp + 0x40]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x40]
cmp rdi, rbx
jne 0x140029211
mov rax, qword [rsp + 0x38]
mov qword [r12], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + r15*8], rax
cmp rbp, rsi
je 0x1400291de
lea rbx, [rsp + 0x34]
mov r15d, 0x9e3779b9
cmp qword [rbp + 0x28], 0x10
jb 0x140029237
mov r14, qword [rbp + 0x10]
jmp 0x14002923b
lea r14, [rbp + 0x10]
mov r13, qword [rbp + 0x20]
test r13, r13
je 0x14002928a
xor edi, edi
xor r12d, r12d
nop dword [rax]
movsx ecx, byte [r14 + rdi]
call fcn.1400e5d90
mov dword [rsp + 0x34], eax
mov rcx, rbx
call fcn.140028a10
mov rcx, r12
shl rcx, 6
mov rdx, r12
shr rdx, 2
add rdx, rcx
add rdx, rax
add rdx, r15
xor r12, rdx
inc rdi
cmp r13, rdi
jne 0x140029250
jmp 0x14002928d
xor r12d, r12d
mov rax, qword [rsp + 0x20]
and r12, qword [rax + 0x30]
lea rax, [r12 + r12]
lea rdi, [r12*2 + 1]
shl r12, 4
mov rcx, qword [rsp + 0x28]
add r12, rcx
mov r13, qword [rcx + rax*8 + 8]
nop word cs:[rax + rax]
mov r14, rbp
mov rbp, qword [rbp]
lea rcx, [r14 + 0x10]
call fcn.140029320
mov edx, 0x50
mov rcx, r14
call fcn.140055204
mov rax, qword [rsp + 0x20]
dec qword [rax + 0x10]
cmp r14, r13
je 0x1400292f5
cmp rbp, rsi
jne 0x1400292c0
jmp 0x1400291da
mov rax, qword [rsp + 0x38]
mov qword [r12], rax
mov rcx, qword [rsp + 0x28]
mov qword [rcx + rdi*8], rax
cmp rbp, rsi
jne 0x14002922a
jmp 0x1400291de