Function at 0x414950
Capabilities:
Check mutex on windows

Disassembly:
push 0xffffffffffffffff
push 0x425629
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [0x42b784]
push ebx
push ebp
push eax
push 0x687dffff
call fcn.0040e2f0
mov cl, byte [esp + 0x13]
xor ebx, ebx
mov dword [0x42b77c], eax
mov byte [esp + 0x14], cl
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
lea edx, [esp + 0x14]
mov dword [esp + 0x2c], ebx
push edx
push 0xe
call fcn.0040e4e0
movsx eax, byte [0x42b74d]
push 0x6b09ffff
push eax
call fcn.0040e340
movsx ecx, byte [0x42b749]
movsx edx, byte [0x42b74c]
push ecx
push edx
mov dword [0x42b770], eax
call fcn.0040e400
push 0xa645ffff
push 0x10b9ffff
mov word [0x42b760], ax
call fcn.0040e450
add esp, 0x28
mov word [0x42b754], ax
push ebx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
mov eax, dword [0x42b77c]
add eax, 0xa940001
mov dword [0x42b778], eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
jne 0x414a12
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
mov ebp, dword [sym.imp.KERNEL32.DLL_CreateMutexA]
push eax
push ebx
push ebx
call ebp
mov ecx, dword [0x42b774]
mov dword [0x42bd48], eax
imul ecx, ecx, 0x106fffff
mov dword [0x42b76c], ecx
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x414add
push 0x66a9ffff
push 0x266dffff
call fcn.0040e290
movsx dx, byte [0x42b74e]
and dx, word [0x42b754]
add esp, 8
mov dword [0x42b768], eax
mov eax, dword [0x42bd48]
push eax
mov word [0x42b758], dx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 0x6ed9ffff
push 0x391dffff
call fcn.0040e340
mov ecx, dword [esp + 0x18]
add esp, 8
cmp ecx, ebx
mov byte [0x42b74f], al
je 0x414aca
mov al, byte [ecx - 1]
cmp al, bl
je 0x414ac0
cmp al, 0xff
je 0x414ac0
dec al
pop ebp
mov byte [ecx - 1], al
xor al, al
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
dec ecx
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
mov cx, word [0x42b762]
mov edx, dword [0x42b778]
or cx, word [0x42b754]
push esi
lea eax, [esp + 0x10]
push edi
inc edx
push eax
push 0xa
mov word [0x42b756], 0xffff
mov word [0x42b760], cx
mov word [0x42b75a], dx
call fcn.0040e4e0
mov cx, word [0x42b762]
mov esi, dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov edi, dword [sym.imp.KERNEL32.DLL_Sleep]
add esp, 8
dec cx
mov word [0x42b756], cx
mov ecx, dword [0x42b778]
push ebx
lea eax, [ecx + ecx*2]
shl eax, 2
sub eax, ecx
neg eax
shl eax, 5
sub eax, ecx
lea edx, [eax + eax*8]
shl edx, 0x12
sub edx, ecx
mov dword [0x42b774], edx
call dword [sym.imp.KERNEL32.DLL_SetLastError]
movsx eax, byte [0x42b750]
push eax
push 0xcc43ffff
call fcn.0040e290
mov ecx, dword [0x42b788]
mov dword [0x42b768], eax
and ax, word [0x42b754]
or word [0x42b75a], cx
push ecx
push 0x1babffff
mov word [0x42b758], ax
call fcn.0040e450
mov word [0x42b75a], ax
mov eax, dword [esp + 0x28]
add esp, 0x10
cmp eax, ebx
jne 0x414bb2
mov eax, dword [sym.imp.MSVCP60.dll_char_const__private:_static_char_const____cdecl_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Nullstr_void_::_2::_C]
push eax
push ebx
push ebx
call ebp
mov ecx, dword [0x42b77c]
mov dword [0x42bd4c], eax
push ecx
push 0xa20fffff
call fcn.0040e290
mov ecx, dword [0x42b768]
mov word [0x42b760], ax
movsx eax, ax
or edx, 0xffffffff
or eax, 0x2e99ffff
sub edx, ecx
add esp, 8
mov word [0x42b75e], dx
mov dword [0x42b780], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x414d20
push 0x66f1ffff
push 0x974dffff
call fcn.0040e3c0
movsx ecx, word [0x42b762]
push 0xc36dffff
push ecx
mov word [0x42b752], ax
call fcn.0040e290
movsx edx, word [0x42b75c]
push 0x2affffff
push edx
mov dword [0x42b774], eax
call fcn.0040e290
mov word [0x42b754], ax
mov eax, dword [0x42b780]
and eax, 0x7b13ffff
mov dword [0x42b778], eax
call fcn.0041fc20
push 0x38cdffff
push 0x6395ffff
call fcn.0040e2f0
add esp, 0x20
mov word [0x42b75a], ax
push 0x493e0
call edi
movsx ecx, word [0x42b75e]
movsx edx, byte [0x42b74c]
and ecx, edx
push 0xd9b1ffff
push 0xcdc7ffff
mov dword [0x42b77c], ecx
call fcn.0040e290
mov word [0x42b752], ax
push 0xebdbffff
movsx eax, byte [0x42b74a]
push eax
call fcn.0040e340
mov ecx, dword [0x42bd4c]
add esp, 0x10
mov word [0x42b758], ax
mov byte [0x42b74c], bl
push ecx
call esi
movsx edx, byte [0x42b748]
push edx
push 0xcf9dffff
call fcn.0040e290
mov ecx, dword [0x42b76c]
mov word [0x42b756], ax
mov eax, dword [0x42b788]
mov byte [0x42b74a], 0xff
push eax
push ecx
call fcn.0040e2c0
add esp, 0x10
cmp word [0x42b75e], bx
mov dword [0x42b770], eax
setne dl
mov byte [0x42b74e], dl
jmp 0x414b36
mov eax, dword [0x42b780]
mov ecx, dword [0x42b770]
push eax
push ecx
call fcn.0040e380
push 0x147ffff
push 0xe167ffff
mov byte [0x42b749], al
call fcn.0040e450
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp ecx, ebx
mov word [0x42b754], ax
pop edi
pop esi
je 0x414d86
mov al, byte [ecx - 1]
cmp al, bl
je 0x414d7c
cmp al, 0xff
je 0x414d7c
dec al
pop ebp
mov byte [ecx - 1], al
mov al, 1
pop ebx
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
dec ecx
push ecx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, dword [esp + 0x1c]
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret