Function at 0x4030f0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [0x42933c], 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.004036ba
add esp, 4
push str.SakuraWars2PC_Main
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x429254], eax
push str.SakuraWars2PC_Camera
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x42925c], eax
cmp dword [0x429254], 0
je 0x403146
cmp dword [0x42925c], 0
jne 0x40318e
push 0x10
push 0x4249b4
push 0x4249c8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA_1]
cmp dword [0x429254], 0
je 0x403170
mov ecx, dword [0x429254]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
cmp dword [0x42925c], 0
je 0x403186
mov edx, dword [0x42925c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
or eax, 0xffffffff
jmp 0x4033cd
push 0
mov eax, dword [0x429254]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4031bc
push 0x30
push 0x4249b4
push 0x4249d8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA_1]
jmp 0x4033cb
push 0
mov ecx, dword [0x42925c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4031f2
push 0x35
push 0x4249b4
push 0x4249f8
push 0
call dword [sym.imp.USER32.dll_MessageBoxA_1]
cmp eax, 2
jne 0x4031f0
jmp 0x4033c9
jmp 0x4031bc
mov edx, dword [0x42925c]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov dword [0x4292c8], 0
mov eax, dword [0x42933c]
and eax, 1
test eax, eax
je 0x403232
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040f5d0
add esp, 8
mov dword [ebp - 4], eax
mov dword [0x429338], 1
jmp 0x40324d
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.0040f5d0
add esp, 8
mov dword [ebp - 4], eax
mov dword [0x429338], 0
cmp dword [ebp - 4], 0
jne 0x403258
jmp 0x4033c7
mov eax, dword [0x42933c]
and eax, 2
test eax, eax
je 0x403275
mov ecx, dword [0x4292cc]
push ecx
call fcn.0040f570
fstp st(0)
add esp, 4
push 0x64
push 0x4292d0
push 0x67
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x429260
push 0x6d
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [ebp + 8]
push ecx
call fcn.004033d3
add esp, 4
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040345f
add esp, 8
test eax, eax
jne 0x4032c2
xor eax, eax
jmp 0x4033cd
push 0
mov ecx, dword [0x429258]
push ecx
call fcn.00411490
add esp, 8
test eax, eax
jne 0x40333d
push 0x30
push 0x424a14
push 0x424a28
mov edx, dword [0x429258]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA_1]
cmp dword [0x42925c], 0
je 0x403312
mov eax, dword [0x429254]
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov ecx, dword [0x42925c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
cmp dword [0x429254], 0
je 0x403328
mov edx, dword [0x429254]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
mov eax, dword [0x429258]
push eax
call fcn.0040cec0
add esp, 4
xor eax, eax
jmp 0x4033cd
push 0x6d
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x20], 0x12
je 0x40338a
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_PeekMessageA_1]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x403383
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage_1]
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.USER32.dll_DispatchMessageA_1]
jmp 0x403388
call fcn.00403658
jmp 0x40334c
cmp dword [0x42925c], 0
je 0x4033ac
mov edx, dword [0x429254]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [0x42925c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
cmp dword [0x429254], 0
je 0x4033c2
mov ecx, dword [0x429254]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle_1]
mov eax, dword [ebp - 0x1c]
jmp 0x4033cd
jmp 0x40338a
jmp 0x40338a
jmp 0x40338a
mov esp, ebp
pop ebp
ret 0x10