Function at 0x10018910
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10022a78
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1003ead0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x40]
cmp ebx, dword [eax + 4]
je 0x1001898c
mov ecx, dword [esi + 8]
cmp ebx, dword [ecx + 4]
je 0x1001898c
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
xor edi, edi
test edx, edx
jle 0x10018b68
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 8]
add ecx, edi
mov eax, dword [eax + ecx*4 + 0x14]
cmp dword [eax + 0xc], ebx
jne 0x10018979
push eax
mov ecx, esi
call fcn.10018680
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 8]
inc edi
cmp edi, edx
jl 0x10018960
jmp 0x10018b68
mov ecx, dword [eax + 4]
call sym.phonon4.dll_public:_class_QObject____thiscall_Phonon::MediaNodePrivate::backendObject_void_
mov ebx, eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
call sym.phonon4.dll_public:_class_QObject____thiscall_Phonon::MediaNodePrivate::backendObject_void_
mov ebp, eax
mov eax, dword [sym.imp.QtCore4.dll_struct_QListData::Data_QListData::shared_null]
mov dword [esp + 0x18], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [esi + 0x14]
mov edx, dword [eax + 0xc]
lea edi, [esi + 0x14]
mov dword [esp + 0x38], 0
cmp edx, dword [eax + 8]
jne 0x100189cf
mov eax, ebx
jmp 0x100189f4
mov eax, dword [eax]
cmp eax, 1
je 0x100189e3
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edx
mov ecx, edi
call fcn.10008d50
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov edx, dword [eax + ecx*4 + 0x14]
mov ecx, dword [edx + 0xc]
call sym.phonon4.dll_public:_class_QObject____thiscall_Phonon::MediaNodePrivate::backendObject_void_
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], ebp
call fcn.10017e60
mov eax, dword [edi]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [eax + 8]
je 0x10018a52
mov edx, dword [eax]
cmp edx, 1
je 0x10018a28
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push ecx
mov ecx, edi
call fcn.10008d50
mov edi, dword [edi]
mov edx, dword [edi + 0xc]
lea eax, [edi + edx*4 + 0x14]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 0xc]
call sym.phonon4.dll_public:_class_QObject____thiscall_Phonon::MediaNodePrivate::backendObject_void_
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ebx
call fcn.10017e60
mov edi, dword [sym.imp.QtCore4.dll_struct_QListData::Data_QListData::shared_null]
mov dword [esp + 0x1c], edi
mov edx, edi
mov eax, 1
lock xadd dword [edx], eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x40], 1
call fcn.100183b0
xor ebx, ebx
mov byte [esp + 0x38], 0
cmp edi, ebx
je 0x10018a9d
mov eax, edi
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10018a9d
push edi
lea ecx, [esp + 0x20]
call fcn.10017b10
lea ecx, [esp + 0x14]
call sym.phonon4.dll_public:_void___thiscall_Phonon::Path::constructor_void_
mov byte [esp + 0x38], 2
cmp esi, dword [esp + 0x14]
je 0x10018add
lea edx, [esi + 4]
mov eax, 1
lock xadd dword [edx], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x14], esi
cmp ecx, ebx
je 0x10018add
lea edx, [ecx + 4]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x10018add
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 4]
lea edx, [esp + 0x14]
push edx
cmp dword [esp + 0x44], ecx
jne 0x10018b01
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
call sym.phonon4.dll_public:_void___thiscall_Phonon::MediaNodePrivate::removeOutputPath_class_Phonon::Path_const__
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 4]
jmp 0x10018b0c
call sym.phonon4.dll_public:_void___thiscall_Phonon::MediaNodePrivate::removeInputPath_class_Phonon::Path_const__
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 4]
push esi
call sym.phonon4.dll_public:_void___thiscall_Phonon::MediaNodePrivate::removeDestructionHandler_class_Phonon::MediaNodeDestructionHandler__
mov eax, dword [esp + 0x14]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov byte [esp + 0x38], 0
cmp eax, ebx
je 0x10018b41
add eax, 4
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10018b41
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x10018b41
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], 0xffffffff
cmp eax, ebx
je 0x10018b68
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x10018b68
mov edx, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x1c]
call fcn.10017b10
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 4