Function at 0x140021940
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x370]
sub rsp, 0x470
mov rax, qword [0x140051580]
xor rax, rsp
mov qword [rbp + 0x360], rax
mov r12, rcx
mov r15, rdx
mov ecx, 0xc8
call fcn.1400012cc
xor r13d, r13d
test rax, rax
je 0x140021d9b
mov rcx, rax
call fcn.14001ef64
mov rbx, rax
test rax, rax
je 0x140021d9b
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r13d
lea rdx, str.INSTALLTYPE
mov rcx, r15
call fcn.1400235f8
mov edi, eax
test eax, eax
jns 0x1400219d6
lea r8, str.INSTALLTYPE
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
lea esi, [r13 + 2]
jmp 0x140021b92
lea rdx, str.advinf
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
mov esi, 2
test eax, eax
jne 0x1400219ff
lea ecx, [rsi + 1]
jmp 0x140021aaa
lea rdx, [0x1400466c0]
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140021a23
lea ecx, [rax + 1]
jmp 0x140021aaa
lea rdx, [0x1400469a8]
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140021a43
mov ecx, esi
jmp 0x140021aaa
lea rdx, str.extinf
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140021a64
lea ecx, [rax + 4]
jmp 0x140021aaa
lea rdx, str.setupapiinf
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140021a85
lea ecx, [rax + 5]
jmp 0x140021aaa
lea rdx, str.buinf
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
mov ecx, r13d
mov edx, 6
test eax, eax
cmove ecx, edx
mov dword [rbx + 0x58], ecx
cmp ecx, 1
jne 0x140021adc
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r13d
lea rdx, str.UPDATEEXE
mov rcx, r15
call fcn.1400235f8
test eax, eax
js 0x140021adc
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1400278f4
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r13d
lea rdx, str.INSTALLFILE
mov rcx, r15
call fcn.1400235f8
mov edi, eax
test eax, eax
jns 0x140021b07
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
jmp 0x140021b8b
cmp dword [rbx + 0x58], 1
je 0x140021c4a
mov edi, 0x104
lea rcx, [rbp + 0x150]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
nop dword [rax + rax]
or r14, 0xffffffffffffffff
test eax, eax
je 0x140021b71
lea rcx, [rbp + 0x150]
mov rax, r14
inc rax
cmp word [rcx + rax*2], r13w
jne 0x140021b3d
sub rdi, rax
lea r9, [rbp + 0x150]
lea rax, [rsp + 0x40]
mov rdx, rdi
lea r8, str._sinf_s
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x150]
call fcn.1400104f4
lea rcx, [rbp + 0x150]
call fcn.140019eb0
test eax, eax
jne 0x140021b9e
lea edi, [rax + 1]
lea rdx, str.ERROR:_Setup_missing_uninstall_file:__S._r_n
lea r8, str.INSTALLFILE
mov ecx, esi
call fcn.140018ed8
jmp 0x140021d7a
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140021bb0
call fcn.1400012c0
mov qword [rbx + 0x30], r13
lea rax, [rbp + 0x150]
mov rdi, r14
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x140021bba
inc rdi
mov rax, rsi
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.14000130c
mov qword [rbx + 0x30], rax
test rax, rax
je 0x140021ce1
lea r8, [rbp + 0x150]
mov rdx, rdi
mov rcx, rax
call fcn.1400104bc
cmp qword [rbx + 0x18], r13
jne 0x140021ce1
mov edx, 0x5c
lea rcx, [rbp + 0x150]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
nop dword [rax + rax]
test rax, rax
je 0x140021c27
mov rdx, rax
jmp 0x140021cd9
cmp dword [rbx + 0x58], 1
jne 0x140021ce1
cmp dword [rbx + 0x90], r13d
je 0x140021ce1
lea rdx, [rbp + 0x150]
jmp 0x140021cd9
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140021c5c
call fcn.1400012c0
mov qword [rbx + 0x30], r13
or r14, 0xffffffffffffffff
lea rax, [rsp + 0x40]
mov rdi, r14
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x140021c68
inc rdi
mov rax, rsi
mul rdi
cmovo rax, r14
mov rcx, rax
call fcn.14000130c
mov qword [rbx + 0x30], rax
test rax, rax
je 0x140021ce1
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, rax
call fcn.1400104bc
cmp qword [rbx + 0x18], r13
jne 0x140021ce1
mov edx, 0x5c
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
nop dword [rax + rax]
test rax, rax
jne 0x140021c1f
cmp dword [rbx + 0x58], 1
jne 0x140021ce1
cmp dword [rbx + 0x90], r13d
je 0x140021ce1
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140027018
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r13d
lea rdx, str.UNINSTALL
mov rcx, r15
call fcn.1400235f8
mov edi, eax
test eax, eax
jns 0x140021d13
lea r8, str.UNINSTALL
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
jmp 0x140021b92
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.140027888
lea r8, [rsp + 0x40]
mov dword [rsp + 0x20], r13d
lea rdx, str.MOREINSTALLINFO
mov rcx, r15
call fcn.1400235f8
test eax, eax
js 0x140021d4b
lea rcx, [rbx + 0x28]
lea rdx, [rsp + 0x40]
call fcn.14001d218
mov rcx, rbx
call fcn.140025a18
test eax, eax
je 0x140021d71
cmp dword [rbx + 0x8c], esi
je 0x140021d71
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.140021898
mov edi, eax
jmp 0x140021d76
mov edi, 1
test edi, edi
je 0x140021d97
mov rcx, rbx
call fcn.14001f4c0
test edi, edi
jns 0x140021d97
mov r8d, edi
lea rdx, str.ERROR:_Reg_Parser:_Failed_to_add_uninstall_information_from_reg.__Last_result:_0x_x._r_n
mov ecx, esi
call fcn.140018ed8
mov eax, edi
jmp 0x140021da0
mov eax, 0x8007000e
mov rcx, qword [rbp + 0x360]
xor rcx, rsp
call fcn.140001660
mov rbx, qword [rsp + 0x4c0]
add rsp, 0x470
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret