Function at 0x5fd340
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x745694]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [str.false]
lea ecx, [ebp - 0x34]
push ebx
push esi
push edi
mov dword [ebp - 0x1c], eax
mov al, byte [0x71a240]
push 0x20
mov dword [ebp - 0x58], 0
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 5
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
call fcn.00448c50
movups xmm0, xmmword [str.hasDownloadedUpdate]
mov dword [ebp - 0x24], 0x13
mov dword [ebp - 0x20], 0x1f
movups xmmword [eax], xmm0
mov cx, word [0x69f664]
mov word [eax + 0x10], cx
mov cl, byte [0x69f666]
mov byte [eax + 0x12], cl
mov byte [eax + 0x13], 0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.005c3e20
push eax
push reloc.WS2_32.dll_accept
call fcn.005bf7d0
mov edx, dword [ebp - 0x20]
add esp, 0x10
cmp edx, 0x10
jb 0x5fd41d
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd413
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd2f
push edx
push ecx
call fcn.0065cc27
add esp, 8
mov edx, dword [ebp - 8]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
cmp edx, 0x10
jb 0x5fd463
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd459
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd2f
push edx
push ecx
call fcn.0065cc27
add esp, 8
push 0x30
mov dword [ebp - 0x50], 0
call fcn.0065cbf7
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
push eax
call fcn.005d0100
mov al, byte [0x69f670]
lea ecx, [ebp - 0x54]
movq xmm0, qword [str.__crashed]
add esp, 8
mov byte [ebp - 0x14], al
lea eax, [ebp - 0x1c]
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 9
push eax
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 0x13], 0
call fcn.005cded0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fd4f7
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd4ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd34
push edx
push ecx
call fcn.0065cc27
add esp, 8
test bl, bl
je 0x5fd512
push 1
call fcn.005c6720
push eax
call fcn.005be6a0
add esp, 8
xor ebx, ebx
jmp 0x5fdcfc
call fcn.005c6ff0
mov edi, eax
call fcn.005d2550
cmp dword [edi + 0x14], 0x10
mov edx, edi
jb 0x5fd528
mov edx, dword [edi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fd532
mov ecx, dword [eax]
mov esi, dword [eax + 0x10]
cmp esi, dword [edi + 0x10]
jne 0x5fd5d6
sub esi, 4
jb 0x5fd554
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5fd559
add ecx, 4
add edx, 4
sub esi, 4
jae 0x5fd543
cmp esi, 0xfffffffc
je 0x5fd58d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5fd586
cmp esi, 0xfffffffd
je 0x5fd58d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5fd586
cmp esi, 0xfffffffe
je 0x5fd58d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5fd586
cmp esi, 0xffffffff
je 0x5fd58d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x5fd58d
sbb eax, eax
or eax, 1
jmp 0x5fd58f
xor eax, eax
test eax, eax
jne 0x5fd5d6
mov eax, dword [str.__loader]
mov ecx, dword [0x69f678]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x54]
push eax
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 8
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x58], 1
call fcn.005cded0
test al, al
jne 0x5fd5d6
mov bl, 1
mov eax, 1
jmp 0x5fd5db
mov eax, dword [ebp - 0x58]
xor bl, bl
test al, 1
je 0x5fd613
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x5fd613
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd609
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd39
push edx
push ecx
call fcn.0065cc27
add esp, 8
test bl, bl
je 0x5fd61e
xor ebx, ebx
jmp 0x5fdcfc
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.005c3b70
mov edi, accept
mov ecx, edi
mov edx, dword [eax + 0x10]
sub ecx, edx
cmp ecx, 0x22
jb 0x5fdd3e
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fd650
mov ecx, dword [eax]
push 0x22
push str._installer_singleapplication_mutex
push edx
push ecx
push eax
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.005b3710
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.005be590
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00448860
push dword [ebp - 0x64]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x5fd6d3
call fcn.005d8c80
mov byte [eax + 0xfc], 1
call fcn.005d8c80
mov ecx, eax
call fcn.005da750
call fcn.005c9ed0
test al, al
je 0x5fd6c0
call fcn.005d51d0
call fcn.005d8c80
mov ecx, eax
call fcn.005db880
xor ebx, ebx
jmp 0x5fdce5
mov eax, dword [str.__silent]
mov ecx, dword [0x69f6a8]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x54]
push eax
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 8
mov byte [ebp - 0x14], 0
call fcn.005cded0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fd738
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd72e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd43
push edx
push ecx
call fcn.0065cc27
add esp, 8
test bl, bl
je 0x5fd74a
mov dword [ebp - 0x58], 0
call fcn.005da6e0
jmp 0x5fd750
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov ax, word [0x69f6b8]
lea ecx, [ebp - 0x54]
movq xmm0, qword [str.__reseller]
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 0xa
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 0x12], 0
call fcn.005cded0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fd7bb
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd7b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd48
push edx
push ecx
call fcn.0065cc27
add esp, 8
test bl, bl
je 0x5fd850
mov ax, word [0x69f6b8]
lea ecx, [ebp - 0x54]
movq xmm0, qword [str.__reseller]
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 8], 0xf
mov dword [ebp - 0xc], 0xa
movq qword [ebp - 0x1c], xmm0
mov byte [ebp - 0x12], 0
call fcn.005cdfa0
mov esi, eax
call fcn.005d8c80
lea ecx, [eax + 0xadc]
cmp ecx, esi
je 0x5fd81c
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x5fd813
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x5fd850
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd846
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd4d
push edx
push ecx
call fcn.0065cc27
add esp, 8
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x69f6c0]
mov word [ebp - 0x30], ax
mov al, byte [0x69f6c2]
mov byte [ebp - 0x2e], al
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], 7
mov byte [ebp - 0x2d], 0
call fcn.005cded0
mov edx, dword [ebp - 0x20]
mov bl, al
cmp edx, 0x10
jb 0x5fd8be
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd8b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd52
push edx
push ecx
call fcn.0065cc27
add esp, 8
test bl, bl
je 0x5fd956
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x69f6c0]
mov word [ebp - 0x30], ax
mov al, byte [0x69f6c2]
mov byte [ebp - 0x2e], al
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x20], 0xf
mov dword [ebp - 0x24], 7
mov byte [ebp - 0x2d], 0
call fcn.005cdfa0
mov esi, eax
call fcn.005d8c80
lea ecx, [eax + 0xac4]
cmp ecx, esi
je 0x5fd922
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x5fd919
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x5fd956
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd94c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd57
push edx
push ecx
call fcn.0065cc27
add esp, 8
push 6
push str.__test
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
call fcn.004484a0
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x54]
call fcn.005cded0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fd9bc
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd9b2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd5c
push edx
push ecx
call fcn.0065cc27
add esp, 8
movzx eax, byte [0x74b8c0]
mov ecx, 1
test bl, bl
push ecx
cmovne eax, ecx
xor ebx, ebx
mov byte [0x74b8c0], al
call fcn.005c6720
push eax
call fcn.005be6a0
call fcn.005c6720
push eax
call fcn.005c01f0
add esp, 0xc
test al, al
jne 0x5fdb45
call fcn.005c6720
mov edx, dword [eax + 0x10]
sub edi, edx
cmp edi, 0x26
jb 0x5fdd61
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fda13
mov ecx, dword [eax]
push edx
push ecx
push 0x26
push str.Unable_to_create_temporary_directory__
push eax
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x4c]
call fcn.005b3710
push 4
push 0x69f6cc
lea ecx, [ebp - 0x4c]
call fcn.004485a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc], xmm0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0xf
mov byte [eax], bl
call fcn.005be540
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x5fda63
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.004485a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x34], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x24], xmm0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0xf
mov byte [eax], bl
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x5fdac0
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdab6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd66
push edx
push ecx
call fcn.0065cc27
add esp, 8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], bl
call fcn.00448860
push 1
sub esp, 0x18
lea eax, [ebp - 0x34]
mov ecx, esp
push eax
call fcn.005acee0
call fcn.005d8ee0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.005f1500
push eax
call fcn.005c5ae0
add esp, 0x28
lea ecx, [ebp - 0x4c]
call fcn.00448860
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x5fdcc9
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdb36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fdd6b
push edx
push ecx
call fcn.0065cc27
add esp, 8
jmp 0x5fdcc9
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 8
push eax
mov dword [ebp - 0x68], 4
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
push 0
push dword [ebp + 8]
mov ecx, 0x74b8f8
push 0
call fcn.005ff520
call fcn.005fcf00
push dword [ebp - 0x58]
push dword [ebp + 0x10]
call fcn.005fe470
mov edi, dword [0x74b328]
add esp, 8
add edi, 0x10
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x74b930]
test esi, esi
je 0x5fdbfb
cmp dword [esi + 4], 0
jle 0x5fdbc9
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x74b930]
test esi, esi
je 0x5fdbfb
mov eax, dword [esi]
test eax, eax
je 0x5fdbe2
push eax
call fcn.006637b7
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0065cc27
add esp, 8
push edi
mov dword [0x74b930], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x74b92c]
test esi, esi
je 0x5fdc54
mov eax, dword [esi]
test eax, eax
je 0x5fdc2b
push eax
call fcn.006637b7
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x5fdc42
push eax
call fcn.006637b7
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.0065cc27
add esp, 8
mov esi, dword [0x74b924]
test esi, esi
je 0x5fdc86
cmp dword [esi], 0
je 0x5fdc86
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x5fdc70
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esi + 0x20]
push 0
mov dword [esi + 0x10], 0
call eax
add esi, 0x24
cmp dword [esi], 0
jne 0x5fdc63
mov esi, dword [0x7455e0]
mov ecx, dword [0x7455e4]
cmp esi, ecx
jae 0x5fdcb0
mov eax, dword [esi]
test eax, eax
je 0x5fdca9
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x7455e4]
add esi, 4
cmp esi, ecx
jb 0x5fdc96
mov ecx, 0x74b8f8
call fcn.00601150
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.005d8c80
mov ecx, eax
call fcn.005db880
push 1
call fcn.005c6720
push eax
call fcn.005be6a0
add esp, 8
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x5fdcfc
push eax
call fcn.006637b7
add esp, 4
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x54]
push dword [eax + 4]
lea eax, [ebp - 0x54]
push eax
mov ecx, eax
call fcn.005fe6c0
push 0x30
push dword [ebp - 0x54]
call fcn.0065cc27
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, ebx
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0065cc3a
mov esp, ebp
pop ebp
ret 0x10
call fcn.0066375b
call fcn.0066375b
call fcn.0066375b
call fcn.00446f60
call fcn.0066375b
call fcn.0066375b
call fcn.0066375b
call fcn.0066375b
call fcn.0066375b
call fcn.0066375b
call fcn.00446f60
call fcn.0066375b
call fcn.0066375b
int3