Function at 0x40c3d3
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe60
mov eax, dword [0x465c14]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x244]
push 0x240
xor ebx, ebx
push ebx
push eax
call fcn.00427a90
push 0x201
lea eax, [ebp - 0x448]
push ebx
push eax
call fcn.00427a90
mov eax, dword [edi]
add esp, 0x18
push 1
pop esi
sub eax, 1
je 0x40c46b
sub eax, esi
je 0x40c467
sub eax, esi
je 0x40c463
sub eax, esi
je 0x40c45f
mov dword [ebp - 0xe50], esi
sub eax, 0x65
je 0x40c457
push 0x200
lea eax, [ebp - 0x244]
mov dword [ebp - 0xe4c], ebx
push str.Unknown_Event_Code
push eax
call fcn.00433750
add esp, 0xc
jmp 0x40c481
mov dword [ebp - 0xe4c], esi
jmp 0x40c495
push 0xf
jmp 0x40c46d
push 0xd
jmp 0x40c46d
push 0xe
jmp 0x40c46d
push 0x10
pop eax
lea ecx, [ebp - 0xe50]
push ecx
push eax
call fcn.0041c73a
pop ecx
pop ecx
test eax, eax
jne 0x40c495
cmp dword [ebp - 0xe50], esi
jne 0x40c495
cmp dword [ebp - 0xe4c], ebx
je 0x40c997
mov eax, dword [edi]
sub eax, 1
je 0x40c763
sub eax, 1
je 0x40c75b
sub eax, 1
je 0x40c74f
sub eax, 1
je 0x40c552
sub eax, 0x65
je 0x40c4de
push 0x200
lea eax, [ebp - 0x244]
push str.Unknown_Event_Code
push eax
call fcn.00433750
add esp, 0xc
jmp 0x40c997
mov dword [ebp - 0xe60], 0xc
mov dword [ebp - 0xe5c], ebx
mov dword [ebp - 0xe58], esi
call fcn.0040279b
push eax
push ebx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
test esi, esi
je 0x40c997
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40c990
push dword [edi]
call fcn.0040c9ac
mov ebx, eax
pop ecx
test ebx, ebx
je 0x40c989
lea ecx, [edi + 4]
push ecx
push 0x44e6a8
push ebx
call fcn.0040c39d
push ebx
call fcn.0042d5ea
add esp, 0x10
jmp 0x40c989
mov dword [ebp - 0xe60], 0xc
mov dword [ebp - 0xe5c], ebx
mov dword [ebp - 0xe58], esi
call fcn.0040274e
push eax
push ebx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
mov dword [ebp - 0xe54], esi
test esi, esi
jne 0x40c5bc
push str.ERROR:_Failed_to_create_mutex_in_logEvent___for_the_config_log.
lea eax, [ebp - 0x648]
push 0x200
push eax
call fcn.00408d55
lea eax, [ebp - 0x64c]
mov dword [ebp - 0x64c], 1
push eax
call fcn.0040c3b6
add esp, 0x10
jmp 0x40c997
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40c5fd
push str.ERROR:_Failed_to_obtain_mutex_in_logEvent___for_the_config_log._n
lea eax, [ebp - 0x648]
push 0x200
push eax
call fcn.00408d55
lea eax, [ebp - 0x64c]
mov dword [ebp - 0x64c], 1
push eax
call fcn.0040c3b6
add esp, 0x10
jmp 0x40c990
push 0x240
lea eax, [ebp - 0x244]
push ebx
push eax
call fcn.00427a90
lea eax, [ebp + 0xc]
push eax
call fcn.004335d1
push eax
push str._Y_m_d__H:_M:_S__
lea eax, [ebp - 0x244]
push 0x240
push eax
call fcn.00433727
push 0x200
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0x448]
push eax
call fcn.0042d450
lea eax, [ebp - 0x448]
push 0x27
push eax
call fcn.00425dc0
add esp, 0x34
jmp 0x40c664
push 0x27
push eax
mov byte [eax], 0x60
call fcn.00425dc0
pop ecx
pop ecx
test eax, eax
jne 0x40c657
push 0x200
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00433750
lea ecx, [ebp - 0x244]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c68c
sub ecx, edx
test ecx, ecx
jle 0x40c6b7
cmp byte [ebp + ecx - 0x245], 0xa
jne 0x40c6b7
dec ecx
cmp ecx, 0x240
jae 0x40c9a6
mov byte [ebp + ecx - 0x244], bl
lea ecx, [ebp - 0x244]
dec ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x40c6be
mov ax, word [0x44e6a4]
mov word [ecx], ax
mov al, byte [0x44e6a6]
mov byte [ecx + 2], al
lea ecx, [ebp - 0x244]
mov eax, 0x467fd8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c702
test dl, dl
je 0x40c6fe
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c702
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c6e2
mov eax, ebx
jmp 0x40c707
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c989
push dword [edi]
call fcn.0040c9ac
mov esi, eax
pop ecx
test esi, esi
je 0x40c738
lea eax, [ebp - 0x244]
push eax
push 0x44e6a8
push esi
call fcn.0040c39d
push esi
call fcn.0042d5ea
add esp, 0x10
mov al, byte [ebp + ebx - 0x244]
mov byte [ebx + 0x467fd8], al
inc ebx
test al, al
jne 0x40c738
jmp 0x40c983
push edi
call fcn.0040be9f
pop ecx
jmp 0x40c997
push edi
call fcn.0040c0ad
jmp 0x40c755
mov dword [ebp - 0xe60], 0xc
mov dword [ebp - 0xe5c], ebx
mov dword [ebp - 0xe58], esi
call fcn.0040279b
push eax
push ebx
lea eax, [ebp - 0xe60]
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov esi, eax
mov dword [ebp - 0xe54], esi
test esi, esi
je 0x40c997
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x40c990
push 0x240
lea eax, [ebp - 0x244]
push ebx
push eax
call fcn.00427a90
lea eax, [ebp + 0xc]
push eax
call fcn.004335d1
mov ecx, dword [ebp + 0xc]
add esp, 0x10
cmp ecx, dword [0x468458]
jne 0x40c844
mov ecx, dword [0x46845c]
mov edx, 0x8e
inc ecx
mov dword [0x46845c], ecx
cmp ecx, edx
jle 0x40c7f3
mov dword [0x46845c], edx
push eax
push str._Y_m_d__H:_M:_S
lea eax, [ebp - 0x244]
push 0x240
push eax
call fcn.00433727
lea ecx, [ebp - 0x244]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c816
imul eax, dword [0x46845c], 7
sub ecx, edx
push eax
mov eax, 0x240
sub eax, ecx
push str.._03d__
push eax
lea eax, [ebp - 0x244]
add eax, ecx
push eax
call fcn.00408d55
jmp 0x40c869
push eax
push str._Y_m_d__H:_M:_S__
lea eax, [ebp - 0x244]
push 0x240
push eax
call fcn.00433727
mov eax, dword [ebp + 0xc]
mov dword [0x468458], eax
mov dword [0x46845c], ebx
add esp, 0x10
lea eax, [edi + 4]
push 0x200
push eax
lea eax, [ebp - 0x448]
push eax
call fcn.0042d450
lea eax, [ebp - 0x448]
push 0x27
push eax
call fcn.00425dc0
add esp, 0x14
jmp 0x40c8a1
push 0x27
push eax
mov byte [eax], 0x60
call fcn.00425dc0
pop ecx
pop ecx
test eax, eax
jne 0x40c894
push 0x200
lea eax, [ebp - 0x448]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00433750
lea ecx, [ebp - 0x244]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c8c9
sub ecx, edx
test ecx, ecx
jle 0x40c8f4
cmp byte [ebp + ecx - 0x245], 0xa
jne 0x40c8f4
dec ecx
cmp ecx, 0x240
jae 0x40c9a6
mov byte [ebp + ecx - 0x244], bl
lea ecx, [ebp - 0x244]
dec ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x40c8fb
mov ax, word [0x44e6a4]
mov word [ecx], ax
mov al, byte [0x44e6a6]
mov byte [ecx + 2], al
lea ecx, [ebp - 0x244]
mov eax, 0x468218
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40c93f
test dl, dl
je 0x40c93b
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40c93f
add eax, 2
add ecx, 2
test dl, dl
jne 0x40c91f
mov eax, ebx
jmp 0x40c944
sbb eax, eax
or eax, 1
test eax, eax
je 0x40c989
push dword [edi]
call fcn.0040c9ac
mov esi, eax
pop ecx
test esi, esi
je 0x40c971
lea eax, [ebp - 0x244]
push eax
push 0x44e6a8
push esi
call fcn.0040c39d
push esi
call fcn.0042d5ea
add esp, 0x10
mov al, byte [ebp + ebx - 0x244]
mov byte [ebx + 0x468218], al
inc ebx
test al, al
jne 0x40c971
mov esi, dword [ebp - 0xe54]
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042345f
leave
ret
call fcn.0042396c
int3