Function at 0x42b6f4
Capabilities:
Check mutex on windows

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x8c
mov eax, dword [0x47dad4]
xor eax, ebp
mov dword [ebp + 0x64], eax
push ebx
push esi
push edi
xor ebx, ebx
push str.false
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x40], ebx
call fcn.004088e0
push str.hasDownloadedUpdate
lea ecx, [ebp - 0x24]
call fcn.004088e0
push str.SoftwareMedia_Get_LLCMediaGet2_systemScopemediaget_info
lea ecx, [ebp + 0x48]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x48]
push eax
push SysReAllocStringLen
call fcn.0041addd
add esp, 0x10
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x48]
call fcn.00407efb
push ebx
push esi
lea ecx, [ebp - 0x24]
call fcn.00407efb
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
lea ecx, [ebp - 8]
call fcn.0042b6db
lea eax, [ebp - 8]
push eax
call fcn.0042001c
pop ecx
mov edi, 0x46919c
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e84a
push ebx
push esi
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x47], al
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42b802
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e885
push eax
call fcn.004107d4
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
push esi
call fcn.0041c50a
push eax
call fcn.0041bc92
pop ecx
pop ecx
lea ecx, [ebp - 8]
call fcn.0042b6b3
xor eax, eax
mov ecx, dword [ebp + 0x64]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044a6c9
add ebp, 0x68
leave
ret 0x10
call fcn.0041c685
mov edi, eax
call fcn.0041fc12
push edi
mov ecx, eax
call fcn.00407bf4
test eax, eax
jne 0x42b83e
push str.__loader
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
mov dword [ebp + 0x40], esi
call fcn.0041e84a
mov byte [ebp + 0x47], 1
test al, al
je 0x42b841
mov byte [ebp + 0x47], bl
test byte [ebp + 0x40], 1
je 0x42b851
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
cmp byte [ebp + 0x47], bl
jne 0x42b7e4
push str.mediaget_installer_singleapplication_mutex
lea ecx, [ebp + 0x24]
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], ebx
call fcn.004088e0
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.0041aac2
pop ecx
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
push dword [ebp + 0x1c]
push esi
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov dword [ebp + 0x18], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x42b8e3
call fcn.004105fd
mov byte [eax + 0x1c], 1
call fcn.004105fd
mov ecx, eax
call fcn.004127d2
call fcn.0040d4be
test al, al
je 0x42b8c0
call fcn.00408ffd
call fcn.004105fd
mov ecx, eax
call fcn.00412387
lea ecx, [ebp + 0x1c]
call fcn.00406ffd
lea ecx, [ebp - 8]
call fcn.0042b6b3
mov eax, ebx
jmp 0x42b7ee
push str.__silent
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e84a
push ebx
push esi
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x47], al
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42b922
mov dword [ebp + 0x7c], ebx
call fcn.0041063e
call fcn.004105fd
mov byte [eax + 0x820], 1
mov edi, str.__reseller
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e84a
push ebx
push esi
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x47], al
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42b974
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e885
push eax
call fcn.0042b0e9
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
mov edi, str.__subid
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e84a
push ebx
push esi
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x47], al
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42b9c6
push edi
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e885
push eax
call fcn.0042b103
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
push str.__test
lea ecx, [ebp + 0x24]
call fcn.004088e0
lea eax, [ebp + 0x24]
push eax
lea ecx, [ebp - 8]
call fcn.0041e84a
push ebx
push esi
lea ecx, [ebp + 0x24]
mov byte [ebp + 0x47], al
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42b9f8
mov byte [0x47ee60], 1
push esi
mov dword [ebp + 0x40], ebx
call fcn.0041c50a
push eax
call fcn.0041bc92
call fcn.0041c50a
push eax
call fcn.0041d5eb
add esp, 0xc
test al, al
jne 0x42baa4
call fcn.0041a3d0
push eax
push 0x46913c
call fcn.0041c50a
push eax
lea eax, [ebp - 0x24]
push str.Unable_to_create_temporary_directory__
push eax
call fcn.00408aa3
add esp, 0xc
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.00408aee
add esp, 0xc
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.00408b35
add esp, 0xc
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
push ebx
push esi
lea ecx, [ebp - 0x24]
call fcn.00407efb
lea eax, [ebp + 0x48]
push 4
push eax
call fcn.00410abb
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.00434cb5
push eax
call fcn.0041ac92
add esp, 0x14
push ebx
push esi
lea ecx, [ebp + 0x24]
call fcn.00407efb
push ebx
push esi
lea ecx, [ebp + 0x48]
call fcn.00407efb
jmp 0x42bb0a
call fcn.0042e3c6
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 4
call fcn.00428ab6
pop ecx
push ebx
push dword [ebp + 0x70]
mov edi, 0x47f268
push ebx
mov ecx, edi
call fcn.00428ee4
call fcn.004276ae
call fcn.004105fd
mov ecx, eax
call fcn.00410031
push dword [ebp + 0x7c]
push dword [ebp + 0x78]
call fcn.0042b249
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp + 0x40], eax
call fcn.0042a9e9
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp + 0x18]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
call fcn.004105fd
mov ecx, eax
call fcn.00412387
lea eax, [ebp + 0x24]
push eax
call fcn.00410ae4
cmp dword [eax + 0x14], ebx
pop ecx
push ebx
push esi
lea ecx, [ebp + 0x24]
setne byte [ebp + 0x47]
call fcn.00407efb
cmp byte [ebp + 0x47], bl
je 0x42bb42
call fcn.004105fd
mov ecx, eax
call fcn.0041241f
call fcn.00419a7c
mov ecx, eax
call fcn.00419aa2
push esi
call fcn.0041c50a
push eax
call fcn.0041bc92
mov ebx, dword [ebp + 0x40]
pop ecx
pop ecx
jmp 0x42b8cc