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

Disassembly:
push 0xffffffffffffffff
push 0x491815
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push ebp
push esi
push edi
mov eax, dword [0x64468c]
xor eax, esp
push eax
lea eax, [esp + 0x5c]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x40], ebp
push 0xe
push str._1._2_____3._4
call dword [sym.imp.Qt5Core.dll_private:_static_struct_QTypedArrayData_unsigned_short_int_____cdecl_QString::fromAscii_helper_char_const___int_]
mov dword [esp + 0x2c], eax
add esp, 4
mov byte [esp + 0x2c], 0x20
mov ecx, esp
mov dword [esp + 0x68], 0
push dword [esp + 0x2c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
push 0xa
push 0
push dword [esp + 0x80]
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x38]
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QString::arg_unsigned_int__int__int__class_QChar_]
mov esi, eax
push ecx
mov ecx, esp
mov byte [esp + 0x2c], 0x20
push dword [esp + 0x2c]
mov byte [esp + 0x6c], 1
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
mov ebx, dword [esp + 0x7c]
lea eax, [esp + 0x3c]
push 0xa
push 0
push ebx
push eax
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QString::arg_unsigned_int__int__int__class_QChar_]
mov esi, eax
push ecx
mov ecx, esp
mov byte [esp + 0x7c], 0x20
push dword [esp + 0x7c]
mov byte [esp + 0x6c], 2
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
push 0xa
push 0
push dword [esp + 0x78]
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QString::arg_unsigned_int__int__int__class_QChar_]
mov esi, eax
push ecx
mov ecx, esp
mov byte [esp + 0x7c], 0x20
push dword [esp + 0x7c]
mov byte [esp + 0x6c], 3
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
push 0xa
push 0
push dword [esp + 0x7c]
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call dword [sym.imp.Qt5Core.dll_public:_class_QString___thiscall_QString::arg_unsigned_int__int__int__class_QChar_]
mov edi, eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x64], 4
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x58]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
mov esi, eax
mov ecx, dword [esi]
mov byte [esp + 0x64], 5
push 0x7cc
call dword [sym.imp.Qt5Core.dll_public:_class_QTextStream____thiscall_QTextStream::operator___int_]
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::maybeSpace_void_]
push edi
push str.Preview::deviceGroupList_onDeviceMoved
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___class_QString_const__]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x64], 4
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ecx, [esp + 0x30]
mov byte [esp + 0x64], 3
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 2
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 1
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x64], 0
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
lea ecx, [esp + 0x24]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QString::destructor_void_]
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x6c], eax
jne 0x456663
cmp edi, ebx
jne 0x456663
lea eax, [esp + 0x74]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x58]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
mov esi, eax
mov ecx, dword [esi]
push 0x7cf
mov dword [esp + 0x68], 6
call dword [sym.imp.Qt5Core.dll_public:_class_QTextStream____thiscall_QTextStream::operator___int_]
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::maybeSpace_void_]
push 0x49dd60
push str.Preview::deviceGroupList_onDeviceMoved
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
push dword [esp + 0x6c]
mov edi, dword [sym.imp.Qt5Core.dll_public:_class_QTextStream____thiscall_QTextStream::operator___unsigned_int_]
mov esi, eax
mov ecx, dword [esi]
call edi
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::maybeSpace_void_]
push dword [esp + 0x70]
mov esi, eax
mov ecx, dword [esi]
call edi
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::maybeSpace_void_]
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
jmp 0x456c96
lea ecx, [ebp + 0x60]
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x456679
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutex::lock_void_]
or dword [esp + 0x20], 1
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 7
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::relock_void_]
lea esi, [ebp + 0x64]
push esi
lea ecx, [esp + 0x7c]
mov dword [esp + 0x74], esi
call fcn.00454c00
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 8
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::unlock_void_]
mov eax, dword [esp + 0x74]
mov ecx, ebp
cmp dword [esp + 0x6c], eax
jne 0x4566c0
push ebx
push edi
call fcn.00458730
jmp 0x4566d0
push 1
push ebx
call fcn.0045cf00
push ebx
mov ecx, ebp
call fcn.0045d660
mov eax, dword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x14]
mov byte [esp + 0x64], 9
push eax
lea ecx, [esp + 0x7c]
call fcn.004429d0
mov eax, dword [sym.imp.Qt5Core.dll_struct_QListData::Data_const_QListData::shared_null]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 0xb
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::relock_void_]
mov eax, dword [esi]
mov eax, dword [eax]
cmp eax, 1
je 0x456718
test eax, eax
je 0x456718
mov ecx, esi
call fcn.00456380
mov ebp, dword [esp + 0x70]
mov esi, dword [ebp]
cmp dword [esi + 0xc], 0
je 0x45672a
mov esi, dword [esi + 0x14]
jmp 0x45672d
add esi, 8
mov edi, dword [esp + 0x78]
mov eax, dword [ebp]
mov eax, dword [eax]
cmp eax, 1
je 0x456746
test eax, eax
je 0x456746
mov ecx, ebp
call fcn.00456380
mov eax, dword [ebp]
add eax, 8
cmp esi, eax
je 0x45680b
mov eax, dword [edi + 0xc]
lea ebx, [esi + 0xc]
test eax, eax
je 0x45677e
mov edx, dword [ebx]
xor ecx, ecx
cmp dword [eax + 0xc], edx
jl 0x45676e
mov ecx, eax
mov eax, dword [eax + 4]
jmp 0x456771
mov eax, dword [eax + 8]
test eax, eax
jne 0x456762
test ecx, ecx
je 0x45677e
cmp edx, dword [ecx + 0xc]
jge 0x456780
xor ecx, ecx
test ecx, ecx
je 0x4567f2
push dword [ebx]
lea eax, [esp + 0x1c]
push eax
push ecx
mov ebx, esp
lea eax, [esp + 0x20]
push eax
push ecx
push esp
push 0
push 0
push 0
lea ecx, [esp + 0x6c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
push ebx
call fcn.00454500
add esp, 0xc
lea eax, [esp + 0x7c]
push eax
call fcn.00454500
add esp, 0xc
mov ecx, eax
mov byte [esp + 0x68], 0xc
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___int_]
lea ecx, [esp + 0x70]
mov byte [esp + 0x64], 0xb
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ebx, [esi + 0xc]
push ebx
lea ecx, [esp + 0x18]
call fcn.004285a0
lea ecx, [esp + 0x18]
jmp 0x4567f6
lea ecx, [esp + 0x1c]
push ebx
call fcn.00440950
mov ecx, esi
call dword [sym.imp.Qt5Core.dll_public:_struct_QMapNodeBase_const____thiscall_QMapNodeBase::nextNode_void_const]
mov esi, eax
jmp 0x456731
lea ecx, [esp + 0x20]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::unlock_void_]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x5c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ebp, dword [sym.imp.Qt5Core.dll_public:_class_QDebug___thiscall_QMessageLogger::debug_void_]
mov ecx, eax
call ebp
push 0x49dd70
push str.Preview::deviceGroupList_onDeviceMoved
push 0x7f8
mov ecx, eax
mov byte [esp + 0x74], 0xd
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___int_]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov dword [ecx], eax
inc dword [eax + 0xc]
lea eax, [esp + 0x78]
push eax
call fcn.00454500
mov ebx, dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QDebug::destructor_void_]
lea ecx, [esp + 0x7c]
add esp, 0xc
call ebx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0xb
call ebx
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x5c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call ebp
push 0x49dd84
push str.Preview::deviceGroupList_onDeviceMoved
push 0x7f9
mov ecx, eax
mov byte [esp + 0x74], 0xe
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___int_]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov dword [ecx], eax
inc dword [eax + 0xc]
lea eax, [esp + 0x78]
push eax
call fcn.00454500
add esp, 0xc
lea ecx, [esp + 0x70]
call ebx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0xb
call ebx
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x70]
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x5c]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMessageLogger::constructor_char_const___int__char_const__]
mov ecx, eax
call ebp
push 0x49dd98
push str.Preview::deviceGroupList_onDeviceMoved
push 0x7fa
mov ecx, eax
mov byte [esp + 0x74], 0xf
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___int_]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
mov ecx, eax
call dword [sym.imp.Qt5Core.dll_public:_class_QDebug____thiscall_QDebug::operator___char_const__]
push ecx
mov ecx, esp
mov eax, dword [eax]
mov dword [ecx], eax
inc dword [eax + 0xc]
lea eax, [esp + 0x78]
push eax
call fcn.00454500
add esp, 0xc
lea ecx, [esp + 0x70]
call ebx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0xb
call ebx
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x40]
mov ecx, dword [eax]
cmp ecx, 1
je 0x456996
test ecx, ecx
je 0x456996
push dword [eax + 4]
lea ecx, [esp + 0x20]
call fcn.004418b0
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 8]
add ecx, 4
lea esi, [eax + ecx*4]
mov ecx, dword [eax]
cmp ecx, 1
je 0x4569ba
test ecx, ecx
je 0x4569ba
push dword [eax + 4]
lea ecx, [esp + 0x20]
call fcn.004418b0
mov eax, dword [esp + 0x1c]
xor edx, edx
mov ecx, dword [eax + 0xc]
lea eax, [eax + ecx*4]
add eax, 0x10
mov ecx, eax
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp esi, eax
cmova ecx, edx
mov dword [esp + 0x70], ecx
test ecx, ecx
je 0x456a1a
xor edi, edi
mov ebx, dword [esi]
mov ecx, ebp
push 3
push ebx
call fcn.00483680
push ebx
mov ecx, ebp
call fcn.00457e20
push eax
mov ecx, ebp
call fcn.00458110
test al, al
je 0x456a0c
push 3
push ebx
mov ecx, ebp
call fcn.004836d0
inc edi
add esi, 4
cmp edi, dword [esp + 0x70]
jne 0x4569e2
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp eax, 1
je 0x456a39
test eax, eax
je 0x456a39
push dword [ecx + 4]
lea ecx, [esp + 0x18]
call fcn.004418b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
add eax, 4
lea esi, [ecx + eax*4]
mov eax, dword [ecx]
cmp eax, 1
je 0x456a5d
test eax, eax
je 0x456a5d
push dword [ecx + 4]
lea ecx, [esp + 0x18]
call fcn.004418b0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
xor ebx, ebx
add eax, 4
mov dword [esp + 0x70], 0
lea eax, [ecx + eax*4]
mov edx, eax
sub edx, esi
add edx, 3
shr edx, 2
cmp esi, eax
cmova edx, ebx
mov dword [esp + 0x6c], edx
test edx, edx
je 0x456abe
mov edi, edx
lea esp, [esp]
mov ebx, dword [esi]
mov ecx, ebp
push 4
push ebx
call fcn.00483680
push 4
push ebx
mov ecx, ebp
call fcn.004836d0
mov eax, dword [esp + 0x70]
lea esi, [esi + 4]
inc eax
mov dword [esp + 0x70], eax
cmp eax, edi
jne 0x456a90
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x78]
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
cmp edx, 1
je 0x456ae1
test edx, edx
je 0x456ae1
push dword [eax + 4]
lea ecx, [esp + 0x1c]
call fcn.004418b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 8]
add edx, 4
lea esi, [eax + edx*4]
mov edx, dword [eax]
cmp edx, 1
je 0x456b09
test edx, edx
je 0x456b09
push dword [eax + 4]
lea ecx, [esp + 0x1c]
call fcn.004418b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0xc]
add ebx, 4
lea ebx, [eax + ebx*4]
cmp esi, ebx
je 0x456bd0
lea edi, [ebp + 0xcc]
mov eax, dword [esi]
mov ecx, ebp
push eax
mov dword [esp + 0x78], eax
call fcn.00457e20
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], edi
test edi, edi
je 0x456b47
mov ecx, edi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutex::lock_void_]
or dword [esp + 0x6c], 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0x10
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::relock_void_]
mov ecx, dword [ebp + 0xd0]
mov eax, dword [ecx + 8]
add eax, 4
lea edx, [ecx + eax*4]
mov eax, dword [ecx + 0xc]
add eax, 4
lea eax, [ecx + eax*4]
cmp edx, eax
je 0x456b83
mov ecx, dword [esp + 0x70]
cmp dword [edx], ecx
je 0x456b81
add edx, 4
cmp edx, eax
jne 0x456b76
cmp edx, eax
lea ecx, [esp + 0x6c]
setne byte [esp + 0x70]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::unlock_void_]
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0xb
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::unlock_void_]
xor eax, eax
mov ecx, ebp
cmp byte [esp + 0x70], al
sete al
add eax, 3
push eax
push dword [esp + 0x78]
call fcn.004836d0
add esi, 4
cmp esi, ebx
jne 0x456b20
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x78]
mov edx, dword [eax]
or esi, 0xffffffff
mov ebx, dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
mov byte [esp + 0x64], 0xa
test edx, edx
je 0x456bf9
cmp edx, esi
je 0x456c03
mov ecx, esi
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x456bff
mov eax, dword [esp + 0x18]
push eax
call ebx
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov byte [esp + 0x64], 9
test eax, eax
je 0x456c24
cmp eax, 0xffffffff
je 0x456c2a
mov eax, esi
lock xadd dword [ecx], eax
setne al
test al, al
jne 0x456c2a
mov ecx, dword [esp + 0x14]
push ecx
call ebx
add esp, 4
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x64], 8
mov ecx, dword [eax]
test ecx, ecx
je 0x456c4b
cmp ecx, 0xffffffff
je 0x456c54
mov ecx, esi
lock xadd dword [eax], ecx
setne al
test al, al
jne 0x456c54
push dword [esp + 0x1c]
call ebx
add esp, 4
mov eax, dword [edi]
mov byte [esp + 0x64], 7
test eax, eax
je 0x456c70
cmp eax, 0xffffffff
je 0x456c8c
lock xadd dword [edi], esi
dec esi
setne al
test al, al
jne 0x456c8c
mov eax, dword [edi + 0xc]
test eax, eax
je 0x456c82
push 4
push eax
mov ecx, edi
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMapDataBase::freeTree_struct_QMapNodeBase___int_]
push edi
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QMapDataBase::freeData_struct_QMapDataBase__]
add esp, 4
lea ecx, [esp + 0x20]
call dword [sym.imp.Qt5Core.dll_public:_void___thiscall_QMutexLocker::unlock_void_]
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10