Function at 0x455312
Capabilities:
Check mutex on windows

Disassembly:
push 0x50
mov eax, 0x5b2eb5
call fcn.0058f792
mov edi, ecx
push 7
xor ebx, ebx
xor eax, eax
pop ecx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x58], ax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], ebx
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 2
cmp dword [edi + 0x4b78], ebx
jne 0x45535d
inc ebx
jmp 0x455767
call fcn.00474a71
push 0x5c7230
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.0040bed1
neg eax
sbb esi, esi
call fcn.00474a71
push 0x5c75ec
mov ecx, dword [eax + 4]
add ecx, 0xcc
call fcn.0040bed1
neg eax
sbb eax, eax
neg eax
neg esi
je 0x4553ad
test eax, eax
je 0x4553a6
mov esi, str._MFP
jmp 0x4553b6
mov esi, str._SFP
jmp 0x4553b6
test eax, eax
je 0x4553c7
mov esi, str._SFS
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x40]
call fcn.00404be0
push str.___NAME_MUTEXTYPE___
lea ecx, [edi + 0xd0]
call fcn.0046ed66
mov esi, eax
cmp word [esi], bx
jne 0x4553e2
mov eax, ebx
jmp 0x4553e9
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00404be0
cmp dword [ebp - 0x18], 0
je 0x455419
push str.___NAME_MUTEXTYPE___
lea ecx, [ebp - 0x28]
call fcn.0041fdbb
test eax, eax
je 0x455419
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
call fcn.00404b26
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov esi, str.1199FAD5_9546_44f3_81CF_FFDB8040B7BF
mov dword [ebp - 0x18], ebx
cmovae eax, dword [ebp - 0x28]
xor ecx, ecx
push esi
mov word [eax], cx
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x58]
call fcn.00404be0
mov esi, str.CDIL_
push esi
call fcn.0058edd4
pop ecx
push eax
push esi
lea ecx, [ebp - 0x28]
call fcn.00404be0
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0xffffffffffffffff
push ebx
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
xor ebx, ebx
push eax
inc ebx
xor esi, esi
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [edi + 0x4b74], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x455728
cmp eax, 0xb7
je 0x455728
push dword [edi + 0x4b74]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov esi, str.CIstDrvApp::IsMultipleInstanceRunning
cmovae eax, dword [ebp - 0x28]
push eax
push str.m_hMutex__1_s____0x_1_lx_._n
push esi
push 4
call fcn.00424dad
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetLastError____0x_1_lx__n
push esi
push 4
call fcn.00424dad
add esp, 0x10
push dword [edi + 0x4b78]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
push dword [edi + 0x4b78]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
and dword [edi + 0x4b78], 0
push str.GlobalCDIG_
call fcn.0058edd4
pop ecx
push eax
push str.GlobalCDIG_
lea ecx, [ebp - 0x28]
call fcn.00404be0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [edi + 0x4b78], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x4556a8
cmp eax, 0xb7
je 0x4556a8
push dword [edi + 0x4b78]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push str.m_hMutexGlobal__1_s____0x_1_lx_._n
push esi
push 4
call fcn.00424dad
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetLastError____0x_1_lx__n
push esi
push 4
call fcn.00424dad
mov esi, str.CDUL_
push esi
call fcn.0058edd4
add esp, 0x14
lea ecx, [ebp - 0x28]
push eax
push esi
call fcn.00404be0
push 0xffffffffffffffff
xor esi, esi
lea eax, [ebp - 0x58]
push esi
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
test eax, eax
jne 0x45568c
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
cmp eax, 5
je 0x455693
push str.GlobalCDUG_
call fcn.0058edd4
pop ecx
push eax
push str.GlobalCDUG_
lea ecx, [ebp - 0x28]
call fcn.00404be0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049b6
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
call esi
cmp eax, 5
jne 0x45576a
push 0xfb6
jmp 0x455698
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0xfb5
lea eax, [edi + 0x4608]
push eax
call fcn.00442cfd
pop ecx
pop ecx
jmp 0x45571f
and dword [edi + 0x4b78], 0
mov ecx, dword [section..data]
push 0xfa3
call fcn.004151db
mov ecx, dword [section..data]
push eax
push 0xfa3
call fcn.004151a4
push eax
push 0xfa3
lea ecx, [edi + 0x4608]
call fcn.00442e21
push dword [edi + 0x4b78]
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
mov esi, str.CIstDrvApp::IsMultipleInstanceRunning
cmovae eax, dword [ebp - 0x28]
push eax
push str.m_hMutexGlobal__1_s____0x_1_lx_._n
push esi
push 4
call fcn.00424dad
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetLastError____0x_1_lx__n
push esi
push 4
call fcn.00424dad
add esp, 0x10
mov dword [ebp - 0x5c], 2
jmp 0x45576a
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push esi
cmovae eax, dword [ebp - 0x28]
push eax
mov dword [edi + 0x4b74], esi
mov esi, str.CIstDrvApp::IsMultipleInstanceRunning
push str.m_hMutex__1_s____0x_1_lx_._n
push esi
push 4
call fcn.00424dad
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetLastError____0x_1_lx__n
push esi
push 4
call fcn.00424dad
add esp, 0x10
mov dword [ebp - 0x5c], ebx
xor esi, esi
lea ecx, [ebp - 0x40]
push esi
push ebx
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x58]
call fcn.00404970
push esi
push ebx
lea ecx, [ebp - 0x28]
call fcn.00404970
mov eax, dword [ebp - 0x5c]
call fcn.0058f741
ret