Function at 0x403bec
Capabilities:
Check mutex on windows
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 3
and esp, 0xfffffff8
add esp, 4
push edi
push esi
call fcn.0046d148
xor eax, eax
push 0x878d48
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x8729cc], eax
test eax, eax
je 0x403f21
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403c3b
push dword [0x8729cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x403c3d
xor eax, eax
test eax, eax
je 0x403c4b
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
call fcn.00410e08
xor eax, eax
push 0x660a40
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x8729d0], eax
test eax, eax
je 0x403f17
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403c8c
push dword [0x8729d0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x403c8e
xor eax, eax
test eax, eax
je 0x403cab
mov eax, 0x660a40
call fcn.00410fec
call fcn.00411390
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [0x8729cc]
test eax, eax
je 0x403cc7
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [0x8729cc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
mov dword [0x8722b0], eax
mov edx, dword [ebp + 0x14]
mov dword [0x8722b4], edx
push 0x660c80
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
call fcn.00411038
movsx eax, al
test eax, eax
jl 0x403f08
movsx eax, byte [0x872280]
test eax, eax
je 0x403d19
call fcn.00411220
movsx eax, al
test eax, eax
je 0x403d19
call fcn.00411390
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
call fcn.0046c580
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x403f01
mov edi, 1
call fcn.004679d4
movsx eax, al
test eax, eax
jne 0x403ead
xor eax, eax
push eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x403dcc
movsx eax, byte [0x872314]
test eax, eax
je 0x403d89
cmp dword [0x87273c], 0
je 0x403dcc
cmp dword [0x872740], 0
je 0x403dcc
cmp dword [0x872744], 0
je 0x403dcc
cmp dword [0x872748], 0
je 0x403dcc
xor eax, eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x403ef3
push 0x8729b0
call dword [sym.imp.USER32.dll_TranslateMessage]
push 0x8729b0
call dword [sym.imp.USER32.dll_DispatchMessageA]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x403d5a
movsx eax, byte [0x59b77c]
test eax, eax
je 0x403ead
movsx eax, byte [0x87260c]
test eax, eax
je 0x403df0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x403e1b
call fcn.00403f2c
movsx eax, byte [0x872314]
test eax, eax
je 0x403e0a
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x403e1b
call fcn.00404164
movsx eax, al
test eax, eax
je 0x403e1b
call fcn.00410de4
xor eax, eax
push eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x403e9e
movsx eax, byte [0x872314]
test eax, eax
je 0x403e5f
cmp dword [0x87273c], 0
je 0x403e9e
cmp dword [0x872740], 0
je 0x403e9e
cmp dword [0x872744], 0
je 0x403e9e
cmp dword [0x872748], 0
je 0x403e9e
xor eax, eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x403ee8
push 0x8729b0
call dword [sym.imp.USER32.dll_TranslateMessage]
push 0x8729b0
call dword [sym.imp.USER32.dll_DispatchMessageA]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x8729b0
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x403e30
movsx eax, byte [0x59b77c]
test eax, eax
jne 0x403ddb
call fcn.004114a8
test edi, edi
je 0x403ebc
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00412c64
call fcn.00411390
movsx eax, byte [0x872258]
test eax, eax
je 0x403edb
mov eax, 0x660920
call fcn.00412ca0
mov eax, dword [0x8729b8]
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov byte [0x59b77c], 0
xor eax, eax
jmp 0x403ea5
mov byte [0x59b77c], 0
xor eax, eax
jmp 0x403dd3
xor edi, edi
jmp 0x403d35
call fcn.00411390
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0xffffffff
jmp 0x403c8e
mov eax, 0xffffffff
jmp 0x403c3d