Function at 0x40b310
Capabilities:
Check if file exists
Check mutex on windows
Get file attributes

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
call fcn.0040a870
mov ecx, 0x446ce8
call fcn.00408470
xor edi, edi
cmp eax, edi
je 0x40b397
cmp eax, 0xb
jne 0x40b362
mov ecx, dword [0x446d28]
mov ebp, 8
cmp dword [0x446d3c], ebp
jae 0x40b349
mov ecx, 0x446d28
push ecx
mov eax, esp
push ecx
mov dword [eax], ecx
mov eax, esp
push edi
mov dword [eax], str.Incompatible_application_configuration_file._nDefault_configuration_will_be_used.
call fcn.0040e4a0
add esp, 0xc
jmp 0x40b39c
cmp eax, 2
je 0x40b36c
cmp eax, 0x6e
jne 0x40b397
cmp dword [0x446d3c], 8
mov ecx, dword [0x446d28]
jae 0x40b380
mov ecx, 0x446d28
push ecx
mov eax, esp
push ecx
mov dword [eax], ecx
mov eax, esp
push edi
mov dword [eax], str.Failed_to_open_application_configuration_file._nDefault_configuration_will_be_used.
call fcn.0040e4a0
add esp, 0xc
mov ebp, 8
mov esi, dword [esp + 0x24]
push str._exitall
push esi
call fcn.0042217d
add esp, 8
test eax, eax
jne 0x40b42d
mov ebx, dword [sym.imp.USER32.dll_PostMessageW]
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x24], edi
cmp dword [0x446d04], 8
mov eax, dword [0x446cf0]
jae 0x40b3d5
mov eax, 0x446cf0
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, eax
test esi, esi
je 0x40b62e
cmp edi, esi
jne 0x40b40b
mov eax, dword [esp + 0x24]
add eax, 1
cmp eax, 0x14
mov dword [esp + 0x24], eax
jbe 0x40b413
mov eax, 0x64
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10
mov dword [esp + 0x24], 0
push 0
push 0xe141
push 0x111
push esi
call ebx
push 0x1f4
call ebp
mov edi, esi
jmp 0x40b3c2
push str._hide
xor bl, bl
push esi
mov byte [esp + 0x2c], bl
call fcn.0042217d
add esp, 8
test eax, eax
jne 0x40b457
cmp byte [0x446d40], al
je 0x40b62e
mov bl, 1
mov byte [esp + 0x24], bl
cmp dword [0x446d04], ebp
mov eax, dword [0x446cf0]
jae 0x40b469
mov eax, 0x446cf0
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, eax
test esi, esi
je 0x40b5ed
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
cmp eax, 0xb7
je 0x40b5ed
cmp dword [0x446d20], ebp
mov eax, dword [0x446d0c]
jae 0x40b4a3
mov eax, 0x446d0c
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x40b504
call edi
cmp eax, 2
je 0x40b4bb
cmp eax, 3
jne 0x40b504
cmp dword [0x446d3c], ebp
mov ecx, dword [0x446d28]
jae 0x40b4ce
mov ecx, 0x446d28
push ecx
mov eax, esp
mov dword [eax], ecx
cmp dword [0x4472b0], ebp
mov ecx, dword [0x44729c]
jae 0x40b4e6
mov ecx, 0x44729c
push ecx
mov eax, esp
push 0
mov dword [eax], ecx
call fcn.0040e4a0
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10
cmp dword [0x446d20], ebp
mov eax, dword [0x446d0c]
jae 0x40b516
mov eax, 0x446d0c
push eax
call fcn.00409700
mov esi, eax
test esi, esi
je 0x40b590
cmp esi, 0xee000060
jne 0x40b570
cmp dword [0x446d3c], ebp
mov ecx, dword [0x446d28]
jae 0x40b53d
mov ecx, 0x446d28
push ecx
mov eax, esp
mov dword [eax], ecx
cmp dword [0x4472cc], ebp
mov ecx, dword [0x4472b8]
jae 0x40b555
mov ecx, 0x4472b8
push ecx
mov eax, esp
push 0
mov dword [eax], ecx
call fcn.0040e4a0
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10
push str._tWinMain
mov ecx, esi
mov edx, str.Load
call fcn.0040fc40
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
call fcn.0040e380
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.0040b050
add esp, 8
mov esi, eax
call fcn.0040e100
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0x10
test bl, bl
jne 0x40b623
cmp dword [0x446d04], ebp
mov eax, dword [0x446cf0]
jae 0x40b603
mov eax, 0x446cf0
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x40b623
push 0
push 0x8004
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
test esi, esi
je 0x40b62e
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 0x10