Function at 0x40c3de
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x17e0
call fcn.0040ede0
mov eax, dword [0x431920]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x1770
call fcn.0040e75d
pop ecx
xor ebx, ebx
push ebx
mov dword [0x440070], eax
call fcn.004047a2
push eax
lea eax, [ebp - 0x17dc]
push eax
call fcn.00405359
push 0x9e
call fcn.00403887
add esp, 0x10
test eax, eax
je 0x40c435
push str.Global_
jmp 0x40c43a
push str.Local_
push dword [0x440070]
call fcn.0040ecd0
pop ecx
pop ecx
lea eax, [ebp - 0x17dc]
push eax
push dword [0x440070]
call fcn.0040e8b0
mov esi, eax
add esi, dword [0x440070]
pop ecx
call fcn.0040bfe5
mov dword [esp], 0x2715
call fcn.00403887
pop ecx
test eax, eax
je 0x40c591
push str.single_instance_mode
call fcn.0040be55
pop ecx
push dword [0x440070]
push 1
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
push edi
push dword [0x440070]
push str.semaphore_name__S__code__d__value__p
call fcn.0040be55
add esp, 0x10
cmp edi, 0xb7
jne 0x40c579
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.0040bf43
xor edi, edi
jmp 0x40c4e8
mov eax, edi
inc edi
cmp eax, 0x32
jge 0x40c4ee
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.0040bf43
mov esi, eax
cmp esi, ebx
je 0x40c4d3
push esi
push str.other_pid__d
call fcn.0040be55
pop ecx
pop ecx
cmp esi, ebx
je 0x40c562
push 0x2717
call fcn.00403887
pop ecx
test eax, eax
je 0x40c518
push 1
push esi
call fcn.0040d579
pop ecx
pop ecx
cmp byte [ebp + 8], bl
je 0x40c562
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
cmp word [eax], 0x22
jne 0x40c541
add eax, 2
push 0x22
push eax
call fcn.004101d7
pop ecx
pop ecx
cmp eax, ebx
jne 0x40c541
mov eax, 0x429320
jmp 0x40c559
push 0x20
push eax
call fcn.004101d7
pop ecx
pop ecx
cmp eax, ebx
je 0x40c53a
jmp 0x40c553
inc eax
inc eax
cmp word [eax], 0x20
je 0x40c551
push eax
push esi
call fcn.0040c2df
pop ecx
pop ecx
push str.exiting
call fcn.0040be55
push ebx
call fcn.00403e70
pop ecx
pop ecx
jmp 0x40c654
call fcn.0040beae
cmp byte [ebp + 8], bl
je 0x40c654
call fcn.0040c282
jmp 0x40c654
push ebx
lea eax, [ebp - 0x38]
push 0x42b3f8
push eax
mov dword [ebp - 0x17e0], ebx
call fcn.0040f861
lea eax, [ebp - 0x38]
push eax
push dword [0x440070]
call fcn.0040ece0
add esp, 0x14
push dword [0x440070]
push 1
push 1
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x40c632
cmp dword [ebp - 0x17e0], 0x186a0
jge 0x40c63d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [0x440070]
inc dword [ebp - 0x17e0]
lea eax, [ebp - 0x17dc]
push eax
call fcn.0040bfe5
push dword [ebp - 0x17e0]
lea eax, [ebp - 0x6c]
push 0x42b3f8
push eax
call fcn.0040f861
lea eax, [ebp - 0x6c]
push eax
push dword [0x440070]
call fcn.0040ece0
add esp, 0x18
push dword [0x440070]
push 1
push 1
push 0
call ebx
mov esi, eax
call edi
cmp eax, 0xb7
je 0x40c5d3
push esi
call edi
push eax
push dword [0x440070]
push str.semaphore_name__S__code__d__value__p
call fcn.0040be55
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040edc8
leave
ret