Function at 0x670268f0
Capabilities:
Create thread

Disassembly:
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], rsi
mov rsi, rdx
mov rdi, rcx
mov r8, qword [0x672bfc18]
lea rbx, [0x672bfc18]
mov r13d, 1
test byte [r8 + 4], r13b
je 0x6702693c
mov rcx, rbx
call sym.QtCoreVBox4.dll_public:_void___cdecl_QMutex::lock_void____ptr64
jmp 0x67026952
xor eax, eax
lock cmpxchg dword [r8], r13d
sete cl
test cl, cl
jne 0x67026952
mov rcx, rbx
call sym.QtCoreVBox4.dll_private:_void___cdecl_QMutex::lockInternal_void____ptr64
or rbx, r13
mov qword [rsp + 0x70], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [0x672bfc00]
jne 0x670269b7
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test bl, 1
je 0x67026c06
and rbx, 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
and rbx, 0xfffffffffffffffe
mov rcx, qword [rbx]
test byte [rcx + 4], 1
je 0x6702699e
mov rcx, rbx
call sym.QtCoreVBox4.dll_public:_void___cdecl_QMutex::unlock_void____ptr64
jmp 0x67026c06
xor r12d, r12d
mov eax, r13d
lock cmpxchg dword [rcx], r12d
je 0x67026c06
mov rcx, rbx
jmp 0x67026c01
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov ecx, dword [rax]
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
cmp ecx, 1
jne 0x670269df
movsxd rdx, dword [rax + 8]
lea ecx, [rdx + 1]
cmp ecx, dword [rax + 4]
jg 0x670269df
mov qword [rax + rdx*8 + 0x10], rdi
jmp 0x67026a1d
mov edx, dword [rax + 8]
inc edx
xor r9d, r9d
lea ecx, [r9 + 0x18]
lea r8d, [r9 + 8]
call sym.QtCoreVBox4.dll_public:_static_int___cdecl_QVectorData::grow_int__int__int__bool_
mov r8d, eax
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov edx, dword [rax + 8]
lea rcx, sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null
call fcn.670fef60
mov r11, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
movsxd rax, dword [r11 + 8]
mov qword [r11 + rax*8 + 0x10], rdi
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
inc dword [rax + 8]
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov ecx, dword [rax]
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
cmp ecx, 1
jne 0x67026a4f
movsxd rdx, dword [rax + 8]
lea ecx, [rdx + 1]
cmp ecx, dword [rax + 4]
jg 0x67026a4f
mov qword [rax + rdx*8 + 0x10], rsi
jmp 0x67026a8d
mov edx, dword [rax + 8]
inc edx
xor r9d, r9d
lea ecx, [r9 + 0x18]
lea r8d, [r9 + 8]
call sym.QtCoreVBox4.dll_public:_static_int___cdecl_QVectorData::grow_int__int__int__bool_
mov r8d, eax
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov edx, dword [rax + 8]
lea rcx, sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null
call fcn.670fef60
mov r11, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
movsxd rax, dword [r11 + 8]
mov qword [r11 + rax*8 + 0x10], rsi
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
inc dword [rax + 8]
xor r12d, r12d
cmp dword [0x672bfc00], r12d
jne 0x67026bc5
cmp qword [0x672bfc08], r12
jne 0x67026b9e
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [0x672bfc08], rax
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov ecx, dword [rax]
cmp ecx, 1
je 0x67026af3
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov r8d, dword [rax + 4]
mov edx, dword [rax + 8]
lea rcx, sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null
call fcn.670fef60
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
lea rbp, [rax + 0x10]
sub rbp, rax
sub rbp, 0x10
sar rbp, 3
mov rsi, qword [0x672bfc08]
mov edx, dword [rax]
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
cmp edx, 1
jne 0x67026b28
mov edx, dword [rax + 8]
inc edx
cmp edx, dword [rax + 4]
jle 0x67026b5d
mov edx, dword [rax + 8]
inc edx
xor r9d, r9d
lea ecx, [r9 + 0x18]
lea r8d, [r9 + 8]
call sym.QtCoreVBox4.dll_public:_static_int___cdecl_QVectorData::grow_int__int__int__bool_
mov r8d, eax
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
mov edx, dword [rax + 8]
lea rcx, sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null
call fcn.670fef60
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
movsxd rcx, ebp
lea rdi, [rax + rcx*8 + 0x10]
lea rbx, [rdi + 8]
mov ecx, dword [rax + 8]
sub ecx, ebp
movsxd r8, ecx
shl r8, 3
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.MSVCR100.dll_memmove]
cmp rbx, rdi
je 0x67026b94
sub rbx, 8
je 0x67026b8f
mov qword [rbx], rsi
cmp rbx, rdi
jne 0x67026b86
mov rax, qword [sym.QtCoreVBox4.dll_struct_QVectorData_QVectorData::shared_null]
inc dword [rax + 8]
lea rax, [0x672bfc00]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, [0x670264b0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x67026bd3
mov rcx, qword [0x672bfc08]
call qword [sym.imp.KERNEL32.dll_SetEvent]
nop
mov rcx, qword [rsp + 0x70]
test cl, 1
je 0x67026c06
and rcx, 0xfffffffffffffffe
mov qword [rsp + 0x70], rcx
and rcx, 0xfffffffffffffffe
mov rdx, qword [rcx]
test byte [rdx + 4], 1
jne 0x67026994
mov eax, r13d
lock cmpxchg dword [rdx], r12d
je 0x67026c06
call sym.QtCoreVBox4.dll_private:_void___cdecl_QMutex::unlockInternal_void____ptr64
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x40
pop r13
pop r12
pop rdi
ret