Function at 0x40a160
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
mov eax, dword [0x423004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [str.MainWindowClass]
mov ecx, dword [0x41b7e4]
mov edx, dword [0x41b7e8]
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x41b7ec]
push esi
push edi
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
push edi
push esi
mov eax, 0x210
mov edi, 0x4269e8
xor edx, edx
mov ecx, eax
shr ecx, 3
je 0x40a1c1
mov dword [edi], edx
mov dword [edi + 4], edx
add edi, 8
dec ecx
jne 0x40a1b6
and eax, 7
je 0x40a1cc
mov byte [edi], dl
inc edi
dec eax
jne 0x40a1c6
pop esi
pop edi
xor esi, esi
lea edi, [ebp - 0x130]
mov dword [0x4269ec], ebx
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x118], esi
call fcn.00405d00
lea ebx, [esi + 1]
cmp dword [ebp - 0x118], esi
jne 0x40a223
lea edi, [ebp - 0x130]
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x118], esi
call fcn.00405d00
cmp dword [ebp - 0x118], esi
je 0x40a231
mov ecx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x128]
jmp 0x40a235
xor eax, eax
xor ecx, ecx
push str.VB_AudioVoicemeeterGEQ
mov edx, 0x122
push ebx
mov esi, 0x2b0
xor edi, edi
push edi
mov dword [0x426b00], ecx
mov dword [0x426afc], eax
mov dword [0x426b04], esi
mov dword [0x426b08], edx
mov dword [0x426aec], eax
mov dword [0x426af0], ecx
mov dword [0x426af4], esi
mov dword [0x426af8], edx
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
cmp esi, edi
je 0x40a296
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40a2ac
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040a567
mov esp, ebp
pop ebp
ret 0x10
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0x13c], eax
call fcn.00402c80
mov esi, dword [ebp - 0x138]
push esi
call fcn.004054b0
add esp, 4
lea ecx, [ebp - 0x134]
push ecx
push str.GEQ15_SysTray
call fcn.00403700
add esp, 8
cmp eax, ebx
jne 0x40a2ff
xor edx, edx
cmp dword [ebp - 0x134], edi
setne dl
mov dword [0x4269d8], edx
lea eax, [ebp - 0x134]
push eax
push str.GEQ15_SysTrayShowOnRun
call fcn.00403700
add esp, 8
cmp eax, ebx
jne 0x40a328
xor ecx, ecx
cmp dword [ebp - 0x134], edi
setne cl
mov dword [0x4269dc], ecx
lea edx, [ebp - 0x134]
push edx
push str.GEQ15_ShowOnTop
call fcn.00403700
add esp, 8
cmp eax, ebx
jne 0x40a350
xor eax, eax
cmp dword [ebp - 0x134], edi
setne al
mov dword [0x4269e0], eax
push 0x64
push esi
mov dword [ebp - 0x164], 0xb
mov dword [ebp - 0x160], 0x409720
mov dword [ebp - 0x15c], edi
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x154], esi
call dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push edi
mov dword [ebp - 0x150], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 4
mov dword [ebp - 0x14c], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
lea edx, [ebp - 0x164]
lea ecx, [ebp - 0x14]
push edx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x144], edi
mov dword [ebp - 0x140], ecx
call dword [sym.imp.USER32.dll_RegisterClassA]
test ax, ax
jne 0x40a3ee
push 0x10
push str.Sorry
push str.Failed_to_register_main_class...
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040a567
mov esp, ebp
pop ebp
ret 0x10
xor edx, edx
cmp dword [0x4269e0], ebx
jne 0x40a3fd
mov edx, 8
mov ecx, 5
mov esi, str.VB_Audio_Graphic_EQ_15
lea edi, [ebp - 0x114]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x114]
movsb byte es:[edi], byte [esi]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40a420
mov ecx, dword [str.__Version:]
mov dword [eax], ecx
mov ecx, dword [0x41b850]
mov dword [eax + 4], ecx
mov ecx, dword [0x41b854]
mov dword [eax + 8], ecx
lea eax, [ebp - 0x114]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x40a450
mov ecx, dword [str.1.0.1.1]
mov dword [eax], ecx
mov ecx, dword [0x41b85c]
lea edi, [ebp - 0x114]
mov dword [eax + 4], ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40a470
mov ecx, dword [ebp - 0x138]
mov ax, word [0x41b860]
push 0
push ecx
mov ecx, dword [0x426af4]
push 0
push 0
mov word [edi], ax
mov eax, dword [0x426af8]
push eax
push ecx
push 0x80000000
push 0x80000000
push 0x82ca0000
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x14]
push ecx
push edx
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
jne 0x40a4e8
push 0x10
push str.Sorry
push str.Failed_to_create_window...
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040a567
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
push 0
lea edx, [ebp - 0x180]
push edx
call esi
test eax, eax
je 0x40a535
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea ecx, [ecx]
lea eax, [ebp - 0x180]
push eax
call edi
lea ecx, [ebp - 0x180]
push ecx
call ebx
push 0
push 0
push 0
lea edx, [ebp - 0x180]
push edx
call esi
test eax, eax
jne 0x40a510
call fcn.00405a00
call fcn.00403640
cmp dword [ebp - 0x13c], 0
jne 0x40a54e
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x178]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040a567
mov esp, ebp
pop ebp
ret 0x10