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

Disassembly:
push 0xffffffffffffffff
push 0x4e9c16
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56e01c]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x78]
xor esi, esi
mov dword [esp + 0x70], esi
lea eax, [ebp + 0xc]
mov dword [esp + 0x18], esi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x30], eax
mov eax, dword [eax]
mov dword [esp + 0x24], esi
mov dword [edi], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [edi]
test byte [eax + 0x10], 1
jne 0x4690a2
mov edx, dword [eax + 4]
push edi
call fcn.0045ce90
mov dword [esp + 0x70], esi
mov eax, dword [ebp + 0x14]
mov ebx, 1
mov dword [esp + 0x18], ebx
cmp eax, esi
je 0x469592
lea edx, [esp + 0x78]
push edx
push eax
mov dword [esp + 0x80], 0xffffffff
call fcn.004cab46
cmp eax, esi
je 0x4690d9
or esi, 0xffffffff
jmp 0x4690dd
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], esi
test esi, esi
jle 0x469592
xor ecx, ecx
mov eax, esi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ce3b0
mov ecx, dword [ebp + 0x14]
add esp, 4
mov esi, eax
push esi
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.004cab70
test eax, eax
jne 0x469592
mov dword [esp + 0x28], eax
cmp dword [esp + 0x24], eax
jbe 0x469592
mov dword [esp + 0x2c], esi
push 0x78
call sub.MSVCR90.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], 1
test eax, eax
je 0x469152
push esi
push eax
call fcn.00463760
jmp 0x469154
xor eax, eax
lea edx, [esp + 0x1c]
mov byte [esp + 0x70], 0
push edx
mov dword [esp + 0x20], eax
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QMetaObject::addGuard_class_QObject___]
add esp, 4
mov eax, dword [esp + 0x30]
lea esi, [esp + 0x58]
mov dword [esp + 0x70], 2
mov byte [esp + 0x17], 0
call fcn.00470730
mov byte [esp + 0x70], 3
mov eax, dword [esp + 0x60]
mov edi, edi
mov ecx, dword [esp + 0x5c]
mov edx, ecx
inc ecx
mov dword [esp + 0x5c], ecx
test edx, edx
jne 0x469322
cmp eax, dword [esp + 0x64]
je 0x469322
mov eax, dword [eax]
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], eax
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QMetaObject::addGuard_class_QObject___]
add esp, 4
mov byte [esp + 0x70], 4
jmp 0x4691d0
cmp dword [esp + 0x5c], 0
je 0x4692ff
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x40]
call fcn.00464380
mov edi, eax
mov byte [esp + 0x70], 5
mov eax, dword [esp + 0x20]
or ebx, 2
lea esi, [esp + 0x3c]
mov dword [esp + 0x18], ebx
call fcn.00464380
mov dword [esp + 0x70], 6
mov ebp, dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const]
or ebx, 4
push edi
mov ecx, eax
mov dword [esp + 0x1c], ebx
call ebp
test al, al
je 0x469269
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x38]
call fcn.004398e0
mov edi, eax
mov dword [esp + 0x70], 7
mov eax, dword [esp + 0x20]
or ebx, 8
lea esi, [esp + 0x34]
mov dword [esp + 0x18], ebx
call fcn.004398e0
mov dword [esp + 0x70], 8
or ebx, 0x10
push edi
mov ecx, eax
mov dword [esp + 0x1c], ebx
call ebp
mov byte [esp + 0x78], 1
test al, al
jne 0x46926e
mov byte [esp + 0x78], 0
mov dword [esp + 0x70], 7
test bl, 0x10
je 0x46928c
and ebx, 0xffffffef
lea ecx, [esp + 0x34]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 6
test bl, 8
je 0x4692aa
and ebx, 0xfffffff7
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 5
test bl, 4
je 0x4692c8
and ebx, 0xfffffffb
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 4
test bl, 2
je 0x4692e6
and ebx, 0xfffffffd
lea ecx, [esp + 0x40]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
cmp byte [esp + 0x78], 0
mov edi, dword [esp + 0x7c]
jne 0x4692fa
dec dword [esp + 0x5c]
jmp 0x4691d0
mov byte [esp + 0x17], 1
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x74], 3
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QMetaObject::removeGuard_class_QObject___]
mov eax, dword [esp + 0x64]
add esp, 4
add eax, 4
mov dword [esp + 0x60], eax
jmp 0x469190
mov byte [esp + 0x70], 2
mov eax, dword [esp + 0x58]
test eax, eax
je 0x469365
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x469365
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0xc]
lea eax, [ecx + edx*4 + 0x14]
mov edx, dword [ecx + 8]
lea ebx, [ecx + edx*4 + 0x14]
mov esi, ecx
call fcn.00409870
mov eax, dword [esi]
test eax, eax
jne 0x469361
push esi
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov ebx, dword [esp + 0x18]
cmp byte [esp + 0x17], 0
je 0x469561
mov ecx, dword [edi]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
xor ebp, ebp
mov dword [esp + 0x54], eax
test eax, eax
jle 0x469561
mov eax, dword [edi]
mov ecx, dword [eax]
cmp ecx, 1
je 0x46939a
mov edx, dword [edi]
mov edx, dword [edx + 4]
push edi
call fcn.0045ce90
mov eax, dword [edi]
mov ecx, dword [eax + 8]
add ecx, ebp
lea eax, [eax + ecx*4 + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
lea esi, [esp + 0x50]
call fcn.00464380
mov edi, eax
mov byte [esp + 0x70], 9
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
or ebx, 0x20
lea esi, [esp + 0x4c]
mov dword [esp + 0x18], ebx
call fcn.00464380
mov dword [esp + 0x70], 0xa
or ebx, 0x40
push edi
mov ecx, eax
mov dword [esp + 0x1c], ebx
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const]
test al, al
je 0x469466
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x48]
call fcn.004398e0
mov edi, eax
mov dword [esp + 0x70], 0xb
mov esi, dword [esp + 0x7c]
mov eax, dword [esi]
mov edx, dword [eax]
or ebx, 0x80
mov dword [esp + 0x18], ebx
cmp edx, 1
je 0x469426
mov eax, dword [esi]
mov edx, dword [eax + 4]
push esi
call fcn.0045ce90
mov eax, dword [esi]
mov ecx, dword [eax + 8]
add ecx, ebp
lea eax, [eax + ecx*4 + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
lea esi, [esp + 0x44]
call fcn.004398e0
mov dword [esp + 0x70], 0xc
mov ebx, dword [esp + 0x18]
or ebx, 0x100
push edi
mov ecx, eax
mov dword [esp + 0x1c], ebx
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const]
mov byte [esp + 0x78], 1
test al, al
jne 0x46946b
mov byte [esp + 0x78], 0
mov dword [esp + 0x70], 0xb
test ebx, 0x100
je 0x46948f
and ebx, 0xfffffeff
lea ecx, [esp + 0x44]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 0xa
test bl, bl
jns 0x4694af
and ebx, 0xffffff7f
lea ecx, [esp + 0x48]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 9
test bl, 0x40
je 0x4694cd
and ebx, 0xffffffbf
lea ecx, [esp + 0x4c]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
mov dword [esp + 0x70], 2
test bl, 0x20
je 0x4694eb
and ebx, 0xffffffdf
lea ecx, [esp + 0x50]
mov dword [esp + 0x18], ebx
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::destructor_void_]
cmp byte [esp + 0x78], 0
jne 0x469503
mov edi, dword [esp + 0x7c]
inc ebp
cmp ebp, dword [esp + 0x54]
jl 0x469386
jmp 0x469561
test ebp, ebp
jl 0x46955d
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp ebp, ecx
jge 0x46955d
mov edx, dword [eax]
mov esi, dword [esp + 0x7c]
cmp edx, 1
je 0x46952d
mov eax, dword [esi]
mov edx, dword [eax + 4]
push esi
call fcn.0045ce90
mov eax, dword [esi]
mov ecx, dword [eax + 8]
add ecx, ebp
mov edi, dword [eax + ecx*4 + 0x14]
lea eax, [eax + ecx*4 + 0x14]
test edi, edi
je 0x469550
push edi
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QMetaObject::removeGuard_class_QObject___]
push edi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 8
push ebp
mov ecx, esi
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QListData::remove_int_]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x74], 0
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QMetaObject::removeGuard_class_QObject___]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
inc eax
add esi, 0x18
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
cmp eax, dword [esp + 0x24]
jb 0x46912f
mov eax, edi
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 8