Function at 0x1400203c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r15, r9
mov rdi, r8
mov r12, rdx
mov r14, rcx
xor esi, esi
mov dword [rbp - 0x50], esi
mov rbx, qword [rbp + 0x60]
cmp dword [rcx + 0x1c], 1
jl 0x140020421
mov rcx, rbx
call qword [sym.imp.Qt5Core.dll_public:_bool___cdecl_QByteArray::isNull_void_const___ptr64]
test al, al
jne 0x140020410
mov rax, qword [rbx]
mov ecx, dword [rax + 4]
cmp ecx, dword [r14 + 0x14]
je 0x140020421
mov rcx, r12
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
mov rax, r12
jmp 0x140020a2e
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
mov r8, r15
lea rdx, [rbp - 0x28]
mov rcx, r14
call fcn.140020a50
nop
mov rdx, rdi
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
nop
mov rax, qword [rdi]
mov ecx, dword [r14 + 0x14]
mov eax, dword [rax + 4]
cdq
idiv ecx
mov eax, ecx
sub eax, edx
cdq
idiv ecx
mov edi, esi
or edi, 2
test edx, edx
jne 0x14002046f
movzx r8d, cl
mov edx, ecx
jmp 0x1400204c4
mov ecx, dword [r14 + 0x30]
test ecx, ecx
je 0x1400204c1
sub ecx, 1
je 0x1400204bb
xor r8d, r8d
cmp ecx, 1
jne 0x1400204c4
dec edx
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_int__char____ptr64]
nop
mov dl, 0x80
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::prepend_char____ptr64]
mov rdx, rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov r13d, edi
mov dword [rbp - 0x50], edi
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
jmp 0x1400204d4
movzx r8d, dl
jmp 0x1400204c4
xor r8d, r8d
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_int__char____ptr64]
mov dword [rbp - 0x50], edi
mov r13d, edi
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ecx, dword [r14 + 0x1c]
test ecx, ecx
je 0x140020991
sub ecx, 1
je 0x140020806
sub ecx, 1
je 0x14002065a
cmp ecx, 1
jne 0x1400209fb
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
nop
mov r9, rbx
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.14001fab0
nop
mov rdx, rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ecx, dword [r14 + 0x14]
mov ebx, ecx
mov rax, qword [rbp - 0x48]
cmp ecx, dword [rax + 4]
jge 0x1400205b8
nop word [rax + rax]
mov r8d, ecx
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::right_int____ptr64]
nop
mov r9, rax
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.14001fab0
nop
mov rdx, rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ecx, dword [r14 + 0x14]
add ebx, ecx
mov rax, qword [rbp - 0x48]
cmp ebx, dword [rax + 4]
jl 0x140020560
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov rbx, rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov r14, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
or edi, 0x10
mov dword [rbp - 0x50], edi
mov rcx, qword [rbp + 0x40]
mov r8d, dword [rcx + 4]
mov rcx, qword [rbp - 0x48]
mov edx, dword [rcx + 4]
cmp r8d, edx
cmovl edx, r8d
test edx, edx
jle 0x140020631
sub r14, rbx
nop
movzx r8d, byte [r14 + rbx]
xor r8b, byte [rbx]
mov edx, esi
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::insert_int__char____ptr64]
inc esi
lea rbx, [rbx + 1]
mov rax, qword [rbp + 0x40]
mov edx, dword [rax + 4]
mov rax, qword [rbp - 0x48]
mov ecx, dword [rax + 4]
cmp edx, ecx
cmovl ecx, edx
cmp esi, ecx
jl 0x140020600
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
jmp 0x1400209fb
mov r9, rbx
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.14001fab0
mov r12, rax
mov r8d, dword [r14 + 0x14]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::left_int____ptr64]
mov r13, rax
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov rbx, rax
mov rcx, r12
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov r15, rax
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
or edi, 8
mov dword [rbp - 0x50], edi
mov edi, esi
mov rcx, qword [r12]
mov r8d, dword [rcx + 4]
mov rcx, qword [r13]
mov edx, dword [rcx + 4]
cmp r8d, edx
cmovl edx, r8d
test edx, edx
jle 0x140020701
sub r15, rbx
nop dword [rax]
movzx r8d, byte [r15 + rbx]
xor r8b, byte [rbx]
mov edx, edi
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::insert_int__char____ptr64]
inc edi
lea rbx, [rbx + 1]
mov rax, qword [r12]
mov edx, dword [rax + 4]
mov rax, qword [r13]
mov ecx, dword [rax + 4]
cmp edx, ecx
cmovl ecx, edx
cmp edi, ecx
jl 0x1400206d0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, qword [rbp - 0x48]
mov r8d, dword [rax + 4]
test r8d, r8d
jle 0x1400209fb
mov edx, dword [r14 + 0x14]
nop word [rax + rax]
lea ecx, [rdx + rsi]
cmp ecx, r8d
jge 0x1400207f2
mov r9d, edx
mov r8d, esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
mov r9, rax
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x40]
mov rcx, r14
call fcn.14001fab0
mov rbx, rax
mov r9d, dword [r14 + 0x14]
lea r8d, [r9 + rsi]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
mov r9, rbx
mov r8, rax
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.14001f9f0
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov edx, dword [r14 + 0x14]
mov rax, qword [rbp - 0x48]
add esi, edx
mov r8d, dword [rax + 4]
cmp esi, r8d
jl 0x140020750
jmp 0x1400209fb
mov rdx, rbx
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
nop
mov ebx, esi
mov dword [rbp + 0x40], ebx
mov rax, qword [rbp - 0x48]
cmp dword [rax + 4], ebx
jle 0x140020985
mov ecx, dword [r14 + 0x14]
nop word [rax + rax]
mov r9d, ecx
mov r8d, ebx
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov r12, rax
mov rcx, rax
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov rbx, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_char_const____ptr64___cdecl_QByteArray::begin_void_const___ptr64]
mov r15, rax
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_void____ptr64]
or r13d, 4
mov dword [rbp - 0x50], r13d
mov edi, esi
mov rcx, qword [rbp - 0x40]
mov r8d, dword [rcx + 4]
mov rcx, qword [r12]
mov edx, dword [rcx + 4]
cmp r8d, edx
cmovl edx, r8d
test edx, edx
jle 0x1400208c2
sub r15, rbx
movzx r8d, byte [r15 + rbx]
xor r8b, byte [rbx]
mov edx, edi
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::insert_int__char____ptr64]
inc edi
lea rbx, [rbx + 1]
mov rax, qword [rbp - 0x40]
mov edx, dword [rax + 4]
mov rax, qword [r12]
mov ecx, dword [rax + 4]
cmp edx, ecx
cmovl ecx, edx
cmp edi, ecx
jl 0x140020891
lea r9, [rbp - 0x38]
mov r8d, dword [r14 + 0x14]
mov ebx, dword [rbp + 0x40]
mov edx, ebx
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::replace_int__int__class_QByteArray_const____ptr64____ptr64]
and r13d, 0xfffffffb
mov dword [rbp - 0x50], r13d
lea rcx, [rbp - 0x38]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x20]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov r9d, dword [r14 + 0x14]
mov r8d, ebx
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
mov r9, rax
lea r8, [rbp - 0x28]
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.14001fab0
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x10]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 8]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov r9d, dword [r14 + 0x14]
mov r8d, ebx
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
mov rdx, rax
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::operator_class_QByteArray____ptr64____ptr64]
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ecx, dword [r14 + 0x14]
add ebx, ecx
mov dword [rbp + 0x40], ebx
mov rax, qword [rbp - 0x48]
cmp ebx, dword [rax + 4]
jl 0x140020830
lea rcx, [rbp - 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
jmp 0x1400209fb
mov rax, qword [rbp - 0x48]
cmp dword [rax + 4], 0
jle 0x1400209fb
mov ecx, dword [r14 + 0x14]
nop
mov r9d, ecx
mov r8d, esi
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray___cdecl_QByteArray::mid_int__int____ptr64]
nop
mov r9, rax
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x40]
mov rcx, r14
call fcn.14001fab0
nop
mov rdx, rax
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_class_QByteArray____ptr64___cdecl_QByteArray::append_class_QByteArray_const____ptr64____ptr64]
nop
lea rcx, [rbp + 0x40]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x18]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov ecx, dword [r14 + 0x14]
add esi, ecx
mov rax, qword [rbp - 0x48]
cmp esi, dword [rax + 4]
jl 0x1400209a0
lea rdx, [rbp - 0x30]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray____ptr64____ptr64]
nop
lea rcx, [rbp - 0x48]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::destructor_void____ptr64]
mov rax, qword [rbp + 0x48]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret