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

Disassembly:
push 0xffffffffffffffff
push 0x43e067
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4d0d8c]
xor eax, esp
push eax
lea eax, [esp + 0x94]
mov dword fs:[0], eax
mov dword [esp + 0x44], ecx
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov dword [esp + 0x20], eax
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0xa0], 0
call fcn.0041a880
mov esi, eax
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x9c], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x4205e7
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov eax, dword [sym.imp.QtCore4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov dword [esp + 0x28], eax
mov ecx, 1
lock xadd dword [eax], ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
mov dword [esp + 0xa0], 1
call fcn.004174d0
mov eax, dword [esp + 0x3c]
cmp dword [eax + 8], 0
mov byte [esp + 0x9c], 2
je 0x420836
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov dword [esp + 0x1c], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [sym.imp.QtCore4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov dword [esp + 0x2c], eax
mov edx, 1
lock xadd dword [eax], edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x38]
push ecx
mov byte [esp + 0xa4], 4
call dword [sym.imp.QtCore4.dll_public:_static_class_QLocale___cdecl_QLocale::system_void_]
add esp, 4
mov ecx, eax
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QLocale::name_void_]
push 1
push 0
push ecx
mov byte [esp + 0x24], 0x5f
mov edx, dword [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x3c], esp
push edx
mov byte [esp + 0xac], 5
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
lea ecx, [esp + 0x30]
call dword [sym.imp.QtCore4.dll_public:_int___thiscall_QString::indexOf_class_QChar__int__enum_Qt::CaseSensitivity_const]
cmp eax, 0xffffffff
jle 0x4206e5
push eax
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QString::left_int_]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xa0], 6
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString_const__]
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x9c], 5
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x4206e5
mov eax, dword [esp + 0x38]
push eax
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
push ecx
mov eax, esp
lea ecx, [esp + 0x40]
mov dword [esp + 0x1c], esp
push ecx
lea ecx, [esp + 0x80]
mov dword [eax], 1
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDataStream::constructor_class_QByteArray___class_QFlags_enum_QIODevice::OpenModeFlag__]
lea ecx, [esp + 0x78]
mov byte [esp + 0x9c], 7
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QDataStream::atEnd_void_const]
test al, al
jne 0x4207b7
mov esi, dword [sym.imp.QtCore4.dll_class_QDataStream____cdecl_operator___class_QDataStream___class_QString__]
mov edi, dword [sym.imp.QtCore4.dll_class_QDataStream____cdecl_operator___class_QDataStream___class_QByteArray__]
mov ebx, dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QLatin1String_const__const]
mov ebp, str.default
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x7c]
push eax
call esi
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x84]
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], ebp
call ebx
test al, al
je 0x420781
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 8], 0
jne 0x420781
lea edx, [esp + 0x2c]
push edx
lea ecx, [esp + 0x2c]
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray____thiscall_QByteArray::operator_class_QByteArray_const__]
jmp 0x420794
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QString::operator_class_QString_const__const]
test al, al
jne 0x4207a4
lea ecx, [esp + 0x78]
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QDataStream::atEnd_void_const]
test al, al
je 0x420735
jmp 0x4207b3
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x2c]
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray____thiscall_QByteArray::operator_class_QByteArray_const__]
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x78]
mov byte [esp + 0x9c], 5
call dword [sym.imp.QtCore4.dll_public_virtual:_void___thiscall_QDataStream::destructor_void_]
mov edx, dword [esp + 0x24]
mov byte [esp + 0x9c], 4
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x4207ec
mov ecx, dword [esp + 0x24]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov edx, dword [esp + 0x2c]
mov ebp, dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
mov byte [esp + 0x9c], 3
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x420811
mov ecx, dword [esp + 0x2c]
push ecx
call ebp
add esp, 4
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x9c], 2
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x42083c
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
jmp 0x42083c
mov ebp, dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
mov edx, dword [esp + 0x44]
push edx
lea ecx, [esp + 0x58]
call fcn.004039f0
mov eax, dword [sym.imp.QtCore4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov dword [esp + 0x40], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [esp + 0x28]
cmp dword [edx + 8], 0
mov edi, dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QString::arg_class_QString_const___int__class_QChar_const__]
mov byte [esp + 0x9c], 9
je 0x4209e5
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.00417470
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xa0], 0xa
call dword [sym.imp.QtCore4.dll_public:_class_QByteArray____thiscall_QByteArray::operator_class_QByteArray_const__]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x9c], 9
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x4208b6
mov eax, dword [esp + 0x14]
push eax
call ebp
add esp, 4
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004174a0
lea ecx, [esp + 0x48]
mov byte [esp + 0x9c], 0xb
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QPixmap::constructor_void_]
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
push 0
lea edx, [esp + 0x48]
mov bl, 0xc
push edx
lea ecx, [esp + 0x54]
mov byte [esp + 0xa8], bl
mov dword [eax], 0
call dword [sym.imp.QtGui4.dll_public:_bool___thiscall_QPixmap::loadFromData_class_QByteArray_const___char_const___class_QFlags_enum_Qt::ImageConversionFlag__]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0xc]
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const___int_]
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xa4], 0xd
call fcn.00404020
mov eax, dword [esp + 0x14]
mov byte [esp + 0x9c], bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x42094c
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
lea ecx, [esp + 0x48]
call dword [sym.imp.QtGui4.dll_public:_bool___thiscall_QPixmap::isNull_void_const]
test al, al
jne 0x420968
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x58]
call fcn.004034f0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x58]
call fcn.00403190
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0xa0], 0xe
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QWidget::setWindowTitle_class_QString_const__]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x9c], bl
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x4209ab
mov ecx, dword [esp + 0x14]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
lea ecx, [esp + 0x48]
mov byte [esp + 0x9c], 0xb
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QPixmap::destructor_void_]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x9c], 9
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x420c07
mov ecx, dword [esp + 0x1c]
push ecx
call ebp
add esp, 4
jmp 0x420c07
mov eax, dword [sym.imp.QtCore4.dll_struct_QByteArray::Data_QByteArray::shared_null]
mov dword [esp + 0x1c], eax
mov edx, 1
lock xadd dword [eax], edx
mov byte [esp + 0x18], 0x20
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xa0], 0xf
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
mov ebp, dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromLatin1_helper_char_const___int_]
push 0xffffffffffffffff
push str.4.7.3
call ebp
add esp, 8
mov dword [esp + 0x20], eax
mov byte [esp + 0x34], 0x20
mov ecx, dword [esp + 0x34]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0xa0], 0x10
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
push 0
lea edx, [esp + 0x1c]
push 0x44587c
push edx
call fcn.0041efe0
mov esi, eax
push 0
lea eax, [esp + 0x40]
push str._center__h3__1__h3__p_Version__2__p___center__p_Copyright__C__2011_Nokia_Corporation_and_or_its_subsidiary__ies_.__p_
push eax
mov byte [esp + 0xb4], 0x11
call fcn.0041efe0
add esp, 0x18
lea ecx, [esp + 0x2c]
push ecx
push 0
push esi
lea edx, [esp + 0x44]
push edx
mov ecx, eax
mov byte [esp + 0xac], 0x12
call edi
lea ecx, [esp + 0x24]
push ecx
push 0
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x20]
push ecx
mov bl, 0x13
mov ecx, eax
mov byte [esp + 0xac], bl
call edi
lea edx, [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0xa4], 0x14
call fcn.00404020
mov eax, dword [esp + 0x14]
mov esi, dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
mov byte [esp + 0x9c], bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420ae6
mov edx, dword [esp + 0x14]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x38]
mov byte [esp + 0x9c], 0x12
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420b05
mov edx, dword [esp + 0x38]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x30]
mov byte [esp + 0x9c], 0x11
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420b24
mov edx, dword [esp + 0x30]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x18]
mov byte [esp + 0x9c], 0x10
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420b43
mov edx, dword [esp + 0x18]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x20]
mov byte [esp + 0x9c], 0xf
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420b62
mov edx, dword [esp + 0x20]
push edx
call esi
add esp, 4
push 0xffffffffffffffff
push str.:_trolltech_assistant_images_assistant_128.png
call ebp
mov dword [esp + 0x28], eax
add esp, 4
mov eax, esp
mov dword [esp + 0x38], esp
mov dword [eax], 0
push 0
lea eax, [esp + 0x28]
mov bl, 0x15
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xa8], bl
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QPixmap::constructor_class_QString_const___char_const___class_QFlags_enum_Qt::ImageConversionFlag__]
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x58]
mov byte [esp + 0xa0], 0x16
call fcn.004034f0
lea ecx, [esp + 0x48]
mov byte [esp + 0x9c], bl
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QPixmap::destructor_void_]
mov edx, dword [esp + 0x20]
mov byte [esp + 0x9c], 0xf
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x420bde
mov ecx, dword [esp + 0x20]
push ecx
call esi
add esp, 4
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x9c], 9
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x420c01
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
add esp, 4
mov ebp, dword [sym.imp.QtCore4.dll_void___cdecl_qFree_void__]
mov esi, dword [sym.imp.QtGui4.dll_public:_class_QString___thiscall_QWidget::windowTitle_void_]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x58]
call esi
mov eax, dword [eax]
cmp dword [eax + 8], 0
mov ecx, dword [esp + 0x18]
sete bl
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x420c3c
mov eax, dword [esp + 0x18]
push eax
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
test bl, bl
je 0x420d10
mov byte [esp + 0x34], 0x20
mov ecx, dword [esp + 0x34]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QChar::constructor_struct_QLatin1Char_]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x14]
push edx
call esi
mov esi, eax
push 0
lea eax, [esp + 0x34]
push str.About__1
push eax
mov byte [esp + 0xa8], 0x17
call fcn.0041efe0
add esp, 0xc
lea ecx, [esp + 0x24]
push ecx
push 0
push esi
lea edx, [esp + 0x24]
mov bl, 0x18
push edx
mov ecx, eax
mov byte [esp + 0xac], bl
call edi
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0xa0], 0x19
call dword [sym.imp.QtGui4.dll_public:_void___thiscall_QWidget::setWindowTitle_class_QString_const__]
mov eax, dword [esp + 0x18]
mov esi, dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
mov byte [esp + 0x9c], bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420cd2
mov edx, dword [esp + 0x18]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x30]
mov byte [esp + 0x9c], 0x17
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420cf1
mov edx, dword [esp + 0x30]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x14]
mov byte [esp + 0x9c], 9
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420d10
mov edx, dword [esp + 0x14]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x54]
call dword [sym.imp.QtGui4.dll_public:_int___thiscall_QDialog::exec_void_]
mov eax, dword [esp + 0x40]
mov byte [esp + 0x9c], 8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420d39
mov edx, dword [esp + 0x40]
push edx
call ebp
add esp, 4
lea ecx, [esp + 0x54]
mov byte [esp + 0x9c], 2
call dword [sym.imp.QtGui4.dll_public_virtual:_void___thiscall_QDialog::destructor_void_]
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x9c], 1
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420d6a
mov edx, dword [esp + 0x3c]
push edx
call ebp
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x9c], 0xffffffff
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x420d8c
mov edx, dword [esp + 0x28]
push edx
call ebp
add esp, 4
mov ecx, dword [esp + 0x94]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret