Function at 0x140023ec0
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x360]
sub rsp, 0x460
mov rax, qword [0x1400592a0]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r12, rcx
mov rsi, rdx
mov ecx, 0xc8
call fcn.140001460
xor r13d, r13d
test rax, rax
je 0x1400243ba
mov rcx, rax
call fcn.14001fd4c
mov rbx, rax
test rax, rax
je 0x1400243ba
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea rdx, str.INSTALLTYPE
mov rcx, rsi
call fcn.1400261a8
mov edi, eax
test eax, eax
jns 0x140023f56
lea r8, str.INSTALLTYPE
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
lea r14d, [r13 + 2]
jmp 0x1400241ef
lea rdx, str.advinf
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
mov r14d, 2
test eax, eax
jne 0x140023f80
lea ecx, [rax + 3]
jmp 0x14002402c
lea rdx, [0x14004e240]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140023fa4
lea ecx, [rax + 1]
jmp 0x14002402c
lea rdx, [0x14004e528]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140023fc5
mov ecx, r14d
jmp 0x14002402c
lea rdx, str.extinf
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140023fe6
lea ecx, [rax + 4]
jmp 0x14002402c
lea rdx, str.setupapiinf
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140024007
lea ecx, [rax + 5]
jmp 0x14002402c
lea rdx, str.buinf
lea rcx, [rsp + 0x30]
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 0x140024077
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea rdx, str.UPDATEEXE
mov rcx, rsi
call fcn.1400261a8
test eax, eax
js 0x140024077
lea rdx, [0x14004e628]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcsicmp]
nop dword [rax + rax]
mov ecx, r13d
test eax, eax
sete cl
mov dword [rbx + 0x90], ecx
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea rdx, str.INSTALLFILE
mov rcx, rsi
call fcn.1400261a8
mov edi, eax
test eax, eax
jns 0x1400240a2
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
jmp 0x1400241e8
cmp dword [rbx + 0x58], 1
je 0x1400241fc
mov edi, 0x104
lea rcx, [rbp + 0x140]
mov edx, edi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
nop dword [rax + rax]
or r15, 0xffffffffffffffff
test eax, eax
je 0x14002410c
lea rcx, [rbp + 0x140]
mov rax, r15
inc rax
cmp word [rcx + rax*2], r13w
jne 0x1400240d8
sub rdi, rax
lea r9, [rbp + 0x140]
lea rax, [rsp + 0x30]
mov rdx, rdi
lea r8, str._sinf_s
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x140]
call fcn.140010e44
lea rcx, [rbp + 0x140]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop dword [rax + rax]
cmp eax, 0xffffffff
je 0x1400241dc
test al, 0x10
jne 0x1400241dc
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x140024142
call fcn.140001454
mov qword [rbx + 0x30], r13
lea rax, [rbp + 0x140]
mov rdi, r15
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x14002414c
inc rdi
mov rax, r14
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rbx + 0x30], rax
test rax, rax
je 0x140024293
lea r8, [rbp + 0x140]
mov rdx, rdi
mov rcx, rax
call fcn.140010dd0
cmp qword [rbx + 0x18], r13
jne 0x140024293
mov edx, 0x5c
lea rcx, [rbp + 0x140]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
nop dword [rax + rax]
test rax, rax
je 0x1400241b9
mov rdx, rax
jmp 0x14002428b
cmp dword [rbx + 0x58], 1
jne 0x140024293
cmp dword [rbx + 0x90], r13d
je 0x140024293
lea rdx, [rbp + 0x140]
jmp 0x14002428b
mov edi, 1
lea rdx, str.ERROR:_Setup_missing_uninstall_file:__S._r_n
lea r8, str.INSTALLFILE
mov ecx, r14d
call fcn.140019b1c
jmp 0x14002438b
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x14002420e
call fcn.140001454
mov qword [rbx + 0x30], r13
or r15, 0xffffffffffffffff
lea rax, [rsp + 0x30]
mov rdi, r15
inc rdi
cmp word [rax + rdi*2], r13w
jne 0x14002421a
inc rdi
mov rax, r14
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rbx + 0x30], rax
test rax, rax
je 0x140024293
lea r8, [rsp + 0x30]
mov rdx, rdi
mov rcx, rax
call fcn.140010dd0
cmp qword [rbx + 0x18], r13
jne 0x140024293
mov edx, 0x5c
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
nop dword [rax + rax]
test rax, rax
jne 0x1400241b1
cmp dword [rbx + 0x58], 1
jne 0x140024293
cmp dword [rbx + 0x90], r13d
je 0x140024293
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14002b218
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea rdx, str.UNINSTALL
mov rcx, rsi
call fcn.1400261a8
mov edi, eax
test eax, eax
jns 0x1400242c5
lea r8, str.UNINSTALL
lea rdx, str.ERROR:_Reg_Parser:_Missing_required_Package_attribute__S._r_n
jmp 0x1400241ef
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.14002b938
lea r8, [rsp + 0x30]
mov dword [rsp + 0x20], r13d
lea rdx, str.MOREINSTALLINFO
mov rcx, rsi
call fcn.1400261a8
test eax, eax
js 0x14002435b
lea rdi, [rbx + 0x28]
test rdi, rdi
je 0x14002435b
mov rcx, qword [rdi]
test rcx, rcx
je 0x140024308
call fcn.140001454
mov qword [rdi], r13
lea rax, [rsp + 0x30]
mov rsi, r15
inc rsi
cmp word [rax + rsi*2], r13w
jne 0x140024310
inc rsi
mov rax, r14
mul rsi
cmovo rax, r15
mov rcx, rax
call fcn.1400014a0
mov qword [rdi], rax
test rax, rax
je 0x14002435b
lea r8, [rsp + 0x30]
mov rdx, rsi
mov rcx, rax
call fcn.140010dd0
test eax, eax
jns 0x14002435b
mov rcx, qword [rdi]
test rcx, rcx
je 0x14002435b
call fcn.140001454
mov qword [rdi], r13
cmp qword [rbx + 8], r13
jne 0x140024367
cmp qword [rbx + 0x18], r13
je 0x140024382
cmp dword [rbx + 0x8c], r14d
je 0x140024382
xor r8d, r8d
mov rdx, rbx
mov rcx, r12
call fcn.140023e20
mov edi, eax
jmp 0x140024387
mov edi, 1
test edi, edi
je 0x1400243b6
mov rcx, rbx
call fcn.140020134
mov edx, 0xc8
mov rcx, rbx
call fcn.140001818
test edi, edi
jns 0x1400243b6
mov r8d, edi
lea rdx, str.ERROR:_Reg_Parser:_Failed_to_add_uninstall_information_from_reg.__Last_result:_0x_x._r_n
mov ecx, r14d
call fcn.140019b1c
mov eax, edi
jmp 0x1400243bf
mov eax, 0x8007000e
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.1400017f0
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret