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

Disassembly:
push esi
mov esi, dword [ecx + 4]
lea ecx, [esi + 0x41c]
mov dword [esi + 0x3e0], 3
call dword [sym.imp.Qt5Qml.dll_public:_bool___thiscall_QQmlChangeSet::isEmpty_void_const]
test al, al
je 0x10109bd0
lea ecx, [esi + 0x43c]
call dword [sym.imp.Qt5Qml.dll_public:_bool___thiscall_QQmlChangeSet::isEmpty_void_const]
test al, al
je 0x10109bd0
test byte [esi + 0x4e9], 0x10
jne 0x10109bd0
mov ecx, esi
call fcn.1010e870
jmp 0x10109bd7
mov ecx, esi
call fcn.1010c850
test byte [esi + 0x4e8], 0x40
je 0x10109bf1
cmp dword [esi + 0x4a4], 2
jne 0x10109bf1
mov eax, dword [esi]
mov ecx, esi
pop esi
jmp dword [eax + 0x70]
pop esi
ret
sub esp, 0x10
mov eax, ecx
push ebx
push ebp
mov dword [esp + 0x10], eax
mov ebx, dword [eax + 4]
mov edx, dword [ebx + 0x3f8]
lea ebp, [ebx + 0x3f8]
push esi
push edi
mov eax, dword [edx]
cmp eax, 1
je 0x1010ba11
test eax, eax
je 0x1010ba11
push dword [edx + 4]
mov ecx, ebp
call fcn.100b17c0
mov ecx, dword [ebp]
mov esi, dword [ecx + 8]
add esi, 4
lea esi, [ecx + esi*4]
lea ecx, [ecx]
mov ecx, dword [ebp]
mov eax, dword [ecx]
cmp eax, 1
je 0x1010baa5
test eax, eax
je 0x1010baa5
mov eax, dword [ecx + 8]
push dword [ecx + 4]
add eax, 4
lea eax, [ecx + eax*4]
mov ecx, ebp
mov dword [esp + 0x14], eax
call dword [sym.imp.Qt5Core.dll_public:_struct_QListData::Data____thiscall_QListData::detach_int_]
mov edi, dword [ebp]
mov dword [esp + 0x14], eax
mov edx, dword [edi + 8]
mov ecx, dword [edi + 0xc]
add edx, 4
add ecx, 4
lea eax, [edi + edx*4]
mov edx, dword [esp + 0x10]
lea ecx, [edi + ecx*4]
cmp edx, eax
je 0x1010ba7e
sub ecx, eax
sar ecx, 2
test ecx, ecx
jle 0x1010ba7e
shl ecx, 2
push ecx
push edx
push eax
call sub.MSVCR120.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
test eax, eax
je 0x1010ba9b
cmp eax, 0xffffffff
je 0x1010baa5
or eax, 0xffffffff
lock xadd dword [ecx], eax
setne al
test al, al
jne 0x1010baa5
push ecx
call dword [sym.imp.Qt5Core.dll_public:_static_void___cdecl_QListData::dispose_struct_QListData::Data__]
add esp, 4
mov ecx, dword [ebp]
mov eax, dword [ecx + 0xc]
add eax, 4
lea eax, [ecx + eax*4]
cmp esi, eax
je 0x1010bb26
mov edi, dword [esi]
cmp dword [edi + 0x14], 0xffffffff
jne 0x1010bafe
mov eax, dword [edi + 0x10]
test byte [eax + 0x10], 2
jne 0x1010bafe
mov ecx, dword [ebx + 0x4cc]
test ecx, ecx
je 0x1010bb06
push 1
push 4
call fcn.10111340
test al, al
je 0x1010bb06
or byte [ebx + 0x4e9], 0x10
push str.1destroyRemoved__
push dword [esp + 0x1c]
push str.2delayRemoveChanged__
push dword [edi + 0x10]
call dword [sym.imp.Qt5Core.dll_public:_static_bool___cdecl_QObject::disconnect_class_QObject_const___char_const___class_QObject_const___char_const__]
add esp, 0x10
add esi, 4
jmp 0x1010ba20
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 0x34]
push ecx
mov eax, esp
mov ecx, ebp
mov dword [eax], esi
lea eax, [esp + 0x20]
push eax
call fcn.100c6470
mov esi, dword [eax]
jmp 0x1010ba20
or byte [ebx + 0x4e8], 0x10
mov ecx, dword [ebx + 4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
jmp sym.Qt5Quick.dll_public:_void___thiscall_QQuickItem::polish_void_
push esi
mov esi, dword [ecx + 4]
mov ecx, dword [esi + 4]
call sym.Qt5Quick.dll_protected:_bool___thiscall_QQuickItem::isComponentComplete_void_const
test al, al
je 0x1010c178
lea ecx, [esi + 0x41c]
call dword [sym.imp.Qt5Qml.dll_public:_bool___thiscall_QQmlChangeSet::isEmpty_void_const]
test al, al
jne 0x1010c178
mov ecx, esi
pop esi
jmp fcn.1010c850
pop esi
ret
push esi
mov esi, dword [ecx + 4]
mov ecx, esi
call fcn.1010c5c0
test al, al
je 0x1010dc5a
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.1010dd00
pop esi
ret
push esi
mov esi, dword [ecx + 4]
mov ecx, esi
call fcn.1010c5c0
test al, al
je 0x1010dca7
mov eax, dword [esi + 0x3c0]
test eax, eax
je 0x1010dc96
cmp dword [eax + 4], 0
je 0x1010dc96
mov ecx, dword [esi + 0x3c4]
push 2
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
mov ecx, esi
call fcn.1010dd00
pop esi
ret
xor ecx, ecx
push 2
mov eax, dword [ecx]
call dword [eax + 0x2c]
push eax
mov ecx, esi
call fcn.1010dd00
pop esi
ret
mov eax, dword [esp + 8]
test eax, eax
jne 0x1015b22c
mov eax, dword [esp + 0xc]
cmp eax, 0x2b
ja case.default.0x1015afda
push esi
jmp dword [eax*4 + 0x1015b5b8]
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b9f0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b7b0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b710
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b730
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b750
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b970
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b6f0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b7f0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b810
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b990
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b830
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015c700
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b890
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b850
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b8b0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b870
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015ba70
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b6d0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b6b0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015ba30
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015ba10
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015c680
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015c660
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b7d0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b8d0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b910
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b8f0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b950
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015ba90
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015bab0
mov ecx, dword [esp + 8]
pop esi
jmp fcn.1015b930
mov ecx, dword [esp + 8]
pop esi
jmp 0x1010b9e0
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
push dword [eax]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push dword [eax]
call fcn.1010b860
pop esi
ret
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov eax, dword [edx + 8]
mov esi, dword [ecx]
push dword [eax]
mov eax, dword [edx + 4]
push dword [eax]
call dword [esi + 0xdc]
pop esi
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
movzx eax, byte [eax]
push eax
push dword [ecx + 4]
mov ecx, dword [esp + 0x10]
call fcn.1010d8a0
pop esi
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.1010bb40
pop esi
ret
mov ecx, dword [esp + 8]
pop esi
jmp 0x10109b90
mov ecx, dword [esp + 8]
pop esi
jmp fcn.10110240
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 8]
push dword [eax]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0xc]
push dword [eax]
call fcn.1010dcb0
pop esi
ret
mov esi, dword [esp + 0x14]
sub esp, 0x10
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 8]
movsd xmm0, qword [eax]
mov eax, dword [esi + 4]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
call fcn.1010c290
mov ecx, dword [esi]
test ecx, ecx
je 0x1015b1e1
mov dword [ecx], eax
pop esi
ret
mov esi, dword [esp + 0x14]
sub esp, 0x10
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 8]
movsd xmm0, qword [eax]
mov eax, dword [esi + 4]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
call fcn.1010c640
jmp 0x1015b1d9
mov ecx, dword [esp + 8]
pop esi
jmp 0x1010dc40
mov ecx, dword [esp + 8]
pop esi
jmp 0x1010dc60
mov ecx, dword [esp + 8]
pop esi
jmp 0x1010c150
cmp eax, 0xa
jne 0x1015b56d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax]
cmp edx, fcn.1015b9f0
jne 0x1015b258
test edx, edx
je 0x1015b252
cmp dword [eax + 4], 0
jne 0x1015b258
mov dword [ecx], 0
mov edx, dword [eax]
cmp edx, fcn.1015b7b0
jne 0x1015b272
test edx, edx
je 0x1015b26c
cmp dword [eax + 4], 0
jne 0x1015b272
mov dword [ecx], 1
mov edx, dword [eax]
cmp edx, fcn.1015b710
jne 0x1015b28c
test edx, edx
je 0x1015b286
cmp dword [eax + 4], 0
jne 0x1015b28c
mov dword [ecx], 2
mov edx, dword [eax]
cmp edx, fcn.1015b730
jne 0x1015b2a6
test edx, edx
je 0x1015b2a0
cmp dword [eax + 4], 0
jne 0x1015b2a6
mov dword [ecx], 3
mov edx, dword [eax]
cmp edx, fcn.1015b750
jne 0x1015b2c0
test edx, edx
je 0x1015b2ba
cmp dword [eax + 4], 0
jne 0x1015b2c0
mov dword [ecx], 4
mov edx, dword [eax]
cmp edx, fcn.1015b970
jne 0x1015b2da
test edx, edx
je 0x1015b2d4
cmp dword [eax + 4], 0
jne 0x1015b2da
mov dword [ecx], 5
mov edx, dword [eax]
cmp edx, fcn.1015b6f0
jne 0x1015b2f4
test edx, edx
je 0x1015b2ee
cmp dword [eax + 4], 0
jne 0x1015b2f4
mov dword [ecx], 6
mov edx, dword [eax]
cmp edx, fcn.1015b7f0
jne 0x1015b30e
test edx, edx
je 0x1015b308
cmp dword [eax + 4], 0
jne 0x1015b30e
mov dword [ecx], 7
mov edx, dword [eax]
cmp edx, fcn.1015b810
jne 0x1015b328
test edx, edx
je 0x1015b322
cmp dword [eax + 4], 0
jne 0x1015b328
mov dword [ecx], 8
mov edx, dword [eax]
cmp edx, fcn.1015b990
jne 0x1015b342
test edx, edx
je 0x1015b33c
cmp dword [eax + 4], 0
jne 0x1015b342
mov dword [ecx], 9
mov edx, dword [eax]
cmp edx, fcn.1015b830
jne 0x1015b35c
test edx, edx
je 0x1015b356
cmp dword [eax + 4], 0
jne 0x1015b35c
mov dword [ecx], 0xa
mov edx, dword [eax]
cmp edx, fcn.1015c700
jne 0x1015b376
test edx, edx
je 0x1015b370
cmp dword [eax + 4], 0
jne 0x1015b376
mov dword [ecx], 0xb
mov edx, dword [eax]
cmp edx, fcn.1015b890
jne 0x1015b390
test edx, edx
je 0x1015b38a
cmp dword [eax + 4], 0
jne 0x1015b390
mov dword [ecx], 0xc
mov edx, dword [eax]
cmp edx, fcn.1015b850
jne 0x1015b3aa
test edx, edx
je 0x1015b3a4
cmp dword [eax + 4], 0
jne 0x1015b3aa
mov dword [ecx], 0xd
mov edx, dword [eax]
cmp edx, fcn.1015b8b0
jne 0x1015b3c4
test edx, edx
je 0x1015b3be
cmp dword [eax + 4], 0
jne 0x1015b3c4
mov dword [ecx], 0xe
mov edx, dword [eax]
cmp edx, fcn.1015b870
jne 0x1015b3de
test edx, edx
je 0x1015b3d8
cmp dword [eax + 4], 0
jne 0x1015b3de
mov dword [ecx], 0xf
mov edx, dword [eax]
cmp edx, fcn.1015ba70
jne 0x1015b3f8
test edx, edx
je 0x1015b3f2
cmp dword [eax + 4], 0
jne 0x1015b3f8
mov dword [ecx], 0x10
mov edx, dword [eax]
cmp edx, fcn.1015b6d0
jne 0x1015b412
test edx, edx
je 0x1015b40c
cmp dword [eax + 4], 0
jne 0x1015b412
mov dword [ecx], 0x11
mov edx, dword [eax]
cmp edx, fcn.1015b6b0
jne 0x1015b42c
test edx, edx
je 0x1015b426
cmp dword [eax + 4], 0
jne 0x1015b42c
mov dword [ecx], 0x12
mov edx, dword [eax]
cmp edx, fcn.1015ba30
jne 0x1015b446
test edx, edx
je 0x1015b440
cmp dword [eax + 4], 0
jne 0x1015b446
mov dword [ecx], 0x13
mov edx, dword [eax]
cmp edx, fcn.1015ba10
jne 0x1015b460
test edx, edx
je 0x1015b45a
cmp dword [eax + 4], 0
jne 0x1015b460
mov dword [ecx], 0x14
mov edx, dword [eax]
cmp edx, fcn.1015c680
jne 0x1015b47a
test edx, edx
je 0x1015b474
cmp dword [eax + 4], 0
jne 0x1015b47a
mov dword [ecx], 0x15
mov edx, dword [eax]
cmp edx, fcn.1015c660
jne 0x1015b494
test edx, edx
je 0x1015b48e
cmp dword [eax + 4], 0
jne 0x1015b494
mov dword [ecx], 0x16
mov edx, dword [eax]
cmp edx, fcn.1015b7d0
jne 0x1015b4ae
test edx, edx
je 0x1015b4a8
cmp dword [eax + 4], 0
jne 0x1015b4ae
mov dword [ecx], 0x17
mov edx, dword [eax]
cmp edx, fcn.1015b8d0
jne 0x1015b4c8
test edx, edx
je 0x1015b4c2
cmp dword [eax + 4], 0
jne 0x1015b4c8
mov dword [ecx], 0x18
mov edx, dword [eax]
cmp edx, fcn.1015b910
jne 0x1015b4e2
test edx, edx
je 0x1015b4dc
cmp dword [eax + 4], 0
jne 0x1015b4e2
mov dword [ecx], 0x19
mov edx, dword [eax]
cmp edx, fcn.1015b8f0
jne 0x1015b4fc
test edx, edx
je 0x1015b4f6
cmp dword [eax + 4], 0
jne 0x1015b4fc
mov dword [ecx], 0x1a
mov edx, dword [eax]
cmp edx, fcn.1015b950
jne 0x1015b516
test edx, edx
je 0x1015b510
cmp dword [eax + 4], 0
jne 0x1015b516
mov dword [ecx], 0x1b
mov edx, dword [eax]
cmp edx, fcn.1015ba90
jne 0x1015b530
test edx, edx
je 0x1015b52a
cmp dword [eax + 4], 0
jne 0x1015b530
mov dword [ecx], 0x1c
mov edx, dword [eax]
cmp edx, fcn.1015bab0
jne 0x1015b54a
test edx, edx
je 0x1015b544
cmp dword [eax + 4], 0
jne 0x1015b54a
mov dword [ecx], 0x1d
mov edx, dword [eax]
cmp edx, fcn.1015b930
jne case.default.0x1015afda
test edx, edx
je 0x1015b566
cmp dword [eax + 4], 0
jne case.default.0x1015afda
mov dword [ecx], 0x1e
ret
cmp eax, 0xb
jne case.default.0x1015afda
mov eax, dword [esp + 0xc]
dec eax
cmp eax, 0x18
ja case.0x1015b587.2
movzx eax, byte [eax + 0x1015b674]
jmp dword [eax*4 + 0x1015b668]
call fcn.100f2c80
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [ecx], eax
ret
call fcn.1007c7d0
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov dword [ecx], eax
ret
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax], 0xffffffff
ret