Function at 0x140001870
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r14
sub rsp, 0x28
mov rax, qword [rdx]
mov rsi, rcx
mov r14, rdx
mov ecx, dword [rax]
test ecx, ecx
jne 0x1400019e6
mov rax, qword [rdx]
xor r9d, r9d
lea edx, [rcx + 8]
lea ecx, [rdx + 0x40]
mov r8d, dword [rax + 8]
test r8d, r8d
jns 0x1400018b7
btr r8d, 0x1f
call qword [sym.imp.Qt5Core_conda.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__]
mov qword [rsi], rax
or dword [rax + 8], 0x80000000
jmp 0x1400018c4
movsxd r8, dword [rax + 4]
call qword [sym.imp.Qt5Core_conda.dll_public:_static_struct_QArrayData____ptr64___cdecl_QArrayData::allocate_unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64___class_QFlags_enum_QArrayData::AllocationOption__]
mov qword [rsi], rax
mov r8, qword [rsi]
test dword [r8 + 8], 0x7fffffff
je 0x1400019f4
mov r9, qword [r14]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x58], r12
mov r12, qword [r8 + 0x10]
mov rdx, qword [r9 + 0x10]
add r12, r8
movsxd rax, dword [r9 + 4]
mov qword [rsp + 0x20], r15
lea rbp, [rdx + r9]
lea rcx, [rax + rax*8]
lea r15, [rdx + rcx*8]
add r15, r9
cmp rbp, r15
je 0x1400019c4
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x50], rdi
nop dword [rax + rax]
mov rdi, r12
mov rbx, rbp
mov rdx, rbx
mov rcx, rdi
add r12, 0x48
add rbp, 0x48
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 8]
lea rcx, [rdi + 8]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
mov eax, dword [rdi + 0x10]
lea rdx, [rbx + 0x20]
xor eax, dword [rbx + 0x10]
and eax, 1
xor dword [rdi + 0x10], eax
mov ecx, dword [rdi + 0x10]
xor ecx, dword [rbx + 0x10]
and ecx, 2
xor dword [rdi + 0x10], ecx
lea rcx, [rdi + 0x20]
mov eax, dword [rbx + 0x14]
mov dword [rdi + 0x14], eax
mov eax, dword [rbx + 0x18]
mov dword [rdi + 0x18], eax
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 0x28]
lea rcx, [rdi + 0x28]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 0x30]
lea rcx, [rdi + 0x30]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 0x38]
lea rcx, [rdi + 0x38]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
movzx eax, byte [rbx + 0x40]
mov byte [rdi + 0x40], al
cmp rbp, r15
jne 0x140001920
mov r9, qword [r14]
mov r8, qword [rsi]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov eax, dword [r9 + 4]
mov r15, qword [rsp + 0x20]
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x48]
mov dword [r8 + 4], eax
mov rax, rsi
add rsp, 0x28
pop r14
pop rsi
ret
cmp ecx, 0xffffffff
je 0x1400019ee
lock inc dword [rax]
mov rax, qword [rdx]
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x28
pop r14
pop rsi
ret