Function at 0x5d6001
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov eax, dword [0x70a514]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
lea ecx, [ebp - 0x1c]
push str.false
mov dword [ebp - 0x5c], ebx
call fcn.00448670
push str.hasDownloadedUpdate
lea ecx, [ebp - 0x34]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.005b7a8e
push eax
push reloc.WS2_32.dll_accept
call fcn.005b72fb
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.00448620
lea ecx, [ebp - 0x1c]
call fcn.00448620
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], ebx
push eax
mov dword [ebp - 0x54], ebx
call fcn.005d369c
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
call fcn.005bac11
pop ecx
pop ecx
push str.__crashed
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00448620
test bl, bl
je 0x5d60b3
push 1
call fcn.005b8446
push eax
call fcn.005b6ba6
pop ecx
pop ecx
jmp 0x5d610f
call fcn.005b4ec7
mov esi, eax
call fcn.005ba6f2
push esi
mov ecx, eax
call fcn.005a6cd6
xor ebx, ebx
inc ebx
test al, al
je 0x5d60f5
push str.__loader
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
test al, al
jne 0x5d60f8
xor ecx, ecx
inc ecx
mov byte [ebp - 0x4d], cl
mov ebx, ecx
jmp 0x5d60fc
mov ebx, dword [ebp - 0x5c]
mov byte [ebp - 0x4d], 0
test bl, 1
je 0x5d6109
lea ecx, [ebp - 0x1c]
call fcn.00448620
cmp byte [ebp - 0x4d], 0
je 0x5d6116
xor esi, esi
jmp 0x5d63e9
lea eax, [ebp - 0x64]
xor ebx, ebx
push eax
push str._installer_singleapplication_mutex
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.005b7b70
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.005a51ef
add esp, 0xc
push eax
call fcn.005b7ea2
pop ecx
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00448620
push dword [ebp - 0x64]
push 1
push ebx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x5d619e
call fcn.005c0834
mov byte [eax + 0xec], 1
call fcn.005c0834
mov ecx, eax
call fcn.005c08a5
call fcn.005b56c8
test al, al
je 0x5d618b
call fcn.005bdc51
call fcn.005c0834
mov ecx, eax
call fcn.005c332a
mov esi, ebx
jmp 0x5d63d7
push str.__silent
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00448620
test bl, bl
je 0x5d61ce
xor edi, edi
call fcn.005c3777
jmp 0x5d61d1
mov edi, dword [ebp + 0x14]
mov esi, str.__reseller
lea ecx, [ebp - 0x1c]
push esi
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00448620
test bl, bl
je 0x5d621d
push esi
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005babe5
push eax
call fcn.005d5fd1
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00448620
mov esi, str.__subid
lea ecx, [ebp - 0x1c]
push esi
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00448620
test bl, bl
je 0x5d6269
push esi
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005babe5
push eax
call fcn.005d5fe9
pop ecx
lea ecx, [ebp - 0x1c]
call fcn.00448620
push str.__test
lea ecx, [ebp - 0x1c]
call fcn.00448670
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x58]
call fcn.005baa08
lea ecx, [ebp - 0x1c]
mov bl, al
call fcn.00448620
movzx ecx, byte [0x710728]
test bl, bl
push 1
pop eax
cmovne ecx, eax
xor ebx, ebx
push eax
mov byte [0x710728], cl
mov esi, ebx
call fcn.005b8446
push eax
call fcn.005b6ba6
call fcn.005b8446
push eax
call fcn.005b649e
add esp, 0xc
test al, al
jne 0x5d635a
call fcn.005b5a85
push eax
push 0x6670e4
call fcn.005b8446
push eax
lea eax, [ebp - 0x4c]
push str.Unable_to_create_temporary_directory__
push eax
call fcn.005a01c7
add esp, 0xc
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.005a015e
add esp, 0xc
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.005a0135
add esp, 0xc
lea ecx, [ebp - 0x1c]
call fcn.00448620
lea ecx, [ebp - 0x4c]
call fcn.00448620
xor eax, eax
inc eax
push eax
sub esp, 0x18
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], ebx
call fcn.005a2638
call fcn.005bffd5
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.005ca08b
push eax
call fcn.005b30e9
add esp, 0x28
lea ecx, [ebp - 0x4c]
call fcn.00448620
lea ecx, [ebp - 0x34]
call fcn.00448620
jmp 0x5d63ae
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.005d3ff8
pop ecx
push ebx
push dword [ebp + 8]
push ebx
mov ebx, 0x710788
mov ecx, ebx
call fcn.005d4332
call fcn.005d31a5
push edi
push dword [ebp + 0x10]
call fcn.005d562b
pop ecx
pop ecx
mov ecx, ebx
mov esi, eax
call fcn.005d5a5e
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ebx, ebx
call fcn.005c0834
mov ecx, eax
call fcn.005c332a
call fcn.005a4aaa
mov ecx, eax
call fcn.005a4f9c
xor eax, eax
inc eax
push eax
call fcn.005b8446
push eax
call fcn.005b6ba6
pop ecx
pop ecx
cmp dword [ebp - 0x64], 0
je 0x5d63e9
push dword [ebp - 0x64]
call fcn.0062d677
pop ecx
mov dword [ebp - 0x60], ebx
lea eax, [ebp - 0x58]
push eax
mov ecx, eax
call fcn.005d36b3
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00626a7a
leave
ret 0x10