Function at 0x140021a40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r14
sub rsp, 0x48
mov r8, qword [rcx]
mov rbx, rdx
mov r14, rcx
mov edi, dword [r8 + 8]
mov esi, dword [r8 + 4]
btr edi, 0x1f
mov eax, dword [r8]
inc esi
cmp eax, 1
ja 0x140021a94
cmp esi, edi
ja 0x140021a94
mov rax, qword [rcx]
movsxd rcx, dword [rax + 4]
shl rcx, 5
add rcx, qword [rax + 0x10]
add rcx, rax
call fcn.140021300
mov rax, qword [r14]
inc dword [rax + 4]
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbx
ret
mov qword [rsp + 0x78], rbp
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x40], r15
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [rbx + 0x10]
lea rcx, [rsp + 0x30]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
mov eax, dword [rbx + 0x18]
cmp edi, esi
mov dword [rsp + 0x38], eax
movzx eax, byte [rbx + 0x1c]
sbb r9d, r9d
mov byte [rsp + 0x3c], al
and r9d, 8
movzx eax, byte [rbx + 0x1d]
mov byte [rsp + 0x3d], al
mov rax, qword [r14]
cmp esi, edi
jbe 0x140021b07
mov r15d, dword [rax + 4]
inc r15d
jmp 0x140021b10
mov r15d, dword [rax + 8]
btr r15d, 0x1f
mov eax, dword [rax]
mov edx, 8
cmp eax, 1
movsxd r8, r15d
seta bl
lea ecx, [rdx + 0x18]
mov byte [rsp + 0x70], bl
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 rcx, qword [r14]
mov r13, rax
mov r12, qword [rax + 0x10]
mov edx, dword [rcx + 4]
add r12, rax
mov dword [rax + 4], edx
mov rdx, qword [r14]
mov rcx, qword [rdx + 0x10]
movsxd rbp, dword [rdx + 4]
shl rbp, 5
add rbp, rcx
add rbp, rdx
lea rsi, [rcx + rdx]
test bl, bl
je 0x140021bc6
cmp rsi, rbp
je 0x140021bdb
nop dword [rax]
nop word [rax + rax]
mov rdi, r12
mov rbx, rsi
mov rdx, rbx
mov rcx, rdi
add r12, 0x20
add rsi, 0x20
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [rbx + 8]
lea rcx, [rdi + 8]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
lea rdx, [rbx + 0x10]
lea rcx, [rdi + 0x10]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString_const____ptr64____ptr64]
mov eax, dword [rbx + 0x18]
mov dword [rdi + 0x18], eax
movzx eax, byte [rbx + 0x1c]
mov byte [rdi + 0x1c], al
movzx eax, byte [rbx + 0x1d]
mov byte [rdi + 0x1d], al
cmp rsi, rbp
jne 0x140021b70
movzx ebx, byte [rsp + 0x70]
jmp 0x140021bdb
sub rbp, rsi
mov rdx, rsi
and rbp, 0xffffffffffffffe0
mov rcx, r12
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14]
mov r12, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x78]
mov ecx, dword [rax + 8]
xor ecx, dword [r13 + 8]
btr ecx, 0x1f
xor ecx, dword [rax + 8]
mov dword [r13 + 8], ecx
mov rcx, qword [r14]
mov eax, dword [rcx]
test eax, eax
je 0x140021c19
cmp eax, 0xffffffff
je 0x140021c41
mov eax, 0xffffffff
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140021c41
test r15d, r15d
je 0x140021c36
test bl, bl
jne 0x140021c36
mov rcx, qword [r14]
mov edx, 0x20
lea r8d, [rdx - 0x18]
call qword [sym.imp.Qt5Core_conda.dll_public:_static_void___cdecl_QArrayData::deallocate_struct_QArrayData____ptr64__unsigned_long_long_unsigned___int64___unsigned_long_long_unsigned___int64__]
jmp 0x140021c41
mov rdx, qword [r14]
mov rcx, r14
call fcn.14001c960
mov qword [r14], r13
lea rdx, [rsp + 0x20]
movsxd rbx, dword [r13 + 4]
shl rbx, 5
add rbx, qword [r13 + 0x10]
add rbx, r13
mov rcx, rbx
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString____ptr64____ptr64]
lea rcx, [rbx + 8]
lea rdx, [rsp + 0x28]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString____ptr64____ptr64]
lea rcx, [rbx + 0x10]
lea rdx, [rsp + 0x30]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::constructor_class_QString____ptr64____ptr64]
mov eax, dword [rsp + 0x38]
lea rcx, [rsp + 0x30]
mov dword [rbx + 0x18], eax
movzx eax, byte [rsp + 0x3c]
mov byte [rbx + 0x1c], al
movzx eax, byte [rsp + 0x3d]
mov byte [rbx + 0x1d], al
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rsp + 0x28]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::destructor_void____ptr64]
lea rcx, [rsp + 0x20]
call qword [sym.imp.Qt5Core_conda.dll_public:_void___cdecl_QString::destructor_void____ptr64]
mov rax, qword [r14]
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x88]
inc dword [rax + 4]
add rsp, 0x48
pop r14
pop rdi
pop rsi
pop rbx
ret