Function at 0x46acbc
Capabilities:
Check mutex on windows

Disassembly:
push 0x40
mov eax, 0x51d213
call fcn.004d8abf
mov esi, edx
mov dword [ebp - 0x20], esi
mov ebx, ecx
mov dword [ebp - 0x24], ebx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov edi, dword [ebp + 0x10]
add edi, 0xfffffff0
mov dword [ebp - 0x18], edi
cmp dword [edi + 4], ecx
je 0x46ae57
call fcn.0044eb26
push dword [ebp + 0x10]
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
jne 0x46ad5a
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x18e3
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x40]
call fcn.00406620
mov byte [ebp - 4], 2
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0040121b
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.00407189
jmp 0x46afb9
mov eax, dword [0x57d3ec]
add eax, 0x54
mov byte [ebp - 0xd], 1
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 3
call fcn.0044f24f
push str.Waiting_for_another_installation_to_finish..._2_
mov edi, eax
call fcn.004ddaa2
pop ecx
push eax
push str.Waiting_for_another_installation_to_finish..._2_
lea ecx, [edi + 0x48]
call fcn.00406efb
call fcn.0044f24f
imul ecx, dword [ebp + 8], 0xa8
mov edi, dword [eax + 0x1ac]
push ecx
mov dword [ebp - 0x1c], ecx
add edi, ecx
mov ecx, esp
push str.Waiting
call fcn.00406fea
mov ecx, edi
call fcn.0044eeac
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 1
call fcn.0044f694
mov eax, dword [0x57d3ec]
push 0x2932e00
mov dword [ebp - 0x34], esi
push 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x34]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov ecx, dword [0x57d3ec]
cmp byte [ecx + 1], 0
je 0x46ae24
push 0x18ed
push 0x80004004
push ecx
mov ecx, esp
push str.User_abort
call fcn.00406fea
mov ecx, ebx
call fcn.00406620
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x18]
jmp 0x46afbb
cmp eax, 0x102
jne 0x46ae3f
push 0x18f0
push 0x800705b4
push ecx
mov ecx, esp
push str.Timeout_waiting_for_another_installation_to_finish
jmp 0x46ae07
mov byte [ebp - 4], 0
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x20]
jmp 0x46ae63
mov eax, dword [ebp + 8]
imul ecx, eax, 0xa8
mov dword [ebp - 0x1c], ecx
push dword [ebp + 0xc]
mov edx, eax
lea ecx, [ebp - 0x40]
call fcn.0045ce2a
pop ecx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x40], 0
jl 0x46ad3f
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x38]
lea ecx, [ecx - 0x10]
call fcn.00407189
call fcn.0044eb26
push str.EFA23C47_D97B_44d2_BB9C_5CA16C7B02C2
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [esi], eax
test eax, eax
jne 0x46aef3
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
push 0x1904
cmovle ecx, eax
mov eax, 0x80004005
test ecx, ecx
cmovs eax, ecx
push eax
push ecx
mov ecx, esp
call fcn.0040687a
lea ecx, [ebp - 0x4c]
call fcn.00406620
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 5
push eax
mov ecx, ebx
call fcn.0040121b
mov ecx, dword [ebp - 0x44]
jmp 0x46ad4d
and dword [ebp - 0x18], 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x46afaa
mov byte [ebp - 0xd], 1
mov eax, dword [0x57d3ec]
add eax, 0x54
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 6
call fcn.0044f24f
push str.Waiting_for_another_installation_to_finish...
mov esi, eax
call fcn.004ddaa2
pop ecx
push eax
push str.Waiting_for_another_installation_to_finish...
lea ecx, [esi + 0x48]
call fcn.00406efb
call fcn.0044f24f
push ecx
mov ecx, esp
push str.Waiting
mov esi, dword [eax + 0x1ac]
add esi, dword [ebp - 0x1c]
call fcn.00406fea
mov ecx, esi
call fcn.0044eeac
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 0
call fcn.0044f694
mov eax, dword [0x57d3ec]
cmp byte [eax + 1], 0
jne 0x46afe8
cmp byte [ebp + 0xc], 0
mov eax, dword [ebp - 0x18]
je 0x46af8b
cmp eax, 0xa8c0
ja 0x46afc8
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
push 0x3e8
push dword [eax]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x46af0f
and dword [ebx], 0
lea ecx, [ebx + 8]
and dword [ebx + 4], 0
call fcn.0040687a
mov ecx, edi
call fcn.00407189
mov eax, ebx
call fcn.004d8a8d
ret
push 0x1914
push 0x800705b4
push ecx
mov ecx, esp
push str.Timeout_waiting_for_another_installation_to_finish
call fcn.00406fea
mov ecx, ebx
call fcn.00406620
jmp 0x46afb9
push 0x1910
push 0x80004004
push ecx
mov ecx, esp
push str.User_abort
jmp 0x46afda