Function at 0x401650
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea ecx, [ebp - 0xa68]
push ebx
sub esp, 0xa9c
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], 0x50f02
mov dword [esp + 4], eax
lea eax, [ebp + 8]
mov dword [esp], eax
call dword [method.QApplication.QApplication_int__char__int_]
sub esp, 0xc
mov dword [esp + 4], 1
mov dword [esp], 0x14
call dword [method.QCoreApplication.setAttribute_Qt::ApplicationAttribute__bool_]
lea esi, [ebp - 0xa60]
mov dword [esp], esi
call dword [method.QCoreApplication.applicationDirPath__]
mov edx, dword [ebp - 0xa60]
mov dword [ebp - 0xa78], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x401cb0
mov eax, dword [method.QString.fromUtf8_helper_char_const__int_]
lea ebx, [ebp - 0xa50]
mov dword [esp + 8], 0x13
mov dword [esp + 4], 0x4b9044
mov dword [esp], ebx
mov dword [ebp - 0xa7c], eax
call eax
lea eax, [ebp - 0xa78]
mov dword [esp], ebx
mov dword [ebp - 0xa88], eax
mov ecx, eax
mov eax, dword [method.QString.append_QString_const_]
mov dword [ebp - 0xa80], eax
call eax
mov eax, dword [ebp - 0xa50]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x401b52
cmp edx, 0xffffffff
je 0x40172a
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa50]
je 0x401b52
mov eax, dword [ebp - 0xa60]
mov edx, dword [eax]
test edx, edx
je 0x401b7b
cmp edx, 0xffffffff
je 0x40174f
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa60]
je 0x401b7b
mov dword [esp], 8
call sub.libstdc_6.dll_operator_new_unsigned_int_
mov edi, eax
mov eax, dword [ebp - 0xa88]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov ecx, edi
mov dword [esp], eax
call dword [method.QSettings.QSettings_QString_const__QSettings::Format__QObject_]
mov eax, dword [method.QString.fromAscii_helper_char_const__int_]
sub esp, 0xc
mov dword [ebp - 0xa58], 0x80000000
mov dword [ebp - 0xa60], 0
mov dword [esp + 4], 0x13
mov dword [esp], 0x4b9058
mov dword [ebp - 0xa8c], eax
call eax
mov dword [ebp - 0xa6c], eax
lea eax, [ebp - 0xa6c]
mov ecx, ebx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [method.QSettings.value_QString_const__QVariant_const__const]
sub esp, 0xc
lea ecx, [ebp - 0xa74]
mov dword [esp], ebx
call dword [method.QVariant.toString___const]
mov eax, dword [method.QVariant.QVariant__]
sub esp, 4
mov ecx, ebx
mov dword [ebp - 0xa84], eax
call eax
mov eax, dword [ebp - 0xa6c]
mov edx, dword [eax]
test edx, edx
je 0x401bf0
cmp edx, 0xffffffff
je 0x401819
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa6c]
je 0x401bf0
mov eax, dword [ebp - 0xa84]
mov ecx, esi
call eax
mov edx, dword [ebp - 0xa74]
mov dword [ebp - 0xa60], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x401cc0
mov dword [esp + 8], 0x1d
mov eax, dword [ebp - 0xa7c]
mov dword [esp + 4], str._Wireless_Gaming_Mouse_Mutex1
mov dword [esp], ebx
call eax
mov dword [esp], ebx
mov ecx, esi
mov eax, dword [ebp - 0xa80]
call eax
mov eax, dword [ebp - 0xa50]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x401c10
cmp edx, 0xffffffff
je 0x40188d
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa50]
je 0x401c10
mov eax, dword [ebp - 0xa60]
lea edi, [ebp - 0xa48]
xor edx, edx
mov ecx, ebx
mov dword [ebp - 0xa4c], 0
mov dword [esp + 4], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0xa50], edi
mov dword [esp], eax
mov word [ebp - 0xa48], dx
call fcn.004960c8
mov eax, dword [ebp - 0xa60]
sub esp, 8
mov edx, dword [ebp - 0xa50]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xa84], ecx
test ecx, ecx
jne 0x401af2
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0xa84], eax
mov eax, dword [ebp - 0xa50]
sub esp, 0xc
cmp eax, edi
je 0x40191b
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0xa60]
mov edx, dword [eax]
test edx, edx
je 0x401c30
cmp edx, 0xffffffff
je 0x401940
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa60]
je 0x401c30
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x401ce0
mov dword [esp], 0
mov ecx, ebx
call fcn.00410110
mov eax, dword [ebp - 0x6bc]
sub esp, 4
test eax, eax
jne 0x401b35
mov dword [esp + 4], 0xf
mov eax, dword [ebp - 0xa8c]
mov dword [esp], str.._skin_icon.ico
call eax
lea edi, [ebp - 0xa70]
mov dword [ebp - 0xa60], eax
mov dword [esp], esi
mov ecx, edi
call dword [method.QIcon.QIcon_QString_const_]
mov eax, dword [ebp - 0xa60]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x401c50
cmp edx, 0xffffffff
je 0x4019c6
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa60]
je 0x401c50
mov dword [esp], edi
mov ecx, ebx
call dword [method.QWidget.setWindowIcon_QIcon_const_]
mov edx, dword [ebp - 0xa74]
sub esp, 4
mov dword [ebp - 0xa6c], edx
mov eax, dword [edx]
add eax, 1
cmp eax, 1
ja 0x401cd0
mov dword [esp + 8], 7
mov eax, dword [ebp - 0xa7c]
mov dword [esp + 4], str._Config
mov dword [esp], esi
call eax
mov dword [esp], esi
lea ecx, [ebp - 0xa6c]
mov eax, dword [ebp - 0xa80]
call eax
mov eax, dword [ebp - 0xa60]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x401c90
cmp edx, 0xffffffff
je 0x401a42
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa60]
je 0x401c90
lea eax, [ebp - 0xa6c]
mov ecx, ebx
mov dword [esp], eax
call dword [method.QWidget.setWindowTitle_QString_const_]
mov eax, dword [ebp - 0xa6c]
sub esp, 4
mov edx, dword [eax]
test edx, edx
je 0x401c70
cmp edx, 0xffffffff
je 0x401a7b
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa6c]
je 0x401c70
call dword [method.QApplication.exec__]
mov ecx, edi
mov esi, eax
call dword [method.QIcon.QIcon__]
mov ecx, ebx
call fcn.00406fe0
mov eax, dword [ebp - 0xa74]
mov edx, dword [eax]
test edx, edx
je 0x401ba0
cmp edx, 0xffffffff
je 0x401ab7
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa74]
je 0x401ba0
mov eax, dword [ebp - 0xa78]
mov edx, dword [eax]
test edx, edx
je 0x401bc9
cmp edx, 0xffffffff
je 0x401adc
lock sub dword [eax], 1
mov eax, dword [ebp - 0xa78]
je 0x401bc9
lea ecx, [ebp - 0xa68]
call dword [method.QApplication.QApplication__]
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, dword [eax + 0xc]
je 0x401b0f
mov ecx, dword [ebp - 0xa84]
mov dword [esp + 4], eax
mov dword [esp], edx
add ecx, ecx
mov dword [esp + 8], ecx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0xa84]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
call fcn.004960c8
sub esp, 8
mov edx, dword [ebp - 0xa50]
jmp 0x4018e7
fld1
mov ecx, ebx
fstp qword [esp]
call dword [method.QWidget.setWindowOpacity_double_]
sub esp, 8
mov ecx, ebx
call dword [method.QWidget.show__]
jmp 0x401970
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0xa60]
mov edx, dword [eax]
test edx, edx
jne 0x40173a
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x40174f
mov dword [esp], eax
mov dword [esp + 8], 4
mov dword [esp + 4], 2
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
mov eax, dword [ebp - 0xa78]
mov edx, dword [eax]
test edx, edx
jne 0x401ac7
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x401adc
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x401819
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x40188d
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x401940
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x4019c6
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x401a7b
mov dword [esp + 8], 4
mov dword [esp + 4], 2
mov dword [esp], eax
call dword [method.QArrayData.deallocate_QArrayData__unsigned_int__unsigned_int_]
jmp 0x401a42
lock add dword [edx], 1
jmp 0x4016be
lock add dword [edx], 1
jmp 0x40183d
lock add dword [edx], 1
jmp 0x4019ee
mov eax, dword [ebp - 0xa84]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp], 1
call dword [method.QCoreApplication.exit_int_]
mov esi, 1
jmp 0x401a92