Function at 0x441250
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x88
mov eax, dword [0x4b1ae0]
xor eax, esp
mov dword [esp + 0x84], eax
push ebx
push ebp
push edi
xor ebx, ebx
push 5
mov edi, 0xf
push str.false
lea ecx, [esp + 0x7c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040b5a0
push 0x13
push str.hasDownloadedUpdate
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.0040b5a0
push 0x3a
push str.SoftwareMedia_Get_LLCMediaGet2_systemScopemediaget_info
lea ecx, [esp + 0x60]
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
call fcn.0040b5a0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x60]
push edx
push SysReAllocString
call fcn.0042a0c0
mov ebp, 0x10
add esp, 0x10
cmp dword [esp + 0x70], ebp
jb 0x441303
mov eax, dword [esp + 0x5c]
push eax
call fcn.00473948
add esp, 4
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], ebx
mov byte [esp + 0x5c], bl
cmp dword [esp + 0x34], ebp
jb 0x441322
mov ecx, dword [esp + 0x20]
push ecx
call fcn.00473948
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x8c], ebp
jb 0x441344
mov edx, dword [esp + 0x78]
push edx
call fcn.00473948
add esp, 4
lea eax, [esp + 0xf]
push eax
lea ecx, [esp + 0x13]
push ecx
lea ecx, [esp + 0x40]
call fcn.00463700
lea edx, [esp + 0x38]
push edx
call fcn.00434420
add esp, 4
push 9
push 0x498984
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040b5a0
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x3c]
call fcn.00431ac0
mov byte [esp + 0xf], al
cmp dword [esp + 0x8c], ebp
jb 0x4413b1
mov ecx, dword [esp + 0x78]
push ecx
call fcn.00473948
add esp, 4
cmp byte [esp + 0xf], bl
je 0x441429
push 9
push 0x498984
lea ecx, [esp + 0x7c]
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040b5a0
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x3c]
call fcn.00431b70
push eax
call fcn.004158b0
add esp, 4
cmp dword [esp + 0x8c], ebp
jb 0x441409
mov eax, dword [esp + 0x78]
push eax
call fcn.00473948
add esp, 4
push 1
call fcn.0042be90
push eax
call fcn.0042a9f0
add esp, 8
lea ecx, [esp + 0x38]
call fcn.00444cc0
xor eax, eax
jmp 0x4418a5
push esi
call fcn.0042c4c0
mov esi, eax
call fcn.00434200
mov ecx, dword [esi + 0x14]
cmp dword [esi + 0x18], ebp
jb 0x441443
mov esi, dword [esi + 4]
jmp 0x441446
add esi, 4
push ecx
mov ecx, dword [eax + 0x14]
push esi
push ecx
push ebx
mov ecx, eax
call fcn.0040a190
test eax, eax
jne 0x44149f
push 8
push str.__loader
lea ecx, [esp + 0x80]
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
call fcn.0040b5a0
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x18], 1
call fcn.00431ac0
mov byte [esp + 0x13], 1
test al, al
je 0x4414a3
mov byte [esp + 0x13], bl
test byte [esp + 0x14], 1
je 0x4414c0
cmp dword [esp + 0x90], ebp
jb 0x4414c0
mov eax, dword [esp + 0x7c]
push eax
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
jne 0x441585
push 0x2a
push str.mediaget_installer_singleapplication_mutex
lea ecx, [esp + 0x80]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x98], edi
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
call fcn.0040b5a0
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.00429c40
add esp, 8
cmp dword [esp + 0x90], ebp
jb 0x441522
mov eax, dword [esp + 0x7c]
push eax
call fcn.00473948
add esp, 4
mov ecx, dword [esp + 0x18]
push ecx
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 0xb7
jne 0x441595
call fcn.00414ce0
mov byte [eax + 0x1c], 1
call fcn.00414ce0
mov ecx, eax
call fcn.004194c0
call fcn.00410660
test al, al
je 0x441564
call fcn.00407550
call fcn.00414ce0
mov ecx, eax
call fcn.00418d50
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x441585
push eax
call fcn.00473f71
add esp, 4
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x3c]
call fcn.00444cc0
xor eax, eax
jmp 0x4418a4
push str.__silent
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea edx, [esp + 0x78]
push edx
lea ecx, [esp + 0x40]
call fcn.00431ac0
mov byte [esp + 0x13], al
cmp dword [esp + 0x90], ebp
jb 0x4415cb
mov eax, dword [esp + 0x7c]
push eax
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
je 0x4415da
xor edi, edi
call fcn.00414d60
jmp 0x4415e1
mov edi, dword [esp + 0xa8]
push str.__reseller
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x40]
call fcn.00431ac0
mov byte [esp + 0x13], al
cmp dword [esp + 0x90], ebp
jb 0x441617
mov edx, dword [esp + 0x7c]
push edx
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
je 0x44164b
push str.__reseller
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x40]
call fcn.00431b70
push eax
call fcn.00444720
add esp, 4
lea ecx, [esp + 0x78]
call fcn.0040ae00
push str.__subid
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x40]
call fcn.00431ac0
mov byte [esp + 0x13], al
cmp dword [esp + 0x90], ebp
jb 0x441681
mov edx, dword [esp + 0x7c]
push edx
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
je 0x4416b5
push str.__subid
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x40]
call fcn.00431b70
push eax
call fcn.00444740
add esp, 4
lea ecx, [esp + 0x78]
call fcn.0040ae00
push str.__test
lea ecx, [esp + 0x7c]
call fcn.0040b8c0
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x40]
call fcn.00431ac0
mov byte [esp + 0x13], al
cmp dword [esp + 0x90], ebp
jb 0x4416eb
mov edx, dword [esp + 0x7c]
push edx
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
je 0x4416f8
mov byte [0x4b2ec0], 1
push 1
xor esi, esi
call fcn.0042be90
push eax
call fcn.0042a9f0
call fcn.0042be90
push eax
call fcn.0042dae0
add esp, 0xc
test al, al
jne 0x4417ac
call fcn.004296d0
push eax
push 0x498924
call fcn.0042be90
push eax
lea eax, [esp + 0x68]
push str.Unable_to_create_temporary_directory__
push eax
call fcn.0040bcc0
add esp, 0xc
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.0040bd80
add esp, 0xc
push eax
lea edx, [esp + 0x80]
push edx
call fcn.0040be40
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.0040ae00
lea ecx, [esp + 0x5c]
call fcn.0040ae00
lea eax, [esp + 0x78]
push 4
push eax
call fcn.0041c670
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00459c10
push eax
call fcn.00429ee0
add esp, 0x14
lea ecx, [esp + 0x20]
call fcn.0040ae00
lea ecx, [esp + 0x78]
call fcn.0040ae00
jmp 0x44181f
call fcn.00448d50
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.00440900
mov eax, dword [esp + 0xa0]
add esp, 4
push ebx
push eax
push ebx
mov ecx, 0x4b33b0
call fcn.00441cd0
call fcn.0043f4d0
call fcn.00414ce0
mov ecx, eax
call fcn.00413340
mov ecx, dword [esp + 0xa4]
push edi
push ecx
call fcn.004410d0
add esp, 8
mov ecx, 0x4b33b0
mov esi, eax
call fcn.00443e30
call dword [sym.imp.ole32.dll_CoUninitialize]
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
call fcn.00414ce0
mov ecx, eax
call fcn.00418d50
lea eax, [esp + 0x78]
push eax
call fcn.0041c6a0
add esp, 4
cmp dword [eax + 0x14], ebx
setne byte [esp + 0x13]
cmp dword [esp + 0x90], ebp
jb 0x441856
mov ecx, dword [esp + 0x7c]
push ecx
call fcn.00473948
add esp, 4
cmp byte [esp + 0x13], bl
je 0x441868
call fcn.00414ce0
mov ecx, eax
call fcn.00418e70
call fcn.00428630
mov ecx, eax
call fcn.00428680
push 1
call fcn.0042be90
push eax
call fcn.0042a9f0
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
je 0x441899
push eax
call fcn.00473f71
add esp, 4
mov dword [esp + 0x1c], ebx
lea ecx, [esp + 0x3c]
call fcn.00444cc0
mov eax, esi
pop esi
mov ecx, dword [esp + 0x90]
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.00474468
add esp, 0x88
ret 0x10