Function at 0x4010e4
Capabilities:
Terminate process

Disassembly:
push eax
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x40]
and al, 0x40
mov dword [esp + 0x45c], 0
call dword [sym.imp.imfc0.dll_public:_void___thiscall_QtSingleApplication::constructor_class_QString_const___int___char___]
mov edx, dword [esp + 0x2c]
mov ebx, dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
mov byte [esp + 0x450], 2
mov eax, ebp
lock xadd dword [edx], eax
jne 0x401123
mov ecx, dword [esp + 0x2c]
push ecx
call ebx
add esp, 4
push 0x406
lea ecx, [esp + 0x38]
call dword [sym.imp.imfc0.dll_public:_void___thiscall_ImApplication::setImfcVersion_int_]
lea ecx, [esp + 0x34]
call dword [sym.imp.imfc0.dll_public:_bool___thiscall_ImApplication::checkIntegrality_void_]
test al, al
jne 0x4011eb
cmp dword [esp + 0x458], 1
jne 0x4016e0
push ebp
push str.Start_the_program_failed._Please_re_install_it.
call esi
mov dword [esp + 0x1c], eax
push ebp
mov bl, 3
push str.Error
mov byte [esp + 0x460], bl
call esi
add esp, 0x10
mov dword [esp + 0x18], eax
push 0
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
lea edx, [esp + 0x1c]
mov dword [eax], 0x400
push edx
lea eax, [esp + 0x24]
push eax
push 0
mov byte [esp + 0x464], 4
call dword [sym.imp.QtGui4.dll_public:_static_enum_QMessageBox::StandardButton___cdecl_QMessageBox::warning_class_QWidget___class_QString_const___class_QString_const___class_QFlags_enum_QMessageBox::StandardButton___enum_QMessageBox::StandardButton_]
dec esp
push ebx
add byte [ebx - 0x7cd3dbb4], cl
les edx, [eax + ecx*4]
pushfd
and al, 0x50
add al, 0
add byte [ebx - 0x3ef00f2b], cl
adc dword [ebp + 0xe], esi
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QCoreApplication::applicationDirPath_void_]
add esp, 4
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x28]
mov byte [esp + 0x454], 5
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDir::constructor_class_QString_const__]
push ebp
push str.plugins
mov byte [esp + 0x458], 6
call esi
add esp, 8
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x454], 7
call dword [sym.imp.QtCore4.dll_public:_bool___thiscall_QDir::cd_class_QString_const__]
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x450], 6
mov edx, ebp
lock xadd dword [ecx], edx
jne 0x40125c
mov eax, dword [esp + 0x14]
push eax
call ebx
add esp, 4
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x28]
call dword [sym.imp.QtCore4.dll_public:_class_QString___thiscall_QDir::path_void_]
push eax
mov byte [esp + 0x454], 8
call dword [sym.imp.QtCore4.dll_public:_static_void___cdecl_QCoreApplication::addLibraryPath_class_QString_const__]
mov edx, dword [esp + 0x18]
add esp, 4
mov byte [esp + 0x450], 6
mov eax, ebp
lock xadd dword [edx], eax
jne 0x40129b
mov ecx, dword [esp + 0x14]
push ecx
call ebx
add esp, 4
mov edx, dword [sym.imp.QtCore4.dll_class_QCoreApplication__QCoreApplication::self]
mov eax, dword [edx]
mov eax, dword [eax + 8]
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call dword [sym.imp.imfc0.dll_public:_class_QString___thiscall_ImPref::cfgDir_void_]
push 0x5ac77c
push eax
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x45c], 9
call fcn.00401000
push eax
mov byte [esp + 0x460], 0xa
call dword [sym.imp.QtCore4.dll_public:_static_bool___cdecl_QFile::exists_class_QString_const__]
mov bl, al
mov eax, dword [esp + 0x24]
add esp, 0x10
mov byte [esp + 0x450], 9
mov ecx, ebp
lock xadd dword [eax], ecx
jne 0x401301
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
mov eax, dword [esp + 0x18]
mov byte [esp + 0x450], 6
mov ecx, ebp
lock xadd dword [eax], ecx
jne 0x401323
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
test bl, bl
jne 0x4013c4
push ebp
push str.Failed_to_launch_the_program__please_re_install_it.
call esi
mov dword [esp + 0x20], eax
push ebp
mov bl, 0xb
push str.Error
mov byte [esp + 0x460], bl
call esi
add esp, 0x10
mov dword [esp + 0x14], eax
push 0
push ecx
mov eax, esp
mov dword [eax], 0x400
mov dword [esp + 0x38], esp
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
push 0
mov byte [esp + 0x464], 0xc
call dword [sym.imp.QtGui4.dll_public:_static_enum_QMessageBox::StandardButton___cdecl_QMessageBox::warning_class_QWidget___class_QString_const___class_QString_const___class_QFlags_enum_QMessageBox::StandardButton___enum_QMessageBox::StandardButton_]
mov edx, dword [esp + 0x28]
add esp, 0x14
mov byte [esp + 0x450], bl
mov eax, ebp
lock xadd dword [edx], eax
jne 0x40139c
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
mov edx, dword [esp + 0x18]
mov byte [esp + 0x450], 6
lock xadd dword [edx], ebp
jne 0x4013bc
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
push 0
call dword [sym.imp.MSVCR90.dll_exit]
mov ecx, dword [sym.imp.QtCore4.dll_class_QCoreApplication__QCoreApplication::self]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 0
mov ecx, eax
call dword [sym.imp.imfc0.dll_public:_void___thiscall_ImPref::setTanslucentWhenSkin_bool_]
lea ecx, [esp + 0x34]
call dword [sym.imp.imfc0.dll_public:_void___thiscall_ImApplication::installTranslators_void_]
push 1
push 0
lea ecx, [esp + 0x3c]
call dword [sym.imp.imfc0.dll_public:_void___thiscall_ImApplication::initCfg_char_const___bool_]
mov edx, dword [esp + 0x458]
push edi
push edx
lea ecx, [esp + 0x3c]
call dword [sym.imp.imfc0.dll_public_virtual:_bool___thiscall_ImApplication::processCmdLine_int__char___const_]
test al, al
je 0x401442
lea ecx, [esp + 0x24]
mov byte [esp + 0x450], 5
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDir::destructor_void_]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x450], 2
mov ecx, ebp
lock xadd dword [eax], ecx
jne 0x4016e0
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
jmp 0x4016dd
push ebp
push str.SINGLETON_APP_ID
call esi
add esp, 8
mov dword [esp + 0x14], eax
mov edi, dword [sym.imp.imfc0.dll_public:_static_class_regLib____cdecl_regLib::instance_void_]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0x458], 0xd
call edi
mov ebx, dword [sym.imp.imfc0.dll_public:_class_QString___thiscall_regLib::productInfo_class_QString_const__]
mov ecx, eax
call ebx
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x454], 0xe
call dword [sym.imp.imfc0.dll_public:_bool___thiscall_QtSingleApplication::isRunning_class_QString_const__]
mov edx, dword [esp + 0x18]
mov byte [esp + 0x23], al
mov byte [esp + 0x450], 0xd
mov eax, ebp
lock xadd dword [edx], eax
jne 0x4014ae
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov edx, dword [esp + 0x14]
mov byte [esp + 0x450], 6
mov eax, ebp
lock xadd dword [edx], eax
jne 0x4014d0
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
cmp byte [esp + 0x23], 0
je 0x401511
lea ecx, [esp + 0x24]
mov byte [esp + 0x450], 5
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QDir::destructor_void_]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x450], 2
mov eax, ebp
lock xadd dword [edx], eax
jne 0x4016e0
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
jmp 0x4016dd
call edi
mov ecx, eax
call dword [sym.imp.imfc0.dll_public:_bool___thiscall_regLib::IsContRun_void_]
test al, al
je 0x4014d7
push ebp
push str.support_mac_app_store
call esi
add esp, 8
mov dword [esp + 0x14], eax
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x458], 0xf
call edi
mov ecx, eax
call ebx
mov ecx, dword [esp + 0x14]
and al, 0x14