Function at 0x5fd860
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x746694]
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 [0x71b2c0]
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 [0x6a06ec]
mov word [eax + 0x10], cx
mov cl, byte [0x6a06ee]
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.005c41b0
push eax
push reloc.WS2_32.dll_accept
call fcn.005bfb60
mov edx, dword [ebp - 0x20]
add esp, 0x10
cmp edx, 0x10
jb 0x5fd93d
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd933
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe24f
push edx
push ecx
call fcn.0065d157
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 0x5fd983
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fd979
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe24f
push edx
push ecx
call fcn.0065d157
add esp, 8
push 0x30
mov dword [ebp - 0x50], 0
call fcn.0065d127
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.005d0490
mov al, byte [0x6a06f8]
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.005ce260
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fda17
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fda0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe254
push edx
push ecx
call fcn.0065d157
add esp, 8
test bl, bl
je 0x5fda32
push 1
call fcn.005c6ab0
push eax
call fcn.005bea30
add esp, 8
xor ebx, ebx
jmp 0x5fe21c
call fcn.005c7380
mov edi, eax
call fcn.005d28e0
cmp dword [edi + 0x14], 0x10
mov edx, edi
jb 0x5fda48
mov edx, dword [edi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fda52
mov ecx, dword [eax]
mov esi, dword [eax + 0x10]
cmp esi, dword [edi + 0x10]
jne 0x5fdaf6
sub esi, 4
jb 0x5fda74
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x5fda79
add ecx, 4
add edx, 4
sub esi, 4
jae 0x5fda63
cmp esi, 0xfffffffc
je 0x5fdaad
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x5fdaa6
cmp esi, 0xfffffffd
je 0x5fdaad
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x5fdaa6
cmp esi, 0xfffffffe
je 0x5fdaad
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x5fdaa6
cmp esi, 0xffffffff
je 0x5fdaad
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x5fdaad
sbb eax, eax
or eax, 1
jmp 0x5fdaaf
xor eax, eax
test eax, eax
jne 0x5fdaf6
mov eax, dword [str.__loader]
mov ecx, dword [0x6a0700]
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.005ce260
test al, al
jne 0x5fdaf6
mov bl, 1
mov eax, 1
jmp 0x5fdafb
mov eax, dword [ebp - 0x58]
xor bl, bl
test al, 1
je 0x5fdb33
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x5fdb33
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdb29
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe259
push edx
push ecx
call fcn.0065d157
add esp, 8
test bl, bl
je 0x5fdb3e
xor ebx, ebx
jmp 0x5fe21c
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.005c3f00
mov edi, accept
mov ecx, edi
mov edx, dword [eax + 0x10]
sub ecx, edx
cmp ecx, 0x22
jb 0x5fe25e
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fdb70
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.005b3730
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.005be920
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 0x5fdbf3
call fcn.005d9040
mov byte [eax + 0x114], 1
call fcn.005d9040
mov ecx, eax
call fcn.005dab10
call fcn.005ca260
test al, al
je 0x5fdbe0
call fcn.005d5560
call fcn.005d9040
mov ecx, eax
call fcn.005dbc40
xor ebx, ebx
jmp 0x5fe205
mov eax, dword [str.__silent]
mov ecx, dword [0x6a0730]
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.005ce260
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fdc58
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdc4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe263
push edx
push ecx
call fcn.0065d157
add esp, 8
test bl, bl
je 0x5fdc6a
mov dword [ebp - 0x58], 0
call fcn.005daaa0
jmp 0x5fdc70
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov ax, word [0x6a0740]
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.005ce260
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fdcdb
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdcd1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe268
push edx
push ecx
call fcn.0065d157
add esp, 8
test bl, bl
je 0x5fdd70
mov ax, word [0x6a0740]
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.005ce330
mov esi, eax
call fcn.005d9040
lea ecx, [eax + 0xaf4]
cmp ecx, esi
je 0x5fdd3c
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x5fdd33
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x5fdd70
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdd66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe26d
push edx
push ecx
call fcn.0065d157
add esp, 8
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x6a0748]
mov word [ebp - 0x30], ax
mov al, byte [0x6a074a]
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.005ce260
mov edx, dword [ebp - 0x20]
mov bl, al
cmp edx, 0x10
jb 0x5fddde
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fddd4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe272
push edx
push ecx
call fcn.0065d157
add esp, 8
test bl, bl
je 0x5fde76
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x6a0748]
mov word [ebp - 0x30], ax
mov al, byte [0x6a074a]
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.005ce330
mov esi, eax
call fcn.005d9040
lea ecx, [eax + 0xadc]
cmp ecx, esi
je 0x5fde42
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x5fde39
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x5fde76
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fde6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe277
push edx
push ecx
call fcn.0065d157
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.005ce260
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x5fdedc
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fded2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe27c
push edx
push ecx
call fcn.0065d157
add esp, 8
movzx eax, byte [0x74c8c0]
mov ecx, 1
test bl, bl
push ecx
cmovne eax, ecx
xor ebx, ebx
mov byte [0x74c8c0], al
call fcn.005c6ab0
push eax
call fcn.005bea30
call fcn.005c6ab0
push eax
call fcn.005c0580
add esp, 0xc
test al, al
jne 0x5fe065
call fcn.005c6ab0
mov edx, dword [eax + 0x10]
sub edi, edx
cmp edi, 0x26
jb 0x5fe281
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x5fdf33
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.005b3730
push 4
push 0x6a0754
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.005be8d0
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x5fdf83
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 0x5fdfe0
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fdfd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe286
push edx
push ecx
call fcn.0065d157
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.005d92a0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.005f1a30
push eax
call fcn.005c5e70
add esp, 0x28
lea ecx, [ebp - 0x4c]
call fcn.00448860
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x5fe1e9
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fe056
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fe28b
push edx
push ecx
call fcn.0065d157
add esp, 8
jmp 0x5fe1e9
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, 0x74c8f8
push 0
call fcn.005ffa40
call fcn.005fd420
push dword [ebp - 0x58]
push dword [ebp + 0x10]
call fcn.005fe990
mov edi, dword [0x74c328]
add esp, 8
add edi, 0x10
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x74c930]
test esi, esi
je 0x5fe11b
cmp dword [esi + 4], 0
jle 0x5fe0e9
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x74c930]
test esi, esi
je 0x5fe11b
mov eax, dword [esi]
test eax, eax
je 0x5fe102
push eax
call fcn.00663ce7
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.0065d157
add esp, 8
push edi
mov dword [0x74c930], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x74c92c]
test esi, esi
je 0x5fe174
mov eax, dword [esi]
test eax, eax
je 0x5fe14b
push eax
call fcn.00663ce7
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x5fe162
push eax
call fcn.00663ce7
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.0065d157
add esp, 8
mov esi, dword [0x74c924]
test esi, esi
je 0x5fe1a6
cmp dword [esi], 0
je 0x5fe1a6
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x5fe190
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 0x5fe183
mov esi, dword [0x7465e0]
mov ecx, dword [0x7465e4]
cmp esi, ecx
jae 0x5fe1d0
mov eax, dword [esi]
test eax, eax
je 0x5fe1c9
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x7465e4]
add esi, 4
cmp esi, ecx
jb 0x5fe1b6
mov ecx, 0x74c8f8
call fcn.00601680
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.005d9040
mov ecx, eax
call fcn.005dbc40
push 1
call fcn.005c6ab0
push eax
call fcn.005bea30
add esp, 8
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x5fe21c
push eax
call fcn.00663ce7
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.005febe0
push 0x30
push dword [ebp - 0x54]
call fcn.0065d157
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, ebx
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0065d16a
mov esp, ebp
pop ebp
ret 0x10
call fcn.00663c8b
call fcn.00663c8b
call fcn.00663c8b
call fcn.00446f60
call fcn.00663c8b
call fcn.00663c8b
call fcn.00663c8b
call fcn.00663c8b
call fcn.00663c8b
call fcn.00663c8b
call fcn.00446f60
call fcn.00663c8b
call fcn.00663c8b
int3