Function at 0x14000f5c8
Capabilities:
Check mutex on windows
Get system information on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xf98]
mov eax, 0x1070
call fcn.140045d00
sub rsp, rax
mov rax, qword [0x1400592a0]
xor rax, rsp
mov qword [rbp + 0xf60], rax
xor r13d, r13d
mov rsi, rcx
cmp dword [0x1400592e8], 3
mov ebx, r13d
jne 0x14000f925
call fcn.14001c84c
test eax, eax
jne 0x14000f6c9
lea rdx, str.Install_denied:_user_is_not_an_admin._r_n
lea ecx, [rax + 2]
call fcn.140019ae0
mov edx, 0x44a
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
test rax, rax
je 0x14000f661
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
nop dword [rax + rax]
test rsi, rsi
je 0x14000fa33
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r14d, 0x400
mov edx, 0x9d
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [r14 - 0x18]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0x125
jmp 0x14000f9e8
call fcn.14001ac48
mov rcx, rax
movabs rax, 0x624dd2f1a9fbe77
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
and rcx, 0xfffffffffffffc00
cmp rcx, 0xc800
jbe 0x14000f882
cmp dword [0x14005a6c8], r13d
lea rcx, [rsp + 0x28]
mov edx, r13d
mov qword [rsp + 0x28], r13
sete dl
xor r8d, r8d
call fcn.140006964
mov r12, qword [rsp + 0x28]
movsxd r13, eax
test r13d, r13d
jle 0x14000f86c
lea rdx, str.UnInstall_denied:_Blocking_dependencies_found._r_n
mov ecx, 2
call fcn.140019ae0
xor r15d, r15d
mov edi, 1
test rsi, rsi
je 0x14000f800
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r14d, 0x400
mov edx, 0x115
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000f802
lea edx, [r14 - 0x18]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
cmp dword [0x14005a6c8], r15d
lea r8, [rsp + 0x60]
mov rcx, qword [0x140059d90]
mov r9d, r14d
mov edx, 0x116
jne 0x14000f7c8
mov edx, 0xbb
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
jle 0x14000f802
mov edx, 0x3eb
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov ebx, edi
mov edx, 0x44a
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov r14, r13
xor r13d, r13d
mov r15, rax
test r14, r14
jle 0x14000f86c
test rax, rax
je 0x14000f84f
mov esi, r13d
mov r9, qword [r12 + rsi*8]
xor r8d, r8d
mov edx, 0x180
mov rcx, r15
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
add rsi, rdi
cmp rsi, r14
jl 0x14000f82c
mov rsi, r13
mov rcx, qword [r12 + rsi*8]
test rcx, rcx
je 0x14000f864
call fcn.140001454
mov qword [r12 + rsi*8], r13
add rsi, rdi
cmp rsi, r14
jl 0x14000f852
test r12, r12
je 0x140010065
mov rcx, r12
call fcn.140001454
jmp 0x140010065
lea rdx, str.Uninstall_denied:_User_does_not_have_enough_diskspace._r_n
mov ecx, 2
call fcn.140019ae0
mov edx, 0x44a
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
test rax, rax
je 0x14000f8bd
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
nop dword [rax + rax]
test rsi, rsi
je 0x14000fa33
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r14d, 0x400
mov edx, 0x99
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [r14 - 0x18]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0x14b
jmp 0x14000f9e8
lea rax, section..data
cmp rax, qword [str.6ij]
jne 0x14000fa3d
cmp qword [0x14005a6d0], r13
je 0x140010065
call fcn.140017524
test rax, rax
je 0x140010065
call fcn.140017524
mov rcx, rax
call fcn.14002fa7c
test eax, eax
jne 0x140010065
call fcn.14001c84c
test eax, eax
jne 0x140010065
lea rdx, str.Service_Install_denied:_user_is_not_an_admin._r_n
lea ecx, [rax + 2]
call fcn.140019ae0
test rsi, rsi
je 0x14000fa33
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r14d, 0x400
mov edx, 0x9d
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [r14 - 0x18]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0x159
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
mov edx, 0x3eb
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov ebx, 1
jmp 0x140010065
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop dword [rax + rax]
mov eax, 6
mov r14d, 0x400
lea edi, [rax - 5]
lea r15d, [rax - 4]
cmp ax, word [rsp + 0x30]
jne 0x14000fae5
lea rdx, str.Install_denied:_the_OS_Arch_does_not_match._r_n
mov ecx, r15d
call fcn.140019ae0
call fcn.14002dc10
neg eax
sbb r12d, r12d
neg r12d
test rsi, rsi
je 0x14000fba2
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x138
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000fba4
lea edx, [r14 - 0x18]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
lea edx, [r12 + 0x139]
jmp 0x14000fb5b
call fcn.140008af8
test eax, eax
je 0x14000fba4
lea rdx, str.Install_denied:_Loc_version_already_installed._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x14000fba2
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x14e
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000fba4
mov edx, 0x3e8
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0x14f
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000fba4
mov edx, 0x3eb
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov ebx, edi
call fcn.1400085b4
test eax, eax
jne 0x14000fc4e
lea rdx, str.Install_denied:_OS_version_is_greater_than_package_version._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x140010063
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9b
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, r14d
lea rcx, [rsp + 0x60]
call fcn.1400060c4
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3eb]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
lea rdx, [rsp + 0x60]
jmp 0x140010054
call fcn.140011234
test eax, eax
jne 0x14000fd1b
lea rdx, str.Install_denied:_a_newer_version_is_already_on_the_system._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x140010063
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9b
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, r14d
lea rcx, [rsp + 0x60]
call fcn.1400060c4
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3eb]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
lea r8, [rsp + 0x60]
mov ecx, r15d
lea rdx, str._S._r_n
call fcn.140019b1c
jmp 0x140010063
lea rcx, [rsp + 0x20]
mov word [rsp + 0x20], r13w
call fcn.14001c278
test eax, eax
je 0x14000fde6
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
nop dword [rax + rax]
mov ecx, 0x409
cmp cx, word [rsp + 0x20]
je 0x14000fde6
cmp cx, ax
jne 0x14000fde6
lea rdx, str.Install_denied:_this_is_a_MUI_system_for_which_a_localized_package_should_not_be_used._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x140010063
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9f
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0xa0
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
jmp 0x14000fc27
lea r8, str.GlobalServicePackOrHotfix
mov edx, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
nop dword [rax + rax]
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0xb7
cmove r13d, edi
test r12, r12
je 0x14000fe38
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
nop dword [rax + rax]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [rax + rax]
test r13d, r13d
je 0x14000feb0
lea rdx, str.Another_Update.exe_package_is_running_on_the_box.__r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x140010063
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x143
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov edx, 0x142
jmp 0x14000fdc6
call fcn.14001c84c
test eax, eax
jne 0x14000ff71
lea rdx, str.Install_denied:_user_is_not_an_admin._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x14000ff6f
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9d
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000ff71
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9e
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x14000ff71
lea edx, [rbx + 0x3eb]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
add ebx, edi
movsd xmm0, qword [0x140059d50]
comisd xmm0, xmmword [0x140052f68]
jbe 0x140010065
lea rdx, str.Install_denied:_user_does_not_have_sufficient_disk_space._r_n
mov ecx, r15d
call fcn.140019ae0
test rsi, rsi
je 0x140010063
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x99
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
lea edx, [rbx + 0x3e8]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
mov rcx, rax
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
mov rcx, qword [0x140059d90]
lea r8, [rsp + 0x60]
mov r9d, r14d
mov edx, 0x9a
call qword [sym.imp.USER32.dll_LoadStringW]
nop dword [rax + rax]
test eax, eax
je 0x140010065
cvttsd2si r9, qword [0x140059d50]
lea r8, [rsp + 0x60]
mov rdx, r14
lea rcx, [rbp + 0x760]
add r9d, edi
call fcn.140010e44
test eax, eax
js 0x140010065
lea edx, [rbx + 0x3eb]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetDlgItem]
nop dword [rax + rax]
lea rdx, [rbp + 0x760]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
nop dword [rax + rax]
add ebx, edi
mov eax, ebx
mov rcx, qword [rbp + 0xf60]
xor rcx, rsp
call fcn.1400017f0
lea r11, [rsp + 0x1070]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret