Function at 0x48a450
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5edf4d
mov eax, dword fs:[0]
push eax
sub esp, 0x5c0
mov eax, dword [0x677000]
xor eax, esp
mov dword [esp + 0x5b8], eax
push ebx
push esi
push edi
mov eax, dword [0x677000]
xor eax, esp
push eax
lea eax, [esp + 0x5d0]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], 8
mov dword [esp + 0x74], 0xff
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov ecx, edi
call fcn.004a5c91
push 0
call fcn.004a664c
add esp, 4
push 0x5f5360
call fcn.004ae9e6
xor eax, eax
push 0x206
push eax
mov word [esp + 0x3c4], ax
lea eax, [esp + 0x3c6]
push eax
call fcn.005bb1c0
add esp, 0xc
lea eax, [esp + 0x3bc]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x3bc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
xor eax, eax
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
cmp word [esp + 0x3bc], ax
jne 0x48a539
xor ecx, ecx
jmp 0x48a552
lea ecx, [esp + 0x3bc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48a543
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x3c0]
push eax
lea ecx, [esp + 0x94]
call fcn.00406400
push 0x5c
lea edx, [esp + 0x90]
lea ecx, [esp + 0x14]
mov dword [esp + 0x5dc], 0
call fcn.004751f0
add esp, 4
push str.Msetup4.ini
mov edx, eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x5dc], 1
call fcn.00406b90
add esp, 4
mov byte [esp + 0x5d8], 3
cmp dword [esp + 0x24], 8
jb 0x48a5bd
push dword [esp + 0x10]
call fcn.0049500b
add esp, 4
xor eax, eax
cmp dword [esp + 0x88], 8
lea edx, [esp + 0x74]
cmovae edx, dword [esp + 0x74]
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], 0
mov word [esp + 0x10], ax
call fcn.00418400
mov ecx, 0x74e348
call fcn.004020d0
push 0x74e7f8
call fcn.005b87a4
add esp, 4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
call fcn.0049f7f0
test eax, eax
je 0x48a62b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
jmp 0x48a62d
xor eax, eax
push eax
lea ecx, [esp + 0x5c]
call fcn.0049cf12
mov byte [esp + 0x5d8], 4
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
xorps xmm0, xmm0
push 8
push dword [esp + 0x64]
xor eax, eax
mov word [esp + 0x3a4], ax
movq qword [esp + 0x3a6], xmm0
movq qword [esp + 0x3ae], xmm0
movq qword [esp + 0x3b6], xmm0
mov dword [esp + 0x3be], eax
call ebx
push 0xa
push dword [esp + 0x64]
mov esi, eax
call ebx
push eax
push esi
push str._dx_d
push 0xffffffffffffffff
lea eax, [esp + 0x3ac]
push 0xf
push eax
call fcn.005b8769
add esp, 0x18
cmp word [esp + 0x39c], 0
jne 0x48a6b0
xor ecx, ecx
jmp 0x48a6cf
lea ecx, [esp + 0x39c]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48a6c0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x3a0]
push eax
mov ecx, 0x74e438
call fcn.00406400
push 0x58
push dword [esp + 0x64]
xor eax, eax
xorps xmm0, xmm0
mov word [esp + 0x390], ax
movq qword [esp + 0x392], xmm0
movq qword [esp + 0x39a], xmm0
mov word [esp + 0x3a2], ax
call ebx
push eax
push 0x62623c
push 0xffffffffffffffff
lea eax, [esp + 0x394]
push 0xa
push eax
call fcn.005b8769
add esp, 0x14
cmp word [esp + 0x388], 0
jne 0x48a73a
xor ecx, ecx
jmp 0x48a753
lea ecx, [esp + 0x388]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x48a744
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x38c]
push eax
mov ecx, 0x74e378
call fcn.00406400
push dword [edi + 0x64]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [edi + 0xcc], eax
call esi
cmp eax, 0xb7
je 0x48a79f
call fcn.0048b680
test eax, eax
jne 0x48a824
push str.CMSetupApp::InitInstance_IsAdministrators___Failed
call fcn.00418730
xor esi, esi
lea ecx, [esp + 0x58]
mov byte [esp + 0x5d8], 3
call fcn.0049d06b
cmp dword [esp + 0x88], 8
jb 0x48a7c8
push dword [esp + 0x74]
call fcn.0049500b
add esp, 4
xor eax, eax
cmp dword [esp + 0xa0], 8
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
jb 0x48a7fe
push dword [esp + 0x8c]
call fcn.0049500b
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x5d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x5b8]
xor ecx, esp
call fcn.005b7f8f
mov esp, ebp
pop ebp
ret
call fcn.0048b600
cmp eax, 1
jne 0x48a838
push str.CMSetupApp::InitInstance_IsWow64___Failed
jmp 0x48a79a
call fcn.0048a9a0
test eax, eax
jne 0x48a84b
push str.CMSetupApp::InitInstance_Initialize___Failed
jmp 0x48a79a
call fcn.0046a8f0
test eax, eax
jne 0x48a85e
push str.CMSetupApp::InitInstance_InitializeMacro___Failed
jmp 0x48a79a
call fcn.0048b7d0
test eax, eax
jne 0x48a876
call fcn.0048bf50
push str.CMSetupApp::InitInstance_IsAdministratorGroup___Failed
jmp 0x48a79a
call fcn.0048aee0
test eax, eax
jne 0x48a889
push str.CMSetupApp::InitInstance_InitializeLoadLibrary___Failed
jmp 0x48a79a
call fcn.0048ba80
test eax, eax
jne 0x48a89c
push str.CMSetupApp::InitInstance_IsSupportOS___Failed
jmp 0x48a79a
call fcn.00466960
lea eax, [esp + 0x388]
push eax
lea ecx, [esp + 0x44]
call fcn.00405d00
push str.SCREEN_DPI
lea ecx, [esp + 0x2c]
mov byte [esp + 0x5dc], 5
call fcn.00405d00
lea eax, [esp + 0x40]
mov byte [esp + 0x5d8], 6
mov ecx, dword [0x74e2f4]
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [ecx + 0xc]
call fcn.00409f70
lea ecx, [esp + 0x28]
call fcn.00405e10
lea ecx, [esp + 0x40]
mov byte [esp + 0x5d8], 4
call fcn.00405e10
push ecx
lea ecx, [esp + 0xa8]
call fcn.0048a960
push ecx
lea ecx, [esp + 0xa8]
call fcn.00422b90
lea ecx, [esp + 0xa4]
mov byte [esp + 0x5d8], 7
call fcn.004a06d0
test eax, eax
je 0x48a941
call esi
push eax
push str.CMSetupApp::InitInstance_DlgBase.DoModal___Failed:0x_08x
call fcn.004188b0
lea ecx, [esp + 0xa4]
mov esi, 1
mov byte [esp + 0x5d8], 4
call fcn.00422ca0
jmp 0x48a7a1