Function at 0x140001fe0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push r14
sub rsp, 0x28
mov rsi, rcx
mov r14, rdx
mov rcx, qword [rdx]
mov eax, dword [rcx]
test eax, eax
jne 0x140001ffb
xor cl, cl
jmp 0x14000200b
cmp eax, 0xffffffff
je 0x140002009
mov eax, 1
lock xadd dword [rcx], eax
mov cl, 1
mov rax, qword [rdx]
test cl, cl
je 0x140002020
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x28
pop r14
pop rsi
ret
mov r8d, dword [rax + 8]
xor r9d, r9d
lea edx, [r9 + 8]
lea ecx, [rdx + 0x68]
test r8d, r8d
jns 0x14000204a
btr r8d, 0x1f
call qword [sym.imp.Qt5Core.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 0x140002057
movsxd r8, dword [rax + 4]
call qword [sym.imp.Qt5Core.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 0x1400021dd
mov rdx, qword [r14]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x20], r15
mov rcx, qword [rdx + 0x10]
movsxd rax, dword [rdx + 4]
mov r15, qword [r8 + 0x10]
imul rbp, rax, 0x70
add r15, r8
lea rbx, [rcx + rdx]
add rbp, rcx
add rbp, rdx
cmp rbx, rbp
je 0x1400021c7
mov qword [rsp + 0x50], rdi
nop word [rax + rax]
mov rdi, r15
mov rdx, rbx
mov rcx, rdi
add r15, 0x70
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 8]
lea rcx, [rdi + 8]
call qword [sym.imp.Qt5Core.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.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 0x28]
lea rcx, [rdi + 0x28]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
lea rdx, [rbx + 0x30]
lea rcx, [rdi + 0x30]
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
movzx eax, byte [rbx + 0x38]
lea rdx, [rbx + 0x40]
lea rcx, [rdi + 0x40]
mov byte [rdi + 0x38], al
call fcn.140001c10
mov eax, dword [rbx + 0x48]
lea rdx, [rbx + 0x58]
mov dword [rdi + 0x48], eax
lea rcx, [rdi + 0x58]
movzx eax, byte [rbx + 0x4c]
mov byte [rdi + 0x4c], al
movzx eax, byte [rbx + 0x4d]
mov byte [rdi + 0x4d], al
movzx eax, byte [rbx + 0x4e]
mov byte [rdi + 0x4e], al
movzx eax, byte [rbx + 0x4f]
mov byte [rdi + 0x4f], al
movzx eax, byte [rbx + 0x50]
mov byte [rdi + 0x50], al
call qword [sym.imp.Qt5Core.dll_public:_void___cdecl_QByteArray::constructor_class_QByteArray_const____ptr64____ptr64]
movzx eax, byte [rbx + 0x60]
mov byte [rdi + 0x60], al
movzx eax, byte [rbx + 0x61]
mov byte [rdi + 0x61], al
movzx eax, byte [rbx + 0x62]
mov byte [rdi + 0x62], al
movzx eax, byte [rbx + 0x63]
mov byte [rdi + 0x63], al
movzx eax, byte [rbx + 0x64]
mov byte [rdi + 0x64], al
movzx eax, byte [rbx + 0x65]
mov byte [rdi + 0x65], al
movzx eax, byte [rbx + 0x66]
mov byte [rdi + 0x66], al
movzx eax, byte [rbx + 0x67]
mov byte [rdi + 0x67], al
movzx eax, byte [rbx + 0x68]
mov byte [rdi + 0x68], al
mov eax, dword [rbx + 0x6c]
add rbx, 0x70
mov dword [rdi + 0x6c], eax
cmp rbx, rbp
jne 0x1400020b0
mov rdx, qword [r14]
mov r8, qword [rsi]
mov rdi, qword [rsp + 0x50]
mov eax, dword [rdx + 4]
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov dword [r8 + 4], eax
mov rax, rsi
add rsp, 0x28
pop r14
pop rsi
ret