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.0046e0b8
xor eax, eax
push 0x879d2c
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x8740b8], eax
test eax, eax
je 0x403f21
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403c3b
push dword [0x8740b8]
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 0x662040
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x8740bc], eax
test eax, eax
je 0x403f17
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x403c8c
push dword [0x8740bc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x403c8e
xor eax, eax
test eax, eax
je 0x403cab
mov eax, 0x662040
call fcn.00410fec
call fcn.0041139c
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [0x8740b8]
test eax, eax
je 0x403cc7
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [0x8740b8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 8]
mov dword [0x87399c], eax
mov edx, dword [ebp + 0x14]
mov dword [0x8739a0], edx
push 0x662280
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
call fcn.00411044
movsx eax, al
test eax, eax
jl 0x403f08
movsx eax, byte [0x87396c]
test eax, eax
je 0x403d19
call fcn.0041122c
movsx eax, al
test eax, eax
je 0x403d19
call fcn.0041139c
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
call fcn.0046d4f0
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jl 0x403f01
mov edi, 1
call fcn.004687d0
movsx eax, al
test eax, eax
jne 0x403ead
xor eax, eax
push eax
push eax
push eax
push eax
push 0x87409c
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x403dcc
movsx eax, byte [0x873a00]
test eax, eax
je 0x403d89
cmp dword [0x873e28], 0
je 0x403dcc
cmp dword [0x873e2c], 0
je 0x403dcc
cmp dword [0x873e30], 0
je 0x403dcc
cmp dword [0x873e34], 0
je 0x403dcc
xor eax, eax
push eax
push eax
push eax
push 0x87409c
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x403ef3
push 0x87409c
call dword [sym.imp.USER32.dll_TranslateMessage]
push 0x87409c
call dword [sym.imp.USER32.dll_DispatchMessageA]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x87409c
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x403d5a
movsx eax, byte [0x59cc7c]
test eax, eax
je 0x403ead
movsx eax, byte [0x873cf8]
test eax, eax
je 0x403df0
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x403e1b
call fcn.00403f2c
movsx eax, byte [0x873a00]
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 0x87409c
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x403e9e
movsx eax, byte [0x873a00]
test eax, eax
je 0x403e5f
cmp dword [0x873e28], 0
je 0x403e9e
cmp dword [0x873e2c], 0
je 0x403e9e
cmp dword [0x873e30], 0
je 0x403e9e
cmp dword [0x873e34], 0
je 0x403e9e
xor eax, eax
push eax
push eax
push eax
push 0x87409c
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x403ee8
push 0x87409c
call dword [sym.imp.USER32.dll_TranslateMessage]
push 0x87409c
call dword [sym.imp.USER32.dll_DispatchMessageA]
xor eax, eax
push eax
push eax
push eax
push eax
push 0x87409c
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x403e30
movsx eax, byte [0x59cc7c]
test eax, eax
jne 0x403ddb
call fcn.004114b4
test edi, edi
je 0x403ebc
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.00412c70
call fcn.0041139c
movsx eax, byte [0x873944]
test eax, eax
je 0x403edb
mov eax, 0x661f20
call fcn.00412cac
mov eax, dword [0x8740a4]
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov byte [0x59cc7c], 0
xor eax, eax
jmp 0x403ea5
mov byte [0x59cc7c], 0
xor eax, eax
jmp 0x403dd3
xor edi, edi
jmp 0x403d35
call fcn.0041139c
xor eax, eax
pop ecx
pop edi
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0xffffffff
jmp 0x403c8e
mov eax, 0xffffffff
jmp 0x403c3d