Function at 0x6054f0
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x74e694]
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 [0x7227f8]
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 [0x6a8684]
mov word [eax + 0x10], cx
mov cl, byte [0x6a8686]
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.005c8bb0
push eax
push reloc.WS2_32.dll_accept
call fcn.005c4700
mov edx, dword [ebp - 0x20]
add esp, 0x10
cmp edx, 0x10
jb 0x6055cd
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x6055c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605eeb
push edx
push ecx
call fcn.00663ac7
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 0x605613
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605609
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605eeb
push edx
push ecx
call fcn.00663ac7
add esp, 8
push 0x30
mov dword [ebp - 0x50], 0
call fcn.00663a97
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.005d50e0
mov al, byte [0x6a8690]
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.005d2eb0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x6056a7
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x60569d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605ef0
push edx
push ecx
call fcn.00663ac7
add esp, 8
test bl, bl
je 0x6056c2
push 1
call fcn.005cb5b0
push eax
call fcn.005c35d0
add esp, 8
xor ebx, ebx
jmp 0x605eb8
call fcn.005cbe80
mov edi, eax
call fcn.005d7d00
cmp dword [edi + 0x14], 0x10
mov edx, edi
jb 0x6056d8
mov edx, dword [edi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x6056e2
mov ecx, dword [eax]
mov esi, dword [eax + 0x10]
cmp esi, dword [edi + 0x10]
jne 0x605786
sub esi, 4
jb 0x605704
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x605709
add ecx, 4
add edx, 4
sub esi, 4
jae 0x6056f3
cmp esi, 0xfffffffc
je 0x60573d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x605736
cmp esi, 0xfffffffd
je 0x60573d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x605736
cmp esi, 0xfffffffe
je 0x60573d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x605736
cmp esi, 0xffffffff
je 0x60573d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x60573d
sbb eax, eax
or eax, 1
jmp 0x60573f
xor eax, eax
test eax, eax
jne 0x605786
mov eax, dword [str.__loader]
mov ecx, dword [0x6a8698]
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.005d2eb0
test al, al
jne 0x605786
mov bl, 1
mov eax, 1
jmp 0x60578b
mov eax, dword [ebp - 0x58]
xor bl, bl
test al, 1
je 0x6057c3
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x6057c3
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x6057b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605ef5
push edx
push ecx
call fcn.00663ac7
add esp, 8
test bl, bl
je 0x6057ce
xor ebx, ebx
jmp 0x605eb8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
call fcn.005c8900
mov edi, accept
mov ecx, edi
mov edx, dword [eax + 0x10]
sub ecx, edx
cmp ecx, 0x22
jb 0x605efa
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x605800
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.005b5360
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.005c34c0
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 0x605883
call fcn.005df4c0
mov byte [eax + 0xfc], 1
call fcn.005df4c0
mov ecx, eax
call fcn.005e0f90
call fcn.005ced60
test al, al
je 0x605870
call fcn.005daaa0
call fcn.005df4c0
mov ecx, eax
call fcn.005e20c0
xor ebx, ebx
jmp 0x605ea1
mov eax, dword [str.__silent]
mov ecx, dword [0x6a86c8]
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.005d2eb0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x6058e8
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x6058de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605eff
push edx
push ecx
call fcn.00663ac7
add esp, 8
test bl, bl
je 0x6058fa
mov dword [ebp - 0x58], 0
call fcn.005e0f20
jmp 0x605900
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov ax, word [0x6a86d8]
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.005d2eb0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x60596b
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605961
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f04
push edx
push ecx
call fcn.00663ac7
add esp, 8
test bl, bl
je 0x605a00
mov ax, word [0x6a86d8]
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.005d2f80
mov esi, eax
call fcn.005df4c0
lea ecx, [eax + 0xadc]
cmp ecx, esi
je 0x6059cc
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x6059c3
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x605a00
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x6059f6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f09
push edx
push ecx
call fcn.00663ac7
add esp, 8
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x6a86e0]
mov word [ebp - 0x30], ax
mov al, byte [0x6a86e2]
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.005d2eb0
mov edx, dword [ebp - 0x20]
mov bl, al
cmp edx, 0x10
jb 0x605a6e
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605a64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f0e
push edx
push ecx
call fcn.00663ac7
add esp, 8
test bl, bl
je 0x605b06
mov eax, dword [str.__subid]
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x34], eax
mov ax, word [0x6a86e0]
mov word [ebp - 0x30], ax
mov al, byte [0x6a86e2]
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.005d2f80
mov esi, eax
call fcn.005df4c0
lea ecx, [eax + 0xac4]
cmp ecx, esi
je 0x605ad2
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x605ac9
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
call fcn.004484a0
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x605b06
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605afc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f13
push edx
push ecx
call fcn.00663ac7
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.005d2eb0
mov edx, dword [ebp - 8]
mov bl, al
cmp edx, 0x10
jb 0x605b6c
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605b62
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f18
push edx
push ecx
call fcn.00663ac7
add esp, 8
movzx eax, byte [0x7548d8]
mov ecx, 1
test bl, bl
push ecx
cmovne eax, ecx
xor ebx, ebx
mov byte [0x7548d8], al
call fcn.005cb5b0
push eax
call fcn.005c35d0
call fcn.005cb5b0
push eax
call fcn.005c5120
add esp, 0xc
test al, al
jne 0x605cf5
call fcn.005cb5b0
mov edx, dword [eax + 0x10]
sub edi, edx
cmp edi, 0x26
jb 0x605f1d
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x605bc3
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.005b5360
push 4
push 0x6a86ec
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.005c3470
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x605c13
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 0x605c70
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605c66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f22
push edx
push ecx
call fcn.00663ac7
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.005a7d30
call fcn.005df720
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.005f9590
push eax
call fcn.005ca970
add esp, 0x28
lea ecx, [ebp - 0x4c]
call fcn.00448860
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x605e79
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x605ce6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x605f27
push edx
push ecx
call fcn.00663ac7
add esp, 8
jmp 0x605e79
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, 0x754910
push 0
call fcn.006076d0
call fcn.006050b0
push dword [ebp - 0x58]
push dword [ebp + 0x10]
call fcn.00606620
mov edi, dword [0x75432c]
add esp, 8
add edi, 0x10
mov ebx, eax
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [0x754948]
test esi, esi
je 0x605dab
cmp dword [esi + 4], 0
jle 0x605d79
mov eax, dword [esi]
push dword [eax]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [0x754948]
test esi, esi
je 0x605dab
mov eax, dword [esi]
test eax, eax
je 0x605d92
push eax
call fcn.0066a657
add esp, 4
mov dword [esi], 0
push 0xc
push esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00663ac7
add esp, 8
push edi
mov dword [0x754948], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [0x754944]
test esi, esi
je 0x605e04
mov eax, dword [esi]
test eax, eax
je 0x605ddb
push eax
call fcn.0066a657
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x605df2
push eax
call fcn.0066a657
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
mov dword [esi + 8], 0
call fcn.00663ac7
add esp, 8
mov esi, dword [0x75493c]
test esi, esi
je 0x605e36
cmp dword [esi], 0
je 0x605e36
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x605e20
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 0x605e13
mov esi, dword [0x74e5e0]
mov ecx, dword [0x74e5e4]
cmp esi, ecx
jae 0x605e60
mov eax, dword [esi]
test eax, eax
je 0x605e59
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x74e5e4]
add esi, 4
cmp esi, ecx
jb 0x605e46
mov ecx, 0x754910
call fcn.00609300
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.005df4c0
mov ecx, eax
call fcn.005e20c0
call fcn.005a69b0
mov ecx, eax
call fcn.005a6e70
push 1
call fcn.005cb5b0
push eax
call fcn.005c35d0
add esp, 8
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x605eb8
push eax
call fcn.0066a657
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.00606870
push 0x30
push dword [ebp - 0x54]
call fcn.00663ac7
mov ecx, dword [ebp - 4]
add esp, 8
mov eax, ebx
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00663ada
mov esp, ebp
pop ebp
ret 0x10
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.00446f60
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.0066a5fb
call fcn.00446f60
call fcn.0066a5fb
call fcn.0066a5fb
int3