Function at 0x1400782a0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x47]
sub rsp, 0xc0
mov rax, qword [0x140189090]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rsi, r8
mov rbx, rdx
xor r14d, r14d
mov dword [rbp - 0x49], r14d
mov qword [rbp - 0x41], r14
movdqa xmm0, xmmword [0x140166ab0]
movdqu xmmword [rbp - 0x31], xmm0
mov word [rbp - 0x41], r14w
mov qword [rbp + 0x1f], r14
movdqa xmm0, xmmword [0x140166ac0]
movdqu xmmword [rbp + 0x2f], xmm0
mov byte [rbp + 0x1f], r14b
mov edi, 8
mov r8d, edi
lea rdx, str.pia.json
lea rcx, [rbp + 0x1f]
call fcn.140009250
nop
lea rdx, [rbp - 0x41]
lea rcx, [rbp + 0x1f]
call fcn.14001b5c0
nop
lea rcx, [rbp + 0x1f]
call fcn.1400091f0
nop
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x21]
mov rcx, rbx
call fcn.140024c30
nop
lea rcx, [rbp - 0x41]
call fcn.140008fe0
lea rcx, [rbp - 0x21]
cmp qword [rbp - 9], rdi
cmovae rcx, qword [rbp - 0x21]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x1400783d3
lea rcx, [rbp - 0x21]
cmp qword [rbp - 9], rdi
cmovae rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14007838a
test al, 0x10
je 0x14007838a
lea rcx, [rbp - 0x21]
call fcn.140025c90
jmp 0x1400783d3
lea rcx, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x1400783d3
mov edx, 0x80
lea rcx, [rbp - 0x21]
call fcn.140025da0
mov edx, dword [0x140189cc0]
lea rcx, [rbp - 0x21]
call fcn.140025da0
lea rcx, [rbp - 0x21]
cmp qword [rbp - 9], 8
cmovae rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov rdx, qword [rsi]
test rdx, rdx
je 0x140078414
lea rcx, [rbp + 0x1f]
call fcn.14009f410
nop
mov qword [rbp - 0x49], r14
lea rdx, [rbp + 0x1f]
cmp qword [rbp + 0x37], 0x10
cmovae rdx, qword [rbp + 0x1f]
lea rcx, [rbp - 0x49]
call fcn.140097430
mov edi, 0x18
lea rcx, [rbp + 0x1f]
call fcn.1400091f0
mov rax, qword [rbp - 0x49]
jmp 0x14007841b
mov rax, r14
mov qword [rbp - 0x49], rax
test rax, rax
je 0x140078443
mov rcx, rax
mov rdx, rax
mov r8, qword [rax + 0x18]
cmp r8, 0x10
jb 0x140078433
mov rcx, qword [rax]
test rcx, rcx
je 0x140078443
cmp r8, 0x10
jb 0x14007844a
mov rdx, qword [rax]
jmp 0x14007844a
lea rdx, [0x1401578ef]
mov qword [rbp - 1], r14
movdqa xmm0, xmmword [0x140166ac0]
movdqu xmmword [rbp + 0xf], xmm0
mov byte [rbp - 1], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x140078466
lea rcx, [rbp - 1]
call fcn.140009250
or edi, 0x20
xor edx, edx
lea rcx, [rbp - 0x49]
call fcn.140097430
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rdx, qword [rbp - 1]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r14
xor r9d, r9d
mov r8, qword [rbp + 0xf]
lea rcx, [rbp - 0x21]
call fcn.1400234e0
test al, al
jne 0x1400785b8
cmp qword [rbp + 0xf], 0
je 0x1400785b1
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 2
jl 0x14007858f
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
mov r14, rax
lea rsi, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rsi, qword [rbp - 1]
mov edx, 0xffffffff
lea rcx, [rbp + 0x1f]
call fcn.14002bbe0
mov rbx, rax
or edi, 1
mov dword [rbp - 0x49], edi
cmp qword [rax + 0x18], 0x10
jb 0x14007854f
mov rbx, qword [rax]
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.1400220d0
nop
or edi, 2
mov dword [rbp - 0x49], edi
cmp qword [rax + 0x18], 0x10
jb 0x14007856d
mov rax, qword [rax]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, str.UpdateProductInstallAdjacencyCache_failed_to_update__s_becaue_file_write_failed.__s_r_n_s
mov edx, 2
mov rcx, r14
call fcn.14001efa0
nop
test dil, 2
je 0x1400785a2
and edi, 0xfffffffd
lea rcx, [rbp - 0x41]
call fcn.1400091f0
nop
test dil, 1
je 0x1400785b1
lea rcx, [rbp + 0x1f]
call fcn.1400091f0
xor bl, bl
jmp 0x14007866b
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
cmp dword [rax + 0x40], 4
jl 0x14007865a
xor ecx, ecx
call fcn.140027380
mov dword [rsp + 0x20], 1
lea r9, str.Logger
xor r8d, r8d
lea rdx, [0x14001cc30]
mov rcx, rax
call fcn.140027650
mov rsi, rax
lea rbx, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae rbx, qword [rbp - 1]
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x21]
call fcn.1400220d0
nop
or edi, 4
mov dword [rbp - 0x49], edi
cmp qword [rax + 0x18], 0x10
jb 0x14007863d
mov rax, qword [rax]
mov qword [rsp + 0x20], rbx
mov r9, rax
lea r8, str.UpdateProductInstallAdjacencyCache_saved__s_successfully_r_n_s
mov edx, 4
mov rcx, rsi
call fcn.14001efa0
nop
test dil, 4
je 0x140078669
lea rcx, [rbp - 0x41]
call fcn.1400091f0
mov bl, 1
lea rcx, [rbp - 1]
call fcn.1400091f0
nop
lea rcx, [rbp - 0x21]
call fcn.140008fe0
movzx eax, bl
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1400f89b0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret