Function at 0x1400298d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movzx ebp, r9b
mov r15, r8
mov r14, rdx
mov rdi, rcx
mov rax, rdx
sub rax, rcx
and rax, 0xfffffffffffffff8
cmp rax, 0x100
jle 0x1400299a1
test r15, r15
jle 0x140029a0d
movzx r9d, bpl
mov r8, r14
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14002a2c0
mov rcx, r15
sar rcx, 2
sar r15, 1
add r15, rcx
mov rcx, r14
mov rbx, qword [rsp + 0x38]
sub rcx, rbx
and rcx, 0xfffffffffffffff8
mov rsi, qword [rsp + 0x30]
mov rax, rsi
sub rax, rdi
and rax, 0xfffffffffffffff8
movzx r9d, bpl
mov r8, r15
cmp rax, rcx
jge 0x140029975
mov rdx, rsi
mov rcx, rdi
call fcn.1400298d0
mov rdi, rbx
jmp 0x14002998b
mov rdx, r14
mov rcx, rbx
call fcn.1400298d0
mov r14, rsi
mov qword [rsp + 0x88], rsi
mov rax, r14
sub rax, rdi
and rax, 0xfffffffffffffff8
cmp rax, 0x100
jg 0x140029911
cmp rdi, r14
je 0x140029c38
lea rbp, [rdi + 8]
cmp rbp, r14
je 0x140029c38
mov rbx, rbp
nop word [rax + rax]
mov rdx, rbp
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::constructor_class_QPersistentModelIndex____ptr64____ptr64]
nop
mov rdx, rdi
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_bool___cdecl_QPersistentModelIndex::operator__class_QPersistentModelIndex_const____ptr64_const___ptr64]
test al, al
je 0x140029bc2
cmp rbx, rdi
je 0x140029a05
mov rcx, rbx
sub rbx, 8
mov rdx, rbx
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
cmp rbx, rdi
jne 0x1400299f0
mov rcx, rdi
jmp 0x140029c0b
mov r12, r14
sub r12, rdi
sar r12, 3
mov qword [rsp + 0x30], r12
mov r15, r12
sar r15, 1
test r15, r15
jle 0x140029b44
lea r13, [r12 - 1]
sar r13, 1
lea rbp, [rdi + r15*8]
lea r14, [r12 - 1]
nop dword [rax]
dec r15
sub rbp, 8
mov rdx, rbp
lea rcx, [rsp + 0x80]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::constructor_class_QPersistentModelIndex____ptr64____ptr64]
nop
mov rsi, r15
mov rbx, r15
cmp r15, r13
jge 0x140029aa8
nop dword [rax]
nop dword [rax + rax]
add rbx, rbx
lea rcx, [rbx + 2]
lea rcx, [rdi + rcx*8]
lea rdx, [rcx - 8]
call qword [sym.imp.Qt6Core.dll_public:_bool___cdecl_QPersistentModelIndex::operator__class_QPersistentModelIndex_const____ptr64_const___ptr64]
movzx eax, al
xor rax, 1
inc rax
add rbx, rax
lea rdx, [rdi + rbx*8]
lea rcx, [rdi + rsi*8]
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
mov rsi, rbx
cmp rbx, r13
jl 0x140029a70
cmp rsi, r13
jne 0x140029ac9
test r12b, 1
jne 0x140029ac9
lea rdx, [r12 - 1]
lea rdx, [rdi + rdx*8]
lea rcx, [rdi + rsi*8]
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
mov rsi, r14
cmp r15, rsi
jge 0x140029b0a
nop
lea rbx, [rsi - 1]
sar rbx, 1
lea r12, [rdi + rbx*8]
lea rdx, [rsp + 0x80]
mov rcx, r12
call qword [sym.imp.Qt6Core.dll_public:_bool___cdecl_QPersistentModelIndex::operator__class_QPersistentModelIndex_const____ptr64_const___ptr64]
test al, al
je 0x140029b05
lea rcx, [rdi + rsi*8]
mov rdx, r12
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
mov rsi, rbx
cmp r15, rbx
jl 0x140029ad0
mov r12, qword [rsp + 0x30]
lea rcx, [rdi + rsi*8]
lea rdx, [rsp + 0x80]
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
nop
lea rcx, [rsp + 0x80]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::destructor_void____ptr64]
test r15, r15
jg 0x140029a40
mov r14, qword [rsp + 0x88]
movzx ebp, byte [rsp + 0x98]
cmp r12, 2
jl 0x140029c38
add r14, 0xfffffffffffffff8
mov ebx, 8
sub rbx, rdi
nop word [rax + rax]
mov rdx, r14
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::constructor_class_QPersistentModelIndex____ptr64____ptr64]
nop
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
mov r8, r14
sub r8, rdi
sar r8, 3
mov byte [rsp + 0x20], bpl
lea r9, [rsp + 0x88]
xor edx, edx
mov rcx, rdi
call fcn.14002ab70
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::destructor_void____ptr64]
sub r14, 8
lea rax, [rbx + r14]
and rax, 0xfffffffffffffff8
cmp rax, 0x10
jge 0x140029b60
jmp 0x140029c38
lea rsi, [rbx - 8]
mov rdx, rsi
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_bool___cdecl_QPersistentModelIndex::operator__class_QPersistentModelIndex_const____ptr64_const___ptr64]
test al, al
je 0x140029c08
nop dword [rax + rax]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
mov rbx, rsi
sub rsi, 8
mov rdx, rsi
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_bool___cdecl_QPersistentModelIndex::operator__class_QPersistentModelIndex_const____ptr64_const___ptr64]
test al, al
jne 0x140029be0
mov rcx, rbx
lea rdx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_class_QPersistentModelIndex____ptr64___cdecl_QPersistentModelIndex::operator_class_QPersistentModelIndex____ptr64____ptr64]
nop
lea rcx, [rsp + 0x88]
call qword [sym.imp.Qt6Core.dll_public:_void___cdecl_QPersistentModelIndex::destructor_void____ptr64]
add rbp, 8
mov rbx, rbp
cmp rbp, r14
jne 0x1400299c0
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret