Function at 0x417b60
Capabilities:
Check mutex on windows

Disassembly:
mov eax, dword fs:[0]
mov dl, byte [0x4319c9]
push 0xffffffffffffffff
push 0x4294a9
push eax
mov eax, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword fs:[0], esp
sub esp, 0x14
inc dl
mov ecx, 0x431928
push ebp
push esi
push edi
mov byte [0x4319c9], dl
mov edi, dword [eax]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Split_void_]
mov eax, dword [0x431930]
cmp eax, edi
jae 0x417ba6
mov edi, eax
mov ebp, dword [sym.imp.MSVCRT.dll_memmove]
test edi, edi
jbe 0x417bed
mov ecx, dword [0x43192c]
sub eax, edi
push eax
lea edx, [ecx + edi]
push edx
push ecx
call ebp
mov esi, dword [0x431930]
add esp, 0xc
sub esi, edi
mov ecx, 0x431928
push 0
push esi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x417bed
mov ecx, dword [0x43192c]
mov dword [0x431930], esi
mov byte [ecx + esi], 0
mov al, byte [0x4319d1]
mov dl, byte [esp + 0xf]
inc al
push 0
lea ecx, [esp + 0x14]
mov byte [0x4319d1], al
mov byte [esp + 0x14], dl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
lea eax, [esp + 0x10]
mov dword [esp + 0x28], 0
push eax
push 0xe
call fcn.00410a90
movsx ecx, word [0x4319d2]
push ecx
push 0x1915ffff
call fcn.004109b0
mov esi, dword [0x4319fc]
add esp, 0x10
add esi, eax
push 0
mov dword [0x4319fc], esi
call dword [sym.imp.KERNEL32.DLL_SetLastError]
mov eax, dword [esp + 0x14]
mov byte [0x4319cf], 1
test eax, eax
jne 0x417c60
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 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov edx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov dword [0x431fd0], eax
mov ecx, 0x431958
mov esi, dword [edx]
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Split_void_]
mov eax, dword [0x431960]
cmp eax, esi
jae 0x417c8e
mov esi, eax
test esi, esi
jbe 0x417cce
mov ecx, dword [0x43195c]
sub eax, esi
push eax
lea edx, [ecx + esi]
push edx
push ecx
call ebp
mov edi, dword [0x431960]
add esp, 0xc
sub edi, esi
mov ecx, 0x431958
push 0
push edi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x417cce
mov eax, dword [0x43195c]
mov dword [0x431960], edi
mov byte [eax + edi], 0
mov ecx, dword [sym.imp.MSVCP60.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edi, dword [ecx]
mov ecx, 0x431938
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Split_void_]
mov eax, dword [0x431940]
cmp eax, edi
jae 0x417cec
mov edi, eax
test edi, edi
jbe 0x417d2d
mov ecx, dword [0x43193c]
sub eax, edi
push eax
lea edx, [ecx + edi]
push edx
push ecx
call ebp
mov esi, dword [0x431940]
add esp, 0xc
sub esi, edi
mov ecx, 0x431938
push 0
push esi
call dword [sym.imp.MSVCP60.dll_private:_bool___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Grow_unsigned_int__bool_]
test al, al
je 0x417d2d
mov edx, dword [0x43193c]
mov dword [0x431940], esi
mov byte [edx + esi], 0
movsx eax, word [0x4319e4]
imul eax, eax, 0x53b3ffff
mov edx, dword [0x4319f8]
mov edi, dword [sym.imp.KERNEL32.DLL_GetLastError]
add edx, eax
mov dword [0x4319f8], edx
call edi
cmp eax, 0xb7
jne 0x417e0f
movsx edx, byte [0x4319c9]
mov ecx, dword [0x4319f0]
push ecx
push edx
call fcn.00410920
mov ecx, dword [0x4319ec]
mov word [0x4319e2], ax
mov eax, dword [0x4319f0]
mov byte [0x4319cb], 0xff
push eax
push ecx
call fcn.004108a0
mov edx, dword [0x431fd0]
add word [0x4319d8], ax
add esp, 0x10
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [0x43194c]
mov ecx, dword [0x43195c]
mov edx, dword [0x431960]
mov dword [0x43195c], eax
mov eax, dword [0x431950]
mov dword [0x43194c], ecx
mov ecx, dword [0x431964]
mov dword [0x431960], eax
mov eax, dword [0x431954]
mov dword [0x431954], ecx
push 1
lea ecx, [esp + 0x14]
mov dword [0x431950], edx
mov dword [0x431964], eax
mov dword [esp + 0x2c], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
pop edi
pop esi
xor al, al
pop ebp
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret
movsx edx, word [0x4319da]
mov eax, dword [0x431a00]
push edx
push eax
call fcn.00410a30
lea ecx, [esp + 0x18]
mov dword [0x431a00], eax
push ecx
push 0xa
call fcn.00410a90
mov dx, word [0x4319e2]
push 0x189ffff
shl dx, 1
push 0xa00dffff
mov word [0x4319e2], dx
call fcn.004109f0
mov ebp, dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov esi, dword [sym.imp.KERNEL32.DLL_Sleep]
add esp, 0x18
add word [0x4319d8], ax
push 0
mov dword [0x4319f8], 0xf3ffffff
mov dword [0x431a04], 1
call dword [sym.imp.KERNEL32.DLL_SetLastError]
movsx ecx, word [0x4319d4]
mov eax, dword [0x4319f4]
push eax
push ecx
call fcn.004108a0
mov dl, byte [0x4319cb]
mov ecx, dword [0x4319e8]
add dl, al
add esp, 8
xor eax, eax
mov byte [0x4319cb], dl
mov edx, dword [0x431a04]
test ecx, ecx
setne al
add edx, eax
mov eax, dword [esp + 0x14]
test eax, eax
mov dword [0x431a04], edx
jne 0x417ed1
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 0
push 0
call dword [sym.imp.KERNEL32.DLL_CreateMutexA]
mov edx, dword [0x4319e8]
mov dword [0x431fd4], eax
push edx
push 0xc9a7ffff
call fcn.004107d0
mov dl, byte [0x4319ca]
push 0x262bffff
add dl, al
push 0x6e21ffff
mov byte [0x4319ca], dl
call fcn.004107d0
mov byte [0x4319c8], al
mov eax, dword [0x431a00]
push eax
push 0xe13bffff
call fcn.004109f0
add word [0x4319e4], ax
add esp, 0x18
call edi
cmp eax, 0xb7
jne 0x418049
mov ecx, dword [0x431a0c]
push 0xdb75ffff
sub ecx, 0x7aec0000
push 0x40cbffff
mov dword [0x431a0c], ecx
call fcn.00410a30
mov byte [0x4319c9], al
mov al, byte [0x4319cf]
inc al
mov byte [0x4319cf], al
call fcn.004238a0
movsx ecx, word [0x4319d4]
mov edx, dword [0x431a04]
push ecx
push edx
call fcn.00410a30
mov dl, byte [0x4319c8]
add dl, al
mov eax, dword [0x4319f8]
push eax
push 0xb779ffff
mov byte [0x4319c8], dl
call fcn.00410920
add esp, 0x18
mov word [0x4319e2], ax
push 0x493e0
call esi
movsx ecx, word [0x4319d2]
mov edx, dword [0x4319e8]
push ecx
push edx
call fcn.004108e0
mov byte [0x4319cf], al
mov eax, dword [0x431a0c]
add esp, 8
test eax, eax
je 0x417fe9
mov al, byte [0x4319cc]
test al, al
je 0x417fe9
mov eax, 1
jmp 0x417feb
xor eax, eax
add word [0x4319e4], ax
push 0xb83bffff
push 0x3f4fffff
call fcn.004108a0
push 0x87d1ffff
push 0xffc1ffff
mov dword [0x431a08], eax
call fcn.004109f0
mov ecx, dword [0x431a08]
add esp, 0x10
add ecx, eax
mov eax, dword [0x431fd4]
push eax
mov dword [0x431a08], ecx
call ebp
dec byte [0x4319c9]
movsx cx, byte [0x4319ca]
dec ecx
mov word [0x4319dc], cx
jmp 0x417e69
mov ecx, dword [0x4319f8]
or edx, 0xffffffff
sub edx, ecx
push 1
lea ecx, [esp + 0x14]
mov word [0x4319d8], dx
mov dword [esp + 0x2c], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
mov ecx, dword [esp + 0x20]
pop edi
pop esi
mov al, 1
pop ebp
mov dword fs:[0], ecx
add esp, 0x20
ret